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

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 (331) hide show
  1. package/lib/aptos/aptos-plugin.d.ts +1 -1
  2. package/lib/aptos/aptos-plugin.d.ts.map +1 -1
  3. package/lib/aptos/aptos-plugin.js +43 -42
  4. package/lib/aptos/aptos-plugin.js.map +1 -1
  5. package/lib/aptos/aptos-processor.d.ts +1 -1
  6. package/lib/aptos/aptos-processor.d.ts.map +1 -1
  7. package/lib/aptos/aptos-processor.js +25 -25
  8. package/lib/aptos/aptos-processor.js.map +1 -1
  9. package/lib/aptos/aptos-resource-processor-template.d.ts +1 -1
  10. package/lib/aptos/aptos-resource-processor-template.d.ts.map +1 -1
  11. package/lib/aptos/aptos-resource-processor-template.js +10 -5
  12. package/lib/aptos/aptos-resource-processor-template.js.map +1 -1
  13. package/lib/aptos/context.d.ts +1 -1
  14. package/lib/aptos/context.d.ts.map +1 -1
  15. package/lib/aptos/context.js +8 -6
  16. package/lib/aptos/context.js.map +1 -1
  17. package/lib/aptos/data.d.ts +4 -4
  18. package/lib/aptos/data.d.ts.map +1 -1
  19. package/lib/core/base-context.d.ts +3 -2
  20. package/lib/core/base-context.d.ts.map +1 -1
  21. package/lib/core/base-context.js +12 -11
  22. package/lib/core/base-context.js.map +1 -1
  23. package/lib/core/core-plugin.d.ts.map +1 -1
  24. package/lib/core/core-plugin.js +6 -4
  25. package/lib/core/core-plugin.js.map +1 -1
  26. package/lib/core/event-logger.d.ts +10 -2
  27. package/lib/core/event-logger.d.ts.map +1 -1
  28. package/lib/core/event-logger.js +42 -26
  29. package/lib/core/event-logger.js.map +1 -1
  30. package/lib/core/exporter.d.ts.map +1 -1
  31. package/lib/core/exporter.js +5 -3
  32. package/lib/core/exporter.js.map +1 -1
  33. package/lib/core/handler-options.d.ts +1 -1
  34. package/lib/core/handler-options.d.ts.map +1 -1
  35. package/lib/core/handler-register.d.ts +1 -1
  36. package/lib/core/handler-register.d.ts.map +1 -1
  37. package/lib/core/handler-register.js +2 -2
  38. package/lib/core/handler-register.js.map +1 -1
  39. package/lib/core/meter.d.ts +4 -3
  40. package/lib/core/meter.d.ts.map +1 -1
  41. package/lib/core/meter.js +5 -4
  42. package/lib/core/meter.js.map +1 -1
  43. package/lib/core/normalization.d.ts +1 -1
  44. package/lib/core/normalization.d.ts.map +1 -1
  45. package/lib/core/normalization.js +41 -31
  46. package/lib/core/normalization.js.map +1 -1
  47. package/lib/core/numberish.d.ts +1 -1
  48. package/lib/core/numberish.d.ts.map +1 -1
  49. package/lib/core/numberish.js +35 -30
  50. package/lib/core/numberish.js.map +1 -1
  51. package/lib/core/partition-handler-manager.d.ts +1 -1
  52. package/lib/core/partition-handler-manager.d.ts.map +1 -1
  53. package/lib/core/partition-handler-manager.js +10 -9
  54. package/lib/core/partition-handler-manager.js.map +1 -1
  55. package/lib/cosmos/context.d.ts.map +1 -1
  56. package/lib/cosmos/context.js +4 -2
  57. package/lib/cosmos/context.js.map +1 -1
  58. package/lib/cosmos/cosmos-plugin.d.ts.map +1 -1
  59. package/lib/cosmos/cosmos-plugin.js +11 -10
  60. package/lib/cosmos/cosmos-plugin.js.map +1 -1
  61. package/lib/cosmos/cosmos-processor.js.map +1 -1
  62. package/lib/eth/abi-decoder/decode-worker.js +2 -2
  63. package/lib/eth/abi-decoder/decode-worker.js.map +1 -1
  64. package/lib/eth/account-processor.d.ts +2 -2
  65. package/lib/eth/account-processor.d.ts.map +1 -1
  66. package/lib/eth/account-processor.js +10 -9
  67. package/lib/eth/account-processor.js.map +1 -1
  68. package/lib/eth/base-processor-template.d.ts +3 -3
  69. package/lib/eth/base-processor-template.d.ts.map +1 -1
  70. package/lib/eth/base-processor-template.js +12 -8
  71. package/lib/eth/base-processor-template.js.map +1 -1
  72. package/lib/eth/base-processor.d.ts +1 -1
  73. package/lib/eth/base-processor.d.ts.map +1 -1
  74. package/lib/eth/base-processor.js +53 -46
  75. package/lib/eth/base-processor.js.map +1 -1
  76. package/lib/eth/builtin/internal/eacaggregatorproxy-processor.d.ts.map +1 -1
  77. package/lib/eth/builtin/internal/eacaggregatorproxy-processor.js +48 -46
  78. package/lib/eth/builtin/internal/eacaggregatorproxy-processor.js.map +1 -1
  79. package/lib/eth/builtin/internal/erc1155-processor.d.ts.map +1 -1
  80. package/lib/eth/builtin/internal/erc1155-processor.js +18 -16
  81. package/lib/eth/builtin/internal/erc1155-processor.js.map +1 -1
  82. package/lib/eth/builtin/internal/erc20-processor.d.ts.map +1 -1
  83. package/lib/eth/builtin/internal/erc20-processor.js +38 -36
  84. package/lib/eth/builtin/internal/erc20-processor.js.map +1 -1
  85. package/lib/eth/builtin/internal/erc20bytes-processor.d.ts.map +1 -1
  86. package/lib/eth/builtin/internal/erc20bytes-processor.js +20 -18
  87. package/lib/eth/builtin/internal/erc20bytes-processor.js.map +1 -1
  88. package/lib/eth/builtin/internal/erc721-processor.d.ts.map +1 -1
  89. package/lib/eth/builtin/internal/erc721-processor.js +30 -28
  90. package/lib/eth/builtin/internal/erc721-processor.js.map +1 -1
  91. package/lib/eth/builtin/internal/weth9-processor.d.ts.map +1 -1
  92. package/lib/eth/builtin/internal/weth9-processor.js +24 -22
  93. package/lib/eth/builtin/internal/weth9-processor.js.map +1 -1
  94. package/lib/eth/codegen/file.d.ts.map +1 -1
  95. package/lib/eth/codegen/file.js +2 -1
  96. package/lib/eth/codegen/file.js.map +1 -1
  97. package/lib/eth/codegen/function-calls.js +1 -1
  98. package/lib/eth/context.d.ts +1 -1
  99. package/lib/eth/context.d.ts.map +1 -1
  100. package/lib/eth/context.js +17 -11
  101. package/lib/eth/context.js.map +1 -1
  102. package/lib/eth/eth-plugin.d.ts.map +1 -1
  103. package/lib/eth/eth-plugin.js +83 -75
  104. package/lib/eth/eth-plugin.js.map +1 -1
  105. package/lib/eth/eth.d.ts +6 -6
  106. package/lib/eth/eth.d.ts.map +1 -1
  107. package/lib/eth/eth.js +39 -26
  108. package/lib/eth/eth.js.map +1 -1
  109. package/lib/eth/index.d.ts +1 -1
  110. package/lib/eth/index.d.ts.map +1 -1
  111. package/lib/eth/index.js +0 -1
  112. package/lib/eth/index.js.map +1 -1
  113. package/lib/fuel/asset-processor.d.ts +2 -2
  114. package/lib/fuel/asset-processor.d.ts.map +1 -1
  115. package/lib/fuel/asset-processor.js +5 -3
  116. package/lib/fuel/asset-processor.js.map +1 -1
  117. package/lib/fuel/context.d.ts.map +1 -1
  118. package/lib/fuel/context.js +4 -2
  119. package/lib/fuel/context.js.map +1 -1
  120. package/lib/fuel/fuel-plugin.d.ts.map +1 -1
  121. package/lib/fuel/fuel-plugin.js +41 -53
  122. package/lib/fuel/fuel-plugin.js.map +1 -1
  123. package/lib/fuel/fuel-processor-template.d.ts.map +1 -1
  124. package/lib/fuel/fuel-processor-template.js +7 -5
  125. package/lib/fuel/fuel-processor-template.js.map +1 -1
  126. package/lib/fuel/fuel-processor.d.ts.map +1 -1
  127. package/lib/fuel/fuel-processor.js +30 -20
  128. package/lib/fuel/fuel-processor.js.map +1 -1
  129. package/lib/fuel/global-processor.d.ts.map +1 -1
  130. package/lib/fuel/global-processor.js +2 -1
  131. package/lib/fuel/global-processor.js.map +1 -1
  132. package/lib/fuel/types.d.ts +10 -4
  133. package/lib/fuel/types.d.ts.map +1 -1
  134. package/lib/fuel/types.js.map +1 -1
  135. package/lib/iota/context.d.ts +1 -1
  136. package/lib/iota/context.d.ts.map +1 -1
  137. package/lib/iota/context.js +8 -6
  138. package/lib/iota/context.js.map +1 -1
  139. package/lib/iota/iota-object-processor-template.d.ts +1 -1
  140. package/lib/iota/iota-object-processor-template.d.ts.map +1 -1
  141. package/lib/iota/iota-object-processor-template.js +17 -12
  142. package/lib/iota/iota-object-processor-template.js.map +1 -1
  143. package/lib/iota/iota-object-processor.d.ts +1 -1
  144. package/lib/iota/iota-object-processor.d.ts.map +1 -1
  145. package/lib/iota/iota-object-processor.js +23 -16
  146. package/lib/iota/iota-object-processor.js.map +1 -1
  147. package/lib/iota/iota-plugin-part.d.ts +1 -1
  148. package/lib/iota/iota-plugin-part.d.ts.map +1 -1
  149. package/lib/iota/iota-plugin-part.js +16 -15
  150. package/lib/iota/iota-plugin-part.js.map +1 -1
  151. package/lib/iota/iota-processor.d.ts +1 -1
  152. package/lib/iota/iota-processor.d.ts.map +1 -1
  153. package/lib/iota/iota-processor.js +18 -17
  154. package/lib/iota/iota-processor.js.map +1 -1
  155. package/lib/iota/network.js +2 -2
  156. package/lib/iota/network.js.map +1 -1
  157. package/lib/move/filter.d.ts +1 -1
  158. package/lib/move/filter.d.ts.map +1 -1
  159. package/lib/move/index.d.ts +1 -1
  160. package/lib/move/index.d.ts.map +1 -1
  161. package/lib/move/index.js +0 -1
  162. package/lib/move/index.js.map +1 -1
  163. package/lib/solana/builtin/types.d.ts +4 -4
  164. package/lib/solana/solana-context.d.ts.map +1 -1
  165. package/lib/solana/solana-context.js +4 -3
  166. package/lib/solana/solana-context.js.map +1 -1
  167. package/lib/solana/solana-plugin.d.ts.map +1 -1
  168. package/lib/solana/solana-plugin.js +19 -18
  169. package/lib/solana/solana-plugin.js.map +1 -1
  170. package/lib/solana/solana-processor.d.ts.map +1 -1
  171. package/lib/solana/solana-processor.js +8 -3
  172. package/lib/solana/solana-processor.js.map +1 -1
  173. package/lib/store/cache.d.ts.map +1 -1
  174. package/lib/store/cache.js +22 -17
  175. package/lib/store/cache.js.map +1 -1
  176. package/lib/store/convert.d.ts +1 -1
  177. package/lib/store/convert.d.ts.map +1 -1
  178. package/lib/store/convert.js +67 -104
  179. package/lib/store/convert.js.map +1 -1
  180. package/lib/store/decorators.d.ts +1 -1
  181. package/lib/store/decorators.d.ts.map +1 -1
  182. package/lib/store/decorators.js +3 -1
  183. package/lib/store/decorators.js.map +1 -1
  184. package/lib/store/store.d.ts.map +1 -1
  185. package/lib/store/store.js +24 -16
  186. package/lib/store/store.js.map +1 -1
  187. package/lib/store/types.js +24 -32
  188. package/lib/store/types.js.map +1 -1
  189. package/lib/store/util.d.ts +1 -1
  190. package/lib/store/util.d.ts.map +1 -1
  191. package/lib/store/util.js +13 -17
  192. package/lib/store/util.js.map +1 -1
  193. package/lib/sui/context.d.ts +1 -1
  194. package/lib/sui/context.d.ts.map +1 -1
  195. package/lib/sui/context.js +8 -6
  196. package/lib/sui/context.js.map +1 -1
  197. package/lib/sui/sui-object-processor-template.d.ts +1 -1
  198. package/lib/sui/sui-object-processor-template.d.ts.map +1 -1
  199. package/lib/sui/sui-object-processor-template.js +17 -12
  200. package/lib/sui/sui-object-processor-template.js.map +1 -1
  201. package/lib/sui/sui-object-processor.d.ts +1 -1
  202. package/lib/sui/sui-object-processor.d.ts.map +1 -1
  203. package/lib/sui/sui-object-processor.js +23 -16
  204. package/lib/sui/sui-object-processor.js.map +1 -1
  205. package/lib/sui/sui-plugin-part.d.ts +1 -1
  206. package/lib/sui/sui-plugin-part.d.ts.map +1 -1
  207. package/lib/sui/sui-plugin-part.js +16 -15
  208. package/lib/sui/sui-plugin-part.js.map +1 -1
  209. package/lib/sui/sui-plugin.d.ts +1 -1
  210. package/lib/sui/sui-plugin.d.ts.map +1 -1
  211. package/lib/sui/sui-plugin.js +35 -34
  212. package/lib/sui/sui-plugin.js.map +1 -1
  213. package/lib/sui/sui-processor.d.ts +1 -1
  214. package/lib/sui/sui-processor.d.ts.map +1 -1
  215. package/lib/sui/sui-processor.js +18 -17
  216. package/lib/sui/sui-processor.js.map +1 -1
  217. package/lib/testing/aptos-facet.d.ts.map +1 -1
  218. package/lib/testing/aptos-facet.js +18 -11
  219. package/lib/testing/aptos-facet.js.map +1 -1
  220. package/lib/testing/cosmos-facet.d.ts.map +1 -1
  221. package/lib/testing/cosmos-facet.js +10 -6
  222. package/lib/testing/cosmos-facet.js.map +1 -1
  223. package/lib/testing/eth-facet.d.ts +1 -1
  224. package/lib/testing/eth-facet.d.ts.map +1 -1
  225. package/lib/testing/eth-facet.js +34 -18
  226. package/lib/testing/eth-facet.js.map +1 -1
  227. package/lib/testing/fuel-facet.d.ts.map +1 -1
  228. package/lib/testing/fuel-facet.js +28 -18
  229. package/lib/testing/fuel-facet.js.map +1 -1
  230. package/lib/testing/iota-facet.d.ts.map +1 -1
  231. package/lib/testing/iota-facet.js +32 -20
  232. package/lib/testing/iota-facet.js.map +1 -1
  233. package/lib/testing/memory-database.d.ts +11 -3
  234. package/lib/testing/memory-database.d.ts.map +1 -1
  235. package/lib/testing/memory-database.js +84 -71
  236. package/lib/testing/memory-database.js.map +1 -1
  237. package/lib/testing/metric-utils.d.ts +2 -2
  238. package/lib/testing/metric-utils.d.ts.map +1 -1
  239. package/lib/testing/metric-utils.js +13 -12
  240. package/lib/testing/metric-utils.js.map +1 -1
  241. package/lib/testing/solana-facet.d.ts +3 -2
  242. package/lib/testing/solana-facet.d.ts.map +1 -1
  243. package/lib/testing/solana-facet.js +8 -5
  244. package/lib/testing/solana-facet.js.map +1 -1
  245. package/lib/testing/sui-facet.d.ts.map +1 -1
  246. package/lib/testing/sui-facet.js +30 -20
  247. package/lib/testing/sui-facet.js.map +1 -1
  248. package/lib/testing/test-processor-server.d.ts +1453 -16
  249. package/lib/testing/test-processor-server.d.ts.map +1 -1
  250. package/lib/testing/test-processor-server.js +108 -45
  251. package/lib/testing/test-processor-server.js.map +1 -1
  252. package/lib/utils/price.d.ts +1 -1
  253. package/lib/utils/price.d.ts.map +1 -1
  254. package/lib/utils/price.js +19 -12
  255. package/lib/utils/price.js.map +1 -1
  256. package/package.json +5 -7
  257. package/src/aptos/aptos-plugin.ts +105 -91
  258. package/src/aptos/aptos-processor.ts +33 -25
  259. package/src/aptos/aptos-resource-processor-template.ts +15 -6
  260. package/src/aptos/context.ts +8 -7
  261. package/src/aptos/data.ts +4 -4
  262. package/src/core/base-context.ts +19 -12
  263. package/src/core/core-plugin.ts +10 -7
  264. package/src/core/event-logger.ts +63 -34
  265. package/src/core/exporter.ts +5 -4
  266. package/src/core/handler-options.ts +1 -1
  267. package/src/core/handler-register.ts +3 -3
  268. package/src/core/meter.ts +9 -7
  269. package/src/core/normalization.ts +53 -31
  270. package/src/core/numberish.ts +46 -30
  271. package/src/core/partition-handler-manager.ts +13 -11
  272. package/src/cosmos/context.ts +4 -3
  273. package/src/cosmos/cosmos-plugin.ts +19 -15
  274. package/src/cosmos/cosmos-processor.ts +2 -2
  275. package/src/eth/abi-decoder/decode-worker.ts +2 -2
  276. package/src/eth/account-processor.ts +21 -12
  277. package/src/eth/base-processor-template.ts +22 -10
  278. package/src/eth/base-processor.ts +66 -54
  279. package/src/eth/builtin/internal/eacaggregatorproxy-processor.ts +177 -116
  280. package/src/eth/builtin/internal/erc1155-processor.ts +73 -38
  281. package/src/eth/builtin/internal/erc20-processor.ts +152 -91
  282. package/src/eth/builtin/internal/erc20bytes-processor.ts +80 -46
  283. package/src/eth/builtin/internal/erc721-processor.ts +109 -65
  284. package/src/eth/builtin/internal/weth9-processor.ts +95 -56
  285. package/src/eth/codegen/file.ts +2 -1
  286. package/src/eth/codegen/function-calls.ts +1 -1
  287. package/src/eth/context.ts +29 -13
  288. package/src/eth/eth-plugin.ts +135 -118
  289. package/src/eth/eth.ts +46 -32
  290. package/src/eth/index.ts +1 -1
  291. package/src/fuel/asset-processor.ts +16 -8
  292. package/src/fuel/context.ts +4 -3
  293. package/src/fuel/fuel-plugin.ts +71 -73
  294. package/src/fuel/fuel-processor-template.ts +7 -6
  295. package/src/fuel/fuel-processor.ts +35 -23
  296. package/src/fuel/global-processor.ts +3 -3
  297. package/src/fuel/types.ts +10 -4
  298. package/src/iota/context.ts +8 -7
  299. package/src/iota/iota-object-processor-template.ts +25 -15
  300. package/src/iota/iota-object-processor.ts +33 -22
  301. package/src/iota/iota-plugin-part.ts +41 -34
  302. package/src/iota/iota-processor.ts +25 -17
  303. package/src/iota/network.ts +2 -2
  304. package/src/move/filter.ts +1 -1
  305. package/src/move/index.ts +1 -1
  306. package/src/solana/solana-context.ts +4 -3
  307. package/src/solana/solana-plugin.ts +27 -24
  308. package/src/solana/solana-processor.ts +14 -6
  309. package/src/store/cache.ts +22 -18
  310. package/src/store/convert.ts +68 -104
  311. package/src/store/decorators.ts +3 -2
  312. package/src/store/store.ts +30 -22
  313. package/src/store/types.ts +24 -33
  314. package/src/store/util.ts +13 -18
  315. package/src/sui/context.ts +8 -7
  316. package/src/sui/sui-object-processor-template.ts +25 -15
  317. package/src/sui/sui-object-processor.ts +33 -22
  318. package/src/sui/sui-plugin-part.ts +41 -34
  319. package/src/sui/sui-plugin.ts +49 -47
  320. package/src/sui/sui-processor.ts +25 -17
  321. package/src/testing/aptos-facet.ts +18 -11
  322. package/src/testing/cosmos-facet.ts +10 -6
  323. package/src/testing/eth-facet.ts +40 -18
  324. package/src/testing/fuel-facet.ts +28 -18
  325. package/src/testing/iota-facet.ts +32 -20
  326. package/src/testing/memory-database.ts +126 -88
  327. package/src/testing/metric-utils.ts +15 -14
  328. package/src/testing/solana-facet.ts +11 -6
  329. package/src/testing/sui-facet.ts +30 -20
  330. package/src/testing/test-processor-server.ts +169 -79
  331. package/src/utils/price.ts +20 -13
