DAR-109: consume thirdweb.wallet.created and persist polygon address
After KYC is approved, the internal wallet is provisioned, but the polygon_address remains empty. The Thirdweb service now publishes an event thirdweb.wallet.created containing the Polygon address.
Added topic darvest.kafka.topics.thirdweb-wallet-created (default: thirdweb.wallet.created) Added ThirdwebWalletCreatedKafkaListener to consume the event and trigger the update Added WalletService.updatePolygonAddress(userId, polygonAddress) with an idempotent implementation (provisions the wallet if missing)
Added unit tests: ThirdwebWalletCreatedKafkaListenerTest KycValidatedKafkaListenerTest (non-regression) WalletServiceTest (polygon address update cases)