@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,2332 @@
1
+ export const IDL = {
2
+ version: '0.1.1',
3
+ name: 'ccip_router',
4
+ docs: [
5
+ 'The `ccip_router` module contains the implementation of the Cross-Chain Interoperability Protocol (CCIP) Router.',
6
+ '',
7
+ 'This is the Collapsed Router Program for CCIP.',
8
+ "As it's upgradable persisting the same program id, there is no need to have an indirection of a Proxy Program.",
9
+ 'This Router handles the OnRamp flow of the CCIP Messages.',
10
+ '',
11
+ 'NOTE to devs: This file however should contain *no logic*, only the entrypoints to the different versioned modules,',
12
+ 'thus making it easier to ensure later on that logic can be changed during upgrades without affecting the interface.',
13
+ ],
14
+ instructions: [
15
+ {
16
+ name: 'initialize',
17
+ docs: [
18
+ 'Initialization Flow //',
19
+ 'Initializes the CCIP Router.',
20
+ '',
21
+ 'The initialization of the Router is responsibility of Admin, nothing more than calling this method should be done first.',
22
+ '',
23
+ '# Arguments',
24
+ '',
25
+ '* `ctx` - The context containing the accounts required for initialization.',
26
+ '* `svm_chain_selector` - The chain selector for SVM.',
27
+ '* `fee_aggregator` - The public key of the fee aggregator.',
28
+ '* `fee_quoter` - The public key of the fee quoter.',
29
+ '* `link_token_mint` - The public key of the LINK token mint.',
30
+ '* `rmn_remote` - The public key of the RMN remote.',
31
+ ],
32
+ accounts: [
33
+ {
34
+ name: 'config',
35
+ isMut: true,
36
+ isSigner: false,
37
+ },
38
+ {
39
+ name: 'authority',
40
+ isMut: true,
41
+ isSigner: true,
42
+ },
43
+ {
44
+ name: 'systemProgram',
45
+ isMut: false,
46
+ isSigner: false,
47
+ },
48
+ {
49
+ name: 'program',
50
+ isMut: false,
51
+ isSigner: false,
52
+ },
53
+ {
54
+ name: 'programData',
55
+ isMut: false,
56
+ isSigner: false,
57
+ },
58
+ ],
59
+ args: [
60
+ {
61
+ name: 'svmChainSelector',
62
+ type: 'u64',
63
+ },
64
+ {
65
+ name: 'feeAggregator',
66
+ type: 'publicKey',
67
+ },
68
+ {
69
+ name: 'feeQuoter',
70
+ type: 'publicKey',
71
+ },
72
+ {
73
+ name: 'linkTokenMint',
74
+ type: 'publicKey',
75
+ },
76
+ {
77
+ name: 'rmnRemote',
78
+ type: 'publicKey',
79
+ },
80
+ ],
81
+ },
82
+ {
83
+ name: 'typeVersion',
84
+ docs: [
85
+ 'Returns the program type (name) and version.',
86
+ 'Used by offchain code to easily determine which program & version is being interacted with.',
87
+ '',
88
+ '# Arguments',
89
+ '* `ctx` - The context',
90
+ ],
91
+ accounts: [
92
+ {
93
+ name: 'clock',
94
+ isMut: false,
95
+ isSigner: false,
96
+ },
97
+ ],
98
+ args: [],
99
+ returns: 'string',
100
+ },
101
+ {
102
+ name: 'transferOwnership',
103
+ docs: [
104
+ 'Transfers the ownership of the router to a new proposed owner.',
105
+ '',
106
+ 'Shared func signature with other programs',
107
+ '',
108
+ '# Arguments',
109
+ '',
110
+ '* `ctx` - The context containing the accounts required for the transfer.',
111
+ '* `proposed_owner` - The public key of the new proposed owner.',
112
+ ],
113
+ accounts: [
114
+ {
115
+ name: 'config',
116
+ isMut: true,
117
+ isSigner: false,
118
+ },
119
+ {
120
+ name: 'authority',
121
+ isMut: false,
122
+ isSigner: true,
123
+ },
124
+ ],
125
+ args: [
126
+ {
127
+ name: 'proposedOwner',
128
+ type: 'publicKey',
129
+ },
130
+ ],
131
+ },
132
+ {
133
+ name: 'acceptOwnership',
134
+ docs: [
135
+ 'Accepts the ownership of the router by the proposed owner.',
136
+ '',
137
+ 'Shared func signature with other programs',
138
+ '',
139
+ '# Arguments',
140
+ '',
141
+ '* `ctx` - The context containing the accounts required for accepting ownership.',
142
+ 'The new owner must be a signer of the transaction.',
143
+ ],
144
+ accounts: [
145
+ {
146
+ name: 'config',
147
+ isMut: true,
148
+ isSigner: false,
149
+ },
150
+ {
151
+ name: 'authority',
152
+ isMut: false,
153
+ isSigner: true,
154
+ },
155
+ ],
156
+ args: [],
157
+ },
158
+ {
159
+ name: 'setDefaultCodeVersion',
160
+ docs: [
161
+ 'Config //',
162
+ 'Sets the default code version to be used. This is then used by the slim routing layer to determine',
163
+ 'which version of the versioned business logic module (`instructions`) to use. Only the admin may set this.',
164
+ '',
165
+ 'Shared func signature with other programs',
166
+ '',
167
+ '# Arguments',
168
+ '',
169
+ '* `ctx` - The context containing the accounts required for updating the configuration.',
170
+ '* `code_version` - The new code version to be set as default.',
171
+ ],
172
+ accounts: [
173
+ {
174
+ name: 'config',
175
+ isMut: true,
176
+ isSigner: false,
177
+ },
178
+ {
179
+ name: 'authority',
180
+ isMut: false,
181
+ isSigner: true,
182
+ },
183
+ {
184
+ name: 'systemProgram',
185
+ isMut: false,
186
+ isSigner: false,
187
+ },
188
+ ],
189
+ args: [
190
+ {
191
+ name: 'codeVersion',
192
+ type: {
193
+ defined: 'CodeVersion',
194
+ },
195
+ },
196
+ ],
197
+ },
198
+ {
199
+ name: 'setLinkTokenMint',
200
+ docs: [
201
+ 'Sets the address of the LINK token mint.',
202
+ 'The Admin is the only one able to set it.',
203
+ '',
204
+ '# Arguments',
205
+ '',
206
+ '* `ctx` - The context containing the accounts required for updating the configuration.',
207
+ '* `link_token_mint` - The new address of the LINK token mint.',
208
+ ],
209
+ accounts: [
210
+ {
211
+ name: 'config',
212
+ isMut: true,
213
+ isSigner: false,
214
+ },
215
+ {
216
+ name: 'authority',
217
+ isMut: false,
218
+ isSigner: true,
219
+ },
220
+ {
221
+ name: 'systemProgram',
222
+ isMut: false,
223
+ isSigner: false,
224
+ },
225
+ ],
226
+ args: [
227
+ {
228
+ name: 'linkTokenMint',
229
+ type: 'publicKey',
230
+ },
231
+ ],
232
+ },
233
+ {
234
+ name: 'updateFeeAggregator',
235
+ docs: [
236
+ 'Updates the fee aggregator in the router configuration.',
237
+ 'The Admin is the only one able to update the fee aggregator.',
238
+ '',
239
+ '# Arguments',
240
+ '',
241
+ '* `ctx` - The context containing the accounts required for updating the configuration.',
242
+ '* `fee_aggregator` - The new fee aggregator address (ATAs will be derived for it for each token).',
243
+ ],
244
+ accounts: [
245
+ {
246
+ name: 'config',
247
+ isMut: true,
248
+ isSigner: false,
249
+ },
250
+ {
251
+ name: 'authority',
252
+ isMut: false,
253
+ isSigner: true,
254
+ },
255
+ {
256
+ name: 'systemProgram',
257
+ isMut: false,
258
+ isSigner: false,
259
+ },
260
+ ],
261
+ args: [
262
+ {
263
+ name: 'feeAggregator',
264
+ type: 'publicKey',
265
+ },
266
+ ],
267
+ },
268
+ {
269
+ name: 'updateRmnRemote',
270
+ docs: [
271
+ 'Updates the RMN remote program in the router configuration.',
272
+ 'The Admin is the only one able to update the RMN remote program.',
273
+ '',
274
+ '# Arguments',
275
+ '',
276
+ '* `ctx` - The context containing the accounts required for updating the configuration.',
277
+ '* `rmn_remote,` - The new RMN remote address.',
278
+ ],
279
+ accounts: [
280
+ {
281
+ name: 'config',
282
+ isMut: true,
283
+ isSigner: false,
284
+ },
285
+ {
286
+ name: 'authority',
287
+ isMut: false,
288
+ isSigner: true,
289
+ },
290
+ {
291
+ name: 'systemProgram',
292
+ isMut: false,
293
+ isSigner: false,
294
+ },
295
+ ],
296
+ args: [
297
+ {
298
+ name: 'rmnRemote',
299
+ type: 'publicKey',
300
+ },
301
+ ],
302
+ },
303
+ {
304
+ name: 'addChainSelector',
305
+ docs: [
306
+ 'Adds a new chain selector to the router.',
307
+ '',
308
+ 'The Admin needs to add any new chain supported (this means both OnRamp and OffRamp).',
309
+ "When adding a new chain, the Admin needs to specify if it's enabled or not.",
310
+ 'They may enable only source, or only destination, or neither, or both.',
311
+ '',
312
+ '# Arguments',
313
+ '',
314
+ '* `ctx` - The context containing the accounts required for adding the chain selector.',
315
+ '* `new_chain_selector` - The new chain selector to be added.',
316
+ '* `source_chain_config` - The configuration for the chain as source.',
317
+ '* `dest_chain_config` - The configuration for the chain as destination.',
318
+ ],
319
+ accounts: [
320
+ {
321
+ name: 'destChainState',
322
+ isMut: true,
323
+ isSigner: false,
324
+ },
325
+ {
326
+ name: 'config',
327
+ isMut: false,
328
+ isSigner: false,
329
+ },
330
+ {
331
+ name: 'authority',
332
+ isMut: true,
333
+ isSigner: true,
334
+ },
335
+ {
336
+ name: 'systemProgram',
337
+ isMut: false,
338
+ isSigner: false,
339
+ },
340
+ ],
341
+ args: [
342
+ {
343
+ name: 'newChainSelector',
344
+ type: 'u64',
345
+ },
346
+ {
347
+ name: 'destChainConfig',
348
+ type: {
349
+ defined: 'DestChainConfig',
350
+ },
351
+ },
352
+ ],
353
+ },
354
+ {
355
+ name: 'updateDestChainConfig',
356
+ docs: [
357
+ 'Updates the configuration of the destination chain selector.',
358
+ '',
359
+ 'The Admin is the only one able to update the destination chain config.',
360
+ '',
361
+ '# Arguments',
362
+ '',
363
+ '* `ctx` - The context containing the accounts required for updating the chain selector.',
364
+ '* `dest_chain_selector` - The destination chain selector to be updated.',
365
+ '* `dest_chain_config` - The new configuration for the destination chain.',
366
+ ],
367
+ accounts: [
368
+ {
369
+ name: 'destChainState',
370
+ isMut: true,
371
+ isSigner: false,
372
+ },
373
+ {
374
+ name: 'config',
375
+ isMut: false,
376
+ isSigner: false,
377
+ },
378
+ {
379
+ name: 'authority',
380
+ isMut: true,
381
+ isSigner: true,
382
+ },
383
+ {
384
+ name: 'systemProgram',
385
+ isMut: false,
386
+ isSigner: false,
387
+ },
388
+ ],
389
+ args: [
390
+ {
391
+ name: 'destChainSelector',
392
+ type: 'u64',
393
+ },
394
+ {
395
+ name: 'destChainConfig',
396
+ type: {
397
+ defined: 'DestChainConfig',
398
+ },
399
+ },
400
+ ],
401
+ },
402
+ {
403
+ name: 'addOfframp',
404
+ docs: [
405
+ 'Add an offramp address to the list of offramps allowed by the router, for a',
406
+ 'particular source chain. External users will check this list before accepting',
407
+ 'a `ccip_receive` CPI.',
408
+ '',
409
+ '# Arguments',
410
+ '',
411
+ '* `ctx` - The context containing the accounts required for this operation.',
412
+ "* `source_chain_selector` - The source chain for the offramp's lane.",
413
+ "* `offramp` - The offramp's address.",
414
+ ],
415
+ accounts: [
416
+ {
417
+ name: 'allowedOfframp',
418
+ isMut: true,
419
+ isSigner: false,
420
+ },
421
+ {
422
+ name: 'config',
423
+ isMut: false,
424
+ isSigner: false,
425
+ },
426
+ {
427
+ name: 'authority',
428
+ isMut: true,
429
+ isSigner: true,
430
+ },
431
+ {
432
+ name: 'systemProgram',
433
+ isMut: false,
434
+ isSigner: false,
435
+ },
436
+ ],
437
+ args: [
438
+ {
439
+ name: 'sourceChainSelector',
440
+ type: 'u64',
441
+ },
442
+ {
443
+ name: 'offramp',
444
+ type: 'publicKey',
445
+ },
446
+ ],
447
+ },
448
+ {
449
+ name: 'removeOfframp',
450
+ docs: [
451
+ 'Remove an offramp address from the list of offramps allowed by the router, for a',
452
+ 'particular source chain. External users will check this list before accepting',
453
+ 'a `ccip_receive` CPI.',
454
+ '',
455
+ '# Arguments',
456
+ '',
457
+ '* `ctx` - The context containing the accounts required for this operation.',
458
+ "* `source_chain_selector` - The source chain for the offramp's lane.",
459
+ "* `offramp` - The offramp's address.",
460
+ ],
461
+ accounts: [
462
+ {
463
+ name: 'allowedOfframp',
464
+ isMut: true,
465
+ isSigner: false,
466
+ },
467
+ {
468
+ name: 'config',
469
+ isMut: false,
470
+ isSigner: false,
471
+ },
472
+ {
473
+ name: 'authority',
474
+ isMut: true,
475
+ isSigner: true,
476
+ },
477
+ {
478
+ name: 'systemProgram',
479
+ isMut: false,
480
+ isSigner: false,
481
+ },
482
+ ],
483
+ args: [
484
+ {
485
+ name: 'sourceChainSelector',
486
+ type: 'u64',
487
+ },
488
+ {
489
+ name: 'offramp',
490
+ type: 'publicKey',
491
+ },
492
+ ],
493
+ },
494
+ {
495
+ name: 'updateSvmChainSelector',
496
+ docs: [
497
+ 'Updates the SVM chain selector in the router configuration.',
498
+ '',
499
+ 'This method should only be used if there was an error with the initial configuration or if the solana chain selector changes.',
500
+ '',
501
+ '# Arguments',
502
+ '',
503
+ '* `ctx` - The context containing the accounts required for updating the configuration.',
504
+ '* `new_chain_selector` - The new chain selector for SVM.',
505
+ ],
506
+ accounts: [
507
+ {
508
+ name: 'config',
509
+ isMut: true,
510
+ isSigner: false,
511
+ },
512
+ {
513
+ name: 'authority',
514
+ isMut: false,
515
+ isSigner: true,
516
+ },
517
+ {
518
+ name: 'systemProgram',
519
+ isMut: false,
520
+ isSigner: false,
521
+ },
522
+ ],
523
+ args: [
524
+ {
525
+ name: 'newChainSelector',
526
+ type: 'u64',
527
+ },
528
+ ],
529
+ },
530
+ {
531
+ name: 'bumpCcipVersionForDestChain',
532
+ docs: [
533
+ 'Bumps the CCIP version for a destination chain.',
534
+ 'This effectively just resets the sequence number of the destination chain state.',
535
+ 'If there had been a previous rollback, on re-upgrade the sequence number will resume from where it was',
536
+ 'prior to the rollback.',
537
+ '',
538
+ '# Arguments',
539
+ '* `ctx` - The context containing the accounts required for the bump.',
540
+ '* `dest_chain_selector` - The destination chain selector to bump version for.',
541
+ ],
542
+ accounts: [
543
+ {
544
+ name: 'destChainState',
545
+ isMut: true,
546
+ isSigner: false,
547
+ },
548
+ {
549
+ name: 'config',
550
+ isMut: false,
551
+ isSigner: false,
552
+ },
553
+ {
554
+ name: 'authority',
555
+ isMut: true,
556
+ isSigner: true,
557
+ },
558
+ ],
559
+ args: [
560
+ {
561
+ name: 'destChainSelector',
562
+ type: 'u64',
563
+ },
564
+ ],
565
+ },
566
+ {
567
+ name: 'rollbackCcipVersionForDestChain',
568
+ docs: [
569
+ 'Rolls back the CCIP version for a destination chain.',
570
+ "This effectively just restores the old version's sequence number of the destination chain state.",
571
+ "We only support 1 consecutive rollback. If a rollback has occurred for that lane, the version can't",
572
+ 'be rolled back again without bumping the version first.',
573
+ '',
574
+ '# Arguments',
575
+ '* `ctx` - The context containing the accounts required for the rollback.',
576
+ '* `dest_chain_selector` - The destination chain selector to rollback the version for.',
577
+ ],
578
+ accounts: [
579
+ {
580
+ name: 'destChainState',
581
+ isMut: true,
582
+ isSigner: false,
583
+ },
584
+ {
585
+ name: 'config',
586
+ isMut: false,
587
+ isSigner: false,
588
+ },
589
+ {
590
+ name: 'authority',
591
+ isMut: true,
592
+ isSigner: true,
593
+ },
594
+ ],
595
+ args: [
596
+ {
597
+ name: 'destChainSelector',
598
+ type: 'u64',
599
+ },
600
+ ],
601
+ },
602
+ {
603
+ name: 'ccipAdminProposeAdministrator',
604
+ docs: [
605
+ 'Token Admin Registry //',
606
+ 'Registers the Token Admin Registry via the CCIP Admin',
607
+ '',
608
+ '# Arguments',
609
+ '',
610
+ '* `ctx` - The context containing the accounts required for registration.',
611
+ '* `token_admin_registry_admin` - The public key of the token admin registry admin to propose.',
612
+ ],
613
+ accounts: [
614
+ {
615
+ name: 'config',
616
+ isMut: false,
617
+ isSigner: false,
618
+ },
619
+ {
620
+ name: 'tokenAdminRegistry',
621
+ isMut: true,
622
+ isSigner: false,
623
+ },
624
+ {
625
+ name: 'mint',
626
+ isMut: false,
627
+ isSigner: false,
628
+ },
629
+ {
630
+ name: 'authority',
631
+ isMut: true,
632
+ isSigner: true,
633
+ },
634
+ {
635
+ name: 'systemProgram',
636
+ isMut: false,
637
+ isSigner: false,
638
+ },
639
+ ],
640
+ args: [
641
+ {
642
+ name: 'tokenAdminRegistryAdmin',
643
+ type: 'publicKey',
644
+ },
645
+ ],
646
+ },
647
+ {
648
+ name: 'ccipAdminOverridePendingAdministrator',
649
+ docs: [
650
+ 'Overrides the pending admin of the Token Admin Registry',
651
+ '',
652
+ '# Arguments',
653
+ '',
654
+ '* `ctx` - The context containing the accounts required for registration.',
655
+ '* `token_admin_registry_admin` - The public key of the token admin registry admin to propose.',
656
+ ],
657
+ accounts: [
658
+ {
659
+ name: 'config',
660
+ isMut: false,
661
+ isSigner: false,
662
+ },
663
+ {
664
+ name: 'tokenAdminRegistry',
665
+ isMut: true,
666
+ isSigner: false,
667
+ },
668
+ {
669
+ name: 'mint',
670
+ isMut: false,
671
+ isSigner: false,
672
+ },
673
+ {
674
+ name: 'authority',
675
+ isMut: true,
676
+ isSigner: true,
677
+ },
678
+ {
679
+ name: 'systemProgram',
680
+ isMut: false,
681
+ isSigner: false,
682
+ },
683
+ ],
684
+ args: [
685
+ {
686
+ name: 'tokenAdminRegistryAdmin',
687
+ type: 'publicKey',
688
+ },
689
+ ],
690
+ },
691
+ {
692
+ name: 'ownerProposeAdministrator',
693
+ docs: [
694
+ 'Registers the Token Admin Registry by the token owner.',
695
+ '',
696
+ 'The Authority of the Mint Token can claim the registry of the token.',
697
+ '',
698
+ '# Arguments',
699
+ '',
700
+ '* `ctx` - The context containing the accounts required for registration.',
701
+ '* `token_admin_registry_admin` - The public key of the token admin registry admin to propose.',
702
+ ],
703
+ accounts: [
704
+ {
705
+ name: 'config',
706
+ isMut: false,
707
+ isSigner: false,
708
+ },
709
+ {
710
+ name: 'tokenAdminRegistry',
711
+ isMut: true,
712
+ isSigner: false,
713
+ },
714
+ {
715
+ name: 'mint',
716
+ isMut: false,
717
+ isSigner: false,
718
+ },
719
+ {
720
+ name: 'authority',
721
+ isMut: true,
722
+ isSigner: true,
723
+ },
724
+ {
725
+ name: 'systemProgram',
726
+ isMut: false,
727
+ isSigner: false,
728
+ },
729
+ ],
730
+ args: [
731
+ {
732
+ name: 'tokenAdminRegistryAdmin',
733
+ type: 'publicKey',
734
+ },
735
+ ],
736
+ },
737
+ {
738
+ name: 'ownerOverridePendingAdministrator',
739
+ docs: [
740
+ 'Overrides the pending admin of the Token Admin Registry by the token owner',
741
+ '',
742
+ '# Arguments',
743
+ '',
744
+ '* `ctx` - The context containing the accounts required for registration.',
745
+ '* `token_admin_registry_admin` - The public key of the token admin registry admin to propose.',
746
+ ],
747
+ accounts: [
748
+ {
749
+ name: 'config',
750
+ isMut: false,
751
+ isSigner: false,
752
+ },
753
+ {
754
+ name: 'tokenAdminRegistry',
755
+ isMut: true,
756
+ isSigner: false,
757
+ },
758
+ {
759
+ name: 'mint',
760
+ isMut: false,
761
+ isSigner: false,
762
+ },
763
+ {
764
+ name: 'authority',
765
+ isMut: true,
766
+ isSigner: true,
767
+ },
768
+ {
769
+ name: 'systemProgram',
770
+ isMut: false,
771
+ isSigner: false,
772
+ },
773
+ ],
774
+ args: [
775
+ {
776
+ name: 'tokenAdminRegistryAdmin',
777
+ type: 'publicKey',
778
+ },
779
+ ],
780
+ },
781
+ {
782
+ name: 'acceptAdminRoleTokenAdminRegistry',
783
+ docs: [
784
+ 'Accepts the admin role of the token admin registry.',
785
+ '',
786
+ 'The Pending Admin must call this function to accept the admin role of the Token Admin Registry.',
787
+ '',
788
+ '# Arguments',
789
+ '',
790
+ '* `ctx` - The context containing the accounts required for accepting the admin role.',
791
+ '* `mint` - The public key of the token mint.',
792
+ ],
793
+ accounts: [
794
+ {
795
+ name: 'config',
796
+ isMut: false,
797
+ isSigner: false,
798
+ },
799
+ {
800
+ name: 'tokenAdminRegistry',
801
+ isMut: true,
802
+ isSigner: false,
803
+ },
804
+ {
805
+ name: 'mint',
806
+ isMut: false,
807
+ isSigner: false,
808
+ },
809
+ {
810
+ name: 'authority',
811
+ isMut: true,
812
+ isSigner: true,
813
+ },
814
+ ],
815
+ args: [],
816
+ },
817
+ {
818
+ name: 'transferAdminRoleTokenAdminRegistry',
819
+ docs: [
820
+ 'Transfers the admin role of the token admin registry to a new admin.',
821
+ '',
822
+ "Only the Admin can transfer the Admin Role of the Token Admin Registry, this setups the Pending Admin and then it's their responsibility to accept the role.",
823
+ '',
824
+ '# Arguments',
825
+ '',
826
+ '* `ctx` - The context containing the accounts required for the transfer.',
827
+ '* `mint` - The public key of the token mint.',
828
+ '* `new_admin` - The public key of the new admin.',
829
+ ],
830
+ accounts: [
831
+ {
832
+ name: 'config',
833
+ isMut: false,
834
+ isSigner: false,
835
+ },
836
+ {
837
+ name: 'tokenAdminRegistry',
838
+ isMut: true,
839
+ isSigner: false,
840
+ },
841
+ {
842
+ name: 'mint',
843
+ isMut: false,
844
+ isSigner: false,
845
+ },
846
+ {
847
+ name: 'authority',
848
+ isMut: true,
849
+ isSigner: true,
850
+ },
851
+ ],
852
+ args: [
853
+ {
854
+ name: 'newAdmin',
855
+ type: 'publicKey',
856
+ },
857
+ ],
858
+ },
859
+ {
860
+ name: 'setPoolSupportsAutoDerivation',
861
+ docs: [
862
+ 'Edits the pool config flags for a given token mint.',
863
+ '',
864
+ 'The administrator of the token admin registry is the only one allowed to invoke this.',
865
+ '',
866
+ '# Arguments',
867
+ '',
868
+ '* `ctx` - The context containing the accounts required for setting the pool.',
869
+ '* `mint` - The mint of the pool to be edited.',
870
+ '* `supports_auto_derivation` - A boolean flag indicating whether the pool supports auto-derivation of accounts.',
871
+ ],
872
+ accounts: [
873
+ {
874
+ name: 'config',
875
+ isMut: false,
876
+ isSigner: false,
877
+ },
878
+ {
879
+ name: 'tokenAdminRegistry',
880
+ isMut: true,
881
+ isSigner: false,
882
+ },
883
+ {
884
+ name: 'authority',
885
+ isMut: true,
886
+ isSigner: true,
887
+ },
888
+ ],
889
+ args: [
890
+ {
891
+ name: 'mint',
892
+ type: 'publicKey',
893
+ },
894
+ {
895
+ name: 'supportsAutoDerivation',
896
+ type: 'bool',
897
+ },
898
+ ],
899
+ },
900
+ {
901
+ name: 'upgradeTokenAdminRegistryFromV1',
902
+ docs: [
903
+ 'Upgrades the Token Admin Registry from version 1 to the current version.',
904
+ '',
905
+ 'Anyone may invoke this method, as the upgrade has safe defaults for any new value,',
906
+ 'and those can then be changed by the Token Admin Registry Admin via separate instructions.',
907
+ '',
908
+ '# Arguments',
909
+ '',
910
+ '* `ctx` - The context containing the accounts required for the upgrade.',
911
+ ],
912
+ accounts: [
913
+ {
914
+ name: 'config',
915
+ isMut: false,
916
+ isSigner: false,
917
+ },
918
+ {
919
+ name: 'tokenAdminRegistry',
920
+ isMut: true,
921
+ isSigner: false,
922
+ docs: [
923
+ "types Anchor would attempt to deserialize the data _before_ realloc'ing it, which would fail.",
924
+ 'The code will load it and realloc it to the new size manually, and migrate its data.',
925
+ ],
926
+ },
927
+ {
928
+ name: 'mint',
929
+ isMut: false,
930
+ isSigner: false,
931
+ },
932
+ {
933
+ name: 'authority',
934
+ isMut: true,
935
+ isSigner: true,
936
+ },
937
+ {
938
+ name: 'systemProgram',
939
+ isMut: false,
940
+ isSigner: false,
941
+ },
942
+ ],
943
+ args: [],
944
+ },
945
+ {
946
+ name: 'setPool',
947
+ docs: [
948
+ 'Sets the pool lookup table for a given token mint.',
949
+ '',
950
+ 'The administrator of the token admin registry can set the pool lookup table for a given token mint.',
951
+ '',
952
+ '# Arguments',
953
+ '',
954
+ '* `ctx` - The context containing the accounts required for setting the pool.',
955
+ '* `writable_indexes` - a bit map of the indexes of the accounts in lookup table that are writable',
956
+ ],
957
+ accounts: [
958
+ {
959
+ name: 'config',
960
+ isMut: false,
961
+ isSigner: false,
962
+ },
963
+ {
964
+ name: 'tokenAdminRegistry',
965
+ isMut: true,
966
+ isSigner: false,
967
+ },
968
+ {
969
+ name: 'mint',
970
+ isMut: false,
971
+ isSigner: false,
972
+ },
973
+ {
974
+ name: 'poolLookuptable',
975
+ isMut: false,
976
+ isSigner: false,
977
+ },
978
+ {
979
+ name: 'authority',
980
+ isMut: true,
981
+ isSigner: true,
982
+ },
983
+ ],
984
+ args: [
985
+ {
986
+ name: 'writableIndexes',
987
+ type: 'bytes',
988
+ },
989
+ ],
990
+ },
991
+ {
992
+ name: 'withdrawBilledFunds',
993
+ docs: [
994
+ 'Billing //',
995
+ 'Transfers the accumulated billed fees in a particular token to an arbitrary token account.',
996
+ 'Only the CCIP Admin can withdraw billed funds.',
997
+ '',
998
+ '# Arguments',
999
+ '',
1000
+ '* `ctx` - The context containing the accounts required for the transfer of billed fees.',
1001
+ '* `transfer_all` - A flag indicating whether to transfer all the accumulated fees in that token or not.',
1002
+ '* `desired_amount` - The amount to transfer. If `transfer_all` is true, this value must be 0.',
1003
+ ],
1004
+ accounts: [
1005
+ {
1006
+ name: 'feeTokenMint',
1007
+ isMut: false,
1008
+ isSigner: false,
1009
+ },
1010
+ {
1011
+ name: 'feeTokenAccum',
1012
+ isMut: true,
1013
+ isSigner: false,
1014
+ },
1015
+ {
1016
+ name: 'recipient',
1017
+ isMut: true,
1018
+ isSigner: false,
1019
+ },
1020
+ {
1021
+ name: 'tokenProgram',
1022
+ isMut: false,
1023
+ isSigner: false,
1024
+ },
1025
+ {
1026
+ name: 'feeBillingSigner',
1027
+ isMut: false,
1028
+ isSigner: false,
1029
+ },
1030
+ {
1031
+ name: 'config',
1032
+ isMut: false,
1033
+ isSigner: false,
1034
+ },
1035
+ {
1036
+ name: 'authority',
1037
+ isMut: true,
1038
+ isSigner: true,
1039
+ },
1040
+ ],
1041
+ args: [
1042
+ {
1043
+ name: 'transferAll',
1044
+ type: 'bool',
1045
+ },
1046
+ {
1047
+ name: 'desiredAmount',
1048
+ type: 'u64',
1049
+ },
1050
+ ],
1051
+ },
1052
+ {
1053
+ name: 'ccipSend',
1054
+ docs: [
1055
+ 'On Ramp Flow //',
1056
+ 'Sends a message to the destination chain.',
1057
+ '',
1058
+ 'Request a message to be sent to the destination chain.',
1059
+ 'The method name needs to be ccip_send with Anchor encoding.',
1060
+ 'This function is called by the CCIP Sender Contract (or final user) to send a message to the CCIP Router.',
1061
+ 'The message will be sent to the receiver on the destination chain selector.',
1062
+ 'This message emits the event CCIPMessageSent with all the necessary data to be retrieved by the OffChain Code',
1063
+ '',
1064
+ '# Arguments',
1065
+ '',
1066
+ '* `ctx` - The context containing the accounts required for sending the message.',
1067
+ '* `dest_chain_selector` - The chain selector for the destination chain.',
1068
+ '* `message` - The message to be sent. The size limit of data is 256 bytes.',
1069
+ '* `token_indexes` - Indices into the remaining accounts vector where the subslice for a token begins.',
1070
+ ],
1071
+ accounts: [
1072
+ {
1073
+ name: 'config',
1074
+ isMut: false,
1075
+ isSigner: false,
1076
+ },
1077
+ {
1078
+ name: 'destChainState',
1079
+ isMut: true,
1080
+ isSigner: false,
1081
+ },
1082
+ {
1083
+ name: 'nonce',
1084
+ isMut: true,
1085
+ isSigner: false,
1086
+ docs: [
1087
+ 'CHECK this represents the PDA where the message counters are stored. As it may be initialized or not,',
1088
+ "and it may be in it's v1 or v2 form, it is an UncheckedAccount and the code handles all cases manually.",
1089
+ ],
1090
+ },
1091
+ {
1092
+ name: 'authority',
1093
+ isMut: true,
1094
+ isSigner: true,
1095
+ },
1096
+ {
1097
+ name: 'systemProgram',
1098
+ isMut: false,
1099
+ isSigner: false,
1100
+ },
1101
+ {
1102
+ name: 'feeTokenProgram',
1103
+ isMut: false,
1104
+ isSigner: false,
1105
+ },
1106
+ {
1107
+ name: 'feeTokenMint',
1108
+ isMut: false,
1109
+ isSigner: false,
1110
+ },
1111
+ {
1112
+ name: 'feeTokenUserAssociatedAccount',
1113
+ isMut: true,
1114
+ isSigner: false,
1115
+ docs: ['If paying with native SOL, this must be the zero address.'],
1116
+ },
1117
+ {
1118
+ name: 'feeTokenReceiver',
1119
+ isMut: true,
1120
+ isSigner: false,
1121
+ },
1122
+ {
1123
+ name: 'feeBillingSigner',
1124
+ isMut: false,
1125
+ isSigner: false,
1126
+ },
1127
+ {
1128
+ name: 'feeQuoter',
1129
+ isMut: false,
1130
+ isSigner: false,
1131
+ },
1132
+ {
1133
+ name: 'feeQuoterConfig',
1134
+ isMut: false,
1135
+ isSigner: false,
1136
+ },
1137
+ {
1138
+ name: 'feeQuoterDestChain',
1139
+ isMut: false,
1140
+ isSigner: false,
1141
+ },
1142
+ {
1143
+ name: 'feeQuoterBillingTokenConfig',
1144
+ isMut: false,
1145
+ isSigner: false,
1146
+ },
1147
+ {
1148
+ name: 'feeQuoterLinkTokenConfig',
1149
+ isMut: false,
1150
+ isSigner: false,
1151
+ },
1152
+ {
1153
+ name: 'rmnRemote',
1154
+ isMut: false,
1155
+ isSigner: false,
1156
+ },
1157
+ {
1158
+ name: 'rmnRemoteCurses',
1159
+ isMut: false,
1160
+ isSigner: false,
1161
+ },
1162
+ {
1163
+ name: 'rmnRemoteConfig',
1164
+ isMut: false,
1165
+ isSigner: false,
1166
+ },
1167
+ ],
1168
+ args: [
1169
+ {
1170
+ name: 'destChainSelector',
1171
+ type: 'u64',
1172
+ },
1173
+ {
1174
+ name: 'message',
1175
+ type: {
1176
+ defined: 'SVM2AnyMessage',
1177
+ },
1178
+ },
1179
+ {
1180
+ name: 'tokenIndexes',
1181
+ type: 'bytes',
1182
+ },
1183
+ ],
1184
+ returns: {
1185
+ array: ['u8', 32],
1186
+ },
1187
+ },
1188
+ {
1189
+ name: 'getFee',
1190
+ docs: [
1191
+ 'Queries the onramp for the fee required to send a message.',
1192
+ '',
1193
+ "This call is permissionless. Note it does not verify whether there's a curse active",
1194
+ 'in order to avoid the RMN CPI overhead.',
1195
+ '',
1196
+ '# Arguments',
1197
+ '',
1198
+ '* `ctx` - The context containing the accounts required for obtaining the message fee.',
1199
+ '* `dest_chain_selector` - The chain selector for the destination chain.',
1200
+ '* `message` - The message to be sent. The size limit of data is 256 bytes.',
1201
+ ],
1202
+ accounts: [
1203
+ {
1204
+ name: 'config',
1205
+ isMut: false,
1206
+ isSigner: false,
1207
+ },
1208
+ {
1209
+ name: 'destChainState',
1210
+ isMut: false,
1211
+ isSigner: false,
1212
+ },
1213
+ {
1214
+ name: 'feeQuoter',
1215
+ isMut: false,
1216
+ isSigner: false,
1217
+ },
1218
+ {
1219
+ name: 'feeQuoterConfig',
1220
+ isMut: false,
1221
+ isSigner: false,
1222
+ },
1223
+ {
1224
+ name: 'feeQuoterDestChain',
1225
+ isMut: false,
1226
+ isSigner: false,
1227
+ },
1228
+ {
1229
+ name: 'feeQuoterBillingTokenConfig',
1230
+ isMut: false,
1231
+ isSigner: false,
1232
+ },
1233
+ {
1234
+ name: 'feeQuoterLinkTokenConfig',
1235
+ isMut: false,
1236
+ isSigner: false,
1237
+ },
1238
+ ],
1239
+ args: [
1240
+ {
1241
+ name: 'destChainSelector',
1242
+ type: 'u64',
1243
+ },
1244
+ {
1245
+ name: 'message',
1246
+ type: {
1247
+ defined: 'SVM2AnyMessage',
1248
+ },
1249
+ },
1250
+ ],
1251
+ returns: {
1252
+ defined: 'GetFeeResult',
1253
+ },
1254
+ },
1255
+ {
1256
+ name: 'deriveAccountsCcipSend',
1257
+ docs: [
1258
+ 'Automatically derives all accounts required to call `ccip_send`.',
1259
+ '',
1260
+ 'This method receives the bare minimum amount of information needed to construct',
1261
+ 'the entire account list to send a transaction, and builds it iteratively',
1262
+ 'over the course of multiple calls.',
1263
+ '',
1264
+ 'The return type contains:',
1265
+ '',
1266
+ '* `accounts_to_save`: The caller must append these accounts to a list they maintain.',
1267
+ 'When complete, this list will contain all accounts needed to call `ccip_send`.',
1268
+ '* `ask_again_with`: When `next_stage` is not empty, the caller must call `derive_accounts_ccip_send`',
1269
+ 'again, including exactly these accounts as the `remaining_accounts`.',
1270
+ '* `lookup_tables_to_save`: The caller must save those LUTs. They can be used for `ccip_send`.',
1271
+ '* `current_stage`: A string describing the current stage of the derivation process. When the stage',
1272
+ 'is "TokenTransferStaticAccounts/<N>/0", it means the `accounts_to_save` block in this response contains',
1273
+ 'all accounts relating to the Nth token being transferred. Use this information to construct',
1274
+ 'the `token_indexes` vector that `ccip_send` requires.',
1275
+ '* `next_stage`: If nonempty, this means the instruction must get called again with this value',
1276
+ 'as the `stage` argument.',
1277
+ '',
1278
+ 'Therefore, and starting with an empty `remaining_accounts` list, the caller must repeatedly',
1279
+ 'call `derive_accounts_ccip_send` until `next_stage` is returned empty.',
1280
+ '',
1281
+ '# Arguments',
1282
+ '',
1283
+ '* `ctx`: Context containing only the config.',
1284
+ '* `stage`: Requested derivation stage. Pass "Start" the first time, then for each subsequent',
1285
+ 'call, pass the value returned in `response.next_stage` until empty.',
1286
+ '* `params`:',
1287
+ '* `ccip_send_caller`: Public key of the account that will sign the call to `ccip_send`.',
1288
+ '* `dest_chain_selector`: CCIP chain selector for the dest chain.',
1289
+ '* `fee_token_mint`: The mint address for the token used for fees. Pubkey::default() if native SOL.',
1290
+ '* `mints_of_transferred_token`: List of all token mints for tokens being transferred.',
1291
+ ],
1292
+ accounts: [
1293
+ {
1294
+ name: 'config',
1295
+ isMut: false,
1296
+ isSigner: false,
1297
+ },
1298
+ ],
1299
+ args: [
1300
+ {
1301
+ name: 'params',
1302
+ type: {
1303
+ defined: 'DeriveAccountsCcipSendParams',
1304
+ },
1305
+ },
1306
+ {
1307
+ name: 'stage',
1308
+ type: 'string',
1309
+ },
1310
+ ],
1311
+ returns: {
1312
+ defined: 'DeriveAccountsResponse',
1313
+ },
1314
+ },
1315
+ ],
1316
+ accounts: [
1317
+ {
1318
+ name: 'allowedOfframp',
1319
+ type: {
1320
+ kind: 'struct',
1321
+ fields: [],
1322
+ },
1323
+ },
1324
+ {
1325
+ name: 'config',
1326
+ type: {
1327
+ kind: 'struct',
1328
+ fields: [
1329
+ {
1330
+ name: 'version',
1331
+ type: 'u8',
1332
+ },
1333
+ {
1334
+ name: 'defaultCodeVersion',
1335
+ type: {
1336
+ defined: 'CodeVersion',
1337
+ },
1338
+ },
1339
+ {
1340
+ name: 'svmChainSelector',
1341
+ type: 'u64',
1342
+ },
1343
+ {
1344
+ name: 'owner',
1345
+ type: 'publicKey',
1346
+ },
1347
+ {
1348
+ name: 'proposedOwner',
1349
+ type: 'publicKey',
1350
+ },
1351
+ {
1352
+ name: 'feeQuoter',
1353
+ type: 'publicKey',
1354
+ },
1355
+ {
1356
+ name: 'rmnRemote',
1357
+ type: 'publicKey',
1358
+ },
1359
+ {
1360
+ name: 'linkTokenMint',
1361
+ type: 'publicKey',
1362
+ },
1363
+ {
1364
+ name: 'feeAggregator',
1365
+ type: 'publicKey',
1366
+ },
1367
+ ],
1368
+ },
1369
+ },
1370
+ {
1371
+ name: 'destChain',
1372
+ type: {
1373
+ kind: 'struct',
1374
+ fields: [
1375
+ {
1376
+ name: 'version',
1377
+ type: 'u8',
1378
+ },
1379
+ {
1380
+ name: 'chainSelector',
1381
+ type: 'u64',
1382
+ },
1383
+ {
1384
+ name: 'state',
1385
+ type: {
1386
+ defined: 'DestChainState',
1387
+ },
1388
+ },
1389
+ {
1390
+ name: 'config',
1391
+ type: {
1392
+ defined: 'DestChainConfig',
1393
+ },
1394
+ },
1395
+ ],
1396
+ },
1397
+ },
1398
+ {
1399
+ name: 'nonce',
1400
+ type: {
1401
+ kind: 'struct',
1402
+ fields: [
1403
+ {
1404
+ name: 'version',
1405
+ type: 'u8',
1406
+ },
1407
+ {
1408
+ name: 'orderedNonce',
1409
+ type: 'u64',
1410
+ },
1411
+ {
1412
+ name: 'totalNonce',
1413
+ type: 'u64',
1414
+ },
1415
+ ],
1416
+ },
1417
+ },
1418
+ ],
1419
+ types: [
1420
+ {
1421
+ name: 'RampMessageHeader',
1422
+ type: {
1423
+ kind: 'struct',
1424
+ fields: [
1425
+ {
1426
+ name: 'messageId',
1427
+ type: {
1428
+ array: ['u8', 32],
1429
+ },
1430
+ },
1431
+ {
1432
+ name: 'sourceChainSelector',
1433
+ type: 'u64',
1434
+ },
1435
+ {
1436
+ name: 'destChainSelector',
1437
+ type: 'u64',
1438
+ },
1439
+ {
1440
+ name: 'sequenceNumber',
1441
+ type: 'u64',
1442
+ },
1443
+ {
1444
+ name: 'nonce',
1445
+ type: 'u64',
1446
+ },
1447
+ ],
1448
+ },
1449
+ },
1450
+ {
1451
+ name: 'SVM2AnyRampMessage',
1452
+ type: {
1453
+ kind: 'struct',
1454
+ fields: [
1455
+ {
1456
+ name: 'header',
1457
+ type: {
1458
+ defined: 'RampMessageHeader',
1459
+ },
1460
+ },
1461
+ {
1462
+ name: 'sender',
1463
+ type: 'publicKey',
1464
+ },
1465
+ {
1466
+ name: 'data',
1467
+ type: 'bytes',
1468
+ },
1469
+ {
1470
+ name: 'receiver',
1471
+ type: 'bytes',
1472
+ },
1473
+ {
1474
+ name: 'extraArgs',
1475
+ type: 'bytes',
1476
+ },
1477
+ {
1478
+ name: 'feeToken',
1479
+ type: 'publicKey',
1480
+ },
1481
+ {
1482
+ name: 'tokenAmounts',
1483
+ type: {
1484
+ vec: {
1485
+ defined: 'SVM2AnyTokenTransfer',
1486
+ },
1487
+ },
1488
+ },
1489
+ {
1490
+ name: 'feeTokenAmount',
1491
+ type: {
1492
+ defined: 'CrossChainAmount',
1493
+ },
1494
+ },
1495
+ {
1496
+ name: 'feeValueJuels',
1497
+ type: {
1498
+ defined: 'CrossChainAmount',
1499
+ },
1500
+ },
1501
+ ],
1502
+ },
1503
+ },
1504
+ {
1505
+ name: 'SVM2AnyTokenTransfer',
1506
+ type: {
1507
+ kind: 'struct',
1508
+ fields: [
1509
+ {
1510
+ name: 'sourcePoolAddress',
1511
+ type: 'publicKey',
1512
+ },
1513
+ {
1514
+ name: 'destTokenAddress',
1515
+ type: 'bytes',
1516
+ },
1517
+ {
1518
+ name: 'extraData',
1519
+ type: 'bytes',
1520
+ },
1521
+ {
1522
+ name: 'amount',
1523
+ type: {
1524
+ defined: 'CrossChainAmount',
1525
+ },
1526
+ },
1527
+ {
1528
+ name: 'destExecData',
1529
+ type: 'bytes',
1530
+ },
1531
+ ],
1532
+ },
1533
+ },
1534
+ {
1535
+ name: 'SVM2AnyMessage',
1536
+ type: {
1537
+ kind: 'struct',
1538
+ fields: [
1539
+ {
1540
+ name: 'receiver',
1541
+ type: 'bytes',
1542
+ },
1543
+ {
1544
+ name: 'data',
1545
+ type: 'bytes',
1546
+ },
1547
+ {
1548
+ name: 'tokenAmounts',
1549
+ type: {
1550
+ vec: {
1551
+ defined: 'SVMTokenAmount',
1552
+ },
1553
+ },
1554
+ },
1555
+ {
1556
+ name: 'feeToken',
1557
+ type: 'publicKey',
1558
+ },
1559
+ {
1560
+ name: 'extraArgs',
1561
+ type: 'bytes',
1562
+ },
1563
+ ],
1564
+ },
1565
+ },
1566
+ {
1567
+ name: 'SVMTokenAmount',
1568
+ type: {
1569
+ kind: 'struct',
1570
+ fields: [
1571
+ {
1572
+ name: 'token',
1573
+ type: 'publicKey',
1574
+ },
1575
+ {
1576
+ name: 'amount',
1577
+ type: 'u64',
1578
+ },
1579
+ ],
1580
+ },
1581
+ },
1582
+ {
1583
+ name: 'CrossChainAmount',
1584
+ type: {
1585
+ kind: 'struct',
1586
+ fields: [
1587
+ {
1588
+ name: 'leBytes',
1589
+ type: {
1590
+ array: ['u8', 32],
1591
+ },
1592
+ },
1593
+ ],
1594
+ },
1595
+ },
1596
+ {
1597
+ name: 'GetFeeResult',
1598
+ type: {
1599
+ kind: 'struct',
1600
+ fields: [
1601
+ {
1602
+ name: 'amount',
1603
+ type: 'u64',
1604
+ },
1605
+ {
1606
+ name: 'juels',
1607
+ type: 'u128',
1608
+ },
1609
+ {
1610
+ name: 'token',
1611
+ type: 'publicKey',
1612
+ },
1613
+ ],
1614
+ },
1615
+ },
1616
+ {
1617
+ name: 'DestChainState',
1618
+ type: {
1619
+ kind: 'struct',
1620
+ fields: [
1621
+ {
1622
+ name: 'sequenceNumber',
1623
+ type: 'u64',
1624
+ },
1625
+ {
1626
+ name: 'sequenceNumberToRestore',
1627
+ type: 'u64',
1628
+ },
1629
+ {
1630
+ name: 'restoreOnAction',
1631
+ type: {
1632
+ defined: 'RestoreOnAction',
1633
+ },
1634
+ },
1635
+ ],
1636
+ },
1637
+ },
1638
+ {
1639
+ name: 'DestChainConfig',
1640
+ type: {
1641
+ kind: 'struct',
1642
+ fields: [
1643
+ {
1644
+ name: 'laneCodeVersion',
1645
+ type: {
1646
+ defined: 'CodeVersion',
1647
+ },
1648
+ },
1649
+ {
1650
+ name: 'allowedSenders',
1651
+ type: {
1652
+ vec: 'publicKey',
1653
+ },
1654
+ },
1655
+ {
1656
+ name: 'allowListEnabled',
1657
+ type: 'bool',
1658
+ },
1659
+ ],
1660
+ },
1661
+ },
1662
+ {
1663
+ name: 'DeriveAccountsResponse',
1664
+ type: {
1665
+ kind: 'struct',
1666
+ fields: [
1667
+ {
1668
+ name: 'askAgainWith',
1669
+ docs: [
1670
+ 'If this vector is not empty, you must call the `derive_` method again including',
1671
+ 'exactly these accounts as the `remaining_accounts` field.',
1672
+ ],
1673
+ type: {
1674
+ vec: {
1675
+ defined: 'CcipAccountMeta',
1676
+ },
1677
+ },
1678
+ },
1679
+ {
1680
+ name: 'accountsToSave',
1681
+ docs: [
1682
+ 'You must append these accounts at the end of a separate list. When `next_stage`',
1683
+ 'is finally empty, this separate list will contain all the accounts to use for the',
1684
+ 'instruction of interest.',
1685
+ ],
1686
+ type: {
1687
+ vec: {
1688
+ defined: 'CcipAccountMeta',
1689
+ },
1690
+ },
1691
+ },
1692
+ {
1693
+ name: 'lookUpTablesToSave',
1694
+ docs: [
1695
+ 'Append these look up tables at the end of a list. It will contain all LUTs',
1696
+ 'that the instruction of interest can use.',
1697
+ ],
1698
+ type: {
1699
+ vec: 'publicKey',
1700
+ },
1701
+ },
1702
+ {
1703
+ name: 'currentStage',
1704
+ docs: ['Identifies the derivation stage.'],
1705
+ type: 'string',
1706
+ },
1707
+ {
1708
+ name: 'nextStage',
1709
+ docs: ['Identifies the next derivation stage. If empty, the derivation is complete.'],
1710
+ type: 'string',
1711
+ },
1712
+ ],
1713
+ },
1714
+ },
1715
+ {
1716
+ name: 'CcipAccountMeta',
1717
+ type: {
1718
+ kind: 'struct',
1719
+ fields: [
1720
+ {
1721
+ name: 'pubkey',
1722
+ type: 'publicKey',
1723
+ },
1724
+ {
1725
+ name: 'isSigner',
1726
+ type: 'bool',
1727
+ },
1728
+ {
1729
+ name: 'isWritable',
1730
+ type: 'bool',
1731
+ },
1732
+ ],
1733
+ },
1734
+ },
1735
+ {
1736
+ name: 'DeriveAccountsCcipSendParams',
1737
+ type: {
1738
+ kind: 'struct',
1739
+ fields: [
1740
+ {
1741
+ name: 'destChainSelector',
1742
+ type: 'u64',
1743
+ },
1744
+ {
1745
+ name: 'ccipSendCaller',
1746
+ type: 'publicKey',
1747
+ },
1748
+ {
1749
+ name: 'message',
1750
+ type: {
1751
+ defined: 'SVM2AnyMessage',
1752
+ },
1753
+ },
1754
+ ],
1755
+ },
1756
+ },
1757
+ {
1758
+ name: 'DeriveAccountsCcipSendStage',
1759
+ type: {
1760
+ kind: 'enum',
1761
+ variants: [
1762
+ {
1763
+ name: 'Start',
1764
+ },
1765
+ {
1766
+ name: 'FinishMainAccountList',
1767
+ },
1768
+ {
1769
+ name: 'RetrieveTokenLUTs',
1770
+ },
1771
+ {
1772
+ name: 'RetrievePoolPrograms',
1773
+ },
1774
+ {
1775
+ name: 'TokenTransferStaticAccounts',
1776
+ fields: [
1777
+ {
1778
+ name: 'token',
1779
+ type: 'u32',
1780
+ },
1781
+ {
1782
+ name: 'page',
1783
+ type: 'u32',
1784
+ },
1785
+ ],
1786
+ },
1787
+ {
1788
+ name: 'NestedTokenDerive',
1789
+ fields: [
1790
+ {
1791
+ name: 'token',
1792
+ type: 'u32',
1793
+ },
1794
+ {
1795
+ name: 'tokenSubstage',
1796
+ type: 'string',
1797
+ },
1798
+ ],
1799
+ },
1800
+ ],
1801
+ },
1802
+ },
1803
+ {
1804
+ name: 'CodeVersion',
1805
+ type: {
1806
+ kind: 'enum',
1807
+ variants: [
1808
+ {
1809
+ name: 'Default',
1810
+ },
1811
+ {
1812
+ name: 'V1',
1813
+ },
1814
+ ],
1815
+ },
1816
+ },
1817
+ {
1818
+ name: 'RestoreOnAction',
1819
+ type: {
1820
+ kind: 'enum',
1821
+ variants: [
1822
+ {
1823
+ name: 'None',
1824
+ },
1825
+ {
1826
+ name: 'Upgrade',
1827
+ },
1828
+ {
1829
+ name: 'Rollback',
1830
+ },
1831
+ ],
1832
+ },
1833
+ },
1834
+ ],
1835
+ events: [
1836
+ {
1837
+ name: 'ConfigSet',
1838
+ fields: [
1839
+ {
1840
+ name: 'svmChainSelector',
1841
+ type: 'u64',
1842
+ index: false,
1843
+ },
1844
+ {
1845
+ name: 'feeQuoter',
1846
+ type: 'publicKey',
1847
+ index: false,
1848
+ },
1849
+ {
1850
+ name: 'rmnRemote',
1851
+ type: 'publicKey',
1852
+ index: false,
1853
+ },
1854
+ {
1855
+ name: 'linkTokenMint',
1856
+ type: 'publicKey',
1857
+ index: false,
1858
+ },
1859
+ {
1860
+ name: 'feeAggregator',
1861
+ type: 'publicKey',
1862
+ index: false,
1863
+ },
1864
+ ],
1865
+ },
1866
+ {
1867
+ name: 'FeeTokenAdded',
1868
+ fields: [
1869
+ {
1870
+ name: 'feeToken',
1871
+ type: 'publicKey',
1872
+ index: false,
1873
+ },
1874
+ {
1875
+ name: 'enabled',
1876
+ type: 'bool',
1877
+ index: false,
1878
+ },
1879
+ ],
1880
+ },
1881
+ {
1882
+ name: 'FeeTokenEnabled',
1883
+ fields: [
1884
+ {
1885
+ name: 'feeToken',
1886
+ type: 'publicKey',
1887
+ index: false,
1888
+ },
1889
+ ],
1890
+ },
1891
+ {
1892
+ name: 'FeeTokenDisabled',
1893
+ fields: [
1894
+ {
1895
+ name: 'feeToken',
1896
+ type: 'publicKey',
1897
+ index: false,
1898
+ },
1899
+ ],
1900
+ },
1901
+ {
1902
+ name: 'FeeTokenRemoved',
1903
+ fields: [
1904
+ {
1905
+ name: 'feeToken',
1906
+ type: 'publicKey',
1907
+ index: false,
1908
+ },
1909
+ ],
1910
+ },
1911
+ {
1912
+ name: 'DestChainConfigUpdated',
1913
+ fields: [
1914
+ {
1915
+ name: 'destChainSelector',
1916
+ type: 'u64',
1917
+ index: false,
1918
+ },
1919
+ {
1920
+ name: 'destChainConfig',
1921
+ type: {
1922
+ defined: 'DestChainConfig',
1923
+ },
1924
+ index: false,
1925
+ },
1926
+ ],
1927
+ },
1928
+ {
1929
+ name: 'DestChainAdded',
1930
+ fields: [
1931
+ {
1932
+ name: 'destChainSelector',
1933
+ type: 'u64',
1934
+ index: false,
1935
+ },
1936
+ {
1937
+ name: 'destChainConfig',
1938
+ type: {
1939
+ defined: 'DestChainConfig',
1940
+ },
1941
+ index: false,
1942
+ },
1943
+ ],
1944
+ },
1945
+ {
1946
+ name: 'OwnershipTransferRequested',
1947
+ fields: [
1948
+ {
1949
+ name: 'from',
1950
+ type: 'publicKey',
1951
+ index: false,
1952
+ },
1953
+ {
1954
+ name: 'to',
1955
+ type: 'publicKey',
1956
+ index: false,
1957
+ },
1958
+ ],
1959
+ },
1960
+ {
1961
+ name: 'OwnershipTransferred',
1962
+ fields: [
1963
+ {
1964
+ name: 'from',
1965
+ type: 'publicKey',
1966
+ index: false,
1967
+ },
1968
+ {
1969
+ name: 'to',
1970
+ type: 'publicKey',
1971
+ index: false,
1972
+ },
1973
+ ],
1974
+ },
1975
+ {
1976
+ name: 'OfframpAdded',
1977
+ fields: [
1978
+ {
1979
+ name: 'sourceChainSelector',
1980
+ type: 'u64',
1981
+ index: false,
1982
+ },
1983
+ {
1984
+ name: 'offramp',
1985
+ type: 'publicKey',
1986
+ index: false,
1987
+ },
1988
+ ],
1989
+ },
1990
+ {
1991
+ name: 'OfframpRemoved',
1992
+ fields: [
1993
+ {
1994
+ name: 'sourceChainSelector',
1995
+ type: 'u64',
1996
+ index: false,
1997
+ },
1998
+ {
1999
+ name: 'offramp',
2000
+ type: 'publicKey',
2001
+ index: false,
2002
+ },
2003
+ ],
2004
+ },
2005
+ {
2006
+ name: 'CcipVersionForDestChainVersionBumped',
2007
+ fields: [
2008
+ {
2009
+ name: 'destChainSelector',
2010
+ type: 'u64',
2011
+ index: false,
2012
+ },
2013
+ {
2014
+ name: 'previousSequenceNumber',
2015
+ type: 'u64',
2016
+ index: false,
2017
+ },
2018
+ {
2019
+ name: 'newSequenceNumber',
2020
+ type: 'u64',
2021
+ index: false,
2022
+ },
2023
+ ],
2024
+ },
2025
+ {
2026
+ name: 'CcipVersionForDestChainVersionRolledBack',
2027
+ fields: [
2028
+ {
2029
+ name: 'destChainSelector',
2030
+ type: 'u64',
2031
+ index: false,
2032
+ },
2033
+ {
2034
+ name: 'previousSequenceNumber',
2035
+ type: 'u64',
2036
+ index: false,
2037
+ },
2038
+ {
2039
+ name: 'newSequenceNumber',
2040
+ type: 'u64',
2041
+ index: false,
2042
+ },
2043
+ ],
2044
+ },
2045
+ {
2046
+ name: 'CCIPMessageSent',
2047
+ fields: [
2048
+ {
2049
+ name: 'destChainSelector',
2050
+ type: 'u64',
2051
+ index: false,
2052
+ },
2053
+ {
2054
+ name: 'sequenceNumber',
2055
+ type: 'u64',
2056
+ index: false,
2057
+ },
2058
+ {
2059
+ name: 'message',
2060
+ type: {
2061
+ defined: 'SVM2AnyRampMessage',
2062
+ },
2063
+ index: false,
2064
+ },
2065
+ ],
2066
+ },
2067
+ {
2068
+ name: 'PoolSet',
2069
+ fields: [
2070
+ {
2071
+ name: 'token',
2072
+ type: 'publicKey',
2073
+ index: false,
2074
+ },
2075
+ {
2076
+ name: 'previousPoolLookupTable',
2077
+ type: 'publicKey',
2078
+ index: false,
2079
+ },
2080
+ {
2081
+ name: 'newPoolLookupTable',
2082
+ type: 'publicKey',
2083
+ index: false,
2084
+ },
2085
+ ],
2086
+ },
2087
+ {
2088
+ name: 'AdministratorTransferRequested',
2089
+ fields: [
2090
+ {
2091
+ name: 'token',
2092
+ type: 'publicKey',
2093
+ index: false,
2094
+ },
2095
+ {
2096
+ name: 'currentAdmin',
2097
+ type: 'publicKey',
2098
+ index: false,
2099
+ },
2100
+ {
2101
+ name: 'newAdmin',
2102
+ type: 'publicKey',
2103
+ index: false,
2104
+ },
2105
+ ],
2106
+ },
2107
+ {
2108
+ name: 'AdministratorTransferred',
2109
+ fields: [
2110
+ {
2111
+ name: 'token',
2112
+ type: 'publicKey',
2113
+ index: false,
2114
+ },
2115
+ {
2116
+ name: 'newAdmin',
2117
+ type: 'publicKey',
2118
+ index: false,
2119
+ },
2120
+ ],
2121
+ },
2122
+ {
2123
+ name: 'PoolEdited',
2124
+ fields: [
2125
+ {
2126
+ name: 'token',
2127
+ type: 'publicKey',
2128
+ index: false,
2129
+ },
2130
+ {
2131
+ name: 'supportsAutoDerivation',
2132
+ type: 'bool',
2133
+ index: false,
2134
+ },
2135
+ ],
2136
+ },
2137
+ {
2138
+ name: 'PdaUpgraded',
2139
+ fields: [
2140
+ {
2141
+ name: 'address',
2142
+ type: 'publicKey',
2143
+ index: false,
2144
+ },
2145
+ {
2146
+ name: 'oldVersion',
2147
+ type: 'u8',
2148
+ index: false,
2149
+ },
2150
+ {
2151
+ name: 'newVersion',
2152
+ type: 'u8',
2153
+ index: false,
2154
+ },
2155
+ {
2156
+ name: 'name',
2157
+ type: 'string',
2158
+ index: false,
2159
+ },
2160
+ {
2161
+ name: 'seeds',
2162
+ type: 'bytes',
2163
+ index: false,
2164
+ },
2165
+ ],
2166
+ },
2167
+ ],
2168
+ errors: [
2169
+ {
2170
+ code: 7000,
2171
+ name: 'Unauthorized',
2172
+ msg: 'The signer is unauthorized',
2173
+ },
2174
+ {
2175
+ code: 7001,
2176
+ name: 'InvalidRMNRemoteAddress',
2177
+ msg: 'Invalid RMN Remote Address',
2178
+ },
2179
+ {
2180
+ code: 7002,
2181
+ name: 'InvalidInputsMint',
2182
+ msg: 'Mint account input is invalid',
2183
+ },
2184
+ {
2185
+ code: 7003,
2186
+ name: 'InvalidVersion',
2187
+ msg: 'Invalid version of the onchain state',
2188
+ },
2189
+ {
2190
+ code: 7004,
2191
+ name: 'FeeTokenMismatch',
2192
+ msg: "Fee token doesn't match transfer token",
2193
+ },
2194
+ {
2195
+ code: 7005,
2196
+ name: 'RedundantOwnerProposal',
2197
+ msg: 'Proposed owner is the current owner',
2198
+ },
2199
+ {
2200
+ code: 7006,
2201
+ name: 'ReachedMaxSequenceNumber',
2202
+ msg: 'Reached max sequence number',
2203
+ },
2204
+ {
2205
+ code: 7007,
2206
+ name: 'InvalidInputsTokenIndices',
2207
+ msg: 'Invalid pool account account indices',
2208
+ },
2209
+ {
2210
+ code: 7008,
2211
+ name: 'InvalidInputsPoolAccounts',
2212
+ msg: 'Invalid pool accounts',
2213
+ },
2214
+ {
2215
+ code: 7009,
2216
+ name: 'InvalidInputsTokenAccounts',
2217
+ msg: 'Invalid token accounts',
2218
+ },
2219
+ {
2220
+ code: 7010,
2221
+ name: 'InvalidInputsTokenAdminRegistryAccounts',
2222
+ msg: 'Invalid Token Admin Registry account',
2223
+ },
2224
+ {
2225
+ code: 7011,
2226
+ name: 'InvalidInputsLookupTableAccounts',
2227
+ msg: 'Invalid LookupTable account',
2228
+ },
2229
+ {
2230
+ code: 7012,
2231
+ name: 'InvalidInputsLookupTableAccountWritable',
2232
+ msg: 'Invalid LookupTable account writable access',
2233
+ },
2234
+ {
2235
+ code: 7013,
2236
+ name: 'InvalidInputsTokenAmount',
2237
+ msg: 'Cannot send zero tokens',
2238
+ },
2239
+ {
2240
+ code: 7014,
2241
+ name: 'InvalidInputsTransferAllAmount',
2242
+ msg: 'Must specify zero amount to send alongside transfer_all',
2243
+ },
2244
+ {
2245
+ code: 7015,
2246
+ name: 'InvalidInputsAtaAddress',
2247
+ msg: 'Invalid Associated Token Account address',
2248
+ },
2249
+ {
2250
+ code: 7016,
2251
+ name: 'InvalidInputsAtaWritable',
2252
+ msg: 'Invalid Associated Token Account writable flag',
2253
+ },
2254
+ {
2255
+ code: 7017,
2256
+ name: 'InvalidInputsChainSelector',
2257
+ msg: 'Chain selector is invalid',
2258
+ },
2259
+ {
2260
+ code: 7018,
2261
+ name: 'InsufficientLamports',
2262
+ msg: 'Insufficient lamports',
2263
+ },
2264
+ {
2265
+ code: 7019,
2266
+ name: 'InsufficientFunds',
2267
+ msg: 'Insufficient funds',
2268
+ },
2269
+ {
2270
+ code: 7020,
2271
+ name: 'SourceTokenDataTooLarge',
2272
+ msg: 'Source token data is too large',
2273
+ },
2274
+ {
2275
+ code: 7021,
2276
+ name: 'InvalidTokenAdminRegistryInputsZeroAddress',
2277
+ msg: 'New Admin can not be zero address',
2278
+ },
2279
+ {
2280
+ code: 7022,
2281
+ name: 'InvalidTokenAdminRegistryProposedAdmin',
2282
+ msg: 'An already owned registry can not be proposed',
2283
+ },
2284
+ {
2285
+ code: 7023,
2286
+ name: 'SenderNotAllowed',
2287
+ msg: 'Sender not allowed for that destination chain',
2288
+ },
2289
+ {
2290
+ code: 7024,
2291
+ name: 'InvalidCodeVersion',
2292
+ msg: 'Invalid code version',
2293
+ },
2294
+ {
2295
+ code: 7025,
2296
+ name: 'InvalidCcipVersionRollback',
2297
+ msg: 'Invalid rollback attempt on the CCIP version of the onramp to the destination chain',
2298
+ },
2299
+ {
2300
+ code: 7026,
2301
+ name: 'InvalidAccountListForPdaDerivation',
2302
+ msg: 'Invalid account list for PDA derivation',
2303
+ },
2304
+ {
2305
+ code: 7027,
2306
+ name: 'InvalidDerivationStage',
2307
+ msg: 'Unexpected account derivation stage',
2308
+ },
2309
+ {
2310
+ code: 7028,
2311
+ name: 'InvalidNonceVersion',
2312
+ msg: 'Invalid version of the Nonce account',
2313
+ },
2314
+ {
2315
+ code: 7029,
2316
+ name: 'InvalidTokenPoolAccountDerivationResponse',
2317
+ msg: 'Token pool returned an unexpected derivation response',
2318
+ },
2319
+ {
2320
+ code: 7030,
2321
+ name: 'AccountDerivationResponseTooLarge',
2322
+ msg: "Can't fit account derivation response.",
2323
+ },
2324
+ {
2325
+ code: 7031,
2326
+ name: 'DefaultOwnerProposal',
2327
+ msg: 'Proposed owner is the default pubkey',
2328
+ },
2329
+ ],
2330
+ };
2331
+ // generate:end
2332
+ //# sourceMappingURL=CCIP_ROUTER.js.map