@across-protocol/contracts 4.0.11 → 4.0.13

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 (254) hide show
  1. package/README.md +182 -3
  2. package/dist/deployments/deployments.json +4 -2
  3. package/dist/scripts/svm/buildHelpers/generateSvmClients.js +4 -8
  4. package/dist/scripts/svm/{enableRoute.js → createVault.js} +15 -37
  5. package/dist/scripts/svm/fakeFillWithRandomDistribution.js +9 -8
  6. package/dist/scripts/svm/initialize.js +19 -5
  7. package/dist/scripts/svm/nativeDeposit.js +159 -0
  8. package/dist/scripts/svm/queryEventsV2.js +3 -3
  9. package/dist/scripts/svm/{queryRoute.js → queryVault.js} +10 -25
  10. package/dist/scripts/svm/remoteHubPoolPauseDeposits.js +2 -2
  11. package/dist/scripts/svm/simpleDeposit.js +30 -18
  12. package/dist/scripts/svm/simpleFakeRelayerRepayment.js +2 -9
  13. package/dist/scripts/svm/simpleFill.js +7 -5
  14. package/dist/scripts/svm/squadsIdlUpgrade.d.ts +1 -0
  15. package/dist/scripts/svm/squadsIdlUpgrade.js +76 -0
  16. package/dist/src/svm/assets/idl/svm_spoke.json +68 -409
  17. package/dist/src/svm/assets/svm_spoke.d.ts +65 -406
  18. package/dist/src/svm/clients/MessageTransmitter/accounts/index.d.ts +10 -0
  19. package/dist/src/svm/clients/MessageTransmitter/accounts/index.js +26 -0
  20. package/dist/src/svm/clients/MessageTransmitter/accounts/messageSent.d.ts +28 -0
  21. package/dist/src/svm/clients/MessageTransmitter/accounts/messageSent.js +64 -0
  22. package/dist/src/svm/clients/MessageTransmitter/accounts/messageTransmitter.d.ts +46 -0
  23. package/dist/src/svm/clients/MessageTransmitter/accounts/messageTransmitter.js +82 -0
  24. package/dist/src/svm/clients/MessageTransmitter/accounts/usedNonces.d.ts +31 -0
  25. package/dist/src/svm/clients/MessageTransmitter/accounts/usedNonces.js +70 -0
  26. package/dist/src/svm/clients/MessageTransmitter/errors/index.d.ts +8 -0
  27. package/dist/src/svm/clients/MessageTransmitter/errors/index.js +24 -0
  28. package/dist/src/svm/clients/MessageTransmitter/errors/messageTransmitter.d.ts +83 -0
  29. package/dist/src/svm/clients/MessageTransmitter/errors/messageTransmitter.js +124 -0
  30. package/dist/src/svm/clients/MessageTransmitter/index.d.ts +12 -0
  31. package/dist/src/svm/clients/MessageTransmitter/index.js +28 -0
  32. package/dist/src/svm/clients/MessageTransmitter/instructions/acceptOwnership.d.ts +45 -0
  33. package/dist/src/svm/clients/MessageTransmitter/instructions/acceptOwnership.js +85 -0
  34. package/dist/src/svm/clients/MessageTransmitter/instructions/disableAttester.d.ts +55 -0
  35. package/dist/src/svm/clients/MessageTransmitter/instructions/disableAttester.js +105 -0
  36. package/dist/src/svm/clients/MessageTransmitter/instructions/enableAttester.d.ts +55 -0
  37. package/dist/src/svm/clients/MessageTransmitter/instructions/enableAttester.js +105 -0
  38. package/dist/src/svm/clients/MessageTransmitter/instructions/getNoncePda.d.ts +43 -0
  39. package/dist/src/svm/clients/MessageTransmitter/instructions/getNoncePda.js +82 -0
  40. package/dist/src/svm/clients/MessageTransmitter/instructions/index.d.ts +25 -0
  41. package/dist/src/svm/clients/MessageTransmitter/instructions/index.js +41 -0
  42. package/dist/src/svm/clients/MessageTransmitter/instructions/initialize.d.ts +70 -0
  43. package/dist/src/svm/clients/MessageTransmitter/instructions/initialize.js +123 -0
  44. package/dist/src/svm/clients/MessageTransmitter/instructions/isNonceUsed.d.ts +42 -0
  45. package/dist/src/svm/clients/MessageTransmitter/instructions/isNonceUsed.js +77 -0
  46. package/dist/src/svm/clients/MessageTransmitter/instructions/pause.d.ts +45 -0
  47. package/dist/src/svm/clients/MessageTransmitter/instructions/pause.js +85 -0
  48. package/dist/src/svm/clients/MessageTransmitter/instructions/receiveMessage.d.ts +67 -0
  49. package/dist/src/svm/clients/MessageTransmitter/instructions/receiveMessage.js +113 -0
  50. package/dist/src/svm/clients/MessageTransmitter/instructions/reclaimEventAccount.d.ts +48 -0
  51. package/dist/src/svm/clients/MessageTransmitter/instructions/reclaimEventAccount.js +94 -0
  52. package/dist/src/svm/clients/MessageTransmitter/instructions/replaceMessage.d.ts +64 -0
  53. package/dist/src/svm/clients/MessageTransmitter/instructions/replaceMessage.js +132 -0
  54. package/dist/src/svm/clients/MessageTransmitter/instructions/sendMessage.d.ts +61 -0
  55. package/dist/src/svm/clients/MessageTransmitter/instructions/sendMessage.js +112 -0
  56. package/dist/src/svm/clients/MessageTransmitter/instructions/sendMessageWithCaller.d.ts +64 -0
  57. package/dist/src/svm/clients/MessageTransmitter/instructions/sendMessageWithCaller.js +117 -0
  58. package/dist/src/svm/clients/MessageTransmitter/instructions/setMaxMessageBodySize.d.ts +49 -0
  59. package/dist/src/svm/clients/MessageTransmitter/instructions/setMaxMessageBodySize.js +94 -0
  60. package/dist/src/svm/clients/MessageTransmitter/instructions/setSignatureThreshold.d.ts +49 -0
  61. package/dist/src/svm/clients/MessageTransmitter/instructions/setSignatureThreshold.js +97 -0
  62. package/dist/src/svm/clients/MessageTransmitter/instructions/transferOwnership.d.ts +49 -0
  63. package/dist/src/svm/clients/MessageTransmitter/instructions/transferOwnership.js +91 -0
  64. package/dist/src/svm/clients/MessageTransmitter/instructions/unpause.d.ts +45 -0
  65. package/dist/src/svm/clients/MessageTransmitter/instructions/unpause.js +85 -0
  66. package/dist/src/svm/clients/MessageTransmitter/instructions/updateAttesterManager.d.ts +49 -0
  67. package/dist/src/svm/clients/MessageTransmitter/instructions/updateAttesterManager.js +94 -0
  68. package/dist/src/svm/clients/MessageTransmitter/instructions/updatePauser.d.ts +49 -0
  69. package/dist/src/svm/clients/MessageTransmitter/instructions/updatePauser.js +91 -0
  70. package/dist/src/svm/clients/MessageTransmitter/programs/index.d.ts +8 -0
  71. package/dist/src/svm/clients/MessageTransmitter/programs/index.js +24 -0
  72. package/dist/src/svm/clients/MessageTransmitter/programs/messageTransmitter.d.ts +78 -0
  73. package/dist/src/svm/clients/MessageTransmitter/programs/messageTransmitter.js +112 -0
  74. package/dist/src/svm/clients/MessageTransmitter/shared/index.d.ts +49 -0
  75. package/dist/src/svm/clients/MessageTransmitter/shared/index.js +94 -0
  76. package/dist/src/svm/clients/MessageTransmitter/types/attesterDisabled.d.ts +15 -0
  77. package/dist/src/svm/clients/MessageTransmitter/types/attesterDisabled.js +22 -0
  78. package/dist/src/svm/clients/MessageTransmitter/types/attesterEnabled.d.ts +15 -0
  79. package/dist/src/svm/clients/MessageTransmitter/types/attesterEnabled.js +22 -0
  80. package/dist/src/svm/clients/MessageTransmitter/types/attesterManagerUpdated.d.ts +16 -0
  81. package/dist/src/svm/clients/MessageTransmitter/types/attesterManagerUpdated.js +28 -0
  82. package/dist/src/svm/clients/MessageTransmitter/types/handleReceiveMessageParams.d.ts +18 -0
  83. package/dist/src/svm/clients/MessageTransmitter/types/handleReceiveMessageParams.js +32 -0
  84. package/dist/src/svm/clients/MessageTransmitter/types/index.d.ts +20 -0
  85. package/dist/src/svm/clients/MessageTransmitter/types/index.js +36 -0
  86. package/dist/src/svm/clients/MessageTransmitter/types/mathError.d.ts +17 -0
  87. package/dist/src/svm/clients/MessageTransmitter/types/mathError.js +29 -0
  88. package/dist/src/svm/clients/MessageTransmitter/types/maxMessageBodySizeUpdated.d.ts +17 -0
  89. package/dist/src/svm/clients/MessageTransmitter/types/maxMessageBodySizeUpdated.js +22 -0
  90. package/dist/src/svm/clients/MessageTransmitter/types/messageReceived.d.ts +25 -0
  91. package/dist/src/svm/clients/MessageTransmitter/types/messageReceived.js +34 -0
  92. package/dist/src/svm/clients/MessageTransmitter/types/ownershipTransferStarted.d.ts +16 -0
  93. package/dist/src/svm/clients/MessageTransmitter/types/ownershipTransferStarted.js +28 -0
  94. package/dist/src/svm/clients/MessageTransmitter/types/ownershipTransferred.d.ts +16 -0
  95. package/dist/src/svm/clients/MessageTransmitter/types/ownershipTransferred.js +28 -0
  96. package/dist/src/svm/clients/MessageTransmitter/types/pause.d.ts +13 -0
  97. package/dist/src/svm/clients/MessageTransmitter/types/pause.js +22 -0
  98. package/dist/src/svm/clients/MessageTransmitter/types/pauserChanged.d.ts +15 -0
  99. package/dist/src/svm/clients/MessageTransmitter/types/pauserChanged.js +22 -0
  100. package/dist/src/svm/clients/MessageTransmitter/types/signatureThresholdUpdated.d.ts +16 -0
  101. package/dist/src/svm/clients/MessageTransmitter/types/signatureThresholdUpdated.js +28 -0
  102. package/dist/src/svm/clients/MessageTransmitter/types/unpause.d.ts +13 -0
  103. package/dist/src/svm/clients/MessageTransmitter/types/unpause.js +22 -0
  104. package/dist/src/svm/clients/SvmSpoke/accounts/index.d.ts +0 -1
  105. package/dist/src/svm/clients/SvmSpoke/accounts/index.js +0 -1
  106. package/dist/src/svm/clients/SvmSpoke/errors/svmSpoke.d.ts +31 -35
  107. package/dist/src/svm/clients/SvmSpoke/errors/svmSpoke.js +46 -52
  108. package/dist/src/svm/clients/SvmSpoke/instructions/bridgeTokensToHubPool.js +1 -1
  109. package/dist/src/svm/clients/SvmSpoke/instructions/claimRelayerRefund.js +1 -1
  110. package/dist/src/svm/clients/SvmSpoke/instructions/deposit.d.ts +21 -13
  111. package/dist/src/svm/clients/SvmSpoke/instructions/deposit.js +40 -8
  112. package/dist/src/svm/clients/SvmSpoke/instructions/depositNow.d.ts +21 -13
  113. package/dist/src/svm/clients/SvmSpoke/instructions/depositNow.js +40 -8
  114. package/dist/src/svm/clients/SvmSpoke/instructions/executeRelayerRefundLeaf.js +1 -1
  115. package/dist/src/svm/clients/SvmSpoke/instructions/executeRelayerRefundLeafDeferred.js +1 -1
  116. package/dist/src/svm/clients/SvmSpoke/instructions/executeSlowRelayLeaf.js +2 -2
  117. package/dist/src/svm/clients/SvmSpoke/instructions/fillRelay.d.ts +20 -16
  118. package/dist/src/svm/clients/SvmSpoke/instructions/fillRelay.js +7 -2
  119. package/dist/src/svm/clients/SvmSpoke/instructions/handleReceiveMessage.js +1 -1
  120. package/dist/src/svm/clients/SvmSpoke/instructions/index.d.ts +0 -1
  121. package/dist/src/svm/clients/SvmSpoke/instructions/index.js +0 -1
  122. package/dist/src/svm/clients/SvmSpoke/instructions/unsafeDeposit.d.ts +21 -13
  123. package/dist/src/svm/clients/SvmSpoke/instructions/unsafeDeposit.js +40 -8
  124. package/dist/src/svm/clients/SvmSpoke/programs/svmSpoke.d.ts +6 -10
  125. package/dist/src/svm/clients/SvmSpoke/programs/svmSpoke.js +5 -13
  126. package/dist/src/svm/clients/SvmSpoke/types/index.d.ts +0 -1
  127. package/dist/src/svm/clients/SvmSpoke/types/index.js +0 -1
  128. package/dist/src/svm/clients/TokenMessengerMinter/accounts/index.d.ts +12 -0
  129. package/dist/src/svm/clients/TokenMessengerMinter/accounts/index.js +28 -0
  130. package/dist/src/svm/clients/TokenMessengerMinter/accounts/localToken.d.ts +43 -0
  131. package/dist/src/svm/clients/TokenMessengerMinter/accounts/localToken.js +82 -0
  132. package/dist/src/svm/clients/TokenMessengerMinter/accounts/remoteTokenMessenger.d.ts +29 -0
  133. package/dist/src/svm/clients/TokenMessengerMinter/accounts/remoteTokenMessenger.js +71 -0
  134. package/dist/src/svm/clients/TokenMessengerMinter/accounts/tokenMessenger.d.ts +35 -0
  135. package/dist/src/svm/clients/TokenMessengerMinter/accounts/tokenMessenger.js +74 -0
  136. package/dist/src/svm/clients/TokenMessengerMinter/accounts/tokenMinter.d.ts +33 -0
  137. package/dist/src/svm/clients/TokenMessengerMinter/accounts/tokenMinter.js +72 -0
  138. package/dist/src/svm/clients/TokenMessengerMinter/accounts/tokenPair.d.ts +33 -0
  139. package/dist/src/svm/clients/TokenMessengerMinter/accounts/tokenPair.js +72 -0
  140. package/dist/src/svm/clients/TokenMessengerMinter/errors/index.d.ts +8 -0
  141. package/dist/src/svm/clients/TokenMessengerMinter/errors/index.js +24 -0
  142. package/dist/src/svm/clients/TokenMessengerMinter/errors/tokenMessengerMinter.d.ts +45 -0
  143. package/dist/src/svm/clients/TokenMessengerMinter/errors/tokenMessengerMinter.js +67 -0
  144. package/dist/src/svm/clients/TokenMessengerMinter/index.d.ts +12 -0
  145. package/dist/src/svm/clients/TokenMessengerMinter/index.js +28 -0
  146. package/dist/src/svm/clients/TokenMessengerMinter/instructions/acceptOwnership.d.ts +45 -0
  147. package/dist/src/svm/clients/TokenMessengerMinter/instructions/acceptOwnership.js +82 -0
  148. package/dist/src/svm/clients/TokenMessengerMinter/instructions/addLocalToken.d.ts +63 -0
  149. package/dist/src/svm/clients/TokenMessengerMinter/instructions/addLocalToken.js +115 -0
  150. package/dist/src/svm/clients/TokenMessengerMinter/instructions/addRemoteTokenMessenger.d.ts +61 -0
  151. package/dist/src/svm/clients/TokenMessengerMinter/instructions/addRemoteTokenMessenger.js +110 -0
  152. package/dist/src/svm/clients/TokenMessengerMinter/instructions/burnTokenCustody.d.ts +64 -0
  153. package/dist/src/svm/clients/TokenMessengerMinter/instructions/burnTokenCustody.js +117 -0
  154. package/dist/src/svm/clients/TokenMessengerMinter/instructions/depositForBurn.d.ts +94 -0
  155. package/dist/src/svm/clients/TokenMessengerMinter/instructions/depositForBurn.js +161 -0
  156. package/dist/src/svm/clients/TokenMessengerMinter/instructions/depositForBurnWithCaller.d.ts +97 -0
  157. package/dist/src/svm/clients/TokenMessengerMinter/instructions/depositForBurnWithCaller.js +166 -0
  158. package/dist/src/svm/clients/TokenMessengerMinter/instructions/handleReceiveMessage.d.ts +79 -0
  159. package/dist/src/svm/clients/TokenMessengerMinter/instructions/handleReceiveMessage.js +132 -0
  160. package/dist/src/svm/clients/TokenMessengerMinter/instructions/index.d.ts +26 -0
  161. package/dist/src/svm/clients/TokenMessengerMinter/instructions/index.js +42 -0
  162. package/dist/src/svm/clients/TokenMessengerMinter/instructions/initialize.d.ts +73 -0
  163. package/dist/src/svm/clients/TokenMessengerMinter/instructions/initialize.js +124 -0
  164. package/dist/src/svm/clients/TokenMessengerMinter/instructions/linkTokenPair.d.ts +64 -0
  165. package/dist/src/svm/clients/TokenMessengerMinter/instructions/linkTokenPair.js +109 -0
  166. package/dist/src/svm/clients/TokenMessengerMinter/instructions/pause.d.ts +45 -0
  167. package/dist/src/svm/clients/TokenMessengerMinter/instructions/pause.js +82 -0
  168. package/dist/src/svm/clients/TokenMessengerMinter/instructions/removeLocalToken.d.ts +57 -0
  169. package/dist/src/svm/clients/TokenMessengerMinter/instructions/removeLocalToken.js +105 -0
  170. package/dist/src/svm/clients/TokenMessengerMinter/instructions/removeRemoteTokenMessenger.d.ts +51 -0
  171. package/dist/src/svm/clients/TokenMessengerMinter/instructions/removeRemoteTokenMessenger.js +94 -0
  172. package/dist/src/svm/clients/TokenMessengerMinter/instructions/replaceDepositForBurn.d.ts +79 -0
  173. package/dist/src/svm/clients/TokenMessengerMinter/instructions/replaceDepositForBurn.js +150 -0
  174. package/dist/src/svm/clients/TokenMessengerMinter/instructions/setMaxBurnAmountPerMessage.d.ts +52 -0
  175. package/dist/src/svm/clients/TokenMessengerMinter/instructions/setMaxBurnAmountPerMessage.js +97 -0
  176. package/dist/src/svm/clients/TokenMessengerMinter/instructions/setTokenController.d.ts +52 -0
  177. package/dist/src/svm/clients/TokenMessengerMinter/instructions/setTokenController.js +91 -0
  178. package/dist/src/svm/clients/TokenMessengerMinter/instructions/transferOwnership.d.ts +49 -0
  179. package/dist/src/svm/clients/TokenMessengerMinter/instructions/transferOwnership.js +88 -0
  180. package/dist/src/svm/clients/TokenMessengerMinter/instructions/unlinkTokenPair.d.ts +51 -0
  181. package/dist/src/svm/clients/TokenMessengerMinter/instructions/unlinkTokenPair.js +91 -0
  182. package/dist/src/svm/clients/TokenMessengerMinter/instructions/unpause.d.ts +45 -0
  183. package/dist/src/svm/clients/TokenMessengerMinter/instructions/unpause.js +82 -0
  184. package/dist/src/svm/clients/TokenMessengerMinter/instructions/updatePauser.d.ts +52 -0
  185. package/dist/src/svm/clients/TokenMessengerMinter/instructions/updatePauser.js +91 -0
  186. package/dist/src/svm/clients/TokenMessengerMinter/programs/index.d.ts +8 -0
  187. package/dist/src/svm/clients/TokenMessengerMinter/programs/index.js +24 -0
  188. package/dist/src/svm/clients/TokenMessengerMinter/programs/tokenMessengerMinter.d.ts +83 -0
  189. package/dist/src/svm/clients/TokenMessengerMinter/programs/tokenMessengerMinter.js +124 -0
  190. package/dist/src/svm/clients/TokenMessengerMinter/shared/index.d.ts +49 -0
  191. package/dist/src/svm/clients/TokenMessengerMinter/shared/index.js +94 -0
  192. package/dist/src/svm/clients/TokenMessengerMinter/types/depositForBurn.d.ts +31 -0
  193. package/dist/src/svm/clients/TokenMessengerMinter/types/depositForBurn.js +40 -0
  194. package/dist/src/svm/clients/TokenMessengerMinter/types/index.d.ts +24 -0
  195. package/dist/src/svm/clients/TokenMessengerMinter/types/index.js +40 -0
  196. package/dist/src/svm/clients/TokenMessengerMinter/types/localTokenAdded.d.ts +16 -0
  197. package/dist/src/svm/clients/TokenMessengerMinter/types/localTokenAdded.js +28 -0
  198. package/dist/src/svm/clients/TokenMessengerMinter/types/localTokenRemoved.d.ts +16 -0
  199. package/dist/src/svm/clients/TokenMessengerMinter/types/localTokenRemoved.js +28 -0
  200. package/dist/src/svm/clients/TokenMessengerMinter/types/mintAndWithdraw.d.ts +21 -0
  201. package/dist/src/svm/clients/TokenMessengerMinter/types/mintAndWithdraw.js +30 -0
  202. package/dist/src/svm/clients/TokenMessengerMinter/types/ownershipTransferStarted.d.ts +16 -0
  203. package/dist/src/svm/clients/TokenMessengerMinter/types/ownershipTransferStarted.js +28 -0
  204. package/dist/src/svm/clients/TokenMessengerMinter/types/ownershipTransferred.d.ts +16 -0
  205. package/dist/src/svm/clients/TokenMessengerMinter/types/ownershipTransferred.js +28 -0
  206. package/dist/src/svm/clients/TokenMessengerMinter/types/pause.d.ts +13 -0
  207. package/dist/src/svm/clients/TokenMessengerMinter/types/pause.js +22 -0
  208. package/dist/src/svm/clients/TokenMessengerMinter/types/pauserChanged.d.ts +15 -0
  209. package/dist/src/svm/clients/TokenMessengerMinter/types/pauserChanged.js +22 -0
  210. package/dist/src/svm/clients/TokenMessengerMinter/types/remoteTokenMessengerAdded.d.ts +16 -0
  211. package/dist/src/svm/clients/TokenMessengerMinter/types/remoteTokenMessengerAdded.js +28 -0
  212. package/dist/src/svm/clients/TokenMessengerMinter/types/remoteTokenMessengerRemoved.d.ts +16 -0
  213. package/dist/src/svm/clients/TokenMessengerMinter/types/remoteTokenMessengerRemoved.js +28 -0
  214. package/dist/src/svm/clients/TokenMessengerMinter/types/setBurnLimitPerMessage.d.ts +19 -0
  215. package/dist/src/svm/clients/TokenMessengerMinter/types/setBurnLimitPerMessage.js +28 -0
  216. package/dist/src/svm/clients/TokenMessengerMinter/types/setTokenController.d.ts +15 -0
  217. package/dist/src/svm/clients/TokenMessengerMinter/types/setTokenController.js +22 -0
  218. package/dist/src/svm/clients/TokenMessengerMinter/types/tokenCustodyBurned.d.ts +19 -0
  219. package/dist/src/svm/clients/TokenMessengerMinter/types/tokenCustodyBurned.js +28 -0
  220. package/dist/src/svm/clients/TokenMessengerMinter/types/tokenMinterError.d.ts +23 -0
  221. package/dist/src/svm/clients/TokenMessengerMinter/types/tokenMinterError.js +35 -0
  222. package/dist/src/svm/clients/TokenMessengerMinter/types/tokenPairLinked.d.ts +17 -0
  223. package/dist/src/svm/clients/TokenMessengerMinter/types/tokenPairLinked.js +30 -0
  224. package/dist/src/svm/clients/TokenMessengerMinter/types/tokenPairUnlinked.d.ts +17 -0
  225. package/dist/src/svm/clients/TokenMessengerMinter/types/tokenPairUnlinked.js +30 -0
  226. package/dist/src/svm/clients/TokenMessengerMinter/types/unpause.d.ts +13 -0
  227. package/dist/src/svm/clients/TokenMessengerMinter/types/unpause.js +22 -0
  228. package/dist/src/svm/clients/index.d.ts +3 -1
  229. package/dist/src/svm/clients/index.js +5 -1
  230. package/dist/src/svm/web3-v1/helpers.d.ts +114 -1
  231. package/dist/src/svm/web3-v1/helpers.js +179 -1
  232. package/dist/target/types/svm_spoke.d.ts +65 -406
  233. package/dist/tasks/enableL1TokenAcrossEcosystem.js +4 -4
  234. package/dist/test/svm/SvmSpoke.Deposit.js +143 -176
  235. package/dist/test/svm/SvmSpoke.Fill.AcrossPlus.js +20 -17
  236. package/dist/test/svm/SvmSpoke.Fill.js +52 -38
  237. package/dist/test/svm/SvmSpoke.HandleReceiveMessage.js +2 -114
  238. package/dist/test/svm/SvmSpoke.SlowFill.AcrossPlus.js +2 -2
  239. package/dist/test/svm/SvmSpoke.SlowFill.js +37 -34
  240. package/dist/test/svm/SvmSpoke.common.d.ts +2 -3
  241. package/dist/test/svm/SvmSpoke.common.js +3 -12
  242. package/package.json +5 -5
  243. package/dist/scripts/svm/remoteHubPoolSetDepositRoute.d.ts +0 -1
  244. package/dist/scripts/svm/remoteHubPoolSetDepositRoute.js +0 -252
  245. package/dist/src/svm/clients/SvmSpoke/accounts/route.d.ts +0 -27
  246. package/dist/src/svm/clients/SvmSpoke/accounts/route.js +0 -66
  247. package/dist/src/svm/clients/SvmSpoke/instructions/setEnableRoute.d.ts +0 -95
  248. package/dist/src/svm/clients/SvmSpoke/instructions/setEnableRoute.js +0 -213
  249. package/dist/src/svm/clients/SvmSpoke/types/enabledDepositRoute.d.ts +0 -21
  250. package/dist/src/svm/clients/SvmSpoke/types/enabledDepositRoute.js +0 -30
  251. package/dist/test/svm/SvmSpoke.Routes.js +0 -167
  252. /package/dist/scripts/svm/{enableRoute.d.ts → createVault.d.ts} +0 -0
  253. /package/dist/scripts/svm/{queryRoute.d.ts → nativeDeposit.d.ts} +0 -0
  254. /package/dist/{test/svm/SvmSpoke.Routes.d.ts → scripts/svm/queryVault.d.ts} +0 -0
