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  }