@wormhole-foundation/wormhole-connect 3.0.1-beta.6-development → 3.0.1-beta.7-development
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/{evm-CP2QogPh.js → evm-Daw1hnd1.js} +1 -1
- package/dist/assets/{tokens-p0GcG7JT.js → tokens-CD1l6Xjr.js} +13 -13
- package/dist/main.js +81 -81
- package/dist/src/AppRouter.d.ts.map +1 -1
- package/dist/src/components/AssetBadge.d.ts.map +1 -1
- package/dist/src/components/ConfigurablePageHeader.d.ts +4 -0
- package/dist/src/components/ConfigurablePageHeader.d.ts.map +1 -0
- package/dist/src/components/SampleApp/index.d.ts.map +1 -1
- package/dist/src/components/v3/AlertBanner.d.ts +14 -0
- package/dist/src/components/v3/AlertBanner.d.ts.map +1 -0
- package/dist/src/components/v3/Button.d.ts +22 -0
- package/dist/src/components/v3/Button.d.ts.map +1 -0
- package/dist/src/config/ui.d.ts +1 -1
- package/dist/src/config/ui.d.ts.map +1 -1
- package/dist/src/hooks/useAmountValidation.d.ts +2 -2
- package/dist/src/hooks/useAmountValidation.d.ts.map +1 -1
- package/dist/src/icons/Clock.d.ts +5 -0
- package/dist/src/icons/Clock.d.ts.map +1 -0
- package/dist/src/icons/SwapVertical.d.ts +5 -0
- package/dist/src/icons/SwapVertical.d.ts.map +1 -0
- package/dist/src/icons/TokenIcons.d.ts +1 -1
- package/dist/src/icons/TokenIcons.d.ts.map +1 -1
- package/dist/src/theme.d.ts +10 -3
- package/dist/src/theme.d.ts.map +1 -1
- package/dist/src/views/v3/Bridge/AmountInput/index.d.ts +21 -0
- package/dist/src/views/v3/Bridge/AmountInput/index.d.ts.map +1 -0
- package/dist/src/views/v3/Bridge/AmountValidationError.d.ts +11 -0
- package/dist/src/views/v3/Bridge/AmountValidationError.d.ts.map +1 -0
- package/dist/src/views/v3/Bridge/AssetPicker/ChainList.d.ts +16 -0
- package/dist/src/views/v3/Bridge/AssetPicker/ChainList.d.ts.map +1 -0
- package/dist/src/views/v3/Bridge/AssetPicker/PickerBottomSheet.d.ts +31 -0
- package/dist/src/views/v3/Bridge/AssetPicker/PickerBottomSheet.d.ts.map +1 -0
- package/dist/src/views/v3/Bridge/AssetPicker/PickerModal.d.ts +32 -0
- package/dist/src/views/v3/Bridge/AssetPicker/PickerModal.d.ts.map +1 -0
- package/dist/src/views/v3/Bridge/AssetPicker/SearchableList/SearchInput.d.ts +11 -0
- package/dist/src/views/v3/Bridge/AssetPicker/SearchableList/SearchInput.d.ts.map +1 -0
- package/dist/src/views/v3/Bridge/AssetPicker/SearchableList/index.d.ts +20 -0
- package/dist/src/views/v3/Bridge/AssetPicker/SearchableList/index.d.ts.map +1 -0
- package/dist/src/views/v3/Bridge/AssetPicker/TokenItem.d.ts +16 -0
- package/dist/src/views/v3/Bridge/AssetPicker/TokenItem.d.ts.map +1 -0
- package/dist/src/views/v3/Bridge/AssetPicker/TokenList.d.ts +24 -0
- package/dist/src/views/v3/Bridge/AssetPicker/TokenList.d.ts.map +1 -0
- package/dist/src/views/v3/Bridge/AssetPicker/index.d.ts +32 -0
- package/dist/src/views/v3/Bridge/AssetPicker/index.d.ts.map +1 -0
- package/dist/src/views/v3/Bridge/GasSlider/index.d.ts +11 -0
- package/dist/src/views/v3/Bridge/GasSlider/index.d.ts.map +1 -0
- package/dist/src/views/v3/Bridge/Routes/RouteBadge.d.ts +9 -0
- package/dist/src/views/v3/Bridge/Routes/RouteBadge.d.ts.map +1 -0
- package/dist/src/views/v3/Bridge/Routes/RoutesBottomSheet.d.ts +26 -0
- package/dist/src/views/v3/Bridge/Routes/RoutesBottomSheet.d.ts.map +1 -0
- package/dist/src/views/v3/Bridge/Routes/RoutesList.d.ts +20 -0
- package/dist/src/views/v3/Bridge/Routes/RoutesList.d.ts.map +1 -0
- package/dist/src/views/v3/Bridge/Routes/RoutesModal.d.ts +25 -0
- package/dist/src/views/v3/Bridge/Routes/RoutesModal.d.ts.map +1 -0
- package/dist/src/views/v3/Bridge/Routes/SingleRoute.d.ts +17 -0
- package/dist/src/views/v3/Bridge/Routes/SingleRoute.d.ts.map +1 -0
- package/dist/src/views/v3/Bridge/Routes/index.d.ts +13 -0
- package/dist/src/views/v3/Bridge/Routes/index.d.ts.map +1 -0
- package/dist/src/views/v3/Bridge/SwapInputs/index.d.ts +5 -0
- package/dist/src/views/v3/Bridge/SwapInputs/index.d.ts.map +1 -0
- package/dist/src/views/v3/Bridge/WalletConnector/Controller.d.ts +8 -0
- package/dist/src/views/v3/Bridge/WalletConnector/Controller.d.ts.map +1 -0
- package/dist/src/views/v3/Bridge/WalletConnector/ExplorerLink.d.ts +10 -0
- package/dist/src/views/v3/Bridge/WalletConnector/ExplorerLink.d.ts.map +1 -0
- package/dist/src/views/v3/Bridge/WalletConnector/Sidebar.d.ts +11 -0
- package/dist/src/views/v3/Bridge/WalletConnector/Sidebar.d.ts.map +1 -0
- package/dist/src/views/v3/Bridge/WalletConnector/index.d.ts +11 -0
- package/dist/src/views/v3/Bridge/WalletConnector/index.d.ts.map +1 -0
- package/dist/src/views/v3/Bridge/index.d.ts +5 -0
- package/dist/src/views/v3/Bridge/index.d.ts.map +1 -0
- package/dist/src/views/v3/Redeem/TransactionDetails/index.d.ts +4 -0
- package/dist/src/views/v3/Redeem/TransactionDetails/index.d.ts.map +1 -0
- package/dist/src/views/v3/Redeem/index.d.ts +5 -0
- package/dist/src/views/v3/Redeem/index.d.ts.map +1 -0
- package/dist/src/views/v3/TxHistory/Item/index.d.ts +8 -0
- package/dist/src/views/v3/TxHistory/Item/index.d.ts.map +1 -0
- package/dist/src/views/v3/TxHistory/Widget/Item.d.ts +9 -0
- package/dist/src/views/v3/TxHistory/Widget/Item.d.ts.map +1 -0
- package/dist/src/views/v3/TxHistory/Widget/index.d.ts +6 -0
- package/dist/src/views/v3/TxHistory/Widget/index.d.ts.map +1 -0
- package/dist/src/views/v3/TxHistory/index.d.ts +4 -0
- package/dist/src/views/v3/TxHistory/index.d.ts.map +1 -0
- package/lib/{account-DtI49BC9.mjs → account-BXlWsVcD.mjs} +1 -1
- package/lib/{account-BNVdeY3i.js → account-D3Whnyky.js} +1 -1
- package/lib/address-B2sdpJNe.js +1 -0
- package/lib/{address-DHjpQ41W.js → address-CFAt6HNS.js} +1 -1
- package/lib/{address-C4qO2bMD.mjs → address-CZArADcj.mjs} +1 -1
- package/lib/{address-BJhcbdG9.mjs → address-DPWm1fbw.mjs} +212 -205
- package/lib/{address-XxuWo72f.js → address-DpQlJQKV.js} +7 -7
- package/lib/{address-QpeLv2yn.mjs → address-YYxpimx3.mjs} +277 -276
- package/lib/{aptos-BPPwy9CZ.js → aptos-BQFrxLpU.js} +1 -1
- package/lib/{aptos-b3ytowip.js → aptos-C6eC7BKq.js} +2 -2
- package/lib/{aptos-C8FBg3S2.mjs → aptos-DNhNK-_f.mjs} +7 -7
- package/lib/{aptos-ButqYPXo.mjs → aptos-YbewU4Io.mjs} +3 -3
- package/lib/{basic-YNjcoRfK.js → basic-BH3rU0o2.js} +1 -1
- package/lib/{basic-BDC-Dz2c.mjs → basic-CVEIWCYi.mjs} +2 -2
- package/lib/{basic-B5VNsnap.mjs → basic-D3Mgm4Qb.mjs} +2 -2
- package/lib/{basic-BR_WJgiZ.js → basic-kfvhCLeC.js} +1 -1
- package/lib/{blake2b-5ZGBTE8v.mjs → blake2b-BFJ9US29.mjs} +7 -7
- package/lib/{blake2b-BJ4wVK7V.js → blake2b-aUiblHhG.js} +1 -1
- package/lib/{browser-ponyfill-C53najnL.js → browser-ponyfill-BeX4lPJd.js} +1 -1
- package/lib/{browser-ponyfill-CuZzL5JS.mjs → browser-ponyfill-Cn2t1qf7.mjs} +1 -1
- package/lib/{chain-B7MIR9_r.mjs → chain-D5okRkwk.mjs} +1 -1
- package/lib/{chain-CSpjwyBt.js → chain-Dme8n2tA.js} +1 -1
- package/lib/{chunk-KJH4KKG6-qC3BvugF.mjs → chunk-KJH4KKG6-DTOJZuhY.mjs} +144 -144
- package/lib/{chunk-KJH4KKG6-B9iq51o1.js → chunk-KJH4KKG6-HfCF1Kt-.js} +1 -1
- package/lib/{constants-DWhraRof.mjs → constants-BHQAYN6w.mjs} +3 -3
- package/lib/{constants-BA7a60_u.js → constants-BsKTcZQ3.js} +1 -1
- package/lib/{contract-D4Vzf62E.mjs → contract-CjL0DzEO.mjs} +39 -39
- package/lib/{contract-CQnkFb54.js → contract-DPL0fm8A.js} +1 -1
- package/lib/{core-DY8-r2Jo.mjs → core-C67jLszg.mjs} +7 -7
- package/lib/{core-DzA-Itto.js → core-DmZlgGHj.js} +3 -3
- package/lib/{create-CtvZoy0X.mjs → create-BlfwwO0_.mjs} +3 -3
- package/lib/{create-DCJBhyHG.js → create-CovWyutZ.js} +1 -1
- package/lib/{evm-BvQ1H4_y.js → evm-BWTWGvAv.js} +2 -2
- package/lib/{evm-Dn0xYGMV.mjs → evm-BohuNM6V.mjs} +9 -9
- package/lib/{evm-CrfP3Qfk.js → evm-CqywsvEZ.js} +2 -2
- package/lib/{evm-BfefVZFh.mjs → evm-M0ImOGaN.mjs} +7 -7
- package/lib/executor.js +1 -1
- package/lib/executor.mjs +46 -46
- package/lib/hosted.js +1 -1
- package/lib/hosted.mjs +1 -1
- package/lib/{index-CnCmR4Uj.js → index-2CmAUr-U.js} +1 -1
- package/lib/{index-DF2WGKez.js → index-85b_tiAE.js} +1 -1
- package/lib/{index-Ct88Toxl.mjs → index-95FB4Qgc.mjs} +3 -3
- package/lib/{index-lN-puZih.js → index-B7ho7Pb6.js} +1 -1
- package/lib/{index-DbPhljz1.mjs → index-BAUIp5vX.mjs} +15 -15
- package/lib/{index-DQp_O8iB.mjs → index-BCZtiDee.mjs} +4 -4
- package/lib/{index-BiS8vv7E.mjs → index-BGq4wC4S.mjs} +1 -1
- package/lib/{index-CBHIr2qc.mjs → index-BQuPDPUZ.mjs} +14 -14
- package/lib/{index-C1NzL1cw.mjs → index-BSj3tfTR.mjs} +3 -3
- package/lib/{index-CbVRI3aO.mjs → index-BV1jWLbR.mjs} +40 -40
- package/lib/{index-CXwf1C77.mjs → index-BXk8QNCQ.mjs} +6 -6
- package/lib/{index-DwX86vgy.mjs → index-BcAk5RDV.mjs} +31 -31
- package/lib/{index-BarjntIo.mjs → index-BgOkhLJ5.mjs} +4 -4
- package/lib/{index-BjbPJ-9w.js → index-BkPAiliF.js} +1 -1
- package/lib/{index-DLilRB-O.js → index-Bn-q9qez.js} +1 -1
- package/lib/{index-3pNz5RJC.js → index-Bt7K1A1Q.js} +1 -1
- package/lib/{index-BrjiGZLN.mjs → index-C-NwpT7M.mjs} +4 -4
- package/lib/{index-B2oGf_0Z.js → index-C7dcnZ_Y.js} +1 -1
- package/lib/{index-BuxGl_Bi.js → index-C9Mdci2_.js} +1 -1
- package/lib/index-CBBfcDND.js +335 -0
- package/lib/{index-BGsoGuxr.js → index-CGjibiRn.js} +1 -1
- package/lib/{index-Yra08X_i.js → index-CJ_ewe88.js} +1 -1
- package/lib/{index-CS1x3lLl.mjs → index-CMyIX4q3.mjs} +1 -1
- package/lib/{index-C6plXYir.mjs → index-CPq5TByt.mjs} +31052 -27169
- package/lib/{index-Czoo2lwG.mjs → index-Cd2G9Q0O.mjs} +2 -2
- package/lib/{index-iXUxUBar.js → index-D8YqkJyN.js} +1 -1
- package/lib/{index-BG9uNreI.js → index-DMtTF3lo.js} +1 -1
- package/lib/{index-DrcGXX5n.mjs → index-DRZtHRGC.mjs} +5 -5
- package/lib/{index-BZsgCHbh.js → index-DSFtUxH1.js} +1 -1
- package/lib/{index-B9Jj-myq.mjs → index-DYspQsyV.mjs} +4 -4
- package/lib/{index-BPdR4VSR.mjs → index-Difh_8Uq.mjs} +35 -35
- package/lib/{index-D2-kSqKC.mjs → index-Dl11esS0.mjs} +12 -12
- package/lib/{index-Dg1FDsF7.js → index-DlZQ535U.js} +1 -1
- package/lib/{index-DPZNqrkJ.mjs → index-DnaDROoD.mjs} +3 -3
- package/lib/{index-C6deIq6M.js → index-DocFg1hF.js} +1 -1
- package/lib/{index-BHv9flJb.js → index-DpEQBLtA.js} +1 -1
- package/lib/{index-OjOZm9KZ.mjs → index-DpSdWR-Q.mjs} +19 -19
- package/lib/{index-DCIXsPdt.js → index-DzxRHhWq.js} +1 -1
- package/lib/{index-BYNs7o4U.js → index-LMdITOCB.js} +1 -1
- package/lib/{index-C3JpIduu.js → index-cT-KFIxA.js} +1 -1
- package/lib/{index-TWJ3iDnH.js → index-k6e49slq.js} +1 -1
- package/lib/{index-t4mLpVUg.mjs → index-uuu1viWa.mjs} +1 -1
- package/lib/{index.es-CGmlPDhv.js → index.es-BYFwv7lT.js} +1 -1
- package/lib/{index.es-Cv23C4D_.mjs → index.es-BhhigIOQ.mjs} +3 -3
- package/lib/{index.es-C-nP3Wu4.mjs → index.es-DGqzeimm.mjs} +5 -5
- package/lib/{index.es-DOcp1QIZ.js → index.es-Fc3_m80E.js} +3 -3
- package/lib/index.js +1 -1
- package/lib/index.mjs +2 -2
- package/lib/mayan.js +9 -2
- package/lib/mayan.mjs +21900 -18117
- package/lib/{mint-DDRe5tvc.js → mint-C2AsTCD2.js} +1 -1
- package/lib/{mint-CwWYApOB.mjs → mint-CLB7p3ZL.mjs} +2 -2
- package/lib/ntt.js +1 -1
- package/lib/ntt.mjs +2370 -2323
- package/lib/{platform-Cdz3d-G9.js → platform-Cl1b31bn.js} +1 -1
- package/lib/{platform-C2My6P6V.js → platform-DV62YjSS.js} +1 -1
- package/lib/{platform-CkZe-n0U.js → platform-Dw5tN12f.js} +1 -1
- package/lib/{platform-B0QvkHbE.mjs → platform-bCY3DvqI.mjs} +14 -14
- package/lib/{platform-lg76WojY.mjs → platform-mkzPOtcO.mjs} +42 -21
- package/lib/{platform-IW8iV_CA.mjs → platform-pX0KL6zm.mjs} +6 -6
- package/lib/{provider-jsonrpc-Bd_Ha8XL.js → provider-jsonrpc-B0bAKP-a.js} +1 -1
- package/lib/{provider-jsonrpc-BXNY8lbA.mjs → provider-jsonrpc-DwKu1fjn.mjs} +120 -120
- package/lib/{secp256k1-BaYwfoJI.js → secp256k1-1EcPGQYM.js} +1 -1
- package/lib/{secp256k1-etdIygIN.mjs → secp256k1-6Zr6y_zm.mjs} +1 -1
- package/lib/{secp256k1-D3q9LbdQ.js → secp256k1-7IiVcfA7.js} +1 -1
- package/lib/{secp256k1-luy_3ZLQ.mjs → secp256k1-BeZAjIBs.mjs} +1 -1
- package/lib/{secp256k1-Cplgnjin.mjs → secp256k1-DXI-6Erh.mjs} +1 -1
- package/lib/{secp256k1-CuaGNRQC.js → secp256k1-Y38qxq0y.js} +1 -1
- package/lib/{signer-DKbAIeFy.mjs → signer-CzGPDOMI.mjs} +20 -20
- package/lib/{signer-BrSuBAB7.js → signer-D6-3r3Sp.js} +1 -1
- package/lib/{solana-BnirZbTQ.js → solana-Da7iWCux.js} +4 -4
- package/lib/solana-mjJtTggS.js +1 -0
- package/lib/{solana-DR8_Oms-.mjs → solana-os3Osxo6.mjs} +10 -10
- package/lib/solana-vo_l-zLm.mjs +18 -0
- package/lib/{solanaEmbed.esm-fUPiKqY3.mjs → solanaEmbed.esm-BBnVqCsz.mjs} +2 -2
- package/lib/{solanaEmbed.esm-BKWwcEou.js → solanaEmbed.esm-RhVD6vLR.js} +1 -1
- package/lib/src/AppRouter.d.ts.map +1 -1
- package/lib/src/components/AssetBadge.d.ts.map +1 -1
- package/lib/src/components/ConfigurablePageHeader.d.ts +4 -0
- package/lib/src/components/ConfigurablePageHeader.d.ts.map +1 -0
- package/lib/src/components/SampleApp/index.d.ts.map +1 -1
- package/lib/src/components/v3/AlertBanner.d.ts +14 -0
- package/lib/src/components/v3/AlertBanner.d.ts.map +1 -0
- package/lib/src/components/v3/Button.d.ts +22 -0
- package/lib/src/components/v3/Button.d.ts.map +1 -0
- package/lib/src/config/ui.d.ts +1 -1
- package/lib/src/config/ui.d.ts.map +1 -1
- package/lib/src/hooks/useAmountValidation.d.ts +2 -2
- package/lib/src/hooks/useAmountValidation.d.ts.map +1 -1
- package/lib/src/icons/Clock.d.ts +5 -0
- package/lib/src/icons/Clock.d.ts.map +1 -0
- package/lib/src/icons/SwapVertical.d.ts +5 -0
- package/lib/src/icons/SwapVertical.d.ts.map +1 -0
- package/lib/src/icons/TokenIcons.d.ts +1 -1
- package/lib/src/icons/TokenIcons.d.ts.map +1 -1
- package/lib/src/theme.d.ts +10 -3
- package/lib/src/theme.d.ts.map +1 -1
- package/lib/src/views/v3/Bridge/AmountInput/index.d.ts +21 -0
- package/lib/src/views/v3/Bridge/AmountInput/index.d.ts.map +1 -0
- package/lib/src/views/v3/Bridge/AmountValidationError.d.ts +11 -0
- package/lib/src/views/v3/Bridge/AmountValidationError.d.ts.map +1 -0
- package/lib/src/views/v3/Bridge/AssetPicker/ChainList.d.ts +16 -0
- package/lib/src/views/v3/Bridge/AssetPicker/ChainList.d.ts.map +1 -0
- package/lib/src/views/v3/Bridge/AssetPicker/PickerBottomSheet.d.ts +31 -0
- package/lib/src/views/v3/Bridge/AssetPicker/PickerBottomSheet.d.ts.map +1 -0
- package/lib/src/views/v3/Bridge/AssetPicker/PickerModal.d.ts +32 -0
- package/lib/src/views/v3/Bridge/AssetPicker/PickerModal.d.ts.map +1 -0
- package/lib/src/views/v3/Bridge/AssetPicker/SearchableList/SearchInput.d.ts +11 -0
- package/lib/src/views/v3/Bridge/AssetPicker/SearchableList/SearchInput.d.ts.map +1 -0
- package/lib/src/views/v3/Bridge/AssetPicker/SearchableList/index.d.ts +20 -0
- package/lib/src/views/v3/Bridge/AssetPicker/SearchableList/index.d.ts.map +1 -0
- package/lib/src/views/v3/Bridge/AssetPicker/TokenItem.d.ts +16 -0
- package/lib/src/views/v3/Bridge/AssetPicker/TokenItem.d.ts.map +1 -0
- package/lib/src/views/v3/Bridge/AssetPicker/TokenList.d.ts +24 -0
- package/lib/src/views/v3/Bridge/AssetPicker/TokenList.d.ts.map +1 -0
- package/lib/src/views/v3/Bridge/AssetPicker/index.d.ts +32 -0
- package/lib/src/views/v3/Bridge/AssetPicker/index.d.ts.map +1 -0
- package/lib/src/views/v3/Bridge/GasSlider/index.d.ts +11 -0
- package/lib/src/views/v3/Bridge/GasSlider/index.d.ts.map +1 -0
- package/lib/src/views/v3/Bridge/Routes/RouteBadge.d.ts +9 -0
- package/lib/src/views/v3/Bridge/Routes/RouteBadge.d.ts.map +1 -0
- package/lib/src/views/v3/Bridge/Routes/RoutesBottomSheet.d.ts +26 -0
- package/lib/src/views/v3/Bridge/Routes/RoutesBottomSheet.d.ts.map +1 -0
- package/lib/src/views/v3/Bridge/Routes/RoutesList.d.ts +20 -0
- package/lib/src/views/v3/Bridge/Routes/RoutesList.d.ts.map +1 -0
- package/lib/src/views/v3/Bridge/Routes/RoutesModal.d.ts +25 -0
- package/lib/src/views/v3/Bridge/Routes/RoutesModal.d.ts.map +1 -0
- package/lib/src/views/v3/Bridge/Routes/SingleRoute.d.ts +17 -0
- package/lib/src/views/v3/Bridge/Routes/SingleRoute.d.ts.map +1 -0
- package/lib/src/views/v3/Bridge/Routes/index.d.ts +13 -0
- package/lib/src/views/v3/Bridge/Routes/index.d.ts.map +1 -0
- package/lib/src/views/v3/Bridge/SwapInputs/index.d.ts +5 -0
- package/lib/src/views/v3/Bridge/SwapInputs/index.d.ts.map +1 -0
- package/lib/src/views/v3/Bridge/WalletConnector/Controller.d.ts +8 -0
- package/lib/src/views/v3/Bridge/WalletConnector/Controller.d.ts.map +1 -0
- package/lib/src/views/v3/Bridge/WalletConnector/ExplorerLink.d.ts +10 -0
- package/lib/src/views/v3/Bridge/WalletConnector/ExplorerLink.d.ts.map +1 -0
- package/lib/src/views/v3/Bridge/WalletConnector/Sidebar.d.ts +11 -0
- package/lib/src/views/v3/Bridge/WalletConnector/Sidebar.d.ts.map +1 -0
- package/lib/src/views/v3/Bridge/WalletConnector/index.d.ts +11 -0
- package/lib/src/views/v3/Bridge/WalletConnector/index.d.ts.map +1 -0
- package/lib/src/views/v3/Bridge/index.d.ts +5 -0
- package/lib/src/views/v3/Bridge/index.d.ts.map +1 -0
- package/lib/src/views/v3/Redeem/TransactionDetails/index.d.ts +4 -0
- package/lib/src/views/v3/Redeem/TransactionDetails/index.d.ts.map +1 -0
- package/lib/src/views/v3/Redeem/index.d.ts +5 -0
- package/lib/src/views/v3/Redeem/index.d.ts.map +1 -0
- package/lib/src/views/v3/TxHistory/Item/index.d.ts +8 -0
- package/lib/src/views/v3/TxHistory/Item/index.d.ts.map +1 -0
- package/lib/src/views/v3/TxHistory/Widget/Item.d.ts +9 -0
- package/lib/src/views/v3/TxHistory/Widget/Item.d.ts.map +1 -0
- package/lib/src/views/v3/TxHistory/Widget/index.d.ts +6 -0
- package/lib/src/views/v3/TxHistory/Widget/index.d.ts.map +1 -0
- package/lib/src/views/v3/TxHistory/index.d.ts +4 -0
- package/lib/src/views/v3/TxHistory/index.d.ts.map +1 -0
- package/lib/{sui-BTGAAvA9.js → sui-BCWT_MP3.js} +1 -1
- package/lib/{sui-BBqJwRM0.mjs → sui-CFKprzku.mjs} +3 -3
- package/lib/{sui-DTftSE5y.js → sui-CO5gTC2j.js} +1 -1
- package/lib/{sui-DAYuRjfB.mjs → sui-rzSF8U-3.mjs} +33 -33
- package/lib/{tokens-tq3iPasz.js → tokens-D2BbVV4x.js} +1 -1
- package/lib/{tokens-Bdu7ORRI.mjs → tokens-D74pLzp3.mjs} +3 -3
- package/lib/{units-Brhe0Yro.mjs → units-BGcsq4mJ.mjs} +24 -24
- package/lib/{units-CMwYFpwc.js → units-CFxZtEkH.js} +1 -1
- package/lib/{unsignedTransaction-Brbbx5Uc.mjs → unsignedTransaction-BHbKxuLa.mjs} +14 -14
- package/lib/{unsignedTransaction-q5Fk1S0o.js → unsignedTransaction-D14ic9We.js} +1 -1
- package/lib/{w3m-modal-BfRfCY9F.js → w3m-modal-253PNp3t.js} +1 -1
- package/lib/{w3m-modal-CtPzALaO.mjs → w3m-modal-BXoUHiVS.mjs} +2 -2
- package/lib/{w3m-modal-BhCXAHBR.js → w3m-modal-Dr98fjep.js} +1 -1
- package/lib/{w3m-modal-Dbhbe_NS.mjs → w3m-modal-vJ0TMybJ.mjs} +2 -2
- package/lib/{web3-Atnj-SZ3.mjs → web3-C7dEQmtr.mjs} +6 -6
- package/lib/{web3-DinKgkT9.js → web3-Co7tl8ed.js} +1 -1
- package/package.json +32 -33
- package/lib/address-BWzhA9di.js +0 -1
- package/lib/index-BjP-grbs.js +0 -299
- package/lib/solana-D_QkC8QG.mjs +0 -18
- package/lib/solana-pu7cIYt0.js +0 -1
package/lib/mayan.js
CHANGED
|
@@ -1,3 +1,10 @@
|
|
|
1
|
-
"use strict";var $e=Object.defineProperty;var ea=(e,t,a)=>t in e?$e(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a;var j=(e,t,a)=>ea(e,typeof t!="symbol"?t+"":t,a);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const browserPonyfill=require("./browser-ponyfill-C53najnL.js"),address=require("./address-XxuWo72f.js"),platform=require("./platform-CkZe-n0U.js"),providerJsonrpc=require("./provider-jsonrpc-Bd_Ha8XL.js"),contract=require("./contract-CQnkFb54.js"),units=require("./units-CMwYFpwc.js"),unsignedTransaction=require("./unsignedTransaction-q5Fk1S0o.js"),unsignedTransaction$1=require("./unsignedTransaction-DzSLsK-p.js"),platform$1=require("./platform-Cdz3d-G9.js"),unsignedTransaction$2=require("./unsignedTransaction-B7AZXsTD.js");var sha3={exports:{}};(function(e){(function(){var t="input is invalid type",a="finalize already called",i=typeof window=="object",c=i?window:{};c.JS_SHA3_NO_WINDOW&&(i=!1);var o=!i&&typeof self=="object",d=!c.JS_SHA3_NO_NODE_JS&&typeof address.dist.process=="object"&&address.dist.process.versions&&address.dist.process.versions.node;d?c=address.commonjsGlobal:o&&(c=self);var s=!c.JS_SHA3_NO_COMMON_JS&&!0&&e.exports,l=!c.JS_SHA3_NO_ARRAY_BUFFER&&typeof ArrayBuffer<"u",r="0123456789abcdef".split(""),m=[31,7936,2031616,520093696],p=[4,1024,262144,67108864],h=[1,256,65536,16777216],g=[6,1536,393216,100663296],u=[0,8,16,24],f=[1,0,32898,0,32906,2147483648,2147516416,2147483648,32907,0,2147483649,0,2147516545,2147483648,32777,2147483648,138,0,136,0,2147516425,0,2147483658,0,2147516555,0,139,2147483648,32905,2147483648,32771,2147483648,32770,2147483648,128,2147483648,32778,0,2147483658,2147483648,2147516545,2147483648,32896,2147483648,2147483649,0,2147516424,2147483648],C=[224,256,384,512],k=[128,256],A=["hex","buffer","arrayBuffer","array","digest"],P={128:168,256:136};(c.JS_SHA3_NO_NODE_JS||!Array.isArray)&&(Array.isArray=function(n){return Object.prototype.toString.call(n)==="[object Array]"}),l&&(c.JS_SHA3_NO_ARRAY_BUFFER_IS_VIEW||!ArrayBuffer.isView)&&(ArrayBuffer.isView=function(n){return typeof n=="object"&&n.buffer&&n.buffer.constructor===ArrayBuffer});for(var U=function(n,y,I){return function(b){return new v(n,y,n).update(b)[I]()}},R=function(n,y,I){return function(b,T){return new v(n,y,T).update(b)[I]()}},D=function(n,y,I){return function(b,T,w,x){return L["cshake"+n].update(b,T,w,x)[I]()}},B=function(n,y,I){return function(b,T,w,x){return L["kmac"+n].update(b,T,w,x)[I]()}},M=function(n,y,I,b){for(var T=0;T<A.length;++T){var w=A[T];n[w]=y(I,b,w)}return n},G=function(n,y){var I=U(n,y,"hex");return I.create=function(){return new v(n,y,n)},I.update=function(b){return I.create().update(b)},M(I,U,n,y)},Y=function(n,y){var I=R(n,y,"hex");return I.create=function(b){return new v(n,y,b)},I.update=function(b,T){return I.create(T).update(b)},M(I,R,n,y)},F=function(n,y){var I=P[n],b=D(n,y,"hex");return b.create=function(T,w,x){return!w&&!x?L["shake"+n].create(T):new v(n,y,T).bytepad([w,x],I)},b.update=function(T,w,x,S){return b.create(w,x,S).update(T)},M(b,D,n,y)},O=function(n,y){var I=P[n],b=B(n,y,"hex");return b.create=function(T,w,x){return new q(n,y,w).bytepad(["KMAC",x],I).bytepad([T],I)},b.update=function(T,w,x,S){return b.create(T,x,S).update(w)},M(b,B,n,y)},X=[{name:"keccak",padding:h,bits:C,createMethod:G},{name:"sha3",padding:g,bits:C,createMethod:G},{name:"shake",padding:m,bits:k,createMethod:Y},{name:"cshake",padding:p,bits:k,createMethod:F},{name:"kmac",padding:p,bits:k,createMethod:O}],L={},H=[],_=0;_<X.length;++_)for(var z=X[_],J=z.bits,V=0;V<J.length;++V){var Z=z.name+"_"+J[V];if(H.push(Z),L[Z]=z.createMethod(J[V],z.padding),z.name!=="sha3"){var $=z.name+J[V];H.push($),L[$]=L[Z]}}function v(n,y,I){this.blocks=[],this.s=[],this.padding=y,this.outputBits=I,this.reset=!0,this.finalized=!1,this.block=0,this.start=0,this.blockCount=1600-(n<<1)>>5,this.byteCount=this.blockCount<<2,this.outputBlocks=I>>5,this.extraBytes=(I&31)>>3;for(var b=0;b<50;++b)this.s[b]=0}v.prototype.update=function(n){if(this.finalized)throw new Error(a);var y,I=typeof n;if(I!=="string"){if(I==="object"){if(n===null)throw new Error(t);if(l&&n.constructor===ArrayBuffer)n=new Uint8Array(n);else if(!Array.isArray(n)&&(!l||!ArrayBuffer.isView(n)))throw new Error(t)}else throw new Error(t);y=!0}for(var b=this.blocks,T=this.byteCount,w=n.length,x=this.blockCount,S=0,W=this.s,E,N;S<w;){if(this.reset)for(this.reset=!1,b[0]=this.block,E=1;E<x+1;++E)b[E]=0;if(y)for(E=this.start;S<w&&E<T;++S)b[E>>2]|=n[S]<<u[E++&3];else for(E=this.start;S<w&&E<T;++S)N=n.charCodeAt(S),N<128?b[E>>2]|=N<<u[E++&3]:N<2048?(b[E>>2]|=(192|N>>6)<<u[E++&3],b[E>>2]|=(128|N&63)<<u[E++&3]):N<55296||N>=57344?(b[E>>2]|=(224|N>>12)<<u[E++&3],b[E>>2]|=(128|N>>6&63)<<u[E++&3],b[E>>2]|=(128|N&63)<<u[E++&3]):(N=65536+((N&1023)<<10|n.charCodeAt(++S)&1023),b[E>>2]|=(240|N>>18)<<u[E++&3],b[E>>2]|=(128|N>>12&63)<<u[E++&3],b[E>>2]|=(128|N>>6&63)<<u[E++&3],b[E>>2]|=(128|N&63)<<u[E++&3]);if(this.lastByteIndex=E,E>=T){for(this.start=E-T,this.block=b[x],E=0;E<x;++E)W[E]^=b[E];Q(W),this.reset=!0}else this.start=E}return this},v.prototype.encode=function(n,y){var I=n&255,b=1,T=[I];for(n=n>>8,I=n&255;I>0;)T.unshift(I),n=n>>8,I=n&255,++b;return y?T.push(b):T.unshift(b),this.update(T),T.length},v.prototype.encodeString=function(n){var y,I=typeof n;if(I!=="string"){if(I==="object"){if(n===null)throw new Error(t);if(l&&n.constructor===ArrayBuffer)n=new Uint8Array(n);else if(!Array.isArray(n)&&(!l||!ArrayBuffer.isView(n)))throw new Error(t)}else throw new Error(t);y=!0}var b=0,T=n.length;if(y)b=T;else for(var w=0;w<n.length;++w){var x=n.charCodeAt(w);x<128?b+=1:x<2048?b+=2:x<55296||x>=57344?b+=3:(x=65536+((x&1023)<<10|n.charCodeAt(++w)&1023),b+=4)}return b+=this.encode(b*8),this.update(n),b},v.prototype.bytepad=function(n,y){for(var I=this.encode(y),b=0;b<n.length;++b)I+=this.encodeString(n[b]);var T=y-I%y,w=[];return w.length=T,this.update(w),this},v.prototype.finalize=function(){if(!this.finalized){this.finalized=!0;var n=this.blocks,y=this.lastByteIndex,I=this.blockCount,b=this.s;if(n[y>>2]|=this.padding[y&3],this.lastByteIndex===this.byteCount)for(n[0]=n[I],y=1;y<I+1;++y)n[y]=0;for(n[I-1]|=2147483648,y=0;y<I;++y)b[y]^=n[y];Q(b)}},v.prototype.toString=v.prototype.hex=function(){this.finalize();for(var n=this.blockCount,y=this.s,I=this.outputBlocks,b=this.extraBytes,T=0,w=0,x="",S;w<I;){for(T=0;T<n&&w<I;++T,++w)S=y[T],x+=r[S>>4&15]+r[S&15]+r[S>>12&15]+r[S>>8&15]+r[S>>20&15]+r[S>>16&15]+r[S>>28&15]+r[S>>24&15];w%n===0&&(Q(y),T=0)}return b&&(S=y[T],x+=r[S>>4&15]+r[S&15],b>1&&(x+=r[S>>12&15]+r[S>>8&15]),b>2&&(x+=r[S>>20&15]+r[S>>16&15])),x},v.prototype.arrayBuffer=function(){this.finalize();var n=this.blockCount,y=this.s,I=this.outputBlocks,b=this.extraBytes,T=0,w=0,x=this.outputBits>>3,S;b?S=new ArrayBuffer(I+1<<2):S=new ArrayBuffer(x);for(var W=new Uint32Array(S);w<I;){for(T=0;T<n&&w<I;++T,++w)W[w]=y[T];w%n===0&&Q(y)}return b&&(W[T]=y[T],S=S.slice(0,x)),S},v.prototype.buffer=v.prototype.arrayBuffer,v.prototype.digest=v.prototype.array=function(){this.finalize();for(var n=this.blockCount,y=this.s,I=this.outputBlocks,b=this.extraBytes,T=0,w=0,x=[],S,W;w<I;){for(T=0;T<n&&w<I;++T,++w)S=w<<2,W=y[T],x[S]=W&255,x[S+1]=W>>8&255,x[S+2]=W>>16&255,x[S+3]=W>>24&255;w%n===0&&Q(y)}return b&&(S=w<<2,W=y[T],x[S]=W&255,b>1&&(x[S+1]=W>>8&255),b>2&&(x[S+2]=W>>16&255)),x};function q(n,y,I){v.call(this,n,y,I)}q.prototype=new v,q.prototype.finalize=function(){return this.encode(this.outputBits,!0),v.prototype.finalize.call(this)};var Q=function(n){var y,I,b,T,w,x,S,W,E,N,ee,ae,ne,te,ie,se,oe,re,ce,de,le,me,ge,pe,ue,he,fe,Ce,ye,Ie,be,Ae,ke,Pe,Te,we,Se,Re,xe,Ue,Ee,De,Fe,Oe,Be,Me,ve,Ne,We,Le,He,Ke,Ge,Xe,Ye,je,_e,ze,Ve,Qe,Je,Ze,qe;for(b=0;b<48;b+=2)T=n[0]^n[10]^n[20]^n[30]^n[40],w=n[1]^n[11]^n[21]^n[31]^n[41],x=n[2]^n[12]^n[22]^n[32]^n[42],S=n[3]^n[13]^n[23]^n[33]^n[43],W=n[4]^n[14]^n[24]^n[34]^n[44],E=n[5]^n[15]^n[25]^n[35]^n[45],N=n[6]^n[16]^n[26]^n[36]^n[46],ee=n[7]^n[17]^n[27]^n[37]^n[47],ae=n[8]^n[18]^n[28]^n[38]^n[48],ne=n[9]^n[19]^n[29]^n[39]^n[49],y=ae^(x<<1|S>>>31),I=ne^(S<<1|x>>>31),n[0]^=y,n[1]^=I,n[10]^=y,n[11]^=I,n[20]^=y,n[21]^=I,n[30]^=y,n[31]^=I,n[40]^=y,n[41]^=I,y=T^(W<<1|E>>>31),I=w^(E<<1|W>>>31),n[2]^=y,n[3]^=I,n[12]^=y,n[13]^=I,n[22]^=y,n[23]^=I,n[32]^=y,n[33]^=I,n[42]^=y,n[43]^=I,y=x^(N<<1|ee>>>31),I=S^(ee<<1|N>>>31),n[4]^=y,n[5]^=I,n[14]^=y,n[15]^=I,n[24]^=y,n[25]^=I,n[34]^=y,n[35]^=I,n[44]^=y,n[45]^=I,y=W^(ae<<1|ne>>>31),I=E^(ne<<1|ae>>>31),n[6]^=y,n[7]^=I,n[16]^=y,n[17]^=I,n[26]^=y,n[27]^=I,n[36]^=y,n[37]^=I,n[46]^=y,n[47]^=I,y=N^(T<<1|w>>>31),I=ee^(w<<1|T>>>31),n[8]^=y,n[9]^=I,n[18]^=y,n[19]^=I,n[28]^=y,n[29]^=I,n[38]^=y,n[39]^=I,n[48]^=y,n[49]^=I,te=n[0],ie=n[1],Me=n[11]<<4|n[10]>>>28,ve=n[10]<<4|n[11]>>>28,Ce=n[20]<<3|n[21]>>>29,ye=n[21]<<3|n[20]>>>29,Qe=n[31]<<9|n[30]>>>23,Je=n[30]<<9|n[31]>>>23,De=n[40]<<18|n[41]>>>14,Fe=n[41]<<18|n[40]>>>14,Pe=n[2]<<1|n[3]>>>31,Te=n[3]<<1|n[2]>>>31,se=n[13]<<12|n[12]>>>20,oe=n[12]<<12|n[13]>>>20,Ne=n[22]<<10|n[23]>>>22,We=n[23]<<10|n[22]>>>22,Ie=n[33]<<13|n[32]>>>19,be=n[32]<<13|n[33]>>>19,Ze=n[42]<<2|n[43]>>>30,qe=n[43]<<2|n[42]>>>30,Xe=n[5]<<30|n[4]>>>2,Ye=n[4]<<30|n[5]>>>2,we=n[14]<<6|n[15]>>>26,Se=n[15]<<6|n[14]>>>26,re=n[25]<<11|n[24]>>>21,ce=n[24]<<11|n[25]>>>21,Le=n[34]<<15|n[35]>>>17,He=n[35]<<15|n[34]>>>17,Ae=n[45]<<29|n[44]>>>3,ke=n[44]<<29|n[45]>>>3,pe=n[6]<<28|n[7]>>>4,ue=n[7]<<28|n[6]>>>4,je=n[17]<<23|n[16]>>>9,_e=n[16]<<23|n[17]>>>9,Re=n[26]<<25|n[27]>>>7,xe=n[27]<<25|n[26]>>>7,de=n[36]<<21|n[37]>>>11,le=n[37]<<21|n[36]>>>11,Ke=n[47]<<24|n[46]>>>8,Ge=n[46]<<24|n[47]>>>8,Oe=n[8]<<27|n[9]>>>5,Be=n[9]<<27|n[8]>>>5,he=n[18]<<20|n[19]>>>12,fe=n[19]<<20|n[18]>>>12,ze=n[29]<<7|n[28]>>>25,Ve=n[28]<<7|n[29]>>>25,Ue=n[38]<<8|n[39]>>>24,Ee=n[39]<<8|n[38]>>>24,me=n[48]<<14|n[49]>>>18,ge=n[49]<<14|n[48]>>>18,n[0]=te^~se&re,n[1]=ie^~oe&ce,n[10]=pe^~he&Ce,n[11]=ue^~fe&ye,n[20]=Pe^~we&Re,n[21]=Te^~Se&xe,n[30]=Oe^~Me&Ne,n[31]=Be^~ve&We,n[40]=Xe^~je&ze,n[41]=Ye^~_e&Ve,n[2]=se^~re&de,n[3]=oe^~ce&le,n[12]=he^~Ce&Ie,n[13]=fe^~ye&be,n[22]=we^~Re&Ue,n[23]=Se^~xe&Ee,n[32]=Me^~Ne&Le,n[33]=ve^~We&He,n[42]=je^~ze&Qe,n[43]=_e^~Ve&Je,n[4]=re^~de&me,n[5]=ce^~le&ge,n[14]=Ce^~Ie&Ae,n[15]=ye^~be&ke,n[24]=Re^~Ue&De,n[25]=xe^~Ee&Fe,n[34]=Ne^~Le&Ke,n[35]=We^~He&Ge,n[44]=ze^~Qe&Ze,n[45]=Ve^~Je&qe,n[6]=de^~me&te,n[7]=le^~ge&ie,n[16]=Ie^~Ae&pe,n[17]=be^~ke&ue,n[26]=Ue^~De&Pe,n[27]=Ee^~Fe&Te,n[36]=Le^~Ke&Oe,n[37]=He^~Ge&Be,n[46]=Qe^~Ze&Xe,n[47]=Je^~qe&Ye,n[8]=me^~te&se,n[9]=ge^~ie&oe,n[18]=Ae^~pe&he,n[19]=ke^~ue&fe,n[28]=De^~Pe&we,n[29]=Fe^~Te&Se,n[38]=Ke^~Oe&Me,n[39]=Ge^~Be&ve,n[48]=Ze^~Xe&je,n[49]=qe^~Ye&_e,n[0]^=f[b],n[1]^=f[b+1]};if(s)e.exports=L;else for(_=0;_<H.length;++_)c[H[_]]=L[H[_]]})()})(sha3);var sha3Exports=sha3.exports,sha256={exports:{}};(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 address.dist.process=="object"&&address.dist.process.versions&&address.dist.process.versions.node;NODE_JS?root=address.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(a){return new Sha256(t,!0).update(a)[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(c){return t.create().update(c)};for(var a=0;a<OUTPUT_TYPES.length;++a){var i=OUTPUT_TYPES[a];t[i]=createOutputMethod(i,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(a,i){return new HmacSha256(a,t,!0).update(i)[e]()}},createHmacMethod=function(e){var t=createHmacOutputMethod("hex",e);t.create=function(c){return new HmacSha256(c,e)},t.update=function(c,o){return t.create(c).update(o)};for(var a=0;a<OUTPUT_TYPES.length;++a){var i=OUTPUT_TYPES[a];t[i]=createHmacOutputMethod(i,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,a=typeof e;if(a!=="string"){if(a==="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 i,c=0,o,d=e.length,s=this.blocks;c<d;){if(this.hashed&&(this.hashed=!1,s[0]=this.block,s[16]=s[1]=s[2]=s[3]=s[4]=s[5]=s[6]=s[7]=s[8]=s[9]=s[10]=s[11]=s[12]=s[13]=s[14]=s[15]=0),t)for(o=this.start;c<d&&o<64;++c)s[o>>2]|=e[c]<<SHIFT[o++&3];else for(o=this.start;c<d&&o<64;++c)i=e.charCodeAt(c),i<128?s[o>>2]|=i<<SHIFT[o++&3]:i<2048?(s[o>>2]|=(192|i>>6)<<SHIFT[o++&3],s[o>>2]|=(128|i&63)<<SHIFT[o++&3]):i<55296||i>=57344?(s[o>>2]|=(224|i>>12)<<SHIFT[o++&3],s[o>>2]|=(128|i>>6&63)<<SHIFT[o++&3],s[o>>2]|=(128|i&63)<<SHIFT[o++&3]):(i=65536+((i&1023)<<10|e.charCodeAt(++c)&1023),s[o>>2]|=(240|i>>18)<<SHIFT[o++&3],s[o>>2]|=(128|i>>12&63)<<SHIFT[o++&3],s[o>>2]|=(128|i>>6&63)<<SHIFT[o++&3],s[o>>2]|=(128|i&63)<<SHIFT[o++&3]);this.lastByteIndex=o,this.bytes+=o-this.start,o>=64?(this.block=s[16],this.start=o-64,this.hash(),this.hashed=!0):this.start=o}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,a=this.h2,i=this.h3,c=this.h4,o=this.h5,d=this.h6,s=this.h7,l=this.blocks,r,m,p,h,g,u,f,C,k,A,P;for(r=16;r<64;++r)g=l[r-15],m=(g>>>7|g<<25)^(g>>>18|g<<14)^g>>>3,g=l[r-2],p=(g>>>17|g<<15)^(g>>>19|g<<13)^g>>>10,l[r]=l[r-16]+m+l[r-7]+p<<0;for(P=t&a,r=0;r<64;r+=4)this.first?(this.is224?(C=300032,g=l[0]-1413257819,s=g-150054599<<0,i=g+24177077<<0):(C=704751109,g=l[0]-210244248,s=g-1521486534<<0,i=g+143694565<<0),this.first=!1):(m=(e>>>2|e<<30)^(e>>>13|e<<19)^(e>>>22|e<<10),p=(c>>>6|c<<26)^(c>>>11|c<<21)^(c>>>25|c<<7),C=e&t,h=C^e&a^P,f=c&o^~c&d,g=s+p+f+K[r]+l[r],u=m+h,s=i+g<<0,i=g+u<<0),m=(i>>>2|i<<30)^(i>>>13|i<<19)^(i>>>22|i<<10),p=(s>>>6|s<<26)^(s>>>11|s<<21)^(s>>>25|s<<7),k=i&e,h=k^i&t^C,f=s&c^~s&o,g=d+p+f+K[r+1]+l[r+1],u=m+h,d=a+g<<0,a=g+u<<0,m=(a>>>2|a<<30)^(a>>>13|a<<19)^(a>>>22|a<<10),p=(d>>>6|d<<26)^(d>>>11|d<<21)^(d>>>25|d<<7),A=a&i,h=A^a&e^k,f=d&s^~d&c,g=o+p+f+K[r+2]+l[r+2],u=m+h,o=t+g<<0,t=g+u<<0,m=(t>>>2|t<<30)^(t>>>13|t<<19)^(t>>>22|t<<10),p=(o>>>6|o<<26)^(o>>>11|o<<21)^(o>>>25|o<<7),P=t&a,h=P^t&i^A,f=o&d^~o&s,g=c+p+f+K[r+3]+l[r+3],u=m+h,c=e+g<<0,e=g+u<<0;this.h0=this.h0+e<<0,this.h1=this.h1+t<<0,this.h2=this.h2+a<<0,this.h3=this.h3+i<<0,this.h4=this.h4+c<<0,this.h5=this.h5+o<<0,this.h6=this.h6+d<<0,this.h7=this.h7+s<<0},Sha256.prototype.hex=function(){this.finalize();var e=this.h0,t=this.h1,a=this.h2,i=this.h3,c=this.h4,o=this.h5,d=this.h6,s=this.h7,l=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[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]+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[c>>28&15]+HEX_CHARS[c>>24&15]+HEX_CHARS[c>>20&15]+HEX_CHARS[c>>16&15]+HEX_CHARS[c>>12&15]+HEX_CHARS[c>>8&15]+HEX_CHARS[c>>4&15]+HEX_CHARS[c&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[d>>28&15]+HEX_CHARS[d>>24&15]+HEX_CHARS[d>>20&15]+HEX_CHARS[d>>16&15]+HEX_CHARS[d>>12&15]+HEX_CHARS[d>>8&15]+HEX_CHARS[d>>4&15]+HEX_CHARS[d&15];return this.is224||(l+=HEX_CHARS[s>>28&15]+HEX_CHARS[s>>24&15]+HEX_CHARS[s>>20&15]+HEX_CHARS[s>>16&15]+HEX_CHARS[s>>12&15]+HEX_CHARS[s>>8&15]+HEX_CHARS[s>>4&15]+HEX_CHARS[s&15]),l},Sha256.prototype.toString=Sha256.prototype.hex,Sha256.prototype.digest=function(){this.finalize();var e=this.h0,t=this.h1,a=this.h2,i=this.h3,c=this.h4,o=this.h5,d=this.h6,s=this.h7,l=[e>>24&255,e>>16&255,e>>8&255,e&255,t>>24&255,t>>16&255,t>>8&255,t&255,a>>24&255,a>>16&255,a>>8&255,a&255,i>>24&255,i>>16&255,i>>8&255,i&255,c>>24&255,c>>16&255,c>>8&255,c&255,o>>24&255,o>>16&255,o>>8&255,o&255,d>>24&255,d>>16&255,d>>8&255,d&255];return this.is224||l.push(s>>24&255,s>>16&255,s>>8&255,s&255),l},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,a){var i,c=typeof e;if(c==="string"){var o=[],d=e.length,s=0,l;for(i=0;i<d;++i)l=e.charCodeAt(i),l<128?o[s++]=l:l<2048?(o[s++]=192|l>>6,o[s++]=128|l&63):l<55296||l>=57344?(o[s++]=224|l>>12,o[s++]=128|l>>6&63,o[s++]=128|l&63):(l=65536+((l&1023)<<10|e.charCodeAt(++i)&1023),o[s++]=240|l>>18,o[s++]=128|l>>12&63,o[s++]=128|l>>6&63,o[s++]=128|l&63);e=o}else if(c==="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 r=[],m=[];for(i=0;i<64;++i){var p=e[i]||0;r[i]=92^p,m[i]=54^p}Sha256.call(this,t,a),this.update(m),this.oKeyPad=r,this.inner=!0,this.sharedMemory=a}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);var sha256Exports=sha256.exports;function base$1(e){if(e.length>=255)throw new TypeError("Alphabet too long");const t=new Uint8Array(256);for(let r=0;r<t.length;r++)t[r]=255;for(let r=0;r<e.length;r++){const m=e.charAt(r),p=m.charCodeAt(0);if(t[p]!==255)throw new TypeError(m+" is ambiguous");t[p]=r}const a=e.length,i=e.charAt(0),c=Math.log(a)/Math.log(256),o=Math.log(256)/Math.log(a);function d(r){if(r instanceof Uint8Array||(ArrayBuffer.isView(r)?r=new Uint8Array(r.buffer,r.byteOffset,r.byteLength):Array.isArray(r)&&(r=Uint8Array.from(r))),!(r instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(r.length===0)return"";let m=0,p=0,h=0;const g=r.length;for(;h!==g&&r[h]===0;)h++,m++;const u=(g-h)*o+1>>>0,f=new Uint8Array(u);for(;h!==g;){let A=r[h],P=0;for(let U=u-1;(A!==0||P<p)&&U!==-1;U--,P++)A+=256*f[U]>>>0,f[U]=A%a>>>0,A=A/a>>>0;if(A!==0)throw new Error("Non-zero carry");p=P,h++}let C=u-p;for(;C!==u&&f[C]===0;)C++;let k=i.repeat(m);for(;C<u;++C)k+=e.charAt(f[C]);return k}function s(r){if(typeof r!="string")throw new TypeError("Expected String");if(r.length===0)return new Uint8Array;let m=0,p=0,h=0;for(;r[m]===i;)p++,m++;const g=(r.length-m)*c+1>>>0,u=new Uint8Array(g);for(;m<r.length;){const A=r.charCodeAt(m);if(A>255)return;let P=t[A];if(P===255)return;let U=0;for(let R=g-1;(P!==0||U<h)&&R!==-1;R--,U++)P+=a*u[R]>>>0,u[R]=P%256>>>0,P=P/256>>>0;if(P!==0)throw new Error("Non-zero carry");h=U,m++}let f=g-h;for(;f!==g&&u[f]===0;)f++;const C=new Uint8Array(p+(g-f));let k=p;for(;f!==g;)C[k++]=u[f++];return C}function l(r){const m=s(r);if(m)return m;throw new Error("Non-base"+a+" character")}return{encode:d,decodeUnsafe:s,decode:l}}var ALPHABET="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";base$1(ALPHABET);var addresses_default={MAYAN_FORWARDER_CONTRACT:"0x337685fdaB40D39bd02028545a4FfA7D287cC3E2",MAYAN_PROGRAM_ID:"FC4eXxkyrMPTjiYUpp4EAnkmwMbQyZ6NDCh1kfLn6vsf",AUCTION_PROGRAM_ID:"8QJmxZcEzwuYmCPy6XqgN2sHcYCcFq6AEfBMJZZuLo5a",MCTP_PROGRAM_ID:"dkpZqrxHFrhziEMQ931GLtfy11nFkCsfMftH9u6QwBU",SWIFT_PROGRAM_ID:"BLZRi6frs4X4DNLw56V4EXai1b6QVESN1BhHBTYM9VcY",FEE_MANAGER_PROGRAM_ID:"5VtQHnhs2pfVEr68qQsbTRwKh4JV5GTu9mBHgHFxpHeQ",WORMHOLE_PROGRAM_ID:"worm2ZoG2kUd4vFXhvjh93UUH596ayRfgQ2MgjNMTth",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:"75X8YgJPcadksw6Ag3qsYUfi1bsFwDoCKYtqPPqdydAG",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://explorer-api.mayan.finance/v3",PRICE_URL:"https://price-api.mayan.finance/v3",RELAYER_URL:"https://relayer-api.mayan.finance/v3"},sha3_2562=sha3Exports.sha3_256,isValidAptosType=e=>/^(0x)?[0-9a-fA-F]+::\w+::\w+$/.test(e);function nativeAddressToHexString(e,t){if(t===1)return address.zeroPadValue(new address.PublicKey(e).toBytes(),32);if(t===chains.ethereum||t===chains.bsc||t===chains.polygon||t===chains.avalanche||t===chains.arbitrum||t===chains.optimism||t===chains.base||t===chains.unichain||t===chains.linea)return address.zeroPadValue(e,32);if(t===chains.aptos&&isValidAptosType(e))return`0x${sha3_2562(e)}`;if(t===chains.sui){let a=e.startsWith("0x")?e.substring(2):e;if(address.bufferPolyfill.Buffer.from(a,"hex").length!==32)throw new Error("Invalid sui address: "+e);return address.zeroPadValue(e,32)}else throw console.log(`Unsupported chain id: ${t}`,e),new Error("Unsupported token chain")}function hexToUint8Array(e){return new Uint8Array(address.bufferPolyfill.Buffer.from(e.startsWith("0x")?e.substring(2):e,"hex"))}function getAssociatedTokenAddress(e,t,a=!1,i=new address.PublicKey(addresses_default.TOKEN_PROGRAM_ID),c=new address.PublicKey(addresses_default.ASSOCIATED_TOKEN_PROGRAM_ID)){if(!a&&!address.PublicKey.isOnCurve(t.toBuffer()))throw new Error("TokenOwnerOffCurveError");const[o]=address.PublicKey.findProgramAddressSync([t.toBuffer(),i.toBuffer(),e.toBuffer()],c);return o}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 a=Math.min(8,Number(t)),i=Number(e).toFixed(a+1),c=new RegExp(`^-?\\d+(?:\\.\\d{0,${a}})?`),o=i.match(c);if(!o)throw new Error("getAmountOfFractionalAmount: fixedAmount is null");const d=o[0];return units.parseUnits(d,Number(t))}var chains={solana:1,ethereum:2,bsc:4,polygon:5,avalanche:6,arbitrum:23,optimism:24,base:30,aptos:22,sui:21,unichain:44,linea:38};function getWormholeChainIdByName(e){return chains[e]}var evmChainIdMap={1:2,56:4,137:5,43114:6,42161:23,10:24,8453:30,130:44,59144:38};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=address.bufferPolyfill.Buffer.alloc(8);return t.writeBigUInt64LE(e),t}var ZeroPermit={value:BigInt(0),deadline:0,v:0,r:`0x${address.SystemProgram.programId.toBuffer().toString("hex")}`,s:`0x${address.SystemProgram.programId.toBuffer().toString("hex")}`};function getQuoteSuitableReferrerAddress(e,t){return!e||!t?null:e.type==="WH"?(t==null?void 0:t.solana)||null:e.type==="MCTP"||e.type==="SWIFT"?e.toChain==="solana"?(t==null?void 0:t.solana)||null:e.toChain==="sui"?(t==null?void 0:t.sui)||null:(t==null?void 0:t.evm)||null: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,a])=>a!=null&&!Array.isArray(a)).map(([t,a])=>`${encodeURIComponent(t)}=${encodeURIComponent(a)}`).join("&")}async function check5xxError(e){if(e.status.toString().startsWith("5")){let t;try{const a=await e.json();(a!=null&&a.code||a!=null&&a.statusCode)&&(a!=null&&a.message||a!=null&&a.msg)&&(t={code:(a==null?void 0:a.code)||(a==null?void 0:a.statusCode),message:(a==null?void 0:a.message)||(a==null?void 0:a.msg)})}catch{t=new Error("Internal server error")}throw t}}async function fetchTokenList(e,t=!1,a){const i={chain:e,nonPortal:t,standard:void 0},c=await browserPonyfill.o(`${addresses_default.PRICE_URL}/tokens?${toQueryString(i)}`);if(await check5xxError(c),c.status===200)return(await c.json())[e];throw new Error("Cannot fetch Mayan tokens!")}function generateFetchQuoteUrl(e,t={wormhole:!0,swift:!0,mctp:!0,shuttle:!0,gasless:!1,onlyDirect:!1,fastMctp:!0}){const{gasDrop:a,referrerBps:i}=e;let c=e.slippageBps;const d={...{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:c,referrer:e.referrer,referrerBps:Number.isFinite(i)?i:void 0,gasDrop:Number.isFinite(a)?a:void 0,sdkVersion:getSdkVersion()},s=`${addresses_default.PRICE_URL}/quote?`,l=toQueryString(d);return s+l}async function getSuggestedRelayer(){const e=await browserPonyfill.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()}),a=await browserPonyfill.o(`${addresses_default.PRICE_URL}/get-swap/solana?${t}`,{method:"GET",redirect:"follow"});await check5xxError(a);const i=await a.json();if(a.status!==200&&a.status!==201)throw i;return i}async function getSwapSui(e){const t=JSON.stringify({...e,sdkVersion:getSdkVersion()}),a=`${addresses_default.PRICE_URL}/get-swap/sui`,i=await browserPonyfill.o(a,{method:"POST",redirect:"follow",body:t,headers:{"Content-Type":"application/json"}});await check5xxError(i);const c=await i.json();if(i.status!==200&&i.status!==201)throw c;return c}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 a=new address.PublicKey(addresses_default.CCTP_CORE_PROGRAM_ID),i=new address.PublicKey(addresses_default.CCTP_TOKEN_PROGRAM_ID),[c]=address.PublicKey.findProgramAddressSync([address.bufferPolyfill.Buffer.from("message_transmitter")],a),[o]=address.PublicKey.findProgramAddressSync([address.bufferPolyfill.Buffer.from("sender_authority")],i),[d]=address.PublicKey.findProgramAddressSync([address.bufferPolyfill.Buffer.from("local_token"),e.toBytes()],i),[s]=address.PublicKey.findProgramAddressSync([address.bufferPolyfill.Buffer.from("token_messenger")],i),[l]=address.PublicKey.findProgramAddressSync([address.bufferPolyfill.Buffer.from("token_minter")],i),r=getCCTPDomain(t),[m]=address.PublicKey.findProgramAddressSync([address.bufferPolyfill.Buffer.from("remote_token_messenger"),address.bufferPolyfill.Buffer.from(r.toString())],i),[p]=address.PublicKey.findProgramAddressSync([address.bufferPolyfill.Buffer.from("__event_authority")],a),[h]=address.PublicKey.findProgramAddressSync([address.bufferPolyfill.Buffer.from("__event_authority")],i);return{messageTransmitter:c,senderAuthority:o,remoteTokenMessengerKey:m,tokenMessenger:s,tokenMinter:l,eventAuthToken:h,eventAuthCore:p,localToken:d}}function getEvmMctpBridgeParams(e,t,a,i){const c=getWormholeChainIdById(Number(a)),o=getWormholeChainIdByName(e.fromChain),d=getWormholeChainIdByName(e.toChain);if(o!==c)throw new Error(`Signer chain id(${Number(a)}) and quote from chain are not same! ${o} !== ${c}`);const s=e.cheaperChain===e.fromChain,l=nativeAddressToHexString(t,d),r=getAmountOfFractionalAmount(e.redeemRelayerFee,CCTP_TOKEN_DECIMALS),m=getAmountOfFractionalAmount(e.gasDrop,Math.min(getGasDecimal(e.toChain),8)),p=BigInt(e.effectiveAmountIn64),h=getCCTPDomain(e.toChain);if(!e.mctpMayanContract)throw new Error("MCTP contract address is missing");const g=e.mctpMayanContract;if(e.toChain==="solana"&&s)throw new Error("Cannot lock fee for transfer to solana");let u=getAmountOfFractionalAmount(e.bridgeFee,getGasDecimal(e.fromChain));return s&&(u=BigInt(0)),{lockFee:s,tokenIn:e.mctpInputContract,amountIn:p,redeemFee:r,gasDrop:m,destAddr:l,destDomain:h,payloadType:MCTP_PAYLOAD_TYPE_DEFAULT,customPayload:"0x",bridgeFee:u,contractAddress:g}}function getEvmMctpBridgeTxPayload(e,t,a,i){const c=getEvmMctpBridgeParams(e,t,a),{contractAddress:o,tokenIn:d,amountIn:s,destAddr:l,lockFee:r,redeemFee:m,gasDrop:p,destDomain:h,customPayload:g,payloadType:u,bridgeFee:f}=c,C=new contract.Contract(o,MayanCircleArtifact_default.abi);let k,A;return r?k=C.interface.encodeFunctionData("bridgeWithLockedFee",[d,s,p,m,h,l]):k=C.interface.encodeFunctionData("bridgeWithFee",[d,s,m,p,l,h,u,g]),A=contract.toBeHex(f),{to:o,data:k,value:A,_params:c}}function getEvmMctpCreateOrderParams(e,t,a,i){const c=getWormholeChainIdById(Number(i)),o=getWormholeChainIdByName(e.fromChain),d=getWormholeChainIdByName(e.toChain);if(o!==c)throw new Error(`Signer chain id(${Number(i)}) and quote from chain are not same! ${o} !== ${c}`);if(!e.mctpMayanContract)throw new Error("MCTP contract address is missing");const s=e.mctpMayanContract,l=nativeAddressToHexString(t,d);let r;a?r=nativeAddressToHexString(a,d):r=nativeAddressToHexString(address.SystemProgram.programId.toString(),getWormholeChainIdByName("solana"));const m=getAmountOfFractionalAmount(e.redeemRelayerFee,CCTP_TOKEN_DECIMALS),p=getAmountOfFractionalAmount(e.gasDrop,Math.min(getGasDecimal(e.toChain),8));let h=BigInt(e.effectiveAmountIn64);const g=getAmountOfFractionalAmount(e.minAmountOut,Math.min(8,e.toToken.decimals)),u=BigInt(e.deadline64),f=e.toToken.contract===providerJsonrpc.ZeroAddress?nativeAddressToHexString(address.SystemProgram.programId.toString(),getWormholeChainIdByName("solana")):nativeAddressToHexString(e.toChain==="sui"?e.toToken.verifiedAddress:e.toToken.contract,e.toToken.wChainId);return{params:{tokenIn:e.mctpInputContract,amountIn:h,gasDrop:p,destAddr:l,destChain:d,tokenOut:f,minAmountOut:g,deadline:u,redeemFee:m,referrerAddr:r,referrerBps:e.referrerBps||0},bridgeFee:getAmountOfFractionalAmount(e.bridgeFee,getGasDecimal(e.fromChain)),contractAddress:s}}function getEvmMctpCreateOrderTxPayload(e,t,a,i){const c=getEvmMctpCreateOrderParams(e,t,a,i),{contractAddress:o,params:d,bridgeFee:s}=c,r=new contract.Contract(o,MayanCircleArtifact_default.abi).interface.encodeFunctionData("createOrder",[d]),m=contract.toBeHex(s);return{to:o,data:r,value:m,_params:c}}function getMctpFromEvmTxPayload(e,t,a,i,c,o){if(e.type!=="MCTP")throw new Error("Quote type is not MCTP");if(!Number.isFinite(Number(i)))throw new Error("Invalid signer chain id");i=Number(i);const d=c||ZeroPermit,s=new contract.Contract(addresses_default.MAYAN_FORWARDER_CONTRACT,MayanForwarderArtifact_default.abi),l=getAmountOfFractionalAmount(e.bridgeFee,getGasDecimal(e.fromChain));let r=contract.toBeHex(l);if(e.fromToken.contract===e.mctpInputContract)if(e.hasAuction){if(!Number(e.deadline64))throw new Error("MCTP order requires timeout");const m=getEvmMctpCreateOrderTxPayload(e,t,a,i),p="forwardERC20",h=[e.fromToken.contract,m._params.params.amountIn,d,m._params.contractAddress,m.data];return{data:s.interface.encodeFunctionData(p,h),to:addresses_default.MAYAN_FORWARDER_CONTRACT,value:contract.toBeHex(r),chainId:i,_forwarder:{method:p,params:h}}}else{const m=getEvmMctpBridgeTxPayload(e,t,i),p="forwardERC20",h=[e.fromToken.contract,m._params.amountIn,d,m._params.contractAddress,m.data];return{data:s.interface.encodeFunctionData(p,h),to:addresses_default.MAYAN_FORWARDER_CONTRACT,value:contract.toBeHex(r),chainId:i,_forwarder:{method:p,params:h}}}else{const{minMiddleAmount:m,evmSwapRouterAddress:p,evmSwapRouterCalldata:h}=e;if(!m||!p||!h)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 g=getEvmMctpCreateOrderTxPayload(e,t,a,i),u=getAmountOfFractionalAmount(e.minMiddleAmount,CCTP_TOKEN_DECIMALS);if(e.fromToken.contract===providerJsonrpc.ZeroAddress){let f=g._params.params.amountIn;if(f<=l)throw new Error("Amount in is less than bridge fee");l!==BigInt(0)&&(f-=l),r=contract.toBeHex(g._params.params.amountIn);const C="swapAndForwardEth",k=[f,p,h,e.mctpInputContract,u,g._params.contractAddress,g.data];return{data:s.interface.encodeFunctionData(C,k),to:addresses_default.MAYAN_FORWARDER_CONTRACT,value:contract.toBeHex(r),chainId:i,_forwarder:{method:C,params:k}}}else{const f="swapAndForwardERC20",C=[e.fromToken.contract,g._params.params.amountIn,d,p,h,e.mctpInputContract,u,g._params.contractAddress,g.data];return{data:s.interface.encodeFunctionData(f,C),to:addresses_default.MAYAN_FORWARDER_CONTRACT,value:contract.toBeHex(r),chainId:i,_forwarder:{method:f,params:C}}}}else{const g=getEvmMctpBridgeTxPayload(e,t,i),u=getAmountOfFractionalAmount(e.minMiddleAmount,CCTP_TOKEN_DECIMALS);if(e.fromToken.contract===providerJsonrpc.ZeroAddress){let f=g._params.amountIn;if(f<=l)throw new Error("Amount in is less than bridge fee");l!==BigInt(0)&&(f-=l),r=contract.toBeHex(g._params.amountIn);const C="swapAndForwardEth",k=[f,p,h,e.mctpInputContract,u,g._params.contractAddress,g.data];return{data:s.interface.encodeFunctionData(C,k),to:addresses_default.MAYAN_FORWARDER_CONTRACT,value:contract.toBeHex(r),chainId:i,_forwarder:{method:C,params:k}}}else{const f="swapAndForwardERC20",C=[e.fromToken.contract,g._params.amountIn,d,p,h,e.mctpInputContract,u,g._params.contractAddress,g.data];return{data:s.interface.encodeFunctionData(f,C),to:addresses_default.MAYAN_FORWARDER_CONTRACT,value:contract.toBeHex(r),chainId:i,_forwarder:{method:f,params:C}}}}}}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,a,i,c=new address.PublicKey(addresses_default.TOKEN_PROGRAM_ID),o=new address.PublicKey(addresses_default.ASSOCIATED_TOKEN_PROGRAM_ID)){const d=[{pubkey:e,isSigner:!0,isWritable:!0},{pubkey:t,isSigner:!1,isWritable:!0},{pubkey:a,isSigner:!1,isWritable:!1},{pubkey:i,isSigner:!1,isWritable:!1},{pubkey:address.SystemProgram.programId,isSigner:!1,isWritable:!1},{pubkey:c,isSigner:!1,isWritable:!1},{pubkey:address.SYSVAR_RENT_PUBKEY,isSigner:!1,isWritable:!1}];return new address.TransactionInstruction({keys:d,programId:o,data:address.bufferPolyfill.Buffer.alloc(0)})}var TOKEN_ACCOUNT_LEN=165;async function createInitializeRandomTokenAccountInstructions(e,t,a,i,c,o=new address.PublicKey(addresses_default.TOKEN_PROGRAM_ID)){const d=[],s=await e.getMinimumBalanceForRentExemption(TOKEN_ACCOUNT_LEN);return d.push(address.SystemProgram.createAccount({fromPubkey:t,newAccountPubkey:c.publicKey,lamports:s,space:TOKEN_ACCOUNT_LEN,programId:o})),d.push(new address.TransactionInstruction({keys:[{pubkey:c.publicKey,isWritable:!0,isSigner:!1},{pubkey:a,isWritable:!1,isSigner:!1},{pubkey:i,isWritable:!1,isSigner:!1},{pubkey:address.SYSVAR_RENT_PUBKEY,isWritable:!1,isSigner:!1}],programId:o,data:address.bufferPolyfill.Buffer.from([1])})),d}var ApproveInstructionData=address.struct([address.u8("instruction"),address.blob(8,"amount")]);function createApproveInstruction(e,t,a,i,c=new address.PublicKey(addresses_default.TOKEN_PROGRAM_ID)){const o=[{pubkey:e,isSigner:!1,isWritable:!0},{pubkey:t,isSigner:!1,isWritable:!1},{pubkey:a,isSigner:!0,isWritable:!1}],d=address.bufferPolyfill.Buffer.alloc(ApproveInstructionData.span);return ApproveInstructionData.encode({instruction:4,amount:getSafeU64Blob(i)},d),new address.TransactionInstruction({keys:o,programId:c,data:d})}var SyncNativeInstructionData=address.struct([address.u8("instruction")]);function createSyncNativeInstruction(e){const t=[{pubkey:e,isSigner:!1,isWritable:!0}],a=address.bufferPolyfill.Buffer.alloc(SyncNativeInstructionData.span);return SyncNativeInstructionData.encode({instruction:17},a),new address.TransactionInstruction({keys:t,programId:new address.PublicKey(addresses_default.TOKEN_PROGRAM_ID),data:a})}address.struct([address.u8("instruction")]);var SplTransferInstructionData=address.struct([address.u8("instruction"),address.blob(8,"amount")]);function createSplTransferInstruction(e,t,a,i,c=new address.PublicKey(addresses_default.TOKEN_PROGRAM_ID)){const o=[{pubkey:e,isSigner:!1,isWritable:!0},{pubkey:t,isSigner:!1,isWritable:!0},{pubkey:a,isSigner:!0,isWritable:!1}],d=address.bufferPolyfill.Buffer.alloc(SplTransferInstructionData.span);return SplTransferInstructionData.encode({instruction:3,amount:getSafeU64Blob(i)},d),new address.TransactionInstruction({keys:o,programId:c,data:d})}var solMint=new address.PublicKey("So11111111111111111111111111111111111111112");function deserializeInstructionInfo(e){return new address.TransactionInstruction({programId:new address.PublicKey(e.programId),keys:e.accounts.map(t=>({pubkey:new address.PublicKey(t.pubkey),isSigner:t.isSigner,isWritable:t.isWritable})),data:address.bufferPolyfill.Buffer.from(e.data,"base64")})}async function getAddressLookupTableAccounts(e,t){return(await t.getMultipleAccountsInfo(e.map(i=>new address.PublicKey(i)))).reduce((i,c,o)=>{const d=e[o];if(c){const s=new address.AddressLookupTableAccount({key:new address.PublicKey(d),state:address.AddressLookupTableAccount.deserialize(c.data)});i.push(s)}return i},new Array)}function decentralizeClientSwapInstructions(e,t){const a=deserializeInstructionInfo(e.swapInstruction),i=e.cleanupInstruction?deserializeInstructionInfo(e.cleanupInstruction):null,c=e.computeBudgetInstructions?e.computeBudgetInstructions.map(deserializeInstructionInfo):[],o=e.setupInstructions?e.setupInstructions.map(deserializeInstructionInfo):[];return{swapInstruction:a,cleanupInstruction:i,computeBudgetInstructions:c,setupInstructions:o,addressLookupTableAddresses:e.addressLookupTableAddresses}}function getAnchorInstructionData(e){let t=`global:${e}`;return address.bufferPolyfill.Buffer.from(sha256Exports.sha256.digest(t)).subarray(0,8)}async function decideRelayer(){let e;try{const t=await getSuggestedRelayer();e=new address.PublicKey(t)}catch{console.log("Relayer not found, using system program"),e=address.SystemProgram.programId}return e}function validateJupCleanupInstruction(e){if(e){if(!e.programId.equals(new address.PublicKey(addresses_default.TOKEN_PROGRAM_ID))&&!e.programId.equals(new address.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(a=>{if(!a.programId.equals(new address.PublicKey(addresses_default.ASSOCIATED_TOKEN_PROGRAM_ID))&&!a.programId.equals(address.SystemProgram.programId)&&!a.programId.equals(new address.PublicKey(addresses_default.TOKEN_PROGRAM_ID))&&!a.programId.equals(new address.PublicKey(addresses_default.TOKEN_2022_PROGRAM_ID)))throw new Error("Invalid setup instruction:: programId");if(a.programId.equals(new address.PublicKey(addresses_default.ASSOCIATED_TOKEN_PROGRAM_ID))){if(Uint8Array.from(a.data).length===1){if(Uint8Array.from(a.data)[0]!==1)throw new Error("Invalid setup instruction:: data")}else if(Uint8Array.from(a.data).length!==0)throw new Error("Invalid setup instruction:: data")}else if(a.programId.equals(address.SystemProgram.programId)){if(!t)throw new Error("Invalid setup instruction:: unknown transfer");const i=getAssociatedTokenAddress(solMint,t,!0);if(a.data.readUint32LE()!==2)throw new Error("Invalid setup instruction:: invalid system program instruction");if(!a.keys[1].pubkey.equals(i))throw new Error("Invalid setup instruction:: invalid wrap transfer dest")}else if(a.data.toString("base64")!=="EQ==")throw new Error("Invalid setup instruction:: invalid token program instruction")})}}function validateJupSwapInstruction(e,t){if(!e.programId.equals(new address.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(address.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,a){validateJupComputeBudgetInstructions(e.computeBudgetInstructions),validateJupSetupInstructions(e.setupInstructions,a),validateJupSwapInstruction(e.swapInstruction,t),validateJupCleanupInstruction(e.cleanupInstruction)}function createTransferAllAndCloseInstruction(e,t,a,i,c,o=new address.PublicKey("TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA")){return new address.TransactionInstruction({keys:[{pubkey:e,isSigner:!0,isWritable:!1},{pubkey:a,isSigner:!1,isWritable:!0},{pubkey:i,isSigner:!1,isWritable:!0},{pubkey:t,isSigner:!1,isWritable:!1},{pubkey:c,isSigner:!1,isWritable:!0},{pubkey:o,isSigner:!1,isWritable:!1}],programId:new address.PublicKey("B96dV3Luxzo6SokJx3xt8i5y8Mb7HRR6Eec8hCjJDT69"),data:getAnchorInstructionData("transfer_all_and_close")})}function getWormholePDAs(e){const t=new address.PublicKey(addresses_default.WORMHOLE_PROGRAM_ID),a=new address.PublicKey(e),[i]=address.PublicKey.findProgramAddressSync([address.bufferPolyfill.Buffer.from("Bridge")],t),[c]=address.PublicKey.findProgramAddressSync([address.bufferPolyfill.Buffer.from("emitter")],a),[o]=address.PublicKey.findProgramAddressSync([address.bufferPolyfill.Buffer.from("Sequence"),c.toBuffer()],t),[d]=address.PublicKey.findProgramAddressSync([address.bufferPolyfill.Buffer.from("fee_collector")],t);return{bridgeConfig:i,sequenceKey:o,feeCollector:d,emitter:c}}var MCTPBridgeWithFeeLayout=address.struct([address.blob(8,"instruction")]);function createMctpBridgeWithFeeInstruction(e,t,a,i,c){const o=new address.PublicKey(addresses_default.WORMHOLE_PROGRAM_ID),d=new address.PublicKey(addresses_default.TOKEN_PROGRAM_ID),s=new address.PublicKey(addresses_default.CCTP_CORE_PROGRAM_ID),l=new address.PublicKey(addresses_default.CCTP_TOKEN_PROGRAM_ID),r=new address.PublicKey(addresses_default.MCTP_PROGRAM_ID),m=new address.PublicKey(i),p=new address.PublicKey(a),h=getAssociatedTokenAddress(p,e,!0);let g;c&&c>BigInt(0)?g=getAssociatedTokenAddress(p,m,!1):g=new address.PublicKey(addresses_default.MCTP_PROGRAM_ID);const u=getCCTPBridgePDAs(p,t),f=getWormholePDAs(addresses_default.MCTP_PROGRAM_ID),C=address.Keypair.generate(),k=address.Keypair.generate(),A=[{pubkey:e,isWritable:!0,isSigner:!1},{pubkey:h,isWritable:!0,isSigner:!1},{pubkey:m,isWritable:!0,isSigner:!0},{pubkey:g,isWritable:!0,isSigner:!1},{pubkey:p,isWritable:!0,isSigner:!1},{pubkey:u.senderAuthority,isWritable:!1,isSigner:!1},{pubkey:u.tokenMessenger,isWritable:!1,isSigner:!1},{pubkey:u.remoteTokenMessengerKey,isWritable:!1,isSigner:!1},{pubkey:u.tokenMinter,isWritable:!1,isSigner:!1},{pubkey:u.localToken,isWritable:!0,isSigner:!1},{pubkey:u.eventAuthToken,isWritable:!1,isSigner:!1},{pubkey:u.messageTransmitter,isWritable:!0,isSigner:!1},{pubkey:C.publicKey,isWritable:!0,isSigner:!0},{pubkey:l,isWritable:!1,isSigner:!1},{pubkey:s,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:k.publicKey,isWritable:!0,isSigner:!0},{pubkey:o,isWritable:!1,isSigner:!1},{pubkey:address.SYSVAR_CLOCK_PUBKEY,isWritable:!1,isSigner:!1},{pubkey:address.SYSVAR_RENT_PUBKEY,isWritable:!1,isSigner:!1},{pubkey:d,isWritable:!1,isSigner:!1},{pubkey:address.SystemProgram.programId,isWritable:!1,isSigner:!1}],P=address.bufferPolyfill.Buffer.alloc(MCTPBridgeWithFeeLayout.span);return MCTPBridgeWithFeeLayout.encode({instruction:getAnchorInstructionData("bridge_with_fee")},P),{instruction:new address.TransactionInstruction({keys:A,data:P,programId:r}),signers:[C,k]}}var MctpBridgeLockFeeLayout=address.struct([address.blob(8,"instruction")]);function createMctpBridgeLockFeeInstruction(e,t,a,i,c){const o=[],d=new address.PublicKey(addresses_default.TOKEN_PROGRAM_ID),s=new address.PublicKey(addresses_default.ASSOCIATED_TOKEN_PROGRAM_ID),l=new address.PublicKey(addresses_default.CCTP_CORE_PROGRAM_ID),r=new address.PublicKey(addresses_default.CCTP_TOKEN_PROGRAM_ID),m=new address.PublicKey(addresses_default.MCTP_PROGRAM_ID),p=new address.PublicKey(i),h=new address.PublicKey(a),g=getAssociatedTokenAddress(h,e,!0),u=getCCTPBridgePDAs(h,t),f=address.Keypair.generate(),[C]=address.PublicKey.findProgramAddressSync([address.bufferPolyfill.Buffer.from("LOCKED_FEE"),h.toBuffer(),f.publicKey.toBytes()],m);let k;c&&c>BigInt(0)?k=getAssociatedTokenAddress(h,p,!1):k=new address.PublicKey(addresses_default.MCTP_PROGRAM_ID);const A=getAssociatedTokenAddress(h,C,!0);o.push(createAssociatedTokenAccountInstruction(p,A,C,h));const P=[{pubkey:e,isWritable:!0,isSigner:!1},{pubkey:g,isWritable:!0,isSigner:!1},{pubkey:p,isWritable:!0,isSigner:!0},{pubkey:k,isWritable:!0,isSigner:!1},{pubkey:C,isWritable:!0,isSigner:!1},{pubkey:A,isWritable:!0,isSigner:!1},{pubkey:h,isWritable:!0,isSigner:!1},{pubkey:u.senderAuthority,isWritable:!1,isSigner:!1},{pubkey:u.tokenMessenger,isWritable:!1,isSigner:!1},{pubkey:u.remoteTokenMessengerKey,isWritable:!1,isSigner:!1},{pubkey:u.tokenMinter,isWritable:!1,isSigner:!1},{pubkey:u.localToken,isWritable:!0,isSigner:!1},{pubkey:u.eventAuthToken,isWritable:!1,isSigner:!1},{pubkey:u.messageTransmitter,isWritable:!0,isSigner:!1},{pubkey:f.publicKey,isWritable:!0,isSigner:!0},{pubkey:r,isWritable:!1,isSigner:!1},{pubkey:l,isWritable:!1,isSigner:!1},{pubkey:d,isWritable:!1,isSigner:!1},{pubkey:s,isWritable:!1,isSigner:!1},{pubkey:address.SystemProgram.programId,isWritable:!1,isSigner:!1}],U=address.bufferPolyfill.Buffer.alloc(MctpBridgeLockFeeLayout.span);MctpBridgeLockFeeLayout.encode({instruction:getAnchorInstructionData("bridge_locked_fee")},U);const R=new address.TransactionInstruction({keys:P,data:U,programId:m});return o.push(R),{instructions:o,signer:f}}var MctpInitSwapLayout=address.struct([address.blob(8,"instruction")]);function createMctpInitSwapInstruction(e,t,a,i,c){const o=new address.PublicKey(addresses_default.TOKEN_PROGRAM_ID),d=new address.PublicKey(addresses_default.CCTP_CORE_PROGRAM_ID),s=new address.PublicKey(addresses_default.CCTP_TOKEN_PROGRAM_ID),l=new address.PublicKey(addresses_default.MCTP_PROGRAM_ID),r=new address.PublicKey(i),m=new address.PublicKey(a),p=getAssociatedTokenAddress(m,e,!0),h=getCCTPBridgePDAs(m,t),g=address.Keypair.generate(),[u]=address.PublicKey.findProgramAddressSync([address.bufferPolyfill.Buffer.from("ORDER_SOLANA_SOURCE"),e.toBuffer()],l);let f;c&&c>BigInt(0)?f=getAssociatedTokenAddress(m,r,!1):f=new address.PublicKey(addresses_default.MCTP_PROGRAM_ID);const C=[{pubkey:e,isWritable:!1,isSigner:!1},{pubkey:p,isWritable:!0,isSigner:!1},{pubkey:r,isWritable:!0,isSigner:!0},{pubkey:f,isWritable:!0,isSigner:!1},{pubkey:m,isWritable:!0,isSigner:!1},{pubkey:u,isWritable:!0,isSigner:!1},{pubkey:h.senderAuthority,isWritable:!1,isSigner:!1},{pubkey:h.tokenMessenger,isWritable:!1,isSigner:!1},{pubkey:h.remoteTokenMessengerKey,isWritable:!1,isSigner:!1},{pubkey:h.tokenMinter,isWritable:!1,isSigner:!1},{pubkey:h.localToken,isWritable:!0,isSigner:!1},{pubkey:h.eventAuthToken,isWritable:!1,isSigner:!1},{pubkey:h.messageTransmitter,isWritable:!0,isSigner:!1},{pubkey:g.publicKey,isWritable:!0,isSigner:!0},{pubkey:s,isWritable:!1,isSigner:!1},{pubkey:d,isWritable:!1,isSigner:!1},{pubkey:new address.PublicKey(addresses_default.FEE_MANAGER_PROGRAM_ID),isWritable:!1,isSigner:!1},{pubkey:o,isWritable:!1,isSigner:!1},{pubkey:address.SystemProgram.programId,isWritable:!1,isSigner:!1}],k=address.bufferPolyfill.Buffer.alloc(MctpInitSwapLayout.span);return MctpInitSwapLayout.encode({instruction:getAnchorInstructionData("create_order")},k),{instruction:new address.TransactionInstruction({keys:C,data:k,programId:l}),signer:g}}var MctpBridgeLedgerLayout=address.struct([address.blob(8,"instruction"),address.blob(32,"destAddress"),address.blob(8,"amountInMin"),address.blob(8,"gasDrop"),address.blob(8,"feeRedeem"),address.blob(8,"feeSolana"),address.u16("destinationChain"),address.blob(32,"keyRnd"),address.u8("mode")]);function createMctpBridgeLedgerInstruction(e){if(e.mode!=="WITH_FEE"&&e.mode!=="LOCK_FEE")throw new Error("Invalid mode: "+e.mode);const t=new address.PublicKey(e.swapperAddress),a=new address.PublicKey(e.mintAddress),i=getAssociatedTokenAddress(a,e.ledger,!0),c=getWormholeChainIdByName(e.toChain),o=address.bufferPolyfill.Buffer.from(hexToUint8Array(nativeAddressToHexString(e.destinationAddress,c))),d=getSafeU64Blob(e.amountInMin64),s=getSafeU64Blob(getAmountOfFractionalAmount(e.gasDrop,Math.min(getGasDecimal(e.toChain),8))),l=getSafeU64Blob(getAmountOfFractionalAmount(e.feeRedeem,CCTP_TOKEN_DECIMALS)),r=getSafeU64Blob(e.feeSolana),m=e.referrerAddress?address.bufferPolyfill.Buffer.from(hexToUint8Array(nativeAddressToHexString(e.referrerAddress,c))):address.SystemProgram.programId.toBuffer(),p=[{pubkey:t,isWritable:!0,isSigner:!0},{pubkey:e.ledger,isWritable:!0,isSigner:!1},{pubkey:i,isWritable:!1,isSigner:!1},{pubkey:e.customPayload||new address.PublicKey(addresses_default.MCTP_PROGRAM_ID),isWritable:!1,isSigner:!1},{pubkey:a,isWritable:!1,isSigner:!1},{pubkey:address.SystemProgram.programId,isWritable:!1,isSigner:!1},{pubkey:new address.PublicKey(m),isWritable:!1,isSigner:!1}],h=address.bufferPolyfill.Buffer.alloc(MctpBridgeLedgerLayout.span);return MctpBridgeLedgerLayout.encode({instruction:getAnchorInstructionData("init_bridge_ledger"),destAddress:o,amountInMin:d,gasDrop:s,feeRedeem:l,feeSolana:r,destinationChain:c,keyRnd:e.randomKey.toBuffer(),mode:e.mode==="WITH_FEE"?1:2},h),new address.TransactionInstruction({keys:p,data:h,programId:new address.PublicKey(addresses_default.MCTP_PROGRAM_ID)})}var MctpSwapLedgerLayout=address.struct([address.blob(8,"instruction"),address.blob(32,"destAddress"),address.blob(8,"amountInMin"),address.blob(8,"gasDrop"),address.blob(8,"feeRedeem"),address.blob(8,"feeSolana"),address.u16("destinationChain"),address.blob(32,"keyRnd"),address.u8("mode"),address.blob(32,"tokenOut"),address.blob(8,"amountOutMin"),address.blob(8,"deadline"),address.blob(32,"refAddress"),address.u8("feeRateRef")]);function createMctpSwapLedgerInstruction(e){const t=new address.PublicKey(e.swapperAddress),a=new address.PublicKey(e.mintAddress),i=getAssociatedTokenAddress(a,e.ledger,!0),c=getWormholeChainIdByName(e.toChain),o=address.bufferPolyfill.Buffer.from(hexToUint8Array(nativeAddressToHexString(e.destinationAddress,c))),d=getSafeU64Blob(e.amountInMin64),s=getSafeU64Blob(getAmountOfFractionalAmount(e.gasDrop,Math.min(getGasDecimal(e.toChain),8))),l=getSafeU64Blob(getAmountOfFractionalAmount(e.feeRedeem,CCTP_TOKEN_DECIMALS)),r=getSafeU64Blob(e.feeSolana),m=address.bufferPolyfill.Buffer.from(hexToUint8Array(nativeAddressToHexString(e.tokenOut,c))),p=e.referrerAddress?address.bufferPolyfill.Buffer.from(hexToUint8Array(nativeAddressToHexString(e.referrerAddress,c))):address.SystemProgram.programId.toBuffer(),h=getSafeU64Blob(getAmountOfFractionalAmount(e.amountOutMin,Math.min(8,e.tokenOutDecimals))),g=getSafeU64Blob(e.deadline),u=[{pubkey:t,isWritable:!0,isSigner:!0},{pubkey:e.ledger,isWritable:!0,isSigner:!1},{pubkey:i,isWritable:!1,isSigner:!1},{pubkey:a,isWritable:!1,isSigner:!1},{pubkey:address.SystemProgram.programId,isWritable:!1,isSigner:!1}],f=address.bufferPolyfill.Buffer.alloc(MctpSwapLedgerLayout.span);return MctpSwapLedgerLayout.encode({instruction:getAnchorInstructionData("init_order_ledger"),destAddress:o,amountInMin:d,gasDrop:s,feeRedeem:l,feeSolana:r,destinationChain:c,keyRnd:e.randomKey.toBuffer(),mode:3,tokenOut:m,refAddress:p,amountOutMin:h,deadline:g,feeRateRef:e.feeRateRef},f),new address.TransactionInstruction({keys:u,data:f,programId:new address.PublicKey(addresses_default.MCTP_PROGRAM_ID)})}async function createMctpFromSolanaInstructions(e,t,a,i,c,o={}){const d=(o==null?void 0:o.forceSkipCctpInstructions)||!1,s=(o==null?void 0:o.allowSwapperOffCurve)||!1;if(e.toChain==="solana")throw new Error("Unsupported destination chain: "+e.toChain);let l=[],r=[],m=[],p=[],h=[],g=[],u=[];const f=address.Keypair.generate();let C=null;l.push(addresses_default.LOOKUP_TABLE);const k=new address.PublicKey(addresses_default.MCTP_PROGRAM_ID),A=new address.PublicKey(t),P=address.Keypair.generate(),U=e.deadline64?BigInt(e.deadline64):BigInt(0);if(e.hasAuction&&!Number(e.deadline64))throw new Error("Swap mode requires a timeout");const R=e.hasAuction?"LEDGER_ORDER":"LEDGER_BRIDGE",[D]=address.PublicKey.findProgramAddressSync([address.bufferPolyfill.Buffer.from(R),A.toBytes(),P.publicKey.toBytes()],k),B=getAssociatedTokenAddress(new address.PublicKey(e.mctpInputContract),D,!0),M=e.cheaperChain==="solana"?"LOCK_FEE":"WITH_FEE",G=e.toChain==="sui"?e.toToken.verifiedAddress:e.toToken.contract;if(e.fromToken.contract===e.mctpInputContract){const F=BigInt(d?e.solanaRelayerFee64:0);if(e.suggestedPriorityFee>0&&r.push(address.ComputeBudgetProgram.setComputeUnitPrice({microLamports:e.suggestedPriorityFee})),r.push(createAssociatedTokenAccountInstruction(A,B,D,new address.PublicKey(e.mctpInputContract))),r.push(createSplTransferInstruction(getAssociatedTokenAddress(new address.PublicKey(e.mctpInputContract),A,s),B,A,BigInt(e.effectiveAmountIn64))),e.hasAuction){if(r.push(createMctpSwapLedgerInstruction({ledger:D,swapperAddress:t,mintAddress:e.mctpInputContract,randomKey:P.publicKey,toChain:e.toChain,destinationAddress:a,feeSolana:F,feeRedeem:e.redeemRelayerFee,gasDrop:e.gasDrop,amountInMin64:BigInt(e.effectiveAmountIn64),tokenOut:G,tokenOutDecimals:e.toToken.decimals,referrerAddress:i,amountOutMin:e.minAmountOut,deadline:U,feeRateRef:e.referrerBps})),!d){const{instruction:O,signer:X}=createMctpInitSwapInstruction(D,e.toChain,e.mctpInputContract,t,F);r.push(O),m.push(X)}}else if(r.push(createMctpBridgeLedgerInstruction({ledger:D,swapperAddress:t,mintAddress:e.mctpInputContract,randomKey:P.publicKey,toChain:e.toChain,destinationAddress:a,feeSolana:F,feeRedeem:e.redeemRelayerFee,gasDrop:e.gasDrop,amountInMin64:BigInt(e.effectiveAmountIn64),mode:M,referrerAddress:i})),!d)if(M==="WITH_FEE"){const{instruction:O,signers:X}=createMctpBridgeWithFeeInstruction(D,e.toChain,e.mctpInputContract,t,F);r.push(O),m.push(...X)}else{const{instructions:O,signer:X}=createMctpBridgeLockFeeInstruction(D,e.toChain,e.mctpInputContract,t,F);r.push(...O),m.push(X)}}else{const F=await getSwapSolana({minMiddleAmount:e.minMiddleAmount,middleToken:e.mctpInputContract,userWallet:t,userLedger:D.toString(),slippageBps:e.slippageBps,fromToken:e.fromToken.contract,amountIn64:e.effectiveAmountIn64,depositMode:e.hasAuction?"SWAP":M,fillMaxAccounts:(o==null?void 0:o.separateSwapTx)||!1,tpmTokenAccount:o!=null&&o.separateSwapTx?f.publicKey.toString():null}),O=decentralizeClientSwapInstructions(F);o!=null&&o.separateSwapTx&&F.maxAccountsFilled?(validateJupSwap(O,f.publicKey,A),u=await createInitializeRandomTokenAccountInstructions(c,A,new address.PublicKey(e.mctpInputContract),A,f),g.push(...O.computeBudgetInstructions),O.setupInstructions&&g.push(...O.setupInstructions),g.push(O.swapInstruction),O.cleanupInstruction&&g.push(O.cleanupInstruction),h.push(...O.addressLookupTableAddresses),r.push(createAssociatedTokenAccountInstruction(A,B,D,new address.PublicKey(e.mctpInputContract))),r.push(createTransferAllAndCloseInstruction(A,new address.PublicKey(e.mctpInputContract),f.publicKey,B,A))):(validateJupSwap(O,B,A),r.push(...O.computeBudgetInstructions),O.setupInstructions&&r.push(...O.setupInstructions),r.push(O.swapInstruction),O.cleanupInstruction&&r.push(O.cleanupInstruction),l.push(...O.addressLookupTableAddresses));const X=g.length>0?BigInt(0):BigInt(e.solanaRelayerFee64);if(e.hasAuction){if(r.push(createMctpSwapLedgerInstruction({ledger:D,swapperAddress:t,mintAddress:e.mctpInputContract,randomKey:P.publicKey,toChain:e.toChain,destinationAddress:a,feeSolana:X,feeRedeem:e.redeemRelayerFee,gasDrop:e.gasDrop,amountInMin64:getAmountOfFractionalAmount(e.minMiddleAmount,CCTP_TOKEN_DECIMALS),tokenOut:G,tokenOutDecimals:e.toToken.decimals,referrerAddress:i,amountOutMin:e.minAmountOut,deadline:U,feeRateRef:e.referrerBps})),g.length>0){const{instruction:L,signer:H}=createMctpInitSwapInstruction(D,e.toChain,e.mctpInputContract,t,X);r.push(L),m.push(H)}}else if(r.push(createMctpBridgeLedgerInstruction({ledger:D,swapperAddress:t,mintAddress:e.mctpInputContract,randomKey:P.publicKey,toChain:e.toChain,destinationAddress:a,feeSolana:X,feeRedeem:e.redeemRelayerFee,gasDrop:e.gasDrop,amountInMin64:getAmountOfFractionalAmount(e.minMiddleAmount,CCTP_TOKEN_DECIMALS),mode:M,referrerAddress:i})),g.length>0)if(M==="WITH_FEE"){const{instruction:L,signers:H}=createMctpBridgeWithFeeInstruction(D,e.toChain,e.mctpInputContract,t,X);r.push(L),m.push(...H)}else{const{instructions:L,signer:H}=createMctpBridgeLockFeeInstruction(D,e.toChain,e.mctpInputContract,t,X);r.push(...L),m.push(H)}}const Y=await getAddressLookupTableAccounts(l.concat(h),c);if(p=Y.slice(0,l.length),g.length>0){const F=Y.slice(l.length);C={messageV0:{payerKey:A,instructions:g,addressLookupTableAccounts:F},createTmpTokenAccountIxs:u,tmpTokenAccount:f}}return{instructions:r,signers:m,lookupTables:p,swapMessageV0Params:C}}function createSwiftOrderHash(e,t,a,i,c){const d=address.bufferPolyfill.Buffer.alloc(239);let s=0;const l=getWormholeChainIdByName(e.fromChain),r=address.bufferPolyfill.Buffer.from(hexToUint8Array(nativeAddressToHexString(t,l)));d.set(r,0),s+=32,d.writeUInt16BE(l,s),s+=2;const m=e.swiftInputContract===providerJsonrpc.ZeroAddress?nativeAddressToHexString(address.SystemProgram.programId.toString(),getWormholeChainIdByName("solana")):nativeAddressToHexString(e.swiftInputContract,l),p=address.bufferPolyfill.Buffer.from(hexToUint8Array(m));d.set(p,s),s+=32;const h=getWormholeChainIdByName(e.toChain),g=address.bufferPolyfill.Buffer.from(hexToUint8Array(nativeAddressToHexString(a,h)));d.set(g,s),s+=32,d.writeUInt16BE(h,s),s+=2;const u=e.toToken.contract===providerJsonrpc.ZeroAddress?nativeAddressToHexString(address.SystemProgram.programId.toString(),getWormholeChainIdByName("solana")):nativeAddressToHexString(e.toToken.contract,h),f=address.bufferPolyfill.Buffer.from(hexToUint8Array(u));d.set(f,s),s+=32,d.writeBigUInt64BE(getAmountOfFractionalAmount(e.minAmountOut,Math.min(e.toToken.decimals,8)),s),s+=8,d.writeBigUInt64BE(getAmountOfFractionalAmount(e.gasDrop,Math.min(getGasDecimal(e.toChain),8)),s),s+=8,d.writeBigUInt64BE(BigInt(e.cancelRelayerFee64),s),s+=8,d.writeBigUInt64BE(BigInt(e.refundRelayerFee64),s),s+=8,d.writeBigUInt64BE(BigInt(e.deadline64),s),s+=8;const C=i?address.bufferPolyfill.Buffer.from(hexToUint8Array(nativeAddressToHexString(i,h))):address.SystemProgram.programId.toBuffer();d.set(C,s),s+=32,d.writeUInt8(e.referrerBps,s),s+=1;const k=e.protocolBps;d.writeUInt8(k,s),s+=1,d.writeUInt8(e.swiftAuctionMode,s),s+=1;const A=address.bufferPolyfill.Buffer.from(hexToUint8Array(c));if(d.set(A,s),s+=32,s!==239)throw new Error(`Invalid order data size: ${s}`);const P=address.keccak256(d);return address.bufferPolyfill.Buffer.from(hexToUint8Array(P))}var InitSwiftLayout=address.struct([address.blob(8,"instruction"),address.blob(8,"amountInMin"),address.u8("nativeInput"),address.blob(8,"feeSubmit"),address.blob(32,"destAddress"),address.u16("destinationChain"),address.blob(32,"tokenOut"),address.blob(8,"amountOutMin"),address.blob(8,"gasDrop"),address.blob(8,"feeCancel"),address.blob(8,"feeRefund"),address.blob(8,"deadline"),address.blob(32,"refAddress"),address.u8("feeRateRef"),address.u8("feeRateMayan"),address.u8("auctionMode"),address.blob(32,"randomKey")]);function createSwiftInitInstruction(e){const{quote:t}=e,a=t.swiftInputContract===providerJsonrpc.ZeroAddress?solMint:new address.PublicKey(t.swiftInputContract),i=getWormholeChainIdByName(t.toChain);if(i!==t.toToken.wChainId)throw new Error(`Destination chain ID mismatch: ${i} != ${t.toToken.wChainId}`);const c=[{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:a,isWritable:!1,isSigner:!1},{pubkey:new address.PublicKey(addresses_default.FEE_MANAGER_PROGRAM_ID),isWritable:!1,isSigner:!1},{pubkey:new address.PublicKey(addresses_default.TOKEN_PROGRAM_ID),isWritable:!1,isSigner:!1},{pubkey:address.SystemProgram.programId,isWritable:!1,isSigner:!1}],o=address.bufferPolyfill.Buffer.alloc(InitSwiftLayout.span),d=e.referrerAddress?address.bufferPolyfill.Buffer.from(hexToUint8Array(nativeAddressToHexString(e.referrerAddress,i))):address.SystemProgram.programId.toBuffer(),s=t.fromToken.contract===t.swiftInputContract?BigInt(t.effectiveAmountIn64):getAmountOfFractionalAmount(t.minMiddleAmount,t.swiftInputDecimals);return InitSwiftLayout.encode({instruction:getAnchorInstructionData("init_order"),amountInMin:getSafeU64Blob(s),nativeInput:t.swiftInputContract===providerJsonrpc.ZeroAddress?1:0,feeSubmit:getSafeU64Blob(BigInt(t.submitRelayerFee64)),destAddress:address.bufferPolyfill.Buffer.from(hexToUint8Array(nativeAddressToHexString(e.destinationAddress,i))),destinationChain:i,tokenOut:address.bufferPolyfill.Buffer.from(hexToUint8Array(nativeAddressToHexString(t.toToken.contract,i))),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:d,feeRateRef:t.referrerBps,feeRateMayan:t.protocolBps,auctionMode:t.swiftAuctionMode,randomKey:e.randomKey.toBuffer()},o),new address.TransactionInstruction({keys:c,data:o,programId:new address.PublicKey(addresses_default.SWIFT_PROGRAM_ID)})}async function createSwiftFromSolanaInstructions(e,t,a,i,c,o={}){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 d=o.allowSwapperOffCurve||!1;let s=[],l=[],r=[];r.push(addresses_default.LOOKUP_TABLE);let m=[],p=[],h=[];const g=address.Keypair.generate();let u=null;const f=new address.PublicKey(addresses_default.SWIFT_PROGRAM_ID),C=new address.PublicKey(t),k=address.Keypair.generate();if(!Number(e.deadline64))throw new Error("Swift mode requires a timeout");const A=BigInt(e.deadline64),P=createSwiftOrderHash(e,t,a,i,k.publicKey.toBuffer().toString("hex")),[U]=address.PublicKey.findProgramAddressSync([address.bufferPolyfill.Buffer.from("STATE_SOURCE"),P],f),R=e.swiftInputContract===providerJsonrpc.ZeroAddress?solMint:new address.PublicKey(e.swiftInputContract),D=getAssociatedTokenAddress(R,U,!0),B=e.gasless?new address.PublicKey(e.relayer):C,M=getAssociatedTokenAddress(R,B,!1);if(e.fromToken.contract===e.swiftInputContract)e.suggestedPriorityFee>0&&s.push(address.ComputeBudgetProgram.setComputeUnitPrice({microLamports:e.suggestedPriorityFee})),s.push(createAssociatedTokenAccountInstruction(B,D,U,R)),e.swiftInputContract===providerJsonrpc.ZeroAddress?s.push(address.SystemProgram.transfer({fromPubkey:C,toPubkey:D,lamports:BigInt(e.effectiveAmountIn64)}),createSyncNativeInstruction(D)):s.push(createSplTransferInstruction(getAssociatedTokenAddress(R,C,d),D,C,BigInt(e.effectiveAmountIn64)));else{const Y=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${P.toString("hex")}`,fillMaxAccounts:(o==null?void 0:o.separateSwapTx)||!1,tpmTokenAccount:o!=null&&o.separateSwapTx?g.publicKey.toString():null}),F=decentralizeClientSwapInstructions(Y);o!=null&&o.separateSwapTx&&Y.maxAccountsFilled?(validateJupSwap(F,g.publicKey,C),h=await createInitializeRandomTokenAccountInstructions(c,B,R,C,g),p.push(...F.computeBudgetInstructions),F.setupInstructions&&p.push(...F.setupInstructions),p.push(F.swapInstruction),F.cleanupInstruction&&p.push(F.cleanupInstruction),m.push(...F.addressLookupTableAddresses),s.push(createAssociatedTokenAccountInstruction(B,D,U,R)),s.push(createTransferAllAndCloseInstruction(C,R,g.publicKey,D,B))):(s.push(...F.computeBudgetInstructions),F.setupInstructions&&s.push(...F.setupInstructions),s.push(F.swapInstruction),F.cleanupInstruction&&s.push(F.cleanupInstruction),r.push(...F.addressLookupTableAddresses))}s.push(createSwiftInitInstruction({quote:e,state:U,trader:C,stateAccount:D,randomKey:k.publicKey,relayerAccount:M,relayer:B,destinationAddress:a,deadline:A,referrerAddress:i}));const G=await getAddressLookupTableAccounts(r.concat(m),c);if(l=G.slice(0,r.length),p.length>0){const Y=G.slice(r.length);u={messageV0:{payerKey:B,instructions:p,addressLookupTableAccounts:Y},createTmpTokenAccountIxs:h,tmpTokenAccount:g}}return{instructions:s,signers:[],lookupTables:l,swapMessageV0Params:u}}var STATE_SIZE=420,SwapLayout=address.struct([address.u8("instruction"),address.u8("stateNonce"),address.blob(8,"amount"),address.blob(8,"minAmountOut"),address.blob(8,"deadline"),address.blob(8,"feeSwap"),address.blob(8,"feeReturn"),address.blob(8,"feeCancel"),address.blob(8,"gasDrop"),address.u16("destinationChain"),address.blob(32,"destinationAddress"),address.u8("unwrapRedeem"),address.u8("unwrapRefund"),address.u8("mayanFeeNonce"),address.u8("referrerFeeNonce")]);async function createSwapFromSolanaInstructions(e,t,a,i,c,o={}){const d=getQuoteSuitableReferrerAddress(e,i);if(e.type==="MCTP")return createMctpFromSolanaInstructions(e,t,a,d,c,o);if(e.type==="SWIFT")return createSwiftFromSolanaInstructions(e,t,a,d,c,o);let s=[];const l=c??new address.Connection("https://rpc.ankr.com/solana"),r=new address.PublicKey(addresses_default.MAYAN_PROGRAM_ID),m=new address.PublicKey(addresses_default.TOKEN_PROGRAM_ID),p=new address.PublicKey(t),h=new address.PublicKey(addresses_default.AUCTION_PROGRAM_ID);e.suggestedPriorityFee>0&&s.push(address.ComputeBudgetProgram.setComputeUnitPrice({microLamports:e.suggestedPriorityFee}));let g;d?g=new address.PublicKey(d):g=address.SystemProgram.programId;const[u,f]=address.PublicKey.findProgramAddressSync([address.bufferPolyfill.Buffer.from("MAYANFEE")],r),[C,k]=address.PublicKey.findProgramAddressSync([address.bufferPolyfill.Buffer.from("REFERRERFEE"),g.toBuffer()],r),A=address.Keypair.generate(),P=address.Keypair.generate(),[U,R]=address.PublicKey.findProgramAddressSync([address.bufferPolyfill.Buffer.from("V2STATE"),address.bufferPolyfill.Buffer.from(A.publicKey.toBytes()),address.bufferPolyfill.Buffer.from(P.publicKey.toBytes())],r),D=new address.PublicKey(e.fromToken.mint),B=new address.PublicKey(e.toToken.mint),M=getAssociatedTokenAddress(D,p),G=getAssociatedTokenAddress(D,U,!0),[[Y,F],O,X]=await Promise.all([l.getMultipleAccountsInfo([M,G],"finalized"),l.getMinimumBalanceForRentExemption(STATE_SIZE),decideRelayer()]);(!Y||Y.data.length===0)&&s.push(createAssociatedTokenAccountInstruction(p,M,p,D)),(!F||F.data.length===0)&&s.push(createAssociatedTokenAccountInstruction(p,G,U,D)),e.fromToken.contract===providerJsonrpc.ZeroAddress&&(s.push(address.SystemProgram.transfer({fromPubkey:p,toPubkey:M,lamports:BigInt(e.effectiveAmountIn64)})),s.push(createSyncNativeInstruction(M)));const L=BigInt(e.effectiveAmountIn64),H=address.Keypair.generate();s.push(createApproveInstruction(M,H.publicKey,p,L)),s.push(address.SystemProgram.transfer({fromPubkey:p,toPubkey:H.publicKey,lamports:O}));const _=[{pubkey:H.publicKey,isWritable:!1,isSigner:!0},{pubkey:A.publicKey,isWritable:!1,isSigner:!0},{pubkey:P.publicKey,isWritable:!1,isSigner:!0},{pubkey:U,isWritable:!0,isSigner:!1},{pubkey:M,isWritable:!0,isSigner:!1},{pubkey:p,isWritable:!1,isSigner:!1},{pubkey:G,isWritable:!0,isSigner:!1},{pubkey:D,isWritable:!1,isSigner:!1},{pubkey:B,isWritable:!1,isSigner:!1},{pubkey:h,isWritable:!1,isSigner:!1},{pubkey:g,isWritable:!1,isSigner:!1},{pubkey:u,isWritable:!1,isSigner:!1},{pubkey:C,isWritable:!1,isSigner:!1},{pubkey:H.publicKey,isWritable:!0,isSigner:!0},{pubkey:X,isWritable:!1,isSigner:!1},{pubkey:address.SYSVAR_CLOCK_PUBKEY,isWritable:!1,isSigner:!1},{pubkey:address.SYSVAR_RENT_PUBKEY,isWritable:!1,isSigner:!1},{pubkey:m,isWritable:!1,isSigner:!1},{pubkey:address.SystemProgram.programId,isWritable:!1,isSigner:!1}],z=getWormholeChainIdByName(e.toChain);if(z===1){const w=await l.getAccountInfo(new address.PublicKey(a));if(w&&w.owner&&w.owner.equals(m))throw new Error("Destination address is not about token account. It should be a owner address")}const J=address.bufferPolyfill.Buffer.from(hexToUint8Array(nativeAddressToHexString(a,z))),V=getAmountOfFractionalAmount(e.minAmountOut,e.mintDecimals.to),Z=getAmountOfFractionalAmount(e.swapRelayerFee,e.mintDecimals.from),$=getAmountOfFractionalAmount(e.redeemRelayerFee,e.mintDecimals.to),v=getAmountOfFractionalAmount(e.refundRelayerFee,e.mintDecimals.from),q=getAmountOfFractionalAmount(e.gasDrop,getGasDecimalsInSolana(e.toChain)),Q=e.toToken.contract===providerJsonrpc.ZeroAddress,n=e.fromToken.contract===providerJsonrpc.ZeroAddress;if(!Number(e.deadline64))throw new Error("Deadline is not valid");const y=BigInt(e.deadline64),I=address.bufferPolyfill.Buffer.alloc(SwapLayout.span),b={instruction:101,stateNonce:R,amount:getSafeU64Blob(L),minAmountOut:getSafeU64Blob(V),deadline:getSafeU64Blob(y),feeSwap:getSafeU64Blob(Z),feeReturn:getSafeU64Blob($),feeCancel:getSafeU64Blob(v),gasDrop:getSafeU64Blob(q),destinationChain:z,destinationAddress:J,unwrapRedeem:Q?1:0,unwrapRefund:n?1:0,mayanFeeNonce:f,referrerFeeNonce:k};SwapLayout.encode(b,I);const T=new address.TransactionInstruction({keys:_,data:I,programId:r});return s.push(T),{instructions:s,signers:[H,A,P],lookupTables:[],swapMessageV0Params:null}}function getEvmSwiftParams(e,t,a,i,c){const o=getWormholeChainIdById(Number(c)),d=getWormholeChainIdByName(e.fromChain),s=getWormholeChainIdByName(e.toChain);if(d!==o)throw new Error(`Signer chain id(${Number(c)}) and quote from chain are not same! ${d} !== ${o}`);if(!e.swiftMayanContract)throw new Error("SWIFT contract address is missing");if(e.toToken.wChainId!==s)throw new Error(`Destination chain ID mismatch: ${s} != ${e.toToken.wChainId}`);const l=e.swiftMayanContract;if(!Number(e.deadline64))throw new Error("Swift order requires timeout");const r=BigInt(e.deadline64),m=e.swiftInputContract,p=BigInt(e.effectiveAmountIn64);let h;i?h=nativeAddressToHexString(i,s):h=nativeAddressToHexString(address.SystemProgram.programId.toString(),1);const g=nativeAddressToHexString(address.Keypair.generate().publicKey.toString(),1),u=e.toToken.contract===providerJsonrpc.ZeroAddress?nativeAddressToHexString(address.SystemProgram.programId.toString(),1):nativeAddressToHexString(e.toToken.contract,s),f=getAmountOfFractionalAmount(e.minAmountOut,Math.min(8,e.toToken.decimals)),C=getAmountOfFractionalAmount(e.gasDrop,Math.min(8,getGasDecimal(e.toChain))),k=nativeAddressToHexString(a,s),A={trader:nativeAddressToHexString(t,d),tokenOut:u,minAmountOut:f,gasDrop:C,cancelFee:BigInt(e.cancelRelayerFee64),refundFee:BigInt(e.refundRelayerFee64),deadline:r,destAddr:k,destChainId:s,referrerAddr:h,referrerBps:e.referrerBps||0,auctionMode:e.swiftAuctionMode,random:g};return{contractAddress:l,tokenIn:m,amountIn:p,order:A}}function getSwiftFromEvmTxPayload(e,t,a,i,c,o){if(e.type!=="SWIFT")throw new Error("Quote type is not SWIFT");if(!Number.isFinite(Number(c)))throw new Error("Invalid signer chain id");if(!Number(e.deadline64))throw new Error("Swift order requires timeout");c=Number(c);const d=ZeroPermit,s=new contract.Contract(addresses_default.MAYAN_FORWARDER_CONTRACT,MayanForwarderArtifact_default.abi),{tokenIn:l,amountIn:r,order:m,contractAddress:p}=getEvmSwiftParams(e,t,a,i,c);let h;const g=new contract.Contract(p,MayanSwiftArtifact_default.abi);e.swiftInputContract===providerJsonrpc.ZeroAddress?h=g.interface.encodeFunctionData("createOrderWithEth",[m]):h=g.interface.encodeFunctionData("createOrderWithToken",[l,r,m]);let u,f,C;if(e.fromToken.contract===e.swiftInputContract)e.fromToken.contract===providerJsonrpc.ZeroAddress?(u="forwardEth",f=[p,h],C=contract.toBeHex(r)):(u="forwardERC20",f=[l,r,d,p,h],C=contract.toBeHex(0));else{const{evmSwapRouterAddress:A,evmSwapRouterCalldata:P}=e;if(!e.minMiddleAmount||!A||!P)throw new Error("Swift swap requires middle amount, router address and calldata");const U=e.fromToken.contract,R=getAmountOfFractionalAmount(e.minMiddleAmount,e.swiftInputDecimals);e.fromToken.contract===providerJsonrpc.ZeroAddress?(u="swapAndForwardEth",f=[r,A,P,e.swiftInputContract,R,p,h],C=contract.toBeHex(r)):(u="swapAndForwardERC20",f=[U,r,d,A,P,e.swiftInputContract,R,p,h],C=contract.toBeHex(0))}return{data:s.interface.encodeFunctionData(u,f),to:addresses_default.MAYAN_FORWARDER_CONTRACT,value:C,chainId:c,_forwarder:{method:u,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 a=address.bufferPolyfill.Buffer.alloc(16);for(let i=15;i>=0;i--)a[i]=Number(e&0xFFn),e>>=8n;return a}function getShuttleParams(e,t,a){const{shuttleParams:i}=e;if(!i)throw new Error("Swap layer params are missing in quote response");const c=getWormholeChainIdById(Number(a)),o=getWormholeChainIdByName(e.fromChain),d=getWormholeChainIdByName(e.toChain);if(o!==c)throw new Error(`Signer chain id(${Number(a)}) and quote from chain are not same! ${o} !== ${c}`);let s=[];s.push(shuttleConstants.FAST_MODE_FLAG);const l=address.bufferPolyfill.Buffer.alloc(8);l.writeBigUInt64BE(BigInt(i.maxLLFee));const r=l.subarray(2);s.push(...r);const m=address.bufferPolyfill.Buffer.alloc(4);m.writeUInt32BE(i.fastTransferDeadline),s.push(...m),s.push(shuttleConstants.RELAY_REDEEM_MODE);const p=getAmountOfFractionalAmount(e.gasDrop,Math.min(6,getGasDecimal(e.toChain))),h=address.bufferPolyfill.Buffer.alloc(8);h.writeBigUInt64BE(p);const g=h.subarray(4);s.push(...g);const u=address.bufferPolyfill.Buffer.alloc(8);u.writeBigUInt64BE(BigInt(i.maxRelayingFee));const f=u.subarray(2);s.push(...f),s.push(shuttleConstants.EXACT_IN_FLAG),s.push(shuttleConstants.USDC_INPUT_TOKEN_TYPE);const C=BigInt(e.effectiveAmountIn64);if(e.fromToken.contract===e.shuttleInputContract){s.push(...Array(8).fill(0));const A=address.bufferPolyfill.Buffer.alloc(8);A.writeBigUInt64BE(C),s.push(...A)}else s.push(...Array(16).fill(0));if(s.push(shuttleConstants.PRE_APPROVED_ACQUIRE_MODE),i.hasDestSwap){if(e.toToken.contract===providerJsonrpc.ZeroAddress)s.push(shuttleConstants.OUTPUT_NATIVE_MODE);else{s.push(shuttleConstants.OUTPUT_OTHER_MODE);const R=address.bufferPolyfill.Buffer.from(nativeAddressToHexString(e.toToken.contract,d).slice(2),"hex");s.push(...R)}const A=address.bufferPolyfill.Buffer.alloc(4);A.writeUInt32BE(Number(BigInt(e.deadline64))),s.push(...A);const P=getAmountOfFractionalAmount(e.minAmountOut,e.toToken.decimals);if(e.toChain==="solana"){s.push(...Array(8).fill(0));const R=address.bufferPolyfill.Buffer.alloc(8);R.writeBigUInt64BE(P),s.push(...R)}else{const R=writeBigIntTo16BytesBuffer(P);s.push(...R)}const U=address.bufferPolyfill.Buffer.from(i.path.slice(2),"hex");s.push(...U)}else s.push(shuttleConstants.OUTPUT_USDC_MODE);return{destAddr:nativeAddressToHexString(t,d),destChainId:d,serializedParams:`0x${address.bufferPolyfill.Buffer.from(s).toString("hex")}`,contractAddress:e.shuttleContract,amountIn:C,bridgeFee:getAmountOfFractionalAmount(e.bridgeFee,getGasDecimal(e.fromChain))}}function getShuttleFromEvmTxPayload(e,t,a,i){if(e.type!=="SHUTTLE")throw new Error("Quote type is not SHUTTLE");if(!Number.isFinite(Number(a)))throw new Error("Invalid signer chain id");a=Number(a);const c=ZeroPermit,o=new contract.Contract(addresses_default.MAYAN_FORWARDER_CONTRACT,MayanForwarderArtifact_default.abi),{destAddr:d,destChainId:s,serializedParams:l,contractAddress:r,amountIn:m,bridgeFee:p}=getShuttleParams(e,t,a);let h;h=new contract.Contract(r,ShuttleArtifact_default.abi).interface.encodeFunctionData("initiate",[d,m,s,l]);let u,f,C;if(e.fromToken.contract===e.shuttleInputContract)u="forwardERC20",f=[e.shuttleInputContract,m,c,r,h],C=contract.toBeHex(p);else{const{evmSwapRouterAddress:A,evmSwapRouterCalldata:P}=e;if(!e.minMiddleAmount||!A||!P)throw new Error("Shuttle source chain swap requires middle amount, router address and calldata");const U=e.fromToken.contract,R=getAmountOfFractionalAmount(e.minMiddleAmount,e.shuttleInputDecimals);e.fromToken.contract===providerJsonrpc.ZeroAddress?(u="swapAndForwardEth",f=[m,A,P,e.shuttleInputContract,R,r,h],C=contract.toBeHex(m)):(u="swapAndForwardERC20",f=[U,m,c,A,P,e.shuttleInputContract,R,r,h],C=contract.toBeHex(p))}return{data:o.interface.encodeFunctionData(u,f),to:addresses_default.MAYAN_FORWARDER_CONTRACT,value:C,chainId:a,_forwarder:{method:u,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,a,i,c){const o=getWormholeChainIdById(Number(i)),d=getWormholeChainIdByName(e.fromChain),s=getWormholeChainIdByName(e.toChain);if(d!==o)throw new Error(`Signer chain id(${Number(i)}) and quote from chain are not same! ${d} !== ${o}`);const l=nativeAddressToHexString(t,s),r=getAmountOfFractionalAmount(e.redeemRelayerFee,CCTP_TOKEN_DECIMALS),m=getAmountOfFractionalAmount(e.gasDrop,Math.min(getGasDecimal(e.toChain),8)),p=BigInt(e.circleMaxFee64),h=BigInt(e.effectiveAmountIn64),g=getCCTPDomain(e.toChain);let u;if(a?u=nativeAddressToHexString(a,s):u=nativeAddressToHexString(address.SystemProgram.programId.toString(),getWormholeChainIdByName("solana")),!e.fastMctpMayanContract)throw new Error("FastMctp contract address is missing");const f=e.fastMctpMayanContract;return{tokenIn:e.fastMctpInputContract,amountIn:h,redeemFee:r,gasDrop:m,destAddr:l,destDomain:g,referrerAddr:u,referrerBps:e.referrerBps,payloadType:FAST_MCTP_PAYLOAD_TYPE_DEFAULT,customPayload:"0x",minFinalityThreshold:Number(e.fastMctpMinFinality),circleMaxFee:p,contractAddress:f}}function getEvmFastMctpBridgeTxPayload(e,t,a,i,c){const o=getEvmFastMctpBridgeParams(e,t,a,i),{contractAddress:d,tokenIn:s,amountIn:l,destAddr:r,redeemFee:m,gasDrop:p,circleMaxFee:h,referrerAddr:g,referrerBps:u,destDomain:f,customPayload:C,minFinalityThreshold:k,payloadType:A}=o,P=new contract.Contract(d,MayanFastMctpArtifact_default.abi);let U,R;return U=P.interface.encodeFunctionData("bridge",[s,l,m,h,p,r,f,g,u,A,k,C]),R=contract.toBeHex(0),{to:d,data:U,value:R,_params:o}}function getEvmFastMctpCreateOrderParams(e,t,a,i){const c=getWormholeChainIdById(Number(i)),o=getWormholeChainIdByName(e.fromChain),d=getWormholeChainIdByName(e.toChain);if(o!==c)throw new Error(`Signer chain id(${Number(i)}) and quote from chain are not same! ${o} !== ${c}`);if(!e.fastMctpMayanContract)throw new Error("MCTP contract address is missing");const s=e.fastMctpMayanContract,l=nativeAddressToHexString(t,d);let r;a?r=nativeAddressToHexString(a,d):r=nativeAddressToHexString(address.SystemProgram.programId.toString(),getWormholeChainIdByName("solana"));const m=getAmountOfFractionalAmount(e.redeemRelayerFee,CCTP_TOKEN_DECIMALS),p=BigInt(e.refundRelayerFee64),h=BigInt(e.circleMaxFee64),g=getAmountOfFractionalAmount(e.gasDrop,Math.min(getGasDecimal(e.toChain),8)),u=getCCTPDomain(e.toChain),f=BigInt(e.effectiveAmountIn64),C=getAmountOfFractionalAmount(e.minAmountOut,Math.min(8,e.toToken.decimals)),k=BigInt(e.deadline64),A=e.toToken.contract===providerJsonrpc.ZeroAddress?nativeAddressToHexString(address.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:h,destDomain:u,minFinalityThreshold:Number(e.fastMctpMinFinality),orderPayload:{payloadType:FAST_MCTP_PAYLOAD_TYPE_ORDER,destAddr:l,tokenOut:A,amountOutMin:C,gasDrop:g,redeemFee:m,refundFee:p,deadline:k,referrerAddr:r,referrerBps:e.referrerBps||0},contractAddress:s}}function getEvmFastMctpCreateOrderTxPayload(e,t,a,i){const c=getEvmFastMctpCreateOrderParams(e,t,a,i),{contractAddress:o,orderPayload:d,tokenIn:s,amountIn:l,circleMaxFee:r,destDomain:m,minFinalityThreshold:p}=c,g=new contract.Contract(o,MayanFastMctpArtifact_default.abi).interface.encodeFunctionData("createOrder",[s,l,r,m,p,d]),u=contract.toBeHex(0);return{to:o,data:g,value:u,_params:c}}function getFastMctpFromEvmTxPayload(e,t,a,i,c,o){if(e.type!=="FAST_MCTP")throw new Error("Quote type is not FAST_MCTP");if(!Number.isFinite(Number(i)))throw new Error("Invalid signer chain id");i=Number(i);const d=c||ZeroPermit,s=new contract.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 l=getEvmFastMctpCreateOrderTxPayload(e,t,a,i),r="forwardERC20",m=[e.fromToken.contract,l._params.amountIn,d,l._params.contractAddress,l.data];return{data:s.interface.encodeFunctionData(r,m),to:addresses_default.MAYAN_FORWARDER_CONTRACT,value:contract.toBeHex(0),chainId:i,_forwarder:{method:r,params:m}}}else{const l=getEvmFastMctpBridgeTxPayload(e,t,a,i),r="forwardERC20",m=[e.fromToken.contract,l._params.amountIn,d,l._params.contractAddress,l.data];return{data:s.interface.encodeFunctionData(r,m),to:addresses_default.MAYAN_FORWARDER_CONTRACT,value:contract.toBeHex(0),chainId:i,_forwarder:{method:r,params:m}}}else{const{minMiddleAmount:l,evmSwapRouterAddress:r,evmSwapRouterCalldata:m}=e;if(!l||!r||!m)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 p=getEvmFastMctpCreateOrderTxPayload(e,t,a,i),h=getAmountOfFractionalAmount(e.minMiddleAmount,CCTP_TOKEN_DECIMALS);if(e.fromToken.contract===providerJsonrpc.ZeroAddress){const g="swapAndForwardEth",u=[p._params.amountIn,r,m,e.fastMctpInputContract,h,p._params.contractAddress,p.data];return{data:s.interface.encodeFunctionData(g,u),to:addresses_default.MAYAN_FORWARDER_CONTRACT,value:contract.toBeHex(p._params.amountIn),chainId:i,_forwarder:{method:g,params:u}}}else{const g="swapAndForwardERC20",u=[e.fromToken.contract,p._params.amountIn,d,r,m,e.fastMctpInputContract,h,p._params.contractAddress,p.data];return{data:s.interface.encodeFunctionData(g,u),to:addresses_default.MAYAN_FORWARDER_CONTRACT,value:contract.toBeHex(0),chainId:i,_forwarder:{method:g,params:u}}}}else{const p=getEvmFastMctpBridgeTxPayload(e,t,a,i),h=getAmountOfFractionalAmount(e.minMiddleAmount,CCTP_TOKEN_DECIMALS);if(e.fromToken.contract===providerJsonrpc.ZeroAddress){const g="swapAndForwardEth",u=[p._params.amountIn,r,m,e.fastMctpInputContract,h,p._params.contractAddress,p.data];return{data:s.interface.encodeFunctionData(g,u),to:addresses_default.MAYAN_FORWARDER_CONTRACT,value:contract.toBeHex(p._params.amountIn),chainId:i,_forwarder:{method:g,params:u}}}else{const g="swapAndForwardERC20",u=[e.fromToken.contract,p._params.amountIn,d,r,m,e.fastMctpInputContract,h,p._params.contractAddress,p.data];return{data:s.interface.encodeFunctionData(g,u),to:addresses_default.MAYAN_FORWARDER_CONTRACT,value:contract.toBeHex(0),chainId:i,_forwarder:{method:g,params:u}}}}}}function getEvmSwapParams(e,t,a,i,c,o){const d=new address.PublicKey(addresses_default.MAYAN_PROGRAM_ID),[s]=address.PublicKey.findProgramAddressSync([address.bufferPolyfill.Buffer.from("MAIN")],d),l=getAssociatedTokenAddress(new address.PublicKey(e.fromToken.mint),s,!0),r=BigInt(e.effectiveAmountIn64),m=nativeAddressToHexString(l.toString(),1),p=nativeAddressToHexString(addresses_default.AUCTION_PROGRAM_ID,1);let h;a?h=nativeAddressToHexString(a,1):h=nativeAddressToHexString(address.SystemProgram.programId.toString(),1);const g=getWormholeChainIdById(Number(c)),u=getWormholeChainIdByName(e.fromChain),f=getWormholeChainIdByName(e.toChain);if(u!==g)throw new Error(`Signer chain id(${Number(c)}) and quote from chain are not same! ${u} !== ${g}`);const C=e.whMayanContract,k={mayanAddr:m,mayanChainId:1,destAddr:nativeAddressToHexString(t,f),destChainId:f,auctionAddr:p,referrer:h,refundAddr:nativeAddressToHexString(i,g)},A=e.toToken.contract===providerJsonrpc.ZeroAddress,P={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:A,customPayload:"0x"},U={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))},R=nativeAddressToHexString(e.toToken.realOriginContractAddress,e.toToken.realOriginChainId),D=getAmountOfFractionalAmount(e.bridgeFee,18);return{amountIn:r,tokenIn:e.fromToken.contract,tokenOut:R,tokenOutWChainId:e.toToken.realOriginChainId,criteria:P,recipient:k,relayerFees:U,contractAddress:C,bridgeFee:D}}function getSwapFromEvmTxPayload(e,t,a,i,c,o,d,s){const l=getWormholeChainIdById(Number(o)),r=getWormholeChainIdByName(e.fromChain);if(r!==l)throw new Error(`Signer chain id(${Number(o)}) and quote from chain are not same! ${r} !== ${l}`);const m=getQuoteSuitableReferrerAddress(e,i);if(e.type==="MCTP")return getMctpFromEvmTxPayload(e,a,m,o,s);if(e.type==="SWIFT")return getSwiftFromEvmTxPayload(e,t,a,m,o);if(e.type==="SHUTTLE")return getShuttleFromEvmTxPayload(e,a,o);if(e.type==="FAST_MCTP")return getFastMctpFromEvmTxPayload(e,a,m,o,s);if(e.type!="WH")throw new Error("Unsupported quote type");if(!Number(e.deadline64))throw new Error("WH mode requires a timeout");const{relayerFees:p,recipient:h,tokenOut:g,tokenOutWChainId:u,criteria:f,tokenIn:C,amountIn:k,contractAddress:A,bridgeFee:P}=getEvmSwapParams(e,a,m,c,o),U=new contract.Contract(addresses_default.MAYAN_FORWARDER_CONTRACT,MayanForwarderArtifact_default.abi),R=new contract.Contract(A,MayanSwapArtifact_default.abi);let D,B,M;const G=ZeroPermit;if(C===providerJsonrpc.ZeroAddress){const F=R.interface.encodeFunctionData("wrapAndSwapETH",[p,h,g,u,f]);D="forwardEth",B=[A,F],M=contract.toBeHex(k)}else{const F=R.interface.encodeFunctionData("swap",[p,h,g,u,f,C,k]);D="forwardERC20",B=[C,k,G,A,F],M=contract.toBeHex(P)}const Y=U.interface.encodeFunctionData(D,B);return{to:addresses_default.MAYAN_FORWARDER_CONTRACT,data:Y,value:M,chainId:o,_forwarder:{method:D,params:B}}}async function assertArgumentIsImmutable(e,t){var i;let a;try{a=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(a){if(a[e.argumentIndex]!=="Pure"&&((i=a[e.argumentIndex])==null?void 0:i.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 a=[],i=BigInt(0),c;do{const o=await t.getCoins({...e,owner:e.walletAddress,cursor:c}),d=o.data.filter(s=>BigInt(s.balance)>BigInt(0));if(a=[...a,...d],d.forEach(s=>{i+=BigInt(s.balance)}),o.data.length===0||!o.hasNextPage||!o.nextCursor||i>=e.coinAmount)return{coins:a.sort((s,l)=>Number(BigInt(s.coinObjectId)-BigInt(l.coinObjectId))),sum:i};c=o.nextCursor}while(!0)}async function fetchMayanSuiPackageId(e,t){var i,c,o;let a;try{a=await t.getObject({id:e,options:{showContent:!0}})}catch(d){throw new Error(`Failed to fetch Mayan Sui package ID:
|
|
1
|
+
"use strict";var nt=Object.defineProperty;var at=(e,t,n)=>t in e?nt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var V=(e,t,n)=>at(e,typeof t!="symbol"?t+"":t,n);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const browserPonyfill=require("./browser-ponyfill-BeX4lPJd.js"),address=require("./address-DpQlJQKV.js"),platform$2=require("./platform-Dw5tN12f.js"),blake2b=require("./blake2b-aUiblHhG.js"),providerJsonrpc=require("./provider-jsonrpc-B0bAKP-a.js"),contract=require("./contract-DPL0fm8A.js"),units=require("./units-CFxZtEkH.js"),unsignedTransaction=require("./unsignedTransaction-D14ic9We.js"),unsignedTransaction$1=require("./unsignedTransaction-DzSLsK-p.js"),platform$3=require("./platform-Cl1b31bn.js"),unsignedTransaction$2=require("./unsignedTransaction-B7AZXsTD.js");var sha3={exports:{}};(function(e){(function(){var t="input is invalid type",n="finalize already called",a=typeof window=="object",r=a?window:{};r.JS_SHA3_NO_WINDOW&&(a=!1);var s=!a&&typeof self=="object",o=!r.JS_SHA3_NO_NODE_JS&&typeof address.dist.process=="object"&&address.dist.process.versions&&address.dist.process.versions.node;o?r=address.commonjsGlobal:s&&(r=self);var i=!r.JS_SHA3_NO_COMMON_JS&&!0&&e.exports,l=!r.JS_SHA3_NO_ARRAY_BUFFER&&typeof ArrayBuffer<"u",u="0123456789abcdef".split(""),d=[31,7936,2031616,520093696],c=[4,1024,262144,67108864],f=[1,256,65536,16777216],y=[6,1536,393216,100663296],p=[0,8,16,24],b=[1,0,32898,0,32906,2147483648,2147516416,2147483648,32907,0,2147483649,0,2147516545,2147483648,32777,2147483648,138,0,136,0,2147516425,0,2147483658,0,2147516555,0,139,2147483648,32905,2147483648,32771,2147483648,32770,2147483648,128,2147483648,32778,0,2147483658,2147483648,2147516545,2147483648,32896,2147483648,2147483649,0,2147516424,2147483648],h=[224,256,384,512],T=[128,256],g=["hex","buffer","arrayBuffer","array","digest"],A={128:168,256:136};(r.JS_SHA3_NO_NODE_JS||!Array.isArray)&&(Array.isArray=function(m){return Object.prototype.toString.call(m)==="[object Array]"}),l&&(r.JS_SHA3_NO_ARRAY_BUFFER_IS_VIEW||!ArrayBuffer.isView)&&(ArrayBuffer.isView=function(m){return typeof m=="object"&&m.buffer&&m.buffer.constructor===ArrayBuffer});for(var w=function(m,S,I){return function(E){return new j(m,S,m).update(E)[I]()}},_=function(m,S,I){return function(E,$){return new j(m,S,$).update(E)[I]()}},M=function(m,S,I){return function(E,$,O,x){return W["cshake"+m].update(E,$,O,x)[I]()}},P=function(m,S,I){return function(E,$,O,x){return W["kmac"+m].update(E,$,O,x)[I]()}},k=function(m,S,I,E){for(var $=0;$<g.length;++$){var O=g[$];m[O]=S(I,E,O)}return m},D=function(m,S){var I=w(m,S,"hex");return I.create=function(){return new j(m,S,m)},I.update=function(E){return I.create().update(E)},k(I,w,m,S)},F=function(m,S){var I=_(m,S,"hex");return I.create=function(E){return new j(m,S,E)},I.update=function(E,$){return I.create($).update(E)},k(I,_,m,S)},C=function(m,S){var I=A[m],E=M(m,S,"hex");return E.create=function($,O,x){return!O&&!x?W["shake"+m].create($):new j(m,S,$).bytepad([O,x],I)},E.update=function($,O,x,v){return E.create(O,x,v).update($)},k(E,M,m,S)},R=function(m,S){var I=A[m],E=P(m,S,"hex");return E.create=function($,O,x){return new Q(m,S,O).bytepad(["KMAC",x],I).bytepad([$],I)},E.update=function($,O,x,v){return E.create($,x,v).update(O)},k(E,P,m,S)},N=[{name:"keccak",padding:f,bits:h,createMethod:D},{name:"sha3",padding:y,bits:h,createMethod:D},{name:"shake",padding:d,bits:T,createMethod:F},{name:"cshake",padding:c,bits:T,createMethod:C},{name:"kmac",padding:c,bits:T,createMethod:R}],W={},U=[],G=0;G<N.length;++G)for(var z=N[G],X=z.bits,J=0;J<X.length;++J){var Z=z.name+"_"+X[J];if(U.push(Z),W[Z]=z.createMethod(X[J],z.padding),z.name!=="sha3"){var q=z.name+X[J];U.push(q),W[q]=W[Z]}}function j(m,S,I){this.blocks=[],this.s=[],this.padding=S,this.outputBits=I,this.reset=!0,this.finalized=!1,this.block=0,this.start=0,this.blockCount=1600-(m<<1)>>5,this.byteCount=this.blockCount<<2,this.outputBlocks=I>>5,this.extraBytes=(I&31)>>3;for(var E=0;E<50;++E)this.s[E]=0}j.prototype.update=function(m){if(this.finalized)throw new Error(n);var S,I=typeof m;if(I!=="string"){if(I==="object"){if(m===null)throw new Error(t);if(l&&m.constructor===ArrayBuffer)m=new Uint8Array(m);else if(!Array.isArray(m)&&(!l||!ArrayBuffer.isView(m)))throw new Error(t)}else throw new Error(t);S=!0}for(var E=this.blocks,$=this.byteCount,O=m.length,x=this.blockCount,v=0,L=this.s,B,H;v<O;){if(this.reset)for(this.reset=!1,E[0]=this.block,B=1;B<x+1;++B)E[B]=0;if(S)for(B=this.start;v<O&&B<$;++v)E[B>>2]|=m[v]<<p[B++&3];else for(B=this.start;v<O&&B<$;++v)H=m.charCodeAt(v),H<128?E[B>>2]|=H<<p[B++&3]:H<2048?(E[B>>2]|=(192|H>>6)<<p[B++&3],E[B>>2]|=(128|H&63)<<p[B++&3]):H<55296||H>=57344?(E[B>>2]|=(224|H>>12)<<p[B++&3],E[B>>2]|=(128|H>>6&63)<<p[B++&3],E[B>>2]|=(128|H&63)<<p[B++&3]):(H=65536+((H&1023)<<10|m.charCodeAt(++v)&1023),E[B>>2]|=(240|H>>18)<<p[B++&3],E[B>>2]|=(128|H>>12&63)<<p[B++&3],E[B>>2]|=(128|H>>6&63)<<p[B++&3],E[B>>2]|=(128|H&63)<<p[B++&3]);if(this.lastByteIndex=B,B>=$){for(this.start=B-$,this.block=E[x],B=0;B<x;++B)L[B]^=E[B];Y(L),this.reset=!0}else this.start=B}return this},j.prototype.encode=function(m,S){var I=m&255,E=1,$=[I];for(m=m>>8,I=m&255;I>0;)$.unshift(I),m=m>>8,I=m&255,++E;return S?$.push(E):$.unshift(E),this.update($),$.length},j.prototype.encodeString=function(m){var S,I=typeof m;if(I!=="string"){if(I==="object"){if(m===null)throw new Error(t);if(l&&m.constructor===ArrayBuffer)m=new Uint8Array(m);else if(!Array.isArray(m)&&(!l||!ArrayBuffer.isView(m)))throw new Error(t)}else throw new Error(t);S=!0}var E=0,$=m.length;if(S)E=$;else for(var O=0;O<m.length;++O){var x=m.charCodeAt(O);x<128?E+=1:x<2048?E+=2:x<55296||x>=57344?E+=3:(x=65536+((x&1023)<<10|m.charCodeAt(++O)&1023),E+=4)}return E+=this.encode(E*8),this.update(m),E},j.prototype.bytepad=function(m,S){for(var I=this.encode(S),E=0;E<m.length;++E)I+=this.encodeString(m[E]);var $=S-I%S,O=[];return O.length=$,this.update(O),this},j.prototype.finalize=function(){if(!this.finalized){this.finalized=!0;var m=this.blocks,S=this.lastByteIndex,I=this.blockCount,E=this.s;if(m[S>>2]|=this.padding[S&3],this.lastByteIndex===this.byteCount)for(m[0]=m[I],S=1;S<I+1;++S)m[S]=0;for(m[I-1]|=2147483648,S=0;S<I;++S)E[S]^=m[S];Y(E)}},j.prototype.toString=j.prototype.hex=function(){this.finalize();for(var m=this.blockCount,S=this.s,I=this.outputBlocks,E=this.extraBytes,$=0,O=0,x="",v;O<I;){for($=0;$<m&&O<I;++$,++O)v=S[$],x+=u[v>>4&15]+u[v&15]+u[v>>12&15]+u[v>>8&15]+u[v>>20&15]+u[v>>16&15]+u[v>>28&15]+u[v>>24&15];O%m===0&&(Y(S),$=0)}return E&&(v=S[$],x+=u[v>>4&15]+u[v&15],E>1&&(x+=u[v>>12&15]+u[v>>8&15]),E>2&&(x+=u[v>>20&15]+u[v>>16&15])),x},j.prototype.arrayBuffer=function(){this.finalize();var m=this.blockCount,S=this.s,I=this.outputBlocks,E=this.extraBytes,$=0,O=0,x=this.outputBits>>3,v;E?v=new ArrayBuffer(I+1<<2):v=new ArrayBuffer(x);for(var L=new Uint32Array(v);O<I;){for($=0;$<m&&O<I;++$,++O)L[O]=S[$];O%m===0&&Y(S)}return E&&(L[$]=S[$],v=v.slice(0,x)),v},j.prototype.buffer=j.prototype.arrayBuffer,j.prototype.digest=j.prototype.array=function(){this.finalize();for(var m=this.blockCount,S=this.s,I=this.outputBlocks,E=this.extraBytes,$=0,O=0,x=[],v,L;O<I;){for($=0;$<m&&O<I;++$,++O)v=O<<2,L=S[$],x[v]=L&255,x[v+1]=L>>8&255,x[v+2]=L>>16&255,x[v+3]=L>>24&255;O%m===0&&Y(S)}return E&&(v=O<<2,L=S[$],x[v]=L&255,E>1&&(x[v+1]=L>>8&255),E>2&&(x[v+2]=L>>16&255)),x};function Q(m,S,I){j.call(this,m,S,I)}Q.prototype=new j,Q.prototype.finalize=function(){return this.encode(this.outputBits,!0),j.prototype.finalize.call(this)};var Y=function(m){var S,I,E,$,O,x,v,L,B,H,ee,te,ne,ae,re,se,ie,oe,ue,de,le,ce,pe,me,ye,fe,be,he,ge,Te,Ae,_e,we,Se,Ie,Ce,Me,Ee,Pe,$e,Re,Oe,ke,ve,xe,Be,Fe,De,Ne,Ue,We,je,Ke,He,Le,Ge,ze,Ve,Je,Ye,Xe,Ze,Qe;for(E=0;E<48;E+=2)$=m[0]^m[10]^m[20]^m[30]^m[40],O=m[1]^m[11]^m[21]^m[31]^m[41],x=m[2]^m[12]^m[22]^m[32]^m[42],v=m[3]^m[13]^m[23]^m[33]^m[43],L=m[4]^m[14]^m[24]^m[34]^m[44],B=m[5]^m[15]^m[25]^m[35]^m[45],H=m[6]^m[16]^m[26]^m[36]^m[46],ee=m[7]^m[17]^m[27]^m[37]^m[47],te=m[8]^m[18]^m[28]^m[38]^m[48],ne=m[9]^m[19]^m[29]^m[39]^m[49],S=te^(x<<1|v>>>31),I=ne^(v<<1|x>>>31),m[0]^=S,m[1]^=I,m[10]^=S,m[11]^=I,m[20]^=S,m[21]^=I,m[30]^=S,m[31]^=I,m[40]^=S,m[41]^=I,S=$^(L<<1|B>>>31),I=O^(B<<1|L>>>31),m[2]^=S,m[3]^=I,m[12]^=S,m[13]^=I,m[22]^=S,m[23]^=I,m[32]^=S,m[33]^=I,m[42]^=S,m[43]^=I,S=x^(H<<1|ee>>>31),I=v^(ee<<1|H>>>31),m[4]^=S,m[5]^=I,m[14]^=S,m[15]^=I,m[24]^=S,m[25]^=I,m[34]^=S,m[35]^=I,m[44]^=S,m[45]^=I,S=L^(te<<1|ne>>>31),I=B^(ne<<1|te>>>31),m[6]^=S,m[7]^=I,m[16]^=S,m[17]^=I,m[26]^=S,m[27]^=I,m[36]^=S,m[37]^=I,m[46]^=S,m[47]^=I,S=H^($<<1|O>>>31),I=ee^(O<<1|$>>>31),m[8]^=S,m[9]^=I,m[18]^=S,m[19]^=I,m[28]^=S,m[29]^=I,m[38]^=S,m[39]^=I,m[48]^=S,m[49]^=I,ae=m[0],re=m[1],Be=m[11]<<4|m[10]>>>28,Fe=m[10]<<4|m[11]>>>28,he=m[20]<<3|m[21]>>>29,ge=m[21]<<3|m[20]>>>29,Ye=m[31]<<9|m[30]>>>23,Xe=m[30]<<9|m[31]>>>23,Oe=m[40]<<18|m[41]>>>14,ke=m[41]<<18|m[40]>>>14,Se=m[2]<<1|m[3]>>>31,Ie=m[3]<<1|m[2]>>>31,se=m[13]<<12|m[12]>>>20,ie=m[12]<<12|m[13]>>>20,De=m[22]<<10|m[23]>>>22,Ne=m[23]<<10|m[22]>>>22,Te=m[33]<<13|m[32]>>>19,Ae=m[32]<<13|m[33]>>>19,Ze=m[42]<<2|m[43]>>>30,Qe=m[43]<<2|m[42]>>>30,He=m[5]<<30|m[4]>>>2,Le=m[4]<<30|m[5]>>>2,Ce=m[14]<<6|m[15]>>>26,Me=m[15]<<6|m[14]>>>26,oe=m[25]<<11|m[24]>>>21,ue=m[24]<<11|m[25]>>>21,Ue=m[34]<<15|m[35]>>>17,We=m[35]<<15|m[34]>>>17,_e=m[45]<<29|m[44]>>>3,we=m[44]<<29|m[45]>>>3,me=m[6]<<28|m[7]>>>4,ye=m[7]<<28|m[6]>>>4,Ge=m[17]<<23|m[16]>>>9,ze=m[16]<<23|m[17]>>>9,Ee=m[26]<<25|m[27]>>>7,Pe=m[27]<<25|m[26]>>>7,de=m[36]<<21|m[37]>>>11,le=m[37]<<21|m[36]>>>11,je=m[47]<<24|m[46]>>>8,Ke=m[46]<<24|m[47]>>>8,ve=m[8]<<27|m[9]>>>5,xe=m[9]<<27|m[8]>>>5,fe=m[18]<<20|m[19]>>>12,be=m[19]<<20|m[18]>>>12,Ve=m[29]<<7|m[28]>>>25,Je=m[28]<<7|m[29]>>>25,$e=m[38]<<8|m[39]>>>24,Re=m[39]<<8|m[38]>>>24,ce=m[48]<<14|m[49]>>>18,pe=m[49]<<14|m[48]>>>18,m[0]=ae^~se&oe,m[1]=re^~ie&ue,m[10]=me^~fe&he,m[11]=ye^~be&ge,m[20]=Se^~Ce&Ee,m[21]=Ie^~Me&Pe,m[30]=ve^~Be&De,m[31]=xe^~Fe&Ne,m[40]=He^~Ge&Ve,m[41]=Le^~ze&Je,m[2]=se^~oe&de,m[3]=ie^~ue&le,m[12]=fe^~he&Te,m[13]=be^~ge&Ae,m[22]=Ce^~Ee&$e,m[23]=Me^~Pe&Re,m[32]=Be^~De&Ue,m[33]=Fe^~Ne&We,m[42]=Ge^~Ve&Ye,m[43]=ze^~Je&Xe,m[4]=oe^~de&ce,m[5]=ue^~le&pe,m[14]=he^~Te&_e,m[15]=ge^~Ae&we,m[24]=Ee^~$e&Oe,m[25]=Pe^~Re&ke,m[34]=De^~Ue&je,m[35]=Ne^~We&Ke,m[44]=Ve^~Ye&Ze,m[45]=Je^~Xe&Qe,m[6]=de^~ce&ae,m[7]=le^~pe&re,m[16]=Te^~_e&me,m[17]=Ae^~we&ye,m[26]=$e^~Oe&Se,m[27]=Re^~ke&Ie,m[36]=Ue^~je&ve,m[37]=We^~Ke&xe,m[46]=Ye^~Ze&He,m[47]=Xe^~Qe&Le,m[8]=ce^~ae&se,m[9]=pe^~re&ie,m[18]=_e^~me&fe,m[19]=we^~ye&be,m[28]=Oe^~Se&Ce,m[29]=ke^~Ie&Me,m[38]=je^~ve&Be,m[39]=Ke^~xe&Fe,m[48]=Ze^~He&Ge,m[49]=Qe^~Le&ze,m[0]^=b[E],m[1]^=b[E+1]};if(i)e.exports=W;else for(G=0;G<U.length;++G)r[U[G]]=W[U[G]]})()})(sha3);var sha3Exports=sha3.exports,sha256={exports:{}};(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 address.dist.process=="object"&&address.dist.process.versions&&address.dist.process.versions.node;NODE_JS?root=address.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(n){return new Sha256(t,!0).update(n)[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(r){return t.create().update(r)};for(var n=0;n<OUTPUT_TYPES.length;++n){var a=OUTPUT_TYPES[n];t[a]=createOutputMethod(a,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(n,a){return new HmacSha256(n,t,!0).update(a)[e]()}},createHmacMethod=function(e){var t=createHmacOutputMethod("hex",e);t.create=function(r){return new HmacSha256(r,e)},t.update=function(r,s){return t.create(r).update(s)};for(var n=0;n<OUTPUT_TYPES.length;++n){var a=OUTPUT_TYPES[n];t[a]=createHmacOutputMethod(a,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,n=typeof e;if(n!=="string"){if(n==="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 a,r=0,s,o=e.length,i=this.blocks;r<o;){if(this.hashed&&(this.hashed=!1,i[0]=this.block,i[16]=i[1]=i[2]=i[3]=i[4]=i[5]=i[6]=i[7]=i[8]=i[9]=i[10]=i[11]=i[12]=i[13]=i[14]=i[15]=0),t)for(s=this.start;r<o&&s<64;++r)i[s>>2]|=e[r]<<SHIFT[s++&3];else for(s=this.start;r<o&&s<64;++r)a=e.charCodeAt(r),a<128?i[s>>2]|=a<<SHIFT[s++&3]:a<2048?(i[s>>2]|=(192|a>>6)<<SHIFT[s++&3],i[s>>2]|=(128|a&63)<<SHIFT[s++&3]):a<55296||a>=57344?(i[s>>2]|=(224|a>>12)<<SHIFT[s++&3],i[s>>2]|=(128|a>>6&63)<<SHIFT[s++&3],i[s>>2]|=(128|a&63)<<SHIFT[s++&3]):(a=65536+((a&1023)<<10|e.charCodeAt(++r)&1023),i[s>>2]|=(240|a>>18)<<SHIFT[s++&3],i[s>>2]|=(128|a>>12&63)<<SHIFT[s++&3],i[s>>2]|=(128|a>>6&63)<<SHIFT[s++&3],i[s>>2]|=(128|a&63)<<SHIFT[s++&3]);this.lastByteIndex=s,this.bytes+=s-this.start,s>=64?(this.block=i[16],this.start=s-64,this.hash(),this.hashed=!0):this.start=s}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,n=this.h2,a=this.h3,r=this.h4,s=this.h5,o=this.h6,i=this.h7,l=this.blocks,u,d,c,f,y,p,b,h,T,g,A;for(u=16;u<64;++u)y=l[u-15],d=(y>>>7|y<<25)^(y>>>18|y<<14)^y>>>3,y=l[u-2],c=(y>>>17|y<<15)^(y>>>19|y<<13)^y>>>10,l[u]=l[u-16]+d+l[u-7]+c<<0;for(A=t&n,u=0;u<64;u+=4)this.first?(this.is224?(h=300032,y=l[0]-1413257819,i=y-150054599<<0,a=y+24177077<<0):(h=704751109,y=l[0]-210244248,i=y-1521486534<<0,a=y+143694565<<0),this.first=!1):(d=(e>>>2|e<<30)^(e>>>13|e<<19)^(e>>>22|e<<10),c=(r>>>6|r<<26)^(r>>>11|r<<21)^(r>>>25|r<<7),h=e&t,f=h^e&n^A,b=r&s^~r&o,y=i+c+b+K[u]+l[u],p=d+f,i=a+y<<0,a=y+p<<0),d=(a>>>2|a<<30)^(a>>>13|a<<19)^(a>>>22|a<<10),c=(i>>>6|i<<26)^(i>>>11|i<<21)^(i>>>25|i<<7),T=a&e,f=T^a&t^h,b=i&r^~i&s,y=o+c+b+K[u+1]+l[u+1],p=d+f,o=n+y<<0,n=y+p<<0,d=(n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10),c=(o>>>6|o<<26)^(o>>>11|o<<21)^(o>>>25|o<<7),g=n&a,f=g^n&e^T,b=o&i^~o&r,y=s+c+b+K[u+2]+l[u+2],p=d+f,s=t+y<<0,t=y+p<<0,d=(t>>>2|t<<30)^(t>>>13|t<<19)^(t>>>22|t<<10),c=(s>>>6|s<<26)^(s>>>11|s<<21)^(s>>>25|s<<7),A=t&n,f=A^t&a^g,b=s&o^~s&i,y=r+c+b+K[u+3]+l[u+3],p=d+f,r=e+y<<0,e=y+p<<0;this.h0=this.h0+e<<0,this.h1=this.h1+t<<0,this.h2=this.h2+n<<0,this.h3=this.h3+a<<0,this.h4=this.h4+r<<0,this.h5=this.h5+s<<0,this.h6=this.h6+o<<0,this.h7=this.h7+i<<0},Sha256.prototype.hex=function(){this.finalize();var e=this.h0,t=this.h1,n=this.h2,a=this.h3,r=this.h4,s=this.h5,o=this.h6,i=this.h7,l=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[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[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]+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[s>>28&15]+HEX_CHARS[s>>24&15]+HEX_CHARS[s>>20&15]+HEX_CHARS[s>>16&15]+HEX_CHARS[s>>12&15]+HEX_CHARS[s>>8&15]+HEX_CHARS[s>>4&15]+HEX_CHARS[s&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];return this.is224||(l+=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]),l},Sha256.prototype.toString=Sha256.prototype.hex,Sha256.prototype.digest=function(){this.finalize();var e=this.h0,t=this.h1,n=this.h2,a=this.h3,r=this.h4,s=this.h5,o=this.h6,i=this.h7,l=[e>>24&255,e>>16&255,e>>8&255,e&255,t>>24&255,t>>16&255,t>>8&255,t&255,n>>24&255,n>>16&255,n>>8&255,n&255,a>>24&255,a>>16&255,a>>8&255,a&255,r>>24&255,r>>16&255,r>>8&255,r&255,s>>24&255,s>>16&255,s>>8&255,s&255,o>>24&255,o>>16&255,o>>8&255,o&255];return this.is224||l.push(i>>24&255,i>>16&255,i>>8&255,i&255),l},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,n){var a,r=typeof e;if(r==="string"){var s=[],o=e.length,i=0,l;for(a=0;a<o;++a)l=e.charCodeAt(a),l<128?s[i++]=l:l<2048?(s[i++]=192|l>>6,s[i++]=128|l&63):l<55296||l>=57344?(s[i++]=224|l>>12,s[i++]=128|l>>6&63,s[i++]=128|l&63):(l=65536+((l&1023)<<10|e.charCodeAt(++a)&1023),s[i++]=240|l>>18,s[i++]=128|l>>12&63,s[i++]=128|l>>6&63,s[i++]=128|l&63);e=s}else 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);e.length>64&&(e=new Sha256(t,!0).update(e).array());var u=[],d=[];for(a=0;a<64;++a){var c=e[a]||0;u[a]=92^c,d[a]=54^c}Sha256.call(this,t,n),this.update(d),this.oKeyPad=u,this.inner=!0,this.sharedMemory=n}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);var sha256Exports=sha256.exports;function base$1(e){if(e.length>=255)throw new TypeError("Alphabet too long");const t=new Uint8Array(256);for(let u=0;u<t.length;u++)t[u]=255;for(let u=0;u<e.length;u++){const d=e.charAt(u),c=d.charCodeAt(0);if(t[c]!==255)throw new TypeError(d+" is ambiguous");t[c]=u}const n=e.length,a=e.charAt(0),r=Math.log(n)/Math.log(256),s=Math.log(256)/Math.log(n);function o(u){if(u instanceof Uint8Array||(ArrayBuffer.isView(u)?u=new Uint8Array(u.buffer,u.byteOffset,u.byteLength):Array.isArray(u)&&(u=Uint8Array.from(u))),!(u instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(u.length===0)return"";let d=0,c=0,f=0;const y=u.length;for(;f!==y&&u[f]===0;)f++,d++;const p=(y-f)*s+1>>>0,b=new Uint8Array(p);for(;f!==y;){let g=u[f],A=0;for(let w=p-1;(g!==0||A<c)&&w!==-1;w--,A++)g+=256*b[w]>>>0,b[w]=g%n>>>0,g=g/n>>>0;if(g!==0)throw new Error("Non-zero carry");c=A,f++}let h=p-c;for(;h!==p&&b[h]===0;)h++;let T=a.repeat(d);for(;h<p;++h)T+=e.charAt(b[h]);return T}function i(u){if(typeof u!="string")throw new TypeError("Expected String");if(u.length===0)return new Uint8Array;let d=0,c=0,f=0;for(;u[d]===a;)c++,d++;const y=(u.length-d)*r+1>>>0,p=new Uint8Array(y);for(;d<u.length;){const g=u.charCodeAt(d);if(g>255)return;let A=t[g];if(A===255)return;let w=0;for(let _=y-1;(A!==0||w<f)&&_!==-1;_--,w++)A+=n*p[_]>>>0,p[_]=A%256>>>0,A=A/256>>>0;if(A!==0)throw new Error("Non-zero carry");f=w,d++}let b=y-f;for(;b!==y&&p[b]===0;)b++;const h=new Uint8Array(c+(y-b));let T=c;for(;b!==y;)h[T++]=p[b++];return h}function l(u){const d=i(u);if(d)return d;throw new Error("Non-base"+n+" character")}return{encode:o,decodeUnsafe:i,decode:l}}var ALPHABET$1="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";base$1(ALPHABET$1);const toBase58=e=>address.base58.encode(e),fromBase58=e=>address.base58.decode(e);function fromBase64(e){return Uint8Array.from(atob(e),t=>t.charCodeAt(0))}const CHUNK_SIZE=8192;function toBase64(e){if(e.length<CHUNK_SIZE)return btoa(String.fromCharCode(...e));let t="";for(var n=0;n<e.length;n+=CHUNK_SIZE){const a=e.slice(n,n+CHUNK_SIZE);t+=String.fromCharCode(...a)}return btoa(t)}function fromHex(e){var r;const t=e.startsWith("0x")?e.slice(2):e,n=t.length%2===0?t:`0${t}`,a=((r=n.match(/[0-9a-fA-F]{2}/g))==null?void 0:r.map(s=>parseInt(s,16)))??[];if(a.length!==n.length/2)throw new Error(`Invalid hex string ${e}`);return Uint8Array.from(a)}function toHex(e){return e.reduce((t,n)=>t+n.toString(16).padStart(2,"0"),"")}function chunk(e,t){return Array.from({length:Math.ceil(e.length/t)},(n,a)=>e.slice(a*t,(a+1)*t))}function ulebEncode(e){const t=[];let n=0;if(e===0)return[0];for(;e>0;)t[n]=e&127,(e>>=7)&&(t[n]|=128),n+=1;return t}function ulebDecode(e){let t=0,n=0,a=0;for(;;){const r=e[a];if(a+=1,t|=(r&127)<<n,!(r&128))break;n+=7}return{value:t,length:a}}class BcsReader{constructor(t){this.bytePosition=0,this.dataView=new DataView(t.buffer,t.byteOffset,t.byteLength)}shift(t){return this.bytePosition+=t,this}read8(){const t=this.dataView.getUint8(this.bytePosition);return this.shift(1),t}read16(){const t=this.dataView.getUint16(this.bytePosition,!0);return this.shift(2),t}read32(){const t=this.dataView.getUint32(this.bytePosition,!0);return this.shift(4),t}read64(){const t=this.read32(),a=this.read32().toString(16)+t.toString(16).padStart(8,"0");return BigInt("0x"+a).toString(10)}read128(){const t=BigInt(this.read64()),a=BigInt(this.read64()).toString(16)+t.toString(16).padStart(16,"0");return BigInt("0x"+a).toString(10)}read256(){const t=BigInt(this.read128()),a=BigInt(this.read128()).toString(16)+t.toString(16).padStart(32,"0");return BigInt("0x"+a).toString(10)}readBytes(t){const n=this.bytePosition+this.dataView.byteOffset,a=new Uint8Array(this.dataView.buffer,n,t);return this.shift(t),a}readULEB(){const t=this.bytePosition+this.dataView.byteOffset,n=new Uint8Array(this.dataView.buffer,t),{value:a,length:r}=ulebDecode(n);return this.shift(r),a}readVec(t){const n=this.readULEB(),a=[];for(let r=0;r<n;r++)a.push(t(this,r,n));return a}}function encodeStr(e,t){switch(t){case"base58":return toBase58(e);case"base64":return toBase64(e);case"hex":return toHex(e);default:throw new Error("Unsupported encoding, supported values are: base64, hex")}}function splitGenericParameters(e,t=["<",">"]){const[n,a]=t,r=[];let s="",o=0;for(let i=0;i<e.length;i++){const l=e[i];if(l===n&&o++,l===a&&o--,o===0&&l===","){r.push(s.trim()),s="";continue}s+=l}return r.push(s.trim()),r}class BcsWriter{constructor({initialSize:t=1024,maxSize:n=1/0,allocateSize:a=1024}={}){this.bytePosition=0,this.size=t,this.maxSize=n,this.allocateSize=a,this.dataView=new DataView(new ArrayBuffer(t))}ensureSizeOrGrow(t){const n=this.bytePosition+t;if(n>this.size){const a=Math.min(this.maxSize,this.size+this.allocateSize);if(n>a)throw new Error(`Attempting to serialize to BCS, but buffer does not have enough size. Allocated size: ${this.size}, Max size: ${this.maxSize}, Required size: ${n}`);this.size=a;const r=new ArrayBuffer(this.size);new Uint8Array(r).set(new Uint8Array(this.dataView.buffer)),this.dataView=new DataView(r)}}shift(t){return this.bytePosition+=t,this}write8(t){return this.ensureSizeOrGrow(1),this.dataView.setUint8(this.bytePosition,Number(t)),this.shift(1)}write16(t){return this.ensureSizeOrGrow(2),this.dataView.setUint16(this.bytePosition,Number(t),!0),this.shift(2)}write32(t){return this.ensureSizeOrGrow(4),this.dataView.setUint32(this.bytePosition,Number(t),!0),this.shift(4)}write64(t){return toLittleEndian(BigInt(t),8).forEach(n=>this.write8(n)),this}write128(t){return toLittleEndian(BigInt(t),16).forEach(n=>this.write8(n)),this}write256(t){return toLittleEndian(BigInt(t),32).forEach(n=>this.write8(n)),this}writeULEB(t){return ulebEncode(t).forEach(n=>this.write8(n)),this}writeVec(t,n){return this.writeULEB(t.length),Array.from(t).forEach((a,r)=>n(this,a,r,t.length)),this}*[Symbol.iterator](){for(let t=0;t<this.bytePosition;t++)yield this.dataView.getUint8(t);return this.toBytes()}toBytes(){return new Uint8Array(this.dataView.buffer.slice(0,this.bytePosition))}toString(t){return encodeStr(this.toBytes(),t)}}function toLittleEndian(e,t){const n=new Uint8Array(t);let a=0;for(;e>0;)n[a]=Number(e%BigInt(256)),e=e/BigInt(256),a+=1;return n}var __typeError$1=e=>{throw TypeError(e)},__accessCheck$1=(e,t,n)=>t.has(e)||__typeError$1("Cannot "+n),__privateGet$1=(e,t,n)=>(__accessCheck$1(e,t,"read from private field"),n?n.call(e):t.get(e)),__privateAdd$1=(e,t,n)=>t.has(e)?__typeError$1("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n),__privateSet$1=(e,t,n,a)=>(__accessCheck$1(e,t,"write to private field"),t.set(e,n),n),_write,_serialize,_schema,_bytes;const _BcsType=class et{constructor(t){__privateAdd$1(this,_write),__privateAdd$1(this,_serialize),this.name=t.name,this.read=t.read,this.serializedSize=t.serializedSize??(()=>null),__privateSet$1(this,_write,t.write),__privateSet$1(this,_serialize,t.serialize??((n,a)=>{const r=new BcsWriter({initialSize:this.serializedSize(n)??void 0,...a});return __privateGet$1(this,_write).call(this,n,r),r.toBytes()})),this.validate=t.validate??(()=>{})}write(t,n){this.validate(t),__privateGet$1(this,_write).call(this,t,n)}serialize(t,n){return this.validate(t),new SerializedBcs(this,__privateGet$1(this,_serialize).call(this,t,n))}parse(t){const n=new BcsReader(t);return this.read(n)}fromHex(t){return this.parse(fromHex(t))}fromBase58(t){return this.parse(fromBase58(t))}fromBase64(t){return this.parse(fromBase64(t))}transform({name:t,input:n,output:a,validate:r}){return new et({name:t??this.name,read:s=>a?a(this.read(s)):this.read(s),write:(s,o)=>__privateGet$1(this,_write).call(this,n?n(s):s,o),serializedSize:s=>this.serializedSize(n?n(s):s),serialize:(s,o)=>__privateGet$1(this,_serialize).call(this,n?n(s):s,o),validate:s=>{r==null||r(s),this.validate(n?n(s):s)}})}};_write=new WeakMap;_serialize=new WeakMap;let BcsType=_BcsType;const SERIALIZED_BCS_BRAND=Symbol.for("@mysten/serialized-bcs");function isSerializedBcs(e){return!!e&&typeof e=="object"&&e[SERIALIZED_BCS_BRAND]===!0}class SerializedBcs{constructor(t,n){__privateAdd$1(this,_schema),__privateAdd$1(this,_bytes),__privateSet$1(this,_schema,t),__privateSet$1(this,_bytes,n)}get[SERIALIZED_BCS_BRAND](){return!0}toBytes(){return __privateGet$1(this,_bytes)}toHex(){return toHex(__privateGet$1(this,_bytes))}toBase64(){return toBase64(__privateGet$1(this,_bytes))}toBase58(){return toBase58(__privateGet$1(this,_bytes))}parse(){return __privateGet$1(this,_schema).parse(__privateGet$1(this,_bytes))}}_schema=new WeakMap;_bytes=new WeakMap;function fixedSizeBcsType({size:e,...t}){return new BcsType({...t,serializedSize:()=>e})}function uIntBcsType({readMethod:e,writeMethod:t,...n}){return fixedSizeBcsType({...n,read:a=>a[e](),write:(a,r)=>r[t](a),validate:a=>{var r;if(a<0||a>n.maxValue)throw new TypeError(`Invalid ${n.name} value: ${a}. Expected value in range 0-${n.maxValue}`);(r=n.validate)==null||r.call(n,a)}})}function bigUIntBcsType({readMethod:e,writeMethod:t,...n}){return fixedSizeBcsType({...n,read:a=>a[e](),write:(a,r)=>r[t](BigInt(a)),validate:a=>{var s;const r=BigInt(a);if(r<0||r>n.maxValue)throw new TypeError(`Invalid ${n.name} value: ${r}. Expected value in range 0-${n.maxValue}`);(s=n.validate)==null||s.call(n,r)}})}function dynamicSizeBcsType({serialize:e,...t}){const n=new BcsType({...t,serialize:e,write:(a,r)=>{for(const s of n.serialize(a).toBytes())r.write8(s)}});return n}function stringLikeBcsType({toBytes:e,fromBytes:t,...n}){return new BcsType({...n,read:a=>{const r=a.readULEB(),s=a.readBytes(r);return t(s)},write:(a,r)=>{const s=e(a);r.writeULEB(s.length);for(let o=0;o<s.length;o++)r.write8(s[o])},serialize:a=>{const r=e(a),s=ulebEncode(r.length),o=new Uint8Array(s.length+r.length);return o.set(s,0),o.set(r,s.length),o},validate:a=>{var r;if(typeof a!="string")throw new TypeError(`Invalid ${n.name} value: ${a}. Expected string`);(r=n.validate)==null||r.call(n,a)}})}function lazyBcsType(e){let t=null;function n(){return t||(t=e()),t}return new BcsType({name:"lazy",read:a=>n().read(a),serializedSize:a=>n().serializedSize(a),write:(a,r)=>n().write(a,r),serialize:(a,r)=>n().serialize(a,r).toBytes()})}const bcs={u8(e){return uIntBcsType({name:"u8",readMethod:"read8",writeMethod:"write8",size:1,maxValue:2**8-1,...e})},u16(e){return uIntBcsType({name:"u16",readMethod:"read16",writeMethod:"write16",size:2,maxValue:2**16-1,...e})},u32(e){return uIntBcsType({name:"u32",readMethod:"read32",writeMethod:"write32",size:4,maxValue:2**32-1,...e})},u64(e){return bigUIntBcsType({name:"u64",readMethod:"read64",writeMethod:"write64",size:8,maxValue:2n**64n-1n,...e})},u128(e){return bigUIntBcsType({name:"u128",readMethod:"read128",writeMethod:"write128",size:16,maxValue:2n**128n-1n,...e})},u256(e){return bigUIntBcsType({name:"u256",readMethod:"read256",writeMethod:"write256",size:32,maxValue:2n**256n-1n,...e})},bool(e){return fixedSizeBcsType({name:"bool",size:1,read:t=>t.read8()===1,write:(t,n)=>n.write8(t?1:0),...e,validate:t=>{var n;if((n=e==null?void 0:e.validate)==null||n.call(e,t),typeof t!="boolean")throw new TypeError(`Expected boolean, found ${typeof t}`)}})},uleb128(e){return dynamicSizeBcsType({name:"uleb128",read:t=>t.readULEB(),serialize:t=>Uint8Array.from(ulebEncode(t)),...e})},bytes(e,t){return fixedSizeBcsType({name:`bytes[${e}]`,size:e,read:n=>n.readBytes(e),write:(n,a)=>{const r=new Uint8Array(n);for(let s=0;s<e;s++)a.write8(r[s]??0)},...t,validate:n=>{var a;if((a=t==null?void 0:t.validate)==null||a.call(t,n),!n||typeof n!="object"||!("length"in n))throw new TypeError(`Expected array, found ${typeof n}`);if(n.length!==e)throw new TypeError(`Expected array of length ${e}, found ${n.length}`)}})},byteVector(e){return new BcsType({name:"bytesVector",read:t=>{const n=t.readULEB();return t.readBytes(n)},write:(t,n)=>{const a=new Uint8Array(t);n.writeULEB(a.length);for(let r=0;r<a.length;r++)n.write8(a[r]??0)},...e,serializedSize:t=>{const n="length"in t?t.length:null;return n==null?null:ulebEncode(n).length+n},validate:t=>{var n;if((n=e==null?void 0:e.validate)==null||n.call(e,t),!t||typeof t!="object"||!("length"in t))throw new TypeError(`Expected array, found ${typeof t}`)}})},string(e){return stringLikeBcsType({name:"string",toBytes:t=>new TextEncoder().encode(t),fromBytes:t=>new TextDecoder().decode(t),...e})},fixedArray(e,t,n){return new BcsType({name:`${t.name}[${e}]`,read:a=>{const r=new Array(e);for(let s=0;s<e;s++)r[s]=t.read(a);return r},write:(a,r)=>{for(const s of a)t.write(s,r)},...n,validate:a=>{var r;if((r=n==null?void 0:n.validate)==null||r.call(n,a),!a||typeof a!="object"||!("length"in a))throw new TypeError(`Expected array, found ${typeof a}`);if(a.length!==e)throw new TypeError(`Expected array of length ${e}, found ${a.length}`)}})},option(e){return bcs.enum(`Option<${e.name}>`,{None:null,Some:e}).transform({input:t=>t==null?{None:!0}:{Some:t},output:t=>t.$kind==="Some"?t.Some:null})},vector(e,t){return new BcsType({name:`vector<${e.name}>`,read:n=>{const a=n.readULEB(),r=new Array(a);for(let s=0;s<a;s++)r[s]=e.read(n);return r},write:(n,a)=>{a.writeULEB(n.length);for(const r of n)e.write(r,a)},...t,validate:n=>{var a;if((a=t==null?void 0:t.validate)==null||a.call(t,n),!n||typeof n!="object"||!("length"in n))throw new TypeError(`Expected array, found ${typeof n}`)}})},tuple(e,t){return new BcsType({name:`(${e.map(n=>n.name).join(", ")})`,serializedSize:n=>{let a=0;for(let r=0;r<e.length;r++){const s=e[r].serializedSize(n[r]);if(s==null)return null;a+=s}return a},read:n=>{const a=[];for(const r of e)a.push(r.read(n));return a},write:(n,a)=>{for(let r=0;r<e.length;r++)e[r].write(n[r],a)},...t,validate:n=>{var a;if((a=t==null?void 0:t.validate)==null||a.call(t,n),!Array.isArray(n))throw new TypeError(`Expected array, found ${typeof n}`);if(n.length!==e.length)throw new TypeError(`Expected array of length ${e.length}, found ${n.length}`)}})},struct(e,t,n){const a=Object.entries(t);return new BcsType({name:e,serializedSize:r=>{let s=0;for(const[o,i]of a){const l=i.serializedSize(r[o]);if(l==null)return null;s+=l}return s},read:r=>{const s={};for(const[o,i]of a)s[o]=i.read(r);return s},write:(r,s)=>{for(const[o,i]of a)i.write(r[o],s)},...n,validate:r=>{var s;if((s=n==null?void 0:n.validate)==null||s.call(n,r),typeof r!="object"||r==null)throw new TypeError(`Expected object, found ${typeof r}`)}})},enum(e,t,n){const a=Object.entries(t);return new BcsType({name:e,read:r=>{const s=r.readULEB(),o=a[s];if(!o)throw new TypeError(`Unknown value ${s} for enum ${e}`);const[i,l]=o;return{[i]:(l==null?void 0:l.read(r))??!0,$kind:i}},write:(r,s)=>{const[o,i]=Object.entries(r).filter(([l])=>Object.hasOwn(t,l))[0];for(let l=0;l<a.length;l++){const[u,d]=a[l];if(u===o){s.writeULEB(l),d==null||d.write(i,s);return}}},...n,validate:r=>{var i;if((i=n==null?void 0:n.validate)==null||i.call(n,r),typeof r!="object"||r==null)throw new TypeError(`Expected object, found ${typeof r}`);const s=Object.keys(r).filter(l=>r[l]!==void 0&&Object.hasOwn(t,l));if(s.length!==1)throw new TypeError(`Expected object with one key, but found ${s.length} for type ${e}}`);const[o]=s;if(!Object.hasOwn(t,o))throw new TypeError(`Invalid enum variant ${o}`)}})},map(e,t){return bcs.vector(bcs.tuple([e,t])).transform({name:`Map<${e.name}, ${t.name}>`,input:n=>[...n.entries()],output:n=>{const a=new Map;for(const[r,s]of n)a.set(r,s);return a}})},lazy(e){return lazyBcsType(e)}},SUI_NS_NAME_REGEX=/^(?!.*(^(?!@)|[-.@])($|[-.@]))(?:[a-z0-9-]{0,63}(?:\.[a-z0-9-]{0,63})*)?@[a-z0-9-]{0,63}$/i,SUI_NS_DOMAIN_REGEX=/^(?!.*(^|[-.])($|[-.]))(?:[a-z0-9-]{0,63}\.)+sui$/i,MAX_SUI_NS_NAME_LENGTH=235;function isValidSuiNSName(e){return e.length>MAX_SUI_NS_NAME_LENGTH?!1:e.includes("@")?SUI_NS_NAME_REGEX.test(e):SUI_NS_DOMAIN_REGEX.test(e)}const NAME_PATTERN=/^([a-z0-9]+(?:-[a-z0-9]+)*)$/,VERSION_REGEX=/^\d+$/,MAX_APP_SIZE=64,NAME_SEPARATOR$1="/",isValidNamedPackage=e=>{const t=e.split(NAME_SEPARATOR$1);if(t.length<2||t.length>3)return!1;const[n,a,r]=t;return r!==void 0&&!VERSION_REGEX.test(r)||!isValidSuiNSName(n)?!1:NAME_PATTERN.test(a)&&a.length<MAX_APP_SIZE},isValidNamedType=e=>{const t=e.split(/::|<|>|,/);for(const n of t)if(n.includes(NAME_SEPARATOR$1)&&!isValidNamedPackage(n))return!1;return!0},SUI_ADDRESS_LENGTH=32;function isValidSuiAddress(e){return isHex(e)&&getHexByteLength(e)===SUI_ADDRESS_LENGTH}function normalizeSuiAddress(e,t=!1){let n=e.toLowerCase();return!t&&n.startsWith("0x")&&(n=n.slice(2)),`0x${n.padStart(SUI_ADDRESS_LENGTH*2,"0")}`}function normalizeSuiObjectId(e,t=!1){return normalizeSuiAddress(e,t)}function isHex(e){return/^(0x|0X)?[a-fA-F0-9]+$/.test(e)&&e.length%2===0}function getHexByteLength(e){return/^(0x|0X)/.test(e)?(e.length-2)/2:e.length/2}const VECTOR_REGEX=/^vector<(.+)>$/,STRUCT_REGEX=/^([^:]+)::([^:]+)::([^<]+)(<(.+)>)?/;class TypeTagSerializer{static parseFromStr(t,n=!1){if(t==="address")return{address:null};if(t==="bool")return{bool:null};if(t==="u8")return{u8:null};if(t==="u16")return{u16:null};if(t==="u32")return{u32:null};if(t==="u64")return{u64:null};if(t==="u128")return{u128:null};if(t==="u256")return{u256:null};if(t==="signer")return{signer:null};const a=t.match(VECTOR_REGEX);if(a)return{vector:TypeTagSerializer.parseFromStr(a[1],n)};const r=t.match(STRUCT_REGEX);if(r)return{struct:{address:n?normalizeSuiAddress(r[1]):r[1],module:r[2],name:r[3],typeParams:r[5]===void 0?[]:TypeTagSerializer.parseStructTypeArgs(r[5],n)}};throw new Error(`Encountered unexpected token when parsing type args for ${t}`)}static parseStructTypeArgs(t,n=!1){return splitGenericParameters(t).map(a=>TypeTagSerializer.parseFromStr(a,n))}static tagToString(t){if("bool"in t)return"bool";if("u8"in t)return"u8";if("u16"in t)return"u16";if("u32"in t)return"u32";if("u64"in t)return"u64";if("u128"in t)return"u128";if("u256"in t)return"u256";if("address"in t)return"address";if("signer"in t)return"signer";if("vector"in t)return`vector<${TypeTagSerializer.tagToString(t.vector)}>`;if("struct"in t){const n=t.struct,a=n.typeParams.map(TypeTagSerializer.tagToString).join(", ");return`${n.address}::${n.module}::${n.name}${a?`<${a}>`:""}`}throw new Error("Invalid TypeTag")}}function unsafe_u64(e){return bcs.u64({name:"unsafe_u64",...e}).transform({input:t=>t,output:t=>Number(t)})}function optionEnum(e){return bcs.enum("Option",{None:null,Some:e})}const Address=bcs.bytes(SUI_ADDRESS_LENGTH).transform({validate:e=>{const t=typeof e=="string"?e:toHex(e);if(!t||!isValidSuiAddress(normalizeSuiAddress(t)))throw new Error(`Invalid Sui address ${t}`)},input:e=>typeof e=="string"?fromHex(normalizeSuiAddress(e)):e,output:e=>normalizeSuiAddress(toHex(e))}),ObjectDigest=bcs.vector(bcs.u8()).transform({name:"ObjectDigest",input:e=>fromBase58(e),output:e=>toBase58(new Uint8Array(e)),validate:e=>{if(fromBase58(e).length!==32)throw new Error("ObjectDigest must be 32 bytes")}}),SuiObjectRef=bcs.struct("SuiObjectRef",{objectId:Address,version:bcs.u64(),digest:ObjectDigest}),SharedObjectRef=bcs.struct("SharedObjectRef",{objectId:Address,initialSharedVersion:bcs.u64(),mutable:bcs.bool()}),ObjectArg$3=bcs.enum("ObjectArg",{ImmOrOwnedObject:SuiObjectRef,SharedObject:SharedObjectRef,Receiving:SuiObjectRef}),Owner=bcs.enum("Owner",{AddressOwner:Address,ObjectOwner:Address,Shared:bcs.struct("Shared",{initialSharedVersion:bcs.u64()}),Immutable:null,ConsensusAddressOwner:bcs.struct("ConsensusAddressOwner",{owner:Address,startVersion:bcs.u64()})}),CallArg$2=bcs.enum("CallArg",{Pure:bcs.struct("Pure",{bytes:bcs.vector(bcs.u8()).transform({input:e=>typeof e=="string"?fromBase64(e):e,output:e=>toBase64(new Uint8Array(e))})}),Object:ObjectArg$3}),InnerTypeTag=bcs.enum("TypeTag",{bool:null,u8:null,u64:null,u128:null,address:null,signer:null,vector:bcs.lazy(()=>InnerTypeTag),struct:bcs.lazy(()=>StructTag$1),u16:null,u32:null,u256:null}),TypeTag$1=InnerTypeTag.transform({input:e=>typeof e=="string"?TypeTagSerializer.parseFromStr(e,!0):e,output:e=>TypeTagSerializer.tagToString(e)}),Argument$2=bcs.enum("Argument",{GasCoin:null,Input:bcs.u16(),Result:bcs.u16(),NestedResult:bcs.tuple([bcs.u16(),bcs.u16()])}),ProgrammableMoveCall$2=bcs.struct("ProgrammableMoveCall",{package:Address,module:bcs.string(),function:bcs.string(),typeArguments:bcs.vector(TypeTag$1),arguments:bcs.vector(Argument$2)}),Command$2=bcs.enum("Command",{MoveCall:ProgrammableMoveCall$2,TransferObjects:bcs.struct("TransferObjects",{objects:bcs.vector(Argument$2),address:Argument$2}),SplitCoins:bcs.struct("SplitCoins",{coin:Argument$2,amounts:bcs.vector(Argument$2)}),MergeCoins:bcs.struct("MergeCoins",{destination:Argument$2,sources:bcs.vector(Argument$2)}),Publish:bcs.struct("Publish",{modules:bcs.vector(bcs.vector(bcs.u8()).transform({input:e=>typeof e=="string"?fromBase64(e):e,output:e=>toBase64(new Uint8Array(e))})),dependencies:bcs.vector(Address)}),MakeMoveVec:bcs.struct("MakeMoveVec",{type:optionEnum(TypeTag$1).transform({input:e=>e===null?{None:!0}:{Some:e},output:e=>e.Some??null}),elements:bcs.vector(Argument$2)}),Upgrade:bcs.struct("Upgrade",{modules:bcs.vector(bcs.vector(bcs.u8()).transform({input:e=>typeof e=="string"?fromBase64(e):e,output:e=>toBase64(new Uint8Array(e))})),dependencies:bcs.vector(Address),package:Address,ticket:Argument$2})}),ProgrammableTransaction=bcs.struct("ProgrammableTransaction",{inputs:bcs.vector(CallArg$2),commands:bcs.vector(Command$2)}),TransactionKind=bcs.enum("TransactionKind",{ProgrammableTransaction,ChangeEpoch:null,Genesis:null,ConsensusCommitPrologue:null}),TransactionExpiration$3=bcs.enum("TransactionExpiration",{None:null,Epoch:unsafe_u64()}),StructTag$1=bcs.struct("StructTag",{address:Address,module:bcs.string(),name:bcs.string(),typeParams:bcs.vector(InnerTypeTag)}),GasData$2=bcs.struct("GasData",{payment:bcs.vector(SuiObjectRef),owner:Address,price:bcs.u64(),budget:bcs.u64()}),TransactionDataV1=bcs.struct("TransactionDataV1",{kind:TransactionKind,sender:Address,gasData:GasData$2,expiration:TransactionExpiration$3}),TransactionData$1=bcs.enum("TransactionData",{V1:TransactionDataV1}),IntentScope=bcs.enum("IntentScope",{TransactionData:null,TransactionEffects:null,CheckpointSummary:null,PersonalMessage:null}),IntentVersion=bcs.enum("IntentVersion",{V0:null}),AppId=bcs.enum("AppId",{Sui:null}),Intent=bcs.struct("Intent",{scope:IntentScope,version:IntentVersion,appId:AppId});function IntentMessage(e){return bcs.struct(`IntentMessage<${e.name}>`,{intent:Intent,value:e})}const CompressedSignature=bcs.enum("CompressedSignature",{ED25519:bcs.fixedArray(64,bcs.u8()),Secp256k1:bcs.fixedArray(64,bcs.u8()),Secp256r1:bcs.fixedArray(64,bcs.u8()),ZkLogin:bcs.vector(bcs.u8())}),PublicKey=bcs.enum("PublicKey",{ED25519:bcs.fixedArray(32,bcs.u8()),Secp256k1:bcs.fixedArray(33,bcs.u8()),Secp256r1:bcs.fixedArray(33,bcs.u8()),ZkLogin:bcs.vector(bcs.u8())}),MultiSigPkMap=bcs.struct("MultiSigPkMap",{pubKey:PublicKey,weight:bcs.u8()}),MultiSigPublicKey=bcs.struct("MultiSigPublicKey",{pk_map:bcs.vector(MultiSigPkMap),threshold:bcs.u16()}),MultiSig=bcs.struct("MultiSig",{sigs:bcs.vector(CompressedSignature),bitmap:bcs.u16(),multisig_pk:MultiSigPublicKey}),base64String=bcs.vector(bcs.u8()).transform({input:e=>typeof e=="string"?fromBase64(e):e,output:e=>toBase64(new Uint8Array(e))}),SenderSignedTransaction=bcs.struct("SenderSignedTransaction",{intentMessage:IntentMessage(TransactionData$1),txSignatures:bcs.vector(base64String)}),SenderSignedData=bcs.vector(SenderSignedTransaction,{name:"SenderSignedData"}),PasskeyAuthenticator=bcs.struct("PasskeyAuthenticator",{authenticatorData:bcs.vector(bcs.u8()),clientDataJson:bcs.string(),userSignature:bcs.vector(bcs.u8())}),PackageUpgradeError=bcs.enum("PackageUpgradeError",{UnableToFetchPackage:bcs.struct("UnableToFetchPackage",{packageId:Address}),NotAPackage:bcs.struct("NotAPackage",{objectId:Address}),IncompatibleUpgrade:null,DigestDoesNotMatch:bcs.struct("DigestDoesNotMatch",{digest:bcs.vector(bcs.u8())}),UnknownUpgradePolicy:bcs.struct("UnknownUpgradePolicy",{policy:bcs.u8()}),PackageIDDoesNotMatch:bcs.struct("PackageIDDoesNotMatch",{packageId:Address,ticketId:Address})}),ModuleId=bcs.struct("ModuleId",{address:Address,name:bcs.string()}),MoveLocation=bcs.struct("MoveLocation",{module:ModuleId,function:bcs.u16(),instruction:bcs.u16(),functionName:bcs.option(bcs.string())}),CommandArgumentError=bcs.enum("CommandArgumentError",{TypeMismatch:null,InvalidBCSBytes:null,InvalidUsageOfPureArg:null,InvalidArgumentToPrivateEntryFunction:null,IndexOutOfBounds:bcs.struct("IndexOutOfBounds",{idx:bcs.u16()}),SecondaryIndexOutOfBounds:bcs.struct("SecondaryIndexOutOfBounds",{resultIdx:bcs.u16(),secondaryIdx:bcs.u16()}),InvalidResultArity:bcs.struct("InvalidResultArity",{resultIdx:bcs.u16()}),InvalidGasCoinUsage:null,InvalidValueUsage:null,InvalidObjectByValue:null,InvalidObjectByMutRef:null,SharedObjectOperationNotAllowed:null}),TypeArgumentError=bcs.enum("TypeArgumentError",{TypeNotFound:null,ConstraintNotSatisfied:null}),ExecutionFailureStatus=bcs.enum("ExecutionFailureStatus",{InsufficientGas:null,InvalidGasObject:null,InvariantViolation:null,FeatureNotYetSupported:null,MoveObjectTooBig:bcs.struct("MoveObjectTooBig",{objectSize:bcs.u64(),maxObjectSize:bcs.u64()}),MovePackageTooBig:bcs.struct("MovePackageTooBig",{objectSize:bcs.u64(),maxObjectSize:bcs.u64()}),CircularObjectOwnership:bcs.struct("CircularObjectOwnership",{object:Address}),InsufficientCoinBalance:null,CoinBalanceOverflow:null,PublishErrorNonZeroAddress:null,SuiMoveVerificationError:null,MovePrimitiveRuntimeError:bcs.option(MoveLocation),MoveAbort:bcs.tuple([MoveLocation,bcs.u64()]),VMVerificationOrDeserializationError:null,VMInvariantViolation:null,FunctionNotFound:null,ArityMismatch:null,TypeArityMismatch:null,NonEntryFunctionInvoked:null,CommandArgumentError:bcs.struct("CommandArgumentError",{argIdx:bcs.u16(),kind:CommandArgumentError}),TypeArgumentError:bcs.struct("TypeArgumentError",{argumentIdx:bcs.u16(),kind:TypeArgumentError}),UnusedValueWithoutDrop:bcs.struct("UnusedValueWithoutDrop",{resultIdx:bcs.u16(),secondaryIdx:bcs.u16()}),InvalidPublicFunctionReturnType:bcs.struct("InvalidPublicFunctionReturnType",{idx:bcs.u16()}),InvalidTransferObject:null,EffectsTooLarge:bcs.struct("EffectsTooLarge",{currentSize:bcs.u64(),maxSize:bcs.u64()}),PublishUpgradeMissingDependency:null,PublishUpgradeDependencyDowngrade:null,PackageUpgradeError:bcs.struct("PackageUpgradeError",{upgradeError:PackageUpgradeError}),WrittenObjectsTooLarge:bcs.struct("WrittenObjectsTooLarge",{currentSize:bcs.u64(),maxSize:bcs.u64()}),CertificateDenied:null,SuiMoveVerificationTimedout:null,SharedObjectOperationNotAllowed:null,InputObjectDeleted:null,ExecutionCancelledDueToSharedObjectCongestion:bcs.struct("ExecutionCancelledDueToSharedObjectCongestion",{congestedObjects:bcs.vector(Address)}),AddressDeniedForCoin:bcs.struct("AddressDeniedForCoin",{address:Address,coinType:bcs.string()}),CoinTypeGlobalPause:bcs.struct("CoinTypeGlobalPause",{coinType:bcs.string()}),ExecutionCancelledDueToRandomnessUnavailable:null}),ExecutionStatus=bcs.enum("ExecutionStatus",{Success:null,Failed:bcs.struct("ExecutionFailed",{error:ExecutionFailureStatus,command:bcs.option(bcs.u64())})}),GasCostSummary=bcs.struct("GasCostSummary",{computationCost:bcs.u64(),storageCost:bcs.u64(),storageRebate:bcs.u64(),nonRefundableStorageFee:bcs.u64()}),TransactionEffectsV1=bcs.struct("TransactionEffectsV1",{status:ExecutionStatus,executedEpoch:bcs.u64(),gasUsed:GasCostSummary,modifiedAtVersions:bcs.vector(bcs.tuple([Address,bcs.u64()])),sharedObjects:bcs.vector(SuiObjectRef),transactionDigest:ObjectDigest,created:bcs.vector(bcs.tuple([SuiObjectRef,Owner])),mutated:bcs.vector(bcs.tuple([SuiObjectRef,Owner])),unwrapped:bcs.vector(bcs.tuple([SuiObjectRef,Owner])),deleted:bcs.vector(SuiObjectRef),unwrappedThenDeleted:bcs.vector(SuiObjectRef),wrapped:bcs.vector(SuiObjectRef),gasObject:bcs.tuple([SuiObjectRef,Owner]),eventsDigest:bcs.option(ObjectDigest),dependencies:bcs.vector(ObjectDigest)}),VersionDigest=bcs.tuple([bcs.u64(),ObjectDigest]),ObjectIn=bcs.enum("ObjectIn",{NotExist:null,Exist:bcs.tuple([VersionDigest,Owner])}),ObjectOut=bcs.enum("ObjectOut",{NotExist:null,ObjectWrite:bcs.tuple([ObjectDigest,Owner]),PackageWrite:VersionDigest}),IDOperation=bcs.enum("IDOperation",{None:null,Created:null,Deleted:null}),EffectsObjectChange=bcs.struct("EffectsObjectChange",{inputState:ObjectIn,outputState:ObjectOut,idOperation:IDOperation}),UnchangedSharedKind=bcs.enum("UnchangedSharedKind",{ReadOnlyRoot:VersionDigest,MutateDeleted:bcs.u64(),ReadDeleted:bcs.u64(),Cancelled:bcs.u64(),PerEpochConfig:null}),TransactionEffectsV2=bcs.struct("TransactionEffectsV2",{status:ExecutionStatus,executedEpoch:bcs.u64(),gasUsed:GasCostSummary,transactionDigest:ObjectDigest,gasObjectIndex:bcs.option(bcs.u32()),eventsDigest:bcs.option(ObjectDigest),dependencies:bcs.vector(ObjectDigest),lamportVersion:bcs.u64(),changedObjects:bcs.vector(bcs.tuple([Address,EffectsObjectChange])),unchangedSharedObjects:bcs.vector(bcs.tuple([Address,UnchangedSharedKind])),auxDataDigest:bcs.option(ObjectDigest)}),TransactionEffects=bcs.enum("TransactionEffects",{V1:TransactionEffectsV1,V2:TransactionEffectsV2});function pureBcsSchemaFromTypeName(e){switch(e){case"u8":return bcs.u8();case"u16":return bcs.u16();case"u32":return bcs.u32();case"u64":return bcs.u64();case"u128":return bcs.u128();case"u256":return bcs.u256();case"bool":return bcs.bool();case"string":return bcs.string();case"id":case"address":return Address}const t=e.match(/^(vector|option)<(.+)>$/);if(t){const[n,a]=t.slice(1);return n==="vector"?bcs.vector(pureBcsSchemaFromTypeName(a)):bcs.option(pureBcsSchemaFromTypeName(a))}throw new Error(`Invalid Pure type name: ${e}`)}const suiBcs={...bcs,U8:bcs.u8(),U16:bcs.u16(),U32:bcs.u32(),U64:bcs.u64(),U128:bcs.u128(),U256:bcs.u256(),ULEB128:bcs.uleb128(),Bool:bcs.bool(),String:bcs.string(),Address,AppId,Argument:Argument$2,CallArg:CallArg$2,Command:Command$2,CompressedSignature,GasData:GasData$2,Intent,IntentMessage,IntentScope,IntentVersion,MultiSig,MultiSigPkMap,MultiSigPublicKey,ObjectArg:ObjectArg$3,ObjectDigest,Owner,PasskeyAuthenticator,ProgrammableMoveCall:ProgrammableMoveCall$2,ProgrammableTransaction,PublicKey,SenderSignedData,SenderSignedTransaction,SharedObjectRef,StructTag:StructTag$1,SuiObjectRef,TransactionData:TransactionData$1,TransactionDataV1,TransactionEffects,TransactionExpiration:TransactionExpiration$3,TransactionKind,TypeTag:TypeTag$1};BigInt(1e9);const MOVE_STDLIB_ADDRESS="0x1",SUI_FRAMEWORK_ADDRESS="0x2",SUI_CLOCK_OBJECT_ID=normalizeSuiObjectId("0x6"),SUI_TYPE_ARG=`${SUI_FRAMEWORK_ADDRESS}::sui::SUI`;normalizeSuiObjectId("0x5");const OBJECT_MODULE_NAME="object",ID_STRUCT_NAME="ID",STD_ASCII_MODULE_NAME="ascii",STD_ASCII_STRUCT_NAME="String",STD_UTF8_MODULE_NAME="string",STD_UTF8_STRUCT_NAME="String",STD_OPTION_MODULE_NAME="option",STD_OPTION_STRUCT_NAME="Option";function isTxContext(e){const t=typeof e.body=="object"&&"datatype"in e.body?e.body.datatype:null;return!!t&&normalizeSuiAddress(t.package)===normalizeSuiAddress("0x2")&&t.module==="tx_context"&&t.type==="TxContext"}function getPureBcsSchema(e){if(typeof e=="string")switch(e){case"address":return suiBcs.Address;case"bool":return suiBcs.Bool;case"u8":return suiBcs.U8;case"u16":return suiBcs.U16;case"u32":return suiBcs.U32;case"u64":return suiBcs.U64;case"u128":return suiBcs.U128;case"u256":return suiBcs.U256;default:throw new Error(`Unknown type signature ${e}`)}if("vector"in e){if(e.vector==="u8")return suiBcs.vector(suiBcs.U8).transform({input:n=>typeof n=="string"?new TextEncoder().encode(n):n,output:n=>n});const t=getPureBcsSchema(e.vector);return t?suiBcs.vector(t):null}if("datatype"in e){const t=normalizeSuiAddress(e.datatype.package);if(t===normalizeSuiAddress(MOVE_STDLIB_ADDRESS)){if(e.datatype.module===STD_ASCII_MODULE_NAME&&e.datatype.type===STD_ASCII_STRUCT_NAME||e.datatype.module===STD_UTF8_MODULE_NAME&&e.datatype.type===STD_UTF8_STRUCT_NAME)return suiBcs.String;if(e.datatype.module===STD_OPTION_MODULE_NAME&&e.datatype.type===STD_OPTION_STRUCT_NAME){const n=getPureBcsSchema(e.datatype.typeParameters[0]);return n?suiBcs.vector(n):null}}if(t===normalizeSuiAddress(SUI_FRAMEWORK_ADDRESS)&&e.datatype.module===OBJECT_MODULE_NAME&&e.datatype.type===ID_STRUCT_NAME)return suiBcs.Address}return null}function normalizedTypeToMoveTypeSignature(e){return typeof e=="object"&&"Reference"in e?{ref:"&",body:normalizedTypeToMoveTypeSignatureBody(e.Reference)}:typeof e=="object"&&"MutableReference"in e?{ref:"&mut",body:normalizedTypeToMoveTypeSignatureBody(e.MutableReference)}:{ref:null,body:normalizedTypeToMoveTypeSignatureBody(e)}}function normalizedTypeToMoveTypeSignatureBody(e){if(typeof e=="string")switch(e){case"Address":return"address";case"Bool":return"bool";case"U8":return"u8";case"U16":return"u16";case"U32":return"u32";case"U64":return"u64";case"U128":return"u128";case"U256":return"u256";default:throw new Error(`Unexpected type ${e}`)}if("Vector"in e)return{vector:normalizedTypeToMoveTypeSignatureBody(e.Vector)};if("Struct"in e)return{datatype:{package:e.Struct.address,module:e.Struct.module,type:e.Struct.name,typeParameters:e.Struct.typeArguments.map(normalizedTypeToMoveTypeSignatureBody)}};if("TypeParameter"in e)return{typeParameter:e.TypeParameter};throw new Error(`Unexpected type ${JSON.stringify(e)}`)}function Pure(e){return{$kind:"Pure",Pure:{bytes:e instanceof Uint8Array?toBase64(e):e.toBase64()}}}const Inputs={Pure,ObjectRef({objectId:e,digest:t,version:n}){return{$kind:"Object",Object:{$kind:"ImmOrOwnedObject",ImmOrOwnedObject:{digest:t,version:n,objectId:normalizeSuiAddress(e)}}}},SharedObjectRef({objectId:e,mutable:t,initialSharedVersion:n}){return{$kind:"Object",Object:{$kind:"SharedObject",SharedObject:{mutable:t,initialSharedVersion:n,objectId:normalizeSuiAddress(e)}}}},ReceivingRef({objectId:e,digest:t,version:n}){return{$kind:"Object",Object:{$kind:"Receiving",Receiving:{digest:t,version:n,objectId:normalizeSuiAddress(e)}}}}};function safeEnum(e){const t=Object.entries(e).map(([n,a])=>platform$2.object({[n]:a}));return platform$2.pipe(platform$2.union(t),platform$2.transform(n=>({...n,$kind:Object.keys(n)[0]})))}const SuiAddress=platform$2.pipe(platform$2.string(),platform$2.transform(e=>normalizeSuiAddress(e)),platform$2.check(isValidSuiAddress)),ObjectID=SuiAddress,BCSBytes=platform$2.string(),JsonU64=platform$2.pipe(platform$2.union([platform$2.string(),platform$2.pipe(platform$2.number(),platform$2.integer())]),platform$2.check(e=>{try{return BigInt(e),BigInt(e)>=0&&BigInt(e)<=18446744073709551615n}catch{return!1}},"Invalid u64")),ObjectRef$1=platform$2.object({objectId:SuiAddress,version:JsonU64,digest:platform$2.string()}),Argument$1=platform$2.pipe(platform$2.union([platform$2.object({GasCoin:platform$2.literal(!0)}),platform$2.object({Input:platform$2.pipe(platform$2.number(),platform$2.integer()),type:platform$2.optional(platform$2.literal("pure"))}),platform$2.object({Input:platform$2.pipe(platform$2.number(),platform$2.integer()),type:platform$2.optional(platform$2.literal("object"))}),platform$2.object({Result:platform$2.pipe(platform$2.number(),platform$2.integer())}),platform$2.object({NestedResult:platform$2.tuple([platform$2.pipe(platform$2.number(),platform$2.integer()),platform$2.pipe(platform$2.number(),platform$2.integer())])})]),platform$2.transform(e=>({...e,$kind:Object.keys(e)[0]}))),GasData$1=platform$2.object({budget:platform$2.nullable(JsonU64),price:platform$2.nullable(JsonU64),owner:platform$2.nullable(SuiAddress),payment:platform$2.nullable(platform$2.array(ObjectRef$1))}),OpenMoveTypeSignatureBody=platform$2.union([platform$2.literal("address"),platform$2.literal("bool"),platform$2.literal("u8"),platform$2.literal("u16"),platform$2.literal("u32"),platform$2.literal("u64"),platform$2.literal("u128"),platform$2.literal("u256"),platform$2.object({vector:platform$2.lazy(()=>OpenMoveTypeSignatureBody)}),platform$2.object({datatype:platform$2.object({package:platform$2.string(),module:platform$2.string(),type:platform$2.string(),typeParameters:platform$2.array(platform$2.lazy(()=>OpenMoveTypeSignatureBody))})}),platform$2.object({typeParameter:platform$2.pipe(platform$2.number(),platform$2.integer())})]),OpenMoveTypeSignature=platform$2.object({ref:platform$2.nullable(platform$2.union([platform$2.literal("&"),platform$2.literal("&mut")])),body:OpenMoveTypeSignatureBody}),ProgrammableMoveCall$1=platform$2.object({package:ObjectID,module:platform$2.string(),function:platform$2.string(),typeArguments:platform$2.array(platform$2.string()),arguments:platform$2.array(Argument$1),_argumentTypes:platform$2.optional(platform$2.nullable(platform$2.array(OpenMoveTypeSignature)))}),$Intent$1=platform$2.object({name:platform$2.string(),inputs:platform$2.record(platform$2.string(),platform$2.union([Argument$1,platform$2.array(Argument$1)])),data:platform$2.record(platform$2.string(),platform$2.unknown())}),Command$1=safeEnum({MoveCall:ProgrammableMoveCall$1,TransferObjects:platform$2.object({objects:platform$2.array(Argument$1),address:Argument$1}),SplitCoins:platform$2.object({coin:Argument$1,amounts:platform$2.array(Argument$1)}),MergeCoins:platform$2.object({destination:Argument$1,sources:platform$2.array(Argument$1)}),Publish:platform$2.object({modules:platform$2.array(BCSBytes),dependencies:platform$2.array(ObjectID)}),MakeMoveVec:platform$2.object({type:platform$2.nullable(platform$2.string()),elements:platform$2.array(Argument$1)}),Upgrade:platform$2.object({modules:platform$2.array(BCSBytes),dependencies:platform$2.array(ObjectID),package:ObjectID,ticket:Argument$1}),$Intent:$Intent$1}),ObjectArg$2=safeEnum({ImmOrOwnedObject:ObjectRef$1,SharedObject:platform$2.object({objectId:ObjectID,initialSharedVersion:JsonU64,mutable:platform$2.boolean()}),Receiving:ObjectRef$1}),CallArg$1=safeEnum({Object:ObjectArg$2,Pure:platform$2.object({bytes:BCSBytes}),UnresolvedPure:platform$2.object({value:platform$2.unknown()}),UnresolvedObject:platform$2.object({objectId:ObjectID,version:platform$2.optional(platform$2.nullable(JsonU64)),digest:platform$2.optional(platform$2.nullable(platform$2.string())),initialSharedVersion:platform$2.optional(platform$2.nullable(JsonU64))})}),NormalizedCallArg$1=safeEnum({Object:ObjectArg$2,Pure:platform$2.object({bytes:BCSBytes})}),TransactionExpiration$2=safeEnum({None:platform$2.literal(!0),Epoch:JsonU64}),TransactionData=platform$2.object({version:platform$2.literal(2),sender:platform$2.nullish(SuiAddress),expiration:platform$2.nullish(TransactionExpiration$2),gasData:GasData$1,inputs:platform$2.array(CallArg$1),commands:platform$2.array(Command$1)}),Commands={MoveCall(e){const[t,n="",a=""]="target"in e?e.target.split("::"):[e.package,e.module,e.function];return{$kind:"MoveCall",MoveCall:{package:t,module:n,function:a,typeArguments:e.typeArguments??[],arguments:e.arguments??[]}}},TransferObjects(e,t){return{$kind:"TransferObjects",TransferObjects:{objects:e.map(n=>platform$2.parse(Argument$1,n)),address:platform$2.parse(Argument$1,t)}}},SplitCoins(e,t){return{$kind:"SplitCoins",SplitCoins:{coin:platform$2.parse(Argument$1,e),amounts:t.map(n=>platform$2.parse(Argument$1,n))}}},MergeCoins(e,t){return{$kind:"MergeCoins",MergeCoins:{destination:platform$2.parse(Argument$1,e),sources:t.map(n=>platform$2.parse(Argument$1,n))}}},Publish({modules:e,dependencies:t}){return{$kind:"Publish",Publish:{modules:e.map(n=>typeof n=="string"?n:toBase64(new Uint8Array(n))),dependencies:t.map(n=>normalizeSuiObjectId(n))}}},Upgrade({modules:e,dependencies:t,package:n,ticket:a}){return{$kind:"Upgrade",Upgrade:{modules:e.map(r=>typeof r=="string"?r:toBase64(new Uint8Array(r))),dependencies:t.map(r=>normalizeSuiObjectId(r)),package:n,ticket:platform$2.parse(Argument$1,a)}}},MakeMoveVec({type:e,elements:t}){return{$kind:"MakeMoveVec",MakeMoveVec:{type:e??null,elements:t.map(n=>platform$2.parse(Argument$1,n))}}},Intent({name:e,inputs:t={},data:n={}}){return{$kind:"$Intent",$Intent:{name:e,inputs:Object.fromEntries(Object.entries(t).map(([a,r])=>[a,Array.isArray(r)?r.map(s=>platform$2.parse(Argument$1,s)):platform$2.parse(Argument$1,r)])),data:n}}}},ObjectRef=platform$2.object({digest:platform$2.string(),objectId:platform$2.string(),version:platform$2.union([platform$2.pipe(platform$2.number(),platform$2.integer()),platform$2.string(),platform$2.bigint()])}),ObjectArg$1=safeEnum({ImmOrOwned:ObjectRef,Shared:platform$2.object({objectId:ObjectID,initialSharedVersion:JsonU64,mutable:platform$2.boolean()}),Receiving:ObjectRef}),NormalizedCallArg=safeEnum({Object:ObjectArg$1,Pure:platform$2.array(platform$2.pipe(platform$2.number(),platform$2.integer()))}),TransactionInput=platform$2.union([platform$2.object({kind:platform$2.literal("Input"),index:platform$2.pipe(platform$2.number(),platform$2.integer()),value:platform$2.unknown(),type:platform$2.optional(platform$2.literal("object"))}),platform$2.object({kind:platform$2.literal("Input"),index:platform$2.pipe(platform$2.number(),platform$2.integer()),value:platform$2.unknown(),type:platform$2.literal("pure")})]),TransactionExpiration$1=platform$2.union([platform$2.object({Epoch:platform$2.pipe(platform$2.number(),platform$2.integer())}),platform$2.object({None:platform$2.nullable(platform$2.literal(!0))})]),StringEncodedBigint=platform$2.pipe(platform$2.union([platform$2.number(),platform$2.string(),platform$2.bigint()]),platform$2.check(e=>{if(!["string","number","bigint"].includes(typeof e))return!1;try{return BigInt(e),!0}catch{return!1}})),TypeTag=platform$2.union([platform$2.object({bool:platform$2.nullable(platform$2.literal(!0))}),platform$2.object({u8:platform$2.nullable(platform$2.literal(!0))}),platform$2.object({u64:platform$2.nullable(platform$2.literal(!0))}),platform$2.object({u128:platform$2.nullable(platform$2.literal(!0))}),platform$2.object({address:platform$2.nullable(platform$2.literal(!0))}),platform$2.object({signer:platform$2.nullable(platform$2.literal(!0))}),platform$2.object({vector:platform$2.lazy(()=>TypeTag)}),platform$2.object({struct:platform$2.lazy(()=>StructTag)}),platform$2.object({u16:platform$2.nullable(platform$2.literal(!0))}),platform$2.object({u32:platform$2.nullable(platform$2.literal(!0))}),platform$2.object({u256:platform$2.nullable(platform$2.literal(!0))})]),StructTag=platform$2.object({address:platform$2.string(),module:platform$2.string(),name:platform$2.string(),typeParams:platform$2.array(TypeTag)}),GasConfig=platform$2.object({budget:platform$2.optional(StringEncodedBigint),price:platform$2.optional(StringEncodedBigint),payment:platform$2.optional(platform$2.array(ObjectRef)),owner:platform$2.optional(platform$2.string())}),TransactionArgumentTypes=[TransactionInput,platform$2.object({kind:platform$2.literal("GasCoin")}),platform$2.object({kind:platform$2.literal("Result"),index:platform$2.pipe(platform$2.number(),platform$2.integer())}),platform$2.object({kind:platform$2.literal("NestedResult"),index:platform$2.pipe(platform$2.number(),platform$2.integer()),resultIndex:platform$2.pipe(platform$2.number(),platform$2.integer())})],TransactionArgument=platform$2.union([...TransactionArgumentTypes]),MoveCallTransaction=platform$2.object({kind:platform$2.literal("MoveCall"),target:platform$2.pipe(platform$2.string(),platform$2.check(e=>e.split("::").length===3)),typeArguments:platform$2.array(platform$2.string()),arguments:platform$2.array(TransactionArgument)}),TransferObjectsTransaction=platform$2.object({kind:platform$2.literal("TransferObjects"),objects:platform$2.array(TransactionArgument),address:TransactionArgument}),SplitCoinsTransaction=platform$2.object({kind:platform$2.literal("SplitCoins"),coin:TransactionArgument,amounts:platform$2.array(TransactionArgument)}),MergeCoinsTransaction=platform$2.object({kind:platform$2.literal("MergeCoins"),destination:TransactionArgument,sources:platform$2.array(TransactionArgument)}),MakeMoveVecTransaction=platform$2.object({kind:platform$2.literal("MakeMoveVec"),type:platform$2.union([platform$2.object({Some:TypeTag}),platform$2.object({None:platform$2.nullable(platform$2.literal(!0))})]),objects:platform$2.array(TransactionArgument)}),PublishTransaction=platform$2.object({kind:platform$2.literal("Publish"),modules:platform$2.array(platform$2.array(platform$2.pipe(platform$2.number(),platform$2.integer()))),dependencies:platform$2.array(platform$2.string())}),UpgradeTransaction=platform$2.object({kind:platform$2.literal("Upgrade"),modules:platform$2.array(platform$2.array(platform$2.pipe(platform$2.number(),platform$2.integer()))),dependencies:platform$2.array(platform$2.string()),packageId:platform$2.string(),ticket:TransactionArgument}),TransactionTypes=[MoveCallTransaction,TransferObjectsTransaction,SplitCoinsTransaction,MergeCoinsTransaction,PublishTransaction,UpgradeTransaction,MakeMoveVecTransaction],TransactionType=platform$2.union([...TransactionTypes]);platform$2.object({version:platform$2.literal(1),sender:platform$2.optional(platform$2.string()),expiration:platform$2.nullish(TransactionExpiration$1),gasConfig:GasConfig,inputs:platform$2.array(TransactionInput),transactions:platform$2.array(TransactionType)});function serializeV1TransactionData(e){var n;const t=e.inputs.map((a,r)=>{if(a.Object)return{kind:"Input",index:r,value:{Object:a.Object.ImmOrOwnedObject?{ImmOrOwned:a.Object.ImmOrOwnedObject}:a.Object.Receiving?{Receiving:{digest:a.Object.Receiving.digest,version:a.Object.Receiving.version,objectId:a.Object.Receiving.objectId}}:{Shared:{mutable:a.Object.SharedObject.mutable,initialSharedVersion:a.Object.SharedObject.initialSharedVersion,objectId:a.Object.SharedObject.objectId}}},type:"object"};if(a.Pure)return{kind:"Input",index:r,value:{Pure:Array.from(fromBase64(a.Pure.bytes))},type:"pure"};if(a.UnresolvedPure)return{kind:"Input",type:"pure",index:r,value:a.UnresolvedPure.value};if(a.UnresolvedObject)return{kind:"Input",type:"object",index:r,value:a.UnresolvedObject.objectId};throw new Error("Invalid input")});return{version:1,sender:e.sender??void 0,expiration:((n=e.expiration)==null?void 0:n.$kind)==="Epoch"?{Epoch:Number(e.expiration.Epoch)}:e.expiration?{None:!0}:null,gasConfig:{owner:e.gasData.owner??void 0,budget:e.gasData.budget??void 0,price:e.gasData.price??void 0,payment:e.gasData.payment??void 0},inputs:t,transactions:e.commands.map(a=>{if(a.MakeMoveVec)return{kind:"MakeMoveVec",type:a.MakeMoveVec.type===null?{None:!0}:{Some:TypeTagSerializer.parseFromStr(a.MakeMoveVec.type)},objects:a.MakeMoveVec.elements.map(r=>convertTransactionArgument(r,t))};if(a.MergeCoins)return{kind:"MergeCoins",destination:convertTransactionArgument(a.MergeCoins.destination,t),sources:a.MergeCoins.sources.map(r=>convertTransactionArgument(r,t))};if(a.MoveCall)return{kind:"MoveCall",target:`${a.MoveCall.package}::${a.MoveCall.module}::${a.MoveCall.function}`,typeArguments:a.MoveCall.typeArguments,arguments:a.MoveCall.arguments.map(r=>convertTransactionArgument(r,t))};if(a.Publish)return{kind:"Publish",modules:a.Publish.modules.map(r=>Array.from(fromBase64(r))),dependencies:a.Publish.dependencies};if(a.SplitCoins)return{kind:"SplitCoins",coin:convertTransactionArgument(a.SplitCoins.coin,t),amounts:a.SplitCoins.amounts.map(r=>convertTransactionArgument(r,t))};if(a.TransferObjects)return{kind:"TransferObjects",objects:a.TransferObjects.objects.map(r=>convertTransactionArgument(r,t)),address:convertTransactionArgument(a.TransferObjects.address,t)};if(a.Upgrade)return{kind:"Upgrade",modules:a.Upgrade.modules.map(r=>Array.from(fromBase64(r))),dependencies:a.Upgrade.dependencies,packageId:a.Upgrade.package,ticket:convertTransactionArgument(a.Upgrade.ticket,t)};throw new Error(`Unknown transaction ${Object.keys(a)}`)})}}function convertTransactionArgument(e,t){if(e.$kind==="GasCoin")return{kind:"GasCoin"};if(e.$kind==="Result")return{kind:"Result",index:e.Result};if(e.$kind==="NestedResult")return{kind:"NestedResult",index:e.NestedResult[0],resultIndex:e.NestedResult[1]};if(e.$kind==="Input")return t[e.Input];throw new Error(`Invalid argument ${Object.keys(e)}`)}function transactionDataFromV1(e){var t,n,a;return platform$2.parse(TransactionData,{version:2,sender:e.sender??null,expiration:e.expiration?"Epoch"in e.expiration?{Epoch:e.expiration.Epoch}:{None:!0}:null,gasData:{owner:e.gasConfig.owner??null,budget:((t=e.gasConfig.budget)==null?void 0:t.toString())??null,price:((n=e.gasConfig.price)==null?void 0:n.toString())??null,payment:((a=e.gasConfig.payment)==null?void 0:a.map(r=>({digest:r.digest,objectId:r.objectId,version:r.version.toString()})))??null},inputs:e.inputs.map(r=>{if(r.kind==="Input"){if(platform$2.is(NormalizedCallArg,r.value)){const s=platform$2.parse(NormalizedCallArg,r.value);if(s.Object){if(s.Object.ImmOrOwned)return{Object:{ImmOrOwnedObject:{objectId:s.Object.ImmOrOwned.objectId,version:String(s.Object.ImmOrOwned.version),digest:s.Object.ImmOrOwned.digest}}};if(s.Object.Shared)return{Object:{SharedObject:{mutable:s.Object.Shared.mutable??null,initialSharedVersion:s.Object.Shared.initialSharedVersion,objectId:s.Object.Shared.objectId}}};if(s.Object.Receiving)return{Object:{Receiving:{digest:s.Object.Receiving.digest,version:String(s.Object.Receiving.version),objectId:s.Object.Receiving.objectId}}};throw new Error("Invalid object input")}return{Pure:{bytes:toBase64(new Uint8Array(s.Pure))}}}return r.type==="object"?{UnresolvedObject:{objectId:r.value}}:{UnresolvedPure:{value:r.value}}}throw new Error("Invalid input")}),commands:e.transactions.map(r=>{switch(r.kind){case"MakeMoveVec":return{MakeMoveVec:{type:"Some"in r.type?TypeTagSerializer.tagToString(r.type.Some):null,elements:r.objects.map(s=>parseV1TransactionArgument(s))}};case"MergeCoins":return{MergeCoins:{destination:parseV1TransactionArgument(r.destination),sources:r.sources.map(s=>parseV1TransactionArgument(s))}};case"MoveCall":{const[s,o,i]=r.target.split("::");return{MoveCall:{package:s,module:o,function:i,typeArguments:r.typeArguments,arguments:r.arguments.map(l=>parseV1TransactionArgument(l))}}}case"Publish":return{Publish:{modules:r.modules.map(s=>toBase64(Uint8Array.from(s))),dependencies:r.dependencies}};case"SplitCoins":return{SplitCoins:{coin:parseV1TransactionArgument(r.coin),amounts:r.amounts.map(s=>parseV1TransactionArgument(s))}};case"TransferObjects":return{TransferObjects:{objects:r.objects.map(s=>parseV1TransactionArgument(s)),address:parseV1TransactionArgument(r.address)}};case"Upgrade":return{Upgrade:{modules:r.modules.map(s=>toBase64(Uint8Array.from(s))),dependencies:r.dependencies,package:r.packageId,ticket:parseV1TransactionArgument(r.ticket)}}}throw new Error(`Unknown transaction ${Object.keys(r)}`)})})}function parseV1TransactionArgument(e){switch(e.kind){case"GasCoin":return{GasCoin:!0};case"Result":return{Result:e.index};case"NestedResult":return{NestedResult:[e.index,e.resultIndex]};case"Input":return{Input:e.index}}}function enumUnion(e){return platform$2.union(Object.entries(e).map(([t,n])=>platform$2.object({[t]:n})))}const Argument=enumUnion({GasCoin:platform$2.literal(!0),Input:platform$2.pipe(platform$2.number(),platform$2.integer()),Result:platform$2.pipe(platform$2.number(),platform$2.integer()),NestedResult:platform$2.tuple([platform$2.pipe(platform$2.number(),platform$2.integer()),platform$2.pipe(platform$2.number(),platform$2.integer())])}),GasData=platform$2.object({budget:platform$2.nullable(JsonU64),price:platform$2.nullable(JsonU64),owner:platform$2.nullable(SuiAddress),payment:platform$2.nullable(platform$2.array(ObjectRef$1))}),ProgrammableMoveCall=platform$2.object({package:ObjectID,module:platform$2.string(),function:platform$2.string(),typeArguments:platform$2.array(platform$2.string()),arguments:platform$2.array(Argument)}),$Intent=platform$2.object({name:platform$2.string(),inputs:platform$2.record(platform$2.string(),platform$2.union([Argument,platform$2.array(Argument)])),data:platform$2.record(platform$2.string(),platform$2.unknown())}),Command=enumUnion({MoveCall:ProgrammableMoveCall,TransferObjects:platform$2.object({objects:platform$2.array(Argument),address:Argument}),SplitCoins:platform$2.object({coin:Argument,amounts:platform$2.array(Argument)}),MergeCoins:platform$2.object({destination:Argument,sources:platform$2.array(Argument)}),Publish:platform$2.object({modules:platform$2.array(BCSBytes),dependencies:platform$2.array(ObjectID)}),MakeMoveVec:platform$2.object({type:platform$2.nullable(platform$2.string()),elements:platform$2.array(Argument)}),Upgrade:platform$2.object({modules:platform$2.array(BCSBytes),dependencies:platform$2.array(ObjectID),package:ObjectID,ticket:Argument}),$Intent}),ObjectArg=enumUnion({ImmOrOwnedObject:ObjectRef$1,SharedObject:platform$2.object({objectId:ObjectID,initialSharedVersion:JsonU64,mutable:platform$2.boolean()}),Receiving:ObjectRef$1}),CallArg=enumUnion({Object:ObjectArg,Pure:platform$2.object({bytes:BCSBytes}),UnresolvedPure:platform$2.object({value:platform$2.unknown()}),UnresolvedObject:platform$2.object({objectId:ObjectID,version:platform$2.optional(platform$2.nullable(JsonU64)),digest:platform$2.optional(platform$2.nullable(platform$2.string())),initialSharedVersion:platform$2.optional(platform$2.nullable(JsonU64))})}),TransactionExpiration=enumUnion({None:platform$2.literal(!0),Epoch:JsonU64}),SerializedTransactionDataV2=platform$2.object({version:platform$2.literal(2),sender:platform$2.nullish(SuiAddress),expiration:platform$2.nullish(TransactionExpiration),gasData:GasData,inputs:platform$2.array(CallArg),commands:platform$2.array(Command),digest:platform$2.optional(platform$2.nullable(platform$2.string()))}),MAX_OBJECTS_PER_FETCH=50,GAS_SAFE_OVERHEAD=1000n,MAX_GAS=5e10;function suiClientResolveTransactionPlugin(e){return async function(n,a,r){return await normalizeInputs(n,e),await resolveObjectReferences(n,e),a.onlyTransactionKind||(await setGasPrice(n,e),await setGasBudget(n,e),await setGasPayment(n,e)),await r()}}async function setGasPrice(e,t){e.gasConfig.price||(e.gasConfig.price=String(await t.getReferenceGasPrice()))}async function setGasBudget(e,t){if(e.gasConfig.budget)return;const n=await t.dryRunTransactionBlock({transactionBlock:e.build({overrides:{gasData:{budget:String(MAX_GAS),payment:[]}}})});if(n.effects.status.status!=="success")throw new Error(`Dry run failed, could not automatically determine a budget: ${n.effects.status.error}`,{cause:n});const a=GAS_SAFE_OVERHEAD*BigInt(e.gasConfig.price||1n),r=BigInt(n.effects.gasUsed.computationCost)+a,s=r+BigInt(n.effects.gasUsed.storageCost)-BigInt(n.effects.gasUsed.storageRebate);e.gasConfig.budget=String(s>r?s:r)}async function setGasPayment(e,t){if(!e.gasConfig.payment){const a=(await t.getCoins({owner:e.gasConfig.owner||e.sender,coinType:SUI_TYPE_ARG})).data.filter(r=>!e.inputs.find(o=>{var i;return(i=o.Object)!=null&&i.ImmOrOwnedObject?r.coinObjectId===o.Object.ImmOrOwnedObject.objectId:!1})).map(r=>({objectId:r.coinObjectId,digest:r.digest,version:r.version}));if(!a.length)throw new Error("No valid gas coins found for the transaction.");e.gasConfig.payment=a.map(r=>platform$2.parse(ObjectRef$1,r))}}async function resolveObjectReferences(e,t){const n=e.inputs.filter(d=>{var c;return d.UnresolvedObject&&!(d.UnresolvedObject.version||(c=d.UnresolvedObject)!=null&&c.initialSharedVersion)}),a=[...new Set(n.map(d=>normalizeSuiObjectId(d.UnresolvedObject.objectId)))],r=a.length?chunk(a,MAX_OBJECTS_PER_FETCH):[],s=(await Promise.all(r.map(d=>t.multiGetObjects({ids:d,options:{showOwner:!0}})))).flat(),o=new Map(a.map((d,c)=>[d,s[c]])),i=Array.from(o).filter(([d,c])=>c.error).map(([d,c])=>JSON.stringify(c.error));if(i.length)throw new Error(`The following input objects are invalid: ${i.join(", ")}`);const l=s.map(d=>{if(d.error||!d.data)throw new Error(`Failed to fetch object: ${d.error}`);const c=d.data.owner,f=c&&typeof c=="object"?"Shared"in c?c.Shared.initial_shared_version:"ConsensusAddressOwner"in c?c.ConsensusAddressOwner.start_version:null:null;return{objectId:d.data.objectId,digest:d.data.digest,version:d.data.version,initialSharedVersion:f}}),u=new Map(a.map((d,c)=>[d,l[c]]));for(const[d,c]of e.inputs.entries()){if(!c.UnresolvedObject)continue;let f;const y=normalizeSuiAddress(c.UnresolvedObject.objectId),p=u.get(y);c.UnresolvedObject.initialSharedVersion??(p==null?void 0:p.initialSharedVersion)?f=Inputs.SharedObjectRef({objectId:y,initialSharedVersion:c.UnresolvedObject.initialSharedVersion||(p==null?void 0:p.initialSharedVersion),mutable:isUsedAsMutable(e,d)}):isUsedAsReceiving(e,d)&&(f=Inputs.ReceivingRef({objectId:y,digest:c.UnresolvedObject.digest??(p==null?void 0:p.digest),version:c.UnresolvedObject.version??(p==null?void 0:p.version)})),e.inputs[e.inputs.indexOf(c)]=f??Inputs.ObjectRef({objectId:y,digest:c.UnresolvedObject.digest??(p==null?void 0:p.digest),version:c.UnresolvedObject.version??(p==null?void 0:p.version)})}}async function normalizeInputs(e,t){const{inputs:n,commands:a}=e,r=[],s=new Set;a.forEach(i=>{if(i.MoveCall){if(i.MoveCall._argumentTypes)return;if(i.MoveCall.arguments.map(d=>d.$kind==="Input"?e.inputs[d.Input]:null).some(d=>(d==null?void 0:d.UnresolvedPure)||(d==null?void 0:d.UnresolvedObject))){const d=`${i.MoveCall.package}::${i.MoveCall.module}::${i.MoveCall.function}`;s.add(d),r.push(i.MoveCall)}}});const o=new Map;s.size>0&&await Promise.all([...s].map(async i=>{const[l,u,d]=i.split("::"),c=await t.getNormalizedMoveFunction({package:l,module:u,function:d});o.set(i,c.parameters.map(f=>normalizedTypeToMoveTypeSignature(f)))})),r.length&&await Promise.all(r.map(async i=>{const l=o.get(`${i.package}::${i.module}::${i.function}`);if(!l)return;const d=l.length>0&&isTxContext(l.at(-1))?l.slice(0,l.length-1):l;i._argumentTypes=d})),a.forEach(i=>{if(!i.MoveCall)return;const l=i.MoveCall,u=`${l.package}::${l.module}::${l.function}`,d=l._argumentTypes;if(d){if(d.length!==i.MoveCall.arguments.length)throw new Error(`Incorrect number of arguments for ${u}`);d.forEach((c,f)=>{var g,A;const y=l.arguments[f];if(y.$kind!=="Input")return;const p=n[y.Input];if(!p.UnresolvedPure&&!p.UnresolvedObject)return;const b=((g=p.UnresolvedPure)==null?void 0:g.value)??((A=p.UnresolvedObject)==null?void 0:A.objectId),h=getPureBcsSchema(c.body);if(h){y.type="pure",n[n.indexOf(p)]=Inputs.Pure(h.serialize(b));return}if(typeof b!="string")throw new Error(`Expect the argument to be an object id string, got ${JSON.stringify(b,null,2)}`);y.type="object";const T=p.UnresolvedPure?{$kind:"UnresolvedObject",UnresolvedObject:{objectId:b}}:p;n[y.Input]=T})}})}function isUsedAsMutable(e,t){let n=!1;return e.getInputUses(t,(a,r)=>{if(r.MoveCall&&r.MoveCall._argumentTypes){const s=r.MoveCall.arguments.indexOf(a);n=r.MoveCall._argumentTypes[s].ref!=="&"||n}(r.$kind==="MakeMoveVec"||r.$kind==="MergeCoins"||r.$kind==="SplitCoins")&&(n=!0)}),n}function isUsedAsReceiving(e,t){let n=!1;return e.getInputUses(t,(a,r)=>{if(r.MoveCall&&r.MoveCall._argumentTypes){const s=r.MoveCall.arguments.indexOf(a);n=isReceivingType(r.MoveCall._argumentTypes[s])||n}}),n}function isReceivingType(e){return typeof e.body!="object"||!("datatype"in e.body)?!1:e.body.datatype.package==="0x2"&&e.body.datatype.module==="transfer"&&e.body.datatype.type==="Receiving"}function needsTransactionResolution(e,t){return!!(e.inputs.some(n=>n.UnresolvedObject||n.UnresolvedPure)||!t.onlyTransactionKind&&(!e.gasConfig.price||!e.gasConfig.budget||!e.gasConfig.payment))}async function resolveTransactionPlugin(e,t,n){var s;if(normalizeRawArguments(e),!needsTransactionResolution(e,t))return await validate(e),n();const a=getClient$1(t);return(((s=a.core)==null?void 0:s.resolveTransactionPlugin())??suiClientResolveTransactionPlugin(a))(e,t,async()=>{await validate(e),await n()})}function validate(e){e.inputs.forEach((t,n)=>{if(t.$kind!=="Object"&&t.$kind!=="Pure")throw new Error(`Input at index ${n} has not been resolved. Expected a Pure or Object input, but found ${JSON.stringify(t)}`)})}function getClient$1(e){if(!e.client)throw new Error("No sui client passed to Transaction#build, but transaction data was not sufficient to build offline.");return e.client}function normalizeRawArguments(e){for(const t of e.commands)switch(t.$kind){case"SplitCoins":t.SplitCoins.amounts.forEach(n=>{normalizeRawArgument(n,suiBcs.U64,e)});break;case"TransferObjects":normalizeRawArgument(t.TransferObjects.address,suiBcs.Address,e);break}}function normalizeRawArgument(e,t,n){if(e.$kind!=="Input")return;const a=n.inputs[e.Input];a.$kind==="UnresolvedPure"&&(n.inputs[e.Input]=Inputs.Pure(t.serialize(a.UnresolvedPure.value)))}function createObjectMethods(e){function t(n){return e(n)}return t.system=()=>t("0x5"),t.clock=()=>t("0x6"),t.random=()=>t("0x8"),t.denyList=()=>t("0x403"),t.option=({type:n,value:a})=>r=>r.moveCall({typeArguments:[n],target:`0x1::option::${a===null?"none":"some"}`,arguments:a===null?[]:[r.object(a)]}),t}function createPure(e){function t(n,a){if(typeof n=="string")return e(pureBcsSchemaFromTypeName(n).serialize(a));if(n instanceof Uint8Array||isSerializedBcs(n))return e(n);throw new Error("tx.pure must be called either a bcs type name, or a serialized bcs value")}return t.u8=n=>e(suiBcs.U8.serialize(n)),t.u16=n=>e(suiBcs.U16.serialize(n)),t.u32=n=>e(suiBcs.U32.serialize(n)),t.u64=n=>e(suiBcs.U64.serialize(n)),t.u128=n=>e(suiBcs.U128.serialize(n)),t.u256=n=>e(suiBcs.U256.serialize(n)),t.bool=n=>e(suiBcs.Bool.serialize(n)),t.string=n=>e(suiBcs.String.serialize(n)),t.address=n=>e(suiBcs.Address.serialize(n)),t.id=t.address,t.vector=(n,a)=>e(suiBcs.vector(pureBcsSchemaFromTypeName(n)).serialize(a)),t.option=(n,a)=>e(suiBcs.option(pureBcsSchemaFromTypeName(n)).serialize(a)),t}function hashTypedData(e,t){const n=Array.from(`${e}::`).map(r=>r.charCodeAt(0)),a=new Uint8Array(n.length+t.length);return a.set(n),a.set(t,n.length),blake2b.blake2b(a,{dkLen:32})}function prepareSuiAddress(e){return normalizeSuiAddress(e).replace("0x","")}class TransactionDataBuilder{constructor(t){this.version=2,this.sender=(t==null?void 0:t.sender)??null,this.expiration=(t==null?void 0:t.expiration)??null,this.inputs=(t==null?void 0:t.inputs)??[],this.commands=(t==null?void 0:t.commands)??[],this.gasData=(t==null?void 0:t.gasData)??{budget:null,price:null,owner:null,payment:null}}static fromKindBytes(t){const a=suiBcs.TransactionKind.parse(t).ProgrammableTransaction;if(!a)throw new Error("Unable to deserialize from bytes.");return TransactionDataBuilder.restore({version:2,sender:null,expiration:null,gasData:{budget:null,owner:null,payment:null,price:null},inputs:a.inputs,commands:a.commands})}static fromBytes(t){const n=suiBcs.TransactionData.parse(t),a=n==null?void 0:n.V1,r=a.kind.ProgrammableTransaction;if(!a||!r)throw new Error("Unable to deserialize from bytes.");return TransactionDataBuilder.restore({version:2,sender:a.sender,expiration:a.expiration,gasData:a.gasData,inputs:r.inputs,commands:r.commands})}static restore(t){return t.version===2?new TransactionDataBuilder(platform$2.parse(TransactionData,t)):new TransactionDataBuilder(platform$2.parse(TransactionData,transactionDataFromV1(t)))}static getDigestFromBytes(t){const n=hashTypedData("TransactionData",t);return toBase58(n)}get gasConfig(){return this.gasData}set gasConfig(t){this.gasData=t}build({maxSizeBytes:t=1/0,overrides:n,onlyTransactionKind:a}={}){const r=this.inputs,s=this.commands,o={ProgrammableTransaction:{inputs:r,commands:s}};if(a)return suiBcs.TransactionKind.serialize(o,{maxSize:t}).toBytes();const i=(n==null?void 0:n.expiration)??this.expiration,l=(n==null?void 0:n.sender)??this.sender,u={...this.gasData,...n==null?void 0:n.gasConfig,...n==null?void 0:n.gasData};if(!l)throw new Error("Missing transaction sender");if(!u.budget)throw new Error("Missing gas budget");if(!u.payment)throw new Error("Missing gas payment");if(!u.price)throw new Error("Missing gas price");const d={sender:prepareSuiAddress(l),expiration:i||{None:!0},gasData:{payment:u.payment,owner:prepareSuiAddress(this.gasData.owner??l),price:BigInt(u.price),budget:BigInt(u.budget)},kind:{ProgrammableTransaction:{inputs:r,commands:s}}};return suiBcs.TransactionData.serialize({V1:d},{maxSize:t}).toBytes()}addInput(t,n){const a=this.inputs.length;return this.inputs.push(n),{Input:a,type:t,$kind:"Input"}}getInputUses(t,n){this.mapArguments((a,r)=>(a.$kind==="Input"&&a.Input===t&&n(a,r),a))}mapCommandArguments(t,n){const a=this.commands[t];switch(a.$kind){case"MoveCall":a.MoveCall.arguments=a.MoveCall.arguments.map(s=>n(s,a,t));break;case"TransferObjects":a.TransferObjects.objects=a.TransferObjects.objects.map(s=>n(s,a,t)),a.TransferObjects.address=n(a.TransferObjects.address,a,t);break;case"SplitCoins":a.SplitCoins.coin=n(a.SplitCoins.coin,a,t),a.SplitCoins.amounts=a.SplitCoins.amounts.map(s=>n(s,a,t));break;case"MergeCoins":a.MergeCoins.destination=n(a.MergeCoins.destination,a,t),a.MergeCoins.sources=a.MergeCoins.sources.map(s=>n(s,a,t));break;case"MakeMoveVec":a.MakeMoveVec.elements=a.MakeMoveVec.elements.map(s=>n(s,a,t));break;case"Upgrade":a.Upgrade.ticket=n(a.Upgrade.ticket,a,t);break;case"$Intent":const r=a.$Intent.inputs;a.$Intent.inputs={};for(const[s,o]of Object.entries(r))a.$Intent.inputs[s]=Array.isArray(o)?o.map(i=>n(i,a,t)):n(o,a,t);break;case"Publish":break;default:throw new Error(`Unexpected transaction kind: ${a.$kind}`)}}mapArguments(t){for(const n of this.commands.keys())this.mapCommandArguments(n,t)}replaceCommand(t,n,a=t){if(!Array.isArray(n)){this.commands[t]=n;return}const r=n.length-1;this.commands.splice(t,1,...n),r!==0&&this.mapArguments((s,o,i)=>{if(i<t+n.length)return s;switch(s.$kind){case"Result":s.Result===t&&(s.Result=a),s.Result>t&&(s.Result+=r);break;case"NestedResult":s.NestedResult[0]===t&&(s.NestedResult[0]=a),s.NestedResult[0]>t&&(s.NestedResult[0]+=r);break}return s})}getDigest(){const t=this.build({onlyTransactionKind:!1});return TransactionDataBuilder.getDigestFromBytes(t)}snapshot(){return platform$2.parse(TransactionData,this)}shallowClone(){return new TransactionDataBuilder({version:this.version,sender:this.sender,expiration:this.expiration,gasData:{...this.gasData},inputs:[...this.inputs],commands:[...this.commands]})}}function getIdFromCallArg(e){if(typeof e=="string")return normalizeSuiAddress(e);if(e.Object)return e.Object.ImmOrOwnedObject?normalizeSuiAddress(e.Object.ImmOrOwnedObject.objectId):e.Object.Receiving?normalizeSuiAddress(e.Object.Receiving.objectId):normalizeSuiAddress(e.Object.SharedObject.objectId);if(e.UnresolvedObject)return normalizeSuiAddress(e.UnresolvedObject.objectId)}const NAME_SEPARATOR="/";function hasMvrName(e){return e.includes(NAME_SEPARATOR)||e.includes("@")||e.includes(".sui")}function findNamesInTransaction(e){const t=new Set,n=new Set;for(const a of e.commands)switch(a.$kind){case"MakeMoveVec":a.MakeMoveVec.type&&getNamesFromTypeList([a.MakeMoveVec.type]).forEach(o=>{n.add(o)});break;case"MoveCall":const r=a.MoveCall,s=r.package.split("::")[0];if(hasMvrName(s)){if(!isValidNamedPackage(s))throw new Error(`Invalid package name: ${s}`);t.add(s)}getNamesFromTypeList(r.typeArguments??[]).forEach(o=>{n.add(o)});break}return{packages:[...t],types:[...n]}}function replaceNames(e,t){var n;for(const a of e.commands){if((n=a.MakeMoveVec)!=null&&n.type){if(!hasMvrName(a.MakeMoveVec.type))continue;if(!t.types[a.MakeMoveVec.type])throw new Error(`No resolution found for type: ${a.MakeMoveVec.type}`);a.MakeMoveVec.type=t.types[a.MakeMoveVec.type].type}const r=a.MoveCall;if(!r)continue;const s=r.package.split("::"),o=s[0];if(hasMvrName(o)&&!t.packages[o])throw new Error(`No address found for package: ${o}`);hasMvrName(o)&&(s[0]=t.packages[o].package,r.package=s.join("::"));const i=r.typeArguments;if(i){for(let l=0;l<i.length;l++)if(hasMvrName(i[l])){if(!t.types[i[l]])throw new Error(`No resolution found for type: ${i[l]}`);i[l]=t.types[i[l]].type}r.typeArguments=i}}}function getNamesFromTypeList(e){const t=new Set;for(const n of e)if(hasMvrName(n)){if(!isValidNamedType(n))throw new Error(`Invalid type with names: ${n}`);t.add(n)}return t}const namedPackagesPlugin=e=>async(t,n,a)=>{const r=findNamesInTransaction(t);if(r.types.length===0&&r.packages.length===0)return a();const s=await getClient(n).core.mvr.resolve({types:r.types,packages:r.packages});replaceNames(t,s),await a()};function getClient(e){if(!e.client)throw new Error("No sui client passed to Transaction#build, but transaction data was not sufficient to build offline.");return e.client}var __typeError=e=>{throw TypeError(e)},__accessCheck=(e,t,n)=>t.has(e)||__typeError("Cannot "+n),__privateGet=(e,t,n)=>(__accessCheck(e,t,"read from private field"),n?n.call(e):t.get(e)),__privateAdd=(e,t,n)=>t.has(e)?__typeError("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n),__privateSet=(e,t,n,a)=>(__accessCheck(e,t,"write to private field"),t.set(e,n),n),__privateMethod=(e,t,n)=>(__accessCheck(e,t,"access private method"),n),_serializationPlugins,_buildPlugins,_intentResolvers,_inputSection,_commandSection,_availableResults,_pendingPromises,_added,_data,_Transaction_instances,fork_fn,addCommand_fn,addInput_fn,normalizeTransactionArgument_fn,resolveArgument_fn,prepareBuild_fn,runPlugins_fn,waitForPendingTasks_fn,sortCommandsAndInputs_fn;function createTransactionResult(e,t=1/0){const n={$kind:"Result",get Result(){return typeof e=="function"?e():e}},a=[],r=s=>a[s]??(a[s]={$kind:"NestedResult",get NestedResult(){return[typeof e=="function"?e():e,s]}});return new Proxy(n,{set(){throw new Error("The transaction result is a proxy, and does not support setting properties directly")},get(s,o){if(o in s)return Reflect.get(s,o);if(o===Symbol.iterator)return function*(){let l=0;for(;l<t;)yield r(l),l++};if(typeof o=="symbol")return;const i=parseInt(o,10);if(!(Number.isNaN(i)||i<0))return r(i)}})}const TRANSACTION_BRAND=Symbol.for("@mysten/transaction");function isTransaction(e){return!!e&&typeof e=="object"&&e[TRANSACTION_BRAND]===!0}const modulePluginRegistry={buildPlugins:new Map,serializationPlugins:new Map},TRANSACTION_REGISTRY_KEY=Symbol.for("@mysten/transaction/registry");function getGlobalPluginRegistry(){try{const e=globalThis;return e[TRANSACTION_REGISTRY_KEY]||(e[TRANSACTION_REGISTRY_KEY]=modulePluginRegistry),e[TRANSACTION_REGISTRY_KEY]}catch{return modulePluginRegistry}}const _Transaction=class qe{constructor(){__privateAdd(this,_Transaction_instances),__privateAdd(this,_serializationPlugins),__privateAdd(this,_buildPlugins),__privateAdd(this,_intentResolvers,new Map),__privateAdd(this,_inputSection,[]),__privateAdd(this,_commandSection,[]),__privateAdd(this,_availableResults,new Set),__privateAdd(this,_pendingPromises,new Set),__privateAdd(this,_added,new Map),__privateAdd(this,_data),this.object=createObjectMethods(n=>{var s,o;if(typeof n=="function")return this.object(this.add(n));if(typeof n=="object"&&platform$2.is(Argument$1,n))return n;const a=getIdFromCallArg(n),r=__privateGet(this,_data).inputs.find(i=>a===getIdFromCallArg(i));return(s=r==null?void 0:r.Object)!=null&&s.SharedObject&&typeof n=="object"&&((o=n.Object)!=null&&o.SharedObject)&&(r.Object.SharedObject.mutable=r.Object.SharedObject.mutable||n.Object.SharedObject.mutable),r?{$kind:"Input",Input:__privateGet(this,_data).inputs.indexOf(r),type:"object"}:__privateMethod(this,_Transaction_instances,addInput_fn).call(this,"object",typeof n=="string"?{$kind:"UnresolvedObject",UnresolvedObject:{objectId:normalizeSuiAddress(n)}}:n)});const t=getGlobalPluginRegistry();__privateSet(this,_data,new TransactionDataBuilder),__privateSet(this,_buildPlugins,[...t.buildPlugins.values()]),__privateSet(this,_serializationPlugins,[...t.serializationPlugins.values()])}static fromKind(t){const n=new qe;return __privateSet(n,_data,TransactionDataBuilder.fromKindBytes(typeof t=="string"?fromBase64(t):t)),__privateSet(n,_inputSection,__privateGet(n,_data).inputs.slice()),__privateSet(n,_commandSection,__privateGet(n,_data).commands.slice()),__privateSet(n,_availableResults,new Set(__privateGet(n,_commandSection).map((a,r)=>r))),n}static from(t){const n=new qe;return isTransaction(t)?__privateSet(n,_data,new TransactionDataBuilder(t.getData())):typeof t!="string"||!t.startsWith("{")?__privateSet(n,_data,TransactionDataBuilder.fromBytes(typeof t=="string"?fromBase64(t):t)):__privateSet(n,_data,TransactionDataBuilder.restore(JSON.parse(t))),__privateSet(n,_inputSection,__privateGet(n,_data).inputs.slice()),__privateSet(n,_commandSection,__privateGet(n,_data).commands.slice()),__privateSet(n,_availableResults,new Set(__privateGet(n,_commandSection).map((a,r)=>r))),n}static registerGlobalSerializationPlugin(t,n){getGlobalPluginRegistry().serializationPlugins.set(t,n??t)}static unregisterGlobalSerializationPlugin(t){getGlobalPluginRegistry().serializationPlugins.delete(t)}static registerGlobalBuildPlugin(t,n){getGlobalPluginRegistry().buildPlugins.set(t,n??t)}static unregisterGlobalBuildPlugin(t){getGlobalPluginRegistry().buildPlugins.delete(t)}addSerializationPlugin(t){__privateGet(this,_serializationPlugins).push(t)}addBuildPlugin(t){__privateGet(this,_buildPlugins).push(t)}addIntentResolver(t,n){if(__privateGet(this,_intentResolvers).has(t)&&__privateGet(this,_intentResolvers).get(t)!==n)throw new Error(`Intent resolver for ${t} already exists`);__privateGet(this,_intentResolvers).set(t,n)}setSender(t){__privateGet(this,_data).sender=t}setSenderIfNotSet(t){__privateGet(this,_data).sender||(__privateGet(this,_data).sender=t)}setExpiration(t){__privateGet(this,_data).expiration=t?platform$2.parse(TransactionExpiration$2,t):null}setGasPrice(t){__privateGet(this,_data).gasConfig.price=String(t)}setGasBudget(t){__privateGet(this,_data).gasConfig.budget=String(t)}setGasBudgetIfNotSet(t){__privateGet(this,_data).gasData.budget==null&&(__privateGet(this,_data).gasConfig.budget=String(t))}setGasOwner(t){__privateGet(this,_data).gasConfig.owner=t}setGasPayment(t){__privateGet(this,_data).gasConfig.payment=t.map(n=>platform$2.parse(ObjectRef$1,n))}get blockData(){return serializeV1TransactionData(__privateGet(this,_data).snapshot())}getData(){return __privateGet(this,_data).snapshot()}get[TRANSACTION_BRAND](){return!0}get pure(){return Object.defineProperty(this,"pure",{enumerable:!1,value:createPure(t=>isSerializedBcs(t)?__privateMethod(this,_Transaction_instances,addInput_fn).call(this,"pure",{$kind:"Pure",Pure:{bytes:t.toBase64()}}):__privateMethod(this,_Transaction_instances,addInput_fn).call(this,"pure",platform$2.is(NormalizedCallArg$1,t)?platform$2.parse(NormalizedCallArg$1,t):t instanceof Uint8Array?Inputs.Pure(t):{$kind:"UnresolvedPure",UnresolvedPure:{value:t}}))}),this.pure}get gas(){return{$kind:"GasCoin",GasCoin:!0}}objectRef(...t){return this.object(Inputs.ObjectRef(...t))}receivingRef(...t){return this.object(Inputs.ReceivingRef(...t))}sharedObjectRef(...t){return this.object(Inputs.SharedObjectRef(...t))}add(t){if(typeof t=="function"){if(__privateGet(this,_added).has(t))return __privateGet(this,_added).get(t);const n=__privateMethod(this,_Transaction_instances,fork_fn).call(this),a=t(n);if(!(a&&typeof a=="object"&&"then"in a))return __privateSet(this,_availableResults,__privateGet(n,_availableResults)),__privateGet(this,_added).set(t,a),a;const r=__privateMethod(this,_Transaction_instances,addCommand_fn).call(this,{$kind:"$Intent",$Intent:{name:"AsyncTransactionThunk",inputs:{},data:{resultIndex:__privateGet(this,_data).commands.length,result:null}}});__privateGet(this,_pendingPromises).add(Promise.resolve(a).then(o=>{r.$Intent.data.result=o}));const s=createTransactionResult(()=>r.$Intent.data.resultIndex);return __privateGet(this,_added).set(t,s),s}else __privateMethod(this,_Transaction_instances,addCommand_fn).call(this,t);return createTransactionResult(__privateGet(this,_data).commands.length-1)}splitCoins(t,n){const a=Commands.SplitCoins(typeof t=="string"?this.object(t):__privateMethod(this,_Transaction_instances,resolveArgument_fn).call(this,t),n.map(r=>typeof r=="number"||typeof r=="bigint"||typeof r=="string"?this.pure.u64(r):__privateMethod(this,_Transaction_instances,normalizeTransactionArgument_fn).call(this,r)));return __privateMethod(this,_Transaction_instances,addCommand_fn).call(this,a),createTransactionResult(__privateGet(this,_data).commands.length-1,n.length)}mergeCoins(t,n){return this.add(Commands.MergeCoins(this.object(t),n.map(a=>this.object(a))))}publish({modules:t,dependencies:n}){return this.add(Commands.Publish({modules:t,dependencies:n}))}upgrade({modules:t,dependencies:n,package:a,ticket:r}){return this.add(Commands.Upgrade({modules:t,dependencies:n,package:a,ticket:this.object(r)}))}moveCall({arguments:t,...n}){return this.add(Commands.MoveCall({...n,arguments:t==null?void 0:t.map(a=>__privateMethod(this,_Transaction_instances,normalizeTransactionArgument_fn).call(this,a))}))}transferObjects(t,n){return this.add(Commands.TransferObjects(t.map(a=>this.object(a)),typeof n=="string"?this.pure.address(n):__privateMethod(this,_Transaction_instances,normalizeTransactionArgument_fn).call(this,n)))}makeMoveVec({type:t,elements:n}){return this.add(Commands.MakeMoveVec({type:t,elements:n.map(a=>this.object(a))}))}serialize(){return JSON.stringify(serializeV1TransactionData(__privateGet(this,_data).snapshot()))}async toJSON(t={}){await this.prepareForSerialization(t);const n=this.isFullyResolved();return JSON.stringify(platform$2.parse(SerializedTransactionDataV2,n?{...__privateGet(this,_data).snapshot(),digest:__privateGet(this,_data).getDigest()}:__privateGet(this,_data).snapshot()),(a,r)=>typeof r=="bigint"?r.toString():r,2)}async sign(t){const{signer:n,...a}=t,r=await this.build(a);return n.signTransaction(r)}isFullyResolved(){return!(!__privateGet(this,_data).sender||__privateGet(this,_pendingPromises).size>0||__privateGet(this,_data).commands.some(t=>t.$Intent)||needsTransactionResolution(__privateGet(this,_data),{}))}async build(t={}){return await this.prepareForSerialization(t),await __privateMethod(this,_Transaction_instances,prepareBuild_fn).call(this,t),__privateGet(this,_data).build({onlyTransactionKind:t.onlyTransactionKind})}async getDigest(t={}){return await this.prepareForSerialization(t),await __privateMethod(this,_Transaction_instances,prepareBuild_fn).call(this,t),__privateGet(this,_data).getDigest()}async prepareForSerialization(t){var r;await __privateMethod(this,_Transaction_instances,waitForPendingTasks_fn).call(this),__privateMethod(this,_Transaction_instances,sortCommandsAndInputs_fn).call(this);const n=new Set;for(const s of __privateGet(this,_data).commands)s.$Intent&&n.add(s.$Intent.name);const a=[...__privateGet(this,_serializationPlugins)];for(const s of n)if(!((r=t.supportedIntents)!=null&&r.includes(s))){if(!__privateGet(this,_intentResolvers).has(s))throw new Error(`Missing intent resolver for ${s}`);a.push(__privateGet(this,_intentResolvers).get(s))}a.push(namedPackagesPlugin()),await __privateMethod(this,_Transaction_instances,runPlugins_fn).call(this,a,t)}};_serializationPlugins=new WeakMap;_buildPlugins=new WeakMap;_intentResolvers=new WeakMap;_inputSection=new WeakMap;_commandSection=new WeakMap;_availableResults=new WeakMap;_pendingPromises=new WeakMap;_added=new WeakMap;_data=new WeakMap;_Transaction_instances=new WeakSet;fork_fn=function(){const e=new _Transaction;return __privateSet(e,_data,__privateGet(this,_data)),__privateSet(e,_serializationPlugins,__privateGet(this,_serializationPlugins)),__privateSet(e,_buildPlugins,__privateGet(this,_buildPlugins)),__privateSet(e,_intentResolvers,__privateGet(this,_intentResolvers)),__privateSet(e,_pendingPromises,__privateGet(this,_pendingPromises)),__privateSet(e,_availableResults,new Set(__privateGet(this,_availableResults))),__privateSet(e,_added,__privateGet(this,_added)),__privateGet(this,_inputSection).push(__privateGet(e,_inputSection)),__privateGet(this,_commandSection).push(__privateGet(e,_commandSection)),e};addCommand_fn=function(e){const t=__privateGet(this,_data).commands.length;return __privateGet(this,_commandSection).push(e),__privateGet(this,_availableResults).add(t),__privateGet(this,_data).commands.push(e),__privateGet(this,_data).mapCommandArguments(t,n=>{if(n.$kind==="Result"&&!__privateGet(this,_availableResults).has(n.Result))throw new Error(`Result { Result: ${n.Result} } is not available to use the current transaction`);if(n.$kind==="NestedResult"&&!__privateGet(this,_availableResults).has(n.NestedResult[0]))throw new Error(`Result { NestedResult: [${n.NestedResult[0]}, ${n.NestedResult[1]}] } is not available to use the current transaction`);if(n.$kind==="Input"&&n.Input>=__privateGet(this,_data).inputs.length)throw new Error(`Input { Input: ${n.Input} } references an input that does not exist in the current transaction`);return n}),e};addInput_fn=function(e,t){return __privateGet(this,_inputSection).push(t),__privateGet(this,_data).addInput(e,t)};normalizeTransactionArgument_fn=function(e){return isSerializedBcs(e)?this.pure(e):__privateMethod(this,_Transaction_instances,resolveArgument_fn).call(this,e)};resolveArgument_fn=function(e){if(typeof e=="function"){const t=this.add(e);return typeof t=="function"?__privateMethod(this,_Transaction_instances,resolveArgument_fn).call(this,t):platform$2.parse(Argument$1,t)}return platform$2.parse(Argument$1,e)};prepareBuild_fn=async function(e){if(!e.onlyTransactionKind&&!__privateGet(this,_data).sender)throw new Error("Missing transaction sender");await __privateMethod(this,_Transaction_instances,runPlugins_fn).call(this,[...__privateGet(this,_buildPlugins),resolveTransactionPlugin],e)};runPlugins_fn=async function(e,t){const n=a=>{if(a>=e.length)return()=>{};const r=e[a];return async()=>{const s=n(a+1);let o=!1,i=!1;if(await r(__privateGet(this,_data),t,async()=>{if(o)throw new Error(`next() was call multiple times in TransactionPlugin ${a}`);o=!0,await s(),i=!0}),!o)throw new Error(`next() was not called in TransactionPlugin ${a}`);if(!i)throw new Error(`next() was not awaited in TransactionPlugin ${a}`)}};await n(0)(),__privateSet(this,_inputSection,__privateGet(this,_data).inputs.slice()),__privateSet(this,_commandSection,__privateGet(this,_data).commands.slice())};waitForPendingTasks_fn=async function(){for(;__privateGet(this,_pendingPromises).size>0;){const e=Promise.all(__privateGet(this,_pendingPromises));__privateGet(this,_pendingPromises).clear(),__privateGet(this,_pendingPromises).add(e),await e,__privateGet(this,_pendingPromises).delete(e)}};sortCommandsAndInputs_fn=function(){var o;const e=__privateGet(this,_data).commands,t=__privateGet(this,_data).inputs,n=__privateGet(this,_commandSection).flat(1/0),a=__privateGet(this,_inputSection).flat(1/0);if(n.length!==e.length)throw new Error("Unexpected number of commands found in transaction data");if(a.length!==t.length)throw new Error("Unexpected number of inputs found in transaction data");const r=n.filter(i=>{var l;return((l=i.$Intent)==null?void 0:l.name)!=="AsyncTransactionThunk"});__privateGet(this,_data).commands=r,__privateGet(this,_data).inputs=a,__privateSet(this,_commandSection,r),__privateSet(this,_inputSection,a),__privateSet(this,_availableResults,new Set(r.map((i,l)=>l)));function s(i){var d;const l=e[i];if(((d=l.$Intent)==null?void 0:d.name)==="AsyncTransactionThunk"){const c=l.$Intent.data.result;if(c==null)throw new Error("AsyncTransactionThunk has not been resolved");return s(c.Result)}const u=r.indexOf(l);if(u===-1)throw new Error("Unable to find original index for command");return u}__privateGet(this,_data).mapArguments(i=>{if(i.$kind==="Input"){const l=a.indexOf(t[i.Input]);if(l===-1)throw new Error("Input has not been resolved");return{...i,Input:l}}else if(i.$kind==="Result"){const l=s(i.Result);return{...i,Result:l}}else if(i.$kind==="NestedResult"){const l=s(i.NestedResult[0]);return{...i,NestedResult:[l,i.NestedResult[1]]}}return i});for(const[i,l]of e.entries())if(((o=l.$Intent)==null?void 0:o.name)==="AsyncTransactionThunk")try{l.$Intent.data.resultIndex=s(i)}catch{}};let Transaction=_Transaction;var addresses_default$1={MAYAN_FORWARDER_CONTRACT:"0x337685fdaB40D39bd02028545a4FfA7D287cC3E2",MAYAN_PROGRAM_ID:"FC4eXxkyrMPTjiYUpp4EAnkmwMbQyZ6NDCh1kfLn6vsf",AUCTION_PROGRAM_ID:"8QJmxZcEzwuYmCPy6XqgN2sHcYCcFq6AEfBMJZZuLo5a",MCTP_PROGRAM_ID:"dkpZqrxHFrhziEMQ931GLtfy11nFkCsfMftH9u6QwBU",SWIFT_PROGRAM_ID:"BLZRi6frs4X4DNLw56V4EXai1b6QVESN1BhHBTYM9VcY",FEE_MANAGER_PROGRAM_ID:"5VtQHnhs2pfVEr68qQsbTRwKh4JV5GTu9mBHgHFxpHeQ",WORMHOLE_PROGRAM_ID:"worm2ZoG2kUd4vFXhvjh93UUH596ayRfgQ2MgjNMTth",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:"Ff3yi1meWQQ19VPZMzGg6H8JQQeRudiV7QtVtyzJyoht",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://explorer-api.mayan.finance/v3",PRICE_URL:"https://price-api.mayan.finance/v3",RELAYER_URL:"https://relayer-api.mayan.finance/v3",HC_ARBITRUM_BRIDGE:"0x2df1c51e09aecf9cacb7bc98cb1742757f163df7",HC_ARBITRUM_DEPOSIT_PROCESSOR:"0xdDd77e62C848C3334f1148d4F1457FC59ede4E4B",ARBITRUM_USDC_CONTRACT:"0xaf88d065e77c8cC2239327C5EDb3A432268e5831",PAYLOAD_WRITER_PROGRAM_ID:"DwMLtdtJqJQkHzNcrdTBuWHJByJfgpKBnvFvzyKdy3cU"},CCTP_TOKEN_DECIMALS$1=6;function getCCTPDomain$1(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;case"sonic":return 13;default:throw new Error("unsupported chain for cctp")}}function getCCTPBridgePDAs$1(e,t){const n=new address.PublicKey(addresses_default$1.CCTP_CORE_PROGRAM_ID),a=new address.PublicKey(addresses_default$1.CCTP_TOKEN_PROGRAM_ID),[r]=address.PublicKey.findProgramAddressSync([address.bufferPolyfill.Buffer.from("message_transmitter")],n),[s]=address.PublicKey.findProgramAddressSync([address.bufferPolyfill.Buffer.from("sender_authority")],a),[o]=address.PublicKey.findProgramAddressSync([address.bufferPolyfill.Buffer.from("local_token"),e.toBytes()],a),[i]=address.PublicKey.findProgramAddressSync([address.bufferPolyfill.Buffer.from("token_messenger")],a),[l]=address.PublicKey.findProgramAddressSync([address.bufferPolyfill.Buffer.from("token_minter")],a),u=getCCTPDomain$1(t),[d]=address.PublicKey.findProgramAddressSync([address.bufferPolyfill.Buffer.from("remote_token_messenger"),address.bufferPolyfill.Buffer.from(u.toString())],a),[c]=address.PublicKey.findProgramAddressSync([address.bufferPolyfill.Buffer.from("__event_authority")],n),[f]=address.PublicKey.findProgramAddressSync([address.bufferPolyfill.Buffer.from("__event_authority")],a);return{messageTransmitter:r,senderAuthority:s,remoteTokenMessengerKey:d,tokenMessenger:i,tokenMinter:l,eventAuthToken:f,eventAuthCore:c,localToken:o}}var sha3_2562=sha3Exports.sha3_256,isValidAptosType=e=>/^(0x)?[0-9a-fA-F]+::\w+::\w+$/.test(e);function nativeAddressToHexString$1(e,t){if(t===1)return address.zeroPadValue(new address.PublicKey(e).toBytes(),32);if(t===chains$1.ethereum||t===chains$1.bsc||t===chains$1.polygon||t===chains$1.avalanche||t===chains$1.arbitrum||t===chains$1.optimism||t===chains$1.base||t===chains$1.unichain||t===chains$1.linea||t===chains$1.sonic)return address.zeroPadValue(e,32);if(t===chains$1.aptos&&isValidAptosType(e))return`0x${sha3_2562(e)}`;if(t===chains$1.sui){let n=e.startsWith("0x")?e.substring(2):e;if(address.bufferPolyfill.Buffer.from(n,"hex").length!==32)throw new Error("Invalid sui address: "+e);return address.zeroPadValue(e,32)}else throw console.log(`Unsupported chain id: ${t}`,e),new Error("Unsupported token chain")}function hexToUint8Array$1(e){return new Uint8Array(address.bufferPolyfill.Buffer.from(e.startsWith("0x")?e.substring(2):e,"hex"))}function getAssociatedTokenAddress$1(e,t,n=!1,a=new address.PublicKey(addresses_default$1.TOKEN_PROGRAM_ID),r=new address.PublicKey(addresses_default$1.ASSOCIATED_TOKEN_PROGRAM_ID)){if(!n&&!address.PublicKey.isOnCurve(t.toBuffer()))throw new Error("TokenOwnerOffCurveError");const[s]=address.PublicKey.findProgramAddressSync([t.toBuffer(),a.toBuffer(),e.toBuffer()],r);return s}function isValidNumericInput(e){return(typeof e=="string"||typeof e=="number")&&e!==""&&e!==null&&!isNaN(Number(e))&&Number.isFinite(Number(e))}function getAmountOfFractionalAmount$1(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");if(!isValidNumericInput(t))throw new Error("getAmountOfFractionalAmount: decimals is not a number");const n=Math.min(8,Number(t)),a=Number(e).toFixed(n+1),r=new RegExp(`^-?\\d+(?:\\.\\d{0,${n}})?`),s=a.match(r);if(!s)throw new Error("getAmountOfFractionalAmount: fixedAmount is null");const o=s[0];return units.parseUnits(o,Number(t))}var chains$1={solana:1,ethereum:2,bsc:4,polygon:5,avalanche:6,arbitrum:23,optimism:24,base:30,aptos:22,sui:21,unichain:44,linea:38,hypercore:65e3,sonic:52};function getWormholeChainIdByName$1(e){return chains$1[e]}var evmChainIdMap$1={1:2,56:4,137:5,43114:6,42161:23,10:24,8453:30,130:44,59144:38,146:52};function getWormholeChainIdById$1(e){return evmChainIdMap$1[e]}var sdkVersion$1=[10,9,0];function getSdkVersion$1(){return sdkVersion$1.join("_")}function getGasDecimal$1(e){return e==="solana"?9:18}function getGasDecimalsInSolana$1(e){return e==="solana"?9:8}var MAX_U64$1=BigInt(2)**BigInt(64)-BigInt(1);function getSafeU64Blob$1(e){if(e<BigInt(0)||e>MAX_U64$1)throw new Error(`Invalid u64: ${e}`);const t=address.bufferPolyfill.Buffer.alloc(8);return t.writeBigUInt64LE(e),t}var ZeroPermit$1={value:BigInt(0),deadline:0,v:0,r:`0x${address.SystemProgram.programId.toBuffer().toString("hex")}`,s:`0x${address.SystemProgram.programId.toBuffer().toString("hex")}`};function getQuoteSuitableReferrerAddress$1(e,t){return!e||!t?null:e.type==="WH"?(t==null?void 0:t.solana)||null:e.type==="MCTP"||e.type==="SWIFT"?e.toChain==="solana"?(t==null?void 0:t.solana)||null:e.toChain==="sui"?(t==null?void 0:t.sui)||null:(t==null?void 0:t.evm)||null:e.type==="FAST_MCTP"&&e.toChain!=="solana"&&e.toChain!=="sui"?(t==null?void 0:t.evm)||null:e.type==="MONO_CHAIN"?e.fromChain==="solana"?(t==null?void 0:t.solana)||null:e.fromChain==="sui"?(t==null?void 0:t.sui)||null:(t==null?void 0:t.evm)||null:null}var MCTP_PAYLOAD_TYPE_DEFAULT$1=1,MCTP_INIT_ORDER_PAYLOAD_ID$1=1,FAST_MCTP_PAYLOAD_TYPE_DEFAULT$1=1,FAST_MCTP_PAYLOAD_TYPE_ORDER$1=3;function getHyperCoreUSDCDepositCustomPayload(e,t,n){const a=address.bufferPolyfill.Buffer.alloc(109),r=address.bufferPolyfill.Buffer.from(hexToUint8Array$1(t));if(r.length!==20)throw new Error("Invalid destination address length, expected 20 bytes");const s=address.bufferPolyfill.Buffer.from(hexToUint8Array$1(n));if(s.length!==65)throw new Error("Invalid USDC permit signature length, expected 65 bytes");return a.writeBigUInt64BE(getAmountOfFractionalAmount$1(e.redeemRelayerFee,CCTP_TOKEN_DECIMALS$1),0),a.set(r,8),a.writeBigUInt64BE(BigInt(e.hyperCoreParams.depositAmountUSDC64),28),a.writeBigUInt64BE(BigInt(e.deadline64),36),a.set(s,44),a}function toQueryString$1(e){return Object.entries(e).filter(([t,n])=>n!=null&&!Array.isArray(n)).map(([t,n])=>`${encodeURIComponent(t)}=${encodeURIComponent(n)}`).join("&")}async function check5xxError$1(e){if(e.status.toString().startsWith("5")){let t;try{const n=await e.json();(n!=null&&n.code||n!=null&&n.statusCode)&&(n!=null&&n.message||n!=null&&n.msg)&&(t={code:(n==null?void 0:n.code)||(n==null?void 0:n.statusCode),message:(n==null?void 0:n.message)||(n==null?void 0:n.msg)})}catch{t=new Error("Internal server error")}throw t}}function generateFetchQuoteUrl$1(e,t={wormhole:!0,swift:!0,mctp:!0,shuttle:!0,gasless:!1,onlyDirect:!1,fastMctp:!0,fullList:!1,payload:void 0,monoChain:!0}){const{gasDrop:n,referrerBps:a}=e;let r=e.slippageBps;const o={...{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,fullList:t.fullList===!0,payload:typeof t.payload=="string"?t.payload:void 0,monoChain:t.monoChain!==!1},solanaProgram:addresses_default$1.MAYAN_PROGRAM_ID,forwarderAddress:addresses_default$1.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:r,referrer:e.referrer,referrerBps:Number.isFinite(a)?a:void 0,gasDrop:Number.isFinite(n)?n:void 0,sdkVersion:getSdkVersion$1()},i=`${addresses_default$1.PRICE_URL}/quote?`,l=toQueryString$1(o);return i+l}async function getSuggestedRelayer$1(){const e=await browserPonyfill.o(`${addresses_default$1.RELAYER_URL}/active-relayers?solanaProgram=${addresses_default$1.MAYAN_PROGRAM_ID}`,{method:"GET",redirect:"follow"});await check5xxError$1(e);const t=await e.json();if(e.status!==200&&e.status!==201)throw t;return t.suggested}async function getSwapSolana$1(e){const t=toQueryString$1({...e,sdkVersion:getSdkVersion$1()}),n=await browserPonyfill.o(`${addresses_default$1.PRICE_URL}/get-swap/solana?${t}`,{method:"GET",redirect:"follow"});await check5xxError$1(n);const a=await n.json();if(n.status!==200&&n.status!==201)throw a;return a}async function getSwapSui$1(e){const t=JSON.stringify({...e,sdkVersion:getSdkVersion$1()}),n=`${addresses_default$1.PRICE_URL}/get-swap/sui`,a=await browserPonyfill.o(n,{method:"POST",redirect:"follow",body:t,headers:{"Content-Type":"application/json"}});await check5xxError$1(a);const r=await a.json();if(a.status!==200&&a.status!==201)throw r;return r}var MayanSwapArtifact_default$1={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$1={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$1={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"}]};function getEvmMctpBridgeParams$1(e,t,n,a){const r=getWormholeChainIdById$1(Number(n)),s=getWormholeChainIdByName$1(e.fromChain),o=getWormholeChainIdByName$1(e.toChain);if(s!==r)throw new Error(`Signer chain id(${Number(n)}) and quote from chain are not same! ${s} !== ${r}`);const i=e.cheaperChain===e.fromChain,l=nativeAddressToHexString$1(t,o),u=getAmountOfFractionalAmount$1(e.redeemRelayerFee,CCTP_TOKEN_DECIMALS$1),d=getAmountOfFractionalAmount$1(e.gasDrop,Math.min(getGasDecimal$1(e.toChain),8)),c=BigInt(e.effectiveAmountIn64),f=getCCTPDomain$1(e.toChain);if(!e.mctpMayanContract)throw new Error("MCTP contract address is missing");const y=e.mctpMayanContract;if(e.toChain==="solana"&&i)throw new Error("Cannot lock fee for transfer to solana");let p=getAmountOfFractionalAmount$1(e.bridgeFee,getGasDecimal$1(e.fromChain));return i&&(p=BigInt(0)),{lockFee:i,tokenIn:e.mctpInputContract,amountIn:c,redeemFee:u,gasDrop:d,destAddr:l,destDomain:f,payloadType:MCTP_PAYLOAD_TYPE_DEFAULT$1,customPayload:"0x",bridgeFee:p,contractAddress:y}}function getEvmMctpBridgeTxPayload$1(e,t,n,a){const r=getEvmMctpBridgeParams$1(e,t,n),{contractAddress:s,tokenIn:o,amountIn:i,destAddr:l,lockFee:u,redeemFee:d,gasDrop:c,destDomain:f,customPayload:y,payloadType:p,bridgeFee:b}=r,h=new contract.Contract(s,MayanCircleArtifact_default$1.abi);let T,g;return u?T=h.interface.encodeFunctionData("bridgeWithLockedFee",[o,i,c,d,f,l]):T=h.interface.encodeFunctionData("bridgeWithFee",[o,i,d,c,l,f,p,y]),g=contract.toBeHex(b),{to:s,data:T,value:g,_params:r}}function getEvmMctpCreateOrderParams$1(e,t,n,a){const r=getWormholeChainIdById$1(Number(a)),s=getWormholeChainIdByName$1(e.fromChain),o=getWormholeChainIdByName$1(e.toChain);if(s!==r)throw new Error(`Signer chain id(${Number(a)}) and quote from chain are not same! ${s} !== ${r}`);if(!e.mctpMayanContract)throw new Error("MCTP contract address is missing");const i=e.mctpMayanContract,l=nativeAddressToHexString$1(t,o);let u;n?u=nativeAddressToHexString$1(n,o):u=nativeAddressToHexString$1(address.SystemProgram.programId.toString(),getWormholeChainIdByName$1("solana"));const d=getAmountOfFractionalAmount$1(e.redeemRelayerFee,CCTP_TOKEN_DECIMALS$1),c=getAmountOfFractionalAmount$1(e.gasDrop,Math.min(getGasDecimal$1(e.toChain),8));let f=BigInt(e.effectiveAmountIn64);const y=getAmountOfFractionalAmount$1(e.minAmountOut,Math.min(8,e.toToken.decimals)),p=BigInt(e.deadline64),b=e.toToken.contract===providerJsonrpc.ZeroAddress?nativeAddressToHexString$1(address.SystemProgram.programId.toString(),getWormholeChainIdByName$1("solana")):nativeAddressToHexString$1(e.toChain==="sui"?e.toToken.verifiedAddress:e.toToken.contract,e.toToken.wChainId);return{params:{tokenIn:e.mctpInputContract,amountIn:f,gasDrop:c,destAddr:l,destChain:o,tokenOut:b,minAmountOut:y,deadline:p,redeemFee:d,referrerAddr:u,referrerBps:e.referrerBps||0},bridgeFee:getAmountOfFractionalAmount$1(e.bridgeFee,getGasDecimal$1(e.fromChain)),contractAddress:i}}function getEvmMctpCreateOrderTxPayload$1(e,t,n,a){const r=getEvmMctpCreateOrderParams$1(e,t,n,a),{contractAddress:s,params:o,bridgeFee:i}=r,u=new contract.Contract(s,MayanCircleArtifact_default$1.abi).interface.encodeFunctionData("createOrder",[o]),d=contract.toBeHex(i);return{to:s,data:u,value:d,_params:r}}function getMctpFromEvmTxPayload$1(e,t,n,a,r,s){if(e.type!=="MCTP")throw new Error("Quote type is not MCTP");if(!Number.isFinite(Number(a)))throw new Error("Invalid signer chain id");a=Number(a);const o=r||ZeroPermit$1,i=new contract.Contract(addresses_default$1.MAYAN_FORWARDER_CONTRACT,MayanForwarderArtifact_default$1.abi),l=getAmountOfFractionalAmount$1(e.bridgeFee,getGasDecimal$1(e.fromChain));let u=contract.toBeHex(l);if(e.fromToken.contract===e.mctpInputContract)if(e.hasAuction){if(!Number(e.deadline64))throw new Error("MCTP order requires timeout");const d=getEvmMctpCreateOrderTxPayload$1(e,t,n,a),c="forwardERC20",f=[e.fromToken.contract,d._params.params.amountIn,o,d._params.contractAddress,d.data];return{data:i.interface.encodeFunctionData(c,f),to:addresses_default$1.MAYAN_FORWARDER_CONTRACT,value:contract.toBeHex(u),chainId:a,_forwarder:{method:c,params:f}}}else{const d=getEvmMctpBridgeTxPayload$1(e,t,a),c="forwardERC20",f=[e.fromToken.contract,d._params.amountIn,o,d._params.contractAddress,d.data];return{data:i.interface.encodeFunctionData(c,f),to:addresses_default$1.MAYAN_FORWARDER_CONTRACT,value:contract.toBeHex(u),chainId:a,_forwarder:{method:c,params:f}}}else{const{minMiddleAmount:d,evmSwapRouterAddress:c,evmSwapRouterCalldata:f}=e;if(!d||!c||!f)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 y=getEvmMctpCreateOrderTxPayload$1(e,t,n,a),p=getAmountOfFractionalAmount$1(e.minMiddleAmount,CCTP_TOKEN_DECIMALS$1);if(e.fromToken.contract===providerJsonrpc.ZeroAddress){let b=y._params.params.amountIn;if(b<=l)throw new Error("Amount in is less than bridge fee");l!==BigInt(0)&&(b-=l),u=contract.toBeHex(y._params.params.amountIn);const h="swapAndForwardEth",T=[b,c,f,e.mctpInputContract,p,y._params.contractAddress,y.data];return{data:i.interface.encodeFunctionData(h,T),to:addresses_default$1.MAYAN_FORWARDER_CONTRACT,value:contract.toBeHex(u),chainId:a,_forwarder:{method:h,params:T}}}else{const b="swapAndForwardERC20",h=[e.fromToken.contract,y._params.params.amountIn,o,c,f,e.mctpInputContract,p,y._params.contractAddress,y.data];return{data:i.interface.encodeFunctionData(b,h),to:addresses_default$1.MAYAN_FORWARDER_CONTRACT,value:contract.toBeHex(u),chainId:a,_forwarder:{method:b,params:h}}}}else{const y=getEvmMctpBridgeTxPayload$1(e,t,a),p=getAmountOfFractionalAmount$1(e.minMiddleAmount,CCTP_TOKEN_DECIMALS$1);if(e.fromToken.contract===providerJsonrpc.ZeroAddress){let b=y._params.amountIn;if(b<=l)throw new Error("Amount in is less than bridge fee");l!==BigInt(0)&&(b-=l),u=contract.toBeHex(y._params.amountIn);const h="swapAndForwardEth",T=[b,c,f,e.mctpInputContract,p,y._params.contractAddress,y.data];return{data:i.interface.encodeFunctionData(h,T),to:addresses_default$1.MAYAN_FORWARDER_CONTRACT,value:contract.toBeHex(u),chainId:a,_forwarder:{method:h,params:T}}}else{const b="swapAndForwardERC20",h=[e.fromToken.contract,y._params.amountIn,o,c,f,e.mctpInputContract,p,y._params.contractAddress,y.data];return{data:i.interface.encodeFunctionData(b,h),to:addresses_default$1.MAYAN_FORWARDER_CONTRACT,value:contract.toBeHex(u),chainId:a,_forwarder:{method:b,params:h}}}}}}var MayanSwiftArtifact_default$1={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 decodeInstructionArgs(e,t){const n=t.subarray(0,8),a=e.instructions.find(i=>address.bufferPolyfill.Buffer.from(i.discriminator).toString("hex").toLowerCase()===address.bufferPolyfill.Buffer.from(n).toString("hex").toLowerCase());if(!a)throw new Error(`Instruction ${address.bufferPolyfill.Buffer.from(n).toString("hex")} not in IDL`);const r=a.args||[],s={};let o=8;for(const i of r){const[l,u]=decodeType(i.type,t,o,e);s[i.name]=l,o=u}return s}function decodeType(e,t,n,a){var r;if(typeof e=="string")switch(e){case"u8":return[t.readUInt8(n),n+1];case"u16":return[t.readUInt16LE(n),n+2];case"u32":return[t.readUInt32LE(n),n+4];case"u64":return[t.readBigUInt64LE(n),n+8];case"bool":return[t.readUInt8(n)!==0,n+1];case"pubkey":{const s=t.subarray(n,n+32);return[new address.PublicKey(s),n+32]}default:throw new Error(`Unknown primitive: ${e}`)}if("array"in e){const[s,o]=e.array,i=[];let l=n;for(let u=0;u<o;u++){const[d,c]=decodeType(s,t,l,a);i.push(d),l=c}return[i,l]}if("defined"in e){const s=(r=a.types)==null?void 0:r.find(o=>o.name===e.defined.name);if(!s)throw new Error(`Type ${e.defined} not found`);if(s.type.kind==="struct"){const o={};let i=n;for(const l of s.type.fields){const[u,d]=decodeType(l.type,t,i,a);o[l.name]=u,i=d}return[o,i]}else{const o=t.readUInt8(n),i=s.type.variants[o];if(!i)throw new Error(`Invalid enum index ${o}`);let l=n+1;const u={variant:i.name};if(i.fields&&i.fields.length){const d=[];for(const c of i.fields){const[f,y]=decodeType(c.type,t,l,a);d.push(f),l=y}u.fields=d}return[u,l]}}if("option"in e)return t.readUInt8(n)===0?[null,n+1]:decodeType(e.option,t,n+1,a);if("vec"in e){const s=t.readUInt32LE(n);let o=n+4;const i=[];for(let l=0;l<s;l++){const[u,d]=decodeType(e.vec,t,o,a);i.push(u),o=d}return[i,o]}throw new Error(`Unsupported type shape: ${JSON.stringify(e)}`)}function decodeJupiterV6InsArgs(e){return decodeInstructionArgs(jupV6Idl,address.bufferPolyfill.Buffer.from(e))}var jupV6Idl={instructions:[{name:"route",docs:["route_plan Topologically sorted trade DAG"],discriminator:[229,23,203,151,122,227,173,42],accounts:[{name:"token_program"},{name:"user_transfer_authority",signer:!0},{name:"user_source_token_account",writable:!0},{name:"user_destination_token_account",writable:!0},{name:"destination_token_account",writable:!0,optional:!0},{name:"destination_mint"},{name:"platform_fee_account",writable:!0,optional:!0},{name:"event_authority",address:"D8cy77BBepLMngZx6ZukaTff5hCt1HrWyKk3Hnd9oitf"},{name:"program"}],args:[{name:"route_plan",type:{vec:{defined:{name:"RoutePlanStep"}}}},{name:"in_amount",type:"u64"},{name:"quoted_out_amount",type:"u64"},{name:"slippage_bps",type:"u16"},{name:"platform_fee_bps",type:"u8"}],returns:"u64"},{name:"shared_accounts_route",docs:["Route by using program owned token accounts and open orders accounts."],discriminator:[193,32,155,51,65,214,156,129],accounts:[{name:"token_program"},{name:"program_authority"},{name:"user_transfer_authority",signer:!0},{name:"source_token_account",writable:!0},{name:"program_source_token_account",writable:!0},{name:"program_destination_token_account",writable:!0},{name:"destination_token_account",writable:!0},{name:"source_mint"},{name:"destination_mint"},{name:"platform_fee_account",writable:!0,optional:!0},{name:"token_2022_program",optional:!0},{name:"event_authority",address:"D8cy77BBepLMngZx6ZukaTff5hCt1HrWyKk3Hnd9oitf"},{name:"program"}],args:[{name:"id",type:"u8"},{name:"route_plan",type:{vec:{defined:{name:"RoutePlanStep"}}}},{name:"in_amount",type:"u64"},{name:"quoted_out_amount",type:"u64"},{name:"slippage_bps",type:"u16"},{name:"platform_fee_bps",type:"u8"}],returns:"u64"}],types:[{name:"AccountsType",type:{kind:"enum",variants:[{name:"TransferHookA"},{name:"TransferHookB"},{name:"TransferHookReward"},{name:"TransferHookInput"},{name:"TransferHookIntermediate"},{name:"TransferHookOutput"},{name:"SupplementalTickArrays"},{name:"SupplementalTickArraysOne"},{name:"SupplementalTickArraysTwo"}]}},{name:"FeeEvent",type:{kind:"struct",fields:[{name:"account",type:"pubkey"},{name:"mint",type:"pubkey"},{name:"amount",type:"u64"}]}},{name:"RemainingAccountsInfo",type:{kind:"struct",fields:[{name:"slices",type:{vec:{defined:{name:"RemainingAccountsSlice"}}}}]}},{name:"RemainingAccountsSlice",type:{kind:"struct",fields:[{name:"accounts_type",type:{defined:{name:"AccountsType"}}},{name:"length",type:"u8"}]}},{name:"RoutePlanStep",type:{kind:"struct",fields:[{name:"swap",type:{defined:{name:"Swap"}}},{name:"percent",type:"u8"},{name:"input_index",type:"u8"},{name:"output_index",type:"u8"}]}},{name:"Side",type:{kind:"enum",variants:[{name:"Bid"},{name:"Ask"}]}},{name:"Swap",type:{kind:"enum",variants:[{name:"Saber"},{name:"SaberAddDecimalsDeposit"},{name:"SaberAddDecimalsWithdraw"},{name:"TokenSwap"},{name:"Sencha"},{name:"Step"},{name:"Cropper"},{name:"Raydium"},{name:"Crema",fields:[{name:"a_to_b",type:"bool"}]},{name:"Lifinity"},{name:"Mercurial"},{name:"Cykura"},{name:"Serum",fields:[{name:"side",type:{defined:{name:"Side"}}}]},{name:"MarinadeDeposit"},{name:"MarinadeUnstake"},{name:"Aldrin",fields:[{name:"side",type:{defined:{name:"Side"}}}]},{name:"AldrinV2",fields:[{name:"side",type:{defined:{name:"Side"}}}]},{name:"Whirlpool",fields:[{name:"a_to_b",type:"bool"}]},{name:"Invariant",fields:[{name:"x_to_y",type:"bool"}]},{name:"Meteora"},{name:"GooseFX"},{name:"DeltaFi",fields:[{name:"stable",type:"bool"}]},{name:"Balansol"},{name:"MarcoPolo",fields:[{name:"x_to_y",type:"bool"}]},{name:"Dradex",fields:[{name:"side",type:{defined:{name:"Side"}}}]},{name:"LifinityV2"},{name:"RaydiumClmm"},{name:"Openbook",fields:[{name:"side",type:{defined:{name:"Side"}}}]},{name:"Phoenix",fields:[{name:"side",type:{defined:{name:"Side"}}}]},{name:"Symmetry",fields:[{name:"from_token_id",type:"u64"},{name:"to_token_id",type:"u64"}]},{name:"TokenSwapV2"},{name:"HeliumTreasuryManagementRedeemV0"},{name:"StakeDexStakeWrappedSol"},{name:"StakeDexSwapViaStake",fields:[{name:"bridge_stake_seed",type:"u32"}]},{name:"GooseFXV2"},{name:"Perps"},{name:"PerpsAddLiquidity"},{name:"PerpsRemoveLiquidity"},{name:"MeteoraDlmm"},{name:"OpenBookV2",fields:[{name:"side",type:{defined:{name:"Side"}}}]},{name:"RaydiumClmmV2"},{name:"StakeDexPrefundWithdrawStakeAndDepositStake",fields:[{name:"bridge_stake_seed",type:"u32"}]},{name:"Clone",fields:[{name:"pool_index",type:"u8"},{name:"quantity_is_input",type:"bool"},{name:"quantity_is_collateral",type:"bool"}]},{name:"SanctumS",fields:[{name:"src_lst_value_calc_accs",type:"u8"},{name:"dst_lst_value_calc_accs",type:"u8"},{name:"src_lst_index",type:"u32"},{name:"dst_lst_index",type:"u32"}]},{name:"SanctumSAddLiquidity",fields:[{name:"lst_value_calc_accs",type:"u8"},{name:"lst_index",type:"u32"}]},{name:"SanctumSRemoveLiquidity",fields:[{name:"lst_value_calc_accs",type:"u8"},{name:"lst_index",type:"u32"}]},{name:"RaydiumCP"},{name:"WhirlpoolSwapV2",fields:[{name:"a_to_b",type:"bool"},{name:"remaining_accounts_info",type:{option:{defined:{name:"RemainingAccountsInfo"}}}}]},{name:"OneIntro"},{name:"PumpdotfunWrappedBuy"},{name:"PumpdotfunWrappedSell"},{name:"PerpsV2"},{name:"PerpsV2AddLiquidity"},{name:"PerpsV2RemoveLiquidity"},{name:"MoonshotWrappedBuy"},{name:"MoonshotWrappedSell"},{name:"StabbleStableSwap"},{name:"StabbleWeightedSwap"},{name:"Obric",fields:[{name:"x_to_y",type:"bool"}]},{name:"FoxBuyFromEstimatedCost"},{name:"FoxClaimPartial",fields:[{name:"is_y",type:"bool"}]},{name:"SolFi",fields:[{name:"is_quote_to_base",type:"bool"}]},{name:"SolayerDelegateNoInit"},{name:"SolayerUndelegateNoInit"},{name:"TokenMill",fields:[{name:"side",type:{defined:{name:"Side"}}}]},{name:"DaosFunBuy"},{name:"DaosFunSell"},{name:"ZeroFi"},{name:"StakeDexWithdrawWrappedSol"},{name:"VirtualsBuy"},{name:"VirtualsSell"},{name:"Perena",fields:[{name:"in_index",type:"u8"},{name:"out_index",type:"u8"}]},{name:"PumpdotfunAmmBuy"},{name:"PumpdotfunAmmSell"},{name:"Gamma"},{name:"MeteoraDlmmSwapV2",fields:[{name:"remaining_accounts_info",type:{defined:{name:"RemainingAccountsInfo"}}}]},{name:"Woofi"},{name:"MeteoraDammV2"},{name:"MeteoraDynamicBondingCurveSwap"},{name:"StabbleStableSwapV2"},{name:"StabbleWeightedSwapV2"},{name:"RaydiumLaunchlabBuy",fields:[{name:"share_fee_rate",type:"u64"}]},{name:"RaydiumLaunchlabSell",fields:[{name:"share_fee_rate",type:"u64"}]},{name:"BoopdotfunWrappedBuy"},{name:"BoopdotfunWrappedSell"},{name:"Plasma",fields:[{name:"side",type:{defined:{name:"Side"}}}]},{name:"GoonFi",fields:[{name:"is_bid",type:"bool"},{name:"blacklist_bump",type:"u8"}]},{name:"HumidiFi",fields:[{name:"swap_id",type:"u64"},{name:"is_base_to_quote",type:"bool"}]},{name:"MeteoraDynamicBondingCurveSwapWithRemainingAccounts"},{name:"TesseraV",fields:[{name:"side",type:{defined:{name:"Side"}}}]},{name:"RaydiumStable"}]}},{name:"SwapEvent",type:{kind:"struct",fields:[{name:"amm",type:"pubkey"},{name:"input_mint",type:"pubkey"},{name:"input_amount",type:"u64"},{name:"output_mint",type:"pubkey"},{name:"output_amount",type:"u64"}]}},{name:"TokenLedger",type:{kind:"struct",fields:[{name:"token_account",type:"pubkey"},{name:"amount",type:"u64"}]}}]};function createAssociatedTokenAccountInstruction$1(e,t,n,a,r=new address.PublicKey(addresses_default$1.TOKEN_PROGRAM_ID),s=new address.PublicKey(addresses_default$1.ASSOCIATED_TOKEN_PROGRAM_ID)){const o=[{pubkey:e,isSigner:!0,isWritable:!0},{pubkey:t,isSigner:!1,isWritable:!0},{pubkey:n,isSigner:!1,isWritable:!1},{pubkey:a,isSigner:!1,isWritable:!1},{pubkey:address.SystemProgram.programId,isSigner:!1,isWritable:!1},{pubkey:r,isSigner:!1,isWritable:!1},{pubkey:address.SYSVAR_RENT_PUBKEY,isSigner:!1,isWritable:!1}];return new address.TransactionInstruction({keys:o,programId:s,data:address.bufferPolyfill.Buffer.from([1])})}var TOKEN_ACCOUNT_LEN$1=165;async function createInitializeRandomTokenAccountInstructions$1(e,t,n,a,r,s=new address.PublicKey(addresses_default$1.TOKEN_PROGRAM_ID)){const o=[],i=await e.getMinimumBalanceForRentExemption(TOKEN_ACCOUNT_LEN$1);return o.push(address.SystemProgram.createAccount({fromPubkey:t,newAccountPubkey:r.publicKey,lamports:i,space:TOKEN_ACCOUNT_LEN$1,programId:s})),o.push(new address.TransactionInstruction({keys:[{pubkey:r.publicKey,isWritable:!0,isSigner:!1},{pubkey:n,isWritable:!1,isSigner:!1},{pubkey:a,isWritable:!1,isSigner:!1},{pubkey:address.SYSVAR_RENT_PUBKEY,isWritable:!1,isSigner:!1}],programId:s,data:address.bufferPolyfill.Buffer.from([1])})),o}var ApproveInstructionData$1=address.struct([address.u8("instruction"),address.blob(8,"amount")]);function createApproveInstruction$1(e,t,n,a,r=new address.PublicKey(addresses_default$1.TOKEN_PROGRAM_ID)){const s=[{pubkey:e,isSigner:!1,isWritable:!0},{pubkey:t,isSigner:!1,isWritable:!1},{pubkey:n,isSigner:!0,isWritable:!1}],o=address.bufferPolyfill.Buffer.alloc(ApproveInstructionData$1.span);return ApproveInstructionData$1.encode({instruction:4,amount:getSafeU64Blob$1(a)},o),new address.TransactionInstruction({keys:s,programId:r,data:o})}var SyncNativeInstructionData$1=address.struct([address.u8("instruction")]);function createSyncNativeInstruction$1(e){const t=[{pubkey:e,isSigner:!1,isWritable:!0}],n=address.bufferPolyfill.Buffer.alloc(SyncNativeInstructionData$1.span);return SyncNativeInstructionData$1.encode({instruction:17},n),new address.TransactionInstruction({keys:t,programId:new address.PublicKey(addresses_default$1.TOKEN_PROGRAM_ID),data:n})}address.struct([address.u8("instruction")]);var SplTransferInstructionData$1=address.struct([address.u8("instruction"),address.blob(8,"amount")]);function createSplTransferInstruction$1(e,t,n,a,r=new address.PublicKey(addresses_default$1.TOKEN_PROGRAM_ID)){const s=[{pubkey:e,isSigner:!1,isWritable:!0},{pubkey:t,isSigner:!1,isWritable:!0},{pubkey:n,isSigner:!0,isWritable:!1}],o=address.bufferPolyfill.Buffer.alloc(SplTransferInstructionData$1.span);return SplTransferInstructionData$1.encode({instruction:3,amount:getSafeU64Blob$1(a)},o),new address.TransactionInstruction({keys:s,programId:r,data:o})}var solMint$1=new address.PublicKey("So11111111111111111111111111111111111111112");function deserializeInstructionInfo$1(e){return new address.TransactionInstruction({programId:new address.PublicKey(e.programId),keys:e.accounts.map(t=>({pubkey:new address.PublicKey(t.pubkey),isSigner:t.isSigner,isWritable:t.isWritable})),data:address.bufferPolyfill.Buffer.from(e.data,"base64")})}async function getAddressLookupTableAccounts$1(e,t){return(await t.getMultipleAccountsInfo(e.map(a=>new address.PublicKey(a)))).reduce((a,r,s)=>{const o=e[s];if(r){const i=new address.AddressLookupTableAccount({key:new address.PublicKey(o),state:address.AddressLookupTableAccount.deserialize(r.data)});a.push(i)}return a},new Array)}function decentralizeClientSwapInstructions$1(e,t){const n=deserializeInstructionInfo$1(e.swapInstruction),a=e.cleanupInstruction?deserializeInstructionInfo$1(e.cleanupInstruction):null,r=e.computeBudgetInstructions?e.computeBudgetInstructions.map(deserializeInstructionInfo$1):[],s=e.setupInstructions?e.setupInstructions.map(deserializeInstructionInfo$1):[];return{swapInstruction:n,cleanupInstruction:a,computeBudgetInstructions:r,setupInstructions:s,addressLookupTableAddresses:e.addressLookupTableAddresses}}function getAnchorInstructionData$1(e){let t=`global:${e}`;return address.bufferPolyfill.Buffer.from(sha256Exports.sha256.digest(t)).subarray(0,8)}async function decideRelayer$1(){let e;try{const t=await getSuggestedRelayer$1();e=new address.PublicKey(t)}catch{console.log("Relayer not found, using system program"),e=address.SystemProgram.programId}return e}function validateJupCleanupInstruction$1(e,t){if(e){if(!e.programId.equals(new address.PublicKey(addresses_default$1.TOKEN_PROGRAM_ID))&&!e.programId.equals(new address.PublicKey(addresses_default$1.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");if(t&&!e.keys[1].pubkey.equals(t))throw new Error("Invalid cleanup instruction:: dest account")}}function validateJupSetupInstructions$1(e,t){if(!(e.length<1)){if(e.length>6)throw new Error("Invalid setup instruction:: too many instructions");e.forEach(n=>{if(!n.programId.equals(new address.PublicKey(addresses_default$1.ASSOCIATED_TOKEN_PROGRAM_ID))&&!n.programId.equals(address.SystemProgram.programId)&&!n.programId.equals(new address.PublicKey(addresses_default$1.TOKEN_PROGRAM_ID))&&!n.programId.equals(new address.PublicKey(addresses_default$1.TOKEN_2022_PROGRAM_ID)))throw new Error("Invalid setup instruction:: programId");if(n.programId.equals(new address.PublicKey(addresses_default$1.ASSOCIATED_TOKEN_PROGRAM_ID))){if(Uint8Array.from(n.data).length===1){if(Uint8Array.from(n.data)[0]!==1)throw new Error("Invalid setup instruction:: data")}else if(Uint8Array.from(n.data).length!==0)throw new Error("Invalid setup instruction:: data")}else if(n.programId.equals(address.SystemProgram.programId)){if(!t)throw new Error("Invalid setup instruction:: unknown transfer");const a=getAssociatedTokenAddress$1(solMint$1,t,!0);if(n.data.readUint32LE()!==2)throw new Error("Invalid setup instruction:: invalid system program instruction");if(!n.keys[1].pubkey.equals(a))throw new Error("Invalid setup instruction:: invalid wrap transfer dest")}else if(n.data.toString("base64")!=="EQ==")throw new Error("Invalid setup instruction:: invalid token program instruction")})}}function validateJupSwapInstruction$1(e,t,n=!1){const a=new address.PublicKey("JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4");if(!e.programId.equals(a))throw new Error("Invalid swap instruction:: programId");if(e.data.subarray(0,8).toString("hex")===getAnchorInstructionData$1("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$1("route").toString("hex")){if(n){if(!e.keys[4].pubkey.equals(a)&&!e.keys[3].pubkey.equals(t))throw new Error("Invalid swap instruction route:: dest account")}else 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 validateJupSwapInstructionData(e,t){const n=decodeJupiterV6InsArgs(Uint8Array.from(e.data));if(n.in_amount>BigInt(t.effectiveAmountIn64))throw new Error("Invalid swap instruction:: amount in");const a=getAmountOfFractionalAmount$1(t.minAmountOut,t.toToken.decimals);if(n.quoted_out_amount-n.quoted_out_amount*BigInt(n.slippage_bps)/10000n<a)throw new Error("Invalid swap instruction:: quote expired");if(n.platform_fee_bps!==t.referrerBps)throw new Error("Invalid swap instruction:: platform fee")}function validateJupComputeBudgetInstructions$1(e){e.forEach(t=>{if(!t.programId.equals(address.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$1(e,t,n,a,r=!1){validateJupComputeBudgetInstructions$1(e.computeBudgetInstructions),validateJupSetupInstructions$1(e.setupInstructions,n),validateJupSwapInstruction$1(e.swapInstruction,t,r),validateJupCleanupInstruction$1(e.cleanupInstruction,a)}function createTransferAllAndCloseInstruction$1(e,t,n,a,r,s=new address.PublicKey("TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA")){return new address.TransactionInstruction({keys:[{pubkey:e,isSigner:!0,isWritable:!1},{pubkey:n,isSigner:!1,isWritable:!0},{pubkey:a,isSigner:!1,isWritable:!0},{pubkey:t,isSigner:!1,isWritable:!1},{pubkey:r,isSigner:!1,isWritable:!0},{pubkey:s,isSigner:!1,isWritable:!1}],programId:new address.PublicKey("B96dV3Luxzo6SokJx3xt8i5y8Mb7HRR6Eec8hCjJDT69"),data:getAnchorInstructionData$1("transfer_all_and_close")})}function createPayloadWriterCreateInstruction(e,t,n,a){const r=[{pubkey:e,isSigner:!0,isWritable:!0},{pubkey:t,isSigner:!1,isWritable:!0},{pubkey:address.SystemProgram.programId,isSigner:!1,isWritable:!1}],s=14+n.length,o=address.bufferPolyfill.Buffer.alloc(s);return o.set(getAnchorInstructionData$1("create_simple"),0),o.writeUint16LE(a,8),o.writeUint32LE(n.length,10),o.set(n,14),new address.TransactionInstruction({keys:r,programId:new address.PublicKey(addresses_default$1.PAYLOAD_WRITER_PROGRAM_ID),data:o})}function createPayloadWriterCloseInstruction(e,t,n){const a=[{pubkey:e,isSigner:!0,isWritable:!0},{pubkey:t,isSigner:!1,isWritable:!0}],s=address.bufferPolyfill.Buffer.alloc(10);return s.set(getAnchorInstructionData$1("close"),0),s.writeUint16LE(n,8),new address.TransactionInstruction({keys:a,programId:new address.PublicKey(addresses_default$1.PAYLOAD_WRITER_PROGRAM_ID),data:s})}function getWormholePDAs$1(e){const t=new address.PublicKey(addresses_default$1.WORMHOLE_PROGRAM_ID),n=new address.PublicKey(e),[a]=address.PublicKey.findProgramAddressSync([address.bufferPolyfill.Buffer.from("Bridge")],t),[r]=address.PublicKey.findProgramAddressSync([address.bufferPolyfill.Buffer.from("emitter")],n),[s]=address.PublicKey.findProgramAddressSync([address.bufferPolyfill.Buffer.from("Sequence"),r.toBuffer()],t),[o]=address.PublicKey.findProgramAddressSync([address.bufferPolyfill.Buffer.from("fee_collector")],t);return{bridgeConfig:a,sequenceKey:s,feeCollector:o,emitter:r}}var MCTPBridgeWithFeeLayout$1=address.struct([address.blob(8,"instruction")]);function createMctpBridgeWithFeeInstruction$1(e,t,n,a,r){const s=new address.PublicKey(addresses_default$1.WORMHOLE_PROGRAM_ID),o=new address.PublicKey(addresses_default$1.TOKEN_PROGRAM_ID),i=new address.PublicKey(addresses_default$1.CCTP_CORE_PROGRAM_ID),l=new address.PublicKey(addresses_default$1.CCTP_TOKEN_PROGRAM_ID),u=new address.PublicKey(addresses_default$1.MCTP_PROGRAM_ID),d=new address.PublicKey(a),c=new address.PublicKey(n),f=getAssociatedTokenAddress$1(c,e,!0);let y;r&&r>BigInt(0)?y=getAssociatedTokenAddress$1(c,d,!1):y=new address.PublicKey(addresses_default$1.MCTP_PROGRAM_ID);const p=getCCTPBridgePDAs$1(c,t),b=getWormholePDAs$1(addresses_default$1.MCTP_PROGRAM_ID),h=address.Keypair.generate(),T=address.Keypair.generate(),g=[{pubkey:e,isWritable:!0,isSigner:!1},{pubkey:f,isWritable:!0,isSigner:!1},{pubkey:d,isWritable:!0,isSigner:!0},{pubkey:y,isWritable:!0,isSigner:!1},{pubkey:c,isWritable:!0,isSigner:!1},{pubkey:p.senderAuthority,isWritable:!1,isSigner:!1},{pubkey:p.tokenMessenger,isWritable:!1,isSigner:!1},{pubkey:p.remoteTokenMessengerKey,isWritable:!1,isSigner:!1},{pubkey:p.tokenMinter,isWritable:!1,isSigner:!1},{pubkey:p.localToken,isWritable:!0,isSigner:!1},{pubkey:p.eventAuthToken,isWritable:!1,isSigner:!1},{pubkey:p.messageTransmitter,isWritable:!0,isSigner:!1},{pubkey:h.publicKey,isWritable:!0,isSigner:!0},{pubkey:l,isWritable:!1,isSigner:!1},{pubkey:i,isWritable:!1,isSigner:!1},{pubkey:b.emitter,isWritable:!1,isSigner:!1},{pubkey:b.bridgeConfig,isWritable:!0,isSigner:!1},{pubkey:b.sequenceKey,isWritable:!0,isSigner:!1},{pubkey:b.feeCollector,isWritable:!0,isSigner:!1},{pubkey:T.publicKey,isWritable:!0,isSigner:!0},{pubkey:s,isWritable:!1,isSigner:!1},{pubkey:address.SYSVAR_CLOCK_PUBKEY,isWritable:!1,isSigner:!1},{pubkey:address.SYSVAR_RENT_PUBKEY,isWritable:!1,isSigner:!1},{pubkey:o,isWritable:!1,isSigner:!1},{pubkey:address.SystemProgram.programId,isWritable:!1,isSigner:!1}],A=address.bufferPolyfill.Buffer.alloc(MCTPBridgeWithFeeLayout$1.span);return MCTPBridgeWithFeeLayout$1.encode({instruction:getAnchorInstructionData$1("bridge_with_fee")},A),{instruction:new address.TransactionInstruction({keys:g,data:A,programId:u}),signers:[h,T]}}var MctpBridgeLockFeeLayout$1=address.struct([address.blob(8,"instruction")]);function createMctpBridgeLockFeeInstruction$1(e,t,n,a,r){const s=[],o=new address.PublicKey(addresses_default$1.TOKEN_PROGRAM_ID),i=new address.PublicKey(addresses_default$1.ASSOCIATED_TOKEN_PROGRAM_ID),l=new address.PublicKey(addresses_default$1.CCTP_CORE_PROGRAM_ID),u=new address.PublicKey(addresses_default$1.CCTP_TOKEN_PROGRAM_ID),d=new address.PublicKey(addresses_default$1.MCTP_PROGRAM_ID),c=new address.PublicKey(a),f=new address.PublicKey(n),y=getAssociatedTokenAddress$1(f,e,!0),p=getCCTPBridgePDAs$1(f,t),b=address.Keypair.generate(),[h]=address.PublicKey.findProgramAddressSync([address.bufferPolyfill.Buffer.from("LOCKED_FEE"),f.toBuffer(),b.publicKey.toBytes()],d);let T;r&&r>BigInt(0)?T=getAssociatedTokenAddress$1(f,c,!1):T=new address.PublicKey(addresses_default$1.MCTP_PROGRAM_ID);const g=getAssociatedTokenAddress$1(f,h,!0);s.push(createAssociatedTokenAccountInstruction$1(c,g,h,f));const A=[{pubkey:e,isWritable:!0,isSigner:!1},{pubkey:y,isWritable:!0,isSigner:!1},{pubkey:c,isWritable:!0,isSigner:!0},{pubkey:T,isWritable:!0,isSigner:!1},{pubkey:h,isWritable:!0,isSigner:!1},{pubkey:g,isWritable:!0,isSigner:!1},{pubkey:f,isWritable:!0,isSigner:!1},{pubkey:p.senderAuthority,isWritable:!1,isSigner:!1},{pubkey:p.tokenMessenger,isWritable:!1,isSigner:!1},{pubkey:p.remoteTokenMessengerKey,isWritable:!1,isSigner:!1},{pubkey:p.tokenMinter,isWritable:!1,isSigner:!1},{pubkey:p.localToken,isWritable:!0,isSigner:!1},{pubkey:p.eventAuthToken,isWritable:!1,isSigner:!1},{pubkey:p.messageTransmitter,isWritable:!0,isSigner:!1},{pubkey:b.publicKey,isWritable:!0,isSigner:!0},{pubkey:u,isWritable:!1,isSigner:!1},{pubkey:l,isWritable:!1,isSigner:!1},{pubkey:o,isWritable:!1,isSigner:!1},{pubkey:i,isWritable:!1,isSigner:!1},{pubkey:address.SystemProgram.programId,isWritable:!1,isSigner:!1}],w=address.bufferPolyfill.Buffer.alloc(MctpBridgeLockFeeLayout$1.span);MctpBridgeLockFeeLayout$1.encode({instruction:getAnchorInstructionData$1("bridge_locked_fee")},w);const _=new address.TransactionInstruction({keys:A,data:w,programId:d});return s.push(_),{instructions:s,signer:b}}var MctpInitSwapLayout$1=address.struct([address.blob(8,"instruction")]);function createMctpInitSwapInstruction$1(e,t,n,a,r){const s=new address.PublicKey(addresses_default$1.TOKEN_PROGRAM_ID),o=new address.PublicKey(addresses_default$1.CCTP_CORE_PROGRAM_ID),i=new address.PublicKey(addresses_default$1.CCTP_TOKEN_PROGRAM_ID),l=new address.PublicKey(addresses_default$1.MCTP_PROGRAM_ID),u=new address.PublicKey(a),d=new address.PublicKey(n),c=getAssociatedTokenAddress$1(d,e,!0),f=getCCTPBridgePDAs$1(d,t),y=address.Keypair.generate(),[p]=address.PublicKey.findProgramAddressSync([address.bufferPolyfill.Buffer.from("ORDER_SOLANA_SOURCE"),e.toBuffer()],l);let b;r&&r>BigInt(0)?b=getAssociatedTokenAddress$1(d,u,!1):b=new address.PublicKey(addresses_default$1.MCTP_PROGRAM_ID);const h=[{pubkey:e,isWritable:!1,isSigner:!1},{pubkey:c,isWritable:!0,isSigner:!1},{pubkey:u,isWritable:!0,isSigner:!0},{pubkey:b,isWritable:!0,isSigner:!1},{pubkey:d,isWritable:!0,isSigner:!1},{pubkey:p,isWritable:!0,isSigner:!1},{pubkey:f.senderAuthority,isWritable:!1,isSigner:!1},{pubkey:f.tokenMessenger,isWritable:!1,isSigner:!1},{pubkey:f.remoteTokenMessengerKey,isWritable:!1,isSigner:!1},{pubkey:f.tokenMinter,isWritable:!1,isSigner:!1},{pubkey:f.localToken,isWritable:!0,isSigner:!1},{pubkey:f.eventAuthToken,isWritable:!1,isSigner:!1},{pubkey:f.messageTransmitter,isWritable:!0,isSigner:!1},{pubkey:y.publicKey,isWritable:!0,isSigner:!0},{pubkey:i,isWritable:!1,isSigner:!1},{pubkey:o,isWritable:!1,isSigner:!1},{pubkey:new address.PublicKey(addresses_default$1.FEE_MANAGER_PROGRAM_ID),isWritable:!1,isSigner:!1},{pubkey:s,isWritable:!1,isSigner:!1},{pubkey:address.SystemProgram.programId,isWritable:!1,isSigner:!1}],T=address.bufferPolyfill.Buffer.alloc(MctpInitSwapLayout$1.span);return MctpInitSwapLayout$1.encode({instruction:getAnchorInstructionData$1("create_order")},T),{instruction:new address.TransactionInstruction({keys:h,data:T,programId:l}),signer:y}}var MctpBridgeLedgerLayout$1=address.struct([address.blob(8,"instruction"),address.blob(32,"destAddress"),address.blob(8,"amountInMin"),address.blob(8,"gasDrop"),address.blob(8,"feeRedeem"),address.blob(8,"feeSolana"),address.u16("destinationChain"),address.blob(32,"keyRnd"),address.u8("mode")]);function createMctpBridgeLedgerInstruction$1(e){if(e.mode!=="WITH_FEE"&&e.mode!=="LOCK_FEE")throw new Error("Invalid mode: "+e.mode);const t=new address.PublicKey(e.swapperAddress),n=new address.PublicKey(e.mintAddress),a=getAssociatedTokenAddress$1(n,e.ledger,!0),r=getWormholeChainIdByName$1(e.toChain),s=address.bufferPolyfill.Buffer.from(hexToUint8Array$1(nativeAddressToHexString$1(e.destinationAddress,r))),o=getSafeU64Blob$1(e.amountInMin64),i=getSafeU64Blob$1(getAmountOfFractionalAmount$1(e.gasDrop,Math.min(getGasDecimal$1(e.toChain),8))),l=getSafeU64Blob$1(getAmountOfFractionalAmount$1(e.feeRedeem,CCTP_TOKEN_DECIMALS$1)),u=getSafeU64Blob$1(e.feeSolana),d=e.referrerAddress?address.bufferPolyfill.Buffer.from(hexToUint8Array$1(nativeAddressToHexString$1(e.referrerAddress,r))):address.SystemProgram.programId.toBuffer(),c=[{pubkey:t,isWritable:!0,isSigner:!0},{pubkey:e.ledger,isWritable:!0,isSigner:!1},{pubkey:a,isWritable:!1,isSigner:!1},{pubkey:e.customPayload||new address.PublicKey(addresses_default$1.MCTP_PROGRAM_ID),isWritable:!1,isSigner:!1},{pubkey:n,isWritable:!1,isSigner:!1},{pubkey:address.SystemProgram.programId,isWritable:!1,isSigner:!1},{pubkey:new address.PublicKey(d),isWritable:!1,isSigner:!1}],f=address.bufferPolyfill.Buffer.alloc(MctpBridgeLedgerLayout$1.span);return MctpBridgeLedgerLayout$1.encode({instruction:getAnchorInstructionData$1("init_bridge_ledger"),destAddress:s,amountInMin:o,gasDrop:i,feeRedeem:l,feeSolana:u,destinationChain:r,keyRnd:e.randomKey.toBuffer(),mode:e.mode==="WITH_FEE"?1:2},f),new address.TransactionInstruction({keys:c,data:f,programId:new address.PublicKey(addresses_default$1.MCTP_PROGRAM_ID)})}var MctpSwapLedgerLayout$1=address.struct([address.blob(8,"instruction"),address.blob(32,"destAddress"),address.blob(8,"amountInMin"),address.blob(8,"gasDrop"),address.blob(8,"feeRedeem"),address.blob(8,"feeSolana"),address.u16("destinationChain"),address.blob(32,"keyRnd"),address.u8("mode"),address.blob(32,"tokenOut"),address.blob(8,"amountOutMin"),address.blob(8,"deadline"),address.blob(32,"refAddress"),address.u8("feeRateRef")]);function createMctpSwapLedgerInstruction$1(e){const t=new address.PublicKey(e.swapperAddress),n=new address.PublicKey(e.mintAddress),a=getAssociatedTokenAddress$1(n,e.ledger,!0),r=getWormholeChainIdByName$1(e.toChain),s=address.bufferPolyfill.Buffer.from(hexToUint8Array$1(nativeAddressToHexString$1(e.destinationAddress,r))),o=getSafeU64Blob$1(e.amountInMin64),i=getSafeU64Blob$1(getAmountOfFractionalAmount$1(e.gasDrop,Math.min(getGasDecimal$1(e.toChain),8))),l=getSafeU64Blob$1(getAmountOfFractionalAmount$1(e.feeRedeem,CCTP_TOKEN_DECIMALS$1)),u=getSafeU64Blob$1(e.feeSolana),d=address.bufferPolyfill.Buffer.from(hexToUint8Array$1(nativeAddressToHexString$1(e.tokenOut,r))),c=e.referrerAddress?address.bufferPolyfill.Buffer.from(hexToUint8Array$1(nativeAddressToHexString$1(e.referrerAddress,r))):address.SystemProgram.programId.toBuffer(),f=getSafeU64Blob$1(getAmountOfFractionalAmount$1(e.amountOutMin,Math.min(8,e.tokenOutDecimals))),y=getSafeU64Blob$1(e.deadline),p=[{pubkey:t,isWritable:!0,isSigner:!0},{pubkey:e.ledger,isWritable:!0,isSigner:!1},{pubkey:a,isWritable:!1,isSigner:!1},{pubkey:n,isWritable:!1,isSigner:!1},{pubkey:address.SystemProgram.programId,isWritable:!1,isSigner:!1}],b=address.bufferPolyfill.Buffer.alloc(MctpSwapLedgerLayout$1.span);return MctpSwapLedgerLayout$1.encode({instruction:getAnchorInstructionData$1("init_order_ledger"),destAddress:s,amountInMin:o,gasDrop:i,feeRedeem:l,feeSolana:u,destinationChain:r,keyRnd:e.randomKey.toBuffer(),mode:3,tokenOut:d,refAddress:c,amountOutMin:f,deadline:y,feeRateRef:e.feeRateRef},b),new address.TransactionInstruction({keys:p,data:b,programId:new address.PublicKey(addresses_default$1.MCTP_PROGRAM_ID)})}async function createMctpFromSolanaInstructions$1(e,t,n,a,r,s={}){const o=(s==null?void 0:s.forceSkipCctpInstructions)||!1,i=(s==null?void 0:s.allowSwapperOffCurve)||!1;if(e.toChain==="solana")throw new Error("Unsupported destination chain: "+e.toChain);let l=[],u=[],d=[],c=[],f=[],y=[],p=[];const b=address.Keypair.generate();let h=null;l.push(addresses_default$1.LOOKUP_TABLE);const T=new address.PublicKey(addresses_default$1.MCTP_PROGRAM_ID),g=new address.PublicKey(t),A=address.Keypair.generate(),w=e.deadline64?BigInt(e.deadline64):BigInt(0);if(e.hasAuction&&!Number(e.deadline64))throw new Error("Swap mode requires a timeout");const _=e.hasAuction?"LEDGER_ORDER":"LEDGER_BRIDGE",[M]=address.PublicKey.findProgramAddressSync([address.bufferPolyfill.Buffer.from(_),g.toBytes(),A.publicKey.toBytes()],T),P=getAssociatedTokenAddress$1(new address.PublicKey(e.mctpInputContract),M,!0),k=e.cheaperChain==="solana"?"LOCK_FEE":"WITH_FEE",D=e.toChain==="sui"?e.toToken.verifiedAddress:e.toToken.contract;if(e.fromToken.contract===e.mctpInputContract){const C=BigInt(o?e.solanaRelayerFee64:0);if(e.suggestedPriorityFee>0&&u.push(address.ComputeBudgetProgram.setComputeUnitPrice({microLamports:e.suggestedPriorityFee})),u.push(createAssociatedTokenAccountInstruction$1(g,P,M,new address.PublicKey(e.mctpInputContract))),u.push(createSplTransferInstruction$1(getAssociatedTokenAddress$1(new address.PublicKey(e.mctpInputContract),g,i),P,g,BigInt(e.effectiveAmountIn64))),e.hasAuction){if(u.push(createMctpSwapLedgerInstruction$1({ledger:M,swapperAddress:t,mintAddress:e.mctpInputContract,randomKey:A.publicKey,toChain:e.toChain,destinationAddress:n,feeSolana:C,feeRedeem:e.redeemRelayerFee,gasDrop:e.gasDrop,amountInMin64:BigInt(e.effectiveAmountIn64),tokenOut:D,tokenOutDecimals:e.toToken.decimals,referrerAddress:a,amountOutMin:e.minAmountOut,deadline:w,feeRateRef:e.referrerBps})),!o){const{instruction:R,signer:N}=createMctpInitSwapInstruction$1(M,e.toChain,e.mctpInputContract,t,C);u.push(R),d.push(N)}}else if(u.push(createMctpBridgeLedgerInstruction$1({ledger:M,swapperAddress:t,mintAddress:e.mctpInputContract,randomKey:A.publicKey,toChain:e.toChain,destinationAddress:n,feeSolana:C,feeRedeem:e.redeemRelayerFee,gasDrop:e.gasDrop,amountInMin64:BigInt(e.effectiveAmountIn64),mode:k,referrerAddress:a})),!o)if(k==="WITH_FEE"){const{instruction:R,signers:N}=createMctpBridgeWithFeeInstruction$1(M,e.toChain,e.mctpInputContract,t,C);u.push(R),d.push(...N)}else{const{instructions:R,signer:N}=createMctpBridgeLockFeeInstruction$1(M,e.toChain,e.mctpInputContract,t,C);u.push(...R),d.push(N)}}else{const C=await getSwapSolana$1({minMiddleAmount:e.minMiddleAmount,middleToken:e.mctpInputContract,userWallet:t,userLedger:M.toString(),slippageBps:e.slippageBps,fromToken:e.fromToken.contract,amountIn64:e.effectiveAmountIn64,depositMode:e.hasAuction?"SWAP":k,fillMaxAccounts:(s==null?void 0:s.separateSwapTx)||!1,tpmTokenAccount:s!=null&&s.separateSwapTx?b.publicKey.toString():null}),R=decentralizeClientSwapInstructions$1(C);s!=null&&s.separateSwapTx&&C.maxAccountsFilled?(validateJupSwap$1(R,b.publicKey,g),p=await createInitializeRandomTokenAccountInstructions$1(r,g,new address.PublicKey(e.mctpInputContract),g,b),y.push(...R.computeBudgetInstructions),R.setupInstructions&&y.push(...R.setupInstructions),y.push(R.swapInstruction),R.cleanupInstruction&&y.push(R.cleanupInstruction),f.push(...R.addressLookupTableAddresses),u.push(createAssociatedTokenAccountInstruction$1(g,P,M,new address.PublicKey(e.mctpInputContract))),u.push(createTransferAllAndCloseInstruction$1(g,new address.PublicKey(e.mctpInputContract),b.publicKey,P,g))):(validateJupSwap$1(R,P,g),u.push(...R.computeBudgetInstructions),R.setupInstructions&&u.push(...R.setupInstructions),u.push(R.swapInstruction),R.cleanupInstruction&&u.push(R.cleanupInstruction),l.push(...R.addressLookupTableAddresses));const N=y.length>0?BigInt(0):BigInt(e.solanaRelayerFee64);if(e.hasAuction){if(u.push(createMctpSwapLedgerInstruction$1({ledger:M,swapperAddress:t,mintAddress:e.mctpInputContract,randomKey:A.publicKey,toChain:e.toChain,destinationAddress:n,feeSolana:N,feeRedeem:e.redeemRelayerFee,gasDrop:e.gasDrop,amountInMin64:getAmountOfFractionalAmount$1(e.minMiddleAmount,CCTP_TOKEN_DECIMALS$1),tokenOut:D,tokenOutDecimals:e.toToken.decimals,referrerAddress:a,amountOutMin:e.minAmountOut,deadline:w,feeRateRef:e.referrerBps})),y.length>0){const{instruction:W,signer:U}=createMctpInitSwapInstruction$1(M,e.toChain,e.mctpInputContract,t,N);u.push(W),d.push(U)}}else if(u.push(createMctpBridgeLedgerInstruction$1({ledger:M,swapperAddress:t,mintAddress:e.mctpInputContract,randomKey:A.publicKey,toChain:e.toChain,destinationAddress:n,feeSolana:N,feeRedeem:e.redeemRelayerFee,gasDrop:e.gasDrop,amountInMin64:getAmountOfFractionalAmount$1(e.minMiddleAmount,CCTP_TOKEN_DECIMALS$1),mode:k,referrerAddress:a})),y.length>0)if(k==="WITH_FEE"){const{instruction:W,signers:U}=createMctpBridgeWithFeeInstruction$1(M,e.toChain,e.mctpInputContract,t,N);u.push(W),d.push(...U)}else{const{instructions:W,signer:U}=createMctpBridgeLockFeeInstruction$1(M,e.toChain,e.mctpInputContract,t,N);u.push(...W),d.push(U)}}const F=await getAddressLookupTableAccounts$1(l.concat(f),r);if(c=F.slice(0,l.length),y.length>0){const C=F.slice(l.length);h={messageV0:{payerKey:g,instructions:y,addressLookupTableAccounts:C},createTmpTokenAccountIxs:p,tmpTokenAccount:b}}return{instructions:u,signers:d,lookupTables:c,swapMessageV0Params:h}}function createSwiftOrderHash$1(e,t,n,a,r){const o=address.bufferPolyfill.Buffer.alloc(239);let i=0;const l=getWormholeChainIdByName$1(e.fromChain),u=address.bufferPolyfill.Buffer.from(hexToUint8Array$1(nativeAddressToHexString$1(t,l)));o.set(u,0),i+=32,o.writeUInt16BE(l,i),i+=2;const d=e.swiftInputContract===providerJsonrpc.ZeroAddress?nativeAddressToHexString$1(address.SystemProgram.programId.toString(),getWormholeChainIdByName$1("solana")):nativeAddressToHexString$1(e.swiftInputContract,l),c=address.bufferPolyfill.Buffer.from(hexToUint8Array$1(d));o.set(c,i),i+=32;const f=getWormholeChainIdByName$1(e.toChain),y=address.bufferPolyfill.Buffer.from(hexToUint8Array$1(nativeAddressToHexString$1(n,f)));o.set(y,i),i+=32,o.writeUInt16BE(f,i),i+=2;const p=e.toToken.contract===providerJsonrpc.ZeroAddress?nativeAddressToHexString$1(address.SystemProgram.programId.toString(),getWormholeChainIdByName$1("solana")):nativeAddressToHexString$1(e.toToken.contract,f),b=address.bufferPolyfill.Buffer.from(hexToUint8Array$1(p));o.set(b,i),i+=32,o.writeBigUInt64BE(getAmountOfFractionalAmount$1(e.minAmountOut,Math.min(e.toToken.decimals,8)),i),i+=8,o.writeBigUInt64BE(getAmountOfFractionalAmount$1(e.gasDrop,Math.min(getGasDecimal$1(e.toChain),8)),i),i+=8,o.writeBigUInt64BE(BigInt(e.cancelRelayerFee64),i),i+=8,o.writeBigUInt64BE(BigInt(e.refundRelayerFee64),i),i+=8,o.writeBigUInt64BE(BigInt(e.deadline64),i),i+=8;const h=a?address.bufferPolyfill.Buffer.from(hexToUint8Array$1(nativeAddressToHexString$1(a,f))):address.SystemProgram.programId.toBuffer();o.set(h,i),i+=32,o.writeUInt8(e.referrerBps,i),i+=1;const T=e.protocolBps;o.writeUInt8(T,i),i+=1,o.writeUInt8(e.swiftAuctionMode,i),i+=1;const g=address.bufferPolyfill.Buffer.from(hexToUint8Array$1(r));if(o.set(g,i),i+=32,i!==239)throw new Error(`Invalid order data size: ${i}`);const A=address.keccak256(o);return address.bufferPolyfill.Buffer.from(hexToUint8Array$1(A))}var InitSwiftLayout$1=address.struct([address.blob(8,"instruction"),address.blob(8,"amountInMin"),address.u8("nativeInput"),address.blob(8,"feeSubmit"),address.blob(32,"destAddress"),address.u16("destinationChain"),address.blob(32,"tokenOut"),address.blob(8,"amountOutMin"),address.blob(8,"gasDrop"),address.blob(8,"feeCancel"),address.blob(8,"feeRefund"),address.blob(8,"deadline"),address.blob(32,"refAddress"),address.u8("feeRateRef"),address.u8("feeRateMayan"),address.u8("auctionMode"),address.blob(32,"randomKey")]);function createSwiftInitInstruction$1(e){const{quote:t}=e,n=t.swiftInputContract===providerJsonrpc.ZeroAddress?solMint$1:new address.PublicKey(t.swiftInputContract),a=getWormholeChainIdByName$1(t.toChain);if(a!==t.toToken.wChainId)throw new Error(`Destination chain ID mismatch: ${a} != ${t.toToken.wChainId}`);const r=[{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:n,isWritable:!1,isSigner:!1},{pubkey:new address.PublicKey(addresses_default$1.FEE_MANAGER_PROGRAM_ID),isWritable:!1,isSigner:!1},{pubkey:new address.PublicKey(addresses_default$1.TOKEN_PROGRAM_ID),isWritable:!1,isSigner:!1},{pubkey:address.SystemProgram.programId,isWritable:!1,isSigner:!1}],s=address.bufferPolyfill.Buffer.alloc(InitSwiftLayout$1.span),o=e.referrerAddress?address.bufferPolyfill.Buffer.from(hexToUint8Array$1(nativeAddressToHexString$1(e.referrerAddress,a))):address.SystemProgram.programId.toBuffer(),i=t.fromToken.contract===t.swiftInputContract?BigInt(t.effectiveAmountIn64):getAmountOfFractionalAmount$1(t.minMiddleAmount,t.swiftInputDecimals);return InitSwiftLayout$1.encode({instruction:getAnchorInstructionData$1("init_order"),amountInMin:getSafeU64Blob$1(i),nativeInput:t.swiftInputContract===providerJsonrpc.ZeroAddress?1:0,feeSubmit:getSafeU64Blob$1(BigInt(t.submitRelayerFee64)),destAddress:address.bufferPolyfill.Buffer.from(hexToUint8Array$1(nativeAddressToHexString$1(e.destinationAddress,a))),destinationChain:a,tokenOut:address.bufferPolyfill.Buffer.from(hexToUint8Array$1(nativeAddressToHexString$1(t.toToken.contract,a))),amountOutMin:getSafeU64Blob$1(getAmountOfFractionalAmount$1(t.minAmountOut,Math.min(t.toToken.decimals,8))),gasDrop:getSafeU64Blob$1(getAmountOfFractionalAmount$1(t.gasDrop,Math.min(getGasDecimal$1(t.toChain),8))),feeCancel:getSafeU64Blob$1(BigInt(t.cancelRelayerFee64)),feeRefund:getSafeU64Blob$1(BigInt(t.refundRelayerFee64)),deadline:getSafeU64Blob$1(e.deadline),refAddress:o,feeRateRef:t.referrerBps,feeRateMayan:t.protocolBps,auctionMode:t.swiftAuctionMode,randomKey:e.randomKey.toBuffer()},s),new address.TransactionInstruction({keys:r,data:s,programId:new address.PublicKey(addresses_default$1.SWIFT_PROGRAM_ID)})}async function createSwiftFromSolanaInstructions$1(e,t,n,a,r,s={}){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 o=s.allowSwapperOffCurve||!1;let i=[],l=[],u=[];u.push(addresses_default$1.LOOKUP_TABLE);let d=[],c=[],f=[];const y=address.Keypair.generate();let p=null;const b=new address.PublicKey(addresses_default$1.SWIFT_PROGRAM_ID),h=new address.PublicKey(t),T=address.Keypair.generate();if(!Number(e.deadline64))throw new Error("Swift mode requires a timeout");const g=BigInt(e.deadline64),A=createSwiftOrderHash$1(e,t,n,a,T.publicKey.toBuffer().toString("hex")),[w]=address.PublicKey.findProgramAddressSync([address.bufferPolyfill.Buffer.from("STATE_SOURCE"),A],b),_=e.swiftInputContract===providerJsonrpc.ZeroAddress?solMint$1:new address.PublicKey(e.swiftInputContract),M=getAssociatedTokenAddress$1(_,w,!0),P=e.gasless?new address.PublicKey(e.relayer):h,k=getAssociatedTokenAddress$1(_,P,!1);if(e.fromToken.contract===e.swiftInputContract)e.suggestedPriorityFee>0&&i.push(address.ComputeBudgetProgram.setComputeUnitPrice({microLamports:e.suggestedPriorityFee})),i.push(createAssociatedTokenAccountInstruction$1(P,M,w,_)),e.swiftInputContract===providerJsonrpc.ZeroAddress?i.push(address.SystemProgram.transfer({fromPubkey:h,toPubkey:M,lamports:BigInt(e.effectiveAmountIn64)}),createSyncNativeInstruction$1(M)):i.push(createSplTransferInstruction$1(getAssociatedTokenAddress$1(_,h,o),M,h,BigInt(e.effectiveAmountIn64)));else{const F=await getSwapSolana$1({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${A.toString("hex")}`,fillMaxAccounts:(s==null?void 0:s.separateSwapTx)||!1,tpmTokenAccount:s!=null&&s.separateSwapTx?y.publicKey.toString():null}),C=decentralizeClientSwapInstructions$1(F);s!=null&&s.separateSwapTx&&F.maxAccountsFilled?(validateJupSwap$1(C,y.publicKey,h),f=await createInitializeRandomTokenAccountInstructions$1(r,P,_,h,y),c.push(...C.computeBudgetInstructions),C.setupInstructions&&c.push(...C.setupInstructions),c.push(C.swapInstruction),C.cleanupInstruction&&c.push(C.cleanupInstruction),d.push(...C.addressLookupTableAddresses),i.push(createAssociatedTokenAccountInstruction$1(P,M,w,_)),i.push(createTransferAllAndCloseInstruction$1(h,_,y.publicKey,M,P))):(i.push(...C.computeBudgetInstructions),C.setupInstructions&&i.push(...C.setupInstructions),i.push(C.swapInstruction),C.cleanupInstruction&&i.push(C.cleanupInstruction),u.push(...C.addressLookupTableAddresses))}i.push(createSwiftInitInstruction$1({quote:e,state:w,trader:h,stateAccount:M,randomKey:T.publicKey,relayerAccount:k,relayer:P,destinationAddress:n,deadline:g,referrerAddress:a}));const D=await getAddressLookupTableAccounts$1(u.concat(d),r);if(l=D.slice(0,u.length),c.length>0){const F=D.slice(u.length);p={messageV0:{payerKey:P,instructions:c,addressLookupTableAccounts:F},createTmpTokenAccountIxs:f,tmpTokenAccount:y}}return{instructions:i,signers:[],lookupTables:l,swapMessageV0Params:p}}async function createHyperCoreDepositFromSolanaInstructions(e,t,n,a,r,s={}){if(e.toToken.contract.toLowerCase()!==addresses_default$1.ARBITRUM_USDC_CONTRACT.toLowerCase()||e.type!=="MCTP")throw new Error("Unsupported quote type for USDC deposit: "+e.type);if(!(s!=null&&s.usdcPermitSignature))throw new Error("USDC permit signature is required for this quote");if(!e.hyperCoreParams)throw new Error("HyperCore parameters are required for this quote");if(!Number(e.deadline64))throw new Error("HyperCore deposit requires timeout");const o=s.allowSwapperOffCurve||!1;let i=[],l=[],u=[],d=[];d.push(addresses_default$1.LOOKUP_TABLE);let c=[],f=[],y=[];const p=address.Keypair.generate();let b=null;const h=new address.PublicKey(t),T=new address.PublicKey(e.hyperCoreParams.initiateTokenContract),g=Math.floor(Math.random()*65e3),[A]=address.PublicKey.findProgramAddressSync([address.bufferPolyfill.Buffer.from("PAYLOAD"),h.toBuffer(),(()=>{const F=address.bufferPolyfill.Buffer.alloc(2);return F.writeUInt16LE(g,0),F})()],new address.PublicKey(addresses_default$1.PAYLOAD_WRITER_PROGRAM_ID)),w=getHyperCoreUSDCDepositCustomPayload(e,n,s.usdcPermitSignature),_=address.Keypair.generate(),M=new address.PublicKey(addresses_default$1.MCTP_PROGRAM_ID),[P]=address.PublicKey.findProgramAddressSync([address.bufferPolyfill.Buffer.from("LEDGER_BRIDGE"),h.toBytes(),_.publicKey.toBytes()],M),k=getAssociatedTokenAddress$1(T,P,!0);if(e.fromToken.contract===e.hyperCoreParams.initiateTokenContract){e.suggestedPriorityFee>0&&i.push(address.ComputeBudgetProgram.setComputeUnitPrice({microLamports:e.suggestedPriorityFee})),i.push(createAssociatedTokenAccountInstruction$1(h,k,P,T)),i.push(createSplTransferInstruction$1(getAssociatedTokenAddress$1(T,h,o),k,h,BigInt(e.hyperCoreParams.bridgeAmountUSDC64))),i.push(createPayloadWriterCreateInstruction(h,A,w,g)),i.push(createMctpBridgeLedgerInstruction$1({ledger:P,randomKey:_.publicKey,swapperAddress:h.toString(),mintAddress:T.toString(),mode:"WITH_FEE",feeSolana:BigInt(0),amountInMin64:BigInt(e.hyperCoreParams.bridgeAmountUSDC64),customPayload:A,destinationAddress:addresses_default$1.HC_ARBITRUM_DEPOSIT_PROCESSOR,referrerAddress:a,feeRedeem:0,gasDrop:e.hyperCoreParams.failureGasDrop,toChain:"arbitrum"}));const{instruction:F,signers:C}=createMctpBridgeWithFeeInstruction$1(P,"arbitrum",e.hyperCoreParams.initiateTokenContract,h.toString(),BigInt(0));i.push(F),l.push(...C),i.push(createPayloadWriterCloseInstruction(h,A,g))}else{const F=await getSwapSolana$1({minMiddleAmount:e.minMiddleAmount,middleToken:e.hyperCoreParams.initiateTokenContract,userWallet:h.toString(),slippageBps:e.slippageBps,fromToken:e.fromToken.contract,amountIn64:e.effectiveAmountIn64,depositMode:"HC_USDC",fillMaxAccounts:(s==null?void 0:s.separateSwapTx)||!1,tpmTokenAccount:p.publicKey.toString()}),C=decentralizeClientSwapInstructions$1(F);if(s!=null&&s.separateSwapTx&&F.maxAccountsFilled)validateJupSwap$1(C,p.publicKey,h),y=await createInitializeRandomTokenAccountInstructions$1(r,h,T,h,p),f.push(...C.computeBudgetInstructions),C.setupInstructions&&f.push(...C.setupInstructions),f.push(C.swapInstruction),C.cleanupInstruction&&f.push(C.cleanupInstruction),c.push(...C.addressLookupTableAddresses);else{validateJupSwap$1(C,p.publicKey,h),i.push(...C.computeBudgetInstructions);const G=await createInitializeRandomTokenAccountInstructions$1(r,h,T,h,p);i.push(...G),l.push(p),C.setupInstructions&&i.push(...C.setupInstructions),i.push(C.swapInstruction),C.cleanupInstruction&&i.push(C.cleanupInstruction),d.push(...C.addressLookupTableAddresses)}const R=f.length>0?BigInt(0):BigInt(e.solanaRelayerFee64);let N=BigInt(e.hyperCoreParams.bridgeAmountUSDC64);f.length>0&&(N=N-BigInt(e.solanaRelayerFee64)),i.push(createAssociatedTokenAccountInstruction$1(h,k,P,new address.PublicKey(e.mctpInputContract))),i.push(createSplTransferInstruction$1(p.publicKey,k,h,N));const W=getAssociatedTokenAddress$1(T,h,o),U=await r.getAccountInfo(W);if((!U||!U.data)&&i.push(createAssociatedTokenAccountInstruction$1(h,W,h,T)),i.push(createTransferAllAndCloseInstruction$1(h,T,p.publicKey,W,h)),i.push(createPayloadWriterCreateInstruction(h,A,w,g)),i.push(createMctpBridgeLedgerInstruction$1({ledger:P,swapperAddress:h.toString(),mintAddress:T.toString(),randomKey:_.publicKey,mode:"WITH_FEE",feeSolana:R,amountInMin64:N,customPayload:A,destinationAddress:addresses_default$1.HC_ARBITRUM_DEPOSIT_PROCESSOR,referrerAddress:a,feeRedeem:0,gasDrop:e.hyperCoreParams.failureGasDrop,toChain:"arbitrum"})),i.push(createPayloadWriterCloseInstruction(h,A,g)),f.length>0){const{instruction:G,signers:z}=createMctpBridgeWithFeeInstruction$1(P,"arbitrum",e.hyperCoreParams.initiateTokenContract,h.toString(),BigInt(0));i.push(G),l.push(...z)}}const D=await getAddressLookupTableAccounts$1(d.concat(c),r);if(u=D.slice(0,d.length),f.length>0){const F=D.slice(d.length);b={messageV0:{payerKey:h,instructions:f,addressLookupTableAccounts:F},createTmpTokenAccountIxs:y,tmpTokenAccount:p}}return{instructions:i,signers:l,lookupTables:u,swapMessageV0Params:b}}async function createMonoChainFromSolanaInstructions(e,t,n,a,r,s={}){if(e.type!=="MONO_CHAIN")throw new Error("Unsupported quote type for mono chain: "+e.type);if(e.fromChain!=="solana")throw new Error("Unsupported destination chain for mono chain: "+e.fromChain);if(e.toChain!=="solana")throw new Error("Unsupported destination chain for mono chain: "+e.toChain);if(e.fromToken.contract===e.toToken.contract)throw new Error("From token and to token are the same: "+e.fromToken.contract);if(n.startsWith("0x"))throw new Error("Destination address should not be EVM address");try{new address.PublicKey(n)}catch{throw new Error("Invalid destination address: "+n)}let o=[],i=[],l=[];const u=new address.PublicKey(t),d=new address.PublicKey(n),c=e.toToken.contract===providerJsonrpc.ZeroAddress?solMint$1:new address.PublicKey(e.toToken.contract),f=getAssociatedTokenAddress$1(c,d,!0,e.toToken.standard==="spl2022"?new address.PublicKey(addresses_default$1.TOKEN_2022_PROGRAM_ID):new address.PublicKey(addresses_default$1.TOKEN_PROGRAM_ID)),y=getAmountOfFractionalAmount$1(e.expectedAmountOut,e.toToken.decimals),p=await getSwapSolana$1({userWallet:t,destinationWallet:n,slippageBps:e.slippageBps,fromToken:e.fromToken.contract,middleToken:e.toToken.contract,amountIn64:e.effectiveAmountIn64,expectedAmountOut64:String(y),depositMode:"MONO_CHAIN",referrerAddress:a}),b=decentralizeClientSwapInstructions$1(p);return validateJupSwap$1(b,f,u,d,u.equals(d)),validateJupSwapInstructionData(b.swapInstruction,e),o.push(...b.computeBudgetInstructions),b.setupInstructions&&o.push(...b.setupInstructions),o.push(b.swapInstruction),b.cleanupInstruction&&o.push(b.cleanupInstruction),l.push(...b.addressLookupTableAddresses),{instructions:o,signers:[],lookupTables:i,swapMessageV0Params:null}}var STATE_SIZE$1=420,SwapLayout$1=address.struct([address.u8("instruction"),address.u8("stateNonce"),address.blob(8,"amount"),address.blob(8,"minAmountOut"),address.blob(8,"deadline"),address.blob(8,"feeSwap"),address.blob(8,"feeReturn"),address.blob(8,"feeCancel"),address.blob(8,"gasDrop"),address.u16("destinationChain"),address.blob(32,"destinationAddress"),address.u8("unwrapRedeem"),address.u8("unwrapRefund"),address.u8("mayanFeeNonce"),address.u8("referrerFeeNonce")]);async function createSwapFromSolanaInstructions$1(e,t,n,a,r,s={}){const o=getQuoteSuitableReferrerAddress$1(e,a);if(e.fromChain==="hypercore")throw new Error("HyperCore as source chain is not supported in Solana");if(e.toChain==="hypercore")return createHyperCoreDepositFromSolanaInstructions(e,t,n,o,r,s);if(e.type==="MCTP")return createMctpFromSolanaInstructions$1(e,t,n,o,r,s);if(e.type==="SWIFT")return createSwiftFromSolanaInstructions$1(e,t,n,o,r,s);if(e.type==="MONO_CHAIN")return createMonoChainFromSolanaInstructions(e,t,n,o,r,s);let i=[];const l=r??new address.Connection("https://rpc.ankr.com/solana"),u=new address.PublicKey(addresses_default$1.MAYAN_PROGRAM_ID),d=new address.PublicKey(addresses_default$1.TOKEN_PROGRAM_ID),c=new address.PublicKey(t),f=new address.PublicKey(addresses_default$1.AUCTION_PROGRAM_ID);e.suggestedPriorityFee>0&&i.push(address.ComputeBudgetProgram.setComputeUnitPrice({microLamports:e.suggestedPriorityFee}));let y;o?y=new address.PublicKey(o):y=address.SystemProgram.programId;const[p,b]=address.PublicKey.findProgramAddressSync([address.bufferPolyfill.Buffer.from("MAYANFEE")],u),[h,T]=address.PublicKey.findProgramAddressSync([address.bufferPolyfill.Buffer.from("REFERRERFEE"),y.toBuffer()],u),g=address.Keypair.generate(),A=address.Keypair.generate(),[w,_]=address.PublicKey.findProgramAddressSync([address.bufferPolyfill.Buffer.from("V2STATE"),address.bufferPolyfill.Buffer.from(g.publicKey.toBytes()),address.bufferPolyfill.Buffer.from(A.publicKey.toBytes())],u),M=new address.PublicKey(e.fromToken.mint),P=new address.PublicKey(e.toToken.mint),k=getAssociatedTokenAddress$1(M,c),D=getAssociatedTokenAddress$1(M,w,!0),[[F,C],R,N]=await Promise.all([l.getMultipleAccountsInfo([k,D],"finalized"),l.getMinimumBalanceForRentExemption(STATE_SIZE$1),decideRelayer$1()]);(!F||F.data.length===0)&&i.push(createAssociatedTokenAccountInstruction$1(c,k,c,M)),(!C||C.data.length===0)&&i.push(createAssociatedTokenAccountInstruction$1(c,D,w,M)),e.fromToken.contract===providerJsonrpc.ZeroAddress&&(i.push(address.SystemProgram.transfer({fromPubkey:c,toPubkey:k,lamports:BigInt(e.effectiveAmountIn64)})),i.push(createSyncNativeInstruction$1(k)));const W=BigInt(e.effectiveAmountIn64),U=address.Keypair.generate();i.push(createApproveInstruction$1(k,U.publicKey,c,W)),i.push(address.SystemProgram.transfer({fromPubkey:c,toPubkey:U.publicKey,lamports:R}));const G=[{pubkey:U.publicKey,isWritable:!1,isSigner:!0},{pubkey:g.publicKey,isWritable:!1,isSigner:!0},{pubkey:A.publicKey,isWritable:!1,isSigner:!0},{pubkey:w,isWritable:!0,isSigner:!1},{pubkey:k,isWritable:!0,isSigner:!1},{pubkey:c,isWritable:!1,isSigner:!1},{pubkey:D,isWritable:!0,isSigner:!1},{pubkey:M,isWritable:!1,isSigner:!1},{pubkey:P,isWritable:!1,isSigner:!1},{pubkey:f,isWritable:!1,isSigner:!1},{pubkey:y,isWritable:!1,isSigner:!1},{pubkey:p,isWritable:!1,isSigner:!1},{pubkey:h,isWritable:!1,isSigner:!1},{pubkey:U.publicKey,isWritable:!0,isSigner:!0},{pubkey:N,isWritable:!1,isSigner:!1},{pubkey:address.SYSVAR_CLOCK_PUBKEY,isWritable:!1,isSigner:!1},{pubkey:address.SYSVAR_RENT_PUBKEY,isWritable:!1,isSigner:!1},{pubkey:d,isWritable:!1,isSigner:!1},{pubkey:address.SystemProgram.programId,isWritable:!1,isSigner:!1}],z=getWormholeChainIdByName$1(e.toChain);if(z===1){const O=await l.getAccountInfo(new address.PublicKey(n));if(O&&O.owner&&O.owner.equals(d))throw new Error("Destination address is not about token account. It should be a owner address")}const X=address.bufferPolyfill.Buffer.from(hexToUint8Array$1(nativeAddressToHexString$1(n,z))),J=getAmountOfFractionalAmount$1(e.minAmountOut,e.mintDecimals.to),Z=getAmountOfFractionalAmount$1(e.swapRelayerFee,e.mintDecimals.from),q=getAmountOfFractionalAmount$1(e.redeemRelayerFee,e.mintDecimals.to),j=getAmountOfFractionalAmount$1(e.refundRelayerFee,e.mintDecimals.from),Q=getAmountOfFractionalAmount$1(e.gasDrop,getGasDecimalsInSolana$1(e.toChain)),Y=e.toToken.contract===providerJsonrpc.ZeroAddress,m=e.fromToken.contract===providerJsonrpc.ZeroAddress;if(!Number(e.deadline64))throw new Error("Deadline is not valid");const S=BigInt(e.deadline64),I=address.bufferPolyfill.Buffer.alloc(SwapLayout$1.span),E={instruction:101,stateNonce:_,amount:getSafeU64Blob$1(W),minAmountOut:getSafeU64Blob$1(J),deadline:getSafeU64Blob$1(S),feeSwap:getSafeU64Blob$1(Z),feeReturn:getSafeU64Blob$1(q),feeCancel:getSafeU64Blob$1(j),gasDrop:getSafeU64Blob$1(Q),destinationChain:z,destinationAddress:X,unwrapRedeem:Y?1:0,unwrapRefund:m?1:0,mayanFeeNonce:b,referrerFeeNonce:T};SwapLayout$1.encode(E,I);const $=new address.TransactionInstruction({keys:G,data:I,programId:u});return i.push($),{instructions:i,signers:[U,g,A],lookupTables:[],swapMessageV0Params:null}}function getEvmSwiftParams$1(e,t,n,a,r){const s=getWormholeChainIdById$1(Number(r)),o=getWormholeChainIdByName$1(e.fromChain),i=getWormholeChainIdByName$1(e.toChain);if(o!==s)throw new Error(`Signer chain id(${Number(r)}) and quote from chain are not same! ${o} !== ${s}`);if(!e.swiftMayanContract)throw new Error("SWIFT contract address is missing");if(e.toToken.wChainId!==i)throw new Error(`Destination chain ID mismatch: ${i} != ${e.toToken.wChainId}`);const l=e.swiftMayanContract;if(!Number(e.deadline64))throw new Error("Swift order requires timeout");const u=BigInt(e.deadline64),d=e.swiftInputContract,c=BigInt(e.effectiveAmountIn64);let f;a?f=nativeAddressToHexString$1(a,i):f=nativeAddressToHexString$1(address.SystemProgram.programId.toString(),1);const y=nativeAddressToHexString$1(address.Keypair.generate().publicKey.toString(),1),p=e.toToken.contract===providerJsonrpc.ZeroAddress?nativeAddressToHexString$1(address.SystemProgram.programId.toString(),1):nativeAddressToHexString$1(e.toToken.contract,i),b=getAmountOfFractionalAmount$1(e.minAmountOut,Math.min(8,e.toToken.decimals)),h=getAmountOfFractionalAmount$1(e.gasDrop,Math.min(8,getGasDecimal$1(e.toChain))),T=nativeAddressToHexString$1(n,i),g={trader:nativeAddressToHexString$1(t,o),tokenOut:p,minAmountOut:b,gasDrop:h,cancelFee:BigInt(e.cancelRelayerFee64),refundFee:BigInt(e.refundRelayerFee64),deadline:u,destAddr:T,destChainId:i,referrerAddr:f,referrerBps:e.referrerBps||0,auctionMode:e.swiftAuctionMode,random:y};return{contractAddress:l,tokenIn:d,amountIn:c,order:g}}function getSwiftFromEvmTxPayload$1(e,t,n,a,r,s){if(e.type!=="SWIFT")throw new Error("Quote type is not SWIFT");if(!Number.isFinite(Number(r)))throw new Error("Invalid signer chain id");if(!Number(e.deadline64))throw new Error("Swift order requires timeout");r=Number(r);const o=ZeroPermit$1,i=new contract.Contract(addresses_default$1.MAYAN_FORWARDER_CONTRACT,MayanForwarderArtifact_default$1.abi),{tokenIn:l,amountIn:u,order:d,contractAddress:c}=getEvmSwiftParams$1(e,t,n,a,r);let f;const y=new contract.Contract(c,MayanSwiftArtifact_default$1.abi);e.swiftInputContract===providerJsonrpc.ZeroAddress?f=y.interface.encodeFunctionData("createOrderWithEth",[d]):f=y.interface.encodeFunctionData("createOrderWithToken",[l,u,d]);let p,b,h;if(e.fromToken.contract===e.swiftInputContract)e.fromToken.contract===providerJsonrpc.ZeroAddress?(p="forwardEth",b=[c,f],h=contract.toBeHex(u)):(p="forwardERC20",b=[l,u,o,c,f],h=contract.toBeHex(0));else{const{evmSwapRouterAddress:g,evmSwapRouterCalldata:A}=e;if(!e.minMiddleAmount||!g||!A)throw new Error("Swift swap requires middle amount, router address and calldata");const w=e.fromToken.contract,_=getAmountOfFractionalAmount$1(e.minMiddleAmount,e.swiftInputDecimals);e.fromToken.contract===providerJsonrpc.ZeroAddress?(p="swapAndForwardEth",b=[u,g,A,e.swiftInputContract,_,c,f],h=contract.toBeHex(u)):(p="swapAndForwardERC20",b=[w,u,o,g,A,e.swiftInputContract,_,c,f],h=contract.toBeHex(0))}return{data:i.interface.encodeFunctionData(p,b),to:addresses_default$1.MAYAN_FORWARDER_CONTRACT,value:h,chainId:r,_forwarder:{method:p,params:b}}}var ShuttleArtifact_default$1={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$1={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$1(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 n=address.bufferPolyfill.Buffer.alloc(16);for(let a=15;a>=0;a--)n[a]=Number(e&0xFFn),e>>=8n;return n}function getShuttleParams$1(e,t,n){const{shuttleParams:a}=e;if(!a)throw new Error("Swap layer params are missing in quote response");const r=getWormholeChainIdById$1(Number(n)),s=getWormholeChainIdByName$1(e.fromChain),o=getWormholeChainIdByName$1(e.toChain);if(s!==r)throw new Error(`Signer chain id(${Number(n)}) and quote from chain are not same! ${s} !== ${r}`);let i=[];i.push(shuttleConstants$1.FAST_MODE_FLAG);const l=address.bufferPolyfill.Buffer.alloc(8);l.writeBigUInt64BE(BigInt(a.maxLLFee));const u=l.subarray(2);i.push(...u);const d=address.bufferPolyfill.Buffer.alloc(4);d.writeUInt32BE(a.fastTransferDeadline),i.push(...d),i.push(shuttleConstants$1.RELAY_REDEEM_MODE);const c=getAmountOfFractionalAmount$1(e.gasDrop,Math.min(6,getGasDecimal$1(e.toChain))),f=address.bufferPolyfill.Buffer.alloc(8);f.writeBigUInt64BE(c);const y=f.subarray(4);i.push(...y);const p=address.bufferPolyfill.Buffer.alloc(8);p.writeBigUInt64BE(BigInt(a.maxRelayingFee));const b=p.subarray(2);i.push(...b),i.push(shuttleConstants$1.EXACT_IN_FLAG),i.push(shuttleConstants$1.USDC_INPUT_TOKEN_TYPE);const h=BigInt(e.effectiveAmountIn64);if(e.fromToken.contract===e.shuttleInputContract){i.push(...Array(8).fill(0));const g=address.bufferPolyfill.Buffer.alloc(8);g.writeBigUInt64BE(h),i.push(...g)}else i.push(...Array(16).fill(0));if(i.push(shuttleConstants$1.PRE_APPROVED_ACQUIRE_MODE),a.hasDestSwap){if(e.toToken.contract===providerJsonrpc.ZeroAddress)i.push(shuttleConstants$1.OUTPUT_NATIVE_MODE);else{i.push(shuttleConstants$1.OUTPUT_OTHER_MODE);const _=address.bufferPolyfill.Buffer.from(nativeAddressToHexString$1(e.toToken.contract,o).slice(2),"hex");i.push(..._)}const g=address.bufferPolyfill.Buffer.alloc(4);g.writeUInt32BE(Number(BigInt(e.deadline64))),i.push(...g);const A=getAmountOfFractionalAmount$1(e.minAmountOut,e.toToken.decimals);if(e.toChain==="solana"){i.push(...Array(8).fill(0));const _=address.bufferPolyfill.Buffer.alloc(8);_.writeBigUInt64BE(A),i.push(..._)}else{const _=writeBigIntTo16BytesBuffer$1(A);i.push(..._)}const w=address.bufferPolyfill.Buffer.from(a.path.slice(2),"hex");i.push(...w)}else i.push(shuttleConstants$1.OUTPUT_USDC_MODE);return{destAddr:nativeAddressToHexString$1(t,o),destChainId:o,serializedParams:`0x${address.bufferPolyfill.Buffer.from(i).toString("hex")}`,contractAddress:e.shuttleContract,amountIn:h,bridgeFee:getAmountOfFractionalAmount$1(e.bridgeFee,getGasDecimal$1(e.fromChain))}}function getShuttleFromEvmTxPayload$1(e,t,n,a){if(e.type!=="SHUTTLE")throw new Error("Quote type is not SHUTTLE");if(!Number.isFinite(Number(n)))throw new Error("Invalid signer chain id");n=Number(n);const r=ZeroPermit$1,s=new contract.Contract(addresses_default$1.MAYAN_FORWARDER_CONTRACT,MayanForwarderArtifact_default$1.abi),{destAddr:o,destChainId:i,serializedParams:l,contractAddress:u,amountIn:d,bridgeFee:c}=getShuttleParams$1(e,t,n);let f;f=new contract.Contract(u,ShuttleArtifact_default$1.abi).interface.encodeFunctionData("initiate",[o,d,i,l]);let p,b,h;if(e.fromToken.contract===e.shuttleInputContract)p="forwardERC20",b=[e.shuttleInputContract,d,r,u,f],h=contract.toBeHex(c);else{const{evmSwapRouterAddress:g,evmSwapRouterCalldata:A}=e;if(!e.minMiddleAmount||!g||!A)throw new Error("Shuttle source chain swap requires middle amount, router address and calldata");const w=e.fromToken.contract,_=getAmountOfFractionalAmount$1(e.minMiddleAmount,e.shuttleInputDecimals);e.fromToken.contract===providerJsonrpc.ZeroAddress?(p="swapAndForwardEth",b=[d,g,A,e.shuttleInputContract,_,u,f],h=contract.toBeHex(d)):(p="swapAndForwardERC20",b=[w,d,r,g,A,e.shuttleInputContract,_,u,f],h=contract.toBeHex(c))}return{data:s.interface.encodeFunctionData(p,b),to:addresses_default$1.MAYAN_FORWARDER_CONTRACT,value:h,chainId:n,_forwarder:{method:p,params:b}}}var MayanFastMctpArtifact_default$1={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$1(e,t,n,a,r){const s=getWormholeChainIdById$1(Number(a)),o=getWormholeChainIdByName$1(e.fromChain),i=getWormholeChainIdByName$1(e.toChain);if(o!==s)throw new Error(`Signer chain id(${Number(a)}) and quote from chain are not same! ${o} !== ${s}`);const l=nativeAddressToHexString$1(t,i),u=getAmountOfFractionalAmount$1(e.redeemRelayerFee,CCTP_TOKEN_DECIMALS$1),d=getAmountOfFractionalAmount$1(e.gasDrop,Math.min(getGasDecimal$1(e.toChain),8)),c=BigInt(e.circleMaxFee64),f=BigInt(e.effectiveAmountIn64),y=getCCTPDomain$1(e.toChain);let p;if(n?p=nativeAddressToHexString$1(n,i):p=nativeAddressToHexString$1(address.SystemProgram.programId.toString(),getWormholeChainIdByName$1("solana")),!e.fastMctpMayanContract)throw new Error("FastMctp contract address is missing");const b=e.fastMctpMayanContract;return{tokenIn:e.fastMctpInputContract,amountIn:f,redeemFee:u,gasDrop:d,destAddr:l,destDomain:y,referrerAddr:p,referrerBps:e.referrerBps,payloadType:FAST_MCTP_PAYLOAD_TYPE_DEFAULT$1,customPayload:"0x",minFinalityThreshold:Number(e.fastMctpMinFinality),circleMaxFee:c,contractAddress:b}}function getEvmFastMctpBridgeTxPayload$1(e,t,n,a,r){const s=getEvmFastMctpBridgeParams$1(e,t,n,a),{contractAddress:o,tokenIn:i,amountIn:l,destAddr:u,redeemFee:d,gasDrop:c,circleMaxFee:f,referrerAddr:y,referrerBps:p,destDomain:b,customPayload:h,minFinalityThreshold:T,payloadType:g}=s,A=new contract.Contract(o,MayanFastMctpArtifact_default$1.abi);let w,_;return w=A.interface.encodeFunctionData("bridge",[i,l,d,f,c,u,b,y,p,g,T,h]),_=contract.toBeHex(0),{to:o,data:w,value:_,_params:s}}function getEvmFastMctpCreateOrderParams$1(e,t,n,a){const r=getWormholeChainIdById$1(Number(a)),s=getWormholeChainIdByName$1(e.fromChain),o=getWormholeChainIdByName$1(e.toChain);if(s!==r)throw new Error(`Signer chain id(${Number(a)}) and quote from chain are not same! ${s} !== ${r}`);if(!e.fastMctpMayanContract)throw new Error("MCTP contract address is missing");const i=e.fastMctpMayanContract,l=nativeAddressToHexString$1(t,o);let u;n?u=nativeAddressToHexString$1(n,o):u=nativeAddressToHexString$1(address.SystemProgram.programId.toString(),getWormholeChainIdByName$1("solana"));const d=getAmountOfFractionalAmount$1(e.redeemRelayerFee,CCTP_TOKEN_DECIMALS$1),c=BigInt(e.refundRelayerFee64),f=BigInt(e.circleMaxFee64),y=getAmountOfFractionalAmount$1(e.gasDrop,Math.min(getGasDecimal$1(e.toChain),8)),p=getCCTPDomain$1(e.toChain),b=BigInt(e.effectiveAmountIn64),h=getAmountOfFractionalAmount$1(e.minAmountOut,Math.min(8,e.toToken.decimals)),T=BigInt(e.deadline64),g=e.toToken.contract===providerJsonrpc.ZeroAddress?nativeAddressToHexString$1(address.SystemProgram.programId.toString(),getWormholeChainIdByName$1("solana")):nativeAddressToHexString$1(e.toChain==="sui"?e.toToken.verifiedAddress:e.toToken.contract,e.toToken.wChainId);return{tokenIn:e.fastMctpInputContract,amountIn:b,circleMaxFee:f,destDomain:p,minFinalityThreshold:Number(e.fastMctpMinFinality),orderPayload:{payloadType:FAST_MCTP_PAYLOAD_TYPE_ORDER$1,destAddr:l,tokenOut:g,amountOutMin:h,gasDrop:y,redeemFee:d,refundFee:c,deadline:T,referrerAddr:u,referrerBps:e.referrerBps||0},contractAddress:i}}function getEvmFastMctpCreateOrderTxPayload$1(e,t,n,a){const r=getEvmFastMctpCreateOrderParams$1(e,t,n,a),{contractAddress:s,orderPayload:o,tokenIn:i,amountIn:l,circleMaxFee:u,destDomain:d,minFinalityThreshold:c}=r,y=new contract.Contract(s,MayanFastMctpArtifact_default$1.abi).interface.encodeFunctionData("createOrder",[i,l,u,d,c,o]),p=contract.toBeHex(0);return{to:s,data:y,value:p,_params:r}}function getFastMctpFromEvmTxPayload$1(e,t,n,a,r,s){if(e.type!=="FAST_MCTP")throw new Error("Quote type is not FAST_MCTP");if(!Number.isFinite(Number(a)))throw new Error("Invalid signer chain id");a=Number(a);const o=r||ZeroPermit$1,i=new contract.Contract(addresses_default$1.MAYAN_FORWARDER_CONTRACT,MayanForwarderArtifact_default$1.abi);if(e.fromToken.contract===e.fastMctpInputContract)if(e.hasAuction){if(!Number(e.deadline64))throw new Error("Fast Mctp order requires timeout");const l=getEvmFastMctpCreateOrderTxPayload$1(e,t,n,a),u="forwardERC20",d=[e.fromToken.contract,l._params.amountIn,o,l._params.contractAddress,l.data];return{data:i.interface.encodeFunctionData(u,d),to:addresses_default$1.MAYAN_FORWARDER_CONTRACT,value:contract.toBeHex(0),chainId:a,_forwarder:{method:u,params:d}}}else{const l=getEvmFastMctpBridgeTxPayload$1(e,t,n,a),u="forwardERC20",d=[e.fromToken.contract,l._params.amountIn,o,l._params.contractAddress,l.data];return{data:i.interface.encodeFunctionData(u,d),to:addresses_default$1.MAYAN_FORWARDER_CONTRACT,value:contract.toBeHex(0),chainId:a,_forwarder:{method:u,params:d}}}else{const{minMiddleAmount:l,evmSwapRouterAddress:u,evmSwapRouterCalldata:d}=e;if(!l||!u||!d)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 c=getEvmFastMctpCreateOrderTxPayload$1(e,t,n,a),f=getAmountOfFractionalAmount$1(e.minMiddleAmount,CCTP_TOKEN_DECIMALS$1);if(e.fromToken.contract===providerJsonrpc.ZeroAddress){const y="swapAndForwardEth",p=[c._params.amountIn,u,d,e.fastMctpInputContract,f,c._params.contractAddress,c.data];return{data:i.interface.encodeFunctionData(y,p),to:addresses_default$1.MAYAN_FORWARDER_CONTRACT,value:contract.toBeHex(c._params.amountIn),chainId:a,_forwarder:{method:y,params:p}}}else{const y="swapAndForwardERC20",p=[e.fromToken.contract,c._params.amountIn,o,u,d,e.fastMctpInputContract,f,c._params.contractAddress,c.data];return{data:i.interface.encodeFunctionData(y,p),to:addresses_default$1.MAYAN_FORWARDER_CONTRACT,value:contract.toBeHex(0),chainId:a,_forwarder:{method:y,params:p}}}}else{const c=getEvmFastMctpBridgeTxPayload$1(e,t,n,a),f=getAmountOfFractionalAmount$1(e.minMiddleAmount,CCTP_TOKEN_DECIMALS$1);if(e.fromToken.contract===providerJsonrpc.ZeroAddress){const y="swapAndForwardEth",p=[c._params.amountIn,u,d,e.fastMctpInputContract,f,c._params.contractAddress,c.data];return{data:i.interface.encodeFunctionData(y,p),to:addresses_default$1.MAYAN_FORWARDER_CONTRACT,value:contract.toBeHex(c._params.amountIn),chainId:a,_forwarder:{method:y,params:p}}}else{const y="swapAndForwardERC20",p=[e.fromToken.contract,c._params.amountIn,o,u,d,e.fastMctpInputContract,f,c._params.contractAddress,c.data];return{data:i.interface.encodeFunctionData(y,p),to:addresses_default$1.MAYAN_FORWARDER_CONTRACT,value:contract.toBeHex(0),chainId:a,_forwarder:{method:y,params:p}}}}}}var HCDepositInitiatorArtifact_default={abi:[{type:"constructor",inputs:[{name:"_hcProcessor",type:"address",internalType:"address"},{name:"_usdc",type:"address",internalType:"address"}],stateMutability:"nonpayable"},{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:"deposit",inputs:[{name:"tokenIn",type:"address",internalType:"address"},{name:"amountIn",type:"uint256",internalType:"uint256"},{name:"trader",type:"address",internalType:"address"},{name:"gasDrop",type:"uint64",internalType:"uint64"},{name:"bridgeAmount",type:"uint256",internalType:"uint256"},{name:"depositPayload",type:"tuple",internalType:"struct HCDepositInitiator.DepositPayload",components:[{name:"relayerFee",type:"uint64",internalType:"uint64"},{name:"permit",type:"tuple",internalType:"struct IHCBridge.DepositWithPermit",components:[{name:"user",type:"address",internalType:"address"},{name:"usd",type:"uint64",internalType:"uint64"},{name:"deadline",type:"uint64",internalType:"uint64"},{name:"signature",type:"tuple",internalType:"struct IHCBridge.Signature",components:[{name:"r",type:"uint256",internalType:"uint256"},{name:"s",type:"uint256",internalType:"uint256"},{name:"v",type:"uint8",internalType:"uint8"}]}]}]}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"fastDeposit",inputs:[{name:"tokenIn",type:"address",internalType:"address"},{name:"amountIn",type:"uint256",internalType:"uint256"},{name:"trader",type:"address",internalType:"address"},{name:"circleMaxFee",type:"uint256",internalType:"uint256"},{name:"gasDrop",type:"uint64",internalType:"uint64"},{name:"referrerAddress",type:"bytes32",internalType:"bytes32"},{name:"referrerBps",type:"uint8",internalType:"uint8"},{name:"minFinalityThreshold",type:"uint32",internalType:"uint32"},{name:"bridgeAmount",type:"uint256",internalType:"uint256"},{name:"depositPayload",type:"tuple",internalType:"struct HCDepositInitiator.DepositPayload",components:[{name:"relayerFee",type:"uint64",internalType:"uint64"},{name:"permit",type:"tuple",internalType:"struct IHCBridge.DepositWithPermit",components:[{name:"user",type:"address",internalType:"address"},{name:"usd",type:"uint64",internalType:"uint64"},{name:"deadline",type:"uint64",internalType:"uint64"},{name:"signature",type:"tuple",internalType:"struct IHCBridge.Signature",components:[{name:"r",type:"uint256",internalType:"uint256"},{name:"s",type:"uint256",internalType:"uint256"},{name:"v",type:"uint8",internalType:"uint8"}]}]}]}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"fastMCTP",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"guardian",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"mayanCircle",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"nextGuardian",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"setFastMCTP",inputs:[{name:"_fastMCTP",type:"address",internalType:"address"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"setMayanCircle",inputs:[{name:"_mayanCircle",type:"address",internalType:"address"}],outputs:[],stateMutability:"nonpayable"},{type:"error",name:"AlreadySet",inputs:[]},{type:"error",name:"InsufficientAmount",inputs:[]},{type:"error",name:"Unauthorized",inputs:[]}]};function getUsdcDepositInitiatorMctpTxPayload(e,t,n,a){if(!e.hyperCoreParams.initiateContractAddress)throw new Error("HyperCore initiate contract address is missing");if(e.type!=="MCTP")throw new Error("Unsupported quote type for HyperCore deposit: "+e.type);const r=new contract.Contract(e.hyperCoreParams.initiateContractAddress,HCDepositInitiatorArtifact_default.abi),s=address.bufferPolyfill.Buffer.from(hexToUint8Array$1(a));if(s.length!==65)throw new Error("Invalid USDC permit signature length");const o="0x"+s.subarray(0,32).toString("hex"),i="0x"+s.subarray(32,64).toString("hex"),l=s[64];let u,d;return u=r.interface.encodeFunctionData("deposit",[e.hyperCoreParams.initiateTokenContract,BigInt(e.hyperCoreParams.bridgeAmountUSDC64),t,getAmountOfFractionalAmount$1(e.hyperCoreParams.failureGasDrop,Math.min(getGasDecimal$1("arbitrum"),8)),BigInt(e.hyperCoreParams.bridgeAmountUSDC64),{relayerFee:getAmountOfFractionalAmount$1(e.redeemRelayerFee,CCTP_TOKEN_DECIMALS$1),permit:{user:n,usd:BigInt(e.hyperCoreParams.depositAmountUSDC64),deadline:BigInt(e.deadline64),signature:{r:o,s:i,v:l}}}]),d=contract.toBeHex(0),{to:e.hyperCoreParams.initiateContractAddress,data:u,value:d,_params:{amountIn:BigInt(e.hyperCoreParams.bridgeAmountUSDC64),contractAddress:e.hyperCoreParams.initiateContractAddress}}}function getUsdcDepositInitiatorFastMctpTxPayload(e,t,n,a,r){const s=getWormholeChainIdByName$1("arbitrum");if(!e.hyperCoreParams.initiateContractAddress)throw new Error("HyperCore initiate contract address is missing");if(e.type!=="FAST_MCTP")throw new Error("Unsupported quote type for HyperCore deposit: "+e.type);const o=new contract.Contract(e.hyperCoreParams.initiateContractAddress,HCDepositInitiatorArtifact_default.abi),i=address.bufferPolyfill.Buffer.from(hexToUint8Array$1(r));if(i.length!==65)throw new Error("Invalid USDC permit signature length");const l="0x"+i.subarray(0,32).toString("hex"),u="0x"+i.subarray(32,64).toString("hex"),d=i[64];let c;a?c=nativeAddressToHexString$1(a,s):c=nativeAddressToHexString$1(address.SystemProgram.programId.toString(),getWormholeChainIdByName$1("solana"));let f,y;return f=o.interface.encodeFunctionData("fastDeposit",[e.hyperCoreParams.initiateTokenContract,BigInt(e.hyperCoreParams.bridgeAmountUSDC64),t,BigInt(e.circleMaxFee64),getAmountOfFractionalAmount$1(e.hyperCoreParams.failureGasDrop,Math.min(getGasDecimal$1("arbitrum"),8)),c,e.referrerBps,Number(e.fastMctpMinFinality),BigInt(e.hyperCoreParams.bridgeAmountUSDC64),{relayerFee:getAmountOfFractionalAmount$1(e.redeemRelayerFee,CCTP_TOKEN_DECIMALS$1),permit:{user:n,usd:BigInt(e.hyperCoreParams.depositAmountUSDC64),deadline:BigInt(e.deadline64),signature:{r:l,s:u,v:d}}}]),y=contract.toBeHex(0),{to:e.hyperCoreParams.initiateContractAddress,data:f,value:y,_params:{amountIn:BigInt(e.hyperCoreParams.bridgeAmountUSDC64),contractAddress:e.hyperCoreParams.initiateContractAddress}}}function getHyperCoreDepositFromEvmTxPayload(e,t,n,a,r,s,o,i={}){if(e.toToken.contract.toLowerCase()!==addresses_default$1.ARBITRUM_USDC_CONTRACT.toLowerCase()||e.type!=="MCTP"&&e.type!=="FAST_MCTP")throw new Error("Unsupported quote type for USDC deposit: "+e.type);if(!(i!=null&&i.usdcPermitSignature))throw new Error("USDC permit signature is required for this quote");if(!e.hyperCoreParams)throw new Error("HyperCore parameters are required for this quote");if(!Number.isFinite(Number(r)))throw new Error("Invalid signer chain id");const l=getWormholeChainIdById$1(Number(r)),u=getWormholeChainIdByName$1(e.fromChain);if(u!==l)throw new Error(`Signer chain id(${Number(r)}) and quote from chain are not same! ${u} !== ${l}`);const d=s||ZeroPermit$1,c=new contract.Contract(addresses_default$1.MAYAN_FORWARDER_CONTRACT,MayanForwarderArtifact_default$1.abi);let f;if(!Number(e.deadline64))throw new Error("HyperCore deposit requires timeout");if(e.type==="MCTP")f=getUsdcDepositInitiatorMctpTxPayload(e,t,n,i.usdcPermitSignature);else if(e.type==="FAST_MCTP")f=getUsdcDepositInitiatorFastMctpTxPayload(e,t,n,a,i.usdcPermitSignature);else throw new Error("Unsupported quote type for HyperCore deposit: "+e.type);if(e.fromToken.contract.toLowerCase()===e.hyperCoreParams.initiateTokenContract.toLowerCase()){const y="forwardERC20",p=[e.fromToken.contract,BigInt(e.effectiveAmountIn64),d,f._params.contractAddress,f.data];return{data:c.interface.encodeFunctionData(y,p),to:addresses_default$1.MAYAN_FORWARDER_CONTRACT,value:contract.toBeHex(0),chainId:r,_forwarder:{method:y,params:p}}}else{const{evmSwapRouterAddress:y,evmSwapRouterCalldata:p}=e;if(!e.minMiddleAmount||!y||!p)throw new Error("Fast Mctp swap requires middle amount, router address and calldata");const b=getAmountOfFractionalAmount$1(e.minMiddleAmount,CCTP_TOKEN_DECIMALS$1);if(e.fromToken.contract===providerJsonrpc.ZeroAddress){const h="swapAndForwardEth",T=[BigInt(e.effectiveAmountIn64),y,p,e.hyperCoreParams.initiateTokenContract,b,f._params.contractAddress,f.data];return{data:c.interface.encodeFunctionData(h,T),to:addresses_default$1.MAYAN_FORWARDER_CONTRACT,value:contract.toBeHex(BigInt(e.effectiveAmountIn64)),chainId:r,_forwarder:{method:h,params:T}}}else{const h="swapAndForwardERC20",T=[e.fromToken.contract,BigInt(e.effectiveAmountIn64),d,y,p,e.hyperCoreParams.initiateTokenContract,b,f._params.contractAddress,f.data];return{data:c.interface.encodeFunctionData(h,T),to:addresses_default$1.MAYAN_FORWARDER_CONTRACT,value:contract.toBeHex(0),chainId:r,_forwarder:{method:h,params:T}}}}}var MayanMonoChainArtifact_default={abi:[{type:"constructor",inputs:[{name:"_forwarderAddress",type:"address",internalType:"address"}],stateMutability:"nonpayable"},{type:"receive",stateMutability:"payable"},{type:"function",name:"ForwarderAddress",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"MAX_REFERRER_BPS",inputs:[],outputs:[{name:"",type:"uint8",internalType:"uint8"}],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:"guardian",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"nextGuardian",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"rescueETH",inputs:[{name:"to",type:"address",internalType:"address"},{name:"amount",type:"uint256",internalType:"uint256"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"rescueToken",inputs:[{name:"token",type:"address",internalType:"address"},{name:"to",type:"address",internalType:"address"},{name:"amount",type:"uint256",internalType:"uint256"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"transferEth",inputs:[{name:"to",type:"address",internalType:"address"},{name:"referrerAddr",type:"address",internalType:"address"},{name:"referrerBps",type:"uint8",internalType:"uint8"}],outputs:[],stateMutability:"payable"},{type:"function",name:"transferToken",inputs:[{name:"token",type:"address",internalType:"address"},{name:"amount",type:"uint256",internalType:"uint256"},{name:"to",type:"address",internalType:"address"},{name:"referrerAddr",type:"address",internalType:"address"},{name:"referrerBps",type:"uint8",internalType:"uint8"}],outputs:[],stateMutability:"nonpayable"},{type:"event",name:"EthTransferred",inputs:[{name:"to",type:"address",indexed:!1,internalType:"address"},{name:"amount",type:"uint256",indexed:!1,internalType:"uint256"}],anonymous:!1},{type:"event",name:"TokenTransferred",inputs:[{name:"token",type:"address",indexed:!1,internalType:"address"},{name:"to",type:"address",indexed:!1,internalType:"address"},{name:"amount",type:"uint256",indexed:!1,internalType:"uint256"}],anonymous:!1},{type:"error",name:"InvalidReferrerBps",inputs:[]},{type:"error",name:"Unauthorized",inputs:[]}]};function getEvmMonoChainTxPayload(e,t,n){const a=getAmountOfFractionalAmount$1(e.expectedAmountOut,e.toToken.decimals),r=new contract.Contract(e.monoChainMayanContract,MayanMonoChainArtifact_default.abi);let s,o;return e.toToken.contract===providerJsonrpc.ZeroAddress?s=r.interface.encodeFunctionData("transferEth",[t,n,e.referrerBps||0]):s=r.interface.encodeFunctionData("transferToken",[e.toToken.contract,a,t,n,e.referrerBps||0]),e.fromToken.contract===providerJsonrpc.ZeroAddress?o=contract.toBeHex(e.effectiveAmountIn64):o=contract.toBeHex(0),{to:e.monoChainMayanContract,data:s,value:o,_params:{amountIn:BigInt(e.effectiveAmountIn64),tokenIn:e.fromToken.contract}}}function getMonoChainFromEvmTxPayload(e,t,n,a,r){if(e.type!=="MONO_CHAIN")throw new Error("Quote type is not MONO_CHAIN");if(e.fromChain!==e.toChain)throw new Error("Quote chains are not equal");if(e.fromToken.contract.toLowerCase()===e.toToken.contract.toLowerCase())throw new Error(`From token and to token are the same: ${e.fromToken.contract}`);if(!Number.isFinite(Number(a)))throw new Error("Invalid signer chain id");const s=getWormholeChainIdById$1(Number(a)),o=getWormholeChainIdByName$1(e.fromChain);if(o!==s)throw new Error(`Signer chain id(${Number(a)}) and quote from chain are not same! ${o} !== ${s}`);a=Number(a);const i=r||ZeroPermit$1,l=new contract.Contract(addresses_default$1.MAYAN_FORWARDER_CONTRACT,MayanForwarderArtifact_default$1.abi),{evmSwapRouterAddress:u,evmSwapRouterCalldata:d}=e;if(!u||!d)throw new Error("Mono chain swap requires router address and calldata");const c=getEvmMonoChainTxPayload(e,t,n),f=getAmountOfFractionalAmount$1(e.minAmountOut,e.toToken.decimals);if(e.fromToken.contract===providerJsonrpc.ZeroAddress){const y="swapAndForwardEth",p=[c._params.amountIn,u,d,e.toToken.contract,f,e.monoChainMayanContract,c.data];return{data:l.interface.encodeFunctionData(y,p),to:addresses_default$1.MAYAN_FORWARDER_CONTRACT,value:contract.toBeHex(c._params.amountIn),chainId:a,_forwarder:{method:y,params:p}}}else{const y="swapAndForwardERC20",p=[e.fromToken.contract,c._params.amountIn,i,u,d,e.toToken.contract,f,e.monoChainMayanContract,c.data];return{data:l.interface.encodeFunctionData(y,p),to:addresses_default$1.MAYAN_FORWARDER_CONTRACT,value:contract.toBeHex(0),chainId:a,_forwarder:{method:y,params:p}}}}function getEvmSwapParams$1(e,t,n,a,r,s){const o=new address.PublicKey(addresses_default$1.MAYAN_PROGRAM_ID),[i]=address.PublicKey.findProgramAddressSync([address.bufferPolyfill.Buffer.from("MAIN")],o),l=getAssociatedTokenAddress$1(new address.PublicKey(e.fromToken.mint),i,!0),u=BigInt(e.effectiveAmountIn64),d=nativeAddressToHexString$1(l.toString(),1),c=nativeAddressToHexString$1(addresses_default$1.AUCTION_PROGRAM_ID,1);let f;n?f=nativeAddressToHexString$1(n,1):f=nativeAddressToHexString$1(address.SystemProgram.programId.toString(),1);const y=getWormholeChainIdById$1(Number(r)),p=getWormholeChainIdByName$1(e.fromChain),b=getWormholeChainIdByName$1(e.toChain);if(p!==y)throw new Error(`Signer chain id(${Number(r)}) and quote from chain are not same! ${p} !== ${y}`);const h=e.whMayanContract,T={mayanAddr:d,mayanChainId:1,destAddr:nativeAddressToHexString$1(t,b),destChainId:b,auctionAddr:c,referrer:f,refundAddr:nativeAddressToHexString$1(a,y)},g=e.toToken.contract===providerJsonrpc.ZeroAddress,A={transferDeadline:BigInt(e.deadline64),swapDeadline:BigInt(e.deadline64),amountOutMin:getAmountOfFractionalAmount$1(e.minAmountOut,Math.min(8,e.toToken.decimals)),gasDrop:getAmountOfFractionalAmount$1(e.gasDrop,Math.min(8,getGasDecimal$1(e.toChain))),unwrap:g,customPayload:"0x"},w={swapFee:getAmountOfFractionalAmount$1(e.swapRelayerFee,Math.min(8,e.fromToken.decimals)),redeemFee:getAmountOfFractionalAmount$1(e.redeemRelayerFee,Math.min(8,e.toToken.decimals)),refundFee:getAmountOfFractionalAmount$1(e.refundRelayerFee,Math.min(8,e.fromToken.decimals))},_=nativeAddressToHexString$1(e.toToken.realOriginContractAddress,e.toToken.realOriginChainId),M=getAmountOfFractionalAmount$1(e.bridgeFee,18);return{amountIn:u,tokenIn:e.fromToken.contract,tokenOut:_,tokenOutWChainId:e.toToken.realOriginChainId,criteria:A,recipient:T,relayerFees:w,contractAddress:h,bridgeFee:M}}function getSwapFromEvmTxPayload$1(e,t,n,a,r,s,o,i,l){const u=getWormholeChainIdById$1(Number(s)),d=getWormholeChainIdByName$1(e.fromChain);if(d!==u)throw new Error(`Signer chain id(${Number(s)}) and quote from chain are not same! ${d} !== ${u}`);const c=getQuoteSuitableReferrerAddress$1(e,a);if(e.toChain==="hypercore")return getHyperCoreDepositFromEvmTxPayload(e,t,n,c,s,i,o,l);if(e.type==="MCTP")return getMctpFromEvmTxPayload$1(e,n,c,s,i);if(e.type==="SWIFT")return getSwiftFromEvmTxPayload$1(e,t,n,c,s);if(e.type==="SHUTTLE")return getShuttleFromEvmTxPayload$1(e,n,s);if(e.type==="FAST_MCTP")return getFastMctpFromEvmTxPayload$1(e,n,c,s,i);if(e.type==="MONO_CHAIN")return getMonoChainFromEvmTxPayload(e,n,c,s,i);if(e.type!="WH")throw new Error("Unsupported quote type");if(!Number(e.deadline64))throw new Error("WH mode requires a timeout");const{relayerFees:f,recipient:y,tokenOut:p,tokenOutWChainId:b,criteria:h,tokenIn:T,amountIn:g,contractAddress:A,bridgeFee:w}=getEvmSwapParams$1(e,n,c,r,s),_=new contract.Contract(addresses_default$1.MAYAN_FORWARDER_CONTRACT,MayanForwarderArtifact_default$1.abi),M=new contract.Contract(A,MayanSwapArtifact_default$1.abi);let P,k,D;const F=ZeroPermit$1;if(T===providerJsonrpc.ZeroAddress){const R=M.interface.encodeFunctionData("wrapAndSwapETH",[f,y,p,b,h]);P="forwardEth",k=[A,R],D=contract.toBeHex(g)}else{const R=M.interface.encodeFunctionData("swap",[f,y,p,b,h,T,g]);P="forwardERC20",k=[T,g,F,A,R],D=contract.toBeHex(w)}const C=_.interface.encodeFunctionData(P,k);return{to:addresses_default$1.MAYAN_FORWARDER_CONTRACT,data:C,value:D,chainId:s,_forwarder:{method:P,params:k}}}async function assertArgumentIsImmutable$1(e,t){var a;let n;try{n=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(n){if(n[e.argumentIndex]!=="Pure"&&((a=n[e.argumentIndex])==null?void 0:a.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$1(e,t){let n=[],a=BigInt(0),r;do{const s=await t.getCoins({...e,owner:e.walletAddress,cursor:r}),o=s.data.filter(i=>BigInt(i.balance)>BigInt(0));if(n=[...n,...o],o.forEach(i=>{a+=BigInt(i.balance)}),s.data.length===0||!s.hasNextPage||!s.nextCursor||a>=e.coinAmount)return{coins:n.sort((i,l)=>Number(BigInt(i.coinObjectId)-BigInt(l.coinObjectId))),sum:a};r=s.nextCursor}while(!0)}async function fetchMayanSuiPackageId$1(e,t){var a,r,s;let n;try{n=await t.getObject({id:e,options:{showContent:!0}})}catch(o){throw new Error(`Failed to fetch Mayan Sui package ID:
|
|
2
2
|
|
|
3
|
-
${d}`)}if((o=(c=(i=a.data)==null?void 0:i.content)==null?void 0:c.fields)!=null&&o.latest_package_id)return a.data.content.fields.latest_package_id;throw new Error("latest_package_id not found in Mayan Sui state object")}async function createMctpFromSuiMoveCalls(e,t,a,i,c,o,d){const[s,l]=await Promise.all([fetchMayanSuiPackageId(addresses_default.SUI_MCTP_STATE,o),e.hasAuction?fetchMayanSuiPackageId(addresses_default.SUI_MCTP_FEE_MANAGER_STATE,o):null]),r=getAmountOfFractionalAmount(e.minMiddleAmount,CCTP_TOKEN_DECIMALS);let m,p,h;if(e.fromToken.contract===e.mctpInputContract)m=new platform.Transaction,p=await resolveInputCoin(r,t,e.mctpInputContract,o,m,d==null?void 0:d.inputCoin);else{const{tx:f,outCoin:C,whFeeCoin:k}=await getSwapSui({amountIn64:e.effectiveAmountIn64,inputCoinType:e.fromToken.contract,middleCoinType:e.mctpInputContract,userWallet:t,withWhFee:e.hasAuction||e.cheaperChain!=="sui",referrerAddress:i,inputCoin:d==null?void 0:d.inputCoin,transaction:void 0});m=platform.Transaction.from(f),p=C,h=k?{result:k}:null}e.hasAuction?await addInitOrderMoveCalls(e,t,a,i,s,l,o,{inputCoin:{result:p},whFeeCoin:h,builtTransaction:m}):e.cheaperChain==="sui"?await addBridgeLockedFeeMoveCalls(e,t,a,s,o,{inputCoin:{result:p},builtTransaction:m}):await addBridgeWithFeeMoveCalls(e,t,a,s,c,o,{inputCoin:{result:p},whFeeCoin:h,builtTransaction:m});const g=BigInt(e.effectiveAmountIn64),u=Uint8Array.from([]);m.moveCall({package:s,module:"init_order",function:"log_initialize_mctp",typeArguments:[e.fromToken.contract],arguments:[m.pure.u64(g),m.object(e.fromToken.verifiedAddress),m.pure.vector("u8",u)]});try{let f;i?f=nativeAddressToHexString(i,getWormholeChainIdByName(e.toChain)):f=nativeAddressToHexString(address.SystemProgram.programId.toString(),getWormholeChainIdByName("solana")),m.moveCall({package:addresses_default.SUI_LOGGER_PACKAGE_ID,module:"referrer_logger",function:"log_referrer",arguments:[m.pure.address(f),m.pure.u8(e.referrerBps||0)]})}catch(f){console.error("Failed to log referrer",f)}return m}async function addBridgeWithFeeMoveCalls(e,t,a,i,c,o,d){const s=getWormholeChainIdByName(e.toChain),l=(d==null?void 0:d.builtTransaction)??new platform.Transaction,r=getAmountOfFractionalAmount(e.minMiddleAmount,CCTP_TOKEN_DECIMALS),m=await resolveInputCoin(r,t,e.mctpInputContract,o,l,d==null?void 0:d.inputCoin),p=MCTP_PAYLOAD_TYPE_DEFAULT,h=nativeAddressToHexString(a,s),g=getCCTPDomain(e.toChain),u=getAmountOfFractionalAmount(e.gasDrop,Math.min(getGasDecimal(e.toChain),8)),f=getAmountOfFractionalAmount(e.redeemRelayerFee,CCTP_TOKEN_DECIMALS),C=Uint8Array.from([]),[k]=l.moveCall({package:i,module:"bridge_with_fee",function:"prepare_bridge_with_fee",typeArguments:[e.mctpInputContract],arguments:[l.pure.u8(p),m,l.pure.u64(r),l.pure.address(h),l.pure.u32(g),l.pure.u64(u),l.pure.u64(f),l.pure.vector("u8",C)]}),[A,P]=l.moveCall({package:i,module:"bridge_with_fee",function:"bridge_with_fee",typeArguments:[e.mctpInputContract],arguments:[l.object(addresses_default.SUI_MCTP_STATE),l.object(addresses_default.SUI_CCTP_CORE_STATE),l.object(e.mctpVerifiedInputAddress),k]}),[U,R]=l.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,`${i}::bridge_with_fee::CircleAuth`],arguments:[P,l.object(addresses_default.SUI_CCTP_TOKEN_STATE),l.object(addresses_default.SUI_CCTP_CORE_STATE),l.object("0x403"),l.object(e.mctpInputTreasury)]}),[D]=l.moveCall({package:i,module:"bridge_with_fee",function:"publish_bridge_with_fee",arguments:[l.object(addresses_default.SUI_MCTP_STATE),A,R]});return await addPublishWormholeMessage(l,D,o,BigInt(e.bridgeFee),t,d==null?void 0:d.whFeeCoin),l}async function addBridgeLockedFeeMoveCalls(e,t,a,i,c,o){const d=getWormholeChainIdByName(e.toChain),s=(o==null?void 0:o.builtTransaction)??new platform.Transaction,l=getAmountOfFractionalAmount(e.minMiddleAmount,CCTP_TOKEN_DECIMALS),r=await resolveInputCoin(l,t,e.mctpInputContract,c,s,o==null?void 0:o.inputCoin),m=nativeAddressToHexString(a,d),p=getCCTPDomain(e.toChain),h=getAmountOfFractionalAmount(e.gasDrop,Math.min(getGasDecimal(e.toChain),8)),g=getAmountOfFractionalAmount(e.redeemRelayerFee,CCTP_TOKEN_DECIMALS),[u]=s.moveCall({package:i,module:"bridge_locked_fee",function:"prepare_bridge_locked_fee",typeArguments:[e.mctpInputContract],arguments:[r,s.pure.u64(l),s.pure.address(m),s.pure.u32(p),s.pure.u64(h),s.pure.u64(g)]}),[f,C]=s.moveCall({package:i,module:"bridge_locked_fee",function:"bridge_locked_fee",typeArguments:[e.mctpInputContract],arguments:[s.object(addresses_default.SUI_MCTP_STATE),s.object(addresses_default.SUI_CCTP_CORE_STATE),s.object(e.mctpVerifiedInputAddress),u]}),[k,A]=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,`${i}::bridge_locked_fee::CircleAuth`],arguments:[C,s.object(addresses_default.SUI_CCTP_TOKEN_STATE),s.object(addresses_default.SUI_CCTP_CORE_STATE),s.object("0x403"),s.object(e.mctpInputTreasury)]});return s.moveCall({package:i,module:"bridge_locked_fee",function:"store_bridge_locked_fee",typeArguments:[e.mctpInputContract],arguments:[s.object(addresses_default.SUI_MCTP_STATE),s.object(e.mctpVerifiedInputAddress),f,A]}),s}async function addInitOrderMoveCalls(e,t,a,i,c,o,d,s){const l=getWormholeChainIdByName(e.toChain),r=(s==null?void 0:s.builtTransaction)??new platform.Transaction,m=getAmountOfFractionalAmount(e.minMiddleAmount,CCTP_TOKEN_DECIMALS),[p]=await Promise.all([resolveInputCoin(m,t,e.mctpInputContract,d,r,s==null?void 0:s.inputCoin),assertArgumentIsImmutable({package:o,module:"calculate_mctp_fee",function:"prepare_calc_mctp_fee",argumentIndex:3},d)]),h=e.toToken.contract===providerJsonrpc.ZeroAddress?nativeAddressToHexString(address.SystemProgram.programId.toString(),getWormholeChainIdByName("solana")):nativeAddressToHexString(e.toToken.contract,e.toToken.wChainId),g=getAmountOfFractionalAmount(e.minAmountOut,Math.min(8,e.toToken.decimals)),u=nativeAddressToHexString(a,l),f=getCCTPDomain(e.toChain),C=getAmountOfFractionalAmount(e.gasDrop,Math.min(getGasDecimal(e.toChain),8)),k=getAmountOfFractionalAmount(e.redeemRelayerFee,CCTP_TOKEN_DECIMALS),A=BigInt(e.deadline64);let P;i?P=nativeAddressToHexString(i,l):P=nativeAddressToHexString(address.SystemProgram.programId.toString(),getWormholeChainIdByName("solana"));const U=[r.object(e.mctpVerifiedInputAddress),r.pure.u8(MCTP_INIT_ORDER_PAYLOAD_ID),r.pure.address(t),p,r.pure.address(u),r.pure.u16(l),r.pure.address(h),r.pure.u64(g),r.pure.u64(C),r.pure.u64(k),r.pure.u64(A),r.pure.address(P),r.pure.u8(e.referrerBps)],[R]=r.moveCall({package:o,module:"calculate_mctp_fee",function:"prepare_calc_mctp_fee",typeArguments:[e.mctpInputContract],arguments:U}),[D]=r.moveCall({package:o,module:"calculate_mctp_fee",function:"calculate_mctp_fee",arguments:[r.object(addresses_default.SUI_MCTP_FEE_MANAGER_STATE),R]}),[B]=r.moveCall({package:c,module:"init_order",function:"prepare_initialize_order",typeArguments:[e.mctpInputContract],arguments:[...U.slice(1),r.pure.u32(f),r.pure.u64(m)]}),[M,G]=r.moveCall({package:c,module:"init_order",function:"initialize_order",typeArguments:[e.mctpInputContract],arguments:[r.object(addresses_default.SUI_MCTP_STATE),r.object(addresses_default.SUI_CCTP_CORE_STATE),r.object(e.mctpVerifiedInputAddress),B,D]}),[Y,F]=r.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,`${c}::init_order::CircleAuth`],arguments:[G,r.object(addresses_default.SUI_CCTP_TOKEN_STATE),r.object(addresses_default.SUI_CCTP_CORE_STATE),r.object("0x403"),r.object(e.mctpInputTreasury)]}),[O]=r.moveCall({package:c,module:"init_order",function:"publish_init_order",arguments:[r.object(addresses_default.SUI_MCTP_STATE),M,F]});return await addPublishWormholeMessage(r,O,d,BigInt(e.bridgeFee),t,s==null?void 0:s.whFeeCoin),r}async function addPublishWormholeMessage(e,t,a,i,c,o){let d;if(o!=null&&o.result)d=o.result;else if(o!=null&&o.objectId)d=e.object(o.objectId);else if(i>BigInt(0)){const{coins:s,sum:l}=await fetchAllCoins({walletAddress:c,coinType:platform.SUI_TYPE_ARG,coinAmount:i},a);if(l<i)throw new Error("Insufficient funds to pay Wormhole message fee");s.length>1&&e.mergeCoins(s[0].coinObjectId,s.slice(1).map(m=>m.coinObjectId));const[r]=e.splitCoins(s[0].coinObjectId,[i]);d=r}else{const[s]=e.splitCoins(e.gas,[e.pure.u64(0)]);d=s}return e.moveCall({package:addresses_default.SUI_WORMHOLE_PACKAGE_ID,module:"publish_message",function:"publish_message",arguments:[e.object(addresses_default.SUI_WORMHOLE_STATE),d,t,e.object(platform.SUI_CLOCK_OBJECT_ID)]}),e}async function resolveInputCoin(e,t,a,i,c,o){let d;if(o!=null&&o.result)d=o.result;else if(o!=null&&o.objectId)d=c.object(o.objectId);else{const{coins:s,sum:l}=await fetchAllCoins({walletAddress:t,coinType:a,coinAmount:e},i);if(l<e)throw new Error(`Insufficient funds to create Coin ${a} with amount ${e}`);s.length>1&&c.mergeCoins(s[0].coinObjectId,s.slice(1).map(m=>m.coinObjectId));const[r]=c.splitCoins(s[0].coinObjectId,[e]);d=r}return d}async function createSwapFromSuiMoveCalls(e,t,a,i,c,o,d){const s=getQuoteSuitableReferrerAddress(e,i);if(e.type==="MCTP")return createMctpFromSuiMoveCalls(e,t,a,s,c,o,d);throw new Error("Unsupported quote type from Sui chain")}const arbitrum=[{mint:"CSD6JQMvLi46psjHdpfFdr826mF336pEVMJgjwcoS1m4",name:"ETH",symbol:"ETH",wChainId:23,chainId:42161,decimals:18,coingeckoId:"weth",contract:"0x0000000000000000000000000000000000000000",wrappedAddress:"0x82af49447d8a07e3bd95bd0d56f35241523fbab1",logoURI:"https://statics.mayan.finance/eth.png",realOriginContractAddress:"0x82aF49447D8a07e3bd95BD0d56f35241523fBab1",realOriginChainId:23,supportsPermit:!1},{name:"USDC",symbol:"USDC",mint:"CR4xnGrhsu1fWNPoX4KbTUUtqGMF3mzRLfj4S6YEs1Yo",contract:"0xaf88d065e77c8cc2239327c5edb3a432268e5831",chainId:42161,wChainId:23,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/6319/small/usdc.png?1696506694",coingeckoId:"usd-coin",realOriginContractAddress:"0xaf88d065e77c8cc2239327c5edb3a432268e5831",realOriginChainId:23,supportsPermit:!0},{name:"WETH",symbol:"WETH",mint:"CSD6JQMvLi46psjHdpfFdr826mF336pEVMJgjwcoS1m4",contract:"0x82af49447d8a07e3bd95bd0d56f35241523fbab1",chainId:42161,wChainId:23,decimals:18,logoURI:"https://assets.coingecko.com/coins/images/2518/small/weth.png?1628852295",coingeckoId:"weth",realOriginContractAddress:"0x82af49447d8a07e3bd95bd0d56f35241523fbab1",realOriginChainId:23,supportsPermit:!0},{name:"Tether",symbol:"USDT",mint:"H9o3LaDfoMSVLm9aBWaY56eMmPGDbRFnUHpqcTb9exXB",contract:"0xfd086bc7cd5c481dcc9c85ebe478a1c0b69fcbb9",chainId:42161,wChainId:23,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/325/small/Tether.png?1668148663",coingeckoId:"tether",realOriginContractAddress:"0xfd086bc7cd5c481dcc9c85ebe478a1c0b69fcbb9",realOriginChainId:23,supportsPermit:!0},{name:"USDC (Portal from Polygon)",symbol:"USDC",mint:"C321jHPwWBzgfSGndosDTp5pBsiXPyMU1irxKLVcedRB",contract:"0x599ADB10E6A012dF34935D47407450f6D7170e3C",chainId:42161,wChainId:23,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/6319/small/usdc.png?1696506694",coingeckoId:"usd-coin",realOriginContractAddress:"0x3c499c542cef5e3811e1192ce70d8cc03d5c3359",realOriginChainId:5,supportsPermit:!0},{name:"USD Coin (Arb1)",symbol:"USDC.e",mint:"HAxCJjnmgkdXhwZYeJiUvBgm4NdQvqhGJCS3KxCnCxWs",contract:"0xff970a61a04b1ca14834a43f5de4533ebddb5cc8",chainId:42161,wChainId:23,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/6319/small/USD_Coin_icon.png?1547042389",coingeckoId:"usd-coin",realOriginContractAddress:"0xff970a61a04b1ca14834a43f5de4533ebddb5cc8",realOriginChainId:23,supportsPermit:!0},{name:"Basket (Portal from Solana)",symbol:"BSKT",mint:"6gnCPhXtLnUD76HjQuSYPENLSZdG8RvDB1pTLM5aLSJA",contract:"0xa3210cd727fE6DAf8386af5623ba51A367E46263",chainId:42161,wChainId:23,decimals:5,logoURI:"https://assets.coingecko.com/coins/images/34661/small/BSKT_Logo.png?1705636891",coingeckoId:"basket",realOriginContractAddress:"6gnCPhXtLnUD76HjQuSYPENLSZdG8RvDB1pTLM5aLSJA",realOriginChainId:1,supportsPermit:!0},{name:"WETH (Portal from Optimism)",symbol:"WETH",mint:"8M6d63oL7dvMZ1gNbgGe3h8afMSWJEKEhtPTFM2u8h3c",contract:"0xB1fC645a86fB5085e12D8BDDb77702F728D2A26F",chainId:42161,wChainId:23,decimals:18,logoURI:"https://assets.coingecko.com/coins/images/2518/small/weth.png?1696503332",coingeckoId:"weth",realOriginContractAddress:"0x4200000000000000000000000000000000000006",realOriginChainId:24,supportsPermit:!0},{name:"USDC (Portal from Optimism)",symbol:"USDC",mint:"J8kcD4Wnd1ehne1dpL8WNtgZQR6Jpui2cTZcrmg5ybAa",contract:"0x3A5C2Da9E30741cb59a5e9446A23A86886fC9DC2",chainId:42161,wChainId:23,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/6319/small/usdc.png?1696506694",coingeckoId:"usd-coin",realOriginContractAddress:"0x0b2c639c533813f4aa9d7837caf62653d097ff85",realOriginChainId:24,supportsPermit:!0},{name:"Bridged USDC (Optimism) (Portal from Optimism)",symbol:"USDC.E",mint:"D6YyAUMTJipLQfUhYs6psdnwpmMz6KbM4Qs9AtCmPpxR",contract:"0xF6938032c44bB69CD0aF34a2A50eAB75d89b35dc",chainId:42161,wChainId:23,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/31580/small/USDC-icon.png?1696530397",coingeckoId:"bridged-usd-coin-optimism",realOriginContractAddress:"0x7f5c764cbc14f9669b88837ca1490cca17c31607",realOriginChainId:24,supportsPermit:!0},{name:"Tether (Portal from Optimism)",symbol:"USDT",mint:"CLV6gB88nQtnuo3akGLSVRFaiFPTXaBXV4EDaFxV7iRq",contract:"0x16A9d7FECE7Feb0d8ece07483E5d80f52c0a6e31",chainId:42161,wChainId:23,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/325/small/Tether.png?1696501661",coingeckoId:"tether",realOriginContractAddress:"0x94b008aa00579c1307b0ef2c499ad98a8ce58e58",realOriginChainId:24,supportsPermit:!0}],ethereum=[{name:"ETH",symbol:"ETH",mint:"7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs",contract:"0x0000000000000000000000000000000000000000",chainId:1,wChainId:2,decimals:18,logoURI:"https://statics.mayan.finance/eth.png",wrappedAddress:"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",coingeckoId:"weth",realOriginContractAddress:"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",realOriginChainId:2,supportsPermit:!1},{name:"Basket (Portal from Solana)",symbol:"BSKT",mint:"6gnCPhXtLnUD76HjQuSYPENLSZdG8RvDB1pTLM5aLSJA",contract:"0xbC0899E527007f1B8Ced694508FCb7a2b9a46F53",chainId:1,wChainId:2,decimals:5,logoURI:"https://assets.coingecko.com/coins/images/34661/small/BSKT_Logo.png?1705636891",coingeckoId:"basket",realOriginContractAddress:"6gnCPhXtLnUD76HjQuSYPENLSZdG8RvDB1pTLM5aLSJA",realOriginChainId:1,supportsPermit:!0},{name:"Wrapped Bitcoin",symbol:"WBTC",mint:"3NZ9JMVBmGAqocybic2c7LQCJScmgsAZ6vQqTDzcqmJh",contract:"0x2260fac5e5542a773aa44fbcfedf7c193bc2c599",chainId:1,wChainId:2,decimals:8,logoURI:"https://assets.coingecko.com/coins/images/7598/small/wrapped_bitcoin_wbtc.png?1548822744",coingeckoId:"wrapped-bitcoin",realOriginContractAddress:"0x2260fac5e5542a773aa44fbcfedf7c193bc2c599",realOriginChainId:2,supportsPermit:!1},{name:"WETH (Portal from Arbitrum)",symbol:"WETH",mint:"CSD6JQMvLi46psjHdpfFdr826mF336pEVMJgjwcoS1m4",contract:"0xb945E3F853B5f8033C8513Cf3cE9F8AD9beBB1c9",chainId:1,wChainId:2,decimals:18,logoURI:"https://assets.coingecko.com/coins/images/2518/small/weth.png?1628852295",coingeckoId:"weth",realOriginContractAddress:"0x82af49447d8a07e3bd95bd0d56f35241523fbab1",realOriginChainId:23,supportsPermit:!0},{name:"Tether (Portal from Arbitrum)",symbol:"USDT",mint:"H9o3LaDfoMSVLm9aBWaY56eMmPGDbRFnUHpqcTb9exXB",contract:"0xFbA2B8D6D4554Ed67DDDe4814847b02c5114285D",chainId:1,wChainId:2,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/325/small/Tether.png?1668148663",coingeckoId:"tether",realOriginContractAddress:"0xfd086bc7cd5c481dcc9c85ebe478a1c0b69fcbb9",realOriginChainId:23,supportsPermit:!0},{name:"USD Coin (Arb1)(Portal from Arbitrum)",symbol:"USDC.e",mint:"HAxCJjnmgkdXhwZYeJiUvBgm4NdQvqhGJCS3KxCnCxWs",contract:"0x5c14172D3876200ad4063a33aee47a281020d4b3",chainId:1,wChainId:2,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/6319/small/USD_Coin_icon.png?1547042389",coingeckoId:"usd-coin",realOriginContractAddress:"0xff970a61a04b1ca14834a43f5de4533ebddb5cc8",realOriginChainId:23,supportsPermit:!0},{name:"USD Coin (Portal from Avalanche)",symbol:"USDC",mint:"FHfba3ov5P3RjaiLVgh8FTv4oirxQDoVXuoUUDvHuXax",contract:"0x39EbF69137D98FB7659Ef8D4ea21ec26394389d7",chainId:1,wChainId:2,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/6319/small/USD_Coin_icon.png?1547042389",coingeckoId:"usd-coin",realOriginContractAddress:"0xb97ef9ef8734c71904d8002f8b6bc66dd9c48a6e",realOriginChainId:6,supportsPermit:!0},{name:"Tether (Portal from Avalanche)",symbol:"USDT",mint:"Kz1csQA91WUGcQ2TB3o5kdGmWmMGp8eJcDEyHzNDVCX",contract:"0x72B2095361926E72692DFd5986C5B0d2bc18bF1e",chainId:1,wChainId:2,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/325/small/Tether.png?1668148663",coingeckoId:"tether",realOriginContractAddress:"0x9702230a8ea53601f5cd2dc00fdbc13d4df4a8c7",realOriginChainId:6,supportsPermit:!0},{name:"USD Coin (Portal from BSC)",symbol:"USDC",mint:"FCqfQSujuPxy6V42UvafBhsysWtEq1vhjfMN1PUbgaxA",contract:"0x7cd167B101D2808Cfd2C45d17b2E7EA9F46b74B6",chainId:1,wChainId:2,decimals:18,logoURI:"https://assets.coingecko.com/coins/images/6319/small/USD_Coin_icon.png?1547042389",coingeckoId:"usd-coin",realOriginContractAddress:"0x8ac76a51cc950d9822d68b83fe1ad97b32cd580d",realOriginChainId:4,supportsPermit:!0},{name:"Dai",symbol:"DAI",mint:"EjmyN6qEC1Tf1JxiG1ae7UTJhUxSwk1TCWNWqxWV4J6o",contract:"0x6b175474e89094c44da98b954eedeac495271d0f",chainId:1,wChainId:2,decimals:18,logoURI:"https://assets.coingecko.com/coins/images/9956/small/4943.png?1636636734",coingeckoId:"dai",realOriginContractAddress:"0x6b175474e89094c44da98b954eedeac495271d0f",realOriginChainId:2,supportsPermit:!1},{name:"1Sol",symbol:"1SOL",mint:"4ThReWAbAVZjNVgs5Ui9Pk3cZ5TYaD9u6Y89fp6EFzoF",contract:"0x009178997aff09a67d4caccfeb897fb79d036214",chainId:1,wChainId:2,decimals:18,logoURI:"https://assets.coingecko.com/coins/images/21615/small/YyGDie9f_400x400.jpg?1639610633",coingeckoId:"1sol",realOriginContractAddress:"0x009178997aff09a67d4caccfeb897fb79d036214",realOriginChainId:2,supportsPermit:!1},{name:"agEUR",symbol:"AGEUR",mint:"CbNYA9n3927uXUukee2Hf4tm3xxkffJPPZvGazc2EAH1",contract:"0x1a7e4e63778b4f12a199c062f3efdd288afcbce8",chainId:1,wChainId:2,decimals:18,logoURI:"https://assets.coingecko.com/coins/images/19479/small/agEUR.png?1635283566",coingeckoId:"ageur",realOriginContractAddress:"0x1a7e4e63778b4f12a199c062f3efdd288afcbce8",realOriginChainId:2,supportsPermit:!0},{name:"Aldrin (Portal from solana)",symbol:"RIN",mint:"E5ndSkaB17Dm7CsD22dvcjfrYSDLCxFcMd6z8ddCk5wp",contract:"0xf51421C93BD9943f057CF5668a5FD6C7Ac3F66ae",chainId:1,wChainId:2,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/16849/small/Aldrin.png?1629959768",coingeckoId:"aldrin",realOriginContractAddress:"E5ndSkaB17Dm7CsD22dvcjfrYSDLCxFcMd6z8ddCk5wp",realOriginChainId:1,supportsPermit:!0},{name:"Aleph.im",symbol:"ALEPH",mint:"3UCMiSnkcnkPE1pgQ5ggPCBv6dXgVUy16TmMUe1WpG9x",contract:"0x27702a26126e0b3702af63ee09ac4d1a084ef628",chainId:1,wChainId:2,decimals:18,logoURI:"https://assets.coingecko.com/coins/images/11676/small/Monochram-aleph.png?1608483725",coingeckoId:"aleph",realOriginContractAddress:"0x27702a26126e0b3702af63ee09ac4d1a084ef628",realOriginChainId:2,supportsPermit:!0},{name:"Atlas DEX (Portal from solana)",symbol:"ATS",mint:"HJbNXx2YMRxgfUJ6K4qeWtjatMK5KYQT1QnsCdDWywNv",contract:"0xbE635F061DC6e918a1be980df82910621859cC93",chainId:1,wChainId:2,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/23002/small/logo.png?1643091340",coingeckoId:"atlas-dex",realOriginContractAddress:"HJbNXx2YMRxgfUJ6K4qeWtjatMK5KYQT1QnsCdDWywNv",realOriginChainId:1,supportsPermit:!0},{name:"Audius",symbol:"AUDIO",mint:"9LzCMqDgTKYz9Drzqnpgee3SGa89up3a247ypMj2xrqM",contract:"0x18aaa7115705e8be94bffebde57af9bfc265b998",chainId:1,wChainId:2,decimals:18,logoURI:"https://assets.coingecko.com/coins/images/12913/small/AudiusCoinLogo_2x.png?1603425727",coingeckoId:"audius",realOriginContractAddress:"0x18aaa7115705e8be94bffebde57af9bfc265b998",realOriginChainId:2,supportsPermit:!0},{name:"Aurory (Portal from solana)",symbol:"AURY",mint:"AURYydfxJib1ZkTir1Jn1J9ECYUtjb6rKQVmtYaixWPP",contract:"0xFe81232e1C2475782085b094D6Aa212ddFEb6560",chainId:1,wChainId:2,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/19324/small/Ico_Blanc.png?1672824647",coingeckoId:"aurory",realOriginContractAddress:"AURYydfxJib1ZkTir1Jn1J9ECYUtjb6rKQVmtYaixWPP",realOriginChainId:1,supportsPermit:!0},{name:"Axie Infinity",symbol:"AXS",mint:"HysWcbHiYY9888pHbaqhwLYZQeZrcQMXKQWRqS7zcPK5",contract:"0xbb0e17ef65f82ab018d8edd776e8dd940327b28b",chainId:1,wChainId:2,decimals:18,logoURI:"https://assets.coingecko.com/coins/images/13029/small/axie_infinity_logo.png?1604471082",coingeckoId:"axie-infinity",realOriginContractAddress:"0xbb0e17ef65f82ab018d8edd776e8dd940327b28b",realOriginChainId:2,supportsPermit:!1},{name:"Binance USD (Portal from BSC)",symbol:"BUSD",mint:"5RpUwQ8wtdPCZHhu6MERp2RGrpobsbZ6MH5dDHkUjs2",contract:"0x7B4B0B9b024109D182dCF3831222fbdA81369423",chainId:1,wChainId:2,decimals:18,logoURI:"https://assets.coingecko.com/coins/images/9576/small/BUSD.png?1568947766",coingeckoId:"binance-usd",realOriginContractAddress:"0xe9e7cea3dedca5984780bafc599bd69add087d56",realOriginChainId:4,supportsPermit:!0},{name:"Bitmon (Portal from solana)",symbol:"BIT",mint:"EGiWZhNk3vUNJr35MbL2tY5YD6D81VVZghR2LgEFyXZh",contract:"0x79dF183eFcc80915dd08B74Be0B021A8a45b0419",chainId:1,wChainId:2,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/25282/small/BT-logo.png?1651127844",coingeckoId:"bitmon",realOriginContractAddress:"EGiWZhNk3vUNJr35MbL2tY5YD6D81VVZghR2LgEFyXZh",realOriginChainId:1,supportsPermit:!0},{name:"Bitspawn (Portal from solana)",symbol:"SPWN",mint:"5U9QqCPhqXAJcEv9uyzFJd5zhN93vuPk1aNNkXnUfPnt",contract:"0x1437760948fC7f8A548d8eC680d4849BfdaD8cDF",chainId:1,wChainId:2,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/16513/small/token_logo.png?1631603192",coingeckoId:"bitspawn",realOriginContractAddress:"5U9QqCPhqXAJcEv9uyzFJd5zhN93vuPk1aNNkXnUfPnt",realOriginChainId:1,supportsPermit:!0},{name:"Blockasset (Portal from solana)",symbol:"BLOCK",mint:"NFTUkR4u7wKxy9QLaX2TGvd9oZSWoMo4jqSJqdMb7Nk",contract:"0x620A06380559d03ac74a8adC9A760111E6fb2eca",chainId:1,wChainId:2,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/21332/small/Blockasset-Logo-Symbol.png?1648442722",coingeckoId:"blockasset",realOriginContractAddress:"NFTUkR4u7wKxy9QLaX2TGvd9oZSWoMo4jqSJqdMb7Nk",realOriginChainId:1,supportsPermit:!0},{name:"Bonfida (Portal from solana)",symbol:"FIDA",mint:"EchesyfXePKdLtoiZSL8pBe8Myagyy8ZRqsACNCFGnvp",contract:"0x7306B6F1059611Db89d582950E64291465F351Fc",chainId:1,wChainId:2,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/13395/small/bonfida.png?1658327819",coingeckoId:"bonfida",realOriginContractAddress:"EchesyfXePKdLtoiZSL8pBe8Myagyy8ZRqsACNCFGnvp",realOriginChainId:1,supportsPermit:!0},{name:"Brazilian Digital (Portal from solana)",symbol:"BRZ",mint:"FtgGSFADXBtroxq8VCausXRr2of47QBf5AS1NtZCu4GD",contract:"0xBb0acB1c05f52C005aa262A1FaC33E782391b890",chainId:1,wChainId:2,decimals:4,logoURI:"https://assets.coingecko.com/coins/images/8472/small/2_vtiD3xwce9knG2COxtSMaQ.png?1597786961",coingeckoId:"brz",realOriginContractAddress:"FtgGSFADXBtroxq8VCausXRr2of47QBf5AS1NtZCu4GD",realOriginChainId:1,supportsPermit:!0},{name:"Celsius Network",symbol:"CEL",mint:"nRtfwU9G82CSHhHGJNxFhtn7FLvWP2rqvQvje1WtL69",contract:"0xaaaebe6fe48e54f431b0c390cfaf0b017d09d42d",chainId:1,wChainId:2,decimals:4,logoURI:"https://assets.coingecko.com/coins/images/3263/small/CEL_logo.png?1609598753",coingeckoId:"celsius-degree-token",realOriginContractAddress:"0xaaaebe6fe48e54f431b0c390cfaf0b017d09d42d",realOriginChainId:2,supportsPermit:!1},{name:"Chainlink",symbol:"LINK",mint:"2wpTofQ8SkACrkZWrZDjXPitYa8AwWgX8AfxdeBRRVLX",contract:"0x514910771af9ca656af840dff83e8264ecf986ca",chainId:1,wChainId:2,decimals:18,logoURI:"https://assets.coingecko.com/coins/images/877/small/chainlink-new-logo.png?1547034700",coingeckoId:"chainlink",realOriginContractAddress:"0x514910771af9ca656af840dff83e8264ecf986ca",realOriginChainId:2,supportsPermit:!1},{name:"ClinTex CTi",symbol:"CTI",mint:"9ET2QCQJdFkeKkuaampNbmicbA8eLYauFCWch9Ddh9p5",contract:"0xcb8fb2438a805664cd8c3e640b85ac473da5be87",chainId:1,wChainId:2,decimals:18,logoURI:"https://assets.coingecko.com/coins/images/13266/small/CTI.png?1606817542",coingeckoId:"clintex-cti",realOriginContractAddress:"0xcb8fb2438a805664cd8c3e640b85ac473da5be87",realOriginChainId:2,supportsPermit:!1},{name:"ConstitutionDAO",symbol:"PEOPLE",mint:"CobcsUrt3p91FwvULYKorQejgsm5HoQdv5T8RUZ6PnLA",contract:"0x7a58c0be72be218b41c608b7fe7c5bb630736c71",chainId:1,wChainId:2,decimals:18,logoURI:"https://assets.coingecko.com/coins/images/20612/small/GN_UVm3d_400x400.jpg?1637294355",coingeckoId:"constitutiondao",realOriginContractAddress:"0x7a58c0be72be218b41c608b7fe7c5bb630736c71",realOriginChainId:2,supportsPermit:!0},{name:"Decentraland",symbol:"MANA",mint:"7dgHoN8wBZCc5wbnQ2C47TDnBMAxG4Q5L3KjP67z8kNi",contract:"0x0f5d2fb29fb7d3cfee444a200298f468908cc942",chainId:1,wChainId:2,decimals:18,logoURI:"https://assets.coingecko.com/coins/images/878/small/decentraland-mana.png?1550108745",coingeckoId:"decentraland",realOriginContractAddress:"0x0f5d2fb29fb7d3cfee444a200298f468908cc942",realOriginChainId:2,supportsPermit:!1},{name:"dYdX",symbol:"DYDX",mint:"4Hx6Bj56eGyw8EJrrheM6LBQAvVYRikYCWsALeTrwyRU",contract:"0x92d6c1e31e14520e676a687f0a93788b716beff5",chainId:1,wChainId:2,decimals:18,logoURI:"https://assets.coingecko.com/coins/images/17500/small/hjnIm9bV.jpg?1628009360",coingeckoId:"dydx",realOriginContractAddress:"0x92d6c1e31e14520e676a687f0a93788b716beff5",realOriginChainId:2,supportsPermit:!0},{name:"Frax",symbol:"FRAX",mint:"FR87nWEUxVgerFGhZM8Y4AggKGLnaXswr1Pd8wZ4kZcp",contract:"0x853d955acef822db058eb8505911ed77f175b99e",chainId:1,wChainId:2,decimals:18,logoURI:"https://assets.coingecko.com/coins/images/13422/small/ethCanonicalFRAX.png?1669277108",coingeckoId:"frax",realOriginContractAddress:"0x853d955acef822db058eb8505911ed77f175b99e",realOriginChainId:2,supportsPermit:!1},{name:"FTX",symbol:"FTT",mint:"EzfgjvkSwthhgHaceR3LnKXUoRkP6NUhfghdaHAj1tUv",contract:"0x50d1c9771902476076ecfc8b2a83ad6b9355a4c9",chainId:1,wChainId:2,decimals:18,logoURI:"https://assets.coingecko.com/coins/images/9026/small/F.png?1609051564",coingeckoId:"ftx-token",realOriginContractAddress:"0x50d1c9771902476076ecfc8b2a83ad6b9355a4c9",realOriginChainId:2,supportsPermit:!1},{name:"FTX (Portal from solana)",symbol:"FTT",mint:"AGFEad2et2ZJif9jaGpdMixQqvW5i81aBdvKe7PHNfz3",contract:"0x6B8e49057247Bc33f4305Af6Aa13532bd1E072e8",chainId:1,wChainId:2,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/9026/small/F.png?1609051564",coingeckoId:"ftx-token",realOriginContractAddress:"AGFEad2et2ZJif9jaGpdMixQqvW5i81aBdvKe7PHNfz3",realOriginChainId:1,supportsPermit:!0},{name:"STEPN Green Satoshi Token on Solana (Portal from solana)",symbol:"GST-SOL",mint:"AFbX8oGjGpmVFywbVouvhQSRmiW2aR1mohfahi4Y2AdB",contract:"0xEa6425a03B4545C10b49c785Df9EfbBbB68b7167",chainId:1,wChainId:2,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/21841/small/gst.png?1640332626",coingeckoId:"green-satoshi-token",realOriginContractAddress:"AFbX8oGjGpmVFywbVouvhQSRmiW2aR1mohfahi4Y2AdB",realOriginChainId:1,supportsPermit:!0},{name:"HAPI (Portal from solana)",symbol:"HAPI",mint:"6VNKqgz9hk7zRShTFdg5AnkfKwZUcojzwAkzxSH3bnUm",contract:"0x11b8Cf8B970323C5118f8c79E3F90a11A8f431BE",chainId:1,wChainId:2,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/14298/small/R9i2HjAL_400x400.jpg?1615332438",coingeckoId:"hapi",realOriginContractAddress:"6VNKqgz9hk7zRShTFdg5AnkfKwZUcojzwAkzxSH3bnUm",realOriginChainId:1,supportsPermit:!0},{name:"Hxro",symbol:"HXRO",mint:"HxhWkVpk5NS4Ltg5nij2G671CKXFRKPK8vy271Ub4uEK",contract:"0x4bd70556ae3f8a6ec6c4080a0c327b24325438f3",chainId:1,wChainId:2,decimals:18,logoURI:"https://assets.coingecko.com/coins/images/7805/small/Hxro_Profile_Transparent.png?1622443308",coingeckoId:"hxro",realOriginContractAddress:"0x4bd70556ae3f8a6ec6c4080a0c327b24325438f3",realOriginChainId:2,supportsPermit:!1},{name:"Kin (Portal from solana)",symbol:"KIN",mint:"kinXdEcpDQeHPEuQnqmUgtYykqKGVFq6CeVX5iAHJq6",contract:"0x5B2BC12576C25cF8178498a7E74597E74d6EcC92",chainId:1,wChainId:2,decimals:5,logoURI:"https://assets.coingecko.com/coins/images/959/small/kin.png?1586917032",coingeckoId:"kin",realOriginContractAddress:"kinXdEcpDQeHPEuQnqmUgtYykqKGVFq6CeVX5iAHJq6",realOriginChainId:1,supportsPermit:!0},{name:"KKO Protocol (Portal from solana)",symbol:"KKO",mint:"kiNeKo77w1WBEzFFCXrTDRWGRWGP8yHvKC9rX6dqjQh",contract:"0x904830cDC0176A0Bd157aa43A07cDe6d083082e0",chainId:1,wChainId:2,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/15366/small/kko-coingecko.png?1658982821",coingeckoId:"kineko",realOriginContractAddress:"kiNeKo77w1WBEzFFCXrTDRWGRWGP8yHvKC9rX6dqjQh",realOriginChainId:1,supportsPermit:!0},{name:"Kurobi (Portal from solana)",symbol:"KURO",mint:"2Kc38rfQ49DFaKHQaWbijkE7fcymUMLY5guUiUsDmFfn",contract:"0x664Eb280F53505FCc39B4656cfA7a4477Bf613Ce",chainId:1,wChainId:2,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/18612/small/logo_-_2021-09-26T233232.947.png?1632670367",coingeckoId:"kurobi",realOriginContractAddress:"2Kc38rfQ49DFaKHQaWbijkE7fcymUMLY5guUiUsDmFfn",realOriginChainId:1,supportsPermit:!0},{name:"Lido DAO",symbol:"LDO",mint:"HZRCwxP2Vq9PCpPXooayhJ2bxTpo5xfpQrwB1svh332p",contract:"0x5a98fcbea516cf06857215779fd812ca3bef1b32",chainId:1,wChainId:2,decimals:18,logoURI:"https://assets.coingecko.com/coins/images/13573/small/Lido_DAO.png?1609873644",coingeckoId:"lido-dao",realOriginContractAddress:"0x5a98fcbea516cf06857215779fd812ca3bef1b32",realOriginChainId:2,supportsPermit:!1},{name:"Lido Staked SOL (Portal from solana)",symbol:"STSOL",mint:"7dHbWXmci3dT8UFYWYZweBLXgycu7Y3iL6trKn1Y7ARj",contract:"0x5A114487131513637aCcF739CC7aD78EA9FAbc34",chainId:1,wChainId:2,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/18369/small/logo_-_2021-09-15T100934.765.png?1631671781",coingeckoId:"lido-staked-sol",realOriginContractAddress:"7dHbWXmci3dT8UFYWYZweBLXgycu7Y3iL6trKn1Y7ARj",realOriginChainId:1,supportsPermit:!0},{name:"Media Network (Portal from solana)",symbol:"MEDIA",mint:"ETAtLmCmsoiEEKfNrHKJ2kYy3MoABhU6NQvpSfij5tDs",contract:"0x08A7180Af3D7552ab14cE689F9196D273E747843",chainId:1,wChainId:2,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/15142/small/media50x50.png?1620122020",coingeckoId:"media-network",realOriginContractAddress:"ETAtLmCmsoiEEKfNrHKJ2kYy3MoABhU6NQvpSfij5tDs",realOriginChainId:1,supportsPermit:!0},{name:"Marinade staked SOL (Portal from solana)",symbol:"MSOL",mint:"mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So",contract:"0x756bFb452cFE36A5Bc82e4F5f4261A89a18c242b",chainId:1,wChainId:2,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/17752/small/mSOL.png?1644541955",coingeckoId:"msol",realOriginContractAddress:"mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So",realOriginChainId:1,supportsPermit:!0},{name:"Parrot Protocol (Portal from solana)",symbol:"PRT",mint:"PRT88RkA4Kg5z7pKnezeNH4mafTvtQdfFgpQTGRjz44",contract:"0xB601bD14386C1bb5b3d0C6132DCc8Ca241DbB89a",chainId:1,wChainId:2,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/18443/small/PRT.png?1634698095",coingeckoId:"parrot-protocol",realOriginContractAddress:"PRT88RkA4Kg5z7pKnezeNH4mafTvtQdfFgpQTGRjz44",realOriginChainId:1,supportsPermit:!0},{name:"Playground Waves Floor Index (Portal from solana)",symbol:"WAVES",mint:"4uRn7vxRPWYP4HuAa4UNXwEPLRL8oQ71YByMhr6yBnL4",contract:"0x776B3dF6c701a5E3A424E290241D61Fa88eFA05c",chainId:1,wChainId:2,decimals:2,logoURI:"https://assets.coingecko.com/coins/images/24388/small/playgorund_waves.PNG?1647502973",coingeckoId:"playground-waves-floor-index",realOriginContractAddress:"4uRn7vxRPWYP4HuAa4UNXwEPLRL8oQ71YByMhr6yBnL4",realOriginChainId:1,supportsPermit:!0},{name:"Rally (Solana) (Portal from solana)",symbol:"SRLY",mint:"sRLY3migNrkC1HLgqotpvi66qGkdNedqPZ9TJpAQhyh",contract:"0xc879BBdA252278B0859e811deef88e9978810E85",chainId:1,wChainId:2,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/23239/small/srly.png?1643531979",coingeckoId:"rally-solana",realOriginContractAddress:"sRLY3migNrkC1HLgqotpvi66qGkdNedqPZ9TJpAQhyh",realOriginChainId:1,supportsPermit:!0},{name:"Raydium (Portal from solana)",symbol:"RAY",mint:"4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R",contract:"0xE617dd80c621a5072bD8cBa65E9d76c07327004d",chainId:1,wChainId:2,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/13928/small/PSigc4ie_400x400.jpg?1612875614",coingeckoId:"raydium",realOriginContractAddress:"4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R",realOriginChainId:1,supportsPermit:!0},{name:"renDOGE (Portal from solana)",symbol:"RENDOGE",mint:"ArUkYE2XDKzqy77PRRGjo4wREWwqk6RXTfM9NeqzPvjU",contract:"0xC9Db5D64348505f56aF09e869D0b6E6835f892a5",chainId:1,wChainId:2,decimals:8,logoURI:"https://assets.coingecko.com/coins/images/13796/small/Dogecoin.jpg?1628072827",coingeckoId:"rendoge",realOriginContractAddress:"ArUkYE2XDKzqy77PRRGjo4wREWwqk6RXTfM9NeqzPvjU",realOriginChainId:1,supportsPermit:!0},{name:"Sator (Portal from solana)",symbol:"SAO",mint:"2HeykdKjzHKGm2LKHw8pDYwjKPiFEoXAz74dirhUgQvq",contract:"0x3EF389f264e07fFF3106A3926F2a166d1393086F",chainId:1,wChainId:2,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/19410/small/sator-logo-CMC.png?1635211626",coingeckoId:"sator",realOriginContractAddress:"2HeykdKjzHKGm2LKHw8pDYwjKPiFEoXAz74dirhUgQvq",realOriginChainId:1,supportsPermit:!0},{name:"Serum",symbol:"SRM",mint:"xnorPhAzWXUczCP3KjU5yDxmKKZi5cSbxytQ1LgE3kG",contract:"0x476c5e26a75bd202a9683ffd34359c0cc15be0ff",chainId:1,wChainId:2,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/11970/small/serum-logo.png?1597121577",coingeckoId:"serum",realOriginContractAddress:"0x476c5e26a75bd202a9683ffd34359c0cc15be0ff",realOriginChainId:2,supportsPermit:!1},{name:"Serum (Portal from solana)",symbol:"SRM",mint:"SRMuApVNdxXokk5GT7XD5cUUgXMBCoAz2LHeuAoKWRt",contract:"0xE3ADAA4fb7c92AB833Ee08B3561D9c434aA2A3eE",chainId:1,wChainId:2,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/11970/small/serum-logo.png?1597121577",coingeckoId:"serum",realOriginContractAddress:"SRMuApVNdxXokk5GT7XD5cUUgXMBCoAz2LHeuAoKWRt",realOriginChainId:1,supportsPermit:!0},{name:"Shiba Inu",symbol:"SHIB",mint:"CiKu4eHsVrc1eueVQeHn7qhXTcVu95gSQmBpX4utjL9z",contract:"0x95ad61b0a150d79219dcf64e1e6cc01f0b64c4ce",chainId:1,wChainId:2,decimals:18,logoURI:"https://assets.coingecko.com/coins/images/11939/small/shiba.png?1622619446",coingeckoId:"shiba-inu",realOriginContractAddress:"0x95ad61b0a150d79219dcf64e1e6cc01f0b64c4ce",realOriginChainId:2,supportsPermit:!1},{name:"SolanaPrime (Portal from solana)",symbol:"PRIME",mint:"PRiME7gDoiG1vGr95a3CRMv9xHY7UGjd4JKvfSkmQu2",contract:"0x770241c7B2793512c64aAE8D9a100699feb615E5",chainId:1,wChainId:2,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/25911/small/solana_black200x200.png?1654587637",coingeckoId:"solanaprime",realOriginContractAddress:"PRiME7gDoiG1vGr95a3CRMv9xHY7UGjd4JKvfSkmQu2",realOriginChainId:1,supportsPermit:!0},{name:"Solanium (Portal from solana)",symbol:"SLIM",mint:"xxxxa1sKNGwFtw2kFn8XauW9xq8hBZ5kVtcSesTT9fW",contract:"0x1E6fC70D0f4807C933443426722d22149355d8cC",chainId:1,wChainId:2,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/15816/small/logo_cg.png?1659000206",coingeckoId:"solanium",realOriginContractAddress:"xxxxa1sKNGwFtw2kFn8XauW9xq8hBZ5kVtcSesTT9fW",realOriginChainId:1,supportsPermit:!0},{name:"Star Atlas (Portal from solana)",symbol:"ATLAS",mint:"ATLASXmbPQxBUYbxPsV97usA3fPQYEqzQBUHgiFCUsXx",contract:"0xb9F747162AB1E95d07361f9048BcDF6eDdA9eEA7",chainId:1,wChainId:2,decimals:8,logoURI:"https://assets.coingecko.com/coins/images/17659/small/Icon_Reverse.png?1628759092",coingeckoId:"star-atlas",realOriginContractAddress:"ATLASXmbPQxBUYbxPsV97usA3fPQYEqzQBUHgiFCUsXx",realOriginChainId:1,supportsPermit:!0},{name:"STEPN (Portal from solana)",symbol:"GMT",mint:"7i5KKsX2weiTkry7jA4ZwSuXGhs5eJBEjY8vVxR4pfRx",contract:"0x8589A26eb762c9D8126b69c0582151186C4E71Bd",chainId:1,wChainId:2,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/23597/small/gmt.png?1644658792",coingeckoId:"stepn",realOriginContractAddress:"7i5KKsX2weiTkry7jA4ZwSuXGhs5eJBEjY8vVxR4pfRx",realOriginChainId:1,supportsPermit:!0},{name:"Sunny Aggregator (Portal from solana)",symbol:"SUNNY",mint:"SUNNYWgPQmFxe9wTZzNK7iPnJ3vYDrkgnxJRJm1s3ag",contract:"0xe6bFcDA5741011b80862cC2C245829FE29D30b0e",chainId:1,wChainId:2,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/18039/small/90dbe787-8e5f-473c-b923-fe138a7a30ea.png?1630314924",coingeckoId:"sunny-aggregator",realOriginContractAddress:"SUNNYWgPQmFxe9wTZzNK7iPnJ3vYDrkgnxJRJm1s3ag",realOriginChainId:1,supportsPermit:!0},{name:"Sushi",symbol:"SUSHI",mint:"ChVzxWRmrTeSgwd3Ui3UumcN8KX7VK3WaD4KGeSKpypj",contract:"0x6b3595068778dd592e39a122f4f5a5cf09c90fe2",chainId:1,wChainId:2,decimals:18,logoURI:"https://assets.coingecko.com/coins/images/12271/small/512x512_Logo_no_chop.png?1606986688",coingeckoId:"sushi",realOriginContractAddress:"0x6b3595068778dd592e39a122f4f5a5cf09c90fe2",realOriginChainId:2,supportsPermit:!0},{name:"Sypool (Portal from solana)",symbol:"SYP",mint:"FnKE9n6aGjQoNWRBZXy4RW6LZVao7qwBonUbiD7edUmZ",contract:"0x69512e863D108A82DBD968b2D9A5697AB1eeC666",chainId:1,wChainId:2,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/18518/small/sypool.PNG?1632268218",coingeckoId:"sypool",realOriginContractAddress:"FnKE9n6aGjQoNWRBZXy4RW6LZVao7qwBonUbiD7edUmZ",realOriginChainId:1,supportsPermit:!0},{name:"Tether (Portal from Polygon)",symbol:"USDT",mint:"5goWRao6a3yNC4d6UjMdQxonkCMvKBwdpubU3qhfcdf1",contract:"0x9024B09C1C6D33221F6AeA9571821a2062B88eEf",chainId:1,wChainId:2,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/325/small/Tether.png?1668148663",coingeckoId:"tether",realOriginContractAddress:"0xc2132d05d31c914a87c6611c10748aeb04b58e8f",realOriginChainId:5,supportsPermit:!0},{name:"Tether (Portal from BSC)",symbol:"USDT",mint:"8qJSyQprMC57TWKaYEmetUR3UUiTP2M3hXdcvFhkZdmv",contract:"0xDe60aDfDdAAbaAAC3dAFa57B26AcC91Cb63728c4",chainId:1,wChainId:2,decimals:18,logoURI:"https://assets.coingecko.com/coins/images/325/small/Tether-logo.png?1598003707",coingeckoId:"tether",realOriginContractAddress:"0x55d398326f99059ff775485246999027b3197955",realOriginChainId:4,supportsPermit:!0},{name:"Tether",symbol:"USDT",mint:"Dn4noZ5jgGfkntzcQSUZ8czkreiZ1ForXYoV2H8Dm7S1",contract:"0xdac17f958d2ee523a2206206994597c13d831ec7",chainId:1,wChainId:2,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/325/small/Tether-logo.png?1598003707",coingeckoId:"tether",realOriginContractAddress:"0xdac17f958d2ee523a2206206994597c13d831ec7",realOriginChainId:2,supportsPermit:!1},{name:"Tether (Portal from solana)",symbol:"USDT",mint:"Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB",contract:"0x1CDD2EaB61112697626F7b4bB0e23Da4FeBF7B7C",chainId:1,wChainId:2,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/325/small/Tether-logo.png?1598003707",coingeckoId:"tether",realOriginContractAddress:"Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB",realOriginChainId:1,supportsPermit:!0},{name:"The Sandbox",symbol:"SAND",mint:"49c7WuCZkQgc3M4qH8WuEUNXfgwupZf1xqWkDQ7gjRGt",contract:"0x3845badade8e6dff049820680d1f14bd3903a5d0",chainId:1,wChainId:2,decimals:18,logoURI:"https://assets.coingecko.com/coins/images/12129/small/sandbox_logo.jpg?1597397942",coingeckoId:"the-sandbox",realOriginContractAddress:"0x3845badade8e6dff049820680d1f14bd3903a5d0",realOriginChainId:2,supportsPermit:!1},{name:"Uniswap",symbol:"UNI",mint:"8FU95xFJhUUkyyCLU13HSzDLs7oC4QZdXQHL6SCeab36",contract:"0x1f9840a85d5af5bf1d1762f925bdaddc4201f984",chainId:1,wChainId:2,decimals:18,logoURI:"https://assets.coingecko.com/coins/images/12504/small/uniswap-uni.png?1600306604",coingeckoId:"uniswap",realOriginContractAddress:"0x1f9840a85d5af5bf1d1762f925bdaddc4201f984",realOriginChainId:2,supportsPermit:!0},{name:"Bridged USDC (Portal from Polygon)",symbol:"USDC.e",mint:"E2VmbootbVCBkMNNxKQgCLMS1X3NoGMaYAsufaAsf7M",contract:"0x566957eF80F9fd5526CD2BEF8BE67035C0b81130",chainId:1,wChainId:2,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/6319/small/USD_Coin_icon.png?1547042389",coingeckoId:"usd-coin",realOriginContractAddress:"0x2791bca1f2de4661ed88a30c99a7a9449aa84174",realOriginChainId:5,supportsPermit:!0},{name:"USDC (Portal from Polygon)",symbol:"USDC",mint:"C321jHPwWBzgfSGndosDTp5pBsiXPyMU1irxKLVcedRB",contract:"0xFbcE0f9e92AD1003e893Ba647bC055D845aAa507",chainId:1,wChainId:2,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/6319/small/usdc.png?1696506694",coingeckoId:"usd-coin",realOriginContractAddress:"0x3c499c542cef5e3811e1192ce70d8cc03d5c3359",realOriginChainId:5,supportsPermit:!0},{name:"USD Coin",symbol:"USDC",mint:"A9mUU4qviSctJVPJdBJWkb28deg915LYJKrzQ19ji3FM",contract:"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",chainId:1,wChainId:2,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/6319/small/USD_Coin_icon.png?1547042389",coingeckoId:"usd-coin",realOriginContractAddress:"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",realOriginChainId:2,supportsPermit:!0},{name:"USD Coin (Portal from solana)",symbol:"USDC",mint:"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",contract:"0x41f7B8b9b897276b7AAE926a9016935280b44E97",chainId:1,wChainId:2,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/6319/small/USD_Coin_icon.png?1547042389",coingeckoId:"usd-coin",realOriginContractAddress:"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",realOriginChainId:1,supportsPermit:!0},{name:"Waggle Network (Portal from solana)",symbol:"WAG",mint:"5tN42n9vMi6ubp67Uy4NnmM5DMZYN8aS8GeB3bEDHr6E",contract:"0xa76F832ACf4CcC434929964978BB8747E0dF33BF",chainId:1,wChainId:2,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/18696/small/waggle.PNG?1633750177",coingeckoId:"waggle-network",realOriginContractAddress:"5tN42n9vMi6ubp67Uy4NnmM5DMZYN8aS8GeB3bEDHr6E",realOriginChainId:1,supportsPermit:!0},{name:"Wrapped BNB (Portal from BSC)",symbol:"WBNB",mint:"9gP2kCy3wA1ctvYWQk75guqXuHfrEomqydHLtcTCqiLa",contract:"0x418D75f65a02b3D53B2418FB8E1fe493759c7605",chainId:1,wChainId:2,decimals:18,logoURI:"https://assets.coingecko.com/coins/images/12591/small/binance-coin-logo.png?1600947313",coingeckoId:"wbnb",realOriginContractAddress:"0xbb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c",realOriginChainId:4,supportsPermit:!0},{name:"WETH",symbol:"WETH",mint:"7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs",contract:"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",chainId:1,wChainId:2,decimals:18,logoURI:"https://assets.coingecko.com/coins/images/2518/small/weth.png?1628852295",coingeckoId:"weth",realOriginContractAddress:"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",realOriginChainId:2,supportsPermit:!1},{name:"Wrapped Matic (Portal from Polygon)",symbol:"WMATIC",mint:"Gz7VkD4MacbEB6yC5XD3HcumEiYx2EtDYYrfikGsvopG",contract:"0x7c9f4C87d911613Fe9ca58b579f737911AAD2D43",chainId:1,wChainId:2,decimals:18,logoURI:"https://assets.coingecko.com/coins/images/14073/small/matic.png?1628852392",coingeckoId:"wmatic",realOriginContractAddress:"0x0d500b1d8e8ef31e21c99d1db9a6444d3adf1270",realOriginChainId:5,supportsPermit:!0},{name:"Wrapped AVAX (Portal from Avalanche)",symbol:"WAVAX",mint:"KgV1GvrHQmRBY8sHQQeUKwTm2r2h8t4C8qt12Cw1HVE",contract:"0x85f138bfEE4ef8e540890CFb48F620571d67Eda3",chainId:1,wChainId:2,decimals:18,logoURI:"https://assets.coingecko.com/coins/images/15075/small/wrapped-avax.png?1629873618",coingeckoId:"wrapped-avax",realOriginContractAddress:"0xb31f66aa3c1e785363f0875a1b74e27b85fd66c7",realOriginChainId:6,supportsPermit:!0},{name:"Wrapped Bitcoin (Sollet) (Portal from solana)",symbol:"SOBTC",mint:"9n4nbM75f5Ui33ZbPYXn59EwSgE8CGsHtAeTH5YFeJ9E",contract:"0x1f4e35D4380D91AF30eDca625C8d158019786299",chainId:1,wChainId:2,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/24917/small/opengraph.png?1649344256",coingeckoId:"wrapped-bitcoin-sollet",realOriginContractAddress:"9n4nbM75f5Ui33ZbPYXn59EwSgE8CGsHtAeTH5YFeJ9E",realOriginChainId:1,supportsPermit:!0},{name:"Wrapped Chainlink (Sollet) (Portal from solana)",symbol:"SOLINK",mint:"CWE8jPTUYhdCTZYWPTe1o5DFqfdjzWKc9WKz6rSjQUdG",contract:"0xfEf87D8c2558a8866BA1b90d545Bfe2ec73744FC",chainId:1,wChainId:2,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/24705/small/qvSHhRyC_400x400.jpg?1648646324",coingeckoId:"wrapped-chainlink-sollet",realOriginContractAddress:"CWE8jPTUYhdCTZYWPTe1o5DFqfdjzWKc9WKz6rSjQUdG",realOriginChainId:1,supportsPermit:!0},{name:"Wrapped Ethereum (Sollet) (Portal from solana)",symbol:"SOETH",mint:"2FPyTwcZLUg1MDrwsyoP4D6s1tM7hAkHYRjkNb5w6Pxk",contract:"0x6E4f753D7Fe74eC11A17d0F81c50acAE11bDf68d",chainId:1,wChainId:2,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/24918/small/6250754.png?1649344492",coingeckoId:"wrapped-ethereum-sollet",realOriginContractAddress:"2FPyTwcZLUg1MDrwsyoP4D6s1tM7hAkHYRjkNb5w6Pxk",realOriginChainId:1,supportsPermit:!0},{name:"Wrapped Solana (Portal from solana)",symbol:"wSOL",mint:"So11111111111111111111111111111111111111112",contract:"0xD31a59c85aE9D8edEFeC411D448f90841571b89c",chainId:1,wChainId:2,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/21629/small/solana.jpg?1639626543",coingeckoId:"wrapped-solana",realOriginContractAddress:"So11111111111111111111111111111111111111112",realOriginChainId:1,supportsPermit:!0},{name:"Wrapped USDT (Allbridge from Polygon) (Portal from solana)",symbol:"APUSDT",mint:"DNhZkUaxHXYvpxZ7LNnHtss8sQgdAfd1ZYS1fB7LKWUZ",contract:"0x887FE928645020db1eC4af4Aa922C2327F96F90f",chainId:1,wChainId:2,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/23060/small/logo_-_2022-01-26T084912.902.png?1643158161",coingeckoId:"wrapped-usdt-allbridge-from-polygon",realOriginContractAddress:"DNhZkUaxHXYvpxZ7LNnHtss8sQgdAfd1ZYS1fB7LKWUZ",realOriginChainId:1,supportsPermit:!0},{name:"Zap (Portal from BSC)",symbol:"ZAP",mint:"HxPoEHMt1vKeqjKCePcqTj6yYgn6Xqq1fKTY3Pjx4YrX",contract:"0x98413f1D5B29521E0641d57D05f6eb95523a49Aa",chainId:1,wChainId:2,decimals:18,logoURI:"https://assets.coingecko.com/coins/images/2180/small/zap.png?1547036476",coingeckoId:"zap",realOriginContractAddress:"0xc5326b32e8baef125acd68f8bc646fd646104f1c",realOriginChainId:4,supportsPermit:!0},{name:"WETH (Portal from Optimism)",symbol:"WETH",mint:"8M6d63oL7dvMZ1gNbgGe3h8afMSWJEKEhtPTFM2u8h3c",contract:"0x8B5653Ae095529155462eDa8CF664eD96773F557",chainId:1,wChainId:2,decimals:18,logoURI:"https://assets.coingecko.com/coins/images/2518/small/weth.png?1696503332",coingeckoId:"weth",realOriginContractAddress:"0x4200000000000000000000000000000000000006",realOriginChainId:24,supportsPermit:!0},{name:"USDC (Portal from Optimism)",symbol:"USDC",mint:"J8kcD4Wnd1ehne1dpL8WNtgZQR6Jpui2cTZcrmg5ybAa",contract:"0xe77C99b64414e0fd9aeEA48AFFBBD2E97A895020",chainId:1,wChainId:2,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/6319/small/usdc.png?1696506694",coingeckoId:"usd-coin",realOriginContractAddress:"0x0b2c639c533813f4aa9d7837caf62653d097ff85",realOriginChainId:24,supportsPermit:!0},{name:"Bridged USDC (Optimism) (Portal from Optimism)",symbol:"USDC.E",mint:"D6YyAUMTJipLQfUhYs6psdnwpmMz6KbM4Qs9AtCmPpxR",contract:"0x3E7570058930728e03B798673Ae2a43fdc209758",chainId:1,wChainId:2,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/31580/small/USDC-icon.png?1696530397",coingeckoId:"bridged-usd-coin-optimism",realOriginContractAddress:"0x7f5c764cbc14f9669b88837ca1490cca17c31607",realOriginChainId:24,supportsPermit:!0},{name:"Tether (Portal from Optimism)",symbol:"USDT",mint:"CLV6gB88nQtnuo3akGLSVRFaiFPTXaBXV4EDaFxV7iRq",contract:"0x6253993E8f980f94d0E9bB7Cb2095953c062cc83",chainId:1,wChainId:2,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/325/small/Tether.png?1696501661",coingeckoId:"tether",realOriginContractAddress:"0x94b008aa00579c1307b0ef2c499ad98a8ce58e58",realOriginChainId:24,supportsPermit:!0},{name:"SPX6900",symbol:"SPX",mint:"J3NKxxXZcnNiMjKw9hYb2K4LUxgwB6t1FtPtQVsv3KFr",contract:"0xe0f63a424a4439cbe457d80e4f4b51ad25b2c56c",chainId:1,wChainId:2,decimals:8,logoURI:"https://assets.coingecko.com/coins/images/31401/small/sticker_%281%29.jpg?1702371083",coingeckoId:"spx6900",realOriginContractAddress:"0xe0f63a424a4439cbe457d80e4f4b51ad25b2c56c",realOriginChainId:2}],base=[{name:"ETH",symbol:"ETH",mint:"",contract:"0x0000000000000000000000000000000000000000",wrappedAddress:"0x4200000000000000000000000000000000000006",chainId:8453,wChainId:30,decimals:18,logoURI:"https://statics.mayan.finance/eth.png",coingeckoId:"weth",realOriginContractAddress:"0x4200000000000000000000000000000000000006",realOriginChainId:30,supportsPermit:!1},{name:"WETH",symbol:"WETH",mint:"DWXe1hxpnb8LAH21iyXcjvMbiAGzoYyuCVQtRLvZdLYd",contract:"0x4200000000000000000000000000000000000006",chainId:8453,wChainId:30,decimals:18,logoURI:"https://assets.coingecko.com/coins/images/2518/small/weth.png?1696503332",coingeckoId:"weth",realOriginContractAddress:"0x4200000000000000000000000000000000000006",realOriginChainId:30,supportsPermit:!1},{name:"USDC",symbol:"USDC",mint:"EfqRM8ZGWhDTKJ7BHmFvNagKVu3AxQRDQs8WMMaoBCu6",contract:"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",chainId:8453,wChainId:30,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/6319/small/usdc.png?1696506694",coingeckoId:"usd-coin",realOriginContractAddress:"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",realOriginChainId:30,supportsPermit:!0},{name:"SPX6900 (Portal from Ethereum)",symbol:"SPX",mint:"J3NKxxXZcnNiMjKw9hYb2K4LUxgwB6t1FtPtQVsv3KFr",contract:"0x50dA645f148798F68EF2d7dB7C1CB22A6819bb2C",chainId:8453,wChainId:30,decimals:8,logoURI:"https://assets.coingecko.com/coins/images/31401/small/sticker_%281%29.jpg?1702371083",coingeckoId:"spx6900",realOriginContractAddress:"0xe0f63a424a4439cbe457d80e4f4b51ad25b2c56c",realOriginChainId:2}],aptos=[{name:"APT",symbol:"APT",mint:"6LNeTYMqtNm1pBFN8PfhQaoLyegAH8GD32WmHU9erXKN",contract:"0x1::aptos_coin::AptosCoin",chainId:1998,wChainId:22,decimals:8,logoURI:"https://statics.mayan.finance/aptos.png",coingeckoId:"aptos",realOriginContractAddress:"0x1::aptos_coin::AptosCoin",realOriginChainId:22,supportsPermit:!0}],polygon=[{name:"Matic",symbol:"MATIC",mint:"Gz7VkD4MacbEB6yC5XD3HcumEiYx2EtDYYrfikGsvopG",contract:"0x0000000000000000000000000000000000000000",chainId:137,wChainId:5,decimals:18,logoURI:"https://statics.mayan.finance/polygon.png",wrappedAddress:"0x0d500b1d8e8ef31e21c99d1db9a6444d3adf1270",coingeckoId:"wmatic",realOriginContractAddress:"0x0d500b1d8e8ef31e21c99d1db9a6444d3adf1270",realOriginChainId:5,supportsPermit:!1},{name:"Wrapped Bitcoin (Portal from Ethereum)",symbol:"WBTC",mint:"3NZ9JMVBmGAqocybic2c7LQCJScmgsAZ6vQqTDzcqmJh",contract:"0x5D49c278340655B56609FdF8976eb0612aF3a0C3",chainId:137,wChainId:5,decimals:8,logoURI:"https://assets.coingecko.com/coins/images/7598/small/wrapped_bitcoin_wbtc.png?1548822744",coingeckoId:"wrapped-bitcoin",realOriginContractAddress:"0x2260fac5e5542a773aa44fbcfedf7c193bc2c599",realOriginChainId:2,supportsPermit:!0},{name:"WETH (Portal from Arbitrum)",symbol:"WETH",mint:"CSD6JQMvLi46psjHdpfFdr826mF336pEVMJgjwcoS1m4",contract:"0x6a5c59AB16268d2c872916054C50440B999e417C",chainId:137,wChainId:5,decimals:18,logoURI:"https://assets.coingecko.com/coins/images/2518/small/weth.png?1628852295",coingeckoId:"weth",realOriginContractAddress:"0x82af49447d8a07e3bd95bd0d56f35241523fbab1",realOriginChainId:23,supportsPermit:!0},{name:"Tether (Portal from Arbitrum)",symbol:"USDT",mint:"H9o3LaDfoMSVLm9aBWaY56eMmPGDbRFnUHpqcTb9exXB",contract:"0x6df9e1d2502E0a370Ef5f7b1f541505D100e59b5",chainId:137,wChainId:5,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/325/small/Tether.png?1668148663",coingeckoId:"tether",realOriginContractAddress:"0xfd086bc7cd5c481dcc9c85ebe478a1c0b69fcbb9",realOriginChainId:23,supportsPermit:!0},{name:"USD Coin (Arb1)(Portal from Arbitrum)",symbol:"USDC.e",mint:"HAxCJjnmgkdXhwZYeJiUvBgm4NdQvqhGJCS3KxCnCxWs",contract:"0x79f848D0257f20051aFe82B292Ef7707dA942823",chainId:137,wChainId:5,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/6319/small/USD_Coin_icon.png?1547042389",coingeckoId:"usd-coin",realOriginContractAddress:"0xff970a61a04b1ca14834a43f5de4533ebddb5cc8",realOriginChainId:23,supportsPermit:!0},{name:"USD Coin (Portal from Avalanche)",symbol:"USDC",mint:"FHfba3ov5P3RjaiLVgh8FTv4oirxQDoVXuoUUDvHuXax",contract:"0xAEA5CC14DefbC1b845FDE729E563B717Ee6825ae",chainId:137,wChainId:5,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/6319/small/USD_Coin_icon.png?1547042389",coingeckoId:"usd-coin",realOriginContractAddress:"0xb97ef9ef8734c71904d8002f8b6bc66dd9c48a6e",realOriginChainId:6,supportsPermit:!0},{name:"Tether (Portal from Avalanche)",symbol:"USDT",mint:"Kz1csQA91WUGcQ2TB3o5kdGmWmMGp8eJcDEyHzNDVCX",contract:"0x32279A16358B5B1EfE1b3412d3aab9CFEbC54B4d",chainId:137,wChainId:5,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/325/small/Tether.png?1668148663",coingeckoId:"tether",realOriginContractAddress:"0x9702230a8ea53601f5cd2dc00fdbc13d4df4a8c7",realOriginChainId:6,supportsPermit:!0},{name:"USD Coin (Portal from BSC)",symbol:"USDC",mint:"FCqfQSujuPxy6V42UvafBhsysWtEq1vhjfMN1PUbgaxA",contract:"0x4B3a922c773BDCF3BA8f1A4FDAc2029E1D0E9868",chainId:137,wChainId:5,decimals:18,logoURI:"https://assets.coingecko.com/coins/images/6319/small/USD_Coin_icon.png?1547042389",coingeckoId:"usd-coin",realOriginContractAddress:"0x8ac76a51cc950d9822d68b83fe1ad97b32cd580d",realOriginChainId:4,supportsPermit:!0},{name:"Dai (Portal from Ethereum)",symbol:"DAI",mint:"EjmyN6qEC1Tf1JxiG1ae7UTJhUxSwk1TCWNWqxWV4J6o",contract:"0x732EB1747ecCFC431fF19bc359ffc83755B1918c",chainId:137,wChainId:5,decimals:18,logoURI:"https://assets.coingecko.com/coins/images/9956/small/4943.png?1636636734",coingeckoId:"dai",realOriginContractAddress:"0x6b175474e89094c44da98b954eedeac495271d0f",realOriginChainId:2,supportsPermit:!1},{name:"agEUR (Portal from Ethereum)",symbol:"AGEUR",mint:"CbNYA9n3927uXUukee2Hf4tm3xxkffJPPZvGazc2EAH1",contract:"0xE1cB9e87d8c3FD0ef592B175A64d40F9E7cc2C07",chainId:137,wChainId:5,decimals:18,logoURI:"https://assets.coingecko.com/coins/images/19479/small/agEUR.png?1635283566",coingeckoId:"ageur",realOriginContractAddress:"0x1a7e4e63778b4f12a199c062f3efdd288afcbce8",realOriginChainId:2,supportsPermit:!0},{name:"Apricot (Portal from solana)",symbol:"APRT",mint:"APTtJyaRX5yGTsJU522N4VYWg3vCvSb65eam5GrPT5Rt",contract:"0xcaE44951d8CBFaADa09591f2aE2f9B6D3f5E0a19",chainId:137,wChainId:5,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/20636/small/hF_3FMuH_400x400.jpg?1637399870",coingeckoId:"apricot",realOriginContractAddress:"APTtJyaRX5yGTsJU522N4VYWg3vCvSb65eam5GrPT5Rt",realOriginChainId:1,supportsPermit:!0},{name:"Atlas DEX (Portal from solana)",symbol:"ATS",mint:"HJbNXx2YMRxgfUJ6K4qeWtjatMK5KYQT1QnsCdDWywNv",contract:"0xe4C9bb18E6AF3B43c232BB51B1FD357D9f2cc0d7",chainId:137,wChainId:5,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/23002/small/logo.png?1643091340",coingeckoId:"atlas-dex",realOriginContractAddress:"HJbNXx2YMRxgfUJ6K4qeWtjatMK5KYQT1QnsCdDWywNv",realOriginChainId:1,supportsPermit:!0},{name:"Audius (Portal from Ethereum)",symbol:"AUDIO",mint:"9LzCMqDgTKYz9Drzqnpgee3SGa89up3a247ypMj2xrqM",contract:"0x0D9C58a7D3106C0Af682B61579D9484f99dab901",chainId:137,wChainId:5,decimals:18,logoURI:"https://assets.coingecko.com/coins/images/12913/small/AudiusCoinLogo_2x.png?1603425727",coingeckoId:"audius",realOriginContractAddress:"0x18aaa7115705e8be94bffebde57af9bfc265b998",realOriginChainId:2,supportsPermit:!0},{name:"Aurory (Portal from solana)",symbol:"AURY",mint:"AURYydfxJib1ZkTir1Jn1J9ECYUtjb6rKQVmtYaixWPP",contract:"0x6E8aaF74cB7454C9103848861E47f67A8aa5Db65",chainId:137,wChainId:5,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/19324/small/Ico_Blanc.png?1672824647",coingeckoId:"aurory",realOriginContractAddress:"AURYydfxJib1ZkTir1Jn1J9ECYUtjb6rKQVmtYaixWPP",realOriginChainId:1,supportsPermit:!0},{name:"Axie Infinity (Portal from Ethereum)",symbol:"AXS",mint:"HysWcbHiYY9888pHbaqhwLYZQeZrcQMXKQWRqS7zcPK5",contract:"0x224AB8aC8a181F92Af6122Aa8774F4500ea58D66",chainId:137,wChainId:5,decimals:18,logoURI:"https://assets.coingecko.com/coins/images/13029/small/axie_infinity_logo.png?1604471082",coingeckoId:"axie-infinity",realOriginContractAddress:"0xbb0e17ef65f82ab018d8edd776e8dd940327b28b",realOriginChainId:2,supportsPermit:!0},{name:"BiLira (Portal from solana)",symbol:"TRYB",mint:"A94X2fRy3wydNShU4dRaDyap2UuoeWJGWyATtyp61WZf",contract:"0x26ff5291bbBB453adaD1Eb808ABC4CF40D53336D",chainId:137,wChainId:5,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/10119/small/JBs9jiXO_400x400.jpg?1642668342",coingeckoId:"bilira",realOriginContractAddress:"A94X2fRy3wydNShU4dRaDyap2UuoeWJGWyATtyp61WZf",realOriginChainId:1,supportsPermit:!0},{name:"Binance USD (Portal from BSC)",symbol:"BUSD",mint:"5RpUwQ8wtdPCZHhu6MERp2RGrpobsbZ6MH5dDHkUjs2",contract:"0xA8D394fE7380b8cE6145d5f85E6aC22d4E91ACDe",chainId:137,wChainId:5,decimals:18,logoURI:"https://assets.coingecko.com/coins/images/9576/small/BUSD.png?1568947766",coingeckoId:"binance-usd",realOriginContractAddress:"0xe9e7cea3dedca5984780bafc599bd69add087d56",realOriginChainId:4,supportsPermit:!0},{name:"Bonfida (Portal from solana)",symbol:"FIDA",mint:"EchesyfXePKdLtoiZSL8pBe8Myagyy8ZRqsACNCFGnvp",contract:"0xb83218520B9515C645c09953235C20936beEfB42",chainId:137,wChainId:5,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/13395/small/bonfida.png?1658327819",coingeckoId:"bonfida",realOriginContractAddress:"EchesyfXePKdLtoiZSL8pBe8Myagyy8ZRqsACNCFGnvp",realOriginChainId:1,supportsPermit:!0},{name:"Brazilian Digital (Portal from solana)",symbol:"BRZ",mint:"FtgGSFADXBtroxq8VCausXRr2of47QBf5AS1NtZCu4GD",contract:"0x6c060CE95131427550201cB296fb09F3A52150D0",chainId:137,wChainId:5,decimals:4,logoURI:"https://assets.coingecko.com/coins/images/8472/small/2_vtiD3xwce9knG2COxtSMaQ.png?1597786961",coingeckoId:"brz",realOriginContractAddress:"FtgGSFADXBtroxq8VCausXRr2of47QBf5AS1NtZCu4GD",realOriginChainId:1,supportsPermit:!0},{name:"Celsius Network (Portal from Ethereum)",symbol:"CEL",mint:"nRtfwU9G82CSHhHGJNxFhtn7FLvWP2rqvQvje1WtL69",contract:"0x83abfFf35499F5Df8423a227465F4C62eD1Ccdcf",chainId:137,wChainId:5,decimals:4,logoURI:"https://assets.coingecko.com/coins/images/3263/small/CEL_logo.png?1609598753",coingeckoId:"celsius-degree-token",realOriginContractAddress:"0xaaaebe6fe48e54f431b0c390cfaf0b017d09d42d",realOriginChainId:2,supportsPermit:!0},{name:"Chainlink (Portal from Ethereum)",symbol:"LINK",mint:"2wpTofQ8SkACrkZWrZDjXPitYa8AwWgX8AfxdeBRRVLX",contract:"0xD7a2F809198b872196bfC43A248e067e0Cf3Fb88",chainId:137,wChainId:5,decimals:18,logoURI:"https://assets.coingecko.com/coins/images/877/small/chainlink-new-logo.png?1547034700",coingeckoId:"chainlink",realOriginContractAddress:"0x514910771af9ca656af840dff83e8264ecf986ca",realOriginChainId:2,supportsPermit:!0},{name:"Cheems (Portal from solana)",symbol:"CHEEMS",mint:"3FoUAsGDbvTD6YZ4wVKJgTB76onJUKz7GPEBNiR5b8wc",contract:"0x5561683aB5aAd562c338dA0DF64A7B768772b37f",chainId:137,wChainId:5,decimals:4,logoURI:"https://assets.coingecko.com/coins/images/18358/small/newlogo.png?1644476666",coingeckoId:"cheems",realOriginContractAddress:"3FoUAsGDbvTD6YZ4wVKJgTB76onJUKz7GPEBNiR5b8wc",realOriginChainId:1,supportsPermit:!0},{name:"ClinTex CTi (Portal from Ethereum)",symbol:"CTI",mint:"9ET2QCQJdFkeKkuaampNbmicbA8eLYauFCWch9Ddh9p5",contract:"0x03C2F6808502fFD4aB2787aD1A98eC13dbD5718b",chainId:137,wChainId:5,decimals:18,logoURI:"https://assets.coingecko.com/coins/images/13266/small/CTI.png?1606817542",coingeckoId:"clintex-cti",realOriginContractAddress:"0xcb8fb2438a805664cd8c3e640b85ac473da5be87",realOriginChainId:2,supportsPermit:!0},{name:"Cryowar (Portal from solana)",symbol:"CWAR",mint:"HfYFjMKNZygfMC8LsQ8LtpPsPxEJoXJx4M6tqi75Hajo",contract:"0x56726266D820Ecf8130CE5fb41f8693000193838",chainId:137,wChainId:5,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/20227/small/CWAR_round_200_200.png?1636689418",coingeckoId:"cryowar-token",realOriginContractAddress:"HfYFjMKNZygfMC8LsQ8LtpPsPxEJoXJx4M6tqi75Hajo",realOriginChainId:1,supportsPermit:!0},{name:"Decentraland (Portal from Ethereum)",symbol:"MANA",mint:"7dgHoN8wBZCc5wbnQ2C47TDnBMAxG4Q5L3KjP67z8kNi",contract:"0x1eA5147ca7640798d84194A30E8E58BFBfAFd4dc",chainId:137,wChainId:5,decimals:18,logoURI:"https://assets.coingecko.com/coins/images/878/small/decentraland-mana.png?1550108745",coingeckoId:"decentraland",realOriginContractAddress:"0x0f5d2fb29fb7d3cfee444a200298f468908cc942",realOriginChainId:2,supportsPermit:!0},{name:"FLOOF (Portal from solana)",symbol:"FLOOF",mint:"3jzdrXXKxwkBk82u2eCWASZLCKoZs1LQTg87HBEAmBJw",contract:"0x79311dE967845458Aa3bA8d6Df442fD34746144d",chainId:137,wChainId:5,decimals:1,logoURI:"https://assets.coingecko.com/coins/images/19810/small/FLOOF_logo_200x200.png?1635917291",coingeckoId:"floof",realOriginContractAddress:"3jzdrXXKxwkBk82u2eCWASZLCKoZs1LQTg87HBEAmBJw",realOriginChainId:1,supportsPermit:!0},{name:"Frax (Portal from Ethereum)",symbol:"FRAX",mint:"FR87nWEUxVgerFGhZM8Y4AggKGLnaXswr1Pd8wZ4kZcp",contract:"0xE8CF1d35d4C7DF33eaa8aCAC3A2773B4bc9517C7",chainId:137,wChainId:5,decimals:18,logoURI:"https://assets.coingecko.com/coins/images/13422/small/ethCanonicalFRAX.png?1669277108",coingeckoId:"frax",realOriginContractAddress:"0x853d955acef822db058eb8505911ed77f175b99e",realOriginChainId:2,supportsPermit:!0},{name:"GenesysGo Shadow (Portal from solana)",symbol:"SHDW",mint:"SHDWyBxihqiCj6YekG2GUr7wqKLeLAMK1gHZck9pL6y",contract:"0xfEF4ab6138Aa1D978ff280DA27f0133958E59278",chainId:137,wChainId:5,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/22271/small/logo_-_2022-01-05T083602.373.png?1641342974",coingeckoId:"genesysgo-shadow",realOriginContractAddress:"SHDWyBxihqiCj6YekG2GUr7wqKLeLAMK1gHZck9pL6y",realOriginChainId:1,supportsPermit:!0},{name:"Genopets (Portal from solana)",symbol:"GENE",mint:"GENEtH5amGSi8kHAtQoezp1XEXwZJ8vcuePYnXdKrMYz",contract:"0xb6846dbcB48CD57d2FA07AC0A12690FFd7ED530E",chainId:137,wChainId:5,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/20360/small/gene-token.png?1636945172",coingeckoId:"genopets",realOriginContractAddress:"GENEtH5amGSi8kHAtQoezp1XEXwZJ8vcuePYnXdKrMYz",realOriginChainId:1,supportsPermit:!0},{name:"Grape Protocol (Portal from solana)",symbol:"GRAPE",mint:"8upjSpvjcdpuzhfR1zriwg5NXkwDruejqNE9WNbPRtyA",contract:"0x690c67BB22034A361Ef9533BAa8d0448Fa21394B",chainId:137,wChainId:5,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/18149/small/fRsuAlcV_400x400.png?1632437325",coingeckoId:"grape-2",realOriginContractAddress:"8upjSpvjcdpuzhfR1zriwg5NXkwDruejqNE9WNbPRtyA",realOriginChainId:1,supportsPermit:!0},{name:"Keeshond (Portal from solana)",symbol:"$KSH",mint:"6j14WyX1Ag2pLWvn99euK4xp2VcZD62VeJv2iwCrYmT8",contract:"0x664302BcB730f88498EB9D41c145400A048a224B",chainId:137,wChainId:5,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/21353/small/lkdYjrVS_400x400.jpg?1638999576",coingeckoId:"keeshond",realOriginContractAddress:"6j14WyX1Ag2pLWvn99euK4xp2VcZD62VeJv2iwCrYmT8",realOriginChainId:1,supportsPermit:!0},{name:"Kin (Portal from solana)",symbol:"KIN",mint:"kinXdEcpDQeHPEuQnqmUgtYykqKGVFq6CeVX5iAHJq6",contract:"0xae20bC21D17fAfB945551D4Fd15bf4f136e106F7",chainId:137,wChainId:5,decimals:5,logoURI:"https://assets.coingecko.com/coins/images/959/small/kin.png?1586917032",coingeckoId:"kin",realOriginContractAddress:"kinXdEcpDQeHPEuQnqmUgtYykqKGVFq6CeVX5iAHJq6",realOriginChainId:1,supportsPermit:!0},{name:"Lido DAO (Portal from Ethereum)",symbol:"LDO",mint:"HZRCwxP2Vq9PCpPXooayhJ2bxTpo5xfpQrwB1svh332p",contract:"0x2CA4c4425ba34dE0C944aA02210fcc629d5E4832",chainId:137,wChainId:5,decimals:18,logoURI:"https://assets.coingecko.com/coins/images/13573/small/Lido_DAO.png?1609873644",coingeckoId:"lido-dao",realOriginContractAddress:"0x5a98fcbea516cf06857215779fd812ca3bef1b32",realOriginChainId:2,supportsPermit:!0},{name:"Mango (Portal from solana)",symbol:"MNGO",mint:"MangoCzJ36AjZyKwVj3VnYU4GTonjfVEnJmvvWaxLac",contract:"0x214c9481D1c8b6461859E308f04aC83F4C07657a",chainId:137,wChainId:5,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/14773/small/token-mango.png?1628171237",coingeckoId:"mango-markets",realOriginContractAddress:"MangoCzJ36AjZyKwVj3VnYU4GTonjfVEnJmvvWaxLac",realOriginChainId:1,supportsPermit:!0},{name:"Marinade (Portal from solana)",symbol:"MNDE",mint:"MNDEFzGvMt87ueuHvVU9VcTqsAP5b3fTGPsHuuPA5ey",contract:"0x4e64D8B044a8b126038ECE729b17D8102Af763af",chainId:137,wChainId:5,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/18867/small/MNDE.png?1643187748",coingeckoId:"marinade",realOriginContractAddress:"MNDEFzGvMt87ueuHvVU9VcTqsAP5b3fTGPsHuuPA5ey",realOriginChainId:1,supportsPermit:!0},{name:"Meanfi (Portal from solana)",symbol:"MEAN",mint:"MEANeD3XDdUmNMsRGjASkSWdC8prLYsoRJ61pPeHctD",contract:"0x4867B60aD7C6aDc98653f661f1AEA31740986bA5",chainId:137,wChainId:5,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/21557/small/89934951.png?1639466364",coingeckoId:"meanfi",realOriginContractAddress:"MEANeD3XDdUmNMsRGjASkSWdC8prLYsoRJ61pPeHctD",realOriginChainId:1,supportsPermit:!0},{name:"MAI (Portal from solana)",symbol:"MIMATIC",mint:"9mWRABuz2x6koTPCWiCPM49WUbcrNqGTHBV9T9k7y1o7",contract:"0x8DD58c5a51E0e4aC3701119facF4b300eA412bE5",chainId:137,wChainId:5,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/15264/small/mimatic-red.png?1620281018",coingeckoId:"mimatic",realOriginContractAddress:"9mWRABuz2x6koTPCWiCPM49WUbcrNqGTHBV9T9k7y1o7",realOriginChainId:1,supportsPermit:!0},{name:"Marinade staked SOL (Portal from solana)",symbol:"MSOL",mint:"mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So",contract:"0xc60AF012b3106a2A0Ab9d3bf7dFF0E0e19886B48",chainId:137,wChainId:5,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/17752/small/mSOL.png?1644541955",coingeckoId:"msol",realOriginContractAddress:"mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So",realOriginChainId:1,supportsPermit:!0},{name:"Orca (Portal from solana)",symbol:"ORCA",mint:"orcaEKTdK7LKz57vaAYr9QeNsVEPfiu6QeMU1kektZE",contract:"0x276CFEe75f638B4405D1cF5f871092eFA70a0C6A",chainId:137,wChainId:5,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/17547/small/Orca_Logo.png?1628781615",coingeckoId:"orca",realOriginContractAddress:"orcaEKTdK7LKz57vaAYr9QeNsVEPfiu6QeMU1kektZE",realOriginChainId:1,supportsPermit:!0},{name:"Parasol Finance (Portal from solana)",symbol:"PSOL",mint:"Hmatmu1ktLbobSvim94mfpZmjL5iiyoM1zidtXJRAdLZ",contract:"0x2e0ab46E86886D2D2d7Cd99Abb21e07dDE2029e5",chainId:137,wChainId:5,decimals:7,logoURI:"https://assets.coingecko.com/coins/images/21551/small/icon.png?1642584584",coingeckoId:"parasol-finance",realOriginContractAddress:"Hmatmu1ktLbobSvim94mfpZmjL5iiyoM1zidtXJRAdLZ",realOriginChainId:1,supportsPermit:!0},{name:"Parrot Protocol (Portal from solana)",symbol:"PRT",mint:"PRT88RkA4Kg5z7pKnezeNH4mafTvtQdfFgpQTGRjz44",contract:"0x096831535ddEdBbD6F67157d203895F1e76cf4DC",chainId:137,wChainId:5,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/18443/small/PRT.png?1634698095",coingeckoId:"parrot-protocol",realOriginContractAddress:"PRT88RkA4Kg5z7pKnezeNH4mafTvtQdfFgpQTGRjz44",realOriginChainId:1,supportsPermit:!0},{name:"Parrot USD (Portal from solana)",symbol:"PAI",mint:"Ea5SjE2Y6yvCeW5dYTn7PYMuW5ikXkvbGdcmSnXeaLjS",contract:"0x02D64Db0625B705fAf21FCe9fFb2dCa79567AB22",chainId:137,wChainId:5,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/18439/small/pai.png?1632004568",coingeckoId:"parrot-usd",realOriginContractAddress:"Ea5SjE2Y6yvCeW5dYTn7PYMuW5ikXkvbGdcmSnXeaLjS",realOriginChainId:1,supportsPermit:!0},{name:"Ratio Stable Coin (Portal from solana)",symbol:"USDR",mint:"USDrbBQwQbQ2oWHUPfA8QBHcyVxKUq1xHyXsSLKdUq2",contract:"0xD9Ad3adCFdC34A2EA7C837a6384808375cEa00aA",chainId:137,wChainId:5,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/26066/small/usdr_logo.png?1655469254",coingeckoId:"ratio-stable-coin",realOriginContractAddress:"USDrbBQwQbQ2oWHUPfA8QBHcyVxKUq1xHyXsSLKdUq2",realOriginChainId:1,supportsPermit:!0},{name:"Raydium (Portal from solana)",symbol:"RAY",mint:"4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R",contract:"0x5D0D8D062eb1F0971385BAE419BC5cf745cD10b0",chainId:137,wChainId:5,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/13928/small/PSigc4ie_400x400.jpg?1612875614",coingeckoId:"raydium",realOriginContractAddress:"4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R",realOriginChainId:1,supportsPermit:!0},{name:"Rollbit Coin (Portal from solana)",symbol:"RLB",mint:"RLBxxFkseAZ4RgJH3Sqn8jXxhmGoz9jWxDNJMh8pL7a",contract:"0x2a28bf1789Ec27B312030B8aE16E50192a9A75ef",chainId:137,wChainId:5,decimals:2,logoURI:"https://assets.coingecko.com/coins/images/24552/small/unziL6wO_400x400.jpg?1648134494",coingeckoId:"rollbit-coin",realOriginContractAddress:"RLBxxFkseAZ4RgJH3Sqn8jXxhmGoz9jWxDNJMh8pL7a",realOriginChainId:1,supportsPermit:!0},{name:"Saber (Portal from solana)",symbol:"SBR",mint:"Saber2gLauYim4Mvftnrasomsv6NvAuncvMEZwcLpD1",contract:"0x7686E89BC3d657AB23eECC712c8c79548971eb23",chainId:137,wChainId:5,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/17162/small/oYs_YFz8_400x400.jpg?1626678457",coingeckoId:"saber",realOriginContractAddress:"Saber2gLauYim4Mvftnrasomsv6NvAuncvMEZwcLpD1",realOriginChainId:1,supportsPermit:!0},{name:"SAIL (Portal from solana)",symbol:"SAIL",mint:"6kwTqmdQkJd8qRr9RjSnUX9XJ24RmJRSrU1rsragP97Y",contract:"0x7f21eDd7268F63c61ECc8E59C2D7b3E7d6ed215C",chainId:137,wChainId:5,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/16657/small/SAIL.png?1624608515",coingeckoId:"sail",realOriginContractAddress:"6kwTqmdQkJd8qRr9RjSnUX9XJ24RmJRSrU1rsragP97Y",realOriginChainId:1,supportsPermit:!0},{name:"Serum (Portal from solana)",symbol:"SRM",mint:"SRMuApVNdxXokk5GT7XD5cUUgXMBCoAz2LHeuAoKWRt",contract:"0x0BDc7767Be68cfBECFC9a90cDc7D0c1C8d215D08",chainId:137,wChainId:5,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/11970/small/serum-logo.png?1597121577",coingeckoId:"serum",realOriginContractAddress:"SRMuApVNdxXokk5GT7XD5cUUgXMBCoAz2LHeuAoKWRt",realOriginChainId:1,supportsPermit:!0},{name:"Shibalana (Portal from solana)",symbol:"SHIBA",mint:"Dhg9XnzJWzSQqH2aAnhPTEJHGQAkALDfD98MA499A7pa",contract:"0xbcDBE9DEe98FcCCb52f0429CEDf5192FD0Dfd481",chainId:137,wChainId:5,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/20003/small/output-onlinepngtools_%2810%29.png?1636364960",coingeckoId:"shibalana",realOriginContractAddress:"Dhg9XnzJWzSQqH2aAnhPTEJHGQAkALDfD98MA499A7pa",realOriginChainId:1,supportsPermit:!0},{name:"Solareum Wallet (Portal from solana)",symbol:"XSB",mint:"4UuGQgkD3rSeoXatXRWwRfRd21G87d5LiCfkVzNNv1Tt",contract:"0x2d3701F4BFe603CdC3846199Adc225aa9EefEBd7",chainId:137,wChainId:5,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/20958/small/xsb-200.png?1638141904",coingeckoId:"solareum-wallet",realOriginContractAddress:"4UuGQgkD3rSeoXatXRWwRfRd21G87d5LiCfkVzNNv1Tt",realOriginChainId:1,supportsPermit:!0},{name:"SolRazr (Portal from solana)",symbol:"SOLR",mint:"7j7H7sgsnNDeCngAPjpaCN4aaaru4HS7NAFYSEUyzJ3k",contract:"0x74D88adc13A82e3339de9BE5854C3b20c0c2DB49",chainId:137,wChainId:5,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/18390/small/Sol-Razr-Logo-TICKER.png?1631759669",coingeckoId:"solrazr",realOriginContractAddress:"7j7H7sgsnNDeCngAPjpaCN4aaaru4HS7NAFYSEUyzJ3k",realOriginChainId:1,supportsPermit:!0},{name:"Star Atlas (Portal from solana)",symbol:"ATLAS",mint:"ATLASXmbPQxBUYbxPsV97usA3fPQYEqzQBUHgiFCUsXx",contract:"0xCEf3fAe648270E1d064922283dC26f2e25D8d77f",chainId:137,wChainId:5,decimals:8,logoURI:"https://assets.coingecko.com/coins/images/17659/small/Icon_Reverse.png?1628759092",coingeckoId:"star-atlas",realOriginContractAddress:"ATLASXmbPQxBUYbxPsV97usA3fPQYEqzQBUHgiFCUsXx",realOriginChainId:1,supportsPermit:!0},{name:"STEPN (Portal from solana)",symbol:"GMT",mint:"7i5KKsX2weiTkry7jA4ZwSuXGhs5eJBEjY8vVxR4pfRx",contract:"0xcb325908359b4BbE2d81868C20A77eD70ACF5067",chainId:137,wChainId:5,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/23597/small/gmt.png?1644658792",coingeckoId:"stepn",realOriginContractAddress:"7i5KKsX2weiTkry7jA4ZwSuXGhs5eJBEjY8vVxR4pfRx",realOriginChainId:1,supportsPermit:!0},{name:"Sunny Aggregator (Portal from solana)",symbol:"SUNNY",mint:"SUNNYWgPQmFxe9wTZzNK7iPnJ3vYDrkgnxJRJm1s3ag",contract:"0x953B6Ea09b77F0B45498B6a5Ead26157628942c0",chainId:137,wChainId:5,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/18039/small/90dbe787-8e5f-473c-b923-fe138a7a30ea.png?1630314924",coingeckoId:"sunny-aggregator",realOriginContractAddress:"SUNNYWgPQmFxe9wTZzNK7iPnJ3vYDrkgnxJRJm1s3ag",realOriginChainId:1,supportsPermit:!0},{name:"Sushi (Portal from Ethereum)",symbol:"SUSHI",mint:"ChVzxWRmrTeSgwd3Ui3UumcN8KX7VK3WaD4KGeSKpypj",contract:"0x39ecFC5941DfB0BF9FEde32BA1a8a2a36B0b9d7b",chainId:137,wChainId:5,decimals:18,logoURI:"https://assets.coingecko.com/coins/images/12271/small/512x512_Logo_no_chop.png?1606986688",coingeckoId:"sushi",realOriginContractAddress:"0x6b3595068778dd592e39a122f4f5a5cf09c90fe2",realOriginChainId:2,supportsPermit:!0},{name:"Swole Doge (Portal from solana)",symbol:"SWOLE",mint:"4BzxVoBQzwKoqm1dQc78r42Yby3EzAeZmMiYFdCjeu5Z",contract:"0x1B0f10F7baDa9aC10B7343fAF3bB1A7732761620",chainId:137,wChainId:5,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/19643/small/swole.png?1635853067",coingeckoId:"swole-doge",realOriginContractAddress:"4BzxVoBQzwKoqm1dQc78r42Yby3EzAeZmMiYFdCjeu5Z",realOriginChainId:1,supportsPermit:!0},{name:"Synthetify (Portal from solana)",symbol:"SNY",mint:"4dmKkXNHdgYsXqBHCuMikNQWwVomZURhYvkkX5c4pQ7y",contract:"0x02836036380e9613BC9a1992Fff9e17bd9f5a982",chainId:137,wChainId:5,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/14835/small/synthetify_token.png?1618611507",coingeckoId:"synthetify-token",realOriginContractAddress:"4dmKkXNHdgYsXqBHCuMikNQWwVomZURhYvkkX5c4pQ7y",realOriginChainId:1,supportsPermit:!0},{name:"Tether",symbol:"USDT",mint:"5goWRao6a3yNC4d6UjMdQxonkCMvKBwdpubU3qhfcdf1",contract:"0xc2132d05d31c914a87c6611c10748aeb04b58e8f",chainId:137,wChainId:5,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/325/small/Tether.png?1668148663",coingeckoId:"tether",realOriginContractAddress:"0xc2132d05d31c914a87c6611c10748aeb04b58e8f",realOriginChainId:5,supportsPermit:!1},{name:"Tether (Portal from BSC)",symbol:"USDT",mint:"8qJSyQprMC57TWKaYEmetUR3UUiTP2M3hXdcvFhkZdmv",contract:"0x07365017e2436b5C3553028DB2a98d7672fb75Eb",chainId:137,wChainId:5,decimals:18,logoURI:"https://assets.coingecko.com/coins/images/325/small/Tether-logo.png?1598003707",coingeckoId:"tether",realOriginContractAddress:"0x55d398326f99059ff775485246999027b3197955",realOriginChainId:4,supportsPermit:!0},{name:"Tether (Portal from Ethereum)",symbol:"USDT",mint:"Dn4noZ5jgGfkntzcQSUZ8czkreiZ1ForXYoV2H8Dm7S1",contract:"0x9417669fBF23357D2774e9D421307bd5eA1006d2",chainId:137,wChainId:5,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/325/small/Tether-logo.png?1598003707",coingeckoId:"tether",realOriginContractAddress:"0xdac17f958d2ee523a2206206994597c13d831ec7",realOriginChainId:2,supportsPermit:!0},{name:"Tether (Portal from solana)",symbol:"USDT",mint:"Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB",contract:"0x3553f861dEc0257baDA9F8Ed268bf0D74e45E89C",chainId:137,wChainId:5,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/325/small/Tether-logo.png?1598003707",coingeckoId:"tether",realOriginContractAddress:"Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB",realOriginChainId:1,supportsPermit:!0},{name:"The Sandbox (Portal from Ethereum)",symbol:"SAND",mint:"49c7WuCZkQgc3M4qH8WuEUNXfgwupZf1xqWkDQ7gjRGt",contract:"0x33Af345CeAF1dcA90F622a63bFD7AeBB94Eb54B2",chainId:137,wChainId:5,decimals:18,logoURI:"https://assets.coingecko.com/coins/images/12129/small/sandbox_logo.jpg?1597397942",coingeckoId:"the-sandbox",realOriginContractAddress:"0x3845badade8e6dff049820680d1f14bd3903a5d0",realOriginChainId:2,supportsPermit:!0},{name:"USDC",symbol:"USDC",mint:"C321jHPwWBzgfSGndosDTp5pBsiXPyMU1irxKLVcedRB",contract:"0x3c499c542cef5e3811e1192ce70d8cc03d5c3359",chainId:137,wChainId:5,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/6319/small/usdc.png?1696506694",coingeckoId:"usd-coin",realOriginContractAddress:"0x3c499c542cef5e3811e1192ce70d8cc03d5c3359",realOriginChainId:5,supportsPermit:!0},{name:"Bridged USDC",symbol:"USDC.e",mint:"E2VmbootbVCBkMNNxKQgCLMS1X3NoGMaYAsufaAsf7M",contract:"0x2791bca1f2de4661ed88a30c99a7a9449aa84174",chainId:137,wChainId:5,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/6319/small/USD_Coin_icon.png?1547042389",coingeckoId:"usd-coin",realOriginContractAddress:"0x2791bca1f2de4661ed88a30c99a7a9449aa84174",realOriginChainId:5,supportsPermit:!0},{name:"USD Coin (Portal from Ethereum)",symbol:"USDC",mint:"A9mUU4qviSctJVPJdBJWkb28deg915LYJKrzQ19ji3FM",contract:"0x4318CB63A2b8edf2De971E2F17F77097e499459D",chainId:137,wChainId:5,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/6319/small/USD_Coin_icon.png?1547042389",coingeckoId:"usd-coin",realOriginContractAddress:"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",realOriginChainId:2,supportsPermit:!0},{name:"USD Coin (Portal from solana)",symbol:"USDC",mint:"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",contract:"0x576Cf361711cd940CD9C397BB98C4C896cBd38De",chainId:137,wChainId:5,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/6319/small/USD_Coin_icon.png?1547042389",coingeckoId:"usd-coin",realOriginContractAddress:"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",realOriginChainId:1,supportsPermit:!0},{name:"UXD Protocol (Portal from solana)",symbol:"UXP",mint:"UXPhBoR3qG4UCiGNJfV7MqhHyFqKN68g45GoYvAeL2M",contract:"0xC1c6F4B28A314221134cb684C7d9c7237225bF3C",chainId:137,wChainId:5,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/20319/small/UXP.jpg?1636864568",coingeckoId:"uxd-protocol-token",realOriginContractAddress:"UXPhBoR3qG4UCiGNJfV7MqhHyFqKN68g45GoYvAeL2M",realOriginChainId:1,supportsPermit:!0},{name:"Wrapped BNB (Portal from BSC)",symbol:"WBNB",mint:"9gP2kCy3wA1ctvYWQk75guqXuHfrEomqydHLtcTCqiLa",contract:"0xeCDCB5B88F8e3C15f95c720C51c71c9E2080525d",chainId:137,wChainId:5,decimals:18,logoURI:"https://assets.coingecko.com/coins/images/12591/small/binance-coin-logo.png?1600947313",coingeckoId:"wbnb",realOriginContractAddress:"0xbb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c",realOriginChainId:4,supportsPermit:!0},{name:"WETH (Portal from Ethereum)",symbol:"WETH",mint:"7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs",contract:"0x11CD37bb86F65419713f30673A480EA33c826872",chainId:137,wChainId:5,decimals:18,logoURI:"https://assets.coingecko.com/coins/images/2518/small/weth.png?1628852295",coingeckoId:"weth",realOriginContractAddress:"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",realOriginChainId:2,supportsPermit:!0},{name:"Whalemap (Portal from solana)",symbol:"WMP",mint:"BygDd5LURoqztD3xETc99WCxLUbTi6WYSht9XiBgZ4HW",contract:"0x62bf1Db4fe8BB3F395b112C07fc570e539508892",chainId:137,wChainId:5,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/21892/small/logo-token_%281%29.png?1640228860",coingeckoId:"whalemap",realOriginContractAddress:"BygDd5LURoqztD3xETc99WCxLUbTi6WYSht9XiBgZ4HW",realOriginChainId:1,supportsPermit:!0},{name:"Wrapped Matic",symbol:"WMATIC",mint:"Gz7VkD4MacbEB6yC5XD3HcumEiYx2EtDYYrfikGsvopG",contract:"0x0d500b1d8e8ef31e21c99d1db9a6444d3adf1270",chainId:137,wChainId:5,decimals:18,logoURI:"https://assets.coingecko.com/coins/images/14073/small/matic.png?1628852392",coingeckoId:"wmatic",realOriginContractAddress:"0x0d500b1d8e8ef31e21c99d1db9a6444d3adf1270",realOriginChainId:5,supportsPermit:!1},{name:"Wrapped AVAX (Portal from Avalanche)",symbol:"WAVAX",mint:"KgV1GvrHQmRBY8sHQQeUKwTm2r2h8t4C8qt12Cw1HVE",contract:"0x7Bb11E7f8b10E9e571E5d8Eace04735fDFB2358a",chainId:137,wChainId:5,decimals:18,logoURI:"https://assets.coingecko.com/coins/images/15075/small/wrapped-avax.png?1629873618",coingeckoId:"wrapped-avax",realOriginContractAddress:"0xb31f66aa3c1e785363f0875a1b74e27b85fd66c7",realOriginChainId:6,supportsPermit:!0},{name:"Wrapped Bitcoin (Sollet) (Portal from solana)",symbol:"SOBTC",mint:"9n4nbM75f5Ui33ZbPYXn59EwSgE8CGsHtAeTH5YFeJ9E",contract:"0x4653dDd751CD1dA6dFc6dd4cBf1F575d17be2e33",chainId:137,wChainId:5,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/24917/small/opengraph.png?1649344256",coingeckoId:"wrapped-bitcoin-sollet",realOriginContractAddress:"9n4nbM75f5Ui33ZbPYXn59EwSgE8CGsHtAeTH5YFeJ9E",realOriginChainId:1,supportsPermit:!0},{name:"Wrapped Chainlink (Sollet) (Portal from solana)",symbol:"SOLINK",mint:"CWE8jPTUYhdCTZYWPTe1o5DFqfdjzWKc9WKz6rSjQUdG",contract:"0xB009950702980f546B7F066Cb959183A9E380011",chainId:137,wChainId:5,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/24705/small/qvSHhRyC_400x400.jpg?1648646324",coingeckoId:"wrapped-chainlink-sollet",realOriginContractAddress:"CWE8jPTUYhdCTZYWPTe1o5DFqfdjzWKc9WKz6rSjQUdG",realOriginChainId:1,supportsPermit:!0},{name:"Wrapped Solana (Portal from solana)",symbol:"wSOL",mint:"So11111111111111111111111111111111111111112",contract:"0xd93f7E271cB87c23AaA73edC008A79646d1F9912",chainId:137,wChainId:5,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/21629/small/solana.jpg?1639626543",coingeckoId:"wrapped-solana",realOriginContractAddress:"So11111111111111111111111111111111111111112",realOriginChainId:1,supportsPermit:!0},{name:"Wrapped USDT (Allbridge from Polygon) (Portal from solana)",symbol:"APUSDT",mint:"DNhZkUaxHXYvpxZ7LNnHtss8sQgdAfd1ZYS1fB7LKWUZ",contract:"0x53525C9A130987fC593fdcf2774620e424C8E0D6",chainId:137,wChainId:5,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/23060/small/logo_-_2022-01-26T084912.902.png?1643158161",coingeckoId:"wrapped-usdt-allbridge-from-polygon",realOriginContractAddress:"DNhZkUaxHXYvpxZ7LNnHtss8sQgdAfd1ZYS1fB7LKWUZ",realOriginChainId:1,supportsPermit:!0},{name:"Basket (Portal from Solana)",symbol:"BSKT",mint:"6gnCPhXtLnUD76HjQuSYPENLSZdG8RvDB1pTLM5aLSJA",contract:"0x9a6a40CdF21a0AF417F1b815223FD92c85636c58",chainId:137,wChainId:5,decimals:5,logoURI:"https://assets.coingecko.com/coins/images/34661/small/BSKT_Logo.png?1705636891",coingeckoId:"basket",realOriginContractAddress:"6gnCPhXtLnUD76HjQuSYPENLSZdG8RvDB1pTLM5aLSJA",realOriginChainId:1,supportsPermit:!0},{name:"WETH (Portal from Optimism)",symbol:"WETH",mint:"8M6d63oL7dvMZ1gNbgGe3h8afMSWJEKEhtPTFM2u8h3c",contract:"0x8182De59485Bb646542Db8C7E5958148Dc699319",chainId:137,wChainId:5,decimals:18,logoURI:"https://assets.coingecko.com/coins/images/2518/small/weth.png?1696503332",coingeckoId:"weth",realOriginContractAddress:"0x4200000000000000000000000000000000000006",realOriginChainId:24,supportsPermit:!0},{name:"USDC (Portal from Optimism)",symbol:"USDC",mint:"J8kcD4Wnd1ehne1dpL8WNtgZQR6Jpui2cTZcrmg5ybAa",contract:"0x31F12aCb60C3c32EE884F3894a873347C097D925",chainId:137,wChainId:5,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/6319/small/usdc.png?1696506694",coingeckoId:"usd-coin",realOriginContractAddress:"0x0b2c639c533813f4aa9d7837caf62653d097ff85",realOriginChainId:24,supportsPermit:!0},{name:"Bridged USDC (Optimism) (Portal from Optimism)",symbol:"USDC.E",mint:"D6YyAUMTJipLQfUhYs6psdnwpmMz6KbM4Qs9AtCmPpxR",contract:"0x09D67f6B613b988DCaDfcC48600D0e12f942B307",chainId:137,wChainId:5,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/31580/small/USDC-icon.png?1696530397",coingeckoId:"bridged-usd-coin-optimism",realOriginContractAddress:"0x7f5c764cbc14f9669b88837ca1490cca17c31607",realOriginChainId:24,supportsPermit:!0},{name:"Tether (Portal from Optimism)",symbol:"USDT",mint:"CLV6gB88nQtnuo3akGLSVRFaiFPTXaBXV4EDaFxV7iRq",contract:"0xfef8183b580d50Cb9e636eD75B104C3423e70dcC",chainId:137,wChainId:5,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/325/small/Tether.png?1696501661",coingeckoId:"tether",realOriginContractAddress:"0x94b008aa00579c1307b0ef2c499ad98a8ce58e58",realOriginChainId:24,supportsPermit:!0}],optimism=[{name:"ETH",symbol:"ETH",mint:"8M6d63oL7dvMZ1gNbgGe3h8afMSWJEKEhtPTFM2u8h3c",contract:"0x0000000000000000000000000000000000000000",wrappedAddress:"0x4200000000000000000000000000000000000006",chainId:10,wChainId:24,decimals:18,logoURI:"https://statics.mayan.finance/eth.png",coingeckoId:"weth",realOriginContractAddress:"0x4200000000000000000000000000000000000006",realOriginChainId:24,supportsPermit:!1},{name:"WETH",symbol:"WETH",mint:"8M6d63oL7dvMZ1gNbgGe3h8afMSWJEKEhtPTFM2u8h3c",contract:"0x4200000000000000000000000000000000000006",chainId:10,wChainId:24,decimals:18,logoURI:"https://assets.coingecko.com/coins/images/2518/small/weth.png?1696503332",coingeckoId:"weth",realOriginContractAddress:"0x4200000000000000000000000000000000000006",realOriginChainId:24,supportsPermit:!1},{name:"USDC",symbol:"USDC",mint:"J8kcD4Wnd1ehne1dpL8WNtgZQR6Jpui2cTZcrmg5ybAa",contract:"0x0b2c639c533813f4aa9d7837caf62653d097ff85",chainId:10,wChainId:24,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/6319/small/usdc.png?1696506694",coingeckoId:"usd-coin",realOriginContractAddress:"0x0b2c639c533813f4aa9d7837caf62653d097ff85",realOriginChainId:24,supportsPermit:!0},{name:"Bridged USDC (Optimism)",symbol:"USDC.E",mint:"D6YyAUMTJipLQfUhYs6psdnwpmMz6KbM4Qs9AtCmPpxR",contract:"0x7f5c764cbc14f9669b88837ca1490cca17c31607",chainId:10,wChainId:24,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/31580/small/USDC-icon.png?1696530397",coingeckoId:"bridged-usd-coin-optimism",realOriginContractAddress:"0x7f5c764cbc14f9669b88837ca1490cca17c31607",realOriginChainId:24,supportsPermit:!1},{name:"USDC (Portal from Polygon)",symbol:"USDC",mint:"C321jHPwWBzgfSGndosDTp5pBsiXPyMU1irxKLVcedRB",contract:"0xbB1EaB9Eb8fDf65F0E291D013DA07B4b65a27a01",chainId:10,wChainId:24,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/6319/small/usdc.png?1696506694",coingeckoId:"usd-coin",realOriginContractAddress:"0x3c499c542cef5e3811e1192ce70d8cc03d5c3359",realOriginChainId:5,supportsPermit:!0},{name:"Tether",symbol:"USDT",mint:"CLV6gB88nQtnuo3akGLSVRFaiFPTXaBXV4EDaFxV7iRq",contract:"0x94b008aa00579c1307b0ef2c499ad98a8ce58e58",chainId:10,wChainId:24,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/325/small/Tether.png?1696501661",coingeckoId:"tether",realOriginContractAddress:"0x94b008aa00579c1307b0ef2c499ad98a8ce58e58",realOriginChainId:24,supportsPermit:!1},{name:"Wrapped Bitcoin (Portal from Ethereum)",symbol:"WBTC",mint:"3NZ9JMVBmGAqocybic2c7LQCJScmgsAZ6vQqTDzcqmJh",contract:"0xB214C19d81c99E75e84706a3aa0A757319023e26",chainId:10,wChainId:24,decimals:8,logoURI:"https://assets.coingecko.com/coins/images/7598/small/wrapped_bitcoin_wbtc.png?1696507857",coingeckoId:"wrapped-bitcoin",realOriginContractAddress:"0x2260fac5e5542a773aa44fbcfedf7c193bc2c599",realOriginChainId:2,supportsPermit:!0},{name:"Binance-Peg BUSD (Portal from BSC)",symbol:"BUSD",mint:"5RpUwQ8wtdPCZHhu6MERp2RGrpobsbZ6MH5dDHkUjs2",contract:"0x778A91d18e78f5e1E35D23910B54Dd42559AFEA1",chainId:10,wChainId:24,decimals:18,logoURI:"https://assets.coingecko.com/coins/images/31273/small/new_binance-peg-busd.png?1696530096",coingeckoId:"binance-peg-busd",realOriginContractAddress:"0xe9e7cea3dedca5984780bafc599bd69add087d56",realOriginChainId:4,supportsPermit:!0},{name:"Tether (Portal from Polygon)",symbol:"USDT",mint:"5goWRao6a3yNC4d6UjMdQxonkCMvKBwdpubU3qhfcdf1",contract:"0x71502667a00334dEE00c5bA34A07f7FeFF03832d",chainId:10,wChainId:24,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/325/small/Tether.png?1696501661",coingeckoId:"tether",realOriginContractAddress:"0xc2132d05d31c914a87c6611c10748aeb04b58e8f",realOriginChainId:5,supportsPermit:!0},{name:"Tether (Portal from BSC)",symbol:"USDT",mint:"8qJSyQprMC57TWKaYEmetUR3UUiTP2M3hXdcvFhkZdmv",contract:"0xa9A78f45944372cc51B7aEF0C2F6817C9729A21D",chainId:10,wChainId:24,decimals:18,logoURI:"https://assets.coingecko.com/coins/images/325/small/Tether.png?1696501661",coingeckoId:"tether",realOriginContractAddress:"0x55d398326f99059ff775485246999027b3197955",realOriginChainId:4,supportsPermit:!0},{name:"Tether (Portal from Ethereum)",symbol:"USDT",mint:"Dn4noZ5jgGfkntzcQSUZ8czkreiZ1ForXYoV2H8Dm7S1",contract:"0xf6B4185FCf8aF291c0E3927fbEab7046b4f6A8CA",chainId:10,wChainId:24,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/325/small/Tether.png?1696501661",coingeckoId:"tether",realOriginContractAddress:"0xdac17f958d2ee523a2206206994597c13d831ec7",realOriginChainId:2,supportsPermit:!0},{name:"Bridged USDC (Polygon PoS Bridge) (Portal from Polygon)",symbol:"USDC.E",mint:"E2VmbootbVCBkMNNxKQgCLMS1X3NoGMaYAsufaAsf7M",contract:"0x8ab72605E48C1f70A20BdD2B3A217FEc24d777f9",chainId:10,wChainId:24,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/33000/small/usdc.png?1700119918",coingeckoId:"bridged-usdc-polygon-pos-bridge",realOriginContractAddress:"0x2791bca1f2de4661ed88a30c99a7a9449aa84174",realOriginChainId:5,supportsPermit:!0},{name:"USDC (Portal from Ethereum)",symbol:"USDC",mint:"A9mUU4qviSctJVPJdBJWkb28deg915LYJKrzQ19ji3FM",contract:"0x711e53D031ea9B0bb0C24dD506df11b41AEA419e",chainId:10,wChainId:24,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/6319/small/usdc.png?1696506694",coingeckoId:"usd-coin",realOriginContractAddress:"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",realOriginChainId:2,supportsPermit:!0},{name:"Wrapped BNB (Portal from BSC)",symbol:"WBNB",mint:"9gP2kCy3wA1ctvYWQk75guqXuHfrEomqydHLtcTCqiLa",contract:"0x6A09fE65ACa27C12573F04aAFa290bD75497E1BC",chainId:10,wChainId:24,decimals:18,logoURI:"https://assets.coingecko.com/coins/images/12591/small/binance-coin-logo.png?1696512401",coingeckoId:"wbnb",realOriginContractAddress:"0xbb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c",realOriginChainId:4,supportsPermit:!0},{name:"WETH (Portal from Ethereum)",symbol:"WETH",mint:"7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs",contract:"0xb47bC3ed6D70F04fe759b2529c9bc7377889678f",chainId:10,wChainId:24,decimals:18,logoURI:"https://assets.coingecko.com/coins/images/2518/small/weth.png?1696503332",coingeckoId:"weth",realOriginContractAddress:"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",realOriginChainId:2,supportsPermit:!0},{name:"Wrapped Matic (Portal from Polygon)",symbol:"WMATIC",mint:"Gz7VkD4MacbEB6yC5XD3HcumEiYx2EtDYYrfikGsvopG",contract:"0x8f02B6a32cebcAe44D2Fd17d87966f5B5dD14c6d",chainId:10,wChainId:24,decimals:18,logoURI:"https://assets.coingecko.com/coins/images/14073/small/matic.png?1696513797",coingeckoId:"wmatic",realOriginContractAddress:"0x0d500b1d8e8ef31e21c99d1db9a6444d3adf1270",realOriginChainId:5,supportsPermit:!0},{name:"Wrapped AVAX (Portal from Avalanche)",symbol:"WAVAX",mint:"KgV1GvrHQmRBY8sHQQeUKwTm2r2h8t4C8qt12Cw1HVE",contract:"0x8418C1d909842f458c9394886b83F19d62bF1A0D",chainId:10,wChainId:24,decimals:18,logoURI:"https://assets.coingecko.com/coins/images/15075/small/wrapped-avax.png?1696514734",coingeckoId:"wrapped-avax",realOriginContractAddress:"0xb31f66aa3c1e785363f0875a1b74e27b85fd66c7",realOriginChainId:6,supportsPermit:!0}],avalanche=[{name:"Avax",symbol:"AVAX",mint:"KgV1GvrHQmRBY8sHQQeUKwTm2r2h8t4C8qt12Cw1HVE",contract:"0x0000000000000000000000000000000000000000",chainId:43114,wChainId:6,decimals:18,logoURI:"https://statics.mayan.finance/avax.png",wrappedAddress:"0xb31f66aa3c1e785363f0875a1b74e27b85fd66c7",coingeckoId:"wrapped-avax",realOriginContractAddress:"0xb31f66aa3c1e785363f0875a1b74e27b85fd66c7",realOriginChainId:6,supportsPermit:!1},{name:"USD Coin",symbol:"USDC",mint:"FHfba3ov5P3RjaiLVgh8FTv4oirxQDoVXuoUUDvHuXax",contract:"0xb97ef9ef8734c71904d8002f8b6bc66dd9c48a6e",chainId:43114,wChainId:6,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/6319/small/USD_Coin_icon.png?1547042389",coingeckoId:"usd-coin",realOriginContractAddress:"0xb97ef9ef8734c71904d8002f8b6bc66dd9c48a6e",realOriginChainId:6,supportsPermit:!0},{name:"Tether",symbol:"USDT",mint:"Kz1csQA91WUGcQ2TB3o5kdGmWmMGp8eJcDEyHzNDVCX",contract:"0x9702230a8ea53601f5cd2dc00fdbc13d4df4a8c7",chainId:43114,wChainId:6,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/325/small/Tether.png?1668148663",coingeckoId:"tether",realOriginContractAddress:"0x9702230a8ea53601f5cd2dc00fdbc13d4df4a8c7",realOriginChainId:6,supportsPermit:!0},{name:"Tether (Portal from Arbitrum)",symbol:"USDT",mint:"H9o3LaDfoMSVLm9aBWaY56eMmPGDbRFnUHpqcTb9exXB",contract:"0x3e2eE3C3C93408ab00f30BE6462E532aAfCC574d",chainId:43114,wChainId:6,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/325/small/Tether.png?1668148663",coingeckoId:"tether",realOriginContractAddress:"0xfd086bc7cd5c481dcc9c85ebe478a1c0b69fcbb9",realOriginChainId:23,supportsPermit:!0},{name:"USD Coin (Arb1)(Portal from Arbitrum)",symbol:"USDC.e",mint:"HAxCJjnmgkdXhwZYeJiUvBgm4NdQvqhGJCS3KxCnCxWs",contract:"0xa2BA71dbDb6aD2add0329b892135DCe49c5ABb02",chainId:43114,wChainId:6,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/6319/small/USD_Coin_icon.png?1547042389",coingeckoId:"usd-coin",realOriginContractAddress:"0xff970a61a04b1ca14834a43f5de4533ebddb5cc8",realOriginChainId:23,supportsPermit:!0},{name:"USD Coin (Portal from BSC)",symbol:"USDC",mint:"FCqfQSujuPxy6V42UvafBhsysWtEq1vhjfMN1PUbgaxA",contract:"0x6145E8a910aE937913426BF32De2b26039728ACF",chainId:43114,wChainId:6,decimals:18,logoURI:"https://assets.coingecko.com/coins/images/6319/small/USD_Coin_icon.png?1547042389",coingeckoId:"usd-coin",realOriginContractAddress:"0x8ac76a51cc950d9822d68b83fe1ad97b32cd580d",realOriginChainId:4,supportsPermit:!0},{name:"Dai (Portal from Ethereum)",symbol:"DAI",mint:"EjmyN6qEC1Tf1JxiG1ae7UTJhUxSwk1TCWNWqxWV4J6o",contract:"0xca319f81D147559e19A522A0a0310Dd43A96cA0F",chainId:43114,wChainId:6,decimals:18,logoURI:"https://assets.coingecko.com/coins/images/9956/small/4943.png?1636636734",coingeckoId:"dai",realOriginContractAddress:"0x6b175474e89094c44da98b954eedeac495271d0f",realOriginChainId:2,supportsPermit:!1},{name:"Audius (Portal from Ethereum)",symbol:"AUDIO",mint:"9LzCMqDgTKYz9Drzqnpgee3SGa89up3a247ypMj2xrqM",contract:"0x4890198d3354E340d724607e7d4cdC3696185267",chainId:43114,wChainId:6,decimals:18,logoURI:"https://assets.coingecko.com/coins/images/12913/small/AudiusCoinLogo_2x.png?1603425727",coingeckoId:"audius",realOriginContractAddress:"0x18aaa7115705e8be94bffebde57af9bfc265b998",realOriginChainId:2,supportsPermit:!0},{name:"Binance USD (Portal from BSC)",symbol:"BUSD",mint:"5RpUwQ8wtdPCZHhu6MERp2RGrpobsbZ6MH5dDHkUjs2",contract:"0xA41a6c7E25DdD361343e8Cb8cFa579bbE5eEdb7a",chainId:43114,wChainId:6,decimals:18,logoURI:"https://assets.coingecko.com/coins/images/9576/small/BUSD.png?1568947766",coingeckoId:"binance-usd",realOriginContractAddress:"0xe9e7cea3dedca5984780bafc599bd69add087d56",realOriginChainId:4,supportsPermit:!0},{name:"Brazilian Digital (Portal from solana)",symbol:"BRZ",mint:"FtgGSFADXBtroxq8VCausXRr2of47QBf5AS1NtZCu4GD",contract:"0xeed8377eC9522Cc58Da6Df1Ad6b4E4cC8A4C90dD",chainId:43114,wChainId:6,decimals:4,logoURI:"https://assets.coingecko.com/coins/images/8472/small/2_vtiD3xwce9knG2COxtSMaQ.png?1597786961",coingeckoId:"brz",realOriginContractAddress:"FtgGSFADXBtroxq8VCausXRr2of47QBf5AS1NtZCu4GD",realOriginChainId:1,supportsPermit:!0},{name:"Chainlink (Portal from Ethereum)",symbol:"LINK",mint:"2wpTofQ8SkACrkZWrZDjXPitYa8AwWgX8AfxdeBRRVLX",contract:"0x20F8AC126d35c1D74281F2b95887277747b325e1",chainId:43114,wChainId:6,decimals:18,logoURI:"https://assets.coingecko.com/coins/images/877/small/chainlink-new-logo.png?1547034700",coingeckoId:"chainlink",realOriginContractAddress:"0x514910771af9ca656af840dff83e8264ecf986ca",realOriginChainId:2,supportsPermit:!0},{name:"Frax (Portal from Ethereum)",symbol:"FRAX",mint:"FR87nWEUxVgerFGhZM8Y4AggKGLnaXswr1Pd8wZ4kZcp",contract:"0x928702a5f31dA622e5Cbadb33D3d8cED67cDCf93",chainId:43114,wChainId:6,decimals:18,logoURI:"https://assets.coingecko.com/coins/images/13422/small/ethCanonicalFRAX.png?1669277108",coingeckoId:"frax",realOriginContractAddress:"0x853d955acef822db058eb8505911ed77f175b99e",realOriginChainId:2,supportsPermit:!0},{name:"Kin (Portal from solana)",symbol:"KIN",mint:"kinXdEcpDQeHPEuQnqmUgtYykqKGVFq6CeVX5iAHJq6",contract:"0x2E9d44DB98ACF5D5B48D3E5925C0D43a4addfb61",chainId:43114,wChainId:6,decimals:5,logoURI:"https://assets.coingecko.com/coins/images/959/small/kin.png?1586917032",coingeckoId:"kin",realOriginContractAddress:"kinXdEcpDQeHPEuQnqmUgtYykqKGVFq6CeVX5iAHJq6",realOriginChainId:1,supportsPermit:!0},{name:"Parrot USD (Portal from solana)",symbol:"PAI",mint:"Ea5SjE2Y6yvCeW5dYTn7PYMuW5ikXkvbGdcmSnXeaLjS",contract:"0x2BB1f8d5c5409621ef14Ee2e892bB230F46B1fF1",chainId:43114,wChainId:6,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/18439/small/pai.png?1632004568",coingeckoId:"parrot-usd",realOriginContractAddress:"Ea5SjE2Y6yvCeW5dYTn7PYMuW5ikXkvbGdcmSnXeaLjS",realOriginChainId:1,supportsPermit:!0},{name:"Plutonian DAO (Portal from solana)",symbol:"PLD",mint:"2cJgFtnqjaoiu9fKVX3fny4Z4pRzuaqfJ3PBTMk2D9ur",contract:"0x92FAD76974C631987e33B281543299e11e64bF98",chainId:43114,wChainId:6,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/25092/small/logo-pld_200.png?1650270204",coingeckoId:"plutonian-dao",realOriginContractAddress:"2cJgFtnqjaoiu9fKVX3fny4Z4pRzuaqfJ3PBTMk2D9ur",realOriginChainId:1,supportsPermit:!0},{name:"Raydium (Portal from solana)",symbol:"RAY",mint:"4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R",contract:"0xEF0a164F3cDCb295A136BFC1EA50f1e0B0e135ef",chainId:43114,wChainId:6,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/13928/small/PSigc4ie_400x400.jpg?1612875614",coingeckoId:"raydium",realOriginContractAddress:"4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R",realOriginChainId:1,supportsPermit:!0},{name:"Tulip Protocol (Portal from solana)",symbol:"TULIP",mint:"TuLipcqtGVXP9XR62wM8WWCm6a9vhLs7T1uoWBk6FDs",contract:"0x9E99aA3cA421CEADC08dA268795a46E3e88dB4DB",chainId:43114,wChainId:6,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/15764/small/TqrUdBG.png?1621827144",coingeckoId:"solfarm",realOriginContractAddress:"TuLipcqtGVXP9XR62wM8WWCm6a9vhLs7T1uoWBk6FDs",realOriginChainId:1,supportsPermit:!0},{name:"SolRazr (Portal from solana)",symbol:"SOLR",mint:"7j7H7sgsnNDeCngAPjpaCN4aaaru4HS7NAFYSEUyzJ3k",contract:"0x7127034A6e7e2BD688a9106F508078A3d571d7FB",chainId:43114,wChainId:6,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/18390/small/Sol-Razr-Logo-TICKER.png?1631759669",coingeckoId:"solrazr",realOriginContractAddress:"7j7H7sgsnNDeCngAPjpaCN4aaaru4HS7NAFYSEUyzJ3k",realOriginChainId:1,supportsPermit:!0},{name:"Sunny Aggregator (Portal from solana)",symbol:"SUNNY",mint:"SUNNYWgPQmFxe9wTZzNK7iPnJ3vYDrkgnxJRJm1s3ag",contract:"0x5bd40bC6967B81c6bcF40BB587489BF375C00B83",chainId:43114,wChainId:6,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/18039/small/90dbe787-8e5f-473c-b923-fe138a7a30ea.png?1630314924",coingeckoId:"sunny-aggregator",realOriginContractAddress:"SUNNYWgPQmFxe9wTZzNK7iPnJ3vYDrkgnxJRJm1s3ag",realOriginChainId:1,supportsPermit:!0},{name:"Synthetic USD (Portal from solana)",symbol:"XUSD",mint:"83LGLCm7QKpYZbX8q4W2kYWbtt8NJBwbVwEepzkVnJ9y",contract:"0xe04a932836C8d06A1dF869722C59Dac223721b18",chainId:43114,wChainId:6,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/19596/small/uJzDI4j.png?1635488810",coingeckoId:"synthetic-usd",realOriginContractAddress:"83LGLCm7QKpYZbX8q4W2kYWbtt8NJBwbVwEepzkVnJ9y",realOriginChainId:1,supportsPermit:!0},{name:"Tether (Portal from Polygon)",symbol:"USDT",mint:"5goWRao6a3yNC4d6UjMdQxonkCMvKBwdpubU3qhfcdf1",contract:"0x038627d23Dacdc967087A57309F8139aeb99D8e4",chainId:43114,wChainId:6,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/325/small/Tether.png?1668148663",coingeckoId:"tether",realOriginContractAddress:"0xc2132d05d31c914a87c6611c10748aeb04b58e8f",realOriginChainId:5,supportsPermit:!0},{name:"Tether (Portal from BSC)",symbol:"USDT",mint:"8qJSyQprMC57TWKaYEmetUR3UUiTP2M3hXdcvFhkZdmv",contract:"0xA67BCC0D06d7d13A13A2AE30bF30f1B434f5a28B",chainId:43114,wChainId:6,decimals:18,logoURI:"https://assets.coingecko.com/coins/images/325/small/Tether-logo.png?1598003707",coingeckoId:"tether",realOriginContractAddress:"0x55d398326f99059ff775485246999027b3197955",realOriginChainId:4,supportsPermit:!0},{name:"Tether (Portal from Ethereum)",symbol:"USDT",mint:"Dn4noZ5jgGfkntzcQSUZ8czkreiZ1ForXYoV2H8Dm7S1",contract:"0x9d228444FC4B7E15A2C481b48E10247A03351FD8",chainId:43114,wChainId:6,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/325/small/Tether-logo.png?1598003707",coingeckoId:"tether",realOriginContractAddress:"0xdac17f958d2ee523a2206206994597c13d831ec7",realOriginChainId:2,supportsPermit:!0},{name:"Tether (Portal from solana)",symbol:"USDT",mint:"Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB",contract:"0xF0FF231e3F1A50F83136717f287ADAB862f89431",chainId:43114,wChainId:6,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/325/small/Tether-logo.png?1598003707",coingeckoId:"tether",realOriginContractAddress:"Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB",realOriginChainId:1,supportsPermit:!0},{name:"Bridged USDC (Portal from Polygon)",symbol:"USDC.e",mint:"E2VmbootbVCBkMNNxKQgCLMS1X3NoGMaYAsufaAsf7M",contract:"0x543672E9CBEC728CBBa9C3Ccd99ed80aC3607FA8",chainId:43114,wChainId:6,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/6319/small/USD_Coin_icon.png?1547042389",coingeckoId:"usd-coin",realOriginContractAddress:"0x2791bca1f2de4661ed88a30c99a7a9449aa84174",realOriginChainId:5,supportsPermit:!0},{name:"USD Coin (Portal from Ethereum)",symbol:"USDC",mint:"A9mUU4qviSctJVPJdBJWkb28deg915LYJKrzQ19ji3FM",contract:"0xB24CA28D4e2742907115fECda335b40dbda07a4C",chainId:43114,wChainId:6,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/6319/small/USD_Coin_icon.png?1547042389",coingeckoId:"usd-coin",realOriginContractAddress:"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",realOriginChainId:2,supportsPermit:!0},{name:"USD Coin (Portal from solana)",symbol:"USDC",mint:"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",contract:"0x0950Fc1AD509358dAeaD5eB8020a3c7d8b43b9DA",chainId:43114,wChainId:6,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/6319/small/USD_Coin_icon.png?1547042389",coingeckoId:"usd-coin",realOriginContractAddress:"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",realOriginChainId:1,supportsPermit:!0},{name:"Wrapped BNB (Portal from BSC)",symbol:"WBNB",mint:"9gP2kCy3wA1ctvYWQk75guqXuHfrEomqydHLtcTCqiLa",contract:"0x442F7f22b1EE2c842bEAFf52880d4573E9201158",chainId:43114,wChainId:6,decimals:18,logoURI:"https://assets.coingecko.com/coins/images/12591/small/binance-coin-logo.png?1600947313",coingeckoId:"wbnb",realOriginContractAddress:"0xbb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c",realOriginChainId:4,supportsPermit:!0},{name:"WETH (Portal from Ethereum)",symbol:"WETH",mint:"7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs",contract:"0x8b82A291F83ca07Af22120ABa21632088fC92931",chainId:43114,wChainId:6,decimals:18,logoURI:"https://assets.coingecko.com/coins/images/2518/small/weth.png?1628852295",coingeckoId:"weth",realOriginContractAddress:"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",realOriginChainId:2,supportsPermit:!0},{name:"Wrapped Matic (Portal from Polygon)",symbol:"WMATIC",mint:"Gz7VkD4MacbEB6yC5XD3HcumEiYx2EtDYYrfikGsvopG",contract:"0xf2f13f0B7008ab2FA4A2418F4ccC3684E49D20Eb",chainId:43114,wChainId:6,decimals:18,logoURI:"https://assets.coingecko.com/coins/images/14073/small/matic.png?1628852392",coingeckoId:"wmatic",realOriginContractAddress:"0x0d500b1d8e8ef31e21c99d1db9a6444d3adf1270",realOriginChainId:5,supportsPermit:!0},{name:"Wrapped AVAX",symbol:"WAVAX",mint:"KgV1GvrHQmRBY8sHQQeUKwTm2r2h8t4C8qt12Cw1HVE",contract:"0xb31f66aa3c1e785363f0875a1b74e27b85fd66c7",chainId:43114,wChainId:6,decimals:18,logoURI:"https://assets.coingecko.com/coins/images/15075/small/wrapped-avax.png?1629873618",coingeckoId:"wrapped-avax",realOriginContractAddress:"0xb31f66aa3c1e785363f0875a1b74e27b85fd66c7",realOriginChainId:6,supportsPermit:!1},{name:"Wrapped Bitcoin (Sollet) (Portal from solana)",symbol:"SOBTC",mint:"9n4nbM75f5Ui33ZbPYXn59EwSgE8CGsHtAeTH5YFeJ9E",contract:"0x546AB8d4320B94a763B33817a4A775F7514015f1",chainId:43114,wChainId:6,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/24917/small/opengraph.png?1649344256",coingeckoId:"wrapped-bitcoin-sollet",realOriginContractAddress:"9n4nbM75f5Ui33ZbPYXn59EwSgE8CGsHtAeTH5YFeJ9E",realOriginChainId:1,supportsPermit:!0},{name:"Wrapped Solana (Portal from solana)",symbol:"wSOL",mint:"So11111111111111111111111111111111111111112",contract:"0xFE6B19286885a4F7F55AdAD09C3Cd1f906D2478F",chainId:43114,wChainId:6,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/21629/small/solana.jpg?1639626543",coingeckoId:"wrapped-solana",realOriginContractAddress:"So11111111111111111111111111111111111111112",realOriginChainId:1,supportsPermit:!0},{name:"Wrapped YFI (Sollet) (Portal from solana)",symbol:"SOYFI",mint:"3JSf5tPeuscJGtaCp5giEiDhv51gQ4v3zWg8DGgyLfAB",contract:"0x6D41228a484d8523C4F3210B8F976C4034B550F8",chainId:43114,wChainId:6,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/24704/small/yl4nOJno_400x400.jpg?1648646042",coingeckoId:"wrapped-yfi-sollet",realOriginContractAddress:"3JSf5tPeuscJGtaCp5giEiDhv51gQ4v3zWg8DGgyLfAB",realOriginChainId:1,supportsPermit:!0},{name:"xHashtag (Portal from solana)",symbol:"XTAG",mint:"5gs8nf4wojB5EXgDUWNLwXpknzgV2YWDhveAeBZpVLbp",contract:"0xA608D79C5f695C0D4C0E773A4938b57e18e0fc57",chainId:43114,wChainId:6,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/20912/small/xtag.png?1637922382",coingeckoId:"xhashtag",realOriginContractAddress:"5gs8nf4wojB5EXgDUWNLwXpknzgV2YWDhveAeBZpVLbp",realOriginChainId:1,supportsPermit:!0},{name:"Basket (Portal from Solana)",symbol:"BSKT",mint:"6gnCPhXtLnUD76HjQuSYPENLSZdG8RvDB1pTLM5aLSJA",contract:"0x6Ac048ae05E7E015accA2aA7Abd0Ec013e8E3a59",chainId:43114,wChainId:6,decimals:5,logoURI:"https://assets.coingecko.com/coins/images/34661/small/BSKT_Logo.png?1705636891",coingeckoId:"basket",realOriginContractAddress:"6gnCPhXtLnUD76HjQuSYPENLSZdG8RvDB1pTLM5aLSJA",realOriginChainId:1,supportsPermit:!0},{name:"WETH (Portal from Optimism)",symbol:"WETH",mint:"8M6d63oL7dvMZ1gNbgGe3h8afMSWJEKEhtPTFM2u8h3c",contract:"0xDf11535274c0FD2Fe41A88bd1bBF802D72296037",chainId:43114,wChainId:6,decimals:18,logoURI:"https://assets.coingecko.com/coins/images/2518/small/weth.png?1696503332",coingeckoId:"weth",realOriginContractAddress:"0x4200000000000000000000000000000000000006",realOriginChainId:24,supportsPermit:!0},{name:"USDC (Portal from Optimism)",symbol:"USDC",mint:"J8kcD4Wnd1ehne1dpL8WNtgZQR6Jpui2cTZcrmg5ybAa",contract:"0xBe04f76A0ba2100c3F2d6Aa1FD8484F415469573",chainId:43114,wChainId:6,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/6319/small/usdc.png?1696506694",coingeckoId:"usd-coin",realOriginContractAddress:"0x0b2c639c533813f4aa9d7837caf62653d097ff85",realOriginChainId:24,supportsPermit:!0},{name:"Bridged USDC (Optimism) (Portal from Optimism)",symbol:"USDC.E",mint:"D6YyAUMTJipLQfUhYs6psdnwpmMz6KbM4Qs9AtCmPpxR",contract:"0x7b9313E7C3794820376F1a4F2549CC964bD17123",chainId:43114,wChainId:6,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/31580/small/USDC-icon.png?1696530397",coingeckoId:"bridged-usd-coin-optimism",realOriginContractAddress:"0x7f5c764cbc14f9669b88837ca1490cca17c31607",realOriginChainId:24,supportsPermit:!0},{name:"Tether (Portal from Optimism)",symbol:"USDT",mint:"CLV6gB88nQtnuo3akGLSVRFaiFPTXaBXV4EDaFxV7iRq",contract:"0x2AE95d92355d1C2aB073FD1F9C69D76f0E557aB4",chainId:43114,wChainId:6,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/325/small/Tether.png?1696501661",coingeckoId:"tether",realOriginContractAddress:"0x94b008aa00579c1307b0ef2c499ad98a8ce58e58",realOriginChainId:24,supportsPermit:!0}],bsc=[{name:"BNB",symbol:"BNB",mint:"9gP2kCy3wA1ctvYWQk75guqXuHfrEomqydHLtcTCqiLa",contract:"0x0000000000000000000000000000000000000000",chainId:56,wChainId:4,decimals:18,logoURI:"https://statics.mayan.finance/bsc.png",wrappedAddress:"0xbb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c",coingeckoId:"wbnb",realOriginContractAddress:"0xbb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c",realOriginChainId:4,supportsPermit:!1},{name:"Wrapped Bitcoin (Portal from Ethereum)",symbol:"WBTC",mint:"3NZ9JMVBmGAqocybic2c7LQCJScmgsAZ6vQqTDzcqmJh",contract:"0x43359676E1A3F9FbB5de095333f8e9c1B46dFA44",chainId:56,wChainId:4,decimals:8,logoURI:"https://assets.coingecko.com/coins/images/7598/small/wrapped_bitcoin_wbtc.png?1548822744",coingeckoId:"wrapped-bitcoin",realOriginContractAddress:"0x2260fac5e5542a773aa44fbcfedf7c193bc2c599",realOriginChainId:2,supportsPermit:!0},{name:"Tether (Portal from Arbitrum)",symbol:"USDT",mint:"H9o3LaDfoMSVLm9aBWaY56eMmPGDbRFnUHpqcTb9exXB",contract:"0xa6E2b045a0BbCfb5b3Eb8253480Cf20325e85784",chainId:56,wChainId:4,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/325/small/Tether.png?1668148663",coingeckoId:"tether",realOriginContractAddress:"0xfd086bc7cd5c481dcc9c85ebe478a1c0b69fcbb9",realOriginChainId:23,supportsPermit:!0},{name:"USD Coin (Arb1)(Portal from Arbitrum)",symbol:"USDC.e",mint:"HAxCJjnmgkdXhwZYeJiUvBgm4NdQvqhGJCS3KxCnCxWs",contract:"0x32a266C3ba64Cc5f2A5bC18cC02927Ad23EE7e15",chainId:56,wChainId:4,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/6319/small/USD_Coin_icon.png?1547042389",coingeckoId:"usd-coin",realOriginContractAddress:"0xff970a61a04b1ca14834a43f5de4533ebddb5cc8",realOriginChainId:23,supportsPermit:!0},{name:"USD Coin (Portal from Avalanche)",symbol:"USDC",mint:"FHfba3ov5P3RjaiLVgh8FTv4oirxQDoVXuoUUDvHuXax",contract:"0xc88Dc63bf0c8c8198C97Db0945E3eF25Ca89A8e4",chainId:56,wChainId:4,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/6319/small/USD_Coin_icon.png?1547042389",coingeckoId:"usd-coin",realOriginContractAddress:"0xb97ef9ef8734c71904d8002f8b6bc66dd9c48a6e",realOriginChainId:6,supportsPermit:!0},{name:"Tether (Portal from Avalanche)",symbol:"USDT",mint:"Kz1csQA91WUGcQ2TB3o5kdGmWmMGp8eJcDEyHzNDVCX",contract:"0x4a618Df8E3e6f2E94D1F9bed94722e43b9fD97D5",chainId:56,wChainId:4,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/325/small/Tether.png?1668148663",coingeckoId:"tether",realOriginContractAddress:"0x9702230a8ea53601f5cd2dc00fdbc13d4df4a8c7",realOriginChainId:6,supportsPermit:!0},{name:"USD Coin",symbol:"USDC",mint:"FCqfQSujuPxy6V42UvafBhsysWtEq1vhjfMN1PUbgaxA",contract:"0x8ac76a51cc950d9822d68b83fe1ad97b32cd580d",chainId:56,wChainId:4,decimals:18,logoURI:"https://assets.coingecko.com/coins/images/6319/small/USD_Coin_icon.png?1547042389",coingeckoId:"usd-coin",realOriginContractAddress:"0x8ac76a51cc950d9822d68b83fe1ad97b32cd580d",realOriginChainId:4,supportsPermit:!1},{name:"USDC (Portal from Polygon)",symbol:"USDC",mint:"C321jHPwWBzgfSGndosDTp5pBsiXPyMU1irxKLVcedRB",contract:"0xe6d82Bbe75041E42E51d755e922cE1BA91af9c4d",chainId:56,wChainId:4,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/6319/small/usdc.png?1696506694",coingeckoId:"usd-coin",realOriginContractAddress:"0x3c499c542cef5e3811e1192ce70d8cc03d5c3359",realOriginChainId:5,supportsPermit:!0},{name:"Dai (Portal from Ethereum)",symbol:"DAI",mint:"EjmyN6qEC1Tf1JxiG1ae7UTJhUxSwk1TCWNWqxWV4J6o",contract:"0x3413a030EF81a3dD5a302F4B4D11d911e12ed337",chainId:56,wChainId:4,decimals:18,logoURI:"https://assets.coingecko.com/coins/images/9956/small/4943.png?1636636734",coingeckoId:"dai",realOriginContractAddress:"0x6b175474e89094c44da98b954eedeac495271d0f",realOriginChainId:2,supportsPermit:!1},{name:"Aleph.im (Portal from Ethereum)",symbol:"ALEPH",mint:"3UCMiSnkcnkPE1pgQ5ggPCBv6dXgVUy16TmMUe1WpG9x",contract:"0xfB0c80D4587ecA81C0aA35d56FB19373117df55f",chainId:56,wChainId:4,decimals:18,logoURI:"https://assets.coingecko.com/coins/images/11676/small/Monochram-aleph.png?1608483725",coingeckoId:"aleph",realOriginContractAddress:"0x27702a26126e0b3702af63ee09ac4d1a084ef628",realOriginChainId:2,supportsPermit:!0},{name:"Allbridge (Portal from solana)",symbol:"ABR",mint:"a11bdAAuV8iB2fu7X6AxAvDTo1QZ8FXB3kk5eecdasp",contract:"0xc31eb703C224315a8E7ea18ed35484Cd8F30F8e6",chainId:56,wChainId:4,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/18690/small/abr.png?1640742053",coingeckoId:"allbridge",realOriginContractAddress:"a11bdAAuV8iB2fu7X6AxAvDTo1QZ8FXB3kk5eecdasp",realOriginChainId:1,supportsPermit:!0},{name:"ApeXit Finance (Portal from solana)",symbol:"APEX",mint:"51tMb3zBKDiQhNwGqpgwbavaGH54mk8fXFzxTc1xnasg",contract:"0x102786121bb14AaA8A768D6dB66BB2a7eba2e999",chainId:56,wChainId:4,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/16864/small/cg.png?1625470996",coingeckoId:"apexit-finance",realOriginContractAddress:"51tMb3zBKDiQhNwGqpgwbavaGH54mk8fXFzxTc1xnasg",realOriginChainId:1,supportsPermit:!0},{name:"APYSwap (Portal from solana)",symbol:"APYS",mint:"5JnZ667P3VcjDinkJFysWh2K2KtViy63FZ3oL5YghEhW",contract:"0x5B034dd9CA6f4612df5b45e79b2198BCc3040b52",chainId:56,wChainId:4,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/14163/small/apys.png?1635831990",coingeckoId:"apyswap",realOriginContractAddress:"5JnZ667P3VcjDinkJFysWh2K2KtViy63FZ3oL5YghEhW",realOriginChainId:1,supportsPermit:!0},{name:"Arenum (Portal from solana)",symbol:"ARNM",mint:"3Dy8KFyvpUJ8nfRCbvk4HLWjNRRzxiVhTeE9PQF9RARD",contract:"0x5D623999fb9A8FebE7A9B7f2F4Dc87e9445b095B",chainId:56,wChainId:4,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/24393/small/6253dcf123d4f40001e9c793_CryptoCoin_1024.png?1649733527",coingeckoId:"arenum",realOriginContractAddress:"3Dy8KFyvpUJ8nfRCbvk4HLWjNRRzxiVhTeE9PQF9RARD",realOriginChainId:1,supportsPermit:!0},{name:"Atlas DEX (Portal from solana)",symbol:"ATS",mint:"HJbNXx2YMRxgfUJ6K4qeWtjatMK5KYQT1QnsCdDWywNv",contract:"0x7F101846d76A786ea8EF3a032d202FBFE524Cce9",chainId:56,wChainId:4,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/23002/small/logo.png?1643091340",coingeckoId:"atlas-dex",realOriginContractAddress:"HJbNXx2YMRxgfUJ6K4qeWtjatMK5KYQT1QnsCdDWywNv",realOriginChainId:1,supportsPermit:!0},{name:"Audius (Portal from Ethereum)",symbol:"AUDIO",mint:"9LzCMqDgTKYz9Drzqnpgee3SGa89up3a247ypMj2xrqM",contract:"0x883c8Bc8311467181A67FbA8bBA5e12c016A6c93",chainId:56,wChainId:4,decimals:18,logoURI:"https://assets.coingecko.com/coins/images/12913/small/AudiusCoinLogo_2x.png?1603425727",coingeckoId:"audius",realOriginContractAddress:"0x18aaa7115705e8be94bffebde57af9bfc265b998",realOriginChainId:2,supportsPermit:!0},{name:"Aurory (Portal from solana)",symbol:"AURY",mint:"AURYydfxJib1ZkTir1Jn1J9ECYUtjb6rKQVmtYaixWPP",contract:"0xF5a367b7809e5683538C93Ce638B9258A0B88271",chainId:56,wChainId:4,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/19324/small/Ico_Blanc.png?1672824647",coingeckoId:"aurory",realOriginContractAddress:"AURYydfxJib1ZkTir1Jn1J9ECYUtjb6rKQVmtYaixWPP",realOriginChainId:1,supportsPermit:!0},{name:"Avenue Hamilton Token (Portal from solana)",symbol:"AHT",mint:"AHT1yynTv45s3P3KrRfQCVMHckdHeMVA3fteEg34xt9y",contract:"0x50eC4E5cBADffAa0cc10bA462D2462C697e3CF76",chainId:56,wChainId:4,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/28086/small/7FbZmTSKMsSqtlfe8yH1n3QgdBc3RBBt0B6dsdprVBs.png?1667724654",coingeckoId:"avenue-hamilton-token",realOriginContractAddress:"AHT1yynTv45s3P3KrRfQCVMHckdHeMVA3fteEg34xt9y",realOriginChainId:1,supportsPermit:!0},{name:"Avenue University Token (Portal from solana)",symbol:"AUT",mint:"AUT1gfMZw37wMMQqAxk89nfpjZpEEf2XSoBUd8V5ydnS",contract:"0x8d07A1946d74f35378E519be3bdEDB731010CA0B",chainId:56,wChainId:4,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/28087/small/T-R84Zo32rDOA5Wo66T8jAlqcyjD7Folt1oeCfjlizU.png?1667724695",coingeckoId:"avenue-university-token",realOriginContractAddress:"AUT1gfMZw37wMMQqAxk89nfpjZpEEf2XSoBUd8V5ydnS",realOriginChainId:1,supportsPermit:!0},{name:"Axie Infinity (Portal from Ethereum)",symbol:"AXS",mint:"HysWcbHiYY9888pHbaqhwLYZQeZrcQMXKQWRqS7zcPK5",contract:"0x556b60c53fbC1518Ad17E03d52E47368dD4d81B3",chainId:56,wChainId:4,decimals:18,logoURI:"https://assets.coingecko.com/coins/images/13029/small/axie_infinity_logo.png?1604471082",coingeckoId:"axie-infinity",realOriginContractAddress:"0xbb0e17ef65f82ab018d8edd776e8dd940327b28b",realOriginChainId:2,supportsPermit:!0},{name:"Bamboo Coin (Portal from solana)",symbol:"BMBO",mint:"5sM9xxcBTM9rWza6nEgq2cShA87JjTBx1Cu82LjgmaEg",contract:"0xC9629d59DdFE8CB83516D82c90b515B7c5bF7262",chainId:56,wChainId:4,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/19620/small/FC0hnduacAAHYFC.png?1635496724",coingeckoId:"bamboo-coin",realOriginContractAddress:"5sM9xxcBTM9rWza6nEgq2cShA87JjTBx1Cu82LjgmaEg",realOriginChainId:1,supportsPermit:!0},{name:"Binance USD",symbol:"BUSD",mint:"5RpUwQ8wtdPCZHhu6MERp2RGrpobsbZ6MH5dDHkUjs2",contract:"0xe9e7cea3dedca5984780bafc599bd69add087d56",chainId:56,wChainId:4,decimals:18,logoURI:"https://assets.coingecko.com/coins/images/9576/small/BUSD.png?1568947766",coingeckoId:"binance-usd",realOriginContractAddress:"0xe9e7cea3dedca5984780bafc599bd69add087d56",realOriginChainId:4,supportsPermit:!1},{name:"Blockasset (Portal from solana)",symbol:"BLOCK",mint:"NFTUkR4u7wKxy9QLaX2TGvd9oZSWoMo4jqSJqdMb7Nk",contract:"0xbC7A566b85eF73F935e640A06b5a8b031Cd975Df",chainId:56,wChainId:4,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/21332/small/Blockasset-Logo-Symbol.png?1648442722",coingeckoId:"blockasset",realOriginContractAddress:"NFTUkR4u7wKxy9QLaX2TGvd9oZSWoMo4jqSJqdMb7Nk",realOriginChainId:1,supportsPermit:!0},{name:"Bonfida (Portal from solana)",symbol:"FIDA",mint:"EchesyfXePKdLtoiZSL8pBe8Myagyy8ZRqsACNCFGnvp",contract:"0xED6e7c148Dddf8deeAEc7c6c9E3F4069AA2Fe33d",chainId:56,wChainId:4,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/13395/small/bonfida.png?1658327819",coingeckoId:"bonfida",realOriginContractAddress:"EchesyfXePKdLtoiZSL8pBe8Myagyy8ZRqsACNCFGnvp",realOriginChainId:1,supportsPermit:!0},{name:"Brazilian Digital (Portal from solana)",symbol:"BRZ",mint:"FtgGSFADXBtroxq8VCausXRr2of47QBf5AS1NtZCu4GD",contract:"0x5b1a9850f55d9282a7C4Bf23A2a21B050e3Beb2f",chainId:56,wChainId:4,decimals:4,logoURI:"https://assets.coingecko.com/coins/images/8472/small/2_vtiD3xwce9knG2COxtSMaQ.png?1597786961",coingeckoId:"brz",realOriginContractAddress:"FtgGSFADXBtroxq8VCausXRr2of47QBf5AS1NtZCu4GD",realOriginChainId:1,supportsPermit:!0},{name:"Celsius Network (Portal from Ethereum)",symbol:"CEL",mint:"nRtfwU9G82CSHhHGJNxFhtn7FLvWP2rqvQvje1WtL69",contract:"0xfaF23406406DE9068cA8503f48271233e728d517",chainId:56,wChainId:4,decimals:4,logoURI:"https://assets.coingecko.com/coins/images/3263/small/CEL_logo.png?1609598753",coingeckoId:"celsius-degree-token",realOriginContractAddress:"0xaaaebe6fe48e54f431b0c390cfaf0b017d09d42d",realOriginChainId:2,supportsPermit:!0},{name:"Chainlink (Portal from Ethereum)",symbol:"LINK",mint:"2wpTofQ8SkACrkZWrZDjXPitYa8AwWgX8AfxdeBRRVLX",contract:"0xaf8906b6244A13Dc64404E1715D5702fE8bc1d35",chainId:56,wChainId:4,decimals:18,logoURI:"https://assets.coingecko.com/coins/images/877/small/chainlink-new-logo.png?1547034700",coingeckoId:"chainlink",realOriginContractAddress:"0x514910771af9ca656af840dff83e8264ecf986ca",realOriginChainId:2,supportsPermit:!0},{name:"Cheems (Portal from solana)",symbol:"CHEEMS",mint:"3FoUAsGDbvTD6YZ4wVKJgTB76onJUKz7GPEBNiR5b8wc",contract:"0xe731EDA12D85FfF3C207136008C0b08F33A66570",chainId:56,wChainId:4,decimals:4,logoURI:"https://assets.coingecko.com/coins/images/18358/small/newlogo.png?1644476666",coingeckoId:"cheems",realOriginContractAddress:"3FoUAsGDbvTD6YZ4wVKJgTB76onJUKz7GPEBNiR5b8wc",realOriginChainId:1,supportsPermit:!0},{name:"ChikinCoin (Portal from solana)",symbol:"CKC",mint:"8s9FCz99Wcr3dHpiauFRi6bLXzshXfcGTfgQE7UEopVx",contract:"0x80B526f6393380ccFB688c226C6b2Ac91bA1de86",chainId:56,wChainId:4,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/24978/small/Screenshot_from_2022-04-11_15-47-44.png?1649663281",coingeckoId:"chikincoin",realOriginContractAddress:"8s9FCz99Wcr3dHpiauFRi6bLXzshXfcGTfgQE7UEopVx",realOriginChainId:1,supportsPermit:!0},{name:"ClinTex CTi (Portal from Ethereum)",symbol:"CTI",mint:"9ET2QCQJdFkeKkuaampNbmicbA8eLYauFCWch9Ddh9p5",contract:"0x7C3B67B30eFBAcC8f787f7EBd3bdc65234299f4c",chainId:56,wChainId:4,decimals:18,logoURI:"https://assets.coingecko.com/coins/images/13266/small/CTI.png?1606817542",coingeckoId:"clintex-cti",realOriginContractAddress:"0xcb8fb2438a805664cd8c3e640b85ac473da5be87",realOriginChainId:2,supportsPermit:!0},{name:"Coin98 (Portal from solana)",symbol:"C98",mint:"C98A4nkJXhpVZNAZdHUA95RpTF3T4whtQubL3YobiUX9",contract:"0xAa3A37d3bA662417222E760372B8a67a1a71D480",chainId:56,wChainId:4,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/17117/small/logo.png?1626412904",coingeckoId:"coin98",realOriginContractAddress:"C98A4nkJXhpVZNAZdHUA95RpTF3T4whtQubL3YobiUX9",realOriginChainId:1,supportsPermit:!0},{name:"ConstitutionDAO (Portal from Ethereum)",symbol:"PEOPLE",mint:"CobcsUrt3p91FwvULYKorQejgsm5HoQdv5T8RUZ6PnLA",contract:"0xA7B094a4eA872A5bE53ea57a0e82dF78C2C5F1f0",chainId:56,wChainId:4,decimals:18,logoURI:"https://assets.coingecko.com/coins/images/20612/small/GN_UVm3d_400x400.jpg?1637294355",coingeckoId:"constitutiondao",realOriginContractAddress:"0x7a58c0be72be218b41c608b7fe7c5bb630736c71",realOriginChainId:2,supportsPermit:!0},{name:"Cope (Portal from solana)",symbol:"COPE",mint:"8HGyAAB1yoM1ttS7pXjHMa3dukTFGQggnFFH3hJZgzQh",contract:"0x80Ca0D6D9f4560a396de02fb170B0BC9348A2D97",chainId:56,wChainId:4,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/14567/small/COPE.png?1617162230",coingeckoId:"cope",realOriginContractAddress:"8HGyAAB1yoM1ttS7pXjHMa3dukTFGQggnFFH3hJZgzQh",realOriginChainId:1,supportsPermit:!0},{name:"Konstellation",symbol:"DARC",mint:"CpFE715P5DnDoJj9FbCRcuyHHeTXNdRnvzNkHvq1o23U",contract:"0x8ebc361536094fd5b4ffb8521e31900614c9f55d",chainId:56,wChainId:4,decimals:18,logoURI:"https://assets.coingecko.com/coins/images/2943/small/darctoken.png?1645230834",coingeckoId:"darcmatter-coin",realOriginContractAddress:"0x8ebc361536094fd5b4ffb8521e31900614c9f55d",realOriginChainId:4,supportsPermit:!1},{name:"Dead Knight (Portal from solana)",symbol:"DKM",mint:"HtbhBYdcfXbbD2JiH6jtsTt2m2FXjn7h4k6iXfz98k5W",contract:"0x71Ab1678aCaAfD7Fc011d269b23964f07007d98D",chainId:56,wChainId:4,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/24442/small/SAq1GaQc_400x400.jpg?1647673953",coingeckoId:"dead-knight",realOriginContractAddress:"HtbhBYdcfXbbD2JiH6jtsTt2m2FXjn7h4k6iXfz98k5W",realOriginChainId:1,supportsPermit:!0},{name:"Decentraland (Portal from Ethereum)",symbol:"MANA",mint:"7dgHoN8wBZCc5wbnQ2C47TDnBMAxG4Q5L3KjP67z8kNi",contract:"0xbA707A49858364a1916Ce797023194147F5B4B67",chainId:56,wChainId:4,decimals:18,logoURI:"https://assets.coingecko.com/coins/images/878/small/decentraland-mana.png?1550108745",coingeckoId:"decentraland",realOriginContractAddress:"0x0f5d2fb29fb7d3cfee444a200298f468908cc942",realOriginChainId:2,supportsPermit:!0},{name:"DeFi Land (Portal from solana)",symbol:"DFL",mint:"DFL1zNkaGPWm1BqAVqRjCZvHmwTFrEaJtbzJWgseoNJh",contract:"0x142bF7462bdd7cEd89D9144575409a7ABd99c0D2",chainId:56,wChainId:4,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/18910/small/defilend.png?1637190571",coingeckoId:"defi-land",realOriginContractAddress:"DFL1zNkaGPWm1BqAVqRjCZvHmwTFrEaJtbzJWgseoNJh",realOriginChainId:1,supportsPermit:!0},{name:"Dexlab (Portal from solana)",symbol:"DXL",mint:"GsNzxJfFn6zQdJGeYsupJWzUAm57Ba7335mfhWvFiE9Z",contract:"0x3DC82573e64454851C95432A6A763Ef297209980",chainId:56,wChainId:4,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/17276/small/3_GradientSymbol.png?1650936792",coingeckoId:"dexlab",realOriginContractAddress:"GsNzxJfFn6zQdJGeYsupJWzUAm57Ba7335mfhWvFiE9Z",realOriginChainId:1,supportsPermit:!0},{name:"DogemonGo (Portal from solana)",symbol:"DOGO",mint:"5LSFpvLDkcdV2a3Kiyzmg5YmJsj2XDLySaXvnfP1cgLT",contract:"0xd4f37a22c4e3C1c638E99423ffc1078FcB76921B",chainId:56,wChainId:4,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/17480/small/dogemongo.PNG?1627950869",coingeckoId:"dogemon-go",realOriginContractAddress:"5LSFpvLDkcdV2a3Kiyzmg5YmJsj2XDLySaXvnfP1cgLT",realOriginChainId:1,supportsPermit:!0},{name:"DUST Protocol (Portal from solana)",symbol:"DUST",mint:"DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ",contract:"0xa8961E2B3945272F5098bdaDeb0632f430aCA157",chainId:56,wChainId:4,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/24289/small/dust-protocol-degod.png?1647306854",coingeckoId:"dust-protocol",realOriginContractAddress:"DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ",realOriginChainId:1,supportsPermit:!0},{name:"Famous Fox Federation (Portal from solana)",symbol:"FOXY",mint:"FoXyMu5xwXre7zEoSvzViRk3nGawHUp9kUh97y2NDhcq",contract:"0x7485a0aaC4856Fe63ec2Ece0C1D75C6fa82d7A22",chainId:56,wChainId:4,decimals:0,logoURI:"https://assets.coingecko.com/coins/images/26191/small/uFYaQEsU_400x400.jpg?1656397523",coingeckoId:"famous-fox-federation",realOriginContractAddress:"FoXyMu5xwXre7zEoSvzViRk3nGawHUp9kUh97y2NDhcq",realOriginChainId:1,supportsPermit:!0},{name:"FTX (Portal from Ethereum)",symbol:"FTT",mint:"EzfgjvkSwthhgHaceR3LnKXUoRkP6NUhfghdaHAj1tUv",contract:"0x49BA054B9664e99ac335667a917c63bB94332E84",chainId:56,wChainId:4,decimals:18,logoURI:"https://assets.coingecko.com/coins/images/9026/small/F.png?1609051564",coingeckoId:"ftx-token",realOriginContractAddress:"0x50d1c9771902476076ecfc8b2a83ad6b9355a4c9",realOriginChainId:2,supportsPermit:!0},{name:"Gari Network (Portal from solana)",symbol:"GARI",mint:"CKaKtYvz6dKPyMvYq9Rh3UBrnNqYZAyd7iF4hJtjUvks",contract:"0x7e23f3EE68024f6aE14d201eb90B3ae016521BCb",chainId:56,wChainId:4,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/22615/small/gari.png?1642313087",coingeckoId:"gari-network",realOriginContractAddress:"CKaKtYvz6dKPyMvYq9Rh3UBrnNqYZAyd7iF4hJtjUvks",realOriginChainId:1,supportsPermit:!0},{name:"Genopets (Portal from solana)",symbol:"GENE",mint:"GENEtH5amGSi8kHAtQoezp1XEXwZJ8vcuePYnXdKrMYz",contract:"0xa9ECbf7D4d2d90c3A341E162540f8588f7FbA8BC",chainId:56,wChainId:4,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/20360/small/gene-token.png?1636945172",coingeckoId:"genopets",realOriginContractAddress:"GENEtH5amGSi8kHAtQoezp1XEXwZJ8vcuePYnXdKrMYz",realOriginChainId:1,supportsPermit:!0},{name:"GooseFX (Portal from solana)",symbol:"GOFX",mint:"GFX1ZjR2P15tmrSwow6FjyDYcEkoFb4p4gJCpLBjaxHD",contract:"0x5802D2Efd4AB4FAb7d77C249743230bDffFC6Ef7",chainId:56,wChainId:4,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/19793/small/0Kjm9f4.png?1635906737",coingeckoId:"goosefx",realOriginContractAddress:"GFX1ZjR2P15tmrSwow6FjyDYcEkoFb4p4gJCpLBjaxHD",realOriginChainId:1,supportsPermit:!0},{name:"Grape Protocol (Portal from solana)",symbol:"GRAPE",mint:"8upjSpvjcdpuzhfR1zriwg5NXkwDruejqNE9WNbPRtyA",contract:"0x727c55C17D63a8746A53e1e5f7E8A72A8aaCD885",chainId:56,wChainId:4,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/18149/small/fRsuAlcV_400x400.png?1632437325",coingeckoId:"grape-2",realOriginContractAddress:"8upjSpvjcdpuzhfR1zriwg5NXkwDruejqNE9WNbPRtyA",realOriginChainId:1,supportsPermit:!0},{name:"STEPN Green Satoshi Token on Solana (Portal from solana)",symbol:"GST-SOL",mint:"AFbX8oGjGpmVFywbVouvhQSRmiW2aR1mohfahi4Y2AdB",contract:"0x9769aa47D7688a44e2B9414159ee49Ab9c33bC10",chainId:56,wChainId:4,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/21841/small/gst.png?1640332626",coingeckoId:"green-satoshi-token",realOriginContractAddress:"AFbX8oGjGpmVFywbVouvhQSRmiW2aR1mohfahi4Y2AdB",realOriginChainId:1,supportsPermit:!0},{name:"HAPI (Portal from solana)",symbol:"HAPI",mint:"6VNKqgz9hk7zRShTFdg5AnkfKwZUcojzwAkzxSH3bnUm",contract:"0xAFDCF594a6CFFE8a0cE888C4cE809FAcf7A761b7",chainId:56,wChainId:4,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/14298/small/R9i2HjAL_400x400.jpg?1615332438",coingeckoId:"hapi",realOriginContractAddress:"6VNKqgz9hk7zRShTFdg5AnkfKwZUcojzwAkzxSH3bnUm",realOriginChainId:1,supportsPermit:!0},{name:"Kin (Portal from solana)",symbol:"KIN",mint:"kinXdEcpDQeHPEuQnqmUgtYykqKGVFq6CeVX5iAHJq6",contract:"0x03043561F1708471f07FC106cED204a2E8b20724",chainId:56,wChainId:4,decimals:5,logoURI:"https://assets.coingecko.com/coins/images/959/small/kin.png?1586917032",coingeckoId:"kin",realOriginContractAddress:"kinXdEcpDQeHPEuQnqmUgtYykqKGVFq6CeVX5iAHJq6",realOriginChainId:1,supportsPermit:!0},{name:"Larix (Portal from solana)",symbol:"LARIX",mint:"Lrxqnh6ZHKbGy3dcrCED43nsoLkM1LTzU2jRfWe8qUC",contract:"0x484E95C6a8bd686c2aA968Ee507868fddA708F86",chainId:56,wChainId:4,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/18450/small/larix.PNG?1632092483",coingeckoId:"larix",realOriginContractAddress:"Lrxqnh6ZHKbGy3dcrCED43nsoLkM1LTzU2jRfWe8qUC",realOriginChainId:1,supportsPermit:!0},{name:"Lido DAO (Portal from Ethereum)",symbol:"LDO",mint:"HZRCwxP2Vq9PCpPXooayhJ2bxTpo5xfpQrwB1svh332p",contract:"0x986854779804799C1d68867F5E03e601E781e41b",chainId:56,wChainId:4,decimals:18,logoURI:"https://assets.coingecko.com/coins/images/13573/small/Lido_DAO.png?1609873644",coingeckoId:"lido-dao",realOriginContractAddress:"0x5a98fcbea516cf06857215779fd812ca3bef1b32",realOriginChainId:2,supportsPermit:!0},{name:"Lido Staked SOL (Portal from solana)",symbol:"STSOL",mint:"7dHbWXmci3dT8UFYWYZweBLXgycu7Y3iL6trKn1Y7ARj",contract:"0x39C131bfCace0C5D2a6DA6fdf0Ba8c20C3A16f3C",chainId:56,wChainId:4,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/18369/small/logo_-_2021-09-15T100934.765.png?1631671781",coingeckoId:"lido-staked-sol",realOriginContractAddress:"7dHbWXmci3dT8UFYWYZweBLXgycu7Y3iL6trKn1Y7ARj",realOriginChainId:1,supportsPermit:!0},{name:"Mango (Portal from solana)",symbol:"MNGO",mint:"MangoCzJ36AjZyKwVj3VnYU4GTonjfVEnJmvvWaxLac",contract:"0xDfe6Aee548B5Dc9CDf96fdADF5ED3bc770c01992",chainId:56,wChainId:4,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/14773/small/token-mango.png?1628171237",coingeckoId:"mango-markets",realOriginContractAddress:"MangoCzJ36AjZyKwVj3VnYU4GTonjfVEnJmvvWaxLac",realOriginChainId:1,supportsPermit:!0},{name:"Marinade (Portal from solana)",symbol:"MNDE",mint:"MNDEFzGvMt87ueuHvVU9VcTqsAP5b3fTGPsHuuPA5ey",contract:"0x57076699fF1d42D48422f3472F2434A6D62D4d4D",chainId:56,wChainId:4,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/18867/small/MNDE.png?1643187748",coingeckoId:"marinade",realOriginContractAddress:"MNDEFzGvMt87ueuHvVU9VcTqsAP5b3fTGPsHuuPA5ey",realOriginChainId:1,supportsPermit:!0},{name:"Mercurial (Portal from solana)",symbol:"MER",mint:"MERt85fc5boKw3BW1eYdxonEuJNvXbiMbs6hvheau5K",contract:"0x18D0FE336a2064c5f277741d29954D83fC0376E8",chainId:56,wChainId:4,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/15527/small/mer_logo.png?1621128922",coingeckoId:"mercurial",realOriginContractAddress:"MERt85fc5boKw3BW1eYdxonEuJNvXbiMbs6hvheau5K",realOriginChainId:1,supportsPermit:!0},{name:"MonkeyLeague (Portal from solana)",symbol:"MBS",mint:"Fm9rHUTF5v3hwMLbStjZXqNBBoZyGriQaFM6sTFz3K8A",contract:"0x135b4821134F91a10f34Ca98345D215b725a526c",chainId:56,wChainId:4,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/20841/small/monkeyball.png?1639023123",coingeckoId:"monkeyball",realOriginContractAddress:"Fm9rHUTF5v3hwMLbStjZXqNBBoZyGriQaFM6sTFz3K8A",realOriginChainId:1,supportsPermit:!0},{name:"MoonLana (Portal from solana)",symbol:"MOLA",mint:"AMdnw9H5DFtQwZowVFr4kUgSXJzLokKSinvgGiUoLSps",contract:"0x61ECC86E5D5990BC1EdDcA712689Cb24259626b9",chainId:56,wChainId:4,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/16278/small/NW8RySX.png?1623635238",coingeckoId:"moonlana",realOriginContractAddress:"AMdnw9H5DFtQwZowVFr4kUgSXJzLokKSinvgGiUoLSps",realOriginChainId:1,supportsPermit:!0},{name:"Marinade staked SOL (Portal from solana)",symbol:"MSOL",mint:"mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So",contract:"0xF2beBF36994381595331Af1f11Eb4F8114eD2c09",chainId:56,wChainId:4,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/17752/small/mSOL.png?1644541955",coingeckoId:"msol",realOriginContractAddress:"mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So",realOriginChainId:1,supportsPermit:!0},{name:"Only1 (Portal from solana)",symbol:"LIKE",mint:"3bRTivrVsitbmCTGtqwp7hxXPsybkjn4XLNtPsHqa3zR",contract:"0x122207a7061E19c0dD89305A7798224c97F075b8",chainId:56,wChainId:4,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/17501/small/like-token.png?1628036165",coingeckoId:"only1",realOriginContractAddress:"3bRTivrVsitbmCTGtqwp7hxXPsybkjn4XLNtPsHqa3zR",realOriginChainId:1,supportsPermit:!0},{name:"Orca (Portal from solana)",symbol:"ORCA",mint:"orcaEKTdK7LKz57vaAYr9QeNsVEPfiu6QeMU1kektZE",contract:"0x180646A8E543430f42300d8F12b63Dc5C871e119",chainId:56,wChainId:4,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/17547/small/Orca_Logo.png?1628781615",coingeckoId:"orca",realOriginContractAddress:"orcaEKTdK7LKz57vaAYr9QeNsVEPfiu6QeMU1kektZE",realOriginChainId:1,supportsPermit:!0},{name:"Parrot Protocol (Portal from solana)",symbol:"PRT",mint:"PRT88RkA4Kg5z7pKnezeNH4mafTvtQdfFgpQTGRjz44",contract:"0xBbc0Ef4FC2B05Efcca23e36fA60A48DBC6E19424",chainId:56,wChainId:4,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/18443/small/PRT.png?1634698095",coingeckoId:"parrot-protocol",realOriginContractAddress:"PRT88RkA4Kg5z7pKnezeNH4mafTvtQdfFgpQTGRjz44",realOriginChainId:1,supportsPermit:!0},{name:"Parrot USD (Portal from solana)",symbol:"PAI",mint:"Ea5SjE2Y6yvCeW5dYTn7PYMuW5ikXkvbGdcmSnXeaLjS",contract:"0xDf85be53e5CFA18e964bdfdE0a15049f774B21dE",chainId:56,wChainId:4,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/18439/small/pai.png?1632004568",coingeckoId:"parrot-usd",realOriginContractAddress:"Ea5SjE2Y6yvCeW5dYTn7PYMuW5ikXkvbGdcmSnXeaLjS",realOriginChainId:1,supportsPermit:!0},{name:"Plutonian DAO (Portal from solana)",symbol:"PLD",mint:"2cJgFtnqjaoiu9fKVX3fny4Z4pRzuaqfJ3PBTMk2D9ur",contract:"0x187597F33EF17C7a089150DB29Ab34424Cd41569",chainId:56,wChainId:4,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/25092/small/logo-pld_200.png?1650270204",coingeckoId:"plutonian-dao",realOriginContractAddress:"2cJgFtnqjaoiu9fKVX3fny4Z4pRzuaqfJ3PBTMk2D9ur",realOriginChainId:1,supportsPermit:!0},{name:"RaceFi (Portal from solana)",symbol:"RACEFI",mint:"AAmGoPDFLG6bE82BgZWjVi8k95tj9Tf3vUN7WvtUm2BU",contract:"0x78079551634Ff9c3283639b645256DcC77C9Ee3d",chainId:56,wChainId:4,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/21873/small/XIF9z8Z6_400x400.jpg?1640209612",coingeckoId:"racefi",realOriginContractAddress:"AAmGoPDFLG6bE82BgZWjVi8k95tj9Tf3vUN7WvtUm2BU",realOriginChainId:1,supportsPermit:!0},{name:"Raydium (Portal from solana)",symbol:"RAY",mint:"4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R",contract:"0x13b6A55662f6591f8B8408Af1C73B017E32eEdB8",chainId:56,wChainId:4,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/13928/small/PSigc4ie_400x400.jpg?1612875614",coingeckoId:"raydium",realOriginContractAddress:"4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R",realOriginChainId:1,supportsPermit:!0},{name:"Rollbit Coin (Portal from solana)",symbol:"RLB",mint:"RLBxxFkseAZ4RgJH3Sqn8jXxhmGoz9jWxDNJMh8pL7a",contract:"0x0DE06aAe339B316FFa6d285Afc12580712992e04",chainId:56,wChainId:4,decimals:2,logoURI:"https://assets.coingecko.com/coins/images/24552/small/unziL6wO_400x400.jpg?1648134494",coingeckoId:"rollbit-coin",realOriginContractAddress:"RLBxxFkseAZ4RgJH3Sqn8jXxhmGoz9jWxDNJMh8pL7a",realOriginChainId:1,supportsPermit:!0},{name:"Rope Token (Portal from solana)",symbol:"ROPE",mint:"8PMHT4swUMtBzgHnh5U564N5sjPSiUz2cjEQzFnnP1Fo",contract:"0xB1172d1f6CE870B2390620b10523E801484e73b6",chainId:56,wChainId:4,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/14661/small/rope-v6.png?1619606776",coingeckoId:"rope-token",realOriginContractAddress:"8PMHT4swUMtBzgHnh5U564N5sjPSiUz2cjEQzFnnP1Fo",realOriginChainId:1,supportsPermit:!0},{name:"Saber (Portal from solana)",symbol:"SBR",mint:"Saber2gLauYim4Mvftnrasomsv6NvAuncvMEZwcLpD1",contract:"0x75344E5693ed5ecAdF4f292fFeb866c2cF8afCF1",chainId:56,wChainId:4,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/17162/small/oYs_YFz8_400x400.jpg?1626678457",coingeckoId:"saber",realOriginContractAddress:"Saber2gLauYim4Mvftnrasomsv6NvAuncvMEZwcLpD1",realOriginChainId:1,supportsPermit:!0},{name:"SAIL (Portal from solana)",symbol:"SAIL",mint:"6kwTqmdQkJd8qRr9RjSnUX9XJ24RmJRSrU1rsragP97Y",contract:"0x4c4C7B87e44bf00e413535019159044c5a2C8943",chainId:56,wChainId:4,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/16657/small/SAIL.png?1624608515",coingeckoId:"sail",realOriginContractAddress:"6kwTqmdQkJd8qRr9RjSnUX9XJ24RmJRSrU1rsragP97Y",realOriginChainId:1,supportsPermit:!0},{name:"Samoyedcoin (Portal from solana)",symbol:"SAMO",mint:"7xKXtg2CW87d97TXJSDpbD5jBkheTqA83TZRuJosgAsU",contract:"0x5283b237eDce5bFcBEB01C97298D71f5a994Ec68",chainId:56,wChainId:4,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/15051/small/IXeEj5e.png?1619560738",coingeckoId:"samoyedcoin",realOriginContractAddress:"7xKXtg2CW87d97TXJSDpbD5jBkheTqA83TZRuJosgAsU",realOriginChainId:1,supportsPermit:!0},{name:"Scrap (Portal from solana)",symbol:"SCRAP",mint:"6naWDMGNWwqffJnnXFLBCLaYu1y5U9Rohe5wwJPHvf1p",contract:"0x5aE8Cb1111193e2b6cBDe6d2ae3d8C18f76B9304",chainId:56,wChainId:4,decimals:3,logoURI:"https://assets.coingecko.com/coins/images/23086/small/bd1b1275fdc0ac1.png?1643181131",coingeckoId:"scrap",realOriginContractAddress:"6naWDMGNWwqffJnnXFLBCLaYu1y5U9Rohe5wwJPHvf1p",realOriginChainId:1,supportsPermit:!0},{name:"Serum (Portal from Ethereum)",symbol:"SRM",mint:"xnorPhAzWXUczCP3KjU5yDxmKKZi5cSbxytQ1LgE3kG",contract:"0xd63CDf02853D759831550fAe7dF8FFfE0B317b39",chainId:56,wChainId:4,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/11970/small/serum-logo.png?1597121577",coingeckoId:"serum",realOriginContractAddress:"0x476c5e26a75bd202a9683ffd34359c0cc15be0ff",realOriginChainId:2,supportsPermit:!0},{name:"Serum (Portal from solana)",symbol:"SRM",mint:"SRMuApVNdxXokk5GT7XD5cUUgXMBCoAz2LHeuAoKWRt",contract:"0x12BeffdCEcb547640DC30e1495E4B9cdc21922b4",chainId:56,wChainId:4,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/11970/small/serum-logo.png?1597121577",coingeckoId:"serum",realOriginContractAddress:"SRMuApVNdxXokk5GT7XD5cUUgXMBCoAz2LHeuAoKWRt",realOriginChainId:1,supportsPermit:!0},{name:"Shiba Inu (Portal from Ethereum)",symbol:"SHIB",mint:"CiKu4eHsVrc1eueVQeHn7qhXTcVu95gSQmBpX4utjL9z",contract:"0xb1547683DA678f2e1F003A780143EC10Af8a832B",chainId:56,wChainId:4,decimals:18,logoURI:"https://assets.coingecko.com/coins/images/11939/small/shiba.png?1622619446",coingeckoId:"shiba-inu",realOriginContractAddress:"0x95ad61b0a150d79219dcf64e1e6cc01f0b64c4ce",realOriginChainId:2,supportsPermit:!0},{name:"Project SEED SHILL (Portal from solana)",symbol:"SHILL",mint:"6cVgJUqo4nmvQpbgrDZwyfd6RwWw5bfnCamS3M9N1fd",contract:"0x93A70759b3521d8De481f88e1F726c00309676B1",chainId:56,wChainId:4,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/18176/small/SHILL_Logo.png?1630896205",coingeckoId:"shill-token",realOriginContractAddress:"6cVgJUqo4nmvQpbgrDZwyfd6RwWw5bfnCamS3M9N1fd",realOriginChainId:1,supportsPermit:!0},{name:"Socean Staked Sol (Portal from solana)",symbol:"SCNSOL",mint:"5oVNBeEEQvYi1cX3ir8Dx5n1P7pdxydbGF2X4TxVusJm",contract:"0xf5BF9917E704547f2083d48D2aaf0066BF0DC814",chainId:56,wChainId:4,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/18468/small/biOTzfxE_400x400.png?1633662119",coingeckoId:"socean-staked-sol",realOriginContractAddress:"5oVNBeEEQvYi1cX3ir8Dx5n1P7pdxydbGF2X4TxVusJm",realOriginChainId:1,supportsPermit:!0},{name:"Solanium (Portal from solana)",symbol:"SLIM",mint:"xxxxa1sKNGwFtw2kFn8XauW9xq8hBZ5kVtcSesTT9fW",contract:"0xE3CBa77f89349DB13c1a441B447E4E5dFa374662",chainId:56,wChainId:4,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/15816/small/logo_cg.png?1659000206",coingeckoId:"solanium",realOriginContractAddress:"xxxxa1sKNGwFtw2kFn8XauW9xq8hBZ5kVtcSesTT9fW",realOriginChainId:1,supportsPermit:!0},{name:"SOLAPE (Portal from solana)",symbol:"SOLAPE",mint:"GHvFFSZ9BctWsEc5nujR1MTmmJWY7tgQz2AXE6WVFtGN",contract:"0x82672868482B8436215E4F3fb2F2B1aB427F0b10",chainId:56,wChainId:4,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/16930/small/128px-coin.png?1625753550",coingeckoId:"solape-token",realOriginContractAddress:"GHvFFSZ9BctWsEc5nujR1MTmmJWY7tgQz2AXE6WVFtGN",realOriginChainId:1,supportsPermit:!0},{name:"SolChicks (Portal from solana)",symbol:"CHICKS",mint:"cxxShYRVcepDudXhe7U62QHvw8uBJoKFifmzggGKVC2",contract:"0x2C79098BcD3EF23A11125eb51BD312edFD5B402A",chainId:56,wChainId:4,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/20978/small/chicks.png?1638162821",coingeckoId:"solchicks-token",realOriginContractAddress:"cxxShYRVcepDudXhe7U62QHvw8uBJoKFifmzggGKVC2",realOriginChainId:1,supportsPermit:!0},{name:"Solcial (Portal from solana)",symbol:"SLCL",mint:"SLCLww7nc1PD2gQPQdGayHviVVcpMthnqUz2iWKhNQV",contract:"0x7c15ba1941f249B8653728B2e4B0e43529136C53",chainId:56,wChainId:4,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/24583/small/1_N9szP0_400x400.jpg?1648217020",coingeckoId:"solcial",realOriginContractAddress:"SLCLww7nc1PD2gQPQdGayHviVVcpMthnqUz2iWKhNQV",realOriginChainId:1,supportsPermit:!0},{name:"SolClout (Portal from solana)",symbol:"SCT",mint:"4Te4KJgjtnZe4aE2zne8G4NPfrPjCwDmaiEx9rKnyDVZ",contract:"0x43274dA7818fb8F1d1121D93245ED7c8422EBAf0",chainId:56,wChainId:4,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/21638/small/solclout.jpg?1639630028",coingeckoId:"solclout",realOriginContractAddress:"4Te4KJgjtnZe4aE2zne8G4NPfrPjCwDmaiEx9rKnyDVZ",realOriginChainId:1,supportsPermit:!0},{name:"Tulip Protocol (Portal from solana)",symbol:"TULIP",mint:"TuLipcqtGVXP9XR62wM8WWCm6a9vhLs7T1uoWBk6FDs",contract:"0x5FFF208371047b8F50B97688981a1F1a046C9568",chainId:56,wChainId:4,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/15764/small/TqrUdBG.png?1621827144",coingeckoId:"solfarm",realOriginContractAddress:"TuLipcqtGVXP9XR62wM8WWCm6a9vhLs7T1uoWBk6FDs",realOriginChainId:1,supportsPermit:!0},{name:"Solpad Finance (Portal from solana)",symbol:"SOLPAD",mint:"GfJ3Vq2eSTYf1hJP6kKLE9RT6u7jF9gNszJhZwo5VPZp",contract:"0x282C7A0132f7086c2E7460AD5E324442C521f87E",chainId:56,wChainId:4,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/16368/small/solpad.PNG?1623820231",coingeckoId:"solpad-finance",realOriginContractAddress:"GfJ3Vq2eSTYf1hJP6kKLE9RT6u7jF9gNszJhZwo5VPZp",realOriginChainId:1,supportsPermit:!0},{name:"Solrise Finance (Portal from solana)",symbol:"SLRS",mint:"SLRSSpSLUTP7okbCUBYStWCo1vUgyt775faPqz8HUMr",contract:"0x4eEe11381556EbDb078B6170E55f3E1805e1112b",chainId:56,wChainId:4,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/15762/small/9989.png?1621825696",coingeckoId:"solrise-finance",realOriginContractAddress:"SLRSSpSLUTP7okbCUBYStWCo1vUgyt775faPqz8HUMr",realOriginChainId:1,supportsPermit:!0},{name:"Star Atlas (Portal from solana)",symbol:"ATLAS",mint:"ATLASXmbPQxBUYbxPsV97usA3fPQYEqzQBUHgiFCUsXx",contract:"0x83850D97018f665EB746FBb8f18351e977d1b0D6",chainId:56,wChainId:4,decimals:8,logoURI:"https://assets.coingecko.com/coins/images/17659/small/Icon_Reverse.png?1628759092",coingeckoId:"star-atlas",realOriginContractAddress:"ATLASXmbPQxBUYbxPsV97usA3fPQYEqzQBUHgiFCUsXx",realOriginChainId:1,supportsPermit:!0},{name:"Starbots (Portal from solana)",symbol:"BOT",mint:"AkhdZGVbJXPuQZ53u2LrimCjkRP6ZyxG1SoM85T98eE1",contract:"0xDbCcd9131405DD1fE7320090Af337952B9845DFA",chainId:56,wChainId:4,decimals:8,logoURI:"https://assets.coingecko.com/coins/images/21823/small/coin_%286%29.png?1640076014",coingeckoId:"starbots",realOriginContractAddress:"AkhdZGVbJXPuQZ53u2LrimCjkRP6ZyxG1SoM85T98eE1",realOriginChainId:1,supportsPermit:!0},{name:"Step Finance (Portal from solana)",symbol:"STEP",mint:"StepAscQoEioFxxWGnh2sLBDFp9d8rvKz2Yp39iDpyT",contract:"0xBad2D28192bf0068Ff00284137f081318dE787a1",chainId:56,wChainId:4,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/14988/small/step.png?1619274762",coingeckoId:"step-finance",realOriginContractAddress:"StepAscQoEioFxxWGnh2sLBDFp9d8rvKz2Yp39iDpyT",realOriginChainId:1,supportsPermit:!0},{name:"STEPN (Portal from solana)",symbol:"GMT",mint:"7i5KKsX2weiTkry7jA4ZwSuXGhs5eJBEjY8vVxR4pfRx",contract:"0xB84Acac47ebC20C1AeA46e20F622B6DfaACec83F",chainId:56,wChainId:4,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/23597/small/gmt.png?1644658792",coingeckoId:"stepn",realOriginContractAddress:"7i5KKsX2weiTkry7jA4ZwSuXGhs5eJBEjY8vVxR4pfRx",realOriginChainId:1,supportsPermit:!0},{name:"Sunny Aggregator (Portal from solana)",symbol:"SUNNY",mint:"SUNNYWgPQmFxe9wTZzNK7iPnJ3vYDrkgnxJRJm1s3ag",contract:"0x8e18E1F0fa101d683D1aBde0b061F66aa6380dCA",chainId:56,wChainId:4,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/18039/small/90dbe787-8e5f-473c-b923-fe138a7a30ea.png?1630314924",coingeckoId:"sunny-aggregator",realOriginContractAddress:"SUNNYWgPQmFxe9wTZzNK7iPnJ3vYDrkgnxJRJm1s3ag",realOriginChainId:1,supportsPermit:!0},{name:"Sushi (Portal from Ethereum)",symbol:"SUSHI",mint:"ChVzxWRmrTeSgwd3Ui3UumcN8KX7VK3WaD4KGeSKpypj",contract:"0x3524fd7488fdb1F4723BBc22C9cbD1Bf89f46E3B",chainId:56,wChainId:4,decimals:18,logoURI:"https://assets.coingecko.com/coins/images/12271/small/512x512_Logo_no_chop.png?1606986688",coingeckoId:"sushi",realOriginContractAddress:"0x6b3595068778dd592e39a122f4f5a5cf09c90fe2",realOriginChainId:2,supportsPermit:!0},{name:"Synchrony (Portal from solana)",symbol:"SCY",mint:"SCYfrGCw8aDiqdgcpdGjV6jp4UVVQLuphxTDLNWu36f",contract:"0x37019eB29bA72EE648D84A3FC82c500939FB953e",chainId:56,wChainId:4,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/19308/small/SYNCHRONY-LOGO.png?1634973091",coingeckoId:"synchrony",realOriginContractAddress:"SCYfrGCw8aDiqdgcpdGjV6jp4UVVQLuphxTDLNWu36f",realOriginChainId:1,supportsPermit:!0},{name:"Synex Coin (Portal from solana)",symbol:"MINECRAFT",mint:"FTkj421DxbS1wajE74J34BJ5a1o9ccA97PkK6mYq9hNQ",contract:"0x60e5EF0Ae3DEaFe3Eec96DF2921E8D33F503BFd1",chainId:56,wChainId:4,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/21247/small/logo_-_2021-12-06T135451.604.png?1638770098",coingeckoId:"synex-coin",realOriginContractAddress:"FTkj421DxbS1wajE74J34BJ5a1o9ccA97PkK6mYq9hNQ",realOriginChainId:1,supportsPermit:!0},{name:"Synthetic USD (Portal from solana)",symbol:"XUSD",mint:"83LGLCm7QKpYZbX8q4W2kYWbtt8NJBwbVwEepzkVnJ9y",contract:"0x3DFcC17EB686d260d080a830826F21473c064D49",chainId:56,wChainId:4,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/19596/small/uJzDI4j.png?1635488810",coingeckoId:"synthetic-usd",realOriginContractAddress:"83LGLCm7QKpYZbX8q4W2kYWbtt8NJBwbVwEepzkVnJ9y",realOriginChainId:1,supportsPermit:!0},{name:"Synthetify (Portal from solana)",symbol:"SNY",mint:"4dmKkXNHdgYsXqBHCuMikNQWwVomZURhYvkkX5c4pQ7y",contract:"0xacaCa3260a41715215A38BfB82d2221FC20c93CC",chainId:56,wChainId:4,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/14835/small/synthetify_token.png?1618611507",coingeckoId:"synthetify-token",realOriginContractAddress:"4dmKkXNHdgYsXqBHCuMikNQWwVomZURhYvkkX5c4pQ7y",realOriginChainId:1,supportsPermit:!0},{name:"Sypool (Portal from solana)",symbol:"SYP",mint:"FnKE9n6aGjQoNWRBZXy4RW6LZVao7qwBonUbiD7edUmZ",contract:"0xBA1Ee032E9eD59AD0c0216e55C561767529615FB",chainId:56,wChainId:4,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/18518/small/sypool.PNG?1632268218",coingeckoId:"sypool",realOriginContractAddress:"FnKE9n6aGjQoNWRBZXy4RW6LZVao7qwBonUbiD7edUmZ",realOriginChainId:1,supportsPermit:!0},{name:"Tap Fantasy MC (Portal from solana)",symbol:"TFMC",mint:"FYUkUybywqUUyrUwiAezbvhTp2DUgx1eg8tQNiKkXqJ9",contract:"0x0b450b428E48E6986C9bC15CA560c7e2C1bE705b",chainId:56,wChainId:4,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/26483/small/Tap-Fantasy-MC-Logo.png?1658279327",coingeckoId:"tap-fantasy-mc",realOriginContractAddress:"FYUkUybywqUUyrUwiAezbvhTp2DUgx1eg8tQNiKkXqJ9",realOriginChainId:1,supportsPermit:!0},{name:"Tether (Portal from Polygon)",symbol:"USDT",mint:"5goWRao6a3yNC4d6UjMdQxonkCMvKBwdpubU3qhfcdf1",contract:"0xD343968e46690D6C89A88a36a5B8CE5Fb5D65AC4",chainId:56,wChainId:4,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/325/small/Tether.png?1668148663",coingeckoId:"tether",realOriginContractAddress:"0xc2132d05d31c914a87c6611c10748aeb04b58e8f",realOriginChainId:5,supportsPermit:!0},{name:"Tether",symbol:"USDT",mint:"8qJSyQprMC57TWKaYEmetUR3UUiTP2M3hXdcvFhkZdmv",contract:"0x55d398326f99059ff775485246999027b3197955",chainId:56,wChainId:4,decimals:18,logoURI:"https://assets.coingecko.com/coins/images/325/small/Tether-logo.png?1598003707",coingeckoId:"tether",realOriginContractAddress:"0x55d398326f99059ff775485246999027b3197955",realOriginChainId:4,supportsPermit:!1},{name:"Tether (Portal from Ethereum)",symbol:"USDT",mint:"Dn4noZ5jgGfkntzcQSUZ8czkreiZ1ForXYoV2H8Dm7S1",contract:"0x524bC91Dc82d6b90EF29F76A3ECAaBAffFD490Bc",chainId:56,wChainId:4,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/325/small/Tether-logo.png?1598003707",coingeckoId:"tether",realOriginContractAddress:"0xdac17f958d2ee523a2206206994597c13d831ec7",realOriginChainId:2,supportsPermit:!0},{name:"Tether (Portal from solana)",symbol:"USDT",mint:"Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB",contract:"0x49d5cC521F75e13fa8eb4E89E9D381352C897c96",chainId:56,wChainId:4,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/325/small/Tether-logo.png?1598003707",coingeckoId:"tether",realOriginContractAddress:"Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB",realOriginChainId:1,supportsPermit:!0},{name:"The Sandbox (Portal from Ethereum)",symbol:"SAND",mint:"49c7WuCZkQgc3M4qH8WuEUNXfgwupZf1xqWkDQ7gjRGt",contract:"0x306891aaE4d076FA431277E482C847e931f2883D",chainId:56,wChainId:4,decimals:18,logoURI:"https://assets.coingecko.com/coins/images/12129/small/sandbox_logo.jpg?1597397942",coingeckoId:"the-sandbox",realOriginContractAddress:"0x3845badade8e6dff049820680d1f14bd3903a5d0",realOriginChainId:2,supportsPermit:!0},{name:"tudaBirds (Portal from solana)",symbol:"BURD",mint:"Qikhhhg9Ta3Jg7WoDFbSYuCAE14hx9hPvdz1zVp3zUw",contract:"0x5b1C54F37EE79bF2836325a597a6a0ba53139c62",chainId:56,wChainId:4,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/22839/small/_TOvRxfx_400x400.jpg?1642745695",coingeckoId:"tudabirds",realOriginContractAddress:"Qikhhhg9Ta3Jg7WoDFbSYuCAE14hx9hPvdz1zVp3zUw",realOriginChainId:1,supportsPermit:!0},{name:"Uniswap (Portal from Ethereum)",symbol:"UNI",mint:"8FU95xFJhUUkyyCLU13HSzDLs7oC4QZdXQHL6SCeab36",contract:"0xB8C9eafe23670f5287034844742d3Df497260389",chainId:56,wChainId:4,decimals:18,logoURI:"https://assets.coingecko.com/coins/images/12504/small/uniswap-uni.png?1600306604",coingeckoId:"uniswap",realOriginContractAddress:"0x1f9840a85d5af5bf1d1762f925bdaddc4201f984",realOriginChainId:2,supportsPermit:!0},{name:"Bridged USDC (Portal from Polygon)",symbol:"USDC.e",mint:"E2VmbootbVCBkMNNxKQgCLMS1X3NoGMaYAsufaAsf7M",contract:"0x672147dD47674757C457eB155BAA382cc10705Dd",chainId:56,wChainId:4,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/6319/small/USD_Coin_icon.png?1547042389",coingeckoId:"usd-coin",realOriginContractAddress:"0x2791bca1f2de4661ed88a30c99a7a9449aa84174",realOriginChainId:5,supportsPermit:!0},{name:"USD Coin (Portal from Ethereum)",symbol:"USDC",mint:"A9mUU4qviSctJVPJdBJWkb28deg915LYJKrzQ19ji3FM",contract:"0xB04906e95AB5D797aDA81508115611fee694c2b3",chainId:56,wChainId:4,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/6319/small/USD_Coin_icon.png?1547042389",coingeckoId:"usd-coin",realOriginContractAddress:"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",realOriginChainId:2,supportsPermit:!0},{name:"USD Coin (Portal from solana)",symbol:"USDC",mint:"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",contract:"0x91Ca579B0D47E5cfD5D0862c21D5659d39C8eCf0",chainId:56,wChainId:4,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/6319/small/USD_Coin_icon.png?1547042389",coingeckoId:"usd-coin",realOriginContractAddress:"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",realOriginChainId:1,supportsPermit:!0},{name:"USDH (Portal from solana)",symbol:"USDH",mint:"USDH1SM1ojwWUga67PGrgFWUHibbjqMvuMaDkRJTgkX",contract:"0xb6C8A0B4D451e571fedcE9deC318745a6C6b0036",chainId:56,wChainId:4,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/22941/small/USDH_icon.png?1643008131",coingeckoId:"usdh",realOriginContractAddress:"USDH1SM1ojwWUga67PGrgFWUHibbjqMvuMaDkRJTgkX",realOriginChainId:1,supportsPermit:!0},{name:"Waggle Network (Portal from solana)",symbol:"WAG",mint:"5tN42n9vMi6ubp67Uy4NnmM5DMZYN8aS8GeB3bEDHr6E",contract:"0x705290CE4cA50E7ddFeea58e4c2359fe3c9D4DA1",chainId:56,wChainId:4,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/18696/small/waggle.PNG?1633750177",coingeckoId:"waggle-network",realOriginContractAddress:"5tN42n9vMi6ubp67Uy4NnmM5DMZYN8aS8GeB3bEDHr6E",realOriginChainId:1,supportsPermit:!0},{name:"Wrapped BNB",symbol:"WBNB",mint:"9gP2kCy3wA1ctvYWQk75guqXuHfrEomqydHLtcTCqiLa",contract:"0xbb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c",chainId:56,wChainId:4,decimals:18,logoURI:"https://assets.coingecko.com/coins/images/12591/small/binance-coin-logo.png?1600947313",coingeckoId:"wbnb",realOriginContractAddress:"0xbb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c",realOriginChainId:4,supportsPermit:!1},{name:"WETH (Portal from Ethereum)",symbol:"WETH",mint:"7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs",contract:"0x4DB5a66E937A9F4473fA95b1cAF1d1E1D62E29EA",chainId:56,wChainId:4,decimals:18,logoURI:"https://assets.coingecko.com/coins/images/2518/small/weth.png?1628852295",coingeckoId:"weth",realOriginContractAddress:"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",realOriginChainId:2,supportsPermit:!0},{name:"WEYU",symbol:"WEYU",mint:"EHaEBhYHWA7HSphorXXosysJem6qF4agccoqDqQKCUge",contract:"0xfafd4cb703b25cb22f43d017e7e0d75febc26743",chainId:56,wChainId:4,decimals:18,logoURI:"https://assets.coingecko.com/coins/images/18112/small/weyu.PNG?1630542552",coingeckoId:"weyu",realOriginContractAddress:"0xfafd4cb703b25cb22f43d017e7e0d75febc26743",realOriginChainId:4,supportsPermit:!1},{name:"Wrapped Matic (Portal from Polygon)",symbol:"WMATIC",mint:"Gz7VkD4MacbEB6yC5XD3HcumEiYx2EtDYYrfikGsvopG",contract:"0xc836d8dC361E44DbE64c4862D55BA041F88Ddd39",chainId:56,wChainId:4,decimals:18,logoURI:"https://assets.coingecko.com/coins/images/14073/small/matic.png?1628852392",coingeckoId:"wmatic",realOriginContractAddress:"0x0d500b1d8e8ef31e21c99d1db9a6444d3adf1270",realOriginChainId:5,supportsPermit:!0},{name:"WOOF (Portal from solana)",symbol:"WOOF",mint:"9nEqaUcb16sQ3Tn1psbkWqyhPdLmfHWjKGymREjsAgTE",contract:"0x5a16A1814Ef033679c7d0a8AF32fE910E3C25560",chainId:56,wChainId:4,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/18319/small/woof-logo-svg-true-solana-radient-blackinside.png?1637655115",coingeckoId:"woof-token",realOriginContractAddress:"9nEqaUcb16sQ3Tn1psbkWqyhPdLmfHWjKGymREjsAgTE",realOriginChainId:1,supportsPermit:!0},{name:"Wrapped AVAX (Portal from Avalanche)",symbol:"WAVAX",mint:"KgV1GvrHQmRBY8sHQQeUKwTm2r2h8t4C8qt12Cw1HVE",contract:"0x96412902aa9aFf61E13f085e70D3152C6ef2a817",chainId:56,wChainId:4,decimals:18,logoURI:"https://assets.coingecko.com/coins/images/15075/small/wrapped-avax.png?1629873618",coingeckoId:"wrapped-avax",realOriginContractAddress:"0xb31f66aa3c1e785363f0875a1b74e27b85fd66c7",realOriginChainId:6,supportsPermit:!0},{name:"Wrapped Bitcoin (Sollet) (Portal from solana)",symbol:"SOBTC",mint:"9n4nbM75f5Ui33ZbPYXn59EwSgE8CGsHtAeTH5YFeJ9E",contract:"0xA9dBcE5FE45f51Fb1FeFe8693b2bBAA9e5F8D0bB",chainId:56,wChainId:4,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/24917/small/opengraph.png?1649344256",coingeckoId:"wrapped-bitcoin-sollet",realOriginContractAddress:"9n4nbM75f5Ui33ZbPYXn59EwSgE8CGsHtAeTH5YFeJ9E",realOriginChainId:1,supportsPermit:!0},{name:"Wrapped BUSD (Allbridge from BSC) (Portal from solana)",symbol:"ABBUSD",mint:"6nuaX3ogrr2CaoAPjtaKHAoBNWok32BMcRozuf32s2QF",contract:"0xeeF9B822924b7D4a9f6E22A712655efcBf7Cca3D",chainId:56,wChainId:4,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/23061/small/logo_-_2022-01-26T091043.556.png?1643159457",coingeckoId:"wrapped-busd-allbridge-from-bsc",realOriginContractAddress:"6nuaX3ogrr2CaoAPjtaKHAoBNWok32BMcRozuf32s2QF",realOriginChainId:1,supportsPermit:!0},{name:"Wrapped Chainlink (Sollet) (Portal from solana)",symbol:"SOLINK",mint:"CWE8jPTUYhdCTZYWPTe1o5DFqfdjzWKc9WKz6rSjQUdG",contract:"0x001F4C92df87cE07313634e2B11752B3b0712c9e",chainId:56,wChainId:4,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/24705/small/qvSHhRyC_400x400.jpg?1648646324",coingeckoId:"wrapped-chainlink-sollet",realOriginContractAddress:"CWE8jPTUYhdCTZYWPTe1o5DFqfdjzWKc9WKz6rSjQUdG",realOriginChainId:1,supportsPermit:!0},{name:"Wrapped CUSD (Allbridge from Celo) (Portal from solana)",symbol:"ACUSD",mint:"EwxNF8g9UfmsJVcZFTpL9Hx5MCkoQFoJi6XNWzKf1j8e",contract:"0xDff036520e70e33043fc9b6eC7B4C681be1bcDF5",chainId:56,wChainId:4,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/23057/small/7236.png?1643153224",coingeckoId:"wrapped-cusd-allbridge-from-celo",realOriginContractAddress:"EwxNF8g9UfmsJVcZFTpL9Hx5MCkoQFoJi6XNWzKf1j8e",realOriginChainId:1,supportsPermit:!0},{name:"Wrapped Solana (Portal from solana)",symbol:"wSOL",mint:"So11111111111111111111111111111111111111112",contract:"0xfA54fF1a158B5189Ebba6ae130CEd6bbd3aEA76e",chainId:56,wChainId:4,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/21629/small/solana.jpg?1639626543",coingeckoId:"wrapped-solana",realOriginContractAddress:"So11111111111111111111111111111111111111112",realOriginChainId:1,supportsPermit:!0},{name:"Wrapped USDT (Allbridge from Polygon) (Portal from solana)",symbol:"APUSDT",mint:"DNhZkUaxHXYvpxZ7LNnHtss8sQgdAfd1ZYS1fB7LKWUZ",contract:"0xDc4039357980994B3754CF98B0144E2821CB3579",chainId:56,wChainId:4,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/23060/small/logo_-_2022-01-26T084912.902.png?1643158161",coingeckoId:"wrapped-usdt-allbridge-from-polygon",realOriginContractAddress:"DNhZkUaxHXYvpxZ7LNnHtss8sQgdAfd1ZYS1fB7LKWUZ",realOriginChainId:1,supportsPermit:!0},{name:"Wrapped YFI (Sollet) (Portal from solana)",symbol:"SOYFI",mint:"3JSf5tPeuscJGtaCp5giEiDhv51gQ4v3zWg8DGgyLfAB",contract:"0x359446eC76b147A055ad7dF90F38709D1907370F",chainId:56,wChainId:4,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/24704/small/yl4nOJno_400x400.jpg?1648646042",coingeckoId:"wrapped-yfi-sollet",realOriginContractAddress:"3JSf5tPeuscJGtaCp5giEiDhv51gQ4v3zWg8DGgyLfAB",realOriginChainId:1,supportsPermit:!0},{name:"Zap",symbol:"ZAP",mint:"HxPoEHMt1vKeqjKCePcqTj6yYgn6Xqq1fKTY3Pjx4YrX",contract:"0xc5326b32e8baef125acd68f8bc646fd646104f1c",chainId:56,wChainId:4,decimals:18,logoURI:"https://assets.coingecko.com/coins/images/2180/small/zap.png?1547036476",coingeckoId:"zap",realOriginContractAddress:"0xc5326b32e8baef125acd68f8bc646fd646104f1c",realOriginChainId:4,supportsPermit:!1},{name:"Zebec Protocol (Portal from solana)",symbol:"ZBC",mint:"zebeczgi5fSEtbpfQKVZKCJ3WgYXxjkMUkNNx7fLKAF",contract:"0x6D1054C3102E842314e250b9e9C4Be327b8DaaE2",chainId:56,wChainId:4,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/24342/small/zbc.PNG?1647400775",coingeckoId:"zebec-protocol",realOriginContractAddress:"zebeczgi5fSEtbpfQKVZKCJ3WgYXxjkMUkNNx7fLKAF",realOriginChainId:1,supportsPermit:!0},{name:"Basket (Portal from Solana)",symbol:"BSKT",mint:"6gnCPhXtLnUD76HjQuSYPENLSZdG8RvDB1pTLM5aLSJA",contract:"0xaF42A5df3C1C1427DA8FC0326bD7b030A9367e78",chainId:56,wChainId:4,decimals:5,logoURI:"https://assets.coingecko.com/coins/images/34661/small/BSKT_Logo.png?1705636891",coingeckoId:"basket",realOriginContractAddress:"6gnCPhXtLnUD76HjQuSYPENLSZdG8RvDB1pTLM5aLSJA",realOriginChainId:1,supportsPermit:!0},{name:"WETH (Portal from Optimism)",symbol:"WETH",mint:"8M6d63oL7dvMZ1gNbgGe3h8afMSWJEKEhtPTFM2u8h3c",contract:"0x94AEc09B5e2CE591e39DC6aa58A3A6E85Ed45265",chainId:56,wChainId:4,decimals:18,logoURI:"https://assets.coingecko.com/coins/images/2518/small/weth.png?1696503332",coingeckoId:"weth",realOriginContractAddress:"0x4200000000000000000000000000000000000006",realOriginChainId:24,supportsPermit:!0},{name:"USDC (Portal from Optimism)",symbol:"USDC",mint:"J8kcD4Wnd1ehne1dpL8WNtgZQR6Jpui2cTZcrmg5ybAa",contract:"0xa41ae127D04F7ee73B5058E2C60Fb7c7A2D21F79",chainId:56,wChainId:4,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/6319/small/usdc.png?1696506694",coingeckoId:"usd-coin",realOriginContractAddress:"0x0b2c639c533813f4aa9d7837caf62653d097ff85",realOriginChainId:24,supportsPermit:!0},{name:"Bridged USDC (Optimism) (Portal from Optimism)",symbol:"USDC.E",mint:"D6YyAUMTJipLQfUhYs6psdnwpmMz6KbM4Qs9AtCmPpxR",contract:"0xf697E6070599a192Dbc0907609e7A0bB4CFC4b41",chainId:56,wChainId:4,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/31580/small/USDC-icon.png?1696530397",coingeckoId:"bridged-usd-coin-optimism",realOriginContractAddress:"0x7f5c764cbc14f9669b88837ca1490cca17c31607",realOriginChainId:24,supportsPermit:!0},{name:"Tether (Portal from Optimism)",symbol:"USDT",mint:"CLV6gB88nQtnuo3akGLSVRFaiFPTXaBXV4EDaFxV7iRq",contract:"0xe38FEb1B0Fa77979c39Df0EBd61Bf8BAeE25B675",chainId:56,wChainId:4,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/325/small/Tether.png?1696501661",coingeckoId:"tether",realOriginContractAddress:"0x94b008aa00579c1307b0ef2c499ad98a8ce58e58",realOriginChainId:24,supportsPermit:!0}],solana=[{name:"SOL",symbol:"SOL",mint:"So11111111111111111111111111111111111111112",contract:"0x0000000000000000000000000000000000000000",chainId:0,wChainId:1,decimals:9,logoURI:"https://statics.mayan.finance/SOL.png",wrappedAddress:"So11111111111111111111111111111111111111112",coingeckoId:"solana",realOriginContractAddress:"So11111111111111111111111111111111111111112",realOriginChainId:1,supportsPermit:!1},{name:"Drift Protocol",symbol:"DRIFT",mint:"DriFtupJYLTosbwoN8koMbEYSx54aFAVLddWsbksjwg7",contract:"DriFtupJYLTosbwoN8koMbEYSx54aFAVLddWsbksjwg7",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/37509/small/DRIFT.png?1715842607",coingeckoId:"drift-protocol",realOriginContractAddress:"DriFtupJYLTosbwoN8koMbEYSx54aFAVLddWsbksjwg7",realOriginChainId:1},{name:"Wormhole",symbol:"W",mint:"85VBFQZC9TZkfaptBWjvUw7YbZjy52A6mjtPGjstQAmQ",contract:"85VBFQZC9TZkfaptBWjvUw7YbZjy52A6mjtPGjstQAmQ",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/35087/small/womrhole_logo_full_color_rgb_2000px_72ppi_fb766ac85a.png?1708688954",coingeckoId:"wormhole",realOriginContractAddress:"85VBFQZC9TZkfaptBWjvUw7YbZjy52A6mjtPGjstQAmQ",realOriginChainId:1},{name:"Jupiter",symbol:"JUP",mint:"JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN",contract:"JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/34188/small/jup.png?1704266489",coingeckoId:"jupiter-exchange-solana",realOriginContractAddress:"JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN",realOriginChainId:1,supportsPermit:!1},{name:"Basket",symbol:"BSKT",mint:"6gnCPhXtLnUD76HjQuSYPENLSZdG8RvDB1pTLM5aLSJA",contract:"6gnCPhXtLnUD76HjQuSYPENLSZdG8RvDB1pTLM5aLSJA",chainId:0,wChainId:1,decimals:5,logoURI:"https://assets.coingecko.com/coins/images/34661/small/BSKT_Logo.png?1705636891",coingeckoId:"basket",realOriginContractAddress:"6gnCPhXtLnUD76HjQuSYPENLSZdG8RvDB1pTLM5aLSJA",realOriginChainId:1,supportsPermit:!1},{name:"Wen",symbol:"$WEN",mint:"WENWENvqqNya429ubCdR81ZmD69brwQaaBYY6p3LCpk",contract:"WENWENvqqNya429ubCdR81ZmD69brwQaaBYY6p3LCpk",chainId:0,wChainId:1,decimals:5,logoURI:"https://assets.coingecko.com/coins/images/34856/small/wen.jpeg?1706281701",coingeckoId:"wen-4",realOriginContractAddress:"WENWENvqqNya429ubCdR81ZmD69brwQaaBYY6p3LCpk",realOriginChainId:1,supportsPermit:!1},{name:"USDC (Portal from Arbitrum)",symbol:"USDC",mint:"CR4xnGrhsu1fWNPoX4KbTUUtqGMF3mzRLfj4S6YEs1Yo",contract:"CR4xnGrhsu1fWNPoX4KbTUUtqGMF3mzRLfj4S6YEs1Yo",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/6319/small/usdc.png?1696506694",coingeckoId:"usd-coin",realOriginContractAddress:"0xaf88d065e77c8cc2239327c5edb3a432268e5831",realOriginChainId:23,supportsPermit:!1},{name:"LessFnGas",symbol:"LFG",mint:"LFG1ezantSY2LPX8jRz2qa31pPEhpwN9msFDzZw4T9Q",contract:"LFG1ezantSY2LPX8jRz2qa31pPEhpwN9msFDzZw4T9Q",chainId:0,wChainId:1,decimals:7,logoURI:"https://assets.coingecko.com/coins/images/34141/small/gpjWSfjo_400x400.jpg?1704180211",coingeckoId:"lessfngas",realOriginContractAddress:"LFG1ezantSY2LPX8jRz2qa31pPEhpwN9msFDzZw4T9Q",realOriginChainId:1,supportsPermit:!1},{name:"Popo, Pepe's Dog",symbol:"$POPO",mint:"96QoNkZLTKH7Gecf6dKMRXBQXW1wqh378uF9pnTejgAw",contract:"96QoNkZLTKH7Gecf6dKMRXBQXW1wqh378uF9pnTejgAw",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/33898/small/msg-4035486419-2265.jpg?1703236543",coingeckoId:"popo-pepe-s-dog",realOriginContractAddress:"96QoNkZLTKH7Gecf6dKMRXBQXW1wqh378uF9pnTejgAw",realOriginChainId:1,supportsPermit:!1},{name:"Jito",symbol:"JTO",mint:"jtojtomepa8beP8AuQc6eXt5FriJwfFMwQx2v2f9mCL",contract:"jtojtomepa8beP8AuQc6eXt5FriJwfFMwQx2v2f9mCL",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/33228/small/jto.png?1701137022",coingeckoId:"jito-governance-token",realOriginContractAddress:"jtojtomepa8beP8AuQc6eXt5FriJwfFMwQx2v2f9mCL",realOriginChainId:1,supportsPermit:!1},{name:"Solanacorn",symbol:"CORN",mint:"6DSqVXg9WLTWgz6LACqxN757QdHe1sCqkUfojWmxWtok",contract:"6DSqVXg9WLTWgz6LACqxN757QdHe1sCqkUfojWmxWtok",chainId:0,wChainId:1,decimals:7,logoURI:"https://assets.coingecko.com/coins/images/33100/small/200x200.png?1700948230",coingeckoId:"solanacorn",realOriginContractAddress:"6DSqVXg9WLTWgz6LACqxN757QdHe1sCqkUfojWmxWtok",realOriginChainId:1,supportsPermit:!1},{name:"Liquid Solana Derivative",symbol:"LSD",mint:"DDti34vnkrCehR8fih6dTGpPuc3w8tL4XQ4QLQhc3xPa",contract:"DDti34vnkrCehR8fih6dTGpPuc3w8tL4XQ4QLQhc3xPa",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/33209/small/IMG_3480.jpeg?1701083888",coingeckoId:"liquid-solana-derivative",realOriginContractAddress:"DDti34vnkrCehR8fih6dTGpPuc3w8tL4XQ4QLQhc3xPa",realOriginChainId:1,supportsPermit:!1},{name:"Myro",symbol:"$MYRO",mint:"HhJpBhRRn4g56VsyLuT8DL5Bv31HkXqsrahTTUCZeZg4",contract:"HhJpBhRRn4g56VsyLuT8DL5Bv31HkXqsrahTTUCZeZg4",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/32878/small/MYRO_200x200.png?1699709942",coingeckoId:"myro",realOriginContractAddress:"HhJpBhRRn4g56VsyLuT8DL5Bv31HkXqsrahTTUCZeZg4",realOriginChainId:1,supportsPermit:!1},{name:"Ponk",symbol:"PONK",mint:"HeqCcMjmuV5s25J49YiJyT6bD5qWLkP88YPajBySniaV",contract:"HeqCcMjmuV5s25J49YiJyT6bD5qWLkP88YPajBySniaV",chainId:0,wChainId:1,decimals:5,logoURI:"https://assets.coingecko.com/coins/images/33065/small/PONK_%284%29.png?1700498498",coingeckoId:"ponk",realOriginContractAddress:"HeqCcMjmuV5s25J49YiJyT6bD5qWLkP88YPajBySniaV",realOriginChainId:1,supportsPermit:!1},{name:"Jupiter Perps",symbol:"JLP",mint:"27G8MtK7VtTcCHkpASjSDdkWWYfoqT6ggEuKidVJidD4",contract:"27G8MtK7VtTcCHkpASjSDdkWWYfoqT6ggEuKidVJidD4",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/33094/small/jlp.png?1700631386",coingeckoId:"jupiter-perpetuals-liquidity-provider-token",realOriginContractAddress:"27G8MtK7VtTcCHkpASjSDdkWWYfoqT6ggEuKidVJidD4",realOriginChainId:1,supportsPermit:!1},{name:"Pyth Network",symbol:"PYTH",mint:"HZ1JovNiVvGrGNiiYvEozEVgZ58xaU3RKwX8eACQBCt3",contract:"HZ1JovNiVvGrGNiiYvEozEVgZ58xaU3RKwX8eACQBCt3",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/31924/small/Pyth_Logomark_%281%29.png?1696530732",coingeckoId:"pyth-network",realOriginContractAddress:"HZ1JovNiVvGrGNiiYvEozEVgZ58xaU3RKwX8eACQBCt3",realOriginChainId:1,supportsPermit:!1},{name:"Wrapped Bitcoin (Portal from Ethereum)",symbol:"WBTC",mint:"3NZ9JMVBmGAqocybic2c7LQCJScmgsAZ6vQqTDzcqmJh",contract:"3NZ9JMVBmGAqocybic2c7LQCJScmgsAZ6vQqTDzcqmJh",chainId:0,wChainId:1,decimals:8,logoURI:"https://assets.coingecko.com/coins/images/7598/small/wrapped_bitcoin_wbtc.png?1548822744",coingeckoId:"wrapped-bitcoin",realOriginContractAddress:"0x2260fac5e5542a773aa44fbcfedf7c193bc2c599",realOriginChainId:2,supportsPermit:!1},{name:"Helium",symbol:"HNT",mint:"hntyVP6YFm1Hg25TN9WGLqM12b8TQmcknKrdu1oxWux",contract:"hntyVP6YFm1Hg25TN9WGLqM12b8TQmcknKrdu1oxWux",chainId:0,wChainId:1,decimals:8,logoURI:"https://assets.coingecko.com/coins/images/4284/small/Helium_HNT.png?1612620071",coingeckoId:"helium",realOriginContractAddress:"hntyVP6YFm1Hg25TN9WGLqM12b8TQmcknKrdu1oxWux",realOriginChainId:1,supportsPermit:!1},{name:"SWEETS",symbol:"$SWTS",mint:"5SwxhEunuUUcWe4ojybdDwky6dpLxAehNmF4AA71STNh",contract:"5SwxhEunuUUcWe4ojybdDwky6dpLxAehNmF4AA71STNh",chainId:0,wChainId:1,decimals:5,logoURI:"https://assets.coingecko.com/coins/images/30294/small/CG_SWEETS.png?1683867695",coingeckoId:"sweets",realOriginContractAddress:"5SwxhEunuUUcWe4ojybdDwky6dpLxAehNmF4AA71STNh",realOriginChainId:1,supportsPermit:!1},{name:"Guacamole",symbol:"GUAC",mint:"AZsHEMXd36Bj1EMNXhowJajpUXzrKcK57wW4ZGXVa7yR",contract:"AZsHEMXd36Bj1EMNXhowJajpUXzrKcK57wW4ZGXVa7yR",chainId:0,wChainId:1,decimals:5,logoURI:"https://assets.coingecko.com/coins/images/30119/small/GUAC_Official_Logo.png?1683249431",coingeckoId:"guacamole",realOriginContractAddress:"AZsHEMXd36Bj1EMNXhowJajpUXzrKcK57wW4ZGXVa7yR",realOriginChainId:1,supportsPermit:!1},{name:"KING",symbol:"KING",mint:"9noXzpXnkyEcKF3AeXqUHTdR59V5uvrRBUZ9bwfQwxeq",contract:"9noXzpXnkyEcKF3AeXqUHTdR59V5uvrRBUZ9bwfQwxeq",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/30183/small/king.png?1683600013",coingeckoId:"king-2",realOriginContractAddress:"9noXzpXnkyEcKF3AeXqUHTdR59V5uvrRBUZ9bwfQwxeq",realOriginChainId:1,supportsPermit:!1},{name:"WETH (Portal from Arbitrum)",symbol:"WETH",mint:"CSD6JQMvLi46psjHdpfFdr826mF336pEVMJgjwcoS1m4",contract:"CSD6JQMvLi46psjHdpfFdr826mF336pEVMJgjwcoS1m4",chainId:0,wChainId:1,decimals:8,logoURI:"https://assets.coingecko.com/coins/images/2518/small/weth.png?1628852295",coingeckoId:"weth",realOriginContractAddress:"0x82af49447d8a07e3bd95bd0d56f35241523fbab1",realOriginChainId:23,supportsPermit:!1},{name:"Tether (Portal from Arbitrum)",symbol:"USDT",mint:"H9o3LaDfoMSVLm9aBWaY56eMmPGDbRFnUHpqcTb9exXB",contract:"H9o3LaDfoMSVLm9aBWaY56eMmPGDbRFnUHpqcTb9exXB",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/325/small/Tether.png?1668148663",coingeckoId:"tether",realOriginContractAddress:"0xfd086bc7cd5c481dcc9c85ebe478a1c0b69fcbb9",realOriginChainId:23,supportsPermit:!1},{name:"USD Coin (Arb1)(Portal from Arbitrum)",symbol:"USDC.e",mint:"HAxCJjnmgkdXhwZYeJiUvBgm4NdQvqhGJCS3KxCnCxWs",contract:"HAxCJjnmgkdXhwZYeJiUvBgm4NdQvqhGJCS3KxCnCxWs",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/6319/small/USD_Coin_icon.png?1547042389",coingeckoId:"usd-coin",realOriginContractAddress:"0xff970a61a04b1ca14834a43f5de4533ebddb5cc8",realOriginChainId:23,supportsPermit:!1},{name:"USD Coin (Portal from Avalanche)",symbol:"USDC",mint:"FHfba3ov5P3RjaiLVgh8FTv4oirxQDoVXuoUUDvHuXax",contract:"FHfba3ov5P3RjaiLVgh8FTv4oirxQDoVXuoUUDvHuXax",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/6319/small/USD_Coin_icon.png?1547042389",coingeckoId:"usd-coin",realOriginContractAddress:"0xb97ef9ef8734c71904d8002f8b6bc66dd9c48a6e",realOriginChainId:6,supportsPermit:!1},{name:"Hades",symbol:"HADES",mint:"BWXrrYFhT7bMHmNBFoQFWdsSgA3yXoAnMhDK6Fn1eSEn",contract:"BWXrrYFhT7bMHmNBFoQFWdsSgA3yXoAnMhDK6Fn1eSEn",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/28819/small/hadeswap.jpeg?1674624974",coingeckoId:"hades",realOriginContractAddress:"BWXrrYFhT7bMHmNBFoQFWdsSgA3yXoAnMhDK6Fn1eSEn",realOriginChainId:1,supportsPermit:!1},{name:"Tether (Portal from Avalanche)",symbol:"USDT",mint:"Kz1csQA91WUGcQ2TB3o5kdGmWmMGp8eJcDEyHzNDVCX",contract:"Kz1csQA91WUGcQ2TB3o5kdGmWmMGp8eJcDEyHzNDVCX",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/325/small/Tether.png?1668148663",coingeckoId:"tether",realOriginContractAddress:"0x9702230a8ea53601f5cd2dc00fdbc13d4df4a8c7",realOriginChainId:6,supportsPermit:!1},{name:"USD Coin (Portal from BSC)",symbol:"USDC",mint:"FCqfQSujuPxy6V42UvafBhsysWtEq1vhjfMN1PUbgaxA",contract:"FCqfQSujuPxy6V42UvafBhsysWtEq1vhjfMN1PUbgaxA",chainId:0,wChainId:1,decimals:8,logoURI:"https://assets.coingecko.com/coins/images/6319/small/USD_Coin_icon.png?1547042389",coingeckoId:"usd-coin",realOriginContractAddress:"0x8ac76a51cc950d9822d68b83fe1ad97b32cd580d",realOriginChainId:4,supportsPermit:!1},{name:"Dai (Portal from Ethereum)",symbol:"DAI",mint:"EjmyN6qEC1Tf1JxiG1ae7UTJhUxSwk1TCWNWqxWV4J6o",contract:"EjmyN6qEC1Tf1JxiG1ae7UTJhUxSwk1TCWNWqxWV4J6o",chainId:0,wChainId:1,decimals:8,logoURI:"https://assets.coingecko.com/coins/images/9956/small/4943.png?1636636734",coingeckoId:"dai",realOriginContractAddress:"0x6b175474e89094c44da98b954eedeac495271d0f",realOriginChainId:2,supportsPermit:!1},{name:"1Sol (Portal from Ethereum)",symbol:"1SOL",mint:"4ThReWAbAVZjNVgs5Ui9Pk3cZ5TYaD9u6Y89fp6EFzoF",contract:"4ThReWAbAVZjNVgs5Ui9Pk3cZ5TYaD9u6Y89fp6EFzoF",chainId:0,wChainId:1,decimals:8,logoURI:"https://assets.coingecko.com/coins/images/21615/small/YyGDie9f_400x400.jpg?1639610633",coingeckoId:"1sol",realOriginContractAddress:"0x009178997aff09a67d4caccfeb897fb79d036214",realOriginChainId:2,supportsPermit:!1},{name:"agEUR (Portal from Ethereum)",symbol:"AGEUR",mint:"CbNYA9n3927uXUukee2Hf4tm3xxkffJPPZvGazc2EAH1",contract:"CbNYA9n3927uXUukee2Hf4tm3xxkffJPPZvGazc2EAH1",chainId:0,wChainId:1,decimals:8,logoURI:"https://assets.coingecko.com/coins/images/19479/small/agEUR.png?1635283566",coingeckoId:"ageur",realOriginContractAddress:"0x1a7e4e63778b4f12a199c062f3efdd288afcbce8",realOriginChainId:2,supportsPermit:!1},{name:"Aldrin",symbol:"RIN",mint:"E5ndSkaB17Dm7CsD22dvcjfrYSDLCxFcMd6z8ddCk5wp",contract:"E5ndSkaB17Dm7CsD22dvcjfrYSDLCxFcMd6z8ddCk5wp",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/16849/small/Aldrin.png?1629959768",coingeckoId:"aldrin",realOriginContractAddress:"E5ndSkaB17Dm7CsD22dvcjfrYSDLCxFcMd6z8ddCk5wp",realOriginChainId:1,supportsPermit:!1},{name:"Aleph.im (Portal from Ethereum)",symbol:"ALEPH",mint:"3UCMiSnkcnkPE1pgQ5ggPCBv6dXgVUy16TmMUe1WpG9x",contract:"3UCMiSnkcnkPE1pgQ5ggPCBv6dXgVUy16TmMUe1WpG9x",chainId:0,wChainId:1,decimals:8,logoURI:"https://assets.coingecko.com/coins/images/11676/small/Monochram-aleph.png?1608483725",coingeckoId:"aleph",realOriginContractAddress:"0x27702a26126e0b3702af63ee09ac4d1a084ef628",realOriginChainId:2,supportsPermit:!1},{name:"Alien Chicken Farm",symbol:"ACF",mint:"2cZv8HrgcWSvC6n1uEiS48cEQGb1d3fiowP2rpa4wBL9",contract:"2cZv8HrgcWSvC6n1uEiS48cEQGb1d3fiowP2rpa4wBL9",chainId:0,wChainId:1,decimals:2,logoURI:"https://assets.coingecko.com/coins/images/25441/small/acf-token_%281%29.png?1651760005",coingeckoId:"alien-chicken-farm",realOriginContractAddress:"2cZv8HrgcWSvC6n1uEiS48cEQGb1d3fiowP2rpa4wBL9",realOriginChainId:1,supportsPermit:!1},{name:"ALL.ART",symbol:"AART",mint:"F3nefJBcejYbtdREjui1T9DPh5dBgpkKq7u2GAAMXs5B",contract:"F3nefJBcejYbtdREjui1T9DPh5dBgpkKq7u2GAAMXs5B",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/22012/small/all-art.PNG?1640590472",coingeckoId:"all-art",realOriginContractAddress:"F3nefJBcejYbtdREjui1T9DPh5dBgpkKq7u2GAAMXs5B",realOriginChainId:1,supportsPermit:!1},{name:"Allbridge",symbol:"ABR",mint:"a11bdAAuV8iB2fu7X6AxAvDTo1QZ8FXB3kk5eecdasp",contract:"a11bdAAuV8iB2fu7X6AxAvDTo1QZ8FXB3kk5eecdasp",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/18690/small/abr.png?1640742053",coingeckoId:"allbridge",realOriginContractAddress:"a11bdAAuV8iB2fu7X6AxAvDTo1QZ8FXB3kk5eecdasp",realOriginChainId:1,supportsPermit:!1},{name:"Amulet Staked SOL",symbol:"AMTSOL",mint:"SoLW9muuNQmEAoBws7CWfYQnXRXMVEG12cQhy6LE2Zf",contract:"SoLW9muuNQmEAoBws7CWfYQnXRXMVEG12cQhy6LE2Zf",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/27786/small/amtSOL200x200.png?1665814113",coingeckoId:"amulet-staked-sol",realOriginContractAddress:"SoLW9muuNQmEAoBws7CWfYQnXRXMVEG12cQhy6LE2Zf",realOriginChainId:1,supportsPermit:!1},{name:"ApeXit Finance",symbol:"APEX",mint:"51tMb3zBKDiQhNwGqpgwbavaGH54mk8fXFzxTc1xnasg",contract:"51tMb3zBKDiQhNwGqpgwbavaGH54mk8fXFzxTc1xnasg",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/16864/small/cg.png?1625470996",coingeckoId:"apexit-finance",realOriginContractAddress:"51tMb3zBKDiQhNwGqpgwbavaGH54mk8fXFzxTc1xnasg",realOriginChainId:1,supportsPermit:!1},{name:"Apricot",symbol:"APRT",mint:"APTtJyaRX5yGTsJU522N4VYWg3vCvSb65eam5GrPT5Rt",contract:"APTtJyaRX5yGTsJU522N4VYWg3vCvSb65eam5GrPT5Rt",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/20636/small/hF_3FMuH_400x400.jpg?1637399870",coingeckoId:"apricot",realOriginContractAddress:"APTtJyaRX5yGTsJU522N4VYWg3vCvSb65eam5GrPT5Rt",realOriginChainId:1,supportsPermit:!1},{name:"APYSwap",symbol:"APYS",mint:"5JnZ667P3VcjDinkJFysWh2K2KtViy63FZ3oL5YghEhW",contract:"5JnZ667P3VcjDinkJFysWh2K2KtViy63FZ3oL5YghEhW",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/14163/small/apys.png?1635831990",coingeckoId:"apyswap",realOriginContractAddress:"5JnZ667P3VcjDinkJFysWh2K2KtViy63FZ3oL5YghEhW",realOriginChainId:1,supportsPermit:!1},{name:"ARB Protocol",symbol:"ARB",mint:"9tzZzEHsKnwFL1A3DyFJwj36KnZj3gZ7g4srWp9YTEoh",contract:"9tzZzEHsKnwFL1A3DyFJwj36KnZj3gZ7g4srWp9YTEoh",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/26046/small/IMG_3600.png?1656916820",coingeckoId:"arb-protocol",realOriginContractAddress:"9tzZzEHsKnwFL1A3DyFJwj36KnZj3gZ7g4srWp9YTEoh",realOriginChainId:1,supportsPermit:!1},{name:"Arenum",symbol:"ARNM",mint:"3Dy8KFyvpUJ8nfRCbvk4HLWjNRRzxiVhTeE9PQF9RARD",contract:"3Dy8KFyvpUJ8nfRCbvk4HLWjNRRzxiVhTeE9PQF9RARD",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/24393/small/6253dcf123d4f40001e9c793_CryptoCoin_1024.png?1649733527",coingeckoId:"arenum",realOriginContractAddress:"3Dy8KFyvpUJ8nfRCbvk4HLWjNRRzxiVhTeE9PQF9RARD",realOriginChainId:1,supportsPermit:!1},{name:"ARTE",symbol:"ARTE",mint:"6Dujewcxn1qCd6rcj448SXQL9YYqTcqZCNQdCn3xJAKS",contract:"6Dujewcxn1qCd6rcj448SXQL9YYqTcqZCNQdCn3xJAKS",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/23556/small/token_200.png?1644473079",coingeckoId:"arte",realOriginContractAddress:"6Dujewcxn1qCd6rcj448SXQL9YYqTcqZCNQdCn3xJAKS",realOriginChainId:1,supportsPermit:!1},{name:"ArtiCoin",symbol:"ATC",mint:"GXnw9YSt6DANCt84Ti6ZpbaXvrvuEJFCYqrDjygnq4R8",contract:"GXnw9YSt6DANCt84Ti6ZpbaXvrvuEJFCYqrDjygnq4R8",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/25232/small/LOGO-256.png?1650953344",coingeckoId:"articoin",realOriginContractAddress:"GXnw9YSt6DANCt84Ti6ZpbaXvrvuEJFCYqrDjygnq4R8",realOriginChainId:1,supportsPermit:!1},{name:"Astrals GLXY",symbol:"GLXY",mint:"CJ5U6wPmjxFUyTJpUTS7Rt1UqhTmSVRMvmJ8WD4nndXW",contract:"CJ5U6wPmjxFUyTJpUTS7Rt1UqhTmSVRMvmJ8WD4nndXW",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/25389/small/glxy.png?1651661031",coingeckoId:"astrals-glxy",realOriginContractAddress:"CJ5U6wPmjxFUyTJpUTS7Rt1UqhTmSVRMvmJ8WD4nndXW",realOriginChainId:1,supportsPermit:!1},{name:"Atlas DEX",symbol:"ATS",mint:"HJbNXx2YMRxgfUJ6K4qeWtjatMK5KYQT1QnsCdDWywNv",contract:"HJbNXx2YMRxgfUJ6K4qeWtjatMK5KYQT1QnsCdDWywNv",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/23002/small/logo.png?1643091340",coingeckoId:"atlas-dex",realOriginContractAddress:"HJbNXx2YMRxgfUJ6K4qeWtjatMK5KYQT1QnsCdDWywNv",realOriginChainId:1,supportsPermit:!1},{name:"AtPay",symbol:"ATPAY",mint:"CWBzupvyXN1Cf5rsBEHbzfTFvreLfUaJ77BMNLVJ739y",contract:"CWBzupvyXN1Cf5rsBEHbzfTFvreLfUaJ77BMNLVJ739y",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/27254/small/atpay.png?1663049746",coingeckoId:"atpay",realOriginContractAddress:"CWBzupvyXN1Cf5rsBEHbzfTFvreLfUaJ77BMNLVJ739y",realOriginChainId:1,supportsPermit:!1},{name:"Audius (Portal from Ethereum)",symbol:"AUDIO",mint:"9LzCMqDgTKYz9Drzqnpgee3SGa89up3a247ypMj2xrqM",contract:"9LzCMqDgTKYz9Drzqnpgee3SGa89up3a247ypMj2xrqM",chainId:0,wChainId:1,decimals:8,logoURI:"https://assets.coingecko.com/coins/images/12913/small/AudiusCoinLogo_2x.png?1603425727",coingeckoId:"audius",realOriginContractAddress:"0x18aaa7115705e8be94bffebde57af9bfc265b998",realOriginChainId:2,supportsPermit:!1},{name:"Aurory",symbol:"AURY",mint:"AURYydfxJib1ZkTir1Jn1J9ECYUtjb6rKQVmtYaixWPP",contract:"AURYydfxJib1ZkTir1Jn1J9ECYUtjb6rKQVmtYaixWPP",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/19324/small/Ico_Blanc.png?1672824647",coingeckoId:"aurory",realOriginContractAddress:"AURYydfxJib1ZkTir1Jn1J9ECYUtjb6rKQVmtYaixWPP",realOriginChainId:1,supportsPermit:!1},{name:"Avenue Hamilton Token",symbol:"AHT",mint:"AHT1yynTv45s3P3KrRfQCVMHckdHeMVA3fteEg34xt9y",contract:"AHT1yynTv45s3P3KrRfQCVMHckdHeMVA3fteEg34xt9y",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/28086/small/7FbZmTSKMsSqtlfe8yH1n3QgdBc3RBBt0B6dsdprVBs.png?1667724654",coingeckoId:"avenue-hamilton-token",realOriginContractAddress:"AHT1yynTv45s3P3KrRfQCVMHckdHeMVA3fteEg34xt9y",realOriginChainId:1,supportsPermit:!1},{name:"Avenue University Token",symbol:"AUT",mint:"AUT1gfMZw37wMMQqAxk89nfpjZpEEf2XSoBUd8V5ydnS",contract:"AUT1gfMZw37wMMQqAxk89nfpjZpEEf2XSoBUd8V5ydnS",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/28087/small/T-R84Zo32rDOA5Wo66T8jAlqcyjD7Folt1oeCfjlizU.png?1667724695",coingeckoId:"avenue-university-token",realOriginContractAddress:"AUT1gfMZw37wMMQqAxk89nfpjZpEEf2XSoBUd8V5ydnS",realOriginChainId:1,supportsPermit:!1},{name:"Axie Infinity (Portal from Ethereum)",symbol:"AXS",mint:"HysWcbHiYY9888pHbaqhwLYZQeZrcQMXKQWRqS7zcPK5",contract:"HysWcbHiYY9888pHbaqhwLYZQeZrcQMXKQWRqS7zcPK5",chainId:0,wChainId:1,decimals:8,logoURI:"https://assets.coingecko.com/coins/images/13029/small/axie_infinity_logo.png?1604471082",coingeckoId:"axie-infinity",realOriginContractAddress:"0xbb0e17ef65f82ab018d8edd776e8dd940327b28b",realOriginChainId:2,supportsPermit:!1},{name:"Baby Samo Coin",symbol:"BABY",mint:"Uuc6hiKT9Y6ASoqs2phonGGw2LAtecfJu9yEohppzWH",contract:"Uuc6hiKT9Y6ASoqs2phonGGw2LAtecfJu9yEohppzWH",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/20262/small/386VuTho_400x400.jpg?1636704021",coingeckoId:"baby-samo-coin",realOriginContractAddress:"Uuc6hiKT9Y6ASoqs2phonGGw2LAtecfJu9yEohppzWH",realOriginChainId:1,supportsPermit:!1},{name:"Balloonsville AIR",symbol:"AIR",mint:"E6eCEE3KqjRD5UxcBYQTdV8Z535hyaBuFin9Udm6s6bz",contract:"E6eCEE3KqjRD5UxcBYQTdV8Z535hyaBuFin9Udm6s6bz",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/24853/small/9CmgcH6.png?1649134566",coingeckoId:"balloonsville-air",realOriginContractAddress:"E6eCEE3KqjRD5UxcBYQTdV8Z535hyaBuFin9Udm6s6bz",realOriginChainId:1,supportsPermit:!1},{name:"Bamboo Coin",symbol:"BMBO",mint:"5sM9xxcBTM9rWza6nEgq2cShA87JjTBx1Cu82LjgmaEg",contract:"5sM9xxcBTM9rWza6nEgq2cShA87JjTBx1Cu82LjgmaEg",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/19620/small/FC0hnduacAAHYFC.png?1635496724",coingeckoId:"bamboo-coin",realOriginContractAddress:"5sM9xxcBTM9rWza6nEgq2cShA87JjTBx1Cu82LjgmaEg",realOriginChainId:1,supportsPermit:!1},{name:"Bancambios AX",symbol:"BXS",mint:"pH5wWJc3KhdeVQSt86DU31pdcL9c8P88x2FQoKEJVHC",contract:"pH5wWJc3KhdeVQSt86DU31pdcL9c8P88x2FQoKEJVHC",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/25644/small/81660481.png?1652949329",coingeckoId:"bancambios-ax",realOriginContractAddress:"pH5wWJc3KhdeVQSt86DU31pdcL9c8P88x2FQoKEJVHC",realOriginChainId:1,supportsPermit:!1},{name:"basis.markets",symbol:"BASIS",mint:"Basis9oJw9j8cw53oMV7iqsgo6ihi9ALw4QR31rcjUJa",contract:"Basis9oJw9j8cw53oMV7iqsgo6ihi9ALw4QR31rcjUJa",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/21444/small/tkQevyc.png?1653297101",coingeckoId:"basis-markets",realOriginContractAddress:"Basis9oJw9j8cw53oMV7iqsgo6ihi9ALw4QR31rcjUJa",realOriginChainId:1,supportsPermit:!1},{name:"BiLira",symbol:"TRYB",mint:"A94X2fRy3wydNShU4dRaDyap2UuoeWJGWyATtyp61WZf",contract:"A94X2fRy3wydNShU4dRaDyap2UuoeWJGWyATtyp61WZf",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/10119/small/JBs9jiXO_400x400.jpg?1642668342",coingeckoId:"bilira",realOriginContractAddress:"A94X2fRy3wydNShU4dRaDyap2UuoeWJGWyATtyp61WZf",realOriginChainId:1,supportsPermit:!1},{name:"Binance USD (Portal from BSC)",symbol:"BUSD",mint:"5RpUwQ8wtdPCZHhu6MERp2RGrpobsbZ6MH5dDHkUjs2",contract:"5RpUwQ8wtdPCZHhu6MERp2RGrpobsbZ6MH5dDHkUjs2",chainId:0,wChainId:1,decimals:8,logoURI:"https://assets.coingecko.com/coins/images/9576/small/BUSD.png?1568947766",coingeckoId:"binance-usd",realOriginContractAddress:"0xe9e7cea3dedca5984780bafc599bd69add087d56",realOriginChainId:4,supportsPermit:!1},{name:"Bitmon",symbol:"BIT",mint:"EGiWZhNk3vUNJr35MbL2tY5YD6D81VVZghR2LgEFyXZh",contract:"EGiWZhNk3vUNJr35MbL2tY5YD6D81VVZghR2LgEFyXZh",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/25282/small/BT-logo.png?1651127844",coingeckoId:"bitmon",realOriginContractAddress:"EGiWZhNk3vUNJr35MbL2tY5YD6D81VVZghR2LgEFyXZh",realOriginChainId:1,supportsPermit:!1},{name:"Bitspawn",symbol:"SPWN",mint:"5U9QqCPhqXAJcEv9uyzFJd5zhN93vuPk1aNNkXnUfPnt",contract:"5U9QqCPhqXAJcEv9uyzFJd5zhN93vuPk1aNNkXnUfPnt",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/16513/small/token_logo.png?1631603192",coingeckoId:"bitspawn",realOriginContractAddress:"5U9QqCPhqXAJcEv9uyzFJd5zhN93vuPk1aNNkXnUfPnt",realOriginChainId:1,supportsPermit:!1},{name:"BlazeStake Staked SOL",symbol:"BSOL",mint:"bSo13r4TkiE4KumL71LsHTPpL2euBYLFx6h9HP3piy1",contract:"bSo13r4TkiE4KumL71LsHTPpL2euBYLFx6h9HP3piy1",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/26636/small/blazesolana.png?1659328728",coingeckoId:"blazestake-staked-sol",realOriginContractAddress:"bSo13r4TkiE4KumL71LsHTPpL2euBYLFx6h9HP3piy1",realOriginChainId:1,supportsPermit:!1},{name:"Blockasset",symbol:"BLOCK",mint:"NFTUkR4u7wKxy9QLaX2TGvd9oZSWoMo4jqSJqdMb7Nk",contract:"NFTUkR4u7wKxy9QLaX2TGvd9oZSWoMo4jqSJqdMb7Nk",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/21332/small/Blockasset-Logo-Symbol.png?1648442722",coingeckoId:"blockasset",realOriginContractAddress:"NFTUkR4u7wKxy9QLaX2TGvd9oZSWoMo4jqSJqdMb7Nk",realOriginChainId:1,supportsPermit:!1},{name:"Blocksmith Labs Forge",symbol:"$FORGE",mint:"FoRGERiW7odcCBGU1bztZi16osPBHjxharvDathL5eds",contract:"FoRGERiW7odcCBGU1bztZi16osPBHjxharvDathL5eds",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/25411/small/Logo_%281%29.png?1651733020",coingeckoId:"blocksmith-labs-forge",realOriginContractAddress:"FoRGERiW7odcCBGU1bztZi16osPBHjxharvDathL5eds",realOriginChainId:1,supportsPermit:!1},{name:"bofb",symbol:"BOFB",mint:"45wdSjpSqZCk9mkqmq5Nh7beCEqqUJMJcVduwYCip5eq",contract:"45wdSjpSqZCk9mkqmq5Nh7beCEqqUJMJcVduwYCip5eq",chainId:0,wChainId:1,decimals:8,logoURI:"https://assets.coingecko.com/coins/images/24866/small/2qsZgpxd_400x400.jpg?1649166378",coingeckoId:"bofb",realOriginContractAddress:"45wdSjpSqZCk9mkqmq5Nh7beCEqqUJMJcVduwYCip5eq",realOriginChainId:1,supportsPermit:!1},{name:"Boryoku Dragonz",symbol:"BOKU",mint:"CN7qFa5iYkHz99PTctvT4xXUHnxwjQ5MHxCuTJtPN5uS",contract:"CN7qFa5iYkHz99PTctvT4xXUHnxwjQ5MHxCuTJtPN5uS",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/20820/small/ZdgsxFPV_400x400.png?1637721291",coingeckoId:"boku",realOriginContractAddress:"CN7qFa5iYkHz99PTctvT4xXUHnxwjQ5MHxCuTJtPN5uS",realOriginChainId:1,supportsPermit:!1},{name:"Bonfida",symbol:"FIDA",mint:"EchesyfXePKdLtoiZSL8pBe8Myagyy8ZRqsACNCFGnvp",contract:"EchesyfXePKdLtoiZSL8pBe8Myagyy8ZRqsACNCFGnvp",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/13395/small/bonfida.png?1658327819",coingeckoId:"bonfida",realOriginContractAddress:"EchesyfXePKdLtoiZSL8pBe8Myagyy8ZRqsACNCFGnvp",realOriginChainId:1,supportsPermit:!1},{name:"Bonk",symbol:"BONK",mint:"DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263",contract:"DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263",chainId:0,wChainId:1,decimals:5,logoURI:"https://assets.coingecko.com/coins/images/28600/small/bonk.jpg?1672304290",coingeckoId:"bonk",realOriginContractAddress:"DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263",realOriginChainId:1,supportsPermit:!1},{name:"Boring Protocol",symbol:"BOP",mint:"BLwTnYKqf7u4qjgZrrsKeNs2EzWkMLqVCu6j8iHyrNA3",contract:"BLwTnYKqf7u4qjgZrrsKeNs2EzWkMLqVCu6j8iHyrNA3",chainId:0,wChainId:1,decimals:8,logoURI:"https://assets.coingecko.com/coins/images/16828/small/imgonline-com-ua-resize-VT59gqn-Bya-WGG.jpg?1625210880",coingeckoId:"boring-protocol",realOriginContractAddress:"BLwTnYKqf7u4qjgZrrsKeNs2EzWkMLqVCu6j8iHyrNA3",realOriginChainId:1,supportsPermit:!1},{name:"Boryoku Genesis Dragonz Index",symbol:"DRGNZ",mint:"CzXF8oUJSsB9ADKV99WAi2TgytqAyKvQw6EihwiL9em4",contract:"CzXF8oUJSsB9ADKV99WAi2TgytqAyKvQw6EihwiL9em4",chainId:0,wChainId:1,decimals:2,logoURI:"https://assets.coingecko.com/coins/images/24386/small/AzJI7FQ.png?1647501836",coingeckoId:"boryoku-genesis-dragonz-index",realOriginContractAddress:"CzXF8oUJSsB9ADKV99WAi2TgytqAyKvQw6EihwiL9em4",realOriginChainId:1,supportsPermit:!1},{name:"Boxch",symbol:"BOXCH",mint:"Boxch1343xWQWbahVBPhYHuYLXNHnWYHG6QbuqfNugQ1",contract:"Boxch1343xWQWbahVBPhYHuYLXNHnWYHG6QbuqfNugQ1",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/26119/small/Group_212.png?1667726216",coingeckoId:"boxch",realOriginContractAddress:"Boxch1343xWQWbahVBPhYHuYLXNHnWYHG6QbuqfNugQ1",realOriginChainId:1,supportsPermit:!1},{name:"Bridgesplit Brand Index",symbol:"BBI",mint:"GRsoqmhsS7fCLpEqqE7oRM92ag3WVy8VbJAi6KfWSeHS",contract:"GRsoqmhsS7fCLpEqqE7oRM92ag3WVy8VbJAi6KfWSeHS",chainId:0,wChainId:1,decimals:2,logoURI:"https://assets.coingecko.com/coins/images/25640/small/a.png?1652942415",coingeckoId:"bridgesplit-brand-index",realOriginContractAddress:"GRsoqmhsS7fCLpEqqE7oRM92ag3WVy8VbJAi6KfWSeHS",realOriginChainId:1,supportsPermit:!1},{name:"Brazilian Digital",symbol:"BRZ",mint:"FtgGSFADXBtroxq8VCausXRr2of47QBf5AS1NtZCu4GD",contract:"FtgGSFADXBtroxq8VCausXRr2of47QBf5AS1NtZCu4GD",chainId:0,wChainId:1,decimals:4,logoURI:"https://assets.coingecko.com/coins/images/8472/small/2_vtiD3xwce9knG2COxtSMaQ.png?1597786961",coingeckoId:"brz",realOriginContractAddress:"FtgGSFADXBtroxq8VCausXRr2of47QBf5AS1NtZCu4GD",realOriginChainId:1,supportsPermit:!1},{name:"BunnyDucky",symbol:"BUD",mint:"BUD1144GGYwmMRFs4Whjfkom5UHqC9a8dZHPVvR2vfPx",contract:"BUD1144GGYwmMRFs4Whjfkom5UHqC9a8dZHPVvR2vfPx",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/25934/small/bdlogo.png?1654758682",coingeckoId:"bunnyducky",realOriginContractAddress:"BUD1144GGYwmMRFs4Whjfkom5UHqC9a8dZHPVvR2vfPx",realOriginChainId:1,supportsPermit:!1},{name:"Capybara",symbol:"CAPY",mint:"CAPYD6Lrm7bTZ6C7t7JvSxvpEcfKQ9YNB7kUjh6p6XBN",contract:"CAPYD6Lrm7bTZ6C7t7JvSxvpEcfKQ9YNB7kUjh6p6XBN",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/22000/small/logo_-_2021-12-27T143844.581.png?1640587159",coingeckoId:"capybara",realOriginContractAddress:"CAPYD6Lrm7bTZ6C7t7JvSxvpEcfKQ9YNB7kUjh6p6XBN",realOriginChainId:1,supportsPermit:!1},{name:"Catalina Whales Index",symbol:"WHALES",mint:"DSXWF79VQ3RzFBB67WeNfCzfzAQq5X6m97zi85bq1TRx",contract:"DSXWF79VQ3RzFBB67WeNfCzfzAQq5X6m97zi85bq1TRx",chainId:0,wChainId:1,decimals:2,logoURI:"https://assets.coingecko.com/coins/images/27053/small/whales.png?1661507402",coingeckoId:"catalina-whales-index",realOriginContractAddress:"DSXWF79VQ3RzFBB67WeNfCzfzAQq5X6m97zi85bq1TRx",realOriginChainId:1,supportsPermit:!1},{name:"CATO",symbol:"CATO",mint:"5p2zjqCd1WJzAVgcEnjhb9zWDU7b9XVhFhx4usiyN7jB",contract:"5p2zjqCd1WJzAVgcEnjhb9zWDU7b9XVhFhx4usiyN7jB",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/17031/small/CATO200newlogo.png?1648448136",coingeckoId:"cato",realOriginContractAddress:"5p2zjqCd1WJzAVgcEnjhb9zWDU7b9XVhFhx4usiyN7jB",realOriginChainId:1,supportsPermit:!1},{name:"CaveWorld",symbol:"CAVE",mint:"4SZjjNABoqhbd4hnapbvoEPEqT8mnNkfbEoAwALf1V8t",contract:"4SZjjNABoqhbd4hnapbvoEPEqT8mnNkfbEoAwALf1V8t",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/19358/small/token.png?1650866628",coingeckoId:"cave",realOriginContractAddress:"4SZjjNABoqhbd4hnapbvoEPEqT8mnNkfbEoAwALf1V8t",realOriginChainId:1,supportsPermit:!1},{name:"Celsius Network (Portal from Ethereum)",symbol:"CEL",mint:"nRtfwU9G82CSHhHGJNxFhtn7FLvWP2rqvQvje1WtL69",contract:"nRtfwU9G82CSHhHGJNxFhtn7FLvWP2rqvQvje1WtL69",chainId:0,wChainId:1,decimals:4,logoURI:"https://assets.coingecko.com/coins/images/3263/small/CEL_logo.png?1609598753",coingeckoId:"celsius-degree-token",realOriginContractAddress:"0xaaaebe6fe48e54f431b0c390cfaf0b017d09d42d",realOriginChainId:2,supportsPermit:!1},{name:"Chainlink (Portal from Ethereum)",symbol:"LINK",mint:"2wpTofQ8SkACrkZWrZDjXPitYa8AwWgX8AfxdeBRRVLX",contract:"2wpTofQ8SkACrkZWrZDjXPitYa8AwWgX8AfxdeBRRVLX",chainId:0,wChainId:1,decimals:8,logoURI:"https://assets.coingecko.com/coins/images/877/small/chainlink-new-logo.png?1547034700",coingeckoId:"chainlink",realOriginContractAddress:"0x514910771af9ca656af840dff83e8264ecf986ca",realOriginChainId:2,supportsPermit:!1},{name:"Charactbit",symbol:"CHB",mint:"YtfMZ4jg2ubdz4GasY86iuGjHdo5rCPJnFqgSf8gxAz",contract:"YtfMZ4jg2ubdz4GasY86iuGjHdo5rCPJnFqgSf8gxAz",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/24863/small/200x_logo.png?1649165917",coingeckoId:"charactbit",realOriginContractAddress:"YtfMZ4jg2ubdz4GasY86iuGjHdo5rCPJnFqgSf8gxAz",realOriginChainId:1,supportsPermit:!1},{name:"Cheems",symbol:"CHEEMS",mint:"3FoUAsGDbvTD6YZ4wVKJgTB76onJUKz7GPEBNiR5b8wc",contract:"3FoUAsGDbvTD6YZ4wVKJgTB76onJUKz7GPEBNiR5b8wc",chainId:0,wChainId:1,decimals:4,logoURI:"https://assets.coingecko.com/coins/images/18358/small/newlogo.png?1644476666",coingeckoId:"cheems",realOriginContractAddress:"3FoUAsGDbvTD6YZ4wVKJgTB76onJUKz7GPEBNiR5b8wc",realOriginChainId:1,supportsPermit:!1},{name:"ChikinCoin",symbol:"CKC",mint:"8s9FCz99Wcr3dHpiauFRi6bLXzshXfcGTfgQE7UEopVx",contract:"8s9FCz99Wcr3dHpiauFRi6bLXzshXfcGTfgQE7UEopVx",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/24978/small/Screenshot_from_2022-04-11_15-47-44.png?1649663281",coingeckoId:"chikincoin",realOriginContractAddress:"8s9FCz99Wcr3dHpiauFRi6bLXzshXfcGTfgQE7UEopVx",realOriginChainId:1,supportsPermit:!1},{name:"CHILI",symbol:"CHILI",mint:"GPyzPHuFFGvN4yWWixt6TYUtDG49gfMdFFi2iniTmCkh",contract:"GPyzPHuFFGvN4yWWixt6TYUtDG49gfMdFFi2iniTmCkh",chainId:0,wChainId:1,decimals:2,logoURI:"https://assets.coingecko.com/coins/images/28668/small/CHILI_start.png?1672995567",coingeckoId:"chili",realOriginContractAddress:"GPyzPHuFFGvN4yWWixt6TYUtDG49gfMdFFi2iniTmCkh",realOriginChainId:1,supportsPermit:!1},{name:"Nana",symbol:"NANA",mint:"6uZ7MRGGf3FJhzk9TUk3QRMR2fz83WY9BEVBukRvMRVX",contract:"6uZ7MRGGf3FJhzk9TUk3QRMR2fz83WY9BEVBukRvMRVX",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/22407/small/200x200.png?1641967515",coingeckoId:"chimp-fight",realOriginContractAddress:"6uZ7MRGGf3FJhzk9TUk3QRMR2fz83WY9BEVBukRvMRVX",realOriginChainId:1,supportsPermit:!1},{name:"Clash",symbol:"CLH",mint:"CLAsHPfTPpsXmzZzdexdEuKeRzZrWjZFRHQEPu2kSgWM",contract:"CLAsHPfTPpsXmzZzdexdEuKeRzZrWjZFRHQEPu2kSgWM",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/27836/small/New-Clash-Icon_copy.png?1665996878",coingeckoId:"clash",realOriginContractAddress:"CLAsHPfTPpsXmzZzdexdEuKeRzZrWjZFRHQEPu2kSgWM",realOriginChainId:1,supportsPermit:!1},{name:"ClinTex CTi (Portal from Ethereum)",symbol:"CTI",mint:"9ET2QCQJdFkeKkuaampNbmicbA8eLYauFCWch9Ddh9p5",contract:"9ET2QCQJdFkeKkuaampNbmicbA8eLYauFCWch9Ddh9p5",chainId:0,wChainId:1,decimals:8,logoURI:"https://assets.coingecko.com/coins/images/13266/small/CTI.png?1606817542",coingeckoId:"clintex-cti",realOriginContractAddress:"0xcb8fb2438a805664cd8c3e640b85ac473da5be87",realOriginChainId:2,supportsPermit:!1},{name:"COBAN",symbol:"COBAN",mint:"7udMmYXh6cuWVY6qQVCd9b429wDVn2J71r5BdxHkQADY",contract:"7udMmYXh6cuWVY6qQVCd9b429wDVn2J71r5BdxHkQADY",chainId:0,wChainId:1,decimals:3,logoURI:"https://assets.coingecko.com/coins/images/19483/small/coban-logo-pebyyxjzxvebwa8nsvpp9t8iple69h6enp9bdknotq.png?1635285761",coingeckoId:"coban",realOriginContractAddress:"7udMmYXh6cuWVY6qQVCd9b429wDVn2J71r5BdxHkQADY",realOriginChainId:1,supportsPermit:!1},{name:"Coin98",symbol:"C98",mint:"C98A4nkJXhpVZNAZdHUA95RpTF3T4whtQubL3YobiUX9",contract:"C98A4nkJXhpVZNAZdHUA95RpTF3T4whtQubL3YobiUX9",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/17117/small/logo.png?1626412904",coingeckoId:"coin98",realOriginContractAddress:"C98A4nkJXhpVZNAZdHUA95RpTF3T4whtQubL3YobiUX9",realOriginChainId:1,supportsPermit:!1},{name:"Coin98 Dollar",symbol:"CUSD",mint:"CUSDvqAQLbt7fRofcmV2EXfPA2t36kzj7FjzdmqDiNQL",contract:"CUSDvqAQLbt7fRofcmV2EXfPA2t36kzj7FjzdmqDiNQL",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/26588/small/CUSD-01.png?1658909049",coingeckoId:"coin98-dollar",realOriginContractAddress:"CUSDvqAQLbt7fRofcmV2EXfPA2t36kzj7FjzdmqDiNQL",realOriginChainId:1,supportsPermit:!1},{name:"Companion",symbol:"CMPN",mint:"9tQhCmFtCh56qqf9szLQ8dNjYcd4TTv6MWPpw6MqLubu",contract:"9tQhCmFtCh56qqf9szLQ8dNjYcd4TTv6MWPpw6MqLubu",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/27914/small/cmpn.png?1666343810",coingeckoId:"companion",realOriginContractAddress:"9tQhCmFtCh56qqf9szLQ8dNjYcd4TTv6MWPpw6MqLubu",realOriginChainId:1,supportsPermit:!1},{name:"Compendium.Fi",symbol:"CMFI",mint:"5Wsd311hY8NXQhkt9cWHwTnqafk7BGEbLu8Py3DSnPAr",contract:"5Wsd311hY8NXQhkt9cWHwTnqafk7BGEbLu8Py3DSnPAr",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/22269/small/ckxanb97x357108l6qrnrjxtr.png?1641340080",coingeckoId:"compendium-fi",realOriginContractAddress:"5Wsd311hY8NXQhkt9cWHwTnqafk7BGEbLu8Py3DSnPAr",realOriginChainId:1,supportsPermit:!1},{name:"ConstitutionDAO (Portal from Ethereum)",symbol:"PEOPLE",mint:"CobcsUrt3p91FwvULYKorQejgsm5HoQdv5T8RUZ6PnLA",contract:"CobcsUrt3p91FwvULYKorQejgsm5HoQdv5T8RUZ6PnLA",chainId:0,wChainId:1,decimals:8,logoURI:"https://assets.coingecko.com/coins/images/20612/small/GN_UVm3d_400x400.jpg?1637294355",coingeckoId:"constitutiondao",realOriginContractAddress:"0x7a58c0be72be218b41c608b7fe7c5bb630736c71",realOriginChainId:2,supportsPermit:!1},{name:"Cope",symbol:"COPE",mint:"8HGyAAB1yoM1ttS7pXjHMa3dukTFGQggnFFH3hJZgzQh",contract:"8HGyAAB1yoM1ttS7pXjHMa3dukTFGQggnFFH3hJZgzQh",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/14567/small/COPE.png?1617162230",coingeckoId:"cope",realOriginContractAddress:"8HGyAAB1yoM1ttS7pXjHMa3dukTFGQggnFFH3hJZgzQh",realOriginChainId:1,supportsPermit:!1},{name:"Cope Token",symbol:"COPE",mint:"o1Mw5Y3n68o8TakZFuGKLZMGjm72qv4JeoZvGiCLEvK",contract:"o1Mw5Y3n68o8TakZFuGKLZMGjm72qv4JeoZvGiCLEvK",chainId:0,wChainId:1,decimals:2,logoURI:"https://assets.coingecko.com/coins/images/28717/small/coingecko.png?1673576722",coingeckoId:"cope-token",realOriginContractAddress:"o1Mw5Y3n68o8TakZFuGKLZMGjm72qv4JeoZvGiCLEvK",realOriginChainId:1,supportsPermit:!1},{name:"CoreStarter",symbol:"CSTR",mint:"G7uYedVqFy97mzjygebnmmaMUVxWHFhNZotY6Zzsprvf",contract:"G7uYedVqFy97mzjygebnmmaMUVxWHFhNZotY6Zzsprvf",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/20209/small/cstr.png?1636642782",coingeckoId:"corestarter",realOriginContractAddress:"G7uYedVqFy97mzjygebnmmaMUVxWHFhNZotY6Zzsprvf",realOriginChainId:1,supportsPermit:!1},{name:"Creamy",symbol:"CREAMY",mint:"CREAMpdDimXxj2zTCwP5wMEtba4NYaKCrTBEQTSKtqHe",contract:"CREAMpdDimXxj2zTCwP5wMEtba4NYaKCrTBEQTSKtqHe",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/25285/small/logo200.png?1651128831",coingeckoId:"creamy",realOriginContractAddress:"CREAMpdDimXxj2zTCwP5wMEtba4NYaKCrTBEQTSKtqHe",realOriginChainId:1,supportsPermit:!1},{name:"Cricket Star Manager",symbol:"CSM",mint:"EzfnjRUKtc5vweE1GCLdHV4MkDQ3ebSpQXLobSKgQ9RB",contract:"EzfnjRUKtc5vweE1GCLdHV4MkDQ3ebSpQXLobSKgQ9RB",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/25774/small/CSM_token.png?1653631158",coingeckoId:"cricket-star-manager",realOriginContractAddress:"EzfnjRUKtc5vweE1GCLdHV4MkDQ3ebSpQXLobSKgQ9RB",realOriginChainId:1,supportsPermit:!1},{name:"Cripco",symbol:"IP3",mint:"3uejHm24sWmniGA5m4j4S1DVuGqzYBR5DJpevND4mivq",contract:"3uejHm24sWmniGA5m4j4S1DVuGqzYBR5DJpevND4mivq",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/26344/small/f55kBYa2_400x400.jpeg?1657586586",coingeckoId:"cripco",realOriginContractAddress:"3uejHm24sWmniGA5m4j4S1DVuGqzYBR5DJpevND4mivq",realOriginChainId:1,supportsPermit:!1},{name:"CropperFinance",symbol:"CRP",mint:"DubwWZNWiNGMMeeQHPnMATNj77YZPZSAz2WVR5WjLJqz",contract:"DubwWZNWiNGMMeeQHPnMATNj77YZPZSAz2WVR5WjLJqz",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/17883/small/copperfinance.PNG?1629708744",coingeckoId:"cropperfinance",realOriginContractAddress:"DubwWZNWiNGMMeeQHPnMATNj77YZPZSAz2WVR5WjLJqz",realOriginChainId:1,supportsPermit:!1},{name:"Crowny",symbol:"CRWNY",mint:"CRWNYkqdgvhGGae9CKfNka58j6QQkaD5bLhKXvUYqnc1",contract:"CRWNYkqdgvhGGae9CKfNka58j6QQkaD5bLhKXvUYqnc1",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/14958/small/crowny-icon-rounded_2x.png?1619147225",coingeckoId:"crowny-token",realOriginContractAddress:"CRWNYkqdgvhGGae9CKfNka58j6QQkaD5bLhKXvUYqnc1",realOriginChainId:1,supportsPermit:!1},{name:"Cry Cat Coin",symbol:"CRYY",mint:"56tNQ29XBrbovm5K5SThuQatjCy92w2wKUaUeQ8WCD9g",contract:"56tNQ29XBrbovm5K5SThuQatjCy92w2wKUaUeQ8WCD9g",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/22128/small/cry_logo_200_200.png?1640870275",coingeckoId:"cry-coin",realOriginContractAddress:"56tNQ29XBrbovm5K5SThuQatjCy92w2wKUaUeQ8WCD9g",realOriginChainId:1,supportsPermit:!1},{name:"Cryowar",symbol:"CWAR",mint:"HfYFjMKNZygfMC8LsQ8LtpPsPxEJoXJx4M6tqi75Hajo",contract:"HfYFjMKNZygfMC8LsQ8LtpPsPxEJoXJx4M6tqi75Hajo",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/20227/small/CWAR_round_200_200.png?1636689418",coingeckoId:"cryowar-token",realOriginContractAddress:"HfYFjMKNZygfMC8LsQ8LtpPsPxEJoXJx4M6tqi75Hajo",realOriginChainId:1,supportsPermit:!1},{name:"Cyborg Apes",symbol:"BORG",mint:"CFbdjaKonbBQTYG2GC6CmB7exofgDYGCDR8tp8KVGS7T",contract:"CFbdjaKonbBQTYG2GC6CmB7exofgDYGCDR8tp8KVGS7T",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/23020/small/lgo-head-export.png?1643094853",coingeckoId:"cyborg-apes",realOriginContractAddress:"CFbdjaKonbBQTYG2GC6CmB7exofgDYGCDR8tp8KVGS7T",realOriginChainId:1,supportsPermit:!1},{name:"Cykura",symbol:"CYS",mint:"BRLsMczKuaR5w9vSubF4j8HwEGGprVAyyVgS4EX7DKEg",contract:"BRLsMczKuaR5w9vSubF4j8HwEGGprVAyyVgS4EX7DKEg",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/18139/small/cyclos-text-logo.png?1630651169",coingeckoId:"cyclos",realOriginContractAddress:"BRLsMczKuaR5w9vSubF4j8HwEGGprVAyyVgS4EX7DKEg",realOriginChainId:1,supportsPermit:!1},{name:"daoSOL",symbol:"DAOSOL",mint:"GEJpt3Wjmr628FqXxTgxMce1pLntcPV4uFi8ksxMyPQh",contract:"GEJpt3Wjmr628FqXxTgxMce1pLntcPV4uFi8ksxMyPQh",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/25488/small/logo_%284%29.png?1652071503",coingeckoId:"daosol",realOriginContractAddress:"GEJpt3Wjmr628FqXxTgxMce1pLntcPV4uFi8ksxMyPQh",realOriginChainId:1,supportsPermit:!1},{name:"Konstellation (Portal from BSC)",symbol:"DARC",mint:"CpFE715P5DnDoJj9FbCRcuyHHeTXNdRnvzNkHvq1o23U",contract:"CpFE715P5DnDoJj9FbCRcuyHHeTXNdRnvzNkHvq1o23U",chainId:0,wChainId:1,decimals:8,logoURI:"https://assets.coingecko.com/coins/images/2943/small/darctoken.png?1645230834",coingeckoId:"darcmatter-coin",realOriginContractAddress:"0x8ebc361536094fd5b4ffb8521e31900614c9f55d",realOriginChainId:4,supportsPermit:!1},{name:"DarleyGo Essence",symbol:"DGE",mint:"AAXng5czWLNtTXHdWEn9Ef7kXMXEaraHj2JQKo7ZoLux",contract:"AAXng5czWLNtTXHdWEn9Ef7kXMXEaraHj2JQKo7ZoLux",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/24403/small/DGE.png?1647530006",coingeckoId:"darleygo-essence",realOriginContractAddress:"AAXng5czWLNtTXHdWEn9Ef7kXMXEaraHj2JQKo7ZoLux",realOriginChainId:1,supportsPermit:!1},{name:"DAWG",symbol:"DAWG",mint:"3DHPqxdMXogNNnpqBMF8N4Zs4dn1WR31H7UjWq6FExwG",contract:"3DHPqxdMXogNNnpqBMF8N4Zs4dn1WR31H7UjWq6FExwG",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/20881/small/143299698-37b637ea-7fce-4bd6-8713-71c42e37629e.png?1637820203",coingeckoId:"dawg",realOriginContractAddress:"3DHPqxdMXogNNnpqBMF8N4Zs4dn1WR31H7UjWq6FExwG",realOriginChainId:1,supportsPermit:!1},{name:"Dead Knight",symbol:"DKM",mint:"HtbhBYdcfXbbD2JiH6jtsTt2m2FXjn7h4k6iXfz98k5W",contract:"HtbhBYdcfXbbD2JiH6jtsTt2m2FXjn7h4k6iXfz98k5W",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/24442/small/SAq1GaQc_400x400.jpg?1647673953",coingeckoId:"dead-knight",realOriginContractAddress:"HtbhBYdcfXbbD2JiH6jtsTt2m2FXjn7h4k6iXfz98k5W",realOriginChainId:1,supportsPermit:!1},{name:"Decentraland (Portal from Ethereum)",symbol:"MANA",mint:"7dgHoN8wBZCc5wbnQ2C47TDnBMAxG4Q5L3KjP67z8kNi",contract:"7dgHoN8wBZCc5wbnQ2C47TDnBMAxG4Q5L3KjP67z8kNi",chainId:0,wChainId:1,decimals:8,logoURI:"https://assets.coingecko.com/coins/images/878/small/decentraland-mana.png?1550108745",coingeckoId:"decentraland",realOriginContractAddress:"0x0f5d2fb29fb7d3cfee444a200298f468908cc942",realOriginChainId:2,supportsPermit:!1},{name:"Decimated",symbol:"DIO",mint:"BiDB55p4G3n1fGhwKFpxsokBMqgctL4qnZpDH1bVQxMD",contract:"BiDB55p4G3n1fGhwKFpxsokBMqgctL4qnZpDH1bVQxMD",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/8271/small/dio_logo_coloured_transparent.png?1640744585",coingeckoId:"decimated",realOriginContractAddress:"BiDB55p4G3n1fGhwKFpxsokBMqgctL4qnZpDH1bVQxMD",realOriginChainId:1,supportsPermit:!1},{name:"DeFi Land",symbol:"DFL",mint:"DFL1zNkaGPWm1BqAVqRjCZvHmwTFrEaJtbzJWgseoNJh",contract:"DFL1zNkaGPWm1BqAVqRjCZvHmwTFrEaJtbzJWgseoNJh",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/18910/small/defilend.png?1637190571",coingeckoId:"defi-land",realOriginContractAddress:"DFL1zNkaGPWm1BqAVqRjCZvHmwTFrEaJtbzJWgseoNJh",realOriginChainId:1,supportsPermit:!1},{name:"DeFi Land Gold",symbol:"GOLDY",mint:"GoLDYyyiVeXnVf9qgoK712N5esm1cCbHEK9aNJFx47Sx",contract:"GoLDYyyiVeXnVf9qgoK712N5esm1cCbHEK9aNJFx47Sx",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/25647/small/GODLY.png?1653025856",coingeckoId:"defi-land-gold",realOriginContractAddress:"GoLDYyyiVeXnVf9qgoK712N5esm1cCbHEK9aNJFx47Sx",realOriginChainId:1,supportsPermit:!1},{name:"Degenerate Ape Academy Floor Index",symbol:"DAPE",mint:"6AarZpv8KwmPBxBEZdRmd3g1q2tUBaSgTNQ5e621qcZQ",contract:"6AarZpv8KwmPBxBEZdRmd3g1q2tUBaSgTNQ5e621qcZQ",chainId:0,wChainId:1,decimals:2,logoURI:"https://assets.coingecko.com/coins/images/27054/small/dape.png?1661508642",coingeckoId:"degenerate-ape-academy-floor-index",realOriginContractAddress:"6AarZpv8KwmPBxBEZdRmd3g1q2tUBaSgTNQ5e621qcZQ",realOriginChainId:1,supportsPermit:!1},{name:"DeltaFi",symbol:"DELFI",mint:"de1QJkP1qDCk5JYCCXCeq27bQQUdCaiv7xVKFrhPSzF",contract:"de1QJkP1qDCk5JYCCXCeq27bQQUdCaiv7xVKFrhPSzF",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/24085/small/logo.png?1646293860",coingeckoId:"deltafi",realOriginContractAddress:"de1QJkP1qDCk5JYCCXCeq27bQQUdCaiv7xVKFrhPSzF",realOriginChainId:1,supportsPermit:!1},{name:"Dexlab",symbol:"DXL",mint:"GsNzxJfFn6zQdJGeYsupJWzUAm57Ba7335mfhWvFiE9Z",contract:"GsNzxJfFn6zQdJGeYsupJWzUAm57Ba7335mfhWvFiE9Z",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/17276/small/3_GradientSymbol.png?1650936792",coingeckoId:"dexlab",realOriginContractAddress:"GsNzxJfFn6zQdJGeYsupJWzUAm57Ba7335mfhWvFiE9Z",realOriginChainId:1,supportsPermit:!1},{name:"Dingocoin",symbol:"DINGO",mint:"6VYF5jXq6rfq4QRgGMG6co7b1Ev1Lj7KSbHBxfQ9e1L3",contract:"6VYF5jXq6rfq4QRgGMG6co7b1Ev1Lj7KSbHBxfQ9e1L3",chainId:0,wChainId:1,decimals:8,logoURI:"https://assets.coingecko.com/coins/images/15989/small/dingocoin.png?1634699256",coingeckoId:"dingocoin",realOriginContractAddress:"6VYF5jXq6rfq4QRgGMG6co7b1Ev1Lj7KSbHBxfQ9e1L3",realOriginChainId:1,supportsPermit:!1},{name:"Dino",symbol:"DINO",mint:"6Y7LbYB3tfGBG6CSkyssoxdtHb77AEMTRVXe8JUJRwZ7",contract:"6Y7LbYB3tfGBG6CSkyssoxdtHb77AEMTRVXe8JUJRwZ7",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/17770/small/solana_dino.png?1629207162",coingeckoId:"dino",realOriginContractAddress:"6Y7LbYB3tfGBG6CSkyssoxdtHb77AEMTRVXe8JUJRwZ7",realOriginChainId:1,supportsPermit:!1},{name:"DINOEGG",symbol:"DINOEGG",mint:"2TxM6S3ZozrBHZGHEPh9CtM74a9SVXbr7NQ7UxkRvQij",contract:"2TxM6S3ZozrBHZGHEPh9CtM74a9SVXbr7NQ7UxkRvQij",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/22291/small/xOcKL1Fw_400x400.png?1641367958",coingeckoId:"dinoegg",realOriginContractAddress:"2TxM6S3ZozrBHZGHEPh9CtM74a9SVXbr7NQ7UxkRvQij",realOriginChainId:1,supportsPermit:!1},{name:"Dogelana",symbol:"DGLN",mint:"E6UU5M1z4CvSAAF99d9wRoXsasWMEXsvHrz3JQRXtm2X",contract:"E6UU5M1z4CvSAAF99d9wRoXsasWMEXsvHrz3JQRXtm2X",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/21133/small/logo_%285%29.png?1642042028",coingeckoId:"dogelana",realOriginContractAddress:"E6UU5M1z4CvSAAF99d9wRoXsasWMEXsvHrz3JQRXtm2X",realOriginChainId:1,supportsPermit:!1},{name:"DogemonGo",symbol:"DOGO",mint:"5LSFpvLDkcdV2a3Kiyzmg5YmJsj2XDLySaXvnfP1cgLT",contract:"5LSFpvLDkcdV2a3Kiyzmg5YmJsj2XDLySaXvnfP1cgLT",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/17480/small/dogemongo.PNG?1627950869",coingeckoId:"dogemon-go",realOriginContractAddress:"5LSFpvLDkcdV2a3Kiyzmg5YmJsj2XDLySaXvnfP1cgLT",realOriginChainId:1,supportsPermit:!1},{name:"Dragon War",symbol:"DRAW",mint:"48AEwauAHsJibyt3WqjQ6EoHnFBcnyHASfo7vB2eCXPS",contract:"48AEwauAHsJibyt3WqjQ6EoHnFBcnyHASfo7vB2eCXPS",chainId:0,wChainId:1,decimals:0,logoURI:"https://assets.coingecko.com/coins/images/23100/small/logo_%284%29.png?1643184693",coingeckoId:"dragon-war",realOriginContractAddress:"48AEwauAHsJibyt3WqjQ6EoHnFBcnyHASfo7vB2eCXPS",realOriginChainId:1,supportsPermit:!1},{name:"Duck Punkz Universe Floor Index",symbol:"DPUNKZ",mint:"McpgFn2CxFYFq6JLiBxeC6viNfebLsfsf9Sv5wcwKvL",contract:"McpgFn2CxFYFq6JLiBxeC6viNfebLsfsf9Sv5wcwKvL",chainId:0,wChainId:1,decimals:2,logoURI:"https://assets.coingecko.com/coins/images/27171/small/2588.png?1662287086",coingeckoId:"duck-punkz-universe-floor-index",realOriginContractAddress:"McpgFn2CxFYFq6JLiBxeC6viNfebLsfsf9Sv5wcwKvL",realOriginChainId:1,supportsPermit:!1},{name:"DUST Protocol",symbol:"DUST",mint:"DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ",contract:"DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/24289/small/dust-protocol-degod.png?1647306854",coingeckoId:"dust-protocol",realOriginContractAddress:"DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ",realOriginChainId:1,supportsPermit:!1},{name:"dYdX (Portal from Ethereum)",symbol:"DYDX",mint:"4Hx6Bj56eGyw8EJrrheM6LBQAvVYRikYCWsALeTrwyRU",contract:"4Hx6Bj56eGyw8EJrrheM6LBQAvVYRikYCWsALeTrwyRU",chainId:0,wChainId:1,decimals:8,logoURI:"https://assets.coingecko.com/coins/images/17500/small/hjnIm9bV.jpg?1628009360",coingeckoId:"dydx",realOriginContractAddress:"0x92d6c1e31e14520e676a687f0a93788b716beff5",realOriginChainId:2,supportsPermit:!1},{name:"edeXa Service Token",symbol:"EDX",mint:"3Ysmnbdddpxv9xK8FUKXexdhRzEA4yrCz8WaE6Za5sjV",contract:"3Ysmnbdddpxv9xK8FUKXexdhRzEA4yrCz8WaE6Za5sjV",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/28646/small/EDX_SERVICE_TOKEN.png?1672883345",coingeckoId:"edexa-service-token",realOriginContractAddress:"3Ysmnbdddpxv9xK8FUKXexdhRzEA4yrCz8WaE6Za5sjV",realOriginChainId:1,supportsPermit:!1},{name:"Elumia",symbol:"ELU",mint:"4tJZhSdGePuMEfZQ3h5LaHjTPsw1iWTRFTojnZcwsAU6",contract:"4tJZhSdGePuMEfZQ3h5LaHjTPsw1iWTRFTojnZcwsAU6",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/24433/small/me4oOqTM_400x400.png?1647662654",coingeckoId:"elumia",realOriginContractAddress:"4tJZhSdGePuMEfZQ3h5LaHjTPsw1iWTRFTojnZcwsAU6",realOriginChainId:1,supportsPermit:!1},{name:"Enrex",symbol:"ENRX",mint:"5s4BYUXLuvs9ZcVDTxkTpKhThWFSpaU8GG55q2iySe2N",contract:"5s4BYUXLuvs9ZcVDTxkTpKhThWFSpaU8GG55q2iySe2N",chainId:0,wChainId:1,decimals:2,logoURI:"https://assets.coingecko.com/coins/images/24952/small/enrx.png?1649505778",coingeckoId:"enrex",realOriginContractAddress:"5s4BYUXLuvs9ZcVDTxkTpKhThWFSpaU8GG55q2iySe2N",realOriginChainId:1,supportsPermit:!1},{name:"Equinox",symbol:"ENX",mint:"87rSGrpYdmTxfNBf8o2cpyiNcxCmNhUPBXjT8aoyfob5",contract:"87rSGrpYdmTxfNBf8o2cpyiNcxCmNhUPBXjT8aoyfob5",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/25234/small/ReKXsCZUnqSChIZZg4dlCIHQTKU0owxPuvj1feBDWaE.png?1650954548",coingeckoId:"equinox",realOriginContractAddress:"87rSGrpYdmTxfNBf8o2cpyiNcxCmNhUPBXjT8aoyfob5",realOriginChainId:1,supportsPermit:!1},{name:"Eversol Staked SOL",symbol:"ESOL",mint:"Hg35Vd8K3BS2pLB3xwC2WqQV8pmpCm3oNRGYP1PEpmCM",contract:"Hg35Vd8K3BS2pLB3xwC2WqQV8pmpCm3oNRGYP1PEpmCM",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/23056/small/SUWTLy9j_400x400.jpeg?1657789195",coingeckoId:"eversol-staked-sol",realOriginContractAddress:"Hg35Vd8K3BS2pLB3xwC2WqQV8pmpCm3oNRGYP1PEpmCM",realOriginChainId:1,supportsPermit:!1},{name:"Fabric",symbol:"FAB",mint:"EdAhkbj5nF9sRM7XN7ewuW8C9XEUMs8P7cnoQ57SYE96",contract:"EdAhkbj5nF9sRM7XN7ewuW8C9XEUMs8P7cnoQ57SYE96",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/16649/small/FABLOGO_TRANS200.png?1624592643",coingeckoId:"fabric",realOriginContractAddress:"EdAhkbj5nF9sRM7XN7ewuW8C9XEUMs8P7cnoQ57SYE96",realOriginChainId:1,supportsPermit:!1},{name:"Famous Fox Federation",symbol:"FOXY",mint:"FoXyMu5xwXre7zEoSvzViRk3nGawHUp9kUh97y2NDhcq",contract:"FoXyMu5xwXre7zEoSvzViRk3nGawHUp9kUh97y2NDhcq",chainId:0,wChainId:1,decimals:0,logoURI:"https://assets.coingecko.com/coins/images/26191/small/uFYaQEsU_400x400.jpg?1656397523",coingeckoId:"famous-fox-federation",realOriginContractAddress:"FoXyMu5xwXre7zEoSvzViRk3nGawHUp9kUh97y2NDhcq",realOriginChainId:1,supportsPermit:!1},{name:"FaniTrade",symbol:"FANI",mint:"6c4L5nTH2sBKkfeuP3WhGp6Vq1tE4Suh4ezRp5KSu8Z7",contract:"6c4L5nTH2sBKkfeuP3WhGp6Vq1tE4Suh4ezRp5KSu8Z7",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/24029/small/fani_200x200.png?1646115606",coingeckoId:"fanitrade",realOriginContractAddress:"6c4L5nTH2sBKkfeuP3WhGp6Vq1tE4Suh4ezRp5KSu8Z7",realOriginChainId:1,supportsPermit:!1},{name:"Final Frontier",symbol:"FRNT",mint:"3vHSsV6mgvpa1JVuuDZVB72vYbeUNzW4mBxiBftwzHEA",contract:"3vHSsV6mgvpa1JVuuDZVB72vYbeUNzW4mBxiBftwzHEA",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/24120/small/Token_Logo_2_720p.png?1646386860",coingeckoId:"final-frontier",realOriginContractAddress:"3vHSsV6mgvpa1JVuuDZVB72vYbeUNzW4mBxiBftwzHEA",realOriginChainId:1,supportsPermit:!1},{name:"FLOOF",symbol:"FLOOF",mint:"3jzdrXXKxwkBk82u2eCWASZLCKoZs1LQTg87HBEAmBJw",contract:"3jzdrXXKxwkBk82u2eCWASZLCKoZs1LQTg87HBEAmBJw",chainId:0,wChainId:1,decimals:1,logoURI:"https://assets.coingecko.com/coins/images/19810/small/FLOOF_logo_200x200.png?1635917291",coingeckoId:"floof",realOriginContractAddress:"3jzdrXXKxwkBk82u2eCWASZLCKoZs1LQTg87HBEAmBJw",realOriginChainId:1,supportsPermit:!1},{name:"Fone",symbol:"FONE",mint:"ATZERmcPfopS9vGqw9kxqRj9Bmdi3Z268nHXkGsMa3Pf",contract:"ATZERmcPfopS9vGqw9kxqRj9Bmdi3Z268nHXkGsMa3Pf",chainId:0,wChainId:1,decimals:2,logoURI:"https://assets.coingecko.com/coins/images/23390/small/Fl-zRI0g_400x400.jpg?1644115198",coingeckoId:"fone",realOriginContractAddress:"ATZERmcPfopS9vGqw9kxqRj9Bmdi3Z268nHXkGsMa3Pf",realOriginChainId:1,supportsPermit:!1},{name:"Fractionalized SMB-2367",symbol:"DAOJONES",mint:"r8nuuzXCchjtqsmQZVZDPXXq928tuk7KVH479GsKVpy",contract:"r8nuuzXCchjtqsmQZVZDPXXq928tuk7KVH479GsKVpy",chainId:0,wChainId:1,decimals:2,logoURI:"https://assets.coingecko.com/coins/images/22611/small/daojones.png?1642228974",coingeckoId:"fractionalized-smb-2367",realOriginContractAddress:"r8nuuzXCchjtqsmQZVZDPXXq928tuk7KVH479GsKVpy",realOriginChainId:1,supportsPermit:!1},{name:"Fractionalized WAVE-999",symbol:"WAV",mint:"4NGNdLiQ1KG8GgqZimKku4WCLdXbNw6UQJvqax3fE6CJ",contract:"4NGNdLiQ1KG8GgqZimKku4WCLdXbNw6UQJvqax3fE6CJ",chainId:0,wChainId:1,decimals:2,logoURI:"https://assets.coingecko.com/coins/images/22176/small/IMG-20220101-021048.jpg?1641176801",coingeckoId:"fractionalized-wave-999",realOriginContractAddress:"4NGNdLiQ1KG8GgqZimKku4WCLdXbNw6UQJvqax3fE6CJ",realOriginChainId:1,supportsPermit:!1},{name:"FRAKT",symbol:"FRKT",mint:"ErGB9xa24Szxbk1M28u2Tx8rKPqzL6BroNkkzk5rG4zj",contract:"ErGB9xa24Szxbk1M28u2Tx8rKPqzL6BroNkkzk5rG4zj",chainId:0,wChainId:1,decimals:8,logoURI:"https://assets.coingecko.com/coins/images/18926/small/logo_-_2021-10-11T132203.751.png?1633929748",coingeckoId:"frakt-token",realOriginContractAddress:"ErGB9xa24Szxbk1M28u2Tx8rKPqzL6BroNkkzk5rG4zj",realOriginChainId:1,supportsPermit:!1},{name:"Frax (Portal from Ethereum)",symbol:"FRAX",mint:"FR87nWEUxVgerFGhZM8Y4AggKGLnaXswr1Pd8wZ4kZcp",contract:"FR87nWEUxVgerFGhZM8Y4AggKGLnaXswr1Pd8wZ4kZcp",chainId:0,wChainId:1,decimals:8,logoURI:"https://assets.coingecko.com/coins/images/13422/small/ethCanonicalFRAX.png?1669277108",coingeckoId:"frax",realOriginContractAddress:"0x853d955acef822db058eb8505911ed77f175b99e",realOriginChainId:2,supportsPermit:!1},{name:"Fronk",symbol:"FRONK",mint:"5yxNbU8DgYJZNi3mPD9rs4XLh9ckXrhPjJ5VCujUWg5H",contract:"5yxNbU8DgYJZNi3mPD9rs4XLh9ckXrhPjJ5VCujUWg5H",chainId:0,wChainId:1,decimals:5,logoURI:"https://assets.coingecko.com/coins/images/28679/small/_7XVXQ46_400x400.jpg?1673340405",coingeckoId:"fronk",realOriginContractAddress:"5yxNbU8DgYJZNi3mPD9rs4XLh9ckXrhPjJ5VCujUWg5H",realOriginChainId:1,supportsPermit:!1},{name:"FTX (Portal from Ethereum)",symbol:"FTT",mint:"EzfgjvkSwthhgHaceR3LnKXUoRkP6NUhfghdaHAj1tUv",contract:"EzfgjvkSwthhgHaceR3LnKXUoRkP6NUhfghdaHAj1tUv",chainId:0,wChainId:1,decimals:8,logoURI:"https://assets.coingecko.com/coins/images/9026/small/F.png?1609051564",coingeckoId:"ftx-token",realOriginContractAddress:"0x50d1c9771902476076ecfc8b2a83ad6b9355a4c9",realOriginChainId:2,supportsPermit:!1},{name:"FTX",symbol:"FTT",mint:"AGFEad2et2ZJif9jaGpdMixQqvW5i81aBdvKe7PHNfz3",contract:"AGFEad2et2ZJif9jaGpdMixQqvW5i81aBdvKe7PHNfz3",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/9026/small/F.png?1609051564",coingeckoId:"ftx-token",realOriginContractAddress:"AGFEad2et2ZJif9jaGpdMixQqvW5i81aBdvKe7PHNfz3",realOriginChainId:1,supportsPermit:!1},{name:"FUMoney",symbol:"FUM",mint:"EZF2sPJRe26e8iyXaCrmEefrGVBkqqNGv9UPGG9EnTQz",contract:"EZF2sPJRe26e8iyXaCrmEefrGVBkqqNGv9UPGG9EnTQz",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/21054/small/KuH9TXMM_400x400.jpg?1638263205",coingeckoId:"fumoney",realOriginContractAddress:"EZF2sPJRe26e8iyXaCrmEefrGVBkqqNGv9UPGG9EnTQz",realOriginChainId:1,supportsPermit:!1},{name:"Galaxy Essential",symbol:"GXE",mint:"DsVPH4mAppxKrmdzcizGfPtLYEBAkQGK4eUch32wgaHY",contract:"DsVPH4mAppxKrmdzcizGfPtLYEBAkQGK4eUch32wgaHY",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/25754/small/GXE.png?1653466290",coingeckoId:"galaxy-essential",realOriginContractAddress:"DsVPH4mAppxKrmdzcizGfPtLYEBAkQGK4eUch32wgaHY",realOriginChainId:1,supportsPermit:!1},{name:"GameYoo",symbol:"GYC",mint:"GYCVdmDthkf3jSz5ns6fkzCmHub7FSZxjVCfbfGqkH7P",contract:"GYCVdmDthkf3jSz5ns6fkzCmHub7FSZxjVCfbfGqkH7P",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/24525/small/gameyoo-logo-200x200.png?1648027227",coingeckoId:"gameyoo",realOriginContractAddress:"GYCVdmDthkf3jSz5ns6fkzCmHub7FSZxjVCfbfGqkH7P",realOriginChainId:1,supportsPermit:!1},{name:"Gari Network",symbol:"GARI",mint:"CKaKtYvz6dKPyMvYq9Rh3UBrnNqYZAyd7iF4hJtjUvks",contract:"CKaKtYvz6dKPyMvYq9Rh3UBrnNqYZAyd7iF4hJtjUvks",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/22615/small/gari.png?1642313087",coingeckoId:"gari-network",realOriginContractAddress:"CKaKtYvz6dKPyMvYq9Rh3UBrnNqYZAyd7iF4hJtjUvks",realOriginChainId:1,supportsPermit:!1},{name:"Garlic",symbol:"GRLC",mint:"88YqDBWxYhhwPbExF966EdaCYBKP51xVm1oGBcbWzcf2",contract:"88YqDBWxYhhwPbExF966EdaCYBKP51xVm1oGBcbWzcf2",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/21011/small/logo.png?1638190406",coingeckoId:"garlic",realOriginContractAddress:"88YqDBWxYhhwPbExF966EdaCYBKP51xVm1oGBcbWzcf2",realOriginChainId:1,supportsPermit:!1},{name:"Gary",symbol:"GARY",mint:"8c71AvjQeKKeWRe8jtTGG1bJ2WiYXQdbjqFbUfhHgSVk",contract:"8c71AvjQeKKeWRe8jtTGG1bJ2WiYXQdbjqFbUfhHgSVk",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/26448/small/gary_logo_icon.png?1658111709",coingeckoId:"gary",realOriginContractAddress:"8c71AvjQeKKeWRe8jtTGG1bJ2WiYXQdbjqFbUfhHgSVk",realOriginChainId:1,supportsPermit:!1},{name:"Gear",symbol:"GEAR",mint:"7s6NLX42eURZfpyuKkVLrr9ED9hJE8718cyXFsYKqq5g",contract:"7s6NLX42eURZfpyuKkVLrr9ED9hJE8718cyXFsYKqq5g",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/24653/small/output-onlinepngtools.png?1648524609",coingeckoId:"gear",realOriginContractAddress:"7s6NLX42eURZfpyuKkVLrr9ED9hJE8718cyXFsYKqq5g",realOriginChainId:1,supportsPermit:!1},{name:"GenesysGo Shadow",symbol:"SHDW",mint:"SHDWyBxihqiCj6YekG2GUr7wqKLeLAMK1gHZck9pL6y",contract:"SHDWyBxihqiCj6YekG2GUr7wqKLeLAMK1gHZck9pL6y",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/22271/small/logo_-_2022-01-05T083602.373.png?1641342974",coingeckoId:"genesysgo-shadow",realOriginContractAddress:"SHDWyBxihqiCj6YekG2GUr7wqKLeLAMK1gHZck9pL6y",realOriginChainId:1,supportsPermit:!1},{name:"Genopets KI",symbol:"KI",mint:"kiGenopAScF8VF31Zbtx2Hg8qA5ArGqvnVtXb83sotc",contract:"kiGenopAScF8VF31Zbtx2Hg8qA5ArGqvnVtXb83sotc",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/26135/small/genopets_ki.png?1660017469",coingeckoId:"genopet-ki",realOriginContractAddress:"kiGenopAScF8VF31Zbtx2Hg8qA5ArGqvnVtXb83sotc",realOriginChainId:1,supportsPermit:!1},{name:"Genopets",symbol:"GENE",mint:"GENEtH5amGSi8kHAtQoezp1XEXwZJ8vcuePYnXdKrMYz",contract:"GENEtH5amGSi8kHAtQoezp1XEXwZJ8vcuePYnXdKrMYz",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/20360/small/gene-token.png?1636945172",coingeckoId:"genopets",realOriginContractAddress:"GENEtH5amGSi8kHAtQoezp1XEXwZJ8vcuePYnXdKrMYz",realOriginChainId:1,supportsPermit:!1},{name:"GENZ Token",symbol:"GENZ",mint:"GENZexWRRGNS2Ko5rEgGG1snRXpaa3CDDGYnhTSmE3kd",contract:"GENZexWRRGNS2Ko5rEgGG1snRXpaa3CDDGYnhTSmE3kd",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/28039/small/Qq_rj-aG_400x400.png?1667199323",coingeckoId:"genz-token",realOriginContractAddress:"GENZexWRRGNS2Ko5rEgGG1snRXpaa3CDDGYnhTSmE3kd",realOriginChainId:1,supportsPermit:!1},{name:"Glitter Finance",symbol:"XGLI",mint:"FsPncBfeDV3Uv9g6yyx1NnKidvUeCaAiT2NtBAPy17xg",contract:"FsPncBfeDV3Uv9g6yyx1NnKidvUeCaAiT2NtBAPy17xg",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/23292/small/glitter_finance.png?1660285639",coingeckoId:"glitter-finance",realOriginContractAddress:"FsPncBfeDV3Uv9g6yyx1NnKidvUeCaAiT2NtBAPy17xg",realOriginChainId:1,supportsPermit:!1},{name:"GMSOL",symbol:"GMSOL",mint:"gmdu3snwW28DmmxCseChp9owWLUhamH9eS3hWfHG8Vg",contract:"gmdu3snwW28DmmxCseChp9owWLUhamH9eS3hWfHG8Vg",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/20717/small/gm-logo-200.png?1637584967",coingeckoId:"gmsol",realOriginContractAddress:"gmdu3snwW28DmmxCseChp9owWLUhamH9eS3hWfHG8Vg",realOriginChainId:1,supportsPermit:!1},{name:"Gobi Labs",symbol:"GOBI",mint:"MarcoPaG4dV4qit3ZPGPFm4qt4KKNBKvAsm2rPGNF72",contract:"MarcoPaG4dV4qit3ZPGPFm4qt4KKNBKvAsm2rPGNF72",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/28554/small/GOBI.png?1671697657",coingeckoId:"gobi-labs",realOriginContractAddress:"MarcoPaG4dV4qit3ZPGPFm4qt4KKNBKvAsm2rPGNF72",realOriginChainId:1,supportsPermit:!1},{name:"GooseFX",symbol:"GOFX",mint:"GFX1ZjR2P15tmrSwow6FjyDYcEkoFb4p4gJCpLBjaxHD",contract:"GFX1ZjR2P15tmrSwow6FjyDYcEkoFb4p4gJCpLBjaxHD",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/19793/small/0Kjm9f4.png?1635906737",coingeckoId:"goosefx",realOriginContractAddress:"GFX1ZjR2P15tmrSwow6FjyDYcEkoFb4p4gJCpLBjaxHD",realOriginChainId:1,supportsPermit:!1},{name:"Grape Protocol",symbol:"GRAPE",mint:"8upjSpvjcdpuzhfR1zriwg5NXkwDruejqNE9WNbPRtyA",contract:"8upjSpvjcdpuzhfR1zriwg5NXkwDruejqNE9WNbPRtyA",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/18149/small/fRsuAlcV_400x400.png?1632437325",coingeckoId:"grape-2",realOriginContractAddress:"8upjSpvjcdpuzhfR1zriwg5NXkwDruejqNE9WNbPRtyA",realOriginChainId:1,supportsPermit:!1},{name:"STEPN Green Satoshi Token on Solana",symbol:"GST-SOL",mint:"AFbX8oGjGpmVFywbVouvhQSRmiW2aR1mohfahi4Y2AdB",contract:"AFbX8oGjGpmVFywbVouvhQSRmiW2aR1mohfahi4Y2AdB",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/21841/small/gst.png?1640332626",coingeckoId:"green-satoshi-token",realOriginContractAddress:"AFbX8oGjGpmVFywbVouvhQSRmiW2aR1mohfahi4Y2AdB",realOriginChainId:1,supportsPermit:!1},{name:"Kugle GU",symbol:"GU",mint:"5KV2W2XPdSo97wQWcuAVi6G4PaCoieg4Lhhi61PAMaMJ",contract:"5KV2W2XPdSo97wQWcuAVi6G4PaCoieg4Lhhi61PAMaMJ",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/17532/small/Logo_GU_512.png?1628129442",coingeckoId:"gu",realOriginContractAddress:"5KV2W2XPdSo97wQWcuAVi6G4PaCoieg4Lhhi61PAMaMJ",realOriginChainId:1,supportsPermit:!1},{name:"HAPI",symbol:"HAPI",mint:"6VNKqgz9hk7zRShTFdg5AnkfKwZUcojzwAkzxSH3bnUm",contract:"6VNKqgz9hk7zRShTFdg5AnkfKwZUcojzwAkzxSH3bnUm",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/14298/small/R9i2HjAL_400x400.jpg?1615332438",coingeckoId:"hapi",realOriginContractAddress:"6VNKqgz9hk7zRShTFdg5AnkfKwZUcojzwAkzxSH3bnUm",realOriginChainId:1,supportsPermit:!1},{name:"Hawksight",symbol:"HAWK",mint:"BKipkearSqAUdNKa1WDstvcMjoPsSKBuNyvKDQDDu9WE",contract:"BKipkearSqAUdNKa1WDstvcMjoPsSKBuNyvKDQDDu9WE",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/24459/small/3CnlKM0x_400x400.jpg?1647679676",coingeckoId:"hawksight",realOriginContractAddress:"BKipkearSqAUdNKa1WDstvcMjoPsSKBuNyvKDQDDu9WE",realOriginChainId:1,supportsPermit:!1},{name:"Heavenland HTO",symbol:"HTO",mint:"htoHLBJV1err8xP5oxyQdV2PLQhtVjxLXpKB7FsgJQD",contract:"htoHLBJV1err8xP5oxyQdV2PLQhtVjxLXpKB7FsgJQD",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/25553/small/rTFh6BD.png?1652420842",coingeckoId:"heavenland-hto",realOriginContractAddress:"htoHLBJV1err8xP5oxyQdV2PLQhtVjxLXpKB7FsgJQD",realOriginChainId:1,supportsPermit:!1},{name:"Hedge Protocol",symbol:"HDG",mint:"5PmpMzWjraf3kSsGEKtqdUsCoLhptg4yriZ17LKKdBBy",contract:"5PmpMzWjraf3kSsGEKtqdUsCoLhptg4yriZ17LKKdBBy",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/25482/small/hdg.png?1652011201",coingeckoId:"hedge-protocol",realOriginContractAddress:"5PmpMzWjraf3kSsGEKtqdUsCoLhptg4yriZ17LKKdBBy",realOriginChainId:1,supportsPermit:!1},{name:"Hedge USD",symbol:"USH",mint:"9iLH8T7zoWhY7sBmj1WK9ENbWdS1nL8n9wAxaeRitTa6",contract:"9iLH8T7zoWhY7sBmj1WK9ENbWdS1nL8n9wAxaeRitTa6",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/25481/small/ush.png?1652011029",coingeckoId:"hedge-usd",realOriginContractAddress:"9iLH8T7zoWhY7sBmj1WK9ENbWdS1nL8n9wAxaeRitTa6",realOriginChainId:1,supportsPermit:!1},{name:"High Roller Hippo Clique",symbol:"ROLL",mint:"76aYNHbDfHemxSS7vmh6eJGfjodK8m7srCxiYCrKxzY1",contract:"76aYNHbDfHemxSS7vmh6eJGfjodK8m7srCxiYCrKxzY1",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/23458/small/OslGsgzd_400x400.jpg?1644215478",coingeckoId:"high-roller-hippo-clique",realOriginContractAddress:"76aYNHbDfHemxSS7vmh6eJGfjodK8m7srCxiYCrKxzY1",realOriginChainId:1,supportsPermit:!1},{name:"HolyGrails.io",symbol:"HOLY",mint:"HezGWsxSVMqEZy7HJf7TtXzQRLiDruYsheYWqoUVnWQo",contract:"HezGWsxSVMqEZy7HJf7TtXzQRLiDruYsheYWqoUVnWQo",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/28395/small/HG_Token_Design-07.png?1670290228",coingeckoId:"holygrails-io",realOriginContractAddress:"HezGWsxSVMqEZy7HJf7TtXzQRLiDruYsheYWqoUVnWQo",realOriginChainId:1,supportsPermit:!1},{name:"Honey Finance",symbol:"HONEY",mint:"HonyeYAaTPgKUgQpayL914P6VAqbQZPrbkGMETZvW4iN",contract:"HonyeYAaTPgKUgQpayL914P6VAqbQZPrbkGMETZvW4iN",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/24781/small/honey.png?1648902423",coingeckoId:"honey-finance",realOriginContractAddress:"HonyeYAaTPgKUgQpayL914P6VAqbQZPrbkGMETZvW4iN",realOriginChainId:1,supportsPermit:!1},{name:"Hubble",symbol:"HBB",mint:"HBB111SCo9jkCejsZfz8Ec8nH7T6THF8KEKSnvwT6XK6",contract:"HBB111SCo9jkCejsZfz8Ec8nH7T6THF8KEKSnvwT6XK6",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/22070/small/hubble.PNG?1640749942",coingeckoId:"hubble",realOriginContractAddress:"HBB111SCo9jkCejsZfz8Ec8nH7T6THF8KEKSnvwT6XK6",realOriginChainId:1,supportsPermit:!1},{name:"Hunter Diamond",symbol:"HUNT",mint:"CTYiHf58UGShfHtpkTwx7vjPDA779dd6iVaeD281fEVx",contract:"CTYiHf58UGShfHtpkTwx7vjPDA779dd6iVaeD281fEVx",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/27566/small/Token_Hunters__CoinMarketCap.png?1664522159",coingeckoId:"hunter-diamond",realOriginContractAddress:"CTYiHf58UGShfHtpkTwx7vjPDA779dd6iVaeD281fEVx",realOriginChainId:1,supportsPermit:!1},{name:"Hxro (Portal from Ethereum)",symbol:"HXRO",mint:"HxhWkVpk5NS4Ltg5nij2G671CKXFRKPK8vy271Ub4uEK",contract:"HxhWkVpk5NS4Ltg5nij2G671CKXFRKPK8vy271Ub4uEK",chainId:0,wChainId:1,decimals:8,logoURI:"https://assets.coingecko.com/coins/images/7805/small/Hxro_Profile_Transparent.png?1622443308",coingeckoId:"hxro",realOriginContractAddress:"0x4bd70556ae3f8a6ec6c4080a0c327b24325438f3",realOriginChainId:2,supportsPermit:!1},{name:"Investin",symbol:"IVN",mint:"iVNcrNE9BRZBC9Aqf753iZiZfbszeAVUoikgT9yvr2a",contract:"iVNcrNE9BRZBC9Aqf753iZiZfbszeAVUoikgT9yvr2a",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/15588/small/ivn_logo.png?1621267247",coingeckoId:"investin",realOriginContractAddress:"iVNcrNE9BRZBC9Aqf753iZiZfbszeAVUoikgT9yvr2a",realOriginChainId:1,supportsPermit:!1},{name:"Invictus",symbol:"IN",mint:"inL8PMVd6iiW3RCBJnr5AsrRN6nqr4BTrcNuQWQSkvY",contract:"inL8PMVd6iiW3RCBJnr5AsrRN6nqr4BTrcNuQWQSkvY",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/20097/small/jv2xoOxJ_400x400.jpg?1636494713",coingeckoId:"invictus",realOriginContractAddress:"inL8PMVd6iiW3RCBJnr5AsrRN6nqr4BTrcNuQWQSkvY",realOriginChainId:1,supportsPermit:!1},{name:"Jelly eSports",symbol:"JELLY",mint:"9WMwGcY6TcbSfy9XPpQymY3qNEsvEaYL3wivdwPG2fpp",contract:"9WMwGcY6TcbSfy9XPpQymY3qNEsvEaYL3wivdwPG2fpp",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/28572/small/jellylogo.png?1671863817",coingeckoId:"jelly-esports",realOriginContractAddress:"9WMwGcY6TcbSfy9XPpQymY3qNEsvEaYL3wivdwPG2fpp",realOriginChainId:1,supportsPermit:!1},{name:"JET",symbol:"JET",mint:"JET6zMJWkCN9tpRT2v2jfAmm5VnQFDpUBCyaKojmGtz",contract:"JET6zMJWkCN9tpRT2v2jfAmm5VnQFDpUBCyaKojmGtz",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/18437/small/jet_logomark_color.png?1631972990",coingeckoId:"jet",realOriginContractAddress:"JET6zMJWkCN9tpRT2v2jfAmm5VnQFDpUBCyaKojmGtz",realOriginChainId:1,supportsPermit:!1},{name:"Jito Staked SOL",symbol:"JITOSOL",mint:"J1toso1uCk3RLmjorhTtrVwY9HJ7X8V9yYac6Y7kGCPn",contract:"J1toso1uCk3RLmjorhTtrVwY9HJ7X8V9yYac6Y7kGCPn",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/28046/small/JitoSOL-200.png?1667271467",coingeckoId:"jito-staked-sol",realOriginContractAddress:"J1toso1uCk3RLmjorhTtrVwY9HJ7X8V9yYac6Y7kGCPn",realOriginChainId:1,supportsPermit:!1},{name:"JPool",symbol:"JSOL",mint:"7Q2afV64in6N6SeZsAAB81TJzwDoD6zpqmHkzi9Dcavn",contract:"7Q2afV64in6N6SeZsAAB81TJzwDoD6zpqmHkzi9Dcavn",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/20664/small/jsol.png?1637545897",coingeckoId:"jpool",realOriginContractAddress:"7Q2afV64in6N6SeZsAAB81TJzwDoD6zpqmHkzi9Dcavn",realOriginChainId:1,supportsPermit:!1},{name:"Jungle",symbol:"JUNGLE",mint:"Aogv6j1wWiBAZcqRNN1Y89eozda2ke6rkc4CYy7c4iCi",contract:"Aogv6j1wWiBAZcqRNN1Y89eozda2ke6rkc4CYy7c4iCi",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/20893/small/O9Usopi.png?1637847516",coingeckoId:"jungle",realOriginContractAddress:"Aogv6j1wWiBAZcqRNN1Y89eozda2ke6rkc4CYy7c4iCi",realOriginChainId:1,supportsPermit:!1},{name:"Jungle DeFi",symbol:"JFI",mint:"GePFQaZKHcWE5vpxHfviQtH5jgxokSs51Y5Q4zgBiMDs",contract:"GePFQaZKHcWE5vpxHfviQtH5jgxokSs51Y5Q4zgBiMDs",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/23679/small/logo.png?1644997055",coingeckoId:"jungle-defi",realOriginContractAddress:"GePFQaZKHcWE5vpxHfviQtH5jgxokSs51Y5Q4zgBiMDs",realOriginChainId:1,supportsPermit:!1},{name:"Kalisten",symbol:"KS",mint:"3swraHsc77KMg1tFvwH3tfYcd8SWr5fcUhtmRxjavG7H",contract:"3swraHsc77KMg1tFvwH3tfYcd8SWr5fcUhtmRxjavG7H",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/25486/small/kalisten_token.png?1652067781",coingeckoId:"kalisten",realOriginContractAddress:"3swraHsc77KMg1tFvwH3tfYcd8SWr5fcUhtmRxjavG7H",realOriginChainId:1,supportsPermit:!1},{name:"Keeshond",symbol:"$KSH",mint:"6j14WyX1Ag2pLWvn99euK4xp2VcZD62VeJv2iwCrYmT8",contract:"6j14WyX1Ag2pLWvn99euK4xp2VcZD62VeJv2iwCrYmT8",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/21353/small/lkdYjrVS_400x400.jpg?1638999576",coingeckoId:"keeshond",realOriginContractAddress:"6j14WyX1Ag2pLWvn99euK4xp2VcZD62VeJv2iwCrYmT8",realOriginChainId:1,supportsPermit:!1},{name:"Kin",symbol:"KIN",mint:"kinXdEcpDQeHPEuQnqmUgtYykqKGVFq6CeVX5iAHJq6",contract:"kinXdEcpDQeHPEuQnqmUgtYykqKGVFq6CeVX5iAHJq6",chainId:0,wChainId:1,decimals:5,logoURI:"https://assets.coingecko.com/coins/images/959/small/kin.png?1586917032",coingeckoId:"kin",realOriginContractAddress:"kinXdEcpDQeHPEuQnqmUgtYykqKGVFq6CeVX5iAHJq6",realOriginChainId:1,supportsPermit:!1},{name:"KKO Protocol",symbol:"KKO",mint:"kiNeKo77w1WBEzFFCXrTDRWGRWGP8yHvKC9rX6dqjQh",contract:"kiNeKo77w1WBEzFFCXrTDRWGRWGP8yHvKC9rX6dqjQh",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/15366/small/kko-coingecko.png?1658982821",coingeckoId:"kineko",realOriginContractAddress:"kiNeKo77w1WBEzFFCXrTDRWGRWGP8yHvKC9rX6dqjQh",realOriginChainId:1,supportsPermit:!1},{name:"Kineko",symbol:"KNK",mint:"kNkT1RDnexWqYP3EYGyWv5ZtazB8CfgGAfJtv9AQ3kz",contract:"kNkT1RDnexWqYP3EYGyWv5ZtazB8CfgGAfJtv9AQ3kz",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/26597/small/knk-cmc-logo.png?1658974690",coingeckoId:"kineko-knk",realOriginContractAddress:"kNkT1RDnexWqYP3EYGyWv5ZtazB8CfgGAfJtv9AQ3kz",realOriginChainId:1,supportsPermit:!1},{name:"Kitty Coin Solana",symbol:"KITTY",mint:"6XWfkyg5mzGtKNftSDgYjyoPyUsLRf2rafj95XSFSFrr",contract:"6XWfkyg5mzGtKNftSDgYjyoPyUsLRf2rafj95XSFSFrr",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/20819/small/brand-1.png?1642645998",coingeckoId:"kitty-coin-solana",realOriginContractAddress:"6XWfkyg5mzGtKNftSDgYjyoPyUsLRf2rafj95XSFSFrr",realOriginChainId:1,supportsPermit:!1},{name:"Krill",symbol:"KRILL",mint:"EP2aYBDD4WvdhnwWLUMyqU69g1ePtEjgYK6qyEAFCHTx",contract:"EP2aYBDD4WvdhnwWLUMyqU69g1ePtEjgYK6qyEAFCHTx",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/23917/small/Krill_towen.png?1645684293",coingeckoId:"krill",realOriginContractAddress:"EP2aYBDD4WvdhnwWLUMyqU69g1ePtEjgYK6qyEAFCHTx",realOriginChainId:1,supportsPermit:!1},{name:"Kurobi",symbol:"KURO",mint:"2Kc38rfQ49DFaKHQaWbijkE7fcymUMLY5guUiUsDmFfn",contract:"2Kc38rfQ49DFaKHQaWbijkE7fcymUMLY5guUiUsDmFfn",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/18612/small/logo_-_2021-09-26T233232.947.png?1632670367",coingeckoId:"kurobi",realOriginContractAddress:"2Kc38rfQ49DFaKHQaWbijkE7fcymUMLY5guUiUsDmFfn",realOriginChainId:1,supportsPermit:!1},{name:"Laine Stake",symbol:"LAINESOL",mint:"LAinEtNLgpmCP9Rvsf5Hn8W6EhNiKLZQti1xfWMLy6X",contract:"LAinEtNLgpmCP9Rvsf5Hn8W6EhNiKLZQti1xfWMLy6X",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/28184/small/laineSOL.png?1668257050",coingeckoId:"laine-stake",realOriginContractAddress:"LAinEtNLgpmCP9Rvsf5Hn8W6EhNiKLZQti1xfWMLy6X",realOriginChainId:1,supportsPermit:!1},{name:"Larix",symbol:"LARIX",mint:"Lrxqnh6ZHKbGy3dcrCED43nsoLkM1LTzU2jRfWe8qUC",contract:"Lrxqnh6ZHKbGy3dcrCED43nsoLkM1LTzU2jRfWe8qUC",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/18450/small/larix.PNG?1632092483",coingeckoId:"larix",realOriginContractAddress:"Lrxqnh6ZHKbGy3dcrCED43nsoLkM1LTzU2jRfWe8qUC",realOriginChainId:1,supportsPermit:!1},{name:"Learning Star",symbol:"LSTAR",mint:"C6qep3y7tCZUJYDXHiwuK46Gt6FsoxLi8qV1bTCRYaY1",contract:"C6qep3y7tCZUJYDXHiwuK46Gt6FsoxLi8qV1bTCRYaY1",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/25986/small/20581.png?1655155804",coingeckoId:"learning-star",realOriginContractAddress:"C6qep3y7tCZUJYDXHiwuK46Gt6FsoxLi8qV1bTCRYaY1",realOriginChainId:1,supportsPermit:!1},{name:"Lido DAO (Portal from Ethereum)",symbol:"LDO",mint:"HZRCwxP2Vq9PCpPXooayhJ2bxTpo5xfpQrwB1svh332p",contract:"HZRCwxP2Vq9PCpPXooayhJ2bxTpo5xfpQrwB1svh332p",chainId:0,wChainId:1,decimals:8,logoURI:"https://assets.coingecko.com/coins/images/13573/small/Lido_DAO.png?1609873644",coingeckoId:"lido-dao",realOriginContractAddress:"0x5a98fcbea516cf06857215779fd812ca3bef1b32",realOriginChainId:2,supportsPermit:!1},{name:"Lido Staked SOL",symbol:"STSOL",mint:"7dHbWXmci3dT8UFYWYZweBLXgycu7Y3iL6trKn1Y7ARj",contract:"7dHbWXmci3dT8UFYWYZweBLXgycu7Y3iL6trKn1Y7ARj",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/18369/small/logo_-_2021-09-15T100934.765.png?1631671781",coingeckoId:"lido-staked-sol",realOriginContractAddress:"7dHbWXmci3dT8UFYWYZweBLXgycu7Y3iL6trKn1Y7ARj",realOriginChainId:1,supportsPermit:!1},{name:"Lifinity",symbol:"LFNTY",mint:"LFNTYraetVioAPnGJht4yNg2aUZFXR776cMeN9VMjXp",contract:"LFNTYraetVioAPnGJht4yNg2aUZFXR776cMeN9VMjXp",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/25406/small/LFNTY_s.png?1651731251",coingeckoId:"lifinity",realOriginContractAddress:"LFNTYraetVioAPnGJht4yNg2aUZFXR776cMeN9VMjXp",realOriginChainId:1,supportsPermit:!1},{name:"LIQ Protocol",symbol:"LIQ",mint:"4wjPQJ6PrkC4dHhYghwJzGBVP78DkBzA2U3kHoFNBuhj",contract:"4wjPQJ6PrkC4dHhYghwJzGBVP78DkBzA2U3kHoFNBuhj",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/16534/small/85853665.png?1624348565",coingeckoId:"liq-protocol",realOriginContractAddress:"4wjPQJ6PrkC4dHhYghwJzGBVP78DkBzA2U3kHoFNBuhj",realOriginChainId:1,supportsPermit:!1},{name:"Loot",symbol:"LOOT",mint:"GzpRsvnKXKz586kRLkjdppR4dUCFwHa2qaszKkPUQx6g",contract:"GzpRsvnKXKz586kRLkjdppR4dUCFwHa2qaszKkPUQx6g",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/23015/small/Bag_Open_%283%29.png?1643093342",coingeckoId:"loot-token",realOriginContractAddress:"GzpRsvnKXKz586kRLkjdppR4dUCFwHa2qaszKkPUQx6g",realOriginChainId:1,supportsPermit:!1},{name:"LP Finance DAO",symbol:"LPFI",mint:"LPFiNAybMobY5oHfYVdy9jPozFBGKpPiEGoobK2xCe3",contract:"LPFiNAybMobY5oHfYVdy9jPozFBGKpPiEGoobK2xCe3",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/27704/small/output-onlinepngtools_%2827%29.png?1666087863",coingeckoId:"lp-finance",realOriginContractAddress:"LPFiNAybMobY5oHfYVdy9jPozFBGKpPiEGoobK2xCe3",realOriginChainId:1,supportsPermit:!1},{name:"Maneki-neko",symbol:"NEKI",mint:"ALKiRVrfLgzeAV2mCT7cJHKg3ZoPvsCRSV7VCRWnE8zQ",contract:"ALKiRVrfLgzeAV2mCT7cJHKg3ZoPvsCRSV7VCRWnE8zQ",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/21321/small/logo.png?1638944515",coingeckoId:"maneki-neko",realOriginContractAddress:"ALKiRVrfLgzeAV2mCT7cJHKg3ZoPvsCRSV7VCRWnE8zQ",realOriginChainId:1,supportsPermit:!1},{name:"Mango",symbol:"MNGO",mint:"MangoCzJ36AjZyKwVj3VnYU4GTonjfVEnJmvvWaxLac",contract:"MangoCzJ36AjZyKwVj3VnYU4GTonjfVEnJmvvWaxLac",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/14773/small/token-mango.png?1628171237",coingeckoId:"mango-markets",realOriginContractAddress:"MangoCzJ36AjZyKwVj3VnYU4GTonjfVEnJmvvWaxLac",realOriginChainId:1,supportsPermit:!1},{name:"MAPS",symbol:"MAPS",mint:"MAPS41MDahZ9QdKXhVa4dWB9RuyfV4XqhyAZ8XcYepb",contract:"MAPS41MDahZ9QdKXhVa4dWB9RuyfV4XqhyAZ8XcYepb",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/13556/small/Copy_of_image_%28139%29.png?1609768934",coingeckoId:"maps",realOriginContractAddress:"MAPS41MDahZ9QdKXhVa4dWB9RuyfV4XqhyAZ8XcYepb",realOriginChainId:1,supportsPermit:!1},{name:"Marinade",symbol:"MNDE",mint:"MNDEFzGvMt87ueuHvVU9VcTqsAP5b3fTGPsHuuPA5ey",contract:"MNDEFzGvMt87ueuHvVU9VcTqsAP5b3fTGPsHuuPA5ey",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/18867/small/MNDE.png?1643187748",coingeckoId:"marinade",realOriginContractAddress:"MNDEFzGvMt87ueuHvVU9VcTqsAP5b3fTGPsHuuPA5ey",realOriginChainId:1,supportsPermit:!1},{name:"Matrix Solana Index",symbol:"MSI",mint:"2e7yNwrmTgXp9ABUmcPXvFJTSrEVLj4YMyrb4GUM4Pdd",contract:"2e7yNwrmTgXp9ABUmcPXvFJTSrEVLj4YMyrb4GUM4Pdd",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/20785/small/MSI.png?1637671199",coingeckoId:"matrix-solana-index",realOriginContractAddress:"2e7yNwrmTgXp9ABUmcPXvFJTSrEVLj4YMyrb4GUM4Pdd",realOriginChainId:1,supportsPermit:!1},{name:"MatrixETF",symbol:"MDF",mint:"ALQ9KMWjFmxVbew3vMkJj3ypbAKuorSgGst6svCHEe2z",contract:"ALQ9KMWjFmxVbew3vMkJj3ypbAKuorSgGst6svCHEe2z",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/18538/small/MDF.png?1632304949",coingeckoId:"matrixetf",realOriginContractAddress:"ALQ9KMWjFmxVbew3vMkJj3ypbAKuorSgGst6svCHEe2z",realOriginChainId:1,supportsPermit:!1},{name:"Meanfi",symbol:"MEAN",mint:"MEANeD3XDdUmNMsRGjASkSWdC8prLYsoRJ61pPeHctD",contract:"MEANeD3XDdUmNMsRGjASkSWdC8prLYsoRJ61pPeHctD",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/21557/small/89934951.png?1639466364",coingeckoId:"meanfi",realOriginContractAddress:"MEANeD3XDdUmNMsRGjASkSWdC8prLYsoRJ61pPeHctD",realOriginChainId:1,supportsPermit:!1},{name:"Media Network",symbol:"MEDIA",mint:"ETAtLmCmsoiEEKfNrHKJ2kYy3MoABhU6NQvpSfij5tDs",contract:"ETAtLmCmsoiEEKfNrHKJ2kYy3MoABhU6NQvpSfij5tDs",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/15142/small/media50x50.png?1620122020",coingeckoId:"media-network",realOriginContractAddress:"ETAtLmCmsoiEEKfNrHKJ2kYy3MoABhU6NQvpSfij5tDs",realOriginChainId:1,supportsPermit:!1},{name:"MekkaCoin",symbol:"MEK",mint:"MekkANZkBpzbGeTWsD1cRRuQxZMTFfBJyLrKywGQRss",contract:"MekkANZkBpzbGeTWsD1cRRuQxZMTFfBJyLrKywGQRss",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/27530/small/unknown_%2819%29.png?1664372136",coingeckoId:"mekkacoin",realOriginContractAddress:"MekkANZkBpzbGeTWsD1cRRuQxZMTFfBJyLrKywGQRss",realOriginChainId:1,supportsPermit:!1},{name:"Mend",symbol:"MEND",mint:"Ch9NFVk5sqEPQHtw2gJVgnHfTm7FW1JspYwc7SxLi6q3",contract:"Ch9NFVk5sqEPQHtw2gJVgnHfTm7FW1JspYwc7SxLi6q3",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/25917/small/logo-e1637099222337.png?1654592434",coingeckoId:"mend",realOriginContractAddress:"Ch9NFVk5sqEPQHtw2gJVgnHfTm7FW1JspYwc7SxLi6q3",realOriginChainId:1,supportsPermit:!1},{name:"Mercurial",symbol:"MER",mint:"MERt85fc5boKw3BW1eYdxonEuJNvXbiMbs6hvheau5K",contract:"MERt85fc5boKw3BW1eYdxonEuJNvXbiMbs6hvheau5K",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/15527/small/mer_logo.png?1621128922",coingeckoId:"mercurial",realOriginContractAddress:"MERt85fc5boKw3BW1eYdxonEuJNvXbiMbs6hvheau5K",realOriginChainId:1,supportsPermit:!1},{name:"MetaMall",symbol:"MALL",mint:"5EbpXhW7t8ypBF3Q1X7odFaHjuh7XJfCohXR3VYAW32i",contract:"5EbpXhW7t8ypBF3Q1X7odFaHjuh7XJfCohXR3VYAW32i",chainId:0,wChainId:1,decimals:3,logoURI:"https://assets.coingecko.com/coins/images/24183/small/gRlsG1JA_400x400.jpg?1646787127",coingeckoId:"metamall",realOriginContractAddress:"5EbpXhW7t8ypBF3Q1X7odFaHjuh7XJfCohXR3VYAW32i",realOriginChainId:1,supportsPermit:!1},{name:"Metaplex",symbol:"MPLX",mint:"METAewgxyPbgwsseH8T16a39CQ5VyVxZi9zXiDPY18m",contract:"METAewgxyPbgwsseH8T16a39CQ5VyVxZi9zXiDPY18m",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/27344/small/mplx.png?1663636769",coingeckoId:"metaplex",realOriginContractAddress:"METAewgxyPbgwsseH8T16a39CQ5VyVxZi9zXiDPY18m",realOriginChainId:1,supportsPermit:!1},{name:"Million Monke",symbol:"MIMO",mint:"9TE7ebz1dsFo1uQ2T4oYAKSm39Y6fWuHrd6Uk6XaiD16",contract:"9TE7ebz1dsFo1uQ2T4oYAKSm39Y6fWuHrd6Uk6XaiD16",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/21071/small/200xMIMO.png?1638281151",coingeckoId:"million-monke",realOriginContractAddress:"9TE7ebz1dsFo1uQ2T4oYAKSm39Y6fWuHrd6Uk6XaiD16",realOriginChainId:1,supportsPermit:!1},{name:"MAI",symbol:"MIMATIC",mint:"9mWRABuz2x6koTPCWiCPM49WUbcrNqGTHBV9T9k7y1o7",contract:"9mWRABuz2x6koTPCWiCPM49WUbcrNqGTHBV9T9k7y1o7",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/15264/small/mimatic-red.png?1620281018",coingeckoId:"mimatic",realOriginContractAddress:"9mWRABuz2x6koTPCWiCPM49WUbcrNqGTHBV9T9k7y1o7",realOriginChainId:1,supportsPermit:!1},{name:"Mindfolk Wood",symbol:"$WOOD",mint:"674PmuiDtgKx3uKuJ1B16f9m5L84eFvNwj3xDMvHcbo7",contract:"674PmuiDtgKx3uKuJ1B16f9m5L84eFvNwj3xDMvHcbo7",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/22512/small/tokenlogo.png?1641966072",coingeckoId:"mindfolk-wood",realOriginContractAddress:"674PmuiDtgKx3uKuJ1B16f9m5L84eFvNwj3xDMvHcbo7",realOriginChainId:1,supportsPermit:!1},{name:"MMA Gaming",symbol:"MMA",mint:"MMAx26JtJgSWv6yH48nEHCGZcVvRbf9Lt9ALa7jSipe",contract:"MMAx26JtJgSWv6yH48nEHCGZcVvRbf9Lt9ALa7jSipe",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/23767/small/18166.png?1645425116",coingeckoId:"mma-gaming",realOriginContractAddress:"MMAx26JtJgSWv6yH48nEHCGZcVvRbf9Lt9ALa7jSipe",realOriginChainId:1,supportsPermit:!1},{name:"MonkeyLeague",symbol:"MBS",mint:"Fm9rHUTF5v3hwMLbStjZXqNBBoZyGriQaFM6sTFz3K8A",contract:"Fm9rHUTF5v3hwMLbStjZXqNBBoZyGriQaFM6sTFz3K8A",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/20841/small/monkeyball.png?1639023123",coingeckoId:"monkeyball",realOriginContractAddress:"Fm9rHUTF5v3hwMLbStjZXqNBBoZyGriQaFM6sTFz3K8A",realOriginChainId:1,supportsPermit:!1},{name:"MoonLana",symbol:"MOLA",mint:"AMdnw9H5DFtQwZowVFr4kUgSXJzLokKSinvgGiUoLSps",contract:"AMdnw9H5DFtQwZowVFr4kUgSXJzLokKSinvgGiUoLSps",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/16278/small/NW8RySX.png?1623635238",coingeckoId:"moonlana",realOriginContractAddress:"AMdnw9H5DFtQwZowVFr4kUgSXJzLokKSinvgGiUoLSps",realOriginChainId:1,supportsPermit:!1},{name:"Marinade staked SOL",symbol:"MSOL",mint:"mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So",contract:"mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/17752/small/mSOL.png?1644541955",coingeckoId:"msol",realOriginContractAddress:"mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So",realOriginChainId:1,supportsPermit:!1},{name:"Neonomad Finance",symbol:"NNI",mint:"buMnhMd5xSyXBssTQo15jouu8VhuEZJCfbtBUZgRcuW",contract:"buMnhMd5xSyXBssTQo15jouu8VhuEZJCfbtBUZgRcuW",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/25068/small/SeSkZxx7_400x400.jpeg?1658118217",coingeckoId:"neonomad-finance",realOriginContractAddress:"buMnhMd5xSyXBssTQo15jouu8VhuEZJCfbtBUZgRcuW",realOriginChainId:1,supportsPermit:!1},{name:"Nest Arcade",symbol:"NESTA",mint:"Czt7Fc4dz6BpLh2vKiSYyotNK2uPPDhvbWrrLeD9QxhV",contract:"Czt7Fc4dz6BpLh2vKiSYyotNK2uPPDhvbWrrLeD9QxhV",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/24182/small/mPFhh9sZ_400x400.jpg?1646786783",coingeckoId:"nest-arcade",realOriginContractAddress:"Czt7Fc4dz6BpLh2vKiSYyotNK2uPPDhvbWrrLeD9QxhV",realOriginChainId:1,supportsPermit:!1},{name:"NftEyez",symbol:"EYE",mint:"G7eETAaUzmsBPKhokZyfbaT4tD9igdZSmfQGEYWem8Sw",contract:"G7eETAaUzmsBPKhokZyfbaT4tD9igdZSmfQGEYWem8Sw",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/22079/small/eye-coin.png?1640755291",coingeckoId:"nfteyez",realOriginContractAddress:"G7eETAaUzmsBPKhokZyfbaT4tD9igdZSmfQGEYWem8Sw",realOriginChainId:1,supportsPermit:!1},{name:"Ninja Protocol",symbol:"NINJA",mint:"FgX1WD9WzMU3yLwXaFSarPfkgzjLb2DZCqmkx9ExpuvJ",contract:"FgX1WD9WzMU3yLwXaFSarPfkgzjLb2DZCqmkx9ExpuvJ",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/18442/small/ninja.PNG?1632006127",coingeckoId:"ninja-protocol",realOriginContractAddress:"FgX1WD9WzMU3yLwXaFSarPfkgzjLb2DZCqmkx9ExpuvJ",realOriginChainId:1,supportsPermit:!1},{name:"Nirvana ANA",symbol:"ANA",mint:"ANAxByE6G2WjFp7A4NqtWYXb3mgruyzZYg3spfxe6Lbo",contract:"ANAxByE6G2WjFp7A4NqtWYXb3mgruyzZYg3spfxe6Lbo",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/25012/small/ANA_Logo.png?1649822203",coingeckoId:"nirvana-ana",realOriginContractAddress:"ANAxByE6G2WjFp7A4NqtWYXb3mgruyzZYg3spfxe6Lbo",realOriginChainId:1,supportsPermit:!1},{name:"Nirvana prANA",symbol:"PRANA",mint:"PRAxfbouRoJ9yZqhyejEAH6RvjJ86Y82vfiZTBSM3xG",contract:"PRAxfbouRoJ9yZqhyejEAH6RvjJ86Y82vfiZTBSM3xG",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/26176/small/prANA.png?1656379283",coingeckoId:"nirvana-prana",realOriginContractAddress:"PRAxfbouRoJ9yZqhyejEAH6RvjJ86Y82vfiZTBSM3xG",realOriginChainId:1,supportsPermit:!1},{name:"Nosana",symbol:"NOS",mint:"nosXBVoaCTtYdLvKY6Csb4AC8JCdQKKAaWYtx2ZMoo7",contract:"nosXBVoaCTtYdLvKY6Csb4AC8JCdQKKAaWYtx2ZMoo7",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/22553/small/POfb_I4u_400x400.jpg?1642053655",coingeckoId:"nosana",realOriginContractAddress:"nosXBVoaCTtYdLvKY6Csb4AC8JCdQKKAaWYtx2ZMoo7",realOriginChainId:1,supportsPermit:!1},{name:"Nova Finance",symbol:"NOVA",mint:"BDrL8huis6S5tpmozaAaT5zhE5A7ZBAB2jMMvpKEeF8A",contract:"BDrL8huis6S5tpmozaAaT5zhE5A7ZBAB2jMMvpKEeF8A",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/21672/small/bGVB8h2Q_400x400.jpg?1639710371",coingeckoId:"nova-finance",realOriginContractAddress:"BDrL8huis6S5tpmozaAaT5zhE5A7ZBAB2jMMvpKEeF8A",realOriginChainId:1,supportsPermit:!1},{name:"Okay Bears Floor Index",symbol:"OKAYB",mint:"Ca9LxRYdZ7jK4QAqjLo4iaYmiV8FNdngtSkzM69hzgDX",contract:"Ca9LxRYdZ7jK4QAqjLo4iaYmiV8FNdngtSkzM69hzgDX",chainId:0,wChainId:1,decimals:2,logoURI:"https://assets.coingecko.com/coins/images/27170/small/9815.png?1662286926",coingeckoId:"okay-bears-floor-index",realOriginContractAddress:"Ca9LxRYdZ7jK4QAqjLo4iaYmiV8FNdngtSkzM69hzgDX",realOriginChainId:1,supportsPermit:!1},{name:"Onespace",symbol:"1SP",mint:"2zzC22UBgJGCYPdFyo7GDwz7YHq5SozJc1nnBqLU8oZb",contract:"2zzC22UBgJGCYPdFyo7GDwz7YHq5SozJc1nnBqLU8oZb",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/26474/small/1SP_logo.png?1658195640",coingeckoId:"onespace",realOriginContractAddress:"2zzC22UBgJGCYPdFyo7GDwz7YHq5SozJc1nnBqLU8oZb",realOriginChainId:1,supportsPermit:!1},{name:"Only1",symbol:"LIKE",mint:"3bRTivrVsitbmCTGtqwp7hxXPsybkjn4XLNtPsHqa3zR",contract:"3bRTivrVsitbmCTGtqwp7hxXPsybkjn4XLNtPsHqa3zR",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/17501/small/like-token.png?1628036165",coingeckoId:"only1",realOriginContractAddress:"3bRTivrVsitbmCTGtqwp7hxXPsybkjn4XLNtPsHqa3zR",realOriginChainId:1,supportsPermit:!1},{name:"OOGI",symbol:"OOGI",mint:"H7Qc9APCWWGDVxGD5fJHmLTmdEgT9GFatAKFNg6sHh8A",contract:"H7Qc9APCWWGDVxGD5fJHmLTmdEgT9GFatAKFNg6sHh8A",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/19714/small/oogi.PNG?1635756218",coingeckoId:"oogi",realOriginContractAddress:"H7Qc9APCWWGDVxGD5fJHmLTmdEgT9GFatAKFNg6sHh8A",realOriginChainId:1,supportsPermit:!1},{name:"Orca",symbol:"ORCA",mint:"orcaEKTdK7LKz57vaAYr9QeNsVEPfiu6QeMU1kektZE",contract:"orcaEKTdK7LKz57vaAYr9QeNsVEPfiu6QeMU1kektZE",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/17547/small/Orca_Logo.png?1628781615",coingeckoId:"orca",realOriginContractAddress:"orcaEKTdK7LKz57vaAYr9QeNsVEPfiu6QeMU1kektZE",realOriginChainId:1,supportsPermit:!1},{name:"Oxbull Solana",symbol:"OXS",mint:"4TGxgCSJQx2GQk9oHZ8dC5m3JNXTYZHjXumKAW3vLnNx",contract:"4TGxgCSJQx2GQk9oHZ8dC5m3JNXTYZHjXumKAW3vLnNx",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/17304/small/9xPPXxJC_400x400.jpg?1627269668",coingeckoId:"oxbull-solana",realOriginContractAddress:"4TGxgCSJQx2GQk9oHZ8dC5m3JNXTYZHjXumKAW3vLnNx",realOriginChainId:1,supportsPermit:!1},{name:"Oxygen",symbol:"OXY",mint:"z3dn17yLaGMKffVogeFHQ9zWVcXgqgf3PQnDsNs2g6M",contract:"z3dn17yLaGMKffVogeFHQ9zWVcXgqgf3PQnDsNs2g6M",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/13509/small/8DjBZ79V_400x400.jpg?1609236331",coingeckoId:"oxygen",realOriginContractAddress:"z3dn17yLaGMKffVogeFHQ9zWVcXgqgf3PQnDsNs2g6M",realOriginChainId:1,supportsPermit:!1},{name:"Panda Coin",symbol:"PANDA",mint:"Aw8qLRHGhMcKq7rxs5XBNCd9oe3BvoAhpNMVz7AdGmty",contract:"Aw8qLRHGhMcKq7rxs5XBNCd9oe3BvoAhpNMVz7AdGmty",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/20500/small/panda.png?1638349709",coingeckoId:"panda-coin",realOriginContractAddress:"Aw8qLRHGhMcKq7rxs5XBNCd9oe3BvoAhpNMVz7AdGmty",realOriginChainId:1,supportsPermit:!1},{name:"Parasol Finance",symbol:"PSOL",mint:"Hmatmu1ktLbobSvim94mfpZmjL5iiyoM1zidtXJRAdLZ",contract:"Hmatmu1ktLbobSvim94mfpZmjL5iiyoM1zidtXJRAdLZ",chainId:0,wChainId:1,decimals:7,logoURI:"https://assets.coingecko.com/coins/images/21551/small/icon.png?1642584584",coingeckoId:"parasol-finance",realOriginContractAddress:"Hmatmu1ktLbobSvim94mfpZmjL5iiyoM1zidtXJRAdLZ",realOriginChainId:1,supportsPermit:!1},{name:"Parrot Protocol",symbol:"PRT",mint:"PRT88RkA4Kg5z7pKnezeNH4mafTvtQdfFgpQTGRjz44",contract:"PRT88RkA4Kg5z7pKnezeNH4mafTvtQdfFgpQTGRjz44",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/18443/small/PRT.png?1634698095",coingeckoId:"parrot-protocol",realOriginContractAddress:"PRT88RkA4Kg5z7pKnezeNH4mafTvtQdfFgpQTGRjz44",realOriginChainId:1,supportsPermit:!1},{name:"Parrot USD",symbol:"PAI",mint:"Ea5SjE2Y6yvCeW5dYTn7PYMuW5ikXkvbGdcmSnXeaLjS",contract:"Ea5SjE2Y6yvCeW5dYTn7PYMuW5ikXkvbGdcmSnXeaLjS",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/18439/small/pai.png?1632004568",coingeckoId:"parrot-usd",realOriginContractAddress:"Ea5SjE2Y6yvCeW5dYTn7PYMuW5ikXkvbGdcmSnXeaLjS",realOriginChainId:1,supportsPermit:!1},{name:"Particle Technology",symbol:"PART",mint:"AVKnbqNQgXDY8kbnno9eSGfwpVz5idimBnDKiz1vbWAh",contract:"AVKnbqNQgXDY8kbnno9eSGfwpVz5idimBnDKiz1vbWAh",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/21302/small/logo.png?1638882252",coingeckoId:"particle-technology",realOriginContractAddress:"AVKnbqNQgXDY8kbnno9eSGfwpVz5idimBnDKiz1vbWAh",realOriginChainId:1,supportsPermit:!1},{name:"Phant",symbol:"PNT",mint:"AKxR1NLTtPnsVcWwPSEGat1TC9da3Z2vX7sY4G7ZLj1r",contract:"AKxR1NLTtPnsVcWwPSEGat1TC9da3Z2vX7sY4G7ZLj1r",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/22799/small/logogradientsm.png?1642583142",coingeckoId:"phant",realOriginContractAddress:"AKxR1NLTtPnsVcWwPSEGat1TC9da3Z2vX7sY4G7ZLj1r",realOriginChainId:1,supportsPermit:!1},{name:"Phantasia",symbol:"FANT",mint:"FANTafPFBAt93BNJVpdu25pGPmca3RfwdsDsRrT3LX1r",contract:"FANTafPFBAt93BNJVpdu25pGPmca3RfwdsDsRrT3LX1r",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/21604/small/Phantasia_Logo.png?1639553227",coingeckoId:"phantasia",realOriginContractAddress:"FANTafPFBAt93BNJVpdu25pGPmca3RfwdsDsRrT3LX1r",realOriginChainId:1,supportsPermit:!1},{name:"Physis",symbol:"PHY",mint:"EswgBj2hZKdgovX2ihWSUDnuBg9VNbGmSGoH5yjNsPRa",contract:"EswgBj2hZKdgovX2ihWSUDnuBg9VNbGmSGoH5yjNsPRa",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/23087/small/PHY-icon-200x200.png?1643181312",coingeckoId:"physis",realOriginContractAddress:"EswgBj2hZKdgovX2ihWSUDnuBg9VNbGmSGoH5yjNsPRa",realOriginChainId:1,supportsPermit:!1},{name:"Pixels.so",symbol:"PIXL",mint:"5L2YboFbHAUpBDDJjvDB5M6pu9CW2FRjyDB2asZyvjtE",contract:"5L2YboFbHAUpBDDJjvDB5M6pu9CW2FRjyDB2asZyvjtE",chainId:0,wChainId:1,decimals:8,logoURI:"https://assets.coingecko.com/coins/images/21390/small/logo.png?1639036659",coingeckoId:"pixels-so",realOriginContractAddress:"5L2YboFbHAUpBDDJjvDB5M6pu9CW2FRjyDB2asZyvjtE",realOriginChainId:1,supportsPermit:!1},{name:"Playground",symbol:"PLAYA",mint:"E6oCGvmSYW7qhy7oeDfiNZLX6hEmPCVxBC8AknwAj82B",contract:"E6oCGvmSYW7qhy7oeDfiNZLX6hEmPCVxBC8AknwAj82B",chainId:0,wChainId:1,decimals:2,logoURI:"https://assets.coingecko.com/coins/images/24387/small/playa.PNG?1647502195",coingeckoId:"playground",realOriginContractAddress:"E6oCGvmSYW7qhy7oeDfiNZLX6hEmPCVxBC8AknwAj82B",realOriginChainId:1,supportsPermit:!1},{name:"Playground Waves Floor Index",symbol:"WAVES",mint:"4uRn7vxRPWYP4HuAa4UNXwEPLRL8oQ71YByMhr6yBnL4",contract:"4uRn7vxRPWYP4HuAa4UNXwEPLRL8oQ71YByMhr6yBnL4",chainId:0,wChainId:1,decimals:2,logoURI:"https://assets.coingecko.com/coins/images/24388/small/playgorund_waves.PNG?1647502973",coingeckoId:"playground-waves-floor-index",realOriginContractAddress:"4uRn7vxRPWYP4HuAa4UNXwEPLRL8oQ71YByMhr6yBnL4",realOriginChainId:1,supportsPermit:!1},{name:"Plutonian DAO",symbol:"PLD",mint:"2cJgFtnqjaoiu9fKVX3fny4Z4pRzuaqfJ3PBTMk2D9ur",contract:"2cJgFtnqjaoiu9fKVX3fny4Z4pRzuaqfJ3PBTMk2D9ur",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/25092/small/logo-pld_200.png?1650270204",coingeckoId:"plutonian-dao",realOriginContractAddress:"2cJgFtnqjaoiu9fKVX3fny4Z4pRzuaqfJ3PBTMk2D9ur",realOriginChainId:1,supportsPermit:!1},{name:"Pollen Coin",symbol:"PCN",mint:"GWsZd8k85q2ie9SNycVSLeKkX7HLZfSsgx6Jdat9cjY1",contract:"GWsZd8k85q2ie9SNycVSLeKkX7HLZfSsgx6Jdat9cjY1",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/25687/small/97762641.png?1653374572",coingeckoId:"pollen-coin",realOriginContractAddress:"GWsZd8k85q2ie9SNycVSLeKkX7HLZfSsgx6Jdat9cjY1",realOriginChainId:1,supportsPermit:!1},{name:"Port Finance",symbol:"PORT",mint:"PoRTjZMPXb9T7dyU7tpLEZRQj7e6ssfAE62j2oQuc6y",contract:"PoRTjZMPXb9T7dyU7tpLEZRQj7e6ssfAE62j2oQuc6y",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/17607/small/d-k0Ezts_400x400.jpg?1628648715",coingeckoId:"port-finance",realOriginContractAddress:"PoRTjZMPXb9T7dyU7tpLEZRQj7e6ssfAE62j2oQuc6y",realOriginChainId:1,supportsPermit:!1},{name:"Portals Ivory Index",symbol:"IVRY",mint:"2MtPZqwNKTNsBoFCwm4ZTWk3ySz4LSd82ucDGeTk7VNu",contract:"2MtPZqwNKTNsBoFCwm4ZTWk3ySz4LSd82ucDGeTk7VNu",chainId:0,wChainId:1,decimals:2,logoURI:"https://assets.coingecko.com/coins/images/24389/small/portal.PNG?1647503207",coingeckoId:"portals-ivory-index",realOriginContractAddress:"2MtPZqwNKTNsBoFCwm4ZTWk3ySz4LSd82ucDGeTk7VNu",realOriginChainId:1,supportsPermit:!1},{name:"Positron",symbol:"POT",mint:"9iz45n44TQUPyoRymdZXEunqvZUksZyhzS6zQ7sLMadj",contract:"9iz45n44TQUPyoRymdZXEunqvZUksZyhzS6zQ7sLMadj",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/23910/small/logo.png?1645682226",coingeckoId:"positron-token",realOriginContractAddress:"9iz45n44TQUPyoRymdZXEunqvZUksZyhzS6zQ7sLMadj",realOriginChainId:1,supportsPermit:!1},{name:"Potato",symbol:"POTATO",mint:"GEYrotdkRitGUK5UMv3aMttEhVAZLhRJMcG82zKYsaWB",contract:"GEYrotdkRitGUK5UMv3aMttEhVAZLhRJMcG82zKYsaWB",chainId:0,wChainId:1,decimals:3,logoURI:"https://assets.coingecko.com/coins/images/18254/small/logocircle.png?1631151305",coingeckoId:"potato",realOriginContractAddress:"GEYrotdkRitGUK5UMv3aMttEhVAZLhRJMcG82zKYsaWB",realOriginChainId:1,supportsPermit:!1},{name:"Prism",symbol:"PRISM",mint:"PRSMNsEPqhGVCH1TtWiJqPjJyh2cKrLostPZTNy1o5x",contract:"PRSMNsEPqhGVCH1TtWiJqPjJyh2cKrLostPZTNy1o5x",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/21475/small/7KzeGb1.png?1639350211",coingeckoId:"prism",realOriginContractAddress:"PRSMNsEPqhGVCH1TtWiJqPjJyh2cKrLostPZTNy1o5x",realOriginChainId:1,supportsPermit:!1},{name:"ProtoReality Games",symbol:"PRGC",mint:"66edZnAPEJSxnAK4SckuupssXpbu5doV57FUcghaqPsY",contract:"66edZnAPEJSxnAK4SckuupssXpbu5doV57FUcghaqPsY",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/25525/small/Bjh4zRK1_400x400.png?1652235059",coingeckoId:"protoreality-games",realOriginContractAddress:"66edZnAPEJSxnAK4SckuupssXpbu5doV57FUcghaqPsY",realOriginChainId:1,supportsPermit:!1},{name:"PsyOptions",symbol:"PSY",mint:"PsyFiqqjiv41G7o5SMRzDJCu4psptThNR2GtfeGHfSq",contract:"PsyFiqqjiv41G7o5SMRzDJCu4psptThNR2GtfeGHfSq",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/22784/small/download.png?1642580392",coingeckoId:"psyoptions",realOriginContractAddress:"PsyFiqqjiv41G7o5SMRzDJCu4psptThNR2GtfeGHfSq",realOriginChainId:1,supportsPermit:!1},{name:"PUFF",symbol:"PUFF",mint:"G9tt98aYSznRk7jWsfuz9FnTdokxS6Brohdo9hSmjTRB",contract:"G9tt98aYSznRk7jWsfuz9FnTdokxS6Brohdo9hSmjTRB",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/22049/small/logo_%281%29.png?1640675965",coingeckoId:"puff",realOriginContractAddress:"G9tt98aYSznRk7jWsfuz9FnTdokxS6Brohdo9hSmjTRB",realOriginChainId:1,supportsPermit:!1},{name:"RaceFi",symbol:"RACEFI",mint:"AAmGoPDFLG6bE82BgZWjVi8k95tj9Tf3vUN7WvtUm2BU",contract:"AAmGoPDFLG6bE82BgZWjVi8k95tj9Tf3vUN7WvtUm2BU",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/21873/small/XIF9z8Z6_400x400.jpg?1640209612",coingeckoId:"racefi",realOriginContractAddress:"AAmGoPDFLG6bE82BgZWjVi8k95tj9Tf3vUN7WvtUm2BU",realOriginChainId:1,supportsPermit:!1},{name:"RAD",symbol:"RAD",mint:"B6aJ3TGfme3SMnLSouHXqWXjVFqYyqj7czzhzr8WJFAi",contract:"B6aJ3TGfme3SMnLSouHXqWXjVFqYyqj7czzhzr8WJFAi",chainId:0,wChainId:1,decimals:4,logoURI:"https://assets.coingecko.com/coins/images/22854/small/unknown.png?1642750640",coingeckoId:"rad",realOriginContractAddress:"B6aJ3TGfme3SMnLSouHXqWXjVFqYyqj7czzhzr8WJFAi",realOriginChainId:1,supportsPermit:!1},{name:"Rally (Solana)",symbol:"SRLY",mint:"sRLY3migNrkC1HLgqotpvi66qGkdNedqPZ9TJpAQhyh",contract:"sRLY3migNrkC1HLgqotpvi66qGkdNedqPZ9TJpAQhyh",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/23239/small/srly.png?1643531979",coingeckoId:"rally-solana",realOriginContractAddress:"sRLY3migNrkC1HLgqotpvi66qGkdNedqPZ9TJpAQhyh",realOriginChainId:1,supportsPermit:!1},{name:"Ratio Protocol",symbol:"RATIO",mint:"ratioMVg27rSZbSvBopUvsdrGUzeALUfFma61mpxc8J",contract:"ratioMVg27rSZbSvBopUvsdrGUzeALUfFma61mpxc8J",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/24543/small/ratio.png?1648108625",coingeckoId:"ratio-finance",realOriginContractAddress:"ratioMVg27rSZbSvBopUvsdrGUzeALUfFma61mpxc8J",realOriginChainId:1,supportsPermit:!1},{name:"Ratio Stable Coin",symbol:"USDR",mint:"USDrbBQwQbQ2oWHUPfA8QBHcyVxKUq1xHyXsSLKdUq2",contract:"USDrbBQwQbQ2oWHUPfA8QBHcyVxKUq1xHyXsSLKdUq2",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/26066/small/usdr_logo.png?1655469254",coingeckoId:"ratio-stable-coin",realOriginContractAddress:"USDrbBQwQbQ2oWHUPfA8QBHcyVxKUq1xHyXsSLKdUq2",realOriginChainId:1,supportsPermit:!1},{name:"Raydium",symbol:"RAY",mint:"4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R",contract:"4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/13928/small/PSigc4ie_400x400.jpg?1612875614",coingeckoId:"raydium",realOriginContractAddress:"4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R",realOriginChainId:1,supportsPermit:!1},{name:"Realy Metaverse",symbol:"REAL",mint:"AD27ov5fVU2XzwsbvnFvb1JpCBaCB5dRXrczV9CqSVGb",contract:"AD27ov5fVU2XzwsbvnFvb1JpCBaCB5dRXrczV9CqSVGb",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/21448/small/2SIFWp0b_400x400.jpg?1639174188",coingeckoId:"realy-metaverse",realOriginContractAddress:"AD27ov5fVU2XzwsbvnFvb1JpCBaCB5dRXrczV9CqSVGb",realOriginChainId:1,supportsPermit:!1},{name:"renDOGE",symbol:"RENDOGE",mint:"ArUkYE2XDKzqy77PRRGjo4wREWwqk6RXTfM9NeqzPvjU",contract:"ArUkYE2XDKzqy77PRRGjo4wREWwqk6RXTfM9NeqzPvjU",chainId:0,wChainId:1,decimals:8,logoURI:"https://assets.coingecko.com/coins/images/13796/small/Dogecoin.jpg?1628072827",coingeckoId:"rendoge",realOriginContractAddress:"ArUkYE2XDKzqy77PRRGjo4wREWwqk6RXTfM9NeqzPvjU",realOriginChainId:1,supportsPermit:!1},{name:"Republic Credits",symbol:"RPC",mint:"EAefyXw6E8sny1cX3LTH6RSvtzH6E5EFy1XsE2AiH1f3",contract:"EAefyXw6E8sny1cX3LTH6RSvtzH6E5EFy1XsE2AiH1f3",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/25094/small/logo-rpc_200.png?1650270552",coingeckoId:"republic-credits",realOriginContractAddress:"EAefyXw6E8sny1cX3LTH6RSvtzH6E5EFy1XsE2AiH1f3",realOriginChainId:1,supportsPermit:!1},{name:"Rice",symbol:"RICE",mint:"5yw793FZPCaPcuUN4F61VJh2ehsFX87zvHbCA4oRebfn",contract:"5yw793FZPCaPcuUN4F61VJh2ehsFX87zvHbCA4oRebfn",chainId:0,wChainId:1,decimals:2,logoURI:"https://assets.coingecko.com/coins/images/24010/small/rice_200_200.png?1646030160",coingeckoId:"rice",realOriginContractAddress:"5yw793FZPCaPcuUN4F61VJh2ehsFX87zvHbCA4oRebfn",realOriginChainId:1,supportsPermit:!1},{name:"Rollbit Coin",symbol:"RLB",mint:"RLBxxFkseAZ4RgJH3Sqn8jXxhmGoz9jWxDNJMh8pL7a",contract:"RLBxxFkseAZ4RgJH3Sqn8jXxhmGoz9jWxDNJMh8pL7a",chainId:0,wChainId:1,decimals:2,logoURI:"https://assets.coingecko.com/coins/images/24552/small/unziL6wO_400x400.jpg?1648134494",coingeckoId:"rollbit-coin",realOriginContractAddress:"RLBxxFkseAZ4RgJH3Sqn8jXxhmGoz9jWxDNJMh8pL7a",realOriginChainId:1,supportsPermit:!1},{name:"Rope Token",symbol:"ROPE",mint:"8PMHT4swUMtBzgHnh5U564N5sjPSiUz2cjEQzFnnP1Fo",contract:"8PMHT4swUMtBzgHnh5U564N5sjPSiUz2cjEQzFnnP1Fo",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/14661/small/rope-v6.png?1619606776",coingeckoId:"rope-token",realOriginContractAddress:"8PMHT4swUMtBzgHnh5U564N5sjPSiUz2cjEQzFnnP1Fo",realOriginChainId:1,supportsPermit:!1},{name:"Run",symbol:"RUN",mint:"6F9XriABHfWhit6zmMUYAQBSy6XK5VF1cHXuW5LDpRtC",contract:"6F9XriABHfWhit6zmMUYAQBSy6XK5VF1cHXuW5LDpRtC",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/21374/small/cZoMwlyl_400x400.jpg?1639032079",coingeckoId:"run",realOriginContractAddress:"6F9XriABHfWhit6zmMUYAQBSy6XK5VF1cHXuW5LDpRtC",realOriginChainId:1,supportsPermit:!1},{name:"Saber",symbol:"SBR",mint:"Saber2gLauYim4Mvftnrasomsv6NvAuncvMEZwcLpD1",contract:"Saber2gLauYim4Mvftnrasomsv6NvAuncvMEZwcLpD1",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/17162/small/oYs_YFz8_400x400.jpg?1626678457",coingeckoId:"saber",realOriginContractAddress:"Saber2gLauYim4Mvftnrasomsv6NvAuncvMEZwcLpD1",realOriginChainId:1,supportsPermit:!1},{name:"SAIL",symbol:"SAIL",mint:"6kwTqmdQkJd8qRr9RjSnUX9XJ24RmJRSrU1rsragP97Y",contract:"6kwTqmdQkJd8qRr9RjSnUX9XJ24RmJRSrU1rsragP97Y",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/16657/small/SAIL.png?1624608515",coingeckoId:"sail",realOriginContractAddress:"6kwTqmdQkJd8qRr9RjSnUX9XJ24RmJRSrU1rsragP97Y",realOriginChainId:1,supportsPermit:!1},{name:"Samoyedcoin",symbol:"SAMO",mint:"7xKXtg2CW87d97TXJSDpbD5jBkheTqA83TZRuJosgAsU",contract:"7xKXtg2CW87d97TXJSDpbD5jBkheTqA83TZRuJosgAsU",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/15051/small/IXeEj5e.png?1619560738",coingeckoId:"samoyedcoin",realOriginContractAddress:"7xKXtg2CW87d97TXJSDpbD5jBkheTqA83TZRuJosgAsU",realOriginChainId:1,supportsPermit:!1},{name:"Samusky",symbol:"SAMU",mint:"SAMUmmSvrE8yqtcG94oyP1Zu2P9t8PSRSV3vewsGtPM",contract:"SAMUmmSvrE8yqtcG94oyP1Zu2P9t8PSRSV3vewsGtPM",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/20187/small/tokenlogo200x200.png?1636635312",coingeckoId:"samusky-token",realOriginContractAddress:"SAMUmmSvrE8yqtcG94oyP1Zu2P9t8PSRSV3vewsGtPM",realOriginChainId:1,supportsPermit:!1},{name:"Santaclaus",symbol:"SANTA",mint:"EctmRn2jMAdTDvQdG7mxadyiTvhGZiGYNrt9PWe6zioG",contract:"EctmRn2jMAdTDvQdG7mxadyiTvhGZiGYNrt9PWe6zioG",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/22211/small/logo_%281%29.png?1641195172",coingeckoId:"santaclaus",realOriginContractAddress:"EctmRn2jMAdTDvQdG7mxadyiTvhGZiGYNrt9PWe6zioG",realOriginChainId:1,supportsPermit:!1},{name:"Sator",symbol:"SAO",mint:"2HeykdKjzHKGm2LKHw8pDYwjKPiFEoXAz74dirhUgQvq",contract:"2HeykdKjzHKGm2LKHw8pDYwjKPiFEoXAz74dirhUgQvq",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/19410/small/sator-logo-CMC.png?1635211626",coingeckoId:"sator",realOriginContractAddress:"2HeykdKjzHKGm2LKHw8pDYwjKPiFEoXAz74dirhUgQvq",realOriginChainId:1,supportsPermit:!1},{name:"Scrap",symbol:"SCRAP",mint:"6naWDMGNWwqffJnnXFLBCLaYu1y5U9Rohe5wwJPHvf1p",contract:"6naWDMGNWwqffJnnXFLBCLaYu1y5U9Rohe5wwJPHvf1p",chainId:0,wChainId:1,decimals:3,logoURI:"https://assets.coingecko.com/coins/images/23086/small/bd1b1275fdc0ac1.png?1643181131",coingeckoId:"scrap",realOriginContractAddress:"6naWDMGNWwqffJnnXFLBCLaYu1y5U9Rohe5wwJPHvf1p",realOriginChainId:1,supportsPermit:!1},{name:"Seeded Network",symbol:"SEEDED",mint:"seedEDBqu63tJ7PFqvcbwvThrYUkQeqT6NLf81kLibs",contract:"seedEDBqu63tJ7PFqvcbwvThrYUkQeqT6NLf81kLibs",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/23618/small/seeded.png?1644761600",coingeckoId:"seeded-network",realOriginContractAddress:"seedEDBqu63tJ7PFqvcbwvThrYUkQeqT6NLf81kLibs",realOriginChainId:1,supportsPermit:!1},{name:"Sentre",symbol:"SNTR",mint:"SENBBKVCM7homnf5RX9zqpf1GFe935hnbU4uVzY1Y6M",contract:"SENBBKVCM7homnf5RX9zqpf1GFe935hnbU4uVzY1Y6M",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/19268/small/sentre.PNG?1634866010",coingeckoId:"sentre",realOriginContractAddress:"SENBBKVCM7homnf5RX9zqpf1GFe935hnbU4uVzY1Y6M",realOriginChainId:1,supportsPermit:!1},{name:"Serum (Portal from Ethereum)",symbol:"SRM",mint:"xnorPhAzWXUczCP3KjU5yDxmKKZi5cSbxytQ1LgE3kG",contract:"xnorPhAzWXUczCP3KjU5yDxmKKZi5cSbxytQ1LgE3kG",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/11970/small/serum-logo.png?1597121577",coingeckoId:"serum",realOriginContractAddress:"0x476c5e26a75bd202a9683ffd34359c0cc15be0ff",realOriginChainId:2,supportsPermit:!1},{name:"Serum",symbol:"SRM",mint:"SRMuApVNdxXokk5GT7XD5cUUgXMBCoAz2LHeuAoKWRt",contract:"SRMuApVNdxXokk5GT7XD5cUUgXMBCoAz2LHeuAoKWRt",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/11970/small/serum-logo.png?1597121577",coingeckoId:"serum",realOriginContractAddress:"SRMuApVNdxXokk5GT7XD5cUUgXMBCoAz2LHeuAoKWRt",realOriginChainId:1,supportsPermit:!1},{name:"Shiba Inu (Portal from Ethereum)",symbol:"SHIB",mint:"CiKu4eHsVrc1eueVQeHn7qhXTcVu95gSQmBpX4utjL9z",contract:"CiKu4eHsVrc1eueVQeHn7qhXTcVu95gSQmBpX4utjL9z",chainId:0,wChainId:1,decimals:8,logoURI:"https://assets.coingecko.com/coins/images/11939/small/shiba.png?1622619446",coingeckoId:"shiba-inu",realOriginContractAddress:"0x95ad61b0a150d79219dcf64e1e6cc01f0b64c4ce",realOriginChainId:2,supportsPermit:!1},{name:"Shibalana",symbol:"SHIBA",mint:"Dhg9XnzJWzSQqH2aAnhPTEJHGQAkALDfD98MA499A7pa",contract:"Dhg9XnzJWzSQqH2aAnhPTEJHGQAkALDfD98MA499A7pa",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/20003/small/output-onlinepngtools_%2810%29.png?1636364960",coingeckoId:"shibalana",realOriginContractAddress:"Dhg9XnzJWzSQqH2aAnhPTEJHGQAkALDfD98MA499A7pa",realOriginChainId:1,supportsPermit:!1},{name:"Shibana",symbol:"BANA",mint:"BhPXDQio8xtNC6k5Bg5fnUVL9kGN8uvRDNwW8MZBu8DL",contract:"BhPXDQio8xtNC6k5Bg5fnUVL9kGN8uvRDNwW8MZBu8DL",chainId:0,wChainId:1,decimals:4,logoURI:"https://assets.coingecko.com/coins/images/21234/small/solshib.png?1638758546",coingeckoId:"shibana",realOriginContractAddress:"BhPXDQio8xtNC6k5Bg5fnUVL9kGN8uvRDNwW8MZBu8DL",realOriginChainId:1,supportsPermit:!1},{name:"SHIBONK",symbol:"SBONK",mint:"H1G6sZ1WDoMmMCFqBKAbg9gkQPCo1sKQtaJWz9dHmqZr",contract:"H1G6sZ1WDoMmMCFqBKAbg9gkQPCo1sKQtaJWz9dHmqZr",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/28675/small/bonklogo2.png?1673161859",coingeckoId:"shibonk-311f81df-a4ea-4f31-9e61-df0af8211bd7",realOriginContractAddress:"H1G6sZ1WDoMmMCFqBKAbg9gkQPCo1sKQtaJWz9dHmqZr",realOriginChainId:1,supportsPermit:!1},{name:"Project SEED SHILL",symbol:"SHILL",mint:"6cVgJUqo4nmvQpbgrDZwyfd6RwWw5bfnCamS3M9N1fd",contract:"6cVgJUqo4nmvQpbgrDZwyfd6RwWw5bfnCamS3M9N1fd",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/18176/small/SHILL_Logo.png?1630896205",coingeckoId:"shill-token",realOriginContractAddress:"6cVgJUqo4nmvQpbgrDZwyfd6RwWw5bfnCamS3M9N1fd",realOriginChainId:1,supportsPermit:!1},{name:"Socean Staked Sol",symbol:"SCNSOL",mint:"5oVNBeEEQvYi1cX3ir8Dx5n1P7pdxydbGF2X4TxVusJm",contract:"5oVNBeEEQvYi1cX3ir8Dx5n1P7pdxydbGF2X4TxVusJm",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/18468/small/biOTzfxE_400x400.png?1633662119",coingeckoId:"socean-staked-sol",realOriginContractAddress:"5oVNBeEEQvYi1cX3ir8Dx5n1P7pdxydbGF2X4TxVusJm",realOriginChainId:1,supportsPermit:!1},{name:"SOL Baby Doge",symbol:"SBABYDOGE",mint:"BABYsocP6cB95xvBDXnjXKX96VBNC37dmNWUtaV9Jk6v",contract:"BABYsocP6cB95xvBDXnjXKX96VBNC37dmNWUtaV9Jk6v",chainId:0,wChainId:1,decimals:2,logoURI:"https://assets.coingecko.com/coins/images/21436/small/logo_%282%29.png?1639121887",coingeckoId:"sol-baby-doge",realOriginContractAddress:"BABYsocP6cB95xvBDXnjXKX96VBNC37dmNWUtaV9Jk6v",realOriginChainId:1,supportsPermit:!1},{name:"SOL Flowers",symbol:"FLWR",mint:"HDVR9Edy2o8uRdf5xFUDSGVLo556UjAaNR9BrwZ8QeMJ",contract:"HDVR9Edy2o8uRdf5xFUDSGVLo556UjAaNR9BrwZ8QeMJ",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/23534/small/FLWR-Token-Front-ALPHA.png?1644387944",coingeckoId:"sol-flowers",realOriginContractAddress:"HDVR9Edy2o8uRdf5xFUDSGVLo556UjAaNR9BrwZ8QeMJ",realOriginChainId:1,supportsPermit:!1},{name:"SOLA",symbol:"SOLA",mint:"FYfQ9uaRaYvRiaEGUmct45F9WKam3BYXArTrotnTNFXF",contract:"FYfQ9uaRaYvRiaEGUmct45F9WKam3BYXArTrotnTNFXF",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/18263/small/sola-new.png?1632238376",coingeckoId:"sola-token",realOriginContractAddress:"FYfQ9uaRaYvRiaEGUmct45F9WKam3BYXArTrotnTNFXF",realOriginChainId:1,supportsPermit:!1},{name:"Solabrador",symbol:"SOLAB",mint:"GLmaRDRmYd4u3YLfnj9eq1mrwxa1YfSweZYYZXZLTRdK",contract:"GLmaRDRmYd4u3YLfnj9eq1mrwxa1YfSweZYYZXZLTRdK",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/21014/small/2ZR6Gkz.png?1638190959",coingeckoId:"solabrador",realOriginContractAddress:"GLmaRDRmYd4u3YLfnj9eq1mrwxa1YfSweZYYZXZLTRdK",realOriginChainId:1,supportsPermit:!1},{name:"Solana Ecosystem Index",symbol:"SOLI",mint:"8JnNWJ46yfdq8sKgT1Lk4G7VWkAA8Rhh7LhqgJ6WY41G",contract:"8JnNWJ46yfdq8sKgT1Lk4G7VWkAA8Rhh7LhqgJ6WY41G",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/23550/small/Token-SOLI-200x200.png?1644460319",coingeckoId:"solana-ecosystem-index",realOriginContractAddress:"8JnNWJ46yfdq8sKgT1Lk4G7VWkAA8Rhh7LhqgJ6WY41G",realOriginChainId:1,supportsPermit:!1},{name:"Solana Inu",symbol:"INU",mint:"5jFnsfx36DyGk8uVGrbXnVUMTsBkPXGpx6e69BiGFzko",contract:"5jFnsfx36DyGk8uVGrbXnVUMTsBkPXGpx6e69BiGFzko",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/20020/small/YGid9wMv_400x400.jpg?1636412528",coingeckoId:"solana-inu",realOriginContractAddress:"5jFnsfx36DyGk8uVGrbXnVUMTsBkPXGpx6e69BiGFzko",realOriginChainId:1,supportsPermit:!1},{name:"SolanaPrime",symbol:"PRIME",mint:"PRiME7gDoiG1vGr95a3CRMv9xHY7UGjd4JKvfSkmQu2",contract:"PRiME7gDoiG1vGr95a3CRMv9xHY7UGjd4JKvfSkmQu2",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/25911/small/solana_black200x200.png?1654587637",coingeckoId:"solanaprime",realOriginContractAddress:"PRiME7gDoiG1vGr95a3CRMv9xHY7UGjd4JKvfSkmQu2",realOriginChainId:1,supportsPermit:!1},{name:"Solanax",symbol:"SOLD",mint:"5v6tZ1SiAi7G8Qg4rBF1ZdAn4cn6aeQtefewMr1NLy61",contract:"5v6tZ1SiAi7G8Qg4rBF1ZdAn4cn6aeQtefewMr1NLy61",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/17634/small/sold.png?1639988619",coingeckoId:"solanax",realOriginContractAddress:"5v6tZ1SiAi7G8Qg4rBF1ZdAn4cn6aeQtefewMr1NLy61",realOriginChainId:1,supportsPermit:!1},{name:"Solanium",symbol:"SLIM",mint:"xxxxa1sKNGwFtw2kFn8XauW9xq8hBZ5kVtcSesTT9fW",contract:"xxxxa1sKNGwFtw2kFn8XauW9xq8hBZ5kVtcSesTT9fW",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/15816/small/logo_cg.png?1659000206",coingeckoId:"solanium",realOriginContractAddress:"xxxxa1sKNGwFtw2kFn8XauW9xq8hBZ5kVtcSesTT9fW",realOriginChainId:1,supportsPermit:!1},{name:"Solanyx",symbol:"SYX",mint:"94jMUy411XNUw1CnkFr2514fq6KRc49W3kAmrjJiuZLx",contract:"94jMUy411XNUw1CnkFr2514fq6KRc49W3kAmrjJiuZLx",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/21964/small/logo.png?1640524913",coingeckoId:"solanyx",realOriginContractAddress:"94jMUy411XNUw1CnkFr2514fq6KRc49W3kAmrjJiuZLx",realOriginChainId:1,supportsPermit:!1},{name:"SOLAPE",symbol:"SOLAPE",mint:"GHvFFSZ9BctWsEc5nujR1MTmmJWY7tgQz2AXE6WVFtGN",contract:"GHvFFSZ9BctWsEc5nujR1MTmmJWY7tgQz2AXE6WVFtGN",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/16930/small/128px-coin.png?1625753550",coingeckoId:"solape-token",realOriginContractAddress:"GHvFFSZ9BctWsEc5nujR1MTmmJWY7tgQz2AXE6WVFtGN",realOriginChainId:1,supportsPermit:!1},{name:"Solareum Wallet",symbol:"XSB",mint:"4UuGQgkD3rSeoXatXRWwRfRd21G87d5LiCfkVzNNv1Tt",contract:"4UuGQgkD3rSeoXatXRWwRfRd21G87d5LiCfkVzNNv1Tt",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/20958/small/xsb-200.png?1638141904",coingeckoId:"solareum-wallet",realOriginContractAddress:"4UuGQgkD3rSeoXatXRWwRfRd21G87d5LiCfkVzNNv1Tt",realOriginChainId:1,supportsPermit:!1},{name:"Solbank",symbol:"SBNK",mint:"uNrix3Q5g51MCEUrYBUEBDdQ96RQDQspQJJnnQ4T3Vc",contract:"uNrix3Q5g51MCEUrYBUEBDdQ96RQDQspQJJnnQ4T3Vc",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/18513/small/yo_gS6Hi_400x400.png?1632218794",coingeckoId:"solbank-token",realOriginContractAddress:"uNrix3Q5g51MCEUrYBUEBDdQ96RQDQspQJJnnQ4T3Vc",realOriginChainId:1,supportsPermit:!1},{name:"Solberg",symbol:"SLB",mint:"2uRFEWRBQLEKpLmF8mohFZGDcFQmrkQEEZmHQvMUBvY7",contract:"2uRFEWRBQLEKpLmF8mohFZGDcFQmrkQEEZmHQvMUBvY7",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/18918/small/logo_%2822%29.png?1633922185",coingeckoId:"solberg",realOriginContractAddress:"2uRFEWRBQLEKpLmF8mohFZGDcFQmrkQEEZmHQvMUBvY7",realOriginChainId:1,supportsPermit:!1},{name:"SolChicks Shards",symbol:"SHARDS",mint:"8j3hXRK5rdoZ2vSpGLRmXtWmW6iYaRUw5xVk4Kzmc9Hp",contract:"8j3hXRK5rdoZ2vSpGLRmXtWmW6iYaRUw5xVk4Kzmc9Hp",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/23728/small/logo_%282%29.png?1645163819",coingeckoId:"solchicks-shards",realOriginContractAddress:"8j3hXRK5rdoZ2vSpGLRmXtWmW6iYaRUw5xVk4Kzmc9Hp",realOriginChainId:1,supportsPermit:!1},{name:"SolChicks",symbol:"CHICKS",mint:"cxxShYRVcepDudXhe7U62QHvw8uBJoKFifmzggGKVC2",contract:"cxxShYRVcepDudXhe7U62QHvw8uBJoKFifmzggGKVC2",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/20978/small/chicks.png?1638162821",coingeckoId:"solchicks-token",realOriginContractAddress:"cxxShYRVcepDudXhe7U62QHvw8uBJoKFifmzggGKVC2",realOriginChainId:1,supportsPermit:!1},{name:"Solcial",symbol:"SLCL",mint:"SLCLww7nc1PD2gQPQdGayHviVVcpMthnqUz2iWKhNQV",contract:"SLCLww7nc1PD2gQPQdGayHviVVcpMthnqUz2iWKhNQV",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/24583/small/1_N9szP0_400x400.jpg?1648217020",coingeckoId:"solcial",realOriginContractAddress:"SLCLww7nc1PD2gQPQdGayHviVVcpMthnqUz2iWKhNQV",realOriginChainId:1,supportsPermit:!1},{name:"SolClout",symbol:"SCT",mint:"4Te4KJgjtnZe4aE2zne8G4NPfrPjCwDmaiEx9rKnyDVZ",contract:"4Te4KJgjtnZe4aE2zne8G4NPfrPjCwDmaiEx9rKnyDVZ",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/21638/small/solclout.jpg?1639630028",coingeckoId:"solclout",realOriginContractAddress:"4Te4KJgjtnZe4aE2zne8G4NPfrPjCwDmaiEx9rKnyDVZ",realOriginChainId:1,supportsPermit:!1},{name:"SolCondoms",symbol:"CONDOMS",mint:"EzL6LLmv4vgfF7irkjG7ZxM92bTJ9f6nFopDXJTow7zj",contract:"EzL6LLmv4vgfF7irkjG7ZxM92bTJ9f6nFopDXJTow7zj",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/21814/small/DboqD2_o_400x400.jpg?1640071580",coingeckoId:"solcondoms",realOriginContractAddress:"EzL6LLmv4vgfF7irkjG7ZxM92bTJ9f6nFopDXJTow7zj",realOriginChainId:1,supportsPermit:!1},{name:"Solcubator",symbol:"SOLC",mint:"Bx1fDtvTN6NvE4kjdPHQXtmGSg582bZx9fGy4DQNMmAT",contract:"Bx1fDtvTN6NvE4kjdPHQXtmGSg582bZx9fGy4DQNMmAT",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/18682/small/Solcubator-Logo-Icon.png?1632966591",coingeckoId:"solcubator",realOriginContractAddress:"Bx1fDtvTN6NvE4kjdPHQXtmGSg582bZx9fGy4DQNMmAT",realOriginChainId:1,supportsPermit:!1},{name:"SolDate",symbol:"DATE",mint:"Ce3PSQfkxT5ua4r2JqCoWYrMwKWC5hEzwsrT9Hb7mAz9",contract:"Ce3PSQfkxT5ua4r2JqCoWYrMwKWC5hEzwsrT9Hb7mAz9",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/18461/small/date.PNG?1632108952",coingeckoId:"soldate-token",realOriginContractAddress:"Ce3PSQfkxT5ua4r2JqCoWYrMwKWC5hEzwsrT9Hb7mAz9",realOriginChainId:1,supportsPermit:!1},{name:"SolDoge",symbol:"SDOGE",mint:"8ymi88q5DtmdNTn2sPRNFkvMkszMHuLJ1e3RVdWjPa3s",contract:"8ymi88q5DtmdNTn2sPRNFkvMkszMHuLJ1e3RVdWjPa3s",chainId:0,wChainId:1,decimals:0,logoURI:"https://assets.coingecko.com/coins/images/19746/small/2L4aX1r.png?1635822424",coingeckoId:"soldoge",realOriginContractAddress:"8ymi88q5DtmdNTn2sPRNFkvMkszMHuLJ1e3RVdWjPa3s",realOriginChainId:1,supportsPermit:!1},{name:"Solend",symbol:"SLND",mint:"SLNDpmoWTVADgEdndyvWzroNL7zSi1dF9PC3xHGtPwp",contract:"SLNDpmoWTVADgEdndyvWzroNL7zSi1dF9PC3xHGtPwp",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/19573/small/i6AMOwun_400x400.jpg?1635458597",coingeckoId:"solend",realOriginContractAddress:"SLNDpmoWTVADgEdndyvWzroNL7zSi1dF9PC3xHGtPwp",realOriginChainId:1,supportsPermit:!1},{name:"Solex Finance",symbol:"SLX",mint:"AASdD9rAefJ4PP7iM89MYUsQEyCQwvBofhceZUGDh5HZ",contract:"AASdD9rAefJ4PP7iM89MYUsQEyCQwvBofhceZUGDh5HZ",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/19392/small/logo_-_2021-10-25T161153.717.png?1635149522",coingeckoId:"solex-finance",realOriginContractAddress:"AASdD9rAefJ4PP7iM89MYUsQEyCQwvBofhceZUGDh5HZ",realOriginChainId:1,supportsPermit:!1},{name:"Tulip Protocol",symbol:"TULIP",mint:"TuLipcqtGVXP9XR62wM8WWCm6a9vhLs7T1uoWBk6FDs",contract:"TuLipcqtGVXP9XR62wM8WWCm6a9vhLs7T1uoWBk6FDs",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/15764/small/TqrUdBG.png?1621827144",coingeckoId:"solfarm",realOriginContractAddress:"TuLipcqtGVXP9XR62wM8WWCm6a9vhLs7T1uoWBk6FDs",realOriginChainId:1,supportsPermit:!1},{name:"Solfina",symbol:"SOLFI",mint:"3CaBxqxWsP5oqS84Pkja4wLxyZYsHzMivQbnfwFJQeL1",contract:"3CaBxqxWsP5oqS84Pkja4wLxyZYsHzMivQbnfwFJQeL1",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/20729/small/dDDqpMiA_400x400.jpg?1637616143",coingeckoId:"solfina",realOriginContractAddress:"3CaBxqxWsP5oqS84Pkja4wLxyZYsHzMivQbnfwFJQeL1",realOriginChainId:1,supportsPermit:!1},{name:"Solge",symbol:"SOLGE",mint:"FM8ai6JTyf6HWAgPbnsdonqCeWfjomPMFfnBgPSf23W2",contract:"FM8ai6JTyf6HWAgPbnsdonqCeWfjomPMFfnBgPSf23W2",chainId:0,wChainId:1,decimals:5,logoURI:"https://assets.coingecko.com/coins/images/28678/small/solge_%281%29.png?1673231982",coingeckoId:"solge",realOriginContractAddress:"FM8ai6JTyf6HWAgPbnsdonqCeWfjomPMFfnBgPSf23W2",realOriginChainId:1,supportsPermit:!1},{name:"Solice",symbol:"SLC",mint:"METAmTMXwdb8gYzyCPfXXFmZZw4rUsXX58PNsDg7zjL",contract:"METAmTMXwdb8gYzyCPfXXFmZZw4rUsXX58PNsDg7zjL",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/22115/small/solice_logo_200x200.png?1640845206",coingeckoId:"solice",realOriginContractAddress:"METAmTMXwdb8gYzyCPfXXFmZZw4rUsXX58PNsDg7zjL",realOriginChainId:1,supportsPermit:!1},{name:"Solily Protocol",symbol:"LILY",mint:"LiLyT885cG9xZKYQk9x6VWMzmcui4ueV9J1uzPDDajY",contract:"LiLyT885cG9xZKYQk9x6VWMzmcui4ueV9J1uzPDDajY",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/25611/small/logo200.png?1652846780",coingeckoId:"solily-protocol",realOriginContractAddress:"LiLyT885cG9xZKYQk9x6VWMzmcui4ueV9J1uzPDDajY",realOriginChainId:1,supportsPermit:!1},{name:"Solminter",symbol:"SMRT",mint:"95KN8q3qubEVjPf9trgyur2nHx8T5RCmztRbLuQ5E5i",contract:"95KN8q3qubEVjPf9trgyur2nHx8T5RCmztRbLuQ5E5i",chainId:0,wChainId:1,decimals:0,logoURI:"https://assets.coingecko.com/coins/images/17937/small/apple-touch-icon.png?1629868107",coingeckoId:"solminter",realOriginContractAddress:"95KN8q3qubEVjPf9trgyur2nHx8T5RCmztRbLuQ5E5i",realOriginChainId:1,supportsPermit:!1},{name:"Solpad Finance",symbol:"SOLPAD",mint:"GfJ3Vq2eSTYf1hJP6kKLE9RT6u7jF9gNszJhZwo5VPZp",contract:"GfJ3Vq2eSTYf1hJP6kKLE9RT6u7jF9gNszJhZwo5VPZp",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/16368/small/solpad.PNG?1623820231",coingeckoId:"solpad-finance",realOriginContractAddress:"GfJ3Vq2eSTYf1hJP6kKLE9RT6u7jF9gNszJhZwo5VPZp",realOriginChainId:1,supportsPermit:!1},{name:"SolPatrol Bail",symbol:"BAIL",mint:"3e9pHUxa2nvAqso2Kr2KqJxYvZaz9qZLjoLaG77uQwB1",contract:"3e9pHUxa2nvAqso2Kr2KqJxYvZaz9qZLjoLaG77uQwB1",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/25787/small/hammer.png?1653882632",coingeckoId:"solpatrol-bail",realOriginContractAddress:"3e9pHUxa2nvAqso2Kr2KqJxYvZaz9qZLjoLaG77uQwB1",realOriginChainId:1,supportsPermit:!1},{name:"SolPay Finance",symbol:"SOLPAY",mint:"zwqe1Nd4eiWyCcqdo4FgCq7LYZHdSeGKKudv6RwiAEn",contract:"zwqe1Nd4eiWyCcqdo4FgCq7LYZHdSeGKKudv6RwiAEn",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/22766/small/1_wTkhKXbxhBQxR1BW5WKSNA.png?1642575140",coingeckoId:"solpay-finance",realOriginContractAddress:"zwqe1Nd4eiWyCcqdo4FgCq7LYZHdSeGKKudv6RwiAEn",realOriginChainId:1,supportsPermit:!1},{name:"SolRazr",symbol:"SOLR",mint:"7j7H7sgsnNDeCngAPjpaCN4aaaru4HS7NAFYSEUyzJ3k",contract:"7j7H7sgsnNDeCngAPjpaCN4aaaru4HS7NAFYSEUyzJ3k",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/18390/small/Sol-Razr-Logo-TICKER.png?1631759669",coingeckoId:"solrazr",realOriginContractAddress:"7j7H7sgsnNDeCngAPjpaCN4aaaru4HS7NAFYSEUyzJ3k",realOriginChainId:1,supportsPermit:!1},{name:"Solrise Finance",symbol:"SLRS",mint:"SLRSSpSLUTP7okbCUBYStWCo1vUgyt775faPqz8HUMr",contract:"SLRSSpSLUTP7okbCUBYStWCo1vUgyt775faPqz8HUMr",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/15762/small/9989.png?1621825696",coingeckoId:"solrise-finance",realOriginContractAddress:"SLRSSpSLUTP7okbCUBYStWCo1vUgyt775faPqz8HUMr",realOriginChainId:1,supportsPermit:!1},{name:"Solster",symbol:"STR",mint:"9zoqdwEBKWEi9G5Ze8BSkdmppxGgVv1Kw4LuigDiNr9m",contract:"9zoqdwEBKWEi9G5Ze8BSkdmppxGgVv1Kw4LuigDiNr9m",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/18621/small/log-350.png?1632701442",coingeckoId:"solster",realOriginContractAddress:"9zoqdwEBKWEi9G5Ze8BSkdmppxGgVv1Kw4LuigDiNr9m",realOriginChainId:1,supportsPermit:!1},{name:"Soltato FRIES",symbol:"FRIES",mint:"FriCEbw1V99GwrJRXPnSQ6su2TabHabNxiZ3VNsVFPPN",contract:"FriCEbw1V99GwrJRXPnSQ6su2TabHabNxiZ3VNsVFPPN",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/19533/small/soltato.png?1635745612",coingeckoId:"soltato-fries",realOriginContractAddress:"FriCEbw1V99GwrJRXPnSQ6su2TabHabNxiZ3VNsVFPPN",realOriginChainId:1,supportsPermit:!1},{name:"Solvent",symbol:"SVT",mint:"svtMpL5eQzdmB3uqK9NXaQkq8prGZoKQFNVJghdWCkV",contract:"svtMpL5eQzdmB3uqK9NXaQkq8prGZoKQFNVJghdWCkV",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/22387/small/svt.png?1641789503",coingeckoId:"solvent",realOriginContractAddress:"svtMpL5eQzdmB3uqK9NXaQkq8prGZoKQFNVJghdWCkV",realOriginChainId:1,supportsPermit:!1},{name:"Solyard Finance",symbol:"YARD",mint:"8RYSc3rrS4X4bvBCtSJnhcpPpMaAJkXnVKZPzANxQHgz",contract:"8RYSc3rrS4X4bvBCtSJnhcpPpMaAJkXnVKZPzANxQHgz",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/18400/small/IMG_7306.JPG?1631775657",coingeckoId:"solyard-finance",realOriginContractAddress:"8RYSc3rrS4X4bvBCtSJnhcpPpMaAJkXnVKZPzANxQHgz",realOriginChainId:1,supportsPermit:!1},{name:"SonarWatch",symbol:"SONAR",mint:"sonarX4VtVkQemriJeLm6CKeW3GDMyiBnnAEMw1MRAE",contract:"sonarX4VtVkQemriJeLm6CKeW3GDMyiBnnAEMw1MRAE",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/20494/small/S_7gaWIC_400x400.png?1637131427",coingeckoId:"sonarwatch",realOriginContractAddress:"sonarX4VtVkQemriJeLm6CKeW3GDMyiBnnAEMw1MRAE",realOriginChainId:1,supportsPermit:!1},{name:"Soul Dogs City Bones",symbol:"BONES",mint:"bonegFPgrpZ4bfVn3kQK1aMbGYddWtfMAywNt5LsuVE",contract:"bonegFPgrpZ4bfVn3kQK1aMbGYddWtfMAywNt5LsuVE",chainId:0,wChainId:1,decimals:2,logoURI:"https://assets.coingecko.com/coins/images/25025/small/JEepabYB_400x400.png?1649838257",coingeckoId:"soul-dog-city-bones",realOriginContractAddress:"bonegFPgrpZ4bfVn3kQK1aMbGYddWtfMAywNt5LsuVE",realOriginChainId:1,supportsPermit:!1},{name:"SouloCoin",symbol:"SOULO",mint:"Gz3u6eJaKEviYpPC5AwUziz891kNX76PNdsmJrnaNNY4",contract:"Gz3u6eJaKEviYpPC5AwUziz891kNX76PNdsmJrnaNNY4",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/22082/small/logo.png?1640759758",coingeckoId:"soulocoin",realOriginContractAddress:"Gz3u6eJaKEviYpPC5AwUziz891kNX76PNdsmJrnaNNY4",realOriginChainId:1,supportsPermit:!1},{name:"Star Atlas",symbol:"ATLAS",mint:"ATLASXmbPQxBUYbxPsV97usA3fPQYEqzQBUHgiFCUsXx",contract:"ATLASXmbPQxBUYbxPsV97usA3fPQYEqzQBUHgiFCUsXx",chainId:0,wChainId:1,decimals:8,logoURI:"https://assets.coingecko.com/coins/images/17659/small/Icon_Reverse.png?1628759092",coingeckoId:"star-atlas",realOriginContractAddress:"ATLASXmbPQxBUYbxPsV97usA3fPQYEqzQBUHgiFCUsXx",realOriginChainId:1,supportsPermit:!1},{name:"Star Atlas DAO",symbol:"POLIS",mint:"poLisWXnNRwC6oBu1vHiuKQzFjGL4XDSu4g9qjz9qVk",contract:"poLisWXnNRwC6oBu1vHiuKQzFjGL4XDSu4g9qjz9qVk",chainId:0,wChainId:1,decimals:8,logoURI:"https://assets.coingecko.com/coins/images/17789/small/POLIS.jpg?1629256006",coingeckoId:"star-atlas-dao",realOriginContractAddress:"poLisWXnNRwC6oBu1vHiuKQzFjGL4XDSu4g9qjz9qVk",realOriginChainId:1,supportsPermit:!1},{name:"Starbots",symbol:"BOT",mint:"AkhdZGVbJXPuQZ53u2LrimCjkRP6ZyxG1SoM85T98eE1",contract:"AkhdZGVbJXPuQZ53u2LrimCjkRP6ZyxG1SoM85T98eE1",chainId:0,wChainId:1,decimals:8,logoURI:"https://assets.coingecko.com/coins/images/21823/small/coin_%286%29.png?1640076014",coingeckoId:"starbots",realOriginContractAddress:"AkhdZGVbJXPuQZ53u2LrimCjkRP6ZyxG1SoM85T98eE1",realOriginChainId:1,supportsPermit:!1},{name:"Starbots GEAR",symbol:"GEAR",mint:"23WuycvPjEuzJTsBPBZqnbFZFcBtBKAMTowUDHwagkuD",contract:"23WuycvPjEuzJTsBPBZqnbFZFcBtBKAMTowUDHwagkuD",chainId:0,wChainId:1,decimals:0,logoURI:"https://assets.coingecko.com/coins/images/26651/small/logo_%282%29.png?1659408350",coingeckoId:"starbots-gear",realOriginContractAddress:"23WuycvPjEuzJTsBPBZqnbFZFcBtBKAMTowUDHwagkuD",realOriginChainId:1,supportsPermit:!1},{name:"StarLaunch",symbol:"STARS",mint:"HCgybxq5Upy8Mccihrp7EsmwwFqYZtrHrsmsKwtGXLgW",contract:"HCgybxq5Upy8Mccihrp7EsmwwFqYZtrHrsmsKwtGXLgW",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/20109/small/OP3eksDQ_400x400.png?1636513478",coingeckoId:"starlaunch",realOriginContractAddress:"HCgybxq5Upy8Mccihrp7EsmwwFqYZtrHrsmsKwtGXLgW",realOriginChainId:1,supportsPermit:!1},{name:"Step Finance",symbol:"STEP",mint:"StepAscQoEioFxxWGnh2sLBDFp9d8rvKz2Yp39iDpyT",contract:"StepAscQoEioFxxWGnh2sLBDFp9d8rvKz2Yp39iDpyT",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/14988/small/step.png?1619274762",coingeckoId:"step-finance",realOriginContractAddress:"StepAscQoEioFxxWGnh2sLBDFp9d8rvKz2Yp39iDpyT",realOriginChainId:1,supportsPermit:!1},{name:"STEPN",symbol:"GMT",mint:"7i5KKsX2weiTkry7jA4ZwSuXGhs5eJBEjY8vVxR4pfRx",contract:"7i5KKsX2weiTkry7jA4ZwSuXGhs5eJBEjY8vVxR4pfRx",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/23597/small/gmt.png?1644658792",coingeckoId:"stepn",realOriginContractAddress:"7i5KKsX2weiTkry7jA4ZwSuXGhs5eJBEjY8vVxR4pfRx",realOriginChainId:1,supportsPermit:!1},{name:"Stoned Ape Crew Index",symbol:"SAC",mint:"GZL4yjPohDShW4RofJ6dEWu2Fv7qEa5mBT7Dpje5hqe7",contract:"GZL4yjPohDShW4RofJ6dEWu2Fv7qEa5mBT7Dpje5hqe7",chainId:0,wChainId:1,decimals:2,logoURI:"https://assets.coingecko.com/coins/images/24385/small/stone_ape.PNG?1647501586",coingeckoId:"stoned-ape-crew-index",realOriginContractAddress:"GZL4yjPohDShW4RofJ6dEWu2Fv7qEa5mBT7Dpje5hqe7",realOriginChainId:1,supportsPermit:!1},{name:"Style",symbol:"STYLE",mint:"3FHpkMTQ3QyAJoLoXVdBpH4TfHiehnL2kXmv9UXBpYuF",contract:"3FHpkMTQ3QyAJoLoXVdBpH4TfHiehnL2kXmv9UXBpYuF",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/28060/small/78oZvtZW_400x400.jpeg?1667442304",coingeckoId:"style",realOriginContractAddress:"3FHpkMTQ3QyAJoLoXVdBpH4TfHiehnL2kXmv9UXBpYuF",realOriginChainId:1,supportsPermit:!1},{name:"Such Shiba",symbol:"SUCH",mint:"HnZiKrSKYQkEfzjQs6qkvuGbBmrBP9YzjB1SMM7tiGZ1",contract:"HnZiKrSKYQkEfzjQs6qkvuGbBmrBP9YzjB1SMM7tiGZ1",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/25100/small/1CA10540-30AB-4F34-AF3A-9E8F88471FDF.png?1650284205",coingeckoId:"such-shiba",realOriginContractAddress:"HnZiKrSKYQkEfzjQs6qkvuGbBmrBP9YzjB1SMM7tiGZ1",realOriginChainId:1,supportsPermit:!1},{name:"Sunny Aggregator",symbol:"SUNNY",mint:"SUNNYWgPQmFxe9wTZzNK7iPnJ3vYDrkgnxJRJm1s3ag",contract:"SUNNYWgPQmFxe9wTZzNK7iPnJ3vYDrkgnxJRJm1s3ag",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/18039/small/90dbe787-8e5f-473c-b923-fe138a7a30ea.png?1630314924",coingeckoId:"sunny-aggregator",realOriginContractAddress:"SUNNYWgPQmFxe9wTZzNK7iPnJ3vYDrkgnxJRJm1s3ag",realOriginChainId:1,supportsPermit:!1},{name:"SunnySideUp",symbol:"SSU",mint:"AGkFkKgXUEP7ZXazza5a25bSKbz5dDpgafPhqywuQnpf",contract:"AGkFkKgXUEP7ZXazza5a25bSKbz5dDpgafPhqywuQnpf",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/23369/small/logo.png?1643954242",coingeckoId:"sunnysideup",realOriginContractAddress:"AGkFkKgXUEP7ZXazza5a25bSKbz5dDpgafPhqywuQnpf",realOriginChainId:1,supportsPermit:!1},{name:"SuperBonds",symbol:"SB",mint:"SuperbZyz7TsSdSoFAZ6RYHfAWe9NmjXBLVQpS8hqdx",contract:"SuperbZyz7TsSdSoFAZ6RYHfAWe9NmjXBLVQpS8hqdx",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/22743/small/ywws9ojM_400x400.jpg?1642548336",coingeckoId:"superbonds",realOriginContractAddress:"SuperbZyz7TsSdSoFAZ6RYHfAWe9NmjXBLVQpS8hqdx",realOriginChainId:1,supportsPermit:!1},{name:"Sushi (Portal from Ethereum)",symbol:"SUSHI",mint:"ChVzxWRmrTeSgwd3Ui3UumcN8KX7VK3WaD4KGeSKpypj",contract:"ChVzxWRmrTeSgwd3Ui3UumcN8KX7VK3WaD4KGeSKpypj",chainId:0,wChainId:1,decimals:8,logoURI:"https://assets.coingecko.com/coins/images/12271/small/512x512_Logo_no_chop.png?1606986688",coingeckoId:"sushi",realOriginContractAddress:"0x6b3595068778dd592e39a122f4f5a5cf09c90fe2",realOriginChainId:2,supportsPermit:!1},{name:"Swole Doge",symbol:"SWOLE",mint:"4BzxVoBQzwKoqm1dQc78r42Yby3EzAeZmMiYFdCjeu5Z",contract:"4BzxVoBQzwKoqm1dQc78r42Yby3EzAeZmMiYFdCjeu5Z",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/19643/small/swole.png?1635853067",coingeckoId:"swole-doge",realOriginContractAddress:"4BzxVoBQzwKoqm1dQc78r42Yby3EzAeZmMiYFdCjeu5Z",realOriginChainId:1,supportsPermit:!1},{name:"Synchrony",symbol:"SCY",mint:"SCYfrGCw8aDiqdgcpdGjV6jp4UVVQLuphxTDLNWu36f",contract:"SCYfrGCw8aDiqdgcpdGjV6jp4UVVQLuphxTDLNWu36f",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/19308/small/SYNCHRONY-LOGO.png?1634973091",coingeckoId:"synchrony",realOriginContractAddress:"SCYfrGCw8aDiqdgcpdGjV6jp4UVVQLuphxTDLNWu36f",realOriginChainId:1,supportsPermit:!1},{name:"Synesis One",symbol:"SNS",mint:"SNSNkV9zfG5ZKWQs6x4hxvBRV6s8SqMfSGCtECDvdMd",contract:"SNSNkV9zfG5ZKWQs6x4hxvBRV6s8SqMfSGCtECDvdMd",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/23289/small/sns.png?1643549030",coingeckoId:"synesis-one",realOriginContractAddress:"SNSNkV9zfG5ZKWQs6x4hxvBRV6s8SqMfSGCtECDvdMd",realOriginChainId:1,supportsPermit:!1},{name:"Synex Coin",symbol:"MINECRAFT",mint:"FTkj421DxbS1wajE74J34BJ5a1o9ccA97PkK6mYq9hNQ",contract:"FTkj421DxbS1wajE74J34BJ5a1o9ccA97PkK6mYq9hNQ",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/21247/small/logo_-_2021-12-06T135451.604.png?1638770098",coingeckoId:"synex-coin",realOriginContractAddress:"FTkj421DxbS1wajE74J34BJ5a1o9ccA97PkK6mYq9hNQ",realOriginChainId:1,supportsPermit:!1},{name:"Synthetic FTT",symbol:"XFTT",mint:"Fr3W7NPVvdVbwMcHgA7Gx2wUxP43txdsn3iULJGFbKz9",contract:"Fr3W7NPVvdVbwMcHgA7Gx2wUxP43txdsn3iULJGFbKz9",chainId:0,wChainId:1,decimals:8,logoURI:"https://assets.coingecko.com/coins/images/20025/small/BGYHyQ4.png?1636418021",coingeckoId:"synthetic-ftt",realOriginContractAddress:"Fr3W7NPVvdVbwMcHgA7Gx2wUxP43txdsn3iULJGFbKz9",realOriginChainId:1,supportsPermit:!1},{name:"Synthetic SOL",symbol:"XSOL",mint:"BdUJucPJyjkHxLMv6ipKNUhSeY3DWrVtgxAES1iSBAov",contract:"BdUJucPJyjkHxLMv6ipKNUhSeY3DWrVtgxAES1iSBAov",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/20022/small/mmJpy6j.png?1636417738",coingeckoId:"synthetic-sol",realOriginContractAddress:"BdUJucPJyjkHxLMv6ipKNUhSeY3DWrVtgxAES1iSBAov",realOriginChainId:1,supportsPermit:!1},{name:"Synthetic USD",symbol:"XUSD",mint:"83LGLCm7QKpYZbX8q4W2kYWbtt8NJBwbVwEepzkVnJ9y",contract:"83LGLCm7QKpYZbX8q4W2kYWbtt8NJBwbVwEepzkVnJ9y",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/19596/small/uJzDI4j.png?1635488810",coingeckoId:"synthetic-usd",realOriginContractAddress:"83LGLCm7QKpYZbX8q4W2kYWbtt8NJBwbVwEepzkVnJ9y",realOriginChainId:1,supportsPermit:!1},{name:"Synthetify",symbol:"SNY",mint:"4dmKkXNHdgYsXqBHCuMikNQWwVomZURhYvkkX5c4pQ7y",contract:"4dmKkXNHdgYsXqBHCuMikNQWwVomZURhYvkkX5c4pQ7y",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/14835/small/synthetify_token.png?1618611507",coingeckoId:"synthetify-token",realOriginContractAddress:"4dmKkXNHdgYsXqBHCuMikNQWwVomZURhYvkkX5c4pQ7y",realOriginChainId:1,supportsPermit:!1},{name:"Sypool",symbol:"SYP",mint:"FnKE9n6aGjQoNWRBZXy4RW6LZVao7qwBonUbiD7edUmZ",contract:"FnKE9n6aGjQoNWRBZXy4RW6LZVao7qwBonUbiD7edUmZ",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/18518/small/sypool.PNG?1632268218",coingeckoId:"sypool",realOriginContractAddress:"FnKE9n6aGjQoNWRBZXy4RW6LZVao7qwBonUbiD7edUmZ",realOriginChainId:1,supportsPermit:!1},{name:"TabTrader",symbol:"TTT",mint:"FNFKRV3V8DtA3gVJN6UshMiLGYA8izxFwkNWmJbFjmRj",contract:"FNFKRV3V8DtA3gVJN6UshMiLGYA8izxFwkNWmJbFjmRj",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/21060/small/xFYsZV9U_400x400.jpg?1638268495",coingeckoId:"tabtrader",realOriginContractAddress:"FNFKRV3V8DtA3gVJN6UshMiLGYA8izxFwkNWmJbFjmRj",realOriginChainId:1,supportsPermit:!1},{name:"Taki",symbol:"TAKI",mint:"Taki7fi3Zicv7Du1xNAWLaf6mRK7ikdn77HeGzgwvo4",contract:"Taki7fi3Zicv7Du1xNAWLaf6mRK7ikdn77HeGzgwvo4",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/25271/small/logo.png?1651118069",coingeckoId:"taki",realOriginContractAddress:"Taki7fi3Zicv7Du1xNAWLaf6mRK7ikdn77HeGzgwvo4",realOriginChainId:1,supportsPermit:!1},{name:"Tap Fantasy MC",symbol:"TFMC",mint:"FYUkUybywqUUyrUwiAezbvhTp2DUgx1eg8tQNiKkXqJ9",contract:"FYUkUybywqUUyrUwiAezbvhTp2DUgx1eg8tQNiKkXqJ9",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/26483/small/Tap-Fantasy-MC-Logo.png?1658279327",coingeckoId:"tap-fantasy-mc",realOriginContractAddress:"FYUkUybywqUUyrUwiAezbvhTp2DUgx1eg8tQNiKkXqJ9",realOriginChainId:1,supportsPermit:!1},{name:"Tether (Portal from Polygon)",symbol:"USDT",mint:"5goWRao6a3yNC4d6UjMdQxonkCMvKBwdpubU3qhfcdf1",contract:"5goWRao6a3yNC4d6UjMdQxonkCMvKBwdpubU3qhfcdf1",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/325/small/Tether.png?1668148663",coingeckoId:"tether",realOriginContractAddress:"0xc2132d05d31c914a87c6611c10748aeb04b58e8f",realOriginChainId:5,supportsPermit:!1},{name:"Tether (Portal from BSC)",symbol:"USDT",mint:"8qJSyQprMC57TWKaYEmetUR3UUiTP2M3hXdcvFhkZdmv",contract:"8qJSyQprMC57TWKaYEmetUR3UUiTP2M3hXdcvFhkZdmv",chainId:0,wChainId:1,decimals:8,logoURI:"https://assets.coingecko.com/coins/images/325/small/Tether-logo.png?1598003707",coingeckoId:"tether",realOriginContractAddress:"0x55d398326f99059ff775485246999027b3197955",realOriginChainId:4,supportsPermit:!1},{name:"Tether (Portal from Ethereum)",symbol:"USDT",mint:"Dn4noZ5jgGfkntzcQSUZ8czkreiZ1ForXYoV2H8Dm7S1",contract:"Dn4noZ5jgGfkntzcQSUZ8czkreiZ1ForXYoV2H8Dm7S1",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/325/small/Tether-logo.png?1598003707",coingeckoId:"tether",realOriginContractAddress:"0xdac17f958d2ee523a2206206994597c13d831ec7",realOriginChainId:2,supportsPermit:!1},{name:"Tether",symbol:"USDT",mint:"Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB",contract:"Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/325/small/Tether-logo.png?1598003707",coingeckoId:"tether",realOriginContractAddress:"Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB",realOriginChainId:1,supportsPermit:!1},{name:"The Sandbox (Portal from Ethereum)",symbol:"SAND",mint:"49c7WuCZkQgc3M4qH8WuEUNXfgwupZf1xqWkDQ7gjRGt",contract:"49c7WuCZkQgc3M4qH8WuEUNXfgwupZf1xqWkDQ7gjRGt",chainId:0,wChainId:1,decimals:8,logoURI:"https://assets.coingecko.com/coins/images/12129/small/sandbox_logo.jpg?1597397942",coingeckoId:"the-sandbox",realOriginContractAddress:"0x3845badade8e6dff049820680d1f14bd3903a5d0",realOriginChainId:2,supportsPermit:!1},{name:"TheSolanDAO",symbol:"SDO",mint:"7SZUnH7H9KptyJkUhJ5L4Kee5fFAbqVgCHvt7B6wg4Xc",contract:"7SZUnH7H9KptyJkUhJ5L4Kee5fFAbqVgCHvt7B6wg4Xc",chainId:0,wChainId:1,decimals:5,logoURI:"https://assets.coingecko.com/coins/images/22427/small/sdo-new_osvgbz.jpg?1641821718",coingeckoId:"thesolandao",realOriginContractAddress:"7SZUnH7H9KptyJkUhJ5L4Kee5fFAbqVgCHvt7B6wg4Xc",realOriginChainId:1,supportsPermit:!1},{name:"Ticket Finance",symbol:"TICKET",mint:"AymKzSDznoLT7Vhsb4wSRnCj1gjcG3zkgYFY8fxsHHer",contract:"AymKzSDznoLT7Vhsb4wSRnCj1gjcG3zkgYFY8fxsHHer",chainId:0,wChainId:1,decimals:8,logoURI:"https://assets.coingecko.com/coins/images/22756/small/PK65p32H_400x400.jpg?1642573249",coingeckoId:"ticket-finance",realOriginContractAddress:"AymKzSDznoLT7Vhsb4wSRnCj1gjcG3zkgYFY8fxsHHer",realOriginChainId:1,supportsPermit:!1},{name:"Tiny Bonez",symbol:"T1NY",mint:"C5xtJBKm24WTt3JiXrvguv7vHCe7CknDB7PNabp4eYX6",contract:"C5xtJBKm24WTt3JiXrvguv7vHCe7CknDB7PNabp4eYX6",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/24426/small/coin.png?1647848074",coingeckoId:"tiny-bonez",realOriginContractAddress:"C5xtJBKm24WTt3JiXrvguv7vHCe7CknDB7PNabp4eYX6",realOriginChainId:1,supportsPermit:!1},{name:"Tiny Colony",symbol:"TINY",mint:"HKfs24UEDQpHS5hUyKYkHd9q7GY5UQ679q2bokeL2whu",contract:"HKfs24UEDQpHS5hUyKYkHd9q7GY5UQ679q2bokeL2whu",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/22264/small/Kq4gAMJi_400x400.png?1641336657",coingeckoId:"tiny-colony",realOriginContractAddress:"HKfs24UEDQpHS5hUyKYkHd9q7GY5UQ679q2bokeL2whu",realOriginChainId:1,supportsPermit:!1},{name:"tudaBirds",symbol:"BURD",mint:"Qikhhhg9Ta3Jg7WoDFbSYuCAE14hx9hPvdz1zVp3zUw",contract:"Qikhhhg9Ta3Jg7WoDFbSYuCAE14hx9hPvdz1zVp3zUw",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/22839/small/_TOvRxfx_400x400.jpg?1642745695",coingeckoId:"tudabirds",realOriginContractAddress:"Qikhhhg9Ta3Jg7WoDFbSYuCAE14hx9hPvdz1zVp3zUw",realOriginChainId:1,supportsPermit:!1},{name:"Turtles",symbol:"TRTLS",mint:"q4bpaRKw3fJB1AJBeeBaKv3TjYzWsmntLgnSB275YUb",contract:"q4bpaRKw3fJB1AJBeeBaKv3TjYzWsmntLgnSB275YUb",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/21017/small/turtles200x200.png?1638191778",coingeckoId:"turtles-token",realOriginContractAddress:"q4bpaRKw3fJB1AJBeeBaKv3TjYzWsmntLgnSB275YUb",realOriginChainId:1,supportsPermit:!1},{name:"MILK",symbol:"MILK",mint:"MLKmUCaj1dpBY881aFsrBwR9RUMoKic8SWT3u1q5Nkj",contract:"MLKmUCaj1dpBY881aFsrBwR9RUMoKic8SWT3u1q5Nkj",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/27168/small/UClogoMLKtoken.png?1662285921",coingeckoId:"udder-chaos-milk",realOriginContractAddress:"MLKmUCaj1dpBY881aFsrBwR9RUMoKic8SWT3u1q5Nkj",realOriginChainId:1,supportsPermit:!1},{name:"UncleMine",symbol:"UM",mint:"DMCUFm2ZAnSU7UgsdVq23gRogMU3MEBjPgQF1gK53rEn",contract:"DMCUFm2ZAnSU7UgsdVq23gRogMU3MEBjPgQF1gK53rEn",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/22871/small/unclemine_icon_400.png?1642756525",coingeckoId:"unclemine",realOriginContractAddress:"DMCUFm2ZAnSU7UgsdVq23gRogMU3MEBjPgQF1gK53rEn",realOriginChainId:1,supportsPermit:!1},{name:"Uniswap (Portal from Ethereum)",symbol:"UNI",mint:"8FU95xFJhUUkyyCLU13HSzDLs7oC4QZdXQHL6SCeab36",contract:"8FU95xFJhUUkyyCLU13HSzDLs7oC4QZdXQHL6SCeab36",chainId:0,wChainId:1,decimals:8,logoURI:"https://assets.coingecko.com/coins/images/12504/small/uniswap-uni.png?1600306604",coingeckoId:"uniswap",realOriginContractAddress:"0x1f9840a85d5af5bf1d1762f925bdaddc4201f984",realOriginChainId:2,supportsPermit:!1},{name:"Unique Venture clubs",symbol:"UNQ",mint:"UNQtEecZ5Zb4gSSVHCAWUQEoNnSVEbWiKCi1v9kdUJJ",contract:"UNQtEecZ5Zb4gSSVHCAWUQEoNnSVEbWiKCi1v9kdUJJ",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/21730/small/unq.png?1659789179",coingeckoId:"unq",realOriginContractAddress:"UNQtEecZ5Zb4gSSVHCAWUQEoNnSVEbWiKCi1v9kdUJJ",realOriginChainId:1,supportsPermit:!1},{name:"UPFI Network",symbol:"UPS",mint:"EwJN2GqUGXXzYmoAciwuABtorHczTA5LqbukKXV1viH7",contract:"EwJN2GqUGXXzYmoAciwuABtorHczTA5LqbukKXV1viH7",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/20179/small/logo_-_2021-11-11T122041.439.png?1636604452",coingeckoId:"upfi-network",realOriginContractAddress:"EwJN2GqUGXXzYmoAciwuABtorHczTA5LqbukKXV1viH7",realOriginChainId:1,supportsPermit:!1},{name:"Bridged USDC (Portal from Polygon)",symbol:"USDC.e",mint:"E2VmbootbVCBkMNNxKQgCLMS1X3NoGMaYAsufaAsf7M",contract:"E2VmbootbVCBkMNNxKQgCLMS1X3NoGMaYAsufaAsf7M",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/6319/small/USD_Coin_icon.png?1547042389",coingeckoId:"usd-coin",realOriginContractAddress:"0x2791bca1f2de4661ed88a30c99a7a9449aa84174",realOriginChainId:5,supportsPermit:!1},{name:"USDC (Portal from Polygon)",symbol:"USDC",mint:"C321jHPwWBzgfSGndosDTp5pBsiXPyMU1irxKLVcedRB",contract:"C321jHPwWBzgfSGndosDTp5pBsiXPyMU1irxKLVcedRB",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/6319/small/usdc.png?1696506694",coingeckoId:"usd-coin",realOriginContractAddress:"0x3c499c542cef5e3811e1192ce70d8cc03d5c3359",realOriginChainId:5,supportsPermit:!1},{name:"USD Coin (Portal from Ethereum)",symbol:"USDC",mint:"A9mUU4qviSctJVPJdBJWkb28deg915LYJKrzQ19ji3FM",contract:"A9mUU4qviSctJVPJdBJWkb28deg915LYJKrzQ19ji3FM",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/6319/small/USD_Coin_icon.png?1547042389",coingeckoId:"usd-coin",realOriginContractAddress:"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",realOriginChainId:2,supportsPermit:!1},{name:"USD Coin",symbol:"USDC",mint:"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",contract:"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/6319/small/USD_Coin_icon.png?1547042389",coingeckoId:"usd-coin",realOriginContractAddress:"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",realOriginChainId:1,supportsPermit:!1},{name:"USDH",symbol:"USDH",mint:"USDH1SM1ojwWUga67PGrgFWUHibbjqMvuMaDkRJTgkX",contract:"USDH1SM1ojwWUga67PGrgFWUHibbjqMvuMaDkRJTgkX",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/22941/small/USDH_icon.png?1643008131",coingeckoId:"usdh",realOriginContractAddress:"USDH1SM1ojwWUga67PGrgFWUHibbjqMvuMaDkRJTgkX",realOriginChainId:1,supportsPermit:!1},{name:"UXD Protocol",symbol:"UXP",mint:"UXPhBoR3qG4UCiGNJfV7MqhHyFqKN68g45GoYvAeL2M",contract:"UXPhBoR3qG4UCiGNJfV7MqhHyFqKN68g45GoYvAeL2M",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/20319/small/UXP.jpg?1636864568",coingeckoId:"uxd-protocol-token",realOriginContractAddress:"UXPhBoR3qG4UCiGNJfV7MqhHyFqKN68g45GoYvAeL2M",realOriginChainId:1,supportsPermit:!1},{name:"UXD Stablecoin",symbol:"UXD",mint:"7kbnvuGBxxj8AG9qp8Scn56muWGaRaFqxg1FsRp3PaFT",contract:"7kbnvuGBxxj8AG9qp8Scn56muWGaRaFqxg1FsRp3PaFT",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/22850/small/UXD-White.png?1642747473",coingeckoId:"uxd-stablecoin",realOriginContractAddress:"7kbnvuGBxxj8AG9qp8Scn56muWGaRaFqxg1FsRp3PaFT",realOriginChainId:1,supportsPermit:!1},{name:"Viral Inu",symbol:"VINU",mint:"CgbJxXyaHeU8VsquBpySuFXA94b6LWXxioZ28wRr8fs9",contract:"CgbJxXyaHeU8VsquBpySuFXA94b6LWXxioZ28wRr8fs9",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/20698/small/vinu.png?1642917940",coingeckoId:"viral-inu",realOriginContractAddress:"CgbJxXyaHeU8VsquBpySuFXA94b6LWXxioZ28wRr8fs9",realOriginChainId:1,supportsPermit:!1},{name:"Vivaion",symbol:"VIVAION",mint:"2jw1uFmc1hhfJH3EqGhaE2rfZMMC2YBpxkZcdUbPppMn",contract:"2jw1uFmc1hhfJH3EqGhaE2rfZMMC2YBpxkZcdUbPppMn",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/22797/small/zCKgUOy13nTdqluJ1VWG2aqDfMgD4axJt_g4C9T-W3I.png?1650957408",coingeckoId:"vivaion",realOriginContractAddress:"2jw1uFmc1hhfJH3EqGhaE2rfZMMC2YBpxkZcdUbPppMn",realOriginChainId:1,supportsPermit:!1},{name:"Void Games",symbol:"VOID",mint:"DjPt6xxMoZx1DyyWUHGs4mwqWWX48Fwf6ZJgqv2F9qwc",contract:"DjPt6xxMoZx1DyyWUHGs4mwqWWX48Fwf6ZJgqv2F9qwc",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/21307/small/h5lkasZH_400x400.jpg?1638886042",coingeckoId:"void-games",realOriginContractAddress:"DjPt6xxMoZx1DyyWUHGs4mwqWWX48Fwf6ZJgqv2F9qwc",realOriginChainId:1,supportsPermit:!1},{name:"Waggle Network",symbol:"WAG",mint:"5tN42n9vMi6ubp67Uy4NnmM5DMZYN8aS8GeB3bEDHr6E",contract:"5tN42n9vMi6ubp67Uy4NnmM5DMZYN8aS8GeB3bEDHr6E",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/18696/small/waggle.PNG?1633750177",coingeckoId:"waggle-network",realOriginContractAddress:"5tN42n9vMi6ubp67Uy4NnmM5DMZYN8aS8GeB3bEDHr6E",realOriginChainId:1,supportsPermit:!1},{name:"Walken",symbol:"WLKN",mint:"EcQCUYv57C4V6RoPxkVUiDwtX1SP8y8FP5AEToYL8Az",contract:"EcQCUYv57C4V6RoPxkVUiDwtX1SP8y8FP5AEToYL8Az",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/25566/small/wlkn.jpg?1652523301",coingeckoId:"walken",realOriginContractAddress:"EcQCUYv57C4V6RoPxkVUiDwtX1SP8y8FP5AEToYL8Az",realOriginChainId:1,supportsPermit:!1},{name:"Wrapped BNB (Portal from BSC)",symbol:"WBNB",mint:"9gP2kCy3wA1ctvYWQk75guqXuHfrEomqydHLtcTCqiLa",contract:"9gP2kCy3wA1ctvYWQk75guqXuHfrEomqydHLtcTCqiLa",chainId:0,wChainId:1,decimals:8,logoURI:"https://assets.coingecko.com/coins/images/12591/small/binance-coin-logo.png?1600947313",coingeckoId:"wbnb",realOriginContractAddress:"0xbb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c",realOriginChainId:4,supportsPermit:!1},{name:"Ween",symbol:"WEENS",mint:"DmXfDUeyRJqnpvdjssGgUXwZrRFPXvu2DfMq4jfTTC9C",contract:"DmXfDUeyRJqnpvdjssGgUXwZrRFPXvu2DfMq4jfTTC9C",chainId:0,wChainId:1,decimals:0,logoURI:"https://assets.coingecko.com/coins/images/21764/small/logo_%281%29.png?1639991986",coingeckoId:"ween-token",realOriginContractAddress:"DmXfDUeyRJqnpvdjssGgUXwZrRFPXvu2DfMq4jfTTC9C",realOriginChainId:1,supportsPermit:!1},{name:"WETH (Portal from Ethereum)",symbol:"WETH",mint:"7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs",contract:"7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs",chainId:0,wChainId:1,decimals:8,logoURI:"https://assets.coingecko.com/coins/images/2518/small/weth.png?1628852295",coingeckoId:"weth",realOriginContractAddress:"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",realOriginChainId:2,supportsPermit:!1},{name:"WEYU (Portal from BSC)",symbol:"WEYU",mint:"EHaEBhYHWA7HSphorXXosysJem6qF4agccoqDqQKCUge",contract:"EHaEBhYHWA7HSphorXXosysJem6qF4agccoqDqQKCUge",chainId:0,wChainId:1,decimals:8,logoURI:"https://assets.coingecko.com/coins/images/18112/small/weyu.PNG?1630542552",coingeckoId:"weyu",realOriginContractAddress:"0xfafd4cb703b25cb22f43d017e7e0d75febc26743",realOriginChainId:4,supportsPermit:!1},{name:"Whalemap",symbol:"WMP",mint:"BygDd5LURoqztD3xETc99WCxLUbTi6WYSht9XiBgZ4HW",contract:"BygDd5LURoqztD3xETc99WCxLUbTi6WYSht9XiBgZ4HW",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/21892/small/logo-token_%281%29.png?1640228860",coingeckoId:"whalemap",realOriginContractAddress:"BygDd5LURoqztD3xETc99WCxLUbTi6WYSht9XiBgZ4HW",realOriginChainId:1,supportsPermit:!1},{name:"Shredded Apes Whey",symbol:"WHEY",mint:"5fTwKZP2AK39LtFN9Ayppu6hdCVKfMGVm79F2EgHCtsi",contract:"5fTwKZP2AK39LtFN9Ayppu6hdCVKfMGVm79F2EgHCtsi",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/23256/small/whey-coin-2048x2048.png?1643360509",coingeckoId:"whey-token",realOriginContractAddress:"5fTwKZP2AK39LtFN9Ayppu6hdCVKfMGVm79F2EgHCtsi",realOriginChainId:1,supportsPermit:!1},{name:"Whole Earth Coin",symbol:"WEC",mint:"6y8W5YwAuzostqrS4YDJufBvksosfSi47Pd8U4A5vrBC",contract:"6y8W5YwAuzostqrS4YDJufBvksosfSi47Pd8U4A5vrBC",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/16313/small/WEC_logo.png?1669459247",coingeckoId:"whole-earth-coin",realOriginContractAddress:"6y8W5YwAuzostqrS4YDJufBvksosfSi47Pd8U4A5vrBC",realOriginChainId:1,supportsPermit:!1},{name:"Winerz",symbol:"$WNZ",mint:"WNZzxM1WqWFH8DpDZSqr6EoHKWXeMx9NLLd2R5RzGPA",contract:"WNZzxM1WqWFH8DpDZSqr6EoHKWXeMx9NLLd2R5RzGPA",chainId:0,wChainId:1,decimals:4,logoURI:"https://assets.coingecko.com/coins/images/24786/small/wnz.png?1648905714",coingeckoId:"winerz",realOriginContractAddress:"WNZzxM1WqWFH8DpDZSqr6EoHKWXeMx9NLLd2R5RzGPA",realOriginChainId:1,supportsPermit:!1},{name:"WipeMyAss",symbol:"WIPE",mint:"9ae76zqD3cgzR9gvf5Thc2NN3ACF7rqqnrLqxNzgcre6",contract:"9ae76zqD3cgzR9gvf5Thc2NN3ACF7rqqnrLqxNzgcre6",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/19967/small/wipemyass.jpeg?1636344049",coingeckoId:"wipemyass",realOriginContractAddress:"9ae76zqD3cgzR9gvf5Thc2NN3ACF7rqqnrLqxNzgcre6",realOriginChainId:1,supportsPermit:!1},{name:"Wrapped Matic (Portal from Polygon)",symbol:"WMATIC",mint:"Gz7VkD4MacbEB6yC5XD3HcumEiYx2EtDYYrfikGsvopG",contract:"Gz7VkD4MacbEB6yC5XD3HcumEiYx2EtDYYrfikGsvopG",chainId:0,wChainId:1,decimals:8,logoURI:"https://assets.coingecko.com/coins/images/14073/small/matic.png?1628852392",coingeckoId:"wmatic",realOriginContractAddress:"0x0d500b1d8e8ef31e21c99d1db9a6444d3adf1270",realOriginChainId:5,supportsPermit:!1},{name:"WOOF",symbol:"WOOF",mint:"9nEqaUcb16sQ3Tn1psbkWqyhPdLmfHWjKGymREjsAgTE",contract:"9nEqaUcb16sQ3Tn1psbkWqyhPdLmfHWjKGymREjsAgTE",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/18319/small/woof-logo-svg-true-solana-radient-blackinside.png?1637655115",coingeckoId:"woof-token",realOriginContractAddress:"9nEqaUcb16sQ3Tn1psbkWqyhPdLmfHWjKGymREjsAgTE",realOriginChainId:1,supportsPermit:!1},{name:"WOOP",symbol:"WOOP",mint:"A3HyGZqe451CBesNqieNPfJ4A9Mu332ui8ni6dobVSLB",contract:"A3HyGZqe451CBesNqieNPfJ4A9Mu332ui8ni6dobVSLB",chainId:0,wChainId:1,decimals:5,logoURI:"https://assets.coingecko.com/coins/images/24904/small/coin-gecko.png?1649335210",coingeckoId:"woop",realOriginContractAddress:"A3HyGZqe451CBesNqieNPfJ4A9Mu332ui8ni6dobVSLB",realOriginChainId:1,supportsPermit:!1},{name:"Wrapped ALGO",symbol:"XALGO",mint:"xALGoH1zUfRmpCriy94qbfoMXHtK6NDnMKzT4Xdvgms",contract:"xALGoH1zUfRmpCriy94qbfoMXHtK6NDnMKzT4Xdvgms",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/26335/small/xALGO.png?1657494713",coingeckoId:"wrapped-algo",realOriginContractAddress:"xALGoH1zUfRmpCriy94qbfoMXHtK6NDnMKzT4Xdvgms",realOriginChainId:1,supportsPermit:!1},{name:"Wrapped AVAX (Portal from Avalanche)",symbol:"WAVAX",mint:"KgV1GvrHQmRBY8sHQQeUKwTm2r2h8t4C8qt12Cw1HVE",contract:"KgV1GvrHQmRBY8sHQQeUKwTm2r2h8t4C8qt12Cw1HVE",chainId:0,wChainId:1,decimals:8,logoURI:"https://assets.coingecko.com/coins/images/15075/small/wrapped-avax.png?1629873618",coingeckoId:"wrapped-avax",realOriginContractAddress:"0xb31f66aa3c1e785363f0875a1b74e27b85fd66c7",realOriginChainId:6,supportsPermit:!1},{name:"Wrapped Bitcoin (Sollet)",symbol:"SOBTC",mint:"9n4nbM75f5Ui33ZbPYXn59EwSgE8CGsHtAeTH5YFeJ9E",contract:"9n4nbM75f5Ui33ZbPYXn59EwSgE8CGsHtAeTH5YFeJ9E",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/24917/small/opengraph.png?1649344256",coingeckoId:"wrapped-bitcoin-sollet",realOriginContractAddress:"9n4nbM75f5Ui33ZbPYXn59EwSgE8CGsHtAeTH5YFeJ9E",realOriginChainId:1,supportsPermit:!1},{name:"Wrapped BUSD (Allbridge from BSC)",symbol:"ABBUSD",mint:"6nuaX3ogrr2CaoAPjtaKHAoBNWok32BMcRozuf32s2QF",contract:"6nuaX3ogrr2CaoAPjtaKHAoBNWok32BMcRozuf32s2QF",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/23061/small/logo_-_2022-01-26T091043.556.png?1643159457",coingeckoId:"wrapped-busd-allbridge-from-bsc",realOriginContractAddress:"6nuaX3ogrr2CaoAPjtaKHAoBNWok32BMcRozuf32s2QF",realOriginChainId:1,supportsPermit:!1},{name:"Wrapped Chainlink (Sollet)",symbol:"SOLINK",mint:"CWE8jPTUYhdCTZYWPTe1o5DFqfdjzWKc9WKz6rSjQUdG",contract:"CWE8jPTUYhdCTZYWPTe1o5DFqfdjzWKc9WKz6rSjQUdG",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/24705/small/qvSHhRyC_400x400.jpg?1648646324",coingeckoId:"wrapped-chainlink-sollet",realOriginContractAddress:"CWE8jPTUYhdCTZYWPTe1o5DFqfdjzWKc9WKz6rSjQUdG",realOriginChainId:1,supportsPermit:!1},{name:"Wrapped CUSD (Allbridge from Celo)",symbol:"ACUSD",mint:"EwxNF8g9UfmsJVcZFTpL9Hx5MCkoQFoJi6XNWzKf1j8e",contract:"EwxNF8g9UfmsJVcZFTpL9Hx5MCkoQFoJi6XNWzKf1j8e",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/23057/small/7236.png?1643153224",coingeckoId:"wrapped-cusd-allbridge-from-celo",realOriginContractAddress:"EwxNF8g9UfmsJVcZFTpL9Hx5MCkoQFoJi6XNWzKf1j8e",realOriginChainId:1,supportsPermit:!1},{name:"Wrapped Ethereum (Sollet)",symbol:"SOETH",mint:"2FPyTwcZLUg1MDrwsyoP4D6s1tM7hAkHYRjkNb5w6Pxk",contract:"2FPyTwcZLUg1MDrwsyoP4D6s1tM7hAkHYRjkNb5w6Pxk",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/24918/small/6250754.png?1649344492",coingeckoId:"wrapped-ethereum-sollet",realOriginContractAddress:"2FPyTwcZLUg1MDrwsyoP4D6s1tM7hAkHYRjkNb5w6Pxk",realOriginChainId:1,supportsPermit:!1},{name:"Wrapped Solana",symbol:"wSOL",mint:"So11111111111111111111111111111111111111112",contract:"So11111111111111111111111111111111111111112",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/21629/small/solana.jpg?1639626543",coingeckoId:"wrapped-solana",realOriginContractAddress:"So11111111111111111111111111111111111111112",realOriginChainId:1,supportsPermit:!1},{name:"Wrapped USDT (Allbridge from Polygon)",symbol:"APUSDT",mint:"DNhZkUaxHXYvpxZ7LNnHtss8sQgdAfd1ZYS1fB7LKWUZ",contract:"DNhZkUaxHXYvpxZ7LNnHtss8sQgdAfd1ZYS1fB7LKWUZ",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/23060/small/logo_-_2022-01-26T084912.902.png?1643158161",coingeckoId:"wrapped-usdt-allbridge-from-polygon",realOriginContractAddress:"DNhZkUaxHXYvpxZ7LNnHtss8sQgdAfd1ZYS1fB7LKWUZ",realOriginChainId:1,supportsPermit:!1},{name:"Wrapped USTC",symbol:"USTC",mint:"CXLBjMMcwkc17GfJtBos6rQCo1ypeH6eDbB82Kby4MRm",contract:"CXLBjMMcwkc17GfJtBos6rQCo1ypeH6eDbB82Kby4MRm",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/15462/small/ust.png?1620910058",coingeckoId:"wrapped-ust",realOriginContractAddress:"CXLBjMMcwkc17GfJtBos6rQCo1ypeH6eDbB82Kby4MRm",realOriginChainId:1,supportsPermit:!1},{name:"Wrapped YFI (Sollet)",symbol:"SOYFI",mint:"3JSf5tPeuscJGtaCp5giEiDhv51gQ4v3zWg8DGgyLfAB",contract:"3JSf5tPeuscJGtaCp5giEiDhv51gQ4v3zWg8DGgyLfAB",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/24704/small/yl4nOJno_400x400.jpg?1648646042",coingeckoId:"wrapped-yfi-sollet",realOriginContractAddress:"3JSf5tPeuscJGtaCp5giEiDhv51gQ4v3zWg8DGgyLfAB",realOriginChainId:1,supportsPermit:!1},{name:"xHashtag",symbol:"XTAG",mint:"5gs8nf4wojB5EXgDUWNLwXpknzgV2YWDhveAeBZpVLbp",contract:"5gs8nf4wojB5EXgDUWNLwXpknzgV2YWDhveAeBZpVLbp",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/20912/small/xtag.png?1637922382",coingeckoId:"xhashtag",realOriginContractAddress:"5gs8nf4wojB5EXgDUWNLwXpknzgV2YWDhveAeBZpVLbp",realOriginChainId:1,supportsPermit:!1},{name:"Xverse",symbol:"XVC",mint:"25Vu6457o2gdZRGVVt5K8NbAvaP3esYaQNHbNDitVtw1",contract:"25Vu6457o2gdZRGVVt5K8NbAvaP3esYaQNHbNDitVtw1",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/17709/small/1_y5qvEWJiA4dFjoQNcqth3g.png?1629081157",coingeckoId:"xverse",realOriginContractAddress:"25Vu6457o2gdZRGVVt5K8NbAvaP3esYaQNHbNDitVtw1",realOriginChainId:1,supportsPermit:!1},{name:"Yawww",symbol:"YAW",mint:"YAWtS7vWCSRPckx1agB6sKidVXiXiDUfehXdEUSRGKE",contract:"YAWtS7vWCSRPckx1agB6sKidVXiXiDUfehXdEUSRGKE",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/24233/small/yaw.PNG?1646982198",coingeckoId:"yawww",realOriginContractAddress:"YAWtS7vWCSRPckx1agB6sKidVXiXiDUfehXdEUSRGKE",realOriginChainId:1,supportsPermit:!1},{name:"Zap (Portal from BSC)",symbol:"ZAP",mint:"HxPoEHMt1vKeqjKCePcqTj6yYgn6Xqq1fKTY3Pjx4YrX",contract:"HxPoEHMt1vKeqjKCePcqTj6yYgn6Xqq1fKTY3Pjx4YrX",chainId:0,wChainId:1,decimals:8,logoURI:"https://assets.coingecko.com/coins/images/2180/small/zap.png?1547036476",coingeckoId:"zap",realOriginContractAddress:"0xc5326b32e8baef125acd68f8bc646fd646104f1c",realOriginChainId:4,supportsPermit:!1},{name:"Zebec Protocol",symbol:"ZBC",mint:"zebeczgi5fSEtbpfQKVZKCJ3WgYXxjkMUkNNx7fLKAF",contract:"zebeczgi5fSEtbpfQKVZKCJ3WgYXxjkMUkNNx7fLKAF",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/24342/small/zbc.PNG?1647400775",coingeckoId:"zebec-protocol",realOriginContractAddress:"zebeczgi5fSEtbpfQKVZKCJ3WgYXxjkMUkNNx7fLKAF",realOriginChainId:1,supportsPermit:!1},{name:"Zion",symbol:"ZION",mint:"A7rqejP8LKN8syXMr4tvcKjs2iJ4WtZjXNs1e6qP3m9g",contract:"A7rqejP8LKN8syXMr4tvcKjs2iJ4WtZjXNs1e6qP3m9g",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/22150/small/Ziontoken_2_84.png?1640931619",coingeckoId:"zion",realOriginContractAddress:"A7rqejP8LKN8syXMr4tvcKjs2iJ4WtZjXNs1e6qP3m9g",realOriginChainId:1,supportsPermit:!1},{name:"GME",symbol:"GME",mint:"8wXtPeU6557ETkp9WHFY1n1EcU6NxDvbAggHGsMYiHsB",contract:"8wXtPeU6557ETkp9WHFY1n1EcU6NxDvbAggHGsMYiHsB",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/34930/small/GMEstop_%281%29_%281%29.png?1706689237",coingeckoId:"gme",realOriginContractAddress:"8wXtPeU6557ETkp9WHFY1n1EcU6NxDvbAggHGsMYiHsB",realOriginChainId:1,supportsPermit:!1},{name:"WETH (Portal from Optimism)",symbol:"WETH",mint:"8M6d63oL7dvMZ1gNbgGe3h8afMSWJEKEhtPTFM2u8h3c",contract:"8M6d63oL7dvMZ1gNbgGe3h8afMSWJEKEhtPTFM2u8h3c",chainId:0,wChainId:1,decimals:8,logoURI:"https://assets.coingecko.com/coins/images/2518/small/weth.png?1696503332",coingeckoId:"weth",realOriginContractAddress:"0x4200000000000000000000000000000000000006",realOriginChainId:24,supportsPermit:!1},{name:"USDC (Portal from Optimism)",symbol:"USDC",mint:"J8kcD4Wnd1ehne1dpL8WNtgZQR6Jpui2cTZcrmg5ybAa",contract:"J8kcD4Wnd1ehne1dpL8WNtgZQR6Jpui2cTZcrmg5ybAa",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/6319/small/usdc.png?1696506694",coingeckoId:"usd-coin",realOriginContractAddress:"0x0b2c639c533813f4aa9d7837caf62653d097ff85",realOriginChainId:24,supportsPermit:!1},{name:"Bridged USDC (Optimism) (Portal from Optimism)",symbol:"USDC.E",mint:"D6YyAUMTJipLQfUhYs6psdnwpmMz6KbM4Qs9AtCmPpxR",contract:"D6YyAUMTJipLQfUhYs6psdnwpmMz6KbM4Qs9AtCmPpxR",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/31580/small/USDC-icon.png?1696530397",coingeckoId:"bridged-usd-coin-optimism",realOriginContractAddress:"0x7f5c764cbc14f9669b88837ca1490cca17c31607",realOriginChainId:24,supportsPermit:!1},{name:"Tether (Portal from Optimism)",symbol:"USDT",mint:"CLV6gB88nQtnuo3akGLSVRFaiFPTXaBXV4EDaFxV7iRq",contract:"CLV6gB88nQtnuo3akGLSVRFaiFPTXaBXV4EDaFxV7iRq",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/325/small/Tether.png?1696501661",coingeckoId:"tether",realOriginContractAddress:"0x94b008aa00579c1307b0ef2c499ad98a8ce58e58",realOriginChainId:24,supportsPermit:!1},{name:"WETH (Portal from Base)",symbol:"WETH",mint:"DWXe1hxpnb8LAH21iyXcjvMbiAGzoYyuCVQtRLvZdLYd",contract:"DWXe1hxpnb8LAH21iyXcjvMbiAGzoYyuCVQtRLvZdLYd",chainId:0,wChainId:1,decimals:8,logoURI:"https://assets.coingecko.com/coins/images/2518/small/weth.png?1696503332",coingeckoId:"weth",realOriginContractAddress:"0x4200000000000000000000000000000000000006",realOriginChainId:30},{name:"USDC (Portal from Base)",symbol:"USDC",mint:"EfqRM8ZGWhDTKJ7BHmFvNagKVu3AxQRDQs8WMMaoBCu6",contract:"EfqRM8ZGWhDTKJ7BHmFvNagKVu3AxQRDQs8WMMaoBCu6",chainId:0,wChainId:1,decimals:6,logoURI:"https://assets.coingecko.com/coins/images/6319/small/usdc.png?1696506694",coingeckoId:"usd-coin",realOriginContractAddress:"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",realOriginChainId:30},{name:"Edgevana Staked SOL",symbol:"EDGESOL",mint:"edge86g9cVz87xcpKpy3J77vbp4wYd9idEV562CCntt",contract:"edge86g9cVz87xcpKpy3J77vbp4wYd9idEV562CCntt",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/35492/small/edgesol.png?1708918562",coingeckoId:"edgevana-staked-sol",realOriginContractAddress:"edge86g9cVz87xcpKpy3J77vbp4wYd9idEV562CCntt",realOriginChainId:1},{name:"Chinu",symbol:"CHINU",mint:"FLrgwxXaX8q8ECF18weDf3PLAYorXST5orpY34d8jfbm",contract:"FLrgwxXaX8q8ECF18weDf3PLAYorXST5orpY34d8jfbm",chainId:0,wChainId:1,decimals:9,logoURI:"https://assets.coingecko.com/coins/images/34610/small/chinuHeadLogo200.png?1705499604",coingeckoId:"chinu-2",realOriginContractAddress:"FLrgwxXaX8q8ECF18weDf3PLAYorXST5orpY34d8jfbm",realOriginChainId:1},{name:"SPX6900 (Portal from Ethereum)",symbol:"SPX",mint:"J3NKxxXZcnNiMjKw9hYb2K4LUxgwB6t1FtPtQVsv3KFr",contract:"J3NKxxXZcnNiMjKw9hYb2K4LUxgwB6t1FtPtQVsv3KFr",chainId:0,wChainId:1,decimals:8,logoURI:"https://assets.coingecko.com/coins/images/31401/small/sticker_%281%29.jpg?1702371083",coingeckoId:"spx6900",realOriginContractAddress:"0xe0f63a424a4439cbe457d80e4f4b51ad25b2c56c",realOriginChainId:2}],tokenCache={arbitrum,ethereum,base,aptos,polygon,optimism,avalanche,bsc,solana};function getNativeContractAddress(e){return e==="Sui"?"0x2::sui::SUI":"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"};function toMayanChainName(e){if(!chainNameMap[e])throw new Error(`Chain ${e} not supported`);return chainNameMap[e]}function toWormholeChainName(e){return address.toChain(Number(e))}function supportedChains(){return Object.keys(chainNameMap)}let tokenListCache={};async function fetchTokensForChain(e){if(e in tokenListCache)return tokenListCache[e];let t,a=toMayanChainName(e);try{t=await fetchTokenList(a)}catch{t=tokenCache[a]}const i=t.map(c=>c.contract===getNativeContractAddress(e)?address.nativeTokenId(e):{chain:e,address:address.toNative(e,c.contract)});return tokenListCache[e]=i,i}var MayanClientStatus;(function(e){e.INPROGRESS="INPROGRESS",e.COMPLETED="COMPLETED",e.REFUNDED="REFUNDED",e.CANCELED="CANCELED"})(MayanClientStatus||(MayanClientStatus={}));const possibleVaaTypes=["transfer","swap","redeem","refund"];var MayanTransactionGoal;(function(e){e.Send="SEND",e.Bridge="BRIDGE",e.Swap="SWAP",e.Register="REGISTER",e.Settle="SETTLE"})(MayanTransactionGoal||(MayanTransactionGoal={}));function txStatusToReceipt(e){const t=toWormholeChainName(e.sourceChain),a=toWormholeChainName(e.destChain),i=e.txs.filter(r=>r.goals.includes(MayanTransactionGoal.Send)||r.goals.includes(MayanTransactionGoal.Register)).map(r=>({chain:t,txid:r.txHash})),c=e.txs.filter(r=>r.goals.includes(MayanTransactionGoal.Settle)).map(r=>({chain:a,txid:r.txHash}));let o=[];e.refundTxHash&&o.push({chain:toWormholeChainName(e.refundChain),txid:e.refundTxHash});const d={};for(const r of possibleVaaTypes){const m=`${r}SignedVaa`;if(m in e&&e[m]!==null){const p=address.deserialize("Uint8Array",address.hex.decode(e[m]));d[r]={id:{emitter:p.emitterAddress,sequence:p.sequence,chain:p.emitterChain},attestation:p}}}let s={},l=!1;if("redeem"in d?(s=d.redeem,l=!0):"transfer"in d&&(s=d.transfer,l=!0),e.clientStatus===MayanClientStatus.COMPLETED)return{from:t,to:a,originTxs:i,destinationTxs:c,state:address.TransferState.DestinationFinalized,attestation:s};if(e.clientStatus===MayanClientStatus.REFUNDED||e.clientStatus===MayanClientStatus.CANCELED)return{from:t,to:a,originTxs:i,refundTxs:o,state:address.TransferState.Refunded,attestation:d.refund};if(e.clientStatus===MayanClientStatus.INPROGRESS)return l&&c.length>0?{from:t,to:a,originTxs:i,destinationTxs:c,state:address.TransferState.DestinationInitiated,attestation:s}:{from:t,to:a,originTxs:i,state:address.TransferState.SourceInitiated};throw new Error(`Unknown Mayan clientStatus ${e.clientStatus}`)}async function getTransactionStatus(e){var a;const t=`https://explorer-api.mayan.finance/v3/swap/trx/${e.txid}`;try{const i=await address.axios.get(t);if(i.data.id)return i.data}catch(i){if(!i||typeof i=="object"&&(address.axios.isAxiosError(i)&&((a=i.response)==null?void 0:a.status)===404||"status"in i&&i.status===404))return null;throw i}return null}class MayanRouteBase extends address.AutomaticRoute{constructor(){super(...arguments);j(this,"MAX_SLIPPAGE",1);j(this,"protocols",["WH","MCTP","SWIFT"])}getDefaultOptions(){return{gasDrop:0,slippageBps:"auto",optimizeFor:"speed"}}static supportedNetworks(){return["Mainnet"]}static supportedChains(a){return supportedChains()}static async supportedSourceTokens(a){return fetchTokensForChain(a.chain)}static isProtocolSupported(a){return supportedChains().includes(a.chain)}static async supportedDestinationTokens(a,i,c){return!supportedChains().includes(i.chain)||!supportedChains().includes(c.chain)?[]:fetchTokensForChain(c.chain)}async isAvailable(){return!0}async validate(a,i){try{return i.options=i.options??this.getDefaultOptions(),{valid:!0,params:{...i,normalizedParams:{slippageBps:i.options.slippageBps}}}}catch(c){return{valid:!1,params:i,error:c}}}toMayanAddress(a){return address.isNative(a.address)?getNativeContractAddress(a.chain):address.canonicalAddress(a)}async fetchQuote(a,i){var p,h;const{fromChain:c,toChain:o}=a,d={amount:Number(i.amount),fromToken:this.toMayanAddress(a.source.id),toToken:this.toMayanAddress(a.destination.id),fromChain:toMayanChainName(c.chain),toChain:toMayanChainName(o.chain),...this.getDefaultOptions(),...i.options,...this.getReferralParameters(a),slippageBps:"auto"},s={swift:this.protocols.includes("SWIFT"),mctp:this.protocols.includes("MCTP")},l=new URL(generateFetchQuoteUrl(d,s));if(!l)throw new Error("Unable to generate fetch quote URL");l.searchParams.has("fullList")||l.searchParams.append("fullList","true");const r=await address.axios.get(l.toString());if(r.status!==200)throw new Error("Unable to fetch quote",{cause:r});const m=(h=(p=r.data)==null?void 0:p.quotes)==null?void 0:h.filter(g=>this.protocols.includes(g.type));if(!(!m||m.length===0))return m.length===1||m.sort((g,u)=>i.options.optimizeFor==="cost"?u.expectedAmountOut===g.expectedAmountOut?g.etaSeconds-u.etaSeconds:u.expectedAmountOut-g.expectedAmountOut:i.options.optimizeFor==="speed"?g.etaSeconds===u.etaSeconds?u.expectedAmountOut-g.expectedAmountOut:g.etaSeconds-u.etaSeconds:0),m[0]}async quote(a,i){try{const c=await this.fetchQuote(a,i);if(!c)return{success:!1,error:new address.UnavailableError(new Error("Couldn't fetch a quote"))};const o={token:{chain:"Solana",address:address.Wormhole.parseAddress("Solana",address.usdcContract.get(a.fromChain.network,"Solana"))},amount:address.parse(address.denoise(c.clientRelayerFeeSuccess||"0",6),6)},d=c.deadline64?new Date(parseInt(c.deadline64,10)*1e3):void 0;return{success:!0,params:i,sourceToken:{token:a.source.id,amount:address.parse(address.denoise(c.effectiveAmountIn,c.fromToken.decimals),c.fromToken.decimals)},destinationToken:{token:a.destination.id,amount:address.parse(address.denoise(c.expectedAmountOut,c.toToken.decimals),c.toToken.decimals)},relayFee:o,destinationNativeGas:address.parse(address.denoise(c.gasDrop,c.toToken.decimals),c.toToken.decimals),eta:c.etaSeconds*1e3,details:c,expires:d}}catch(c){if(c.code&&c.code==="AMOUNT_TOO_SMALL"){const o=c.message.match(/([\d\.]+)/);if(o[1]!==void 0&&!c.message.includes("$")){const d=parseFloat(o[1]),s=address.parse(d,a.source.decimals);return{success:!1,error:new address.MinAmountError(s)}}else return{success:!1,error:c}}return{success:!1,error:c}}}async initiate(a,i,c,o){const d=i.address(),s=address.canonicalAddress(o);try{const l=await a.fromChain.getRpc(),r=[];if(a.fromChain.chain==="Solana"){const{instructions:m,signers:p,lookupTables:h}=await createSwapFromSolanaInstructions(c.details,d,s,this.referrerAddress(),l,{allowSwapperOffCurve:!0}),g=address.MessageV0.compile({instructions:m,payerKey:new address.PublicKey(d),recentBlockhash:"",addressLookupTableAccounts:h}),u=[new unsignedTransaction.SolanaUnsignedTransaction({transaction:new address.VersionedTransaction(g),signers:p},a.fromChain.network,a.fromChain.chain,"Execute Swap")];if(address.isSignAndSendSigner(i)){const f=await i.signAndSend(u);r.push(...f.map(C=>({chain:a.fromChain.chain,txid:C})))}else if(address.isSignOnlySigner(i)){const f=await i.sign(u),C=await unsignedTransaction.SolanaPlatform.sendWait(a.fromChain.chain,l,f);r.push(...C.map(k=>({chain:a.fromChain.chain,txid:k})))}}else if(a.fromChain.chain==="Sui"){const m=await createSwapFromSuiMoveCalls(c.details,d,s,this.referrerAddress(),void 0,l),p=[new unsignedTransaction$1.SuiUnsignedTransaction(m,a.fromChain.network,a.fromChain.chain,"Execute Swap")];if(address.isSignAndSendSigner(i)){const h=await i.signAndSend(p);r.push(...h.map(g=>({chain:a.fromChain.chain,txid:g})))}else if(address.isSignOnlySigner(i)){const h=await i.sign(p),g=await platform.SuiPlatform.sendWait(a.fromChain.chain,l,h);r.push(...g.map(u=>({chain:a.fromChain.chain,txid:u})))}}else{const m=[],p=address.networkChainToNativeChainId.get(a.fromChain.network,a.fromChain.chain);if(!address.isNative(a.source.id.address)){const g=platform$1.EvmPlatform.getTokenImplementation(await a.fromChain.getRpc(),this.toMayanAddress(a.source.id)),u=addresses_default.MAYAN_FORWARDER_CONTRACT,f=await g.allowance(d,u),C=address.units(c.sourceToken.amount);if(f<C){const k=await g.approve.populateTransaction(u,C);m.push(new unsignedTransaction$2.EvmUnsignedTransaction({from:i.address(),chainId:p,...k},a.fromChain.network,a.fromChain.chain,"Approve Allowance"))}}const h=getSwapFromEvmTxPayload(c.details,d,s,this.referrerAddress(),d,Number(p),void 0,void 0);if(m.push(new unsignedTransaction$2.EvmUnsignedTransaction({from:i.address(),chainId:p,...h},a.fromChain.network,a.fromChain.chain,"Execute Swap")),address.isSignAndSendSigner(i)){const g=await i.signAndSend(m);r.push(...g.map(u=>({chain:a.fromChain.chain,txid:u})))}else if(address.isSignOnlySigner(i)){const g=await i.sign(m),u=await platform$1.EvmPlatform.sendWait(a.fromChain.chain,l,g);r.push(...u.map(f=>({chain:a.fromChain.chain,txid:f})))}}return{from:a.fromChain.chain,to:a.toChain.chain,state:address.TransferState.SourceInitiated,originTxs:r}}catch(l){throw console.error(l),l}}async*track(a,i){if(address.isCompleted(a)||address.isRedeemed(a)||address.isRefunded(a))return a;let c=i||60*60*1e3;for(;c>0;){const o=Date.now();if(address.isSourceInitiated(a)||address.isSourceFinalized(a)||address.isAttested(a)){const d=await getTransactionStatus(a.originTxs[a.originTxs.length-1]);if(d&&(a=txStatusToReceipt(d),yield{...a,txstatus:d},address.isCompleted(a)||address.isRedeemed(a)||address.isRefunded(a)))return a}else throw new Error("Transfer must have been initiated");await new Promise(d=>setTimeout(d,1e3)),c-=Date.now()-o}return a}transferUrl(a){return`https://explorer.mayan.finance/swap/${a}`}referrerAddress(){const{referrers:a}=this.constructor;if(!(!a||Object.keys(a).length<1))return{solana:a.Solana||null,evm:a.Ethereum||null,sui:a.Sui||null}}getReferralParameters(a){const{referrers:i,getReferrerBps:c}=this.constructor;return!!(i!=null&&i.Solana)&&typeof c=="function"?{referrer:i.Solana,referrerBps:c(a)}:{}}}j(MayanRouteBase,"NATIVE_GAS_DROPOFF_SUPPORTED",!1),j(MayanRouteBase,"IS_AUTOMATIC",!0);class MayanRoute extends MayanRouteBase{constructor(){super(...arguments);j(this,"protocols",["WH","MCTP","SWIFT"])}}j(MayanRoute,"meta",{name:"MayanSwap",provider:"Mayan"});class MayanRouteSWIFT extends MayanRouteBase{constructor(){super(...arguments);j(this,"protocols",["SWIFT"])}}j(MayanRouteSWIFT,"meta",{name:"MayanSwapSWIFT",provider:"Mayan Swift"});class MayanRouteMCTP extends MayanRouteBase{constructor(){super(...arguments);j(this,"protocols",["MCTP"])}}j(MayanRouteMCTP,"meta",{name:"MayanSwapMCTP",provider:"Mayan MCTP"});class MayanRouteWH extends MayanRouteBase{constructor(){super(...arguments);j(this,"protocols",["WH"])}}j(MayanRouteWH,"meta",{name:"MayanSwapWH",provider:"Mayan"});function createMayanRouteWithReferrerFee(e,t={}){return t!=null&&t.referrers&&typeof(t==null?void 0:t.getReferrerBps)=="function"&&Object.assign(e,t),e}exports.MayanRoute=MayanRoute;exports.MayanRouteMCTP=MayanRouteMCTP;exports.MayanRouteSWIFT=MayanRouteSWIFT;exports.MayanRouteWH=MayanRouteWH;exports.createMayanRouteWithReferrerFee=createMayanRouteWithReferrerFee;
|
|
3
|
+
${o}`)}if((s=(r=(a=n.data)==null?void 0:a.content)==null?void 0:r.fields)!=null&&s.latest_package_id)return n.data.content.fields.latest_package_id;throw new Error("latest_package_id not found in Mayan Sui state object")}async function resolveInputCoin$1(e,t,n,a,r,s){let o;if(s!=null&&s.result)o=s.result;else if(s!=null&&s.objectId)o=r.object(s.objectId);else{const{coins:i,sum:l}=await fetchAllCoins$1({walletAddress:t,coinType:n,coinAmount:e},a);if(l<e)throw new Error(`Insufficient funds to create Coin ${n} with amount ${e}`);i.length>1&&r.mergeCoins(i[0].coinObjectId,i.slice(1).map(d=>d.coinObjectId));const[u]=r.splitCoins(i[0].coinObjectId,[e]);o=u}return o}async function createMctpFromSuiMoveCalls$1(e,t,n,a,r,s,o){const[i,l]=await Promise.all([fetchMayanSuiPackageId$1(addresses_default$1.SUI_MCTP_STATE,s),e.hasAuction?fetchMayanSuiPackageId$1(addresses_default$1.SUI_MCTP_FEE_MANAGER_STATE,s):null]),u=getAmountOfFractionalAmount$1(e.minMiddleAmount,CCTP_TOKEN_DECIMALS$1);let d,c,f;if(e.fromToken.contract===e.mctpInputContract)d=new Transaction,c=await resolveInputCoin$1(u,t,e.mctpInputContract,s,d,o==null?void 0:o.inputCoin);else{const{tx:b,outCoin:h,whFeeCoin:T}=await getSwapSui$1({amountIn64:e.effectiveAmountIn64,inputCoinType:e.fromToken.contract,middleCoinType:e.mctpInputContract,userWallet:t,withWhFee:e.hasAuction||e.cheaperChain!=="sui",referrerAddress:a,inputCoin:o==null?void 0:o.inputCoin,transaction:void 0});d=Transaction.from(b),c=h,f=T?{result:T}:null}e.hasAuction?await addInitOrderMoveCalls$1(e,t,n,a,i,l,s,{inputCoin:{result:c},whFeeCoin:f,builtTransaction:d}):e.cheaperChain==="sui"?await addBridgeLockedFeeMoveCalls$1(e,t,n,i,s,{inputCoin:{result:c},builtTransaction:d}):await addBridgeWithFeeMoveCalls$1(e,t,n,i,r,s,{inputCoin:{result:c},whFeeCoin:f,builtTransaction:d});const y=BigInt(e.effectiveAmountIn64),p=Uint8Array.from([]);d.moveCall({package:i,module:"init_order",function:"log_initialize_mctp",typeArguments:[e.fromToken.contract],arguments:[d.pure.u64(y),d.object(e.fromToken.verifiedAddress),d.pure.vector("u8",p)]});try{let b;a?b=nativeAddressToHexString$1(a,getWormholeChainIdByName$1(e.toChain)):b=nativeAddressToHexString$1(address.SystemProgram.programId.toString(),getWormholeChainIdByName$1("solana")),d.moveCall({package:addresses_default$1.SUI_LOGGER_PACKAGE_ID,module:"referrer_logger",function:"log_referrer",arguments:[d.pure.address(b),d.pure.u8(e.referrerBps||0)]})}catch(b){console.error("Failed to log referrer",b)}return d}async function addBridgeWithFeeMoveCalls$1(e,t,n,a,r,s,o){return addBridgeWithFeeMoveCalls2({swapperAddress:t,destinationAddress:n,toChain:e.toChain,minMiddleAmount:e.minMiddleAmount,mctpPackageId:a,mctpInputContract:e.mctpInputContract,gasDrop:e.gasDrop,redeemRelayerFee:e.redeemRelayerFee,mctpVerifiedInputAddress:e.mctpVerifiedInputAddress,mctpInputTreasury:e.mctpInputTreasury,bridgeFee:e.bridgeFee,suiClient:s,options:o})}async function addBridgeLockedFeeMoveCalls$1(e,t,n,a,r,s){const o=getWormholeChainIdByName$1(e.toChain),i=(s==null?void 0:s.builtTransaction)??new Transaction,l=getAmountOfFractionalAmount$1(e.minMiddleAmount,CCTP_TOKEN_DECIMALS$1),u=await resolveInputCoin$1(l,t,e.mctpInputContract,r,i,s==null?void 0:s.inputCoin),d=nativeAddressToHexString$1(n,o),c=getCCTPDomain$1(e.toChain),f=getAmountOfFractionalAmount$1(e.gasDrop,Math.min(getGasDecimal$1(e.toChain),8)),y=getAmountOfFractionalAmount$1(e.redeemRelayerFee,CCTP_TOKEN_DECIMALS$1),[p]=i.moveCall({package:a,module:"bridge_locked_fee",function:"prepare_bridge_locked_fee",typeArguments:[e.mctpInputContract],arguments:[u,i.pure.u64(l),i.pure.address(d),i.pure.u32(c),i.pure.u64(f),i.pure.u64(y)]}),[b,h]=i.moveCall({package:a,module:"bridge_locked_fee",function:"bridge_locked_fee",typeArguments:[e.mctpInputContract],arguments:[i.object(addresses_default$1.SUI_MCTP_STATE),i.object(addresses_default$1.SUI_CCTP_CORE_STATE),i.object(e.mctpVerifiedInputAddress),p]}),[T,g]=i.moveCall({package:addresses_default$1.SUI_CCTP_TOKEN_PACKAGE_ID,module:"deposit_for_burn",function:"deposit_for_burn_with_caller_with_package_auth",typeArguments:[e.mctpInputContract,`${a}::bridge_locked_fee::CircleAuth`],arguments:[h,i.object(addresses_default$1.SUI_CCTP_TOKEN_STATE),i.object(addresses_default$1.SUI_CCTP_CORE_STATE),i.object("0x403"),i.object(e.mctpInputTreasury)]});return i.moveCall({package:a,module:"bridge_locked_fee",function:"store_bridge_locked_fee",typeArguments:[e.mctpInputContract],arguments:[i.object(addresses_default$1.SUI_MCTP_STATE),i.object(e.mctpVerifiedInputAddress),b,g]}),i}async function addInitOrderMoveCalls$1(e,t,n,a,r,s,o,i){const l=getWormholeChainIdByName$1(e.toChain),u=(i==null?void 0:i.builtTransaction)??new Transaction,d=getAmountOfFractionalAmount$1(e.minMiddleAmount,CCTP_TOKEN_DECIMALS$1),[c]=await Promise.all([resolveInputCoin$1(d,t,e.mctpInputContract,o,u,i==null?void 0:i.inputCoin),assertArgumentIsImmutable$1({package:s,module:"calculate_mctp_fee",function:"prepare_calc_mctp_fee",argumentIndex:3},o)]),f=e.toToken.contract===providerJsonrpc.ZeroAddress?nativeAddressToHexString$1(address.SystemProgram.programId.toString(),getWormholeChainIdByName$1("solana")):nativeAddressToHexString$1(e.toToken.contract,e.toToken.wChainId),y=getAmountOfFractionalAmount$1(e.minAmountOut,Math.min(8,e.toToken.decimals)),p=nativeAddressToHexString$1(n,l),b=getCCTPDomain$1(e.toChain),h=getAmountOfFractionalAmount$1(e.gasDrop,Math.min(getGasDecimal$1(e.toChain),8)),T=getAmountOfFractionalAmount$1(e.redeemRelayerFee,CCTP_TOKEN_DECIMALS$1),g=BigInt(e.deadline64);let A;a?A=nativeAddressToHexString$1(a,l):A=nativeAddressToHexString$1(address.SystemProgram.programId.toString(),getWormholeChainIdByName$1("solana"));const w=[u.object(e.mctpVerifiedInputAddress),u.pure.u8(MCTP_INIT_ORDER_PAYLOAD_ID$1),u.pure.address(t),c,u.pure.address(p),u.pure.u16(l),u.pure.address(f),u.pure.u64(y),u.pure.u64(h),u.pure.u64(T),u.pure.u64(g),u.pure.address(A),u.pure.u8(e.referrerBps)],[_]=u.moveCall({package:s,module:"calculate_mctp_fee",function:"prepare_calc_mctp_fee",typeArguments:[e.mctpInputContract],arguments:w}),[M]=u.moveCall({package:s,module:"calculate_mctp_fee",function:"calculate_mctp_fee",arguments:[u.object(addresses_default$1.SUI_MCTP_FEE_MANAGER_STATE),_]}),[P]=u.moveCall({package:r,module:"init_order",function:"prepare_initialize_order",typeArguments:[e.mctpInputContract],arguments:[...w.slice(1),u.pure.u32(b),u.pure.u64(d)]}),[k,D]=u.moveCall({package:r,module:"init_order",function:"initialize_order",typeArguments:[e.mctpInputContract],arguments:[u.object(addresses_default$1.SUI_MCTP_STATE),u.object(addresses_default$1.SUI_CCTP_CORE_STATE),u.object(e.mctpVerifiedInputAddress),P,M]}),[F,C]=u.moveCall({package:addresses_default$1.SUI_CCTP_TOKEN_PACKAGE_ID,module:"deposit_for_burn",function:"deposit_for_burn_with_caller_with_package_auth",typeArguments:[e.mctpInputContract,`${r}::init_order::CircleAuth`],arguments:[D,u.object(addresses_default$1.SUI_CCTP_TOKEN_STATE),u.object(addresses_default$1.SUI_CCTP_CORE_STATE),u.object("0x403"),u.object(e.mctpInputTreasury)]}),[R]=u.moveCall({package:r,module:"init_order",function:"publish_init_order",arguments:[u.object(addresses_default$1.SUI_MCTP_STATE),k,C]});return await addPublishWormholeMessage$1(u,R,o,BigInt(e.bridgeFee),t,i==null?void 0:i.whFeeCoin),u}async function addPublishWormholeMessage$1(e,t,n,a,r,s){let o;if(s!=null&&s.result)o=s.result;else if(s!=null&&s.objectId)o=e.object(s.objectId);else if(a>BigInt(0)){const{coins:i,sum:l}=await fetchAllCoins$1({walletAddress:r,coinType:SUI_TYPE_ARG,coinAmount:a},n);if(l<a)throw new Error("Insufficient funds to pay Wormhole message fee");i.length>1&&e.mergeCoins(i[0].coinObjectId,i.slice(1).map(d=>d.coinObjectId));const[u]=e.splitCoins(i[0].coinObjectId,[a]);o=u}else{const[i]=e.splitCoins(e.gas,[e.pure.u64(0)]);o=i}return e.moveCall({package:addresses_default$1.SUI_WORMHOLE_PACKAGE_ID,module:"publish_message",function:"publish_message",arguments:[e.object(addresses_default$1.SUI_WORMHOLE_STATE),o,t,e.object(SUI_CLOCK_OBJECT_ID)]}),e}async function addBridgeWithFeeMoveCalls2(e){const{swapperAddress:t,destinationAddress:n,mctpPackageId:a,suiClient:r,options:s}=e,o=getWormholeChainIdByName$1(e.toChain),i=(s==null?void 0:s.builtTransaction)??new Transaction,l=getAmountOfFractionalAmount$1(e.minMiddleAmount,CCTP_TOKEN_DECIMALS$1),u=await resolveInputCoin$1(l,t,e.mctpInputContract,r,i,s==null?void 0:s.inputCoin),d=MCTP_PAYLOAD_TYPE_DEFAULT$1,c=nativeAddressToHexString$1(n,o),f=getCCTPDomain$1(e.toChain),y=getAmountOfFractionalAmount$1(e.gasDrop,Math.min(getGasDecimal$1(e.toChain),8)),p=getAmountOfFractionalAmount$1(e.redeemRelayerFee,CCTP_TOKEN_DECIMALS$1),b=Uint8Array.from([]),[h]=i.moveCall({package:a,module:"bridge_with_fee",function:"prepare_bridge_with_fee",typeArguments:[e.mctpInputContract],arguments:[i.pure.u8(d),u,i.pure.u64(l),i.pure.address(c),i.pure.u32(f),i.pure.u64(y),i.pure.u64(p),i.pure.vector("u8",b)]}),[T,g]=i.moveCall({package:a,module:"bridge_with_fee",function:"bridge_with_fee",typeArguments:[e.mctpInputContract],arguments:[i.object(addresses_default$1.SUI_MCTP_STATE),i.object(addresses_default$1.SUI_CCTP_CORE_STATE),i.object(e.mctpVerifiedInputAddress),h]}),[A,w]=i.moveCall({package:addresses_default$1.SUI_CCTP_TOKEN_PACKAGE_ID,module:"deposit_for_burn",function:"deposit_for_burn_with_caller_with_package_auth",typeArguments:[e.mctpInputContract,`${a}::bridge_with_fee::CircleAuth`],arguments:[g,i.object(addresses_default$1.SUI_CCTP_TOKEN_STATE),i.object(addresses_default$1.SUI_CCTP_CORE_STATE),i.object("0x403"),i.object(e.mctpInputTreasury)]}),[_]=i.moveCall({package:a,module:"bridge_with_fee",function:"publish_bridge_with_fee",arguments:[i.object(addresses_default$1.SUI_MCTP_STATE),T,w]});return await addPublishWormholeMessage$1(i,_,r,BigInt(e.bridgeFee),t,s==null?void 0:s.whFeeCoin),i}async function createSwapFromSuiMoveCalls$1(e,t,n,a,r,s,o){const i=getQuoteSuitableReferrerAddress$1(e,a);if(e.toChain==="hypercore")throw e.hyperCoreParams?new Error("USDC permit signature is required for this quote"):new Error("HyperCore parameters are required for this quote");if(e.type==="MCTP")return createMctpFromSuiMoveCalls$1(e,t,n,i,r,s,o);throw new Error("Unsupported quote type from Sui chain")}function base(e){if(e.length>=255)throw new TypeError("Alphabet too long");const t=new Uint8Array(256);for(let u=0;u<t.length;u++)t[u]=255;for(let u=0;u<e.length;u++){const d=e.charAt(u),c=d.charCodeAt(0);if(t[c]!==255)throw new TypeError(d+" is ambiguous");t[c]=u}const n=e.length,a=e.charAt(0),r=Math.log(n)/Math.log(256),s=Math.log(256)/Math.log(n);function o(u){if(u instanceof Uint8Array||(ArrayBuffer.isView(u)?u=new Uint8Array(u.buffer,u.byteOffset,u.byteLength):Array.isArray(u)&&(u=Uint8Array.from(u))),!(u instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(u.length===0)return"";let d=0,c=0,f=0;const y=u.length;for(;f!==y&&u[f]===0;)f++,d++;const p=(y-f)*s+1>>>0,b=new Uint8Array(p);for(;f!==y;){let g=u[f],A=0;for(let w=p-1;(g!==0||A<c)&&w!==-1;w--,A++)g+=256*b[w]>>>0,b[w]=g%n>>>0,g=g/n>>>0;if(g!==0)throw new Error("Non-zero carry");c=A,f++}let h=p-c;for(;h!==p&&b[h]===0;)h++;let T=a.repeat(d);for(;h<p;++h)T+=e.charAt(b[h]);return T}function i(u){if(typeof u!="string")throw new TypeError("Expected String");if(u.length===0)return new Uint8Array;let d=0,c=0,f=0;for(;u[d]===a;)c++,d++;const y=(u.length-d)*r+1>>>0,p=new Uint8Array(y);for(;d<u.length;){const g=u.charCodeAt(d);if(g>255)return;let A=t[g];if(A===255)return;let w=0;for(let _=y-1;(A!==0||w<f)&&_!==-1;_--,w++)A+=n*p[_]>>>0,p[_]=A%256>>>0,A=A/256>>>0;if(A!==0)throw new Error("Non-zero carry");f=w,d++}let b=y-f;for(;b!==y&&p[b]===0;)b++;const h=new Uint8Array(c+(y-b));let T=c;for(;b!==y;)h[T++]=p[b++];return h}function l(u){const d=i(u);if(d)return d;throw new Error("Non-base"+n+" character")}return{encode:o,decodeUnsafe:i,decode:l}}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 address.zeroPadValue(new address.PublicKey(e).toBytes(),32);if(t===chains.ethereum||t===chains.base||t===chains.monad)return address.zeroPadValue(e,32);throw console.log(`Unsupported chain id: ${t}`,e),new Error("Unsupported token chain")}function hexToUint8Array(e){return new Uint8Array(address.bufferPolyfill.Buffer.from(e.startsWith("0x")?e.substring(2):e,"hex"))}function getAssociatedTokenAddress(e,t,n=!1,a=new address.PublicKey(addresses_default.TOKEN_PROGRAM_ID),r=new address.PublicKey(addresses_default.ASSOCIATED_TOKEN_PROGRAM_ID)){if(!n&&!address.PublicKey.isOnCurve(t.toBuffer()))throw new Error("TokenOwnerOffCurveError");const[s]=address.PublicKey.findProgramAddressSync([t.toBuffer(),a.toBuffer(),e.toBuffer()],r);return s}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 n=Math.min(8,Number(t)),a=Number(e).toFixed(n+1),r=new RegExp(`^-?\\d+(?:\\.\\d{0,${n}})?`),s=a.match(r);if(!s)throw new Error("getAmountOfFractionalAmount: fixedAmount is null");const o=s[0];return units.parseUnits(o,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=address.bufferPolyfill.Buffer.alloc(8);return t.writeBigUInt64LE(e),t}var ZeroPermit={value:BigInt(0),deadline:0,v:0,r:`0x${address.SystemProgram.programId.toBuffer().toString("hex")}`,s:`0x${address.SystemProgram.programId.toBuffer().toString("hex")}`};function getQuoteSuitableReferrerAddress(e,t){return!e||!t?null:e.type==="WH"?(t==null?void 0:t.solana)||null:e.type==="MCTP"||e.type==="SWIFT"?e.toChain==="solana"?(t==null?void 0:t.solana)||null:e.toChain==="sui"?(t==null?void 0:t.sui)||null:(t==null?void 0:t.evm)||null: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,n])=>n!=null&&!Array.isArray(n)).map(([t,n])=>`${encodeURIComponent(t)}=${encodeURIComponent(n)}`).join("&")}async function check5xxError(e){if(e.status.toString().startsWith("5")){let t;try{const n=await e.json();(n!=null&&n.code||n!=null&&n.statusCode)&&(n!=null&&n.message||n!=null&&n.msg)&&(t={code:(n==null?void 0:n.code)||(n==null?void 0:n.statusCode),message:(n==null?void 0:n.message)||(n==null?void 0:n.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:n,referrerBps:a}=e;let r=e.slippageBps;r!=="auto"&&!Number.isFinite(r)&&(r=e.slippage*100);const o={...{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:r,referrer:e.referrer,referrerBps:Number.isFinite(a)?a:void 0,gasDrop:Number.isFinite(n)?n:void 0,sdkVersion:getSdkVersion()},i=`${addresses_default.PRICE_URL}/quote?`,l=toQueryString(o);return i+l}async function getSuggestedRelayer(){const e=await browserPonyfill.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()}),n=await browserPonyfill.o(`${addresses_default.PRICE_URL}/get-swap/solana?${t}`,{method:"GET",redirect:"follow"});await check5xxError(n);const a=await n.json();if(n.status!==200&&n.status!==201)throw a;return a}async function getSwapSui(e){const t=JSON.stringify({...e,sdkVersion:getSdkVersion()}),n=`${addresses_default.PRICE_URL}/get-swap/sui`,a=await browserPonyfill.o(n,{method:"POST",redirect:"follow",body:t,headers:{"Content-Type":"application/json"}});await check5xxError(a);const r=await a.json();if(a.status!==200&&a.status!==201)throw r;return r}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 n=new address.PublicKey(addresses_default.CCTP_CORE_PROGRAM_ID),a=new address.PublicKey(addresses_default.CCTP_TOKEN_PROGRAM_ID),[r]=address.PublicKey.findProgramAddressSync([address.bufferPolyfill.Buffer.from("message_transmitter")],n),[s]=address.PublicKey.findProgramAddressSync([address.bufferPolyfill.Buffer.from("sender_authority")],a),[o]=address.PublicKey.findProgramAddressSync([address.bufferPolyfill.Buffer.from("local_token"),e.toBytes()],a),[i]=address.PublicKey.findProgramAddressSync([address.bufferPolyfill.Buffer.from("token_messenger")],a),[l]=address.PublicKey.findProgramAddressSync([address.bufferPolyfill.Buffer.from("token_minter")],a),u=getCCTPDomain(t),[d]=address.PublicKey.findProgramAddressSync([address.bufferPolyfill.Buffer.from("remote_token_messenger"),address.bufferPolyfill.Buffer.from(u.toString())],a),[c]=address.PublicKey.findProgramAddressSync([address.bufferPolyfill.Buffer.from("__event_authority")],n),[f]=address.PublicKey.findProgramAddressSync([address.bufferPolyfill.Buffer.from("__event_authority")],a);return{messageTransmitter:r,senderAuthority:s,remoteTokenMessengerKey:d,tokenMessenger:i,tokenMinter:l,eventAuthToken:f,eventAuthCore:c,localToken:o}}function getEvmMctpBridgeParams(e,t,n,a){const r=getWormholeChainIdById(Number(n)),s=getWormholeChainIdByName(e.fromChain),o=getWormholeChainIdByName(e.toChain);if(s!==r)throw new Error(`Signer chain id(${Number(n)}) and quote from chain are not same! ${s} !== ${r}`);const i=e.cheaperChain===e.fromChain,l=nativeAddressToHexString(t,o),u=getAmountOfFractionalAmount(e.redeemRelayerFee,CCTP_TOKEN_DECIMALS),d=getAmountOfFractionalAmount(e.gasDrop,Math.min(getGasDecimal(e.toChain),8)),c=BigInt(e.effectiveAmountIn64),f=getCCTPDomain(e.toChain);if(!e.mctpMayanContract)throw new Error("MCTP contract address is missing");const y=e.mctpMayanContract;if(e.toChain==="solana"&&i)throw new Error("Cannot lock fee for transfer to solana");let p=getAmountOfFractionalAmount(e.bridgeFee,getGasDecimal(e.fromChain));return i&&(p=BigInt(0)),{lockFee:i,tokenIn:e.mctpInputContract,amountIn:c,redeemFee:u,gasDrop:d,destAddr:l,destDomain:f,payloadType:MCTP_PAYLOAD_TYPE_DEFAULT,customPayload:"0x",bridgeFee:p,contractAddress:y}}function getEvmMctpBridgeTxPayload(e,t,n,a){const r=getEvmMctpBridgeParams(e,t,n),{contractAddress:s,tokenIn:o,amountIn:i,destAddr:l,lockFee:u,redeemFee:d,gasDrop:c,destDomain:f,customPayload:y,payloadType:p,bridgeFee:b}=r,h=new contract.Contract(s,MayanCircleArtifact_default.abi);let T,g;return u?T=h.interface.encodeFunctionData("bridgeWithLockedFee",[o,i,c,d,f,l]):T=h.interface.encodeFunctionData("bridgeWithFee",[o,i,d,c,l,f,p,y]),g=contract.toBeHex(b),{to:s,data:T,value:g,_params:r}}function getEvmMctpCreateOrderParams(e,t,n,a){const r=getWormholeChainIdById(Number(a)),s=getWormholeChainIdByName(e.fromChain),o=getWormholeChainIdByName(e.toChain);if(s!==r)throw new Error(`Signer chain id(${Number(a)}) and quote from chain are not same! ${s} !== ${r}`);if(!e.mctpMayanContract)throw new Error("MCTP contract address is missing");const i=e.mctpMayanContract,l=nativeAddressToHexString(t,o);let u;n?u=nativeAddressToHexString(n,o):u=nativeAddressToHexString(address.SystemProgram.programId.toString(),getWormholeChainIdByName("solana"));const d=getAmountOfFractionalAmount(e.redeemRelayerFee,CCTP_TOKEN_DECIMALS),c=getAmountOfFractionalAmount(e.gasDrop,Math.min(getGasDecimal(e.toChain),8));let f=BigInt(e.effectiveAmountIn64);const y=getAmountOfFractionalAmount(e.minAmountOut,Math.min(8,e.toToken.decimals)),p=BigInt(e.deadline64),b=e.toToken.contract===providerJsonrpc.ZeroAddress?nativeAddressToHexString(address.SystemProgram.programId.toString(),getWormholeChainIdByName("solana")):nativeAddressToHexString(e.toChain==="sui"?e.toToken.verifiedAddress:e.toToken.contract,e.toToken.wChainId);return{params:{tokenIn:e.mctpInputContract,amountIn:f,gasDrop:c,destAddr:l,destChain:o,tokenOut:b,minAmountOut:y,deadline:p,redeemFee:d,referrerAddr:u,referrerBps:e.referrerBps||0},bridgeFee:getAmountOfFractionalAmount(e.bridgeFee,getGasDecimal(e.fromChain)),contractAddress:i}}function getEvmMctpCreateOrderTxPayload(e,t,n,a){const r=getEvmMctpCreateOrderParams(e,t,n,a),{contractAddress:s,params:o,bridgeFee:i}=r,u=new contract.Contract(s,MayanCircleArtifact_default.abi).interface.encodeFunctionData("createOrder",[o]),d=contract.toBeHex(i);return{to:s,data:u,value:d,_params:r}}function getMctpFromEvmTxPayload(e,t,n,a,r,s){if(e.type!=="MCTP")throw new Error("Quote type is not MCTP");if(!Number.isFinite(Number(a)))throw new Error("Invalid signer chain id");a=Number(a);const o=r||ZeroPermit,i=new contract.Contract(addresses_default.MAYAN_FORWARDER_CONTRACT,MayanForwarderArtifact_default.abi),l=getAmountOfFractionalAmount(e.bridgeFee,getGasDecimal(e.fromChain));let u=contract.toBeHex(l);if(e.fromToken.contract===e.mctpInputContract)if(e.hasAuction){if(!Number(e.deadline64))throw new Error("MCTP order requires timeout");const d=getEvmMctpCreateOrderTxPayload(e,t,n,a),c="forwardERC20",f=[e.fromToken.contract,d._params.params.amountIn,o,d._params.contractAddress,d.data];return{data:i.interface.encodeFunctionData(c,f),to:addresses_default.MAYAN_FORWARDER_CONTRACT,value:contract.toBeHex(u),chainId:a,_forwarder:{method:c,params:f}}}else{const d=getEvmMctpBridgeTxPayload(e,t,a),c="forwardERC20",f=[e.fromToken.contract,d._params.amountIn,o,d._params.contractAddress,d.data];return{data:i.interface.encodeFunctionData(c,f),to:addresses_default.MAYAN_FORWARDER_CONTRACT,value:contract.toBeHex(u),chainId:a,_forwarder:{method:c,params:f}}}else{const{minMiddleAmount:d,evmSwapRouterAddress:c,evmSwapRouterCalldata:f}=e;if(!d||!c||!f)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 y=getEvmMctpCreateOrderTxPayload(e,t,n,a),p=getAmountOfFractionalAmount(e.minMiddleAmount,CCTP_TOKEN_DECIMALS);if(e.fromToken.contract===providerJsonrpc.ZeroAddress){let b=y._params.params.amountIn;if(b<=l)throw new Error("Amount in is less than bridge fee");l!==BigInt(0)&&(b-=l),u=contract.toBeHex(y._params.params.amountIn);const h="swapAndForwardEth",T=[b,c,f,e.mctpInputContract,p,y._params.contractAddress,y.data];return{data:i.interface.encodeFunctionData(h,T),to:addresses_default.MAYAN_FORWARDER_CONTRACT,value:contract.toBeHex(u),chainId:a,_forwarder:{method:h,params:T}}}else{const b="swapAndForwardERC20",h=[e.fromToken.contract,y._params.params.amountIn,o,c,f,e.mctpInputContract,p,y._params.contractAddress,y.data];return{data:i.interface.encodeFunctionData(b,h),to:addresses_default.MAYAN_FORWARDER_CONTRACT,value:contract.toBeHex(u),chainId:a,_forwarder:{method:b,params:h}}}}else{const y=getEvmMctpBridgeTxPayload(e,t,a),p=getAmountOfFractionalAmount(e.minMiddleAmount,CCTP_TOKEN_DECIMALS);if(e.fromToken.contract===providerJsonrpc.ZeroAddress){let b=y._params.amountIn;if(b<=l)throw new Error("Amount in is less than bridge fee");l!==BigInt(0)&&(b-=l),u=contract.toBeHex(y._params.amountIn);const h="swapAndForwardEth",T=[b,c,f,e.mctpInputContract,p,y._params.contractAddress,y.data];return{data:i.interface.encodeFunctionData(h,T),to:addresses_default.MAYAN_FORWARDER_CONTRACT,value:contract.toBeHex(u),chainId:a,_forwarder:{method:h,params:T}}}else{const b="swapAndForwardERC20",h=[e.fromToken.contract,y._params.amountIn,o,c,f,e.mctpInputContract,p,y._params.contractAddress,y.data];return{data:i.interface.encodeFunctionData(b,h),to:addresses_default.MAYAN_FORWARDER_CONTRACT,value:contract.toBeHex(u),chainId:a,_forwarder:{method:b,params:h}}}}}}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,n,a,r=new address.PublicKey(addresses_default.TOKEN_PROGRAM_ID),s=new address.PublicKey(addresses_default.ASSOCIATED_TOKEN_PROGRAM_ID)){const o=[{pubkey:e,isSigner:!0,isWritable:!0},{pubkey:t,isSigner:!1,isWritable:!0},{pubkey:n,isSigner:!1,isWritable:!1},{pubkey:a,isSigner:!1,isWritable:!1},{pubkey:address.SystemProgram.programId,isSigner:!1,isWritable:!1},{pubkey:r,isSigner:!1,isWritable:!1},{pubkey:address.SYSVAR_RENT_PUBKEY,isSigner:!1,isWritable:!1}];return new address.TransactionInstruction({keys:o,programId:s,data:address.bufferPolyfill.Buffer.alloc(0)})}var TOKEN_ACCOUNT_LEN=165;async function createInitializeRandomTokenAccountInstructions(e,t,n,a,r,s=new address.PublicKey(addresses_default.TOKEN_PROGRAM_ID)){const o=[],i=await e.getMinimumBalanceForRentExemption(TOKEN_ACCOUNT_LEN);return o.push(address.SystemProgram.createAccount({fromPubkey:t,newAccountPubkey:r.publicKey,lamports:i,space:TOKEN_ACCOUNT_LEN,programId:s})),o.push(new address.TransactionInstruction({keys:[{pubkey:r.publicKey,isWritable:!0,isSigner:!1},{pubkey:n,isWritable:!1,isSigner:!1},{pubkey:a,isWritable:!1,isSigner:!1},{pubkey:address.SYSVAR_RENT_PUBKEY,isWritable:!1,isSigner:!1}],programId:s,data:address.bufferPolyfill.Buffer.from([1])})),o}var ApproveInstructionData=address.struct([address.u8("instruction"),address.blob(8,"amount")]);function createApproveInstruction(e,t,n,a,r=new address.PublicKey(addresses_default.TOKEN_PROGRAM_ID)){const s=[{pubkey:e,isSigner:!1,isWritable:!0},{pubkey:t,isSigner:!1,isWritable:!1},{pubkey:n,isSigner:!0,isWritable:!1}],o=address.bufferPolyfill.Buffer.alloc(ApproveInstructionData.span);return ApproveInstructionData.encode({instruction:4,amount:getSafeU64Blob(a)},o),new address.TransactionInstruction({keys:s,programId:r,data:o})}var SyncNativeInstructionData=address.struct([address.u8("instruction")]);function createSyncNativeInstruction(e){const t=[{pubkey:e,isSigner:!1,isWritable:!0}],n=address.bufferPolyfill.Buffer.alloc(SyncNativeInstructionData.span);return SyncNativeInstructionData.encode({instruction:17},n),new address.TransactionInstruction({keys:t,programId:new address.PublicKey(addresses_default.TOKEN_PROGRAM_ID),data:n})}address.struct([address.u8("instruction")]);var SplTransferInstructionData=address.struct([address.u8("instruction"),address.blob(8,"amount")]);function createSplTransferInstruction(e,t,n,a,r=new address.PublicKey(addresses_default.TOKEN_PROGRAM_ID)){const s=[{pubkey:e,isSigner:!1,isWritable:!0},{pubkey:t,isSigner:!1,isWritable:!0},{pubkey:n,isSigner:!0,isWritable:!1}],o=address.bufferPolyfill.Buffer.alloc(SplTransferInstructionData.span);return SplTransferInstructionData.encode({instruction:3,amount:getSafeU64Blob(a)},o),new address.TransactionInstruction({keys:s,programId:r,data:o})}var solMint=new address.PublicKey("So11111111111111111111111111111111111111112");function deserializeInstructionInfo(e){return new address.TransactionInstruction({programId:new address.PublicKey(e.programId),keys:e.accounts.map(t=>({pubkey:new address.PublicKey(t.pubkey),isSigner:t.isSigner,isWritable:t.isWritable})),data:address.bufferPolyfill.Buffer.from(e.data,"base64")})}async function getAddressLookupTableAccounts(e,t){return(await t.getMultipleAccountsInfo(e.map(a=>new address.PublicKey(a)))).reduce((a,r,s)=>{const o=e[s];if(r){const i=new address.AddressLookupTableAccount({key:new address.PublicKey(o),state:address.AddressLookupTableAccount.deserialize(r.data)});a.push(i)}return a},new Array)}function decentralizeClientSwapInstructions(e,t){const n=deserializeInstructionInfo(e.swapInstruction),a=e.cleanupInstruction?deserializeInstructionInfo(e.cleanupInstruction):null,r=e.computeBudgetInstructions?e.computeBudgetInstructions.map(deserializeInstructionInfo):[],s=e.setupInstructions?e.setupInstructions.map(deserializeInstructionInfo):[];return{swapInstruction:n,cleanupInstruction:a,computeBudgetInstructions:r,setupInstructions:s,addressLookupTableAddresses:e.addressLookupTableAddresses}}function getAnchorInstructionData(e){let t=`global:${e}`;return address.bufferPolyfill.Buffer.from(sha256Exports.sha256.digest(t)).subarray(0,8)}async function decideRelayer(){let e;try{const t=await getSuggestedRelayer();e=new address.PublicKey(t)}catch{console.log("Relayer not found, using system program"),e=address.SystemProgram.programId}return e}function validateJupCleanupInstruction(e){if(e){if(!e.programId.equals(new address.PublicKey(addresses_default.TOKEN_PROGRAM_ID))&&!e.programId.equals(new address.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(n=>{if(!n.programId.equals(new address.PublicKey(addresses_default.ASSOCIATED_TOKEN_PROGRAM_ID))&&!n.programId.equals(address.SystemProgram.programId)&&!n.programId.equals(new address.PublicKey(addresses_default.TOKEN_PROGRAM_ID))&&!n.programId.equals(new address.PublicKey(addresses_default.TOKEN_2022_PROGRAM_ID)))throw new Error("Invalid setup instruction:: programId");if(n.programId.equals(new address.PublicKey(addresses_default.ASSOCIATED_TOKEN_PROGRAM_ID))){if(Uint8Array.from(n.data).length===1){if(Uint8Array.from(n.data)[0]!==1)throw new Error("Invalid setup instruction:: data")}else if(Uint8Array.from(n.data).length!==0)throw new Error("Invalid setup instruction:: data")}else if(n.programId.equals(address.SystemProgram.programId)){if(!t)throw new Error("Invalid setup instruction:: unknown transfer");const a=getAssociatedTokenAddress(solMint,t,!0);if(n.data.readUint32LE()!==2)throw new Error("Invalid setup instruction:: invalid system program instruction");if(!n.keys[1].pubkey.equals(a))throw new Error("Invalid setup instruction:: invalid wrap transfer dest")}else if(n.data.toString("base64")!=="EQ==")throw new Error("Invalid setup instruction:: invalid token program instruction")})}}function validateJupSwapInstruction(e,t){if(!e.programId.equals(new address.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(address.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,n){validateJupComputeBudgetInstructions(e.computeBudgetInstructions),validateJupSetupInstructions(e.setupInstructions,n),validateJupSwapInstruction(e.swapInstruction,t),validateJupCleanupInstruction(e.cleanupInstruction)}function createTransferAllAndCloseInstruction(e,t,n,a,r,s=new address.PublicKey("TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA")){return new address.TransactionInstruction({keys:[{pubkey:e,isSigner:!0,isWritable:!1},{pubkey:n,isSigner:!1,isWritable:!0},{pubkey:a,isSigner:!1,isWritable:!0},{pubkey:t,isSigner:!1,isWritable:!1},{pubkey:r,isSigner:!1,isWritable:!0},{pubkey:s,isSigner:!1,isWritable:!1}],programId:new address.PublicKey("B96dV3Luxzo6SokJx3xt8i5y8Mb7HRR6Eec8hCjJDT69"),data:getAnchorInstructionData("transfer_all_and_close")})}function getWormholePDAs(e){const t=new address.PublicKey(addresses_default.WORMHOLE_PROGRAM_ID),n=new address.PublicKey(e),[a]=address.PublicKey.findProgramAddressSync([address.bufferPolyfill.Buffer.from("Bridge")],t),[r]=address.PublicKey.findProgramAddressSync([address.bufferPolyfill.Buffer.from("emitter")],n),[s]=address.PublicKey.findProgramAddressSync([address.bufferPolyfill.Buffer.from("Sequence"),r.toBuffer()],t),[o]=address.PublicKey.findProgramAddressSync([address.bufferPolyfill.Buffer.from("fee_collector")],t);return{bridgeConfig:a,sequenceKey:s,feeCollector:o,emitter:r}}var MCTPBridgeWithFeeLayout=address.struct([address.blob(8,"instruction")]);function createMctpBridgeWithFeeInstruction(e,t,n,a,r){const s=new address.PublicKey(addresses_default.WORMHOLE_PROGRAM_ID),o=new address.PublicKey(addresses_default.TOKEN_PROGRAM_ID),i=new address.PublicKey(addresses_default.CCTP_CORE_PROGRAM_ID),l=new address.PublicKey(addresses_default.CCTP_TOKEN_PROGRAM_ID),u=new address.PublicKey(addresses_default.MCTP_PROGRAM_ID),d=new address.PublicKey(a),c=new address.PublicKey(n),f=getAssociatedTokenAddress(c,e,!0);let y;r&&r>BigInt(0)?y=getAssociatedTokenAddress(c,d,!1):y=new address.PublicKey(addresses_default.MCTP_PROGRAM_ID);const p=getCCTPBridgePDAs(c,t),b=getWormholePDAs(addresses_default.MCTP_PROGRAM_ID),h=address.Keypair.generate(),T=address.Keypair.generate(),g=[{pubkey:e,isWritable:!0,isSigner:!1},{pubkey:f,isWritable:!0,isSigner:!1},{pubkey:d,isWritable:!0,isSigner:!0},{pubkey:y,isWritable:!0,isSigner:!1},{pubkey:c,isWritable:!0,isSigner:!1},{pubkey:p.senderAuthority,isWritable:!1,isSigner:!1},{pubkey:p.tokenMessenger,isWritable:!1,isSigner:!1},{pubkey:p.remoteTokenMessengerKey,isWritable:!1,isSigner:!1},{pubkey:p.tokenMinter,isWritable:!1,isSigner:!1},{pubkey:p.localToken,isWritable:!0,isSigner:!1},{pubkey:p.eventAuthToken,isWritable:!1,isSigner:!1},{pubkey:p.messageTransmitter,isWritable:!0,isSigner:!1},{pubkey:h.publicKey,isWritable:!0,isSigner:!0},{pubkey:l,isWritable:!1,isSigner:!1},{pubkey:i,isWritable:!1,isSigner:!1},{pubkey:b.emitter,isWritable:!1,isSigner:!1},{pubkey:b.bridgeConfig,isWritable:!0,isSigner:!1},{pubkey:b.sequenceKey,isWritable:!0,isSigner:!1},{pubkey:b.feeCollector,isWritable:!0,isSigner:!1},{pubkey:T.publicKey,isWritable:!0,isSigner:!0},{pubkey:s,isWritable:!1,isSigner:!1},{pubkey:address.SYSVAR_CLOCK_PUBKEY,isWritable:!1,isSigner:!1},{pubkey:address.SYSVAR_RENT_PUBKEY,isWritable:!1,isSigner:!1},{pubkey:o,isWritable:!1,isSigner:!1},{pubkey:address.SystemProgram.programId,isWritable:!1,isSigner:!1}],A=address.bufferPolyfill.Buffer.alloc(MCTPBridgeWithFeeLayout.span);return MCTPBridgeWithFeeLayout.encode({instruction:getAnchorInstructionData("bridge_with_fee")},A),{instruction:new address.TransactionInstruction({keys:g,data:A,programId:u}),signers:[h,T]}}var MctpBridgeLockFeeLayout=address.struct([address.blob(8,"instruction")]);function createMctpBridgeLockFeeInstruction(e,t,n,a,r){const s=[],o=new address.PublicKey(addresses_default.TOKEN_PROGRAM_ID),i=new address.PublicKey(addresses_default.ASSOCIATED_TOKEN_PROGRAM_ID),l=new address.PublicKey(addresses_default.CCTP_CORE_PROGRAM_ID),u=new address.PublicKey(addresses_default.CCTP_TOKEN_PROGRAM_ID),d=new address.PublicKey(addresses_default.MCTP_PROGRAM_ID),c=new address.PublicKey(a),f=new address.PublicKey(n),y=getAssociatedTokenAddress(f,e,!0),p=getCCTPBridgePDAs(f,t),b=address.Keypair.generate(),[h]=address.PublicKey.findProgramAddressSync([address.bufferPolyfill.Buffer.from("LOCKED_FEE"),f.toBuffer(),b.publicKey.toBytes()],d);let T;r&&r>BigInt(0)?T=getAssociatedTokenAddress(f,c,!1):T=new address.PublicKey(addresses_default.MCTP_PROGRAM_ID);const g=getAssociatedTokenAddress(f,h,!0);s.push(createAssociatedTokenAccountInstruction(c,g,h,f));const A=[{pubkey:e,isWritable:!0,isSigner:!1},{pubkey:y,isWritable:!0,isSigner:!1},{pubkey:c,isWritable:!0,isSigner:!0},{pubkey:T,isWritable:!0,isSigner:!1},{pubkey:h,isWritable:!0,isSigner:!1},{pubkey:g,isWritable:!0,isSigner:!1},{pubkey:f,isWritable:!0,isSigner:!1},{pubkey:p.senderAuthority,isWritable:!1,isSigner:!1},{pubkey:p.tokenMessenger,isWritable:!1,isSigner:!1},{pubkey:p.remoteTokenMessengerKey,isWritable:!1,isSigner:!1},{pubkey:p.tokenMinter,isWritable:!1,isSigner:!1},{pubkey:p.localToken,isWritable:!0,isSigner:!1},{pubkey:p.eventAuthToken,isWritable:!1,isSigner:!1},{pubkey:p.messageTransmitter,isWritable:!0,isSigner:!1},{pubkey:b.publicKey,isWritable:!0,isSigner:!0},{pubkey:u,isWritable:!1,isSigner:!1},{pubkey:l,isWritable:!1,isSigner:!1},{pubkey:o,isWritable:!1,isSigner:!1},{pubkey:i,isWritable:!1,isSigner:!1},{pubkey:address.SystemProgram.programId,isWritable:!1,isSigner:!1}],w=address.bufferPolyfill.Buffer.alloc(MctpBridgeLockFeeLayout.span);MctpBridgeLockFeeLayout.encode({instruction:getAnchorInstructionData("bridge_locked_fee")},w);const _=new address.TransactionInstruction({keys:A,data:w,programId:d});return s.push(_),{instructions:s,signer:b}}var MctpInitSwapLayout=address.struct([address.blob(8,"instruction")]);function createMctpInitSwapInstruction(e,t,n,a,r){const s=new address.PublicKey(addresses_default.TOKEN_PROGRAM_ID),o=new address.PublicKey(addresses_default.CCTP_CORE_PROGRAM_ID),i=new address.PublicKey(addresses_default.CCTP_TOKEN_PROGRAM_ID),l=new address.PublicKey(addresses_default.MCTP_PROGRAM_ID),u=new address.PublicKey(a),d=new address.PublicKey(n),c=getAssociatedTokenAddress(d,e,!0),f=getCCTPBridgePDAs(d,t),y=address.Keypair.generate(),[p]=address.PublicKey.findProgramAddressSync([address.bufferPolyfill.Buffer.from("ORDER_SOLANA_SOURCE"),e.toBuffer()],l);let b;r&&r>BigInt(0)?b=getAssociatedTokenAddress(d,u,!1):b=new address.PublicKey(addresses_default.MCTP_PROGRAM_ID);const h=[{pubkey:e,isWritable:!1,isSigner:!1},{pubkey:c,isWritable:!0,isSigner:!1},{pubkey:u,isWritable:!0,isSigner:!0},{pubkey:b,isWritable:!0,isSigner:!1},{pubkey:d,isWritable:!0,isSigner:!1},{pubkey:p,isWritable:!0,isSigner:!1},{pubkey:f.senderAuthority,isWritable:!1,isSigner:!1},{pubkey:f.tokenMessenger,isWritable:!1,isSigner:!1},{pubkey:f.remoteTokenMessengerKey,isWritable:!1,isSigner:!1},{pubkey:f.tokenMinter,isWritable:!1,isSigner:!1},{pubkey:f.localToken,isWritable:!0,isSigner:!1},{pubkey:f.eventAuthToken,isWritable:!1,isSigner:!1},{pubkey:f.messageTransmitter,isWritable:!0,isSigner:!1},{pubkey:y.publicKey,isWritable:!0,isSigner:!0},{pubkey:i,isWritable:!1,isSigner:!1},{pubkey:o,isWritable:!1,isSigner:!1},{pubkey:new address.PublicKey(addresses_default.FEE_MANAGER_PROGRAM_ID),isWritable:!1,isSigner:!1},{pubkey:s,isWritable:!1,isSigner:!1},{pubkey:address.SystemProgram.programId,isWritable:!1,isSigner:!1}],T=address.bufferPolyfill.Buffer.alloc(MctpInitSwapLayout.span);return MctpInitSwapLayout.encode({instruction:getAnchorInstructionData("create_order")},T),{instruction:new address.TransactionInstruction({keys:h,data:T,programId:l}),signer:y}}var MctpBridgeLedgerLayout=address.struct([address.blob(8,"instruction"),address.blob(32,"destAddress"),address.blob(8,"amountInMin"),address.blob(8,"gasDrop"),address.blob(8,"feeRedeem"),address.blob(8,"feeSolana"),address.u16("destinationChain"),address.blob(32,"keyRnd"),address.u8("mode")]);function createMctpBridgeLedgerInstruction(e){if(e.mode!=="WITH_FEE"&&e.mode!=="LOCK_FEE")throw new Error("Invalid mode: "+e.mode);const t=new address.PublicKey(e.swapperAddress),n=new address.PublicKey(e.mintAddress),a=getAssociatedTokenAddress(n,e.ledger,!0),r=getWormholeChainIdByName(e.toChain),s=address.bufferPolyfill.Buffer.from(hexToUint8Array(nativeAddressToHexString(e.destinationAddress,r))),o=getSafeU64Blob(e.amountInMin64),i=getSafeU64Blob(getAmountOfFractionalAmount(e.gasDrop,Math.min(getGasDecimal(e.toChain),8))),l=getSafeU64Blob(getAmountOfFractionalAmount(e.feeRedeem,CCTP_TOKEN_DECIMALS)),u=getSafeU64Blob(e.feeSolana),d=e.referrerAddress?address.bufferPolyfill.Buffer.from(hexToUint8Array(nativeAddressToHexString(e.referrerAddress,r))):address.SystemProgram.programId.toBuffer(),c=[{pubkey:t,isWritable:!0,isSigner:!0},{pubkey:e.ledger,isWritable:!0,isSigner:!1},{pubkey:a,isWritable:!1,isSigner:!1},{pubkey:e.customPayload||new address.PublicKey(addresses_default.MCTP_PROGRAM_ID),isWritable:!1,isSigner:!1},{pubkey:n,isWritable:!1,isSigner:!1},{pubkey:address.SystemProgram.programId,isWritable:!1,isSigner:!1},{pubkey:new address.PublicKey(d),isWritable:!1,isSigner:!1}],f=address.bufferPolyfill.Buffer.alloc(MctpBridgeLedgerLayout.span);return MctpBridgeLedgerLayout.encode({instruction:getAnchorInstructionData("init_bridge_ledger"),destAddress:s,amountInMin:o,gasDrop:i,feeRedeem:l,feeSolana:u,destinationChain:r,keyRnd:e.randomKey.toBuffer(),mode:e.mode==="WITH_FEE"?1:2},f),new address.TransactionInstruction({keys:c,data:f,programId:new address.PublicKey(addresses_default.MCTP_PROGRAM_ID)})}var MctpSwapLedgerLayout=address.struct([address.blob(8,"instruction"),address.blob(32,"destAddress"),address.blob(8,"amountInMin"),address.blob(8,"gasDrop"),address.blob(8,"feeRedeem"),address.blob(8,"feeSolana"),address.u16("destinationChain"),address.blob(32,"keyRnd"),address.u8("mode"),address.blob(32,"tokenOut"),address.blob(8,"amountOutMin"),address.blob(8,"deadline"),address.blob(32,"refAddress"),address.u8("feeRateRef")]);function createMctpSwapLedgerInstruction(e){const t=new address.PublicKey(e.swapperAddress),n=new address.PublicKey(e.mintAddress),a=getAssociatedTokenAddress(n,e.ledger,!0),r=getWormholeChainIdByName(e.toChain),s=address.bufferPolyfill.Buffer.from(hexToUint8Array(nativeAddressToHexString(e.destinationAddress,r))),o=getSafeU64Blob(e.amountInMin64),i=getSafeU64Blob(getAmountOfFractionalAmount(e.gasDrop,Math.min(getGasDecimal(e.toChain),8))),l=getSafeU64Blob(getAmountOfFractionalAmount(e.feeRedeem,CCTP_TOKEN_DECIMALS)),u=getSafeU64Blob(e.feeSolana),d=address.bufferPolyfill.Buffer.from(hexToUint8Array(nativeAddressToHexString(e.tokenOut,r))),c=e.referrerAddress?address.bufferPolyfill.Buffer.from(hexToUint8Array(nativeAddressToHexString(e.referrerAddress,r))):address.SystemProgram.programId.toBuffer(),f=getSafeU64Blob(getAmountOfFractionalAmount(e.amountOutMin,Math.min(8,e.tokenOutDecimals))),y=getSafeU64Blob(e.deadline),p=[{pubkey:t,isWritable:!0,isSigner:!0},{pubkey:e.ledger,isWritable:!0,isSigner:!1},{pubkey:a,isWritable:!1,isSigner:!1},{pubkey:n,isWritable:!1,isSigner:!1},{pubkey:address.SystemProgram.programId,isWritable:!1,isSigner:!1}],b=address.bufferPolyfill.Buffer.alloc(MctpSwapLedgerLayout.span);return MctpSwapLedgerLayout.encode({instruction:getAnchorInstructionData("init_order_ledger"),destAddress:s,amountInMin:o,gasDrop:i,feeRedeem:l,feeSolana:u,destinationChain:r,keyRnd:e.randomKey.toBuffer(),mode:3,tokenOut:d,refAddress:c,amountOutMin:f,deadline:y,feeRateRef:e.feeRateRef},b),new address.TransactionInstruction({keys:p,data:b,programId:new address.PublicKey(addresses_default.MCTP_PROGRAM_ID)})}async function createMctpFromSolanaInstructions(e,t,n,a,r,s={}){const o=(s==null?void 0:s.forceSkipCctpInstructions)||!1,i=(s==null?void 0:s.allowSwapperOffCurve)||!1;if(e.toChain==="solana")throw new Error("Unsupported destination chain: "+e.toChain);let l=[],u=[],d=[],c=[],f=[],y=[],p=[];const b=address.Keypair.generate();let h=null;l.push(addresses_default.LOOKUP_TABLE);const T=new address.PublicKey(addresses_default.MCTP_PROGRAM_ID),g=new address.PublicKey(t),A=address.Keypair.generate(),w=e.deadline64?BigInt(e.deadline64):BigInt(0);if(e.hasAuction&&!Number(e.deadline64))throw new Error("Swap mode requires a timeout");const _=e.hasAuction?"LEDGER_ORDER":"LEDGER_BRIDGE",[M]=address.PublicKey.findProgramAddressSync([address.bufferPolyfill.Buffer.from(_),g.toBytes(),A.publicKey.toBytes()],T),P=getAssociatedTokenAddress(new address.PublicKey(e.mctpInputContract),M,!0),k=e.cheaperChain==="solana"?"LOCK_FEE":"WITH_FEE",D=e.toChain==="sui"?e.toToken.verifiedAddress:e.toToken.contract;if(e.fromToken.contract===e.mctpInputContract){const C=BigInt(o?e.solanaRelayerFee64:0);if(e.suggestedPriorityFee>0&&u.push(address.ComputeBudgetProgram.setComputeUnitPrice({microLamports:e.suggestedPriorityFee})),u.push(createAssociatedTokenAccountInstruction(g,P,M,new address.PublicKey(e.mctpInputContract))),u.push(createSplTransferInstruction(getAssociatedTokenAddress(new address.PublicKey(e.mctpInputContract),g,i),P,g,BigInt(e.effectiveAmountIn64))),e.hasAuction){if(u.push(createMctpSwapLedgerInstruction({ledger:M,swapperAddress:t,mintAddress:e.mctpInputContract,randomKey:A.publicKey,toChain:e.toChain,destinationAddress:n,feeSolana:C,feeRedeem:e.redeemRelayerFee,gasDrop:e.gasDrop,amountInMin64:BigInt(e.effectiveAmountIn64),tokenOut:D,tokenOutDecimals:e.toToken.decimals,referrerAddress:a,amountOutMin:e.minAmountOut,deadline:w,feeRateRef:e.referrerBps})),!o){const{instruction:R,signer:N}=createMctpInitSwapInstruction(M,e.toChain,e.mctpInputContract,t,C);u.push(R),d.push(N)}}else if(u.push(createMctpBridgeLedgerInstruction({ledger:M,swapperAddress:t,mintAddress:e.mctpInputContract,randomKey:A.publicKey,toChain:e.toChain,destinationAddress:n,feeSolana:C,feeRedeem:e.redeemRelayerFee,gasDrop:e.gasDrop,amountInMin64:BigInt(e.effectiveAmountIn64),mode:k,referrerAddress:a})),!o)if(k==="WITH_FEE"){const{instruction:R,signers:N}=createMctpBridgeWithFeeInstruction(M,e.toChain,e.mctpInputContract,t,C);u.push(R),d.push(...N)}else{const{instructions:R,signer:N}=createMctpBridgeLockFeeInstruction(M,e.toChain,e.mctpInputContract,t,C);u.push(...R),d.push(N)}}else{const C=await getSwapSolana({minMiddleAmount:e.minMiddleAmount,middleToken:e.mctpInputContract,userWallet:t,userLedger:M.toString(),slippageBps:e.slippageBps,fromToken:e.fromToken.contract,amountIn64:e.effectiveAmountIn64,depositMode:e.hasAuction?"SWAP":k,fillMaxAccounts:(s==null?void 0:s.separateSwapTx)||!1,tpmTokenAccount:s!=null&&s.separateSwapTx?b.publicKey.toString():null}),R=decentralizeClientSwapInstructions(C);s!=null&&s.separateSwapTx&&C.maxAccountsFilled?(validateJupSwap(R,b.publicKey,g),p=await createInitializeRandomTokenAccountInstructions(r,g,new address.PublicKey(e.mctpInputContract),g,b),y.push(...R.computeBudgetInstructions),R.setupInstructions&&y.push(...R.setupInstructions),y.push(R.swapInstruction),R.cleanupInstruction&&y.push(R.cleanupInstruction),f.push(...R.addressLookupTableAddresses),u.push(createAssociatedTokenAccountInstruction(g,P,M,new address.PublicKey(e.mctpInputContract))),u.push(createTransferAllAndCloseInstruction(g,new address.PublicKey(e.mctpInputContract),b.publicKey,P,g))):(validateJupSwap(R,P,g),u.push(...R.computeBudgetInstructions),R.setupInstructions&&u.push(...R.setupInstructions),u.push(R.swapInstruction),R.cleanupInstruction&&u.push(R.cleanupInstruction),l.push(...R.addressLookupTableAddresses));const N=y.length>0?BigInt(0):BigInt(e.solanaRelayerFee64);if(e.hasAuction){if(u.push(createMctpSwapLedgerInstruction({ledger:M,swapperAddress:t,mintAddress:e.mctpInputContract,randomKey:A.publicKey,toChain:e.toChain,destinationAddress:n,feeSolana:N,feeRedeem:e.redeemRelayerFee,gasDrop:e.gasDrop,amountInMin64:getAmountOfFractionalAmount(e.minMiddleAmount,CCTP_TOKEN_DECIMALS),tokenOut:D,tokenOutDecimals:e.toToken.decimals,referrerAddress:a,amountOutMin:e.minAmountOut,deadline:w,feeRateRef:e.referrerBps})),y.length>0){const{instruction:W,signer:U}=createMctpInitSwapInstruction(M,e.toChain,e.mctpInputContract,t,N);u.push(W),d.push(U)}}else if(u.push(createMctpBridgeLedgerInstruction({ledger:M,swapperAddress:t,mintAddress:e.mctpInputContract,randomKey:A.publicKey,toChain:e.toChain,destinationAddress:n,feeSolana:N,feeRedeem:e.redeemRelayerFee,gasDrop:e.gasDrop,amountInMin64:getAmountOfFractionalAmount(e.minMiddleAmount,CCTP_TOKEN_DECIMALS),mode:k,referrerAddress:a})),y.length>0)if(k==="WITH_FEE"){const{instruction:W,signers:U}=createMctpBridgeWithFeeInstruction(M,e.toChain,e.mctpInputContract,t,N);u.push(W),d.push(...U)}else{const{instructions:W,signer:U}=createMctpBridgeLockFeeInstruction(M,e.toChain,e.mctpInputContract,t,N);u.push(...W),d.push(U)}}const F=await getAddressLookupTableAccounts(l.concat(f),r);if(c=F.slice(0,l.length),y.length>0){const C=F.slice(l.length);h={messageV0:{payerKey:g,instructions:y,addressLookupTableAccounts:C},createTmpTokenAccountIxs:p,tmpTokenAccount:b}}return{instructions:u,signers:d,lookupTables:c,swapMessageV0Params:h}}function createSwiftOrderHash(e,t,n,a,r){const o=address.bufferPolyfill.Buffer.alloc(239);let i=0;const l=getWormholeChainIdByName(e.fromChain),u=address.bufferPolyfill.Buffer.from(hexToUint8Array(nativeAddressToHexString(t,l)));o.set(u,0),i+=32,o.writeUInt16BE(l,i),i+=2;const d=e.swiftInputContract===providerJsonrpc.ZeroAddress?nativeAddressToHexString(address.SystemProgram.programId.toString(),getWormholeChainIdByName("solana")):nativeAddressToHexString(e.swiftInputContract,l),c=address.bufferPolyfill.Buffer.from(hexToUint8Array(d));o.set(c,i),i+=32;const f=getWormholeChainIdByName(e.toChain),y=address.bufferPolyfill.Buffer.from(hexToUint8Array(nativeAddressToHexString(n,f)));o.set(y,i),i+=32,o.writeUInt16BE(f,i),i+=2;const p=e.toToken.contract===providerJsonrpc.ZeroAddress?nativeAddressToHexString(address.SystemProgram.programId.toString(),getWormholeChainIdByName("solana")):nativeAddressToHexString(e.toToken.contract,f),b=address.bufferPolyfill.Buffer.from(hexToUint8Array(p));o.set(b,i),i+=32,o.writeBigUInt64BE(getAmountOfFractionalAmount(e.minAmountOut,Math.min(e.toToken.decimals,8)),i),i+=8,o.writeBigUInt64BE(getAmountOfFractionalAmount(e.gasDrop,Math.min(getGasDecimal(e.toChain),8)),i),i+=8,o.writeBigUInt64BE(BigInt(e.cancelRelayerFee64),i),i+=8,o.writeBigUInt64BE(BigInt(e.refundRelayerFee64),i),i+=8,o.writeBigUInt64BE(BigInt(e.deadline64),i),i+=8;const h=a?address.bufferPolyfill.Buffer.from(hexToUint8Array(nativeAddressToHexString(a,f))):address.SystemProgram.programId.toBuffer();o.set(h,i),i+=32,o.writeUInt8(e.referrerBps,i),i+=1;const T=e.protocolBps;o.writeUInt8(T,i),i+=1,o.writeUInt8(e.swiftAuctionMode,i),i+=1;const g=address.bufferPolyfill.Buffer.from(hexToUint8Array(r));if(o.set(g,i),i+=32,i!==239)throw new Error(`Invalid order data size: ${i}`);const A=address.keccak256(o);return address.bufferPolyfill.Buffer.from(hexToUint8Array(A))}var InitSwiftLayout=address.struct([address.blob(8,"instruction"),address.blob(8,"amountInMin"),address.u8("nativeInput"),address.blob(8,"feeSubmit"),address.blob(32,"destAddress"),address.u16("destinationChain"),address.blob(32,"tokenOut"),address.blob(8,"amountOutMin"),address.blob(8,"gasDrop"),address.blob(8,"feeCancel"),address.blob(8,"feeRefund"),address.blob(8,"deadline"),address.blob(32,"refAddress"),address.u8("feeRateRef"),address.u8("feeRateMayan"),address.u8("auctionMode"),address.blob(32,"randomKey")]);function createSwiftInitInstruction(e){const{quote:t}=e,n=t.swiftInputContract===providerJsonrpc.ZeroAddress?solMint:new address.PublicKey(t.swiftInputContract),a=getWormholeChainIdByName(t.toChain);if(a!==t.toToken.wChainId)throw new Error(`Destination chain ID mismatch: ${a} != ${t.toToken.wChainId}`);const r=[{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:n,isWritable:!1,isSigner:!1},{pubkey:new address.PublicKey(addresses_default.FEE_MANAGER_PROGRAM_ID),isWritable:!1,isSigner:!1},{pubkey:new address.PublicKey(addresses_default.TOKEN_PROGRAM_ID),isWritable:!1,isSigner:!1},{pubkey:address.SystemProgram.programId,isWritable:!1,isSigner:!1}],s=address.bufferPolyfill.Buffer.alloc(InitSwiftLayout.span),o=e.referrerAddress?address.bufferPolyfill.Buffer.from(hexToUint8Array(nativeAddressToHexString(e.referrerAddress,a))):address.SystemProgram.programId.toBuffer(),i=t.fromToken.contract===t.swiftInputContract?BigInt(t.effectiveAmountIn64):getAmountOfFractionalAmount(t.minMiddleAmount,t.swiftInputDecimals);return InitSwiftLayout.encode({instruction:getAnchorInstructionData("init_order"),amountInMin:getSafeU64Blob(i),nativeInput:t.swiftInputContract===providerJsonrpc.ZeroAddress?1:0,feeSubmit:getSafeU64Blob(BigInt(t.submitRelayerFee64)),destAddress:address.bufferPolyfill.Buffer.from(hexToUint8Array(nativeAddressToHexString(e.destinationAddress,a))),destinationChain:a,tokenOut:address.bufferPolyfill.Buffer.from(hexToUint8Array(nativeAddressToHexString(t.toToken.contract,a))),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:o,feeRateRef:t.referrerBps,feeRateMayan:t.protocolBps,auctionMode:t.swiftAuctionMode,randomKey:e.randomKey.toBuffer()},s),new address.TransactionInstruction({keys:r,data:s,programId:new address.PublicKey(addresses_default.SWIFT_PROGRAM_ID)})}async function createSwiftFromSolanaInstructions(e,t,n,a,r,s={}){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 o=s.allowSwapperOffCurve||!1;let i=[],l=[],u=[];u.push(addresses_default.LOOKUP_TABLE);let d=[],c=[],f=[];const y=address.Keypair.generate();let p=null;const b=new address.PublicKey(addresses_default.SWIFT_PROGRAM_ID),h=new address.PublicKey(t),T=address.Keypair.generate();if(!Number(e.deadline64))throw new Error("Swift mode requires a timeout");const g=BigInt(e.deadline64),A=createSwiftOrderHash(e,t,n,a,T.publicKey.toBuffer().toString("hex")),[w]=address.PublicKey.findProgramAddressSync([address.bufferPolyfill.Buffer.from("STATE_SOURCE"),A],b),_=e.swiftInputContract===providerJsonrpc.ZeroAddress?solMint:new address.PublicKey(e.swiftInputContract),M=getAssociatedTokenAddress(_,w,!0),P=e.gasless?new address.PublicKey(e.relayer):h,k=BigInt(e.submitRelayerFee64)>0n?getAssociatedTokenAddress(_,P,!1):b;if(e.fromToken.contract===e.swiftInputContract)e.suggestedPriorityFee>0&&i.push(address.ComputeBudgetProgram.setComputeUnitPrice({microLamports:e.suggestedPriorityFee})),i.push(createAssociatedTokenAccountInstruction(P,M,w,_)),e.swiftInputContract===providerJsonrpc.ZeroAddress?i.push(address.SystemProgram.transfer({fromPubkey:h,toPubkey:M,lamports:BigInt(e.effectiveAmountIn64)}),createSyncNativeInstruction(M)):i.push(createSplTransferInstruction(getAssociatedTokenAddress(_,h,o),M,h,BigInt(e.effectiveAmountIn64)));else{const F=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${A.toString("hex")}`,fillMaxAccounts:(s==null?void 0:s.separateSwapTx)||!1,tpmTokenAccount:s!=null&&s.separateSwapTx?y.publicKey.toString():null}),C=decentralizeClientSwapInstructions(F);s!=null&&s.separateSwapTx&&F.maxAccountsFilled?(validateJupSwap(C,y.publicKey,h),f=await createInitializeRandomTokenAccountInstructions(r,P,_,h,y),c.push(...C.computeBudgetInstructions),C.setupInstructions&&c.push(...C.setupInstructions),c.push(C.swapInstruction),C.cleanupInstruction&&c.push(C.cleanupInstruction),d.push(...C.addressLookupTableAddresses),i.push(createAssociatedTokenAccountInstruction(P,M,w,_)),i.push(createTransferAllAndCloseInstruction(h,_,y.publicKey,M,P))):(i.push(...C.computeBudgetInstructions),C.setupInstructions&&i.push(...C.setupInstructions),i.push(C.swapInstruction),C.cleanupInstruction&&i.push(C.cleanupInstruction),u.push(...C.addressLookupTableAddresses))}i.push(createSwiftInitInstruction({quote:e,state:w,trader:h,stateAccount:M,randomKey:T.publicKey,relayerAccount:k,relayer:P,destinationAddress:n,deadline:g,referrerAddress:a}));const D=await getAddressLookupTableAccounts(u.concat(d),r);if(l=D.slice(0,u.length),c.length>0){const F=D.slice(u.length);p={messageV0:{payerKey:P,instructions:c,addressLookupTableAccounts:F},createTmpTokenAccountIxs:f,tmpTokenAccount:y}}return{instructions:i,signers:[],lookupTables:l,swapMessageV0Params:p}}var STATE_SIZE=420,SwapLayout=address.struct([address.u8("instruction"),address.u8("stateNonce"),address.blob(8,"amount"),address.blob(8,"minAmountOut"),address.blob(8,"deadline"),address.blob(8,"feeSwap"),address.blob(8,"feeReturn"),address.blob(8,"feeCancel"),address.blob(8,"gasDrop"),address.u16("destinationChain"),address.blob(32,"destinationAddress"),address.u8("unwrapRedeem"),address.u8("unwrapRefund"),address.u8("mayanFeeNonce"),address.u8("referrerFeeNonce")]);async function createSwapFromSolanaInstructions(e,t,n,a,r,s={}){const o=getQuoteSuitableReferrerAddress(e,a);if(e.type==="MCTP")return createMctpFromSolanaInstructions(e,t,n,o,r,s);if(e.type==="SWIFT")return createSwiftFromSolanaInstructions(e,t,n,o,r,s);let i=[];const l=r??new address.Connection("https://rpc.ankr.com/solana"),u=new address.PublicKey(addresses_default.MAYAN_PROGRAM_ID),d=new address.PublicKey(addresses_default.TOKEN_PROGRAM_ID),c=new address.PublicKey(t),f=new address.PublicKey(addresses_default.AUCTION_PROGRAM_ID);e.suggestedPriorityFee>0&&i.push(address.ComputeBudgetProgram.setComputeUnitPrice({microLamports:e.suggestedPriorityFee}));let y;o?y=new address.PublicKey(o):y=address.SystemProgram.programId;const[p,b]=address.PublicKey.findProgramAddressSync([address.bufferPolyfill.Buffer.from("MAYANFEE")],u),[h,T]=address.PublicKey.findProgramAddressSync([address.bufferPolyfill.Buffer.from("REFERRERFEE"),y.toBuffer()],u),g=address.Keypair.generate(),A=address.Keypair.generate(),[w,_]=address.PublicKey.findProgramAddressSync([address.bufferPolyfill.Buffer.from("V2STATE"),address.bufferPolyfill.Buffer.from(g.publicKey.toBytes()),address.bufferPolyfill.Buffer.from(A.publicKey.toBytes())],u),M=new address.PublicKey(e.fromToken.mint),P=new address.PublicKey(e.toToken.mint),k=getAssociatedTokenAddress(M,c),D=getAssociatedTokenAddress(M,w,!0),[[F,C],R,N]=await Promise.all([l.getMultipleAccountsInfo([k,D],"finalized"),l.getMinimumBalanceForRentExemption(STATE_SIZE),decideRelayer()]);(!F||F.data.length===0)&&i.push(createAssociatedTokenAccountInstruction(c,k,c,M)),(!C||C.data.length===0)&&i.push(createAssociatedTokenAccountInstruction(c,D,w,M)),e.fromToken.contract===providerJsonrpc.ZeroAddress&&(i.push(address.SystemProgram.transfer({fromPubkey:c,toPubkey:k,lamports:BigInt(e.effectiveAmountIn64)})),i.push(createSyncNativeInstruction(k)));const W=BigInt(e.effectiveAmountIn64),U=address.Keypair.generate();i.push(createApproveInstruction(k,U.publicKey,c,W)),i.push(address.SystemProgram.transfer({fromPubkey:c,toPubkey:U.publicKey,lamports:R}));const G=[{pubkey:U.publicKey,isWritable:!1,isSigner:!0},{pubkey:g.publicKey,isWritable:!1,isSigner:!0},{pubkey:A.publicKey,isWritable:!1,isSigner:!0},{pubkey:w,isWritable:!0,isSigner:!1},{pubkey:k,isWritable:!0,isSigner:!1},{pubkey:c,isWritable:!1,isSigner:!1},{pubkey:D,isWritable:!0,isSigner:!1},{pubkey:M,isWritable:!1,isSigner:!1},{pubkey:P,isWritable:!1,isSigner:!1},{pubkey:f,isWritable:!1,isSigner:!1},{pubkey:y,isWritable:!1,isSigner:!1},{pubkey:p,isWritable:!1,isSigner:!1},{pubkey:h,isWritable:!1,isSigner:!1},{pubkey:U.publicKey,isWritable:!0,isSigner:!0},{pubkey:N,isWritable:!1,isSigner:!1},{pubkey:address.SYSVAR_CLOCK_PUBKEY,isWritable:!1,isSigner:!1},{pubkey:address.SYSVAR_RENT_PUBKEY,isWritable:!1,isSigner:!1},{pubkey:d,isWritable:!1,isSigner:!1},{pubkey:address.SystemProgram.programId,isWritable:!1,isSigner:!1}],z=getWormholeChainIdByName(e.toChain);if(z===1){const O=await l.getAccountInfo(new address.PublicKey(n));if(O&&O.owner&&O.owner.equals(d))throw new Error("Destination address is not about token account. It should be a owner address")}const X=address.bufferPolyfill.Buffer.from(hexToUint8Array(nativeAddressToHexString(n,z))),J=getAmountOfFractionalAmount(e.minAmountOut,e.mintDecimals.to),Z=getAmountOfFractionalAmount(e.swapRelayerFee,e.mintDecimals.from),q=getAmountOfFractionalAmount(e.redeemRelayerFee,e.mintDecimals.to),j=getAmountOfFractionalAmount(e.refundRelayerFee,e.mintDecimals.from),Q=getAmountOfFractionalAmount(e.gasDrop,getGasDecimalsInSolana(e.toChain)),Y=e.toToken.contract===providerJsonrpc.ZeroAddress,m=e.fromToken.contract===providerJsonrpc.ZeroAddress;if(!Number(e.deadline64))throw new Error("Deadline is not valid");const S=BigInt(e.deadline64),I=address.bufferPolyfill.Buffer.alloc(SwapLayout.span),E={instruction:101,stateNonce:_,amount:getSafeU64Blob(W),minAmountOut:getSafeU64Blob(J),deadline:getSafeU64Blob(S),feeSwap:getSafeU64Blob(Z),feeReturn:getSafeU64Blob(q),feeCancel:getSafeU64Blob(j),gasDrop:getSafeU64Blob(Q),destinationChain:z,destinationAddress:X,unwrapRedeem:Y?1:0,unwrapRefund:m?1:0,mayanFeeNonce:b,referrerFeeNonce:T};SwapLayout.encode(E,I);const $=new address.TransactionInstruction({keys:G,data:I,programId:u});return i.push($),{instructions:i,signers:[U,g,A],lookupTables:[],swapMessageV0Params:null}}function getEvmSwiftParams(e,t,n,a,r){const s=getWormholeChainIdById(Number(r)),o=getWormholeChainIdByName(e.fromChain),i=getWormholeChainIdByName(e.toChain);if(o!==s)throw new Error(`Signer chain id(${Number(r)}) and quote from chain are not same! ${o} !== ${s}`);if(!e.swiftMayanContract)throw new Error("SWIFT contract address is missing");if(e.toToken.wChainId!==i)throw new Error(`Destination chain ID mismatch: ${i} != ${e.toToken.wChainId}`);const l=e.swiftMayanContract;if(!Number(e.deadline64))throw new Error("Swift order requires timeout");const u=BigInt(e.deadline64),d=e.swiftInputContract,c=BigInt(e.effectiveAmountIn64);let f;a?f=nativeAddressToHexString(a,i):f=nativeAddressToHexString(address.SystemProgram.programId.toString(),1);const y=nativeAddressToHexString(address.Keypair.generate().publicKey.toString(),1),p=e.toToken.contract===providerJsonrpc.ZeroAddress?nativeAddressToHexString(address.SystemProgram.programId.toString(),1):nativeAddressToHexString(e.toToken.contract,i),b=getAmountOfFractionalAmount(e.minAmountOut,Math.min(8,e.toToken.decimals)),h=getAmountOfFractionalAmount(e.gasDrop,Math.min(8,getGasDecimal(e.toChain))),T=nativeAddressToHexString(n,i),g={trader:nativeAddressToHexString(t,o),tokenOut:p,minAmountOut:b,gasDrop:h,cancelFee:BigInt(e.cancelRelayerFee64),refundFee:BigInt(e.refundRelayerFee64),deadline:u,destAddr:T,destChainId:i,referrerAddr:f,referrerBps:e.referrerBps||0,auctionMode:e.swiftAuctionMode,random:y};return{contractAddress:l,tokenIn:d,amountIn:c,order:g}}function getSwiftFromEvmTxPayload(e,t,n,a,r,s){if(e.type!=="SWIFT")throw new Error("Quote type is not SWIFT");if(!Number.isFinite(Number(r)))throw new Error("Invalid signer chain id");if(!Number(e.deadline64))throw new Error("Swift order requires timeout");r=Number(r);const o=ZeroPermit,i=new contract.Contract(addresses_default.MAYAN_FORWARDER_CONTRACT,MayanForwarderArtifact_default.abi),{tokenIn:l,amountIn:u,order:d,contractAddress:c}=getEvmSwiftParams(e,t,n,a,r);let f;const y=new contract.Contract(c,MayanSwiftArtifact_default.abi);e.swiftInputContract===providerJsonrpc.ZeroAddress?f=y.interface.encodeFunctionData("createOrderWithEth",[d]):f=y.interface.encodeFunctionData("createOrderWithToken",[l,u,d]);let p,b,h;if(e.fromToken.contract===e.swiftInputContract)e.fromToken.contract===providerJsonrpc.ZeroAddress?(p="forwardEth",b=[c,f],h=contract.toBeHex(u)):(p="forwardERC20",b=[l,u,o,c,f],h=contract.toBeHex(0));else{const{evmSwapRouterAddress:g,evmSwapRouterCalldata:A}=e;if(!e.minMiddleAmount||!g||!A)throw new Error("Swift swap requires middle amount, router address and calldata");const w=e.fromToken.contract,_=getAmountOfFractionalAmount(e.minMiddleAmount,e.swiftInputDecimals);e.fromToken.contract===providerJsonrpc.ZeroAddress?(p="swapAndForwardEth",b=[u,g,A,e.swiftInputContract,_,c,f],h=contract.toBeHex(u)):(p="swapAndForwardERC20",b=[w,u,o,g,A,e.swiftInputContract,_,c,f],h=contract.toBeHex(0))}return{data:i.interface.encodeFunctionData(p,b),to:addresses_default.MAYAN_FORWARDER_CONTRACT,value:h,chainId:r,_forwarder:{method:p,params:b}}}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 n=address.bufferPolyfill.Buffer.alloc(16);for(let a=15;a>=0;a--)n[a]=Number(e&0xFFn),e>>=8n;return n}function getShuttleParams(e,t,n){const{shuttleParams:a}=e;if(!a)throw new Error("Swap layer params are missing in quote response");const r=getWormholeChainIdById(Number(n)),s=getWormholeChainIdByName(e.fromChain),o=getWormholeChainIdByName(e.toChain);if(s!==r)throw new Error(`Signer chain id(${Number(n)}) and quote from chain are not same! ${s} !== ${r}`);let i=[];i.push(shuttleConstants.FAST_MODE_FLAG);const l=address.bufferPolyfill.Buffer.alloc(8);l.writeBigUInt64BE(BigInt(a.maxLLFee));const u=l.subarray(2);i.push(...u);const d=address.bufferPolyfill.Buffer.alloc(4);d.writeUInt32BE(a.fastTransferDeadline),i.push(...d),i.push(shuttleConstants.RELAY_REDEEM_MODE);const c=getAmountOfFractionalAmount(e.gasDrop,Math.min(6,getGasDecimal(e.toChain))),f=address.bufferPolyfill.Buffer.alloc(8);f.writeBigUInt64BE(c);const y=f.subarray(4);i.push(...y);const p=address.bufferPolyfill.Buffer.alloc(8);p.writeBigUInt64BE(BigInt(a.maxRelayingFee));const b=p.subarray(2);i.push(...b),i.push(shuttleConstants.EXACT_IN_FLAG),i.push(shuttleConstants.USDC_INPUT_TOKEN_TYPE);const h=BigInt(e.effectiveAmountIn64);if(e.fromToken.contract===e.shuttleInputContract){i.push(...Array(8).fill(0));const g=address.bufferPolyfill.Buffer.alloc(8);g.writeBigUInt64BE(h),i.push(...g)}else i.push(...Array(16).fill(0));if(i.push(shuttleConstants.PRE_APPROVED_ACQUIRE_MODE),a.hasDestSwap){if(e.toToken.contract===providerJsonrpc.ZeroAddress)i.push(shuttleConstants.OUTPUT_NATIVE_MODE);else{i.push(shuttleConstants.OUTPUT_OTHER_MODE);const _=address.bufferPolyfill.Buffer.from(nativeAddressToHexString(e.toToken.contract,o).slice(2),"hex");i.push(..._)}const g=address.bufferPolyfill.Buffer.alloc(4);g.writeUInt32BE(Number(BigInt(e.deadline64))),i.push(...g);const A=getAmountOfFractionalAmount(e.minAmountOut,e.toToken.decimals);if(e.toChain==="solana"){i.push(...Array(8).fill(0));const _=address.bufferPolyfill.Buffer.alloc(8);_.writeBigUInt64BE(A),i.push(..._)}else{const _=writeBigIntTo16BytesBuffer(A);i.push(..._)}const w=address.bufferPolyfill.Buffer.from(a.path.slice(2),"hex");i.push(...w)}else i.push(shuttleConstants.OUTPUT_USDC_MODE);return{destAddr:nativeAddressToHexString(t,o),destChainId:o,serializedParams:`0x${address.bufferPolyfill.Buffer.from(i).toString("hex")}`,contractAddress:e.shuttleContract,amountIn:h,bridgeFee:getAmountOfFractionalAmount(e.bridgeFee,getGasDecimal(e.fromChain))}}function getShuttleFromEvmTxPayload(e,t,n,a){if(e.type!=="SHUTTLE")throw new Error("Quote type is not SHUTTLE");if(!Number.isFinite(Number(n)))throw new Error("Invalid signer chain id");n=Number(n);const r=ZeroPermit,s=new contract.Contract(addresses_default.MAYAN_FORWARDER_CONTRACT,MayanForwarderArtifact_default.abi),{destAddr:o,destChainId:i,serializedParams:l,contractAddress:u,amountIn:d,bridgeFee:c}=getShuttleParams(e,t,n);let f;f=new contract.Contract(u,ShuttleArtifact_default.abi).interface.encodeFunctionData("initiate",[o,d,i,l]);let p,b,h;if(e.fromToken.contract===e.shuttleInputContract)p="forwardERC20",b=[e.shuttleInputContract,d,r,u,f],h=contract.toBeHex(c);else{const{evmSwapRouterAddress:g,evmSwapRouterCalldata:A}=e;if(!e.minMiddleAmount||!g||!A)throw new Error("Shuttle source chain swap requires middle amount, router address and calldata");const w=e.fromToken.contract,_=getAmountOfFractionalAmount(e.minMiddleAmount,e.shuttleInputDecimals);e.fromToken.contract===providerJsonrpc.ZeroAddress?(p="swapAndForwardEth",b=[d,g,A,e.shuttleInputContract,_,u,f],h=contract.toBeHex(d)):(p="swapAndForwardERC20",b=[w,d,r,g,A,e.shuttleInputContract,_,u,f],h=contract.toBeHex(c))}return{data:s.interface.encodeFunctionData(p,b),to:addresses_default.MAYAN_FORWARDER_CONTRACT,value:h,chainId:n,_forwarder:{method:p,params:b}}}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,n,a,r){const s=getWormholeChainIdById(Number(a)),o=getWormholeChainIdByName(e.fromChain),i=getWormholeChainIdByName(e.toChain);if(o!==s)throw new Error(`Signer chain id(${Number(a)}) and quote from chain are not same! ${o} !== ${s}`);const l=nativeAddressToHexString(t,i),u=getAmountOfFractionalAmount(e.redeemRelayerFee,CCTP_TOKEN_DECIMALS),d=getAmountOfFractionalAmount(e.gasDrop,Math.min(getGasDecimal(e.toChain),8)),c=BigInt(e.circleMaxFee64),f=BigInt(e.effectiveAmountIn64),y=getCCTPDomain(e.toChain);let p;if(n?p=nativeAddressToHexString(n,i):p=nativeAddressToHexString(address.SystemProgram.programId.toString(),getWormholeChainIdByName("solana")),!e.fastMctpMayanContract)throw new Error("FastMctp contract address is missing");const b=e.fastMctpMayanContract;return{tokenIn:e.fastMctpInputContract,amountIn:f,redeemFee:u,gasDrop:d,destAddr:l,destDomain:y,referrerAddr:p,referrerBps:e.referrerBps,payloadType:FAST_MCTP_PAYLOAD_TYPE_DEFAULT,customPayload:"0x",minFinalityThreshold:Number(e.fastMctpMinFinality),circleMaxFee:c,contractAddress:b}}function getEvmFastMctpBridgeTxPayload(e,t,n,a,r){const s=getEvmFastMctpBridgeParams(e,t,n,a),{contractAddress:o,tokenIn:i,amountIn:l,destAddr:u,redeemFee:d,gasDrop:c,circleMaxFee:f,referrerAddr:y,referrerBps:p,destDomain:b,customPayload:h,minFinalityThreshold:T,payloadType:g}=s,A=new contract.Contract(o,MayanFastMctpArtifact_default.abi);let w,_;return w=A.interface.encodeFunctionData("bridge",[i,l,d,f,c,u,b,y,p,g,T,h]),_=contract.toBeHex(0),{to:o,data:w,value:_,_params:s}}function getEvmFastMctpCreateOrderParams(e,t,n,a){const r=getWormholeChainIdById(Number(a)),s=getWormholeChainIdByName(e.fromChain),o=getWormholeChainIdByName(e.toChain);if(s!==r)throw new Error(`Signer chain id(${Number(a)}) and quote from chain are not same! ${s} !== ${r}`);if(!e.fastMctpMayanContract)throw new Error("MCTP contract address is missing");const i=e.fastMctpMayanContract,l=nativeAddressToHexString(t,o);let u;n?u=nativeAddressToHexString(n,o):u=nativeAddressToHexString(address.SystemProgram.programId.toString(),getWormholeChainIdByName("solana"));const d=getAmountOfFractionalAmount(e.redeemRelayerFee,CCTP_TOKEN_DECIMALS),c=BigInt(e.refundRelayerFee64),f=BigInt(e.circleMaxFee64),y=getAmountOfFractionalAmount(e.gasDrop,Math.min(getGasDecimal(e.toChain),8)),p=getCCTPDomain(e.toChain),b=BigInt(e.effectiveAmountIn64),h=getAmountOfFractionalAmount(e.minAmountOut,Math.min(8,e.toToken.decimals)),T=BigInt(e.deadline64),g=e.toToken.contract===providerJsonrpc.ZeroAddress?nativeAddressToHexString(address.SystemProgram.programId.toString(),getWormholeChainIdByName("solana")):nativeAddressToHexString(e.toChain==="sui"?e.toToken.verifiedAddress:e.toToken.contract,e.toToken.wChainId);return{tokenIn:e.fastMctpInputContract,amountIn:b,circleMaxFee:f,destDomain:p,minFinalityThreshold:Number(e.fastMctpMinFinality),orderPayload:{payloadType:FAST_MCTP_PAYLOAD_TYPE_ORDER,destAddr:l,tokenOut:g,amountOutMin:h,gasDrop:y,redeemFee:d,refundFee:c,deadline:T,referrerAddr:u,referrerBps:e.referrerBps||0},contractAddress:i}}function getEvmFastMctpCreateOrderTxPayload(e,t,n,a){const r=getEvmFastMctpCreateOrderParams(e,t,n,a),{contractAddress:s,orderPayload:o,tokenIn:i,amountIn:l,circleMaxFee:u,destDomain:d,minFinalityThreshold:c}=r,y=new contract.Contract(s,MayanFastMctpArtifact_default.abi).interface.encodeFunctionData("createOrder",[i,l,u,d,c,o]),p=contract.toBeHex(0);return{to:s,data:y,value:p,_params:r}}function getFastMctpFromEvmTxPayload(e,t,n,a,r,s){if(e.type!=="FAST_MCTP")throw new Error("Quote type is not FAST_MCTP");if(!Number.isFinite(Number(a)))throw new Error("Invalid signer chain id");a=Number(a);const o=r||ZeroPermit,i=new contract.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 l=getEvmFastMctpCreateOrderTxPayload(e,t,n,a),u="forwardERC20",d=[e.fromToken.contract,l._params.amountIn,o,l._params.contractAddress,l.data];return{data:i.interface.encodeFunctionData(u,d),to:addresses_default.MAYAN_FORWARDER_CONTRACT,value:contract.toBeHex(0),chainId:a,_forwarder:{method:u,params:d}}}else{const l=getEvmFastMctpBridgeTxPayload(e,t,n,a),u="forwardERC20",d=[e.fromToken.contract,l._params.amountIn,o,l._params.contractAddress,l.data];return{data:i.interface.encodeFunctionData(u,d),to:addresses_default.MAYAN_FORWARDER_CONTRACT,value:contract.toBeHex(0),chainId:a,_forwarder:{method:u,params:d}}}else{const{minMiddleAmount:l,evmSwapRouterAddress:u,evmSwapRouterCalldata:d}=e;if(!l||!u||!d)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 c=getEvmFastMctpCreateOrderTxPayload(e,t,n,a),f=getAmountOfFractionalAmount(e.minMiddleAmount,CCTP_TOKEN_DECIMALS);if(e.fromToken.contract===providerJsonrpc.ZeroAddress){const y="swapAndForwardEth",p=[c._params.amountIn,u,d,e.fastMctpInputContract,f,c._params.contractAddress,c.data];return{data:i.interface.encodeFunctionData(y,p),to:addresses_default.MAYAN_FORWARDER_CONTRACT,value:contract.toBeHex(c._params.amountIn),chainId:a,_forwarder:{method:y,params:p}}}else{const y="swapAndForwardERC20",p=[e.fromToken.contract,c._params.amountIn,o,u,d,e.fastMctpInputContract,f,c._params.contractAddress,c.data];return{data:i.interface.encodeFunctionData(y,p),to:addresses_default.MAYAN_FORWARDER_CONTRACT,value:contract.toBeHex(0),chainId:a,_forwarder:{method:y,params:p}}}}else{const c=getEvmFastMctpBridgeTxPayload(e,t,n,a),f=getAmountOfFractionalAmount(e.minMiddleAmount,CCTP_TOKEN_DECIMALS);if(e.fromToken.contract===providerJsonrpc.ZeroAddress){const y="swapAndForwardEth",p=[c._params.amountIn,u,d,e.fastMctpInputContract,f,c._params.contractAddress,c.data];return{data:i.interface.encodeFunctionData(y,p),to:addresses_default.MAYAN_FORWARDER_CONTRACT,value:contract.toBeHex(c._params.amountIn),chainId:a,_forwarder:{method:y,params:p}}}else{const y="swapAndForwardERC20",p=[e.fromToken.contract,c._params.amountIn,o,u,d,e.fastMctpInputContract,f,c._params.contractAddress,c.data];return{data:i.interface.encodeFunctionData(y,p),to:addresses_default.MAYAN_FORWARDER_CONTRACT,value:contract.toBeHex(0),chainId:a,_forwarder:{method:y,params:p}}}}}}function getEvmSwapParams(e,t,n,a,r,s){const o=new address.PublicKey(addresses_default.MAYAN_PROGRAM_ID),[i]=address.PublicKey.findProgramAddressSync([address.bufferPolyfill.Buffer.from("MAIN")],o),l=getAssociatedTokenAddress(new address.PublicKey(e.fromToken.mint),i,!0),u=BigInt(e.effectiveAmountIn64),d=nativeAddressToHexString(l.toString(),1),c=nativeAddressToHexString(addresses_default.AUCTION_PROGRAM_ID,1);let f;n?f=nativeAddressToHexString(n,1):f=nativeAddressToHexString(address.SystemProgram.programId.toString(),1);const y=getWormholeChainIdById(Number(r)),p=getWormholeChainIdByName(e.fromChain),b=getWormholeChainIdByName(e.toChain);if(p!==y)throw new Error(`Signer chain id(${Number(r)}) and quote from chain are not same! ${p} !== ${y}`);const h=e.whMayanContract,T={mayanAddr:d,mayanChainId:1,destAddr:nativeAddressToHexString(t,b),destChainId:b,auctionAddr:c,referrer:f,refundAddr:nativeAddressToHexString(a,y)},g=e.toToken.contract===providerJsonrpc.ZeroAddress,A={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:g,customPayload:"0x"},w={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))},_=nativeAddressToHexString(e.toToken.realOriginContractAddress,e.toToken.realOriginChainId),M=getAmountOfFractionalAmount(e.bridgeFee,18);return{amountIn:u,tokenIn:e.fromToken.contract,tokenOut:_,tokenOutWChainId:e.toToken.realOriginChainId,criteria:A,recipient:T,relayerFees:w,contractAddress:h,bridgeFee:M}}function getSwapFromEvmTxPayload(e,t,n,a,r,s,o,i){const l=getWormholeChainIdById(Number(s)),u=getWormholeChainIdByName(e.fromChain);if(u!==l)throw new Error(`Signer chain id(${Number(s)}) and quote from chain are not same! ${u} !== ${l}`);const d=getQuoteSuitableReferrerAddress(e,a);if(e.type==="MCTP")return getMctpFromEvmTxPayload(e,n,d,s,i);if(e.type==="SWIFT")return getSwiftFromEvmTxPayload(e,t,n,d,s);if(e.type==="SHUTTLE")return getShuttleFromEvmTxPayload(e,n,s);if(e.type==="FAST_MCTP")return getFastMctpFromEvmTxPayload(e,n,d,s,i);if(e.type!="WH")throw new Error("Unsupported quote type");if(!Number(e.deadline64))throw new Error("WH mode requires a timeout");const{relayerFees:c,recipient:f,tokenOut:y,tokenOutWChainId:p,criteria:b,tokenIn:h,amountIn:T,contractAddress:g,bridgeFee:A}=getEvmSwapParams(e,n,d,r,s),w=new contract.Contract(addresses_default.MAYAN_FORWARDER_CONTRACT,MayanForwarderArtifact_default.abi),_=new contract.Contract(g,MayanSwapArtifact_default.abi);let M,P,k;const D=ZeroPermit;if(h===providerJsonrpc.ZeroAddress){const C=_.interface.encodeFunctionData("wrapAndSwapETH",[c,f,y,p,b]);M="forwardEth",P=[g,C],k=contract.toBeHex(T)}else{const C=_.interface.encodeFunctionData("swap",[c,f,y,p,b,h,T]);M="forwardERC20",P=[h,T,D,g,C],k=contract.toBeHex(A)}const F=w.interface.encodeFunctionData(M,P);return{to:addresses_default.MAYAN_FORWARDER_CONTRACT,data:F,value:k,chainId:s,_forwarder:{method:M,params:P}}}async function assertArgumentIsImmutable(e,t){var a;let n;try{n=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(n){if(n[e.argumentIndex]!=="Pure"&&((a=n[e.argumentIndex])==null?void 0:a.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 n=[],a=BigInt(0),r;do{const s=await t.getCoins({...e,owner:e.walletAddress,cursor:r}),o=s.data.filter(i=>BigInt(i.balance)>BigInt(0));if(n=[...n,...o],o.forEach(i=>{a+=BigInt(i.balance)}),s.data.length===0||!s.hasNextPage||!s.nextCursor||a>=e.coinAmount)return{coins:n.sort((i,l)=>Number(BigInt(i.coinObjectId)-BigInt(l.coinObjectId))),sum:a};r=s.nextCursor}while(!0)}async function fetchMayanSuiPackageId(e,t){var a,r,s;let n;try{n=await t.getObject({id:e,options:{showContent:!0}})}catch(o){throw new Error(`Failed to fetch Mayan Sui package ID:
|
|
4
|
+
|
|
5
|
+
${o}`)}if((s=(r=(a=n.data)==null?void 0:a.content)==null?void 0:r.fields)!=null&&s.latest_package_id)return n.data.content.fields.latest_package_id;throw new Error("latest_package_id not found in Mayan Sui state object")}async function createMctpFromSuiMoveCalls(e,t,n,a,r,s,o){const[i,l]=await Promise.all([fetchMayanSuiPackageId(addresses_default.SUI_MCTP_STATE,s),e.hasAuction?fetchMayanSuiPackageId(addresses_default.SUI_MCTP_FEE_MANAGER_STATE,s):null]),u=getAmountOfFractionalAmount(e.minMiddleAmount,CCTP_TOKEN_DECIMALS);let d,c,f;if(e.fromToken.contract===e.mctpInputContract)d=new platform$2.Transaction,c=await resolveInputCoin(u,t,e.mctpInputContract,s,d,o==null?void 0:o.inputCoin);else{const{tx:b,outCoin:h,whFeeCoin:T}=await getSwapSui({amountIn64:e.effectiveAmountIn64,inputCoinType:e.fromToken.contract,middleCoinType:e.mctpInputContract,userWallet:t,withWhFee:e.hasAuction||e.cheaperChain!=="sui",referrerAddress:a,inputCoin:o==null?void 0:o.inputCoin,transaction:void 0});d=platform$2.Transaction.from(b),c=h,f=T?{result:T}:null}e.hasAuction?await addInitOrderMoveCalls(e,t,n,a,i,l,s,{inputCoin:{result:c},whFeeCoin:f,builtTransaction:d}):e.cheaperChain==="sui"?await addBridgeLockedFeeMoveCalls(e,t,n,i,s,{inputCoin:{result:c},builtTransaction:d}):await addBridgeWithFeeMoveCalls(e,t,n,i,r,s,{inputCoin:{result:c},whFeeCoin:f,builtTransaction:d});const y=BigInt(e.effectiveAmountIn64),p=Uint8Array.from([]);d.moveCall({package:i,module:"init_order",function:"log_initialize_mctp",typeArguments:[e.fromToken.contract],arguments:[d.pure.u64(y),d.object(e.fromToken.verifiedAddress),d.pure.vector("u8",p)]});try{let b;a?b=nativeAddressToHexString(a,getWormholeChainIdByName(e.toChain)):b=nativeAddressToHexString(address.SystemProgram.programId.toString(),getWormholeChainIdByName("solana")),d.moveCall({package:addresses_default.SUI_LOGGER_PACKAGE_ID,module:"referrer_logger",function:"log_referrer",arguments:[d.pure.address(b),d.pure.u8(e.referrerBps||0)]})}catch(b){console.error("Failed to log referrer",b)}return d}async function addBridgeWithFeeMoveCalls(e,t,n,a,r,s,o){const i=getWormholeChainIdByName(e.toChain),l=(o==null?void 0:o.builtTransaction)??new platform$2.Transaction,u=getAmountOfFractionalAmount(e.minMiddleAmount,CCTP_TOKEN_DECIMALS),d=await resolveInputCoin(u,t,e.mctpInputContract,s,l,o==null?void 0:o.inputCoin),c=MCTP_PAYLOAD_TYPE_DEFAULT,f=nativeAddressToHexString(n,i),y=getCCTPDomain(e.toChain),p=getAmountOfFractionalAmount(e.gasDrop,Math.min(getGasDecimal(e.toChain),8)),b=getAmountOfFractionalAmount(e.redeemRelayerFee,CCTP_TOKEN_DECIMALS),h=Uint8Array.from([]),[T]=l.moveCall({package:a,module:"bridge_with_fee",function:"prepare_bridge_with_fee",typeArguments:[e.mctpInputContract],arguments:[l.pure.u8(c),d,l.pure.u64(u),l.pure.address(f),l.pure.u32(y),l.pure.u64(p),l.pure.u64(b),l.pure.vector("u8",h)]}),[g,A]=l.moveCall({package:a,module:"bridge_with_fee",function:"bridge_with_fee",typeArguments:[e.mctpInputContract],arguments:[l.object(addresses_default.SUI_MCTP_STATE),l.object(addresses_default.SUI_CCTP_CORE_STATE),l.object(e.mctpVerifiedInputAddress),T]}),[w,_]=l.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,`${a}::bridge_with_fee::CircleAuth`],arguments:[A,l.object(addresses_default.SUI_CCTP_TOKEN_STATE),l.object(addresses_default.SUI_CCTP_CORE_STATE),l.object("0x403"),l.object(e.mctpInputTreasury)]}),[M]=l.moveCall({package:a,module:"bridge_with_fee",function:"publish_bridge_with_fee",arguments:[l.object(addresses_default.SUI_MCTP_STATE),g,_]});return await addPublishWormholeMessage(l,M,s,BigInt(e.bridgeFee),t,o==null?void 0:o.whFeeCoin),l}async function addBridgeLockedFeeMoveCalls(e,t,n,a,r,s){const o=getWormholeChainIdByName(e.toChain),i=(s==null?void 0:s.builtTransaction)??new platform$2.Transaction,l=getAmountOfFractionalAmount(e.minMiddleAmount,CCTP_TOKEN_DECIMALS),u=await resolveInputCoin(l,t,e.mctpInputContract,r,i,s==null?void 0:s.inputCoin),d=nativeAddressToHexString(n,o),c=getCCTPDomain(e.toChain),f=getAmountOfFractionalAmount(e.gasDrop,Math.min(getGasDecimal(e.toChain),8)),y=getAmountOfFractionalAmount(e.redeemRelayerFee,CCTP_TOKEN_DECIMALS),[p]=i.moveCall({package:a,module:"bridge_locked_fee",function:"prepare_bridge_locked_fee",typeArguments:[e.mctpInputContract],arguments:[u,i.pure.u64(l),i.pure.address(d),i.pure.u32(c),i.pure.u64(f),i.pure.u64(y)]}),[b,h]=i.moveCall({package:a,module:"bridge_locked_fee",function:"bridge_locked_fee",typeArguments:[e.mctpInputContract],arguments:[i.object(addresses_default.SUI_MCTP_STATE),i.object(addresses_default.SUI_CCTP_CORE_STATE),i.object(e.mctpVerifiedInputAddress),p]}),[T,g]=i.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,`${a}::bridge_locked_fee::CircleAuth`],arguments:[h,i.object(addresses_default.SUI_CCTP_TOKEN_STATE),i.object(addresses_default.SUI_CCTP_CORE_STATE),i.object("0x403"),i.object(e.mctpInputTreasury)]});return i.moveCall({package:a,module:"bridge_locked_fee",function:"store_bridge_locked_fee",typeArguments:[e.mctpInputContract],arguments:[i.object(addresses_default.SUI_MCTP_STATE),i.object(e.mctpVerifiedInputAddress),b,g]}),i}async function addInitOrderMoveCalls(e,t,n,a,r,s,o,i){const l=getWormholeChainIdByName(e.toChain),u=(i==null?void 0:i.builtTransaction)??new platform$2.Transaction,d=getAmountOfFractionalAmount(e.minMiddleAmount,CCTP_TOKEN_DECIMALS),[c]=await Promise.all([resolveInputCoin(d,t,e.mctpInputContract,o,u,i==null?void 0:i.inputCoin),assertArgumentIsImmutable({package:s,module:"calculate_mctp_fee",function:"prepare_calc_mctp_fee",argumentIndex:3},o)]),f=e.toToken.contract===providerJsonrpc.ZeroAddress?nativeAddressToHexString(address.SystemProgram.programId.toString(),getWormholeChainIdByName("solana")):nativeAddressToHexString(e.toToken.contract,e.toToken.wChainId),y=getAmountOfFractionalAmount(e.minAmountOut,Math.min(8,e.toToken.decimals)),p=nativeAddressToHexString(n,l),b=getCCTPDomain(e.toChain),h=getAmountOfFractionalAmount(e.gasDrop,Math.min(getGasDecimal(e.toChain),8)),T=getAmountOfFractionalAmount(e.redeemRelayerFee,CCTP_TOKEN_DECIMALS),g=BigInt(e.deadline64);let A;a?A=nativeAddressToHexString(a,l):A=nativeAddressToHexString(address.SystemProgram.programId.toString(),getWormholeChainIdByName("solana"));const w=[u.object(e.mctpVerifiedInputAddress),u.pure.u8(MCTP_INIT_ORDER_PAYLOAD_ID),u.pure.address(t),c,u.pure.address(p),u.pure.u16(l),u.pure.address(f),u.pure.u64(y),u.pure.u64(h),u.pure.u64(T),u.pure.u64(g),u.pure.address(A),u.pure.u8(e.referrerBps)],[_]=u.moveCall({package:s,module:"calculate_mctp_fee",function:"prepare_calc_mctp_fee",typeArguments:[e.mctpInputContract],arguments:w}),[M]=u.moveCall({package:s,module:"calculate_mctp_fee",function:"calculate_mctp_fee",arguments:[u.object(addresses_default.SUI_MCTP_FEE_MANAGER_STATE),_]}),[P]=u.moveCall({package:r,module:"init_order",function:"prepare_initialize_order",typeArguments:[e.mctpInputContract],arguments:[...w.slice(1),u.pure.u32(b),u.pure.u64(d)]}),[k,D]=u.moveCall({package:r,module:"init_order",function:"initialize_order",typeArguments:[e.mctpInputContract],arguments:[u.object(addresses_default.SUI_MCTP_STATE),u.object(addresses_default.SUI_CCTP_CORE_STATE),u.object(e.mctpVerifiedInputAddress),P,M]}),[F,C]=u.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,`${r}::init_order::CircleAuth`],arguments:[D,u.object(addresses_default.SUI_CCTP_TOKEN_STATE),u.object(addresses_default.SUI_CCTP_CORE_STATE),u.object("0x403"),u.object(e.mctpInputTreasury)]}),[R]=u.moveCall({package:r,module:"init_order",function:"publish_init_order",arguments:[u.object(addresses_default.SUI_MCTP_STATE),k,C]});return await addPublishWormholeMessage(u,R,o,BigInt(e.bridgeFee),t,i==null?void 0:i.whFeeCoin),u}async function addPublishWormholeMessage(e,t,n,a,r,s){let o;if(s!=null&&s.result)o=s.result;else if(s!=null&&s.objectId)o=e.object(s.objectId);else if(a>BigInt(0)){const{coins:i,sum:l}=await fetchAllCoins({walletAddress:r,coinType:platform$2.SUI_TYPE_ARG,coinAmount:a},n);if(l<a)throw new Error("Insufficient funds to pay Wormhole message fee");i.length>1&&e.mergeCoins(i[0].coinObjectId,i.slice(1).map(d=>d.coinObjectId));const[u]=e.splitCoins(i[0].coinObjectId,[a]);o=u}else{const[i]=e.splitCoins(e.gas,[e.pure.u64(0)]);o=i}return e.moveCall({package:addresses_default.SUI_WORMHOLE_PACKAGE_ID,module:"publish_message",function:"publish_message",arguments:[e.object(addresses_default.SUI_WORMHOLE_STATE),o,t,e.object(platform$2.SUI_CLOCK_OBJECT_ID)]}),e}async function resolveInputCoin(e,t,n,a,r,s){let o;if(s!=null&&s.result)o=s.result;else if(s!=null&&s.objectId)o=r.object(s.objectId);else{const{coins:i,sum:l}=await fetchAllCoins({walletAddress:t,coinType:n,coinAmount:e},a);if(l<e)throw new Error(`Insufficient funds to create Coin ${n} with amount ${e}`);i.length>1&&r.mergeCoins(i[0].coinObjectId,i.slice(1).map(d=>d.coinObjectId));const[u]=r.splitCoins(i[0].coinObjectId,[e]);o=u}return o}async function createSwapFromSuiMoveCalls(e,t,n,a,r,s,o){const i=getQuoteSuitableReferrerAddress(e,a);if(e.type==="MCTP")return createMctpFromSuiMoveCalls(e,t,n,i,r,s,o);throw new Error("Unsupported quote type from Sui chain")}function bind(e,t){return function(){return e.apply(t,arguments)}}const{toString}=Object.prototype,{getPrototypeOf}=Object,{iterator,toStringTag}=Symbol,kindOf=(e=>t=>{const n=toString.call(t);return e[n]||(e[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),kindOfTest=e=>(e=e.toLowerCase(),t=>kindOf(t)===e),typeOfTest=e=>t=>typeof t===e,{isArray}=Array,isUndefined=typeOfTest("undefined");function isBuffer(e){return e!==null&&!isUndefined(e)&&e.constructor!==null&&!isUndefined(e.constructor)&&isFunction(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}const isArrayBuffer=kindOfTest("ArrayBuffer");function isArrayBufferView(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&isArrayBuffer(e.buffer),t}const isString=typeOfTest("string"),isFunction=typeOfTest("function"),isNumber=typeOfTest("number"),isObject=e=>e!==null&&typeof e=="object",isBoolean=e=>e===!0||e===!1,isPlainObject=e=>{if(kindOf(e)!=="object")return!1;const t=getPrototypeOf(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(toStringTag in e)&&!(iterator in e)},isDate=kindOfTest("Date"),isFile=kindOfTest("File"),isBlob=kindOfTest("Blob"),isFileList=kindOfTest("FileList"),isStream=e=>isObject(e)&&isFunction(e.pipe),isFormData=e=>{let t;return e&&(typeof FormData=="function"&&e instanceof FormData||isFunction(e.append)&&((t=kindOf(e))==="formdata"||t==="object"&&isFunction(e.toString)&&e.toString()==="[object FormData]"))},isURLSearchParams=kindOfTest("URLSearchParams"),[isReadableStream,isRequest,isResponse,isHeaders]=["ReadableStream","Request","Response","Headers"].map(kindOfTest),trim=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function forEach(e,t,{allOwnKeys:n=!1}={}){if(e===null||typeof e>"u")return;let a,r;if(typeof e!="object"&&(e=[e]),isArray(e))for(a=0,r=e.length;a<r;a++)t.call(null,e[a],a,e);else{const s=n?Object.getOwnPropertyNames(e):Object.keys(e),o=s.length;let i;for(a=0;a<o;a++)i=s[a],t.call(null,e[i],i,e)}}function findKey(e,t){t=t.toLowerCase();const n=Object.keys(e);let a=n.length,r;for(;a-- >0;)if(r=n[a],t===r.toLowerCase())return r;return null}const _global=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:address.dist.global,isContextDefined=e=>!isUndefined(e)&&e!==_global;function merge(){const{caseless:e}=isContextDefined(this)&&this||{},t={},n=(a,r)=>{const s=e&&findKey(t,r)||r;isPlainObject(t[s])&&isPlainObject(a)?t[s]=merge(t[s],a):isPlainObject(a)?t[s]=merge({},a):isArray(a)?t[s]=a.slice():t[s]=a};for(let a=0,r=arguments.length;a<r;a++)arguments[a]&&forEach(arguments[a],n);return t}const extend=(e,t,n,{allOwnKeys:a}={})=>(forEach(t,(r,s)=>{n&&isFunction(r)?e[s]=bind(r,n):e[s]=r},{allOwnKeys:a}),e),stripBOM=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),inherits=(e,t,n,a)=>{e.prototype=Object.create(t.prototype,a),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),n&&Object.assign(e.prototype,n)},toFlatObject=(e,t,n,a)=>{let r,s,o;const i={};if(t=t||{},e==null)return t;do{for(r=Object.getOwnPropertyNames(e),s=r.length;s-- >0;)o=r[s],(!a||a(o,e,t))&&!i[o]&&(t[o]=e[o],i[o]=!0);e=n!==!1&&getPrototypeOf(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},endsWith=(e,t,n)=>{e=String(e),(n===void 0||n>e.length)&&(n=e.length),n-=t.length;const a=e.indexOf(t,n);return a!==-1&&a===n},toArray=e=>{if(!e)return null;if(isArray(e))return e;let t=e.length;if(!isNumber(t))return null;const n=new Array(t);for(;t-- >0;)n[t]=e[t];return n},isTypedArray=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&getPrototypeOf(Uint8Array)),forEachEntry=(e,t)=>{const a=(e&&e[iterator]).call(e);let r;for(;(r=a.next())&&!r.done;){const s=r.value;t.call(e,s[0],s[1])}},matchAll=(e,t)=>{let n;const a=[];for(;(n=e.exec(t))!==null;)a.push(n);return a},isHTMLForm=kindOfTest("HTMLFormElement"),toCamelCase=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(n,a,r){return a.toUpperCase()+r}),hasOwnProperty=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),isRegExp=kindOfTest("RegExp"),reduceDescriptors=(e,t)=>{const n=Object.getOwnPropertyDescriptors(e),a={};forEach(n,(r,s)=>{let o;(o=t(r,s,e))!==!1&&(a[s]=o||r)}),Object.defineProperties(e,a)},freezeMethods=e=>{reduceDescriptors(e,(t,n)=>{if(isFunction(e)&&["arguments","caller","callee"].indexOf(n)!==-1)return!1;const a=e[n];if(isFunction(a)){if(t.enumerable=!1,"writable"in t){t.writable=!1;return}t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")})}})},toObjectSet=(e,t)=>{const n={},a=r=>{r.forEach(s=>{n[s]=!0})};return isArray(e)?a(e):a(String(e).split(t)),n},noop=()=>{},toFiniteNumber=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t;function isSpecCompliantForm(e){return!!(e&&isFunction(e.append)&&e[toStringTag]==="FormData"&&e[iterator])}const toJSONObject=e=>{const t=new Array(10),n=(a,r)=>{if(isObject(a)){if(t.indexOf(a)>=0)return;if(!("toJSON"in a)){t[r]=a;const s=isArray(a)?[]:{};return forEach(a,(o,i)=>{const l=n(o,r+1);!isUndefined(l)&&(s[i]=l)}),t[r]=void 0,s}}return a};return n(e,0)},isAsyncFn=kindOfTest("AsyncFunction"),isThenable=e=>e&&(isObject(e)||isFunction(e))&&isFunction(e.then)&&isFunction(e.catch),_setImmediate=((e,t)=>e?setImmediate:t?((n,a)=>(_global.addEventListener("message",({source:r,data:s})=>{r===_global&&s===n&&a.length&&a.shift()()},!1),r=>{a.push(r),_global.postMessage(n,"*")}))(`axios@${Math.random()}`,[]):n=>setTimeout(n))(typeof setImmediate=="function",isFunction(_global.postMessage)),asap=typeof queueMicrotask<"u"?queueMicrotask.bind(_global):typeof address.dist.process<"u"&&address.dist.process.nextTick||_setImmediate,isIterable=e=>e!=null&&isFunction(e[iterator]),utils$1={isArray,isArrayBuffer,isBuffer,isFormData,isArrayBufferView,isString,isNumber,isBoolean,isObject,isPlainObject,isReadableStream,isRequest,isResponse,isHeaders,isUndefined,isDate,isFile,isBlob,isRegExp,isFunction,isStream,isURLSearchParams,isTypedArray,isFileList,forEach,merge,extend,trim,stripBOM,inherits,toFlatObject,kindOf,kindOfTest,endsWith,toArray,forEachEntry,matchAll,isHTMLForm,hasOwnProperty,hasOwnProp:hasOwnProperty,reduceDescriptors,freezeMethods,toObjectSet,toCamelCase,noop,toFiniteNumber,findKey,global:_global,isContextDefined,isSpecCompliantForm,toJSONObject,isAsyncFn,isThenable,setImmediate:_setImmediate,asap,isIterable};function AxiosError$1(e,t,n,a,r){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=e,this.name="AxiosError",t&&(this.code=t),n&&(this.config=n),a&&(this.request=a),r&&(this.response=r,this.status=r.status?r.status:null)}utils$1.inherits(AxiosError$1,Error,{toJSON:function e(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:utils$1.toJSONObject(this.config),code:this.code,status:this.status}}});const prototype$1=AxiosError$1.prototype,descriptors={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(e=>{descriptors[e]={value:e}});Object.defineProperties(AxiosError$1,descriptors);Object.defineProperty(prototype$1,"isAxiosError",{value:!0});AxiosError$1.from=(e,t,n,a,r,s)=>{const o=Object.create(prototype$1);return utils$1.toFlatObject(e,o,function(l){return l!==Error.prototype},i=>i!=="isAxiosError"),AxiosError$1.call(o,e.message,t,n,a,r),o.cause=e,o.name=e.name,s&&Object.assign(o,s),o};const httpAdapter=null;function isVisitable(e){return utils$1.isPlainObject(e)||utils$1.isArray(e)}function removeBrackets(e){return utils$1.endsWith(e,"[]")?e.slice(0,-2):e}function renderKey(e,t,n){return e?e.concat(t).map(function(r,s){return r=removeBrackets(r),!n&&s?"["+r+"]":r}).join(n?".":""):t}function isFlatArray(e){return utils$1.isArray(e)&&!e.some(isVisitable)}const predicates=utils$1.toFlatObject(utils$1,{},null,function e(t){return/^is[A-Z]/.test(t)});function toFormData$1(e,t,n){if(!utils$1.isObject(e))throw new TypeError("target must be an object");t=t||new FormData,n=utils$1.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,function(b,h){return!utils$1.isUndefined(h[b])});const a=n.metaTokens,r=n.visitor||d,s=n.dots,o=n.indexes,l=(n.Blob||typeof Blob<"u"&&Blob)&&utils$1.isSpecCompliantForm(t);if(!utils$1.isFunction(r))throw new TypeError("visitor must be a function");function u(p){if(p===null)return"";if(utils$1.isDate(p))return p.toISOString();if(utils$1.isBoolean(p))return p.toString();if(!l&&utils$1.isBlob(p))throw new AxiosError$1("Blob is not supported. Use a Buffer instead.");return utils$1.isArrayBuffer(p)||utils$1.isTypedArray(p)?l&&typeof Blob=="function"?new Blob([p]):address.dist.Buffer.from(p):p}function d(p,b,h){let T=p;if(p&&!h&&typeof p=="object"){if(utils$1.endsWith(b,"{}"))b=a?b:b.slice(0,-2),p=JSON.stringify(p);else if(utils$1.isArray(p)&&isFlatArray(p)||(utils$1.isFileList(p)||utils$1.endsWith(b,"[]"))&&(T=utils$1.toArray(p)))return b=removeBrackets(b),T.forEach(function(A,w){!(utils$1.isUndefined(A)||A===null)&&t.append(o===!0?renderKey([b],w,s):o===null?b:b+"[]",u(A))}),!1}return isVisitable(p)?!0:(t.append(renderKey(h,b,s),u(p)),!1)}const c=[],f=Object.assign(predicates,{defaultVisitor:d,convertValue:u,isVisitable});function y(p,b){if(!utils$1.isUndefined(p)){if(c.indexOf(p)!==-1)throw Error("Circular reference detected in "+b.join("."));c.push(p),utils$1.forEach(p,function(T,g){(!(utils$1.isUndefined(T)||T===null)&&r.call(t,T,utils$1.isString(g)?g.trim():g,b,f))===!0&&y(T,b?b.concat(g):[g])}),c.pop()}}if(!utils$1.isObject(e))throw new TypeError("data must be an object");return y(e),t}function encode$1(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(a){return t[a]})}function AxiosURLSearchParams(e,t){this._pairs=[],e&&toFormData$1(e,this,t)}const prototype=AxiosURLSearchParams.prototype;prototype.append=function e(t,n){this._pairs.push([t,n])};prototype.toString=function e(t){const n=t?function(a){return t.call(this,a,encode$1)}:encode$1;return this._pairs.map(function(r){return n(r[0])+"="+n(r[1])},"").join("&")};function encode(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function buildURL(e,t,n){if(!t)return e;const a=n&&n.encode||encode;utils$1.isFunction(n)&&(n={serialize:n});const r=n&&n.serialize;let s;if(r?s=r(t,n):s=utils$1.isURLSearchParams(t)?t.toString():new AxiosURLSearchParams(t,n).toString(a),s){const o=e.indexOf("#");o!==-1&&(e=e.slice(0,o)),e+=(e.indexOf("?")===-1?"?":"&")+s}return e}class InterceptorManager{constructor(){this.handlers=[]}use(t,n,a){return this.handlers.push({fulfilled:t,rejected:n,synchronous:a?a.synchronous:!1,runWhen:a?a.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){utils$1.forEach(this.handlers,function(a){a!==null&&t(a)})}}const transitionalDefaults={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},URLSearchParams$1=typeof URLSearchParams<"u"?URLSearchParams:AxiosURLSearchParams,FormData$1=typeof FormData<"u"?FormData:null,Blob$1=typeof Blob<"u"?Blob:null,platform$1={isBrowser:!0,classes:{URLSearchParams:URLSearchParams$1,FormData:FormData$1,Blob:Blob$1},protocols:["http","https","file","blob","url","data"]},hasBrowserEnv=typeof window<"u"&&typeof document<"u",_navigator=typeof navigator=="object"&&navigator||void 0,hasStandardBrowserEnv=hasBrowserEnv&&(!_navigator||["ReactNative","NativeScript","NS"].indexOf(_navigator.product)<0),hasStandardBrowserWebWorkerEnv=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",origin=hasBrowserEnv&&window.location.href||"http://localhost",utils=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv,hasStandardBrowserEnv,hasStandardBrowserWebWorkerEnv,navigator:_navigator,origin},Symbol.toStringTag,{value:"Module"})),platform={...utils,...platform$1};function toURLEncodedForm(e,t){return toFormData$1(e,new platform.classes.URLSearchParams,Object.assign({visitor:function(n,a,r,s){return platform.isNode&&utils$1.isBuffer(n)?(this.append(a,n.toString("base64")),!1):s.defaultVisitor.apply(this,arguments)}},t))}function parsePropPath(e){return utils$1.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function arrayToObject(e){const t={},n=Object.keys(e);let a;const r=n.length;let s;for(a=0;a<r;a++)s=n[a],t[s]=e[s];return t}function formDataToJSON(e){function t(n,a,r,s){let o=n[s++];if(o==="__proto__")return!0;const i=Number.isFinite(+o),l=s>=n.length;return o=!o&&utils$1.isArray(r)?r.length:o,l?(utils$1.hasOwnProp(r,o)?r[o]=[r[o],a]:r[o]=a,!i):((!r[o]||!utils$1.isObject(r[o]))&&(r[o]=[]),t(n,a,r[o],s)&&utils$1.isArray(r[o])&&(r[o]=arrayToObject(r[o])),!i)}if(utils$1.isFormData(e)&&utils$1.isFunction(e.entries)){const n={};return utils$1.forEachEntry(e,(a,r)=>{t(parsePropPath(a),r,n,0)}),n}return null}function stringifySafely(e,t,n){if(utils$1.isString(e))try{return(t||JSON.parse)(e),utils$1.trim(e)}catch(a){if(a.name!=="SyntaxError")throw a}return(n||JSON.stringify)(e)}const defaults={transitional:transitionalDefaults,adapter:["xhr","http","fetch"],transformRequest:[function e(t,n){const a=n.getContentType()||"",r=a.indexOf("application/json")>-1,s=utils$1.isObject(t);if(s&&utils$1.isHTMLForm(t)&&(t=new FormData(t)),utils$1.isFormData(t))return r?JSON.stringify(formDataToJSON(t)):t;if(utils$1.isArrayBuffer(t)||utils$1.isBuffer(t)||utils$1.isStream(t)||utils$1.isFile(t)||utils$1.isBlob(t)||utils$1.isReadableStream(t))return t;if(utils$1.isArrayBufferView(t))return t.buffer;if(utils$1.isURLSearchParams(t))return n.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let i;if(s){if(a.indexOf("application/x-www-form-urlencoded")>-1)return toURLEncodedForm(t,this.formSerializer).toString();if((i=utils$1.isFileList(t))||a.indexOf("multipart/form-data")>-1){const l=this.env&&this.env.FormData;return toFormData$1(i?{"files[]":t}:t,l&&new l,this.formSerializer)}}return s||r?(n.setContentType("application/json",!1),stringifySafely(t)):t}],transformResponse:[function e(t){const n=this.transitional||defaults.transitional,a=n&&n.forcedJSONParsing,r=this.responseType==="json";if(utils$1.isResponse(t)||utils$1.isReadableStream(t))return t;if(t&&utils$1.isString(t)&&(a&&!this.responseType||r)){const o=!(n&&n.silentJSONParsing)&&r;try{return JSON.parse(t)}catch(i){if(o)throw i.name==="SyntaxError"?AxiosError$1.from(i,AxiosError$1.ERR_BAD_RESPONSE,this,null,this.response):i}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:platform.classes.FormData,Blob:platform.classes.Blob},validateStatus:function e(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};utils$1.forEach(["delete","get","head","post","put","patch"],e=>{defaults.headers[e]={}});const ignoreDuplicateOf=utils$1.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),parseHeaders=e=>{const t={};let n,a,r;return e&&e.split(`
|
|
6
|
+
`).forEach(function(o){r=o.indexOf(":"),n=o.substring(0,r).trim().toLowerCase(),a=o.substring(r+1).trim(),!(!n||t[n]&&ignoreDuplicateOf[n])&&(n==="set-cookie"?t[n]?t[n].push(a):t[n]=[a]:t[n]=t[n]?t[n]+", "+a:a)}),t},$internals=Symbol("internals");function normalizeHeader(e){return e&&String(e).trim().toLowerCase()}function normalizeValue(e){return e===!1||e==null?e:utils$1.isArray(e)?e.map(normalizeValue):String(e)}function parseTokens(e){const t=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let a;for(;a=n.exec(e);)t[a[1]]=a[2];return t}const isValidHeaderName=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function matchHeaderValue(e,t,n,a,r){if(utils$1.isFunction(a))return a.call(this,t,n);if(r&&(t=n),!!utils$1.isString(t)){if(utils$1.isString(a))return t.indexOf(a)!==-1;if(utils$1.isRegExp(a))return a.test(t)}}function formatHeader(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(t,n,a)=>n.toUpperCase()+a)}function buildAccessors(e,t){const n=utils$1.toCamelCase(" "+t);["get","set","has"].forEach(a=>{Object.defineProperty(e,a+n,{value:function(r,s,o){return this[a].call(this,t,r,s,o)},configurable:!0})})}let AxiosHeaders$1=class{constructor(t){t&&this.set(t)}set(t,n,a){const r=this;function s(i,l,u){const d=normalizeHeader(l);if(!d)throw new Error("header name must be a non-empty string");const c=utils$1.findKey(r,d);(!c||r[c]===void 0||u===!0||u===void 0&&r[c]!==!1)&&(r[c||l]=normalizeValue(i))}const o=(i,l)=>utils$1.forEach(i,(u,d)=>s(u,d,l));if(utils$1.isPlainObject(t)||t instanceof this.constructor)o(t,n);else if(utils$1.isString(t)&&(t=t.trim())&&!isValidHeaderName(t))o(parseHeaders(t),n);else if(utils$1.isObject(t)&&utils$1.isIterable(t)){let i={},l,u;for(const d of t){if(!utils$1.isArray(d))throw TypeError("Object iterator must return a key-value pair");i[u=d[0]]=(l=i[u])?utils$1.isArray(l)?[...l,d[1]]:[l,d[1]]:d[1]}o(i,n)}else t!=null&&s(n,t,a);return this}get(t,n){if(t=normalizeHeader(t),t){const a=utils$1.findKey(this,t);if(a){const r=this[a];if(!n)return r;if(n===!0)return parseTokens(r);if(utils$1.isFunction(n))return n.call(this,r,a);if(utils$1.isRegExp(n))return n.exec(r);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,n){if(t=normalizeHeader(t),t){const a=utils$1.findKey(this,t);return!!(a&&this[a]!==void 0&&(!n||matchHeaderValue(this,this[a],a,n)))}return!1}delete(t,n){const a=this;let r=!1;function s(o){if(o=normalizeHeader(o),o){const i=utils$1.findKey(a,o);i&&(!n||matchHeaderValue(a,a[i],i,n))&&(delete a[i],r=!0)}}return utils$1.isArray(t)?t.forEach(s):s(t),r}clear(t){const n=Object.keys(this);let a=n.length,r=!1;for(;a--;){const s=n[a];(!t||matchHeaderValue(this,this[s],s,t,!0))&&(delete this[s],r=!0)}return r}normalize(t){const n=this,a={};return utils$1.forEach(this,(r,s)=>{const o=utils$1.findKey(a,s);if(o){n[o]=normalizeValue(r),delete n[s];return}const i=t?formatHeader(s):String(s).trim();i!==s&&delete n[s],n[i]=normalizeValue(r),a[i]=!0}),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){const n=Object.create(null);return utils$1.forEach(this,(a,r)=>{a!=null&&a!==!1&&(n[r]=t&&utils$1.isArray(a)?a.join(", "):a)}),n}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([t,n])=>t+": "+n).join(`
|
|
7
|
+
`)}getSetCookie(){return this.get("set-cookie")||[]}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...n){const a=new this(t);return n.forEach(r=>a.set(r)),a}static accessor(t){const a=(this[$internals]=this[$internals]={accessors:{}}).accessors,r=this.prototype;function s(o){const i=normalizeHeader(o);a[i]||(buildAccessors(r,o),a[i]=!0)}return utils$1.isArray(t)?t.forEach(s):s(t),this}};AxiosHeaders$1.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);utils$1.reduceDescriptors(AxiosHeaders$1.prototype,({value:e},t)=>{let n=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(a){this[n]=a}}});utils$1.freezeMethods(AxiosHeaders$1);function transformData(e,t){const n=this||defaults,a=t||n,r=AxiosHeaders$1.from(a.headers);let s=a.data;return utils$1.forEach(e,function(i){s=i.call(n,s,r.normalize(),t?t.status:void 0)}),r.normalize(),s}function isCancel$1(e){return!!(e&&e.__CANCEL__)}function CanceledError$1(e,t,n){AxiosError$1.call(this,e??"canceled",AxiosError$1.ERR_CANCELED,t,n),this.name="CanceledError"}utils$1.inherits(CanceledError$1,AxiosError$1,{__CANCEL__:!0});function settle(e,t,n){const a=n.config.validateStatus;!n.status||!a||a(n.status)?e(n):t(new AxiosError$1("Request failed with status code "+n.status,[AxiosError$1.ERR_BAD_REQUEST,AxiosError$1.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n))}function parseProtocol(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}function speedometer(e,t){e=e||10;const n=new Array(e),a=new Array(e);let r=0,s=0,o;return t=t!==void 0?t:1e3,function(l){const u=Date.now(),d=a[s];o||(o=u),n[r]=l,a[r]=u;let c=s,f=0;for(;c!==r;)f+=n[c++],c=c%e;if(r=(r+1)%e,r===s&&(s=(s+1)%e),u-o<t)return;const y=d&&u-d;return y?Math.round(f*1e3/y):void 0}}function throttle(e,t){let n=0,a=1e3/t,r,s;const o=(u,d=Date.now())=>{n=d,r=null,s&&(clearTimeout(s),s=null),e.apply(null,u)};return[(...u)=>{const d=Date.now(),c=d-n;c>=a?o(u,d):(r=u,s||(s=setTimeout(()=>{s=null,o(r)},a-c)))},()=>r&&o(r)]}const progressEventReducer=(e,t,n=3)=>{let a=0;const r=speedometer(50,250);return throttle(s=>{const o=s.loaded,i=s.lengthComputable?s.total:void 0,l=o-a,u=r(l),d=o<=i;a=o;const c={loaded:o,total:i,progress:i?o/i:void 0,bytes:l,rate:u||void 0,estimated:u&&i&&d?(i-o)/u:void 0,event:s,lengthComputable:i!=null,[t?"download":"upload"]:!0};e(c)},n)},progressEventDecorator=(e,t)=>{const n=e!=null;return[a=>t[0]({lengthComputable:n,total:e,loaded:a}),t[1]]},asyncDecorator=e=>(...t)=>utils$1.asap(()=>e(...t)),isURLSameOrigin=platform.hasStandardBrowserEnv?((e,t)=>n=>(n=new URL(n,platform.origin),e.protocol===n.protocol&&e.host===n.host&&(t||e.port===n.port)))(new URL(platform.origin),platform.navigator&&/(msie|trident)/i.test(platform.navigator.userAgent)):()=>!0,cookies=platform.hasStandardBrowserEnv?{write(e,t,n,a,r,s){const o=[e+"="+encodeURIComponent(t)];utils$1.isNumber(n)&&o.push("expires="+new Date(n).toGMTString()),utils$1.isString(a)&&o.push("path="+a),utils$1.isString(r)&&o.push("domain="+r),s===!0&&o.push("secure"),document.cookie=o.join("; ")},read(e){const t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove(e){this.write(e,"",Date.now()-864e5)}}:{write(){},read(){return null},remove(){}};function isAbsoluteURL(e){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function combineURLs(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}function buildFullPath(e,t,n){let a=!isAbsoluteURL(t);return e&&(a||n==!1)?combineURLs(e,t):t}const headersToObject=e=>e instanceof AxiosHeaders$1?{...e}:e;function mergeConfig$1(e,t){t=t||{};const n={};function a(u,d,c,f){return utils$1.isPlainObject(u)&&utils$1.isPlainObject(d)?utils$1.merge.call({caseless:f},u,d):utils$1.isPlainObject(d)?utils$1.merge({},d):utils$1.isArray(d)?d.slice():d}function r(u,d,c,f){if(utils$1.isUndefined(d)){if(!utils$1.isUndefined(u))return a(void 0,u,c,f)}else return a(u,d,c,f)}function s(u,d){if(!utils$1.isUndefined(d))return a(void 0,d)}function o(u,d){if(utils$1.isUndefined(d)){if(!utils$1.isUndefined(u))return a(void 0,u)}else return a(void 0,d)}function i(u,d,c){if(c in t)return a(u,d);if(c in e)return a(void 0,u)}const l={url:s,method:s,data:s,baseURL:o,transformRequest:o,transformResponse:o,paramsSerializer:o,timeout:o,timeoutMessage:o,withCredentials:o,withXSRFToken:o,adapter:o,responseType:o,xsrfCookieName:o,xsrfHeaderName:o,onUploadProgress:o,onDownloadProgress:o,decompress:o,maxContentLength:o,maxBodyLength:o,beforeRedirect:o,transport:o,httpAgent:o,httpsAgent:o,cancelToken:o,socketPath:o,responseEncoding:o,validateStatus:i,headers:(u,d,c)=>r(headersToObject(u),headersToObject(d),c,!0)};return utils$1.forEach(Object.keys(Object.assign({},e,t)),function(d){const c=l[d]||r,f=c(e[d],t[d],d);utils$1.isUndefined(f)&&c!==i||(n[d]=f)}),n}const resolveConfig=e=>{const t=mergeConfig$1({},e);let{data:n,withXSRFToken:a,xsrfHeaderName:r,xsrfCookieName:s,headers:o,auth:i}=t;t.headers=o=AxiosHeaders$1.from(o),t.url=buildURL(buildFullPath(t.baseURL,t.url,t.allowAbsoluteUrls),e.params,e.paramsSerializer),i&&o.set("Authorization","Basic "+btoa((i.username||"")+":"+(i.password?unescape(encodeURIComponent(i.password)):"")));let l;if(utils$1.isFormData(n)){if(platform.hasStandardBrowserEnv||platform.hasStandardBrowserWebWorkerEnv)o.setContentType(void 0);else if((l=o.getContentType())!==!1){const[u,...d]=l?l.split(";").map(c=>c.trim()).filter(Boolean):[];o.setContentType([u||"multipart/form-data",...d].join("; "))}}if(platform.hasStandardBrowserEnv&&(a&&utils$1.isFunction(a)&&(a=a(t)),a||a!==!1&&isURLSameOrigin(t.url))){const u=r&&s&&cookies.read(s);u&&o.set(r,u)}return t},isXHRAdapterSupported=typeof XMLHttpRequest<"u",xhrAdapter=isXHRAdapterSupported&&function(e){return new Promise(function(n,a){const r=resolveConfig(e);let s=r.data;const o=AxiosHeaders$1.from(r.headers).normalize();let{responseType:i,onUploadProgress:l,onDownloadProgress:u}=r,d,c,f,y,p;function b(){y&&y(),p&&p(),r.cancelToken&&r.cancelToken.unsubscribe(d),r.signal&&r.signal.removeEventListener("abort",d)}let h=new XMLHttpRequest;h.open(r.method.toUpperCase(),r.url,!0),h.timeout=r.timeout;function T(){if(!h)return;const A=AxiosHeaders$1.from("getAllResponseHeaders"in h&&h.getAllResponseHeaders()),_={data:!i||i==="text"||i==="json"?h.responseText:h.response,status:h.status,statusText:h.statusText,headers:A,config:e,request:h};settle(function(P){n(P),b()},function(P){a(P),b()},_),h=null}"onloadend"in h?h.onloadend=T:h.onreadystatechange=function(){!h||h.readyState!==4||h.status===0&&!(h.responseURL&&h.responseURL.indexOf("file:")===0)||setTimeout(T)},h.onabort=function(){h&&(a(new AxiosError$1("Request aborted",AxiosError$1.ECONNABORTED,e,h)),h=null)},h.onerror=function(){a(new AxiosError$1("Network Error",AxiosError$1.ERR_NETWORK,e,h)),h=null},h.ontimeout=function(){let w=r.timeout?"timeout of "+r.timeout+"ms exceeded":"timeout exceeded";const _=r.transitional||transitionalDefaults;r.timeoutErrorMessage&&(w=r.timeoutErrorMessage),a(new AxiosError$1(w,_.clarifyTimeoutError?AxiosError$1.ETIMEDOUT:AxiosError$1.ECONNABORTED,e,h)),h=null},s===void 0&&o.setContentType(null),"setRequestHeader"in h&&utils$1.forEach(o.toJSON(),function(w,_){h.setRequestHeader(_,w)}),utils$1.isUndefined(r.withCredentials)||(h.withCredentials=!!r.withCredentials),i&&i!=="json"&&(h.responseType=r.responseType),u&&([f,p]=progressEventReducer(u,!0),h.addEventListener("progress",f)),l&&h.upload&&([c,y]=progressEventReducer(l),h.upload.addEventListener("progress",c),h.upload.addEventListener("loadend",y)),(r.cancelToken||r.signal)&&(d=A=>{h&&(a(!A||A.type?new CanceledError$1(null,e,h):A),h.abort(),h=null)},r.cancelToken&&r.cancelToken.subscribe(d),r.signal&&(r.signal.aborted?d():r.signal.addEventListener("abort",d)));const g=parseProtocol(r.url);if(g&&platform.protocols.indexOf(g)===-1){a(new AxiosError$1("Unsupported protocol "+g+":",AxiosError$1.ERR_BAD_REQUEST,e));return}h.send(s||null)})},composeSignals=(e,t)=>{const{length:n}=e=e?e.filter(Boolean):[];if(t||n){let a=new AbortController,r;const s=function(u){if(!r){r=!0,i();const d=u instanceof Error?u:this.reason;a.abort(d instanceof AxiosError$1?d:new CanceledError$1(d instanceof Error?d.message:d))}};let o=t&&setTimeout(()=>{o=null,s(new AxiosError$1(`timeout ${t} of ms exceeded`,AxiosError$1.ETIMEDOUT))},t);const i=()=>{e&&(o&&clearTimeout(o),o=null,e.forEach(u=>{u.unsubscribe?u.unsubscribe(s):u.removeEventListener("abort",s)}),e=null)};e.forEach(u=>u.addEventListener("abort",s));const{signal:l}=a;return l.unsubscribe=()=>utils$1.asap(i),l}},streamChunk=function*(e,t){let n=e.byteLength;if(n<t){yield e;return}let a=0,r;for(;a<n;)r=a+t,yield e.slice(a,r),a=r},readBytes=async function*(e,t){for await(const n of readStream(e))yield*streamChunk(n,t)},readStream=async function*(e){if(e[Symbol.asyncIterator]){yield*e;return}const t=e.getReader();try{for(;;){const{done:n,value:a}=await t.read();if(n)break;yield a}}finally{await t.cancel()}},trackStream=(e,t,n,a)=>{const r=readBytes(e,t);let s=0,o,i=l=>{o||(o=!0,a&&a(l))};return new ReadableStream({async pull(l){try{const{done:u,value:d}=await r.next();if(u){i(),l.close();return}let c=d.byteLength;if(n){let f=s+=c;n(f)}l.enqueue(new Uint8Array(d))}catch(u){throw i(u),u}},cancel(l){return i(l),r.return()}},{highWaterMark:2})},isFetchSupported=typeof fetch=="function"&&typeof Request=="function"&&typeof Response=="function",isReadableStreamSupported=isFetchSupported&&typeof ReadableStream=="function",encodeText=isFetchSupported&&(typeof TextEncoder=="function"?(e=>t=>e.encode(t))(new TextEncoder):async e=>new Uint8Array(await new Response(e).arrayBuffer())),test=(e,...t)=>{try{return!!e(...t)}catch{return!1}},supportsRequestStream=isReadableStreamSupported&&test(()=>{let e=!1;const t=new Request(platform.origin,{body:new ReadableStream,method:"POST",get duplex(){return e=!0,"half"}}).headers.has("Content-Type");return e&&!t}),DEFAULT_CHUNK_SIZE=64*1024,supportsResponseStream=isReadableStreamSupported&&test(()=>utils$1.isReadableStream(new Response("").body)),resolvers={stream:supportsResponseStream&&(e=>e.body)};isFetchSupported&&(e=>{["text","arrayBuffer","blob","formData","stream"].forEach(t=>{!resolvers[t]&&(resolvers[t]=utils$1.isFunction(e[t])?n=>n[t]():(n,a)=>{throw new AxiosError$1(`Response type '${t}' is not supported`,AxiosError$1.ERR_NOT_SUPPORT,a)})})})(new Response);const getBodyLength=async e=>{if(e==null)return 0;if(utils$1.isBlob(e))return e.size;if(utils$1.isSpecCompliantForm(e))return(await new Request(platform.origin,{method:"POST",body:e}).arrayBuffer()).byteLength;if(utils$1.isArrayBufferView(e)||utils$1.isArrayBuffer(e))return e.byteLength;if(utils$1.isURLSearchParams(e)&&(e=e+""),utils$1.isString(e))return(await encodeText(e)).byteLength},resolveBodyLength=async(e,t)=>{const n=utils$1.toFiniteNumber(e.getContentLength());return n??getBodyLength(t)},fetchAdapter=isFetchSupported&&(async e=>{let{url:t,method:n,data:a,signal:r,cancelToken:s,timeout:o,onDownloadProgress:i,onUploadProgress:l,responseType:u,headers:d,withCredentials:c="same-origin",fetchOptions:f}=resolveConfig(e);u=u?(u+"").toLowerCase():"text";let y=composeSignals([r,s&&s.toAbortSignal()],o),p;const b=y&&y.unsubscribe&&(()=>{y.unsubscribe()});let h;try{if(l&&supportsRequestStream&&n!=="get"&&n!=="head"&&(h=await resolveBodyLength(d,a))!==0){let _=new Request(t,{method:"POST",body:a,duplex:"half"}),M;if(utils$1.isFormData(a)&&(M=_.headers.get("content-type"))&&d.setContentType(M),_.body){const[P,k]=progressEventDecorator(h,progressEventReducer(asyncDecorator(l)));a=trackStream(_.body,DEFAULT_CHUNK_SIZE,P,k)}}utils$1.isString(c)||(c=c?"include":"omit");const T="credentials"in Request.prototype;p=new Request(t,{...f,signal:y,method:n.toUpperCase(),headers:d.normalize().toJSON(),body:a,duplex:"half",credentials:T?c:void 0});let g=await fetch(p,f);const A=supportsResponseStream&&(u==="stream"||u==="response");if(supportsResponseStream&&(i||A&&b)){const _={};["status","statusText","headers"].forEach(D=>{_[D]=g[D]});const M=utils$1.toFiniteNumber(g.headers.get("content-length")),[P,k]=i&&progressEventDecorator(M,progressEventReducer(asyncDecorator(i),!0))||[];g=new Response(trackStream(g.body,DEFAULT_CHUNK_SIZE,P,()=>{k&&k(),b&&b()}),_)}u=u||"text";let w=await resolvers[utils$1.findKey(resolvers,u)||"text"](g,e);return!A&&b&&b(),await new Promise((_,M)=>{settle(_,M,{data:w,headers:AxiosHeaders$1.from(g.headers),status:g.status,statusText:g.statusText,config:e,request:p})})}catch(T){throw b&&b(),T&&T.name==="TypeError"&&/Load failed|fetch/i.test(T.message)?Object.assign(new AxiosError$1("Network Error",AxiosError$1.ERR_NETWORK,e,p),{cause:T.cause||T}):AxiosError$1.from(T,T&&T.code,e,p)}}),knownAdapters={http:httpAdapter,xhr:xhrAdapter,fetch:fetchAdapter};utils$1.forEach(knownAdapters,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch{}Object.defineProperty(e,"adapterName",{value:t})}});const renderReason=e=>`- ${e}`,isResolvedHandle=e=>utils$1.isFunction(e)||e===null||e===!1,adapters={getAdapter:e=>{e=utils$1.isArray(e)?e:[e];const{length:t}=e;let n,a;const r={};for(let s=0;s<t;s++){n=e[s];let o;if(a=n,!isResolvedHandle(n)&&(a=knownAdapters[(o=String(n)).toLowerCase()],a===void 0))throw new AxiosError$1(`Unknown adapter '${o}'`);if(a)break;r[o||"#"+s]=a}if(!a){const s=Object.entries(r).map(([i,l])=>`adapter ${i} `+(l===!1?"is not supported by the environment":"is not available in the build"));let o=t?s.length>1?`since :
|
|
8
|
+
`+s.map(renderReason).join(`
|
|
9
|
+
`):" "+renderReason(s[0]):"as no adapter specified";throw new AxiosError$1("There is no suitable adapter to dispatch the request "+o,"ERR_NOT_SUPPORT")}return a},adapters:knownAdapters};function throwIfCancellationRequested(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new CanceledError$1(null,e)}function dispatchRequest(e){return throwIfCancellationRequested(e),e.headers=AxiosHeaders$1.from(e.headers),e.data=transformData.call(e,e.transformRequest),["post","put","patch"].indexOf(e.method)!==-1&&e.headers.setContentType("application/x-www-form-urlencoded",!1),adapters.getAdapter(e.adapter||defaults.adapter)(e).then(function(a){return throwIfCancellationRequested(e),a.data=transformData.call(e,e.transformResponse,a),a.headers=AxiosHeaders$1.from(a.headers),a},function(a){return isCancel$1(a)||(throwIfCancellationRequested(e),a&&a.response&&(a.response.data=transformData.call(e,e.transformResponse,a.response),a.response.headers=AxiosHeaders$1.from(a.response.headers))),Promise.reject(a)})}const VERSION$1="1.10.0",validators$1={};["object","boolean","number","function","string","symbol"].forEach((e,t)=>{validators$1[e]=function(a){return typeof a===e||"a"+(t<1?"n ":" ")+e}});const deprecatedWarnings={};validators$1.transitional=function e(t,n,a){function r(s,o){return"[Axios v"+VERSION$1+"] Transitional option '"+s+"'"+o+(a?". "+a:"")}return(s,o,i)=>{if(t===!1)throw new AxiosError$1(r(o," has been removed"+(n?" in "+n:"")),AxiosError$1.ERR_DEPRECATED);return n&&!deprecatedWarnings[o]&&(deprecatedWarnings[o]=!0,console.warn(r(o," has been deprecated since v"+n+" and will be removed in the near future"))),t?t(s,o,i):!0}};validators$1.spelling=function e(t){return(n,a)=>(console.warn(`${a} is likely a misspelling of ${t}`),!0)};function assertOptions(e,t,n){if(typeof e!="object")throw new AxiosError$1("options must be an object",AxiosError$1.ERR_BAD_OPTION_VALUE);const a=Object.keys(e);let r=a.length;for(;r-- >0;){const s=a[r],o=t[s];if(o){const i=e[s],l=i===void 0||o(i,s,e);if(l!==!0)throw new AxiosError$1("option "+s+" must be "+l,AxiosError$1.ERR_BAD_OPTION_VALUE);continue}if(n!==!0)throw new AxiosError$1("Unknown option "+s,AxiosError$1.ERR_BAD_OPTION)}}const validator={assertOptions,validators:validators$1},validators=validator.validators;let Axios$1=class{constructor(t){this.defaults=t||{},this.interceptors={request:new InterceptorManager,response:new InterceptorManager}}async request(t,n){try{return await this._request(t,n)}catch(a){if(a instanceof Error){let r={};Error.captureStackTrace?Error.captureStackTrace(r):r=new Error;const s=r.stack?r.stack.replace(/^.+\n/,""):"";try{a.stack?s&&!String(a.stack).endsWith(s.replace(/^.+\n.+\n/,""))&&(a.stack+=`
|
|
10
|
+
`+s):a.stack=s}catch{}}throw a}}_request(t,n){typeof t=="string"?(n=n||{},n.url=t):n=t||{},n=mergeConfig$1(this.defaults,n);const{transitional:a,paramsSerializer:r,headers:s}=n;a!==void 0&&validator.assertOptions(a,{silentJSONParsing:validators.transitional(validators.boolean),forcedJSONParsing:validators.transitional(validators.boolean),clarifyTimeoutError:validators.transitional(validators.boolean)},!1),r!=null&&(utils$1.isFunction(r)?n.paramsSerializer={serialize:r}:validator.assertOptions(r,{encode:validators.function,serialize:validators.function},!0)),n.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?n.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:n.allowAbsoluteUrls=!0),validator.assertOptions(n,{baseUrl:validators.spelling("baseURL"),withXsrfToken:validators.spelling("withXSRFToken")},!0),n.method=(n.method||this.defaults.method||"get").toLowerCase();let o=s&&utils$1.merge(s.common,s[n.method]);s&&utils$1.forEach(["delete","get","head","post","put","patch","common"],p=>{delete s[p]}),n.headers=AxiosHeaders$1.concat(o,s);const i=[];let l=!0;this.interceptors.request.forEach(function(b){typeof b.runWhen=="function"&&b.runWhen(n)===!1||(l=l&&b.synchronous,i.unshift(b.fulfilled,b.rejected))});const u=[];this.interceptors.response.forEach(function(b){u.push(b.fulfilled,b.rejected)});let d,c=0,f;if(!l){const p=[dispatchRequest.bind(this),void 0];for(p.unshift.apply(p,i),p.push.apply(p,u),f=p.length,d=Promise.resolve(n);c<f;)d=d.then(p[c++],p[c++]);return d}f=i.length;let y=n;for(c=0;c<f;){const p=i[c++],b=i[c++];try{y=p(y)}catch(h){b.call(this,h);break}}try{d=dispatchRequest.call(this,y)}catch(p){return Promise.reject(p)}for(c=0,f=u.length;c<f;)d=d.then(u[c++],u[c++]);return d}getUri(t){t=mergeConfig$1(this.defaults,t);const n=buildFullPath(t.baseURL,t.url,t.allowAbsoluteUrls);return buildURL(n,t.params,t.paramsSerializer)}};utils$1.forEach(["delete","get","head","options"],function e(t){Axios$1.prototype[t]=function(n,a){return this.request(mergeConfig$1(a||{},{method:t,url:n,data:(a||{}).data}))}});utils$1.forEach(["post","put","patch"],function e(t){function n(a){return function(s,o,i){return this.request(mergeConfig$1(i||{},{method:t,headers:a?{"Content-Type":"multipart/form-data"}:{},url:s,data:o}))}}Axios$1.prototype[t]=n(),Axios$1.prototype[t+"Form"]=n(!0)});let CancelToken$1=class tt{constructor(t){if(typeof t!="function")throw new TypeError("executor must be a function.");let n;this.promise=new Promise(function(s){n=s});const a=this;this.promise.then(r=>{if(!a._listeners)return;let s=a._listeners.length;for(;s-- >0;)a._listeners[s](r);a._listeners=null}),this.promise.then=r=>{let s;const o=new Promise(i=>{a.subscribe(i),s=i}).then(r);return o.cancel=function(){a.unsubscribe(s)},o},t(function(s,o,i){a.reason||(a.reason=new CanceledError$1(s,o,i),n(a.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){if(this.reason){t(this.reason);return}this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;const n=this._listeners.indexOf(t);n!==-1&&this._listeners.splice(n,1)}toAbortSignal(){const t=new AbortController,n=a=>{t.abort(a)};return this.subscribe(n),t.signal.unsubscribe=()=>this.unsubscribe(n),t.signal}static source(){let t;return{token:new tt(function(r){t=r}),cancel:t}}};function spread$1(e){return function(n){return e.apply(null,n)}}function isAxiosError$1(e){return utils$1.isObject(e)&&e.isAxiosError===!0}const HttpStatusCode$1={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(HttpStatusCode$1).forEach(([e,t])=>{HttpStatusCode$1[t]=e});function createInstance(e){const t=new Axios$1(e),n=bind(Axios$1.prototype.request,t);return utils$1.extend(n,Axios$1.prototype,t,{allOwnKeys:!0}),utils$1.extend(n,t,null,{allOwnKeys:!0}),n.create=function(r){return createInstance(mergeConfig$1(e,r))},n}const axios=createInstance(defaults);axios.Axios=Axios$1;axios.CanceledError=CanceledError$1;axios.CancelToken=CancelToken$1;axios.isCancel=isCancel$1;axios.VERSION=VERSION$1;axios.toFormData=toFormData$1;axios.AxiosError=AxiosError$1;axios.Cancel=axios.CanceledError;axios.all=function e(t){return Promise.all(t)};axios.spread=spread$1;axios.isAxiosError=isAxiosError$1;axios.mergeConfig=mergeConfig$1;axios.AxiosHeaders=AxiosHeaders$1;axios.formToJSON=e=>formDataToJSON(utils$1.isHTMLForm(e)?new FormData(e):e);axios.getAdapter=adapters.getAdapter;axios.HttpStatusCode=HttpStatusCode$1;axios.default=axios;const{Axios,AxiosError,CanceledError,isCancel,CancelToken,VERSION,all,Cancel,isAxiosError,spread,toFormData,AxiosHeaders,HttpStatusCode,formToJSON,getAdapter,mergeConfig}=axios;function getNativeContractAddress(e){return e==="Sui"?"0x2::sui::SUI":"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"},testnetSupportedChainMap={Solana:"solana",Ethereum:"ethereum",Base:"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 address.toChain(Number(e))}function supportedChains(e){return Object.keys(e==="Testnet"?testnetSupportedChainMap:chainNameMap)}var MayanClientStatus;(function(e){e.INPROGRESS="INPROGRESS",e.COMPLETED="COMPLETED",e.REFUNDED="REFUNDED",e.CANCELED="CANCELED"})(MayanClientStatus||(MayanClientStatus={}));const possibleVaaTypes=["transfer","swap","redeem","refund"];var MayanTransactionGoal;(function(e){e.Send="SEND",e.Bridge="BRIDGE",e.Swap="SWAP",e.Register="REGISTER",e.Settle="SETTLE"})(MayanTransactionGoal||(MayanTransactionGoal={}));function txStatusToReceipt(e){const t=toWormholeChainName(e.sourceChain),n=toWormholeChainName(e.destChain),a=e.txs.filter(u=>u.goals.includes(MayanTransactionGoal.Send)||u.goals.includes(MayanTransactionGoal.Register)).map(u=>({chain:t,txid:u.txHash})),r=e.txs.filter(u=>u.goals.includes(MayanTransactionGoal.Settle)).map(u=>({chain:n,txid:u.txHash}));let s=[];e.refundTxHash&&s.push({chain:toWormholeChainName(e.refundChain),txid:e.refundTxHash});const o={};for(const u of possibleVaaTypes){const d=`${u}SignedVaa`;if(d in e&&e[d]!==null){const c=address.deserialize("Uint8Array",address.hex.decode(e[d]));o[u]={id:{emitter:c.emitterAddress,sequence:c.sequence,chain:c.emitterChain},attestation:c}}}let i={},l=!1;if("redeem"in o?(i=o.redeem,l=!0):"transfer"in o&&(i=o.transfer,l=!0),e.clientStatus===MayanClientStatus.COMPLETED)return{from:t,to:n,originTxs:a,destinationTxs:r,state:address.TransferState.DestinationFinalized,attestation:i};if(e.clientStatus===MayanClientStatus.REFUNDED||e.clientStatus===MayanClientStatus.CANCELED)return{from:t,to:n,originTxs:a,refundTxs:s,state:address.TransferState.Refunded,attestation:o.refund};if(e.clientStatus===MayanClientStatus.INPROGRESS)return l&&r.length>0?{from:t,to:n,originTxs:a,destinationTxs:r,state:address.TransferState.DestinationInitiated,attestation:i}:{from:t,to:n,originTxs:a,state:address.TransferState.SourceInitiated};throw new Error(`Unknown Mayan clientStatus ${e.clientStatus}`)}async function getTransactionStatus(e,t){var a;const n=`https://${{Mainnet:"",Testnet:"testnet-",Devnet:""}[e]}explorer-api.mayan.finance/v3/swap/trx/${t.txid}`;try{const r=await axios.get(n);if(r.data.id)return r.data}catch(r){if(!r||typeof r=="object"&&(axios.isAxiosError(r)&&((a=r.response)==null?void 0:a.status)===404||"status"in r&&r.status===404))return null;throw r}return null}class MayanRouteBase extends address.AutomaticRoute{constructor(){super(...arguments);V(this,"MAX_SLIPPAGE",1);V(this,"protocols",["WH","MCTP","SWIFT","MONO_CHAIN"])}isTestnetRequest(n){return n.fromChain.network==="Testnet"||n.toChain.network==="Testnet"}normalizeQuoteForTestnet(n){const{hyperCoreParams:a,...r}=n;return r}getDefaultOptions(){return{gasDrop:0,slippageBps:"auto",optimizeFor:"speed"}}static supportedNetworks(){return["Mainnet","Testnet"]}static supportedChains(n){return supportedChains(n)}static async supportedSourceTokens(n){return[]}static isProtocolSupported(n){return supportedChains(n.network).includes(n.chain)}static async supportedDestinationTokens(n,a,r){return[]}async isAvailable(){return!0}async validate(n,a){try{return a.options=a.options??this.getDefaultOptions(),{valid:!0,params:{...a,normalizedParams:{slippageBps:a.options.slippageBps}}}}catch(r){return{valid:!1,params:a,error:r}}}toMayanAddress(n){return address.isNative(n.address)?getNativeContractAddress(n.chain):address.canonicalAddress(n)}async fetchQuote(n,a){var c,f;const{fromChain:r,toChain:s}=n;if(this.isTestnetRequest(n)){if(!isTestnetSupportedChain(r.chain))throw new Error(`Chain ${r.chain} is not supported on testnet. Supported testnet chains: ${supportedChains("Testnet").join(", ")}`);if(!isTestnetSupportedChain(s.chain))throw new Error(`Chain ${s.chain} is not supported on testnet. Supported testnet chains: ${supportedChains("Testnet").join(", ")}`)}const o={amount:Number(a.amount),fromToken:this.toMayanAddress(n.source.id),toToken:this.toMayanAddress(n.destination.id),fromChain:toMayanChainName(r.network,r.chain),toChain:toMayanChainName(s.network,s.chain),...this.getDefaultOptions(),...a.options,...this.getReferralParameters(n),slippageBps:"auto"},i={swift:this.protocols.includes("SWIFT"),mctp:this.protocols.includes("MCTP"),monoChain:this.protocols.includes("MONO_CHAIN")},l=new URL(this.isTestnetRequest(n)?generateFetchQuoteUrl({...o,fromChain:toMayanChainName(r.network,r.chain),toChain:toMayanChainName(s.network,s.chain)},i):generateFetchQuoteUrl$1(o,i));if(!l)throw new Error("Unable to generate fetch quote URL");l.searchParams.has("fullList")||l.searchParams.append("fullList","true");const u=await axios.get(l.toString());if(u.status!==200)throw new Error("Unable to fetch quote",{cause:u});const d=(f=(c=u.data)==null?void 0:c.quotes)==null?void 0:f.filter(y=>this.protocols.includes(y.type));if(!(!d||d.length===0))return d.length===1||d.sort((y,p)=>a.options.optimizeFor==="cost"?p.expectedAmountOut===y.expectedAmountOut?y.etaSeconds-p.etaSeconds:p.expectedAmountOut-y.expectedAmountOut:a.options.optimizeFor==="speed"?y.etaSeconds===p.etaSeconds?p.expectedAmountOut-y.expectedAmountOut:y.etaSeconds-p.etaSeconds:0),d[0]}async quote(n,a){var r,s;try{const o=await this.fetchQuote(n,a);if(!o)return{success:!1,error:new address.UnavailableError(new Error("Couldn't fetch a quote"))};const i={token:{chain:"Solana",address:address.Wormhole.parseAddress("Solana",address.usdcContract.get(n.fromChain.network,"Solana"))},amount:address.parse(address.denoise(o.clientRelayerFeeSuccess||"0",6),6)},l=o.deadline64?new Date(parseInt(o.deadline64,10)*1e3):void 0;return{success:!0,params:a,sourceToken:{token:n.source.id,amount:address.parse(address.denoise(o.effectiveAmountIn,o.fromToken.decimals),o.fromToken.decimals)},destinationToken:{token:n.destination.id,amount:address.parse(address.denoise(o.expectedAmountOut,o.toToken.decimals),o.toToken.decimals)},relayFee:i,destinationNativeGas:address.parse(address.denoise(o.gasDrop,o.toToken.decimals),o.toToken.decimals),eta:o.etaSeconds*1e3,details:o,expires:l}}catch(o){if(axios.isAxiosError(o)){const i=(r=o==null?void 0:o.response)==null?void 0:r.data;if((i==null?void 0:i.code)==="AMOUNT_TOO_SMALL"){const l=(s=i==null?void 0:i.data)==null?void 0:s.minAmountIn;if(typeof l=="number"){const u=address.parse(l,n.source.decimals);return{success:!1,error:new address.MinAmountError(u)}}}if(i!=null&&i.msg)return{success:!1,error:Error(i==null?void 0:i.msg,{cause:i})}}return{success:!1,error:o}}}async initiate(n,a,r,s){const o=a.address(),i=address.canonicalAddress(s);try{const l=await n.fromChain.getRpc(),u=[];if(n.fromChain.chain==="Solana"){const{instructions:d,signers:c,lookupTables:f}=await(this.isTestnetRequest(n)?createSwapFromSolanaInstructions(this.normalizeQuoteForTestnet(r.details),o,i,this.referrerAddress(),l,{allowSwapperOffCurve:!0}):createSwapFromSolanaInstructions$1(r.details,o,i,this.referrerAddress(),l,{allowSwapperOffCurve:!0})),y=address.MessageV0.compile({instructions:d,payerKey:new address.PublicKey(o),recentBlockhash:"",addressLookupTableAccounts:f}),p=[new unsignedTransaction.SolanaUnsignedTransaction({transaction:new address.VersionedTransaction(y),signers:c},n.fromChain.network,n.fromChain.chain,"Execute Swap")];if(address.isSignAndSendSigner(a)){const b=await a.signAndSend(p);u.push(...b.map(h=>({chain:n.fromChain.chain,txid:h})))}else if(address.isSignOnlySigner(a)){const b=await a.sign(p),h=await unsignedTransaction.SolanaPlatform.sendWait(n.fromChain.chain,l,b);u.push(...h.map(T=>({chain:n.fromChain.chain,txid:T})))}}else if(n.fromChain.chain==="Sui"){const d=await(this.isTestnetRequest(n)?createSwapFromSuiMoveCalls(this.normalizeQuoteForTestnet(r.details),o,i,this.referrerAddress(),void 0,l):createSwapFromSuiMoveCalls$1(r.details,o,i,this.referrerAddress(),void 0,l)),c=[new unsignedTransaction$1.SuiUnsignedTransaction(d,n.fromChain.network,n.fromChain.chain,"Execute Swap")];if(address.isSignAndSendSigner(a)){const f=await a.signAndSend(c);u.push(...f.map(y=>({chain:n.fromChain.chain,txid:y})))}else if(address.isSignOnlySigner(a)){const f=await a.sign(c),y=await platform$2.SuiPlatform.sendWait(n.fromChain.chain,l,f);u.push(...y.map(p=>({chain:n.fromChain.chain,txid:p})))}}else{const d=[],c=address.networkChainToNativeChainId.get(n.fromChain.network,n.fromChain.chain);if(!address.isNative(n.source.id.address)){const y=platform$3.EvmPlatform.getTokenImplementation(await n.fromChain.getRpc(),this.toMayanAddress(n.source.id)),p=addresses_default$1.MAYAN_FORWARDER_CONTRACT,b=await y.allowance(o,p),h=address.units(r.sourceToken.amount);if(b<h){const T=await y.approve.populateTransaction(p,h);d.push(new unsignedTransaction$2.EvmUnsignedTransaction({from:a.address(),chainId:c,...T},n.fromChain.network,n.fromChain.chain,"Approve Allowance"))}}const f=this.isTestnetRequest(n)?getSwapFromEvmTxPayload(this.normalizeQuoteForTestnet(r.details),o,i,this.referrerAddress(),o,Number(c),void 0,void 0):getSwapFromEvmTxPayload$1(r.details,o,i,this.referrerAddress(),o,Number(c),void 0,void 0);if(d.push(new unsignedTransaction$2.EvmUnsignedTransaction({from:a.address(),chainId:c,...f},n.fromChain.network,n.fromChain.chain,"Execute Swap")),address.isSignAndSendSigner(a)){const y=await a.signAndSend(d);u.push(...y.map(p=>({chain:n.fromChain.chain,txid:p})))}else if(address.isSignOnlySigner(a)){const y=await a.sign(d),p=await platform$3.EvmPlatform.sendWait(n.fromChain.chain,l,y);u.push(...p.map(b=>({chain:n.fromChain.chain,txid:b})))}}return{from:n.fromChain.chain,to:n.toChain.chain,state:address.TransferState.SourceInitiated,originTxs:u}}catch(l){throw console.error(l),l}}async*track(n,a){if(address.isCompleted(n)||address.isRedeemed(n)||address.isRefunded(n))return n;let r=a||60*60*1e3;for(;r>0;){const s=Date.now();if(address.isSourceInitiated(n)||address.isSourceFinalized(n)||address.isAttested(n)){const o=await getTransactionStatus(this.wh.network,n.originTxs[n.originTxs.length-1]);if(o&&(n=txStatusToReceipt(o),yield{...n,txstatus:o},address.isCompleted(n)||address.isRedeemed(n)||address.isRefunded(n)))return n}else throw new Error("Transfer must have been initiated");await new Promise(o=>setTimeout(o,1e3)),r-=Date.now()-s}return n}transferUrl(n){return`https://explorer.mayan.finance/swap/${n}`}referrerAddress(){const{referrers:n}=this.constructor;if(!(!n||Object.keys(n).length<1))return{solana:n.Solana||null,evm:n.Ethereum||null,sui:n.Sui||null}}getReferralParameters(n){const{referrers:a,getReferrerBps:r}=this.constructor;return!!(a!=null&&a.Solana)&&typeof r=="function"?{referrer:a.Solana,referrerBps:r(n)}:{}}}V(MayanRouteBase,"NATIVE_GAS_DROPOFF_SUPPORTED",!1),V(MayanRouteBase,"IS_AUTOMATIC",!0);class MayanRoute extends MayanRouteBase{constructor(){super(...arguments);V(this,"protocols",["WH","MCTP","SWIFT","MONO_CHAIN"])}}V(MayanRoute,"meta",{name:"MayanSwap",provider:"Mayan"});class MayanRouteSWIFT extends MayanRouteBase{constructor(){super(...arguments);V(this,"protocols",["SWIFT"])}}V(MayanRouteSWIFT,"meta",{name:"MayanSwapSWIFT",provider:"Mayan Swift"});class MayanRouteMCTP extends MayanRouteBase{constructor(){super(...arguments);V(this,"protocols",["MCTP"])}}V(MayanRouteMCTP,"meta",{name:"MayanSwapMCTP",provider:"Mayan MCTP"});class MayanRouteWH extends MayanRouteBase{constructor(){super(...arguments);V(this,"protocols",["WH"])}}V(MayanRouteWH,"meta",{name:"MayanSwapWH",provider:"Mayan"});function createMayanRouteWithReferrerFee(e,t={}){return t!=null&&t.referrers&&typeof(t==null?void 0:t.getReferrerBps)=="function"&&Object.assign(e,t),e}exports.MayanRoute=MayanRoute;exports.MayanRouteMCTP=MayanRouteMCTP;exports.MayanRouteSWIFT=MayanRouteSWIFT;exports.MayanRouteWH=MayanRouteWH;exports.createMayanRouteWithReferrerFee=createMayanRouteWithReferrerFee;
|