diff --git a/pkg/indexer/decode/handle/test/staking_test.go b/pkg/indexer/decode/handle/test/staking_test.go index 2f3257e9..4aabeebe 100644 --- a/pkg/indexer/decode/handle/test/staking_test.go +++ b/pkg/indexer/decode/handle/test/staking_test.go @@ -259,6 +259,11 @@ func TestDecodeMsg_SuccessOnMsgCreateValidator(t *testing.T) { }, } + data := structs.Map(m) + data["Pubkey"] = map[string]any{ + "key": pk.PubKey().Bytes(), + "type": "ed25519", + } msgExpected := storage.Message{ Id: 0, Height: blob.Height, @@ -266,7 +271,7 @@ func TestDecodeMsg_SuccessOnMsgCreateValidator(t *testing.T) { Position: 0, Type: storageTypes.MsgCreateValidator, TxId: 0, - Data: structs.Map(m), + Data: data, Size: 201, Namespace: nil, Addresses: addressesExpected, diff --git a/pkg/indexer/decode/message.go b/pkg/indexer/decode/message.go index 97175c78..0124cf79 100644 --- a/pkg/indexer/decode/message.go +++ b/pkg/indexer/decode/message.go @@ -6,6 +6,7 @@ package decode import ( "github.com/celenium-io/celestia-indexer/pkg/indexer/decode/context" "github.com/celenium-io/celestia-indexer/pkg/indexer/decode/handle" + cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types" "github.com/cosmos/cosmos-sdk/x/authz" crisisTypes "github.com/cosmos/cosmos-sdk/x/crisis/types" evidenceTypes "github.com/cosmos/cosmos-sdk/x/evidence/types" @@ -74,6 +75,15 @@ func Message( // staking module case *cosmosStakingTypes.MsgCreateValidator: d.Msg.Type, d.Msg.Addresses, err = handle.MsgCreateValidator(ctx, status, typedMsg) + if err != nil { + return d, err + } + if pk, ok := typedMsg.Pubkey.GetCachedValue().(cryptotypes.PubKey); ok { + d.Msg.Data["Pubkey"] = map[string]any{ + "key": pk.Bytes(), + "type": pk.Type(), + } + } case *cosmosStakingTypes.MsgEditValidator: d.Msg.Type, d.Msg.Addresses, err = handle.MsgEditValidator(ctx, status, typedMsg) case *cosmosStakingTypes.MsgDelegate: