@sentio/sdk 2.39.7-rc.9 → 2.40.0-rc.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (103) hide show
  1. package/lib/aptos/codegen/types.test.js.map +1 -1
  2. package/lib/aptos/ext/coin-event.test.js.map +1 -1
  3. package/lib/aptos/ext/coin.test.js.map +1 -1
  4. package/lib/core/event-logger.test.js.map +1 -1
  5. package/lib/core/normalization.test.js.map +1 -1
  6. package/lib/core/numberish.test.js.map +1 -1
  7. package/lib/eth/account-processor.d.ts +14 -8
  8. package/lib/eth/account-processor.d.ts.map +1 -1
  9. package/lib/eth/account-processor.js +43 -21
  10. package/lib/eth/account-processor.js.map +1 -1
  11. package/lib/eth/base-processor-template.d.ts +9 -6
  12. package/lib/eth/base-processor-template.d.ts.map +1 -1
  13. package/lib/eth/base-processor-template.js +25 -12
  14. package/lib/eth/base-processor-template.js.map +1 -1
  15. package/lib/eth/base-processor.d.ts +13 -8
  16. package/lib/eth/base-processor.d.ts.map +1 -1
  17. package/lib/eth/base-processor.js +109 -28
  18. package/lib/eth/base-processor.js.map +1 -1
  19. package/lib/eth/builtin/internal/eacaggregatorproxy-processor.d.ts +32 -32
  20. package/lib/eth/builtin/internal/eacaggregatorproxy-processor.d.ts.map +1 -1
  21. package/lib/eth/builtin/internal/eacaggregatorproxy-processor.js +62 -62
  22. package/lib/eth/builtin/internal/eacaggregatorproxy-processor.js.map +1 -1
  23. package/lib/eth/builtin/internal/erc1155-processor.d.ts +17 -17
  24. package/lib/eth/builtin/internal/erc1155-processor.d.ts.map +1 -1
  25. package/lib/eth/builtin/internal/erc1155-processor.js +32 -32
  26. package/lib/eth/builtin/internal/erc1155-processor.js.map +1 -1
  27. package/lib/eth/builtin/internal/erc20-processor.d.ts +25 -25
  28. package/lib/eth/builtin/internal/erc20-processor.d.ts.map +1 -1
  29. package/lib/eth/builtin/internal/erc20-processor.js +48 -48
  30. package/lib/eth/builtin/internal/erc20-processor.js.map +1 -1
  31. package/lib/eth/builtin/internal/erc20bytes-processor.d.ts +14 -14
  32. package/lib/eth/builtin/internal/erc20bytes-processor.d.ts.map +1 -1
  33. package/lib/eth/builtin/internal/erc20bytes-processor.js +26 -26
  34. package/lib/eth/builtin/internal/erc20bytes-processor.js.map +1 -1
  35. package/lib/eth/builtin/internal/erc721-processor.d.ts +21 -21
  36. package/lib/eth/builtin/internal/erc721-processor.d.ts.map +1 -1
  37. package/lib/eth/builtin/internal/erc721-processor.js +40 -40
  38. package/lib/eth/builtin/internal/erc721-processor.js.map +1 -1
  39. package/lib/eth/builtin/internal/weth9-processor.d.ts +20 -20
  40. package/lib/eth/builtin/internal/weth9-processor.d.ts.map +1 -1
  41. package/lib/eth/builtin/internal/weth9-processor.js +38 -38
  42. package/lib/eth/builtin/internal/weth9-processor.js.map +1 -1
  43. package/lib/eth/codegen/event-handler.d.ts.map +1 -1
  44. package/lib/eth/codegen/event-handler.js +3 -2
  45. package/lib/eth/codegen/event-handler.js.map +1 -1
  46. package/lib/eth/codegen/file.d.ts.map +1 -1
  47. package/lib/eth/codegen/file.js +6 -4
  48. package/lib/eth/codegen/file.js.map +1 -1
  49. package/lib/eth/codegen/functions-handler.js +4 -3
  50. package/lib/eth/codegen/functions-handler.js.map +1 -1
  51. package/lib/eth/context.d.ts +6 -5
  52. package/lib/eth/context.d.ts.map +1 -1
  53. package/lib/eth/context.js +7 -5
  54. package/lib/eth/context.js.map +1 -1
  55. package/lib/eth/eth-plugin.d.ts +22 -10
  56. package/lib/eth/eth-plugin.d.ts.map +1 -1
  57. package/lib/eth/eth-plugin.js +105 -10
  58. package/lib/eth/eth-plugin.js.map +1 -1
  59. package/lib/eth/eth.js +1 -1
  60. package/lib/eth/eth.js.map +1 -1
  61. package/lib/eth/eth.test.js.map +1 -1
  62. package/lib/eth/generic-processor.test.js.map +1 -1
  63. package/lib/eth/index.d.ts +2 -2
  64. package/lib/eth/index.d.ts.map +1 -1
  65. package/lib/eth/index.js +2 -2
  66. package/lib/eth/index.js.map +1 -1
  67. package/lib/eth/provider.d.ts.map +1 -1
  68. package/lib/eth/provider.js +12 -18
  69. package/lib/eth/provider.js.map +1 -1
  70. package/lib/eth/provider.test.js.map +1 -1
  71. package/lib/store/convert.test.js.map +1 -1
  72. package/lib/store/schema.js +1 -1
  73. package/lib/store/store.d.ts.map +1 -1
  74. package/lib/store/store.js +2 -1
  75. package/lib/store/store.js.map +1 -1
  76. package/lib/testing/test-processor-server.d.ts +2 -1
  77. package/lib/testing/test-processor-server.d.ts.map +1 -1
  78. package/lib/testing/test-processor-server.js +3 -0
  79. package/lib/testing/test-processor-server.js.map +1 -1
  80. package/lib/utils/dex-price.test.js.map +1 -1
  81. package/lib/utils/erc20.test.js.map +1 -1
  82. package/lib/utils/price.test.js.map +1 -1
  83. package/package.json +6 -7
  84. package/src/eth/account-processor.ts +93 -22
  85. package/src/eth/base-processor-template.ts +60 -14
  86. package/src/eth/base-processor.ts +181 -37
  87. package/src/eth/builtin/internal/eacaggregatorproxy-processor.ts +302 -62
  88. package/src/eth/builtin/internal/erc1155-processor.ts +137 -32
  89. package/src/eth/builtin/internal/erc20-processor.ts +235 -48
  90. package/src/eth/builtin/internal/erc20bytes-processor.ts +124 -26
  91. package/src/eth/builtin/internal/erc721-processor.ts +191 -40
  92. package/src/eth/builtin/internal/weth9-processor.ts +170 -38
  93. package/src/eth/codegen/event-handler.ts +3 -2
  94. package/src/eth/codegen/file.ts +6 -4
  95. package/src/eth/codegen/functions-handler.ts +4 -3
  96. package/src/eth/context.ts +23 -7
  97. package/src/eth/eth-plugin.ts +142 -14
  98. package/src/eth/eth.ts +1 -1
  99. package/src/eth/index.ts +2 -2
  100. package/src/eth/provider.ts +15 -19
  101. package/src/store/schema.ts +1 -1
  102. package/src/store/store.ts +22 -13
  103. package/src/testing/test-processor-server.ts +9 -0
