@wormhole-foundation/wormhole-connect 3.0.0-beta.11-development → 3.0.0-beta.13-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.
- package/dist/assets/{tokens-BjeNFBPV.js → tokens-CrPLX1jh.js} +13 -13
- package/dist/main.js +75 -75
- package/dist/src/components/SampleApp/index.d.ts.map +1 -1
- package/dist/src/config/mainnet/rpcs.d.ts.map +1 -1
- package/dist/src/config/mainnet/tokens.d.ts.map +1 -1
- package/dist/src/config/testnet/rpcs.d.ts.map +1 -1
- package/dist/src/config/testnet/tokens.d.ts.map +1 -1
- package/dist/src/config/types.d.ts +2 -1
- package/dist/src/config/types.d.ts.map +1 -1
- package/dist/src/contexts/TokensContext.d.ts.map +1 -1
- package/dist/src/exports/executor.d.ts +1 -1
- package/dist/src/exports/executor.d.ts.map +1 -1
- package/dist/src/icons/ChainIcons.d.ts.map +1 -1
- package/dist/src/icons/Chains/LINEA.d.ts +4 -0
- package/dist/src/icons/Chains/LINEA.d.ts.map +1 -0
- package/dist/src/icons/Chains/POLY.d.ts +2 -2
- package/dist/src/icons/Chains/POLY.d.ts.map +1 -1
- package/dist/src/icons/Chains/SONIC.d.ts +4 -0
- package/dist/src/icons/Chains/SONIC.d.ts.map +1 -0
- package/dist/src/icons/SvgDefs.d.ts.map +1 -1
- package/dist/src/icons/TokenIcons.d.ts.map +1 -1
- package/dist/src/icons/Tokens/POLY.d.ts.map +1 -1
- package/dist/src/sdklegacy/config/MAINNET.d.ts.map +1 -1
- package/dist/src/sdklegacy/config/TESTNET.d.ts.map +1 -1
- package/dist/src/utils/coingecko.d.ts.map +1 -1
- package/dist/src/utils/sdkv2.d.ts +1 -1
- package/dist/src/utils/sdkv2.d.ts.map +1 -1
- package/dist/src/utils/wallet/index.d.ts.map +1 -1
- package/dist/src/views/v2/Bridge/GasSlider/index.d.ts +1 -0
- package/dist/src/views/v2/Bridge/GasSlider/index.d.ts.map +1 -1
- package/dist/src/views/v2/Bridge/Routes/SingleRoute.d.ts.map +1 -1
- package/dist/src/views/v2/Redeem/index.d.ts.map +1 -1
- package/lib/{account-k-CXVcvA.mjs → account-DRrQuG9b.mjs} +1 -1
- package/lib/{account-gVjkECaX.js → account-nmHnnwf-.js} +1 -1
- package/lib/{add-5JNYtbn0.mjs → add-B3TOzisV.mjs} +1 -1
- package/lib/{add-l7uMi5Qp.js → add-PboF8xOA.js} +1 -1
- package/lib/{address-CrYNZ_Nj.mjs → address-BkeBsCZD.mjs} +1837 -1809
- package/lib/{address-ByLIzxVb.mjs → address-CHEvC20V.mjs} +1 -1
- package/lib/{address-DfgK_jn7.js → address-CslafWGT.js} +1 -1
- package/lib/address-DKM11kf_.js +15 -0
- package/lib/{address-DGYJWkFz.js → address-vHTAfgt6.js} +1 -1
- package/lib/{address-BJNAPSnr.mjs → address-xvE59bSC.mjs} +1 -1
- package/lib/{all-wallets-Ci5Fl1c7.js → all-wallets-C3KaOAtR.js} +1 -1
- package/lib/{all-wallets-DFuKxB4Z.mjs → all-wallets-i8sBvyse.mjs} +1 -1
- package/lib/{app-store-oBe0hgJk.js → app-store-DMPxp7LI.js} +1 -1
- package/lib/{app-store-B0IRo5Ld.mjs → app-store-D_gEJYR-.mjs} +1 -1
- package/lib/{apple-C1253BqB.mjs → apple-C7dx7WbA.mjs} +1 -1
- package/lib/{apple-BeItYmiV.js → apple-CBv-wD_N.js} +1 -1
- package/lib/{aptos-CiSMOF3v.mjs → aptos-5WdoBDe7.mjs} +3 -3
- package/lib/{aptos-IciOSw-S.js → aptos-7NDR_C5e.js} +2 -2
- package/lib/{aptos-CDC4GSyx.js → aptos-BHb4m4xc.js} +1 -1
- package/lib/{aptos-M18090BQ.mjs → aptos-DjCb_S8U.mjs} +7 -7
- package/lib/{arrow-bottom-DoPQ9bym.js → arrow-bottom-JVAM2flH.js} +1 -1
- package/lib/{arrow-bottom-circle-CUNc1d0l.mjs → arrow-bottom-circle-CNlCzI_j.mjs} +1 -1
- package/lib/{arrow-bottom-circle-_HzqlrgT.js → arrow-bottom-circle-Cwm4Epf6.js} +1 -1
- package/lib/{arrow-bottom-B5idrRLg.mjs → arrow-bottom-dGyduTnX.mjs} +1 -1
- package/lib/{arrow-left-DKZtNEET.js → arrow-left-BCNUIhF5.js} +1 -1
- package/lib/{arrow-left-D_6pmgeW.mjs → arrow-left-PKOB36Bh.mjs} +1 -1
- package/lib/{arrow-right-CfF4JKUl.mjs → arrow-right-CS5PKMHz.mjs} +1 -1
- package/lib/{arrow-right-BETNsgrF.js → arrow-right-DmYVvh1l.js} +1 -1
- package/lib/{arrow-top-ByBQSpF9.mjs → arrow-top-BkM6S1a6.mjs} +1 -1
- package/lib/{arrow-top-_t4PlGZq.js → arrow-top-Bo7YKrfd.js} +1 -1
- package/lib/{bank-D-ByWKrE.mjs → bank-CCF3DOdG.mjs} +1 -1
- package/lib/{bank-CGWjW2wg.js → bank-DLZl3tlW.js} +1 -1
- package/lib/{basic-Bg1hSrRy.mjs → basic-B3TQQ8Sq.mjs} +2 -2
- package/lib/{basic-CkPI-DHw.js → basic-DVoqEslQ.js} +1 -1
- package/lib/{blake2b-GH2Zzt65.mjs → blake2b-CAi92fbu.mjs} +17 -17
- package/lib/{blake2b-CCJ4LnEi.js → blake2b-DQdnnomV.js} +1 -1
- package/lib/{browser-D3rK1zZD.mjs → browser-8x7RJ5du.mjs} +1 -1
- package/lib/{browser-C13v_3nT.js → browser-CRt_zD3Q.js} +1 -1
- package/lib/{browser-ponyfill-JlME40Yz.mjs → browser-ponyfill-B32wgiqZ.mjs} +1 -1
- package/lib/{browser-ponyfill-DqqaJGv_.js → browser-ponyfill-UnUv8h3i.js} +1 -1
- package/lib/{card-Cpnj4Pjv.js → card-B4Tu3QQo.js} +1 -1
- package/lib/{card-C103Zr_s.mjs → card-CXjBQX3v.mjs} +1 -1
- package/lib/{ccip-DLDyY4LZ.mjs → ccip-CIIU_fEJ.mjs} +2 -2
- package/lib/{ccip-CEnidIEN.js → ccip-DaWU7YTU.js} +1 -1
- package/lib/{chain-DTh9H2Cq.js → chain-CJuQGMF5.js} +1 -1
- package/lib/{chain-Dq8acwHq.mjs → chain-uXEmLNMk.mjs} +1 -1
- package/lib/{checkmark-CftBiE_o.mjs → checkmark-BAUqIoTm.mjs} +1 -1
- package/lib/{checkmark-zYR427D1.js → checkmark-C7_13-xW.js} +1 -1
- package/lib/{checkmark-bold-hTRkqdFs.js → checkmark-bold-BAPMY9Va.js} +1 -1
- package/lib/{checkmark-bold-BiuLRYaw.mjs → checkmark-bold-DdxcN-xa.mjs} +1 -1
- package/lib/{chevron-bottom-Dcr8Aaqj.js → chevron-bottom-BhliKUSk.js} +1 -1
- package/lib/{chevron-bottom-BbQ_m7D8.mjs → chevron-bottom-DPs0vktV.mjs} +1 -1
- package/lib/{chevron-left-B9PTmHIG.js → chevron-left-CmxD6cz4.js} +1 -1
- package/lib/{chevron-left-BRcODtkl.mjs → chevron-left-Dk6PhtGR.mjs} +1 -1
- package/lib/{chevron-right-C8T3XHHk.mjs → chevron-right-CkGXlHcz.mjs} +1 -1
- package/lib/{chevron-right-NjcF5i-l.js → chevron-right-CsZm-r4d.js} +1 -1
- package/lib/{chevron-top-qG-Co151.js → chevron-top-COxXTPhY.js} +1 -1
- package/lib/{chevron-top-DDRuRQDi.mjs → chevron-top-Cckcz4Qs.mjs} +1 -1
- package/lib/{chrome-store-CMfQIa4X.js → chrome-store-BQDKjVx4.js} +1 -1
- package/lib/{chrome-store-y7e1zu4m.mjs → chrome-store-BWCBtyqY.mjs} +1 -1
- package/lib/{chunk-KJH4KKG6-DOESg_ru.js → chunk-KJH4KKG6-CAnNL4lj.js} +1 -1
- package/lib/{chunk-KJH4KKG6-cfe1Zo7n.mjs → chunk-KJH4KKG6-CCerRpgp.mjs} +2 -2
- package/lib/{clock-Ch4B9lTj.mjs → clock-BVouBwH-.mjs} +1 -1
- package/lib/{clock-D_HlSE4l.js → clock-DyD0fxqO.js} +1 -1
- package/lib/{close-DV97wtTx.mjs → close-BWXb69Wl.mjs} +1 -1
- package/lib/{close-CqVBfuUL.js → close-Cw0rUieJ.js} +1 -1
- package/lib/{coinPlaceholder-DBEIEMLH.mjs → coinPlaceholder-BMScJe5r.mjs} +1 -1
- package/lib/{coinPlaceholder-Ckw9njof.js → coinPlaceholder-cDwG015N.js} +1 -1
- package/lib/{compass-BRH1TNEt.js → compass-BEkdaonl.js} +1 -1
- package/lib/{compass-DoE_r14r.mjs → compass-Ck1hdMBP.mjs} +1 -1
- package/lib/constants-84--TxnQ.js +1 -0
- package/lib/{constants-DX7-soSQ.mjs → constants-DL79O3Cw.mjs} +3 -3
- package/lib/{contract-D8VzaUQJ.mjs → contract-C26uilM9.mjs} +171 -171
- package/lib/{contract-DYtnmT6F.js → contract-C2wJ6LwN.js} +1 -1
- package/lib/{copy-tsMwqd3u.js → copy-BLHxb-RP.js} +1 -1
- package/lib/{copy-BUnH9Rmh.mjs → copy-Db7Dj1yY.mjs} +1 -1
- package/lib/{create-BRB2U1qV.js → create-D2vX2bRe.js} +1 -1
- package/lib/create-OmEBpMgv.mjs +18 -0
- package/lib/{cursor-5JnUhK1u.js → cursor-C1Sin6tb.js} +1 -1
- package/lib/{cursor-3mj3Pq0z.mjs → cursor-CNsWvtzA.mjs} +1 -1
- package/lib/{cursor-transparent-BTemyRTO.mjs → cursor-transparent-BunBBBx5.mjs} +1 -1
- package/lib/{cursor-transparent-Cxt6oRht.js → cursor-transparent-SER8uk9I.js} +1 -1
- package/lib/{desktop-DvfmWO_R.mjs → desktop-B6mJxAHq.mjs} +1 -1
- package/lib/{desktop-BSL1tdXi.js → desktop-BxtmfVtX.js} +1 -1
- package/lib/{disconnect-C1bWgwV-.js → disconnect-C41yMwSb.js} +1 -1
- package/lib/{disconnect-Cxkdq6ir.mjs → disconnect-D7XSHnMT.mjs} +1 -1
- package/lib/{discord-eKk83DRx.js → discord-B03i6OzP.js} +1 -1
- package/lib/{discord-CHx5Xb-9.mjs → discord-BYp6ZBO5.mjs} +1 -1
- package/lib/{etherscan-DunhJn-2.js → etherscan-DLF8GRx-.js} +1 -1
- package/lib/{etherscan-YaFa04eY.mjs → etherscan-Db4s0bfM.mjs} +1 -1
- package/lib/{evm-BcBUJ9Y7.js → evm-BmUWgBnJ.js} +2 -2
- package/lib/{evm-B1mLJPQm.mjs → evm-Cfbj-u_x.mjs} +9 -9
- package/lib/{evm-C_kkwF2N.js → evm-DT7UH6jw.js} +3 -3
- package/lib/{evm-Dzv24HTi.mjs → evm-JX0NqvCN.mjs} +9 -9
- package/lib/{exclamation-triangle-Cb8oHsFl.js → exclamation-triangle-Bnq3BTWj.js} +1 -1
- package/lib/{exclamation-triangle-DfZ9Dte5.mjs → exclamation-triangle-QwUrQkZz.mjs} +1 -1
- package/lib/executor.js +1 -1
- package/lib/executor.mjs +1131 -488
- package/lib/{extension-DP-dDsSn.mjs → extension-BJ8ReR_0.mjs} +1 -1
- package/lib/{extension-DoOMA86h.js → extension-CgcYwI-C.js} +1 -1
- package/lib/{external-link-DyHJnsK8.mjs → external-link-C-xXuK-w.mjs} +1 -1
- package/lib/{external-link-BqzHACi1.js → external-link-DyvDlcrJ.js} +1 -1
- package/lib/{facebook-fuN149kb.mjs → facebook-0DLWcqgY.mjs} +1 -1
- package/lib/{facebook-9-sYpqWJ.js → facebook-BpyxMifX.js} +1 -1
- package/lib/{farcaster-CthcgW1p.mjs → farcaster-7pF76-yJ.mjs} +1 -1
- package/lib/{farcaster-DidNhku_.js → farcaster-CWG8svoe.js} +1 -1
- package/lib/{filters-_l_bTNZK.mjs → filters-B13ud8_A.mjs} +1 -1
- package/lib/{filters-ByT7XcVR.js → filters-QScvFA3B.js} +1 -1
- package/lib/{github-4qFP3ebJ.js → github-B1QukX4i.js} +1 -1
- package/lib/{github-DLIZSSpT.mjs → github-D82vkMzo.mjs} +1 -1
- package/lib/{google-CLB363tb.js → google-C6E4oHHf.js} +1 -1
- package/lib/{google-DsUwkwU7.mjs → google-D4wJMU48.mjs} +1 -1
- package/lib/{help-circle-MHAS2jcg.js → help-circle-C4PprAiX.js} +1 -1
- package/lib/{help-circle-DNIlqXM4.mjs → help-circle-DoiMsREG.mjs} +1 -1
- package/lib/hosted.js +1 -1
- package/lib/hosted.mjs +1 -1
- package/lib/{id-DgC4wzlk.js → id-D6HBBibn.js} +1 -1
- package/lib/{id-Dcpxx5Sg.mjs → id-DOZCSctU.mjs} +1 -1
- package/lib/{image-D0i9nEJa.mjs → image-Bz-sq4zu.mjs} +1 -1
- package/lib/{image-cNJf0UKs.js → image-DwgrdoFE.js} +1 -1
- package/lib/{index-CbF5x2NI.js → index-AZ65joOD.js} +1 -1
- package/lib/{index-BsqWniHZ.mjs → index-B0H8aSyJ.mjs} +2 -2
- package/lib/{index-CreVTM0z.mjs → index-B1YHtJKf.mjs} +32 -32
- package/lib/{index-6NFOdkn_.mjs → index-B2v8cGyE.mjs} +5 -5
- package/lib/{index-Bn829hfx.js → index-B586QVP1.js} +1 -1
- package/lib/{index-CjojdPoR.js → index-BOiHIPRm.js} +1 -1
- package/lib/{index-CSf9Xnts.mjs → index-BgvV5NF2.mjs} +5 -5
- package/lib/{index-BxR9BQdY.mjs → index-BjeolB9D.mjs} +5 -5
- package/lib/{index-WR7oDg9u.mjs → index-Bv-BZXf_.mjs} +6 -6
- package/lib/{index-T00Tc9JN.js → index-C2EKjwxb.js} +1 -1
- package/lib/{index-D4dCJIWy.js → index-C2oYdtY8.js} +1 -1
- package/lib/{index-Cj6R9JbK.js → index-CFfjoJR9.js} +1 -1
- package/lib/{index-B6QoC8kC.mjs → index-CIGkn9tA.mjs} +1 -1
- package/lib/{index-D0eLvswO.mjs → index-CNWcuxPc.mjs} +1 -1
- package/lib/{index-Dy8-WjNf.mjs → index-CNhD4Iu8.mjs} +14 -14
- package/lib/{index-Cv26ujGL.js → index-CP6-WHfp.js} +1 -1
- package/lib/{index-BuMERF6V.mjs → index-CRYNS9pm.mjs} +3 -3
- package/lib/{index-CVY5OsmN.js → index-CZhOgoed.js} +2 -2
- package/lib/{index-C9CCEaud.js → index-Cet7Wvc5.js} +1 -1
- package/lib/{index-CpYW6xKB.mjs → index-Cg5Ko9uq.mjs} +12 -12
- package/lib/{index-iIndJffV.js → index-CjI7Vey3.js} +1 -1
- package/lib/{index-C_DPPfkk.js → index-Cjz6EL9G.js} +1 -1
- package/lib/{index-CJXywlFV.mjs → index-CrKGOs08.mjs} +5 -5
- package/lib/{index-Dg_iItNp.js → index-Cy_GmZ1K.js} +1 -1
- package/lib/{index-B8CSnOaL.mjs → index-D1vSocUD.mjs} +4 -4
- package/lib/{index-Co1W4Raf.mjs → index-D4WbU33f.mjs} +10 -10
- package/lib/{index-D8pyO0Ut.mjs → index-DInWB5Ku.mjs} +78 -78
- package/lib/{index-BJjgo7T5.js → index-DQXzR255.js} +1 -1
- package/lib/{index-FyK0K3it.mjs → index-DSGGuRHs.mjs} +7 -7
- package/lib/{index-BOmzGtQH.mjs → index-DVj58Xn9.mjs} +13 -13
- package/lib/{index-CAZoTTeF.js → index-DXD0qvNV.js} +1 -1
- package/lib/{index-DLyteqgH.js → index-Dd0zXo9p.js} +1 -1
- package/lib/{index-BDN9fAFf.js → index-DflOc1lz.js} +1 -1
- package/lib/{index-DZ0LaYyC.js → index-DoubjpWw.js} +1 -1
- package/lib/{index-Dc_4R0qr.mjs → index-Dpefdrdb.mjs} +3296 -3074
- package/lib/{index-0V2bg9Sg.mjs → index-DuXi1xNY.mjs} +2 -2
- package/lib/{index-Csb-_vqa.js → index-Dw8nyQGf.js} +1 -1
- package/lib/{index-DUoona4h.mjs → index-Naa9NLXw.mjs} +4 -4
- package/lib/{index-BBwY_mLw.mjs → index-UZaBhUoD.mjs} +4 -4
- package/lib/{index-D5Wl9ZPE.mjs → index-XkPtmd0r.mjs} +7 -7
- package/lib/{index-CFikcYS0.js → index-XrGXGqnM.js} +1 -1
- package/lib/{index--rEdlHs9.js → index-sIkHg4mO.js} +1 -1
- package/lib/{index-DVJDNZXX.js → index-tVbvQzum.js} +60 -60
- package/lib/{index-Cvt-EnSZ.mjs → index-wFZO7Yy8.mjs} +19 -19
- package/lib/{index-uqZQu-qU.js → index-yI1a3BCl.js} +1 -1
- package/lib/{index-aoDDl5Bh.js → index-zrsGesGr.js} +1 -1
- package/lib/{index.es-CStVufqy.mjs → index.es-CTerQ-xd.mjs} +6 -6
- package/lib/{index.es-DNfg_W4n.js → index.es-DW-Rbcpg.js} +1 -1
- package/lib/{index.es-BodjtdqB.mjs → index.es-FblCdfpc.mjs} +4 -4
- package/lib/{index.es-wGYpE9RX.js → index.es-tq-RvjG8.js} +2 -2
- package/lib/index.js +1 -1
- package/lib/index.mjs +1 -1
- package/lib/{info-DhtgwfZc.js → info-BifZFc7t.js} +1 -1
- package/lib/{info-circle-DzGmwt4i.js → info-circle-2P1Yxg4Q.js} +1 -1
- package/lib/{info-circle-CZvq1Bbl.mjs → info-circle-BAC0QRkt.mjs} +1 -1
- package/lib/{info-Ccop_bq-.mjs → info-sSeB9YE8.mjs} +1 -1
- package/lib/{lightbulb-WpoJQkeo.mjs → lightbulb-EmWyHxHf.mjs} +1 -1
- package/lib/{lightbulb-C0-qKwLI.js → lightbulb-MtN8FDGi.js} +1 -1
- package/lib/{mail-D2CE1lj4.js → mail-CqXkLFqA.js} +1 -1
- package/lib/{mail-D1rYl-hP.mjs → mail-Kn0E2IkG.mjs} +1 -1
- package/lib/mayan.js +1 -1
- package/lib/mayan.mjs +9 -9
- package/lib/{mint-CyFSbOaj.js → mint-DzKeNBRo.js} +1 -1
- package/lib/{mint-CDUlLJB4.mjs → mint-WjTAjh-p.mjs} +2 -2
- package/lib/{mobile-uBIPQ_3j.js → mobile-BE2FxzUq.js} +1 -1
- package/lib/{mobile-D8slK1-I.mjs → mobile-Dj3WE71d.mjs} +1 -1
- package/lib/{more-Dy11lM4m.js → more-BGlDHap-.js} +1 -1
- package/lib/{more-DsX_s58K.mjs → more-D4DDIvdG.mjs} +1 -1
- package/lib/{native-Bdd5l9MQ.js → native-CGkMKXpm.js} +1 -1
- package/lib/{native-D6oc9ERK.mjs → native-DCc4sjxb.mjs} +1 -1
- package/lib/{network-placeholder-ClLYl9gN.mjs → network-placeholder-BBNnq4LJ.mjs} +1 -1
- package/lib/{network-placeholder-4XSy76qO.js → network-placeholder-DZ6qNrD8.js} +1 -1
- package/lib/{nftPlaceholder-ilscJrWL.mjs → nftPlaceholder-BGK-mcGP.mjs} +1 -1
- package/lib/{nftPlaceholder-Dtm_zH4E.js → nftPlaceholder-t3eyvw1E.js} +1 -1
- package/lib/ntt.js +1 -1
- package/lib/ntt.mjs +10 -10
- package/lib/{off-N7Q-H26y.js → off-BBGwptS5.js} +1 -1
- package/lib/{off-D3IDpfZg.mjs → off-f4sOrEaa.mjs} +1 -1
- package/lib/{platform-CyoDzIPB.mjs → platform-BVScq6Cn.mjs} +6 -6
- package/lib/{platform-Ck9W87gm.mjs → platform-ByoVE-An.mjs} +4 -4
- package/lib/{platform-DbvllBcy.js → platform-DHBUZeaO.js} +1 -1
- package/lib/{platform-C7YwgvxU.js → platform-Yk6Fw43J.js} +1 -1
- package/lib/{platform-CgqczEeE.js → platform-_YLyrJdi.js} +1 -1
- package/lib/{platform-DkmFvjoG.mjs → platform-tSU41623.mjs} +16 -16
- package/lib/{play-store-2p9CBKz9.js → play-store-BbN0jXQh.js} +1 -1
- package/lib/{play-store-Dnx6-DfM.mjs → play-store-D8C6HS_a.mjs} +1 -1
- package/lib/{plus-CngR-jD-.mjs → plus-CbTzHTic.mjs} +1 -1
- package/lib/{plus-CVTA7O2z.js → plus-DmTKVIYx.js} +1 -1
- package/lib/{provider-jsonrpc-D033z3Mz.js → provider-jsonrpc-B0U6Ij-n.js} +1 -1
- package/lib/{provider-jsonrpc-BVvalXMV.mjs → provider-jsonrpc-pHUX5SqN.mjs} +155 -155
- package/lib/{qr-code-CJEqBG09.js → qr-code-B6qlbkUI.js} +1 -1
- package/lib/{qr-code-Ckqp2jcM.mjs → qr-code-BWVtySSk.mjs} +1 -1
- package/lib/{recycle-horizontal-BWbxp077.mjs → recycle-horizontal-Bs5gf79m.mjs} +1 -1
- package/lib/{recycle-horizontal-CUMI_Frp.js → recycle-horizontal-DzBA56-s.js} +1 -1
- package/lib/{refresh-nBHl-Ex7.js → refresh-62hm4k6x.js} +1 -1
- package/lib/{refresh-BA3qzC0t.mjs → refresh-ivbjdSCV.mjs} +1 -1
- package/lib/{reown-logo-C0OFiwcD.js → reown-logo-CVyCROZP.js} +1 -1
- package/lib/{reown-logo-BIs62gAK.mjs → reown-logo-DkbDD804.mjs} +1 -1
- package/lib/{search-C4yW_e7h.js → search-BAemvNq7.js} +1 -1
- package/lib/{search-DWkxod1G.mjs → search-By1CMDmb.mjs} +1 -1
- package/lib/{secp256k1-D5xGRPak.mjs → secp256k1-Cgk0g7W_.mjs} +1 -1
- package/lib/{secp256k1-CzzYFHL9.mjs → secp256k1-ClYndPcJ.mjs} +1 -1
- package/lib/{secp256k1-DPyD-aqu.js → secp256k1-DboBd6yN.js} +1 -1
- package/lib/{secp256k1-DJxiSxEG.js → secp256k1-uAsXZq5d.js} +1 -1
- package/lib/{send-B_-c6x6P.mjs → send-BIKE35sd.mjs} +1 -1
- package/lib/{send-CgneLJ89.js → send-BQNTa-AX.js} +1 -1
- package/lib/{signer-DIpGs_9B.mjs → signer-CinqaaXD.mjs} +10 -10
- package/lib/{signer-BZ3rTVnM.js → signer-D-HjSIgq.js} +1 -1
- package/lib/{solana-Cqhc10CM.js → solana-BUWSwHur.js} +4 -4
- package/lib/{solana-AefmV-EX.mjs → solana-C2S4i5Ij.mjs} +11 -11
- package/lib/solana-CEz8hIFa.mjs +18 -0
- package/lib/solana-Dohpdke6.js +1 -0
- package/lib/{solanaEmbed.esm-DvSyh3Tl.mjs → solanaEmbed.esm-Dk8f6vW0.mjs} +2 -2
- package/lib/{solanaEmbed.esm-CB_O5YXF.js → solanaEmbed.esm-lyjsfmH_.js} +1 -1
- package/lib/src/components/SampleApp/index.d.ts.map +1 -1
- package/lib/src/config/mainnet/rpcs.d.ts.map +1 -1
- package/lib/src/config/mainnet/tokens.d.ts.map +1 -1
- package/lib/src/config/testnet/rpcs.d.ts.map +1 -1
- package/lib/src/config/testnet/tokens.d.ts.map +1 -1
- package/lib/src/config/types.d.ts +2 -1
- package/lib/src/config/types.d.ts.map +1 -1
- package/lib/src/contexts/TokensContext.d.ts.map +1 -1
- package/lib/src/exports/executor.d.ts +1 -1
- package/lib/src/exports/executor.d.ts.map +1 -1
- package/lib/src/icons/ChainIcons.d.ts.map +1 -1
- package/lib/src/icons/Chains/LINEA.d.ts +4 -0
- package/lib/src/icons/Chains/LINEA.d.ts.map +1 -0
- package/lib/src/icons/Chains/POLY.d.ts +2 -2
- package/lib/src/icons/Chains/POLY.d.ts.map +1 -1
- package/lib/src/icons/Chains/SONIC.d.ts +4 -0
- package/lib/src/icons/Chains/SONIC.d.ts.map +1 -0
- package/lib/src/icons/SvgDefs.d.ts.map +1 -1
- package/lib/src/icons/TokenIcons.d.ts.map +1 -1
- package/lib/src/icons/Tokens/POLY.d.ts.map +1 -1
- package/lib/src/sdklegacy/config/MAINNET.d.ts.map +1 -1
- package/lib/src/sdklegacy/config/TESTNET.d.ts.map +1 -1
- package/lib/src/utils/coingecko.d.ts.map +1 -1
- package/lib/src/utils/sdkv2.d.ts +1 -1
- package/lib/src/utils/sdkv2.d.ts.map +1 -1
- package/lib/src/utils/wallet/index.d.ts.map +1 -1
- package/lib/src/views/v2/Bridge/GasSlider/index.d.ts +1 -0
- package/lib/src/views/v2/Bridge/GasSlider/index.d.ts.map +1 -1
- package/lib/src/views/v2/Bridge/Routes/SingleRoute.d.ts.map +1 -1
- package/lib/src/views/v2/Redeem/index.d.ts.map +1 -1
- package/lib/{sui-wX1yJDdB.js → sui-BCJA_cYx.js} +1 -1
- package/lib/{sui-D17vikGB.mjs → sui-BJC_JOkP.mjs} +3 -3
- package/lib/{sui-jsmS--zo.mjs → sui-B_AxArCa.mjs} +31 -31
- package/lib/{sui-OtX0-aiw.js → sui-Bdmfxpd2.js} +1 -1
- package/lib/{swapHorizontal-I9IHNlcX.mjs → swapHorizontal-CGVqXEEp.mjs} +1 -1
- package/lib/{swapHorizontal-CaiPRfjP.js → swapHorizontal-Wp81JSgX.js} +1 -1
- package/lib/{swapHorizontalBold-COXm4Eoq.js → swapHorizontalBold-D70amlcg.js} +1 -1
- package/lib/{swapHorizontalBold-DjCg3Gvp.mjs → swapHorizontalBold-DfykA661.mjs} +1 -1
- package/lib/{swapHorizontalMedium-BufndsqW.js → swapHorizontalMedium-B92n1mhC.js} +1 -1
- package/lib/{swapHorizontalMedium-D5Op20PE.mjs → swapHorizontalMedium-C39AY5jR.mjs} +1 -1
- package/lib/{swapHorizontalRoundedBold-DOhWyq65.js → swapHorizontalRoundedBold-CWEgSWL3.js} +1 -1
- package/lib/{swapHorizontalRoundedBold-DT-dVJCx.mjs → swapHorizontalRoundedBold-DHWf4C2R.mjs} +1 -1
- package/lib/{swapVertical--HMMmuaw.mjs → swapVertical-BpTJ-r5m.mjs} +1 -1
- package/lib/{swapVertical-BC9LFE7N.js → swapVertical-DbS3f5xB.js} +1 -1
- package/lib/{telegram-CxCcJyxh.mjs → telegram-CNeTqCXy.mjs} +1 -1
- package/lib/{telegram-FZjehBdN.js → telegram-DK-OaZof.js} +1 -1
- package/lib/{three-dots-CuFQnzau.mjs → three-dots-BK0Ca5f9.mjs} +1 -1
- package/lib/{three-dots-zFnxhtH1.js → three-dots-CLOJZeqn.js} +1 -1
- package/lib/{tokens-BBDYlW5N.js → tokens-BVFCrwUI.js} +1 -1
- package/lib/{tokens-Ro6NgarI.mjs → tokens-BtPkpuCj.mjs} +3 -3
- package/lib/{twitch-pwuV-z6u.js → twitch-6sCGBDD_.js} +1 -1
- package/lib/{twitch-Cn9a4jgU.mjs → twitch-RQqv2Pha.mjs} +1 -1
- package/lib/{twitterIcon-C5XFX-OQ.js → twitterIcon-A2SY7Ljz.js} +1 -1
- package/lib/{twitterIcon-D98sKvbq.mjs → twitterIcon-C8wIxAQv.mjs} +1 -1
- package/lib/{units-BVg9f9bp.js → units-BrJ4CYDZ.js} +1 -1
- package/lib/{units-De4Es9C-.mjs → units-CLOrp1Nk.mjs} +24 -24
- package/lib/{unsignedTransaction-3gDumn1W.js → unsignedTransaction-BwT180qj.js} +1 -1
- package/lib/{unsignedTransaction-DmrfJNQf.mjs → unsignedTransaction-DkC9OIgh.mjs} +17 -17
- package/lib/{verify-BxlOfP9w.mjs → verify-CXS0qPBz.mjs} +1 -1
- package/lib/{verify-D1TEwpVN.js → verify-DnxzVYqj.js} +1 -1
- package/lib/{verify-filled-BrR7ST9b.js → verify-filled-BOz9hX3w.js} +1 -1
- package/lib/{verify-filled-yMiXBbCQ.mjs → verify-filled-DOsmzDzC.mjs} +1 -1
- package/lib/{w3m-modal-luSHEfx4.mjs → w3m-modal-Cdafmb0Z.mjs} +2 -2
- package/lib/{w3m-modal-BGlhUPJA.js → w3m-modal-CpYUxfVT.js} +1 -1
- package/lib/{wallet-CvHL82h-.js → wallet-Bc87h19O.js} +1 -1
- package/lib/{wallet-CEtYecn_.mjs → wallet-D3sDbpnL.mjs} +1 -1
- package/lib/{wallet-placeholder-Deq6znRH.mjs → wallet-placeholder-CsEk6mnJ.mjs} +1 -1
- package/lib/{wallet-placeholder-C4f_-N7F.js → wallet-placeholder-D60KEgcO.js} +1 -1
- package/lib/{walletconnect-BBY1yZEn.mjs → walletconnect-D44C2RUp.mjs} +1 -1
- package/lib/{walletconnect-CbujsbqX.js → walletconnect-isfAM6mU.js} +1 -1
- package/lib/{warning-circle-cokTC_ks.mjs → warning-circle-D6V7bjdk.mjs} +1 -1
- package/lib/{warning-circle-iBEa0DFJ.js → warning-circle-DKsp8DlH.js} +1 -1
- package/lib/{web3-IDpqtkwB.js → web3-DgUW0FuE.js} +1 -1
- package/lib/{web3-CevzYKNd.mjs → web3-L0yKkQfC.mjs} +1 -1
- package/lib/{x-CNsQuYZX.mjs → x-CfYfR6N2.mjs} +1 -1
- package/lib/{x-FvnYgr2g.js → x-D1ju5P9d.js} +1 -1
- package/package.json +30 -28
- package/lib/address-CSWlEusF.js +0 -15
- package/lib/constants-CBdrF4sv.js +0 -1
- package/lib/create-CRa9FZnZ.mjs +0 -18
- package/lib/solana-BHr-TCKL.js +0 -1
- package/lib/solana-Dhrl0nvx.mjs +0 -18
|
@@ -3,12 +3,12 @@ var _o = (e) => {
|
|
|
3
3
|
};
|
|
4
4
|
var Zo = (e, t, r) => t.has(e) || _o("Cannot " + r);
|
|
5
5
|
var ks = (e, t, r) => (Zo(e, t, "read from private field"), r ? r.call(e) : t.get(e)), Wo = (e, t, r) => t.has(e) ? _o("Cannot add the same private member more than once") : t instanceof WeakSet ? t.add(e) : t.set(e, r), Vo = (e, t, r, n) => (Zo(e, t, "write to private field"), n ? n.call(e, r) : t.set(e, r), r);
|
|
6
|
-
import { C as Gd, W as Hd, N as ta, c as Rd, d as It, f as Hn, B as Yd, h as _d, j as Zd, k as Wd, l as Vd, m as Rn } from "./index-
|
|
7
|
-
import {
|
|
8
|
-
import { a as Yt, p as rs, B as O, i as gt, n as R, h as Ze, b as be, t as Q, c as re, f as qd, e as ep, d as ot, s as ue, L as Ra, S as Sc, F as Ot, T as Lr, g as it, I as tp, j as Bt, k as rp, l as np, m as Yn, o as We, q as sp, E as sn, r as $o, N as Ko, u as Xo, v as qo, w as ei, x as ti, y as ri, z as ni, U as Rr, A as ap, R as zc, C as si, D as jc, G as ai, H as Bc, J as Uc, K as op, M as Lc, O as ip, P as cp, Q as lp, V as _n, W as oi, X as up, Y as ii, Z as dp, _ as er, $ as pp, a0 as ra, a1 as ci, a2 as hp } from "./index-
|
|
9
|
-
import { j as mp } from "./provider-jsonrpc-
|
|
10
|
-
import { t as fp, C as bp, f as yp } from "./contract-
|
|
11
|
-
import { f as gp, a as xp } from "./units-
|
|
6
|
+
import { C as Gd, W as Hd, N as ta, c as Rd, d as It, f as Hn, B as Yd, h as _d, j as Zd, k as Wd, l as Vd, m as Rn } from "./index-Dpefdrdb.mjs";
|
|
7
|
+
import { bs as Jo, g as Jd, aO as $d, d as Kd, ad as Xd } from "./address-BkeBsCZD.mjs";
|
|
8
|
+
import { a as Yt, p as rs, B as O, i as gt, n as R, h as Ze, b as be, t as Q, c as re, f as qd, e as ep, d as ot, s as ue, L as Ra, S as Sc, F as Ot, T as Lr, g as it, I as tp, j as Bt, k as rp, l as np, m as Yn, o as We, q as sp, E as sn, r as $o, N as Ko, u as Xo, v as qo, w as ei, x as ti, y as ri, z as ni, U as Rr, A as ap, R as zc, C as si, D as jc, G as ai, H as Bc, J as Uc, K as op, M as Lc, O as ip, P as cp, Q as lp, V as _n, W as oi, X as up, Y as ii, Z as dp, _ as er, $ as pp, a0 as ra, a1 as ci, a2 as hp } from "./index-CNWcuxPc.mjs";
|
|
9
|
+
import { j as mp } from "./provider-jsonrpc-pHUX5SqN.mjs";
|
|
10
|
+
import { t as fp, C as bp, f as yp } from "./contract-C26uilM9.mjs";
|
|
11
|
+
import { f as gp, a as xp } from "./units-CLOrp1Nk.mjs";
|
|
12
12
|
var sr;
|
|
13
13
|
class wp extends mp {
|
|
14
14
|
/**
|
|
@@ -18900,7 +18900,7 @@ async function ms(e, t) {
|
|
|
18900
18900
|
});
|
|
18901
18901
|
return H === "0x" ? { data: void 0 } : { data: H };
|
|
18902
18902
|
} catch (S) {
|
|
18903
|
-
const N = O3(S), { offchainLookup: U, offchainLookupSignature: z } = await import("./ccip-
|
|
18903
|
+
const N = O3(S), { offchainLookup: U, offchainLookupSignature: z } = await import("./ccip-CIIU_fEJ.mjs");
|
|
18904
18904
|
if (e.ccipRead !== !1 && (N == null ? void 0 : N.slice(0, 10)) === z && E)
|
|
18905
18905
|
return { data: await U(e, { data: N, to: E }) };
|
|
18906
18906
|
throw D && (N == null ? void 0 : N.slice(0, 10)) === "0x101bb98d" ? new cx({ factory: h }) : oo(S, {
|
|
@@ -20324,7 +20324,7 @@ async function Pn(e, t = {}) {
|
|
|
20324
20324
|
const { keepAlive: r, reconnect: n } = t;
|
|
20325
20325
|
return I6({
|
|
20326
20326
|
async getSocket({ onClose: s, onError: a, onOpen: o, onResponse: i }) {
|
|
20327
|
-
const c = await import("./native-
|
|
20327
|
+
const c = await import("./native-DCc4sjxb.mjs").then((f) => f.WebSocket), l = new c(e);
|
|
20328
20328
|
function p() {
|
|
20329
20329
|
l.removeEventListener("close", p), l.removeEventListener("message", h), l.removeEventListener("error", a), l.removeEventListener("open", o), s();
|
|
20330
20330
|
}
|
|
@@ -28103,7 +28103,7 @@ Qa = async function() {
|
|
|
28103
28103
|
};
|
|
28104
28104
|
Fo = /* @__PURE__ */ new WeakSet();
|
|
28105
28105
|
Fd = async function() {
|
|
28106
|
-
const { EthereumProvider: e } = await import("./index.es-
|
|
28106
|
+
const { EthereumProvider: e } = await import("./index.es-CTerQ-xd.mjs"), t = this.chains.map(({ id: r }) => r);
|
|
28107
28107
|
if (t.length) {
|
|
28108
28108
|
const {
|
|
28109
28109
|
projectId: r,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const C=require("./solana-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const C=require("./solana-BUWSwHur.js"),e=C.b`<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
2
|
<path d="M15.0162 11.6312L9.55059 2.13937C9.39228 1.86862 9.16584 1.64405 8.8938 1.48798C8.62176 1.33192 8.3136 1.2498 7.99997 1.2498C7.68634 1.2498 7.37817 1.33192 7.10613 1.48798C6.83409 1.64405 6.60765 1.86862 6.44934 2.13937L0.983716 11.6312C0.830104 11.894 0.749146 12.1928 0.749146 12.4972C0.749146 12.8015 0.830104 13.1004 0.983716 13.3631C1.14027 13.6352 1.3664 13.8608 1.63889 14.0166C1.91139 14.1725 2.22044 14.253 2.53434 14.25H13.4656C13.7793 14.2528 14.0881 14.1721 14.3603 14.0163C14.6326 13.8604 14.8585 13.635 15.015 13.3631C15.1688 13.1005 15.2499 12.8017 15.2502 12.4973C15.2504 12.193 15.1696 11.8941 15.0162 11.6312ZM13.7162 12.6125C13.6908 12.6558 13.6541 12.6914 13.6101 12.7157C13.5661 12.7399 13.5164 12.7517 13.4662 12.75H2.53434C2.48415 12.7517 2.43442 12.7399 2.39042 12.7157C2.34641 12.6914 2.30976 12.6558 2.28434 12.6125C2.26278 12.5774 2.25137 12.5371 2.25137 12.4959C2.25137 12.4548 2.26278 12.4144 2.28434 12.3794L7.74997 2.88749C7.77703 2.84583 7.81408 2.8116 7.85774 2.7879C7.9014 2.7642 7.95029 2.75178 7.99997 2.75178C8.04964 2.75178 8.09854 2.7642 8.1422 2.7879C8.18586 2.8116 8.2229 2.84583 8.24997 2.88749L13.715 12.3794C13.7367 12.4143 13.7483 12.4546 13.7486 12.4958C13.7488 12.5369 13.7376 12.5773 13.7162 12.6125ZM7.24997 8.49999V6.49999C7.24997 6.30108 7.32898 6.11031 7.46964 5.96966C7.61029 5.82901 7.80105 5.74999 7.99997 5.74999C8.19888 5.74999 8.38964 5.82901 8.5303 5.96966C8.67095 6.11031 8.74997 6.30108 8.74997 6.49999V8.49999C8.74997 8.6989 8.67095 8.88967 8.5303 9.03032C8.38964 9.17097 8.19888 9.24999 7.99997 9.24999C7.80105 9.24999 7.61029 9.17097 7.46964 9.03032C7.32898 8.88967 7.24997 8.6989 7.24997 8.49999ZM8.99997 11C8.99997 11.1978 8.94132 11.3911 8.83144 11.5556C8.72155 11.72 8.56538 11.8482 8.38265 11.9239C8.19992 11.9996 7.99886 12.0194 7.80488 11.9808C7.6109 11.9422 7.43271 11.847 7.29286 11.7071C7.15301 11.5672 7.05777 11.3891 7.01918 11.1951C6.9806 11.0011 7.0004 10.8 7.07609 10.6173C7.15177 10.4346 7.27995 10.2784 7.4444 10.1685C7.60885 10.0586 7.80219 9.99999 7.99997 9.99999C8.26518 9.99999 8.51954 10.1053 8.70707 10.2929C8.89461 10.4804 8.99997 10.7348 8.99997 11Z" fill="currentColor"/>
|
|
3
3
|
</svg>
|
|
4
4
|
`;exports.exclamationTriangleSvg=e;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { l as C } from "./solana-
|
|
1
|
+
import { l as C } from "./solana-C2S4i5Ij.mjs";
|
|
2
2
|
const t = C`<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
3
3
|
<path d="M15.0162 11.6312L9.55059 2.13937C9.39228 1.86862 9.16584 1.64405 8.8938 1.48798C8.62176 1.33192 8.3136 1.2498 7.99997 1.2498C7.68634 1.2498 7.37817 1.33192 7.10613 1.48798C6.83409 1.64405 6.60765 1.86862 6.44934 2.13937L0.983716 11.6312C0.830104 11.894 0.749146 12.1928 0.749146 12.4972C0.749146 12.8015 0.830104 13.1004 0.983716 13.3631C1.14027 13.6352 1.3664 13.8608 1.63889 14.0166C1.91139 14.1725 2.22044 14.253 2.53434 14.25H13.4656C13.7793 14.2528 14.0881 14.1721 14.3603 14.0163C14.6326 13.8604 14.8585 13.635 15.015 13.3631C15.1688 13.1005 15.2499 12.8017 15.2502 12.4973C15.2504 12.193 15.1696 11.8941 15.0162 11.6312ZM13.7162 12.6125C13.6908 12.6558 13.6541 12.6914 13.6101 12.7157C13.5661 12.7399 13.5164 12.7517 13.4662 12.75H2.53434C2.48415 12.7517 2.43442 12.7399 2.39042 12.7157C2.34641 12.6914 2.30976 12.6558 2.28434 12.6125C2.26278 12.5774 2.25137 12.5371 2.25137 12.4959C2.25137 12.4548 2.26278 12.4144 2.28434 12.3794L7.74997 2.88749C7.77703 2.84583 7.81408 2.8116 7.85774 2.7879C7.9014 2.7642 7.95029 2.75178 7.99997 2.75178C8.04964 2.75178 8.09854 2.7642 8.1422 2.7879C8.18586 2.8116 8.2229 2.84583 8.24997 2.88749L13.715 12.3794C13.7367 12.4143 13.7483 12.4546 13.7486 12.4958C13.7488 12.5369 13.7376 12.5773 13.7162 12.6125ZM7.24997 8.49999V6.49999C7.24997 6.30108 7.32898 6.11031 7.46964 5.96966C7.61029 5.82901 7.80105 5.74999 7.99997 5.74999C8.19888 5.74999 8.38964 5.82901 8.5303 5.96966C8.67095 6.11031 8.74997 6.30108 8.74997 6.49999V8.49999C8.74997 8.6989 8.67095 8.88967 8.5303 9.03032C8.38964 9.17097 8.19888 9.24999 7.99997 9.24999C7.80105 9.24999 7.61029 9.17097 7.46964 9.03032C7.32898 8.88967 7.24997 8.6989 7.24997 8.49999ZM8.99997 11C8.99997 11.1978 8.94132 11.3911 8.83144 11.5556C8.72155 11.72 8.56538 11.8482 8.38265 11.9239C8.19992 11.9996 7.99886 12.0194 7.80488 11.9808C7.6109 11.9422 7.43271 11.847 7.29286 11.7071C7.15301 11.5672 7.05777 11.3891 7.01918 11.1951C6.9806 11.0011 7.0004 10.8 7.07609 10.6173C7.15177 10.4346 7.27995 10.2784 7.4444 10.1685C7.60885 10.0586 7.80219 9.99999 7.99997 9.99999C8.26518 9.99999 8.51954 10.1053 8.70707 10.2929C8.89461 10.4804 8.99997 10.7348 8.99997 11Z" fill="currentColor"/>
|
|
4
4
|
</svg>
|
package/lib/executor.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var me=Object.defineProperty;var le=(e,a,t)=>a in e?me(e,a,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[a]=t;var d=(e,a,t)=>le(e,typeof a!="symbol"?a+"":a,t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("./address-CSWlEusF.js"),P=require("./chain-DTh9H2Cq.js"),V=require("./chunk-KJH4KKG6-DOESg_ru.js"),he=require("./platform-C7YwgvxU.js"),T=require("./address-DGYJWkFz.js"),ge=require("./unsignedTransaction-C1YeEl4G.js"),X=require("./platform-DbvllBcy.js"),pe=require("./contract-DYtnmT6F.js"),Ce=require("./unsignedTransaction-B7AZXsTD.js"),x=require("./platform-CgqczEeE.js"),be=require("./index-CFikcYS0.js"),ne=require("./address-DfgK_jn7.js"),we=require("./unsignedTransaction-DzSLsK-p.js"),Ae=require("./index-aoDDl5Bh.js"),ye=require("./index-Csb-_vqa.js"),E=require("./web3-IDpqtkwB.js"),H=require("./unsignedTransaction-3gDumn1W.js"),xe=require("./account-gVjkECaX.js"),U={Testnet:"https://executor-testnet.labsapis.com",Mainnet:"https://executor.labsapis.com"},$={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"}},J={Testnet:{executorId:"0x4000cfe2955d8355b3d3cf186f854fea9f787a457257056926fde1ec977670eb",executorRequestsId:"0x2d9ccf3cce3f7dce408e5455e90b80a8161ad9673d1366c2a5def60ad93657a8"},Mainnet:{executorId:"0xdb0fe8bb1e2b5be628adbea0636063325073e1070ee11e4281457dfd7f158235",executorRequestsId:"0xc030df7a3eed1494fa4b64aa8ab63a79041cf1114f4ff2b7ab5aca1c684a21a7"}},Ee={Testnet:"execXUrAsMnqMmTHj5m7N1YQgsDz3cwGLYCYyuDRciV",Mainnet:"execXUrAsMnqMmTHj5m7N1YQgsDz3cwGLYCYyuDRciV"},Se=5001n,ve={Testnet:{Aptos:5000n,Avalanche:200000n,BaseSepolia:200000n,Sepolia:200000n,Solana:250000n,Sui:8000000n},Mainnet:{Aptos:5000n,Arbitrum:400000n,Avalanche:250000n,Base:250000n,Ethereum:250000n,Optimism:250000n,Polygon:250000n,Unichain:250000n,Solana:250000n,Sui:8000000n}},Pe={Testnet:{Aptos:"0x23b54f6e29bba7f4123d088f4cfcd83f5e23a049de15895b119ce5a6cb5faa91",Avalanche:"0x8F26A0025dcCc6Cfc07A7d38756280a10E295ad7",BaseSepolia:"0x8F26A0025dcCc6Cfc07A7d38756280a10E295ad7",Sepolia:"0x8F26A0025dcCc6Cfc07A7d38756280a10E295ad7",Solana:"9r6q2iEg4MBevjC8reaLmQUDxueF3vabUoqDkZ2LoAYe",Sui:"0x30bd9b3d5ad00f38fd0c314139ba47ccb3c78353d99880d81125ca0c370b415e"},Mainnet:{Aptos:"0x1f177e724a874ab6267172a3049291c480fc665883e6a3ac95d0909492c09dc8",Solana:"JB3rmygUVuVZzgkxvMdV8mSKLJeQAkSXEK284Dqsziah",Sui:"0xbfa1240e48c622d97881473953be730091161b7931d89bd6afe667841cf69ef4",Arbitrum:"0xF11e0efF8b11Ce382645dd75352fC16b3aB3551E",Avalanche:"0xF11e0efF8b11Ce382645dd75352fC16b3aB3551E",Base:"0xF11e0efF8b11Ce382645dd75352fC16b3aB3551E",Ethereum:"0xF11e0efF8b11Ce382645dd75352fC16b3aB3551E",Optimism:"0xF11e0efF8b11Ce382645dd75352fC16b3aB3551E",Polygon:"0xF11e0efF8b11Ce382645dd75352fC16b3aB3551E",Unichain:"0xF11e0efF8b11Ce382645dd75352fC16b3aB3551E"}};var b;(function(e){e.Pending="pending",e.Failed="failed",e.Unsupported="unsupported",e.Submitted="submitted",e.Underpaid="underpaid",e.Aborted="aborted"})(b||(b={}));async function Fe(e){const a=`${U[e]}/v0/capabilities`;try{return(await s.axios.get(a)).data}catch{throw new Error(`Failed to fetch capabilities for network: ${e}.`)}}async function Ie(e,a,t,r){const n=`${U[e]}/v0/quote`;try{return(await s.axios.post(n,{srcChain:s.toChainId(a),dstChain:s.toChainId(t),relayInstructions:r})).data}catch{throw new Error("Failed to fetch signed quote.")}}async function Z(e,a,t){const r=`${U[e]}/v0/status/tx`;try{return(await s.axios.post(r,{txHash:a,chainId:s.toChainId(t)})).data}catch{throw new Error(`Failed to fetch status for txHash: ${a}.`)}}const De=65535n;function Me(e,a){if(a>De)throw new Error("dBps exceeds max u16");if(a>0){const t=e*a/100000n,r=e-t;return{referrerFee:t,remainingAmount:r}}return{referrerFee:0n,remainingAmount:e}}function Be(e){return new Promise(a=>setTimeout(a,e))}const Te=[{name:"gasLimit",binary:"uint",size:16},{name:"msgValue",binary:"uint",size:16}],ze=[{name:"dropOff",binary:"uint",size:16},{name:"recipient",...s.universalAddressItem}],Ue=[{name:"request",binary:"switch",idSize:1,idTag:"type",layouts:[[[1,"GasInstruction"],Te],[[2,"GasDropOffInstruction"],ze]]}],Y=[{name:"requests",binary:"array",layout:Ue}];var ee;(function(e){e.ERM1="ERM1",e.ERV1="ERV1",e.ERN1="ERN1",e.ERC1="ERC1"})(ee||(ee={}));const $e={to:e=>new Date(Number(e*1000n)),from:e=>BigInt(e.getTime())/1000n},Re=[{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:$e},{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=[...Re,{name:"signature",binary:"bytes",size:65}];class R{constructor(a,t,r,n){d(this,"network");d(this,"chain");d(this,"provider");d(this,"contracts");d(this,"usdcId");d(this,"shimContract");var c;if(this.network=a,this.chain=t,this.provider=r,this.contracts=n,a==="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=$[a])==null?void 0:c[t];if(!o)throw new Error(`Shim contract for ${t} not found`);this.shimContract=o}static async fromRpc(a,t){const[r,n]=await he.AptosPlatform.chainFromRpc(a),i=t[n];if(!i)throw new Error(`No config found for ${n}`);if(i.network!==r)throw new Error(`Network mismatch: ${i.network} != ${r}`);return new R(r,n,a,i.contracts)}async*transfer(a,t,r){const n=new T.AptosAddress(a).unwrap(),i=V.l.from(t.address.toUniversalAddress().toUint8Array()),o=V.l.from(this.usdcId),c=r.remainingAmount+r.referrerFee,u=s.circleChainId.get(this.network,t.chain),f=n,l=new T.AptosAddress(r.referrer.address.toString()).unwrap(),g=[c,u,i.toString(),o.toString(),r.estimatedCost,s.toChainId(t.chain),f,r.signedQuote,r.relayInstructions,r.referrerFeeDbps,l],m={function:`${this.shimContract}::cctp_v1_with_executor::deposit_for_burn_entry`,functionArguments:g};yield this.createUnsignedTx(m,"AtposCCTPExecutor.Transfer")}createUnsignedTx(a,t,r=!1){return new ge.AptosUnsignedTransaction(a,this.network,this.chain,t,r)}}P.registerProtocol(T._platform,"CCTPExecutor",R);class q{constructor(a,t,r,n){d(this,"network");d(this,"chain");d(this,"provider");d(this,"contracts");d(this,"chainId");d(this,"shimContract");var o;if(this.network=a,this.chain=t,this.provider=r,this.contracts=n,a==="Devnet")throw new Error("CCTPExecutor not supported on Devnet");this.chainId=s.networkChainToNativeChainId.get(a,t);const i=(o=$[a])==null?void 0:o[t];if(!i)throw new Error(`Shim contract for ${t} not found`);this.shimContract=i}static async fromRpc(a,t){const[r,n]=await X.EvmPlatform.chainFromRpc(a),i=t[n];if(i.network!==r)throw new Error(`Network mismatch: ${i.network} != ${r}`);return new q(r,n,a,i.contracts)}async*transfer(a,t,r){const n=new s.EvmAddress(a).toString(),i=t.address.toUniversalAddress().toUint8Array(),o=r.remainingAmount+r.referrerFee,c=s.usdcContract.get(this.network,this.chain),u=X.EvmPlatform.getTokenImplementation(this.provider,c);if(await u.allowance(n,this.shimContract)<o){const p=await u.approve.populateTransaction(this.shimContract,o);yield this.createUnsignedTx(s.addFrom(p,n),"ERC20.approve of EvmCCTPExecutor",!1)}const l=["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)"],m=await new pe.Contract(this.shimContract,l,this.provider).getFunction("depositForBurn").populateTransaction(o,s.toChainId(t.chain),s.circleChainId.get(this.network,t.chain),i,c,{refundAddress:n,signedQuote:r.signedQuote,instructions:r.relayInstructions},{dbps:r.referrerFeeDbps,payee:r.referrer.address.toString()});m.value=r.estimatedCost,yield this.createUnsignedTx(s.addFrom(m,n),"EvmCCTPExecutor.depositForBurn")}createUnsignedTx(a,t,r=!1){return new Ce.EvmUnsignedTransaction(s.addChainId(a,this.chainId),this.network,this.chain,t,r)}}P.registerProtocol(s._platform,"CCTPExecutor",q);class _{constructor(a,t,r,n){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 f,l,g,m;if(this.network=a,this.chain=t,this.provider=r,this.contracts=n,a==="Devnet")throw new Error("CCTPExecutor not supported on Devnet");const i=(p,h)=>{if(!p)throw new Error(h);return p};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}=be.suiCircleObjects(a);this.usdcTreasuryId=u,this.tokenMessengerId=i((f=n.cctp)==null?void 0:f.tokenMessenger,`Circle Token Messenger contract for domain ${t} not found`),this.messageTransmitterId=i((l=n.cctp)==null?void 0:l.messageTransmitter,`Circle Message Transmitter contract for domain ${t} not found`),this.tokenMessengerStateId=o,this.messageTransmitterStateId=c,this.executorId=i((g=J[a])==null?void 0:g.executorId,`Executor contract for ${a} not found`),this.executorRequestsId=i((m=J[a])==null?void 0:m.executorRequestsId,`Executor requests contract for ${a} not found`)}static async fromRpc(a,t){const[r,n]=await x.SuiPlatform.chainFromRpc(a),i=t[n];if(i.network!==r)throw new Error(`Network mismatch: ${i.network} != ${r}`);return new _(r,n,a,i.contracts)}async*transfer(a,t,r){const n=new x.Transaction,i=new ne.SuiAddress(a).unwrap(),o=s.circleChainId.get(this.network,t.chain),[c,...u]=await x.SuiPlatform.getCoins(this.provider,a,this.usdcId);if(c===void 0)throw new Error("No USDC in wallet");const f=n.object(c.coinObjectId);u.length>0&&n.mergeCoins(f,u.map(C=>n.object(C.coinObjectId)));let l;if(r.referrerFee>0n){const[C,y]=n.splitCoins(f,[r.remainingAmount,r.referrerFee]);l=C,n.transferObjects([y],s.canonicalAddress(r.referrer))}else{const[C]=n.splitCoins(f,[r.remainingAmount]);l=C}const[g,m]=n.moveCall({target:`${this.tokenMessengerId}::deposit_for_burn::deposit_for_burn`,arguments:[l,n.pure.u32(o),n.pure.address(t.address.toUniversalAddress().toString()),n.object(this.tokenMessengerStateId),n.object(this.messageTransmitterStateId),n.object("0x403"),n.object(this.usdcTreasuryId)],typeArguments:[this.usdcId]}),[p]=n.moveCall({target:`${this.messageTransmitterId}::message::source_domain`,arguments:[m]}),[h]=n.moveCall({target:`${this.messageTransmitterId}::message::nonce`,arguments:[m]}),[w]=n.moveCall({target:`${this.executorRequestsId}::executor_requests::make_cctp_v1_request`,arguments:[p,h]}),[A]=n.splitCoins(n.gas,[n.pure.u64(r.estimatedCost)]);n.moveCall({target:`${this.executorId}::executor::request_execution`,arguments:[A,n.object(x.SUI_CLOCK_OBJECT_ID),n.pure.u16(s.toChainId(t.chain)),n.pure.address("0x0"),n.pure.address(i),n.pure.vector("u8",r.signedQuote),w,n.pure.vector("u8",r.relayInstructions)]}),yield this.createUnsignedTx(n,"SuiCCTPExecutor.Transfer")}createUnsignedTx(a,t,r=!1){return new we.SuiUnsignedTransaction(a,this.network,this.chain,t,r)}}P.registerProtocol(x._platform,"CCTPExecutor",_);const F=new s.PublicKey("TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA");new s.PublicKey("TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb");const N=new s.PublicKey("ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL");new s.PublicKey("So11111111111111111111111111111111111111112");new s.PublicKey("9pan9bMn5HatX4EJdBwg9VgCa7Uz5HL8N1m5D3NdXejP");class qe extends Error{constructor(a){super(a)}}class _e extends qe{constructor(){super(...arguments),this.name="TokenOwnerOffCurveError"}}var z;(function(e){e[e.InitializeMint=0]="InitializeMint",e[e.InitializeAccount=1]="InitializeAccount",e[e.InitializeMultisig=2]="InitializeMultisig",e[e.Transfer=3]="Transfer",e[e.Approve=4]="Approve",e[e.Revoke=5]="Revoke",e[e.SetAuthority=6]="SetAuthority",e[e.MintTo=7]="MintTo",e[e.Burn=8]="Burn",e[e.CloseAccount=9]="CloseAccount",e[e.FreezeAccount=10]="FreezeAccount",e[e.ThawAccount=11]="ThawAccount",e[e.TransferChecked=12]="TransferChecked",e[e.ApproveChecked=13]="ApproveChecked",e[e.MintToChecked=14]="MintToChecked",e[e.BurnChecked=15]="BurnChecked",e[e.InitializeAccount2=16]="InitializeAccount2",e[e.SyncNative=17]="SyncNative",e[e.InitializeAccount3=18]="InitializeAccount3",e[e.InitializeMultisig2=19]="InitializeMultisig2",e[e.InitializeMint2=20]="InitializeMint2",e[e.GetAccountDataSize=21]="GetAccountDataSize",e[e.InitializeImmutableOwner=22]="InitializeImmutableOwner",e[e.AmountToUiAmount=23]="AmountToUiAmount",e[e.UiAmountToAmount=24]="UiAmountToAmount",e[e.InitializeMintCloseAuthority=25]="InitializeMintCloseAuthority",e[e.TransferFeeExtension=26]="TransferFeeExtension",e[e.ConfidentialTransferExtension=27]="ConfidentialTransferExtension",e[e.DefaultAccountStateExtension=28]="DefaultAccountStateExtension",e[e.Reallocate=29]="Reallocate",e[e.MemoTransferExtension=30]="MemoTransferExtension",e[e.CreateNativeMint=31]="CreateNativeMint",e[e.InitializeNonTransferableMint=32]="InitializeNonTransferableMint",e[e.InterestBearingMintExtension=33]="InterestBearingMintExtension",e[e.CpiGuardExtension=34]="CpiGuardExtension",e[e.InitializePermanentDelegate=35]="InitializePermanentDelegate",e[e.TransferHookExtension=36]="TransferHookExtension",e[e.MetadataPointerExtension=39]="MetadataPointerExtension"})(z||(z={}));function Ne(e,a,t){if(t.length){e.push({pubkey:a,isSigner:!1,isWritable:!1});for(const r of t)e.push({pubkey:r instanceof s.PublicKey?r:r.publicKey,isSigner:!0,isWritable:!1})}else e.push({pubkey:a,isSigner:!0,isWritable:!1});return e}const ke=s.struct([s.u32("mintAuthorityOption"),E.publicKey("mintAuthority"),E.u64("supply"),s.u8("decimals"),E.bool("isInitialized"),s.u32("freezeAuthorityOption"),E.publicKey("freezeAuthority")]);ke.span;function te(e,a,t=!1,r=F,n=N){if(!t&&!s.PublicKey.isOnCurve(a.toBuffer()))throw new _e;const[i]=s.PublicKey.findProgramAddressSync([a.toBuffer(),r.toBuffer(),e.toBuffer()],n);return i}function Oe(e,a,t,r,n=F,i=N){return Ge(e,a,t,r,s.dist.Buffer.from([1]),n,i)}function Ge(e,a,t,r,n,i=F,o=N){const c=[{pubkey:e,isSigner:!0,isWritable:!0},{pubkey:a,isSigner:!1,isWritable:!0},{pubkey:t,isSigner:!1,isWritable:!1},{pubkey:r,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:n})}const re=s.struct([s.u8("instruction"),E.u64("amount")]);function Le(e,a,t,r,n=[],i=F){const o=Ne([{pubkey:e,isSigner:!1,isWritable:!0},{pubkey:a,isSigner:!1,isWritable:!0}],t,n),c=s.dist.Buffer.alloc(re.span);return re.encode({instruction:z.Transfer,amount:BigInt(r)},c),new s.TransactionInstruction({keys:o,programId:i,data:c})}const Qe={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 k{constructor(a,t,r,n){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=a,this.chain=t,this.connection=r,this.contracts=n,a==="Devnet")throw new Error("CCTPExecutor not supported on Devnet");const i=(f,l)=>{if(!f)throw new Error(l);return new s.PublicKey(f)};this.tokenMessengerProgramId=i((o=n.cctp)==null?void 0:o.tokenMessenger,`Circle Token Messenger contract for domain ${t} not found`),this.messageTransmitterProgramId=i((c=n.cctp)==null?void 0:c.messageTransmitter,`Circle Message Transmitter contract for domain ${t} not found`),this.shimProgramId=i((u=$[a])==null?void 0:u[t],`Shim contract for ${t} not found`),this.executorProgramId=i(Ee[a],`Executor contract for ${a} not found`)}static async fromRpc(a,t){const[r,n]=await H.SolanaPlatform.chainFromRpc(a),i=t[n];if(i.network!==r)throw new Error(`Network mismatch: ${i.network} != ${r}`);return new k(r,n,a,i.contracts)}async*transfer(a,t,r){const n=new s.PublicKey(s.usdcContract.get(this.network,this.chain)),i=new s.SolanaAddress(a).unwrap(),o=te(n,i),c=new s.SolanaAddress(r.referrer.address).unwrap(),u=new s.Transaction;if(u.feePayer=i,r.referrerFee>0n){const w=te(n,c,!0);await this.connection.getAccountInfo(w)||u.add(Oe(i,w,c,n)),u.add(Le(o,w,i,r.referrerFee))}const f=s.circleChainId.get(this.network,t.chain),l=t.address.toUniversalAddress(),g=s.Keypair.generate();u.add(await Ae.createDepositForBurnInstruction(this.messageTransmitterProgramId,this.tokenMessengerProgramId,n,f,i,o,l,r.remainingAmount,g.publicKey));const m=new ye.Program(Qe,this.shimProgramId,{connection:null}),p=s.deserialize$1(se,r.signedQuote),h=xe.deriveAddress("message_transmitter",this.messageTransmitterProgramId);u.add(await m.methods.relayLastMessage({execAmount:new s.BN(r.estimatedCost.toString()),recipientChain:s.toChainId(t.chain),signedQuoteBytes:s.dist.Buffer.from(r.signedQuote),relayInstructions:s.dist.Buffer.from(r.relayInstructions)}).accounts({payer:i,messageTransmitter:h,payee:new s.PublicKey(p.quote.payeeAddress),executorProgram:this.executorProgramId}).instruction()),yield this.createUnsignedTx({transaction:u,signers:[g]},"SvmCCTPExecutor.Transfer")}createUnsignedTx(a,t,r=!1){return new H.SolanaUnsignedTransaction(a,this.network,this.chain,t,r)}}P.registerProtocol(s._platform$1,"CCTPExecutor",k);let S;function Ke(e={referrerFeeDbps:0n}){if(e.referrerFeeDbps<0||e.referrerFeeDbps>65535n)throw new Error("Referrer fee must be between 0 and 65535");class a extends v{}return d(a,"config",e),a}class v extends s.AutomaticRoute{constructor(){super(...arguments);d(this,"staticConfig",this.constructor.config)}static supportedNetworks(){return["Mainnet","Testnet"]}static supportedChains(t){return s.circleContractChains.has(t)?s.circleContractChains.get(t):[]}static async supportedDestinationTokens(t,r,n){const i=s.usdcContract.get(r.network,r.chain);if(!(i&&s.isSameToken(t,s.Wormhole.tokenId(r.chain,i))))return[];const{network:o,chain:c}=n;return s.usdcContract.has(o,c)?[s.Wormhole.chainAddress(c,s.usdcContract.get(o,c))]:[]}getDefaultOptions(){return{nativeGas:0}}async validate(t,r){var i;return(i=r.options)!=null&&i.nativeGas&&(r.options.nativeGas<0||r.options.nativeGas>1)?{valid:!1,error:new Error("Invalid native gas percentage"),params:r}:{valid:!0,params:{normalizedParams:{amount:t.parseAmount(r.amount)},options:r.options??this.getDefaultOptions(),...r}}}async quote(t,r){var K,W;const{fromChain:n,toChain:i}=t;if(!s.usdcContract.get(n.network,n.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");const u=(K=Pe[n.network])==null?void 0:K[n.chain];if(!u)return{success:!1,error:new Error("No referrer address found")};const f=s.Wormhole.chainAddress(n.chain,u),l=this.staticConfig.referrerFeeDbps,{referrerFee:g,remainingAmount:m}=Me(s.units(r.normalizedParams.amount),this.staticConfig.referrerFeeDbps);if(m<=0n)return{success:!1,error:new Error("Amount after fee <= 0")};const p=(W=ve[n.network])==null?void 0:W[i.chain];if(!p)return{success:!1,error:new Error("Gas limit not found")};const h=await Fe(n.network);if(!h[s.toChainId(n.chain)])return{success:!1,error:new Error("Unsupported source chain")};const A=h[s.toChainId(i.chain)];if(!A||!A.requestPrefixes.includes("ERC1"))return{success:!1,error:new Error("Unsupported destination chain")};const{recipient:C}=t;let y=!0;if(C&&i.chain==="Solana"){const ue=s.Wormhole.parseAddress("Solana",c),fe=await i.getTokenAccount(C.address,ue),j=await i.getRpc();y=await j.getAccountInfo(new s.SolanaAddress(fe.address).unwrap())!==null,!y&&!S&&(S=BigInt(await j.getMinimumBalanceForRentExemption(165)))}let I=0n;i.chain==="Solana"&&(I+=Se,!y&&S&&(I+=S));const D=[];D.push({request:{type:"GasInstruction",gasLimit:p,msgValue:I}});const O=BigInt(A.gasDropOffLimit),M=r.options.nativeGas&&O>0n?BigInt(Math.round(r.options.nativeGas*100))*O/100n:0n;(M>0n||!y)&&D.push({request:{type:"GasDropOffInstruction",dropOff:M,recipient:C?C.address.toUniversalAddress():new s.UniversalAddress(new Uint8Array(32))}});const G=s.serialize$1(Y,{requests:D}),B=await Ie(n.network,n.chain,i.chain,s.hex.encode(G,!0));if(!B.estimatedCost)return{success:!1,error:new Error("No estimated cost")};const L=s.hex.decode(B.signedQuote),ae=s.deserialize$1(se,L),ie=n.chain==="Polygon"?2e3*200:s.estimateFinalityTime(n.chain)+1e3,Q=BigInt(B.estimatedCost),oe={signedQuote:L,relayInstructions:G,estimatedCost:Q,referrer:f,referrerFee:g,remainingAmount:m,referrerFeeDbps:l},[ce,de]=await Promise.all([n.getDecimals("native"),i.getDecimals("native")]);return{success:!0,params:r,sourceToken:{token:t.source.id,amount:r.normalizedParams.amount},destinationToken:{token:t.destination.id,amount:s.fromBaseUnits(m,t.destination.decimals)},relayFee:{token:s.nativeTokenId(n.chain),amount:s.fromBaseUnits(Q,ce)},destinationNativeGas:s.fromBaseUnits(M,de),eta:ie,expires:ae.quote.expiryTime,details:oe}}async initiate(t,r,n,i){if(!n.details)throw new Error("Missing quote details");s.deserialize$1(Y,n.details.relayInstructions).requests.forEach(({request:h})=>{if(h.type==="GasDropOffInstruction"&&!h.recipient.equals(i.address.toUniversalAddress()))throw new Error("Gas drop-off recipient does not match")});const c=await t.fromChain.getProtocol("CCTPExecutor"),u=s.Wormhole.parseAddress(r.chain(),r.address());let f=i;if(i.chain==="Solana"){const h=s.Wormhole.parseAddress("Solana",s.usdcContract.get(t.toChain.network,t.toChain.chain));f=await t.toChain.getTokenAccount(i.address,h)}const l=await c.transfer(u,f,n.details),g=await s.signSendWait(t.fromChain,l,r);let m=0;return(async()=>{for(;m<20;){try{const[h]=await Z(this.wh.network,g.at(-1).txid,t.fromChain.chain);if(h)break}catch{}m++,await Be(2e3)}})(),{from:t.fromChain.chain,to:t.toChain.chain,state:s.TransferState.SourceInitiated,originTxs:g}}async*track(t,r){if(s.isCompleted(t)||s.isFailed(t))return t;let n=r||60*60*1e3;for(;n>0;){const i=Date.now();if(s.isSourceInitiated(t)||s.isSourceFinalized(t)||s.isAttested(t))try{const[o]=await Z(this.wh.network,t.originTxs.at(-1).txid,t.from);if(!o)throw new Error("No transaction status found");const c=o==null?void 0:o.status;if((c===b.Failed||c===b.Underpaid||c===b.Unsupported||c===b.Aborted)&&(t={...t,state:s.TransferState.Failed,error:new ne.RelayFailedError(`Relay failed with status: ${c}`)}),c===b.Submitted&&(t={...t,state:s.TransferState.DestinationFinalized,attestation:{id:o.id,attestation:{}}}),yield t,s.isCompleted(t)||s.isFailed(t))return t}catch(o){console.error(`Error fetching transaction status: ${o.message||o}`)}await new Promise(o=>setTimeout(o,3e3)),n-=Date.now()-i}return t}}d(v,"NATIVE_GAS_DROPOFF_SUPPORTED",!0),d(v,"config",{referrerFeeDbps:0n}),d(v,"meta",{name:"CCTPExecutorRoute",provider:"Circle"});exports.cctpExecutorRoute=Ke;
|
|
1
|
+
"use strict";var $e=Object.defineProperty;var ze=(r,t,e)=>t in r?$e(r,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[t]=e;var d=(r,t,e)=>ze(r,typeof t!="symbol"?t+"":t,e);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("./address-DKM11kf_.js"),S=require("./chain-CJuQGMF5.js"),he=require("./chunk-KJH4KKG6-CAnNL4lj.js"),Ve=require("./platform-Yk6Fw43J.js"),G=require("./address-vHTAfgt6.js"),Re=require("./unsignedTransaction-C1YeEl4G.js"),k=require("./platform-DHBUZeaO.js"),P=require("./contract-C2wJ6LwN.js"),ye=require("./unsignedTransaction-B7AZXsTD.js"),x=require("./platform-_YLyrJdi.js"),Ne=require("./index-XrGXGqnM.js"),Z=require("./address-CslafWGT.js"),Oe=require("./unsignedTransaction-DzSLsK-p.js"),_e=require("./index-zrsGesGr.js"),Le=require("./index-Dw8nyQGf.js"),D=require("./web3-DgUW0FuE.js"),ge=require("./unsignedTransaction-BwT180qj.js"),Ge=require("./account-nmHnnwf-.js"),qe={binary:"uint",size:1,custom:{to:r=>r>0,from:r=>r?1:0}},Qe=Object.freeze(Object.defineProperty({__proto__:null,amountItem:s.amountItem,boolItem:qe,chainItem:s.chainItem,circleDomainItem:s.circleDomainItem,circleNonceItem:s.circleNonceItem,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"})),H={Testnet:"https://executor-testnet.labsapis.com",Mainnet:"https://executor.labsapis.com"},X={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"}},Ke={Testnet:{Avalanche:"0x4058F0C3924eDaB19c15597C438968ed49C1a213",BaseSepolia:"0xC400FcC0e92d3406747FBb6f513D3aa8B038fcE9",Sepolia:"0x0F18DD26D0B41fb1eaa9cF34D1Ec6022aA69a8e2"},Mainnet:{Arbitrum:"0x8442d68524217601ed126f6859694E4B0C7c66A1",Avalanche:"0x3952914628650Ca510404872D84DfF10A844C5B5",Base:"0xbd8d42f40a11b37bD1b3770D754f9629F7cd5679",Ethereum:"0x2cCf230467FE7387674BAa657747F0B5485c7fEC",Linea:"0xc48c126468BE919068dE1983F00F65af759a4E87",Sonic:"0xc39BF082ec91D9bC385F956D24a8D66C0c26223d"}},Ce={Testnet:{executorId:"0x4000cfe2955d8355b3d3cf186f854fea9f787a457257056926fde1ec977670eb",executorRequestsId:"0x2d9ccf3cce3f7dce408e5455e90b80a8161ad9673d1366c2a5def60ad93657a8"},Mainnet:{executorId:"0xdb0fe8bb1e2b5be628adbea0636063325073e1070ee11e4281457dfd7f158235",executorRequestsId:"0xc030df7a3eed1494fa4b64aa8ab63a79041cf1114f4ff2b7ab5aca1c684a21a7"}},We={Testnet:"execXUrAsMnqMmTHj5m7N1YQgsDz3cwGLYCYyuDRciV",Mainnet:"execXUrAsMnqMmTHj5m7N1YQgsDz3cwGLYCYyuDRciV"},je=5001n,Ze={Testnet:{Aptos:5000n,ArbitrumSepolia:500000n,Avalanche:200000n,BaseSepolia:200000n,Linea:250000n,Sepolia:200000n,Solana:250000n,Sonic:250000n,Sui:8000000n},Mainnet:{Aptos:5000n,Arbitrum:500000n,Avalanche:250000n,Base:250000n,Ethereum:250000n,Linea:250000n,Optimism:250000n,Polygon:250000n,Unichain:250000n,Solana:250000n,Sonic:250000n,Sui:8000000n}},He={Testnet:{Aptos:"0x23b54f6e29bba7f4123d088f4cfcd83f5e23a049de15895b119ce5a6cb5faa91",Avalanche:"0x8F26A0025dcCc6Cfc07A7d38756280a10E295ad7",BaseSepolia:"0x8F26A0025dcCc6Cfc07A7d38756280a10E295ad7",Sepolia:"0x8F26A0025dcCc6Cfc07A7d38756280a10E295ad7",Solana:"9r6q2iEg4MBevjC8reaLmQUDxueF3vabUoqDkZ2LoAYe",Sui:"0x30bd9b3d5ad00f38fd0c314139ba47ccb3c78353d99880d81125ca0c370b415e"},Mainnet:{Aptos:"0x1f177e724a874ab6267172a3049291c480fc665883e6a3ac95d0909492c09dc8",Arbitrum:"0xF11e0efF8b11Ce382645dd75352fC16b3aB3551E",Avalanche:"0xF11e0efF8b11Ce382645dd75352fC16b3aB3551E",Base:"0xF11e0efF8b11Ce382645dd75352fC16b3aB3551E",Ethereum:"0xF11e0efF8b11Ce382645dd75352fC16b3aB3551E",Optimism:"0xF11e0efF8b11Ce382645dd75352fC16b3aB3551E",Linea:"0xF11e0efF8b11Ce382645dd75352fC16b3aB3551E",Polygon:"0xF11e0efF8b11Ce382645dd75352fC16b3aB3551E",Unichain:"0xF11e0efF8b11Ce382645dd75352fC16b3aB3551E",Solana:"JB3rmygUVuVZzgkxvMdV8mSKLJeQAkSXEK284Dqsziah",Sonic:"0xF11e0efF8b11Ce382645dd75352fC16b3aB3551E",Sui:"0xbfa1240e48c622d97881473953be730091161b7931d89bd6afe667841cf69ef4"}},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"},Sonic:{tokenMessengerV2:"0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d",messageTransmitterV2:"0x81D40F21F12A8F0E3252Bccb954D722d4c464B64"}}},xe={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=xe[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,Arbitrum:3,Base:6,Linea:11,Sonic:13}},q=(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},De=(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 Fe={Testnet:{ArbitrumSepolia:8e3,BaseSepolia:8e3,Sepolia:2e4,Linea:8e3},Mainnet:{Arbitrum:8e3,Base:8e3,Ethereum:2e4,Linea:8e3}},Je=(r,t)=>{var e;return((e=Fe[r])==null?void 0:e[t])!==void 0};class J{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=X[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 Ve.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 J(n,a,t,i.contracts)}async*transfer(t,e,n){const a=new G.AptosAddress(t).unwrap(),i=he.l.from(e.address.toUniversalAddress().toUint8Array()),o=he.l.from(this.usdcId),c=n.remainingAmount+n.referrerFee,u=s.circleChainId.get(this.network,e.chain),f=a,m=new G.AptosAddress(n.referrer.address.toString()).unwrap(),l=[c,u,i.toString(),o.toString(),n.estimatedCost,s.toChainId(e.chain),f,n.signedQuote,n.relayInstructions,n.referrerFeeDbps,m],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 Re.AptosUnsignedTransaction(t,this.network,this.chain,e,n)}}S.registerProtocol(G._platform,"CCTPExecutor",J);class Y{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=X[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 Y(n,a,t,i.contracts)}async*transfer(t,e,n){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 g=await u.approve.populateTransaction(this.shimContract,o);yield this.createUnsignedTx(s.addFrom(g,a),"ERC20.approve of EvmCCTPExecutor",!1)}const m=["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 P.Contract(this.shimContract,m,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:n.referrer.address.toString()});h.value=n.estimatedCost,yield this.createUnsignedTx(s.addFrom(h,a),"EvmCCTPExecutor.depositForBurn")}createUnsignedTx(t,e,n=!1){return new ye.EvmUnsignedTransaction(s.addChainId(t,this.chainId),this.network,this.chain,e,n)}}const{amountItem:B,circleDomainItem:we,universalAddressItem:y}=Qe,ve={binary:"uint",size:4,custom:1,omit:!1},Ye={binary:"bytes",size:32},pe={binary:"uint",size:4},et=[{name:"version",...ve},{name:"burnToken",...y},{name:"mintRecipient",...y},{name:"amount",...B},{name:"messageSender",...y},{name:"maxFee",...B},{name:"feeExecuted",...B},{name:"expirationBlock",...B},{name:"hookData",binary:"bytes"}],Se=[{name:"version",...ve},{name:"sourceDomain",...we},{name:"destinationDomain",...we},{name:"nonce",...Ye},{name:"sender",...y},{name:"recipient",...y},{name:"destinationCaller",...y},{name:"minFinalityThreshold",...pe},{name:"finalityThresholdExecuted",...pe},{name:"messageBody",binary:"bytes",layout:et}],tt=r=>s.deserialize$1(Se,r),nt=r=>s.serialize$1(Se,r),rt=[{name:"gasLimit",binary:"uint",size:16},{name:"msgValue",binary:"uint",size:16}],st=[{name:"dropOff",binary:"uint",size:16},{name:"recipient",...s.universalAddressItem}],at=[{name:"request",binary:"switch",idSize:1,idTag:"type",layouts:[[[1,"GasInstruction"],rt],[[2,"GasDropOffInstruction"],st]]}],Te=[{name:"requests",binary:"array",layout:at}],it={to:r=>new Date(Number(r*1000n)),from:r=>BigInt(r.getTime())/1000n},ot=[{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:it},{name:"baseFee",binary:"uint",size:8},{name:"dstGasPrice",binary:"uint",size:8},{name:"srcPrice",binary:"uint",size:8},{name:"dstPrice",binary:"uint",size:8}]]]}],Be=[...ot,{name:"signature",binary:"bytes",size:65}];class ee{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,f,m;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=Ke[t])==null?void 0:u[e];if(!i)throw new Error(`Shim contract for ${e} not found`);this.shimContract=i;const o=(m=(f=Xe[t])==null?void 0:f[e])==null?void 0:m.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 ee(n,a,t,i.contracts)}async*transfer(t,e,n){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 C=await c.approve.populateTransaction(this.shimContract,o);yield this.createUnsignedTx(s.addFrom(C,a),"ERC20.approve of EvmCCTPv2Executor",!1)}const f=["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)"],m=new Uint8Array(32),l=new P.Contract(this.shimContract,f,this.provider),h=U(this.network,e.chain),g=await l.getFunction("depositForBurn").populateTransaction(o,s.toChainId(e.chain),h,i,this.usdcContract,m,n.fastTransferMaxFee,n.minFinalityThreshold,{refundAddress:a,signedQuote:n.signedQuote,instructions:n.relayInstructions},{dbps:n.referrerFeeDbps,payee:n.referrer.address.toString()});g.value=n.estimatedCost,yield this.createUnsignedTx(s.addFrom(g,a),"EvmCCTPv2Executor.depositForBurn")}async isTransferCompleted(t){return await new P.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 P.Contract(this.messageTransmitter,["function receiveMessage(bytes message, bytes attestation)"],this.provider).getFunction("receiveMessage").populateTransaction(nt(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 ye.EvmUnsignedTransaction(s.addChainId(t,this.chainId),this.network,this.chain,e,n)}}S.registerProtocol(s._platform,"CCTPExecutor",Y);S.registerProtocol(s._platform,"CCTPv2Executor",ee);class te{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 f,m,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}=Ne.suiCircleObjects(t);this.usdcTreasuryId=u,this.tokenMessengerId=i((f=a.cctp)==null?void 0:f.tokenMessenger,`Circle Token Messenger contract for domain ${e} not found`),this.messageTransmitterId=i((m=a.cctp)==null?void 0:m.messageTransmitter,`Circle Message Transmitter contract for domain ${e} not found`),this.tokenMessengerStateId=o,this.messageTransmitterStateId=c,this.executorId=i((l=Ce[t])==null?void 0:l.executorId,`Executor contract for ${t} not found`),this.executorRequestsId=i((h=Ce[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 te(n,a,t,i.contracts)}async*transfer(t,e,n){const a=new x.Transaction,i=new Z.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 f=a.object(c.coinObjectId);u.length>0&&a.mergeCoins(f,u.map(w=>a.object(w.coinObjectId)));let m;if(n.referrerFee>0n){const[w,A]=a.splitCoins(f,[n.remainingAmount,n.referrerFee]);m=w,a.transferObjects([A],s.canonicalAddress(n.referrer))}else{const[w]=a.splitCoins(f,[n.remainingAmount]);m=w}const[l,h]=a.moveCall({target:`${this.tokenMessengerId}::deposit_for_burn::deposit_for_burn`,arguments:[m,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]}),[b]=a.moveCall({target:`${this.executorRequestsId}::executor_requests::make_cctp_v1_request`,arguments:[g,C]}),[E]=a.splitCoins(a.gas,[a.pure.u64(n.estimatedCost)]);a.moveCall({target:`${this.executorId}::executor::request_execution`,arguments:[E,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),b,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",te);const R=new s.PublicKey("TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA");new s.PublicKey("TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb");const ne=new s.PublicKey("ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL");new s.PublicKey("So11111111111111111111111111111111111111112");new s.PublicKey("9pan9bMn5HatX4EJdBwg9VgCa7Uz5HL8N1m5D3NdXejP");class ct extends Error{constructor(t){super(t)}}class dt extends ct{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 ut(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 ft=s.struct([s.u32("mintAuthorityOption"),D.publicKey("mintAuthority"),D.u64("supply"),s.u8("decimals"),D.bool("isInitialized"),s.u32("freezeAuthorityOption"),D.publicKey("freezeAuthority")]);ft.span;function be(r,t,e=!1,n=R,a=ne){if(!e&&!s.PublicKey.isOnCurve(t.toBuffer()))throw new dt;const[i]=s.PublicKey.findProgramAddressSync([t.toBuffer(),n.toBuffer(),r.toBuffer()],a);return i}function mt(r,t,e,n,a=R,i=ne){return lt(r,t,e,n,s.dist.Buffer.from([1]),a,i)}function lt(r,t,e,n,a,i=R,o=ne){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 Ee=s.struct([s.u8("instruction"),D.u64("amount")]);function ht(r,t,e,n,a=[],i=R){const o=ut([{pubkey:r,isSigner:!1,isWritable:!0},{pubkey:t,isSigner:!1,isWritable:!0}],e,a),c=s.dist.Buffer.alloc(Ee.span);return Ee.encode({instruction:Q.Transfer,amount:BigInt(n)},c),new s.TransactionInstruction({keys:o,programId:i,data:c})}const gt={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 re{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=(f,m)=>{if(!f)throw new Error(m);return new s.PublicKey(f)};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=X[t])==null?void 0:u[e],`Shim contract for ${e} not found`),this.executorProgramId=i(We[t],`Executor contract for ${t} not found`)}static async fromRpc(t,e){const[n,a]=await ge.SolanaPlatform.chainFromRpc(t),i=e[a];if(i.network!==n)throw new Error(`Network mismatch: ${i.network} != ${n}`);return new re(n,a,t,i.contracts)}async*transfer(t,e,n){const a=new s.PublicKey(s.usdcContract.get(this.network,this.chain)),i=new s.SolanaAddress(t).unwrap(),o=be(a,i),c=new s.SolanaAddress(n.referrer.address).unwrap(),u=new s.Transaction;if(u.feePayer=i,n.referrerFee>0n){const b=be(a,c,!0);await this.connection.getAccountInfo(b)||u.add(mt(i,b,c,a)),u.add(ht(o,b,i,n.referrerFee))}const f=s.circleChainId.get(this.network,e.chain),m=e.address.toUniversalAddress(),l=s.Keypair.generate();u.add(await _e.createDepositForBurnInstruction(this.messageTransmitterProgramId,this.tokenMessengerProgramId,a,f,i,o,m,n.remainingAmount,l.publicKey));const h=new Le.Program(gt,this.shimProgramId,{connection:null}),g=s.deserialize$1(Be,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 ge.SolanaUnsignedTransaction(t,this.network,this.chain,e,n)}}S.registerProtocol(s._platform$1,"CCTPExecutor",re);var p;(function(r){r.Pending="pending",r.Failed="failed",r.Unsupported="unsupported",r.Submitted="submitted",r.Underpaid="underpaid",r.Aborted="aborted"})(p||(p={}));var Ae;(function(r){r.ERM1="ERM1",r.ERV1="ERV1",r.ERN1="ERN1",r.ERC1="ERC1",r.ERC2="ERC2"})(Ae||(Ae={}));async function Ct(r){const t=`${H[r]}/v0/capabilities`;try{return(await s.axios.get(t)).data}catch{throw new Error(`Failed to fetch capabilities for network: ${r}.`)}}async function wt(r,t,e,n){const a=`${H[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 se(r,t,e){const n=`${H[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 pt=65535n;function bt(r,t,e){if(t>pt)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 Et(r){return new Promise(t=>setTimeout(t,r))}async function K(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:tt(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 At(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 yt(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=De(r,t.attestation.message.sourceDomain);return s.retry(async()=>{const o=await K({txid:t.id,chain:i},r);return!o||o.message.messageBody.expirationBlock!==0n?null:o},2e3,s.DEFAULT_TASK_TIMEOUT,"CCTPv2:Reattest")}async function xt(r){const t=`${V[r]}/fastBurn/USDC/allowance`,e=await s.axios.get(t);return s.units(s.parse(e.data.allowance,6))}function ae(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 I;async function ie(r,t,e,n){var fe,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");const u=(fe=He[a.network])==null?void 0:fe[a.chain];if(!u)throw new Error("No referrer address found");const f=s.Wormhole.chainAddress(a.chain,u),{referrerFee:m,remainingAmount:l,referrerFeeDbps:h}=bt(s.units(t.normalizedParams.amount),e.referrerFeeDbps,e.referrerFeeThreshold);if(l<=0n)throw new Error("Amount after fee <= 0");const g=(me=Ze[i.network])==null?void 0:me[i.chain];if(!g)throw new Error("Gas limit not found");const C=await Ct(a.network);if(!C[s.toChainId(a.chain)])throw new Error("Unsupported source chain");const E=C[s.toChainId(i.chain)];if(!E||!E.requestPrefixes.includes(n))throw new Error("Unsupported destination chain");const{recipient:w}=r;let A=!0;if(w&&i.chain==="Solana"){const ke=s.Wormhole.parseAddress("Solana",c),Ue=await i.getTokenAccount(w.address,ke),le=await i.getRpc();A=await le.getAccountInfo(new s.SolanaAddress(Ue.address).unwrap())!==null,!A&&!I&&(I=BigInt(await le.getMinimumBalanceForRentExemption(165)))}let N=0n;i.chain==="Solana"&&(N+=je,!A&&I&&(N+=I));const O=[];O.push({request:{type:"GasInstruction",gasLimit:g,msgValue:N}});const ce=BigInt(E.gasDropOffLimit),_=t.options.nativeGas&&ce>0n?BigInt(Math.round(t.options.nativeGas*100))*ce/100n:0n;(_>0n||!A)&&O.push({request:{type:"GasDropOffInstruction",dropOff:_,recipient:w?w.address.toUniversalAddress():new s.UniversalAddress(new Uint8Array(32))}});const de=s.serialize$1(Te,{requests:O}),L=await wt(a.network,a.chain,i.chain,s.hex.encode(de,!0));if(!L.estimatedCost)throw new Error("No estimated cost");const ue=s.hex.decode(L.signedQuote),Pe=s.deserialize$1(Be,ue),Me=BigInt(L.estimatedCost);return{signedQuote:ue,relayInstructions:de,estimatedCost:Me,referrer:f,referrerFee:m,remainingAmount:l,referrerFeeDbps:h,expiryTime:Pe.quote.expiryTime,gasDropOff:_}}async function Ie(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 Dt(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 f=0;return(async()=>{for(;f<20;){try{const[l]=await se(r.fromChain.network,u.at(-1).txid,r.fromChain.chain);if(l)break}catch{}f++,await Et(2e3)}})(),{from:r.fromChain.chain,to:r.toChain.chain,state:s.TransferState.SourceInitiated,originTxs:u}}async function Dt(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 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 M{}return d(t,"config",r),t}class M extends s.AutomaticRoute{constructor(){super(...arguments);d(this,"staticConfig",this.constructor.config)}static supportedNetworks(){return["Mainnet","Testnet"]}static supportedChains(e){return[...Object.keys(xe[e]??{})]}static async supportedDestinationTokens(e,n,a){return!T(n.network,n.chain)||!T(a.network,a.chain)?[]:ae(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 ie(e,n,this.staticConfig,"ERC1"),{remainingAmount:c,estimatedCost:u,gasDropOff:f,expiryTime:m}=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(f,g),eta:l,expires:m,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 Ie(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 se(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===p.Failed||c===p.Underpaid||c===p.Unsupported||c===p.Aborted)&&(e={...e,state:s.TransferState.Failed,error:new Z.RelayFailedError(`Relay failed with status: ${c}`)}),c===p.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(M,"NATIVE_GAS_DROPOFF_SUPPORTED",!0),d(M,"config",{referrerFeeDbps:0n}),d(M,"meta",{name:"CCTPExecutorRoute",provider:"Circle"});class oe 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 Ie(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 K({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 se(this.wh.network,i,t.from);if(!o)throw new Error("No transaction status found");const c=o==null?void 0:o.status;c===p.Submitted?t={...t,state:s.TransferState.DestinationFinalized}:(c===p.Failed||c===p.Underpaid||c===p.Unsupported||c===p.Aborted)&&(t={...t,state:s.TransferState.Failed,error:new Z.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 yt(n.network,e.attestation);if(!h)throw new Error("Failed to reattest message");i=h.attestation,o=h.message}const f=s.Wormhole.parseAddress(t.chain(),t.address()),m=a.redeem(f,o,i),l=await s.signSendWait(this.wh.getChain(e.to),m,t);return{...e,state:s.TransferState.DestinationInitiated,attestation:e.attestation,destinationTxs:l}}async resume(t){const e=await K(t,this.wh.network);if(!e)throw new Error("No attestation found");const{message:n}=e,a=De(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(oe,"NATIVE_GAS_DROPOFF_SUPPORTED",!0);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 W{}return d(t,"config",r),t}const F=class F extends oe{constructor(){super(...arguments);d(this,"staticConfig",this.constructor.config)}static isPathSupported(e,n){return Je(e.network,e.chain)&&q(n.network,n.chain)}static async supportedDestinationTokens(e,n,a){return this.isPathSupported(n,a)?ae(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 ie(e,n,this.staticConfig,"ERC2"),{remainingAmount:u,estimatedCost:f,gasDropOff:m,expiryTime:l}=c;if(await xt(a.network)<=u)return{success:!1,error:new Error("Insufficient allowance for fast transfer")};const g=await At(a.network,a.chain,i.chain),C=(u*g+10000n-1n)/10000n,b=u-C;if(b<=0n)return{success:!1,error:new Error("Amount after fast transfer fee <= 0")};const E=(o=Fe[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(b,e.destination.decimals)},relayFee:{token:s.nativeTokenId(a.chain),amount:s.fromBaseUnits(f,w)},destinationNativeGas:s.fromBaseUnits(m,A),eta:E,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"});let W=F;function St(r={referrerFeeDbps:0n}){if(r.referrerFeeDbps<0||r.referrerFeeDbps>65535n)throw new Error("Referrer fee must be between 0 and 65535");class t extends j{}return d(t,"config",r),t}const v=class v extends oe{constructor(){super(...arguments);d(this,"staticConfig",this.constructor.config)}static isPathSupported(e,n){return q(e.network,e.chain)&&q(n.network,n.chain)&&e.chain!=="Linea"}static async supportedDestinationTokens(e,n,a){return this.isPathSupported(n,a)?ae(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 ie(e,n,this.staticConfig,"ERC2"),{remainingAmount:c,estimatedCost:u,gasDropOff:f,expiryTime:m}=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(f,g),eta:l,expires:m,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"});let j=v;exports.cctpExecutorRoute=Ft;exports.cctpV2FastExecutorRoute=vt;exports.cctpV2StandardExecutorRoute=St;
|