github.com/cosmos/cosmos-sdk@v0.50.10/x/distribution/types/genesis.go (about) 1 package types 2 3 import ( 4 sdk "github.com/cosmos/cosmos-sdk/types" 5 ) 6 7 func NewGenesisState( 8 params Params, fp FeePool, dwis []DelegatorWithdrawInfo, pp sdk.ConsAddress, r []ValidatorOutstandingRewardsRecord, 9 acc []ValidatorAccumulatedCommissionRecord, historical []ValidatorHistoricalRewardsRecord, 10 cur []ValidatorCurrentRewardsRecord, dels []DelegatorStartingInfoRecord, slashes []ValidatorSlashEventRecord, 11 ) *GenesisState { 12 return &GenesisState{ 13 Params: params, 14 FeePool: fp, 15 DelegatorWithdrawInfos: dwis, 16 PreviousProposer: pp.String(), 17 OutstandingRewards: r, 18 ValidatorAccumulatedCommissions: acc, 19 ValidatorHistoricalRewards: historical, 20 ValidatorCurrentRewards: cur, 21 DelegatorStartingInfos: dels, 22 ValidatorSlashEvents: slashes, 23 } 24 } 25 26 // get raw genesis raw message for testing 27 func DefaultGenesisState() *GenesisState { 28 return &GenesisState{ 29 FeePool: InitialFeePool(), 30 Params: DefaultParams(), 31 DelegatorWithdrawInfos: []DelegatorWithdrawInfo{}, 32 PreviousProposer: "", 33 OutstandingRewards: []ValidatorOutstandingRewardsRecord{}, 34 ValidatorAccumulatedCommissions: []ValidatorAccumulatedCommissionRecord{}, 35 ValidatorHistoricalRewards: []ValidatorHistoricalRewardsRecord{}, 36 ValidatorCurrentRewards: []ValidatorCurrentRewardsRecord{}, 37 DelegatorStartingInfos: []DelegatorStartingInfoRecord{}, 38 ValidatorSlashEvents: []ValidatorSlashEventRecord{}, 39 } 40 } 41 42 // ValidateGenesis validates the genesis state of distribution genesis input 43 func ValidateGenesis(gs *GenesisState) error { 44 if err := gs.Params.ValidateBasic(); err != nil { 45 return err 46 } 47 return gs.FeePool.ValidateGenesis() 48 }