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

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 (98) 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/utils/dex-price.test.js.map +1 -1
  77. package/lib/utils/erc20.test.js.map +1 -1
  78. package/lib/utils/price.test.js.map +1 -1
  79. package/package.json +6 -7
  80. package/src/eth/account-processor.ts +93 -22
  81. package/src/eth/base-processor-template.ts +60 -14
  82. package/src/eth/base-processor.ts +181 -37
  83. package/src/eth/builtin/internal/eacaggregatorproxy-processor.ts +302 -62
  84. package/src/eth/builtin/internal/erc1155-processor.ts +137 -32
  85. package/src/eth/builtin/internal/erc20-processor.ts +235 -48
  86. package/src/eth/builtin/internal/erc20bytes-processor.ts +124 -26
  87. package/src/eth/builtin/internal/erc721-processor.ts +191 -40
  88. package/src/eth/builtin/internal/weth9-processor.ts +170 -38
  89. package/src/eth/codegen/event-handler.ts +3 -2
  90. package/src/eth/codegen/file.ts +6 -4
  91. package/src/eth/codegen/functions-handler.ts +4 -3
  92. package/src/eth/context.ts +23 -7
  93. package/src/eth/eth-plugin.ts +142 -14
  94. package/src/eth/eth.ts +1 -1
  95. package/src/eth/index.ts +2 -2
  96. package/src/eth/provider.ts +15 -19
  97. package/src/store/schema.ts +1 -1
  98. package/src/store/store.ts +22 -13
@@ -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 { ERC20__factory } from "./index.js";
@@ -564,7 +565,11 @@ export class ERC20Processor extends BaseProcessor<
564
565
  onEventApproval(
565
566
  handler: (event: ApprovalEvent, ctx: ERC20Context) => void,
566
567
  filter?: ApprovalEventFilter | ApprovalEventFilter[],
567
- fetchConfig?: Partial<EthFetchConfig>
568
+ fetchConfig?: Partial<EthFetchConfig>,
569
+ preprocessHandler?: (
570
+ event: ApprovalEvent,
571
+ ctx: ERC20Context
572
+ ) => Promise<PreprocessResult>
568
573
  ): this {
569
574
  if (!filter) {
570
575
  filter = templateContract.filters["Approval(address,address,uint256)"](
@@ -573,7 +578,7 @@ export class ERC20Processor extends BaseProcessor<
573
578
  null
574
579
  );
575
580
  }
576
- return super.onEthEvent(handler, filter!, fetchConfig);
581
+ return super.onEthEvent(handler, filter!, fetchConfig, preprocessHandler);
577
582
  }
578
583
 
579
584
  onEventOwnershipTransferred(
@@ -581,20 +586,28 @@ export class ERC20Processor extends BaseProcessor<
581
586
  filter?:
582
587
  | OwnershipTransferredEventFilter
583
588
  | OwnershipTransferredEventFilter[],
584
- fetchConfig?: Partial<EthFetchConfig>
589
+ fetchConfig?: Partial<EthFetchConfig>,
590
+ preprocessHandler?: (
591
+ event: OwnershipTransferredEvent,
592
+ ctx: ERC20Context
593
+ ) => Promise<PreprocessResult>
585
594
  ): this {
586
595
  if (!filter) {
587
596
  filter = templateContract.filters[
588
597
  "OwnershipTransferred(address,address)"
589
598
  ](null, null);
590
599
  }
591
- return super.onEthEvent(handler, filter!, fetchConfig);
600
+ return super.onEthEvent(handler, filter!, fetchConfig, preprocessHandler);
592
601
  }
593
602
 
594
603
  onEventTransfer(
595
604
  handler: (event: TransferEvent, ctx: ERC20Context) => void,
596
605
  filter?: TransferEventFilter | TransferEventFilter[],
597
- fetchConfig?: Partial<EthFetchConfig>
606
+ fetchConfig?: Partial<EthFetchConfig>,
607
+ preprocessHandler?: (
608
+ event: TransferEvent,
609
+ ctx: ERC20Context
610
+ ) => Promise<PreprocessResult>
598
611
  ): this {
599
612
  if (!filter) {
600
613
  filter = templateContract.filters["Transfer(address,address,uint256)"](
@@ -603,133 +616,295 @@ export class ERC20Processor extends BaseProcessor<
603
616
  null
604
617
  );
605
618
  }
606
- return super.onEthEvent(handler, filter!, fetchConfig);
619
+ return super.onEthEvent(handler, filter!, fetchConfig, preprocessHandler);
607
620
  }
