@sentio/sdk 2.0.0-rc.19 → 2.0.0-rc.20

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 (333) hide show
  1. package/lib/aptos/codegen/codegen.d.ts +1 -3
  2. package/lib/aptos/codegen/codegen.js +12 -16
  3. package/lib/aptos/codegen/codegen.js.map +1 -1
  4. package/lib/aptos/network.js +1 -1
  5. package/lib/aptos/network.js.map +1 -1
  6. package/lib/aptos/run-codegen.js +2 -2
  7. package/lib/aptos/run-codegen.js.map +1 -1
  8. package/lib/core/big-decimal.d.ts +2 -0
  9. package/lib/core/big-decimal.js +8 -0
  10. package/lib/core/big-decimal.js.map +1 -1
  11. package/lib/{chain.d.ts → core/chain.d.ts} +0 -0
  12. package/lib/{chain.js → core/chain.js} +0 -0
  13. package/lib/core/chain.js.map +1 -0
  14. package/lib/core/index.d.ts +2 -4
  15. package/lib/core/index.js +2 -4
  16. package/lib/core/index.js.map +1 -1
  17. package/lib/core/numberish.d.ts +0 -2
  18. package/lib/core/numberish.js +0 -9
  19. package/lib/core/numberish.js.map +1 -1
  20. package/lib/core/sui-plugin.js +1 -1
  21. package/lib/core/sui-plugin.js.map +1 -1
  22. package/lib/core/sui-processor.d.ts +1 -1
  23. package/lib/core/sui-processor.js +1 -1
  24. package/lib/core/sui-processor.js.map +1 -1
  25. package/lib/eth/account-processor.d.ts +4 -4
  26. package/lib/eth/account-processor.js +4 -4
  27. package/lib/eth/account-processor.js.map +1 -1
  28. package/lib/eth/base-processor-template.d.ts +5 -5
  29. package/lib/eth/base-processor-template.js +1 -1
  30. package/lib/eth/base-processor-template.js.map +1 -1
  31. package/lib/eth/base-processor.d.ts +5 -5
  32. package/lib/eth/base-processor.js +1 -1
  33. package/lib/eth/base-processor.js.map +1 -1
  34. package/lib/{core → eth}/bind-options.d.ts +0 -0
  35. package/lib/{core → eth}/bind-options.js +0 -0
  36. package/lib/eth/bind-options.js.map +1 -0
  37. package/lib/eth/binds.d.ts +2 -2
  38. package/lib/eth/binds.js +1 -1
  39. package/lib/eth/binds.js.map +1 -1
  40. package/lib/{builtin → eth/builtin}/eacaggregatorproxy/index.d.ts +0 -0
  41. package/lib/{builtin → eth/builtin}/eacaggregatorproxy/index.js +0 -0
  42. package/lib/eth/builtin/eacaggregatorproxy/index.js.map +1 -0
  43. package/lib/{builtin → eth/builtin}/eacaggregatorproxy/test-utils.d.ts +0 -0
  44. package/lib/{builtin → eth/builtin}/eacaggregatorproxy/test-utils.js +0 -0
  45. package/lib/eth/builtin/eacaggregatorproxy/test-utils.js.map +1 -0
  46. package/lib/{builtin → eth/builtin}/erc1155/index.d.ts +0 -0
  47. package/lib/{builtin → eth/builtin}/erc1155/index.js +0 -0
  48. package/lib/eth/builtin/erc1155/index.js.map +1 -0
  49. package/lib/{builtin → eth/builtin}/erc1155/test-utils.d.ts +0 -0
  50. package/lib/{builtin → eth/builtin}/erc1155/test-utils.js +0 -0
  51. package/lib/eth/builtin/erc1155/test-utils.js.map +1 -0
  52. package/lib/{builtin → eth/builtin}/erc20/index.d.ts +0 -0
  53. package/lib/{builtin → eth/builtin}/erc20/index.js +0 -0
  54. package/lib/eth/builtin/erc20/index.js.map +1 -0
  55. package/lib/{builtin → eth/builtin}/erc20/test-utils.d.ts +0 -0
  56. package/lib/{builtin → eth/builtin}/erc20/test-utils.js +0 -0
  57. package/lib/eth/builtin/erc20/test-utils.js.map +1 -0
  58. package/lib/{builtin → eth/builtin}/erc20bytes/index.d.ts +0 -0
  59. package/lib/{builtin → eth/builtin}/erc20bytes/index.js +0 -0
  60. package/lib/eth/builtin/erc20bytes/index.js.map +1 -0
  61. package/lib/{builtin → eth/builtin}/erc20bytes/test-utils.d.ts +0 -0
  62. package/lib/{builtin → eth/builtin}/erc20bytes/test-utils.js +0 -0
  63. package/lib/eth/builtin/erc20bytes/test-utils.js.map +1 -0
  64. package/lib/{builtin → eth/builtin}/erc721/index.d.ts +0 -0
  65. package/lib/{builtin → eth/builtin}/erc721/index.js +0 -0
  66. package/lib/eth/builtin/erc721/index.js.map +1 -0
  67. package/lib/{builtin → eth/builtin}/erc721/test-utils.d.ts +0 -0
  68. package/lib/{builtin → eth/builtin}/erc721/test-utils.js +0 -0
  69. package/lib/eth/builtin/erc721/test-utils.js.map +1 -0
  70. package/lib/{builtin → eth/builtin}/index.d.ts +0 -0
  71. package/lib/{builtin → eth/builtin}/index.js +0 -0
  72. package/lib/eth/builtin/index.js.map +1 -0
  73. package/lib/{builtin → eth/builtin}/internal/EACAggregatorProxy.d.ts +0 -0
  74. package/lib/{builtin → eth/builtin}/internal/EACAggregatorProxy.js +0 -0
  75. package/lib/eth/builtin/internal/EACAggregatorProxy.js.map +1 -0
  76. package/lib/{builtin → eth/builtin}/internal/ERC1155.d.ts +0 -0
  77. package/lib/{builtin → eth/builtin}/internal/ERC1155.js +0 -0
  78. package/lib/eth/builtin/internal/ERC1155.js.map +1 -0
  79. package/lib/{builtin → eth/builtin}/internal/ERC20.d.ts +0 -0
  80. package/lib/{builtin → eth/builtin}/internal/ERC20.js +0 -0
  81. package/lib/eth/builtin/internal/ERC20.js.map +1 -0
  82. package/lib/{builtin → eth/builtin}/internal/ERC20Bytes.d.ts +0 -0
  83. package/lib/{builtin → eth/builtin}/internal/ERC20Bytes.js +0 -0
  84. package/lib/eth/builtin/internal/ERC20Bytes.js.map +1 -0
  85. package/lib/{builtin → eth/builtin}/internal/ERC721.d.ts +0 -0
  86. package/lib/{builtin → eth/builtin}/internal/ERC721.js +0 -0
  87. package/lib/eth/builtin/internal/ERC721.js.map +1 -0
  88. package/lib/{builtin → eth/builtin}/internal/WETH9.d.ts +0 -0
  89. package/lib/{builtin → eth/builtin}/internal/WETH9.js +0 -0
  90. package/lib/eth/builtin/internal/WETH9.js.map +1 -0
  91. package/lib/{builtin → eth/builtin}/internal/common.d.ts +0 -0
  92. package/lib/{builtin → eth/builtin}/internal/common.js +0 -0
  93. package/lib/eth/builtin/internal/common.js.map +1 -0
  94. package/lib/{builtin → eth/builtin}/internal/eacaggregatorproxy_processor.d.ts +1 -1
  95. package/lib/{builtin → eth/builtin}/internal/eacaggregatorproxy_processor.js +1 -1
  96. package/lib/eth/builtin/internal/eacaggregatorproxy_processor.js.map +1 -0
  97. package/lib/{builtin → eth/builtin}/internal/erc1155_processor.d.ts +1 -1
  98. package/lib/{builtin → eth/builtin}/internal/erc1155_processor.js +1 -1
  99. package/lib/eth/builtin/internal/erc1155_processor.js.map +1 -0
  100. package/lib/{builtin → eth/builtin}/internal/erc20_processor.d.ts +1 -1
  101. package/lib/{builtin → eth/builtin}/internal/erc20_processor.js +1 -1
  102. package/lib/eth/builtin/internal/erc20_processor.js.map +1 -0
  103. package/lib/{builtin → eth/builtin}/internal/erc20bytes_processor.d.ts +1 -1
  104. package/lib/{builtin → eth/builtin}/internal/erc20bytes_processor.js +1 -1
  105. package/lib/eth/builtin/internal/erc20bytes_processor.js.map +1 -0
  106. package/lib/{builtin → eth/builtin}/internal/erc721_processor.d.ts +1 -1
  107. package/lib/{builtin → eth/builtin}/internal/erc721_processor.js +1 -1
  108. package/lib/eth/builtin/internal/erc721_processor.js.map +1 -0
  109. package/lib/{builtin → eth/builtin}/internal/factories/EACAggregatorProxy__factory.d.ts +0 -0
  110. package/lib/{builtin → eth/builtin}/internal/factories/EACAggregatorProxy__factory.js +0 -0
  111. package/lib/eth/builtin/internal/factories/EACAggregatorProxy__factory.js.map +1 -0
  112. package/lib/{builtin → eth/builtin}/internal/factories/ERC1155__factory.d.ts +0 -0
  113. package/lib/{builtin → eth/builtin}/internal/factories/ERC1155__factory.js +0 -0
  114. package/lib/eth/builtin/internal/factories/ERC1155__factory.js.map +1 -0
  115. package/lib/{builtin → eth/builtin}/internal/factories/ERC20Bytes__factory.d.ts +0 -0
  116. package/lib/{builtin → eth/builtin}/internal/factories/ERC20Bytes__factory.js +0 -0
  117. package/lib/eth/builtin/internal/factories/ERC20Bytes__factory.js.map +1 -0
  118. package/lib/{builtin → eth/builtin}/internal/factories/ERC20__factory.d.ts +0 -0
  119. package/lib/{builtin → eth/builtin}/internal/factories/ERC20__factory.js +0 -0
  120. package/lib/eth/builtin/internal/factories/ERC20__factory.js.map +1 -0
  121. package/lib/{builtin → eth/builtin}/internal/factories/ERC721__factory.d.ts +0 -0
  122. package/lib/{builtin → eth/builtin}/internal/factories/ERC721__factory.js +0 -0
  123. package/lib/eth/builtin/internal/factories/ERC721__factory.js.map +1 -0
  124. package/lib/{builtin → eth/builtin}/internal/factories/WETH9__factory.d.ts +0 -0
  125. package/lib/{builtin → eth/builtin}/internal/factories/WETH9__factory.js +0 -0
  126. package/lib/eth/builtin/internal/factories/WETH9__factory.js.map +1 -0
  127. package/lib/{builtin → eth/builtin}/internal/factories/index.d.ts +0 -0
  128. package/lib/{builtin → eth/builtin}/internal/factories/index.js +0 -0
  129. package/lib/eth/builtin/internal/factories/index.js.map +1 -0
  130. package/lib/{builtin → eth/builtin}/internal/index.d.ts +0 -0
  131. package/lib/{builtin → eth/builtin}/internal/index.js +0 -0
  132. package/lib/eth/builtin/internal/index.js.map +1 -0
  133. package/lib/{builtin → eth/builtin}/internal/weth9_processor.d.ts +1 -1
  134. package/lib/{builtin → eth/builtin}/internal/weth9_processor.js +1 -1
  135. package/lib/eth/builtin/internal/weth9_processor.js.map +1 -0
  136. package/lib/{builtin → eth/builtin}/weth9/index.d.ts +0 -0
  137. package/lib/{builtin → eth/builtin}/weth9/index.js +0 -0
  138. package/lib/eth/builtin/weth9/index.js.map +1 -0
  139. package/lib/{builtin → eth/builtin}/weth9/test-utils.d.ts +0 -0
  140. package/lib/{builtin → eth/builtin}/weth9/test-utils.js +0 -0
  141. package/lib/eth/builtin/weth9/test-utils.js.map +1 -0
  142. package/lib/eth/codegen/codegen.d.ts +1 -0
  143. package/lib/eth/codegen/codegen.js +53 -0
  144. package/lib/eth/codegen/codegen.js.map +1 -0
  145. package/lib/{target-ethers-sentio/index.d.cts → eth/codegen/ethers-sentio.d.ts} +1 -1
  146. package/lib/eth/codegen/ethers-sentio.js +57 -0
  147. package/lib/eth/codegen/ethers-sentio.js.map +1 -0
  148. package/lib/{target-ethers-sentio/event-handler.d.cts → eth/codegen/event-handler.d.ts} +0 -0
  149. package/lib/eth/codegen/event-handler.js +46 -0
  150. package/lib/eth/codegen/event-handler.js.map +1 -0
  151. package/lib/{target-ethers-sentio/file.d.cts → eth/codegen/file.d.ts} +0 -0
  152. package/lib/{target-ethers-sentio/file.cjs → eth/codegen/file.js} +27 -34
  153. package/lib/eth/codegen/file.js.map +1 -0
  154. package/lib/{target-ethers-sentio/functions-handler.d.cts → eth/codegen/functions-handler.d.ts} +0 -0
  155. package/lib/{target-ethers-sentio/functions-handler.cjs → eth/codegen/functions-handler.js} +13 -18
  156. package/lib/eth/codegen/functions-handler.js.map +1 -0
  157. package/lib/eth/codegen/index.d.ts +1 -0
  158. package/lib/eth/codegen/index.js +2 -0
  159. package/lib/eth/codegen/index.js.map +1 -0
  160. package/lib/{target-ethers-sentio/types.d.cts → eth/codegen/types.d.ts} +0 -0
  161. package/lib/{target-ethers-sentio/types.cjs → eth/codegen/types.js} +4 -10
  162. package/lib/eth/codegen/types.js.map +1 -0
  163. package/lib/{target-ethers-sentio/view-function.d.cts → eth/codegen/view-function.d.ts} +0 -0
  164. package/lib/{target-ethers-sentio/view-function.cjs → eth/codegen/view-function.js} +13 -20
  165. package/lib/eth/codegen/view-function.js.map +1 -0
  166. package/lib/{core → eth}/context.d.ts +3 -3
  167. package/lib/{core → eth}/context.js +3 -3
  168. package/lib/eth/context.js.map +1 -0
  169. package/lib/eth/error.d.ts +1 -0
  170. package/lib/eth/error.js +3 -0
  171. package/lib/eth/error.js.map +1 -0
  172. package/lib/eth/eth.d.ts +10 -2
  173. package/lib/eth/eth.js +43 -1
  174. package/lib/eth/eth.js.map +1 -1
  175. package/lib/eth/generic-processor.d.ts +2 -2
  176. package/lib/eth/generic-processor.js +1 -1
  177. package/lib/eth/generic-processor.js.map +1 -1
  178. package/lib/eth/generic-processor.test.js.map +1 -1
  179. package/lib/eth/index.d.ts +4 -1
  180. package/lib/eth/index.js +4 -1
  181. package/lib/eth/index.js.map +1 -1
  182. package/lib/eth/run-codegen.d.ts +2 -0
  183. package/lib/eth/run-codegen.js +12 -0
  184. package/lib/eth/run-codegen.js.map +1 -0
  185. package/lib/index.d.ts +1 -3
  186. package/lib/index.js +1 -5
  187. package/lib/index.js.map +1 -1
  188. package/lib/solana/codegen/codegen.d.ts +1 -1
  189. package/lib/solana/codegen/codegen.js +1 -1
  190. package/lib/solana/codegen/codegen.js.map +1 -1
  191. package/lib/solana/run-codegen.js +2 -2
  192. package/lib/solana/run-codegen.js.map +1 -1
  193. package/lib/testing/test-processor-server.js +1 -1
  194. package/lib/testing/test-processor-server.js.map +1 -1
  195. package/lib/testing/test-provider.js +1 -1
  196. package/lib/testing/test-provider.js.map +1 -1
  197. package/lib/tsup.config.ts +3 -0
  198. package/lib/utils/dex-price.js +2 -2
  199. package/lib/utils/dex-price.js.map +1 -1
  200. package/lib/utils/token.d.ts +0 -1
  201. package/lib/utils/token.js +17 -28
  202. package/lib/utils/token.js.map +1 -1
  203. package/package.json +22 -21
  204. package/src/aptos/codegen/codegen.ts +13 -22
  205. package/src/aptos/codegen/tsconfig.json +1 -1
  206. package/src/aptos/network.ts +1 -1
  207. package/src/aptos/run-codegen.ts +2 -2
  208. package/src/core/big-decimal.ts +11 -0
  209. package/src/{chain.ts → core/chain.ts} +0 -0
  210. package/src/core/index.ts +2 -5
  211. package/src/core/numberish.ts +0 -11
  212. package/src/core/sui-plugin.ts +1 -1
  213. package/src/core/sui-processor.ts +1 -1
  214. package/src/{abis → eth/abis}/EACAggregatorProxy.json +0 -0
  215. package/src/{abis → eth/abis}/ERC1155.json +0 -0
  216. package/src/{abis → eth/abis}/ERC20.json +0 -0
  217. package/src/{abis → eth/abis}/ERC20Bytes.json +0 -0
  218. package/src/{abis → eth/abis}/ERC721.json +0 -0
  219. package/src/{abis → eth/abis}/WETH9.json +0 -0
  220. package/src/eth/account-processor.ts +7 -7
  221. package/src/eth/base-processor-template.ts +5 -5
  222. package/src/eth/base-processor.ts +6 -6
  223. package/src/{core → eth}/bind-options.ts +0 -0
  224. package/src/eth/binds.ts +2 -2
  225. package/src/{builtin → eth/builtin}/eacaggregatorproxy/index.ts +0 -0
  226. package/src/{builtin → eth/builtin}/eacaggregatorproxy/test-utils.ts +0 -0
  227. package/src/{builtin → eth/builtin}/erc1155/index.ts +0 -0
  228. package/src/{builtin → eth/builtin}/erc1155/test-utils.ts +0 -0
  229. package/src/{builtin → eth/builtin}/erc20/index.ts +0 -0
  230. package/src/{builtin → eth/builtin}/erc20/test-utils.ts +0 -0
  231. package/src/{builtin → eth/builtin}/erc20bytes/index.ts +0 -0
  232. package/src/{builtin → eth/builtin}/erc20bytes/test-utils.ts +0 -0
  233. package/src/{builtin → eth/builtin}/erc721/index.ts +0 -0
  234. package/src/{builtin → eth/builtin}/erc721/test-utils.ts +0 -0
  235. package/src/{builtin → eth/builtin}/index.ts +0 -0
  236. package/src/{builtin → eth/builtin}/internal/EACAggregatorProxy.ts +0 -0
  237. package/src/{builtin → eth/builtin}/internal/ERC1155.ts +0 -0
  238. package/src/{builtin → eth/builtin}/internal/ERC20.ts +0 -0
  239. package/src/{builtin → eth/builtin}/internal/ERC20Bytes.ts +0 -0
  240. package/src/{builtin → eth/builtin}/internal/ERC721.ts +0 -0
  241. package/src/{builtin → eth/builtin}/internal/WETH9.ts +0 -0
  242. package/src/{builtin → eth/builtin}/internal/common.ts +0 -0
  243. package/src/{builtin → eth/builtin}/internal/eacaggregatorproxy_processor.ts +1 -1
  244. package/src/{builtin → eth/builtin}/internal/erc1155_processor.ts +1 -1
  245. package/src/{builtin → eth/builtin}/internal/erc20_processor.ts +1 -1
  246. package/src/{builtin → eth/builtin}/internal/erc20bytes_processor.ts +1 -1
  247. package/src/{builtin → eth/builtin}/internal/erc721_processor.ts +1 -1
  248. package/src/{builtin → eth/builtin}/internal/factories/EACAggregatorProxy__factory.ts +0 -0
  249. package/src/{builtin → eth/builtin}/internal/factories/ERC1155__factory.ts +0 -0
  250. package/src/{builtin → eth/builtin}/internal/factories/ERC20Bytes__factory.ts +0 -0
  251. package/src/{builtin → eth/builtin}/internal/factories/ERC20__factory.ts +0 -0
  252. package/src/{builtin → eth/builtin}/internal/factories/ERC721__factory.ts +0 -0
  253. package/src/{builtin → eth/builtin}/internal/factories/WETH9__factory.ts +0 -0
  254. package/src/{builtin → eth/builtin}/internal/factories/index.ts +0 -0
  255. package/src/{builtin → eth/builtin}/internal/index.ts +0 -0
  256. package/src/{builtin → eth/builtin}/internal/weth9_processor.ts +1 -1
  257. package/src/{builtin → eth/builtin}/weth9/index.ts +0 -0
  258. package/src/{builtin → eth/builtin}/weth9/test-utils.ts +0 -0
  259. package/src/eth/codegen/codegen.ts +62 -0
  260. package/src/{target-ethers-sentio/index.cts → eth/codegen/ethers-sentio.ts} +2 -2
  261. package/src/{target-ethers-sentio/event-handler.cts → eth/codegen/event-handler.ts} +2 -2
  262. package/src/{target-ethers-sentio/file.cts → eth/codegen/file.ts} +6 -6
  263. package/src/{target-ethers-sentio/functions-handler.cts → eth/codegen/functions-handler.ts} +4 -4
  264. package/src/eth/codegen/index.ts +1 -0
  265. package/src/eth/codegen/tsconfig.json +8 -0
  266. package/src/{target-ethers-sentio/types.cts → eth/codegen/types.ts} +1 -1
  267. package/src/{target-ethers-sentio/view-function.cts → eth/codegen/view-function.ts} +5 -3
  268. package/src/{core → eth}/context.ts +4 -4
  269. package/src/eth/error.ts +4 -0
  270. package/src/eth/eth.ts +53 -3
  271. package/src/eth/generic-processor.ts +2 -2
  272. package/src/eth/index.ts +5 -3
  273. package/src/eth/run-codegen.ts +12 -0
  274. package/src/index.ts +1 -6
  275. package/src/solana/codegen/codegen.ts +1 -1
  276. package/src/solana/codegen/tsconfig.json +1 -1
  277. package/src/solana/run-codegen.ts +2 -2
  278. package/src/testing/test-processor-server.ts +1 -1
  279. package/src/testing/test-provider.ts +1 -1
  280. package/src/tsup.config.ts +3 -0
  281. package/src/utils/dex-price.ts +2 -2
  282. package/src/utils/token.ts +19 -30
  283. package/lib/builtin/eacaggregatorproxy/index.js.map +0 -1
  284. package/lib/builtin/eacaggregatorproxy/test-utils.js.map +0 -1
  285. package/lib/builtin/erc1155/index.js.map +0 -1
  286. package/lib/builtin/erc1155/test-utils.js.map +0 -1
  287. package/lib/builtin/erc20/index.js.map +0 -1
  288. package/lib/builtin/erc20/test-utils.js.map +0 -1
  289. package/lib/builtin/erc20bytes/index.js.map +0 -1
  290. package/lib/builtin/erc20bytes/test-utils.js.map +0 -1
  291. package/lib/builtin/erc721/index.js.map +0 -1
  292. package/lib/builtin/erc721/test-utils.js.map +0 -1
  293. package/lib/builtin/index.js.map +0 -1
  294. package/lib/builtin/internal/EACAggregatorProxy.js.map +0 -1
  295. package/lib/builtin/internal/ERC1155.js.map +0 -1
  296. package/lib/builtin/internal/ERC20.js.map +0 -1
  297. package/lib/builtin/internal/ERC20Bytes.js.map +0 -1
  298. package/lib/builtin/internal/ERC721.js.map +0 -1
  299. package/lib/builtin/internal/WETH9.js.map +0 -1
  300. package/lib/builtin/internal/common.js.map +0 -1
  301. package/lib/builtin/internal/eacaggregatorproxy_processor.js.map +0 -1
  302. package/lib/builtin/internal/erc1155_processor.js.map +0 -1
  303. package/lib/builtin/internal/erc20_processor.js.map +0 -1
  304. package/lib/builtin/internal/erc20bytes_processor.js.map +0 -1
  305. package/lib/builtin/internal/erc721_processor.js.map +0 -1
  306. package/lib/builtin/internal/factories/EACAggregatorProxy__factory.js.map +0 -1
  307. package/lib/builtin/internal/factories/ERC1155__factory.js.map +0 -1
  308. package/lib/builtin/internal/factories/ERC20Bytes__factory.js.map +0 -1
  309. package/lib/builtin/internal/factories/ERC20__factory.js.map +0 -1
  310. package/lib/builtin/internal/factories/ERC721__factory.js.map +0 -1
  311. package/lib/builtin/internal/factories/WETH9__factory.js.map +0 -1
  312. package/lib/builtin/internal/factories/index.js.map +0 -1
  313. package/lib/builtin/internal/index.js.map +0 -1
  314. package/lib/builtin/internal/weth9_processor.js.map +0 -1
  315. package/lib/builtin/weth9/index.js.map +0 -1
  316. package/lib/builtin/weth9/test-utils.js.map +0 -1
  317. package/lib/chain.js.map +0 -1
  318. package/lib/core/bind-options.js.map +0 -1
  319. package/lib/core/context.js.map +0 -1
  320. package/lib/error.d.ts +0 -7
  321. package/lib/error.js +0 -36
  322. package/lib/error.js.map +0 -1
  323. package/lib/target-ethers-sentio/event-handler.cjs +0 -52
  324. package/lib/target-ethers-sentio/event-handler.cjs.map +0 -1
  325. package/lib/target-ethers-sentio/file.cjs.map +0 -1
  326. package/lib/target-ethers-sentio/functions-handler.cjs.map +0 -1
  327. package/lib/target-ethers-sentio/index.cjs +0 -61
  328. package/lib/target-ethers-sentio/index.cjs.map +0 -1
  329. package/lib/target-ethers-sentio/types.cjs.map +0 -1
  330. package/lib/target-ethers-sentio/view-function.cjs.map +0 -1
  331. package/src/error.ts +0 -43
  332. package/src/target-ethers-sentio/.eslintrc.json +0 -14
  333. package/src/target-ethers-sentio/tsconfig.json +0 -9
