diff --git a/common/domain/chainid.go b/common/domain/chainid.go index 6aa066592..0308f1522 100644 --- a/common/domain/chainid.go +++ b/common/domain/chainid.go @@ -180,6 +180,7 @@ func TranslateEmitterAddress(chainID sdk.ChainID, address string) (string, error func NormalizeTxHashByChainId(chainID sdk.ChainID, txHash string) string { switch chainID { + //EVMs case sdk.ChainIDEthereum, sdk.ChainIDBase, sdk.ChainIDBSC, @@ -206,8 +207,17 @@ func NormalizeTxHashByChainId(chainID sdk.ChainID, txHash string) string { sdk.ChainIDBlast, sdk.ChainIDXLayer, sdk.ChainIDSnaxchain: - lowerTxHash := strings.ToLower(txHash) - return utils.Remove0x(lowerTxHash) + return utils.NormalizeHex(txHash) + case sdk.ChainIDAptos: + return utils.NormalizeHex(txHash) + case sdk.ChainIDSei: + return utils.NormalizeHex(txHash) + case sdk.ChainIDWormchain, + sdk.ChainIDInjective, + sdk.ChainIDOsmosis, + sdk.ChainIDEvmos, + sdk.ChainIDKujira: + return utils.NormalizeHex(txHash) default: return txHash } @@ -245,11 +255,15 @@ func NormalizeAddressByChainId(chainID sdk.ChainID, address string) string { return utils.NormalizeHex(address) case sdk.ChainIDAptos: return utils.NormalizeHex(address) + case sdk.ChainIDSui: + return utils.NormalizeHex(address) default: return address } } +// DenormalizeTxHashByChainId denormalizes the transaction hash stored in the database +// to the format compatible with the API v1 response to avoid breaking changes. func DenormalizeTxHashByChainId(chainID sdk.ChainID, txHash string) string { switch chainID { case sdk.ChainIDEthereum, @@ -282,11 +296,36 @@ func DenormalizeTxHashByChainId(chainID sdk.ChainID, txHash string) string { return txHash } return utils.DenormalizeHex(txHash) + case sdk.ChainIDAptos: + if utils.StartsWith0x(txHash) { + return txHash + } + return utils.DenormalizeHex(txHash) + case sdk.ChainIDSei: + if utils.StartsWith0x(txHash) { + txHash = utils.Remove0x(txHash) + } + return strings.ToUpper(txHash) + case sdk.ChainIDWormchain: + if utils.StartsWith0x(txHash) { + return txHash + } + return utils.DenormalizeHex(txHash) + case sdk.ChainIDInjective, + sdk.ChainIDOsmosis, + sdk.ChainIDEvmos, + sdk.ChainIDKujira: + if utils.StartsWith0x(txHash) { + txHash = utils.Remove0x(txHash) + } + return strings.ToLower(txHash) default: return txHash } } +// DenormalizeAddressByChainId denormalizes the address stored in the database +// to the format compatible with the API v1 response to avoid breaking changes. func DenormalizeAddressByChainId(chainID sdk.ChainID, address string) string { switch chainID { case sdk.ChainIDEthereum, @@ -319,6 +358,16 @@ func DenormalizeAddressByChainId(chainID sdk.ChainID, address string) string { return address } return utils.DenormalizeHex(address) + case sdk.ChainIDAptos: + if utils.StartsWith0x(address) { + return address + } + return utils.DenormalizeHex(address) + case sdk.ChainIDSui: + if utils.StartsWith0x(address) { + return address + } + return utils.DenormalizeHex(address) default: return address }