syntax = "proto3"; package cosmos.bank.v1beta1; import "gogoproto/gogo.proto"; import "cosmos_proto/cosmos.proto"; import "cosmos/base/v1beta1/coin.proto"; import "cosmos/msg/v1/msg.proto"; import "amino/amino.proto"; option go_package = "github.com/cosmos/cosmos-sdk/x/bank/types"; // Params defines the parameters for the bank module. message Params { option (amino.name) = "cosmos-sdk/x/bank/Params"; option (gogoproto.goproto_stringer) = false; // Deprecated: Use of SendEnabled in params is deprecated. // For genesis, use the newly added send_enabled field in the genesis object. // Storage, lookup, and manipulation of this information is now in the keeper. // // As of cosmos-sdk 0.47, this only exists for backwards compatibility of genesis files. repeated SendEnabled send_enabled = 1 [deprecated = true]; bool default_send_enabled = 2; } // SendEnabled maps coin denom to a send_enabled status (whether a denom is // sendable). message SendEnabled { option (gogoproto.equal) = true; option (gogoproto.goproto_stringer) = false; string denom = 1; bool enabled = 2; } // Input models transaction input. message Input { option (cosmos.msg.v1.signer) = "address"; option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; string address = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"]; repeated cosmos.base.v1beta1.Coin coins = 2 [ (gogoproto.nullable) = false, (amino.dont_omitempty) = true, (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins" ]; } // Output models transaction outputs. message Output { option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; string address = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"]; repeated cosmos.base.v1beta1.Coin coins = 2 [ (gogoproto.nullable) = false, (amino.dont_omitempty) = true, (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins" ]; } // Supply represents a struct that passively keeps track of the total supply // amounts in the network. // This message is deprecated now that supply is indexed by denom. message Supply { option deprecated = true; option (gogoproto.equal) = true; option (gogoproto.goproto_getters) = false; option (cosmos_proto.implements_interface) = "cosmos.bank.v1beta1.SupplyI"; repeated cosmos.base.v1beta1.Coin total = 1 [ (gogoproto.nullable) = false, (amino.dont_omitempty) = true, (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins" ]; } // DenomUnit represents a struct that describes a given // denomination unit of the basic token. message DenomUnit { // denom represents the string name of the given denom unit (e.g uatom). string denom = 1; // exponent represents power of 10 exponent that one must // raise the base_denom to in order to equal the given DenomUnit's denom // 1 denom = 10^exponent base_denom // (e.g. with a base_denom of uatom, one can create a DenomUnit of 'atom' with // exponent = 6, thus: 1 atom = 10^6 uatom). uint32 exponent = 2; // aliases is a list of string aliases for the given denom repeated string aliases = 3; } // Metadata represents a struct that describes // a basic token. message Metadata { string description = 1; // denom_units represents the list of DenomUnit's for a given coin repeated DenomUnit denom_units = 2; // base represents the evm denom (should be the DenomUnit with exponent = 0). string base = 3; // display indicates the suggested denom that should be // displayed in clients. string display = 4; // name defines the name of the token (eg: Cosmos Atom) // // Since: cosmos-sdk 0.43 string name = 5; // symbol is the token symbol usually shown on exchanges (eg: ATOM). This can // be the same as the display. // // Since: cosmos-sdk 0.43 string symbol = 6; // URI to a document (on or off-chain) that contains additional information. Optional. // // Since: cosmos-sdk 0.46 string uri = 7 [(gogoproto.customname) = "URI"]; // URIHash is a sha256 hash of a document pointed by URI. It's used to verify that // the document didn't change. Optional. // // Since: cosmos-sdk 0.46 string uri_hash = 8 [(gogoproto.customname) = "URIHash"]; }