diff --git a/router/keeper/keeper.go b/router/keeper/keeper.go index e7b3252..38c5210 100644 --- a/router/keeper/keeper.go +++ b/router/keeper/keeper.go @@ -128,12 +128,20 @@ func (k Keeper) WriteAcknowledgementForForwardedPacket( } } + denomTrace := transfertypes.ParseDenomTrace(fullDenomPath) + var denom string + if denomTrace.Path == "" { + denom = data.Denom + } else { + denom = denomTrace.IBCDenom() + } + amount, ok := sdk.NewIntFromString(data.Amount) if !ok { return fmt.Errorf("failed to parse amount for burn: %s", data.Amount) } - token := sdk.NewCoin(data.Denom, amount) + token := sdk.NewCoin(denom, amount) if transfertypes.SenderChainIsSource(inFlightPacket.RefundPortId, inFlightPacket.RefundChannelId, fullDenomPath) { // create the escrow address for the tokens