@wormhole-foundation/wormhole-connect 3.0.1-beta.6-development → 3.0.1-beta.7-development

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 (298) hide show
  1. package/dist/assets/{evm-CP2QogPh.js → evm-Daw1hnd1.js} +1 -1
  2. package/dist/assets/{tokens-p0GcG7JT.js → tokens-CD1l6Xjr.js} +13 -13
  3. package/dist/main.js +81 -81
  4. package/dist/src/AppRouter.d.ts.map +1 -1
  5. package/dist/src/components/AssetBadge.d.ts.map +1 -1
  6. package/dist/src/components/ConfigurablePageHeader.d.ts +4 -0
  7. package/dist/src/components/ConfigurablePageHeader.d.ts.map +1 -0
  8. package/dist/src/components/SampleApp/index.d.ts.map +1 -1
  9. package/dist/src/components/v3/AlertBanner.d.ts +14 -0
  10. package/dist/src/components/v3/AlertBanner.d.ts.map +1 -0
  11. package/dist/src/components/v3/Button.d.ts +22 -0
  12. package/dist/src/components/v3/Button.d.ts.map +1 -0
  13. package/dist/src/config/ui.d.ts +1 -1
  14. package/dist/src/config/ui.d.ts.map +1 -1
  15. package/dist/src/hooks/useAmountValidation.d.ts +2 -2
  16. package/dist/src/hooks/useAmountValidation.d.ts.map +1 -1
  17. package/dist/src/icons/Clock.d.ts +5 -0
  18. package/dist/src/icons/Clock.d.ts.map +1 -0
  19. package/dist/src/icons/SwapVertical.d.ts +5 -0
  20. package/dist/src/icons/SwapVertical.d.ts.map +1 -0
  21. package/dist/src/icons/TokenIcons.d.ts +1 -1
  22. package/dist/src/icons/TokenIcons.d.ts.map +1 -1
  23. package/dist/src/theme.d.ts +10 -3
  24. package/dist/src/theme.d.ts.map +1 -1
  25. package/dist/src/views/v3/Bridge/AmountInput/index.d.ts +21 -0
  26. package/dist/src/views/v3/Bridge/AmountInput/index.d.ts.map +1 -0
  27. package/dist/src/views/v3/Bridge/AmountValidationError.d.ts +11 -0
  28. package/dist/src/views/v3/Bridge/AmountValidationError.d.ts.map +1 -0
  29. package/dist/src/views/v3/Bridge/AssetPicker/ChainList.d.ts +16 -0
  30. package/dist/src/views/v3/Bridge/AssetPicker/ChainList.d.ts.map +1 -0
  31. package/dist/src/views/v3/Bridge/AssetPicker/PickerBottomSheet.d.ts +31 -0
  32. package/dist/src/views/v3/Bridge/AssetPicker/PickerBottomSheet.d.ts.map +1 -0
  33. package/dist/src/views/v3/Bridge/AssetPicker/PickerModal.d.ts +32 -0
  34. package/dist/src/views/v3/Bridge/AssetPicker/PickerModal.d.ts.map +1 -0
  35. package/dist/src/views/v3/Bridge/AssetPicker/SearchableList/SearchInput.d.ts +11 -0
  36. package/dist/src/views/v3/Bridge/AssetPicker/SearchableList/SearchInput.d.ts.map +1 -0
  37. package/dist/src/views/v3/Bridge/AssetPicker/SearchableList/index.d.ts +20 -0
  38. package/dist/src/views/v3/Bridge/AssetPicker/SearchableList/index.d.ts.map +1 -0
  39. package/dist/src/views/v3/Bridge/AssetPicker/TokenItem.d.ts +16 -0
  40. package/dist/src/views/v3/Bridge/AssetPicker/TokenItem.d.ts.map +1 -0
  41. package/dist/src/views/v3/Bridge/AssetPicker/TokenList.d.ts +24 -0
  42. package/dist/src/views/v3/Bridge/AssetPicker/TokenList.d.ts.map +1 -0
  43. package/dist/src/views/v3/Bridge/AssetPicker/index.d.ts +32 -0
  44. package/dist/src/views/v3/Bridge/AssetPicker/index.d.ts.map +1 -0
  45. package/dist/src/views/v3/Bridge/GasSlider/index.d.ts +11 -0
  46. package/dist/src/views/v3/Bridge/GasSlider/index.d.ts.map +1 -0
  47. package/dist/src/views/v3/Bridge/Routes/RouteBadge.d.ts +9 -0
  48. package/dist/src/views/v3/Bridge/Routes/RouteBadge.d.ts.map +1 -0
  49. package/dist/src/views/v3/Bridge/Routes/RoutesBottomSheet.d.ts +26 -0
  50. package/dist/src/views/v3/Bridge/Routes/RoutesBottomSheet.d.ts.map +1 -0
  51. package/dist/src/views/v3/Bridge/Routes/RoutesList.d.ts +20 -0
  52. package/dist/src/views/v3/Bridge/Routes/RoutesList.d.ts.map +1 -0
  53. package/dist/src/views/v3/Bridge/Routes/RoutesModal.d.ts +25 -0
  54. package/dist/src/views/v3/Bridge/Routes/RoutesModal.d.ts.map +1 -0
  55. package/dist/src/views/v3/Bridge/Routes/SingleRoute.d.ts +17 -0
  56. package/dist/src/views/v3/Bridge/Routes/SingleRoute.d.ts.map +1 -0
  57. package/dist/src/views/v3/Bridge/Routes/index.d.ts +13 -0
  58. package/dist/src/views/v3/Bridge/Routes/index.d.ts.map +1 -0
  59. package/dist/src/views/v3/Bridge/SwapInputs/index.d.ts +5 -0
  60. package/dist/src/views/v3/Bridge/SwapInputs/index.d.ts.map +1 -0
  61. package/dist/src/views/v3/Bridge/WalletConnector/Controller.d.ts +8 -0
  62. package/dist/src/views/v3/Bridge/WalletConnector/Controller.d.ts.map +1 -0
  63. package/dist/src/views/v3/Bridge/WalletConnector/ExplorerLink.d.ts +10 -0
  64. package/dist/src/views/v3/Bridge/WalletConnector/ExplorerLink.d.ts.map +1 -0
  65. package/dist/src/views/v3/Bridge/WalletConnector/Sidebar.d.ts +11 -0
  66. package/dist/src/views/v3/Bridge/WalletConnector/Sidebar.d.ts.map +1 -0
  67. package/dist/src/views/v3/Bridge/WalletConnector/index.d.ts +11 -0
  68. package/dist/src/views/v3/Bridge/WalletConnector/index.d.ts.map +1 -0
  69. package/dist/src/views/v3/Bridge/index.d.ts +5 -0
  70. package/dist/src/views/v3/Bridge/index.d.ts.map +1 -0
  71. package/dist/src/views/v3/Redeem/TransactionDetails/index.d.ts +4 -0
  72. package/dist/src/views/v3/Redeem/TransactionDetails/index.d.ts.map +1 -0
  73. package/dist/src/views/v3/Redeem/index.d.ts +5 -0
  74. package/dist/src/views/v3/Redeem/index.d.ts.map +1 -0
  75. package/dist/src/views/v3/TxHistory/Item/index.d.ts +8 -0
  76. package/dist/src/views/v3/TxHistory/Item/index.d.ts.map +1 -0
  77. package/dist/src/views/v3/TxHistory/Widget/Item.d.ts +9 -0
  78. package/dist/src/views/v3/TxHistory/Widget/Item.d.ts.map +1 -0
  79. package/dist/src/views/v3/TxHistory/Widget/index.d.ts +6 -0
  80. package/dist/src/views/v3/TxHistory/Widget/index.d.ts.map +1 -0
  81. package/dist/src/views/v3/TxHistory/index.d.ts +4 -0
  82. package/dist/src/views/v3/TxHistory/index.d.ts.map +1 -0
  83. package/lib/{account-DtI49BC9.mjs → account-BXlWsVcD.mjs} +1 -1
  84. package/lib/{account-BNVdeY3i.js → account-D3Whnyky.js} +1 -1
  85. package/lib/address-B2sdpJNe.js +1 -0
  86. package/lib/{address-DHjpQ41W.js → address-CFAt6HNS.js} +1 -1
  87. package/lib/{address-C4qO2bMD.mjs → address-CZArADcj.mjs} +1 -1
  88. package/lib/{address-BJhcbdG9.mjs → address-DPWm1fbw.mjs} +212 -205
  89. package/lib/{address-XxuWo72f.js → address-DpQlJQKV.js} +7 -7
  90. package/lib/{address-QpeLv2yn.mjs → address-YYxpimx3.mjs} +277 -276
  91. package/lib/{aptos-BPPwy9CZ.js → aptos-BQFrxLpU.js} +1 -1
  92. package/lib/{aptos-b3ytowip.js → aptos-C6eC7BKq.js} +2 -2
  93. package/lib/{aptos-C8FBg3S2.mjs → aptos-DNhNK-_f.mjs} +7 -7
  94. package/lib/{aptos-ButqYPXo.mjs → aptos-YbewU4Io.mjs} +3 -3
  95. package/lib/{basic-YNjcoRfK.js → basic-BH3rU0o2.js} +1 -1
  96. package/lib/{basic-BDC-Dz2c.mjs → basic-CVEIWCYi.mjs} +2 -2
  97. package/lib/{basic-B5VNsnap.mjs → basic-D3Mgm4Qb.mjs} +2 -2
  98. package/lib/{basic-BR_WJgiZ.js → basic-kfvhCLeC.js} +1 -1
  99. package/lib/{blake2b-5ZGBTE8v.mjs → blake2b-BFJ9US29.mjs} +7 -7
  100. package/lib/{blake2b-BJ4wVK7V.js → blake2b-aUiblHhG.js} +1 -1
  101. package/lib/{browser-ponyfill-C53najnL.js → browser-ponyfill-BeX4lPJd.js} +1 -1
  102. package/lib/{browser-ponyfill-CuZzL5JS.mjs → browser-ponyfill-Cn2t1qf7.mjs} +1 -1
  103. package/lib/{chain-B7MIR9_r.mjs → chain-D5okRkwk.mjs} +1 -1
  104. package/lib/{chain-CSpjwyBt.js → chain-Dme8n2tA.js} +1 -1
  105. package/lib/{chunk-KJH4KKG6-qC3BvugF.mjs → chunk-KJH4KKG6-DTOJZuhY.mjs} +144 -144
  106. package/lib/{chunk-KJH4KKG6-B9iq51o1.js → chunk-KJH4KKG6-HfCF1Kt-.js} +1 -1
  107. package/lib/{constants-DWhraRof.mjs → constants-BHQAYN6w.mjs} +3 -3
  108. package/lib/{constants-BA7a60_u.js → constants-BsKTcZQ3.js} +1 -1
  109. package/lib/{contract-D4Vzf62E.mjs → contract-CjL0DzEO.mjs} +39 -39
  110. package/lib/{contract-CQnkFb54.js → contract-DPL0fm8A.js} +1 -1
  111. package/lib/{core-DY8-r2Jo.mjs → core-C67jLszg.mjs} +7 -7
  112. package/lib/{core-DzA-Itto.js → core-DmZlgGHj.js} +3 -3
  113. package/lib/{create-CtvZoy0X.mjs → create-BlfwwO0_.mjs} +3 -3
  114. package/lib/{create-DCJBhyHG.js → create-CovWyutZ.js} +1 -1
  115. package/lib/{evm-BvQ1H4_y.js → evm-BWTWGvAv.js} +2 -2
  116. package/lib/{evm-Dn0xYGMV.mjs → evm-BohuNM6V.mjs} +9 -9
  117. package/lib/{evm-CrfP3Qfk.js → evm-CqywsvEZ.js} +2 -2
  118. package/lib/{evm-BfefVZFh.mjs → evm-M0ImOGaN.mjs} +7 -7
  119. package/lib/executor.js +1 -1
  120. package/lib/executor.mjs +46 -46
  121. package/lib/hosted.js +1 -1
  122. package/lib/hosted.mjs +1 -1
  123. package/lib/{index-CnCmR4Uj.js → index-2CmAUr-U.js} +1 -1
  124. package/lib/{index-DF2WGKez.js → index-85b_tiAE.js} +1 -1
  125. package/lib/{index-Ct88Toxl.mjs → index-95FB4Qgc.mjs} +3 -3
  126. package/lib/{index-lN-puZih.js → index-B7ho7Pb6.js} +1 -1
  127. package/lib/{index-DbPhljz1.mjs → index-BAUIp5vX.mjs} +15 -15
  128. package/lib/{index-DQp_O8iB.mjs → index-BCZtiDee.mjs} +4 -4
  129. package/lib/{index-BiS8vv7E.mjs → index-BGq4wC4S.mjs} +1 -1
  130. package/lib/{index-CBHIr2qc.mjs → index-BQuPDPUZ.mjs} +14 -14
  131. package/lib/{index-C1NzL1cw.mjs → index-BSj3tfTR.mjs} +3 -3
  132. package/lib/{index-CbVRI3aO.mjs → index-BV1jWLbR.mjs} +40 -40
  133. package/lib/{index-CXwf1C77.mjs → index-BXk8QNCQ.mjs} +6 -6
  134. package/lib/{index-DwX86vgy.mjs → index-BcAk5RDV.mjs} +31 -31
  135. package/lib/{index-BarjntIo.mjs → index-BgOkhLJ5.mjs} +4 -4
  136. package/lib/{index-BjbPJ-9w.js → index-BkPAiliF.js} +1 -1
  137. package/lib/{index-DLilRB-O.js → index-Bn-q9qez.js} +1 -1
  138. package/lib/{index-3pNz5RJC.js → index-Bt7K1A1Q.js} +1 -1
  139. package/lib/{index-BrjiGZLN.mjs → index-C-NwpT7M.mjs} +4 -4
  140. package/lib/{index-B2oGf_0Z.js → index-C7dcnZ_Y.js} +1 -1
  141. package/lib/{index-BuxGl_Bi.js → index-C9Mdci2_.js} +1 -1
  142. package/lib/index-CBBfcDND.js +335 -0
  143. package/lib/{index-BGsoGuxr.js → index-CGjibiRn.js} +1 -1
  144. package/lib/{index-Yra08X_i.js → index-CJ_ewe88.js} +1 -1
  145. package/lib/{index-CS1x3lLl.mjs → index-CMyIX4q3.mjs} +1 -1
  146. package/lib/{index-C6plXYir.mjs → index-CPq5TByt.mjs} +31052 -27169
  147. package/lib/{index-Czoo2lwG.mjs → index-Cd2G9Q0O.mjs} +2 -2
  148. package/lib/{index-iXUxUBar.js → index-D8YqkJyN.js} +1 -1
  149. package/lib/{index-BG9uNreI.js → index-DMtTF3lo.js} +1 -1
  150. package/lib/{index-DrcGXX5n.mjs → index-DRZtHRGC.mjs} +5 -5
  151. package/lib/{index-BZsgCHbh.js → index-DSFtUxH1.js} +1 -1
  152. package/lib/{index-B9Jj-myq.mjs → index-DYspQsyV.mjs} +4 -4
  153. package/lib/{index-BPdR4VSR.mjs → index-Difh_8Uq.mjs} +35 -35
  154. package/lib/{index-D2-kSqKC.mjs → index-Dl11esS0.mjs} +12 -12
  155. package/lib/{index-Dg1FDsF7.js → index-DlZQ535U.js} +1 -1
  156. package/lib/{index-DPZNqrkJ.mjs → index-DnaDROoD.mjs} +3 -3
  157. package/lib/{index-C6deIq6M.js → index-DocFg1hF.js} +1 -1
  158. package/lib/{index-BHv9flJb.js → index-DpEQBLtA.js} +1 -1
  159. package/lib/{index-OjOZm9KZ.mjs → index-DpSdWR-Q.mjs} +19 -19
  160. package/lib/{index-DCIXsPdt.js → index-DzxRHhWq.js} +1 -1
  161. package/lib/{index-BYNs7o4U.js → index-LMdITOCB.js} +1 -1
  162. package/lib/{index-C3JpIduu.js → index-cT-KFIxA.js} +1 -1
  163. package/lib/{index-TWJ3iDnH.js → index-k6e49slq.js} +1 -1
  164. package/lib/{index-t4mLpVUg.mjs → index-uuu1viWa.mjs} +1 -1
  165. package/lib/{index.es-CGmlPDhv.js → index.es-BYFwv7lT.js} +1 -1
  166. package/lib/{index.es-Cv23C4D_.mjs → index.es-BhhigIOQ.mjs} +3 -3
  167. package/lib/{index.es-C-nP3Wu4.mjs → index.es-DGqzeimm.mjs} +5 -5
  168. package/lib/{index.es-DOcp1QIZ.js → index.es-Fc3_m80E.js} +3 -3
  169. package/lib/index.js +1 -1
  170. package/lib/index.mjs +2 -2
  171. package/lib/mayan.js +9 -2
  172. package/lib/mayan.mjs +21900 -18117
  173. package/lib/{mint-DDRe5tvc.js → mint-C2AsTCD2.js} +1 -1
  174. package/lib/{mint-CwWYApOB.mjs → mint-CLB7p3ZL.mjs} +2 -2
  175. package/lib/ntt.js +1 -1
  176. package/lib/ntt.mjs +2370 -2323
  177. package/lib/{platform-Cdz3d-G9.js → platform-Cl1b31bn.js} +1 -1
  178. package/lib/{platform-C2My6P6V.js → platform-DV62YjSS.js} +1 -1
  179. package/lib/{platform-CkZe-n0U.js → platform-Dw5tN12f.js} +1 -1
  180. package/lib/{platform-B0QvkHbE.mjs → platform-bCY3DvqI.mjs} +14 -14
  181. package/lib/{platform-lg76WojY.mjs → platform-mkzPOtcO.mjs} +42 -21
  182. package/lib/{platform-IW8iV_CA.mjs → platform-pX0KL6zm.mjs} +6 -6
  183. package/lib/{provider-jsonrpc-Bd_Ha8XL.js → provider-jsonrpc-B0bAKP-a.js} +1 -1
  184. package/lib/{provider-jsonrpc-BXNY8lbA.mjs → provider-jsonrpc-DwKu1fjn.mjs} +120 -120
  185. package/lib/{secp256k1-BaYwfoJI.js → secp256k1-1EcPGQYM.js} +1 -1
  186. package/lib/{secp256k1-etdIygIN.mjs → secp256k1-6Zr6y_zm.mjs} +1 -1
  187. package/lib/{secp256k1-D3q9LbdQ.js → secp256k1-7IiVcfA7.js} +1 -1
  188. package/lib/{secp256k1-luy_3ZLQ.mjs → secp256k1-BeZAjIBs.mjs} +1 -1
  189. package/lib/{secp256k1-Cplgnjin.mjs → secp256k1-DXI-6Erh.mjs} +1 -1
  190. package/lib/{secp256k1-CuaGNRQC.js → secp256k1-Y38qxq0y.js} +1 -1
  191. package/lib/{signer-DKbAIeFy.mjs → signer-CzGPDOMI.mjs} +20 -20
  192. package/lib/{signer-BrSuBAB7.js → signer-D6-3r3Sp.js} +1 -1
  193. package/lib/{solana-BnirZbTQ.js → solana-Da7iWCux.js} +4 -4
  194. package/lib/solana-mjJtTggS.js +1 -0
  195. package/lib/{solana-DR8_Oms-.mjs → solana-os3Osxo6.mjs} +10 -10
  196. package/lib/solana-vo_l-zLm.mjs +18 -0
  197. package/lib/{solanaEmbed.esm-fUPiKqY3.mjs → solanaEmbed.esm-BBnVqCsz.mjs} +2 -2
  198. package/lib/{solanaEmbed.esm-BKWwcEou.js → solanaEmbed.esm-RhVD6vLR.js} +1 -1
  199. package/lib/src/AppRouter.d.ts.map +1 -1
  200. package/lib/src/components/AssetBadge.d.ts.map +1 -1
  201. package/lib/src/components/ConfigurablePageHeader.d.ts +4 -0
  202. package/lib/src/components/ConfigurablePageHeader.d.ts.map +1 -0
  203. package/lib/src/components/SampleApp/index.d.ts.map +1 -1
  204. package/lib/src/components/v3/AlertBanner.d.ts +14 -0
  205. package/lib/src/components/v3/AlertBanner.d.ts.map +1 -0
  206. package/lib/src/components/v3/Button.d.ts +22 -0
  207. package/lib/src/components/v3/Button.d.ts.map +1 -0
  208. package/lib/src/config/ui.d.ts +1 -1
  209. package/lib/src/config/ui.d.ts.map +1 -1
  210. package/lib/src/hooks/useAmountValidation.d.ts +2 -2
  211. package/lib/src/hooks/useAmountValidation.d.ts.map +1 -1
  212. package/lib/src/icons/Clock.d.ts +5 -0
  213. package/lib/src/icons/Clock.d.ts.map +1 -0
  214. package/lib/src/icons/SwapVertical.d.ts +5 -0
  215. package/lib/src/icons/SwapVertical.d.ts.map +1 -0
  216. package/lib/src/icons/TokenIcons.d.ts +1 -1
  217. package/lib/src/icons/TokenIcons.d.ts.map +1 -1
  218. package/lib/src/theme.d.ts +10 -3
  219. package/lib/src/theme.d.ts.map +1 -1
  220. package/lib/src/views/v3/Bridge/AmountInput/index.d.ts +21 -0
  221. package/lib/src/views/v3/Bridge/AmountInput/index.d.ts.map +1 -0
  222. package/lib/src/views/v3/Bridge/AmountValidationError.d.ts +11 -0
  223. package/lib/src/views/v3/Bridge/AmountValidationError.d.ts.map +1 -0
  224. package/lib/src/views/v3/Bridge/AssetPicker/ChainList.d.ts +16 -0
  225. package/lib/src/views/v3/Bridge/AssetPicker/ChainList.d.ts.map +1 -0
  226. package/lib/src/views/v3/Bridge/AssetPicker/PickerBottomSheet.d.ts +31 -0
  227. package/lib/src/views/v3/Bridge/AssetPicker/PickerBottomSheet.d.ts.map +1 -0
  228. package/lib/src/views/v3/Bridge/AssetPicker/PickerModal.d.ts +32 -0
  229. package/lib/src/views/v3/Bridge/AssetPicker/PickerModal.d.ts.map +1 -0
  230. package/lib/src/views/v3/Bridge/AssetPicker/SearchableList/SearchInput.d.ts +11 -0
  231. package/lib/src/views/v3/Bridge/AssetPicker/SearchableList/SearchInput.d.ts.map +1 -0
  232. package/lib/src/views/v3/Bridge/AssetPicker/SearchableList/index.d.ts +20 -0
  233. package/lib/src/views/v3/Bridge/AssetPicker/SearchableList/index.d.ts.map +1 -0
  234. package/lib/src/views/v3/Bridge/AssetPicker/TokenItem.d.ts +16 -0
  235. package/lib/src/views/v3/Bridge/AssetPicker/TokenItem.d.ts.map +1 -0
  236. package/lib/src/views/v3/Bridge/AssetPicker/TokenList.d.ts +24 -0
  237. package/lib/src/views/v3/Bridge/AssetPicker/TokenList.d.ts.map +1 -0
  238. package/lib/src/views/v3/Bridge/AssetPicker/index.d.ts +32 -0
  239. package/lib/src/views/v3/Bridge/AssetPicker/index.d.ts.map +1 -0
  240. package/lib/src/views/v3/Bridge/GasSlider/index.d.ts +11 -0
  241. package/lib/src/views/v3/Bridge/GasSlider/index.d.ts.map +1 -0
  242. package/lib/src/views/v3/Bridge/Routes/RouteBadge.d.ts +9 -0
  243. package/lib/src/views/v3/Bridge/Routes/RouteBadge.d.ts.map +1 -0
  244. package/lib/src/views/v3/Bridge/Routes/RoutesBottomSheet.d.ts +26 -0
  245. package/lib/src/views/v3/Bridge/Routes/RoutesBottomSheet.d.ts.map +1 -0
  246. package/lib/src/views/v3/Bridge/Routes/RoutesList.d.ts +20 -0
  247. package/lib/src/views/v3/Bridge/Routes/RoutesList.d.ts.map +1 -0
  248. package/lib/src/views/v3/Bridge/Routes/RoutesModal.d.ts +25 -0
  249. package/lib/src/views/v3/Bridge/Routes/RoutesModal.d.ts.map +1 -0
  250. package/lib/src/views/v3/Bridge/Routes/SingleRoute.d.ts +17 -0
  251. package/lib/src/views/v3/Bridge/Routes/SingleRoute.d.ts.map +1 -0
  252. package/lib/src/views/v3/Bridge/Routes/index.d.ts +13 -0
  253. package/lib/src/views/v3/Bridge/Routes/index.d.ts.map +1 -0
  254. package/lib/src/views/v3/Bridge/SwapInputs/index.d.ts +5 -0
  255. package/lib/src/views/v3/Bridge/SwapInputs/index.d.ts.map +1 -0
  256. package/lib/src/views/v3/Bridge/WalletConnector/Controller.d.ts +8 -0
  257. package/lib/src/views/v3/Bridge/WalletConnector/Controller.d.ts.map +1 -0
  258. package/lib/src/views/v3/Bridge/WalletConnector/ExplorerLink.d.ts +10 -0
  259. package/lib/src/views/v3/Bridge/WalletConnector/ExplorerLink.d.ts.map +1 -0
  260. package/lib/src/views/v3/Bridge/WalletConnector/Sidebar.d.ts +11 -0
  261. package/lib/src/views/v3/Bridge/WalletConnector/Sidebar.d.ts.map +1 -0
  262. package/lib/src/views/v3/Bridge/WalletConnector/index.d.ts +11 -0
  263. package/lib/src/views/v3/Bridge/WalletConnector/index.d.ts.map +1 -0
  264. package/lib/src/views/v3/Bridge/index.d.ts +5 -0
  265. package/lib/src/views/v3/Bridge/index.d.ts.map +1 -0
  266. package/lib/src/views/v3/Redeem/TransactionDetails/index.d.ts +4 -0
  267. package/lib/src/views/v3/Redeem/TransactionDetails/index.d.ts.map +1 -0
  268. package/lib/src/views/v3/Redeem/index.d.ts +5 -0
  269. package/lib/src/views/v3/Redeem/index.d.ts.map +1 -0
  270. package/lib/src/views/v3/TxHistory/Item/index.d.ts +8 -0
  271. package/lib/src/views/v3/TxHistory/Item/index.d.ts.map +1 -0
  272. package/lib/src/views/v3/TxHistory/Widget/Item.d.ts +9 -0
  273. package/lib/src/views/v3/TxHistory/Widget/Item.d.ts.map +1 -0
  274. package/lib/src/views/v3/TxHistory/Widget/index.d.ts +6 -0
  275. package/lib/src/views/v3/TxHistory/Widget/index.d.ts.map +1 -0
  276. package/lib/src/views/v3/TxHistory/index.d.ts +4 -0
  277. package/lib/src/views/v3/TxHistory/index.d.ts.map +1 -0
  278. package/lib/{sui-BTGAAvA9.js → sui-BCWT_MP3.js} +1 -1
  279. package/lib/{sui-BBqJwRM0.mjs → sui-CFKprzku.mjs} +3 -3
  280. package/lib/{sui-DTftSE5y.js → sui-CO5gTC2j.js} +1 -1
  281. package/lib/{sui-DAYuRjfB.mjs → sui-rzSF8U-3.mjs} +33 -33
  282. package/lib/{tokens-tq3iPasz.js → tokens-D2BbVV4x.js} +1 -1
  283. package/lib/{tokens-Bdu7ORRI.mjs → tokens-D74pLzp3.mjs} +3 -3
  284. package/lib/{units-Brhe0Yro.mjs → units-BGcsq4mJ.mjs} +24 -24
  285. package/lib/{units-CMwYFpwc.js → units-CFxZtEkH.js} +1 -1
  286. package/lib/{unsignedTransaction-Brbbx5Uc.mjs → unsignedTransaction-BHbKxuLa.mjs} +14 -14
  287. package/lib/{unsignedTransaction-q5Fk1S0o.js → unsignedTransaction-D14ic9We.js} +1 -1
  288. package/lib/{w3m-modal-BfRfCY9F.js → w3m-modal-253PNp3t.js} +1 -1
  289. package/lib/{w3m-modal-CtPzALaO.mjs → w3m-modal-BXoUHiVS.mjs} +2 -2
  290. package/lib/{w3m-modal-BhCXAHBR.js → w3m-modal-Dr98fjep.js} +1 -1
  291. package/lib/{w3m-modal-Dbhbe_NS.mjs → w3m-modal-vJ0TMybJ.mjs} +2 -2
  292. package/lib/{web3-Atnj-SZ3.mjs → web3-C7dEQmtr.mjs} +6 -6
  293. package/lib/{web3-DinKgkT9.js → web3-Co7tl8ed.js} +1 -1
  294. package/package.json +32 -33
  295. package/lib/address-BWzhA9di.js +0 -1
  296. package/lib/index-BjP-grbs.js +0 -299
  297. package/lib/solana-D_QkC8QG.mjs +0 -18
  298. package/lib/solana-pu7cIYt0.js +0 -1
