2024-02-01 10:58:34 +00:00
|
|
|
package keeper
|
|
|
|
|
|
|
|
import (
|
2024-04-01 09:57:26 +00:00
|
|
|
"git.vdb.to/cerc-io/laconicd/x/bond"
|
2024-02-01 10:58:34 +00:00
|
|
|
sdk "github.com/cosmos/cosmos-sdk/types"
|
|
|
|
)
|
|
|
|
|
|
|
|
// InitGenesis initializes the module state from a genesis state.
|
|
|
|
func (k *Keeper) InitGenesis(ctx sdk.Context, data *bond.GenesisState) error {
|
2024-02-08 13:23:20 +00:00
|
|
|
if err := k.Params.Set(ctx, data.Params); err != nil {
|
|
|
|
return err
|
|
|
|
}
|
2024-02-01 10:58:34 +00:00
|
|
|
|
2024-02-02 09:39:10 +00:00
|
|
|
// Save bonds in store.
|
2024-02-01 10:58:34 +00:00
|
|
|
for _, bond := range data.Bonds {
|
2024-02-02 09:39:10 +00:00
|
|
|
if err := k.Bonds.Set(ctx, bond.Id, *bond); err != nil {
|
|
|
|
return err
|
|
|
|
}
|
2024-02-01 10:58:34 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
|
|
|
// ExportGenesis exports the module state to a genesis state.
|
|
|
|
func (k *Keeper) ExportGenesis(ctx sdk.Context) (*bond.GenesisState, error) {
|
2024-02-08 13:23:20 +00:00
|
|
|
params, err := k.Params.Get(ctx)
|
|
|
|
if err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
2024-02-02 09:39:10 +00:00
|
|
|
|
|
|
|
bonds, err := k.ListBonds(ctx)
|
|
|
|
if err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
2024-02-01 10:58:34 +00:00
|
|
|
|
|
|
|
return &bond.GenesisState{Params: params, Bonds: bonds}, nil
|
|
|
|
}
|