@wormhole-foundation/wormhole-connect 4.0.0-beta.0-development → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (205) hide show
  1. package/dist/assets/{aptos-CIKjhZ5R.js → aptos-CaGPw7HM.js} +2 -2
  2. package/dist/assets/create-54a95t1x.js +1 -0
  3. package/dist/assets/{evm-Ky_mCHhS.js → evm-Bv0RsFka.js} +2 -2
  4. package/dist/assets/{index-DW7sWcdW.js → index-B5JfIVKE.js} +1 -1
  5. package/dist/assets/{index-DHLr3HmO.js → index-BCD-VOiF.js} +1 -1
  6. package/dist/assets/index-BwhO0jGm.js +1 -0
  7. package/dist/assets/{index-DpM61P6H.js → index-CMULoTsT.js} +1 -1
  8. package/dist/assets/{index-DZpeOp3V.js → index-CO4HXUmy.js} +1 -1
  9. package/dist/assets/{index-Bg3NWSHL.js → index-COw2RtBx.js} +1 -1
  10. package/dist/assets/{index-DRk-Cj0P.js → index-ClrVAZUa.js} +1 -1
  11. package/dist/assets/{index-D7RgFG0F.js → index-CzQeh-hT.js} +1 -1
  12. package/dist/assets/{index-Csghphw2.js → index-DC4mZtDw.js} +1 -1
  13. package/dist/assets/{index-Cqs_fFht.js → index-DI-xN_q3.js} +1 -1
  14. package/dist/assets/{index-DVbfoP0w.js → index-DRsHBjoG.js} +1 -1
  15. package/dist/assets/{index-CdAFGcxx.js → index-DXcQbQ8r.js} +1 -1
  16. package/dist/assets/{index-DJ52h-dV.js → index-DxHhcWFS.js} +1 -1
  17. package/dist/assets/{index-g9iLhWvp.js → index-GKTf0CV7.js} +1 -1
  18. package/dist/assets/{index-DuR9wYhp.js → index-aoYIFErC.js} +1 -1
  19. package/dist/assets/{index-DfNgilHG.js → index-jixjwN_L.js} +1 -1
  20. package/dist/assets/{solana-jYIeIu4B.js → solana-DpD0VkQS.js} +2 -2
  21. package/dist/assets/{sui-B96bqBVv.js → sui-7K04yY2U.js} +2 -2
  22. package/dist/main.js +75 -75
  23. package/dist/src/components/TokenBalance.d.ts.map +1 -1
  24. package/dist/src/config/mainnet/tokens.d.ts.map +1 -1
  25. package/dist/src/config/testnet/tokens.d.ts.map +1 -1
  26. package/dist/src/contexts/wallet/WalletProvider.d.ts.map +1 -1
  27. package/dist/src/hooks/useFetchSupportedRoutes.d.ts.map +1 -1
  28. package/dist/src/hooks/useTokenListWithSearch.d.ts +1 -4
  29. package/dist/src/hooks/useTokenListWithSearch.d.ts.map +1 -1
  30. package/dist/src/routes/operator.d.ts.map +1 -1
  31. package/dist/src/routes/sdkv2/route.d.ts +2 -2
  32. package/dist/src/routes/sdkv2/route.d.ts.map +1 -1
  33. package/dist/src/telemetry/types.d.ts +1 -0
  34. package/dist/src/telemetry/types.d.ts.map +1 -1
  35. package/dist/src/utils/sdkv2.d.ts.map +1 -1
  36. package/dist/src/utils/wrappedNativeTokens.d.ts +12 -0
  37. package/dist/src/utils/wrappedNativeTokens.d.ts.map +1 -0
  38. package/dist/src/views/Terms.d.ts.map +1 -1
  39. package/dist/src/views/v2/Bridge/AssetPicker/TokenList.d.ts.map +1 -1
  40. package/dist/src/views/v3/Bridge/AssetPicker/SearchableList/index.d.ts.map +1 -1
  41. package/dist/src/views/v3/Bridge/AssetPicker/TokenList.d.ts.map +1 -1
  42. package/dist/src/views/v3/Bridge/AssetPicker/TokenSectionHeader.d.ts +2 -4
  43. package/dist/src/views/v3/Bridge/AssetPicker/TokenSectionHeader.d.ts.map +1 -1
  44. package/lib/{account-D0Q4K1CI.js → account-24z6tDMM.js} +1 -1
  45. package/lib/{account-BdDruAAr.mjs → account-BcnWVXmg.mjs} +1 -1
  46. package/lib/{address-fSXS9iww.mjs → address-BX2fIOro.mjs} +1 -1
  47. package/lib/{address-BO6rj6uK.js → address-Bc-5yO4D.js} +1 -1
  48. package/lib/{aptos-BnKScTtI.mjs → aptos-DO_Sexq-.mjs} +7 -7
  49. package/lib/{aptos-B3C7cnvM.js → aptos-DffuIzI0.js} +2 -2
  50. package/lib/{aptos-B1VSCmD9.mjs → aptos-Dol0ReEK.mjs} +4 -4
  51. package/lib/{aptos-DG7QN21P.js → aptos-eGdJuKke.js} +1 -1
  52. package/lib/{basic-CN2jAqvS.js → basic-B3aoOwRb.js} +1 -1
  53. package/lib/{basic-BRYkcAmD.mjs → basic-BI1HDLIO.mjs} +4 -4
  54. package/lib/{basic-Cw13RoYq.mjs → basic-C6oQe5cg.mjs} +4 -4
  55. package/lib/{basic-DufHOLGA.js → basic-pJmrDH53.js} +1 -1
  56. package/lib/{blake2b-CT6EW399.mjs → blake2b-CVpPk5O9.mjs} +1 -1
  57. package/lib/{blake2b-B_Q_lTGN.js → blake2b-DXExLbRg.js} +1 -1
  58. package/lib/{browser-ponyfill-CnfcLhK-.mjs → browser-ponyfill-DeOApqpH.mjs} +1 -1
  59. package/lib/{browser-ponyfill-DbGoEOBo.js → browser-ponyfill-VhIu9z_I.js} +1 -1
  60. package/lib/{chain-BCKkYvDb.js → chain-BxNUWKZE.js} +1 -1
  61. package/lib/{chain-_dXKRkCE.mjs → chain-CvZsIsLh.mjs} +1 -1
  62. package/lib/{chunk-KJH4KKG6-RA0hChr8.mjs → chunk-KJH4KKG6-BgebMATq.mjs} +2 -2
  63. package/lib/{chunk-KJH4KKG6-BXBLZwfY.js → chunk-KJH4KKG6-DNlN4p21.js} +1 -1
  64. package/lib/{constants-QsbOfMbk.mjs → constants-BPs5UFxq.mjs} +1 -1
  65. package/lib/constants-BqHCu7gS.js +1 -0
  66. package/lib/{contract-MkLF5rqi.js → contract-CTycrpaK.js} +1 -1
  67. package/lib/{contract-C_4H8x77.mjs → contract-KYuIk_vR.mjs} +1 -1
  68. package/lib/{core-Cpb3gtg_.js → core-BN_eDiBJ.js} +3 -3
  69. package/lib/{core-ntLR7o2S.mjs → core-BZzw8R4f.mjs} +6 -6
  70. package/lib/{create-naslyPfU.mjs → create-BvzkkBPW.mjs} +1 -1
  71. package/lib/{create-CfgTxAS-.js → create-CGZYy2vu.js} +1 -1
  72. package/lib/{evm-aSG_vFbw.js → evm-BdbjSrMR.js} +2 -2
  73. package/lib/{evm-B20n3mf_.mjs → evm-CUhPokEi.mjs} +7 -7
  74. package/lib/{evm-C6xp3v8Z.mjs → evm-IC5cigOX.mjs} +9 -9
  75. package/lib/{evm-B3G2Vkzg.js → evm-bdCQPjof.js} +2 -2
  76. package/lib/executor.js +1 -1
  77. package/lib/executor.mjs +815 -572
  78. package/lib/hosted.js +1 -1
  79. package/lib/hosted.mjs +1 -1
  80. package/lib/{index-B9ybSY9R.mjs → index-1boJ8yzF.mjs} +5 -5
  81. package/lib/{index-BJcbyvof.js → index-943_uCEO.js} +1 -1
  82. package/lib/{index-Dq7WWqFe.js → index-B7HBnPLP.js} +1 -1
  83. package/lib/{index-DQX74QAE.js → index-BFBwRlid.js} +1 -1
  84. package/lib/{index-C6XNAQ4w.js → index-BZZZ8OeS.js} +1 -1
  85. package/lib/{index-CU73EUQW.js → index-BeBO_sCU.js} +1 -1
  86. package/lib/{index-BTUx12aa.js → index-Bhwzpq1T.js} +1 -1
  87. package/lib/{index-MsaML_Ju.mjs → index-Bicx897u.mjs} +2 -2
  88. package/lib/{index-Dajw3Alx.mjs → index-BlWksu-f.mjs} +1 -1
  89. package/lib/{index-QlIJYJce.js → index-Blvg4PFN.js} +66 -66
  90. package/lib/{index-DS8bl8fA.mjs → index-Bn0hkKKz.mjs} +4 -4
  91. package/lib/{index-tztRp3yJ.js → index-BnMkdrhM.js} +1 -1
  92. package/lib/{index-BojkMsXD.js → index-BoKTcLq-.js} +1 -1
  93. package/lib/{index-BRYq_Nt2.mjs → index-Bp4ojxz6.mjs} +4 -4
  94. package/lib/{index-Cnznwcdb.js → index-BqabgGIh.js} +1 -1
  95. package/lib/{index-DxYgNWMY.mjs → index-BtEjOWoP.mjs} +3 -3
  96. package/lib/{index-Bhd_YhUf.js → index-C9Bk-rKp.js} +1 -1
  97. package/lib/{index-YAL4zolc.js → index-C9uGqcwH.js} +1 -1
  98. package/lib/{index-BQvEIlB2.mjs → index-CBGUPQXa.mjs} +3 -3
  99. package/lib/{index-IHxtA-NL.js → index-CGpn3INM.js} +1 -1
  100. package/lib/{index-DSmKiYkD.mjs → index-CQ0RB2r3.mjs} +5 -5
  101. package/lib/{index-7_BfcP8x.mjs → index-CR3DmYPt.mjs} +2105 -2021
  102. package/lib/{index-BRyW-hBN.mjs → index-CTpINVAG.mjs} +2 -2
  103. package/lib/{index-C3LC73WN.js → index-CbFvm_Mr.js} +1 -1
  104. package/lib/{index-bNUantLb.js → index-CjjP3Qp5.js} +1 -1
  105. package/lib/{index-DqzqJgVc.mjs → index-CkvxfaqA.mjs} +3 -3
  106. package/lib/{index-DfDB5FLw.js → index-ClMpLrxa.js} +1 -1
  107. package/lib/{index-B7VNYedX.mjs → index-CtU_hkYp.mjs} +4 -4
  108. package/lib/index-Cv9hvmqc.js +1 -0
  109. package/lib/{index-DMOY218i.js → index-CzRVzbTC.js} +1 -1
  110. package/lib/{index-B4S4sz6p.mjs → index-Czxl_5Tr.mjs} +5 -5
  111. package/lib/{index-Cb9lswnP.js → index-D61fXWwH.js} +8 -8
  112. package/lib/{index-D0XQIiQn.js → index-D6qJDbzm.js} +1 -1
  113. package/lib/{index-C3L-xKvN.mjs → index-DJs1h8_N.mjs} +4839 -4850
  114. package/lib/{index-BD0gcmCp.mjs → index-DPpi4Don.mjs} +5 -5
  115. package/lib/{index-D5ENAOm3.js → index-DmsirrTI.js} +1 -1
  116. package/lib/{index-DnO0ZdKy.mjs → index-DpN0dULN.mjs} +1 -1
  117. package/lib/{index-BNuKzxGJ.js → index-DydXCN0v.js} +1 -1
  118. package/lib/{index-D-H8WyKb.mjs → index-N8cPdMnf.mjs} +1 -1
  119. package/lib/{index-CSMunRpZ.mjs → index-NKV6j8zE.mjs} +3 -3
  120. package/lib/{index-BIYx5IBr.mjs → index-OlMuNft9.mjs} +3 -3
  121. package/lib/{index-Bz7ogqhR.mjs → index-UOvy4usi.mjs} +1 -1
  122. package/lib/{index-D1y-l93C.js → index-UbeUI3Ir.js} +1 -1
  123. package/lib/{index-BZYEbYGY.mjs → index-ZGgSxaDf.mjs} +3 -3
  124. package/lib/{index-DFpSbD7R.mjs → index-_e8uUnEK.mjs} +5 -5
  125. package/lib/{index-vhQ5Q8ov.mjs → index-dU3yVyBt.mjs} +52 -97
  126. package/lib/{index.es-C476iHvN.mjs → index.es-B5hLka3L.mjs} +4 -4
  127. package/lib/{index.es-CkGpObng.js → index.es-CSmeunOk.js} +3 -3
  128. package/lib/{index.es-CU6nhwJO.js → index.es-E2DQPkYK.js} +1 -1
  129. package/lib/{index.es-CtiAoQ78.mjs → index.es-Vlpe_OYB.mjs} +3 -3
  130. package/lib/index.js +1 -1
  131. package/lib/index.mjs +5 -5
  132. package/lib/mayan.js +1 -1
  133. package/lib/mayan.mjs +11 -11
  134. package/lib/{mint-zy6P38iu.js → mint-B4t2SvV6.js} +1 -1
  135. package/lib/{mint-DyoU9X22.mjs → mint-BGuU5y5m.mjs} +1 -1
  136. package/lib/ntt.js +1 -1
  137. package/lib/ntt.mjs +14 -12
  138. package/lib/{platform-x3ZBJ0YM.js → platform-Bkbg7A9d.js} +1 -1
  139. package/lib/{platform-BqpAMtgx.mjs → platform-C5gJAqtZ.mjs} +3 -3
  140. package/lib/{platform-BhspUaMJ.js → platform-C6QB7aIN.js} +1 -1
  141. package/lib/{platform-DQfpyXSV.mjs → platform-DBNvSsue.mjs} +4 -4
  142. package/lib/{platform-BHAZvZ_O.mjs → platform-DtB8gGMl.mjs} +4 -4
  143. package/lib/{platform-4nANkJAM.js → platform-qdbxkhTI.js} +1 -1
  144. package/lib/{provider-jsonrpc-DIXcAw4Q.mjs → provider-jsonrpc-BIIDy-Aw.mjs} +2 -2
  145. package/lib/{provider-jsonrpc-BCKoIijx.js → provider-jsonrpc-DHzam3ud.js} +1 -1
  146. package/lib/{secp256k1-CaaRyr2C.mjs → secp256k1-B-wUOgWh.mjs} +1 -1
  147. package/lib/{secp256k1-CFt7TfEF.js → secp256k1-BAjH_sHz.js} +1 -1
  148. package/lib/{secp256k1-UnRv5Suy.mjs → secp256k1-CpJIg24C.mjs} +1 -1
  149. package/lib/{secp256k1-C60XBS-e.js → secp256k1-Ds1M1Mtb.js} +1 -1
  150. package/lib/{secp256k1-BIiWvuxu.js → secp256k1-PbbUc2aU.js} +1 -1
  151. package/lib/{secp256k1-BWFGSbjt.mjs → secp256k1-YWWAmpaN.mjs} +1 -1
  152. package/lib/{signer-DhO2iGae.mjs → signer-BH3gAHuj.mjs} +2 -2
  153. package/lib/{signer-BFY1Ytf6.js → signer-MBixef_P.js} +1 -1
  154. package/lib/{solana-CQk4ocg8.mjs → solana-Bh5bkUXQ.mjs} +11 -11
  155. package/lib/solana-C8xK8qJY.mjs +18 -0
  156. package/lib/solana-CRSliekb.js +1 -0
  157. package/lib/{solana-Cp49k9--.js → solana-sjjxa4_B.js} +4 -4
  158. package/lib/{solanaEmbed.esm-Cwa6cl_R.js → solanaEmbed.esm-CDt8Bk0U.js} +1 -1
  159. package/lib/{solanaEmbed.esm-DBOqO9Ii.mjs → solanaEmbed.esm-DGgxfQDB.mjs} +3 -3
  160. package/lib/src/components/TokenBalance.d.ts.map +1 -1
  161. package/lib/src/config/mainnet/tokens.d.ts.map +1 -1
  162. package/lib/src/config/testnet/tokens.d.ts.map +1 -1
  163. package/lib/src/contexts/wallet/WalletProvider.d.ts.map +1 -1
  164. package/lib/src/hooks/useFetchSupportedRoutes.d.ts.map +1 -1
  165. package/lib/src/hooks/useTokenListWithSearch.d.ts +1 -4
  166. package/lib/src/hooks/useTokenListWithSearch.d.ts.map +1 -1
  167. package/lib/src/routes/operator.d.ts.map +1 -1
  168. package/lib/src/routes/sdkv2/route.d.ts +2 -2
  169. package/lib/src/routes/sdkv2/route.d.ts.map +1 -1
  170. package/lib/src/telemetry/types.d.ts +1 -0
  171. package/lib/src/telemetry/types.d.ts.map +1 -1
  172. package/lib/src/utils/sdkv2.d.ts.map +1 -1
  173. package/lib/src/utils/wrappedNativeTokens.d.ts +12 -0
  174. package/lib/src/utils/wrappedNativeTokens.d.ts.map +1 -0
  175. package/lib/src/views/Terms.d.ts.map +1 -1
  176. package/lib/src/views/v2/Bridge/AssetPicker/TokenList.d.ts.map +1 -1
  177. package/lib/src/views/v3/Bridge/AssetPicker/SearchableList/index.d.ts.map +1 -1
  178. package/lib/src/views/v3/Bridge/AssetPicker/TokenList.d.ts.map +1 -1
  179. package/lib/src/views/v3/Bridge/AssetPicker/TokenSectionHeader.d.ts +2 -4
  180. package/lib/src/views/v3/Bridge/AssetPicker/TokenSectionHeader.d.ts.map +1 -1
  181. package/lib/{sui-9gsoM56W.js → sui-Do5RtJvP.js} +1 -1
  182. package/lib/{sui-Cr98JBgS.js → sui-QcDjGW68.js} +1 -1
  183. package/lib/{sui-B4RvzEXx.mjs → sui-euceXgYf.mjs} +7 -7
  184. package/lib/{sui-C2a1eehP.mjs → sui-tKXg9e-c.mjs} +4 -4
  185. package/lib/{tokens-BbFKf6Hv.mjs → tokens-CNITO7DN.mjs} +3 -3
  186. package/lib/{tokens-LVHsSbYG.js → tokens-DhBcLH6x.js} +1 -1
  187. package/lib/{transfer-DZ-wNocj.js → transfer-BinEH6ml.js} +1 -1
  188. package/lib/{transfer-BV1ou1GP.mjs → transfer-DTvv5m_5.mjs} +2 -2
  189. package/lib/{units-BqUlbZ46.mjs → units-CVEv4txp.mjs} +2 -2
  190. package/lib/{units-D-oRQjOa.js → units-DtldPRXy.js} +1 -1
  191. package/lib/{unsignedTransaction-BmxD6VsY.mjs → unsignedTransaction-CVE7GUdC.mjs} +3 -3
  192. package/lib/{unsignedTransaction-CiPKh85X.js → unsignedTransaction-DL3WyIkF.js} +1 -1
  193. package/lib/{w3m-modal-CoTG8Zu4.js → w3m-modal-BUP-c20y.js} +1 -1
  194. package/lib/{w3m-modal-D4-nrnEK.mjs → w3m-modal-Bj2tG9wb.mjs} +2 -2
  195. package/lib/{w3m-modal-xqVExHU-.js → w3m-modal-CGeDlu49.js} +1 -1
  196. package/lib/{w3m-modal-3qLkbPfi.mjs → w3m-modal-D78VqEEI.mjs} +2 -2
  197. package/lib/{web3-C1wK6wIV.js → web3-BKaP497Y.js} +1 -1
  198. package/lib/{web3-BkEb7AgB.mjs → web3-BifDBsFp.mjs} +8 -4
  199. package/package.json +49 -44
  200. package/dist/assets/create-q7V6muDT.js +0 -1
  201. package/dist/assets/index-B59bCuJJ.js +0 -1
  202. package/lib/constants-BR_zyzqY.js +0 -1
  203. package/lib/index-CXsUtRJQ.js +0 -1
  204. package/lib/solana-Dv_mUYcl.mjs +0 -18
  205. package/lib/solana-g3YsP966.js +0 -1