@@ -20,6 +20,7 @@ import {
20
20
  TypedCallTrace,
21
21
  EthContext,
22
22
  EthFetchConfig,
23
+ PreprocessResult,
23
24
  } from "@sentio/sdk/eth";
24
25
 
25
26
  import { ERC20Bytes__factory } from "./index.js";
@@ -316,7 +317,11 @@ export class ERC20BytesProcessor extends BaseProcessor<
316
317
  onEventApproval(
317
318
  handler: (event: ApprovalEvent, ctx: ERC20BytesContext) => void,
318
319
  filter?: ApprovalEventFilter | ApprovalEventFilter[],
319
- fetchConfig?: Partial<EthFetchConfig>
320
+ fetchConfig?: Partial<EthFetchConfig>,
321
+ preprocessHandler?: (
322
+ event: ApprovalEvent,
323
+ ctx: ERC20BytesContext
324
+ ) => Promise<PreprocessResult>
320
325
  ): this {
321
326
  if (!filter) {
322
327
  filter = templateContract.filters["Approval(address,address,uint256)"](
@@ -325,13 +330,17 @@ export class ERC20BytesProcessor extends BaseProcessor<
325
330
  null
326
331
  );
327
332
  }
328
- return super.onEthEvent(handler, filter!, fetchConfig);
333
+ return super.onEthEvent(handler, filter!, fetchConfig, preprocessHandler);
329
334
  }
330
335
 