@@ -24,7 +24,13 @@ import {
24
24
  PreprocessResult,
25
25
  encodeCallData,
26
26
  } from "@sentio/sdk/eth";
27
- import { EthCallParam, EthCallContext, PreparedData } from "@sentio/protos";
27
+ import {
28
+ EthCallParam,
29
+ EthCallContext,
30
+ EthCallContextSchema,
31
+ PreparedData,
32
+ } from "@sentio/protos";
33
+ import { create } from "@bufbuild/protobuf";
28
34
 
29
35
  import { ERC721__factory } from "./index.js";
30
36
  import {
@@ -754,57 +760,78 @@ export class ERC721BoundContractView extends BoundContractView<
754
760
  tokenId: BigNumberish,
755
761
  overrides?: Overrides,
756
762
  ): EthCallParam {
757
- return this.view.encodeCall.approve(to, tokenId, {
758
- chainId: this.context.chainId.toString(),
759
- address: this.context.address,
760
- blockTag: this.context.getBlockTag(overrides),
761
- });
763
+ return this.view.encodeCall.approve(
764
+ to,
765
+ tokenId,
766
+ create(EthCallContextSchema, {
767
+ chainId: this.context.chainId.toString(),
768
+ address: this.context.address,
769
+ blockTag: this.context.getBlockTag(overrides),
770
+ }),
771
+ );
762
772
  },