@@ -3,12 +3,12 @@ var Ft = (e) => {
3
3
  };
4
4
  var Gt = (e, t, s) => t.has(e) || Ft("Cannot " + s);
5
5
  var ut = (e, t, s) => (Gt(e, t, "read from private field"), s ? s.call(e) : t.get(e)), Yt = (e, t, s) => t.has(e) ? Ft("Cannot add the same private member more than once") : t instanceof WeakSet ? t.add(e) : t.set(e, s), Ht = (e, t, s, r) => (Gt(e, t, "write to private field"), r ? r.call(e, s) : t.set(e, s), s);
6
- import { C as ss, W as rs, N as It, c as ns, d as R, f as tt, B as cs, h as os, j as ls, k as at } from "./index-C6plXYir.mjs";
7
- import { bA as Rt, av as is, bU as ds, E as ps, d as us, z as ms } from "./address-QpeLv2yn.mjs";
6
+ import { C as ss, W as rs, N as It, c as ns, d as R, f as tt, B as cs, h as os, j as ls, k as at } from "./index-CPq5TByt.mjs";
7
+ import { bC as Rt, av as is, bW as ds, E as ps, d as us, z as ms } from "./address-YYxpimx3.mjs";
8
8
  import { a as Nt, p as ot, B as j, i as lt, n as S, L as Ea, s as st, S as hs, b as V, f as bs, e as Ms, E as fe, F as J, c as Zt, N as Wt, d as Jt, g as Vt, I as Xt, h as Kt, j as _t, T as qt, k as ye, U as Ca, l as xe, t as C, m as mt, u as ys, o as kt, q as Q, w as xs, r as As, R as ht, v as z, x as Es } from "./http-B666g_cC.mjs";
9
- import { j as Cs } from "./provider-jsonrpc-BXNY8lbA.mjs";
10
- import { t as gs, C as fs, f as Is } from "./contract-D4Vzf62E.mjs";
11
- import { f as ks, a as ws } from "./units-Brhe0Yro.mjs";
9
+ import { j as Cs } from "./provider-jsonrpc-DwKu1fjn.mjs";
10
+ import { t as gs, C as fs, f as Is } from "./contract-CjL0DzEO.mjs";
11
+ import { f as ks, a as ws } from "./units-BGcsq4mJ.mjs";
12
12
  var $;
