@@ -3,6 +3,7 @@ package gnosis
3
3
import (
4
4
"bytes"
5
5
"context"
6
+ "fmt"
6
7
"math"
7
8
8
9
"github.com/ethereum/go-ethereum/common"
@@ -17,6 +18,7 @@ import (
17
18
18
19
obskeyper "github.com/shutter-network/rolling-shutter/rolling-shutter/chainobserver/db/keyper"
19
20
"github.com/shutter-network/rolling-shutter/rolling-shutter/keyper"
21
+ corekeyperdatabase "github.com/shutter-network/rolling-shutter/rolling-shutter/keyper/database"
20
22
"github.com/shutter-network/rolling-shutter/rolling-shutter/keyper/epochkghandler"
21
23
"github.com/shutter-network/rolling-shutter/rolling-shutter/keyper/kprconfig"
22
24
"github.com/shutter-network/rolling-shutter/rolling-shutter/keyperimpl/gnosis/database"
@@ -27,6 +29,7 @@ import (
27
29
"github.com/shutter-network/rolling-shutter/rolling-shutter/medley/db"
28
30
"github.com/shutter-network/rolling-shutter/rolling-shutter/medley/identitypreimage"
29
31
"github.com/shutter-network/rolling-shutter/rolling-shutter/medley/service"
32
+ "github.com/shutter-network/rolling-shutter/rolling-shutter/p2p"
30
33
"github.com/shutter-network/rolling-shutter/rolling-shutter/shdb"
31
34
)
32
35
@@ -208,6 +211,8 @@ func (kpr *Keyper) newKeyperSet(ctx context.Context, ev *syncevent.KeyperSet) er
208
211
log .Info ().
209
212
Uint64 ("activation-block" , ev .ActivationBlock ).
210
213
Uint64 ("eon" , ev .Eon ).
214
+ Int ("num-members" , len (ev .Members )).
215
+ Uint64 ("threshold" , ev .Threshold ).
211
216
Bool ("is-member" , isMember ).
212
217
Msg ("new keyper set added" )
213
218
@@ -251,11 +256,23 @@ func (kpr *Keyper) newEonPublicKey(_ context.Context, pubKey keyper.EonPublicKey
251
256
}
252
257
253
258
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
+
256
273
var txPointer int64
257
274
var txPointerAge int64
258
- txPointerDB , err := queries .GetTxPointer (ctx , eon )
275
+ txPointerDB , err := gnosisKeyperDB .GetTxPointer (ctx , eon )
259
276
if err == pgx .ErrNoRows {
260
277
txPointer = 0
261
278
txPointerAge = ev .Number .Int64 () - keyperSet .ActivationBlockNumber + 1
@@ -289,7 +306,7 @@ func (kpr *Keyper) triggerDecryption(ctx context.Context, ev *syncevent.LatestBl
289
306
Int64 ("tx-pointer" , txPointer ).
290
307
Int64 ("tx-pointer-age" , txPointerAge ).
291
308
Msg ("outdated tx pointer" )
292
- txPointer , err = queries .GetTransactionSubmittedEventCount (ctx , keyperSet .KeyperConfigIndex )
309
+ txPointer , err = gnosisKeyperDB .GetTransactionSubmittedEventCount (ctx , keyperSet .KeyperConfigIndex )
293
310
if err == pgx .ErrNoRows {
294
311
txPointer = 0
295
312
} else if err != nil {
@@ -301,13 +318,22 @@ func (kpr *Keyper) triggerDecryption(ctx context.Context, ev *syncevent.LatestBl
301
318
if err != nil {
302
319
return err
303
320
}
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
+ }
304
330
trigger := epochkghandler.DecryptionTrigger {
305
- BlockNumber : uint64 ( ev .Number .Int64 () + 1 ),
331
+ BlockNumber : ev .Number .Uint64 ( ),
306
332
IdentityPreimages : identityPreimages ,
307
333
}
308
334
event := broker .NewEvent (& trigger )
309
335
log .Debug ().
310
- Int64 ("block-number" , int64 ( trigger . BlockNumber )).
336
+ Uint64 ("block-number" , ev . Number . Uint64 ( )).
311
337
Int ("num-identities" , len (trigger .IdentityPreimages )).
312
338
Int64 ("tx-pointer" , txPointer ).
313
339
Int64 ("tx-pointer-age" , txPointerAge ).
0 commit comments