763
773
  totalSupply(overrides?: Overrides): EthCallParam {
764
- return this.view.encodeCall.totalSupply({
765
- chainId: this.context.chainId.toString(),
766
- address: this.context.address,
767
- blockTag: this.context.getBlockTag(overrides),
768
- });
774
+ return this.view.encodeCall.totalSupply(
775
+ create(EthCallContextSchema, {
776
+ chainId: this.context.chainId.toString(),
777
+ address: this.context.address,
778
+ blockTag: this.context.getBlockTag(overrides),
779
+ }),
780
+ );
769
781
  },
770
782
  balanceOf(owner: string, overrides?: Overrides): EthCallParam {
771
- return this.view.encodeCall.balanceOf(owner, {
772
- chainId: this.context.chainId.toString(),
773
- address: this.context.address,
774
- blockTag: this.context.getBlockTag(overrides),
775
- });
783
+ return this.view.encodeCall.balanceOf(
784
+ owner,
785
+ create(EthCallContextSchema, {
786
+ chainId: this.context.chainId.toString(),
787
+ address: this.context.address,
788
+ blockTag: this.context.getBlockTag(overrides),
789
+ }),
790
+ );
776
791
  },
777
792
  getApproved(tokenId: BigNumberish, overrides?: Overrides): EthCallParam {
778
- return this.view.encodeCall.getApproved(tokenId, {
779
- chainId: this.context.chainId.toString(),
780
- address: this.context.address,
781
- blockTag: this.context.getBlockTag(overrides),
782
- });
793
+ return this.view.encodeCall.getApproved(
794
+ tokenId,
795
+ create(EthCallContextSchema, {
796
+ chainId: this.context.chainId.toString(),
797
+ address: this.context.address,
798
+ blockTag: this.context.getBlockTag(overrides),
799
+ }),
800
+ );
783
801
  },
