@sentio/sdk 2.40.0-rc.4 → 2.40.0-rc.41

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 (224) hide show
  1. package/lib/aptos/aptos-processor.d.ts +1 -1
  2. package/lib/aptos/aptos-processor.d.ts.map +1 -1
  3. package/lib/aptos/aptos-processor.js +1 -1
  4. package/lib/aptos/aptos-processor.js.map +1 -1
  5. package/lib/aptos/context.d.ts +2 -2
  6. package/lib/aptos/context.d.ts.map +1 -1
  7. package/lib/aptos/context.js +1 -1
  8. package/lib/aptos/ext/aptos-dex.d.ts +1 -1
  9. package/lib/aptos/ext/aptos-dex.d.ts.map +1 -1
  10. package/lib/aptos/ext/aptos-dex.js +1 -1
  11. package/lib/aptos/ext/aptos-dex.js.map +1 -1
  12. package/lib/aptos/ext/coin-event.d.ts +1 -1
  13. package/lib/aptos/ext/coin-event.d.ts.map +1 -1
  14. package/lib/aptos/ext/coin.js +2 -2
  15. package/lib/aptos/ext/coin.js.map +1 -1
  16. package/lib/aptos/move-coder.d.ts.map +1 -1
  17. package/lib/aptos/move-coder.js +6 -5
  18. package/lib/aptos/move-coder.js.map +1 -1
  19. package/lib/aptos/network.d.ts +2 -0
  20. package/lib/aptos/network.d.ts.map +1 -1
  21. package/lib/aptos/network.js +7 -1
  22. package/lib/aptos/network.js.map +1 -1
  23. package/lib/eth/account-processor.d.ts +21 -7
  24. package/lib/eth/account-processor.d.ts.map +1 -1
  25. package/lib/eth/account-processor.js +2 -2
  26. package/lib/eth/account-processor.js.map +1 -1
  27. package/lib/eth/base-processor-template.d.ts +24 -8
  28. package/lib/eth/base-processor-template.d.ts.map +1 -1
  29. package/lib/eth/base-processor-template.js.map +1 -1
  30. package/lib/eth/base-processor.d.ts +30 -10
  31. package/lib/eth/base-processor.d.ts.map +1 -1
  32. package/lib/eth/base-processor.js +6 -6
  33. package/lib/eth/base-processor.js.map +1 -1
  34. package/lib/eth/builtin/internal/eacaggregatorproxy-processor.d.ts +100 -31
  35. package/lib/eth/builtin/internal/eacaggregatorproxy-processor.d.ts.map +1 -1
  36. package/lib/eth/builtin/internal/eacaggregatorproxy-processor.js +1226 -46
  37. package/lib/eth/builtin/internal/eacaggregatorproxy-processor.js.map +1 -1
  38. package/lib/eth/builtin/internal/erc1155-processor.d.ts +55 -16
  39. package/lib/eth/builtin/internal/erc1155-processor.d.ts.map +1 -1
  40. package/lib/eth/builtin/internal/erc1155-processor.js +486 -16
  41. package/lib/eth/builtin/internal/erc1155-processor.js.map +1 -1
  42. package/lib/eth/builtin/internal/erc20-processor.d.ts +79 -24
  43. package/lib/eth/builtin/internal/erc20-processor.d.ts.map +1 -1
  44. package/lib/eth/builtin/internal/erc20-processor.js +985 -36
  45. package/lib/eth/builtin/internal/erc20-processor.js.map +1 -1
  46. package/lib/eth/builtin/internal/erc20bytes-processor.d.ts +46 -13
  47. package/lib/eth/builtin/internal/erc20bytes-processor.d.ts.map +1 -1
  48. package/lib/eth/builtin/internal/erc20bytes-processor.js +485 -18
  49. package/lib/eth/builtin/internal/erc20bytes-processor.js.map +1 -1
  50. package/lib/eth/builtin/internal/erc721-processor.d.ts +67 -20
  51. package/lib/eth/builtin/internal/erc721-processor.d.ts.map +1 -1
  52. package/lib/eth/builtin/internal/erc721-processor.js +784 -28
  53. package/lib/eth/builtin/internal/erc721-processor.js.map +1 -1
  54. package/lib/eth/builtin/internal/weth9-processor.d.ts +64 -19
  55. package/lib/eth/builtin/internal/weth9-processor.d.ts.map +1 -1
  56. package/lib/eth/builtin/internal/weth9-processor.js +574 -22
  57. package/lib/eth/builtin/internal/weth9-processor.js.map +1 -1
  58. package/lib/eth/codegen/event-handler.js +1 -1
  59. package/lib/eth/codegen/file.d.ts.map +1 -1
  60. package/lib/eth/codegen/file.js +21 -3
  61. package/lib/eth/codegen/file.js.map +1 -1
  62. package/lib/eth/codegen/function-calls.d.ts +4 -0
  63. package/lib/eth/codegen/function-calls.d.ts.map +1 -1
  64. package/lib/eth/codegen/function-calls.js +80 -5
  65. package/lib/eth/codegen/function-calls.js.map +1 -1
  66. package/lib/eth/codegen/types.d.ts +1 -0
  67. package/lib/eth/codegen/types.d.ts.map +1 -1
  68. package/lib/eth/codegen/types.js +13 -0
  69. package/lib/eth/codegen/types.js.map +1 -1
  70. package/lib/eth/context.d.ts +4 -0
  71. package/lib/eth/context.d.ts.map +1 -1
  72. package/lib/eth/context.js +4 -0
  73. package/lib/eth/context.js.map +1 -1
  74. package/lib/eth/eth-plugin.d.ts +27 -9
  75. package/lib/eth/eth-plugin.d.ts.map +1 -1
  76. package/lib/eth/eth-plugin.js +20 -17
  77. package/lib/eth/eth-plugin.js.map +1 -1
  78. package/lib/eth/eth.d.ts.map +1 -1
  79. package/lib/eth/eth.js +1 -1
  80. package/lib/eth/eth.js.map +1 -1
  81. package/lib/eth/generic-processor.js +1 -1
  82. package/lib/eth/generic-processor.js.map +1 -1
  83. package/lib/eth/generic-processor.test.js.map +1 -1
  84. package/lib/eth/index.d.ts +2 -1
  85. package/lib/eth/index.d.ts.map +1 -1
  86. package/lib/eth/index.js +2 -1
  87. package/lib/eth/index.js.map +1 -1
  88. package/lib/solana/builtin/spl-token-processor.d.ts +1 -1
  89. package/lib/solana/builtin/spl-token-processor.d.ts.map +1 -1
  90. package/lib/solana/builtin/spl-token-processor.js +1 -1
  91. package/lib/solana/builtin/spl-token-processor.js.map +1 -1
  92. package/lib/solana/solana-context.d.ts +1 -1
  93. package/lib/solana/solana-context.js +2 -2
  94. package/lib/stark/codegen/codegen.d.ts +2 -0
  95. package/lib/stark/codegen/codegen.d.ts.map +1 -0
  96. package/lib/stark/codegen/codegen.js +109 -0
  97. package/lib/stark/codegen/codegen.js.map +1 -0
  98. package/lib/stark/codegen/index.d.ts +2 -0
  99. package/lib/stark/codegen/index.d.ts.map +1 -0
  100. package/lib/stark/codegen/index.js +2 -0
  101. package/lib/stark/codegen/index.js.map +1 -0
  102. package/lib/stark/codegen/run.d.ts +2 -0
  103. package/lib/stark/codegen/run.d.ts.map +1 -0
  104. package/lib/stark/codegen/run.js +11 -0
  105. package/lib/stark/codegen/run.js.map +1 -0
  106. package/lib/stark/codegen/utils.d.ts +2 -0
  107. package/lib/stark/codegen/utils.d.ts.map +1 -0
  108. package/lib/stark/codegen/utils.js +4 -0
  109. package/lib/stark/codegen/utils.js.map +1 -0
  110. package/lib/stark/context.d.ts +28 -0
  111. package/lib/stark/context.d.ts.map +1 -0
  112. package/lib/stark/context.js +59 -0
  113. package/lib/stark/context.js.map +1 -0
  114. package/lib/stark/contract.d.ts +12 -0
  115. package/lib/stark/contract.d.ts.map +1 -0
  116. package/lib/stark/contract.js +43 -0
  117. package/lib/stark/contract.js.map +1 -0
  118. package/lib/stark/event.d.ts +7 -0
  119. package/lib/stark/event.d.ts.map +1 -0
  120. package/lib/stark/event.js +11 -0
  121. package/lib/stark/event.js.map +1 -0
  122. package/lib/stark/index.d.ts +7 -0
  123. package/lib/stark/index.d.ts.map +1 -0
  124. package/lib/stark/index.js +7 -0
  125. package/lib/stark/index.js.map +1 -0
  126. package/lib/stark/starknet-plugin.d.ts +17 -0
  127. package/lib/stark/starknet-plugin.d.ts.map +1 -0
  128. package/lib/stark/starknet-plugin.js +78 -0
  129. package/lib/stark/starknet-plugin.js.map +1 -0
  130. package/lib/stark/starknet-processor.d.ts +32 -0
  131. package/lib/stark/starknet-processor.d.ts.map +1 -0
  132. package/lib/stark/starknet-processor.js +111 -0
  133. package/lib/stark/starknet-processor.js.map +1 -0
  134. package/lib/stark/types.d.ts +11 -0
  135. package/lib/stark/types.d.ts.map +1 -0
  136. package/lib/stark/types.js +2 -0
  137. package/lib/stark/types.js.map +1 -0
  138. package/lib/store/cache.d.ts +14 -0
  139. package/lib/store/cache.d.ts.map +1 -0
  140. package/lib/store/cache.js +35 -0
  141. package/lib/store/cache.js.map +1 -0
  142. package/lib/store/store.d.ts +2 -3
  143. package/lib/store/store.d.ts.map +1 -1
  144. package/lib/store/store.js +34 -9
  145. package/lib/store/store.js.map +1 -1
  146. package/lib/sui/context.d.ts +1 -1
  147. package/lib/sui/context.d.ts.map +1 -1
  148. package/lib/sui/sui-processor.d.ts +1 -1
  149. package/lib/sui/sui-processor.d.ts.map +1 -1
  150. package/lib/sui/sui-processor.js +1 -1
  151. package/lib/sui/sui-processor.js.map +1 -1
  152. package/lib/testing/aptos-facet.d.ts +1 -1
  153. package/lib/testing/aptos-facet.js +2 -2
  154. package/lib/testing/starknet-facet.d.ts +9 -0
  155. package/lib/testing/starknet-facet.d.ts.map +1 -0
  156. package/lib/testing/starknet-facet.js +52 -0
  157. package/lib/testing/starknet-facet.js.map +1 -0
  158. package/lib/testing/sui-facet.js +1 -1
  159. package/lib/testing/test-processor-server.d.ts +2 -0
  160. package/lib/testing/test-processor-server.d.ts.map +1 -1
  161. package/lib/testing/test-processor-server.js +3 -0
  162. package/lib/testing/test-processor-server.js.map +1 -1
  163. package/lib/tsup.config.ts +3 -15
  164. package/lib/utils/dex-price.d.ts +1 -0
  165. package/lib/utils/dex-price.d.ts.map +1 -1
  166. package/lib/utils/dex-price.js +13 -2
  167. package/lib/utils/dex-price.js.map +1 -1
  168. package/package.json +21 -10
  169. package/src/aptos/aptos-processor.ts +1 -1
  170. package/src/aptos/context.ts +2 -2
  171. package/src/aptos/ext/aptos-dex.ts +1 -1
  172. package/src/aptos/ext/coin-event.ts +1 -1
  173. package/src/aptos/ext/coin.ts +2 -2
  174. package/src/aptos/move-coder.ts +7 -5
  175. package/src/aptos/network.ts +7 -1
  176. package/src/bundle.config.ts +23 -0
  177. package/src/eth/account-processor.ts +28 -12
  178. package/src/eth/base-processor-template.ts +16 -8
  179. package/src/eth/base-processor.ts +25 -16
  180. package/src/eth/builtin/internal/eacaggregatorproxy-processor.ts +1554 -123
  181. package/src/eth/builtin/internal/erc1155-processor.ts +659 -42
  182. package/src/eth/builtin/internal/erc20-processor.ts +1266 -90
  183. package/src/eth/builtin/internal/erc20bytes-processor.ts +639 -49
  184. package/src/eth/builtin/internal/erc721-processor.ts +1035 -70
  185. package/src/eth/builtin/internal/weth9-processor.ts +758 -63
  186. package/src/eth/codegen/event-handler.ts +1 -1
  187. package/src/eth/codegen/file.ts +26 -3
  188. package/src/eth/codegen/function-calls.ts +96 -8
  189. package/src/eth/codegen/types.ts +22 -1
  190. package/src/eth/context.ts +7 -0
  191. package/src/eth/eth-plugin.ts +34 -26
  192. package/src/eth/eth.ts +1 -2
  193. package/src/eth/generic-processor.ts +1 -1
  194. package/src/eth/index.ts +5 -1
  195. package/src/solana/builtin/spl-token-processor.ts +1 -1
  196. package/src/solana/solana-context.ts +2 -2
  197. package/src/stark/codegen/codegen.ts +124 -0
  198. package/src/stark/codegen/index.ts +1 -0
  199. package/src/stark/codegen/run.ts +10 -0
  200. package/src/stark/codegen/utils.ts +3 -0
  201. package/src/stark/context.ts +78 -0
  202. package/src/stark/contract.ts +55 -0
  203. package/src/stark/event.ts +7 -0
  204. package/src/stark/index.ts +9 -0
  205. package/src/stark/starknet-plugin.ts +108 -0
  206. package/src/stark/starknet-processor.ts +140 -0
  207. package/src/stark/types.ts +11 -0
  208. package/src/store/cache.ts +46 -0
  209. package/src/store/store.ts +40 -22
  210. package/src/sui/context.ts +1 -1
  211. package/src/sui/sui-processor.ts +1 -1
  212. package/src/testing/aptos-facet.ts +2 -2
  213. package/src/testing/starknet-facet.ts +61 -0
  214. package/src/testing/sui-facet.ts +1 -1
  215. package/src/testing/test-processor-server.ts +3 -0
  216. package/src/tsup.config.ts +3 -15
  217. package/src/utils/dex-price.ts +15 -2
  218. package/lib/eth/provider.d.ts +0 -5
  219. package/lib/eth/provider.d.ts.map +0 -1
  220. package/lib/eth/provider.js +0 -134
  221. package/lib/eth/provider.js.map +0 -1
  222. package/lib/utils/chainlink-oracles-sepolia.csv +0 -19
  223. package/lib/utils/chainlink-oracles.csv +0 -217
  224. package/src/eth/provider.ts +0 -163
