@chainlink/ccip-sdk 0.0.0 → 0.90.0

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 (319) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +109 -0
  3. package/dist/aptos/exec.d.ts +18 -0
  4. package/dist/aptos/exec.d.ts.map +1 -0
  5. package/dist/aptos/exec.js +55 -0
  6. package/dist/aptos/exec.js.map +1 -0
  7. package/dist/aptos/hasher.d.ts +11 -0
  8. package/dist/aptos/hasher.d.ts.map +1 -0
  9. package/dist/aptos/hasher.js +62 -0
  10. package/dist/aptos/hasher.js.map +1 -0
  11. package/dist/aptos/index.d.ts +92 -0
  12. package/dist/aptos/index.d.ts.map +1 -0
  13. package/dist/aptos/index.js +482 -0
  14. package/dist/aptos/index.js.map +1 -0
  15. package/dist/aptos/logs.d.ts +9 -0
  16. package/dist/aptos/logs.d.ts.map +1 -0
  17. package/dist/aptos/logs.js +167 -0
  18. package/dist/aptos/logs.js.map +1 -0
  19. package/dist/aptos/send.d.ts +11 -0
  20. package/dist/aptos/send.d.ts.map +1 -0
  21. package/dist/aptos/send.js +78 -0
  22. package/dist/aptos/send.js.map +1 -0
  23. package/dist/aptos/token.d.ts +4 -0
  24. package/dist/aptos/token.d.ts.map +1 -0
  25. package/dist/aptos/token.js +134 -0
  26. package/dist/aptos/token.js.map +1 -0
  27. package/dist/aptos/types.d.ts +78 -0
  28. package/dist/aptos/types.d.ts.map +1 -0
  29. package/dist/aptos/types.js +60 -0
  30. package/dist/aptos/types.js.map +1 -0
  31. package/dist/aptos/utils.d.ts +12 -0
  32. package/dist/aptos/utils.d.ts.map +1 -0
  33. package/dist/aptos/utils.js +15 -0
  34. package/dist/aptos/utils.js.map +1 -0
  35. package/dist/chain.d.ts +344 -0
  36. package/dist/chain.d.ts.map +1 -0
  37. package/dist/chain.js +41 -0
  38. package/dist/chain.js.map +1 -0
  39. package/dist/commits.d.ts +25 -0
  40. package/dist/commits.d.ts.map +1 -0
  41. package/dist/commits.js +29 -0
  42. package/dist/commits.js.map +1 -0
  43. package/dist/evm/abi/BurnMintERC677Token.d.ts +602 -0
  44. package/dist/evm/abi/BurnMintERC677Token.d.ts.map +1 -0
  45. package/dist/evm/abi/BurnMintERC677Token.js +488 -0
  46. package/dist/evm/abi/BurnMintERC677Token.js.map +1 -0
  47. package/dist/evm/abi/CommitStore_1_2.d.ts +688 -0
  48. package/dist/evm/abi/CommitStore_1_2.d.ts.map +1 -0
  49. package/dist/evm/abi/CommitStore_1_2.js +638 -0
  50. package/dist/evm/abi/CommitStore_1_2.js.map +1 -0
  51. package/dist/evm/abi/CommitStore_1_5.d.ts +708 -0
  52. package/dist/evm/abi/CommitStore_1_5.d.ts.map +1 -0
  53. package/dist/evm/abi/CommitStore_1_5.js +675 -0
  54. package/dist/evm/abi/CommitStore_1_5.js.map +1 -0
  55. package/dist/evm/abi/FeeQuoter_1_6.d.ts +1770 -0
  56. package/dist/evm/abi/FeeQuoter_1_6.d.ts.map +1 -0
  57. package/dist/evm/abi/FeeQuoter_1_6.js +1904 -0
  58. package/dist/evm/abi/FeeQuoter_1_6.js.map +1 -0
  59. package/dist/evm/abi/LockReleaseTokenPool_1_5.d.ts +1116 -0
  60. package/dist/evm/abi/LockReleaseTokenPool_1_5.d.ts.map +1 -0
  61. package/dist/evm/abi/LockReleaseTokenPool_1_5.js +1096 -0
  62. package/dist/evm/abi/LockReleaseTokenPool_1_5.js.map +1 -0
  63. package/dist/evm/abi/LockReleaseTokenPool_1_5_1.d.ts +1306 -0
  64. package/dist/evm/abi/LockReleaseTokenPool_1_5_1.d.ts.map +1 -0
  65. package/dist/evm/abi/LockReleaseTokenPool_1_5_1.js +1278 -0
  66. package/dist/evm/abi/LockReleaseTokenPool_1_5_1.js.map +1 -0
  67. package/dist/evm/abi/LockReleaseTokenPool_1_6_1.d.ts +1290 -0
  68. package/dist/evm/abi/LockReleaseTokenPool_1_6_1.d.ts.map +1 -0
  69. package/dist/evm/abi/LockReleaseTokenPool_1_6_1.js +1288 -0
  70. package/dist/evm/abi/LockReleaseTokenPool_1_6_1.js.map +1 -0
  71. package/dist/evm/abi/OffRamp_1_2.d.ts +1217 -0
  72. package/dist/evm/abi/OffRamp_1_2.d.ts.map +1 -0
  73. package/dist/evm/abi/OffRamp_1_2.js +1204 -0
  74. package/dist/evm/abi/OffRamp_1_2.js.map +1 -0
  75. package/dist/evm/abi/OffRamp_1_5.d.ts +1271 -0
  76. package/dist/evm/abi/OffRamp_1_5.d.ts.map +1 -0
  77. package/dist/evm/abi/OffRamp_1_5.js +1273 -0
  78. package/dist/evm/abi/OffRamp_1_5.js.map +1 -0
  79. package/dist/evm/abi/OffRamp_1_6.d.ts +1472 -0
  80. package/dist/evm/abi/OffRamp_1_6.d.ts.map +1 -0
  81. package/dist/evm/abi/OffRamp_1_6.js +1529 -0
  82. package/dist/evm/abi/OffRamp_1_6.js.map +1 -0
  83. package/dist/evm/abi/OnRamp_1_2.d.ts +1391 -0
  84. package/dist/evm/abi/OnRamp_1_2.d.ts.map +1 -0
  85. package/dist/evm/abi/OnRamp_1_2.js +1343 -0
  86. package/dist/evm/abi/OnRamp_1_2.js.map +1 -0
  87. package/dist/evm/abi/OnRamp_1_5.d.ts +1443 -0
  88. package/dist/evm/abi/OnRamp_1_5.d.ts.map +1 -0
  89. package/dist/evm/abi/OnRamp_1_5.js +1427 -0
  90. package/dist/evm/abi/OnRamp_1_5.js.map +1 -0
  91. package/dist/evm/abi/OnRamp_1_6.d.ts +796 -0
  92. package/dist/evm/abi/OnRamp_1_6.d.ts.map +1 -0
  93. package/dist/evm/abi/OnRamp_1_6.js +880 -0
  94. package/dist/evm/abi/OnRamp_1_6.js.map +1 -0
  95. package/dist/evm/abi/Router.d.ts +541 -0
  96. package/dist/evm/abi/Router.d.ts.map +1 -0
  97. package/dist/evm/abi/Router.js +508 -0
  98. package/dist/evm/abi/Router.js.map +1 -0
  99. package/dist/evm/abi/TokenAdminRegistry_1_5.d.ts +373 -0
  100. package/dist/evm/abi/TokenAdminRegistry_1_5.d.ts.map +1 -0
  101. package/dist/evm/abi/TokenAdminRegistry_1_5.js +333 -0
  102. package/dist/evm/abi/TokenAdminRegistry_1_5.js.map +1 -0
  103. package/dist/evm/const.d.ts +27 -0
  104. package/dist/evm/const.d.ts.map +1 -0
  105. package/dist/evm/const.js +63 -0
  106. package/dist/evm/const.js.map +1 -0
  107. package/dist/evm/errors.d.ts +36 -0
  108. package/dist/evm/errors.d.ts.map +1 -0
  109. package/dist/evm/errors.js +192 -0
  110. package/dist/evm/errors.js.map +1 -0
  111. package/dist/evm/hasher.d.ts +5 -0
  112. package/dist/evm/hasher.d.ts.map +1 -0
  113. package/dist/evm/hasher.js +116 -0
  114. package/dist/evm/hasher.js.map +1 -0
  115. package/dist/evm/index.d.ts +121 -0
  116. package/dist/evm/index.d.ts.map +1 -0
  117. package/dist/evm/index.js +904 -0
  118. package/dist/evm/index.js.map +1 -0
  119. package/dist/evm/messages.d.ts +35 -0
  120. package/dist/evm/messages.d.ts.map +1 -0
  121. package/dist/evm/messages.js +11 -0
  122. package/dist/evm/messages.js.map +1 -0
  123. package/dist/evm/offchain.d.ts +16 -0
  124. package/dist/evm/offchain.d.ts.map +1 -0
  125. package/dist/evm/offchain.js +142 -0
  126. package/dist/evm/offchain.js.map +1 -0
  127. package/dist/execution.d.ts +80 -0
  128. package/dist/execution.d.ts.map +1 -0
  129. package/dist/execution.js +91 -0
  130. package/dist/execution.js.map +1 -0
  131. package/dist/extra-args.d.ts +45 -0
  132. package/dist/extra-args.d.ts.map +1 -0
  133. package/dist/extra-args.js +44 -0
  134. package/dist/extra-args.js.map +1 -0
  135. package/dist/gas.d.ts +27 -0
  136. package/dist/gas.d.ts.map +1 -0
  137. package/dist/gas.js +80 -0
  138. package/dist/gas.js.map +1 -0
  139. package/dist/hasher/common.d.ts +12 -0
  140. package/dist/hasher/common.d.ts.map +1 -0
  141. package/dist/hasher/common.js +19 -0
  142. package/dist/hasher/common.js.map +1 -0
  143. package/dist/hasher/hasher.d.ts +4 -0
  144. package/dist/hasher/hasher.d.ts.map +1 -0
  145. package/dist/hasher/hasher.js +11 -0
  146. package/dist/hasher/hasher.js.map +1 -0
  147. package/dist/hasher/index.d.ts +4 -0
  148. package/dist/hasher/index.d.ts.map +1 -0
  149. package/dist/hasher/index.js +4 -0
  150. package/dist/hasher/index.js.map +1 -0
  151. package/dist/hasher/merklemulti.d.ts +58 -0
  152. package/dist/hasher/merklemulti.d.ts.map +1 -0
  153. package/dist/hasher/merklemulti.js +257 -0
  154. package/dist/hasher/merklemulti.js.map +1 -0
  155. package/dist/index.d.ts +13 -0
  156. package/dist/index.d.ts.map +1 -0
  157. package/dist/index.js +13 -0
  158. package/dist/index.js.map +1 -0
  159. package/dist/offchain.d.ts +20 -0
  160. package/dist/offchain.d.ts.map +1 -0
  161. package/dist/offchain.js +59 -0
  162. package/dist/offchain.js.map +1 -0
  163. package/dist/requests.d.ts +48 -0
  164. package/dist/requests.d.ts.map +1 -0
  165. package/dist/requests.js +286 -0
  166. package/dist/requests.js.map +1 -0
  167. package/dist/selectors.d.ts +9 -0
  168. package/dist/selectors.d.ts.map +1 -0
  169. package/dist/selectors.js +1330 -0
  170. package/dist/selectors.js.map +1 -0
  171. package/dist/solana/cleanup.d.ts +15 -0
  172. package/dist/solana/cleanup.d.ts.map +1 -0
  173. package/dist/solana/cleanup.js +159 -0
  174. package/dist/solana/cleanup.js.map +1 -0
  175. package/dist/solana/exec.d.ts +15 -0
  176. package/dist/solana/exec.d.ts.map +1 -0
  177. package/dist/solana/exec.js +417 -0
  178. package/dist/solana/exec.js.map +1 -0
  179. package/dist/solana/hasher.d.ts +4 -0
  180. package/dist/solana/hasher.d.ts.map +1 -0
  181. package/dist/solana/hasher.js +81 -0
  182. package/dist/solana/hasher.js.map +1 -0
  183. package/dist/solana/idl/1.6.0/BASE_TOKEN_POOL.d.ts +866 -0
  184. package/dist/solana/idl/1.6.0/BASE_TOKEN_POOL.d.ts.map +1 -0
  185. package/dist/solana/idl/1.6.0/BASE_TOKEN_POOL.js +866 -0
  186. package/dist/solana/idl/1.6.0/BASE_TOKEN_POOL.js.map +1 -0
  187. package/dist/solana/idl/1.6.0/BURN_MINT_TOKEN_POOL.d.ts +949 -0
  188. package/dist/solana/idl/1.6.0/BURN_MINT_TOKEN_POOL.d.ts.map +1 -0
  189. package/dist/solana/idl/1.6.0/BURN_MINT_TOKEN_POOL.js +949 -0
  190. package/dist/solana/idl/1.6.0/BURN_MINT_TOKEN_POOL.js.map +1 -0
  191. package/dist/solana/idl/1.6.0/CCIP_CCTP_TOKEN_POOL.d.ts +1374 -0
  192. package/dist/solana/idl/1.6.0/CCIP_CCTP_TOKEN_POOL.d.ts.map +1 -0
  193. package/dist/solana/idl/1.6.0/CCIP_CCTP_TOKEN_POOL.js +1374 -0
  194. package/dist/solana/idl/1.6.0/CCIP_CCTP_TOKEN_POOL.js.map +1 -0
  195. package/dist/solana/idl/1.6.0/CCIP_COMMON.d.ts +104 -0
  196. package/dist/solana/idl/1.6.0/CCIP_COMMON.d.ts.map +1 -0
  197. package/dist/solana/idl/1.6.0/CCIP_COMMON.js +104 -0
  198. package/dist/solana/idl/1.6.0/CCIP_COMMON.js.map +1 -0
  199. package/dist/solana/idl/1.6.0/CCIP_OFFRAMP.d.ts +2746 -0
  200. package/dist/solana/idl/1.6.0/CCIP_OFFRAMP.d.ts.map +1 -0
  201. package/dist/solana/idl/1.6.0/CCIP_OFFRAMP.js +2746 -0
  202. package/dist/solana/idl/1.6.0/CCIP_OFFRAMP.js.map +1 -0
  203. package/dist/solana/idl/1.6.0/CCIP_ROUTER.d.ts +2332 -0
  204. package/dist/solana/idl/1.6.0/CCIP_ROUTER.d.ts.map +1 -0
  205. package/dist/solana/idl/1.6.0/CCIP_ROUTER.js +2332 -0
  206. package/dist/solana/idl/1.6.0/CCIP_ROUTER.js.map +1 -0
  207. package/dist/solana/index.d.ts +205 -0
  208. package/dist/solana/index.d.ts.map +1 -0
  209. package/dist/solana/index.js +1085 -0
  210. package/dist/solana/index.js.map +1 -0
  211. package/dist/solana/offchain.d.ts +31 -0
  212. package/dist/solana/offchain.d.ts.map +1 -0
  213. package/dist/solana/offchain.js +152 -0
  214. package/dist/solana/offchain.js.map +1 -0
  215. package/dist/solana/patchBorsh.d.ts +2 -0
  216. package/dist/solana/patchBorsh.d.ts.map +1 -0
  217. package/dist/solana/patchBorsh.js +60 -0
  218. package/dist/solana/patchBorsh.js.map +1 -0
  219. package/dist/solana/send.d.ts +14 -0
  220. package/dist/solana/send.d.ts.map +1 -0
  221. package/dist/solana/send.js +272 -0
  222. package/dist/solana/send.js.map +1 -0
  223. package/dist/solana/types.d.ts +4 -0
  224. package/dist/solana/types.d.ts.map +1 -0
  225. package/dist/solana/types.js +2 -0
  226. package/dist/solana/types.js.map +1 -0
  227. package/dist/solana/utils.d.ts +58 -0
  228. package/dist/solana/utils.d.ts.map +1 -0
  229. package/dist/solana/utils.js +211 -0
  230. package/dist/solana/utils.js.map +1 -0
  231. package/dist/sui/hasher.d.ts +12 -0
  232. package/dist/sui/hasher.d.ts.map +1 -0
  233. package/dist/sui/hasher.js +63 -0
  234. package/dist/sui/hasher.js.map +1 -0
  235. package/dist/sui/index.d.ts +72 -0
  236. package/dist/sui/index.d.ts.map +1 -0
  237. package/dist/sui/index.js +128 -0
  238. package/dist/sui/index.js.map +1 -0
  239. package/dist/sui/types.d.ts +17 -0
  240. package/dist/sui/types.d.ts.map +1 -0
  241. package/dist/sui/types.js +17 -0
  242. package/dist/sui/types.js.map +1 -0
  243. package/dist/supported-chains.d.ts +5 -0
  244. package/dist/supported-chains.d.ts.map +1 -0
  245. package/dist/supported-chains.js +3 -0
  246. package/dist/supported-chains.js.map +1 -0
  247. package/dist/types.d.ts +118 -0
  248. package/dist/types.d.ts.map +1 -0
  249. package/dist/types.js +11 -0
  250. package/dist/types.js.map +1 -0
  251. package/dist/utils.d.ts +117 -0
  252. package/dist/utils.d.ts.map +1 -0
  253. package/dist/utils.js +336 -0
  254. package/dist/utils.js.map +1 -0
  255. package/package.json +66 -8
  256. package/src/aptos/exec.ts +69 -0
  257. package/src/aptos/hasher.ts +92 -0
  258. package/src/aptos/index.ts +660 -0
  259. package/src/aptos/logs.ts +210 -0
  260. package/src/aptos/send.ts +120 -0
  261. package/src/aptos/token.ts +150 -0
  262. package/src/aptos/types.ts +85 -0
  263. package/src/aptos/utils.ts +24 -0
  264. package/src/chain.ts +398 -0
  265. package/src/commits.ts +44 -0
  266. package/src/evm/abi/BurnMintERC677Token.ts +487 -0
  267. package/src/evm/abi/CommitStore_1_2.ts +637 -0
  268. package/src/evm/abi/CommitStore_1_5.ts +674 -0
  269. package/src/evm/abi/FeeQuoter_1_6.ts +1903 -0
  270. package/src/evm/abi/LockReleaseTokenPool_1_5.ts +1095 -0
  271. package/src/evm/abi/LockReleaseTokenPool_1_5_1.ts +1277 -0
  272. package/src/evm/abi/LockReleaseTokenPool_1_6_1.ts +1287 -0
  273. package/src/evm/abi/OffRamp_1_2.ts +1203 -0
  274. package/src/evm/abi/OffRamp_1_5.ts +1272 -0
  275. package/src/evm/abi/OffRamp_1_6.ts +1528 -0
  276. package/src/evm/abi/OnRamp_1_2.ts +1342 -0
  277. package/src/evm/abi/OnRamp_1_5.ts +1426 -0
  278. package/src/evm/abi/OnRamp_1_6.ts +879 -0
  279. package/src/evm/abi/Router.ts +507 -0
  280. package/src/evm/abi/TokenAdminRegistry_1_5.ts +332 -0
  281. package/src/evm/const.ts +69 -0
  282. package/src/evm/errors.ts +212 -0
  283. package/src/evm/hasher.ts +166 -0
  284. package/src/evm/index.ts +1262 -0
  285. package/src/evm/messages.ts +73 -0
  286. package/src/evm/offchain.ts +189 -0
  287. package/src/execution.ts +131 -0
  288. package/src/extra-args.ts +71 -0
  289. package/src/gas.ts +135 -0
  290. package/src/hasher/common.ts +23 -0
  291. package/src/hasher/hasher.ts +12 -0
  292. package/src/hasher/index.ts +3 -0
  293. package/src/hasher/merklemulti.ts +309 -0
  294. package/src/index.ts +51 -0
  295. package/src/offchain.ts +86 -0
  296. package/src/requests.ts +339 -0
  297. package/src/selectors.ts +1340 -0
  298. package/src/solana/cleanup.ts +216 -0
  299. package/src/solana/exec.ts +645 -0
  300. package/src/solana/hasher.ts +104 -0
  301. package/src/solana/idl/1.6.0/BASE_TOKEN_POOL.ts +1734 -0
  302. package/src/solana/idl/1.6.0/BURN_MINT_TOKEN_POOL.ts +1900 -0
  303. package/src/solana/idl/1.6.0/CCIP_CCTP_TOKEN_POOL.ts +2750 -0
  304. package/src/solana/idl/1.6.0/CCIP_COMMON.ts +210 -0
  305. package/src/solana/idl/1.6.0/CCIP_OFFRAMP.ts +5494 -0
  306. package/src/solana/idl/1.6.0/CCIP_ROUTER.ts +4671 -0
  307. package/src/solana/index.ts +1454 -0
  308. package/src/solana/offchain.ts +209 -0
  309. package/src/solana/patchBorsh.ts +67 -0
  310. package/src/solana/send.ts +436 -0
  311. package/src/solana/types.ts +6 -0
  312. package/src/solana/utils.ts +272 -0
  313. package/src/sui/hasher.ts +90 -0
  314. package/src/sui/index.ts +198 -0
  315. package/src/sui/types.ts +22 -0
  316. package/src/supported-chains.ts +4 -0
  317. package/src/types.ts +153 -0
  318. package/src/utils.ts +405 -0
  319. package/tsconfig.json +18 -0