784
802
  isApprovedForAll(
785
803
  owner: string,
786
804
  operator: string,
787
805
  overrides?: Overrides,
788
806
  ): EthCallParam {
789
- return this.view.encodeCall.isApprovedForAll(owner, operator, {
790
- chainId: this.context.chainId.toString(),
791
- address: this.context.address,
792
- blockTag: this.context.getBlockTag(overrides),
793
- });
807
+ return this.view.encodeCall.isApprovedForAll(
808
+ owner,
809
+ operator,
810
+ create(EthCallContextSchema, {
811
+ chainId: this.context.chainId.toString(),
812
+ address: this.context.address,
813
+ blockTag: this.context.getBlockTag(overrides),
814
+ }),
815
+ );
794
816
  },
795
817
  name(overrides?: Overrides): EthCallParam {
796
- return this.view.encodeCall.name({
797
- chainId: this.context.chainId.toString(),
798
- address: this.context.address,
799
- blockTag: this.context.getBlockTag(overrides),
800
- });
818
+ return this.view.encodeCall.name(
819
+ create(EthCallContextSchema, {
820
+ chainId: this.context.chainId.toString(),
821
+ address: this.context.address,
822
+ blockTag: this.context.getBlockTag(overrides),
823
+ }),
824
+ );
801
825
  },
