diff --git a/go.mod b/go.mod index 9a3babbe5de..598a2de4c40 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,7 @@ go 1.19 retract ( + [v7.2.0, v7.3.2] // contains ASA-2024-007 vulnerability v7.1.0 // contains ledger transaction signing bug v7.0.1 // contains ledger transaction signing bug v7.0.0 // contains huckleberry vulnerability diff --git a/modules/core/keeper/msg_server.go b/modules/core/keeper/msg_server.go index 7587505c30d..47fff9c102e 100644 --- a/modules/core/keeper/msg_server.go +++ b/modules/core/keeper/msg_server.go @@ -528,6 +528,11 @@ func (k Keeper) Timeout(goCtx context.Context, msg *channeltypes.MsgTimeout) (*c return nil, sdkerrors.Wrap(err, "timeout packet verification failed") } + // Delete packet commitment + if err = k.ChannelKeeper.TimeoutExecuted(ctx, cap, msg.Packet); err != nil { + return nil, err + } + // Perform application logic callback err = cbs.OnTimeoutPacket(ctx, msg.Packet, relayer) if err != nil { @@ -535,11 +540,6 @@ func (k Keeper) Timeout(goCtx context.Context, msg *channeltypes.MsgTimeout) (*c return nil, sdkerrors.Wrap(err, "timeout packet callback failed") } - // Delete packet commitment - if err = k.ChannelKeeper.TimeoutExecuted(ctx, cap, msg.Packet); err != nil { - return nil, err - } - defer func() { telemetry.IncrCounterWithLabels( []string{"ibc", "timeout", "packet"}, @@ -601,6 +601,11 @@ func (k Keeper) TimeoutOnClose(goCtx context.Context, msg *channeltypes.MsgTimeo return nil, sdkerrors.Wrap(err, "timeout on close packet verification failed") } + // Delete packet commitment + if err = k.ChannelKeeper.TimeoutExecuted(ctx, cap, msg.Packet); err != nil { + return nil, err + } + // Perform application logic callback // // NOTE: MsgTimeout and MsgTimeoutOnClose use the same "OnTimeoutPacket" @@ -611,11 +616,6 @@ func (k Keeper) TimeoutOnClose(goCtx context.Context, msg *channeltypes.MsgTimeo return nil, sdkerrors.Wrap(err, "timeout packet callback failed") } - // Delete packet commitment - if err = k.ChannelKeeper.TimeoutExecuted(ctx, cap, msg.Packet); err != nil { - return nil, err - } - defer func() { telemetry.IncrCounterWithLabels( []string{"ibc", "timeout", "packet"},