@sentio/sdk 2.5.0 → 2.5.1-rc.2

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 (292) hide show
  1. package/lib/aptos/codegen/codegen.js +3 -3
  2. package/lib/aptos/codegen/codegen.js.map +1 -1
  3. package/lib/aptos/move-coder.js +2 -2
  4. package/lib/aptos/move-coder.js.map +1 -1
  5. package/lib/aptos/move-types.d.ts +5 -5
  6. package/lib/aptos/move-types.js +15 -15
  7. package/lib/aptos/move-types.js.map +1 -1
  8. package/lib/eth/codegen/event-handler.js.map +1 -1
  9. package/lib/eth/codegen/functions-handler.js +4 -9
  10. package/lib/eth/codegen/functions-handler.js.map +1 -1
  11. package/lib/eth/context.js.map +1 -1
  12. package/lib/eth/index.d.ts +0 -1
  13. package/lib/eth/index.js +0 -1
  14. package/lib/eth/index.js.map +1 -1
  15. package/lib/move/abstract-codegen.d.ts +12 -12
  16. package/lib/move/abstract-codegen.js +30 -36
  17. package/lib/move/abstract-codegen.js.map +1 -1
  18. package/lib/move/abstract-move-coder.d.ts +4 -4
  19. package/lib/move/abstract-move-coder.js +3 -3
  20. package/lib/move/abstract-move-coder.js.map +1 -1
  21. package/lib/move/account.d.ts +4 -7
  22. package/lib/move/account.js +2 -14
  23. package/lib/move/account.js.map +1 -1
  24. package/lib/move/internal-models.d.ts +34 -0
  25. package/lib/move/internal-models.js +7 -0
  26. package/lib/move/internal-models.js.map +1 -0
  27. package/lib/move/ts-type.js +1 -3
  28. package/lib/move/ts-type.js.map +1 -1
  29. package/lib/move/types.d.ts +1 -0
  30. package/lib/move/types.js +13 -25
  31. package/lib/move/types.js.map +1 -1
  32. package/lib/sui/codegen/codegen.js +5 -5
  33. package/lib/sui/codegen/codegen.js.map +1 -1
  34. package/lib/sui/move-coder.js +2 -2
  35. package/lib/sui/move-coder.js.map +1 -1
  36. package/lib/sui/move-types.d.ts +7 -7
  37. package/lib/sui/move-types.js +26 -25
  38. package/lib/sui/move-types.js.map +1 -1
  39. package/lib/sui/sui-processor.js.map +1 -1
  40. package/lib/sui/utils.d.ts +2 -2
  41. package/lib/sui/utils.js.map +1 -1
  42. package/lib/utils/dex-price.test.js.map +1 -1
  43. package/lib/utils/erc20.test.js.map +1 -1
  44. package/package.json +10 -13
  45. package/src/aptos/codegen/codegen.ts +7 -7
  46. package/src/aptos/move-coder.ts +2 -3
  47. package/src/aptos/move-types.ts +20 -20
  48. package/src/eth/codegen/event-handler.ts +1 -1
  49. package/src/eth/codegen/functions-handler.ts +4 -10
  50. package/src/eth/context.ts +0 -1
  51. package/src/eth/index.ts +0 -1
  52. package/src/move/abstract-codegen.ts +45 -50
  53. package/src/move/abstract-move-coder.ts +9 -9
  54. package/src/move/account.ts +6 -21
  55. package/src/move/internal-models.ts +40 -0
  56. package/src/move/ts-type.ts +1 -3
  57. package/src/move/types.ts +13 -33
  58. package/src/sui/codegen/codegen.ts +8 -8
  59. package/src/sui/move-coder.ts +2 -2
  60. package/src/sui/move-types.ts +32 -31
  61. package/src/sui/sui-processor.ts +1 -1
  62. package/src/sui/utils.ts +2 -2
  63. package/lib/aptos/tests/aptos.test.d.ts +0 -1
  64. package/lib/aptos/tests/aptos.test.js.map +0 -1
  65. package/lib/aptos/tests/souffl3.d.ts +0 -1
  66. package/lib/aptos/tests/souffl3.js +0 -43
  67. package/lib/aptos/tests/souffl3.js.map +0 -1
  68. package/lib/aptos/tests/types/index.d.ts +0 -3
  69. package/lib/aptos/tests/types/index.js +0 -7
  70. package/lib/aptos/tests/types/index.js.map +0 -1
  71. package/lib/aptos/tests/types/reserved.d.ts +0 -340
  72. package/lib/aptos/tests/types/reserved.js +0 -287
  73. package/lib/aptos/tests/types/reserved.js.map +0 -1
  74. package/lib/aptos/tests/types/soffl3.d.ts +0 -801
  75. package/lib/aptos/tests/types/soffl3.js +0 -514
  76. package/lib/aptos/tests/types/soffl3.js.map +0 -1
  77. package/lib/aptos/tests/types/souffle.d.ts +0 -335
  78. package/lib/aptos/tests/types/souffle.js +0 -281
  79. package/lib/aptos/tests/types/souffle.js.map +0 -1
  80. package/lib/eth/error.d.ts +0 -1
  81. package/lib/eth/error.js +0 -3
  82. package/lib/eth/error.js.map +0 -1
  83. package/lib/eth/tests/account.test.d.ts +0 -1
  84. package/lib/eth/tests/account.test.js.map +0 -1
  85. package/lib/eth/tests/codegen.test.d.ts +0 -1
  86. package/lib/eth/tests/codegen.test.js.map +0 -1
  87. package/lib/eth/tests/erc20-template.test.d.ts +0 -1
  88. package/lib/eth/tests/erc20-template.test.js.map +0 -1
  89. package/lib/eth/tests/erc20.d.ts +0 -1
  90. package/lib/eth/tests/erc20.js +0 -52
  91. package/lib/eth/tests/erc20.js.map +0 -1
  92. package/lib/eth/tests/erc20.test.d.ts +0 -1
  93. package/lib/eth/tests/erc20.test.js.map +0 -1
  94. package/lib/eth/tests/error-capture.test.d.ts +0 -1
  95. package/lib/eth/tests/error-capture.test.js.map +0 -1
  96. package/lib/eth/tests/logger.test.d.ts +0 -1
  97. package/lib/eth/tests/logger.test.js.map +0 -1
  98. package/lib/eth/tests/types/anyswaprouter.d.ts +0 -3
  99. package/lib/eth/tests/types/anyswaprouter.js +0 -7
  100. package/lib/eth/tests/types/anyswaprouter.js.map +0 -1
  101. package/lib/eth/tests/types/commitmentpool.d.ts +0 -3
  102. package/lib/eth/tests/types/commitmentpool.js +0 -7
  103. package/lib/eth/tests/types/commitmentpool.js.map +0 -1
  104. package/lib/eth/tests/types/index.d.ts +0 -12
  105. package/lib/eth/tests/types/index.js +0 -16
  106. package/lib/eth/tests/types/index.js.map +0 -1
  107. package/lib/eth/tests/types/internal/AnyswapRouter.d.ts +0 -122
  108. package/lib/eth/tests/types/internal/AnyswapRouter.js +0 -2
  109. package/lib/eth/tests/types/internal/AnyswapRouter.js.map +0 -1
  110. package/lib/eth/tests/types/internal/CommitmentPool.d.ts +0 -176
  111. package/lib/eth/tests/types/internal/CommitmentPool.js +0 -2
  112. package/lib/eth/tests/types/internal/CommitmentPool.js.map +0 -1
  113. package/lib/eth/tests/types/internal/MembershipStakerV3.d.ts +0 -81
  114. package/lib/eth/tests/types/internal/MembershipStakerV3.js +0 -2
  115. package/lib/eth/tests/types/internal/MembershipStakerV3.js.map +0 -1
  116. package/lib/eth/tests/types/internal/Pyth.d.ts +0 -204
  117. package/lib/eth/tests/types/internal/Pyth.js +0 -2
  118. package/lib/eth/tests/types/internal/Pyth.js.map +0 -1
  119. package/lib/eth/tests/types/internal/Seaport.d.ts +0 -350
  120. package/lib/eth/tests/types/internal/Seaport.js +0 -2
  121. package/lib/eth/tests/types/internal/Seaport.js.map +0 -1
  122. package/lib/eth/tests/types/internal/TokenExchange.d.ts +0 -128
  123. package/lib/eth/tests/types/internal/TokenExchange.js +0 -2
  124. package/lib/eth/tests/types/internal/TokenExchange.js.map +0 -1
  125. package/lib/eth/tests/types/internal/anyswaprouter-processor.d.ts +0 -463
  126. package/lib/eth/tests/types/internal/anyswaprouter-processor.js +0 -425
  127. package/lib/eth/tests/types/internal/anyswaprouter-processor.js.map +0 -1
  128. package/lib/eth/tests/types/internal/anyswaprouter-test-utils.d.ts +0 -9
  129. package/lib/eth/tests/types/internal/anyswaprouter-test-utils.js +0 -124
  130. package/lib/eth/tests/types/internal/anyswaprouter-test-utils.js.map +0 -1
  131. package/lib/eth/tests/types/internal/commitmentpool-processor.d.ts +0 -348
  132. package/lib/eth/tests/types/internal/commitmentpool-processor.js +0 -607
  133. package/lib/eth/tests/types/internal/commitmentpool-processor.js.map +0 -1
  134. package/lib/eth/tests/types/internal/commitmentpool-test-utils.d.ts +0 -9
  135. package/lib/eth/tests/types/internal/commitmentpool-test-utils.js +0 -87
  136. package/lib/eth/tests/types/internal/commitmentpool-test-utils.js.map +0 -1
  137. package/lib/eth/tests/types/internal/common.d.ts +0 -10
  138. package/lib/eth/tests/types/internal/common.js +0 -8
  139. package/lib/eth/tests/types/internal/common.js.map +0 -1
  140. package/lib/eth/tests/types/internal/factories/AnyswapRouter__factory.d.ts +0 -988
  141. package/lib/eth/tests/types/internal/factories/AnyswapRouter__factory.js +0 -1269
  142. package/lib/eth/tests/types/internal/factories/AnyswapRouter__factory.js.map +0 -1
  143. package/lib/eth/tests/types/internal/factories/CommitmentPool__factory.d.ts +0 -792
  144. package/lib/eth/tests/types/internal/factories/CommitmentPool__factory.js +0 -1040
  145. package/lib/eth/tests/types/internal/factories/CommitmentPool__factory.js.map +0 -1
  146. package/lib/eth/tests/types/internal/factories/MembershipStakerV3__factory.d.ts +0 -549
  147. package/lib/eth/tests/types/internal/factories/MembershipStakerV3__factory.js +0 -721
  148. package/lib/eth/tests/types/internal/factories/MembershipStakerV3__factory.js.map +0 -1
  149. package/lib/eth/tests/types/internal/factories/Pyth__factory.d.ts +0 -1130
  150. package/lib/eth/tests/types/internal/factories/Pyth__factory.js +0 -1486
  151. package/lib/eth/tests/types/internal/factories/Pyth__factory.js.map +0 -1
  152. package/lib/eth/tests/types/internal/factories/Seaport__factory.d.ts +0 -2018
  153. package/lib/eth/tests/types/internal/factories/Seaport__factory.js +0 -2610
  154. package/lib/eth/tests/types/internal/factories/Seaport__factory.js.map +0 -1
  155. package/lib/eth/tests/types/internal/factories/TokenExchange__factory.d.ts +0 -651
  156. package/lib/eth/tests/types/internal/factories/TokenExchange__factory.js +0 -853
  157. package/lib/eth/tests/types/internal/factories/TokenExchange__factory.js.map +0 -1
  158. package/lib/eth/tests/types/internal/factories/index.d.ts +0 -6
  159. package/lib/eth/tests/types/internal/factories/index.js +0 -10
  160. package/lib/eth/tests/types/internal/factories/index.js.map +0 -1
  161. package/lib/eth/tests/types/internal/index.d.ts +0 -13
  162. package/lib/eth/tests/types/internal/index.js +0 -8
  163. package/lib/eth/tests/types/internal/index.js.map +0 -1
  164. package/lib/eth/tests/types/internal/membershipstakerv3-processor.d.ts +0 -287
  165. package/lib/eth/tests/types/internal/membershipstakerv3-processor.js +0 -596
  166. package/lib/eth/tests/types/internal/membershipstakerv3-processor.js.map +0 -1
  167. package/lib/eth/tests/types/internal/membershipstakerv3-test-utils.d.ts +0 -11
  168. package/lib/eth/tests/types/internal/membershipstakerv3-test-utils.js +0 -109
  169. package/lib/eth/tests/types/internal/membershipstakerv3-test-utils.js.map +0 -1
  170. package/lib/eth/tests/types/internal/pyth-processor.d.ts +0 -422
  171. package/lib/eth/tests/types/internal/pyth-processor.js +0 -890
  172. package/lib/eth/tests/types/internal/pyth-processor.js.map +0 -1
  173. package/lib/eth/tests/types/internal/pyth-test-utils.d.ts +0 -13
  174. package/lib/eth/tests/types/internal/pyth-test-utils.js +0 -131
  175. package/lib/eth/tests/types/internal/pyth-test-utils.js.map +0 -1
  176. package/lib/eth/tests/types/internal/seaport-processor.d.ts +0 -211
  177. package/lib/eth/tests/types/internal/seaport-processor.js +0 -237
  178. package/lib/eth/tests/types/internal/seaport-processor.js.map +0 -1
  179. package/lib/eth/tests/types/internal/seaport-test-utils.d.ts +0 -6
  180. package/lib/eth/tests/types/internal/seaport-test-utils.js +0 -61
  181. package/lib/eth/tests/types/internal/seaport-test-utils.js.map +0 -1
  182. package/lib/eth/tests/types/internal/tokenexchange-processor.d.ts +0 -334
  183. package/lib/eth/tests/types/internal/tokenexchange-processor.js +0 -667
  184. package/lib/eth/tests/types/internal/tokenexchange-processor.js.map +0 -1
  185. package/lib/eth/tests/types/internal/tokenexchange-test-utils.d.ts +0 -13
  186. package/lib/eth/tests/types/internal/tokenexchange-test-utils.js +0 -149
  187. package/lib/eth/tests/types/internal/tokenexchange-test-utils.js.map +0 -1
  188. package/lib/eth/tests/types/membershipstakerv3.d.ts +0 -3
  189. package/lib/eth/tests/types/membershipstakerv3.js +0 -7
  190. package/lib/eth/tests/types/membershipstakerv3.js.map +0 -1
  191. package/lib/eth/tests/types/pyth.d.ts +0 -3
  192. package/lib/eth/tests/types/pyth.js +0 -7
  193. package/lib/eth/tests/types/pyth.js.map +0 -1
  194. package/lib/eth/tests/types/seaport.d.ts +0 -3
  195. package/lib/eth/tests/types/seaport.js +0 -7
  196. package/lib/eth/tests/types/seaport.js.map +0 -1
  197. package/lib/eth/tests/types/tokenexchange.d.ts +0 -3
  198. package/lib/eth/tests/types/tokenexchange.js +0 -7
  199. package/lib/eth/tests/types/tokenexchange.js.map +0 -1
  200. package/lib/move/neutral-models.d.ts +0 -34
  201. package/lib/move/neutral-models.js +0 -7
  202. package/lib/move/neutral-models.js.map +0 -1
  203. package/lib/solana/tests/solana.test.d.ts +0 -1
  204. package/lib/solana/tests/solana.test.js.map +0 -1
  205. package/lib/solana/tests/types/basic_1.d.ts +0 -26
  206. package/lib/solana/tests/types/basic_1.js +0 -63
  207. package/lib/solana/tests/types/basic_1.js.map +0 -1
  208. package/lib/solana/tests/types/basic_1_processor.d.ts +0 -21
  209. package/lib/solana/tests/types/basic_1_processor.js +0 -35
  210. package/lib/solana/tests/types/basic_1_processor.js.map +0 -1
  211. package/lib/solana/tests/types/token_bridge.d.ts +0 -29
  212. package/lib/solana/tests/types/token_bridge.js +0 -938
  213. package/lib/solana/tests/types/token_bridge.js.map +0 -1
  214. package/lib/solana/tests/types/token_bridge_processor.d.ts +0 -212
  215. package/lib/solana/tests/types/token_bridge_processor.js +0 -134
  216. package/lib/solana/tests/types/token_bridge_processor.js.map +0 -1
  217. package/lib/solana/tests/wormhole-token-bridge.d.ts +0 -15
  218. package/lib/solana/tests/wormhole-token-bridge.js +0 -79
  219. package/lib/solana/tests/wormhole-token-bridge.js.map +0 -1
  220. package/lib/sui/tests/sui.test.d.ts +0 -1
  221. package/lib/sui/tests/sui.test.js.map +0 -1
  222. package/lib/sui/tests/types/index.d.ts +0 -1
  223. package/lib/sui/tests/types/index.js +0 -5
  224. package/lib/sui/tests/types/index.js.map +0 -1
  225. package/lib/sui/tests/types/testnet/index.d.ts +0 -1
  226. package/lib/sui/tests/types/testnet/index.js +0 -5
  227. package/lib/sui/tests/types/testnet/index.js.map +0 -1
  228. package/lib/sui/tests/types/testnet/swap.d.ts +0 -249
  229. package/lib/sui/tests/types/testnet/swap.js +0 -310
  230. package/lib/sui/tests/types/testnet/swap.js.map +0 -1
  231. package/src/aptos/tests/abis/reserved.json +0 -402
  232. package/src/aptos/tests/abis/soffl3.json +0 -1411
  233. package/src/aptos/tests/abis/souffle.json +0 -389
  234. package/src/aptos/tests/souffl3.ts +0 -56
  235. package/src/aptos/tests/types/index.ts +0 -6
  236. package/src/aptos/tests/types/reserved.ts +0 -766
  237. package/src/aptos/tests/types/soffl3.ts +0 -1528
  238. package/src/aptos/tests/types/souffle.ts +0 -765
  239. package/src/eth/error.ts +0 -4
  240. package/src/eth/tests/abis/eth/CommitmentPool.json +0 -1034
  241. package/src/eth/tests/abis/eth/MembershipStakerV3.json +0 -706
  242. package/src/eth/tests/abis/eth/Pyth.json +0 -1471
  243. package/src/eth/tests/abis/eth/Seaport.json +0 -2595
  244. package/src/eth/tests/abis/eth/TokenExchange.json +0 -838
  245. package/src/eth/tests/abis/eth/anyswapRouter.json +0 -490
  246. package/src/eth/tests/erc20.ts +0 -63
  247. package/src/eth/tests/types/anyswaprouter.ts +0 -7
  248. package/src/eth/tests/types/commitmentpool.ts +0 -7
  249. package/src/eth/tests/types/index.ts +0 -33
  250. package/src/eth/tests/types/internal/AnyswapRouter.ts +0 -122
  251. package/src/eth/tests/types/internal/CommitmentPool.ts +0 -208
  252. package/src/eth/tests/types/internal/MembershipStakerV3.ts +0 -108
  253. package/src/eth/tests/types/internal/Pyth.ts +0 -246
  254. package/src/eth/tests/types/internal/Seaport.ts +0 -389
  255. package/src/eth/tests/types/internal/TokenExchange.ts +0 -142
  256. package/src/eth/tests/types/internal/anyswaprouter-processor.ts +0 -1396
  257. package/src/eth/tests/types/internal/anyswaprouter-test-utils.ts +0 -187
  258. package/src/eth/tests/types/internal/commitmentpool-processor.ts +0 -1575
  259. package/src/eth/tests/types/internal/commitmentpool-test-utils.ts +0 -150
  260. package/src/eth/tests/types/internal/common.ts +0 -23
  261. package/src/eth/tests/types/internal/factories/AnyswapRouter__factory.ts +0 -1278
  262. package/src/eth/tests/types/internal/factories/CommitmentPool__factory.ts +0 -1049
  263. package/src/eth/tests/types/internal/factories/MembershipStakerV3__factory.ts +0 -730
  264. package/src/eth/tests/types/internal/factories/Pyth__factory.ts +0 -1492
  265. package/src/eth/tests/types/internal/factories/Seaport__factory.ts +0 -2616
  266. package/src/eth/tests/types/internal/factories/TokenExchange__factory.ts +0 -862
  267. package/src/eth/tests/types/internal/factories/index.ts +0 -9
  268. package/src/eth/tests/types/internal/index.ts +0 -16
  269. package/src/eth/tests/types/internal/membershipstakerv3-processor.ts +0 -1399
  270. package/src/eth/tests/types/internal/membershipstakerv3-test-utils.ts +0 -188
  271. package/src/eth/tests/types/internal/pyth-processor.ts +0 -2043
  272. package/src/eth/tests/types/internal/pyth-test-utils.ts +0 -226
  273. package/src/eth/tests/types/internal/seaport-processor.ts +0 -678
  274. package/src/eth/tests/types/internal/seaport-test-utils.ts +0 -100
  275. package/src/eth/tests/types/internal/tokenexchange-processor.ts +0 -1570
  276. package/src/eth/tests/types/internal/tokenexchange-test-utils.ts +0 -244
  277. package/src/eth/tests/types/membershipstakerv3.ts +0 -7
  278. package/src/eth/tests/types/pyth.ts +0 -7
  279. package/src/eth/tests/types/seaport.ts +0 -7
  280. package/src/eth/tests/types/tokenexchange.ts +0 -7
  281. package/src/move/neutral-models.ts +0 -45
  282. package/src/solana/tests/abis/basic_1.json +0 -62
  283. package/src/solana/tests/abis/token_bridge.json +0 -937
  284. package/src/solana/tests/types/basic_1.ts +0 -62
  285. package/src/solana/tests/types/basic_1_processor.ts +0 -42
  286. package/src/solana/tests/types/token_bridge.ts +0 -937
  287. package/src/solana/tests/types/token_bridge_processor.ts +0 -150
  288. package/src/solana/tests/wormhole-token-bridge.ts +0 -96
  289. package/src/sui/tests/abis/testnet/swap.json +0 -1752
  290. package/src/sui/tests/types/index.ts +0 -3
  291. package/src/sui/tests/types/testnet/index.ts +0 -4
  292. package/src/sui/tests/types/testnet/swap.ts +0 -698
