@chainlink/ccip-sdk 0.90.2 → 0.91.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 (202) hide show
  1. package/README.md +35 -26
  2. package/dist/aptos/exec.d.ts +4 -5
  3. package/dist/aptos/exec.d.ts.map +1 -1
  4. package/dist/aptos/exec.js +5 -14
  5. package/dist/aptos/exec.js.map +1 -1
  6. package/dist/aptos/hasher.d.ts +18 -0
  7. package/dist/aptos/hasher.d.ts.map +1 -1
  8. package/dist/aptos/hasher.js +18 -0
  9. package/dist/aptos/hasher.js.map +1 -1
  10. package/dist/aptos/index.d.ts +127 -28
  11. package/dist/aptos/index.d.ts.map +1 -1
  12. package/dist/aptos/index.js +199 -70
  13. package/dist/aptos/index.js.map +1 -1
  14. package/dist/aptos/logs.d.ts +18 -0
  15. package/dist/aptos/logs.d.ts.map +1 -1
  16. package/dist/aptos/logs.js +21 -3
  17. package/dist/aptos/logs.js.map +1 -1
  18. package/dist/aptos/send.d.ts +22 -5
  19. package/dist/aptos/send.d.ts.map +1 -1
  20. package/dist/aptos/send.js +23 -15
  21. package/dist/aptos/send.js.map +1 -1
  22. package/dist/aptos/token.d.ts +6 -0
  23. package/dist/aptos/token.d.ts.map +1 -1
  24. package/dist/aptos/token.js +6 -0
  25. package/dist/aptos/token.js.map +1 -1
  26. package/dist/aptos/types.d.ts +16 -1
  27. package/dist/aptos/types.d.ts.map +1 -1
  28. package/dist/aptos/types.js +13 -0
  29. package/dist/aptos/types.js.map +1 -1
  30. package/dist/aptos/utils.d.ts +1 -1
  31. package/dist/aptos/utils.js +1 -1
  32. package/dist/chain.d.ts +185 -99
  33. package/dist/chain.d.ts.map +1 -1
  34. package/dist/chain.js +38 -15
  35. package/dist/chain.js.map +1 -1
  36. package/dist/commits.d.ts +4 -10
  37. package/dist/commits.d.ts.map +1 -1
  38. package/dist/commits.js +2 -1
  39. package/dist/commits.js.map +1 -1
  40. package/dist/evm/const.d.ts +5 -0
  41. package/dist/evm/const.d.ts.map +1 -1
  42. package/dist/evm/const.js +5 -0
  43. package/dist/evm/const.js.map +1 -1
  44. package/dist/evm/errors.d.ts +5 -0
  45. package/dist/evm/errors.d.ts.map +1 -1
  46. package/dist/evm/errors.js +6 -1
  47. package/dist/evm/errors.js.map +1 -1
  48. package/dist/evm/hasher.d.ts +16 -2
  49. package/dist/evm/hasher.d.ts.map +1 -1
  50. package/dist/evm/hasher.js +17 -3
  51. package/dist/evm/hasher.js.map +1 -1
  52. package/dist/evm/index.d.ts +176 -31
  53. package/dist/evm/index.d.ts.map +1 -1
  54. package/dist/evm/index.js +312 -154
  55. package/dist/evm/index.js.map +1 -1
  56. package/dist/evm/logs.d.ts +20 -0
  57. package/dist/evm/logs.d.ts.map +1 -0
  58. package/dist/evm/logs.js +194 -0
  59. package/dist/evm/logs.js.map +1 -0
  60. package/dist/evm/messages.d.ts +11 -2
  61. package/dist/evm/messages.d.ts.map +1 -1
  62. package/dist/evm/messages.js +4 -2
  63. package/dist/evm/messages.js.map +1 -1
  64. package/dist/evm/offchain.d.ts +7 -2
  65. package/dist/evm/offchain.d.ts.map +1 -1
  66. package/dist/evm/offchain.js +12 -7
  67. package/dist/evm/offchain.js.map +1 -1
  68. package/dist/execution.d.ts +19 -62
  69. package/dist/execution.d.ts.map +1 -1
  70. package/dist/execution.js +28 -31
  71. package/dist/execution.js.map +1 -1
  72. package/dist/extra-args.d.ts +35 -5
  73. package/dist/extra-args.d.ts.map +1 -1
  74. package/dist/extra-args.js +10 -5
  75. package/dist/extra-args.js.map +1 -1
  76. package/dist/gas.d.ts +6 -8
  77. package/dist/gas.d.ts.map +1 -1
  78. package/dist/gas.js +7 -9
  79. package/dist/gas.js.map +1 -1
  80. package/dist/hasher/common.d.ts +3 -2
  81. package/dist/hasher/common.d.ts.map +1 -1
  82. package/dist/hasher/common.js +2 -2
  83. package/dist/hasher/common.js.map +1 -1
  84. package/dist/hasher/hasher.d.ts +8 -2
  85. package/dist/hasher/hasher.d.ts.map +1 -1
  86. package/dist/hasher/hasher.js +8 -3
  87. package/dist/hasher/hasher.js.map +1 -1
  88. package/dist/hasher/merklemulti.d.ts +11 -9
  89. package/dist/hasher/merklemulti.d.ts.map +1 -1
  90. package/dist/hasher/merklemulti.js +17 -16
  91. package/dist/hasher/merklemulti.js.map +1 -1
  92. package/dist/index.d.ts +16 -8
  93. package/dist/index.d.ts.map +1 -1
  94. package/dist/index.js +17 -7
  95. package/dist/index.js.map +1 -1
  96. package/dist/requests.d.ts +39 -25
  97. package/dist/requests.d.ts.map +1 -1
  98. package/dist/requests.js +42 -35
  99. package/dist/requests.js.map +1 -1
  100. package/dist/selectors.d.ts +1 -1
  101. package/dist/solana/cleanup.d.ts +14 -10
  102. package/dist/solana/cleanup.d.ts.map +1 -1
  103. package/dist/solana/cleanup.js +35 -33
  104. package/dist/solana/cleanup.js.map +1 -1
  105. package/dist/solana/exec.d.ts +19 -11
  106. package/dist/solana/exec.d.ts.map +1 -1
  107. package/dist/solana/exec.js +86 -163
  108. package/dist/solana/exec.js.map +1 -1
  109. package/dist/solana/hasher.d.ts +7 -2
  110. package/dist/solana/hasher.d.ts.map +1 -1
  111. package/dist/solana/hasher.js +7 -2
  112. package/dist/solana/hasher.js.map +1 -1
  113. package/dist/solana/index.d.ts +202 -84
  114. package/dist/solana/index.d.ts.map +1 -1
  115. package/dist/solana/index.js +367 -252
  116. package/dist/solana/index.js.map +1 -1
  117. package/dist/solana/offchain.d.ts +8 -18
  118. package/dist/solana/offchain.d.ts.map +1 -1
  119. package/dist/solana/offchain.js +29 -83
  120. package/dist/solana/offchain.js.map +1 -1
  121. package/dist/solana/patchBorsh.d.ts +5 -1
  122. package/dist/solana/patchBorsh.d.ts.map +1 -1
  123. package/dist/solana/patchBorsh.js +57 -46
  124. package/dist/solana/patchBorsh.js.map +1 -1
  125. package/dist/solana/send.d.ts +28 -10
  126. package/dist/solana/send.d.ts.map +1 -1
  127. package/dist/solana/send.js +44 -77
  128. package/dist/solana/send.js.map +1 -1
  129. package/dist/solana/types.d.ts +22 -1
  130. package/dist/solana/types.d.ts.map +1 -1
  131. package/dist/solana/types.js +12 -1
  132. package/dist/solana/types.js.map +1 -1
  133. package/dist/solana/utils.d.ts +58 -4
  134. package/dist/solana/utils.d.ts.map +1 -1
  135. package/dist/solana/utils.js +110 -7
  136. package/dist/solana/utils.js.map +1 -1
  137. package/dist/sui/hasher.d.ts +18 -0
  138. package/dist/sui/hasher.d.ts.map +1 -1
  139. package/dist/sui/hasher.js +18 -0
  140. package/dist/sui/hasher.js.map +1 -1
  141. package/dist/sui/index.d.ts +99 -12
  142. package/dist/sui/index.d.ts.map +1 -1
  143. package/dist/sui/index.js +108 -19
  144. package/dist/sui/index.js.map +1 -1
  145. package/dist/sui/types.d.ts +6 -0
  146. package/dist/sui/types.d.ts.map +1 -1
  147. package/dist/sui/types.js +5 -0
  148. package/dist/sui/types.js.map +1 -1
  149. package/dist/supported-chains.d.ts +2 -1
  150. package/dist/supported-chains.d.ts.map +1 -1
  151. package/dist/supported-chains.js.map +1 -1
  152. package/dist/types.d.ts +127 -16
  153. package/dist/types.d.ts.map +1 -1
  154. package/dist/types.js +18 -0
  155. package/dist/types.js.map +1 -1
  156. package/dist/utils.d.ts +67 -46
  157. package/dist/utils.d.ts.map +1 -1
  158. package/dist/utils.js +143 -21
  159. package/dist/utils.js.map +1 -1
  160. package/package.json +13 -9
  161. package/src/aptos/exec.ts +7 -18
  162. package/src/aptos/hasher.ts +18 -0
  163. package/src/aptos/index.ts +288 -110
  164. package/src/aptos/logs.ts +21 -3
  165. package/src/aptos/send.ts +25 -22
  166. package/src/aptos/token.ts +6 -0
  167. package/src/aptos/types.ts +26 -2
  168. package/src/aptos/utils.ts +1 -1
  169. package/src/chain.ts +243 -108
  170. package/src/commits.ts +6 -7
  171. package/src/evm/const.ts +5 -0
  172. package/src/evm/errors.ts +6 -1
  173. package/src/evm/hasher.ts +20 -4
  174. package/src/evm/index.ts +416 -214
  175. package/src/evm/logs.ts +255 -0
  176. package/src/evm/messages.ts +11 -5
  177. package/src/evm/offchain.ts +13 -4
  178. package/src/execution.ts +40 -32
  179. package/src/extra-args.ts +38 -6
  180. package/src/gas.ts +7 -9
  181. package/src/hasher/common.ts +3 -2
  182. package/src/hasher/hasher.ts +12 -4
  183. package/src/hasher/merklemulti.ts +17 -16
  184. package/src/index.ts +29 -23
  185. package/src/requests.ts +64 -46
  186. package/src/selectors.ts +1 -1
  187. package/src/solana/cleanup.ts +49 -34
  188. package/src/solana/exec.ts +128 -272
  189. package/src/solana/hasher.ts +13 -4
  190. package/src/solana/index.ts +483 -356
  191. package/src/solana/offchain.ts +32 -102
  192. package/src/solana/patchBorsh.ts +65 -50
  193. package/src/solana/send.ts +52 -111
  194. package/src/solana/types.ts +44 -3
  195. package/src/solana/utils.ts +143 -19
  196. package/src/sui/hasher.ts +18 -0
  197. package/src/sui/index.ts +143 -31
  198. package/src/sui/types.ts +6 -0
  199. package/src/supported-chains.ts +2 -1
  200. package/src/types.ts +130 -18
  201. package/src/utils.ts +168 -26
  202. package/tsconfig.json +2 -1
