@sentio/sdk 1.20.1 → 1.21.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (189) hide show
  1. package/lib/aptos/aptos-processor.d.ts +17 -12
  2. package/lib/aptos/aptos-processor.js +65 -13
  3. package/lib/aptos/aptos-processor.js.map +1 -1
  4. package/lib/aptos/bind-options.d.ts +0 -6
  5. package/lib/aptos/bind-options.js +1 -8
  6. package/lib/aptos/bind-options.js.map +1 -1
  7. package/lib/aptos/context.d.ts +5 -4
  8. package/lib/aptos/context.js +9 -6
  9. package/lib/aptos/context.js.map +1 -1
  10. package/lib/aptos/index.d.ts +3 -2
  11. package/lib/aptos/index.js +1 -2
  12. package/lib/aptos/index.js.map +1 -1
  13. package/lib/aptos/runtime.d.ts +2 -0
  14. package/lib/aptos/runtime.js +16 -0
  15. package/lib/aptos/runtime.js.map +1 -0
  16. package/lib/aptos/types.d.ts +28 -0
  17. package/lib/aptos/types.js +159 -0
  18. package/lib/aptos/types.js.map +1 -0
  19. package/lib/aptos/utils.d.ts +6 -0
  20. package/lib/aptos/utils.js +19 -0
  21. package/lib/aptos/utils.js.map +1 -0
  22. package/lib/aptos-codegen/codegen.d.ts +5 -2
  23. package/lib/aptos-codegen/codegen.js +195 -18
  24. package/lib/aptos-codegen/codegen.js.map +1 -1
  25. package/lib/aptos-codegen/typegen.d.ts +18 -0
  26. package/lib/aptos-codegen/typegen.js +196 -0
  27. package/lib/aptos-codegen/typegen.js.map +1 -0
  28. package/lib/binds.d.ts +2 -3
  29. package/lib/binds.js +6 -33
  30. package/lib/binds.js.map +1 -1
  31. package/lib/builtin/aptos/0x1.d.ts +1624 -0
  32. package/lib/builtin/aptos/0x1.js +2502 -0
  33. package/lib/builtin/aptos/0x1.js.map +1 -0
  34. package/lib/builtin/aptos/0x3.d.ts +414 -0
  35. package/lib/builtin/aptos/0x3.js +461 -0
  36. package/lib/builtin/aptos/0x3.js.map +1 -0
  37. package/lib/builtin/internal/eacaggregatorproxy_processor.d.ts +2 -2
  38. package/lib/builtin/internal/eacaggregatorproxy_processor.js +12 -11
  39. package/lib/builtin/internal/eacaggregatorproxy_processor.js.map +1 -1
  40. package/lib/builtin/internal/erc20_processor.d.ts +2 -2
  41. package/lib/builtin/internal/erc20_processor.js +12 -11
  42. package/lib/builtin/internal/erc20_processor.js.map +1 -1
  43. package/lib/builtin/internal/erc20bytes_processor.d.ts +2 -2
  44. package/lib/builtin/internal/erc20bytes_processor.js +12 -11
  45. package/lib/builtin/internal/erc20bytes_processor.js.map +1 -1
  46. package/lib/builtin/internal/weth9_processor.d.ts +2 -2
  47. package/lib/builtin/internal/weth9_processor.js +12 -11
  48. package/lib/builtin/internal/weth9_processor.js.map +1 -1
  49. package/lib/builtin/solana/types.d.ts +5 -5
  50. package/lib/builtin/solana/wormhole-processor.d.ts +6 -6
  51. package/lib/builtin/solana/wormhole-processor.js +15 -12
  52. package/lib/builtin/solana/wormhole-processor.js.map +1 -1
  53. package/lib/cli/build.js +17 -16
  54. package/lib/cli/build.js.map +1 -1
  55. package/lib/core/base-processor-template.d.ts +7 -7
  56. package/lib/core/base-processor-template.js.map +1 -1
  57. package/lib/core/base-processor.d.ts +5 -6
  58. package/lib/core/base-processor.js +6 -4
  59. package/lib/core/base-processor.js.map +1 -1
  60. package/lib/core/big-decimal.d.ts +1 -0
  61. package/lib/core/big-decimal.js +6 -0
  62. package/lib/core/big-decimal.js.map +1 -0
  63. package/lib/core/bind-options.d.ts +0 -2
  64. package/lib/core/bind-options.js +4 -4
  65. package/lib/core/bind-options.js.map +1 -1
  66. package/lib/core/context.d.ts +14 -11
  67. package/lib/core/context.js +28 -19
  68. package/lib/core/context.js.map +1 -1
  69. package/lib/core/generic-processor.js +5 -5
  70. package/lib/core/generic-processor.js.map +1 -1
  71. package/lib/core/index.d.ts +5 -5
  72. package/lib/core/index.js +6 -6
  73. package/lib/core/index.js.map +1 -1
  74. package/lib/core/logger.d.ts +2 -3
  75. package/lib/core/logger.js +6 -6
  76. package/lib/core/logger.js.map +1 -1
  77. package/lib/core/metadata.d.ts +7 -4
  78. package/lib/core/metadata.js +13 -10
  79. package/lib/core/metadata.js.map +1 -1
  80. package/lib/core/meter.d.ts +4 -7
  81. package/lib/core/meter.js +12 -13
  82. package/lib/core/meter.js.map +1 -1
  83. package/lib/core/solana-processor.d.ts +7 -4
  84. package/lib/core/solana-processor.js +14 -20
  85. package/lib/core/solana-processor.js.map +1 -1
  86. package/lib/core/sui-processor.d.ts +5 -4
  87. package/lib/core/sui-processor.js +10 -17
  88. package/lib/core/sui-processor.js.map +1 -1
  89. package/lib/error.d.ts +2 -2
  90. package/lib/error.js.map +1 -1
  91. package/lib/gen/processor/protos/processor.d.ts +23 -12
  92. package/lib/gen/processor/protos/processor.js +129 -57
  93. package/lib/gen/processor/protos/processor.js.map +1 -1
  94. package/lib/index.d.ts +1 -2
  95. package/lib/index.js +1 -4
  96. package/lib/index.js.map +1 -1
  97. package/lib/processor-state.d.ts +1 -1
  98. package/lib/processor-state.js.map +1 -1
  99. package/lib/service.js +13 -12
  100. package/lib/service.js.map +1 -1
  101. package/lib/target-ethers-sentio/codegen.js +14 -15
  102. package/lib/target-ethers-sentio/codegen.js.map +1 -1
  103. package/lib/test-abi-code-gen.js.map +1 -1
  104. package/lib/testing/metric-utils.js +2 -2
  105. package/lib/testing/metric-utils.js.map +1 -1
  106. package/lib/tests/aptos.test.js +95 -2
  107. package/lib/tests/aptos.test.js.map +1 -1
  108. package/lib/tests/erc20.js +1 -1
  109. package/lib/tests/erc20.js.map +1 -1
  110. package/lib/tests/erc20.test.js +3 -4
  111. package/lib/tests/erc20.test.js.map +1 -1
  112. package/lib/tests/solana.test.js +5 -1
  113. package/lib/tests/solana.test.js.map +1 -1
  114. package/lib/tests/souffl3.js +17 -4
  115. package/lib/tests/souffl3.js.map +1 -1
  116. package/lib/tests/sui.test.js +1 -4
  117. package/lib/tests/sui.test.js.map +1 -1
  118. package/lib/tests/types/aptos/souffle.d.ts +311 -22
  119. package/lib/tests/types/aptos/souffle.js +142 -6
  120. package/lib/tests/types/aptos/souffle.js.map +1 -1
  121. package/lib/tests/types/solana/basic_1_processor.d.ts +2 -2
  122. package/lib/tests/types/solana/basic_1_processor.js +4 -4
  123. package/lib/tests/types/solana/basic_1_processor.js.map +1 -1
  124. package/lib/tests/wormhole-token-bridge.js +2 -1
  125. package/lib/tests/wormhole-token-bridge.js.map +1 -1
  126. package/lib/utils/chain.d.ts +1 -0
  127. package/lib/utils/chain.js +15 -1
  128. package/lib/utils/chain.js.map +1 -1
  129. package/lib/utils/conversion.d.ts +1 -1
  130. package/lib/utils/conversion.js.map +1 -1
  131. package/package.json +3 -2
  132. package/src/abis/aptos/0x1.json +9205 -0
  133. package/src/abis/aptos/0x3.json +1515 -0
  134. package/src/aptos/aptos-processor.ts +88 -20
  135. package/src/aptos/bind-options.ts +0 -7
  136. package/src/aptos/context.ts +11 -8
  137. package/src/aptos/index.ts +3 -2
  138. package/src/aptos/runtime.ts +13 -0
  139. package/src/aptos/types.ts +203 -0
  140. package/src/aptos/utils.ts +18 -0
  141. package/src/aptos-codegen/codegen.ts +222 -19
  142. package/src/aptos-codegen/typegen.test.ts +29 -0
  143. package/src/aptos-codegen/typegen.ts +216 -0
  144. package/src/binds.ts +5 -39
  145. package/src/builtin/aptos/0x1.ts +3760 -0
  146. package/src/builtin/aptos/0x3.ts +798 -0
  147. package/src/builtin/internal/eacaggregatorproxy_processor.ts +14 -31
  148. package/src/builtin/internal/erc20_processor.ts +14 -25
  149. package/src/builtin/internal/erc20bytes_processor.ts +14 -25
  150. package/src/builtin/internal/weth9_processor.ts +14 -25
  151. package/src/builtin/solana/wormhole-processor.ts +21 -18
  152. package/src/cli/build.ts +19 -17
  153. package/src/core/base-processor-template.ts +7 -7
  154. package/src/core/base-processor.ts +30 -9
  155. package/src/core/big-decimal.ts +1 -0
  156. package/src/core/bind-options.ts +3 -2
  157. package/src/core/context.ts +40 -24
  158. package/src/core/generic-processor.ts +6 -7
  159. package/src/core/index.ts +5 -5
  160. package/src/core/logger.ts +7 -7
  161. package/src/core/metadata.ts +14 -12
  162. package/src/core/meter.ts +12 -14
  163. package/src/core/solana-processor.ts +24 -21
  164. package/src/core/sui-processor.ts +10 -21
  165. package/src/error.ts +2 -2
  166. package/src/gen/processor/protos/processor.ts +158 -68
  167. package/src/index.ts +1 -2
  168. package/src/processor-state.ts +1 -1
  169. package/src/service.ts +22 -15
  170. package/src/target-ethers-sentio/codegen.ts +14 -15
  171. package/src/test-abi-code-gen.ts +1 -0
  172. package/src/testing/metric-utils.ts +2 -2
  173. package/src/tests/aptos.test.ts +102 -3
  174. package/src/tests/erc20.test.ts +3 -4
  175. package/src/tests/erc20.ts +1 -1
  176. package/src/tests/solana.test.ts +5 -1
  177. package/src/tests/souffl3.ts +21 -6
  178. package/src/tests/sui.test.ts +1 -4
  179. package/src/tests/types/aptos/souffle.ts +424 -42
  180. package/src/tests/types/solana/basic_1_processor.ts +6 -6
  181. package/src/tests/wormhole-token-bridge.ts +2 -1
  182. package/src/types/global.d.ts +1 -1
  183. package/src/utils/chain.ts +14 -0
  184. package/src/utils/conversion.ts +1 -1
  185. package/lib/contract-namer.d.ts +0 -6
  186. package/lib/contract-namer.js +0 -20
  187. package/lib/contract-namer.js.map +0 -1
  188. package/src/aptos-codegen/codgen.test.ts +0 -11
  189. package/src/contract-namer.ts +0 -17