802
826
  ownerOf(tokenId: BigNumberish, overrides?: Overrides): EthCallParam {
803
- return this.view.encodeCall.ownerOf(tokenId, {
804
- chainId: this.context.chainId.toString(),
805
- address: this.context.address,
806
- blockTag: this.context.getBlockTag(overrides),
807
- });
827
+ return this.view.encodeCall.ownerOf(
828
+ tokenId,
829
+ create(EthCallContextSchema, {
830
+ chainId: this.context.chainId.toString(),
831
+ address: this.context.address,
832
+ blockTag: this.context.getBlockTag(overrides),
833
+ }),
834
+ );
808
835
  },
809
836
  safeTransferFrom_address_address_uint256(
810
837
  from: string,
@@ -816,11 +843,11 @@ export class ERC721BoundContractView extends BoundContractView<
816
843
  from,
817
844
  to,
818
845
  tokenId,
819
- {
846
+ create(EthCallContextSchema, {
820
847
  chainId: this.context.chainId.toString(),
821
848
  address: this.context.address,
822
849
  blockTag: this.context.getBlockTag(overrides),
823
- },
850
+ }),
824
851
  );
825
852
  },
826
853
  safeTransferFrom_address_address_uint256_bytes(
@@ -835,11 +862,11 @@ export class ERC721BoundContractView extends BoundContractView<
835
862
  to,
836
863
  tokenId,
837
864
  data,
838
- {
865
+ create(EthCallContextSchema, {
839
866
  chainId: this.context.chainId.toString(),
840
867
  address: this.context.address,
841
868
  blockTag: this.context.getBlockTag(overrides),
842
- },
869
+ }),
843
870
  );
844
871
  },
