@wormhole-foundation/wormhole-connect 5.2.0-beta.0-development → 5.2.0-beta.2-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/main.mjs +1 -1
- package/lib/{add-aiIIchuh.js → add-CsKFlygp.js} +1 -1
- package/lib/{add-D933OgYB.mjs → add-DjE3EcEV.mjs} +1 -1
- package/lib/{add-Bk86euc7.mjs → add-DyWulnuS.mjs} +1 -1
- package/lib/{add-97pK9XEM.js → add-bXKhUwqm.js} +1 -1
- package/lib/{all-wallets-BTvSiRPI.js → all-wallets-CjJkeTbL.js} +1 -1
- package/lib/{all-wallets-BQRsMuoL.mjs → all-wallets-DHqzP6L8.mjs} +1 -1
- package/lib/{all-wallets-DEdvco8E.js → all-wallets-DuVECYbS.js} +1 -1
- package/lib/{all-wallets-P7I2GUtT.mjs → all-wallets-vsNOuzqB.mjs} +1 -1
- package/lib/{app-store-PKRc14_u.mjs → app-store-BqQ0jSql.mjs} +1 -1
- package/lib/{app-store-J4rqIlQc.js → app-store-C7d9uBwB.js} +1 -1
- package/lib/{app-store-Ccyl3JgX.js → app-store-D9Uf0g65.js} +1 -1
- package/lib/{app-store-hWgU_cp-.mjs → app-store-UdtOo-dU.mjs} +1 -1
- package/lib/{apple-CINOjLmM.mjs → apple-BbL0nfeU.mjs} +1 -1
- package/lib/{apple-ChYiEhFV.js → apple-C-UBDZE5.js} +1 -1
- package/lib/{apple-DNp3WspA.mjs → apple-Vysn1QLU.mjs} +1 -1
- package/lib/{apple-BXDArpi0.js → apple-wWE5v0dD.js} +1 -1
- package/lib/{aptos-C1_xdEsg.mjs → aptos-CRLnl4L1.mjs} +2 -2
- package/lib/{aptos-CXdv298G.js → aptos-CfulxqiY.js} +1 -1
- package/lib/{arrow-bottom-DOre80s_.mjs → arrow-bottom-9yPqOOG8.mjs} +1 -1
- package/lib/{arrow-bottom-ie6olxwk.js → arrow-bottom-BBJZscVl.js} +1 -1
- package/lib/{arrow-bottom-DcRkICnt.mjs → arrow-bottom-BGYif__M.mjs} +1 -1
- package/lib/{arrow-bottom-B8L0wWMn.js → arrow-bottom-C-OOeDgc.js} +1 -1
- package/lib/{arrow-bottom-circle-BuL2N_oX.js → arrow-bottom-circle-CTY2zo9T.js} +1 -1
- package/lib/{arrow-bottom-circle-D8u24ZEa.mjs → arrow-bottom-circle-CqVKSEcX.mjs} +1 -1
- package/lib/{arrow-bottom-circle-BV6cJiB3.mjs → arrow-bottom-circle-D0nATh37.mjs} +1 -1
- package/lib/{arrow-bottom-circle-CfZspJKC.js → arrow-bottom-circle-D3Z0Vp2Y.js} +1 -1
- package/lib/{arrow-left-DHcEpLcY.mjs → arrow-left-BNgvZYhH.mjs} +1 -1
- package/lib/{arrow-left-DhhbmAr7.js → arrow-left-JnPB5GSd.js} +1 -1
- package/lib/{arrow-left-BHDzDcxf.js → arrow-left-Ltg2X3oS.js} +1 -1
- package/lib/{arrow-left-C84MPyPi.mjs → arrow-left-O1B6lnQQ.mjs} +1 -1
- package/lib/{arrow-right-DpXjSQ0c.mjs → arrow-right-Bh49cjrw.mjs} +1 -1
- package/lib/{arrow-right-CsXtQhBn.mjs → arrow-right-CcdvbUHJ.mjs} +1 -1
- package/lib/{arrow-right-DkR-9vfb.js → arrow-right-D_chbEOv.js} +1 -1
- package/lib/{arrow-right-x2g1cqBz.js → arrow-right-Db115d3K.js} +1 -1
- package/lib/{arrow-top-DWWBqjoA.mjs → arrow-top-CrrEgZiG.mjs} +1 -1
- package/lib/{arrow-top-BU-bRRci.mjs → arrow-top-D3Cn3i5J.mjs} +1 -1
- package/lib/{arrow-top-JFr4DWJC.js → arrow-top-NsizVEZs.js} +1 -1
- package/lib/{arrow-top-CiXPjp0l.js → arrow-top-v7JHs5yr.js} +1 -1
- package/lib/{bank-DKdS2VCZ.mjs → bank-BLISl4z-.mjs} +1 -1
- package/lib/{bank-DmBobOMj.mjs → bank-DYm6Brrt.mjs} +1 -1
- package/lib/{bank-BhT6RPyg.js → bank-MKPdWaVj.js} +1 -1
- package/lib/{bank-CQl-oPnD.js → bank-VxPvAyIR.js} +1 -1
- package/lib/{basic-r93BHfDA.js → basic-At2DeO6e.js} +1 -1
- package/lib/{basic-BJb3ei_N.js → basic-Bag02rxR.js} +1 -1
- package/lib/{basic-BU5Z7yE0.mjs → basic-CZS3r-7y.mjs} +2 -2
- package/lib/{basic-BvTuoRNI.mjs → basic-mhTL58sP.mjs} +2 -2
- package/lib/{browser-Zcx5baKN.js → browser-BOdwTvLM.js} +1 -1
- package/lib/{browser-BEew_Uly.mjs → browser-CQoATCsU.mjs} +1 -1
- package/lib/{browser-DFBCBTuC.js → browser-DC17lLQo.js} +1 -1
- package/lib/{browser-gnOPx-dW.mjs → browser-Dhq2eg1F.mjs} +1 -1
- package/lib/{card-BVvKhU54.js → card-B1jkqvQw.js} +1 -1
- package/lib/{card-DkwY6orl.mjs → card-Bnhxo8qg.mjs} +1 -1
- package/lib/{card-Da6LlLKJ.js → card-CyD4w17N.js} +1 -1
- package/lib/{card-CvhyzxFz.mjs → card-QUPRN71N.mjs} +1 -1
- package/lib/{checkmark-C_MrkABo.js → checkmark-CMV_m5HB.js} +1 -1
- package/lib/{checkmark-BPev3geK.mjs → checkmark-Ck1oHQed.mjs} +1 -1
- package/lib/{checkmark-C4b4JK_V.mjs → checkmark-DpHJ69gx.mjs} +1 -1
- package/lib/{checkmark-pTrffkn9.js → checkmark-PcRLVwM7.js} +1 -1
- package/lib/{checkmark-bold-CNzoS5-K.mjs → checkmark-bold-B5gYm08I.mjs} +1 -1
- package/lib/{checkmark-bold-24IAAOBU.js → checkmark-bold-CBYhZkvd.js} +1 -1
- package/lib/{checkmark-bold-DU2Ys96v.js → checkmark-bold-CQpK4eqT.js} +1 -1
- package/lib/{checkmark-bold-d7sIsIhC.mjs → checkmark-bold-CehhvElT.mjs} +1 -1
- package/lib/{chevron-bottom-DI3dfXns.js → chevron-bottom-CLOFEFwk.js} +1 -1
- package/lib/{chevron-bottom-C8gro0Kz.js → chevron-bottom-cCJ79L3b.js} +1 -1
- package/lib/{chevron-bottom-zdvXtD2j.mjs → chevron-bottom-kzZqZ7cD.mjs} +1 -1
- package/lib/{chevron-bottom-d0mN_6fk.mjs → chevron-bottom-zSmwaICv.mjs} +1 -1
- package/lib/{chevron-left-DANMl7rL.mjs → chevron-left-BJoHbC-q.mjs} +1 -1
- package/lib/{chevron-left-DDqfGA8F.mjs → chevron-left-CetDiLJ5.mjs} +1 -1
- package/lib/{chevron-left-Bzq_gNUa.js → chevron-left-D1eQItCZ.js} +1 -1
- package/lib/{chevron-left-p6FO5KDX.js → chevron-left-DtwepZEO.js} +1 -1
- package/lib/{chevron-right-BR0_7iUL.mjs → chevron-right-BElFJP8x.mjs} +1 -1
- package/lib/{chevron-right-B_qqkmjC.js → chevron-right-BK72iuUp.js} +1 -1
- package/lib/{chevron-right-O1UkCV2Q.mjs → chevron-right-BPKqB4CI.mjs} +1 -1
- package/lib/{chevron-right-xz6TmL5j.js → chevron-right-C4M4ehTo.js} +1 -1
- package/lib/{chevron-top-CtMVRHg0.js → chevron-top-BsUpwWoO.js} +1 -1
- package/lib/{chevron-top-WroSANio.mjs → chevron-top-DrplS-a-.mjs} +1 -1
- package/lib/{chevron-top-vUGPtgYd.mjs → chevron-top-HSamTfwf.mjs} +1 -1
- package/lib/{chevron-top-CIHODxwA.js → chevron-top-lx2Zjd8U.js} +1 -1
- package/lib/{chrome-store-Dseq-owD.mjs → chrome-store-72u2IREP.mjs} +1 -1
- package/lib/{chrome-store-CPgKITck.js → chrome-store-CKlW00NE.js} +1 -1
- package/lib/{chrome-store-QAYF3oF_.mjs → chrome-store-D5vKSXEJ.mjs} +1 -1
- package/lib/{chrome-store-BEJYIo9O.js → chrome-store-DEjNj4C1.js} +1 -1
- package/lib/{clock-Bsk_aDnw.mjs → clock-BJnEmJF_.mjs} +1 -1
- package/lib/{clock-Cqv12DGe.js → clock-CegkCEjG.js} +1 -1
- package/lib/{clock-CgYyeM_w.mjs → clock-D8tmafKX.mjs} +1 -1
- package/lib/{clock-BRLal-tt.js → clock-c-XKF-YF.js} +1 -1
- package/lib/{close-WYOtsYpc.js → close-B1DNieDl.js} +1 -1
- package/lib/{close-Ch1yI0EA.mjs → close-BLaMCEER.mjs} +1 -1
- package/lib/{close-OchiXtTe.js → close-BXqDsx2V.js} +1 -1
- package/lib/{close-DtK4vwQg.mjs → close-KbDW0r_h.mjs} +1 -1
- package/lib/{coinPlaceholder-BMvMfRBE.mjs → coinPlaceholder-BT1Y-3-M.mjs} +1 -1
- package/lib/{coinPlaceholder-xkgrfWI-.js → coinPlaceholder-D8bKyc3B.js} +1 -1
- package/lib/{coinPlaceholder-xe-1dqKD.js → coinPlaceholder-DXry0FTZ.js} +1 -1
- package/lib/{coinPlaceholder-DbsI02Af.mjs → coinPlaceholder-Khb7TWos.mjs} +1 -1
- package/lib/{compass-HTfh4eZi.mjs → compass-B-B5LrsP.mjs} +1 -1
- package/lib/{compass-COTmQcOw.js → compass-BlTWcnQW.js} +1 -1
- package/lib/{compass-Bi7B2PWo.js → compass-JmtJwxxN.js} +1 -1
- package/lib/{compass-BePMLyDl.mjs → compass-U-g2nxny.mjs} +1 -1
- package/lib/constants-0NS634P7.js +1 -0
- package/lib/{constants-Dp6TwkwE.mjs → constants-mdk7Ai0-.mjs} +3 -3
- package/lib/{copy-B-kaRfPD.mjs → copy-BvSO3cWO.mjs} +1 -1
- package/lib/{copy-Cj1h89Ke.js → copy-DUVgOnZ0.js} +1 -1
- package/lib/{copy-C_zx4IY2.js → copy-Db1iZINZ.js} +1 -1
- package/lib/{copy-CnGyA6GV.mjs → copy-EenPqnRM.mjs} +1 -1
- package/lib/{core-C-bE_KN6.js → core-B8BH62nw.js} +3 -3
- package/lib/{core-IZrQV2Qu.mjs → core-CebHe-Zk.mjs} +4 -4
- package/lib/{cursor-COWtX4qp.js → cursor-C1vKbs6D.js} +1 -1
- package/lib/{cursor-BqTyYhSX.mjs → cursor-CpavELPr.mjs} +1 -1
- package/lib/{cursor-kcpx1EXW.mjs → cursor-Y_J2NVyX.mjs} +1 -1
- package/lib/{cursor-transparent-IOBIgHsw.mjs → cursor-transparent-BmduW9te.mjs} +1 -1
- package/lib/{cursor-transparent-DS1K2i2e.js → cursor-transparent-D-zs9Ci-.js} +1 -1
- package/lib/{cursor-transparent-97JW8Enk.mjs → cursor-transparent-DB4tN9bG.mjs} +1 -1
- package/lib/{cursor-transparent-CfY_uwZk.js → cursor-transparent-DLISjDWq.js} +1 -1
- package/lib/{cursor-CYo5NSr5.js → cursor-ubFxdRQ2.js} +1 -1
- package/lib/{desktop-DFWKsjai.js → desktop-C5un7nSf.js} +1 -1
- package/lib/{desktop-CKJpmxK6.mjs → desktop-CCnIAsli.mjs} +1 -1
- package/lib/{desktop-BrMt6GS7.mjs → desktop-Xt7PaZC0.mjs} +1 -1
- package/lib/{desktop-BcdZWHYb.js → desktop-aNSoY7vR.js} +1 -1
- package/lib/{disconnect-ZG9G-DHl.mjs → disconnect-C8GkaVa4.mjs} +1 -1
- package/lib/{disconnect-CtjdEYQ-.js → disconnect-CfkBFFvh.js} +1 -1
- package/lib/{disconnect-vLqW6M9O.js → disconnect-DMgKQybs.js} +1 -1
- package/lib/{disconnect-BgfdJJVf.mjs → disconnect-YLOHKTM7.mjs} +1 -1
- package/lib/{discord-DkQXfpz6.js → discord-BN-USOhL.js} +1 -1
- package/lib/{discord-BHswKhhZ.js → discord-CvxC97sE.js} +1 -1
- package/lib/{discord-mwpOzt8L.mjs → discord-D1oPOGJI.mjs} +1 -1
- package/lib/{discord-DC940Urt.mjs → discord-O_jJHDL7.mjs} +1 -1
- package/lib/{etherscan-Bn5vjO6j.js → etherscan-3zg6RVUm.js} +1 -1
- package/lib/{etherscan-Dn1sDQFu.mjs → etherscan-Bss5SYdE.mjs} +1 -1
- package/lib/{etherscan-Rf8mBFu1.mjs → etherscan-D-4oyw9M.mjs} +1 -1
- package/lib/{etherscan-B67ePaGv.js → etherscan-D-Im_svB.js} +1 -1
- package/lib/{evm-CdYu0zev.js → evm-B1r0-d85.js} +2 -2
- package/lib/{evm-DAZuPeF5.mjs → evm-B9Foo-Fc.mjs} +3 -3
- package/lib/{evm-CNU3nm8Y.mjs → evm-D6v_yOIF.mjs} +3 -3
- package/lib/{evm-Dn0mVgjI.js → evm-DviFlx-R.js} +1 -1
- package/lib/{exclamation-triangle-9I8CABeM.js → exclamation-triangle-B_5amtlW.js} +1 -1
- package/lib/{exclamation-triangle-DvVRCFzL.mjs → exclamation-triangle-DOzBPDHq.mjs} +1 -1
- package/lib/{exclamation-triangle-pqE-ucld.js → exclamation-triangle-DtvIimzC.js} +1 -1
- package/lib/{exclamation-triangle-CpaZlCyJ.mjs → exclamation-triangle-DyLghy3P.mjs} +1 -1
- package/lib/{extension-CIeAycIs.js → extension-C2ZOdhvk.js} +1 -1
- package/lib/{extension-Cn1fNZM2.js → extension-ChidYt_2.js} +1 -1
- package/lib/{extension-D7bW7OOD.mjs → extension-ClxdT5sv.mjs} +1 -1
- package/lib/{extension-pZFS9WoU.mjs → extension-XP0Cxc3a.mjs} +1 -1
- package/lib/{external-link-D5-QPN4I.mjs → external-link-9KNXLmMz.mjs} +1 -1
- package/lib/{external-link-Cf6FDbnV.mjs → external-link-BHvdXmV0.mjs} +1 -1
- package/lib/{external-link-DHZjpSQH.js → external-link-DFtIt6g1.js} +1 -1
- package/lib/{external-link-CxxBPRGW.js → external-link-Dts-4Sk6.js} +1 -1
- package/lib/{facebook-8iR_zZp9.mjs → facebook-BZ86PCoF.mjs} +1 -1
- package/lib/{facebook-C-E3U6O7.js → facebook-BhtZqeWN.js} +1 -1
- package/lib/{facebook-D5N3SRkh.mjs → facebook-D1ClEy04.mjs} +1 -1
- package/lib/{facebook-D7MA9djH.js → facebook-Dn_bhYL7.js} +1 -1
- package/lib/{farcaster-lOXlLwtA.mjs → farcaster-BE4Jp2jQ.mjs} +1 -1
- package/lib/{farcaster-DbrJ_aQn.js → farcaster-BTbmAgvi.js} +1 -1
- package/lib/{farcaster-7r5cimcS.mjs → farcaster-D5wA55pg.mjs} +1 -1
- package/lib/{farcaster-DdOFazmr.js → farcaster-cOdQDShS.js} +1 -1
- package/lib/{filters-DEwlKNNr.js → filters-9M72BaSe.js} +1 -1
- package/lib/{filters-CoCF6gLm.mjs → filters-CevFjA1u.mjs} +1 -1
- package/lib/{filters-Cj5yX6NN.mjs → filters-DBWBF_sX.mjs} +1 -1
- package/lib/{filters-DCCnSUtl.js → filters-DU-C_SVc.js} +1 -1
- package/lib/{github-5sLZXyd5.js → github-BXvu9xPz.js} +1 -1
- package/lib/{github-D5MAuYPM.mjs → github-BbpuqjN2.mjs} +1 -1
- package/lib/{github-CaEinWU-.js → github-CUgzRfE2.js} +1 -1
- package/lib/{github-C4yWxVDh.mjs → github-DrYHJIJe.mjs} +1 -1
- package/lib/{google-D5bcUgOU.mjs → google-C0OkaUs7.mjs} +1 -1
- package/lib/{google-a9RziYXe.mjs → google-huTnWdlg.mjs} +1 -1
- package/lib/{google-Dj6-oKVI.js → google-n_csvYgo.js} +1 -1
- package/lib/{google-D3d0VPJL.js → google-sRPd04eZ.js} +1 -1
- package/lib/{help-circle-CHzLMVpP.js → help-circle-Bn8Y_0jP.js} +1 -1
- package/lib/{help-circle-CIFo9ynr.js → help-circle-DD1uNYG1.js} +1 -1
- package/lib/{help-circle-DErEmy6B.mjs → help-circle-DHfEXweO.mjs} +1 -1
- package/lib/{help-circle-CF5ABQc8.mjs → help-circle-NWXXQDwT.mjs} +1 -1
- package/lib/hosted.js +1 -1
- package/lib/hosted.mjs +1 -1
- package/lib/{hypercore-DFWadWGd.mjs → hypercore-B9UmlJWh.mjs} +9 -9
- package/lib/{hypercore-j2gTG79l.js → hypercore-DWVgITsg.js} +1 -1
- package/lib/{id-U-pH30u_.js → id-Cs-jcmzE.js} +1 -1
- package/lib/{id-BU0BV530.mjs → id-CxLQ5PPh.mjs} +1 -1
- package/lib/{id-CLwA8Kux.mjs → id-DQA-GcPk.mjs} +1 -1
- package/lib/{id-CnZDmFwN.js → id-Dh2EW9hF.js} +1 -1
- package/lib/{image-BR4koxKg.js → image-C28LaM6Q.js} +1 -1
- package/lib/{image--wME0li9.mjs → image-H6yEsFi5.mjs} +1 -1
- package/lib/{image-dLUM0VDy.js → image-JeKn_hvH.js} +1 -1
- package/lib/{image-D_KZJUGe.mjs → image-wLpPfXgm.mjs} +1 -1
- package/lib/{index-Qtm35u93.mjs → index-BHURLsGo.mjs} +1 -1
- package/lib/{index-Dj10OmNz.js → index-Bircjm-u.js} +1 -1
- package/lib/{index-CL4gAJYS.js → index-BjTalDhN.js} +1 -1
- package/lib/{index-BSybO7hw.mjs → index-CDRfkHVR.mjs} +78 -78
- package/lib/{index-CFKAjTDz.mjs → index-CGaLT_H7.mjs} +78 -78
- package/lib/{index-GVBg1nW4.mjs → index-CYflVh0l.mjs} +1 -1
- package/lib/{index-BjR_EisA.js → index-C_Sdh7IS.js} +2 -2
- package/lib/{index-D6Wxtq_q.mjs → index-Cpg9jRCx.mjs} +1 -1
- package/lib/{index-KEK3qFIE.js → index-Cv7Y2G3w.js} +2 -2
- package/lib/{index-ChQLvH1j.js → index-DKsmI0k_.js} +1 -1
- package/lib/{index-DiCrhDSW.js → index-Db6-b_fu.js} +2 -2
- package/lib/{index-BdboBJrC.js → index-DtIfurr3.js} +1 -1
- package/lib/{index-DUE9_pKC.mjs → index-kPwB0sVz.mjs} +1 -1
- package/lib/{index-Bsuff962.mjs → index-tBNddJw6.mjs} +3 -3
- package/lib/{index.es-fVqKroFx.js → index.es-CCdg9Kcb.js} +3 -3
- package/lib/{index.es-BaPdiD6L.js → index.es-D5cfl75E.js} +1 -1
- package/lib/{index.es-BaB7YazU.mjs → index.es-DL7qNQxZ.mjs} +2 -2
- package/lib/{index.es-GRR3MC7p.mjs → index.es-NIH5Fjyc.mjs} +3 -3
- package/lib/index.js +351 -56
- package/lib/index.mjs +45948 -22469
- package/lib/{info-DsDJ9PCj.js → info-3tKvMSGK.js} +1 -1
- package/lib/{info-CP6AYP0r.mjs → info-D1P1BYvd.mjs} +1 -1
- package/lib/{info-DyXA2Rde.js → info-DZ8mFZ5I.js} +1 -1
- package/lib/{info-circle-DLZBZmJA.js → info-circle-BWTGwB05.js} +1 -1
- package/lib/{info-circle-BrAhGxdr.mjs → info-circle-CBoblsmh.mjs} +1 -1
- package/lib/{info-circle-_RX3sEw0.mjs → info-circle-D2Tm0COC.mjs} +1 -1
- package/lib/{info-circle-DLvvWSso.js → info-circle-DWpUIxPL.js} +1 -1
- package/lib/{info-IVaoMU5h.mjs → info-vy3IpaAd.mjs} +1 -1
- package/lib/lifi.js +1 -1
- package/lib/lifi.mjs +2 -2
- package/lib/{lightbulb-CMukua6v.js → lightbulb-BOEWy2Rz.js} +1 -1
- package/lib/{lightbulb-BI1LAtBz.js → lightbulb-DZHQdxc7.js} +1 -1
- package/lib/{lightbulb-ByzF21_6.mjs → lightbulb-Dk9UCkA8.mjs} +1 -1
- package/lib/{lightbulb-BthaBnif.mjs → lightbulb-n7B2hmGB.mjs} +1 -1
- package/lib/{mail-CO-FJbD4.js → mail-CVJU8oQm.js} +1 -1
- package/lib/{mail-DwnzyWxK.mjs → mail-D1TMsRtq.mjs} +1 -1
- package/lib/{mail-C-wk-7Ix.js → mail-ghlLDYMn.js} +1 -1
- package/lib/{mail-4nSLMLPv.mjs → mail-vpaKmnyj.mjs} +1 -1
- package/lib/mayan.js +1 -1
- package/lib/mayan.mjs +2 -2
- package/lib/{mobile-sYUJ3_wv.js → mobile-CIjo1PIt.js} +1 -1
- package/lib/{mobile-CsmFql-e.mjs → mobile-Nl5-39QD.mjs} +1 -1
- package/lib/{mobile-BLoALBXq.js → mobile-OJfwf5iq.js} +1 -1
- package/lib/{mobile-Ckxm1bvv.mjs → mobile-XD26WLUC.mjs} +1 -1
- package/lib/{more-CKJE84tK.js → more-BgXKD3yk.js} +1 -1
- package/lib/{more-CCgU8azx.mjs → more-BhUbEmgG.mjs} +1 -1
- package/lib/{more-ECvX119L.js → more-BwBE0n-c.js} +1 -1
- package/lib/{more-CtJ9lyp8.mjs → more-Dif8cdfi.mjs} +1 -1
- package/lib/{network-placeholder-GGHKQlvF.js → network-placeholder-BQRWPjks.js} +1 -1
- package/lib/{network-placeholder-dB9F7ppX.js → network-placeholder-BbuoxtHw.js} +1 -1
- package/lib/{network-placeholder-BDBBro30.mjs → network-placeholder-Bhrzds35.mjs} +1 -1
- package/lib/{network-placeholder-CGr9IJpY.mjs → network-placeholder-C2aJv5DP.mjs} +1 -1
- package/lib/{nftPlaceholder-CB3ngIY3.mjs → nftPlaceholder-BDBtmgsF.mjs} +1 -1
- package/lib/{nftPlaceholder-sPby7kJU.js → nftPlaceholder-BmyG2OA3.js} +1 -1
- package/lib/{nftPlaceholder-BuITp3pd.mjs → nftPlaceholder-D3L3lYNG.mjs} +1 -1
- package/lib/{nftPlaceholder-oMt3XSVj.js → nftPlaceholder-UwX_upXy.js} +1 -1
- package/lib/{off-COhe1fTc.mjs → off-BY4DlvOg.mjs} +1 -1
- package/lib/{off-DTeZDvdH.js → off-CcLMdVvT.js} +1 -1
- package/lib/{off-TfkIQXeB.mjs → off-DC1r69jz.mjs} +1 -1
- package/lib/{off-D-AAXhtB.js → off-DgHo3MD-.js} +1 -1
- package/lib/{play-store-DKQhW1gn.js → play-store-0OC2D6-S.js} +1 -1
- package/lib/{play-store-C4xcHryf.js → play-store-BJ1EzGT-.js} +1 -1
- package/lib/{play-store-DzNvggFH.mjs → play-store-Ddp0iLCA.mjs} +1 -1
- package/lib/{play-store-BjYbtsE6.mjs → play-store-rS2tQFht.mjs} +1 -1
- package/lib/{plus-BghwgfqX.js → plus-BbFv3eUM.js} +1 -1
- package/lib/{plus-C7MKTgK7.mjs → plus-Bdj0NxMO.mjs} +1 -1
- package/lib/{plus-wMnOnwz3.js → plus-BiqsWZTU.js} +1 -1
- package/lib/{plus-DxzPtYL0.mjs → plus-l8xvIUjr.mjs} +1 -1
- package/lib/{qr-code-Bx0AMx0M.mjs → qr-code-CrlCde0x.mjs} +1 -1
- package/lib/{qr-code-8MQaIZZC.js → qr-code-CwVMQOBz.js} +1 -1
- package/lib/{qr-code-C35_cZkC.mjs → qr-code-DwQDvjbs.mjs} +1 -1
- package/lib/{qr-code-Dfyo_DBs.js → qr-code-lOm2J3lG.js} +1 -1
- package/lib/{recycle-horizontal-DY4vj3Rv.mjs → recycle-horizontal-BLDEBDKQ.mjs} +1 -1
- package/lib/{recycle-horizontal-DAgiwwJ1.mjs → recycle-horizontal-DOXJkLkE.mjs} +1 -1
- package/lib/{recycle-horizontal-B1A2LB8b.js → recycle-horizontal-D_KYiXB2.js} +1 -1
- package/lib/{recycle-horizontal-CTIgISfH.js → recycle-horizontal-vcfEBLHF.js} +1 -1
- package/lib/{refresh-DJMvIMS2.js → refresh-BSOKVuqM.js} +1 -1
- package/lib/{refresh-Cb6tVUdi.mjs → refresh-BXxBUdnO.mjs} +1 -1
- package/lib/{refresh-DzN-ylL6.mjs → refresh-D2E75sGo.mjs} +1 -1
- package/lib/{refresh-BnZQPsz5.js → refresh-DyTPW1lm.js} +1 -1
- package/lib/{reown-logo-Dx8QrTgS.mjs → reown-logo-BasQMgg6.mjs} +1 -1
- package/lib/{reown-logo-B3PfsCFy.mjs → reown-logo-Ca0n-4co.mjs} +1 -1
- package/lib/{reown-logo-DkW-wu5O.js → reown-logo-I-0VXJcs.js} +1 -1
- package/lib/{reown-logo-CqWZKbtk.js → reown-logo-zFtk69x0.js} +1 -1
- package/lib/{search-C5IsnJYj.mjs → search-C8Dr302a.mjs} +1 -1
- package/lib/{search-Zxp1yZ-I.mjs → search-Cs5OMH24.mjs} +1 -1
- package/lib/{search-SfO-_tu8.js → search-D4N5PCXY.js} +1 -1
- package/lib/{search-BiXmWWs6.js → search-DKkge_rX.js} +1 -1
- package/lib/{secp256k1-C330P-og.mjs → secp256k1-BApZtlJM.mjs} +1 -1
- package/lib/{secp256k1-BARTIWl8.js → secp256k1-BvEkCzAq.js} +1 -1
- package/lib/{secp256k1-D_Gn-jqQ.js → secp256k1-BxlHgrPu.js} +1 -1
- package/lib/{secp256k1-BEvvZ05v.js → secp256k1-Cob6dKlh.js} +1 -1
- package/lib/{secp256k1-sVIcIy0c.mjs → secp256k1-D6LTGgSG.mjs} +1 -1
- package/lib/{secp256k1-BQTFpnzy.mjs → secp256k1-DMo8iyn0.mjs} +1 -1
- package/lib/{secp256k1-C2Yei8lW.mjs → secp256k1-Szby676i.mjs} +1 -1
- package/lib/{secp256k1-CSiCK8mp.js → secp256k1-e1mb-DFW.js} +1 -1
- package/lib/{send-n_oSfesi.js → send-CWr-_fO9.js} +1 -1
- package/lib/{send-QuB_6fVE.mjs → send-CvrTc0pM.mjs} +1 -1
- package/lib/{send-CfjifILw.mjs → send-DTWzuOtI.mjs} +1 -1
- package/lib/{send-Bf5YMSxJ.js → send-f0aDSW2z.js} +1 -1
- package/lib/{solana-D5jguotU.mjs → solana-Bu1QCXxV.mjs} +8 -8
- package/lib/{solana-DE2kkwFm.js → solana-DBtle7NE.js} +4 -4
- package/lib/{solanaEmbed.esm-DcZi3RfD.js → solanaEmbed.esm-2zbmc9eY.js} +1 -1
- package/lib/{solanaEmbed.esm-DisZ7Nce.mjs → solanaEmbed.esm-Ekp0oGzh.mjs} +2 -2
- package/lib/{sui-DKHLUOgB.js → sui-Dai0MBus.js} +1 -1
- package/lib/{sui-DPA4pds6.mjs → sui-ybNGBjmb.mjs} +2 -2
- package/lib/{swapHorizontal-BFcauuvN.js → swapHorizontal-BiYn3yW8.js} +1 -1
- package/lib/{swapHorizontal-Dw5zhkPQ.js → swapHorizontal-CzdzeOB3.js} +1 -1
- package/lib/{swapHorizontal-C-_HtGEy.mjs → swapHorizontal-WwJR0_Dj.mjs} +1 -1
- package/lib/{swapHorizontal-Dgx2K3vn.mjs → swapHorizontal-vKLfqFpk.mjs} +1 -1
- package/lib/{swapHorizontalBold-8c-d6K5o.mjs → swapHorizontalBold-2i6pbDOS.mjs} +1 -1
- package/lib/{swapHorizontalBold-BFaqLN1O.js → swapHorizontalBold-DaCZ8LV2.js} +1 -1
- package/lib/{swapHorizontalBold-Bhr2ebxy.mjs → swapHorizontalBold-DfD-NVuF.mjs} +1 -1
- package/lib/{swapHorizontalBold-C7J8iBLm.js → swapHorizontalBold-DwoIuf9J.js} +1 -1
- package/lib/{swapHorizontalMedium-KzsE-Nxz.js → swapHorizontalMedium-7lGQEzS_.js} +1 -1
- package/lib/{swapHorizontalMedium-DbhSl29t.mjs → swapHorizontalMedium-B6bvh8T3.mjs} +1 -1
- package/lib/{swapHorizontalMedium-DN36AGSD.js → swapHorizontalMedium-BITalXpE.js} +1 -1
- package/lib/{swapHorizontalMedium-Cqky1zP_.mjs → swapHorizontalMedium-DKlsnxq3.mjs} +1 -1
- package/lib/{swapHorizontalRoundedBold-Ds5xFvSn.js → swapHorizontalRoundedBold-DFUk0LD-.js} +1 -1
- package/lib/{swapHorizontalRoundedBold-B5rbO9hU.mjs → swapHorizontalRoundedBold-DMN64jKj.mjs} +1 -1
- package/lib/{swapHorizontalRoundedBold-CE4v1uqm.js → swapHorizontalRoundedBold-Dh7YccsV.js} +1 -1
- package/lib/{swapHorizontalRoundedBold-Cv-mTC_8.mjs → swapHorizontalRoundedBold-X09CF7C1.mjs} +1 -1
- package/lib/{swapVertical-UvstCFOe.mjs → swapVertical-DFfJ4ib5.mjs} +1 -1
- package/lib/{swapVertical-DmP8q9T0.js → swapVertical-DTpt3txk.js} +1 -1
- package/lib/{swapVertical-BNaDyBce.mjs → swapVertical-DYWBLAIn.mjs} +1 -1
- package/lib/{swapVertical-BIde62-t.js → swapVertical-j_z5zwC9.js} +1 -1
- package/lib/{telegram-B8DOK8LQ.js → telegram-C-Fp394u.js} +1 -1
- package/lib/{telegram-DpxYicfc.mjs → telegram-CjnGu7GA.mjs} +1 -1
- package/lib/{telegram-_UlrbcuL.mjs → telegram-SL_ehdQ1.mjs} +1 -1
- package/lib/{telegram-DUZ1mhSy.js → telegram-jAlzfvmm.js} +1 -1
- package/lib/{three-dots-DCZa3ccg.mjs → three-dots-A97eKq-t.mjs} +1 -1
- package/lib/{three-dots-BHL8D_Zg.mjs → three-dots-CqqJjHxY.mjs} +1 -1
- package/lib/{three-dots-eLSxq0uy.js → three-dots-DBwclFqo.js} +1 -1
- package/lib/{three-dots-Cz5fvhME.js → three-dots-DX75nC3P.js} +1 -1
- package/lib/{tokenHelpers-a1B-ORAA.mjs → tokenHelpers-C4pLIPnz.mjs} +1 -1
- package/lib/{tokenHelpers-DaXKXvMS.js → tokenHelpers-CMFBs8po.js} +1 -1
- package/lib/{tokens-B113FI9J.js → tokens-DKt-90PV.js} +1 -1
- package/lib/{tokens-PXiNoKQV.mjs → tokens-r-3L-zm5.mjs} +1 -1
- package/lib/{twitch-BUKpSNF3.js → twitch-BPtSPWwi.js} +1 -1
- package/lib/{twitch-CUtpYc4R.mjs → twitch-BjnldiJg.mjs} +1 -1
- package/lib/{twitch-BBMn8FzK.js → twitch-CnX1zLyh.js} +1 -1
- package/lib/{twitch-DULME7lx.mjs → twitch-UUmNfBhR.mjs} +1 -1
- package/lib/{twitterIcon-_TKDsIPY.mjs → twitterIcon-Bug3Ov3V.mjs} +1 -1
- package/lib/{twitterIcon-YR7_nZMl.mjs → twitterIcon-CORzXqes.mjs} +1 -1
- package/lib/{twitterIcon-BN9ansTN.js → twitterIcon-CuzAcNnN.js} +1 -1
- package/lib/{twitterIcon-Blj3OB-w.js → twitterIcon-DPZQ1g4F.js} +1 -1
- package/lib/{verify-BCgymggd.js → verify-BcHypLx-.js} +1 -1
- package/lib/{verify-B8aWF7Gd.mjs → verify-BzcXHXHH.mjs} +1 -1
- package/lib/{verify-x9oxN_9S.mjs → verify-CGTYC5Gb.mjs} +1 -1
- package/lib/{verify-DYCo-SIH.js → verify-DF_R0wi3.js} +1 -1
- package/lib/{verify-filled-BwdAKqTz.js → verify-filled-BIxOwlrY.js} +1 -1
- package/lib/{verify-filled-DWDmZ4fK.mjs → verify-filled-BdtikQ9V.mjs} +1 -1
- package/lib/{verify-filled-BRds-xGX.js → verify-filled-Bpb0HYP3.js} +1 -1
- package/lib/{verify-filled-i5Ro5Kmd.mjs → verify-filled-woSjwI7B.mjs} +1 -1
- package/lib/{w3m-modal-DSnDVaJG.mjs → w3m-modal-1TEj0hI8.mjs} +2 -2
- package/lib/{w3m-modal-DveKC-Y6.js → w3m-modal-CQc0dHrk.js} +1 -1
- package/lib/{w3m-modal-C-HyORJE.js → w3m-modal-DskVGuLl.js} +1 -1
- package/lib/{w3m-modal-cG8zSQMG.mjs → w3m-modal-Xo0_Tr7j.mjs} +2 -2
- package/lib/{wallet-CmtyVlua.js → wallet-BGd3SuA7.js} +1 -1
- package/lib/{wallet-AYipPwJz.mjs → wallet-ClQpKYZP.mjs} +1 -1
- package/lib/{wallet-CuTms3TO.mjs → wallet-DGfBrlb3.mjs} +1 -1
- package/lib/{wallet-Bt2WxOPa.js → wallet-E8LGI5Yo.js} +1 -1
- package/lib/{wallet-placeholder-Cs6XgbFk.js → wallet-placeholder-BYbEXUsl.js} +1 -1
- package/lib/{wallet-placeholder-rVyGjFzG.mjs → wallet-placeholder-BwiUHiNG.mjs} +1 -1
- package/lib/{wallet-placeholder-CtXzlAiV.js → wallet-placeholder-DS2lYgtI.js} +1 -1
- package/lib/{wallet-placeholder-Dn06LVhc.mjs → wallet-placeholder-eA_d6nk7.mjs} +1 -1
- package/lib/{walletconnect-CSwzK9gd.js → walletconnect-BV7N-T1F.js} +1 -1
- package/lib/{walletconnect-BkeRK6O2.js → walletconnect-BpbAq3o_.js} +1 -1
- package/lib/{walletconnect-B4dzE_Rv.mjs → walletconnect-Ca3Q0Xhv.mjs} +1 -1
- package/lib/{walletconnect-BmvLBckC.mjs → walletconnect-CupXpY7C.mjs} +1 -1
- package/lib/{warning-circle-GTQjQ3h1.mjs → warning-circle-8ClY5fmd.mjs} +1 -1
- package/lib/{warning-circle-DsN-kfbo.js → warning-circle-C41Ocsy3.js} +1 -1
- package/lib/{warning-circle-DYLyFPIa.js → warning-circle-Dx395109.js} +1 -1
- package/lib/{warning-circle-LztOYzFY.mjs → warning-circle-jzOn90Sg.mjs} +1 -1
- package/lib/{x-DMcJACHl.js → x-BvVb63M2.js} +1 -1
- package/lib/{x-BCJR57go.mjs → x-CbB6unwR.mjs} +1 -1
- package/lib/{x--ZenK7QD.mjs → x-CigOCsqT.mjs} +1 -1
- package/lib/{x-GwL6d9Wb.js → x-fQKPMjaI.js} +1 -1
- package/package.json +9 -9
- package/lib/constants-DGfLD4vt.js +0 -1
package/lib/mayan.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const hypercore=require("./hypercore-j2gTG79l.js"),platform$1=require("./platform-B7H14r00.js"),unsignedTransaction=require("./unsignedTransaction-DPs4ICFO.js"),platform=require("./platform-DH1Olrgt.js"),tokenHelpers=require("./tokenHelpers-DaXKXvMS.js"),associatedTokenAccount=require("./associatedTokenAccount-Cp_3Yxxh.js"),mint=require("./mint-C31tZg8F.js");var sha256={exports:{}},hasRequiredSha256;function requireSha256(){return hasRequiredSha256||(hasRequiredSha256=1,(function(module){(function(){var ERROR="input is invalid type",WINDOW=typeof window=="object",root=WINDOW?window:{};root.JS_SHA256_NO_WINDOW&&(WINDOW=!1);var WEB_WORKER=!WINDOW&&typeof self=="object",NODE_JS=!root.JS_SHA256_NO_NODE_JS&&typeof platform.process$1=="object"&&platform.process$1.versions&&platform.process$1.versions.node;NODE_JS?root=unsignedTransaction.commonjsGlobal:WEB_WORKER&&(root=self);var COMMON_JS=!root.JS_SHA256_NO_COMMON_JS&&!0&&module.exports,ARRAY_BUFFER=!root.JS_SHA256_NO_ARRAY_BUFFER&&typeof ArrayBuffer<"u",HEX_CHARS="0123456789abcdef".split(""),EXTRA=[-2147483648,8388608,32768,128],SHIFT=[24,16,8,0],K=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],OUTPUT_TYPES=["hex","array","digest","arrayBuffer"],blocks=[];(root.JS_SHA256_NO_NODE_JS||!Array.isArray)&&(Array.isArray=function(e){return Object.prototype.toString.call(e)==="[object Array]"}),ARRAY_BUFFER&&(root.JS_SHA256_NO_ARRAY_BUFFER_IS_VIEW||!ArrayBuffer.isView)&&(ArrayBuffer.isView=function(e){return typeof e=="object"&&e.buffer&&e.buffer.constructor===ArrayBuffer});var createOutputMethod=function(e,t){return function(r){return new Sha256(t,!0).update(r)[e]()}},createMethod=function(e){var t=createOutputMethod("hex",e);NODE_JS&&(t=nodeWrap(t,e)),t.create=function(){return new Sha256(e)},t.update=function(o){return t.create().update(o)};for(var r=0;r<OUTPUT_TYPES.length;++r){var n=OUTPUT_TYPES[r];t[n]=createOutputMethod(n,e)}return t},nodeWrap=function(method,is224){var crypto=eval("require('crypto')"),Buffer=eval("require('buffer').Buffer"),algorithm=is224?"sha224":"sha256",nodeMethod=function(e){if(typeof e=="string")return crypto.createHash(algorithm).update(e,"utf8").digest("hex");if(e==null)throw new Error(ERROR);return e.constructor===ArrayBuffer&&(e=new Uint8Array(e)),Array.isArray(e)||ArrayBuffer.isView(e)||e.constructor===Buffer?crypto.createHash(algorithm).update(new Buffer(e)).digest("hex"):method(e)};return nodeMethod},createHmacOutputMethod=function(e,t){return function(r,n){return new HmacSha256(r,t,!0).update(n)[e]()}},createHmacMethod=function(e){var t=createHmacOutputMethod("hex",e);t.create=function(o){return new HmacSha256(o,e)},t.update=function(o,i){return t.create(o).update(i)};for(var r=0;r<OUTPUT_TYPES.length;++r){var n=OUTPUT_TYPES[r];t[n]=createHmacOutputMethod(n,e)}return t};function Sha256(e,t){t?(blocks[0]=blocks[16]=blocks[1]=blocks[2]=blocks[3]=blocks[4]=blocks[5]=blocks[6]=blocks[7]=blocks[8]=blocks[9]=blocks[10]=blocks[11]=blocks[12]=blocks[13]=blocks[14]=blocks[15]=0,this.blocks=blocks):this.blocks=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],e?(this.h0=3238371032,this.h1=914150663,this.h2=812702999,this.h3=4144912697,this.h4=4290775857,this.h5=1750603025,this.h6=1694076839,this.h7=3204075428):(this.h0=1779033703,this.h1=3144134277,this.h2=1013904242,this.h3=2773480762,this.h4=1359893119,this.h5=2600822924,this.h6=528734635,this.h7=1541459225),this.block=this.start=this.bytes=this.hBytes=0,this.finalized=this.hashed=!1,this.first=!0,this.is224=e}Sha256.prototype.update=function(e){if(!this.finalized){var t,r=typeof e;if(r!=="string"){if(r==="object"){if(e===null)throw new Error(ERROR);if(ARRAY_BUFFER&&e.constructor===ArrayBuffer)e=new Uint8Array(e);else if(!Array.isArray(e)&&(!ARRAY_BUFFER||!ArrayBuffer.isView(e)))throw new Error(ERROR)}else throw new Error(ERROR);t=!0}for(var n,o=0,i,u=e.length,a=this.blocks;o<u;){if(this.hashed&&(this.hashed=!1,a[0]=this.block,a[16]=a[1]=a[2]=a[3]=a[4]=a[5]=a[6]=a[7]=a[8]=a[9]=a[10]=a[11]=a[12]=a[13]=a[14]=a[15]=0),t)for(i=this.start;o<u&&i<64;++o)a[i>>2]|=e[o]<<SHIFT[i++&3];else for(i=this.start;o<u&&i<64;++o)n=e.charCodeAt(o),n<128?a[i>>2]|=n<<SHIFT[i++&3]:n<2048?(a[i>>2]|=(192|n>>6)<<SHIFT[i++&3],a[i>>2]|=(128|n&63)<<SHIFT[i++&3]):n<55296||n>=57344?(a[i>>2]|=(224|n>>12)<<SHIFT[i++&3],a[i>>2]|=(128|n>>6&63)<<SHIFT[i++&3],a[i>>2]|=(128|n&63)<<SHIFT[i++&3]):(n=65536+((n&1023)<<10|e.charCodeAt(++o)&1023),a[i>>2]|=(240|n>>18)<<SHIFT[i++&3],a[i>>2]|=(128|n>>12&63)<<SHIFT[i++&3],a[i>>2]|=(128|n>>6&63)<<SHIFT[i++&3],a[i>>2]|=(128|n&63)<<SHIFT[i++&3]);this.lastByteIndex=i,this.bytes+=i-this.start,i>=64?(this.block=a[16],this.start=i-64,this.hash(),this.hashed=!0):this.start=i}return this.bytes>4294967295&&(this.hBytes+=this.bytes/4294967296<<0,this.bytes=this.bytes%4294967296),this}},Sha256.prototype.finalize=function(){if(!this.finalized){this.finalized=!0;var e=this.blocks,t=this.lastByteIndex;e[16]=this.block,e[t>>2]|=EXTRA[t&3],this.block=e[16],t>=56&&(this.hashed||this.hash(),e[0]=this.block,e[16]=e[1]=e[2]=e[3]=e[4]=e[5]=e[6]=e[7]=e[8]=e[9]=e[10]=e[11]=e[12]=e[13]=e[14]=e[15]=0),e[14]=this.hBytes<<3|this.bytes>>>29,e[15]=this.bytes<<3,this.hash()}},Sha256.prototype.hash=function(){var e=this.h0,t=this.h1,r=this.h2,n=this.h3,o=this.h4,i=this.h5,u=this.h6,a=this.h7,p=this.blocks,s,c,d,y,l,m,f,T,g,b,h;for(s=16;s<64;++s)l=p[s-15],c=(l>>>7|l<<25)^(l>>>18|l<<14)^l>>>3,l=p[s-2],d=(l>>>17|l<<15)^(l>>>19|l<<13)^l>>>10,p[s]=p[s-16]+c+p[s-7]+d<<0;for(h=t&r,s=0;s<64;s+=4)this.first?(this.is224?(T=300032,l=p[0]-1413257819,a=l-150054599<<0,n=l+24177077<<0):(T=704751109,l=p[0]-210244248,a=l-1521486534<<0,n=l+143694565<<0),this.first=!1):(c=(e>>>2|e<<30)^(e>>>13|e<<19)^(e>>>22|e<<10),d=(o>>>6|o<<26)^(o>>>11|o<<21)^(o>>>25|o<<7),T=e&t,y=T^e&r^h,f=o&i^~o&u,l=a+d+f+K[s]+p[s],m=c+y,a=n+l<<0,n=l+m<<0),c=(n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10),d=(a>>>6|a<<26)^(a>>>11|a<<21)^(a>>>25|a<<7),g=n&e,y=g^n&t^T,f=a&o^~a&i,l=u+d+f+K[s+1]+p[s+1],m=c+y,u=r+l<<0,r=l+m<<0,c=(r>>>2|r<<30)^(r>>>13|r<<19)^(r>>>22|r<<10),d=(u>>>6|u<<26)^(u>>>11|u<<21)^(u>>>25|u<<7),b=r&n,y=b^r&e^g,f=u&a^~u&o,l=i+d+f+K[s+2]+p[s+2],m=c+y,i=t+l<<0,t=l+m<<0,c=(t>>>2|t<<30)^(t>>>13|t<<19)^(t>>>22|t<<10),d=(i>>>6|i<<26)^(i>>>11|i<<21)^(i>>>25|i<<7),h=t&r,y=h^t&n^b,f=i&u^~i&a,l=o+d+f+K[s+3]+p[s+3],m=c+y,o=e+l<<0,e=l+m<<0;this.h0=this.h0+e<<0,this.h1=this.h1+t<<0,this.h2=this.h2+r<<0,this.h3=this.h3+n<<0,this.h4=this.h4+o<<0,this.h5=this.h5+i<<0,this.h6=this.h6+u<<0,this.h7=this.h7+a<<0},Sha256.prototype.hex=function(){this.finalize();var e=this.h0,t=this.h1,r=this.h2,n=this.h3,o=this.h4,i=this.h5,u=this.h6,a=this.h7,p=HEX_CHARS[e>>28&15]+HEX_CHARS[e>>24&15]+HEX_CHARS[e>>20&15]+HEX_CHARS[e>>16&15]+HEX_CHARS[e>>12&15]+HEX_CHARS[e>>8&15]+HEX_CHARS[e>>4&15]+HEX_CHARS[e&15]+HEX_CHARS[t>>28&15]+HEX_CHARS[t>>24&15]+HEX_CHARS[t>>20&15]+HEX_CHARS[t>>16&15]+HEX_CHARS[t>>12&15]+HEX_CHARS[t>>8&15]+HEX_CHARS[t>>4&15]+HEX_CHARS[t&15]+HEX_CHARS[r>>28&15]+HEX_CHARS[r>>24&15]+HEX_CHARS[r>>20&15]+HEX_CHARS[r>>16&15]+HEX_CHARS[r>>12&15]+HEX_CHARS[r>>8&15]+HEX_CHARS[r>>4&15]+HEX_CHARS[r&15]+HEX_CHARS[n>>28&15]+HEX_CHARS[n>>24&15]+HEX_CHARS[n>>20&15]+HEX_CHARS[n>>16&15]+HEX_CHARS[n>>12&15]+HEX_CHARS[n>>8&15]+HEX_CHARS[n>>4&15]+HEX_CHARS[n&15]+HEX_CHARS[o>>28&15]+HEX_CHARS[o>>24&15]+HEX_CHARS[o>>20&15]+HEX_CHARS[o>>16&15]+HEX_CHARS[o>>12&15]+HEX_CHARS[o>>8&15]+HEX_CHARS[o>>4&15]+HEX_CHARS[o&15]+HEX_CHARS[i>>28&15]+HEX_CHARS[i>>24&15]+HEX_CHARS[i>>20&15]+HEX_CHARS[i>>16&15]+HEX_CHARS[i>>12&15]+HEX_CHARS[i>>8&15]+HEX_CHARS[i>>4&15]+HEX_CHARS[i&15]+HEX_CHARS[u>>28&15]+HEX_CHARS[u>>24&15]+HEX_CHARS[u>>20&15]+HEX_CHARS[u>>16&15]+HEX_CHARS[u>>12&15]+HEX_CHARS[u>>8&15]+HEX_CHARS[u>>4&15]+HEX_CHARS[u&15];return this.is224||(p+=HEX_CHARS[a>>28&15]+HEX_CHARS[a>>24&15]+HEX_CHARS[a>>20&15]+HEX_CHARS[a>>16&15]+HEX_CHARS[a>>12&15]+HEX_CHARS[a>>8&15]+HEX_CHARS[a>>4&15]+HEX_CHARS[a&15]),p},Sha256.prototype.toString=Sha256.prototype.hex,Sha256.prototype.digest=function(){this.finalize();var e=this.h0,t=this.h1,r=this.h2,n=this.h3,o=this.h4,i=this.h5,u=this.h6,a=this.h7,p=[e>>24&255,e>>16&255,e>>8&255,e&255,t>>24&255,t>>16&255,t>>8&255,t&255,r>>24&255,r>>16&255,r>>8&255,r&255,n>>24&255,n>>16&255,n>>8&255,n&255,o>>24&255,o>>16&255,o>>8&255,o&255,i>>24&255,i>>16&255,i>>8&255,i&255,u>>24&255,u>>16&255,u>>8&255,u&255];return this.is224||p.push(a>>24&255,a>>16&255,a>>8&255,a&255),p},Sha256.prototype.array=Sha256.prototype.digest,Sha256.prototype.arrayBuffer=function(){this.finalize();var e=new ArrayBuffer(this.is224?28:32),t=new DataView(e);return t.setUint32(0,this.h0),t.setUint32(4,this.h1),t.setUint32(8,this.h2),t.setUint32(12,this.h3),t.setUint32(16,this.h4),t.setUint32(20,this.h5),t.setUint32(24,this.h6),this.is224||t.setUint32(28,this.h7),e};function HmacSha256(e,t,r){var n,o=typeof e;if(o==="string"){var i=[],u=e.length,a=0,p;for(n=0;n<u;++n)p=e.charCodeAt(n),p<128?i[a++]=p:p<2048?(i[a++]=192|p>>6,i[a++]=128|p&63):p<55296||p>=57344?(i[a++]=224|p>>12,i[a++]=128|p>>6&63,i[a++]=128|p&63):(p=65536+((p&1023)<<10|e.charCodeAt(++n)&1023),i[a++]=240|p>>18,i[a++]=128|p>>12&63,i[a++]=128|p>>6&63,i[a++]=128|p&63);e=i}else if(o==="object"){if(e===null)throw new Error(ERROR);if(ARRAY_BUFFER&&e.constructor===ArrayBuffer)e=new Uint8Array(e);else if(!Array.isArray(e)&&(!ARRAY_BUFFER||!ArrayBuffer.isView(e)))throw new Error(ERROR)}else throw new Error(ERROR);e.length>64&&(e=new Sha256(t,!0).update(e).array());var s=[],c=[];for(n=0;n<64;++n){var d=e[n]||0;s[n]=92^d,c[n]=54^d}Sha256.call(this,t,r),this.update(c),this.oKeyPad=s,this.inner=!0,this.sharedMemory=r}HmacSha256.prototype=new Sha256,HmacSha256.prototype.finalize=function(){if(Sha256.prototype.finalize.call(this),this.inner){this.inner=!1;var e=this.array();Sha256.call(this,this.is224,this.sharedMemory),this.update(this.oKeyPad),this.update(e),Sha256.prototype.finalize.call(this)}};var exports=createMethod();exports.sha256=exports,exports.sha224=createMethod(!0),exports.sha256.hmac=createHmacMethod(),exports.sha224.hmac=createHmacMethod(!0),COMMON_JS?module.exports=exports:(root.sha256=exports.sha256,root.sha224=exports.sha224)})()})(sha256)),sha256.exports}var sha256Exports=requireSha256();function base(e){if(e.length>=255)throw new TypeError("Alphabet too long");const t=new Uint8Array(256);for(let s=0;s<t.length;s++)t[s]=255;for(let s=0;s<e.length;s++){const c=e.charAt(s),d=c.charCodeAt(0);if(t[d]!==255)throw new TypeError(c+" is ambiguous");t[d]=s}const r=e.length,n=e.charAt(0),o=Math.log(r)/Math.log(256),i=Math.log(256)/Math.log(r);function u(s){if(s instanceof Uint8Array||(ArrayBuffer.isView(s)?s=new Uint8Array(s.buffer,s.byteOffset,s.byteLength):Array.isArray(s)&&(s=Uint8Array.from(s))),!(s instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(s.length===0)return"";let c=0,d=0,y=0;const l=s.length;for(;y!==l&&s[y]===0;)y++,c++;const m=(l-y)*i+1>>>0,f=new Uint8Array(m);for(;y!==l;){let b=s[y],h=0;for(let A=m-1;(b!==0||h<d)&&A!==-1;A--,h++)b+=256*f[A]>>>0,f[A]=b%r>>>0,b=b/r>>>0;if(b!==0)throw new Error("Non-zero carry");d=h,y++}let T=m-d;for(;T!==m&&f[T]===0;)T++;let g=n.repeat(c);for(;T<m;++T)g+=e.charAt(f[T]);return g}function a(s){if(typeof s!="string")throw new TypeError("Expected String");if(s.length===0)return new Uint8Array;let c=0,d=0,y=0;for(;s[c]===n;)d++,c++;const l=(s.length-c)*o+1>>>0,m=new Uint8Array(l);for(;c<s.length;){const b=s.charCodeAt(c);if(b>255)return;let h=t[b];if(h===255)return;let A=0;for(let I=l-1;(h!==0||A<y)&&I!==-1;I--,A++)h+=r*m[I]>>>0,m[I]=h%256>>>0,h=h/256>>>0;if(h!==0)throw new Error("Non-zero carry");y=A,c++}let f=l-y;for(;f!==l&&m[f]===0;)f++;const T=new Uint8Array(d+(l-f));let g=d;for(;f!==l;)T[g++]=m[f++];return T}function p(s){const c=a(s);if(c)return c;throw new Error("Non-base"+r+" character")}return{encode:u,decodeUnsafe:a,decode:p}}var ALPHABET="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";base(ALPHABET);var addresses_default={MAYAN_FORWARDER_CONTRACT:"0x076baB2Bf1aa0a06F47BD32245527f6D84d62Fd1",MAYAN_PROGRAM_ID:"FC4eXxkyrMPTjiYUpp4EAnkmwMbQyZ6NDCh1kfLn6vsf",AUCTION_PROGRAM_ID:"8QJmxZcEzwuYmCPy6XqgN2sHcYCcFq6AEfBMJZZuLo5a",MCTP_PROGRAM_ID:"dkpZqrxHFrhziEMQ931GLtfy11nFkCsfMftH9u6QwBU",SWIFT_PROGRAM_ID:"92peaC8g5ANAxpK2aCfLTC12JgPncRKCGULQNB2DMvRH",FEE_MANAGER_PROGRAM_ID:"EyQnmCoLDaFDuNdGYJuYNjFPorohwPuvUzhewg9nGej1",WORMHOLE_PROGRAM_ID:"3u8hJUVTA4jH1wYAyUur7FFZVQ8H635K3tSHHF4ssjQ5",CCTP_CORE_PROGRAM_ID:"CCTPmbSD7gX1bxKPAmg77w8oFzNFpaQiQUWD43TKaecd",CCTP_TOKEN_PROGRAM_ID:"CCTPiPYPc6AsJuwueEnWgSgucamXDZwBd53dQ11YiKX3",TOKEN_PROGRAM_ID:"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA",TOKEN_2022_PROGRAM_ID:"TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb",ASSOCIATED_TOKEN_PROGRAM_ID:"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL",SPL_UTILS_PROGRAM_ID:"B96dV3Luxzo6SokJx3xt8i5y8Mb7HRR6Eec8hCjJDT69",LOOKUP_TABLE:"8fVCtaFqfEAtGtqcoVyawy1Mytj461T4Ti4YjHZqfF47",SUI_MCTP_STATE:"0xb787fe0f7530b4fd2162fa0cc92f4f6c5a97c54b4c5c55eb04ab29f4b803ac9c",SUI_MCTP_FEE_MANAGER_STATE:"0xa1b4a96ce93d36dd0bbce0adc39533a07d2f32928918c80cd6fe7868320978f2",SUI_CCTP_CORE_PACKAGE_ID:"0x08d87d37ba49e785dde270a83f8e979605b03dc552b5548f26fdf2f49bf7ed1b",SUI_CCTP_CORE_STATE:"0xf68268c3d9b1df3215f2439400c1c4ea08ac4ef4bb7d6f3ca6a2a239e17510af",SUI_CCTP_TOKEN_PACKAGE_ID:"0x2aa6c5d56376c371f88a6cc42e852824994993cb9bab8d3e6450cbe3cb32b94e",SUI_CCTP_TOKEN_STATE:"0x45993eecc0382f37419864992c12faee2238f5cfe22b98ad3bf455baf65c8a2f",SUI_WORMHOLE_PACKAGE_ID:"0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a",SUI_WORMHOLE_STATE:"0xaeab97f96cf9877fee2883315d459552b2b921edc16d7ceac6eab944dd88919c",SUI_LOGGER_PACKAGE_ID:"0x05680e9030c147b413a489f7891273acc221d49bd061c433e5771bc170fc37ac",EXPLORER_URL:"https://testnet-explorer-api.mayan.finance/v3",PRICE_URL:"https://testnet-price-api.mayan.finance/v3",RELAYER_URL:"https://testnet-relayer-api.mayan.finance/v3"};function nativeAddressToHexString(e,t){if(t===1)return platform.zeroPadValue(new unsignedTransaction.PublicKey(e).toBytes(),32);if(t===chains.ethereum||t===chains.base||t===chains.monad)return platform.zeroPadValue(e,32);throw console.log(`Unsupported chain id: ${t}`,e),new Error("Unsupported token chain")}function hexToUint8Array(e){return new Uint8Array(platform.Buffer$1.from(e.startsWith("0x")?e.substring(2):e,"hex"))}function getAssociatedTokenAddress(e,t,r=!1,n=new unsignedTransaction.PublicKey(addresses_default.TOKEN_PROGRAM_ID),o=new unsignedTransaction.PublicKey(addresses_default.ASSOCIATED_TOKEN_PROGRAM_ID)){if(!r&&!unsignedTransaction.PublicKey.isOnCurve(t.toBuffer()))throw new Error("TokenOwnerOffCurveError");const[i]=unsignedTransaction.PublicKey.findProgramAddressSync([t.toBuffer(),n.toBuffer(),e.toBuffer()],o);return i}function getAmountOfFractionalAmount(e,t){if(e==null)throw new Error("getAmountOfFractionalAmount: Amount is null or undefined");if(typeof e!="string"&&typeof e!="number")throw new Error("getAmountOfFractionalAmount: Amount is not a string or number");if(typeof e=="string"&&e.length===0)throw new Error("getAmountOfFractionalAmount: Amount is empty");if(!Number.isFinite(Number(e)))throw new Error("getAmountOfFractionalAmount: Amount is not a number");const r=Math.min(8,Number(t)),n=Number(e).toFixed(r+1),o=new RegExp(`^-?\\d+(?:\\.\\d{0,${r}})?`),i=n.match(o);if(!i)throw new Error("getAmountOfFractionalAmount: fixedAmount is null");const u=i[0];return hypercore.parseUnits(u,Number(t))}var chains={solana:1,ethereum:10002,base:10004,monad:48,sui:21};function getWormholeChainIdByName(e){return chains[e]}var evmChainIdMap={11155111:10002,84532:10004,10143:48};function getWormholeChainIdById(e){return evmChainIdMap[e]}var sdkVersion=[10,5,0];function getSdkVersion(){return sdkVersion.join("_")}function getGasDecimal(e){return e==="solana"?9:18}function getGasDecimalsInSolana(e){return e==="solana"?9:8}var MAX_U64=BigInt(2)**BigInt(64)-BigInt(1);function getSafeU64Blob(e){if(e<BigInt(0)||e>MAX_U64)throw new Error(`Invalid u64: ${e}`);const t=platform.Buffer$1.alloc(8);return t.writeBigUInt64LE(e),t}var ZeroPermit={value:BigInt(0),deadline:0,v:0,r:`0x${unsignedTransaction.SystemProgram.programId.toBuffer().toString("hex")}`,s:`0x${unsignedTransaction.SystemProgram.programId.toBuffer().toString("hex")}`};function getQuoteSuitableReferrerAddress(e,t){return null}var MCTP_PAYLOAD_TYPE_DEFAULT=1,MCTP_INIT_ORDER_PAYLOAD_ID=1,FAST_MCTP_PAYLOAD_TYPE_DEFAULT=1,FAST_MCTP_PAYLOAD_TYPE_ORDER=3;function toQueryString(e){return Object.entries(e).filter(([t,r])=>r!=null&&!Array.isArray(r)).map(([t,r])=>`${encodeURIComponent(t)}=${encodeURIComponent(r)}`).join("&")}async function check5xxError(e){if(e.status.toString().startsWith("5")){let t;try{const r=await e.json();(r?.code||r?.statusCode)&&(r?.message||r?.msg)&&(t={code:r?.code||r?.statusCode,message:r?.message||r?.msg})}catch{t=new Error("Internal server error")}throw t}}function generateFetchQuoteUrl(e,t={wormhole:!0,swift:!0,mctp:!0,shuttle:!0,gasless:!1,onlyDirect:!1,fastMctp:!0}){const{gasDrop:r,referrerBps:n}=e;let o=e.slippageBps;o!=="auto"&&!Number.isFinite(o)&&(o=e.slippage*100);const u={...{wormhole:t.wormhole!==!1,swift:t.swift!==!1,mctp:t.mctp!==!1,shuttle:t.shuttle===!0,fastMctp:t.fastMctp!==!1,gasless:t.gasless===!0,onlyDirect:t.onlyDirect===!0},solanaProgram:addresses_default.MAYAN_PROGRAM_ID,forwarderAddress:addresses_default.MAYAN_FORWARDER_CONTRACT,amountIn:!e.amountIn64&&Number.isFinite(e.amount)?e.amount:void 0,amountIn64:e.amountIn64,fromToken:e.fromToken,fromChain:e.fromChain,toToken:e.toToken,toChain:e.toChain,slippageBps:o,referrer:e.referrer,referrerBps:Number.isFinite(n)?n:void 0,gasDrop:Number.isFinite(r)?r:void 0,sdkVersion:getSdkVersion()},a=`${addresses_default.PRICE_URL}/quote?`,p=toQueryString(u);return a+p}async function getSuggestedRelayer(){const e=await hypercore.o(`${addresses_default.RELAYER_URL}/active-relayers?solanaProgram=${addresses_default.MAYAN_PROGRAM_ID}`,{method:"GET",redirect:"follow"});await check5xxError(e);const t=await e.json();if(e.status!==200&&e.status!==201)throw t;return t.suggested}async function getSwapSolana(e){const t=toQueryString({...e,sdkVersion:getSdkVersion()}),r=await hypercore.o(`${addresses_default.PRICE_URL}/get-swap/solana?${t}`,{method:"GET",redirect:"follow"});await check5xxError(r);const n=await r.json();if(r.status!==200&&r.status!==201)throw n;return n}async function getSwapSui(e){const t=JSON.stringify({...e,sdkVersion:getSdkVersion()}),r=`${addresses_default.PRICE_URL}/get-swap/sui`,n=await hypercore.o(r,{method:"POST",redirect:"follow",body:t,headers:{"Content-Type":"application/json"}});await check5xxError(n);const o=await n.json();if(n.status!==200&&n.status!==201)throw o;return o}var MayanSwapArtifact_default={abi:[{inputs:[{internalType:"address",name:"_tokenBridge",type:"address"},{internalType:"address",name:"_weth",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint16",name:"emitterChainId",type:"uint16"},{indexed:!0,internalType:"bytes32",name:"emitterAddress",type:"bytes32"},{indexed:!0,internalType:"uint64",name:"sequence",type:"uint64"}],name:"Redeemed",type:"event"},{inputs:[{internalType:"address",name:"newGuardian",type:"address"}],name:"changeGuardian",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"claimGuardian",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"uint8",name:"payloadId",type:"uint8"},{internalType:"bytes32",name:"tokenAddr",type:"bytes32"},{internalType:"uint16",name:"tokenChainId",type:"uint16"},{internalType:"bytes32",name:"destAddr",type:"bytes32"},{internalType:"uint16",name:"destChainId",type:"uint16"},{internalType:"bytes32",name:"sourceAddr",type:"bytes32"},{internalType:"uint16",name:"sourceChainId",type:"uint16"},{internalType:"uint64",name:"sequence",type:"uint64"},{internalType:"uint64",name:"amountOutMin",type:"uint64"},{internalType:"uint64",name:"deadline",type:"uint64"},{internalType:"uint64",name:"swapFee",type:"uint64"},{internalType:"uint64",name:"redeemFee",type:"uint64"},{internalType:"uint64",name:"refundFee",type:"uint64"},{internalType:"bytes32",name:"auctionAddr",type:"bytes32"},{internalType:"bool",name:"unwrapRedeem",type:"bool"},{internalType:"bool",name:"unwrapRefund",type:"bool"}],internalType:"struct MayanStructs.Swap",name:"s",type:"tuple"}],name:"encodeSwap",outputs:[{internalType:"bytes",name:"encoded",type:"bytes"}],stateMutability:"pure",type:"function"},{inputs:[],name:"getWeth",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"isPaused",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"encoded",type:"bytes"}],name:"parseRedeemPayload",outputs:[{components:[{internalType:"uint8",name:"payloadId",type:"uint8"},{internalType:"bytes32",name:"recipient",type:"bytes32"},{internalType:"uint64",name:"relayerFee",type:"uint64"},{internalType:"bool",name:"unwrap",type:"bool"},{internalType:"uint64",name:"gasDrop",type:"uint64"},{internalType:"bytes",name:"customPayload",type:"bytes"}],internalType:"struct MayanStructs.Redeem",name:"r",type:"tuple"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"bytes",name:"encodedVm",type:"bytes"}],name:"redeem",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bytes",name:"encodedVm",type:"bytes"}],name:"redeemAndUnwrap",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bool",name:"_pause",type:"bool"}],name:"setPause",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"uint64",name:"swapFee",type:"uint64"},{internalType:"uint64",name:"redeemFee",type:"uint64"},{internalType:"uint64",name:"refundFee",type:"uint64"}],internalType:"struct MayanSwap.RelayerFees",name:"relayerFees",type:"tuple"},{components:[{internalType:"bytes32",name:"mayanAddr",type:"bytes32"},{internalType:"uint16",name:"mayanChainId",type:"uint16"},{internalType:"bytes32",name:"auctionAddr",type:"bytes32"},{internalType:"bytes32",name:"destAddr",type:"bytes32"},{internalType:"uint16",name:"destChainId",type:"uint16"},{internalType:"bytes32",name:"referrer",type:"bytes32"},{internalType:"bytes32",name:"refundAddr",type:"bytes32"}],internalType:"struct MayanSwap.Recepient",name:"recipient",type:"tuple"},{internalType:"bytes32",name:"tokenOutAddr",type:"bytes32"},{internalType:"uint16",name:"tokenOutChainId",type:"uint16"},{components:[{internalType:"uint256",name:"transferDeadline",type:"uint256"},{internalType:"uint64",name:"swapDeadline",type:"uint64"},{internalType:"uint64",name:"amountOutMin",type:"uint64"},{internalType:"bool",name:"unwrap",type:"bool"},{internalType:"uint64",name:"gasDrop",type:"uint64"},{internalType:"bytes",name:"customPayload",type:"bytes"}],internalType:"struct MayanSwap.Criteria",name:"criteria",type:"tuple"},{internalType:"address",name:"tokenIn",type:"address"},{internalType:"uint256",name:"amountIn",type:"uint256"}],name:"swap",outputs:[{internalType:"uint64",name:"sequence",type:"uint64"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"address payable",name:"to",type:"address"}],name:"sweepEth",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"address",name:"to",type:"address"}],name:"sweepToken",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"uint64",name:"swapFee",type:"uint64"},{internalType:"uint64",name:"redeemFee",type:"uint64"},{internalType:"uint64",name:"refundFee",type:"uint64"}],internalType:"struct MayanSwap.RelayerFees",name:"relayerFees",type:"tuple"},{components:[{internalType:"bytes32",name:"mayanAddr",type:"bytes32"},{internalType:"uint16",name:"mayanChainId",type:"uint16"},{internalType:"bytes32",name:"auctionAddr",type:"bytes32"},{internalType:"bytes32",name:"destAddr",type:"bytes32"},{internalType:"uint16",name:"destChainId",type:"uint16"},{internalType:"bytes32",name:"referrer",type:"bytes32"},{internalType:"bytes32",name:"refundAddr",type:"bytes32"}],internalType:"struct MayanSwap.Recepient",name:"recipient",type:"tuple"},{internalType:"bytes32",name:"tokenOutAddr",type:"bytes32"},{internalType:"uint16",name:"tokenOutChainId",type:"uint16"},{components:[{internalType:"uint256",name:"transferDeadline",type:"uint256"},{internalType:"uint64",name:"swapDeadline",type:"uint64"},{internalType:"uint64",name:"amountOutMin",type:"uint64"},{internalType:"bool",name:"unwrap",type:"bool"},{internalType:"uint64",name:"gasDrop",type:"uint64"},{internalType:"bytes",name:"customPayload",type:"bytes"}],internalType:"struct MayanSwap.Criteria",name:"criteria",type:"tuple"}],name:"wrapAndSwapETH",outputs:[{internalType:"uint64",name:"sequence",type:"uint64"}],stateMutability:"payable",type:"function"},{stateMutability:"payable",type:"receive"}]},MayanForwarderArtifact_default={abi:[{inputs:[{internalType:"address",name:"_guardian",type:"address"},{internalType:"address[]",name:"_swapProtocols",type:"address[]"},{internalType:"address[]",name:"_mayanProtocols",type:"address[]"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"UnsupportedProtocol",type:"error"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"token",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"address",name:"mayanProtocol",type:"address"},{indexed:!1,internalType:"bytes",name:"protocolData",type:"bytes"}],name:"ForwardedERC20",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"mayanProtocol",type:"address"},{indexed:!1,internalType:"bytes",name:"protocolData",type:"bytes"}],name:"ForwardedEth",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"SwapAndForwarded",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"tokenIn",type:"address"},{indexed:!1,internalType:"uint256",name:"amountIn",type:"uint256"},{indexed:!1,internalType:"address",name:"swapProtocol",type:"address"},{indexed:!1,internalType:"address",name:"middleToken",type:"address"},{indexed:!1,internalType:"uint256",name:"middleAmount",type:"uint256"},{indexed:!1,internalType:"address",name:"mayanProtocol",type:"address"},{indexed:!1,internalType:"bytes",name:"mayanData",type:"bytes"}],name:"SwapAndForwardedERC20",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"amountIn",type:"uint256"},{indexed:!1,internalType:"address",name:"swapProtocol",type:"address"},{indexed:!1,internalType:"address",name:"middleToken",type:"address"},{indexed:!1,internalType:"uint256",name:"middleAmount",type:"uint256"},{indexed:!1,internalType:"address",name:"mayanProtocol",type:"address"},{indexed:!1,internalType:"bytes",name:"mayanData",type:"bytes"}],name:"SwapAndForwardedEth",type:"event"},{inputs:[{internalType:"address",name:"newGuardian",type:"address"}],name:"changeGuardian",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"claimGuardian",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"tokenIn",type:"address"},{internalType:"uint256",name:"amountIn",type:"uint256"},{components:[{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],internalType:"struct MayanForwarder.PermitParams",name:"permitParams",type:"tuple"},{internalType:"address",name:"mayanProtocol",type:"address"},{internalType:"bytes",name:"protocolData",type:"bytes"}],name:"forwardERC20",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"mayanProtocol",type:"address"},{internalType:"bytes",name:"protocolData",type:"bytes"}],name:"forwardEth",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"guardian",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"mayanProtocols",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"nextGuardian",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"address payable",name:"to",type:"address"}],name:"rescueEth",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"address",name:"to",type:"address"}],name:"rescueToken",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"mayanProtocol",type:"address"},{internalType:"bool",name:"enabled",type:"bool"}],name:"setMayanProtocol",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"swapProtocol",type:"address"},{internalType:"bool",name:"enabled",type:"bool"}],name:"setSwapProtocol",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"tokenIn",type:"address"},{internalType:"uint256",name:"amountIn",type:"uint256"},{components:[{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],internalType:"struct MayanForwarder.PermitParams",name:"permitParams",type:"tuple"},{internalType:"address",name:"swapProtocol",type:"address"},{internalType:"bytes",name:"swapData",type:"bytes"},{internalType:"address",name:"middleToken",type:"address"},{internalType:"uint256",name:"minMiddleAmount",type:"uint256"},{internalType:"address",name:"mayanProtocol",type:"address"},{internalType:"bytes",name:"mayanData",type:"bytes"}],name:"swapAndForwardERC20",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"address",name:"swapProtocol",type:"address"},{internalType:"bytes",name:"swapData",type:"bytes"},{internalType:"address",name:"middleToken",type:"address"},{internalType:"uint256",name:"minMiddleAmount",type:"uint256"},{internalType:"address",name:"mayanProtocol",type:"address"},{internalType:"bytes",name:"mayanData",type:"bytes"}],name:"swapAndForwardEth",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"swapProtocols",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"}]},MayanCircleArtifact_default={abi:[{inputs:[{internalType:"address",name:"_cctpTokenMessenger",type:"address"},{internalType:"address",name:"_wormhole",type:"address"},{internalType:"address",name:"_feeManager",type:"address"},{internalType:"uint16",name:"_auctionChainId",type:"uint16"},{internalType:"bytes32",name:"_auctionAddr",type:"bytes32"},{internalType:"uint8",name:"_consistencyLevel",type:"uint8"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"CallerAlreadySet",type:"error"},{inputs:[],name:"CallerNotSet",type:"error"},{inputs:[],name:"CctpReceiveFailed",type:"error"},{inputs:[],name:"DeadlineViolation",type:"error"},{inputs:[],name:"DomainAlreadySet",type:"error"},{inputs:[],name:"DomainNotSet",type:"error"},{inputs:[],name:"EmitterAlreadySet",type:"error"},{inputs:[],name:"EthTransferFailed",type:"error"},{inputs:[],name:"InvalidAction",type:"error"},{inputs:[],name:"InvalidAddress",type:"error"},{inputs:[],name:"InvalidAmountOut",type:"error"},{inputs:[],name:"InvalidCaller",type:"error"},{inputs:[],name:"InvalidDestAddr",type:"error"},{inputs:[],name:"InvalidDomain",type:"error"},{inputs:[],name:"InvalidEmitter",type:"error"},{inputs:[],name:"InvalidGasDrop",type:"error"},{inputs:[],name:"InvalidMintRecipient",type:"error"},{inputs:[],name:"InvalidNonce",type:"error"},{inputs:[],name:"InvalidOrder",type:"error"},{inputs:[],name:"InvalidPayload",type:"error"},{inputs:[],name:"InvalidProtocolFee",type:"error"},{inputs:[],name:"InvalidRedeemFee",type:"error"},{inputs:[],name:"InvalidReferrerFee",type:"error"},{inputs:[],name:"MintRecipientAlreadySet",type:"error"},{inputs:[],name:"MintRecipientNotSet",type:"error"},{inputs:[],name:"Paused",type:"error"},{inputs:[],name:"Unauthorized",type:"error"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint32",name:"sourceDomain",type:"uint32"},{indexed:!1,internalType:"uint64",name:"sourceNonce",type:"uint64"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"OrderFulfilled",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint32",name:"sourceDomain",type:"uint32"},{indexed:!1,internalType:"uint64",name:"sourceNonce",type:"uint64"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"OrderRefunded",type:"event"},{inputs:[],name:"auctionAddr",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"auctionChainId",outputs:[{internalType:"uint16",name:"",type:"uint16"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"tokenIn",type:"address"},{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint64",name:"redeemFee",type:"uint64"},{internalType:"uint64",name:"gasDrop",type:"uint64"},{internalType:"bytes32",name:"destAddr",type:"bytes32"},{internalType:"uint32",name:"destDomain",type:"uint32"},{internalType:"uint8",name:"payloadType",type:"uint8"},{internalType:"bytes",name:"customPayload",type:"bytes"}],name:"bridgeWithFee",outputs:[{internalType:"uint64",name:"sequence",type:"uint64"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"tokenIn",type:"address"},{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint64",name:"gasDrop",type:"uint64"},{internalType:"uint256",name:"redeemFee",type:"uint256"},{internalType:"uint32",name:"destDomain",type:"uint32"},{internalType:"bytes32",name:"destAddr",type:"bytes32"}],name:"bridgeWithLockedFee",outputs:[{internalType:"uint64",name:"cctpNonce",type:"uint64"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"cctpTokenMessenger",outputs:[{internalType:"contract ITokenMessenger",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint16",name:"",type:"uint16"}],name:"chainIdToEmitter",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"newGuardian",type:"address"}],name:"changeGuardian",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"claimGuardian",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"consistencyLevel",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[{components:[{internalType:"address",name:"tokenIn",type:"address"},{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint64",name:"gasDrop",type:"uint64"},{internalType:"bytes32",name:"destAddr",type:"bytes32"},{internalType:"uint16",name:"destChain",type:"uint16"},{internalType:"bytes32",name:"tokenOut",type:"bytes32"},{internalType:"uint64",name:"minAmountOut",type:"uint64"},{internalType:"uint64",name:"deadline",type:"uint64"},{internalType:"uint64",name:"redeemFee",type:"uint64"},{internalType:"bytes32",name:"referrerAddr",type:"bytes32"},{internalType:"uint8",name:"referrerBps",type:"uint8"}],internalType:"struct MayanCircle.OrderParams",name:"params",type:"tuple"}],name:"createOrder",outputs:[{internalType:"uint64",name:"sequence",type:"uint64"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint32",name:"",type:"uint32"}],name:"domainToCaller",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"feeManager",outputs:[{internalType:"contract IFeeManager",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint64",name:"",type:"uint64"}],name:"feeStorage",outputs:[{internalType:"bytes32",name:"destAddr",type:"bytes32"},{internalType:"uint64",name:"gasDrop",type:"uint64"},{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"redeemFee",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"cctpMsg",type:"bytes"},{internalType:"bytes",name:"cctpSigs",type:"bytes"},{internalType:"bytes",name:"encodedVm",type:"bytes"},{components:[{internalType:"bytes32",name:"destAddr",type:"bytes32"},{internalType:"uint16",name:"destChainId",type:"uint16"},{internalType:"bytes32",name:"tokenOut",type:"bytes32"},{internalType:"uint64",name:"promisedAmount",type:"uint64"},{internalType:"uint64",name:"gasDrop",type:"uint64"},{internalType:"uint64",name:"redeemFee",type:"uint64"},{internalType:"uint64",name:"deadline",type:"uint64"},{internalType:"bytes32",name:"referrerAddr",type:"bytes32"},{internalType:"uint8",name:"referrerBps",type:"uint8"},{internalType:"uint8",name:"protocolBps",type:"uint8"},{internalType:"bytes32",name:"driver",type:"bytes32"}],internalType:"struct MayanCircle.FulfillParams",name:"params",type:"tuple"},{internalType:"address",name:"swapProtocol",type:"address"},{internalType:"bytes",name:"swapData",type:"bytes"}],name:"fulfillOrder",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint16",name:"chainId",type:"uint16"}],name:"getDomain",outputs:[{internalType:"uint32",name:"domain",type:"uint32"}],stateMutability:"view",type:"function"},{inputs:[],name:"guardian",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"isPaused",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"",type:"bytes32"}],name:"keyToMintRecipient",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"localDomain",outputs:[{internalType:"uint32",name:"",type:"uint32"}],stateMutability:"view",type:"function"},{inputs:[],name:"paused",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"cctpMsg",type:"bytes"},{internalType:"bytes",name:"cctpSigs",type:"bytes"},{internalType:"bytes",name:"encodedVm",type:"bytes"},{components:[{internalType:"uint8",name:"payloadType",type:"uint8"},{internalType:"bytes32",name:"destAddr",type:"bytes32"},{internalType:"uint64",name:"gasDrop",type:"uint64"},{internalType:"uint64",name:"redeemFee",type:"uint64"},{internalType:"uint64",name:"burnAmount",type:"uint64"},{internalType:"bytes32",name:"burnToken",type:"bytes32"},{internalType:"bytes32",name:"customPayload",type:"bytes32"}],internalType:"struct MayanCircle.BridgeWithFeeParams",name:"bridgeParams",type:"tuple"}],name:"redeemWithFee",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bytes",name:"cctpMsg",type:"bytes"},{internalType:"bytes",name:"cctpSigs",type:"bytes"},{internalType:"bytes32",name:"unlockerAddr",type:"bytes32"}],name:"redeemWithLockedFee",outputs:[{internalType:"uint64",name:"sequence",type:"uint64"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint32",name:"cctpNonce",type:"uint32"},{internalType:"uint32",name:"cctpDomain",type:"uint32"},{internalType:"bytes32",name:"destAddr",type:"bytes32"},{internalType:"bytes32",name:"unlockerAddr",type:"bytes32"}],name:"refineFee",outputs:[{internalType:"uint64",name:"sequence",type:"uint64"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bytes",name:"encodedVm",type:"bytes"},{internalType:"bytes",name:"cctpMsg",type:"bytes"},{internalType:"bytes",name:"cctpSigs",type:"bytes"},{components:[{internalType:"address",name:"tokenIn",type:"address"},{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint64",name:"gasDrop",type:"uint64"},{internalType:"bytes32",name:"destAddr",type:"bytes32"},{internalType:"uint16",name:"destChain",type:"uint16"},{internalType:"bytes32",name:"tokenOut",type:"bytes32"},{internalType:"uint64",name:"minAmountOut",type:"uint64"},{internalType:"uint64",name:"deadline",type:"uint64"},{internalType:"uint64",name:"redeemFee",type:"uint64"},{internalType:"bytes32",name:"referrerAddr",type:"bytes32"},{internalType:"uint8",name:"referrerBps",type:"uint8"}],internalType:"struct MayanCircle.OrderParams",name:"orderParams",type:"tuple"},{components:[{internalType:"bytes32",name:"trader",type:"bytes32"},{internalType:"uint16",name:"sourceChainId",type:"uint16"},{internalType:"uint8",name:"protocolBps",type:"uint8"}],internalType:"struct MayanCircle.ExtraParams",name:"extraParams",type:"tuple"}],name:"refund",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"address payable",name:"to",type:"address"}],name:"rescueEth",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"address",name:"to",type:"address"}],name:"rescueToken",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint8",name:"_consistencyLevel",type:"uint8"}],name:"setConsistencyLevel",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint16",name:"chainId",type:"uint16"},{internalType:"uint32",name:"domain",type:"uint32"}],name:"setDomain",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint32",name:"domain",type:"uint32"},{internalType:"bytes32",name:"caller",type:"bytes32"}],name:"setDomainCaller",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint16",name:"chainId",type:"uint16"},{internalType:"bytes32",name:"emitter",type:"bytes32"}],name:"setEmitter",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_feeManager",type:"address"}],name:"setFeeManager",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint32",name:"destDomain",type:"uint32"},{internalType:"address",name:"tokenIn",type:"address"},{internalType:"bytes32",name:"mintRecipient",type:"bytes32"}],name:"setMintRecipient",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bool",name:"_pause",type:"bool"}],name:"setPause",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"encodedVm",type:"bytes"},{components:[{internalType:"uint8",name:"action",type:"uint8"},{internalType:"uint8",name:"payloadType",type:"uint8"},{internalType:"uint64",name:"cctpNonce",type:"uint64"},{internalType:"uint32",name:"cctpDomain",type:"uint32"},{internalType:"bytes32",name:"unlockerAddr",type:"bytes32"},{internalType:"uint64",name:"gasDrop",type:"uint64"}],internalType:"struct MayanCircle.UnlockFeeMsg",name:"unlockMsg",type:"tuple"}],name:"unlockFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"encodedVm1",type:"bytes"},{internalType:"bytes",name:"encodedVm2",type:"bytes"},{components:[{internalType:"uint8",name:"action",type:"uint8"},{internalType:"uint8",name:"payloadType",type:"uint8"},{internalType:"uint64",name:"cctpNonce",type:"uint64"},{internalType:"uint32",name:"cctpDomain",type:"uint32"},{internalType:"bytes32",name:"unlockerAddr",type:"bytes32"},{internalType:"uint64",name:"gasDrop",type:"uint64"}],internalType:"struct MayanCircle.UnlockFeeMsg",name:"unlockMsg",type:"tuple"},{components:[{internalType:"uint8",name:"action",type:"uint8"},{internalType:"uint8",name:"payloadType",type:"uint8"},{internalType:"uint64",name:"cctpNonce",type:"uint64"},{internalType:"uint32",name:"cctpDomain",type:"uint32"},{internalType:"bytes32",name:"unlockerAddr",type:"bytes32"},{internalType:"uint64",name:"gasDrop",type:"uint64"},{internalType:"bytes32",name:"destAddr",type:"bytes32"}],internalType:"struct MayanCircle.UnlockRefinedFeeMsg",name:"refinedMsg",type:"tuple"}],name:"unlockFeeRefined",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"wormhole",outputs:[{internalType:"contract IWormhole",name:"",type:"address"}],stateMutability:"view",type:"function"},{stateMutability:"payable",type:"receive"}]},CCTP_TOKEN_DECIMALS=6;function getCCTPDomain(e){switch(e){case"ethereum":return 0;case"avalanche":return 1;case"optimism":return 2;case"arbitrum":return 3;case"solana":return 5;case"base":return 6;case"polygon":return 7;case"sui":return 8;case"unichain":return 10;case"linea":return 11;default:throw new Error("unsupported chain for cctp")}}function getCCTPBridgePDAs(e,t){const r=new unsignedTransaction.PublicKey(addresses_default.CCTP_CORE_PROGRAM_ID),n=new unsignedTransaction.PublicKey(addresses_default.CCTP_TOKEN_PROGRAM_ID),[o]=unsignedTransaction.PublicKey.findProgramAddressSync([platform.Buffer$1.from("message_transmitter")],r),[i]=unsignedTransaction.PublicKey.findProgramAddressSync([platform.Buffer$1.from("sender_authority")],n),[u]=unsignedTransaction.PublicKey.findProgramAddressSync([platform.Buffer$1.from("local_token"),e.toBytes()],n),[a]=unsignedTransaction.PublicKey.findProgramAddressSync([platform.Buffer$1.from("token_messenger")],n),[p]=unsignedTransaction.PublicKey.findProgramAddressSync([platform.Buffer$1.from("token_minter")],n),s=getCCTPDomain(t),[c]=unsignedTransaction.PublicKey.findProgramAddressSync([platform.Buffer$1.from("remote_token_messenger"),platform.Buffer$1.from(s.toString())],n),[d]=unsignedTransaction.PublicKey.findProgramAddressSync([platform.Buffer$1.from("__event_authority")],r),[y]=unsignedTransaction.PublicKey.findProgramAddressSync([platform.Buffer$1.from("__event_authority")],n);return{messageTransmitter:o,senderAuthority:i,remoteTokenMessengerKey:c,tokenMessenger:a,tokenMinter:p,eventAuthToken:y,eventAuthCore:d,localToken:u}}function getEvmMctpBridgeParams(e,t,r,n){const o=getWormholeChainIdById(Number(r)),i=getWormholeChainIdByName(e.fromChain),u=getWormholeChainIdByName(e.toChain);if(i!==o)throw new Error(`Signer chain id(${Number(r)}) and quote from chain are not same! ${i} !== ${o}`);const a=e.cheaperChain===e.fromChain,p=nativeAddressToHexString(t,u),s=getAmountOfFractionalAmount(e.redeemRelayerFee,CCTP_TOKEN_DECIMALS),c=getAmountOfFractionalAmount(e.gasDrop,Math.min(getGasDecimal(e.toChain),8)),d=BigInt(e.effectiveAmountIn64),y=getCCTPDomain(e.toChain);if(!e.mctpMayanContract)throw new Error("MCTP contract address is missing");const l=e.mctpMayanContract;if(e.toChain==="solana"&&a)throw new Error("Cannot lock fee for transfer to solana");let m=getAmountOfFractionalAmount(e.bridgeFee,getGasDecimal(e.fromChain));return a&&(m=BigInt(0)),{lockFee:a,tokenIn:e.mctpInputContract,amountIn:d,redeemFee:s,gasDrop:c,destAddr:p,destDomain:y,payloadType:MCTP_PAYLOAD_TYPE_DEFAULT,customPayload:"0x",bridgeFee:m,contractAddress:l}}function getEvmMctpBridgeTxPayload(e,t,r,n){const o=getEvmMctpBridgeParams(e,t,r),{contractAddress:i,tokenIn:u,amountIn:a,destAddr:p,lockFee:s,redeemFee:c,gasDrop:d,destDomain:y,customPayload:l,payloadType:m,bridgeFee:f}=o,T=new platform.Contract(i,MayanCircleArtifact_default.abi);let g,b;return s?g=T.interface.encodeFunctionData("bridgeWithLockedFee",[u,a,d,c,y,p]):g=T.interface.encodeFunctionData("bridgeWithFee",[u,a,c,d,p,y,m,l]),b=platform.toBeHex(f),{to:i,data:g,value:b,_params:o}}function getEvmMctpCreateOrderParams(e,t,r,n){const o=getWormholeChainIdById(Number(n)),i=getWormholeChainIdByName(e.fromChain),u=getWormholeChainIdByName(e.toChain);if(i!==o)throw new Error(`Signer chain id(${Number(n)}) and quote from chain are not same! ${i} !== ${o}`);if(!e.mctpMayanContract)throw new Error("MCTP contract address is missing");const a=e.mctpMayanContract,p=nativeAddressToHexString(t,u);let s;r?s=nativeAddressToHexString(r,u):s=nativeAddressToHexString(unsignedTransaction.SystemProgram.programId.toString(),getWormholeChainIdByName("solana"));const c=getAmountOfFractionalAmount(e.redeemRelayerFee,CCTP_TOKEN_DECIMALS),d=getAmountOfFractionalAmount(e.gasDrop,Math.min(getGasDecimal(e.toChain),8));let y=BigInt(e.effectiveAmountIn64);const l=getAmountOfFractionalAmount(e.minAmountOut,Math.min(8,e.toToken.decimals)),m=BigInt(e.deadline64),f=e.toToken.contract===platform.ZeroAddress?nativeAddressToHexString(unsignedTransaction.SystemProgram.programId.toString(),getWormholeChainIdByName("solana")):nativeAddressToHexString(e.toChain==="sui"?e.toToken.verifiedAddress:e.toToken.contract,e.toToken.wChainId);return{params:{tokenIn:e.mctpInputContract,amountIn:y,gasDrop:d,destAddr:p,destChain:u,tokenOut:f,minAmountOut:l,deadline:m,redeemFee:c,referrerAddr:s,referrerBps:e.referrerBps||0},bridgeFee:getAmountOfFractionalAmount(e.bridgeFee,getGasDecimal(e.fromChain)),contractAddress:a}}function getEvmMctpCreateOrderTxPayload(e,t,r,n){const o=getEvmMctpCreateOrderParams(e,t,r,n),{contractAddress:i,params:u,bridgeFee:a}=o,s=new platform.Contract(i,MayanCircleArtifact_default.abi).interface.encodeFunctionData("createOrder",[u]),c=platform.toBeHex(a);return{to:i,data:s,value:c,_params:o}}function getMctpFromEvmTxPayload(e,t,r,n,o,i){if(e.type!=="MCTP")throw new Error("Quote type is not MCTP");if(!Number.isFinite(Number(n)))throw new Error("Invalid signer chain id");n=Number(n);const u=o||ZeroPermit,a=new platform.Contract(addresses_default.MAYAN_FORWARDER_CONTRACT,MayanForwarderArtifact_default.abi),p=getAmountOfFractionalAmount(e.bridgeFee,getGasDecimal(e.fromChain));let s=platform.toBeHex(p);if(e.fromToken.contract===e.mctpInputContract)if(e.hasAuction){if(!Number(e.deadline64))throw new Error("MCTP order requires timeout");const c=getEvmMctpCreateOrderTxPayload(e,t,r,n),d="forwardERC20",y=[e.fromToken.contract,c._params.params.amountIn,u,c._params.contractAddress,c.data];return{data:a.interface.encodeFunctionData(d,y),to:addresses_default.MAYAN_FORWARDER_CONTRACT,value:platform.toBeHex(s),chainId:n,_forwarder:{method:d,params:y}}}else{const c=getEvmMctpBridgeTxPayload(e,t,n),d="forwardERC20",y=[e.fromToken.contract,c._params.amountIn,u,c._params.contractAddress,c.data];return{data:a.interface.encodeFunctionData(d,y),to:addresses_default.MAYAN_FORWARDER_CONTRACT,value:platform.toBeHex(s),chainId:n,_forwarder:{method:d,params:y}}}else{const{minMiddleAmount:c,evmSwapRouterAddress:d,evmSwapRouterCalldata:y}=e;if(!c||!d||!y)throw new Error("MCTP swap requires middle amount, router address and calldata");if(e.hasAuction){if(!Number(e.deadline64))throw new Error("MCTP order requires timeout");const l=getEvmMctpCreateOrderTxPayload(e,t,r,n),m=getAmountOfFractionalAmount(e.minMiddleAmount,CCTP_TOKEN_DECIMALS);if(e.fromToken.contract===platform.ZeroAddress){let f=l._params.params.amountIn;if(f<=p)throw new Error("Amount in is less than bridge fee");p!==BigInt(0)&&(f-=p),s=platform.toBeHex(l._params.params.amountIn);const T="swapAndForwardEth",g=[f,d,y,e.mctpInputContract,m,l._params.contractAddress,l.data];return{data:a.interface.encodeFunctionData(T,g),to:addresses_default.MAYAN_FORWARDER_CONTRACT,value:platform.toBeHex(s),chainId:n,_forwarder:{method:T,params:g}}}else{const f="swapAndForwardERC20",T=[e.fromToken.contract,l._params.params.amountIn,u,d,y,e.mctpInputContract,m,l._params.contractAddress,l.data];return{data:a.interface.encodeFunctionData(f,T),to:addresses_default.MAYAN_FORWARDER_CONTRACT,value:platform.toBeHex(s),chainId:n,_forwarder:{method:f,params:T}}}}else{const l=getEvmMctpBridgeTxPayload(e,t,n),m=getAmountOfFractionalAmount(e.minMiddleAmount,CCTP_TOKEN_DECIMALS);if(e.fromToken.contract===platform.ZeroAddress){let f=l._params.amountIn;if(f<=p)throw new Error("Amount in is less than bridge fee");p!==BigInt(0)&&(f-=p),s=platform.toBeHex(l._params.amountIn);const T="swapAndForwardEth",g=[f,d,y,e.mctpInputContract,m,l._params.contractAddress,l.data];return{data:a.interface.encodeFunctionData(T,g),to:addresses_default.MAYAN_FORWARDER_CONTRACT,value:platform.toBeHex(s),chainId:n,_forwarder:{method:T,params:g}}}else{const f="swapAndForwardERC20",T=[e.fromToken.contract,l._params.amountIn,u,d,y,e.mctpInputContract,m,l._params.contractAddress,l.data];return{data:a.interface.encodeFunctionData(f,T),to:addresses_default.MAYAN_FORWARDER_CONTRACT,value:platform.toBeHex(s),chainId:n,_forwarder:{method:f,params:T}}}}}}var MayanSwiftArtifact_default={abi:[{inputs:[{internalType:"address",name:"_wormhole",type:"address"},{internalType:"address",name:"_feeManager",type:"address"},{internalType:"uint16",name:"_auctionChainId",type:"uint16"},{internalType:"bytes32",name:"_auctionAddr",type:"bytes32"},{internalType:"bytes32",name:"_solanaEmitter",type:"bytes32"},{internalType:"uint8",name:"_consistencyLevel",type:"uint8"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"DeadlineViolation",type:"error"},{inputs:[],name:"DuplicateOrder",type:"error"},{inputs:[],name:"FeesTooHigh",type:"error"},{inputs:[],name:"InvalidAction",type:"error"},{inputs:[],name:"InvalidAmount",type:"error"},{inputs:[],name:"InvalidAuctionMode",type:"error"},{inputs:[],name:"InvalidBpsFee",type:"error"},{inputs:[],name:"InvalidContractSignature",type:"error"},{inputs:[],name:"InvalidDestChain",type:"error"},{inputs:[],name:"InvalidEmitterAddress",type:"error"},{inputs:[],name:"InvalidEmitterChain",type:"error"},{inputs:[],name:"InvalidEvmAddr",type:"error"},{inputs:[],name:"InvalidGasDrop",type:"error"},{inputs:[],name:"InvalidOrderHash",type:"error"},{inputs:[],name:"InvalidOrderStatus",type:"error"},{inputs:[],name:"InvalidSignature",type:"error"},{inputs:[],name:"InvalidSignatureLength",type:"error"},{inputs:[],name:"InvalidSigner",type:"error"},{inputs:[],name:"InvalidSrcChain",type:"error"},{inputs:[],name:"InvalidWormholeFee",type:"error"},{inputs:[],name:"OrderNotExists",type:"error"},{inputs:[],name:"Paused",type:"error"},{inputs:[],name:"SmallAmountIn",type:"error"},{inputs:[],name:"Unauthorized",type:"error"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"key",type:"bytes32"},{indexed:!1,internalType:"uint64",name:"sequence",type:"uint64"}],name:"OrderCanceled",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"key",type:"bytes32"}],name:"OrderCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"key",type:"bytes32"},{indexed:!1,internalType:"uint64",name:"sequence",type:"uint64"},{indexed:!1,internalType:"uint256",name:"netAmount",type:"uint256"}],name:"OrderFulfilled",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"key",type:"bytes32"},{indexed:!1,internalType:"uint256",name:"netAmount",type:"uint256"}],name:"OrderRefunded",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"key",type:"bytes32"}],name:"OrderUnlocked",type:"event"},{inputs:[],name:"auctionAddr",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"auctionChainId",outputs:[{internalType:"uint16",name:"",type:"uint16"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"tokenIn",type:"bytes32"},{components:[{internalType:"bytes32",name:"trader",type:"bytes32"},{internalType:"bytes32",name:"tokenOut",type:"bytes32"},{internalType:"uint64",name:"minAmountOut",type:"uint64"},{internalType:"uint64",name:"gasDrop",type:"uint64"},{internalType:"uint64",name:"cancelFee",type:"uint64"},{internalType:"uint64",name:"refundFee",type:"uint64"},{internalType:"uint64",name:"deadline",type:"uint64"},{internalType:"bytes32",name:"destAddr",type:"bytes32"},{internalType:"uint16",name:"destChainId",type:"uint16"},{internalType:"bytes32",name:"referrerAddr",type:"bytes32"},{internalType:"uint8",name:"referrerBps",type:"uint8"},{internalType:"uint8",name:"auctionMode",type:"uint8"},{internalType:"bytes32",name:"random",type:"bytes32"}],internalType:"struct MayanSwift.OrderParams",name:"params",type:"tuple"},{internalType:"uint16",name:"srcChainId",type:"uint16"},{internalType:"uint8",name:"protocolBps",type:"uint8"},{internalType:"bytes32",name:"canceler",type:"bytes32"}],name:"cancelOrder",outputs:[{internalType:"uint64",name:"sequence",type:"uint64"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"newGuardian",type:"address"}],name:"changeGuardian",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"claimGuardian",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"consistencyLevel",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[{components:[{internalType:"bytes32",name:"trader",type:"bytes32"},{internalType:"bytes32",name:"tokenOut",type:"bytes32"},{internalType:"uint64",name:"minAmountOut",type:"uint64"},{internalType:"uint64",name:"gasDrop",type:"uint64"},{internalType:"uint64",name:"cancelFee",type:"uint64"},{internalType:"uint64",name:"refundFee",type:"uint64"},{internalType:"uint64",name:"deadline",type:"uint64"},{internalType:"bytes32",name:"destAddr",type:"bytes32"},{internalType:"uint16",name:"destChainId",type:"uint16"},{internalType:"bytes32",name:"referrerAddr",type:"bytes32"},{internalType:"uint8",name:"referrerBps",type:"uint8"},{internalType:"uint8",name:"auctionMode",type:"uint8"},{internalType:"bytes32",name:"random",type:"bytes32"}],internalType:"struct MayanSwift.OrderParams",name:"params",type:"tuple"}],name:"createOrderWithEth",outputs:[{internalType:"bytes32",name:"orderHash",type:"bytes32"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"tokenIn",type:"address"},{internalType:"uint256",name:"amountIn",type:"uint256"},{components:[{internalType:"bytes32",name:"trader",type:"bytes32"},{internalType:"bytes32",name:"tokenOut",type:"bytes32"},{internalType:"uint64",name:"minAmountOut",type:"uint64"},{internalType:"uint64",name:"gasDrop",type:"uint64"},{internalType:"uint64",name:"cancelFee",type:"uint64"},{internalType:"uint64",name:"refundFee",type:"uint64"},{internalType:"uint64",name:"deadline",type:"uint64"},{internalType:"bytes32",name:"destAddr",type:"bytes32"},{internalType:"uint16",name:"destChainId",type:"uint16"},{internalType:"bytes32",name:"referrerAddr",type:"bytes32"},{internalType:"uint8",name:"referrerBps",type:"uint8"},{internalType:"uint8",name:"auctionMode",type:"uint8"},{internalType:"bytes32",name:"random",type:"bytes32"}],internalType:"struct MayanSwift.OrderParams",name:"params",type:"tuple"},{internalType:"bytes",name:"signedOrderHash",type:"bytes"}],name:"createOrderWithSig",outputs:[{internalType:"bytes32",name:"orderHash",type:"bytes32"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"tokenIn",type:"address"},{internalType:"uint256",name:"amountIn",type:"uint256"},{components:[{internalType:"bytes32",name:"trader",type:"bytes32"},{internalType:"bytes32",name:"tokenOut",type:"bytes32"},{internalType:"uint64",name:"minAmountOut",type:"uint64"},{internalType:"uint64",name:"gasDrop",type:"uint64"},{internalType:"uint64",name:"cancelFee",type:"uint64"},{internalType:"uint64",name:"refundFee",type:"uint64"},{internalType:"uint64",name:"deadline",type:"uint64"},{internalType:"bytes32",name:"destAddr",type:"bytes32"},{internalType:"uint16",name:"destChainId",type:"uint16"},{internalType:"bytes32",name:"referrerAddr",type:"bytes32"},{internalType:"uint8",name:"referrerBps",type:"uint8"},{internalType:"uint8",name:"auctionMode",type:"uint8"},{internalType:"bytes32",name:"random",type:"bytes32"}],internalType:"struct MayanSwift.OrderParams",name:"params",type:"tuple"}],name:"createOrderWithToken",outputs:[{internalType:"bytes32",name:"orderHash",type:"bytes32"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"feeManager",outputs:[{internalType:"contract IFeeManager",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"fulfillAmount",type:"uint256"},{internalType:"bytes",name:"encodedVm",type:"bytes"},{internalType:"bytes32",name:"recepient",type:"bytes32"},{internalType:"bool",name:"batch",type:"bool"}],name:"fulfillOrder",outputs:[{internalType:"uint64",name:"sequence",type:"uint64"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"fulfillAmount",type:"uint256"},{internalType:"bytes32",name:"orderHash",type:"bytes32"},{internalType:"uint16",name:"srcChainId",type:"uint16"},{internalType:"bytes32",name:"tokenIn",type:"bytes32"},{internalType:"uint8",name:"protocolBps",type:"uint8"},{components:[{internalType:"bytes32",name:"trader",type:"bytes32"},{internalType:"bytes32",name:"tokenOut",type:"bytes32"},{internalType:"uint64",name:"minAmountOut",type:"uint64"},{internalType:"uint64",name:"gasDrop",type:"uint64"},{internalType:"uint64",name:"cancelFee",type:"uint64"},{internalType:"uint64",name:"refundFee",type:"uint64"},{internalType:"uint64",name:"deadline",type:"uint64"},{internalType:"bytes32",name:"destAddr",type:"bytes32"},{internalType:"uint16",name:"destChainId",type:"uint16"},{internalType:"bytes32",name:"referrerAddr",type:"bytes32"},{internalType:"uint8",name:"referrerBps",type:"uint8"},{internalType:"uint8",name:"auctionMode",type:"uint8"},{internalType:"bytes32",name:"random",type:"bytes32"}],internalType:"struct MayanSwift.OrderParams",name:"params",type:"tuple"},{internalType:"bytes32",name:"recepient",type:"bytes32"},{internalType:"bool",name:"batch",type:"bool"}],name:"fulfillSimple",outputs:[{internalType:"uint64",name:"sequence",type:"uint64"}],stateMutability:"payable",type:"function"},{inputs:[],name:"guardian",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"nextGuardian",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"",type:"bytes32"}],name:"orders",outputs:[{internalType:"enum MayanSwift.Status",name:"status",type:"uint8"},{internalType:"uint64",name:"amountIn",type:"uint64"},{internalType:"uint16",name:"destChainId",type:"uint16"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"encoded",type:"bytes"}],name:"parseFulfillPayload",outputs:[{components:[{internalType:"uint8",name:"action",type:"uint8"},{internalType:"bytes32",name:"orderHash",type:"bytes32"},{internalType:"uint16",name:"destChainId",type:"uint16"},{internalType:"bytes32",name:"destAddr",type:"bytes32"},{internalType:"bytes32",name:"driver",type:"bytes32"},{internalType:"bytes32",name:"tokenOut",type:"bytes32"},{internalType:"uint64",name:"promisedAmount",type:"uint64"},{internalType:"uint64",name:"gasDrop",type:"uint64"},{internalType:"uint64",name:"deadline",type:"uint64"},{internalType:"bytes32",name:"referrerAddr",type:"bytes32"},{internalType:"uint8",name:"referrerBps",type:"uint8"},{internalType:"uint8",name:"protocolBps",type:"uint8"},{internalType:"uint16",name:"srcChainId",type:"uint16"},{internalType:"bytes32",name:"tokenIn",type:"bytes32"}],internalType:"struct MayanSwift.FulfillMsg",name:"fulfillMsg",type:"tuple"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"bytes",name:"encoded",type:"bytes"}],name:"parseRefundPayload",outputs:[{components:[{internalType:"uint8",name:"action",type:"uint8"},{internalType:"bytes32",name:"orderHash",type:"bytes32"},{internalType:"uint16",name:"srcChainId",type:"uint16"},{internalType:"bytes32",name:"tokenIn",type:"bytes32"},{internalType:"bytes32",name:"recipient",type:"bytes32"},{internalType:"bytes32",name:"canceler",type:"bytes32"},{internalType:"uint64",name:"cancelFee",type:"uint64"},{internalType:"uint64",name:"refundFee",type:"uint64"}],internalType:"struct MayanSwift.RefundMsg",name:"refundMsg",type:"tuple"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"bytes",name:"encoded",type:"bytes"}],name:"parseUnlockPayload",outputs:[{components:[{internalType:"uint8",name:"action",type:"uint8"},{internalType:"bytes32",name:"orderHash",type:"bytes32"},{internalType:"uint16",name:"srcChainId",type:"uint16"},{internalType:"bytes32",name:"tokenIn",type:"bytes32"},{internalType:"bytes32",name:"recipient",type:"bytes32"}],internalType:"struct MayanSwift.UnlockMsg",name:"unlockMsg",type:"tuple"}],stateMutability:"pure",type:"function"},{inputs:[],name:"paused",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32[]",name:"orderHashes",type:"bytes32[]"}],name:"postBatch",outputs:[{internalType:"uint64",name:"sequence",type:"uint64"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bytes",name:"encodedVm",type:"bytes"}],name:"refundOrder",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint8",name:"_consistencyLevel",type:"uint8"}],name:"setConsistencyLevel",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_feeManager",type:"address"}],name:"setFeeManager",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bool",name:"_pause",type:"bool"}],name:"setPause",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"solanaEmitter",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"encodedVm",type:"bytes"}],name:"unlockBatch",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"",type:"bytes32"}],name:"unlockMsgs",outputs:[{internalType:"uint8",name:"action",type:"uint8"},{internalType:"bytes32",name:"orderHash",type:"bytes32"},{internalType:"uint16",name:"srcChainId",type:"uint16"},{internalType:"bytes32",name:"tokenIn",type:"bytes32"},{internalType:"bytes32",name:"recipient",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"encodedVm",type:"bytes"}],name:"unlockSingle",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"wormhole",outputs:[{internalType:"contract IWormhole",name:"",type:"address"}],stateMutability:"view",type:"function"},{stateMutability:"payable",type:"receive"}]};function createAssociatedTokenAccountInstruction(e,t,r,n,o=new unsignedTransaction.PublicKey(addresses_default.TOKEN_PROGRAM_ID),i=new unsignedTransaction.PublicKey(addresses_default.ASSOCIATED_TOKEN_PROGRAM_ID)){const u=[{pubkey:e,isSigner:!0,isWritable:!0},{pubkey:t,isSigner:!1,isWritable:!0},{pubkey:r,isSigner:!1,isWritable:!1},{pubkey:n,isSigner:!1,isWritable:!1},{pubkey:unsignedTransaction.SystemProgram.programId,isSigner:!1,isWritable:!1},{pubkey:o,isSigner:!1,isWritable:!1},{pubkey:unsignedTransaction.SYSVAR_RENT_PUBKEY,isSigner:!1,isWritable:!1}];return new unsignedTransaction.TransactionInstruction({keys:u,programId:i,data:platform.Buffer$1.alloc(0)})}var TOKEN_ACCOUNT_LEN=165;async function createInitializeRandomTokenAccountInstructions(e,t,r,n,o,i=new unsignedTransaction.PublicKey(addresses_default.TOKEN_PROGRAM_ID)){const u=[],a=await e.getMinimumBalanceForRentExemption(TOKEN_ACCOUNT_LEN);return u.push(unsignedTransaction.SystemProgram.createAccount({fromPubkey:t,newAccountPubkey:o.publicKey,lamports:a,space:TOKEN_ACCOUNT_LEN,programId:i})),u.push(new unsignedTransaction.TransactionInstruction({keys:[{pubkey:o.publicKey,isWritable:!0,isSigner:!1},{pubkey:r,isWritable:!1,isSigner:!1},{pubkey:n,isWritable:!1,isSigner:!1},{pubkey:unsignedTransaction.SYSVAR_RENT_PUBKEY,isWritable:!1,isSigner:!1}],programId:i,data:platform.Buffer$1.from([1])})),u}var ApproveInstructionData=unsignedTransaction.LayoutExports.struct([unsignedTransaction.LayoutExports.u8("instruction"),unsignedTransaction.LayoutExports.blob(8,"amount")]);function createApproveInstruction(e,t,r,n,o=new unsignedTransaction.PublicKey(addresses_default.TOKEN_PROGRAM_ID)){const i=[{pubkey:e,isSigner:!1,isWritable:!0},{pubkey:t,isSigner:!1,isWritable:!1},{pubkey:r,isSigner:!0,isWritable:!1}],u=platform.Buffer$1.alloc(ApproveInstructionData.span);return ApproveInstructionData.encode({instruction:4,amount:getSafeU64Blob(n)},u),new unsignedTransaction.TransactionInstruction({keys:i,programId:o,data:u})}var SyncNativeInstructionData=unsignedTransaction.LayoutExports.struct([unsignedTransaction.LayoutExports.u8("instruction")]);function createSyncNativeInstruction(e){const t=[{pubkey:e,isSigner:!1,isWritable:!0}],r=platform.Buffer$1.alloc(SyncNativeInstructionData.span);return SyncNativeInstructionData.encode({instruction:17},r),new unsignedTransaction.TransactionInstruction({keys:t,programId:new unsignedTransaction.PublicKey(addresses_default.TOKEN_PROGRAM_ID),data:r})}unsignedTransaction.LayoutExports.struct([unsignedTransaction.LayoutExports.u8("instruction")]);var SplTransferInstructionData=unsignedTransaction.LayoutExports.struct([unsignedTransaction.LayoutExports.u8("instruction"),unsignedTransaction.LayoutExports.blob(8,"amount")]);function createSplTransferInstruction(e,t,r,n,o=new unsignedTransaction.PublicKey(addresses_default.TOKEN_PROGRAM_ID)){const i=[{pubkey:e,isSigner:!1,isWritable:!0},{pubkey:t,isSigner:!1,isWritable:!0},{pubkey:r,isSigner:!0,isWritable:!1}],u=platform.Buffer$1.alloc(SplTransferInstructionData.span);return SplTransferInstructionData.encode({instruction:3,amount:getSafeU64Blob(n)},u),new unsignedTransaction.TransactionInstruction({keys:i,programId:o,data:u})}var solMint=new unsignedTransaction.PublicKey("So11111111111111111111111111111111111111112");function deserializeInstructionInfo(e){return new unsignedTransaction.TransactionInstruction({programId:new unsignedTransaction.PublicKey(e.programId),keys:e.accounts.map(t=>({pubkey:new unsignedTransaction.PublicKey(t.pubkey),isSigner:t.isSigner,isWritable:t.isWritable})),data:platform.Buffer$1.from(e.data,"base64")})}async function getAddressLookupTableAccounts(e,t){return(await t.getMultipleAccountsInfo(e.map(n=>new unsignedTransaction.PublicKey(n)))).reduce((n,o,i)=>{const u=e[i];if(o){const a=new unsignedTransaction.AddressLookupTableAccount({key:new unsignedTransaction.PublicKey(u),state:unsignedTransaction.AddressLookupTableAccount.deserialize(o.data)});n.push(a)}return n},new Array)}function decentralizeClientSwapInstructions(e,t){const r=deserializeInstructionInfo(e.swapInstruction),n=e.cleanupInstruction?deserializeInstructionInfo(e.cleanupInstruction):null,o=e.computeBudgetInstructions?e.computeBudgetInstructions.map(deserializeInstructionInfo):[],i=e.setupInstructions?e.setupInstructions.map(deserializeInstructionInfo):[];return{swapInstruction:r,cleanupInstruction:n,computeBudgetInstructions:o,setupInstructions:i,addressLookupTableAddresses:e.addressLookupTableAddresses}}function getAnchorInstructionData(e){let t=`global:${e}`;return platform.Buffer$1.from(sha256Exports.sha256.digest(t)).subarray(0,8)}async function decideRelayer(){let e;try{const t=await getSuggestedRelayer();e=new unsignedTransaction.PublicKey(t)}catch{console.log("Relayer not found, using system program"),e=unsignedTransaction.SystemProgram.programId}return e}function validateJupCleanupInstruction(e){if(e){if(!e.programId.equals(new unsignedTransaction.PublicKey(addresses_default.TOKEN_PROGRAM_ID))&&!e.programId.equals(new unsignedTransaction.PublicKey(addresses_default.TOKEN_2022_PROGRAM_ID)))throw new Error("Invalid cleanup instruction:: programId");if(Uint8Array.from(e.data).length!==1)throw new Error("Invalid cleanup instruction:: data");if(Uint8Array.from(e.data)[0]!==9)throw new Error("Invalid cleanup instruction:: data")}}function validateJupSetupInstructions(e,t){if(!(e.length<1)){if(e.length>6)throw new Error("Invalid setup instruction:: too many instructions");e.forEach(r=>{if(!r.programId.equals(new unsignedTransaction.PublicKey(addresses_default.ASSOCIATED_TOKEN_PROGRAM_ID))&&!r.programId.equals(unsignedTransaction.SystemProgram.programId)&&!r.programId.equals(new unsignedTransaction.PublicKey(addresses_default.TOKEN_PROGRAM_ID))&&!r.programId.equals(new unsignedTransaction.PublicKey(addresses_default.TOKEN_2022_PROGRAM_ID)))throw new Error("Invalid setup instruction:: programId");if(r.programId.equals(new unsignedTransaction.PublicKey(addresses_default.ASSOCIATED_TOKEN_PROGRAM_ID))){if(Uint8Array.from(r.data).length===1){if(Uint8Array.from(r.data)[0]!==1)throw new Error("Invalid setup instruction:: data")}else if(Uint8Array.from(r.data).length!==0)throw new Error("Invalid setup instruction:: data")}else if(r.programId.equals(unsignedTransaction.SystemProgram.programId)){if(!t)throw new Error("Invalid setup instruction:: unknown transfer");const n=getAssociatedTokenAddress(solMint,t,!0);if(r.data.readUint32LE()!==2)throw new Error("Invalid setup instruction:: invalid system program instruction");if(!r.keys[1].pubkey.equals(n))throw new Error("Invalid setup instruction:: invalid wrap transfer dest")}else if(r.data.toString("base64")!=="EQ==")throw new Error("Invalid setup instruction:: invalid token program instruction")})}}function validateJupSwapInstruction(e,t){if(!e.programId.equals(new unsignedTransaction.PublicKey("JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4")))throw new Error("Invalid swap instruction:: programId");if(e.data.subarray(0,8).toString("hex")===getAnchorInstructionData("shared_accounts_route").toString("hex")){if(!e.keys[6].pubkey.equals(t))throw new Error("Invalid swap instruction shared_accounts_route:: dest account")}else if(e.data.subarray(0,8).toString("hex")===getAnchorInstructionData("route").toString("hex")){if(!e.keys[4].pubkey.equals(t))throw new Error("Invalid swap instruction route:: dest account")}else throw new Error("Invalid swap instruction:: ix id")}function validateJupComputeBudgetInstructions(e){e.forEach(t=>{if(!t.programId.equals(unsignedTransaction.ComputeBudgetProgram.programId))throw new Error("Invalid compute budget instruction:: programId");if(Uint8Array.from(t.data)[0]===3&&t.data.readBigUInt64LE(1)>100000000n)throw new Error("Invalid compute budget instruction:: to high tx fee")})}function validateJupSwap(e,t,r){validateJupComputeBudgetInstructions(e.computeBudgetInstructions),validateJupSetupInstructions(e.setupInstructions,r),validateJupSwapInstruction(e.swapInstruction,t),validateJupCleanupInstruction(e.cleanupInstruction)}function createTransferAllAndCloseInstruction(e,t,r,n,o,i=new unsignedTransaction.PublicKey("TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA")){return new unsignedTransaction.TransactionInstruction({keys:[{pubkey:e,isSigner:!0,isWritable:!1},{pubkey:r,isSigner:!1,isWritable:!0},{pubkey:n,isSigner:!1,isWritable:!0},{pubkey:t,isSigner:!1,isWritable:!1},{pubkey:o,isSigner:!1,isWritable:!0},{pubkey:i,isSigner:!1,isWritable:!1}],programId:new unsignedTransaction.PublicKey("B96dV3Luxzo6SokJx3xt8i5y8Mb7HRR6Eec8hCjJDT69"),data:getAnchorInstructionData("transfer_all_and_close")})}function getWormholePDAs(e){const t=new unsignedTransaction.PublicKey(addresses_default.WORMHOLE_PROGRAM_ID),r=new unsignedTransaction.PublicKey(e),[n]=unsignedTransaction.PublicKey.findProgramAddressSync([platform.Buffer$1.from("Bridge")],t),[o]=unsignedTransaction.PublicKey.findProgramAddressSync([platform.Buffer$1.from("emitter")],r),[i]=unsignedTransaction.PublicKey.findProgramAddressSync([platform.Buffer$1.from("Sequence"),o.toBuffer()],t),[u]=unsignedTransaction.PublicKey.findProgramAddressSync([platform.Buffer$1.from("fee_collector")],t);return{bridgeConfig:n,sequenceKey:i,feeCollector:u,emitter:o}}var MCTPBridgeWithFeeLayout=unsignedTransaction.LayoutExports.struct([unsignedTransaction.LayoutExports.blob(8,"instruction")]);function createMctpBridgeWithFeeInstruction(e,t,r,n,o){const i=new unsignedTransaction.PublicKey(addresses_default.WORMHOLE_PROGRAM_ID),u=new unsignedTransaction.PublicKey(addresses_default.TOKEN_PROGRAM_ID),a=new unsignedTransaction.PublicKey(addresses_default.CCTP_CORE_PROGRAM_ID),p=new unsignedTransaction.PublicKey(addresses_default.CCTP_TOKEN_PROGRAM_ID),s=new unsignedTransaction.PublicKey(addresses_default.MCTP_PROGRAM_ID),c=new unsignedTransaction.PublicKey(n),d=new unsignedTransaction.PublicKey(r),y=getAssociatedTokenAddress(d,e,!0);let l;o&&o>BigInt(0)?l=getAssociatedTokenAddress(d,c,!1):l=new unsignedTransaction.PublicKey(addresses_default.MCTP_PROGRAM_ID);const m=getCCTPBridgePDAs(d,t),f=getWormholePDAs(addresses_default.MCTP_PROGRAM_ID),T=unsignedTransaction.Keypair.generate(),g=unsignedTransaction.Keypair.generate(),b=[{pubkey:e,isWritable:!0,isSigner:!1},{pubkey:y,isWritable:!0,isSigner:!1},{pubkey:c,isWritable:!0,isSigner:!0},{pubkey:l,isWritable:!0,isSigner:!1},{pubkey:d,isWritable:!0,isSigner:!1},{pubkey:m.senderAuthority,isWritable:!1,isSigner:!1},{pubkey:m.tokenMessenger,isWritable:!1,isSigner:!1},{pubkey:m.remoteTokenMessengerKey,isWritable:!1,isSigner:!1},{pubkey:m.tokenMinter,isWritable:!1,isSigner:!1},{pubkey:m.localToken,isWritable:!0,isSigner:!1},{pubkey:m.eventAuthToken,isWritable:!1,isSigner:!1},{pubkey:m.messageTransmitter,isWritable:!0,isSigner:!1},{pubkey:T.publicKey,isWritable:!0,isSigner:!0},{pubkey:p,isWritable:!1,isSigner:!1},{pubkey:a,isWritable:!1,isSigner:!1},{pubkey:f.emitter,isWritable:!1,isSigner:!1},{pubkey:f.bridgeConfig,isWritable:!0,isSigner:!1},{pubkey:f.sequenceKey,isWritable:!0,isSigner:!1},{pubkey:f.feeCollector,isWritable:!0,isSigner:!1},{pubkey:g.publicKey,isWritable:!0,isSigner:!0},{pubkey:i,isWritable:!1,isSigner:!1},{pubkey:unsignedTransaction.SYSVAR_CLOCK_PUBKEY,isWritable:!1,isSigner:!1},{pubkey:unsignedTransaction.SYSVAR_RENT_PUBKEY,isWritable:!1,isSigner:!1},{pubkey:u,isWritable:!1,isSigner:!1},{pubkey:unsignedTransaction.SystemProgram.programId,isWritable:!1,isSigner:!1}],h=platform.Buffer$1.alloc(MCTPBridgeWithFeeLayout.span);return MCTPBridgeWithFeeLayout.encode({instruction:getAnchorInstructionData("bridge_with_fee")},h),{instruction:new unsignedTransaction.TransactionInstruction({keys:b,data:h,programId:s}),signers:[T,g]}}var MctpBridgeLockFeeLayout=unsignedTransaction.LayoutExports.struct([unsignedTransaction.LayoutExports.blob(8,"instruction")]);function createMctpBridgeLockFeeInstruction(e,t,r,n,o){const i=[],u=new unsignedTransaction.PublicKey(addresses_default.TOKEN_PROGRAM_ID),a=new unsignedTransaction.PublicKey(addresses_default.ASSOCIATED_TOKEN_PROGRAM_ID),p=new unsignedTransaction.PublicKey(addresses_default.CCTP_CORE_PROGRAM_ID),s=new unsignedTransaction.PublicKey(addresses_default.CCTP_TOKEN_PROGRAM_ID),c=new unsignedTransaction.PublicKey(addresses_default.MCTP_PROGRAM_ID),d=new unsignedTransaction.PublicKey(n),y=new unsignedTransaction.PublicKey(r),l=getAssociatedTokenAddress(y,e,!0),m=getCCTPBridgePDAs(y,t),f=unsignedTransaction.Keypair.generate(),[T]=unsignedTransaction.PublicKey.findProgramAddressSync([platform.Buffer$1.from("LOCKED_FEE"),y.toBuffer(),f.publicKey.toBytes()],c);let g;o&&o>BigInt(0)?g=getAssociatedTokenAddress(y,d,!1):g=new unsignedTransaction.PublicKey(addresses_default.MCTP_PROGRAM_ID);const b=getAssociatedTokenAddress(y,T,!0);i.push(createAssociatedTokenAccountInstruction(d,b,T,y));const h=[{pubkey:e,isWritable:!0,isSigner:!1},{pubkey:l,isWritable:!0,isSigner:!1},{pubkey:d,isWritable:!0,isSigner:!0},{pubkey:g,isWritable:!0,isSigner:!1},{pubkey:T,isWritable:!0,isSigner:!1},{pubkey:b,isWritable:!0,isSigner:!1},{pubkey:y,isWritable:!0,isSigner:!1},{pubkey:m.senderAuthority,isWritable:!1,isSigner:!1},{pubkey:m.tokenMessenger,isWritable:!1,isSigner:!1},{pubkey:m.remoteTokenMessengerKey,isWritable:!1,isSigner:!1},{pubkey:m.tokenMinter,isWritable:!1,isSigner:!1},{pubkey:m.localToken,isWritable:!0,isSigner:!1},{pubkey:m.eventAuthToken,isWritable:!1,isSigner:!1},{pubkey:m.messageTransmitter,isWritable:!0,isSigner:!1},{pubkey:f.publicKey,isWritable:!0,isSigner:!0},{pubkey:s,isWritable:!1,isSigner:!1},{pubkey:p,isWritable:!1,isSigner:!1},{pubkey:u,isWritable:!1,isSigner:!1},{pubkey:a,isWritable:!1,isSigner:!1},{pubkey:unsignedTransaction.SystemProgram.programId,isWritable:!1,isSigner:!1}],A=platform.Buffer$1.alloc(MctpBridgeLockFeeLayout.span);MctpBridgeLockFeeLayout.encode({instruction:getAnchorInstructionData("bridge_locked_fee")},A);const I=new unsignedTransaction.TransactionInstruction({keys:h,data:A,programId:c});return i.push(I),{instructions:i,signer:f}}var MctpInitSwapLayout=unsignedTransaction.LayoutExports.struct([unsignedTransaction.LayoutExports.blob(8,"instruction")]);function createMctpInitSwapInstruction(e,t,r,n,o){const i=new unsignedTransaction.PublicKey(addresses_default.TOKEN_PROGRAM_ID),u=new unsignedTransaction.PublicKey(addresses_default.CCTP_CORE_PROGRAM_ID),a=new unsignedTransaction.PublicKey(addresses_default.CCTP_TOKEN_PROGRAM_ID),p=new unsignedTransaction.PublicKey(addresses_default.MCTP_PROGRAM_ID),s=new unsignedTransaction.PublicKey(n),c=new unsignedTransaction.PublicKey(r),d=getAssociatedTokenAddress(c,e,!0),y=getCCTPBridgePDAs(c,t),l=unsignedTransaction.Keypair.generate(),[m]=unsignedTransaction.PublicKey.findProgramAddressSync([platform.Buffer$1.from("ORDER_SOLANA_SOURCE"),e.toBuffer()],p);let f;o&&o>BigInt(0)?f=getAssociatedTokenAddress(c,s,!1):f=new unsignedTransaction.PublicKey(addresses_default.MCTP_PROGRAM_ID);const T=[{pubkey:e,isWritable:!1,isSigner:!1},{pubkey:d,isWritable:!0,isSigner:!1},{pubkey:s,isWritable:!0,isSigner:!0},{pubkey:f,isWritable:!0,isSigner:!1},{pubkey:c,isWritable:!0,isSigner:!1},{pubkey:m,isWritable:!0,isSigner:!1},{pubkey:y.senderAuthority,isWritable:!1,isSigner:!1},{pubkey:y.tokenMessenger,isWritable:!1,isSigner:!1},{pubkey:y.remoteTokenMessengerKey,isWritable:!1,isSigner:!1},{pubkey:y.tokenMinter,isWritable:!1,isSigner:!1},{pubkey:y.localToken,isWritable:!0,isSigner:!1},{pubkey:y.eventAuthToken,isWritable:!1,isSigner:!1},{pubkey:y.messageTransmitter,isWritable:!0,isSigner:!1},{pubkey:l.publicKey,isWritable:!0,isSigner:!0},{pubkey:a,isWritable:!1,isSigner:!1},{pubkey:u,isWritable:!1,isSigner:!1},{pubkey:new unsignedTransaction.PublicKey(addresses_default.FEE_MANAGER_PROGRAM_ID),isWritable:!1,isSigner:!1},{pubkey:i,isWritable:!1,isSigner:!1},{pubkey:unsignedTransaction.SystemProgram.programId,isWritable:!1,isSigner:!1}],g=platform.Buffer$1.alloc(MctpInitSwapLayout.span);return MctpInitSwapLayout.encode({instruction:getAnchorInstructionData("create_order")},g),{instruction:new unsignedTransaction.TransactionInstruction({keys:T,data:g,programId:p}),signer:l}}var MctpBridgeLedgerLayout=unsignedTransaction.LayoutExports.struct([unsignedTransaction.LayoutExports.blob(8,"instruction"),unsignedTransaction.LayoutExports.blob(32,"destAddress"),unsignedTransaction.LayoutExports.blob(8,"amountInMin"),unsignedTransaction.LayoutExports.blob(8,"gasDrop"),unsignedTransaction.LayoutExports.blob(8,"feeRedeem"),unsignedTransaction.LayoutExports.blob(8,"feeSolana"),unsignedTransaction.LayoutExports.u16("destinationChain"),unsignedTransaction.LayoutExports.blob(32,"keyRnd"),unsignedTransaction.LayoutExports.u8("mode")]);function createMctpBridgeLedgerInstruction(e){if(e.mode!=="WITH_FEE"&&e.mode!=="LOCK_FEE")throw new Error("Invalid mode: "+e.mode);const t=new unsignedTransaction.PublicKey(e.swapperAddress),r=new unsignedTransaction.PublicKey(e.mintAddress),n=getAssociatedTokenAddress(r,e.ledger,!0),o=getWormholeChainIdByName(e.toChain),i=platform.Buffer$1.from(hexToUint8Array(nativeAddressToHexString(e.destinationAddress,o))),u=getSafeU64Blob(e.amountInMin64),a=getSafeU64Blob(getAmountOfFractionalAmount(e.gasDrop,Math.min(getGasDecimal(e.toChain),8))),p=getSafeU64Blob(getAmountOfFractionalAmount(e.feeRedeem,CCTP_TOKEN_DECIMALS)),s=getSafeU64Blob(e.feeSolana),c=e.referrerAddress?platform.Buffer$1.from(hexToUint8Array(nativeAddressToHexString(e.referrerAddress,o))):unsignedTransaction.SystemProgram.programId.toBuffer(),d=[{pubkey:t,isWritable:!0,isSigner:!0},{pubkey:e.ledger,isWritable:!0,isSigner:!1},{pubkey:n,isWritable:!1,isSigner:!1},{pubkey:e.customPayload||new unsignedTransaction.PublicKey(addresses_default.MCTP_PROGRAM_ID),isWritable:!1,isSigner:!1},{pubkey:r,isWritable:!1,isSigner:!1},{pubkey:unsignedTransaction.SystemProgram.programId,isWritable:!1,isSigner:!1},{pubkey:new unsignedTransaction.PublicKey(c),isWritable:!1,isSigner:!1}],y=platform.Buffer$1.alloc(MctpBridgeLedgerLayout.span);return MctpBridgeLedgerLayout.encode({instruction:getAnchorInstructionData("init_bridge_ledger"),destAddress:i,amountInMin:u,gasDrop:a,feeRedeem:p,feeSolana:s,destinationChain:o,keyRnd:e.randomKey.toBuffer(),mode:e.mode==="WITH_FEE"?1:2},y),new unsignedTransaction.TransactionInstruction({keys:d,data:y,programId:new unsignedTransaction.PublicKey(addresses_default.MCTP_PROGRAM_ID)})}var MctpSwapLedgerLayout=unsignedTransaction.LayoutExports.struct([unsignedTransaction.LayoutExports.blob(8,"instruction"),unsignedTransaction.LayoutExports.blob(32,"destAddress"),unsignedTransaction.LayoutExports.blob(8,"amountInMin"),unsignedTransaction.LayoutExports.blob(8,"gasDrop"),unsignedTransaction.LayoutExports.blob(8,"feeRedeem"),unsignedTransaction.LayoutExports.blob(8,"feeSolana"),unsignedTransaction.LayoutExports.u16("destinationChain"),unsignedTransaction.LayoutExports.blob(32,"keyRnd"),unsignedTransaction.LayoutExports.u8("mode"),unsignedTransaction.LayoutExports.blob(32,"tokenOut"),unsignedTransaction.LayoutExports.blob(8,"amountOutMin"),unsignedTransaction.LayoutExports.blob(8,"deadline"),unsignedTransaction.LayoutExports.blob(32,"refAddress"),unsignedTransaction.LayoutExports.u8("feeRateRef")]);function createMctpSwapLedgerInstruction(e){const t=new unsignedTransaction.PublicKey(e.swapperAddress),r=new unsignedTransaction.PublicKey(e.mintAddress),n=getAssociatedTokenAddress(r,e.ledger,!0),o=getWormholeChainIdByName(e.toChain),i=platform.Buffer$1.from(hexToUint8Array(nativeAddressToHexString(e.destinationAddress,o))),u=getSafeU64Blob(e.amountInMin64),a=getSafeU64Blob(getAmountOfFractionalAmount(e.gasDrop,Math.min(getGasDecimal(e.toChain),8))),p=getSafeU64Blob(getAmountOfFractionalAmount(e.feeRedeem,CCTP_TOKEN_DECIMALS)),s=getSafeU64Blob(e.feeSolana),c=platform.Buffer$1.from(hexToUint8Array(nativeAddressToHexString(e.tokenOut,o))),d=e.referrerAddress?platform.Buffer$1.from(hexToUint8Array(nativeAddressToHexString(e.referrerAddress,o))):unsignedTransaction.SystemProgram.programId.toBuffer(),y=getSafeU64Blob(getAmountOfFractionalAmount(e.amountOutMin,Math.min(8,e.tokenOutDecimals))),l=getSafeU64Blob(e.deadline),m=[{pubkey:t,isWritable:!0,isSigner:!0},{pubkey:e.ledger,isWritable:!0,isSigner:!1},{pubkey:n,isWritable:!1,isSigner:!1},{pubkey:r,isWritable:!1,isSigner:!1},{pubkey:unsignedTransaction.SystemProgram.programId,isWritable:!1,isSigner:!1}],f=platform.Buffer$1.alloc(MctpSwapLedgerLayout.span);return MctpSwapLedgerLayout.encode({instruction:getAnchorInstructionData("init_order_ledger"),destAddress:i,amountInMin:u,gasDrop:a,feeRedeem:p,feeSolana:s,destinationChain:o,keyRnd:e.randomKey.toBuffer(),mode:3,tokenOut:c,refAddress:d,amountOutMin:y,deadline:l,feeRateRef:e.feeRateRef},f),new unsignedTransaction.TransactionInstruction({keys:m,data:f,programId:new unsignedTransaction.PublicKey(addresses_default.MCTP_PROGRAM_ID)})}async function createMctpFromSolanaInstructions(e,t,r,n,o,i={}){const u=i?.forceSkipCctpInstructions||!1,a=i?.allowSwapperOffCurve||!1;if(e.toChain==="solana")throw new Error("Unsupported destination chain: "+e.toChain);let p=[],s=[],c=[],d=[],y=[],l=[],m=[];const f=unsignedTransaction.Keypair.generate();let T=null;p.push(addresses_default.LOOKUP_TABLE);const g=new unsignedTransaction.PublicKey(addresses_default.MCTP_PROGRAM_ID),b=new unsignedTransaction.PublicKey(t),h=unsignedTransaction.Keypair.generate(),A=e.deadline64?BigInt(e.deadline64):BigInt(0);if(e.hasAuction&&!Number(e.deadline64))throw new Error("Swap mode requires a timeout");const I=e.hasAuction?"LEDGER_ORDER":"LEDGER_BRIDGE",[C]=unsignedTransaction.PublicKey.findProgramAddressSync([platform.Buffer$1.from(I),b.toBytes(),h.publicKey.toBytes()],g),w=getAssociatedTokenAddress(new unsignedTransaction.PublicKey(e.mctpInputContract),C,!0),M=e.cheaperChain==="solana"?"LOCK_FEE":"WITH_FEE",E=e.toChain==="sui"?e.toToken.verifiedAddress:e.toToken.contract;if(e.fromToken.contract===e.mctpInputContract){const S=BigInt(u?e.solanaRelayerFee64:0);if(e.suggestedPriorityFee>0&&s.push(unsignedTransaction.ComputeBudgetProgram.setComputeUnitPrice({microLamports:e.suggestedPriorityFee})),s.push(createAssociatedTokenAccountInstruction(b,w,C,new unsignedTransaction.PublicKey(e.mctpInputContract))),s.push(createSplTransferInstruction(getAssociatedTokenAddress(new unsignedTransaction.PublicKey(e.mctpInputContract),b,a),w,b,BigInt(e.effectiveAmountIn64))),e.hasAuction){if(s.push(createMctpSwapLedgerInstruction({ledger:C,swapperAddress:t,mintAddress:e.mctpInputContract,randomKey:h.publicKey,toChain:e.toChain,destinationAddress:r,feeSolana:S,feeRedeem:e.redeemRelayerFee,gasDrop:e.gasDrop,amountInMin64:BigInt(e.effectiveAmountIn64),tokenOut:E,tokenOutDecimals:e.toToken.decimals,referrerAddress:n,amountOutMin:e.minAmountOut,deadline:A,feeRateRef:e.referrerBps})),!u){const{instruction:_,signer:F}=createMctpInitSwapInstruction(C,e.toChain,e.mctpInputContract,t,S);s.push(_),c.push(F)}}else if(s.push(createMctpBridgeLedgerInstruction({ledger:C,swapperAddress:t,mintAddress:e.mctpInputContract,randomKey:h.publicKey,toChain:e.toChain,destinationAddress:r,feeSolana:S,feeRedeem:e.redeemRelayerFee,gasDrop:e.gasDrop,amountInMin64:BigInt(e.effectiveAmountIn64),mode:M,referrerAddress:n})),!u)if(M==="WITH_FEE"){const{instruction:_,signers:F}=createMctpBridgeWithFeeInstruction(C,e.toChain,e.mctpInputContract,t,S);s.push(_),c.push(...F)}else{const{instructions:_,signer:F}=createMctpBridgeLockFeeInstruction(C,e.toChain,e.mctpInputContract,t,S);s.push(..._),c.push(F)}}else{const S=await getSwapSolana({minMiddleAmount:e.minMiddleAmount,middleToken:e.mctpInputContract,userWallet:t,userLedger:C.toString(),slippageBps:e.slippageBps,fromToken:e.fromToken.contract,amountIn64:e.effectiveAmountIn64,depositMode:e.hasAuction?"SWAP":M,fillMaxAccounts:i?.separateSwapTx||!1,tpmTokenAccount:i?.separateSwapTx?f.publicKey.toString():null}),_=decentralizeClientSwapInstructions(S);i?.separateSwapTx&&S.maxAccountsFilled?(validateJupSwap(_,f.publicKey,b),m=await createInitializeRandomTokenAccountInstructions(o,b,new unsignedTransaction.PublicKey(e.mctpInputContract),b,f),l.push(..._.computeBudgetInstructions),_.setupInstructions&&l.push(..._.setupInstructions),l.push(_.swapInstruction),_.cleanupInstruction&&l.push(_.cleanupInstruction),y.push(..._.addressLookupTableAddresses),s.push(createAssociatedTokenAccountInstruction(b,w,C,new unsignedTransaction.PublicKey(e.mctpInputContract))),s.push(createTransferAllAndCloseInstruction(b,new unsignedTransaction.PublicKey(e.mctpInputContract),f.publicKey,w,b))):(validateJupSwap(_,w,b),s.push(..._.computeBudgetInstructions),_.setupInstructions&&s.push(..._.setupInstructions),s.push(_.swapInstruction),_.cleanupInstruction&&s.push(_.cleanupInstruction),p.push(..._.addressLookupTableAddresses));const F=l.length>0?BigInt(0):BigInt(e.solanaRelayerFee64);if(e.hasAuction){if(s.push(createMctpSwapLedgerInstruction({ledger:C,swapperAddress:t,mintAddress:e.mctpInputContract,randomKey:h.publicKey,toChain:e.toChain,destinationAddress:r,feeSolana:F,feeRedeem:e.redeemRelayerFee,gasDrop:e.gasDrop,amountInMin64:getAmountOfFractionalAmount(e.minMiddleAmount,CCTP_TOKEN_DECIMALS),tokenOut:E,tokenOutDecimals:e.toToken.decimals,referrerAddress:n,amountOutMin:e.minAmountOut,deadline:A,feeRateRef:e.referrerBps})),l.length>0){const{instruction:x,signer:R}=createMctpInitSwapInstruction(C,e.toChain,e.mctpInputContract,t,F);s.push(x),c.push(R)}}else if(s.push(createMctpBridgeLedgerInstruction({ledger:C,swapperAddress:t,mintAddress:e.mctpInputContract,randomKey:h.publicKey,toChain:e.toChain,destinationAddress:r,feeSolana:F,feeRedeem:e.redeemRelayerFee,gasDrop:e.gasDrop,amountInMin64:getAmountOfFractionalAmount(e.minMiddleAmount,CCTP_TOKEN_DECIMALS),mode:M,referrerAddress:n})),l.length>0)if(M==="WITH_FEE"){const{instruction:x,signers:R}=createMctpBridgeWithFeeInstruction(C,e.toChain,e.mctpInputContract,t,F);s.push(x),c.push(...R)}else{const{instructions:x,signer:R}=createMctpBridgeLockFeeInstruction(C,e.toChain,e.mctpInputContract,t,F);s.push(...x),c.push(R)}}const P=await getAddressLookupTableAccounts(p.concat(y),o);if(d=P.slice(0,p.length),l.length>0){const S=P.slice(p.length);T={messageV0:{payerKey:b,instructions:l,addressLookupTableAccounts:S},createTmpTokenAccountIxs:m,tmpTokenAccount:f}}return{instructions:s,signers:c,lookupTables:d,swapMessageV0Params:T}}function createSwiftOrderHash(e,t,r,n,o){const u=platform.Buffer$1.alloc(239);let a=0;const p=getWormholeChainIdByName(e.fromChain),s=platform.Buffer$1.from(hexToUint8Array(nativeAddressToHexString(t,p)));u.set(s,0),a+=32,u.writeUInt16BE(p,a),a+=2;const c=e.swiftInputContract===platform.ZeroAddress?nativeAddressToHexString(unsignedTransaction.SystemProgram.programId.toString(),getWormholeChainIdByName("solana")):nativeAddressToHexString(e.swiftInputContract,p),d=platform.Buffer$1.from(hexToUint8Array(c));u.set(d,a),a+=32;const y=getWormholeChainIdByName(e.toChain),l=platform.Buffer$1.from(hexToUint8Array(nativeAddressToHexString(r,y)));u.set(l,a),a+=32,u.writeUInt16BE(y,a),a+=2;const m=e.toToken.contract===platform.ZeroAddress?nativeAddressToHexString(unsignedTransaction.SystemProgram.programId.toString(),getWormholeChainIdByName("solana")):nativeAddressToHexString(e.toToken.contract,y),f=platform.Buffer$1.from(hexToUint8Array(m));u.set(f,a),a+=32,u.writeBigUInt64BE(getAmountOfFractionalAmount(e.minAmountOut,Math.min(e.toToken.decimals,8)),a),a+=8,u.writeBigUInt64BE(getAmountOfFractionalAmount(e.gasDrop,Math.min(getGasDecimal(e.toChain),8)),a),a+=8,u.writeBigUInt64BE(BigInt(e.cancelRelayerFee64),a),a+=8,u.writeBigUInt64BE(BigInt(e.refundRelayerFee64),a),a+=8,u.writeBigUInt64BE(BigInt(e.deadline64),a),a+=8;const T=n?platform.Buffer$1.from(hexToUint8Array(nativeAddressToHexString(n,y))):unsignedTransaction.SystemProgram.programId.toBuffer();u.set(T,a),a+=32,u.writeUInt8(e.referrerBps,a),a+=1;const g=e.protocolBps;u.writeUInt8(g,a),a+=1,u.writeUInt8(e.swiftAuctionMode,a),a+=1;const b=platform.Buffer$1.from(hexToUint8Array(o));if(u.set(b,a),a+=32,a!==239)throw new Error(`Invalid order data size: ${a}`);const h=platform.keccak256(u);return platform.Buffer$1.from(hexToUint8Array(h))}var InitSwiftLayout=unsignedTransaction.LayoutExports.struct([unsignedTransaction.LayoutExports.blob(8,"instruction"),unsignedTransaction.LayoutExports.blob(8,"amountInMin"),unsignedTransaction.LayoutExports.u8("nativeInput"),unsignedTransaction.LayoutExports.blob(8,"feeSubmit"),unsignedTransaction.LayoutExports.blob(32,"destAddress"),unsignedTransaction.LayoutExports.u16("destinationChain"),unsignedTransaction.LayoutExports.blob(32,"tokenOut"),unsignedTransaction.LayoutExports.blob(8,"amountOutMin"),unsignedTransaction.LayoutExports.blob(8,"gasDrop"),unsignedTransaction.LayoutExports.blob(8,"feeCancel"),unsignedTransaction.LayoutExports.blob(8,"feeRefund"),unsignedTransaction.LayoutExports.blob(8,"deadline"),unsignedTransaction.LayoutExports.blob(32,"refAddress"),unsignedTransaction.LayoutExports.u8("feeRateRef"),unsignedTransaction.LayoutExports.u8("feeRateMayan"),unsignedTransaction.LayoutExports.u8("auctionMode"),unsignedTransaction.LayoutExports.blob(32,"randomKey")]);function createSwiftInitInstruction(e){const{quote:t}=e,r=t.swiftInputContract===platform.ZeroAddress?solMint:new unsignedTransaction.PublicKey(t.swiftInputContract),n=getWormholeChainIdByName(t.toChain);if(n!==t.toToken.wChainId)throw new Error(`Destination chain ID mismatch: ${n} != ${t.toToken.wChainId}`);const o=[{pubkey:e.trader,isWritable:!1,isSigner:!0},{pubkey:e.relayer,isWritable:!0,isSigner:!0},{pubkey:e.state,isWritable:!0,isSigner:!1},{pubkey:e.stateAccount,isWritable:!0,isSigner:!1},{pubkey:e.relayerAccount,isWritable:!0,isSigner:!1},{pubkey:r,isWritable:!1,isSigner:!1},{pubkey:new unsignedTransaction.PublicKey(addresses_default.FEE_MANAGER_PROGRAM_ID),isWritable:!1,isSigner:!1},{pubkey:new unsignedTransaction.PublicKey(addresses_default.TOKEN_PROGRAM_ID),isWritable:!1,isSigner:!1},{pubkey:unsignedTransaction.SystemProgram.programId,isWritable:!1,isSigner:!1}],i=platform.Buffer$1.alloc(InitSwiftLayout.span),u=e.referrerAddress?platform.Buffer$1.from(hexToUint8Array(nativeAddressToHexString(e.referrerAddress,n))):unsignedTransaction.SystemProgram.programId.toBuffer(),a=t.fromToken.contract===t.swiftInputContract?BigInt(t.effectiveAmountIn64):getAmountOfFractionalAmount(t.minMiddleAmount,t.swiftInputDecimals);return InitSwiftLayout.encode({instruction:getAnchorInstructionData("init_order"),amountInMin:getSafeU64Blob(a),nativeInput:t.swiftInputContract===platform.ZeroAddress?1:0,feeSubmit:getSafeU64Blob(BigInt(t.submitRelayerFee64)),destAddress:platform.Buffer$1.from(hexToUint8Array(nativeAddressToHexString(e.destinationAddress,n))),destinationChain:n,tokenOut:platform.Buffer$1.from(hexToUint8Array(nativeAddressToHexString(t.toToken.contract,n))),amountOutMin:getSafeU64Blob(getAmountOfFractionalAmount(t.minAmountOut,Math.min(t.toToken.decimals,8))),gasDrop:getSafeU64Blob(getAmountOfFractionalAmount(t.gasDrop,Math.min(getGasDecimal(t.toChain),8))),feeCancel:getSafeU64Blob(BigInt(t.cancelRelayerFee64)),feeRefund:getSafeU64Blob(BigInt(t.refundRelayerFee64)),deadline:getSafeU64Blob(e.deadline),refAddress:u,feeRateRef:t.referrerBps,feeRateMayan:t.protocolBps,auctionMode:t.swiftAuctionMode,randomKey:e.randomKey.toBuffer()},i),new unsignedTransaction.TransactionInstruction({keys:o,data:i,programId:new unsignedTransaction.PublicKey(addresses_default.SWIFT_PROGRAM_ID)})}async function createSwiftFromSolanaInstructions(e,t,r,n,o,i={}){if(e.type!=="SWIFT")throw new Error("Unsupported quote type for Swift: "+e.type);if(e.toChain==="solana")throw new Error("Unsupported destination chain: "+e.toChain);const u=i.allowSwapperOffCurve||!1;let a=[],p=[],s=[];s.push(addresses_default.LOOKUP_TABLE);let c=[],d=[],y=[];const l=unsignedTransaction.Keypair.generate();let m=null;const f=new unsignedTransaction.PublicKey(addresses_default.SWIFT_PROGRAM_ID),T=new unsignedTransaction.PublicKey(t),g=unsignedTransaction.Keypair.generate();if(!Number(e.deadline64))throw new Error("Swift mode requires a timeout");const b=BigInt(e.deadline64),h=createSwiftOrderHash(e,t,r,n,g.publicKey.toBuffer().toString("hex")),[A]=unsignedTransaction.PublicKey.findProgramAddressSync([platform.Buffer$1.from("STATE_SOURCE"),h],f),I=e.swiftInputContract===platform.ZeroAddress?solMint:new unsignedTransaction.PublicKey(e.swiftInputContract),C=getAssociatedTokenAddress(I,A,!0),w=e.gasless?new unsignedTransaction.PublicKey(e.relayer):T,M=BigInt(e.submitRelayerFee64)>0n?getAssociatedTokenAddress(I,w,!1):f;if(e.fromToken.contract===e.swiftInputContract)e.suggestedPriorityFee>0&&a.push(unsignedTransaction.ComputeBudgetProgram.setComputeUnitPrice({microLamports:e.suggestedPriorityFee})),a.push(createAssociatedTokenAccountInstruction(w,C,A,I)),e.swiftInputContract===platform.ZeroAddress?a.push(unsignedTransaction.SystemProgram.transfer({fromPubkey:T,toPubkey:C,lamports:BigInt(e.effectiveAmountIn64)}),createSyncNativeInstruction(C)):a.push(createSplTransferInstruction(getAssociatedTokenAddress(I,T,u),C,T,BigInt(e.effectiveAmountIn64)));else{const P=await getSwapSolana({minMiddleAmount:e.minMiddleAmount,middleToken:e.swiftInputContract,userWallet:t,slippageBps:e.slippageBps,fromToken:e.fromToken.contract,amountIn64:e.effectiveAmountIn64,depositMode:e.gasless?"SWIFT_GASLESS":"SWIFT",orderHash:`0x${h.toString("hex")}`,fillMaxAccounts:i?.separateSwapTx||!1,tpmTokenAccount:i?.separateSwapTx?l.publicKey.toString():null}),S=decentralizeClientSwapInstructions(P);i?.separateSwapTx&&P.maxAccountsFilled?(validateJupSwap(S,l.publicKey,T),y=await createInitializeRandomTokenAccountInstructions(o,w,I,T,l),d.push(...S.computeBudgetInstructions),S.setupInstructions&&d.push(...S.setupInstructions),d.push(S.swapInstruction),S.cleanupInstruction&&d.push(S.cleanupInstruction),c.push(...S.addressLookupTableAddresses),a.push(createAssociatedTokenAccountInstruction(w,C,A,I)),a.push(createTransferAllAndCloseInstruction(T,I,l.publicKey,C,w))):(a.push(...S.computeBudgetInstructions),S.setupInstructions&&a.push(...S.setupInstructions),a.push(S.swapInstruction),S.cleanupInstruction&&a.push(S.cleanupInstruction),s.push(...S.addressLookupTableAddresses))}a.push(createSwiftInitInstruction({quote:e,state:A,trader:T,stateAccount:C,randomKey:g.publicKey,relayerAccount:M,relayer:w,destinationAddress:r,deadline:b,referrerAddress:n}));const E=await getAddressLookupTableAccounts(s.concat(c),o);if(p=E.slice(0,s.length),d.length>0){const P=E.slice(s.length);m={messageV0:{payerKey:w,instructions:d,addressLookupTableAccounts:P},createTmpTokenAccountIxs:y,tmpTokenAccount:l}}return{instructions:a,signers:[],lookupTables:p,swapMessageV0Params:m}}var STATE_SIZE=420,SwapLayout=unsignedTransaction.LayoutExports.struct([unsignedTransaction.LayoutExports.u8("instruction"),unsignedTransaction.LayoutExports.u8("stateNonce"),unsignedTransaction.LayoutExports.blob(8,"amount"),unsignedTransaction.LayoutExports.blob(8,"minAmountOut"),unsignedTransaction.LayoutExports.blob(8,"deadline"),unsignedTransaction.LayoutExports.blob(8,"feeSwap"),unsignedTransaction.LayoutExports.blob(8,"feeReturn"),unsignedTransaction.LayoutExports.blob(8,"feeCancel"),unsignedTransaction.LayoutExports.blob(8,"gasDrop"),unsignedTransaction.LayoutExports.u16("destinationChain"),unsignedTransaction.LayoutExports.blob(32,"destinationAddress"),unsignedTransaction.LayoutExports.u8("unwrapRedeem"),unsignedTransaction.LayoutExports.u8("unwrapRefund"),unsignedTransaction.LayoutExports.u8("mayanFeeNonce"),unsignedTransaction.LayoutExports.u8("referrerFeeNonce")]);async function createSwapFromSolanaInstructions(e,t,r,n,o,i={}){const u=getQuoteSuitableReferrerAddress(e);if(e.type==="MCTP")return createMctpFromSolanaInstructions(e,t,r,u,o,i);if(e.type==="SWIFT")return createSwiftFromSolanaInstructions(e,t,r,u,o,i);let a=[];const p=o??new unsignedTransaction.Connection("https://rpc.ankr.com/solana"),s=new unsignedTransaction.PublicKey(addresses_default.MAYAN_PROGRAM_ID),c=new unsignedTransaction.PublicKey(addresses_default.TOKEN_PROGRAM_ID),d=new unsignedTransaction.PublicKey(t),y=new unsignedTransaction.PublicKey(addresses_default.AUCTION_PROGRAM_ID);e.suggestedPriorityFee>0&&a.push(unsignedTransaction.ComputeBudgetProgram.setComputeUnitPrice({microLamports:e.suggestedPriorityFee}));let l;u?l=new unsignedTransaction.PublicKey(u):l=unsignedTransaction.SystemProgram.programId;const[m,f]=unsignedTransaction.PublicKey.findProgramAddressSync([platform.Buffer$1.from("MAYANFEE")],s),[T,g]=unsignedTransaction.PublicKey.findProgramAddressSync([platform.Buffer$1.from("REFERRERFEE"),l.toBuffer()],s),b=unsignedTransaction.Keypair.generate(),h=unsignedTransaction.Keypair.generate(),[A,I]=unsignedTransaction.PublicKey.findProgramAddressSync([platform.Buffer$1.from("V2STATE"),platform.Buffer$1.from(b.publicKey.toBytes()),platform.Buffer$1.from(h.publicKey.toBytes())],s),C=new unsignedTransaction.PublicKey(e.fromToken.mint),w=new unsignedTransaction.PublicKey(e.toToken.mint),M=getAssociatedTokenAddress(C,d),E=getAssociatedTokenAddress(C,A,!0),[[P,S],_,F]=await Promise.all([p.getMultipleAccountsInfo([M,E],"finalized"),p.getMinimumBalanceForRentExemption(STATE_SIZE),decideRelayer()]);(!P||P.data.length===0)&&a.push(createAssociatedTokenAccountInstruction(d,M,d,C)),(!S||S.data.length===0)&&a.push(createAssociatedTokenAccountInstruction(d,E,A,C)),e.fromToken.contract===platform.ZeroAddress&&(a.push(unsignedTransaction.SystemProgram.transfer({fromPubkey:d,toPubkey:M,lamports:BigInt(e.effectiveAmountIn64)})),a.push(createSyncNativeInstruction(M)));const x=BigInt(e.effectiveAmountIn64),R=unsignedTransaction.Keypair.generate();a.push(createApproveInstruction(M,R.publicKey,d,x)),a.push(unsignedTransaction.SystemProgram.transfer({fromPubkey:d,toPubkey:R.publicKey,lamports:_}));const B=[{pubkey:R.publicKey,isWritable:!1,isSigner:!0},{pubkey:b.publicKey,isWritable:!1,isSigner:!0},{pubkey:h.publicKey,isWritable:!1,isSigner:!0},{pubkey:A,isWritable:!0,isSigner:!1},{pubkey:M,isWritable:!0,isSigner:!1},{pubkey:d,isWritable:!1,isSigner:!1},{pubkey:E,isWritable:!0,isSigner:!1},{pubkey:C,isWritable:!1,isSigner:!1},{pubkey:w,isWritable:!1,isSigner:!1},{pubkey:y,isWritable:!1,isSigner:!1},{pubkey:l,isWritable:!1,isSigner:!1},{pubkey:m,isWritable:!1,isSigner:!1},{pubkey:T,isWritable:!1,isSigner:!1},{pubkey:R.publicKey,isWritable:!0,isSigner:!0},{pubkey:F,isWritable:!1,isSigner:!1},{pubkey:unsignedTransaction.SYSVAR_CLOCK_PUBKEY,isWritable:!1,isSigner:!1},{pubkey:unsignedTransaction.SYSVAR_RENT_PUBKEY,isWritable:!1,isSigner:!1},{pubkey:c,isWritable:!1,isSigner:!1},{pubkey:unsignedTransaction.SystemProgram.programId,isWritable:!1,isSigner:!1}],k=getWormholeChainIdByName(e.toChain);if(k===1){const O=await p.getAccountInfo(new unsignedTransaction.PublicKey(r));if(O&&O.owner&&O.owner.equals(c))throw new Error("Destination address is not about token account. It should be a owner address")}const D=platform.Buffer$1.from(hexToUint8Array(nativeAddressToHexString(r,k))),N=getAmountOfFractionalAmount(e.minAmountOut,e.mintDecimals.to),H=getAmountOfFractionalAmount(e.swapRelayerFee,e.mintDecimals.from),W=getAmountOfFractionalAmount(e.redeemRelayerFee,e.mintDecimals.to),L=getAmountOfFractionalAmount(e.refundRelayerFee,e.mintDecimals.from),U=getAmountOfFractionalAmount(e.gasDrop,getGasDecimalsInSolana(e.toChain)),G=e.toToken.contract===platform.ZeroAddress,$=e.fromToken.contract===platform.ZeroAddress;if(!Number(e.deadline64))throw new Error("Deadline is not valid");const j=BigInt(e.deadline64),v=platform.Buffer$1.alloc(SwapLayout.span),Y={instruction:101,stateNonce:I,amount:getSafeU64Blob(x),minAmountOut:getSafeU64Blob(N),deadline:getSafeU64Blob(j),feeSwap:getSafeU64Blob(H),feeReturn:getSafeU64Blob(W),feeCancel:getSafeU64Blob(L),gasDrop:getSafeU64Blob(U),destinationChain:k,destinationAddress:D,unwrapRedeem:G?1:0,unwrapRefund:$?1:0,mayanFeeNonce:f,referrerFeeNonce:g};SwapLayout.encode(Y,v);const V=new unsignedTransaction.TransactionInstruction({keys:B,data:v,programId:s});return a.push(V),{instructions:a,signers:[R,b,h],lookupTables:[],swapMessageV0Params:null}}function getEvmSwiftParams(e,t,r,n,o){const i=getWormholeChainIdById(Number(o)),u=getWormholeChainIdByName(e.fromChain),a=getWormholeChainIdByName(e.toChain);if(u!==i)throw new Error(`Signer chain id(${Number(o)}) and quote from chain are not same! ${u} !== ${i}`);if(!e.swiftMayanContract)throw new Error("SWIFT contract address is missing");if(e.toToken.wChainId!==a)throw new Error(`Destination chain ID mismatch: ${a} != ${e.toToken.wChainId}`);const p=e.swiftMayanContract;if(!Number(e.deadline64))throw new Error("Swift order requires timeout");const s=BigInt(e.deadline64),c=e.swiftInputContract,d=BigInt(e.effectiveAmountIn64);let y;n?y=nativeAddressToHexString(n,a):y=nativeAddressToHexString(unsignedTransaction.SystemProgram.programId.toString(),1);const l=nativeAddressToHexString(unsignedTransaction.Keypair.generate().publicKey.toString(),1),m=e.toToken.contract===platform.ZeroAddress?nativeAddressToHexString(unsignedTransaction.SystemProgram.programId.toString(),1):nativeAddressToHexString(e.toToken.contract,a),f=getAmountOfFractionalAmount(e.minAmountOut,Math.min(8,e.toToken.decimals)),T=getAmountOfFractionalAmount(e.gasDrop,Math.min(8,getGasDecimal(e.toChain))),g=nativeAddressToHexString(r,a),b={trader:nativeAddressToHexString(t,u),tokenOut:m,minAmountOut:f,gasDrop:T,cancelFee:BigInt(e.cancelRelayerFee64),refundFee:BigInt(e.refundRelayerFee64),deadline:s,destAddr:g,destChainId:a,referrerAddr:y,referrerBps:e.referrerBps||0,auctionMode:e.swiftAuctionMode,random:l};return{contractAddress:p,tokenIn:c,amountIn:d,order:b}}function getSwiftFromEvmTxPayload(e,t,r,n,o,i){if(e.type!=="SWIFT")throw new Error("Quote type is not SWIFT");if(!Number.isFinite(Number(o)))throw new Error("Invalid signer chain id");if(!Number(e.deadline64))throw new Error("Swift order requires timeout");o=Number(o);const u=ZeroPermit,a=new platform.Contract(addresses_default.MAYAN_FORWARDER_CONTRACT,MayanForwarderArtifact_default.abi),{tokenIn:p,amountIn:s,order:c,contractAddress:d}=getEvmSwiftParams(e,t,r,n,o);let y;const l=new platform.Contract(d,MayanSwiftArtifact_default.abi);e.swiftInputContract===platform.ZeroAddress?y=l.interface.encodeFunctionData("createOrderWithEth",[c]):y=l.interface.encodeFunctionData("createOrderWithToken",[p,s,c]);let m,f,T;if(e.fromToken.contract===e.swiftInputContract)e.fromToken.contract===platform.ZeroAddress?(m="forwardEth",f=[d,y],T=platform.toBeHex(s)):(m="forwardERC20",f=[p,s,u,d,y],T=platform.toBeHex(0));else{const{evmSwapRouterAddress:b,evmSwapRouterCalldata:h}=e;if(!e.minMiddleAmount||!b||!h)throw new Error("Swift swap requires middle amount, router address and calldata");const A=e.fromToken.contract,I=getAmountOfFractionalAmount(e.minMiddleAmount,e.swiftInputDecimals);e.fromToken.contract===platform.ZeroAddress?(m="swapAndForwardEth",f=[s,b,h,e.swiftInputContract,I,d,y],T=platform.toBeHex(s)):(m="swapAndForwardERC20",f=[A,s,u,b,h,e.swiftInputContract,I,d,y],T=platform.toBeHex(0))}return{data:a.interface.encodeFunctionData(m,f),to:addresses_default.MAYAN_FORWARDER_CONTRACT,value:T,chainId:o,_forwarder:{method:m,params:f}}}var ShuttleArtifact_default={abi:[{type:"function",name:"batchMaxApprove",inputs:[{name:"approvals",type:"bytes",internalType:"bytes"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"initiate",inputs:[{name:"recipient",type:"bytes32",internalType:"bytes32"},{name:"overrideAmountIn",type:"uint256",internalType:"uint256"},{name:"targetChain",type:"uint16",internalType:"uint16"},{name:"params",type:"bytes",internalType:"bytes"}],outputs:[{name:"",type:"bytes",internalType:"bytes"}],stateMutability:"payable"},{type:"error",name:"ChainNotSupported",inputs:[{name:"chain",type:"uint16",internalType:"uint16"}]},{type:"error",name:"DeadlineExpired",inputs:[{name:"blocktime",type:"uint256",internalType:"uint256"},{name:"deadline",type:"uint256",internalType:"uint256"}]},{type:"error",name:"EthTransferFailed",inputs:[]},{type:"error",name:"ExceedsMaxGasDropoff",inputs:[{name:"requested",type:"uint256",internalType:"uint256"},{name:"maximum",type:"uint256",internalType:"uint256"}]},{type:"error",name:"ExceedsMaxRelayingFee",inputs:[{name:"fee",type:"uint256",internalType:"uint256"},{name:"maximum",type:"uint256",internalType:"uint256"}]},{type:"error",name:"InsufficientInputAmount",inputs:[{name:"input",type:"uint256",internalType:"uint256"},{name:"minimum",type:"uint256",internalType:"uint256"}]},{type:"error",name:"InvalidAddress",inputs:[{name:"addr",type:"bytes32",internalType:"bytes32"}]},{type:"error",name:"InvalidBoolVal",inputs:[{name:"val",type:"uint8",internalType:"uint8"}]},{type:"error",name:"InvalidOverrideAmount",inputs:[{name:"received",type:"uint256",internalType:"uint256"},{name:"maximum",type:"uint256",internalType:"uint256"}]},{type:"error",name:"InvalidSwapType",inputs:[{name:"swapType",type:"uint256",internalType:"uint256"}]},{type:"error",name:"InvalidSwapTypeForChain",inputs:[{name:"chain",type:"uint16",internalType:"uint16"},{name:"swapType",type:"uint256",internalType:"uint256"}]},{type:"error",name:"LengthMismatch",inputs:[{name:"encodedLength",type:"uint256",internalType:"uint256"},{name:"expectedLength",type:"uint256",internalType:"uint256"}]},{type:"error",name:"RelayingDisabledForChain",inputs:[]}]},shuttleConstants={FAST_MODE_FLAG:1,RELAY_REDEEM_MODE:2,EXACT_IN_FLAG:1,USDC_INPUT_TOKEN_TYPE:0,PRE_APPROVED_ACQUIRE_MODE:0,OUTPUT_USDC_MODE:0,OUTPUT_NATIVE_MODE:1,OUTPUT_OTHER_MODE:2};function writeBigIntTo16BytesBuffer(e){const t=(1n<<128n)-1n;if(e<0n||e>t)throw new RangeError("Value must fit in an unsigned 128-bit integer (0 <= value < 2^128)");const r=platform.Buffer$1.alloc(16);for(let n=15;n>=0;n--)r[n]=Number(e&0xFFn),e>>=8n;return r}function getShuttleParams(e,t,r){const{shuttleParams:n}=e;if(!n)throw new Error("Swap layer params are missing in quote response");const o=getWormholeChainIdById(Number(r)),i=getWormholeChainIdByName(e.fromChain),u=getWormholeChainIdByName(e.toChain);if(i!==o)throw new Error(`Signer chain id(${Number(r)}) and quote from chain are not same! ${i} !== ${o}`);let a=[];a.push(shuttleConstants.FAST_MODE_FLAG);const p=platform.Buffer$1.alloc(8);p.writeBigUInt64BE(BigInt(n.maxLLFee));const s=p.subarray(2);a.push(...s);const c=platform.Buffer$1.alloc(4);c.writeUInt32BE(n.fastTransferDeadline),a.push(...c),a.push(shuttleConstants.RELAY_REDEEM_MODE);const d=getAmountOfFractionalAmount(e.gasDrop,Math.min(6,getGasDecimal(e.toChain))),y=platform.Buffer$1.alloc(8);y.writeBigUInt64BE(d);const l=y.subarray(4);a.push(...l);const m=platform.Buffer$1.alloc(8);m.writeBigUInt64BE(BigInt(n.maxRelayingFee));const f=m.subarray(2);a.push(...f),a.push(shuttleConstants.EXACT_IN_FLAG),a.push(shuttleConstants.USDC_INPUT_TOKEN_TYPE);const T=BigInt(e.effectiveAmountIn64);if(e.fromToken.contract===e.shuttleInputContract){a.push(...Array(8).fill(0));const b=platform.Buffer$1.alloc(8);b.writeBigUInt64BE(T),a.push(...b)}else a.push(...Array(16).fill(0));if(a.push(shuttleConstants.PRE_APPROVED_ACQUIRE_MODE),n.hasDestSwap){if(e.toToken.contract===platform.ZeroAddress)a.push(shuttleConstants.OUTPUT_NATIVE_MODE);else{a.push(shuttleConstants.OUTPUT_OTHER_MODE);const I=platform.Buffer$1.from(nativeAddressToHexString(e.toToken.contract,u).slice(2),"hex");a.push(...I)}const b=platform.Buffer$1.alloc(4);b.writeUInt32BE(Number(BigInt(e.deadline64))),a.push(...b);const h=getAmountOfFractionalAmount(e.minAmountOut,e.toToken.decimals);if(e.toChain==="solana"){a.push(...Array(8).fill(0));const I=platform.Buffer$1.alloc(8);I.writeBigUInt64BE(h),a.push(...I)}else{const I=writeBigIntTo16BytesBuffer(h);a.push(...I)}const A=platform.Buffer$1.from(n.path.slice(2),"hex");a.push(...A)}else a.push(shuttleConstants.OUTPUT_USDC_MODE);return{destAddr:nativeAddressToHexString(t,u),destChainId:u,serializedParams:`0x${platform.Buffer$1.from(a).toString("hex")}`,contractAddress:e.shuttleContract,amountIn:T,bridgeFee:getAmountOfFractionalAmount(e.bridgeFee,getGasDecimal(e.fromChain))}}function getShuttleFromEvmTxPayload(e,t,r,n){if(e.type!=="SHUTTLE")throw new Error("Quote type is not SHUTTLE");if(!Number.isFinite(Number(r)))throw new Error("Invalid signer chain id");r=Number(r);const o=ZeroPermit,i=new platform.Contract(addresses_default.MAYAN_FORWARDER_CONTRACT,MayanForwarderArtifact_default.abi),{destAddr:u,destChainId:a,serializedParams:p,contractAddress:s,amountIn:c,bridgeFee:d}=getShuttleParams(e,t,r);let y;y=new platform.Contract(s,ShuttleArtifact_default.abi).interface.encodeFunctionData("initiate",[u,c,a,p]);let m,f,T;if(e.fromToken.contract===e.shuttleInputContract)m="forwardERC20",f=[e.shuttleInputContract,c,o,s,y],T=platform.toBeHex(d);else{const{evmSwapRouterAddress:b,evmSwapRouterCalldata:h}=e;if(!e.minMiddleAmount||!b||!h)throw new Error("Shuttle source chain swap requires middle amount, router address and calldata");const A=e.fromToken.contract,I=getAmountOfFractionalAmount(e.minMiddleAmount,e.shuttleInputDecimals);e.fromToken.contract===platform.ZeroAddress?(m="swapAndForwardEth",f=[c,b,h,e.shuttleInputContract,I,s,y],T=platform.toBeHex(c)):(m="swapAndForwardERC20",f=[A,c,o,b,h,e.shuttleInputContract,I,s,y],T=platform.toBeHex(d))}return{data:i.interface.encodeFunctionData(m,f),to:addresses_default.MAYAN_FORWARDER_CONTRACT,value:T,chainId:r,_forwarder:{method:m,params:f}}}var MayanFastMctpArtifact_default={abi:[{type:"constructor",inputs:[{name:"_cctpTokenMessengerV2",type:"address",internalType:"address"},{name:"_feeManager",type:"address",internalType:"address"}],stateMutability:"nonpayable"},{type:"receive",stateMutability:"payable"},{type:"function",name:"bridge",inputs:[{name:"tokenIn",type:"address",internalType:"address"},{name:"amountIn",type:"uint256",internalType:"uint256"},{name:"redeemFee",type:"uint64",internalType:"uint64"},{name:"circleMaxFee",type:"uint256",internalType:"uint256"},{name:"gasDrop",type:"uint64",internalType:"uint64"},{name:"destAddr",type:"bytes32",internalType:"bytes32"},{name:"destDomain",type:"uint32",internalType:"uint32"},{name:"referrerAddress",type:"bytes32",internalType:"bytes32"},{name:"referrerBps",type:"uint8",internalType:"uint8"},{name:"payloadType",type:"uint8",internalType:"uint8"},{name:"minFinalityThreshold",type:"uint32",internalType:"uint32"},{name:"customPayload",type:"bytes",internalType:"bytes"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"cctpTokenMessengerV2",inputs:[],outputs:[{name:"",type:"address",internalType:"contract ITokenMessengerV2"}],stateMutability:"view"},{type:"function",name:"changeGuardian",inputs:[{name:"newGuardian",type:"address",internalType:"address"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"claimGuardian",inputs:[],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"createOrder",inputs:[{name:"tokenIn",type:"address",internalType:"address"},{name:"amountIn",type:"uint256",internalType:"uint256"},{name:"circleMaxFee",type:"uint256",internalType:"uint256"},{name:"destDomain",type:"uint32",internalType:"uint32"},{name:"minFinalityThreshold",type:"uint32",internalType:"uint32"},{name:"orderPayload",type:"tuple",internalType:"struct FastMCTP.OrderPayload",components:[{name:"payloadType",type:"uint8",internalType:"uint8"},{name:"destAddr",type:"bytes32",internalType:"bytes32"},{name:"tokenOut",type:"bytes32",internalType:"bytes32"},{name:"amountOutMin",type:"uint64",internalType:"uint64"},{name:"gasDrop",type:"uint64",internalType:"uint64"},{name:"redeemFee",type:"uint64",internalType:"uint64"},{name:"refundFee",type:"uint64",internalType:"uint64"},{name:"deadline",type:"uint64",internalType:"uint64"},{name:"referrerAddr",type:"bytes32",internalType:"bytes32"},{name:"referrerBps",type:"uint8",internalType:"uint8"}]}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"domainToCaller",inputs:[{name:"",type:"uint32",internalType:"uint32"}],outputs:[{name:"",type:"bytes32",internalType:"bytes32"}],stateMutability:"view"},{type:"function",name:"feeManager",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"fulfillOrder",inputs:[{name:"cctpMsg",type:"bytes",internalType:"bytes"},{name:"cctpSigs",type:"bytes",internalType:"bytes"},{name:"swapProtocol",type:"address",internalType:"address"},{name:"swapData",type:"bytes",internalType:"bytes"}],outputs:[],stateMutability:"payable"},{type:"function",name:"guardian",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"keyToMintRecipient",inputs:[{name:"",type:"bytes32",internalType:"bytes32"}],outputs:[{name:"",type:"bytes32",internalType:"bytes32"}],stateMutability:"view"},{type:"function",name:"nextGuardian",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"paused",inputs:[],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"view"},{type:"function",name:"redeem",inputs:[{name:"cctpMsg",type:"bytes",internalType:"bytes"},{name:"cctpSigs",type:"bytes",internalType:"bytes"}],outputs:[],stateMutability:"payable"},{type:"function",name:"refund",inputs:[{name:"cctpMsg",type:"bytes",internalType:"bytes"},{name:"cctpSigs",type:"bytes",internalType:"bytes"}],outputs:[],stateMutability:"payable"},{type:"function",name:"rescueEth",inputs:[{name:"amount",type:"uint256",internalType:"uint256"},{name:"to",type:"address",internalType:"address payable"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"rescueRedeem",inputs:[{name:"cctpMsg",type:"bytes",internalType:"bytes"},{name:"cctpSigs",type:"bytes",internalType:"bytes"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"rescueToken",inputs:[{name:"token",type:"address",internalType:"address"},{name:"amount",type:"uint256",internalType:"uint256"},{name:"to",type:"address",internalType:"address"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"setDomainCallers",inputs:[{name:"domain",type:"uint32",internalType:"uint32"},{name:"caller",type:"bytes32",internalType:"bytes32"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"setFeeManager",inputs:[{name:"_feeManager",type:"address",internalType:"address"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"setMintRecipient",inputs:[{name:"destDomain",type:"uint32",internalType:"uint32"},{name:"tokenIn",type:"address",internalType:"address"},{name:"mintRecipient",type:"bytes32",internalType:"bytes32"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"setPause",inputs:[{name:"_pause",type:"bool",internalType:"bool"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"setWhitelistedMsgSenders",inputs:[{name:"sender",type:"address",internalType:"address"},{name:"isWhitelisted",type:"bool",internalType:"bool"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"setWhitelistedSwapProtocols",inputs:[{name:"protocol",type:"address",internalType:"address"},{name:"isWhitelisted",type:"bool",internalType:"bool"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"whitelistedMsgSenders",inputs:[{name:"",type:"address",internalType:"address"}],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"view"},{type:"function",name:"whitelistedSwapProtocols",inputs:[{name:"",type:"address",internalType:"address"}],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"view"},{type:"event",name:"OrderFulfilled",inputs:[{name:"sourceDomain",type:"uint32",indexed:!1,internalType:"uint32"},{name:"sourceNonce",type:"bytes32",indexed:!1,internalType:"bytes32"},{name:"amount",type:"uint256",indexed:!1,internalType:"uint256"}],anonymous:!1},{type:"event",name:"OrderRefunded",inputs:[{name:"sourceDomain",type:"uint32",indexed:!1,internalType:"uint32"},{name:"sourceNonce",type:"bytes32",indexed:!1,internalType:"bytes32"},{name:"amount",type:"uint256",indexed:!1,internalType:"uint256"}],anonymous:!1},{type:"error",name:"AlreadySet",inputs:[]},{type:"error",name:"CallerNotSet",inputs:[]},{type:"error",name:"CctpReceiveFailed",inputs:[]},{type:"error",name:"DeadlineViolation",inputs:[]},{type:"error",name:"EthTransferFailed",inputs:[]},{type:"error",name:"InvalidAddress",inputs:[]},{type:"error",name:"InvalidAmountOut",inputs:[]},{type:"error",name:"InvalidGasDrop",inputs:[]},{type:"error",name:"InvalidMintRecipient",inputs:[]},{type:"error",name:"InvalidPayload",inputs:[]},{type:"error",name:"InvalidPayloadType",inputs:[]},{type:"error",name:"InvalidRedeemFee",inputs:[]},{type:"error",name:"InvalidRefundFee",inputs:[]},{type:"error",name:"MintRecipientNotSet",inputs:[]},{type:"error",name:"Paused",inputs:[]},{type:"error",name:"Unauthorized",inputs:[]},{type:"error",name:"UnauthorizedMsgSender",inputs:[]},{type:"error",name:"UnauthorizedSwapProtocol",inputs:[]}]};function getEvmFastMctpBridgeParams(e,t,r,n,o){const i=getWormholeChainIdById(Number(n)),u=getWormholeChainIdByName(e.fromChain),a=getWormholeChainIdByName(e.toChain);if(u!==i)throw new Error(`Signer chain id(${Number(n)}) and quote from chain are not same! ${u} !== ${i}`);const p=nativeAddressToHexString(t,a),s=getAmountOfFractionalAmount(e.redeemRelayerFee,CCTP_TOKEN_DECIMALS),c=getAmountOfFractionalAmount(e.gasDrop,Math.min(getGasDecimal(e.toChain),8)),d=BigInt(e.circleMaxFee64),y=BigInt(e.effectiveAmountIn64),l=getCCTPDomain(e.toChain);let m;if(r?m=nativeAddressToHexString(r,a):m=nativeAddressToHexString(unsignedTransaction.SystemProgram.programId.toString(),getWormholeChainIdByName("solana")),!e.fastMctpMayanContract)throw new Error("FastMctp contract address is missing");const f=e.fastMctpMayanContract;return{tokenIn:e.fastMctpInputContract,amountIn:y,redeemFee:s,gasDrop:c,destAddr:p,destDomain:l,referrerAddr:m,referrerBps:e.referrerBps,payloadType:FAST_MCTP_PAYLOAD_TYPE_DEFAULT,customPayload:"0x",minFinalityThreshold:Number(e.fastMctpMinFinality),circleMaxFee:d,contractAddress:f}}function getEvmFastMctpBridgeTxPayload(e,t,r,n,o){const i=getEvmFastMctpBridgeParams(e,t,r,n),{contractAddress:u,tokenIn:a,amountIn:p,destAddr:s,redeemFee:c,gasDrop:d,circleMaxFee:y,referrerAddr:l,referrerBps:m,destDomain:f,customPayload:T,minFinalityThreshold:g,payloadType:b}=i,h=new platform.Contract(u,MayanFastMctpArtifact_default.abi);let A,I;return A=h.interface.encodeFunctionData("bridge",[a,p,c,y,d,s,f,l,m,b,g,T]),I=platform.toBeHex(0),{to:u,data:A,value:I,_params:i}}function getEvmFastMctpCreateOrderParams(e,t,r,n){const o=getWormholeChainIdById(Number(n)),i=getWormholeChainIdByName(e.fromChain),u=getWormholeChainIdByName(e.toChain);if(i!==o)throw new Error(`Signer chain id(${Number(n)}) and quote from chain are not same! ${i} !== ${o}`);if(!e.fastMctpMayanContract)throw new Error("MCTP contract address is missing");const a=e.fastMctpMayanContract,p=nativeAddressToHexString(t,u);let s;r?s=nativeAddressToHexString(r,u):s=nativeAddressToHexString(unsignedTransaction.SystemProgram.programId.toString(),getWormholeChainIdByName("solana"));const c=getAmountOfFractionalAmount(e.redeemRelayerFee,CCTP_TOKEN_DECIMALS),d=BigInt(e.refundRelayerFee64),y=BigInt(e.circleMaxFee64),l=getAmountOfFractionalAmount(e.gasDrop,Math.min(getGasDecimal(e.toChain),8)),m=getCCTPDomain(e.toChain),f=BigInt(e.effectiveAmountIn64),T=getAmountOfFractionalAmount(e.minAmountOut,Math.min(8,e.toToken.decimals)),g=BigInt(e.deadline64),b=e.toToken.contract===platform.ZeroAddress?nativeAddressToHexString(unsignedTransaction.SystemProgram.programId.toString(),getWormholeChainIdByName("solana")):nativeAddressToHexString(e.toChain==="sui"?e.toToken.verifiedAddress:e.toToken.contract,e.toToken.wChainId);return{tokenIn:e.fastMctpInputContract,amountIn:f,circleMaxFee:y,destDomain:m,minFinalityThreshold:Number(e.fastMctpMinFinality),orderPayload:{payloadType:FAST_MCTP_PAYLOAD_TYPE_ORDER,destAddr:p,tokenOut:b,amountOutMin:T,gasDrop:l,redeemFee:c,refundFee:d,deadline:g,referrerAddr:s,referrerBps:e.referrerBps||0},contractAddress:a}}function getEvmFastMctpCreateOrderTxPayload(e,t,r,n){const o=getEvmFastMctpCreateOrderParams(e,t,r,n),{contractAddress:i,orderPayload:u,tokenIn:a,amountIn:p,circleMaxFee:s,destDomain:c,minFinalityThreshold:d}=o,l=new platform.Contract(i,MayanFastMctpArtifact_default.abi).interface.encodeFunctionData("createOrder",[a,p,s,c,d,u]),m=platform.toBeHex(0);return{to:i,data:l,value:m,_params:o}}function getFastMctpFromEvmTxPayload(e,t,r,n,o,i){if(e.type!=="FAST_MCTP")throw new Error("Quote type is not FAST_MCTP");if(!Number.isFinite(Number(n)))throw new Error("Invalid signer chain id");n=Number(n);const u=o||ZeroPermit,a=new platform.Contract(addresses_default.MAYAN_FORWARDER_CONTRACT,MayanForwarderArtifact_default.abi);if(e.fromToken.contract===e.fastMctpInputContract)if(e.hasAuction){if(!Number(e.deadline64))throw new Error("Fast Mctp order requires timeout");const p=getEvmFastMctpCreateOrderTxPayload(e,t,r,n),s="forwardERC20",c=[e.fromToken.contract,p._params.amountIn,u,p._params.contractAddress,p.data];return{data:a.interface.encodeFunctionData(s,c),to:addresses_default.MAYAN_FORWARDER_CONTRACT,value:platform.toBeHex(0),chainId:n,_forwarder:{method:s,params:c}}}else{const p=getEvmFastMctpBridgeTxPayload(e,t,r,n),s="forwardERC20",c=[e.fromToken.contract,p._params.amountIn,u,p._params.contractAddress,p.data];return{data:a.interface.encodeFunctionData(s,c),to:addresses_default.MAYAN_FORWARDER_CONTRACT,value:platform.toBeHex(0),chainId:n,_forwarder:{method:s,params:c}}}else{const{minMiddleAmount:p,evmSwapRouterAddress:s,evmSwapRouterCalldata:c}=e;if(!p||!s||!c)throw new Error("Fast Mctp swap requires middle amount, router address and calldata");if(e.hasAuction){if(!Number(e.deadline64))throw new Error("Fast Mctp order requires timeout");const d=getEvmFastMctpCreateOrderTxPayload(e,t,r,n),y=getAmountOfFractionalAmount(e.minMiddleAmount,CCTP_TOKEN_DECIMALS);if(e.fromToken.contract===platform.ZeroAddress){const l="swapAndForwardEth",m=[d._params.amountIn,s,c,e.fastMctpInputContract,y,d._params.contractAddress,d.data];return{data:a.interface.encodeFunctionData(l,m),to:addresses_default.MAYAN_FORWARDER_CONTRACT,value:platform.toBeHex(d._params.amountIn),chainId:n,_forwarder:{method:l,params:m}}}else{const l="swapAndForwardERC20",m=[e.fromToken.contract,d._params.amountIn,u,s,c,e.fastMctpInputContract,y,d._params.contractAddress,d.data];return{data:a.interface.encodeFunctionData(l,m),to:addresses_default.MAYAN_FORWARDER_CONTRACT,value:platform.toBeHex(0),chainId:n,_forwarder:{method:l,params:m}}}}else{const d=getEvmFastMctpBridgeTxPayload(e,t,r,n),y=getAmountOfFractionalAmount(e.minMiddleAmount,CCTP_TOKEN_DECIMALS);if(e.fromToken.contract===platform.ZeroAddress){const l="swapAndForwardEth",m=[d._params.amountIn,s,c,e.fastMctpInputContract,y,d._params.contractAddress,d.data];return{data:a.interface.encodeFunctionData(l,m),to:addresses_default.MAYAN_FORWARDER_CONTRACT,value:platform.toBeHex(d._params.amountIn),chainId:n,_forwarder:{method:l,params:m}}}else{const l="swapAndForwardERC20",m=[e.fromToken.contract,d._params.amountIn,u,s,c,e.fastMctpInputContract,y,d._params.contractAddress,d.data];return{data:a.interface.encodeFunctionData(l,m),to:addresses_default.MAYAN_FORWARDER_CONTRACT,value:platform.toBeHex(0),chainId:n,_forwarder:{method:l,params:m}}}}}}function getEvmSwapParams(e,t,r,n,o,i){const u=new unsignedTransaction.PublicKey(addresses_default.MAYAN_PROGRAM_ID),[a]=unsignedTransaction.PublicKey.findProgramAddressSync([platform.Buffer$1.from("MAIN")],u),p=getAssociatedTokenAddress(new unsignedTransaction.PublicKey(e.fromToken.mint),a,!0),s=BigInt(e.effectiveAmountIn64),c=nativeAddressToHexString(p.toString(),1),d=nativeAddressToHexString(addresses_default.AUCTION_PROGRAM_ID,1);let y;r?y=nativeAddressToHexString(r,1):y=nativeAddressToHexString(unsignedTransaction.SystemProgram.programId.toString(),1);const l=getWormholeChainIdById(Number(o)),m=getWormholeChainIdByName(e.fromChain),f=getWormholeChainIdByName(e.toChain);if(m!==l)throw new Error(`Signer chain id(${Number(o)}) and quote from chain are not same! ${m} !== ${l}`);const T=e.whMayanContract,g={mayanAddr:c,mayanChainId:1,destAddr:nativeAddressToHexString(t,f),destChainId:f,auctionAddr:d,referrer:y,refundAddr:nativeAddressToHexString(n,l)},b=e.toToken.contract===platform.ZeroAddress,h={transferDeadline:BigInt(e.deadline64),swapDeadline:BigInt(e.deadline64),amountOutMin:getAmountOfFractionalAmount(e.minAmountOut,Math.min(8,e.toToken.decimals)),gasDrop:getAmountOfFractionalAmount(e.gasDrop,Math.min(8,getGasDecimal(e.toChain))),unwrap:b,customPayload:"0x"},A={swapFee:getAmountOfFractionalAmount(e.swapRelayerFee,Math.min(8,e.fromToken.decimals)),redeemFee:getAmountOfFractionalAmount(e.redeemRelayerFee,Math.min(8,e.toToken.decimals)),refundFee:getAmountOfFractionalAmount(e.refundRelayerFee,Math.min(8,e.fromToken.decimals))},I=nativeAddressToHexString(e.toToken.realOriginContractAddress,e.toToken.realOriginChainId),C=getAmountOfFractionalAmount(e.bridgeFee,18);return{amountIn:s,tokenIn:e.fromToken.contract,tokenOut:I,tokenOutWChainId:e.toToken.realOriginChainId,criteria:h,recipient:g,relayerFees:A,contractAddress:T,bridgeFee:C}}function getSwapFromEvmTxPayload(e,t,r,n,o,i,u,a){const p=getWormholeChainIdById(Number(i)),s=getWormholeChainIdByName(e.fromChain);if(s!==p)throw new Error(`Signer chain id(${Number(i)}) and quote from chain are not same! ${s} !== ${p}`);const c=getQuoteSuitableReferrerAddress(e);if(e.type==="MCTP")return getMctpFromEvmTxPayload(e,r,c,i,a);if(e.type==="SWIFT")return getSwiftFromEvmTxPayload(e,t,r,c,i);if(e.type==="SHUTTLE")return getShuttleFromEvmTxPayload(e,r,i);if(e.type==="FAST_MCTP")return getFastMctpFromEvmTxPayload(e,r,c,i,a);if(e.type!="WH")throw new Error("Unsupported quote type");if(!Number(e.deadline64))throw new Error("WH mode requires a timeout");const{relayerFees:d,recipient:y,tokenOut:l,tokenOutWChainId:m,criteria:f,tokenIn:T,amountIn:g,contractAddress:b,bridgeFee:h}=getEvmSwapParams(e,r,c,o,i),A=new platform.Contract(addresses_default.MAYAN_FORWARDER_CONTRACT,MayanForwarderArtifact_default.abi),I=new platform.Contract(b,MayanSwapArtifact_default.abi);let C,w,M;const E=ZeroPermit;if(T===platform.ZeroAddress){const S=I.interface.encodeFunctionData("wrapAndSwapETH",[d,y,l,m,f]);C="forwardEth",w=[b,S],M=platform.toBeHex(g)}else{const S=I.interface.encodeFunctionData("swap",[d,y,l,m,f,T,g]);C="forwardERC20",w=[T,g,E,b,S],M=platform.toBeHex(h)}const P=A.interface.encodeFunctionData(C,w);return{to:addresses_default.MAYAN_FORWARDER_CONTRACT,data:P,value:M,chainId:i,_forwarder:{method:C,params:w}}}async function assertArgumentIsImmutable(e,t){let r;try{r=await t.getMoveFunctionArgTypes({package:e.package,module:e.module,function:e.function})}catch{throw new Error(`Failed to fetch ${e.package}::${e.module}::${e.function} ArgTypes`)}if(r){if(r[e.argumentIndex]!=="Pure"&&r[e.argumentIndex]?.Object!=="ByImmutableReference")throw new Error(`Argument ${e.argumentIndex} of ${e.module}::${e.function} is not immutable`)}else throw new Error(`Failed to fetch package::${e.module}::${e.function} ArgTypes`)}async function fetchAllCoins(e,t){let r=[],n=BigInt(0),o;do{const i=await t.getCoins({...e,owner:e.walletAddress,cursor:o}),u=i.data.filter(a=>BigInt(a.balance)>BigInt(0));if(r=[...r,...u],u.forEach(a=>{n+=BigInt(a.balance)}),i.data.length===0||!i.hasNextPage||!i.nextCursor||n>=e.coinAmount)return{coins:r.sort((a,p)=>Number(BigInt(a.coinObjectId)-BigInt(p.coinObjectId))),sum:n};o=i.nextCursor}while(!0)}async function fetchMayanSuiPackageId(e,t){let r;try{r=await t.getObject({id:e,options:{showContent:!0}})}catch(n){throw new Error(`Failed to fetch Mayan Sui package ID:
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const hypercore=require("./hypercore-DWVgITsg.js"),platform$1=require("./platform-B7H14r00.js"),unsignedTransaction=require("./unsignedTransaction-DPs4ICFO.js"),platform=require("./platform-DH1Olrgt.js"),tokenHelpers=require("./tokenHelpers-CMFBs8po.js"),associatedTokenAccount=require("./associatedTokenAccount-Cp_3Yxxh.js"),mint=require("./mint-C31tZg8F.js");var sha256={exports:{}},hasRequiredSha256;function requireSha256(){return hasRequiredSha256||(hasRequiredSha256=1,(function(module){(function(){var ERROR="input is invalid type",WINDOW=typeof window=="object",root=WINDOW?window:{};root.JS_SHA256_NO_WINDOW&&(WINDOW=!1);var WEB_WORKER=!WINDOW&&typeof self=="object",NODE_JS=!root.JS_SHA256_NO_NODE_JS&&typeof platform.process$1=="object"&&platform.process$1.versions&&platform.process$1.versions.node;NODE_JS?root=unsignedTransaction.commonjsGlobal:WEB_WORKER&&(root=self);var COMMON_JS=!root.JS_SHA256_NO_COMMON_JS&&!0&&module.exports,ARRAY_BUFFER=!root.JS_SHA256_NO_ARRAY_BUFFER&&typeof ArrayBuffer<"u",HEX_CHARS="0123456789abcdef".split(""),EXTRA=[-2147483648,8388608,32768,128],SHIFT=[24,16,8,0],K=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],OUTPUT_TYPES=["hex","array","digest","arrayBuffer"],blocks=[];(root.JS_SHA256_NO_NODE_JS||!Array.isArray)&&(Array.isArray=function(e){return Object.prototype.toString.call(e)==="[object Array]"}),ARRAY_BUFFER&&(root.JS_SHA256_NO_ARRAY_BUFFER_IS_VIEW||!ArrayBuffer.isView)&&(ArrayBuffer.isView=function(e){return typeof e=="object"&&e.buffer&&e.buffer.constructor===ArrayBuffer});var createOutputMethod=function(e,t){return function(r){return new Sha256(t,!0).update(r)[e]()}},createMethod=function(e){var t=createOutputMethod("hex",e);NODE_JS&&(t=nodeWrap(t,e)),t.create=function(){return new Sha256(e)},t.update=function(o){return t.create().update(o)};for(var r=0;r<OUTPUT_TYPES.length;++r){var n=OUTPUT_TYPES[r];t[n]=createOutputMethod(n,e)}return t},nodeWrap=function(method,is224){var crypto=eval("require('crypto')"),Buffer=eval("require('buffer').Buffer"),algorithm=is224?"sha224":"sha256",nodeMethod=function(e){if(typeof e=="string")return crypto.createHash(algorithm).update(e,"utf8").digest("hex");if(e==null)throw new Error(ERROR);return e.constructor===ArrayBuffer&&(e=new Uint8Array(e)),Array.isArray(e)||ArrayBuffer.isView(e)||e.constructor===Buffer?crypto.createHash(algorithm).update(new Buffer(e)).digest("hex"):method(e)};return nodeMethod},createHmacOutputMethod=function(e,t){return function(r,n){return new HmacSha256(r,t,!0).update(n)[e]()}},createHmacMethod=function(e){var t=createHmacOutputMethod("hex",e);t.create=function(o){return new HmacSha256(o,e)},t.update=function(o,i){return t.create(o).update(i)};for(var r=0;r<OUTPUT_TYPES.length;++r){var n=OUTPUT_TYPES[r];t[n]=createHmacOutputMethod(n,e)}return t};function Sha256(e,t){t?(blocks[0]=blocks[16]=blocks[1]=blocks[2]=blocks[3]=blocks[4]=blocks[5]=blocks[6]=blocks[7]=blocks[8]=blocks[9]=blocks[10]=blocks[11]=blocks[12]=blocks[13]=blocks[14]=blocks[15]=0,this.blocks=blocks):this.blocks=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],e?(this.h0=3238371032,this.h1=914150663,this.h2=812702999,this.h3=4144912697,this.h4=4290775857,this.h5=1750603025,this.h6=1694076839,this.h7=3204075428):(this.h0=1779033703,this.h1=3144134277,this.h2=1013904242,this.h3=2773480762,this.h4=1359893119,this.h5=2600822924,this.h6=528734635,this.h7=1541459225),this.block=this.start=this.bytes=this.hBytes=0,this.finalized=this.hashed=!1,this.first=!0,this.is224=e}Sha256.prototype.update=function(e){if(!this.finalized){var t,r=typeof e;if(r!=="string"){if(r==="object"){if(e===null)throw new Error(ERROR);if(ARRAY_BUFFER&&e.constructor===ArrayBuffer)e=new Uint8Array(e);else if(!Array.isArray(e)&&(!ARRAY_BUFFER||!ArrayBuffer.isView(e)))throw new Error(ERROR)}else throw new Error(ERROR);t=!0}for(var n,o=0,i,u=e.length,a=this.blocks;o<u;){if(this.hashed&&(this.hashed=!1,a[0]=this.block,a[16]=a[1]=a[2]=a[3]=a[4]=a[5]=a[6]=a[7]=a[8]=a[9]=a[10]=a[11]=a[12]=a[13]=a[14]=a[15]=0),t)for(i=this.start;o<u&&i<64;++o)a[i>>2]|=e[o]<<SHIFT[i++&3];else for(i=this.start;o<u&&i<64;++o)n=e.charCodeAt(o),n<128?a[i>>2]|=n<<SHIFT[i++&3]:n<2048?(a[i>>2]|=(192|n>>6)<<SHIFT[i++&3],a[i>>2]|=(128|n&63)<<SHIFT[i++&3]):n<55296||n>=57344?(a[i>>2]|=(224|n>>12)<<SHIFT[i++&3],a[i>>2]|=(128|n>>6&63)<<SHIFT[i++&3],a[i>>2]|=(128|n&63)<<SHIFT[i++&3]):(n=65536+((n&1023)<<10|e.charCodeAt(++o)&1023),a[i>>2]|=(240|n>>18)<<SHIFT[i++&3],a[i>>2]|=(128|n>>12&63)<<SHIFT[i++&3],a[i>>2]|=(128|n>>6&63)<<SHIFT[i++&3],a[i>>2]|=(128|n&63)<<SHIFT[i++&3]);this.lastByteIndex=i,this.bytes+=i-this.start,i>=64?(this.block=a[16],this.start=i-64,this.hash(),this.hashed=!0):this.start=i}return this.bytes>4294967295&&(this.hBytes+=this.bytes/4294967296<<0,this.bytes=this.bytes%4294967296),this}},Sha256.prototype.finalize=function(){if(!this.finalized){this.finalized=!0;var e=this.blocks,t=this.lastByteIndex;e[16]=this.block,e[t>>2]|=EXTRA[t&3],this.block=e[16],t>=56&&(this.hashed||this.hash(),e[0]=this.block,e[16]=e[1]=e[2]=e[3]=e[4]=e[5]=e[6]=e[7]=e[8]=e[9]=e[10]=e[11]=e[12]=e[13]=e[14]=e[15]=0),e[14]=this.hBytes<<3|this.bytes>>>29,e[15]=this.bytes<<3,this.hash()}},Sha256.prototype.hash=function(){var e=this.h0,t=this.h1,r=this.h2,n=this.h3,o=this.h4,i=this.h5,u=this.h6,a=this.h7,p=this.blocks,s,c,d,y,l,m,f,T,g,b,h;for(s=16;s<64;++s)l=p[s-15],c=(l>>>7|l<<25)^(l>>>18|l<<14)^l>>>3,l=p[s-2],d=(l>>>17|l<<15)^(l>>>19|l<<13)^l>>>10,p[s]=p[s-16]+c+p[s-7]+d<<0;for(h=t&r,s=0;s<64;s+=4)this.first?(this.is224?(T=300032,l=p[0]-1413257819,a=l-150054599<<0,n=l+24177077<<0):(T=704751109,l=p[0]-210244248,a=l-1521486534<<0,n=l+143694565<<0),this.first=!1):(c=(e>>>2|e<<30)^(e>>>13|e<<19)^(e>>>22|e<<10),d=(o>>>6|o<<26)^(o>>>11|o<<21)^(o>>>25|o<<7),T=e&t,y=T^e&r^h,f=o&i^~o&u,l=a+d+f+K[s]+p[s],m=c+y,a=n+l<<0,n=l+m<<0),c=(n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10),d=(a>>>6|a<<26)^(a>>>11|a<<21)^(a>>>25|a<<7),g=n&e,y=g^n&t^T,f=a&o^~a&i,l=u+d+f+K[s+1]+p[s+1],m=c+y,u=r+l<<0,r=l+m<<0,c=(r>>>2|r<<30)^(r>>>13|r<<19)^(r>>>22|r<<10),d=(u>>>6|u<<26)^(u>>>11|u<<21)^(u>>>25|u<<7),b=r&n,y=b^r&e^g,f=u&a^~u&o,l=i+d+f+K[s+2]+p[s+2],m=c+y,i=t+l<<0,t=l+m<<0,c=(t>>>2|t<<30)^(t>>>13|t<<19)^(t>>>22|t<<10),d=(i>>>6|i<<26)^(i>>>11|i<<21)^(i>>>25|i<<7),h=t&r,y=h^t&n^b,f=i&u^~i&a,l=o+d+f+K[s+3]+p[s+3],m=c+y,o=e+l<<0,e=l+m<<0;this.h0=this.h0+e<<0,this.h1=this.h1+t<<0,this.h2=this.h2+r<<0,this.h3=this.h3+n<<0,this.h4=this.h4+o<<0,this.h5=this.h5+i<<0,this.h6=this.h6+u<<0,this.h7=this.h7+a<<0},Sha256.prototype.hex=function(){this.finalize();var e=this.h0,t=this.h1,r=this.h2,n=this.h3,o=this.h4,i=this.h5,u=this.h6,a=this.h7,p=HEX_CHARS[e>>28&15]+HEX_CHARS[e>>24&15]+HEX_CHARS[e>>20&15]+HEX_CHARS[e>>16&15]+HEX_CHARS[e>>12&15]+HEX_CHARS[e>>8&15]+HEX_CHARS[e>>4&15]+HEX_CHARS[e&15]+HEX_CHARS[t>>28&15]+HEX_CHARS[t>>24&15]+HEX_CHARS[t>>20&15]+HEX_CHARS[t>>16&15]+HEX_CHARS[t>>12&15]+HEX_CHARS[t>>8&15]+HEX_CHARS[t>>4&15]+HEX_CHARS[t&15]+HEX_CHARS[r>>28&15]+HEX_CHARS[r>>24&15]+HEX_CHARS[r>>20&15]+HEX_CHARS[r>>16&15]+HEX_CHARS[r>>12&15]+HEX_CHARS[r>>8&15]+HEX_CHARS[r>>4&15]+HEX_CHARS[r&15]+HEX_CHARS[n>>28&15]+HEX_CHARS[n>>24&15]+HEX_CHARS[n>>20&15]+HEX_CHARS[n>>16&15]+HEX_CHARS[n>>12&15]+HEX_CHARS[n>>8&15]+HEX_CHARS[n>>4&15]+HEX_CHARS[n&15]+HEX_CHARS[o>>28&15]+HEX_CHARS[o>>24&15]+HEX_CHARS[o>>20&15]+HEX_CHARS[o>>16&15]+HEX_CHARS[o>>12&15]+HEX_CHARS[o>>8&15]+HEX_CHARS[o>>4&15]+HEX_CHARS[o&15]+HEX_CHARS[i>>28&15]+HEX_CHARS[i>>24&15]+HEX_CHARS[i>>20&15]+HEX_CHARS[i>>16&15]+HEX_CHARS[i>>12&15]+HEX_CHARS[i>>8&15]+HEX_CHARS[i>>4&15]+HEX_CHARS[i&15]+HEX_CHARS[u>>28&15]+HEX_CHARS[u>>24&15]+HEX_CHARS[u>>20&15]+HEX_CHARS[u>>16&15]+HEX_CHARS[u>>12&15]+HEX_CHARS[u>>8&15]+HEX_CHARS[u>>4&15]+HEX_CHARS[u&15];return this.is224||(p+=HEX_CHARS[a>>28&15]+HEX_CHARS[a>>24&15]+HEX_CHARS[a>>20&15]+HEX_CHARS[a>>16&15]+HEX_CHARS[a>>12&15]+HEX_CHARS[a>>8&15]+HEX_CHARS[a>>4&15]+HEX_CHARS[a&15]),p},Sha256.prototype.toString=Sha256.prototype.hex,Sha256.prototype.digest=function(){this.finalize();var e=this.h0,t=this.h1,r=this.h2,n=this.h3,o=this.h4,i=this.h5,u=this.h6,a=this.h7,p=[e>>24&255,e>>16&255,e>>8&255,e&255,t>>24&255,t>>16&255,t>>8&255,t&255,r>>24&255,r>>16&255,r>>8&255,r&255,n>>24&255,n>>16&255,n>>8&255,n&255,o>>24&255,o>>16&255,o>>8&255,o&255,i>>24&255,i>>16&255,i>>8&255,i&255,u>>24&255,u>>16&255,u>>8&255,u&255];return this.is224||p.push(a>>24&255,a>>16&255,a>>8&255,a&255),p},Sha256.prototype.array=Sha256.prototype.digest,Sha256.prototype.arrayBuffer=function(){this.finalize();var e=new ArrayBuffer(this.is224?28:32),t=new DataView(e);return t.setUint32(0,this.h0),t.setUint32(4,this.h1),t.setUint32(8,this.h2),t.setUint32(12,this.h3),t.setUint32(16,this.h4),t.setUint32(20,this.h5),t.setUint32(24,this.h6),this.is224||t.setUint32(28,this.h7),e};function HmacSha256(e,t,r){var n,o=typeof e;if(o==="string"){var i=[],u=e.length,a=0,p;for(n=0;n<u;++n)p=e.charCodeAt(n),p<128?i[a++]=p:p<2048?(i[a++]=192|p>>6,i[a++]=128|p&63):p<55296||p>=57344?(i[a++]=224|p>>12,i[a++]=128|p>>6&63,i[a++]=128|p&63):(p=65536+((p&1023)<<10|e.charCodeAt(++n)&1023),i[a++]=240|p>>18,i[a++]=128|p>>12&63,i[a++]=128|p>>6&63,i[a++]=128|p&63);e=i}else if(o==="object"){if(e===null)throw new Error(ERROR);if(ARRAY_BUFFER&&e.constructor===ArrayBuffer)e=new Uint8Array(e);else if(!Array.isArray(e)&&(!ARRAY_BUFFER||!ArrayBuffer.isView(e)))throw new Error(ERROR)}else throw new Error(ERROR);e.length>64&&(e=new Sha256(t,!0).update(e).array());var s=[],c=[];for(n=0;n<64;++n){var d=e[n]||0;s[n]=92^d,c[n]=54^d}Sha256.call(this,t,r),this.update(c),this.oKeyPad=s,this.inner=!0,this.sharedMemory=r}HmacSha256.prototype=new Sha256,HmacSha256.prototype.finalize=function(){if(Sha256.prototype.finalize.call(this),this.inner){this.inner=!1;var e=this.array();Sha256.call(this,this.is224,this.sharedMemory),this.update(this.oKeyPad),this.update(e),Sha256.prototype.finalize.call(this)}};var exports=createMethod();exports.sha256=exports,exports.sha224=createMethod(!0),exports.sha256.hmac=createHmacMethod(),exports.sha224.hmac=createHmacMethod(!0),COMMON_JS?module.exports=exports:(root.sha256=exports.sha256,root.sha224=exports.sha224)})()})(sha256)),sha256.exports}var sha256Exports=requireSha256();function base(e){if(e.length>=255)throw new TypeError("Alphabet too long");const t=new Uint8Array(256);for(let s=0;s<t.length;s++)t[s]=255;for(let s=0;s<e.length;s++){const c=e.charAt(s),d=c.charCodeAt(0);if(t[d]!==255)throw new TypeError(c+" is ambiguous");t[d]=s}const r=e.length,n=e.charAt(0),o=Math.log(r)/Math.log(256),i=Math.log(256)/Math.log(r);function u(s){if(s instanceof Uint8Array||(ArrayBuffer.isView(s)?s=new Uint8Array(s.buffer,s.byteOffset,s.byteLength):Array.isArray(s)&&(s=Uint8Array.from(s))),!(s instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(s.length===0)return"";let c=0,d=0,y=0;const l=s.length;for(;y!==l&&s[y]===0;)y++,c++;const m=(l-y)*i+1>>>0,f=new Uint8Array(m);for(;y!==l;){let b=s[y],h=0;for(let A=m-1;(b!==0||h<d)&&A!==-1;A--,h++)b+=256*f[A]>>>0,f[A]=b%r>>>0,b=b/r>>>0;if(b!==0)throw new Error("Non-zero carry");d=h,y++}let T=m-d;for(;T!==m&&f[T]===0;)T++;let g=n.repeat(c);for(;T<m;++T)g+=e.charAt(f[T]);return g}function a(s){if(typeof s!="string")throw new TypeError("Expected String");if(s.length===0)return new Uint8Array;let c=0,d=0,y=0;for(;s[c]===n;)d++,c++;const l=(s.length-c)*o+1>>>0,m=new Uint8Array(l);for(;c<s.length;){const b=s.charCodeAt(c);if(b>255)return;let h=t[b];if(h===255)return;let A=0;for(let I=l-1;(h!==0||A<y)&&I!==-1;I--,A++)h+=r*m[I]>>>0,m[I]=h%256>>>0,h=h/256>>>0;if(h!==0)throw new Error("Non-zero carry");y=A,c++}let f=l-y;for(;f!==l&&m[f]===0;)f++;const T=new Uint8Array(d+(l-f));let g=d;for(;f!==l;)T[g++]=m[f++];return T}function p(s){const c=a(s);if(c)return c;throw new Error("Non-base"+r+" character")}return{encode:u,decodeUnsafe:a,decode:p}}var ALPHABET="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";base(ALPHABET);var addresses_default={MAYAN_FORWARDER_CONTRACT:"0x076baB2Bf1aa0a06F47BD32245527f6D84d62Fd1",MAYAN_PROGRAM_ID:"FC4eXxkyrMPTjiYUpp4EAnkmwMbQyZ6NDCh1kfLn6vsf",AUCTION_PROGRAM_ID:"8QJmxZcEzwuYmCPy6XqgN2sHcYCcFq6AEfBMJZZuLo5a",MCTP_PROGRAM_ID:"dkpZqrxHFrhziEMQ931GLtfy11nFkCsfMftH9u6QwBU",SWIFT_PROGRAM_ID:"92peaC8g5ANAxpK2aCfLTC12JgPncRKCGULQNB2DMvRH",FEE_MANAGER_PROGRAM_ID:"EyQnmCoLDaFDuNdGYJuYNjFPorohwPuvUzhewg9nGej1",WORMHOLE_PROGRAM_ID:"3u8hJUVTA4jH1wYAyUur7FFZVQ8H635K3tSHHF4ssjQ5",CCTP_CORE_PROGRAM_ID:"CCTPmbSD7gX1bxKPAmg77w8oFzNFpaQiQUWD43TKaecd",CCTP_TOKEN_PROGRAM_ID:"CCTPiPYPc6AsJuwueEnWgSgucamXDZwBd53dQ11YiKX3",TOKEN_PROGRAM_ID:"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA",TOKEN_2022_PROGRAM_ID:"TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb",ASSOCIATED_TOKEN_PROGRAM_ID:"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL",SPL_UTILS_PROGRAM_ID:"B96dV3Luxzo6SokJx3xt8i5y8Mb7HRR6Eec8hCjJDT69",LOOKUP_TABLE:"8fVCtaFqfEAtGtqcoVyawy1Mytj461T4Ti4YjHZqfF47",SUI_MCTP_STATE:"0xb787fe0f7530b4fd2162fa0cc92f4f6c5a97c54b4c5c55eb04ab29f4b803ac9c",SUI_MCTP_FEE_MANAGER_STATE:"0xa1b4a96ce93d36dd0bbce0adc39533a07d2f32928918c80cd6fe7868320978f2",SUI_CCTP_CORE_PACKAGE_ID:"0x08d87d37ba49e785dde270a83f8e979605b03dc552b5548f26fdf2f49bf7ed1b",SUI_CCTP_CORE_STATE:"0xf68268c3d9b1df3215f2439400c1c4ea08ac4ef4bb7d6f3ca6a2a239e17510af",SUI_CCTP_TOKEN_PACKAGE_ID:"0x2aa6c5d56376c371f88a6cc42e852824994993cb9bab8d3e6450cbe3cb32b94e",SUI_CCTP_TOKEN_STATE:"0x45993eecc0382f37419864992c12faee2238f5cfe22b98ad3bf455baf65c8a2f",SUI_WORMHOLE_PACKAGE_ID:"0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a",SUI_WORMHOLE_STATE:"0xaeab97f96cf9877fee2883315d459552b2b921edc16d7ceac6eab944dd88919c",SUI_LOGGER_PACKAGE_ID:"0x05680e9030c147b413a489f7891273acc221d49bd061c433e5771bc170fc37ac",EXPLORER_URL:"https://testnet-explorer-api.mayan.finance/v3",PRICE_URL:"https://testnet-price-api.mayan.finance/v3",RELAYER_URL:"https://testnet-relayer-api.mayan.finance/v3"};function nativeAddressToHexString(e,t){if(t===1)return platform.zeroPadValue(new unsignedTransaction.PublicKey(e).toBytes(),32);if(t===chains.ethereum||t===chains.base||t===chains.monad)return platform.zeroPadValue(e,32);throw console.log(`Unsupported chain id: ${t}`,e),new Error("Unsupported token chain")}function hexToUint8Array(e){return new Uint8Array(platform.Buffer$1.from(e.startsWith("0x")?e.substring(2):e,"hex"))}function getAssociatedTokenAddress(e,t,r=!1,n=new unsignedTransaction.PublicKey(addresses_default.TOKEN_PROGRAM_ID),o=new unsignedTransaction.PublicKey(addresses_default.ASSOCIATED_TOKEN_PROGRAM_ID)){if(!r&&!unsignedTransaction.PublicKey.isOnCurve(t.toBuffer()))throw new Error("TokenOwnerOffCurveError");const[i]=unsignedTransaction.PublicKey.findProgramAddressSync([t.toBuffer(),n.toBuffer(),e.toBuffer()],o);return i}function getAmountOfFractionalAmount(e,t){if(e==null)throw new Error("getAmountOfFractionalAmount: Amount is null or undefined");if(typeof e!="string"&&typeof e!="number")throw new Error("getAmountOfFractionalAmount: Amount is not a string or number");if(typeof e=="string"&&e.length===0)throw new Error("getAmountOfFractionalAmount: Amount is empty");if(!Number.isFinite(Number(e)))throw new Error("getAmountOfFractionalAmount: Amount is not a number");const r=Math.min(8,Number(t)),n=Number(e).toFixed(r+1),o=new RegExp(`^-?\\d+(?:\\.\\d{0,${r}})?`),i=n.match(o);if(!i)throw new Error("getAmountOfFractionalAmount: fixedAmount is null");const u=i[0];return hypercore.parseUnits(u,Number(t))}var chains={solana:1,ethereum:10002,base:10004,monad:48,sui:21};function getWormholeChainIdByName(e){return chains[e]}var evmChainIdMap={11155111:10002,84532:10004,10143:48};function getWormholeChainIdById(e){return evmChainIdMap[e]}var sdkVersion=[10,5,0];function getSdkVersion(){return sdkVersion.join("_")}function getGasDecimal(e){return e==="solana"?9:18}function getGasDecimalsInSolana(e){return e==="solana"?9:8}var MAX_U64=BigInt(2)**BigInt(64)-BigInt(1);function getSafeU64Blob(e){if(e<BigInt(0)||e>MAX_U64)throw new Error(`Invalid u64: ${e}`);const t=platform.Buffer$1.alloc(8);return t.writeBigUInt64LE(e),t}var ZeroPermit={value:BigInt(0),deadline:0,v:0,r:`0x${unsignedTransaction.SystemProgram.programId.toBuffer().toString("hex")}`,s:`0x${unsignedTransaction.SystemProgram.programId.toBuffer().toString("hex")}`};function getQuoteSuitableReferrerAddress(e,t){return null}var MCTP_PAYLOAD_TYPE_DEFAULT=1,MCTP_INIT_ORDER_PAYLOAD_ID=1,FAST_MCTP_PAYLOAD_TYPE_DEFAULT=1,FAST_MCTP_PAYLOAD_TYPE_ORDER=3;function toQueryString(e){return Object.entries(e).filter(([t,r])=>r!=null&&!Array.isArray(r)).map(([t,r])=>`${encodeURIComponent(t)}=${encodeURIComponent(r)}`).join("&")}async function check5xxError(e){if(e.status.toString().startsWith("5")){let t;try{const r=await e.json();(r?.code||r?.statusCode)&&(r?.message||r?.msg)&&(t={code:r?.code||r?.statusCode,message:r?.message||r?.msg})}catch{t=new Error("Internal server error")}throw t}}function generateFetchQuoteUrl(e,t={wormhole:!0,swift:!0,mctp:!0,shuttle:!0,gasless:!1,onlyDirect:!1,fastMctp:!0}){const{gasDrop:r,referrerBps:n}=e;let o=e.slippageBps;o!=="auto"&&!Number.isFinite(o)&&(o=e.slippage*100);const u={...{wormhole:t.wormhole!==!1,swift:t.swift!==!1,mctp:t.mctp!==!1,shuttle:t.shuttle===!0,fastMctp:t.fastMctp!==!1,gasless:t.gasless===!0,onlyDirect:t.onlyDirect===!0},solanaProgram:addresses_default.MAYAN_PROGRAM_ID,forwarderAddress:addresses_default.MAYAN_FORWARDER_CONTRACT,amountIn:!e.amountIn64&&Number.isFinite(e.amount)?e.amount:void 0,amountIn64:e.amountIn64,fromToken:e.fromToken,fromChain:e.fromChain,toToken:e.toToken,toChain:e.toChain,slippageBps:o,referrer:e.referrer,referrerBps:Number.isFinite(n)?n:void 0,gasDrop:Number.isFinite(r)?r:void 0,sdkVersion:getSdkVersion()},a=`${addresses_default.PRICE_URL}/quote?`,p=toQueryString(u);return a+p}async function getSuggestedRelayer(){const e=await hypercore.o(`${addresses_default.RELAYER_URL}/active-relayers?solanaProgram=${addresses_default.MAYAN_PROGRAM_ID}`,{method:"GET",redirect:"follow"});await check5xxError(e);const t=await e.json();if(e.status!==200&&e.status!==201)throw t;return t.suggested}async function getSwapSolana(e){const t=toQueryString({...e,sdkVersion:getSdkVersion()}),r=await hypercore.o(`${addresses_default.PRICE_URL}/get-swap/solana?${t}`,{method:"GET",redirect:"follow"});await check5xxError(r);const n=await r.json();if(r.status!==200&&r.status!==201)throw n;return n}async function getSwapSui(e){const t=JSON.stringify({...e,sdkVersion:getSdkVersion()}),r=`${addresses_default.PRICE_URL}/get-swap/sui`,n=await hypercore.o(r,{method:"POST",redirect:"follow",body:t,headers:{"Content-Type":"application/json"}});await check5xxError(n);const o=await n.json();if(n.status!==200&&n.status!==201)throw o;return o}var MayanSwapArtifact_default={abi:[{inputs:[{internalType:"address",name:"_tokenBridge",type:"address"},{internalType:"address",name:"_weth",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint16",name:"emitterChainId",type:"uint16"},{indexed:!0,internalType:"bytes32",name:"emitterAddress",type:"bytes32"},{indexed:!0,internalType:"uint64",name:"sequence",type:"uint64"}],name:"Redeemed",type:"event"},{inputs:[{internalType:"address",name:"newGuardian",type:"address"}],name:"changeGuardian",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"claimGuardian",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"uint8",name:"payloadId",type:"uint8"},{internalType:"bytes32",name:"tokenAddr",type:"bytes32"},{internalType:"uint16",name:"tokenChainId",type:"uint16"},{internalType:"bytes32",name:"destAddr",type:"bytes32"},{internalType:"uint16",name:"destChainId",type:"uint16"},{internalType:"bytes32",name:"sourceAddr",type:"bytes32"},{internalType:"uint16",name:"sourceChainId",type:"uint16"},{internalType:"uint64",name:"sequence",type:"uint64"},{internalType:"uint64",name:"amountOutMin",type:"uint64"},{internalType:"uint64",name:"deadline",type:"uint64"},{internalType:"uint64",name:"swapFee",type:"uint64"},{internalType:"uint64",name:"redeemFee",type:"uint64"},{internalType:"uint64",name:"refundFee",type:"uint64"},{internalType:"bytes32",name:"auctionAddr",type:"bytes32"},{internalType:"bool",name:"unwrapRedeem",type:"bool"},{internalType:"bool",name:"unwrapRefund",type:"bool"}],internalType:"struct MayanStructs.Swap",name:"s",type:"tuple"}],name:"encodeSwap",outputs:[{internalType:"bytes",name:"encoded",type:"bytes"}],stateMutability:"pure",type:"function"},{inputs:[],name:"getWeth",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"isPaused",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"encoded",type:"bytes"}],name:"parseRedeemPayload",outputs:[{components:[{internalType:"uint8",name:"payloadId",type:"uint8"},{internalType:"bytes32",name:"recipient",type:"bytes32"},{internalType:"uint64",name:"relayerFee",type:"uint64"},{internalType:"bool",name:"unwrap",type:"bool"},{internalType:"uint64",name:"gasDrop",type:"uint64"},{internalType:"bytes",name:"customPayload",type:"bytes"}],internalType:"struct MayanStructs.Redeem",name:"r",type:"tuple"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"bytes",name:"encodedVm",type:"bytes"}],name:"redeem",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bytes",name:"encodedVm",type:"bytes"}],name:"redeemAndUnwrap",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bool",name:"_pause",type:"bool"}],name:"setPause",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"uint64",name:"swapFee",type:"uint64"},{internalType:"uint64",name:"redeemFee",type:"uint64"},{internalType:"uint64",name:"refundFee",type:"uint64"}],internalType:"struct MayanSwap.RelayerFees",name:"relayerFees",type:"tuple"},{components:[{internalType:"bytes32",name:"mayanAddr",type:"bytes32"},{internalType:"uint16",name:"mayanChainId",type:"uint16"},{internalType:"bytes32",name:"auctionAddr",type:"bytes32"},{internalType:"bytes32",name:"destAddr",type:"bytes32"},{internalType:"uint16",name:"destChainId",type:"uint16"},{internalType:"bytes32",name:"referrer",type:"bytes32"},{internalType:"bytes32",name:"refundAddr",type:"bytes32"}],internalType:"struct MayanSwap.Recepient",name:"recipient",type:"tuple"},{internalType:"bytes32",name:"tokenOutAddr",type:"bytes32"},{internalType:"uint16",name:"tokenOutChainId",type:"uint16"},{components:[{internalType:"uint256",name:"transferDeadline",type:"uint256"},{internalType:"uint64",name:"swapDeadline",type:"uint64"},{internalType:"uint64",name:"amountOutMin",type:"uint64"},{internalType:"bool",name:"unwrap",type:"bool"},{internalType:"uint64",name:"gasDrop",type:"uint64"},{internalType:"bytes",name:"customPayload",type:"bytes"}],internalType:"struct MayanSwap.Criteria",name:"criteria",type:"tuple"},{internalType:"address",name:"tokenIn",type:"address"},{internalType:"uint256",name:"amountIn",type:"uint256"}],name:"swap",outputs:[{internalType:"uint64",name:"sequence",type:"uint64"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"address payable",name:"to",type:"address"}],name:"sweepEth",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"address",name:"to",type:"address"}],name:"sweepToken",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"uint64",name:"swapFee",type:"uint64"},{internalType:"uint64",name:"redeemFee",type:"uint64"},{internalType:"uint64",name:"refundFee",type:"uint64"}],internalType:"struct MayanSwap.RelayerFees",name:"relayerFees",type:"tuple"},{components:[{internalType:"bytes32",name:"mayanAddr",type:"bytes32"},{internalType:"uint16",name:"mayanChainId",type:"uint16"},{internalType:"bytes32",name:"auctionAddr",type:"bytes32"},{internalType:"bytes32",name:"destAddr",type:"bytes32"},{internalType:"uint16",name:"destChainId",type:"uint16"},{internalType:"bytes32",name:"referrer",type:"bytes32"},{internalType:"bytes32",name:"refundAddr",type:"bytes32"}],internalType:"struct MayanSwap.Recepient",name:"recipient",type:"tuple"},{internalType:"bytes32",name:"tokenOutAddr",type:"bytes32"},{internalType:"uint16",name:"tokenOutChainId",type:"uint16"},{components:[{internalType:"uint256",name:"transferDeadline",type:"uint256"},{internalType:"uint64",name:"swapDeadline",type:"uint64"},{internalType:"uint64",name:"amountOutMin",type:"uint64"},{internalType:"bool",name:"unwrap",type:"bool"},{internalType:"uint64",name:"gasDrop",type:"uint64"},{internalType:"bytes",name:"customPayload",type:"bytes"}],internalType:"struct MayanSwap.Criteria",name:"criteria",type:"tuple"}],name:"wrapAndSwapETH",outputs:[{internalType:"uint64",name:"sequence",type:"uint64"}],stateMutability:"payable",type:"function"},{stateMutability:"payable",type:"receive"}]},MayanForwarderArtifact_default={abi:[{inputs:[{internalType:"address",name:"_guardian",type:"address"},{internalType:"address[]",name:"_swapProtocols",type:"address[]"},{internalType:"address[]",name:"_mayanProtocols",type:"address[]"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"UnsupportedProtocol",type:"error"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"token",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"address",name:"mayanProtocol",type:"address"},{indexed:!1,internalType:"bytes",name:"protocolData",type:"bytes"}],name:"ForwardedERC20",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"mayanProtocol",type:"address"},{indexed:!1,internalType:"bytes",name:"protocolData",type:"bytes"}],name:"ForwardedEth",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"SwapAndForwarded",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"tokenIn",type:"address"},{indexed:!1,internalType:"uint256",name:"amountIn",type:"uint256"},{indexed:!1,internalType:"address",name:"swapProtocol",type:"address"},{indexed:!1,internalType:"address",name:"middleToken",type:"address"},{indexed:!1,internalType:"uint256",name:"middleAmount",type:"uint256"},{indexed:!1,internalType:"address",name:"mayanProtocol",type:"address"},{indexed:!1,internalType:"bytes",name:"mayanData",type:"bytes"}],name:"SwapAndForwardedERC20",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"amountIn",type:"uint256"},{indexed:!1,internalType:"address",name:"swapProtocol",type:"address"},{indexed:!1,internalType:"address",name:"middleToken",type:"address"},{indexed:!1,internalType:"uint256",name:"middleAmount",type:"uint256"},{indexed:!1,internalType:"address",name:"mayanProtocol",type:"address"},{indexed:!1,internalType:"bytes",name:"mayanData",type:"bytes"}],name:"SwapAndForwardedEth",type:"event"},{inputs:[{internalType:"address",name:"newGuardian",type:"address"}],name:"changeGuardian",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"claimGuardian",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"tokenIn",type:"address"},{internalType:"uint256",name:"amountIn",type:"uint256"},{components:[{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],internalType:"struct MayanForwarder.PermitParams",name:"permitParams",type:"tuple"},{internalType:"address",name:"mayanProtocol",type:"address"},{internalType:"bytes",name:"protocolData",type:"bytes"}],name:"forwardERC20",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"mayanProtocol",type:"address"},{internalType:"bytes",name:"protocolData",type:"bytes"}],name:"forwardEth",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"guardian",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"mayanProtocols",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"nextGuardian",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"address payable",name:"to",type:"address"}],name:"rescueEth",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"address",name:"to",type:"address"}],name:"rescueToken",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"mayanProtocol",type:"address"},{internalType:"bool",name:"enabled",type:"bool"}],name:"setMayanProtocol",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"swapProtocol",type:"address"},{internalType:"bool",name:"enabled",type:"bool"}],name:"setSwapProtocol",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"tokenIn",type:"address"},{internalType:"uint256",name:"amountIn",type:"uint256"},{components:[{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],internalType:"struct MayanForwarder.PermitParams",name:"permitParams",type:"tuple"},{internalType:"address",name:"swapProtocol",type:"address"},{internalType:"bytes",name:"swapData",type:"bytes"},{internalType:"address",name:"middleToken",type:"address"},{internalType:"uint256",name:"minMiddleAmount",type:"uint256"},{internalType:"address",name:"mayanProtocol",type:"address"},{internalType:"bytes",name:"mayanData",type:"bytes"}],name:"swapAndForwardERC20",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"address",name:"swapProtocol",type:"address"},{internalType:"bytes",name:"swapData",type:"bytes"},{internalType:"address",name:"middleToken",type:"address"},{internalType:"uint256",name:"minMiddleAmount",type:"uint256"},{internalType:"address",name:"mayanProtocol",type:"address"},{internalType:"bytes",name:"mayanData",type:"bytes"}],name:"swapAndForwardEth",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"swapProtocols",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"}]},MayanCircleArtifact_default={abi:[{inputs:[{internalType:"address",name:"_cctpTokenMessenger",type:"address"},{internalType:"address",name:"_wormhole",type:"address"},{internalType:"address",name:"_feeManager",type:"address"},{internalType:"uint16",name:"_auctionChainId",type:"uint16"},{internalType:"bytes32",name:"_auctionAddr",type:"bytes32"},{internalType:"uint8",name:"_consistencyLevel",type:"uint8"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"CallerAlreadySet",type:"error"},{inputs:[],name:"CallerNotSet",type:"error"},{inputs:[],name:"CctpReceiveFailed",type:"error"},{inputs:[],name:"DeadlineViolation",type:"error"},{inputs:[],name:"DomainAlreadySet",type:"error"},{inputs:[],name:"DomainNotSet",type:"error"},{inputs:[],name:"EmitterAlreadySet",type:"error"},{inputs:[],name:"EthTransferFailed",type:"error"},{inputs:[],name:"InvalidAction",type:"error"},{inputs:[],name:"InvalidAddress",type:"error"},{inputs:[],name:"InvalidAmountOut",type:"error"},{inputs:[],name:"InvalidCaller",type:"error"},{inputs:[],name:"InvalidDestAddr",type:"error"},{inputs:[],name:"InvalidDomain",type:"error"},{inputs:[],name:"InvalidEmitter",type:"error"},{inputs:[],name:"InvalidGasDrop",type:"error"},{inputs:[],name:"InvalidMintRecipient",type:"error"},{inputs:[],name:"InvalidNonce",type:"error"},{inputs:[],name:"InvalidOrder",type:"error"},{inputs:[],name:"InvalidPayload",type:"error"},{inputs:[],name:"InvalidProtocolFee",type:"error"},{inputs:[],name:"InvalidRedeemFee",type:"error"},{inputs:[],name:"InvalidReferrerFee",type:"error"},{inputs:[],name:"MintRecipientAlreadySet",type:"error"},{inputs:[],name:"MintRecipientNotSet",type:"error"},{inputs:[],name:"Paused",type:"error"},{inputs:[],name:"Unauthorized",type:"error"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint32",name:"sourceDomain",type:"uint32"},{indexed:!1,internalType:"uint64",name:"sourceNonce",type:"uint64"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"OrderFulfilled",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint32",name:"sourceDomain",type:"uint32"},{indexed:!1,internalType:"uint64",name:"sourceNonce",type:"uint64"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"OrderRefunded",type:"event"},{inputs:[],name:"auctionAddr",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"auctionChainId",outputs:[{internalType:"uint16",name:"",type:"uint16"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"tokenIn",type:"address"},{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint64",name:"redeemFee",type:"uint64"},{internalType:"uint64",name:"gasDrop",type:"uint64"},{internalType:"bytes32",name:"destAddr",type:"bytes32"},{internalType:"uint32",name:"destDomain",type:"uint32"},{internalType:"uint8",name:"payloadType",type:"uint8"},{internalType:"bytes",name:"customPayload",type:"bytes"}],name:"bridgeWithFee",outputs:[{internalType:"uint64",name:"sequence",type:"uint64"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"tokenIn",type:"address"},{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint64",name:"gasDrop",type:"uint64"},{internalType:"uint256",name:"redeemFee",type:"uint256"},{internalType:"uint32",name:"destDomain",type:"uint32"},{internalType:"bytes32",name:"destAddr",type:"bytes32"}],name:"bridgeWithLockedFee",outputs:[{internalType:"uint64",name:"cctpNonce",type:"uint64"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"cctpTokenMessenger",outputs:[{internalType:"contract ITokenMessenger",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint16",name:"",type:"uint16"}],name:"chainIdToEmitter",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"newGuardian",type:"address"}],name:"changeGuardian",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"claimGuardian",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"consistencyLevel",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[{components:[{internalType:"address",name:"tokenIn",type:"address"},{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint64",name:"gasDrop",type:"uint64"},{internalType:"bytes32",name:"destAddr",type:"bytes32"},{internalType:"uint16",name:"destChain",type:"uint16"},{internalType:"bytes32",name:"tokenOut",type:"bytes32"},{internalType:"uint64",name:"minAmountOut",type:"uint64"},{internalType:"uint64",name:"deadline",type:"uint64"},{internalType:"uint64",name:"redeemFee",type:"uint64"},{internalType:"bytes32",name:"referrerAddr",type:"bytes32"},{internalType:"uint8",name:"referrerBps",type:"uint8"}],internalType:"struct MayanCircle.OrderParams",name:"params",type:"tuple"}],name:"createOrder",outputs:[{internalType:"uint64",name:"sequence",type:"uint64"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint32",name:"",type:"uint32"}],name:"domainToCaller",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"feeManager",outputs:[{internalType:"contract IFeeManager",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint64",name:"",type:"uint64"}],name:"feeStorage",outputs:[{internalType:"bytes32",name:"destAddr",type:"bytes32"},{internalType:"uint64",name:"gasDrop",type:"uint64"},{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"redeemFee",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"cctpMsg",type:"bytes"},{internalType:"bytes",name:"cctpSigs",type:"bytes"},{internalType:"bytes",name:"encodedVm",type:"bytes"},{components:[{internalType:"bytes32",name:"destAddr",type:"bytes32"},{internalType:"uint16",name:"destChainId",type:"uint16"},{internalType:"bytes32",name:"tokenOut",type:"bytes32"},{internalType:"uint64",name:"promisedAmount",type:"uint64"},{internalType:"uint64",name:"gasDrop",type:"uint64"},{internalType:"uint64",name:"redeemFee",type:"uint64"},{internalType:"uint64",name:"deadline",type:"uint64"},{internalType:"bytes32",name:"referrerAddr",type:"bytes32"},{internalType:"uint8",name:"referrerBps",type:"uint8"},{internalType:"uint8",name:"protocolBps",type:"uint8"},{internalType:"bytes32",name:"driver",type:"bytes32"}],internalType:"struct MayanCircle.FulfillParams",name:"params",type:"tuple"},{internalType:"address",name:"swapProtocol",type:"address"},{internalType:"bytes",name:"swapData",type:"bytes"}],name:"fulfillOrder",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint16",name:"chainId",type:"uint16"}],name:"getDomain",outputs:[{internalType:"uint32",name:"domain",type:"uint32"}],stateMutability:"view",type:"function"},{inputs:[],name:"guardian",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"isPaused",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"",type:"bytes32"}],name:"keyToMintRecipient",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"localDomain",outputs:[{internalType:"uint32",name:"",type:"uint32"}],stateMutability:"view",type:"function"},{inputs:[],name:"paused",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"cctpMsg",type:"bytes"},{internalType:"bytes",name:"cctpSigs",type:"bytes"},{internalType:"bytes",name:"encodedVm",type:"bytes"},{components:[{internalType:"uint8",name:"payloadType",type:"uint8"},{internalType:"bytes32",name:"destAddr",type:"bytes32"},{internalType:"uint64",name:"gasDrop",type:"uint64"},{internalType:"uint64",name:"redeemFee",type:"uint64"},{internalType:"uint64",name:"burnAmount",type:"uint64"},{internalType:"bytes32",name:"burnToken",type:"bytes32"},{internalType:"bytes32",name:"customPayload",type:"bytes32"}],internalType:"struct MayanCircle.BridgeWithFeeParams",name:"bridgeParams",type:"tuple"}],name:"redeemWithFee",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bytes",name:"cctpMsg",type:"bytes"},{internalType:"bytes",name:"cctpSigs",type:"bytes"},{internalType:"bytes32",name:"unlockerAddr",type:"bytes32"}],name:"redeemWithLockedFee",outputs:[{internalType:"uint64",name:"sequence",type:"uint64"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint32",name:"cctpNonce",type:"uint32"},{internalType:"uint32",name:"cctpDomain",type:"uint32"},{internalType:"bytes32",name:"destAddr",type:"bytes32"},{internalType:"bytes32",name:"unlockerAddr",type:"bytes32"}],name:"refineFee",outputs:[{internalType:"uint64",name:"sequence",type:"uint64"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bytes",name:"encodedVm",type:"bytes"},{internalType:"bytes",name:"cctpMsg",type:"bytes"},{internalType:"bytes",name:"cctpSigs",type:"bytes"},{components:[{internalType:"address",name:"tokenIn",type:"address"},{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint64",name:"gasDrop",type:"uint64"},{internalType:"bytes32",name:"destAddr",type:"bytes32"},{internalType:"uint16",name:"destChain",type:"uint16"},{internalType:"bytes32",name:"tokenOut",type:"bytes32"},{internalType:"uint64",name:"minAmountOut",type:"uint64"},{internalType:"uint64",name:"deadline",type:"uint64"},{internalType:"uint64",name:"redeemFee",type:"uint64"},{internalType:"bytes32",name:"referrerAddr",type:"bytes32"},{internalType:"uint8",name:"referrerBps",type:"uint8"}],internalType:"struct MayanCircle.OrderParams",name:"orderParams",type:"tuple"},{components:[{internalType:"bytes32",name:"trader",type:"bytes32"},{internalType:"uint16",name:"sourceChainId",type:"uint16"},{internalType:"uint8",name:"protocolBps",type:"uint8"}],internalType:"struct MayanCircle.ExtraParams",name:"extraParams",type:"tuple"}],name:"refund",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"address payable",name:"to",type:"address"}],name:"rescueEth",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"address",name:"to",type:"address"}],name:"rescueToken",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint8",name:"_consistencyLevel",type:"uint8"}],name:"setConsistencyLevel",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint16",name:"chainId",type:"uint16"},{internalType:"uint32",name:"domain",type:"uint32"}],name:"setDomain",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint32",name:"domain",type:"uint32"},{internalType:"bytes32",name:"caller",type:"bytes32"}],name:"setDomainCaller",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint16",name:"chainId",type:"uint16"},{internalType:"bytes32",name:"emitter",type:"bytes32"}],name:"setEmitter",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_feeManager",type:"address"}],name:"setFeeManager",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint32",name:"destDomain",type:"uint32"},{internalType:"address",name:"tokenIn",type:"address"},{internalType:"bytes32",name:"mintRecipient",type:"bytes32"}],name:"setMintRecipient",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bool",name:"_pause",type:"bool"}],name:"setPause",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"encodedVm",type:"bytes"},{components:[{internalType:"uint8",name:"action",type:"uint8"},{internalType:"uint8",name:"payloadType",type:"uint8"},{internalType:"uint64",name:"cctpNonce",type:"uint64"},{internalType:"uint32",name:"cctpDomain",type:"uint32"},{internalType:"bytes32",name:"unlockerAddr",type:"bytes32"},{internalType:"uint64",name:"gasDrop",type:"uint64"}],internalType:"struct MayanCircle.UnlockFeeMsg",name:"unlockMsg",type:"tuple"}],name:"unlockFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"encodedVm1",type:"bytes"},{internalType:"bytes",name:"encodedVm2",type:"bytes"},{components:[{internalType:"uint8",name:"action",type:"uint8"},{internalType:"uint8",name:"payloadType",type:"uint8"},{internalType:"uint64",name:"cctpNonce",type:"uint64"},{internalType:"uint32",name:"cctpDomain",type:"uint32"},{internalType:"bytes32",name:"unlockerAddr",type:"bytes32"},{internalType:"uint64",name:"gasDrop",type:"uint64"}],internalType:"struct MayanCircle.UnlockFeeMsg",name:"unlockMsg",type:"tuple"},{components:[{internalType:"uint8",name:"action",type:"uint8"},{internalType:"uint8",name:"payloadType",type:"uint8"},{internalType:"uint64",name:"cctpNonce",type:"uint64"},{internalType:"uint32",name:"cctpDomain",type:"uint32"},{internalType:"bytes32",name:"unlockerAddr",type:"bytes32"},{internalType:"uint64",name:"gasDrop",type:"uint64"},{internalType:"bytes32",name:"destAddr",type:"bytes32"}],internalType:"struct MayanCircle.UnlockRefinedFeeMsg",name:"refinedMsg",type:"tuple"}],name:"unlockFeeRefined",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"wormhole",outputs:[{internalType:"contract IWormhole",name:"",type:"address"}],stateMutability:"view",type:"function"},{stateMutability:"payable",type:"receive"}]},CCTP_TOKEN_DECIMALS=6;function getCCTPDomain(e){switch(e){case"ethereum":return 0;case"avalanche":return 1;case"optimism":return 2;case"arbitrum":return 3;case"solana":return 5;case"base":return 6;case"polygon":return 7;case"sui":return 8;case"unichain":return 10;case"linea":return 11;default:throw new Error("unsupported chain for cctp")}}function getCCTPBridgePDAs(e,t){const r=new unsignedTransaction.PublicKey(addresses_default.CCTP_CORE_PROGRAM_ID),n=new unsignedTransaction.PublicKey(addresses_default.CCTP_TOKEN_PROGRAM_ID),[o]=unsignedTransaction.PublicKey.findProgramAddressSync([platform.Buffer$1.from("message_transmitter")],r),[i]=unsignedTransaction.PublicKey.findProgramAddressSync([platform.Buffer$1.from("sender_authority")],n),[u]=unsignedTransaction.PublicKey.findProgramAddressSync([platform.Buffer$1.from("local_token"),e.toBytes()],n),[a]=unsignedTransaction.PublicKey.findProgramAddressSync([platform.Buffer$1.from("token_messenger")],n),[p]=unsignedTransaction.PublicKey.findProgramAddressSync([platform.Buffer$1.from("token_minter")],n),s=getCCTPDomain(t),[c]=unsignedTransaction.PublicKey.findProgramAddressSync([platform.Buffer$1.from("remote_token_messenger"),platform.Buffer$1.from(s.toString())],n),[d]=unsignedTransaction.PublicKey.findProgramAddressSync([platform.Buffer$1.from("__event_authority")],r),[y]=unsignedTransaction.PublicKey.findProgramAddressSync([platform.Buffer$1.from("__event_authority")],n);return{messageTransmitter:o,senderAuthority:i,remoteTokenMessengerKey:c,tokenMessenger:a,tokenMinter:p,eventAuthToken:y,eventAuthCore:d,localToken:u}}function getEvmMctpBridgeParams(e,t,r,n){const o=getWormholeChainIdById(Number(r)),i=getWormholeChainIdByName(e.fromChain),u=getWormholeChainIdByName(e.toChain);if(i!==o)throw new Error(`Signer chain id(${Number(r)}) and quote from chain are not same! ${i} !== ${o}`);const a=e.cheaperChain===e.fromChain,p=nativeAddressToHexString(t,u),s=getAmountOfFractionalAmount(e.redeemRelayerFee,CCTP_TOKEN_DECIMALS),c=getAmountOfFractionalAmount(e.gasDrop,Math.min(getGasDecimal(e.toChain),8)),d=BigInt(e.effectiveAmountIn64),y=getCCTPDomain(e.toChain);if(!e.mctpMayanContract)throw new Error("MCTP contract address is missing");const l=e.mctpMayanContract;if(e.toChain==="solana"&&a)throw new Error("Cannot lock fee for transfer to solana");let m=getAmountOfFractionalAmount(e.bridgeFee,getGasDecimal(e.fromChain));return a&&(m=BigInt(0)),{lockFee:a,tokenIn:e.mctpInputContract,amountIn:d,redeemFee:s,gasDrop:c,destAddr:p,destDomain:y,payloadType:MCTP_PAYLOAD_TYPE_DEFAULT,customPayload:"0x",bridgeFee:m,contractAddress:l}}function getEvmMctpBridgeTxPayload(e,t,r,n){const o=getEvmMctpBridgeParams(e,t,r),{contractAddress:i,tokenIn:u,amountIn:a,destAddr:p,lockFee:s,redeemFee:c,gasDrop:d,destDomain:y,customPayload:l,payloadType:m,bridgeFee:f}=o,T=new platform.Contract(i,MayanCircleArtifact_default.abi);let g,b;return s?g=T.interface.encodeFunctionData("bridgeWithLockedFee",[u,a,d,c,y,p]):g=T.interface.encodeFunctionData("bridgeWithFee",[u,a,c,d,p,y,m,l]),b=platform.toBeHex(f),{to:i,data:g,value:b,_params:o}}function getEvmMctpCreateOrderParams(e,t,r,n){const o=getWormholeChainIdById(Number(n)),i=getWormholeChainIdByName(e.fromChain),u=getWormholeChainIdByName(e.toChain);if(i!==o)throw new Error(`Signer chain id(${Number(n)}) and quote from chain are not same! ${i} !== ${o}`);if(!e.mctpMayanContract)throw new Error("MCTP contract address is missing");const a=e.mctpMayanContract,p=nativeAddressToHexString(t,u);let s;r?s=nativeAddressToHexString(r,u):s=nativeAddressToHexString(unsignedTransaction.SystemProgram.programId.toString(),getWormholeChainIdByName("solana"));const c=getAmountOfFractionalAmount(e.redeemRelayerFee,CCTP_TOKEN_DECIMALS),d=getAmountOfFractionalAmount(e.gasDrop,Math.min(getGasDecimal(e.toChain),8));let y=BigInt(e.effectiveAmountIn64);const l=getAmountOfFractionalAmount(e.minAmountOut,Math.min(8,e.toToken.decimals)),m=BigInt(e.deadline64),f=e.toToken.contract===platform.ZeroAddress?nativeAddressToHexString(unsignedTransaction.SystemProgram.programId.toString(),getWormholeChainIdByName("solana")):nativeAddressToHexString(e.toChain==="sui"?e.toToken.verifiedAddress:e.toToken.contract,e.toToken.wChainId);return{params:{tokenIn:e.mctpInputContract,amountIn:y,gasDrop:d,destAddr:p,destChain:u,tokenOut:f,minAmountOut:l,deadline:m,redeemFee:c,referrerAddr:s,referrerBps:e.referrerBps||0},bridgeFee:getAmountOfFractionalAmount(e.bridgeFee,getGasDecimal(e.fromChain)),contractAddress:a}}function getEvmMctpCreateOrderTxPayload(e,t,r,n){const o=getEvmMctpCreateOrderParams(e,t,r,n),{contractAddress:i,params:u,bridgeFee:a}=o,s=new platform.Contract(i,MayanCircleArtifact_default.abi).interface.encodeFunctionData("createOrder",[u]),c=platform.toBeHex(a);return{to:i,data:s,value:c,_params:o}}function getMctpFromEvmTxPayload(e,t,r,n,o,i){if(e.type!=="MCTP")throw new Error("Quote type is not MCTP");if(!Number.isFinite(Number(n)))throw new Error("Invalid signer chain id");n=Number(n);const u=o||ZeroPermit,a=new platform.Contract(addresses_default.MAYAN_FORWARDER_CONTRACT,MayanForwarderArtifact_default.abi),p=getAmountOfFractionalAmount(e.bridgeFee,getGasDecimal(e.fromChain));let s=platform.toBeHex(p);if(e.fromToken.contract===e.mctpInputContract)if(e.hasAuction){if(!Number(e.deadline64))throw new Error("MCTP order requires timeout");const c=getEvmMctpCreateOrderTxPayload(e,t,r,n),d="forwardERC20",y=[e.fromToken.contract,c._params.params.amountIn,u,c._params.contractAddress,c.data];return{data:a.interface.encodeFunctionData(d,y),to:addresses_default.MAYAN_FORWARDER_CONTRACT,value:platform.toBeHex(s),chainId:n,_forwarder:{method:d,params:y}}}else{const c=getEvmMctpBridgeTxPayload(e,t,n),d="forwardERC20",y=[e.fromToken.contract,c._params.amountIn,u,c._params.contractAddress,c.data];return{data:a.interface.encodeFunctionData(d,y),to:addresses_default.MAYAN_FORWARDER_CONTRACT,value:platform.toBeHex(s),chainId:n,_forwarder:{method:d,params:y}}}else{const{minMiddleAmount:c,evmSwapRouterAddress:d,evmSwapRouterCalldata:y}=e;if(!c||!d||!y)throw new Error("MCTP swap requires middle amount, router address and calldata");if(e.hasAuction){if(!Number(e.deadline64))throw new Error("MCTP order requires timeout");const l=getEvmMctpCreateOrderTxPayload(e,t,r,n),m=getAmountOfFractionalAmount(e.minMiddleAmount,CCTP_TOKEN_DECIMALS);if(e.fromToken.contract===platform.ZeroAddress){let f=l._params.params.amountIn;if(f<=p)throw new Error("Amount in is less than bridge fee");p!==BigInt(0)&&(f-=p),s=platform.toBeHex(l._params.params.amountIn);const T="swapAndForwardEth",g=[f,d,y,e.mctpInputContract,m,l._params.contractAddress,l.data];return{data:a.interface.encodeFunctionData(T,g),to:addresses_default.MAYAN_FORWARDER_CONTRACT,value:platform.toBeHex(s),chainId:n,_forwarder:{method:T,params:g}}}else{const f="swapAndForwardERC20",T=[e.fromToken.contract,l._params.params.amountIn,u,d,y,e.mctpInputContract,m,l._params.contractAddress,l.data];return{data:a.interface.encodeFunctionData(f,T),to:addresses_default.MAYAN_FORWARDER_CONTRACT,value:platform.toBeHex(s),chainId:n,_forwarder:{method:f,params:T}}}}else{const l=getEvmMctpBridgeTxPayload(e,t,n),m=getAmountOfFractionalAmount(e.minMiddleAmount,CCTP_TOKEN_DECIMALS);if(e.fromToken.contract===platform.ZeroAddress){let f=l._params.amountIn;if(f<=p)throw new Error("Amount in is less than bridge fee");p!==BigInt(0)&&(f-=p),s=platform.toBeHex(l._params.amountIn);const T="swapAndForwardEth",g=[f,d,y,e.mctpInputContract,m,l._params.contractAddress,l.data];return{data:a.interface.encodeFunctionData(T,g),to:addresses_default.MAYAN_FORWARDER_CONTRACT,value:platform.toBeHex(s),chainId:n,_forwarder:{method:T,params:g}}}else{const f="swapAndForwardERC20",T=[e.fromToken.contract,l._params.amountIn,u,d,y,e.mctpInputContract,m,l._params.contractAddress,l.data];return{data:a.interface.encodeFunctionData(f,T),to:addresses_default.MAYAN_FORWARDER_CONTRACT,value:platform.toBeHex(s),chainId:n,_forwarder:{method:f,params:T}}}}}}var MayanSwiftArtifact_default={abi:[{inputs:[{internalType:"address",name:"_wormhole",type:"address"},{internalType:"address",name:"_feeManager",type:"address"},{internalType:"uint16",name:"_auctionChainId",type:"uint16"},{internalType:"bytes32",name:"_auctionAddr",type:"bytes32"},{internalType:"bytes32",name:"_solanaEmitter",type:"bytes32"},{internalType:"uint8",name:"_consistencyLevel",type:"uint8"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"DeadlineViolation",type:"error"},{inputs:[],name:"DuplicateOrder",type:"error"},{inputs:[],name:"FeesTooHigh",type:"error"},{inputs:[],name:"InvalidAction",type:"error"},{inputs:[],name:"InvalidAmount",type:"error"},{inputs:[],name:"InvalidAuctionMode",type:"error"},{inputs:[],name:"InvalidBpsFee",type:"error"},{inputs:[],name:"InvalidContractSignature",type:"error"},{inputs:[],name:"InvalidDestChain",type:"error"},{inputs:[],name:"InvalidEmitterAddress",type:"error"},{inputs:[],name:"InvalidEmitterChain",type:"error"},{inputs:[],name:"InvalidEvmAddr",type:"error"},{inputs:[],name:"InvalidGasDrop",type:"error"},{inputs:[],name:"InvalidOrderHash",type:"error"},{inputs:[],name:"InvalidOrderStatus",type:"error"},{inputs:[],name:"InvalidSignature",type:"error"},{inputs:[],name:"InvalidSignatureLength",type:"error"},{inputs:[],name:"InvalidSigner",type:"error"},{inputs:[],name:"InvalidSrcChain",type:"error"},{inputs:[],name:"InvalidWormholeFee",type:"error"},{inputs:[],name:"OrderNotExists",type:"error"},{inputs:[],name:"Paused",type:"error"},{inputs:[],name:"SmallAmountIn",type:"error"},{inputs:[],name:"Unauthorized",type:"error"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"key",type:"bytes32"},{indexed:!1,internalType:"uint64",name:"sequence",type:"uint64"}],name:"OrderCanceled",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"key",type:"bytes32"}],name:"OrderCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"key",type:"bytes32"},{indexed:!1,internalType:"uint64",name:"sequence",type:"uint64"},{indexed:!1,internalType:"uint256",name:"netAmount",type:"uint256"}],name:"OrderFulfilled",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"key",type:"bytes32"},{indexed:!1,internalType:"uint256",name:"netAmount",type:"uint256"}],name:"OrderRefunded",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"key",type:"bytes32"}],name:"OrderUnlocked",type:"event"},{inputs:[],name:"auctionAddr",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"auctionChainId",outputs:[{internalType:"uint16",name:"",type:"uint16"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"tokenIn",type:"bytes32"},{components:[{internalType:"bytes32",name:"trader",type:"bytes32"},{internalType:"bytes32",name:"tokenOut",type:"bytes32"},{internalType:"uint64",name:"minAmountOut",type:"uint64"},{internalType:"uint64",name:"gasDrop",type:"uint64"},{internalType:"uint64",name:"cancelFee",type:"uint64"},{internalType:"uint64",name:"refundFee",type:"uint64"},{internalType:"uint64",name:"deadline",type:"uint64"},{internalType:"bytes32",name:"destAddr",type:"bytes32"},{internalType:"uint16",name:"destChainId",type:"uint16"},{internalType:"bytes32",name:"referrerAddr",type:"bytes32"},{internalType:"uint8",name:"referrerBps",type:"uint8"},{internalType:"uint8",name:"auctionMode",type:"uint8"},{internalType:"bytes32",name:"random",type:"bytes32"}],internalType:"struct MayanSwift.OrderParams",name:"params",type:"tuple"},{internalType:"uint16",name:"srcChainId",type:"uint16"},{internalType:"uint8",name:"protocolBps",type:"uint8"},{internalType:"bytes32",name:"canceler",type:"bytes32"}],name:"cancelOrder",outputs:[{internalType:"uint64",name:"sequence",type:"uint64"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"newGuardian",type:"address"}],name:"changeGuardian",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"claimGuardian",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"consistencyLevel",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[{components:[{internalType:"bytes32",name:"trader",type:"bytes32"},{internalType:"bytes32",name:"tokenOut",type:"bytes32"},{internalType:"uint64",name:"minAmountOut",type:"uint64"},{internalType:"uint64",name:"gasDrop",type:"uint64"},{internalType:"uint64",name:"cancelFee",type:"uint64"},{internalType:"uint64",name:"refundFee",type:"uint64"},{internalType:"uint64",name:"deadline",type:"uint64"},{internalType:"bytes32",name:"destAddr",type:"bytes32"},{internalType:"uint16",name:"destChainId",type:"uint16"},{internalType:"bytes32",name:"referrerAddr",type:"bytes32"},{internalType:"uint8",name:"referrerBps",type:"uint8"},{internalType:"uint8",name:"auctionMode",type:"uint8"},{internalType:"bytes32",name:"random",type:"bytes32"}],internalType:"struct MayanSwift.OrderParams",name:"params",type:"tuple"}],name:"createOrderWithEth",outputs:[{internalType:"bytes32",name:"orderHash",type:"bytes32"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"tokenIn",type:"address"},{internalType:"uint256",name:"amountIn",type:"uint256"},{components:[{internalType:"bytes32",name:"trader",type:"bytes32"},{internalType:"bytes32",name:"tokenOut",type:"bytes32"},{internalType:"uint64",name:"minAmountOut",type:"uint64"},{internalType:"uint64",name:"gasDrop",type:"uint64"},{internalType:"uint64",name:"cancelFee",type:"uint64"},{internalType:"uint64",name:"refundFee",type:"uint64"},{internalType:"uint64",name:"deadline",type:"uint64"},{internalType:"bytes32",name:"destAddr",type:"bytes32"},{internalType:"uint16",name:"destChainId",type:"uint16"},{internalType:"bytes32",name:"referrerAddr",type:"bytes32"},{internalType:"uint8",name:"referrerBps",type:"uint8"},{internalType:"uint8",name:"auctionMode",type:"uint8"},{internalType:"bytes32",name:"random",type:"bytes32"}],internalType:"struct MayanSwift.OrderParams",name:"params",type:"tuple"},{internalType:"bytes",name:"signedOrderHash",type:"bytes"}],name:"createOrderWithSig",outputs:[{internalType:"bytes32",name:"orderHash",type:"bytes32"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"tokenIn",type:"address"},{internalType:"uint256",name:"amountIn",type:"uint256"},{components:[{internalType:"bytes32",name:"trader",type:"bytes32"},{internalType:"bytes32",name:"tokenOut",type:"bytes32"},{internalType:"uint64",name:"minAmountOut",type:"uint64"},{internalType:"uint64",name:"gasDrop",type:"uint64"},{internalType:"uint64",name:"cancelFee",type:"uint64"},{internalType:"uint64",name:"refundFee",type:"uint64"},{internalType:"uint64",name:"deadline",type:"uint64"},{internalType:"bytes32",name:"destAddr",type:"bytes32"},{internalType:"uint16",name:"destChainId",type:"uint16"},{internalType:"bytes32",name:"referrerAddr",type:"bytes32"},{internalType:"uint8",name:"referrerBps",type:"uint8"},{internalType:"uint8",name:"auctionMode",type:"uint8"},{internalType:"bytes32",name:"random",type:"bytes32"}],internalType:"struct MayanSwift.OrderParams",name:"params",type:"tuple"}],name:"createOrderWithToken",outputs:[{internalType:"bytes32",name:"orderHash",type:"bytes32"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"feeManager",outputs:[{internalType:"contract IFeeManager",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"fulfillAmount",type:"uint256"},{internalType:"bytes",name:"encodedVm",type:"bytes"},{internalType:"bytes32",name:"recepient",type:"bytes32"},{internalType:"bool",name:"batch",type:"bool"}],name:"fulfillOrder",outputs:[{internalType:"uint64",name:"sequence",type:"uint64"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"fulfillAmount",type:"uint256"},{internalType:"bytes32",name:"orderHash",type:"bytes32"},{internalType:"uint16",name:"srcChainId",type:"uint16"},{internalType:"bytes32",name:"tokenIn",type:"bytes32"},{internalType:"uint8",name:"protocolBps",type:"uint8"},{components:[{internalType:"bytes32",name:"trader",type:"bytes32"},{internalType:"bytes32",name:"tokenOut",type:"bytes32"},{internalType:"uint64",name:"minAmountOut",type:"uint64"},{internalType:"uint64",name:"gasDrop",type:"uint64"},{internalType:"uint64",name:"cancelFee",type:"uint64"},{internalType:"uint64",name:"refundFee",type:"uint64"},{internalType:"uint64",name:"deadline",type:"uint64"},{internalType:"bytes32",name:"destAddr",type:"bytes32"},{internalType:"uint16",name:"destChainId",type:"uint16"},{internalType:"bytes32",name:"referrerAddr",type:"bytes32"},{internalType:"uint8",name:"referrerBps",type:"uint8"},{internalType:"uint8",name:"auctionMode",type:"uint8"},{internalType:"bytes32",name:"random",type:"bytes32"}],internalType:"struct MayanSwift.OrderParams",name:"params",type:"tuple"},{internalType:"bytes32",name:"recepient",type:"bytes32"},{internalType:"bool",name:"batch",type:"bool"}],name:"fulfillSimple",outputs:[{internalType:"uint64",name:"sequence",type:"uint64"}],stateMutability:"payable",type:"function"},{inputs:[],name:"guardian",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"nextGuardian",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"",type:"bytes32"}],name:"orders",outputs:[{internalType:"enum MayanSwift.Status",name:"status",type:"uint8"},{internalType:"uint64",name:"amountIn",type:"uint64"},{internalType:"uint16",name:"destChainId",type:"uint16"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"encoded",type:"bytes"}],name:"parseFulfillPayload",outputs:[{components:[{internalType:"uint8",name:"action",type:"uint8"},{internalType:"bytes32",name:"orderHash",type:"bytes32"},{internalType:"uint16",name:"destChainId",type:"uint16"},{internalType:"bytes32",name:"destAddr",type:"bytes32"},{internalType:"bytes32",name:"driver",type:"bytes32"},{internalType:"bytes32",name:"tokenOut",type:"bytes32"},{internalType:"uint64",name:"promisedAmount",type:"uint64"},{internalType:"uint64",name:"gasDrop",type:"uint64"},{internalType:"uint64",name:"deadline",type:"uint64"},{internalType:"bytes32",name:"referrerAddr",type:"bytes32"},{internalType:"uint8",name:"referrerBps",type:"uint8"},{internalType:"uint8",name:"protocolBps",type:"uint8"},{internalType:"uint16",name:"srcChainId",type:"uint16"},{internalType:"bytes32",name:"tokenIn",type:"bytes32"}],internalType:"struct MayanSwift.FulfillMsg",name:"fulfillMsg",type:"tuple"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"bytes",name:"encoded",type:"bytes"}],name:"parseRefundPayload",outputs:[{components:[{internalType:"uint8",name:"action",type:"uint8"},{internalType:"bytes32",name:"orderHash",type:"bytes32"},{internalType:"uint16",name:"srcChainId",type:"uint16"},{internalType:"bytes32",name:"tokenIn",type:"bytes32"},{internalType:"bytes32",name:"recipient",type:"bytes32"},{internalType:"bytes32",name:"canceler",type:"bytes32"},{internalType:"uint64",name:"cancelFee",type:"uint64"},{internalType:"uint64",name:"refundFee",type:"uint64"}],internalType:"struct MayanSwift.RefundMsg",name:"refundMsg",type:"tuple"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"bytes",name:"encoded",type:"bytes"}],name:"parseUnlockPayload",outputs:[{components:[{internalType:"uint8",name:"action",type:"uint8"},{internalType:"bytes32",name:"orderHash",type:"bytes32"},{internalType:"uint16",name:"srcChainId",type:"uint16"},{internalType:"bytes32",name:"tokenIn",type:"bytes32"},{internalType:"bytes32",name:"recipient",type:"bytes32"}],internalType:"struct MayanSwift.UnlockMsg",name:"unlockMsg",type:"tuple"}],stateMutability:"pure",type:"function"},{inputs:[],name:"paused",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32[]",name:"orderHashes",type:"bytes32[]"}],name:"postBatch",outputs:[{internalType:"uint64",name:"sequence",type:"uint64"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bytes",name:"encodedVm",type:"bytes"}],name:"refundOrder",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint8",name:"_consistencyLevel",type:"uint8"}],name:"setConsistencyLevel",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_feeManager",type:"address"}],name:"setFeeManager",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bool",name:"_pause",type:"bool"}],name:"setPause",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"solanaEmitter",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"encodedVm",type:"bytes"}],name:"unlockBatch",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"",type:"bytes32"}],name:"unlockMsgs",outputs:[{internalType:"uint8",name:"action",type:"uint8"},{internalType:"bytes32",name:"orderHash",type:"bytes32"},{internalType:"uint16",name:"srcChainId",type:"uint16"},{internalType:"bytes32",name:"tokenIn",type:"bytes32"},{internalType:"bytes32",name:"recipient",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"encodedVm",type:"bytes"}],name:"unlockSingle",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"wormhole",outputs:[{internalType:"contract IWormhole",name:"",type:"address"}],stateMutability:"view",type:"function"},{stateMutability:"payable",type:"receive"}]};function createAssociatedTokenAccountInstruction(e,t,r,n,o=new unsignedTransaction.PublicKey(addresses_default.TOKEN_PROGRAM_ID),i=new unsignedTransaction.PublicKey(addresses_default.ASSOCIATED_TOKEN_PROGRAM_ID)){const u=[{pubkey:e,isSigner:!0,isWritable:!0},{pubkey:t,isSigner:!1,isWritable:!0},{pubkey:r,isSigner:!1,isWritable:!1},{pubkey:n,isSigner:!1,isWritable:!1},{pubkey:unsignedTransaction.SystemProgram.programId,isSigner:!1,isWritable:!1},{pubkey:o,isSigner:!1,isWritable:!1},{pubkey:unsignedTransaction.SYSVAR_RENT_PUBKEY,isSigner:!1,isWritable:!1}];return new unsignedTransaction.TransactionInstruction({keys:u,programId:i,data:platform.Buffer$1.alloc(0)})}var TOKEN_ACCOUNT_LEN=165;async function createInitializeRandomTokenAccountInstructions(e,t,r,n,o,i=new unsignedTransaction.PublicKey(addresses_default.TOKEN_PROGRAM_ID)){const u=[],a=await e.getMinimumBalanceForRentExemption(TOKEN_ACCOUNT_LEN);return u.push(unsignedTransaction.SystemProgram.createAccount({fromPubkey:t,newAccountPubkey:o.publicKey,lamports:a,space:TOKEN_ACCOUNT_LEN,programId:i})),u.push(new unsignedTransaction.TransactionInstruction({keys:[{pubkey:o.publicKey,isWritable:!0,isSigner:!1},{pubkey:r,isWritable:!1,isSigner:!1},{pubkey:n,isWritable:!1,isSigner:!1},{pubkey:unsignedTransaction.SYSVAR_RENT_PUBKEY,isWritable:!1,isSigner:!1}],programId:i,data:platform.Buffer$1.from([1])})),u}var ApproveInstructionData=unsignedTransaction.LayoutExports.struct([unsignedTransaction.LayoutExports.u8("instruction"),unsignedTransaction.LayoutExports.blob(8,"amount")]);function createApproveInstruction(e,t,r,n,o=new unsignedTransaction.PublicKey(addresses_default.TOKEN_PROGRAM_ID)){const i=[{pubkey:e,isSigner:!1,isWritable:!0},{pubkey:t,isSigner:!1,isWritable:!1},{pubkey:r,isSigner:!0,isWritable:!1}],u=platform.Buffer$1.alloc(ApproveInstructionData.span);return ApproveInstructionData.encode({instruction:4,amount:getSafeU64Blob(n)},u),new unsignedTransaction.TransactionInstruction({keys:i,programId:o,data:u})}var SyncNativeInstructionData=unsignedTransaction.LayoutExports.struct([unsignedTransaction.LayoutExports.u8("instruction")]);function createSyncNativeInstruction(e){const t=[{pubkey:e,isSigner:!1,isWritable:!0}],r=platform.Buffer$1.alloc(SyncNativeInstructionData.span);return SyncNativeInstructionData.encode({instruction:17},r),new unsignedTransaction.TransactionInstruction({keys:t,programId:new unsignedTransaction.PublicKey(addresses_default.TOKEN_PROGRAM_ID),data:r})}unsignedTransaction.LayoutExports.struct([unsignedTransaction.LayoutExports.u8("instruction")]);var SplTransferInstructionData=unsignedTransaction.LayoutExports.struct([unsignedTransaction.LayoutExports.u8("instruction"),unsignedTransaction.LayoutExports.blob(8,"amount")]);function createSplTransferInstruction(e,t,r,n,o=new unsignedTransaction.PublicKey(addresses_default.TOKEN_PROGRAM_ID)){const i=[{pubkey:e,isSigner:!1,isWritable:!0},{pubkey:t,isSigner:!1,isWritable:!0},{pubkey:r,isSigner:!0,isWritable:!1}],u=platform.Buffer$1.alloc(SplTransferInstructionData.span);return SplTransferInstructionData.encode({instruction:3,amount:getSafeU64Blob(n)},u),new unsignedTransaction.TransactionInstruction({keys:i,programId:o,data:u})}var solMint=new unsignedTransaction.PublicKey("So11111111111111111111111111111111111111112");function deserializeInstructionInfo(e){return new unsignedTransaction.TransactionInstruction({programId:new unsignedTransaction.PublicKey(e.programId),keys:e.accounts.map(t=>({pubkey:new unsignedTransaction.PublicKey(t.pubkey),isSigner:t.isSigner,isWritable:t.isWritable})),data:platform.Buffer$1.from(e.data,"base64")})}async function getAddressLookupTableAccounts(e,t){return(await t.getMultipleAccountsInfo(e.map(n=>new unsignedTransaction.PublicKey(n)))).reduce((n,o,i)=>{const u=e[i];if(o){const a=new unsignedTransaction.AddressLookupTableAccount({key:new unsignedTransaction.PublicKey(u),state:unsignedTransaction.AddressLookupTableAccount.deserialize(o.data)});n.push(a)}return n},new Array)}function decentralizeClientSwapInstructions(e,t){const r=deserializeInstructionInfo(e.swapInstruction),n=e.cleanupInstruction?deserializeInstructionInfo(e.cleanupInstruction):null,o=e.computeBudgetInstructions?e.computeBudgetInstructions.map(deserializeInstructionInfo):[],i=e.setupInstructions?e.setupInstructions.map(deserializeInstructionInfo):[];return{swapInstruction:r,cleanupInstruction:n,computeBudgetInstructions:o,setupInstructions:i,addressLookupTableAddresses:e.addressLookupTableAddresses}}function getAnchorInstructionData(e){let t=`global:${e}`;return platform.Buffer$1.from(sha256Exports.sha256.digest(t)).subarray(0,8)}async function decideRelayer(){let e;try{const t=await getSuggestedRelayer();e=new unsignedTransaction.PublicKey(t)}catch{console.log("Relayer not found, using system program"),e=unsignedTransaction.SystemProgram.programId}return e}function validateJupCleanupInstruction(e){if(e){if(!e.programId.equals(new unsignedTransaction.PublicKey(addresses_default.TOKEN_PROGRAM_ID))&&!e.programId.equals(new unsignedTransaction.PublicKey(addresses_default.TOKEN_2022_PROGRAM_ID)))throw new Error("Invalid cleanup instruction:: programId");if(Uint8Array.from(e.data).length!==1)throw new Error("Invalid cleanup instruction:: data");if(Uint8Array.from(e.data)[0]!==9)throw new Error("Invalid cleanup instruction:: data")}}function validateJupSetupInstructions(e,t){if(!(e.length<1)){if(e.length>6)throw new Error("Invalid setup instruction:: too many instructions");e.forEach(r=>{if(!r.programId.equals(new unsignedTransaction.PublicKey(addresses_default.ASSOCIATED_TOKEN_PROGRAM_ID))&&!r.programId.equals(unsignedTransaction.SystemProgram.programId)&&!r.programId.equals(new unsignedTransaction.PublicKey(addresses_default.TOKEN_PROGRAM_ID))&&!r.programId.equals(new unsignedTransaction.PublicKey(addresses_default.TOKEN_2022_PROGRAM_ID)))throw new Error("Invalid setup instruction:: programId");if(r.programId.equals(new unsignedTransaction.PublicKey(addresses_default.ASSOCIATED_TOKEN_PROGRAM_ID))){if(Uint8Array.from(r.data).length===1){if(Uint8Array.from(r.data)[0]!==1)throw new Error("Invalid setup instruction:: data")}else if(Uint8Array.from(r.data).length!==0)throw new Error("Invalid setup instruction:: data")}else if(r.programId.equals(unsignedTransaction.SystemProgram.programId)){if(!t)throw new Error("Invalid setup instruction:: unknown transfer");const n=getAssociatedTokenAddress(solMint,t,!0);if(r.data.readUint32LE()!==2)throw new Error("Invalid setup instruction:: invalid system program instruction");if(!r.keys[1].pubkey.equals(n))throw new Error("Invalid setup instruction:: invalid wrap transfer dest")}else if(r.data.toString("base64")!=="EQ==")throw new Error("Invalid setup instruction:: invalid token program instruction")})}}function validateJupSwapInstruction(e,t){if(!e.programId.equals(new unsignedTransaction.PublicKey("JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4")))throw new Error("Invalid swap instruction:: programId");if(e.data.subarray(0,8).toString("hex")===getAnchorInstructionData("shared_accounts_route").toString("hex")){if(!e.keys[6].pubkey.equals(t))throw new Error("Invalid swap instruction shared_accounts_route:: dest account")}else if(e.data.subarray(0,8).toString("hex")===getAnchorInstructionData("route").toString("hex")){if(!e.keys[4].pubkey.equals(t))throw new Error("Invalid swap instruction route:: dest account")}else throw new Error("Invalid swap instruction:: ix id")}function validateJupComputeBudgetInstructions(e){e.forEach(t=>{if(!t.programId.equals(unsignedTransaction.ComputeBudgetProgram.programId))throw new Error("Invalid compute budget instruction:: programId");if(Uint8Array.from(t.data)[0]===3&&t.data.readBigUInt64LE(1)>100000000n)throw new Error("Invalid compute budget instruction:: to high tx fee")})}function validateJupSwap(e,t,r){validateJupComputeBudgetInstructions(e.computeBudgetInstructions),validateJupSetupInstructions(e.setupInstructions,r),validateJupSwapInstruction(e.swapInstruction,t),validateJupCleanupInstruction(e.cleanupInstruction)}function createTransferAllAndCloseInstruction(e,t,r,n,o,i=new unsignedTransaction.PublicKey("TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA")){return new unsignedTransaction.TransactionInstruction({keys:[{pubkey:e,isSigner:!0,isWritable:!1},{pubkey:r,isSigner:!1,isWritable:!0},{pubkey:n,isSigner:!1,isWritable:!0},{pubkey:t,isSigner:!1,isWritable:!1},{pubkey:o,isSigner:!1,isWritable:!0},{pubkey:i,isSigner:!1,isWritable:!1}],programId:new unsignedTransaction.PublicKey("B96dV3Luxzo6SokJx3xt8i5y8Mb7HRR6Eec8hCjJDT69"),data:getAnchorInstructionData("transfer_all_and_close")})}function getWormholePDAs(e){const t=new unsignedTransaction.PublicKey(addresses_default.WORMHOLE_PROGRAM_ID),r=new unsignedTransaction.PublicKey(e),[n]=unsignedTransaction.PublicKey.findProgramAddressSync([platform.Buffer$1.from("Bridge")],t),[o]=unsignedTransaction.PublicKey.findProgramAddressSync([platform.Buffer$1.from("emitter")],r),[i]=unsignedTransaction.PublicKey.findProgramAddressSync([platform.Buffer$1.from("Sequence"),o.toBuffer()],t),[u]=unsignedTransaction.PublicKey.findProgramAddressSync([platform.Buffer$1.from("fee_collector")],t);return{bridgeConfig:n,sequenceKey:i,feeCollector:u,emitter:o}}var MCTPBridgeWithFeeLayout=unsignedTransaction.LayoutExports.struct([unsignedTransaction.LayoutExports.blob(8,"instruction")]);function createMctpBridgeWithFeeInstruction(e,t,r,n,o){const i=new unsignedTransaction.PublicKey(addresses_default.WORMHOLE_PROGRAM_ID),u=new unsignedTransaction.PublicKey(addresses_default.TOKEN_PROGRAM_ID),a=new unsignedTransaction.PublicKey(addresses_default.CCTP_CORE_PROGRAM_ID),p=new unsignedTransaction.PublicKey(addresses_default.CCTP_TOKEN_PROGRAM_ID),s=new unsignedTransaction.PublicKey(addresses_default.MCTP_PROGRAM_ID),c=new unsignedTransaction.PublicKey(n),d=new unsignedTransaction.PublicKey(r),y=getAssociatedTokenAddress(d,e,!0);let l;o&&o>BigInt(0)?l=getAssociatedTokenAddress(d,c,!1):l=new unsignedTransaction.PublicKey(addresses_default.MCTP_PROGRAM_ID);const m=getCCTPBridgePDAs(d,t),f=getWormholePDAs(addresses_default.MCTP_PROGRAM_ID),T=unsignedTransaction.Keypair.generate(),g=unsignedTransaction.Keypair.generate(),b=[{pubkey:e,isWritable:!0,isSigner:!1},{pubkey:y,isWritable:!0,isSigner:!1},{pubkey:c,isWritable:!0,isSigner:!0},{pubkey:l,isWritable:!0,isSigner:!1},{pubkey:d,isWritable:!0,isSigner:!1},{pubkey:m.senderAuthority,isWritable:!1,isSigner:!1},{pubkey:m.tokenMessenger,isWritable:!1,isSigner:!1},{pubkey:m.remoteTokenMessengerKey,isWritable:!1,isSigner:!1},{pubkey:m.tokenMinter,isWritable:!1,isSigner:!1},{pubkey:m.localToken,isWritable:!0,isSigner:!1},{pubkey:m.eventAuthToken,isWritable:!1,isSigner:!1},{pubkey:m.messageTransmitter,isWritable:!0,isSigner:!1},{pubkey:T.publicKey,isWritable:!0,isSigner:!0},{pubkey:p,isWritable:!1,isSigner:!1},{pubkey:a,isWritable:!1,isSigner:!1},{pubkey:f.emitter,isWritable:!1,isSigner:!1},{pubkey:f.bridgeConfig,isWritable:!0,isSigner:!1},{pubkey:f.sequenceKey,isWritable:!0,isSigner:!1},{pubkey:f.feeCollector,isWritable:!0,isSigner:!1},{pubkey:g.publicKey,isWritable:!0,isSigner:!0},{pubkey:i,isWritable:!1,isSigner:!1},{pubkey:unsignedTransaction.SYSVAR_CLOCK_PUBKEY,isWritable:!1,isSigner:!1},{pubkey:unsignedTransaction.SYSVAR_RENT_PUBKEY,isWritable:!1,isSigner:!1},{pubkey:u,isWritable:!1,isSigner:!1},{pubkey:unsignedTransaction.SystemProgram.programId,isWritable:!1,isSigner:!1}],h=platform.Buffer$1.alloc(MCTPBridgeWithFeeLayout.span);return MCTPBridgeWithFeeLayout.encode({instruction:getAnchorInstructionData("bridge_with_fee")},h),{instruction:new unsignedTransaction.TransactionInstruction({keys:b,data:h,programId:s}),signers:[T,g]}}var MctpBridgeLockFeeLayout=unsignedTransaction.LayoutExports.struct([unsignedTransaction.LayoutExports.blob(8,"instruction")]);function createMctpBridgeLockFeeInstruction(e,t,r,n,o){const i=[],u=new unsignedTransaction.PublicKey(addresses_default.TOKEN_PROGRAM_ID),a=new unsignedTransaction.PublicKey(addresses_default.ASSOCIATED_TOKEN_PROGRAM_ID),p=new unsignedTransaction.PublicKey(addresses_default.CCTP_CORE_PROGRAM_ID),s=new unsignedTransaction.PublicKey(addresses_default.CCTP_TOKEN_PROGRAM_ID),c=new unsignedTransaction.PublicKey(addresses_default.MCTP_PROGRAM_ID),d=new unsignedTransaction.PublicKey(n),y=new unsignedTransaction.PublicKey(r),l=getAssociatedTokenAddress(y,e,!0),m=getCCTPBridgePDAs(y,t),f=unsignedTransaction.Keypair.generate(),[T]=unsignedTransaction.PublicKey.findProgramAddressSync([platform.Buffer$1.from("LOCKED_FEE"),y.toBuffer(),f.publicKey.toBytes()],c);let g;o&&o>BigInt(0)?g=getAssociatedTokenAddress(y,d,!1):g=new unsignedTransaction.PublicKey(addresses_default.MCTP_PROGRAM_ID);const b=getAssociatedTokenAddress(y,T,!0);i.push(createAssociatedTokenAccountInstruction(d,b,T,y));const h=[{pubkey:e,isWritable:!0,isSigner:!1},{pubkey:l,isWritable:!0,isSigner:!1},{pubkey:d,isWritable:!0,isSigner:!0},{pubkey:g,isWritable:!0,isSigner:!1},{pubkey:T,isWritable:!0,isSigner:!1},{pubkey:b,isWritable:!0,isSigner:!1},{pubkey:y,isWritable:!0,isSigner:!1},{pubkey:m.senderAuthority,isWritable:!1,isSigner:!1},{pubkey:m.tokenMessenger,isWritable:!1,isSigner:!1},{pubkey:m.remoteTokenMessengerKey,isWritable:!1,isSigner:!1},{pubkey:m.tokenMinter,isWritable:!1,isSigner:!1},{pubkey:m.localToken,isWritable:!0,isSigner:!1},{pubkey:m.eventAuthToken,isWritable:!1,isSigner:!1},{pubkey:m.messageTransmitter,isWritable:!0,isSigner:!1},{pubkey:f.publicKey,isWritable:!0,isSigner:!0},{pubkey:s,isWritable:!1,isSigner:!1},{pubkey:p,isWritable:!1,isSigner:!1},{pubkey:u,isWritable:!1,isSigner:!1},{pubkey:a,isWritable:!1,isSigner:!1},{pubkey:unsignedTransaction.SystemProgram.programId,isWritable:!1,isSigner:!1}],A=platform.Buffer$1.alloc(MctpBridgeLockFeeLayout.span);MctpBridgeLockFeeLayout.encode({instruction:getAnchorInstructionData("bridge_locked_fee")},A);const I=new unsignedTransaction.TransactionInstruction({keys:h,data:A,programId:c});return i.push(I),{instructions:i,signer:f}}var MctpInitSwapLayout=unsignedTransaction.LayoutExports.struct([unsignedTransaction.LayoutExports.blob(8,"instruction")]);function createMctpInitSwapInstruction(e,t,r,n,o){const i=new unsignedTransaction.PublicKey(addresses_default.TOKEN_PROGRAM_ID),u=new unsignedTransaction.PublicKey(addresses_default.CCTP_CORE_PROGRAM_ID),a=new unsignedTransaction.PublicKey(addresses_default.CCTP_TOKEN_PROGRAM_ID),p=new unsignedTransaction.PublicKey(addresses_default.MCTP_PROGRAM_ID),s=new unsignedTransaction.PublicKey(n),c=new unsignedTransaction.PublicKey(r),d=getAssociatedTokenAddress(c,e,!0),y=getCCTPBridgePDAs(c,t),l=unsignedTransaction.Keypair.generate(),[m]=unsignedTransaction.PublicKey.findProgramAddressSync([platform.Buffer$1.from("ORDER_SOLANA_SOURCE"),e.toBuffer()],p);let f;o&&o>BigInt(0)?f=getAssociatedTokenAddress(c,s,!1):f=new unsignedTransaction.PublicKey(addresses_default.MCTP_PROGRAM_ID);const T=[{pubkey:e,isWritable:!1,isSigner:!1},{pubkey:d,isWritable:!0,isSigner:!1},{pubkey:s,isWritable:!0,isSigner:!0},{pubkey:f,isWritable:!0,isSigner:!1},{pubkey:c,isWritable:!0,isSigner:!1},{pubkey:m,isWritable:!0,isSigner:!1},{pubkey:y.senderAuthority,isWritable:!1,isSigner:!1},{pubkey:y.tokenMessenger,isWritable:!1,isSigner:!1},{pubkey:y.remoteTokenMessengerKey,isWritable:!1,isSigner:!1},{pubkey:y.tokenMinter,isWritable:!1,isSigner:!1},{pubkey:y.localToken,isWritable:!0,isSigner:!1},{pubkey:y.eventAuthToken,isWritable:!1,isSigner:!1},{pubkey:y.messageTransmitter,isWritable:!0,isSigner:!1},{pubkey:l.publicKey,isWritable:!0,isSigner:!0},{pubkey:a,isWritable:!1,isSigner:!1},{pubkey:u,isWritable:!1,isSigner:!1},{pubkey:new unsignedTransaction.PublicKey(addresses_default.FEE_MANAGER_PROGRAM_ID),isWritable:!1,isSigner:!1},{pubkey:i,isWritable:!1,isSigner:!1},{pubkey:unsignedTransaction.SystemProgram.programId,isWritable:!1,isSigner:!1}],g=platform.Buffer$1.alloc(MctpInitSwapLayout.span);return MctpInitSwapLayout.encode({instruction:getAnchorInstructionData("create_order")},g),{instruction:new unsignedTransaction.TransactionInstruction({keys:T,data:g,programId:p}),signer:l}}var MctpBridgeLedgerLayout=unsignedTransaction.LayoutExports.struct([unsignedTransaction.LayoutExports.blob(8,"instruction"),unsignedTransaction.LayoutExports.blob(32,"destAddress"),unsignedTransaction.LayoutExports.blob(8,"amountInMin"),unsignedTransaction.LayoutExports.blob(8,"gasDrop"),unsignedTransaction.LayoutExports.blob(8,"feeRedeem"),unsignedTransaction.LayoutExports.blob(8,"feeSolana"),unsignedTransaction.LayoutExports.u16("destinationChain"),unsignedTransaction.LayoutExports.blob(32,"keyRnd"),unsignedTransaction.LayoutExports.u8("mode")]);function createMctpBridgeLedgerInstruction(e){if(e.mode!=="WITH_FEE"&&e.mode!=="LOCK_FEE")throw new Error("Invalid mode: "+e.mode);const t=new unsignedTransaction.PublicKey(e.swapperAddress),r=new unsignedTransaction.PublicKey(e.mintAddress),n=getAssociatedTokenAddress(r,e.ledger,!0),o=getWormholeChainIdByName(e.toChain),i=platform.Buffer$1.from(hexToUint8Array(nativeAddressToHexString(e.destinationAddress,o))),u=getSafeU64Blob(e.amountInMin64),a=getSafeU64Blob(getAmountOfFractionalAmount(e.gasDrop,Math.min(getGasDecimal(e.toChain),8))),p=getSafeU64Blob(getAmountOfFractionalAmount(e.feeRedeem,CCTP_TOKEN_DECIMALS)),s=getSafeU64Blob(e.feeSolana),c=e.referrerAddress?platform.Buffer$1.from(hexToUint8Array(nativeAddressToHexString(e.referrerAddress,o))):unsignedTransaction.SystemProgram.programId.toBuffer(),d=[{pubkey:t,isWritable:!0,isSigner:!0},{pubkey:e.ledger,isWritable:!0,isSigner:!1},{pubkey:n,isWritable:!1,isSigner:!1},{pubkey:e.customPayload||new unsignedTransaction.PublicKey(addresses_default.MCTP_PROGRAM_ID),isWritable:!1,isSigner:!1},{pubkey:r,isWritable:!1,isSigner:!1},{pubkey:unsignedTransaction.SystemProgram.programId,isWritable:!1,isSigner:!1},{pubkey:new unsignedTransaction.PublicKey(c),isWritable:!1,isSigner:!1}],y=platform.Buffer$1.alloc(MctpBridgeLedgerLayout.span);return MctpBridgeLedgerLayout.encode({instruction:getAnchorInstructionData("init_bridge_ledger"),destAddress:i,amountInMin:u,gasDrop:a,feeRedeem:p,feeSolana:s,destinationChain:o,keyRnd:e.randomKey.toBuffer(),mode:e.mode==="WITH_FEE"?1:2},y),new unsignedTransaction.TransactionInstruction({keys:d,data:y,programId:new unsignedTransaction.PublicKey(addresses_default.MCTP_PROGRAM_ID)})}var MctpSwapLedgerLayout=unsignedTransaction.LayoutExports.struct([unsignedTransaction.LayoutExports.blob(8,"instruction"),unsignedTransaction.LayoutExports.blob(32,"destAddress"),unsignedTransaction.LayoutExports.blob(8,"amountInMin"),unsignedTransaction.LayoutExports.blob(8,"gasDrop"),unsignedTransaction.LayoutExports.blob(8,"feeRedeem"),unsignedTransaction.LayoutExports.blob(8,"feeSolana"),unsignedTransaction.LayoutExports.u16("destinationChain"),unsignedTransaction.LayoutExports.blob(32,"keyRnd"),unsignedTransaction.LayoutExports.u8("mode"),unsignedTransaction.LayoutExports.blob(32,"tokenOut"),unsignedTransaction.LayoutExports.blob(8,"amountOutMin"),unsignedTransaction.LayoutExports.blob(8,"deadline"),unsignedTransaction.LayoutExports.blob(32,"refAddress"),unsignedTransaction.LayoutExports.u8("feeRateRef")]);function createMctpSwapLedgerInstruction(e){const t=new unsignedTransaction.PublicKey(e.swapperAddress),r=new unsignedTransaction.PublicKey(e.mintAddress),n=getAssociatedTokenAddress(r,e.ledger,!0),o=getWormholeChainIdByName(e.toChain),i=platform.Buffer$1.from(hexToUint8Array(nativeAddressToHexString(e.destinationAddress,o))),u=getSafeU64Blob(e.amountInMin64),a=getSafeU64Blob(getAmountOfFractionalAmount(e.gasDrop,Math.min(getGasDecimal(e.toChain),8))),p=getSafeU64Blob(getAmountOfFractionalAmount(e.feeRedeem,CCTP_TOKEN_DECIMALS)),s=getSafeU64Blob(e.feeSolana),c=platform.Buffer$1.from(hexToUint8Array(nativeAddressToHexString(e.tokenOut,o))),d=e.referrerAddress?platform.Buffer$1.from(hexToUint8Array(nativeAddressToHexString(e.referrerAddress,o))):unsignedTransaction.SystemProgram.programId.toBuffer(),y=getSafeU64Blob(getAmountOfFractionalAmount(e.amountOutMin,Math.min(8,e.tokenOutDecimals))),l=getSafeU64Blob(e.deadline),m=[{pubkey:t,isWritable:!0,isSigner:!0},{pubkey:e.ledger,isWritable:!0,isSigner:!1},{pubkey:n,isWritable:!1,isSigner:!1},{pubkey:r,isWritable:!1,isSigner:!1},{pubkey:unsignedTransaction.SystemProgram.programId,isWritable:!1,isSigner:!1}],f=platform.Buffer$1.alloc(MctpSwapLedgerLayout.span);return MctpSwapLedgerLayout.encode({instruction:getAnchorInstructionData("init_order_ledger"),destAddress:i,amountInMin:u,gasDrop:a,feeRedeem:p,feeSolana:s,destinationChain:o,keyRnd:e.randomKey.toBuffer(),mode:3,tokenOut:c,refAddress:d,amountOutMin:y,deadline:l,feeRateRef:e.feeRateRef},f),new unsignedTransaction.TransactionInstruction({keys:m,data:f,programId:new unsignedTransaction.PublicKey(addresses_default.MCTP_PROGRAM_ID)})}async function createMctpFromSolanaInstructions(e,t,r,n,o,i={}){const u=i?.forceSkipCctpInstructions||!1,a=i?.allowSwapperOffCurve||!1;if(e.toChain==="solana")throw new Error("Unsupported destination chain: "+e.toChain);let p=[],s=[],c=[],d=[],y=[],l=[],m=[];const f=unsignedTransaction.Keypair.generate();let T=null;p.push(addresses_default.LOOKUP_TABLE);const g=new unsignedTransaction.PublicKey(addresses_default.MCTP_PROGRAM_ID),b=new unsignedTransaction.PublicKey(t),h=unsignedTransaction.Keypair.generate(),A=e.deadline64?BigInt(e.deadline64):BigInt(0);if(e.hasAuction&&!Number(e.deadline64))throw new Error("Swap mode requires a timeout");const I=e.hasAuction?"LEDGER_ORDER":"LEDGER_BRIDGE",[C]=unsignedTransaction.PublicKey.findProgramAddressSync([platform.Buffer$1.from(I),b.toBytes(),h.publicKey.toBytes()],g),w=getAssociatedTokenAddress(new unsignedTransaction.PublicKey(e.mctpInputContract),C,!0),M=e.cheaperChain==="solana"?"LOCK_FEE":"WITH_FEE",E=e.toChain==="sui"?e.toToken.verifiedAddress:e.toToken.contract;if(e.fromToken.contract===e.mctpInputContract){const S=BigInt(u?e.solanaRelayerFee64:0);if(e.suggestedPriorityFee>0&&s.push(unsignedTransaction.ComputeBudgetProgram.setComputeUnitPrice({microLamports:e.suggestedPriorityFee})),s.push(createAssociatedTokenAccountInstruction(b,w,C,new unsignedTransaction.PublicKey(e.mctpInputContract))),s.push(createSplTransferInstruction(getAssociatedTokenAddress(new unsignedTransaction.PublicKey(e.mctpInputContract),b,a),w,b,BigInt(e.effectiveAmountIn64))),e.hasAuction){if(s.push(createMctpSwapLedgerInstruction({ledger:C,swapperAddress:t,mintAddress:e.mctpInputContract,randomKey:h.publicKey,toChain:e.toChain,destinationAddress:r,feeSolana:S,feeRedeem:e.redeemRelayerFee,gasDrop:e.gasDrop,amountInMin64:BigInt(e.effectiveAmountIn64),tokenOut:E,tokenOutDecimals:e.toToken.decimals,referrerAddress:n,amountOutMin:e.minAmountOut,deadline:A,feeRateRef:e.referrerBps})),!u){const{instruction:_,signer:F}=createMctpInitSwapInstruction(C,e.toChain,e.mctpInputContract,t,S);s.push(_),c.push(F)}}else if(s.push(createMctpBridgeLedgerInstruction({ledger:C,swapperAddress:t,mintAddress:e.mctpInputContract,randomKey:h.publicKey,toChain:e.toChain,destinationAddress:r,feeSolana:S,feeRedeem:e.redeemRelayerFee,gasDrop:e.gasDrop,amountInMin64:BigInt(e.effectiveAmountIn64),mode:M,referrerAddress:n})),!u)if(M==="WITH_FEE"){const{instruction:_,signers:F}=createMctpBridgeWithFeeInstruction(C,e.toChain,e.mctpInputContract,t,S);s.push(_),c.push(...F)}else{const{instructions:_,signer:F}=createMctpBridgeLockFeeInstruction(C,e.toChain,e.mctpInputContract,t,S);s.push(..._),c.push(F)}}else{const S=await getSwapSolana({minMiddleAmount:e.minMiddleAmount,middleToken:e.mctpInputContract,userWallet:t,userLedger:C.toString(),slippageBps:e.slippageBps,fromToken:e.fromToken.contract,amountIn64:e.effectiveAmountIn64,depositMode:e.hasAuction?"SWAP":M,fillMaxAccounts:i?.separateSwapTx||!1,tpmTokenAccount:i?.separateSwapTx?f.publicKey.toString():null}),_=decentralizeClientSwapInstructions(S);i?.separateSwapTx&&S.maxAccountsFilled?(validateJupSwap(_,f.publicKey,b),m=await createInitializeRandomTokenAccountInstructions(o,b,new unsignedTransaction.PublicKey(e.mctpInputContract),b,f),l.push(..._.computeBudgetInstructions),_.setupInstructions&&l.push(..._.setupInstructions),l.push(_.swapInstruction),_.cleanupInstruction&&l.push(_.cleanupInstruction),y.push(..._.addressLookupTableAddresses),s.push(createAssociatedTokenAccountInstruction(b,w,C,new unsignedTransaction.PublicKey(e.mctpInputContract))),s.push(createTransferAllAndCloseInstruction(b,new unsignedTransaction.PublicKey(e.mctpInputContract),f.publicKey,w,b))):(validateJupSwap(_,w,b),s.push(..._.computeBudgetInstructions),_.setupInstructions&&s.push(..._.setupInstructions),s.push(_.swapInstruction),_.cleanupInstruction&&s.push(_.cleanupInstruction),p.push(..._.addressLookupTableAddresses));const F=l.length>0?BigInt(0):BigInt(e.solanaRelayerFee64);if(e.hasAuction){if(s.push(createMctpSwapLedgerInstruction({ledger:C,swapperAddress:t,mintAddress:e.mctpInputContract,randomKey:h.publicKey,toChain:e.toChain,destinationAddress:r,feeSolana:F,feeRedeem:e.redeemRelayerFee,gasDrop:e.gasDrop,amountInMin64:getAmountOfFractionalAmount(e.minMiddleAmount,CCTP_TOKEN_DECIMALS),tokenOut:E,tokenOutDecimals:e.toToken.decimals,referrerAddress:n,amountOutMin:e.minAmountOut,deadline:A,feeRateRef:e.referrerBps})),l.length>0){const{instruction:x,signer:R}=createMctpInitSwapInstruction(C,e.toChain,e.mctpInputContract,t,F);s.push(x),c.push(R)}}else if(s.push(createMctpBridgeLedgerInstruction({ledger:C,swapperAddress:t,mintAddress:e.mctpInputContract,randomKey:h.publicKey,toChain:e.toChain,destinationAddress:r,feeSolana:F,feeRedeem:e.redeemRelayerFee,gasDrop:e.gasDrop,amountInMin64:getAmountOfFractionalAmount(e.minMiddleAmount,CCTP_TOKEN_DECIMALS),mode:M,referrerAddress:n})),l.length>0)if(M==="WITH_FEE"){const{instruction:x,signers:R}=createMctpBridgeWithFeeInstruction(C,e.toChain,e.mctpInputContract,t,F);s.push(x),c.push(...R)}else{const{instructions:x,signer:R}=createMctpBridgeLockFeeInstruction(C,e.toChain,e.mctpInputContract,t,F);s.push(...x),c.push(R)}}const P=await getAddressLookupTableAccounts(p.concat(y),o);if(d=P.slice(0,p.length),l.length>0){const S=P.slice(p.length);T={messageV0:{payerKey:b,instructions:l,addressLookupTableAccounts:S},createTmpTokenAccountIxs:m,tmpTokenAccount:f}}return{instructions:s,signers:c,lookupTables:d,swapMessageV0Params:T}}function createSwiftOrderHash(e,t,r,n,o){const u=platform.Buffer$1.alloc(239);let a=0;const p=getWormholeChainIdByName(e.fromChain),s=platform.Buffer$1.from(hexToUint8Array(nativeAddressToHexString(t,p)));u.set(s,0),a+=32,u.writeUInt16BE(p,a),a+=2;const c=e.swiftInputContract===platform.ZeroAddress?nativeAddressToHexString(unsignedTransaction.SystemProgram.programId.toString(),getWormholeChainIdByName("solana")):nativeAddressToHexString(e.swiftInputContract,p),d=platform.Buffer$1.from(hexToUint8Array(c));u.set(d,a),a+=32;const y=getWormholeChainIdByName(e.toChain),l=platform.Buffer$1.from(hexToUint8Array(nativeAddressToHexString(r,y)));u.set(l,a),a+=32,u.writeUInt16BE(y,a),a+=2;const m=e.toToken.contract===platform.ZeroAddress?nativeAddressToHexString(unsignedTransaction.SystemProgram.programId.toString(),getWormholeChainIdByName("solana")):nativeAddressToHexString(e.toToken.contract,y),f=platform.Buffer$1.from(hexToUint8Array(m));u.set(f,a),a+=32,u.writeBigUInt64BE(getAmountOfFractionalAmount(e.minAmountOut,Math.min(e.toToken.decimals,8)),a),a+=8,u.writeBigUInt64BE(getAmountOfFractionalAmount(e.gasDrop,Math.min(getGasDecimal(e.toChain),8)),a),a+=8,u.writeBigUInt64BE(BigInt(e.cancelRelayerFee64),a),a+=8,u.writeBigUInt64BE(BigInt(e.refundRelayerFee64),a),a+=8,u.writeBigUInt64BE(BigInt(e.deadline64),a),a+=8;const T=n?platform.Buffer$1.from(hexToUint8Array(nativeAddressToHexString(n,y))):unsignedTransaction.SystemProgram.programId.toBuffer();u.set(T,a),a+=32,u.writeUInt8(e.referrerBps,a),a+=1;const g=e.protocolBps;u.writeUInt8(g,a),a+=1,u.writeUInt8(e.swiftAuctionMode,a),a+=1;const b=platform.Buffer$1.from(hexToUint8Array(o));if(u.set(b,a),a+=32,a!==239)throw new Error(`Invalid order data size: ${a}`);const h=platform.keccak256(u);return platform.Buffer$1.from(hexToUint8Array(h))}var InitSwiftLayout=unsignedTransaction.LayoutExports.struct([unsignedTransaction.LayoutExports.blob(8,"instruction"),unsignedTransaction.LayoutExports.blob(8,"amountInMin"),unsignedTransaction.LayoutExports.u8("nativeInput"),unsignedTransaction.LayoutExports.blob(8,"feeSubmit"),unsignedTransaction.LayoutExports.blob(32,"destAddress"),unsignedTransaction.LayoutExports.u16("destinationChain"),unsignedTransaction.LayoutExports.blob(32,"tokenOut"),unsignedTransaction.LayoutExports.blob(8,"amountOutMin"),unsignedTransaction.LayoutExports.blob(8,"gasDrop"),unsignedTransaction.LayoutExports.blob(8,"feeCancel"),unsignedTransaction.LayoutExports.blob(8,"feeRefund"),unsignedTransaction.LayoutExports.blob(8,"deadline"),unsignedTransaction.LayoutExports.blob(32,"refAddress"),unsignedTransaction.LayoutExports.u8("feeRateRef"),unsignedTransaction.LayoutExports.u8("feeRateMayan"),unsignedTransaction.LayoutExports.u8("auctionMode"),unsignedTransaction.LayoutExports.blob(32,"randomKey")]);function createSwiftInitInstruction(e){const{quote:t}=e,r=t.swiftInputContract===platform.ZeroAddress?solMint:new unsignedTransaction.PublicKey(t.swiftInputContract),n=getWormholeChainIdByName(t.toChain);if(n!==t.toToken.wChainId)throw new Error(`Destination chain ID mismatch: ${n} != ${t.toToken.wChainId}`);const o=[{pubkey:e.trader,isWritable:!1,isSigner:!0},{pubkey:e.relayer,isWritable:!0,isSigner:!0},{pubkey:e.state,isWritable:!0,isSigner:!1},{pubkey:e.stateAccount,isWritable:!0,isSigner:!1},{pubkey:e.relayerAccount,isWritable:!0,isSigner:!1},{pubkey:r,isWritable:!1,isSigner:!1},{pubkey:new unsignedTransaction.PublicKey(addresses_default.FEE_MANAGER_PROGRAM_ID),isWritable:!1,isSigner:!1},{pubkey:new unsignedTransaction.PublicKey(addresses_default.TOKEN_PROGRAM_ID),isWritable:!1,isSigner:!1},{pubkey:unsignedTransaction.SystemProgram.programId,isWritable:!1,isSigner:!1}],i=platform.Buffer$1.alloc(InitSwiftLayout.span),u=e.referrerAddress?platform.Buffer$1.from(hexToUint8Array(nativeAddressToHexString(e.referrerAddress,n))):unsignedTransaction.SystemProgram.programId.toBuffer(),a=t.fromToken.contract===t.swiftInputContract?BigInt(t.effectiveAmountIn64):getAmountOfFractionalAmount(t.minMiddleAmount,t.swiftInputDecimals);return InitSwiftLayout.encode({instruction:getAnchorInstructionData("init_order"),amountInMin:getSafeU64Blob(a),nativeInput:t.swiftInputContract===platform.ZeroAddress?1:0,feeSubmit:getSafeU64Blob(BigInt(t.submitRelayerFee64)),destAddress:platform.Buffer$1.from(hexToUint8Array(nativeAddressToHexString(e.destinationAddress,n))),destinationChain:n,tokenOut:platform.Buffer$1.from(hexToUint8Array(nativeAddressToHexString(t.toToken.contract,n))),amountOutMin:getSafeU64Blob(getAmountOfFractionalAmount(t.minAmountOut,Math.min(t.toToken.decimals,8))),gasDrop:getSafeU64Blob(getAmountOfFractionalAmount(t.gasDrop,Math.min(getGasDecimal(t.toChain),8))),feeCancel:getSafeU64Blob(BigInt(t.cancelRelayerFee64)),feeRefund:getSafeU64Blob(BigInt(t.refundRelayerFee64)),deadline:getSafeU64Blob(e.deadline),refAddress:u,feeRateRef:t.referrerBps,feeRateMayan:t.protocolBps,auctionMode:t.swiftAuctionMode,randomKey:e.randomKey.toBuffer()},i),new unsignedTransaction.TransactionInstruction({keys:o,data:i,programId:new unsignedTransaction.PublicKey(addresses_default.SWIFT_PROGRAM_ID)})}async function createSwiftFromSolanaInstructions(e,t,r,n,o,i={}){if(e.type!=="SWIFT")throw new Error("Unsupported quote type for Swift: "+e.type);if(e.toChain==="solana")throw new Error("Unsupported destination chain: "+e.toChain);const u=i.allowSwapperOffCurve||!1;let a=[],p=[],s=[];s.push(addresses_default.LOOKUP_TABLE);let c=[],d=[],y=[];const l=unsignedTransaction.Keypair.generate();let m=null;const f=new unsignedTransaction.PublicKey(addresses_default.SWIFT_PROGRAM_ID),T=new unsignedTransaction.PublicKey(t),g=unsignedTransaction.Keypair.generate();if(!Number(e.deadline64))throw new Error("Swift mode requires a timeout");const b=BigInt(e.deadline64),h=createSwiftOrderHash(e,t,r,n,g.publicKey.toBuffer().toString("hex")),[A]=unsignedTransaction.PublicKey.findProgramAddressSync([platform.Buffer$1.from("STATE_SOURCE"),h],f),I=e.swiftInputContract===platform.ZeroAddress?solMint:new unsignedTransaction.PublicKey(e.swiftInputContract),C=getAssociatedTokenAddress(I,A,!0),w=e.gasless?new unsignedTransaction.PublicKey(e.relayer):T,M=BigInt(e.submitRelayerFee64)>0n?getAssociatedTokenAddress(I,w,!1):f;if(e.fromToken.contract===e.swiftInputContract)e.suggestedPriorityFee>0&&a.push(unsignedTransaction.ComputeBudgetProgram.setComputeUnitPrice({microLamports:e.suggestedPriorityFee})),a.push(createAssociatedTokenAccountInstruction(w,C,A,I)),e.swiftInputContract===platform.ZeroAddress?a.push(unsignedTransaction.SystemProgram.transfer({fromPubkey:T,toPubkey:C,lamports:BigInt(e.effectiveAmountIn64)}),createSyncNativeInstruction(C)):a.push(createSplTransferInstruction(getAssociatedTokenAddress(I,T,u),C,T,BigInt(e.effectiveAmountIn64)));else{const P=await getSwapSolana({minMiddleAmount:e.minMiddleAmount,middleToken:e.swiftInputContract,userWallet:t,slippageBps:e.slippageBps,fromToken:e.fromToken.contract,amountIn64:e.effectiveAmountIn64,depositMode:e.gasless?"SWIFT_GASLESS":"SWIFT",orderHash:`0x${h.toString("hex")}`,fillMaxAccounts:i?.separateSwapTx||!1,tpmTokenAccount:i?.separateSwapTx?l.publicKey.toString():null}),S=decentralizeClientSwapInstructions(P);i?.separateSwapTx&&P.maxAccountsFilled?(validateJupSwap(S,l.publicKey,T),y=await createInitializeRandomTokenAccountInstructions(o,w,I,T,l),d.push(...S.computeBudgetInstructions),S.setupInstructions&&d.push(...S.setupInstructions),d.push(S.swapInstruction),S.cleanupInstruction&&d.push(S.cleanupInstruction),c.push(...S.addressLookupTableAddresses),a.push(createAssociatedTokenAccountInstruction(w,C,A,I)),a.push(createTransferAllAndCloseInstruction(T,I,l.publicKey,C,w))):(a.push(...S.computeBudgetInstructions),S.setupInstructions&&a.push(...S.setupInstructions),a.push(S.swapInstruction),S.cleanupInstruction&&a.push(S.cleanupInstruction),s.push(...S.addressLookupTableAddresses))}a.push(createSwiftInitInstruction({quote:e,state:A,trader:T,stateAccount:C,randomKey:g.publicKey,relayerAccount:M,relayer:w,destinationAddress:r,deadline:b,referrerAddress:n}));const E=await getAddressLookupTableAccounts(s.concat(c),o);if(p=E.slice(0,s.length),d.length>0){const P=E.slice(s.length);m={messageV0:{payerKey:w,instructions:d,addressLookupTableAccounts:P},createTmpTokenAccountIxs:y,tmpTokenAccount:l}}return{instructions:a,signers:[],lookupTables:p,swapMessageV0Params:m}}var STATE_SIZE=420,SwapLayout=unsignedTransaction.LayoutExports.struct([unsignedTransaction.LayoutExports.u8("instruction"),unsignedTransaction.LayoutExports.u8("stateNonce"),unsignedTransaction.LayoutExports.blob(8,"amount"),unsignedTransaction.LayoutExports.blob(8,"minAmountOut"),unsignedTransaction.LayoutExports.blob(8,"deadline"),unsignedTransaction.LayoutExports.blob(8,"feeSwap"),unsignedTransaction.LayoutExports.blob(8,"feeReturn"),unsignedTransaction.LayoutExports.blob(8,"feeCancel"),unsignedTransaction.LayoutExports.blob(8,"gasDrop"),unsignedTransaction.LayoutExports.u16("destinationChain"),unsignedTransaction.LayoutExports.blob(32,"destinationAddress"),unsignedTransaction.LayoutExports.u8("unwrapRedeem"),unsignedTransaction.LayoutExports.u8("unwrapRefund"),unsignedTransaction.LayoutExports.u8("mayanFeeNonce"),unsignedTransaction.LayoutExports.u8("referrerFeeNonce")]);async function createSwapFromSolanaInstructions(e,t,r,n,o,i={}){const u=getQuoteSuitableReferrerAddress(e);if(e.type==="MCTP")return createMctpFromSolanaInstructions(e,t,r,u,o,i);if(e.type==="SWIFT")return createSwiftFromSolanaInstructions(e,t,r,u,o,i);let a=[];const p=o??new unsignedTransaction.Connection("https://rpc.ankr.com/solana"),s=new unsignedTransaction.PublicKey(addresses_default.MAYAN_PROGRAM_ID),c=new unsignedTransaction.PublicKey(addresses_default.TOKEN_PROGRAM_ID),d=new unsignedTransaction.PublicKey(t),y=new unsignedTransaction.PublicKey(addresses_default.AUCTION_PROGRAM_ID);e.suggestedPriorityFee>0&&a.push(unsignedTransaction.ComputeBudgetProgram.setComputeUnitPrice({microLamports:e.suggestedPriorityFee}));let l;u?l=new unsignedTransaction.PublicKey(u):l=unsignedTransaction.SystemProgram.programId;const[m,f]=unsignedTransaction.PublicKey.findProgramAddressSync([platform.Buffer$1.from("MAYANFEE")],s),[T,g]=unsignedTransaction.PublicKey.findProgramAddressSync([platform.Buffer$1.from("REFERRERFEE"),l.toBuffer()],s),b=unsignedTransaction.Keypair.generate(),h=unsignedTransaction.Keypair.generate(),[A,I]=unsignedTransaction.PublicKey.findProgramAddressSync([platform.Buffer$1.from("V2STATE"),platform.Buffer$1.from(b.publicKey.toBytes()),platform.Buffer$1.from(h.publicKey.toBytes())],s),C=new unsignedTransaction.PublicKey(e.fromToken.mint),w=new unsignedTransaction.PublicKey(e.toToken.mint),M=getAssociatedTokenAddress(C,d),E=getAssociatedTokenAddress(C,A,!0),[[P,S],_,F]=await Promise.all([p.getMultipleAccountsInfo([M,E],"finalized"),p.getMinimumBalanceForRentExemption(STATE_SIZE),decideRelayer()]);(!P||P.data.length===0)&&a.push(createAssociatedTokenAccountInstruction(d,M,d,C)),(!S||S.data.length===0)&&a.push(createAssociatedTokenAccountInstruction(d,E,A,C)),e.fromToken.contract===platform.ZeroAddress&&(a.push(unsignedTransaction.SystemProgram.transfer({fromPubkey:d,toPubkey:M,lamports:BigInt(e.effectiveAmountIn64)})),a.push(createSyncNativeInstruction(M)));const x=BigInt(e.effectiveAmountIn64),R=unsignedTransaction.Keypair.generate();a.push(createApproveInstruction(M,R.publicKey,d,x)),a.push(unsignedTransaction.SystemProgram.transfer({fromPubkey:d,toPubkey:R.publicKey,lamports:_}));const B=[{pubkey:R.publicKey,isWritable:!1,isSigner:!0},{pubkey:b.publicKey,isWritable:!1,isSigner:!0},{pubkey:h.publicKey,isWritable:!1,isSigner:!0},{pubkey:A,isWritable:!0,isSigner:!1},{pubkey:M,isWritable:!0,isSigner:!1},{pubkey:d,isWritable:!1,isSigner:!1},{pubkey:E,isWritable:!0,isSigner:!1},{pubkey:C,isWritable:!1,isSigner:!1},{pubkey:w,isWritable:!1,isSigner:!1},{pubkey:y,isWritable:!1,isSigner:!1},{pubkey:l,isWritable:!1,isSigner:!1},{pubkey:m,isWritable:!1,isSigner:!1},{pubkey:T,isWritable:!1,isSigner:!1},{pubkey:R.publicKey,isWritable:!0,isSigner:!0},{pubkey:F,isWritable:!1,isSigner:!1},{pubkey:unsignedTransaction.SYSVAR_CLOCK_PUBKEY,isWritable:!1,isSigner:!1},{pubkey:unsignedTransaction.SYSVAR_RENT_PUBKEY,isWritable:!1,isSigner:!1},{pubkey:c,isWritable:!1,isSigner:!1},{pubkey:unsignedTransaction.SystemProgram.programId,isWritable:!1,isSigner:!1}],k=getWormholeChainIdByName(e.toChain);if(k===1){const O=await p.getAccountInfo(new unsignedTransaction.PublicKey(r));if(O&&O.owner&&O.owner.equals(c))throw new Error("Destination address is not about token account. It should be a owner address")}const D=platform.Buffer$1.from(hexToUint8Array(nativeAddressToHexString(r,k))),N=getAmountOfFractionalAmount(e.minAmountOut,e.mintDecimals.to),H=getAmountOfFractionalAmount(e.swapRelayerFee,e.mintDecimals.from),W=getAmountOfFractionalAmount(e.redeemRelayerFee,e.mintDecimals.to),L=getAmountOfFractionalAmount(e.refundRelayerFee,e.mintDecimals.from),U=getAmountOfFractionalAmount(e.gasDrop,getGasDecimalsInSolana(e.toChain)),G=e.toToken.contract===platform.ZeroAddress,$=e.fromToken.contract===platform.ZeroAddress;if(!Number(e.deadline64))throw new Error("Deadline is not valid");const j=BigInt(e.deadline64),v=platform.Buffer$1.alloc(SwapLayout.span),Y={instruction:101,stateNonce:I,amount:getSafeU64Blob(x),minAmountOut:getSafeU64Blob(N),deadline:getSafeU64Blob(j),feeSwap:getSafeU64Blob(H),feeReturn:getSafeU64Blob(W),feeCancel:getSafeU64Blob(L),gasDrop:getSafeU64Blob(U),destinationChain:k,destinationAddress:D,unwrapRedeem:G?1:0,unwrapRefund:$?1:0,mayanFeeNonce:f,referrerFeeNonce:g};SwapLayout.encode(Y,v);const V=new unsignedTransaction.TransactionInstruction({keys:B,data:v,programId:s});return a.push(V),{instructions:a,signers:[R,b,h],lookupTables:[],swapMessageV0Params:null}}function getEvmSwiftParams(e,t,r,n,o){const i=getWormholeChainIdById(Number(o)),u=getWormholeChainIdByName(e.fromChain),a=getWormholeChainIdByName(e.toChain);if(u!==i)throw new Error(`Signer chain id(${Number(o)}) and quote from chain are not same! ${u} !== ${i}`);if(!e.swiftMayanContract)throw new Error("SWIFT contract address is missing");if(e.toToken.wChainId!==a)throw new Error(`Destination chain ID mismatch: ${a} != ${e.toToken.wChainId}`);const p=e.swiftMayanContract;if(!Number(e.deadline64))throw new Error("Swift order requires timeout");const s=BigInt(e.deadline64),c=e.swiftInputContract,d=BigInt(e.effectiveAmountIn64);let y;n?y=nativeAddressToHexString(n,a):y=nativeAddressToHexString(unsignedTransaction.SystemProgram.programId.toString(),1);const l=nativeAddressToHexString(unsignedTransaction.Keypair.generate().publicKey.toString(),1),m=e.toToken.contract===platform.ZeroAddress?nativeAddressToHexString(unsignedTransaction.SystemProgram.programId.toString(),1):nativeAddressToHexString(e.toToken.contract,a),f=getAmountOfFractionalAmount(e.minAmountOut,Math.min(8,e.toToken.decimals)),T=getAmountOfFractionalAmount(e.gasDrop,Math.min(8,getGasDecimal(e.toChain))),g=nativeAddressToHexString(r,a),b={trader:nativeAddressToHexString(t,u),tokenOut:m,minAmountOut:f,gasDrop:T,cancelFee:BigInt(e.cancelRelayerFee64),refundFee:BigInt(e.refundRelayerFee64),deadline:s,destAddr:g,destChainId:a,referrerAddr:y,referrerBps:e.referrerBps||0,auctionMode:e.swiftAuctionMode,random:l};return{contractAddress:p,tokenIn:c,amountIn:d,order:b}}function getSwiftFromEvmTxPayload(e,t,r,n,o,i){if(e.type!=="SWIFT")throw new Error("Quote type is not SWIFT");if(!Number.isFinite(Number(o)))throw new Error("Invalid signer chain id");if(!Number(e.deadline64))throw new Error("Swift order requires timeout");o=Number(o);const u=ZeroPermit,a=new platform.Contract(addresses_default.MAYAN_FORWARDER_CONTRACT,MayanForwarderArtifact_default.abi),{tokenIn:p,amountIn:s,order:c,contractAddress:d}=getEvmSwiftParams(e,t,r,n,o);let y;const l=new platform.Contract(d,MayanSwiftArtifact_default.abi);e.swiftInputContract===platform.ZeroAddress?y=l.interface.encodeFunctionData("createOrderWithEth",[c]):y=l.interface.encodeFunctionData("createOrderWithToken",[p,s,c]);let m,f,T;if(e.fromToken.contract===e.swiftInputContract)e.fromToken.contract===platform.ZeroAddress?(m="forwardEth",f=[d,y],T=platform.toBeHex(s)):(m="forwardERC20",f=[p,s,u,d,y],T=platform.toBeHex(0));else{const{evmSwapRouterAddress:b,evmSwapRouterCalldata:h}=e;if(!e.minMiddleAmount||!b||!h)throw new Error("Swift swap requires middle amount, router address and calldata");const A=e.fromToken.contract,I=getAmountOfFractionalAmount(e.minMiddleAmount,e.swiftInputDecimals);e.fromToken.contract===platform.ZeroAddress?(m="swapAndForwardEth",f=[s,b,h,e.swiftInputContract,I,d,y],T=platform.toBeHex(s)):(m="swapAndForwardERC20",f=[A,s,u,b,h,e.swiftInputContract,I,d,y],T=platform.toBeHex(0))}return{data:a.interface.encodeFunctionData(m,f),to:addresses_default.MAYAN_FORWARDER_CONTRACT,value:T,chainId:o,_forwarder:{method:m,params:f}}}var ShuttleArtifact_default={abi:[{type:"function",name:"batchMaxApprove",inputs:[{name:"approvals",type:"bytes",internalType:"bytes"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"initiate",inputs:[{name:"recipient",type:"bytes32",internalType:"bytes32"},{name:"overrideAmountIn",type:"uint256",internalType:"uint256"},{name:"targetChain",type:"uint16",internalType:"uint16"},{name:"params",type:"bytes",internalType:"bytes"}],outputs:[{name:"",type:"bytes",internalType:"bytes"}],stateMutability:"payable"},{type:"error",name:"ChainNotSupported",inputs:[{name:"chain",type:"uint16",internalType:"uint16"}]},{type:"error",name:"DeadlineExpired",inputs:[{name:"blocktime",type:"uint256",internalType:"uint256"},{name:"deadline",type:"uint256",internalType:"uint256"}]},{type:"error",name:"EthTransferFailed",inputs:[]},{type:"error",name:"ExceedsMaxGasDropoff",inputs:[{name:"requested",type:"uint256",internalType:"uint256"},{name:"maximum",type:"uint256",internalType:"uint256"}]},{type:"error",name:"ExceedsMaxRelayingFee",inputs:[{name:"fee",type:"uint256",internalType:"uint256"},{name:"maximum",type:"uint256",internalType:"uint256"}]},{type:"error",name:"InsufficientInputAmount",inputs:[{name:"input",type:"uint256",internalType:"uint256"},{name:"minimum",type:"uint256",internalType:"uint256"}]},{type:"error",name:"InvalidAddress",inputs:[{name:"addr",type:"bytes32",internalType:"bytes32"}]},{type:"error",name:"InvalidBoolVal",inputs:[{name:"val",type:"uint8",internalType:"uint8"}]},{type:"error",name:"InvalidOverrideAmount",inputs:[{name:"received",type:"uint256",internalType:"uint256"},{name:"maximum",type:"uint256",internalType:"uint256"}]},{type:"error",name:"InvalidSwapType",inputs:[{name:"swapType",type:"uint256",internalType:"uint256"}]},{type:"error",name:"InvalidSwapTypeForChain",inputs:[{name:"chain",type:"uint16",internalType:"uint16"},{name:"swapType",type:"uint256",internalType:"uint256"}]},{type:"error",name:"LengthMismatch",inputs:[{name:"encodedLength",type:"uint256",internalType:"uint256"},{name:"expectedLength",type:"uint256",internalType:"uint256"}]},{type:"error",name:"RelayingDisabledForChain",inputs:[]}]},shuttleConstants={FAST_MODE_FLAG:1,RELAY_REDEEM_MODE:2,EXACT_IN_FLAG:1,USDC_INPUT_TOKEN_TYPE:0,PRE_APPROVED_ACQUIRE_MODE:0,OUTPUT_USDC_MODE:0,OUTPUT_NATIVE_MODE:1,OUTPUT_OTHER_MODE:2};function writeBigIntTo16BytesBuffer(e){const t=(1n<<128n)-1n;if(e<0n||e>t)throw new RangeError("Value must fit in an unsigned 128-bit integer (0 <= value < 2^128)");const r=platform.Buffer$1.alloc(16);for(let n=15;n>=0;n--)r[n]=Number(e&0xFFn),e>>=8n;return r}function getShuttleParams(e,t,r){const{shuttleParams:n}=e;if(!n)throw new Error("Swap layer params are missing in quote response");const o=getWormholeChainIdById(Number(r)),i=getWormholeChainIdByName(e.fromChain),u=getWormholeChainIdByName(e.toChain);if(i!==o)throw new Error(`Signer chain id(${Number(r)}) and quote from chain are not same! ${i} !== ${o}`);let a=[];a.push(shuttleConstants.FAST_MODE_FLAG);const p=platform.Buffer$1.alloc(8);p.writeBigUInt64BE(BigInt(n.maxLLFee));const s=p.subarray(2);a.push(...s);const c=platform.Buffer$1.alloc(4);c.writeUInt32BE(n.fastTransferDeadline),a.push(...c),a.push(shuttleConstants.RELAY_REDEEM_MODE);const d=getAmountOfFractionalAmount(e.gasDrop,Math.min(6,getGasDecimal(e.toChain))),y=platform.Buffer$1.alloc(8);y.writeBigUInt64BE(d);const l=y.subarray(4);a.push(...l);const m=platform.Buffer$1.alloc(8);m.writeBigUInt64BE(BigInt(n.maxRelayingFee));const f=m.subarray(2);a.push(...f),a.push(shuttleConstants.EXACT_IN_FLAG),a.push(shuttleConstants.USDC_INPUT_TOKEN_TYPE);const T=BigInt(e.effectiveAmountIn64);if(e.fromToken.contract===e.shuttleInputContract){a.push(...Array(8).fill(0));const b=platform.Buffer$1.alloc(8);b.writeBigUInt64BE(T),a.push(...b)}else a.push(...Array(16).fill(0));if(a.push(shuttleConstants.PRE_APPROVED_ACQUIRE_MODE),n.hasDestSwap){if(e.toToken.contract===platform.ZeroAddress)a.push(shuttleConstants.OUTPUT_NATIVE_MODE);else{a.push(shuttleConstants.OUTPUT_OTHER_MODE);const I=platform.Buffer$1.from(nativeAddressToHexString(e.toToken.contract,u).slice(2),"hex");a.push(...I)}const b=platform.Buffer$1.alloc(4);b.writeUInt32BE(Number(BigInt(e.deadline64))),a.push(...b);const h=getAmountOfFractionalAmount(e.minAmountOut,e.toToken.decimals);if(e.toChain==="solana"){a.push(...Array(8).fill(0));const I=platform.Buffer$1.alloc(8);I.writeBigUInt64BE(h),a.push(...I)}else{const I=writeBigIntTo16BytesBuffer(h);a.push(...I)}const A=platform.Buffer$1.from(n.path.slice(2),"hex");a.push(...A)}else a.push(shuttleConstants.OUTPUT_USDC_MODE);return{destAddr:nativeAddressToHexString(t,u),destChainId:u,serializedParams:`0x${platform.Buffer$1.from(a).toString("hex")}`,contractAddress:e.shuttleContract,amountIn:T,bridgeFee:getAmountOfFractionalAmount(e.bridgeFee,getGasDecimal(e.fromChain))}}function getShuttleFromEvmTxPayload(e,t,r,n){if(e.type!=="SHUTTLE")throw new Error("Quote type is not SHUTTLE");if(!Number.isFinite(Number(r)))throw new Error("Invalid signer chain id");r=Number(r);const o=ZeroPermit,i=new platform.Contract(addresses_default.MAYAN_FORWARDER_CONTRACT,MayanForwarderArtifact_default.abi),{destAddr:u,destChainId:a,serializedParams:p,contractAddress:s,amountIn:c,bridgeFee:d}=getShuttleParams(e,t,r);let y;y=new platform.Contract(s,ShuttleArtifact_default.abi).interface.encodeFunctionData("initiate",[u,c,a,p]);let m,f,T;if(e.fromToken.contract===e.shuttleInputContract)m="forwardERC20",f=[e.shuttleInputContract,c,o,s,y],T=platform.toBeHex(d);else{const{evmSwapRouterAddress:b,evmSwapRouterCalldata:h}=e;if(!e.minMiddleAmount||!b||!h)throw new Error("Shuttle source chain swap requires middle amount, router address and calldata");const A=e.fromToken.contract,I=getAmountOfFractionalAmount(e.minMiddleAmount,e.shuttleInputDecimals);e.fromToken.contract===platform.ZeroAddress?(m="swapAndForwardEth",f=[c,b,h,e.shuttleInputContract,I,s,y],T=platform.toBeHex(c)):(m="swapAndForwardERC20",f=[A,c,o,b,h,e.shuttleInputContract,I,s,y],T=platform.toBeHex(d))}return{data:i.interface.encodeFunctionData(m,f),to:addresses_default.MAYAN_FORWARDER_CONTRACT,value:T,chainId:r,_forwarder:{method:m,params:f}}}var MayanFastMctpArtifact_default={abi:[{type:"constructor",inputs:[{name:"_cctpTokenMessengerV2",type:"address",internalType:"address"},{name:"_feeManager",type:"address",internalType:"address"}],stateMutability:"nonpayable"},{type:"receive",stateMutability:"payable"},{type:"function",name:"bridge",inputs:[{name:"tokenIn",type:"address",internalType:"address"},{name:"amountIn",type:"uint256",internalType:"uint256"},{name:"redeemFee",type:"uint64",internalType:"uint64"},{name:"circleMaxFee",type:"uint256",internalType:"uint256"},{name:"gasDrop",type:"uint64",internalType:"uint64"},{name:"destAddr",type:"bytes32",internalType:"bytes32"},{name:"destDomain",type:"uint32",internalType:"uint32"},{name:"referrerAddress",type:"bytes32",internalType:"bytes32"},{name:"referrerBps",type:"uint8",internalType:"uint8"},{name:"payloadType",type:"uint8",internalType:"uint8"},{name:"minFinalityThreshold",type:"uint32",internalType:"uint32"},{name:"customPayload",type:"bytes",internalType:"bytes"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"cctpTokenMessengerV2",inputs:[],outputs:[{name:"",type:"address",internalType:"contract ITokenMessengerV2"}],stateMutability:"view"},{type:"function",name:"changeGuardian",inputs:[{name:"newGuardian",type:"address",internalType:"address"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"claimGuardian",inputs:[],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"createOrder",inputs:[{name:"tokenIn",type:"address",internalType:"address"},{name:"amountIn",type:"uint256",internalType:"uint256"},{name:"circleMaxFee",type:"uint256",internalType:"uint256"},{name:"destDomain",type:"uint32",internalType:"uint32"},{name:"minFinalityThreshold",type:"uint32",internalType:"uint32"},{name:"orderPayload",type:"tuple",internalType:"struct FastMCTP.OrderPayload",components:[{name:"payloadType",type:"uint8",internalType:"uint8"},{name:"destAddr",type:"bytes32",internalType:"bytes32"},{name:"tokenOut",type:"bytes32",internalType:"bytes32"},{name:"amountOutMin",type:"uint64",internalType:"uint64"},{name:"gasDrop",type:"uint64",internalType:"uint64"},{name:"redeemFee",type:"uint64",internalType:"uint64"},{name:"refundFee",type:"uint64",internalType:"uint64"},{name:"deadline",type:"uint64",internalType:"uint64"},{name:"referrerAddr",type:"bytes32",internalType:"bytes32"},{name:"referrerBps",type:"uint8",internalType:"uint8"}]}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"domainToCaller",inputs:[{name:"",type:"uint32",internalType:"uint32"}],outputs:[{name:"",type:"bytes32",internalType:"bytes32"}],stateMutability:"view"},{type:"function",name:"feeManager",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"fulfillOrder",inputs:[{name:"cctpMsg",type:"bytes",internalType:"bytes"},{name:"cctpSigs",type:"bytes",internalType:"bytes"},{name:"swapProtocol",type:"address",internalType:"address"},{name:"swapData",type:"bytes",internalType:"bytes"}],outputs:[],stateMutability:"payable"},{type:"function",name:"guardian",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"keyToMintRecipient",inputs:[{name:"",type:"bytes32",internalType:"bytes32"}],outputs:[{name:"",type:"bytes32",internalType:"bytes32"}],stateMutability:"view"},{type:"function",name:"nextGuardian",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"paused",inputs:[],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"view"},{type:"function",name:"redeem",inputs:[{name:"cctpMsg",type:"bytes",internalType:"bytes"},{name:"cctpSigs",type:"bytes",internalType:"bytes"}],outputs:[],stateMutability:"payable"},{type:"function",name:"refund",inputs:[{name:"cctpMsg",type:"bytes",internalType:"bytes"},{name:"cctpSigs",type:"bytes",internalType:"bytes"}],outputs:[],stateMutability:"payable"},{type:"function",name:"rescueEth",inputs:[{name:"amount",type:"uint256",internalType:"uint256"},{name:"to",type:"address",internalType:"address payable"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"rescueRedeem",inputs:[{name:"cctpMsg",type:"bytes",internalType:"bytes"},{name:"cctpSigs",type:"bytes",internalType:"bytes"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"rescueToken",inputs:[{name:"token",type:"address",internalType:"address"},{name:"amount",type:"uint256",internalType:"uint256"},{name:"to",type:"address",internalType:"address"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"setDomainCallers",inputs:[{name:"domain",type:"uint32",internalType:"uint32"},{name:"caller",type:"bytes32",internalType:"bytes32"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"setFeeManager",inputs:[{name:"_feeManager",type:"address",internalType:"address"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"setMintRecipient",inputs:[{name:"destDomain",type:"uint32",internalType:"uint32"},{name:"tokenIn",type:"address",internalType:"address"},{name:"mintRecipient",type:"bytes32",internalType:"bytes32"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"setPause",inputs:[{name:"_pause",type:"bool",internalType:"bool"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"setWhitelistedMsgSenders",inputs:[{name:"sender",type:"address",internalType:"address"},{name:"isWhitelisted",type:"bool",internalType:"bool"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"setWhitelistedSwapProtocols",inputs:[{name:"protocol",type:"address",internalType:"address"},{name:"isWhitelisted",type:"bool",internalType:"bool"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"whitelistedMsgSenders",inputs:[{name:"",type:"address",internalType:"address"}],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"view"},{type:"function",name:"whitelistedSwapProtocols",inputs:[{name:"",type:"address",internalType:"address"}],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"view"},{type:"event",name:"OrderFulfilled",inputs:[{name:"sourceDomain",type:"uint32",indexed:!1,internalType:"uint32"},{name:"sourceNonce",type:"bytes32",indexed:!1,internalType:"bytes32"},{name:"amount",type:"uint256",indexed:!1,internalType:"uint256"}],anonymous:!1},{type:"event",name:"OrderRefunded",inputs:[{name:"sourceDomain",type:"uint32",indexed:!1,internalType:"uint32"},{name:"sourceNonce",type:"bytes32",indexed:!1,internalType:"bytes32"},{name:"amount",type:"uint256",indexed:!1,internalType:"uint256"}],anonymous:!1},{type:"error",name:"AlreadySet",inputs:[]},{type:"error",name:"CallerNotSet",inputs:[]},{type:"error",name:"CctpReceiveFailed",inputs:[]},{type:"error",name:"DeadlineViolation",inputs:[]},{type:"error",name:"EthTransferFailed",inputs:[]},{type:"error",name:"InvalidAddress",inputs:[]},{type:"error",name:"InvalidAmountOut",inputs:[]},{type:"error",name:"InvalidGasDrop",inputs:[]},{type:"error",name:"InvalidMintRecipient",inputs:[]},{type:"error",name:"InvalidPayload",inputs:[]},{type:"error",name:"InvalidPayloadType",inputs:[]},{type:"error",name:"InvalidRedeemFee",inputs:[]},{type:"error",name:"InvalidRefundFee",inputs:[]},{type:"error",name:"MintRecipientNotSet",inputs:[]},{type:"error",name:"Paused",inputs:[]},{type:"error",name:"Unauthorized",inputs:[]},{type:"error",name:"UnauthorizedMsgSender",inputs:[]},{type:"error",name:"UnauthorizedSwapProtocol",inputs:[]}]};function getEvmFastMctpBridgeParams(e,t,r,n,o){const i=getWormholeChainIdById(Number(n)),u=getWormholeChainIdByName(e.fromChain),a=getWormholeChainIdByName(e.toChain);if(u!==i)throw new Error(`Signer chain id(${Number(n)}) and quote from chain are not same! ${u} !== ${i}`);const p=nativeAddressToHexString(t,a),s=getAmountOfFractionalAmount(e.redeemRelayerFee,CCTP_TOKEN_DECIMALS),c=getAmountOfFractionalAmount(e.gasDrop,Math.min(getGasDecimal(e.toChain),8)),d=BigInt(e.circleMaxFee64),y=BigInt(e.effectiveAmountIn64),l=getCCTPDomain(e.toChain);let m;if(r?m=nativeAddressToHexString(r,a):m=nativeAddressToHexString(unsignedTransaction.SystemProgram.programId.toString(),getWormholeChainIdByName("solana")),!e.fastMctpMayanContract)throw new Error("FastMctp contract address is missing");const f=e.fastMctpMayanContract;return{tokenIn:e.fastMctpInputContract,amountIn:y,redeemFee:s,gasDrop:c,destAddr:p,destDomain:l,referrerAddr:m,referrerBps:e.referrerBps,payloadType:FAST_MCTP_PAYLOAD_TYPE_DEFAULT,customPayload:"0x",minFinalityThreshold:Number(e.fastMctpMinFinality),circleMaxFee:d,contractAddress:f}}function getEvmFastMctpBridgeTxPayload(e,t,r,n,o){const i=getEvmFastMctpBridgeParams(e,t,r,n),{contractAddress:u,tokenIn:a,amountIn:p,destAddr:s,redeemFee:c,gasDrop:d,circleMaxFee:y,referrerAddr:l,referrerBps:m,destDomain:f,customPayload:T,minFinalityThreshold:g,payloadType:b}=i,h=new platform.Contract(u,MayanFastMctpArtifact_default.abi);let A,I;return A=h.interface.encodeFunctionData("bridge",[a,p,c,y,d,s,f,l,m,b,g,T]),I=platform.toBeHex(0),{to:u,data:A,value:I,_params:i}}function getEvmFastMctpCreateOrderParams(e,t,r,n){const o=getWormholeChainIdById(Number(n)),i=getWormholeChainIdByName(e.fromChain),u=getWormholeChainIdByName(e.toChain);if(i!==o)throw new Error(`Signer chain id(${Number(n)}) and quote from chain are not same! ${i} !== ${o}`);if(!e.fastMctpMayanContract)throw new Error("MCTP contract address is missing");const a=e.fastMctpMayanContract,p=nativeAddressToHexString(t,u);let s;r?s=nativeAddressToHexString(r,u):s=nativeAddressToHexString(unsignedTransaction.SystemProgram.programId.toString(),getWormholeChainIdByName("solana"));const c=getAmountOfFractionalAmount(e.redeemRelayerFee,CCTP_TOKEN_DECIMALS),d=BigInt(e.refundRelayerFee64),y=BigInt(e.circleMaxFee64),l=getAmountOfFractionalAmount(e.gasDrop,Math.min(getGasDecimal(e.toChain),8)),m=getCCTPDomain(e.toChain),f=BigInt(e.effectiveAmountIn64),T=getAmountOfFractionalAmount(e.minAmountOut,Math.min(8,e.toToken.decimals)),g=BigInt(e.deadline64),b=e.toToken.contract===platform.ZeroAddress?nativeAddressToHexString(unsignedTransaction.SystemProgram.programId.toString(),getWormholeChainIdByName("solana")):nativeAddressToHexString(e.toChain==="sui"?e.toToken.verifiedAddress:e.toToken.contract,e.toToken.wChainId);return{tokenIn:e.fastMctpInputContract,amountIn:f,circleMaxFee:y,destDomain:m,minFinalityThreshold:Number(e.fastMctpMinFinality),orderPayload:{payloadType:FAST_MCTP_PAYLOAD_TYPE_ORDER,destAddr:p,tokenOut:b,amountOutMin:T,gasDrop:l,redeemFee:c,refundFee:d,deadline:g,referrerAddr:s,referrerBps:e.referrerBps||0},contractAddress:a}}function getEvmFastMctpCreateOrderTxPayload(e,t,r,n){const o=getEvmFastMctpCreateOrderParams(e,t,r,n),{contractAddress:i,orderPayload:u,tokenIn:a,amountIn:p,circleMaxFee:s,destDomain:c,minFinalityThreshold:d}=o,l=new platform.Contract(i,MayanFastMctpArtifact_default.abi).interface.encodeFunctionData("createOrder",[a,p,s,c,d,u]),m=platform.toBeHex(0);return{to:i,data:l,value:m,_params:o}}function getFastMctpFromEvmTxPayload(e,t,r,n,o,i){if(e.type!=="FAST_MCTP")throw new Error("Quote type is not FAST_MCTP");if(!Number.isFinite(Number(n)))throw new Error("Invalid signer chain id");n=Number(n);const u=o||ZeroPermit,a=new platform.Contract(addresses_default.MAYAN_FORWARDER_CONTRACT,MayanForwarderArtifact_default.abi);if(e.fromToken.contract===e.fastMctpInputContract)if(e.hasAuction){if(!Number(e.deadline64))throw new Error("Fast Mctp order requires timeout");const p=getEvmFastMctpCreateOrderTxPayload(e,t,r,n),s="forwardERC20",c=[e.fromToken.contract,p._params.amountIn,u,p._params.contractAddress,p.data];return{data:a.interface.encodeFunctionData(s,c),to:addresses_default.MAYAN_FORWARDER_CONTRACT,value:platform.toBeHex(0),chainId:n,_forwarder:{method:s,params:c}}}else{const p=getEvmFastMctpBridgeTxPayload(e,t,r,n),s="forwardERC20",c=[e.fromToken.contract,p._params.amountIn,u,p._params.contractAddress,p.data];return{data:a.interface.encodeFunctionData(s,c),to:addresses_default.MAYAN_FORWARDER_CONTRACT,value:platform.toBeHex(0),chainId:n,_forwarder:{method:s,params:c}}}else{const{minMiddleAmount:p,evmSwapRouterAddress:s,evmSwapRouterCalldata:c}=e;if(!p||!s||!c)throw new Error("Fast Mctp swap requires middle amount, router address and calldata");if(e.hasAuction){if(!Number(e.deadline64))throw new Error("Fast Mctp order requires timeout");const d=getEvmFastMctpCreateOrderTxPayload(e,t,r,n),y=getAmountOfFractionalAmount(e.minMiddleAmount,CCTP_TOKEN_DECIMALS);if(e.fromToken.contract===platform.ZeroAddress){const l="swapAndForwardEth",m=[d._params.amountIn,s,c,e.fastMctpInputContract,y,d._params.contractAddress,d.data];return{data:a.interface.encodeFunctionData(l,m),to:addresses_default.MAYAN_FORWARDER_CONTRACT,value:platform.toBeHex(d._params.amountIn),chainId:n,_forwarder:{method:l,params:m}}}else{const l="swapAndForwardERC20",m=[e.fromToken.contract,d._params.amountIn,u,s,c,e.fastMctpInputContract,y,d._params.contractAddress,d.data];return{data:a.interface.encodeFunctionData(l,m),to:addresses_default.MAYAN_FORWARDER_CONTRACT,value:platform.toBeHex(0),chainId:n,_forwarder:{method:l,params:m}}}}else{const d=getEvmFastMctpBridgeTxPayload(e,t,r,n),y=getAmountOfFractionalAmount(e.minMiddleAmount,CCTP_TOKEN_DECIMALS);if(e.fromToken.contract===platform.ZeroAddress){const l="swapAndForwardEth",m=[d._params.amountIn,s,c,e.fastMctpInputContract,y,d._params.contractAddress,d.data];return{data:a.interface.encodeFunctionData(l,m),to:addresses_default.MAYAN_FORWARDER_CONTRACT,value:platform.toBeHex(d._params.amountIn),chainId:n,_forwarder:{method:l,params:m}}}else{const l="swapAndForwardERC20",m=[e.fromToken.contract,d._params.amountIn,u,s,c,e.fastMctpInputContract,y,d._params.contractAddress,d.data];return{data:a.interface.encodeFunctionData(l,m),to:addresses_default.MAYAN_FORWARDER_CONTRACT,value:platform.toBeHex(0),chainId:n,_forwarder:{method:l,params:m}}}}}}function getEvmSwapParams(e,t,r,n,o,i){const u=new unsignedTransaction.PublicKey(addresses_default.MAYAN_PROGRAM_ID),[a]=unsignedTransaction.PublicKey.findProgramAddressSync([platform.Buffer$1.from("MAIN")],u),p=getAssociatedTokenAddress(new unsignedTransaction.PublicKey(e.fromToken.mint),a,!0),s=BigInt(e.effectiveAmountIn64),c=nativeAddressToHexString(p.toString(),1),d=nativeAddressToHexString(addresses_default.AUCTION_PROGRAM_ID,1);let y;r?y=nativeAddressToHexString(r,1):y=nativeAddressToHexString(unsignedTransaction.SystemProgram.programId.toString(),1);const l=getWormholeChainIdById(Number(o)),m=getWormholeChainIdByName(e.fromChain),f=getWormholeChainIdByName(e.toChain);if(m!==l)throw new Error(`Signer chain id(${Number(o)}) and quote from chain are not same! ${m} !== ${l}`);const T=e.whMayanContract,g={mayanAddr:c,mayanChainId:1,destAddr:nativeAddressToHexString(t,f),destChainId:f,auctionAddr:d,referrer:y,refundAddr:nativeAddressToHexString(n,l)},b=e.toToken.contract===platform.ZeroAddress,h={transferDeadline:BigInt(e.deadline64),swapDeadline:BigInt(e.deadline64),amountOutMin:getAmountOfFractionalAmount(e.minAmountOut,Math.min(8,e.toToken.decimals)),gasDrop:getAmountOfFractionalAmount(e.gasDrop,Math.min(8,getGasDecimal(e.toChain))),unwrap:b,customPayload:"0x"},A={swapFee:getAmountOfFractionalAmount(e.swapRelayerFee,Math.min(8,e.fromToken.decimals)),redeemFee:getAmountOfFractionalAmount(e.redeemRelayerFee,Math.min(8,e.toToken.decimals)),refundFee:getAmountOfFractionalAmount(e.refundRelayerFee,Math.min(8,e.fromToken.decimals))},I=nativeAddressToHexString(e.toToken.realOriginContractAddress,e.toToken.realOriginChainId),C=getAmountOfFractionalAmount(e.bridgeFee,18);return{amountIn:s,tokenIn:e.fromToken.contract,tokenOut:I,tokenOutWChainId:e.toToken.realOriginChainId,criteria:h,recipient:g,relayerFees:A,contractAddress:T,bridgeFee:C}}function getSwapFromEvmTxPayload(e,t,r,n,o,i,u,a){const p=getWormholeChainIdById(Number(i)),s=getWormholeChainIdByName(e.fromChain);if(s!==p)throw new Error(`Signer chain id(${Number(i)}) and quote from chain are not same! ${s} !== ${p}`);const c=getQuoteSuitableReferrerAddress(e);if(e.type==="MCTP")return getMctpFromEvmTxPayload(e,r,c,i,a);if(e.type==="SWIFT")return getSwiftFromEvmTxPayload(e,t,r,c,i);if(e.type==="SHUTTLE")return getShuttleFromEvmTxPayload(e,r,i);if(e.type==="FAST_MCTP")return getFastMctpFromEvmTxPayload(e,r,c,i,a);if(e.type!="WH")throw new Error("Unsupported quote type");if(!Number(e.deadline64))throw new Error("WH mode requires a timeout");const{relayerFees:d,recipient:y,tokenOut:l,tokenOutWChainId:m,criteria:f,tokenIn:T,amountIn:g,contractAddress:b,bridgeFee:h}=getEvmSwapParams(e,r,c,o,i),A=new platform.Contract(addresses_default.MAYAN_FORWARDER_CONTRACT,MayanForwarderArtifact_default.abi),I=new platform.Contract(b,MayanSwapArtifact_default.abi);let C,w,M;const E=ZeroPermit;if(T===platform.ZeroAddress){const S=I.interface.encodeFunctionData("wrapAndSwapETH",[d,y,l,m,f]);C="forwardEth",w=[b,S],M=platform.toBeHex(g)}else{const S=I.interface.encodeFunctionData("swap",[d,y,l,m,f,T,g]);C="forwardERC20",w=[T,g,E,b,S],M=platform.toBeHex(h)}const P=A.interface.encodeFunctionData(C,w);return{to:addresses_default.MAYAN_FORWARDER_CONTRACT,data:P,value:M,chainId:i,_forwarder:{method:C,params:w}}}async function assertArgumentIsImmutable(e,t){let r;try{r=await t.getMoveFunctionArgTypes({package:e.package,module:e.module,function:e.function})}catch{throw new Error(`Failed to fetch ${e.package}::${e.module}::${e.function} ArgTypes`)}if(r){if(r[e.argumentIndex]!=="Pure"&&r[e.argumentIndex]?.Object!=="ByImmutableReference")throw new Error(`Argument ${e.argumentIndex} of ${e.module}::${e.function} is not immutable`)}else throw new Error(`Failed to fetch package::${e.module}::${e.function} ArgTypes`)}async function fetchAllCoins(e,t){let r=[],n=BigInt(0),o;do{const i=await t.getCoins({...e,owner:e.walletAddress,cursor:o}),u=i.data.filter(a=>BigInt(a.balance)>BigInt(0));if(r=[...r,...u],u.forEach(a=>{n+=BigInt(a.balance)}),i.data.length===0||!i.hasNextPage||!i.nextCursor||n>=e.coinAmount)return{coins:r.sort((a,p)=>Number(BigInt(a.coinObjectId)-BigInt(p.coinObjectId))),sum:n};o=i.nextCursor}while(!0)}async function fetchMayanSuiPackageId(e,t){let r;try{r=await t.getObject({id:e,options:{showContent:!0}})}catch(n){throw new Error(`Failed to fetch Mayan Sui package ID:
|
|
2
2
|
|
|
3
3
|
${n}`)}if(r.data?.content?.fields?.latest_package_id)return r.data.content.fields.latest_package_id;throw new Error("latest_package_id not found in Mayan Sui state object")}async function createMctpFromSuiMoveCalls(e,t,r,n,o,i,u){const[a,p]=await Promise.all([fetchMayanSuiPackageId(addresses_default.SUI_MCTP_STATE,i),e.hasAuction?fetchMayanSuiPackageId(addresses_default.SUI_MCTP_FEE_MANAGER_STATE,i):null]),s=getAmountOfFractionalAmount(e.minMiddleAmount,CCTP_TOKEN_DECIMALS);let c,d,y;if(e.fromToken.contract===e.mctpInputContract)c=new platform$1.Transaction,d=await resolveInputCoin(s,t,e.mctpInputContract,i,c,u?.inputCoin);else{const{tx:f,outCoin:T,whFeeCoin:g}=await getSwapSui({amountIn64:e.effectiveAmountIn64,inputCoinType:e.fromToken.contract,middleCoinType:e.mctpInputContract,userWallet:t,withWhFee:e.hasAuction||e.cheaperChain!=="sui",referrerAddress:n,inputCoin:u?.inputCoin,transaction:void 0});c=platform$1.Transaction.from(f),d=T,y=g?{result:g}:null}e.hasAuction?await addInitOrderMoveCalls(e,t,r,n,a,p,i,{inputCoin:{result:d},whFeeCoin:y,builtTransaction:c}):e.cheaperChain==="sui"?await addBridgeLockedFeeMoveCalls(e,t,r,a,i,{inputCoin:{result:d},builtTransaction:c}):await addBridgeWithFeeMoveCalls(e,t,r,a,o,i,{inputCoin:{result:d},whFeeCoin:y,builtTransaction:c});const l=BigInt(e.effectiveAmountIn64),m=Uint8Array.from([]);c.moveCall({package:a,module:"init_order",function:"log_initialize_mctp",typeArguments:[e.fromToken.contract],arguments:[c.pure.u64(l),c.object(e.fromToken.verifiedAddress),c.pure.vector("u8",m)]});try{let f;n?f=nativeAddressToHexString(n,getWormholeChainIdByName(e.toChain)):f=nativeAddressToHexString(unsignedTransaction.SystemProgram.programId.toString(),getWormholeChainIdByName("solana")),c.moveCall({package:addresses_default.SUI_LOGGER_PACKAGE_ID,module:"referrer_logger",function:"log_referrer",arguments:[c.pure.address(f),c.pure.u8(e.referrerBps||0)]})}catch(f){console.error("Failed to log referrer",f)}return c}async function addBridgeWithFeeMoveCalls(e,t,r,n,o,i,u){const a=getWormholeChainIdByName(e.toChain),p=u?.builtTransaction??new platform$1.Transaction,s=getAmountOfFractionalAmount(e.minMiddleAmount,CCTP_TOKEN_DECIMALS),c=await resolveInputCoin(s,t,e.mctpInputContract,i,p,u?.inputCoin),d=MCTP_PAYLOAD_TYPE_DEFAULT,y=nativeAddressToHexString(r,a),l=getCCTPDomain(e.toChain),m=getAmountOfFractionalAmount(e.gasDrop,Math.min(getGasDecimal(e.toChain),8)),f=getAmountOfFractionalAmount(e.redeemRelayerFee,CCTP_TOKEN_DECIMALS),T=Uint8Array.from([]),[g]=p.moveCall({package:n,module:"bridge_with_fee",function:"prepare_bridge_with_fee",typeArguments:[e.mctpInputContract],arguments:[p.pure.u8(d),c,p.pure.u64(s),p.pure.address(y),p.pure.u32(l),p.pure.u64(m),p.pure.u64(f),p.pure.vector("u8",T)]}),[b,h]=p.moveCall({package:n,module:"bridge_with_fee",function:"bridge_with_fee",typeArguments:[e.mctpInputContract],arguments:[p.object(addresses_default.SUI_MCTP_STATE),p.object(addresses_default.SUI_CCTP_CORE_STATE),p.object(e.mctpVerifiedInputAddress),g]}),[A,I]=p.moveCall({package:addresses_default.SUI_CCTP_TOKEN_PACKAGE_ID,module:"deposit_for_burn",function:"deposit_for_burn_with_caller_with_package_auth",typeArguments:[e.mctpInputContract,`${n}::bridge_with_fee::CircleAuth`],arguments:[h,p.object(addresses_default.SUI_CCTP_TOKEN_STATE),p.object(addresses_default.SUI_CCTP_CORE_STATE),p.object("0x403"),p.object(e.mctpInputTreasury)]}),[C]=p.moveCall({package:n,module:"bridge_with_fee",function:"publish_bridge_with_fee",arguments:[p.object(addresses_default.SUI_MCTP_STATE),b,I]});return await addPublishWormholeMessage(p,C,i,BigInt(e.bridgeFee),t,u?.whFeeCoin),p}async function addBridgeLockedFeeMoveCalls(e,t,r,n,o,i){const u=getWormholeChainIdByName(e.toChain),a=i?.builtTransaction??new platform$1.Transaction,p=getAmountOfFractionalAmount(e.minMiddleAmount,CCTP_TOKEN_DECIMALS),s=await resolveInputCoin(p,t,e.mctpInputContract,o,a,i?.inputCoin),c=nativeAddressToHexString(r,u),d=getCCTPDomain(e.toChain),y=getAmountOfFractionalAmount(e.gasDrop,Math.min(getGasDecimal(e.toChain),8)),l=getAmountOfFractionalAmount(e.redeemRelayerFee,CCTP_TOKEN_DECIMALS),[m]=a.moveCall({package:n,module:"bridge_locked_fee",function:"prepare_bridge_locked_fee",typeArguments:[e.mctpInputContract],arguments:[s,a.pure.u64(p),a.pure.address(c),a.pure.u32(d),a.pure.u64(y),a.pure.u64(l)]}),[f,T]=a.moveCall({package:n,module:"bridge_locked_fee",function:"bridge_locked_fee",typeArguments:[e.mctpInputContract],arguments:[a.object(addresses_default.SUI_MCTP_STATE),a.object(addresses_default.SUI_CCTP_CORE_STATE),a.object(e.mctpVerifiedInputAddress),m]}),[g,b]=a.moveCall({package:addresses_default.SUI_CCTP_TOKEN_PACKAGE_ID,module:"deposit_for_burn",function:"deposit_for_burn_with_caller_with_package_auth",typeArguments:[e.mctpInputContract,`${n}::bridge_locked_fee::CircleAuth`],arguments:[T,a.object(addresses_default.SUI_CCTP_TOKEN_STATE),a.object(addresses_default.SUI_CCTP_CORE_STATE),a.object("0x403"),a.object(e.mctpInputTreasury)]});return a.moveCall({package:n,module:"bridge_locked_fee",function:"store_bridge_locked_fee",typeArguments:[e.mctpInputContract],arguments:[a.object(addresses_default.SUI_MCTP_STATE),a.object(e.mctpVerifiedInputAddress),f,b]}),a}async function addInitOrderMoveCalls(e,t,r,n,o,i,u,a){const p=getWormholeChainIdByName(e.toChain),s=a?.builtTransaction??new platform$1.Transaction,c=getAmountOfFractionalAmount(e.minMiddleAmount,CCTP_TOKEN_DECIMALS),[d]=await Promise.all([resolveInputCoin(c,t,e.mctpInputContract,u,s,a?.inputCoin),assertArgumentIsImmutable({package:i,module:"calculate_mctp_fee",function:"prepare_calc_mctp_fee",argumentIndex:3},u)]),y=e.toToken.contract===platform.ZeroAddress?nativeAddressToHexString(unsignedTransaction.SystemProgram.programId.toString(),getWormholeChainIdByName("solana")):nativeAddressToHexString(e.toToken.contract,e.toToken.wChainId),l=getAmountOfFractionalAmount(e.minAmountOut,Math.min(8,e.toToken.decimals)),m=nativeAddressToHexString(r,p),f=getCCTPDomain(e.toChain),T=getAmountOfFractionalAmount(e.gasDrop,Math.min(getGasDecimal(e.toChain),8)),g=getAmountOfFractionalAmount(e.redeemRelayerFee,CCTP_TOKEN_DECIMALS),b=BigInt(e.deadline64);let h;n?h=nativeAddressToHexString(n,p):h=nativeAddressToHexString(unsignedTransaction.SystemProgram.programId.toString(),getWormholeChainIdByName("solana"));const A=[s.object(e.mctpVerifiedInputAddress),s.pure.u8(MCTP_INIT_ORDER_PAYLOAD_ID),s.pure.address(t),d,s.pure.address(m),s.pure.u16(p),s.pure.address(y),s.pure.u64(l),s.pure.u64(T),s.pure.u64(g),s.pure.u64(b),s.pure.address(h),s.pure.u8(e.referrerBps)],[I]=s.moveCall({package:i,module:"calculate_mctp_fee",function:"prepare_calc_mctp_fee",typeArguments:[e.mctpInputContract],arguments:A}),[C]=s.moveCall({package:i,module:"calculate_mctp_fee",function:"calculate_mctp_fee",arguments:[s.object(addresses_default.SUI_MCTP_FEE_MANAGER_STATE),I]}),[w]=s.moveCall({package:o,module:"init_order",function:"prepare_initialize_order",typeArguments:[e.mctpInputContract],arguments:[...A.slice(1),s.pure.u32(f),s.pure.u64(c)]}),[M,E]=s.moveCall({package:o,module:"init_order",function:"initialize_order",typeArguments:[e.mctpInputContract],arguments:[s.object(addresses_default.SUI_MCTP_STATE),s.object(addresses_default.SUI_CCTP_CORE_STATE),s.object(e.mctpVerifiedInputAddress),w,C]}),[P,S]=s.moveCall({package:addresses_default.SUI_CCTP_TOKEN_PACKAGE_ID,module:"deposit_for_burn",function:"deposit_for_burn_with_caller_with_package_auth",typeArguments:[e.mctpInputContract,`${o}::init_order::CircleAuth`],arguments:[E,s.object(addresses_default.SUI_CCTP_TOKEN_STATE),s.object(addresses_default.SUI_CCTP_CORE_STATE),s.object("0x403"),s.object(e.mctpInputTreasury)]}),[_]=s.moveCall({package:o,module:"init_order",function:"publish_init_order",arguments:[s.object(addresses_default.SUI_MCTP_STATE),M,S]});return await addPublishWormholeMessage(s,_,u,BigInt(e.bridgeFee),t,a?.whFeeCoin),s}async function addPublishWormholeMessage(e,t,r,n,o,i){let u;if(i?.result)u=i.result;else if(i?.objectId)u=e.object(i.objectId);else if(n>BigInt(0)){const{coins:a,sum:p}=await fetchAllCoins({walletAddress:o,coinType:platform$1.SUI_TYPE_ARG,coinAmount:n},r);if(p<n)throw new Error("Insufficient funds to pay Wormhole message fee");a.length>1&&e.mergeCoins(a[0].coinObjectId,a.slice(1).map(c=>c.coinObjectId));const[s]=e.splitCoins(a[0].coinObjectId,[n]);u=s}else{const[a]=e.splitCoins(e.gas,[e.pure.u64(0)]);u=a}return e.moveCall({package:addresses_default.SUI_WORMHOLE_PACKAGE_ID,module:"publish_message",function:"publish_message",arguments:[e.object(addresses_default.SUI_WORMHOLE_STATE),u,t,e.object(platform$1.SUI_CLOCK_OBJECT_ID)]}),e}async function resolveInputCoin(e,t,r,n,o,i){let u;if(i?.result)u=i.result;else if(i?.objectId)u=o.object(i.objectId);else{const{coins:a,sum:p}=await fetchAllCoins({walletAddress:t,coinType:r,coinAmount:e},n);if(p<e)throw new Error(`Insufficient funds to create Coin ${r} with amount ${e}`);a.length>1&&o.mergeCoins(a[0].coinObjectId,a.slice(1).map(c=>c.coinObjectId));const[s]=o.splitCoins(a[0].coinObjectId,[e]);u=s}return u}async function createSwapFromSuiMoveCalls(e,t,r,n,o,i,u){const a=getQuoteSuitableReferrerAddress(e);if(e.type==="MCTP")return createMctpFromSuiMoveCalls(e,t,r,a,o,i,u);throw new Error("Unsupported quote type from Sui chain")}const MayanForwarderShimContractABI=[{inputs:[{internalType:"address",name:"_mayanForwarder",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"fee",type:"uint256"}],name:"FeeTooLarge",type:"error"},{inputs:[{internalType:"uint256",name:"fee",type:"uint256"}],name:"FeeTransferFailed",type:"error"},{inputs:[{internalType:"uint256",name:"refundAmount",type:"uint256"}],name:"RefundFailed",type:"error"},{inputs:[],name:"VERSION",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"forwarderData",type:"bytes"},{internalType:"address",name:"tokenIn",type:"address"},{internalType:"uint256",name:"amountIn",type:"uint256"},{components:[{internalType:"uint256",name:"fee",type:"uint256"},{internalType:"address",name:"payee",type:"address"}],internalType:"struct FeeArgs",name:"feeArgs",type:"tuple"}],name:"forwardERC20",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bytes",name:"forwarderData",type:"bytes"},{components:[{internalType:"uint256",name:"fee",type:"uint256"},{internalType:"address",name:"payee",type:"address"}],internalType:"struct FeeArgs",name:"feeArgs",type:"tuple"}],name:"forwardEth",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"mayanForwarder",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{stateMutability:"payable",type:"receive"}],ForwardEth="forwardEth",ForwardERC20="forwardERC20",MayanForwarderShimContractAddress="0x87a26566dbb3bf206634c1792a96ff4989e3f56e";function createMayanForwarderShim(){const e=new platform.Interface(MayanForwarderShimContractABI);function t(i,u,a){return e.encodeFunctionData(ForwardEth,[i,{payee:u,fee:a}])}function r(i,u,a,p,s){return e.encodeFunctionData(ForwardERC20,[i,u,a,{payee:p,fee:s}])}function n(i,u,a,p,s,c){return c?t(i,u,a):r(i,p,s,u,a)}function o(i,u){return u?i:0n}return{encodeFunctionData:n,getMsgValue:o}}function isMayanForwarderShimEnabled(e,t,r){return!(t<=0n||!r||e!=="Mainnet")}function getEvmContractAddress(e,t,r){return isMayanForwarderShimEnabled(e,t,r)?MayanForwarderShimContractAddress:hypercore.addresses_default.MAYAN_FORWARDER_CONTRACT}function createTransactionRequest(e,t,r,n,o,i,u,a){if(!t.data||!isMayanForwarderShimEnabled(e,n,a))return t;const p=createMayanForwarderShim(),s=p.encodeFunctionData(t.data,a,n,i,r,u),c=p.getMsgValue(r,u);return{from:o,to:MayanForwarderShimContractAddress,data:s,value:c,chainId:t.chainId}}var MayanProtocol=(e=>(e.WH="WH",e.MCTP="MCTP",e.SWIFT="SWIFT",e.FAST_MCTP="FAST_MCTP",e.SHUTTLE="SHUTTLE",e.MONO_CHAIN="MONO_CHAIN",e))(MayanProtocol||{}),MayanClientStatus=(e=>(e.INPROGRESS="INPROGRESS",e.COMPLETED="COMPLETED",e.REFUNDED="REFUNDED",e.CANCELED="CANCELED",e))(MayanClientStatus||{}),MayanTransactionGoal=(e=>(e.Send="SEND",e.Bridge="BRIDGE",e.Swap="SWAP",e.Register="REGISTER",e.Settle="SETTLE",e))(MayanTransactionGoal||{});function getNativeContractAddress(e){return e==="Sui"?"0x2::sui::SUI":e==="HyperCore"?"0xaf88d065e77c8cC2239327C5EDb3A432268e5831":"0x0000000000000000000000000000000000000000"}const chainNameMap={Solana:"solana",Ethereum:"ethereum",Bsc:"bsc",Polygon:"polygon",Avalanche:"avalanche",Arbitrum:"arbitrum",Aptos:"aptos",Base:"base",Optimism:"optimism",Unichain:"unichain",Sui:"sui",HyperEVM:"hyperevm",HyperCore:"hypercore",Linea:"linea",Monad:"monad",Fogo:"fogo"},testnetSupportedChainMap={Solana:"solana",Sepolia:"ethereum",BaseSepolia:"base",Sui:"sui",Monad:"monad"};function toMayanChainName(e,t){if(e==="Mainnet"){if(!chainNameMap[t])throw new Error(`Chain ${t} not supported`);return chainNameMap[t]}else if(e==="Testnet"){if(!testnetSupportedChainMap[t])throw new Error(`Chain ${t} not supported`);return testnetSupportedChainMap[t]}throw new Error(`Unsupported network: ${e}`)}function isTestnetSupportedChain(e){return testnetSupportedChainMap[e]!==void 0}function toWormholeChainName(e){return platform.toChain(Number(e))}function supportedChains(e){return Object.keys(e==="Testnet"?testnetSupportedChainMap:chainNameMap)}const possibleVaaTypes=["transfer","swap","redeem","refund"];function txStatusToReceipt(e){const t=toWormholeChainName(e.sourceChain),r=toWormholeChainName(e.destChain),n=e.txs.filter(s=>s.goals.includes(MayanTransactionGoal.Send)||s.goals.includes(MayanTransactionGoal.Register)).map(s=>({chain:t,txid:s.txHash})),o=e.txs.filter(s=>s.goals.includes(MayanTransactionGoal.Settle)).map(s=>({chain:r,txid:s.txHash})),i=[];e.refundTxHash&&i.push({chain:toWormholeChainName(e.refundChain),txid:e.refundTxHash});const u={};for(const s of possibleVaaTypes){const c=`${s}SignedVaa`;if(c in e&&e[c]!==null){const d=platform.deserialize("Uint8Array",platform.hex.decode(e[c]));u[s]={id:{emitter:d.emitterAddress,sequence:d.sequence,chain:d.emitterChain},attestation:d}}}let a={},p=!1;if("redeem"in u?(a=u.redeem,p=!0):"transfer"in u&&(a=u.transfer,p=!0),e.clientStatus===MayanClientStatus.COMPLETED)return{from:t,to:r,originTxs:n,destinationTxs:o,state:platform.TransferState.DestinationFinalized,attestation:a};if(e.clientStatus===MayanClientStatus.REFUNDED||e.clientStatus===MayanClientStatus.CANCELED)return{from:t,to:r,originTxs:n,refundTxs:i,state:platform.TransferState.Refunded,attestation:u.refund};if(e.clientStatus===MayanClientStatus.INPROGRESS)return p&&o.length>0?{from:t,to:r,originTxs:n,destinationTxs:o,state:platform.TransferState.DestinationInitiated,attestation:a}:{from:t,to:r,originTxs:n,state:platform.TransferState.SourceInitiated};throw new Error(`Unknown Mayan clientStatus ${e.clientStatus}`)}async function getTransactionStatus(e,t){const r=`https://${{Mainnet:"",Testnet:"testnet-",Devnet:""}[e]}explorer-api.mayan.finance/v3/swap/trx/${t.txid}`;try{const n=await platform.axios.get(r);if(n.data.id)return n.data}catch(n){if(!n||typeof n=="object"&&(platform.axios.isAxiosError(n)&&n.response?.status===404||"status"in n&&n.status===404))return null;throw n}return null}class MayanRouteBase extends platform.AutomaticRoute{MAX_SLIPPAGE=1;static NATIVE_GAS_DROPOFF_SUPPORTED=!1;static IS_AUTOMATIC=!0;protocols=[MayanProtocol.WH,MayanProtocol.MCTP,MayanProtocol.FAST_MCTP,MayanProtocol.SWIFT,MayanProtocol.MONO_CHAIN];isTestnetRequest(t){return t.fromChain.network==="Testnet"||t.toChain.network==="Testnet"}normalizeQuoteForTestnet(t){const{hyperCoreParams:r,...n}=t;return n}getDefaultOptions(){return{gasDrop:0,slippageBps:"auto",optimizeFor:"speed"}}static supportedNetworks(){return["Mainnet","Testnet"]}static supportedChains(t){return supportedChains(t)}static isProtocolSupported(t){return supportedChains(t.network).includes(t.chain)}static async supportedDestinationTokens(t,r,n){if(hypercore.isHyperCoreChain(n.chain)){const i=platform.Wormhole.tokenId(n.chain,"native");return i?[i]:[]}return tokenHelpers.getAllTokenIdsForChain(n.chain)}async isAvailable(){return!0}async validate(t,r){try{const n=hypercore.validateHyperCoreTransfer(t,r);return n||(r.options=r.options??this.getDefaultOptions(),{valid:!0,params:{...r,normalizedParams:{slippageBps:r.options.slippageBps}}})}catch(n){return{valid:!1,params:r,error:n}}}toMayanAddress(t){return platform.isNative(t.address)?getNativeContractAddress(t.chain):platform.canonicalAddress(t)}getFeeInBaseUnits(t,r){const{getReferrerBps:n}=this.constructor,o=n?n(t):null;if(!o)return 0n;const i=platform.parse(r,t.source.decimals),u=65535n,a=BigInt(10*o);if(a>u)throw new Error("bps exceeds max u16");const p=platform.getDeciBps(i,a);return platform.units(p)}getQuoteAmountIn64(t,r){const n=t.source.decimals,o=platform.parse(r,n),i=this.getFeeInBaseUnits(t,r);if(i<=0n)return o.amount;const a=platform.units(o)-i;return platform.fromBaseUnits(a,n).amount}async injectReferralInstructionsForSolana(t,r,n,o,i){const{fromChain:u,source:a}=r,p=this.referrerAddress().solana,s=this.getFeeInBaseUnits(r,i);if(!p||!s||u.network!=="Mainnet")return n;const c=[],d=new unsignedTransaction.PublicKey(p);if(platform.isNative(a.id.address))c.push(unsignedTransaction.SystemProgram.transfer({fromPubkey:o,toPubkey:d,lamports:s}));else{const l=new unsignedTransaction.PublicKey(a.id.address.toString()),m=await unsignedTransaction.SolanaPlatform.getTokenProgramId(t,l),f=mint.getAssociatedTokenAddressSync(l,d,!0,m),T=mint.getAssociatedTokenAddressSync(l,o,!0,m);await t.getAccountInfo(f)||c.push(associatedTokenAccount.createAssociatedTokenAccountIdempotentInstruction(o,f,d,l,m)),c.push(associatedTokenAccount.createTransferCheckedInstruction(T,l,f,o,s,a.decimals,void 0,m))}return c.push(...n),c}async injectReferralInstructionsForSui(t,r,n,o){const{fromChain:i,source:u}=r,a=this.referrerAddress().sui,p=this.getFeeInBaseUnits(r,o);if(!a||!p||i.network!=="Mainnet")return{};const s=this.getQuoteAmountIn64(r,o),c=new platform$1.Transaction,d=u.id.address,y=platform.isNative(d);let l;if(y)l=c.gas;else{const T=d.toString(),[g,...b]=await platform$1.SuiPlatform.getCoins(t,n,T);if(!g)throw new Error(`No coins of type ${T} found for ${n}.`);l=c.object(g.coinObjectId),b.length>0&&c.mergeCoins(l,b.map(h=>c.object(h.coinObjectId)))}const[m,f]=c.splitCoins(l,[p,s]);return c.transferObjects([m],a),{tx:c,remainingAmountCoin:f}}async fetchQuote(t,r){const{fromChain:n,toChain:o}=t;if(this.isTestnetRequest(t)){if(!isTestnetSupportedChain(n.chain))throw new Error(`Chain ${n.chain} is not supported on testnet. Supported testnet chains: ${supportedChains("Testnet").join(", ")}`);if(!isTestnetSupportedChain(o.chain))throw new Error(`Chain ${o.chain} is not supported on testnet. Supported testnet chains: ${supportedChains("Testnet").join(", ")}`)}const i={amountIn64:this.getQuoteAmountIn64(t,r.amount),fromToken:this.toMayanAddress(t.source.id),toToken:this.toMayanAddress(t.destination.id),fromChain:toMayanChainName(n.network,n.chain),toChain:toMayanChainName(o.network,o.chain),...this.getDefaultOptions(),...r.options,slippageBps:"auto",referrer:this.referrerAddress().solana,referrerBps:0},u={swift:this.protocols.includes(MayanProtocol.SWIFT),mctp:this.protocols.includes(MayanProtocol.MCTP),fastMctp:this.protocols.includes(MayanProtocol.FAST_MCTP),monoChain:this.protocols.includes(MayanProtocol.MONO_CHAIN)},a=new URL(this.isTestnetRequest(t)?generateFetchQuoteUrl({...i,fromChain:toMayanChainName(n.network,n.chain),toChain:toMayanChainName(o.network,o.chain)},u):hypercore.generateFetchQuoteUrl(i,u));if(!a)throw new Error("Unable to generate fetch quote URL");a.searchParams.has("fullList")||a.searchParams.append("fullList","true");const p=await platform.axios.get(a.toString());if(p.status!==200)throw new Error(`Unable to fetch quote ${{cause:p}}`);const s=p.data?.quotes?.filter(c=>this.protocols.includes(c.type));if(!(!s||s.length===0))return s.length===1||s.sort((c,d)=>r.options.optimizeFor==="cost"?d.expectedAmountOut===c.expectedAmountOut?c.etaSeconds-d.etaSeconds:d.expectedAmountOut-c.expectedAmountOut:r.options.optimizeFor==="speed"?c.etaSeconds===d.etaSeconds?d.expectedAmountOut-c.expectedAmountOut:c.etaSeconds-d.etaSeconds:0),s[0]}getMinAmount(t,r){if(t===null)return null;try{return platform.parse(platform.denoise(t,r),r)}catch{return null}}async quote(t,r){try{const n=await this.fetchQuote(t,r);if(!n)return{success:!1,error:new platform.UnavailableError(new Error("Couldn't fetch a quote"))};const o={token:{chain:"Solana",address:platform.Wormhole.parseAddress("Solana",platform.usdcContract.get(t.fromChain.network,"Solana"))},amount:platform.parse(platform.denoise(n.clientRelayerFeeSuccess||"0",6),6)},i=parseInt(n.deadline64,10)*1e3,u=i?new Date(i):void 0;return{success:!0,params:r,sourceToken:{token:t.source.id,amount:platform.fromBaseUnits(BigInt(n.effectiveAmountIn64),n.fromToken.decimals)},destinationToken:{token:t.destination.id,amount:platform.parse(platform.denoise(n.expectedAmountOut,n.toToken.decimals),n.toToken.decimals)},relayFee:o,destinationNativeGas:platform.parse(platform.denoise(n.gasDrop,n.toToken.decimals),n.toToken.decimals),eta:n.etaSeconds*1e3,details:n,expires:u}}catch(n){if(platform.axios.isAxiosError(n)){const o=n?.response?.data;if(o?.code==="AMOUNT_TOO_SMALL"){const i=o?.data?.minAmountIn,u=this.getMinAmount(i,t.source.decimals);if(u)return{success:!1,error:new platform.MinAmountError(u)}}if(o?.msg)return{success:!1,error:Error(`${o?.msg} ${{cause:o}}`)}}return{success:!1,error:n}}}async initiate(t,r,n,o){try{const i=r.address(),u=platform.canonicalAddress(o),a=[],p=await t.fromChain.getRpc(),s=this.getFeeInBaseUnits(t,n.params.amount),c=await hypercore.maybeGetHyperCorePermitSignature(t,r,n,u);if(t.fromChain.chain==="Solana"||t.fromChain.chain==="Fogo"){const d={allowSwapperOffCurve:!0,usdcPermitSignature:c},{instructions:y,signers:l,lookupTables:m}=await(this.isTestnetRequest(t)?createSwapFromSolanaInstructions(this.normalizeQuoteForTestnet(n.details),i,u,null,p,d):hypercore.createSwapFromSolanaInstructions(n.details,i,u,this.referrerAddress(),p,d)),f=new unsignedTransaction.PublicKey(i),T=unsignedTransaction.MessageV0.compile({instructions:await this.injectReferralInstructionsForSolana(p,t,y,f,n.params.amount),payerKey:new unsignedTransaction.PublicKey(i),recentBlockhash:"",addressLookupTableAccounts:m}),g=[new unsignedTransaction.SolanaUnsignedTransaction({transaction:new unsignedTransaction.VersionedTransaction(T),signers:l},t.fromChain.network,t.fromChain.chain,"Execute Swap")];if(platform.isSignAndSendSigner(r)){const b=await r.signAndSend(g);a.push(...b.map(h=>({chain:t.fromChain.chain,txid:h})))}else if(platform.isSignOnlySigner(r)){const b=await r.sign(g),h=await unsignedTransaction.SolanaPlatform.sendWait(t.fromChain.chain,p,b);a.push(...h.map(A=>({chain:t.fromChain.chain,txid:A})))}}else if(t.fromChain.chain==="Sui"){const{tx:d,remainingAmountCoin:y}=await this.injectReferralInstructionsForSui(p,t,i,n.params.amount),f={...d&&{builtTransaction:d,inputCoin:{result:y}},...c&&{usdcPermitSignature:c}},T=await(this.isTestnetRequest(t)?createSwapFromSuiMoveCalls(this.normalizeQuoteForTestnet(n.details),i,u,null,void 0,p):hypercore.createSwapFromSuiMoveCalls(n.details,i,u,this.referrerAddress(),void 0,p,f)),g=[new platform$1.SuiUnsignedTransaction(T,t.fromChain.network,t.fromChain.chain,"Execute Swap")];if(platform.isSignAndSendSigner(r)){const b=await r.signAndSend(g);a.push(...b.map(h=>({chain:t.fromChain.chain,txid:h})))}else if(platform.isSignOnlySigner(r)){const b=await r.sign(g),h=await platform$1.SuiPlatform.sendWait(t.fromChain.chain,p,b);a.push(...h.map(A=>({chain:t.fromChain.chain,txid:A})))}}else{const d=[],y=platform.networkChainToNativeChainId.get(t.fromChain.network,t.fromChain.chain),l=this.referrerAddress(),m=this.toMayanAddress(t.source.id),f=platform.isNative(t.source.id.address),T=getEvmContractAddress(t.fromChain.network,s,l.evm),g=platform.units(platform.parse(n.params.amount,t.source.decimals));if(!f){const C=platform.EvmPlatform.getTokenImplementation(p,m);if(await C.allowance(i,T)<g){const M=await C.approve.populateTransaction(T,g);d.push(new platform.EvmUnsignedTransaction({from:i,chainId:y,...M},t.fromChain.network,t.fromChain.chain,"Approve Allowance"))}}const b=n.details;if(!b)throw new Error("Missing Mayan quote details");const h=c!==void 0?{usdcPermitSignature:c}:void 0,A=this.isTestnetRequest(t)?getSwapFromEvmTxPayload(this.normalizeQuoteForTestnet(b),i,u,null,i,Number(y),void 0,void 0):await hypercore.getSwapFromEvmTxPayload(b,i,u,this.referrerAddress(),i,Number(y),void 0,void 0,h),I=createTransactionRequest(t.fromChain.network,A,g,s,i,m,f,l.evm);if(d.push(new platform.EvmUnsignedTransaction(I,t.fromChain.network,t.fromChain.chain,"Execute Swap")),platform.isSignAndSendSigner(r)){const C=await r.signAndSend(d);a.push(...C.map(w=>({chain:t.fromChain.chain,txid:w})))}else if(platform.isSignOnlySigner(r)){const C=await r.sign(d),w=await platform.EvmPlatform.sendWait(t.fromChain.chain,p,C);a.push(...w.map(M=>({chain:t.fromChain.chain,txid:M})))}}return{from:t.fromChain.chain,to:t.toChain.chain,state:platform.TransferState.SourceInitiated,originTxs:a}}catch(i){throw console.error(i),i}}async*track(t,r){if(platform.isCompleted(t)||platform.isRedeemed(t)||platform.isRefunded(t))return t;let n=r||3600*1e3;for(;n>0;){const o=Date.now();if(platform.isSourceInitiated(t)||platform.isSourceFinalized(t)||platform.isAttested(t)){const i=await getTransactionStatus(this.wh.network,t.originTxs[t.originTxs.length-1]);if(i&&(t=txStatusToReceipt(i),yield{...t,txstatus:i},platform.isCompleted(t)||platform.isRedeemed(t)||platform.isRefunded(t)))return t}else throw new Error("Transfer must have been initiated");await new Promise(i=>setTimeout(i,3e3)),n-=Date.now()-o}return t}transferUrl(t){return`https://explorer.mayan.finance/swap/${t}`}referrerAddress(){const{referrers:t}=this.constructor;return{solana:t?.Solana,evm:t?.Ethereum,sui:t?.Sui}}}class MayanRoute extends MayanRouteBase{static meta={name:"MayanSwap",provider:"Mayan"};protocols=[MayanProtocol.WH,MayanProtocol.MCTP,MayanProtocol.FAST_MCTP,MayanProtocol.SWIFT,MayanProtocol.MONO_CHAIN]}class MayanRouteCrossChain extends MayanRouteBase{async validate(t,r){return t.fromChain?.chain===t.toChain?.chain?{valid:!1,params:r,error:new Error("This route does not support same-chain swaps. Use MONO_CHAIN route for same-chain swaps.")}:super.validate(t,r)}}class MayanRouteSWIFT extends MayanRouteCrossChain{static meta={name:"MayanSwapSWIFT",provider:"Mayan Swift"};protocols=[MayanProtocol.SWIFT]}class MayanRouteMCTP extends MayanRouteCrossChain{static meta={name:"MayanSwapMCTP",provider:"Mayan MCTP"};protocols=[MayanProtocol.MCTP]}class MayanRouteWH extends MayanRouteCrossChain{static meta={name:"MayanSwapWH",provider:"Mayan WH"};protocols=[MayanProtocol.WH]}class MayanRouteMONOCHAIN extends MayanRouteBase{static meta={name:"MayanSwapMONOCHAIN",provider:"Mayan Mono Chain"};protocols=[MayanProtocol.MONO_CHAIN];async validate(t,r){return t.fromChain?.chain!==t.toChain?.chain?{valid:!1,params:r,error:new Error("MONO_CHAIN route requires source and destination chains to be the same")}:super.validate(t,r)}static supportsSameChainSwaps(t,r){const n=platform.chainToPlatform(r);return t==="Mainnet"&&(n==="Solana"||n==="Evm")}}class MayanRouteFastMCTP extends MayanRouteCrossChain{static meta={name:"MayanSwapFastMCTP",provider:"Mayan MCTP"};protocols=[MayanProtocol.FAST_MCTP]}exports.MayanRoute=MayanRoute;exports.MayanRouteFastMCTP=MayanRouteFastMCTP;exports.MayanRouteMCTP=MayanRouteMCTP;exports.MayanRouteMONOCHAIN=MayanRouteMONOCHAIN;exports.MayanRouteSWIFT=MayanRouteSWIFT;exports.MayanRouteWH=MayanRouteWH;
|