331
336
  onEventTransfer(
332
337
  handler: (event: TransferEvent, ctx: ERC20BytesContext) => void,
333
338
  filter?: TransferEventFilter | TransferEventFilter[],
334
- fetchConfig?: Partial<EthFetchConfig>
339
+ fetchConfig?: Partial<EthFetchConfig>,
340
+ preprocessHandler?: (
341
+ event: TransferEvent,
342
+ ctx: ERC20BytesContext
343
+ ) => Promise<PreprocessResult>
335
344
  ): this {
336
345
  if (!filter) {
337
346
  filter = templateContract.filters["Transfer(address,address,uint256)"](
@@ -340,70 +349,151 @@ export class ERC20BytesProcessor extends BaseProcessor<
340
349
  null
341
350
  );
342
351
  }
343
- return super.onEthEvent(handler, filter!, fetchConfig);
352
+ return super.onEthEvent(handler, filter!, fetchConfig, preprocessHandler);
344
353
  }
345
354
 
346
355
  onCallName(
347
356
  handler: (call: NameCallTrace, ctx: ERC20BytesContext) => void,
348
- fetchConfig?: Partial<EthFetchConfig>
357
+ fetchConfig?: Partial<EthFetchConfig>,
358
+ preprocessHandler?: (
359
+ call: NameCallTrace,
360
+ ctx: ERC20BytesContext
361
+ ) => Promise<PreprocessResult>
349
362
  ): this {
350
- return super.onEthTrace("0x06fdde03", handler as any, fetchConfig);
363
+ return super.onEthTrace(
364
+ "0x06fdde03",
365
+ handler as any,
366
+ fetchConfig,
367
+ preprocessHandler
368
+ );
351
369
  }
352
370
 
353
371
  onCallApprove(
354
372
  handler: (call: ApproveCallTrace, ctx: ERC20BytesContext) => void,
355
- fetchConfig?: Partial<EthFetchConfig>
373
+ fetchConfig?: Partial<EthFetchConfig>,
374
+ preprocessHandler?: (
375
+ call: ApproveCallTrace,
376
+ ctx: ERC20BytesContext
377
+ ) => Promise<PreprocessResult>
356
378
  ): this {
357
- return super.onEthTrace("0x095ea7b3", handler as any, fetchConfig);
379
+ return super.onEthTrace(
380
+ "0x095ea7b3",
381
+ handler as any,
382
+ fetchConfig,
383
+ preprocessHandler
384
+ );
358
385
  }
359
386
 
360
387
  onCallTotalSupply(
361
388
  handler: (call: TotalSupplyCallTrace, ctx: ERC20BytesContext) => void,
362
- fetchConfig?: Partial<EthFetchConfig>
389
+ fetchConfig?: Partial<EthFetchConfig>,
390
+ preprocessHandler?: (
391
+ call: TotalSupplyCallTrace,
392
+ ctx: ERC20BytesContext
393
+ ) => Promise<PreprocessResult>
363
394
  ): this {
364
- return super.onEthTrace("0x18160ddd", handler as any, fetchConfig);
395
+ return super.onEthTrace(
396
+ "0x18160ddd",
397
+ handler as any,
398
+ fetchConfig,
399
+ preprocessHandler
400
+ );
365
401
  }
366
402
 
367
403
  onCallTransferFrom(
368
404
  handler: (call: TransferFromCallTrace, ctx: ERC20BytesContext) => void,
369
- fetchConfig?: Partial<EthFetchConfig>
405
+ fetchConfig?: Partial<EthFetchConfig>,
406
+ preprocessHandler?: (
407
+ call: TransferFromCallTrace,
408
+ ctx: ERC20BytesContext
409
+ ) => Promise<PreprocessResult>
370
410
  ): this {
371
- return super.onEthTrace("0x23b872dd", handler as any, fetchConfig);
411
+ return super.onEthTrace(
412
+ "0x23b872dd",
413
+ handler as any,
414
+ fetchConfig,
415
+ preprocessHandler
416
+ );
372
417
  }
373
418
 
374
419
  onCallDecimals(
375
420
  handler: (call: DecimalsCallTrace, ctx: ERC20BytesContext) => void,
376
- fetchConfig?: Partial<EthFetchConfig>
421
+ fetchConfig?: Partial<EthFetchConfig>,
422
+ preprocessHandler?: (
423
+ call: DecimalsCallTrace,
424
+ ctx: ERC20BytesContext
425
+ ) => Promise<PreprocessResult>
377
426
  ): this {
378
- return super.onEthTrace("0x313ce567", handler as any, fetchConfig);
427
+ return super.onEthTrace(
428
+ "0x313ce567",
429
+ handler as any,
430
+ fetchConfig,
431
+ preprocessHandler
432
+ );
379
433
  }
380
434
 
