@sentio/sdk 2.57.0 → 2.57.1-2.rc.aaa

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 (398) hide show
  1. package/lib/aptos/aptos-plugin.d.ts.map +1 -1
  2. package/lib/aptos/aptos-plugin.js +4 -2
  3. package/lib/aptos/aptos-plugin.js.map +1 -1
  4. package/lib/aptos/aptos-processor.d.ts +9 -3
  5. package/lib/aptos/aptos-processor.d.ts.map +1 -1
  6. package/lib/aptos/aptos-processor.js +20 -10
  7. package/lib/aptos/aptos-processor.js.map +1 -1
  8. package/lib/aptos/aptos-resource-processor-template.d.ts +1 -0
  9. package/lib/aptos/aptos-resource-processor-template.d.ts.map +1 -1
  10. package/lib/aptos/aptos-resource-processor-template.js +5 -1
  11. package/lib/aptos/aptos-resource-processor-template.js.map +1 -1
  12. package/lib/aptos/builtin/0x1.d.ts +155 -155
  13. package/lib/aptos/builtin/0x1.d.ts.map +1 -1
  14. package/lib/aptos/builtin/0x1.js +395 -308
  15. package/lib/aptos/builtin/0x1.js.map +1 -1
  16. package/lib/aptos/builtin/0x3.d.ts +52 -52
  17. package/lib/aptos/builtin/0x3.d.ts.map +1 -1
  18. package/lib/aptos/builtin/0x3.js +135 -102
  19. package/lib/aptos/builtin/0x3.js.map +1 -1
  20. package/lib/aptos/builtin/0x4.d.ts +12 -12
  21. package/lib/aptos/builtin/0x4.d.ts.map +1 -1
  22. package/lib/aptos/builtin/0x4.js +22 -22
  23. package/lib/aptos/builtin/0x4.js.map +1 -1
  24. package/lib/aptos/ext/coin.test.js.map +1 -1
  25. package/lib/aptos/ext/token.d.ts.map +1 -1
  26. package/lib/aptos/ext/token.js +8 -3
  27. package/lib/aptos/ext/token.js.map +1 -1
  28. package/lib/chunk-24EEMT46.js +3 -0
  29. package/lib/chunk-24EEMT46.js.map +1 -0
  30. package/lib/chunk-2R7O6UGY.js +3 -0
  31. package/lib/chunk-2R7O6UGY.js.map +1 -0
  32. package/lib/chunk-4JXRK4YH.js +29 -0
  33. package/lib/chunk-4JXRK4YH.js.map +1 -0
  34. package/lib/chunk-7QZC3R57.js +3 -0
  35. package/lib/chunk-7QZC3R57.js.map +1 -0
  36. package/lib/chunk-AK5E6DKD.js +6 -0
  37. package/lib/chunk-AK5E6DKD.js.map +1 -0
  38. package/lib/chunk-ATZBHPQN.js +3 -0
  39. package/lib/chunk-ATZBHPQN.js.map +1 -0
  40. package/lib/chunk-B6U7F4GY.js +29 -0
  41. package/lib/chunk-B6U7F4GY.js.map +1 -0
  42. package/lib/chunk-DGKULIPW.js +3 -0
  43. package/lib/chunk-DGKULIPW.js.map +1 -0
  44. package/lib/chunk-DS2LOABN.js +3 -0
  45. package/lib/chunk-DS2LOABN.js.map +1 -0
  46. package/lib/chunk-FMBGZMT4.js +6 -0
  47. package/lib/chunk-FMBGZMT4.js.map +1 -0
  48. package/lib/chunk-FMZDKD72.js +8 -0
  49. package/lib/chunk-FMZDKD72.js.map +1 -0
  50. package/lib/chunk-G5BIPHMS.js +3 -0
  51. package/lib/chunk-G5BIPHMS.js.map +1 -0
  52. package/lib/chunk-G6XPDWDE.js +3 -0
  53. package/lib/chunk-G6XPDWDE.js.map +1 -0
  54. package/lib/chunk-GJX3DL4J.js +499 -0
  55. package/lib/chunk-GJX3DL4J.js.map +1 -0
  56. package/lib/chunk-GTITFWMU.js +259 -0
  57. package/lib/chunk-GTITFWMU.js.map +1 -0
  58. package/lib/chunk-J7Z2TKQE.js +33 -0
  59. package/lib/chunk-J7Z2TKQE.js.map +1 -0
  60. package/lib/chunk-JQ4LTUIX.js +995 -0
  61. package/lib/chunk-JQ4LTUIX.js.map +1 -0
  62. package/lib/chunk-LG2TF5WR.js +8 -0
  63. package/lib/chunk-LG2TF5WR.js.map +1 -0
  64. package/lib/chunk-LVWOFGF2.js +3 -0
  65. package/lib/chunk-LVWOFGF2.js.map +1 -0
  66. package/lib/chunk-O564J2U6.js +11 -0
  67. package/lib/chunk-O564J2U6.js.map +1 -0
  68. package/lib/chunk-QGIFUSFI.js +84 -0
  69. package/lib/chunk-QGIFUSFI.js.map +1 -0
  70. package/lib/chunk-QGPJOTWP.js +3 -0
  71. package/lib/chunk-QGPJOTWP.js.map +1 -0
  72. package/lib/chunk-RA75ESSD.js +3 -0
  73. package/lib/chunk-RA75ESSD.js.map +1 -0
  74. package/lib/chunk-RVAYZJ7X.js +5 -0
  75. package/lib/chunk-RVAYZJ7X.js.map +1 -0
  76. package/lib/chunk-SPY3PKUB.js +3 -0
  77. package/lib/chunk-SPY3PKUB.js.map +1 -0
  78. package/lib/chunk-SUCYR7EB.js +3 -0
  79. package/lib/chunk-SUCYR7EB.js.map +1 -0
  80. package/lib/chunk-TGIXVAHB.js +7 -0
  81. package/lib/chunk-TGIXVAHB.js.map +1 -0
  82. package/lib/chunk-TSEQGMTN.js +5 -0
  83. package/lib/chunk-TSEQGMTN.js.map +1 -0
  84. package/lib/chunk-ZHI6ULD5.js +3 -0
  85. package/lib/chunk-ZHI6ULD5.js.map +1 -0
  86. package/lib/core/event-logger.js +2 -2
  87. package/lib/core/event-logger.js.map +1 -1
  88. package/lib/core/normalization.d.ts +2 -0
  89. package/lib/core/normalization.d.ts.map +1 -1
  90. package/lib/core/normalization.js +135 -0
  91. package/lib/core/normalization.js.map +1 -1
  92. package/lib/core/normalization.test.js.map +1 -1
  93. package/lib/core/numberish.d.ts +2 -1
  94. package/lib/core/numberish.d.ts.map +1 -1
  95. package/lib/core/numberish.js +19 -7
  96. package/lib/core/numberish.js.map +1 -1
  97. package/lib/eth/abi-decoder/decode-worker.d.ts +27 -0
  98. package/lib/eth/abi-decoder/decode-worker.d.ts.map +1 -0
  99. package/lib/eth/abi-decoder/decode-worker.js +63 -0
  100. package/lib/eth/abi-decoder/decode-worker.js.map +1 -0
  101. package/lib/eth/abi-decoder/index.d.ts +4 -0
  102. package/lib/eth/abi-decoder/index.d.ts.map +1 -0
  103. package/lib/eth/abi-decoder/index.js +127 -0
  104. package/lib/eth/abi-decoder/index.js.map +1 -0
  105. package/lib/eth/base-processor-template.d.ts +3 -0
  106. package/lib/eth/base-processor-template.d.ts.map +1 -1
  107. package/lib/eth/base-processor-template.js +8 -3
  108. package/lib/eth/base-processor-template.js.map +1 -1
  109. package/lib/eth/base-processor.d.ts +3 -3
  110. package/lib/eth/base-processor.d.ts.map +1 -1
  111. package/lib/eth/base-processor.js +20 -20
  112. package/lib/eth/base-processor.js.map +1 -1
  113. package/lib/fuel/fuel-processor-template.d.ts +3 -0
  114. package/lib/fuel/fuel-processor-template.d.ts.map +1 -1
  115. package/lib/fuel/fuel-processor-template.js +8 -3
  116. package/lib/fuel/fuel-processor-template.js.map +1 -1
  117. package/lib/fuel/fuel-processor.d.ts +3 -3
  118. package/lib/fuel/fuel-processor.d.ts.map +1 -1
  119. package/lib/fuel/fuel-processor.js +6 -6
  120. package/lib/fuel/fuel-processor.js.map +1 -1
  121. package/lib/move/filter.d.ts +1 -0
  122. package/lib/move/filter.d.ts.map +1 -1
  123. package/lib/move/filter.js.map +1 -1
  124. package/lib/move/shared-network-codegen.js +3 -3
  125. package/lib/move/shared-network-codegen.js.map +1 -1
  126. package/lib/multipart-parser-J6QPYJHT.js +4 -0
  127. package/lib/multipart-parser-J6QPYJHT.js.map +1 -0
  128. package/lib/store/codegen.js +1 -1
  129. package/lib/store/codegen.js.map +1 -1
  130. package/lib/store/convert.d.ts +1 -4
  131. package/lib/store/convert.d.ts.map +1 -1
  132. package/lib/store/convert.js +18 -27
  133. package/lib/store/convert.js.map +1 -1
  134. package/lib/store/decorators.d.ts +1 -0
  135. package/lib/store/decorators.d.ts.map +1 -1
  136. package/lib/store/decorators.js +13 -19
  137. package/lib/store/decorators.js.map +1 -1
  138. package/lib/store/schema.js +1 -1
  139. package/lib/store/schema.js.map +1 -1
  140. package/lib/store/types.d.ts +1 -0
  141. package/lib/store/types.d.ts.map +1 -1
  142. package/lib/store/types.js +13 -10
  143. package/lib/store/types.js.map +1 -1
  144. package/lib/store/util.js +2 -2
  145. package/lib/store/util.js.map +1 -1
  146. package/lib/sui/builtin/0x1.d.ts +7 -7
  147. package/lib/sui/builtin/0x1.d.ts.map +1 -1
  148. package/lib/sui/builtin/0x1.js +12 -12
  149. package/lib/sui/builtin/0x1.js.map +1 -1
  150. package/lib/sui/builtin/0x2.d.ts +34 -34
  151. package/lib/sui/builtin/0x2.d.ts.map +1 -1
  152. package/lib/sui/builtin/0x2.js +72 -66
  153. package/lib/sui/builtin/0x2.js.map +1 -1
  154. package/lib/sui/builtin/0x3.d.ts +14 -14
  155. package/lib/sui/builtin/0x3.d.ts.map +1 -1
  156. package/lib/sui/builtin/0x3.js +44 -26
  157. package/lib/sui/builtin/0x3.js.map +1 -1
  158. package/lib/sui/sui-object-processor-template.d.ts +1 -0
  159. package/lib/sui/sui-object-processor-template.d.ts.map +1 -1
  160. package/lib/sui/sui-object-processor-template.js +5 -1
  161. package/lib/sui/sui-object-processor-template.js.map +1 -1
  162. package/lib/sui/sui-object-processor.d.ts +1 -1
  163. package/lib/sui/sui-object-processor.d.ts.map +1 -1
  164. package/lib/sui/sui-object-processor.js +2 -2
  165. package/lib/sui/sui-object-processor.js.map +1 -1
  166. package/lib/sui/sui-plugin.d.ts.map +1 -1
  167. package/lib/sui/sui-plugin.js +2 -1
  168. package/lib/sui/sui-plugin.js.map +1 -1
  169. package/lib/sui/sui-processor.js +4 -4
  170. package/lib/sui/sui-processor.js.map +1 -1
  171. package/lib/testing/eth-facet.js +2 -2
  172. package/lib/testing/eth-facet.js.map +1 -1
  173. package/lib/testing/fuel-facet.d.ts +73 -1
  174. package/lib/testing/fuel-facet.d.ts.map +1 -1
  175. package/lib/testing/fuel-facet.js +163 -0
  176. package/lib/testing/fuel-facet.js.map +1 -1
  177. package/lib/tsup.config.ts +1 -1
  178. package/lib/utils/metrics.d.ts +1 -0
  179. package/lib/utils/metrics.d.ts.map +1 -1
  180. package/lib/utils/metrics.js +12 -0
  181. package/lib/utils/metrics.js.map +1 -1
  182. package/package.json +6 -4
  183. package/src/aptos/aptos-plugin.ts +4 -2
  184. package/src/aptos/aptos-processor.ts +32 -13
  185. package/src/aptos/aptos-resource-processor-template.ts +12 -1
  186. package/src/aptos/builtin/0x1.d.ts +6451 -0
  187. package/src/aptos/builtin/0x1.d.ts.map +1 -0
  188. package/src/aptos/builtin/0x1.js +7138 -0
  189. package/src/aptos/builtin/0x1.js.map +1 -0
  190. package/src/aptos/builtin/0x1.ts +644 -155
  191. package/src/aptos/builtin/0x3.d.ts +1122 -0
  192. package/src/aptos/builtin/0x3.d.ts.map +1 -0
  193. package/src/aptos/builtin/0x3.js +937 -0
  194. package/src/aptos/builtin/0x3.js.map +1 -0
  195. package/src/aptos/builtin/0x3.ts +208 -52
  196. package/src/aptos/builtin/0x4.d.ts +551 -0
  197. package/src/aptos/builtin/0x4.d.ts.map +1 -0
  198. package/src/aptos/builtin/0x4.js +529 -0
  199. package/src/aptos/builtin/0x4.js.map +1 -0
  200. package/src/aptos/builtin/0x4.ts +59 -12
  201. package/src/aptos/builtin/index.d.ts +4 -0
  202. package/src/aptos/builtin/index.d.ts.map +1 -0
  203. package/src/aptos/builtin/index.js +7 -0
  204. package/src/aptos/builtin/index.js.map +1 -0
  205. package/src/aptos/ext/token.ts +7 -3
  206. package/src/bundle.config.ts +2 -2
  207. package/src/core/event-logger.ts +2 -2
  208. package/src/core/normalization.ts +138 -0
  209. package/src/core/numberish.ts +22 -8
  210. package/src/eth/abi-decoder/decode-worker.ts +85 -0
  211. package/src/eth/abi-decoder/index.ts +126 -0
  212. package/src/eth/base-processor-template.ts +18 -3
  213. package/src/eth/base-processor.ts +35 -33
  214. package/src/eth/builtin/eacaggregatorproxy.d.ts +5 -0
  215. package/src/eth/builtin/eacaggregatorproxy.d.ts.map +1 -0
  216. package/src/eth/builtin/eacaggregatorproxy.js +8 -0
  217. package/src/eth/builtin/eacaggregatorproxy.js.map +1 -0
  218. package/src/eth/builtin/erc1155.d.ts +5 -0
  219. package/src/eth/builtin/erc1155.d.ts.map +1 -0
  220. package/src/eth/builtin/erc1155.js +8 -0
  221. package/src/eth/builtin/erc1155.js.map +1 -0
  222. package/src/eth/builtin/erc20.d.ts +5 -0
  223. package/src/eth/builtin/erc20.d.ts.map +1 -0
  224. package/src/eth/builtin/erc20.js +8 -0
  225. package/src/eth/builtin/erc20.js.map +1 -0
  226. package/src/eth/builtin/erc20bytes.d.ts +5 -0
  227. package/src/eth/builtin/erc20bytes.d.ts.map +1 -0
  228. package/src/eth/builtin/erc20bytes.js +8 -0
  229. package/src/eth/builtin/erc20bytes.js.map +1 -0
  230. package/src/eth/builtin/erc721.d.ts +5 -0
  231. package/src/eth/builtin/erc721.d.ts.map +1 -0
  232. package/src/eth/builtin/erc721.js +8 -0
  233. package/src/eth/builtin/erc721.js.map +1 -0
  234. package/src/eth/builtin/index.d.ts +13 -0
  235. package/src/eth/builtin/index.d.ts.map +1 -0
  236. package/src/eth/builtin/index.js +16 -0
  237. package/src/eth/builtin/index.js.map +1 -0
  238. package/src/eth/builtin/internal/EACAggregatorProxy.d.ts +50 -0
  239. package/src/eth/builtin/internal/EACAggregatorProxy.d.ts.map +1 -0
  240. package/src/eth/builtin/internal/EACAggregatorProxy.js +2 -0
  241. package/src/eth/builtin/internal/EACAggregatorProxy.js.map +1 -0
  242. package/src/eth/builtin/internal/ERC1155.d.ts +57 -0
  243. package/src/eth/builtin/internal/ERC1155.d.ts.map +1 -0
  244. package/src/eth/builtin/internal/ERC1155.js +2 -0
  245. package/src/eth/builtin/internal/ERC1155.js.map +1 -0
  246. package/src/eth/builtin/internal/ERC20.d.ts +41 -0
  247. package/src/eth/builtin/internal/ERC20.d.ts.map +1 -0
  248. package/src/eth/builtin/internal/ERC20.js +2 -0
  249. package/src/eth/builtin/internal/ERC20.js.map +1 -0
  250. package/src/eth/builtin/internal/ERC20Bytes.d.ts +32 -0
  251. package/src/eth/builtin/internal/ERC20Bytes.d.ts.map +1 -0
  252. package/src/eth/builtin/internal/ERC20Bytes.js +2 -0
  253. package/src/eth/builtin/internal/ERC20Bytes.js.map +1 -0
  254. package/src/eth/builtin/internal/ERC721.d.ts +43 -0
  255. package/src/eth/builtin/internal/ERC721.d.ts.map +1 -0
  256. package/src/eth/builtin/internal/ERC721.js +2 -0
  257. package/src/eth/builtin/internal/ERC721.js.map +1 -0
  258. package/src/eth/builtin/internal/WETH9.d.ts +47 -0
  259. package/src/eth/builtin/internal/WETH9.d.ts.map +1 -0
  260. package/src/eth/builtin/internal/WETH9.js +2 -0
  261. package/src/eth/builtin/internal/WETH9.js.map +1 -0
  262. package/src/eth/builtin/internal/common.d.ts +3 -0
  263. package/src/eth/builtin/internal/common.d.ts.map +1 -0
  264. package/src/eth/builtin/internal/common.js +8 -0
  265. package/src/eth/builtin/internal/common.js.map +1 -0
  266. package/src/eth/builtin/internal/eacaggregatorproxy-processor.d.ts +373 -0
  267. package/src/eth/builtin/internal/eacaggregatorproxy-processor.d.ts.map +1 -0
  268. package/src/eth/builtin/internal/eacaggregatorproxy-processor.js +1355 -0
  269. package/src/eth/builtin/internal/eacaggregatorproxy-processor.js.map +1 -0
  270. package/src/eth/builtin/internal/eacaggregatorproxy-test-utils.d.ts +7 -0
  271. package/src/eth/builtin/internal/eacaggregatorproxy-test-utils.d.ts.map +1 -0
  272. package/src/eth/builtin/internal/eacaggregatorproxy-test-utils.js +55 -0
  273. package/src/eth/builtin/internal/eacaggregatorproxy-test-utils.js.map +1 -0
  274. package/src/eth/builtin/internal/erc1155-processor.d.ts +173 -0
  275. package/src/eth/builtin/internal/erc1155-processor.d.ts.map +1 -0
  276. package/src/eth/builtin/internal/erc1155-processor.js +596 -0
  277. package/src/eth/builtin/internal/erc1155-processor.js.map +1 -0
  278. package/src/eth/builtin/internal/erc1155-test-utils.d.ts +7 -0
  279. package/src/eth/builtin/internal/erc1155-test-utils.d.ts.map +1 -0
  280. package/src/eth/builtin/internal/erc1155-test-utils.js +55 -0
  281. package/src/eth/builtin/internal/erc1155-test-utils.js.map +1 -0
  282. package/src/eth/builtin/internal/erc20-processor.d.ts +244 -0
  283. package/src/eth/builtin/internal/erc20-processor.d.ts.map +1 -0
  284. package/src/eth/builtin/internal/erc20-processor.js +1109 -0
  285. package/src/eth/builtin/internal/erc20-processor.js.map +1 -0
  286. package/src/eth/builtin/internal/erc20-test-utils.d.ts +6 -0
  287. package/src/eth/builtin/internal/erc20-test-utils.d.ts.map +1 -0
  288. package/src/eth/builtin/internal/erc20-test-utils.js +44 -0
  289. package/src/eth/builtin/internal/erc20-test-utils.js.map +1 -0
  290. package/src/eth/builtin/internal/erc20bytes-processor.d.ts +144 -0
  291. package/src/eth/builtin/internal/erc20bytes-processor.d.ts.map +1 -0
  292. package/src/eth/builtin/internal/erc20bytes-processor.js +594 -0
  293. package/src/eth/builtin/internal/erc20bytes-processor.js.map +1 -0
  294. package/src/eth/builtin/internal/erc20bytes-test-utils.d.ts +5 -0
  295. package/src/eth/builtin/internal/erc20bytes-test-utils.d.ts.map +1 -0
  296. package/src/eth/builtin/internal/erc20bytes-test-utils.js +33 -0
  297. package/src/eth/builtin/internal/erc20bytes-test-utils.js.map +1 -0
  298. package/src/eth/builtin/internal/erc721-processor.d.ts +215 -0
  299. package/src/eth/builtin/internal/erc721-processor.d.ts.map +1 -0
  300. package/src/eth/builtin/internal/erc721-processor.js +895 -0
  301. package/src/eth/builtin/internal/erc721-processor.js.map +1 -0
  302. package/src/eth/builtin/internal/erc721-test-utils.d.ts +6 -0
  303. package/src/eth/builtin/internal/erc721-test-utils.d.ts.map +1 -0
  304. package/src/eth/builtin/internal/erc721-test-utils.js +44 -0
  305. package/src/eth/builtin/internal/erc721-test-utils.js.map +1 -0
  306. package/src/eth/builtin/internal/factories/EACAggregatorProxy__factory.d.ts +400 -0
  307. package/src/eth/builtin/internal/factories/EACAggregatorProxy__factory.d.ts.map +1 -0
  308. package/src/eth/builtin/internal/factories/EACAggregatorProxy__factory.js +524 -0
  309. package/src/eth/builtin/internal/factories/EACAggregatorProxy__factory.js.map +1 -0
  310. package/src/eth/builtin/internal/factories/ERC1155__factory.d.ts +251 -0
  311. package/src/eth/builtin/internal/factories/ERC1155__factory.d.ts.map +1 -0
  312. package/src/eth/builtin/internal/factories/ERC1155__factory.js +329 -0
  313. package/src/eth/builtin/internal/factories/ERC1155__factory.js.map +1 -0
  314. package/src/eth/builtin/internal/factories/ERC20Bytes__factory.d.ts +185 -0
  315. package/src/eth/builtin/internal/factories/ERC20Bytes__factory.d.ts.map +1 -0
  316. package/src/eth/builtin/internal/factories/ERC20Bytes__factory.js +251 -0
  317. package/src/eth/builtin/internal/factories/ERC20Bytes__factory.js.map +1 -0
  318. package/src/eth/builtin/internal/factories/ERC20__factory.d.ts +303 -0
  319. package/src/eth/builtin/internal/factories/ERC20__factory.d.ts.map +1 -0
  320. package/src/eth/builtin/internal/factories/ERC20__factory.js +401 -0
  321. package/src/eth/builtin/internal/factories/ERC20__factory.js.map +1 -0
  322. package/src/eth/builtin/internal/factories/ERC721__factory.d.ts +273 -0
  323. package/src/eth/builtin/internal/factories/ERC721__factory.d.ts.map +1 -0
  324. package/src/eth/builtin/internal/factories/ERC721__factory.js +361 -0
  325. package/src/eth/builtin/internal/factories/ERC721__factory.js.map +1 -0
  326. package/src/eth/builtin/internal/factories/WETH9__factory.d.ts +220 -0
  327. package/src/eth/builtin/internal/factories/WETH9__factory.d.ts.map +1 -0
  328. package/src/eth/builtin/internal/factories/WETH9__factory.js +294 -0
  329. package/src/eth/builtin/internal/factories/WETH9__factory.js.map +1 -0
  330. package/src/eth/builtin/internal/factories/index.d.ts +7 -0
  331. package/src/eth/builtin/internal/factories/index.d.ts.map +1 -0
  332. package/src/eth/builtin/internal/factories/index.js +10 -0
  333. package/src/eth/builtin/internal/factories/index.js.map +1 -0
  334. package/src/eth/builtin/internal/index.d.ts +14 -0
  335. package/src/eth/builtin/internal/index.d.ts.map +1 -0
  336. package/src/eth/builtin/internal/index.js +8 -0
  337. package/src/eth/builtin/internal/index.js.map +1 -0
  338. package/src/eth/builtin/internal/weth9-processor.d.ts +172 -0
  339. package/src/eth/builtin/internal/weth9-processor.d.ts.map +1 -0
  340. package/src/eth/builtin/internal/weth9-processor.js +729 -0
  341. package/src/eth/builtin/internal/weth9-processor.js.map +1 -0
  342. package/src/eth/builtin/internal/weth9-test-utils.d.ts +7 -0
  343. package/src/eth/builtin/internal/weth9-test-utils.d.ts.map +1 -0
  344. package/src/eth/builtin/internal/weth9-test-utils.js +55 -0
  345. package/src/eth/builtin/internal/weth9-test-utils.js.map +1 -0
  346. package/src/eth/builtin/weth9.d.ts +5 -0
  347. package/src/eth/builtin/weth9.d.ts.map +1 -0
  348. package/src/eth/builtin/weth9.js +8 -0
  349. package/src/eth/builtin/weth9.js.map +1 -0
  350. package/src/fuel/fuel-processor-template.ts +11 -3
  351. package/src/fuel/fuel-processor.ts +9 -6
  352. package/src/move/filter.ts +1 -0
  353. package/src/move/shared-network-codegen.ts +3 -3
  354. package/src/solana/builtin/index.d.ts +2 -0
  355. package/src/solana/builtin/index.d.ts.map +1 -0
  356. package/src/solana/builtin/index.js +2 -0
  357. package/src/solana/builtin/index.js.map +1 -0
  358. package/src/solana/builtin/spl-token-processor.d.ts +40 -0
  359. package/src/solana/builtin/spl-token-processor.d.ts.map +1 -0
  360. package/src/solana/builtin/spl-token-processor.js +254 -0
  361. package/src/solana/builtin/spl-token-processor.js.map +1 -0
  362. package/src/solana/builtin/types.d.ts +428 -0
  363. package/src/solana/builtin/types.d.ts.map +1 -0
  364. package/src/solana/builtin/types.js +201 -0
  365. package/src/solana/builtin/types.js.map +1 -0
  366. package/src/store/codegen.ts +1 -1
  367. package/src/store/convert.ts +19 -30
  368. package/src/store/decorators.ts +15 -19
  369. package/src/store/schema.ts +1 -1
  370. package/src/store/types.ts +14 -10
  371. package/src/store/util.ts +2 -2
  372. package/src/sui/builtin/0x1.d.ts +114 -0
  373. package/src/sui/builtin/0x1.d.ts.map +1 -0
  374. package/src/sui/builtin/0x1.js +159 -0
  375. package/src/sui/builtin/0x1.js.map +1 -0
  376. package/src/sui/builtin/0x1.ts +33 -7
  377. package/src/sui/builtin/0x2.d.ts +1250 -0
  378. package/src/sui/builtin/0x2.d.ts.map +1 -0
  379. package/src/sui/builtin/0x2.js +1511 -0
  380. package/src/sui/builtin/0x2.js.map +1 -0
  381. package/src/sui/builtin/0x2.ts +177 -34
  382. package/src/sui/builtin/0x3.d.ts +774 -0
  383. package/src/sui/builtin/0x3.d.ts.map +1 -0
  384. package/src/sui/builtin/0x3.js +720 -0
  385. package/src/sui/builtin/0x3.js.map +1 -0
  386. package/src/sui/builtin/0x3.ts +45 -14
  387. package/src/sui/builtin/index.d.ts +4 -0
  388. package/src/sui/builtin/index.d.ts.map +1 -0
  389. package/src/sui/builtin/index.js +7 -0
  390. package/src/sui/builtin/index.js.map +1 -0
  391. package/src/sui/sui-object-processor-template.ts +12 -1
  392. package/src/sui/sui-object-processor.ts +3 -2
  393. package/src/sui/sui-plugin.ts +2 -1
  394. package/src/sui/sui-processor.ts +4 -4
  395. package/src/testing/eth-facet.ts +2 -2
  396. package/src/testing/fuel-facet.ts +244 -1
  397. package/src/tsup.config.ts +1 -1
  398. package/src/utils/metrics.ts +13 -0
