@chainlink/ccip-sdk 0.92.0 → 0.93.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 (223) hide show
  1. package/README.md +20 -18
  2. package/dist/api/index.d.ts +103 -0
  3. package/dist/api/index.d.ts.map +1 -0
  4. package/dist/api/index.js +141 -0
  5. package/dist/api/index.js.map +1 -0
  6. package/dist/api/types.d.ts +38 -0
  7. package/dist/api/types.d.ts.map +1 -0
  8. package/dist/api/types.js +2 -0
  9. package/dist/api/types.js.map +1 -0
  10. package/dist/aptos/index.d.ts +20 -33
  11. package/dist/aptos/index.d.ts.map +1 -1
  12. package/dist/aptos/index.js +34 -26
  13. package/dist/aptos/index.js.map +1 -1
  14. package/dist/aptos/logs.js +1 -1
  15. package/dist/aptos/logs.js.map +1 -1
  16. package/dist/aptos/token.js.map +1 -1
  17. package/dist/chain.d.ts +206 -71
  18. package/dist/chain.d.ts.map +1 -1
  19. package/dist/chain.js +89 -20
  20. package/dist/chain.js.map +1 -1
  21. package/dist/commits.d.ts +2 -2
  22. package/dist/commits.d.ts.map +1 -1
  23. package/dist/commits.js +4 -4
  24. package/dist/commits.js.map +1 -1
  25. package/dist/errors/CCIPError.d.ts.map +1 -1
  26. package/dist/errors/CCIPError.js +3 -2
  27. package/dist/errors/CCIPError.js.map +1 -1
  28. package/dist/errors/codes.d.ts +4 -1
  29. package/dist/errors/codes.d.ts.map +1 -1
  30. package/dist/errors/codes.js +6 -1
  31. package/dist/errors/codes.js.map +1 -1
  32. package/dist/errors/index.d.ts +5 -2
  33. package/dist/errors/index.d.ts.map +1 -1
  34. package/dist/errors/index.js +8 -2
  35. package/dist/errors/index.js.map +1 -1
  36. package/dist/errors/recovery.d.ts.map +1 -1
  37. package/dist/errors/recovery.js +4 -1
  38. package/dist/errors/recovery.js.map +1 -1
  39. package/dist/errors/specialized.d.ts +29 -4
  40. package/dist/errors/specialized.d.ts.map +1 -1
  41. package/dist/errors/specialized.js +48 -6
  42. package/dist/errors/specialized.js.map +1 -1
  43. package/dist/evm/errors.js.map +1 -1
  44. package/dist/evm/index.d.ts +24 -48
  45. package/dist/evm/index.d.ts.map +1 -1
  46. package/dist/evm/index.js +71 -59
  47. package/dist/evm/index.js.map +1 -1
  48. package/dist/evm/logs.js.map +1 -1
  49. package/dist/evm/offchain.js +3 -2
  50. package/dist/evm/offchain.js.map +1 -1
  51. package/dist/evm/viem/client-adapter.d.ts +68 -0
  52. package/dist/evm/viem/client-adapter.d.ts.map +1 -0
  53. package/dist/evm/viem/client-adapter.js +104 -0
  54. package/dist/evm/viem/client-adapter.js.map +1 -0
  55. package/dist/evm/viem/index.d.ts +29 -0
  56. package/dist/evm/viem/index.d.ts.map +1 -0
  57. package/dist/evm/viem/index.js +28 -0
  58. package/dist/evm/viem/index.js.map +1 -0
  59. package/dist/evm/viem/types.d.ts +13 -0
  60. package/dist/evm/viem/types.d.ts.map +1 -0
  61. package/dist/evm/viem/types.js +2 -0
  62. package/dist/evm/viem/types.js.map +1 -0
  63. package/dist/evm/viem/wallet-adapter.d.ts +58 -0
  64. package/dist/evm/viem/wallet-adapter.d.ts.map +1 -0
  65. package/dist/evm/viem/wallet-adapter.js +197 -0
  66. package/dist/evm/viem/wallet-adapter.js.map +1 -0
  67. package/dist/execution.d.ts +1 -1
  68. package/dist/execution.d.ts.map +1 -1
  69. package/dist/execution.js +2 -2
  70. package/dist/execution.js.map +1 -1
  71. package/dist/explorer.d.ts +74 -0
  72. package/dist/explorer.d.ts.map +1 -0
  73. package/dist/explorer.js +67 -0
  74. package/dist/explorer.js.map +1 -0
  75. package/dist/gas.js.map +1 -1
  76. package/dist/hasher/merklemulti.js.map +1 -1
  77. package/dist/http-status.d.ts +20 -0
  78. package/dist/http-status.d.ts.map +1 -0
  79. package/dist/http-status.js +25 -0
  80. package/dist/http-status.js.map +1 -0
  81. package/dist/index.d.ts +11 -4
  82. package/dist/index.d.ts.map +1 -1
  83. package/dist/index.js +5 -3
  84. package/dist/index.js.map +1 -1
  85. package/dist/offchain.js.map +1 -1
  86. package/dist/requests.d.ts +4 -4
  87. package/dist/requests.d.ts.map +1 -1
  88. package/dist/requests.js +6 -6
  89. package/dist/requests.js.map +1 -1
  90. package/dist/solana/cleanup.js +2 -2
  91. package/dist/solana/cleanup.js.map +1 -1
  92. package/dist/solana/exec.js +1 -5
  93. package/dist/solana/exec.js.map +1 -1
  94. package/dist/solana/index.d.ts +28 -57
  95. package/dist/solana/index.d.ts.map +1 -1
  96. package/dist/solana/index.js +66 -70
  97. package/dist/solana/index.js.map +1 -1
  98. package/dist/solana/logs.js +2 -2
  99. package/dist/solana/logs.js.map +1 -1
  100. package/dist/solana/offchain.js +3 -3
  101. package/dist/solana/offchain.js.map +1 -1
  102. package/dist/solana/send.js +1 -1
  103. package/dist/solana/send.js.map +1 -1
  104. package/dist/solana/utils.js +1 -1
  105. package/dist/solana/utils.js.map +1 -1
  106. package/dist/sui/discovery.d.ts.map +1 -1
  107. package/dist/sui/discovery.js +2 -5
  108. package/dist/sui/discovery.js.map +1 -1
  109. package/dist/sui/events.d.ts.map +1 -1
  110. package/dist/sui/events.js +2 -8
  111. package/dist/sui/events.js.map +1 -1
  112. package/dist/sui/index.d.ts +18 -29
  113. package/dist/sui/index.d.ts.map +1 -1
  114. package/dist/sui/index.js +24 -26
  115. package/dist/sui/index.js.map +1 -1
  116. package/dist/sui/manuallyExec/encoder.d.ts.map +1 -1
  117. package/dist/sui/manuallyExec/encoder.js +0 -3
  118. package/dist/sui/manuallyExec/encoder.js.map +1 -1
  119. package/dist/sui/manuallyExec/index.d.ts.map +1 -1
  120. package/dist/sui/manuallyExec/index.js +1 -2
  121. package/dist/sui/manuallyExec/index.js.map +1 -1
  122. package/dist/sui/objects.js +4 -4
  123. package/dist/sui/objects.js.map +1 -1
  124. package/dist/ton/exec.d.ts +2 -2
  125. package/dist/ton/exec.d.ts.map +1 -1
  126. package/dist/ton/exec.js.map +1 -1
  127. package/dist/ton/hasher.js +5 -5
  128. package/dist/ton/hasher.js.map +1 -1
  129. package/dist/ton/index.d.ts +54 -49
  130. package/dist/ton/index.d.ts.map +1 -1
  131. package/dist/ton/index.js +331 -236
  132. package/dist/ton/index.js.map +1 -1
  133. package/dist/ton/logs.d.ts +11 -22
  134. package/dist/ton/logs.d.ts.map +1 -1
  135. package/dist/ton/logs.js +95 -118
  136. package/dist/ton/logs.js.map +1 -1
  137. package/dist/ton/types.d.ts +9 -9
  138. package/dist/ton/types.d.ts.map +1 -1
  139. package/dist/ton/types.js +5 -9
  140. package/dist/ton/types.js.map +1 -1
  141. package/dist/ton/utils.d.ts +8 -27
  142. package/dist/ton/utils.d.ts.map +1 -1
  143. package/dist/ton/utils.js +31 -111
  144. package/dist/ton/utils.js.map +1 -1
  145. package/dist/types.d.ts +34 -0
  146. package/dist/types.d.ts.map +1 -1
  147. package/dist/types.js +30 -0
  148. package/dist/types.js.map +1 -1
  149. package/dist/utils.d.ts +6 -5
  150. package/dist/utils.d.ts.map +1 -1
  151. package/dist/utils.js +76 -52
  152. package/dist/utils.js.map +1 -1
  153. package/dist/viem.d.ts +6 -0
  154. package/dist/viem.d.ts.map +1 -0
  155. package/dist/viem.js +6 -0
  156. package/dist/viem.js.map +1 -0
  157. package/package.json +18 -3
  158. package/src/api/index.ts +167 -0
  159. package/src/api/types.ts +39 -0
  160. package/src/aptos/index.ts +57 -64
  161. package/src/aptos/logs.ts +10 -10
  162. package/src/aptos/token.ts +1 -1
  163. package/src/chain.ts +274 -97
  164. package/src/commits.ts +5 -5
  165. package/src/errors/CCIPError.ts +5 -2
  166. package/src/errors/codes.ts +8 -1
  167. package/src/errors/index.ts +15 -2
  168. package/src/errors/recovery.ts +9 -1
  169. package/src/errors/specialized.ts +61 -6
  170. package/src/evm/errors.ts +2 -2
  171. package/src/evm/index.ts +107 -120
  172. package/src/evm/logs.ts +4 -4
  173. package/src/evm/offchain.ts +5 -4
  174. package/src/evm/viem/client-adapter.ts +124 -0
  175. package/src/evm/viem/index.ts +29 -0
  176. package/src/evm/viem/types.ts +14 -0
  177. package/src/evm/viem/wallet-adapter.ts +233 -0
  178. package/src/execution.ts +9 -9
  179. package/src/explorer.ts +90 -0
  180. package/src/gas.ts +2 -2
  181. package/src/hasher/merklemulti.ts +7 -7
  182. package/src/http-status.ts +31 -0
  183. package/src/index.ts +19 -1
  184. package/src/offchain.ts +1 -1
  185. package/src/requests.ts +9 -12
  186. package/src/solana/cleanup.ts +4 -4
  187. package/src/solana/exec.ts +13 -18
  188. package/src/solana/index.ts +92 -117
  189. package/src/solana/logs.ts +8 -8
  190. package/src/solana/offchain.ts +3 -3
  191. package/src/solana/send.ts +20 -20
  192. package/src/solana/utils.ts +4 -4
  193. package/src/sui/discovery.ts +4 -10
  194. package/src/sui/events.ts +5 -12
  195. package/src/sui/index.ts +36 -48
  196. package/src/sui/manuallyExec/encoder.ts +0 -4
  197. package/src/sui/manuallyExec/index.ts +1 -3
  198. package/src/sui/objects.ts +14 -14
  199. package/src/ton/exec.ts +2 -5
  200. package/src/ton/hasher.ts +5 -5
  201. package/src/ton/index.ts +392 -316
  202. package/src/ton/logs.ts +122 -143
  203. package/src/ton/types.ts +17 -21
  204. package/src/ton/utils.ts +39 -145
  205. package/src/types.ts +36 -0
  206. package/src/utils.ts +96 -66
  207. package/src/viem.ts +5 -0
  208. package/tsconfig.json +3 -2
  209. package/dist/ton/bindings/offramp.d.ts +0 -48
  210. package/dist/ton/bindings/offramp.d.ts.map +0 -1
  211. package/dist/ton/bindings/offramp.js +0 -63
  212. package/dist/ton/bindings/offramp.js.map +0 -1
  213. package/dist/ton/bindings/onramp.d.ts +0 -40
  214. package/dist/ton/bindings/onramp.d.ts.map +0 -1
  215. package/dist/ton/bindings/onramp.js +0 -51
  216. package/dist/ton/bindings/onramp.js.map +0 -1
  217. package/dist/ton/bindings/router.d.ts +0 -47
  218. package/dist/ton/bindings/router.d.ts.map +0 -1
  219. package/dist/ton/bindings/router.js +0 -51
  220. package/dist/ton/bindings/router.js.map +0 -1
  221. package/src/ton/bindings/offramp.ts +0 -96
  222. package/src/ton/bindings/onramp.ts +0 -72
  223. package/src/ton/bindings/router.ts +0 -65
