package keeper import ( errorsmod "cosmossdk.io/errors" sdk "git.cw.tr/mukan-network/mukan-sdk/types" "git.cw.tr/mukan-network/mukan-ibc/modules/core/04-channel/types" ) // RecvPacketReCheckTx applies replay protection ensuring that when relay messages are // re-executed in ReCheckTx, we can appropriately filter out redundant relay transactions. func (k *Keeper) RecvPacketReCheckTx(ctx sdk.Context, packet types.Packet) error { channel, found := k.GetChannel(ctx, packet.GetDestPort(), packet.GetDestChannel()) if !found { return errorsmod.Wrap(types.ErrChannelNotFound, packet.GetDestChannel()) } if err := k.applyReplayProtection(ctx, packet, channel); err != nil { return err } return nil }