github.com/cosmos/cosmos-sdk@v0.50.10/x/group/codec.go (about) 1 package group 2 3 import ( 4 codectypes "github.com/cosmos/cosmos-sdk/codec" 5 "github.com/cosmos/cosmos-sdk/codec/legacy" 6 cdctypes "github.com/cosmos/cosmos-sdk/codec/types" 7 sdk "github.com/cosmos/cosmos-sdk/types" 8 "github.com/cosmos/cosmos-sdk/types/msgservice" 9 ) 10 11 // RegisterLegacyAminoCodec registers all the necessary group module concrete 12 // types and interfaces with the provided codec reference. 13 // These types are used for Amino JSON serialization. 14 func RegisterLegacyAminoCodec(cdc *codectypes.LegacyAmino) { 15 cdc.RegisterInterface((*DecisionPolicy)(nil), nil) 16 cdc.RegisterConcrete(&ThresholdDecisionPolicy{}, "cosmos-sdk/ThresholdDecisionPolicy", nil) 17 cdc.RegisterConcrete(&PercentageDecisionPolicy{}, "cosmos-sdk/PercentageDecisionPolicy", nil) 18 19 legacy.RegisterAminoMsg(cdc, &MsgCreateGroup{}, "cosmos-sdk/MsgCreateGroup") 20 legacy.RegisterAminoMsg(cdc, &MsgUpdateGroupMembers{}, "cosmos-sdk/MsgUpdateGroupMembers") 21 legacy.RegisterAminoMsg(cdc, &MsgUpdateGroupAdmin{}, "cosmos-sdk/MsgUpdateGroupAdmin") 22 legacy.RegisterAminoMsg(cdc, &MsgUpdateGroupMetadata{}, "cosmos-sdk/MsgUpdateGroupMetadata") 23 legacy.RegisterAminoMsg(cdc, &MsgCreateGroupWithPolicy{}, "cosmos-sdk/MsgCreateGroupWithPolicy") 24 legacy.RegisterAminoMsg(cdc, &MsgCreateGroupPolicy{}, "cosmos-sdk/MsgCreateGroupPolicy") 25 legacy.RegisterAminoMsg(cdc, &MsgUpdateGroupPolicyAdmin{}, "cosmos-sdk/MsgUpdateGroupPolicyAdmin") 26 legacy.RegisterAminoMsg(cdc, &MsgUpdateGroupPolicyDecisionPolicy{}, "cosmos-sdk/MsgUpdateGroupDecisionPolicy") 27 legacy.RegisterAminoMsg(cdc, &MsgUpdateGroupPolicyMetadata{}, "cosmos-sdk/MsgUpdateGroupPolicyMetadata") 28 legacy.RegisterAminoMsg(cdc, &MsgSubmitProposal{}, "cosmos-sdk/group/MsgSubmitProposal") 29 legacy.RegisterAminoMsg(cdc, &MsgWithdrawProposal{}, "cosmos-sdk/group/MsgWithdrawProposal") 30 legacy.RegisterAminoMsg(cdc, &MsgVote{}, "cosmos-sdk/group/MsgVote") 31 legacy.RegisterAminoMsg(cdc, &MsgExec{}, "cosmos-sdk/group/MsgExec") 32 legacy.RegisterAminoMsg(cdc, &MsgLeaveGroup{}, "cosmos-sdk/group/MsgLeaveGroup") 33 } 34 35 // RegisterInterfaces registers the interfaces types with the interface registry. 36 func RegisterInterfaces(registry cdctypes.InterfaceRegistry) { 37 registry.RegisterImplementations((*sdk.Msg)(nil), 38 &MsgCreateGroup{}, 39 &MsgUpdateGroupMembers{}, 40 &MsgUpdateGroupAdmin{}, 41 &MsgUpdateGroupMetadata{}, 42 &MsgCreateGroupWithPolicy{}, 43 &MsgCreateGroupPolicy{}, 44 &MsgUpdateGroupPolicyAdmin{}, 45 &MsgUpdateGroupPolicyDecisionPolicy{}, 46 &MsgUpdateGroupPolicyMetadata{}, 47 &MsgSubmitProposal{}, 48 &MsgWithdrawProposal{}, 49 &MsgVote{}, 50 &MsgExec{}, 51 &MsgLeaveGroup{}, 52 ) 53 54 msgservice.RegisterMsgServiceDesc(registry, &_Msg_serviceDesc) 55 56 registry.RegisterInterface( 57 "cosmos.group.v1.DecisionPolicy", 58 (*DecisionPolicy)(nil), 59 &ThresholdDecisionPolicy{}, 60 &PercentageDecisionPolicy{}, 61 ) 62 }