@@ -1,96 +0,0 @@
1
- // TODO: FIXME: Remove local copies and import when chainlink-ton is published as npm package
2
- import type { Address, ContractProvider } from '@ton/core'
3
-
4
- /**
5
- * Configuration for a source chain on the TON OffRamp contract.
6
- */
7
- export interface SourceChainConfig {
8
- router: Address
9
- isEnabled: boolean
10
- minSeqNr: bigint
11
- isRMNVerificationDisabled: boolean
12
- onRamp: Buffer
13
- }
14
-
15
- /**
16
- * Dynamic configuration for the OffRamp contract.
17
- * Contains addresses that can be updated without redeploying the contract.
18
- */
19
- export interface DynamicConfig {
20
- router: Address
21
- feeQuoter: Address
22
- permissionlessExecutionThresholdSeconds: number
23
- }
24
-
25
- /**
26
- * TON OffRamp contract binding.
27
- * The OffRamp receives and executes cross-chain messages on the destination (TON) chain.
28
- */
29
- export class OffRamp {
30
- readonly address: Address
31
-
32
- /**
33
- * Creates a new OffRamp instance.
34
- * @param address - The OffRamp contract address on TON.
35
- */
36
- constructor(address: Address) {
37
- this.address = address
38
- }
39
-
40
- /**
41
- * Creates an OffRamp instance from a contract address.
42
- * @param address - The OffRamp contract address on TON.
43
- * @returns A new OffRamp instance.
44
- */
45
- static createFromAddress(address: Address): OffRamp {
46
- return new OffRamp(address)
47
- }
48
-
49
- /**
50
- * Retrieves the source chain configuration for a given chain selector.
51
- *
52
- * @param provider - TON contract provider for making RPC calls.
53
- * @param sourceChainSelector - The CCIP chain selector of the source chain.
54
- * @returns The source chain configuration.
55
- * @throws Error with exitCode 266 if the source chain is not enabled.
56
- */
57
- async getSourceChainConfig(
58
- provider: ContractProvider,
59
- sourceChainSelector: bigint,
60
- ): Promise<SourceChainConfig> {
61
- const result = await provider.get('sourceChainConfig', [
62
- { type: 'int', value: sourceChainSelector },
63
- ])
64
-
65
- // Tolk returns struct as tuple
66
- const router = result.stack.readAddress()
67
- const isEnabled = result.stack.readBoolean()
68
- const minSeqNr = result.stack.readBigNumber()
69
- const isRMNVerificationDisabled = result.stack.readBoolean()
70
-
71
- // onRamp is stored as CrossChainAddress cell
72
- const onRampCell = result.stack.readCell()
73
- const onRampSlice = onRampCell.beginParse()
74
-
75
- // Check if length-prefixed or raw format based on cell bit length
76
- const cellBits = onRampCell.bits.length
77
- let onRamp: Buffer
78
-
79
- if (cellBits === 160) {
80
- // Raw 20-byte EVM address (no length prefix)
81
- onRamp = onRampSlice.loadBuffer(20)
82
- } else {
83
- // Length-prefixed format: 8-bit length + data
84
- const onRampLength = onRampSlice.loadUint(8)
85
- onRamp = onRampSlice.loadBuffer(onRampLength)
86
- }
87
-
88
- return {
89
- router,
90
- isEnabled,
91
- minSeqNr,
92
- isRMNVerificationDisabled,
93
- onRamp,
94
- }
95
- }
96
- }
@@ -1,72 +0,0 @@
1
- // TODO: FIXME: Remove local copies and import when chainlink-ton is published as npm package
2
- import { type Address, type ContractProvider, Dictionary } from '@ton/core'
3
-
4
- /**
5
- * Configuration for a destination chain on the TON OnRamp contract.
6
- * Contains routing and access control settings for messages going to a specific destination chain.
7
- */
8
- export interface DestChainConfig {
9
- router: Address
10
- sequenceNumber: bigint
11
- allowlistEnabled: boolean
12
- allowedSenders: Dictionary<Address, boolean>
13
- }
14
-
15
- /**
16
- * TON OnRamp contract binding.
17
- * The OnRamp sends cross-chain messages from the source (TON) chain to destination chains.
18
- * It validates messages, assigns sequence numbers, and emits events for the CCIP network.
19
- */
20
- export class OnRamp {
21
- readonly address: Address
22
-
23
- /**
24
- * Creates a new OnRamp instance.
25
- * @param address - The OnRamp contract address on TON.
26
- */
27
- constructor(address: Address) {
28
- this.address = address
29
- }
30
-
31
- /**
32
- * Creates an OnRamp instance from a contract address.
33
- * @param address - The OnRamp contract address on TON.
34
- * @returns A new OnRamp instance.
35
- */
36
- static createFromAddress(address: Address): OnRamp {
37
- return new OnRamp(address)
38
- }
39
-
40
- /**
41
- * Retrieves the destination chain configuration for a given chain selector.
42
- * This includes the router, current sequence number, and allowlist settings.
43
- *
44
- * @param provider - TON contract provider for making RPC calls.
45
- * @param destChainSelector - The CCIP chain selector of the destination chain.
46
- * @returns The destination chain configuration.
47
- */
48
- async getDestChainConfig(
49
- provider: ContractProvider,
50
- destChainSelector: bigint,
51
- ): Promise<DestChainConfig> {
52
- const { stack } = await provider.get('destChainConfig', [
53
- { type: 'int', value: destChainSelector },
54
- ])
55
- const router = stack.readAddress()
56
- const sequenceNumber = stack.readBigNumber()
57
- const allowlistEnabled = stack.readBoolean()
58
- const allowedSendersCell = stack.readCellOpt()
59
- return {
60
- router,
61
- sequenceNumber,
62
- allowlistEnabled,
63
- allowedSenders: allowedSendersCell
64
- ? Dictionary.loadDirect(
65
- Dictionary.Keys.Address(),
66
- Dictionary.Values.Bool(),
67
- allowedSendersCell,
68
- )
69
- : Dictionary.empty(),
70
- }
71
- }
72
- }
@@ -1,65 +0,0 @@
1
- // TODO: FIXME: Remove local copies and import when chainlink-ton is published as npm package
2
- import type { Address, ContractProvider } from '@ton/core'
3
-
4
- /**
5
- * Represents a ramp (OnRamp or OffRamp) configuration in the Router.
6
- */
7
- export interface Ramp {
8
- chainSelector: bigint
9
- address: Address
10
- }
11
-
12
- /**
13
- * TON Router contract binding.
14
- * The Router is the main entry point for CCIP on TON. It routes messages to the appropriate
15
- * OnRamp (for sending) or OffRamp (for receiving) based on the chain selector.
16
- */
17
- export class Router {
18
- readonly address: Address
19
-
20
- /**
21
- * Creates a new Router instance.
22
- * @param address - The Router contract address on TON.
23
- */
24
- constructor(address: Address) {
25
- this.address = address
26
- }
27
-
28
- /**
29
- * Creates a Router instance from a contract address.
30
- * @param address - The Router contract address on TON.
31
- * @returns A new Router instance.
32
- */
33
- static createFromAddress(address: Address): Router {
34
- return new Router(address)
35
- }
36
-
37
- /**
38
- * Gets the OffRamp address for a given source chain selector.
39
- * The OffRamp handles incoming messages from the specified source chain.
40
- *
41
- * @param provider - TON contract provider for making RPC calls.
42
- * @param chainSelector - The CCIP chain selector of the source chain.
43
- * @returns The OffRamp contract address.
44
- * @throws Error with exitCode 261 if the source chain is not enabled.
45
- */
46
- async getOffRamp(provider: ContractProvider, chainSelector: bigint): Promise<Address> {
47
- return provider
48
- .get('offRamp', [{ type: 'int', value: chainSelector }])
49
- .then((r) => r.stack.readAddress())
50
- }
51
-
52
- /**
53
- * Gets the OnRamp address for a given destination chain selector.
54
- * The OnRamp handles outgoing messages to the specified destination chain.
55
- *
56
- * @param provider - TON contract provider for making RPC calls.
57
- * @param destChainSelector - The CCIP chain selector of the destination chain.
58
- * @returns The OnRamp contract address.
59
- */
60
- async getOnRamp(provider: ContractProvider, destChainSelector: bigint): Promise<Address> {
61
- return provider
62
- .get('onRamp', [{ type: 'int', value: destChainSelector }])
63
- .then((r) => r.stack.readAddress())
64
- }
65
- }