@@ -1,66 +0,0 @@
1
- "use strict";
2
- /**
3
- * This code was AUTOGENERATED using the codama library.
4
- * Please DO NOT EDIT THIS FILE, instead use visitors
5
- * to add features, then rerun codama to update it.
6
- *
7
- * @see https://github.com/codama-idl/codama
8
- */
9
- Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.ROUTE_DISCRIMINATOR = void 0;
11
- exports.getRouteDiscriminatorBytes = getRouteDiscriminatorBytes;
12
- exports.getRouteEncoder = getRouteEncoder;
13
- exports.getRouteDecoder = getRouteDecoder;
14
- exports.getRouteCodec = getRouteCodec;
15
- exports.decodeRoute = decodeRoute;
16
- exports.fetchRoute = fetchRoute;
17
- exports.fetchMaybeRoute = fetchMaybeRoute;
18
- exports.fetchAllRoute = fetchAllRoute;
19
- exports.fetchAllMaybeRoute = fetchAllMaybeRoute;
20
- exports.getRouteSize = getRouteSize;
21
- const kit_1 = require("@solana/kit");
22
- exports.ROUTE_DISCRIMINATOR = new Uint8Array([
23
- 80, 179, 58, 115, 52, 19, 146, 134,
24
- ]);
25
- function getRouteDiscriminatorBytes() {
26
- return (0, kit_1.fixEncoderSize)((0, kit_1.getBytesEncoder)(), 8).encode(exports.ROUTE_DISCRIMINATOR);
27
- }
28
- function getRouteEncoder() {
29
- return (0, kit_1.transformEncoder)((0, kit_1.getStructEncoder)([
30
- ['discriminator', (0, kit_1.fixEncoderSize)((0, kit_1.getBytesEncoder)(), 8)],
31
- ['enabled', (0, kit_1.getBooleanEncoder)()],
32
- ]), (value) => ({ ...value, discriminator: exports.ROUTE_DISCRIMINATOR }));
33
- }
34
- function getRouteDecoder() {
35
- return (0, kit_1.getStructDecoder)([
36
- ['discriminator', (0, kit_1.fixDecoderSize)((0, kit_1.getBytesDecoder)(), 8)],
37
- ['enabled', (0, kit_1.getBooleanDecoder)()],
38
- ]);
39
- }
40
- function getRouteCodec() {
41
- return (0, kit_1.combineCodec)(getRouteEncoder(), getRouteDecoder());
42
- }
43
- function decodeRoute(encodedAccount) {
44
- return (0, kit_1.decodeAccount)(encodedAccount, getRouteDecoder());
45
- }
46
- async function fetchRoute(rpc, address, config) {
47
- const maybeAccount = await fetchMaybeRoute(rpc, address, config);
48
- (0, kit_1.assertAccountExists)(maybeAccount);
49
- return maybeAccount;
50
- }
51
- async function fetchMaybeRoute(rpc, address, config) {
52
- const maybeAccount = await (0, kit_1.fetchEncodedAccount)(rpc, address, config);
53
- return decodeRoute(maybeAccount);
54
- }
55
- async function fetchAllRoute(rpc, addresses, config) {
56
- const maybeAccounts = await fetchAllMaybeRoute(rpc, addresses, config);
57
- (0, kit_1.assertAccountsExist)(maybeAccounts);
58
- return maybeAccounts;
59
- }
60
- async function fetchAllMaybeRoute(rpc, addresses, config) {
61
- const maybeAccounts = await (0, kit_1.fetchEncodedAccounts)(rpc, addresses, config);
62
- return maybeAccounts.map((maybeAccount) => decodeRoute(maybeAccount));
63
- }
64
- function getRouteSize() {
65
- return 9;
66
- }
@@ -1,95 +0,0 @@
1
- /**
2
- * This code was AUTOGENERATED using the codama library.
3
- * Please DO NOT EDIT THIS FILE, instead use visitors
4
- * to add features, then rerun codama to update it.
5
- *
6
- * @see https://github.com/codama-idl/codama
7
- */
8
- import { type Address, type Codec, type Decoder, type Encoder, type IAccountMeta, type IAccountSignerMeta, type IInstruction, type IInstructionWithAccounts, type IInstructionWithData, type ReadonlyAccount, type ReadonlySignerAccount, type ReadonlyUint8Array, type TransactionSigner, type WritableAccount, type WritableSignerAccount } from '@solana/kit';
9
- import { SVM_SPOKE_PROGRAM_ADDRESS } from '../programs';
10
- export declare const SET_ENABLE_ROUTE_DISCRIMINATOR: Uint8Array;
11
- export declare function getSetEnableRouteDiscriminatorBytes(): ReadonlyUint8Array;
12
- export type SetEnableRouteInstruction<TProgram extends string = typeof SVM_SPOKE_PROGRAM_ADDRESS, TAccountSigner extends string | IAccountMeta<string> = string, TAccountPayer extends string | IAccountMeta<string> = string, TAccountState extends string | IAccountMeta<string> = string, TAccountRoute extends string | IAccountMeta<string> = string, TAccountVault extends string | IAccountMeta<string> = string, TAccountOriginTokenMint extends string | IAccountMeta<string> = string, TAccountTokenProgram extends string | IAccountMeta<string> = 'TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA', TAccountAssociatedTokenProgram extends string | IAccountMeta<string> = 'ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL', TAccountSystemProgram extends string | IAccountMeta<string> = '11111111111111111111111111111111', TAccountEventAuthority extends string | IAccountMeta<string> = string, TAccountProgram extends string | IAccountMeta<string> = string, TRemainingAccounts extends readonly IAccountMeta<string>[] = []> = IInstruction<TProgram> & IInstructionWithData<Uint8Array> & IInstructionWithAccounts<[
13
- TAccountSigner extends string ? ReadonlySignerAccount<TAccountSigner> & IAccountSignerMeta<TAccountSigner> : TAccountSigner,
14
- TAccountPayer extends string ? WritableSignerAccount<TAccountPayer> & IAccountSignerMeta<TAccountPayer> : TAccountPayer,
15
- TAccountState extends string ? ReadonlyAccount<TAccountState> : TAccountState,
16
- TAccountRoute extends string ? WritableAccount<TAccountRoute> : TAccountRoute,
17
- TAccountVault extends string ? WritableAccount<TAccountVault> : TAccountVault,
18
- TAccountOriginTokenMint extends string ? ReadonlyAccount<TAccountOriginTokenMint> : TAccountOriginTokenMint,
19
- TAccountTokenProgram extends string ? ReadonlyAccount<TAccountTokenProgram> : TAccountTokenProgram,
20
- TAccountAssociatedTokenProgram extends string ? ReadonlyAccount<TAccountAssociatedTokenProgram> : TAccountAssociatedTokenProgram,
21
- TAccountSystemProgram extends string ? ReadonlyAccount<TAccountSystemProgram> : TAccountSystemProgram,
22
- TAccountEventAuthority extends string ? ReadonlyAccount<TAccountEventAuthority> : TAccountEventAuthority,
23
- TAccountProgram extends string ? ReadonlyAccount<TAccountProgram> : TAccountProgram,
24
- ...TRemainingAccounts
25
- ]>;
26
- export type SetEnableRouteInstructionData = {
27
- discriminator: ReadonlyUint8Array;
28
- originToken: Address;
29
- destinationChainId: bigint;
30
- enabled: boolean;
31
- };
32
- export type SetEnableRouteInstructionDataArgs = {
33
- originToken: Address;
34
- destinationChainId: number | bigint;
35
- enabled: boolean;
36
- };
37
- export declare function getSetEnableRouteInstructionDataEncoder(): Encoder<SetEnableRouteInstructionDataArgs>;
38
- export declare function getSetEnableRouteInstructionDataDecoder(): Decoder<SetEnableRouteInstructionData>;
39
- export declare function getSetEnableRouteInstructionDataCodec(): Codec<SetEnableRouteInstructionDataArgs, SetEnableRouteInstructionData>;
40
- export type SetEnableRouteAsyncInput<TAccountSigner extends string = string, TAccountPayer extends string = string, TAccountState extends string = string, TAccountRoute extends string = string, TAccountVault extends string = string, TAccountOriginTokenMint extends string = string, TAccountTokenProgram extends string = string, TAccountAssociatedTokenProgram extends string = string, TAccountSystemProgram extends string = string, TAccountEventAuthority extends string = string, TAccountProgram extends string = string> = {
41
- signer: TransactionSigner<TAccountSigner>;
42
- payer: TransactionSigner<TAccountPayer>;
43
- state: Address<TAccountState>;
44
- route: Address<TAccountRoute>;
45
- vault?: Address<TAccountVault>;
46
- originTokenMint: Address<TAccountOriginTokenMint>;
47
- tokenProgram?: Address<TAccountTokenProgram>;
48
- associatedTokenProgram?: Address<TAccountAssociatedTokenProgram>;
49
- systemProgram?: Address<TAccountSystemProgram>;
50
- eventAuthority?: Address<TAccountEventAuthority>;
51
- program: Address<TAccountProgram>;
52
- originToken: SetEnableRouteInstructionDataArgs['originToken'];
53
- destinationChainId: SetEnableRouteInstructionDataArgs['destinationChainId'];
54
- enabled: SetEnableRouteInstructionDataArgs['enabled'];
55
- };
56
- export declare function getSetEnableRouteInstructionAsync<TAccountSigner extends string, TAccountPayer extends string, TAccountState extends string, TAccountRoute extends string, TAccountVault extends string, TAccountOriginTokenMint extends string, TAccountTokenProgram extends string, TAccountAssociatedTokenProgram extends string, TAccountSystemProgram extends string, TAccountEventAuthority extends string, TAccountProgram extends string, TProgramAddress extends Address = typeof SVM_SPOKE_PROGRAM_ADDRESS>(input: SetEnableRouteAsyncInput<TAccountSigner, TAccountPayer, TAccountState, TAccountRoute, TAccountVault, TAccountOriginTokenMint, TAccountTokenProgram, TAccountAssociatedTokenProgram, TAccountSystemProgram, TAccountEventAuthority, TAccountProgram>, config?: {
57
- programAddress?: TProgramAddress;
58
- }): Promise<SetEnableRouteInstruction<TProgramAddress, TAccountSigner, TAccountPayer, TAccountState, TAccountRoute, TAccountVault, TAccountOriginTokenMint, TAccountTokenProgram, TAccountAssociatedTokenProgram, TAccountSystemProgram, TAccountEventAuthority, TAccountProgram>>;
59
- export type SetEnableRouteInput<TAccountSigner extends string = string, TAccountPayer extends string = string, TAccountState extends string = string, TAccountRoute extends string = string, TAccountVault extends string = string, TAccountOriginTokenMint extends string = string, TAccountTokenProgram extends string = string, TAccountAssociatedTokenProgram extends string = string, TAccountSystemProgram extends string = string, TAccountEventAuthority extends string = string, TAccountProgram extends string = string> = {
60
- signer: TransactionSigner<TAccountSigner>;
61
- payer: TransactionSigner<TAccountPayer>;
62
- state: Address<TAccountState>;
63
- route: Address<TAccountRoute>;
64
- vault: Address<TAccountVault>;
65
- originTokenMint: Address<TAccountOriginTokenMint>;
66
- tokenProgram?: Address<TAccountTokenProgram>;
67
- associatedTokenProgram?: Address<TAccountAssociatedTokenProgram>;
68
- systemProgram?: Address<TAccountSystemProgram>;
69
- eventAuthority: Address<TAccountEventAuthority>;
70
- program: Address<TAccountProgram>;
71
- originToken: SetEnableRouteInstructionDataArgs['originToken'];
72
- destinationChainId: SetEnableRouteInstructionDataArgs['destinationChainId'];
73
- enabled: SetEnableRouteInstructionDataArgs['enabled'];
74
- };
75
- export declare function getSetEnableRouteInstruction<TAccountSigner extends string, TAccountPayer extends string, TAccountState extends string, TAccountRoute extends string, TAccountVault extends string, TAccountOriginTokenMint extends string, TAccountTokenProgram extends string, TAccountAssociatedTokenProgram extends string, TAccountSystemProgram extends string, TAccountEventAuthority extends string, TAccountProgram extends string, TProgramAddress extends Address = typeof SVM_SPOKE_PROGRAM_ADDRESS>(input: SetEnableRouteInput<TAccountSigner, TAccountPayer, TAccountState, TAccountRoute, TAccountVault, TAccountOriginTokenMint, TAccountTokenProgram, TAccountAssociatedTokenProgram, TAccountSystemProgram, TAccountEventAuthority, TAccountProgram>, config?: {
76
- programAddress?: TProgramAddress;
77
- }): SetEnableRouteInstruction<TProgramAddress, TAccountSigner, TAccountPayer, TAccountState, TAccountRoute, TAccountVault, TAccountOriginTokenMint, TAccountTokenProgram, TAccountAssociatedTokenProgram, TAccountSystemProgram, TAccountEventAuthority, TAccountProgram>;
78
- export type ParsedSetEnableRouteInstruction<TProgram extends string = typeof SVM_SPOKE_PROGRAM_ADDRESS, TAccountMetas extends readonly IAccountMeta[] = readonly IAccountMeta[]> = {
79
- programAddress: Address<TProgram>;
80
- accounts: {
81
- signer: TAccountMetas[0];
82
- payer: TAccountMetas[1];
83
- state: TAccountMetas[2];
84
- route: TAccountMetas[3];
85
- vault: TAccountMetas[4];
86
- originTokenMint: TAccountMetas[5];
87
- tokenProgram: TAccountMetas[6];
88
- associatedTokenProgram: TAccountMetas[7];
89
- systemProgram: TAccountMetas[8];
90
- eventAuthority: TAccountMetas[9];
91
- program: TAccountMetas[10];
92
- };
93
- data: SetEnableRouteInstructionData;
94
- };
95
- export declare function parseSetEnableRouteInstruction<TProgram extends string, TAccountMetas extends readonly IAccountMeta[]>(instruction: IInstruction<TProgram> & IInstructionWithAccounts<TAccountMetas> & IInstructionWithData<Uint8Array>): ParsedSetEnableRouteInstruction<TProgram, TAccountMetas>;
@@ -1,213 +0,0 @@
1
- "use strict";
2
- /**
3
- * This code was AUTOGENERATED using the codama library.
4
- * Please DO NOT EDIT THIS FILE, instead use visitors
5
- * to add features, then rerun codama to update it.
6
- *
7
- * @see https://github.com/codama-idl/codama
8
- */
9
- Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.SET_ENABLE_ROUTE_DISCRIMINATOR = void 0;
11
- exports.getSetEnableRouteDiscriminatorBytes = getSetEnableRouteDiscriminatorBytes;
12
- exports.getSetEnableRouteInstructionDataEncoder = getSetEnableRouteInstructionDataEncoder;
13
- exports.getSetEnableRouteInstructionDataDecoder = getSetEnableRouteInstructionDataDecoder;
14
- exports.getSetEnableRouteInstructionDataCodec = getSetEnableRouteInstructionDataCodec;
15
- exports.getSetEnableRouteInstructionAsync = getSetEnableRouteInstructionAsync;
16
- exports.getSetEnableRouteInstruction = getSetEnableRouteInstruction;
17
- exports.parseSetEnableRouteInstruction = parseSetEnableRouteInstruction;
18
- const kit_1 = require("@solana/kit");
19
- const programs_1 = require("../programs");
20
- const shared_1 = require("../shared");
21
- exports.SET_ENABLE_ROUTE_DISCRIMINATOR = new Uint8Array([
22
- 166, 66, 33, 156, 122, 251, 223, 34,
23
- ]);
24
- function getSetEnableRouteDiscriminatorBytes() {
25
- return (0, kit_1.fixEncoderSize)((0, kit_1.getBytesEncoder)(), 8).encode(exports.SET_ENABLE_ROUTE_DISCRIMINATOR);
26
- }
27
- function getSetEnableRouteInstructionDataEncoder() {
28
- return (0, kit_1.transformEncoder)((0, kit_1.getStructEncoder)([
29
- ['discriminator', (0, kit_1.fixEncoderSize)((0, kit_1.getBytesEncoder)(), 8)],
30
- ['originToken', (0, kit_1.getAddressEncoder)()],
31
- ['destinationChainId', (0, kit_1.getU64Encoder)()],
32
- ['enabled', (0, kit_1.getBooleanEncoder)()],
33
- ]), (value) => ({ ...value, discriminator: exports.SET_ENABLE_ROUTE_DISCRIMINATOR }));
34
- }
35
- function getSetEnableRouteInstructionDataDecoder() {
36
- return (0, kit_1.getStructDecoder)([
37
- ['discriminator', (0, kit_1.fixDecoderSize)((0, kit_1.getBytesDecoder)(), 8)],
38
- ['originToken', (0, kit_1.getAddressDecoder)()],
39
- ['destinationChainId', (0, kit_1.getU64Decoder)()],
40
- ['enabled', (0, kit_1.getBooleanDecoder)()],
41
- ]);
42
- }
43
- function getSetEnableRouteInstructionDataCodec() {
44
- return (0, kit_1.combineCodec)(getSetEnableRouteInstructionDataEncoder(), getSetEnableRouteInstructionDataDecoder());
45
- }
46
- async function getSetEnableRouteInstructionAsync(input, config) {
47
- // Program address.
48
- const programAddress = config?.programAddress ?? programs_1.SVM_SPOKE_PROGRAM_ADDRESS;
49
- // Original accounts.
50
- const originalAccounts = {
51
- signer: { value: input.signer ?? null, isWritable: false },
52
- payer: { value: input.payer ?? null, isWritable: true },
53
- state: { value: input.state ?? null, isWritable: false },
54
- route: { value: input.route ?? null, isWritable: true },
55
- vault: { value: input.vault ?? null, isWritable: true },
56
- originTokenMint: {
57
- value: input.originTokenMint ?? null,
58
- isWritable: false,
59
- },
60
- tokenProgram: { value: input.tokenProgram ?? null, isWritable: false },
61
- associatedTokenProgram: {
62
- value: input.associatedTokenProgram ?? null,
63
- isWritable: false,
64
- },
65
- systemProgram: { value: input.systemProgram ?? null, isWritable: false },
66
- eventAuthority: { value: input.eventAuthority ?? null, isWritable: false },
67
- program: { value: input.program ?? null, isWritable: false },
68
- };
69
- const accounts = originalAccounts;
70
- // Original args.
71
- const args = { ...input };
72
- // Resolve default values.
73
- if (!accounts.tokenProgram.value) {
74
- accounts.tokenProgram.value =
75
- 'TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA';
76
- }
77
- if (!accounts.vault.value) {
78
- accounts.vault.value = await (0, kit_1.getProgramDerivedAddress)({
79
- programAddress,
80
- seeds: [
81
- (0, kit_1.getAddressEncoder)().encode((0, shared_1.expectAddress)(accounts.state.value)),
82
- (0, kit_1.getAddressEncoder)().encode((0, shared_1.expectAddress)(accounts.tokenProgram.value)),
83
- (0, kit_1.getAddressEncoder)().encode((0, shared_1.expectAddress)(accounts.originTokenMint.value)),
84
- ],
85
- });
86
- }
87
- if (!accounts.associatedTokenProgram.value) {
88
- accounts.associatedTokenProgram.value =
89
- 'ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL';
90
- }
91
- if (!accounts.systemProgram.value) {
92
- accounts.systemProgram.value =
93
- '11111111111111111111111111111111';
94
- }
95
- if (!accounts.eventAuthority.value) {
96
- accounts.eventAuthority.value = await (0, kit_1.getProgramDerivedAddress)({
97
- programAddress,
98
- seeds: [
99
- (0, kit_1.getBytesEncoder)().encode(new Uint8Array([
100
- 95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114,
101
- 105, 116, 121,
102
- ])),
103
- ],
104
- });
105
- }
106
- const getAccountMeta = (0, shared_1.getAccountMetaFactory)(programAddress, 'programId');
107
- const instruction = {
108
- accounts: [
109
- getAccountMeta(accounts.signer),
110
- getAccountMeta(accounts.payer),
111
- getAccountMeta(accounts.state),
112
- getAccountMeta(accounts.route),
113
- getAccountMeta(accounts.vault),
114
- getAccountMeta(accounts.originTokenMint),
115
- getAccountMeta(accounts.tokenProgram),
116
- getAccountMeta(accounts.associatedTokenProgram),
117
- getAccountMeta(accounts.systemProgram),
118
- getAccountMeta(accounts.eventAuthority),
119
- getAccountMeta(accounts.program),
120
- ],
121
- programAddress,
122
- data: getSetEnableRouteInstructionDataEncoder().encode(args),
123
- };
124
- return instruction;
125
- }
126
- function getSetEnableRouteInstruction(input, config) {
127
- // Program address.
128
- const programAddress = config?.programAddress ?? programs_1.SVM_SPOKE_PROGRAM_ADDRESS;
129
- // Original accounts.
130
- const originalAccounts = {
131
- signer: { value: input.signer ?? null, isWritable: false },
132
- payer: { value: input.payer ?? null, isWritable: true },
133
- state: { value: input.state ?? null, isWritable: false },
134
- route: { value: input.route ?? null, isWritable: true },
135
- vault: { value: input.vault ?? null, isWritable: true },
136
- originTokenMint: {
137
- value: input.originTokenMint ?? null,
138
- isWritable: false,
139
- },
140
- tokenProgram: { value: input.tokenProgram ?? null, isWritable: false },
141
- associatedTokenProgram: {
142
- value: input.associatedTokenProgram ?? null,
143
- isWritable: false,
144
- },
145
- systemProgram: { value: input.systemProgram ?? null, isWritable: false },
146
- eventAuthority: { value: input.eventAuthority ?? null, isWritable: false },
147
- program: { value: input.program ?? null, isWritable: false },
148
- };
149
- const accounts = originalAccounts;
150
- // Original args.
151
- const args = { ...input };
152
- // Resolve default values.
153
- if (!accounts.tokenProgram.value) {
154
- accounts.tokenProgram.value =
155
- 'TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA';
156
- }
157
- if (!accounts.associatedTokenProgram.value) {
158
- accounts.associatedTokenProgram.value =
159
- 'ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL';
160
- }
161
- if (!accounts.systemProgram.value) {
162
- accounts.systemProgram.value =
163
- '11111111111111111111111111111111';
164
- }
165
- const getAccountMeta = (0, shared_1.getAccountMetaFactory)(programAddress, 'programId');
166
- const instruction = {
167
- accounts: [
168
- getAccountMeta(accounts.signer),
169
- getAccountMeta(accounts.payer),
170
- getAccountMeta(accounts.state),
171
- getAccountMeta(accounts.route),
172
- getAccountMeta(accounts.vault),
173
- getAccountMeta(accounts.originTokenMint),
174
- getAccountMeta(accounts.tokenProgram),
175
- getAccountMeta(accounts.associatedTokenProgram),
176
- getAccountMeta(accounts.systemProgram),
177
- getAccountMeta(accounts.eventAuthority),
178
- getAccountMeta(accounts.program),
179
- ],
180
- programAddress,
181
- data: getSetEnableRouteInstructionDataEncoder().encode(args),
182
- };
183
- return instruction;
184
- }
185
- function parseSetEnableRouteInstruction(instruction) {
186
- if (instruction.accounts.length < 11) {
187
- // TODO: Coded error.
188
- throw new Error('Not enough accounts');
189
- }
190
- let accountIndex = 0;
191
- const getNextAccount = () => {
192
- const accountMeta = instruction.accounts[accountIndex];
193
- accountIndex += 1;
194
- return accountMeta;
195
- };
196
- return {
197
- programAddress: instruction.programAddress,
198
- accounts: {
199
- signer: getNextAccount(),
200
- payer: getNextAccount(),
201
- state: getNextAccount(),
202
- route: getNextAccount(),
203
- vault: getNextAccount(),
204
- originTokenMint: getNextAccount(),
205
- tokenProgram: getNextAccount(),
206
- associatedTokenProgram: getNextAccount(),
207
- systemProgram: getNextAccount(),
208
- eventAuthority: getNextAccount(),
209
- program: getNextAccount(),
210
- },
211
- data: getSetEnableRouteInstructionDataDecoder().decode(instruction.data),
212
- };
213
- }
@@ -1,21 +0,0 @@
1
- /**
2
- * This code was AUTOGENERATED using the codama library.
3
- * Please DO NOT EDIT THIS FILE, instead use visitors
4
- * to add features, then rerun codama to update it.
5
- *
6
- * @see https://github.com/codama-idl/codama
7
- */
8
- import { type Address, type Codec, type Decoder, type Encoder } from '@solana/kit';
9
- export type EnabledDepositRoute = {
10
- originToken: Address;
11
- destinationChainId: bigint;
12
- enabled: boolean;
13
- };
14
- export type EnabledDepositRouteArgs = {
15
- originToken: Address;
16
- destinationChainId: number | bigint;
17
- enabled: boolean;
18
- };
19
- export declare function getEnabledDepositRouteEncoder(): Encoder<EnabledDepositRouteArgs>;
20
- export declare function getEnabledDepositRouteDecoder(): Decoder<EnabledDepositRoute>;
21
- export declare function getEnabledDepositRouteCodec(): Codec<EnabledDepositRouteArgs, EnabledDepositRoute>;
@@ -1,30 +0,0 @@
1
- "use strict";
2
- /**
3
- * This code was AUTOGENERATED using the codama library.
4
- * Please DO NOT EDIT THIS FILE, instead use visitors
5
- * to add features, then rerun codama to update it.
6
- *
7
- * @see https://github.com/codama-idl/codama
8
- */
9
- Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.getEnabledDepositRouteEncoder = getEnabledDepositRouteEncoder;
11
- exports.getEnabledDepositRouteDecoder = getEnabledDepositRouteDecoder;
12
- exports.getEnabledDepositRouteCodec = getEnabledDepositRouteCodec;
13
- const kit_1 = require("@solana/kit");
14
- function getEnabledDepositRouteEncoder() {
15
- return (0, kit_1.getStructEncoder)([
16
- ['originToken', (0, kit_1.getAddressEncoder)()],
17
- ['destinationChainId', (0, kit_1.getU64Encoder)()],
18
- ['enabled', (0, kit_1.getBooleanEncoder)()],
19
- ]);
20
- }
21
- function getEnabledDepositRouteDecoder() {
22
- return (0, kit_1.getStructDecoder)([
23
- ['originToken', (0, kit_1.getAddressDecoder)()],
24
- ['destinationChainId', (0, kit_1.getU64Decoder)()],
25
- ['enabled', (0, kit_1.getBooleanDecoder)()],
26
- ]);
27
- }
28
- function getEnabledDepositRouteCodec() {
29
- return (0, kit_1.combineCodec)(getEnabledDepositRouteEncoder(), getEnabledDepositRouteDecoder());
30
- }
@@ -1,167 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- const anchor = __importStar(require("@coral-xyz/anchor"));
27
- const anchor_1 = require("@coral-xyz/anchor");
28
- const kit_1 = require("@solana/kit");
29
- const spl_token_1 = require("@solana/spl-token");
30
- const web3_js_1 = require("@solana/web3.js");
31
- const chai_1 = require("chai");
32
- const svm_1 = require("../../src/svm");
33
- const web3_v1_1 = require("../../src/svm/web3-v1");
34
- const SvmSpoke_common_1 = require("./SvmSpoke.common");
35
- const utils_1 = require("./utils");
36
- const { provider, program, owner, initializeState, createRoutePda, getVaultAta } = SvmSpoke_common_1.common;
37
- describe("svm_spoke.routes", () => {
38
- anchor.setProvider(provider);
39
- const nonOwner = web3_js_1.Keypair.generate();
40
- let state, seed, tokenMint, routePda, vault;
41
- let routeChainId;
42
- let setEnableRouteAccounts;
43
- beforeEach(async () => {
44
- ({ state, seed } = await initializeState());
45
- tokenMint = await (0, spl_token_1.createMint)(provider.connection, provider.wallet.payer, owner, owner, 6);
46
- // Create a PDA for the route
47
- routeChainId = new anchor_1.BN(1);
48
- routePda = createRoutePda(tokenMint, seed, routeChainId);
49
- // Create ATA for the origin token to be stored by state (vault).
50
- vault = await getVaultAta(tokenMint, state);
51
- // Common accounts object
52
- setEnableRouteAccounts = {
53
- signer: owner,
54
- payer: owner,
55
- state,
56
- route: routePda,
57
- vault: vault,
58
- originTokenMint: tokenMint,
59
- tokenProgram: spl_token_1.TOKEN_PROGRAM_ID,
60
- associatedTokenProgram: spl_token_1.ASSOCIATED_TOKEN_PROGRAM_ID,
61
- systemProgram: anchor.web3.SystemProgram.programId,
62
- };
63
- });
64
- it("Sets, retrieves, and controls access to route enablement", async () => {
65
- // Enable the route as owner
66
- const tx = await program.methods
67
- .setEnableRoute(tokenMint, routeChainId, true)
68
- .accounts(setEnableRouteAccounts)
69
- .rpc();
70
- // Retrieve and verify the route is enabled
71
- let routeAccount = await program.account.route.fetch(routePda);
72
- chai_1.assert.isTrue(routeAccount.enabled, "Route should be enabled");
73
- // Verify the enabledDepositRoute event
74
- let events = await (0, web3_v1_1.readEventsUntilFound)(provider.connection, tx, [program]);
75
- let event = events[0].data;
76
- chai_1.assert.strictEqual(event.originToken.toString(), tokenMint.toString(), "originToken event match");
77
- chai_1.assert.strictEqual(event.destinationChainId.toString(), routeChainId.toString(), "destinationChainId should match");
78
- chai_1.assert.isTrue(event.enabled, "enabledDepositRoute enabled");
79
- // Disable the route as owner
80
- const tx2 = await program.methods
81
- .setEnableRoute(tokenMint, routeChainId, false)
82
- .accounts(setEnableRouteAccounts)
83
- .rpc();
84
- // Retrieve and verify the route is disabled
85
- routeAccount = await program.account.route.fetch(routePda);
86
- chai_1.assert.isFalse(routeAccount.enabled, "Route should be disabled");
87
- // Verify the enabledDepositRoute event
88
- events = await (0, web3_v1_1.readEventsUntilFound)(provider.connection, tx2, [program]);
89
- event = events[0].data; // take most recent event, index 0.
90
- chai_1.assert.strictEqual(event.originToken.toString(), tokenMint.toString(), "originToken event match");
91
- chai_1.assert.strictEqual(event.destinationChainId.toString(), routeChainId.toString(), "destinationChainId should match");
92
- chai_1.assert.isFalse(event.enabled, "enabledDepositRoute disabled");
93
- // Try to enable the route as non-owner
94
- try {
95
- await program.methods
96
- .setEnableRoute(tokenMint, routeChainId, true)
97
- .accounts({ ...setEnableRouteAccounts, signer: nonOwner.publicKey })
98
- .signers([nonOwner])
99
- .rpc();
100
- chai_1.assert.fail("Non-owner should not be able to set route enablement");
101
- }
102
- catch (err) {
103
- chai_1.assert.include(err.toString(), "Only the owner can call this function!", "Expected owner check error");
104
- }
105
- // Verify the route is still disabled after non-owner attempt
106
- routeAccount = await program.account.route.fetch(routePda);
107
- chai_1.assert.isFalse(routeAccount.enabled, "Route should still be disabled after non-owner attempt");
108
- // Verify the owner of the vault is the state
109
- const vaultAccount = await (0, spl_token_1.getAccount)(provider.connection, vault);
110
- chai_1.assert.strictEqual(vaultAccount.owner.toBase58(), state.toBase58(), "Vault owner should be the state");
111
- // Verify the owner of the state is the expected owner
112
- const stateAccount = await program.account.state.fetch(state);
113
- chai_1.assert.strictEqual(stateAccount.owner.toBase58(), owner.toBase58(), "State owner should be the expected owner");
114
- });
115
- it("Cannot misconfigure route with wrong origin token", async () => {
116
- const wrongOriginToken = web3_js_1.Keypair.generate().publicKey;
117
- const wrongRoutePda = createRoutePda(wrongOriginToken, seed, routeChainId);
118
- try {
119
- await program.methods
120
- .setEnableRoute(wrongOriginToken, routeChainId, true)
121
- .accounts({ ...setEnableRouteAccounts, route: wrongRoutePda })
122
- .rpc();
123
- chai_1.assert.fail("Setting route with wrong origin token should fail");
124
- }
125
- catch (err) {
126
- chai_1.assert.instanceOf(err, anchor.AnchorError);
127
- chai_1.assert.strictEqual(err.error.errorCode.code, "InvalidMint", "Expected error code InvalidMint");
128
- }
129
- });
130
- describe("codama client and solana kit", () => {
131
- it("Sets and retrieves route enablement with codama", async () => {
132
- const rpcClient = (0, utils_1.createDefaultSolanaClient)();
133
- const signer = await (0, kit_1.createSignerFromKeyPair)(await (0, kit_1.createKeyPairFromBytes)(anchor.AnchorProvider.env().wallet.payer.secretKey));
134
- const [eventAuthority] = await (0, kit_1.getProgramDerivedAddress)({
135
- programAddress: (0, kit_1.address)(program.programId.toString()),
136
- seeds: ["__event_authority"],
137
- });
138
- const input = {
139
- signer: signer,
140
- payer: signer,
141
- state: (0, kit_1.address)(state.toString()),
142
- route: (0, kit_1.address)(routePda.toString()),
143
- vault: (0, kit_1.address)(vault.toString()),
144
- originTokenMint: (0, kit_1.address)(tokenMint.toString()),
145
- tokenProgram: (0, kit_1.address)(spl_token_1.TOKEN_PROGRAM_ID.toString()),
146
- associatedTokenProgram: (0, kit_1.address)(spl_token_1.ASSOCIATED_TOKEN_PROGRAM_ID.toString()),
147
- systemProgram: (0, kit_1.address)(anchor.web3.SystemProgram.programId.toString()),
148
- eventAuthority: (0, kit_1.address)(eventAuthority.toString()),
149
- program: (0, kit_1.address)(program.programId.toString()),
150
- originToken: (0, kit_1.address)(tokenMint.toString()),
151
- destinationChainId: routeChainId.toNumber(),
152
- enabled: true,
153
- };
154
- const instructions = svm_1.SvmSpokeClient.getSetEnableRouteInstruction(input);
155
- const tx = await (0, kit_1.pipe)(await (0, svm_1.createDefaultTransaction)(rpcClient, signer), (tx) => (0, kit_1.appendTransactionMessageInstruction)(instructions, tx), (tx) => (0, svm_1.signAndSendTransaction)(rpcClient, tx));
156
- // Retrieve and verify the route is enabled
157
- let routeAccount = await svm_1.SvmSpokeClient.fetchRoute(rpcClient.rpc, (0, kit_1.address)(routePda.toString()));
158
- chai_1.assert.isTrue(routeAccount.data.enabled, "Route should be enabled");
159
- // Verify the enabledDepositRoute event
160
- let events = await (0, web3_v1_1.readEventsUntilFound)(provider.connection, tx, [program]);
161
- let event = events[0].data;
162
- chai_1.assert.strictEqual(event.originToken.toString(), tokenMint.toString(), "originToken event match");
163
- chai_1.assert.strictEqual(event.destinationChainId.toString(), routeChainId.toString(), "destinationChainId should match");
164
- chai_1.assert.isTrue(event.enabled, "enabledDepositRoute enabled");
165
- });
166
- });
167
- });