Skip to content

Commit 2f059d7

Browse files
committed
Use correct key for dkg result
Previously, we used the eon from the p2p message as the key to query the dkg result from the db. However, the msg eon is the keyper config index. We therefore have to translate into the internal eon value.
1 parent 6914783 commit 2f059d7

File tree

4 files changed

+24
-3
lines changed

4 files changed

+24
-3
lines changed

rolling-shutter/keyper/database/keyper.sqlc.gen.go

Lines changed: 17 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

rolling-shutter/keyper/database/sql/queries/keyper.sql

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,10 @@ WHERE eon = (SELECT eon FROM eons WHERE activation_block_number <= sqlc.arg(bloc
169169
ORDER BY activation_block_number DESC, height DESC
170170
LIMIT 1);
171171

172+
-- name: GetDKGResultForKeyperConfigIndex :one
173+
SELECT * FROM dkg_result
174+
WHERE eon = (SELECT max(eon) FROM eons WHERE keyper_config_index = $1);
175+
172176
-- name: GetAllDKGResults :many
173177
SELECT * FROM dkg_result
174178
ORDER BY eon ASC;

rolling-shutter/keyper/epochkghandler/key.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ func (handler *DecryptionKeyHandler) ValidateMessage(ctx context.Context, msg p2
4343
return pubsub.ValidationReject, errors.Errorf("eon %d overflows int64", key.Eon)
4444
}
4545

46-
dkgResultDB, err := database.New(handler.dbpool).GetDKGResult(ctx, int64(key.Eon))
46+
dkgResultDB, err := database.New(handler.dbpool).GetDKGResultForKeyperConfigIndex(ctx, int64(key.Eon))
4747
if err == pgx.ErrNoRows {
4848
return pubsub.ValidationReject, errors.Errorf("no DKG result found for eon %d", key.Eon)
4949
}

rolling-shutter/keyper/epochkghandler/keyshare.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ func (handler *DecryptionKeyShareHandler) ValidateMessage(ctx context.Context, m
4646
return pubsub.ValidationReject, errors.Errorf("eon %d overflows int64", keyShare.Eon)
4747
}
4848

49-
dkgResultDB, err := database.New(handler.dbpool).GetDKGResult(ctx, int64(keyShare.Eon))
49+
dkgResultDB, err := database.New(handler.dbpool).GetDKGResultForKeyperConfigIndex(ctx, int64(keyShare.Eon))
5050
if err == pgx.ErrNoRows {
5151
return pubsub.ValidationReject, errors.Errorf("no DKG result found for eon %d", keyShare.Eon)
5252
}
@@ -122,7 +122,7 @@ func (handler *DecryptionKeyShareHandler) HandleMessage(ctx context.Context, m p
122122
}
123123

124124
// fetch dkg result from db
125-
dkgResultDB, err := db.GetDKGResult(ctx, int64(msg.Eon))
125+
dkgResultDB, err := db.GetDKGResultForKeyperConfigIndex(ctx, int64(msg.Eon))
126126
if err != nil {
127127
return nil, errors.Wrapf(err, "failed to get dkg result for eon %d from db", msg.Eon)
128128
}

0 commit comments

Comments
 (0)