608
621
 
609
622
  onCallAllowance(
610
623
  handler: (call: AllowanceCallTrace, ctx: ERC20Context) => void,
611
- fetchConfig?: Partial<EthFetchConfig>
624
+ fetchConfig?: Partial<EthFetchConfig>,
625
+ preprocessHandler?: (
626
+ call: AllowanceCallTrace,
627
+ ctx: ERC20Context
628
+ ) => Promise<PreprocessResult>
612
629
  ): this {
613
- return super.onEthTrace("0xdd62ed3e", handler as any, fetchConfig);
630
+ return super.onEthTrace(
631
+ "0xdd62ed3e",
632
+ handler as any,
633
+ fetchConfig,
634
+ preprocessHandler
635
+ );
614
636
  }
615
637
 
616
638
  onCallApprove(
617
639
  handler: (call: ApproveCallTrace, ctx: ERC20Context) => void,
618
- fetchConfig?: Partial<EthFetchConfig>
640
+ fetchConfig?: Partial<EthFetchConfig>,
641
+ preprocessHandler?: (
642
+ call: ApproveCallTrace,
643
+ ctx: ERC20Context
644
+ ) => Promise<PreprocessResult>
619
645
  ): this {
620
- return super.onEthTrace("0x095ea7b3", handler as any, fetchConfig);
646
+ return super.onEthTrace(
647
+ "0x095ea7b3",
648
+ handler as any,
649
+ fetchConfig,
650
+ preprocessHandler
651
+ );
621
652
  }
622
653
 
623
654
  onCallBalanceOf(
624
655
  handler: (call: BalanceOfCallTrace, ctx: ERC20Context) => void,
625
- fetchConfig?: Partial<EthFetchConfig>
656
+ fetchConfig?: Partial<EthFetchConfig>,
657
+ preprocessHandler?: (
658
+ call: BalanceOfCallTrace,
659
+ ctx: ERC20Context
660
+ ) => Promise<PreprocessResult>
626
661
  ): this {
627
- return super.onEthTrace("0x70a08231", handler as any, fetchConfig);
662
+ return super.onEthTrace(
663
+ "0x70a08231",
664
+ handler as any,
665
+ fetchConfig,
666
+ preprocessHandler
667
+ );
628
668
  }
629
669
 
630
670
  onCallBurn(
631
671
  handler: (call: BurnCallTrace, ctx: ERC20Context) => void,
632
- fetchConfig?: Partial<EthFetchConfig>
672
+ fetchConfig?: Partial<EthFetchConfig>,
673
+ preprocessHandler?: (
674
+ call: BurnCallTrace,
675
+ ctx: ERC20Context
676
+ ) => Promise<PreprocessResult>
633
677
  ): this {
634
- return super.onEthTrace("0x42966c68", handler as any, fetchConfig);
678
+ return super.onEthTrace(
679
+ "0x42966c68",
680
+ handler as any,
681
+ fetchConfig,
682
+ preprocessHandler
683
+ );
635
684
  }
636
685
 
637
686
  onCallBurnFrom(
638
687
  handler: (call: BurnFromCallTrace, ctx: ERC20Context) => void,
639
- fetchConfig?: Partial<EthFetchConfig>
688
+ fetchConfig?: Partial<EthFetchConfig>,
689
+ preprocessHandler?: (
690
+ call: BurnFromCallTrace,
691
+ ctx: ERC20Context
692
+ ) => Promise<PreprocessResult>
640
693
  ): this {
641
- return super.onEthTrace("0x79cc6790", handler as any, fetchConfig);
694
+ return super.onEthTrace(
695
+ "0x79cc6790",
696
+ handler as any,
697
+ fetchConfig,
698
+ preprocessHandler
699
+ );
642
700
  }
643
701
 
