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  }