845
872
  setApprovalForAll(
@@ -847,35 +874,47 @@ export class ERC721BoundContractView extends BoundContractView<
847
874
  _approved: boolean,
848
875
  overrides?: Overrides,
849
876
  ): EthCallParam {
850
- return this.view.encodeCall.setApprovalForAll(operator, _approved, {
851
- chainId: this.context.chainId.toString(),
852
- address: this.context.address,
853
- blockTag: this.context.getBlockTag(overrides),
854
- });
877
+ return this.view.encodeCall.setApprovalForAll(
878
+ operator,
879
+ _approved,
880
+ create(EthCallContextSchema, {
881
+ chainId: this.context.chainId.toString(),
882
+ address: this.context.address,
883
+ blockTag: this.context.getBlockTag(overrides),
884
+ }),
885
+ );
855
886
  },
856
887
  supportsInterface(
857
888
  interfaceId: BytesLike,
858
889
  overrides?: Overrides,
859
890
  ): EthCallParam {
860
- return this.view.encodeCall.supportsInterface(interfaceId, {
861
- chainId: this.context.chainId.toString(),
862
- address: this.context.address,
863
- blockTag: this.context.getBlockTag(overrides),
864
- });
891
+ return this.view.encodeCall.supportsInterface(
892
+ interfaceId,
893
+ create(EthCallContextSchema, {
894
+ chainId: this.context.chainId.toString(),
895
+ address: this.context.address,
896
+ blockTag: this.context.getBlockTag(overrides),
897
+ }),
898
+ );
865
899
  },
866
900
  symbol(overrides?: Overrides): EthCallParam {
867
- return this.view.encodeCall.symbol({
868
- chainId: this.context.chainId.toString(),
869
- address: this.context.address,
870
- blockTag: this.context.getBlockTag(overrides),
871
- });
901
+ return this.view.encodeCall.symbol(
902
+ create(EthCallContextSchema, {
903
+ chainId: this.context.chainId.toString(),
904
+ address: this.context.address,
905
+ blockTag: this.context.getBlockTag(overrides),
906
+ }),
907
+ );
872
908
  },
873
909
  tokenURI(tokenId: BigNumberish, overrides?: Overrides): EthCallParam {
874
- return this.view.encodeCall.tokenURI(tokenId, {
875
- chainId: this.context.chainId.toString(),
876
- address: this.context.address,
877
- blockTag: this.context.getBlockTag(overrides),
878
- });
910
+ return this.view.encodeCall.tokenURI(
911
+ tokenId,
912
+ create(EthCallContextSchema, {
913
+ chainId: this.context.chainId.toString(),
914
+ address: this.context.address,
915
+ blockTag: this.context.getBlockTag(overrides),
916
+ }),
917
+ );
879
918
  },
880
919
  transferFrom(
881
920
  from: string,
@@ -883,11 +922,16 @@ export class ERC721BoundContractView extends BoundContractView<
883
922
  tokenId: BigNumberish,
884
923
  overrides?: Overrides,
885
924
  ): EthCallParam {
886
- return this.view.encodeCall.transferFrom(from, to, tokenId, {
887
- chainId: this.context.chainId.toString(),
888
- address: this.context.address,
889
- blockTag: this.context.getBlockTag(overrides),
890
- });
925
+ return this.view.encodeCall.transferFrom(
926
+ from,
927
+ to,
928
+ tokenId,
929
+ create(EthCallContextSchema, {
930
+ chainId: this.context.chainId.toString(),
931
+ address: this.context.address,
932
+ blockTag: this.context.getBlockTag(overrides),
933
+ }),
934
+ );
891
935
  },
892
936
  };
893
937
  }
@@ -24,7 +24,13 @@ import {
24
24
  PreprocessResult,
25
25
  encodeCallData,
26
26
  } from "@sentio/sdk/eth";
27
- import { EthCallParam, EthCallContext, PreparedData } from "@sentio/protos";
27
+ import {
28
+ EthCallParam,
29
+ EthCallContext,
30
+ EthCallContextSchema,
31
+ PreparedData,
32
+ } from "@sentio/protos";
33
+ import { create } from "@bufbuild/protobuf";
28
34
 
29
35
  import { WETH9__factory } from "./index.js";
