mirror of
				https://github.com/0glabs/0g-chain.git
				synced 2025-10-31 21:18:59 +00:00 
			
		
		
		
	 f757d7ab15
			
		
	
	
		f757d7ab15
		
			
		
	
	
	
	
		
			
			* Update cosmos-sdk to v0.45.10-kava * Add RegisterNodeService to app * Update cosmos proto files * Update cosmos proto files * Use tagged v0.45.10-kava-v0.19-0.21 cosmos version * update x/auth/legacy to x/auth/migrations * Delete rest packages and registration * Remove rest from proposal handlers * Remove legacy types referencing removed sdk types * Remove legacy tx broadcast handler * Update incentive staking hooks to return error * Remove grpc replace directive, use new grpc version * Fix storetypes import * Update tally_handler with updated gov types * Delete legacy types * Use new gov default config * Update RegisterTendermintService params Signed-off-by: drklee3 <derrick@dlee.dev> * Replace sdk.StoreKey with storetypes.StoreKey * Replace sdk.Int#ToDec with sdk.NewDecFromInt * Replace sdk.NewUintFromBigInt with sdkmath.NewUintFromBigInt Signed-off-by: drklee3 <derrick@dlee.dev> * Update most intances of govtypes to govv1beta1 * Unpack coin slice for Coins#Sub and Coins#SafeSub Signed-off-by: drklee3 <derrick@dlee.dev> * Update committee gov codec registration Signed-off-by: drklee3 <derrick@dlee.dev> * Update migrate utils period_vesting Coins#Sub Signed-off-by: drklee3 <derrick@dlee.dev> * Update Coin#Sub in community proposal handler Signed-off-by: drklee3 <derrick@dlee.dev> * Update Coin#Sub, FundModuleAccount/FundAccount in banktestutil Signed-off-by: drklee3 <derrick@dlee.dev> * Update community, earn, kavadist proposal gov registration * Update evm cli client EthSecp256k1Type check * AccAddressFromHex to AccAddressFromHexUnsafe * Add mint DefaultInflationCalculationFn to earn test * Update use of removed staking.NewHandler * Rename FlagIAVLFastNode -> FlagDisableIAVLFastNode * cmd: Update new snapshot app option Signed-off-by: drklee3 <derrick@dlee.dev> * cmd: Add tendermint default config, use cosmos rpc status command Signed-off-by: drklee3 <derrick@dlee.dev> * Update ethermint import path github.com/tharsis/ethermint -> github.com/evmos/ethermint * Upgrade ibc-go to v6 * Update proto dependencies Signed-off-by: drklee3 <derrick@dlee.dev> * Update Tally handler test with new gov types * Update helpers.GenTx -> helpers.GenSignedMockTx * Update evmkeeper.NewKeeper params Signed-off-by: drklee3 <derrick@dlee.dev> * Update ante authz, tests * Add feemarket transient key, pass subspaces to evm/feemarket keepers * Update new ante decorators * Add new addModuleInitFlags to server commands * Pass codec to keyring.New in genaccounts * Pass codec to client keys add * Add SendCoins to evmutil bank_keeper * Use github.com/cosmos/iavl@v0.19.5 * Add ante HandlerOptions * Add unimplemented SendCoins to evmutil bank keeper Ethermint x/evm does not use this method * Update init-new-chain script to disable post-london blocks * Modify test genesis states to append 1 validator * Update tally handler test to use string values * Prevent querying balance for empty sdk.AccAddress in auction bidding test * Set default bond denom to ukava * Remove overwritten bank genesis total supply in committee proposal test Signed-off-by: drklee3 <derrick@dlee.dev> * Use ukava for testing staked balance * Disable minting in community proposal handler test Previously stake denom is used, which resulted in 0 minted coins * Update hard APYToSPY test expected value Increased iterations in sdk.ApproxRoot, updated closer to real value * Fix NewDecCoinsFromCoins bug in incentive collectDerivativeStakingRewards * Allow bkava earn incentive test values to match within small margin for rounding Signed-off-by: drklee3 <derrick@dlee.dev> * Update invalid denom in issuance message coin validation Colons are now valid in denoms Signed-off-by: drklee3 <derrick@dlee.dev> * Remove genesis validator in incentive delegation tests * Update pricefeed market test for invalid denom Signed-off-by: drklee3 <derrick@dlee.dev> * Update incentive delegator rewards test without genesis validator Signed-off-by: drklee3 <derrick@dlee.dev> * Add validator to export test * Clear bank state in minting tests Signed-off-by: drklee3 <derrick@dlee.dev> * Remove validator for no stake tally test Signed-off-by: drklee3 <derrick@dlee.dev> * Clear incentive state before InitGenesis in incentive genesis export test * Update swagger Signed-off-by: drklee3 <derrick@dlee.dev> * Update ethermint version to match replaced version * Remove legacy swagger * Add NewEthEmitEventDecorator * Remove redundant func for AddModuleInitFlags * Remove unused addBankBalanceForAddress func * Add SetIAVLLazyLoading option to app cmd * Use legacy.RegisterAminoMsg for committee msg concrete registration * Remove unnecessary Amino field * Add evm_util bankkeeper SendCoins comment * Update test method ResetBankState to DeleteGenesisValidatorCoins to be more clear * Validate incentive params.RewardsPerSecond to be non-zero * Validate swap pools to disallow colons in token denoms * Register all legacy amino types on gov modulecdc * Remove redundant Comittee interface registration * Pin goleveldb to v1.0.1-0.20210819022825-2ae1ddf74ef7 Causes failed to load state at height errors * Update ethermint to new pinned version with minGasPrices parse error fix * Update cosmos fork dependcy commit to include reverted account constructor patch * Update Cosmos v0.46.11 and cometbft v0.34.27 * Bump minimum go version to 1.19 * Update tendermint proto * Update internal testnet genesis * Move NewCanTransferDecorator before NewEthGasConsumeDecorator * Add hard borrow store tests (#1514) * add store tests for Borrow type * refactor Deposit tests to match * Fix old bep3 tests (#1515) * Update Ethermint to 1b17445 to fix duplicate proto registration * Add custom status command to use snake_case and stdout * Add SetInflation helper * Reduce ambiguity with evm CanSignEthTx error * Remove init genesis validator claim in test * Add disabled evmante.NewMinGasPriceDecorator with x/feemarket note * chore: use tagged versions for Cosmos and Ethermint forks * update kvtool & increase wait for ibc transfer test --------- Signed-off-by: drklee3 <derrick@dlee.dev> Co-authored-by: Ruaridh <rhuairahrighairidh@users.noreply.github.com> Co-authored-by: Robert Pirtle <astropirtle@gmail.com>
		
			
				
	
	
		
			361 lines
		
	
	
		
			15 KiB
		
	
	
	
		
			Protocol Buffer
		
	
	
	
	
	
			
		
		
	
	
			361 lines
		
	
	
		
			15 KiB
		
	
	
	
		
			Protocol Buffer
		
	
	
	
	
	
