diff --git a/x/ibc/02-client/handler.go b/x/ibc/02-client/handler.go index d81745a2b7..00029f18c2 100644 --- a/x/ibc/02-client/handler.go +++ b/x/ibc/02-client/handler.go @@ -1,8 +1,6 @@ package client import ( - "fmt" - sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" "github.com/cosmos/cosmos-sdk/x/evidence" @@ -51,13 +49,6 @@ func HandleMsgCreateClient(ctx sdk.Context, k Keeper, msg exported.MsgCreateClie return nil, err } - attributes := make([]sdk.Attribute, len(msg.GetSigners())+1) - attributes[0] = sdk.NewAttribute(sdk.AttributeKeyModule, AttributeValueCategory) - - for i, signer := range msg.GetSigners() { - attributes[i+1] = sdk.NewAttribute(sdk.AttributeKeySender, signer.String()) - } - ctx.EventManager().EmitEvents(sdk.Events{ sdk.NewEvent( EventTypeCreateClient, @@ -66,7 +57,7 @@ func HandleMsgCreateClient(ctx sdk.Context, k Keeper, msg exported.MsgCreateClie ), sdk.NewEvent( sdk.EventTypeMessage, - attributes..., + sdk.NewAttribute(sdk.AttributeKeyModule, AttributeValueCategory), ), }) @@ -77,32 +68,11 @@ func HandleMsgCreateClient(ctx sdk.Context, k Keeper, msg exported.MsgCreateClie // HandleMsgUpdateClient defines the sdk.Handler for MsgUpdateClient func HandleMsgUpdateClient(ctx sdk.Context, k Keeper, msg exported.MsgUpdateClient) (*sdk.Result, error) { - clientState, err := k.UpdateClient(ctx, msg.GetClientID(), msg.GetHeader()) + _, err := k.UpdateClient(ctx, msg.GetClientID(), msg.GetHeader()) if err != nil { return nil, err } - attributes := make([]sdk.Attribute, len(msg.GetSigners())+1) - attributes[0] = sdk.NewAttribute(sdk.AttributeKeyModule, AttributeValueCategory) - - for i, signer := range msg.GetSigners() { - attributes[i+1] = sdk.NewAttribute(sdk.AttributeKeySender, signer.String()) - } - - k.Logger(ctx).Info(fmt.Sprintf("client %s updated to height %d", msg.GetClientID(), clientState.GetLatestHeight())) - - ctx.EventManager().EmitEvents(sdk.Events{ - sdk.NewEvent( - EventTypeUpdateClient, - sdk.NewAttribute(AttributeKeyClientID, msg.GetClientID()), - sdk.NewAttribute(AttrbuteKeyClientType, clientState.ClientType().String()), - ), - sdk.NewEvent( - sdk.EventTypeMessage, - attributes..., - ), - }) - return &sdk.Result{ Events: ctx.EventManager().Events().ToABCIEvents(), }, nil diff --git a/x/ibc/02-client/keeper/client.go b/x/ibc/02-client/keeper/client.go index 9bec54da4b..e8a12cc6da 100644 --- a/x/ibc/02-client/keeper/client.go +++ b/x/ibc/02-client/keeper/client.go @@ -107,6 +107,21 @@ func (k Keeper) UpdateClient(ctx sdk.Context, clientID string, header exported.H k.SetClientConsensusState(ctx, clientID, header.GetHeight(), consensusState) } + k.Logger(ctx).Info(fmt.Sprintf("client %s updated to height %d", clientID, clientState.GetLatestHeight())) + + // Emit events in keeper so antehandler emits them as well + ctx.EventManager().EmitEvents(sdk.Events{ + sdk.NewEvent( + types.EventTypeUpdateClient, + sdk.NewAttribute(types.AttributeKeyClientID, clientID), + sdk.NewAttribute(types.AttributeKeyClientType, clientType.String()), + ), + sdk.NewEvent( + sdk.EventTypeMessage, + sdk.NewAttribute(sdk.AttributeKeyModule, types.AttributeValueCategory), + ), + }) + return clientState, nil } diff --git a/x/ibc/03-connection/handler.go b/x/ibc/03-connection/handler.go index 42da0f7de7..fc89687a76 100644 --- a/x/ibc/03-connection/handler.go +++ b/x/ibc/03-connection/handler.go @@ -23,7 +23,6 @@ func HandleMsgConnectionOpenInit(ctx sdk.Context, k Keeper, msg MsgConnectionOpe sdk.NewEvent( sdk.EventTypeMessage, sdk.NewAttribute(sdk.AttributeKeyModule, AttributeValueCategory), - sdk.NewAttribute(sdk.AttributeKeySender, msg.Signer.String()), ), }) @@ -52,7 +51,6 @@ func HandleMsgConnectionOpenTry(ctx sdk.Context, k Keeper, msg MsgConnectionOpen sdk.NewEvent( sdk.EventTypeMessage, sdk.NewAttribute(sdk.AttributeKeyModule, AttributeValueCategory), - sdk.NewAttribute(sdk.AttributeKeySender, msg.Signer.String()), ), }) @@ -78,7 +76,6 @@ func HandleMsgConnectionOpenAck(ctx sdk.Context, k Keeper, msg MsgConnectionOpen sdk.NewEvent( sdk.EventTypeMessage, sdk.NewAttribute(sdk.AttributeKeyModule, AttributeValueCategory), - sdk.NewAttribute(sdk.AttributeKeySender, msg.Signer.String()), ), }) @@ -103,7 +100,6 @@ func HandleMsgConnectionOpenConfirm(ctx sdk.Context, k Keeper, msg MsgConnection sdk.NewEvent( sdk.EventTypeMessage, sdk.NewAttribute(sdk.AttributeKeyModule, AttributeValueCategory), - sdk.NewAttribute(sdk.AttributeKeySender, msg.Signer.String()), ), }) diff --git a/x/ibc/04-channel/handler.go b/x/ibc/04-channel/handler.go index 4b1c27c0e3..c79c2991f2 100644 --- a/x/ibc/04-channel/handler.go +++ b/x/ibc/04-channel/handler.go @@ -29,7 +29,6 @@ func HandleMsgChannelOpenInit(ctx sdk.Context, k keeper.Keeper, portCap *capabil sdk.NewEvent( sdk.EventTypeMessage, sdk.NewAttribute(sdk.AttributeKeyModule, types.AttributeValueCategory), - sdk.NewAttribute(sdk.AttributeKeySender, msg.Signer.String()), ), }) @@ -59,7 +58,6 @@ func HandleMsgChannelOpenTry(ctx sdk.Context, k keeper.Keeper, portCap *capabili sdk.NewEvent( sdk.EventTypeMessage, sdk.NewAttribute(sdk.AttributeKeyModule, types.AttributeValueCategory), - sdk.NewAttribute(sdk.AttributeKeySender, msg.Signer.String()), ), }) @@ -86,7 +84,6 @@ func HandleMsgChannelOpenAck(ctx sdk.Context, k keeper.Keeper, channelCap *capab sdk.NewEvent( sdk.EventTypeMessage, sdk.NewAttribute(sdk.AttributeKeyModule, types.AttributeValueCategory), - sdk.NewAttribute(sdk.AttributeKeySender, msg.Signer.String()), ), }) @@ -111,7 +108,6 @@ func HandleMsgChannelOpenConfirm(ctx sdk.Context, k keeper.Keeper, channelCap *c sdk.NewEvent( sdk.EventTypeMessage, sdk.NewAttribute(sdk.AttributeKeyModule, types.AttributeValueCategory), - sdk.NewAttribute(sdk.AttributeKeySender, msg.Signer.String()), ), }) @@ -136,7 +132,6 @@ func HandleMsgChannelCloseInit(ctx sdk.Context, k keeper.Keeper, channelCap *cap sdk.NewEvent( sdk.EventTypeMessage, sdk.NewAttribute(sdk.AttributeKeyModule, types.AttributeValueCategory), - sdk.NewAttribute(sdk.AttributeKeySender, msg.Signer.String()), ), }) @@ -161,7 +156,6 @@ func HandleMsgChannelCloseConfirm(ctx sdk.Context, k keeper.Keeper, channelCap * sdk.NewEvent( sdk.EventTypeMessage, sdk.NewAttribute(sdk.AttributeKeyModule, types.AttributeValueCategory), - sdk.NewAttribute(sdk.AttributeKeySender, msg.Signer.String()), ), }) diff --git a/x/ibc/ante/ante.go b/x/ibc/ante/ante.go index fa6da73ac6..82484be5a3 100644 --- a/x/ibc/ante/ante.go +++ b/x/ibc/ante/ante.go @@ -39,9 +39,23 @@ func (pvr ProofVerificationDecorator) AnteHandle(ctx sdk.Context, tx sdk.Tx, sim _, err = pvr.channelKeeper.TimeoutPacket(ctx, msg.Packet, msg.Proof, msg.ProofHeight, msg.NextSequenceRecv) } + attributes := make([]sdk.Attribute, len(msg.GetSigners())) + + for i, signer := range msg.GetSigners() { + attributes[i] = sdk.NewAttribute(sdk.AttributeKeySender, signer.String()) + } + + ctx.EventManager().EmitEvents(sdk.Events{ + sdk.NewEvent( + sdk.EventTypeMessage, + attributes..., + ), + }) + if err != nil { return ctx, err } + } return next(ctx, tx, simulate)