644
702
  onCallDecimals(
645
703
  handler: (call: DecimalsCallTrace, ctx: ERC20Context) => void,
646
- fetchConfig?: Partial<EthFetchConfig>
704
+ fetchConfig?: Partial<EthFetchConfig>,
705
+ preprocessHandler?: (
706
+ call: DecimalsCallTrace,
707
+ ctx: ERC20Context
708
+ ) => Promise<PreprocessResult>
647
709
  ): this {
648
- return super.onEthTrace("0x313ce567", handler as any, fetchConfig);
710
+ return super.onEthTrace(
711
+ "0x313ce567",
712
+ handler as any,
713
+ fetchConfig,
714
+ preprocessHandler
715
+ );
649
716
  }
650
717
 
651
718
  onCallDecreaseAllowance(
652
719
  handler: (call: DecreaseAllowanceCallTrace, ctx: ERC20Context) => void,
653
- fetchConfig?: Partial<EthFetchConfig>
720
+ fetchConfig?: Partial<EthFetchConfig>,
721
+ preprocessHandler?: (
722
+ call: DecreaseAllowanceCallTrace,
723
+ ctx: ERC20Context
724
+ ) => Promise<PreprocessResult>
654
725
  ): this {
655
- return super.onEthTrace("0xa457c2d7", handler as any, fetchConfig);
726
+ return super.onEthTrace(
727
+ "0xa457c2d7",
728
+ handler as any,
729
+ fetchConfig,
730
+ preprocessHandler
731
+ );
656
732
  }
657
733
 
658
734
  onCallIncreaseAllowance(
659
735
  handler: (call: IncreaseAllowanceCallTrace, ctx: ERC20Context) => void,
660
- fetchConfig?: Partial<EthFetchConfig>
736
+ fetchConfig?: Partial<EthFetchConfig>,
737
+ preprocessHandler?: (
738
+ call: IncreaseAllowanceCallTrace,
739
+ ctx: ERC20Context
740
+ ) => Promise<PreprocessResult>
661
741
  ): this {
662
- return super.onEthTrace("0x39509351", handler as any, fetchConfig);
742
+ return super.onEthTrace(
743
+ "0x39509351",
744
+ handler as any,
745
+ fetchConfig,
746
+ preprocessHandler
747
+ );
663
748
  }
664
749
 
665
750
  onCallLocker(
666
751
  handler: (call: LockerCallTrace, ctx: ERC20Context) => void,
667
- fetchConfig?: Partial<EthFetchConfig>
752
+ fetchConfig?: Partial<EthFetchConfig>,
753
+ preprocessHandler?: (
754
+ call: LockerCallTrace,
755
+ ctx: ERC20Context
756
+ ) => Promise<PreprocessResult>
668
757
  ): this {
669
- return super.onEthTrace("0xd7b96d4e", handler as any, fetchConfig);
758
+ return super.onEthTrace(
759
+ "0xd7b96d4e",
760
+ handler as any,
761
+ fetchConfig,
762
+ preprocessHandler
763
+ );
670
764
  }
671
765
 
672
766
  onCallName(
673
767
  handler: (call: NameCallTrace, ctx: ERC20Context) => void,
674
- fetchConfig?: Partial<EthFetchConfig>
768
+ fetchConfig?: Partial<EthFetchConfig>,
769
+ preprocessHandler?: (
770
+ call: NameCallTrace,
771
+ ctx: ERC20Context
772
+ ) => Promise<PreprocessResult>
675
773
  ): this {
676
- return super.onEthTrace("0x06fdde03", handler as any, fetchConfig);
774
+ return super.onEthTrace(
775
+ "0x06fdde03",
776
+ handler as any,
777
+ fetchConfig,
778
+ preprocessHandler
779
+ );
677
780
  }
678
781
 
679
782
  onCallOwner(
680
783
  handler: (call: OwnerCallTrace, ctx: ERC20Context) => void,
681
- fetchConfig?: Partial<EthFetchConfig>
784
+ fetchConfig?: Partial<EthFetchConfig>,
785
+ preprocessHandler?: (
786
+ call: OwnerCallTrace,
787
+ ctx: ERC20Context
788
+ ) => Promise<PreprocessResult>
682
789
  ): this {
683
- return super.onEthTrace("0x8da5cb5b", handler as any, fetchConfig);
790
+ return super.onEthTrace(
791
+ "0x8da5cb5b",
792
+ handler as any,
793
+ fetchConfig,
794
+ preprocessHandler
795
+ );
684
796
  }
