Skip to content

Commit 57df4d8

Browse files
committed
Fix tx trigger updating
1 parent 0bd3f2f commit 57df4d8

File tree

1 file changed

+32
-6
lines changed

1 file changed

+32
-6
lines changed

rolling-shutter/keyperimpl/gnosis/keyper.go

Lines changed: 32 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package gnosis
33
import (
44
"bytes"
55
"context"
6+
"fmt"
67
"math"
78

89
"github.com/ethereum/go-ethereum/common"
@@ -17,6 +18,7 @@ import (
1718

1819
obskeyper "github.com/shutter-network/rolling-shutter/rolling-shutter/chainobserver/db/keyper"
1920
"github.com/shutter-network/rolling-shutter/rolling-shutter/keyper"
21+
corekeyperdatabase "github.com/shutter-network/rolling-shutter/rolling-shutter/keyper/database"
2022
"github.com/shutter-network/rolling-shutter/rolling-shutter/keyper/epochkghandler"
2123
"github.com/shutter-network/rolling-shutter/rolling-shutter/keyper/kprconfig"
2224
"github.com/shutter-network/rolling-shutter/rolling-shutter/keyperimpl/gnosis/database"
@@ -27,6 +29,7 @@ import (
2729
"github.com/shutter-network/rolling-shutter/rolling-shutter/medley/db"
2830
"github.com/shutter-network/rolling-shutter/rolling-shutter/medley/identitypreimage"
2931
"github.com/shutter-network/rolling-shutter/rolling-shutter/medley/service"
32+
"github.com/shutter-network/rolling-shutter/rolling-shutter/p2p"
3033
"github.com/shutter-network/rolling-shutter/rolling-shutter/shdb"
3134
)
3235

@@ -208,6 +211,8 @@ func (kpr *Keyper) newKeyperSet(ctx context.Context, ev *syncevent.KeyperSet) er
208211
log.Info().
209212
Uint64("activation-block", ev.ActivationBlock).
210213
Uint64("eon", ev.Eon).
214+
Int("num-members", len(ev.Members)).
215+
Uint64("threshold", ev.Threshold).
211216
Bool("is-member", isMember).
212217
Msg("new keyper set added")
213218

@@ -251,11 +256,23 @@ func (kpr *Keyper) newEonPublicKey(_ context.Context, pubKey keyper.EonPublicKey
251256
}
252257

253258
func (kpr *Keyper) triggerDecryption(ctx context.Context, ev *syncevent.LatestBlock, keyperSet *obskeyper.KeyperSet) error {
254-
queries := database.New(kpr.dbpool)
255-
eon := keyperSet.KeyperConfigIndex
259+
fmt.Println("")
260+
fmt.Println("")
261+
fmt.Println(ev.Number.Int64())
262+
fmt.Println("")
263+
fmt.Println("")
264+
gnosisKeyperDB := database.New(kpr.dbpool)
265+
coreKeyperDB := corekeyperdatabase.New(kpr.dbpool)
266+
267+
eonStruct, err := coreKeyperDB.GetEonForBlockNumber(ctx, ev.Number.Int64())
268+
if err != nil {
269+
return errors.Wrapf(err, "failed to query eon for block number %d from db", ev.Number.Int64())
270+
}
271+
eon := eonStruct.Eon
272+
256273
var txPointer int64
257274
var txPointerAge int64
258-
txPointerDB, err := queries.GetTxPointer(ctx, eon)
275+
txPointerDB, err := gnosisKeyperDB.GetTxPointer(ctx, eon)
259276
if err == pgx.ErrNoRows {
260277
txPointer = 0
261278
txPointerAge = ev.Number.Int64() - keyperSet.ActivationBlockNumber + 1
@@ -289,7 +306,7 @@ func (kpr *Keyper) triggerDecryption(ctx context.Context, ev *syncevent.LatestBl
289306
Int64("tx-pointer", txPointer).
290307
Int64("tx-pointer-age", txPointerAge).
291308
Msg("outdated tx pointer")
292-
txPointer, err = queries.GetTransactionSubmittedEventCount(ctx, keyperSet.KeyperConfigIndex)
309+
txPointer, err = gnosisKeyperDB.GetTransactionSubmittedEventCount(ctx, keyperSet.KeyperConfigIndex)
293310
if err == pgx.ErrNoRows {
294311
txPointer = 0
295312
} else if err != nil {
@@ -301,13 +318,22 @@ func (kpr *Keyper) triggerDecryption(ctx context.Context, ev *syncevent.LatestBl
301318
if err != nil {
302319
return err
303320
}
321+
err = gnosisKeyperDB.SetCurrentDecryptionTrigger(ctx, database.SetCurrentDecryptionTriggerParams{
322+
Eon: eon,
323+
Block: ev.Number.Int64(),
324+
TxPointer: txPointer,
325+
IdentitiesHash: computeIdentitiesHash(identityPreimages),
326+
})
327+
if err != nil {
328+
return errors.Wrap(err, "failed to insert published tx pointer into db")
329+
}
304330
trigger := epochkghandler.DecryptionTrigger{
305-
BlockNumber: uint64(ev.Number.Int64() + 1),
331+
BlockNumber: ev.Number.Uint64(),
306332
IdentityPreimages: identityPreimages,
307333
}
308334
event := broker.NewEvent(&trigger)
309335
log.Debug().
310-
Int64("block-number", int64(trigger.BlockNumber)).
336+
Uint64("block-number", ev.Number.Uint64()).
311337
Int("num-identities", len(trigger.IdentityPreimages)).
312338
Int64("tx-pointer", txPointer).
313339
Int64("tx-pointer-age", txPointerAge).

0 commit comments

Comments
 (0)