package/README.md CHANGED
@@ -55,55 +55,64 @@ constructor from the specific library provider (e.g. `EVMChain.fromProvider(prov
55
55
 
56
56
  ## Wallet
57
57
 
58
- Most chain families classes have a *cached* `getWallet` method, which handles creating a signer or
59
- wallet from raw private keys. They receive a generic `{ wallet?: unknown }` object, which may be
60
- passed from other methods, or CLI's `argv` options, to aid in wallet creation.
58
+ Transaction-sending high-level methods, namely `Chain.sendMessage` and `Chain.executeReport`,
59
+ require a `wallet` property in last `opts` parameter. This is marked as `unknown` in generic Chain
60
+ abstract class, but required to be an asynchronous signer wallet respective to each chain family:
61
61
 
62
- If they can't, users may override the *static* `getWallet` function (with parameters depending on
63
- chain family implementation), which is called to try to construct a wallet or signer instead.
64
- This can be used to extend the library to create signers according to each environment, without
65
- requiring a full class inheritance.
62
+ - `EVMChain` requires an `ethers` `Signer`
63
+ - `SolanaChain` requires an `anchor` `Wallet`
64
+ - `AptosChain` requires an `aptos-ts-sdk` `Account`
66
65
 
67
- Example:
68
- ```ts
69
- import { EVMChain } from '@chainlink/ccip-sdk'
66
+ These signers are used in the simplest way possible (i.e. using address accessors where needed,
67
+ and `async signTransaction`-like methods), so developers may be able to easily inject their own
68
+ implementations, to get called or intercept signature requests by these methods.
70
69
 
71
- EVMChain.getWallet = async function(opts?: { provider?: Provider, wallet?: unknown }): Promise<Signer> {
72
- // instantiate Signer
73
- }
74
- ```
70
+ Optionally, `sendMessage` and `executeReport` also have companion `generateUnsignedSendMessage` and
71
+ `generateUnsignedExecuteReport` methods, returning chain-family-specific unsigned data, which one
72
+ can use to sign and send the transactions manually.
73
+
74
+ Notice that these are lower-level methods, and require the developer to handle the signing and
75
+ sending of the transactions themselves, skipping niceties from the higher-level methods, like
76
+ retries, gas estimation and transactions batching.
75
77
 
76
78
  > [!TIP]
77
- > For EVMChain on Browsers, there's no need to override like the above, since providing a `{ wallet: number | address }` option object will make it create a signer from `provider.getSigner(number)`, which should load the account from the browser's wallet extension.
79
+ > For EVMChain on Browsers, one can use `chain.provider.getSigner(numberOrAddress)` to fetch a
80
+ provider-backed signer from compatible wallets, like Metamask.
81
+
82
+ ## Tree-shakers
83
+
84
+ If you're using a tree-shaking bundler, make sure to `import { allSupportedChains } from '@chainlink/ccip-sdk'`,
85
+ or only the chains you want to support, e.g. `import { EVMChain, SolanaChain } from '@chainlink/ccip-sdk'`.
86
+ This should ensure those chain family implementations are registered and used by utility functions.
78
87
 
79
88
  ## Recipes
80
89
 
81
- ### Fetching details of a custom message, per transaction
90
+ ### Fetching details of a CCIP message
82
91
  ```ts
83
- import { AptosChain, fetchCCIPMessagesInTx } from '@chainlink/ccip-sdk'
92
+ import { AptosChain } from '@chainlink/ccip-sdk'
84
93
  const source = await AptosChain.fromUrl('mainnet')
85
- const tx = await source.getTransaction('0xTransactionHash')
86
- const messages = await fetchCCIPMessagesInTx(tx)
87
- console.log(messages[0])
94
+ const requests = await source.fetchRequestsInTx('0xTransactionHash')
95
+ console.log(requests[0])
88
96
  ```
89
97
 
90
98
  ### Sending a message
91
99
  ```ts
92
- import { SolanaChain, AnyMessage, fetchCCIPRequestsInTx, networkInfo } from '@chainlink/ccip-sdk'
100
+ import { type AnyMessage, SolanaChain, networkInfo } from '@chainlink/ccip-sdk'
93
101
  const source = await SolanaChain.fromUrl('https://api.mainnet-beta.solana.com')
94
102
  const router = 'Ccip842gzYHhvdDkSyi2YVCoAWPbYJoApMFzSxQroE9C' // https://docs.chain.link/ccip/directory/mainnet
95
- const dest = networkInfo('ethereum-mainnet')
103
+ const dest = networkInfo('ethereum-mainnet').chainSelector
96
104
  const message: AnyMessage = {
97
105
  receiver: '0xReceiverAddress',
98
106
  data: '0xbeef',
99
107
  extraArgs: { gasLimit: 250000, allowOutOfOrderExecution: true },
100
108
  }
101
- const fee = await source.getFee(router, dest.chainSelector, message)
102
- const tx = await source.sendMessage(
109
+ const fee = await source.getFee(router, dest, message)
110
+ const request = await source.sendMessage(
103
111
  router,
104
- dest.chainSelector,
112
+ dest,
105
113
  { ...message, fee },
106
114
  { wallet: process.env['SOLANA_PRIVATE_KEY'] },
107
115
  )
108
- const messageId = (await fetchCCIPRequestsInTx(tx))[0].message.header.messageId
116
+ const messageId = request.message.header.messageId
117
+ const txHash = request.tx.hash
109
118
  ```
@@ -1,18 +1,17 @@
1
- import type { Aptos } from '@aptos-labs/ts-sdk';
1
+ import { type Aptos } from '@aptos-labs/ts-sdk';
2
2
  import type { ExecutionReport } from '../types.ts';
3
- import { type AptosAsyncAccount } from './types.ts';
4
3
  import type { CCIPMessage_V1_6_EVM } from '../evm/messages.ts';
5
4
  /**
6
5
  * Executes as single message report in offramp
7
6
  *
8
7
  * @param provider - Aptos provider instance
9
- * @param account - async Account
8
+ * @param payer - async Account
10
9
  * @param offRamp - Offramp contract address (with or without `::offramp` suffix)
11
10
  * @param execReport - Aptos uses EVMExtraArgsV2, so same message as EVM v1.6
12
11
  * @param opts - options like gasLimit override
13
12
  * @returns exec txHash
14
13
  */
15
- export declare function executeReport(provider: Aptos, account: AptosAsyncAccount, offRamp: string, execReport: ExecutionReport<CCIPMessage_V1_6_EVM>, opts?: {
14
+ export declare function generateUnsignedExecuteReport(provider: Aptos, payer: string, offRamp: string, execReport: ExecutionReport<CCIPMessage_V1_6_EVM>, opts?: {
16
15
  gasLimit?: number;
17
- }): Promise<string>;
16
+ }): Promise<Uint8Array<ArrayBufferLike>>;
18
17
  //# sourceMappingURL=exec.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"exec.d.ts","sourceRoot":"","sources":["../../src/aptos/exec.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAE/C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,EAAE,KAAK,iBAAiB,EAA4B,MAAM,YAAY,CAAA;AAC7E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AAE9D;;;;;;;;;GASG;AACH,wBAAsB,aAAa,CACjC,QAAQ,EAAE,KAAK,EACf,OAAO,EAAE,iBAAiB,EAC1B,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,eAAe,CAAC,oBAAoB,CAAC,EACjD,IAAI,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,mBA+C7B"}
1
+ {"version":3,"file":"exec.d.ts","sourceRoot":"","sources":["../../src/aptos/exec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,KAAK,EAAkB,MAAM,oBAAoB,CAAA;AAE/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAElD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AAE9D;;;;;;;;;GASG;AACH,wBAAsB,6BAA6B,CACjD,QAAQ,EAAE,KAAK,EACf,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,eAAe,CAAC,oBAAoB,CAAC,EACjD,IAAI,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,wCAoC7B"}
@@ -1,15 +1,16 @@
1
+ import { AccountAddress } from '@aptos-labs/ts-sdk';
1
2
  import { serializeExecutionReport } from "./types.js";
2
3
  /**
3
4
  * Executes as single message report in offramp
4
5
  *
5
6
  * @param provider - Aptos provider instance
6
- * @param account - async Account
7
+ * @param payer - async Account
7
8
  * @param offRamp - Offramp contract address (with or without `::offramp` suffix)
8
9
  * @param execReport - Aptos uses EVMExtraArgsV2, so same message as EVM v1.6
9
10
  * @param opts - options like gasLimit override
10
11
  * @returns exec txHash
11
12
  */
12
- export async function executeReport(provider, account, offRamp, execReport, opts) {
13
+ export async function generateUnsignedExecuteReport(provider, payer, offRamp, execReport, opts) {
13
14
  // Prepare proofs as byte arrays
14
15
  const serialized = serializeExecutionReport(execReport);
15
16
  // Build the transaction to call manually_execute
@@ -33,23 +34,13 @@ export async function executeReport(provider, account, offRamp, execReport, opts
33
34
  // gas_limit: u256
34
35
  // )
35
36
  const transaction = await provider.transaction.build.simple({
36
- sender: account.accountAddress,
37
+ sender: AccountAddress.fromString(payer),
37
38
  data: {
38
39
  function: `${offRamp.includes('::') ? offRamp : offRamp + '::offramp'}::manually_execute`,
39
40
  functionArguments: [serialized],
40
41
  },
41
42
  options: { maxGasAmount: opts?.gasLimit },
42
43
  });
43
- // Sign and submit the transaction
44
- const signed = await account.signTransactionWithAuthenticator(transaction);
45
- const pendingTxn = await provider.transaction.submit.simple({
46
- transaction,
47
- senderAuthenticator: signed,
48
- });
49
- // Wait for the transaction to be confirmed
50
- const { hash } = await provider.waitForTransaction({
51
- transactionHash: pendingTxn.hash,
52
- });
53
- return hash;
44
+ return transaction.bcsToBytes();
54
45
  }
55
46
  //# sourceMappingURL=exec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"exec.js","sourceRoot":"","sources":["../../src/aptos/exec.ts"],"names":[],"mappings":"AAGA,OAAO,EAA0B,wBAAwB,EAAE,MAAM,YAAY,CAAA;AAG7E;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,QAAe,EACf,OAA0B,EAC1B,OAAe,EACf,UAAiD,EACjD,IAA4B;IAE5B,gCAAgC;IAChC,MAAM,UAAU,GAAG,wBAAwB,CAAC,UAAU,CAAC,CAAA;IAEvD,iDAAiD;IACjD,mDAAmD;IACnD,qCAAqC;IACrC,uBAAuB;IACvB,+BAA+B;IAC/B,kCAAkC;IAClC,6BAA6B;IAC7B,8BAA8B;IAC9B,kCAAkC;IAClC,gCAAgC;IAChC,4BAA4B;IAC5B,kBAAkB;IAClB,0BAA0B;IAC1B,4BAA4B;IAC5B,wBAAwB;IACxB,wCAAwC;IACxC,mCAAmC;IACnC,+CAA+C;IAC/C,sBAAsB;IACtB,IAAI;IACJ,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC;QAC1D,MAAM,EAAE,OAAO,CAAC,cAAc;QAC9B,IAAI,EAAE;YACJ,QAAQ,EACN,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,GAAG,WAAW,oBAAyD;YACtH,iBAAiB,EAAE,CAAC,UAAU,CAAC;SAChC;QACD,OAAO,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE;KAC1C,CAAC,CAAA;IAEF,kCAAkC;IAClC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,gCAAgC,CAAC,WAAW,CAAC,CAAA;IAC1E,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC;QAC1D,WAAW;QACX,mBAAmB,EAAE,MAAM;KAC5B,CAAC,CAAA;IAEF,2CAA2C;IAC3C,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,QAAQ,CAAC,kBAAkB,CAAC;QACjD,eAAe,EAAE,UAAU,CAAC,IAAI;KACjC,CAAC,CAAA;IACF,OAAO,IAAI,CAAA;AACb,CAAC"}
1
+ {"version":3,"file":"exec.js","sourceRoot":"","sources":["../../src/aptos/exec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAG/D,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAA;AAGrD;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,6BAA6B,CACjD,QAAe,EACf,KAAa,EACb,OAAe,EACf,UAAiD,EACjD,IAA4B;IAE5B,gCAAgC;IAChC,MAAM,UAAU,GAAG,wBAAwB,CAAC,UAAU,CAAC,CAAA;IAEvD,iDAAiD;IACjD,mDAAmD;IACnD,qCAAqC;IACrC,uBAAuB;IACvB,+BAA+B;IAC/B,kCAAkC;IAClC,6BAA6B;IAC7B,8BAA8B;IAC9B,kCAAkC;IAClC,gCAAgC;IAChC,4BAA4B;IAC5B,kBAAkB;IAClB,0BAA0B;IAC1B,4BAA4B;IAC5B,wBAAwB;IACxB,wCAAwC;IACxC,mCAAmC;IACnC,+CAA+C;IAC/C,sBAAsB;IACtB,IAAI;IACJ,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC;QAC1D,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC;QACxC,IAAI,EAAE;YACJ,QAAQ,EACN,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,GAAG,WAAW,oBAAyD;YACtH,iBAAiB,EAAE,CAAC,UAAU,CAAC;SAChC;QACD,OAAO,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE;KAC1C,CAAC,CAAA;IAEF,OAAO,WAAW,CAAC,UAAU,EAAE,CAAA;AACjC,CAAC"}
@@ -1,11 +1,29 @@
1
1
  import { type LeafHasher } from '../hasher/common.ts';
2
2
  import { type CCIPMessage, type CCIPMessage_V1_6, CCIPVersion } from '../types.ts';
3
+ /**
4
+ * Creates a leaf hasher for Aptos CCIP messages.
5
+ * @param lane - Lane configuration with selectors and onRamp.
6
+ * @returns Leaf hasher function for the specified version.
7
+ */
3
8
  export declare function getAptosLeafHasher<V extends CCIPVersion = CCIPVersion>({ sourceChainSelector, destChainSelector, onRamp, version, }: {
4
9
  sourceChainSelector: bigint;
5
10
  destChainSelector: bigint;
6
11
  onRamp: string;
7
12
  version: V;
8
13
  }): LeafHasher<V>;
14
+ /**
15
+ * Computes the leaf hash for a v1.6 Aptos CCIP message.
16
+ * @param message - CCIP message to hash.
17
+ * @param metadataHash - Pre-computed metadata hash for the lane.
18
+ * @returns Keccak256 hash of the message.
19
+ */
9
20
  export declare function hashV16AptosMessage(message: CCIPMessage_V1_6 | CCIPMessage<typeof CCIPVersion.V1_6>, metadataHash: string): string;
21
+ /**
22
+ * Computes the metadata hash for Aptos CCIP lane.
23
+ * @param sourceChainSelector - Source chain selector.
24
+ * @param destChainSelector - Destination chain selector.
25
+ * @param onRamp - OnRamp address.
26
+ * @returns Keccak256 hash of the lane metadata.
27
+ */
10
28
  export declare const hashAptosMetadata: (sourceChainSelector: bigint, destChainSelector: bigint, onRamp: string) => string;
11
29
  //# sourceMappingURL=hasher.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"hasher.d.ts","sourceRoot":"","sources":["../../src/aptos/hasher.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,UAAU,EAAyB,MAAM,qBAAqB,CAAA;AAC5E,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,gBAAgB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAIlF,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,EAAE,EACtE,mBAAmB,EACnB,iBAAiB,EACjB,MAAM,EACN,OAAO,GACR,EAAE;IACD,mBAAmB,EAAE,MAAM,CAAA;IAC3B,iBAAiB,EAAE,MAAM,CAAA;IACzB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,CAAC,CAAA;CACX,GAAG,UAAU,CAAC,CAAC,CAAC,CAUhB;AAED,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,gBAAgB,GAAG,WAAW,CAAC,OAAO,WAAW,CAAC,IAAI,CAAC,EAChE,YAAY,EAAE,MAAM,GACnB,MAAM,CA6CR;AAED,eAAO,MAAM,iBAAiB,GAC5B,qBAAqB,MAAM,EAC3B,mBAAmB,MAAM,EACzB,QAAQ,MAAM,KACb,MAOF,CAAA"}
1
+ {"version":3,"file":"hasher.d.ts","sourceRoot":"","sources":["../../src/aptos/hasher.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,UAAU,EAAyB,MAAM,qBAAqB,CAAA;AAC5E,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,gBAAgB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAIlF;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,EAAE,EACtE,mBAAmB,EACnB,iBAAiB,EACjB,MAAM,EACN,OAAO,GACR,EAAE;IACD,mBAAmB,EAAE,MAAM,CAAA;IAC3B,iBAAiB,EAAE,MAAM,CAAA;IACzB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,CAAC,CAAA;CACX,GAAG,UAAU,CAAC,CAAC,CAAC,CAUhB;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,gBAAgB,GAAG,WAAW,CAAC,OAAO,WAAW,CAAC,IAAI,CAAC,EAChE,YAAY,EAAE,MAAM,GACnB,MAAM,CA6CR;AAED;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,GAC5B,qBAAqB,MAAM,EAC3B,mBAAmB,MAAM,EACzB,QAAQ,MAAM,KACb,MAOF,CAAA"}
@@ -4,6 +4,11 @@ import { LEAF_DOMAIN_SEPARATOR } from "../hasher/common.js";
4
4
  import { CCIPVersion } from "../types.js";
5
5
  import { getAddressBytes, networkInfo } from "../utils.js";
6
6
  import { encodeNumber, encodeRawBytes } from "./utils.js";
7
+ /**
8
+ * Creates a leaf hasher for Aptos CCIP messages.
9
+ * @param lane - Lane configuration with selectors and onRamp.
10
+ * @returns Leaf hasher function for the specified version.
11
+ */
7
12
  export function getAptosLeafHasher({ sourceChainSelector, destChainSelector, onRamp, version, }) {
8
13
  let metadataHash;
9
14
  switch (version) {
@@ -14,6 +19,12 @@ export function getAptosLeafHasher({ sourceChainSelector, destChainSelector, onR
14
19
  throw new Error(`Unsupported hasher version for Aptos: ${version}`);
15
20
  }
16
21
  }
22
+ /**
23
+ * Computes the leaf hash for a v1.6 Aptos CCIP message.
24
+ * @param message - CCIP message to hash.
25
+ * @param metadataHash - Pre-computed metadata hash for the lane.
26
+ * @returns Keccak256 hash of the message.
27
+ */
17
28
  export function hashV16AptosMessage(message, metadataHash) {
18
29
  let gasLimit;
19
30
  if (!('gasLimit' in message)) {
@@ -52,6 +63,13 @@ export function hashV16AptosMessage(message, metadataHash) {
52
63
  ]);
53
64
  return keccak256(outerHash);
54
65
  }
66
+ /**
67
+ * Computes the metadata hash for Aptos CCIP lane.
68
+ * @param sourceChainSelector - Source chain selector.
69
+ * @param destChainSelector - Destination chain selector.
70
+ * @param onRamp - OnRamp address.
71
+ * @returns Keccak256 hash of the lane metadata.
72
+ */
55
73
  export const hashAptosMetadata = (sourceChainSelector, destChainSelector, onRamp) => {
56
74
  const versionHash = id('Any2AptosMessageHashV1');
57
75
  const encodedSource = encodeNumber(sourceChainSelector);
@@ -1 +1 @@
1
- {"version":3,"file":"hasher.js","sourceRoot":"","sources":["../../src/aptos/hasher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hasher.js","sourceRoot":"","sources":["../../src/aptos/hasher.ts"],"names":[],"mappings":"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"}
@@ -1,71 +1,165 @@
1
1
  import { Aptos, AptosConfig, Network } from '@aptos-labs/ts-sdk';
2
2
  import { type BytesLike } from 'ethers';
3
- import { type ChainTransaction, type LogFilter, type TokenInfo, type TokenPoolRemote, Chain, ChainFamily } from '../chain.ts';
3
+ import type { PickDeep } from 'type-fest';
4
+ import { type LogFilter, type TokenInfo, type TokenPoolRemote, Chain } from '../chain.ts';
4
5
  import { type EVMExtraArgsV2, type ExtraArgs, type SVMExtraArgsV1 } from '../extra-args.ts';
5
6
  import type { LeafHasher } from '../hasher/common.ts';
6
- import type { AnyMessage, CCIPMessage, CCIPRequest, CommitReport, ExecutionReceipt, ExecutionReport, Lane, Log_, NetworkInfo, OffchainTokenData } from '../types.ts';
7
- import { type AptosAsyncAccount } from './types.ts';
7
+ import { type AnyMessage, type CCIPMessage, type CCIPRequest, type ChainTransaction, type CommitReport, type ExecutionReceipt, type ExecutionReport, type Lane, type Log_, type NetworkInfo, type OffchainTokenData, type WithLogger, ChainFamily } from '../types.ts';
8
+ import { type UnsignedAptosTx } from './types.ts';
9
+ /**
10
+ * Aptos chain implementation supporting Aptos networks.
11
+ */
8
12
  export declare class AptosChain extends Chain<typeof ChainFamily.Aptos> {
9
13
  static readonly family: "aptos";
10
14
  static readonly decimals = 8;
11
- readonly network: NetworkInfo<typeof ChainFamily.Aptos>;
12
- readonly provider: Aptos;
15
+ provider: Aptos;
13
16
  getTokenInfo: (token: string) => Promise<TokenInfo>;
14
17
  _getAccountModulesNames: (address: string) => Promise<string[]>;
15
- constructor(provider: Aptos, network: NetworkInfo);
16
- static fromProvider(provider: Aptos): Promise<AptosChain>;
17
- static fromAptosConfig(config: AptosConfig): Promise<AptosChain>;
18
- static fromUrl(url: string | Network, network?: Network): Promise<AptosChain>;
19
- destroy(): Promise<void>;
18
+ /**
19
+ * Creates a new AptosChain instance.
20
+ * @param provider - Aptos SDK provider instance.
21
+ * @param network - Network information for this chain.
22
+ */
23
+ constructor(provider: Aptos, network: NetworkInfo, ctx?: WithLogger);
24
+ /**
25
+ * Creates an AptosChain instance from an existing Aptos provider.
26
+ * @param provider - Aptos SDK provider instance.
27
+ * @param ctx - context containing logger.
28
+ * @returns A new AptosChain instance.
29
+ */
30
+ static fromProvider(provider: Aptos, ctx?: WithLogger): Promise<AptosChain>;
31
+ /**
32
+ * Creates an AptosChain instance from an Aptos configuration.
33
+ * @param config - Aptos configuration object.
34
+ * @param ctx - context containing logger.
35
+ * @returns A new AptosChain instance.
36
+ */
37
+ static fromAptosConfig(config: AptosConfig, ctx?: WithLogger): Promise<AptosChain>;
38
+ /**
39
+ * Creates an AptosChain instance from a URL or network identifier.
40
+ * @param url - RPC URL, Aptos Network enum value or [fullNodeUrl, Network] tuple.
41
+ * @param ctx - context containing logger
42
+ * @returns A new AptosChain instance.
43
+ */
44
+ static fromUrl(url: string | Network | readonly [string, Network], ctx?: WithLogger): Promise<AptosChain>;
45
+ /** {@inheritDoc Chain.getBlockTimestamp} */
20
46
  getBlockTimestamp(version: number | 'finalized'): Promise<number>;
47
+ /** {@inheritDoc Chain.getTransaction} */
21
48
  getTransaction(hashOrVersion: string | number): Promise<ChainTransaction>;
49
+ /** {@inheritDoc Chain.getLogs} */
22
50
  getLogs(opts: LogFilter & {
23
51
  versionAsHash?: boolean;
24
52
  }): AsyncIterableIterator<Log_>;
25
- typeAndVersion(address: string): Promise<[type_: string, version: string, typeAndVersion: string] | [type_: string, version: string, typeAndVersion: string, suffix: string]>;
53
+ /** {@inheritDoc Chain.fetchRequestsInTx} */
54
+ fetchRequestsInTx(tx: string | ChainTransaction): Promise<CCIPRequest[]>;
55
+ /** {@inheritDoc Chain.fetchRequestById} */
56
+ fetchRequestById(messageId: string, onRamp?: string, opts?: {
57
+ page?: number;
58
+ }): Promise<CCIPRequest>;
59
+ /** {@inheritDoc Chain.fetchAllMessagesInBatch} */
60
+ fetchAllMessagesInBatch<R extends PickDeep<CCIPRequest, 'lane' | `log.${'topics' | 'address' | 'blockNumber'}` | 'message.header.sequenceNumber'>>(request: R, commit: Pick<CommitReport, 'minSeqNr' | 'maxSeqNr'>, opts?: {
61
+ page?: number;
62
+ }): Promise<R['message'][]>;
63
+ /** {@inheritDoc Chain.typeAndVersion} */
64
+ typeAndVersion(address: string): Promise<[type: string, version: string, typeAndVersion: string, suffix?: string | undefined]>;
65
+ /** {@inheritDoc Chain.getRouterForOnRamp} */
26
66
  getRouterForOnRamp(onRamp: string, _destChainSelector: bigint): Promise<string>;
67
+ /** {@inheritDoc Chain.getRouterForOffRamp} */
27
68
  getRouterForOffRamp(offRamp: string, _sourceChainSelector: bigint): Promise<string>;
69
+ /** {@inheritDoc Chain.getNativeTokenForRouter} */
28
70
  getNativeTokenForRouter(_router: string): Promise<string>;
71
+ /** {@inheritDoc Chain.getOffRampsForRouter} */
29
72
  getOffRampsForRouter(router: string, _sourceChainSelector: bigint): Promise<string[]>;
73
+ /** {@inheritDoc Chain.getOnRampForRouter} */
30
74
  getOnRampForRouter(router: string, _destChainSelector: bigint): Promise<string>;
75
+ /** {@inheritDoc Chain.getOnRampForOffRamp} */
31
76
  getOnRampForOffRamp(offRamp: string, sourceChainSelector: bigint): Promise<string>;
77
+ /** {@inheritDoc Chain.getCommitStoreForOffRamp} */
32
78
  getCommitStoreForOffRamp(offRamp: string): Promise<string>;
79
+ /** {@inheritDoc Chain.getTokenForTokenPool} */
33
80
  getTokenForTokenPool(tokenPool: string): Promise<string>;
81
+ /** {@inheritDoc Chain.getTokenAdminRegistryFor} */
34
82
  getTokenAdminRegistryFor(address: string): Promise<string>;
35
- static getWallet(_opts?: {
36
- wallet?: unknown;
37
- }): Promise<AptosAsyncAccount>;
38
- getWallet(opts?: {
39
- wallet?: unknown;
40
- }): Promise<AptosAsyncAccount>;
41
- getWalletAddress(opts?: {
42
- wallet?: unknown;
43
- }): Promise<string>;
83
+ /**
84
+ * Decodes a CCIP message from an Aptos log event.
85
+ * @param log - Log with data field.
86
+ * @returns Decoded CCIPMessage or undefined if not valid.
87
+ */
44
88
  static decodeMessage(log: {
45
89
  data: BytesLike | Record<string, unknown>;
46
90
  }): CCIPMessage | undefined;
91
+ /**
92
+ * Decodes extra arguments from Aptos CCIP messages.
93
+ * @param extraArgs - Encoded extra arguments bytes.
94
+ * @returns Decoded extra arguments or undefined if unknown format.
95
+ */
47
96
  static decodeExtraArgs(extraArgs: BytesLike): (EVMExtraArgsV2 & {
48
97
  _tag: 'EVMExtraArgsV2';
49
98
  }) | (SVMExtraArgsV1 & {
50
99
  _tag: 'SVMExtraArgsV1';
51
100
  }) | undefined;
101
+ /**
102
+ * Encodes extra arguments for Aptos CCIP messages.
103
+ * @param extraArgs - Extra arguments to encode.
104
+ * @returns Encoded extra arguments as hex string.
105
+ */
52
106
  static encodeExtraArgs(extraArgs: ExtraArgs): string;
107
+ /**
108
+ * Decodes commit reports from an Aptos log event.
109
+ * @param log - Log with data field.
110
+ * @param lane - Lane info for filtering.
111
+ * @returns Array of CommitReport or undefined if not valid.
112
+ */
53
113
  static decodeCommits({ data }: Pick<Log_, 'data'>, lane?: Lane): CommitReport[] | undefined;
114
+ /**
115
+ * Decodes an execution receipt from an Aptos log event.
116
+ * @param log - Log with data field.
117
+ * @returns ExecutionReceipt or undefined if not valid.
118
+ */
54
119
  static decodeReceipt({ data }: Pick<Log_, 'data'>): ExecutionReceipt | undefined;
120
+ /**
121
+ * Converts bytes to an Aptos address.
122
+ * @param bytes - Bytes to convert.
123
+ * @returns Aptos address (0x-prefixed hex, 32 bytes padded).
124
+ */
55
125
  static getAddress(bytes: BytesLike): string;
56
- static getDestLeafHasher(lane: Lane): LeafHasher;
126
+ /**
127
+ * Gets the leaf hasher for Aptos destination chains.
128
+ * @param lane - Lane configuration.
129
+ * @returns Leaf hasher function.
130
+ */
131
+ static getDestLeafHasher(lane: Lane, _ctx?: WithLogger): LeafHasher;
132
+ /** {@inheritDoc Chain.getFee} */
57
133
  getFee(router: string, destChainSelector: bigint, message: AnyMessage): Promise<bigint>;
134
+ /** generate raw/unsigned `ccip_send` transaction */
135
+ generateUnsignedSendMessage(sender: string, router: string, destChainSelector: bigint, message: AnyMessage & {
136
+ fee?: bigint;
137
+ }, opts: {
138
+ approveMax?: boolean;
139
+ }): Promise<UnsignedAptosTx>;
140
+ /** {@inheritDoc Chain.sendMessage} */
58
141
  sendMessage(router: string, destChainSelector: bigint, message: AnyMessage & {
59
- fee: bigint;
60
- }, opts?: {
61
- wallet?: unknown;
142
+ fee?: bigint;
143
+ }, opts: {
144
+ wallet: unknown;
62
145
  approveMax?: boolean;
63
- }): Promise<ChainTransaction>;
146
+ }): Promise<CCIPRequest>;
147
+ /** {@inheritDoc Chain.fetchOffchainTokenData} */
64
148
  fetchOffchainTokenData(request: CCIPRequest): Promise<OffchainTokenData[]>;
65
- executeReport(offRamp: string, execReport: ExecutionReport, opts?: {
66
- wallet?: unknown;
149
+ /** generate raw/unsigned `manually_execute` transaction data */
150
+ generateUnsignedExecuteReport(payer: string, offRamp: string, execReport: ExecutionReport, opts: {
151
+ gasLimit?: number;
152
+ }): Promise<UnsignedAptosTx>;
153
+ /** {@inheritDoc Chain.executeReport} */
154
+ executeReport(offRamp: string, execReport: ExecutionReport, opts: {
155
+ wallet: unknown;
67
156
  gasLimit?: number;
68
157
  }): Promise<ChainTransaction>;
158
+ /**
159
+ * Parses raw Aptos data into typed structures.
160
+ * @param data - Raw data to parse.
161
+ * @returns Parsed data or undefined.
162
+ */
69
163
  static parse(data: unknown): (import("../extra-args.ts").EVMExtraArgsV1 & {
70
164
  allowOutOfOrderExecution: boolean;
71
165
  } & {
@@ -73,20 +167,25 @@ export declare class AptosChain extends Chain<typeof ChainFamily.Aptos> {
73
167
  }) | (SVMExtraArgsV1 & {
74
168
  _tag: "SVMExtraArgsV1";
75
169
  }) | undefined;
170
+ /** {@inheritDoc Chain.getSupportedTokens} */
76
171
  getSupportedTokens(address: string, opts?: {
77
172
  page?: number;
78
173
  }): Promise<string[]>;
174
+ /** {@inheritDoc Chain.getRegistryTokenConfig} */
79
175
  getRegistryTokenConfig(registry: string, token: string): Promise<{
80
176
  administrator: string;
81
177
  pendingAdministrator?: string;
82
178
  tokenPool?: string;
83
179
  }>;
180
+ /** {@inheritDoc Chain.getTokenPoolConfigs} */
84
181
  getTokenPoolConfigs(tokenPool: string): Promise<{
85
182
  token: string;
86
183
  router: string;
87
184
  typeAndVersion?: string;
88
185
  }>;
186
+ /** {@inheritDoc Chain.getTokenPoolRemotes} */
89
187
  getTokenPoolRemotes(tokenPool: string, remoteChainSelector?: bigint): Promise<Record<string, TokenPoolRemote>>;
90
- listFeeTokens(router: string): Promise<Record<string, TokenInfo>>;
188
+ /** {@inheritDoc Chain.getFeeTokens} */
189
+ getFeeTokens(router: string): Promise<Record<string, TokenInfo>>;
91
190
  }
92
191
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/aptos/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,EACL,WAAW,EAEX,OAAO,EAER,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EACL,KAAK,SAAS,EAUf,MAAM,QAAQ,CAAA;AAIf,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,eAAe,EACpB,KAAK,EACL,WAAW,EACZ,MAAM,aAAa,CAAA;AACpB,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,SAAS,EACd,KAAK,cAAc,EAGpB,MAAM,kBAAkB,CAAA;AACzB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAErD,OAAO,KAAK,EACV,UAAU,EACV,WAAW,EACX,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,IAAI,EACJ,IAAI,EACJ,WAAW,EACX,iBAAiB,EAClB,MAAM,aAAa,CAAA;AAcpB,OAAO,EAAE,KAAK,iBAAiB,EAA4C,MAAM,YAAY,CAAA;AAI7F,qBAAa,UAAW,SAAQ,KAAK,CAAC,OAAO,WAAW,CAAC,KAAK,CAAC;IAC7D,MAAM,CAAC,QAAQ,CAAC,MAAM,UAAoB;IAC1C,MAAM,CAAC,QAAQ,CAAC,QAAQ,KAAI;IAE5B,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,OAAO,WAAW,CAAC,KAAK,CAAC,CAAA;IACvD,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAA;IAExB,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,SAAS,CAAC,CAAA;IACnD,uBAAuB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;gBAEnD,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW;WA4CpC,YAAY,CAAC,QAAQ,EAAE,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC;WAIlD,eAAe,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;WAKzD,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC;IAgB7E,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAIxB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC;IAIjE,cAAc,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA8BxE,OAAO,CAAC,IAAI,EAAE,SAAS,GAAG;QAAE,aAAa,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,qBAAqB,CAAC,IAAI,CAAC;IAIpF,cAAc,CAClB,OAAO,EAAE,MAAM,GACd,OAAO,CACN,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,CAAC,GACxD,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAC3E;IAUD,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAK/E,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAInF,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAIzD,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAIrF,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAIzE,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAWxF,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAIpD,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAoBxD,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAShE,MAAM,CAAC,SAAS,CAAC,KAAK,GAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAKxE,SAAS,CAAC,IAAI,GAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAStE,gBAAgB,CAAC,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAKpE,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE;QACxB,IAAI,EAAE,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAC1C,GAAG,WAAW,GAAG,SAAS;IAgB3B,MAAM,CAAC,eAAe,CACpB,SAAS,EAAE,SAAS,GAElB,CAAC,cAAc,GAAG;QAAE,IAAI,EAAE,gBAAgB,CAAA;KAAE,CAAC,GAC7C,CAAC,cAAc,GAAG;QAAE,IAAI,EAAE,gBAAgB,CAAA;KAAE,CAAC,GAC7C,SAAS;IA+Bb,MAAM,CAAC,eAAe,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM;IAgBpD,MAAM,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,YAAY,EAAE,GAAG,SAAS;IAyB3F,MAAM,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,gBAAgB,GAAG,SAAS;IAShF,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM;IAe3C,MAAM,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,GAAG,UAAU;IAI1C,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;IAIvF,WAAW,CACf,MAAM,EAAE,MAAM,EACd,iBAAiB,EAAE,MAAM,EACzB,OAAO,EAAE,UAAU,GAAG;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,EACrC,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE,GAChD,OAAO,CAAC,gBAAgB,CAAC;IAS5B,sBAAsB,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAKpE,aAAa,CACjB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,eAAe,EAC3B,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAC7C,OAAO,CAAC,gBAAgB,CAAC;IAkB5B,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO;;;cAnJI,gBAAgB;;cAChB,gBAAgB;;IAyJxC,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAkBhF,sBAAsB,CAC1B,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC;QACT,aAAa,EAAE,MAAM,CAAA;QACrB,oBAAoB,CAAC,EAAE,MAAM,CAAA;QAC7B,SAAS,CAAC,EAAE,MAAM,CAAA;KACnB,CAAC;IAmBI,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;QACpD,KAAK,EAAE,MAAM,CAAA;QACb,MAAM,EAAE,MAAM,CAAA;QACd,cAAc,CAAC,EAAE,MAAM,CAAA;KACxB,CAAC;IAkCI,mBAAmB,CACvB,SAAS,EAAE,MAAM,EACjB,mBAAmB,CAAC,EAAE,MAAM,GAC3B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IA6FrC,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;CAaxE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/aptos/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EACL,WAAW,EAEX,OAAO,EAGR,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EACL,KAAK,SAAS,EAUf,MAAM,QAAQ,CAAA;AAEf,OAAO,KAAK,EAAE,QAAQ,EAAe,MAAM,WAAW,CAAA;AAGtD,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,KAAK,eAAe,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACzF,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,SAAS,EACd,KAAK,cAAc,EAGpB,MAAM,kBAAkB,CAAA;AACzB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAErD,OAAO,EACL,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,IAAI,EACT,KAAK,IAAI,EACT,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,UAAU,EACf,WAAW,EACZ,MAAM,aAAa,CAAA;AAepB,OAAO,EACL,KAAK,eAAe,EAIrB,MAAM,YAAY,CAAA;AASnB;;GAEG;AACH,qBAAa,UAAW,SAAQ,KAAK,CAAC,OAAO,WAAW,CAAC,KAAK,CAAC;IAI7D,MAAM,CAAC,QAAQ,CAAC,MAAM,UAAoB;IAC1C,MAAM,CAAC,QAAQ,CAAC,QAAQ,KAAI;IAE5B,QAAQ,EAAE,KAAK,CAAA;IAEf,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,SAAS,CAAC,CAAA;IACnD,uBAAuB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;IAE/D;;;;OAIG;gBACS,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,CAAC,EAAE,UAAU;IAuCnE;;;;;OAKG;WACU,YAAY,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IAIjF;;;;;OAKG;WACU,eAAe,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IAKxF;;;;;OAKG;WACU,OAAO,CAClB,GAAG,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,EAClD,GAAG,CAAC,EAAE,UAAU,GACf,OAAO,CAAC,UAAU,CAAC;IAiBtB,4CAA4C;IACtC,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC;IAIvE,yCAAyC;IACnC,cAAc,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA6B/E,kCAAkC;IAC3B,OAAO,CAAC,IAAI,EAAE,SAAS,GAAG;QAAE,aAAa,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,qBAAqB,CAAC,IAAI,CAAC;IAI1F,4CAA4C;IACtC,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,gBAAgB,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAI9E,2CAA2C;IAC5B,gBAAgB,CAC7B,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,EACf,IAAI,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GACvB,OAAO,CAAC,WAAW,CAAC;IAQvB,kDAAkD;IAC5C,uBAAuB,CAC3B,CAAC,SAAS,QAAQ,CAChB,WAAW,EACX,MAAM,GAAG,OAAO,QAAQ,GAAG,SAAS,GAAG,aAAa,EAAE,GAAG,+BAA+B,CACzF,EAED,OAAO,EAAE,CAAC,EACV,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,UAAU,GAAG,UAAU,CAAC,EACnD,IAAI,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GACvB,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC;IAI1B,yCAAyC;IACnC,cAAc,CAAC,OAAO,EAAE,MAAM;IAUpC,6CAA6C;IAC7C,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAK/E,8CAA8C;IAC9C,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAInF,kDAAkD;IAClD,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAIzD,+CAA+C;IAC/C,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAIrF,6CAA6C;IAC7C,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAI/E,8CAA8C;IACxC,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAWxF,mDAAmD;IACnD,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAI1D,+CAA+C;IACzC,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAoB9D,mDAAmD;IAC7C,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAShE;;;;OAIG;IACH,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE;QACxB,IAAI,EAAE,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAC1C,GAAG,WAAW,GAAG,SAAS;IAe3B;;;;OAIG;IACH,MAAM,CAAC,eAAe,CACpB,SAAS,EAAE,SAAS,GAElB,CAAC,cAAc,GAAG;QAAE,IAAI,EAAE,gBAAgB,CAAA;KAAE,CAAC,GAC7C,CAAC,cAAc,GAAG;QAAE,IAAI,EAAE,gBAAgB,CAAA;KAAE,CAAC,GAC7C,SAAS;IA8Bb;;;;OAIG;IACH,MAAM,CAAC,eAAe,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM;IAgBpD;;;;;OAKG;IACH,MAAM,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,YAAY,EAAE,GAAG,SAAS;IAyB3F;;;;OAIG;IACH,MAAM,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,gBAAgB,GAAG,SAAS;IAShF;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM;IAe3C;;;;OAIG;IACH,MAAM,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,UAAU,GAAG,UAAU;IAInE,iCAAiC;IAC3B,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;IAI7F,oDAAoD;IAC9C,2BAA2B,CAC/B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,iBAAiB,EAAE,MAAM,EACzB,OAAO,EAAE,UAAU,GAAG;QAAE,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,EACtC,IAAI,EAAE;QAAE,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE,GAC7B,OAAO,CAAC,eAAe,CAAC;IAgB3B,sCAAsC;IAChC,WAAW,CACf,MAAM,EAAE,MAAM,EACd,iBAAiB,EAAE,MAAM,EACzB,OAAO,EAAE,UAAU,GAAG;QAAE,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,EACtC,IAAI,EAAE;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE,GAC9C,OAAO,CAAC,WAAW,CAAC;IAiCvB,iDAAiD;IACjD,sBAAsB,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAK1E,gEAAgE;IAC1D,6BAA6B,CACjC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,eAAe,EAC3B,IAAI,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAC1B,OAAO,CAAC,eAAe,CAAC;IAkB3B,wCAAwC;IAClC,aAAa,CACjB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,eAAe,EAC3B,IAAI,EAAE;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAC3C,OAAO,CAAC,gBAAgB,CAAC;IA8B5B;;;;OAIG;IACH,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO;;;cAxQI,gBAAgB;;cAChB,gBAAgB;;IA8Q9C,6CAA6C;IACvC,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAkBtF,iDAAiD;IAC3C,sBAAsB,CAC1B,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC;QACT,aAAa,EAAE,MAAM,CAAA;QACrB,oBAAoB,CAAC,EAAE,MAAM,CAAA;QAC7B,SAAS,CAAC,EAAE,MAAM,CAAA;KACnB,CAAC;IAmBF,8CAA8C;IACxC,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;QACpD,KAAK,EAAE,MAAM,CAAA;QACb,MAAM,EAAE,MAAM,CAAA;QACd,cAAc,CAAC,EAAE,MAAM,CAAA;KACxB,CAAC;IAkCF,8CAA8C;IACxC,mBAAmB,CACvB,SAAS,EAAE,MAAM,EACjB,mBAAmB,CAAC,EAAE,MAAM,GAC3B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IA6F3C,uCAAuC;IACjC,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;CAavE"}