package/lib/binds.js CHANGED
@@ -1,47 +1,20 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.addContractByABI = exports.getContractByABI = exports.addProcessor = exports.getProcessor = exports.getContractName = void 0;
3
+ exports.addContractByABI = exports.getContractByABI = exports.addProcessor = exports.getProcessor = void 0;
4
4
  const bind_options_1 = require("./core/bind-options");
5
5
  const providers_1 = require("@ethersproject/providers");
6
- const contract_namer_1 = require("./contract-namer");
7
6
  function getKey(abiName, address, network) {
8
7
  const chainId = (0, providers_1.getNetwork)(network).chainId.toString();
9
8
  return [abiName, address.toLowerCase(), chainId].join('_');
10
9
  }
11
- // TODO move to processor state
12
- const addressToName = new Map();
13
- const namerMap = new Map();
14
- // Get contract name by ABI, and other options
15
- // If there is contract using same ABI and different (address, network) pair
16
- // It will be renamed as ABI, ABI_1, ABI_2
17
- // Otherwise just use same contract name
18
- function getContractName(abiName, contractName, address, network = 1) {
19
- const key = getKey(abiName, address, network);
20
- let name = addressToName.get(key);
21
- if (name) {
22
- return name;
23
- }
24
- if (contractName) {
25
- addressToName.set(key, contractName);
26
- return contractName;
27
- }
28
- let namer = namerMap.get(abiName);
29
- if (!namer) {
30
- namer = new contract_namer_1.ContractNamer(abiName);
31
- namerMap.set(abiName, namer);
32
- }
33
- name = namer.nextName();
34
- addressToName.set(key, name);
35
- return name;
36
- }
37
- exports.getContractName = getContractName;
38
- function getProcessor(abiName, opts) {
39
- const sig = abiName + '_' + (0, bind_options_1.getOptionsSignature)(opts);
10
+ // Dedup processor that bind multiple times
11
+ function getProcessor(opts) {
12
+ const sig = (0, bind_options_1.getOptionsSignature)(opts);
40
13
  return global.PROCESSOR_STATE.processorMap.get(sig);
41
14
  }
42
15
  exports.getProcessor = getProcessor;
43
- function addProcessor(abiName, opts, processor) {
44
- const sig = abiName + '_' + (0, bind_options_1.getOptionsSignature)(opts);
16
+ function addProcessor(opts, processor) {
17
+ const sig = (0, bind_options_1.getOptionsSignature)(opts);
45
18
  global.PROCESSOR_STATE.processors.push(processor);
46
19
  global.PROCESSOR_STATE.processorMap.set(sig, processor);
47
20
  }
package/lib/binds.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"binds.js","sourceRoot":"","sources":["../src/binds.ts"],"names":[],"mappings":";;;AAAA,sDAAsE;AAGtE,wDAAqD;AAErD,qDAAgD;AAEhD,SAAS,MAAM,CAAC,OAAe,EAAE,OAAe,EAAE,OAAmB;IACnE,MAAM,OAAO,GAAG,IAAA,sBAAU,EAAC,OAAO,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAA;IACtD,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,WAAW,EAAE,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAC5D,CAAC;AAED,+BAA+B;AAC/B,MAAM,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAA;AAC/C,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAyB,CAAA;AAEjD,8CAA8C;AAC9C,4EAA4E;AAC5E,0CAA0C;AAC1C,wCAAwC;AACxC,SAAgB,eAAe,CAC7B,OAAe,EACf,YAAgC,EAChC,OAAe,EACf,UAAsB,CAAC;IAEvB,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;IAC7C,IAAI,IAAI,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IACjC,IAAI,IAAI,EAAE;QACR,OAAO,IAAI,CAAA;KACZ;IACD,IAAI,YAAY,EAAE;QAChB,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,CAAC,CAAA;QACpC,OAAO,YAAY,CAAA;KACpB;IAED,IAAI,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;IACjC,IAAI,CAAC,KAAK,EAAE;QACV,KAAK,GAAG,IAAI,8BAAa,CAAC,OAAO,CAAC,CAAA;QAClC,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;KAC7B;IACD,IAAI,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAA;IACvB,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;IAC5B,OAAO,IAAI,CAAA;AACb,CAAC;AAxBD,0CAwBC;AAED,SAAgB,YAAY,CAAC,OAAe,EAAE,IAAiB;IAC7D,MAAM,GAAG,GAAG,OAAO,GAAG,GAAG,GAAG,IAAA,kCAAmB,EAAC,IAAI,CAAC,CAAA;IACrD,OAAO,MAAM,CAAC,eAAe,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;AACrD,CAAC;AAHD,oCAGC;AAED,SAAgB,YAAY,CAAC,OAAe,EAAE,IAAiB,EAAE,SAAkC;IACjG,MAAM,GAAG,GAAG,OAAO,GAAG,GAAG,GAAG,IAAA,kCAAmB,EAAC,IAAI,CAAC,CAAA;IAErD,MAAM,CAAC,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IACjD,MAAM,CAAC,eAAe,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,CAAA;AACzD,CAAC;AALD,oCAKC;AAED,SAAgB,gBAAgB,CAAC,OAAe,EAAE,OAAe,EAAE,OAAmB;IACpF,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;IAC7C,OAAO,MAAM,CAAC,eAAe,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;AAClD,CAAC;AAHD,4CAGC;AAED,SAAgB,gBAAgB,CAC9B,OAAe,EACf,OAAe,EACf,OAAmB,EACnB,QAAoC;IAEpC,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;IAC7C,OAAO,MAAM,CAAC,eAAe,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;AAC5D,CAAC;AARD,4CAQC","sourcesContent":["import { BindOptions, getOptionsSignature } from './core/bind-options'\nimport { BaseProcessor, ContractView } from './core'\nimport { Networkish } from '@ethersproject/networks'\nimport { getNetwork } from '@ethersproject/providers'\nimport { BaseContract } from 'ethers'\nimport { ContractNamer } from './contract-namer'\n\nfunction getKey(abiName: string, address: string, network: Networkish) {\n const chainId = getNetwork(network).chainId.toString()\n return [abiName, address.toLowerCase(), chainId].join('_')\n}\n\n// TODO move to processor state\nconst addressToName = new Map<string, string>()\nconst namerMap = new Map<string, ContractNamer>()\n\n// Get contract name by ABI, and other options\n// If there is contract using same ABI and different (address, network) pair\n// It will be renamed as ABI, ABI_1, ABI_2\n// Otherwise just use same contract name\nexport function getContractName(\n abiName: string,\n contractName: string | undefined,\n address: string,\n network: Networkish = 1\n): string {\n const key = getKey(abiName, address, network)\n let name = addressToName.get(key)\n if (name) {\n return name\n }\n if (contractName) {\n addressToName.set(key, contractName)\n return contractName\n }\n\n let namer = namerMap.get(abiName)\n if (!namer) {\n namer = new ContractNamer(abiName)\n namerMap.set(abiName, namer)\n }\n name = namer.nextName()\n addressToName.set(key, name)\n return name\n}\n\nexport function getProcessor(abiName: string, opts: BindOptions) {\n const sig = abiName + '_' + getOptionsSignature(opts)\n return global.PROCESSOR_STATE.processorMap.get(sig)\n}\n\nexport function addProcessor(abiName: string, opts: BindOptions, processor: BaseProcessor<any, any>) {\n const sig = abiName + '_' + getOptionsSignature(opts)\n\n global.PROCESSOR_STATE.processors.push(processor)\n global.PROCESSOR_STATE.processorMap.set(sig, processor)\n}\n\nexport function getContractByABI(abiName: string, address: string, network: Networkish) {\n const key = getKey(abiName, address, network)\n return global.PROCESSOR_STATE.contracts.get(key)\n}\n\nexport function addContractByABI(\n abiName: string,\n address: string,\n network: Networkish,\n contract: ContractView<BaseContract>\n) {\n const key = getKey(abiName, address, network)\n return global.PROCESSOR_STATE.contracts.set(key, contract)\n}\n"]}
1
+ {"version":3,"file":"binds.js","sourceRoot":"","sources":["../src/binds.ts"],"names":[],"mappings":";;;AAAA,sDAAsE;AAGtE,wDAAqD;AAGrD,SAAS,MAAM,CAAC,OAAe,EAAE,OAAe,EAAE,OAAmB;IACnE,MAAM,OAAO,GAAG,IAAA,sBAAU,EAAC,OAAO,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAA;IACtD,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,WAAW,EAAE,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAC5D,CAAC;AAED,2CAA2C;AAC3C,SAAgB,YAAY,CAAC,IAAiB;IAC5C,MAAM,GAAG,GAAG,IAAA,kCAAmB,EAAC,IAAI,CAAC,CAAA;IACrC,OAAO,MAAM,CAAC,eAAe,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;AACrD,CAAC;AAHD,oCAGC;AAED,SAAgB,YAAY,CAAC,IAAiB,EAAE,SAAkC;IAChF,MAAM,GAAG,GAAG,IAAA,kCAAmB,EAAC,IAAI,CAAC,CAAA;IAErC,MAAM,CAAC,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IACjD,MAAM,CAAC,eAAe,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,CAAA;AACzD,CAAC;AALD,oCAKC;AAED,SAAgB,gBAAgB,CAAC,OAAe,EAAE,OAAe,EAAE,OAAmB;IACpF,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;IAC7C,OAAO,MAAM,CAAC,eAAe,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;AAClD,CAAC;AAHD,4CAGC;AAED,SAAgB,gBAAgB,CAC9B,OAAe,EACf,OAAe,EACf,OAAmB,EACnB,QAAoC;IAEpC,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;IAC7C,OAAO,MAAM,CAAC,eAAe,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;AAC5D,CAAC;AARD,4CAQC","sourcesContent":["import { BindOptions, getOptionsSignature } from './core/bind-options'\nimport { BaseProcessor, ContractView } from './core'\nimport { Networkish } from '@ethersproject/networks'\nimport { getNetwork } from '@ethersproject/providers'\nimport { BaseContract } from 'ethers'\n\nfunction getKey(abiName: string, address: string, network: Networkish) {\n const chainId = getNetwork(network).chainId.toString()\n return [abiName, address.toLowerCase(), chainId].join('_')\n}\n\n// Dedup processor that bind multiple times\nexport function getProcessor(opts: BindOptions) {\n const sig = getOptionsSignature(opts)\n return global.PROCESSOR_STATE.processorMap.get(sig)\n}\n\nexport function addProcessor(opts: BindOptions, processor: BaseProcessor<any, any>) {\n const sig = getOptionsSignature(opts)\n\n global.PROCESSOR_STATE.processors.push(processor)\n global.PROCESSOR_STATE.processorMap.set(sig, processor)\n}\n\nexport function getContractByABI(abiName: string, address: string, network: Networkish) {\n const key = getKey(abiName, address, network)\n return global.PROCESSOR_STATE.contracts.get(key)\n}\n\nexport function addContractByABI(\n abiName: string,\n address: string,\n network: Networkish,\n contract: ContractView<BaseContract>\n) {\n const key = getKey(abiName, address, network)\n return global.PROCESSOR_STATE.contracts.set(key, contract)\n}\n"]}