381
435
  onCallBalanceOf(
382
436
  handler: (call: BalanceOfCallTrace, ctx: ERC20BytesContext) => void,
383
- fetchConfig?: Partial<EthFetchConfig>
437
+ fetchConfig?: Partial<EthFetchConfig>,
438
+ preprocessHandler?: (
439
+ call: BalanceOfCallTrace,
440
+ ctx: ERC20BytesContext
441
+ ) => Promise<PreprocessResult>
384
442
  ): this {
385
- return super.onEthTrace("0x70a08231", handler as any, fetchConfig);
443
+ return super.onEthTrace(
444
+ "0x70a08231",
445
+ handler as any,
446
+ fetchConfig,
447
+ preprocessHandler
448
+ );
386
449
  }
387
450
 
388
451
  onCallSymbol(
389
452
  handler: (call: SymbolCallTrace, ctx: ERC20BytesContext) => void,
390
- fetchConfig?: Partial<EthFetchConfig>
453
+ fetchConfig?: Partial<EthFetchConfig>,
454
+ preprocessHandler?: (
455
+ call: SymbolCallTrace,
456
+ ctx: ERC20BytesContext
457
+ ) => Promise<PreprocessResult>
391
458
  ): this {
392
- return super.onEthTrace("0x95d89b41", handler as any, fetchConfig);
459
+ return super.onEthTrace(
460
+ "0x95d89b41",
461
+ handler as any,
462
+ fetchConfig,
463
+ preprocessHandler
464
+ );
393
465
  }
394
466
 
395
467
  onCallTransfer(
396
468
  handler: (call: TransferCallTrace, ctx: ERC20BytesContext) => void,
397
- fetchConfig?: Partial<EthFetchConfig>
469
+ fetchConfig?: Partial<EthFetchConfig>,
470
+ preprocessHandler?: (
471
+ call: TransferCallTrace,
472
+ ctx: ERC20BytesContext
473
+ ) => Promise<PreprocessResult>
398
474
  ): this {
399
- return super.onEthTrace("0xa9059cbb", handler as any, fetchConfig);
475
+ return super.onEthTrace(
476
+ "0xa9059cbb",
477
+ handler as any,
478
+ fetchConfig,
479
+ preprocessHandler
480
+ );
400
481
  }
401
482
 
402
483
  onCallAllowance(
403
484
  handler: (call: AllowanceCallTrace, ctx: ERC20BytesContext) => void,
404
- fetchConfig?: Partial<EthFetchConfig>
485
+ fetchConfig?: Partial<EthFetchConfig>,
486
+ preprocessHandler?: (
487
+ call: AllowanceCallTrace,
488
+ ctx: ERC20BytesContext
489
+ ) => Promise<PreprocessResult>
405
490
  ): this {
406
- return super.onEthTrace("0xdd62ed3e", handler as any, fetchConfig);
491
+ return super.onEthTrace(
492
+ "0xdd62ed3e",
493
+ handler as any,
494
+ fetchConfig,
495
+ preprocessHandler
496
+ );
407
497
  }
408
498
 
409
499
  public static filters = {
@@ -471,7 +561,11 @@ export class ERC20BytesProcessorTemplate extends BaseProcessorTemplate<
471
561
  onEventApproval(
472
562
  handler: (event: ApprovalEvent, ctx: ERC20BytesContext) => void,
473
563
  filter?: ApprovalEventFilter | ApprovalEventFilter[],
474
- fetchConfig?: Partial<EthFetchConfig>
564
+ fetchConfig?: Partial<EthFetchConfig>,
565
+ preprocessHandler?: (
566
+ event: ApprovalEvent,
567
+ ctx: ERC20BytesContext
568
+ ) => Promise<PreprocessResult>
475
569
  ): this {
476
570
  if (!filter) {
477
571
  filter = templateContract.filters["Approval(address,address,uint256)"](
@@ -480,13 +574,17 @@ export class ERC20BytesProcessorTemplate extends BaseProcessorTemplate<
480
574
  null
481
575
  );
482
576
  }
483
- return super.onEthEvent(handler, filter!, fetchConfig);
577
+ return super.onEthEvent(handler, filter!, fetchConfig, preprocessHandler);
484
578
  }
485
579
 
486
580
  onEventTransfer(
487
581
  handler: (event: TransferEvent, ctx: ERC20BytesContext) => void,
488
582
  filter?: TransferEventFilter | TransferEventFilter[],
489
- fetchConfig?: Partial<EthFetchConfig>
583
+ fetchConfig?: Partial<EthFetchConfig>,
584
+ preprocessHandler?: (
585
+ event: TransferEvent,
586
+ ctx: ERC20BytesContext
587
+ ) => Promise<PreprocessResult>
490
588
  ): this {
491
589
  if (!filter) {
492
590
  filter = templateContract.filters["Transfer(address,address,uint256)"](
@@ -495,7 +593,7 @@ export class ERC20BytesProcessorTemplate extends BaseProcessorTemplate<
495
593
  null
496
594
  );
497
595
  }
498
- return super.onEthEvent(handler, filter!, fetchConfig);
596
+ return super.onEthEvent(handler, filter!, fetchConfig, preprocessHandler);
499
597
  }
500
598
  }