@@ -0,0 +1,3 @@
1
+ import { createRequire as createRequireSdkShim } from 'module'; const require = createRequireSdkShim(import.meta.url);
2
+ import{Ld as a,Md as V,j as n}from"./chunk-JQ4LTUIX.js";import{a as l}from"./chunk-RA75ESSD.js";import{a as t}from"./chunk-G5BIPHMS.js";var f=new Error("Value is required but received null or undefined");function h(e){let{from:r,to:i,...u}=e;return{from:t(o=>{if(o==null)throw f;return r(o)},"from"),to:t(o=>{if(o==null||o.nullValue)throw f;return i(o)},"to"),...u,required:!0}}t(h,"required_");function A(e){return{from:t(r=>({listValue:{values:r.map(e.from)}}),"from"),to:t(r=>r.listValue?.values.map(e.to)||[],"to"),isArray:!0,isRelation:e.isRelation,relationName:e.relationName}}t(A,"array_");function D(e){return{from:t(r=>r==null?{nullValue:n.NULL_VALUE}:{stringValue:e[r]},"from"),to(r){return r.stringValue}}}t(D,"enumerate_");function N(e){return{from:t(r=>typeof r=="string"?{stringValue:r}:r instanceof Uint8Array?{stringValue:`0x${Buffer.from(r).toString("hex")}`}:typeof r=="object"?{stringValue:r.id.toString()}:{nullValue:n.NULL_VALUE},"from"),to(r){return r.stringValue},isRelation:!0,relationName:e}}t(N,"objectId_");var d={from:t(e=>e==null?{nullValue:n.NULL_VALUE}:{stringValue:e},"from"),to(e){return e.stringValue}},g={from:t(e=>e==null?{nullValue:n.NULL_VALUE}:{intValue:Math.floor(e)},"from"),to(e){return e.intValue}},c={from:t(e=>e==null?{nullValue:n.NULL_VALUE}:{int64Value:BigInt(e)},"from"),to(e){return e.int64Value}},p={from:t(e=>e==null?{nullValue:n.NULL_VALUE}:{floatValue:e},"from"),to(e){return e.floatValue}},L={from:t(e=>e==null?{nullValue:n.NULL_VALUE}:{boolValue:e},"from"),to(e){return e.boolValue}},B={from:t(e=>e==null?{nullValue:n.NULL_VALUE}:{timestampValue:e},"from"),to(e){return e.timestampValue}},s={from:t(e=>e==null?{nullValue:n.NULL_VALUE}:{bytesValue:e},"from"),to(e){return e.bytesValue}},y={from(e){return typeof e=="string"?{stringValue:e}:e instanceof Uint8Array?{stringValue:`0x${Buffer.from(e).toString("hex")}`}:{nullValue:n.NULL_VALUE}},to(e){if(e.stringValue)return e.stringValue;if(e.bytesValue)return`0x${Buffer.from(e.bytesValue).toString("hex")}`}},C={from:t(e=>e==null?{nullValue:n.NULL_VALUE}:{bigdecimalValue:V(e)},"from"),to(e){let r=e.bigdecimalValue;if(r){let i=m(r.value.data),u=new l(i.toString());return r.exp<0?u=u.dividedBy(new l(10).pow(-r.exp)):u=u.multipliedBy(new l(10).pow(r.exp)),u.multipliedBy(r.value?.negative?-1:1)}}},x={from:t(e=>e==null?{nullValue:n.NULL_VALUE}:{bigintValue:a(e)},"from"),to(e){if(e.bigintValue){let r=m(e.bigintValue?.data);return e.bigintValue.negative&&(r=-r),r}}};function m(e){let r=BigInt(0);for(let i=0;i<e.length;i++)r=r*BigInt(256)+BigInt(e[i]);return r}t(m,"bytesToBigInt");var R={BigDecimal:C,BigInt:x,String:d,Boolean:L,Uint8Array:s,ID:y,Bytes:s,Int:g,Int8:c,Float:p,Timestamp:B};import("node:process").then(e=>e.stdout.write(""));export{f as a,h as b,A as c,D as d,N as e,d as f,g,c as h,p as i,L as j,B as k,s as l,y as m,C as n,x as o,m as p,R as q};
3
+ //# sourceMappingURL=chunk-ZHI6ULD5.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/store/convert.ts"],"sourcesContent":["import { RichValue, RichValue_NullValue } from '@sentio/protos'\nimport type { String, Int, Float, ID, Bytes, Timestamp, Boolean } from './types.js'\nimport { BigDecimal } from '@sentio/bigdecimal'\nimport { toBigInteger, toBigDecimal } from '../core/numberish.js'\n\nexport interface ValueConverter<T> {\n from: (value: T) => RichValue\n to: (value: RichValue) => T\n required?: boolean\n isArray?: boolean\n isRelation?: boolean\n relationName?: string\n}\n\nexport const ValueRequiredError = new Error('Value is required but received null or undefined')\n\nexport function required_<T>(converter: ValueConverter<T | undefined>): ValueConverter<T> {\n const { from, to, ...rest } = converter\n return {\n from: (value: T | undefined) => {\n if (value == null) {\n throw ValueRequiredError\n }\n return from(value)\n },\n to: (value: RichValue) => {\n if (value == null || value.nullValue) {\n throw ValueRequiredError\n }\n return to(value)!\n },\n ...rest,\n required: true\n }\n}\n\nexport function array_<T>(converter: ValueConverter<T>): ValueConverter<T[]> {\n return {\n from: (value: T[]) => {\n return {\n listValue: {\n values: value.map(converter.from)\n }\n }\n },\n to: (value: RichValue) => {\n return value.listValue?.values.map(converter.to) || []\n },\n isArray: true,\n isRelation: converter.isRelation,\n relationName: converter.relationName\n }\n}\n\nexport function enumerate_<T extends string | number>(values: Record<T, string>): ValueConverter<T> {\n return {\n from: (value?: T) => {\n if (value == null) {\n return {\n nullValue: RichValue_NullValue.NULL_VALUE\n }\n }\n return {\n stringValue: values[value]\n }\n },\n to(v: RichValue): T {\n return v.stringValue as T\n }\n }\n}\n\nexport function objectId_<T>(entityName: string): ValueConverter<T | ID> {\n return {\n from: (value: T | ID) => {\n if (typeof value == 'string') {\n return {\n stringValue: value\n }\n }\n if (value instanceof Uint8Array) {\n return {\n stringValue: `0x${Buffer.from(value).toString('hex')}`\n }\n }\n\n if (typeof value == 'object') {\n const entity = value as any\n return {\n stringValue: entity.id.toString()\n }\n }\n return {\n nullValue: RichValue_NullValue.NULL_VALUE\n }\n },\n to(v) {\n return v.stringValue as T | ID\n },\n isRelation: true,\n relationName: entityName\n }\n}\n\nexport const StringConverter: ValueConverter<String | undefined> = {\n from: (value?: String) => {\n if (value == null) {\n return {\n nullValue: RichValue_NullValue.NULL_VALUE\n }\n }\n return {\n stringValue: value\n }\n },\n to(v) {\n return v.stringValue\n }\n}\n\nexport const IntConverter: ValueConverter<Int | undefined> = {\n from: (value?: Int) => {\n if (value == null) {\n return {\n nullValue: RichValue_NullValue.NULL_VALUE\n }\n }\n return {\n intValue: Math.floor(value)\n }\n },\n to(v) {\n return v.intValue as Int\n }\n}\n\nexport const Int8Converter: ValueConverter<bigint | undefined> = {\n from: (value?: bigint) => {\n if (value == null) {\n return {\n nullValue: RichValue_NullValue.NULL_VALUE\n }\n }\n return {\n int64Value: BigInt(value)\n }\n },\n to(v) {\n return v.int64Value\n }\n}\n\nexport const FloatConverter: ValueConverter<Float | undefined> = {\n from: (value?: Float) => {\n if (value == null) {\n return {\n nullValue: RichValue_NullValue.NULL_VALUE\n }\n }\n return {\n floatValue: value\n }\n },\n to(v) {\n return v.floatValue\n }\n}\n\nexport const BooleanConverter: ValueConverter<Boolean | undefined> = {\n from: (value?: Boolean) => {\n if (value == null) {\n return {\n nullValue: RichValue_NullValue.NULL_VALUE\n }\n }\n return {\n boolValue: value\n }\n },\n to(v) {\n return v.boolValue\n }\n}\n\nexport const TimestampConverter: ValueConverter<Timestamp | undefined> = {\n from: (value: Timestamp | undefined) => {\n if (value == null) {\n return {\n nullValue: RichValue_NullValue.NULL_VALUE\n }\n }\n return {\n timestampValue: value\n }\n },\n to(v) {\n return v.timestampValue\n }\n}\n\nexport const BytesConverter: ValueConverter<Bytes | undefined> = {\n from: (value?: Bytes) => {\n if (value == null) {\n return {\n nullValue: RichValue_NullValue.NULL_VALUE\n }\n }\n return {\n bytesValue: value\n }\n },\n to(v) {\n return v.bytesValue\n }\n}\n\nexport const IDConverter: ValueConverter<ID | undefined> = {\n from(value: ID | undefined): RichValue {\n if (typeof value == 'string') {\n return {\n stringValue: value\n }\n }\n if (value instanceof Uint8Array) {\n return {\n stringValue: `0x${Buffer.from(value).toString('hex')}`\n }\n }\n return {\n nullValue: RichValue_NullValue.NULL_VALUE\n }\n },\n to(value: RichValue): ID | undefined {\n if (value.stringValue) {\n return value.stringValue as ID\n }\n if (value.bytesValue) {\n const v = `0x${Buffer.from(value.bytesValue).toString('hex')}`\n return v as ID\n }\n return undefined\n }\n}\n\nexport const BigDecimalConverter: ValueConverter<BigDecimal | undefined> = {\n from: (value?: BigDecimal): RichValue => {\n if (value == null) {\n return {\n nullValue: RichValue_NullValue.NULL_VALUE\n }\n }\n return { bigdecimalValue: toBigDecimal(value) }\n },\n to(v) {\n const d = v.bigdecimalValue\n if (d) {\n const i = bytesToBigInt(d.value!.data)\n let ret = new BigDecimal(i.toString())\n if (d.exp < 0) {\n ret = ret.dividedBy(new BigDecimal(10).pow(-d.exp))\n } else {\n ret = ret.multipliedBy(new BigDecimal(10).pow(d.exp))\n }\n return ret.multipliedBy(d.value?.negative ? -1 : 1)\n }\n return undefined\n }\n}\n\nexport const BigIntConverter: ValueConverter<bigint | undefined> = {\n from: (value?: bigint) => {\n if (value == null) {\n return {\n nullValue: RichValue_NullValue.NULL_VALUE\n }\n }\n return {\n bigintValue: toBigInteger(value)\n }\n },\n to(v) {\n if (v.bigintValue) {\n let res = bytesToBigInt(v.bigintValue?.data)\n if (v.bigintValue.negative) {\n res = -res\n }\n return res\n }\n return undefined\n }\n}\n\nexport function bytesToBigInt(bytes: Uint8Array) {\n let intValue = BigInt(0)\n for (let i = 0; i < bytes.length; i++) {\n intValue = intValue * BigInt(256) + BigInt(bytes[i])\n }\n return intValue\n}\n\nexport const TypeConverters: Record<string, ValueConverter<any>> = {\n BigDecimal: BigDecimalConverter,\n BigInt: BigIntConverter,\n String: StringConverter,\n Boolean: BooleanConverter,\n Uint8Array: BytesConverter,\n ID: IDConverter,\n Bytes: BytesConverter,\n Int: IntConverter,\n Int8: Int8Converter,\n Float: FloatConverter,\n Timestamp: TimestampConverter\n}\n;import(\"node:process\").then((p) => p.stdout.write(\"\"));"],"mappings":"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","names":["ValueRequiredError","required_","converter","from","to","rest","__name","value","array_","enumerate_","values","RichValue_NullValue","v","objectId_","entityName","StringConverter","IntConverter","Int8Converter","FloatConverter","BooleanConverter","TimestampConverter","BytesConverter","IDConverter","BigDecimalConverter","toBigDecimal","d","bytesToBigInt","ret","BigDecimal","BigIntConverter","toBigInteger","res","bytes","intValue","TypeConverters","p"]}
@@ -1,5 +1,5 @@
1
1
  import { EventLogConfig, EventLogConfig_BasicFieldType, EventLogConfig_StructFieldType, LogLevel } from '@sentio/protos';
