syntax = "proto3"; package cosmos_sdk.codec.std.v1; import "third_party/proto/cosmos-proto/cosmos.proto"; import "third_party/proto/gogoproto/gogo.proto"; import "x/auth/types/types.proto"; import "x/auth/vesting/types/types.proto"; import "x/supply/types/types.proto"; import "x/evidence/types/types.proto"; import "x/gov/types/types.proto"; import "x/params/types/proposal/types.proto"; import "x/upgrade/types/types.proto"; import "x/distribution/types/types.proto"; option go_package = "github.com/cosmos/cosmos-sdk/codec/std"; // Account defines the application-level Account type. message Account { option (cosmos_proto.interface_type) = "*github.com/cosmos/cosmos-sdk/x/auth/exported.Account"; // sum defines a list of all acceptable concrete Account implementations. oneof sum { cosmos_sdk.x.auth.v1.BaseAccount base_account = 1; cosmos_sdk.x.auth.vesting.v1.ContinuousVestingAccount continuous_vesting_account = 2; cosmos_sdk.x.auth.vesting.v1.DelayedVestingAccount delayed_vesting_account = 3; cosmos_sdk.x.auth.vesting.v1.PeriodicVestingAccount periodic_vesting_account = 4; cosmos_sdk.x.supply.v1.ModuleAccount module_account = 5; } } // Supply defines the application-level Supply type. message Supply { option (gogoproto.equal) = true; option (cosmos_proto.interface_type) = "*github.com/cosmos/cosmos-sdk/x/supply/exported.SupplyI"; // sum defines a set of all acceptable concrete Supply implementations. oneof sum { cosmos_sdk.x.supply.v1.Supply supply = 1; } } // Evidence defines the application-level allowed Evidence to be submitted via a // MsgSubmitEvidence message. message Evidence { option (gogoproto.equal) = true; option (cosmos_proto.interface_type) = "github.com/cosmos/cosmos-sdk/x/evidence/exported.Evidence"; // sum defines a set of all acceptable concrete Evidence implementations. oneof sum { cosmos_sdk.x.evidence.v1.Equivocation equivocation = 1; } } // MsgSubmitEvidence defines the application-level message type for handling // evidence submission. message MsgSubmitEvidence { option (gogoproto.equal) = true; option (gogoproto.goproto_getters) = false; Evidence evidence = 1; cosmos_sdk.x.evidence.v1.MsgSubmitEvidenceBase base = 2 [(gogoproto.nullable) = false, (gogoproto.embed) = true]; } // MsgSubmitProposal defines the application-level message type for handling // governance proposals. message MsgSubmitProposal { option (gogoproto.equal) = true; option (gogoproto.goproto_getters) = false; cosmos_sdk.x.gov.v1.MsgSubmitProposalBase base = 1 [(gogoproto.nullable) = false, (gogoproto.embed) = true]; Content content = 2; } // Proposal defines the application-level concrete proposal type used in governance // proposals. message Proposal { option (gogoproto.equal) = true; cosmos_sdk.x.gov.v1.ProposalBase base = 1 [(gogoproto.embed) = true, (gogoproto.nullable) = false]; Content content = 2 [(gogoproto.nullable) = false]; } // Content defines the application-level allowed Content to be included in a // governance proposal. message Content { option (gogoproto.equal) = true; option (cosmos_proto.interface_type) = "github.com/cosmos/cosmos-sdk/x/gov/types.Content"; // sum defines a set of all acceptable concrete governance proposal Content types. oneof sum { cosmos_sdk.x.gov.v1.TextProposal text = 1; cosmos_sdk.x.params.v1.ParameterChangeProposal parameter_change = 2; cosmos_sdk.x.upgrade.v1.SoftwareUpgradeProposal software_upgrade = 3; cosmos_sdk.x.upgrade.v1.CancelSoftwareUpgradeProposal cancel_software_upgrade = 4; cosmos_sdk.x.distribution.v1.CommunityPoolSpendProposal community_pool_spend = 5; } }