501
599
 
@@ -20,6 +20,7 @@ import {
20
20
  TypedCallTrace,
21
21
  EthContext,
22
22
  EthFetchConfig,
23
+ PreprocessResult,
23
24
  } from "@sentio/sdk/eth";
24
25
 
25
26
  import { ERC721__factory } from "./index.js";
@@ -506,7 +507,11 @@ export class ERC721Processor extends BaseProcessor<
506
507
  onEventApproval(
507
508
  handler: (event: ApprovalEvent, ctx: ERC721Context) => void,
508
509
  filter?: ApprovalEventFilter | ApprovalEventFilter[],
509
- fetchConfig?: Partial<EthFetchConfig>
510
+ fetchConfig?: Partial<EthFetchConfig>,
511
+ preprocessHandler?: (
512
+ event: ApprovalEvent,
513
+ ctx: ERC721Context
514
+ ) => Promise<PreprocessResult>
510
515
  ): this {
511
516
  if (!filter) {
512
517
  filter = templateContract.filters["Approval(address,address,uint256)"](
@@ -515,13 +520,17 @@ export class ERC721Processor extends BaseProcessor<
515
520
  null
516
521
  );
517
522
  }
518
- return super.onEthEvent(handler, filter!, fetchConfig);
523
+ return super.onEthEvent(handler, filter!, fetchConfig, preprocessHandler);
519
524
  }
520
525
 
521
526
  onEventApprovalForAll(
522
527
  handler: (event: ApprovalForAllEvent, ctx: ERC721Context) => void,
523
528
  filter?: ApprovalForAllEventFilter | ApprovalForAllEventFilter[],
524
- fetchConfig?: Partial<EthFetchConfig>
529
+ fetchConfig?: Partial<EthFetchConfig>,
530
+ preprocessHandler?: (
531
+ event: ApprovalForAllEvent,
532
+ ctx: ERC721Context
533
+ ) => Promise<PreprocessResult>
525
534
  ): this {
526
535
  if (!filter) {
527
536
  filter = templateContract.filters["ApprovalForAll(address,address,bool)"](
@@ -530,13 +539,17 @@ export class ERC721Processor extends BaseProcessor<
530
539
  null
531
540
  );
532
541
  }
533
- return super.onEthEvent(handler, filter!, fetchConfig);
542
+ return super.onEthEvent(handler, filter!, fetchConfig, preprocessHandler);
534
543
  }
535
544
 
536
545
  onEventTransfer(
537
546
  handler: (event: TransferEvent, ctx: ERC721Context) => void,
538
547
  filter?: TransferEventFilter | TransferEventFilter[],
539
- fetchConfig?: Partial<EthFetchConfig>
548
+ fetchConfig?: Partial<EthFetchConfig>,
549
+ preprocessHandler?: (
550
+ event: TransferEvent,
551
+ ctx: ERC721Context
552
+ ) => Promise<PreprocessResult>
540
553
  ): this {
541
554
  if (!filter) {
542
555
  filter = templateContract.filters["Transfer(address,address,uint256)"](
@@ -545,56 +558,119 @@ export class ERC721Processor extends BaseProcessor<
545
558
  null
546
559
  );
547
560
  }
548
- return super.onEthEvent(handler, filter!, fetchConfig);
561
+ return super.onEthEvent(handler, filter!, fetchConfig, preprocessHandler);
549
562
  }
550
563
 
551
564
  onCallApprove(
552
565
  handler: (call: ApproveCallTrace, ctx: ERC721Context) => void,
553
- fetchConfig?: Partial<EthFetchConfig>
566
+ fetchConfig?: Partial<EthFetchConfig>,
567
+ preprocessHandler?: (
568
+ call: ApproveCallTrace,
569
+ ctx: ERC721Context
570
+ ) => Promise<PreprocessResult>
554
571
  ): this {
555
- return super.onEthTrace("0x095ea7b3", handler as any, fetchConfig);
572
+ return super.onEthTrace(
573
+ "0x095ea7b3",
574
+ handler as any,
575
+ fetchConfig,
576
+ preprocessHandler
577
+ );
556
578
  }