2
- import { normalizeAttribute, normalizeLabels } from './normalization.js';
2
+ import { normalizeAttribute, normalizeLabels, normalizeToRichStruct } from './normalization.js';
3
3
  import { MapStateStorage, processMetrics } from '@sentio/runtime';
4
4
  import { DatabaseSchema } from './database-schema.js';
5
5
  export class EventLoggerState extends MapStateStorage {
@@ -80,7 +80,7 @@ function emit(ctx, eventName, event) {
80
80
  },
81
81
  runtimeInfo: undefined,
82
82
  noMetric: true,
83
- attributes2: undefined
83
+ attributes2: normalizeToRichStruct(ctx.baseLabels, payload)
84
84
  };
85
85
  processMetrics.process_eventemit_count.add(1);
86
86
  ctx.update({ events: [res] });
@@ -1 +1 @@
1
- {"version":3,"file":"event-logger.js","sourceRoot":"","sources":["../../src/core/event-logger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"event-logger.js","sourceRoot":"","sources":["../../src/core/event-logger.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,9 @@
1
1
  import { Labels } from './meter.js';
2
+ import { RichStruct } from '@sentio/protos';
2
3
  export declare const SENTIO_BIGINT_STRING_SUFFIX = ":sto_bi";
3
4
  export declare const SENTIO_BIGDECIMAL_STRING_SUFFIX = ":sto_bd";
4
5
  export declare function normalizeKey(name: string): string;
5
6
  export declare function normalizeLabels(labels: Labels): Labels;
6
7
  export declare function normalizeAttribute(record: Record<string, any>): any;
8
+ export declare function normalizeToRichStruct(...objs: any[]): RichStruct;
7
9
  //# sourceMappingURL=normalization.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"normalization.d.ts","sourceRoot":"","sources":["../../src/core/normalization.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAInC,eAAO,MAAM,2BAA2B,YAAY,CAAA;AACpD,eAAO,MAAM,+BAA+B,YAAY,CAAA;AAMxD,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAKjD;AAUD,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAetD;AA4DD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,CAEnE"}
1
+ {"version":3,"file":"normalization.d.ts","sourceRoot":"","sources":["../../src/core/normalization.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAGnC,OAAO,EAAU,UAAU,EAA+C,MAAM,gBAAgB,CAAA;AAGhG,eAAO,MAAM,2BAA2B,YAAY,CAAA;AACpD,eAAO,MAAM,+BAA+B,YAAY,CAAA;AAMxD,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAKjD;AAUD,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAetD;AA4DD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,CAEnE;AAsED,wBAAgB,qBAAqB,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,UAAU,CAchE"}
@@ -1,5 +1,7 @@
1
1
  import { BigDecimal } from './big-decimal.js';
2
2
  import { BN } from 'fuels';
3
+ import { CoinID, RichValue_NullValue, TokenAmount } from '@sentio/protos';
4
+ import { toBigInteger, toBigDecimal } from './numberish.js';
3
5
  export const SENTIO_BIGINT_STRING_SUFFIX = ':sto_bi';
4
6
  export const SENTIO_BIGDECIMAL_STRING_SUFFIX = ':sto_bd';
5
7
  function normalizeName(name) {
@@ -93,4 +95,137 @@ function normalizeObject(obj, length, path) {
93
95
  export function normalizeAttribute(record) {
94
96
  return normalizeObject(record, 1000);
95
97
  }
98
+ function normalizeToRichValue(value) {
99
+ if (value == null) {
100
+ return { nullValue: RichValue_NullValue.NULL_VALUE };
101
+ }
102
+ switch (typeof value) {
103
+ case 'string':
104
+ return { stringValue: value };
105
+ case 'bigint':
106
+ const v = BigInt(value);
107
+ return { bigintValue: toBigInteger(v) };
108
+ case 'number':
109
+ if (isNaN(value) || !isFinite(value)) {
110
+ throw new Error("can't submit NaN or Infinity value");
111
+ }
112
+ if (Number.isInteger(value)) {
113
+ return { intValue: value };
114
+ }
115
+ return { floatValue: value };
116
+ case 'function':
117
+ return { nullValue: RichValue_NullValue.UNRECOGNIZED };
118
+ case 'symbol':
119
+ return { stringValue: String(value) };
120
+ case 'boolean':
121
+ return { boolValue: value };
122
+ default:
123
+ if (value instanceof Uint8Array) {
124
+ return { bytesValue: value };
125
+ }
126
+ if (value instanceof Date) {
127
+ return { timestampValue: value };
128
+ }
129
+ if (value instanceof BigDecimal) {
130
+ return { bigdecimalValue: toBigDecimal(value) };
131
+ }
132
+ if (BN.isBN(value)) {
133
+ const value1 = new BigDecimal(value.toString());
134
+ if (value1.isNaN() || !value1.isFinite()) {
135
+ throw new Error("can't submit NaN or Infinity value");
136
+ }
137
+ return { bigdecimalValue: toBigDecimal(value1) };
138
+ }
139
+ if (Array.isArray(value)) {
140
+ return {
141
+ listValue: {
142
+ values: value.map((v) => normalizeToRichValue(v))
143
+ }
144
+ };
145
+ }
146
+ if (value instanceof Promise) {
147
+ console.error('Cannot submit promise');
148
+ return { nullValue: RichValue_NullValue.UNRECOGNIZED };
149
+ }
150
+ if (typeof value === 'object') {
151
+ const tokenAmount = toTokenAmount(value);
152
+ if (tokenAmount) {
153
+ return { tokenValue: tokenAmount };
154
+ }
155
+ return {
156
+ structValue: normalizeToRichStruct(value)
157
+ };
158
+ }
159
+ console.warn('Cannot submit unsupported type ' + typeof value);
160
+ return { nullValue: RichValue_NullValue.UNRECOGNIZED };
161
+ }
162
+ }
163
+ export function normalizeToRichStruct(...objs) {
164
+ const ret = {
165
+ fields: {}
166
+ };
167
+ for (const obj of objs) {
168
+ for (const [key, value] of Object.entries(obj)) {
169
+ try {
170
+ ret.fields[key] = normalizeToRichValue(value);
171
+ }
172
+ catch (e) {
173
+ throw new Error("error when converting data for key '" + key + "': " + e.message);
174
+ }
175
+ }
176
+ }
177
+ return ret;
178
+ }
179
+ function toTokenAmount(value) {
180
+ const ret = TokenAmount.create();
181
+ for (const key of Object.getOwnPropertyNames(value)) {
182
+ switch (key) {
183
+ case 'token':
184
+ const token = toCoinID(value.token);
185
+ if (!token) {
186
+ return undefined;
187
+ }
188
+ ret.token = token;
189
+ break;
190
+ case 'amount':
191
+ if (value.amount instanceof BigDecimal) {
192
+ ret.amount = toBigDecimal(value);
193
+ }
194
+ else if (typeof value.amount == 'string' || typeof value.amount == 'number') {
195
+ ret.amount = toBigDecimal(new BigDecimal(value.amount));
196
+ }
197
+ else {
198
+ return undefined;
199
+ }
200
+ break;
201
+ case 'specifiedAt':
202
+ if (value.specifiedAt instanceof Date) {
203
+ ret.specifiedAt = value.specifiedAt;
204
+ }
205
+ else {
206
+ return undefined;
207
+ }
208
+ break;
209
+ default:
210
+ return undefined;
211
+ }
212
+ }
213
+ return ret.amount && ret.token ? ret : undefined;
214
+ }
215
+ function toCoinID(coin) {
216
+ const ret = CoinID.create();
217
+ if (typeof coin.symbol === 'string') {
218
+ return (ret.symbol = coin.symbol);
219
+ }
220
+ else if (coin.hasOwnProperty('address')) {
221
+ ret.address = {
222
+ address: coin.address.address,
223
+ chain: coin.address.chain
224
+ };
225
+ }
226
+ else {
227
+ return undefined;
228
+ }
229
+ return ret;
230
+ }
96
231
  //# sourceMappingURL=normalization.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"normalization.js","sourceRoot":"","sources":["../../src/core/normalization.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"normalization.js","sourceRoot":"","sources":["../../src/core/normalization.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"normalization.test.js","sourceRoot":"","sources":["../../src/core/normalization.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAC7B,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAEtF,oCAAoC;AACpC,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,IAAI,CAAC,4BAA4B,EAAE,KAAK,IAAI,EAAE;QAC5C,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,uBAAuB,EAAE,EAAE,EAAE,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,IAAI,EAAE,EAAE,EAAE,CAAA;QAC/G,MAAM,EAAE,GAAG,kBAAkB,CAAC,EAAE,CAAC,CAAA;QACjC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,+BAA+B,CAAC,CAAA;QACrD,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAA;QACpC,MAAM,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QAE9C,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;QACzC,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAA;QAErC,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,CAAA;QAC1B,MAAM,EAAE,GAAG,kBAAkB,CAAC,EAAE,CAAC,CAAA;QACjC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;QAE9B,MAAM,EAAE,GAAG;YACT,YAAY,EAAE,IAAI;YAClB,YAAY,EAAE,IAAI;SACnB,CAAA;QACD,MAAM,EAAE,GAAG,kBAAkB,CAAC,EAAE,CAAC,CAAA;QACjC,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;QACzC,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAA;QACrC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACjB,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE;QAC3B,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAA;QACrC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAA;QACzC,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAA;QAE7C,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAA;QAC7C,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAA;QAC7C,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAA;QAErC,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAA;QAE/C,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAA;IACtD,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,cAAc,EAAE,KAAK,IAAI,EAAE;QAC9B,MAAM,MAAM,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,CAAA;QAC9B,MAAM,OAAO,GAAG,eAAe,CAAC,MAAM,CAAC,CAAA;QAEvC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAA;IACpC,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"normalization.test.js","sourceRoot":"","sources":["../../src/core/normalization.test.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
- import { BigInteger, MetricValue } from '@sentio/protos';
1
+ import { BigDecimalRichValue, BigInteger, MetricValue } from '@sentio/protos';
2
2
  import { BigDecimal } from './big-decimal.js';
3
3
  export type Numberish = number | bigint | BigDecimal | string;
4
4
  export declare function toMetricValue(value: Numberish): MetricValue;
5
5
  export declare function toBigInteger(a: Numberish): BigInteger;
6
+ export declare function toBigDecimal(value: BigDecimal): BigDecimalRichValue;
6
7
  //# sourceMappingURL=numberish.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"numberish.d.ts","sourceRoot":"","sources":["../../src/core/numberish.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAE7C,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,MAAM,CAAA;AAE7D,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,WAAW,CA+C3D;AAkBD,wBAAgB,YAAY,CAAC,CAAC,EAAE,SAAS,GAAG,UAAU,CAyBrD"}
1
+ {"version":3,"file":"numberish.d.ts","sourceRoot":"","sources":["../../src/core/numberish.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC7E,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAE7C,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,MAAM,CAAA;AAE7D,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,WAAW,CA+C3D;AAkBD,wBAAgB,YAAY,CAAC,CAAC,EAAE,SAAS,GAAG,UAAU,CAyBrD;AAcD,wBAAgB,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG,mBAAmB,CAYnE"}
@@ -10,28 +10,28 @@ export function toMetricValue(value) {
10
10
  }
11
11
  if (Number.isInteger(value) && !Number.isSafeInteger(value)) {
12
12
  return MetricValue.fromPartial({
13
- bigInteger: toBigInteger(value),
13
+ bigInteger: toBigInteger(value)
14
14
  });
15
15
  }
16
16
  return MetricValue.fromPartial({
17
- doubleValue: Number(value),
17
+ doubleValue: Number(value)
18
18
  });
19
19
  }
20
20
  if (typeof value === 'bigint') {
21
21
  return MetricValue.fromPartial({
22
- bigInteger: toBigInteger(value),
22
+ bigInteger: toBigInteger(value)
23
23
  });
24
24
  }
25
25
  if (typeof value === 'string') {
26
26
  return MetricValue.fromPartial({
27
- bigDecimal: value,
27
+ bigDecimal: value
28
28
  });
29
29
  }
30
30
  // if (value instanceof BigDecimal) {
31
31
  // Carefully consider the use case here
32
32
  if (value.isInteger()) {
33
33
  return MetricValue.fromPartial({
34
- bigInteger: bigDecimalToBigInteger(value),
34
+ bigInteger: bigDecimalToBigInteger(value)
35
35
  });
36
36
  }
37
37
  else {
@@ -43,7 +43,7 @@ export function toMetricValue(value) {
43
43
  throw new Error('Cannot record infinite value');
44
44
  }
45
45
  return MetricValue.fromPartial({
46
- bigDecimal: value.toString(), // e.g. -7.350918e-428
46
+ bigDecimal: value.toString() // e.g. -7.350918e-428
47
47
  });
48
48
  }
49
49
  // }
@@ -94,7 +94,19 @@ function hexToBigInteger(hex, negative) {
94
94
  const buffer = Buffer.from(hex, 'hex');
95
95
  return {
96
96
  negative: negative,
97
- data: new Uint8Array(buffer),
97
+ data: new Uint8Array(buffer)
98
+ };
99
+ }
100
+ export function toBigDecimal(value) {
101
+ const s = (value.c || [])
102
+ .map((v, idx) => {
103
+ return idx == 0 ? v.toString() : v.toString().padStart(14, '0');
104
+ })
105
+ .join('');
106
+ const exp = -(s.length - (value.e ?? 0) - 1);
107
+ return {
108
+ value: toBigInteger(BigInt(s) * BigInt(value.s ?? 1)),
109
+ exp: exp
98
110
  };
99
111
  }
100
112
  //# sourceMappingURL=numberish.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"numberish.js","sourceRoot":"","sources":["../../src/core/numberish.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"numberish.js","sourceRoot":"","sources":["../../src/core/numberish.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ import { LogDescription, LogParams, ParamType, Result } from 'ethers';
2
+ export interface IResult {
3
+ array?: any[];
4
+ keys: string[];
5
+ }
6
+ export declare function decodeTraceInline(contractViewInterface: any, inputs: readonly ParamType[], traceData: string): Result;
7
+ export declare function decodeTrace({ inputs, traceData }: {
8
+ inputs: ParamType[];
9
+ traceData: string;
10
+ }): IResult | null;
11
+ export interface ILogDescription {
12
+ topic: string;
13
+ args: {
14
+ array?: any[];
15
+ keys: string[];
16
+ } | null;
17
+ }
18
+ export declare function parseLogInline(contractViewInterface: any, log: LogParams): LogDescription | null;
19
+ export declare function parseLog({ log }: {
20
+ log: LogParams;
21
+ }): ILogDescription | null;
22
+ declare const _default: {
23
+ parseLog: typeof parseLog;
24
+ decodeTrace: typeof decodeTrace;
25
+ };
26
+ export default _default;
27
+ //# sourceMappingURL=decode-worker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decode-worker.d.ts","sourceRoot":"","sources":["../../../src/eth/abi-decoder/decode-worker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,cAAc,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAIhF,MAAM,WAAW,OAAO;IACtB,KAAK,CAAC,EAAE,GAAG,EAAE,CAAA;IACb,IAAI,EAAE,MAAM,EAAE,CAAA;CACf;AAED,wBAAgB,iBAAiB,CAAC,qBAAqB,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,SAAS,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAErH;AAED,wBAAgB,WAAW,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE;IAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,GAAG,IAAI,CAiB7G;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE;QACJ,KAAK,CAAC,EAAE,GAAG,EAAE,CAAA;QACb,IAAI,EAAE,MAAM,EAAE,CAAA;KACf,GAAG,IAAI,CAAA;CACT;AAED,wBAAgB,cAAc,CAAC,qBAAqB,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,GAAG,cAAc,GAAG,IAAI,CAMhG;AAED,wBAAgB,QAAQ,CAAC,EAAE,GAAG,EAAE,EAAE;IAAE,GAAG,EAAE,SAAS,CAAA;CAAE,GAAG,eAAe,GAAG,IAAI,CA+B5E;;;;;AAED,wBAGC"}
@@ -0,0 +1,63 @@
1
+ import { Interface } from 'ethers';
2
+ import { Piscina } from 'piscina';
3
+ import { ServerError, Status } from 'nice-grpc';
4
+ export function decodeTraceInline(contractViewInterface, inputs, traceData) {
5
+ return contractViewInterface.getAbiCoder().decode(inputs, traceData, true);
6
+ }
7
+ export function decodeTrace({ inputs, traceData }) {
8
+ const fragments = Piscina['workerData'];
9
+ const contractViewInterface = new Interface(fragments);
10
+ const result = decodeTraceInline(contractViewInterface, inputs, traceData);
11
+ const argsObj = result?.args.toObject(true);
12
+ const argsArray = [];
13
+ const keys = [];
14
+ for (const [key, value] of Object.entries(argsObj)) {
15
+ keys.push(key);
16
+ argsArray.push(value);
17
+ }
18
+ return {
19
+ array: argsArray,
20
+ keys: keys
21
+ };
22
+ }
23
+ export function parseLogInline(contractViewInterface, log) {
24
+ if (!log) {
25
+ throw new ServerError(Status.INVALID_ARGUMENT, 'Log is empty');
26
+ }
27
+ const logParam = log;
28
+ return contractViewInterface.parseLog(logParam);
29
+ }
30
+ export function parseLog({ log }) {
31
+ const fragments = Piscina['workerData'];
32
+ const contractViewInterface = new Interface(fragments);
33
+ const result = parseLogInline(contractViewInterface, log);
34
+ if (!result) {
35
+ return null;
36
+ }
37
+ // can't serialize LogDescription, so return args and topics only
38
+ if (result?.args == null) {
39
+ return {
40
+ args: null,
41
+ topic: result.topic
42
+ };
43
+ }
44
+ const argsObj = result?.args.toObject(true);
45
+ const argsArray = [];
46
+ const keys = [];
47
+ for (const [key, value] of Object.entries(argsObj)) {
48
+ keys.push(key);
49
+ argsArray.push(value);
50
+ }
51
+ return {
52
+ args: {
53
+ array: argsArray,
54
+ keys: keys
55
+ },
56
+ topic: result.topic
57
+ };
58
+ }
59
+ export default {
60
+ parseLog,
61
+ decodeTrace
62
+ };
63
+ //# sourceMappingURL=decode-worker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decode-worker.js","sourceRoot":"","sources":["../../../src/eth/abi-decoder/decode-worker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAgD,MAAM,QAAQ,CAAA;AAChF,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAO/C,MAAM,UAAU,iBAAiB,CAAC,qBAA0B,EAAE,MAA4B,EAAE,SAAiB;IAC3G,OAAO,qBAAqB,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,CAAA;AAC5E,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,EAAE,MAAM,EAAE,SAAS,EAA8C;IAC3F,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,CAAA;IACvC,MAAM,qBAAqB,GAAG,IAAI,SAAS,CAAC,SAAS,CAAC,CAAA;IACtD,MAAM,MAAM,GAAG,iBAAiB,CAAC,qBAAqB,EAAE,MAAM,EAAE,SAAS,CAAC,CAAA;IAE1E,MAAM,OAAO,GAAG,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;IAC3C,MAAM,SAAS,GAAU,EAAE,CAAA;IAC3B,MAAM,IAAI,GAAa,EAAE,CAAA;IACzB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACnD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACd,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACvB,CAAC;IAED,OAAO;QACL,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,IAAI;KACX,CAAA;AACH,CAAC;AAUD,MAAM,UAAU,cAAc,CAAC,qBAA0B,EAAE,GAAc;IACvE,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,WAAW,CAAC,MAAM,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAA;IAChE,CAAC;IACD,MAAM,QAAQ,GAAG,GAAqD,CAAA;IACtE,OAAO,qBAAqB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;AACjD,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,EAAE,GAAG,EAAsB;IAClD,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,CAAA;IACvC,MAAM,qBAAqB,GAAG,IAAI,SAAS,CAAC,SAAS,CAAC,CAAA;IACtD,MAAM,MAAM,GAAG,cAAc,CAAC,qBAAqB,EAAE,GAAG,CAAC,CAAA;IACzD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,IAAI,CAAA;IACb,CAAC;IAED,iEAAiE;IACjE,IAAI,MAAM,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC;QACzB,OAAO;YACL,IAAI,EAAE,IAAI;YACV,KAAK,EAAE,MAAM,CAAC,KAAK;SACpB,CAAA;IACH,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;IAC3C,MAAM,SAAS,GAAU,EAAE,CAAA;IAC3B,MAAM,IAAI,GAAa,EAAE,CAAA;IACzB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACnD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACd,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACvB,CAAC;IAED,OAAO;QACL,IAAI,EAAE;YACJ,KAAK,EAAE,SAAS;YAChB,IAAI,EAAE,IAAI;SACX;QACD,KAAK,EAAE,MAAM,CAAC,KAAK;KACpB,CAAA;AACH,CAAC;AAED,eAAe;IACb,QAAQ;IACR,WAAW;CACZ,CAAA"}
@@ -0,0 +1,4 @@
1
+ import { LogDescription, LogParams, Result, ParamType } from 'ethers';
2
+ export declare function parseLog(processor: any, log: LogParams): Promise<LogDescription | null>;
3
+ export declare function decodeTrace(processor: any, inputs: readonly ParamType[], traceData: string): Promise<Result | null>;
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/eth/abi-decoder/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAoCrE,wBAAsB,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,kCA8C5D;AAED,wBAAsB,WAAW,CAAC,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,SAAS,EAAE,EAAE,SAAS,EAAE,MAAM,0BAyChG"}
@@ -0,0 +1,127 @@
1
+ import { LogDescription, Result } from 'ethers';
2
+ import { GLOBAL_CONFIG, processMetrics } from '@sentio/runtime';
3
+ import { Piscina } from 'piscina';
4
+ import { decodeTraceInline, parseLogInline } from './decode-worker.js';
5
+ function createOptions() {
6
+ const options = {
7
+ filename: findWorkFile()
8
+ };
9
+ if (GLOBAL_CONFIG.execution.ethAbiDecoderConfig?.workerCount) {
10
+ try {
11
+ const workerNum = GLOBAL_CONFIG.execution.ethAbiDecoderConfig?.workerCount;
12
+ options.maxThreads = workerNum;
13
+ options.minThreads = workerNum;
14
+ }
15
+ catch (e) { }
16
+ }
17
+ return options;
18
+ }
19
+ function findWorkFile() {
20
+ let baseUrl = import.meta.url;
21
+ // find the base from @sentio/sdk
22
+ const index = baseUrl.indexOf('/@sentio/sdk/');
23
+ if (index > 0) {
24
+ baseUrl = baseUrl.substring(0, index + 13);
25
+ }
26
+ else {
27
+ // dev environment, path is .../packages/sdk/src/eth/abi-decoder/parse-log-worker.ts
28
+ const index = baseUrl.indexOf('packages/sdk/');
29
+ if (index > 0) {
30
+ baseUrl = baseUrl.substring(0, index + 13);
31
+ }
32
+ }
33
+ return new URL('./lib/eth/abi-decoder/decode-worker.js', baseUrl).href;
34
+ }
35
+ export async function parseLog(processor, log) {
36
+ if (GLOBAL_CONFIG.execution.ethAbiDecoderConfig?.enabled) {
37
+ let workerPool = processor._logWorkerPool;
38
+ const contractView = processor.CreateBoundContractView();
39
+ const contractViewInterface = contractView.rawContract.interface;
40
+ if (!workerPool) {
41
+ const fragments = contractViewInterface.fragments;
42
+ const options = createOptions();
43
+ options.workerData = fragments;
44
+ workerPool = new Piscina(options);
45
+ processor._logWorkerPool = workerPool;
46
+ }
47
+ const start = Date.now();
48
+ try {
49
+ const result = (await workerPool.run({ log }, { name: 'parseLog' }));
50
+ if (result) {
51
+ const fragment = contractViewInterface.getEvent(result.topic);
52
+ if (!fragment || fragment.anonymous) {
53
+ return null;
54
+ }
55
+ return new LogDescription(fragment, result.topic, Result.fromItems(result.args?.array ?? [], result.args?.keys));
56
+ }
57
+ }
58
+ catch (e) {
59
+ const skipWhenDecodeFailed = GLOBAL_CONFIG.execution.ethAbiDecoderConfig?.skipWhenDecodeFailed;
60
+ console.error(`parseLog worker failed, skip: ${!!skipWhenDecodeFailed}, the error is:`, e);
61
+ if (!skipWhenDecodeFailed) {
62
+ throw e;
63
+ }
64
+ }
65
+ finally {
66
+ const labels = {
67
+ chain_id: processor.config?.network,
68
+ processor: processor.config?.name,
69
+ workerPool: 'parseLog'
70
+ };
71
+ processMetrics.processor_worker_run_time.add(Date.now() - start, labels);
72
+ processMetrics.processor_worker_completed.add(1, labels);
73
+ processMetrics.processor_worker_queue_size.record(workerPool.queueSize, labels);
74
+ }
75
+ return null;
76
+ }
77
+ else {
78
+ const contractView = processor.CreateBoundContractView();
79
+ const contractViewInterface = contractView.rawContract.interface;
80
+ return parseLogInline(contractViewInterface, log);
81
+ }
82
+ }
83
+ export async function decodeTrace(processor, inputs, traceData) {
84
+ if (GLOBAL_CONFIG.execution.ethAbiDecoderConfig?.enabled) {
85
+ let workerPool = processor._traceWorkerPool;
86
+ if (!workerPool) {
87
+ const contractView = processor.CreateBoundContractView();
88
+ const contractViewInterface = contractView.rawContract.interface;
89
+ const fragments = contractViewInterface.fragments;
90
+ const options = createOptions();
91
+ options.workerData = fragments;
92
+ workerPool = new Piscina(options);
93
+ processor._traceWorkerPool = workerPool;
94
+ }
95
+ const start = Date.now();
96
+ try {
97
+ const result = (await workerPool.run({ inputs, traceData }, { name: 'decodeTrace' }));
98
+ if (result) {
99
+ return Result.fromItems(result.array ?? [], result.keys);
100
+ }
101
+ }
102
+ catch (e) {
103
+ const skipWhenDecodeFailed = GLOBAL_CONFIG.execution.ethAbiDecoderConfig?.skipWhenDecodeFailed;
104
+ console.error(`decode trace worker failed, skip: ${!!skipWhenDecodeFailed}, the error is:`, e);
105
+ if (!skipWhenDecodeFailed) {
106
+ throw e;
107
+ }
108
+ }
109
+ finally {
110
+ const labels = {
111
+ chain_id: processor.config?.network,
112
+ processor: processor.config?.name,
113
+ workerPool: 'decodeTrace'
114
+ };
115
+ processMetrics.processor_worker_run_time.add(Date.now() - start, labels);
116
+ processMetrics.processor_worker_completed.add(1, labels);
117
+ processMetrics.processor_worker_queue_size.record(workerPool.queueSize, labels);
118
+ }
119
+ return null;
120
+ }
121
+ else {
122
+ const contractView = processor.CreateBoundContractView();
123
+ const contractViewInterface = contractView.rawContract.interface;
124
+ return decodeTraceInline(contractViewInterface, inputs, traceData);
125
+ }
126
+ }
127
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/eth/abi-decoder/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAa,MAAM,EAAa,MAAM,QAAQ,CAAA;AACrE,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAEjC,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAW,MAAM,oBAAoB,CAAA;AAE/E,SAAS,aAAa;IACpB,MAAM,OAAO,GAAQ;QACnB,QAAQ,EAAE,YAAY,EAAE;KACzB,CAAA;IACD,IAAI,aAAa,CAAC,SAAS,CAAC,mBAAmB,EAAE,WAAW,EAAE,CAAC;QAC7D,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,aAAa,CAAC,SAAS,CAAC,mBAAmB,EAAE,WAAW,CAAA;YAC1E,OAAO,CAAC,UAAU,GAAG,SAAS,CAAA;YAC9B,OAAO,CAAC,UAAU,GAAG,SAAS,CAAA;QAChC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC,CAAA,CAAC;IAChB,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,SAAS,YAAY;IACnB,IAAI,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAA;IAC7B,iCAAiC;IACjC,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,CAAA;IAC9C,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACd,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,GAAG,EAAE,CAAC,CAAA;IAC5C,CAAC;SAAM,CAAC;QACN,oFAAoF;QACpF,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,CAAA;QAC9C,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACd,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,GAAG,EAAE,CAAC,CAAA;QAC5C,CAAC;IACH,CAAC;IACD,OAAO,IAAI,GAAG,CAAC,wCAAwC,EAAE,OAAO,CAAC,CAAC,IAAI,CAAA;AACxE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,SAAc,EAAE,GAAc;IAC3D,IAAI,aAAa,CAAC,SAAS,CAAC,mBAAmB,EAAE,OAAO,EAAE,CAAC;QACzD,IAAI,UAAU,GAAG,SAAS,CAAC,cAAyB,CAAA;QACpD,MAAM,YAAY,GAAG,SAAS,CAAC,uBAAuB,EAAE,CAAA;QACxD,MAAM,qBAAqB,GAAG,YAAY,CAAC,WAAW,CAAC,SAAS,CAAA;QAChE,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,SAAS,GAAG,qBAAqB,CAAC,SAAS,CAAA;YACjD,MAAM,OAAO,GAAG,aAAa,EAAE,CAAA;YAC/B,OAAO,CAAC,UAAU,GAAG,SAAS,CAAA;YAE9B,UAAU,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,CAAA;YACjC,SAAS,CAAC,cAAc,GAAG,UAAU,CAAA;QACvC,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QACxB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,CAAC,MAAM,UAAU,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAQ,CAAA;YAC3E,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,QAAQ,GAAG,qBAAqB,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;gBAE7D,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;oBACpC,OAAO,IAAI,CAAA;gBACb,CAAC;gBACD,OAAO,IAAI,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;YAClH,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,oBAAoB,GAAG,aAAa,CAAC,SAAS,CAAC,mBAAmB,EAAE,oBAAoB,CAAA;YAC9F,OAAO,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC,oBAAoB,iBAAiB,EAAE,CAAC,CAAC,CAAA;YAC1F,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBAC1B,MAAM,CAAC,CAAA;YACT,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,MAAM,MAAM,GAAG;gBACb,QAAQ,EAAE,SAAS,CAAC,MAAM,EAAE,OAAO;gBACnC,SAAS,EAAE,SAAS,CAAC,MAAM,EAAE,IAAI;gBACjC,UAAU,EAAE,UAAU;aACvB,CAAA;YACD,cAAc,CAAC,yBAAyB,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,EAAE,MAAM,CAAC,CAAA;YACxE,cAAc,CAAC,0BAA0B,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;YACxD,cAAc,CAAC,2BAA2B,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;QACjF,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;SAAM,CAAC;QACN,MAAM,YAAY,GAAG,SAAS,CAAC,uBAAuB,EAAE,CAAA;QACxD,MAAM,qBAAqB,GAAG,YAAY,CAAC,WAAW,CAAC,SAAS,CAAA;QAChE,OAAO,cAAc,CAAC,qBAAqB,EAAE,GAAG,CAAC,CAAA;IACnD,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,SAAc,EAAE,MAA4B,EAAE,SAAiB;IAC/F,IAAI,aAAa,CAAC,SAAS,CAAC,mBAAmB,EAAE,OAAO,EAAE,CAAC;QACzD,IAAI,UAAU,GAAG,SAAS,CAAC,gBAAgB,CAAA;QAC3C,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,YAAY,GAAG,SAAS,CAAC,uBAAuB,EAAE,CAAA;YACxD,MAAM,qBAAqB,GAAG,YAAY,CAAC,WAAW,CAAC,SAAS,CAAA;YAChE,MAAM,SAAS,GAAG,qBAAqB,CAAC,SAAS,CAAA;YACjD,MAAM,OAAO,GAAG,aAAa,EAAE,CAAA;YAC/B,OAAO,CAAC,UAAU,GAAG,SAAS,CAAA;YAE9B,UAAU,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,CAAA;YACjC,SAAS,CAAC,gBAAgB,GAAG,UAAU,CAAA;QACzC,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QACxB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,CAAC,MAAM,UAAU,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAY,CAAA;YAChG,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;YAC1D,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,oBAAoB,GAAG,aAAa,CAAC,SAAS,CAAC,mBAAmB,EAAE,oBAAoB,CAAA;YAC9F,OAAO,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC,oBAAoB,iBAAiB,EAAE,CAAC,CAAC,CAAA;YAC9F,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBAC1B,MAAM,CAAC,CAAA;YACT,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,MAAM,MAAM,GAAG;gBACb,QAAQ,EAAE,SAAS,CAAC,MAAM,EAAE,OAAO;gBACnC,SAAS,EAAE,SAAS,CAAC,MAAM,EAAE,IAAI;gBACjC,UAAU,EAAE,aAAa;aAC1B,CAAA;YACD,cAAc,CAAC,yBAAyB,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,EAAE,MAAM,CAAC,CAAA;YACxE,cAAc,CAAC,0BAA0B,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;YACxD,cAAc,CAAC,2BAA2B,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;QACjF,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;SAAM,CAAC;QACN,MAAM,YAAY,GAAG,SAAS,CAAC,uBAAuB,EAAE,CAAA;QACxD,MAAM,qBAAqB,GAAG,YAAY,CAAC,WAAW,CAAC,SAAS,CAAA;QAChE,OAAO,iBAAiB,CAAC,qBAAqB,EAAE,MAAM,EAAE,SAAS,CAAC,CAAA;IACpE,CAAC;AACH,CAAC"}