@@ -1 +1 @@
1
- {"version":3,"file":"move-coder.js","sourceRoot":"","sources":["../../src/sui/move-coder.ts"],"names":[],"mappings":"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","sourcesContent":["import { TypedEventInstance, TypedEntryFunctionPayload } from './models.js'\nimport { AbstractMoveCoder } from '../move/abstract-move-coder.js'\nimport { MoveCall, MoveEvent, SuiMoveNormalizedModule } from '@mysten/sui.js'\nimport { toNeutralModule } from './move-types.js'\nimport { SPLITTER } from '../move/index.js'\n\nexport class MoveCoder extends AbstractMoveCoder<MoveEvent> {\n load(module: SuiMoveNormalizedModule) {\n if (this.contains(module.address, module.name)) {\n return\n }\n this.loadNeutral(toNeutralModule(module))\n }\n\n decodeEvent<T>(event: MoveEvent): TypedEventInstance<T> | undefined {\n const res = this.decodedInternal<T>({ ...event, data: event.fields })\n return { ...event, fields_decoded: res?.data_decoded as T, type_arguments: res?.type_arguments || [] }\n }\n filterAndDecodeEvents<T>(typeQname: string, resources: MoveEvent[]): TypedEventInstance<T>[] {\n const resp = this.filterAndDecodeInternal(\n typeQname,\n resources.map((event) => {\n return { ...event, data: event.fields, type: event.type }\n })\n )\n return resp.map((res) => {\n delete res.data_decoded\n const event = res as MoveEvent\n return { ...event, fields_decoded: res?.data_decoded as T, type_arguments: res?.type_arguments || [] }\n })\n }\n\n decodeFunctionPayload(payload: MoveCall): MoveCall {\n // this.loadTypes(registry)\n const argumentsTyped: any[] = []\n\n try {\n const functionType = [payload.package.objectId, payload.module, payload.function].join(SPLITTER)\n const func = this.getMoveFunction(functionType)\n const params = func.params.slice(0, func.params.length - 1)\n const args = payload.arguments || []\n for (const [idx, arg] of args.entries()) {\n // TODO consider apply payload.type_arguments, but this might be hard since we don't code gen for them\n const argType = params[idx]\n argumentsTyped.push(this.decode(arg, argType))\n }\n } catch (e) {\n console.error('Decoding error for ', JSON.stringify(payload), e)\n return payload\n }\n\n return {\n ...payload,\n arguments_decoded: argumentsTyped,\n } as TypedEntryFunctionPayload<any>\n }\n}\n\nexport const MOVE_CODER = new MoveCoder()\n\nexport function defaultMoveCoder(): MoveCoder {\n return MOVE_CODER\n}\n"]}
1
+ {"version":3,"file":"move-coder.js","sourceRoot":"","sources":["../../src/sui/move-coder.ts"],"names":[],"mappings":"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","sourcesContent":["import { TypedEventInstance, TypedEntryFunctionPayload } from './models.js'\nimport { AbstractMoveCoder } from '../move/abstract-move-coder.js'\nimport { MoveCall, MoveEvent, SuiMoveNormalizedModule } from '@mysten/sui.js'\nimport { toInternalModule } from './move-types.js'\nimport { SPLITTER } from '../move/index.js'\n\nexport class MoveCoder extends AbstractMoveCoder<MoveEvent> {\n load(module: SuiMoveNormalizedModule) {\n if (this.contains(module.address, module.name)) {\n return\n }\n this.loadInternal(toInternalModule(module))\n }\n\n decodeEvent<T>(event: MoveEvent): TypedEventInstance<T> | undefined {\n const res = this.decodedInternal<T>({ ...event, data: event.fields })\n return { ...event, fields_decoded: res?.data_decoded as T, type_arguments: res?.type_arguments || [] }\n }\n filterAndDecodeEvents<T>(typeQname: string, resources: MoveEvent[]): TypedEventInstance<T>[] {\n const resp = this.filterAndDecodeInternal(\n typeQname,\n resources.map((event) => {\n return { ...event, data: event.fields, type: event.type }\n })\n )\n return resp.map((res) => {\n delete res.data_decoded\n const event = res as MoveEvent\n return { ...event, fields_decoded: res?.data_decoded as T, type_arguments: res?.type_arguments || [] }\n })\n }\n\n decodeFunctionPayload(payload: MoveCall): MoveCall {\n // this.loadTypes(registry)\n const argumentsTyped: any[] = []\n\n try {\n const functionType = [payload.package.objectId, payload.module, payload.function].join(SPLITTER)\n const func = this.getMoveFunction(functionType)\n const params = func.params.slice(0, func.params.length - 1)\n const args = payload.arguments || []\n for (const [idx, arg] of args.entries()) {\n // TODO consider apply payload.type_arguments, but this might be hard since we don't code gen for them\n const argType = params[idx]\n argumentsTyped.push(this.decode(arg, argType))\n }\n } catch (e) {\n console.error('Decoding error for ', JSON.stringify(payload), e)\n return payload\n }\n\n return {\n ...payload,\n arguments_decoded: argumentsTyped,\n } as TypedEntryFunctionPayload<any>\n }\n}\n\nexport const MOVE_CODER = new MoveCoder()\n\nexport function defaultMoveCoder(): MoveCoder {\n return MOVE_CODER\n}\n"]}
@@ -1,9 +1,9 @@
1
- import { SuiMoveNormalizedField, SuiMoveNormalizedFunction, SuiMoveNormalizedModule, SuiMoveNormalizedStruct, SuiMoveNormalizedType } from '@mysten/sui.js';
2
- import { NeutralMoveFunction, NeutralMoveModule, NeutralMoveStruct, NeutralMoveStructField } from '../move/neutral-models.js';
1
+ import type { SuiMoveNormalizedField, SuiMoveNormalizedFunction, SuiMoveNormalizedModule, SuiMoveNormalizedStruct, SuiMoveNormalizedType } from '@mysten/sui.js';
2
+ import { InternalMoveFunction, InternalMoveModule, InternalMoveStruct, InternalMoveStructField } from '../move/internal-models.js';
3
3
  import { TypeDescriptor } from '../move/index.js';