557
579
 
558
580
  onCallTotalSupply(
559
581
  handler: (call: TotalSupplyCallTrace, ctx: ERC721Context) => void,
560
- fetchConfig?: Partial<EthFetchConfig>
582
+ fetchConfig?: Partial<EthFetchConfig>,
583
+ preprocessHandler?: (
584
+ call: TotalSupplyCallTrace,
585
+ ctx: ERC721Context
586
+ ) => Promise<PreprocessResult>
561
587
  ): this {
562
- return super.onEthTrace("0x18160ddd", handler as any, fetchConfig);
588
+ return super.onEthTrace(
589
+ "0x18160ddd",
590
+ handler as any,
591
+ fetchConfig,
592
+ preprocessHandler
593
+ );
563
594
  }
564
595
 
565
596
  onCallBalanceOf(
566
597
  handler: (call: BalanceOfCallTrace, ctx: ERC721Context) => void,
567
- fetchConfig?: Partial<EthFetchConfig>
598
+ fetchConfig?: Partial<EthFetchConfig>,
599
+ preprocessHandler?: (
600
+ call: BalanceOfCallTrace,
601
+ ctx: ERC721Context
602
+ ) => Promise<PreprocessResult>
568
603
  ): this {
569
- return super.onEthTrace("0x70a08231", handler as any, fetchConfig);
604
+ return super.onEthTrace(
605
+ "0x70a08231",
606
+ handler as any,
607
+ fetchConfig,
608
+ preprocessHandler
609
+ );
570
610
  }
571
611
 
572
612
  onCallGetApproved(
573
613
  handler: (call: GetApprovedCallTrace, ctx: ERC721Context) => void,
574
- fetchConfig?: Partial<EthFetchConfig>
614
+ fetchConfig?: Partial<EthFetchConfig>,
615
+ preprocessHandler?: (
616
+ call: GetApprovedCallTrace,
617
+ ctx: ERC721Context
618
+ ) => Promise<PreprocessResult>
575
619
  ): this {
576
- return super.onEthTrace("0x081812fc", handler as any, fetchConfig);
620
+ return super.onEthTrace(
621
+ "0x081812fc",
622
+ handler as any,
623
+ fetchConfig,
624
+ preprocessHandler
625
+ );
577
626
  }
578
627
 
579
628
  onCallIsApprovedForAll(
580
629
  handler: (call: IsApprovedForAllCallTrace, ctx: ERC721Context) => void,
581
- fetchConfig?: Partial<EthFetchConfig>
630
+ fetchConfig?: Partial<EthFetchConfig>,
631
+ preprocessHandler?: (
632
+ call: IsApprovedForAllCallTrace,
633
+ ctx: ERC721Context
634
+ ) => Promise<PreprocessResult>
582
635
  ): this {
583
- return super.onEthTrace("0xe985e9c5", handler as any, fetchConfig);
636
+ return super.onEthTrace(
637
+ "0xe985e9c5",
638
+ handler as any,
639
+ fetchConfig,
640
+ preprocessHandler
641
+ );
584
642
  }
585
643
 
586
644
  onCallName(
587
645
  handler: (call: NameCallTrace, ctx: ERC721Context) => void,
588
- fetchConfig?: Partial<EthFetchConfig>
646
+ fetchConfig?: Partial<EthFetchConfig>,
647
+ preprocessHandler?: (
648
+ call: NameCallTrace,
649
+ ctx: ERC721Context
650
+ ) => Promise<PreprocessResult>
589
651
  ): this {
590
- return super.onEthTrace("0x06fdde03", handler as any, fetchConfig);
652
+ return super.onEthTrace(
653
+ "0x06fdde03",
654
+ handler as any,
655
+ fetchConfig,
656
+ preprocessHandler
657
+ );
591
658
  }
592
659
 
593
660
  onCallOwnerOf(
594
661
  handler: (call: OwnerOfCallTrace, ctx: ERC721Context) => void,
595
- fetchConfig?: Partial<EthFetchConfig>
662
+ fetchConfig?: Partial<EthFetchConfig>,
663
+ preprocessHandler?: (
664
+ call: OwnerOfCallTrace,
665
+ ctx: ERC721Context
666
+ ) => Promise<PreprocessResult>
596
667
  ): this {
597
- return super.onEthTrace("0x6352211e", handler as any, fetchConfig);
668
+ return super.onEthTrace(
669
+ "0x6352211e",
670
+ handler as any,
671
+ fetchConfig,
672
+ preprocessHandler
673
+ );
598
674
  }