685
797
 
686
798
  onCallRenounceOwnership(
687
799
  handler: (call: RenounceOwnershipCallTrace, ctx: ERC20Context) => void,
688
- fetchConfig?: Partial<EthFetchConfig>
800
+ fetchConfig?: Partial<EthFetchConfig>,
801
+ preprocessHandler?: (
802
+ call: RenounceOwnershipCallTrace,
803
+ ctx: ERC20Context
804
+ ) => Promise<PreprocessResult>
689
805
  ): this {
690
- return super.onEthTrace("0x715018a6", handler as any, fetchConfig);
806
+ return super.onEthTrace(
807
+ "0x715018a6",
808
+ handler as any,
809
+ fetchConfig,
810
+ preprocessHandler
811
+ );
691
812
  }
692
813
 
693
814
  onCallSetLocker(
694
815
  handler: (call: SetLockerCallTrace, ctx: ERC20Context) => void,
695
- fetchConfig?: Partial<EthFetchConfig>
816
+ fetchConfig?: Partial<EthFetchConfig>,
817
+ preprocessHandler?: (
818
+ call: SetLockerCallTrace,
819
+ ctx: ERC20Context
820
+ ) => Promise<PreprocessResult>
696
821
  ): this {
697
- return super.onEthTrace("0x171060ec", handler as any, fetchConfig);
822
+ return super.onEthTrace(
823
+ "0x171060ec",
824
+ handler as any,
825
+ fetchConfig,
826
+ preprocessHandler
827
+ );
698
828
  }
699
829
 
700
830
  onCallSymbol(
701
831
  handler: (call: SymbolCallTrace, ctx: ERC20Context) => void,
702
- fetchConfig?: Partial<EthFetchConfig>
832
+ fetchConfig?: Partial<EthFetchConfig>,
833
+ preprocessHandler?: (
834
+ call: SymbolCallTrace,
835
+ ctx: ERC20Context
836
+ ) => Promise<PreprocessResult>
703
837
  ): this {
704
- return super.onEthTrace("0x95d89b41", handler as any, fetchConfig);
838
+ return super.onEthTrace(
839
+ "0x95d89b41",
840
+ handler as any,
841
+ fetchConfig,
842
+ preprocessHandler
843
+ );
705
844
  }
706
845
 
707
846
  onCallTotalSupply(
708
847
  handler: (call: TotalSupplyCallTrace, ctx: ERC20Context) => void,
709
- fetchConfig?: Partial<EthFetchConfig>
848
+ fetchConfig?: Partial<EthFetchConfig>,
849
+ preprocessHandler?: (
850
+ call: TotalSupplyCallTrace,
851
+ ctx: ERC20Context
852
+ ) => Promise<PreprocessResult>
710
853
  ): this {
711
- return super.onEthTrace("0x18160ddd", handler as any, fetchConfig);
854
+ return super.onEthTrace(
855
+ "0x18160ddd",
856
+ handler as any,
857
+ fetchConfig,
858
+ preprocessHandler
859
+ );
712
860
  }
713
861
 
714
862
  onCallTransfer(
715
863
  handler: (call: TransferCallTrace, ctx: ERC20Context) => void,
716
- fetchConfig?: Partial<EthFetchConfig>
864
+ fetchConfig?: Partial<EthFetchConfig>,
865
+ preprocessHandler?: (
866
+ call: TransferCallTrace,
867
+ ctx: ERC20Context
868
+ ) => Promise<PreprocessResult>
717
869
  ): this {
718
- return super.onEthTrace("0xa9059cbb", handler as any, fetchConfig);
870
+ return super.onEthTrace(
871
+ "0xa9059cbb",
872
+ handler as any,
873
+ fetchConfig,
874
+ preprocessHandler
875
+ );
719
876
  }
720
877
 
721
878
  onCallTransferFrom(
722
879
  handler: (call: TransferFromCallTrace, ctx: ERC20Context) => void,
723
- fetchConfig?: Partial<EthFetchConfig>
880
+ fetchConfig?: Partial<EthFetchConfig>,
881
+ preprocessHandler?: (
882
+ call: TransferFromCallTrace,
883
+ ctx: ERC20Context
884
+ ) => Promise<PreprocessResult>
724
885
  ): this {
725
- return super.onEthTrace("0x23b872dd", handler as any, fetchConfig);
886
+ return super.onEthTrace(
887
+ "0x23b872dd",
888
+ handler as any,
889
+ fetchConfig,
890
+ preprocessHandler
891
+ );
726
892
  }