| syntax = "proto3";
 | |
| package cosmos.staking.v1beta1;
 | |
| 
 | |
| import "gogoproto/gogo.proto";
 | |
| import "google/protobuf/any.proto";
 | |
| import "google/protobuf/duration.proto";
 | |
| import "google/protobuf/timestamp.proto";
 | |
| 
 | |
| import "cosmos_proto/cosmos.proto";
 | |
| import "cosmos/base/v1beta1/coin.proto";
 | |
| import "tendermint/types/types.proto";
 | |
| 
 | |
| option go_package = "github.com/cosmos/cosmos-sdk/x/staking/types";
 | |
| 
 | |
| // HistoricalInfo contains header and validator information for a given block.
 | |
| // It is stored as part of staking module's state, which persists the `n` most
 | |
| // recent HistoricalInfo
 | |
| // (`n` is set by the staking module's `historical_entries` parameter).
 | |
| message HistoricalInfo {
 | |
|   tendermint.types.Header header = 1 [(gogoproto.nullable) = false];
 | |
|   repeated Validator      valset = 2 [(gogoproto.nullable) = false];
 | |
| }
 | |
| 
 | |
| // CommissionRates defines the initial commission rates to be used for creating
 | |
| // a validator.
 | |
| message CommissionRates {
 | |
|   option (gogoproto.equal)            = true;
 | |
|   option (gogoproto.goproto_stringer) = false;
 | |
| 
 | |
|   // rate is the commission rate charged to delegators, as a fraction.
 | |
|   string rate = 1 [
 | |
|     (cosmos_proto.scalar)  = "cosmos.Dec",
 | |
|     (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec",
 | |
|     (gogoproto.nullable)   = false
 | |
|   ];
 | |
|   // max_rate defines the maximum commission rate which validator can ever charge, as a fraction.
 | |
|   string max_rate = 2 [
 | |
|     (cosmos_proto.scalar)  = "cosmos.Dec",
 | |
|     (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec",
 | |
|     (gogoproto.nullable)   = false
 | |
|   ];
 | |
|   // max_change_rate defines the maximum daily increase of the validator commission, as a fraction.
 | |
|   string max_change_rate = 3 [
 | |
|     (cosmos_proto.scalar)  = "cosmos.Dec",
 | |
|     (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec",
 | |
|     (gogoproto.nullable)   = false
 | |
|   ];
 | |
| }
 | |
| 
 | |
| // Commission defines commission parameters for a given validator.
 | |
| message Commission {
 | |
|   option (gogoproto.equal)            = true;
 | |
|   option (gogoproto.goproto_stringer) = false;
 | |
| 
 | |
|   // commission_rates defines the initial commission rates to be used for creating a validator.
 | |
|   CommissionRates commission_rates = 1 [(gogoproto.embed) = true, (gogoproto.nullable) = false];
 | |
|   // update_time is the last time the commission rate was changed.
 | |
|   google.protobuf.Timestamp update_time = 2 [(gogoproto.nullable) = false, (gogoproto.stdtime) = true];
 | |
| }
 | |
| 
 | |
| // Description defines a validator description.
 | |
| message Description {
 | |
|   option (gogoproto.equal)            = true;
 | |
|   option (gogoproto.goproto_stringer) = false;
 | |
| 
 | |
|   // moniker defines a human-readable name for the validator.
 | |
|   string moniker = 1;
 | |
|   // identity defines an optional identity signature (ex. UPort or Keybase).
 | |
|   string identity = 2;
 | |
|   // website defines an optional website link.
 | |
|   string website = 3;
 | |
|   // security_contact defines an optional email for security contact.
 | |
|   string security_contact = 4;
 | |
|   // details define other optional details.
 | |
|   string details = 5;
 | |
| }
 | |
| 
 | |
| // Validator defines a validator, together with the total amount of the
 | |
| // Validator's bond shares and their exchange rate to coins. Slashing results in
 | |
| // a decrease in the exchange rate, allowing correct calculation of future
 | |
| // undelegations without iterating over delegators. When coins are delegated to
 | |
| // this validator, the validator is credited with a delegation whose number of
 | |
| // bond shares is based on the amount of coins delegated divided by the current
 | |
| // exchange rate. Voting power can be calculated as total bonded shares
 | |
| // multiplied by exchange rate.
 | |
| message Validator {
 | |
|   option (gogoproto.equal)            = false;
 | |
|   option (gogoproto.goproto_stringer) = false;
 | |
|   option (gogoproto.goproto_getters)  = false;
 | |
| 
 | |
|   // operator_address defines the address of the validator's operator; bech encoded in JSON.
 | |
|   string operator_address = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"];
 | |
|   // consensus_pubkey is the consensus public key of the validator, as a Protobuf Any.
 | |
|   google.protobuf.Any consensus_pubkey = 2 [(cosmos_proto.accepts_interface) = "cosmos.crypto.PubKey"];
 | |
|   // jailed defined whether the validator has been jailed from bonded status or not.
 | |
|   bool jailed = 3;
 | |
|   // status is the validator status (bonded/unbonding/unbonded).
 | |
|   BondStatus status = 4;
 | |
|   // tokens define the delegated tokens (incl. self-delegation).
 | |
|   string tokens = 5 [
 | |
|     (cosmos_proto.scalar)  = "cosmos.Int",
 | |
|     (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int",
 | |
|     (gogoproto.nullable)   = false
 | |
|   ];
 | |
|   // delegator_shares defines total shares issued to a validator's delegators.
 | |
|   string delegator_shares = 6 [
 | |
|     (cosmos_proto.scalar)  = "cosmos.Dec",
 | |
|     (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec",
 | |
|     (gogoproto.nullable)   = false
 | |
|   ];
 | |
|   // description defines the description terms for the validator.
 | |
|   Description description = 7 [(gogoproto.nullable) = false];
 | |
|   // unbonding_height defines, if unbonding, the height at which this validator has begun unbonding.
 | |
|   int64 unbonding_height = 8;
 | |
|   // unbonding_time defines, if unbonding, the min time for the validator to complete unbonding.
 | |
|   google.protobuf.Timestamp unbonding_time = 9 [(gogoproto.nullable) = false, (gogoproto.stdtime) = true];
 | |
|   // commission defines the commission parameters.
 | |
|   Commission commission = 10 [(gogoproto.nullable) = false];
 | |
|   // min_self_delegation is the validator's self declared minimum self delegation.
 | |
|   //
 | |
|   // Since: cosmos-sdk 0.46
 | |
|   string min_self_delegation = 11 [
 | |
|     (cosmos_proto.scalar)  = "cosmos.Int",
 | |
|     (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int",
 | |
|     (gogoproto.nullable)   = false
 | |
|   ];
 | |
| }
 | |
| 
 | |
| // BondStatus is the status of a validator.
 | |
| enum BondStatus {
 | |
|   option (gogoproto.goproto_enum_prefix) = false;
 | |
| 
 | |
|   // UNSPECIFIED defines an invalid validator status.
 | |
|   BOND_STATUS_UNSPECIFIED = 0 [(gogoproto.enumvalue_customname) = "Unspecified"];
 | |
|   // UNBONDED defines a validator that is not bonded.
 | |
|   BOND_STATUS_UNBONDED = 1 [(gogoproto.enumvalue_customname) = "Unbonded"];
 | |
|   // UNBONDING defines a validator that is unbonding.
 | |
|   BOND_STATUS_UNBONDING = 2 [(gogoproto.enumvalue_customname) = "Unbonding"];
 | |
|   // BONDED defines a validator that is bonded.
 | |
|   BOND_STATUS_BONDED = 3 [(gogoproto.enumvalue_customname) = "Bonded"];
 | |
| }
 | |
| 
 | |
| // ValAddresses defines a repeated set of validator addresses.
 | |
| message ValAddresses {
 | |
|   option (gogoproto.goproto_stringer) = false;
 | |
|   option (gogoproto.stringer)         = true;
 | |
| 
 | |
|   repeated string addresses = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"];
 | |
| }
 | |
| 
 | |
| // DVPair is struct that just has a delegator-validator pair with no other data.
 | |
| // It is intended to be used as a marshalable pointer. For example, a DVPair can
 | |
| // be used to construct the key to getting an UnbondingDelegation from state.
 | |
| message DVPair {
 | |
|   option (gogoproto.equal)            = false;
 | |
|   option (gogoproto.goproto_getters)  = false;
 | |
|   option (gogoproto.goproto_stringer) = false;
 | |
| 
 | |
|   string delegator_address = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"];
 | |
|   string validator_address = 2 [(cosmos_proto.scalar) = "cosmos.AddressString"];
 | |
| }
 | |
| 
 | |
| // DVPairs defines an array of DVPair objects.
 | |
| message DVPairs {
 | |
|   repeated DVPair pairs = 1 [(gogoproto.nullable) = false];
 | |
| }
 | |
| 
 | |
| // DVVTriplet is struct that just has a delegator-validator-validator triplet
 | |
| // with no other data. It is intended to be used as a marshalable pointer. For
 | |
| // example, a DVVTriplet can be used to construct the key to getting a
 | |
| // Redelegation from state.
 | |
| message DVVTriplet {
 | |
|   option (gogoproto.equal)            = false;
 | |
|   option (gogoproto.goproto_getters)  = false;
 | |
|   option (gogoproto.goproto_stringer) = false;
 | |
| 
 | |
|   string delegator_address     = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"];
 | |
|   string validator_src_address = 2 [(cosmos_proto.scalar) = "cosmos.AddressString"];
 | |
|   string validator_dst_address = 3 [(cosmos_proto.scalar) = "cosmos.AddressString"];
 | |
| }
 | |
| 
 | |
| // DVVTriplets defines an array of DVVTriplet objects.
 | |
| message DVVTriplets {
 | |
|   repeated DVVTriplet triplets = 1 [(gogoproto.nullable) = false];
 | |
| }
 | |
| 
 | |
| // Delegation represents the bond with tokens held by an account. It is
 | |
| // owned by one delegator, and is associated with the voting power of one
 | |
| // validator.
 | |
| message Delegation {
 | |
|   option (gogoproto.equal)            = false;
 | |
|   option (gogoproto.goproto_getters)  = false;
 | |
|   option (gogoproto.goproto_stringer) = false;
 | |
| 
 | |
|   // delegator_address is the bech32-encoded address of the delegator.
 | |
|   string delegator_address = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"];
 | |
|   // validator_address is the bech32-encoded address of the validator.
 | |
|   string validator_address = 2 [(cosmos_proto.scalar) = "cosmos.AddressString"];
 | |
|   // shares define the delegation shares received.
 | |
|   string shares = 3 [
 | |
|     (cosmos_proto.scalar)  = "cosmos.Dec",
 | |
|     (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec",
 | |
|     (gogoproto.nullable)   = false
 | |
|   ];
 | |
| }
 | |
| 
 | |
| // UnbondingDelegation stores all of a single delegator's unbonding bonds
 | |
| // for a single validator in an time-ordered list.
 | |
| message UnbondingDelegation {
 | |
|   option (gogoproto.equal)            = false;
 | |
|   option (gogoproto.goproto_getters)  = false;
 | |
|   option (gogoproto.goproto_stringer) = false;
 | |
| 
 | |
|   // delegator_address is the bech32-encoded address of the delegator.
 | |
|   string delegator_address = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"];
 | |
|   // validator_address is the bech32-encoded address of the validator.
 | |
|   string validator_address = 2 [(cosmos_proto.scalar) = "cosmos.AddressString"];
 | |
|   // entries are the unbonding delegation entries.
 | |
|   repeated UnbondingDelegationEntry entries = 3 [(gogoproto.nullable) = false]; // unbonding delegation entries
 | |
| }
 | |
| 
 | |
| // UnbondingDelegationEntry defines an unbonding object with relevant metadata.
 | |
| message UnbondingDelegationEntry {
 | |
|   option (gogoproto.equal)            = true;
 | |
|   option (gogoproto.goproto_stringer) = false;
 | |
| 
 | |
|   // creation_height is the height which the unbonding took place.
 | |
|   int64 creation_height = 1;
 | |
|   // completion_time is the unix time for unbonding completion.
 | |
|   google.protobuf.Timestamp completion_time = 2 [(gogoproto.nullable) = false, (gogoproto.stdtime) = true];
 | |
|   // initial_balance defines the tokens initially scheduled to receive at completion.
 | |
|   string initial_balance = 3 [
 | |
|     (cosmos_proto.scalar)  = "cosmos.Int",
 | |
|     (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int",
 | |
|     (gogoproto.nullable)   = false
 | |
|   ];
 | |
|   // balance defines the tokens to receive at completion.
 | |
|   string balance = 4 [
 | |
|     (cosmos_proto.scalar)  = "cosmos.Int",
 | |
|     (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int",
 | |
|     (gogoproto.nullable)   = false
 | |
|   ];
 | |
| }
 | |
| 
 | |
| // RedelegationEntry defines a redelegation object with relevant metadata.
 | |
| message RedelegationEntry {
 | |
|   option (gogoproto.equal)            = true;
 | |
|   option (gogoproto.goproto_stringer) = false;
 | |
| 
 | |
|   // creation_height  defines the height which the redelegation took place.
 | |
|   int64 creation_height = 1;
 | |
|   // completion_time defines the unix time for redelegation completion.
 | |
|   google.protobuf.Timestamp completion_time = 2 [(gogoproto.nullable) = false, (gogoproto.stdtime) = true];
 | |
|   // initial_balance defines the initial balance when redelegation started.
 | |
|   string initial_balance = 3 [
 | |
|     (cosmos_proto.scalar)  = "cosmos.Int",
 | |
|     (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int",
 | |
|     (gogoproto.nullable)   = false
 | |
|   ];
 | |
|   // shares_dst is the amount of destination-validator shares created by redelegation.
 | |
|   string shares_dst = 4 [
 | |
|     (cosmos_proto.scalar)  = "cosmos.Dec",
 | |
|     (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec",
 | |
|     (gogoproto.nullable)   = false
 | |
|   ];
 | |
| }
 | |
| 
 | |
| // Redelegation contains the list of a particular delegator's redelegating bonds
 | |
| // from a particular source validator to a particular destination validator.
 | |
| message Redelegation {
 | |
|   option (gogoproto.equal)            = false;
 | |
|   option (gogoproto.goproto_getters)  = false;
 | |
|   option (gogoproto.goproto_stringer) = false;
 | |
| 
 | |
|   // delegator_address is the bech32-encoded address of the delegator.
 | |
|   string delegator_address = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"];
 | |
|   // validator_src_address is the validator redelegation source operator address.
 | |
|   string validator_src_address = 2 [(cosmos_proto.scalar) = "cosmos.AddressString"];
 | |
|   // validator_dst_address is the validator redelegation destination operator address.
 | |
|   string validator_dst_address = 3 [(cosmos_proto.scalar) = "cosmos.AddressString"];
 | |
|   // entries are the redelegation entries.
 | |
|   repeated RedelegationEntry entries = 4 [(gogoproto.nullable) = false]; // redelegation entries
 | |
| }
 | |
| 
 | |
| // Params defines the parameters for the staking module.
 | |
| message Params {
 | |
|   option (gogoproto.equal)            = true;
 | |
|   option (gogoproto.goproto_stringer) = false;
 | |
| 
 | |
|   // unbonding_time is the time duration of unbonding.
 | |
|   google.protobuf.Duration unbonding_time = 1 [(gogoproto.nullable) = false, (gogoproto.stdduration) = true];
 | |
|   // max_validators is the maximum number of validators.
 | |
|   uint32 max_validators = 2;
 | |
|   // max_entries is the max entries for either unbonding delegation or redelegation (per pair/trio).
 | |
|   uint32 max_entries = 3;
 | |
|   // historical_entries is the number of historical entries to persist.
 | |
|   uint32 historical_entries = 4;
 | |
|   // bond_denom defines the bondable coin denomination.
 | |
|   string bond_denom = 5;
 | |
|   // min_commission_rate is the chain-wide minimum commission rate that a validator can charge their delegators
 | |
|   string min_commission_rate = 6 [
 | |
|     (gogoproto.moretags)   = "yaml:\"min_commission_rate\"",
 | |
|     (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec",
 | |
|     (gogoproto.nullable)   = false
 | |
|   ];
 | |
| }
 | |
| 
 | |
| // DelegationResponse is equivalent to Delegation except that it contains a
 | |
| // balance in addition to shares which is more suitable for client responses.
 | |
| message DelegationResponse {
 | |
|   option (gogoproto.equal)            = false;
 | |
|   option (gogoproto.goproto_stringer) = false;
 | |
| 
 | |
|   Delegation delegation = 1 [(gogoproto.nullable) = false];
 | |
| 
 | |
|   cosmos.base.v1beta1.Coin balance = 2 [(gogoproto.nullable) = false];
 | |
| }
 | |
| 
 | |
| // RedelegationEntryResponse is equivalent to a RedelegationEntry except that it
 | |
| // contains a balance in addition to shares which is more suitable for client
 | |
| // responses.
 | |
| message RedelegationEntryResponse {
 | |
|   option (gogoproto.equal) = true;
 | |
| 
 | |
|   RedelegationEntry redelegation_entry = 1 [(gogoproto.nullable) = false];
 | |
|   string            balance            = 4 [
 | |
|     (cosmos_proto.scalar)  = "cosmos.Int",
 | |
|     (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int",
 | |
|     (gogoproto.nullable)   = false
 | |
|   ];
 | |
| }
 | |
| 
 | |
| // RedelegationResponse is equivalent to a Redelegation except that its entries
 | |
| // contain a balance in addition to shares which is more suitable for client
 | |
| // responses.
 | |
| message RedelegationResponse {
 | |
|   option (gogoproto.equal) = false;
 | |
| 
 | |
|   Redelegation                       redelegation = 1 [(gogoproto.nullable) = false];
 | |
|   repeated RedelegationEntryResponse entries      = 2 [(gogoproto.nullable) = false];
 | |
| }
 | |
| 
 | |
| // Pool is used for tracking bonded and not-bonded token supply of the bond
 | |
| // denomination.
 | |
| message Pool {
 | |
|   option (gogoproto.description) = true;
 | |
|   option (gogoproto.equal)       = true;
 | |
|   string not_bonded_tokens       = 1 [
 | |
|     (cosmos_proto.scalar)  = "cosmos.Int",
 | |
|     (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int",
 | |
|     (gogoproto.nullable)   = false,
 | |
|     (gogoproto.jsontag)    = "not_bonded_tokens"
 | |
|   ];
 | |
|   string bonded_tokens = 2 [
 | |
|     (cosmos_proto.scalar)  = "cosmos.Int",
 | |
|     (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int",
 | |
|     (gogoproto.nullable)   = false,
 | |
|     (gogoproto.jsontag)    = "bonded_tokens"
 | |
|   ];
 | |
| }
 |