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