laconicd/third_party/proto/cosmos/bank/v1beta1/bank.proto

86 lines
3.1 KiB
Protocol Buffer
Raw Normal View History

2021-04-17 10:00:07 +00:00
syntax = "proto3";
package cosmos.bank.v1beta1;
import "gogoproto/gogo.proto";
import "cosmos_proto/cosmos.proto";
import "cosmos/base/v1beta1/coin.proto";
option go_package = "github.com/cosmos/cosmos-sdk/x/bank/types";
// Params defines the parameters for the bank module.
message Params {
2021-04-18 15:54:18 +00:00
option (gogoproto.goproto_stringer) = false;
repeated SendEnabled send_enabled = 1 [(gogoproto.moretags) = "yaml:\"send_enabled,omitempty\""];
bool default_send_enabled = 2 [(gogoproto.moretags) = "yaml:\"default_send_enabled,omitempty\""];
2021-04-17 10:00:07 +00:00
}
// SendEnabled maps coin denom to a send_enabled status (whether a denom is
// sendable).
message SendEnabled {
2021-04-18 15:54:18 +00:00
option (gogoproto.equal) = true;
2021-04-17 10:00:07 +00:00
option (gogoproto.goproto_stringer) = false;
2021-04-18 15:54:18 +00:00
string denom = 1;
bool enabled = 2;
2021-04-17 10:00:07 +00:00
}
// Input models transaction input.
message Input {
2021-04-18 15:54:18 +00:00
option (gogoproto.equal) = false;
2021-04-17 10:00:07 +00:00
option (gogoproto.goproto_getters) = false;
2021-04-18 15:54:18 +00:00
string address = 1;
repeated cosmos.base.v1beta1.Coin coins = 2
[(gogoproto.nullable) = false, (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins"];
2021-04-17 10:00:07 +00:00
}
// Output models transaction outputs.
message Output {
2021-04-18 15:54:18 +00:00
option (gogoproto.equal) = false;
2021-04-17 10:00:07 +00:00
option (gogoproto.goproto_getters) = false;
2021-04-18 15:54:18 +00:00
string address = 1;
repeated cosmos.base.v1beta1.Coin coins = 2
[(gogoproto.nullable) = false, (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins"];
2021-04-17 10:00:07 +00:00
}
// Supply represents a struct that passively keeps track of the total supply
// amounts in the network.
message Supply {
2021-04-18 15:54:18 +00:00
option (gogoproto.equal) = true;
option (gogoproto.goproto_getters) = false;
2021-04-17 10:00:07 +00:00
option (gogoproto.goproto_stringer) = false;
2021-04-18 15:54:18 +00:00
option (cosmos_proto.implements_interface) = "*github.com/cosmos/cosmos-sdk/x/bank/exported.SupplyI";
2021-04-17 10:00:07 +00:00
2021-04-18 15:54:18 +00:00
repeated cosmos.base.v1beta1.Coin total = 1
[(gogoproto.nullable) = false, (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins"];
2021-04-17 10:00:07 +00:00
}
// 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 = 1^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 base 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;
}