@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,2750 @@
1
+ // generate:
2
+ // fetch('https://github.com/smartcontractkit/chainlink-ccip/raw/refs/heads/main/chains/solana/contracts/target/types/cctp_token_pool.ts')
3
+ // .then((res) => res.text())
4
+ // .then((text) => text.trim())
5
+ export type CctpTokenPool = {
6
+ version: '1.6.0'
7
+ name: 'cctp_token_pool'
8
+ instructions: [
9
+ {
10
+ name: 'initGlobalConfig'
11
+ accounts: [
12
+ {
13
+ name: 'config'
14
+ isMut: true
15
+ isSigner: false
16
+ },
17
+ {
18
+ name: 'authority'
19
+ isMut: true
20
+ isSigner: true
21
+ },
22
+ {
23
+ name: 'systemProgram'
24
+ isMut: false
25
+ isSigner: false
26
+ },
27
+ {
28
+ name: 'program'
29
+ isMut: false
30
+ isSigner: false
31
+ },
32
+ {
33
+ name: 'programData'
34
+ isMut: false
35
+ isSigner: false
36
+ },
37
+ ]
38
+ args: []
39
+ },
40
+ {
41
+ name: 'initialize'
42
+ accounts: [
43
+ {
44
+ name: 'state'
45
+ isMut: true
46
+ isSigner: false
47
+ },
48
+ {
49
+ name: 'mint'
50
+ isMut: false
51
+ isSigner: false
52
+ },
53
+ {
54
+ name: 'authority'
55
+ isMut: true
56
+ isSigner: true
57
+ },
58
+ {
59
+ name: 'systemProgram'
60
+ isMut: false
61
+ isSigner: false
62
+ },
63
+ {
64
+ name: 'program'
65
+ isMut: false
66
+ isSigner: false
67
+ },
68
+ {
69
+ name: 'programData'
70
+ isMut: false
71
+ isSigner: false
72
+ },
73
+ {
74
+ name: 'config'
75
+ isMut: false
76
+ isSigner: false
77
+ },
78
+ ]
79
+ args: [
80
+ {
81
+ name: 'router'
82
+ type: 'publicKey'
83
+ },
84
+ {
85
+ name: 'rmnRemote'
86
+ type: 'publicKey'
87
+ },
88
+ ]
89
+ },
90
+ {
91
+ name: 'typeVersion'
92
+ docs: [
93
+ 'Returns the program type (name) and version.',
94
+ 'Used by offchain code to easily determine which program & version is being interacted with.',
95
+ '',
96
+ '# Arguments',
97
+ '* `ctx` - The context',
98
+ ]
99
+ accounts: []
100
+ args: []
101
+ returns: 'string'
102
+ },
103
+ {
104
+ name: 'transferOwnership'
105
+ accounts: [
106
+ {
107
+ name: 'state'
108
+ isMut: true
109
+ isSigner: false
110
+ },
111
+ {
112
+ name: 'mint'
113
+ isMut: false
114
+ isSigner: false
115
+ },
116
+ {
117
+ name: 'authority'
118
+ isMut: false
119
+ isSigner: true
120
+ },
121
+ ]
122
+ args: [
123
+ {
124
+ name: 'proposedOwner'
125
+ type: 'publicKey'
126
+ },
127
+ ]
128
+ },
129
+ {
130
+ name: 'acceptOwnership'
131
+ accounts: [
132
+ {
133
+ name: 'state'
134
+ isMut: true
135
+ isSigner: false
136
+ },
137
+ {
138
+ name: 'mint'
139
+ isMut: false
140
+ isSigner: false
141
+ },
142
+ {
143
+ name: 'authority'
144
+ isMut: false
145
+ isSigner: true
146
+ },
147
+ ]
148
+ args: []
149
+ },
150
+ {
151
+ name: 'setFundManager'
152
+ accounts: [
153
+ {
154
+ name: 'state'
155
+ isMut: true
156
+ isSigner: false
157
+ },
158
+ {
159
+ name: 'mint'
160
+ isMut: false
161
+ isSigner: false
162
+ },
163
+ {
164
+ name: 'authority'
165
+ isMut: false
166
+ isSigner: true
167
+ },
168
+ ]
169
+ args: [
170
+ {
171
+ name: 'fundManager'
172
+ type: 'publicKey'
173
+ },
174
+ ]
175
+ },
176
+ {
177
+ name: 'setMinimumSignerFunds'
178
+ accounts: [
179
+ {
180
+ name: 'state'
181
+ isMut: true
182
+ isSigner: false
183
+ },
184
+ {
185
+ name: 'mint'
186
+ isMut: false
187
+ isSigner: false
188
+ },
189
+ {
190
+ name: 'authority'
191
+ isMut: false
192
+ isSigner: true
193
+ },
194
+ ]
195
+ args: [
196
+ {
197
+ name: 'amount'
198
+ type: 'u64'
199
+ },
200
+ ]
201
+ },
202
+ {
203
+ name: 'setFundReclaimDestination'
204
+ accounts: [
205
+ {
206
+ name: 'state'
207
+ isMut: true
208
+ isSigner: false
209
+ },
210
+ {
211
+ name: 'mint'
212
+ isMut: false
213
+ isSigner: false
214
+ },
215
+ {
216
+ name: 'authority'
217
+ isMut: false
218
+ isSigner: true
219
+ },
220
+ ]
221
+ args: [
222
+ {
223
+ name: 'fundReclaimDestination'
224
+ type: 'publicKey'
225
+ },
226
+ ]
227
+ },
228
+ {
229
+ name: 'setRouter'
230
+ accounts: [
231
+ {
232
+ name: 'state'
233
+ isMut: false
234
+ isSigner: false
235
+ },
236
+ {
237
+ name: 'mint'
238
+ isMut: false
239
+ isSigner: false
240
+ },
241
+ {
242
+ name: 'authority'
243
+ isMut: true
244
+ isSigner: true
245
+ },
246
+ {
247
+ name: 'program'
248
+ isMut: false
249
+ isSigner: false
250
+ },
251
+ {
252
+ name: 'programData'
253
+ isMut: false
254
+ isSigner: false
255
+ },
256
+ ]
257
+ args: [
258
+ {
259
+ name: 'newRouter'
260
+ type: 'publicKey'
261
+ },
262
+ ]
263
+ },
264
+ {
265
+ name: 'setRmn'
266
+ accounts: [
267
+ {
268
+ name: 'state'
269
+ isMut: false
270
+ isSigner: false
271
+ },
272
+ {
273
+ name: 'mint'
274
+ isMut: false
275
+ isSigner: false
276
+ },
277
+ {
278
+ name: 'authority'
279
+ isMut: true
280
+ isSigner: true
281
+ },
282
+ {
283
+ name: 'program'
284
+ isMut: false
285
+ isSigner: false
286
+ },
287
+ {
288
+ name: 'programData'
289
+ isMut: false
290
+ isSigner: false
291
+ },
292
+ ]
293
+ args: [
294
+ {
295
+ name: 'rmnAddress'
296
+ type: 'publicKey'
297
+ },
298
+ ]
299
+ },
300
+ {
301
+ name: 'initChainRemoteConfig'
302
+ accounts: [
303
+ {
304
+ name: 'state'
305
+ isMut: false
306
+ isSigner: false
307
+ },
308
+ {
309
+ name: 'chainConfig'
310
+ isMut: true
311
+ isSigner: false
312
+ },
313
+ {
314
+ name: 'authority'
315
+ isMut: true
316
+ isSigner: true
317
+ },
318
+ {
319
+ name: 'systemProgram'
320
+ isMut: false
321
+ isSigner: false
322
+ },
323
+ ]
324
+ args: [
325
+ {
326
+ name: 'remoteChainSelector'
327
+ type: 'u64'
328
+ },
329
+ {
330
+ name: 'mint'
331
+ type: 'publicKey'
332
+ },
333
+ {
334
+ name: 'cfg'
335
+ type: {
336
+ defined: 'RemoteConfig'
337
+ }
338
+ },
339
+ ]
340
+ },
341
+ {
342
+ name: 'editChainRemoteConfig'
343
+ accounts: [
344
+ {
345
+ name: 'state'
346
+ isMut: false
347
+ isSigner: false
348
+ },
349
+ {
350
+ name: 'chainConfig'
351
+ isMut: true
352
+ isSigner: false
353
+ },
354
+ {
355
+ name: 'authority'
356
+ isMut: true
357
+ isSigner: true
358
+ },
359
+ {
360
+ name: 'systemProgram'
361
+ isMut: false
362
+ isSigner: false
363
+ },
364
+ ]
365
+ args: [
366
+ {
367
+ name: 'remoteChainSelector'
368
+ type: 'u64'
369
+ },
370
+ {
371
+ name: 'mint'
372
+ type: 'publicKey'
373
+ },
374
+ {
375
+ name: 'cfg'
376
+ type: {
377
+ defined: 'RemoteConfig'
378
+ }
379
+ },
380
+ ]
381
+ },
382
+ {
383
+ name: 'editChainRemoteConfigCctp'
384
+ accounts: [
385
+ {
386
+ name: 'state'
387
+ isMut: false
388
+ isSigner: false
389
+ },
390
+ {
391
+ name: 'chainConfig'
392
+ isMut: true
393
+ isSigner: false
394
+ },
395
+ {
396
+ name: 'authority'
397
+ isMut: true
398
+ isSigner: true
399
+ },
400
+ ]
401
+ args: [
402
+ {
403
+ name: 'remoteChainSelector'
404
+ type: 'u64'
405
+ },
406
+ {
407
+ name: 'mint'
408
+ type: 'publicKey'
409
+ },
410
+ {
411
+ name: 'cfg'
412
+ type: {
413
+ defined: 'CctpChain'
414
+ }
415
+ },
416
+ ]
417
+ },
418
+ {
419
+ name: 'appendRemotePoolAddresses'
420
+ accounts: [
421
+ {
422
+ name: 'state'
423
+ isMut: false
424
+ isSigner: false
425
+ },
426
+ {
427
+ name: 'chainConfig'
428
+ isMut: true
429
+ isSigner: false
430
+ },
431
+ {
432
+ name: 'authority'
433
+ isMut: true
434
+ isSigner: true
435
+ },
436
+ {
437
+ name: 'systemProgram'
438
+ isMut: false
439
+ isSigner: false
440
+ },
441
+ ]
442
+ args: [
443
+ {
444
+ name: 'remoteChainSelector'
445
+ type: 'u64'
446
+ },
447
+ {
448
+ name: 'mint'
449
+ type: 'publicKey'
450
+ },
451
+ {
452
+ name: 'addresses'
453
+ type: {
454
+ vec: {
455
+ defined: 'RemoteAddress'
456
+ }
457
+ }
458
+ },
459
+ ]
460
+ },
461
+ {
462
+ name: 'setChainRateLimit'
463
+ accounts: [
464
+ {
465
+ name: 'state'
466
+ isMut: false
467
+ isSigner: false
468
+ },
469
+ {
470
+ name: 'chainConfig'
471
+ isMut: true
472
+ isSigner: false
473
+ },
474
+ {
475
+ name: 'authority'
476
+ isMut: true
477
+ isSigner: true
478
+ },
479
+ ]
480
+ args: [
481
+ {
482
+ name: 'remoteChainSelector'
483
+ type: 'u64'
484
+ },
485
+ {
486
+ name: 'mint'
487
+ type: 'publicKey'
488
+ },
489
+ {
490
+ name: 'inbound'
491
+ type: {
492
+ defined: 'RateLimitConfig'
493
+ }
494
+ },
495
+ {
496
+ name: 'outbound'
497
+ type: {
498
+ defined: 'RateLimitConfig'
499
+ }
500
+ },
501
+ ]
502
+ },
503
+ {
504
+ name: 'setRateLimitAdmin'
505
+ accounts: [
506
+ {
507
+ name: 'state'
508
+ isMut: true
509
+ isSigner: false
510
+ },
511
+ {
512
+ name: 'authority'
513
+ isMut: true
514
+ isSigner: true
515
+ },
516
+ ]
517
+ args: [
518
+ {
519
+ name: 'mint'
520
+ type: 'publicKey'
521
+ },
522
+ {
523
+ name: 'newRateLimitAdmin'
524
+ type: 'publicKey'
525
+ },
526
+ ]
527
+ },
528
+ {
529
+ name: 'deleteChainConfig'
530
+ accounts: [
531
+ {
532
+ name: 'state'
533
+ isMut: false
534
+ isSigner: false
535
+ },
536
+ {
537
+ name: 'chainConfig'
538
+ isMut: true
539
+ isSigner: false
540
+ },
541
+ {
542
+ name: 'authority'
543
+ isMut: true
544
+ isSigner: true
545
+ },
546
+ ]
547
+ args: [
548
+ {
549
+ name: 'remoteChainSelector'
550
+ type: 'u64'
551
+ },
552
+ {
553
+ name: 'mint'
554
+ type: 'publicKey'
555
+ },
556
+ ]
557
+ },
558
+ {
559
+ name: 'configureAllowList'
560
+ accounts: [
561
+ {
562
+ name: 'state'
563
+ isMut: true
564
+ isSigner: false
565
+ },
566
+ {
567
+ name: 'mint'
568
+ isMut: false
569
+ isSigner: false
570
+ },
571
+ {
572
+ name: 'authority'
573
+ isMut: true
574
+ isSigner: true
575
+ },
576
+ {
577
+ name: 'systemProgram'
578
+ isMut: false
579
+ isSigner: false
580
+ },
581
+ ]
582
+ args: [
583
+ {
584
+ name: 'add'
585
+ type: {
586
+ vec: 'publicKey'
587
+ }
588
+ },
589
+ {
590
+ name: 'enabled'
591
+ type: 'bool'
592
+ },
593
+ ]
594
+ },
595
+ {
596
+ name: 'removeFromAllowList'
597
+ accounts: [
598
+ {
599
+ name: 'state'
600
+ isMut: true
601
+ isSigner: false
602
+ },
603
+ {
604
+ name: 'mint'
605
+ isMut: false
606
+ isSigner: false
607
+ },
608
+ {
609
+ name: 'authority'
610
+ isMut: true
611
+ isSigner: true
612
+ },
613
+ {
614
+ name: 'systemProgram'
615
+ isMut: false
616
+ isSigner: false
617
+ },
618
+ ]
619
+ args: [
620
+ {
621
+ name: 'remove'
622
+ type: {
623
+ vec: 'publicKey'
624
+ }
625
+ },
626
+ ]
627
+ },
628
+ {
629
+ name: 'releaseOrMintTokens'
630
+ accounts: [
631
+ {
632
+ name: 'authority'
633
+ isMut: false
634
+ isSigner: true
635
+ },
636
+ {
637
+ name: 'offrampProgram'
638
+ isMut: false
639
+ isSigner: false
640
+ docs: [
641
+ 'CHECK offramp program: exists only to derive the allowed offramp PDA',
642
+ 'and the authority PDA.',
643
+ ]
644
+ },
645
+ {
646
+ name: 'allowedOfframp'
647
+ isMut: false
648
+ isSigner: false
649
+ docs: [
650
+ 'CHECK PDA of the router program verifying the signer is an allowed offramp.',
651
+ "If PDA does not exist, the router doesn't allow this offramp",
652
+ ]
653
+ },
654
+ {
655
+ name: 'state'
656
+ isMut: false
657
+ isSigner: false
658
+ },
659
+ {
660
+ name: 'tokenProgram'
661
+ isMut: false
662
+ isSigner: false
663
+ },
664
+ {
665
+ name: 'mint'
666
+ isMut: true
667
+ isSigner: false
668
+ },
669
+ {
670
+ name: 'poolSigner'
671
+ isMut: true
672
+ isSigner: false
673
+ },
674
+ {
675
+ name: 'poolTokenAccount'
676
+ isMut: true
677
+ isSigner: false
678
+ },
679
+ {
680
+ name: 'chainConfig'
681
+ isMut: false
682
+ isSigner: false
683
+ },
684
+ {
685
+ name: 'rmnRemote'
686
+ isMut: false
687
+ isSigner: false
688
+ },
689
+ {
690
+ name: 'rmnRemoteCurses'
691
+ isMut: false
692
+ isSigner: false
693
+ },
694
+ {
695
+ name: 'rmnRemoteConfig'
696
+ isMut: false
697
+ isSigner: false
698
+ },
699
+ {
700
+ name: 'receiverTokenAccount'
701
+ isMut: true
702
+ isSigner: false
703
+ },
704
+ ]
705
+ args: [
706
+ {
707
+ name: 'releaseOrMint'
708
+ type: {
709
+ defined: 'ReleaseOrMintInV1'
710
+ }
711
+ },
712
+ ]
713
+ returns: {
714
+ defined: 'ReleaseOrMintOutV1'
715
+ }
716
+ },
717
+ {
718
+ name: 'lockOrBurnTokens'
719
+ accounts: [
720
+ {
721
+ name: 'authority'
722
+ isMut: false
723
+ isSigner: true
724
+ },
725
+ {
726
+ name: 'state'
727
+ isMut: false
728
+ isSigner: false
729
+ },
730
+ {
731
+ name: 'tokenProgram'
732
+ isMut: false
733
+ isSigner: false
734
+ },
735
+ {
736
+ name: 'mint'
737
+ isMut: true
738
+ isSigner: false
739
+ },
740
+ {
741
+ name: 'poolSigner'
742
+ isMut: true
743
+ isSigner: false
744
+ docs: [
745
+ 'hold a balance to pay for the rent of initializing the CCTP MessageSentEvent account',
746
+ ]
747
+ },
748
+ {
749
+ name: 'poolTokenAccount'
750
+ isMut: true
751
+ isSigner: false
752
+ },
753
+ {
754
+ name: 'rmnRemote'
755
+ isMut: false
756
+ isSigner: false
757
+ },
758
+ {
759
+ name: 'rmnRemoteCurses'
760
+ isMut: false
761
+ isSigner: false
762
+ },
763
+ {
764
+ name: 'rmnRemoteConfig'
765
+ isMut: false
766
+ isSigner: false
767
+ },
768
+ {
769
+ name: 'chainConfig'
770
+ isMut: false
771
+ isSigner: false
772
+ },
773
+ {
774
+ name: 'cctpMessageTransmitterAccount'
775
+ isMut: true
776
+ isSigner: false
777
+ docs: ['CHECK this is not read by the pool, just forwarded to CCTP']
778
+ },
779
+ {
780
+ name: 'cctpTokenMessengerMinter'
781
+ isMut: false
782
+ isSigner: false
783
+ docs: [
784
+ "CHECK this is CCTP's TokenMessengerMinter program, which",
785
+ 'is invoked by this program.',
786
+ ]
787
+ },
788
+ {
789
+ name: 'systemProgram'
790
+ isMut: false
791
+ isSigner: false
792
+ },
793
+ {
794
+ name: 'cctpMessageTransmitter'
795
+ isMut: false
796
+ isSigner: false
797
+ docs: [
798
+ "CHECK this is CCTP's MessageTransmitter program, which",
799
+ "is invoked transitively by CCTP's TokenMessengerMinter,",
800
+ 'which in turn is invoked explicitly by this program.',
801
+ ]
802
+ },
803
+ {
804
+ name: 'cctpTokenMessengerAccount'
805
+ isMut: false
806
+ isSigner: false
807
+ docs: ['CHECK this is not read by the pool, just forwarded to CCTP']
808
+ },
809
+ {
810
+ name: 'cctpTokenMinterAccount'
811
+ isMut: false
812
+ isSigner: false
813
+ docs: ['CHECK this is not read by the pool, just forwarded to CCTP']
814
+ },
815
+ {
816
+ name: 'cctpLocalToken'
817
+ isMut: true
818
+ isSigner: false
819
+ docs: ['CHECK this is not read by the pool, just forwarded to CCTP']
820
+ },
821
+ {
822
+ name: 'cctpEventAuthority'
823
+ isMut: false
824
+ isSigner: false
825
+ docs: ['CHECK this is not read by the pool, just forwarded to CCTP']
826
+ },
827
+ {
828
+ name: 'cctpAuthorityPda'
829
+ isMut: false
830
+ isSigner: false
831
+ docs: ['CHECK this is not read by the pool, just forwarded to CCTP']
832
+ },
833
+ {
834
+ name: 'cctpRemoteTokenMessengerKey'
835
+ isMut: false
836
+ isSigner: false
837
+ docs: ['CHECK this is not read by the pool, just forwarded to CCTP']
838
+ },
839
+ {
840
+ name: 'cctpMessageSentEvent'
841
+ isMut: true
842
+ isSigner: false
843
+ docs: [
844
+ 'CHECK this is the account in which CCTP will store the event. It is not a PDA of CCTP,',
845
+ 'but CCTP will initialize it and become the owner for it.',
846
+ ]
847
+ },
848
+ ]
849
+ args: [
850
+ {
851
+ name: 'lockOrBurn'
852
+ type: {
853
+ defined: 'LockOrBurnInV1'
854
+ }
855
+ },
856
+ ]
857
+ returns: {
858
+ defined: 'LockOrBurnOutV1'
859
+ }
860
+ },
861
+ {
862
+ name: 'reclaimEventAccount'
863
+ accounts: [
864
+ {
865
+ name: 'state'
866
+ isMut: false
867
+ isSigner: false
868
+ },
869
+ {
870
+ name: 'poolSigner'
871
+ isMut: true
872
+ isSigner: false
873
+ },
874
+ {
875
+ name: 'messageSentEventAccount'
876
+ isMut: true
877
+ isSigner: false
878
+ },
879
+ {
880
+ name: 'messageTransmitter'
881
+ isMut: true
882
+ isSigner: false
883
+ },
884
+ {
885
+ name: 'cctpMessageTransmitter'
886
+ isMut: false
887
+ isSigner: false
888
+ },
889
+ {
890
+ name: 'authority'
891
+ isMut: true
892
+ isSigner: true
893
+ },
894
+ {
895
+ name: 'systemProgram'
896
+ isMut: false
897
+ isSigner: false
898
+ },
899
+ ]
900
+ args: [
901
+ {
902
+ name: 'mint'
903
+ type: 'publicKey'
904
+ },
905
+ {
906
+ name: 'originalSender'
907
+ type: 'publicKey'
908
+ },
909
+ {
910
+ name: 'remoteChainSelector'
911
+ type: 'u64'
912
+ },
913
+ {
914
+ name: 'msgNonce'
915
+ type: 'u64'
916
+ },
917
+ {
918
+ name: 'attestation'
919
+ type: 'bytes'
920
+ },
921
+ ]
922
+ },
923
+ {
924
+ name: 'reclaimFunds'
925
+ docs: [
926
+ 'Returns an amount of SOL from the pool signer account to the designated',
927
+ 'fund reclaimer. There are three entities involved:',
928
+ '',
929
+ '* `owner`: can configure the reclaimer and fund manager.',
930
+ '* `fund_manager`: can execute this instruction.',
931
+ '* `fund_reclaim_destination`: receives the funds.',
932
+ '',
933
+ 'The resulting funds on the PDA cannot drop below `minimum_signer_funds`.',
934
+ ]
935
+ accounts: [
936
+ {
937
+ name: 'state'
938
+ isMut: false
939
+ isSigner: false
940
+ },
941
+ {
942
+ name: 'mint'
943
+ isMut: false
944
+ isSigner: false
945
+ },
946
+ {
947
+ name: 'poolSigner'
948
+ isMut: true
949
+ isSigner: false
950
+ },
951
+ {
952
+ name: 'fundReclaimDestination'
953
+ isMut: true
954
+ isSigner: false
955
+ docs: ['to be a particular fund reclaimer']
956
+ },
957
+ {
958
+ name: 'authority'
959
+ isMut: true
960
+ isSigner: true
961
+ },
962
+ {
963
+ name: 'systemProgram'
964
+ isMut: false
965
+ isSigner: false
966
+ },
967
+ ]
968
+ args: [
969
+ {
970
+ name: 'amount'
971
+ type: 'u64'
972
+ },
973
+ ]
974
+ },
975
+ {
976
+ name: 'deriveAccountsReleaseOrMintTokens'
977
+ accounts: []
978
+ args: [
979
+ {
980
+ name: 'stage'
981
+ type: 'string'
982
+ },
983
+ {
984
+ name: 'releaseOrMint'
985
+ type: {
986
+ defined: 'ReleaseOrMintInV1'
987
+ }
988
+ },
989
+ ]
990
+ returns: {
991
+ defined: 'DeriveAccountsResponse'
992
+ }
993
+ },
994
+ {
995
+ name: 'deriveAccountsLockOrBurnTokens'
996
+ accounts: []
997
+ args: [
998
+ {
999
+ name: 'stage'
1000
+ type: 'string'
1001
+ },
1002
+ {
1003
+ name: 'lockOrBurn'
1004
+ type: {
1005
+ defined: 'LockOrBurnInV1'
1006
+ }
1007
+ },
1008
+ ]
1009
+ returns: {
1010
+ defined: 'DeriveAccountsResponse'
1011
+ }
1012
+ },
1013
+ ]
1014
+ accounts: [
1015
+ {
1016
+ name: 'state'
1017
+ type: {
1018
+ kind: 'struct'
1019
+ fields: [
1020
+ {
1021
+ name: 'version'
1022
+ type: 'u8'
1023
+ },
1024
+ {
1025
+ name: 'config'
1026
+ type: {
1027
+ defined: 'BaseConfig'
1028
+ }
1029
+ },
1030
+ {
1031
+ name: 'funding'
1032
+ type: {
1033
+ defined: 'FundingConfig'
1034
+ }
1035
+ },
1036
+ ]
1037
+ }
1038
+ },
1039
+ {
1040
+ name: 'poolConfig'
1041
+ type: {
1042
+ kind: 'struct'
1043
+ fields: [
1044
+ {
1045
+ name: 'version'
1046
+ type: 'u8'
1047
+ },
1048
+ ]
1049
+ }
1050
+ },
1051
+ {
1052
+ name: 'chainConfig'
1053
+ type: {
1054
+ kind: 'struct'
1055
+ fields: [
1056
+ {
1057
+ name: 'version'
1058
+ type: 'u8'
1059
+ },
1060
+ {
1061
+ name: 'base'
1062
+ type: {
1063
+ defined: 'BaseChain'
1064
+ }
1065
+ },
1066
+ {
1067
+ name: 'cctp'
1068
+ type: {
1069
+ defined: 'CctpChain'
1070
+ }
1071
+ },
1072
+ ]
1073
+ }
1074
+ },
1075
+ ]
1076
+ types: [
1077
+ {
1078
+ name: 'CctpMessage'
1079
+ type: {
1080
+ kind: 'struct'
1081
+ fields: [
1082
+ {
1083
+ name: 'data'
1084
+ type: 'bytes'
1085
+ },
1086
+ ]
1087
+ }
1088
+ },
1089
+ {
1090
+ name: 'MessageAndAttestation'
1091
+ type: {
1092
+ kind: 'struct'
1093
+ fields: [
1094
+ {
1095
+ name: 'message'
1096
+ type: {
1097
+ defined: 'CctpMessage'
1098
+ }
1099
+ },
1100
+ {
1101
+ name: 'attestation'
1102
+ type: 'bytes'
1103
+ },
1104
+ ]
1105
+ }
1106
+ },
1107
+ {
1108
+ name: 'DepositForBurnWithCallerParams'
1109
+ type: {
1110
+ kind: 'struct'
1111
+ fields: [
1112
+ {
1113
+ name: 'amount'
1114
+ type: 'u64'
1115
+ },
1116
+ {
1117
+ name: 'destinationDomain'
1118
+ type: 'u32'
1119
+ },
1120
+ {
1121
+ name: 'mintRecipient'
1122
+ type: 'publicKey'
1123
+ },
1124
+ {
1125
+ name: 'destinationCaller'
1126
+ type: 'publicKey'
1127
+ },
1128
+ ]
1129
+ }
1130
+ },
1131
+ {
1132
+ name: 'FundingConfig'
1133
+ type: {
1134
+ kind: 'struct'
1135
+ fields: [
1136
+ {
1137
+ name: 'manager'
1138
+ type: 'publicKey'
1139
+ },
1140
+ {
1141
+ name: 'reclaimDestination'
1142
+ type: 'publicKey'
1143
+ },
1144
+ {
1145
+ name: 'minimumSignerFunds'
1146
+ type: 'u64'
1147
+ },
1148
+ ]
1149
+ }
1150
+ },
1151
+ {
1152
+ name: 'CctpChain'
1153
+ type: {
1154
+ kind: 'struct'
1155
+ fields: [
1156
+ {
1157
+ name: 'domainId'
1158
+ type: 'u32'
1159
+ },
1160
+ {
1161
+ name: 'destinationCaller'
1162
+ type: 'publicKey'
1163
+ },
1164
+ ]
1165
+ }
1166
+ },
1167
+ {
1168
+ name: 'OnrampDeriveStage'
1169
+ type: {
1170
+ kind: 'enum'
1171
+ variants: [
1172
+ {
1173
+ name: 'RetrieveChainConfig'
1174
+ },
1175
+ {
1176
+ name: 'BuildDynamicAccounts'
1177
+ },
1178
+ ]
1179
+ }
1180
+ },
1181
+ {
1182
+ name: 'OfframpDeriveStage'
1183
+ type: {
1184
+ kind: 'enum'
1185
+ variants: [
1186
+ {
1187
+ name: 'RetrieveChainConfig'
1188
+ },
1189
+ {
1190
+ name: 'BuildDynamicAccounts'
1191
+ },
1192
+ ]
1193
+ }
1194
+ },
1195
+ ]
1196
+ events: [
1197
+ {
1198
+ name: 'RemoteChainCctpConfigChanged'
1199
+ fields: [
1200
+ {
1201
+ name: 'config'
1202
+ type: {
1203
+ defined: 'CctpChain'
1204
+ }
1205
+ index: false
1206
+ },
1207
+ ]
1208
+ },
1209
+ {
1210
+ name: 'CcipCctpMessageSentEvent'
1211
+ fields: [
1212
+ {
1213
+ name: 'originalSender'
1214
+ type: 'publicKey'
1215
+ index: false
1216
+ },
1217
+ {
1218
+ name: 'remoteChainSelector'
1219
+ type: 'u64'
1220
+ index: false
1221
+ },
1222
+ {
1223
+ name: 'msgTotalNonce'
1224
+ type: 'u64'
1225
+ index: false
1226
+ },
1227
+ {
1228
+ name: 'eventAddress'
1229
+ type: 'publicKey'
1230
+ index: false
1231
+ },
1232
+ {
1233
+ name: 'sourceDomain'
1234
+ type: 'u32'
1235
+ index: false
1236
+ },
1237
+ {
1238
+ name: 'cctpNonce'
1239
+ type: 'u64'
1240
+ index: false
1241
+ },
1242
+ {
1243
+ name: 'messageSentBytes'
1244
+ type: 'bytes'
1245
+ index: false
1246
+ },
1247
+ ]
1248
+ },
1249
+ {
1250
+ name: 'CcipCctpMessageEventAccountClosed'
1251
+ fields: [
1252
+ {
1253
+ name: 'originalSender'
1254
+ type: 'publicKey'
1255
+ index: false
1256
+ },
1257
+ {
1258
+ name: 'remoteChainSelector'
1259
+ type: 'u64'
1260
+ index: false
1261
+ },
1262
+ {
1263
+ name: 'msgTotalNonce'
1264
+ type: 'u64'
1265
+ index: false
1266
+ },
1267
+ {
1268
+ name: 'address'
1269
+ type: 'publicKey'
1270
+ index: false
1271
+ },
1272
+ ]
1273
+ },
1274
+ {
1275
+ name: 'CcipCctpFundingConfigChanged'
1276
+ fields: [
1277
+ {
1278
+ name: 'old'
1279
+ type: {
1280
+ defined: 'FundingConfig'
1281
+ }
1282
+ index: false
1283
+ },
1284
+ {
1285
+ name: 'new'
1286
+ type: {
1287
+ defined: 'FundingConfig'
1288
+ }
1289
+ index: false
1290
+ },
1291
+ ]
1292
+ },
1293
+ ]
1294
+ errors: [
1295
+ {
1296
+ code: 12000
1297
+ name: 'InvalidTokenData'
1298
+ msg: 'Invalid token data'
1299
+ },
1300
+ {
1301
+ code: 12001
1302
+ name: 'InvalidReceiver'
1303
+ msg: 'Invalid receiver'
1304
+ },
1305
+ {
1306
+ code: 12002
1307
+ name: 'InvalidSourceDomain'
1308
+ msg: 'Invalid source domain'
1309
+ },
1310
+ {
1311
+ code: 12003
1312
+ name: 'InvalidDestDomain'
1313
+ msg: 'Invalid destination domain'
1314
+ },
1315
+ {
1316
+ code: 12004
1317
+ name: 'InvalidNonce'
1318
+ msg: 'Invalid nonce'
1319
+ },
1320
+ {
1321
+ code: 12005
1322
+ name: 'MalformedCctpMessage'
1323
+ msg: 'CCTP message is malformed or too short'
1324
+ },
1325
+ {
1326
+ code: 12006
1327
+ name: 'InvalidCctpMessageVersion'
1328
+ msg: 'Invalid CCTP message version'
1329
+ },
1330
+ {
1331
+ code: 12007
1332
+ name: 'InvalidTokenMessengerMinter'
1333
+ msg: 'Invalid Token Messenger Minter'
1334
+ },
1335
+ {
1336
+ code: 12008
1337
+ name: 'InvalidMessageTransmitter'
1338
+ msg: 'Invalid Message Transmitter'
1339
+ },
1340
+ {
1341
+ code: 12009
1342
+ name: 'InvalidMessageSentEventAccount'
1343
+ msg: 'Invalid Message Sent Event Account'
1344
+ },
1345
+ {
1346
+ code: 12010
1347
+ name: 'InvalidTokenPoolExtraData'
1348
+ msg: 'Invalid Token Pool Extra Data'
1349
+ },
1350
+ {
1351
+ code: 12011
1352
+ name: 'FailedCctpCpi'
1353
+ msg: 'Failed CCTP CPI'
1354
+ },
1355
+ {
1356
+ code: 12012
1357
+ name: 'InvalidFundManager'
1358
+ msg: 'Fund Manager is invalid or misconfigured'
1359
+ },
1360
+ {
1361
+ code: 12013
1362
+ name: 'InvalidReclaimDestination'
1363
+ msg: 'Invalid destination for funds reclaim'
1364
+ },
1365
+ {
1366
+ code: 12014
1367
+ name: 'InsufficientFunds'
1368
+ msg: 'Insufficient funds'
1369
+ },
1370
+ {
1371
+ code: 12015
1372
+ name: 'InvalidSolAmount'
1373
+ msg: 'Invalid SOL amount'
1374
+ },
1375
+ ]
1376
+ }
1377
+
1378
+ export const IDL: CctpTokenPool = {
1379
+ version: '1.6.0',
1380
+ name: 'cctp_token_pool',
1381
+ instructions: [
1382
+ {
1383
+ name: 'initGlobalConfig',
1384
+ accounts: [
1385
+ {
1386
+ name: 'config',
1387
+ isMut: true,
1388
+ isSigner: false,
1389
+ },
1390
+ {
1391
+ name: 'authority',
1392
+ isMut: true,
1393
+ isSigner: true,
1394
+ },
1395
+ {
1396
+ name: 'systemProgram',
1397
+ isMut: false,
1398
+ isSigner: false,
1399
+ },
1400
+ {
1401
+ name: 'program',
1402
+ isMut: false,
1403
+ isSigner: false,
1404
+ },
1405
+ {
1406
+ name: 'programData',
1407
+ isMut: false,
1408
+ isSigner: false,
1409
+ },
1410
+ ],
1411
+ args: [],
1412
+ },
1413
+ {
1414
+ name: 'initialize',
1415
+ accounts: [
1416
+ {
1417
+ name: 'state',
1418
+ isMut: true,
1419
+ isSigner: false,
1420
+ },
1421
+ {
1422
+ name: 'mint',
1423
+ isMut: false,
1424
+ isSigner: false,
1425
+ },
1426
+ {
1427
+ name: 'authority',
1428
+ isMut: true,
1429
+ isSigner: true,
1430
+ },
1431
+ {
1432
+ name: 'systemProgram',
1433
+ isMut: false,
1434
+ isSigner: false,
1435
+ },
1436
+ {
1437
+ name: 'program',
1438
+ isMut: false,
1439
+ isSigner: false,
1440
+ },
1441
+ {
1442
+ name: 'programData',
1443
+ isMut: false,
1444
+ isSigner: false,
1445
+ },
1446
+ {
1447
+ name: 'config',
1448
+ isMut: false,
1449
+ isSigner: false,
1450
+ },
1451
+ ],
1452
+ args: [
1453
+ {
1454
+ name: 'router',
1455
+ type: 'publicKey',
1456
+ },
1457
+ {
1458
+ name: 'rmnRemote',
1459
+ type: 'publicKey',
1460
+ },
1461
+ ],
1462
+ },
1463
+ {
1464
+ name: 'typeVersion',
1465
+ docs: [
1466
+ 'Returns the program type (name) and version.',
1467
+ 'Used by offchain code to easily determine which program & version is being interacted with.',
1468
+ '',
1469
+ '# Arguments',
1470
+ '* `ctx` - The context',
1471
+ ],
1472
+ accounts: [],
1473
+ args: [],
1474
+ returns: 'string',
1475
+ },
1476
+ {
1477
+ name: 'transferOwnership',
1478
+ accounts: [
1479
+ {
1480
+ name: 'state',
1481
+ isMut: true,
1482
+ isSigner: false,
1483
+ },
1484
+ {
1485
+ name: 'mint',
1486
+ isMut: false,
1487
+ isSigner: false,
1488
+ },
1489
+ {
1490
+ name: 'authority',
1491
+ isMut: false,
1492
+ isSigner: true,
1493
+ },
1494
+ ],
1495
+ args: [
1496
+ {
1497
+ name: 'proposedOwner',
1498
+ type: 'publicKey',
1499
+ },
1500
+ ],
1501
+ },
1502
+ {
1503
+ name: 'acceptOwnership',
1504
+ accounts: [
1505
+ {
1506
+ name: 'state',
1507
+ isMut: true,
1508
+ isSigner: false,
1509
+ },
1510
+ {
1511
+ name: 'mint',
1512
+ isMut: false,
1513
+ isSigner: false,
1514
+ },
1515
+ {
1516
+ name: 'authority',
1517
+ isMut: false,
1518
+ isSigner: true,
1519
+ },
1520
+ ],
1521
+ args: [],
1522
+ },
1523
+ {
1524
+ name: 'setFundManager',
1525
+ accounts: [
1526
+ {
1527
+ name: 'state',
1528
+ isMut: true,
1529
+ isSigner: false,
1530
+ },
1531
+ {
1532
+ name: 'mint',
1533
+ isMut: false,
1534
+ isSigner: false,
1535
+ },
1536
+ {
1537
+ name: 'authority',
1538
+ isMut: false,
1539
+ isSigner: true,
1540
+ },
1541
+ ],
1542
+ args: [
1543
+ {
1544
+ name: 'fundManager',
1545
+ type: 'publicKey',
1546
+ },
1547
+ ],
1548
+ },
1549
+ {
1550
+ name: 'setMinimumSignerFunds',
1551
+ accounts: [
1552
+ {
1553
+ name: 'state',
1554
+ isMut: true,
1555
+ isSigner: false,
1556
+ },
1557
+ {
1558
+ name: 'mint',
1559
+ isMut: false,
1560
+ isSigner: false,
1561
+ },
1562
+ {
1563
+ name: 'authority',
1564
+ isMut: false,
1565
+ isSigner: true,
1566
+ },
1567
+ ],
1568
+ args: [
1569
+ {
1570
+ name: 'amount',
1571
+ type: 'u64',
1572
+ },
1573
+ ],
1574
+ },
1575
+ {
1576
+ name: 'setFundReclaimDestination',
1577
+ accounts: [
1578
+ {
1579
+ name: 'state',
1580
+ isMut: true,
1581
+ isSigner: false,
1582
+ },
1583
+ {
1584
+ name: 'mint',
1585
+ isMut: false,
1586
+ isSigner: false,
1587
+ },
1588
+ {
1589
+ name: 'authority',
1590
+ isMut: false,
1591
+ isSigner: true,
1592
+ },
1593
+ ],
1594
+ args: [
1595
+ {
1596
+ name: 'fundReclaimDestination',
1597
+ type: 'publicKey',
1598
+ },
1599
+ ],
1600
+ },
1601
+ {
1602
+ name: 'setRouter',
1603
+ accounts: [
1604
+ {
1605
+ name: 'state',
1606
+ isMut: false,
1607
+ isSigner: false,
1608
+ },
1609
+ {
1610
+ name: 'mint',
1611
+ isMut: false,
1612
+ isSigner: false,
1613
+ },
1614
+ {
1615
+ name: 'authority',
1616
+ isMut: true,
1617
+ isSigner: true,
1618
+ },
1619
+ {
1620
+ name: 'program',
1621
+ isMut: false,
1622
+ isSigner: false,
1623
+ },
1624
+ {
1625
+ name: 'programData',
1626
+ isMut: false,
1627
+ isSigner: false,
1628
+ },
1629
+ ],
1630
+ args: [
1631
+ {
1632
+ name: 'newRouter',
1633
+ type: 'publicKey',
1634
+ },
1635
+ ],
1636
+ },
1637
+ {
1638
+ name: 'setRmn',
1639
+ accounts: [
1640
+ {
1641
+ name: 'state',
1642
+ isMut: false,
1643
+ isSigner: false,
1644
+ },
1645
+ {
1646
+ name: 'mint',
1647
+ isMut: false,
1648
+ isSigner: false,
1649
+ },
1650
+ {
1651
+ name: 'authority',
1652
+ isMut: true,
1653
+ isSigner: true,
1654
+ },
1655
+ {
1656
+ name: 'program',
1657
+ isMut: false,
1658
+ isSigner: false,
1659
+ },
1660
+ {
1661
+ name: 'programData',
1662
+ isMut: false,
1663
+ isSigner: false,
1664
+ },
1665
+ ],
1666
+ args: [
1667
+ {
1668
+ name: 'rmnAddress',
1669
+ type: 'publicKey',
1670
+ },
1671
+ ],
1672
+ },
1673
+ {
1674
+ name: 'initChainRemoteConfig',
1675
+ accounts: [
1676
+ {
1677
+ name: 'state',
1678
+ isMut: false,
1679
+ isSigner: false,
1680
+ },
1681
+ {
1682
+ name: 'chainConfig',
1683
+ isMut: true,
1684
+ isSigner: false,
1685
+ },
1686
+ {
1687
+ name: 'authority',
1688
+ isMut: true,
1689
+ isSigner: true,
1690
+ },
1691
+ {
1692
+ name: 'systemProgram',
1693
+ isMut: false,
1694
+ isSigner: false,
1695
+ },
1696
+ ],
1697
+ args: [
1698
+ {
1699
+ name: 'remoteChainSelector',
1700
+ type: 'u64',
1701
+ },
1702
+ {
1703
+ name: 'mint',
1704
+ type: 'publicKey',
1705
+ },
1706
+ {
1707
+ name: 'cfg',
1708
+ type: {
1709
+ defined: 'RemoteConfig',
1710
+ },
1711
+ },
1712
+ ],
1713
+ },
1714
+ {
1715
+ name: 'editChainRemoteConfig',
1716
+ accounts: [
1717
+ {
1718
+ name: 'state',
1719
+ isMut: false,
1720
+ isSigner: false,
1721
+ },
1722
+ {
1723
+ name: 'chainConfig',
1724
+ isMut: true,
1725
+ isSigner: false,
1726
+ },
1727
+ {
1728
+ name: 'authority',
1729
+ isMut: true,
1730
+ isSigner: true,
1731
+ },
1732
+ {
1733
+ name: 'systemProgram',
1734
+ isMut: false,
1735
+ isSigner: false,
1736
+ },
1737
+ ],
1738
+ args: [
1739
+ {
1740
+ name: 'remoteChainSelector',
1741
+ type: 'u64',
1742
+ },
1743
+ {
1744
+ name: 'mint',
1745
+ type: 'publicKey',
1746
+ },
1747
+ {
1748
+ name: 'cfg',
1749
+ type: {
1750
+ defined: 'RemoteConfig',
1751
+ },
1752
+ },
1753
+ ],
1754
+ },
1755
+ {
1756
+ name: 'editChainRemoteConfigCctp',
1757
+ accounts: [
1758
+ {
1759
+ name: 'state',
1760
+ isMut: false,
1761
+ isSigner: false,
1762
+ },
1763
+ {
1764
+ name: 'chainConfig',
1765
+ isMut: true,
1766
+ isSigner: false,
1767
+ },
1768
+ {
1769
+ name: 'authority',
1770
+ isMut: true,
1771
+ isSigner: true,
1772
+ },
1773
+ ],
1774
+ args: [
1775
+ {
1776
+ name: 'remoteChainSelector',
1777
+ type: 'u64',
1778
+ },
1779
+ {
1780
+ name: 'mint',
1781
+ type: 'publicKey',
1782
+ },
1783
+ {
1784
+ name: 'cfg',
1785
+ type: {
1786
+ defined: 'CctpChain',
1787
+ },
1788
+ },
1789
+ ],
1790
+ },
1791
+ {
1792
+ name: 'appendRemotePoolAddresses',
1793
+ accounts: [
1794
+ {
1795
+ name: 'state',
1796
+ isMut: false,
1797
+ isSigner: false,
1798
+ },
1799
+ {
1800
+ name: 'chainConfig',
1801
+ isMut: true,
1802
+ isSigner: false,
1803
+ },
1804
+ {
1805
+ name: 'authority',
1806
+ isMut: true,
1807
+ isSigner: true,
1808
+ },
1809
+ {
1810
+ name: 'systemProgram',
1811
+ isMut: false,
1812
+ isSigner: false,
1813
+ },
1814
+ ],
1815
+ args: [
1816
+ {
1817
+ name: 'remoteChainSelector',
1818
+ type: 'u64',
1819
+ },
1820
+ {
1821
+ name: 'mint',
1822
+ type: 'publicKey',
1823
+ },
1824
+ {
1825
+ name: 'addresses',
1826
+ type: {
1827
+ vec: {
1828
+ defined: 'RemoteAddress',
1829
+ },
1830
+ },
1831
+ },
1832
+ ],
1833
+ },
1834
+ {
1835
+ name: 'setChainRateLimit',
1836
+ accounts: [
1837
+ {
1838
+ name: 'state',
1839
+ isMut: false,
1840
+ isSigner: false,
1841
+ },
1842
+ {
1843
+ name: 'chainConfig',
1844
+ isMut: true,
1845
+ isSigner: false,
1846
+ },
1847
+ {
1848
+ name: 'authority',
1849
+ isMut: true,
1850
+ isSigner: true,
1851
+ },
1852
+ ],
1853
+ args: [
1854
+ {
1855
+ name: 'remoteChainSelector',
1856
+ type: 'u64',
1857
+ },
1858
+ {
1859
+ name: 'mint',
1860
+ type: 'publicKey',
1861
+ },
1862
+ {
1863
+ name: 'inbound',
1864
+ type: {
1865
+ defined: 'RateLimitConfig',
1866
+ },
1867
+ },
1868
+ {
1869
+ name: 'outbound',
1870
+ type: {
1871
+ defined: 'RateLimitConfig',
1872
+ },
1873
+ },
1874
+ ],
1875
+ },
1876
+ {
1877
+ name: 'setRateLimitAdmin',
1878
+ accounts: [
1879
+ {
1880
+ name: 'state',
1881
+ isMut: true,
1882
+ isSigner: false,
1883
+ },
1884
+ {
1885
+ name: 'authority',
1886
+ isMut: true,
1887
+ isSigner: true,
1888
+ },
1889
+ ],
1890
+ args: [
1891
+ {
1892
+ name: 'mint',
1893
+ type: 'publicKey',
1894
+ },
1895
+ {
1896
+ name: 'newRateLimitAdmin',
1897
+ type: 'publicKey',
1898
+ },
1899
+ ],
1900
+ },
1901
+ {
1902
+ name: 'deleteChainConfig',
1903
+ accounts: [
1904
+ {
1905
+ name: 'state',
1906
+ isMut: false,
1907
+ isSigner: false,
1908
+ },
1909
+ {
1910
+ name: 'chainConfig',
1911
+ isMut: true,
1912
+ isSigner: false,
1913
+ },
1914
+ {
1915
+ name: 'authority',
1916
+ isMut: true,
1917
+ isSigner: true,
1918
+ },
1919
+ ],
1920
+ args: [
1921
+ {
1922
+ name: 'remoteChainSelector',
1923
+ type: 'u64',
1924
+ },
1925
+ {
1926
+ name: 'mint',
1927
+ type: 'publicKey',
1928
+ },
1929
+ ],
1930
+ },
1931
+ {
1932
+ name: 'configureAllowList',
1933
+ accounts: [
1934
+ {
1935
+ name: 'state',
1936
+ isMut: true,
1937
+ isSigner: false,
1938
+ },
1939
+ {
1940
+ name: 'mint',
1941
+ isMut: false,
1942
+ isSigner: false,
1943
+ },
1944
+ {
1945
+ name: 'authority',
1946
+ isMut: true,
1947
+ isSigner: true,
1948
+ },
1949
+ {
1950
+ name: 'systemProgram',
1951
+ isMut: false,
1952
+ isSigner: false,
1953
+ },
1954
+ ],
1955
+ args: [
1956
+ {
1957
+ name: 'add',
1958
+ type: {
1959
+ vec: 'publicKey',
1960
+ },
1961
+ },
1962
+ {
1963
+ name: 'enabled',
1964
+ type: 'bool',
1965
+ },
1966
+ ],
1967
+ },
1968
+ {
1969
+ name: 'removeFromAllowList',
1970
+ accounts: [
1971
+ {
1972
+ name: 'state',
1973
+ isMut: true,
1974
+ isSigner: false,
1975
+ },
1976
+ {
1977
+ name: 'mint',
1978
+ isMut: false,
1979
+ isSigner: false,
1980
+ },
1981
+ {
1982
+ name: 'authority',
1983
+ isMut: true,
1984
+ isSigner: true,
1985
+ },
1986
+ {
1987
+ name: 'systemProgram',
1988
+ isMut: false,
1989
+ isSigner: false,
1990
+ },
1991
+ ],
1992
+ args: [
1993
+ {
1994
+ name: 'remove',
1995
+ type: {
1996
+ vec: 'publicKey',
1997
+ },
1998
+ },
1999
+ ],
2000
+ },
2001
+ {
2002
+ name: 'releaseOrMintTokens',
2003
+ accounts: [
2004
+ {
2005
+ name: 'authority',
2006
+ isMut: false,
2007
+ isSigner: true,
2008
+ },
2009
+ {
2010
+ name: 'offrampProgram',
2011
+ isMut: false,
2012
+ isSigner: false,
2013
+ docs: [
2014
+ 'CHECK offramp program: exists only to derive the allowed offramp PDA',
2015
+ 'and the authority PDA.',
2016
+ ],
2017
+ },
2018
+ {
2019
+ name: 'allowedOfframp',
2020
+ isMut: false,
2021
+ isSigner: false,
2022
+ docs: [
2023
+ 'CHECK PDA of the router program verifying the signer is an allowed offramp.',
2024
+ "If PDA does not exist, the router doesn't allow this offramp",
2025
+ ],
2026
+ },
2027
+ {
2028
+ name: 'state',
2029
+ isMut: false,
2030
+ isSigner: false,
2031
+ },
2032
+ {
2033
+ name: 'tokenProgram',
2034
+ isMut: false,
2035
+ isSigner: false,
2036
+ },
2037
+ {
2038
+ name: 'mint',
2039
+ isMut: true,
2040
+ isSigner: false,
2041
+ },
2042
+ {
2043
+ name: 'poolSigner',
2044
+ isMut: true,
2045
+ isSigner: false,
2046
+ },
2047
+ {
2048
+ name: 'poolTokenAccount',
2049
+ isMut: true,
2050
+ isSigner: false,
2051
+ },
2052
+ {
2053
+ name: 'chainConfig',
2054
+ isMut: false,
2055
+ isSigner: false,
2056
+ },
2057
+ {
2058
+ name: 'rmnRemote',
2059
+ isMut: false,
2060
+ isSigner: false,
2061
+ },
2062
+ {
2063
+ name: 'rmnRemoteCurses',
2064
+ isMut: false,
2065
+ isSigner: false,
2066
+ },
2067
+ {
2068
+ name: 'rmnRemoteConfig',
2069
+ isMut: false,
2070
+ isSigner: false,
2071
+ },
2072
+ {
2073
+ name: 'receiverTokenAccount',
2074
+ isMut: true,
2075
+ isSigner: false,
2076
+ },
2077
+ ],
2078
+ args: [
2079
+ {
2080
+ name: 'releaseOrMint',
2081
+ type: {
2082
+ defined: 'ReleaseOrMintInV1',
2083
+ },
2084
+ },
2085
+ ],
2086
+ returns: {
2087
+ defined: 'ReleaseOrMintOutV1',
2088
+ },
2089
+ },
2090
+ {
2091
+ name: 'lockOrBurnTokens',
2092
+ accounts: [
2093
+ {
2094
+ name: 'authority',
2095
+ isMut: false,
2096
+ isSigner: true,
2097
+ },
2098
+ {
2099
+ name: 'state',
2100
+ isMut: false,
2101
+ isSigner: false,
2102
+ },
2103
+ {
2104
+ name: 'tokenProgram',
2105
+ isMut: false,
2106
+ isSigner: false,
2107
+ },
2108
+ {
2109
+ name: 'mint',
2110
+ isMut: true,
2111
+ isSigner: false,
2112
+ },
2113
+ {
2114
+ name: 'poolSigner',
2115
+ isMut: true,
2116
+ isSigner: false,
2117
+ docs: [
2118
+ 'hold a balance to pay for the rent of initializing the CCTP MessageSentEvent account',
2119
+ ],
2120
+ },
2121
+ {
2122
+ name: 'poolTokenAccount',
2123
+ isMut: true,
2124
+ isSigner: false,
2125
+ },
2126
+ {
2127
+ name: 'rmnRemote',
2128
+ isMut: false,
2129
+ isSigner: false,
2130
+ },
2131
+ {
2132
+ name: 'rmnRemoteCurses',
2133
+ isMut: false,
2134
+ isSigner: false,
2135
+ },
2136
+ {
2137
+ name: 'rmnRemoteConfig',
2138
+ isMut: false,
2139
+ isSigner: false,
2140
+ },
2141
+ {
2142
+ name: 'chainConfig',
2143
+ isMut: false,
2144
+ isSigner: false,
2145
+ },
2146
+ {
2147
+ name: 'cctpMessageTransmitterAccount',
2148
+ isMut: true,
2149
+ isSigner: false,
2150
+ docs: ['CHECK this is not read by the pool, just forwarded to CCTP'],
2151
+ },
2152
+ {
2153
+ name: 'cctpTokenMessengerMinter',
2154
+ isMut: false,
2155
+ isSigner: false,
2156
+ docs: [
2157
+ "CHECK this is CCTP's TokenMessengerMinter program, which",
2158
+ 'is invoked by this program.',
2159
+ ],
2160
+ },
2161
+ {
2162
+ name: 'systemProgram',
2163
+ isMut: false,
2164
+ isSigner: false,
2165
+ },
2166
+ {
2167
+ name: 'cctpMessageTransmitter',
2168
+ isMut: false,
2169
+ isSigner: false,
2170
+ docs: [
2171
+ "CHECK this is CCTP's MessageTransmitter program, which",
2172
+ "is invoked transitively by CCTP's TokenMessengerMinter,",
2173
+ 'which in turn is invoked explicitly by this program.',
2174
+ ],
2175
+ },
2176
+ {
2177
+ name: 'cctpTokenMessengerAccount',
2178
+ isMut: false,
2179
+ isSigner: false,
2180
+ docs: ['CHECK this is not read by the pool, just forwarded to CCTP'],
2181
+ },
2182
+ {
2183
+ name: 'cctpTokenMinterAccount',
2184
+ isMut: false,
2185
+ isSigner: false,
2186
+ docs: ['CHECK this is not read by the pool, just forwarded to CCTP'],
2187
+ },
2188
+ {
2189
+ name: 'cctpLocalToken',
2190
+ isMut: true,
2191
+ isSigner: false,
2192
+ docs: ['CHECK this is not read by the pool, just forwarded to CCTP'],
2193
+ },
2194
+ {
2195
+ name: 'cctpEventAuthority',
2196
+ isMut: false,
2197
+ isSigner: false,
2198
+ docs: ['CHECK this is not read by the pool, just forwarded to CCTP'],
2199
+ },
2200
+ {
2201
+ name: 'cctpAuthorityPda',
2202
+ isMut: false,
2203
+ isSigner: false,
2204
+ docs: ['CHECK this is not read by the pool, just forwarded to CCTP'],
2205
+ },
2206
+ {
2207
+ name: 'cctpRemoteTokenMessengerKey',
2208
+ isMut: false,
2209
+ isSigner: false,
2210
+ docs: ['CHECK this is not read by the pool, just forwarded to CCTP'],
2211
+ },
2212
+ {
2213
+ name: 'cctpMessageSentEvent',
2214
+ isMut: true,
2215
+ isSigner: false,
2216
+ docs: [
2217
+ 'CHECK this is the account in which CCTP will store the event. It is not a PDA of CCTP,',
2218
+ 'but CCTP will initialize it and become the owner for it.',
2219
+ ],
2220
+ },
2221
+ ],
2222
+ args: [
2223
+ {
2224
+ name: 'lockOrBurn',
2225
+ type: {
2226
+ defined: 'LockOrBurnInV1',
2227
+ },
2228
+ },
2229
+ ],
2230
+ returns: {
2231
+ defined: 'LockOrBurnOutV1',
2232
+ },
2233
+ },
2234
+ {
2235
+ name: 'reclaimEventAccount',
2236
+ accounts: [
2237
+ {
2238
+ name: 'state',
2239
+ isMut: false,
2240
+ isSigner: false,
2241
+ },
2242
+ {
2243
+ name: 'poolSigner',
2244
+ isMut: true,
2245
+ isSigner: false,
2246
+ },
2247
+ {
2248
+ name: 'messageSentEventAccount',
2249
+ isMut: true,
2250
+ isSigner: false,
2251
+ },
2252
+ {
2253
+ name: 'messageTransmitter',
2254
+ isMut: true,
2255
+ isSigner: false,
2256
+ },
2257
+ {
2258
+ name: 'cctpMessageTransmitter',
2259
+ isMut: false,
2260
+ isSigner: false,
2261
+ },
2262
+ {
2263
+ name: 'authority',
2264
+ isMut: true,
2265
+ isSigner: true,
2266
+ },
2267
+ {
2268
+ name: 'systemProgram',
2269
+ isMut: false,
2270
+ isSigner: false,
2271
+ },
2272
+ ],
2273
+ args: [
2274
+ {
2275
+ name: 'mint',
2276
+ type: 'publicKey',
2277
+ },
2278
+ {
2279
+ name: 'originalSender',
2280
+ type: 'publicKey',
2281
+ },
2282
+ {
2283
+ name: 'remoteChainSelector',
2284
+ type: 'u64',
2285
+ },
2286
+ {
2287
+ name: 'msgNonce',
2288
+ type: 'u64',
2289
+ },
2290
+ {
2291
+ name: 'attestation',
2292
+ type: 'bytes',
2293
+ },
2294
+ ],
2295
+ },
2296
+ {
2297
+ name: 'reclaimFunds',
2298
+ docs: [
2299
+ 'Returns an amount of SOL from the pool signer account to the designated',
2300
+ 'fund reclaimer. There are three entities involved:',
2301
+ '',
2302
+ '* `owner`: can configure the reclaimer and fund manager.',
2303
+ '* `fund_manager`: can execute this instruction.',
2304
+ '* `fund_reclaim_destination`: receives the funds.',
2305
+ '',
2306
+ 'The resulting funds on the PDA cannot drop below `minimum_signer_funds`.',
2307
+ ],
2308
+ accounts: [
2309
+ {
2310
+ name: 'state',
2311
+ isMut: false,
2312
+ isSigner: false,
2313
+ },
2314
+ {
2315
+ name: 'mint',
2316
+ isMut: false,
2317
+ isSigner: false,
2318
+ },
2319
+ {
2320
+ name: 'poolSigner',
2321
+ isMut: true,
2322
+ isSigner: false,
2323
+ },
2324
+ {
2325
+ name: 'fundReclaimDestination',
2326
+ isMut: true,
2327
+ isSigner: false,
2328
+ docs: ['to be a particular fund reclaimer'],
2329
+ },
2330
+ {
2331
+ name: 'authority',
2332
+ isMut: true,
2333
+ isSigner: true,
2334
+ },
2335
+ {
2336
+ name: 'systemProgram',
2337
+ isMut: false,
2338
+ isSigner: false,
2339
+ },
2340
+ ],
2341
+ args: [
2342
+ {
2343
+ name: 'amount',
2344
+ type: 'u64',
2345
+ },
2346
+ ],
2347
+ },
2348
+ {
2349
+ name: 'deriveAccountsReleaseOrMintTokens',
2350
+ accounts: [],
2351
+ args: [
2352
+ {
2353
+ name: 'stage',
2354
+ type: 'string',
2355
+ },
2356
+ {
2357
+ name: 'releaseOrMint',
2358
+ type: {
2359
+ defined: 'ReleaseOrMintInV1',
2360
+ },
2361
+ },
2362
+ ],
2363
+ returns: {
2364
+ defined: 'DeriveAccountsResponse',
2365
+ },
2366
+ },
2367
+ {
2368
+ name: 'deriveAccountsLockOrBurnTokens',
2369
+ accounts: [],
2370
+ args: [
2371
+ {
2372
+ name: 'stage',
2373
+ type: 'string',
2374
+ },
2375
+ {
2376
+ name: 'lockOrBurn',
2377
+ type: {
2378
+ defined: 'LockOrBurnInV1',
2379
+ },
2380
+ },
2381
+ ],
2382
+ returns: {
2383
+ defined: 'DeriveAccountsResponse',
2384
+ },
2385
+ },
2386
+ ],
2387
+ accounts: [
2388
+ {
2389
+ name: 'state',
2390
+ type: {
2391
+ kind: 'struct',
2392
+ fields: [
2393
+ {
2394
+ name: 'version',
2395
+ type: 'u8',
2396
+ },
2397
+ {
2398
+ name: 'config',
2399
+ type: {
2400
+ defined: 'BaseConfig',
2401
+ },
2402
+ },
2403
+ {
2404
+ name: 'funding',
2405
+ type: {
2406
+ defined: 'FundingConfig',
2407
+ },
2408
+ },
2409
+ ],
2410
+ },
2411
+ },
2412
+ {
2413
+ name: 'poolConfig',
2414
+ type: {
2415
+ kind: 'struct',
2416
+ fields: [
2417
+ {
2418
+ name: 'version',
2419
+ type: 'u8',
2420
+ },
2421
+ ],
2422
+ },
2423
+ },
2424
+ {
2425
+ name: 'chainConfig',
2426
+ type: {
2427
+ kind: 'struct',
2428
+ fields: [
2429
+ {
2430
+ name: 'version',
2431
+ type: 'u8',
2432
+ },
2433
+ {
2434
+ name: 'base',
2435
+ type: {
2436
+ defined: 'BaseChain',
2437
+ },
2438
+ },
2439
+ {
2440
+ name: 'cctp',
2441
+ type: {
2442
+ defined: 'CctpChain',
2443
+ },
2444
+ },
2445
+ ],
2446
+ },
2447
+ },
2448
+ ],
2449
+ types: [
2450
+ {
2451
+ name: 'CctpMessage',
2452
+ type: {
2453
+ kind: 'struct',
2454
+ fields: [
2455
+ {
2456
+ name: 'data',
2457
+ type: 'bytes',
2458
+ },
2459
+ ],
2460
+ },
2461
+ },
2462
+ {
2463
+ name: 'MessageAndAttestation',
2464
+ type: {
2465
+ kind: 'struct',
2466
+ fields: [
2467
+ {
2468
+ name: 'message',
2469
+ type: {
2470
+ defined: 'CctpMessage',
2471
+ },
2472
+ },
2473
+ {
2474
+ name: 'attestation',
2475
+ type: 'bytes',
2476
+ },
2477
+ ],
2478
+ },
2479
+ },
2480
+ {
2481
+ name: 'DepositForBurnWithCallerParams',
2482
+ type: {
2483
+ kind: 'struct',
2484
+ fields: [
2485
+ {
2486
+ name: 'amount',
2487
+ type: 'u64',
2488
+ },
2489
+ {
2490
+ name: 'destinationDomain',
2491
+ type: 'u32',
2492
+ },
2493
+ {
2494
+ name: 'mintRecipient',
2495
+ type: 'publicKey',
2496
+ },
2497
+ {
2498
+ name: 'destinationCaller',
2499
+ type: 'publicKey',
2500
+ },
2501
+ ],
2502
+ },
2503
+ },
2504
+ {
2505
+ name: 'FundingConfig',
2506
+ type: {
2507
+ kind: 'struct',
2508
+ fields: [
2509
+ {
2510
+ name: 'manager',
2511
+ type: 'publicKey',
2512
+ },
2513
+ {
2514
+ name: 'reclaimDestination',
2515
+ type: 'publicKey',
2516
+ },
2517
+ {
2518
+ name: 'minimumSignerFunds',
2519
+ type: 'u64',
2520
+ },
2521
+ ],
2522
+ },
2523
+ },
2524
+ {
2525
+ name: 'CctpChain',
2526
+ type: {
2527
+ kind: 'struct',
2528
+ fields: [
2529
+ {
2530
+ name: 'domainId',
2531
+ type: 'u32',
2532
+ },
2533
+ {
2534
+ name: 'destinationCaller',
2535
+ type: 'publicKey',
2536
+ },
2537
+ ],
2538
+ },
2539
+ },
2540
+ {
2541
+ name: 'OnrampDeriveStage',
2542
+ type: {
2543
+ kind: 'enum',
2544
+ variants: [
2545
+ {
2546
+ name: 'RetrieveChainConfig',
2547
+ },
2548
+ {
2549
+ name: 'BuildDynamicAccounts',
2550
+ },
2551
+ ],
2552
+ },
2553
+ },
2554
+ {
2555
+ name: 'OfframpDeriveStage',
2556
+ type: {
2557
+ kind: 'enum',
2558
+ variants: [
2559
+ {
2560
+ name: 'RetrieveChainConfig',
2561
+ },
2562
+ {
2563
+ name: 'BuildDynamicAccounts',
2564
+ },
2565
+ ],
2566
+ },
2567
+ },
2568
+ ],
2569
+ events: [
2570
+ {
2571
+ name: 'RemoteChainCctpConfigChanged',
2572
+ fields: [
2573
+ {
2574
+ name: 'config',
2575
+ type: {
2576
+ defined: 'CctpChain',
2577
+ },
2578
+ index: false,
2579
+ },
2580
+ ],
2581
+ },
2582
+ {
2583
+ name: 'CcipCctpMessageSentEvent',
2584
+ fields: [
2585
+ {
2586
+ name: 'originalSender',
2587
+ type: 'publicKey',
2588
+ index: false,
2589
+ },
2590
+ {
2591
+ name: 'remoteChainSelector',
2592
+ type: 'u64',
2593
+ index: false,
2594
+ },
2595
+ {
2596
+ name: 'msgTotalNonce',
2597
+ type: 'u64',
2598
+ index: false,
2599
+ },
2600
+ {
2601
+ name: 'eventAddress',
2602
+ type: 'publicKey',
2603
+ index: false,
2604
+ },
2605
+ {
2606
+ name: 'sourceDomain',
2607
+ type: 'u32',
2608
+ index: false,
2609
+ },
2610
+ {
2611
+ name: 'cctpNonce',
2612
+ type: 'u64',
2613
+ index: false,
2614
+ },
2615
+ {
2616
+ name: 'messageSentBytes',
2617
+ type: 'bytes',
2618
+ index: false,
2619
+ },
2620
+ ],
2621
+ },
2622
+ {
2623
+ name: 'CcipCctpMessageEventAccountClosed',
2624
+ fields: [
2625
+ {
2626
+ name: 'originalSender',
2627
+ type: 'publicKey',
2628
+ index: false,
2629
+ },
2630
+ {
2631
+ name: 'remoteChainSelector',
2632
+ type: 'u64',
2633
+ index: false,
2634
+ },
2635
+ {
2636
+ name: 'msgTotalNonce',
2637
+ type: 'u64',
2638
+ index: false,
2639
+ },
2640
+ {
2641
+ name: 'address',
2642
+ type: 'publicKey',
2643
+ index: false,
2644
+ },
2645
+ ],
2646
+ },
2647
+ {
2648
+ name: 'CcipCctpFundingConfigChanged',
2649
+ fields: [
2650
+ {
2651
+ name: 'old',
2652
+ type: {
2653
+ defined: 'FundingConfig',
2654
+ },
2655
+ index: false,
2656
+ },
2657
+ {
2658
+ name: 'new',
2659
+ type: {
2660
+ defined: 'FundingConfig',
2661
+ },
2662
+ index: false,
2663
+ },
2664
+ ],
2665
+ },
2666
+ ],
2667
+ errors: [
2668
+ {
2669
+ code: 12000,
2670
+ name: 'InvalidTokenData',
2671
+ msg: 'Invalid token data',
2672
+ },
2673
+ {
2674
+ code: 12001,
2675
+ name: 'InvalidReceiver',
2676
+ msg: 'Invalid receiver',
2677
+ },
2678
+ {
2679
+ code: 12002,
2680
+ name: 'InvalidSourceDomain',
2681
+ msg: 'Invalid source domain',
2682
+ },
2683
+ {
2684
+ code: 12003,
2685
+ name: 'InvalidDestDomain',
2686
+ msg: 'Invalid destination domain',
2687
+ },
2688
+ {
2689
+ code: 12004,
2690
+ name: 'InvalidNonce',
2691
+ msg: 'Invalid nonce',
2692
+ },
2693
+ {
2694
+ code: 12005,
2695
+ name: 'MalformedCctpMessage',
2696
+ msg: 'CCTP message is malformed or too short',
2697
+ },
2698
+ {
2699
+ code: 12006,
2700
+ name: 'InvalidCctpMessageVersion',
2701
+ msg: 'Invalid CCTP message version',
2702
+ },
2703
+ {
2704
+ code: 12007,
2705
+ name: 'InvalidTokenMessengerMinter',
2706
+ msg: 'Invalid Token Messenger Minter',
2707
+ },
2708
+ {
2709
+ code: 12008,
2710
+ name: 'InvalidMessageTransmitter',
2711
+ msg: 'Invalid Message Transmitter',
2712
+ },
2713
+ {
2714
+ code: 12009,
2715
+ name: 'InvalidMessageSentEventAccount',
2716
+ msg: 'Invalid Message Sent Event Account',
2717
+ },
2718
+ {
2719
+ code: 12010,
2720
+ name: 'InvalidTokenPoolExtraData',
2721
+ msg: 'Invalid Token Pool Extra Data',
2722
+ },
2723
+ {
2724
+ code: 12011,
2725
+ name: 'FailedCctpCpi',
2726
+ msg: 'Failed CCTP CPI',
2727
+ },
2728
+ {
2729
+ code: 12012,
2730
+ name: 'InvalidFundManager',
2731
+ msg: 'Fund Manager is invalid or misconfigured',
2732
+ },
2733
+ {
2734
+ code: 12013,
2735
+ name: 'InvalidReclaimDestination',
2736
+ msg: 'Invalid destination for funds reclaim',
2737
+ },
2738
+ {
2739
+ code: 12014,
2740
+ name: 'InsufficientFunds',
2741
+ msg: 'Insufficient funds',
2742
+ },
2743
+ {
2744
+ code: 12015,
2745
+ name: 'InvalidSolAmount',
2746
+ msg: 'Invalid SOL amount',
2747
+ },
2748
+ ],
2749
+ }
2750
+ // generate:end