@@ -40,8 +40,8 @@ var _ = Describe("contractWatcher headerSync transformer", func() {
40
40
var blockChain core.BlockChain
41
41
var headerRepository repositories.HeaderRepository
42
42
var headerID int64
43
- var ensAddr = strings .ToLower (constants .EnsContractAddress )
44
- var tusdAddr = strings .ToLower (constants .TusdContractAddress )
43
+ var ensAddr = strings .ToLower (constants .EnsContractAddress ) // 0x314159265dd8dbb310642f98f50c066173c1259b
44
+ var tusdAddr = strings .ToLower (constants .TusdContractAddress ) // 0x8dd5fbce2f6a956c3022ba3663759011dd51e73e
45
45
46
46
BeforeEach (func () {
47
47
db , blockChain = test_helpers .SetupDBandBC ()
@@ -377,6 +377,42 @@ var _ = Describe("contractWatcher headerSync transformer", func() {
377
377
Expect (transferLog .Value ).To (Equal ("2800000000000000000000" ))
378
378
})
379
379
380
+ It ("Marks header checked for a contract that has no logs at that header" , func () {
381
+ t := transformer .NewTransformer (test_helpers .ENSandTusdConfig , blockChain , db )
382
+ err = t .Init ()
383
+ Expect (err ).ToNot (HaveOccurred ())
384
+ err = t .Execute ()
385
+ Expect (err ).ToNot (HaveOccurred ())
386
+ Expect (t .Start ).To (Equal (int64 (6885702 )))
387
+
388
+ newOwnerLog := test_helpers.HeaderSyncNewOwnerLog {}
389
+ err = db .QueryRowx (fmt .Sprintf ("SELECT * FROM header_%s.newowner_event" , ensAddr )).StructScan (& newOwnerLog )
390
+ Expect (err ).ToNot (HaveOccurred ())
391
+ transferLog := test_helpers.HeaderSyncTransferLog {}
392
+ err = db .QueryRowx (fmt .Sprintf ("SELECT * FROM header_%s.transfer_event" , tusdAddr )).StructScan (& transferLog )
393
+ Expect (err ).ToNot (HaveOccurred ())
394
+ Expect (transferLog .HeaderID ).ToNot (Equal (newOwnerLog .HeaderID ))
395
+
396
+ type checkedHeader struct {
397
+ ID int64 `db:"id"`
398
+ HeaderID int64 `db:"header_id"`
399
+ NewOwner int64 `db:"newowner_0x314159265dd8dbb310642f98f50c066173c1259b"`
400
+ Transfer int64 `db:"transfer_0x8dd5fbce2f6a956c3022ba3663759011dd51e73e"`
401
+ }
402
+
403
+ transferCheckedHeader := new (checkedHeader )
404
+ err = db .QueryRowx ("SELECT * FROM public.checked_headers WHERE header_id = $1" , transferLog .HeaderID ).StructScan (transferCheckedHeader )
405
+ Expect (err ).ToNot (HaveOccurred ())
406
+ Expect (transferCheckedHeader .Transfer ).To (Equal (int64 (1 )))
407
+ Expect (transferCheckedHeader .NewOwner ).To (Equal (int64 (1 )))
408
+
409
+ newOwnerCheckedHeader := new (checkedHeader )
410
+ err = db .QueryRowx ("SELECT * FROM public.checked_headers WHERE header_id = $1" , newOwnerLog .HeaderID ).StructScan (newOwnerCheckedHeader )
411
+ Expect (err ).ToNot (HaveOccurred ())
412
+ Expect (newOwnerCheckedHeader .NewOwner ).To (Equal (int64 (1 )))
413
+ Expect (newOwnerCheckedHeader .Transfer ).To (Equal (int64 (1 )))
414
+ })
415
+
380
416
It ("Keeps track of contract-related hashes and addresses while transforming event data if they need to be used for later method polling" , func () {
381
417
var testConf config.ContractConfig
382
418
testConf = test_helpers .ENSandTusdConfig
0 commit comments