@sentio/sdk 4.0.0-rc.1 → 4.0.0-rc.11

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 (357) hide show
  1. package/lib/aptos/aptos-plugin.d.ts +1 -1
  2. package/lib/aptos/aptos-plugin.d.ts.map +1 -1
  3. package/lib/aptos/aptos-plugin.js +43 -42
  4. package/lib/aptos/aptos-plugin.js.map +1 -1
  5. package/lib/aptos/aptos-processor.d.ts +1 -1
  6. package/lib/aptos/aptos-processor.d.ts.map +1 -1
  7. package/lib/aptos/aptos-processor.js +25 -25
  8. package/lib/aptos/aptos-processor.js.map +1 -1
  9. package/lib/aptos/aptos-resource-processor-template.d.ts +1 -1
  10. package/lib/aptos/aptos-resource-processor-template.d.ts.map +1 -1
  11. package/lib/aptos/aptos-resource-processor-template.js +10 -5
  12. package/lib/aptos/aptos-resource-processor-template.js.map +1 -1
  13. package/lib/aptos/context.d.ts +1 -1
  14. package/lib/aptos/context.d.ts.map +1 -1
  15. package/lib/aptos/context.js +11 -9
  16. package/lib/aptos/context.js.map +1 -1
  17. package/lib/aptos/data.d.ts +4 -4
  18. package/lib/aptos/data.d.ts.map +1 -1
  19. package/lib/aptos/network.js +1 -1
  20. package/lib/aptos/network.js.map +1 -1
  21. package/lib/core/base-context.d.ts +3 -2
  22. package/lib/core/base-context.d.ts.map +1 -1
  23. package/lib/core/base-context.js +12 -11
  24. package/lib/core/base-context.js.map +1 -1
  25. package/lib/core/core-plugin.d.ts.map +1 -1
  26. package/lib/core/core-plugin.js +6 -4
  27. package/lib/core/core-plugin.js.map +1 -1
  28. package/lib/core/event-logger.d.ts +10 -2
  29. package/lib/core/event-logger.d.ts.map +1 -1
  30. package/lib/core/event-logger.js +42 -27
  31. package/lib/core/event-logger.js.map +1 -1
  32. package/lib/core/exporter.d.ts.map +1 -1
  33. package/lib/core/exporter.js +5 -3
  34. package/lib/core/exporter.js.map +1 -1
  35. package/lib/core/handler-options.d.ts +1 -1
  36. package/lib/core/handler-options.d.ts.map +1 -1
  37. package/lib/core/handler-register.d.ts +1 -1
  38. package/lib/core/handler-register.d.ts.map +1 -1
  39. package/lib/core/handler-register.js +2 -2
  40. package/lib/core/handler-register.js.map +1 -1
  41. package/lib/core/meter.d.ts +4 -3
  42. package/lib/core/meter.d.ts.map +1 -1
  43. package/lib/core/meter.js +5 -4
  44. package/lib/core/meter.js.map +1 -1
  45. package/lib/core/normalization.d.ts +1 -1
  46. package/lib/core/normalization.d.ts.map +1 -1
  47. package/lib/core/normalization.js +41 -31
  48. package/lib/core/normalization.js.map +1 -1
  49. package/lib/core/numberish.d.ts +1 -1
  50. package/lib/core/numberish.d.ts.map +1 -1
  51. package/lib/core/numberish.js +35 -30
  52. package/lib/core/numberish.js.map +1 -1
  53. package/lib/core/partition-handler-manager.d.ts +1 -1
  54. package/lib/core/partition-handler-manager.d.ts.map +1 -1
  55. package/lib/core/partition-handler-manager.js +10 -9
  56. package/lib/core/partition-handler-manager.js.map +1 -1
  57. package/lib/cosmos/context.d.ts.map +1 -1
  58. package/lib/cosmos/context.js +4 -2
  59. package/lib/cosmos/context.js.map +1 -1
  60. package/lib/cosmos/cosmos-plugin.d.ts.map +1 -1
  61. package/lib/cosmos/cosmos-plugin.js +11 -10
  62. package/lib/cosmos/cosmos-plugin.js.map +1 -1
  63. package/lib/cosmos/cosmos-processor.js.map +1 -1
  64. package/lib/eth/abi-decoder/decode-worker.js +2 -2
  65. package/lib/eth/abi-decoder/decode-worker.js.map +1 -1
  66. package/lib/eth/account-processor.d.ts +2 -2
  67. package/lib/eth/account-processor.d.ts.map +1 -1
  68. package/lib/eth/account-processor.js +10 -9
  69. package/lib/eth/account-processor.js.map +1 -1
  70. package/lib/eth/base-processor-template.d.ts +3 -3
  71. package/lib/eth/base-processor-template.d.ts.map +1 -1
  72. package/lib/eth/base-processor-template.js +12 -8
  73. package/lib/eth/base-processor-template.js.map +1 -1
  74. package/lib/eth/base-processor.d.ts +1 -1
  75. package/lib/eth/base-processor.d.ts.map +1 -1
  76. package/lib/eth/base-processor.js +53 -46
  77. package/lib/eth/base-processor.js.map +1 -1
  78. package/lib/eth/builtin/internal/eacaggregatorproxy-processor.d.ts.map +1 -1
  79. package/lib/eth/builtin/internal/eacaggregatorproxy-processor.js +48 -46
  80. package/lib/eth/builtin/internal/eacaggregatorproxy-processor.js.map +1 -1
  81. package/lib/eth/builtin/internal/erc1155-processor.d.ts.map +1 -1
  82. package/lib/eth/builtin/internal/erc1155-processor.js +18 -16
  83. package/lib/eth/builtin/internal/erc1155-processor.js.map +1 -1
  84. package/lib/eth/builtin/internal/erc20-processor.d.ts.map +1 -1
  85. package/lib/eth/builtin/internal/erc20-processor.js +38 -36
  86. package/lib/eth/builtin/internal/erc20-processor.js.map +1 -1
  87. package/lib/eth/builtin/internal/erc20bytes-processor.d.ts.map +1 -1
  88. package/lib/eth/builtin/internal/erc20bytes-processor.js +20 -18
  89. package/lib/eth/builtin/internal/erc20bytes-processor.js.map +1 -1
  90. package/lib/eth/builtin/internal/erc721-processor.d.ts.map +1 -1
  91. package/lib/eth/builtin/internal/erc721-processor.js +30 -28
  92. package/lib/eth/builtin/internal/erc721-processor.js.map +1 -1
  93. package/lib/eth/builtin/internal/weth9-processor.d.ts.map +1 -1
  94. package/lib/eth/builtin/internal/weth9-processor.js +24 -22
  95. package/lib/eth/builtin/internal/weth9-processor.js.map +1 -1
  96. package/lib/eth/codegen/file.d.ts.map +1 -1
  97. package/lib/eth/codegen/file.js +2 -1
  98. package/lib/eth/codegen/file.js.map +1 -1
  99. package/lib/eth/codegen/function-calls.js +1 -1
  100. package/lib/eth/context.d.ts +1 -1
  101. package/lib/eth/context.d.ts.map +1 -1
  102. package/lib/eth/context.js +17 -11
  103. package/lib/eth/context.js.map +1 -1
  104. package/lib/eth/eth-plugin.d.ts.map +1 -1
  105. package/lib/eth/eth-plugin.js +85 -76
  106. package/lib/eth/eth-plugin.js.map +1 -1
  107. package/lib/eth/eth.d.ts +6 -6
  108. package/lib/eth/eth.d.ts.map +1 -1
  109. package/lib/eth/eth.js +39 -26
  110. package/lib/eth/eth.js.map +1 -1
  111. package/lib/eth/generic-processor.js +1 -1
  112. package/lib/eth/generic-processor.js.map +1 -1
  113. package/lib/eth/index.d.ts +2 -2
  114. package/lib/eth/index.d.ts.map +1 -1
  115. package/lib/eth/index.js +1 -2
  116. package/lib/eth/index.js.map +1 -1
  117. package/lib/eth/provider.d.ts +13 -0
  118. package/lib/eth/provider.d.ts.map +1 -0
  119. package/lib/eth/provider.js +164 -0
  120. package/lib/eth/provider.js.map +1 -0
  121. package/lib/fuel/asset-processor.d.ts +2 -2
  122. package/lib/fuel/asset-processor.d.ts.map +1 -1
  123. package/lib/fuel/asset-processor.js +5 -3
  124. package/lib/fuel/asset-processor.js.map +1 -1
  125. package/lib/fuel/context.d.ts.map +1 -1
  126. package/lib/fuel/context.js +4 -2
  127. package/lib/fuel/context.js.map +1 -1
  128. package/lib/fuel/fuel-plugin.d.ts.map +1 -1
  129. package/lib/fuel/fuel-plugin.js +41 -53
  130. package/lib/fuel/fuel-plugin.js.map +1 -1
  131. package/lib/fuel/fuel-processor-template.d.ts.map +1 -1
  132. package/lib/fuel/fuel-processor-template.js +7 -5
  133. package/lib/fuel/fuel-processor-template.js.map +1 -1
  134. package/lib/fuel/fuel-processor.d.ts.map +1 -1
  135. package/lib/fuel/fuel-processor.js +30 -20
  136. package/lib/fuel/fuel-processor.js.map +1 -1
  137. package/lib/fuel/global-processor.d.ts.map +1 -1
  138. package/lib/fuel/global-processor.js +2 -1
  139. package/lib/fuel/global-processor.js.map +1 -1
  140. package/lib/fuel/network.js +5 -5
  141. package/lib/fuel/network.js.map +1 -1
  142. package/lib/fuel/types.d.ts +10 -4
  143. package/lib/fuel/types.d.ts.map +1 -1
  144. package/lib/fuel/types.js.map +1 -1
  145. package/lib/iota/context.d.ts +1 -1
  146. package/lib/iota/context.d.ts.map +1 -1
  147. package/lib/iota/context.js +8 -6
  148. package/lib/iota/context.js.map +1 -1
  149. package/lib/iota/iota-object-processor-template.d.ts +1 -1
  150. package/lib/iota/iota-object-processor-template.d.ts.map +1 -1
  151. package/lib/iota/iota-object-processor-template.js +17 -12
  152. package/lib/iota/iota-object-processor-template.js.map +1 -1
  153. package/lib/iota/iota-object-processor.d.ts +1 -1
  154. package/lib/iota/iota-object-processor.d.ts.map +1 -1
  155. package/lib/iota/iota-object-processor.js +23 -16
  156. package/lib/iota/iota-object-processor.js.map +1 -1
  157. package/lib/iota/iota-plugin-part.d.ts +1 -1
  158. package/lib/iota/iota-plugin-part.d.ts.map +1 -1
  159. package/lib/iota/iota-plugin-part.js +16 -15
  160. package/lib/iota/iota-plugin-part.js.map +1 -1
  161. package/lib/iota/iota-processor.d.ts +1 -1
  162. package/lib/iota/iota-processor.d.ts.map +1 -1
  163. package/lib/iota/iota-processor.js +18 -17
  164. package/lib/iota/iota-processor.js.map +1 -1
  165. package/lib/iota/network.js +6 -6
  166. package/lib/iota/network.js.map +1 -1
  167. package/lib/move/filter.d.ts +1 -1
  168. package/lib/move/filter.d.ts.map +1 -1
  169. package/lib/move/index.d.ts +1 -1
  170. package/lib/move/index.d.ts.map +1 -1
  171. package/lib/move/index.js +0 -1
  172. package/lib/move/index.js.map +1 -1
  173. package/lib/solana/builtin/types.d.ts +4 -4
  174. package/lib/solana/solana-context.d.ts.map +1 -1
  175. package/lib/solana/solana-context.js +4 -3
  176. package/lib/solana/solana-context.js.map +1 -1
  177. package/lib/solana/solana-plugin.d.ts.map +1 -1
  178. package/lib/solana/solana-plugin.js +19 -18
  179. package/lib/solana/solana-plugin.js.map +1 -1
  180. package/lib/solana/solana-processor.d.ts.map +1 -1
  181. package/lib/solana/solana-processor.js +8 -3
  182. package/lib/solana/solana-processor.js.map +1 -1
  183. package/lib/store/cache.d.ts.map +1 -1
  184. package/lib/store/cache.js +22 -17
  185. package/lib/store/cache.js.map +1 -1
  186. package/lib/store/convert.d.ts +1 -1
  187. package/lib/store/convert.d.ts.map +1 -1
  188. package/lib/store/convert.js +67 -104
  189. package/lib/store/convert.js.map +1 -1
  190. package/lib/store/decorators.d.ts +1 -1
  191. package/lib/store/decorators.d.ts.map +1 -1
  192. package/lib/store/decorators.js +3 -1
  193. package/lib/store/decorators.js.map +1 -1
  194. package/lib/store/store.d.ts.map +1 -1
  195. package/lib/store/store.js +24 -16
  196. package/lib/store/store.js.map +1 -1
  197. package/lib/store/types.js +24 -32
  198. package/lib/store/types.js.map +1 -1
  199. package/lib/store/util.d.ts +1 -1
  200. package/lib/store/util.d.ts.map +1 -1
  201. package/lib/store/util.js +13 -17
  202. package/lib/store/util.js.map +1 -1
  203. package/lib/sui/context.d.ts +1 -1
  204. package/lib/sui/context.d.ts.map +1 -1
  205. package/lib/sui/context.js +8 -6
  206. package/lib/sui/context.js.map +1 -1
  207. package/lib/sui/network.d.ts.map +1 -1
  208. package/lib/sui/network.js +11 -6
  209. package/lib/sui/network.js.map +1 -1
  210. package/lib/sui/sui-object-processor-template.d.ts +1 -1
  211. package/lib/sui/sui-object-processor-template.d.ts.map +1 -1
  212. package/lib/sui/sui-object-processor-template.js +17 -12
  213. package/lib/sui/sui-object-processor-template.js.map +1 -1
  214. package/lib/sui/sui-object-processor.d.ts +1 -1
  215. package/lib/sui/sui-object-processor.d.ts.map +1 -1
  216. package/lib/sui/sui-object-processor.js +29 -21
  217. package/lib/sui/sui-object-processor.js.map +1 -1
  218. package/lib/sui/sui-plugin-part.d.ts +1 -1
  219. package/lib/sui/sui-plugin-part.d.ts.map +1 -1
  220. package/lib/sui/sui-plugin-part.js +16 -15
  221. package/lib/sui/sui-plugin-part.js.map +1 -1
  222. package/lib/sui/sui-plugin.d.ts +1 -1
  223. package/lib/sui/sui-plugin.d.ts.map +1 -1
  224. package/lib/sui/sui-plugin.js +35 -34
  225. package/lib/sui/sui-plugin.js.map +1 -1
  226. package/lib/sui/sui-processor.d.ts +1 -1
  227. package/lib/sui/sui-processor.d.ts.map +1 -1
  228. package/lib/sui/sui-processor.js +24 -21
  229. package/lib/sui/sui-processor.js.map +1 -1
  230. package/lib/sui/to-client-types.d.ts +4 -0
  231. package/lib/sui/to-client-types.d.ts.map +1 -0
  232. package/lib/sui/to-client-types.js +69 -0
  233. package/lib/sui/to-client-types.js.map +1 -0
  234. package/lib/testing/aptos-facet.d.ts.map +1 -1
  235. package/lib/testing/aptos-facet.js +18 -11
  236. package/lib/testing/aptos-facet.js.map +1 -1
  237. package/lib/testing/cosmos-facet.d.ts.map +1 -1
  238. package/lib/testing/cosmos-facet.js +10 -6
  239. package/lib/testing/cosmos-facet.js.map +1 -1
  240. package/lib/testing/eth-facet.d.ts +1 -1
  241. package/lib/testing/eth-facet.d.ts.map +1 -1
  242. package/lib/testing/eth-facet.js +34 -18
  243. package/lib/testing/eth-facet.js.map +1 -1
  244. package/lib/testing/fuel-facet.d.ts.map +1 -1
  245. package/lib/testing/fuel-facet.js +28 -18
  246. package/lib/testing/fuel-facet.js.map +1 -1
  247. package/lib/testing/iota-facet.d.ts.map +1 -1
  248. package/lib/testing/iota-facet.js +32 -20
  249. package/lib/testing/iota-facet.js.map +1 -1
  250. package/lib/testing/memory-database.d.ts +11 -3
  251. package/lib/testing/memory-database.d.ts.map +1 -1
  252. package/lib/testing/memory-database.js +84 -71
  253. package/lib/testing/memory-database.js.map +1 -1
  254. package/lib/testing/metric-utils.d.ts +2 -2
  255. package/lib/testing/metric-utils.d.ts.map +1 -1
  256. package/lib/testing/metric-utils.js +13 -12
  257. package/lib/testing/metric-utils.js.map +1 -1
  258. package/lib/testing/solana-facet.d.ts +3 -2
  259. package/lib/testing/solana-facet.d.ts.map +1 -1
  260. package/lib/testing/solana-facet.js +8 -5
  261. package/lib/testing/solana-facet.js.map +1 -1
  262. package/lib/testing/sui-facet.d.ts.map +1 -1
  263. package/lib/testing/sui-facet.js +30 -20
  264. package/lib/testing/sui-facet.js.map +1 -1
  265. package/lib/testing/test-processor-server.d.ts +1452 -16
  266. package/lib/testing/test-processor-server.d.ts.map +1 -1
  267. package/lib/testing/test-processor-server.js +109 -46
  268. package/lib/testing/test-processor-server.js.map +1 -1
  269. package/lib/testing/test-provider.js +1 -1
  270. package/lib/testing/test-provider.js.map +1 -1
  271. package/lib/utils/price.d.ts +1 -1
  272. package/lib/utils/price.d.ts.map +1 -1
  273. package/lib/utils/price.js +19 -12
  274. package/lib/utils/price.js.map +1 -1
  275. package/package.json +5 -7
  276. package/src/aptos/aptos-plugin.ts +105 -91
  277. package/src/aptos/aptos-processor.ts +33 -25
  278. package/src/aptos/aptos-resource-processor-template.ts +15 -6
  279. package/src/aptos/context.ts +11 -10
  280. package/src/aptos/data.ts +4 -4
  281. package/src/aptos/network.ts +1 -1
  282. package/src/core/base-context.ts +19 -12
  283. package/src/core/core-plugin.ts +10 -7
  284. package/src/core/event-logger.ts +63 -35
  285. package/src/core/exporter.ts +5 -4
  286. package/src/core/handler-options.ts +1 -1
  287. package/src/core/handler-register.ts +3 -3
  288. package/src/core/meter.ts +9 -7
  289. package/src/core/normalization.ts +53 -31
  290. package/src/core/numberish.ts +46 -30
  291. package/src/core/partition-handler-manager.ts +13 -11
  292. package/src/cosmos/context.ts +4 -3
  293. package/src/cosmos/cosmos-plugin.ts +19 -15
  294. package/src/cosmos/cosmos-processor.ts +2 -2
  295. package/src/eth/abi-decoder/decode-worker.ts +2 -2
  296. package/src/eth/account-processor.ts +21 -12
  297. package/src/eth/base-processor-template.ts +22 -10
  298. package/src/eth/base-processor.ts +66 -54
  299. package/src/eth/builtin/internal/eacaggregatorproxy-processor.ts +177 -116
  300. package/src/eth/builtin/internal/erc1155-processor.ts +73 -38
  301. package/src/eth/builtin/internal/erc20-processor.ts +152 -91
  302. package/src/eth/builtin/internal/erc20bytes-processor.ts +80 -46
  303. package/src/eth/builtin/internal/erc721-processor.ts +109 -65
  304. package/src/eth/builtin/internal/weth9-processor.ts +95 -56
  305. package/src/eth/codegen/file.ts +2 -1
  306. package/src/eth/codegen/function-calls.ts +1 -1
  307. package/src/eth/context.ts +29 -13
  308. package/src/eth/eth-plugin.ts +137 -127
  309. package/src/eth/eth.ts +46 -32
  310. package/src/eth/generic-processor.ts +1 -1
  311. package/src/eth/index.ts +2 -2
  312. package/src/eth/provider.ts +193 -0
  313. package/src/fuel/asset-processor.ts +16 -8
  314. package/src/fuel/context.ts +4 -3
  315. package/src/fuel/fuel-plugin.ts +71 -73
  316. package/src/fuel/fuel-processor-template.ts +7 -6
  317. package/src/fuel/fuel-processor.ts +35 -23
  318. package/src/fuel/global-processor.ts +3 -3
  319. package/src/fuel/network.ts +5 -5
  320. package/src/fuel/types.ts +10 -4
  321. package/src/iota/context.ts +8 -7
  322. package/src/iota/iota-object-processor-template.ts +25 -15
  323. package/src/iota/iota-object-processor.ts +33 -22
  324. package/src/iota/iota-plugin-part.ts +41 -34
  325. package/src/iota/iota-processor.ts +25 -17
  326. package/src/iota/network.ts +6 -6
  327. package/src/move/filter.ts +1 -1
  328. package/src/move/index.ts +1 -1
  329. package/src/solana/solana-context.ts +4 -3
  330. package/src/solana/solana-plugin.ts +27 -24
  331. package/src/solana/solana-processor.ts +14 -6
  332. package/src/store/cache.ts +22 -18
  333. package/src/store/convert.ts +68 -104
  334. package/src/store/decorators.ts +3 -2
  335. package/src/store/store.ts +30 -22
  336. package/src/store/types.ts +24 -33
  337. package/src/store/util.ts +13 -18
  338. package/src/sui/context.ts +8 -7
  339. package/src/sui/network.ts +12 -7
  340. package/src/sui/sui-object-processor-template.ts +25 -15
  341. package/src/sui/sui-object-processor.ts +50 -28
  342. package/src/sui/sui-plugin-part.ts +41 -34
  343. package/src/sui/sui-plugin.ts +49 -47
  344. package/src/sui/sui-processor.ts +31 -21
  345. package/src/sui/to-client-types.ts +75 -0
  346. package/src/testing/aptos-facet.ts +18 -11
  347. package/src/testing/cosmos-facet.ts +10 -6
  348. package/src/testing/eth-facet.ts +40 -18
  349. package/src/testing/fuel-facet.ts +28 -18
  350. package/src/testing/iota-facet.ts +32 -20
  351. package/src/testing/memory-database.ts +126 -88
  352. package/src/testing/metric-utils.ts +15 -14
  353. package/src/testing/solana-facet.ts +11 -6
  354. package/src/testing/sui-facet.ts +30 -20
  355. package/src/testing/test-processor-server.ts +170 -80
  356. package/src/testing/test-provider.ts +1 -1
  357. package/src/utils/price.ts +20 -13
