diff --git a/examples/democoin/x/pow/keeper.go b/examples/democoin/x/pow/keeper.go index 9a5edf0b5..4d95840b7 100644 --- a/examples/democoin/x/pow/keeper.go +++ b/examples/democoin/x/pow/keeper.go @@ -36,13 +36,29 @@ func NewKeeper(key sdk.StoreKey, config Config, ck bank.Keeper, codespace sdk.Co return Keeper{key, config, ck, codespace} } -// Init Genessis for the POW module +// InitGenesis for the POW module func (k Keeper) InitGenesis(ctx sdk.Context, genesis Genesis) error { k.SetLastDifficulty(ctx, genesis.Difficulty) k.SetLastCount(ctx, genesis.Count) return nil } +// WriteGenesis for the PoW module +func (k Keeper) WriteGenesis(ctx sdk.Context) Genesis { + difficulty, err := k.GetLastDifficulty(ctx) + if err != nil { + panic(err) + } + count, err := k.GetLastCount(ctx) + if err != nil { + panic(err) + } + return Genesis{ + difficulty, + count, + } +} + var lastDifficultyKey = []byte("lastDifficultyKey") // get the last mining difficulty diff --git a/examples/democoin/x/pow/keeper_test.go b/examples/democoin/x/pow/keeper_test.go index 4c01559f6..015f98556 100644 --- a/examples/democoin/x/pow/keeper_test.go +++ b/examples/democoin/x/pow/keeper_test.go @@ -40,6 +40,10 @@ func TestPowKeeperGetSet(t *testing.T) { err := keeper.InitGenesis(ctx, Genesis{uint64(1), uint64(0)}) assert.Nil(t, err) + genesis := keeper.WriteGenesis(ctx) + assert.Nil(t, err) + assert.Equal(t, genesis, Genesis{uint64(1), uint64(0)}) + res, err := keeper.GetLastDifficulty(ctx) assert.Nil(t, err) assert.Equal(t, res, uint64(1)) diff --git a/types/initgenesis.go b/types/initgenesis.go deleted file mode 100644 index ff3c03cf4..000000000 --- a/types/initgenesis.go +++ /dev/null @@ -1,10 +0,0 @@ -package types - -import ( - "encoding/json" -) - -// Run only once on chain initialization, should write genesis state to store -// or throw an error if some required information was not provided, in which case -// the application will panic. -type InitGenesis func(ctx Context, data json.RawMessage) error