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; }