50 lines
1.8 KiB
Go
50 lines
1.8 KiB
Go
package types
|
|
|
|
import (
|
|
sdk "github.com/cosmos/cosmos-sdk/types"
|
|
)
|
|
|
|
func NewGenesisState(
|
|
params Params, fp FeePool, dwis []DelegatorWithdrawInfo, pp sdk.ConsAddress, r []ValidatorOutstandingRewardsRecord,
|
|
acc []ValidatorAccumulatedCommissionRecord, historical []ValidatorHistoricalRewardsRecord,
|
|
cur []ValidatorCurrentRewardsRecord, dels []DelegatorStartingInfoRecord, slashes []ValidatorSlashEventRecord,
|
|
) *GenesisState {
|
|
|
|
return &GenesisState{
|
|
Params: params,
|
|
FeePool: fp,
|
|
DelegatorWithdrawInfos: dwis,
|
|
PreviousProposer: pp,
|
|
OutstandingRewards: r,
|
|
ValidatorAccumulatedCommissions: acc,
|
|
ValidatorHistoricalRewards: historical,
|
|
ValidatorCurrentRewards: cur,
|
|
DelegatorStartingInfos: dels,
|
|
ValidatorSlashEvents: slashes,
|
|
}
|
|
}
|
|
|
|
// get raw genesis raw message for testing
|
|
func DefaultGenesisState() *GenesisState {
|
|
return &GenesisState{
|
|
FeePool: InitialFeePool(),
|
|
Params: DefaultParams(),
|
|
DelegatorWithdrawInfos: []DelegatorWithdrawInfo{},
|
|
PreviousProposer: nil,
|
|
OutstandingRewards: []ValidatorOutstandingRewardsRecord{},
|
|
ValidatorAccumulatedCommissions: []ValidatorAccumulatedCommissionRecord{},
|
|
ValidatorHistoricalRewards: []ValidatorHistoricalRewardsRecord{},
|
|
ValidatorCurrentRewards: []ValidatorCurrentRewardsRecord{},
|
|
DelegatorStartingInfos: []DelegatorStartingInfoRecord{},
|
|
ValidatorSlashEvents: []ValidatorSlashEventRecord{},
|
|
}
|
|
}
|
|
|
|
// ValidateGenesis validates the genesis state of distribution genesis input
|
|
func ValidateGenesis(gs *GenesisState) error {
|
|
if err := gs.Params.ValidateBasic(); err != nil {
|
|
return err
|
|
}
|
|
return gs.FeePool.ValidateGenesis()
|
|
}
|