@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,1734 @@
1
+ // generate:
2
+ // fetch('https://github.com/smartcontractkit/chainlink-ccip/raw/refs/heads/main/chains/solana/contracts/target/types/base_token_pool.ts')
3
+ // .then((res) => res.text())
4
+ // .then((text) => text.trim())
5
+ export type BaseTokenPool = {
6
+ version: '1.6.0'
7
+ name: 'base_token_pool'
8
+ instructions: []
9
+ types: [
10
+ {
11
+ name: 'BaseConfig'
12
+ type: {
13
+ kind: 'struct'
14
+ fields: [
15
+ {
16
+ name: 'tokenProgram'
17
+ type: 'publicKey'
18
+ },
19
+ {
20
+ name: 'mint'
21
+ type: 'publicKey'
22
+ },
23
+ {
24
+ name: 'decimals'
25
+ type: 'u8'
26
+ },
27
+ {
28
+ name: 'poolSigner'
29
+ type: 'publicKey'
30
+ },
31
+ {
32
+ name: 'poolTokenAccount'
33
+ type: 'publicKey'
34
+ },
35
+ {
36
+ name: 'owner'
37
+ type: 'publicKey'
38
+ },
39
+ {
40
+ name: 'proposedOwner'
41
+ type: 'publicKey'
42
+ },
43
+ {
44
+ name: 'rateLimitAdmin'
45
+ type: 'publicKey'
46
+ },
47
+ {
48
+ name: 'routerOnrampAuthority'
49
+ type: 'publicKey'
50
+ },
51
+ {
52
+ name: 'router'
53
+ type: 'publicKey'
54
+ },
55
+ {
56
+ name: 'rebalancer'
57
+ type: 'publicKey'
58
+ },
59
+ {
60
+ name: 'canAcceptLiquidity'
61
+ type: 'bool'
62
+ },
63
+ {
64
+ name: 'listEnabled'
65
+ type: 'bool'
66
+ },
67
+ {
68
+ name: 'allowList'
69
+ type: {
70
+ vec: 'publicKey'
71
+ }
72
+ },
73
+ {
74
+ name: 'rmnRemote'
75
+ type: 'publicKey'
76
+ },
77
+ ]
78
+ }
79
+ },
80
+ {
81
+ name: 'BaseChain'
82
+ type: {
83
+ kind: 'struct'
84
+ fields: [
85
+ {
86
+ name: 'remote'
87
+ type: {
88
+ defined: 'RemoteConfig'
89
+ }
90
+ },
91
+ {
92
+ name: 'inboundRateLimit'
93
+ type: {
94
+ defined: 'RateLimitTokenBucket'
95
+ }
96
+ },
97
+ {
98
+ name: 'outboundRateLimit'
99
+ type: {
100
+ defined: 'RateLimitTokenBucket'
101
+ }
102
+ },
103
+ ]
104
+ }
105
+ },
106
+ {
107
+ name: 'RemoteConfig'
108
+ type: {
109
+ kind: 'struct'
110
+ fields: [
111
+ {
112
+ name: 'poolAddresses'
113
+ type: {
114
+ vec: {
115
+ defined: 'RemoteAddress'
116
+ }
117
+ }
118
+ },
119
+ {
120
+ name: 'tokenAddress'
121
+ type: {
122
+ defined: 'RemoteAddress'
123
+ }
124
+ },
125
+ {
126
+ name: 'decimals'
127
+ type: 'u8'
128
+ },
129
+ ]
130
+ }
131
+ },
132
+ {
133
+ name: 'RemoteAddress'
134
+ type: {
135
+ kind: 'struct'
136
+ fields: [
137
+ {
138
+ name: 'address'
139
+ type: 'bytes'
140
+ },
141
+ ]
142
+ }
143
+ },
144
+ {
145
+ name: 'LockOrBurnInV1'
146
+ type: {
147
+ kind: 'struct'
148
+ fields: [
149
+ {
150
+ name: 'receiver'
151
+ type: 'bytes'
152
+ },
153
+ {
154
+ name: 'remoteChainSelector'
155
+ type: 'u64'
156
+ },
157
+ {
158
+ name: 'originalSender'
159
+ type: 'publicKey'
160
+ },
161
+ {
162
+ name: 'amount'
163
+ type: 'u64'
164
+ },
165
+ {
166
+ name: 'localToken'
167
+ type: 'publicKey'
168
+ },
169
+ {
170
+ name: 'msgTotalNonce'
171
+ type: 'u64'
172
+ },
173
+ ]
174
+ }
175
+ },
176
+ {
177
+ name: 'LockOrBurnOutV1'
178
+ type: {
179
+ kind: 'struct'
180
+ fields: [
181
+ {
182
+ name: 'destTokenAddress'
183
+ type: {
184
+ defined: 'RemoteAddress'
185
+ }
186
+ },
187
+ {
188
+ name: 'destPoolData'
189
+ type: 'bytes'
190
+ },
191
+ ]
192
+ }
193
+ },
194
+ {
195
+ name: 'ReleaseOrMintInV1'
196
+ type: {
197
+ kind: 'struct'
198
+ fields: [
199
+ {
200
+ name: 'originalSender'
201
+ type: {
202
+ defined: 'RemoteAddress'
203
+ }
204
+ },
205
+ {
206
+ name: 'remoteChainSelector'
207
+ type: 'u64'
208
+ },
209
+ {
210
+ name: 'receiver'
211
+ type: 'publicKey'
212
+ },
213
+ {
214
+ name: 'amount'
215
+ type: {
216
+ array: ['u8', 32]
217
+ }
218
+ },
219
+ {
220
+ name: 'localToken'
221
+ type: 'publicKey'
222
+ },
223
+ {
224
+ name: 'sourcePoolAddress'
225
+ docs: [
226
+ '@dev WARNING: sourcePoolAddress should be checked prior to any processing of funds. Make sure it matches the',
227
+ 'expected pool address for the given remoteChainSelector.',
228
+ ]
229
+ type: {
230
+ defined: 'RemoteAddress'
231
+ }
232
+ },
233
+ {
234
+ name: 'sourcePoolData'
235
+ type: 'bytes'
236
+ },
237
+ {
238
+ name: 'offchainTokenData'
239
+ docs: ['@dev WARNING: offchainTokenData is untrusted data.']
240
+ type: 'bytes'
241
+ },
242
+ ]
243
+ }
244
+ },
245
+ {
246
+ name: 'ReleaseOrMintOutV1'
247
+ type: {
248
+ kind: 'struct'
249
+ fields: [
250
+ {
251
+ name: 'destinationAmount'
252
+ type: 'u64'
253
+ },
254
+ ]
255
+ }
256
+ },
257
+ {
258
+ name: 'DeriveAccountsResponse'
259
+ type: {
260
+ kind: 'struct'
261
+ fields: [
262
+ {
263
+ name: 'askAgainWith'
264
+ type: {
265
+ vec: {
266
+ defined: 'CcipAccountMeta'
267
+ }
268
+ }
269
+ },
270
+ {
271
+ name: 'accountsToSave'
272
+ type: {
273
+ vec: {
274
+ defined: 'CcipAccountMeta'
275
+ }
276
+ }
277
+ },
278
+ {
279
+ name: 'lookUpTablesToSave'
280
+ type: {
281
+ vec: 'publicKey'
282
+ }
283
+ },
284
+ {
285
+ name: 'currentStage'
286
+ type: 'string'
287
+ },
288
+ {
289
+ name: 'nextStage'
290
+ type: 'string'
291
+ },
292
+ ]
293
+ }
294
+ },
295
+ {
296
+ name: 'CcipAccountMeta'
297
+ type: {
298
+ kind: 'struct'
299
+ fields: [
300
+ {
301
+ name: 'pubkey'
302
+ type: 'publicKey'
303
+ },
304
+ {
305
+ name: 'isSigner'
306
+ type: 'bool'
307
+ },
308
+ {
309
+ name: 'isWritable'
310
+ type: 'bool'
311
+ },
312
+ ]
313
+ }
314
+ },
315
+ {
316
+ name: 'RateLimitTokenBucket'
317
+ type: {
318
+ kind: 'struct'
319
+ fields: [
320
+ {
321
+ name: 'tokens'
322
+ type: 'u64'
323
+ },
324
+ {
325
+ name: 'lastUpdated'
326
+ type: 'u64'
327
+ },
328
+ {
329
+ name: 'cfg'
330
+ type: {
331
+ defined: 'RateLimitConfig'
332
+ }
333
+ },
334
+ ]
335
+ }
336
+ },
337
+ {
338
+ name: 'RateLimitConfig'
339
+ type: {
340
+ kind: 'struct'
341
+ fields: [
342
+ {
343
+ name: 'enabled'
344
+ type: 'bool'
345
+ },
346
+ {
347
+ name: 'capacity'
348
+ type: 'u64'
349
+ },
350
+ {
351
+ name: 'rate'
352
+ type: 'u64'
353
+ },
354
+ ]
355
+ }
356
+ },
357
+ ]
358
+ events: [
359
+ {
360
+ name: 'GlobalConfigUpdated'
361
+ fields: [
362
+ {
363
+ name: 'selfServedAllowed'
364
+ type: 'bool'
365
+ index: false
366
+ },
367
+ {
368
+ name: 'router'
369
+ type: 'publicKey'
370
+ index: false
371
+ },
372
+ {
373
+ name: 'rmnRemote'
374
+ type: 'publicKey'
375
+ index: false
376
+ },
377
+ ]
378
+ },
379
+ {
380
+ name: 'Burned'
381
+ fields: [
382
+ {
383
+ name: 'sender'
384
+ type: 'publicKey'
385
+ index: false
386
+ },
387
+ {
388
+ name: 'amount'
389
+ type: 'u64'
390
+ index: false
391
+ },
392
+ {
393
+ name: 'mint'
394
+ type: 'publicKey'
395
+ index: false
396
+ },
397
+ ]
398
+ },
399
+ {
400
+ name: 'Minted'
401
+ fields: [
402
+ {
403
+ name: 'sender'
404
+ type: 'publicKey'
405
+ index: false
406
+ },
407
+ {
408
+ name: 'recipient'
409
+ type: 'publicKey'
410
+ index: false
411
+ },
412
+ {
413
+ name: 'amount'
414
+ type: 'u64'
415
+ index: false
416
+ },
417
+ {
418
+ name: 'mint'
419
+ type: 'publicKey'
420
+ index: false
421
+ },
422
+ ]
423
+ },
424
+ {
425
+ name: 'Locked'
426
+ fields: [
427
+ {
428
+ name: 'sender'
429
+ type: 'publicKey'
430
+ index: false
431
+ },
432
+ {
433
+ name: 'amount'
434
+ type: 'u64'
435
+ index: false
436
+ },
437
+ {
438
+ name: 'mint'
439
+ type: 'publicKey'
440
+ index: false
441
+ },
442
+ ]
443
+ },
444
+ {
445
+ name: 'Released'
446
+ fields: [
447
+ {
448
+ name: 'sender'
449
+ type: 'publicKey'
450
+ index: false
451
+ },
452
+ {
453
+ name: 'recipient'
454
+ type: 'publicKey'
455
+ index: false
456
+ },
457
+ {
458
+ name: 'amount'
459
+ type: 'u64'
460
+ index: false
461
+ },
462
+ {
463
+ name: 'mint'
464
+ type: 'publicKey'
465
+ index: false
466
+ },
467
+ ]
468
+ },
469
+ {
470
+ name: 'RemoteChainConfigured'
471
+ fields: [
472
+ {
473
+ name: 'chainSelector'
474
+ type: 'u64'
475
+ index: false
476
+ },
477
+ {
478
+ name: 'token'
479
+ type: {
480
+ defined: 'RemoteAddress'
481
+ }
482
+ index: false
483
+ },
484
+ {
485
+ name: 'previousToken'
486
+ type: {
487
+ defined: 'RemoteAddress'
488
+ }
489
+ index: false
490
+ },
491
+ {
492
+ name: 'poolAddresses'
493
+ type: {
494
+ vec: {
495
+ defined: 'RemoteAddress'
496
+ }
497
+ }
498
+ index: false
499
+ },
500
+ {
501
+ name: 'previousPoolAddresses'
502
+ type: {
503
+ vec: {
504
+ defined: 'RemoteAddress'
505
+ }
506
+ }
507
+ index: false
508
+ },
509
+ {
510
+ name: 'mint'
511
+ type: 'publicKey'
512
+ index: false
513
+ },
514
+ ]
515
+ },
516
+ {
517
+ name: 'RateLimitConfigured'
518
+ fields: [
519
+ {
520
+ name: 'chainSelector'
521
+ type: 'u64'
522
+ index: false
523
+ },
524
+ {
525
+ name: 'outboundRateLimit'
526
+ type: {
527
+ defined: 'RateLimitConfig'
528
+ }
529
+ index: false
530
+ },
531
+ {
532
+ name: 'inboundRateLimit'
533
+ type: {
534
+ defined: 'RateLimitConfig'
535
+ }
536
+ index: false
537
+ },
538
+ {
539
+ name: 'mint'
540
+ type: 'publicKey'
541
+ index: false
542
+ },
543
+ ]
544
+ },
545
+ {
546
+ name: 'RemotePoolsAppended'
547
+ fields: [
548
+ {
549
+ name: 'chainSelector'
550
+ type: 'u64'
551
+ index: false
552
+ },
553
+ {
554
+ name: 'poolAddresses'
555
+ type: {
556
+ vec: {
557
+ defined: 'RemoteAddress'
558
+ }
559
+ }
560
+ index: false
561
+ },
562
+ {
563
+ name: 'previousPoolAddresses'
564
+ type: {
565
+ vec: {
566
+ defined: 'RemoteAddress'
567
+ }
568
+ }
569
+ index: false
570
+ },
571
+ {
572
+ name: 'mint'
573
+ type: 'publicKey'
574
+ index: false
575
+ },
576
+ ]
577
+ },
578
+ {
579
+ name: 'RemoteChainRemoved'
580
+ fields: [
581
+ {
582
+ name: 'chainSelector'
583
+ type: 'u64'
584
+ index: false
585
+ },
586
+ {
587
+ name: 'mint'
588
+ type: 'publicKey'
589
+ index: false
590
+ },
591
+ ]
592
+ },
593
+ {
594
+ name: 'RouterUpdated'
595
+ fields: [
596
+ {
597
+ name: 'oldRouter'
598
+ type: 'publicKey'
599
+ index: false
600
+ },
601
+ {
602
+ name: 'newRouter'
603
+ type: 'publicKey'
604
+ index: false
605
+ },
606
+ {
607
+ name: 'mint'
608
+ type: 'publicKey'
609
+ index: false
610
+ },
611
+ ]
612
+ },
613
+ {
614
+ name: 'RmnRemoteUpdated'
615
+ fields: [
616
+ {
617
+ name: 'oldRmnRemote'
618
+ type: 'publicKey'
619
+ index: false
620
+ },
621
+ {
622
+ name: 'newRmnRemote'
623
+ type: 'publicKey'
624
+ index: false
625
+ },
626
+ {
627
+ name: 'mint'
628
+ type: 'publicKey'
629
+ index: false
630
+ },
631
+ ]
632
+ },
633
+ {
634
+ name: 'RateLimitAdminSet'
635
+ fields: [
636
+ {
637
+ name: 'mint'
638
+ type: 'publicKey'
639
+ index: false
640
+ },
641
+ {
642
+ name: 'oldRateLimitAdmin'
643
+ type: 'publicKey'
644
+ index: false
645
+ },
646
+ {
647
+ name: 'newRateLimitAdmin'
648
+ type: 'publicKey'
649
+ index: false
650
+ },
651
+ ]
652
+ },
653
+ {
654
+ name: 'OwnershipTransferRequested'
655
+ fields: [
656
+ {
657
+ name: 'from'
658
+ type: 'publicKey'
659
+ index: false
660
+ },
661
+ {
662
+ name: 'to'
663
+ type: 'publicKey'
664
+ index: false
665
+ },
666
+ {
667
+ name: 'mint'
668
+ type: 'publicKey'
669
+ index: false
670
+ },
671
+ ]
672
+ },
673
+ {
674
+ name: 'TokenPoolInitialized'
675
+ fields: [
676
+ {
677
+ name: 'mint'
678
+ type: 'publicKey'
679
+ index: false
680
+ },
681
+ {
682
+ name: 'tokenProgram'
683
+ type: 'publicKey'
684
+ index: false
685
+ },
686
+ {
687
+ name: 'owner'
688
+ type: 'publicKey'
689
+ index: false
690
+ },
691
+ ]
692
+ },
693
+ {
694
+ name: 'OwnershipTransferred'
695
+ fields: [
696
+ {
697
+ name: 'from'
698
+ type: 'publicKey'
699
+ index: false
700
+ },
701
+ {
702
+ name: 'to'
703
+ type: 'publicKey'
704
+ index: false
705
+ },
706
+ {
707
+ name: 'mint'
708
+ type: 'publicKey'
709
+ index: false
710
+ },
711
+ ]
712
+ },
713
+ {
714
+ name: 'MintAuthorityTransferred'
715
+ fields: [
716
+ {
717
+ name: 'mint'
718
+ type: 'publicKey'
719
+ index: false
720
+ },
721
+ {
722
+ name: 'oldMintAuthority'
723
+ type: 'publicKey'
724
+ index: false
725
+ },
726
+ {
727
+ name: 'newMintAuthority'
728
+ type: 'publicKey'
729
+ index: false
730
+ },
731
+ ]
732
+ },
733
+ {
734
+ name: 'TokensConsumed'
735
+ fields: [
736
+ {
737
+ name: 'tokens'
738
+ type: 'u64'
739
+ index: false
740
+ },
741
+ ]
742
+ },
743
+ {
744
+ name: 'ConfigChanged'
745
+ fields: [
746
+ {
747
+ name: 'config'
748
+ type: {
749
+ defined: 'RateLimitConfig'
750
+ }
751
+ index: false
752
+ },
753
+ ]
754
+ },
755
+ ]
756
+ errors: [
757
+ {
758
+ code: 6000
759
+ name: 'InvalidInitPoolPermissions'
760
+ msg: 'Pool authority does not match token mint owner'
761
+ },
762
+ {
763
+ code: 6001
764
+ name: 'InvalidRMNRemoteAddress'
765
+ msg: 'Invalid RMN Remote Address'
766
+ },
767
+ {
768
+ code: 6002
769
+ name: 'Unauthorized'
770
+ msg: 'Unauthorized'
771
+ },
772
+ {
773
+ code: 6003
774
+ name: 'InvalidInputs'
775
+ msg: 'Invalid inputs'
776
+ },
777
+ {
778
+ code: 6004
779
+ name: 'InvalidVersion'
780
+ msg: 'Invalid state version'
781
+ },
782
+ {
783
+ code: 6005
784
+ name: 'InvalidPoolCaller'
785
+ msg: 'Caller is not ramp on router'
786
+ },
787
+ {
788
+ code: 6006
789
+ name: 'InvalidSender'
790
+ msg: 'Sender not allowed'
791
+ },
792
+ {
793
+ code: 6007
794
+ name: 'InvalidSourcePoolAddress'
795
+ msg: 'Invalid source pool address'
796
+ },
797
+ {
798
+ code: 6008
799
+ name: 'InvalidToken'
800
+ msg: 'Invalid token'
801
+ },
802
+ {
803
+ code: 6009
804
+ name: 'InvalidTokenAmountConversion'
805
+ msg: 'Invalid token amount conversion'
806
+ },
807
+ {
808
+ code: 6010
809
+ name: 'AllowlistKeyAlreadyExisted'
810
+ msg: 'Key already existed in the allowlist'
811
+ },
812
+ {
813
+ code: 6011
814
+ name: 'AllowlistKeyDidNotExist'
815
+ msg: 'Key did not exist in the allowlist'
816
+ },
817
+ {
818
+ code: 6012
819
+ name: 'RemotePoolAddressAlreadyExisted'
820
+ msg: 'Remote pool address already exists'
821
+ },
822
+ {
823
+ code: 6013
824
+ name: 'NonemptyPoolAddressesInit'
825
+ msg: 'Expected empty pool addresses during initialization'
826
+ },
827
+ {
828
+ code: 6014
829
+ name: 'InvalidDerivationStage'
830
+ msg: 'Unexpected account derivation stage'
831
+ },
832
+ {
833
+ code: 6015
834
+ name: 'RLBucketOverfilled'
835
+ msg: 'RateLimit: bucket overfilled'
836
+ },
837
+ {
838
+ code: 6016
839
+ name: 'RLMaxCapacityExceeded'
840
+ msg: 'RateLimit: max capacity exceeded'
841
+ },
842
+ {
843
+ code: 6017
844
+ name: 'RLRateLimitReached'
845
+ msg: 'RateLimit: rate limit reached'
846
+ },
847
+ {
848
+ code: 6018
849
+ name: 'RLInvalidRateLimitRate'
850
+ msg: 'RateLimit: invalid rate limit rate'
851
+ },
852
+ {
853
+ code: 6019
854
+ name: 'RLDisabledNonZeroRateLimit'
855
+ msg: 'RateLimit: disabled non-zero rate limit'
856
+ },
857
+ {
858
+ code: 6020
859
+ name: 'LiquidityNotAccepted'
860
+ msg: 'Liquidity not accepted'
861
+ },
862
+ {
863
+ code: 6021
864
+ name: 'TransferZeroTokensNotAllowed'
865
+ msg: 'Transferring zero tokens is not allowed'
866
+ },
867
+ ]
868
+ }
869
+
870
+ export const IDL: BaseTokenPool = {
871
+ version: '1.6.0',
872
+ name: 'base_token_pool',
873
+ instructions: [],
874
+ types: [
875
+ {
876
+ name: 'BaseConfig',
877
+ type: {
878
+ kind: 'struct',
879
+ fields: [
880
+ {
881
+ name: 'tokenProgram',
882
+ type: 'publicKey',
883
+ },
884
+ {
885
+ name: 'mint',
886
+ type: 'publicKey',
887
+ },
888
+ {
889
+ name: 'decimals',
890
+ type: 'u8',
891
+ },
892
+ {
893
+ name: 'poolSigner',
894
+ type: 'publicKey',
895
+ },
896
+ {
897
+ name: 'poolTokenAccount',
898
+ type: 'publicKey',
899
+ },
900
+ {
901
+ name: 'owner',
902
+ type: 'publicKey',
903
+ },
904
+ {
905
+ name: 'proposedOwner',
906
+ type: 'publicKey',
907
+ },
908
+ {
909
+ name: 'rateLimitAdmin',
910
+ type: 'publicKey',
911
+ },
912
+ {
913
+ name: 'routerOnrampAuthority',
914
+ type: 'publicKey',
915
+ },
916
+ {
917
+ name: 'router',
918
+ type: 'publicKey',
919
+ },
920
+ {
921
+ name: 'rebalancer',
922
+ type: 'publicKey',
923
+ },
924
+ {
925
+ name: 'canAcceptLiquidity',
926
+ type: 'bool',
927
+ },
928
+ {
929
+ name: 'listEnabled',
930
+ type: 'bool',
931
+ },
932
+ {
933
+ name: 'allowList',
934
+ type: {
935
+ vec: 'publicKey',
936
+ },
937
+ },
938
+ {
939
+ name: 'rmnRemote',
940
+ type: 'publicKey',
941
+ },
942
+ ],
943
+ },
944
+ },
945
+ {
946
+ name: 'BaseChain',
947
+ type: {
948
+ kind: 'struct',
949
+ fields: [
950
+ {
951
+ name: 'remote',
952
+ type: {
953
+ defined: 'RemoteConfig',
954
+ },
955
+ },
956
+ {
957
+ name: 'inboundRateLimit',
958
+ type: {
959
+ defined: 'RateLimitTokenBucket',
960
+ },
961
+ },
962
+ {
963
+ name: 'outboundRateLimit',
964
+ type: {
965
+ defined: 'RateLimitTokenBucket',
966
+ },
967
+ },
968
+ ],
969
+ },
970
+ },
971
+ {
972
+ name: 'RemoteConfig',
973
+ type: {
974
+ kind: 'struct',
975
+ fields: [
976
+ {
977
+ name: 'poolAddresses',
978
+ type: {
979
+ vec: {
980
+ defined: 'RemoteAddress',
981
+ },
982
+ },
983
+ },
984
+ {
985
+ name: 'tokenAddress',
986
+ type: {
987
+ defined: 'RemoteAddress',
988
+ },
989
+ },
990
+ {
991
+ name: 'decimals',
992
+ type: 'u8',
993
+ },
994
+ ],
995
+ },
996
+ },
997
+ {
998
+ name: 'RemoteAddress',
999
+ type: {
1000
+ kind: 'struct',
1001
+ fields: [
1002
+ {
1003
+ name: 'address',
1004
+ type: 'bytes',
1005
+ },
1006
+ ],
1007
+ },
1008
+ },
1009
+ {
1010
+ name: 'LockOrBurnInV1',
1011
+ type: {
1012
+ kind: 'struct',
1013
+ fields: [
1014
+ {
1015
+ name: 'receiver',
1016
+ type: 'bytes',
1017
+ },
1018
+ {
1019
+ name: 'remoteChainSelector',
1020
+ type: 'u64',
1021
+ },
1022
+ {
1023
+ name: 'originalSender',
1024
+ type: 'publicKey',
1025
+ },
1026
+ {
1027
+ name: 'amount',
1028
+ type: 'u64',
1029
+ },
1030
+ {
1031
+ name: 'localToken',
1032
+ type: 'publicKey',
1033
+ },
1034
+ {
1035
+ name: 'msgTotalNonce',
1036
+ type: 'u64',
1037
+ },
1038
+ ],
1039
+ },
1040
+ },
1041
+ {
1042
+ name: 'LockOrBurnOutV1',
1043
+ type: {
1044
+ kind: 'struct',
1045
+ fields: [
1046
+ {
1047
+ name: 'destTokenAddress',
1048
+ type: {
1049
+ defined: 'RemoteAddress',
1050
+ },
1051
+ },
1052
+ {
1053
+ name: 'destPoolData',
1054
+ type: 'bytes',
1055
+ },
1056
+ ],
1057
+ },
1058
+ },
1059
+ {
1060
+ name: 'ReleaseOrMintInV1',
1061
+ type: {
1062
+ kind: 'struct',
1063
+ fields: [
1064
+ {
1065
+ name: 'originalSender',
1066
+ type: {
1067
+ defined: 'RemoteAddress',
1068
+ },
1069
+ },
1070
+ {
1071
+ name: 'remoteChainSelector',
1072
+ type: 'u64',
1073
+ },
1074
+ {
1075
+ name: 'receiver',
1076
+ type: 'publicKey',
1077
+ },
1078
+ {
1079
+ name: 'amount',
1080
+ type: {
1081
+ array: ['u8', 32],
1082
+ },
1083
+ },
1084
+ {
1085
+ name: 'localToken',
1086
+ type: 'publicKey',
1087
+ },
1088
+ {
1089
+ name: 'sourcePoolAddress',
1090
+ docs: [
1091
+ '@dev WARNING: sourcePoolAddress should be checked prior to any processing of funds. Make sure it matches the',
1092
+ 'expected pool address for the given remoteChainSelector.',
1093
+ ],
1094
+ type: {
1095
+ defined: 'RemoteAddress',
1096
+ },
1097
+ },
1098
+ {
1099
+ name: 'sourcePoolData',
1100
+ type: 'bytes',
1101
+ },
1102
+ {
1103
+ name: 'offchainTokenData',
1104
+ docs: ['@dev WARNING: offchainTokenData is untrusted data.'],
1105
+ type: 'bytes',
1106
+ },
1107
+ ],
1108
+ },
1109
+ },
1110
+ {
1111
+ name: 'ReleaseOrMintOutV1',
1112
+ type: {
1113
+ kind: 'struct',
1114
+ fields: [
1115
+ {
1116
+ name: 'destinationAmount',
1117
+ type: 'u64',
1118
+ },
1119
+ ],
1120
+ },
1121
+ },
1122
+ {
1123
+ name: 'DeriveAccountsResponse',
1124
+ type: {
1125
+ kind: 'struct',
1126
+ fields: [
1127
+ {
1128
+ name: 'askAgainWith',
1129
+ type: {
1130
+ vec: {
1131
+ defined: 'CcipAccountMeta',
1132
+ },
1133
+ },
1134
+ },
1135
+ {
1136
+ name: 'accountsToSave',
1137
+ type: {
1138
+ vec: {
1139
+ defined: 'CcipAccountMeta',
1140
+ },
1141
+ },
1142
+ },
1143
+ {
1144
+ name: 'lookUpTablesToSave',
1145
+ type: {
1146
+ vec: 'publicKey',
1147
+ },
1148
+ },
1149
+ {
1150
+ name: 'currentStage',
1151
+ type: 'string',
1152
+ },
1153
+ {
1154
+ name: 'nextStage',
1155
+ type: 'string',
1156
+ },
1157
+ ],
1158
+ },
1159
+ },
1160
+ {
1161
+ name: 'CcipAccountMeta',
1162
+ type: {
1163
+ kind: 'struct',
1164
+ fields: [
1165
+ {
1166
+ name: 'pubkey',
1167
+ type: 'publicKey',
1168
+ },
1169
+ {
1170
+ name: 'isSigner',
1171
+ type: 'bool',
1172
+ },
1173
+ {
1174
+ name: 'isWritable',
1175
+ type: 'bool',
1176
+ },
1177
+ ],
1178
+ },
1179
+ },
1180
+ {
1181
+ name: 'RateLimitTokenBucket',
1182
+ type: {
1183
+ kind: 'struct',
1184
+ fields: [
1185
+ {
1186
+ name: 'tokens',
1187
+ type: 'u64',
1188
+ },
1189
+ {
1190
+ name: 'lastUpdated',
1191
+ type: 'u64',
1192
+ },
1193
+ {
1194
+ name: 'cfg',
1195
+ type: {
1196
+ defined: 'RateLimitConfig',
1197
+ },
1198
+ },
1199
+ ],
1200
+ },
1201
+ },
1202
+ {
1203
+ name: 'RateLimitConfig',
1204
+ type: {
1205
+ kind: 'struct',
1206
+ fields: [
1207
+ {
1208
+ name: 'enabled',
1209
+ type: 'bool',
1210
+ },
1211
+ {
1212
+ name: 'capacity',
1213
+ type: 'u64',
1214
+ },
1215
+ {
1216
+ name: 'rate',
1217
+ type: 'u64',
1218
+ },
1219
+ ],
1220
+ },
1221
+ },
1222
+ ],
1223
+ events: [
1224
+ {
1225
+ name: 'GlobalConfigUpdated',
1226
+ fields: [
1227
+ {
1228
+ name: 'selfServedAllowed',
1229
+ type: 'bool',
1230
+ index: false,
1231
+ },
1232
+ {
1233
+ name: 'router',
1234
+ type: 'publicKey',
1235
+ index: false,
1236
+ },
1237
+ {
1238
+ name: 'rmnRemote',
1239
+ type: 'publicKey',
1240
+ index: false,
1241
+ },
1242
+ ],
1243
+ },
1244
+ {
1245
+ name: 'Burned',
1246
+ fields: [
1247
+ {
1248
+ name: 'sender',
1249
+ type: 'publicKey',
1250
+ index: false,
1251
+ },
1252
+ {
1253
+ name: 'amount',
1254
+ type: 'u64',
1255
+ index: false,
1256
+ },
1257
+ {
1258
+ name: 'mint',
1259
+ type: 'publicKey',
1260
+ index: false,
1261
+ },
1262
+ ],
1263
+ },
1264
+ {
1265
+ name: 'Minted',
1266
+ fields: [
1267
+ {
1268
+ name: 'sender',
1269
+ type: 'publicKey',
1270
+ index: false,
1271
+ },
1272
+ {
1273
+ name: 'recipient',
1274
+ type: 'publicKey',
1275
+ index: false,
1276
+ },
1277
+ {
1278
+ name: 'amount',
1279
+ type: 'u64',
1280
+ index: false,
1281
+ },
1282
+ {
1283
+ name: 'mint',
1284
+ type: 'publicKey',
1285
+ index: false,
1286
+ },
1287
+ ],
1288
+ },
1289
+ {
1290
+ name: 'Locked',
1291
+ fields: [
1292
+ {
1293
+ name: 'sender',
1294
+ type: 'publicKey',
1295
+ index: false,
1296
+ },
1297
+ {
1298
+ name: 'amount',
1299
+ type: 'u64',
1300
+ index: false,
1301
+ },
1302
+ {
1303
+ name: 'mint',
1304
+ type: 'publicKey',
1305
+ index: false,
1306
+ },
1307
+ ],
1308
+ },
1309
+ {
1310
+ name: 'Released',
1311
+ fields: [
1312
+ {
1313
+ name: 'sender',
1314
+ type: 'publicKey',
1315
+ index: false,
1316
+ },
1317
+ {
1318
+ name: 'recipient',
1319
+ type: 'publicKey',
1320
+ index: false,
1321
+ },
1322
+ {
1323
+ name: 'amount',
1324
+ type: 'u64',
1325
+ index: false,
1326
+ },
1327
+ {
1328
+ name: 'mint',
1329
+ type: 'publicKey',
1330
+ index: false,
1331
+ },
1332
+ ],
1333
+ },
1334
+ {
1335
+ name: 'RemoteChainConfigured',
1336
+ fields: [
1337
+ {
1338
+ name: 'chainSelector',
1339
+ type: 'u64',
1340
+ index: false,
1341
+ },
1342
+ {
1343
+ name: 'token',
1344
+ type: {
1345
+ defined: 'RemoteAddress',
1346
+ },
1347
+ index: false,
1348
+ },
1349
+ {
1350
+ name: 'previousToken',
1351
+ type: {
1352
+ defined: 'RemoteAddress',
1353
+ },
1354
+ index: false,
1355
+ },
1356
+ {
1357
+ name: 'poolAddresses',
1358
+ type: {
1359
+ vec: {
1360
+ defined: 'RemoteAddress',
1361
+ },
1362
+ },
1363
+ index: false,
1364
+ },
1365
+ {
1366
+ name: 'previousPoolAddresses',
1367
+ type: {
1368
+ vec: {
1369
+ defined: 'RemoteAddress',
1370
+ },
1371
+ },
1372
+ index: false,
1373
+ },
1374
+ {
1375
+ name: 'mint',
1376
+ type: 'publicKey',
1377
+ index: false,
1378
+ },
1379
+ ],
1380
+ },
1381
+ {
1382
+ name: 'RateLimitConfigured',
1383
+ fields: [
1384
+ {
1385
+ name: 'chainSelector',
1386
+ type: 'u64',
1387
+ index: false,
1388
+ },
1389
+ {
1390
+ name: 'outboundRateLimit',
1391
+ type: {
1392
+ defined: 'RateLimitConfig',
1393
+ },
1394
+ index: false,
1395
+ },
1396
+ {
1397
+ name: 'inboundRateLimit',
1398
+ type: {
1399
+ defined: 'RateLimitConfig',
1400
+ },
1401
+ index: false,
1402
+ },
1403
+ {
1404
+ name: 'mint',
1405
+ type: 'publicKey',
1406
+ index: false,
1407
+ },
1408
+ ],
1409
+ },
1410
+ {
1411
+ name: 'RemotePoolsAppended',
1412
+ fields: [
1413
+ {
1414
+ name: 'chainSelector',
1415
+ type: 'u64',
1416
+ index: false,
1417
+ },
1418
+ {
1419
+ name: 'poolAddresses',
1420
+ type: {
1421
+ vec: {
1422
+ defined: 'RemoteAddress',
1423
+ },
1424
+ },
1425
+ index: false,
1426
+ },
1427
+ {
1428
+ name: 'previousPoolAddresses',
1429
+ type: {
1430
+ vec: {
1431
+ defined: 'RemoteAddress',
1432
+ },
1433
+ },
1434
+ index: false,
1435
+ },
1436
+ {
1437
+ name: 'mint',
1438
+ type: 'publicKey',
1439
+ index: false,
1440
+ },
1441
+ ],
1442
+ },
1443
+ {
1444
+ name: 'RemoteChainRemoved',
1445
+ fields: [
1446
+ {
1447
+ name: 'chainSelector',
1448
+ type: 'u64',
1449
+ index: false,
1450
+ },
1451
+ {
1452
+ name: 'mint',
1453
+ type: 'publicKey',
1454
+ index: false,
1455
+ },
1456
+ ],
1457
+ },
1458
+ {
1459
+ name: 'RouterUpdated',
1460
+ fields: [
1461
+ {
1462
+ name: 'oldRouter',
1463
+ type: 'publicKey',
1464
+ index: false,
1465
+ },
1466
+ {
1467
+ name: 'newRouter',
1468
+ type: 'publicKey',
1469
+ index: false,
1470
+ },
1471
+ {
1472
+ name: 'mint',
1473
+ type: 'publicKey',
1474
+ index: false,
1475
+ },
1476
+ ],
1477
+ },
1478
+ {
1479
+ name: 'RmnRemoteUpdated',
1480
+ fields: [
1481
+ {
1482
+ name: 'oldRmnRemote',
1483
+ type: 'publicKey',
1484
+ index: false,
1485
+ },
1486
+ {
1487
+ name: 'newRmnRemote',
1488
+ type: 'publicKey',
1489
+ index: false,
1490
+ },
1491
+ {
1492
+ name: 'mint',
1493
+ type: 'publicKey',
1494
+ index: false,
1495
+ },
1496
+ ],
1497
+ },
1498
+ {
1499
+ name: 'RateLimitAdminSet',
1500
+ fields: [
1501
+ {
1502
+ name: 'mint',
1503
+ type: 'publicKey',
1504
+ index: false,
1505
+ },
1506
+ {
1507
+ name: 'oldRateLimitAdmin',
1508
+ type: 'publicKey',
1509
+ index: false,
1510
+ },
1511
+ {
1512
+ name: 'newRateLimitAdmin',
1513
+ type: 'publicKey',
1514
+ index: false,
1515
+ },
1516
+ ],
1517
+ },
1518
+ {
1519
+ name: 'OwnershipTransferRequested',
1520
+ fields: [
1521
+ {
1522
+ name: 'from',
1523
+ type: 'publicKey',
1524
+ index: false,
1525
+ },
1526
+ {
1527
+ name: 'to',
1528
+ type: 'publicKey',
1529
+ index: false,
1530
+ },
1531
+ {
1532
+ name: 'mint',
1533
+ type: 'publicKey',
1534
+ index: false,
1535
+ },
1536
+ ],
1537
+ },
1538
+ {
1539
+ name: 'TokenPoolInitialized',
1540
+ fields: [
1541
+ {
1542
+ name: 'mint',
1543
+ type: 'publicKey',
1544
+ index: false,
1545
+ },
1546
+ {
1547
+ name: 'tokenProgram',
1548
+ type: 'publicKey',
1549
+ index: false,
1550
+ },
1551
+ {
1552
+ name: 'owner',
1553
+ type: 'publicKey',
1554
+ index: false,
1555
+ },
1556
+ ],
1557
+ },
1558
+ {
1559
+ name: 'OwnershipTransferred',
1560
+ fields: [
1561
+ {
1562
+ name: 'from',
1563
+ type: 'publicKey',
1564
+ index: false,
1565
+ },
1566
+ {
1567
+ name: 'to',
1568
+ type: 'publicKey',
1569
+ index: false,
1570
+ },
1571
+ {
1572
+ name: 'mint',
1573
+ type: 'publicKey',
1574
+ index: false,
1575
+ },
1576
+ ],
1577
+ },
1578
+ {
1579
+ name: 'MintAuthorityTransferred',
1580
+ fields: [
1581
+ {
1582
+ name: 'mint',
1583
+ type: 'publicKey',
1584
+ index: false,
1585
+ },
1586
+ {
1587
+ name: 'oldMintAuthority',
1588
+ type: 'publicKey',
1589
+ index: false,
1590
+ },
1591
+ {
1592
+ name: 'newMintAuthority',
1593
+ type: 'publicKey',
1594
+ index: false,
1595
+ },
1596
+ ],
1597
+ },
1598
+ {
1599
+ name: 'TokensConsumed',
1600
+ fields: [
1601
+ {
1602
+ name: 'tokens',
1603
+ type: 'u64',
1604
+ index: false,
1605
+ },
1606
+ ],
1607
+ },
1608
+ {
1609
+ name: 'ConfigChanged',
1610
+ fields: [
1611
+ {
1612
+ name: 'config',
1613
+ type: {
1614
+ defined: 'RateLimitConfig',
1615
+ },
1616
+ index: false,
1617
+ },
1618
+ ],
1619
+ },
1620
+ ],
1621
+ errors: [
1622
+ {
1623
+ code: 6000,
1624
+ name: 'InvalidInitPoolPermissions',
1625
+ msg: 'Pool authority does not match token mint owner',
1626
+ },
1627
+ {
1628
+ code: 6001,
1629
+ name: 'InvalidRMNRemoteAddress',
1630
+ msg: 'Invalid RMN Remote Address',
1631
+ },
1632
+ {
1633
+ code: 6002,
1634
+ name: 'Unauthorized',
1635
+ msg: 'Unauthorized',
1636
+ },
1637
+ {
1638
+ code: 6003,
1639
+ name: 'InvalidInputs',
1640
+ msg: 'Invalid inputs',
1641
+ },
1642
+ {
1643
+ code: 6004,
1644
+ name: 'InvalidVersion',
1645
+ msg: 'Invalid state version',
1646
+ },
1647
+ {
1648
+ code: 6005,
1649
+ name: 'InvalidPoolCaller',
1650
+ msg: 'Caller is not ramp on router',
1651
+ },
1652
+ {
1653
+ code: 6006,
1654
+ name: 'InvalidSender',
1655
+ msg: 'Sender not allowed',
1656
+ },
1657
+ {
1658
+ code: 6007,
1659
+ name: 'InvalidSourcePoolAddress',
1660
+ msg: 'Invalid source pool address',
1661
+ },
1662
+ {
1663
+ code: 6008,
1664
+ name: 'InvalidToken',
1665
+ msg: 'Invalid token',
1666
+ },
1667
+ {
1668
+ code: 6009,
1669
+ name: 'InvalidTokenAmountConversion',
1670
+ msg: 'Invalid token amount conversion',
1671
+ },
1672
+ {
1673
+ code: 6010,
1674
+ name: 'AllowlistKeyAlreadyExisted',
1675
+ msg: 'Key already existed in the allowlist',
1676
+ },
1677
+ {
1678
+ code: 6011,
1679
+ name: 'AllowlistKeyDidNotExist',
1680
+ msg: 'Key did not exist in the allowlist',
1681
+ },
1682
+ {
1683
+ code: 6012,
1684
+ name: 'RemotePoolAddressAlreadyExisted',
1685
+ msg: 'Remote pool address already exists',
1686
+ },
1687
+ {
1688
+ code: 6013,
1689
+ name: 'NonemptyPoolAddressesInit',
1690
+ msg: 'Expected empty pool addresses during initialization',
1691
+ },
1692
+ {
1693
+ code: 6014,
1694
+ name: 'InvalidDerivationStage',
1695
+ msg: 'Unexpected account derivation stage',
1696
+ },
1697
+ {
1698
+ code: 6015,
1699
+ name: 'RLBucketOverfilled',
1700
+ msg: 'RateLimit: bucket overfilled',
1701
+ },
1702
+ {
1703
+ code: 6016,
1704
+ name: 'RLMaxCapacityExceeded',
1705
+ msg: 'RateLimit: max capacity exceeded',
1706
+ },
1707
+ {
1708
+ code: 6017,
1709
+ name: 'RLRateLimitReached',
1710
+ msg: 'RateLimit: rate limit reached',
1711
+ },
1712
+ {
1713
+ code: 6018,
1714
+ name: 'RLInvalidRateLimitRate',
1715
+ msg: 'RateLimit: invalid rate limit rate',
1716
+ },
1717
+ {
1718
+ code: 6019,
1719
+ name: 'RLDisabledNonZeroRateLimit',
1720
+ msg: 'RateLimit: disabled non-zero rate limit',
1721
+ },
1722
+ {
1723
+ code: 6020,
1724
+ name: 'LiquidityNotAccepted',
1725
+ msg: 'Liquidity not accepted',
1726
+ },
1727
+ {
1728
+ code: 6021,
1729
+ name: 'TransferZeroTokensNotAllowed',
1730
+ msg: 'Transferring zero tokens is not allowed',
1731
+ },
1732
+ ],
1733
+ }
1734
+ // generate:end