727
893
 
728
894
  onCallTransferOwnership(
729
895
  handler: (call: TransferOwnershipCallTrace, ctx: ERC20Context) => void,
730
- fetchConfig?: Partial<EthFetchConfig>
896
+ fetchConfig?: Partial<EthFetchConfig>,
897
+ preprocessHandler?: (
898
+ call: TransferOwnershipCallTrace,
899
+ ctx: ERC20Context
900
+ ) => Promise<PreprocessResult>
731
901
  ): this {
732
- return super.onEthTrace("0xf2fde38b", handler as any, fetchConfig);
902
+ return super.onEthTrace(
903
+ "0xf2fde38b",
904
+ handler as any,
905
+ fetchConfig,
906
+ preprocessHandler
907
+ );
733
908
  }
734
909
 
735
910
  public static filters = {
@@ -803,7 +978,11 @@ export class ERC20ProcessorTemplate extends BaseProcessorTemplate<
803
978
  onEventApproval(
804
979
  handler: (event: ApprovalEvent, ctx: ERC20Context) => void,
805
980
  filter?: ApprovalEventFilter | ApprovalEventFilter[],
806
- fetchConfig?: Partial<EthFetchConfig>
981
+ fetchConfig?: Partial<EthFetchConfig>,
982
+ preprocessHandler?: (
983
+ event: ApprovalEvent,
984
+ ctx: ERC20Context
985
+ ) => Promise<PreprocessResult>
807
986
  ): this {
808
987
  if (!filter) {
809
988
  filter = templateContract.filters["Approval(address,address,uint256)"](
@@ -812,7 +991,7 @@ export class ERC20ProcessorTemplate extends BaseProcessorTemplate<
812
991
  null
813
992
  );
814
993
  }
815
- return super.onEthEvent(handler, filter!, fetchConfig);
994
+ return super.onEthEvent(handler, filter!, fetchConfig, preprocessHandler);
816
995
  }
817
996
 
818
997
  onEventOwnershipTransferred(
@@ -820,20 +999,28 @@ export class ERC20ProcessorTemplate extends BaseProcessorTemplate<
820
999
  filter?:
821
1000
  | OwnershipTransferredEventFilter
822
1001
  | OwnershipTransferredEventFilter[],
823
- fetchConfig?: Partial<EthFetchConfig>
1002
+ fetchConfig?: Partial<EthFetchConfig>,
1003
+ preprocessHandler?: (
1004
+ event: OwnershipTransferredEvent,
1005
+ ctx: ERC20Context
1006
+ ) => Promise<PreprocessResult>
824
1007
  ): this {
825
1008
  if (!filter) {
826
1009
  filter = templateContract.filters[
827
1010
  "OwnershipTransferred(address,address)"
828
1011
  ](null, null);
829
1012
  }
830
- return super.onEthEvent(handler, filter!, fetchConfig);
1013
+ return super.onEthEvent(handler, filter!, fetchConfig, preprocessHandler);
831
1014
  }
832
1015
 
833
1016
  onEventTransfer(
834
1017
  handler: (event: TransferEvent, ctx: ERC20Context) => void,
835
1018
  filter?: TransferEventFilter | TransferEventFilter[],
836
- fetchConfig?: Partial<EthFetchConfig>
1019
+ fetchConfig?: Partial<EthFetchConfig>,
1020
+ preprocessHandler?: (
1021
+ event: TransferEvent,
1022
+ ctx: ERC20Context
1023
+ ) => Promise<PreprocessResult>
837
1024
  ): this {
838
1025
  if (!filter) {
839
1026
  filter = templateContract.filters["Transfer(address,address,uint256)"](
@@ -842,7 +1029,7 @@ export class ERC20ProcessorTemplate extends BaseProcessorTemplate<
842
1029
  null
843
1030
  );
844
1031
  }
845
- return super.onEthEvent(handler, filter!, fetchConfig);
1032
+ return super.onEthEvent(handler, filter!, fetchConfig, preprocessHandler);
846
1033
  }
847
1034
  }
848
1035