4
4
  export type { SuiAddress } from '@mysten/sui.js';
5
- export declare function toNeutralModule(module: SuiMoveNormalizedModule): NeutralMoveModule;
6
- export declare function toNeutralFunction(name: string, func: SuiMoveNormalizedFunction): NeutralMoveFunction;
7
- export declare function toNeutralStruct(name: string, struct: SuiMoveNormalizedStruct): NeutralMoveStruct;
8
- export declare function toNeutralField(module: SuiMoveNormalizedField): NeutralMoveStructField;
9
- export declare function convertToTypeDescriptor(normalizedType: SuiMoveNormalizedType): TypeDescriptor;
5
+ export declare function toInternalModule(module: SuiMoveNormalizedModule): InternalMoveModule;
6
+ export declare function toInternalFunction(name: string, func: SuiMoveNormalizedFunction): InternalMoveFunction;
7
+ export declare function toInternalStruct(name: string, struct: SuiMoveNormalizedStruct): InternalMoveStruct;
8
+ export declare function toInternalField(module: SuiMoveNormalizedField): InternalMoveStructField;
9
+ export declare function toTypeDescriptor(normalizedType: SuiMoveNormalizedType): TypeDescriptor;
@@ -1,79 +1,80 @@
1
- import { NeutralMoveFunctionVisibility, } from '../move/neutral-models.js';
1
+ import { InternalMoveFunctionVisibility, } from '../move/internal-models.js';
2
2
  import { SPLITTER, TypeDescriptor } from '../move/index.js';