@@ -0,0 +1,482 @@
1
+ import util from 'util';
2
+ import { Account, Aptos, AptosConfig, Ed25519PrivateKey, Network, TransactionResponseType, } from '@aptos-labs/ts-sdk';
3
+ import { concat, dataLength, dataSlice, decodeBase64, getBytes, hexlify, isBytesLike, isHexString, zeroPadValue, } from 'ethers';
4
+ import moize from 'moize';
5
+ import { ccipSend, getFee } from "./send.js";
6
+ import { Chain, ChainFamily, } from "../chain.js";
7
+ import { EVMExtraArgsV2Tag, SVMExtraArgsV1Tag, } from "../extra-args.js";
8
+ import { supportedChains } from "../supported-chains.js";
9
+ import { convertKeysToCamelCase, decodeAddress, decodeOnRampAddress, getAddressBytes, getDataBytes, networkInfo, parseTypeAndVersion, } from "../utils.js";
10
+ import { executeReport } from "./exec.js";
11
+ import { getAptosLeafHasher } from "./hasher.js";
12
+ import { getUserTxByVersion, getVersionTimestamp, streamAptosLogs } from "./logs.js";
13
+ import { getTokenInfo } from "./token.js";
14
+ import { EVMExtraArgsV2Codec, SVMExtraArgsV1Codec } from "./types.js";
15
+ import { decodeMessage } from "../requests.js";
16
+ export class AptosChain extends Chain {
17
+ static family = ChainFamily.Aptos;
18
+ static decimals = 8;
19
+ network;
20
+ provider;
21
+ getTokenInfo;
22
+ _getAccountModulesNames;
23
+ constructor(provider, network) {
24
+ if (network.family !== ChainFamily.Aptos) {
25
+ throw new Error(`Invalid network family: ${network.family}, expected ${ChainFamily.Aptos}`);
26
+ }
27
+ super();
28
+ this.provider = provider;
29
+ this.network = network;
30
+ this.typeAndVersion = moize.default(this.typeAndVersion.bind(this), {
31
+ maxSize: 100,
32
+ maxArgs: 1,
33
+ maxAge: 60e3, // 1min
34
+ });
35
+ this.getTransaction = moize.default(this.getTransaction.bind(this), {
36
+ maxSize: 100,
37
+ maxArgs: 1,
38
+ });
39
+ this.getTokenForTokenPool = moize.default(this.getTokenForTokenPool.bind(this), {
40
+ maxSize: 100,
41
+ maxArgs: 1,
42
+ });
43
+ this.getTokenInfo = moize.default((token) => getTokenInfo(this.provider, token), {
44
+ maxSize: 100,
45
+ maxArgs: 1,
46
+ });
47
+ this._getAccountModulesNames = moize.default((address) => this.provider
48
+ .getAccountModules({ accountAddress: address })
49
+ .then((modules) => modules.map(({ abi }) => abi.name)), { maxSize: 100, maxArgs: 1 });
50
+ this.getWallet = moize.default(this.getWallet.bind(this), { maxSize: 1, maxArgs: 0 });
51
+ this.provider.getTransactionByVersion = moize.default(this.provider.getTransactionByVersion.bind(this.provider), {
52
+ maxSize: 100,
53
+ isPromise: true,
54
+ transformArgs: ([arg]) => [arg.ledgerVersion],
55
+ });
56
+ }
57
+ static async fromProvider(provider) {
58
+ return new AptosChain(provider, networkInfo(`aptos:${await provider.getChainId()}`));
59
+ }
60
+ static async fromAptosConfig(config) {
61
+ const provider = new Aptos(config);
62
+ return this.fromProvider(provider);
63
+ }
64
+ static async fromUrl(url, network) {
65
+ if (network) {
66
+ // pass
67
+ }
68
+ else if (Object.values(Network).includes(url))
69
+ network = url;
70
+ else if (url.includes('mainnet'))
71
+ network = Network.MAINNET;
72
+ else if (url.includes('testnet'))
73
+ network = Network.TESTNET;
74
+ else if (url.includes('local'))
75
+ network = Network.LOCAL;
76
+ else
77
+ throw new Error(`Unknown Aptos network: ${url}`);
78
+ const config = new AptosConfig({
79
+ network,
80
+ fullnode: url.includes('://') ? url : undefined,
81
+ // indexer: url.includes('://') ? `${url}/v1/graphql` : undefined,
82
+ });
83
+ return this.fromAptosConfig(config);
84
+ }
85
+ async destroy() {
86
+ // Nothing to cleanup for Aptos implementation
87
+ }
88
+ async getBlockTimestamp(version) {
89
+ return getVersionTimestamp(this.provider, version);
90
+ }
91
+ async getTransaction(hashOrVersion) {
92
+ let tx;
93
+ if (isHexString(hashOrVersion, 32)) {
94
+ tx = await this.provider.getTransactionByHash({
95
+ transactionHash: hashOrVersion,
96
+ });
97
+ }
98
+ else if (!isNaN(+hashOrVersion)) {
99
+ tx = await getUserTxByVersion(this.provider, +hashOrVersion);
100
+ }
101
+ else {
102
+ throw new Error(`Invalid transaction hash or version: ${hashOrVersion}`);
103
+ }
104
+ if (tx.type !== TransactionResponseType.User)
105
+ throw new Error('Invalid transaction type');
106
+ return {
107
+ chain: this,
108
+ hash: tx.hash,
109
+ blockNumber: +tx.version,
110
+ from: tx.sender,
111
+ timestamp: +tx.timestamp / 1e6,
112
+ logs: tx.events.map((event, index) => ({
113
+ address: event.type.slice(0, event.type.lastIndexOf('::')),
114
+ transactionHash: tx.hash,
115
+ index,
116
+ blockNumber: +tx.version, // we use version as Aptos' blockNumber, as blockHeight isn't very useful
117
+ data: event.data,
118
+ topics: [event.type.slice(event.type.lastIndexOf('::') + 2)],
119
+ })),
120
+ };
121
+ }
122
+ async *getLogs(opts) {
123
+ yield* streamAptosLogs(this.provider, opts);
124
+ }
125
+ async typeAndVersion(address) {
126
+ const [typeAndVersion] = await this.provider.view({
127
+ payload: {
128
+ function: `${address}::type_and_version`,
129
+ },
130
+ });
131
+ return parseTypeAndVersion(typeAndVersion);
132
+ }
133
+ getRouterForOnRamp(onRamp, _destChainSelector) {
134
+ // router is same package as onramp, changing only module
135
+ return Promise.resolve(onRamp.split('::')[0] + '::router');
136
+ }
137
+ getRouterForOffRamp(offRamp, _sourceChainSelector) {
138
+ return Promise.resolve(offRamp.split('::')[0] + '::router');
139
+ }
140
+ getNativeTokenForRouter(_router) {
141
+ return Promise.resolve('0xa');
142
+ }
143
+ getOffRampsForRouter(router, _sourceChainSelector) {
144
+ return Promise.resolve([router.split('::')[0] + '::offramp']);
145
+ }
146
+ getOnRampForRouter(router, _destChainSelector) {
147
+ return Promise.resolve(router.split('::')[0] + '::onramp');
148
+ }
149
+ async getOnRampForOffRamp(offRamp, sourceChainSelector) {
150
+ const [sourceChainConfig] = await this.provider.view({
151
+ payload: {
152
+ function: `${offRamp.includes('::') ? offRamp : offRamp + '::offramp'}::get_source_chain_config`,
153
+ functionArguments: [sourceChainSelector],
154
+ },
155
+ });
156
+ return decodeAddress(sourceChainConfig.on_ramp, networkInfo(sourceChainSelector).family);
157
+ }
158
+ getCommitStoreForOffRamp(offRamp) {
159
+ return Promise.resolve(offRamp.split('::')[0] + '::offramp');
160
+ }
161
+ async getTokenForTokenPool(tokenPool) {
162
+ const modulesNames = (await this._getAccountModulesNames(tokenPool))
163
+ .reverse()
164
+ .filter((name) => name.endsWith('token_pool'));
165
+ let firstErr;
166
+ for (const name of modulesNames) {
167
+ try {
168
+ const res = await this.provider.view({
169
+ payload: {
170
+ function: `${tokenPool}::${name}::get_token`,
171
+ },
172
+ });
173
+ return res[0];
174
+ }
175
+ catch (err) {
176
+ firstErr ??= err;
177
+ }
178
+ }
179
+ throw firstErr ?? new Error(`Could not view 'get_token' in ${tokenPool}`);
180
+ }
181
+ async getTokenAdminRegistryFor(address) {
182
+ const registry = address.split('::')[0] + '::token_admin_registry';
183
+ const [type] = await this.typeAndVersion(registry);
184
+ if (type !== 'TokenAdminRegistry') {
185
+ throw new Error(`Expected ${registry} to have TokenAdminRegistry type, got=${type}`);
186
+ }
187
+ return registry;
188
+ }
189
+ static getWallet(_opts = {}) {
190
+ return Promise.reject(new Error('TODO according to your environment'));
191
+ }
192
+ // cached
193
+ async getWallet(opts = {}) {
194
+ if (isBytesLike(opts.wallet)) {
195
+ return Account.fromPrivateKey({
196
+ privateKey: new Ed25519PrivateKey(opts.wallet, false),
197
+ });
198
+ }
199
+ return this.constructor.getWallet(opts);
200
+ }
201
+ async getWalletAddress(opts) {
202
+ return (await this.getWallet(opts)).accountAddress.toString();
203
+ }
204
+ // Static methods for decoding
205
+ static decodeMessage(log) {
206
+ const { data } = log;
207
+ if ((typeof data !== 'string' || !data.startsWith('{')) &&
208
+ (typeof data !== 'object' || data == null || isBytesLike(data)))
209
+ throw new Error(`invalid log data: ${util.inspect(log)}`);
210
+ // offload massaging to generic decodeJsonMessage
211
+ try {
212
+ return decodeMessage(data);
213
+ }
214
+ catch (_) {
215
+ // return undefined
216
+ }
217
+ }
218
+ // decodes an Aptos-generated extraArgs, destinated *to* other chains (EVM, Solana, etc)
219
+ static decodeExtraArgs(extraArgs) {
220
+ const data = getDataBytes(extraArgs), tag = dataSlice(data, 0, 4);
221
+ switch (tag) {
222
+ case EVMExtraArgsV2Tag: {
223
+ const parsed = EVMExtraArgsV2Codec.parse(getBytes(dataSlice(data, 4)));
224
+ // Aptos serialization of EVMExtraArgsV2: 37 bytes total: 4 tag + 32 LE gasLimit + 1 allowOOOE
225
+ return {
226
+ _tag: 'EVMExtraArgsV2',
227
+ ...parsed,
228
+ gasLimit: BigInt(parsed.gasLimit),
229
+ };
230
+ }
231
+ case SVMExtraArgsV1Tag: {
232
+ const parsed = SVMExtraArgsV1Codec.parse(getBytes(dataSlice(data, 4)));
233
+ // Aptos serialization of SVMExtraArgsV1: 13 bytes total: 4 tag + 8 LE computeUnits
234
+ return {
235
+ _tag: 'SVMExtraArgsV1',
236
+ ...parsed,
237
+ computeUnits: BigInt(parsed.computeUnits),
238
+ accountIsWritableBitmap: BigInt(parsed.accountIsWritableBitmap),
239
+ tokenReceiver: decodeAddress(new Uint8Array(parsed.tokenReceiver), ChainFamily.Solana),
240
+ accounts: parsed.accounts.map((account) => decodeAddress(new Uint8Array(account), ChainFamily.Solana)),
241
+ };
242
+ }
243
+ }
244
+ }
245
+ // encodes extraArgs destinated *to other* chains (EVM, Solana, etc), using Aptos-specific encoding (i.e. *from* Aptos)
246
+ static encodeExtraArgs(extraArgs) {
247
+ if ('gasLimit' in extraArgs && 'allowOutOfOrderExecution' in extraArgs)
248
+ return concat([EVMExtraArgsV2Tag, EVMExtraArgsV2Codec.serialize(extraArgs).toBytes()]);
249
+ else if ('computeUnits' in extraArgs)
250
+ return concat([
251
+ SVMExtraArgsV1Tag,
252
+ SVMExtraArgsV1Codec.serialize({
253
+ ...extraArgs,
254
+ computeUnits: Number(extraArgs.computeUnits),
255
+ tokenReceiver: getAddressBytes(extraArgs.tokenReceiver),
256
+ accounts: extraArgs.accounts.map(getAddressBytes),
257
+ }).toBytes(),
258
+ ]);
259
+ throw new Error('Aptos can only encode EVMExtraArgsV2 & SVMExtraArgsV1');
260
+ }
261
+ static decodeCommits({ data }, lane) {
262
+ if (!data || typeof data != 'object')
263
+ throw new Error('invalid aptos log');
264
+ const data_ = data;
265
+ if (!data_.blessed_merkle_roots)
266
+ return;
267
+ let commits = convertKeysToCamelCase(data_.blessed_merkle_roots.concat(data_.unblessed_merkle_roots), (v) => (typeof v === 'string' && v.match(/^\d+$/) ? BigInt(v) : v)).map((c) => ({
268
+ ...c,
269
+ onRampAddress: decodeOnRampAddress(c.onRampAddress, networkInfo(c.sourceChainSelector).family),
270
+ }));
271
+ if (lane) {
272
+ commits = commits.filter((c) => c.sourceChainSelector === lane.sourceChainSelector && c.onRampAddress === lane.onRamp);
273
+ }
274
+ return commits;
275
+ }
276
+ static decodeReceipt({ data }) {
277
+ if (!data || typeof data != 'object')
278
+ throw new Error('invalid aptos log');
279
+ const data_ = data;
280
+ if (!data_.message_id || !data_.state)
281
+ return;
282
+ return convertKeysToCamelCase(data_, (v) => typeof v === 'string' && v.match(/^\d+$/) ? BigInt(v) : v);
283
+ }
284
+ static getAddress(bytes) {
285
+ let suffix = '';
286
+ if (typeof bytes === 'string' && !bytes.startsWith('0x')) {
287
+ bytes = decodeBase64(bytes);
288
+ }
289
+ else if (typeof bytes === 'string') {
290
+ const idx = bytes.indexOf('::');
291
+ if (idx > 0) {
292
+ suffix = bytes.slice(idx);
293
+ bytes = bytes.slice(0, idx);
294
+ }
295
+ }
296
+ if (dataLength(bytes) > 32)
297
+ throw new Error(`Invalid aptos address: "${hexlify(bytes)}"`);
298
+ return zeroPadValue(bytes, 32) + suffix;
299
+ }
300
+ static getDestLeafHasher(lane) {
301
+ return getAptosLeafHasher(lane);
302
+ }
303
+ async getFee(router, destChainSelector, message) {
304
+ return getFee(this.provider, router, destChainSelector, message);
305
+ }
306
+ async sendMessage(router, destChainSelector, message, opts) {
307
+ const account = await this.getWallet(opts);
308
+ const hash = await ccipSend(this.provider, account, router, destChainSelector, message);
309
+ // Return the ChainTransaction by fetching it
310
+ return this.getTransaction(hash);
311
+ }
312
+ fetchOffchainTokenData(request) {
313
+ // default offchain token data
314
+ return Promise.resolve(request.message.tokenAmounts.map(() => undefined));
315
+ }
316
+ async executeReport(offRamp, execReport, opts) {
317
+ const account = await this.getWallet(opts);
318
+ if (!('allowOutOfOrderExecution' in execReport.message && 'gasLimit' in execReport.message)) {
319
+ throw new Error('Aptos expects EVMExtraArgsV2 reports');
320
+ }
321
+ const hash = await executeReport(this.provider, account, offRamp, execReport, opts);
322
+ return this.getTransaction(hash);
323
+ }
324
+ static parse(data) {
325
+ if (isBytesLike(data)) {
326
+ const parsedExtraArgs = this.decodeExtraArgs(data);
327
+ if (parsedExtraArgs)
328
+ return parsedExtraArgs;
329
+ }
330
+ }
331
+ async getSupportedTokens(address, opts) {
332
+ const res = [];
333
+ let page, nextKey = '0x0', hasMore;
334
+ do {
335
+ ;
336
+ [page, nextKey, hasMore] = await this.provider.view({
337
+ payload: {
338
+ function: `${address.split('::')[0] + '::token_admin_registry'}::get_all_configured_tokens`,
339
+ functionArguments: [nextKey, (opts?.page ?? 1000) || Number.MAX_SAFE_INTEGER],
340
+ },
341
+ });
342
+ res.push(...page);
343
+ } while (hasMore);
344
+ return page;
345
+ }
346
+ async getRegistryTokenConfig(registry, token) {
347
+ const [tokenPool, administrator, pendingAdministrator] = await this.provider.view({
348
+ payload: {
349
+ function: `${registry.includes('::') ? registry : registry + '::token_admin_registry'}::get_token_config`,
350
+ functionArguments: [token],
351
+ },
352
+ });
353
+ if (administrator.match(/^0x0*$/))
354
+ throw new Error(`Token=${token} not registered in registry=${registry}`);
355
+ return {
356
+ administrator,
357
+ ...(!pendingAdministrator.match(/^0x0*$/) && { pendingAdministrator }),
358
+ ...(!tokenPool.match(/^0x0*$/) && { tokenPool }),
359
+ };
360
+ }
361
+ async getTokenPoolConfigs(tokenPool) {
362
+ const modulesNames = (await this._getAccountModulesNames(tokenPool))
363
+ .reverse()
364
+ .filter((name) => name.endsWith('token_pool'));
365
+ let firstErr;
366
+ for (const name of modulesNames) {
367
+ try {
368
+ const [typeAndVersion, token, router] = await Promise.all([
369
+ this.typeAndVersion(`${tokenPool}::${name}`),
370
+ this.provider.view({
371
+ payload: {
372
+ function: `${tokenPool}::${name}::get_token`,
373
+ functionArguments: [],
374
+ },
375
+ }),
376
+ this.provider.view({
377
+ payload: {
378
+ function: `${tokenPool}::${name}::get_router`,
379
+ functionArguments: [],
380
+ },
381
+ }),
382
+ ]);
383
+ return {
384
+ token: token[0],
385
+ router: router[0],
386
+ typeAndVersion: typeAndVersion[2],
387
+ };
388
+ }
389
+ catch (err) {
390
+ firstErr ??= err;
391
+ }
392
+ }
393
+ throw firstErr ?? new Error(`Could not get tokenPool configs from ${tokenPool}`);
394
+ }
395
+ async getTokenPoolRemotes(tokenPool, remoteChainSelector) {
396
+ const modulesNames = (await this._getAccountModulesNames(tokenPool))
397
+ .reverse()
398
+ .filter((name) => name.endsWith('token_pool'));
399
+ let firstErr;
400
+ for (const name of modulesNames) {
401
+ try {
402
+ const [supportedChains] = remoteChainSelector
403
+ ? [[remoteChainSelector]]
404
+ : await this.provider.view({
405
+ payload: {
406
+ function: `${tokenPool}::${name}::get_supported_chains`,
407
+ functionArguments: [],
408
+ },
409
+ });
410
+ return Object.fromEntries(await Promise.all(supportedChains.map(networkInfo).map(async (chain) => {
411
+ const remoteToken$ = this.provider.view({
412
+ payload: {
413
+ function: `${tokenPool}::${name}::get_remote_token`,
414
+ functionArguments: [chain.chainSelector],
415
+ },
416
+ });
417
+ const remotePools$ = this.provider.view({
418
+ payload: {
419
+ function: `${tokenPool}::${name}::get_remote_pools`,
420
+ functionArguments: [chain.chainSelector],
421
+ },
422
+ });
423
+ const inboundRateLimiterState$ = this.provider.view({
424
+ payload: {
425
+ function: `${tokenPool}::${name}::get_current_inbound_rate_limiter_state`,
426
+ functionArguments: [chain.chainSelector],
427
+ },
428
+ });
429
+ const outboundRateLimiterState$ = this.provider.view({
430
+ payload: {
431
+ function: `${tokenPool}::${name}::get_current_outbound_rate_limiter_state`,
432
+ functionArguments: [chain.chainSelector],
433
+ },
434
+ });
435
+ const [[remoteToken], [remotePools], [inboundRateLimiterState], [outboundRateLimiterState],] = await Promise.all([
436
+ remoteToken$,
437
+ remotePools$,
438
+ inboundRateLimiterState$,
439
+ outboundRateLimiterState$,
440
+ ]);
441
+ return [
442
+ chain.name,
443
+ {
444
+ remoteToken: decodeAddress(remoteToken, chain.family),
445
+ remotePools: remotePools.map((pool) => decodeAddress(pool, chain.family)),
446
+ inboundRateLimiterState: inboundRateLimiterState.is_enabled
447
+ ? {
448
+ capacity: BigInt(inboundRateLimiterState.capacity),
449
+ lastUpdated: Number(inboundRateLimiterState.last_updated),
450
+ rate: BigInt(inboundRateLimiterState.rate),
451
+ tokens: BigInt(inboundRateLimiterState.tokens),
452
+ }
453
+ : null,
454
+ outboundRateLimiterState: outboundRateLimiterState.is_enabled
455
+ ? {
456
+ capacity: BigInt(outboundRateLimiterState.capacity),
457
+ lastUpdated: Number(outboundRateLimiterState.last_updated),
458
+ rate: BigInt(outboundRateLimiterState.rate),
459
+ tokens: BigInt(outboundRateLimiterState.tokens),
460
+ }
461
+ : null,
462
+ },
463
+ ];
464
+ })));
465
+ }
466
+ catch (err) {
467
+ firstErr ??= err;
468
+ }
469
+ }
470
+ throw firstErr ?? new Error(`Could not view 'get_remote_token' in ${tokenPool}`);
471
+ }
472
+ async listFeeTokens(router) {
473
+ const [feeTokens] = await this.provider.view({
474
+ payload: {
475
+ function: `${router.split('::')[0] + '::fee_quoter'}::get_fee_tokens`,
476
+ },
477
+ });
478
+ return Object.fromEntries(await Promise.all(feeTokens.map(async (token) => [token, await this.getTokenInfo(token)])));
479
+ }
480
+ }
481
+ supportedChains[ChainFamily.Aptos] = AptosChain;
482
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/aptos/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { type Aptos, type UserTransactionResponse } from '@aptos-labs/ts-sdk';
2
+ import type { LogFilter } from '../chain.ts';
3
+ import type { Log_ } from '../types.ts';
4
+ export declare function getUserTxByVersion(provider: Aptos, version: number): Promise<UserTransactionResponse>;
5
+ export declare function getVersionTimestamp(provider: Aptos, version: number | 'finalized'): Promise<number>;
6
+ export declare function streamAptosLogs(provider: Aptos, opts: LogFilter & {
7
+ versionAsHash?: boolean;
8
+ }): AsyncGenerator<Log_>;
9
+ //# sourceMappingURL=logs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logs.d.ts","sourceRoot":"","sources":["../../src/aptos/logs.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,KAAK,EAEV,KAAK,uBAAuB,EAG7B,MAAM,oBAAoB,CAAA;AAG3B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAQvC,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,KAAK,EACf,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,uBAAuB,CAAC,CAOlC;AAED,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,KAAK,EACf,OAAO,EAAE,MAAM,GAAG,WAAW,GAC5B,OAAO,CAAC,MAAM,CAAC,CAUjB;AA4HD,wBAAuB,eAAe,CACpC,QAAQ,EAAE,KAAK,EACf,IAAI,EAAE,SAAS,GAAG;IAAE,aAAa,CAAC,EAAE,OAAO,CAAA;CAAE,GAC5C,cAAc,CAAC,IAAI,CAAC,CAuCtB"}