-
Notifications
You must be signed in to change notification settings - Fork 1
/
genesis.go
37 lines (29 loc) · 903 Bytes
/
genesis.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
package keeper
import (
"encoding/json"
"github.com/cosmos/cosmos-sdk/codec"
"github.com/cosmos/cosmos-sdk/types"
abci "github.com/tendermint/tendermint/abci/types"
"github.com/elesto-dao/elesto/x/did"
)
// InitGenesis initializes the genesis state for the did module
func (k Keeper) InitGenesis(
ctx types.Context,
cdc codec.JSONCodec,
data json.RawMessage,
) []abci.ValidatorUpdate {
var genesisState did.GenesisState
cdc.MustUnmarshalJSON(data, &genesisState)
for _, didDoc := range genesisState.DidDocuments {
// set the did document in the store
k.SetDidDocument(ctx, []byte(didDoc.Id), *didDoc)
}
return []abci.ValidatorUpdate{}
}
// ExportGenesis exports the did state to a genesis.json file
func (k Keeper) ExportGenesis(ctx types.Context, cdc codec.JSONCodec) *did.GenesisState {
dids := k.GetAllDidDocuments(ctx)
return &did.GenesisState{
DidDocuments: dids,
}
}