3
- export function toNeutralModule(module) {
3
+ export function toInternalModule(module) {
4
4
  return {
5
5
  address: module.address,
6
- exposed_functions: Object.entries(module.exposed_functions).map(([n, f]) => toNeutralFunction(n, f)),
6
+ exposedFunctions: Object.entries(module.exposed_functions).map(([n, f]) => toInternalFunction(n, f)),
7
7
  name: module.name,
8
- structs: Object.entries(module.structs).map(([n, s]) => toNeutralStruct(n, s)),
8
+ structs: Object.entries(module.structs).map(([n, s]) => toInternalStruct(n, s)),
9
9
  };
10
10
  }
11
- export function toNeutralFunction(name, func) {
11
+ export function toInternalFunction(name, func) {
12
12
  let visibility;
13
13
  switch (func.visibility) {
14
14
  case 'Private':
15
- visibility = NeutralMoveFunctionVisibility.PRIVATE;
15
+ visibility = InternalMoveFunctionVisibility.PRIVATE;
16
16
  break;
17
17
  case 'Public':
18
- visibility = NeutralMoveFunctionVisibility.PUBLIC;
18
+ visibility = InternalMoveFunctionVisibility.PUBLIC;
19
19
  break;
20
20
  case 'Friend':
21
- visibility = NeutralMoveFunctionVisibility.FRIEND;
21
+ visibility = InternalMoveFunctionVisibility.FRIEND;
22
22
  break;
23
+ default:
24
+ throw Error('No visibility for function' + name);
23
25
  }
24
26
  return {
25
- generic_type_params: func.type_parameters.map((p) => {
27
+ typeParams: func.type_parameters.map((p) => {
26
28
  return { constraints: p.abilities };
27
29
  }),
28
- is_entry: func.is_entry,
30
+ isEntry: func.is_entry,
29
31
  name: name,
30
- params: func.parameters.map(convertToTypeDescriptor),
31
- return: func.return_.map(convertToTypeDescriptor),
32
+ params: func.parameters.map(toTypeDescriptor),
33
+ return: func.return_.map(toTypeDescriptor),
32
34
  visibility: visibility,
33
35
  };
34
36
  }
35
- export function toNeutralStruct(name, struct) {
37
+ export function toInternalStruct(name, struct) {
36
38
  return {
37
39
  abilities: struct.abilities.abilities,
38
- fields: struct.fields.map(toNeutralField),
39
- generic_type_params: struct.type_parameters.map((p) => {
40
+ fields: struct.fields.map(toInternalField),
41
+ typeParams: struct.type_parameters.map((p) => {
40
42
  return { constraints: p.constraints.abilities };
41
43
  }),
42
- is_native: false,
44
+ isNative: false,
43
45
  name: name,
44
46
  };
45
47
  }
46
- export function toNeutralField(module) {
48
+ export function toInternalField(module) {
47
49
  return {
48
50
  name: module.name,
49
- type: convertToTypeDescriptor(module.type_),
51
+ type: toTypeDescriptor(module.type_),
50
52
  };
51
53
  }
52
- export function convertToTypeDescriptor(normalizedType) {
54
+ export function toTypeDescriptor(normalizedType) {
53
55
  if (typeof normalizedType === 'string') {
54
56
  return new TypeDescriptor(normalizedType);
55
57
  }
56
58
  if ('Struct' in normalizedType) {
57
- // normalizedType.Struct.
58
- // return normalizedType;
59
59
  const qname = [normalizedType.Struct.address, normalizedType.Struct.module, normalizedType.Struct.name].join(SPLITTER);
60
- const args = normalizedType.Struct.type_arguments.map(convertToTypeDescriptor);
60
+ const args = normalizedType.Struct.type_arguments.map(toTypeDescriptor);
61
61
  return new TypeDescriptor(qname, args);
62
62
  }
63
63
  if ('Vector' in normalizedType) {
64
- return new TypeDescriptor('vector', [convertToTypeDescriptor(normalizedType.Vector)]);
64
+ return new TypeDescriptor('vector', [toTypeDescriptor(normalizedType.Vector)]);
65
65
  }
66
66
  if ('TypeParameter' in normalizedType) {
67
67
  return new TypeDescriptor('T' + normalizedType.TypeParameter);
68
68
  }
69
69
  if ('Reference' in normalizedType) {
70
- const res = convertToTypeDescriptor(normalizedType.Reference);
70
+ const res = toTypeDescriptor(normalizedType.Reference);
71
71
  res.reference = true;
72
72
  return res;
73
73
  }
74
74
  if ('MutableReference' in normalizedType) {
75
- const res = convertToTypeDescriptor(normalizedType.MutableReference);
75
+ const res = toTypeDescriptor(normalizedType.MutableReference);
76
76
  res.reference = true;
77
+ res.mutable = true;
77
78
  return res;
78
79
  }
79
80
  throw new Error('Unexpected sui type');
@@ -1 +1 @@
1
- {"version":3,"file":"move-types.js","sourceRoot":"","sources":["../../src/sui/move-types.ts"],"names":[],"mappings":"AAOA,OAAO,EAEL,6BAA6B,GAI9B,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAI3D,MAAM,UAAU,eAAe,CAAC,MAA+B;IAC7D,OAAO;QACL,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,iBAAiB,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpG,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;KAC/E,CAAA;AACH,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAY,EAAE,IAA+B;IAC7E,IAAI,UAAU,CAAA;IACd,QAAQ,IAAI,CAAC,UAAU,EAAE;QACvB,KAAK,SAAS;YACZ,UAAU,GAAG,6BAA6B,CAAC,OAAO,CAAA;YAClD,MAAK;QACP,KAAK,QAAQ;YACX,UAAU,GAAG,6BAA6B,CAAC,MAAM,CAAA;YACjD,MAAK;QACP,KAAK,QAAQ;YACX,UAAU,GAAG,6BAA6B,CAAC,MAAM,CAAA;YACjD,MAAK;KACR;IACD,OAAO;QACL,mBAAmB,EAAE,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAClD,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC,SAAS,EAAE,CAAA;QACrC,CAAC,CAAC;QACF,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,IAAI,EAAE,IAAI;QACV,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,uBAAuB,CAAC;QACpD,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC;QACjD,UAAU,EAAE,UAAU;KACvB,CAAA;AACH,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAY,EAAE,MAA+B;IAC3E,OAAO;QACL,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,SAAS;QACrC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC;QACzC,mBAAmB,EAAE,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACpD,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,CAAC,SAAS,EAAE,CAAA;QACjD,CAAC,CAAC;QACF,SAAS,EAAE,KAAK;QAChB,IAAI,EAAE,IAAI;KACX,CAAA;AACH,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,MAA8B;IAC3D,OAAO;QACL,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,IAAI,EAAE,uBAAuB,CAAC,MAAM,CAAC,KAAK,CAAC;KAC5C,CAAA;AACH,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,cAAqC;IAC3E,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE;QACtC,OAAO,IAAI,cAAc,CAAC,cAAc,CAAC,CAAA;KAC1C;IAED,IAAI,QAAQ,IAAI,cAAc,EAAE;QAC9B,yBAAyB;QACzB,yBAAyB;QACzB,MAAM,KAAK,GAAG,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,EAAE,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAC1G,QAAQ,CACT,CAAA;QAED,MAAM,IAAI,GAAG,cAAc,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAA;QAE9E,OAAO,IAAI,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;KACvC;IAED,IAAI,QAAQ,IAAI,cAAc,EAAE;QAC9B,OAAO,IAAI,cAAc,CAAC,QAAQ,EAAE,CAAC,uBAAuB,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;KACtF;IACD,IAAI,eAAe,IAAI,cAAc,EAAE;QACrC,OAAO,IAAI,cAAc,CAAC,GAAG,GAAG,cAAc,CAAC,aAAa,CAAC,CAAA;KAC9D;IAED,IAAI,WAAW,IAAI,cAAc,EAAE;QACjC,MAAM,GAAG,GAAG,uBAAuB,CAAC,cAAc,CAAC,SAAS,CAAC,CAAA;QAC7D,GAAG,CAAC,SAAS,GAAG,IAAI,CAAA;QACpB,OAAO,GAAG,CAAA;KACX;IAED,IAAI,kBAAkB,IAAI,cAAc,EAAE;QACxC,MAAM,GAAG,GAAG,uBAAuB,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAA;QACpE,GAAG,CAAC,SAAS,GAAG,IAAI,CAAA;QACpB,OAAO,GAAG,CAAA;KACX;IAED,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAA;AACxC,CAAC","sourcesContent":["import {\n SuiMoveNormalizedField,\n SuiMoveNormalizedFunction,\n SuiMoveNormalizedModule,\n SuiMoveNormalizedStruct,\n SuiMoveNormalizedType,\n} from '@mysten/sui.js'\nimport {\n NeutralMoveFunction,\n NeutralMoveFunctionVisibility,\n NeutralMoveModule,\n NeutralMoveStruct,\n NeutralMoveStructField,\n} from '../move/neutral-models.js'\nimport { SPLITTER, TypeDescriptor } from '../move/index.js'\n\nexport type { SuiAddress } from '@mysten/sui.js'\n\nexport function toNeutralModule(module: SuiMoveNormalizedModule): NeutralMoveModule {\n return {\n address: module.address,\n exposed_functions: Object.entries(module.exposed_functions).map(([n, f]) => toNeutralFunction(n, f)),\n name: module.name,\n structs: Object.entries(module.structs).map(([n, s]) => toNeutralStruct(n, s)),\n }\n}\n\nexport function toNeutralFunction(name: string, func: SuiMoveNormalizedFunction): NeutralMoveFunction {\n let visibility\n switch (func.visibility) {\n case 'Private':\n visibility = NeutralMoveFunctionVisibility.PRIVATE\n break\n case 'Public':\n visibility = NeutralMoveFunctionVisibility.PUBLIC\n break\n case 'Friend':\n visibility = NeutralMoveFunctionVisibility.FRIEND\n break\n }\n return {\n generic_type_params: func.type_parameters.map((p) => {\n return { constraints: p.abilities }\n }),\n is_entry: func.is_entry,\n name: name,\n params: func.parameters.map(convertToTypeDescriptor),\n return: func.return_.map(convertToTypeDescriptor),\n visibility: visibility,\n }\n}\n\nexport function toNeutralStruct(name: string, struct: SuiMoveNormalizedStruct): NeutralMoveStruct {\n return {\n abilities: struct.abilities.abilities,\n fields: struct.fields.map(toNeutralField),\n generic_type_params: struct.type_parameters.map((p) => {\n return { constraints: p.constraints.abilities }\n }),\n is_native: false,\n name: name,\n }\n}\n\nexport function toNeutralField(module: SuiMoveNormalizedField): NeutralMoveStructField {\n return {\n name: module.name,\n type: convertToTypeDescriptor(module.type_),\n }\n}\n\nexport function convertToTypeDescriptor(normalizedType: SuiMoveNormalizedType): TypeDescriptor {\n if (typeof normalizedType === 'string') {\n return new TypeDescriptor(normalizedType)\n }\n\n if ('Struct' in normalizedType) {\n // normalizedType.Struct.\n // return normalizedType;\n const qname = [normalizedType.Struct.address, normalizedType.Struct.module, normalizedType.Struct.name].join(\n SPLITTER\n )\n\n const args = normalizedType.Struct.type_arguments.map(convertToTypeDescriptor)\n\n return new TypeDescriptor(qname, args)\n }\n\n if ('Vector' in normalizedType) {\n return new TypeDescriptor('vector', [convertToTypeDescriptor(normalizedType.Vector)])\n }\n if ('TypeParameter' in normalizedType) {\n return new TypeDescriptor('T' + normalizedType.TypeParameter)\n }\n\n if ('Reference' in normalizedType) {\n const res = convertToTypeDescriptor(normalizedType.Reference)\n res.reference = true\n return res\n }\n\n if ('MutableReference' in normalizedType) {\n const res = convertToTypeDescriptor(normalizedType.MutableReference)\n res.reference = true\n return res\n }\n\n throw new Error('Unexpected sui type')\n}\n"]}
1
+ {"version":3,"file":"move-types.js","sourceRoot":"","sources":["../../src/sui/move-types.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n SuiMoveNormalizedField,\n SuiMoveNormalizedFunction,\n SuiMoveNormalizedModule,\n SuiMoveNormalizedStruct,\n SuiMoveNormalizedType,\n} from '@mysten/sui.js'\nimport {\n InternalMoveFunction,\n InternalMoveFunctionVisibility,\n InternalMoveModule,\n InternalMoveStruct,\n InternalMoveStructField,\n} from '../move/internal-models.js'\nimport { SPLITTER, TypeDescriptor } from '../move/index.js'\n\nexport type { SuiAddress } from '@mysten/sui.js'\n\nexport function toInternalModule(module: SuiMoveNormalizedModule): InternalMoveModule {\n return {\n address: module.address,\n exposedFunctions: Object.entries(module.exposed_functions).map(([n, f]) => toInternalFunction(n, f)),\n name: module.name,\n structs: Object.entries(module.structs).map(([n, s]) => toInternalStruct(n, s)),\n }\n}\n\nexport function toInternalFunction(name: string, func: SuiMoveNormalizedFunction): InternalMoveFunction {\n let visibility\n switch (func.visibility) {\n case 'Private':\n visibility = InternalMoveFunctionVisibility.PRIVATE\n break\n case 'Public':\n visibility = InternalMoveFunctionVisibility.PUBLIC\n break\n case 'Friend':\n visibility = InternalMoveFunctionVisibility.FRIEND\n break\n default:\n throw Error('No visibility for function' + name)\n }\n return {\n typeParams: func.type_parameters.map((p: any) => {\n return { constraints: p.abilities }\n }),\n isEntry: func.is_entry,\n name: name,\n params: func.parameters.map(toTypeDescriptor),\n return: func.return_.map(toTypeDescriptor),\n visibility: visibility,\n }\n}\n\nexport function toInternalStruct(name: string, struct: SuiMoveNormalizedStruct): InternalMoveStruct {\n return {\n abilities: struct.abilities.abilities,\n fields: struct.fields.map(toInternalField),\n typeParams: struct.type_parameters.map((p: any) => {\n return { constraints: p.constraints.abilities }\n }),\n isNative: false,\n name: name,\n }\n}\n\nexport function toInternalField(module: SuiMoveNormalizedField): InternalMoveStructField {\n return {\n name: module.name,\n type: toTypeDescriptor(module.type_),\n }\n}\n\nexport function toTypeDescriptor(normalizedType: SuiMoveNormalizedType): TypeDescriptor {\n if (typeof normalizedType === 'string') {\n return new TypeDescriptor(normalizedType)\n }\n\n if ('Struct' in normalizedType) {\n const qname = [normalizedType.Struct.address, normalizedType.Struct.module, normalizedType.Struct.name].join(\n SPLITTER\n )\n\n const args = normalizedType.Struct.type_arguments.map(toTypeDescriptor)\n\n return new TypeDescriptor(qname, args)\n }\n\n if ('Vector' in normalizedType) {\n return new TypeDescriptor('vector', [toTypeDescriptor(normalizedType.Vector)])\n }\n if ('TypeParameter' in normalizedType) {\n return new TypeDescriptor('T' + normalizedType.TypeParameter)\n }\n\n if ('Reference' in normalizedType) {\n const res = toTypeDescriptor(normalizedType.Reference)\n res.reference = true\n return res\n }\n\n if ('MutableReference' in normalizedType) {\n const res = toTypeDescriptor(normalizedType.MutableReference)\n res.reference = true\n res.mutable = true\n return res\n }\n\n throw new Error('Unexpected sui type')\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"sui-processor.js","sourceRoot":"","sources":["../../src/sui/sui-processor.ts"],"names":[],"mappings":"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","sourcesContent":["import { Data_SuiCall, Data_SuiEvent, MoveFetchConfig } from '@sentio/protos'\nimport { ListStateStorage } from '@sentio/runtime'\nimport { SuiNetwork, getChainId } from './network.js'\nimport { ServerError, Status } from 'nice-grpc'\nimport { SuiContext } from './context.js'\nimport { MoveEvent, SuiTransactionResponse, getMoveCallTransaction, MoveCall } from '@mysten/sui.js'\nimport { CallHandler, EventFilter, EventHandler, FunctionNameAndCallFilter } from '../move/index.js'\nimport { getMoveCalls } from './utils.js'\nimport { defaultMoveCoder } from './move-coder.js'\n\nclass IndexConfigure {\n address: string\n network: SuiNetwork\n startTimestamp: number\n}\n\nexport class SuiBindOptions {\n address: string\n network?: SuiNetwork\n startTimestamp?: number\n}\n\nexport class SuiProcessorState extends ListStateStorage<SuiBaseProcessor> {\n static INSTANCE = new SuiProcessorState()\n}\n\nexport class SuiBaseProcessor {\n readonly moduleName: string\n config: IndexConfigure\n\n eventHandlers: EventHandler<Data_SuiEvent>[] = []\n callHandlers: CallHandler<Data_SuiCall>[] = []\n\n constructor(name: string, options: SuiBindOptions) {\n this.config = configure(options)\n SuiProcessorState.INSTANCE.addValue(this)\n }\n\n getChainId(): string {\n return getChainId(this.config.network)\n }\n\n public onMoveEvent(\n handler: (event: MoveEvent, ctx: SuiContext) => void,\n filter: EventFilter | EventFilter[],\n fetchConfig?: MoveFetchConfig\n ): SuiBaseProcessor {\n let _filters: EventFilter[] = []\n const _fetchConfig = fetchConfig || MoveFetchConfig.fromPartial({})\n\n if (Array.isArray(filter)) {\n _filters = filter\n } else {\n _filters.push(filter)\n }\n\n // const address = this.config.address\n // const moduleName = this.moduleName\n\n const processor = this\n\n this.eventHandlers.push({\n handler: async function (data) {\n if (!data.transaction) {\n throw new ServerError(Status.INVALID_ARGUMENT, 'event is null')\n }\n const txn = data.transaction as SuiTransactionResponse\n if (!txn.effects.events || !txn.effects.events.length) {\n throw new ServerError(Status.INVALID_ARGUMENT, 'no event in the transactions')\n }\n\n const ctx = new SuiContext(\n processor.moduleName,\n processor.config.network,\n processor.config.address,\n data.timestamp || new Date(0),\n data.slot,\n txn\n )\n\n const events = txn.effects.events\n txn.effects.events = []\n for (const evt of events) {\n if ('moveEvent' in evt) {\n const eventInstance = evt.moveEvent as MoveEvent\n const decoded = defaultMoveCoder().decodeEvent<any>(eventInstance)\n await handler(decoded || eventInstance, ctx)\n }\n }\n\n return ctx.getProcessResult()\n },\n filters: _filters,\n fetchConfig: _fetchConfig,\n })\n return this\n }\n\n public onEntryFunctionCall(\n handler: (call: MoveCall, ctx: SuiContext) => void,\n filter: FunctionNameAndCallFilter | FunctionNameAndCallFilter[],\n fetchConfig?: MoveFetchConfig\n ): SuiBaseProcessor {\n let _filters: FunctionNameAndCallFilter[] = []\n const _fetchConfig = fetchConfig || MoveFetchConfig.fromPartial({})\n\n if (Array.isArray(filter)) {\n _filters = filter\n } else {\n _filters.push(filter)\n }\n\n // const address = this.config.address\n // const moduleName = this.moduleName\n const processor = this\n\n this.callHandlers.push({\n handler: async function (data) {\n if (!data.transaction) {\n throw new ServerError(Status.INVALID_ARGUMENT, 'call is null')\n }\n const tx = data.transaction as SuiTransactionResponse\n\n const ctx = new SuiContext(\n processor.moduleName,\n processor.config.network,\n processor.config.address,\n data.timestamp || new Date(0),\n data.slot,\n tx\n )\n if (tx) {\n const calls: MoveCall[] = getMoveCalls(tx)\n if (calls.length !== 1) {\n throw new ServerError(Status.INVALID_ARGUMENT, 'Unexpected number of call transactions ' + calls.length)\n }\n const payload = calls[0]\n const decoded = defaultMoveCoder().decodeFunctionPayload(payload)\n await handler(decoded, ctx)\n }\n return ctx.getProcessResult()\n },\n filters: _filters,\n fetchConfig: _fetchConfig,\n })\n return this\n }\n}\n\nfunction configure(options: SuiBindOptions): IndexConfigure {\n return {\n startTimestamp: options.startTimestamp || 0,\n address: options.address,\n network: options.network || SuiNetwork.MAIN_NET,\n }\n}\n"]}
1
+ {"version":3,"file":"sui-processor.js","sourceRoot":"","sources":["../../src/sui/sui-processor.ts"],"names":[],"mappings":"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","sourcesContent":["import { Data_SuiCall, Data_SuiEvent, MoveFetchConfig } from '@sentio/protos'\nimport { ListStateStorage } from '@sentio/runtime'\nimport { SuiNetwork, getChainId } from './network.js'\nimport { ServerError, Status } from 'nice-grpc'\nimport { SuiContext } from './context.js'\nimport { MoveEvent, SuiTransactionResponse, MoveCall } from '@mysten/sui.js'\nimport { CallHandler, EventFilter, EventHandler, FunctionNameAndCallFilter } from '../move/index.js'\nimport { getMoveCalls } from './utils.js'\nimport { defaultMoveCoder } from './move-coder.js'\n\nclass IndexConfigure {\n address: string\n network: SuiNetwork\n startTimestamp: number\n}\n\nexport class SuiBindOptions {\n address: string\n network?: SuiNetwork\n startTimestamp?: number\n}\n\nexport class SuiProcessorState extends ListStateStorage<SuiBaseProcessor> {\n static INSTANCE = new SuiProcessorState()\n}\n\nexport class SuiBaseProcessor {\n readonly moduleName: string\n config: IndexConfigure\n\n eventHandlers: EventHandler<Data_SuiEvent>[] = []\n callHandlers: CallHandler<Data_SuiCall>[] = []\n\n constructor(name: string, options: SuiBindOptions) {\n this.config = configure(options)\n SuiProcessorState.INSTANCE.addValue(this)\n }\n\n getChainId(): string {\n return getChainId(this.config.network)\n }\n\n public onMoveEvent(\n handler: (event: MoveEvent, ctx: SuiContext) => void,\n filter: EventFilter | EventFilter[],\n fetchConfig?: MoveFetchConfig\n ): SuiBaseProcessor {\n let _filters: EventFilter[] = []\n const _fetchConfig = fetchConfig || MoveFetchConfig.fromPartial({})\n\n if (Array.isArray(filter)) {\n _filters = filter\n } else {\n _filters.push(filter)\n }\n\n // const address = this.config.address\n // const moduleName = this.moduleName\n\n const processor = this\n\n this.eventHandlers.push({\n handler: async function (data) {\n if (!data.transaction) {\n throw new ServerError(Status.INVALID_ARGUMENT, 'event is null')\n }\n const txn = data.transaction as SuiTransactionResponse\n if (!txn.effects.events || !txn.effects.events.length) {\n throw new ServerError(Status.INVALID_ARGUMENT, 'no event in the transactions')\n }\n\n const ctx = new SuiContext(\n processor.moduleName,\n processor.config.network,\n processor.config.address,\n data.timestamp || new Date(0),\n data.slot,\n txn\n )\n\n const events = txn.effects.events\n txn.effects.events = []\n for (const evt of events) {\n if ('moveEvent' in evt) {\n const eventInstance = evt.moveEvent as MoveEvent\n const decoded = defaultMoveCoder().decodeEvent<any>(eventInstance)\n await handler(decoded || eventInstance, ctx)\n }\n }\n\n return ctx.getProcessResult()\n },\n filters: _filters,\n fetchConfig: _fetchConfig,\n })\n return this\n }\n\n public onEntryFunctionCall(\n handler: (call: MoveCall, ctx: SuiContext) => void,\n filter: FunctionNameAndCallFilter | FunctionNameAndCallFilter[],\n fetchConfig?: MoveFetchConfig\n ): SuiBaseProcessor {\n let _filters: FunctionNameAndCallFilter[] = []\n const _fetchConfig = fetchConfig || MoveFetchConfig.fromPartial({})\n\n if (Array.isArray(filter)) {\n _filters = filter\n } else {\n _filters.push(filter)\n }\n\n // const address = this.config.address\n // const moduleName = this.moduleName\n const processor = this\n\n this.callHandlers.push({\n handler: async function (data) {\n if (!data.transaction) {\n throw new ServerError(Status.INVALID_ARGUMENT, 'call is null')\n }\n const tx = data.transaction as SuiTransactionResponse\n\n const ctx = new SuiContext(\n processor.moduleName,\n processor.config.network,\n processor.config.address,\n data.timestamp || new Date(0),\n data.slot,\n tx\n )\n if (tx) {\n const calls: MoveCall[] = getMoveCalls(tx)\n if (calls.length !== 1) {\n throw new ServerError(Status.INVALID_ARGUMENT, 'Unexpected number of call transactions ' + calls.length)\n }\n const payload = calls[0]\n const decoded = defaultMoveCoder().decodeFunctionPayload(payload)\n await handler(decoded, ctx)\n }\n return ctx.getProcessResult()\n },\n filters: _filters,\n fetchConfig: _fetchConfig,\n })\n return this\n }\n}\n\nfunction configure(options: SuiBindOptions): IndexConfigure {\n return {\n startTimestamp: options.startTimestamp || 0,\n address: options.address,\n network: options.network || SuiNetwork.MAIN_NET,\n }\n}\n"]}
@@ -1,2 +1,2 @@
1
- import { SuiTransactionResponse, MoveCall } from '@mysten/sui.js';
2
- export declare function getMoveCalls(tx: SuiTransactionResponse): MoveCall[];
1
+ import { SuiTransactionResponse } from '@mysten/sui.js';
2
+ export declare function getMoveCalls(tx: SuiTransactionResponse): any;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/sui/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,sBAAsB,EAAY,MAAM,gBAAgB,CAAA;AAEzF,MAAM,UAAU,YAAY,CAAC,EAA0B;IACrD,OAAO,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;QACrD,MAAM,IAAI,GAAG,sBAAsB,CAAC,EAAE,CAAC,CAAA;QACvC,IAAI,IAAI,EAAE;YACR,OAAO,CAAC,IAAI,CAAC,CAAA;SACd;QACD,OAAO,EAAE,CAAA;IACX,CAAC,CAAC,CAAA;AACJ,CAAC","sourcesContent":["import { SuiTransactionResponse, getMoveCallTransaction, MoveCall } from '@mysten/sui.js'\n\nexport function getMoveCalls(tx: SuiTransactionResponse) {\n return tx.certificate.data.transactions.flatMap((tx) => {\n const call = getMoveCallTransaction(tx)\n if (call) {\n return [call]\n }\n return []\n })\n}\n"]}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/sui/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,sBAAsB,EAAsB,MAAM,gBAAgB,CAAA;AAEnG,MAAM,UAAU,YAAY,CAAC,EAA0B;IACrD,OAAO,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,EAAsB,EAAE,EAAE;QACzE,MAAM,IAAI,GAAG,sBAAsB,CAAC,EAAE,CAAC,CAAA;QACvC,IAAI,IAAI,EAAE;YACR,OAAO,CAAC,IAAI,CAAC,CAAA;SACd;QACD,OAAO,EAAE,CAAA;IACX,CAAC,CAAC,CAAA;AACJ,CAAC","sourcesContent":["import { SuiTransactionResponse, getMoveCallTransaction, SuiTransactionKind } from '@mysten/sui.js'\n\nexport function getMoveCalls(tx: SuiTransactionResponse) {\n return tx.certificate.data.transactions.flatMap((tx: SuiTransactionKind) => {\n const call = getMoveCallTransaction(tx)\n if (call) {\n return [call]\n }\n return []\n })\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"dex-price.test.js","sourceRoot":"","sources":["../../src/utils/dex-price.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AACjE,OAAO,EAAE,KAAK,EAAa,MAAM,iBAAiB,CAAA;AAClD,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAA;AAE9D,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAE7B,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,KAAK,CAAC,KAAK,EAAE,CAAA;IACb,oBAAoB;IAEpB,MAAM,aAAa,GAAG,wBAAwB,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;IAE1D,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAA;IAE/C,MAAM,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;QACxC,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;QAC9D,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAA;QAEjC,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;QAClE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAA;IAClC,CAAC,CAAC,CAAA;IAEF,MAAM,CAAC,qBAAqB,EAAE,KAAK,IAAI,EAAE;QACvC,MAAM,GAAG,GAAG,MAAM,cAAc,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;QACzD,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAA;IAClC,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA","sourcesContent":["import { EthereumDexPrice, GoerliDexPrice } from './dex-price.js'\nimport { State, Endpoints } from '@sentio/runtime'\nimport { loadTestProvidersFromEnv } from '@sentio/sdk/testing'\n\nimport { expect } from 'chai'\n\ndescribe('dex price tests', () => {\n State.reset()\n // Endpoints.reset()\n\n const haveProviders = loadTestProvidersFromEnv(['1', '5'])\n\n const testIf = haveProviders ? test : test.skip\n\n testIf('get price at mainnet', async () => {\n const usdc = await EthereumDexPrice.getPrice('usdc', 15677823)\n expect(usdc.price).eq(0.99991649)\n\n const compound = await EthereumDexPrice.getPrice('COMP', 15677823)\n expect(compound.price).eq(60.27)\n })\n\n testIf('get price at goerli', async () => {\n const dai = await GoerliDexPrice.getPrice('DAI', 7712734)\n expect(dai.price).eq(0.99971281)\n })\n})\n"]}
1
+ {"version":3,"file":"dex-price.test.js","sourceRoot":"","sources":["../../src/utils/dex-price.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AACjE,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AACvC,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAA;AAE9D,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAE7B,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,KAAK,CAAC,KAAK,EAAE,CAAA;IACb,oBAAoB;IAEpB,MAAM,aAAa,GAAG,wBAAwB,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;IAE1D,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAA;IAE/C,MAAM,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;QACxC,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;QAC9D,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAA;QAEjC,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;QAClE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAA;IAClC,CAAC,CAAC,CAAA;IAEF,MAAM,CAAC,qBAAqB,EAAE,KAAK,IAAI,EAAE;QACvC,MAAM,GAAG,GAAG,MAAM,cAAc,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;QACzD,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAA;IAClC,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA","sourcesContent":["import { EthereumDexPrice, GoerliDexPrice } from './dex-price.js'\nimport { State } from '@sentio/runtime'\nimport { loadTestProvidersFromEnv } from '@sentio/sdk/testing'\n\nimport { expect } from 'chai'\n\ndescribe('dex price tests', () => {\n State.reset()\n // Endpoints.reset()\n\n const haveProviders = loadTestProvidersFromEnv(['1', '5'])\n\n const testIf = haveProviders ? test : test.skip\n\n testIf('get price at mainnet', async () => {\n const usdc = await EthereumDexPrice.getPrice('usdc', 15677823)\n expect(usdc.price).eq(0.99991649)\n\n const compound = await EthereumDexPrice.getPrice('COMP', 15677823)\n expect(compound.price).eq(60.27)\n })\n\n testIf('get price at goerli', async () => {\n const dai = await GoerliDexPrice.getPrice('DAI', 7712734)\n expect(dai.price).eq(0.99971281)\n })\n})\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"erc20.test.js","sourceRoot":"","sources":["../../src/utils/erc20.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAa,MAAM,iBAAiB,CAAA;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAC9C,OAAO,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAA;AAEtE,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC3B,KAAK,CAAC,KAAK,EAAE,CAAA;IACb,oBAAoB;IAEpB,MAAM,aAAa,GAAG,wBAAwB,CAAC,GAAG,CAAC,CAAA;IAEnD,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAA;IAE/C,MAAM,CAAC,cAAc,EAAE,KAAK,IAAI,EAAE;QAChC,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAAC,4CAA4C,CAAC,CAAA;QAElF,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;QAChC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QAClC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IACpC,CAAC,CAAC,CAAA;IAEF,MAAM,CAAC,aAAa,EAAE,KAAK,IAAI,EAAE;QAC/B,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAAC,4CAA4C,CAAC,CAAA;QAElF,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;QAC/B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QACnC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;IACvC,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA","sourcesContent":["import { State, Endpoints } from '@sentio/runtime'\nimport { getERC20TokenInfo } from './token.js'\nimport { loadTestProvidersFromEnv } from '../testing/test-provider.js'\n\ndescribe('erc20 tests', () => {\n State.reset()\n // Endpoints.reset()\n\n const haveProviders = loadTestProvidersFromEnv('1')\n\n const testIf = haveProviders ? test : test.skip\n\n testIf('test bytes32', async () => {\n const info = await getERC20TokenInfo('0x9f8F72aA9304c8B593d555F12eF6589cC3A579A2')\n\n expect(info.decimal).toEqual(18)\n expect(info.symbol).toEqual('MKR')\n expect(info.name).toEqual('Maker')\n })\n\n testIf('test normal', async () => {\n const info = await getERC20TokenInfo('0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48')\n\n expect(info.decimal).toEqual(6)\n expect(info.symbol).toEqual('USDC')\n expect(info.name).toEqual('USD Coin')\n })\n})\n"]}
1
+ {"version":3,"file":"erc20.test.js","sourceRoot":"","sources":["../../src/utils/erc20.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAC9C,OAAO,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAA;AAEtE,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC3B,KAAK,CAAC,KAAK,EAAE,CAAA;IACb,oBAAoB;IAEpB,MAAM,aAAa,GAAG,wBAAwB,CAAC,GAAG,CAAC,CAAA;IAEnD,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAA;IAE/C,MAAM,CAAC,cAAc,EAAE,KAAK,IAAI,EAAE;QAChC,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAAC,4CAA4C,CAAC,CAAA;QAElF,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;QAChC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QAClC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IACpC,CAAC,CAAC,CAAA;IAEF,MAAM,CAAC,aAAa,EAAE,KAAK,IAAI,EAAE;QAC/B,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAAC,4CAA4C,CAAC,CAAA;QAElF,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;QAC/B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QACnC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;IACvC,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA","sourcesContent":["import { State } from '@sentio/runtime'\nimport { getERC20TokenInfo } from './token.js'\nimport { loadTestProvidersFromEnv } from '../testing/test-provider.js'\n\ndescribe('erc20 tests', () => {\n State.reset()\n // Endpoints.reset()\n\n const haveProviders = loadTestProvidersFromEnv('1')\n\n const testIf = haveProviders ? test : test.skip\n\n testIf('test bytes32', async () => {\n const info = await getERC20TokenInfo('0x9f8F72aA9304c8B593d555F12eF6589cC3A579A2')\n\n expect(info.decimal).toEqual(18)\n expect(info.symbol).toEqual('MKR')\n expect(info.name).toEqual('Maker')\n })\n\n testIf('test normal', async () => {\n const info = await getERC20TokenInfo('0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48')\n\n expect(info.decimal).toEqual(6)\n expect(info.symbol).toEqual('USDC')\n expect(info.name).toEqual('USD Coin')\n })\n})\n"]}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@sentio/sdk",
3
3
  "license": "Apache-2.0",
4
- "version": "2.5.0",
4
+ "version": "2.5.1-rc.2",
5
5
  "type": "module",
6
6
  "scripts": {
7
7
  "compile": "tsc && cp src/utils/*.csv lib/utils && cp src/tsup.config.ts lib",
@@ -19,13 +19,13 @@
19
19
  "docs": "typedoc --options typedoc.json"
20
20
  },
21
21
  "dependencies": {
22
- "@mysten/sui.js": "npm:@sentio/sui.js@0.17.0",
22
+ "@mysten/sui.js": "npm:@sentio/sui.js@0.27.0",
23
23
  "@project-serum/anchor": "^0.26.0",
24
24
  "@sentio/bigdecimal": "^9.1.1-patch.3",
25
25
  "@sentio/ethers-v6": "^1.0.25",
26
- "@sentio/protos": "^2.5.0",
27
- "@sentio/runtime": "^2.5.0",
28
- "@solana/web3.js": "^1.47.3",
26
+ "@sentio/protos": "^2.5.1-rc.2",
27
+ "@sentio/runtime": "^2.5.1-rc.2",
28
+ "@solana/web3.js": "^1.73.2",
29
29
  "@types/prettier": "^2.7.2",
30
30
  "aptos-sdk": "npm:@sentio/aptos@^1.6.0",
31
31
  "bs58": "^5.0.0",
@@ -34,12 +34,12 @@
34
34
  "ethers": "npm:@sentio/ethers@^6.0.2",
35
35
  "lodash-es": "^4.17.21",
36
36
  "mkdirp": "^2.1.3",
37
- "p-queue": "^7.3.0",
38
- "prettier": "^2.8.1",
37
+ "p-queue": "^7.3.4",
38
+ "prettier": "^2.8.4",
39
39
  "typechain": "^8.0.0"
40
40
  },
41
41
  "devDependencies": {
42
- "@certusone/wormhole-sdk": "^0.9.8",
42
+ "@certusone/wormhole-sdk": "^0.9.10",
43
43
  "@types/google-protobuf": "^3.15.6",
44
44
  "@types/lodash-es": "^4.17.6"
45
45
  },
@@ -72,14 +72,11 @@
72
72
  },
73
73
  "files": [
74
74
  "{lib,src}",
75
- "!{lib,src}/tests",
75
+ "!{lib,src}/*/tests",
76
76
  "!**/*.test.{js,ts}"
77
77
  ],
78
78
  "engines": {
79
79
  "node": ">=16"
80
80
  },
81
- "typedoc": {
82
- "entryPoint": "./src/index.ts"
83
- },
84
- "gitHead": "74abc85d23a04f46a68f787a708dd5f4b67e504c"
81
+ "gitHead": "f5757c9ddde1fd436447c2570acaa4429ddd3fd9"
85
82
  }
@@ -1,11 +1,11 @@
1
1
  import * as fs from 'fs'
2
- import { MoveModuleBytecode, toNeutralModule } from '../move-types.js'
2
+ import { MoveModuleBytecode, toInternalModule } from '../move-types.js'
3
3
  import { moduleQname, SPLITTER, TypeDescriptor } from '../../move/index.js'
4
4
  import chalk from 'chalk'
5
5
  import { AptosNetwork } from '../network.js'
6
6
  import { AptosClient } from 'aptos-sdk'
7
7
  import { getMeaningfulFunctionParams } from '../utils.js'
8
- import { NeutralMoveModule, NeutralMoveStruct } from '../../move/neutral-models.js'
8
+ import { InternalMoveModule, InternalMoveStruct } from '../../move/internal-models.js'
9
9
  import { AbstractCodegen } from '../../move/abstract-codegen.js'
10
10
 
11
11
  export async function codegen(abisDir: string, outDir = 'src/types/aptos') {
@@ -40,18 +40,18 @@ class AptosCodegen extends AbstractCodegen<MoveModuleBytecode[], AptosNetwork> {
40
40
  return await client.getAccountModules(account)
41
41
  }
42
42
 
43
- toNeutral(modules: MoveModuleBytecode[]): NeutralMoveModule[] {
44
- return modules.flatMap((m) => (m.abi ? [toNeutralModule(m)] : []))
43
+ toInternalModules(modules: MoveModuleBytecode[]): InternalMoveModule[] {
44
+ return modules.flatMap((m) => (m.abi ? [toInternalModule(m)] : []))
45
45
  }
46
46
 
47
47
  getMeaningfulFunctionParams(params: TypeDescriptor[]): TypeDescriptor[] {
48
48
  return getMeaningfulFunctionParams(params)
49
49
  }
50
50
 
51
- getEventStructs(module: NeutralMoveModule) {
51
+ getEventStructs(module: InternalMoveModule) {
52
52
  const qname = moduleQname(module)
53
- const structMap = new Map<string, NeutralMoveStruct>()
54
- const eventMap = new Map<string, NeutralMoveStruct>()
53
+ const structMap = new Map<string, InternalMoveStruct>()
54
+ const eventMap = new Map<string, InternalMoveStruct>()
55
55
 
56
56
  for (const struct of module.structs) {
57
57
  structMap.set(qname + SPLITTER + struct.name, struct)
@@ -1,9 +1,8 @@
1
1
  import {
2
2
  Event,
3
- MoveModule,
4
3
  MoveModuleBytecode,
5
4
  MoveResource,
6
- toNeutralModule,
5
+ toInternalModule,
7
6
  TransactionPayload_EntryFunctionPayload,
8
7
  } from './move-types.js'
9
8
 
@@ -19,7 +18,7 @@ export class MoveCoder extends AbstractMoveCoder<Event | MoveResource> {
19
18
  if (this.contains(module.abi.address, module.abi.name)) {
20
19
  return
21
20
  }
22
- this.loadNeutral(toNeutralModule(module))
21
+ this.loadInternal(toInternalModule(module))
23
22
  }
24
23
 
25
24
  decodeEvent<T>(event: Event): TypedEventInstance<T> | undefined {
@@ -1,11 +1,11 @@
1
1
  import { Types } from 'aptos-sdk'
2
2
  import {
3
- NeutralMoveFunction,
4
- NeutralMoveFunctionVisibility,
5
- NeutralMoveModule,
6
- NeutralMoveStruct,
7
- NeutralMoveStructField,
8
- } from '../move/neutral-models.js'
3
+ InternalMoveFunction,
4
+ InternalMoveFunctionVisibility,
5
+ InternalMoveModule,
6
+ InternalMoveStruct,
7
+ InternalMoveStructField,
8
+ } from '../move/internal-models.js'
9
9
  import { parseMoveType } from '../move/index.js'
10
10
 
11
11
  export type Address = Types.Address
@@ -19,35 +19,35 @@ export type MoveModuleBytecode = Types.MoveModuleBytecode
19
19
  export type TransactionPayload_EntryFunctionPayload = Types.TransactionPayload_EntryFunctionPayload
20
20
  export type Transaction_UserTransaction = Types.Transaction_UserTransaction
21
21
 
22
- export function toNeutralModule(module: MoveModuleBytecode): NeutralMoveModule {
22
+ export function toInternalModule(module: MoveModuleBytecode): InternalMoveModule {
23
23
  if (!module.abi) {
24
24
  throw Error('module with no ABI found')
25
25
  }
26
26
  const abi = module.abi
27
27
  return {
28
28
  address: abi.address,
29
- exposed_functions: abi.exposed_functions.map(toNeutralFunction),
29
+ exposedFunctions: abi.exposed_functions.map(toInternalFunction),
30
30
  name: abi.name,
31
- structs: abi.structs.map(toNeutralStruct),
31
+ structs: abi.structs.map(toInternalStruct),
32
32
  }
33
33
  }
34
34
 
35
- export function toNeutralFunction(func: MoveFunction): NeutralMoveFunction {
35
+ export function toInternalFunction(func: MoveFunction): InternalMoveFunction {
36
36
  let visibility
37
37
  switch (func.visibility) {
38
38
  case Types.MoveFunctionVisibility.PRIVATE:
39
- visibility = NeutralMoveFunctionVisibility.PRIVATE
39
+ visibility = InternalMoveFunctionVisibility.PRIVATE
40
40
  break
41
41
  case Types.MoveFunctionVisibility.PUBLIC:
42
- visibility = NeutralMoveFunctionVisibility.PUBLIC
42
+ visibility = InternalMoveFunctionVisibility.PUBLIC
43
43
  break
44
44
  case Types.MoveFunctionVisibility.FRIEND:
45
- visibility = NeutralMoveFunctionVisibility.FRIEND
45
+ visibility = InternalMoveFunctionVisibility.FRIEND
46
46
  break
47
47
  }
48
48
  return {
49
- generic_type_params: func.generic_type_params,
50
- is_entry: func.is_entry,
49
+ typeParams: func.generic_type_params,
50
+ isEntry: func.is_entry,
51
51
  name: func.name,
52
52
  params: func.params.map(parseMoveType),
53
53
  return: func.return.map(parseMoveType),
@@ -55,17 +55,17 @@ export function toNeutralFunction(func: MoveFunction): NeutralMoveFunction {
55
55
  }
56
56
  }
57
57
 
58
- export function toNeutralStruct(struct: MoveStruct): NeutralMoveStruct {
58
+ export function toInternalStruct(struct: MoveStruct): InternalMoveStruct {
59
59
  return {
60
60
  abilities: struct.abilities,
61
- fields: struct.fields.map(toNeutralField),
62
- generic_type_params: struct.generic_type_params,
63
- is_native: struct.is_native,
61
+ fields: struct.fields.map(toInternalField),
62
+ typeParams: struct.generic_type_params,
63
+ isNative: struct.is_native,
64
64
  name: struct.name,
65
65
  }
66
66
  }
67
67
 
68
- export function toNeutralField(module: MoveStructField): NeutralMoveStructField {
68
+ export function toInternalField(module: MoveStructField): InternalMoveStructField {
69
69
  return {
70
70
  name: module.name,
71
71
  type: parseMoveType(module.type),
@@ -1,4 +1,4 @@
1
- import { EventDeclaration, Contract, getFullSignatureAsSymbolForEvent } from 'typechain'
1
+ import { EventDeclaration, getFullSignatureAsSymbolForEvent } from 'typechain'
2
2
  import { getFullSignatureForEventPatched } from './types.js'
3
3
  import { generateEventInputs } from '@sentio/ethers-v6/dist/codegen/events.js'
4
4
 
@@ -5,6 +5,7 @@ import {
5
5
  import sha3 from 'js-sha3'
6
6
  import { FunctionDeclaration, getSignatureForFn } from 'typechain'
7
7
  import { getFullSignatureAsSymbolForFunction } from './types.js'
8
+ import { upperFirst } from 'lodash-es'
8
9
 
9
10
  export function generateCallHandlers(fns: FunctionDeclaration[], contractName: string): string {
10
11
  if (fns.length === 1) {
@@ -23,7 +24,7 @@ export function codegenCallTraceTypes(fns: FunctionDeclaration[]): string {
23
24
  }
24
25
 
25
26
  function codegenCallTraceType(fn: FunctionDeclaration, overloadedName?: string): string {
26
- const identifier = capitalizeFirstChar(overloadedName ?? fn.name)
27
+ const identifier = upperFirst(overloadedName ?? fn.name)
27
28
 
28
29
  const components = fn.inputs.map((input, i) => ({ name: input.name ?? `arg${i.toString()}`, type: input.type }))
29
30
  const arrayOutput = generateOutputComplexTypeAsArray(components, { useStructs: true })
@@ -44,18 +45,11 @@ function generateCallHandler(fn: FunctionDeclaration, contractName: string, over
44
45
  const sighash = '0x' + sha3.keccak_256(test).substring(0, 8)
45
46
 
46
47
  return `
47
- onCall${capitalizeFirstChar(overloadedName ?? fn.name)}(
48
- handler: (call: ${capitalizeFirstChar(overloadedName ?? fn.name)}CallTrace, ctx: ${contractName}Context) => void,
48
+ onCall${upperFirst(overloadedName ?? fn.name)}(
49
+ handler: (call: ${upperFirst(overloadedName ?? fn.name)}CallTrace, ctx: ${contractName}Context) => void,
49
50
  fetchConfig?: EthFetchConfig
50
51
  ) {
51
52
  return super.onTrace("${sighash}", handler, fetchConfig);
52
53
  }
53
54
  `
54
55
  }
55
-
56
- function capitalizeFirstChar(input: string): string {
57
- if (!input) {
58
- return input
59
- }
60
- return input[0].toUpperCase() + (input.length > 1 ? input.substring(1) : '')
61
- }
@@ -4,7 +4,6 @@ import { LogParams, BlockParams } from 'ethers/providers'
4
4
  import { RecordMetaData } from '@sentio/protos'
5
5
  import { Trace } from './trace.js'
6
6
  import { Labels, normalizeLabels } from '../core/index.js'
7
- import { CHAIN_IDS } from '../core/chain.js'
8
7
  import { BaseContext } from '../core/base-context.js'
9
8
 
10
9
  export abstract class EthContext extends BaseContext {
package/src/eth/index.ts CHANGED
@@ -4,7 +4,6 @@ export { BaseProcessorTemplate } from './base-processor-template.js'
4
4
  export { getProvider, DummyProvider } from './provider.js'
5
5
  export type { TypedCallTrace, Trace } from './trace.js'
6
6
  export * from './eth.js'
7
- export * from './error.js'
8
7
  export { BindOptions, AccountBindOptions } from './bind-options.js'
9
8
  export { getProcessor, addProcessor, getContractByABI, addContractByABI } from './binds.js'
10
9
  export { ContractContext, ContractView, BoundContractView } from './context.js'