Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 11 additions & 12 deletions x/btcbridge/keeper/keeper_tss.go
Original file line number Diff line number Diff line change
Expand Up @@ -167,6 +167,14 @@ func (k Keeper) CompleteDKG(ctx sdk.Context, req *types.DKGCompletionRequest) er
return types.ErrDKGRequestDoesNotExist
}

if !types.ParticipantExists(dkgReq.Participants, req.Validator) {
return types.ErrUnauthorizedDKGCompletionRequest
}

if k.HasDKGCompletionRequest(ctx, req.Id, req.Validator) {
return types.ErrDKGCompletionRequestExists
}

if dkgReq.Status != types.DKGRequestStatus_DKG_REQUEST_STATUS_PENDING {
return types.ErrInvalidDKGCompletionRequest
}
Expand All @@ -175,8 +183,8 @@ func (k Keeper) CompleteDKG(ctx sdk.Context, req *types.DKGCompletionRequest) er
return types.ErrInvalidDKGCompletionRequest
}

if k.HasDKGCompletionRequest(ctx, req.Id, req.Validator) {
return types.ErrDKGCompletionRequestExists
if err := k.CheckVaults(ctx, req.Vaults); err != nil {
return err
}

validatorConsAddr, _ := sdk.ConsAddressFromHex(req.Validator)
Expand All @@ -185,14 +193,6 @@ func (k Keeper) CompleteDKG(ctx sdk.Context, req *types.DKGCompletionRequest) er
return types.ErrInvalidDKGCompletionRequest
}

if !types.ParticipantExists(dkgReq.Participants, req.Validator) {
return types.ErrUnauthorizedDKGCompletionRequest
}

if err := k.CheckVaults(ctx, req.Vaults); err != nil {
return err
}

pubKey, err := validator.ConsPubKey()
if err != nil {
return err
Expand Down Expand Up @@ -241,8 +241,7 @@ func (k Keeper) UpdateVaults(ctx sdk.Context, newVaults []string) {
k.SetParams(ctx, params)
}

// IncreaseVaultVersion increases the vault version by 1 and starts from 1
// Note: the genesis version is 0
// IncreaseVaultVersion increases the vault version by 1
func (k Keeper) IncreaseVaultVersion(ctx sdk.Context) uint64 {
store := ctx.KVStore(k.storeKey)

Expand Down
2 changes: 1 addition & 1 deletion x/btcbridge/types/keys.go
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ var (
DKGRequestIDKey = []byte{0x30} // key for the DKG request id
DKGRequestKeyPrefix = []byte{0x31} // prefix for each key to a DKG request
DKGCompletionRequestKeyPrefix = []byte{0x32} // prefix for each key to a DKG completion request
VaultVersionKey = []byte{0x33} // key for vault version; default to 0 in the genesis and increased by 1 once updated
VaultVersionKey = []byte{0x33} // key for vault version increased by 1 once updated
)

func Int64ToBytes(number uint64) []byte {
Expand Down