@@ -96,7 +96,7 @@ export function generateBoundFunctionCallEncoder(fn, includeArgTypes) {
96
96
  ${declName ?? fn.name}(${generateInputTypes(fn.inputs, {
97
97
  useStructs: true
98
98
  })}overrides?: Overrides): EthCallParam {
99
- return this.view.encodeCall.${declName}(${fn.inputs.length > 0 ? fn.inputs.map((input, index) => input.name || `arg${index}`).join(',') + ',' : ''}{chainId: this.context.chainId.toString(), address: this.context.address, blockTag: this.context.getBlockTag(overrides)})
99
+ return this.view.encodeCall.${declName}(${fn.inputs.length > 0 ? fn.inputs.map((input, index) => input.name || `arg${index}`).join(',') + ',' : ''}create(EthCallContextSchema, {chainId: this.context.chainId.toString(), address: this.context.address, blockTag: this.context.getBlockTag(overrides)}))
100
100
  }
101
101
  `
102
102
  ];
@@ -1,6 +1,6 @@
1
1
  import { BaseContract, Overrides } from 'ethers';
2
2
  import { LogParams, BlockParams, TransactionReceiptParams, TransactionResponseParams } from 'ethers/providers';
3
- import { EthCallContext, PreparedData, RecordMetaData } from '@sentio/protos';
3
+ import { type EthCallContext, type PreparedData, type RecordMetaData } from '@sentio/protos';
4
4
  import { Trace } from './eth.js';
5
5
  import { Labels } from '../core/index.js';
6
6
  import { BaseContext } from '../core/base-context.js';
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/eth/context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/eth/context.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,7 @@
1
+ import { allowNull } from 'ethers/providers';
2
+ import { getNumber } from 'ethers/utils';
3
+ import { EthCallContextSchema, RecordMetaDataSchema } from '@sentio/protos';
4
+ import { create } from '@bufbuild/protobuf';
1
5
  import { normalizeLabels } from '../core/index.js';
2
6
  import { BaseContext } from '../core/base-context.js';
3
7
  export class EthContext extends BaseContext {
@@ -43,7 +47,7 @@ export class EthContext extends BaseContext {
43
47
  }
44
48
  getMetaDataInternal(name, labels) {
45
49
  if (this.log) {
46
- return {
50
+ return create(RecordMetaDataSchema, {
47
51
  address: this.address,
48
52
  contractName: this.getContractName(),
49
53
  blockNumber: BigInt(this.blockNumber),
@@ -53,23 +57,25 @@ export class EthContext extends BaseContext {
53
57
  chainId: this.chainId,
54
58
  name: name,
55
59
  labels: normalizeLabels(labels)
56
- };
60
+ });
57
61
  }
58
62
  if (this.trace) {
59
- return {
63
+ return create(RecordMetaDataSchema, {
60
64
  address: this.address,
61
65
  contractName: this.getContractName(),
62
66
  blockNumber: BigInt(this.blockNumber),
63
- transactionIndex: this.trace.transactionPosition,
67
+ // Traces are used as a raw `as Trace` cast (no Formatted wrapper), so transactionPosition
68
+ // may be a hex string from raw RPC; coerce for the int32 field (default 0 when absent).
69
+ transactionIndex: allowNull(getNumber, 0)(this.trace.transactionPosition),
64
70
  transactionHash: this.transactionHash || '',
65
71
  logIndex: -1,
66
72
  chainId: this.chainId.toString(),
67
73
  name: name,
68
74
  labels: normalizeLabels(labels)
69
- };
75
+ });
70
76
  }
71
77
  if (this.transaction) {
72
- return {
78
+ return create(RecordMetaDataSchema, {
73
79
  address: this.address,
74
80
  contractName: this.getContractName(),
75
81
  blockNumber: BigInt(this.blockNumber),
@@ -79,10 +85,10 @@ export class EthContext extends BaseContext {
79
85
  chainId: this.chainId.toString(),
80
86
  name: name,
81
87
  labels: normalizeLabels(labels)
82
- };
88
+ });
83
89
  }
84
90
  if (this.block) {
85
- return {
91
+ return create(RecordMetaDataSchema, {
86
92
  address: this.address,
87
93
  contractName: this.getContractName(),
88
94
  blockNumber: BigInt(this.blockNumber),
@@ -92,7 +98,7 @@ export class EthContext extends BaseContext {
92
98
  chainId: this.chainId.toString(),
93
99
  name: name,
94
100
  labels: normalizeLabels(labels)
95
- };
101
+ });
96
102
  }
97
103
  throw new Error("Invaid ctx argument can't happen");
98
104
  }
@@ -105,11 +111,11 @@ export class EthContext extends BaseContext {
105
111
  return blockTagWithOverride;
106
112
  }
107
113
  getEthCallContext() {
108
- return {
114
+ return create(EthCallContextSchema, {
109
115
  chainId: this.chainId,
110
116
  blockTag: '0x' + this.blockNumber.toString(16),
111
117
  address: this.address
112
- };
118
+ });
113
119
  }
114
120
  }
115
121
  export class AccountContext extends EthContext {
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/eth/context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/eth/context.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"eth-plugin.d.ts","sourceRoot":"","sources":["../../src/eth/eth-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,MAAM,EAGP,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAA;AAC1D,OAAO,EAGL,WAAW,EACX,WAAW,EACX,YAAY,EAGZ,YAAY,EAEZ,qBAAqB,EACrB,aAAa,EACb,gCAAgC,EAChC,YAAY,EACb,MAAM,gBAAgB,CAAA;AAWvB,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAA;AAE7D,qBAAa,SAAU,SAAQ,MAAM;IACnC,IAAI,EAAE,MAAM,CAAc;IAC1B,eAAe,kBAAwB;IAEvC,gBAAgB,0BAAgC;IAE1C,IAAI,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IASzC,SAAS,CAAC,MAAM,EAAE,qBAAqB,EAAE,UAAU,CAAC,EAAE,MAAM;IAkRlE,iBAAiB,gBAAmG;IAEpH,cAAc,CAAC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,GAAG,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC;IAgB9F,SAAS,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,gCAAgC,CAAC;IAwC1E,KAAK,CAAC,OAAO,EAAE,YAAY;IA6B3B,UAAU,CAAC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,GAAG,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC;IAwBhG,YAAY,CAAC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,GAAG,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC;IA0BlG,YAAY,CAAC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,GAAG,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC;IAyBlG,kBAAkB,CAAC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,GAAG,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC;CAwB/G"}
1
+ {"version":3,"file":"eth-plugin.d.ts","sourceRoot":"","sources":["../../src/eth/eth-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmD,MAAM,EAAiC,MAAM,iBAAiB,CAAA;AAExH,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAA;AAC1D,OAAO,EAGL,WAAW,EACX,WAAW,EACX,YAAY,EAIZ,YAAY,EAGZ,qBAAqB,EACrB,aAAa,EACb,gCAAgC,EAEhC,YAAY,EAIb,MAAM,gBAAgB,CAAA;AAWvB,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAA;AAE7D,qBAAa,SAAU,SAAQ,MAAM;IACnC,IAAI,EAAE,MAAM,CAAc;IAC1B,eAAe,kBAAwB;IAEvC,gBAAgB,0BAAgC;IAE1C,IAAI,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IASzC,SAAS,CAAC,MAAM,EAAE,qBAAqB,EAAE,UAAU,CAAC,EAAE,MAAM;IAsSlE,iBAAiB,gBAAmG;IAEpH,cAAc,CAAC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,GAAG,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC;IAgB9F,SAAS,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,gCAAgC,CAAC;IAwC1E,KAAK,CAAC,OAAO,EAAE,YAAY;IA6B3B,UAAU,CAAC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,GAAG,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC;IAqBhG,YAAY,CAAC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,GAAG,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC;IAuBlG,YAAY,CAAC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,GAAG,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC;IAsBlG,kBAAkB,CAAC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,GAAG,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC;CAwB/G"}
@@ -1,7 +1,9 @@
1
- import { errorString, getProvider, GLOBAL_CONFIG, mergeProcessResults, Plugin, PluginManager, USER_PROCESSOR } from '@sentio/runtime';
1
+ import { errorString, GLOBAL_CONFIG, mergeProcessResults, Plugin, PluginManager, USER_PROCESSOR } from '@sentio/runtime';
2
+ import { getProvider } from './provider.js';
2
3
  import { PartitionHandlerManager } from '../core/index.js';
3
- import { AccountConfig, ContractConfig, HandlerType } from '@sentio/protos';
4
- import { ServerError, Status } from 'nice-grpc';
4
+ import { AccountConfigSchema, ContractConfigSchema, HandlerType, LogFilterSchema, LogHandlerConfigSchema, OnIntervalConfigSchema, PreprocessResultSchema, ProcessStreamResponse_PartitionsSchema, TopicSchema, TraceHandlerConfigSchema, TransactionHandlerConfigSchema } from '@sentio/protos';
5
+ import { create } from '@bufbuild/protobuf';
6
+ import { ConnectError, Code } from '@connectrpc/connect';
5
7
  import { EthProcessorState } from './binds.js';
6
8
  import { AccountProcessorState } from './account-processor-state.js';
7
9
  import { ProcessorTemplateProcessorState } from './base-processor-template.js';
@@ -36,7 +38,7 @@ export class EthPlugin extends Plugin {
36
38
  const provider = getProvider(chainId);
37
39
  const startBlock = await timeOrBlockToBlockNumber(provider, processor.config.start);
38
40
  const endBlock = processor.config.end ? await timeOrBlockToBlockNumber(provider, processor.config.end) : undefined;
39
- const contractConfig = ContractConfig.fromPartial({
41
+ const contractConfig = create(ContractConfigSchema, {
40
42
  processorType: USER_PROCESSOR,
41
43
  contract: {
42
44
  name: processor.config.name,
@@ -52,7 +54,7 @@ export class EthPlugin extends Plugin {
52
54
  const handlerId = this.handlerRegister.register(blockHandler.handler, chainId);
53
55
  this.partitionManager.registerPartitionHandler(HandlerType.ETH_BLOCK, handlerId, blockHandler.partitionHandler);
54
56
  // TODO wrap the block handler into one
55
- contractConfig.intervalConfigs.push({
57
+ contractConfig.intervalConfigs.push(create(OnIntervalConfigSchema, {
56
58
  slot: 0,
57
59
  slotInterval: blockHandler.blockInterval,
58
60
  minutes: 0,
@@ -60,19 +62,19 @@ export class EthPlugin extends Plugin {
60
62
  handlerId: handlerId,
61
63
  handlerName: blockHandler.handlerName,
62
64
  fetchConfig: blockHandler.fetchConfig
63
- });
65
+ }));
64
66
  }
65
67
  // Step 2. Prepare all trace handlers
66
68
  for (const traceHandler of processor.traceHandlers) {
67
69
  const handlerId = this.handlerRegister.register(traceHandler.handler, chainId);
68
70
  this.partitionManager.registerPartitionHandler(HandlerType.ETH_TRACE, handlerId, traceHandler.partitionHandler);
69
71
  for (const signature of traceHandler.signatures) {
70
- contractConfig.traceConfigs.push({
72
+ contractConfig.traceConfigs.push(create(TraceHandlerConfigSchema, {
71
73
  signature: signature,
72
74
  handlerId: handlerId,
73
75
  handlerName: traceHandler.handlerName,
74
76
  fetchConfig: traceHandler.fetchConfig
75
- });
77
+ }));
76
78
  }
77
79
  }
78
80
  // Step 3. Prepare all the event handlers
@@ -80,22 +82,23 @@ export class EthPlugin extends Plugin {
80
82
  // associate id with filter
81
83
  const handlerId = this.handlerRegister.register(eventsHandler.handler, chainId);
82
84
  this.partitionManager.registerPartitionHandler(HandlerType.ETH_LOG, handlerId, eventsHandler.partitionHandler);
83
- const logConfig = {
85
+ const logConfig = create(LogHandlerConfigSchema, {
84
86
  handlerId: handlerId,
85
87
  handlerName: eventsHandler.handlerName,
86
88
  filters: [],
87
89
  fetchConfig: eventsHandler.fetchConfig
88
- };
90
+ });
89
91
  for (const filter of eventsHandler.filters) {
90
92
  const topics = await filter.getTopicFilter();
91
93
  // if (!filter.topics) {
92
- // throw new ServerError(Status.INVALID_ARGUMENT, 'Topic should not be null')
94
+ // throw new ConnectError('Topic should not be null', Code.InvalidArgument)
93
95
  // }
94
- const logFilter = {
95
- addressType: undefined,
96
- address: contractConfig.contract?.address && validateAndNormalizeAddress(contractConfig.contract.address),
96
+ const logFilter = create(LogFilterSchema, {
97
+ addressOrType: contractConfig.contract?.address
98
+ ? { case: 'address', value: validateAndNormalizeAddress(contractConfig.contract.address) }
99
+ : undefined,
97
100
  topics: []
98
- };
101
+ });
99
102
  for (const ts of topics) {
100
103
  let hashes = [];
101
104
  if (Array.isArray(ts)) {
@@ -104,7 +107,7 @@ export class EthPlugin extends Plugin {
104
107
  else if (ts) {
105
108
  hashes.push(ts);
106
109
  }
107
- logFilter.topics.push({ hashes: hashes });
110
+ logFilter.topics.push(create(TopicSchema, { hashes: hashes }));
108
111
  }
109
112
  logConfig.filters.push(logFilter);
110
113
  }
@@ -129,7 +132,7 @@ export class EthPlugin extends Plugin {
129
132
  startBlock = processor.config.start?.block != undefined ? BigInt(processor.config.start.block) : undefined;
130
133
  endBlock = processor.config.end?.block != undefined ? BigInt(processor.config.end.block) : undefined;
131
134
  }
132
- const contractConfig = ContractConfig.fromPartial({
135
+ const contractConfig = create(ContractConfigSchema, {
133
136
  processorType: USER_PROCESSOR,
134
137
  contract: {
135
138
  name: processor.config.name,
@@ -142,7 +145,7 @@ export class EthPlugin extends Plugin {
142
145
  });
143
146
  for (const blockHandler of processor.blockHandlers) {
144
147
  const handlerId = this.handlerRegister.register(blockHandler.handler, chainId);
145
- contractConfig.intervalConfigs.push({
148
+ contractConfig.intervalConfigs.push(create(OnIntervalConfigSchema, {
146
149
  slot: 0,
147
150
  slotInterval: blockHandler.blockInterval,
148
151
  minutes: 0,
@@ -150,58 +153,61 @@ export class EthPlugin extends Plugin {
150
153
  handlerId: handlerId,
151
154
  handlerName: blockHandler.handlerName,
152
155
  fetchConfig: blockHandler.fetchConfig
153
- });
156
+ }));
154
157
  }
155
158
  for (const transactionHandler of processor.transactionHandler) {
156
159
  const handlerId = this.handlerRegister.register(transactionHandler.handler, chainId);
157
160
  this.partitionManager.registerPartitionHandler(HandlerType.ETH_TRANSACTION, handlerId, transactionHandler.partitionHandler);
158
- contractConfig.transactionConfig.push({
161
+ contractConfig.transactionConfig.push(create(TransactionHandlerConfigSchema, {
159
162
  handlerId: handlerId,
160
163
  handlerName: transactionHandler.handlerName,
161
164
  fetchConfig: transactionHandler.fetchConfig
162
- });
165
+ }));
163
166
  }
164
167
  for (const traceHandler of processor.traceHandlers) {
165
168
  const handlerId = this.handlerRegister.register(traceHandler.handler, chainId);
166
169
  for (const signature of traceHandler.signatures) {
167
- contractConfig.traceConfigs.push({
170
+ contractConfig.traceConfigs.push(create(TraceHandlerConfigSchema, {
168
171
  signature: signature,
169
172
  handlerId: handlerId,
170
173
  handlerName: traceHandler.handlerName,
171
174
  fetchConfig: traceHandler.fetchConfig
172
- });
175
+ }));
173
176
  }
174
177
  }
175
178
  for (const eventsHandler of processor.eventHandlers) {
176
179
  // associate id with filter
177
180
  const handlerId = this.handlerRegister.register(eventsHandler.handler, processor.getChainId());
178
- const logConfig = {
181
+ const logConfig = create(LogHandlerConfigSchema, {
179
182
  handlerId: handlerId,
180
183
  handlerName: eventsHandler.handlerName,
181
184
  filters: [],
182
185
  fetchConfig: eventsHandler.fetchConfig
183
- };
186
+ });
184
187
  if (!eventsHandler.filters || eventsHandler.filters.length === 0) {
185
188
  // if no filter, then we assume all logs
186
- logConfig.filters.push({
189
+ logConfig.filters.push(create(LogFilterSchema, {
187
190
  topics: []
188
- });
191
+ }));
189
192
  }
190
193
  else {
191
194
  for (const filter of eventsHandler.filters) {
192
195
  const topics = await filter.getTopicFilter();
193
196
  // if (!filter.topics) {
194
- // throw new ServerError(Status.INVALID_ARGUMENT, 'Topic should not be null')
197
+ // throw new ConnectError('Topic should not be null', Code.InvalidArgument)
195
198
  // }
196
199
  let address = undefined;
197
200
  if (filter.address) {
198
201
  address = filter.address.toString();
199
202
  }
200
- const logFilter = {
201
- addressType: filter.addressType,
202
- address: address && validateAndNormalizeAddress(address),
203
+ const logFilter = create(LogFilterSchema, {
204
+ addressOrType: filter.addressType != undefined
205
+ ? { case: 'addressType', value: filter.addressType }
206
+ : address
207
+ ? { case: 'address', value: validateAndNormalizeAddress(address) }
208
+ : undefined,
203
209
  topics: []
204
- };
210
+ });
205
211
  for (const ts of topics) {
206
212
  let hashes = [];
207
213
  if (Array.isArray(ts)) {
@@ -210,7 +216,7 @@ export class EthPlugin extends Plugin {
210
216
  else if (ts) {
211
217
  hashes.push(ts);
212
218
  }
213
- logFilter.topics.push({ hashes: hashes });
219
+ logFilter.topics.push(create(TopicSchema, { hashes: hashes }));
214
220
  }
215
221
  logConfig.filters.push(logFilter);
216
222
  }
@@ -224,7 +230,7 @@ export class EthPlugin extends Plugin {
224
230
  if (forChainId !== undefined && forChainId !== processor.getChainId().toString()) {
225
231
  continue;
226
232
  }
227
- const accountConfig = AccountConfig.fromPartial({
233
+ const accountConfig = create(AccountConfigSchema, {
228
234
  address: validateAndNormalizeAddress(processor.config.address),
229
235
  chainId: processor.getChainId().toString(),
230
236
  startBlock: processor.config.startBlock ? BigInt(processor.config.startBlock) : 0n
@@ -233,23 +239,26 @@ export class EthPlugin extends Plugin {
233
239
  for (const eventsHandler of processor.eventHandlers) {
234
240
  // associate id with filter
235
241
  const handlerId = this.handlerRegister.register(eventsHandler.handler, processor.getChainId());
236
- const logConfig = {
242
+ const logConfig = create(LogHandlerConfigSchema, {
237
243
  handlerId: handlerId,
238
244
  handlerName: eventsHandler.handlerName,
239
245
  filters: [],
240
246
  fetchConfig: eventsHandler.fetchConfig
241
- };
247
+ });
242
248
  for (const filter of eventsHandler.filters) {
243
249
  const topics = await filter.getTopicFilter();
244
250
  let address = undefined;
245
251
  if (filter.address) {
246
252
  address = filter.address.toString();
247
253
  }
248
- const logFilter = {
249
- addressType: filter.addressType,
250
- address: address && validateAndNormalizeAddress(address),
254
+ const logFilter = create(LogFilterSchema, {
255
+ addressOrType: filter.addressType
256
+ ? { case: 'addressType', value: filter.addressType }
257
+ : address
258
+ ? { case: 'address', value: validateAndNormalizeAddress(address) }
259
+ : undefined,
251
260
  topics: []
252
- };
261
+ });
253
262
  for (const ts of topics) {
254
263
  let hashes = [];
255
264
  if (Array.isArray(ts)) {
@@ -258,7 +267,7 @@ export class EthPlugin extends Plugin {
258
267
  else if (ts) {
259
268
  hashes.push(ts);
260
269
  }
261
- logFilter.topics.push({ hashes: hashes });
270
+ logFilter.topics.push(create(TopicSchema, { hashes: hashes }));
262
271
  }
263
272
  logConfig.filters.push(logFilter);
264
273
  }
@@ -282,43 +291,43 @@ export class EthPlugin extends Plugin {
282
291
  case HandlerType.ETH_TRANSACTION:
283
292
  return this.processTransaction(request, preparedData);
284
293
  default:
285
- throw new ServerError(Status.INVALID_ARGUMENT, 'No handle type registered ' + request.handlerType);
294
+ throw new ConnectError('No handle type registered ' + request.handlerType, Code.InvalidArgument);
286
295
  }
287
296
  }
288
297
  async partition(request) {
289
298
  let data;
290
299
  switch (request.handlerType) {
291
300
  case HandlerType.ETH_LOG:
292
- if (!request.data?.ethLog) {
293
- throw new ServerError(Status.INVALID_ARGUMENT, "ethLog can't be empty");
301
+ if (request.data?.value.case !== 'ethLog' || !request.data.value.value) {
302
+ throw new ConnectError("ethLog can't be empty", Code.InvalidArgument);
294
303
  }
295
- data = request.data.ethLog;
304
+ data = request.data.value.value;
296
305
  break;
297
306
  case HandlerType.ETH_TRACE:
298
- if (!request.data?.ethTrace) {
299
- throw new ServerError(Status.INVALID_ARGUMENT, "ethTrace can't be empty");
307
+ if (request.data?.value.case !== 'ethTrace' || !request.data.value.value) {
308
+ throw new ConnectError("ethTrace can't be empty", Code.InvalidArgument);
300
309
  }
301
- data = request.data.ethTrace;
310
+ data = request.data.value.value;
302
311
  break;
303
312
  case HandlerType.ETH_BLOCK:
304
- if (!request.data?.ethBlock) {
305
- throw new ServerError(Status.INVALID_ARGUMENT, "ethBlock can't be empty");
313
+ if (request.data?.value.case !== 'ethBlock' || !request.data.value.value) {
314
+ throw new ConnectError("ethBlock can't be empty", Code.InvalidArgument);
306
315
  }
307
- data = request.data.ethBlock;
316
+ data = request.data.value.value;
308
317
  break;
309
318
  case HandlerType.ETH_TRANSACTION:
310
- if (!request.data?.ethTransaction) {
311
- throw new ServerError(Status.INVALID_ARGUMENT, "ethTransaction can't be empty");
319
+ if (request.data?.value.case !== 'ethTransaction' || !request.data.value.value) {
320
+ throw new ConnectError("ethTransaction can't be empty", Code.InvalidArgument);
312
321
  }
313
- data = request.data.ethTransaction;
322
+ data = request.data.value.value;
314
323
  break;
315
324
  default:
316
- throw new ServerError(Status.INVALID_ARGUMENT, 'No handle type registered ' + request.handlerType);
325
+ throw new ConnectError('No handle type registered ' + request.handlerType, Code.InvalidArgument);
317
326
  }
318
327
  const partitions = await this.partitionManager.processPartitionForHandlerType(request.handlerType, request.handlerIds, data);
319
- return {
328
+ return create(ProcessStreamResponse_PartitionsSchema, {
320
329
  partitions
321
- };
330
+ });
322
331
  }
323
332
  async start(request) {
324
333
  const allowedChainIds = new Set(Object.values(EthChainId));
@@ -328,10 +337,10 @@ export class EthPlugin extends Plugin {
328
337
  }
329
338
  const template = ProcessorTemplateProcessorState.INSTANCE.getValues()[instance.templateId];
330
339
  if (!template) {
331
- throw new ServerError(Status.INVALID_ARGUMENT, 'Invalid template contract:' + instance);
340
+ throw new ConnectError('Invalid template contract:' + instance, Code.InvalidArgument);
332
341
  }
333
342
  if (!instance.contract) {
334
- throw new ServerError(Status.INVALID_ARGUMENT, 'Contract Empty from:' + instance);
343
+ throw new ConnectError('Contract Empty from:' + instance, Code.InvalidArgument);
335
344
  }
336
345
  const ctx = new NoopContext(instance.contract.chainId);
337
346
  template.startInstance({
@@ -344,16 +353,16 @@ export class EthPlugin extends Plugin {
344
353
  }
345
354
  }
346
355
  async processLog(request, preparedData) {
347
- if (!request.data?.ethLog?.log) {
348
- throw new ServerError(Status.INVALID_ARGUMENT, "Log can't be null");
356
+ if (request.data?.value.case !== 'ethLog' || !request.data.value.value.rawLog) {
357
+ throw new ConnectError("Log can't be null", Code.InvalidArgument);
349
358
  }
350
- const ethLog = request.data.ethLog;
359
+ const ethLog = request.data.value.value;
351
360
  const promises = [];
352
361
  for (const handlerId of request.handlerIds) {
353
362
  const handler = this.handlerRegister.getHandlerById(request.chainId, handlerId);
354
363
  const promise = handler(ethLog, preparedData).catch((e) => {
355
364
  console.error('error processing log: ', e);
356
- throw new ServerError(Status.INTERNAL, 'error processing log: ' + JSON.stringify(ethLog.log) + '\n' + errorString(e));
365
+ throw new ConnectError('error processing log: ' + ethLog.rawLog + '\n' + errorString(e), Code.Internal);
357
366
  });
358
367
  if (GLOBAL_CONFIG.execution.sequential) {
359
368
  await promise;
@@ -363,17 +372,17 @@ export class EthPlugin extends Plugin {
363
372
  return mergeProcessResults(await Promise.all(promises));
364
373
  }
365
374
  async processTrace(binding, preparedData) {
366
- if (!binding.data?.ethTrace?.trace) {
367
- throw new ServerError(Status.INVALID_ARGUMENT, "Trace can't be null");
375
+ if (binding.data?.value.case !== 'ethTrace' || !binding.data.value.value.rawTrace) {
376
+ throw new ConnectError("Trace can't be null", Code.InvalidArgument);
368
377
  }
369
- const ethTrace = binding.data.ethTrace;
378
+ const ethTrace = binding.data.value.value;
370
379
  const promises = [];
371
380
  for (const handlerId of binding.handlerIds) {
372
381
  const promise = this.handlerRegister
373
382
  .getHandlerById(binding.chainId, handlerId)(ethTrace, preparedData)
374
383
  .catch((e) => {
375
384
  console.error('error processing trace: ', e);
376
- throw new ServerError(Status.INTERNAL, 'error processing trace: ' + JSON.stringify(ethTrace.trace) + '\n' + errorString(e));
385
+ throw new ConnectError('error processing trace: ' + ethTrace.rawTrace + '\n' + errorString(e), Code.Internal);
377
386
  });
378
387
  if (GLOBAL_CONFIG.execution.sequential) {
379
388
  await promise;
@@ -383,17 +392,17 @@ export class EthPlugin extends Plugin {
383
392
  return mergeProcessResults(await Promise.all(promises));
384
393
  }
385
394
  async processBlock(binding, preparedData) {
386
- if (!binding.data?.ethBlock?.block) {
387
- throw new ServerError(Status.INVALID_ARGUMENT, "Block can't be empty");
395
+ if (binding.data?.value.case !== 'ethBlock' || !binding.data.value.value.rawBlock) {
396
+ throw new ConnectError("Block can't be empty", Code.InvalidArgument);
388
397
  }
389
- const ethBlock = binding.data.ethBlock;
398
+ const ethBlock = binding.data.value.value;
390
399
  const promises = [];
391
400
  for (const handlerId of binding.handlerIds) {
392
401
  const promise = this.handlerRegister
393
402
  .getHandlerById(binding.chainId, handlerId)(ethBlock, preparedData)
394
403
  .catch((e) => {
395
404
  console.error('error processing block: ', e);
396
- throw new ServerError(Status.INTERNAL, 'error processing block: ' + ethBlock.block?.number + '\n' + errorString(e));
405
+ throw new ConnectError('error processing block: ' + errorString(e), Code.Internal);
397
406
  });
398
407
  if (GLOBAL_CONFIG.execution.sequential) {
399
408
  await promise;
@@ -403,16 +412,16 @@ export class EthPlugin extends Plugin {
403
412
  return mergeProcessResults(await Promise.all(promises));
404
413
  }
405
414
  async processTransaction(binding, preparedData) {
406
- if (!binding.data?.ethTransaction?.transaction) {
407
- throw new ServerError(Status.INVALID_ARGUMENT, "transaction can't be null");
415
+ if (binding.data?.value.case !== 'ethTransaction' || !binding.data.value.value.rawTransaction) {
416
+ throw new ConnectError("transaction can't be null", Code.InvalidArgument);
408
417
  }
409
- const ethTransaction = binding.data.ethTransaction;
418
+ const ethTransaction = binding.data.value.value;
410
419
  const promises = [];
411
420
  for (const handlerId of binding.handlerIds) {
412
421
  const promise = this.handlerRegister
413
422
  .getHandlerById(binding.chainId, handlerId)(ethTransaction, preparedData)
414
423
  .catch((e) => {
415
- throw new ServerError(Status.INTERNAL, 'error processing transaction: ' + JSON.stringify(ethTransaction.transaction) + '\n' + errorString(e));
424
+ throw new ConnectError('error processing transaction: ' + ethTransaction.rawTransaction + '\n' + errorString(e), Code.Internal);
416
425
  });
417
426
  if (GLOBAL_CONFIG.execution.sequential) {
418
427
  await promise;
@@ -432,7 +441,7 @@ class NoopContext extends EthContext {
432
441
  }
433
442
  }
434
443
  function mergePreprocessResults(results) {
435
- const res = { ethCallParams: [] };
444
+ const res = create(PreprocessResultSchema, { ethCallParams: [] });
436
445
  for (const r of results) {
437
446
  res.ethCallParams = res.ethCallParams.concat(r.ethCallParams);
438
447
  }