github.com/InjectiveLabs/sdk-go@v1.53.0/chain/ocr/types/codec.go (about) 1 package types 2 3 import ( 4 "github.com/cosmos/cosmos-sdk/codec" 5 "github.com/cosmos/cosmos-sdk/codec/types" 6 cryptocodec "github.com/cosmos/cosmos-sdk/crypto/codec" 7 sdk "github.com/cosmos/cosmos-sdk/types" 8 "github.com/cosmos/cosmos-sdk/types/msgservice" 9 authzcdc "github.com/cosmos/cosmos-sdk/x/authz/codec" 10 govtypes "github.com/cosmos/cosmos-sdk/x/gov/types/v1beta1" 11 ) 12 13 // RegisterLegacyAminoCodec registers the necessary modules/ocr interfaces and concrete types 14 // on the provided LegacyAmino codec. These types are used for Amino JSON serialization. 15 func RegisterLegacyAminoCodec(cdc *codec.LegacyAmino) { 16 cdc.RegisterConcrete(&MsgCreateFeed{}, "ocr/MsgCreateFeed", nil) 17 cdc.RegisterConcrete(&MsgUpdateFeed{}, "ocr/MsgUpdateFeed", nil) 18 cdc.RegisterConcrete(&MsgTransmit{}, "ocr/MsgTransmit", nil) 19 cdc.RegisterConcrete(&MsgFundFeedRewardPool{}, "ocr/MsgFundFeedRewardPool", nil) 20 cdc.RegisterConcrete(&MsgWithdrawFeedRewardPool{}, "ocr/MsgWithdrawFeedRewardPool", nil) 21 cdc.RegisterConcrete(&MsgSetPayees{}, "ocr/MsgSetPayees", nil) 22 cdc.RegisterConcrete(&MsgTransferPayeeship{}, "ocr/MsgTransferPayeeship", nil) 23 cdc.RegisterConcrete(&MsgAcceptPayeeship{}, "ocr/MsgAcceptPayeeship", nil) 24 cdc.RegisterConcrete(&MsgUpdateParams{}, "ocr/MsgUpdateParams", nil) 25 26 cdc.RegisterConcrete(&SetConfigProposal{}, "ocr/SetConfigProposal", nil) 27 cdc.RegisterConcrete(&SetBatchConfigProposal{}, "ocr/SetBatchConfigProposal", nil) 28 cdc.RegisterConcrete(&Params{}, "ocr/Params", nil) 29 30 } 31 32 func RegisterInterfaces(registry types.InterfaceRegistry) { 33 registry.RegisterImplementations((*sdk.Msg)(nil), 34 &MsgCreateFeed{}, 35 &MsgUpdateFeed{}, 36 &MsgTransmit{}, 37 &MsgFundFeedRewardPool{}, 38 &MsgWithdrawFeedRewardPool{}, 39 &MsgSetPayees{}, 40 &MsgTransferPayeeship{}, 41 &MsgAcceptPayeeship{}, 42 &MsgUpdateParams{}, 43 ) 44 45 registry.RegisterImplementations( 46 (*govtypes.Content)(nil), 47 &SetConfigProposal{}, 48 &SetBatchConfigProposal{}, 49 ) 50 51 msgservice.RegisterMsgServiceDesc(registry, &_Msg_serviceDesc) 52 } 53 54 var ( 55 // ModuleCdc references the global modules/ocr module codec. Note, the codec should 56 // ONLY be used in certain instances of tests and for JSON encoding as Amino is 57 // still used for that purpose. 58 // 59 // The actual codec used for serialization should be provided to x/insurance and 60 // defined at the application level. 61 ModuleCdc = codec.NewLegacyAmino() 62 ) 63 64 func init() { 65 RegisterLegacyAminoCodec(ModuleCdc) 66 cryptocodec.RegisterCrypto(ModuleCdc) 67 ModuleCdc.Seal() 68 69 // TODO: check 70 // RegisterLegacyAminoCodec(govcdc.Amino) 71 // RegisterLegacyAminoCodec(groupcdc.Amino) 72 RegisterLegacyAminoCodec(authzcdc.Amino) 73 }