From b9f3482b17fdda0646e5702bc63b743a2d5ffb8b Mon Sep 17 00:00:00 2001 From: hailin Date: Mon, 8 Dec 2025 23:04:14 -0800 Subject: [PATCH] fix(identity): update KAVA address validation to EVM format MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit KAVA now uses EVM-compatible 0x addresses instead of Cosmos bech32 format. DST continues to use Cosmos bech32 format (dst1...). 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- .../src/domain/entities/wallet-address.entity.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/backend/services/identity-service/src/domain/entities/wallet-address.entity.ts b/backend/services/identity-service/src/domain/entities/wallet-address.entity.ts index 64d163c2..07dfa1b3 100644 --- a/backend/services/identity-service/src/domain/entities/wallet-address.entity.ts +++ b/backend/services/identity-service/src/domain/entities/wallet-address.entity.ts @@ -273,10 +273,12 @@ export class WalletAddress { private static validateAddress(chainType: ChainType, address: string): boolean { switch (chainType) { case ChainType.KAVA: - case ChainType.DST: - return /^(kava|dst)1[a-z0-9]{38}$/.test(address); case ChainType.BSC: + // KAVA 和 BSC 都使用 EVM 地址格式 return /^0x[a-fA-F0-9]{40}$/.test(address); + case ChainType.DST: + // DST 使用 Cosmos bech32 格式 + return /^dst1[a-z0-9]{38}$/.test(address); default: return false; }