From 956e1cf68f094b6ff15cc29663d7bf07aaef57a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?colin=20axn=C3=A9r?= <25233464+colin-axner@users.noreply.github.com> Date: Thu, 12 Nov 2020 19:44:02 +0100 Subject: [PATCH] move sdk denom validation to top of validateibcdenom (#7917) --- x/ibc/applications/transfer/types/trace.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/x/ibc/applications/transfer/types/trace.go b/x/ibc/applications/transfer/types/trace.go index 2e6ccded90..d465dcbc29 100644 --- a/x/ibc/applications/transfer/types/trace.go +++ b/x/ibc/applications/transfer/types/trace.go @@ -164,6 +164,10 @@ func ValidatePrefixedDenom(denom string) error { // - A valid base denomination (eg: 'uatom') // - A valid fungible token representation (i.e 'ibc/{hash}') per ADR 001 https://github.com/cosmos/cosmos-sdk/blob/master/docs/architecture/adr-001-coin-source-tracing.md func ValidateIBCDenom(denom string) error { + if err := sdk.ValidateDenom(denom); err != nil { + return err + } + denomSplit := strings.SplitN(denom, "/", 2) switch { @@ -173,7 +177,7 @@ func ValidateIBCDenom(denom string) error { return sdkerrors.Wrapf(ErrInvalidDenomForTransfer, "denomination should be prefixed with the format 'ibc/{hash(trace + \"/\" + %s)}'", denom) case denomSplit[0] == denom && strings.TrimSpace(denom) != "": - return sdk.ValidateDenom(denom) + return nil } if _, err := ParseHexHash(denomSplit[1]); err != nil {