38 lines
855 B
Go
38 lines
855 B
Go
|
package gov
|
||
|
|
||
|
import (
|
||
|
sdk "github.com/cosmos/cosmos-sdk/types"
|
||
|
)
|
||
|
|
||
|
// GenesisState - all staking state that must be provided at genesis
|
||
|
type GenesisState struct {
|
||
|
StartingProposalID int64 `json:"starting_proposalID"`
|
||
|
}
|
||
|
|
||
|
func NewGenesisState(startingProposalID int64) GenesisState {
|
||
|
return GenesisState{
|
||
|
StartingProposalID: startingProposalID,
|
||
|
}
|
||
|
}
|
||
|
|
||
|
// get raw genesis raw message for testing
|
||
|
func DefaultGenesisState() GenesisState {
|
||
|
return GenesisState{
|
||
|
StartingProposalID: 1,
|
||
|
}
|
||
|
}
|
||
|
|
||
|
// InitGenesis - store genesis parameters
|
||
|
func InitGenesis(ctx sdk.Context, k Keeper, data GenesisState) {
|
||
|
k.setInitialProposalID(ctx, data.StartingProposalID)
|
||
|
}
|
||
|
|
||
|
// WriteGenesis - output genesis parameters
|
||
|
func WriteGenesis(ctx sdk.Context, k Keeper) GenesisState {
|
||
|
initalProposalID, _ := k.getNewProposalID(ctx)
|
||
|
|
||
|
return GenesisState{
|
||
|
initalProposalID,
|
||
|
}
|
||
|
}
|