github.com/Finschia/finschia-sdk@v0.48.1/proto/lbm/token/v1/genesis.proto (about) 1 syntax = "proto3"; 2 package lbm.token.v1; 3 4 import "gogoproto/gogo.proto"; 5 import "lbm/token/v1/token.proto"; 6 7 option go_package = "github.com/Finschia/finschia-sdk/x/token"; 8 9 // GenesisState defines the token module's genesis state. 10 message GenesisState { 11 // params defines all the paramaters of the module. 12 Params params = 1 [(gogoproto.nullable) = false]; 13 14 // class_state is the class keeper's genesis state. 15 ClassGenesisState class_state = 2; 16 17 // balances is an array containing the balances of all the accounts. 18 repeated ContractBalances balances = 3 [(gogoproto.nullable) = false]; 19 20 // classes defines the metadata of the differents tokens. 21 repeated Contract classes = 4 [(gogoproto.nullable) = false]; 22 23 // grants defines the grant information. 24 repeated ContractGrants grants = 5 [(gogoproto.nullable) = false]; 25 26 // authorizations defines the approve information. 27 repeated ContractAuthorizations authorizations = 6 [(gogoproto.nullable) = false]; 28 29 // supplies represents the total supplies of tokens. 30 repeated ContractCoin supplies = 7 [(gogoproto.nullable) = false]; 31 32 // mints represents the total mints of tokens. 33 repeated ContractCoin mints = 8 [(gogoproto.nullable) = false]; 34 35 // burns represents the total burns of tokens. 36 repeated ContractCoin burns = 9 [(gogoproto.nullable) = false]; 37 } 38 39 // ClassGenesisState defines the classs keeper's genesis state. 40 message ClassGenesisState { 41 // nonce is the next class nonce to issue. 42 string nonce = 1 [(gogoproto.customtype) = "github.com/Finschia/finschia-sdk/types.Uint", (gogoproto.nullable) = false]; 43 44 // ids represents the issued ids. 45 repeated string ids = 2; 46 } 47 48 // ContractBalances defines balances belong to a contract. 49 // genesis state. 50 message ContractBalances { 51 // contract id associated with the token class. 52 string contract_id = 1; 53 // balances of the contract. 54 repeated Balance balances = 2 [(gogoproto.nullable) = false]; 55 } 56 57 // Balance defines a balance of an address. 58 message Balance { 59 option (gogoproto.equal) = true; 60 61 // address of the holder. 62 string address = 1; 63 // amount of the balance. 64 string amount = 2 [(gogoproto.customtype) = "github.com/Finschia/finschia-sdk/types.Int", (gogoproto.nullable) = false]; 65 } 66 67 // ContractAuthorizations defines authorizations belong to a contract. 68 message ContractAuthorizations { 69 // contract id associated with the token class. 70 string contract_id = 1; 71 // authorizations of the contract. 72 repeated Authorization authorizations = 2 [(gogoproto.nullable) = false]; 73 } 74 75 // ContractGrant defines grants belong to a contract. 76 message ContractGrants { 77 // contract id associated with the token class. 78 string contract_id = 1; 79 // grants of the contract. 80 repeated Grant grants = 2 [(gogoproto.nullable) = false]; 81 } 82 83 message ContractCoin { 84 // contract id associated with the token class. 85 string contract_id = 1; 86 // amount of the token. 87 string amount = 2 [(gogoproto.customtype) = "github.com/Finschia/finschia-sdk/types.Int", (gogoproto.nullable) = false]; 88 }