30
36
  import {
@@ -534,29 +540,37 @@ export class WETH9BoundContractView extends BoundContractView<
534
540
  context: this.context,
535
541
 
536
542
  name(overrides?: Overrides): EthCallParam {
537
- return this.view.encodeCall.name({
538
- chainId: this.context.chainId.toString(),
539
- address: this.context.address,
540
- blockTag: this.context.getBlockTag(overrides),
541
- });
543
+ return this.view.encodeCall.name(
544
+ create(EthCallContextSchema, {
545
+ chainId: this.context.chainId.toString(),
546
+ address: this.context.address,
547
+ blockTag: this.context.getBlockTag(overrides),
548
+ }),
549
+ );
542
550
  },
543
551
  approve(
544
552
  guy: string,
545
553
  wad: BigNumberish,
546
554
  overrides?: Overrides,
547
555
  ): EthCallParam {
548
- return this.view.encodeCall.approve(guy, wad, {
549
- chainId: this.context.chainId.toString(),
550
- address: this.context.address,
551
- blockTag: this.context.getBlockTag(overrides),
552
- });
556
+ return this.view.encodeCall.approve(
557
+ guy,
558
+ wad,
559
+ create(EthCallContextSchema, {
560
+ chainId: this.context.chainId.toString(),
561
+ address: this.context.address,
562
+ blockTag: this.context.getBlockTag(overrides),
563
+ }),
564
+ );
553
565
  },
554
566
  totalSupply(overrides?: Overrides): EthCallParam {
555
- return this.view.encodeCall.totalSupply({
556
- chainId: this.context.chainId.toString(),
557
- address: this.context.address,
558
- blockTag: this.context.getBlockTag(overrides),
559
- });
567
+ return this.view.encodeCall.totalSupply(
568
+ create(EthCallContextSchema, {
569
+ chainId: this.context.chainId.toString(),
570
+ address: this.context.address,
571
+ blockTag: this.context.getBlockTag(overrides),
572
+ }),
573
+ );
560
574
  },
561
575
  transferFrom(
562
576
  src: string,
@@ -564,64 +578,89 @@ export class WETH9BoundContractView extends BoundContractView<
564
578
  wad: BigNumberish,
565
579
  overrides?: Overrides,
566
580
  ): EthCallParam {
567
- return this.view.encodeCall.transferFrom(src, dst, wad, {
568
- chainId: this.context.chainId.toString(),
569
- address: this.context.address,
570
- blockTag: this.context.getBlockTag(overrides),
571
- });
581
+ return this.view.encodeCall.transferFrom(
582
+ src,
583
+ dst,
584
+ wad,
585
+ create(EthCallContextSchema, {
586
+ chainId: this.context.chainId.toString(),
587
+ address: this.context.address,
588
+ blockTag: this.context.getBlockTag(overrides),
589
+ }),
590
+ );
572
591
  },
573
592
  withdraw(wad: BigNumberish, overrides?: Overrides): EthCallParam {
574
- return this.view.encodeCall.withdraw(wad, {
575
- chainId: this.context.chainId.toString(),
576
- address: this.context.address,
577
- blockTag: this.context.getBlockTag(overrides),
578
- });
593
+ return this.view.encodeCall.withdraw(
594
+ wad,
595
+ create(EthCallContextSchema, {
596
+ chainId: this.context.chainId.toString(),
597
+ address: this.context.address,
598
+ blockTag: this.context.getBlockTag(overrides),
599
+ }),
600
+ );
579
601
  },
580
602
  decimals(overrides?: Overrides): EthCallParam {
581
- return this.view.encodeCall.decimals({
582
- chainId: this.context.chainId.toString(),
583
- address: this.context.address,
584
- blockTag: this.context.getBlockTag(overrides),
585
- });
603
+ return this.view.encodeCall.decimals(
604
+ create(EthCallContextSchema, {
605
+ chainId: this.context.chainId.toString(),
606
+ address: this.context.address,
607
+ blockTag: this.context.getBlockTag(overrides),
608
+ }),
609
+ );
586
610
  },
587
611
  balanceOf(arg0: string, overrides?: Overrides): EthCallParam {
588
- return this.view.encodeCall.balanceOf(arg0, {
589
- chainId: this.context.chainId.toString(),
590
- address: this.context.address,
591
- blockTag: this.context.getBlockTag(overrides),
592
- });
612
+ return this.view.encodeCall.balanceOf(
613
+ arg0,
614
+ create(EthCallContextSchema, {
615
+ chainId: this.context.chainId.toString(),
616
+ address: this.context.address,
617
+ blockTag: this.context.getBlockTag(overrides),
618
+ }),
619
+ );
593
620
  },
594
621
  symbol(overrides?: Overrides): EthCallParam {
595
- return this.view.encodeCall.symbol({
596
- chainId: this.context.chainId.toString(),
597
- address: this.context.address,
598
- blockTag: this.context.getBlockTag(overrides),
599
- });
622
+ return this.view.encodeCall.symbol(
623
+ create(EthCallContextSchema, {
624
+ chainId: this.context.chainId.toString(),
625
+ address: this.context.address,
626
+ blockTag: this.context.getBlockTag(overrides),
627
+ }),
628
+ );
600
629
  },
601
630
  transfer(
602
631
  dst: string,
603
632
  wad: BigNumberish,
604
633
  overrides?: Overrides,
605
634
  ): EthCallParam {
606
- return this.view.encodeCall.transfer(dst, wad, {
607
- chainId: this.context.chainId.toString(),
608
- address: this.context.address,
609
- blockTag: this.context.getBlockTag(overrides),
610
- });
635
+ return this.view.encodeCall.transfer(
636
+ dst,
637
+ wad,
638
+ create(EthCallContextSchema, {
639
+ chainId: this.context.chainId.toString(),
640
+ address: this.context.address,
641
+ blockTag: this.context.getBlockTag(overrides),
642
+ }),
643
+ );
611
644
  },
612
645
  deposit(overrides?: Overrides): EthCallParam {
613
- return this.view.encodeCall.deposit({
614
- chainId: this.context.chainId.toString(),
615
- address: this.context.address,
616
- blockTag: this.context.getBlockTag(overrides),
617
- });
646
+ return this.view.encodeCall.deposit(
647
+ create(EthCallContextSchema, {
648
+ chainId: this.context.chainId.toString(),
649
+ address: this.context.address,
650
+ blockTag: this.context.getBlockTag(overrides),
651
+ }),
652
+ );
618
653
  },
619
654
  allowance(arg0: string, arg1: string, overrides?: Overrides): EthCallParam {
620
- return this.view.encodeCall.allowance(arg0, arg1, {
621
- chainId: this.context.chainId.toString(),
622
- address: this.context.address,
623
- blockTag: this.context.getBlockTag(overrides),
624
- });
655
+ return this.view.encodeCall.allowance(
656
+ arg0,
657
+ arg1,
658
+ create(EthCallContextSchema, {
659
+ chainId: this.context.chainId.toString(),
660
+ address: this.context.address,
661
+ blockTag: this.context.getBlockTag(overrides),
662
+ }),
663
+ );
625
664
  },
626
665
  };
627
666
  }
