@wormhole-foundation/wormhole-connect 3.0.2-beta.0-development → 3.0.2-beta.1-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/README.md +1 -1
- package/dist/assets/{basic-ChNCp6rI.js → basic-PUjrTVXb.js} +1 -1
- package/dist/assets/{evm-DSirgd5b.js → evm-CO5UWnAY.js} +2 -2
- package/dist/assets/{index-L-lC4rqb.js → index-1lzfHdT2.js} +1 -1
- package/dist/assets/{index-CHfaLf5J.js → index-DBVZDYF7.js} +1 -1
- package/dist/assets/index-DKlPX3ZI.js +1 -0
- package/dist/assets/{index-BtCrMDAu.js → index-Ddk7n7Ti.js} +1 -1
- package/dist/assets/{index-HhyysXFu.js → index-DyUmO4PR.js} +1 -1
- package/dist/assets/{index-BiwA3Bbq.js → index-MMzKxP1N.js} +1 -1
- package/dist/assets/{secp256k1-Cd7rIav0.js → secp256k1-0LtSM2L1.js} +1 -1
- package/dist/assets/{secp256k1-BQBOR8e3.js → secp256k1-DwTU3j1N.js} +1 -1
- package/dist/assets/{solana-DcwLWeKT.js → solana-DlGdMBSL.js} +4 -4
- package/dist/assets/{w3m-modal-DdptuLHe.js → w3m-modal-DD9Jgepz.js} +1 -1
- package/dist/main.js +72 -70
- package/dist/src/AppRouter.d.ts.map +1 -1
- package/dist/src/config/mainnet/tokens.d.ts.map +1 -1
- package/dist/src/config/testnet/tokens.d.ts.map +1 -1
- package/dist/src/config/tokens.d.ts +1 -1
- package/dist/src/config/tokens.d.ts.map +1 -1
- package/dist/src/exports/index.d.ts +2 -2
- package/dist/src/exports/index.d.ts.map +1 -1
- package/dist/src/hooks/useFetchQuotes.d.ts.map +1 -1
- package/dist/src/icons/Chains/PLUME.d.ts.map +1 -1
- package/dist/src/icons/PoweredBy.d.ts.map +1 -1
- package/dist/src/icons/Routing.d.ts +5 -0
- package/dist/src/icons/Routing.d.ts.map +1 -0
- package/dist/src/icons/Tokens/PLUME.d.ts.map +1 -1
- package/dist/src/store/transferInput.d.ts +1 -1
- package/dist/src/store/transferInput.d.ts.map +1 -1
- package/dist/src/utils/coingecko.d.ts.map +1 -1
- package/dist/src/utils/formatNumber.d.ts +23 -0
- package/dist/src/utils/formatNumber.d.ts.map +1 -0
- package/dist/src/utils/index.d.ts +3 -1
- package/dist/src/utils/index.d.ts.map +1 -1
- package/dist/src/utils/routes.d.ts +12 -0
- package/dist/src/utils/routes.d.ts.map +1 -0
- package/dist/src/views/v2/Bridge/AmountInput/index.d.ts.map +1 -1
- package/dist/src/views/v2/Bridge/AssetPicker/TokenItem.d.ts.map +1 -1
- package/dist/src/views/v2/Bridge/Routes/SingleRoute.d.ts.map +1 -1
- package/dist/src/views/v2/Redeem/TransactionDetails/index.d.ts.map +1 -1
- package/dist/src/views/v3/Bridge/AmountInput/index.d.ts.map +1 -1
- package/dist/src/views/v3/Bridge/AssetPicker/TokenItem.d.ts.map +1 -1
- package/dist/src/views/v3/Bridge/AssetPicker/index.d.ts.map +1 -1
- package/dist/src/views/v3/Bridge/GasSlider/index.d.ts.map +1 -1
- package/dist/src/views/v3/Bridge/Routes/Eta.d.ts +6 -0
- package/dist/src/views/v3/Bridge/Routes/Eta.d.ts.map +1 -0
- package/dist/src/views/v3/Bridge/Routes/RouteBadge.d.ts.map +1 -1
- package/dist/src/views/v3/Bridge/Routes/RoutesBottomSheet.d.ts +7 -6
- package/dist/src/views/v3/Bridge/Routes/RoutesBottomSheet.d.ts.map +1 -1
- package/dist/src/views/v3/Bridge/Routes/RoutesLink.d.ts +7 -0
- package/dist/src/views/v3/Bridge/Routes/RoutesLink.d.ts.map +1 -0
- package/dist/src/views/v3/Bridge/Routes/RoutesList.d.ts +2 -1
- package/dist/src/views/v3/Bridge/Routes/RoutesList.d.ts.map +1 -1
- package/dist/src/views/v3/Bridge/Routes/RoutesLoader.d.ts +4 -0
- package/dist/src/views/v3/Bridge/Routes/RoutesLoader.d.ts.map +1 -0
- package/dist/src/views/v3/Bridge/Routes/RoutesModal.d.ts +6 -5
- package/dist/src/views/v3/Bridge/Routes/RoutesModal.d.ts.map +1 -1
- package/dist/src/views/v3/Bridge/Routes/SingleRoute.d.ts +1 -0
- package/dist/src/views/v3/Bridge/Routes/SingleRoute.d.ts.map +1 -1
- package/dist/src/views/v3/Bridge/Routes/index.d.ts.map +1 -1
- package/dist/src/views/v3/Redeem/TransactionDetails/index.d.ts.map +1 -1
- package/lib/account-Br8E7RB6.js +1 -0
- package/lib/{account-BTK2b2Fv.mjs → account-CVa_3S2g.mjs} +1 -1
- package/lib/{address-8wLqn60W.mjs → address-BApwdEpr.mjs} +96 -96
- package/lib/address-BwQqFkyh.js +1 -0
- package/lib/address-C2pxq9b2.js +1 -0
- package/lib/{address-n0gAFMrZ.mjs → address-f6joE_ig.mjs} +12 -12
- package/lib/aptos-CMRGggVs.js +2 -0
- package/lib/{aptos-CK-j196x.js → aptos-CTKQNmlP.js} +1 -1
- package/lib/{aptos-B-DJQlwt.mjs → aptos-CfFbx7uf.mjs} +9 -9
- package/lib/{aptos-Bwcz9wZX.mjs → aptos-fozuppXh.mjs} +3 -3
- package/lib/{basic-DHWVLmCq.mjs → basic-BA2aRJJn.mjs} +2 -2
- package/lib/{basic-B5ZFelC_.js → basic-DUWaF2I0.js} +1 -1
- package/lib/{basic-E2M-9h1u.js → basic-DeiUayOA.js} +1 -1
- package/lib/{basic-Pour9Ggp.mjs → basic-DoC8u7J8.mjs} +2 -2
- package/lib/{blake2b-C5HyObld.mjs → blake2b-BGxWUAjG.mjs} +23 -23
- package/lib/blake2b-Fj1aPKgL.js +1 -0
- package/lib/{browser-ponyfill-jK8MKVVg.mjs → browser-ponyfill-D5AN8ZPp.mjs} +1 -1
- package/lib/browser-ponyfill-Dn6gsMYK.js +2 -0
- package/lib/{chain-Bm6u6eUF.mjs → chain-DAw2I5H8.mjs} +1 -1
- package/lib/chain-DnPXlO8g.js +1 -0
- package/lib/chunk-KJH4KKG6-BjF7YUcU.js +470 -0
- package/lib/{chunk-KJH4KKG6-DJsu-Y-X.mjs → chunk-KJH4KKG6-DmVjhXO7.mjs} +144 -144
- package/lib/{constants-Cf2YMjNo.js → constants-BtNs_2F4.js} +1 -1
- package/lib/{constants-B7AbX6qr.mjs → constants-Dcc2nVaW.mjs} +3 -3
- package/lib/contract-BEHYQLvJ.js +1 -0
- package/lib/{contract-llnN6ki0.mjs → contract-BkMAZomO.mjs} +123 -123
- package/lib/{core-CF5c7Vev.mjs → core-BHV42Qa0.mjs} +25 -26
- package/lib/core-CV23yxnG.js +889 -0
- package/lib/create-CHcGblj6.js +1 -0
- package/lib/{create-Dm87_0zG.mjs → create-CKLtL7hr.mjs} +1 -1
- package/lib/{evm-BYIGg8e4.mjs → evm-Bf7qbM19.mjs} +42 -42
- package/lib/{evm-B2hUWkt7.js → evm-ClWkquRx.js} +2 -2
- package/lib/{evm-fvvpk-li.mjs → evm-DhMoy8cH.mjs} +6 -6
- package/lib/{evm-DFNbMHoa.js → evm-tXmzU9Xp.js} +2 -2
- package/lib/executor.js +1 -1
- package/lib/executor.mjs +145 -138
- package/lib/hosted.js +1 -1
- package/lib/hosted.mjs +1 -1
- package/lib/{index-Cwo5AKUC.mjs → index-1rCCpdwd.mjs} +5 -5
- package/lib/{index-DBCa3k0j.mjs → index-3HvzWPL7.mjs} +9 -9
- package/lib/{index-MOwE6ses.mjs → index-B7ztYPhr.mjs} +21 -22
- package/lib/index-BM-0SeYB.js +1 -0
- package/lib/{index-DiQ8Ytrt.mjs → index-BTnpftLz.mjs} +1 -1
- package/lib/{index-BiCMaXJS.js → index-BWQMi6Rj.js} +1 -1
- package/lib/index-BbgKw2pu.js +1 -0
- package/lib/index-BblcpkoK.js +1 -0
- package/lib/index-Bfblsmud.js +1 -0
- package/lib/{index-C_0yAOSX.mjs → index-BfkFXEnG.mjs} +25082 -24072
- package/lib/{index-fi1sh8vr.mjs → index-BijBPDRn.mjs} +2 -2
- package/lib/index-BoquY9R2.js +337 -0
- package/lib/index-C2NtsO9Q.js +1 -0
- package/lib/{index-CNuk-XLX.mjs → index-C4JmrizV.mjs} +4 -4
- package/lib/index-C8TtXpOf.js +1 -0
- package/lib/index-CB8kOyIP.js +1 -0
- package/lib/index-CInVjUCW.js +1 -0
- package/lib/{index-BF11RebI.mjs → index-CLTklDbp.mjs} +1 -1
- package/lib/index-CQvgeH_r.js +1 -0
- package/lib/{index-DzYjoSJp.mjs → index-CUnOYRFQ.mjs} +23 -24
- package/lib/{index-DGh9LzN1.mjs → index-CWe_BTdo.mjs} +31 -31
- package/lib/{index-2Bz1Np4K.mjs → index-CZ91lJ9M.mjs} +5 -5
- package/lib/{index-Dgy1FO7C.js → index-CgyVnj6U.js} +1 -1
- package/lib/{index-BzJcFdt_.mjs → index-Clr2JjoJ.mjs} +44 -44
- package/lib/index-CnnCCv6Q.js +1 -0
- package/lib/{index-CJnRWlFf.mjs → index-CwxGLNEk.mjs} +48 -49
- package/lib/index-D7BLfz05.js +1 -0
- package/lib/index-DM7C-wvQ.js +3 -0
- package/lib/{index-DhIh3xiW.mjs → index-DNy_sNGr.mjs} +8 -8
- package/lib/{index-BZaRg0yd.mjs → index-DVcaDWmz.mjs} +1 -1
- package/lib/{index-CsAigASU.mjs → index-DWOP9OBp.mjs} +17 -17
- package/lib/{index-CTLz8Fz0.mjs → index-Dda5qc2t.mjs} +13 -14
- package/lib/{index-CLBXF_zH.mjs → index-DeaiBvpG.mjs} +16 -16
- package/lib/index-HOuGP-7b.js +1 -0
- package/lib/{index-Dt2uNp-N.mjs → index-KZve3tYJ.mjs} +4 -4
- package/lib/{index-CJDBidKv.mjs → index-SIyXqCAN.mjs} +41 -41
- package/lib/index-WhVYPMUr.js +1 -0
- package/lib/index-hmjT4xa7.js +1 -0
- package/lib/index-ledagFNU.js +1 -0
- package/lib/index-pbRVlgcN.js +1 -0
- package/lib/{index-BpQXUhR4.mjs → index-qK7AyMAk.mjs} +23 -27
- package/lib/index-ttZu99PZ.js +1 -0
- package/lib/{index.es-BqRBGIq6.mjs → index.es-BXRQf6Oi.mjs} +25 -26
- package/lib/index.es-BjGaOok5.js +11 -0
- package/lib/index.es-D6S74vhi.js +27 -0
- package/lib/{index.es-DgCZuUzB.mjs → index.es-cOw8juwf.mjs} +741 -737
- package/lib/index.js +1 -1
- package/lib/index.mjs +17 -16
- package/lib/mayan.js +3 -3
- package/lib/mayan.mjs +918 -891
- package/lib/mint-CL36R6ED.js +1 -0
- package/lib/{mint-Dc-VsiAn.mjs → mint-DunEG1jV.mjs} +32 -33
- package/lib/ntt.js +1 -1
- package/lib/ntt.mjs +2332 -2373
- package/lib/platform-7vCWzCny.js +1 -0
- package/lib/platform-BKhoO9So.js +1 -0
- package/lib/{platform-B95L0Vxv.mjs → platform-BN6LFtXE.mjs} +16 -16
- package/lib/{platform-DnP_1wGA.mjs → platform-BYLu9SzP.mjs} +4 -4
- package/lib/platform-Bbe26nx7.js +1 -0
- package/lib/{platform-DiG7WY9Z.mjs → platform-DCgWqmh1.mjs} +4 -4
- package/lib/{provider-jsonrpc-CRABh2gN.mjs → provider-jsonrpc-Bmgnrmpy.mjs} +155 -155
- package/lib/provider-jsonrpc-CbtP2Ffg.js +1 -0
- package/lib/{secp256k1-zHHDNAlH.mjs → secp256k1-BDQEvyHq.mjs} +1 -1
- package/lib/{secp256k1-obBDPYM-.mjs → secp256k1-C77Oh9AA.mjs} +1 -1
- package/lib/{secp256k1-2hq3Jk4g.mjs → secp256k1-CCn2vlXj.mjs} +1 -1
- package/lib/{secp256k1-B94G4gyy.js → secp256k1-CHAR40au.js} +1 -1
- package/lib/{secp256k1-DCcAh19h.js → secp256k1-D-DmPYcJ.js} +1 -1
- package/lib/{secp256k1-CjndBUS7.js → secp256k1-DYWDlveU.js} +1 -1
- package/lib/{signer-N_ccpPOz.mjs → signer-BIcn81N5.mjs} +18 -18
- package/lib/signer-H7atraks.js +1 -0
- package/lib/{solana-_Ha4YgiP.mjs → solana-B0QSg7B3.mjs} +30 -30
- package/lib/solana-Cs5VyB20.js +900 -0
- package/lib/solana-uvHG8JV5.js +1 -0
- package/lib/solana-zyfOlbhb.mjs +18 -0
- package/lib/{solanaEmbed.esm-DK5RIquB.mjs → solanaEmbed.esm-BqdznDuW.mjs} +623 -622
- package/lib/solanaEmbed.esm-D8vtESE6.js +10 -0
- package/lib/src/AppRouter.d.ts.map +1 -1
- package/lib/src/config/mainnet/tokens.d.ts.map +1 -1
- package/lib/src/config/testnet/tokens.d.ts.map +1 -1
- package/lib/src/config/tokens.d.ts +1 -1
- package/lib/src/config/tokens.d.ts.map +1 -1
- package/lib/src/exports/index.d.ts +2 -2
- package/lib/src/exports/index.d.ts.map +1 -1
- package/lib/src/hooks/useFetchQuotes.d.ts.map +1 -1
- package/lib/src/icons/Chains/PLUME.d.ts.map +1 -1
- package/lib/src/icons/PoweredBy.d.ts.map +1 -1
- package/lib/src/icons/Routing.d.ts +5 -0
- package/lib/src/icons/Routing.d.ts.map +1 -0
- package/lib/src/icons/Tokens/PLUME.d.ts.map +1 -1
- package/lib/src/store/transferInput.d.ts +1 -1
- package/lib/src/store/transferInput.d.ts.map +1 -1
- package/lib/src/utils/coingecko.d.ts.map +1 -1
- package/lib/src/utils/formatNumber.d.ts +23 -0
- package/lib/src/utils/formatNumber.d.ts.map +1 -0
- package/lib/src/utils/index.d.ts +3 -1
- package/lib/src/utils/index.d.ts.map +1 -1
- package/lib/src/utils/routes.d.ts +12 -0
- package/lib/src/utils/routes.d.ts.map +1 -0
- package/lib/src/views/v2/Bridge/AmountInput/index.d.ts.map +1 -1
- package/lib/src/views/v2/Bridge/AssetPicker/TokenItem.d.ts.map +1 -1
- package/lib/src/views/v2/Bridge/Routes/SingleRoute.d.ts.map +1 -1
- package/lib/src/views/v2/Redeem/TransactionDetails/index.d.ts.map +1 -1
- package/lib/src/views/v3/Bridge/AmountInput/index.d.ts.map +1 -1
- package/lib/src/views/v3/Bridge/AssetPicker/TokenItem.d.ts.map +1 -1
- package/lib/src/views/v3/Bridge/AssetPicker/index.d.ts.map +1 -1
- package/lib/src/views/v3/Bridge/GasSlider/index.d.ts.map +1 -1
- package/lib/src/views/v3/Bridge/Routes/Eta.d.ts +6 -0
- package/lib/src/views/v3/Bridge/Routes/Eta.d.ts.map +1 -0
- package/lib/src/views/v3/Bridge/Routes/RouteBadge.d.ts.map +1 -1
- package/lib/src/views/v3/Bridge/Routes/RoutesBottomSheet.d.ts +7 -6
- package/lib/src/views/v3/Bridge/Routes/RoutesBottomSheet.d.ts.map +1 -1
- package/lib/src/views/v3/Bridge/Routes/RoutesLink.d.ts +7 -0
- package/lib/src/views/v3/Bridge/Routes/RoutesLink.d.ts.map +1 -0
- package/lib/src/views/v3/Bridge/Routes/RoutesList.d.ts +2 -1
- package/lib/src/views/v3/Bridge/Routes/RoutesList.d.ts.map +1 -1
- package/lib/src/views/v3/Bridge/Routes/RoutesLoader.d.ts +4 -0
- package/lib/src/views/v3/Bridge/Routes/RoutesLoader.d.ts.map +1 -0
- package/lib/src/views/v3/Bridge/Routes/RoutesModal.d.ts +6 -5
- package/lib/src/views/v3/Bridge/Routes/RoutesModal.d.ts.map +1 -1
- package/lib/src/views/v3/Bridge/Routes/SingleRoute.d.ts +1 -0
- package/lib/src/views/v3/Bridge/Routes/SingleRoute.d.ts.map +1 -1
- package/lib/src/views/v3/Bridge/Routes/index.d.ts.map +1 -1
- package/lib/src/views/v3/Redeem/TransactionDetails/index.d.ts.map +1 -1
- package/lib/{sui-CQcQ6w_P.mjs → sui-B38DyOqM.mjs} +44 -44
- package/lib/{sui-BplKFZQu.mjs → sui-BpfnZR4f.mjs} +3 -3
- package/lib/sui-CT9MWY38.js +1 -0
- package/lib/{sui-_hvmCvD8.js → sui-DXQAMRQJ.js} +1 -1
- package/lib/{tokens-DNv0ZNvU.js → tokens-CmINcwKk.js} +31 -31
- package/lib/{tokens-Dl4YwW18.mjs → tokens-YxAPPVy3.mjs} +1726 -1724
- package/lib/transfer-BQ72fByU.js +1 -0
- package/lib/transfer-bTW0j9yh.mjs +58 -0
- package/lib/units-Ckije3Qv.js +1 -0
- package/lib/{units-DPWUSE6J.mjs → units-CtyvuzxQ.mjs} +13 -13
- package/lib/unsignedTransaction-C6Qp42VS.js +1 -0
- package/lib/{unsignedTransaction-DwcUilyN.mjs → unsignedTransaction-CXB-QCUC.mjs} +18 -18
- package/lib/{w3m-modal-BJILsxDp.mjs → w3m-modal-B7LUHLWC.mjs} +2 -2
- package/lib/{w3m-modal-D4CpFxO2.mjs → w3m-modal-BOTzBqbc.mjs} +2 -2
- package/lib/{w3m-modal-CrfHWSrF.js → w3m-modal-BTb03-7B.js} +1 -1
- package/lib/{w3m-modal-CBG2MSPp.js → w3m-modal-xmdf4r6V.js} +1 -1
- package/lib/web3-COTIsLs8.js +22 -0
- package/lib/{address-B-XN4tFw.mjs → web3-DYVeiqSa.mjs} +6599 -6576
- package/package.json +32 -32
- package/dist/assets/index-BWPgrXHs.js +0 -1
- package/lib/account-cRt2xMoW.js +0 -1
- package/lib/address-BGujeWtN.js +0 -22
- package/lib/address-C7DIAk4M.js +0 -1
- package/lib/address-KNhRm6oe.js +0 -1
- package/lib/aptos-f5TqmvqV.js +0 -2
- package/lib/blake2b-B-MRXUPb.js +0 -1
- package/lib/browser-ponyfill-CE6vRkjp.js +0 -2
- package/lib/chain-Hsn22HAP.js +0 -1
- package/lib/chunk-KJH4KKG6-CoyI75Ig.js +0 -470
- package/lib/contract-D2fTrJgn.js +0 -1
- package/lib/core-v0G9f7LX.js +0 -889
- package/lib/create-DoZZ7ciL.js +0 -1
- package/lib/index-B8-KKWD-.js +0 -1
- package/lib/index-BHbvgOMD.js +0 -1
- package/lib/index-BHfUgvSV.js +0 -1
- package/lib/index-BTKC7Hou.js +0 -1
- package/lib/index-BWXglAWd.js +0 -1
- package/lib/index-Bpp8C4u8.js +0 -1
- package/lib/index-CF2fHBHJ.js +0 -3
- package/lib/index-CTPz98nv.js +0 -1
- package/lib/index-ClMoiji-.js +0 -1
- package/lib/index-ClsVcH6F.js +0 -1
- package/lib/index-CqOI6LVu.js +0 -1
- package/lib/index-DCz_4mcz.js +0 -1
- package/lib/index-DKksdvND.js +0 -335
- package/lib/index-DRv3ZpVL.js +0 -1
- package/lib/index-DYqo8IhM.js +0 -1
- package/lib/index-DZubce9o.js +0 -1
- package/lib/index-DprM_IpB.js +0 -1
- package/lib/index-DshEQYMA.js +0 -1
- package/lib/index-JrM783SN.js +0 -1
- package/lib/index.es-C6YhioMN.js +0 -27
- package/lib/index.es-D3Xxxr8I.js +0 -11
- package/lib/mint-DlXC3sGi.js +0 -1
- package/lib/platform-B1XoDKoN.js +0 -1
- package/lib/platform-COuZC5Zc.js +0 -1
- package/lib/platform-NG3efAb2.js +0 -1
- package/lib/provider-jsonrpc-pXNHQF7n.js +0 -1
- package/lib/signer-CCa6npZ3.js +0 -1
- package/lib/solana-BJ3aReZw.mjs +0 -18
- package/lib/solana-BwyVgP30.js +0 -1
- package/lib/solana-CanFuMgA.js +0 -900
- package/lib/solanaEmbed.esm-C--1F7Lx.js +0 -10
- package/lib/sui-Bs83Gy5Z.js +0 -1
- package/lib/units-BvcKDiAx.js +0 -1
- package/lib/unsignedTransaction-dN_5EJf5.js +0 -1
- package/lib/web3-Bu_6UejS.mjs +0 -67
- package/lib/web3-Doz_0RHD.js +0 -1
package/lib/hosted.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("./constants-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("./constants-BtNs_2F4.js");function d(o,e={}){window.__CONNECT_CONFIG=e.config,window.__CONNECT_THEME=e.theme;const n=document.createElement("div");n.id="wormhole-connect";const c=e.version??s.CONNECT_VERSION,i=e.cdnBaseUrl??`https://cdn.jsdelivr.net/npm/@wormhole-foundation/wormhole-connect@${c}`,t=document.createElement("script");t.setAttribute("src",`${i}/dist/main.js`),t.setAttribute("type","module"),o.appendChild(n),o.appendChild(t)}exports.wormholeConnectHosted=d;
|
package/lib/hosted.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { c$ as L, dk as g, dl as T, cz as k, dm as I, bY as F, cx as P, d1 as R } from "./web3-DYVeiqSa.mjs";
|
|
2
2
|
function S(n, t, e, s) {
|
|
3
3
|
g(n);
|
|
4
4
|
const i = T({ dkLen: 32, asyncTick: 10 }, s), { c: u, dkLen: c, asyncTick: o } = i;
|
|
@@ -7,10 +7,10 @@ function S(n, t, e, s) {
|
|
|
7
7
|
const d = I(t), a = I(e), f = new Uint8Array(c), l = F.create(n, d), r = l._cloneInto().update(a);
|
|
8
8
|
return { c: u, dkLen: c, asyncTick: o, DK: f, PRF: l, PRFSalt: r };
|
|
9
9
|
}
|
|
10
|
-
function
|
|
10
|
+
function v(n, t, e, s, i) {
|
|
11
11
|
return n.destroy(), t.destroy(), s && s.destroy(), P(i), e;
|
|
12
12
|
}
|
|
13
|
-
function
|
|
13
|
+
function z(n, t, e, s) {
|
|
14
14
|
const { c: i, dkLen: u, DK: c, PRF: o, PRFSalt: d } = S(n, t, e, s);
|
|
15
15
|
let a;
|
|
16
16
|
const f = new Uint8Array(4), l = L(f), r = new Uint8Array(o.outputLen);
|
|
@@ -23,7 +23,7 @@ function v(n, t, e, s) {
|
|
|
23
23
|
m[y] ^= r[y];
|
|
24
24
|
}
|
|
25
25
|
}
|
|
26
|
-
return
|
|
26
|
+
return v(o, d, c, a, r);
|
|
27
27
|
}
|
|
28
28
|
/*! scure-bip39 - MIT License (c) 2022 Patricio Palladino, Paul Miller (paulmillr.com) */
|
|
29
29
|
function b(n) {
|
|
@@ -39,7 +39,7 @@ function A(n) {
|
|
|
39
39
|
}
|
|
40
40
|
const D = (n) => b("mnemonic" + n);
|
|
41
41
|
function K(n, t = "") {
|
|
42
|
-
return
|
|
42
|
+
return z(R, A(n).nfkd, D(t), { c: 2048, dkLen: 64 });
|
|
43
43
|
}
|
|
44
44
|
export {
|
|
45
45
|
K as m
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
var A = Object.defineProperty;
|
|
2
2
|
var B = (d, e, s) => e in d ? A(d, e, { enumerable: !0, configurable: !0, writable: !0, value: s }) : d[e] = s;
|
|
3
3
|
var o = (d, e, s) => B(d, typeof e != "symbol" ? e + "" : e, s);
|
|
4
|
-
import { y as g, l as p, w, x as u } from "./chunk-KJH4KKG6-
|
|
5
|
-
import {
|
|
6
|
-
import { A as E } from "./platform-
|
|
4
|
+
import { y as g, l as p, w, x as u } from "./chunk-KJH4KKG6-DmVjhXO7.mjs";
|
|
5
|
+
import { i as S, D as I, b9 as U, aA as D, k as f, bp as l, dq as T, aJ as R } from "./web3-DYVeiqSa.mjs";
|
|
6
|
+
import { A as E } from "./platform-DCgWqmh1.mjs";
|
|
7
7
|
import { A as $ } from "./unsignedTransaction-BDOQhqcZ.mjs";
|
|
8
8
|
const N = [
|
|
9
9
|
[
|
|
@@ -20,7 +20,7 @@ const N = [
|
|
|
20
20
|
handleReceiveMessage: "0xa11ceb0b0700000a0601000402040403080c051416072a53087d40000001010002000000030203000101040304000103060c0a020a020003060c060a02060a020108000101136d6573736167655f7472616e736d69747465720f746f6b656e5f6d657373656e67657207526563656970740f726563656976655f6d6573736167651668616e646c655f726563656976655f6d657373616765081e86cebf457a0c6004f35bd648a2794698f52e0dde09a48619dcd3d4cc23d95f9b937419dda90aa06c1836b7847f65bbbe3f1217567758dc2488be31a477b9000001070b000e010e02110011010102"
|
|
21
21
|
}
|
|
22
22
|
]
|
|
23
|
-
],
|
|
23
|
+
], k = S(N, [0, 1]);
|
|
24
24
|
class b {
|
|
25
25
|
constructor(e, s, n, t) {
|
|
26
26
|
o(this, "network");
|
|
@@ -41,9 +41,9 @@ class b {
|
|
|
41
41
|
throw new Error(`Circle Token Messenger contract for domain ${s} not found`);
|
|
42
42
|
if (!((i = t.cctp) != null && i.messageTransmitter))
|
|
43
43
|
throw new Error(`Circle Message Transmitter contract for domain ${s} not found`);
|
|
44
|
-
if (!
|
|
44
|
+
if (!k.has(e))
|
|
45
45
|
throw new Error("No Aptos CCTP move scripts found");
|
|
46
|
-
this.usdcId = a, this.tokenMessengerId = (c = t.cctp) == null ? void 0 : c.tokenMessenger, this.messageTransmitterId = t.cctp.messageTransmitter, this.moveScripts =
|
|
46
|
+
this.usdcId = a, this.tokenMessengerId = (c = t.cctp) == null ? void 0 : c.tokenMessenger, this.messageTransmitterId = t.cctp.messageTransmitter, this.moveScripts = k.get(e);
|
|
47
47
|
}
|
|
48
48
|
async *transfer(e, s, n) {
|
|
49
49
|
const t = new g(U.get(this.network, s.chain)), a = p.from(this.usdcId), r = p.from(s.address.toUniversalAddress().toUint8Array()), i = [new w(n), t, r, a], c = {
|
|
@@ -76,10 +76,10 @@ class b {
|
|
|
76
76
|
const s = await this.provider.getTransactionByHash({ transactionHash: e }), n = this.messageTransmitterId.replace(/^0x0+/, "0x"), t = (m = s.events) == null ? void 0 : m.find((M) => M.type === `${n}::message_transmitter::MessageSent`);
|
|
77
77
|
if (!t)
|
|
78
78
|
throw new Error("No MessageSent event found");
|
|
79
|
-
const a = f.decode(t.data.message), [r, i] = l.deserialize(a), { payload: c } = r,
|
|
79
|
+
const a = f.decode(t.data.message), [r, i] = l.deserialize(a), { payload: c } = r, v = c.messageSender, C = c.mintRecipient, h = T(this.network, r.sourceDomain), y = T(this.network, r.destinationDomain), x = { chain: h, address: c.burnToken };
|
|
80
80
|
return {
|
|
81
|
-
from: { chain: h, address:
|
|
82
|
-
to: { chain: y, address:
|
|
81
|
+
from: { chain: h, address: v },
|
|
82
|
+
to: { chain: y, address: C },
|
|
83
83
|
token: x,
|
|
84
84
|
amount: c.amount,
|
|
85
85
|
message: r,
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
var Z = Object.defineProperty;
|
|
2
2
|
var j = (t, e, s) => e in t ? Z(t, e, { enumerable: !0, configurable: !0, writable: !0, value: s }) : t[e] = s;
|
|
3
3
|
var y = (t, e, s) => j(t, typeof e != "symbol" ? e + "" : e, s);
|
|
4
|
-
import { P as u,
|
|
5
|
-
import { P as _, c as U, i as
|
|
6
|
-
import {
|
|
7
|
-
import { a as ue, S as le } from "./unsignedTransaction-DwcUilyN.mjs";
|
|
4
|
+
import { P as u, a3 as Y, ar as I, aq as x, ap as ee, a6 as ne, au as se, d as M, $ as O, a4 as ae, ba as E, bp as N, k as te, aQ as b, D as B, aR as T, b9 as ie, a0 as re, dq as D, aJ as me, aS as oe } from "./web3-DYVeiqSa.mjs";
|
|
5
|
+
import { P as _, c as U, i as R } from "./index-DVcaDWmz.mjs";
|
|
6
|
+
import { S as ue, a as le } from "./unsignedTransaction-CXB-QCUC.mjs";
|
|
8
7
|
const h = new u("TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA");
|
|
9
8
|
new u("TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb");
|
|
10
9
|
const A = new u("ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL");
|
|
@@ -22,12 +21,12 @@ class ce extends de {
|
|
|
22
21
|
}
|
|
23
22
|
const ge = Y([
|
|
24
23
|
I("mintAuthorityOption"),
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
24
|
+
x("mintAuthority"),
|
|
25
|
+
ee("supply"),
|
|
26
|
+
ne("decimals"),
|
|
27
|
+
se("isInitialized"),
|
|
29
28
|
I("freezeAuthorityOption"),
|
|
30
|
-
|
|
29
|
+
x("freezeAuthority")
|
|
31
30
|
]);
|
|
32
31
|
ge.span;
|
|
33
32
|
function fe(t, e, s = !1, a = h, i = A) {
|
|
@@ -48,7 +47,7 @@ function ye(t, e, s, a, i, n = h, r = A) {
|
|
|
48
47
|
{ pubkey: O.programId, isSigner: !1, isWritable: !1 },
|
|
49
48
|
{ pubkey: n, isSigner: !1, isWritable: !1 }
|
|
50
49
|
];
|
|
51
|
-
return new
|
|
50
|
+
return new ae({
|
|
52
51
|
keys: m,
|
|
53
52
|
programId: r,
|
|
54
53
|
data: i
|
|
@@ -67,10 +66,10 @@ function Se(t, e) {
|
|
|
67
66
|
return W(t, U(e));
|
|
68
67
|
}
|
|
69
68
|
const o = (t, e, s) => {
|
|
70
|
-
const a = [M.Buffer.from(
|
|
69
|
+
const a = [M.Buffer.from(R.bytes.utf8.encode(t))];
|
|
71
70
|
if (s)
|
|
72
71
|
for (const n of s)
|
|
73
|
-
typeof n == "string" ? a.push(M.Buffer.from(
|
|
72
|
+
typeof n == "string" ? a.push(M.Buffer.from(R.bytes.utf8.encode(n))) : Array.isArray(n) ? a.push(M.Buffer.from(n)) : M.Buffer.isBuffer(n) ? a.push(n) : a.push(n.toBuffer());
|
|
74
73
|
const i = u.findProgramAddressSync(a, e);
|
|
75
74
|
return { publicKey: i[0], bump: i[1] };
|
|
76
75
|
};
|
|
@@ -107,10 +106,10 @@ function F(t, e, s) {
|
|
|
107
106
|
return o("used_nonces", s, [a, z(t).toString()]).publicKey;
|
|
108
107
|
}
|
|
109
108
|
async function he(t, e, s, a, i, n) {
|
|
110
|
-
const r = M.Buffer.from(N.serialize(a)), m = M.Buffer.from(
|
|
109
|
+
const r = M.Buffer.from(N.serialize(a)), m = M.Buffer.from(te.decode(i)), l = new u(s), d = new u(a.payload.burnToken.toUint8Array()), c = new b(a.payload.mintRecipient).unwrap(), f = n ? new u(n) : c, p = a.sourceDomain.toString(), S = o("message_transmitter", t), k = o("token_messenger", e), P = o("token_minter", e), v = o("local_token", e, [l]), H = o("remote_token_messenger", e, [p]), G = o("token_pair", e, [
|
|
111
110
|
p,
|
|
112
111
|
d
|
|
113
|
-
]), X = o("custody", e, [l]),
|
|
112
|
+
]), X = o("custody", e, [l]), q = o("message_transmitter_authority", t, [e]).publicKey, $ = F(a.nonce, a.sourceDomain, t), J = o("__event_authority", t), Q = o("__event_authority", e), g = [];
|
|
114
113
|
g.push({
|
|
115
114
|
isSigner: !1,
|
|
116
115
|
isWritable: !1,
|
|
@@ -118,7 +117,7 @@ async function he(t, e, s, a, i, n) {
|
|
|
118
117
|
}), g.push({
|
|
119
118
|
isSigner: !1,
|
|
120
119
|
isWritable: !1,
|
|
121
|
-
pubkey:
|
|
120
|
+
pubkey: H.publicKey
|
|
122
121
|
}), g.push({
|
|
123
122
|
isSigner: !1,
|
|
124
123
|
isWritable: !0,
|
|
@@ -130,7 +129,7 @@ async function he(t, e, s, a, i, n) {
|
|
|
130
129
|
}), g.push({
|
|
131
130
|
isSigner: !1,
|
|
132
131
|
isWritable: !1,
|
|
133
|
-
pubkey:
|
|
132
|
+
pubkey: G.publicKey
|
|
134
133
|
}), g.push({
|
|
135
134
|
isSigner: !1,
|
|
136
135
|
isWritable: !0,
|
|
@@ -159,9 +158,9 @@ async function he(t, e, s, a, i, n) {
|
|
|
159
158
|
}).accounts({
|
|
160
159
|
payer: f,
|
|
161
160
|
caller: f,
|
|
162
|
-
authorityPda:
|
|
161
|
+
authorityPda: q,
|
|
163
162
|
messageTransmitter: S.publicKey,
|
|
164
|
-
usedNonces:
|
|
163
|
+
usedNonces: $,
|
|
165
164
|
receiver: e,
|
|
166
165
|
systemProgram: O.programId,
|
|
167
166
|
eventAuthority: J.publicKey,
|
|
@@ -195,7 +194,7 @@ class w {
|
|
|
195
194
|
return new w(a, i, e, n.contracts);
|
|
196
195
|
}
|
|
197
196
|
async *redeem(e, s, a) {
|
|
198
|
-
const i = new u(
|
|
197
|
+
const i = new u(B.get(this.network, this.chain)), n = new b(e).unwrap(), r = new b(s.payload.mintRecipient).unwrap();
|
|
199
198
|
if (!await this.connection.getAccountInfo(r)) {
|
|
200
199
|
const c = new T().add(pe(n, r, n, i));
|
|
201
200
|
c.feePayer = n, yield this.createUnsignedTx({ transaction: c }, "CircleBridge.CreateATA");
|
|
@@ -204,7 +203,7 @@ class w {
|
|
|
204
203
|
d.feePayer = n, d.add(l), yield this.createUnsignedTx({ transaction: d }, "CircleBridge.Redeem");
|
|
205
204
|
}
|
|
206
205
|
async *transfer(e, s, a) {
|
|
207
|
-
const i = new u(
|
|
206
|
+
const i = new u(B.get(this.network, this.chain)), n = new b(e).unwrap(), r = fe(i, n), m = ie.get(this.network, s.chain), l = s.address.toUniversalAddress(), d = re.generate(), c = await ke(this.messageTransmitter.programId, this.tokenMessenger.programId, i, m, n, r, l, a, d.publicKey), f = new T();
|
|
208
207
|
f.feePayer = n, f.add(c), yield this.createUnsignedTx({ transaction: f, signers: [d] }, "CircleBridge.Transfer");
|
|
209
208
|
}
|
|
210
209
|
async isTransferCompleted(e) {
|
|
@@ -225,7 +224,7 @@ class w {
|
|
|
225
224
|
const i = a.get(1), n = await this.connection.getAccountInfo(i);
|
|
226
225
|
if (!n)
|
|
227
226
|
throw new Error("No account data found");
|
|
228
|
-
const r = new Uint8Array(n.data).slice(44), [m, l] = N.deserialize(r), { payload: d } = m, c = d.messageSender, f = d.mintRecipient, p =
|
|
227
|
+
const r = new Uint8Array(n.data).slice(44), [m, l] = N.deserialize(r), { payload: d } = m, c = d.messageSender, f = d.mintRecipient, p = D(this.network, m.sourceDomain), S = D(this.network, m.destinationDomain), k = { chain: p, address: d.burnToken };
|
|
229
228
|
return {
|
|
230
229
|
from: { chain: p, address: c },
|
|
231
230
|
to: { chain: S, address: f },
|
|
@@ -3365,7 +3364,7 @@ const be = {
|
|
|
3365
3364
|
}
|
|
3366
3365
|
]
|
|
3367
3366
|
};
|
|
3368
|
-
|
|
3367
|
+
me(oe, "CircleBridge", w);
|
|
3369
3368
|
const V = {
|
|
3370
3369
|
TokenMessengerIdl: be,
|
|
3371
3370
|
MessageTransmitterIdl: Pe
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var Me=Object.defineProperty;var Ie=(r,e,t)=>e in r?Me(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t;var c=(r,e,t)=>Ie(r,typeof e!="symbol"?e+"":e,t);const i=require("./web3-COTIsLs8.js"),m=require("./index-DM7C-wvQ.js"),p=require("./account-Br8E7RB6.js"),X=require("./unsignedTransaction-C6Qp42VS.js"),Ee=require("./create-CHcGblj6.js"),O=new i.PublicKey("BPFLoaderUpgradeab1e11111111111111111111111");function te(r){return p.deriveAddress([new i.PublicKey(r).toBuffer()],O)}class Pe extends Error{constructor(e){super(e),this.name="IdlError"}}function Y(r,e){switch(e.type.kind){case"struct":return e.type.fields.map(t=>M(r,t.type)).reduce((t,n)=>t+n,0);case"enum":{const t=e.type.variants.map(n=>n.fields?n.fields.map(s=>typeof s=="object"&&"name"in s?M(r,s.type):M(r,s)).reduce((s,a)=>s+a,0):0);return Math.max(...t)+1}case"alias":return M(r,e.type.value)}}function M(r,e){var t;switch(e){case"bool":return 1;case"u8":return 1;case"i8":return 1;case"i16":return 2;case"u16":return 2;case"u32":return 4;case"i32":return 4;case"f32":return 4;case"u64":return 8;case"i64":return 8;case"f64":return 8;case"u128":return 16;case"i128":return 16;case"u256":return 32;case"i256":return 32;case"bytes":return 1;case"string":return 1;case"publicKey":return 32;default:if("vec"in e)return 1;if("option"in e)return 1+M(r,e.option);if("coption"in e)return 4+M(r,e.coption);if("defined"in e){const n=((t=r.types)==null?void 0:t.filter(a=>a.name===e.defined))??[];if(n.length!==1)throw new Pe(`Type not found: ${JSON.stringify(e)}`);let s=n[0];return Y(r,s)}if("array"in e){let n=e.array[0],s=e.array[1];return M(r,n)*s}throw new Error(`Invalid type ${JSON.stringify(e)}`)}}function L(r){return r.replace(/(?:^\w|[A-Z]|\b\w)/g,function(e,t){return t===0?e.toLowerCase():e.toUpperCase()}).replace(/[\s\-_]+/g,"")}function Be(r){return r.charAt(0).toUpperCase()+r.slice(1)}const ne=[{name:"discriminator",binary:"bytes",size:4},{name:"consistencyLevel",binary:"uint",size:1,endianness:"little"},{name:"emitterAuthority",...i.universalAddressItem},{name:"messageStatus",binary:"uint",size:1,endianness:"little"},{name:"gap",binary:"uint",size:3},{name:"timestamp",binary:"uint",size:4,endianness:"little"},{name:"nonce",binary:"uint",size:4,endianness:"little"},{name:"sequence",binary:"uint",size:8,endianness:"little"},{name:"emitterChain",binary:"uint",size:2,endianness:"little"},{name:"emitterAddress",...i.universalAddressItem},{name:"payloadLength",binary:"uint",size:4,endianness:"little"},{name:"payload",binary:"bytes"}];function re(r){return i.deserialize$1(ne,r)}function E(r,e,t,n){const s=typeof e=="string"?i.dist.Buffer.from(e,"hex"):i.dist.Buffer.from(e);if(s.length!=32)throw Error("address.length != 32");const a=i.dist.Buffer.alloc(8);return a.writeBigUInt64BE(typeof n=="number"?BigInt(n):n),p.deriveAddress([s,(()=>{const o=i.dist.Buffer.alloc(2);return o.writeUInt16BE(t),o})(),a],r)}async function se(r,e,t,n,s,a){return r.getAccountInfo(E(e,t,n,s),a).then(o=>!!p.getAccountData(o)[0])}function h(r){return p.deriveAddress([i.dist.Buffer.from("Bridge")],r)}async function ie(r,e,t){return r.getAccountInfo(h(e),t).then(n=>k.deserialize(p.getAccountData(n)))}class v{constructor(e,t){c(this,"guardianSetExpirationTime");c(this,"fee");this.guardianSetExpirationTime=e,this.fee=t}static deserialize(e){if(e.length!=12)throw new Error("data.length != 12");const t=e.readUInt32LE(0),n=e.readBigUInt64LE(4);return new v(t,n)}}class k{constructor(e,t,n){c(this,"guardianSetIndex");c(this,"lastLamports");c(this,"config");this.guardianSetIndex=e,this.lastLamports=t,this.config=n}static deserialize(e){if(e.length!=24)throw new Error("data.length != 24");const t=e.readUInt32LE(0),n=e.readBigUInt64LE(4),s=v.deserialize(e.subarray(12));return new k(t,n,s)}}function C(r,e){return p.deriveAddress([i.dist.Buffer.from("Sequence"),new i.PublicKey(r).toBytes()],e)}async function ae(r,e,t,n){return r.getAccountInfo(C(e,t),n).then(s=>z.deserialize(p.getAccountData(s)))}class z{constructor(e,t,n){c(this,"sequence");c(this,"bump");c(this,"emitterType");this.sequence=e,this.bump=t,this.emitterType=n}static deserialize(e){if(e.length!==8&&e.length!==10)throw new Error("data.length != 8 or data.length != 10");let t,n;const s=e.readBigUInt64LE(0);return e.length===10&&(t=e[8],n=e[9]),new z(s,t,n)}value(){return this.sequence}}function q(r){return p.deriveAddress([i.dist.Buffer.from("emitter")],r)}function N(r,e){const t=q(r);return{emitter:t,sequence:C(t,e)}}async function oe(r,e,t,n){return ae(r,q(e),t,n)}function P(r){return p.deriveAddress([i.dist.Buffer.from("fee_collector")],r)}const Z=65,U=20;function xe(r,e,t){return new i.TransactionInstruction({keys:[],programId:i.Secp256k1Program.programId,data:Ke.serialize(r,e,t)})}class Ke{static serialize(e,t,n){if(e.length==0)throw Error("signatures.length == 0");if(e.length!=t.length)throw Error("signatures.length != keys.length");if(n.length!=32)throw Error("message.length != 32");const s=e.length,a=11,o=1+s*a,u=Z+U,d=o+s*u,f=32,g=i.dist.Buffer.alloc(d+f);g.writeUInt8(s,0),g.write(n.toString("hex"),d,"hex");for(let l=0;l<s;++l){const y=e.at(l);if((y==null?void 0:y.length)!=Z)throw Error(`signatures[${l}].length != 65`);const S=t.at(l);if((S==null?void 0:S.length)!=U)throw Error(`keys[${l}].length != 20`);const A=o+u*l,K=A+65;g.writeUInt16LE(A,1+l*a),g.writeUInt8(0,3+l*a),g.writeUInt16LE(K,4+l*a),g.writeUInt8(0,6+l*a),g.writeUInt16LE(d,7+l*a),g.writeUInt16LE(f,9+l*a),g.writeUInt8(0,10+l*a),g.write(y.toString("hex"),A,"hex"),g.write(S.toString("hex"),K,"hex")}return g}}function I(r,e){return p.deriveAddress([i.dist.Buffer.from("GuardianSet"),(()=>{const t=i.dist.Buffer.alloc(4);return t.writeUInt32BE(e),t})()],r)}async function G(r,e,t,n){return r.getAccountInfo(I(e,t),n).then(s=>V.deserialize(p.getAccountData(s)))}class V{constructor(e,t,n,s){c(this,"index");c(this,"keys");c(this,"creationTime");c(this,"expirationTime");this.index=e,this.keys=t,this.creationTime=n,this.expirationTime=s}static deserialize(e){const t=e.readUInt32LE(0),n=e.readUInt32LE(4),s=8+n*U,a=e.readUInt32LE(s),o=e.readUInt32LE(4+s),u=[];for(let d=0;d<n;++d){const f=8+d*U;u.push(e.subarray(f,f+U))}return new V(t,u,a,o)}}function b(r,e){return p.deriveAddress([i.dist.Buffer.from("PostedVAA"),e],r)}async function Le(r,e,t){return r.getAccountInfo(new i.PublicKey(e),t).then(n=>D.deserialize(p.getAccountData(n)))}class D{constructor(e,t,n){c(this,"signatures");c(this,"hash");c(this,"guardianSetIndex");this.signatures=e,this.hash=t,this.guardianSetIndex=n}static deserialize(e){const t=e.readUInt32LE(0),n=[...e.subarray(4,4+t)].map(u=>u!=0),s=4+t,a=e.subarray(s,s+32),o=e.readUInt32LE(s+32);return new D(n,a,o)}}function $(r){return p.deriveAddress([i.dist.Buffer.from("upgrade")],r)}function W(r,e,t){return i.SystemProgram.transfer({fromPubkey:new i.PublicKey(e),toPubkey:P(r),lamports:t})}class Ue{constructor(e){c(this,"idl");this.idl=e}async encode(e,t){switch(e){default:throw new Error(`Invalid account name: ${e}`)}}decode(e,t){return this.decodeUnchecked(e,t)}decodeUnchecked(e,t){switch(e){default:throw new Error(`Invalid account name: ${e}`)}}memcmp(e,t){switch(e){case"postVaa":return{dataSize:56};default:throw new Error(`Invalid account name: ${e}`)}}size(e){return Y(this.idl,e)??0}}class Ce{constructor(e){}decode(e){throw new Error("Wormhole program does not have events")}}class B{static fieldLayout(e,t){const n=e.name!==void 0?L(e.name):void 0;switch(e.type){case"bool":return m.dist.bool(n);case"u8":return m.dist.u8(n);case"i8":return m.dist.i8(n);case"u16":return m.dist.u16(n);case"i16":return m.dist.i16(n);case"u32":return m.dist.u32(n);case"i32":return m.dist.i32(n);case"f32":return m.dist.f32(n);case"u64":return m.dist.u64(n);case"i64":return m.dist.i64(n);case"f64":return m.dist.f64(n);case"u128":return m.dist.u128(n);case"i128":return m.dist.i128(n);case"u256":return m.dist.u256(n);case"i256":return m.dist.i256(n);case"bytes":return m.dist.vecU8(n);case"string":return m.dist.str(n);case"publicKey":return m.dist.publicKey(n);default:{if("vec"in e.type)return m.dist.vec(B.fieldLayout({name:void 0,type:e.type.vec},t),n);if("option"in e.type)return m.dist.option(B.fieldLayout({name:void 0,type:e.type.option},t),n);if("array"in e.type){let s=e.type.array[0],a=e.type.array[1],o=B.fieldLayout({name:void 0,type:s},t);return m.dist.array(o,a,n)}else throw new Error(`Not yet implemented: ${e}`)}}}}class j{constructor(e){c(this,"ixLayout");this.ixLayout=j.parseIxLayout(e)}static parseIxLayout(e){const n=(e.instructions?e.instructions:[]).map(s=>{let a=s.args.map(u=>B.fieldLayout(u,Array.from([...e.accounts??[],...e.types??[]])));const o=L(s.name);return[o,m.dist.struct(a,o)]}).concat(e.instructions.map(s=>{let a=s.args.map(u=>B.fieldLayout(u,Array.from([...e.accounts??[],...e.types??[]])));const o=L(s.name);return[o,m.dist.struct(a,o)]}));return new Map(n)}encode(e,t){const n=i.dist.Buffer.alloc(1e3),s=L(e),a=this.ixLayout.get(s);if(!a)throw new Error(`Unknown method: ${s}`);const o=a.encode(t,n),u=n.slice(0,o);return _e(T[Be(s)],u)}encodeState(e,t){throw new Error("Wormhole program does not have state")}decode(e,t="hex"){var u;typeof e=="string"&&(e=t==="hex"?i.dist.Buffer.from(e,"hex"):i.b58.decode(e));let n=i.dist.Buffer.from(e.slice(0,1)).readInt8(),s=i.dist.Buffer.from(e.slice(1)),a=L(T[n]??"");return this.ixLayout.get(a)?{data:(u=this.ixLayout.get(a))==null?void 0:u.decode(s),name:a}:null}}var T;(function(r){r[r.Initialize=0]="Initialize",r[r.PostMessage=1]="PostMessage",r[r.PostVaa=2]="PostVaa",r[r.SetFees=3]="SetFees",r[r.TransferFees=4]="TransferFees",r[r.UpgradeContract=5]="UpgradeContract",r[r.UpgradeGuardianSet=6]="UpgradeGuardianSet",r[r.VerifySignatures=7]="VerifySignatures",r[r.PostMessageUnreliable=8]="PostMessageUnreliable"})(T||(T={}));function _e(r,e){const t=i.dist.Buffer.alloc(1+(e===void 0?0:e.length));return t.writeUInt8(r,0),e!==void 0&&t.write(e.toString("hex"),1,"hex"),t}class Te{constructor(e){}encode(e,t){throw new Error("Wormhole program does not have state")}decode(e){throw new Error("Wormhole program does not have state")}}class ve{constructor(e){}encode(e,t){throw new Error("Wormhole program does not have user-defined types")}decode(e,t){throw new Error("Wormhole program does not have user-defined types")}}class ke{constructor(e){c(this,"instruction");c(this,"accounts");c(this,"state");c(this,"events");c(this,"types");this.instruction=new j(e),this.accounts=new Ue(e),this.state=new Te(e),this.events=new Ce(e),this.types=new ve(e)}}const H={version:"0.1.0",name:"wormhole",instructions:[{name:"initialize",accounts:[{name:"bridge",isMut:!0,isSigner:!1},{name:"guardianSet",isMut:!0,isSigner:!1},{name:"feeCollector",isMut:!0,isSigner:!1},{name:"payer",isMut:!0,isSigner:!0},{name:"clock",isMut:!1,isSigner:!1},{name:"rent",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[{name:"guardianSetExpirationTime",type:"u32"},{name:"fee",type:"u64"},{name:"initialGuardians",type:{vec:{array:["u8",20]}}}]},{name:"postMessage",accounts:[{name:"bridge",isMut:!0,isSigner:!1},{name:"message",isMut:!0,isSigner:!0},{name:"emitter",isMut:!1,isSigner:!0},{name:"sequence",isMut:!0,isSigner:!1},{name:"payer",isMut:!0,isSigner:!0},{name:"feeCollector",isMut:!0,isSigner:!1},{name:"clock",isMut:!1,isSigner:!1},{name:"rent",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[{name:"nonce",type:"u32"},{name:"payload",type:"bytes"},{name:"consistencyLevel",type:"u8"}]},{name:"postVaa",accounts:[{name:"guardianSet",isMut:!1,isSigner:!1},{name:"bridge",isMut:!1,isSigner:!1},{name:"signatureSet",isMut:!1,isSigner:!1},{name:"vaa",isMut:!0,isSigner:!1},{name:"payer",isMut:!0,isSigner:!0},{name:"clock",isMut:!1,isSigner:!1},{name:"rent",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[{name:"version",type:"u8"},{name:"guardianSetIndex",type:"u32"},{name:"timestamp",type:"u32"},{name:"nonce",type:"u32"},{name:"emitterChain",type:"u16"},{name:"emitterAddress",type:{array:["u8",32]}},{name:"sequence",type:"u64"},{name:"consistencyLevel",type:"u8"},{name:"payload",type:"bytes"}]},{name:"setFees",accounts:[{name:"payer",isMut:!0,isSigner:!0},{name:"bridge",isMut:!0,isSigner:!1},{name:"vaa",isMut:!1,isSigner:!1},{name:"claim",isMut:!0,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[]},{name:"transferFees",accounts:[{name:"payer",isMut:!0,isSigner:!0},{name:"bridge",isMut:!0,isSigner:!1},{name:"vaa",isMut:!1,isSigner:!1},{name:"claim",isMut:!0,isSigner:!1},{name:"feeCollector",isMut:!0,isSigner:!1},{name:"recipient",isMut:!0,isSigner:!1},{name:"rent",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[]},{name:"upgradeContract",accounts:[{name:"payer",isMut:!0,isSigner:!0},{name:"bridge",isMut:!0,isSigner:!1},{name:"vaa",isMut:!1,isSigner:!1},{name:"claim",isMut:!0,isSigner:!1},{name:"upgradeAuthority",isMut:!1,isSigner:!1},{name:"spill",isMut:!0,isSigner:!1},{name:"implementation",isMut:!0,isSigner:!1},{name:"programData",isMut:!0,isSigner:!1},{name:"wormholeProgram",isMut:!0,isSigner:!1},{name:"rent",isMut:!1,isSigner:!1},{name:"clock",isMut:!1,isSigner:!1},{name:"bpfLoaderUpgradeable",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[]},{name:"upgradeGuardianSet",accounts:[{name:"payer",isMut:!0,isSigner:!0},{name:"bridge",isMut:!0,isSigner:!1},{name:"vaa",isMut:!1,isSigner:!1},{name:"claim",isMut:!0,isSigner:!1},{name:"guardianSetOld",isMut:!0,isSigner:!1},{name:"guardianSetNew",isMut:!0,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[]},{name:"verifySignatures",accounts:[{name:"payer",isMut:!0,isSigner:!0},{name:"guardianSet",isMut:!1,isSigner:!1},{name:"signatureSet",isMut:!0,isSigner:!0},{name:"instructions",isMut:!1,isSigner:!1},{name:"rent",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[{name:"signatureStatus",type:{array:["i8",19]}}]},{name:"postMessageUnreliable",accounts:[{name:"bridge",isMut:!0,isSigner:!1},{name:"message",isMut:!0,isSigner:!0},{name:"emitter",isMut:!1,isSigner:!0},{name:"sequence",isMut:!0,isSigner:!1},{name:"payer",isMut:!0,isSigner:!0},{name:"feeCollector",isMut:!0,isSigner:!1},{name:"clock",isMut:!1,isSigner:!1},{name:"rent",isMut:!1,isSigner:!1},{name:"systemProgram",isMut:!1,isSigner:!1}],args:[{name:"nonce",type:"u32"},{name:"payload",type:"bytes"},{name:"consistencyLevel",type:"u8"}]}],accounts:[{name:"PostedMessage",type:{kind:"struct",fields:[{name:"vaaVersion",type:"u8"},{name:"consistencyLevel",type:"u8"},{name:"vaaTime",type:"u32"},{name:"vaaSignatureAccount",type:"publicKey"},{name:"submissionTime",type:"u32"},{name:"nonce",type:"u32"},{name:"sequence",type:"u64"},{name:"emitterChain",type:"u16"},{name:"emitterAddress",type:{array:["u8",32]}},{name:"payload",type:"bytes"}]}},{name:"PostedVAA",type:{kind:"struct",fields:[{name:"vaaVersion",type:"u8"},{name:"consistencyLevel",type:"u8"},{name:"vaaTime",type:"u32"},{name:"vaaSignatureAccount",type:"publicKey"},{name:"submissionTime",type:"u32"},{name:"nonce",type:"u32"},{name:"sequence",type:"u64"},{name:"emitterChain",type:"u16"},{name:"emitterAddress",type:{array:["u8",32]}},{name:"payload",type:"bytes"}]}}]};function ue(r,e){return new m.Program(H,new i.PublicKey(r),e===void 0?{connection:null}:e,ce())}function w(r,e){return ue(r,m.createReadOnlyProvider(e))}function ce(){return new ke(H)}function ze(r,e,t,n){const s=w(e,r).methods.setFees();return s._ixFn(...s._args,{accounts:de(e,t,n),signers:void 0,remainingAccounts:void 0,preInstructions:void 0,postInstructions:void 0})}function de(r,e,t){return{payer:new i.PublicKey(e),bridge:h(r),vaa:b(r,i.dist.Buffer.from(t.hash)),claim:E(r,t.emitterAddress.toString(),i.toChainId(t.emitterChain),t.sequence),systemProgram:i.SystemProgram.programId}}function qe(r,e,t,n,s){const a=w(e,r).methods.transferFees();return a._ixFn(...a._args,{accounts:ge(e,t,n,s),signers:void 0,remainingAccounts:void 0,preInstructions:void 0,postInstructions:void 0})}function ge(r,e,t,n){return{payer:new i.PublicKey(e),bridge:h(r),vaa:b(r,i.dist.Buffer.from(n.hash)),claim:E(r,n.emitterAddress.toString(),i.toChainId(n.emitterChain),n.sequence),feeCollector:P(r),recipient:new i.PublicKey(t),rent:i.SYSVAR_RENT_PUBKEY,systemProgram:i.SystemProgram.programId}}function Ve(r,e,t,n){const s=w(e,r).methods.upgradeGuardianSet();return s._ixFn(...s._args,{accounts:fe(e,t,n),signers:void 0,remainingAccounts:void 0,preInstructions:void 0,postInstructions:void 0})}function fe(r,e,t){return{payer:new i.PublicKey(e),bridge:h(r),vaa:b(r,i.dist.Buffer.from(t.hash)),claim:E(r,t.emitterAddress.toString(),i.toChainId(t.emitterChain),t.sequence),guardianSetOld:I(r,t.guardianSet),guardianSetNew:I(r,t.guardianSet+1),systemProgram:i.SystemProgram.programId}}function De(r,e,t,n){const s=w(e,r).methods.upgradeContract();return s._ixFn(...s._args,{accounts:me(e,t,n),signers:void 0,remainingAccounts:void 0,preInstructions:void 0,postInstructions:void 0})}function me(r,e,t,n){const{newContract:s}=t.payload.actionArgs;return{payer:new i.PublicKey(e),bridge:h(r),vaa:b(r,i.dist.Buffer.from(t.hash)),claim:E(r,t.emitterAddress.toString(),i.toChainId(t.emitterChain),t.sequence),upgradeAuthority:$(r),spill:new i.PublicKey(n===void 0?e:n),implementation:new i.SolanaAddress(s).unwrap(),programData:te(r),wormholeProgram:new i.PublicKey(r),rent:i.SYSVAR_RENT_PUBKEY,clock:i.SYSVAR_CLOCK_PUBKEY,bpfLoaderUpgradeable:O,systemProgram:i.SystemProgram.programId}}function Fe(r,e,t,n,s,a){const o=w(e,r).methods.initialize(n,new i.BN(s.toString()),[...a.map(u=>[...new Uint8Array(u)])]);return o._ixFn(...o._args,{accounts:le(e,t),signers:void 0,remainingAccounts:void 0,preInstructions:void 0,postInstructions:void 0})}function le(r,e){return{bridge:h(r),guardianSet:I(r,0),feeCollector:P(r),payer:new i.PublicKey(e),clock:i.SYSVAR_CLOCK_PUBKEY,rent:i.SYSVAR_RENT_PUBKEY,systemProgram:i.SystemProgram.programId}}function ye(r,e,t,n,s,a,o){const u=w(e,r).methods.postMessage(a,i.dist.Buffer.from(s),o);return u._ixFn(...u._args,{accounts:F(e,t,n),signers:void 0,remainingAccounts:void 0,preInstructions:void 0,postInstructions:void 0})}function F(r,e,t,n){let s;return n?{emitter:n,sequence:s}=N(n,r):(n=e,s=C(n,r)),{bridge:h(r),message:new i.PublicKey(t),emitter:new i.PublicKey(n),sequence:s,payer:new i.PublicKey(e),feeCollector:P(r),clock:i.SYSVAR_CLOCK_PUBKEY,rent:i.SYSVAR_RENT_PUBKEY,systemProgram:i.SystemProgram.programId}}function pe(r,e,t,n,s){const a=w(e,r).methods.postVaa(1,n.guardianSet,n.timestamp,n.nonce,i.toChainId(n.emitterChain),[...n.emitterAddress.toUint8Array()],new i.BN(n.sequence.toString()),n.consistencyLevel,i.dist.Buffer.from(i.serializePayload(n.payloadLiteral,n.payload)));return a._ixFn(...a._args,{accounts:he(e,t,s,n),signers:void 0,remainingAccounts:void 0,preInstructions:void 0,postInstructions:void 0})}function he(r,e,t,n){return{guardianSet:I(r,n.guardianSet),bridge:h(r),signatureSet:new i.PublicKey(t),vaa:b(r,i.dist.Buffer.from(n.hash)),payer:new i.PublicKey(e),clock:i.SYSVAR_CLOCK_PUBKEY,rent:i.SYSVAR_RENT_PUBKEY,systemProgram:i.SystemProgram.programId}}const Re=19;async function Se(r,e,t,n,s,a){const o=n.guardianSet,u=await G(r,e,o,a),d=n.signatures,f=u.keys,g=7,l=[];for(let y=0;y<Math.ceil(d.length/g);++y){const S=y*g,A=Math.min(d.length,(y+1)*g),K=new Array(Re).fill(-1),J=[],Q=[];for(let _=0;_<A-S;++_){const R=d.at(_+S);J.push(i.dist.Buffer.from(R.signature.encode())),Q.push(f.at(R.guardianIndex)),K[R.guardianIndex]=_}l.push(xe(J,Q,i.dist.Buffer.from(n.hash))),l.push(Oe(r,e,t,n,s,K))}return l}function Oe(r,e,t,n,s,a){const o=w(e,r).methods.verifySignatures(a);return o._ixFn(...o._args,{accounts:we(e,t,s,n),signers:void 0,remainingAccounts:void 0,preInstructions:void 0,postInstructions:void 0})}function we(r,e,t,n){return{payer:new i.PublicKey(e),guardianSet:I(r,n.guardianSet),signatureSet:new i.PublicKey(t),instructions:i.SYSVAR_INSTRUCTIONS_PUBKEY,rent:i.SYSVAR_RENT_PUBKEY,systemProgram:i.SystemProgram.programId}}function Ae(r,e){const{emitter:t,sequence:n}=N(r,e);return{wormholeBridge:h(e),wormholeEmitter:t,wormholeSequence:n,wormholeFeeCollector:P(e)}}function be(r,e,t,n){const s=F(e,t,n,r);return{payer:s.payer,wormholeBridge:s.bridge,wormholeMessage:s.message,wormholeEmitter:s.emitter,wormholeSequence:s.sequence,wormholeFeeCollector:s.feeCollector,clock:s.clock,rent:s.rent,systemProgram:s.systemProgram}}const Ye=Object.freeze(Object.defineProperty({__proto__:null,BridgeConfig:v,BridgeData:k,GuardianSetData:V,SequenceTracker:z,SignatureSetData:D,coder:ce,createBridgeFeeTransferInstruction:W,createInitializeInstruction:Fe,createPostMessageInstruction:ye,createPostVaaInstruction:pe,createReadOnlyWormholeProgramInterface:w,createSetFeesInstruction:ze,createTransferFeesInstruction:qe,createUpgradeContractInstruction:De,createUpgradeGuardianSetInstruction:Ve,createVerifySignaturesInstructions:Se,createWormholeProgramInterface:ue,deriveClaimKey:E,deriveEmitterSequenceKey:C,deriveFeeCollectorKey:P,deriveGuardianSetKey:I,derivePostedVaaKey:b,deriveUpgradeAuthorityKey:$,deriveWormholeBridgeDataKey:h,deriveWormholeEmitterKey:q,getClaim:se,getEmitterKeys:N,getGuardianSet:G,getInitializeAccounts:le,getPostMessageAccounts:F,getPostMessageCpiAccounts:be,getPostVaaAccounts:he,getProgramSequenceTracker:oe,getSequenceTracker:ae,getSetFeesAccounts:de,getSignatureSetData:Le,getTransferFeesAccounts:ge,getUpgradeContractAccounts:me,getUpgradeGuardianSetAccounts:fe,getVerifySignatureAccounts:we,getWormholeBridgeData:ie,getWormholeDerivedAccounts:Ae},Symbol.toStringTag,{value:"Module"})),ee="Program log: Sequence: ";class x{constructor(e,t,n,s){c(this,"network");c(this,"chain");c(this,"connection");c(this,"contracts");c(this,"chainId");c(this,"coreBridge");c(this,"address");c(this,"bridgeData");this.network=e,this.chain=t,this.connection=n,this.contracts=s,this.chainId=i.toChainId(t);const a=s.coreBridge;if(!a)throw new Error(`CoreBridge contract Address for chain ${t} not found`);this.address=a,this.coreBridge=w(a,n)}async getGuardianSet(e){const t=await G(this.connection,this.coreBridge.programId,e);return{index:t.index,keys:t.keys.map(n=>n.toString("hex")),expiry:BigInt(t.expirationTime)}}static async fromRpc(e,t){const[n,s]=await X.SolanaPlatform.chainFromRpc(e),a=t[s];if(a.network!==n)throw new Error(`Network mismatch for chain ${s}: ${a.network} != ${n}`);return new x(n,s,e,t[s].contracts)}async ensureBridgeConfig(){this.bridgeData||(this.bridgeData=await ie(this.connection,this.coreBridge.programId))}async getMessageFee(){return await this.ensureBridgeConfig(),this.bridgeData.config.fee}async getGuardianSetIndex(){return await this.ensureBridgeConfig(),this.bridgeData.guardianSetIndex}async*publishMessage(e,t,n,s){const a=i.Keypair.generate(),o=new i.SolanaAddress(e).unwrap(),u=ye(this.connection,this.coreBridge.programId,o,a.publicKey,t,n,s),d=await this.getMessageFee(),f=W(this.coreBridge.programId,o,d),g=new i.Transaction;g.feePayer=o,g.add(f,u),yield this.createUnsignedTx({transaction:g,signers:[a]},"Core.PublishMessage")}async*verifyMessage(e,t){yield*this.postVaa(e,t)}async*postVaa(e,t){const n=b(this.coreBridge.programId,i.dist.Buffer.from(t.hash));if(await this.connection.getAccountInfo(n))return;const a=new i.SolanaAddress(e).unwrap(),o=i.Keypair.generate(),u=await Se(this.connection,this.coreBridge.programId,a,t,o.publicKey);for(let f=0;f<u.length;f+=2){const g=new i.Transaction().add(...u.slice(f,f+2));g.feePayer=a,yield this.createUnsignedTx({transaction:g,signers:[o]},"Core.VerifySignature",!0)}const d=new i.Transaction().add(pe(this.connection,this.coreBridge.programId,a,t,o.publicKey));d.feePayer=a,yield this.createUnsignedTx({transaction:d},"Core.PostVAA")}static parseSequenceFromLog(e,t){var d,f,g,l;const{meta:n,transaction:{message:s}}=t;if(!((d=n==null?void 0:n.innerInstructions)!=null&&d.length))return[];const a=s.staticAccountKeys;if(a.filter(y=>y.toString()===e).length===0)return[];const o=(l=(g=(f=n==null?void 0:n.logMessages)==null?void 0:f.filter(y=>y.startsWith(ee)))==null?void 0:g[0])==null?void 0:l.replace(ee,"");if(!o)return[];const u=[];for(const y of n==null?void 0:n.innerInstructions){const S=y.instructions;u.push(...S.filter(A=>A.programIdIndex in a&&a[A.programIdIndex].toString()===e))}return u.length<1?[]:a.length<3?[]:u.map(y=>[new i.SolanaAddress(a[y.accounts[2]]).toUniversalAddress(),BigInt(o)]).filter(y=>y!==null)}async getMessageAccountKeys(e){let t;if(typeof e.transaction.message.version!="string")if(e.meta.loadedAddresses)t=e.transaction.message.getAccountKeys({accountKeysFromLookups:e.meta.loadedAddresses});else{const n=await Promise.all(e.transaction.message.addressTableLookups.map(async s=>{const a=await this.connection.getAddressLookupTable(s.accountKey);if(!a||!a.value)throw new Error("Could not resolve lookup table: "+s.accountKey.toBase58());return a.value}));t=e.transaction.message.getAccountKeys({addressLookupTableAccounts:n})}else t=e.transaction.message.getAccountKeys();return t}async findInstructions(e,t){var d;const{meta:n,transaction:{message:s}}=t,a=this.coreBridge.programId,o=(d=n.innerInstructions)==null?void 0:d.flatMap(f=>f.instructions.filter(g=>a.toString()===e.get(g.programIdIndex).toString())).map(f=>({programIdIndex:f.programIdIndex,accountKeyIndexes:f.accounts})),u=s.compiledInstructions.filter(f=>a.toString()===e.get(f.programIdIndex).toString());return[...o,...u]}async parsePostMessageAccount(e){const t=await this.connection.getAccountInfo(e);if(!(t!=null&&t.data))throw new Error("No data found in message account");const{timestamp:n,emitterAddress:s,emitterChain:a,consistencyLevel:o,sequence:u,nonce:d,payload:f}=re(new Uint8Array(t==null?void 0:t.data));return Ee.createVAA("Uint8Array",{guardianSet:await this.getGuardianSetIndex(),emitterChain:i.toChain(a),timestamp:n,emitterAddress:s,consistencyLevel:o,sequence:u,nonce:d,payload:f,signatures:[]})}async parseTransaction(e){const t=await this.connection.getTransaction(e,{maxSupportedTransactionVersion:0});if(!t||!t.meta||!t.meta.innerInstructions)throw new Error("transaction not found");try{const o=x.parseSequenceFromLog(this.coreBridge.programId.toBase58(),t);if(o.length>0){const[u,d]=o[0];return[{chain:this.chain,emitter:u,sequence:d}]}}catch{}const n=await this.getMessageAccountKeys(t),s=await this.findInstructions(n,t);if(!s||s.length===0)throw new Error("no bridge messages found");const a=s.map(async o=>{const u=n.get(o.accountKeyIndexes[1]),d=await this.parsePostMessageAccount(u);return{chain:d.emitterChain,emitter:d.emitterAddress,sequence:d.sequence}});return await Promise.all(a)}async parseMessages(e){const t=await this.connection.getTransaction(e,{maxSupportedTransactionVersion:0});if(!t||!t.meta||!t.meta.innerInstructions)throw new Error("transaction not found");const n=await this.getMessageAccountKeys(t),s=await this.findInstructions(n,t);if(!s||s.length===0)throw new Error("no bridge messages found");const a=s.map(async o=>{const u=n.get(o.accountKeyIndexes[1]);return await this.parsePostMessageAccount(u)});return await Promise.all(a)}createUnsignedTx(e,t,n=!1){return new X.SolanaUnsignedTransaction(e,this.network,this.chain,t,n)}}i.registerProtocol(i._platform$1,"WormholeCore",x);const Ne=Object.freeze(Object.defineProperty({__proto__:null,IDL:H,SolanaWormholeCore:x,deserializePostMessage:re,postMessageLayout:ne,utils:Ye},Symbol.toStringTag,{value:"Module"}));exports.BPF_LOADER_UPGRADEABLE_PROGRAM_ID=O;exports.SolanaWormholeCore=x;exports.accountSize=Y;exports.createBridgeFeeTransferInstruction=W;exports.deriveClaimKey=E;exports.deriveEmitterSequenceKey=C;exports.deriveFeeCollectorKey=P;exports.derivePostedVaaKey=b;exports.deriveProgramDataAddress=te;exports.deriveUpgradeAuthorityKey=$;exports.deriveWormholeBridgeDataKey=h;exports.deriveWormholeEmitterKey=q;exports.getClaim=se;exports.getPostMessageAccounts=F;exports.getPostMessageCpiAccounts=be;exports.getProgramSequenceTracker=oe;exports.getWormholeDerivedAccounts=Ae;exports.index=Ne;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { i as y, e as b, x as w } from "./lit-element-DHQZP6We.mjs";
|
|
2
2
|
import { n as l, m as I, e as L } from "./class-map-DBGwRnBD.mjs";
|
|
3
|
-
import { r as S, k as W, e as D } from "./core-
|
|
3
|
+
import { r as S, k as W, e as D } from "./core-BHV42Qa0.mjs";
|
|
4
4
|
const h = {
|
|
5
5
|
getSpacingStyles(i, t) {
|
|
6
6
|
if (Array.isArray(i))
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";const c=require("./lit-element-Df-39D6h.js"),s=require("./class-map-B2HOLMzX.js"),d=require("./core-
|
|
1
|
+
"use strict";const c=require("./lit-element-Df-39D6h.js"),s=require("./class-map-B2HOLMzX.js"),d=require("./core-CV23yxnG.js"),p={getSpacingStyles(t,e){if(Array.isArray(t))return t[e]?`var(--wui-spacing-${t[e]})`:void 0;if(typeof t=="string")return`var(--wui-spacing-${t})`},getFormattedDate(t){return new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric"}).format(t)},getHostName(t){try{return new URL(t).hostname}catch{return""}},getTruncateString({string:t,charsStart:e,charsEnd:r,truncate:o}){return t.length<=e+r?t:o==="end"?`${t.substring(0,e)}...`:o==="start"?`...${t.substring(t.length-r)}`:`${t.substring(0,Math.floor(e))}...${t.substring(t.length-Math.floor(r))}`},generateAvatarColors(t){const r=t.toLowerCase().replace(/^0x/iu,"").replace(/[^a-f0-9]/gu,"").substring(0,6).padEnd(6,"0"),o=this.hexToRgb(r),n=getComputedStyle(document.documentElement).getPropertyValue("--w3m-border-radius-master"),a=100-3*Number(n==null?void 0:n.replace("px","")),l=`${a}% ${a}% at 65% 40%`,v=[];for(let m=0;m<5;m+=1){const C=this.tintColor(o,.15*m);v.push(`rgb(${C[0]}, ${C[1]}, ${C[2]})`)}return`
|
|
2
2
|
--local-color-1: ${v[0]};
|
|
3
3
|
--local-color-2: ${v[1]};
|
|
4
4
|
--local-color-3: ${v[2]};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var F=Object.defineProperty;var M=(I,t,e)=>t in I?F(I,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):I[t]=e;var m=(I,t,e)=>M(I,typeof t!="symbol"?t+"":t,e);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("./platform-BKhoO9So.js"),f=require("./address-BwQqFkyh.js");require("./index-BblcpkoK.js");const u=require("./web3-COTIsLs8.js"),P=require("./unsignedTransaction-DzSLsK-p.js"),A=async(I,t,e)=>{var l,r,n;if(!f.isValidSuiType(e))throw new Error(`Invalid Sui type: ${e}`);const c=await a.getObjectFields(I,t);if(!c)throw new Error(`Unable to fetch object fields from token bridge state. Object ID: ${t}`);const o=(r=(l=c.token_registry.fields)==null?void 0:l.id)==null?void 0:r.id;if(!o)throw new Error("Unable to fetch token registry object ID");const s=f.getPackageIdFromType((n=c.token_registry)==null?void 0:n.type);if(!s)throw new Error("Unable to fetch token registry package ID");return I.getDynamicFieldObject({parentId:o,name:{type:`${s}::token_registry::Key<${e}>`,value:{dummy_field:!1}}})},C=async(I,t,e,c)=>{var i,h,w,k;const o=await a.getObjectFields(I,t);if(!o)throw new Error("Unable to fetch object fields from token bridge state");const s=(h=(i=o.token_registry)==null?void 0:i.fields)==null?void 0:h.coin_types,l=(k=(w=s==null?void 0:s.fields)==null?void 0:w.id)==null?void 0:k.id;if(!l)throw new Error("Unable to fetch coin types");const r=f.getTableKeyType(s==null?void 0:s.type);if(!r)throw new Error("Unable to get key type");const n=await I.getDynamicFieldObject({parentId:l,name:{type:r,value:{addr:[...e],chain:c}}});if(n.error){if(n.error.code==="dynamicFieldNotFound")return null;throw new Error(`Unexpected getDynamicFieldObject response ${n.error}`)}const g=a.getFieldsFromObjectResponse(n);if(!g)return null;if(!a.isMoveStructObject(g))throw new Error("What?");return"value"in g?f.trimSuiType(g.value):null};class B{constructor(t,e,c,o){m(this,"network");m(this,"chain");m(this,"provider");m(this,"contracts");m(this,"coreBridgeObjectId");m(this,"tokenBridgeObjectId");m(this,"chainId");this.network=t,this.chain=e,this.provider=c,this.contracts=o,this.chainId=u.networkChainToNativeChainId.get(t,e);const s=this.contracts.tokenBridge;if(!s)throw new Error(`Wormhole Token Bridge contract for domain ${e} not found`);const l=this.contracts.coreBridge;if(!l)throw new Error(`Wormhole Token Bridge contract for domain ${e} not found`);this.tokenBridgeObjectId=s,this.coreBridgeObjectId=l}static async fromRpc(t,e){const[c,o]=await a.SuiPlatform.chainFromRpc(t),s=e[o];if(s.network!==c)throw new Error(`Network mismatch: ${s.network} != ${c}`);return new B(c,o,t,s.contracts)}async isWrappedAsset(t){try{return await this.getOriginalAsset(t),!0}catch{return!1}}async getOriginalAsset(t){let e=t.getCoinType();if(!f.isValidSuiType(e))throw new Error(`Invalid Sui type: ${e}`);const c=await A(this.provider,this.tokenBridgeObjectId,e),o=a.getFieldsFromObjectResponse(c);if(!o)throw u.ErrNotWrapped(e);if(!a.isMoveStructObject(o))throw new Error("Expected fields to be a MoveStruct");if(!("value"in o))throw new Error("Expected a `value` key in fields of MoveStruct");const s=o.value;if(!a.isMoveStructStruct(s))throw new Error("Expected fields to be a MoveStruct");const l=f.trimSuiType(s.type);if(e=f.trimSuiType(e),l.includes(`wrapped_asset::WrappedAsset<${e}>`)){const r=s.fields.info;if(!a.isMoveStructStruct(r))throw new Error("Expected fields to be a MoveStruct");const n=r.fields.token_address;if(!a.isMoveStructStruct(n))throw new Error("Expected fields to be a MoveStruct");if(!a.isMoveStructObject(n.fields))throw new Error("Expected address data to be a MoveObject");if(!("value"in n.fields))throw new Error("Expected a `value` key in fields of MoveStruct");const g=n.fields.value;if(!a.isMoveStructStruct(g))throw new Error("Expected fields to be a MoveStruct");const i=new Uint8Array(g.fields.data);return{chain:u.toChain(Number(r.fields.token_chain)),address:new u.UniversalAddress(i)}}throw u.ErrNotWrapped(e)}async getTokenUniversalAddress(t){let e=t.getCoinType();if(!f.isValidSuiType(e))throw new Error(`Invalid Sui type: ${e}`);const c=await A(this.provider,this.tokenBridgeObjectId,e),o=a.getFieldsFromObjectResponse(c);if(!o)throw new Error(`Token of type ${e} has not been registered with the token bridge. Has it been attested?`);if(!a.isMoveStructObject(o))throw new Error("Expected fields to be a MoveStruct");if(!("value"in o))throw new Error("Expected a `value` key in fields of MoveStruct");const s=o.value;if(!a.isMoveStructStruct(s))throw new Error("Expected fields to be a MoveStruct");const l=f.trimSuiType(s.type);if(e=f.trimSuiType(e),l.includes(`native_asset::NativeAsset<${e}>`)){const r=s.fields.token_address;if(!a.isMoveStructStruct(r))throw new Error("Expected fields to be a MoveStruct");if(!("value"in r.fields))throw new Error("Expected a `value` key in fields of MoveStruct");const n=r.fields.value;if(!a.isMoveStructStruct(n))throw new Error("Expected fields to be a MoveStruct");const g=new Uint8Array(n.fields.data);return new u.UniversalAddress(g)}throw new Error(`Token of type ${e} is not a native asset`)}async getTokenNativeAddress(t,e){const c=await C(this.provider,this.tokenBridgeObjectId,e.toUint8Array(),u.toChainId(t));if(!c)throw new Error(`Token ${e.toString()} not found in token registry`);return new f.SuiAddress(c)}async hasWrappedAsset(t){try{return await this.getWrappedAsset(t),!0}catch{}return!1}async getWrappedAsset(t){if(u.isNative(t.address))throw new Error("Token Address required, 'native' literal not supported");const e=await C(this.provider,this.tokenBridgeObjectId,t.address.toUniversalAddress().toUint8Array(),u.toChainId(t.chain));if(!e)throw u.ErrNotWrapped(u.canonicalAddress(t));return u.toNative(this.chain,e)}async isTransferCompleted(t){var r,n,g,i,h,w,k,b;const e=await a.getObjectFields(this.provider,this.tokenBridgeObjectId);if(!e)throw new Error("Unable to fetch object fields from token bridge state");const c=(n=(r=e.consumed_vaas)==null?void 0:r.fields)==null?void 0:n.hashes,o=f.getTableKeyType((i=(g=c==null?void 0:c.fields)==null?void 0:g.items)==null?void 0:i.type);if(!o)throw new Error("Unable to get key type");const s=(b=(k=(w=(h=c==null?void 0:c.fields)==null?void 0:h.items)==null?void 0:w.fields)==null?void 0:k.id)==null?void 0:b.id;if(!s)throw new Error("Unable to fetch consumed VAAs table");const l=await this.provider.getDynamicFieldObject({parentId:s,name:{type:o,value:{data:[...u.keccak_256(t.hash)]}}});if(!l.error)return!0;if(l.error.code==="dynamicFieldNotFound")return!1;throw new Error(`Unexpected getDynamicFieldObject response ${l.error}`)}async*createAttestation(t){const e=0n,o=t.toString(),s=await this.provider.getCoinMetadata({coinType:o});if(s===null||s.id===null)throw new Error(`Coin metadata ID for type ${o} not found`);const[l,r]=await this.getPackageIds(),n=new a.Transaction,[g]=n.splitCoins(n.gas,[n.pure.u64(e)]),[i]=n.moveCall({target:`${r}::attest_token::attest_token`,arguments:[n.object(this.tokenBridgeObjectId),n.object(s.id),n.pure.u32(0)],typeArguments:[o]});n.moveCall({target:`${l}::publish_message::publish_message`,arguments:[n.object(this.coreBridgeObjectId),g,i,n.object(a.SUI_CLOCK_OBJECT_ID)]}),yield this.createUnsignedTx(n,"Sui.TokenBridge.CreateAttestation")}async*submitAttestation(t,e){const[c,o]=await this.getPackageIds(),s=e.toString(),l=Math.min(t.payload.decimals,8),r=await this.getCoinBuildOutput(c,o,l),n=await a.publishPackage(r,s);yield this.createUnsignedTx(n,"Sui.TokenBridge.PrepareCreateWrapped");let g="",i="",h="",w="",k="",b=!1;for(;!b;){await new Promise(y=>setTimeout(y,500));const j=await this.provider.queryTransactionBlocks({filter:{FromAddress:s},options:{showObjectChanges:!0},limit:3});for(const y of j.data)if("objectChanges"in y){for(const p of y.objectChanges)a.isSuiPublishEvent(p)&&p.packageId!==void 0?g=p.packageId:a.isSuiCreateEvent(p)&&p.objectType.includes("WrappedAssetSetup")?(i=p.objectId,k=p.objectType.split(", ")[1].replace(">","")):a.isSuiCreateEvent(p)&&p.objectType.includes("UpgradeCap")?h=p.objectId:a.isSuiCreateEvent(p)&&p.objectType.includes("CoinMetadata")&&(w=p.objectId);if(g!==""&&i!==""&&h!==""&&w!==""){b=!0;break}else g="",i="",h="",w=""}}const v=f.getCoinTypeFromPackageId(g),d=new a.Transaction,[_]=d.moveCall({target:`${c}::vaa::parse_and_verify`,arguments:[d.object(this.coreBridgeObjectId),d.pure.vector("u8",u.serialize$1(t)),d.object(a.SUI_CLOCK_OBJECT_ID)]}),[S]=d.moveCall({target:`${o}::vaa::verify_only_once`,arguments:[d.object(this.tokenBridgeObjectId),_]});d.moveCall({target:`${o}::create_wrapped::complete_registration`,arguments:[d.object(this.tokenBridgeObjectId),d.object(w),d.object(i),d.object(h),S],typeArguments:[v,k]}),yield this.createUnsignedTx(d,"Sui.TokenBridge.SubmitAttestation")}async*transfer(t,e,c,o,s){const l=0n,r=0n,g=t.toString(),i=(u.isNative(c)?a.SUI_TYPE_ARG:c).toString(),h=await a.SuiPlatform.getCoins(this.provider,t,i),[w,...k]=h.filter(y=>a.isSameType(y.coinType,i));if(w===void 0)throw new Error(`Coins array doesn't contain any coins of type ${i}`);const[b,v]=await this.getPackageIds(),d=new a.Transaction,[_]=(()=>{if(i===a.SUI_TYPE_ARG)return d.splitCoins(d.gas,[d.pure.u64(o)]);{const y=d.object(w.coinObjectId);return k.length&&d.mergeCoins(y,k.map(p=>d.object(p.coinObjectId))),d.splitCoins(y,[d.pure.u64(o)])}})(),[S]=d.splitCoins(d.gas,[d.pure.u64(l)]),[j]=d.moveCall({target:`${v}::state::verified_asset`,arguments:[d.object(this.tokenBridgeObjectId)],typeArguments:[i]});if(s){if(!g)throw new Error("senderAddress is required for transfer with payload");let y=!1;const p=await(async()=>{const E=await a.getOldestEmitterCapObjectId(this.provider,b,g);if(E!==null)return d.object(E);{const[x]=d.moveCall({target:`${b}::emitter::new`,arguments:[d.object(this.coreBridgeObjectId)]});return y=!0,x}})(),[T,U]=d.moveCall({target:`${v}::transfer_tokens_with_payload::prepare_transfer`,arguments:[p,j,_,d.pure.u16(u.toChainId(e.chain)),d.pure.vector("u8",e.address.toUint8Array()),d.pure.vector("u8",s),d.pure.u32(0)],typeArguments:[i]});d.moveCall({target:`${v}::coin_utils::return_nonzero`,arguments:[U],typeArguments:[i]});const[$]=d.moveCall({target:`${v}::transfer_tokens_with_payload::transfer_tokens_with_payload`,arguments:[d.object(this.tokenBridgeObjectId),T],typeArguments:[i]});d.moveCall({target:`${b}::publish_message::publish_message`,arguments:[d.object(this.coreBridgeObjectId),S,$,d.object(a.SUI_CLOCK_OBJECT_ID)]}),y&&d.transferObjects([p],d.pure.address(g)),yield this.createUnsignedTx(d,"Sui.TokenBridge.TransferWithPayload")}else{const[y,p]=d.moveCall({target:`${v}::transfer_tokens::prepare_transfer`,arguments:[j,_,d.pure.u16(u.toChainId(e.chain)),d.pure.vector("u8",e.address.toUint8Array()),d.pure.u64(r),d.pure.u32(0)],typeArguments:[i]});d.moveCall({target:`${v}::coin_utils::return_nonzero`,arguments:[p],typeArguments:[i]});const[T]=d.moveCall({target:`${v}::transfer_tokens::transfer_tokens`,arguments:[d.object(this.tokenBridgeObjectId),y],typeArguments:[i]});d.moveCall({target:`${b}::publish_message::publish_message`,arguments:[d.object(this.coreBridgeObjectId),S,T,d.object(a.SUI_CLOCK_OBJECT_ID)]}),yield this.createUnsignedTx(d,"Sui.TokenBridge.Transfer")}}async*redeem(t,e,c=!0){const o=await C(this.provider,this.tokenBridgeObjectId,e.payload.token.address.toUint8Array(),u.toChainId(e.payload.token.chain));if(!o)throw new Error("Unable to fetch token coinType");const[s,l]=await this.getPackageIds(),r=new a.Transaction,[n]=r.moveCall({target:`${s}::vaa::parse_and_verify`,arguments:[r.object(this.coreBridgeObjectId),r.pure.vector("u8",u.serialize$1(e)),r.object(a.SUI_CLOCK_OBJECT_ID)]}),[g]=r.moveCall({target:`${l}::vaa::verify_only_once`,arguments:[r.object(this.tokenBridgeObjectId),n]}),[i]=r.moveCall({target:`${l}::complete_transfer::authorize_transfer`,arguments:[r.object(this.tokenBridgeObjectId),g],typeArguments:[o]}),[h]=r.moveCall({target:`${l}::complete_transfer::redeem_relayer_payout`,arguments:[i],typeArguments:[o]});r.moveCall({target:`${l}::coin_utils::return_nonzero`,arguments:[h],typeArguments:[o]}),yield this.createUnsignedTx(r,"Sui.TokenBridge.Redeem")}async getWrappedNative(){return u.toNative(this.chain,a.SUI_TYPE_ARG)}async getPackageIds(){return Promise.all([a.getPackageId(this.provider,this.coreBridgeObjectId),a.getPackageId(this.provider,this.tokenBridgeObjectId)])}async getCoinBuildOutput(t,e,c){var r;if(c>8)throw new Error("Decimals is capped at 8");const o=(r=await a.getOriginalPackageId(this.provider,this.tokenBridgeObjectId))==null?void 0:r.replace("0x","");if(!o)throw new Error(`Original token bridge package ID not found for object ID ${this.tokenBridgeObjectId}`);const s="a11ceb0b060000000901000a020a14031e1704350405392d07669f01088502600ae502050cea02160004010b010c0205020d000002000201020003030c020001000104020700000700010001090801010c020a050600030803040202000302010702080007080100020800080303090002070801010b020209000901010608010105010b0202080008030209000504434f494e095478436f6e7465787408565f5f305f325f3011577261707065644173736574536574757004636f696e0e6372656174655f777261707065640b64756d6d795f6669656c6404696e697414707265706172655f726567697374726174696f6e0f7075626c69635f7472616e736665720673656e646572087472616e736665720a74785f636f6e746578740f76657273696f6e5f636f6e74726f6c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002"+o+"00020106010000000001090b0031"+c.toString(16).padStart(2,"0")+"0a0138000b012e110238010200";return{modules:[u.b64.encode(u.hex.decode(s))],dependencies:["0x1","0x2",e,t].map(n=>f.normalizeSuiObjectId(n))}}createUnsignedTx(t,e,c=!1){return new P.SuiUnsignedTransaction(t,this.network,this.chain,e,c)}}class O{constructor(t,e,c,o){m(this,"network");m(this,"chain");m(this,"connection");m(this,"contracts");m(this,"tokenBridgeRelayerObjectId");m(this,"coreBridgeObjectId");m(this,"tokenBridgeObjectId");m(this,"fields");this.network=t,this.chain=e,this.connection=c,this.contracts=o;const{tokenBridge:s,tokenBridgeRelayer:l,coreBridge:r}=o;if(!s||!l||!r)throw new Error(`Some object IDs for ${e} Automatic Token Bridge not found`);this.tokenBridgeRelayerObjectId=l,this.tokenBridgeObjectId=s,this.coreBridgeObjectId=r}static async fromRpc(t,e){const[c,o]=await a.SuiPlatform.chainFromRpc(t),s=e[o];if(s.network!==c)throw new Error(`Network mismatch for chain ${o}: ${s.network} != ${c}`);return new O(c,o,t,s.contracts)}async*transfer(t,e,c,o,s){const r=new f.SuiAddress(u.isNative(c)?a.SuiPlatform.nativeTokenId(this.network,this.chain).address:c).getCoinType(),{coreBridge:n,tokenBridge:g}=await this.getPackageIds(),i=new a.Transaction,h=BigInt(0),[w]=i.splitCoins(i.gas,[i.pure.u64(h)]),[k]=await(async()=>{if(u.isNative(c))return i.splitCoins(i.gas,[i.pure.u64(o)]);{const S=await a.SuiPlatform.getCoins(this.connection,t,r),[j,...y]=S.filter(T=>T.coinType===r);if(j===void 0)throw new Error(`Coins array doesn't contain any coins of type ${r}`);const p=i.object(j.coinObjectId);return y.length&&i.mergeCoins(p,y.map(T=>i.object(T.coinObjectId))),i.splitCoins(p,[i.pure.u64(o)])}})(),[b]=i.moveCall({target:`${g}::state::verified_asset`,arguments:[i.object(this.tokenBridgeObjectId)],typeArguments:[r]}),v=await this.getPackageId(),[d]=i.moveCall({target:`${v}::transfer::transfer_tokens_with_relay`,arguments:[i.object(this.tokenBridgeRelayerObjectId),k,b,i.pure.u64(s??0n),i.pure.u16(u.toChainId(e.chain)),i.pure.address(u.hex.encode(e.address.toUint8Array(),!0)),i.pure.u32(123)],typeArguments:[r]}),[_]=i.moveCall({target:`${g}::transfer_tokens_with_payload::transfer_tokens_with_payload`,arguments:[i.object(this.tokenBridgeObjectId),d],typeArguments:[r]});i.moveCall({target:`${n}::publish_message::publish_message`,arguments:[i.object(this.coreBridgeObjectId),w,_,i.object(a.SUI_CLOCK_OBJECT_ID)]}),yield this.createUnsignedTx(i,"AutomaticTokenBridge.transfer")}async*redeem(t,e){const{coreBridge:c,tokenBridge:o}=await this.getPackageIds(),{address:s,chain:l}=e.payload.token,r=await C(this.connection,this.tokenBridgeObjectId,s.toUniversalAddress().toUint8Array(),u.toChainId(l));if(!r)throw new Error("Unable to fetch token coinType");const n=new a.Transaction,[g]=n.moveCall({target:`${c}::vaa::parse_and_verify`,arguments:[n.object(this.coreBridgeObjectId),n.pure.vector("u8",u.serialize$1(e)),n.object(a.SUI_CLOCK_OBJECT_ID)]}),[i]=n.moveCall({target:`${o}::vaa::verify_only_once`,arguments:[n.object(this.tokenBridgeObjectId),g]}),[h]=n.moveCall({target:`${o}::complete_transfer_with_payload::authorize_transfer`,arguments:[n.object(this.tokenBridgeObjectId),i],typeArguments:[r]}),w=await this.getPackageId();n.moveCall({target:`${w}::redeem::complete_transfer`,arguments:[n.object(this.tokenBridgeRelayerObjectId),h],typeArguments:[r]}),yield this.createUnsignedTx(n,"AutomaticTokenBridge.redeem")}async getRelayerFee(t,e){const c=u.isNative(e)?a.SuiPlatform.nativeTokenId(this.network,this.chain):e,o=await this.getTokenInfo(c.toString());if(o===null)throw new Error("Unsupported token for relay");const s=await this.getFields(),l=await this.connection.getDynamicFieldObject({parentId:this.tokenBridgeRelayerObjectId,name:{type:"vector<u8>",value:Array.from(u.bytes.encode("relayer_fees"))}});if(!l.data||!l.data.content)throw l.error?new Error("Failed to get relayer fees: "+JSON.stringify(l.error)):new Error("Unable to compute relayer fee");const{content:r}=l.data;if(!a.isMoveStructStruct(r)||!a.isMoveStructId(r.fields.id))throw new Error("Unable to compute relayer fee");const n=await this.connection.getDynamicFieldObject({parentId:r.fields.id.id,name:{type:"u16",value:u.toChainId(t)}});if(!n.data||!n.data.content)throw n.error?new Error("Failed to get relayer fees: "+JSON.stringify(l.error)):new Error("Unable to compute relayer fee");const{content:g}=n.data;if(!a.isMoveStructStruct(g))throw new Error("Unable to compute relayer fee");const i=await a.SuiPlatform.getDecimals(this.network,this.chain,this.connection,e.toString()),h=o.swap_rate,w=s.relayer_fee_precision,k=s.swap_rate_precision,b=g.fields.value;return 10n**BigInt(i)*BigInt(b)*BigInt(k)/(BigInt(h)*BigInt(w))}async maxSwapAmount(t){var n,g;const c=(u.isNative(t)?a.SuiPlatform.nativeTokenId(this.network,this.chain):t).toString(),o=await this.connection.getCoinMetadata({coinType:c});if(!o)throw new Error("metadata is null");const s=await this.getPackageId(),l=new a.Transaction;l.moveCall({target:`${s}::redeem::calculate_max_swap_amount_in`,arguments:[l.object(this.tokenBridgeRelayerObjectId),l.pure.u8(o.decimals)],typeArguments:[c]});const r=await this.connection.devInspectTransactionBlock({transactionBlock:l,sender:u.hex.encode(new Uint8Array(32))});if(!r.results||r.results.length==0||!((n=r.results[0])!=null&&n.returnValues)||((g=r.results[0])==null?void 0:g.returnValues.length)!==1)throw Error("swap rate not set");return u.bignum.decode(new Uint8Array(r.results[0].returnValues[0][0].toReversed()))}async nativeTokenAmount(t,e){var g,i;const o=(u.isNative(t)?a.SuiPlatform.nativeTokenId(this.network,this.chain):t).toString(),s=await this.connection.getCoinMetadata({coinType:o});if(!s)throw new Error("metadata is null");const l=await this.getPackageId(),r=new a.Transaction;r.moveCall({target:`${l}::redeem::calculate_native_swap_amount_out`,arguments:[r.object(this.tokenBridgeRelayerObjectId),r.pure.u64(e),r.pure.u8(s.decimals)],typeArguments:[o]});const n=await this.connection.devInspectTransactionBlock({transactionBlock:r,sender:u.hex.encode(new Uint8Array(32))});if(!n.results||n.results.length==0||!((g=n.results[0])!=null&&g.returnValues)||((i=n.results[0])==null?void 0:i.returnValues.length)!==1)throw Error("swap rate not set");return u.bignum.decode(new Uint8Array(n.results[0].returnValues[0][0].toReversed()))}async getRegisteredTokens(){const e=(await this.getFields()).registered_tokens.fields.id.id;return(await this.connection.getDynamicFields({parentId:e})).data.map(s=>{const{address:l,module:r,name:n}=f.parseStructTag(s.objectType);return new f.SuiAddress([l,r,n].join(f.SUI_SEPARATOR))})}async isRegisteredToken(t){const e=new f.SuiAddress(u.isNative(t)?a.SuiPlatform.nativeTokenId(this.network,this.chain).address:t).unwrap();try{return await this.getTokenInfo(e)!==null}catch(c){console.error(c)}return!1}async getTokenInfo(t){var n;const e=await this.getFields(),o=new f.SuiAddress(e.registered_tokens.type).getPackageId(),s=e.registered_tokens.fields.id.id,l=new f.SuiAddress(t),r=a.isSameType(f.SUI_COIN,l.unwrap())?f.SUI_COIN:l.getCoinType();try{const g=await this.connection.getDynamicFieldObject({parentId:s,name:{type:`${o}::registered_tokens::Key<${r}>`,value:{dummy_field:!1}}});if(g.error)throw new Error("Failed to get token info: "+JSON.stringify(g.error));if(!g.data||!g.data.content)throw new Error("Failed to get token info: "+JSON.stringify(g));const{content:i}=g.data;return a.isMoveStructStruct(i)&&a.isMoveStructStruct(i.fields.value)?i.fields.value.fields:null}catch(g){if((g==null?void 0:g.code)===-32e3&&((n=g.message)!=null&&n.includes("RPC Error")))return console.error(g),null;throw g}}async getFields(){if(!this.fields){const t=await a.getObjectFields(this.connection,this.tokenBridgeRelayerObjectId);if(t===null)throw new Error("Failed to get fields from token bridge relayer state");this.fields=t}return this.fields}async getPackageId(){const t=await this.getFields();return new f.SuiAddress(t.registered_tokens.type).getPackageId()}async getPackageIds(){const[t,e]=await Promise.all([a.getPackageId(this.connection,this.coreBridgeObjectId),a.getPackageId(this.connection,this.tokenBridgeObjectId)]);return{coreBridge:t,tokenBridge:e}}createUnsignedTx(t,e,c=!1){return new P.SuiUnsignedTransaction(t,this.network,this.chain,e,c)}}u.registerProtocol("Sui","TokenBridge",B);u.registerProtocol("Sui","AutomaticTokenBridge",O);exports.SuiAutomaticTokenBridge=O;exports.SuiTokenBridge=B;exports.getTokenCoinType=C;exports.getTokenFromTokenRegistry=A;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var h=Object.defineProperty;var m=(i,e,r)=>e in i?h(i,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):i[e]=r;var o=(i,e,r)=>m(i,typeof e!="symbol"?e+"":e,r);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("./web3-COTIsLs8.js"),u=require("./platform-BKhoO9So.js"),w=require("./create-CHcGblj6.js"),g=require("./address-BwQqFkyh.js");class c{constructor(e,r,t,n){o(this,"network");o(this,"chain");o(this,"provider");o(this,"contracts");o(this,"chainId");o(this,"coreBridgePackageId");this.network=e,this.chain=r,this.provider=t,this.contracts=n,this.chainId=d.toChainId(r);const s=n.coreBridge;if(!s)throw new Error(`CoreBridge contract Address for chain ${r} not found`);this.coreBridgePackageId=s}getGuardianSet(e){throw new Error("Method not implemented.")}getMessageFee(){throw new Error("Method not implemented.")}static async fromRpc(e,r){const[t,n]=await u.SuiPlatform.chainFromRpc(e),s=r[n];if(s.network!==t)throw new Error(`Network mismatch: ${s.network} !== ${t}`);return new c(t,n,e,s.contracts)}async*verifyMessage(e,r){throw new Error("Method not implemented.")}async*publishMessage(e,r){throw new Error("Method not implemented.")}async parseTransaction(e){return(await this.parseMessages(e)).map(t=>({emitter:t.emitterAddress,sequence:t.sequence,chain:this.chain}))}async getGuardianSetIndex(){throw new Error("Method not implemented.")}async parseMessages(e){var n;const t=(n=(await this.provider.getTransactionBlock({digest:e,options:{showEvents:!0,showEffects:!0,showInput:!0}})).events)==null?void 0:n.filter(s=>s.type.endsWith("WormholeMessage"));if(!t||t.length==0)throw new Error("WormholeMessage not found");return t.map(s=>{const a=s.parsedJson;return w.createVAA("Uint8Array",{emitterChain:this.chain,emitterAddress:new g.SuiAddress(a.sender).toUniversalAddress(),sequence:BigInt(a.sequence),guardianSet:0,timestamp:Number(a.timestamp),consistencyLevel:a.consistency_level,nonce:a.nonce,signatures:[],payload:new Uint8Array(a.payload)})})}}d.registerProtocol("Sui","WormholeCore",c);exports.SuiWormholeCore=c;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var h=Object.defineProperty;var m=(a,e,t)=>e in a?h(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t;var s=(a,e,t)=>m(a,typeof e!="symbol"?e+"":e,t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("./web3-COTIsLs8.js"),w=require("./platform-7vCWzCny.js"),g=require("./create-CHcGblj6.js");class c{constructor(e,t,r,o){s(this,"network");s(this,"chain");s(this,"connection");s(this,"contracts");s(this,"chainId");s(this,"coreBridge");this.network=e,this.chain=t,this.connection=r,this.contracts=o,this.chainId=i.toChainId(t);const n=o.coreBridge;if(!n)throw new Error(`CoreBridge contract Address for chain ${t} not found`);this.coreBridge=n}getGuardianSet(e){throw new Error("Method not implemented.")}getGuardianSetIndex(){throw new Error("Method not implemented.")}getMessageFee(){throw new Error("Method not implemented.")}static async fromRpc(e,t){const[r,o]=await w.AptosPlatform.chainFromRpc(e),n=t[o];if(n.network!==r)throw new Error(`Network mismatch: ${n.network} !== ${r}`);return new c(r,o,e,n.contracts)}async*publishMessage(e,t){throw new Error("Method not implemented.")}async*verifyMessage(e,t){throw new Error("Not implemented.")}async parseTransaction(e){return(await this.parseMessages(e)).map(r=>({chain:r.emitterChain,emitter:r.emitterAddress,sequence:r.sequence}))}async parseMessages(e){const t=await this.connection.getTransactionByHash({transactionHash:e});if(t.type!=="user_transaction")throw new Error(`${e} is not a user_transaction`);const r=t.events.filter(o=>o.type.endsWith("WormholeMessage"));if(!r||r.length===0)throw new Error(`WormholeMessage not found for ${e}`);return r.map(o=>{const n=o.data,d=new i.UniversalAddress(BigInt(n.sender).toString(16).padStart(64,"0"));return g.createVAA("Uint8Array",{guardianSet:0,emitterChain:this.chain,emitterAddress:d,sequence:BigInt(n.sequence),timestamp:Number(n.timestamp),consistencyLevel:n.consistency_level,nonce:Number(n.nonce),signatures:[],payload:i.hex.decode(n.payload)})})}}i.registerProtocol("Aptos","WormholeCore",c);exports.AptosWormholeCore=c;
|