599
675
 
600
676
  onCallSafeTransferFrom_address_address_uint256(
@@ -602,9 +678,18 @@ export class ERC721Processor extends BaseProcessor<
602
678
  call: SafeTransferFrom_address_address_uint256CallTrace,
603
679
  ctx: ERC721Context
604
680
  ) => void,
605
- fetchConfig?: Partial<EthFetchConfig>
681
+ fetchConfig?: Partial<EthFetchConfig>,
682
+ preprocessHandler?: (
683
+ call: SafeTransferFrom_address_address_uint256CallTrace,
684
+ ctx: ERC721Context
685
+ ) => Promise<PreprocessResult>
606
686
  ): this {
607
- return super.onEthTrace("0x42842e0e", handler as any, fetchConfig);
687
+ return super.onEthTrace(
688
+ "0x42842e0e",
689
+ handler as any,
690
+ fetchConfig,
691
+ preprocessHandler
692
+ );
608
693
  }
609
694
 
610
695
  onCallSafeTransferFrom_address_address_uint256_bytes(
@@ -612,44 +697,98 @@ export class ERC721Processor extends BaseProcessor<
612
697
  call: SafeTransferFrom_address_address_uint256_bytesCallTrace,
613
698
  ctx: ERC721Context
614
699
  ) => void,
615
- fetchConfig?: Partial<EthFetchConfig>
700
+ fetchConfig?: Partial<EthFetchConfig>,
701
+ preprocessHandler?: (
702
+ call: SafeTransferFrom_address_address_uint256_bytesCallTrace,
703
+ ctx: ERC721Context
704
+ ) => Promise<PreprocessResult>
616
705
  ): this {
617
- return super.onEthTrace("0xb88d4fde", handler as any, fetchConfig);
706
+ return super.onEthTrace(
707
+ "0xb88d4fde",
708
+ handler as any,
709
+ fetchConfig,
710
+ preprocessHandler
711
+ );
618
712
  }
619
713
 
620
714
  onCallSetApprovalForAll(
621
715
  handler: (call: SetApprovalForAllCallTrace, ctx: ERC721Context) => void,
622
- fetchConfig?: Partial<EthFetchConfig>
716
+ fetchConfig?: Partial<EthFetchConfig>,
717
+ preprocessHandler?: (
718
+ call: SetApprovalForAllCallTrace,
719
+ ctx: ERC721Context
720
+ ) => Promise<PreprocessResult>
623
721
  ): this {
624
- return super.onEthTrace("0xa22cb465", handler as any, fetchConfig);
722
+ return super.onEthTrace(
723
+ "0xa22cb465",
724
+ handler as any,
725
+ fetchConfig,
726
+ preprocessHandler
727
+ );
625
728
  }
626
729
 
627
730
  onCallSupportsInterface(
628
731
  handler: (call: SupportsInterfaceCallTrace, ctx: ERC721Context) => void,
629
- fetchConfig?: Partial<EthFetchConfig>
732
+ fetchConfig?: Partial<EthFetchConfig>,
733
+ preprocessHandler?: (
734
+ call: SupportsInterfaceCallTrace,
735
+ ctx: ERC721Context
736
+ ) => Promise<PreprocessResult>
630
737
  ): this {
631
- return super.onEthTrace("0x01ffc9a7", handler as any, fetchConfig);
738
+ return super.onEthTrace(
739
+ "0x01ffc9a7",
740
+ handler as any,
741
+ fetchConfig,
742
+ preprocessHandler
743
+ );
632
744
  }
633
745
 
634
746
  onCallSymbol(
635
747
  handler: (call: SymbolCallTrace, ctx: ERC721Context) => void,
636
- fetchConfig?: Partial<EthFetchConfig>
748
+ fetchConfig?: Partial<EthFetchConfig>,
749
+ preprocessHandler?: (
750
+ call: SymbolCallTrace,
751
+ ctx: ERC721Context
752
+ ) => Promise<PreprocessResult>
637
753
  ): this {
638
- return super.onEthTrace("0x95d89b41", handler as any, fetchConfig);
754
+ return super.onEthTrace(
755
+ "0x95d89b41",
756
+ handler as any,
757
+ fetchConfig,
758
+ preprocessHandler
759
+ );
639
760
  }
640
761
 
