@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,5 +1,5 @@
1
1
  import * as fs from 'fs';
2
- import { toNeutralModule } from '../move-types.js';
2
+ import { toInternalModule } from '../move-types.js';
3
3
  import { moduleQname, SPLITTER } from '../../move/index.js';
4
4
  import chalk from 'chalk';
5
5
  import { AptosNetwork } from '../network.js';
@@ -33,8 +33,8 @@ class AptosCodegen extends AbstractCodegen {
33
33
  const client = getRpcClient(network);
34
34
  return await client.getAccountModules(account);
35
35
  }
36
- toNeutral(modules) {
37
- return modules.flatMap((m) => (m.abi ? [toNeutralModule(m)] : []));
36
+ toInternalModules(modules) {
37
+ return modules.flatMap((m) => (m.abi ? [toInternalModule(m)] : []));
38
38
  }
39
39
  getMeaningfulFunctionParams(params) {
40
40
  return getMeaningfulFunctionParams(params);
@@ -1 +1 @@
1
- {"version":3,"file":"codegen.js","sourceRoot":"","sources":["../../../src/aptos/codegen/codegen.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAA;AACxB,OAAO,EAAsB,eAAe,EAAE,MAAM,kBAAkB,CAAA;AACtE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAkB,MAAM,qBAAqB,CAAA;AAC3E,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAA;AAEzD,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAA;AAEhE,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,OAAe,EAAE,MAAM,GAAG,iBAAiB;IACvE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;QAC3B,OAAM;KACP;IACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC,CAAA;IACrD,MAAM,GAAG,GAAG,IAAI,YAAY,EAAE,CAAA;IAC9B,MAAM,GAAG,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;AACrC,CAAC;AAED,SAAS,cAAc,CAAC,OAAqB;IAC3C,QAAQ,OAAO,EAAE;QACf,KAAK,YAAY,CAAC,QAAQ;YACxB,OAAO,gCAAgC,CAAA;KAC1C;IACD,OAAO,gCAAgC,CAAA;AACzC,CAAC;AAED,SAAS,YAAY,CAAC,OAAqB;IACzC,OAAO,IAAI,WAAW,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAA;AACjD,CAAC;AAED,MAAM,YAAa,SAAQ,eAAmD;IAC5E,YAAY,GAAG,SAAS,CAAA;IACxB,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAA;IAChC,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAA;IAChC,MAAM,GAAG,OAAO,CAAA;IAEhB,KAAK,CAAC,YAAY,CAAC,OAAe,EAAE,OAAqB;QACvD,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,CAAA;QACpC,OAAO,MAAM,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAA;IAChD,CAAC;IAED,SAAS,CAAC,OAA6B;QACrC,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IACpE,CAAC;IAED,2BAA2B,CAAC,MAAwB;QAClD,OAAO,2BAA2B,CAAC,MAAM,CAAC,CAAA;IAC5C,CAAC;IAED,eAAe,CAAC,MAAyB;QACvC,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,CAAA;QACjC,MAAM,SAAS,GAAG,IAAI,GAAG,EAA6B,CAAA;QACtD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA6B,CAAA;QAErD,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE;YACnC,SAAS,CAAC,GAAG,CAAC,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;SACtD;QAED,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE;YACnC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE;gBACjC,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,CAAA;gBACpB,IAAI,CAAC,CAAC,KAAK,KAAK,yBAAyB,EAAE;oBACzC,MAAM,KAAK,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;oBACjC,MAAM,WAAW,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;oBACxC,IAAI,WAAW,EAAE;wBACf,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,CAAA;qBACjC;iBACF;aACF;SACF;QAED,OAAO,QAAQ,CAAA;IACjB,CAAC;CACF","sourcesContent":["import * as fs from 'fs'\nimport { MoveModuleBytecode, toNeutralModule } from '../move-types.js'\nimport { moduleQname, SPLITTER, TypeDescriptor } from '../../move/index.js'\nimport chalk from 'chalk'\nimport { AptosNetwork } from '../network.js'\nimport { AptosClient } from 'aptos-sdk'\nimport { getMeaningfulFunctionParams } from '../utils.js'\nimport { NeutralMoveModule, NeutralMoveStruct } from '../../move/neutral-models.js'\nimport { AbstractCodegen } from '../../move/abstract-codegen.js'\n\nexport async function codegen(abisDir: string, outDir = 'src/types/aptos') {\n if (!fs.existsSync(abisDir)) {\n return\n }\n console.log(chalk.green('Generated Types for Aptos'))\n const gen = new AptosCodegen()\n await gen.generate(abisDir, outDir)\n}\n\nfunction getRpcEndpoint(network: AptosNetwork): string {\n switch (network) {\n case AptosNetwork.TEST_NET:\n return 'https://testnet.aptoslabs.com/'\n }\n return 'https://mainnet.aptoslabs.com/'\n}\n\nfunction getRpcClient(network: AptosNetwork): AptosClient {\n return new AptosClient(getRpcEndpoint(network))\n}\n\nclass AptosCodegen extends AbstractCodegen<MoveModuleBytecode[], AptosNetwork> {\n ADDRESS_TYPE = 'Address'\n MAIN_NET = AptosNetwork.MAIN_NET\n TEST_NET = AptosNetwork.TEST_NET\n PREFIX = 'Aptos'\n\n async fetchModules(account: string, network: AptosNetwork): Promise<MoveModuleBytecode[]> {\n const client = getRpcClient(network)\n return await client.getAccountModules(account)\n }\n\n toNeutral(modules: MoveModuleBytecode[]): NeutralMoveModule[] {\n return modules.flatMap((m) => (m.abi ? [toNeutralModule(m)] : []))\n }\n\n getMeaningfulFunctionParams(params: TypeDescriptor[]): TypeDescriptor[] {\n return getMeaningfulFunctionParams(params)\n }\n\n getEventStructs(module: NeutralMoveModule) {\n const qname = moduleQname(module)\n const structMap = new Map<string, NeutralMoveStruct>()\n const eventMap = new Map<string, NeutralMoveStruct>()\n\n for (const struct of module.structs) {\n structMap.set(qname + SPLITTER + struct.name, struct)\n }\n\n for (const struct of module.structs) {\n for (const field of struct.fields) {\n const t = field.type\n if (t.qname === '0x1::event::EventHandle') {\n const event = t.typeArgs[0].qname\n const eventStruct = structMap.get(event)\n if (eventStruct) {\n eventMap.set(event, eventStruct)\n }\n }\n }\n }\n\n return eventMap\n }\n}\n"]}
1
+ {"version":3,"file":"codegen.js","sourceRoot":"","sources":["../../../src/aptos/codegen/codegen.ts"],"names":[],"mappings":"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","sourcesContent":["import * as fs from 'fs'\nimport { MoveModuleBytecode, toInternalModule } from '../move-types.js'\nimport { moduleQname, SPLITTER, TypeDescriptor } from '../../move/index.js'\nimport chalk from 'chalk'\nimport { AptosNetwork } from '../network.js'\nimport { AptosClient } from 'aptos-sdk'\nimport { getMeaningfulFunctionParams } from '../utils.js'\nimport { InternalMoveModule, InternalMoveStruct } from '../../move/internal-models.js'\nimport { AbstractCodegen } from '../../move/abstract-codegen.js'\n\nexport async function codegen(abisDir: string, outDir = 'src/types/aptos') {\n if (!fs.existsSync(abisDir)) {\n return\n }\n console.log(chalk.green('Generated Types for Aptos'))\n const gen = new AptosCodegen()\n await gen.generate(abisDir, outDir)\n}\n\nfunction getRpcEndpoint(network: AptosNetwork): string {\n switch (network) {\n case AptosNetwork.TEST_NET:\n return 'https://testnet.aptoslabs.com/'\n }\n return 'https://mainnet.aptoslabs.com/'\n}\n\nfunction getRpcClient(network: AptosNetwork): AptosClient {\n return new AptosClient(getRpcEndpoint(network))\n}\n\nclass AptosCodegen extends AbstractCodegen<MoveModuleBytecode[], AptosNetwork> {\n ADDRESS_TYPE = 'Address'\n MAIN_NET = AptosNetwork.MAIN_NET\n TEST_NET = AptosNetwork.TEST_NET\n PREFIX = 'Aptos'\n\n async fetchModules(account: string, network: AptosNetwork): Promise<MoveModuleBytecode[]> {\n const client = getRpcClient(network)\n return await client.getAccountModules(account)\n }\n\n toInternalModules(modules: MoveModuleBytecode[]): InternalMoveModule[] {\n return modules.flatMap((m) => (m.abi ? [toInternalModule(m)] : []))\n }\n\n getMeaningfulFunctionParams(params: TypeDescriptor[]): TypeDescriptor[] {\n return getMeaningfulFunctionParams(params)\n }\n\n getEventStructs(module: InternalMoveModule) {\n const qname = moduleQname(module)\n const structMap = new Map<string, InternalMoveStruct>()\n const eventMap = new Map<string, InternalMoveStruct>()\n\n for (const struct of module.structs) {\n structMap.set(qname + SPLITTER + struct.name, struct)\n }\n\n for (const struct of module.structs) {\n for (const field of struct.fields) {\n const t = field.type\n if (t.qname === '0x1::event::EventHandle') {\n const event = t.typeArgs[0].qname\n const eventStruct = structMap.get(event)\n if (eventStruct) {\n eventMap.set(event, eventStruct)\n }\n }\n }\n }\n\n return eventMap\n }\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { toNeutralModule, } from './move-types.js';
1
+ import { toInternalModule, } from './move-types.js';
2
2
  import { getMeaningfulFunctionParams } from './utils.js';
3
3
  import { AbstractMoveCoder } from '../move/abstract-move-coder.js';
4
4
  export class MoveCoder extends AbstractMoveCoder {
@@ -9,7 +9,7 @@ export class MoveCoder extends AbstractMoveCoder {
9
9
  if (this.contains(module.abi.address, module.abi.name)) {
10
10
  return;
11
11
  }
12
- this.loadNeutral(toNeutralModule(module));
12
+ this.loadInternal(toInternalModule(module));
13
13
  }
14
14
  decodeEvent(event) {
15
15
  return this.decodedInternal(event);
@@ -1 +1 @@
1
- {"version":3,"file":"move-coder.js","sourceRoot":"","sources":["../../src/aptos/move-coder.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,eAAe,GAEhB,MAAM,iBAAiB,CAAA;AAGxB,OAAO,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAA;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAElE,MAAM,OAAO,SAAU,SAAQ,iBAAuC;IACpE,IAAI,CAAC,MAA0B;QAC7B,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE;YACf,MAAM,KAAK,CAAC,oBAAoB,CAAC,CAAA;SAClC;QACD,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YACtD,OAAM;SACP;QACD,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAA;IAC3C,CAAC;IAED,WAAW,CAAI,KAAY;QACzB,OAAO,IAAI,CAAC,eAAe,CAAI,KAAK,CAA0B,CAAA;IAChE,CAAC;IACD,qBAAqB,CAAI,SAAiB,EAAE,SAAkB;QAC5D,OAAO,IAAI,CAAC,uBAAuB,CAAC,SAAS,EAAE,SAAS,CAA4B,CAAA;IACtF,CAAC;IACD,cAAc,CAAI,GAAiB;QACjC,OAAO,IAAI,CAAC,eAAe,CAAI,GAAG,CAAC,CAAA;IACrC,CAAC;IACD,wBAAwB,CAAI,SAAiB,EAAE,SAAyB;QACtE,OAAO,IAAI,CAAC,uBAAuB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;IAC3D,CAAC;IAED,qBAAqB,CAAC,OAAgD;QACpE,MAAM,cAAc,GAAU,EAAE,CAAA;QAEhC,IAAI;YACF,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;YACnD,MAAM,MAAM,GAAG,2BAA2B,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YACvD,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE;gBACpD,sGAAsG;gBACtG,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;gBAC3B,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAA;aAC/C;SACF;QAAC,OAAO,CAAC,EAAE;YACV,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAA;YAChE,OAAO,OAAO,CAAA;SACf;QAED,OAAO;YACL,GAAG,OAAO;YACV,iBAAiB,EAAE,cAAc;SACA,CAAA;IACrC,CAAC;CACF;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,SAAS,EAAE,CAAA;AAEzC,MAAM,UAAU,gBAAgB;IAC9B,OAAO,UAAU,CAAA;AACnB,CAAC","sourcesContent":["import {\n Event,\n MoveModule,\n MoveModuleBytecode,\n MoveResource,\n toNeutralModule,\n TransactionPayload_EntryFunctionPayload,\n} from './move-types.js'\n\nimport { TypedEventInstance, TypedMoveResource, TypedEntryFunctionPayload } from './models.js'\nimport { getMeaningfulFunctionParams } from './utils.js'\nimport { AbstractMoveCoder } from '../move/abstract-move-coder.js'\n\nexport class MoveCoder extends AbstractMoveCoder<Event | MoveResource> {\n load(module: MoveModuleBytecode) {\n if (!module.abi) {\n throw Error('Module without abi')\n }\n if (this.contains(module.abi.address, module.abi.name)) {\n return\n }\n this.loadNeutral(toNeutralModule(module))\n }\n\n decodeEvent<T>(event: Event): TypedEventInstance<T> | undefined {\n return this.decodedInternal<T>(event) as TypedEventInstance<T>\n }\n filterAndDecodeEvents<T>(typeQname: string, resources: Event[]): TypedEventInstance<T>[] {\n return this.filterAndDecodeInternal(typeQname, resources) as TypedEventInstance<T>[]\n }\n decodeResource<T>(res: MoveResource): TypedMoveResource<T> | undefined {\n return this.decodedInternal<T>(res)\n }\n filterAndDecodeResources<T>(typeQname: string, resources: MoveResource[]): TypedMoveResource<T>[] {\n return this.filterAndDecodeInternal(typeQname, resources)\n }\n\n decodeFunctionPayload(payload: TransactionPayload_EntryFunctionPayload): TransactionPayload_EntryFunctionPayload {\n const argumentsTyped: any[] = []\n\n try {\n const func = this.getMoveFunction(payload.function)\n const params = getMeaningfulFunctionParams(func.params)\n for (const [idx, arg] of payload.arguments.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/aptos/move-coder.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,gBAAgB,GAEjB,MAAM,iBAAiB,CAAA;AAGxB,OAAO,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAA;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAElE,MAAM,OAAO,SAAU,SAAQ,iBAAuC;IACpE,IAAI,CAAC,MAA0B;QAC7B,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE;YACf,MAAM,KAAK,CAAC,oBAAoB,CAAC,CAAA;SAClC;QACD,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YACtD,OAAM;SACP;QACD,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAA;IAC7C,CAAC;IAED,WAAW,CAAI,KAAY;QACzB,OAAO,IAAI,CAAC,eAAe,CAAI,KAAK,CAA0B,CAAA;IAChE,CAAC;IACD,qBAAqB,CAAI,SAAiB,EAAE,SAAkB;QAC5D,OAAO,IAAI,CAAC,uBAAuB,CAAC,SAAS,EAAE,SAAS,CAA4B,CAAA;IACtF,CAAC;IACD,cAAc,CAAI,GAAiB;QACjC,OAAO,IAAI,CAAC,eAAe,CAAI,GAAG,CAAC,CAAA;IACrC,CAAC;IACD,wBAAwB,CAAI,SAAiB,EAAE,SAAyB;QACtE,OAAO,IAAI,CAAC,uBAAuB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;IAC3D,CAAC;IAED,qBAAqB,CAAC,OAAgD;QACpE,MAAM,cAAc,GAAU,EAAE,CAAA;QAEhC,IAAI;YACF,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;YACnD,MAAM,MAAM,GAAG,2BAA2B,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YACvD,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE;gBACpD,sGAAsG;gBACtG,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;gBAC3B,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAA;aAC/C;SACF;QAAC,OAAO,CAAC,EAAE;YACV,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAA;YAChE,OAAO,OAAO,CAAA;SACf;QAED,OAAO;YACL,GAAG,OAAO;YACV,iBAAiB,EAAE,cAAc;SACA,CAAA;IACrC,CAAC;CACF;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,SAAS,EAAE,CAAA;AAEzC,MAAM,UAAU,gBAAgB;IAC9B,OAAO,UAAU,CAAA;AACnB,CAAC","sourcesContent":["import {\n Event,\n MoveModuleBytecode,\n MoveResource,\n toInternalModule,\n TransactionPayload_EntryFunctionPayload,\n} from './move-types.js'\n\nimport { TypedEventInstance, TypedMoveResource, TypedEntryFunctionPayload } from './models.js'\nimport { getMeaningfulFunctionParams } from './utils.js'\nimport { AbstractMoveCoder } from '../move/abstract-move-coder.js'\n\nexport class MoveCoder extends AbstractMoveCoder<Event | MoveResource> {\n load(module: MoveModuleBytecode) {\n if (!module.abi) {\n throw Error('Module without abi')\n }\n if (this.contains(module.abi.address, module.abi.name)) {\n return\n }\n this.loadInternal(toInternalModule(module))\n }\n\n decodeEvent<T>(event: Event): TypedEventInstance<T> | undefined {\n return this.decodedInternal<T>(event) as TypedEventInstance<T>\n }\n filterAndDecodeEvents<T>(typeQname: string, resources: Event[]): TypedEventInstance<T>[] {\n return this.filterAndDecodeInternal(typeQname, resources) as TypedEventInstance<T>[]\n }\n decodeResource<T>(res: MoveResource): TypedMoveResource<T> | undefined {\n return this.decodedInternal<T>(res)\n }\n filterAndDecodeResources<T>(typeQname: string, resources: MoveResource[]): TypedMoveResource<T>[] {\n return this.filterAndDecodeInternal(typeQname, resources)\n }\n\n decodeFunctionPayload(payload: TransactionPayload_EntryFunctionPayload): TransactionPayload_EntryFunctionPayload {\n const argumentsTyped: any[] = []\n\n try {\n const func = this.getMoveFunction(payload.function)\n const params = getMeaningfulFunctionParams(func.params)\n for (const [idx, arg] of payload.arguments.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,5 +1,5 @@
1
1
  import { Types } from 'aptos-sdk';
2
- import { NeutralMoveFunction, NeutralMoveModule, NeutralMoveStruct, NeutralMoveStructField } from '../move/neutral-models.js';
2
+ import { InternalMoveFunction, InternalMoveModule, InternalMoveStruct, InternalMoveStructField } from '../move/internal-models.js';
3
3
  export type Address = Types.Address;
4
4
  export type Event = Types.Event;
5
5
  export type MoveFunction = Types.MoveFunction;
@@ -10,7 +10,7 @@ export type MoveStructField = Types.MoveStructField;
10
10
  export type MoveModuleBytecode = Types.MoveModuleBytecode;
11
11
  export type TransactionPayload_EntryFunctionPayload = Types.TransactionPayload_EntryFunctionPayload;
12
12
  export type Transaction_UserTransaction = Types.Transaction_UserTransaction;
13
- export declare function toNeutralModule(module: MoveModuleBytecode): NeutralMoveModule;
14
- export declare function toNeutralFunction(func: MoveFunction): NeutralMoveFunction;
15
- export declare function toNeutralStruct(struct: MoveStruct): NeutralMoveStruct;
16
- export declare function toNeutralField(module: MoveStructField): NeutralMoveStructField;
13
+ export declare function toInternalModule(module: MoveModuleBytecode): InternalMoveModule;
14
+ export declare function toInternalFunction(func: MoveFunction): InternalMoveFunction;
15
+ export declare function toInternalStruct(struct: MoveStruct): InternalMoveStruct;
16
+ export declare function toInternalField(module: MoveStructField): InternalMoveStructField;
@@ -1,50 +1,50 @@
1
1
  import { Types } from 'aptos-sdk';
2
- import { NeutralMoveFunctionVisibility, } from '../move/neutral-models.js';
2
+ import { InternalMoveFunctionVisibility, } from '../move/internal-models.js';
3
3
  import { parseMoveType } from '../move/index.js';
4
- export function toNeutralModule(module) {
4
+ export function toInternalModule(module) {
5
5
  if (!module.abi) {
6
6
  throw Error('module with no ABI found');
7
7
  }
8
8
  const abi = module.abi;
9
9
  return {
10
10
  address: abi.address,
11
- exposed_functions: abi.exposed_functions.map(toNeutralFunction),
11
+ exposedFunctions: abi.exposed_functions.map(toInternalFunction),
12
12
  name: abi.name,
13
- structs: abi.structs.map(toNeutralStruct),
13
+ structs: abi.structs.map(toInternalStruct),
14
14
  };
15
15
  }
16
- export function toNeutralFunction(func) {
16
+ export function toInternalFunction(func) {
17
17
  let visibility;
18
18
  switch (func.visibility) {
19
19
  case Types.MoveFunctionVisibility.PRIVATE:
20
- visibility = NeutralMoveFunctionVisibility.PRIVATE;
20
+ visibility = InternalMoveFunctionVisibility.PRIVATE;
21
21
  break;
22
22
  case Types.MoveFunctionVisibility.PUBLIC:
23
- visibility = NeutralMoveFunctionVisibility.PUBLIC;
23
+ visibility = InternalMoveFunctionVisibility.PUBLIC;
24
24
  break;
25
25
  case Types.MoveFunctionVisibility.FRIEND:
26
- visibility = NeutralMoveFunctionVisibility.FRIEND;
26
+ visibility = InternalMoveFunctionVisibility.FRIEND;
27
27
  break;
28
28
  }
29
29
  return {
30
- generic_type_params: func.generic_type_params,
31
- is_entry: func.is_entry,
30
+ typeParams: func.generic_type_params,
31
+ isEntry: func.is_entry,
32
32
  name: func.name,
33
33
  params: func.params.map(parseMoveType),
34
34
  return: func.return.map(parseMoveType),
35
35
  visibility: visibility,
36
36
  };
37
37
  }
38
- export function toNeutralStruct(struct) {
38
+ export function toInternalStruct(struct) {
39
39
  return {
40
40
  abilities: struct.abilities,
41
- fields: struct.fields.map(toNeutralField),
42
- generic_type_params: struct.generic_type_params,
43
- is_native: struct.is_native,
41
+ fields: struct.fields.map(toInternalField),
42
+ typeParams: struct.generic_type_params,
43
+ isNative: struct.is_native,
44
44
  name: struct.name,
45
45
  };
46
46
  }
47
- export function toNeutralField(module) {
47
+ export function toInternalField(module) {
48
48
  return {
49
49
  name: module.name,
50
50
  type: parseMoveType(module.type),
@@ -1 +1 @@
1
- {"version":3,"file":"move-types.js","sourceRoot":"","sources":["../../src/aptos/move-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAA;AACjC,OAAO,EAEL,6BAA6B,GAI9B,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAahD,MAAM,UAAU,eAAe,CAAC,MAA0B;IACxD,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE;QACf,MAAM,KAAK,CAAC,0BAA0B,CAAC,CAAA;KACxC;IACD,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAA;IACtB,OAAO;QACL,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,iBAAiB,EAAE,GAAG,CAAC,iBAAiB,CAAC,GAAG,CAAC,iBAAiB,CAAC;QAC/D,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;KAC1C,CAAA;AACH,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAkB;IAClD,IAAI,UAAU,CAAA;IACd,QAAQ,IAAI,CAAC,UAAU,EAAE;QACvB,KAAK,KAAK,CAAC,sBAAsB,CAAC,OAAO;YACvC,UAAU,GAAG,6BAA6B,CAAC,OAAO,CAAA;YAClD,MAAK;QACP,KAAK,KAAK,CAAC,sBAAsB,CAAC,MAAM;YACtC,UAAU,GAAG,6BAA6B,CAAC,MAAM,CAAA;YACjD,MAAK;QACP,KAAK,KAAK,CAAC,sBAAsB,CAAC,MAAM;YACtC,UAAU,GAAG,6BAA6B,CAAC,MAAM,CAAA;YACjD,MAAK;KACR;IACD,OAAO;QACL,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;QAC7C,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC;QACtC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC;QACtC,UAAU,EAAE,UAAU;KACvB,CAAA;AACH,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,MAAkB;IAChD,OAAO;QACL,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC;QACzC,mBAAmB,EAAE,MAAM,CAAC,mBAAmB;QAC/C,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,IAAI,EAAE,MAAM,CAAC,IAAI;KAClB,CAAA;AACH,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,MAAuB;IACpD,OAAO;QACL,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC;KACjC,CAAA;AACH,CAAC","sourcesContent":["import { Types } from 'aptos-sdk'\nimport {\n NeutralMoveFunction,\n NeutralMoveFunctionVisibility,\n NeutralMoveModule,\n NeutralMoveStruct,\n NeutralMoveStructField,\n} from '../move/neutral-models.js'\nimport { parseMoveType } from '../move/index.js'\n\nexport type Address = Types.Address\nexport type Event = Types.Event\nexport type MoveFunction = Types.MoveFunction\nexport type MoveModule = Types.MoveModule\nexport type MoveResource = Types.MoveResource\nexport type MoveStruct = Types.MoveStruct\nexport type MoveStructField = Types.MoveStructField\nexport type MoveModuleBytecode = Types.MoveModuleBytecode\nexport type TransactionPayload_EntryFunctionPayload = Types.TransactionPayload_EntryFunctionPayload\nexport type Transaction_UserTransaction = Types.Transaction_UserTransaction\n\nexport function toNeutralModule(module: MoveModuleBytecode): NeutralMoveModule {\n if (!module.abi) {\n throw Error('module with no ABI found')\n }\n const abi = module.abi\n return {\n address: abi.address,\n exposed_functions: abi.exposed_functions.map(toNeutralFunction),\n name: abi.name,\n structs: abi.structs.map(toNeutralStruct),\n }\n}\n\nexport function toNeutralFunction(func: MoveFunction): NeutralMoveFunction {\n let visibility\n switch (func.visibility) {\n case Types.MoveFunctionVisibility.PRIVATE:\n visibility = NeutralMoveFunctionVisibility.PRIVATE\n break\n case Types.MoveFunctionVisibility.PUBLIC:\n visibility = NeutralMoveFunctionVisibility.PUBLIC\n break\n case Types.MoveFunctionVisibility.FRIEND:\n visibility = NeutralMoveFunctionVisibility.FRIEND\n break\n }\n return {\n generic_type_params: func.generic_type_params,\n is_entry: func.is_entry,\n name: func.name,\n params: func.params.map(parseMoveType),\n return: func.return.map(parseMoveType),\n visibility: visibility,\n }\n}\n\nexport function toNeutralStruct(struct: MoveStruct): NeutralMoveStruct {\n return {\n abilities: struct.abilities,\n fields: struct.fields.map(toNeutralField),\n generic_type_params: struct.generic_type_params,\n is_native: struct.is_native,\n name: struct.name,\n }\n}\n\nexport function toNeutralField(module: MoveStructField): NeutralMoveStructField {\n return {\n name: module.name,\n type: parseMoveType(module.type),\n }\n}\n"]}
1
+ {"version":3,"file":"move-types.js","sourceRoot":"","sources":["../../src/aptos/move-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAA;AACjC,OAAO,EAEL,8BAA8B,GAI/B,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAahD,MAAM,UAAU,gBAAgB,CAAC,MAA0B;IACzD,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE;QACf,MAAM,KAAK,CAAC,0BAA0B,CAAC,CAAA;KACxC;IACD,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAA;IACtB,OAAO;QACL,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,gBAAgB,EAAE,GAAG,CAAC,iBAAiB,CAAC,GAAG,CAAC,kBAAkB,CAAC;QAC/D,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;KAC3C,CAAA;AACH,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,IAAkB;IACnD,IAAI,UAAU,CAAA;IACd,QAAQ,IAAI,CAAC,UAAU,EAAE;QACvB,KAAK,KAAK,CAAC,sBAAsB,CAAC,OAAO;YACvC,UAAU,GAAG,8BAA8B,CAAC,OAAO,CAAA;YACnD,MAAK;QACP,KAAK,KAAK,CAAC,sBAAsB,CAAC,MAAM;YACtC,UAAU,GAAG,8BAA8B,CAAC,MAAM,CAAA;YAClD,MAAK;QACP,KAAK,KAAK,CAAC,sBAAsB,CAAC,MAAM;YACtC,UAAU,GAAG,8BAA8B,CAAC,MAAM,CAAA;YAClD,MAAK;KACR;IACD,OAAO;QACL,UAAU,EAAE,IAAI,CAAC,mBAAmB;QACpC,OAAO,EAAE,IAAI,CAAC,QAAQ;QACtB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC;QACtC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC;QACtC,UAAU,EAAE,UAAU;KACvB,CAAA;AACH,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,MAAkB;IACjD,OAAO;QACL,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC;QAC1C,UAAU,EAAE,MAAM,CAAC,mBAAmB;QACtC,QAAQ,EAAE,MAAM,CAAC,SAAS;QAC1B,IAAI,EAAE,MAAM,CAAC,IAAI;KAClB,CAAA;AACH,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,MAAuB;IACrD,OAAO;QACL,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC;KACjC,CAAA;AACH,CAAC","sourcesContent":["import { Types } from 'aptos-sdk'\nimport {\n InternalMoveFunction,\n InternalMoveFunctionVisibility,\n InternalMoveModule,\n InternalMoveStruct,\n InternalMoveStructField,\n} from '../move/internal-models.js'\nimport { parseMoveType } from '../move/index.js'\n\nexport type Address = Types.Address\nexport type Event = Types.Event\nexport type MoveFunction = Types.MoveFunction\nexport type MoveModule = Types.MoveModule\nexport type MoveResource = Types.MoveResource\nexport type MoveStruct = Types.MoveStruct\nexport type MoveStructField = Types.MoveStructField\nexport type MoveModuleBytecode = Types.MoveModuleBytecode\nexport type TransactionPayload_EntryFunctionPayload = Types.TransactionPayload_EntryFunctionPayload\nexport type Transaction_UserTransaction = Types.Transaction_UserTransaction\n\nexport function toInternalModule(module: MoveModuleBytecode): InternalMoveModule {\n if (!module.abi) {\n throw Error('module with no ABI found')\n }\n const abi = module.abi\n return {\n address: abi.address,\n exposedFunctions: abi.exposed_functions.map(toInternalFunction),\n name: abi.name,\n structs: abi.structs.map(toInternalStruct),\n }\n}\n\nexport function toInternalFunction(func: MoveFunction): InternalMoveFunction {\n let visibility\n switch (func.visibility) {\n case Types.MoveFunctionVisibility.PRIVATE:\n visibility = InternalMoveFunctionVisibility.PRIVATE\n break\n case Types.MoveFunctionVisibility.PUBLIC:\n visibility = InternalMoveFunctionVisibility.PUBLIC\n break\n case Types.MoveFunctionVisibility.FRIEND:\n visibility = InternalMoveFunctionVisibility.FRIEND\n break\n }\n return {\n typeParams: func.generic_type_params,\n isEntry: func.is_entry,\n name: func.name,\n params: func.params.map(parseMoveType),\n return: func.return.map(parseMoveType),\n visibility: visibility,\n }\n}\n\nexport function toInternalStruct(struct: MoveStruct): InternalMoveStruct {\n return {\n abilities: struct.abilities,\n fields: struct.fields.map(toInternalField),\n typeParams: struct.generic_type_params,\n isNative: struct.is_native,\n name: struct.name,\n }\n}\n\nexport function toInternalField(module: MoveStructField): InternalMoveStructField {\n return {\n name: module.name,\n type: parseMoveType(module.type),\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"event-handler.js","sourceRoot":"","sources":["../../../src/eth/codegen/event-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8B,gCAAgC,EAAE,MAAM,WAAW,CAAA;AACxF,OAAO,EAAE,+BAA+B,EAAE,MAAM,YAAY,CAAA;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAA;AAE9E,MAAM,UAAU,oBAAoB,CAAC,KAAuB,EAAE,YAAoB,EAAE,eAAwB;IAC1G,MAAM,SAAS,GAAG,eAAe,CAAC,CAAC,CAAC,gCAAgC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAA;IACxF,MAAM,eAAe,GAAG,eAAe,CAAC,CAAC,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC,SAAS,CAAA;IAErE,MAAM,UAAU,GAAG,+BAA+B,CAAC,KAAK,CAAC,CAAA;IACzD,OAAO;WACE,SAAS;uBACG,eAAe,eAAe,YAAY;eAClD,eAAe,iBAAiB,eAAe;;;;2CAInB,UAAU,MAAM,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;;;;GAIhG,CAAA;AACH,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,MAA0B,EAAE,YAAoB;IACpF,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;QACvB,OAAO,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,CAAA;KAC5D;SAAM;QACL,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;KACjF;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAuB,EAAE,eAAwB;IAC5E,MAAM,SAAS,GAAG,eAAe,CAAC,CAAC,CAAC,gCAAgC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAA;IAExF,MAAM,UAAU,GAAG,+BAA+B,CAAC,KAAK,CAAC,CAAA;IACzD,OAAO;MACH,SAAS,IAAI,mBAAmB,CAAC,KAAK,CAAC,MAAM,CAAC,wCAAwC,UAAU,MAAM,KAAK,CAAC,MAAM;SACnH,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,MAAM,GAAG,EAAE,CAAC;SACtC,IAAI,CAAC,GAAG,CAAC;GACX,CAAA;AACH,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,MAA0B;IAC7D,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;QACvB,OAAO,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAA;KAC/C;SAAM;QACL,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,mBAAmB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAA;KACvD;AACH,CAAC","sourcesContent":["import { EventDeclaration, Contract, getFullSignatureAsSymbolForEvent } from 'typechain'\nimport { getFullSignatureForEventPatched } from './types.js'\nimport { generateEventInputs } from '@sentio/ethers-v6/dist/codegen/events.js'\n\nexport function generateEventHandler(event: EventDeclaration, contractName: string, includeArgTypes: boolean): string {\n const eventName = includeArgTypes ? getFullSignatureAsSymbolForEvent(event) : event.name\n const eventNamePrefix = includeArgTypes ? eventName + '_' : eventName\n\n const filterName = getFullSignatureForEventPatched(event)\n return `\n onEvent${eventName}(\n handler: (event: ${eventNamePrefix}Event, ctx: ${contractName}Context) => void,\n filter?: ${eventNamePrefix}EventFilter | ${eventNamePrefix}EventFilter[],\n fetchConfig?: EthFetchConfig\n ) {\n if (!filter) {\n filter = templateContract.filters['${filterName}'](${event.inputs.map(() => 'null').join(',')})\n }\n return super.onEvent(handler, filter!, fetchConfig)\n }\n `\n}\n\nexport function generateEventHandlers(events: EventDeclaration[], contractName: string): string {\n if (events.length === 1) {\n return generateEventHandler(events[0], contractName, false)\n } else {\n return events.map((e) => generateEventHandler(e, contractName, true)).join('\\n')\n }\n}\n\nfunction generateEventFilter(event: EventDeclaration, includeArgTypes: boolean): string {\n const eventName = includeArgTypes ? getFullSignatureAsSymbolForEvent(event) : event.name\n\n const filterName = getFullSignatureForEventPatched(event)\n return `\n ${eventName}(${generateEventInputs(event.inputs)}) { return templateContract.filters['${filterName}'](${event.inputs\n .map((i, idx) => i.name || `arg${idx}`)\n .join(',')}) }\n `\n}\n\nexport function generateEventFilters(events: EventDeclaration[]): string[] {\n if (events.length === 1) {\n return [generateEventFilter(events[0], false)]\n } else {\n return events.map((e) => generateEventFilter(e, true))\n }\n}\n"]}
1
+ {"version":3,"file":"event-handler.js","sourceRoot":"","sources":["../../../src/eth/codegen/event-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,gCAAgC,EAAE,MAAM,WAAW,CAAA;AAC9E,OAAO,EAAE,+BAA+B,EAAE,MAAM,YAAY,CAAA;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAA;AAE9E,MAAM,UAAU,oBAAoB,CAAC,KAAuB,EAAE,YAAoB,EAAE,eAAwB;IAC1G,MAAM,SAAS,GAAG,eAAe,CAAC,CAAC,CAAC,gCAAgC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAA;IACxF,MAAM,eAAe,GAAG,eAAe,CAAC,CAAC,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC,SAAS,CAAA;IAErE,MAAM,UAAU,GAAG,+BAA+B,CAAC,KAAK,CAAC,CAAA;IACzD,OAAO;WACE,SAAS;uBACG,eAAe,eAAe,YAAY;eAClD,eAAe,iBAAiB,eAAe;;;;2CAInB,UAAU,MAAM,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;;;;GAIhG,CAAA;AACH,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,MAA0B,EAAE,YAAoB;IACpF,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;QACvB,OAAO,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,CAAA;KAC5D;SAAM;QACL,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;KACjF;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAuB,EAAE,eAAwB;IAC5E,MAAM,SAAS,GAAG,eAAe,CAAC,CAAC,CAAC,gCAAgC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAA;IAExF,MAAM,UAAU,GAAG,+BAA+B,CAAC,KAAK,CAAC,CAAA;IACzD,OAAO;MACH,SAAS,IAAI,mBAAmB,CAAC,KAAK,CAAC,MAAM,CAAC,wCAAwC,UAAU,MAAM,KAAK,CAAC,MAAM;SACnH,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,MAAM,GAAG,EAAE,CAAC;SACtC,IAAI,CAAC,GAAG,CAAC;GACX,CAAA;AACH,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,MAA0B;IAC7D,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;QACvB,OAAO,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAA;KAC/C;SAAM;QACL,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,mBAAmB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAA;KACvD;AACH,CAAC","sourcesContent":["import { EventDeclaration, getFullSignatureAsSymbolForEvent } from 'typechain'\nimport { getFullSignatureForEventPatched } from './types.js'\nimport { generateEventInputs } from '@sentio/ethers-v6/dist/codegen/events.js'\n\nexport function generateEventHandler(event: EventDeclaration, contractName: string, includeArgTypes: boolean): string {\n const eventName = includeArgTypes ? getFullSignatureAsSymbolForEvent(event) : event.name\n const eventNamePrefix = includeArgTypes ? eventName + '_' : eventName\n\n const filterName = getFullSignatureForEventPatched(event)\n return `\n onEvent${eventName}(\n handler: (event: ${eventNamePrefix}Event, ctx: ${contractName}Context) => void,\n filter?: ${eventNamePrefix}EventFilter | ${eventNamePrefix}EventFilter[],\n fetchConfig?: EthFetchConfig\n ) {\n if (!filter) {\n filter = templateContract.filters['${filterName}'](${event.inputs.map(() => 'null').join(',')})\n }\n return super.onEvent(handler, filter!, fetchConfig)\n }\n `\n}\n\nexport function generateEventHandlers(events: EventDeclaration[], contractName: string): string {\n if (events.length === 1) {\n return generateEventHandler(events[0], contractName, false)\n } else {\n return events.map((e) => generateEventHandler(e, contractName, true)).join('\\n')\n }\n}\n\nfunction generateEventFilter(event: EventDeclaration, includeArgTypes: boolean): string {\n const eventName = includeArgTypes ? getFullSignatureAsSymbolForEvent(event) : event.name\n\n const filterName = getFullSignatureForEventPatched(event)\n return `\n ${eventName}(${generateEventInputs(event.inputs)}) { return templateContract.filters['${filterName}'](${event.inputs\n .map((i, idx) => i.name || `arg${idx}`)\n .join(',')}) }\n `\n}\n\nexport function generateEventFilters(events: EventDeclaration[]): string[] {\n if (events.length === 1) {\n return [generateEventFilter(events[0], false)]\n } else {\n return events.map((e) => generateEventFilter(e, true))\n }\n}\n"]}
@@ -2,6 +2,7 @@ import { generateOutputComplexTypeAsArray, generateOutputComplexTypesAsObject, }
2
2
  import sha3 from 'js-sha3';
3
3
  import { getSignatureForFn } from 'typechain';
4
4
  import { getFullSignatureAsSymbolForFunction } from './types.js';
5
+ import { upperFirst } from 'lodash-es';
5
6
  export function generateCallHandlers(fns, contractName) {
6
7
  if (fns.length === 1) {
7
8
  return generateCallHandler(fns[0], contractName);
@@ -15,7 +16,7 @@ export function codegenCallTraceTypes(fns) {
15
16
  return fns.map((fn) => codegenCallTraceType(fn, getFullSignatureAsSymbolForFunction(fn))).join('\n');
16
17
  }
17
18
  function codegenCallTraceType(fn, overloadedName) {
18
- const identifier = capitalizeFirstChar(overloadedName ?? fn.name);
19
+ const identifier = upperFirst(overloadedName ?? fn.name);
19
20
  const components = fn.inputs.map((input, i) => ({ name: input.name ?? `arg${i.toString()}`, type: input.type }));
20
21
  const arrayOutput = generateOutputComplexTypeAsArray(components, { useStructs: true });
21
22
  const objectOutput = generateOutputComplexTypesAsObject(components, { useStructs: true }) || '{}';
@@ -31,18 +32,12 @@ function generateCallHandler(fn, contractName, overloadedName) {
31
32
  const test = new TextEncoder().encode(signature);
32
33
  const sighash = '0x' + sha3.keccak_256(test).substring(0, 8);
33
34
  return `
34
- onCall${capitalizeFirstChar(overloadedName ?? fn.name)}(
35
- handler: (call: ${capitalizeFirstChar(overloadedName ?? fn.name)}CallTrace, ctx: ${contractName}Context) => void,
35
+ onCall${upperFirst(overloadedName ?? fn.name)}(
36
+ handler: (call: ${upperFirst(overloadedName ?? fn.name)}CallTrace, ctx: ${contractName}Context) => void,
36
37
  fetchConfig?: EthFetchConfig
37
38
  ) {
38
39
  return super.onTrace("${sighash}", handler, fetchConfig);
39
40
  }
40
41
  `;
41
42
  }
42
- function capitalizeFirstChar(input) {
43
- if (!input) {
44
- return input;
45
- }
46
- return input[0].toUpperCase() + (input.length > 1 ? input.substring(1) : '');
47
- }
48
43
  //# sourceMappingURL=functions-handler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"functions-handler.js","sourceRoot":"","sources":["../../../src/eth/codegen/functions-handler.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n generateOutputComplexTypeAsArray,\n generateOutputComplexTypesAsObject,\n} from '@sentio/ethers-v6/dist/codegen/types.js'\nimport sha3 from 'js-sha3'\nimport { FunctionDeclaration, getSignatureForFn } from 'typechain'\nimport { getFullSignatureAsSymbolForFunction } from './types.js'\n\nexport function generateCallHandlers(fns: FunctionDeclaration[], contractName: string): string {\n if (fns.length === 1) {\n return generateCallHandler(fns[0], contractName)\n }\n\n return fns.map((fn) => generateCallHandler(fn, contractName, getFullSignatureAsSymbolForFunction(fn))).join('\\n')\n}\n\nexport function codegenCallTraceTypes(fns: FunctionDeclaration[]): string {\n if (fns.length === 1) {\n return codegenCallTraceType(fns[0])\n }\n\n return fns.map((fn) => codegenCallTraceType(fn, getFullSignatureAsSymbolForFunction(fn))).join('\\n')\n}\n\nfunction codegenCallTraceType(fn: FunctionDeclaration, overloadedName?: string): string {\n const identifier = capitalizeFirstChar(overloadedName ?? fn.name)\n\n const components = fn.inputs.map((input, i) => ({ name: input.name ?? `arg${i.toString()}`, type: input.type }))\n const arrayOutput = generateOutputComplexTypeAsArray(components, { useStructs: true })\n const objectOutput = generateOutputComplexTypesAsObject(components, { useStructs: true }) || '{}'\n\n return `\n export interface ${identifier}CallObject ${objectOutput}\n \n export type ${identifier}CallTrace = TypedCallTrace<${arrayOutput}, ${identifier}CallObject> & Trace\n `\n}\n\nfunction generateCallHandler(fn: FunctionDeclaration, contractName: string, overloadedName?: string): string {\n const signature = getSignatureForFn(fn)\n // utils.toUtf8Bytes(signature))\n\n const test = new TextEncoder().encode(signature)\n const sighash = '0x' + sha3.keccak_256(test).substring(0, 8)\n\n return `\n onCall${capitalizeFirstChar(overloadedName ?? fn.name)}(\n handler: (call: ${capitalizeFirstChar(overloadedName ?? fn.name)}CallTrace, ctx: ${contractName}Context) => void,\n fetchConfig?: EthFetchConfig\n ) {\n return super.onTrace(\"${sighash}\", handler, fetchConfig);\n }\n`\n}\n\nfunction capitalizeFirstChar(input: string): string {\n if (!input) {\n return input\n }\n return input[0].toUpperCase() + (input.length > 1 ? input.substring(1) : '')\n}\n"]}
1
+ {"version":3,"file":"functions-handler.js","sourceRoot":"","sources":["../../../src/eth/codegen/functions-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gCAAgC,EAChC,kCAAkC,GACnC,MAAM,yCAAyC,CAAA;AAChD,OAAO,IAAI,MAAM,SAAS,CAAA;AAC1B,OAAO,EAAuB,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAClE,OAAO,EAAE,mCAAmC,EAAE,MAAM,YAAY,CAAA;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAEtC,MAAM,UAAU,oBAAoB,CAAC,GAA0B,EAAE,YAAoB;IACnF,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE;QACpB,OAAO,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAA;KACjD;IAED,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,mBAAmB,CAAC,EAAE,EAAE,YAAY,EAAE,mCAAmC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACnH,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,GAA0B;IAC9D,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE;QACpB,OAAO,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;KACpC;IAED,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,oBAAoB,CAAC,EAAE,EAAE,mCAAmC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACtG,CAAC;AAED,SAAS,oBAAoB,CAAC,EAAuB,EAAE,cAAuB;IAC5E,MAAM,UAAU,GAAG,UAAU,CAAC,cAAc,IAAI,EAAE,CAAC,IAAI,CAAC,CAAA;IAExD,MAAM,UAAU,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IAChH,MAAM,WAAW,GAAG,gCAAgC,CAAC,UAAU,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAA;IACtF,MAAM,YAAY,GAAG,kCAAkC,CAAC,UAAU,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,IAAI,IAAI,CAAA;IAEjG,OAAO;qBACY,UAAU,cAAc,YAAY;;gBAEzC,UAAU,8BAA8B,WAAW,KAAK,UAAU;GAC/E,CAAA;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,EAAuB,EAAE,YAAoB,EAAE,cAAuB;IACjG,MAAM,SAAS,GAAG,iBAAiB,CAAC,EAAE,CAAC,CAAA;IACvC,gCAAgC;IAEhC,MAAM,IAAI,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;IAChD,MAAM,OAAO,GAAG,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IAE5D,OAAO;UACC,UAAU,CAAC,cAAc,IAAI,EAAE,CAAC,IAAI,CAAC;sBACzB,UAAU,CAAC,cAAc,IAAI,EAAE,CAAC,IAAI,CAAC,mBAAmB,YAAY;;;4BAG9D,OAAO;;CAElC,CAAA;AACD,CAAC","sourcesContent":["import {\n generateOutputComplexTypeAsArray,\n generateOutputComplexTypesAsObject,\n} from '@sentio/ethers-v6/dist/codegen/types.js'\nimport sha3 from 'js-sha3'\nimport { FunctionDeclaration, getSignatureForFn } from 'typechain'\nimport { getFullSignatureAsSymbolForFunction } from './types.js'\nimport { upperFirst } from 'lodash-es'\n\nexport function generateCallHandlers(fns: FunctionDeclaration[], contractName: string): string {\n if (fns.length === 1) {\n return generateCallHandler(fns[0], contractName)\n }\n\n return fns.map((fn) => generateCallHandler(fn, contractName, getFullSignatureAsSymbolForFunction(fn))).join('\\n')\n}\n\nexport function codegenCallTraceTypes(fns: FunctionDeclaration[]): string {\n if (fns.length === 1) {\n return codegenCallTraceType(fns[0])\n }\n\n return fns.map((fn) => codegenCallTraceType(fn, getFullSignatureAsSymbolForFunction(fn))).join('\\n')\n}\n\nfunction codegenCallTraceType(fn: FunctionDeclaration, overloadedName?: string): string {\n const identifier = upperFirst(overloadedName ?? fn.name)\n\n const components = fn.inputs.map((input, i) => ({ name: input.name ?? `arg${i.toString()}`, type: input.type }))\n const arrayOutput = generateOutputComplexTypeAsArray(components, { useStructs: true })\n const objectOutput = generateOutputComplexTypesAsObject(components, { useStructs: true }) || '{}'\n\n return `\n export interface ${identifier}CallObject ${objectOutput}\n \n export type ${identifier}CallTrace = TypedCallTrace<${arrayOutput}, ${identifier}CallObject> & Trace\n `\n}\n\nfunction generateCallHandler(fn: FunctionDeclaration, contractName: string, overloadedName?: string): string {\n const signature = getSignatureForFn(fn)\n // utils.toUtf8Bytes(signature))\n\n const test = new TextEncoder().encode(signature)\n const sighash = '0x' + sha3.keccak_256(test).substring(0, 8)\n\n return `\n onCall${upperFirst(overloadedName ?? fn.name)}(\n handler: (call: ${upperFirst(overloadedName ?? fn.name)}CallTrace, ctx: ${contractName}Context) => void,\n fetchConfig?: EthFetchConfig\n ) {\n return super.onTrace(\"${sighash}\", handler, fetchConfig);\n }\n`\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/eth/context.ts"],"names":[],"mappings":"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","sourcesContent":["import { BaseContract, Transaction, TransactionReceipt } from 'ethers'\nimport { LogParams, BlockParams } from 'ethers/providers'\n\nimport { RecordMetaData } from '@sentio/protos'\nimport { Trace } from './trace.js'\nimport { Labels, normalizeLabels } from '../core/index.js'\nimport { CHAIN_IDS } from '../core/chain.js'\nimport { BaseContext } from '../core/base-context.js'\n\nexport abstract class EthContext extends BaseContext {\n chainId: number\n address: string\n private readonly log?: LogParams\n block?: BlockParams\n private readonly trace?: Trace\n blockNumber: bigint | number\n transactionHash?: string\n transaction?: Transaction\n transactionReceipt?: TransactionReceipt\n timestamp: Date\n\n constructor(\n chainId: number,\n address: string,\n timestamp?: Date,\n block?: BlockParams,\n log?: LogParams,\n trace?: Trace,\n transaction?: Transaction,\n transactionReceipt?: TransactionReceipt\n ) {\n super()\n this.chainId = chainId\n this.log = log\n this.block = block\n this.trace = trace\n this.address = address\n this.transaction = transaction\n this.transactionReceipt = transactionReceipt\n this.timestamp = timestamp || new Date(0)\n if (log) {\n this.blockNumber = log.blockNumber\n this.transactionHash = log.transactionHash\n } else if (block) {\n this.blockNumber = block.number\n } else if (trace) {\n this.blockNumber = trace.blockNumber\n this.transactionHash = trace.transactionHash\n }\n }\n\n protected abstract getContractName(): string\n\n getMetaData(name: string, labels: Labels): RecordMetaData {\n if (this.log) {\n return {\n address: this.address,\n contractName: this.getContractName(),\n blockNumber: BigInt(this.blockNumber),\n transactionIndex: this.log.transactionIndex,\n transactionHash: this.transactionHash || '',\n logIndex: this.log.index,\n chainId: this.chainId.toString(),\n name: name,\n labels: normalizeLabels(labels),\n }\n }\n if (this.block) {\n return {\n address: this.address,\n contractName: this.getContractName(),\n blockNumber: BigInt(this.blockNumber),\n transactionIndex: -1,\n transactionHash: '',\n logIndex: -1,\n chainId: this.chainId.toString(),\n name: name,\n labels: normalizeLabels(labels),\n }\n }\n if (this.trace) {\n return {\n address: this.address,\n contractName: this.getContractName(),\n blockNumber: BigInt(this.blockNumber),\n transactionIndex: this.trace.transactionPosition,\n transactionHash: this.transactionHash || '',\n logIndex: -1,\n chainId: this.chainId.toString(),\n name: name,\n labels: normalizeLabels(labels),\n }\n }\n throw new Error(\"Invaid ctx argument can't happen\")\n }\n}\n\nexport class AccountContext extends EthContext {\n // constructor(chainId: number, address: string, block?: Block, log?: Log, trace?: Trace) {\n // super(chainId, address, new Date(0), block, log, trace)\n // }\n protected getContractName(): string {\n return 'account'\n }\n}\n\nexport class ContractContext<\n TContract extends BaseContract,\n TContractBoundView extends BoundContractView<TContract, ContractView<TContract>>\n> extends EthContext {\n contract: TContractBoundView\n contractName: string\n\n constructor(\n contractName: string,\n view: TContractBoundView,\n chainId: number,\n timestamp?: Date,\n block?: BlockParams,\n log?: LogParams,\n trace?: Trace,\n transaction?: Transaction,\n transactionReceipt?: TransactionReceipt\n ) {\n super(chainId, view.address, timestamp, block, log, trace, transaction, transactionReceipt)\n view.context = this\n this.contractName = contractName\n this.contract = view\n }\n\n protected getContractName(): string {\n return this.contractName\n }\n}\n\nexport class ContractView<TContract extends BaseContract> {\n protected contract: TContract\n\n constructor(contract: TContract) {\n this.contract = contract\n }\n\n get rawContract() {\n return this.contract\n }\n\n get provider() {\n if (this.contract.runner?.provider) {\n return this.contract.runner.provider\n }\n throw Error(\"Can't find provider for contract\" + this.contract.toString())\n }\n}\n\nexport class BoundContractView<TContract extends BaseContract, TContractView extends ContractView<TContract>> {\n protected view: TContractView\n readonly address: string\n // context will be set right after context creation (in context's constructor)\n context: ContractContext<TContract, BoundContractView<TContract, TContractView>>\n\n constructor(address: string, view: TContractView) {\n this.address = address\n this.view = view\n }\n\n get rawContract() {\n return this.view.rawContract\n }\n\n get provider() {\n return this.view.provider\n }\n\n get filters() {\n return this.view.rawContract.filters\n }\n}\n"]}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/eth/context.ts"],"names":[],"mappings":"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","sourcesContent":["import { BaseContract, Transaction, TransactionReceipt } from 'ethers'\nimport { LogParams, BlockParams } from 'ethers/providers'\n\nimport { RecordMetaData } from '@sentio/protos'\nimport { Trace } from './trace.js'\nimport { Labels, normalizeLabels } from '../core/index.js'\nimport { BaseContext } from '../core/base-context.js'\n\nexport abstract class EthContext extends BaseContext {\n chainId: number\n address: string\n private readonly log?: LogParams\n block?: BlockParams\n private readonly trace?: Trace\n blockNumber: bigint | number\n transactionHash?: string\n transaction?: Transaction\n transactionReceipt?: TransactionReceipt\n timestamp: Date\n\n constructor(\n chainId: number,\n address: string,\n timestamp?: Date,\n block?: BlockParams,\n log?: LogParams,\n trace?: Trace,\n transaction?: Transaction,\n transactionReceipt?: TransactionReceipt\n ) {\n super()\n this.chainId = chainId\n this.log = log\n this.block = block\n this.trace = trace\n this.address = address\n this.transaction = transaction\n this.transactionReceipt = transactionReceipt\n this.timestamp = timestamp || new Date(0)\n if (log) {\n this.blockNumber = log.blockNumber\n this.transactionHash = log.transactionHash\n } else if (block) {\n this.blockNumber = block.number\n } else if (trace) {\n this.blockNumber = trace.blockNumber\n this.transactionHash = trace.transactionHash\n }\n }\n\n protected abstract getContractName(): string\n\n getMetaData(name: string, labels: Labels): RecordMetaData {\n if (this.log) {\n return {\n address: this.address,\n contractName: this.getContractName(),\n blockNumber: BigInt(this.blockNumber),\n transactionIndex: this.log.transactionIndex,\n transactionHash: this.transactionHash || '',\n logIndex: this.log.index,\n chainId: this.chainId.toString(),\n name: name,\n labels: normalizeLabels(labels),\n }\n }\n if (this.block) {\n return {\n address: this.address,\n contractName: this.getContractName(),\n blockNumber: BigInt(this.blockNumber),\n transactionIndex: -1,\n transactionHash: '',\n logIndex: -1,\n chainId: this.chainId.toString(),\n name: name,\n labels: normalizeLabels(labels),\n }\n }\n if (this.trace) {\n return {\n address: this.address,\n contractName: this.getContractName(),\n blockNumber: BigInt(this.blockNumber),\n transactionIndex: this.trace.transactionPosition,\n transactionHash: this.transactionHash || '',\n logIndex: -1,\n chainId: this.chainId.toString(),\n name: name,\n labels: normalizeLabels(labels),\n }\n }\n throw new Error(\"Invaid ctx argument can't happen\")\n }\n}\n\nexport class AccountContext extends EthContext {\n // constructor(chainId: number, address: string, block?: Block, log?: Log, trace?: Trace) {\n // super(chainId, address, new Date(0), block, log, trace)\n // }\n protected getContractName(): string {\n return 'account'\n }\n}\n\nexport class ContractContext<\n TContract extends BaseContract,\n TContractBoundView extends BoundContractView<TContract, ContractView<TContract>>\n> extends EthContext {\n contract: TContractBoundView\n contractName: string\n\n constructor(\n contractName: string,\n view: TContractBoundView,\n chainId: number,\n timestamp?: Date,\n block?: BlockParams,\n log?: LogParams,\n trace?: Trace,\n transaction?: Transaction,\n transactionReceipt?: TransactionReceipt\n ) {\n super(chainId, view.address, timestamp, block, log, trace, transaction, transactionReceipt)\n view.context = this\n this.contractName = contractName\n this.contract = view\n }\n\n protected getContractName(): string {\n return this.contractName\n }\n}\n\nexport class ContractView<TContract extends BaseContract> {\n protected contract: TContract\n\n constructor(contract: TContract) {\n this.contract = contract\n }\n\n get rawContract() {\n return this.contract\n }\n\n get provider() {\n if (this.contract.runner?.provider) {\n return this.contract.runner.provider\n }\n throw Error(\"Can't find provider for contract\" + this.contract.toString())\n }\n}\n\nexport class BoundContractView<TContract extends BaseContract, TContractView extends ContractView<TContract>> {\n protected view: TContractView\n readonly address: string\n // context will be set right after context creation (in context's constructor)\n context: ContractContext<TContract, BoundContractView<TContract, TContractView>>\n\n constructor(address: string, view: TContractView) {\n this.address = address\n this.view = view\n }\n\n get rawContract() {\n return this.view.rawContract\n }\n\n get provider() {\n return this.view.provider\n }\n\n get filters() {\n return this.view.rawContract.filters\n }\n}\n"]}
@@ -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';
package/lib/eth/index.js CHANGED
@@ -3,7 +3,6 @@ export { GenericProcessor } from './generic-processor.js';
3
3
  export { BaseProcessorTemplate } from './base-processor-template.js';
4
4
  export { getProvider, DummyProvider } from './provider.js';
5
5
  export * from './eth.js';
6
- export * from './error.js';
7
6
  export { BindOptions, AccountBindOptions } from './bind-options.js';
8
7
  export { getProcessor, addProcessor, getContractByABI, addContractByABI } from './binds.js';
9
8
  export { ContractContext, ContractView, BoundContractView } from './context.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/eth/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAA;AACpE,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAE1D,cAAc,UAAU,CAAA;AACxB,cAAc,YAAY,CAAA;AAC1B,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AACnE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAC3F,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAE/E,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA","sourcesContent":["export { BaseProcessor } from './base-processor.js'\nexport { GenericProcessor } from './generic-processor.js'\nexport { BaseProcessorTemplate } from './base-processor-template.js'\nexport { getProvider, DummyProvider } from './provider.js'\nexport type { TypedCallTrace, Trace } from './trace.js'\nexport * from './eth.js'\nexport * from './error.js'\nexport { BindOptions, AccountBindOptions } from './bind-options.js'\nexport { getProcessor, addProcessor, getContractByABI, addContractByABI } from './binds.js'\nexport { ContractContext, ContractView, BoundContractView } from './context.js'\n\nexport { EthPlugin } from './eth-plugin.js'\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/eth/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAA;AACpE,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAE1D,cAAc,UAAU,CAAA;AACxB,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AACnE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAC3F,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAE/E,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA","sourcesContent":["export { BaseProcessor } from './base-processor.js'\nexport { GenericProcessor } from './generic-processor.js'\nexport { BaseProcessorTemplate } from './base-processor-template.js'\nexport { getProvider, DummyProvider } from './provider.js'\nexport type { TypedCallTrace, Trace } from './trace.js'\nexport * from './eth.js'\nexport { BindOptions, AccountBindOptions } from './bind-options.js'\nexport { getProcessor, addProcessor, getContractByABI, addContractByABI } from './binds.js'\nexport { ContractContext, ContractView, BoundContractView } from './context.js'\n\nexport { EthPlugin } from './eth-plugin.js'\n"]}
@@ -1,4 +1,4 @@
1
- import { NeutralMoveFunction, NeutralMoveModule, NeutralMoveStruct } from './neutral-models.js';
1
+ import { InternalMoveFunction, InternalMoveModule, InternalMoveStruct } from './internal-models.js';
2
2
  import { AccountRegister } from './account.js';
3
3
  import { TypeDescriptor } from './types.js';
4
4
  interface OutputFile {
@@ -17,28 +17,28 @@ export declare abstract class AbstractCodegen<ModuleTypes, NetworkType> {
17
17
  PREFIX: string;
18
18
  STRUCT_FIELD_NAME: string;
19
19
  abstract fetchModules(account: string, network: NetworkType): Promise<ModuleTypes>;
20
- abstract toNeutral(modules: ModuleTypes): NeutralMoveModule[];
21
- abstract getEventStructs(module: NeutralMoveModule): Map<string, NeutralMoveStruct>;
20
+ abstract toInternalModules(modules: ModuleTypes): InternalMoveModule[];
21
+ abstract getEventStructs(module: InternalMoveModule): Map<string, InternalMoveStruct>;
22
22
  abstract getMeaningfulFunctionParams(params: TypeDescriptor[]): TypeDescriptor[];
23
23
  readModulesFile(fullPath: string): any;
24
24
  generate(srcDir: string, outputDir: string): Promise<void>;
25
25
  generateForNetwork(srcDir: string, outputDir: string, network: NetworkType): Promise<void>;
26
26
  generateNetworkOption(network: NetworkType): "TEST_NET" | "MAIN_NET";
27
- generateModule(module: NeutralMoveModule, network: NetworkType): string;
28
- generateStructs(module: NeutralMoveModule, struct: NeutralMoveStruct, events: Set<string>): string;
29
- generateFunctionTypeParameters(func: NeutralMoveFunction): string;
30
- generateStructTypeParameters(struct: NeutralMoveStruct, useAny?: boolean): string;
31
- generateCallArgsStructs(module: NeutralMoveModule, func: NeutralMoveFunction): string | undefined;
32
- generateOnEntryFunctions(module: NeutralMoveModule, func: NeutralMoveFunction): string;
33
- generateOnEvents(module: NeutralMoveModule, struct: NeutralMoveStruct): string;
27
+ generateModule(module: InternalMoveModule, network: NetworkType): string;
28
+ generateStructs(module: InternalMoveModule, struct: InternalMoveStruct, events: Set<string>): string;
29
+ generateFunctionTypeParameters(func: InternalMoveFunction): string;
30
+ generateStructTypeParameters(struct: InternalMoveStruct, useAny?: boolean): string;
31
+ generateCallArgsStructs(module: InternalMoveModule, func: InternalMoveFunction): string | undefined;
32
+ generateOnEntryFunctions(module: InternalMoveModule, func: InternalMoveFunction): string;
33
+ generateOnEvents(module: InternalMoveModule, struct: InternalMoveStruct): string;
34
34
  }
35
35
  export declare class AccountCodegen<ModuleType, NetworkType> {
36
- modules: NeutralMoveModule[];
36
+ modules: InternalMoveModule[];
37
37
  config: Config<NetworkType>;
38
38
  abi: ModuleType;
39
39
  loader: AccountRegister;
40
40
  moduleGen: AbstractCodegen<ModuleType, NetworkType>;
41
- constructor(moduleGen: AbstractCodegen<ModuleType, NetworkType>, loader: AccountRegister, abi: ModuleType, modules: NeutralMoveModule[], config: Config<NetworkType>);
41
+ constructor(moduleGen: AbstractCodegen<ModuleType, NetworkType>, loader: AccountRegister, abi: ModuleType, modules: InternalMoveModule[], config: Config<NetworkType>);
42
42
  generate(): OutputFile[];
43
43
  }
44
44
  export {};
@@ -5,7 +5,7 @@ import chalk from 'chalk';
5
5
  import { format } from 'prettier';
6
6
  import { isFrameworkAccount, moduleQname, normalizeToJSName, SPLITTER } from './utils.js';
7
7
  import { generateTypeForDescriptor } from './ts-type.js';
8
- import { camelCase } from 'lodash-es';
8
+ import { camelCase, upperFirst } from 'lodash-es';
9
9
  export class AbstractCodegen {
10
10
  TEST_NET;
11
11
  MAIN_NET;
@@ -42,7 +42,7 @@ export class AbstractCodegen {
42
42
  }
43
43
  const fullPath = path.resolve(srcDir, file);
44
44
  const abi = this.readModulesFile(fullPath);
45
- const modules = this.toNeutral(abi);
45
+ const modules = this.toInternalModules(abi);
46
46
  for (const module of modules) {
47
47
  loader.register(module, path.basename(file, '.json'));
48
48
  }
@@ -58,7 +58,7 @@ export class AbstractCodegen {
58
58
  console.log(`download dependent module for account ${account} at ${network}`);
59
59
  try {
60
60
  const rawModules = await this.fetchModules(account, network);
61
- const modules = this.toNeutral(rawModules);
61
+ const modules = this.toInternalModules(rawModules);
62
62
  fs.writeFileSync(path.resolve(srcDir, account + '.json'), JSON.stringify(rawModules, null, '\t'));
63
63
  for (const module of modules) {
64
64
  loader.register(module, account);
@@ -100,7 +100,7 @@ export class AbstractCodegen {
100
100
  return 'MAIN_NET';
101
101
  }
102
102
  generateModule(module, network) {
103
- const functions = module.exposed_functions
103
+ const functions = module.exposedFunctions
104
104
  .map((f) => this.generateOnEntryFunctions(module, f))
105
105
  .filter((s) => s !== '');
106
106
  const eventStructs = this.getEventStructs(module);
@@ -109,7 +109,7 @@ export class AbstractCodegen {
109
109
  .map((e) => this.generateOnEvents(module, e))
110
110
  .filter((s) => s !== '');
111
111
  const structs = module.structs.map((s) => this.generateStructs(module, s, eventTypes));
112
- const callArgs = module.exposed_functions.map((f) => this.generateCallArgsStructs(module, f));
112
+ const callArgs = module.exposedFunctions.map((f) => this.generateCallArgsStructs(module, f));
113
113
  const moduleName = normalizeToJSName(module.name);
114
114
  let processor = '';
115
115
  if (functions.length > 0 || events.length > 0) {
@@ -120,15 +120,15 @@ export class AbstractCodegen {
120
120
  }
121
121
  static DEFAULT_OPTIONS: ${this.PREFIX}BindOptions = {
122
122
  address: "${module.address}",
123
- network: ${this.PREFIX}Network.${this.generateNetworkOption(network)}
123
+ network: ${this.PREFIX}Network.${this.generateNetworkOption(network)}
124
124
  }
125
125
 
126
126
  static bind(options: Partial<${this.PREFIX}BindOptions> = {}): ${moduleName} {
127
127
  return new ${moduleName}({ ...${moduleName}.DEFAULT_OPTIONS, ...options })
128
128
  }
129
-
129
+
130
130
  ${functions.join('\n')}
131
-
131
+
132
132
  ${events.join('\n')}
133
133
  }
134
134
  `;
@@ -138,7 +138,7 @@ export class AbstractCodegen {
138
138
 
139
139
  export namespace ${moduleName} {
140
140
  ${structs.join('\n')}
141
-
141
+
142
142
  ${callArgs.join('\n')}
143
143
  }
144
144
  `;
@@ -154,26 +154,26 @@ export class AbstractCodegen {
154
154
  let eventPayload = '';
155
155
  if (events.has(moduleQname(module) + SPLITTER + struct.name)) {
156
156
  eventPayload = `
157
- export interface ${structName}Instance extends
157
+ export interface ${structName}Instance extends
158
158
  TypedEventInstance<${structName}${genericStringAny}> {
159
159
  ${this.STRUCT_FIELD_NAME}_decoded: ${structName}${genericStringAny}
160
- type_arguments: [${struct.generic_type_params.map((_) => 'string').join(', ')}]
160
+ type_arguments: [${struct.typeParams.map((_) => 'string').join(', ')}]
161
161
  }
162
162
  `;
163
163
  }
164
164
  return `
165
165
  export class ${structName}${genericString} {
166
166
  static TYPE_QNAME = '${module.address}::${module.name}::${struct.name}'
167
- ${fields.join('\n')}
167
+ ${fields.join('\n')}
168
168
  }
169
-
169
+
170
170
  ${eventPayload}
171
171
  `;
172
172
  }
173
173
  generateFunctionTypeParameters(func) {
174
174
  let genericString = '';
175
- if (func.generic_type_params && func.generic_type_params.length > 0) {
176
- const params = func.generic_type_params
175
+ if (func.typeParams && func.typeParams.length > 0) {
176
+ const params = func.typeParams
177
177
  .map((v, idx) => {
178
178
  return `T${idx}=any`;
179
179
  })
@@ -184,8 +184,8 @@ export class AbstractCodegen {
184
184
  }
185
185
  generateStructTypeParameters(struct, useAny = false) {
186
186
  let genericString = '';
187
- if (struct.generic_type_params && struct.generic_type_params.length > 0) {
188
- const params = struct.generic_type_params
187
+ if (struct.typeParams && struct.typeParams.length > 0) {
188
+ const params = struct.typeParams
189
189
  .map((v, idx) => {
190
190
  return useAny ? 'any' : 'T' + idx;
191
191
  })
@@ -195,29 +195,29 @@ export class AbstractCodegen {
195
195
  return genericString;
196
196
  }
197
197
  generateCallArgsStructs(module, func) {
198
- if (!func.is_entry) {
198
+ if (!func.isEntry) {
199
199
  return;
200
200
  }
201
201
  const fields = this.getMeaningfulFunctionParams(func.params).map((param) => {
202
202
  return generateTypeForDescriptor(param, module.address, this.ADDRESS_TYPE);
203
203
  });
204
- const camelFuncName = capitalizeFirstChar(camelCase(func.name));
204
+ const camelFuncName = upperFirst(camelCase(func.name));
205
205
  const genericString = this.generateFunctionTypeParameters(func);
206
206
  return `
207
207
  export interface ${camelFuncName}Payload${genericString}
208
208
  extends TypedEntryFunctionPayload<[${fields.join(',')}]> {
209
209
  arguments_decoded: [${fields.join(',')}],
210
- type_arguments: [${func.generic_type_params.map((_) => 'string').join(', ')}]
210
+ type_arguments: [${func.typeParams.map((_) => 'string').join(', ')}]
211
211
  }
212
212
  `;
213
213
  }
214
214
  generateOnEntryFunctions(module, func) {
215
- if (!func.is_entry) {
215
+ if (!func.isEntry) {
216
216
  return '';
217
217
  }
218
218
  // const genericString = generateFunctionTypeParameters(func)
219
219
  const moduleName = normalizeToJSName(module.name);
220
- const camelFuncName = capitalizeFirstChar(camelCase(func.name));
220
+ const camelFuncName = upperFirst(camelCase(func.name));
221
221
  const source = `
222
222
  onEntry${camelFuncName}(func: (call: ${moduleName}.${camelFuncName}Payload, ctx: ${this.PREFIX}Context) => void, filter?: CallFilter, fetchConfig?: MoveFetchConfig): ${moduleName} {
223
223
  this.onEntryFunctionCall(func, {
@@ -276,8 +276,8 @@ export class AccountCodegen {
276
276
  }
277
277
  const imports = `
278
278
  import { CallFilter } from "@sentio/sdk/move"
279
- import {
280
- MoveCoder, defaultMoveCoder, ${this.moduleGen.PREFIX}BindOptions, ${this.moduleGen.PREFIX}BaseProcessor,
279
+ import {
280
+ MoveCoder, defaultMoveCoder, ${this.moduleGen.PREFIX}BindOptions, ${this.moduleGen.PREFIX}BaseProcessor,
281
281
  TypedEventInstance, ${this.moduleGen.PREFIX}Network, TypedEntryFunctionPayload,
282
282
  ${this.moduleGen.PREFIX}Context } from "@sentio/sdk/${this.moduleGen.PREFIX.toLowerCase()}"
283
283
  import { MoveFetchConfig } from "@sentio/protos"
@@ -304,15 +304,15 @@ export class AccountCodegen {
304
304
  /* Autogenerated file. Do not edit manually. */
305
305
  /* tslint:disable */
306
306
  /* eslint-disable */
307
-
307
+
308
308
  /* Generated modules for account ${address} */
309
-
309
+
310
310
  ${imports}
311
-
311
+
312
312
  ${moduleImports.join('\n')}
313
-
313
+
314
314
  ${this.modules.map((m) => this.moduleGen.generateModule(m, this.config.network)).join('\n')}
315
-
315
+
316
316
  const MODULES = JSON.parse('${JSON.stringify(this.abi)}')
317
317
 
318
318
  export function loadAllTypes(coder: MoveCoder) {
@@ -321,7 +321,7 @@ export class AccountCodegen {
321
321
  coder.load(m as any)
322
322
  }
323
323
  }
324
-
324
+
325
325
  loadAllTypes(defaultMoveCoder())
326
326
  `; // source
327
327
  return [
@@ -332,10 +332,4 @@ export class AccountCodegen {
332
332
  ];
333
333
  }
334
334
  }
335
- function capitalizeFirstChar(input) {
336
- if (!input) {
337
- return input;
338
- }
339
- return input[0].toUpperCase() + (input.length > 1 ? input.substring(1) : '');
340
- }
341
335
  //# sourceMappingURL=abstract-codegen.js.map