@@ -1,7 +1,7 @@
1
- import { T as h, m as w, _ as T, aB as o, az as l, aE as s, aG as p, aF as m, aH as g, aI as y } from "./web3-BkEb7AgB.mjs";
2
- import { EvmWormholeCore as f } from "./index-BRYq_Nt2.mjs";
3
- import { C as u } from "./contract-C_4H8x77.mjs";
4
- import { E as c } from "./platform-BHAZvZ_O.mjs";
1
+ import { T as h, m as w, _ as T, aB as o, az as l, aE as s, aG as p, aF as m, aH as g, aI as y } from "./web3-BifDBsFp.mjs";
2
+ import { EvmWormholeCore as f } from "./index-Bp4ojxz6.mjs";
3
+ import { C as u } from "./contract-KYuIk_vR.mjs";
4
+ import { E as c } from "./platform-DtB8gGMl.mjs";
5
5
  import { E as b } from "./unsignedTransaction-Efb4L-cb.mjs";
6
6
  class i {
7
7
  network;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("./contract-MkLF5rqi.js"),e=require("./web3-C1wK6wIV.js"),S=require("./index-C6XNAQ4w.js"),q=require("./index-CXsUtRJQ.js"),w=require("./platform-4nANkJAM.js"),P=require("./unsignedTransaction-Bv76DnOj.js"),A=new u.Interface(["function start((bytes32,address,address,address,address,address,uint256,uint256,uint256,uint256)) returns (address,uint16,uint64)","function receiveMessageAndSwap(bytes)"]),U=new u.Interface(["function quoteExactInputSingle((address,address,uint256,uint24,uint160)) public view returns (uint256,uint160,uint32,uint256)"]),N="https://gfx.relayers.xlabs.xyz/api/v1/swap/quote";class R{static async quoteRelayer(o,t,r){if(e.isNative(t)||e.isNative(r))throw new Error("how did you get here tho?");const n=e.hex.encode(t.toUniversalAddress().toUint8Array(),!1),s=e.hex.encode(r.toUniversalAddress().toUint8Array(),!1),a={targetChain:e.toChainId(o),sourceToken:n,targetToken:s};try{const i=await e.axios.post(N,a);return BigInt(i.data.fee)}catch(i){throw e.axios.isAxiosError(i)?new Error(`Error getting relayer fee: ${i.response?.statusText}`):i}}}const k=100,E={ETH:[e.Wormhole.tokenId("Arbitrum","native"),e.Wormhole.tokenId("Base","native"),e.Wormhole.tokenId("Ethereum","native"),e.Wormhole.tokenId("Optimism","native")],WETH:[e.Wormhole.tokenId("Arbitrum","0x82aF49447D8a07e3bd95BD0d56f35241523fBab1"),e.Wormhole.tokenId("Avalanche","0x49D5c2BdFfac6CE2BFdB6640F4F80f226bc10bAB"),e.Wormhole.tokenId("Base","0x4200000000000000000000000000000000000006"),e.Wormhole.tokenId("Bsc","0x2170Ed0880ac9A755fd29B2688956BD959F933F8"),e.Wormhole.tokenId("Ethereum","0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2"),e.Wormhole.tokenId("Optimism","0x4200000000000000000000000000000000000006"),e.Wormhole.tokenId("Polygon","0x7ceB23fD6bC0adD59E62ac25578270cFf1b9f619")],wstETH:[e.Wormhole.tokenId("Arbitrum","0x5979D7b546E38E414F7E9822514be443A4800529"),e.Wormhole.tokenId("Base","0xc1CBa3fCea344f92D9239c08C0568f6F2F0ee452"),e.Wormhole.tokenId("Ethereum","0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0"),e.Wormhole.tokenId("Optimism","0x1F32b1c2345538c0c6f582fCB022739c4A194Ebb"),e.Wormhole.tokenId("Polygon","0x03b54A6e9a984069379fae1a4fC4dBAE93B3bCCD")],USDT:[e.Wormhole.tokenId("Arbitrum","0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9"),e.Wormhole.tokenId("Avalanche","0x9702230A8Ea53601f5cD2dc00fDBc13d4dF4A8c7"),e.Wormhole.tokenId("Base","0xfde4C96c8593536E31F229EA8f37b2ADa2699bb2"),e.Wormhole.tokenId("Bsc","0x55d398326f99059fF775485246999027B3197955"),e.Wormhole.tokenId("Ethereum","0xdAC17F958D2ee523a2206206994597C13D831ec7"),e.Wormhole.tokenId("Optimism","0x94b008aA00579c1307B0EF2c499aD98a8ce58e58"),e.Wormhole.tokenId("Polygon","0xc2132D05D31c914a87C6611C10748AEb04B58e8F"),e.Wormhole.tokenId("Celo","0x48065fbBE25f71C9282ddf5e1cD6D6A887483D5e")]};class l{network;chain;provider;contracts;chainId;core;tokenBridge;constructor(o,t,r,n){if(this.network=o,this.chain=t,this.provider=r,this.contracts=n,!n.portico)throw new Error("Unsupported chain, no contract addresses for: "+t);this.core=new S.EvmWormholeCore(o,t,r,n),this.tokenBridge=new q.EvmTokenBridge(o,t,r,n),this.chainId=e.networkChainToNativeChainId.get(o,t)}static async fromRpc(o,t){const[r,n]=await w.EvmPlatform.chainFromRpc(o),s=t[n];if(s.network!==r)throw new Error(`Network mismatch: ${s.network} != ${r}`);return new l(r,n,o,s.contracts)}async*transfer(o,t,r,n,s,c,a){const{minAmountStart:i,minAmountFinish:d}=a.swapAmounts;if(i===0n)throw new Error("Invalid min swap amount");if(d===0n)throw new Error("Invalid min swap amount");const p=new e.EvmAddress(o).toString(),[h,m]=e.resolveWrappedToken(this.network,this.chain,r),[T,C]=e.resolveWrappedToken(this.network,t.chain,s),f=e.canonicalAddress(m),b=e.canonicalAddress(await this.getTransferrableToken(f)),I=e.canonicalAddress(t),v=e.canonicalAddress(C),F=new Date().valueOf()%2**4,B=e.PorticoBridge.serializeFlagSet({flags:{shouldWrapNative:h,shouldUnwrapNative:T},recipientChain:e.toChainId(t.chain),bridgeNonce:F,feeTierStart:k,feeTierFinish:k,padding:new Uint8Array(19)}),y=A.encodeFunctionData("start",[[B,f.toLowerCase(),b,v.toLowerCase(),I,c,n.toString(),i.toString(),d.toString(),a.relayerFee.toString()]]),x=this.getTokenGroup(m.address.toString()),g=this.getPorticoAddress(x);h||(yield*this.approve(f,p,n,g));const W=await this.core.getMessageFee(),D={to:g,data:y,value:W+(h?n:0n)};yield this.createUnsignedTransaction(e.addFrom(D,p),"PorticoBridge.Transfer")}async*redeem(o,t){const r=e.toChain(t.payload.payload.flagSet.recipientChain),n=t.payload.payload.finalTokenAddress.toNative(r).toString(),s=this.getTokenGroup(n),c=this.getPorticoAddress(s),i=await new u.Contract(c,A.fragments,this.provider).getFunction("receiveMessageAndSwap").populateTransaction(e.serialize$1(t)),d=new e.EvmAddress(o).toString();yield this.createUnsignedTransaction(e.addFrom(i,d),"PorticoBridge.Redeem")}async isTransferCompleted(o){return await this.tokenBridge.tokenBridge.isTransferCompleted(e.keccak256(o.hash))}async quoteSwap(o,t,r,n){const[,s]=e.resolveWrappedToken(this.network,this.chain,o),[,c]=e.resolveWrappedToken(this.network,this.chain,t),a=e.canonicalAddress(s),i=e.canonicalAddress(c);if(e.isEqualCaseInsensitive(a,i))return n;const d=this.getQuoterAddress(r);return(await new u.Contract(d,U.fragments,this.provider).getFunction("quoteExactInputSingle").staticCall([a,i,n,k,0]))[0]}async quoteRelay(o,t){return await R.quoteRelayer(this.chain,o,t)}async getTransferrableToken(o){const t=e.Wormhole.tokenId(this.chain,o),[,r]=e.resolveWrappedToken(this.network,this.chain,t);if(this.chain==="Ethereum")return r;const n=Object.values(E).find(a=>a.find(i=>i.chain===this.chain&&e.canonicalAddress(i)===e.canonicalAddress(r)));if(!n)throw new Error(`No token group found for ${o} on ${this.chain}`);const s=n.find(a=>a.chain==="Ethereum");if(!s)throw new Error(`No Ethereum origin token found for ${o} on ${this.chain}`);const c=await this.tokenBridge.getWrappedAsset(s);return e.Wormhole.tokenId(this.chain,c.toString())}supportedTokens(){const o=[];for(const[t,r]of Object.entries(E))for(const n of r)n.chain===this.chain&&o.push({group:t,token:n});return o}getTokenGroup(o){const r=this.supportedTokens().find(n=>e.canonicalAddress(n.token)===o);if(!r)throw new Error("Token not found");return r.group}async*approve(o,t,r,n){const s=w.EvmPlatform.getTokenImplementation(this.provider,o);if(await s.allowance(t,n)<r){const a=await s.approve.populateTransaction(n,r);yield this.createUnsignedTransaction(e.addFrom(a,t),"PorticoBridge.Approve")}}createUnsignedTransaction(o,t){return new P.EvmUnsignedTransaction(e.addChainId(o,this.chainId),this.network,this.chain,t,!1)}getPorticoAddress(o){const t=this.contracts.portico;return o==="USDT"&&t.porticoPancakeSwap||t.porticoUniswap}getQuoterAddress(o){const t=this.contracts.portico;return o==="USDT"&&t.pancakeSwapQuoterV2||t.uniswapQuoterV2}}e.registerProtocol(e._platform,"PorticoBridge",l);exports.EvmPorticoBridge=l;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("./contract-CTycrpaK.js"),e=require("./web3-BKaP497Y.js"),S=require("./index-BZZZ8OeS.js"),q=require("./index-Cv9hvmqc.js"),w=require("./platform-qdbxkhTI.js"),P=require("./unsignedTransaction-Bv76DnOj.js"),A=new u.Interface(["function start((bytes32,address,address,address,address,address,uint256,uint256,uint256,uint256)) returns (address,uint16,uint64)","function receiveMessageAndSwap(bytes)"]),U=new u.Interface(["function quoteExactInputSingle((address,address,uint256,uint24,uint160)) public view returns (uint256,uint160,uint32,uint256)"]),N="https://gfx.relayers.xlabs.xyz/api/v1/swap/quote";class R{static async quoteRelayer(o,t,r){if(e.isNative(t)||e.isNative(r))throw new Error("how did you get here tho?");const n=e.hex.encode(t.toUniversalAddress().toUint8Array(),!1),s=e.hex.encode(r.toUniversalAddress().toUint8Array(),!1),a={targetChain:e.toChainId(o),sourceToken:n,targetToken:s};try{const i=await e.axios.post(N,a);return BigInt(i.data.fee)}catch(i){throw e.axios.isAxiosError(i)?new Error(`Error getting relayer fee: ${i.response?.statusText}`):i}}}const k=100,E={ETH:[e.Wormhole.tokenId("Arbitrum","native"),e.Wormhole.tokenId("Base","native"),e.Wormhole.tokenId("Ethereum","native"),e.Wormhole.tokenId("Optimism","native")],WETH:[e.Wormhole.tokenId("Arbitrum","0x82aF49447D8a07e3bd95BD0d56f35241523fBab1"),e.Wormhole.tokenId("Avalanche","0x49D5c2BdFfac6CE2BFdB6640F4F80f226bc10bAB"),e.Wormhole.tokenId("Base","0x4200000000000000000000000000000000000006"),e.Wormhole.tokenId("Bsc","0x2170Ed0880ac9A755fd29B2688956BD959F933F8"),e.Wormhole.tokenId("Ethereum","0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2"),e.Wormhole.tokenId("Optimism","0x4200000000000000000000000000000000000006"),e.Wormhole.tokenId("Polygon","0x7ceB23fD6bC0adD59E62ac25578270cFf1b9f619")],wstETH:[e.Wormhole.tokenId("Arbitrum","0x5979D7b546E38E414F7E9822514be443A4800529"),e.Wormhole.tokenId("Base","0xc1CBa3fCea344f92D9239c08C0568f6F2F0ee452"),e.Wormhole.tokenId("Ethereum","0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0"),e.Wormhole.tokenId("Optimism","0x1F32b1c2345538c0c6f582fCB022739c4A194Ebb"),e.Wormhole.tokenId("Polygon","0x03b54A6e9a984069379fae1a4fC4dBAE93B3bCCD")],USDT:[e.Wormhole.tokenId("Arbitrum","0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9"),e.Wormhole.tokenId("Avalanche","0x9702230A8Ea53601f5cD2dc00fDBc13d4dF4A8c7"),e.Wormhole.tokenId("Base","0xfde4C96c8593536E31F229EA8f37b2ADa2699bb2"),e.Wormhole.tokenId("Bsc","0x55d398326f99059fF775485246999027B3197955"),e.Wormhole.tokenId("Ethereum","0xdAC17F958D2ee523a2206206994597C13D831ec7"),e.Wormhole.tokenId("Optimism","0x94b008aA00579c1307B0EF2c499aD98a8ce58e58"),e.Wormhole.tokenId("Polygon","0xc2132D05D31c914a87C6611C10748AEb04B58e8F"),e.Wormhole.tokenId("Celo","0x48065fbBE25f71C9282ddf5e1cD6D6A887483D5e")]};class l{network;chain;provider;contracts;chainId;core;tokenBridge;constructor(o,t,r,n){if(this.network=o,this.chain=t,this.provider=r,this.contracts=n,!n.portico)throw new Error("Unsupported chain, no contract addresses for: "+t);this.core=new S.EvmWormholeCore(o,t,r,n),this.tokenBridge=new q.EvmTokenBridge(o,t,r,n),this.chainId=e.networkChainToNativeChainId.get(o,t)}static async fromRpc(o,t){const[r,n]=await w.EvmPlatform.chainFromRpc(o),s=t[n];if(s.network!==r)throw new Error(`Network mismatch: ${s.network} != ${r}`);return new l(r,n,o,s.contracts)}async*transfer(o,t,r,n,s,c,a){const{minAmountStart:i,minAmountFinish:d}=a.swapAmounts;if(i===0n)throw new Error("Invalid min swap amount");if(d===0n)throw new Error("Invalid min swap amount");const p=new e.EvmAddress(o).toString(),[h,m]=e.resolveWrappedToken(this.network,this.chain,r),[T,C]=e.resolveWrappedToken(this.network,t.chain,s),f=e.canonicalAddress(m),b=e.canonicalAddress(await this.getTransferrableToken(f)),I=e.canonicalAddress(t),v=e.canonicalAddress(C),F=new Date().valueOf()%2**4,B=e.PorticoBridge.serializeFlagSet({flags:{shouldWrapNative:h,shouldUnwrapNative:T},recipientChain:e.toChainId(t.chain),bridgeNonce:F,feeTierStart:k,feeTierFinish:k,padding:new Uint8Array(19)}),y=A.encodeFunctionData("start",[[B,f.toLowerCase(),b,v.toLowerCase(),I,c,n.toString(),i.toString(),d.toString(),a.relayerFee.toString()]]),x=this.getTokenGroup(m.address.toString()),g=this.getPorticoAddress(x);h||(yield*this.approve(f,p,n,g));const W=await this.core.getMessageFee(),D={to:g,data:y,value:W+(h?n:0n)};yield this.createUnsignedTransaction(e.addFrom(D,p),"PorticoBridge.Transfer")}async*redeem(o,t){const r=e.toChain(t.payload.payload.flagSet.recipientChain),n=t.payload.payload.finalTokenAddress.toNative(r).toString(),s=this.getTokenGroup(n),c=this.getPorticoAddress(s),i=await new u.Contract(c,A.fragments,this.provider).getFunction("receiveMessageAndSwap").populateTransaction(e.serialize$1(t)),d=new e.EvmAddress(o).toString();yield this.createUnsignedTransaction(e.addFrom(i,d),"PorticoBridge.Redeem")}async isTransferCompleted(o){return await this.tokenBridge.tokenBridge.isTransferCompleted(e.keccak256(o.hash))}async quoteSwap(o,t,r,n){const[,s]=e.resolveWrappedToken(this.network,this.chain,o),[,c]=e.resolveWrappedToken(this.network,this.chain,t),a=e.canonicalAddress(s),i=e.canonicalAddress(c);if(e.isEqualCaseInsensitive(a,i))return n;const d=this.getQuoterAddress(r);return(await new u.Contract(d,U.fragments,this.provider).getFunction("quoteExactInputSingle").staticCall([a,i,n,k,0]))[0]}async quoteRelay(o,t){return await R.quoteRelayer(this.chain,o,t)}async getTransferrableToken(o){const t=e.Wormhole.tokenId(this.chain,o),[,r]=e.resolveWrappedToken(this.network,this.chain,t);if(this.chain==="Ethereum")return r;const n=Object.values(E).find(a=>a.find(i=>i.chain===this.chain&&e.canonicalAddress(i)===e.canonicalAddress(r)));if(!n)throw new Error(`No token group found for ${o} on ${this.chain}`);const s=n.find(a=>a.chain==="Ethereum");if(!s)throw new Error(`No Ethereum origin token found for ${o} on ${this.chain}`);const c=await this.tokenBridge.getWrappedAsset(s);return e.Wormhole.tokenId(this.chain,c.toString())}supportedTokens(){const o=[];for(const[t,r]of Object.entries(E))for(const n of r)n.chain===this.chain&&o.push({group:t,token:n});return o}getTokenGroup(o){const r=this.supportedTokens().find(n=>e.canonicalAddress(n.token)===o);if(!r)throw new Error("Token not found");return r.group}async*approve(o,t,r,n){const s=w.EvmPlatform.getTokenImplementation(this.provider,o);if(await s.allowance(t,n)<r){const a=await s.approve.populateTransaction(n,r);yield this.createUnsignedTransaction(e.addFrom(a,t),"PorticoBridge.Approve")}}createUnsignedTransaction(o,t){return new P.EvmUnsignedTransaction(e.addChainId(o,this.chainId),this.network,this.chain,t,!1)}getPorticoAddress(o){const t=this.contracts.portico;return o==="USDT"&&t.porticoPancakeSwap||t.porticoUniswap}getQuoterAddress(o){const t=this.contracts.portico;return o==="USDT"&&t.pancakeSwapQuoterV2||t.uniswapQuoterV2}}e.registerProtocol(e._platform,"PorticoBridge",l);exports.EvmPorticoBridge=l;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./web3-C1wK6wIV.js"),d=require("./index-C6XNAQ4w.js"),h=require("./contract-MkLF5rqi.js"),o=require("./platform-4nANkJAM.js"),w=require("./unsignedTransaction-Bv76DnOj.js");class s{network;chain;provider;contracts;chainId;core;gatewayAddress;gateway;tbtcTokenAddr;constructor(e,t,n,a){if(this.network=e,this.chain=t,this.provider=n,this.contracts=a,this.network!=="Mainnet")throw new Error("TBTC is only supported on Mainnet");if(!this.contracts.tbtc)throw new Error("TBTC contract address is required");const i=r.TBTCBridge.getNativeTbtcToken(this.chain);if(!i)throw new Error("Native tbtc token not found");this.chainId=r.networkChainToNativeChainId.get(e,t),this.core=new d.EvmWormholeCore(e,t,n,a),this.gatewayAddress=this.contracts.tbtc,this.gateway=new h.Contract(this.gatewayAddress,["function sendTbtc(uint256 amount, uint16 recipientChain, bytes32 recipient, uint256 arbiterFee, uint32 nonce) payable returns (uint64)","function receiveTbtc(bytes calldata encodedVm)"],n),this.tbtcTokenAddr=r.canonicalAddress(i)}static async fromRpc(e,t){const[n,a]=await o.EvmPlatform.chainFromRpc(e),i=t[a];if(i.network!==n)throw new Error(`Network mismatch: ${i.network} != ${n}`);return new s(n,a,e,i.contracts)}async*transfer(e,t,n){const a=new r.EvmAddress(e).toString(),i=await this.gateway.sendTbtc.populateTransaction(n,r.toChainId(t.chain),t.address.toUniversalAddress().toUint8Array(),0n,0n);i.value=await this.core.getMessageFee(),yield*this.approve(a,n,this.gatewayAddress),yield this.createUnsignedTransaction(r.addFrom(i,a),"TBTCBridge.Send")}async*redeem(e,t){if(t.payloadName!=="GatewayTransfer")throw new Error("Invalid VAA payload");const n=new r.EvmAddress(e).toString(),a=await this.gateway.receiveTbtc.populateTransaction(r.serialize$1(t));yield this.createUnsignedTransaction(r.addFrom(a,n),"TBTCBridge.Redeem")}async*approve(e,t,n){const a=o.EvmPlatform.getTokenImplementation(this.provider,this.tbtcTokenAddr);if(await a.allowance(e,n)<t){const c=await a.approve.populateTransaction(n,t);yield this.createUnsignedTransaction(r.addFrom(c,e),"TBTC.Approve")}}createUnsignedTransaction(e,t){return new w.EvmUnsignedTransaction(r.addChainId(e,this.chainId),this.network,this.chain,t,!1)}}r.registerProtocol(r._platform,"TBTCBridge",s);exports.EvmTBTCBridge=s;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./web3-BKaP497Y.js"),d=require("./index-BZZZ8OeS.js"),h=require("./contract-CTycrpaK.js"),o=require("./platform-qdbxkhTI.js"),w=require("./unsignedTransaction-Bv76DnOj.js");class s{network;chain;provider;contracts;chainId;core;gatewayAddress;gateway;tbtcTokenAddr;constructor(e,t,n,a){if(this.network=e,this.chain=t,this.provider=n,this.contracts=a,this.network!=="Mainnet")throw new Error("TBTC is only supported on Mainnet");if(!this.contracts.tbtc)throw new Error("TBTC contract address is required");const i=r.TBTCBridge.getNativeTbtcToken(this.chain);if(!i)throw new Error("Native tbtc token not found");this.chainId=r.networkChainToNativeChainId.get(e,t),this.core=new d.EvmWormholeCore(e,t,n,a),this.gatewayAddress=this.contracts.tbtc,this.gateway=new h.Contract(this.gatewayAddress,["function sendTbtc(uint256 amount, uint16 recipientChain, bytes32 recipient, uint256 arbiterFee, uint32 nonce) payable returns (uint64)","function receiveTbtc(bytes calldata encodedVm)"],n),this.tbtcTokenAddr=r.canonicalAddress(i)}static async fromRpc(e,t){const[n,a]=await o.EvmPlatform.chainFromRpc(e),i=t[a];if(i.network!==n)throw new Error(`Network mismatch: ${i.network} != ${n}`);return new s(n,a,e,i.contracts)}async*transfer(e,t,n){const a=new r.EvmAddress(e).toString(),i=await this.gateway.sendTbtc.populateTransaction(n,r.toChainId(t.chain),t.address.toUniversalAddress().toUint8Array(),0n,0n);i.value=await this.core.getMessageFee(),yield*this.approve(a,n,this.gatewayAddress),yield this.createUnsignedTransaction(r.addFrom(i,a),"TBTCBridge.Send")}async*redeem(e,t){if(t.payloadName!=="GatewayTransfer")throw new Error("Invalid VAA payload");const n=new r.EvmAddress(e).toString(),a=await this.gateway.receiveTbtc.populateTransaction(r.serialize$1(t));yield this.createUnsignedTransaction(r.addFrom(a,n),"TBTCBridge.Redeem")}async*approve(e,t,n){const a=o.EvmPlatform.getTokenImplementation(this.provider,this.tbtcTokenAddr);if(await a.allowance(e,n)<t){const c=await a.approve.populateTransaction(n,t);yield this.createUnsignedTransaction(r.addFrom(c,e),"TBTC.Approve")}}createUnsignedTransaction(e,t){return new w.EvmUnsignedTransaction(r.addChainId(e,this.chainId),this.network,this.chain,t,!1)}}r.registerProtocol(r._platform,"TBTCBridge",s);exports.EvmTBTCBridge=s;