13
13
  class Ds extends Cs {
14
14
  /**
@@ -17460,7 +17460,7 @@ class Ot extends rs {
17460
17460
  return await this.provider.getSigner(this.address);
17461
17461
  }
17462
17462
  getWalletState() {
17463
- return this.connector ? tt.Loadable : tt.NotDetected;
17463
+ return !this.connector && !this.connectorFn ? tt.NotDetected : tt.Loadable;
17464
17464
  }
17465
17465
  async getBalance(t) {
17466
17466
  if (!this.isConnected() || !this.provider)
@@ -17628,7 +17628,7 @@ function Qt(e) {
17628
17628
  const A = M.chains.map((w) => w.id);
17629
17629
  if (!A.length)
17630
17630
  return;
17631
- const { EthereumProvider: E } = await import("./index.es-C-nP3Wu4.mjs").then((w) => w.i);
17631
+ const { EthereumProvider: E } = await import("./index.es-DGqzeimm.mjs").then((w) => w.i);
17632
17632
  return await E.init({
17633
17633
  ...e,
17634
17634
  disableProviderPing: !0,
package/lib/executor.js CHANGED
@@ -1 +1 @@
1
- "use strict";var Ue=Object.defineProperty;var $e=(r,t,e)=>t in r?Ue(r,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[t]=e;var d=(r,t,e)=>$e(r,typeof t!="symbol"?t+"":t,e);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("./address-XxuWo72f.js"),le=require("./chunk-KJH4KKG6-B9iq51o1.js"),ze=require("./platform-C2My6P6V.js"),M=require("./address-BWzhA9di.js"),Ve=require("./unsignedTransaction-C1YeEl4G.js"),k=require("./platform-Cdz3d-G9.js"),I=require("./contract-CQnkFb54.js"),Ae=require("./unsignedTransaction-B7AZXsTD.js"),x=require("./platform-CkZe-n0U.js"),Re=require("./index-lN-puZih.js"),Ne=require("./address-DHjpQ41W.js"),Oe=require("./unsignedTransaction-DzSLsK-p.js"),_e=require("./index-iXUxUBar.js"),Le=require("./index-Yra08X_i.js"),D=require("./web3-DinKgkT9.js"),he=require("./unsignedTransaction-q5Fk1S0o.js"),Ge=require("./account-BNVdeY3i.js"),qe={binary:"uint",size:1,custom:{to:r=>r>0,from:r=>r?1:0}},We=Object.freeze(Object.defineProperty({__proto__:null,amountItem:s.amountItem,boolItem:qe,chainItem:s.chainItem,circleDomainItem:s.circleDomainItem,circleNonceItem:s.circleNonceItem,dateConversion:s.dateConversion,fixedChainItem:s.fixedChainItem,fixedLengthStringItem:s.fixedLengthStringItem,guardianSetItem:s.guardianSetItem,payloadIdItem:s.payloadIdItem,sequenceItem:s.sequenceItem,signatureItem:s.signatureItem,stringConversion:s.stringConversion,universalAddressItem:s.universalAddressItem},Symbol.toStringTag,{value:"Module"})),j={Testnet:"https://executor-testnet.labsapis.com",Mainnet:"https://executor.labsapis.com"},H={Testnet:{Aptos:"0x14a12d1fd6ef371b70c2113155534ec152ec7f779e281b54866c796c9a4a58d3",Avalanche:"0x2cfEC91B50f657Cc86Ec693542527ac3e03bF742",BaseSepolia:"0x4983C6bD3bB7DA9EECe71cfa7AE4C67CAbf362F0",Sepolia:"0x0F78904c750801391EbBf308181e9d6fc892B0f3",Solana:"CXGRA5SCc8jxDbaQPZrmmZNu2JV34DP7gFW4m31uC1zs"},Mainnet:{Aptos:"0x9f5ad7d5c2d067ca4abb6d8d6aba44c15596b71a1def8eb4596089b527bb2eb1",Arbitrum:"0x55Dd4466BFec29527C54A72fd306efb54e5F7027",Avalanche:"0xd331819478b74d8a7B8EA631118B4a4e50F6EbD1",Base:"0x08FEB1838C3d7F8509DA1EBb9a11a94c1f006cb2",Ethereum:"0xeEFb36c4458dA7798742cf038C5c27E07aB9c51E",Optimism:"0xBC6f9d1CBa49DB365728478cefa02F6743617637",Polygon:"0x007995f2AEcfBC745f20a7AE8D3a02c0EbF46264",Unichain:"0xA7aBDb8f2108901c586543BD5e10E4fA263F4A47",Solana:"CXGRA5SCc8jxDbaQPZrmmZNu2JV34DP7gFW4m31uC1zs"}},Qe={Testnet:{Avalanche:"0x4058F0C3924eDaB19c15597C438968ed49C1a213",BaseSepolia:"0xC400FcC0e92d3406747FBb6f513D3aa8B038fcE9",Sepolia:"0x0F18DD26D0B41fb1eaa9cF34D1Ec6022aA69a8e2"},Mainnet:{Arbitrum:"0x8442d68524217601ed126f6859694E4B0C7c66A1",Avalanche:"0x3952914628650Ca510404872D84DfF10A844C5B5",Base:"0xbd8d42f40a11b37bD1b3770D754f9629F7cd5679",Ethereum:"0x2cCf230467FE7387674BAa657747F0B5485c7fEC",Linea:"0xc48c126468BE919068dE1983F00F65af759a4E87",Optimism:"0xd0a8940b2e743e33b682daec4d52b46713606c9d",Polygon:"0xc8a8e6d760dcbd5d6746e2f66cd2ffa722dd1e59",Unichain:"0xD5D5D640D8b758672Cc7A078734175c4433866d5",Sonic:"0xc39BF082ec91D9bC385F956D24a8D66C0c26223d",Worldchain:"0x789f2b91f7B35D5B890983328340c4600339B354"}},ge={Testnet:{executorId:"0x4000cfe2955d8355b3d3cf186f854fea9f787a457257056926fde1ec977670eb",executorRequestsId:"0x2d9ccf3cce3f7dce408e5455e90b80a8161ad9673d1366c2a5def60ad93657a8"},Mainnet:{executorId:"0xdb0fe8bb1e2b5be628adbea0636063325073e1070ee11e4281457dfd7f158235",executorRequestsId:"0xc030df7a3eed1494fa4b64aa8ab63a79041cf1114f4ff2b7ab5aca1c684a21a7"}},Ke={Testnet:"execXUrAsMnqMmTHj5m7N1YQgsDz3cwGLYCYyuDRciV",Mainnet:"execXUrAsMnqMmTHj5m7N1YQgsDz3cwGLYCYyuDRciV"},je=5001n,He={Testnet:{Aptos:5000n,ArbitrumSepolia:800000n,Avalanche:200000n,BaseSepolia:200000n,Linea:250000n,Sepolia:200000n,Solana:250000n,Sonic:250000n,Sui:8000000n},Mainnet:{Aptos:5000n,Arbitrum:800000n,Avalanche:250000n,Base:250000n,Ethereum:250000n,Linea:250000n,Optimism:250000n,Polygon:250000n,Unichain:250000n,Solana:250000n,Sonic:250000n,Sui:8000000n,Worldchain:250000n}},Xe={Testnet:{ArbitrumSepolia:{tokenMessengerV2:"0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA",messageTransmitterV2:"0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275"},Avalanche:{tokenMessengerV2:"0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA",messageTransmitterV2:"0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275"},BaseSepolia:{tokenMessengerV2:"0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA",messageTransmitterV2:"0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275"},Linea:{tokenMessengerV2:"0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA",messageTransmitterV2:"0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275"},Sepolia:{tokenMessengerV2:"0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA",messageTransmitterV2:"0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275"},Sonic:{tokenMessengerV2:"0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA",messageTransmitterV2:"0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275"}},Mainnet:{Arbitrum:{tokenMessengerV2:"0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d",messageTransmitterV2:"0x81D40F21F12A8F0E3252Bccb954D722d4c464B64"},Avalanche:{tokenMessengerV2:"0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d",messageTransmitterV2:"0x81D40F21F12A8F0E3252Bccb954D722d4c464B64"},Base:{tokenMessengerV2:"0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d",messageTransmitterV2:"0x81D40F21F12A8F0E3252Bccb954D722d4c464B64"},Ethereum:{tokenMessengerV2:"0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d",messageTransmitterV2:"0x81D40F21F12A8F0E3252Bccb954D722d4c464B64"},Linea:{tokenMessengerV2:"0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d",messageTransmitterV2:"0x81D40F21F12A8F0E3252Bccb954D722d4c464B64"},Optimism:{tokenMessengerV2:"0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d",messageTransmitterV2:"0x81D40F21F12A8F0E3252Bccb954D722d4c464B64"},Polygon:{tokenMessengerV2:"0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d",messageTransmitterV2:"0x81D40F21F12A8F0E3252Bccb954D722d4c464B64"},Unichain:{tokenMessengerV2:"0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d",messageTransmitterV2:"0x81D40F21F12A8F0E3252Bccb954D722d4c464B64"},Sonic:{tokenMessengerV2:"0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d",messageTransmitterV2:"0x81D40F21F12A8F0E3252Bccb954D722d4c464B64"},Worldchain:{tokenMessengerV2:"0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d",messageTransmitterV2:"0x81D40F21F12A8F0E3252Bccb954D722d4c464B64"}}},ye={Testnet:{Sepolia:0,Avalanche:1,OptimismSepolia:2,ArbitrumSepolia:3,Solana:5,BaseSepolia:6,Polygon:7,Sui:8,Aptos:9,Unichain:10},Mainnet:{Ethereum:0,Avalanche:1,Optimism:2,Arbitrum:3,Solana:5,Base:6,Polygon:7,Sui:8,Aptos:9,Unichain:10}},T=(r,t)=>{var e;return((e=ye[r])==null?void 0:e[t])!==void 0},z={Testnet:{Sepolia:0,Avalanche:1,ArbitrumSepolia:3,BaseSepolia:6,Linea:11,Sonic:13},Mainnet:{Ethereum:0,Avalanche:1,Optimism:2,Arbitrum:3,Base:6,Polygon:7,Unichain:10,Linea:11,Sonic:13,Worldchain:14}},G=(r,t)=>{var e;return((e=z[r])==null?void 0:e[t])!==void 0},U=(r,t)=>{var n;const e=(n=z[r])==null?void 0:n[t];if(e===void 0)throw new Error(`CircleV2 domain not found for network ${r} and chain ${t}`);return e},xe=(r,t)=>{var n;const e=(n=Object.entries(z[r]??{}).find(([,a])=>a===t))==null?void 0:n[0];if(e===void 0)throw new Error(`CircleV2 chain not found for network ${r} and domain ${t}`);return e},V={Testnet:"https://iris-api-sandbox.circle.com/v2",Mainnet:"https://iris-api.circle.com/v2"};var $;(function(r){r[r.CONFIRMED=1e3]="CONFIRMED",r[r.FINALIZED=2e3]="FINALIZED"})($||($={}));const De={Testnet:{ArbitrumSepolia:8e3,BaseSepolia:8e3,Sepolia:2e4,Linea:8e3},Mainnet:{Arbitrum:8e3,Base:8e3,Ethereum:2e4,Linea:8e3,Optimism:8e3,Polygon:8e3,Unichain:8e3,Worldchain:8e3}},Ze=(r,t)=>{var e;return((e=De[r])==null?void 0:e[t])!==void 0};class X{constructor(t,e,n,a){d(this,"network");d(this,"chain");d(this,"provider");d(this,"contracts");d(this,"usdcId");d(this,"shimContract");var c;if(this.network=t,this.chain=e,this.provider=n,this.contracts=a,t==="Devnet")throw new Error("CCTPExecutor not supported on Devnet");const i=s.usdcContract.get(this.network,this.chain);if(!i)throw new Error(`No USDC contract configured for network=${this.network} chain=${this.chain}`);this.usdcId=i;const o=(c=H[t])==null?void 0:c[e];if(!o)throw new Error(`Shim contract for ${e} not found`);this.shimContract=o}static async fromRpc(t,e){const[n,a]=await ze.AptosPlatform.chainFromRpc(t),i=e[a];if(!i)throw new Error(`No config found for ${a}`);if(i.network!==n)throw new Error(`Network mismatch: ${i.network} != ${n}`);return new X(n,a,t,i.contracts)}async*transfer(t,e,n){var g,C;const a=new M.AptosAddress(t).unwrap(),i=le.l.from(e.address.toUniversalAddress().toUint8Array()),o=le.l.from(this.usdcId),c=n.remainingAmount+n.referrerFee,u=s.circleChainId.get(this.network,e.chain),m=a,f=new M.AptosAddress(((C=(g=n.referrer)==null?void 0:g.address)==null?void 0:C.toString())??a).unwrap(),l=[c,u,i.toString(),o.toString(),n.estimatedCost,s.toChainId(e.chain),m,n.signedQuote,n.relayInstructions,n.referrerFeeDbps,f],h={function:`${this.shimContract}::cctp_v1_with_executor::deposit_for_burn_entry`,functionArguments:l};yield this.createUnsignedTx(h,"AtposCCTPExecutor.Transfer")}createUnsignedTx(t,e,n=!1){return new Ve.AptosUnsignedTransaction(t,this.network,this.chain,e,n)}}s.registerProtocol(M._platform,"CCTPExecutor",X);class Z{constructor(t,e,n,a){d(this,"network");d(this,"chain");d(this,"provider");d(this,"contracts");d(this,"chainId");d(this,"shimContract");var o;if(this.network=t,this.chain=e,this.provider=n,this.contracts=a,t==="Devnet")throw new Error("CCTPExecutor not supported on Devnet");this.chainId=s.networkChainToNativeChainId.get(t,e);const i=(o=H[t])==null?void 0:o[e];if(!i)throw new Error(`Shim contract for ${e} not found`);this.shimContract=i}static async fromRpc(t,e){const[n,a]=await k.EvmPlatform.chainFromRpc(t),i=e[a];if(i.network!==n)throw new Error(`Network mismatch: ${i.network} != ${n}`);return new Z(n,a,t,i.contracts)}async*transfer(t,e,n){var g,C;const a=new s.EvmAddress(t).toString(),i=e.address.toUniversalAddress().toUint8Array(),o=n.remainingAmount+n.referrerFee,c=s.usdcContract.get(this.network,this.chain),u=k.EvmPlatform.getTokenImplementation(this.provider,c);if(await u.allowance(a,this.shimContract)<o){const p=await u.approve.populateTransaction(this.shimContract,o);yield this.createUnsignedTx(s.addFrom(p,a),"ERC20.approve of EvmCCTPExecutor",!1)}const f=["function depositForBurn(uint256 amount, uint16 destinationChain, uint32 destinationDomain, bytes32 mintRecipient, address burnToken, (address refundAddress, bytes signedQuote, bytes instructions) executorArgs, (uint16 dbps, address payee) feeArgs) external payable returns (uint64 nonce)"],h=await new I.Contract(this.shimContract,f,this.provider).getFunction("depositForBurn").populateTransaction(o,s.toChainId(e.chain),s.circleChainId.get(this.network,e.chain),i,c,{refundAddress:a,signedQuote:n.signedQuote,instructions:n.relayInstructions},{dbps:n.referrerFeeDbps,payee:((C=(g=n.referrer)==null?void 0:g.address)==null?void 0:C.toString())??a});h.value=n.estimatedCost,yield this.createUnsignedTx(s.addFrom(h,a),"EvmCCTPExecutor.depositForBurn")}createUnsignedTx(t,e,n=!1){return new Ae.EvmUnsignedTransaction(s.addChainId(t,this.chainId),this.network,this.chain,e,n)}}const{amountItem:S,circleDomainItem:Ce,universalAddressItem:y}=We,Fe={binary:"uint",size:4,custom:1,omit:!1},Je={binary:"bytes",size:32},we={binary:"uint",size:4},Ye=[{name:"version",...Fe},{name:"burnToken",...y},{name:"mintRecipient",...y},{name:"amount",...S},{name:"messageSender",...y},{name:"maxFee",...S},{name:"feeExecuted",...S},{name:"expirationBlock",...S},{name:"hookData",binary:"bytes"}],ve=[{name:"version",...Fe},{name:"sourceDomain",...Ce},{name:"destinationDomain",...Ce},{name:"nonce",...Je},{name:"sender",...y},{name:"recipient",...y},{name:"destinationCaller",...y},{name:"minFinalityThreshold",...we},{name:"finalityThresholdExecuted",...we},{name:"messageBody",binary:"bytes",layout:Ye}],et=r=>s.deserialize$1(ve,r),tt=r=>s.serialize(ve,r),nt=[{name:"gasLimit",binary:"uint",size:16},{name:"msgValue",binary:"uint",size:16}],rt=[{name:"dropOff",binary:"uint",size:16},{name:"recipient",...s.universalAddressItem}],st=[{name:"request",binary:"switch",idSize:1,idTag:"type",layouts:[[[1,"GasInstruction"],nt],[[2,"GasDropOffInstruction"],rt]]}],Te=[{name:"requests",binary:"array",layout:st}],at={to:r=>new Date(Number(r*1000n)),from:r=>BigInt(r.getTime())/1000n},it=[{name:"quote",binary:"switch",idSize:4,idTag:"prefix",layouts:[[[1162948657,"EQ01"],[{name:"quoterAddress",binary:"bytes",size:20},{name:"payeeAddress",binary:"bytes",size:32},{name:"srcChain",binary:"uint",size:2},{name:"dstChain",binary:"uint",size:2},{name:"expiryTime",binary:"uint",size:8,custom:at},{name:"baseFee",binary:"uint",size:8},{name:"dstGasPrice",binary:"uint",size:8},{name:"srcPrice",binary:"uint",size:8},{name:"dstPrice",binary:"uint",size:8}]]]}],Se=[...it,{name:"signature",binary:"bytes",size:65}];class J{constructor(t,e,n,a){d(this,"network");d(this,"chain");d(this,"provider");d(this,"contracts");d(this,"chainId");d(this,"shimContract");d(this,"messageTransmitter");d(this,"usdcContract");var u,m,f;if(this.network=t,this.chain=e,this.provider=n,this.contracts=a,t==="Devnet")throw new Error("CCTPv2Executor not supported on Devnet");this.chainId=s.networkChainToNativeChainId.get(t,e);const i=(u=Qe[t])==null?void 0:u[e];if(!i)throw new Error(`Shim contract for ${e} not found`);this.shimContract=i;const o=(f=(m=Xe[t])==null?void 0:m[e])==null?void 0:f.messageTransmitterV2;if(!o)throw new Error(`MessageTransmitter contract for ${e} not found`);this.messageTransmitter=o;const c=s.usdcContract.get(t,e);if(!c)throw new Error(`USDC contract for ${e} not found`);this.usdcContract=c}static async fromRpc(t,e){const[n,a]=await k.EvmPlatform.chainFromRpc(t),i=e[a];if(i.network!==n)throw new Error(`Network mismatch: ${i.network} != ${n}`);return new J(n,a,t,i.contracts)}async*transfer(t,e,n){var C,p;const a=new s.EvmAddress(t).toString(),i=e.address.toUniversalAddress().toUint8Array(),o=n.remainingAmount+n.referrerFee,c=k.EvmPlatform.getTokenImplementation(this.provider,this.usdcContract);if(await c.allowance(a,this.shimContract)<o){const b=await c.approve.populateTransaction(this.shimContract,o);yield this.createUnsignedTx(s.addFrom(b,a),"ERC20.approve of EvmCCTPv2Executor",!1)}const m=["function depositForBurn(uint256 amount, uint16 destinationChain, uint32 destinationDomain, bytes32 mintRecipient, address burnToken, bytes32 destinationCaller, uint256 maxFee, uint32 minFinalityThreshold, (address refundAddress, bytes signedQuote, bytes instructions) executorArgs, (uint16 dbps, address payee) feeArgs) external payable returns (uint64 nonce)"],f=new Uint8Array(32),l=new I.Contract(this.shimContract,m,this.provider),h=U(this.network,e.chain),g=await l.getFunction("depositForBurn").populateTransaction(o,s.toChainId(e.chain),h,i,this.usdcContract,f,n.fastTransferMaxFee,n.minFinalityThreshold,{refundAddress:a,signedQuote:n.signedQuote,instructions:n.relayInstructions},{dbps:n.referrerFeeDbps,payee:((p=(C=n.referrer)==null?void 0:C.address)==null?void 0:p.toString())??a});g.value=n.estimatedCost,yield this.createUnsignedTx(s.addFrom(g,a),"EvmCCTPv2Executor.depositForBurn")}async isTransferCompleted(t){return await new I.Contract(this.messageTransmitter,["function usedNonces(bytes32) public view returns (uint256)"],this.provider).getFunction("usedNonces").staticCall(t.nonce)===1n}async*redeem(t,e,n){const a=new s.EvmAddress(t).toString(),o=await new I.Contract(this.messageTransmitter,["function receiveMessage(bytes message, bytes attestation)"],this.provider).getFunction("receiveMessage").populateTransaction(tt(e),s.hex.decode(n));yield this.createUnsignedTx(s.addFrom(o,a),"MessageTransmitterV2.receiveMessage")}async getCurrentBlock(){return BigInt(await this.provider.getBlockNumber())}createUnsignedTx(t,e,n=!1){return new Ae.EvmUnsignedTransaction(s.addChainId(t,this.chainId),this.network,this.chain,e,n)}}s.registerProtocol(s._platform,"CCTPExecutor",Z);s.registerProtocol(s._platform,"CCTPv2Executor",J);class Y{constructor(t,e,n,a){d(this,"network");d(this,"chain");d(this,"provider");d(this,"contracts");d(this,"usdcId");d(this,"usdcTreasuryId");d(this,"tokenMessengerId");d(this,"tokenMessengerStateId");d(this,"messageTransmitterId");d(this,"messageTransmitterStateId");d(this,"executorId");d(this,"executorRequestsId");var m,f,l,h;if(this.network=t,this.chain=e,this.provider=n,this.contracts=a,t==="Devnet")throw new Error("CCTPExecutor not supported on Devnet");const i=(g,C)=>{if(!g)throw new Error(C);return g};this.usdcId=i(s.usdcContract.get(this.network,this.chain),`No USDC contract configured for network=${this.network} chain=${this.chain}`);const{tokenMessengerState:o,messageTransmitterState:c,usdcTreasury:u}=Re.suiCircleObjects(t);this.usdcTreasuryId=u,this.tokenMessengerId=i((m=a.cctp)==null?void 0:m.tokenMessenger,`Circle Token Messenger contract for domain ${e} not found`),this.messageTransmitterId=i((f=a.cctp)==null?void 0:f.messageTransmitter,`Circle Message Transmitter contract for domain ${e} not found`),this.tokenMessengerStateId=o,this.messageTransmitterStateId=c,this.executorId=i((l=ge[t])==null?void 0:l.executorId,`Executor contract for ${t} not found`),this.executorRequestsId=i((h=ge[t])==null?void 0:h.executorRequestsId,`Executor requests contract for ${t} not found`)}static async fromRpc(t,e){const[n,a]=await x.SuiPlatform.chainFromRpc(t),i=e[a];if(i.network!==n)throw new Error(`Network mismatch: ${i.network} != ${n}`);return new Y(n,a,t,i.contracts)}async*transfer(t,e,n){const a=new x.Transaction,i=new Ne.SuiAddress(t).unwrap(),o=s.circleChainId.get(this.network,e.chain),[c,...u]=await x.SuiPlatform.getCoins(this.provider,t,this.usdcId);if(c===void 0)throw new Error("No USDC in wallet");const m=a.object(c.coinObjectId);u.length>0&&a.mergeCoins(m,u.map(w=>a.object(w.coinObjectId)));let f;if(n.referrerFee>0n){const[w,A]=a.splitCoins(m,[n.remainingAmount,n.referrerFee]);f=w,a.transferObjects([A],n.referrer?s.canonicalAddress(n.referrer):i)}else{const[w]=a.splitCoins(m,[n.remainingAmount]);f=w}const[l,h]=a.moveCall({target:`${this.tokenMessengerId}::deposit_for_burn::deposit_for_burn`,arguments:[f,a.pure.u32(o),a.pure.address(e.address.toUniversalAddress().toString()),a.object(this.tokenMessengerStateId),a.object(this.messageTransmitterStateId),a.object("0x403"),a.object(this.usdcTreasuryId)],typeArguments:[this.usdcId]}),[g]=a.moveCall({target:`${this.messageTransmitterId}::message::source_domain`,arguments:[h]}),[C]=a.moveCall({target:`${this.messageTransmitterId}::message::nonce`,arguments:[h]}),[p]=a.moveCall({target:`${this.executorRequestsId}::executor_requests::make_cctp_v1_request`,arguments:[g,C]}),[b]=a.splitCoins(a.gas,[a.pure.u64(n.estimatedCost)]);a.moveCall({target:`${this.executorId}::executor::request_execution`,arguments:[b,a.object(x.SUI_CLOCK_OBJECT_ID),a.pure.u16(s.toChainId(e.chain)),a.pure.address("0x0"),a.pure.address(i),a.pure.vector("u8",n.signedQuote),p,a.pure.vector("u8",n.relayInstructions)]}),yield this.createUnsignedTx(a,"SuiCCTPExecutor.Transfer")}createUnsignedTx(t,e,n=!1){return new Oe.SuiUnsignedTransaction(t,this.network,this.chain,e,n)}}s.registerProtocol(x._platform,"CCTPExecutor",Y);const R=new s.PublicKey("TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA");new s.PublicKey("TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb");const ee=new s.PublicKey("ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL");new s.PublicKey("So11111111111111111111111111111111111111112");new s.PublicKey("9pan9bMn5HatX4EJdBwg9VgCa7Uz5HL8N1m5D3NdXejP");class ot extends Error{constructor(t){super(t)}}class ct extends ot{constructor(){super(...arguments),this.name="TokenOwnerOffCurveError"}}var q;(function(r){r[r.InitializeMint=0]="InitializeMint",r[r.InitializeAccount=1]="InitializeAccount",r[r.InitializeMultisig=2]="InitializeMultisig",r[r.Transfer=3]="Transfer",r[r.Approve=4]="Approve",r[r.Revoke=5]="Revoke",r[r.SetAuthority=6]="SetAuthority",r[r.MintTo=7]="MintTo",r[r.Burn=8]="Burn",r[r.CloseAccount=9]="CloseAccount",r[r.FreezeAccount=10]="FreezeAccount",r[r.ThawAccount=11]="ThawAccount",r[r.TransferChecked=12]="TransferChecked",r[r.ApproveChecked=13]="ApproveChecked",r[r.MintToChecked=14]="MintToChecked",r[r.BurnChecked=15]="BurnChecked",r[r.InitializeAccount2=16]="InitializeAccount2",r[r.SyncNative=17]="SyncNative",r[r.InitializeAccount3=18]="InitializeAccount3",r[r.InitializeMultisig2=19]="InitializeMultisig2",r[r.InitializeMint2=20]="InitializeMint2",r[r.GetAccountDataSize=21]="GetAccountDataSize",r[r.InitializeImmutableOwner=22]="InitializeImmutableOwner",r[r.AmountToUiAmount=23]="AmountToUiAmount",r[r.UiAmountToAmount=24]="UiAmountToAmount",r[r.InitializeMintCloseAuthority=25]="InitializeMintCloseAuthority",r[r.TransferFeeExtension=26]="TransferFeeExtension",r[r.ConfidentialTransferExtension=27]="ConfidentialTransferExtension",r[r.DefaultAccountStateExtension=28]="DefaultAccountStateExtension",r[r.Reallocate=29]="Reallocate",r[r.MemoTransferExtension=30]="MemoTransferExtension",r[r.CreateNativeMint=31]="CreateNativeMint",r[r.InitializeNonTransferableMint=32]="InitializeNonTransferableMint",r[r.InterestBearingMintExtension=33]="InterestBearingMintExtension",r[r.CpiGuardExtension=34]="CpiGuardExtension",r[r.InitializePermanentDelegate=35]="InitializePermanentDelegate",r[r.TransferHookExtension=36]="TransferHookExtension",r[r.MetadataPointerExtension=39]="MetadataPointerExtension"})(q||(q={}));function dt(r,t,e){if(e.length){r.push({pubkey:t,isSigner:!1,isWritable:!1});for(const n of e)r.push({pubkey:n instanceof s.PublicKey?n:n.publicKey,isSigner:!0,isWritable:!1})}else r.push({pubkey:t,isSigner:!0,isWritable:!1});return r}const ut=s.struct([s.u32("mintAuthorityOption"),D.publicKey("mintAuthority"),D.u64("supply"),s.u8("decimals"),D.bool("isInitialized"),s.u32("freezeAuthorityOption"),D.publicKey("freezeAuthority")]);ut.span;function pe(r,t,e=!1,n=R,a=ee){if(!e&&!s.PublicKey.isOnCurve(t.toBuffer()))throw new ct;const[i]=s.PublicKey.findProgramAddressSync([t.toBuffer(),n.toBuffer(),r.toBuffer()],a);return i}function mt(r,t,e,n,a=R,i=ee){return ft(r,t,e,n,s.dist.Buffer.from([1]),a,i)}function ft(r,t,e,n,a,i=R,o=ee){const c=[{pubkey:r,isSigner:!0,isWritable:!0},{pubkey:t,isSigner:!1,isWritable:!0},{pubkey:e,isSigner:!1,isWritable:!1},{pubkey:n,isSigner:!1,isWritable:!1},{pubkey:s.SystemProgram.programId,isSigner:!1,isWritable:!1},{pubkey:i,isSigner:!1,isWritable:!1}];return new s.TransactionInstruction({keys:c,programId:o,data:a})}const be=s.struct([s.u8("instruction"),D.u64("amount")]);function lt(r,t,e,n,a=[],i=R){const o=dt([{pubkey:r,isSigner:!1,isWritable:!0},{pubkey:t,isSigner:!1,isWritable:!0}],e,a),c=s.dist.Buffer.alloc(be.span);return be.encode({instruction:q.Transfer,amount:BigInt(n)},c),new s.TransactionInstruction({keys:o,programId:i,data:c})}const ht={version:"0.1.0",name:"example_cctp_with_executor",instructions:[{name:"relayLastMessage",accounts:[{name:"payer",isMut:!0,isSigner:!0},{name:"payee",isMut:!0,isSigner:!1},{name:"messageTransmitter",isMut:!1,isSigner:!1},{name:"executorProgram",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[{name:"args",type:{defined:"relayLastMessageArgs"}}]}],types:[{name:"relayLastMessageArgs",type:{kind:"struct",fields:[{name:"recipientChain",type:"u16"},{name:"execAmount",type:"u64"},{name:"signedQuoteBytes",type:"bytes"},{name:"relayInstructions",type:"bytes"}]}}]};class te{constructor(t,e,n,a){d(this,"network");d(this,"chain");d(this,"connection");d(this,"contracts");d(this,"tokenMessengerProgramId");d(this,"messageTransmitterProgramId");d(this,"shimProgramId");d(this,"executorProgramId");var o,c,u;if(this.network=t,this.chain=e,this.connection=n,this.contracts=a,t==="Devnet")throw new Error("CCTPExecutor not supported on Devnet");const i=(m,f)=>{if(!m)throw new Error(f);return new s.PublicKey(m)};this.tokenMessengerProgramId=i((o=a.cctp)==null?void 0:o.tokenMessenger,`Circle Token Messenger contract for domain ${e} not found`),this.messageTransmitterProgramId=i((c=a.cctp)==null?void 0:c.messageTransmitter,`Circle Message Transmitter contract for domain ${e} not found`),this.shimProgramId=i((u=H[t])==null?void 0:u[e],`Shim contract for ${e} not found`),this.executorProgramId=i(Ke[t],`Executor contract for ${t} not found`)}static async fromRpc(t,e){const[n,a]=await he.SolanaPlatform.chainFromRpc(t),i=e[a];if(i.network!==n)throw new Error(`Network mismatch: ${i.network} != ${n}`);return new te(n,a,t,i.contracts)}async*transfer(t,e,n){var p,b;const a=new s.PublicKey(s.usdcContract.get(this.network,this.chain)),i=new s.SolanaAddress(t).unwrap(),o=pe(a,i),c=new s.SolanaAddress(((b=(p=n.referrer)==null?void 0:p.address)==null?void 0:b.toString())??i).unwrap(),u=new s.Transaction;if(u.feePayer=i,n.referrerFee>0n){const w=pe(a,c,!0);await this.connection.getAccountInfo(w)||u.add(mt(i,w,c,a)),u.add(lt(o,w,i,n.referrerFee))}const m=s.circleChainId.get(this.network,e.chain),f=e.address.toUniversalAddress(),l=s.Keypair.generate();u.add(await _e.createDepositForBurnInstruction(this.messageTransmitterProgramId,this.tokenMessengerProgramId,a,m,i,o,f,n.remainingAmount,l.publicKey));const h=new Le.Program(ht,this.shimProgramId,{connection:null}),g=s.deserialize$1(Se,n.signedQuote),C=Ge.deriveAddress("message_transmitter",this.messageTransmitterProgramId);u.add(await h.methods.relayLastMessage({execAmount:new s.BN(n.estimatedCost.toString()),recipientChain:s.toChainId(e.chain),signedQuoteBytes:s.dist.Buffer.from(n.signedQuote),relayInstructions:s.dist.Buffer.from(n.relayInstructions)}).accounts({payer:i,messageTransmitter:C,payee:new s.PublicKey(g.quote.payeeAddress),executorProgram:this.executorProgramId}).instruction()),yield this.createUnsignedTx({transaction:u,signers:[l]},"SvmCCTPExecutor.Transfer")}createUnsignedTx(t,e,n=!1){return new he.SolanaUnsignedTransaction(t,this.network,this.chain,e,n)}}s.registerProtocol(s._platform$1,"CCTPExecutor",te);var E;(function(r){r.Pending="pending",r.Failed="failed",r.Unsupported="unsupported",r.Submitted="submitted",r.Underpaid="underpaid",r.Aborted="aborted"})(E||(E={}));var Ee;(function(r){r.ERM1="ERM1",r.ERV1="ERV1",r.ERN1="ERN1",r.ERC1="ERC1",r.ERC2="ERC2"})(Ee||(Ee={}));async function gt(r){const t=`${j[r]}/v0/capabilities`;try{return(await s.axios.get(t)).data}catch{throw new Error(`Failed to fetch capabilities for network: ${r}.`)}}async function Ct(r,t,e,n){const a=`${j[r]}/v0/quote`;try{return(await s.axios.post(a,{srcChain:s.toChainId(t),dstChain:s.toChainId(e),relayInstructions:n})).data}catch{throw new Error("Failed to fetch signed quote.")}}async function ne(r,t,e){const n=`${j[r]}/v0/status/tx`;try{return(await s.axios.post(n,{txHash:t,chainId:s.toChainId(e)})).data}catch{throw new Error(`Failed to fetch status for txHash: ${t}.`)}}const wt=65535n;function pt(r,t,e){if(t>wt)throw new Error("dBps exceeds max u16");let n=t,a=r,i=0n;if(t>0){if(e!==void 0&&r>0){const o=s.parse(e.toString(),6),c=s.units(o)/r,u=t<c?t:c;i=r*u/100000n,n=u}else i=r*t/100000n;a=r-i}return{referrerFee:i,remainingAmount:a,referrerFeeDbps:n}}function bt(r){return new Promise(t=>setTimeout(t,r))}async function W(r,t,e=s.DEFAULT_TASK_TIMEOUT){const n=U(t,r.chain);return s.retry(async()=>{var i;const a=`${V[t]}/messages/${n}?transactionHash=${r.txid}`;try{const c=(await s.axios.get(a)).data.messages[0];if(!c)return null;if(c.cctpVersion!==2)throw new Error("CCTPv1 attestation found");return c.status==="pending_confirmations"?null:{message:et(s.hex.decode(c.message)),attestation:c.attestation}}catch(o){if(!o||typeof o=="object"&&(s.axios.isAxiosError(o)&&((i=o.response)==null?void 0:i.status)===404||"status"in o&&o.status===404))return null;throw o}},2e3,e,"CCTPv2:GetMessage")}async function Et(r,t,e){const n=U(r,t),a=U(r,e),i=`${V[r]}/fastBurn/USDC/fees/${n}/${a}`,o=await s.axios.get(i);return BigInt(o.data.minimumFee)}async function At(r,t){const e=s.hex.encode(t.attestation.message.nonce,!0),n=`${V[r]}/reattest/${e}`,a=await s.axios.post(n);if(a.data.error){if(a.data.error.includes("Message is already finalized"))return t.attestation;throw new Error(`Error re-attesting message: ${a.data.error}`)}const i=xe(r,t.attestation.message.sourceDomain);return s.retry(async()=>{const o=await W({txid:t.id,chain:i},r);return!o||o.message.messageBody.expirationBlock!==0n?null:o},2e3,s.DEFAULT_TASK_TIMEOUT,"CCTPv2:Reattest")}async function yt(r){const t=`${V[r]}/fastBurn/USDC/allowance`,e=await s.axios.get(t);return s.units(s.parse(e.data.allowance,6))}function re(r,t,e){const n=s.usdcContract.get(t.network,t.chain);if(!(n&&s.isSameToken(r,s.Wormhole.tokenId(t.chain,n))))return[];const{network:a,chain:i}=e,o=s.usdcContract.get(a,i);return o?[s.Wormhole.chainAddress(i,o)]:[]}let B;async function se(r,t,e,n){var de,ue,me;const{fromChain:a,toChain:i}=r;if(!s.usdcContract.get(a.network,a.chain))throw new Error("Invalid transfer, no USDC contract on source");const c=s.usdcContract.get(i.network,i.chain);if(!c)throw new Error("Invalid transfer, no USDC contract on destination");let u;if(e.referrerFeeDbps>0n&&(u=(ue=(de=e.referrerAddresses)==null?void 0:de[a.network])==null?void 0:ue[a.chain],!u))throw new Error(`Referrer address not configured for ${a.chain}`);const m=u?s.Wormhole.chainAddress(a.chain,u):void 0,{referrerFee:f,remainingAmount:l,referrerFeeDbps:h}=pt(s.units(t.normalizedParams.amount),e.referrerFeeDbps,e.referrerFeeThreshold);if(l<=0n)throw new Error("Amount after fee <= 0");const g=(me=He[i.network])==null?void 0:me[i.chain];if(!g)throw new Error("Gas limit not found");const C=await gt(a.network);if(!C[s.toChainId(a.chain)])throw new Error("Unsupported source chain");const b=C[s.toChainId(i.chain)];if(!b||!b.requestPrefixes.includes(n))throw new Error("Unsupported destination chain");const{recipient:w}=r;let A=!0;if(w&&i.chain==="Solana"){const Me=s.Wormhole.parseAddress("Solana",c),ke=await i.getTokenAccount(w.address,Me),fe=await i.getRpc();A=await fe.getAccountInfo(new s.SolanaAddress(ke.address).unwrap())!==null,!A&&!B&&(B=BigInt(await fe.getMinimumBalanceForRentExemption(165)))}let N=0n;i.chain==="Solana"&&(N+=je,!A&&B&&(N+=B));const O=[];O.push({request:{type:"GasInstruction",gasLimit:g,msgValue:N}});const ie=BigInt(b.gasDropOffLimit),_=t.options.nativeGas&&ie>0n?BigInt(Math.round(t.options.nativeGas*100))*ie/100n:0n;(_>0n||!A)&&O.push({request:{type:"GasDropOffInstruction",dropOff:_,recipient:w?w.address.toUniversalAddress():new s.UniversalAddress(new Uint8Array(32))}});const oe=s.serialize(Te,{requests:O}),L=await Ct(a.network,a.chain,i.chain,s.hex.encode(oe,!0));if(!L.estimatedCost)throw new Error("No estimated cost");const ce=s.hex.decode(L.signedQuote),Ie=s.deserialize$1(Se,ce),Pe=BigInt(L.estimatedCost);return{signedQuote:ce,relayInstructions:oe,estimatedCost:Pe,referrer:m,referrerFee:f,remainingAmount:l,referrerFeeDbps:h,expiryTime:Ie.quote.expiryTime,gasDropOff:_}}async function Be(r,t,e,n){s.deserialize$1(Te,n.details.relayInstructions).requests.forEach(({request:l})=>{if(l.type==="GasDropOffInstruction"&&!l.recipient.equals(e.address.toUniversalAddress()))throw new Error("Gas drop-off recipient does not match")});const i=s.Wormhole.parseAddress(t.chain(),t.address()),o=await xt(e,r);let c;n.protocol==="CCTPExecutor"?c=await(await r.fromChain.getProtocol(n.protocol)).transfer(i,o,n.details):c=await(await r.fromChain.getProtocol(n.protocol)).transfer(i,o,n.details);const u=await s.signSendWait(r.fromChain,c,t);let m=0;return(async()=>{for(;m<20;){try{const[l]=await ne(r.fromChain.network,u.at(-1).txid,r.fromChain.chain);if(l)break}catch{}m++,await bt(2e3)}})(),{from:r.fromChain.chain,to:r.toChain.chain,state:s.TransferState.SourceInitiated,originTxs:u}}async function xt(r,t){if(r.chain!=="Solana")return r;const e=s.usdcContract.get(t.toChain.network,t.toChain.chain);if(!e)throw new Error("No USDC contract found for Solana");const n=s.Wormhole.parseAddress("Solana",e);return t.toChain.getTokenAccount(r.address,n)}function Dt(r={referrerFeeDbps:0n}){if(r.referrerFeeDbps<0||r.referrerFeeDbps>65535n)throw new Error("Referrer fee must be between 0 and 65535");class t extends P{}return d(t,"config",r),t}class P extends s.AutomaticRoute{constructor(){super(...arguments);d(this,"staticConfig",this.constructor.config)}static supportedNetworks(){return["Mainnet","Testnet"]}static supportedChains(e){return[...Object.keys(ye[e]??{})]}static async supportedDestinationTokens(e,n,a){return!T(n.network,n.chain)||!T(a.network,a.chain)?[]:re(e,n,a)}getDefaultOptions(){return{nativeGas:0}}async validate(e,n){var c;const{fromChain:a,toChain:i}=e;return!T(a.network,a.chain)||!T(i.network,i.chain)?{valid:!1,error:new Error("Unsupported source or destination chain"),params:n}:(c=n.options)!=null&&c.nativeGas&&(n.options.nativeGas<0||n.options.nativeGas>1)?{valid:!1,error:new Error("Invalid native gas percentage"),params:n}:{valid:!0,params:{normalizedParams:{amount:e.parseAmount(n.amount)},options:n.options??this.getDefaultOptions(),...n}}}async quote(e,n){const{fromChain:a,toChain:i}=e;try{const o=await se(e,n,this.staticConfig,"ERC1"),{remainingAmount:c,estimatedCost:u,gasDropOff:m,expiryTime:f}=o,l=a.chain==="Polygon"?2e3*200:s.estimateFinalityTime(a.chain)+1e3,[h,g]=await Promise.all([a.getDecimals("native"),i.getDecimals("native")]);return{success:!0,params:n,sourceToken:{token:e.source.id,amount:n.normalizedParams.amount},destinationToken:{token:e.destination.id,amount:s.fromBaseUnits(c,e.destination.decimals)},relayFee:{token:s.nativeTokenId(a.chain),amount:s.fromBaseUnits(u,h)},destinationNativeGas:s.fromBaseUnits(m,g),eta:l,expires:f,details:o}}catch(o){return{success:!1,error:new Error(o instanceof Error?o.message:`${o}`)}}}async initiate(e,n,a,i){if(!a.details)throw new Error("Missing quote details");return await Be(e,n,i,{protocol:"CCTPExecutor",details:a.details})}async*track(e,n){if(s.isCompleted(e)||s.isFailed(e))return e;let a=n||60*60*1e3;for(;a>0;){const i=Date.now();if(s.isSourceInitiated(e)||s.isSourceFinalized(e)||s.isAttested(e))try{const[o]=await ne(this.wh.network,e.originTxs.at(-1).txid,e.from);if(!o)throw new Error("No transaction status found");const c=o==null?void 0:o.status;if((c===E.Failed||c===E.Underpaid||c===E.Unsupported||c===E.Aborted)&&(e={...e,state:s.TransferState.Failed,error:new s.RelayFailedError(`Relay failed with status: ${c}`)}),c===E.Submitted&&(e={...e,state:s.TransferState.DestinationFinalized,attestation:{id:o.id,attestation:{}}}),yield e,s.isCompleted(e)||s.isFailed(e))return e}catch(o){console.error(`Error fetching transaction status: ${o.message||o}`)}await new Promise(o=>setTimeout(o,3e3)),a-=Date.now()-i}return e}}d(P,"NATIVE_GAS_DROPOFF_SUPPORTED",!0),d(P,"config",{referrerFeeDbps:0n}),d(P,"meta",{name:"CCTPExecutorRoute",provider:"Circle CCTP"});class ae extends s.AutomaticRoute{static supportedNetworks(){return["Mainnet","Testnet"]}static supportedChains(t){return Object.keys(z[t]??{})}getDefaultOptions(){return{nativeGas:0}}async initiate(t,e,n,a){if(!n.details)throw new Error("Missing quote details");return await Be(t,e,a,{protocol:"CCTPv2Executor",details:n.details})}async*track(t,e){if(s.isCompleted(t))return t;let n=e||60*60*1e3;for(;n>0;){const a=Date.now();if(s.isSourceInitiated(t)||s.isSourceFinalized(t)||s.isAttested(t)||s.isFailed(t))try{const i=t.originTxs.at(-1).txid;if(s.isSourceInitiated(t)||s.isSourceFinalized(t)){const o=await W({chain:t.from,txid:i},this.wh.network);o&&(t={...t,state:s.TransferState.Attested,attestation:{id:i,attestation:o}}),yield t}if(s.isAttested(t)){const[o]=await ne(this.wh.network,i,t.from);if(!o)throw new Error("No transaction status found");const c=o==null?void 0:o.status;c===E.Submitted?t={...t,state:s.TransferState.DestinationFinalized}:(c===E.Failed||c===E.Underpaid||c===E.Unsupported||c===E.Aborted)&&(t={...t,state:s.TransferState.Failed,error:new s.RelayFailedError(`Relay failed with status: ${c}`)})}if(s.isFailed(t)){if(!t.attestation)throw new Error("Receipt is missing attestation");const o=t.attestation;await(await this.wh.getChain(t.to).getProtocol("CCTPv2Executor")).isTransferCompleted(o.attestation.message)&&(t={...t,state:s.TransferState.DestinationFinalized,attestation:o})}if(yield t,s.isCompleted(t))return t}catch(i){console.error(`Error fetching transaction status: ${i.message||i}`)}await new Promise(i=>setTimeout(i,3e3)),n-=Date.now()-a}return t}async complete(t,e){if(!s.isAttested(e)&&!s.isFailed(e))throw new Error("Transfer is not attested");if(!e.attestation)throw new Error("No attestation found");const n=this.wh.getChain(e.to),a=await n.getProtocol("CCTPv2Executor");let{attestation:i,message:o}=e.attestation.attestation;const{expirationBlock:c}=o.messageBody,u=await a.getCurrentBlock();if(c!==0n&&c<u){const h=await At(n.network,e.attestation);if(!h)throw new Error("Failed to reattest message");i=h.attestation,o=h.message}const m=s.Wormhole.parseAddress(t.chain(),t.address()),f=a.redeem(m,o,i),l=await s.signSendWait(this.wh.getChain(e.to),f,t);return{...e,state:s.TransferState.DestinationInitiated,attestation:e.attestation,destinationTxs:l}}async resume(t){const e=await W(t,this.wh.network);if(!e)throw new Error("No attestation found");const{message:n}=e,a=xe(this.wh.network,n.destinationDomain);return await(await this.wh.getChain(a).getProtocol("CCTPv2Executor")).isTransferCompleted(n)?{from:t.chain,to:a,state:s.TransferState.DestinationFinalized,originTxs:[t],attestation:{id:t.txid,attestation:e}}:{from:t.chain,to:a,state:s.TransferState.Attested,originTxs:[t],attestation:{id:t.txid,attestation:e}}}}d(ae,"NATIVE_GAS_DROPOFF_SUPPORTED",!0);function Ft(r={referrerFeeDbps:0n}){if(r.referrerFeeDbps<0||r.referrerFeeDbps>65535n)throw new Error("Referrer fee must be between 0 and 65535");class t extends Q{}return d(t,"config",r),t}const F=class F extends ae{constructor(){super(...arguments);d(this,"staticConfig",this.constructor.config)}static isPathSupported(e,n){return Ze(e.network,e.chain)&&G(n.network,n.chain)}static async supportedDestinationTokens(e,n,a){return this.isPathSupported(n,a)?re(e,n,a):[]}async validate(e,n){var i;return F.isPathSupported(e.fromChain,e.toChain)?(i=n.options)!=null&&i.nativeGas&&(n.options.nativeGas<0||n.options.nativeGas>1)?{valid:!1,error:new Error("Invalid native gas percentage"),params:n}:{valid:!0,params:{normalizedParams:{amount:e.parseAmount(n.amount)},options:n.options??this.getDefaultOptions(),...n}}:{valid:!1,error:new Error("Can only transfer from a Circle V2 fast chain to a Circle V2 chain"),params:n}}async quote(e,n){var o;const{fromChain:a,toChain:i}=e;try{const c=await se(e,n,this.staticConfig,"ERC2"),{remainingAmount:u,estimatedCost:m,gasDropOff:f,expiryTime:l}=c;if(await yt(a.network)<=u)return{success:!1,error:new Error("Insufficient allowance for fast transfer")};const g=await Et(a.network,a.chain,i.chain),C=(u*g+10000n-1n)/10000n,p=u-C;if(p<=0n)return{success:!1,error:new Error("Amount after fast transfer fee <= 0")};const b=(o=De[a.network])==null?void 0:o[a.chain],[w,A]=await Promise.all([a.getDecimals("native"),i.getDecimals("native")]);return{success:!0,params:n,sourceToken:{token:e.source.id,amount:n.normalizedParams.amount},destinationToken:{token:e.destination.id,amount:s.fromBaseUnits(p,e.destination.decimals)},relayFee:{token:s.nativeTokenId(a.chain),amount:s.fromBaseUnits(m,w)},destinationNativeGas:s.fromBaseUnits(f,A),eta:b,expires:l,details:{...c,minFinalityThreshold:$.CONFIRMED,fastTransferMaxFee:C}}}catch(c){return{success:!1,error:new Error(c instanceof Error?c.message:`${c}`)}}}};d(F,"config",{referrerFeeDbps:0n}),d(F,"meta",{name:"CCTPv2FastExecutorRoute",provider:"Circle CCTP"});let Q=F;function vt(r={referrerFeeDbps:0n}){if(r.referrerFeeDbps<0||r.referrerFeeDbps>65535n)throw new Error("Referrer fee must be between 0 and 65535");class t extends K{}return d(t,"config",r),t}const v=class v extends ae{constructor(){super(...arguments);d(this,"staticConfig",this.constructor.config)}static isPathSupported(e,n){return G(e.network,e.chain)&&G(n.network,n.chain)&&e.chain!=="Linea"}static async supportedDestinationTokens(e,n,a){return this.isPathSupported(n,a)?re(e,n,a):[]}async validate(e,n){var i;return v.isPathSupported(e.fromChain,e.toChain)?(i=n.options)!=null&&i.nativeGas&&(n.options.nativeGas<0||n.options.nativeGas>1)?{valid:!1,error:new Error("Invalid native gas percentage"),params:n}:{valid:!0,params:{normalizedParams:{amount:e.parseAmount(n.amount)},options:n.options??this.getDefaultOptions(),...n}}:{valid:!1,error:new Error("Can only transfer between Circle V2 chains"),params:n}}async quote(e,n){const{fromChain:a,toChain:i}=e;try{const o=await se(e,n,this.staticConfig,"ERC2"),{remainingAmount:c,estimatedCost:u,gasDropOff:m,expiryTime:f}=o,l=a.chain==="Polygon"?2e3*200:s.estimateFinalityTime(a.chain)+1e3,[h,g]=await Promise.all([a.getDecimals("native"),i.getDecimals("native")]);return{success:!0,params:n,sourceToken:{token:e.source.id,amount:n.normalizedParams.amount},destinationToken:{token:e.destination.id,amount:s.fromBaseUnits(c,e.destination.decimals)},relayFee:{token:s.nativeTokenId(a.chain),amount:s.fromBaseUnits(u,h)},destinationNativeGas:s.fromBaseUnits(m,g),eta:l,expires:f,details:{...o,minFinalityThreshold:$.FINALIZED,fastTransferMaxFee:0n}}}catch(o){return{success:!1,error:new Error(o instanceof Error?o.message:`${o}`)}}}};d(v,"config",{referrerFeeDbps:0n}),d(v,"meta",{name:"CCTPv2StandardExecutorRoute",provider:"Circle CCTP"});let K=v;const{executorTokenBridgeRoute:Tt}=M.routes;exports.cctpExecutorRoute=Dt;exports.cctpV2FastExecutorRoute=Ft;exports.cctpV2StandardExecutorRoute=vt;exports.executorTokenBridgeRoute=Tt;
1
+ "use strict";var Ue=Object.defineProperty;var $e=(r,t,e)=>t in r?Ue(r,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[t]=e;var d=(r,t,e)=>$e(r,typeof t!="symbol"?t+"":t,e);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("./address-DpQlJQKV.js"),le=require("./chunk-KJH4KKG6-HfCF1Kt-.js"),ze=require("./platform-DV62YjSS.js"),M=require("./address-B2sdpJNe.js"),Ve=require("./unsignedTransaction-C1YeEl4G.js"),k=require("./platform-Cl1b31bn.js"),I=require("./contract-DPL0fm8A.js"),Ae=require("./unsignedTransaction-B7AZXsTD.js"),x=require("./platform-Dw5tN12f.js"),Re=require("./index-B7ho7Pb6.js"),Ne=require("./address-CFAt6HNS.js"),Oe=require("./unsignedTransaction-DzSLsK-p.js"),_e=require("./index-D8YqkJyN.js"),Le=require("./index-CJ_ewe88.js"),D=require("./web3-Co7tl8ed.js"),he=require("./unsignedTransaction-D14ic9We.js"),Ge=require("./account-D3Whnyky.js"),qe={binary:"uint",size:1,custom:{to:r=>r>0,from:r=>r?1:0}},We=Object.freeze(Object.defineProperty({__proto__:null,amountItem:s.amountItem,boolItem:qe,chainItem:s.chainItem,circleDomainItem:s.circleDomainItem,circleNonceItem:s.circleNonceItem,dateConversion:s.dateConversion,fixedChainItem:s.fixedChainItem,fixedLengthStringItem:s.fixedLengthStringItem,guardianSetItem:s.guardianSetItem,payloadIdItem:s.payloadIdItem,sequenceItem:s.sequenceItem,signatureItem:s.signatureItem,stringConversion:s.stringConversion,universalAddressItem:s.universalAddressItem},Symbol.toStringTag,{value:"Module"})),j={Testnet:"https://executor-testnet.labsapis.com",Mainnet:"https://executor.labsapis.com"},H={Testnet:{Aptos:"0x14a12d1fd6ef371b70c2113155534ec152ec7f779e281b54866c796c9a4a58d3",Avalanche:"0x2cfEC91B50f657Cc86Ec693542527ac3e03bF742",BaseSepolia:"0x4983C6bD3bB7DA9EECe71cfa7AE4C67CAbf362F0",Sepolia:"0x0F78904c750801391EbBf308181e9d6fc892B0f3",Solana:"CXGRA5SCc8jxDbaQPZrmmZNu2JV34DP7gFW4m31uC1zs"},Mainnet:{Aptos:"0x9f5ad7d5c2d067ca4abb6d8d6aba44c15596b71a1def8eb4596089b527bb2eb1",Arbitrum:"0x55Dd4466BFec29527C54A72fd306efb54e5F7027",Avalanche:"0xd331819478b74d8a7B8EA631118B4a4e50F6EbD1",Base:"0x08FEB1838C3d7F8509DA1EBb9a11a94c1f006cb2",Ethereum:"0xeEFb36c4458dA7798742cf038C5c27E07aB9c51E",Optimism:"0xBC6f9d1CBa49DB365728478cefa02F6743617637",Polygon:"0x007995f2AEcfBC745f20a7AE8D3a02c0EbF46264",Unichain:"0xA7aBDb8f2108901c586543BD5e10E4fA263F4A47",Solana:"CXGRA5SCc8jxDbaQPZrmmZNu2JV34DP7gFW4m31uC1zs"}},Qe={Testnet:{Avalanche:"0x4058F0C3924eDaB19c15597C438968ed49C1a213",BaseSepolia:"0xC400FcC0e92d3406747FBb6f513D3aa8B038fcE9",Sepolia:"0x0F18DD26D0B41fb1eaa9cF34D1Ec6022aA69a8e2"},Mainnet:{Arbitrum:"0x8442d68524217601ed126f6859694E4B0C7c66A1",Avalanche:"0x3952914628650Ca510404872D84DfF10A844C5B5",Base:"0xbd8d42f40a11b37bD1b3770D754f9629F7cd5679",Ethereum:"0x2cCf230467FE7387674BAa657747F0B5485c7fEC",Linea:"0xc48c126468BE919068dE1983F00F65af759a4E87",Optimism:"0xd0a8940b2e743e33b682daec4d52b46713606c9d",Polygon:"0xc8a8e6d760dcbd5d6746e2f66cd2ffa722dd1e59",Unichain:"0xD5D5D640D8b758672Cc7A078734175c4433866d5",Sonic:"0xc39BF082ec91D9bC385F956D24a8D66C0c26223d",Worldchain:"0x789f2b91f7B35D5B890983328340c4600339B354"}},ge={Testnet:{executorId:"0x4000cfe2955d8355b3d3cf186f854fea9f787a457257056926fde1ec977670eb",executorRequestsId:"0x2d9ccf3cce3f7dce408e5455e90b80a8161ad9673d1366c2a5def60ad93657a8"},Mainnet:{executorId:"0xdb0fe8bb1e2b5be628adbea0636063325073e1070ee11e4281457dfd7f158235",executorRequestsId:"0xc030df7a3eed1494fa4b64aa8ab63a79041cf1114f4ff2b7ab5aca1c684a21a7"}},Ke={Testnet:"execXUrAsMnqMmTHj5m7N1YQgsDz3cwGLYCYyuDRciV",Mainnet:"execXUrAsMnqMmTHj5m7N1YQgsDz3cwGLYCYyuDRciV"},je=5001n,He={Testnet:{Aptos:5000n,ArbitrumSepolia:800000n,Avalanche:200000n,BaseSepolia:200000n,Linea:250000n,Sepolia:200000n,Solana:250000n,Sonic:250000n,Sui:8000000n},Mainnet:{Aptos:5000n,Arbitrum:800000n,Avalanche:250000n,Base:250000n,Ethereum:250000n,Linea:250000n,Optimism:250000n,Polygon:250000n,Unichain:250000n,Solana:250000n,Sonic:250000n,Sui:8000000n,Worldchain:250000n}},Xe={Testnet:{ArbitrumSepolia:{tokenMessengerV2:"0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA",messageTransmitterV2:"0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275"},Avalanche:{tokenMessengerV2:"0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA",messageTransmitterV2:"0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275"},BaseSepolia:{tokenMessengerV2:"0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA",messageTransmitterV2:"0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275"},Linea:{tokenMessengerV2:"0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA",messageTransmitterV2:"0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275"},Sepolia:{tokenMessengerV2:"0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA",messageTransmitterV2:"0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275"},Sonic:{tokenMessengerV2:"0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA",messageTransmitterV2:"0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275"}},Mainnet:{Arbitrum:{tokenMessengerV2:"0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d",messageTransmitterV2:"0x81D40F21F12A8F0E3252Bccb954D722d4c464B64"},Avalanche:{tokenMessengerV2:"0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d",messageTransmitterV2:"0x81D40F21F12A8F0E3252Bccb954D722d4c464B64"},Base:{tokenMessengerV2:"0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d",messageTransmitterV2:"0x81D40F21F12A8F0E3252Bccb954D722d4c464B64"},Ethereum:{tokenMessengerV2:"0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d",messageTransmitterV2:"0x81D40F21F12A8F0E3252Bccb954D722d4c464B64"},Linea:{tokenMessengerV2:"0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d",messageTransmitterV2:"0x81D40F21F12A8F0E3252Bccb954D722d4c464B64"},Optimism:{tokenMessengerV2:"0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d",messageTransmitterV2:"0x81D40F21F12A8F0E3252Bccb954D722d4c464B64"},Polygon:{tokenMessengerV2:"0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d",messageTransmitterV2:"0x81D40F21F12A8F0E3252Bccb954D722d4c464B64"},Unichain:{tokenMessengerV2:"0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d",messageTransmitterV2:"0x81D40F21F12A8F0E3252Bccb954D722d4c464B64"},Sonic:{tokenMessengerV2:"0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d",messageTransmitterV2:"0x81D40F21F12A8F0E3252Bccb954D722d4c464B64"},Worldchain:{tokenMessengerV2:"0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d",messageTransmitterV2:"0x81D40F21F12A8F0E3252Bccb954D722d4c464B64"}}},ye={Testnet:{Sepolia:0,Avalanche:1,OptimismSepolia:2,ArbitrumSepolia:3,Solana:5,BaseSepolia:6,Polygon:7,Sui:8,Aptos:9,Unichain:10},Mainnet:{Ethereum:0,Avalanche:1,Optimism:2,Arbitrum:3,Solana:5,Base:6,Polygon:7,Sui:8,Aptos:9,Unichain:10}},T=(r,t)=>{var e;return((e=ye[r])==null?void 0:e[t])!==void 0},z={Testnet:{Sepolia:0,Avalanche:1,ArbitrumSepolia:3,BaseSepolia:6,Linea:11,Sonic:13},Mainnet:{Ethereum:0,Avalanche:1,Optimism:2,Arbitrum:3,Base:6,Polygon:7,Unichain:10,Linea:11,Sonic:13,Worldchain:14}},G=(r,t)=>{var e;return((e=z[r])==null?void 0:e[t])!==void 0},U=(r,t)=>{var n;const e=(n=z[r])==null?void 0:n[t];if(e===void 0)throw new Error(`CircleV2 domain not found for network ${r} and chain ${t}`);return e},xe=(r,t)=>{var n;const e=(n=Object.entries(z[r]??{}).find(([,a])=>a===t))==null?void 0:n[0];if(e===void 0)throw new Error(`CircleV2 chain not found for network ${r} and domain ${t}`);return e},V={Testnet:"https://iris-api-sandbox.circle.com/v2",Mainnet:"https://iris-api.circle.com/v2"};var $;(function(r){r[r.CONFIRMED=1e3]="CONFIRMED",r[r.FINALIZED=2e3]="FINALIZED"})($||($={}));const De={Testnet:{ArbitrumSepolia:8e3,BaseSepolia:8e3,Sepolia:2e4,Linea:8e3},Mainnet:{Arbitrum:8e3,Base:8e3,Ethereum:2e4,Linea:8e3,Optimism:8e3,Polygon:8e3,Unichain:8e3,Worldchain:8e3}},Ze=(r,t)=>{var e;return((e=De[r])==null?void 0:e[t])!==void 0};class X{constructor(t,e,n,a){d(this,"network");d(this,"chain");d(this,"provider");d(this,"contracts");d(this,"usdcId");d(this,"shimContract");var c;if(this.network=t,this.chain=e,this.provider=n,this.contracts=a,t==="Devnet")throw new Error("CCTPExecutor not supported on Devnet");const i=s.usdcContract.get(this.network,this.chain);if(!i)throw new Error(`No USDC contract configured for network=${this.network} chain=${this.chain}`);this.usdcId=i;const o=(c=H[t])==null?void 0:c[e];if(!o)throw new Error(`Shim contract for ${e} not found`);this.shimContract=o}static async fromRpc(t,e){const[n,a]=await ze.AptosPlatform.chainFromRpc(t),i=e[a];if(!i)throw new Error(`No config found for ${a}`);if(i.network!==n)throw new Error(`Network mismatch: ${i.network} != ${n}`);return new X(n,a,t,i.contracts)}async*transfer(t,e,n){var g,C;const a=new M.AptosAddress(t).unwrap(),i=le.l.from(e.address.toUniversalAddress().toUint8Array()),o=le.l.from(this.usdcId),c=n.remainingAmount+n.referrerFee,u=s.circleChainId.get(this.network,e.chain),m=a,f=new M.AptosAddress(((C=(g=n.referrer)==null?void 0:g.address)==null?void 0:C.toString())??a).unwrap(),l=[c,u,i.toString(),o.toString(),n.estimatedCost,s.toChainId(e.chain),m,n.signedQuote,n.relayInstructions,n.referrerFeeDbps,f],h={function:`${this.shimContract}::cctp_v1_with_executor::deposit_for_burn_entry`,functionArguments:l};yield this.createUnsignedTx(h,"AtposCCTPExecutor.Transfer")}createUnsignedTx(t,e,n=!1){return new Ve.AptosUnsignedTransaction(t,this.network,this.chain,e,n)}}s.registerProtocol(M._platform,"CCTPExecutor",X);class Z{constructor(t,e,n,a){d(this,"network");d(this,"chain");d(this,"provider");d(this,"contracts");d(this,"chainId");d(this,"shimContract");var o;if(this.network=t,this.chain=e,this.provider=n,this.contracts=a,t==="Devnet")throw new Error("CCTPExecutor not supported on Devnet");this.chainId=s.networkChainToNativeChainId.get(t,e);const i=(o=H[t])==null?void 0:o[e];if(!i)throw new Error(`Shim contract for ${e} not found`);this.shimContract=i}static async fromRpc(t,e){const[n,a]=await k.EvmPlatform.chainFromRpc(t),i=e[a];if(i.network!==n)throw new Error(`Network mismatch: ${i.network} != ${n}`);return new Z(n,a,t,i.contracts)}async*transfer(t,e,n){var g,C;const a=new s.EvmAddress(t).toString(),i=e.address.toUniversalAddress().toUint8Array(),o=n.remainingAmount+n.referrerFee,c=s.usdcContract.get(this.network,this.chain),u=k.EvmPlatform.getTokenImplementation(this.provider,c);if(await u.allowance(a,this.shimContract)<o){const p=await u.approve.populateTransaction(this.shimContract,o);yield this.createUnsignedTx(s.addFrom(p,a),"ERC20.approve of EvmCCTPExecutor",!1)}const f=["function depositForBurn(uint256 amount, uint16 destinationChain, uint32 destinationDomain, bytes32 mintRecipient, address burnToken, (address refundAddress, bytes signedQuote, bytes instructions) executorArgs, (uint16 dbps, address payee) feeArgs) external payable returns (uint64 nonce)"],h=await new I.Contract(this.shimContract,f,this.provider).getFunction("depositForBurn").populateTransaction(o,s.toChainId(e.chain),s.circleChainId.get(this.network,e.chain),i,c,{refundAddress:a,signedQuote:n.signedQuote,instructions:n.relayInstructions},{dbps:n.referrerFeeDbps,payee:((C=(g=n.referrer)==null?void 0:g.address)==null?void 0:C.toString())??a});h.value=n.estimatedCost,yield this.createUnsignedTx(s.addFrom(h,a),"EvmCCTPExecutor.depositForBurn")}createUnsignedTx(t,e,n=!1){return new Ae.EvmUnsignedTransaction(s.addChainId(t,this.chainId),this.network,this.chain,e,n)}}const{amountItem:S,circleDomainItem:Ce,universalAddressItem:y}=We,Fe={binary:"uint",size:4,custom:1,omit:!1},Je={binary:"bytes",size:32},we={binary:"uint",size:4},Ye=[{name:"version",...Fe},{name:"burnToken",...y},{name:"mintRecipient",...y},{name:"amount",...S},{name:"messageSender",...y},{name:"maxFee",...S},{name:"feeExecuted",...S},{name:"expirationBlock",...S},{name:"hookData",binary:"bytes"}],ve=[{name:"version",...Fe},{name:"sourceDomain",...Ce},{name:"destinationDomain",...Ce},{name:"nonce",...Je},{name:"sender",...y},{name:"recipient",...y},{name:"destinationCaller",...y},{name:"minFinalityThreshold",...we},{name:"finalityThresholdExecuted",...we},{name:"messageBody",binary:"bytes",layout:Ye}],et=r=>s.deserialize$1(ve,r),tt=r=>s.serialize(ve,r),nt=[{name:"gasLimit",binary:"uint",size:16},{name:"msgValue",binary:"uint",size:16}],rt=[{name:"dropOff",binary:"uint",size:16},{name:"recipient",...s.universalAddressItem}],st=[{name:"request",binary:"switch",idSize:1,idTag:"type",layouts:[[[1,"GasInstruction"],nt],[[2,"GasDropOffInstruction"],rt]]}],Te=[{name:"requests",binary:"array",layout:st}],at={to:r=>new Date(Number(r*1000n)),from:r=>BigInt(r.getTime())/1000n},it=[{name:"quote",binary:"switch",idSize:4,idTag:"prefix",layouts:[[[1162948657,"EQ01"],[{name:"quoterAddress",binary:"bytes",size:20},{name:"payeeAddress",binary:"bytes",size:32},{name:"srcChain",binary:"uint",size:2},{name:"dstChain",binary:"uint",size:2},{name:"expiryTime",binary:"uint",size:8,custom:at},{name:"baseFee",binary:"uint",size:8},{name:"dstGasPrice",binary:"uint",size:8},{name:"srcPrice",binary:"uint",size:8},{name:"dstPrice",binary:"uint",size:8}]]]}],Se=[...it,{name:"signature",binary:"bytes",size:65}];class J{constructor(t,e,n,a){d(this,"network");d(this,"chain");d(this,"provider");d(this,"contracts");d(this,"chainId");d(this,"shimContract");d(this,"messageTransmitter");d(this,"usdcContract");var u,m,f;if(this.network=t,this.chain=e,this.provider=n,this.contracts=a,t==="Devnet")throw new Error("CCTPv2Executor not supported on Devnet");this.chainId=s.networkChainToNativeChainId.get(t,e);const i=(u=Qe[t])==null?void 0:u[e];if(!i)throw new Error(`Shim contract for ${e} not found`);this.shimContract=i;const o=(f=(m=Xe[t])==null?void 0:m[e])==null?void 0:f.messageTransmitterV2;if(!o)throw new Error(`MessageTransmitter contract for ${e} not found`);this.messageTransmitter=o;const c=s.usdcContract.get(t,e);if(!c)throw new Error(`USDC contract for ${e} not found`);this.usdcContract=c}static async fromRpc(t,e){const[n,a]=await k.EvmPlatform.chainFromRpc(t),i=e[a];if(i.network!==n)throw new Error(`Network mismatch: ${i.network} != ${n}`);return new J(n,a,t,i.contracts)}async*transfer(t,e,n){var C,p;const a=new s.EvmAddress(t).toString(),i=e.address.toUniversalAddress().toUint8Array(),o=n.remainingAmount+n.referrerFee,c=k.EvmPlatform.getTokenImplementation(this.provider,this.usdcContract);if(await c.allowance(a,this.shimContract)<o){const b=await c.approve.populateTransaction(this.shimContract,o);yield this.createUnsignedTx(s.addFrom(b,a),"ERC20.approve of EvmCCTPv2Executor",!1)}const m=["function depositForBurn(uint256 amount, uint16 destinationChain, uint32 destinationDomain, bytes32 mintRecipient, address burnToken, bytes32 destinationCaller, uint256 maxFee, uint32 minFinalityThreshold, (address refundAddress, bytes signedQuote, bytes instructions) executorArgs, (uint16 dbps, address payee) feeArgs) external payable returns (uint64 nonce)"],f=new Uint8Array(32),l=new I.Contract(this.shimContract,m,this.provider),h=U(this.network,e.chain),g=await l.getFunction("depositForBurn").populateTransaction(o,s.toChainId(e.chain),h,i,this.usdcContract,f,n.fastTransferMaxFee,n.minFinalityThreshold,{refundAddress:a,signedQuote:n.signedQuote,instructions:n.relayInstructions},{dbps:n.referrerFeeDbps,payee:((p=(C=n.referrer)==null?void 0:C.address)==null?void 0:p.toString())??a});g.value=n.estimatedCost,yield this.createUnsignedTx(s.addFrom(g,a),"EvmCCTPv2Executor.depositForBurn")}async isTransferCompleted(t){return await new I.Contract(this.messageTransmitter,["function usedNonces(bytes32) public view returns (uint256)"],this.provider).getFunction("usedNonces").staticCall(t.nonce)===1n}async*redeem(t,e,n){const a=new s.EvmAddress(t).toString(),o=await new I.Contract(this.messageTransmitter,["function receiveMessage(bytes message, bytes attestation)"],this.provider).getFunction("receiveMessage").populateTransaction(tt(e),s.hex.decode(n));yield this.createUnsignedTx(s.addFrom(o,a),"MessageTransmitterV2.receiveMessage")}async getCurrentBlock(){return BigInt(await this.provider.getBlockNumber())}createUnsignedTx(t,e,n=!1){return new Ae.EvmUnsignedTransaction(s.addChainId(t,this.chainId),this.network,this.chain,e,n)}}s.registerProtocol(s._platform,"CCTPExecutor",Z);s.registerProtocol(s._platform,"CCTPv2Executor",J);class Y{constructor(t,e,n,a){d(this,"network");d(this,"chain");d(this,"provider");d(this,"contracts");d(this,"usdcId");d(this,"usdcTreasuryId");d(this,"tokenMessengerId");d(this,"tokenMessengerStateId");d(this,"messageTransmitterId");d(this,"messageTransmitterStateId");d(this,"executorId");d(this,"executorRequestsId");var m,f,l,h;if(this.network=t,this.chain=e,this.provider=n,this.contracts=a,t==="Devnet")throw new Error("CCTPExecutor not supported on Devnet");const i=(g,C)=>{if(!g)throw new Error(C);return g};this.usdcId=i(s.usdcContract.get(this.network,this.chain),`No USDC contract configured for network=${this.network} chain=${this.chain}`);const{tokenMessengerState:o,messageTransmitterState:c,usdcTreasury:u}=Re.suiCircleObjects(t);this.usdcTreasuryId=u,this.tokenMessengerId=i((m=a.cctp)==null?void 0:m.tokenMessenger,`Circle Token Messenger contract for domain ${e} not found`),this.messageTransmitterId=i((f=a.cctp)==null?void 0:f.messageTransmitter,`Circle Message Transmitter contract for domain ${e} not found`),this.tokenMessengerStateId=o,this.messageTransmitterStateId=c,this.executorId=i((l=ge[t])==null?void 0:l.executorId,`Executor contract for ${t} not found`),this.executorRequestsId=i((h=ge[t])==null?void 0:h.executorRequestsId,`Executor requests contract for ${t} not found`)}static async fromRpc(t,e){const[n,a]=await x.SuiPlatform.chainFromRpc(t),i=e[a];if(i.network!==n)throw new Error(`Network mismatch: ${i.network} != ${n}`);return new Y(n,a,t,i.contracts)}async*transfer(t,e,n){const a=new x.Transaction,i=new Ne.SuiAddress(t).unwrap(),o=s.circleChainId.get(this.network,e.chain),[c,...u]=await x.SuiPlatform.getCoins(this.provider,t,this.usdcId);if(c===void 0)throw new Error("No USDC in wallet");const m=a.object(c.coinObjectId);u.length>0&&a.mergeCoins(m,u.map(w=>a.object(w.coinObjectId)));let f;if(n.referrerFee>0n){const[w,A]=a.splitCoins(m,[n.remainingAmount,n.referrerFee]);f=w,a.transferObjects([A],n.referrer?s.canonicalAddress(n.referrer):i)}else{const[w]=a.splitCoins(m,[n.remainingAmount]);f=w}const[l,h]=a.moveCall({target:`${this.tokenMessengerId}::deposit_for_burn::deposit_for_burn`,arguments:[f,a.pure.u32(o),a.pure.address(e.address.toUniversalAddress().toString()),a.object(this.tokenMessengerStateId),a.object(this.messageTransmitterStateId),a.object("0x403"),a.object(this.usdcTreasuryId)],typeArguments:[this.usdcId]}),[g]=a.moveCall({target:`${this.messageTransmitterId}::message::source_domain`,arguments:[h]}),[C]=a.moveCall({target:`${this.messageTransmitterId}::message::nonce`,arguments:[h]}),[p]=a.moveCall({target:`${this.executorRequestsId}::executor_requests::make_cctp_v1_request`,arguments:[g,C]}),[b]=a.splitCoins(a.gas,[a.pure.u64(n.estimatedCost)]);a.moveCall({target:`${this.executorId}::executor::request_execution`,arguments:[b,a.object(x.SUI_CLOCK_OBJECT_ID),a.pure.u16(s.toChainId(e.chain)),a.pure.address("0x0"),a.pure.address(i),a.pure.vector("u8",n.signedQuote),p,a.pure.vector("u8",n.relayInstructions)]}),yield this.createUnsignedTx(a,"SuiCCTPExecutor.Transfer")}createUnsignedTx(t,e,n=!1){return new Oe.SuiUnsignedTransaction(t,this.network,this.chain,e,n)}}s.registerProtocol(x._platform,"CCTPExecutor",Y);const R=new s.PublicKey("TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA");new s.PublicKey("TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb");const ee=new s.PublicKey("ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL");new s.PublicKey("So11111111111111111111111111111111111111112");new s.PublicKey("9pan9bMn5HatX4EJdBwg9VgCa7Uz5HL8N1m5D3NdXejP");class ot extends Error{constructor(t){super(t)}}class ct extends ot{constructor(){super(...arguments),this.name="TokenOwnerOffCurveError"}}var q;(function(r){r[r.InitializeMint=0]="InitializeMint",r[r.InitializeAccount=1]="InitializeAccount",r[r.InitializeMultisig=2]="InitializeMultisig",r[r.Transfer=3]="Transfer",r[r.Approve=4]="Approve",r[r.Revoke=5]="Revoke",r[r.SetAuthority=6]="SetAuthority",r[r.MintTo=7]="MintTo",r[r.Burn=8]="Burn",r[r.CloseAccount=9]="CloseAccount",r[r.FreezeAccount=10]="FreezeAccount",r[r.ThawAccount=11]="ThawAccount",r[r.TransferChecked=12]="TransferChecked",r[r.ApproveChecked=13]="ApproveChecked",r[r.MintToChecked=14]="MintToChecked",r[r.BurnChecked=15]="BurnChecked",r[r.InitializeAccount2=16]="InitializeAccount2",r[r.SyncNative=17]="SyncNative",r[r.InitializeAccount3=18]="InitializeAccount3",r[r.InitializeMultisig2=19]="InitializeMultisig2",r[r.InitializeMint2=20]="InitializeMint2",r[r.GetAccountDataSize=21]="GetAccountDataSize",r[r.InitializeImmutableOwner=22]="InitializeImmutableOwner",r[r.AmountToUiAmount=23]="AmountToUiAmount",r[r.UiAmountToAmount=24]="UiAmountToAmount",r[r.InitializeMintCloseAuthority=25]="InitializeMintCloseAuthority",r[r.TransferFeeExtension=26]="TransferFeeExtension",r[r.ConfidentialTransferExtension=27]="ConfidentialTransferExtension",r[r.DefaultAccountStateExtension=28]="DefaultAccountStateExtension",r[r.Reallocate=29]="Reallocate",r[r.MemoTransferExtension=30]="MemoTransferExtension",r[r.CreateNativeMint=31]="CreateNativeMint",r[r.InitializeNonTransferableMint=32]="InitializeNonTransferableMint",r[r.InterestBearingMintExtension=33]="InterestBearingMintExtension",r[r.CpiGuardExtension=34]="CpiGuardExtension",r[r.InitializePermanentDelegate=35]="InitializePermanentDelegate",r[r.TransferHookExtension=36]="TransferHookExtension",r[r.MetadataPointerExtension=39]="MetadataPointerExtension"})(q||(q={}));function dt(r,t,e){if(e.length){r.push({pubkey:t,isSigner:!1,isWritable:!1});for(const n of e)r.push({pubkey:n instanceof s.PublicKey?n:n.publicKey,isSigner:!0,isWritable:!1})}else r.push({pubkey:t,isSigner:!0,isWritable:!1});return r}const ut=s.struct([s.u32("mintAuthorityOption"),D.publicKey("mintAuthority"),D.u64("supply"),s.u8("decimals"),D.bool("isInitialized"),s.u32("freezeAuthorityOption"),D.publicKey("freezeAuthority")]);ut.span;function pe(r,t,e=!1,n=R,a=ee){if(!e&&!s.PublicKey.isOnCurve(t.toBuffer()))throw new ct;const[i]=s.PublicKey.findProgramAddressSync([t.toBuffer(),n.toBuffer(),r.toBuffer()],a);return i}function mt(r,t,e,n,a=R,i=ee){return ft(r,t,e,n,s.dist.Buffer.from([1]),a,i)}function ft(r,t,e,n,a,i=R,o=ee){const c=[{pubkey:r,isSigner:!0,isWritable:!0},{pubkey:t,isSigner:!1,isWritable:!0},{pubkey:e,isSigner:!1,isWritable:!1},{pubkey:n,isSigner:!1,isWritable:!1},{pubkey:s.SystemProgram.programId,isSigner:!1,isWritable:!1},{pubkey:i,isSigner:!1,isWritable:!1}];return new s.TransactionInstruction({keys:c,programId:o,data:a})}const be=s.struct([s.u8("instruction"),D.u64("amount")]);function lt(r,t,e,n,a=[],i=R){const o=dt([{pubkey:r,isSigner:!1,isWritable:!0},{pubkey:t,isSigner:!1,isWritable:!0}],e,a),c=s.dist.Buffer.alloc(be.span);return be.encode({instruction:q.Transfer,amount:BigInt(n)},c),new s.TransactionInstruction({keys:o,programId:i,data:c})}const ht={version:"0.1.0",name:"example_cctp_with_executor",instructions:[{name:"relayLastMessage",accounts:[{name:"payer",isMut:!0,isSigner:!0},{name:"payee",isMut:!0,isSigner:!1},{name:"messageTransmitter",isMut:!1,isSigner:!1},{name:"executorProgram",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[{name:"args",type:{defined:"relayLastMessageArgs"}}]}],types:[{name:"relayLastMessageArgs",type:{kind:"struct",fields:[{name:"recipientChain",type:"u16"},{name:"execAmount",type:"u64"},{name:"signedQuoteBytes",type:"bytes"},{name:"relayInstructions",type:"bytes"}]}}]};class te{constructor(t,e,n,a){d(this,"network");d(this,"chain");d(this,"connection");d(this,"contracts");d(this,"tokenMessengerProgramId");d(this,"messageTransmitterProgramId");d(this,"shimProgramId");d(this,"executorProgramId");var o,c,u;if(this.network=t,this.chain=e,this.connection=n,this.contracts=a,t==="Devnet")throw new Error("CCTPExecutor not supported on Devnet");const i=(m,f)=>{if(!m)throw new Error(f);return new s.PublicKey(m)};this.tokenMessengerProgramId=i((o=a.cctp)==null?void 0:o.tokenMessenger,`Circle Token Messenger contract for domain ${e} not found`),this.messageTransmitterProgramId=i((c=a.cctp)==null?void 0:c.messageTransmitter,`Circle Message Transmitter contract for domain ${e} not found`),this.shimProgramId=i((u=H[t])==null?void 0:u[e],`Shim contract for ${e} not found`),this.executorProgramId=i(Ke[t],`Executor contract for ${t} not found`)}static async fromRpc(t,e){const[n,a]=await he.SolanaPlatform.chainFromRpc(t),i=e[a];if(i.network!==n)throw new Error(`Network mismatch: ${i.network} != ${n}`);return new te(n,a,t,i.contracts)}async*transfer(t,e,n){var p,b;const a=new s.PublicKey(s.usdcContract.get(this.network,this.chain)),i=new s.SolanaAddress(t).unwrap(),o=pe(a,i),c=new s.SolanaAddress(((b=(p=n.referrer)==null?void 0:p.address)==null?void 0:b.toString())??i).unwrap(),u=new s.Transaction;if(u.feePayer=i,n.referrerFee>0n){const w=pe(a,c,!0);await this.connection.getAccountInfo(w)||u.add(mt(i,w,c,a)),u.add(lt(o,w,i,n.referrerFee))}const m=s.circleChainId.get(this.network,e.chain),f=e.address.toUniversalAddress(),l=s.Keypair.generate();u.add(await _e.createDepositForBurnInstruction(this.messageTransmitterProgramId,this.tokenMessengerProgramId,a,m,i,o,f,n.remainingAmount,l.publicKey));const h=new Le.Program(ht,this.shimProgramId,{connection:null}),g=s.deserialize$1(Se,n.signedQuote),C=Ge.deriveAddress("message_transmitter",this.messageTransmitterProgramId);u.add(await h.methods.relayLastMessage({execAmount:new s.BN(n.estimatedCost.toString()),recipientChain:s.toChainId(e.chain),signedQuoteBytes:s.dist.Buffer.from(n.signedQuote),relayInstructions:s.dist.Buffer.from(n.relayInstructions)}).accounts({payer:i,messageTransmitter:C,payee:new s.PublicKey(g.quote.payeeAddress),executorProgram:this.executorProgramId}).instruction()),yield this.createUnsignedTx({transaction:u,signers:[l]},"SvmCCTPExecutor.Transfer")}createUnsignedTx(t,e,n=!1){return new he.SolanaUnsignedTransaction(t,this.network,this.chain,e,n)}}s.registerProtocol(s._platform$1,"CCTPExecutor",te);var E;(function(r){r.Pending="pending",r.Failed="failed",r.Unsupported="unsupported",r.Submitted="submitted",r.Underpaid="underpaid",r.Aborted="aborted"})(E||(E={}));var Ee;(function(r){r.ERM1="ERM1",r.ERV1="ERV1",r.ERN1="ERN1",r.ERC1="ERC1",r.ERC2="ERC2"})(Ee||(Ee={}));async function gt(r){const t=`${j[r]}/v0/capabilities`;try{return(await s.axios.get(t)).data}catch{throw new Error(`Failed to fetch capabilities for network: ${r}.`)}}async function Ct(r,t,e,n){const a=`${j[r]}/v0/quote`;try{return(await s.axios.post(a,{srcChain:s.toChainId(t),dstChain:s.toChainId(e),relayInstructions:n})).data}catch{throw new Error("Failed to fetch signed quote.")}}async function ne(r,t,e){const n=`${j[r]}/v0/status/tx`;try{return(await s.axios.post(n,{txHash:t,chainId:s.toChainId(e)})).data}catch{throw new Error(`Failed to fetch status for txHash: ${t}.`)}}const wt=65535n;function pt(r,t,e){if(t>wt)throw new Error("dBps exceeds max u16");let n=t,a=r,i=0n;if(t>0){if(e!==void 0&&r>0){const o=s.parse(e.toString(),6),c=s.units(o)/r,u=t<c?t:c;i=r*u/100000n,n=u}else i=r*t/100000n;a=r-i}return{referrerFee:i,remainingAmount:a,referrerFeeDbps:n}}function bt(r){return new Promise(t=>setTimeout(t,r))}async function W(r,t,e=s.DEFAULT_TASK_TIMEOUT){const n=U(t,r.chain);return s.retry(async()=>{var i;const a=`${V[t]}/messages/${n}?transactionHash=${r.txid}`;try{const c=(await s.axios.get(a)).data.messages[0];if(!c)return null;if(c.cctpVersion!==2)throw new Error("CCTPv1 attestation found");return c.status==="pending_confirmations"?null:{message:et(s.hex.decode(c.message)),attestation:c.attestation}}catch(o){if(!o||typeof o=="object"&&(s.axios.isAxiosError(o)&&((i=o.response)==null?void 0:i.status)===404||"status"in o&&o.status===404))return null;throw o}},2e3,e,"CCTPv2:GetMessage")}async function Et(r,t,e){const n=U(r,t),a=U(r,e),i=`${V[r]}/fastBurn/USDC/fees/${n}/${a}`,o=await s.axios.get(i);return BigInt(o.data.minimumFee)}async function At(r,t){const e=s.hex.encode(t.attestation.message.nonce,!0),n=`${V[r]}/reattest/${e}`,a=await s.axios.post(n);if(a.data.error){if(a.data.error.includes("Message is already finalized"))return t.attestation;throw new Error(`Error re-attesting message: ${a.data.error}`)}const i=xe(r,t.attestation.message.sourceDomain);return s.retry(async()=>{const o=await W({txid:t.id,chain:i},r);return!o||o.message.messageBody.expirationBlock!==0n?null:o},2e3,s.DEFAULT_TASK_TIMEOUT,"CCTPv2:Reattest")}async function yt(r){const t=`${V[r]}/fastBurn/USDC/allowance`,e=await s.axios.get(t);return s.units(s.parse(e.data.allowance,6))}function re(r,t,e){const n=s.usdcContract.get(t.network,t.chain);if(!(n&&s.isSameToken(r,s.Wormhole.tokenId(t.chain,n))))return[];const{network:a,chain:i}=e,o=s.usdcContract.get(a,i);return o?[s.Wormhole.chainAddress(i,o)]:[]}let B;async function se(r,t,e,n){var de,ue,me;const{fromChain:a,toChain:i}=r;if(!s.usdcContract.get(a.network,a.chain))throw new Error("Invalid transfer, no USDC contract on source");const c=s.usdcContract.get(i.network,i.chain);if(!c)throw new Error("Invalid transfer, no USDC contract on destination");let u;if(e.referrerFeeDbps>0n&&(u=(ue=(de=e.referrerAddresses)==null?void 0:de[a.network])==null?void 0:ue[a.chain],!u))throw new Error(`Referrer address not configured for ${a.chain}`);const m=u?s.Wormhole.chainAddress(a.chain,u):void 0,{referrerFee:f,remainingAmount:l,referrerFeeDbps:h}=pt(s.units(t.normalizedParams.amount),e.referrerFeeDbps,e.referrerFeeThreshold);if(l<=0n)throw new Error("Amount after fee <= 0");const g=(me=He[i.network])==null?void 0:me[i.chain];if(!g)throw new Error("Gas limit not found");const C=await gt(a.network);if(!C[s.toChainId(a.chain)])throw new Error("Unsupported source chain");const b=C[s.toChainId(i.chain)];if(!b||!b.requestPrefixes.includes(n))throw new Error("Unsupported destination chain");const{recipient:w}=r;let A=!0;if(w&&i.chain==="Solana"){const Me=s.Wormhole.parseAddress("Solana",c),ke=await i.getTokenAccount(w.address,Me),fe=await i.getRpc();A=await fe.getAccountInfo(new s.SolanaAddress(ke.address).unwrap())!==null,!A&&!B&&(B=BigInt(await fe.getMinimumBalanceForRentExemption(165)))}let N=0n;i.chain==="Solana"&&(N+=je,!A&&B&&(N+=B));const O=[];O.push({request:{type:"GasInstruction",gasLimit:g,msgValue:N}});const ie=BigInt(b.gasDropOffLimit),_=t.options.nativeGas&&ie>0n?BigInt(Math.round(t.options.nativeGas*100))*ie/100n:0n;(_>0n||!A)&&O.push({request:{type:"GasDropOffInstruction",dropOff:_,recipient:w?w.address.toUniversalAddress():new s.UniversalAddress(new Uint8Array(32))}});const oe=s.serialize(Te,{requests:O}),L=await Ct(a.network,a.chain,i.chain,s.hex.encode(oe,!0));if(!L.estimatedCost)throw new Error("No estimated cost");const ce=s.hex.decode(L.signedQuote),Ie=s.deserialize$1(Se,ce),Pe=BigInt(L.estimatedCost);return{signedQuote:ce,relayInstructions:oe,estimatedCost:Pe,referrer:m,referrerFee:f,remainingAmount:l,referrerFeeDbps:h,expiryTime:Ie.quote.expiryTime,gasDropOff:_}}async function Be(r,t,e,n){s.deserialize$1(Te,n.details.relayInstructions).requests.forEach(({request:l})=>{if(l.type==="GasDropOffInstruction"&&!l.recipient.equals(e.address.toUniversalAddress()))throw new Error("Gas drop-off recipient does not match")});const i=s.Wormhole.parseAddress(t.chain(),t.address()),o=await xt(e,r);let c;n.protocol==="CCTPExecutor"?c=await(await r.fromChain.getProtocol(n.protocol)).transfer(i,o,n.details):c=await(await r.fromChain.getProtocol(n.protocol)).transfer(i,o,n.details);const u=await s.signSendWait(r.fromChain,c,t);let m=0;return(async()=>{for(;m<20;){try{const[l]=await ne(r.fromChain.network,u.at(-1).txid,r.fromChain.chain);if(l)break}catch{}m++,await bt(2e3)}})(),{from:r.fromChain.chain,to:r.toChain.chain,state:s.TransferState.SourceInitiated,originTxs:u}}async function xt(r,t){if(r.chain!=="Solana")return r;const e=s.usdcContract.get(t.toChain.network,t.toChain.chain);if(!e)throw new Error("No USDC contract found for Solana");const n=s.Wormhole.parseAddress("Solana",e);return t.toChain.getTokenAccount(r.address,n)}function Dt(r={referrerFeeDbps:0n}){if(r.referrerFeeDbps<0||r.referrerFeeDbps>65535n)throw new Error("Referrer fee must be between 0 and 65535");class t extends P{}return d(t,"config",r),t}class P extends s.AutomaticRoute{constructor(){super(...arguments);d(this,"staticConfig",this.constructor.config)}static supportedNetworks(){return["Mainnet","Testnet"]}static supportedChains(e){return[...Object.keys(ye[e]??{})]}static async supportedDestinationTokens(e,n,a){return!T(n.network,n.chain)||!T(a.network,a.chain)?[]:re(e,n,a)}getDefaultOptions(){return{nativeGas:0}}async validate(e,n){var c;const{fromChain:a,toChain:i}=e;return!T(a.network,a.chain)||!T(i.network,i.chain)?{valid:!1,error:new Error("Unsupported source or destination chain"),params:n}:(c=n.options)!=null&&c.nativeGas&&(n.options.nativeGas<0||n.options.nativeGas>1)?{valid:!1,error:new Error("Invalid native gas percentage"),params:n}:{valid:!0,params:{normalizedParams:{amount:e.parseAmount(n.amount)},options:n.options??this.getDefaultOptions(),...n}}}async quote(e,n){const{fromChain:a,toChain:i}=e;try{const o=await se(e,n,this.staticConfig,"ERC1"),{remainingAmount:c,estimatedCost:u,gasDropOff:m,expiryTime:f}=o,l=a.chain==="Polygon"?2e3*200:s.estimateFinalityTime(a.chain)+1e3,[h,g]=await Promise.all([a.getDecimals("native"),i.getDecimals("native")]);return{success:!0,params:n,sourceToken:{token:e.source.id,amount:n.normalizedParams.amount},destinationToken:{token:e.destination.id,amount:s.fromBaseUnits(c,e.destination.decimals)},relayFee:{token:s.nativeTokenId(a.chain),amount:s.fromBaseUnits(u,h)},destinationNativeGas:s.fromBaseUnits(m,g),eta:l,expires:f,details:o}}catch(o){return{success:!1,error:new Error(o instanceof Error?o.message:`${o}`)}}}async initiate(e,n,a,i){if(!a.details)throw new Error("Missing quote details");return await Be(e,n,i,{protocol:"CCTPExecutor",details:a.details})}async*track(e,n){if(s.isCompleted(e)||s.isFailed(e))return e;let a=n||60*60*1e3;for(;a>0;){const i=Date.now();if(s.isSourceInitiated(e)||s.isSourceFinalized(e)||s.isAttested(e))try{const[o]=await ne(this.wh.network,e.originTxs.at(-1).txid,e.from);if(!o)throw new Error("No transaction status found");const c=o==null?void 0:o.status;if((c===E.Failed||c===E.Underpaid||c===E.Unsupported||c===E.Aborted)&&(e={...e,state:s.TransferState.Failed,error:new s.RelayFailedError(`Relay failed with status: ${c}`)}),c===E.Submitted&&(e={...e,state:s.TransferState.DestinationFinalized,attestation:{id:o.id,attestation:{}}}),yield e,s.isCompleted(e)||s.isFailed(e))return e}catch(o){console.error(`Error fetching transaction status: ${o.message||o}`)}await new Promise(o=>setTimeout(o,3e3)),a-=Date.now()-i}return e}}d(P,"NATIVE_GAS_DROPOFF_SUPPORTED",!0),d(P,"config",{referrerFeeDbps:0n}),d(P,"meta",{name:"CCTPExecutorRoute",provider:"Circle CCTP"});class ae extends s.AutomaticRoute{static supportedNetworks(){return["Mainnet","Testnet"]}static supportedChains(t){return Object.keys(z[t]??{})}getDefaultOptions(){return{nativeGas:0}}async initiate(t,e,n,a){if(!n.details)throw new Error("Missing quote details");return await Be(t,e,a,{protocol:"CCTPv2Executor",details:n.details})}async*track(t,e){if(s.isCompleted(t))return t;let n=e||60*60*1e3;for(;n>0;){const a=Date.now();if(s.isSourceInitiated(t)||s.isSourceFinalized(t)||s.isAttested(t)||s.isFailed(t))try{const i=t.originTxs.at(-1).txid;if(s.isSourceInitiated(t)||s.isSourceFinalized(t)){const o=await W({chain:t.from,txid:i},this.wh.network);o&&(t={...t,state:s.TransferState.Attested,attestation:{id:i,attestation:o}}),yield t}if(s.isAttested(t)){const[o]=await ne(this.wh.network,i,t.from);if(!o)throw new Error("No transaction status found");const c=o==null?void 0:o.status;c===E.Submitted?t={...t,state:s.TransferState.DestinationFinalized}:(c===E.Failed||c===E.Underpaid||c===E.Unsupported||c===E.Aborted)&&(t={...t,state:s.TransferState.Failed,error:new s.RelayFailedError(`Relay failed with status: ${c}`)})}if(s.isFailed(t)){if(!t.attestation)throw new Error("Receipt is missing attestation");const o=t.attestation;await(await this.wh.getChain(t.to).getProtocol("CCTPv2Executor")).isTransferCompleted(o.attestation.message)&&(t={...t,state:s.TransferState.DestinationFinalized,attestation:o})}if(yield t,s.isCompleted(t))return t}catch(i){console.error(`Error fetching transaction status: ${i.message||i}`)}await new Promise(i=>setTimeout(i,3e3)),n-=Date.now()-a}return t}async complete(t,e){if(!s.isAttested(e)&&!s.isFailed(e))throw new Error("Transfer is not attested");if(!e.attestation)throw new Error("No attestation found");const n=this.wh.getChain(e.to),a=await n.getProtocol("CCTPv2Executor");let{attestation:i,message:o}=e.attestation.attestation;const{expirationBlock:c}=o.messageBody,u=await a.getCurrentBlock();if(c!==0n&&c<u){const h=await At(n.network,e.attestation);if(!h)throw new Error("Failed to reattest message");i=h.attestation,o=h.message}const m=s.Wormhole.parseAddress(t.chain(),t.address()),f=a.redeem(m,o,i),l=await s.signSendWait(this.wh.getChain(e.to),f,t);return{...e,state:s.TransferState.DestinationInitiated,attestation:e.attestation,destinationTxs:l}}async resume(t){const e=await W(t,this.wh.network);if(!e)throw new Error("No attestation found");const{message:n}=e,a=xe(this.wh.network,n.destinationDomain);return await(await this.wh.getChain(a).getProtocol("CCTPv2Executor")).isTransferCompleted(n)?{from:t.chain,to:a,state:s.TransferState.DestinationFinalized,originTxs:[t],attestation:{id:t.txid,attestation:e}}:{from:t.chain,to:a,state:s.TransferState.Attested,originTxs:[t],attestation:{id:t.txid,attestation:e}}}}d(ae,"NATIVE_GAS_DROPOFF_SUPPORTED",!0);function Ft(r={referrerFeeDbps:0n}){if(r.referrerFeeDbps<0||r.referrerFeeDbps>65535n)throw new Error("Referrer fee must be between 0 and 65535");class t extends Q{}return d(t,"config",r),t}const F=class F extends ae{constructor(){super(...arguments);d(this,"staticConfig",this.constructor.config)}static isPathSupported(e,n){return Ze(e.network,e.chain)&&G(n.network,n.chain)}static async supportedDestinationTokens(e,n,a){return this.isPathSupported(n,a)?re(e,n,a):[]}async validate(e,n){var i;return F.isPathSupported(e.fromChain,e.toChain)?(i=n.options)!=null&&i.nativeGas&&(n.options.nativeGas<0||n.options.nativeGas>1)?{valid:!1,error:new Error("Invalid native gas percentage"),params:n}:{valid:!0,params:{normalizedParams:{amount:e.parseAmount(n.amount)},options:n.options??this.getDefaultOptions(),...n}}:{valid:!1,error:new Error("Can only transfer from a Circle V2 fast chain to a Circle V2 chain"),params:n}}async quote(e,n){var o;const{fromChain:a,toChain:i}=e;try{const c=await se(e,n,this.staticConfig,"ERC2"),{remainingAmount:u,estimatedCost:m,gasDropOff:f,expiryTime:l}=c;if(await yt(a.network)<=u)return{success:!1,error:new Error("Insufficient allowance for fast transfer")};const g=await Et(a.network,a.chain,i.chain),C=(u*g+10000n-1n)/10000n,p=u-C;if(p<=0n)return{success:!1,error:new Error("Amount after fast transfer fee <= 0")};const b=(o=De[a.network])==null?void 0:o[a.chain],[w,A]=await Promise.all([a.getDecimals("native"),i.getDecimals("native")]);return{success:!0,params:n,sourceToken:{token:e.source.id,amount:n.normalizedParams.amount},destinationToken:{token:e.destination.id,amount:s.fromBaseUnits(p,e.destination.decimals)},relayFee:{token:s.nativeTokenId(a.chain),amount:s.fromBaseUnits(m,w)},destinationNativeGas:s.fromBaseUnits(f,A),eta:b,expires:l,details:{...c,minFinalityThreshold:$.CONFIRMED,fastTransferMaxFee:C}}}catch(c){return{success:!1,error:new Error(c instanceof Error?c.message:`${c}`)}}}};d(F,"config",{referrerFeeDbps:0n}),d(F,"meta",{name:"CCTPv2FastExecutorRoute",provider:"Circle CCTP"});let Q=F;function vt(r={referrerFeeDbps:0n}){if(r.referrerFeeDbps<0||r.referrerFeeDbps>65535n)throw new Error("Referrer fee must be between 0 and 65535");class t extends K{}return d(t,"config",r),t}const v=class v extends ae{constructor(){super(...arguments);d(this,"staticConfig",this.constructor.config)}static isPathSupported(e,n){return G(e.network,e.chain)&&G(n.network,n.chain)&&e.chain!=="Linea"}static async supportedDestinationTokens(e,n,a){return this.isPathSupported(n,a)?re(e,n,a):[]}async validate(e,n){var i;return v.isPathSupported(e.fromChain,e.toChain)?(i=n.options)!=null&&i.nativeGas&&(n.options.nativeGas<0||n.options.nativeGas>1)?{valid:!1,error:new Error("Invalid native gas percentage"),params:n}:{valid:!0,params:{normalizedParams:{amount:e.parseAmount(n.amount)},options:n.options??this.getDefaultOptions(),...n}}:{valid:!1,error:new Error("Can only transfer between Circle V2 chains"),params:n}}async quote(e,n){const{fromChain:a,toChain:i}=e;try{const o=await se(e,n,this.staticConfig,"ERC2"),{remainingAmount:c,estimatedCost:u,gasDropOff:m,expiryTime:f}=o,l=a.chain==="Polygon"?2e3*200:s.estimateFinalityTime(a.chain)+1e3,[h,g]=await Promise.all([a.getDecimals("native"),i.getDecimals("native")]);return{success:!0,params:n,sourceToken:{token:e.source.id,amount:n.normalizedParams.amount},destinationToken:{token:e.destination.id,amount:s.fromBaseUnits(c,e.destination.decimals)},relayFee:{token:s.nativeTokenId(a.chain),amount:s.fromBaseUnits(u,h)},destinationNativeGas:s.fromBaseUnits(m,g),eta:l,expires:f,details:{...o,minFinalityThreshold:$.FINALIZED,fastTransferMaxFee:0n}}}catch(o){return{success:!1,error:new Error(o instanceof Error?o.message:`${o}`)}}}};d(v,"config",{referrerFeeDbps:0n}),d(v,"meta",{name:"CCTPv2StandardExecutorRoute",provider:"Circle CCTP"});let K=v;const{executorTokenBridgeRoute:Tt}=M.routes;exports.cctpExecutorRoute=Dt;exports.cctpV2FastExecutorRoute=Ft;exports.cctpV2StandardExecutorRoute=vt;exports.executorTokenBridgeRoute=Tt;
package/lib/executor.mjs CHANGED
@@ -1,23 +1,23 @@
1
1
  var wt = Object.defineProperty;
2
2
  var Ct = (s, t, e) => t in s ? wt(s, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : s[t] = e;
3
3
  var c = (s, t, e) => Ct(s, typeof t != "symbol" ? t + "" : t, e);
4
- import { aW as bt, as as Et, aX as At, aY as yt, aZ as xt, a_ as Dt, a$ as Ft, b0 as vt, b1 as Bt, b2 as Tt, b3 as St, b4 as Pt, aq as Ge, D as y, b5 as j, aw as x, aE as U, y as Le, ay as te, aB as S, aC as Qe, au as We, aJ as q, k, aF as je, o as Mt, P as E, a2 as qe, an as Me, a5 as Ke, d as O, _ as It, a3 as Xe, aM as ne, aN as kt, $ as Ut, aG as Vt, aO as zt, A as $t, W as B, aa as v, b6 as Ze, F as ue, G as He, b7 as Je, U as Rt, aT as Ye, T as A, ad as et, aR as tt, u as F, J as me, O as G, V as P, al as se, am as ae, Q as R, R as nt } from "./address-QpeLv2yn.mjs";
5
- import { l as Ie } from "./chunk-KJH4KKG6-qC3BvugF.mjs";
6
- import { A as Nt } from "./platform-IW8iV_CA.mjs";
7
- import { d as ke, _ as _t, r as Ot } from "./address-BJhcbdG9.mjs";
8
- import { A as Gt } from "./unsignedTransaction-BDOQhqcZ.mjs";
9
- import { E as L } from "./platform-B0QvkHbE.mjs";
10
- import { C as N } from "./contract-D4Vzf62E.mjs";
4
+ import { aW as bt, as as Et, aX as At, aY as yt, aZ as xt, a_ as Dt, a$ as Ft, b0 as vt, b1 as Bt, b2 as Tt, b3 as St, b4 as Pt, aq as Le, D as y, b5 as j, aw as x, aE as U, y as Ge, ay as te, aB as S, aC as Qe, au as We, aI as q, k, aF as je, o as It, P as E, a3 as qe, an as Ie, a6 as Ke, d as O, $ as Mt, a4 as Xe, aL as ne, aM as kt, a0 as Ut, b6 as Vt, aN as zt, A as $t, W as B, aT as v, b7 as Ze, F as ue, G as He, b8 as Je, U as Rt, aS as Ye, T as A, ad as et, aQ as tt, u as F, J as me, O as L, V as P, al as se, am as ae, Q as R, R as nt } from "./address-YYxpimx3.mjs";
5
+ import { l as Me } from "./chunk-KJH4KKG6-DTOJZuhY.mjs";
6
+ import { A as Nt } from "./platform-pX0KL6zm.mjs";
7
+ import { d as ke, _ as _t, r as Ot } from "./address-DPWm1fbw.mjs";
8
+ import { A as Lt } from "./unsignedTransaction-BDOQhqcZ.mjs";
9
+ import { E as G } from "./platform-bCY3DvqI.mjs";
10
+ import { C as N } from "./contract-CjL0DzEO.mjs";
11
11
  import { E as st } from "./unsignedTransaction-C0V0UbsS.mjs";
12
- import { b as Ue, T as Lt, a as Qt, _ as Wt } from "./platform-lg76WojY.mjs";
13
- import { suiCircleObjects as jt } from "./index-Czoo2lwG.mjs";
14
- import { S as qt } from "./address-C4qO2bMD.mjs";
12
+ import { w as Ue, T as Gt, v as Qt, _ as Wt } from "./platform-mkzPOtcO.mjs";
13
+ import { suiCircleObjects as jt } from "./index-Cd2G9Q0O.mjs";
14
+ import { S as qt } from "./address-CZArADcj.mjs";
15
15
  import { S as Kt } from "./unsignedTransaction-BD81leu1.mjs";
16
- import { createDepositForBurnInstruction as Xt } from "./index-CBHIr2qc.mjs";
17
- import { P as Zt } from "./index-t4mLpVUg.mjs";
18
- import { p as Ve, u as at, b as Ht } from "./web3-Atnj-SZ3.mjs";
19
- import { a as Jt, S as Yt } from "./unsignedTransaction-Brbbx5Uc.mjs";
20
- import { d as en } from "./account-DtI49BC9.mjs";
16
+ import { createDepositForBurnInstruction as Xt } from "./index-BQuPDPUZ.mjs";
17
+ import { P as Zt } from "./index-uuu1viWa.mjs";
18
+ import { p as Ve, u as at, b as Ht } from "./web3-C7dEQmtr.mjs";
19
+ import { a as Jt, S as Yt } from "./unsignedTransaction-BHbKxuLa.mjs";
20
+ import { d as en } from "./account-BXlWsVcD.mjs";
21
21
  const tn = {
22
22
  binary: "uint",
23
23
  size: 1,
@@ -40,7 +40,7 @@ const tn = {
40
40
  sequenceItem: Tt,
41
41
  signatureItem: St,
42
42
  stringConversion: Pt,
43
- universalAddressItem: Ge
43
+ universalAddressItem: Le
44
44
  }, Symbol.toStringTag, { value: "Module" })), fe = {
45
45
  Testnet: "https://executor-testnet.labsapis.com",
46
46
  Mainnet: "https://executor.labsapis.com"
@@ -313,7 +313,7 @@ class he {
313
313
  }
314
314
  async *transfer(t, e, n) {
315
315
  var h, g;
316
- const a = new ke(t).unwrap(), r = Ie.from(e.address.toUniversalAddress().toUint8Array()), i = Ie.from(this.usdcId), o = n.remainingAmount + n.referrerFee, d = j.get(this.network, e.chain), u = a, m = new ke(((g = (h = n.referrer) == null ? void 0 : h.address) == null ? void 0 : g.toString()) ?? a).unwrap(), f = [
316
+ const a = new ke(t).unwrap(), r = Me.from(e.address.toUniversalAddress().toUint8Array()), i = Me.from(this.usdcId), o = n.remainingAmount + n.referrerFee, d = j.get(this.network, e.chain), u = a, m = new ke(((g = (h = n.referrer) == null ? void 0 : h.address) == null ? void 0 : g.toString()) ?? a).unwrap(), f = [
317
317
  o,
318
318
  d,
319
319
  r.toString(),
@@ -332,7 +332,7 @@ class he {
332
332
  yield this.createUnsignedTx(l, "AtposCCTPExecutor.Transfer");
333
333
  }
334
334
  createUnsignedTx(t, e, n = !1) {
335
- return new Gt(t, this.network, this.chain, e, n);
335
+ return new Lt(t, this.network, this.chain, e, n);
336
336
  }
337
337
  }
338
338
  U(_t, "CCTPExecutor", he);
@@ -347,21 +347,21 @@ class ge {
347
347
  var i;
348
348
  if (this.network = t, this.chain = e, this.provider = n, this.contracts = a, t === "Devnet")
349
349
  throw new Error("CCTPExecutor not supported on Devnet");
350
- this.chainId = Le.get(t, e);
350
+ this.chainId = Ge.get(t, e);
351
351
  const r = (i = le[t]) == null ? void 0 : i[e];
352
352
  if (!r)
353
353
  throw new Error(`Shim contract for ${e} not found`);
354
354
  this.shimContract = r;
355
355
  }
356
356
  static async fromRpc(t, e) {
357
- const [n, a] = await L.chainFromRpc(t), r = e[a];
357
+ const [n, a] = await G.chainFromRpc(t), r = e[a];
358
358
  if (r.network !== n)
359
359
  throw new Error(`Network mismatch: ${r.network} != ${n}`);
360
360
  return new ge(n, a, t, r.contracts);
361
361
  }
362
362
  async *transfer(t, e, n) {
363
363
  var h, g;
364
- const a = new te(t).toString(), r = e.address.toUniversalAddress().toUint8Array(), i = n.remainingAmount + n.referrerFee, o = y.get(this.network, this.chain), d = L.getTokenImplementation(this.provider, o);
364
+ const a = new te(t).toString(), r = e.address.toUniversalAddress().toUint8Array(), i = n.remainingAmount + n.referrerFee, o = y.get(this.network, this.chain), d = G.getTokenImplementation(this.provider, o);
365
365
  if (await d.allowance(a, this.shimContract) < i) {
366
366
  const w = await d.approve.populateTransaction(this.shimContract, i);
367
367
  yield this.createUnsignedTx(S(w, a), "ERC20.approve of EvmCCTPExecutor", !1);
@@ -419,7 +419,7 @@ const { amountItem: z, circleDomainItem: $e, universalAddressItem: T } = nn, ct
419
419
  { name: "msgValue", binary: "uint", size: 16 }
420
420
  ], gn = [
421
421
  { name: "dropOff", binary: "uint", size: 16 },
422
- { name: "recipient", ...Ge }
422
+ { name: "recipient", ...Le }
423
423
  ], pn = [
424
424
  {
425
425
  name: "request",
@@ -493,7 +493,7 @@ class pe {
493
493
  var d, u, m;
494
494
  if (this.network = t, this.chain = e, this.provider = n, this.contracts = a, t === "Devnet")
495
495
  throw new Error("CCTPv2Executor not supported on Devnet");
496
- this.chainId = Le.get(t, e);
496
+ this.chainId = Ge.get(t, e);
497
497
  const r = (d = sn[t]) == null ? void 0 : d[e];
498
498
  if (!r)
499
499
  throw new Error(`Shim contract for ${e} not found`);
@@ -508,14 +508,14 @@ class pe {
508
508
  this.usdcContract = o;
509
509
  }
510
510
  static async fromRpc(t, e) {
511
- const [n, a] = await L.chainFromRpc(t), r = e[a];
511
+ const [n, a] = await G.chainFromRpc(t), r = e[a];
512
512
  if (r.network !== n)
513
513
  throw new Error(`Network mismatch: ${r.network} != ${n}`);
514
514
  return new pe(n, a, t, r.contracts);
515
515
  }
516
516
  async *transfer(t, e, n) {
517
517
  var g, w;
518
- const a = new te(t).toString(), r = e.address.toUniversalAddress().toUint8Array(), i = n.remainingAmount + n.referrerFee, o = L.getTokenImplementation(this.provider, this.usdcContract);
518
+ const a = new te(t).toString(), r = e.address.toUniversalAddress().toUint8Array(), i = n.remainingAmount + n.referrerFee, o = G.getTokenImplementation(this.provider, this.usdcContract);
519
519
  if (await o.allowance(a, this.shimContract) < i) {
520
520
  const C = await o.approve.populateTransaction(this.shimContract, i);
521
521
  yield this.createUnsignedTx(S(C, a), "ERC20.approve of EvmCCTPv2Executor", !1);
@@ -581,7 +581,7 @@ class we {
581
581
  return new we(n, a, t, r.contracts);
582
582
  }
583
583
  async *transfer(t, e, n) {
584
- const a = new Lt(), r = new qt(t).unwrap(), i = j.get(this.network, e.chain), [o, ...d] = await Ue.getCoins(this.provider, t, this.usdcId);
584
+ const a = new Gt(), r = new qt(t).unwrap(), i = j.get(this.network, e.chain), [o, ...d] = await Ue.getCoins(this.provider, t, this.usdcId);
585
585
  if (o === void 0)
586
586
  throw new Error("No USDC in wallet");
587
587
  const u = a.object(o.coinObjectId);
@@ -592,7 +592,7 @@ class we {
592
592
  n.remainingAmount,
593
593
  n.referrerFee
594
594
  ]);
595
- m = p, a.transferObjects([D], n.referrer ? Mt(n.referrer) : r);
595
+ m = p, a.transferObjects([D], n.referrer ? It(n.referrer) : r);
596
596
  } else {
597
597
  const [p] = a.splitCoins(u, [
598
598
  n.remainingAmount
@@ -681,12 +681,12 @@ function An(s, t, e) {
681
681
  return s;
682
682
  }
683
683
  const yn = qe([
684
- Me("mintAuthorityOption"),
684
+ Ie("mintAuthorityOption"),
685
685
  Ve("mintAuthority"),
686
686
  at("supply"),
687
687
  Ke("decimals"),
688
688
  Ht("isInitialized"),
689
- Me("freezeAuthorityOption"),
689
+ Ie("freezeAuthorityOption"),
690
690
  Ve("freezeAuthority")
691
691
  ]);
692
692
  yn.span;
@@ -705,7 +705,7 @@ function Dn(s, t, e, n, a, r = Z, i = Ce) {
705
705
  { pubkey: t, isSigner: !1, isWritable: !0 },
706
706
  { pubkey: e, isSigner: !1, isWritable: !1 },
707
707
  { pubkey: n, isSigner: !1, isWritable: !1 },
708
- { pubkey: It.programId, isSigner: !1, isWritable: !1 },
708
+ { pubkey: Mt.programId, isSigner: !1, isWritable: !1 },
709
709
  { pubkey: r, isSigner: !1, isWritable: !1 }
710
710
  ];
711
711
  return new Xe({
@@ -902,7 +902,7 @@ function Pn(s, t, e) {
902
902
  }
903
903
  return { referrerFee: r, remainingAmount: a, referrerFeeDbps: n };
904
904
  }
905
- function Mn(s) {
905
+ function In(s) {
906
906
  return new Promise((t) => setTimeout(t, s));
907
907
  }
908
908
  async function oe(s, t, e = Ze) {
@@ -927,7 +927,7 @@ async function oe(s, t, e = Ze) {
927
927
  }
928
928
  }, 2e3, e, "CCTPv2:GetMessage");
929
929
  }
930
- async function In(s, t, e) {
930
+ async function Mn(s, t, e) {
931
931
  const n = Q(s, t), a = Q(s, e), r = `${X[s]}/fastBurn/USDC/fees/${n}/${a}`, i = await v.get(r);
932
932
  return BigInt(i.data.minimumFee);
933
933
  }
@@ -1042,7 +1042,7 @@ async function ft(s, t, e, n) {
1042
1042
  break;
1043
1043
  } catch {
1044
1044
  }
1045
- u++, await Mn(2e3);
1045
+ u++, await In(2e3);
1046
1046
  }
1047
1047
  })(), {
1048
1048
  from: s.fromChain.chain,
@@ -1151,7 +1151,7 @@ class _ extends et {
1151
1151
  });
1152
1152
  }
1153
1153
  async *track(e, n) {
1154
- if (G(e) || P(e))
1154
+ if (L(e) || P(e))
1155
1155
  return e;
1156
1156
  let a = n || 60 * 60 * 1e3;
1157
1157
  for (; a > 0; ) {
@@ -1173,7 +1173,7 @@ class _ extends et {
1173
1173
  ...e,
1174
1174
  state: A.DestinationFinalized,
1175
1175
  attestation: { id: i.id, attestation: {} }
1176
- }), yield e, G(e) || P(e))
1176
+ }), yield e, L(e) || P(e))
1177
1177
  return e;
1178
1178
  } catch (i) {
1179
1179
  console.error(`Error fetching transaction status: ${i.message || i}`);
@@ -1208,7 +1208,7 @@ class xe extends et {
1208
1208
  });
1209
1209
  }
1210
1210
  async *track(t, e) {
1211
- if (G(t))
1211
+ if (L(t))
1212
1212
  return t;
1213
1213
  let n = e || 60 * 60 * 1e3;
1214
1214
  for (; n > 0; ) {
@@ -1254,7 +1254,7 @@ class xe extends et {
1254
1254
  attestation: i
1255
1255
  });
1256
1256
  }
1257
- if (yield t, G(t))
1257
+ if (yield t, L(t))
1258
1258
  return t;
1259
1259
  } catch (r) {
1260
1260
  console.error(`Error fetching transaction status: ${r.message || r}`);
@@ -1313,7 +1313,7 @@ function ss(s = { referrerFeeDbps: 0n }) {
1313
1313
  }
1314
1314
  return c(t, "config", s), t;
1315
1315
  }
1316
- const M = class M extends xe {
1316
+ const I = class I extends xe {
1317
1317
  constructor() {
1318
1318
  super(...arguments);
1319
1319
  // @ts-ignore
@@ -1329,7 +1329,7 @@ const M = class M extends xe {
1329
1329
  }
1330
1330
  async validate(e, n) {
1331
1331
  var r;
1332
- return M.isPathSupported(e.fromChain, e.toChain) ? (r = n.options) != null && r.nativeGas && (n.options.nativeGas < 0 || n.options.nativeGas > 1) ? {
1332
+ return I.isPathSupported(e.fromChain, e.toChain) ? (r = n.options) != null && r.nativeGas && (n.options.nativeGas < 0 || n.options.nativeGas > 1) ? {
1333
1333
  valid: !1,
1334
1334
  error: new Error("Invalid native gas percentage"),
1335
1335
  params: n
@@ -1355,7 +1355,7 @@ const M = class M extends xe {
1355
1355
  success: !1,
1356
1356
  error: new Error("Insufficient allowance for fast transfer")
1357
1357
  };
1358
- const h = await In(a.network, a.chain, r.chain), g = (d * h + 10000n - 1n) / 10000n, w = d - g;
1358
+ const h = await Mn(a.network, a.chain, r.chain), g = (d * h + 10000n - 1n) / 10000n, w = d - g;
1359
1359
  if (w <= 0n)
1360
1360
  return {
1361
1361
  success: !1,
@@ -1397,11 +1397,11 @@ const M = class M extends xe {
1397
1397
  }
1398
1398
  }
1399
1399
  };
1400
- c(M, "config", { referrerFeeDbps: 0n }), c(M, "meta", {
1400
+ c(I, "config", { referrerFeeDbps: 0n }), c(I, "meta", {
1401
1401
  name: "CCTPv2FastExecutorRoute",
1402
1402
  provider: "Circle CCTP"
1403
1403
  });
1404
- let ce = M;
1404
+ let ce = I;
1405
1405
  function as(s = { referrerFeeDbps: 0n }) {
1406
1406
  if (s.referrerFeeDbps < 0 || s.referrerFeeDbps > 65535n)
1407
1407
  throw new Error("Referrer fee must be between 0 and 65535");
@@ -1409,7 +1409,7 @@ function as(s = { referrerFeeDbps: 0n }) {
1409
1409
  }
1410
1410
  return c(t, "config", s), t;
1411
1411
  }
1412
- const I = class I extends xe {
1412
+ const M = class M extends xe {
1413
1413
  constructor() {
1414
1414
  super(...arguments);
1415
1415
  // @ts-ignore
@@ -1427,7 +1427,7 @@ const I = class I extends xe {
1427
1427
  }
1428
1428
  async validate(e, n) {
1429
1429
  var r;
1430
- return I.isPathSupported(e.fromChain, e.toChain) ? (r = n.options) != null && r.nativeGas && (n.options.nativeGas < 0 || n.options.nativeGas > 1) ? {
1430
+ return M.isPathSupported(e.fromChain, e.toChain) ? (r = n.options) != null && r.nativeGas && (n.options.nativeGas < 0 || n.options.nativeGas > 1) ? {
1431
1431
  valid: !1,
1432
1432
  error: new Error("Invalid native gas percentage"),
1433
1433
  params: n
@@ -1483,11 +1483,11 @@ const I = class I extends xe {
1483
1483
  }
1484
1484
  }
1485
1485
  };
1486
- c(I, "config", { referrerFeeDbps: 0n }), c(I, "meta", {
1486
+ c(M, "config", { referrerFeeDbps: 0n }), c(M, "meta", {
1487
1487
  name: "CCTPv2StandardExecutorRoute",
1488
1488
  provider: "Circle CCTP"
1489
1489
  });
1490
- let de = I;
1490
+ let de = M;
1491
1491
  const { executorTokenBridgeRoute: rs } = Ot;
1492
1492
  export {
1493
1493
  ns as cctpExecutorRoute,
package/lib/hosted.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("./constants-BA7a60_u.js");function d(o,e={}){window.__CONNECT_CONFIG=e.config,window.__CONNECT_THEME=e.theme;const n=document.createElement("div");n.id="wormhole-connect";const c=e.version??s.CONNECT_VERSION,i=e.cdnBaseUrl??`https://cdn.jsdelivr.net/npm/@wormhole-foundation/wormhole-connect@${c}`,t=document.createElement("script");t.setAttribute("src",`${i}/dist/main.js`),t.setAttribute("type","module"),o.appendChild(n),o.appendChild(t)}exports.wormholeConnectHosted=d;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("./constants-BsKTcZQ3.js");function d(o,e={}){window.__CONNECT_CONFIG=e.config,window.__CONNECT_THEME=e.theme;const n=document.createElement("div");n.id="wormhole-connect";const c=e.version??s.CONNECT_VERSION,i=e.cdnBaseUrl??`https://cdn.jsdelivr.net/npm/@wormhole-foundation/wormhole-connect@${c}`,t=document.createElement("script");t.setAttribute("src",`${i}/dist/main.js`),t.setAttribute("type","module"),o.appendChild(n),o.appendChild(t)}exports.wormholeConnectHosted=d;
package/lib/hosted.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { a as d } from "./constants-DWhraRof.mjs";
1
+ import { a as d } from "./constants-BHQAYN6w.mjs";
2
2
  function r(o, t = {}) {
3
3
  window.__CONNECT_CONFIG = t.config, window.__CONNECT_THEME = t.theme;
4
4
  const n = document.createElement("div");