@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,5 +1,5 @@
1
1
  "use strict";
2
- // This script fetches route information for a given spoke pool, originToken and chainId.
2
+ // This script fetches vault information for a given spoke pool and originToken.
3
3
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
4
  if (k2 === undefined) k2 = k;
5
5
  var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -43,51 +43,36 @@ console.log("SVM-Spoke Program ID:", programId.toString());
43
43
  // Parse arguments
44
44
  const argv = (0, yargs_1.default)((0, helpers_1.hideBin)(process.argv))
45
45
  .option("seed", { type: "string", demandOption: true, describe: "Seed for the state account PDA" })
46
- .option("originToken", { type: "string", demandOption: true, describe: "Origin token public key" })
47
- .option("chainId", { type: "string", demandOption: true, describe: "Chain ID" }).argv;
48
- async function queryRoute() {
46
+ .option("originToken", { type: "string", demandOption: true, describe: "Origin token public key" }).argv;
47
+ async function queryVault() {
49
48
  const resolvedArgv = await argv;
50
49
  const seed = new anchor_1.BN(resolvedArgv.seed);
51
50
  const originToken = Array.from(new web3_js_1.PublicKey(resolvedArgv.originToken).toBytes());
52
- const chainId = new anchor_1.BN(resolvedArgv.chainId);
53
51
  // Define the state account PDA
54
52
  const [statePda, _] = web3_js_1.PublicKey.findProgramAddressSync([Buffer.from("state"), seed.toArrayLike(Buffer, "le", 8)], programId);
55
- // Define the route account PDA
56
- const [routePda] = web3_js_1.PublicKey.findProgramAddressSync([
57
- Buffer.from("route"),
58
- Buffer.from(originToken),
59
- seed.toArrayLike(Buffer, "le", 8),
60
- chainId.toArrayLike(Buffer, "le", 8),
61
- ], programId);
62
53
  // Compute the vault address
63
54
  const vault = (0, spl_token_1.getAssociatedTokenAddressSync)(new web3_js_1.PublicKey(originToken), statePda, true, spl_token_1.TOKEN_PROGRAM_ID, spl_token_1.ASSOCIATED_TOKEN_PROGRAM_ID);
64
- console.log("Querying route...");
55
+ console.log("Querying vault...");
65
56
  console.table([
66
57
  { Property: "seed", Value: seed.toString() },
67
58
  { Property: "originToken", Value: new web3_js_1.PublicKey(originToken).toString() },
68
- { Property: "chainId", Value: chainId.toString() },
69
59
  { Property: "programId", Value: programId.toString() },
70
60
  { Property: "statePda", Value: statePda.toString() },
71
- { Property: "routePda", Value: routePda.toString() },
72
61
  { Property: "vault", Value: vault.toString() },
73
62
  ]);
74
63
  try {
75
- const route = await program.account.route.fetch(routePda);
76
64
  const vaultAccount = await (0, spl_token_1.getAccount)(provider.connection, vault);
77
- console.log("Route fetched successfully:");
78
- console.table([
79
- { Property: "Enabled", Value: route.enabled },
80
- { Property: "vaultBalance", Value: vaultAccount.amount.toString() },
81
- ]);
65
+ console.log("Vault fetched successfully:");
66
+ console.table([{ Property: "vaultBalance", Value: vaultAccount.amount.toString() }]);
82
67
  }
83
68
  catch (error) {
84
69
  if (error.message.includes("Account does not exist or has no data")) {
85
- console.log("No route has been created for the given origin token and chain ID.");
70
+ console.log("No vault has been created for the given origin token.");
86
71
  }
87
72
  else {
88
- console.error("An error occurred while fetching the route:", error);
73
+ console.error("An error occurred while fetching the vault:", error);
89
74
  }
90
75
  }
91
76
  }
92
- // Run the queryRoute function
93
- queryRoute();
77
+ // Run the queryVault function
78
+ queryVault();
@@ -74,7 +74,7 @@ async function remoteHubPoolPauseDeposit() {
74
74
  const irisApiUrl = isDevnet ? web3_v1_1.CIRCLE_IRIS_API_URL_DEVNET : web3_v1_1.CIRCLE_IRIS_API_URL_MAINNET;
75
75
  const hubPool = typechain_1.HubPool__factory.connect(hubPoolAddress, ethersProvider);
76
76
  const spokePoolIface = new ethers_1.ethers.utils.Interface(["function pauseDeposits(bool pause)"]);
77
- console.log("Remotely configuring deposit route...");
77
+ console.log("Remotely pausing deposits...");
78
78
  console.table([
79
79
  { Property: "seed", Value: seed.toString() },
80
80
  { Property: "chainId", Value: chainId.toString() },
@@ -176,7 +176,7 @@ async function remoteHubPoolPauseDeposit() {
176
176
  console.log("\nReceived remote message");
177
177
  console.log("Your transaction signature", receiveMessageTx);
178
178
  let stateAccount = await svmSpokeProgram.account.state.fetch(statePda);
179
- console.log("Updated deposit route state to: pausedDeposits =", stateAccount.pausedDeposits);
179
+ console.log("Updated deposit state to: pausedDeposits =", stateAccount.pausedDeposits);
180
180
  }
181
181
  remoteHubPoolPauseDeposit()
182
182
  .then(() => {
@@ -68,18 +68,11 @@ async function deposit() {
68
68
  const integratorId = resolvedArgv.integratorId || "";
69
69
  // Define the state account PDA
70
70
  const [statePda, _] = web3_js_1.PublicKey.findProgramAddressSync([Buffer.from("state"), seed.toArrayLike(Buffer, "le", 8)], programId);
71
- // Define the route account PDA
72
- const [routePda] = web3_js_1.PublicKey.findProgramAddressSync([
73
- Buffer.from("route"),
74
- inputToken.toBytes(),
75
- seed.toArrayLike(Buffer, "le", 8),
76
- destinationChainId.toArrayLike(Buffer, "le", 8),
77
- ], programId);
78
71
  // Define the signer (replace with your actual signer)
79
72
  const signer = provider.wallet.payer;
80
- // Find ATA for the input token to be stored by state (vault). This was created when the route was enabled.
73
+ // Find ATA for the input token to be stored by state (vault). This should have been created before the deposit is attempted.
81
74
  const vault = (0, spl_token_1.getAssociatedTokenAddressSync)(inputToken, statePda, true, spl_token_1.TOKEN_PROGRAM_ID, spl_token_1.ASSOCIATED_TOKEN_PROGRAM_ID);
82
- console.log("Depositing V3...");
75
+ console.log("Depositing...");
83
76
  console.table([
84
77
  { property: "seed", value: seed.toString() },
85
78
  { property: "recipient", value: recipient.toString() },
@@ -96,23 +89,42 @@ async function deposit() {
96
89
  { property: "programId", value: programId.toString() },
97
90
  { property: "providerPublicKey", value: provider.wallet.publicKey.toString() },
98
91
  { property: "statePda", value: statePda.toString() },
99
- { property: "routePda", value: routePda.toString() },
100
92
  { property: "vault", value: vault.toString() },
101
93
  ]);
102
94
  const userTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(inputToken, signer.publicKey);
103
95
  const tokenDecimals = (await (0, spl_token_1.getMint)(provider.connection, inputToken, undefined, spl_token_1.TOKEN_PROGRAM_ID)).decimals;
96
+ const depositData = {
97
+ depositor: signer.publicKey,
98
+ recipient,
99
+ inputToken,
100
+ outputToken,
101
+ inputAmount,
102
+ outputAmount,
103
+ destinationChainId,
104
+ exclusiveRelayer,
105
+ quoteTimestamp: new anchor_1.BN(quoteTimestamp),
106
+ fillDeadline: new anchor_1.BN(fillDeadline),
107
+ exclusivityParameter: new anchor_1.BN(exclusivityDeadline),
108
+ message,
109
+ };
110
+ const delegatePda = (0, web3_v1_1.getDepositPda)(depositData, program.programId);
104
111
  // Delegate state PDA to pull depositor tokens.
105
- const approveIx = await (0, spl_token_1.createApproveCheckedInstruction)(userTokenAccount, inputToken, statePda, signer.publicKey, BigInt(inputAmount.toString()), tokenDecimals, undefined, spl_token_1.TOKEN_PROGRAM_ID);
106
- const depositIx = await program.methods.deposit(signer.publicKey, recipient, inputToken, outputToken, inputAmount, outputAmount, destinationChainId, exclusiveRelayer, quoteTimestamp, fillDeadline, exclusivityDeadline, message)
107
- .accounts({
112
+ const approveIx = await (0, spl_token_1.createApproveCheckedInstruction)(userTokenAccount, inputToken, delegatePda, signer.publicKey, BigInt(inputAmount.toString()), tokenDecimals, undefined, spl_token_1.TOKEN_PROGRAM_ID);
113
+ const depositAccounts = {
108
114
  state: statePda,
109
- route: routePda,
115
+ delegate: delegatePda,
110
116
  signer: signer.publicKey,
111
- userTokenAccount,
117
+ depositorTokenAccount: userTokenAccount,
112
118
  vault: vault,
113
- tokenProgram: spl_token_1.TOKEN_PROGRAM_ID,
114
119
  mint: inputToken,
115
- })
120
+ tokenProgram: spl_token_1.TOKEN_PROGRAM_ID,
121
+ associatedTokenProgram: spl_token_1.ASSOCIATED_TOKEN_PROGRAM_ID,
122
+ systemProgram: web3_js_1.SystemProgram.programId,
123
+ program: programId,
124
+ };
125
+ const depositIx = await program.methods
126
+ .deposit(signer.publicKey, recipient, inputToken, outputToken, inputAmount, outputAmount, destinationChainId, exclusiveRelayer, quoteTimestamp, fillDeadline, exclusivityDeadline, message)
127
+ .accounts(depositAccounts)
116
128
  .instruction();
117
129
  // Create a custom instruction with arbitrary data
118
130
  const depositTx = new web3_js_1.Transaction().add(approveIx, depositIx);
@@ -127,5 +139,5 @@ async function deposit() {
127
139
  const tx = await (0, web3_js_1.sendAndConfirmTransaction)(provider.connection, depositTx, [signer]);
128
140
  console.log("Transaction signature:", tx);
129
141
  }
130
- // Run the depositV3 function
142
+ // Run the deposit function
131
143
  deposit();
@@ -55,10 +55,6 @@ async function testBundleLogic() {
55
55
  const signer = provider.wallet.payer;
56
56
  console.log("Running from signer: ", signer.publicKey.toString());
57
57
  const [statePda, _] = web3_js_1.PublicKey.findProgramAddressSync([Buffer.from("state"), seed.toArrayLike(Buffer, "le", 8)], programId);
58
- // This assumes that the destination chain Id 11155111 has been enabled. This is the sepolia chain ID.
59
- // I.e this test assumes that enableRoute has been called with destinationChainId 11155111 and inputToken.
60
- const [routePda] = web3_js_1.PublicKey.findProgramAddressSync([Buffer.from("route"), inputToken.toBytes(), statePda.toBytes(), new anchor_1.BN(11155111).toArrayLike(Buffer, "le", 8)], // Assuming destinationChainId is 1
61
- programId);
62
58
  const vault = (0, spl_token_1.getAssociatedTokenAddressSync)(inputToken, statePda, true, spl_token_1.TOKEN_PROGRAM_ID, spl_token_1.ASSOCIATED_TOKEN_PROGRAM_ID);
63
59
  console.table([
64
60
  { property: "seed", value: seed.toString() },
@@ -66,19 +62,18 @@ async function testBundleLogic() {
66
62
  { property: "inputToken", value: inputToken.toString() },
67
63
  { property: "signer", value: signer.publicKey.toString() },
68
64
  { property: "statePda", value: statePda.toString() },
69
- { property: "routePda", value: routePda.toString() },
70
65
  { property: "vault", value: vault.toString() },
71
66
  ]);
72
67
  const userTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(inputToken, signer.publicKey);
73
68
  const tokenDecimals = (await (0, spl_token_1.getMint)(provider.connection, inputToken, undefined, spl_token_1.TOKEN_PROGRAM_ID)).decimals;
74
- // Use program.methods.depositV3 to send tokens to the spoke. note this is NOT a valid deposit, we just want to
69
+ // Use program.methods.deposit to send tokens to the spoke. note this is NOT a valid deposit, we just want to
75
70
  // seed tokens into the spoke to test repayment.
76
71
  // Delegate state PDA to pull depositor tokens.
77
72
  const inputAmount = amounts.reduce((acc, amount) => acc.add(amount), new anchor_1.BN(0));
78
73
  const approveIx = await (0, spl_token_1.createApproveCheckedInstruction)(userTokenAccount, inputToken, statePda, signer.publicKey, BigInt(inputAmount.toString()), tokenDecimals, undefined, spl_token_1.TOKEN_PROGRAM_ID);
79
74
  const depositIx = await program.methods.deposit(signer.publicKey, signer.publicKey, // recipient is the signer for this example
80
75
  inputToken, inputToken, // Re-use inputToken as outputToken. does not matter for this deposit.
81
- inputAmount, new anchor_1.BN(0), new anchor_1.BN(11155111), // destinationChainId. assumed to be enabled, as with routePDA
76
+ inputAmount, new anchor_1.BN(0), new anchor_1.BN(11155111), // destinationChainId.
82
77
  web3_js_1.PublicKey.default, // exclusiveRelayer
83
78
  Math.floor(Date.now() / 1000) - 1, // quoteTimestamp
84
79
  Math.floor(Date.now() / 1000) + 3600, // fillDeadline
@@ -87,7 +82,6 @@ async function testBundleLogic() {
87
82
  )
88
83
  .accounts({
89
84
  state: statePda,
90
- route: routePda,
91
85
  signer: signer.publicKey,
92
86
  userTokenAccount: (0, spl_token_1.getAssociatedTokenAddressSync)(inputToken, signer.publicKey),
93
87
  vault: vault,
@@ -132,7 +126,6 @@ async function testBundleLogic() {
132
126
  const [rootBundle] = web3_js_1.PublicKey.findProgramAddressSync(seeds, programId);
133
127
  console.table([
134
128
  { property: "State PDA", value: statePda.toString() },
135
- { property: "Route PDA", value: routePda.toString() },
136
129
  { property: "Root Bundle PDA", value: rootBundle.toString() },
137
130
  { property: "Signer", value: signer.publicKey.toString() },
138
131
  ]);
@@ -66,7 +66,7 @@ async function fillRelay() {
66
66
  const originChainId = new anchor_1.BN(resolvedArgv.originChainId);
67
67
  const depositId = (0, web3_v1_1.intToU8Array32)(new anchor_1.BN(resolvedArgv.depositId));
68
68
  const fillDeadline = resolvedArgv.fillDeadline || Math.floor(Date.now() / 1000) + 60; // Current time + 1 minute
69
- const exclusivityDeadline = resolvedArgv.exclusivityDeadline || Math.floor(Date.now() / 1000) + 30; // Current time + 30 seconds
69
+ const exclusivityDeadline = resolvedArgv.exclusivityDeadline ?? 0; // default to 0
70
70
  const message = Buffer.from("");
71
71
  const seed = new anchor_1.BN(resolvedArgv.seed);
72
72
  const relayData = {
@@ -85,7 +85,7 @@ async function fillRelay() {
85
85
  };
86
86
  // Define the signer (replace with your actual signer)
87
87
  const signer = provider.wallet.payer;
88
- console.log("Filling V3 Relay...");
88
+ console.log("Filling Relay...");
89
89
  // Define the state account PDA
90
90
  const [statePda, _] = web3_js_1.PublicKey.findProgramAddressSync([Buffer.from("state"), seed.toArrayLike(Buffer, "le", 8)], programId);
91
91
  // Fetch the state from the on-chain program to get chainId
@@ -123,12 +123,14 @@ async function fillRelay() {
123
123
  { pubkey: recipientTokenAccount, isWritable: true, isSigner: false },
124
124
  ])
125
125
  .instruction();
126
- // Delegate state PDA to pull relayer tokens.
127
- const approveIx = await (0, spl_token_1.createApproveCheckedInstruction)(relayerTokenAccount, outputToken, statePda, signer.publicKey, BigInt(relayData.outputAmount.toString()), tokenDecimals, undefined, spl_token_1.TOKEN_PROGRAM_ID);
126
+ const delegate = (0, web3_v1_1.getFillRelayDelegatePda)(relayHashUint8Array, chainId, signer.publicKey, program.programId).pda;
127
+ // Delegate fill delegate PDA to pull relayer tokens.
128
+ const approveIx = await (0, spl_token_1.createApproveCheckedInstruction)(relayerTokenAccount, outputToken, delegate, signer.publicKey, BigInt(relayData.outputAmount.toString()), tokenDecimals, undefined, spl_token_1.TOKEN_PROGRAM_ID);
128
129
  const fillDataValues = [Array.from(relayHashUint8Array), relayData, chainId, signer.publicKey];
129
130
  const fillAccounts = {
130
131
  state: statePda,
131
132
  signer: signer.publicKey,
133
+ delegate,
132
134
  instructionParams: program.programId,
133
135
  mint: outputToken,
134
136
  relayerTokenAccount: relayerTokenAccount,
@@ -148,5 +150,5 @@ async function fillRelay() {
148
150
  const tx = await (0, web3_js_1.sendAndConfirmTransaction)(provider.connection, fillTx, [signer]);
149
151
  console.log("Transaction signature:", tx);
150
152
  }
151
- // Run the fillV3Relay function
153
+ // Run the fillRelay function
152
154
  fillRelay();
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+ // This script prepares transaction for finalizing IDL upgrade and prints out Base58 encoded transaction that can be
3
+ // imported in the Squads transaction builder. This requires one first to have written the upgraded IDL to the buffer
4
+ // account (anchor idl write-buffer) and set its authority to the Squads multisig (anchor idl set-authority).
5
+ var __importDefault = (this && this.__importDefault) || function (mod) {
6
+ return (mod && mod.__esModule) ? mod : { "default": mod };
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ const web3_js_1 = require("@solana/web3.js");
10
+ const yargs_1 = __importDefault(require("yargs"));
11
+ const helpers_1 = require("yargs/helpers");
12
+ const web3_js_2 = require("@solana/web3.js");
13
+ const sha2_1 = require("@noble/hashes/sha2");
14
+ const bs58_1 = __importDefault(require("bs58"));
15
+ // Parse arguments
16
+ const argv = (0, yargs_1.default)((0, helpers_1.hideBin)(process.argv))
17
+ .option("programId", { type: "string", demandOption: true, describe: "Upgrade IDL for the given program ID" })
18
+ .option("idlBuffer", { type: "string", demandOption: true, describe: "Buffer account where IDL has been written" })
19
+ .option("closeRecipient", { type: "string", demandOption: true, describe: "Account to receive closed buffer SOL" })
20
+ .option("multisig", { type: "string", demandOption: true, describe: "Multisig controlling the upgrade" }).argv;
21
+ async function squadsIdlUpgrade() {
22
+ const resolvedArgv = await argv;
23
+ const programId = new web3_js_1.PublicKey(resolvedArgv.programId);
24
+ const idlBuffer = new web3_js_1.PublicKey(resolvedArgv.idlBuffer);
25
+ const multisig = new web3_js_1.PublicKey(resolvedArgv.multisig);
26
+ const closeRecipient = new web3_js_1.PublicKey(resolvedArgv.closeRecipient);
27
+ // Get the deterministic IDL address for the program:
28
+ const base = web3_js_1.PublicKey.findProgramAddressSync([], programId)[0];
29
+ const idlAddress = await web3_js_1.PublicKey.createWithSeed(base, "anchor:idl", programId);
30
+ console.log("Creating IDL upgrade transaction...");
31
+ console.table([
32
+ { Property: "programId", Value: programId.toString() },
33
+ { Property: "idlBuffer", Value: idlBuffer.toString() },
34
+ { Property: "idlAddress", Value: idlAddress.toString() },
35
+ { Property: "multisig", Value: multisig.toString() },
36
+ { Property: "closeRecipient", Value: closeRecipient.toString() },
37
+ ]);
38
+ const idlSetBufferAccounts = [
39
+ { pubkey: idlBuffer, isSigner: false, isWritable: true },
40
+ { pubkey: idlAddress, isSigner: false, isWritable: true },
41
+ { pubkey: multisig, isSigner: true, isWritable: false },
42
+ ];
43
+ const idlSetBufferInstructionData = Buffer.concat([
44
+ Buffer.from((0, sha2_1.sha256)("anchor:idl")).slice(0, 8).reverse(),
45
+ Buffer.from([3]), // IdlInstruction::SetBuffer
46
+ ]);
47
+ const idlSetBufferInstructionCtorFields = {
48
+ keys: idlSetBufferAccounts,
49
+ programId: programId,
50
+ data: idlSetBufferInstructionData,
51
+ };
52
+ const idlSetBufferInstruction = new web3_js_2.TransactionInstruction(idlSetBufferInstructionCtorFields);
53
+ const idlCloseAccounts = [
54
+ { pubkey: idlBuffer, isSigner: false, isWritable: true },
55
+ { pubkey: multisig, isSigner: true, isWritable: false },
56
+ { pubkey: closeRecipient, isSigner: false, isWritable: true },
57
+ ];
58
+ const idlCloseData = Buffer.concat([
59
+ Buffer.from((0, sha2_1.sha256)("anchor:idl")).slice(0, 8).reverse(),
60
+ Buffer.from([5]), // IdlInstruction::Close
61
+ ]);
62
+ const idlCloseCtorFields = {
63
+ keys: idlCloseAccounts,
64
+ programId: programId,
65
+ data: idlCloseData,
66
+ };
67
+ const idlCloseInstruction = new web3_js_2.TransactionInstruction(idlCloseCtorFields);
68
+ const multisigTransaction = new web3_js_2.Transaction().add(idlSetBufferInstruction).add(idlCloseInstruction);
69
+ multisigTransaction.recentBlockhash = "11111111111111111111111111111111"; // Placeholder blockhash
70
+ multisigTransaction.feePayer = programId; // Placeholder fee payer as we are not signing the transaction
71
+ const serializedMultisigTransaction = multisigTransaction.serializeMessage();
72
+ console.log("IDL upgrade transaction, import it into the multisig:");
73
+ console.log(bs58_1.default.encode(serializedMultisigTransaction));
74
+ }
75
+ // Run the squadsIdlUpgrade function
76
+ squadsIdlUpgrade();