Skip to content

Commit b074f54

Browse files
committed
insert slot decryption key signatures upon receiving DecryptionKeysMessage
1 parent 8864299 commit b074f54

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed

rolling-shutter/keyperimpl/gnosis/handlers.go

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -316,6 +316,27 @@ func (h *DecryptionKeysHandler) HandleMessage(ctx context.Context, msg p2pmsg.Me
316316
if err != nil {
317317
return []p2pmsg.Message{}, errors.Wrap(err, "failed to set tx pointer")
318318
}
319+
320+
identityPreimages := []identitypreimage.IdentityPreimage{}
321+
for _, key := range keys.Keys {
322+
identityPreimage := identitypreimage.IdentityPreimage(key.Identity)
323+
identityPreimages = append(identityPreimages, identityPreimage)
324+
}
325+
identitiesHash := computeIdentitiesHash(identityPreimages)
326+
for i, keyperIndex := range extra.SignerIndices {
327+
err = gnosisDB.InsertSlotDecryptionSignature(ctx, database.InsertSlotDecryptionSignatureParams{
328+
Eon: int64(keys.Eon),
329+
Slot: int64(extra.Slot),
330+
KeyperIndex: int64(keyperIndex),
331+
TxPointer: int64(extra.TxPointer),
332+
IdentitiesHash: identitiesHash,
333+
Signature: extra.Signatures[i],
334+
})
335+
if err != nil {
336+
return []p2pmsg.Message{}, errors.Wrap(err, "failed to insert slot decryption signature")
337+
}
338+
}
339+
319340
eonString := fmt.Sprint(keys.Eon)
320341
metricsTxPointer.WithLabelValues(eonString).Set(float64(newTxPointer))
321342
metricsTxPointerAge.WithLabelValues(eonString).Set(0)

0 commit comments

Comments
 (0)