@@ -223,7 +223,8 @@ export class ${contract.name}ProcessorTemplate extends BaseProcessorTemplate<${c
223
223
  ],
224
224
  // '@sentio/sdk/eth': ['BaseContext'],
225
225
  // '@sentio/protos': ['EthFetchConfig'],
226
- '@sentio/protos': ['EthCallParam', 'EthCallContext', 'PreparedData'],
226
+ '@sentio/protos': ['EthCallParam', 'EthCallContext', 'EthCallContextSchema', 'PreparedData'],
227
+ '@bufbuild/protobuf': ['create'],
227
228
  './common.js': ['PromiseOrValue'],
228
229
  './index.js': [`${contract.name}__factory`],
229
230
  [`./${contract.name}.js`]: [`${contract.name}`, ...eventsImports, ...uniqueStructImports]
@@ -123,7 +123,7 @@ export function generateBoundFunctionCallEncoder(fn: FunctionDeclaration, includ
123
123
  })}overrides?: Overrides): EthCallParam {
124
124
  return this.view.encodeCall.${declName}(${
125
125
  fn.inputs.length > 0 ? fn.inputs.map((input, index) => input.name || `arg${index}`).join(',') + ',' : ''
126
- }{chainId: this.context.chainId.toString(), address: this.context.address, blockTag: this.context.getBlockTag(overrides)})
126
+ }create(EthCallContextSchema, {chainId: this.context.chainId.toString(), address: this.context.address, blockTag: this.context.getBlockTag(overrides)}))
127
127
  }
128
128
  `
129
129
  ]
@@ -1,7 +1,21 @@
1
1
  import { BaseContract, Overrides } from 'ethers'
2
- import { LogParams, BlockParams, TransactionReceiptParams, TransactionResponseParams } from 'ethers/providers'
2
+ import {
3
+ allowNull,
4
+ LogParams,
5
+ BlockParams,
6
+ TransactionReceiptParams,
7
+ TransactionResponseParams
8
+ } from 'ethers/providers'
9
+ import { getNumber } from 'ethers/utils'
3
10
 
4
- import { EthCallContext, PreparedData, RecordMetaData } from '@sentio/protos'
11
+ import {
12
+ type EthCallContext,
13
+ EthCallContextSchema,
14
+ type PreparedData,
15
+ type RecordMetaData,
16
+ RecordMetaDataSchema
17
+ } from '@sentio/protos'
18
+ import { create } from '@bufbuild/protobuf'
5
19
  import { Trace } from './eth.js'
6
20
  import { Labels, normalizeLabels } from '../core/index.js'
7
21
  import { BaseContext } from '../core/base-context.js'
@@ -63,7 +77,7 @@ export abstract class EthContext extends BaseContext {
63
77
 
64
78
  getMetaDataInternal(name: string, labels: Labels): RecordMetaData {
65
79
  if (this.log) {
66
- return {
80
+ return create(RecordMetaDataSchema, {
67
81
  address: this.address,
68
82
  contractName: this.getContractName(),
69
83
  blockNumber: BigInt(this.blockNumber),
@@ -73,23 +87,25 @@ export abstract class EthContext extends BaseContext {
73
87
  chainId: this.chainId,
74
88
  name: name,
75
89
  labels: normalizeLabels(labels)
76
- }
90
+ })
77
91
  }
78
92
  if (this.trace) {
79
- return {
93
+ return create(RecordMetaDataSchema, {
80
94
  address: this.address,
81
95
  contractName: this.getContractName(),
82
96
  blockNumber: BigInt(this.blockNumber),
83
- transactionIndex: this.trace.transactionPosition,
97
+ // Traces are used as a raw `as Trace` cast (no Formatted wrapper), so transactionPosition
98
+ // may be a hex string from raw RPC; coerce for the int32 field (default 0 when absent).
99
+ transactionIndex: allowNull(getNumber, 0)(this.trace.transactionPosition),
84
100
  transactionHash: this.transactionHash || '',
85
101
  logIndex: -1,
86
102
  chainId: this.chainId.toString(),
87
103
  name: name,
88
104
  labels: normalizeLabels(labels)
89
- }
105
+ })
90
106
  }
91
107
  if (this.transaction) {
92
- return {
108
+ return create(RecordMetaDataSchema, {
93
109
  address: this.address,
94
110
  contractName: this.getContractName(),
95
111
  blockNumber: BigInt(this.blockNumber),
@@ -99,10 +115,10 @@ export abstract class EthContext extends BaseContext {
99
115
  chainId: this.chainId.toString(),
100
116
  name: name,
101
117
  labels: normalizeLabels(labels)
102
- }
118
+ })
103
119
  }
104
120
  if (this.block) {
105
- return {
121
+ return create(RecordMetaDataSchema, {
106
122
  address: this.address,
107
123
  contractName: this.getContractName(),
108
124
  blockNumber: BigInt(this.blockNumber),
@@ -112,7 +128,7 @@ export abstract class EthContext extends BaseContext {
112
128
  chainId: this.chainId.toString(),
113
129
  name: name,
114
130
  labels: normalizeLabels(labels)
115
- }
131
+ })
116
132
  }
117
133
  throw new Error("Invaid ctx argument can't happen")
118
134
  }
@@ -127,11 +143,11 @@ export abstract class EthContext extends BaseContext {
127
143
  }
128
144
 
129
145
  getEthCallContext(): EthCallContext {
130
- return {
146
+ return create(EthCallContextSchema, {
131
147
  chainId: this.chainId,
132
148
  blockTag: '0x' + this.blockNumber.toString(16),
133
149
  address: this.address
134
- }
150
+ })
135
151
  }
136
152
  }
137
153