@@ -1,4 +1,4 @@
1
- import { defaultMoveCoder, MoveCoder } from '@sentio/sdk/aptos'
1
+ import { defaultMoveCoder, MoveCoder } from './index.js'
2
2
 
3
3
  import { Event, MoveResource, UserTransactionResponse, EntryFunctionPayloadResponse } from '@aptos-labs/ts-sdk'
4
4
 
@@ -1,6 +1,6 @@
1
1
  import { RecordMetaData } from '@sentio/protos'
2
- import { type Labels, normalizeLabels } from '@sentio/sdk'
3
- import { MoveCoder } from '@sentio/sdk/aptos'
2
+ import { type Labels, normalizeLabels } from '../index.js'
3
+ import { MoveCoder } from './index.js'
4
4
  import {
5
5
  Aptos,
6
6
  Event,
@@ -1,6 +1,6 @@
1
1
  import { BigDecimal } from '@sentio/bigdecimal'
2
2
  import { calculateValueInUsd, getCoinInfo, whitelistCoins, whiteListed } from './coin.js'
3
- import { AptosResourcesContext, AptosContext, AptosNetwork } from '@sentio/sdk/aptos'
3
+ import { AptosResourcesContext, AptosContext, AptosNetwork } from '../index.js'
4
4
  import { MoveCoinList, MoveDex, moveGetPairValue, MovePoolAdaptor, SimpleCoinInfo } from '../../move/ext/index.js'
5
5
  import { MoveResource, Event, MoveModuleBytecode } from '@aptos-labs/ts-sdk'
6
6
 
@@ -1,5 +1,5 @@
1
1
  import { Event, UserTransactionResponse, WriteSetChangeWriteResource } from '@aptos-labs/ts-sdk'
2
- import { coin } from '@sentio/sdk/aptos/builtin/0x1'
2
+ import { coin } from '../builtin/0x1.js'
3
3
  import { parseMoveType } from '../../move/index.js'
4
4
 
5
5
  export function findNewCoinBalances(evt: Event, tx: UserTransactionResponse, coin: string): coin.Coin<any> | undefined {
@@ -1,9 +1,9 @@
1
- import { getPriceByType } from '@sentio/sdk/utils'
1
+ import { getPriceByType } from '../../utils/index.js'
2
2
  import fetch from 'node-fetch'
3
3
  import { accountTypeString, parseMoveType, SPLITTER } from '@typemove/move'
4
4
  import { SimpleCoinInfo } from '../../move/ext/move-dex.js'
5
5
  import { AptosNetwork, getClient } from '../network.js'
6
- import { coin } from '@sentio/sdk/aptos/builtin/0x1'
6
+ import { coin } from '../builtin/0x1.js'
7
7
  import { MoveStructId } from '@aptos-labs/ts-sdk'
8
8
  import { AptosChainId } from '@sentio/chain'
9
9
 
@@ -1,12 +1,14 @@
1
1
  import { AptosNetwork, getClient } from './network.js'
2
2
  import { MoveCoder } from '@typemove/aptos'
3
3
 
4
- const MOVE_CODER = new MoveCoder(getClient(AptosNetwork.MAIN_NET))
5
- const TESTNET_MOVE_CODER = new MoveCoder(getClient(AptosNetwork.TEST_NET))
4
+ const CODERS = new Map<AptosNetwork, MoveCoder>()
6
5
 
7
6
  export function defaultMoveCoder(network: AptosNetwork = AptosNetwork.MAIN_NET): MoveCoder {
8
- if (network == AptosNetwork.MAIN_NET) {
9
- return MOVE_CODER
7
+ let coder = CODERS.get(network)
8
+ if (!coder) {
9
+ coder = new MoveCoder(getClient(network))
10
+ CODERS.set(network, coder)
10
11
  }
11
- return TESTNET_MOVE_CODER
12
+
13
+ return coder
12
14
  }
@@ -7,7 +7,9 @@ export type AptosNetwork = AptosChainId
7
7
  export const AptosNetwork = <const>{
8
8
  MAIN_NET: AptosChainId.APTOS_MAINNET,
9
9
  TEST_NET: AptosChainId.APTOS_TESTNET,
10
- DEV_NET: AptosChainId.APTOS_DEVNET
10
+ DEV_NET: AptosChainId.APTOS_DEVNET,
11
+ M1_TEST_NET: AptosChainId.M1_TESTNET,
12
+ M1_MAIN_NET: AptosChainId.M1_MAINNET
11
13
  }
12
14
 
13
15
  export class AptosBindOptions {
@@ -22,6 +24,10 @@ export function getRpcEndpoint(network: AptosNetwork): string {
22
24
  switch (network) {
23
25
  case AptosNetwork.TEST_NET:
24
26
  return 'https://testnet.aptoslabs.com/v1'
27
+ case AptosNetwork.M1_TEST_NET:
28
+ return 'https://testnet.m1.movementlabs.xyz/v1'
29
+ case AptosNetwork.M1_MAIN_NET:
30
+ return 'https://mainnet.m1.movementlabs.xyz/v1'
25
31
  }
26
32
  return 'https://mainnet.aptoslabs.com/v1'
27
33
  }
@@ -0,0 +1,23 @@
1
+ import { defineConfig } from 'tsup'
2
+ import packageJson from '../package.json'
3
+ import { external } from './tsup.config.js'
4
+
5
+ const entry = Object.values(packageJson.exports).map((p) => p.replace('lib', 'src').replace('.js', '.ts'))
6
+
7
+ export default defineConfig({
8
+ esbuildOptions: (options) => {
9
+ options.banner = {
10
+ js: `import { createRequire as createRequireSdkShim } from 'module'; const require = createRequireSdkShim(import.meta.url);`
11
+ }
12
+ },
13
+ entry,
14
+ outDir: 'lib',
15
+ minify: true,
16
+ sourcemap: true,
17
+ clean: true,
18
+ // https://github.com/egoist/tsup/issues/920, use `tsc --emitDeclarationOnly --declaration` as a workaround
19
+ // dts: true,
20
+ format: 'esm',
21
+ // keepNames: true,
22
+ external
23
+ })
@@ -51,7 +51,8 @@ export class AccountProcessor {
51
51
  fetchConfig?: Partial<EthFetchConfig>,
52
52
  preprocessHandler: (
53
53
  event: ERC20TransferEvent,
54
- ctx: AccountContext
54
+ ctx: AccountContext,
55
+ preprocessStore: { [k: string]: any }
55
56
  ) => Promise<PreprocessResult> = defaultPreprocessHandler
56
57
  ) {
57
58
  return this.onERC20(
@@ -76,7 +77,8 @@ export class AccountProcessor {
76
77
  fetchConfig?: Partial<EthFetchConfig>,
77
78
  preprocessHandler: (
78
79
  event: ERC20TransferEvent,
79
- ctx: AccountContext
80
+ ctx: AccountContext,
81
+ preprocessStore: { [k: string]: any }
80
82
  ) => Promise<PreprocessResult> = defaultPreprocessHandler
81
83
  ) {
82
84
  return this.onERC20(
@@ -101,7 +103,8 @@ export class AccountProcessor {
101
103
  fetchConfig?: Partial<EthFetchConfig>,
102
104
  preprocessHandler: (
103
105
  event: ERC20TransferEvent,
104
- ctx: AccountContext
106
+ ctx: AccountContext,
107
+ preprocessStore: { [k: string]: any }
105
108
  ) => Promise<PreprocessResult> = defaultPreprocessHandler
106
109
  ) {
107
110
  return this.onERC20(
@@ -121,7 +124,8 @@ export class AccountProcessor {
121
124
  fetchConfig?: Partial<EthFetchConfig>,
122
125
  preprocessHandler: (
123
126
  event: ERC20TransferEvent,
124
- ctx: AccountContext
127
+ ctx: AccountContext,
128
+ preprocessStore: { [k: string]: any }
125
129
  ) => Promise<PreprocessResult> = defaultPreprocessHandler
126
130
  ) {
127
131
  return this.onERC(handler, tokensAddresses, defaultFilter, AddressType.ERC20, fetchConfig, preprocessHandler)
@@ -140,7 +144,8 @@ export class AccountProcessor {
140
144
  fetchConfig?: Partial<EthFetchConfig>,
141
145
  preprocessHandler: (
142
146
  event: ERC721TransferEvent,
143
- ctx: AccountContext
147
+ ctx: AccountContext,
148
+ preprocessStore: { [k: string]: any }
144
149
  ) => Promise<PreprocessResult> = defaultPreprocessHandler
145
150
  ) {
146
151
  return this.onERC721(
@@ -165,7 +170,8 @@ export class AccountProcessor {
165
170
  fetchConfig?: Partial<EthFetchConfig>,
166
171
  preprocessHandler: (
167
172
  event: ERC721TransferEvent,
168
- ctx: AccountContext
173
+ ctx: AccountContext,
174
+ preprocessStore: { [k: string]: any }
169
175
  ) => Promise<PreprocessResult> = defaultPreprocessHandler
170
176
  ) {
171
177
  return this.onERC721(
@@ -190,7 +196,8 @@ export class AccountProcessor {
190
196
  fetchConfig?: Partial<EthFetchConfig>,
191
197
  preprocessHandler: (
192
198
  event: ERC721TransferEvent,
193
- ctx: AccountContext
199
+ ctx: AccountContext,
200
+ preprocessStore: { [k: string]: any }
194
201
  ) => Promise<PreprocessResult> = defaultPreprocessHandler
195
202
  ) {
196
203
  return this.onERC721(
@@ -210,7 +217,8 @@ export class AccountProcessor {
210
217
  fetchConfig?: Partial<EthFetchConfig>,
211
218
  preprocessHandler: (
212
219
  event: ERC721TransferEvent,
213
- ctx: AccountContext
220
+ ctx: AccountContext,
221
+ preprocessStore: { [k: string]: any }
214
222
  ) => Promise<PreprocessResult> = defaultPreprocessHandler
215
223
  ) {
216
224
  return this.onERC(handler, collections, defaultFilter, AddressType.ERC721, fetchConfig, preprocessHandler)
@@ -222,7 +230,11 @@ export class AccountProcessor {
222
230
  defaultFilter: (address: string) => AddressOrTypeEventFilter,
223
231
  addressType: AddressType,
224
232
  fetchConfig?: Partial<EthFetchConfig>,
225
- preprocessHandler: (event: any, ctx: AccountContext) => Promise<PreprocessResult> = defaultPreprocessHandler
233
+ preprocessHandler: (
234
+ event: any,
235
+ ctx: AccountContext,
236
+ preprocessStore: { [k: string]: any }
237
+ ) => Promise<PreprocessResult> = defaultPreprocessHandler
226
238
  ) {
227
239
  const filters = []
228
240
  for (const token of contractAddresses) {
@@ -243,7 +255,11 @@ export class AccountProcessor {
243
255
  handler: (event: TypedEvent, ctx: AccountContext) => PromiseOrVoid,
244
256
  filter: AddressOrTypeEventFilter | AddressOrTypeEventFilter[],
245
257
  fetchConfig?: Partial<EthFetchConfig>,
246
- preprocessHandler: (event: TypedEvent, ctx: AccountContext) => Promise<PreprocessResult> = defaultPreprocessHandler
258
+ preprocessHandler: (
259
+ event: TypedEvent,
260
+ ctx: AccountContext,
261
+ preprocessStore: { [k: string]: any }
262
+ ) => Promise<PreprocessResult> = defaultPreprocessHandler
247
263
  ) {
248
264
  const chainId = this.getChainId()
249
265
 
@@ -302,7 +318,7 @@ export class AccountProcessor {
302
318
  }
303
319
  return ProcessResult.fromPartial({})
304
320
  },
305
- preprocessHandler: async function (data) {
321
+ preprocessHandler: async function (data, preprocessStore: { [k: string]: any }) {
306
322
  const { log, block, transaction, transactionReceipt } = formatEthData(data)
307
323
  if (!log) {
308
324
  throw new ServerError(Status.INVALID_ARGUMENT, 'Log is empty')
@@ -323,7 +339,7 @@ export class AccountProcessor {
323
339
  const parsed = ERC20_INTERFACE.parseLog(logParam)
324
340
  if (parsed) {
325
341
  const event: TypedEvent = { ...log, name: parsed.name, args: fixEmptyKey(parsed) }
326
- return preprocessHandler(event, ctx)
342
+ return preprocessHandler(event, ctx, preprocessStore)
327
343
  }
328
344
  return PreprocessResult.fromPartial({})
329
345
  }
@@ -26,7 +26,8 @@ export abstract class BaseProcessorTemplate<
26
26
  handler: (block: BlockParams, ctx: ContractContext<TContract, TBoundContractView>) => PromiseOrVoid
27
27
  preprocessHandler: (
28
28
  block: BlockParams,
29
- ctx: ContractContext<TContract, TBoundContractView>
29
+ ctx: ContractContext<TContract, TBoundContractView>,
30
+ preprocessStore: { [k: string]: any }
30
31
  ) => Promise<PreprocessResult>
31
32
  blockInterval?: HandleInterval
32
33
  timeIntervalInMinutes?: HandleInterval
@@ -37,7 +38,8 @@ export abstract class BaseProcessorTemplate<
37
38
  handler: (trace: TypedCallTrace, ctx: ContractContext<TContract, TBoundContractView>) => PromiseOrVoid
38
39
  preprocessHandler: (
39
40
  trace: TypedCallTrace,
40
- ctx: ContractContext<TContract, TBoundContractView>
41
+ ctx: ContractContext<TContract, TBoundContractView>,
42
+ preprocessStore: { [k: string]: any }
41
43
  ) => Promise<PreprocessResult>
42
44
  fetchConfig?: EthFetchConfig
43
45
  }[] = []
@@ -45,7 +47,8 @@ export abstract class BaseProcessorTemplate<
45
47
  handler: (event: TypedEvent, ctx: ContractContext<TContract, TBoundContractView>) => PromiseOrVoid
46
48
  preprocessHandler: (
47
49
  event: TypedEvent,
48
- ctx: ContractContext<TContract, TBoundContractView>
50
+ ctx: ContractContext<TContract, TBoundContractView>,
51
+ preprocessStore: { [k: string]: any }
49
52
  ) => Promise<PreprocessResult>
50
53
  filter: DeferredTopicFilter | DeferredTopicFilter[]
51
54
  fetchConfig?: EthFetchConfig
@@ -112,7 +115,8 @@ export abstract class BaseProcessorTemplate<
112
115
  fetchConfig?: Partial<EthFetchConfig>,
113
116
  preprocessHandler: (
114
117
  event: TypedEvent,
115
- ctx: ContractContext<TContract, TBoundContractView>
118
+ ctx: ContractContext<TContract, TBoundContractView>,
119
+ preprocessStore: { [k: string]: any }
116
120
  ) => Promise<PreprocessResult> = defaultPreprocessHandler
117
121
  ) {
118
122
  this.eventHandlers.push({
@@ -131,7 +135,8 @@ export abstract class BaseProcessorTemplate<
131
135
  fetchConfig?: EthFetchConfig,
132
136
  preprocessHandler: (
133
137
  block: BlockParams,
134
- ctx: ContractContext<TContract, TBoundContractView>
138
+ ctx: ContractContext<TContract, TBoundContractView>,
139
+ preprocessStore: { [k: string]: any }
135
140
  ) => Promise<PreprocessResult> = defaultPreprocessHandler
136
141
  ) {
137
142
  return this.onInterval(
@@ -153,7 +158,8 @@ export abstract class BaseProcessorTemplate<
153
158
  fetchConfig?: EthFetchConfig,
154
159
  preprocessHandler: (
155
160
  block: BlockParams,
156
- ctx: ContractContext<TContract, TBoundContractView>
161
+ ctx: ContractContext<TContract, TBoundContractView>,
162
+ preprocessStore: { [k: string]: any }
157
163
  ) => Promise<PreprocessResult> = defaultPreprocessHandler
158
164
  ) {
159
165
  return this.onInterval(
@@ -172,7 +178,8 @@ export abstract class BaseProcessorTemplate<
172
178
  fetchConfig: EthFetchConfig | undefined,
173
179
  preprocessHandler: (
174
180
  block: BlockParams,
175
- ctx: ContractContext<TContract, TBoundContractView>
181
+ ctx: ContractContext<TContract, TBoundContractView>,
182
+ preprocessStore: { [k: string]: any }
176
183
  ) => Promise<PreprocessResult> = defaultPreprocessHandler
177
184
  ) {
178
185
  this.blockHandlers.push({
@@ -191,7 +198,8 @@ export abstract class BaseProcessorTemplate<
191
198
  fetchConfig?: Partial<EthFetchConfig>,
192
199
  preprocessHandler: (
193
200
  trace: TypedCallTrace,
194
- ctx: ContractContext<TContract, TBoundContractView>
201
+ ctx: ContractContext<TContract, TBoundContractView>,
202
+ preprocessStore: { [k: string]: any }
195
203
  ) => Promise<PreprocessResult> = defaultPreprocessHandler
196
204
  ) {
197
205
  this.traceHandlers.push({
@@ -31,14 +31,14 @@ export const defaultPreprocessHandler = () => (<PreprocessResult>{ ethCallParams
31
31
  export class EventsHandler {
32
32
  filters: AddressOrTypeEventFilter[]
33
33
  handler: (event: Data_EthLog) => Promise<ProcessResult>
34
- preprocessHandler?: (event: Data_EthLog) => Promise<PreprocessResult>
34
+ preprocessHandler?: (event: Data_EthLog, preprocessStore: { [k: string]: any }) => Promise<PreprocessResult>
35
35
  fetchConfig: EthFetchConfig
36
36
  }
37
37
 
38
38
  export class TraceHandler {
39
39
  signatures: string[]
40
40
  handler: (trace: Data_EthTrace) => Promise<ProcessResult>
41
- preprocessHandler?: (event: Data_EthTrace) => Promise<PreprocessResult>
41
+ preprocessHandler?: (event: Data_EthTrace, preprocessStore: { [k: string]: any }) => Promise<PreprocessResult>
42
42
  fetchConfig: EthFetchConfig
43
43
  }
44
44
 
@@ -46,13 +46,13 @@ export class BlockHandler {
46
46
  blockInterval?: HandleInterval
47
47
  timeIntervalInMinutes?: HandleInterval
48
48
  handler: (block: Data_EthBlock) => Promise<ProcessResult>
49
- preprocessHandler?: (event: Data_EthBlock) => Promise<PreprocessResult>
49
+ preprocessHandler?: (event: Data_EthBlock, preprocessStore: { [k: string]: any }) => Promise<PreprocessResult>
50
50
  fetchConfig: EthFetchConfig
51
51
  }
52
52
 
53
53
  export class TransactionHandler {
54
54
  handler: (block: Data_EthTransaction) => Promise<ProcessResult>
55
- preprocessHandler?: (event: Data_EthTransaction) => Promise<PreprocessResult>
55
+ preprocessHandler?: (event: Data_EthTransaction, preprocessStore: { [k: string]: any }) => Promise<PreprocessResult>
56
56
  fetchConfig: EthFetchConfig
57
57
  }
58
58
 
@@ -314,7 +314,8 @@ export abstract class BaseProcessor<
314
314
  fetchConfig?: Partial<EthFetchConfig>,
315
315
  preprocessHandler: (
316
316
  event: TypedEvent,
317
- ctx: ContractContext<TContract, TBoundContractView>
317
+ ctx: ContractContext<TContract, TBoundContractView>,
318
+ preprocessStore: { [k: string]: any }
318
319
  ) => Promise<PreprocessResult> = defaultPreprocessHandler
319
320
  ): this {
320
321
  const chainId = this.getChainId()
@@ -382,7 +383,10 @@ export abstract class BaseProcessor<
382
383
  }
383
384
  return ProcessResult.fromPartial({})
384
385
  },
385
- preprocessHandler: async function (data: Data_EthLog): Promise<PreprocessResult> {
386
+ preprocessHandler: async function (
387
+ data: Data_EthLog,
388
+ preprocessStore: { [k: string]: any }
389
+ ): Promise<PreprocessResult> {
386
390
  const { log, block, transaction, transactionReceipt } = formatEthData(data)
387
391
  if (!log) {
388
392
  throw new ServerError(Status.INVALID_ARGUMENT, 'Log is empty')
@@ -427,7 +431,7 @@ export abstract class BaseProcessor<
427
431
  }
428
432
  if (parsed) {
429
433
  const event: TypedEvent = { ...log, name: parsed.name, args: fixEmptyKey(parsed) }
430
- return preprocessHandler(event, ctx)
434
+ return preprocessHandler(event, ctx, preprocessStore)
431
435
  }
432
436
  return PreprocessResult.fromPartial({})
433
437
  }
@@ -442,7 +446,8 @@ export abstract class BaseProcessor<
442
446
  fetchConfig?: Partial<EthFetchConfig>,
443
447
  preprocessHandler: (
444
448
  block: RichBlock,
445
- ctx: ContractContext<TContract, TBoundContractView>
449
+ ctx: ContractContext<TContract, TBoundContractView>,
450
+ preprocessStore: { [k: string]: any }
446
451
  ) => Promise<PreprocessResult> = defaultPreprocessHandler
447
452
  ): this {
448
453
  return this.onInterval(
@@ -464,7 +469,8 @@ export abstract class BaseProcessor<
464
469
  fetchConfig?: Partial<EthFetchConfig>,
465
470
  preprocessHandler: (
466
471
  block: RichBlock,
467
- ctx: ContractContext<TContract, TBoundContractView>
472
+ ctx: ContractContext<TContract, TBoundContractView>,
473
+ preprocessStore: { [k: string]: any }
468
474
  ) => Promise<PreprocessResult> = defaultPreprocessHandler
469
475
  ): this {
470
476
  return this.onInterval(
@@ -483,7 +489,8 @@ export abstract class BaseProcessor<
483
489
  fetchConfig: Partial<EthFetchConfig> | undefined,
484
490
  preprocessHandler: (
485
491
  block: RichBlock,
486
- ctx: ContractContext<TContract, TBoundContractView>
492
+ ctx: ContractContext<TContract, TBoundContractView>,
493
+ preprocessStore: { [k: string]: any }
487
494
  ) => Promise<PreprocessResult> = defaultPreprocessHandler
488
495
  ): this {
489
496
  const chainId = this.getChainId()
@@ -516,7 +523,7 @@ export abstract class BaseProcessor<
516
523
  await handler(block, ctx)
517
524
  return ctx.stopAndGetResult()
518
525
  },
519
- preprocessHandler: async function (data: Data_EthBlock) {
526
+ preprocessHandler: async function (data: Data_EthBlock, preprocessStore: { [k: string]: any }) {
520
527
  const { block } = formatEthData(data)
521
528
 
522
529
  if (!block) {
@@ -537,7 +544,7 @@ export abstract class BaseProcessor<
537
544
  undefined,
538
545
  processor.config.baseLabels
539
546
  )
540
- return preprocessHandler(block, ctx)
547
+ return preprocessHandler(block, ctx, preprocessStore)
541
548
  },
542
549
  timeIntervalInMinutes: timeInterval,
543
550
  blockInterval: blockInterval,
@@ -552,7 +559,8 @@ export abstract class BaseProcessor<
552
559
  fetchConfig?: Partial<EthFetchConfig>,
553
560
  preprocessHandler: (
554
561
  trace: TypedCallTrace,
555
- ctx: ContractContext<TContract, TBoundContractView>
562
+ ctx: ContractContext<TContract, TBoundContractView>,
563
+ preprocessStore: { [k: string]: any }
556
564
  ) => Promise<PreprocessResult> = defaultPreprocessHandler
557
565
  ): this {
558
566
  const chainId = this.getChainId()
@@ -610,7 +618,7 @@ export abstract class BaseProcessor<
610
618
  await handler(typedTrace, ctx)
611
619
  return ctx.stopAndGetResult()
612
620
  },
613
- preprocessHandler: async function (data: Data_EthTrace) {
621
+ preprocessHandler: async function (data: Data_EthTrace, preprocessStore: { [k: string]: any }) {
614
622
  const contractView = processor.CreateBoundContractView()
615
623
  const contractInterface = contractView.rawContract.interface
616
624
  const { trace, block, transaction, transactionReceipt } = formatEthData(data)
@@ -651,7 +659,7 @@ export abstract class BaseProcessor<
651
659
  transactionReceipt,
652
660
  processor.config.baseLabels
653
661
  )
654
- return preprocessHandler(typedTrace, ctx)
662
+ return preprocessHandler(typedTrace, ctx, preprocessStore)
655
663
  }
656
664
  })
657
665
  return this
@@ -662,7 +670,8 @@ export abstract class BaseProcessor<
662
670
  fetchConfig?: Partial<EthFetchConfig>,
663
671
  preprocessHandler: (
664
672
  trace: TypedCallTrace,
665
- ctx: ContractContext<TContract, TBoundContractView>
673
+ ctx: ContractContext<TContract, TBoundContractView>,
674
+ preprocessStore: { [k: string]: any }
666
675
  ) => Promise<PreprocessResult> = defaultPreprocessHandler
667
676
  ): this {
668
677
  const tmpContract = this.CreateBoundContractView()