641
762
  onCallTokenURI(
642
763
  handler: (call: TokenURICallTrace, ctx: ERC721Context) => void,
643
- fetchConfig?: Partial<EthFetchConfig>
764
+ fetchConfig?: Partial<EthFetchConfig>,
765
+ preprocessHandler?: (
766
+ call: TokenURICallTrace,
767
+ ctx: ERC721Context
768
+ ) => Promise<PreprocessResult>
644
769
  ): this {
645
- return super.onEthTrace("0xc87b56dd", handler as any, fetchConfig);
770
+ return super.onEthTrace(
771
+ "0xc87b56dd",
772
+ handler as any,
773
+ fetchConfig,
774
+ preprocessHandler
775
+ );
646
776
  }
647
777
 
648
778
  onCallTransferFrom(
649
779
  handler: (call: TransferFromCallTrace, ctx: ERC721Context) => void,
650
- fetchConfig?: Partial<EthFetchConfig>
780
+ fetchConfig?: Partial<EthFetchConfig>,
781
+ preprocessHandler?: (
782
+ call: TransferFromCallTrace,
783
+ ctx: ERC721Context
784
+ ) => Promise<PreprocessResult>
651
785
  ): this {
652
- return super.onEthTrace("0x23b872dd", handler as any, fetchConfig);
786
+ return super.onEthTrace(
787
+ "0x23b872dd",
788
+ handler as any,
789
+ fetchConfig,
790
+ preprocessHandler
791
+ );
653
792
  }
654
793
 
655
794
  public static filters = {
@@ -725,7 +864,11 @@ export class ERC721ProcessorTemplate extends BaseProcessorTemplate<
725
864
  onEventApproval(
726
865
  handler: (event: ApprovalEvent, ctx: ERC721Context) => void,
727
866
  filter?: ApprovalEventFilter | ApprovalEventFilter[],
728
- fetchConfig?: Partial<EthFetchConfig>
867
+ fetchConfig?: Partial<EthFetchConfig>,
868
+ preprocessHandler?: (
869
+ event: ApprovalEvent,
870
+ ctx: ERC721Context
871
+ ) => Promise<PreprocessResult>
729
872
  ): this {
730
873
  if (!filter) {
731
874
  filter = templateContract.filters["Approval(address,address,uint256)"](
@@ -734,13 +877,17 @@ export class ERC721ProcessorTemplate extends BaseProcessorTemplate<
734
877
  null
735
878
  );
736
879
  }
737
- return super.onEthEvent(handler, filter!, fetchConfig);
880
+ return super.onEthEvent(handler, filter!, fetchConfig, preprocessHandler);
738
881
  }
739
882
 
740
883
  onEventApprovalForAll(
741
884
  handler: (event: ApprovalForAllEvent, ctx: ERC721Context) => void,
742
885
  filter?: ApprovalForAllEventFilter | ApprovalForAllEventFilter[],
743
- fetchConfig?: Partial<EthFetchConfig>
886
+ fetchConfig?: Partial<EthFetchConfig>,
887
+ preprocessHandler?: (
888
+ event: ApprovalForAllEvent,
889
+ ctx: ERC721Context
890
+ ) => Promise<PreprocessResult>
744
891
  ): this {
745
892
  if (!filter) {
746
893
  filter = templateContract.filters["ApprovalForAll(address,address,bool)"](
@@ -749,13 +896,17 @@ export class ERC721ProcessorTemplate extends BaseProcessorTemplate<
749
896
  null
750
897
  );
751
898
  }
752
- return super.onEthEvent(handler, filter!, fetchConfig);
899
+ return super.onEthEvent(handler, filter!, fetchConfig, preprocessHandler);
753
900
  }
754
901
 
755
902
  onEventTransfer(
756
903
  handler: (event: TransferEvent, ctx: ERC721Context) => void,
757
904
  filter?: TransferEventFilter | TransferEventFilter[],
758
- fetchConfig?: Partial<EthFetchConfig>
905
+ fetchConfig?: Partial<EthFetchConfig>,
906
+ preprocessHandler?: (
907
+ event: TransferEvent,
908
+ ctx: ERC721Context
909
+ ) => Promise<PreprocessResult>
759
910
  ): this {
760
911
  if (!filter) {
761
912
  filter = templateContract.filters["Transfer(address,address,uint256)"](
@@ -764,7 +915,7 @@ export class ERC721ProcessorTemplate extends BaseProcessorTemplate<
764
915
  null
765
916
  );
766
917
  }
767
- return super.onEthEvent(handler, filter!, fetchConfig);
918
+ return super.onEthEvent(handler, filter!, fetchConfig, preprocessHandler);
768
919
  }
769
920
  }
770
921