Skip to content

Commit 9530f55

Browse files
committed
add dkg request in genesis
1 parent a135fb9 commit 9530f55

File tree

6 files changed

+204
-34
lines changed

6 files changed

+204
-34
lines changed

api/side/btcbridge/genesis.pulsar.go

+111-18
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

proto/side/btcbridge/genesis.proto

+1
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,5 @@ message GenesisState {
1414
BlockHeader best_block_header = 2;
1515
repeated BlockHeader block_headers = 3;
1616
repeated UTXO utxos = 4;
17+
DKGRequest dkg_request= 5;
1718
}

x/btcbridge/module/genesis.go

+7-1
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,17 @@ func InitGenesis(ctx sdk.Context, k keeper.Keeper, genState types.GenesisState)
2323
k.SetBlockHeader(ctx, header)
2424
}
2525

26-
// import utxos
26+
// set utxos
2727
for _, utxo := range genState.Utxos {
2828
k.SaveUTXO(ctx, utxo)
2929
}
3030

31+
// set dkg request
32+
if genState.DkgRequest != nil {
33+
k.SetDKGRequest(ctx, genState.DkgRequest)
34+
k.SetDKGRequestID(ctx, genState.DkgRequest.Id)
35+
}
36+
3137
// sort vaults and set the latest vault version
3238
if len(genState.Params.Vaults) > 0 {
3339
vaults := genState.Params.Vaults

x/btcbridge/module/genesis_test.go

+3-7
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import (
1111
"github.com/btcsuite/btcd/wire"
1212
keepertest "github.com/sideprotocol/side/testutil/keeper"
1313
"github.com/sideprotocol/side/testutil/nullify"
14-
"github.com/sideprotocol/side/x/btcbridge/module"
14+
btcbridge "github.com/sideprotocol/side/x/btcbridge/module"
1515
"github.com/sideprotocol/side/x/btcbridge/types"
1616
"github.com/stretchr/testify/require"
1717
)
@@ -20,14 +20,10 @@ func TestGenesis(t *testing.T) {
2020
mnemonic := "sunny bamboo garlic fold reopen exile letter addict forest vessel square lunar shell number deliver cruise calm artist fire just kangaroo suit wheel extend"
2121
println(mnemonic)
2222

23-
genesisState := types.GenesisState{
24-
Params: types.DefaultParams(),
25-
26-
// this line is used by starport scaffolding # genesis/test/state
27-
}
23+
genesisState := types.DefaultGenesis()
2824

2925
k, ctx := keepertest.BtcBridgeKeeper(t)
30-
btcbridge.InitGenesis(ctx, *k, genesisState)
26+
btcbridge.InitGenesis(ctx, *k, *genesisState)
3127
got := btcbridge.ExportGenesis(ctx, *k)
3228
require.NotNil(t, got)
3329

x/btcbridge/types/genesis.go

+12
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package types
33
import (
44
"github.com/btcsuite/btcd/chaincfg"
55

6+
errorsmod "cosmossdk.io/errors"
67
sdk "github.com/cosmos/cosmos-sdk/types"
78
)
89

@@ -72,6 +73,7 @@ func DefaultGenesis() *GenesisState {
7273
BestBlockHeader: DefaultBestBlockHeader(),
7374
BlockHeaders: []*BlockHeader{},
7475
Utxos: []*UTXO{},
76+
DkgRequest: nil,
7577
}
7678
}
7779

@@ -81,10 +83,20 @@ func (gs GenesisState) Validate() error {
8183
// this line is used by starport scaffolding # genesis/types/validate
8284

8385
// validate the best block header
86+
if gs.BestBlockHeader == nil {
87+
return errorsmod.Wrap(ErrInvalidBlockHeader, "best block header can not be empty")
88+
}
8489
if err := gs.BestBlockHeader.Validate(); err != nil {
8590
return err
8691
}
8792

93+
// validate block headers
94+
if len(gs.BlockHeaders) != 0 {
95+
if err := BlockHeaders(gs.BlockHeaders).Validate(); err != nil {
96+
return err
97+
}
98+
}
99+
88100
// validate params
89101
return gs.Params.Validate()
90102
}

0 commit comments

Comments
 (0)