@@ -1,8 +1,8 @@
1
- import { getEACAggregatorProxyContract } from '../builtin/internal/eacaggregatorproxy_processor.js';
1
+ import { getEACAggregatorProxyContract } from '../eth/builtin/internal/eacaggregatorproxy_processor.js';
2
2
  import fs from 'fs';
3
3
  import { parse } from 'csv-parse/sync';
4
- import { scaleDown } from './token.js';
5
4
  import url from 'url';
5
+ import { scaleDown } from '../core/big-decimal.js';
6
6
  export var PriceUnit;
7
7
  (function (PriceUnit) {
8
8
  PriceUnit[PriceUnit["USD"] = 0] = "USD";
@@ -1 +1 @@
1
- {"version":3,"file":"dex-price.js","sourceRoot":"","sources":["../../src/utils/dex-price.ts"],"names":[],"mappings":"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","sourcesContent":["import { getEACAggregatorProxyContract } from '../builtin/internal/eacaggregatorproxy_processor.js'\nimport fs from 'fs'\nimport { parse } from 'csv-parse/sync'\nimport { BlockTag } from 'ethers/providers'\nimport { scaleDown } from './token.js'\nimport url from 'url'\n\ntype OralceRecord = {\n Pair: string\n Asset: string\n Type: string\n Address: string\n}\n\nexport enum PriceUnit {\n USD = 0,\n ETH = 1,\n BTC = 2,\n}\n\nexport interface DexPriceResult {\n price?: number\n error?: string\n}\n\n// Load price feed from https://docs.chain.link/docs/data-feeds/price-feeds/addresses/?network=ethereum\n// and then use EACAggregatorProxy contract to get price\nclass DexPrice {\n USD_ORACLE_MAP = new Map<string, string>()\n ETH_ORACLE_MAP = new Map<string, string>()\n BTC_ORACLE_MAP = new Map<string, string>()\n ASSETS_INFOS = new Map<string, number>()\n\n readonly chainId: number\n\n constructor(csvFileName: string, chainId: number) {\n this.chainId = chainId\n const csvFilePath = url.fileURLToPath(new URL('./' + csvFileName, import.meta.url))\n const fileContent = fs.readFileSync(csvFilePath, { encoding: 'utf-8' })\n const headers = ['Pair', 'Asset', 'Type', 'Address']\n\n const records: OralceRecord[] = parse(fileContent, {\n delimiter: ',',\n columns: headers,\n skip_empty_lines: true,\n })\n\n for (const record of records) {\n const pair = record.Pair.split('/')\n const asset = pair[0].trim().toLowerCase()\n const target = pair[1].trim().toLowerCase()\n const address = record.Address.toLowerCase()\n if (target === 'usd') {\n this.USD_ORACLE_MAP.set(asset, address)\n } else if (target === 'eth') {\n this.ETH_ORACLE_MAP.set(asset, address)\n } else if (target == 'btc') {\n this.BTC_ORACLE_MAP.set(asset, address)\n } else {\n console.error('wrong asset record:' + JSON.stringify(record))\n }\n\n // console.log(asset, target, address)\n }\n }\n\n // asset: symbol of the asset\n // unit: usd, eth or btc\n // blockTag: blockNumber of block symbol like \"latest\"\n // returns the asset price,\n // throw exception if calling to price feed failed, e.g. due to a invalid block number\n async getPrice(\n asset: string,\n blockTag: BlockTag = 'latest',\n unit: PriceUnit = PriceUnit.USD\n ): Promise<DexPriceResult> {\n // if (chainId !== 1 && chainId !== 5) {\n // return {\n // error: \"current dex price only support chain 1 (mainnet) or 5 (goerli)\"\n // }\n // }\n\n let oracleMap = this.USD_ORACLE_MAP\n switch (unit) {\n case PriceUnit.ETH:\n oracleMap = this.ETH_ORACLE_MAP\n break\n case PriceUnit.BTC:\n oracleMap = this.BTC_ORACLE_MAP\n break\n default:\n }\n\n asset = asset.trim().toLowerCase()\n\n const addr = oracleMap.get(asset)\n if (!addr) {\n return {\n error: 'No price feed found for asset',\n }\n }\n\n const contract = getEACAggregatorProxyContract(addr, this.chainId)\n try {\n const price = await contract.latestAnswer({\n blockTag: blockTag,\n })\n\n let decimal = this.ASSETS_INFOS.get(asset)\n if (!decimal) {\n decimal = Number(await contract.decimals())\n this.ASSETS_INFOS.set(asset, decimal)\n }\n\n return {\n price: scaleDown(price, decimal).toNumber(),\n }\n } catch (e) {\n return {\n error:\n 'Price query error for ' +\n asset +\n ' failed at ' +\n addr +\n ' at chain ' +\n this.chainId +\n '. Details: ' +\n e.toString(),\n }\n }\n }\n}\n\nexport const EthereumDexPrice = new DexPrice('chainlink-oracles.csv', 1)\nexport const GoerliDexPrice = new DexPrice('chainlink-oracles-goerli.csv', 5)\n"]}
1
+ {"version":3,"file":"dex-price.js","sourceRoot":"","sources":["../../src/utils/dex-price.ts"],"names":[],"mappings":"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","sourcesContent":["import { getEACAggregatorProxyContract } from '../eth/builtin/internal/eacaggregatorproxy_processor.js'\nimport fs from 'fs'\nimport { parse } from 'csv-parse/sync'\nimport { BlockTag } from 'ethers/providers'\nimport url from 'url'\nimport { scaleDown } from '../core/big-decimal.js'\n\ntype OralceRecord = {\n Pair: string\n Asset: string\n Type: string\n Address: string\n}\n\nexport enum PriceUnit {\n USD = 0,\n ETH = 1,\n BTC = 2,\n}\n\nexport interface DexPriceResult {\n price?: number\n error?: string\n}\n\n// Load price feed from https://docs.chain.link/docs/data-feeds/price-feeds/addresses/?network=ethereum\n// and then use EACAggregatorProxy contract to get price\nclass DexPrice {\n USD_ORACLE_MAP = new Map<string, string>()\n ETH_ORACLE_MAP = new Map<string, string>()\n BTC_ORACLE_MAP = new Map<string, string>()\n ASSETS_INFOS = new Map<string, number>()\n\n readonly chainId: number\n\n constructor(csvFileName: string, chainId: number) {\n this.chainId = chainId\n const csvFilePath = url.fileURLToPath(new URL('./' + csvFileName, import.meta.url))\n const fileContent = fs.readFileSync(csvFilePath, { encoding: 'utf-8' })\n const headers = ['Pair', 'Asset', 'Type', 'Address']\n\n const records: OralceRecord[] = parse(fileContent, {\n delimiter: ',',\n columns: headers,\n skip_empty_lines: true,\n })\n\n for (const record of records) {\n const pair = record.Pair.split('/')\n const asset = pair[0].trim().toLowerCase()\n const target = pair[1].trim().toLowerCase()\n const address = record.Address.toLowerCase()\n if (target === 'usd') {\n this.USD_ORACLE_MAP.set(asset, address)\n } else if (target === 'eth') {\n this.ETH_ORACLE_MAP.set(asset, address)\n } else if (target == 'btc') {\n this.BTC_ORACLE_MAP.set(asset, address)\n } else {\n console.error('wrong asset record:' + JSON.stringify(record))\n }\n\n // console.log(asset, target, address)\n }\n }\n\n // asset: symbol of the asset\n // unit: usd, eth or btc\n // blockTag: blockNumber of block symbol like \"latest\"\n // returns the asset price,\n // throw exception if calling to price feed failed, e.g. due to a invalid block number\n async getPrice(\n asset: string,\n blockTag: BlockTag = 'latest',\n unit: PriceUnit = PriceUnit.USD\n ): Promise<DexPriceResult> {\n // if (chainId !== 1 && chainId !== 5) {\n // return {\n // error: \"current dex price only support chain 1 (mainnet) or 5 (goerli)\"\n // }\n // }\n\n let oracleMap = this.USD_ORACLE_MAP\n switch (unit) {\n case PriceUnit.ETH:\n oracleMap = this.ETH_ORACLE_MAP\n break\n case PriceUnit.BTC:\n oracleMap = this.BTC_ORACLE_MAP\n break\n default:\n }\n\n asset = asset.trim().toLowerCase()\n\n const addr = oracleMap.get(asset)\n if (!addr) {\n return {\n error: 'No price feed found for asset',\n }\n }\n\n const contract = getEACAggregatorProxyContract(addr, this.chainId)\n try {\n const price = await contract.latestAnswer({\n blockTag: blockTag,\n })\n\n let decimal = this.ASSETS_INFOS.get(asset)\n if (!decimal) {\n decimal = Number(await contract.decimals())\n this.ASSETS_INFOS.set(asset, decimal)\n }\n\n return {\n price: scaleDown(price, decimal).toNumber(),\n }\n } catch (e) {\n return {\n error:\n 'Price query error for ' +\n asset +\n ' failed at ' +\n addr +\n ' at chain ' +\n this.chainId +\n '. Details: ' +\n e.toString(),\n }\n }\n }\n}\n\nexport const EthereumDexPrice = new DexPrice('chainlink-oracles.csv', 1)\nexport const GoerliDexPrice = new DexPrice('chainlink-oracles-goerli.csv', 5)\n"]}
@@ -11,4 +11,3 @@ export declare const NATIVE_ETH: {
11
11
  };
12
12
  export declare function getERC20TokenInfo(tokenAddress: string, chainId?: number): Promise<TokenInfo>;
13
13
  export declare function getER20NormalizedAmount(tokenAddress: string, amount: bigint, chainId: number): Promise<BigDecimal>;
14
- export declare function scaleDown(amount: bigint, decimal: number | bigint): BigDecimal;
@@ -1,7 +1,6 @@
1
- import { transformEtherError } from '../error.js';
2
- import { getERC20Contract } from '../builtin/erc20/index.js';
3
- import { getERC20BytesContract } from '../builtin/internal/erc20bytes_processor.js';
4
- import { BigDecimal } from '../core/big-decimal.js';
1
+ import { getERC20Contract } from '../eth/builtin/erc20/index.js';
2
+ import { getERC20BytesContract } from '../eth/builtin/internal/erc20bytes_processor.js';
3
+ import { scaleDown } from '../core/big-decimal.js';
5
4
  import { decodeBytes32String } from 'ethers';
6
5
  export const NATIVE_ETH = {
7
6
  symbol: 'ETH',
@@ -24,37 +23,27 @@ export async function getERC20TokenInfo(tokenAddress, chainId = 1) {
24
23
  }
25
24
  const contract = getERC20Contract(tokenAddress, chainId);
26
25
  const bytesContract = getERC20BytesContract(tokenAddress, chainId);
26
+ let name = '';
27
27
  try {
28
- // TODO maybe not do try catch, just do raw call the parse results
29
- let name = '';
30
- try {
31
- name = await contract.name();
32
- }
33
- catch (e) {
34
- name = decodeBytes32String(await bytesContract.name());
35
- }
36
- let symbol = '';
37
- try {
38
- symbol = await contract.symbol();
39
- }
40
- catch (e) {
41
- symbol = decodeBytes32String(await bytesContract.symbol());
42
- }
43
- const decimal = await contract.decimals();
44
- const info = getTokenInfoPromise(symbol, name, decimal);
45
- TOKEN_INFOS.set(key, info);
46
- return info;
28
+ name = await contract.name();
47
29
  }
48
30
  catch (e) {
49
- throw transformEtherError(e, undefined);
31
+ name = decodeBytes32String(await bytesContract.name());
50
32
  }
33
+ let symbol = '';
34
+ try {
35
+ symbol = await contract.symbol();
36
+ }
37
+ catch (e) {
38
+ symbol = decodeBytes32String(await bytesContract.symbol());
39
+ }
40
+ const decimal = await contract.decimals();
41
+ const info = getTokenInfoPromise(symbol, name, decimal);
42
+ TOKEN_INFOS.set(key, info);
43
+ return info;
51
44
  }
52
45
  export async function getER20NormalizedAmount(tokenAddress, amount, chainId) {
53
46
  const tokenInfo = await getERC20TokenInfo(tokenAddress, chainId);
54
47
  return scaleDown(amount, tokenInfo.decimal);
55
48
  }
56
- export function scaleDown(amount, decimal) {
57
- const divider = new BigDecimal(10).pow(Number(decimal));
58
- return amount.asBigDecimal().dividedBy(divider);
59
- }
60
49
  //# sourceMappingURL=token.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"token.js","sourceRoot":"","sources":["../../src/utils/token.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,6CAA6C,CAAA;AACnF,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAInD,OAAO,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAA;AAQ5C,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,MAAM,EAAE,KAAK;IACb,OAAO,EAAE,EAAE;IACX,IAAI,EAAE,YAAY;CACnB,CAAA;AAED,MAAM,WAAW,GAAG,IAAI,GAAG,EAA8B,CAAA;AAEzD,KAAK,UAAU,mBAAmB,CAChC,MAAuC,EACvC,IAAqC,EACrC,OAA+B;IAE/B,OAAO;QACL,MAAM,EAAE,MAAM,MAAM;QACpB,IAAI,EAAE,MAAM,IAAI;QAChB,OAAO,EAAE,MAAM,CAAC,MAAM,OAAO,CAAC;KAC/B,CAAA;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,YAAoB,EAAE,OAAO,GAAG,CAAC;IACvE,MAAM,GAAG,GAAG,OAAO,GAAG,YAAY,CAAA;IAClC,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAChC,IAAI,GAAG,EAAE;QACP,OAAO,GAAG,CAAA;KACX;IACD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;IACxD,MAAM,aAAa,GAAG,qBAAqB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;IAElE,IAAI;QACF,kEAAkE;QAClE,IAAI,IAAI,GAAG,EAAE,CAAA;QACb,IAAI;YACF,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;SAC7B;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,GAAG,mBAAmB,CAAC,MAAM,aAAa,CAAC,IAAI,EAAE,CAAC,CAAA;SACvD;QAED,IAAI,MAAM,GAAG,EAAE,CAAA;QACf,IAAI;YACF,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,EAAE,CAAA;SACjC;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,GAAG,mBAAmB,CAAC,MAAM,aAAa,CAAC,MAAM,EAAE,CAAC,CAAA;SAC3D;QAED,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,CAAA;QACzC,MAAM,IAAI,GAAG,mBAAmB,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;QAEvD,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;QAC1B,OAAO,IAAI,CAAA;KACZ;IAAC,OAAO,CAAC,EAAE;QACV,MAAM,mBAAmB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAA;KACxC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,YAAoB,EACpB,MAAc,EACd,OAAe;IAEf,MAAM,SAAS,GAAG,MAAM,iBAAiB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;IAChE,OAAO,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,OAAO,CAAC,CAAA;AAC7C,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,MAAc,EAAE,OAAwB;IAChE,MAAM,OAAO,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAA;IACvD,OAAO,MAAM,CAAC,YAAY,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;AACjD,CAAC","sourcesContent":["import { transformEtherError } from '../error.js'\nimport { getERC20Contract } from '../builtin/erc20/index.js'\nimport { getERC20BytesContract } from '../builtin/internal/erc20bytes_processor.js'\nimport { BigDecimal } from '../core/big-decimal.js'\n// import { toBigDecimal } from './conversion'\n// import { utils } from 'ethers'\nimport { PromiseOrValue } from '../builtin/internal/common.js'\nimport { decodeBytes32String } from 'ethers'\n\nexport interface TokenInfo {\n symbol: string\n name: string\n decimal: number\n}\n\nexport const NATIVE_ETH = {\n symbol: 'ETH',\n decimal: 18,\n name: 'Native ETH',\n}\n\nconst TOKEN_INFOS = new Map<string, Promise<TokenInfo>>()\n\nasync function getTokenInfoPromise(\n symbol: PromiseOrValue<string> | string,\n name: PromiseOrValue<string> | string,\n decimal: PromiseOrValue<bigint>\n): Promise<TokenInfo> {\n return {\n symbol: await symbol,\n name: await name,\n decimal: Number(await decimal),\n }\n}\n\nexport async function getERC20TokenInfo(tokenAddress: string, chainId = 1): Promise<TokenInfo> {\n const key = chainId + tokenAddress\n const res = TOKEN_INFOS.get(key)\n if (res) {\n return res\n }\n const contract = getERC20Contract(tokenAddress, chainId)\n const bytesContract = getERC20BytesContract(tokenAddress, chainId)\n\n try {\n // TODO maybe not do try catch, just do raw call the parse results\n let name = ''\n try {\n name = await contract.name()\n } catch (e) {\n name = decodeBytes32String(await bytesContract.name())\n }\n\n let symbol = ''\n try {\n symbol = await contract.symbol()\n } catch (e) {\n symbol = decodeBytes32String(await bytesContract.symbol())\n }\n\n const decimal = await contract.decimals()\n const info = getTokenInfoPromise(symbol, name, decimal)\n\n TOKEN_INFOS.set(key, info)\n return info\n } catch (e) {\n throw transformEtherError(e, undefined)\n }\n}\n\nexport async function getER20NormalizedAmount(\n tokenAddress: string,\n amount: bigint,\n chainId: number\n): Promise<BigDecimal> {\n const tokenInfo = await getERC20TokenInfo(tokenAddress, chainId)\n return scaleDown(amount, tokenInfo.decimal)\n}\n\nexport function scaleDown(amount: bigint, decimal: number | bigint) {\n const divider = new BigDecimal(10).pow(Number(decimal))\n return amount.asBigDecimal().dividedBy(divider)\n}\n"]}
1
+ {"version":3,"file":"token.js","sourceRoot":"","sources":["../../src/utils/token.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAA;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,iDAAiD,CAAA;AACvF,OAAO,EAAc,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAI9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAA;AAQ5C,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,MAAM,EAAE,KAAK;IACb,OAAO,EAAE,EAAE;IACX,IAAI,EAAE,YAAY;CACnB,CAAA;AAED,MAAM,WAAW,GAAG,IAAI,GAAG,EAA8B,CAAA;AAEzD,KAAK,UAAU,mBAAmB,CAChC,MAAuC,EACvC,IAAqC,EACrC,OAA+B;IAE/B,OAAO;QACL,MAAM,EAAE,MAAM,MAAM;QACpB,IAAI,EAAE,MAAM,IAAI;QAChB,OAAO,EAAE,MAAM,CAAC,MAAM,OAAO,CAAC;KAC/B,CAAA;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,YAAoB,EAAE,OAAO,GAAG,CAAC;IACvE,MAAM,GAAG,GAAG,OAAO,GAAG,YAAY,CAAA;IAClC,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAChC,IAAI,GAAG,EAAE;QACP,OAAO,GAAG,CAAA;KACX;IACD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;IACxD,MAAM,aAAa,GAAG,qBAAqB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;IAElE,IAAI,IAAI,GAAG,EAAE,CAAA;IACb,IAAI;QACF,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;KAC7B;IAAC,OAAO,CAAC,EAAE;QACV,IAAI,GAAG,mBAAmB,CAAC,MAAM,aAAa,CAAC,IAAI,EAAE,CAAC,CAAA;KACvD;IAED,IAAI,MAAM,GAAG,EAAE,CAAA;IACf,IAAI;QACF,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,EAAE,CAAA;KACjC;IAAC,OAAO,CAAC,EAAE;QACV,MAAM,GAAG,mBAAmB,CAAC,MAAM,aAAa,CAAC,MAAM,EAAE,CAAC,CAAA;KAC3D;IAED,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,CAAA;IACzC,MAAM,IAAI,GAAG,mBAAmB,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;IAEvD,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;IAC1B,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,YAAoB,EACpB,MAAc,EACd,OAAe;IAEf,MAAM,SAAS,GAAG,MAAM,iBAAiB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;IAChE,OAAO,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,OAAO,CAAC,CAAA;AAC7C,CAAC","sourcesContent":["import { getERC20Contract } from '../eth/builtin/erc20/index.js'\nimport { getERC20BytesContract } from '../eth/builtin/internal/erc20bytes_processor.js'\nimport { BigDecimal, scaleDown } from '../core/big-decimal.js'\n// import { toBigDecimal } from './conversion'\n// import { utils } from 'ethers'\nimport { PromiseOrValue } from '../eth/builtin/internal/common.js'\nimport { decodeBytes32String } from 'ethers'\n\nexport interface TokenInfo {\n symbol: string\n name: string\n decimal: number\n}\n\nexport const NATIVE_ETH = {\n symbol: 'ETH',\n decimal: 18,\n name: 'Native ETH',\n}\n\nconst TOKEN_INFOS = new Map<string, Promise<TokenInfo>>()\n\nasync function getTokenInfoPromise(\n symbol: PromiseOrValue<string> | string,\n name: PromiseOrValue<string> | string,\n decimal: PromiseOrValue<bigint>\n): Promise<TokenInfo> {\n return {\n symbol: await symbol,\n name: await name,\n decimal: Number(await decimal),\n }\n}\n\nexport async function getERC20TokenInfo(tokenAddress: string, chainId = 1): Promise<TokenInfo> {\n const key = chainId + tokenAddress\n const res = TOKEN_INFOS.get(key)\n if (res) {\n return res\n }\n const contract = getERC20Contract(tokenAddress, chainId)\n const bytesContract = getERC20BytesContract(tokenAddress, chainId)\n\n let name = ''\n try {\n name = await contract.name()\n } catch (e) {\n name = decodeBytes32String(await bytesContract.name())\n }\n\n let symbol = ''\n try {\n symbol = await contract.symbol()\n } catch (e) {\n symbol = decodeBytes32String(await bytesContract.symbol())\n }\n\n const decimal = await contract.decimals()\n const info = getTokenInfoPromise(symbol, name, decimal)\n\n TOKEN_INFOS.set(key, info)\n return info\n}\n\nexport async function getER20NormalizedAmount(\n tokenAddress: string,\n amount: bigint,\n chainId: number\n): Promise<BigDecimal> {\n const tokenInfo = await getERC20TokenInfo(tokenAddress, chainId)\n return scaleDown(amount, tokenInfo.decimal)\n}\n"]}
package/package.json CHANGED
@@ -1,35 +1,35 @@
1
1
  {
2
2
  "name": "@sentio/sdk",
3
3
  "license": "Apache-2.0",
4
- "version": "2.0.0-rc.19",
4
+ "version": "2.0.0-rc.20",
5
5
  "type": "module",
6
6
  "scripts": {
7
- "compile_typechain_target": "yarn tsc -b src/target-ethers-sentio/tsconfig.json",
8
7
  "compile": "tsc -p . && cp src/utils/*.csv lib/utils && cp src/tsup.config.ts lib",
9
- "build": "yarn gen && yarn aptos:gen && yarn solana:gen && yarn compile",
8
+ "build": "yarn gen:eth && yarn gen:aptos && yarn gen:solana && yarn compile",
10
9
  "build_all": "yarn lerna run --scope=@sentio/sdk build --include-dependencies",
11
10
  "test": "NODE_OPTIONS=--experimental-vm-modules yarn jest",
12
- "gen": "yarn compile_typechain_target && yarn gen_bultin_evm",
13
- "gen_bultin_evm": "typechain --target lib/target-ethers-sentio/index.cjs --out-dir src/builtin/internal 'src/abis/*.json'",
14
- "aptos:gen": "ts-node-esm ./src/aptos/run-codegen.ts src/aptos/abis src/aptos/builtin && yarn aptos:gen_test",
15
- "aptos:gen_test": "ts-node-esm ./src/aptos/run-codegen.ts src/aptos/tests/abis src/aptos/tests/types",
16
- "solana:gen": "ts-node-esm ./src/solana/run-codegen.ts src/solana/tests/abis src/solana/tests/types"
11
+ "gen:eth": "ts-node-esm ./src/eth/run-codegen.ts src/eth/abis src/eth/builtin && yarn gen:eth_test",
12
+ "gen:eth_test": "ts-node-esm ./src/eth/run-codegen.ts src/tests/abis/eth ./src/tests/types/eth",
13
+ "gen:aptos": "ts-node-esm ./src/aptos/run-codegen.ts src/aptos/abis src/aptos/builtin && yarn gen:aptos_test",
14
+ "gen:aptos_test": "ts-node-esm ./src/aptos/run-codegen.ts src/aptos/tests/abis src/aptos/tests/types",
15
+ "gen:solana": "ts-node-esm ./src/solana/run-codegen.ts src/solana/tests/abis src/solana/tests/types"
17
16
  },
18
17
  "dependencies": {
19
18
  "@project-serum/anchor": "^0.26.0",
20
19
  "@sentio/bigdecimal": "^9.1.1-patch.3",
21
20
  "@sentio/ethers-v6": "^1.0.24",
22
- "@sentio/protos": "^2.0.0-rc.19",
23
- "@sentio/runtime": "^2.0.0-rc.19",
24
- "@sentio/sdk": "^2.0.0-rc.19",
21
+ "@sentio/protos": "^2.0.0-rc.20",
22
+ "@sentio/runtime": "^2.0.0-rc.20",
23
+ "@sentio/sdk": "^2.0.0-rc.20",
25
24
  "@solana/web3.js": "^1.47.3",
26
25
  "@types/prettier": "^2.7.2",
27
26
  "aptos-sdk": "npm:@sentio/aptos@^1.6.0",
28
27
  "bs58": "^5.0.0",
29
28
  "chalk": "^5.2.0",
30
29
  "csv-parse": "^5.3.0",
31
- "ethers": "npm:@sentio/ethers@^6.0.0-patch.2",
30
+ "ethers": "npm:@sentio/ethers@^6.0.0-patch.3",
32
31
  "google-protobuf": "^3.15.8",
32
+ "mkdirp": "^2.1.3",
33
33
  "nice-grpc": "^2.0.0",
34
34
  "p-queue": "^7.3.0",
35
35
  "prettier": "^2.8.1",
@@ -43,20 +43,21 @@
43
43
  },
44
44
  "exports": {
45
45
  ".": "./lib/index.js",
46
- "./eth": "./lib/eth/index.js",
47
46
  "./testing": "./lib/testing/index.js",
48
- "./builtin": "./lib/builtin/index.js",
49
- "./builtin/erc20": "./lib/builtin/erc20/index.js",
50
- "./builtin/erc721": "./lib/builtin/erc721/index.js",
51
- "./builtin/erc1155": "./lib/builtin/erc1155/index.js",
52
- "./builtin/eacaggregatorproxy": "./lib/builtin/eacaggregatorproxy/index.js",
53
- "./builtin/weth9": "./lib/builtin/weth9/index.js",
54
47
  "./utils": "./lib/utils/index.js",
48
+ "./eth": "./lib/eth/index.js",
49
+ "./eth/codegen": "./lib/eth/codegen/index.js",
50
+ "./eth/builtin": "./lib/eth/builtin/index.js",
51
+ "./eth/builtin/erc20": "./lib/eth/builtin/erc20/index.js",
52
+ "./eth/builtin/erc721": "./lib/eth/builtin/erc721/index.js",
53
+ "./eth/builtin/erc1155": "./lib/eth/builtin/erc1155/index.js",
54
+ "./eth/builtin/eacaggregatorproxy": "./lib/eth/builtin/eacaggregatorproxy/index.js",
55
+ "./eth/builtin/weth9": "./lib/eth/builtin/weth9/index.js",
55
56
  "./aptos": "./lib/aptos/index.js",
57
+ "./aptos/codegen": "./lib/aptos/codegen/index.js",
56
58
  "./aptos/builtin": "./lib/aptos/builtin/index.js",
57
59
  "./aptos/builtin/0x1": "./lib/aptos/builtin/0x1.js",
58
60
  "./aptos/builtin/0x3": "./lib/aptos/builtin/0x3.js",
59
- "./aptos/codegen": "./lib/aptos/codegen/index.js",
60
61
  "./solana": "./lib/solana/index.js",
61
62
  "./solana/builtin": "./lib/solana/builtin/index.js",
62
63
  "./solana/codegen": "./lib/solana/codegen/index.js"
@@ -72,5 +73,5 @@
72
73
  "typedoc": {
73
74
  "entryPoint": "./src/index.ts"
74
75
  },
75
- "gitHead": "1fe5303cf8c75078018ab4d41de3318eb478ced0"
76
+ "gitHead": "6e809c147d767c9652954a5547c239ab3963615e"
76
77
  }
@@ -8,6 +8,15 @@ import chalk from 'chalk'
8
8
  import { AptosNetwork, getAptosChainName } from '../network.js'
9
9
  import { parseMoveType } from '../types.js'
10
10
  import { AptosClient } from 'aptos-sdk'
11
+ import { camelCase } from 'lodash-es'
12
+
13
+ export async function codegen(abisDir: string, outDir = 'src/types/aptos') {
14
+ if (!fs.existsSync(abisDir)) {
15
+ return
16
+ }
17
+ console.log(chalk.green('Generated Types for Aptos'))
18
+ await generate(abisDir, outDir)
19
+ }
11
20
 
12
21
  function getRpcEndpoint(network: AptosNetwork): string {
13
22
  switch (network) {
@@ -21,20 +30,12 @@ function getRpcClient(network: AptosNetwork): AptosClient {
21
30
  return new AptosClient(getRpcEndpoint(network))
22
31
  }
23
32
 
24
- export async function codeGenAptosProcessor(abisDir: string, outDir = 'src/types/aptos') {
25
- if (!fs.existsSync(abisDir)) {
26
- return
27
- }
28
- console.log(chalk.green('Generated Types for Aptos'))
29
- await generate(abisDir, outDir)
30
- }
31
-
32
- export async function generate(srcDir: string, outputDir: string) {
33
+ async function generate(srcDir: string, outputDir: string) {
33
34
  await generateForNetwork(srcDir, outputDir, AptosNetwork.MAIN_NET)
34
35
  await generateForNetwork(path.join(srcDir, 'testnet'), path.join(outputDir, 'testnet'), AptosNetwork.TEST_NET)
35
36
  }
36
37
 
37
- export async function generateForNetwork(srcDir: string, outputDir: string, network: AptosNetwork) {
38
+ async function generateForNetwork(srcDir: string, outputDir: string, network: AptosNetwork) {
38
39
  if (!fs.existsSync(srcDir)) {
39
40
  return
40
41
  }
@@ -366,7 +367,7 @@ function generateCallArgsStructs(module: MoveModule, func: MoveFunction) {
366
367
  return `${generateType(param, module.address)}`
367
368
  })
368
369
 
369
- const camelFuncName = capitalizeFirstChar(camelize(func.name))
370
+ const camelFuncName = capitalizeFirstChar(camelCase(func.name))
370
371
 
371
372
  const genericString = generateFunctionTypeParameters(func)
372
373
  return `
@@ -386,7 +387,7 @@ function generateOnEntryFunctions(module: MoveModule, func: MoveFunction) {
386
387
  // const genericString = generateFunctionTypeParameters(func)
387
388
  const moduleName = normalizeToJSName(module.name)
388
389
 
389
- const camelFuncName = capitalizeFirstChar(camelize(func.name))
390
+ const camelFuncName = capitalizeFirstChar(camelCase(func.name))
390
391
  const source = `
391
392
  onEntry${camelFuncName}(func: (call: ${moduleName}.${camelFuncName}Payload, ctx: AptosContext) => void, filter?: CallFilter, fetchConfig?: AptosFetchConfig): ${moduleName} {
392
393
  this.onEntryFunctionCall(func, {
@@ -448,16 +449,6 @@ function generateOnEvents(module: MoveModule, struct: MoveStruct): string {
448
449
  return source
449
450
  }
450
451
 
451
- function camelize(input: string): string {
452
- return input
453
- .split('_')
454
- .reduce(
455
- (res, word, i) =>
456
- i === 0 ? word.toLowerCase() : `${res}${word.charAt(0).toUpperCase()}${word.slice(1).toLowerCase()}`,
457
- ''
458
- )
459
- }
460
-
461
452
  function capitalizeFirstChar(input: string): string {
462
453
  if (!input) {
463
454
  return input
@@ -3,6 +3,6 @@
3
3
  "rootDir": "..",
4
4
  "outDir": "../../../lib/aptos"
5
5
  },
6
- "extends": "../../../tsconfig.json",
6
+ "extends": "@sentio/sdk/tsconfig.json",
7
7
  "include": ["./"]
8
8
  }
@@ -1,4 +1,4 @@
1
- import { CHAIN_IDS, getChainName } from '../chain.js'
1
+ import { CHAIN_IDS, getChainName } from '../core/chain.js'
2
2
 
3
3
  export enum AptosNetwork {
4
4
  MAIN_NET = 1,
@@ -1,12 +1,12 @@
1
1
  // #!/usr/bin/env node
2
2
 
3
- import { codeGenAptosProcessor } from './codegen/codegen.js'
3
+ import { codegen } from './codegen/codegen.js'
4
4
 
5
5
  if (process.argv.length > 3) {
6
6
  const abisDir = process.argv[2]
7
7
  const targetDir = process.argv[3]
8
8
 
9
- await codeGenAptosProcessor(abisDir, targetDir)
9
+ await codegen(abisDir, targetDir)
10
10
  } else {
11
11
  console.error('Not enough argument')
12
12
  process.exit(1)
@@ -5,8 +5,19 @@ export { BigDecimal } from '@sentio/bigdecimal'
5
5
  declare global {
6
6
  interface BigInt {
7
7
  asBigDecimal(): BigDecimal
8
+ scaleDown(decimal: number | bigint): BigDecimal
8
9
  }
9
10
  }
10
11
  BigInt.prototype.asBigDecimal = function () {
11
12
  return new BigDecimal(this.toString())
12
13
  }
14
+
15
+ BigInt.prototype.scaleDown = function (decimal: number | bigint) {
16
+ // @ts-ignore this is fine
17
+ return scaleDown(this, decimal)
18
+ }
19
+
20
+ export function scaleDown(amount: bigint, decimal: number | bigint): BigDecimal {
21
+ const divider = new BigDecimal(10).pow(Number(decimal))
22
+ return amount.asBigDecimal().dividedBy(divider)
23
+ }
File without changes
package/src/core/index.ts CHANGED
@@ -1,13 +1,10 @@
1
- export { BigDecimal } from './big-decimal.js'
1
+ export { BigDecimal, scaleDown } from './big-decimal.js'
2
2
  export { BaseContext } from './base-context.js'
3
3
  export { type Labels, normalizeLabels } from './metadata.js'
4
- export { ContractContext, ContractView, BoundContractView } from './context.js'
5
4
  export { CounterBinding, Meter, GaugeBinding, Counter, Gauge, MetricOptions } from './meter.js'
6
5
  export { EventTracker, AccountEventTracker } from './event-tracker.js'
7
6
  export { Exporter } from './exporter.js'
8
- export { type Numberish, toBigInteger, toMetricValue, toBlockTag } from './numberish.js'
9
-
10
- export { BindOptions } from './bind-options.js'
7
+ export { type Numberish, toBigInteger, toMetricValue } from './numberish.js'
11
8
 
12
9
  export { SuiBaseProcessor, SuiBindOptions } from './sui-processor.js'
13
10
 
@@ -1,19 +1,8 @@
1
1
  import { BigInteger, MetricValue } from '@sentio/protos'
2
2
  import { BigDecimal } from './big-decimal.js'
3
- import { BlockTag } from 'ethers/providers'
4
3
 
5
4
  export type Numberish = number | bigint | BigDecimal | string
6
5
 
7
- export function toBlockTag(a: number | bigint): BlockTag {
8
- if (typeof a === 'number') {
9
- return a
10
- }
11
- if (a > Number.MAX_SAFE_INTEGER) {
12
- return '0x' + a.toString(16)
13
- }
14
- return Number(a)
15
- }
16
-
17
6
  export function toMetricValue(value: Numberish): MetricValue {
18
7
  if (typeof value === 'number') {
19
8
  if (Number.isNaN(value)) {
@@ -3,7 +3,7 @@ import { ContractConfig, DataBinding, HandlerType, ProcessConfigResponse, Proces
3
3
 
4
4
  import { ServerError, Status } from 'nice-grpc'
5
5
 
6
- import { CHAIN_IDS } from '../chain.js'
6
+ import { CHAIN_IDS } from './chain.js'
7
7
  import { SuiProcessorState } from './sui-processor.js'
8
8
 
9
9
  export class SuiPlugin extends Plugin {
@@ -1,4 +1,4 @@
1
- import { SuiContext } from './context.js'
1
+ import { SuiContext } from '../eth/context.js'
2
2
  import { ProcessResult } from '@sentio/protos'
3
3
  import { ListStateStorage } from '@sentio/runtime'
4
4
 
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -1,16 +1,16 @@
1
- import { ERC20__factory, ERC721__factory } from '../builtin/internal/index.js'
1
+ import { ERC20__factory, ERC721__factory } from './builtin/internal/index.js'
2
2
  import { AddressType, EthFetchConfig, ProcessResult } from '@sentio/protos'
3
- import { AccountBindOptions } from '../core/bind-options.js'
3
+ import { AccountBindOptions } from './bind-options.js'
4
4
 
5
5
  import { Network, LogParams } from 'ethers/providers'
6
6
 
7
- import { TransferEvent as ERC20TransferEvent } from '../builtin/internal/ERC20.js'
8
- import { TransferEvent as ERC721TransferEvent } from '../builtin/internal/ERC721.js'
7
+ import { TransferEvent as ERC20TransferEvent } from './builtin/internal/ERC20.js'
8
+ import { TransferEvent as ERC721TransferEvent } from './builtin/internal/ERC721.js'
9
9
 
10
- import { ERC20Processor } from '../builtin/internal/erc20_processor.js'
11
- import { ERC721Processor } from '../builtin/internal/erc721_processor.js'
10
+ import { ERC20Processor } from './builtin/internal/erc20_processor.js'
11
+ import { ERC721Processor } from './builtin/internal/erc721_processor.js'
12
12
 
13
- import { AccountContext } from '../core/context.js'
13
+ import { AccountContext } from './context.js'
14
14
  import { PromiseOrVoid } from '../promise-or-void.js'
15
15
  import { AddressOrTypeEventFilter, EventsHandler } from './base-processor.js'
16
16
  import { Transaction, Block, TransactionReceipt, LogDescription } from 'ethers'
@@ -1,14 +1,14 @@
1
- import { BoundContractView, ContractContext, ContractView } from '../core/context.js'
1
+ import { BoundContractView, ContractContext, ContractView } from './context.js'
2
2
  import { BaseContract, ContractEvent, Block, LogDescription } from 'ethers'
3
3
  import { AddressOrTypeEventFilter, BaseProcessor } from './base-processor.js'
4
- import { BindOptions, getOptionsSignature } from '../core/bind-options.js'
4
+ import { BindOptions, getOptionsSignature } from './bind-options.js'
5
5
  import { EthFetchConfig, HandleInterval, TemplateInstance } from '@sentio/protos'
6
6
  import { PromiseOrVoid } from '../promise-or-void.js'
7
7
  import { Trace } from './trace.js'
8
8
  import { ListStateStorage } from '@sentio/runtime'
9
9
  import { EventFilter, LogParams, Network } from 'ethers/providers'
10
10
  import { DeferredTopicFilter } from 'ethers/contract'
11
- import { Eth } from './eth.js'
11
+ import { EthLog } from './eth.js'
12
12
 
13
13
  export class ProcessorTemplateProcessorState extends ListStateStorage<
14
14
  BaseProcessorTemplate<BaseContract, BoundContractView<BaseContract, any>>
@@ -37,7 +37,7 @@ export abstract class BaseProcessorTemplate<
37
37
  fetchConfig?: EthFetchConfig
38
38
  }[] = []
39
39
  eventHandlers: {
40
- handler: (event: Eth, ctx: ContractContext<TContract, TBoundContractView>) => PromiseOrVoid
40
+ handler: (event: EthLog, ctx: ContractContext<TContract, TBoundContractView>) => PromiseOrVoid
41
41
  filter: DeferredTopicFilter | DeferredTopicFilter[]
42
42
  fetchConfig?: EthFetchConfig
43
43
  }[] = []
@@ -88,7 +88,7 @@ export abstract class BaseProcessorTemplate<
88
88
  }
89
89
 
90
90
  public onEvent(
91
- handler: (event: Eth, ctx: ContractContext<TContract, TBoundContractView>) => PromiseOrVoid,
91
+ handler: (event: EthLog, ctx: ContractContext<TContract, TBoundContractView>) => PromiseOrVoid,
92
92
  filter: DeferredTopicFilter | DeferredTopicFilter[],
93
93
  fetchConfig?: EthFetchConfig
94
94
  ) {
@@ -1,7 +1,7 @@
1
1
  import { Block, TransactionReceipt, BaseContract, Transaction, DeferredTopicFilter } from 'ethers'
2
2
  import { LogParams, Network } from 'ethers/providers'
3
3
 
4
- import { BoundContractView, ContractContext, ContractView } from '../core/context.js'
4
+ import { BoundContractView, ContractContext, ContractView } from './context.js'
5
5
  import {
6
6
  AddressType,
7
7
  Data_EthBlock,
@@ -11,11 +11,11 @@ import {
11
11
  HandleInterval,
12
12
  ProcessResult,
13
13
  } from '@sentio/protos'
14
- import { BindInternalOptions, BindOptions } from '../core/bind-options.js'
14
+ import { BindInternalOptions, BindOptions } from './bind-options.js'
15
15
  import { PromiseOrVoid } from '../promise-or-void.js'
16
16
  import { Trace } from './trace.js'
17
17
  import { ServerError, Status } from 'nice-grpc'
18
- import { Eth } from './eth.js'
18
+ import { EthLog } from './eth.js'
19
19
 
20
20
  export interface AddressOrTypeEventFilter extends DeferredTopicFilter {
21
21
  addressType?: AddressType
@@ -78,7 +78,7 @@ export abstract class BaseProcessor<
78
78
  }
79
79
 
80
80
  public onEvent(
81
- handler: (event: Eth, ctx: ContractContext<TContract, TBoundContractView>) => PromiseOrVoid,
81
+ handler: (event: EthLog, ctx: ContractContext<TContract, TBoundContractView>) => PromiseOrVoid,
82
82
  filter: DeferredTopicFilter | DeferredTopicFilter[],
83
83
  fetchConfig?: EthFetchConfig
84
84
  ) {
@@ -120,7 +120,7 @@ export abstract class BaseProcessor<
120
120
  const parsed = contractView.rawContract.interface.parseLog(logParam)
121
121
 
122
122
  if (parsed) {
123
- const event: Eth = { ...log, args: parsed.args }
123
+ const event: EthLog = { ...log, args: parsed.args }
124
124
  await handler(event, ctx)
125
125
  return ctx.getProcessResult()
126
126
  }
@@ -189,7 +189,7 @@ export abstract class BaseProcessor<
189
189
  return this
190
190
  }
191
191
 
192
- public onAllEvents(handler: (event: Eth, ctx: ContractContext<TContract, TBoundContractView>) => PromiseOrVoid) {
192
+ public onAllEvents(handler: (event: EthLog, ctx: ContractContext<TContract, TBoundContractView>) => PromiseOrVoid) {
193
193
  const _filters: DeferredTopicFilter[] = []
194
194
  const tmpContract = this.CreateBoundContractView()
195
195
 
File without changes
package/src/eth/binds.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { BindOptions, getOptionsSignature } from '../core/bind-options.js'
2
- import { ContractView } from '../core/index.js'
1
+ import { BindOptions, getOptionsSignature } from './bind-options.js'
2
+ import { ContractView } from './context.js'
3
3
  import { BaseProcessor } from './base-processor.js'
4
4
  import { Networkish, Network } from 'ethers/providers'
5
5
 
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -20,7 +20,7 @@ import {
20
20
  DummyProvider,
21
21
  TypedCallTrace,
22
22
  toBlockTag,
23
- } from "@sentio/sdk";
23
+ } from "@sentio/sdk/eth";
24
24
  import { EthFetchConfig } from "@sentio/protos";
25
25
 
26
26
  import { EACAggregatorProxy, EACAggregatorProxy__factory } from "./index.js";
@@ -20,7 +20,7 @@ import {
20
20
  DummyProvider,
21
21
  TypedCallTrace,
22
22
  toBlockTag,
23
- } from "@sentio/sdk";
23
+ } from "@sentio/sdk/eth";
24
24
  import { EthFetchConfig } from "@sentio/protos";
25
25
 
26
26
  import { ERC1155, ERC1155__factory } from "./index.js";