syntax = "proto3"; package cosmos.staking.v1beta1; option go_package = "github.com/cosmos/cosmos-sdk/x/staking/types"; import "gogoproto/gogo.proto"; import "cosmos/staking/v1beta1/staking.proto"; import "cosmos_proto/cosmos.proto"; // GenesisState defines the staking module's genesis state. message GenesisState { // params defines all the paramaters of related to deposit. Params params = 1 [(gogoproto.nullable) = false]; // last_total_power tracks the total amounts of bonded tokens recorded during // the previous end block. bytes last_total_power = 2 [(gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int", (gogoproto.nullable) = false]; // last_validator_powers is a special index that provides a historical list // of the last-block's bonded validators. repeated LastValidatorPower last_validator_powers = 3 [(gogoproto.nullable) = false]; // delegations defines the validator set at genesis. repeated Validator validators = 4 [(gogoproto.nullable) = false]; // delegations defines the delegations active at genesis. repeated Delegation delegations = 5 [(gogoproto.nullable) = false]; // unbonding_delegations defines the unbonding delegations active at genesis. repeated UnbondingDelegation unbonding_delegations = 6 [(gogoproto.nullable) = false]; // redelegations defines the redelegations active at genesis. repeated Redelegation redelegations = 7 [(gogoproto.nullable) = false]; bool exported = 8; } // LastValidatorPower required for validator set update logic. message LastValidatorPower { option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; // address is the address of the validator. string address = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"]; // power defines the power of the validator. int64 power = 2; }