@@ -1,7 +1,7 @@
1
- import { E as l, C as m } from "./platform-BHAZvZ_O.mjs";
2
- import { I as T, C as g } from "./contract-C_4H8x77.mjs";
3
- import { m as h, aB as c, aE as y, aG as v, dQ as M, q as S, aF as w, aH as I, aI as x } from "./web3-BkEb7AgB.mjs";
4
- import { c as C } from "./create-naslyPfU.mjs";
1
+ import { E as l, C as m } from "./platform-DtB8gGMl.mjs";
2
+ import { I as T, C as g } from "./contract-KYuIk_vR.mjs";
3
+ import { m as h, aB as c, aE as y, aG as v, dQ as M, q as S, aF as w, aH as I, aI as x } from "./web3-BifDBsFp.mjs";
4
+ import { c as C } from "./create-BvzkkBPW.mjs";
5
5
  import { E as A } from "./unsignedTransaction-Efb4L-cb.mjs";
6
6
  class r {
7
7
  network;
@@ -1 +1 @@
1
- "use strict";const t=require("./web3-C1wK6wIV.js");function I(n,e,o,s){t.ahash(n);const a=t.checkOpts$1({dkLen:32,asyncTick:10},s),{c:d,dkLen:i,asyncTick:r}=a;if(t.anumber(d),t.anumber(i),t.anumber(r),d<1)throw new Error("iterations (c) should be >= 1");const f=t.kdfInputToBytes(e),u=t.kdfInputToBytes(o),l=new Uint8Array(i),p=t.hmac.create(n,f),c=p._cloneInto().update(u);return{c:d,dkLen:i,asyncTick:r,DK:l,PRF:p,PRFSalt:c}}function T(n,e,o,s,a){return n.destroy(),e.destroy(),s&&s.destroy(),t.clean(a),o}function L(n,e,o,s){const{c:a,dkLen:d,DK:i,PRF:r,PRFSalt:f}=I(n,e,o,s);let u;const l=new Uint8Array(4),p=t.createView$1(l),c=new Uint8Array(r.outputLen);for(let w=1,y=0;y<d;w++,y+=r.outputLen){const m=i.subarray(y,y+r.outputLen);p.setInt32(0,w,!1),(u=f._cloneInto(u)).update(l).digestInto(c),m.set(c.subarray(0,m.length));for(let b=1;b<a;b++){r._cloneInto(u).update(c).digestInto(c);for(let k=0;k<m.length;k++)m[k]^=c[k]}}return T(r,f,i,u,c)}/*! scure-bip39 - MIT License (c) 2022 Patricio Palladino, Paul Miller (paulmillr.com) */function h(n){if(typeof n!="string")throw new TypeError("invalid mnemonic type: "+typeof n);return n.normalize("NFKD")}function g(n){const e=h(n),o=e.split(" ");if(![12,15,18,21,24].includes(o.length))throw new Error("Invalid mnemonic");return{nfkd:e,words:o}}const S=n=>h("mnemonic"+n);function F(n,e=""){return L(t.sha512$1,g(n).nfkd,S(e),{c:2048,dkLen:64})}exports.mnemonicToSeedSync=F;
1
+ "use strict";const t=require("./web3-BKaP497Y.js");function I(n,e,o,s){t.ahash(n);const a=t.checkOpts$1({dkLen:32,asyncTick:10},s),{c:d,dkLen:i,asyncTick:r}=a;if(t.anumber(d),t.anumber(i),t.anumber(r),d<1)throw new Error("iterations (c) should be >= 1");const f=t.kdfInputToBytes(e),u=t.kdfInputToBytes(o),l=new Uint8Array(i),p=t.hmac.create(n,f),c=p._cloneInto().update(u);return{c:d,dkLen:i,asyncTick:r,DK:l,PRF:p,PRFSalt:c}}function T(n,e,o,s,a){return n.destroy(),e.destroy(),s&&s.destroy(),t.clean(a),o}function L(n,e,o,s){const{c:a,dkLen:d,DK:i,PRF:r,PRFSalt:f}=I(n,e,o,s);let u;const l=new Uint8Array(4),p=t.createView$1(l),c=new Uint8Array(r.outputLen);for(let w=1,y=0;y<d;w++,y+=r.outputLen){const m=i.subarray(y,y+r.outputLen);p.setInt32(0,w,!1),(u=f._cloneInto(u)).update(l).digestInto(c),m.set(c.subarray(0,m.length));for(let b=1;b<a;b++){r._cloneInto(u).update(c).digestInto(c);for(let k=0;k<m.length;k++)m[k]^=c[k]}}return T(r,f,i,u,c)}/*! scure-bip39 - MIT License (c) 2022 Patricio Palladino, Paul Miller (paulmillr.com) */function h(n){if(typeof n!="string")throw new TypeError("invalid mnemonic type: "+typeof n);return n.normalize("NFKD")}function g(n){const e=h(n),o=e.split(" ");if(![12,15,18,21,24].includes(o.length))throw new Error("Invalid mnemonic");return{nfkd:e,words:o}}const S=n=>h("mnemonic"+n);function F(n,e=""){return L(t.sha512$1,g(n).nfkd,S(e),{c:2048,dkLen:64})}exports.mnemonicToSeedSync=F;
@@ -1,6 +1,6 @@
1
- import { T as f, A as c } from "./unsignedTransaction-BmxD6VsY.mjs";
2
- import { c as h } from "./unsignedTransaction-BmxD6VsY.mjs";
3
- import { P as s, L as t, ar as o, aq as O, as as p } from "./web3-BkEb7AgB.mjs";
1
+ import { T as f, A as c } from "./unsignedTransaction-CVE7GUdC.mjs";
2
+ import { c as h } from "./unsignedTransaction-CVE7GUdC.mjs";
3
+ import { P as s, L as t, ar as o, aq as O, as as p } from "./web3-BifDBsFp.mjs";
4
4
  class A extends Error {
5
5
  constructor(r) {
6
6
  super(r);
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("./chunk-KJH4KKG6-BXBLZwfY.js"),a=require("./web3-C1wK6wIV.js"),v=require("./platform-BhspUaMJ.js"),k=require("./unsignedTransaction-BXJ9Cpni.js"),M=[["Mainnet",{depositForBurn:"0xa11ceb0b0700000a0701000802080e031614042a04052e30075e870108e5014000000001000201030004000001050701000100060b0001070304010801020805060108010309080900010002010205060c030e05050208000b010108020108020105010b0101090003060c0b01010900030108000004060c08000e0501030e66756e6769626c655f6173736574066f626a656374167072696d6172795f66756e6769626c655f73746f72650f746f6b656e5f6d657373656e6765720d46756e6769626c654173736574064f626a656374084d6574616461746111616464726573735f746f5f6f626a656374087769746864726177106465706f7369745f666f725f6275726e00000000000000000000000000000000000000000000000000000000000000019bce6734f7b63e835108e3bd8c36743d4709fe435f44791918801d0989640a9d0000010f0b0438000c060a000b060b0138010c050b000b050b020b0311020102",handleReceiveMessage:"0xa11ceb0b0700000a0601000402040403080c051416072a53087d40000001010002000000030203000101040304000103060c0a020a020003060c060a02060a020108000101136d6573736167655f7472616e736d69747465720f746f6b656e5f6d657373656e67657207526563656970740f726563656976655f6d6573736167651668616e646c655f726563656976655f6d657373616765177e17751820e4b4371873ca8c30279be63bdea63b88ed0f2239c2eea10f17729bce6734f7b63e835108e3bd8c36743d4709fe435f44791918801d0989640a9d000001070b000e010e02110011010102"}],["Testnet",{depositForBurn:"0xa11ceb0b0700000a0701000802080e031614042a04052e30075e870108e5014000000001000201030004000001050701000100060b0001070304010801020805060108010309080900010002010205060c030e05050208000b010108020108020105010b0101090003060c0b01010900030108000004060c08000e0501030e66756e6769626c655f6173736574066f626a656374167072696d6172795f66756e6769626c655f73746f72650f746f6b656e5f6d657373656e6765720d46756e6769626c654173736574064f626a656374084d6574616461746111616464726573735f746f5f6f626a656374087769746864726177106465706f7369745f666f725f6275726e00000000000000000000000000000000000000000000000000000000000000015f9b937419dda90aa06c1836b7847f65bbbe3f1217567758dc2488be31a477b90000010f0b0438000c060a000b060b0138010c050b000b050b020b0311020102",handleReceiveMessage:"0xa11ceb0b0700000a0601000402040403080c051416072a53087d40000001010002000000030203000101040304000103060c0a020a020003060c060a02060a020108000101136d6573736167655f7472616e736d69747465720f746f6b656e5f6d657373656e67657207526563656970740f726563656976655f6d6573736167651668616e646c655f726563656976655f6d657373616765081e86cebf457a0c6004f35bd648a2794698f52e0dde09a48619dcd3d4cc23d95f9b937419dda90aa06c1836b7847f65bbbe3f1217567758dc2488be31a477b9000001070b000e010e02110011010102"}]],p=a.constMap(M,[0,1]);class b{network;chain;provider;contracts;usdcId;tokenMessengerId;messageTransmitterId;moveScripts;constructor(t,n,r,e){if(this.network=t,this.chain=n,this.provider=r,this.contracts=e,t==="Devnet")throw new Error("CircleBridge not supported on Devnet");const s=a.usdcContract.get(this.network,this.chain);if(!s)throw new Error(`No USDC contract configured for network=${this.network} chain=${this.chain}`);if(!e.cctp?.tokenMessenger)throw new Error(`Circle Token Messenger contract for domain ${n} not found`);if(!e.cctp?.messageTransmitter)throw new Error(`Circle Message Transmitter contract for domain ${n} not found`);if(!p.has(t))throw new Error("No Aptos CCTP move scripts found");this.usdcId=s,this.tokenMessengerId=e.cctp?.tokenMessenger,this.messageTransmitterId=e.cctp.messageTransmitter,this.moveScripts=p.get(t)}async*transfer(t,n,r){const e=new c.y(a.circleChainId.get(this.network,n.chain)),s=c.l.from(this.usdcId),i=c.l.from(n.address.toUniversalAddress().toUint8Array()),o=[new c.m$1(r),e,i,s],h={bytecode:this.moveScripts.depositForBurn,functionArguments:o};yield this.createUnsignedTx(h,"Aptos.CircleBridge.Transfer")}async isTransferCompleted(t){const n=new c.y(t.sourceDomain).bcsToBytes(),r=new c.m$1(t.nonce).bcsToBytes(),e=a.keccak_256(new Uint8Array([...n,45,...r])),s=a.hex.encode(e);return(await this.provider.view({payload:{function:`${this.messageTransmitterId}::message_transmitter::is_nonce_used`,functionArguments:[s]}}))[0]}async*redeem(t,n,r){const e=[c.t$1.U8(a.CircleBridge.serialize(n)),c.t$1.U8(a.hex.decode(r))],s={bytecode:this.moveScripts.handleReceiveMessage,functionArguments:e};yield this.createUnsignedTx(s,"Aptos.CircleBridge.Redeem")}async parseTransactionDetails(t){let e,s;for(let f=0;f<5;f++)try{const m=await this.provider.getTransactionByHash({transactionHash:t}),g=this.messageTransmitterId.replace(/^0x0+/,"0x");if(s=m.events?.find(u=>u.type===`${g}::message_transmitter::MessageSent`),s)break;e=new Error(`MessageSent event not found in transaction ${t}`),f<4&&await new Promise(u=>setTimeout(u,1e3))}catch(m){e=m,f<4&&await new Promise(g=>setTimeout(g,1e3))}if(!s)throw e||new Error("No MessageSent event found after 5 attempts");const i=a.hex.decode(s.data.message),[o,h]=a.CircleBridge.deserialize(i),{payload:d}=o,w=d.messageSender,T=d.mintRecipient,l=a.toCircleChain(this.network,o.sourceDomain),y=a.toCircleChain(this.network,o.destinationDomain),C={chain:l,address:d.burnToken};return{from:{chain:l,address:w},to:{chain:y,address:T},token:C,amount:d.amount,message:o,id:{hash:h}}}static async fromRpc(t,n){const[r,e]=await v.AptosPlatform.chainFromRpc(t),s=n[e];if(s.network!==r)throw new Error(`Network mismatch: ${s.network} != ${r}`);return new b(r,e,t,s.contracts)}createUnsignedTx(t,n,r=!1){return new k.AptosUnsignedTransaction(t,this.network,this.chain,n,r)}}a.registerProtocol("Aptos","CircleBridge",b);exports.AptosCircleBridge=b;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("./chunk-KJH4KKG6-DNlN4p21.js"),a=require("./web3-BKaP497Y.js"),v=require("./platform-C6QB7aIN.js"),k=require("./unsignedTransaction-BXJ9Cpni.js"),M=[["Mainnet",{depositForBurn:"0xa11ceb0b0700000a0701000802080e031614042a04052e30075e870108e5014000000001000201030004000001050701000100060b0001070304010801020805060108010309080900010002010205060c030e05050208000b010108020108020105010b0101090003060c0b01010900030108000004060c08000e0501030e66756e6769626c655f6173736574066f626a656374167072696d6172795f66756e6769626c655f73746f72650f746f6b656e5f6d657373656e6765720d46756e6769626c654173736574064f626a656374084d6574616461746111616464726573735f746f5f6f626a656374087769746864726177106465706f7369745f666f725f6275726e00000000000000000000000000000000000000000000000000000000000000019bce6734f7b63e835108e3bd8c36743d4709fe435f44791918801d0989640a9d0000010f0b0438000c060a000b060b0138010c050b000b050b020b0311020102",handleReceiveMessage:"0xa11ceb0b0700000a0601000402040403080c051416072a53087d40000001010002000000030203000101040304000103060c0a020a020003060c060a02060a020108000101136d6573736167655f7472616e736d69747465720f746f6b656e5f6d657373656e67657207526563656970740f726563656976655f6d6573736167651668616e646c655f726563656976655f6d657373616765177e17751820e4b4371873ca8c30279be63bdea63b88ed0f2239c2eea10f17729bce6734f7b63e835108e3bd8c36743d4709fe435f44791918801d0989640a9d000001070b000e010e02110011010102"}],["Testnet",{depositForBurn:"0xa11ceb0b0700000a0701000802080e031614042a04052e30075e870108e5014000000001000201030004000001050701000100060b0001070304010801020805060108010309080900010002010205060c030e05050208000b010108020108020105010b0101090003060c0b01010900030108000004060c08000e0501030e66756e6769626c655f6173736574066f626a656374167072696d6172795f66756e6769626c655f73746f72650f746f6b656e5f6d657373656e6765720d46756e6769626c654173736574064f626a656374084d6574616461746111616464726573735f746f5f6f626a656374087769746864726177106465706f7369745f666f725f6275726e00000000000000000000000000000000000000000000000000000000000000015f9b937419dda90aa06c1836b7847f65bbbe3f1217567758dc2488be31a477b90000010f0b0438000c060a000b060b0138010c050b000b050b020b0311020102",handleReceiveMessage:"0xa11ceb0b0700000a0601000402040403080c051416072a53087d40000001010002000000030203000101040304000103060c0a020a020003060c060a02060a020108000101136d6573736167655f7472616e736d69747465720f746f6b656e5f6d657373656e67657207526563656970740f726563656976655f6d6573736167651668616e646c655f726563656976655f6d657373616765081e86cebf457a0c6004f35bd648a2794698f52e0dde09a48619dcd3d4cc23d95f9b937419dda90aa06c1836b7847f65bbbe3f1217567758dc2488be31a477b9000001070b000e010e02110011010102"}]],p=a.constMap(M,[0,1]);class b{network;chain;provider;contracts;usdcId;tokenMessengerId;messageTransmitterId;moveScripts;constructor(t,n,r,e){if(this.network=t,this.chain=n,this.provider=r,this.contracts=e,t==="Devnet")throw new Error("CircleBridge not supported on Devnet");const s=a.usdcContract.get(this.network,this.chain);if(!s)throw new Error(`No USDC contract configured for network=${this.network} chain=${this.chain}`);if(!e.cctp?.tokenMessenger)throw new Error(`Circle Token Messenger contract for domain ${n} not found`);if(!e.cctp?.messageTransmitter)throw new Error(`Circle Message Transmitter contract for domain ${n} not found`);if(!p.has(t))throw new Error("No Aptos CCTP move scripts found");this.usdcId=s,this.tokenMessengerId=e.cctp?.tokenMessenger,this.messageTransmitterId=e.cctp.messageTransmitter,this.moveScripts=p.get(t)}async*transfer(t,n,r){const e=new c.y(a.circleChainId.get(this.network,n.chain)),s=c.l.from(this.usdcId),i=c.l.from(n.address.toUniversalAddress().toUint8Array()),o=[new c.m$1(r),e,i,s],h={bytecode:this.moveScripts.depositForBurn,functionArguments:o};yield this.createUnsignedTx(h,"Aptos.CircleBridge.Transfer")}async isTransferCompleted(t){const n=new c.y(t.sourceDomain).bcsToBytes(),r=new c.m$1(t.nonce).bcsToBytes(),e=a.keccak_256(new Uint8Array([...n,45,...r])),s=a.hex.encode(e);return(await this.provider.view({payload:{function:`${this.messageTransmitterId}::message_transmitter::is_nonce_used`,functionArguments:[s]}}))[0]}async*redeem(t,n,r){const e=[c.t$1.U8(a.CircleBridge.serialize(n)),c.t$1.U8(a.hex.decode(r))],s={bytecode:this.moveScripts.handleReceiveMessage,functionArguments:e};yield this.createUnsignedTx(s,"Aptos.CircleBridge.Redeem")}async parseTransactionDetails(t){let e,s;for(let f=0;f<5;f++)try{const m=await this.provider.getTransactionByHash({transactionHash:t}),g=this.messageTransmitterId.replace(/^0x0+/,"0x");if(s=m.events?.find(u=>u.type===`${g}::message_transmitter::MessageSent`),s)break;e=new Error(`MessageSent event not found in transaction ${t}`),f<4&&await new Promise(u=>setTimeout(u,1e3))}catch(m){e=m,f<4&&await new Promise(g=>setTimeout(g,1e3))}if(!s)throw e||new Error("No MessageSent event found after 5 attempts");const i=a.hex.decode(s.data.message),[o,h]=a.CircleBridge.deserialize(i),{payload:d}=o,w=d.messageSender,T=d.mintRecipient,l=a.toCircleChain(this.network,o.sourceDomain),y=a.toCircleChain(this.network,o.destinationDomain),C={chain:l,address:d.burnToken};return{from:{chain:l,address:w},to:{chain:y,address:T},token:C,amount:d.amount,message:o,id:{hash:h}}}static async fromRpc(t,n){const[r,e]=await v.AptosPlatform.chainFromRpc(t),s=n[e];if(s.network!==r)throw new Error(`Network mismatch: ${s.network} != ${r}`);return new b(r,e,t,s.contracts)}createUnsignedTx(t,n,r=!1){return new k.AptosUnsignedTransaction(t,this.network,this.chain,n,r)}}a.registerProtocol("Aptos","CircleBridge",b);exports.AptosCircleBridge=b;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("./web3-C1wK6wIV.js"),c=require("./platform-BhspUaMJ.js"),d=require("./create-CfgTxAS-.js");class a{network;chain;connection;contracts;chainId;coreBridge;constructor(e,n,t,o){this.network=e,this.chain=n,this.connection=t,this.contracts=o,this.chainId=s.toChainId(n);const r=o.coreBridge;if(!r)throw new Error(`CoreBridge contract Address for chain ${n} not found`);this.coreBridge=r}getGuardianSet(e){throw new Error("Method not implemented.")}getGuardianSetIndex(){throw new Error("Method not implemented.")}getMessageFee(){throw new Error("Method not implemented.")}static async fromRpc(e,n){const[t,o]=await c.AptosPlatform.chainFromRpc(e),r=n[o];if(r.network!==t)throw new Error(`Network mismatch: ${r.network} !== ${t}`);return new a(t,o,e,r.contracts)}async*publishMessage(e,n){throw new Error("Method not implemented.")}async*verifyMessage(e,n){throw new Error("Not implemented.")}async parseTransaction(e){return(await this.parseMessages(e)).map(t=>({chain:t.emitterChain,emitter:t.emitterAddress,sequence:t.sequence}))}async parseMessages(e){const n=await this.connection.getTransactionByHash({transactionHash:e});if(n.type!=="user_transaction")throw new Error(`${e} is not a user_transaction`);const t=n.events.filter(o=>o.type.endsWith("WormholeMessage"));if(!t||t.length===0)throw new Error(`WormholeMessage not found for ${e}`);return t.map(o=>{const r=o.data,i=new s.UniversalAddress(BigInt(r.sender).toString(16).padStart(64,"0"));return d.createVAA("Uint8Array",{guardianSet:0,emitterChain:this.chain,emitterAddress:i,sequence:BigInt(r.sequence),timestamp:Number(r.timestamp),consistencyLevel:r.consistency_level,nonce:Number(r.nonce),signatures:[],payload:s.hex.decode(r.payload)})})}}s.registerProtocol("Aptos","WormholeCore",a);exports.AptosWormholeCore=a;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("./web3-BKaP497Y.js"),c=require("./platform-C6QB7aIN.js"),d=require("./create-CGZYy2vu.js");class a{network;chain;connection;contracts;chainId;coreBridge;constructor(e,n,t,o){this.network=e,this.chain=n,this.connection=t,this.contracts=o,this.chainId=s.toChainId(n);const r=o.coreBridge;if(!r)throw new Error(`CoreBridge contract Address for chain ${n} not found`);this.coreBridge=r}getGuardianSet(e){throw new Error("Method not implemented.")}getGuardianSetIndex(){throw new Error("Method not implemented.")}getMessageFee(){throw new Error("Method not implemented.")}static async fromRpc(e,n){const[t,o]=await c.AptosPlatform.chainFromRpc(e),r=n[o];if(r.network!==t)throw new Error(`Network mismatch: ${r.network} !== ${t}`);return new a(t,o,e,r.contracts)}async*publishMessage(e,n){throw new Error("Method not implemented.")}async*verifyMessage(e,n){throw new Error("Not implemented.")}async parseTransaction(e){return(await this.parseMessages(e)).map(t=>({chain:t.emitterChain,emitter:t.emitterAddress,sequence:t.sequence}))}async parseMessages(e){const n=await this.connection.getTransactionByHash({transactionHash:e});if(n.type!=="user_transaction")throw new Error(`${e} is not a user_transaction`);const t=n.events.filter(o=>o.type.endsWith("WormholeMessage"));if(!t||t.length===0)throw new Error(`WormholeMessage not found for ${e}`);return t.map(o=>{const r=o.data,i=new s.UniversalAddress(BigInt(r.sender).toString(16).padStart(64,"0"));return d.createVAA("Uint8Array",{guardianSet:0,emitterChain:this.chain,emitterAddress:i,sequence:BigInt(r.sequence),timestamp:Number(r.timestamp),consistencyLevel:r.consistency_level,nonce:Number(r.nonce),signatures:[],payload:s.hex.decode(r.payload)})})}}s.registerProtocol("Aptos","WormholeCore",a);exports.AptosWormholeCore=a;
@@ -1,6 +1,6 @@
1
- import { az as a, aR as i, aH as c } from "./web3-BkEb7AgB.mjs";
2
- import { b as d } from "./platform-BqpAMtgx.mjs";
3
- import { c as h } from "./create-naslyPfU.mjs";
1
+ import { az as a, aR as i, aH as c } from "./web3-BifDBsFp.mjs";
2
+ import { b as d } from "./platform-C5gJAqtZ.mjs";
3
+ import { c as h } from "./create-BvzkkBPW.mjs";
4
4
  class o {
5
5
  network;
6
6
  chain;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./web3-C1wK6wIV.js"),i=require("./address-BO6rj6uK.js"),p=require("./chunk-KJH4KKG6-BXBLZwfY.js"),y=require("./platform-BhspUaMJ.js"),g=require("./unsignedTransaction-BXJ9Cpni.js"),f=[{name:"tokenBridgeAddress",...r.universalAddressItem},{name:"chain",...r.chainItem()},{name:"domainSeparator",binary:"bytes",custom:r.bytes.encode(i.APTOS_SEPARATOR),omit:!0},{name:"tokenId",...r.universalAddressItem},{name:"domainSeparator",binary:"bytes",custom:new Uint8Array([255]),omit:!0}],w=l=>r.serialize(f,l);class d{network;chain;connection;contracts;chainId;tokenBridgeAddress;constructor(e,t,s,n){this.network=e,this.chain=t,this.connection=s,this.contracts=n,this.chainId=r.toChainId(t);const a=n.tokenBridge;if(!a)throw new Error(`TokenBridge contract Address for chain ${t} not found`);this.tokenBridgeAddress=a}static async fromRpc(e,t){const[s,n]=await y.AptosPlatform.chainFromRpc(e),a=t[n];if(a.network!==s)throw new Error("Network mismatch "+a.network+" !== "+s);return new d(s,n,e,a.contracts)}async isWrappedAsset(e){try{return await this.getOriginalAsset(e),!0}catch{return!1}}async getOriginalAsset(e){const t=e.toString().split(i.APTOS_SEPARATOR);let s=null;try{s=await this.connection.getAccountResource({accountAddress:t[0],resourceType:`${this.tokenBridgeAddress}::state::OriginInfo`})}catch(o){throw o instanceof p.T&&o.data?.error_code==="resource_not_found"?r.ErrNotWrapped(e.toString()):o}if(!s)throw r.ErrNotWrapped(e.toString());const n=r.toChain(parseInt(s.token_chain.number)),a=new r.UniversalAddress(s.token_address.external_address);return{chain:n,address:a}}async getTokenUniversalAddress(e){return new r.UniversalAddress(r.hex.encode(r.sha3_256(e.toString()),!0))}async getTokenNativeAddress(e,t){const s=e===this.chain?await this.getTypeFromExternalAddress(t.toString()):await this.getAssetFullyQualifiedType({chain:e,address:t});if(!s)throw new Error("Invalid asset address.");return new i.AptosAddress(s)}async hasWrappedAsset(e){try{return await this.getWrappedAsset(e),!0}catch{}return!1}async getWrappedAsset(e){if(r.isNative(e.address))throw new Error("native asset cannot be a wrapped asset");const t=await this.getAssetFullyQualifiedType(e);if(!t)throw new Error("Invalid asset address.");return await this.connection.getAccountResource({accountAddress:i.coalesceModuleAddress(t),resourceType:`${this.tokenBridgeAddress}::state::OriginInfo`}),r.toNative(this.chain,t)}async isTransferCompleted(e){const s=(await this.connection.getAccountResource({accountAddress:this.tokenBridgeAddress,resourceType:`${this.tokenBridgeAddress}::state::State`})).consumed_vaas.elems.handle;try{return await this.connection.getTableItem({handle:s,data:{key_type:"vector<u8>",value_type:"u8",key:`0x${r.Buffer.from(r.keccak_256(e.hash)).toString("hex")}`}}),!0}catch{return!1}}async getWrappedNative(){return r.toNative(this.chain,i.APTOS_COIN)}async*createAttestation(e,t){const s={chain:this.chain,address:new i.AptosAddress(e)},n=await this.getAssetFullyQualifiedType(s);if(!n)throw new Error("Invalid asset address.");yield this.createUnsignedTx({function:`${this.tokenBridgeAddress}::attest_token::attest_token_entry`,typeArguments:[n],functionArguments:[]},"Aptos.AttestToken")}async*submitAttestation(e,t){yield this.createUnsignedTx({function:`${this.tokenBridgeAddress}::wrapped::create_wrapped_coin_type`,typeArguments:[],functionArguments:[r.serialize$1(e)]},"Aptos.CreateWrappedCoinType");const s=await this.getAssetFullyQualifiedType(e.payload.token);if(!s)throw new Error("Invalid asset address.");yield this.createUnsignedTx({function:`${this.tokenBridgeAddress}::wrapped::create_wrapped_coin`,typeArguments:[s],functionArguments:[r.serialize$1(e)]},"Aptos.CreateWrappedCoin")}async*transfer(e,t,s,n,a){const o=0n,c=0n,h=r.isNative(s)?i.APTOS_COIN:s.toString(),u=t.address.toUniversalAddress().toUint8Array(),A=r.toChainId(t.chain);a?yield this.createUnsignedTx({function:`${this.tokenBridgeAddress}::transfer_tokens::transfer_tokens_with_payload_entry`,typeArguments:[h],functionArguments:[n,A,u,c,a]},"Aptos.TransferTokensWithPayload"):yield this.createUnsignedTx({function:`${this.tokenBridgeAddress}::transfer_tokens::transfer_tokens_entry`,typeArguments:[h],functionArguments:[n,A,u,o,c]},"Aptos.TransferTokens")}async*redeem(e,t,s=!0){const n=t.payload.token.chain===this.chain?await this.getTypeFromExternalAddress(t.payload.token.address.toString()):await this.getAssetFullyQualifiedType(t.payload.token);if(!n)throw new Error("Invalid asset address.");yield this.createUnsignedTx({function:`${this.tokenBridgeAddress}::complete_transfer::submit_vaa_and_register_entry`,typeArguments:[n],functionArguments:[r.serialize$1(t)]},"Aptos.CompleteTransfer")}async getAssetFullyQualifiedType(e){return e.chain===this.chain?i.isValidAptosType(e.address.toString())?e.address.toString():null:`${d.getForeignAssetAddress(this.chain,this.tokenBridgeAddress,e)}::coin::T`}async getTypeFromExternalAddress(e){try{const t=await this.connection.getAccountResource({accountAddress:this.tokenBridgeAddress,resourceType:`${this.tokenBridgeAddress}::state::State`}),{handle:s}=t.native_infos,n=await this.connection.getTableItem({handle:s,data:{key_type:`${this.tokenBridgeAddress}::token_hash::TokenHash`,value_type:"0x1::type_info::TypeInfo",key:{hash:e}}});return n?[n.account_address,String.fromCharCode(...r.hex.decode(n.module_name)),String.fromCharCode(...r.hex.decode(n.struct_name))].join(i.APTOS_SEPARATOR):null}catch{return null}}static getForeignAssetAddress(e,t,s){if(r.isNative(s.address))throw new Error("Invalid token address");const n=w({chain:s.chain,tokenBridgeAddress:new i.AptosAddress(t).toUniversalAddress(),tokenId:s.address.toUniversalAddress()});return r.hex.encode(r.sha3_256(n),!0)}createUnsignedTx(e,t,s=!1){return new g.AptosUnsignedTransaction(e,this.network,this.chain,t,s)}}r.registerProtocol("Aptos","TokenBridge",d);exports.AptosTokenBridge=d;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./web3-BKaP497Y.js"),i=require("./address-Bc-5yO4D.js"),p=require("./chunk-KJH4KKG6-DNlN4p21.js"),y=require("./platform-C6QB7aIN.js"),g=require("./unsignedTransaction-BXJ9Cpni.js"),f=[{name:"tokenBridgeAddress",...r.universalAddressItem},{name:"chain",...r.chainItem()},{name:"domainSeparator",binary:"bytes",custom:r.bytes.encode(i.APTOS_SEPARATOR),omit:!0},{name:"tokenId",...r.universalAddressItem},{name:"domainSeparator",binary:"bytes",custom:new Uint8Array([255]),omit:!0}],w=l=>r.serialize(f,l);class d{network;chain;connection;contracts;chainId;tokenBridgeAddress;constructor(e,t,s,n){this.network=e,this.chain=t,this.connection=s,this.contracts=n,this.chainId=r.toChainId(t);const a=n.tokenBridge;if(!a)throw new Error(`TokenBridge contract Address for chain ${t} not found`);this.tokenBridgeAddress=a}static async fromRpc(e,t){const[s,n]=await y.AptosPlatform.chainFromRpc(e),a=t[n];if(a.network!==s)throw new Error("Network mismatch "+a.network+" !== "+s);return new d(s,n,e,a.contracts)}async isWrappedAsset(e){try{return await this.getOriginalAsset(e),!0}catch{return!1}}async getOriginalAsset(e){const t=e.toString().split(i.APTOS_SEPARATOR);let s=null;try{s=await this.connection.getAccountResource({accountAddress:t[0],resourceType:`${this.tokenBridgeAddress}::state::OriginInfo`})}catch(o){throw o instanceof p.T&&o.data?.error_code==="resource_not_found"?r.ErrNotWrapped(e.toString()):o}if(!s)throw r.ErrNotWrapped(e.toString());const n=r.toChain(parseInt(s.token_chain.number)),a=new r.UniversalAddress(s.token_address.external_address);return{chain:n,address:a}}async getTokenUniversalAddress(e){return new r.UniversalAddress(r.hex.encode(r.sha3_256(e.toString()),!0))}async getTokenNativeAddress(e,t){const s=e===this.chain?await this.getTypeFromExternalAddress(t.toString()):await this.getAssetFullyQualifiedType({chain:e,address:t});if(!s)throw new Error("Invalid asset address.");return new i.AptosAddress(s)}async hasWrappedAsset(e){try{return await this.getWrappedAsset(e),!0}catch{}return!1}async getWrappedAsset(e){if(r.isNative(e.address))throw new Error("native asset cannot be a wrapped asset");const t=await this.getAssetFullyQualifiedType(e);if(!t)throw new Error("Invalid asset address.");return await this.connection.getAccountResource({accountAddress:i.coalesceModuleAddress(t),resourceType:`${this.tokenBridgeAddress}::state::OriginInfo`}),r.toNative(this.chain,t)}async isTransferCompleted(e){const s=(await this.connection.getAccountResource({accountAddress:this.tokenBridgeAddress,resourceType:`${this.tokenBridgeAddress}::state::State`})).consumed_vaas.elems.handle;try{return await this.connection.getTableItem({handle:s,data:{key_type:"vector<u8>",value_type:"u8",key:`0x${r.Buffer.from(r.keccak_256(e.hash)).toString("hex")}`}}),!0}catch{return!1}}async getWrappedNative(){return r.toNative(this.chain,i.APTOS_COIN)}async*createAttestation(e,t){const s={chain:this.chain,address:new i.AptosAddress(e)},n=await this.getAssetFullyQualifiedType(s);if(!n)throw new Error("Invalid asset address.");yield this.createUnsignedTx({function:`${this.tokenBridgeAddress}::attest_token::attest_token_entry`,typeArguments:[n],functionArguments:[]},"Aptos.AttestToken")}async*submitAttestation(e,t){yield this.createUnsignedTx({function:`${this.tokenBridgeAddress}::wrapped::create_wrapped_coin_type`,typeArguments:[],functionArguments:[r.serialize$1(e)]},"Aptos.CreateWrappedCoinType");const s=await this.getAssetFullyQualifiedType(e.payload.token);if(!s)throw new Error("Invalid asset address.");yield this.createUnsignedTx({function:`${this.tokenBridgeAddress}::wrapped::create_wrapped_coin`,typeArguments:[s],functionArguments:[r.serialize$1(e)]},"Aptos.CreateWrappedCoin")}async*transfer(e,t,s,n,a){const o=0n,c=0n,h=r.isNative(s)?i.APTOS_COIN:s.toString(),u=t.address.toUniversalAddress().toUint8Array(),A=r.toChainId(t.chain);a?yield this.createUnsignedTx({function:`${this.tokenBridgeAddress}::transfer_tokens::transfer_tokens_with_payload_entry`,typeArguments:[h],functionArguments:[n,A,u,c,a]},"Aptos.TransferTokensWithPayload"):yield this.createUnsignedTx({function:`${this.tokenBridgeAddress}::transfer_tokens::transfer_tokens_entry`,typeArguments:[h],functionArguments:[n,A,u,o,c]},"Aptos.TransferTokens")}async*redeem(e,t,s=!0){const n=t.payload.token.chain===this.chain?await this.getTypeFromExternalAddress(t.payload.token.address.toString()):await this.getAssetFullyQualifiedType(t.payload.token);if(!n)throw new Error("Invalid asset address.");yield this.createUnsignedTx({function:`${this.tokenBridgeAddress}::complete_transfer::submit_vaa_and_register_entry`,typeArguments:[n],functionArguments:[r.serialize$1(t)]},"Aptos.CompleteTransfer")}async getAssetFullyQualifiedType(e){return e.chain===this.chain?i.isValidAptosType(e.address.toString())?e.address.toString():null:`${d.getForeignAssetAddress(this.chain,this.tokenBridgeAddress,e)}::coin::T`}async getTypeFromExternalAddress(e){try{const t=await this.connection.getAccountResource({accountAddress:this.tokenBridgeAddress,resourceType:`${this.tokenBridgeAddress}::state::State`}),{handle:s}=t.native_infos,n=await this.connection.getTableItem({handle:s,data:{key_type:`${this.tokenBridgeAddress}::token_hash::TokenHash`,value_type:"0x1::type_info::TypeInfo",key:{hash:e}}});return n?[n.account_address,String.fromCharCode(...r.hex.decode(n.module_name)),String.fromCharCode(...r.hex.decode(n.struct_name))].join(i.APTOS_SEPARATOR):null}catch{return null}}static getForeignAssetAddress(e,t,s){if(r.isNative(s.address))throw new Error("Invalid token address");const n=w({chain:s.chain,tokenBridgeAddress:new i.AptosAddress(t).toUniversalAddress(),tokenId:s.address.toUniversalAddress()});return r.hex.encode(r.sha3_256(n),!0)}createUnsignedTx(e,t,s=!1){return new g.AptosUnsignedTransaction(e,this.network,this.chain,t,s)}}r.registerProtocol("Aptos","TokenBridge",d);exports.AptosTokenBridge=d;
@@ -1,8 +1,8 @@
1
- import { I as v, C as E } from "./contract-C_4H8x77.mjs";
2
- import { i as C, q as T, az as x, V as I, W as s, m as V, aB as b, bf as u, _ as d, dJ as _, aE as w, Y as z, aG as G, U as H, dK as L, aF as M, aH as j, aI as Y } from "./web3-BkEb7AgB.mjs";
3
- import { EvmWormholeCore as J } from "./index-BRYq_Nt2.mjs";
4
- import { EvmTokenBridge as K } from "./index-vhQ5Q8ov.mjs";
5
- import { E as B } from "./platform-BHAZvZ_O.mjs";
1
+ import { I as v, C as E } from "./contract-KYuIk_vR.mjs";
2
+ import { i as C, q as T, az as x, V as I, W as s, m as V, aB as b, bf as u, _ as d, dJ as _, aE as w, Y as z, aG as G, U as H, dK as L, aF as M, aH as j, aI as Y } from "./web3-BifDBsFp.mjs";
3
+ import { EvmWormholeCore as J } from "./index-Bp4ojxz6.mjs";
4
+ import { EvmTokenBridge as K } from "./index-dU3yVyBt.mjs";
5
+ import { E as B } from "./platform-DtB8gGMl.mjs";
6
6
  import { E as X } from "./unsignedTransaction-Efb4L-cb.mjs";
7
7
  const F = new v([
8
8
  "function start((bytes32,address,address,address,address,address,uint256,uint256,uint256,uint256)) returns (address,uint16,uint64)",