@wormhole-foundation/wormhole-connect 4.1.0-beta.1-development → 5.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/{aptos-C9pj8h2Q.js → aptos-DgUCX7ng.js} +3 -3
- package/dist/assets/{evm-DCydYqBI.js → evm-B6bqAPTR.js} +4 -4
- package/dist/assets/{evm-CJXv6IQV.js → evm-Ve5nG8Fs.js} +1 -1
- package/dist/assets/{index-LvDsy6wR.js → index-BJokXZAc.js} +1 -1
- package/dist/assets/{index-BqxX-Ey7.js → index-BJv9sngo.js} +1 -1
- package/dist/assets/{index-C9cy4cDs.js → index-BjZMFLjq.js} +1 -1
- package/dist/assets/{index-FJ-n91Op.js → index-BwbPlAQZ.js} +1 -1
- package/dist/assets/{index-Clu5I99l.js → index-Bzg4DNh9.js} +1 -1
- package/dist/assets/{index-ezhfpCvx.js → index-CKXa657f.js} +1 -1
- package/dist/assets/index-CXiuP738.js +1 -0
- package/dist/assets/{index-CNExx9Zb.js → index-CvTvoHH-.js} +1 -1
- package/dist/assets/{index-C25bHdOM.js → index-D1ULRVbZ.js} +1 -1
- package/dist/assets/{index-DpabQJOX.js → index-DlH9IMQl.js} +1 -1
- package/dist/assets/{index-C8u74RER.js → index-Dsb-5apv.js} +1 -1
- package/dist/assets/{index-D9ApKauA.js → index-_YFUWLUM.js} +1 -1
- package/dist/assets/{index-CoIvdDsX.js → index-jg26xdEi.js} +1 -1
- package/dist/assets/{provider-jsonrpc-DuMpLBV0.js → provider-jsonrpc-DNgUKjG6.js} +1 -1
- package/dist/assets/{solana-DWuIx6gK.js → solana-D4RepnSA.js} +2 -2
- package/dist/assets/{sui-BcTGBE_4.js → sui-Du5h-f8S.js} +3 -3
- package/dist/main.mjs +185 -140
- package/dist/src/components/ConfigurablePageHeader.d.ts +1 -1
- package/dist/src/components/ConfigurablePageHeader.d.ts.map +1 -1
- package/dist/src/components/Header.d.ts +1 -0
- package/dist/src/components/Header.d.ts.map +1 -1
- package/dist/src/components/PageHeader.d.ts +1 -3
- package/dist/src/components/PageHeader.d.ts.map +1 -1
- package/dist/src/components/SampleApp/index.d.ts.map +1 -1
- package/dist/src/components/v3/BackButton.d.ts +6 -0
- package/dist/src/components/v3/BackButton.d.ts.map +1 -0
- package/dist/src/components/v3/FormContent.d.ts +5 -0
- package/dist/src/components/v3/FormContent.d.ts.map +1 -0
- package/dist/src/config/constants.d.ts.map +1 -1
- package/dist/src/config/events.d.ts +2 -1
- package/dist/src/config/events.d.ts.map +1 -1
- package/dist/src/config/mainnet/chains.d.ts.map +1 -1
- package/dist/src/config/mainnet/rpcs.d.ts.map +1 -1
- package/dist/src/config/mainnet/tokens.d.ts.map +1 -1
- package/dist/src/config/mainnet/wrappedTokens.d.ts +6 -0
- package/dist/src/config/mainnet/wrappedTokens.d.ts.map +1 -1
- package/dist/src/config/types.d.ts +6 -11
- package/dist/src/config/types.d.ts.map +1 -1
- package/dist/src/config/ui.d.ts +9 -0
- package/dist/src/config/ui.d.ts.map +1 -1
- package/dist/src/consts/wallet.d.ts.map +1 -1
- package/dist/src/hooks/useAutoEnableGasDropoff.d.ts +3 -1
- package/dist/src/hooks/useAutoEnableGasDropoff.d.ts.map +1 -1
- package/dist/src/hooks/useConnectToLastUsedWallet.d.ts.map +1 -1
- package/dist/src/hooks/useSortedRoutesWithQuotes.d.ts.map +1 -1
- package/dist/src/hooks/useTransactionHistory.d.ts.map +1 -1
- package/dist/src/hooks/useTransactionHistoryLiFi.d.ts +2 -0
- package/dist/src/hooks/useTransactionHistoryLiFi.d.ts.map +1 -1
- package/dist/src/hooks/useTransactionHistoryMayan.d.ts +2 -0
- package/dist/src/hooks/useTransactionHistoryMayan.d.ts.map +1 -1
- package/dist/src/hooks/useTransactionHistoryWHScan.d.ts +2 -1
- package/dist/src/hooks/useTransactionHistoryWHScan.d.ts.map +1 -1
- package/dist/src/icons/PoweredBy.d.ts.map +1 -1
- package/dist/src/icons/TokenIcons.d.ts.map +1 -1
- package/dist/src/icons/Tokens/AUSD.d.ts +4 -0
- package/dist/src/icons/Tokens/AUSD.d.ts.map +1 -0
- package/dist/src/routes/lifi/LiFiRoute.d.ts.map +1 -1
- package/dist/src/routes/mayan/utils.d.ts.map +1 -1
- package/dist/src/routes/monad/consts.d.ts +1 -0
- package/dist/src/routes/monad/consts.d.ts.map +1 -1
- package/dist/src/routes/monad/monad.test.d.ts +1 -0
- package/dist/src/routes/monad/monad.test.d.ts.map +1 -0
- package/dist/src/routes/monad/utils.d.ts.map +1 -1
- package/dist/src/sdklegacy/config/MAINNET.d.ts.map +1 -1
- package/dist/src/telemetry/types.d.ts +5 -2
- package/dist/src/telemetry/types.d.ts.map +1 -1
- package/dist/src/theme.d.ts +4 -3
- package/dist/src/theme.d.ts.map +1 -1
- package/dist/src/utils/errors.d.ts +1 -0
- package/dist/src/utils/errors.d.ts.map +1 -1
- package/dist/src/utils/fees.d.ts.map +1 -1
- package/dist/src/utils/index.d.ts.map +1 -1
- package/dist/src/utils/sdkv2.d.ts.map +1 -1
- package/dist/src/utils/wallet/index.d.ts +1 -0
- package/dist/src/utils/wallet/index.d.ts.map +1 -1
- package/dist/src/views/Terms.d.ts.map +1 -1
- package/dist/src/views/TxSearch.d.ts.map +1 -1
- package/dist/src/views/v3/Bridge/AssetPicker/PickerModal.d.ts.map +1 -1
- package/dist/src/views/v3/Bridge/AssetPicker/TokenPickerButton.d.ts +17 -0
- package/dist/src/views/v3/Bridge/AssetPicker/TokenPickerButton.d.ts.map +1 -0
- package/dist/src/views/v3/Bridge/AssetPicker/TokenPickerButtonContent.d.ts +8 -0
- package/dist/src/views/v3/Bridge/AssetPicker/TokenPickerButtonContent.d.ts.map +1 -0
- package/dist/src/views/v3/Bridge/AssetPicker/__tests__/TokenPickerButton.test.d.ts +2 -0
- package/dist/src/views/v3/Bridge/AssetPicker/__tests__/TokenPickerButton.test.d.ts.map +1 -0
- package/dist/src/views/v3/Bridge/AssetPicker/__tests__/TokenPickerButtonContent.test.d.ts +2 -0
- package/dist/src/views/v3/Bridge/AssetPicker/__tests__/TokenPickerButtonContent.test.d.ts.map +1 -0
- 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/SingleRoute.d.ts.map +1 -1
- package/dist/src/views/v3/Bridge/Routes/index.d.ts +2 -1
- package/dist/src/views/v3/Bridge/Routes/index.d.ts.map +1 -1
- package/dist/src/views/v3/Bridge/WalletConnector/Controller.d.ts.map +1 -1
- package/dist/src/views/v3/Bridge/WalletConnector/ExplorerLink.d.ts.map +1 -1
- package/dist/src/views/v3/Bridge/WalletConnector/WalletAddress.d.ts +9 -0
- package/dist/src/views/v3/Bridge/WalletConnector/WalletAddress.d.ts.map +1 -0
- package/dist/src/views/v3/Bridge/WalletConnector/WalletPickerContent.d.ts.map +1 -1
- package/dist/src/views/v3/Bridge/WalletConnector/__tests__/WalletAddress.test.d.ts +2 -0
- package/dist/src/views/v3/Bridge/WalletConnector/__tests__/WalletAddress.test.d.ts.map +1 -0
- package/dist/src/views/v3/Bridge/index.d.ts.map +1 -1
- package/dist/src/views/v3/Redeem/TransactionDetails/index.d.ts.map +1 -1
- package/dist/src/views/v3/Redeem/index.d.ts.map +1 -1
- package/dist/src/views/v3/TxHistory/Item/index.d.ts.map +1 -1
- package/dist/src/views/v3/TxHistory/Widget/Item.d.ts.map +1 -1
- package/lib/{account-cIQhxn1E.js → account-K005OXgL.js} +1 -1
- package/lib/{account-BVl6Reot.mjs → account-TXlxMyv4.mjs} +2 -2
- package/lib/{address-rVHWlcKQ.mjs → address-CX0E32ut.mjs} +1 -1
- package/lib/{address-W9jn6Qdk.js → address-DqbIfKOu.js} +1 -1
- package/lib/{aptos-DWDR5o78.js → aptos-BnjZOhUE.js} +1 -1
- package/lib/{aptos-CNHYHK9c.js → aptos-CnswqE-C.js} +2 -2
- package/lib/{aptos-D1WFzBMy.mjs → aptos-DRfXJ8Ba.mjs} +7 -7
- package/lib/{aptos-B84P9rJZ.mjs → aptos-fTiHvXXE.mjs} +5 -5
- package/lib/{associatedTokenAccount-C4vEEbG5.js → associatedTokenAccount-CeqdaO2m.js} +1 -1
- package/lib/{associatedTokenAccount-DF6phO3l.mjs → associatedTokenAccount-Dsm4Hq32.mjs} +3 -3
- package/lib/{basic-BERCwt2M.mjs → basic-BqusrmRE.mjs} +3 -3
- package/lib/{basic-NhXxxbR1.js → basic-BrW22Cj9.js} +1 -1
- package/lib/{basic-CukRIaOD.mjs → basic-CK5Bsf0B.mjs} +3 -3
- package/lib/{basic-DJXXfABO.js → basic-ChOmeQQk.js} +1 -1
- package/lib/{chunk-KJH4KKG6-Brt4fyqz.mjs → chunk-KJH4KKG6-BfVMUPsB.mjs} +3 -3
- package/lib/{chunk-KJH4KKG6-BbF5W1_N.js → chunk-KJH4KKG6-CJx-rDa6.js} +1 -1
- package/lib/constants-C1w_RyOP.js +1 -0
- package/lib/{constants-VaoVbllu.mjs → constants-DcDpDarO.mjs} +6 -5
- package/lib/{core-BCZrVb_s.mjs → core-DQ-6Q1F1.mjs} +6 -6
- package/lib/{core-BE6SS7Ye.js → core-FA2gBc-s.js} +3 -3
- package/lib/{create-CChLkbGc.mjs → create-C5dhTMHL.mjs} +1 -1
- package/lib/{create-4w0DrcRO.js → create-bA3Gyivs.js} +1 -1
- package/lib/{evm-CmmnpcFD.mjs → evm-BJ4Lx-r9.mjs} +5 -5
- package/lib/{evm--K7mr7Kr.js → evm-BTgO_HRP.js} +2 -2
- package/lib/{evm-DKaWm7eC.mjs → evm-C-vXMfGr.mjs} +7 -7
- package/lib/{evm-C5BixKBn.js → evm-qxndAh3z.js} +1 -1
- package/lib/executor.js +1 -1
- package/lib/executor.mjs +13 -15
- package/lib/hosted.js +1 -1
- package/lib/hosted.mjs +1 -1
- package/lib/hypercore-D7kZiwbe.js +4 -0
- package/lib/{hypercore-birmbh9T.mjs → hypercore-DKqayfki.mjs} +4858 -3107
- package/lib/{index-qL4D-cpk.js → index-1T4sIL8n.js} +1 -1
- package/lib/{index-Ap7250Gf.mjs → index-39tU5Y5t.mjs} +6 -6
- package/lib/{index-BUbUhbMe.js → index-3Zg1AdoI.js} +1 -1
- package/lib/{index-D7gCsil9.js → index-6m7yero0.js} +1 -1
- package/lib/{index-CH0iw38J.mjs → index-B1URQBlH.mjs} +3 -3
- package/lib/{index-C5I7QiZ7.mjs → index-B6Ppg6EZ.mjs} +3 -3
- package/lib/{index-CED5jdrg.js → index-B7b8sctd.js} +1 -1
- package/lib/{index-xvG6cxNx.js → index-BEIFBxtP.js} +1 -1
- package/lib/{index-zIzzPp6D.mjs → index-BHpJUZne.mjs} +3 -3
- package/lib/{index-BTcij9Np.js → index-BJ0xVutl.js} +1 -1
- package/lib/{index-C61IKE_V.mjs → index-BSIPYyeZ.mjs} +2 -2
- package/lib/{index-EbSw7SbC.js → index-BTjUHY0e.js} +1 -1
- package/lib/{index-C8YhpD9T.mjs → index-BVciucyT.mjs} +4 -4
- package/lib/{index-BuHdMHLz.mjs → index-Ba1zbu3Q.mjs} +2 -2
- package/lib/{index-BU35GfG0.mjs → index-Bdtj4LUz.mjs} +2 -2
- package/lib/{index-Bs28m4ya.js → index-BfzaCmg7.js} +1 -1
- package/lib/{index-CN7M4gwf.mjs → index-BviSNDV7.mjs} +5 -5
- package/lib/{index-BRFbmsc_.js → index-C-F8_8dY.js} +1 -1
- package/lib/{index-Cys9e11O.js → index-C-SMuVS3.js} +1 -1
- package/lib/{index-pYTU7pQK.mjs → index-C6MalNd5.mjs} +4 -3
- package/lib/{index-Cg1Xo1eZ.js → index-C85u3Gj5.js} +1 -1
- package/lib/{index-Da9rvmCc.js → index-Cb0UWLGI.js} +1 -1
- package/lib/{index-HrZv1SyT.js → index-Cb_8WAm1.js} +8 -8
- package/lib/{index-DHnmtpvA.mjs → index-CcbY14s5.mjs} +4 -4
- package/lib/{index-CR1itkLl.mjs → index-CgqBQ88K.mjs} +3248 -3055
- package/lib/{index-Txz5xwr6.mjs → index-CowAVUcg.mjs} +1 -1
- package/lib/{index-BKgliEPZ.mjs → index-CrWTw0Se.mjs} +2 -2
- package/lib/{index-B_JJ50Y-.mjs → index-D-HUNEka.mjs} +4 -4
- package/lib/{index-BhMcIAHt.js → index-DJ2w1fz1.js} +1 -1
- package/lib/{index-BN_2mA2n.mjs → index-DcFL403C.mjs} +1 -1
- package/lib/{index-CO4ZoIAU.mjs → index-DjmVBSGQ.mjs} +4 -4
- package/lib/{index-Co3mm7UN.mjs → index-DrJE8udd.mjs} +1 -1
- package/lib/{index-fTUcaKb4.js → index-DuhYwr0t.js} +1 -1
- package/lib/{index-BQ0lWQfT.mjs → index-DwEx1Hn-.mjs} +2 -2
- package/lib/{index-DBofyYkS.js → index-DziujHu1.js} +1 -1
- package/lib/{index-Dou5sFku.js → index-JWbF-m3e.js} +1 -1
- package/lib/index-Oxm0y6-t.js +1 -0
- package/lib/{index-D1odbjeH.mjs → index-VnJcNK62.mjs} +3 -3
- package/lib/{index-DVxmRy4C.js → index-WrXSs0ic.js} +1 -1
- package/lib/{index-Cw0jWBks.js → index-XjDX4fWv.js} +1 -1
- package/lib/{index-CsdD1TNi.js → index-aMKUba1k.js} +1 -1
- package/lib/{index-DSnylejH.mjs → index-dufPAW5T.mjs} +292 -269
- package/lib/{index-lZY5fTXF.js → index-lAqXlt-a.js} +1 -1
- package/lib/{index-N4FkpEh9.mjs → index-mNO1mk2F.mjs} +4 -4
- package/lib/{index-BScgBddV.mjs → index-o1SAPXm_.mjs} +3 -3
- package/lib/{index-DNZ-Pkpm.mjs → index-rxQSA9t0.mjs} +6 -6
- package/lib/{index-DALvn9lg.js → index-v7w8krM0.js} +1 -1
- package/lib/{index-japympio.js → index-wadjmD_G.js} +1 -1
- package/lib/{index.es-DmmqAOLD.js → index.es-B9kBDkCQ.js} +3 -3
- package/lib/{index.es-Dg6IFrL4.js → index.es-BZRO-bNH.js} +1 -1
- package/lib/{index.es-B0fk_42a.mjs → index.es-CF3YY88z.mjs} +4 -4
- package/lib/{index.es-CDqFguL5.mjs → index.es-CaAL5X4E.mjs} +4 -4
- package/lib/index.js +78 -33
- package/lib/index.mjs +9158 -8833
- package/lib/{keypair-DWucLGoA.js → keypair-DCgXFOw5.js} +1 -1
- package/lib/{keypair-CP7syX9B.mjs → keypair-vpG2fl-q.mjs} +3 -3
- package/lib/lifi.js +1 -1
- package/lib/lifi.mjs +75 -76
- package/lib/mayan.js +2 -2
- package/lib/mayan.mjs +11 -10
- package/lib/{mint-CoNdQTGM.mjs → mint-BPrKG-Zc.mjs} +3 -3
- package/lib/{mint-CxQ6P5lT.js → mint-DW-XgF68.js} +1 -1
- package/lib/monad.js +1 -1
- package/lib/monad.mjs +91 -58
- package/lib/multiToken-B9BoSxdr.js +1 -0
- package/lib/{multiToken-Bm-K5dRJ.mjs → multiToken-DMllgxzT.mjs} +4 -3
- package/lib/ntt.js +2 -2
- package/lib/ntt.mjs +77 -86
- package/lib/{platform-Cil_UtAQ.mjs → platform-CSpAb386.mjs} +2788 -2748
- package/lib/{platform-BMKYxqvv.js → platform-Csj1Outc.js} +1 -1
- package/lib/platform-DCcL7jHP.js +11 -0
- package/lib/{platform-vRQufc6j.mjs → platform-YzJZdSCf.mjs} +3 -3
- package/lib/{secp256k1-LTcmQEQ5.mjs → secp256k1-1o6o1kFy.mjs} +1 -1
- package/lib/{secp256k1-DzRCmd6a.mjs → secp256k1-BjlnTj1_.mjs} +1 -1
- package/lib/{secp256k1-CglUNI04.js → secp256k1-CeYT4ndf.js} +1 -1
- package/lib/{secp256k1-DROP2Lhv.mjs → secp256k1-Cw_BiEuN.mjs} +1 -1
- package/lib/{secp256k1-BkoM1Jum.js → secp256k1-D5cKS6q_.js} +1 -1
- package/lib/{secp256k1-CcVQkYNr.js → secp256k1-_QlJc7sK.js} +1 -1
- package/lib/{signer-0hWrZ5BZ.mjs → signer-D2GRgRrw.mjs} +2 -2
- package/lib/{signer-DyqulDUM.js → signer-gjSiV5v3.js} +1 -1
- package/lib/solana-DfW5T_64.mjs +18 -0
- package/lib/{solana-C4k_Yg7w.js → solana-DvHFhri3.js} +4 -4
- package/lib/solana-Edd9tIkX.js +1 -0
- package/lib/{solana-D1LVIhGd.mjs → solana-TgPr9kpk.mjs} +10 -10
- package/lib/{solanaEmbed.esm-AvWQUA9e.mjs → solanaEmbed.esm-Bh1-aAL4.mjs} +4 -4
- package/lib/{solanaEmbed.esm--Ac-IlRA.js → solanaEmbed.esm-C8TjRcIV.js} +1 -1
- package/lib/{solidity-CbDkqHjE.js → solidity-BW7c8rFv.js} +1 -1
- package/lib/{solidity-Dk_mvceo.mjs → solidity-D9gSgFcp.mjs} +1 -1
- package/lib/src/components/ConfigurablePageHeader.d.ts +1 -1
- package/lib/src/components/ConfigurablePageHeader.d.ts.map +1 -1
- package/lib/src/components/Header.d.ts +1 -0
- package/lib/src/components/Header.d.ts.map +1 -1
- package/lib/src/components/PageHeader.d.ts +1 -3
- package/lib/src/components/PageHeader.d.ts.map +1 -1
- package/lib/src/components/SampleApp/index.d.ts.map +1 -1
- package/lib/src/components/v3/BackButton.d.ts +6 -0
- package/lib/src/components/v3/BackButton.d.ts.map +1 -0
- package/lib/src/components/v3/FormContent.d.ts +5 -0
- package/lib/src/components/v3/FormContent.d.ts.map +1 -0
- package/lib/src/config/constants.d.ts.map +1 -1
- package/lib/src/config/events.d.ts +2 -1
- package/lib/src/config/events.d.ts.map +1 -1
- package/lib/src/config/mainnet/chains.d.ts.map +1 -1
- package/lib/src/config/mainnet/rpcs.d.ts.map +1 -1
- package/lib/src/config/mainnet/tokens.d.ts.map +1 -1
- package/lib/src/config/mainnet/wrappedTokens.d.ts +6 -0
- package/lib/src/config/mainnet/wrappedTokens.d.ts.map +1 -1
- package/lib/src/config/types.d.ts +6 -11
- package/lib/src/config/types.d.ts.map +1 -1
- package/lib/src/config/ui.d.ts +9 -0
- package/lib/src/config/ui.d.ts.map +1 -1
- package/lib/src/consts/wallet.d.ts.map +1 -1
- package/lib/src/hooks/useAutoEnableGasDropoff.d.ts +3 -1
- package/lib/src/hooks/useAutoEnableGasDropoff.d.ts.map +1 -1
- package/lib/src/hooks/useConnectToLastUsedWallet.d.ts.map +1 -1
- package/lib/src/hooks/useSortedRoutesWithQuotes.d.ts.map +1 -1
- package/lib/src/hooks/useTransactionHistory.d.ts.map +1 -1
- package/lib/src/hooks/useTransactionHistoryLiFi.d.ts +2 -0
- package/lib/src/hooks/useTransactionHistoryLiFi.d.ts.map +1 -1
- package/lib/src/hooks/useTransactionHistoryMayan.d.ts +2 -0
- package/lib/src/hooks/useTransactionHistoryMayan.d.ts.map +1 -1
- package/lib/src/hooks/useTransactionHistoryWHScan.d.ts +2 -1
- package/lib/src/hooks/useTransactionHistoryWHScan.d.ts.map +1 -1
- package/lib/src/icons/PoweredBy.d.ts.map +1 -1
- package/lib/src/icons/TokenIcons.d.ts.map +1 -1
- package/lib/src/icons/Tokens/AUSD.d.ts +4 -0
- package/lib/src/icons/Tokens/AUSD.d.ts.map +1 -0
- package/lib/src/routes/lifi/LiFiRoute.d.ts.map +1 -1
- package/lib/src/routes/mayan/utils.d.ts.map +1 -1
- package/lib/src/routes/monad/consts.d.ts +1 -0
- package/lib/src/routes/monad/consts.d.ts.map +1 -1
- package/lib/src/routes/monad/monad.test.d.ts +1 -0
- package/lib/src/routes/monad/monad.test.d.ts.map +1 -0
- package/lib/src/routes/monad/utils.d.ts.map +1 -1
- package/lib/src/sdklegacy/config/MAINNET.d.ts.map +1 -1
- package/lib/src/telemetry/types.d.ts +5 -2
- package/lib/src/telemetry/types.d.ts.map +1 -1
- package/lib/src/theme.d.ts +4 -3
- package/lib/src/theme.d.ts.map +1 -1
- package/lib/src/utils/errors.d.ts +1 -0
- package/lib/src/utils/errors.d.ts.map +1 -1
- package/lib/src/utils/fees.d.ts.map +1 -1
- package/lib/src/utils/index.d.ts.map +1 -1
- package/lib/src/utils/sdkv2.d.ts.map +1 -1
- package/lib/src/utils/wallet/index.d.ts +1 -0
- package/lib/src/utils/wallet/index.d.ts.map +1 -1
- package/lib/src/views/Terms.d.ts.map +1 -1
- package/lib/src/views/TxSearch.d.ts.map +1 -1
- package/lib/src/views/v3/Bridge/AssetPicker/PickerModal.d.ts.map +1 -1
- package/lib/src/views/v3/Bridge/AssetPicker/TokenPickerButton.d.ts +17 -0
- package/lib/src/views/v3/Bridge/AssetPicker/TokenPickerButton.d.ts.map +1 -0
- package/lib/src/views/v3/Bridge/AssetPicker/TokenPickerButtonContent.d.ts +8 -0
- package/lib/src/views/v3/Bridge/AssetPicker/TokenPickerButtonContent.d.ts.map +1 -0
- package/lib/src/views/v3/Bridge/AssetPicker/__tests__/TokenPickerButton.test.d.ts +2 -0
- package/lib/src/views/v3/Bridge/AssetPicker/__tests__/TokenPickerButton.test.d.ts.map +1 -0
- package/lib/src/views/v3/Bridge/AssetPicker/__tests__/TokenPickerButtonContent.test.d.ts +2 -0
- package/lib/src/views/v3/Bridge/AssetPicker/__tests__/TokenPickerButtonContent.test.d.ts.map +1 -0
- 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/SingleRoute.d.ts.map +1 -1
- package/lib/src/views/v3/Bridge/Routes/index.d.ts +2 -1
- package/lib/src/views/v3/Bridge/Routes/index.d.ts.map +1 -1
- package/lib/src/views/v3/Bridge/WalletConnector/Controller.d.ts.map +1 -1
- package/lib/src/views/v3/Bridge/WalletConnector/ExplorerLink.d.ts.map +1 -1
- package/lib/src/views/v3/Bridge/WalletConnector/WalletAddress.d.ts +9 -0
- package/lib/src/views/v3/Bridge/WalletConnector/WalletAddress.d.ts.map +1 -0
- package/lib/src/views/v3/Bridge/WalletConnector/WalletPickerContent.d.ts.map +1 -1
- package/lib/src/views/v3/Bridge/WalletConnector/__tests__/WalletAddress.test.d.ts +2 -0
- package/lib/src/views/v3/Bridge/WalletConnector/__tests__/WalletAddress.test.d.ts.map +1 -0
- package/lib/src/views/v3/Bridge/index.d.ts.map +1 -1
- package/lib/src/views/v3/Redeem/TransactionDetails/index.d.ts.map +1 -1
- package/lib/src/views/v3/Redeem/index.d.ts.map +1 -1
- package/lib/src/views/v3/TxHistory/Item/index.d.ts.map +1 -1
- package/lib/src/views/v3/TxHistory/Widget/Item.d.ts.map +1 -1
- package/lib/{sui-LiXjD27c.js → sui-BtyZE8YC.js} +1 -1
- package/lib/{sui-BPAb7kcs.mjs → sui-CoWRa3vr.mjs} +4 -4
- package/lib/{sui-CgmDTkXK.js → sui-DwFrGd2Y.js} +1 -1
- package/lib/{sui-cpCvd7RC.mjs → sui-QP4AZGNc.mjs} +6 -6
- package/lib/{tokenHelpers-CbE0g9BP.js → tokenHelpers-CeTyb4rG.js} +1 -1
- package/lib/{tokenHelpers-DvWQs1tu.mjs → tokenHelpers-VYjmKUxj.mjs} +1 -1
- package/lib/{tokens-BJDttoCp.mjs → tokens-D6uJqrsR.mjs} +3 -3
- package/lib/{tokens-CvZuVW-g.js → tokens-mXZqt-qL.js} +1 -1
- package/lib/types-CgveSjsw.js +1 -0
- package/lib/{types-iFgwQ7vG.mjs → types-Dxx2g1wS.mjs} +170 -168
- package/lib/{unsignedTransaction-DCDxTFq8.mjs → unsignedTransaction-D2Ja0SuN.mjs} +2 -2
- package/lib/{unsignedTransaction-DA4tlY5u.js → unsignedTransaction-qRBv5Cnd.js} +2 -2
- package/lib/{utils-DMf7wRGI.js → utils-BEljbqMf.js} +1 -1
- package/lib/{utils-BSxsyW2c.mjs → utils-mBHX3Jpu.mjs} +4 -4
- package/lib/{w3m-modal-DM5Pf8SH.mjs → w3m-modal-BEe8ji9_.mjs} +2 -2
- package/lib/{w3m-modal-CtQ0TPA4.mjs → w3m-modal-D3eqrCT1.mjs} +2 -2
- package/lib/{w3m-modal-k23UDiov.js → w3m-modal-Duc13ei7.js} +1 -1
- package/lib/{w3m-modal-ByamyZny.js → w3m-modal-f_sUVzPx.js} +1 -1
- package/lib/{wallet-CMTEE6Oa.mjs → wallet-Cyosy4Hc.mjs} +1 -1
- package/lib/{wallet-BMli0fbu.js → wallet-a0_jwP8j.js} +1 -1
- package/lib/{web3-CUwFm9Lx.mjs → web3-CdErAVj5.mjs} +2 -2
- package/lib/{web3-DdUeM7iQ.js → web3-x1WCGDiy.js} +1 -1
- package/package.json +49 -47
- package/dist/assets/index-_UMHESh0.js +0 -1
- package/dist/src/components/Button.d.ts +0 -13
- package/dist/src/components/Button.d.ts.map +0 -1
- package/dist/src/icons/Down.d.ts +0 -5
- package/dist/src/icons/Down.d.ts.map +0 -1
- package/lib/constants-B9TBfA4z.js +0 -1
- package/lib/hypercore-4R7JGmbr.js +0 -4
- package/lib/index-C8eqQ_7p.js +0 -1
- package/lib/multiToken-YoNvxjur.js +0 -1
- package/lib/platform-CCG_jgOO.js +0 -11
- package/lib/solana-DKFJvqX8.mjs +0 -18
- package/lib/solana-Dmje_Si8.js +0 -1
- package/lib/src/components/Button.d.ts +0 -13
- package/lib/src/components/Button.d.ts.map +0 -1
- package/lib/src/icons/Down.d.ts +0 -5
- package/lib/src/icons/Down.d.ts.map +0 -1
- package/lib/types-CjNs2oB0.js +0 -1
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-
|
|
2
|
-
import{I as Pt,bV as gs,bW as sn,bX as bt,bY as V,bZ as We,b_ as P,b$ as an,c0 as de,c1 as k,c2 as ms,c3 as on,c4 as ee,c5 as X,c6 as ys,c7 as et,c8 as zt,c9 as lt,ca as Tn,cb as ws,
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-Dsb-5apv.js","main.mjs","main.css","assets/create-CbNCGANY.js","assets/blake2b-CTqEa12K.js","assets/index-S_2EIxuJ.js","assets/index-CvTvoHH-.js","assets/unsignedTransaction-BGuwfkhg.js","assets/index-jg26xdEi.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{I as Pt,bV as gs,bW as sn,bX as bt,bY as V,bZ as We,b_ as P,b$ as an,c0 as de,c1 as k,c2 as ms,c3 as on,c4 as ee,c5 as X,c6 as ys,c7 as et,c8 as zt,c9 as lt,ca as Tn,cb as ws,ax as bs,cc as In,cd as vs,ce as ks,ay as Ss,aA as Os,aC as Es,cf as jn,aE as Ts,aF as Cn,aG as Is,cg as Ft,aI as js,bA as Cs,ch as vt,bx as Hn,bD as Jn,bE as me,_ as $t,aK as Ms}from"../main.mjs";import{b as tt}from"./blake2b-CTqEa12K.js";import{m as _s}from"./index-S_2EIxuJ.js";function jt(n,e){return Array.from({length:Math.ceil(n.length/e)},(t,r)=>n.slice(r*e,(r+1)*e))}class Zn{constructor(e,t){if(typeof e!="function")throw new TypeError(`DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but got: ${e}.`);this._batchLoadFn=e,this._maxBatchSize=As(t),this._batchScheduleFn=Rs(t),this._cacheKeyFn=Bs(t),this._cacheMap=Us(t),this._batch=null,this.name=Ds(t)}load(e){if(e==null)throw new TypeError(`The loader.load() function must be called with a value, but got: ${String(e)}.`);const t=$s(this),r=this._cacheMap;let s;if(r){s=this._cacheKeyFn(e);const o=r.get(s);if(o){const c=t.cacheHits||(t.cacheHits=[]);return new Promise(u=>{c.push(()=>{u(o)})})}}t.keys.push(e);const i=new Promise((o,c)=>{t.callbacks.push({resolve:o,reject:c})});return r&&r.set(s,i),i}loadMany(e){if(!Yn(e))throw new TypeError(`The loader.loadMany() function must be called with Array<key>, but got: ${e}.`);const t=[];for(let r=0;r<e.length;r++)t.push(this.load(e[r]).catch(s=>s));return Promise.all(t)}clear(e){const t=this._cacheMap;if(t){const r=this._cacheKeyFn(e);t.delete(r)}return this}clearAll(){const e=this._cacheMap;return e&&e.clear(),this}prime(e,t){const r=this._cacheMap;if(r){const s=this._cacheKeyFn(e);if(r.get(s)===void 0){let i;t instanceof Error?(i=Promise.reject(t),i.catch(()=>{})):i=Promise.resolve(t),r.set(s,i)}}return this}}const Ps=typeof Pt=="object"&&typeof Pt.nextTick=="function"?function(n){xt||(xt=Promise.resolve()),xt.then(()=>{Pt.nextTick(n)})}:typeof setImmediate=="function"?function(n){setImmediate(n)}:function(n){setTimeout(n)};let xt;function $s(n){const e=n._batch;if(e!==null&&!e.hasDispatched&&e.keys.length<n._maxBatchSize)return e;const t={hasDispatched:!1,keys:[],callbacks:[]};return n._batch=t,n._batchScheduleFn(()=>{xs(n,t)}),t}function xs(n,e){if(e.hasDispatched=!0,e.keys.length===0){Wt(e);return}let t;try{t=n._batchLoadFn(e.keys)}catch(r){return At(n,e,new TypeError(`DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but the function errored synchronously: ${String(r)}.`))}if(!t||typeof t.then!="function")return At(n,e,new TypeError(`DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but the function did not return a Promise: ${String(t)}.`));Promise.resolve(t).then(r=>{if(!Yn(r))throw new TypeError(`DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but the function did not return a Promise of an Array: ${String(r)}.`);if(r.length!==e.keys.length)throw new TypeError(`DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but the function did not return a Promise of an Array of the same length as the Array of keys.
|
|
3
3
|
|
|
4
4
|
Keys:
|
|
5
5
|
${String(e.keys)}
|
|
6
6
|
|
|
7
7
|
Values:
|
|
8
|
-
${String(r)}`);Wt(e);for(let s=0;s<e.callbacks.length;s++){const i=r[s];i instanceof Error?e.callbacks[s].reject(i):e.callbacks[s].resolve(i)}}).catch(r=>{At(n,e,r)})}function At(n,e,t){Wt(e);for(let r=0;r<e.keys.length;r++)n.clear(e.keys[r]),e.callbacks[r].reject(t)}function Wt(n){if(n.cacheHits)for(let e=0;e<n.cacheHits.length;e++)n.cacheHits[e]()}function As(n){if(!(!n||n.batch!==!1))return 1;const t=n&&n.maxBatchSize;if(t===void 0)return 1/0;if(typeof t!="number"||t<1)throw new TypeError(`maxBatchSize must be a positive number: ${t}`);return t}function Rs(n){const e=n&&n.batchScheduleFn;if(e===void 0)return Ps;if(typeof e!="function")throw new TypeError(`batchScheduleFn must be a function: ${e}`);return e}function Bs(n){const e=n&&n.cacheKeyFn;if(e===void 0)return t=>t;if(typeof e!="function")throw new TypeError(`cacheKeyFn must be a function: ${e}`);return e}function Us(n){if(!(!n||n.cache!==!1))return null;const t=n&&n.cacheMap;if(t===void 0)return new Map;if(t!==null){const s=["get","set","delete","clear"].filter(i=>t&&typeof t[i]!="function");if(s.length!==0)throw new TypeError("Custom cacheMap missing methods: "+s.join(", "))}return t}function Ds(n){return n&&n.name?n.name:null}function Yn(n){return typeof n=="object"&&n!==null&&"length"in n&&typeof n.length=="number"&&(n.length===0||n.length>0&&Object.prototype.hasOwnProperty.call(n,n.length-1))}function kt(n){const e=[];let t=0;if(n===0)return[0];for(;n>0;)e[t]=n&127,(n>>=7)&&(e[t]|=128),t+=1;return e}function Ns(n){let e=0,t=0,r=0;for(;;){const s=n[r];if(r+=1,e|=(s&127)<<t,(s&128)===0)break;t+=7}return{value:e,length:r}}class Vs{constructor(e){this.bytePosition=0,this.dataView=new DataView(e.buffer,e.byteOffset,e.byteLength)}shift(e){return this.bytePosition+=e,this}read8(){const e=this.dataView.getUint8(this.bytePosition);return this.shift(1),e}read16(){const e=this.dataView.getUint16(this.bytePosition,!0);return this.shift(2),e}read32(){const e=this.dataView.getUint32(this.bytePosition,!0);return this.shift(4),e}read64(){const e=this.read32(),r=this.read32().toString(16)+e.toString(16).padStart(8,"0");return BigInt("0x"+r).toString(10)}read128(){const e=BigInt(this.read64()),r=BigInt(this.read64()).toString(16)+e.toString(16).padStart(16,"0");return BigInt("0x"+r).toString(10)}read256(){const e=BigInt(this.read128()),r=BigInt(this.read128()).toString(16)+e.toString(16).padStart(32,"0");return BigInt("0x"+r).toString(10)}readBytes(e){const t=this.bytePosition+this.dataView.byteOffset,r=new Uint8Array(this.dataView.buffer,t,e);return this.shift(e),r}readULEB(){const e=this.bytePosition+this.dataView.byteOffset,t=new Uint8Array(this.dataView.buffer,e),{value:r,length:s}=Ns(t);return this.shift(s),r}readVec(e){const t=this.readULEB(),r=[];for(let s=0;s<t;s++)r.push(e(this,s,t));return r}}class zs{constructor({initialSize:e=1024,maxSize:t=1/0,allocateSize:r=1024}={}){this.bytePosition=0,this.size=e,this.maxSize=t,this.allocateSize=r,this.dataView=new DataView(new ArrayBuffer(e))}ensureSizeOrGrow(e){const t=this.bytePosition+e;if(t>this.size){const r=Math.min(this.maxSize,this.size+this.allocateSize);if(t>r)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: ${t}`);this.size=r;const s=new ArrayBuffer(this.size);new Uint8Array(s).set(new Uint8Array(this.dataView.buffer)),this.dataView=new DataView(s)}}shift(e){return this.bytePosition+=e,this}write8(e){return this.ensureSizeOrGrow(1),this.dataView.setUint8(this.bytePosition,Number(e)),this.shift(1)}write16(e){return this.ensureSizeOrGrow(2),this.dataView.setUint16(this.bytePosition,Number(e),!0),this.shift(2)}write32(e){return this.ensureSizeOrGrow(4),this.dataView.setUint32(this.bytePosition,Number(e),!0),this.shift(4)}write64(e){return Rt(BigInt(e),8).forEach(t=>this.write8(t)),this}write128(e){return Rt(BigInt(e),16).forEach(t=>this.write8(t)),this}write256(e){return Rt(BigInt(e),32).forEach(t=>this.write8(t)),this}writeULEB(e){return kt(e).forEach(t=>this.write8(t)),this}writeVec(e,t){return this.writeULEB(e.length),Array.from(e).forEach((r,s)=>t(this,r,s,e.length)),this}*[Symbol.iterator](){for(let e=0;e<this.bytePosition;e++)yield this.dataView.getUint8(e);return this.toBytes()}toBytes(){return new Uint8Array(this.dataView.buffer.slice(0,this.bytePosition))}toString(e){return gs(this.toBytes(),e)}}function Rt(n,e){const t=new Uint8Array(e);let r=0;for(;n>0;)t[r]=Number(n%BigInt(256)),n=n/BigInt(256),r+=1;return t}var Xn=n=>{throw TypeError(n)},Qn=(n,e,t)=>e.has(n)||Xn("Cannot "+t),te=(n,e,t)=>(Qn(n,e,"read from private field"),t?t.call(n):e.get(n)),St=(n,e,t)=>e.has(n)?Xn("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(n):e.set(n,t),Ot=(n,e,t,r)=>(Qn(n,e,"write to private field"),e.set(n,t),t),Ne,He,pt,Se;const Fs=class er{constructor(e){St(this,Ne),St(this,He),this.name=e.name,this.read=e.read,this.serializedSize=e.serializedSize??(()=>null),Ot(this,Ne,e.write),Ot(this,He,e.serialize??((t,r)=>{const s=new zs({initialSize:this.serializedSize(t)??void 0,...r});return te(this,Ne).call(this,t,s),s.toBytes()})),this.validate=e.validate??(()=>{})}write(e,t){this.validate(e),te(this,Ne).call(this,e,t)}serialize(e,t){return this.validate(e),new Ws(this,te(this,He).call(this,e,t))}parse(e){const t=new Vs(e);return this.read(t)}fromHex(e){return this.parse(sn(e))}fromBase58(e){return this.parse(bt(e))}fromBase64(e){return this.parse(V(e))}transform({name:e,input:t,output:r,validate:s}){return new er({name:e??this.name,read:i=>r?r(this.read(i)):this.read(i),write:(i,o)=>te(this,Ne).call(this,t?t(i):i,o),serializedSize:i=>this.serializedSize(t?t(i):i),serialize:(i,o)=>te(this,He).call(this,t?t(i):i,o),validate:i=>{s?.(i),this.validate(t?t(i):i)}})}};Ne=new WeakMap;He=new WeakMap;let pe=Fs;const tr=Symbol.for("@mysten/serialized-bcs");function cn(n){return!!n&&typeof n=="object"&&n[tr]===!0}class Ws{constructor(e,t){St(this,pt),St(this,Se),Ot(this,pt,e),Ot(this,Se,t)}get[tr](){return!0}toBytes(){return te(this,Se)}toHex(){return We(te(this,Se))}toBase64(){return P(te(this,Se))}toBase58(){return an(te(this,Se))}parse(){return te(this,pt).parse(te(this,Se))}}pt=new WeakMap;Se=new WeakMap;function Et({size:n,...e}){return new pe({...e,serializedSize:()=>n})}function Bt({readMethod:n,writeMethod:e,...t}){return Et({...t,read:r=>r[n](),write:(r,s)=>s[e](r),validate:r=>{if(r<0||r>t.maxValue)throw new TypeError(`Invalid ${t.name} value: ${r}. Expected value in range 0-${t.maxValue}`);t.validate?.(r)}})}function Ut({readMethod:n,writeMethod:e,...t}){return Et({...t,read:r=>r[n](),write:(r,s)=>s[e](BigInt(r)),validate:r=>{const s=BigInt(r);if(s<0||s>t.maxValue)throw new TypeError(`Invalid ${t.name} value: ${s}. Expected value in range 0-${t.maxValue}`);t.validate?.(s)}})}function Ls({serialize:n,...e}){const t=new pe({...e,serialize:n,write:(r,s)=>{for(const i of t.serialize(r).toBytes())s.write8(i)}});return t}function Ks({toBytes:n,fromBytes:e,...t}){return new pe({...t,read:r=>{const s=r.readULEB(),i=r.readBytes(s);return e(i)},write:(r,s)=>{const i=n(r);s.writeULEB(i.length);for(let o=0;o<i.length;o++)s.write8(i[o])},serialize:r=>{const s=n(r),i=kt(s.length),o=new Uint8Array(i.length+s.length);return o.set(i,0),o.set(s,i.length),o},validate:r=>{if(typeof r!="string")throw new TypeError(`Invalid ${t.name} value: ${r}. Expected string`);t.validate?.(r)}})}function Gs(n){let e=null;function t(){return e||(e=n()),e}return new pe({name:"lazy",read:r=>t().read(r),serializedSize:r=>t().serializedSize(r),write:(r,s)=>t().write(r,s),serialize:(r,s)=>t().serialize(r,s).toBytes()})}class qs extends pe{constructor({name:e,fields:t,...r}){const s=Object.entries(t);super({name:e,serializedSize:i=>{let o=0;for(const[c,u]of s){const f=u.serializedSize(i[c]);if(f==null)return null;o+=f}return o},read:i=>{const o={};for(const[c,u]of s)o[c]=u.read(i);return o},write:(i,o)=>{for(const[c,u]of s)u.write(i[c],o)},...r,validate:i=>{if(r?.validate?.(i),typeof i!="object"||i==null)throw new TypeError(`Expected object, found ${typeof i}`)}})}}class Hs extends pe{constructor({fields:e,...t}){const r=Object.entries(e);super({read:s=>{const i=s.readULEB(),o=r[i];if(!o)throw new TypeError(`Unknown value ${i} for enum ${name}`);const[c,u]=o;return{[c]:u?.read(s)??!0,$kind:c}},write:(s,i)=>{const[o,c]=Object.entries(s).filter(([u])=>Object.hasOwn(e,u))[0];for(let u=0;u<r.length;u++){const[f,h]=r[u];if(f===o){i.writeULEB(u),h?.write(c,i);return}}},...t,validate:s=>{if(t?.validate?.(s),typeof s!="object"||s==null)throw new TypeError(`Expected object, found ${typeof s}`);const i=Object.keys(s).filter(c=>s[c]!==void 0&&Object.hasOwn(e,c));if(i.length!==1)throw new TypeError(`Expected object with one key, but found ${i.length} for type ${name}}`);const[o]=i;if(!Object.hasOwn(e,o))throw new TypeError(`Invalid enum variant ${o}`)}})}}class Js extends pe{constructor({fields:e,name:t,...r}){super({name:t??`(${e.map(s=>s.name).join(", ")})`,serializedSize:s=>{let i=0;for(let o=0;o<e.length;o++){const c=e[o].serializedSize(s[o]);if(c==null)return null;i+=c}return i},read:s=>{const i=[];for(const o of e)i.push(o.read(s));return i},write:(s,i)=>{for(let o=0;o<e.length;o++)e[o].write(s[o],i)},...r,validate:s=>{if(r?.validate?.(s),!Array.isArray(s))throw new TypeError(`Expected array, found ${typeof s}`);if(s.length!==e.length)throw new TypeError(`Expected array of length ${e.length}, found ${s.length}`)}})}}function Zs(n,e,t){return new pe({read:r=>{const s=new Array(n);for(let i=0;i<n;i++)s[i]=e.read(r);return s},write:(r,s)=>{for(const i of r)e.write(i,s)},...t,name:t?.name??`${e.name}[${n}]`,validate:r=>{if(t?.validate?.(r),!r||typeof r!="object"||!("length"in r))throw new TypeError(`Expected array, found ${typeof r}`);if(r.length!==n)throw new TypeError(`Expected array of length ${n}, found ${r.length}`)}})}function Ys(n){return a.enum(`Option<${n.name}>`,{None:null,Some:n}).transform({input:e=>e==null?{None:!0}:{Some:e},output:e=>e.$kind==="Some"?e.Some:null})}function Xs(n,e){return new pe({read:t=>{const r=t.readULEB(),s=new Array(r);for(let i=0;i<r;i++)s[i]=n.read(t);return s},write:(t,r)=>{r.writeULEB(t.length);for(const s of t)n.write(s,r)},...e,name:e?.name??`vector<${n.name}>`,validate:t=>{if(e?.validate?.(t),!t||typeof t!="object"||!("length"in t))throw new TypeError(`Expected array, found ${typeof t}`)}})}function Qs(n,e){return a.vector(a.tuple([n,e])).transform({name:`Map<${n.name}, ${e.name}>`,input:t=>[...t.entries()],output:t=>{const r=new Map;for(const[s,i]of t)r.set(s,i);return r}})}const a={u8(n){return Bt({readMethod:"read8",writeMethod:"write8",size:1,maxValue:2**8-1,...n,name:n?.name??"u8"})},u16(n){return Bt({readMethod:"read16",writeMethod:"write16",size:2,maxValue:2**16-1,...n,name:n?.name??"u16"})},u32(n){return Bt({readMethod:"read32",writeMethod:"write32",size:4,maxValue:2**32-1,...n,name:n?.name??"u32"})},u64(n){return Ut({readMethod:"read64",writeMethod:"write64",size:8,maxValue:2n**64n-1n,...n,name:n?.name??"u64"})},u128(n){return Ut({readMethod:"read128",writeMethod:"write128",size:16,maxValue:2n**128n-1n,...n,name:n?.name??"u128"})},u256(n){return Ut({readMethod:"read256",writeMethod:"write256",size:32,maxValue:2n**256n-1n,...n,name:n?.name??"u256"})},bool(n){return Et({size:1,read:e=>e.read8()===1,write:(e,t)=>t.write8(e?1:0),...n,name:n?.name??"bool",validate:e=>{if(n?.validate?.(e),typeof e!="boolean")throw new TypeError(`Expected boolean, found ${typeof e}`)}})},uleb128(n){return Ls({read:e=>e.readULEB(),serialize:e=>Uint8Array.from(kt(e)),...n,name:n?.name??"uleb128"})},bytes(n,e){return Et({size:n,read:t=>t.readBytes(n),write:(t,r)=>{const s=new Uint8Array(t);for(let i=0;i<n;i++)r.write8(s[i]??0)},...e,name:e?.name??`bytes[${n}]`,validate:t=>{if(e?.validate?.(t),!t||typeof t!="object"||!("length"in t))throw new TypeError(`Expected array, found ${typeof t}`);if(t.length!==n)throw new TypeError(`Expected array of length ${n}, found ${t.length}`)}})},byteVector(n){return new pe({read:e=>{const t=e.readULEB();return e.readBytes(t)},write:(e,t)=>{const r=new Uint8Array(e);t.writeULEB(r.length);for(let s=0;s<r.length;s++)t.write8(r[s]??0)},...n,name:n?.name??"vector<u8>",serializedSize:e=>{const t="length"in e?e.length:null;return t==null?null:kt(t).length+t},validate:e=>{if(n?.validate?.(e),!e||typeof e!="object"||!("length"in e))throw new TypeError(`Expected array, found ${typeof e}`)}})},string(n){return Ks({toBytes:e=>new TextEncoder().encode(e),fromBytes:e=>new TextDecoder().decode(e),...n,name:n?.name??"string"})},fixedArray:Zs,option:Ys,vector:Xs,tuple(n,e){return new Js({fields:n,...e})},struct(n,e,t){return new qs({name:n,fields:e,...t})},enum(n,e,t){return new Hs({name:n,fields:e,...t})},map:Qs,lazy(n){return Gs(n)}};BigInt(1e9);const ei="0x1",nr="0x2",Wo=de("0x6"),ti=`${nr}::sui::SUI`;de("0x5");const ni=/^vector<(.+)>$/,ri=/^([^:]+)::([^:]+)::([^<]+)(<(.+)>)?/;class re{static parseFromStr(e,t=!1){if(e==="address")return{address:null};if(e==="bool")return{bool:null};if(e==="u8")return{u8:null};if(e==="u16")return{u16:null};if(e==="u32")return{u32:null};if(e==="u64")return{u64:null};if(e==="u128")return{u128:null};if(e==="u256")return{u256:null};if(e==="signer")return{signer:null};const r=e.match(ni);if(r)return{vector:re.parseFromStr(r[1],t)};const s=e.match(ri);if(s)return{struct:{address:t?k(s[1]):s[1],module:s[2],name:s[3],typeParams:s[5]===void 0?[]:re.parseStructTypeArgs(s[5],t)}};throw new Error(`Encountered unexpected token when parsing type args for ${e}`)}static parseStructTypeArgs(e,t=!1){return ms(e).map(r=>re.parseFromStr(r,t))}static tagToString(e){if("bool"in e)return"bool";if("u8"in e)return"u8";if("u16"in e)return"u16";if("u32"in e)return"u32";if("u64"in e)return"u64";if("u128"in e)return"u128";if("u256"in e)return"u256";if("address"in e)return"address";if("signer"in e)return"signer";if("vector"in e)return`vector<${re.tagToString(e.vector)}>`;if("struct"in e){const t=e.struct,r=t.typeParams.map(re.tagToString).join(", ");return`${t.address}::${t.module}::${t.name}${r?`<${r}>`:""}`}throw new Error("Invalid TypeTag")}}function si(n){return a.u64({name:"unsafe_u64",...n}).transform({input:e=>e,output:e=>Number(e)})}function ii(n){return a.enum("Option",{None:null,Some:n})}const E=a.bytes(on).transform({validate:n=>{const e=typeof n=="string"?n:We(n);if(!e||!ee(k(e)))throw new Error(`Invalid Sui address ${e}`)},input:n=>typeof n=="string"?sn(k(n)):n,output:n=>k(We(n))}),ie=a.vector(a.u8()).transform({name:"ObjectDigest",input:n=>bt(n),output:n=>an(new Uint8Array(n)),validate:n=>{if(bt(n).length!==32)throw new Error("ObjectDigest must be 32 bytes")}}),H=a.struct("SuiObjectRef",{objectId:E,version:a.u64(),digest:ie}),rr=a.struct("SharedObjectRef",{objectId:E,initialSharedVersion:a.u64(),mutable:a.bool()}),sr=a.enum("ObjectArg",{ImmOrOwnedObject:H,SharedObject:rr,Receiving:H}),Pe=a.enum("Owner",{AddressOwner:E,ObjectOwner:E,Shared:a.struct("Shared",{initialSharedVersion:a.u64()}),Immutable:null,ConsensusAddressOwner:a.struct("ConsensusAddressOwner",{owner:E,startVersion:a.u64()})}),ir=a.enum("CallArg",{Pure:a.struct("Pure",{bytes:a.vector(a.u8()).transform({input:n=>typeof n=="string"?V(n):n,output:n=>P(new Uint8Array(n))})}),Object:sr}),un=a.enum("TypeTag",{bool:null,u8:null,u64:null,u128:null,address:null,signer:null,vector:a.lazy(()=>un),struct:a.lazy(()=>dr),u16:null,u32:null,u256:null}),ln=un.transform({input:n=>typeof n=="string"?re.parseFromStr(n,!0):n,output:n=>re.tagToString(n)}),ce=a.enum("Argument",{GasCoin:null,Input:a.u16(),Result:a.u16(),NestedResult:a.tuple([a.u16(),a.u16()])}),ar=a.struct("ProgrammableMoveCall",{package:E,module:a.string(),function:a.string(),typeArguments:a.vector(ln),arguments:a.vector(ce)}),or=a.enum("Command",{MoveCall:ar,TransferObjects:a.struct("TransferObjects",{objects:a.vector(ce),address:ce}),SplitCoins:a.struct("SplitCoins",{coin:ce,amounts:a.vector(ce)}),MergeCoins:a.struct("MergeCoins",{destination:ce,sources:a.vector(ce)}),Publish:a.struct("Publish",{modules:a.vector(a.vector(a.u8()).transform({input:n=>typeof n=="string"?V(n):n,output:n=>P(new Uint8Array(n))})),dependencies:a.vector(E)}),MakeMoveVec:a.struct("MakeMoveVec",{type:ii(ln).transform({input:n=>n===null?{None:!0}:{Some:n},output:n=>n.Some??null}),elements:a.vector(ce)}),Upgrade:a.struct("Upgrade",{modules:a.vector(a.vector(a.u8()).transform({input:n=>typeof n=="string"?V(n):n,output:n=>P(new Uint8Array(n))})),dependencies:a.vector(E),package:E,ticket:ce})}),cr=a.struct("ProgrammableTransaction",{inputs:a.vector(ir),commands:a.vector(or)}),ur=a.enum("TransactionKind",{ProgrammableTransaction:cr,ChangeEpoch:null,Genesis:null,ConsensusCommitPrologue:null}),lr=a.enum("TransactionExpiration",{None:null,Epoch:si()}),dr=a.struct("StructTag",{address:E,module:a.string(),name:a.string(),typeParams:a.vector(un)}),hr=a.struct("GasData",{payment:a.vector(H),owner:E,price:a.u64(),budget:a.u64()}),pr=a.struct("TransactionDataV1",{kind:ur,sender:E,gasData:hr,expiration:lr}),fr=a.enum("TransactionData",{V1:pr}),gr=a.enum("IntentScope",{TransactionData:null,TransactionEffects:null,CheckpointSummary:null,PersonalMessage:null}),mr=a.enum("IntentVersion",{V0:null}),yr=a.enum("AppId",{Sui:null}),wr=a.struct("Intent",{scope:gr,version:mr,appId:yr});function br(n){return a.struct(`IntentMessage<${n.name}>`,{intent:wr,value:n})}const vr=a.enum("CompressedSignature",{ED25519:a.fixedArray(64,a.u8()),Secp256k1:a.fixedArray(64,a.u8()),Secp256r1:a.fixedArray(64,a.u8()),ZkLogin:a.vector(a.u8()),Passkey:a.vector(a.u8())}),kr=a.enum("PublicKey",{ED25519:a.fixedArray(32,a.u8()),Secp256k1:a.fixedArray(33,a.u8()),Secp256r1:a.fixedArray(33,a.u8()),ZkLogin:a.vector(a.u8()),Passkey:a.fixedArray(33,a.u8())}),Sr=a.struct("MultiSigPkMap",{pubKey:kr,weight:a.u8()}),Or=a.struct("MultiSigPublicKey",{pk_map:a.vector(Sr),threshold:a.u16()}),ai=a.struct("MultiSig",{sigs:a.vector(vr),bitmap:a.u16(),multisig_pk:Or}),oi=a.vector(a.u8()).transform({input:n=>typeof n=="string"?V(n):n,output:n=>P(new Uint8Array(n))}),Er=a.struct("SenderSignedTransaction",{intentMessage:br(fr),txSignatures:a.vector(oi)}),ci=a.vector(Er,{name:"SenderSignedData"}),ui=a.struct("PasskeyAuthenticator",{authenticatorData:a.vector(a.u8()),clientDataJson:a.string(),userSignature:a.vector(a.u8())}),li=a.enum("PackageUpgradeError",{UnableToFetchPackage:a.struct("UnableToFetchPackage",{packageId:E}),NotAPackage:a.struct("NotAPackage",{objectId:E}),IncompatibleUpgrade:null,DigestDoesNotMatch:a.struct("DigestDoesNotMatch",{digest:a.vector(a.u8())}),UnknownUpgradePolicy:a.struct("UnknownUpgradePolicy",{policy:a.u8()}),PackageIDDoesNotMatch:a.struct("PackageIDDoesNotMatch",{packageId:E,ticketId:E})}),di=a.struct("ModuleId",{address:E,name:a.string()}),Mn=a.struct("MoveLocation",{module:di,function:a.u16(),instruction:a.u16(),functionName:a.option(a.string())}),hi=a.enum("CommandArgumentError",{TypeMismatch:null,InvalidBCSBytes:null,InvalidUsageOfPureArg:null,InvalidArgumentToPrivateEntryFunction:null,IndexOutOfBounds:a.struct("IndexOutOfBounds",{idx:a.u16()}),SecondaryIndexOutOfBounds:a.struct("SecondaryIndexOutOfBounds",{resultIdx:a.u16(),secondaryIdx:a.u16()}),InvalidResultArity:a.struct("InvalidResultArity",{resultIdx:a.u16()}),InvalidGasCoinUsage:null,InvalidValueUsage:null,InvalidObjectByValue:null,InvalidObjectByMutRef:null,SharedObjectOperationNotAllowed:null}),pi=a.enum("TypeArgumentError",{TypeNotFound:null,ConstraintNotSatisfied:null}),fi=a.enum("ExecutionFailureStatus",{InsufficientGas:null,InvalidGasObject:null,InvariantViolation:null,FeatureNotYetSupported:null,MoveObjectTooBig:a.struct("MoveObjectTooBig",{objectSize:a.u64(),maxObjectSize:a.u64()}),MovePackageTooBig:a.struct("MovePackageTooBig",{objectSize:a.u64(),maxObjectSize:a.u64()}),CircularObjectOwnership:a.struct("CircularObjectOwnership",{object:E}),InsufficientCoinBalance:null,CoinBalanceOverflow:null,PublishErrorNonZeroAddress:null,SuiMoveVerificationError:null,MovePrimitiveRuntimeError:a.option(Mn),MoveAbort:a.tuple([Mn,a.u64()]),VMVerificationOrDeserializationError:null,VMInvariantViolation:null,FunctionNotFound:null,ArityMismatch:null,TypeArityMismatch:null,NonEntryFunctionInvoked:null,CommandArgumentError:a.struct("CommandArgumentError",{argIdx:a.u16(),kind:hi}),TypeArgumentError:a.struct("TypeArgumentError",{argumentIdx:a.u16(),kind:pi}),UnusedValueWithoutDrop:a.struct("UnusedValueWithoutDrop",{resultIdx:a.u16(),secondaryIdx:a.u16()}),InvalidPublicFunctionReturnType:a.struct("InvalidPublicFunctionReturnType",{idx:a.u16()}),InvalidTransferObject:null,EffectsTooLarge:a.struct("EffectsTooLarge",{currentSize:a.u64(),maxSize:a.u64()}),PublishUpgradeMissingDependency:null,PublishUpgradeDependencyDowngrade:null,PackageUpgradeError:a.struct("PackageUpgradeError",{upgradeError:li}),WrittenObjectsTooLarge:a.struct("WrittenObjectsTooLarge",{currentSize:a.u64(),maxSize:a.u64()}),CertificateDenied:null,SuiMoveVerificationTimedout:null,SharedObjectOperationNotAllowed:null,InputObjectDeleted:null,ExecutionCancelledDueToSharedObjectCongestion:a.struct("ExecutionCancelledDueToSharedObjectCongestion",{congestedObjects:a.vector(E)}),AddressDeniedForCoin:a.struct("AddressDeniedForCoin",{address:E,coinType:a.string()}),CoinTypeGlobalPause:a.struct("CoinTypeGlobalPause",{coinType:a.string()}),ExecutionCancelledDueToRandomnessUnavailable:null}),Tr=a.enum("ExecutionStatus",{Success:null,Failed:a.struct("ExecutionFailed",{error:fi,command:a.option(a.u64())})}),Ir=a.struct("GasCostSummary",{computationCost:a.u64(),storageCost:a.u64(),storageRebate:a.u64(),nonRefundableStorageFee:a.u64()}),gi=a.struct("TransactionEffectsV1",{status:Tr,executedEpoch:a.u64(),gasUsed:Ir,modifiedAtVersions:a.vector(a.tuple([E,a.u64()])),sharedObjects:a.vector(H),transactionDigest:ie,created:a.vector(a.tuple([H,Pe])),mutated:a.vector(a.tuple([H,Pe])),unwrapped:a.vector(a.tuple([H,Pe])),deleted:a.vector(H),unwrappedThenDeleted:a.vector(H),wrapped:a.vector(H),gasObject:a.tuple([H,Pe]),eventsDigest:a.option(ie),dependencies:a.vector(ie)}),dn=a.tuple([a.u64(),ie]),mi=a.enum("ObjectIn",{NotExist:null,Exist:a.tuple([dn,Pe])}),yi=a.enum("ObjectOut",{NotExist:null,ObjectWrite:a.tuple([ie,Pe]),PackageWrite:dn}),wi=a.enum("IDOperation",{None:null,Created:null,Deleted:null}),bi=a.struct("EffectsObjectChange",{inputState:mi,outputState:yi,idOperation:wi}),vi=a.enum("UnchangedSharedKind",{ReadOnlyRoot:dn,MutateDeleted:a.u64(),ReadDeleted:a.u64(),Cancelled:a.u64(),PerEpochConfig:null}),ki=a.struct("TransactionEffectsV2",{status:Tr,executedEpoch:a.u64(),gasUsed:Ir,transactionDigest:ie,gasObjectIndex:a.option(a.u32()),eventsDigest:a.option(ie),dependencies:a.vector(ie),lamportVersion:a.u64(),changedObjects:a.vector(a.tuple([E,bi])),unchangedSharedObjects:a.vector(a.tuple([E,vi])),auxDataDigest:a.option(ie)}),Si=a.enum("TransactionEffects",{V1:gi,V2:ki});function Ze(n){switch(n){case"u8":return a.u8();case"u16":return a.u16();case"u32":return a.u32();case"u64":return a.u64();case"u128":return a.u128();case"u256":return a.u256();case"bool":return a.bool();case"string":return a.string();case"id":case"address":return E}const e=n.match(/^(vector|option)<(.+)>$/);if(e){const[t,r]=e.slice(1);return t==="vector"?a.vector(Ze(r)):a.option(Ze(r))}throw new Error(`Invalid Pure type name: ${n}`)}const m={...a,U8:a.u8(),U16:a.u16(),U32:a.u32(),U64:a.u64(),U128:a.u128(),U256:a.u256(),ULEB128:a.uleb128(),Bool:a.bool(),String:a.string(),Address:E,AppId:yr,Argument:ce,CallArg:ir,Command:or,CompressedSignature:vr,GasData:hr,Intent:wr,IntentMessage:br,IntentScope:gr,IntentVersion:mr,MultiSig:ai,MultiSigPkMap:Sr,MultiSigPublicKey:Or,ObjectArg:sr,ObjectDigest:ie,Owner:Pe,PasskeyAuthenticator:ui,ProgrammableMoveCall:ar,ProgrammableTransaction:cr,PublicKey:kr,SenderSignedData:ci,SenderSignedTransaction:Er,SharedObjectRef:rr,StructTag:dr,SuiObjectRef:H,TransactionData:fr,TransactionDataV1:pr,TransactionEffects:Si,TransactionExpiration:lr,TransactionKind:ur,TypeTag:ln};function Oi(n,e,t){const r=m.Address.serialize(n).toBytes(),s=m.TypeTag.serialize(e).toBytes(),i=m.u64().serialize(t.length).toBytes(),o=tt.create({dkLen:32});return o.update(new Uint8Array([240])),o.update(r),o.update(i),o.update(t),o.update(s),`0x${We(o.digest().slice(0,32))}`}const jr="1.37.2",Ei="1.55.0",Ti={"-32700":"ParseError","-32701":"OversizedRequest","-32702":"OversizedResponse","-32600":"InvalidRequest","-32601":"MethodNotFound","-32602":"InvalidParams","-32603":"InternalError","-32604":"ServerBusy","-32000":"CallExecutionFailed","-32001":"UnknownError","-32003":"SubscriptionClosed","-32004":"SubscriptionClosedWithError","-32005":"BatchesNotSupported","-32006":"TooManySubscriptions","-32050":"TransientError","-32002":"TransactionExecutionClientError"};class Cr extends Error{}class Mr extends Cr{constructor(e,t){super(e),this.code=t,this.type=Ti[t]??"ServerError"}}class Ii extends Cr{constructor(e,t,r){super(e),this.status=t,this.statusText=r}}var _r=n=>{throw TypeError(n)},hn=(n,e,t)=>e.has(n)||_r("Cannot "+t),T=(n,e,t)=>(hn(n,e,"read from private field"),t?t.call(n):e.get(n)),Ce=(n,e,t)=>e.has(n)?_r("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(n):e.set(n,t),Fe=(n,e,t,r)=>(hn(n,e,"write to private field"),e.set(n,t),t),Pr=(n,e,t)=>(hn(n,e,"access private method"),t),ji=(n,e,t,r)=>({set _(s){Fe(n,e,s)},get _(){return T(n,e,r)}}),Oe,Ye,ye,$e,nt,xe,Tt,$r,xr;function Ci(n){const e=new URL(n);return e.protocol=e.protocol.replace("http","ws"),e.toString()}const Mi={WebSocketConstructor:typeof WebSocket<"u"?WebSocket:void 0,callTimeout:3e4,reconnectTimeout:3e3,maxReconnects:5};class _i{constructor(e,t={}){if(Ce(this,Tt),Ce(this,Oe,0),Ce(this,Ye,0),Ce(this,ye,null),Ce(this,$e,null),Ce(this,nt,new Set),Ce(this,xe,new Map),this.endpoint=e,this.options={...Mi,...t},!this.options.WebSocketConstructor)throw new Error("Missing WebSocket constructor");this.endpoint.startsWith("http")&&(this.endpoint=Ci(this.endpoint))}async makeRequest(e,t,r){const s=await Pr(this,Tt,$r).call(this);return new Promise((i,o)=>{Fe(this,Oe,T(this,Oe)+1),T(this,xe).set(T(this,Oe),{resolve:i,reject:o,timeout:setTimeout(()=>{T(this,xe).delete(T(this,Oe)),o(new Error(`Request timeout: ${e}`))},this.options.callTimeout)}),r?.addEventListener("abort",()=>{T(this,xe).delete(T(this,Oe)),o(r.reason)}),s.send(JSON.stringify({jsonrpc:"2.0",id:T(this,Oe),method:e,params:t}))}).then(({error:i,result:o})=>{if(i)throw new Mr(i.message,i.code);return o})}async subscribe(e){const t=new Pi(e);return T(this,nt).add(t),await t.subscribe(this),()=>t.unsubscribe(this)}}Oe=new WeakMap;Ye=new WeakMap;ye=new WeakMap;$e=new WeakMap;nt=new WeakMap;xe=new WeakMap;Tt=new WeakSet;$r=function(){return T(this,$e)?T(this,$e):(Fe(this,$e,new Promise(n=>{T(this,ye)?.close(),Fe(this,ye,new this.options.WebSocketConstructor(this.endpoint)),T(this,ye).addEventListener("open",()=>{Fe(this,Ye,0),n(T(this,ye))}),T(this,ye).addEventListener("close",()=>{ji(this,Ye)._++,T(this,Ye)<=this.options.maxReconnects&&setTimeout(()=>{Pr(this,Tt,xr).call(this)},this.options.reconnectTimeout)}),T(this,ye).addEventListener("message",({data:e})=>{let t;try{t=JSON.parse(e)}catch(r){console.error(new Error(`Failed to parse RPC message: ${e}`,{cause:r}));return}if("id"in t&&t.id!=null&&T(this,xe).has(t.id)){const{resolve:r,timeout:s}=T(this,xe).get(t.id);clearTimeout(s),r(t)}else if("params"in t){const{params:r}=t;T(this,nt).forEach(s=>{s.subscriptionId===r.subscription&&r.subscription===s.subscriptionId&&s.onMessage(r.result)})}})})),T(this,$e))};xr=async function(){return T(this,ye)?.close(),Fe(this,$e,null),Promise.allSettled([...T(this,nt)].map(n=>n.subscribe(this)))};class Pi{constructor(e){this.subscriptionId=null,this.subscribed=!1,this.input=e}onMessage(e){this.subscribed&&this.input.onMessage(e)}async unsubscribe(e){const{subscriptionId:t}=this;return this.subscribed=!1,t==null?!1:(this.subscriptionId=null,e.makeRequest(this.input.unsubscribe,[t]))}async subscribe(e){this.subscriptionId=null,this.subscribed=!0;const t=await e.makeRequest(this.input.method,this.input.params,this.input.signal);this.subscribed&&(this.subscriptionId=t)}}var Ar=n=>{throw TypeError(n)},pn=(n,e,t)=>e.has(n)||Ar("Cannot "+t),J=(n,e,t)=>(pn(n,e,"read from private field"),t?t.call(n):e.get(n)),dt=(n,e,t)=>e.has(n)?Ar("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(n):e.set(n,t),Lt=(n,e,t,r)=>(pn(n,e,"write to private field"),e.set(n,t),t),$i=(n,e,t)=>(pn(n,e,"access private method"),t),Je,ne,Xe,Kt,Rr;class xi{constructor(e){dt(this,Kt),dt(this,Je,0),dt(this,ne),dt(this,Xe),Lt(this,ne,e)}fetch(e,t){const r=J(this,ne).fetch??fetch;if(!r)throw new Error("The current environment does not support fetch, you can provide a fetch implementation in the options for SuiHTTPTransport.");return r(e,t)}async request(e){Lt(this,Je,J(this,Je)+1);const t=await this.fetch(J(this,ne).rpc?.url??J(this,ne).url,{method:"POST",signal:e.signal,headers:{"Content-Type":"application/json","Client-Sdk-Type":"typescript","Client-Sdk-Version":jr,"Client-Target-Api-Version":Ei,"Client-Request-Method":e.method,...J(this,ne).rpc?.headers},body:JSON.stringify({jsonrpc:"2.0",id:J(this,Je),method:e.method,params:e.params})});if(!t.ok)throw new Ii(`Unexpected status code: ${t.status}`,t.status,t.statusText);const r=await t.json();if("error"in r&&r.error!=null)throw new Mr(r.error.message,r.error.code);return r.result}async subscribe(e){const t=await $i(this,Kt,Rr).call(this).subscribe(e);return e.signal&&(e.signal.throwIfAborted(),e.signal.addEventListener("abort",()=>{t()})),async()=>!!await t()}}Je=new WeakMap;ne=new WeakMap;Xe=new WeakMap;Kt=new WeakSet;Rr=function(){if(!J(this,Xe)){const n=J(this,ne).WebSocketConstructor??WebSocket;if(!n)throw new Error("The current environment does not support WebSocket, you can provide a WebSocketConstructor in the options for SuiHTTPTransport.");Lt(this,Xe,new _i(J(this,ne).websocket?.url??J(this,ne).url,{WebSocketConstructor:n,...J(this,ne).websocket}))}return J(this,Xe)};var Br=n=>{throw TypeError(n)},Ur=(n,e,t)=>e.has(n)||Br("Cannot "+t),U=(n,e,t)=>(Ur(n,e,"read from private field"),e.get(n)),_n=(n,e,t)=>e.has(n)?Br("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(n):e.set(n,t),Pn=(n,e,t,r)=>(Ur(n,e,"write to private field"),e.set(n,t),t),_e,N;const Ai=class Dr{constructor({prefix:e,cache:t}={}){_n(this,_e),_n(this,N),Pn(this,_e,e??[]),Pn(this,N,t??new Map)}read(e,t){const r=[U(this,_e),...e].join(":");if(U(this,N).has(r))return U(this,N).get(r);const s=t();return U(this,N).set(r,s),typeof s=="object"&&s!==null&&"then"in s?Promise.resolve(s).then(i=>(U(this,N).set(r,i),i)).catch(i=>{throw U(this,N).delete(r),i}):s}readSync(e,t){const r=[U(this,_e),...e].join(":");if(U(this,N).has(r))return U(this,N).get(r);const s=t();return U(this,N).set(r,s),s}clear(e){const t=[...U(this,_e),...e??[]].join(":");if(!t){U(this,N).clear();return}for(const r of U(this,N).keys())r.startsWith(t)&&U(this,N).delete(r)}scope(e){return new Dr({prefix:[...U(this,_e),...Array.isArray(e)?e:[e]],cache:U(this,N)})}};_e=new WeakMap;N=new WeakMap;let Ri=Ai;class Nr{constructor({network:e,base:t,cache:r=t?.cache??new Ri}){this.network=e,this.base=t??this,this.cache=r}$extend(...e){return Object.create(this,Object.fromEntries(e.map(t=>{if("experimental_asClientExtension"in t){const{name:r,register:s}=t.experimental_asClientExtension();return[r,{value:s(this)}]}return[t.name,{value:t.register(this)}]})))}}var Dt;function Bi(n){return{lang:n?.lang??Dt?.lang,message:n?.message,abortEarly:n?.abortEarly??Dt?.abortEarly,abortPipeEarly:n?.abortPipeEarly??Dt?.abortPipeEarly}}var Ui;function Di(n){return Ui?.get(n)}var Ni;function Vi(n){return Ni?.get(n)}var zi;function Fi(n,e){return zi?.get(n)?.get(e)}function Vr(n){const e=typeof n;return e==="string"?`"${n}"`:e==="number"||e==="bigint"||e==="boolean"?`${n}`:e==="object"||e==="function"?(n&&Object.getPrototypeOf(n)?.constructor?.name)??"null":e}function q(n,e,t,r,s){const i=s&&"input"in s?s.input:t.value,o=s?.expected??n.expects??null,c=s?.received??Vr(i),u={kind:n.kind,type:n.type,input:i,expected:o,received:c,message:`Invalid ${e}: ${o?`Expected ${o} but r`:"R"}eceived ${c}`,requirement:n.requirement,path:s?.path,issues:s?.issues,lang:r.lang,abortEarly:r.abortEarly,abortPipeEarly:r.abortPipeEarly},f=n.kind==="schema",h=s?.message??n.message??Fi(n.reference,u.lang)??(f?Vi(u.lang):null)??r.message??Di(u.lang);h&&(u.message=typeof h=="function"?h(u):h),f&&(t.typed=!1),t.issues?t.issues.push(u):t.issues=[u]}function Wi(n,e){return Object.hasOwn(n,e)&&e!=="__proto__"&&e!=="prototype"&&e!=="constructor"}var Li=class extends Error{issues;constructor(n){super(n[0].message),this.name="ValiError",this.issues=n}};function ot(n,e){return{kind:"validation",type:"check",reference:ot,async:!1,expects:null,requirement:n,message:e,_run(t,r){return t.typed&&!this.requirement(t.value)&&q(this,"input",t,r),t}}}function M(n){return{kind:"validation",type:"integer",reference:M,async:!1,expects:null,requirement:Number.isInteger,message:n,_run(e,t){return e.typed&&!this.requirement(e.value)&&q(this,"integer",e,t),e}}}function Ct(n){return{kind:"transformation",type:"transform",reference:Ct,async:!1,operation:n,_run(e){return e.value=this.operation(e.value),e}}}function fn(n,e,t){return typeof n.default=="function"?n.default(e,t):n.default}function Gt(n,e){return!n._run({typed:!1,value:e},{abortEarly:!0}).issues}function g(n,e){return{kind:"schema",type:"array",reference:g,expects:"Array",async:!1,item:n,message:e,_run(t,r){const s=t.value;if(Array.isArray(s)){t.typed=!0,t.value=[];for(let i=0;i<s.length;i++){const o=s[i],c=this.item._run({typed:!1,value:o},r);if(c.issues){const u={type:"array",origin:"value",input:s,key:i,value:o};for(const f of c.issues)f.path?f.path.unshift(u):f.path=[u],t.issues?.push(f);if(t.issues||(t.issues=c.issues),r.abortEarly){t.typed=!1;break}}c.typed||(t.typed=!1),t.value.push(c.value)}}else q(this,"type",t,r);return t}}}function gn(n){return{kind:"schema",type:"bigint",reference:gn,expects:"bigint",async:!1,message:n,_run(e,t){return typeof e.value=="bigint"?e.typed=!0:q(this,"type",e,t),e}}}function Mt(n){return{kind:"schema",type:"boolean",reference:Mt,expects:"boolean",async:!1,message:n,_run(e,t){return typeof e.value=="boolean"?e.typed=!0:q(this,"type",e,t),e}}}function rt(n){return{kind:"schema",type:"lazy",reference:rt,expects:"unknown",async:!1,getter:n,_run(e,t){return this.getter(e.value)._run(e,t)}}}function y(n,e){return{kind:"schema",type:"literal",reference:y,expects:Vr(n),async:!1,literal:n,message:e,_run(t,r){return t.value===this.literal?t.typed=!0:q(this,"type",t,r),t}}}function v(n,...e){const t={kind:"schema",type:"nullable",reference:v,expects:`${n.expects} | null`,async:!1,wrapped:n,_run(r,s){return r.value===null&&("default"in this&&(r.value=fn(this,r,s)),r.value===null)?(r.typed=!0,r):this.wrapped._run(r,s)}};return 0 in e&&(t.default=e[0]),t}function Le(n,...e){const t={kind:"schema",type:"nullish",reference:Le,expects:`${n.expects} | null | undefined`,async:!1,wrapped:n,_run(r,s){return(r.value===null||r.value===void 0)&&("default"in this&&(r.value=fn(this,r,s)),r.value===null||r.value===void 0)?(r.typed=!0,r):this.wrapped._run(r,s)}};return 0 in e&&(t.default=e[0]),t}function j(n){return{kind:"schema",type:"number",reference:j,expects:"number",async:!1,message:n,_run(e,t){return typeof e.value=="number"&&!isNaN(e.value)?e.typed=!0:q(this,"type",e,t),e}}}function d(n,e){return{kind:"schema",type:"object",reference:d,expects:"Object",async:!1,entries:n,message:e,_run(t,r){const s=t.value;if(s&&typeof s=="object"){t.typed=!0,t.value={};for(const i in this.entries){const o=s[i],c=this.entries[i]._run({typed:!1,value:o},r);if(c.issues){const u={type:"object",origin:"value",input:s,key:i,value:o};for(const f of c.issues)f.path?f.path.unshift(u):f.path=[u],t.issues?.push(f);if(t.issues||(t.issues=c.issues),r.abortEarly){t.typed=!1;break}}c.typed||(t.typed=!1),(c.value!==void 0||i in s)&&(t.value[i]=c.value)}}else q(this,"type",t,r);return t}}}function R(n,...e){const t={kind:"schema",type:"optional",reference:R,expects:`${n.expects} | undefined`,async:!1,wrapped:n,_run(r,s){return r.value===void 0&&("default"in this&&(r.value=fn(this,r,s)),r.value===void 0)?(r.typed=!0,r):this.wrapped._run(r,s)}};return 0 in e&&(t.default=e[0]),t}function st(n,e,t){return{kind:"schema",type:"record",reference:st,expects:"Object",async:!1,key:n,value:e,message:t,_run(r,s){const i=r.value;if(i&&typeof i=="object"){r.typed=!0,r.value={};for(const o in i)if(Wi(i,o)){const c=i[o],u=this.key._run({typed:!1,value:o},s);if(u.issues){const h={type:"object",origin:"key",input:i,key:o,value:c};for(const w of u.issues)w.path=[h],r.issues?.push(w);if(r.issues||(r.issues=u.issues),s.abortEarly){r.typed=!1;break}}const f=this.value._run({typed:!1,value:c},s);if(f.issues){const h={type:"object",origin:"value",input:i,key:o,value:c};for(const w of f.issues)w.path?w.path.unshift(h):w.path=[h],r.issues?.push(w);if(r.issues||(r.issues=f.issues),s.abortEarly){r.typed=!1;break}}(!u.typed||!f.typed)&&(r.typed=!1),u.typed&&(r.value[u.value]=f.value)}}else q(this,"type",r,s);return r}}}function b(n){return{kind:"schema",type:"string",reference:b,expects:"string",async:!1,message:n,_run(e,t){return typeof e.value=="string"?e.typed=!0:q(this,"type",e,t),e}}}function mn(n,e){return{kind:"schema",type:"tuple",reference:mn,expects:"Array",async:!1,items:n,message:e,_run(t,r){const s=t.value;if(Array.isArray(s)){t.typed=!0,t.value=[];for(let i=0;i<this.items.length;i++){const o=s[i],c=this.items[i]._run({typed:!1,value:o},r);if(c.issues){const u={type:"array",origin:"value",input:s,key:i,value:o};for(const f of c.issues)f.path?f.path.unshift(u):f.path=[u],t.issues?.push(f);if(t.issues||(t.issues=c.issues),r.abortEarly){t.typed=!1;break}}c.typed||(t.typed=!1),t.value.push(c.value)}}else q(this,"type",t,r);return t}}}function $n(n){let e;if(n)for(const t of n)e?e.push(...t.issues):e=t.issues;return e}function B(n,e){return{kind:"schema",type:"union",reference:B,expects:[...new Set(n.map(t=>t.expects))].join(" | ")||"never",async:!1,options:n,message:e,_run(t,r){let s,i,o;for(const c of this.options){const u=c._run({typed:!1,value:t.value},r);if(u.typed)if(u.issues)i?i.push(u):i=[u];else{s=u;break}else o?o.push(u):o=[u]}if(s)return s;if(i){if(i.length===1)return i[0];q(this,"type",t,r,{issues:$n(i)}),t.typed=!0}else{if(o?.length===1)return o[0];q(this,"type",t,r,{issues:$n(o)})}return t}}}function Be(){return{kind:"schema",type:"unknown",reference:Be,expects:"unknown",async:!1,_run(n){return n.typed=!0,n}}}function C(n,e,t){const r=n._run({typed:!1,value:e},Bi(t));if(r.issues)throw new Li(r.issues);return r.value}function S(...n){return{...n[0],pipe:n,_run(e,t){for(let r=0;r<n.length;r++){if(e.issues&&(n[r].kind==="schema"||n[r].kind==="transformation")){e.typed=!1;break}(!e.issues||!t.abortEarly&&!t.abortPipeEarly)&&(e=n[r]._run(e,t))}return e}}}function De(n){const e=Object.entries(n).map(([t,r])=>d({[t]:r}));return S(B(e),Ct(t=>({...t,$kind:Object.keys(t)[0]})))}const Ke=S(b(),Ct(n=>k(n)),ot(ee)),G=Ke,Ue=b(),L=S(B([b(),S(j(),M())]),ot(n=>{try{return BigInt(n),BigInt(n)>=0&&BigInt(n)<=18446744073709551615n}catch{return!1}},"Invalid u64")),je=d({objectId:Ke,version:L,digest:b()}),I=S(B([d({GasCoin:y(!0)}),d({Input:S(j(),M()),type:R(y("pure"))}),d({Input:S(j(),M()),type:R(y("object"))}),d({Result:S(j(),M())}),d({NestedResult:mn([S(j(),M()),S(j(),M())])})]),Ct(n=>({...n,$kind:Object.keys(n)[0]}))),Ki=d({budget:v(L),price:v(L),owner:v(Ke),payment:v(g(je))}),qt=B([y("address"),y("bool"),y("u8"),y("u16"),y("u32"),y("u64"),y("u128"),y("u256"),d({vector:rt(()=>qt)}),d({datatype:d({package:b(),module:b(),type:b(),typeParameters:g(rt(()=>qt))})}),d({typeParameter:S(j(),M())})]),Gi=d({ref:v(B([y("&"),y("&mut")])),body:qt}),qi=d({package:G,module:b(),function:b(),typeArguments:g(b()),arguments:g(I),_argumentTypes:R(v(g(Gi)))}),Hi=d({name:b(),inputs:st(b(),B([I,g(I)])),data:st(b(),Be())}),Ji=De({MoveCall:qi,TransferObjects:d({objects:g(I),address:I}),SplitCoins:d({coin:I,amounts:g(I)}),MergeCoins:d({destination:I,sources:g(I)}),Publish:d({modules:g(Ue),dependencies:g(G)}),MakeMoveVec:d({type:v(b()),elements:g(I)}),Upgrade:d({modules:g(Ue),dependencies:g(G),package:G,ticket:I}),$Intent:Hi}),zr=De({ImmOrOwnedObject:je,SharedObject:d({objectId:G,initialSharedVersion:L,mutable:Mt()}),Receiving:je}),Zi=De({Object:zr,Pure:d({bytes:Ue}),UnresolvedPure:d({value:Be()}),UnresolvedObject:d({objectId:G,version:R(v(L)),digest:R(v(b())),initialSharedVersion:R(v(L))})}),xn=De({Object:zr,Pure:d({bytes:Ue})}),Fr=De({None:y(!0),Epoch:L}),ft=d({version:y(2),sender:Le(Ke),expiration:Le(Fr),gasData:Ki,inputs:g(Zi),commands:g(Ji)}),Me={MoveCall(n){const[e,t="",r=""]="target"in n?n.target.split("::"):[n.package,n.module,n.function];return{$kind:"MoveCall",MoveCall:{package:e,module:t,function:r,typeArguments:n.typeArguments??[],arguments:n.arguments??[]}}},TransferObjects(n,e){return{$kind:"TransferObjects",TransferObjects:{objects:n.map(t=>C(I,t)),address:C(I,e)}}},SplitCoins(n,e){return{$kind:"SplitCoins",SplitCoins:{coin:C(I,n),amounts:e.map(t=>C(I,t))}}},MergeCoins(n,e){return{$kind:"MergeCoins",MergeCoins:{destination:C(I,n),sources:e.map(t=>C(I,t))}}},Publish({modules:n,dependencies:e}){return{$kind:"Publish",Publish:{modules:n.map(t=>typeof t=="string"?t:P(new Uint8Array(t))),dependencies:e.map(t=>de(t))}}},Upgrade({modules:n,dependencies:e,package:t,ticket:r}){return{$kind:"Upgrade",Upgrade:{modules:n.map(s=>typeof s=="string"?s:P(new Uint8Array(s))),dependencies:e.map(s=>de(s)),package:t,ticket:C(I,r)}}},MakeMoveVec({type:n,elements:e}){return{$kind:"MakeMoveVec",MakeMoveVec:{type:n??null,elements:e.map(t=>C(I,t))}}},Intent({name:n,inputs:e={},data:t={}}){return{$kind:"$Intent",$Intent:{name:n,inputs:Object.fromEntries(Object.entries(e).map(([r,s])=>[r,Array.isArray(s)?s.map(i=>C(I,i)):C(I,s)])),data:t}}}},Ht=d({digest:b(),objectId:b(),version:B([S(j(),M()),b(),gn()])}),Yi=De({ImmOrOwned:Ht,Shared:d({objectId:G,initialSharedVersion:L,mutable:Mt()}),Receiving:Ht}),An=De({Object:Yi,Pure:g(S(j(),M()))}),Wr=B([d({kind:y("Input"),index:S(j(),M()),value:Be(),type:R(y("object"))}),d({kind:y("Input"),index:S(j(),M()),value:Be(),type:y("pure")})]),Xi=B([d({Epoch:S(j(),M())}),d({None:v(y(!0))})]),Rn=S(B([j(),b(),gn()]),ot(n=>{if(!["string","number","bigint"].includes(typeof n))return!1;try{return BigInt(n),!0}catch{return!1}})),yn=B([d({bool:v(y(!0))}),d({u8:v(y(!0))}),d({u64:v(y(!0))}),d({u128:v(y(!0))}),d({address:v(y(!0))}),d({signer:v(y(!0))}),d({vector:rt(()=>yn)}),d({struct:rt(()=>Qi)}),d({u16:v(y(!0))}),d({u32:v(y(!0))}),d({u256:v(y(!0))})]),Qi=d({address:b(),module:b(),name:b(),typeParams:g(yn)}),ea=d({budget:R(Rn),price:R(Rn),payment:R(g(Ht)),owner:R(b())}),ta=[Wr,d({kind:y("GasCoin")}),d({kind:y("Result"),index:S(j(),M())}),d({kind:y("NestedResult"),index:S(j(),M()),resultIndex:S(j(),M())})],ve=B([...ta]),na=d({kind:y("MoveCall"),target:S(b(),ot(n=>n.split("::").length===3)),typeArguments:g(b()),arguments:g(ve)}),ra=d({kind:y("TransferObjects"),objects:g(ve),address:ve}),sa=d({kind:y("SplitCoins"),coin:ve,amounts:g(ve)}),ia=d({kind:y("MergeCoins"),destination:ve,sources:g(ve)}),aa=d({kind:y("MakeMoveVec"),type:B([d({Some:yn}),d({None:v(y(!0))})]),objects:g(ve)}),oa=d({kind:y("Publish"),modules:g(g(S(j(),M()))),dependencies:g(b())}),ca=d({kind:y("Upgrade"),modules:g(g(S(j(),M()))),dependencies:g(b()),packageId:b(),ticket:ve}),ua=[na,ra,sa,ia,oa,ca,aa],la=B([...ua]);d({version:y(1),sender:R(b()),expiration:Le(Xi),gasConfig:ea,inputs:g(Wr),transactions:g(la)});function Bn(n){const e=n.inputs.map((t,r)=>{if(t.Object)return{kind:"Input",index:r,value:{Object:t.Object.ImmOrOwnedObject?{ImmOrOwned:t.Object.ImmOrOwnedObject}:t.Object.Receiving?{Receiving:{digest:t.Object.Receiving.digest,version:t.Object.Receiving.version,objectId:t.Object.Receiving.objectId}}:{Shared:{mutable:t.Object.SharedObject.mutable,initialSharedVersion:t.Object.SharedObject.initialSharedVersion,objectId:t.Object.SharedObject.objectId}}},type:"object"};if(t.Pure)return{kind:"Input",index:r,value:{Pure:Array.from(V(t.Pure.bytes))},type:"pure"};if(t.UnresolvedPure)return{kind:"Input",type:"pure",index:r,value:t.UnresolvedPure.value};if(t.UnresolvedObject)return{kind:"Input",type:"object",index:r,value:t.UnresolvedObject.objectId};throw new Error("Invalid input")});return{version:1,sender:n.sender??void 0,expiration:n.expiration?.$kind==="Epoch"?{Epoch:Number(n.expiration.Epoch)}:n.expiration?{None:!0}:null,gasConfig:{owner:n.gasData.owner??void 0,budget:n.gasData.budget??void 0,price:n.gasData.price??void 0,payment:n.gasData.payment??void 0},inputs:e,transactions:n.commands.map(t=>{if(t.MakeMoveVec)return{kind:"MakeMoveVec",type:t.MakeMoveVec.type===null?{None:!0}:{Some:re.parseFromStr(t.MakeMoveVec.type)},objects:t.MakeMoveVec.elements.map(r=>fe(r,e))};if(t.MergeCoins)return{kind:"MergeCoins",destination:fe(t.MergeCoins.destination,e),sources:t.MergeCoins.sources.map(r=>fe(r,e))};if(t.MoveCall)return{kind:"MoveCall",target:`${t.MoveCall.package}::${t.MoveCall.module}::${t.MoveCall.function}`,typeArguments:t.MoveCall.typeArguments,arguments:t.MoveCall.arguments.map(r=>fe(r,e))};if(t.Publish)return{kind:"Publish",modules:t.Publish.modules.map(r=>Array.from(V(r))),dependencies:t.Publish.dependencies};if(t.SplitCoins)return{kind:"SplitCoins",coin:fe(t.SplitCoins.coin,e),amounts:t.SplitCoins.amounts.map(r=>fe(r,e))};if(t.TransferObjects)return{kind:"TransferObjects",objects:t.TransferObjects.objects.map(r=>fe(r,e)),address:fe(t.TransferObjects.address,e)};if(t.Upgrade)return{kind:"Upgrade",modules:t.Upgrade.modules.map(r=>Array.from(V(r))),dependencies:t.Upgrade.dependencies,packageId:t.Upgrade.package,ticket:fe(t.Upgrade.ticket,e)};throw new Error(`Unknown transaction ${Object.keys(t)}`)})}}function fe(n,e){if(n.$kind==="GasCoin")return{kind:"GasCoin"};if(n.$kind==="Result")return{kind:"Result",index:n.Result};if(n.$kind==="NestedResult")return{kind:"NestedResult",index:n.NestedResult[0],resultIndex:n.NestedResult[1]};if(n.$kind==="Input")return e[n.Input];throw new Error(`Invalid argument ${Object.keys(n)}`)}function da(n){return C(ft,{version:2,sender:n.sender??null,expiration:n.expiration?"Epoch"in n.expiration?{Epoch:n.expiration.Epoch}:{None:!0}:null,gasData:{owner:n.gasConfig.owner??null,budget:n.gasConfig.budget?.toString()??null,price:n.gasConfig.price?.toString()??null,payment:n.gasConfig.payment?.map(e=>({digest:e.digest,objectId:e.objectId,version:e.version.toString()}))??null},inputs:n.inputs.map(e=>{if(e.kind==="Input"){if(Gt(An,e.value)){const t=C(An,e.value);if(t.Object){if(t.Object.ImmOrOwned)return{Object:{ImmOrOwnedObject:{objectId:t.Object.ImmOrOwned.objectId,version:String(t.Object.ImmOrOwned.version),digest:t.Object.ImmOrOwned.digest}}};if(t.Object.Shared)return{Object:{SharedObject:{mutable:t.Object.Shared.mutable??null,initialSharedVersion:t.Object.Shared.initialSharedVersion,objectId:t.Object.Shared.objectId}}};if(t.Object.Receiving)return{Object:{Receiving:{digest:t.Object.Receiving.digest,version:String(t.Object.Receiving.version),objectId:t.Object.Receiving.objectId}}};throw new Error("Invalid object input")}return{Pure:{bytes:P(new Uint8Array(t.Pure))}}}return e.type==="object"?{UnresolvedObject:{objectId:e.value}}:{UnresolvedPure:{value:e.value}}}throw new Error("Invalid input")}),commands:n.transactions.map(e=>{switch(e.kind){case"MakeMoveVec":return{MakeMoveVec:{type:"Some"in e.type?re.tagToString(e.type.Some):null,elements:e.objects.map(t=>ge(t))}};case"MergeCoins":return{MergeCoins:{destination:ge(e.destination),sources:e.sources.map(t=>ge(t))}};case"MoveCall":{const[t,r,s]=e.target.split("::");return{MoveCall:{package:t,module:r,function:s,typeArguments:e.typeArguments,arguments:e.arguments.map(i=>ge(i))}}}case"Publish":return{Publish:{modules:e.modules.map(t=>P(Uint8Array.from(t))),dependencies:e.dependencies}};case"SplitCoins":return{SplitCoins:{coin:ge(e.coin),amounts:e.amounts.map(t=>ge(t))}};case"TransferObjects":return{TransferObjects:{objects:e.objects.map(t=>ge(t)),address:ge(e.address)}};case"Upgrade":return{Upgrade:{modules:e.modules.map(t=>P(Uint8Array.from(t))),dependencies:e.dependencies,package:e.packageId,ticket:ge(e.ticket)}}}throw new Error(`Unknown transaction ${Object.keys(e)}`)})})}function ge(n){switch(n.kind){case"GasCoin":return{GasCoin:!0};case"Result":return{Result:n.index};case"NestedResult":return{NestedResult:[n.index,n.resultIndex]};case"Input":return{Input:n.index}}}function ct(n){return B(Object.entries(n).map(([e,t])=>d({[e]:t})))}const Q=ct({GasCoin:y(!0),Input:S(j(),M()),Result:S(j(),M()),NestedResult:mn([S(j(),M()),S(j(),M())])}),ha=d({budget:v(L),price:v(L),owner:v(Ke),payment:v(g(je))}),pa=d({package:G,module:b(),function:b(),typeArguments:g(b()),arguments:g(Q)}),fa=d({name:b(),inputs:st(b(),B([Q,g(Q)])),data:st(b(),Be())}),ga=ct({MoveCall:pa,TransferObjects:d({objects:g(Q),address:Q}),SplitCoins:d({coin:Q,amounts:g(Q)}),MergeCoins:d({destination:Q,sources:g(Q)}),Publish:d({modules:g(Ue),dependencies:g(G)}),MakeMoveVec:d({type:v(b()),elements:g(Q)}),Upgrade:d({modules:g(Ue),dependencies:g(G),package:G,ticket:Q}),$Intent:fa}),ma=ct({ImmOrOwnedObject:je,SharedObject:d({objectId:G,initialSharedVersion:L,mutable:Mt()}),Receiving:je}),ya=ct({Object:ma,Pure:d({bytes:Ue}),UnresolvedPure:d({value:Be()}),UnresolvedObject:d({objectId:G,version:R(v(L)),digest:R(v(b())),initialSharedVersion:R(v(L))})}),wa=ct({None:y(!0),Epoch:L}),ba=d({version:y(2),sender:Le(Ke),expiration:Le(wa),gasData:ha,inputs:g(ya),commands:g(ga),digest:R(v(b()))});function va(n){return{$kind:"Pure",Pure:{bytes:n instanceof Uint8Array?P(n):n.toBase64()}}}const be={Pure:va,ObjectRef({objectId:n,digest:e,version:t}){return{$kind:"Object",Object:{$kind:"ImmOrOwnedObject",ImmOrOwnedObject:{digest:e,version:t,objectId:k(n)}}}},SharedObjectRef({objectId:n,mutable:e,initialSharedVersion:t}){return{$kind:"Object",Object:{$kind:"SharedObject",SharedObject:{mutable:e,initialSharedVersion:t,objectId:k(n)}}}},ReceivingRef({objectId:n,digest:e,version:t}){return{$kind:"Object",Object:{$kind:"Receiving",Receiving:{digest:e,version:t,objectId:k(n)}}}}},ka="object",Sa="ID",Oa="ascii",Ea="String",Ta="string",Ia="String",ja="option",Ca="Option";function Ma(n){const e=typeof n.body=="object"&&"datatype"in n.body?n.body.datatype:null;return!!e&&k(e.package)===k("0x2")&&e.module==="tx_context"&&e.type==="TxContext"}function Jt(n){if(typeof n=="string")switch(n){case"address":return m.Address;case"bool":return m.Bool;case"u8":return m.U8;case"u16":return m.U16;case"u32":return m.U32;case"u64":return m.U64;case"u128":return m.U128;case"u256":return m.U256;default:throw new Error(`Unknown type signature ${n}`)}if("vector"in n){if(n.vector==="u8")return m.vector(m.U8).transform({input:t=>typeof t=="string"?new TextEncoder().encode(t):t,output:t=>t});const e=Jt(n.vector);return e?m.vector(e):null}if("datatype"in n){const e=k(n.datatype.package);if(e===k(ei)){if(n.datatype.module===Oa&&n.datatype.type===Ea||n.datatype.module===Ta&&n.datatype.type===Ia)return m.String;if(n.datatype.module===ja&&n.datatype.type===Ca){const t=Jt(n.datatype.typeParameters[0]);return t?m.vector(t):null}}if(e===k(nr)&&n.datatype.module===ka&&n.datatype.type===Sa)return m.Address}return null}function _a(n){return typeof n=="object"&&"Reference"in n?{ref:"&",body:Qe(n.Reference)}:typeof n=="object"&&"MutableReference"in n?{ref:"&mut",body:Qe(n.MutableReference)}:{ref:null,body:Qe(n)}}function Qe(n){if(typeof n=="string")switch(n){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 ${n}`)}if("Vector"in n)return{vector:Qe(n.Vector)};if("Struct"in n)return{datatype:{package:n.Struct.address,module:n.Struct.module,type:n.Struct.name,typeParameters:n.Struct.typeArguments.map(Qe)}};if("TypeParameter"in n)return{typeParameter:n.TypeParameter};throw new Error(`Unexpected type ${JSON.stringify(n)}`)}const Pa=50,$a=1000n,xa=5e10;function Lr(n){return async function(t,r,s){return await Da(t,n),await Ua(t,n),r.onlyTransactionKind||(await Aa(t,n),await Ra(t,n),await Ba(t,n)),await s()}}async function Aa(n,e){n.gasConfig.price||(n.gasConfig.price=String(await e.getReferenceGasPrice()))}async function Ra(n,e){if(n.gasConfig.budget)return;const t=await e.dryRunTransactionBlock({transactionBlock:n.build({overrides:{gasData:{budget:String(xa),payment:[]}}})});if(t.effects.status.status!=="success")throw new Error(`Dry run failed, could not automatically determine a budget: ${t.effects.status.error}`,{cause:t});const r=$a*BigInt(n.gasConfig.price||1n),s=BigInt(t.effects.gasUsed.computationCost)+r,i=s+BigInt(t.effects.gasUsed.storageCost)-BigInt(t.effects.gasUsed.storageRebate);n.gasConfig.budget=String(i>s?i:s)}async function Ba(n,e){if(!n.gasConfig.payment){const r=(await e.getCoins({owner:n.gasConfig.owner||n.sender,coinType:ti})).data.filter(s=>!n.inputs.find(o=>o.Object?.ImmOrOwnedObject?s.coinObjectId===o.Object.ImmOrOwnedObject.objectId:!1)).map(s=>({objectId:s.coinObjectId,digest:s.digest,version:s.version}));if(!r.length)throw new Error("No valid gas coins found for the transaction.");n.gasConfig.payment=r.map(s=>C(je,s))}}async function Ua(n,e){const t=n.inputs.filter(h=>h.UnresolvedObject&&!(h.UnresolvedObject.version||h.UnresolvedObject?.initialSharedVersion)),r=[...new Set(t.map(h=>de(h.UnresolvedObject.objectId)))],s=r.length?jt(r,Pa):[],i=(await Promise.all(s.map(h=>e.multiGetObjects({ids:h,options:{showOwner:!0}})))).flat(),o=new Map(r.map((h,w)=>[h,i[w]])),c=Array.from(o).filter(([h,w])=>w.error).map(([h,w])=>JSON.stringify(w.error));if(c.length)throw new Error(`The following input objects are invalid: ${c.join(", ")}`);const u=i.map(h=>{if(h.error||!h.data)throw new Error(`Failed to fetch object: ${h.error}`);const w=h.data.owner,A=w&&typeof w=="object"?"Shared"in w?w.Shared.initial_shared_version:"ConsensusAddressOwner"in w?w.ConsensusAddressOwner.start_version:null:null;return{objectId:h.data.objectId,digest:h.data.digest,version:h.data.version,initialSharedVersion:A}}),f=new Map(r.map((h,w)=>[h,u[w]]));for(const[h,w]of n.inputs.entries()){if(!w.UnresolvedObject)continue;let A;const ae=k(w.UnresolvedObject.objectId),z=f.get(ae);w.UnresolvedObject.initialSharedVersion??z?.initialSharedVersion?A=be.SharedObjectRef({objectId:ae,initialSharedVersion:w.UnresolvedObject.initialSharedVersion||z?.initialSharedVersion,mutable:Na(n,h)}):Va(n,h)&&(A=be.ReceivingRef({objectId:ae,digest:w.UnresolvedObject.digest??z?.digest,version:w.UnresolvedObject.version??z?.version})),n.inputs[n.inputs.indexOf(w)]=A??be.ObjectRef({objectId:ae,digest:w.UnresolvedObject.digest??z?.digest,version:w.UnresolvedObject.version??z?.version})}}async function Da(n,e){const{inputs:t,commands:r}=n,s=[],i=new Set;r.forEach(c=>{if(c.MoveCall){if(c.MoveCall._argumentTypes)return;if(c.MoveCall.arguments.map(h=>h.$kind==="Input"?n.inputs[h.Input]:null).some(h=>h?.UnresolvedPure||h?.UnresolvedObject)){const h=`${c.MoveCall.package}::${c.MoveCall.module}::${c.MoveCall.function}`;i.add(h),s.push(c.MoveCall)}}});const o=new Map;i.size>0&&await Promise.all([...i].map(async c=>{const[u,f,h]=c.split("::"),w=await e.getNormalizedMoveFunction({package:u,module:f,function:h});o.set(c,w.parameters.map(A=>_a(A)))})),s.length&&await Promise.all(s.map(async c=>{const u=o.get(`${c.package}::${c.module}::${c.function}`);if(!u)return;const h=u.length>0&&Ma(u.at(-1))?u.slice(0,u.length-1):u;c._argumentTypes=h})),r.forEach(c=>{if(!c.MoveCall)return;const u=c.MoveCall,f=`${u.package}::${u.module}::${u.function}`,h=u._argumentTypes;if(h){if(h.length!==c.MoveCall.arguments.length)throw new Error(`Incorrect number of arguments for ${f}`);h.forEach((w,A)=>{const ae=u.arguments[A];if(ae.$kind!=="Input")return;const z=t[ae.Input];if(!z.UnresolvedPure&&!z.UnresolvedObject)return;const ut=z.UnresolvedPure?.value??z.UnresolvedObject?.objectId,En=Jt(w.body);if(En){ae.type="pure",t[t.indexOf(z)]=be.Pure(En.serialize(ut));return}if(typeof ut!="string")throw new Error(`Expect the argument to be an object id string, got ${JSON.stringify(ut,null,2)}`);ae.type="object";const fs=z.UnresolvedPure?{$kind:"UnresolvedObject",UnresolvedObject:{objectId:ut}}:z;t[ae.Input]=fs})}})}function Na(n,e){let t=!1;return n.getInputUses(e,(r,s)=>{if(s.MoveCall&&s.MoveCall._argumentTypes){const i=s.MoveCall.arguments.indexOf(r);t=s.MoveCall._argumentTypes[i].ref!=="&"||t}(s.$kind==="MakeMoveVec"||s.$kind==="MergeCoins"||s.$kind==="SplitCoins"||s.$kind==="TransferObjects")&&(t=!0)}),t}function Va(n,e){let t=!1;return n.getInputUses(e,(r,s)=>{if(s.MoveCall&&s.MoveCall._argumentTypes){const i=s.MoveCall.arguments.indexOf(r);t=za(s.MoveCall._argumentTypes[i])||t}}),t}function za(n){return typeof n.body!="object"||!("datatype"in n.body)?!1:n.body.datatype.package==="0x2"&&n.body.datatype.module==="transfer"&&n.body.datatype.type==="Receiving"}function Kr(n,e){return!!(n.inputs.some(t=>t.UnresolvedObject||t.UnresolvedPure)||!e.onlyTransactionKind&&(!n.gasConfig.price||!n.gasConfig.budget||!n.gasConfig.payment))}async function Fa(n,e,t){if(La(n),!Kr(n,e))return await Un(n),t();const r=Wa(e);return(r.core?.resolveTransactionPlugin()??Lr(r))(n,e,async()=>{await Un(n),await t()})}function Un(n){n.inputs.forEach((e,t)=>{if(e.$kind!=="Object"&&e.$kind!=="Pure")throw new Error(`Input at index ${t} has not been resolved. Expected a Pure or Object input, but found ${JSON.stringify(e)}`)})}function Wa(n){if(!n.client)throw new Error("No sui client passed to Transaction#build, but transaction data was not sufficient to build offline.");return n.client}function La(n){for(const e of n.commands)switch(e.$kind){case"SplitCoins":e.SplitCoins.amounts.forEach(t=>{Dn(t,m.U64,n)});break;case"TransferObjects":Dn(e.TransferObjects.address,m.Address,n);break}}function Dn(n,e,t){if(n.$kind!=="Input")return;const r=t.inputs[n.Input];r.$kind==="UnresolvedPure"&&(t.inputs[n.Input]=be.Pure(e.serialize(r.UnresolvedPure.value)))}function Ka(n){function e(t){return n(t)}return e.system=()=>e("0x5"),e.clock=()=>e("0x6"),e.random=()=>e("0x8"),e.denyList=()=>e("0x403"),e.option=({type:t,value:r})=>s=>s.moveCall({typeArguments:[t],target:`0x1::option::${r===null?"none":"some"}`,arguments:r===null?[]:[s.object(r)]}),e}function Ga(n){function e(t,r){if(typeof t=="string")return n(Ze(t).serialize(r));if(t instanceof Uint8Array||cn(t))return n(t);throw new Error("tx.pure must be called either a bcs type name, or a serialized bcs value")}return e.u8=t=>n(m.U8.serialize(t)),e.u16=t=>n(m.U16.serialize(t)),e.u32=t=>n(m.U32.serialize(t)),e.u64=t=>n(m.U64.serialize(t)),e.u128=t=>n(m.U128.serialize(t)),e.u256=t=>n(m.U256.serialize(t)),e.bool=t=>n(m.Bool.serialize(t)),e.string=t=>n(m.String.serialize(t)),e.address=t=>n(m.Address.serialize(t)),e.id=e.address,e.vector=(t,r)=>n(m.vector(Ze(t)).serialize(r)),e.option=(t,r)=>n(m.option(Ze(t)).serialize(r)),e}function qa(n,e){const t=Array.from(`${n}::`).map(s=>s.charCodeAt(0)),r=new Uint8Array(t.length+e.length);return r.set(t),r.set(e,t.length),tt(r,{dkLen:32})}function Nn(n){return k(n).replace("0x","")}class F{constructor(e){this.version=2,this.sender=e?.sender??null,this.expiration=e?.expiration??null,this.inputs=e?.inputs??[],this.commands=e?.commands??[],this.gasData=e?.gasData??{budget:null,price:null,owner:null,payment:null}}static fromKindBytes(e){const r=m.TransactionKind.parse(e).ProgrammableTransaction;if(!r)throw new Error("Unable to deserialize from bytes.");return F.restore({version:2,sender:null,expiration:null,gasData:{budget:null,owner:null,payment:null,price:null},inputs:r.inputs,commands:r.commands})}static fromBytes(e){const r=m.TransactionData.parse(e)?.V1,s=r.kind.ProgrammableTransaction;if(!r||!s)throw new Error("Unable to deserialize from bytes.");return F.restore({version:2,sender:r.sender,expiration:r.expiration,gasData:r.gasData,inputs:s.inputs,commands:s.commands})}static restore(e){return e.version===2?new F(C(ft,e)):new F(C(ft,da(e)))}static getDigestFromBytes(e){const t=qa("TransactionData",e);return an(t)}get gasConfig(){return this.gasData}set gasConfig(e){this.gasData=e}build({maxSizeBytes:e=1/0,overrides:t,onlyTransactionKind:r}={}){const s=this.inputs,i=this.commands,o={ProgrammableTransaction:{inputs:s,commands:i}};if(r)return m.TransactionKind.serialize(o,{maxSize:e}).toBytes();const c=t?.expiration??this.expiration,u=t?.sender??this.sender,f={...this.gasData,...t?.gasConfig,...t?.gasData};if(!u)throw new Error("Missing transaction sender");if(!f.budget)throw new Error("Missing gas budget");if(!f.payment)throw new Error("Missing gas payment");if(!f.price)throw new Error("Missing gas price");const h={sender:Nn(u),expiration:c||{None:!0},gasData:{payment:f.payment,owner:Nn(this.gasData.owner??u),price:BigInt(f.price),budget:BigInt(f.budget)},kind:{ProgrammableTransaction:{inputs:s,commands:i}}};return m.TransactionData.serialize({V1:h},{maxSize:e}).toBytes()}addInput(e,t){const r=this.inputs.length;return this.inputs.push(t),{Input:r,type:e,$kind:"Input"}}getInputUses(e,t){this.mapArguments((r,s)=>(r.$kind==="Input"&&r.Input===e&&t(r,s),r))}mapCommandArguments(e,t){const r=this.commands[e];switch(r.$kind){case"MoveCall":r.MoveCall.arguments=r.MoveCall.arguments.map(i=>t(i,r,e));break;case"TransferObjects":r.TransferObjects.objects=r.TransferObjects.objects.map(i=>t(i,r,e)),r.TransferObjects.address=t(r.TransferObjects.address,r,e);break;case"SplitCoins":r.SplitCoins.coin=t(r.SplitCoins.coin,r,e),r.SplitCoins.amounts=r.SplitCoins.amounts.map(i=>t(i,r,e));break;case"MergeCoins":r.MergeCoins.destination=t(r.MergeCoins.destination,r,e),r.MergeCoins.sources=r.MergeCoins.sources.map(i=>t(i,r,e));break;case"MakeMoveVec":r.MakeMoveVec.elements=r.MakeMoveVec.elements.map(i=>t(i,r,e));break;case"Upgrade":r.Upgrade.ticket=t(r.Upgrade.ticket,r,e);break;case"$Intent":const s=r.$Intent.inputs;r.$Intent.inputs={};for(const[i,o]of Object.entries(s))r.$Intent.inputs[i]=Array.isArray(o)?o.map(c=>t(c,r,e)):t(o,r,e);break;case"Publish":break;default:throw new Error(`Unexpected transaction kind: ${r.$kind}`)}}mapArguments(e){for(const t of this.commands.keys())this.mapCommandArguments(t,e)}replaceCommand(e,t,r=e){if(!Array.isArray(t)){this.commands[e]=t;return}const s=t.length-1;this.commands.splice(e,1,...t),s!==0&&this.mapArguments((i,o,c)=>{if(c<e+t.length)return i;switch(i.$kind){case"Result":i.Result===e&&(i.Result=r),i.Result>e&&(i.Result+=s);break;case"NestedResult":i.NestedResult[0]===e&&(i.NestedResult[0]=r),i.NestedResult[0]>e&&(i.NestedResult[0]+=s);break}return i})}getDigest(){const e=this.build({onlyTransactionKind:!1});return F.getDigestFromBytes(e)}snapshot(){return C(ft,this)}shallowClone(){return new F({version:this.version,sender:this.sender,expiration:this.expiration,gasData:{...this.gasData},inputs:[...this.inputs],commands:[...this.commands]})}}function Vn(n){if(typeof n=="string")return k(n);if(n.Object)return n.Object.ImmOrOwnedObject?k(n.Object.ImmOrOwnedObject.objectId):n.Object.Receiving?k(n.Object.Receiving.objectId):k(n.Object.SharedObject.objectId);if(n.UnresolvedObject)return k(n.UnresolvedObject.objectId)}var Gr=n=>{throw TypeError(n)},wn=(n,e,t)=>e.has(n)||Gr("Cannot "+t),x=(n,e,t)=>(wn(n,e,"read from private field"),t?t.call(n):e.get(n)),Ge=(n,e,t)=>e.has(n)?Gr("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(n):e.set(n,t),ht=(n,e,t,r)=>(wn(n,e,"write to private field"),e.set(n,t),t),_t=(n,e,t)=>(wn(n,e,"access private method"),t),it,ke,at,Ee,le,Zt,Yt,qr,Hr,bn;const Ha="/",Ja={"Mvr-Source":`@mysten/sui@${jr}`};class Za{constructor({cache:e,url:t,pageSize:r=50,overrides:s}){Ge(this,le),Ge(this,it),Ge(this,ke),Ge(this,at),Ge(this,Ee),ht(this,it,e),ht(this,ke,t),ht(this,at,r),ht(this,Ee,{packages:s?.packages,types:s?.types}),Ya(x(this,Ee))}async resolvePackage({package:e}){return{package:await x(this,le,Zt).load(e)}}async resolveType({type:e}){const t=[...Xt(e)],r=await x(this,le,Yt).loadMany(t),s={};for(let i=0;i<t.length;i++){const o=r[i];if(o instanceof Error)throw o;s[t[i]]=o}return{type:Qt(e,s)}}async resolve({types:e=[],packages:t=[]}){const r=new Set;for(const h of e??[])Xt(h,r);const s=[...r],[i,o]=await Promise.all([s.length>0?x(this,le,Yt).loadMany(s):[],t.length>0?x(this,le,Zt).loadMany(t):[]]),c={...x(this,Ee)?.types};for(const[h,w]of s.entries()){const A=i[h];if(A instanceof Error)throw A;c[w]=A}const u={};for(const h of e??[]){const w=Qt(h,c);u[h]={type:w}}const f={};for(const[h,w]of(t??[]).entries()){const A=x(this,Ee)?.packages?.[w]??o[h];if(A instanceof Error)throw A;f[w]={package:A}}return{types:u,packages:f}}}it=new WeakMap;ke=new WeakMap;at=new WeakMap;Ee=new WeakMap;le=new WeakSet;Zt=function(){return x(this,it).readSync(["#mvrPackageDataLoader",x(this,ke)??""],()=>{const n=new Zn(async t=>{if(!x(this,ke))throw new Error(`MVR Api URL is not set for the current client (resolving ${t.join(", ")})`);const r=await _t(this,le,qr).call(this,t);return t.map(s=>r[s]??new Error(`Failed to resolve package: ${s}`))}),e=x(this,Ee)?.packages;if(e)for(const[t,r]of Object.entries(e))n.prime(t,r);return n})};Yt=function(){return x(this,it).readSync(["#mvrTypeDataLoader",x(this,ke)??""],()=>{const n=new Zn(async t=>{if(!x(this,ke))throw new Error(`MVR Api URL is not set for the current client (resolving ${t.join(", ")})`);const r=await _t(this,le,Hr).call(this,t);return t.map(s=>r[s]??new Error(`Failed to resolve type: ${s}`))}),e=x(this,Ee)?.types;if(e)for(const[t,r]of Object.entries(e))n.prime(t,r);return n})};qr=async function(n){if(n.length===0)return{};const e=jt(n,x(this,at)),t={};return await Promise.all(e.map(async r=>{const s=await _t(this,le,bn).call(this,"/v1/resolution/bulk",{names:r});if(s?.resolution)for(const i of Object.keys(s?.resolution)){const o=s.resolution[i]?.package_id;o&&(t[i]=o)}})),t};Hr=async function(n){if(n.length===0)return{};const e=jt(n,x(this,at)),t={};return await Promise.all(e.map(async r=>{const s=await _t(this,le,bn).call(this,"/v1/struct-definition/bulk",{types:r});if(s?.resolution)for(const i of Object.keys(s?.resolution)){const o=s.resolution[i]?.type_tag;o&&(t[i]=o)}})),t};bn=async function(n,e){if(!x(this,ke))throw new Error("MVR Api URL is not set for the current client");const t=await fetch(`${x(this,ke)}${n}`,{method:"POST",headers:{"Content-Type":"application/json",...Ja},body:JSON.stringify(e)});if(!t.ok){const r=await t.json().catch(()=>({}));throw new Error(`Failed to resolve types: ${r?.message}`)}return t.json()};function Ya(n){if(n?.packages)for(const[e,t]of Object.entries(n.packages)){if(!X(e))throw new Error(`Invalid package name: ${e}`);if(!ee(k(t)))throw new Error(`Invalid package ID: ${t}`)}if(n?.types)for(const[e,t]of Object.entries(n.types)){if(et(e).typeParams.length>0)throw new Error("Type overrides must be first-level only. If you want to supply generic types, just pass each type individually.");const r=et(t);if(!ee(r.address))throw new Error(`Invalid type: ${t}`)}}function Xt(n,e=new Set){if(typeof n=="string"&&!W(n))return e;const t=Jr(n)?n:et(n);W(t.address)&&e.add(`${t.address}::${t.module}::${t.name}`);for(const r of t.typeParams)Xt(r,e);return e}function Qt(n,e){const t=Jr(n)?n:et(n),r=`${t.address}::${t.module}::${t.name}`,s=e[r];return zt({...t,address:s?s.split("::")[0]:t.address,typeParams:t.typeParams.map(i=>Qt(i,e))})}function W(n){return n.includes(Ha)||n.includes("@")||n.includes(".sui")}function Jr(n){return typeof n=="object"&&"address"in n&&"module"in n&&"name"in n&&"typeParams"in n}function Xa(n){const e=new Set,t=new Set;for(const r of n.commands)switch(r.$kind){case"MakeMoveVec":r.MakeMoveVec.type&&zn([r.MakeMoveVec.type]).forEach(o=>{t.add(o)});break;case"MoveCall":const s=r.MoveCall,i=s.package.split("::")[0];if(W(i)){if(!X(i))throw new Error(`Invalid package name: ${i}`);e.add(i)}zn(s.typeArguments??[]).forEach(o=>{t.add(o)});break}return{packages:[...e],types:[...t]}}function Qa(n,e){for(const t of n.commands){if(t.MakeMoveVec?.type){if(!W(t.MakeMoveVec.type))continue;if(!e.types[t.MakeMoveVec.type])throw new Error(`No resolution found for type: ${t.MakeMoveVec.type}`);t.MakeMoveVec.type=e.types[t.MakeMoveVec.type].type}const r=t.MoveCall;if(!r)continue;const s=r.package.split("::"),i=s[0];if(W(i)&&!e.packages[i])throw new Error(`No address found for package: ${i}`);W(i)&&(s[0]=e.packages[i].package,r.package=s.join("::"));const o=r.typeArguments;if(o){for(let c=0;c<o.length;c++)if(W(o[c])){if(!e.types[o[c]])throw new Error(`No resolution found for type: ${o[c]}`);o[c]=e.types[o[c]].type}r.typeArguments=o}}}function zn(n){const e=new Set;for(const t of n)if(W(t)){if(!ys(t))throw new Error(`Invalid type with names: ${t}`);e.add(t)}return e}const eo=n=>async(e,t,r)=>{const s=Xa(e);if(s.types.length===0&&s.packages.length===0)return r();const i=await to(t).core.mvr.resolve({types:s.types,packages:s.packages});Qa(e,i),await r()};function to(n){if(!n.client)throw new Error("No sui client passed to Transaction#build, but transaction data was not sufficient to build offline.");return n.client}var Zr=n=>{throw TypeError(n)},vn=(n,e,t)=>e.has(n)||Zr("Cannot "+t),l=(n,e,t)=>(vn(n,e,"read from private field"),t?t.call(n):e.get(n)),oe=(n,e,t)=>e.has(n)?Zr("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(n):e.set(n,t),O=(n,e,t,r)=>(vn(n,e,"write to private field"),e.set(n,t),t),$=(n,e,t)=>(vn(n,e,"access private method"),t),Ae,Re,we,he,Z,Y,se,Te,p,_,Yr,gt,mt,yt,It,en,kn,Xr,Qr;function Nt(n,e=1/0){const t={$kind:"Result",get Result(){return typeof n=="function"?n():n}},r=[],s=i=>r[i]??(r[i]={$kind:"NestedResult",get NestedResult(){return[typeof n=="function"?n():n,i]}});return new Proxy(t,{set(){throw new Error("The transaction result is a proxy, and does not support setting properties directly")},get(i,o){if(o in i)return Reflect.get(i,o);if(o===Symbol.iterator)return function*(){let u=0;for(;u<e;)yield s(u),u++};if(typeof o=="symbol")return;const c=parseInt(o,10);if(!(Number.isNaN(c)||c<0))return s(c)}})}const es=Symbol.for("@mysten/transaction");function ts(n){return!!n&&typeof n=="object"&&n[es]===!0}const Fn={buildPlugins:new Map,serializationPlugins:new Map},Vt=Symbol.for("@mysten/transaction/registry");function qe(){try{const n=globalThis;return n[Vt]||(n[Vt]=Fn),n[Vt]}catch{return Fn}}const ns=class tn{constructor(){oe(this,_),oe(this,Ae),oe(this,Re),oe(this,we,new Map),oe(this,he,[]),oe(this,Z,[]),oe(this,Y,new Set),oe(this,se,new Set),oe(this,Te,new Map),oe(this,p),this.object=Ka(t=>{if(typeof t=="function")return this.object(this.add(t));if(typeof t=="object"&&Gt(I,t))return t;const r=Vn(t),s=l(this,p).inputs.find(i=>r===Vn(i));return s?.Object?.SharedObject&&typeof t=="object"&&t.Object?.SharedObject&&(s.Object.SharedObject.mutable=s.Object.SharedObject.mutable||t.Object.SharedObject.mutable),s?{$kind:"Input",Input:l(this,p).inputs.indexOf(s),type:"object"}:$(this,_,mt).call(this,"object",typeof t=="string"?{$kind:"UnresolvedObject",UnresolvedObject:{objectId:k(t)}}:t)});const e=qe();O(this,p,new F),O(this,Re,[...e.buildPlugins.values()]),O(this,Ae,[...e.serializationPlugins.values()])}static fromKind(e){const t=new tn;return O(t,p,F.fromKindBytes(typeof e=="string"?V(e):e)),O(t,he,l(t,p).inputs.slice()),O(t,Z,l(t,p).commands.slice()),O(t,Y,new Set(l(t,Z).map((r,s)=>s))),t}static from(e){const t=new tn;return ts(e)?O(t,p,new F(e.getData())):typeof e!="string"||!e.startsWith("{")?O(t,p,F.fromBytes(typeof e=="string"?V(e):e)):O(t,p,F.restore(JSON.parse(e))),O(t,he,l(t,p).inputs.slice()),O(t,Z,l(t,p).commands.slice()),O(t,Y,new Set(l(t,Z).map((r,s)=>s))),t}static registerGlobalSerializationPlugin(e,t){qe().serializationPlugins.set(e,t??e)}static unregisterGlobalSerializationPlugin(e){qe().serializationPlugins.delete(e)}static registerGlobalBuildPlugin(e,t){qe().buildPlugins.set(e,t??e)}static unregisterGlobalBuildPlugin(e){qe().buildPlugins.delete(e)}addSerializationPlugin(e){l(this,Ae).push(e)}addBuildPlugin(e){l(this,Re).push(e)}addIntentResolver(e,t){if(l(this,we).has(e)&&l(this,we).get(e)!==t)throw new Error(`Intent resolver for ${e} already exists`);l(this,we).set(e,t)}setSender(e){l(this,p).sender=e}setSenderIfNotSet(e){l(this,p).sender||(l(this,p).sender=e)}setExpiration(e){l(this,p).expiration=e?C(Fr,e):null}setGasPrice(e){l(this,p).gasConfig.price=String(e)}setGasBudget(e){l(this,p).gasConfig.budget=String(e)}setGasBudgetIfNotSet(e){l(this,p).gasData.budget==null&&(l(this,p).gasConfig.budget=String(e))}setGasOwner(e){l(this,p).gasConfig.owner=e}setGasPayment(e){l(this,p).gasConfig.payment=e.map(t=>C(je,t))}get blockData(){return Bn(l(this,p).snapshot())}getData(){return l(this,p).snapshot()}get[es](){return!0}get pure(){return Object.defineProperty(this,"pure",{enumerable:!1,value:Ga(e=>cn(e)?$(this,_,mt).call(this,"pure",{$kind:"Pure",Pure:{bytes:e.toBase64()}}):$(this,_,mt).call(this,"pure",Gt(xn,e)?C(xn,e):e instanceof Uint8Array?be.Pure(e):{$kind:"UnresolvedPure",UnresolvedPure:{value:e}}))}),this.pure}get gas(){return{$kind:"GasCoin",GasCoin:!0}}objectRef(...e){return this.object(be.ObjectRef(...e))}receivingRef(...e){return this.object(be.ReceivingRef(...e))}sharedObjectRef(...e){return this.object(be.SharedObjectRef(...e))}add(e){if(typeof e=="function"){if(l(this,Te).has(e))return l(this,Te).get(e);const t=$(this,_,Yr).call(this),r=e(t);if(!(r&&typeof r=="object"&&"then"in r))return O(this,Y,l(t,Y)),l(this,Te).set(e,r),r;const s=$(this,_,gt).call(this,{$kind:"$Intent",$Intent:{name:"AsyncTransactionThunk",inputs:{},data:{resultIndex:l(this,p).commands.length,result:null}}});l(this,se).add(Promise.resolve(r).then(o=>{s.$Intent.data.result=o}));const i=Nt(()=>s.$Intent.data.resultIndex);return l(this,Te).set(e,i),i}else $(this,_,gt).call(this,e);return Nt(l(this,p).commands.length-1)}splitCoins(e,t){const r=Me.SplitCoins(typeof e=="string"?this.object(e):$(this,_,It).call(this,e),t.map(s=>typeof s=="number"||typeof s=="bigint"||typeof s=="string"?this.pure.u64(s):$(this,_,yt).call(this,s)));return $(this,_,gt).call(this,r),Nt(l(this,p).commands.length-1,t.length)}mergeCoins(e,t){return this.add(Me.MergeCoins(this.object(e),t.map(r=>this.object(r))))}publish({modules:e,dependencies:t}){return this.add(Me.Publish({modules:e,dependencies:t}))}upgrade({modules:e,dependencies:t,package:r,ticket:s}){return this.add(Me.Upgrade({modules:e,dependencies:t,package:r,ticket:this.object(s)}))}moveCall({arguments:e,...t}){return this.add(Me.MoveCall({...t,arguments:e?.map(r=>$(this,_,yt).call(this,r))}))}transferObjects(e,t){return this.add(Me.TransferObjects(e.map(r=>this.object(r)),typeof t=="string"?this.pure.address(t):$(this,_,yt).call(this,t)))}makeMoveVec({type:e,elements:t}){return this.add(Me.MakeMoveVec({type:e,elements:t.map(r=>this.object(r))}))}serialize(){return JSON.stringify(Bn(l(this,p).snapshot()))}async toJSON(e={}){await this.prepareForSerialization(e);const t=this.isFullyResolved();return JSON.stringify(C(ba,t?{...l(this,p).snapshot(),digest:l(this,p).getDigest()}:l(this,p).snapshot()),(r,s)=>typeof s=="bigint"?s.toString():s,2)}async sign(e){const{signer:t,...r}=e,s=await this.build(r);return t.signTransaction(s)}isFullyResolved(){return!(!l(this,p).sender||l(this,se).size>0||l(this,p).commands.some(e=>e.$Intent)||Kr(l(this,p),{}))}async build(e={}){return await this.prepareForSerialization(e),await $(this,_,en).call(this,e),l(this,p).build({onlyTransactionKind:e.onlyTransactionKind})}async getDigest(e={}){return await this.prepareForSerialization(e),await $(this,_,en).call(this,e),l(this,p).getDigest()}async prepareForSerialization(e){await $(this,_,Xr).call(this),$(this,_,Qr).call(this);const t=new Set;for(const s of l(this,p).commands)s.$Intent&&t.add(s.$Intent.name);const r=[...l(this,Ae)];for(const s of t)if(!e.supportedIntents?.includes(s)){if(!l(this,we).has(s))throw new Error(`Missing intent resolver for ${s}`);r.push(l(this,we).get(s))}r.push(eo()),await $(this,_,kn).call(this,r,e)}};Ae=new WeakMap;Re=new WeakMap;we=new WeakMap;he=new WeakMap;Z=new WeakMap;Y=new WeakMap;se=new WeakMap;Te=new WeakMap;p=new WeakMap;_=new WeakSet;Yr=function(){const n=new ns;return O(n,p,l(this,p)),O(n,Ae,l(this,Ae)),O(n,Re,l(this,Re)),O(n,we,l(this,we)),O(n,se,l(this,se)),O(n,Y,new Set(l(this,Y))),O(n,Te,l(this,Te)),l(this,he).push(l(n,he)),l(this,Z).push(l(n,Z)),n};gt=function(n){const e=l(this,p).commands.length;return l(this,Z).push(n),l(this,Y).add(e),l(this,p).commands.push(n),l(this,p).mapCommandArguments(e,t=>{if(t.$kind==="Result"&&!l(this,Y).has(t.Result))throw new Error(`Result { Result: ${t.Result} } is not available to use the current transaction`);if(t.$kind==="NestedResult"&&!l(this,Y).has(t.NestedResult[0]))throw new Error(`Result { NestedResult: [${t.NestedResult[0]}, ${t.NestedResult[1]}] } is not available to use the current transaction`);if(t.$kind==="Input"&&t.Input>=l(this,p).inputs.length)throw new Error(`Input { Input: ${t.Input} } references an input that does not exist in the current transaction`);return t}),n};mt=function(n,e){return l(this,he).push(e),l(this,p).addInput(n,e)};yt=function(n){return cn(n)?this.pure(n):$(this,_,It).call(this,n)};It=function(n){if(typeof n=="function"){const e=this.add(n);return typeof e=="function"?$(this,_,It).call(this,e):C(I,e)}return C(I,n)};en=async function(n){if(!n.onlyTransactionKind&&!l(this,p).sender)throw new Error("Missing transaction sender");await $(this,_,kn).call(this,[...l(this,Re),Fa],n)};kn=async function(n,e){const t=r=>{if(r>=n.length)return()=>{};const s=n[r];return async()=>{const i=t(r+1);let o=!1,c=!1;if(await s(l(this,p),e,async()=>{if(o)throw new Error(`next() was call multiple times in TransactionPlugin ${r}`);o=!0,await i(),c=!0}),!o)throw new Error(`next() was not called in TransactionPlugin ${r}`);if(!c)throw new Error(`next() was not awaited in TransactionPlugin ${r}`)}};await t(0)(),O(this,he,l(this,p).inputs.slice()),O(this,Z,l(this,p).commands.slice())};Xr=async function(){for(;l(this,se).size>0;){const n=Promise.all(l(this,se));l(this,se).clear(),l(this,se).add(n),await n,l(this,se).delete(n)}};Qr=function(){const n=l(this,p).commands,e=l(this,p).inputs,t=l(this,Z).flat(1/0),r=l(this,he).flat(1/0);if(t.length!==n.length)throw new Error("Unexpected number of commands found in transaction data");if(r.length!==e.length)throw new Error("Unexpected number of inputs found in transaction data");const s=t.filter(o=>o.$Intent?.name!=="AsyncTransactionThunk");l(this,p).commands=s,l(this,p).inputs=r,O(this,Z,s),O(this,he,r),O(this,Y,new Set(s.map((o,c)=>c)));function i(o){const c=n[o];if(c.$Intent?.name==="AsyncTransactionThunk"){const f=c.$Intent.data.result;if(f==null)throw new Error("AsyncTransactionThunk has not been resolved");return i(f.Result)}const u=s.indexOf(c);if(u===-1)throw new Error("Unable to find original index for command");return u}l(this,p).mapArguments(o=>{if(o.$kind==="Input"){const c=r.indexOf(e[o.Input]);if(c===-1)throw new Error("Input has not been resolved");return{...o,Input:c}}else if(o.$kind==="Result"){const c=i(o.Result);return{...o,Result:c}}else if(o.$kind==="NestedResult"){const c=i(o.NestedResult[0]);return{...o,NestedResult:[c,o.NestedResult[1]]}}return o});for(const[o,c]of n.entries())if(c.$Intent?.name==="AsyncTransactionThunk")try{c.$Intent.data.resultIndex=i(o)}catch{}};let rs=ns;const no={mainnet:"https://mainnet.mvr.mystenlabs.com",testnet:"https://testnet.mvr.mystenlabs.com"};class ro extends Nr{constructor(e){super(e),this.core=this,this.mvr=new Za({cache:this.cache.scope("core.mvr"),url:e.mvr?.url??no[this.network],pageSize:e.mvr?.pageSize,overrides:e.mvr?.overrides})}async getObject(e){const{objectId:t}=e,{objects:[r]}=await this.getObjects({objectIds:[t],signal:e.signal});if(r instanceof Error)throw r;return{object:r}}async getDynamicField(e){const t=Oi(e.parentId,re.parseFromStr(e.name.type),e.name.bcs),{objects:[r]}=await this.getObjects({objectIds:[t],signal:e.signal});if(r instanceof Error)throw r;const s=et(r.type),i=await r.content;return{dynamicField:{id:r.id,digest:r.digest,version:r.version,type:r.type,name:{type:typeof s.typeParams[0]=="string"?s.typeParams[0]:zt(s.typeParams[0]),bcs:e.name.bcs},value:{type:typeof s.typeParams[1]=="string"?s.typeParams[1]:zt(s.typeParams[1]),bcs:i.slice(on+e.name.bcs.length)}}}}async waitForTransaction({signal:e,timeout:t=60*1e3,...r}){const s=e?AbortSignal.any([AbortSignal.timeout(t),e]):AbortSignal.timeout(t),i=new Promise((o,c)=>{s.addEventListener("abort",()=>c(s.reason))});for(i.catch(()=>{});;){s.throwIfAborted();try{return await this.getTransaction({...r,signal:s})}catch{await Promise.race([new Promise(c=>setTimeout(c,2e3)),i])}}}}class so extends Error{}class Ie extends so{constructor(e,t){super(t),this.code=e}static fromResponse(e,t){switch(e.code){case"notExists":return new Ie(e.code,`Object ${e.object_id} does not exist`);case"dynamicFieldNotFound":return new Ie(e.code,`Dynamic field not found for object ${e.parent_object_id}`);case"deleted":return new Ie(e.code,`Object ${e.object_id} has been deleted`);case"displayError":return new Ie(e.code,`Display error: ${e.error}`);case"unknown":default:return new Ie(e.code,`Unknown error while loading object${t?` ${t}`:""}`)}}}function io(n){return{...F.fromBytes(n).snapshot(),bcs:n}}function ao(n){const e=m.TransactionEffects.parse(n);switch(e.$kind){case"V1":return oo({effects:e.V1});case"V2":return co({bytes:n,effects:e.V2});default:throw new Error(`Unknown transaction effects version: ${e.$kind}`)}}function oo(n){throw new Error("V1 effects are not supported yet")}function co({bytes:n,effects:e}){const t=e.changedObjects.map(([r,s])=>({id:r,inputState:s.inputState.$kind==="Exist"?"Exists":"DoesNotExist",inputVersion:s.inputState.Exist?.[0][0]??null,inputDigest:s.inputState.Exist?.[0][1]??null,inputOwner:s.inputState.Exist?.[1]??null,outputState:s.outputState.$kind==="NotExist"?"DoesNotExist":s.outputState.$kind,outputVersion:s.outputState.$kind==="PackageWrite"?s.outputState.PackageWrite?.[0]:s.outputState.ObjectWrite?e.lamportVersion:null,outputDigest:s.outputState.$kind==="PackageWrite"?s.outputState.PackageWrite?.[1]:s.outputState.ObjectWrite?.[0]??null,outputOwner:s.outputState.ObjectWrite?s.outputState.ObjectWrite[1]:null,idOperation:s.idOperation.$kind}));return{bcs:n,digest:e.transactionDigest,version:2,status:e.status.$kind==="Success"?{success:!0,error:null}:{success:!1,error:e.status.Failed.error.$kind},gasUsed:e.gasUsed,transactionDigest:e.transactionDigest,gasObject:e.gasObjectIndex===null?null:t[e.gasObjectIndex]??null,eventsDigest:e.eventsDigest,dependencies:e.dependencies,lamportVersion:e.lamportVersion,changedObjects:t,unchangedSharedObjects:e.unchangedSharedObjects.map(([r,s])=>({kind:s.$kind==="MutateDeleted"?"MutateConsensusStreamEnded":s.$kind==="ReadDeleted"?"ReadConsensusStreamEnded":s.$kind,objectId:r,version:s.$kind==="ReadOnlyRoot"?s.ReadOnlyRoot[0]:s[s.$kind],digest:s.$kind==="ReadOnlyRoot"?s.ReadOnlyRoot[1]:null})),auxiliaryDataDigest:e.auxDataDigest}}var ss=n=>{throw TypeError(n)},is=(n,e,t)=>e.has(n)||ss("Cannot "+t),K=(n,e,t)=>(is(n,e,"read from private field"),t?t.call(n):e.get(n)),uo=(n,e,t)=>e.has(n)?ss("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(n):e.set(n,t),lo=(n,e,t,r)=>(is(n,e,"write to private field"),e.set(n,t),t),D;class ho extends ro{constructor({jsonRpcClient:e,mvr:t}){super({network:e.network,base:e,mvr:t}),uo(this,D),lo(this,D,e)}async getObjects(e){const t=jt(e.objectIds,50),r=[];for(const s of t){const i=await K(this,D).multiGetObjects({ids:s,options:{showOwner:!0,showType:!0,showBcs:!0},signal:e.signal});for(const[o,c]of i.entries())c.error?r.push(Ie.fromResponse(c.error,s[o])):r.push(Wn(c.data))}return{objects:r}}async getOwnedObjects(e){const t=await K(this,D).getOwnedObjects({owner:e.address,limit:e.limit,cursor:e.cursor,options:{showOwner:!0,showType:!0,showBcs:!0},filter:e.type?{StructType:e.type}:null,signal:e.signal});return{objects:t.data.map(r=>{if(r.error)throw Ie.fromResponse(r.error);return Wn(r.data)}),hasNextPage:t.hasNextPage,cursor:t.nextCursor??null}}async getCoins(e){const t=await K(this,D).getCoins({owner:e.address,coinType:e.coinType,limit:e.limit,cursor:e.cursor,signal:e.signal});return{objects:t.data.map(r=>({id:r.coinObjectId,version:r.version,digest:r.digest,balance:r.balance,type:`0x2::coin::Coin<${r.coinType}>`,content:Promise.resolve(go.serialize({id:r.coinObjectId,balance:{value:r.balance}}).toBytes()),owner:{$kind:"ObjectOwner",ObjectOwner:e.address}})),hasNextPage:t.hasNextPage,cursor:t.nextCursor??null}}async getBalance(e){const t=await K(this,D).getBalance({owner:e.address,coinType:e.coinType,signal:e.signal});return{balance:{coinType:t.coinType,balance:t.totalBalance}}}async getAllBalances(e){return{balances:(await K(this,D).getAllBalances({owner:e.address,signal:e.signal})).map(r=>({coinType:r.coinType,balance:r.totalBalance})),hasNextPage:!1,cursor:null}}async getTransaction(e){const t=await K(this,D).getTransactionBlock({digest:e.digest,options:{showRawInput:!0,showObjectChanges:!0,showRawEffects:!0,showEvents:!0,showEffects:!0},signal:e.signal});return{transaction:Ln(t)}}async executeTransaction(e){const t=await K(this,D).executeTransactionBlock({transactionBlock:e.transaction,signature:e.signatures,options:{showRawEffects:!0,showEvents:!0,showObjectChanges:!0,showRawInput:!0,showEffects:!0},signal:e.signal});return{transaction:Ln(t)}}async dryRunTransaction(e){const t=rs.from(e.transaction),r=await K(this,D).dryRunTransactionBlock({transactionBlock:e.transaction,signal:e.signal}),{effects:s,objectTypes:i}=po({effects:r.effects,objectChanges:r.objectChanges});return{transaction:{digest:await t.getDigest(),epoch:null,effects:s,objectTypes:Promise.resolve(i),signatures:[],transaction:io(e.transaction)}}}async getReferenceGasPrice(e){const t=await K(this,D).getReferenceGasPrice({signal:e?.signal});return{referenceGasPrice:String(t)}}async getDynamicFields(e){const t=await K(this,D).getDynamicFields({parentId:e.parentId,limit:e.limit,cursor:e.cursor});return{dynamicFields:t.data.map(r=>({id:r.objectId,type:r.objectType,name:{type:r.name.type,bcs:V(r.bcsName)}})),hasNextPage:t.hasNextPage,cursor:t.nextCursor}}async verifyZkLoginSignature(e){const t=await K(this,D).verifyZkLoginSignature({bytes:e.bytes,signature:e.signature,intentScope:e.intentScope,author:e.author});return{success:t.success,errors:t.errors}}resolveNameServiceNames(e){return K(this,D).resolveNameServiceNames(e)}resolveTransactionPlugin(){return Lr(K(this,D))}}D=new WeakMap;function Wn(n){return{id:n.objectId,version:n.version,digest:n.digest,type:n.type,content:Promise.resolve(n.bcs?.dataType==="moveObject"?V(n.bcs.bcsBytes):new Uint8Array),owner:Ve(n.owner)}}function Ve(n){if(n==="Immutable")return{$kind:"Immutable",Immutable:!0};if("ConsensusAddressOwner"in n)return{$kind:"ConsensusAddressOwner",ConsensusAddressOwner:{owner:n.ConsensusAddressOwner.owner,startVersion:n.ConsensusAddressOwner.start_version}};if("AddressOwner"in n)return{$kind:"AddressOwner",AddressOwner:n.AddressOwner};if("ObjectOwner"in n)return{$kind:"ObjectOwner",ObjectOwner:n.ObjectOwner};if("Shared"in n)return{$kind:"Shared",Shared:{initialSharedVersion:n.Shared.initial_shared_version}};throw new Error(`Unknown owner type: ${JSON.stringify(n)}`)}function Ln(n){const e=m.SenderSignedData.parse(V(n.rawTransaction))[0],t={};n.objectChanges?.forEach(i=>{i.type!=="published"&&(t[i.objectId]=i.objectType)});const r=m.TransactionData.serialize(e.intentMessage.value).toBytes(),s=F.restore({version:2,sender:e.intentMessage.value.V1.sender,expiration:e.intentMessage.value.V1.expiration,gasData:e.intentMessage.value.V1.gasData,inputs:e.intentMessage.value.V1.kind.ProgrammableTransaction.inputs,commands:e.intentMessage.value.V1.kind.ProgrammableTransaction.commands});return{digest:n.digest,epoch:n.effects?.executedEpoch??null,effects:ao(new Uint8Array(n.rawEffects)),objectTypes:Promise.resolve(t),transaction:{...s,bcs:r},signatures:e.txSignatures}}function po({bytes:n,effects:e,objectChanges:t}){const r=[],s=[],i={};return t?.forEach(o=>{switch(o.type){case"published":r.push({id:o.packageId,inputState:"DoesNotExist",inputVersion:null,inputDigest:null,inputOwner:null,outputState:"PackageWrite",outputVersion:o.version,outputDigest:o.digest,outputOwner:null,idOperation:"Created"});break;case"transferred":r.push({id:o.objectId,inputState:"Exists",inputVersion:o.version,inputDigest:o.digest,inputOwner:{$kind:"AddressOwner",AddressOwner:o.sender},outputState:"ObjectWrite",outputVersion:o.version,outputDigest:o.digest,outputOwner:Ve(o.recipient),idOperation:"None"}),i[o.objectId]=o.objectType;break;case"mutated":r.push({id:o.objectId,inputState:"Exists",inputVersion:o.previousVersion,inputDigest:null,inputOwner:Ve(o.owner),outputState:"ObjectWrite",outputVersion:o.version,outputDigest:o.digest,outputOwner:Ve(o.owner),idOperation:"None"}),i[o.objectId]=o.objectType;break;case"deleted":r.push({id:o.objectId,inputState:"Exists",inputVersion:o.version,inputDigest:e.deleted?.find(c=>c.objectId===o.objectId)?.digest??null,inputOwner:null,outputState:"DoesNotExist",outputVersion:null,outputDigest:null,outputOwner:null,idOperation:"Deleted"}),i[o.objectId]=o.objectType;break;case"wrapped":r.push({id:o.objectId,inputState:"Exists",inputVersion:o.version,inputDigest:null,inputOwner:{$kind:"AddressOwner",AddressOwner:o.sender},outputState:"ObjectWrite",outputVersion:o.version,outputDigest:e.wrapped?.find(c=>c.objectId===o.objectId)?.digest??null,outputOwner:{$kind:"ObjectOwner",ObjectOwner:o.sender},idOperation:"None"}),i[o.objectId]=o.objectType;break;case"created":r.push({id:o.objectId,inputState:"DoesNotExist",inputVersion:null,inputDigest:null,inputOwner:null,outputState:"ObjectWrite",outputVersion:o.version,outputDigest:o.digest,outputOwner:Ve(o.owner),idOperation:"Created"}),i[o.objectId]=o.objectType;break}}),{objectTypes:i,effects:{bcs:n??null,digest:e.transactionDigest,version:2,status:e.status.status==="success"?{success:!0,error:null}:{success:!1,error:e.status.error},gasUsed:e.gasUsed,transactionDigest:e.transactionDigest,gasObject:{id:e.gasObject?.reference.objectId,inputState:"Exists",inputVersion:null,inputDigest:null,inputOwner:null,outputState:"ObjectWrite",outputVersion:e.gasObject.reference.version,outputDigest:e.gasObject.reference.digest,outputOwner:Ve(e.gasObject.owner),idOperation:"None"},eventsDigest:e.eventsDigest??null,dependencies:e.dependencies??[],lamportVersion:e.gasObject.reference.version,changedObjects:r,unchangedSharedObjects:s,auxiliaryDataDigest:null}}}const fo=m.struct("Balance",{value:m.u64()}),go=m.struct("Coin",{id:m.Address,balance:fo}),mo=Symbol.for("@mysten/SuiClient");class yo extends Nr{constructor(e){super({network:e.network??"unknown"}),this.jsonRpc=this,this.transport=e.transport??new xi({url:e.url}),this.core=new ho({jsonRpcClient:this,mvr:e.mvr})}get[mo](){return!0}async getRpcApiVersion({signal:e}={}){return(await this.transport.request({method:"rpc.discover",params:[],signal:e})).info.version}async getCoins({coinType:e,owner:t,cursor:r,limit:s,signal:i}){if(!t||!ee(k(t)))throw new Error("Invalid Sui address");return e&&W(e)&&(e=(await this.core.mvr.resolveType({type:e})).type),await this.transport.request({method:"suix_getCoins",params:[t,e,r,s],signal:i})}async getAllCoins(e){if(!e.owner||!ee(k(e.owner)))throw new Error("Invalid Sui address");return await this.transport.request({method:"suix_getAllCoins",params:[e.owner,e.cursor,e.limit],signal:e.signal})}async getBalance({owner:e,coinType:t,signal:r}){if(!e||!ee(k(e)))throw new Error("Invalid Sui address");return t&&W(t)&&(t=(await this.core.mvr.resolveType({type:t})).type),await this.transport.request({method:"suix_getBalance",params:[e,t],signal:r})}async getAllBalances(e){if(!e.owner||!ee(k(e.owner)))throw new Error("Invalid Sui address");return await this.transport.request({method:"suix_getAllBalances",params:[e.owner],signal:e.signal})}async getCoinMetadata({coinType:e,signal:t}){return e&&W(e)&&(e=(await this.core.mvr.resolveType({type:e})).type),await this.transport.request({method:"suix_getCoinMetadata",params:[e],signal:t})}async getTotalSupply({coinType:e,signal:t}){return e&&W(e)&&(e=(await this.core.mvr.resolveType({type:e})).type),await this.transport.request({method:"suix_getTotalSupply",params:[e],signal:t})}async call(e,t,{signal:r}={}){return await this.transport.request({method:e,params:t,signal:r})}async getMoveFunctionArgTypes({package:e,module:t,function:r,signal:s}){return e&&X(e)&&(e=(await this.core.mvr.resolvePackage({package:e})).package),await this.transport.request({method:"sui_getMoveFunctionArgTypes",params:[e,t,r],signal:s})}async getNormalizedMoveModulesByPackage({package:e,signal:t}){return e&&X(e)&&(e=(await this.core.mvr.resolvePackage({package:e})).package),await this.transport.request({method:"sui_getNormalizedMoveModulesByPackage",params:[e],signal:t})}async getNormalizedMoveModule({package:e,module:t,signal:r}){return e&&X(e)&&(e=(await this.core.mvr.resolvePackage({package:e})).package),await this.transport.request({method:"sui_getNormalizedMoveModule",params:[e,t],signal:r})}async getNormalizedMoveFunction({package:e,module:t,function:r,signal:s}){return e&&X(e)&&(e=(await this.core.mvr.resolvePackage({package:e})).package),await this.transport.request({method:"sui_getNormalizedMoveFunction",params:[e,t,r],signal:s})}async getNormalizedMoveStruct({package:e,module:t,struct:r,signal:s}){return e&&X(e)&&(e=(await this.core.mvr.resolvePackage({package:e})).package),await this.transport.request({method:"sui_getNormalizedMoveStruct",params:[e,t,r],signal:s})}async getOwnedObjects(e){if(!e.owner||!ee(k(e.owner)))throw new Error("Invalid Sui address");const t=e.filter?{...e.filter}:void 0;return t&&"MoveModule"in t&&X(t.MoveModule.package)?t.MoveModule={module:t.MoveModule.module,package:(await this.core.mvr.resolvePackage({package:t.MoveModule.package})).package}:t&&"StructType"in t&&W(t.StructType)&&(t.StructType=(await this.core.mvr.resolveType({type:t.StructType})).type),await this.transport.request({method:"suix_getOwnedObjects",params:[e.owner,{filter:t,options:e.options},e.cursor,e.limit],signal:e.signal})}async getObject(e){if(!e.id||!lt(de(e.id)))throw new Error("Invalid Sui Object id");return await this.transport.request({method:"sui_getObject",params:[e.id,e.options],signal:e.signal})}async tryGetPastObject(e){return await this.transport.request({method:"sui_tryGetPastObject",params:[e.id,e.version,e.options],signal:e.signal})}async multiGetObjects(e){if(e.ids.forEach(r=>{if(!r||!lt(de(r)))throw new Error(`Invalid Sui Object id ${r}`)}),e.ids.length!==new Set(e.ids).size)throw new Error(`Duplicate object ids in batch call ${e.ids}`);return await this.transport.request({method:"sui_multiGetObjects",params:[e.ids,e.options],signal:e.signal})}async queryTransactionBlocks({filter:e,options:t,cursor:r,limit:s,order:i,signal:o}){return e&&"MoveFunction"in e&&X(e.MoveFunction.package)&&(e={...e,MoveFunction:{package:(await this.core.mvr.resolvePackage({package:e.MoveFunction.package})).package}}),await this.transport.request({method:"suix_queryTransactionBlocks",params:[{filter:e,options:t},r,s,(i||"descending")==="descending"],signal:o})}async getTransactionBlock(e){if(!Tn(e.digest))throw new Error("Invalid Transaction digest");return await this.transport.request({method:"sui_getTransactionBlock",params:[e.digest,e.options],signal:e.signal})}async multiGetTransactionBlocks(e){if(e.digests.forEach(r=>{if(!Tn(r))throw new Error(`Invalid Transaction digest ${r}`)}),e.digests.length!==new Set(e.digests).size)throw new Error(`Duplicate digests in batch call ${e.digests}`);return await this.transport.request({method:"sui_multiGetTransactionBlocks",params:[e.digests,e.options],signal:e.signal})}async executeTransactionBlock({transactionBlock:e,signature:t,options:r,requestType:s,signal:i}){const o=await this.transport.request({method:"sui_executeTransactionBlock",params:[typeof e=="string"?e:P(e),Array.isArray(t)?t:[t],r],signal:i});if(s==="WaitForLocalExecution")try{await this.waitForTransaction({digest:o.digest})}catch{}return o}async signAndExecuteTransaction({transaction:e,signer:t,...r}){let s;e instanceof Uint8Array?s=e:(e.setSenderIfNotSet(t.toSuiAddress()),s=await e.build({client:this}));const{signature:i,bytes:o}=await t.signTransaction(s);return this.executeTransactionBlock({transactionBlock:o,signature:i,...r})}async getTotalTransactionBlocks({signal:e}={}){const t=await this.transport.request({method:"sui_getTotalTransactionBlocks",params:[],signal:e});return BigInt(t)}async getReferenceGasPrice({signal:e}={}){const t=await this.transport.request({method:"suix_getReferenceGasPrice",params:[],signal:e});return BigInt(t)}async getStakes(e){if(!e.owner||!ee(k(e.owner)))throw new Error("Invalid Sui address");return await this.transport.request({method:"suix_getStakes",params:[e.owner],signal:e.signal})}async getStakesByIds(e){return e.stakedSuiIds.forEach(t=>{if(!t||!lt(de(t)))throw new Error(`Invalid Sui Stake id ${t}`)}),await this.transport.request({method:"suix_getStakesByIds",params:[e.stakedSuiIds],signal:e.signal})}async getLatestSuiSystemState({signal:e}={}){return await this.transport.request({method:"suix_getLatestSuiSystemState",params:[],signal:e})}async queryEvents({query:e,cursor:t,limit:r,order:s,signal:i}){return e&&"MoveEventType"in e&&W(e.MoveEventType)&&(e={...e,MoveEventType:(await this.core.mvr.resolveType({type:e.MoveEventType})).type}),e&&"MoveEventModule"in e&&X(e.MoveEventModule.package)&&(e={...e,MoveEventModule:{module:e.MoveEventModule.module,package:(await this.core.mvr.resolvePackage({package:e.MoveEventModule.package})).package}}),"MoveModule"in e&&X(e.MoveModule.package)&&(e={...e,MoveModule:{module:e.MoveModule.module,package:(await this.core.mvr.resolvePackage({package:e.MoveModule.package})).package}}),await this.transport.request({method:"suix_queryEvents",params:[e,t,r,(s||"descending")==="descending"],signal:i})}async subscribeEvent(e){return this.transport.subscribe({method:"suix_subscribeEvent",unsubscribe:"suix_unsubscribeEvent",params:[e.filter],onMessage:e.onMessage,signal:e.signal})}async subscribeTransaction(e){return this.transport.subscribe({method:"suix_subscribeTransaction",unsubscribe:"suix_unsubscribeTransaction",params:[e.filter],onMessage:e.onMessage,signal:e.signal})}async devInspectTransactionBlock(e){let t;if(ts(e.transactionBlock))e.transactionBlock.setSenderIfNotSet(e.sender),t=P(await e.transactionBlock.build({client:this,onlyTransactionKind:!0}));else if(typeof e.transactionBlock=="string")t=e.transactionBlock;else if(e.transactionBlock instanceof Uint8Array)t=P(e.transactionBlock);else throw new Error("Unknown transaction block format.");return e.signal?.throwIfAborted(),await this.transport.request({method:"sui_devInspectTransactionBlock",params:[e.sender,t,e.gasPrice?.toString(),e.epoch],signal:e.signal})}async dryRunTransactionBlock(e){return await this.transport.request({method:"sui_dryRunTransactionBlock",params:[typeof e.transactionBlock=="string"?e.transactionBlock:P(e.transactionBlock)]})}async getDynamicFields(e){if(!e.parentId||!lt(de(e.parentId)))throw new Error("Invalid Sui Object id");return await this.transport.request({method:"suix_getDynamicFields",params:[e.parentId,e.cursor,e.limit],signal:e.signal})}async getDynamicFieldObject(e){return await this.transport.request({method:"suix_getDynamicFieldObject",params:[e.parentId,e.name],signal:e.signal})}async getLatestCheckpointSequenceNumber({signal:e}={}){const t=await this.transport.request({method:"sui_getLatestCheckpointSequenceNumber",params:[],signal:e});return String(t)}async getCheckpoint(e){return await this.transport.request({method:"sui_getCheckpoint",params:[e.id],signal:e.signal})}async getCheckpoints(e){return await this.transport.request({method:"sui_getCheckpoints",params:[e.cursor,e?.limit,e.descendingOrder],signal:e.signal})}async getCommitteeInfo(e){return await this.transport.request({method:"suix_getCommitteeInfo",params:[e?.epoch],signal:e?.signal})}async getNetworkMetrics({signal:e}={}){return await this.transport.request({method:"suix_getNetworkMetrics",params:[],signal:e})}async getAddressMetrics({signal:e}={}){return await this.transport.request({method:"suix_getLatestAddressMetrics",params:[],signal:e})}async getEpochMetrics(e){return await this.transport.request({method:"suix_getEpochMetrics",params:[e?.cursor,e?.limit,e?.descendingOrder],signal:e?.signal})}async getAllEpochAddressMetrics(e){return await this.transport.request({method:"suix_getAllEpochAddressMetrics",params:[e?.descendingOrder],signal:e?.signal})}async getEpochs(e){return await this.transport.request({method:"suix_getEpochs",params:[e?.cursor,e?.limit,e?.descendingOrder],signal:e?.signal})}async getMoveCallMetrics({signal:e}={}){return await this.transport.request({method:"suix_getMoveCallMetrics",params:[],signal:e})}async getCurrentEpoch({signal:e}={}){return await this.transport.request({method:"suix_getCurrentEpoch",params:[],signal:e})}async getValidatorsApy({signal:e}={}){return await this.transport.request({method:"suix_getValidatorsApy",params:[],signal:e})}async getChainIdentifier({signal:e}={}){const t=await this.getCheckpoint({id:"0",signal:e}),r=bt(t.digest);return We(r.slice(0,4))}async resolveNameServiceAddress(e){return await this.transport.request({method:"suix_resolveNameServiceAddress",params:[e.name],signal:e.signal})}async resolveNameServiceNames({format:e="dot",...t}){const{nextCursor:r,hasNextPage:s,data:i}=await this.transport.request({method:"suix_resolveNameServiceNames",params:[t.address,t.cursor,t.limit],signal:t.signal});return{hasNextPage:s,nextCursor:r,data:i.map(o=>ws(o,e))}}async getProtocolConfig(e){return await this.transport.request({method:"sui_getProtocolConfig",params:[e?.version],signal:e?.signal})}async verifyZkLoginSignature(e){return await this.transport.request({method:"sui_verifyZkLoginSignature",params:[e.bytes,e.signature,e.intentScope,e.author],signal:e.signal})}async waitForTransaction({signal:e,timeout:t=60*1e3,pollInterval:r=2*1e3,...s}){const i=AbortSignal.timeout(t),o=new Promise((c,u)=>{i.addEventListener("abort",()=>u(i.reason))});for(o.catch(()=>{});!i.aborted;){e?.throwIfAborted();try{return await this.getTransactionBlock(s)}catch{await Promise.race([new Promise(u=>setTimeout(u,r)),o])}}throw i.throwIfAborted(),new Error("Unexpected error while waiting for transaction block.")}experimental_asClientExtension(){return{name:"jsonRPC",register:()=>this}}}class as extends bs{}const nn="Sui",os=n=>{const e=n.data?.content;return e&&e.dataType==="moveObject"?e.fields:null},Lo=(n,e)=>{try{return In(n)===In(e)}catch{return!1}},Ko=n=>n?.type==="created",Go=n=>n?.type==="published";function wo(n){return Array.isArray(n)}function Sn(n){return!Array.isArray(n)&&typeof n=="object"&&"fields"in n&&"type"in n}function bo(n){return typeof n=="object"&&!wo(n)&&!Sn(n)}function qo(n){return typeof n=="object"&&"id"in n}const Ho=async(n,e)=>{const{data:t,error:r}=await n.getObject({id:e,options:{showContent:!0}});if(r)throw new Error("Error getting object: "+r);if(!t||!Sn(t.content))throw new Error(`Cannot get oject for state id ${e}: `+t);return ks(t.content.type)},vo=async(n,e)=>{if(!ee(e))throw new Error(`Invalid object ID: ${e}`);const t=await n.getObject({id:e,options:{showContent:!0}});return os(t)},Jo=async(n,e)=>{let t,r;do{const o=await n.getDynamicFields({parentId:e,cursor:r});t=o.data.find(c=>c.name.type.endsWith("CurrentPackage")),r=o.hasNextPage?o.nextCursor:null}while(r&&!t);if(!t)throw new Error("CurrentPackage not found");const s=await n.getObject({id:t.objectId,options:{showContent:!0}}),i=os(s);if(!i||!bo(i))throw new Error("Unable to get fields from object response");if(!("value"in i)||!Sn(i.value))throw new Error("Unable to get package id");return i.value.fields.package},Zo=async(n,e,t)=>{let r=null,s=null,i=null,o;do{if(i=await n.getOwnedObjects({owner:t,filter:{StructType:`${e}::emitter::EmitterCap`},options:{showContent:!0},cursor:o}),!i||!i.data)throw Error("Failed to get owned objects");for(const c of i.data){if(!c.data)continue;const{version:u,objectId:f}=c.data;(r===null||u<r)&&(r=u,s=f)}o=i.hasNextPage?i.nextCursor:void 0}while(o);return s},Yo=async(n,e)=>{const t=new rs,[r]=t.publish({modules:n.modules.map(s=>Array.from(vs.decode(s))),dependencies:n.dependencies.map(s=>de(s))});return t.transferObjects([r],t.pure.address(e)),t};class ue extends Ss{static _platform=nn;constructor(e,t){super(e,t??Os(e,ue._platform))}getRpc(e){if(e in this.config)return new yo({url:this.config[e].rpc});throw new Error("No configuration available for chain: "+e)}getChain(e){if(e in this.config)return new as(e,this);throw new Error("No configuration available for chain: "+e)}static nativeTokenId(e,t){if(!ue.isSupportedChain(t))throw new Error(`invalid chain for ${nn}: ${t}`);return Es.tokenId(t,jn)}static isNativeTokenId(e,t,r){return!ue.isSupportedChain(t)||r.chain!==t?!1:this.nativeTokenId(e,t)===r}static isSupportedChain(e){return Ts(e)===ue._platform}static async getDecimals(e,t,r,s){if(Cn(s))return Is(ue._platform);const i=new Ft(s);try{const c=await vo(r,i.toString());if(c&&"decimals"in c)return c.decimals}catch{}const o=await r.getCoinMetadata({coinType:i.toString()});if(o===null)throw new Error(`Can't fetch decimals for token ${i.toString()}`);return o.decimals}static async getCoins(e,t,r){let s=[],i=null;const o=new Ft(t).toString();do{const c=await e.getCoins({owner:o,coinType:r,cursor:i});s=[...s,...c.data],i=c.hasNextPage?c.nextCursor:null}while(i);return s}static async getBalance(e,t,r,s,i){if(Cn(i)){const{totalBalance:c}=await r.getBalance({owner:s});return BigInt(c)}const{totalBalance:o}=await r.getBalance({owner:s,coinType:i.toString()});return BigInt(o)}static async getBalances(e,t,r,s){const i=await r.getAllBalances({owner:s}),o={};for(const{coinType:c,totalBalance:u}of i){const f=c===jn?"native":c;o[f]=BigInt(u)}return o}static async sendWait(e,t,r){const s=[];for(const i of r){const o=await t.executeTransactionBlock(i);await t.waitForTransaction({digest:o.digest}),s.push(o.digest)}return s}static async getLatestBlock(e){return Number(await e.getLatestCheckpointSequenceNumber())}static async getLatestFinalizedBlock(e){return this.getLatestBlock(e)}static chainFromChainId(e){const t=js(ue._platform,e);if(t===void 0)throw new Error(`Unknown native chain id ${e}`);const[r,s]=t;return[r,s]}static async chainFromRpc(e){const t=await e.call("sui_getChainIdentifier",[]);return this.chainFromChainId(t)}}function cs(n,e){return m.IntentMessage(m.fixedArray(e.length,m.u8())).serialize({intent:{scope:{[n]:!0},version:{V0:!0},appId:{Sui:!0}},value:e}).toBytes()}const On={ED25519:0,Secp256k1:1,Secp256r1:2,MultiSig:3,ZkLogin:5,Passkey:6},ko={ED25519:32,Secp256k1:33,Secp256r1:33,Passkey:33},us={0:"ED25519",1:"Secp256k1",2:"Secp256r1",3:"MultiSig",5:"ZkLogin",6:"Passkey"};function ls(n,e){if(n===e)return!0;if(n.length!==e.length)return!1;for(let t=0;t<n.length;t++)if(n[t]!==e[t])return!1;return!0}class So{equals(e){return ls(this.toRawBytes(),e.toRawBytes())}toBase64(){return P(this.toRawBytes())}toString(){throw new Error("`toString` is not implemented on public keys. Use `toBase64()` or `toRawBytes()` instead.")}toSuiPublicKey(){const e=this.toSuiBytes();return P(e)}verifyWithIntent(e,t,r){const s=cs(r,e),i=tt(s,{dkLen:32});return this.verify(i,t)}verifyPersonalMessage(e,t){return this.verifyWithIntent(m.vector(m.u8()).serialize(e).toBytes(),t,"PersonalMessage")}verifyTransaction(e,t){return this.verifyWithIntent(e,t,"TransactionData")}verifyAddress(e){return this.toSuiAddress()===e}toSuiBytes(){const e=this.toRawBytes(),t=new Uint8Array(e.length+1);return t.set([this.flag()]),t.set(e,1),t}toSuiAddress(){return k(Cs(tt(this.toSuiBytes(),{dkLen:32})).slice(0,on*2))}}function Oo(n){const e=V(n),t=us[e[0]];switch(t){case"ED25519":case"Secp256k1":case"Secp256r1":const r=ko[t],s=e.slice(1,e.length-r),i=e.slice(1+s.length);return{serializedSignature:n,signatureScheme:t,signature:s,publicKey:i,bytes:e};default:throw new Error("Unsupported signature scheme")}}function Eo({signature:n,signatureScheme:e,publicKey:t}){if(!t)throw new Error("`publicKey` is required");const r=t.toRawBytes(),s=new Uint8Array(1+n.length+r.length);return s.set([On[e]]),s.set(n,1),s.set(r,1+n.length),P(s)}const wt=32,ds="suiprivkey";class To{async signWithIntent(e,t){const r=cs(t,e),s=tt(r,{dkLen:32});return{signature:Eo({signature:await this.sign(s),signatureScheme:this.getKeyScheme(),publicKey:this.getPublicKey()}),bytes:P(e)}}async signTransaction(e){return this.signWithIntent(e,"TransactionData")}async signPersonalMessage(e){const{signature:t}=await this.signWithIntent(a.vector(a.u8()).serialize(e).toBytes(),"PersonalMessage");return{bytes:P(e),signature:t}}async signAndExecuteTransaction({transaction:e,client:t}){const r=await e.build({client:t}),{signature:s}=await this.signTransaction(r);return(await t.core.executeTransaction({transaction:r,signatures:[s]})).transaction}toSuiAddress(){return this.getPublicKey().toSuiAddress()}}class Io extends To{}function jo(n){const{prefix:e,words:t}=vt.decode(n);if(e!==ds)throw new Error("invalid private key prefix");const r=new Uint8Array(vt.fromWords(t)),s=r.slice(1),i=us[r[0]];return{scheme:i,schema:i,secretKey:s}}function Co(n,e){if(n.length!==wt)throw new Error("Invalid bytes length");const t=On[e],r=new Uint8Array(n.length+1);return r.set([t]),r.set(n,1),vt.encode(ds,vt.toWords(r))}function Kn(n){return!!new RegExp("^m\\/44'\\/784'\\/[0-9]+'\\/[0-9]+'\\/[0-9]+'+$").test(n)}function Mo(n){return _s(n,"")}function _o(n){return We(Mo(n))}const Po="ed25519 seed",$o=2147483648,xo=new RegExp("^m(\\/[0-9]+')+$"),hs=n=>n.replace("'",""),Ao=n=>{const t=Hn.create(Jn,Po).update(sn(n)).digest(),r=t.slice(0,32),s=t.slice(32);return{key:r,chainCode:s}},Ro=({key:n,chainCode:e},t)=>{const r=new ArrayBuffer(4);new DataView(r).setUint32(0,t);const i=new Uint8Array(1+n.length+r.byteLength);i.set(new Uint8Array(1).fill(0)),i.set(n,1),i.set(new Uint8Array(r,0,r.byteLength),n.length+1);const o=Hn.create(Jn,e).update(i).digest(),c=o.slice(0,32),u=o.slice(32);return{key:c,chainCode:u}},Bo=n=>xo.test(n)?!n.split("/").slice(1).map(hs).some(isNaN):!1,Gn=(n,e,t=$o)=>{if(!Bo(n))throw new Error("Invalid derivation path");const{key:r,chainCode:s}=Ao(e);return n.split("/").slice(1).map(hs).map(o=>parseInt(o,10)).reduce((o,c)=>Ro(o,c+t),{key:r,chainCode:s})},rn=32;class ps extends So{constructor(e){if(super(),typeof e=="string"?this.data=V(e):e instanceof Uint8Array?this.data=e:this.data=Uint8Array.from(e),this.data.length!==rn)throw new Error(`Invalid public key input. Expected ${rn} bytes, got ${this.data.length}`)}equals(e){return super.equals(e)}toRawBytes(){return this.data}flag(){return On.ED25519}async verify(e,t){let r;if(typeof t=="string"){const s=Oo(t);if(s.signatureScheme!=="ED25519")throw new Error("Invalid signature scheme");if(!ls(this.toRawBytes(),s.publicKey))throw new Error("Signature does not match public key");r=s.signature}else r=t;return me.verify(r,e,this.toRawBytes())}}ps.SIZE=rn;const qn="m/44'/784'/0'/0'/0'";class ze extends Io{constructor(e){if(super(),e)this.keypair={publicKey:e.publicKey,secretKey:e.secretKey.slice(0,32)};else{const t=me.utils.randomPrivateKey();this.keypair={publicKey:me.getPublicKey(t),secretKey:t}}}getKeyScheme(){return"ED25519"}static generate(){const e=me.utils.randomPrivateKey();return new ze({publicKey:me.getPublicKey(e),secretKey:e})}static fromSecretKey(e,t){if(typeof e=="string"){const i=jo(e);if(i.schema!=="ED25519")throw new Error(`Expected a ED25519 keypair, got ${i.schema}`);return this.fromSecretKey(i.secretKey,t)}const r=e.length;if(r!==wt)throw new Error(`Wrong secretKey size. Expected ${wt} bytes, got ${r}.`);const s={publicKey:me.getPublicKey(e),secretKey:e};if(!t||!t.skipValidation){const o=new TextEncoder().encode("sui validation"),c=me.sign(o,e);if(!me.verify(c,o,s.publicKey))throw new Error("provided secretKey is invalid")}return new ze(s)}getPublicKey(){return new ps(this.keypair.publicKey)}getSecretKey(){return Co(this.keypair.secretKey.slice(0,wt),this.getKeyScheme())}async sign(e){return me.sign(e,this.keypair.secretKey)}static deriveKeypair(e,t){if(t==null&&(t=qn),!Kn(t))throw new Error("Invalid derivation path");const{key:r}=Gn(t,_o(e));return ze.fromSecretKey(r)}static deriveKeypairFromSeed(e,t){if(t==null&&(t=qn),!Kn(t))throw new Error("Invalid derivation path");const{key:r}=Gn(t,e);return ze.fromSecretKey(r)}}async function Uo(n,e){const[,t]=await ue.chainFromRpc(n);return new Do(t,n,ze.deriveKeypair(e,"m/44'/784'/0'/0'/0'"))}class Do{_chain;_client;_signer;_debug;constructor(e,t,r,s){this._chain=e,this._client=t,this._signer=r,this._debug=s}chain(){return this._chain}address(){return this._signer.toSuiAddress()}async signAndSend(e){const t=[];for(const r of e){const{description:s,transaction:i}=r;this._debug&&console.log(`Signing ${s} for ${this.address()}`);try{const o=await this._client.signAndExecuteTransaction({transaction:i,signer:this._signer});t.push(o.digest)}catch(o){throw o}}return t}}const No={Address:Ft,Platform:ue,getSigner:Uo,protocols:{WormholeCore:()=>$t(()=>import("./index-C8u74RER.js"),__vite__mapDeps([0,1,2,3,4,5])),TokenBridge:()=>$t(()=>import("./index-CNExx9Zb.js"),__vite__mapDeps([6,1,2,0,3,4,5,7])),CircleBridge:()=>$t(()=>import("./index-CoIvdDsX.js"),__vite__mapDeps([8,1,2,7,4,5]))},getChain:(n,e,t)=>new as(e,new ue(n,Ms(n,nn,{[e]:t})))},Xo=Object.freeze(Object.defineProperty({__proto__:null,default:No},Symbol.toStringTag,{value:"Module"}));export{ue as S,rs as T,os as a,Sn as b,Wo as c,Go as d,Ko as e,ti as f,vo as g,Lo as h,bo as i,Zo as j,Jo as k,Ho as l,qo as m,Yo as p,Xo as s};
|
|
8
|
+
${String(r)}`);Wt(e);for(let s=0;s<e.callbacks.length;s++){const i=r[s];i instanceof Error?e.callbacks[s].reject(i):e.callbacks[s].resolve(i)}}).catch(r=>{At(n,e,r)})}function At(n,e,t){Wt(e);for(let r=0;r<e.keys.length;r++)n.clear(e.keys[r]),e.callbacks[r].reject(t)}function Wt(n){if(n.cacheHits)for(let e=0;e<n.cacheHits.length;e++)n.cacheHits[e]()}function As(n){if(!(!n||n.batch!==!1))return 1;const t=n&&n.maxBatchSize;if(t===void 0)return 1/0;if(typeof t!="number"||t<1)throw new TypeError(`maxBatchSize must be a positive number: ${t}`);return t}function Rs(n){const e=n&&n.batchScheduleFn;if(e===void 0)return Ps;if(typeof e!="function")throw new TypeError(`batchScheduleFn must be a function: ${e}`);return e}function Bs(n){const e=n&&n.cacheKeyFn;if(e===void 0)return t=>t;if(typeof e!="function")throw new TypeError(`cacheKeyFn must be a function: ${e}`);return e}function Us(n){if(!(!n||n.cache!==!1))return null;const t=n&&n.cacheMap;if(t===void 0)return new Map;if(t!==null){const s=["get","set","delete","clear"].filter(i=>t&&typeof t[i]!="function");if(s.length!==0)throw new TypeError("Custom cacheMap missing methods: "+s.join(", "))}return t}function Ds(n){return n&&n.name?n.name:null}function Yn(n){return typeof n=="object"&&n!==null&&"length"in n&&typeof n.length=="number"&&(n.length===0||n.length>0&&Object.prototype.hasOwnProperty.call(n,n.length-1))}function kt(n){const e=[];let t=0;if(n===0)return[0];for(;n>0;)e[t]=n&127,(n>>=7)&&(e[t]|=128),t+=1;return e}function Ns(n){let e=0,t=0,r=0;for(;;){const s=n[r];if(r+=1,e|=(s&127)<<t,(s&128)===0)break;t+=7}return{value:e,length:r}}class Vs{constructor(e){this.bytePosition=0,this.dataView=new DataView(e.buffer,e.byteOffset,e.byteLength)}shift(e){return this.bytePosition+=e,this}read8(){const e=this.dataView.getUint8(this.bytePosition);return this.shift(1),e}read16(){const e=this.dataView.getUint16(this.bytePosition,!0);return this.shift(2),e}read32(){const e=this.dataView.getUint32(this.bytePosition,!0);return this.shift(4),e}read64(){const e=this.read32(),r=this.read32().toString(16)+e.toString(16).padStart(8,"0");return BigInt("0x"+r).toString(10)}read128(){const e=BigInt(this.read64()),r=BigInt(this.read64()).toString(16)+e.toString(16).padStart(16,"0");return BigInt("0x"+r).toString(10)}read256(){const e=BigInt(this.read128()),r=BigInt(this.read128()).toString(16)+e.toString(16).padStart(32,"0");return BigInt("0x"+r).toString(10)}readBytes(e){const t=this.bytePosition+this.dataView.byteOffset,r=new Uint8Array(this.dataView.buffer,t,e);return this.shift(e),r}readULEB(){const e=this.bytePosition+this.dataView.byteOffset,t=new Uint8Array(this.dataView.buffer,e),{value:r,length:s}=Ns(t);return this.shift(s),r}readVec(e){const t=this.readULEB(),r=[];for(let s=0;s<t;s++)r.push(e(this,s,t));return r}}class zs{constructor({initialSize:e=1024,maxSize:t=1/0,allocateSize:r=1024}={}){this.bytePosition=0,this.size=e,this.maxSize=t,this.allocateSize=r,this.dataView=new DataView(new ArrayBuffer(e))}ensureSizeOrGrow(e){const t=this.bytePosition+e;if(t>this.size){const r=Math.min(this.maxSize,this.size+this.allocateSize);if(t>r)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: ${t}`);this.size=r;const s=new ArrayBuffer(this.size);new Uint8Array(s).set(new Uint8Array(this.dataView.buffer)),this.dataView=new DataView(s)}}shift(e){return this.bytePosition+=e,this}write8(e){return this.ensureSizeOrGrow(1),this.dataView.setUint8(this.bytePosition,Number(e)),this.shift(1)}write16(e){return this.ensureSizeOrGrow(2),this.dataView.setUint16(this.bytePosition,Number(e),!0),this.shift(2)}write32(e){return this.ensureSizeOrGrow(4),this.dataView.setUint32(this.bytePosition,Number(e),!0),this.shift(4)}write64(e){return Rt(BigInt(e),8).forEach(t=>this.write8(t)),this}write128(e){return Rt(BigInt(e),16).forEach(t=>this.write8(t)),this}write256(e){return Rt(BigInt(e),32).forEach(t=>this.write8(t)),this}writeULEB(e){return kt(e).forEach(t=>this.write8(t)),this}writeVec(e,t){return this.writeULEB(e.length),Array.from(e).forEach((r,s)=>t(this,r,s,e.length)),this}*[Symbol.iterator](){for(let e=0;e<this.bytePosition;e++)yield this.dataView.getUint8(e);return this.toBytes()}toBytes(){return new Uint8Array(this.dataView.buffer.slice(0,this.bytePosition))}toString(e){return gs(this.toBytes(),e)}}function Rt(n,e){const t=new Uint8Array(e);let r=0;for(;n>0;)t[r]=Number(n%BigInt(256)),n=n/BigInt(256),r+=1;return t}var Xn=n=>{throw TypeError(n)},Qn=(n,e,t)=>e.has(n)||Xn("Cannot "+t),te=(n,e,t)=>(Qn(n,e,"read from private field"),t?t.call(n):e.get(n)),St=(n,e,t)=>e.has(n)?Xn("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(n):e.set(n,t),Ot=(n,e,t,r)=>(Qn(n,e,"write to private field"),e.set(n,t),t),Ne,He,pt,Se;const Fs=class er{constructor(e){St(this,Ne),St(this,He),this.name=e.name,this.read=e.read,this.serializedSize=e.serializedSize??(()=>null),Ot(this,Ne,e.write),Ot(this,He,e.serialize??((t,r)=>{const s=new zs({initialSize:this.serializedSize(t)??void 0,...r});return te(this,Ne).call(this,t,s),s.toBytes()})),this.validate=e.validate??(()=>{})}write(e,t){this.validate(e),te(this,Ne).call(this,e,t)}serialize(e,t){return this.validate(e),new Ws(this,te(this,He).call(this,e,t))}parse(e){const t=new Vs(e);return this.read(t)}fromHex(e){return this.parse(sn(e))}fromBase58(e){return this.parse(bt(e))}fromBase64(e){return this.parse(V(e))}transform({name:e,input:t,output:r,validate:s}){return new er({name:e??this.name,read:i=>r?r(this.read(i)):this.read(i),write:(i,o)=>te(this,Ne).call(this,t?t(i):i,o),serializedSize:i=>this.serializedSize(t?t(i):i),serialize:(i,o)=>te(this,He).call(this,t?t(i):i,o),validate:i=>{s?.(i),this.validate(t?t(i):i)}})}};Ne=new WeakMap;He=new WeakMap;let pe=Fs;const tr=Symbol.for("@mysten/serialized-bcs");function cn(n){return!!n&&typeof n=="object"&&n[tr]===!0}class Ws{constructor(e,t){St(this,pt),St(this,Se),Ot(this,pt,e),Ot(this,Se,t)}get[tr](){return!0}toBytes(){return te(this,Se)}toHex(){return We(te(this,Se))}toBase64(){return P(te(this,Se))}toBase58(){return an(te(this,Se))}parse(){return te(this,pt).parse(te(this,Se))}}pt=new WeakMap;Se=new WeakMap;function Et({size:n,...e}){return new pe({...e,serializedSize:()=>n})}function Bt({readMethod:n,writeMethod:e,...t}){return Et({...t,read:r=>r[n](),write:(r,s)=>s[e](r),validate:r=>{if(r<0||r>t.maxValue)throw new TypeError(`Invalid ${t.name} value: ${r}. Expected value in range 0-${t.maxValue}`);t.validate?.(r)}})}function Ut({readMethod:n,writeMethod:e,...t}){return Et({...t,read:r=>r[n](),write:(r,s)=>s[e](BigInt(r)),validate:r=>{const s=BigInt(r);if(s<0||s>t.maxValue)throw new TypeError(`Invalid ${t.name} value: ${s}. Expected value in range 0-${t.maxValue}`);t.validate?.(s)}})}function Ls({serialize:n,...e}){const t=new pe({...e,serialize:n,write:(r,s)=>{for(const i of t.serialize(r).toBytes())s.write8(i)}});return t}function Ks({toBytes:n,fromBytes:e,...t}){return new pe({...t,read:r=>{const s=r.readULEB(),i=r.readBytes(s);return e(i)},write:(r,s)=>{const i=n(r);s.writeULEB(i.length);for(let o=0;o<i.length;o++)s.write8(i[o])},serialize:r=>{const s=n(r),i=kt(s.length),o=new Uint8Array(i.length+s.length);return o.set(i,0),o.set(s,i.length),o},validate:r=>{if(typeof r!="string")throw new TypeError(`Invalid ${t.name} value: ${r}. Expected string`);t.validate?.(r)}})}function Gs(n){let e=null;function t(){return e||(e=n()),e}return new pe({name:"lazy",read:r=>t().read(r),serializedSize:r=>t().serializedSize(r),write:(r,s)=>t().write(r,s),serialize:(r,s)=>t().serialize(r,s).toBytes()})}class qs extends pe{constructor({name:e,fields:t,...r}){const s=Object.entries(t);super({name:e,serializedSize:i=>{let o=0;for(const[c,u]of s){const f=u.serializedSize(i[c]);if(f==null)return null;o+=f}return o},read:i=>{const o={};for(const[c,u]of s)o[c]=u.read(i);return o},write:(i,o)=>{for(const[c,u]of s)u.write(i[c],o)},...r,validate:i=>{if(r?.validate?.(i),typeof i!="object"||i==null)throw new TypeError(`Expected object, found ${typeof i}`)}})}}class Hs extends pe{constructor({fields:e,...t}){const r=Object.entries(e);super({read:s=>{const i=s.readULEB(),o=r[i];if(!o)throw new TypeError(`Unknown value ${i} for enum ${name}`);const[c,u]=o;return{[c]:u?.read(s)??!0,$kind:c}},write:(s,i)=>{const[o,c]=Object.entries(s).filter(([u])=>Object.hasOwn(e,u))[0];for(let u=0;u<r.length;u++){const[f,h]=r[u];if(f===o){i.writeULEB(u),h?.write(c,i);return}}},...t,validate:s=>{if(t?.validate?.(s),typeof s!="object"||s==null)throw new TypeError(`Expected object, found ${typeof s}`);const i=Object.keys(s).filter(c=>s[c]!==void 0&&Object.hasOwn(e,c));if(i.length!==1)throw new TypeError(`Expected object with one key, but found ${i.length} for type ${name}}`);const[o]=i;if(!Object.hasOwn(e,o))throw new TypeError(`Invalid enum variant ${o}`)}})}}class Js extends pe{constructor({fields:e,name:t,...r}){super({name:t??`(${e.map(s=>s.name).join(", ")})`,serializedSize:s=>{let i=0;for(let o=0;o<e.length;o++){const c=e[o].serializedSize(s[o]);if(c==null)return null;i+=c}return i},read:s=>{const i=[];for(const o of e)i.push(o.read(s));return i},write:(s,i)=>{for(let o=0;o<e.length;o++)e[o].write(s[o],i)},...r,validate:s=>{if(r?.validate?.(s),!Array.isArray(s))throw new TypeError(`Expected array, found ${typeof s}`);if(s.length!==e.length)throw new TypeError(`Expected array of length ${e.length}, found ${s.length}`)}})}}function Zs(n,e,t){return new pe({read:r=>{const s=new Array(n);for(let i=0;i<n;i++)s[i]=e.read(r);return s},write:(r,s)=>{for(const i of r)e.write(i,s)},...t,name:t?.name??`${e.name}[${n}]`,validate:r=>{if(t?.validate?.(r),!r||typeof r!="object"||!("length"in r))throw new TypeError(`Expected array, found ${typeof r}`);if(r.length!==n)throw new TypeError(`Expected array of length ${n}, found ${r.length}`)}})}function Ys(n){return a.enum(`Option<${n.name}>`,{None:null,Some:n}).transform({input:e=>e==null?{None:!0}:{Some:e},output:e=>e.$kind==="Some"?e.Some:null})}function Xs(n,e){return new pe({read:t=>{const r=t.readULEB(),s=new Array(r);for(let i=0;i<r;i++)s[i]=n.read(t);return s},write:(t,r)=>{r.writeULEB(t.length);for(const s of t)n.write(s,r)},...e,name:e?.name??`vector<${n.name}>`,validate:t=>{if(e?.validate?.(t),!t||typeof t!="object"||!("length"in t))throw new TypeError(`Expected array, found ${typeof t}`)}})}function Qs(n,e){return a.vector(a.tuple([n,e])).transform({name:`Map<${n.name}, ${e.name}>`,input:t=>[...t.entries()],output:t=>{const r=new Map;for(const[s,i]of t)r.set(s,i);return r}})}const a={u8(n){return Bt({readMethod:"read8",writeMethod:"write8",size:1,maxValue:2**8-1,...n,name:n?.name??"u8"})},u16(n){return Bt({readMethod:"read16",writeMethod:"write16",size:2,maxValue:2**16-1,...n,name:n?.name??"u16"})},u32(n){return Bt({readMethod:"read32",writeMethod:"write32",size:4,maxValue:2**32-1,...n,name:n?.name??"u32"})},u64(n){return Ut({readMethod:"read64",writeMethod:"write64",size:8,maxValue:2n**64n-1n,...n,name:n?.name??"u64"})},u128(n){return Ut({readMethod:"read128",writeMethod:"write128",size:16,maxValue:2n**128n-1n,...n,name:n?.name??"u128"})},u256(n){return Ut({readMethod:"read256",writeMethod:"write256",size:32,maxValue:2n**256n-1n,...n,name:n?.name??"u256"})},bool(n){return Et({size:1,read:e=>e.read8()===1,write:(e,t)=>t.write8(e?1:0),...n,name:n?.name??"bool",validate:e=>{if(n?.validate?.(e),typeof e!="boolean")throw new TypeError(`Expected boolean, found ${typeof e}`)}})},uleb128(n){return Ls({read:e=>e.readULEB(),serialize:e=>Uint8Array.from(kt(e)),...n,name:n?.name??"uleb128"})},bytes(n,e){return Et({size:n,read:t=>t.readBytes(n),write:(t,r)=>{const s=new Uint8Array(t);for(let i=0;i<n;i++)r.write8(s[i]??0)},...e,name:e?.name??`bytes[${n}]`,validate:t=>{if(e?.validate?.(t),!t||typeof t!="object"||!("length"in t))throw new TypeError(`Expected array, found ${typeof t}`);if(t.length!==n)throw new TypeError(`Expected array of length ${n}, found ${t.length}`)}})},byteVector(n){return new pe({read:e=>{const t=e.readULEB();return e.readBytes(t)},write:(e,t)=>{const r=new Uint8Array(e);t.writeULEB(r.length);for(let s=0;s<r.length;s++)t.write8(r[s]??0)},...n,name:n?.name??"vector<u8>",serializedSize:e=>{const t="length"in e?e.length:null;return t==null?null:kt(t).length+t},validate:e=>{if(n?.validate?.(e),!e||typeof e!="object"||!("length"in e))throw new TypeError(`Expected array, found ${typeof e}`)}})},string(n){return Ks({toBytes:e=>new TextEncoder().encode(e),fromBytes:e=>new TextDecoder().decode(e),...n,name:n?.name??"string"})},fixedArray:Zs,option:Ys,vector:Xs,tuple(n,e){return new Js({fields:n,...e})},struct(n,e,t){return new qs({name:n,fields:e,...t})},enum(n,e,t){return new Hs({name:n,fields:e,...t})},map:Qs,lazy(n){return Gs(n)}};BigInt(1e9);const ei="0x1",nr="0x2",Wo=de("0x6"),ti=`${nr}::sui::SUI`;de("0x5");const ni=/^vector<(.+)>$/,ri=/^([^:]+)::([^:]+)::([^<]+)(<(.+)>)?/;class re{static parseFromStr(e,t=!1){if(e==="address")return{address:null};if(e==="bool")return{bool:null};if(e==="u8")return{u8:null};if(e==="u16")return{u16:null};if(e==="u32")return{u32:null};if(e==="u64")return{u64:null};if(e==="u128")return{u128:null};if(e==="u256")return{u256:null};if(e==="signer")return{signer:null};const r=e.match(ni);if(r)return{vector:re.parseFromStr(r[1],t)};const s=e.match(ri);if(s)return{struct:{address:t?k(s[1]):s[1],module:s[2],name:s[3],typeParams:s[5]===void 0?[]:re.parseStructTypeArgs(s[5],t)}};throw new Error(`Encountered unexpected token when parsing type args for ${e}`)}static parseStructTypeArgs(e,t=!1){return ms(e).map(r=>re.parseFromStr(r,t))}static tagToString(e){if("bool"in e)return"bool";if("u8"in e)return"u8";if("u16"in e)return"u16";if("u32"in e)return"u32";if("u64"in e)return"u64";if("u128"in e)return"u128";if("u256"in e)return"u256";if("address"in e)return"address";if("signer"in e)return"signer";if("vector"in e)return`vector<${re.tagToString(e.vector)}>`;if("struct"in e){const t=e.struct,r=t.typeParams.map(re.tagToString).join(", ");return`${t.address}::${t.module}::${t.name}${r?`<${r}>`:""}`}throw new Error("Invalid TypeTag")}}function si(n){return a.u64({name:"unsafe_u64",...n}).transform({input:e=>e,output:e=>Number(e)})}function ii(n){return a.enum("Option",{None:null,Some:n})}const E=a.bytes(on).transform({validate:n=>{const e=typeof n=="string"?n:We(n);if(!e||!ee(k(e)))throw new Error(`Invalid Sui address ${e}`)},input:n=>typeof n=="string"?sn(k(n)):n,output:n=>k(We(n))}),ie=a.vector(a.u8()).transform({name:"ObjectDigest",input:n=>bt(n),output:n=>an(new Uint8Array(n)),validate:n=>{if(bt(n).length!==32)throw new Error("ObjectDigest must be 32 bytes")}}),H=a.struct("SuiObjectRef",{objectId:E,version:a.u64(),digest:ie}),rr=a.struct("SharedObjectRef",{objectId:E,initialSharedVersion:a.u64(),mutable:a.bool()}),sr=a.enum("ObjectArg",{ImmOrOwnedObject:H,SharedObject:rr,Receiving:H}),Pe=a.enum("Owner",{AddressOwner:E,ObjectOwner:E,Shared:a.struct("Shared",{initialSharedVersion:a.u64()}),Immutable:null,ConsensusAddressOwner:a.struct("ConsensusAddressOwner",{owner:E,startVersion:a.u64()})}),ir=a.enum("CallArg",{Pure:a.struct("Pure",{bytes:a.vector(a.u8()).transform({input:n=>typeof n=="string"?V(n):n,output:n=>P(new Uint8Array(n))})}),Object:sr}),un=a.enum("TypeTag",{bool:null,u8:null,u64:null,u128:null,address:null,signer:null,vector:a.lazy(()=>un),struct:a.lazy(()=>dr),u16:null,u32:null,u256:null}),ln=un.transform({input:n=>typeof n=="string"?re.parseFromStr(n,!0):n,output:n=>re.tagToString(n)}),ce=a.enum("Argument",{GasCoin:null,Input:a.u16(),Result:a.u16(),NestedResult:a.tuple([a.u16(),a.u16()])}),ar=a.struct("ProgrammableMoveCall",{package:E,module:a.string(),function:a.string(),typeArguments:a.vector(ln),arguments:a.vector(ce)}),or=a.enum("Command",{MoveCall:ar,TransferObjects:a.struct("TransferObjects",{objects:a.vector(ce),address:ce}),SplitCoins:a.struct("SplitCoins",{coin:ce,amounts:a.vector(ce)}),MergeCoins:a.struct("MergeCoins",{destination:ce,sources:a.vector(ce)}),Publish:a.struct("Publish",{modules:a.vector(a.vector(a.u8()).transform({input:n=>typeof n=="string"?V(n):n,output:n=>P(new Uint8Array(n))})),dependencies:a.vector(E)}),MakeMoveVec:a.struct("MakeMoveVec",{type:ii(ln).transform({input:n=>n===null?{None:!0}:{Some:n},output:n=>n.Some??null}),elements:a.vector(ce)}),Upgrade:a.struct("Upgrade",{modules:a.vector(a.vector(a.u8()).transform({input:n=>typeof n=="string"?V(n):n,output:n=>P(new Uint8Array(n))})),dependencies:a.vector(E),package:E,ticket:ce})}),cr=a.struct("ProgrammableTransaction",{inputs:a.vector(ir),commands:a.vector(or)}),ur=a.enum("TransactionKind",{ProgrammableTransaction:cr,ChangeEpoch:null,Genesis:null,ConsensusCommitPrologue:null}),lr=a.enum("TransactionExpiration",{None:null,Epoch:si()}),dr=a.struct("StructTag",{address:E,module:a.string(),name:a.string(),typeParams:a.vector(un)}),hr=a.struct("GasData",{payment:a.vector(H),owner:E,price:a.u64(),budget:a.u64()}),pr=a.struct("TransactionDataV1",{kind:ur,sender:E,gasData:hr,expiration:lr}),fr=a.enum("TransactionData",{V1:pr}),gr=a.enum("IntentScope",{TransactionData:null,TransactionEffects:null,CheckpointSummary:null,PersonalMessage:null}),mr=a.enum("IntentVersion",{V0:null}),yr=a.enum("AppId",{Sui:null}),wr=a.struct("Intent",{scope:gr,version:mr,appId:yr});function br(n){return a.struct(`IntentMessage<${n.name}>`,{intent:wr,value:n})}const vr=a.enum("CompressedSignature",{ED25519:a.fixedArray(64,a.u8()),Secp256k1:a.fixedArray(64,a.u8()),Secp256r1:a.fixedArray(64,a.u8()),ZkLogin:a.vector(a.u8()),Passkey:a.vector(a.u8())}),kr=a.enum("PublicKey",{ED25519:a.fixedArray(32,a.u8()),Secp256k1:a.fixedArray(33,a.u8()),Secp256r1:a.fixedArray(33,a.u8()),ZkLogin:a.vector(a.u8()),Passkey:a.fixedArray(33,a.u8())}),Sr=a.struct("MultiSigPkMap",{pubKey:kr,weight:a.u8()}),Or=a.struct("MultiSigPublicKey",{pk_map:a.vector(Sr),threshold:a.u16()}),ai=a.struct("MultiSig",{sigs:a.vector(vr),bitmap:a.u16(),multisig_pk:Or}),oi=a.vector(a.u8()).transform({input:n=>typeof n=="string"?V(n):n,output:n=>P(new Uint8Array(n))}),Er=a.struct("SenderSignedTransaction",{intentMessage:br(fr),txSignatures:a.vector(oi)}),ci=a.vector(Er,{name:"SenderSignedData"}),ui=a.struct("PasskeyAuthenticator",{authenticatorData:a.vector(a.u8()),clientDataJson:a.string(),userSignature:a.vector(a.u8())}),li=a.enum("PackageUpgradeError",{UnableToFetchPackage:a.struct("UnableToFetchPackage",{packageId:E}),NotAPackage:a.struct("NotAPackage",{objectId:E}),IncompatibleUpgrade:null,DigestDoesNotMatch:a.struct("DigestDoesNotMatch",{digest:a.vector(a.u8())}),UnknownUpgradePolicy:a.struct("UnknownUpgradePolicy",{policy:a.u8()}),PackageIDDoesNotMatch:a.struct("PackageIDDoesNotMatch",{packageId:E,ticketId:E})}),di=a.struct("ModuleId",{address:E,name:a.string()}),Mn=a.struct("MoveLocation",{module:di,function:a.u16(),instruction:a.u16(),functionName:a.option(a.string())}),hi=a.enum("CommandArgumentError",{TypeMismatch:null,InvalidBCSBytes:null,InvalidUsageOfPureArg:null,InvalidArgumentToPrivateEntryFunction:null,IndexOutOfBounds:a.struct("IndexOutOfBounds",{idx:a.u16()}),SecondaryIndexOutOfBounds:a.struct("SecondaryIndexOutOfBounds",{resultIdx:a.u16(),secondaryIdx:a.u16()}),InvalidResultArity:a.struct("InvalidResultArity",{resultIdx:a.u16()}),InvalidGasCoinUsage:null,InvalidValueUsage:null,InvalidObjectByValue:null,InvalidObjectByMutRef:null,SharedObjectOperationNotAllowed:null}),pi=a.enum("TypeArgumentError",{TypeNotFound:null,ConstraintNotSatisfied:null}),fi=a.enum("ExecutionFailureStatus",{InsufficientGas:null,InvalidGasObject:null,InvariantViolation:null,FeatureNotYetSupported:null,MoveObjectTooBig:a.struct("MoveObjectTooBig",{objectSize:a.u64(),maxObjectSize:a.u64()}),MovePackageTooBig:a.struct("MovePackageTooBig",{objectSize:a.u64(),maxObjectSize:a.u64()}),CircularObjectOwnership:a.struct("CircularObjectOwnership",{object:E}),InsufficientCoinBalance:null,CoinBalanceOverflow:null,PublishErrorNonZeroAddress:null,SuiMoveVerificationError:null,MovePrimitiveRuntimeError:a.option(Mn),MoveAbort:a.tuple([Mn,a.u64()]),VMVerificationOrDeserializationError:null,VMInvariantViolation:null,FunctionNotFound:null,ArityMismatch:null,TypeArityMismatch:null,NonEntryFunctionInvoked:null,CommandArgumentError:a.struct("CommandArgumentError",{argIdx:a.u16(),kind:hi}),TypeArgumentError:a.struct("TypeArgumentError",{argumentIdx:a.u16(),kind:pi}),UnusedValueWithoutDrop:a.struct("UnusedValueWithoutDrop",{resultIdx:a.u16(),secondaryIdx:a.u16()}),InvalidPublicFunctionReturnType:a.struct("InvalidPublicFunctionReturnType",{idx:a.u16()}),InvalidTransferObject:null,EffectsTooLarge:a.struct("EffectsTooLarge",{currentSize:a.u64(),maxSize:a.u64()}),PublishUpgradeMissingDependency:null,PublishUpgradeDependencyDowngrade:null,PackageUpgradeError:a.struct("PackageUpgradeError",{upgradeError:li}),WrittenObjectsTooLarge:a.struct("WrittenObjectsTooLarge",{currentSize:a.u64(),maxSize:a.u64()}),CertificateDenied:null,SuiMoveVerificationTimedout:null,SharedObjectOperationNotAllowed:null,InputObjectDeleted:null,ExecutionCancelledDueToSharedObjectCongestion:a.struct("ExecutionCancelledDueToSharedObjectCongestion",{congestedObjects:a.vector(E)}),AddressDeniedForCoin:a.struct("AddressDeniedForCoin",{address:E,coinType:a.string()}),CoinTypeGlobalPause:a.struct("CoinTypeGlobalPause",{coinType:a.string()}),ExecutionCancelledDueToRandomnessUnavailable:null}),Tr=a.enum("ExecutionStatus",{Success:null,Failed:a.struct("ExecutionFailed",{error:fi,command:a.option(a.u64())})}),Ir=a.struct("GasCostSummary",{computationCost:a.u64(),storageCost:a.u64(),storageRebate:a.u64(),nonRefundableStorageFee:a.u64()}),gi=a.struct("TransactionEffectsV1",{status:Tr,executedEpoch:a.u64(),gasUsed:Ir,modifiedAtVersions:a.vector(a.tuple([E,a.u64()])),sharedObjects:a.vector(H),transactionDigest:ie,created:a.vector(a.tuple([H,Pe])),mutated:a.vector(a.tuple([H,Pe])),unwrapped:a.vector(a.tuple([H,Pe])),deleted:a.vector(H),unwrappedThenDeleted:a.vector(H),wrapped:a.vector(H),gasObject:a.tuple([H,Pe]),eventsDigest:a.option(ie),dependencies:a.vector(ie)}),dn=a.tuple([a.u64(),ie]),mi=a.enum("ObjectIn",{NotExist:null,Exist:a.tuple([dn,Pe])}),yi=a.enum("ObjectOut",{NotExist:null,ObjectWrite:a.tuple([ie,Pe]),PackageWrite:dn}),wi=a.enum("IDOperation",{None:null,Created:null,Deleted:null}),bi=a.struct("EffectsObjectChange",{inputState:mi,outputState:yi,idOperation:wi}),vi=a.enum("UnchangedSharedKind",{ReadOnlyRoot:dn,MutateDeleted:a.u64(),ReadDeleted:a.u64(),Cancelled:a.u64(),PerEpochConfig:null}),ki=a.struct("TransactionEffectsV2",{status:Tr,executedEpoch:a.u64(),gasUsed:Ir,transactionDigest:ie,gasObjectIndex:a.option(a.u32()),eventsDigest:a.option(ie),dependencies:a.vector(ie),lamportVersion:a.u64(),changedObjects:a.vector(a.tuple([E,bi])),unchangedSharedObjects:a.vector(a.tuple([E,vi])),auxDataDigest:a.option(ie)}),Si=a.enum("TransactionEffects",{V1:gi,V2:ki});function Ze(n){switch(n){case"u8":return a.u8();case"u16":return a.u16();case"u32":return a.u32();case"u64":return a.u64();case"u128":return a.u128();case"u256":return a.u256();case"bool":return a.bool();case"string":return a.string();case"id":case"address":return E}const e=n.match(/^(vector|option)<(.+)>$/);if(e){const[t,r]=e.slice(1);return t==="vector"?a.vector(Ze(r)):a.option(Ze(r))}throw new Error(`Invalid Pure type name: ${n}`)}const m={...a,U8:a.u8(),U16:a.u16(),U32:a.u32(),U64:a.u64(),U128:a.u128(),U256:a.u256(),ULEB128:a.uleb128(),Bool:a.bool(),String:a.string(),Address:E,AppId:yr,Argument:ce,CallArg:ir,Command:or,CompressedSignature:vr,GasData:hr,Intent:wr,IntentMessage:br,IntentScope:gr,IntentVersion:mr,MultiSig:ai,MultiSigPkMap:Sr,MultiSigPublicKey:Or,ObjectArg:sr,ObjectDigest:ie,Owner:Pe,PasskeyAuthenticator:ui,ProgrammableMoveCall:ar,ProgrammableTransaction:cr,PublicKey:kr,SenderSignedData:ci,SenderSignedTransaction:Er,SharedObjectRef:rr,StructTag:dr,SuiObjectRef:H,TransactionData:fr,TransactionDataV1:pr,TransactionEffects:Si,TransactionExpiration:lr,TransactionKind:ur,TypeTag:ln};function Oi(n,e,t){const r=m.Address.serialize(n).toBytes(),s=m.TypeTag.serialize(e).toBytes(),i=m.u64().serialize(t.length).toBytes(),o=tt.create({dkLen:32});return o.update(new Uint8Array([240])),o.update(r),o.update(i),o.update(t),o.update(s),`0x${We(o.digest().slice(0,32))}`}const jr="1.37.2",Ei="1.55.0",Ti={"-32700":"ParseError","-32701":"OversizedRequest","-32702":"OversizedResponse","-32600":"InvalidRequest","-32601":"MethodNotFound","-32602":"InvalidParams","-32603":"InternalError","-32604":"ServerBusy","-32000":"CallExecutionFailed","-32001":"UnknownError","-32003":"SubscriptionClosed","-32004":"SubscriptionClosedWithError","-32005":"BatchesNotSupported","-32006":"TooManySubscriptions","-32050":"TransientError","-32002":"TransactionExecutionClientError"};class Cr extends Error{}class Mr extends Cr{constructor(e,t){super(e),this.code=t,this.type=Ti[t]??"ServerError"}}class Ii extends Cr{constructor(e,t,r){super(e),this.status=t,this.statusText=r}}var _r=n=>{throw TypeError(n)},hn=(n,e,t)=>e.has(n)||_r("Cannot "+t),T=(n,e,t)=>(hn(n,e,"read from private field"),t?t.call(n):e.get(n)),Ce=(n,e,t)=>e.has(n)?_r("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(n):e.set(n,t),Fe=(n,e,t,r)=>(hn(n,e,"write to private field"),e.set(n,t),t),Pr=(n,e,t)=>(hn(n,e,"access private method"),t),ji=(n,e,t,r)=>({set _(s){Fe(n,e,s)},get _(){return T(n,e,r)}}),Oe,Ye,ye,$e,nt,xe,Tt,$r,xr;function Ci(n){const e=new URL(n);return e.protocol=e.protocol.replace("http","ws"),e.toString()}const Mi={WebSocketConstructor:typeof WebSocket<"u"?WebSocket:void 0,callTimeout:3e4,reconnectTimeout:3e3,maxReconnects:5};class _i{constructor(e,t={}){if(Ce(this,Tt),Ce(this,Oe,0),Ce(this,Ye,0),Ce(this,ye,null),Ce(this,$e,null),Ce(this,nt,new Set),Ce(this,xe,new Map),this.endpoint=e,this.options={...Mi,...t},!this.options.WebSocketConstructor)throw new Error("Missing WebSocket constructor");this.endpoint.startsWith("http")&&(this.endpoint=Ci(this.endpoint))}async makeRequest(e,t,r){const s=await Pr(this,Tt,$r).call(this);return new Promise((i,o)=>{Fe(this,Oe,T(this,Oe)+1),T(this,xe).set(T(this,Oe),{resolve:i,reject:o,timeout:setTimeout(()=>{T(this,xe).delete(T(this,Oe)),o(new Error(`Request timeout: ${e}`))},this.options.callTimeout)}),r?.addEventListener("abort",()=>{T(this,xe).delete(T(this,Oe)),o(r.reason)}),s.send(JSON.stringify({jsonrpc:"2.0",id:T(this,Oe),method:e,params:t}))}).then(({error:i,result:o})=>{if(i)throw new Mr(i.message,i.code);return o})}async subscribe(e){const t=new Pi(e);return T(this,nt).add(t),await t.subscribe(this),()=>t.unsubscribe(this)}}Oe=new WeakMap;Ye=new WeakMap;ye=new WeakMap;$e=new WeakMap;nt=new WeakMap;xe=new WeakMap;Tt=new WeakSet;$r=function(){return T(this,$e)?T(this,$e):(Fe(this,$e,new Promise(n=>{T(this,ye)?.close(),Fe(this,ye,new this.options.WebSocketConstructor(this.endpoint)),T(this,ye).addEventListener("open",()=>{Fe(this,Ye,0),n(T(this,ye))}),T(this,ye).addEventListener("close",()=>{ji(this,Ye)._++,T(this,Ye)<=this.options.maxReconnects&&setTimeout(()=>{Pr(this,Tt,xr).call(this)},this.options.reconnectTimeout)}),T(this,ye).addEventListener("message",({data:e})=>{let t;try{t=JSON.parse(e)}catch(r){console.error(new Error(`Failed to parse RPC message: ${e}`,{cause:r}));return}if("id"in t&&t.id!=null&&T(this,xe).has(t.id)){const{resolve:r,timeout:s}=T(this,xe).get(t.id);clearTimeout(s),r(t)}else if("params"in t){const{params:r}=t;T(this,nt).forEach(s=>{s.subscriptionId===r.subscription&&r.subscription===s.subscriptionId&&s.onMessage(r.result)})}})})),T(this,$e))};xr=async function(){return T(this,ye)?.close(),Fe(this,$e,null),Promise.allSettled([...T(this,nt)].map(n=>n.subscribe(this)))};class Pi{constructor(e){this.subscriptionId=null,this.subscribed=!1,this.input=e}onMessage(e){this.subscribed&&this.input.onMessage(e)}async unsubscribe(e){const{subscriptionId:t}=this;return this.subscribed=!1,t==null?!1:(this.subscriptionId=null,e.makeRequest(this.input.unsubscribe,[t]))}async subscribe(e){this.subscriptionId=null,this.subscribed=!0;const t=await e.makeRequest(this.input.method,this.input.params,this.input.signal);this.subscribed&&(this.subscriptionId=t)}}var Ar=n=>{throw TypeError(n)},pn=(n,e,t)=>e.has(n)||Ar("Cannot "+t),J=(n,e,t)=>(pn(n,e,"read from private field"),t?t.call(n):e.get(n)),dt=(n,e,t)=>e.has(n)?Ar("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(n):e.set(n,t),Lt=(n,e,t,r)=>(pn(n,e,"write to private field"),e.set(n,t),t),$i=(n,e,t)=>(pn(n,e,"access private method"),t),Je,ne,Xe,Kt,Rr;class xi{constructor(e){dt(this,Kt),dt(this,Je,0),dt(this,ne),dt(this,Xe),Lt(this,ne,e)}fetch(e,t){const r=J(this,ne).fetch??fetch;if(!r)throw new Error("The current environment does not support fetch, you can provide a fetch implementation in the options for SuiHTTPTransport.");return r(e,t)}async request(e){Lt(this,Je,J(this,Je)+1);const t=await this.fetch(J(this,ne).rpc?.url??J(this,ne).url,{method:"POST",signal:e.signal,headers:{"Content-Type":"application/json","Client-Sdk-Type":"typescript","Client-Sdk-Version":jr,"Client-Target-Api-Version":Ei,"Client-Request-Method":e.method,...J(this,ne).rpc?.headers},body:JSON.stringify({jsonrpc:"2.0",id:J(this,Je),method:e.method,params:e.params})});if(!t.ok)throw new Ii(`Unexpected status code: ${t.status}`,t.status,t.statusText);const r=await t.json();if("error"in r&&r.error!=null)throw new Mr(r.error.message,r.error.code);return r.result}async subscribe(e){const t=await $i(this,Kt,Rr).call(this).subscribe(e);return e.signal&&(e.signal.throwIfAborted(),e.signal.addEventListener("abort",()=>{t()})),async()=>!!await t()}}Je=new WeakMap;ne=new WeakMap;Xe=new WeakMap;Kt=new WeakSet;Rr=function(){if(!J(this,Xe)){const n=J(this,ne).WebSocketConstructor??WebSocket;if(!n)throw new Error("The current environment does not support WebSocket, you can provide a WebSocketConstructor in the options for SuiHTTPTransport.");Lt(this,Xe,new _i(J(this,ne).websocket?.url??J(this,ne).url,{WebSocketConstructor:n,...J(this,ne).websocket}))}return J(this,Xe)};var Br=n=>{throw TypeError(n)},Ur=(n,e,t)=>e.has(n)||Br("Cannot "+t),U=(n,e,t)=>(Ur(n,e,"read from private field"),e.get(n)),_n=(n,e,t)=>e.has(n)?Br("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(n):e.set(n,t),Pn=(n,e,t,r)=>(Ur(n,e,"write to private field"),e.set(n,t),t),_e,N;const Ai=class Dr{constructor({prefix:e,cache:t}={}){_n(this,_e),_n(this,N),Pn(this,_e,e??[]),Pn(this,N,t??new Map)}read(e,t){const r=[U(this,_e),...e].join(":");if(U(this,N).has(r))return U(this,N).get(r);const s=t();return U(this,N).set(r,s),typeof s=="object"&&s!==null&&"then"in s?Promise.resolve(s).then(i=>(U(this,N).set(r,i),i)).catch(i=>{throw U(this,N).delete(r),i}):s}readSync(e,t){const r=[U(this,_e),...e].join(":");if(U(this,N).has(r))return U(this,N).get(r);const s=t();return U(this,N).set(r,s),s}clear(e){const t=[...U(this,_e),...e??[]].join(":");if(!t){U(this,N).clear();return}for(const r of U(this,N).keys())r.startsWith(t)&&U(this,N).delete(r)}scope(e){return new Dr({prefix:[...U(this,_e),...Array.isArray(e)?e:[e]],cache:U(this,N)})}};_e=new WeakMap;N=new WeakMap;let Ri=Ai;class Nr{constructor({network:e,base:t,cache:r=t?.cache??new Ri}){this.network=e,this.base=t??this,this.cache=r}$extend(...e){return Object.create(this,Object.fromEntries(e.map(t=>{if("experimental_asClientExtension"in t){const{name:r,register:s}=t.experimental_asClientExtension();return[r,{value:s(this)}]}return[t.name,{value:t.register(this)}]})))}}var Dt;function Bi(n){return{lang:n?.lang??Dt?.lang,message:n?.message,abortEarly:n?.abortEarly??Dt?.abortEarly,abortPipeEarly:n?.abortPipeEarly??Dt?.abortPipeEarly}}var Ui;function Di(n){return Ui?.get(n)}var Ni;function Vi(n){return Ni?.get(n)}var zi;function Fi(n,e){return zi?.get(n)?.get(e)}function Vr(n){const e=typeof n;return e==="string"?`"${n}"`:e==="number"||e==="bigint"||e==="boolean"?`${n}`:e==="object"||e==="function"?(n&&Object.getPrototypeOf(n)?.constructor?.name)??"null":e}function q(n,e,t,r,s){const i=s&&"input"in s?s.input:t.value,o=s?.expected??n.expects??null,c=s?.received??Vr(i),u={kind:n.kind,type:n.type,input:i,expected:o,received:c,message:`Invalid ${e}: ${o?`Expected ${o} but r`:"R"}eceived ${c}`,requirement:n.requirement,path:s?.path,issues:s?.issues,lang:r.lang,abortEarly:r.abortEarly,abortPipeEarly:r.abortPipeEarly},f=n.kind==="schema",h=s?.message??n.message??Fi(n.reference,u.lang)??(f?Vi(u.lang):null)??r.message??Di(u.lang);h&&(u.message=typeof h=="function"?h(u):h),f&&(t.typed=!1),t.issues?t.issues.push(u):t.issues=[u]}function Wi(n,e){return Object.hasOwn(n,e)&&e!=="__proto__"&&e!=="prototype"&&e!=="constructor"}var Li=class extends Error{issues;constructor(n){super(n[0].message),this.name="ValiError",this.issues=n}};function ot(n,e){return{kind:"validation",type:"check",reference:ot,async:!1,expects:null,requirement:n,message:e,_run(t,r){return t.typed&&!this.requirement(t.value)&&q(this,"input",t,r),t}}}function M(n){return{kind:"validation",type:"integer",reference:M,async:!1,expects:null,requirement:Number.isInteger,message:n,_run(e,t){return e.typed&&!this.requirement(e.value)&&q(this,"integer",e,t),e}}}function Ct(n){return{kind:"transformation",type:"transform",reference:Ct,async:!1,operation:n,_run(e){return e.value=this.operation(e.value),e}}}function fn(n,e,t){return typeof n.default=="function"?n.default(e,t):n.default}function Gt(n,e){return!n._run({typed:!1,value:e},{abortEarly:!0}).issues}function g(n,e){return{kind:"schema",type:"array",reference:g,expects:"Array",async:!1,item:n,message:e,_run(t,r){const s=t.value;if(Array.isArray(s)){t.typed=!0,t.value=[];for(let i=0;i<s.length;i++){const o=s[i],c=this.item._run({typed:!1,value:o},r);if(c.issues){const u={type:"array",origin:"value",input:s,key:i,value:o};for(const f of c.issues)f.path?f.path.unshift(u):f.path=[u],t.issues?.push(f);if(t.issues||(t.issues=c.issues),r.abortEarly){t.typed=!1;break}}c.typed||(t.typed=!1),t.value.push(c.value)}}else q(this,"type",t,r);return t}}}function gn(n){return{kind:"schema",type:"bigint",reference:gn,expects:"bigint",async:!1,message:n,_run(e,t){return typeof e.value=="bigint"?e.typed=!0:q(this,"type",e,t),e}}}function Mt(n){return{kind:"schema",type:"boolean",reference:Mt,expects:"boolean",async:!1,message:n,_run(e,t){return typeof e.value=="boolean"?e.typed=!0:q(this,"type",e,t),e}}}function rt(n){return{kind:"schema",type:"lazy",reference:rt,expects:"unknown",async:!1,getter:n,_run(e,t){return this.getter(e.value)._run(e,t)}}}function y(n,e){return{kind:"schema",type:"literal",reference:y,expects:Vr(n),async:!1,literal:n,message:e,_run(t,r){return t.value===this.literal?t.typed=!0:q(this,"type",t,r),t}}}function v(n,...e){const t={kind:"schema",type:"nullable",reference:v,expects:`${n.expects} | null`,async:!1,wrapped:n,_run(r,s){return r.value===null&&("default"in this&&(r.value=fn(this,r,s)),r.value===null)?(r.typed=!0,r):this.wrapped._run(r,s)}};return 0 in e&&(t.default=e[0]),t}function Le(n,...e){const t={kind:"schema",type:"nullish",reference:Le,expects:`${n.expects} | null | undefined`,async:!1,wrapped:n,_run(r,s){return(r.value===null||r.value===void 0)&&("default"in this&&(r.value=fn(this,r,s)),r.value===null||r.value===void 0)?(r.typed=!0,r):this.wrapped._run(r,s)}};return 0 in e&&(t.default=e[0]),t}function j(n){return{kind:"schema",type:"number",reference:j,expects:"number",async:!1,message:n,_run(e,t){return typeof e.value=="number"&&!isNaN(e.value)?e.typed=!0:q(this,"type",e,t),e}}}function d(n,e){return{kind:"schema",type:"object",reference:d,expects:"Object",async:!1,entries:n,message:e,_run(t,r){const s=t.value;if(s&&typeof s=="object"){t.typed=!0,t.value={};for(const i in this.entries){const o=s[i],c=this.entries[i]._run({typed:!1,value:o},r);if(c.issues){const u={type:"object",origin:"value",input:s,key:i,value:o};for(const f of c.issues)f.path?f.path.unshift(u):f.path=[u],t.issues?.push(f);if(t.issues||(t.issues=c.issues),r.abortEarly){t.typed=!1;break}}c.typed||(t.typed=!1),(c.value!==void 0||i in s)&&(t.value[i]=c.value)}}else q(this,"type",t,r);return t}}}function R(n,...e){const t={kind:"schema",type:"optional",reference:R,expects:`${n.expects} | undefined`,async:!1,wrapped:n,_run(r,s){return r.value===void 0&&("default"in this&&(r.value=fn(this,r,s)),r.value===void 0)?(r.typed=!0,r):this.wrapped._run(r,s)}};return 0 in e&&(t.default=e[0]),t}function st(n,e,t){return{kind:"schema",type:"record",reference:st,expects:"Object",async:!1,key:n,value:e,message:t,_run(r,s){const i=r.value;if(i&&typeof i=="object"){r.typed=!0,r.value={};for(const o in i)if(Wi(i,o)){const c=i[o],u=this.key._run({typed:!1,value:o},s);if(u.issues){const h={type:"object",origin:"key",input:i,key:o,value:c};for(const w of u.issues)w.path=[h],r.issues?.push(w);if(r.issues||(r.issues=u.issues),s.abortEarly){r.typed=!1;break}}const f=this.value._run({typed:!1,value:c},s);if(f.issues){const h={type:"object",origin:"value",input:i,key:o,value:c};for(const w of f.issues)w.path?w.path.unshift(h):w.path=[h],r.issues?.push(w);if(r.issues||(r.issues=f.issues),s.abortEarly){r.typed=!1;break}}(!u.typed||!f.typed)&&(r.typed=!1),u.typed&&(r.value[u.value]=f.value)}}else q(this,"type",r,s);return r}}}function b(n){return{kind:"schema",type:"string",reference:b,expects:"string",async:!1,message:n,_run(e,t){return typeof e.value=="string"?e.typed=!0:q(this,"type",e,t),e}}}function mn(n,e){return{kind:"schema",type:"tuple",reference:mn,expects:"Array",async:!1,items:n,message:e,_run(t,r){const s=t.value;if(Array.isArray(s)){t.typed=!0,t.value=[];for(let i=0;i<this.items.length;i++){const o=s[i],c=this.items[i]._run({typed:!1,value:o},r);if(c.issues){const u={type:"array",origin:"value",input:s,key:i,value:o};for(const f of c.issues)f.path?f.path.unshift(u):f.path=[u],t.issues?.push(f);if(t.issues||(t.issues=c.issues),r.abortEarly){t.typed=!1;break}}c.typed||(t.typed=!1),t.value.push(c.value)}}else q(this,"type",t,r);return t}}}function $n(n){let e;if(n)for(const t of n)e?e.push(...t.issues):e=t.issues;return e}function B(n,e){return{kind:"schema",type:"union",reference:B,expects:[...new Set(n.map(t=>t.expects))].join(" | ")||"never",async:!1,options:n,message:e,_run(t,r){let s,i,o;for(const c of this.options){const u=c._run({typed:!1,value:t.value},r);if(u.typed)if(u.issues)i?i.push(u):i=[u];else{s=u;break}else o?o.push(u):o=[u]}if(s)return s;if(i){if(i.length===1)return i[0];q(this,"type",t,r,{issues:$n(i)}),t.typed=!0}else{if(o?.length===1)return o[0];q(this,"type",t,r,{issues:$n(o)})}return t}}}function Be(){return{kind:"schema",type:"unknown",reference:Be,expects:"unknown",async:!1,_run(n){return n.typed=!0,n}}}function C(n,e,t){const r=n._run({typed:!1,value:e},Bi(t));if(r.issues)throw new Li(r.issues);return r.value}function S(...n){return{...n[0],pipe:n,_run(e,t){for(let r=0;r<n.length;r++){if(e.issues&&(n[r].kind==="schema"||n[r].kind==="transformation")){e.typed=!1;break}(!e.issues||!t.abortEarly&&!t.abortPipeEarly)&&(e=n[r]._run(e,t))}return e}}}function De(n){const e=Object.entries(n).map(([t,r])=>d({[t]:r}));return S(B(e),Ct(t=>({...t,$kind:Object.keys(t)[0]})))}const Ke=S(b(),Ct(n=>k(n)),ot(ee)),G=Ke,Ue=b(),L=S(B([b(),S(j(),M())]),ot(n=>{try{return BigInt(n),BigInt(n)>=0&&BigInt(n)<=18446744073709551615n}catch{return!1}},"Invalid u64")),je=d({objectId:Ke,version:L,digest:b()}),I=S(B([d({GasCoin:y(!0)}),d({Input:S(j(),M()),type:R(y("pure"))}),d({Input:S(j(),M()),type:R(y("object"))}),d({Result:S(j(),M())}),d({NestedResult:mn([S(j(),M()),S(j(),M())])})]),Ct(n=>({...n,$kind:Object.keys(n)[0]}))),Ki=d({budget:v(L),price:v(L),owner:v(Ke),payment:v(g(je))}),qt=B([y("address"),y("bool"),y("u8"),y("u16"),y("u32"),y("u64"),y("u128"),y("u256"),d({vector:rt(()=>qt)}),d({datatype:d({package:b(),module:b(),type:b(),typeParameters:g(rt(()=>qt))})}),d({typeParameter:S(j(),M())})]),Gi=d({ref:v(B([y("&"),y("&mut")])),body:qt}),qi=d({package:G,module:b(),function:b(),typeArguments:g(b()),arguments:g(I),_argumentTypes:R(v(g(Gi)))}),Hi=d({name:b(),inputs:st(b(),B([I,g(I)])),data:st(b(),Be())}),Ji=De({MoveCall:qi,TransferObjects:d({objects:g(I),address:I}),SplitCoins:d({coin:I,amounts:g(I)}),MergeCoins:d({destination:I,sources:g(I)}),Publish:d({modules:g(Ue),dependencies:g(G)}),MakeMoveVec:d({type:v(b()),elements:g(I)}),Upgrade:d({modules:g(Ue),dependencies:g(G),package:G,ticket:I}),$Intent:Hi}),zr=De({ImmOrOwnedObject:je,SharedObject:d({objectId:G,initialSharedVersion:L,mutable:Mt()}),Receiving:je}),Zi=De({Object:zr,Pure:d({bytes:Ue}),UnresolvedPure:d({value:Be()}),UnresolvedObject:d({objectId:G,version:R(v(L)),digest:R(v(b())),initialSharedVersion:R(v(L))})}),xn=De({Object:zr,Pure:d({bytes:Ue})}),Fr=De({None:y(!0),Epoch:L}),ft=d({version:y(2),sender:Le(Ke),expiration:Le(Fr),gasData:Ki,inputs:g(Zi),commands:g(Ji)}),Me={MoveCall(n){const[e,t="",r=""]="target"in n?n.target.split("::"):[n.package,n.module,n.function];return{$kind:"MoveCall",MoveCall:{package:e,module:t,function:r,typeArguments:n.typeArguments??[],arguments:n.arguments??[]}}},TransferObjects(n,e){return{$kind:"TransferObjects",TransferObjects:{objects:n.map(t=>C(I,t)),address:C(I,e)}}},SplitCoins(n,e){return{$kind:"SplitCoins",SplitCoins:{coin:C(I,n),amounts:e.map(t=>C(I,t))}}},MergeCoins(n,e){return{$kind:"MergeCoins",MergeCoins:{destination:C(I,n),sources:e.map(t=>C(I,t))}}},Publish({modules:n,dependencies:e}){return{$kind:"Publish",Publish:{modules:n.map(t=>typeof t=="string"?t:P(new Uint8Array(t))),dependencies:e.map(t=>de(t))}}},Upgrade({modules:n,dependencies:e,package:t,ticket:r}){return{$kind:"Upgrade",Upgrade:{modules:n.map(s=>typeof s=="string"?s:P(new Uint8Array(s))),dependencies:e.map(s=>de(s)),package:t,ticket:C(I,r)}}},MakeMoveVec({type:n,elements:e}){return{$kind:"MakeMoveVec",MakeMoveVec:{type:n??null,elements:e.map(t=>C(I,t))}}},Intent({name:n,inputs:e={},data:t={}}){return{$kind:"$Intent",$Intent:{name:n,inputs:Object.fromEntries(Object.entries(e).map(([r,s])=>[r,Array.isArray(s)?s.map(i=>C(I,i)):C(I,s)])),data:t}}}},Ht=d({digest:b(),objectId:b(),version:B([S(j(),M()),b(),gn()])}),Yi=De({ImmOrOwned:Ht,Shared:d({objectId:G,initialSharedVersion:L,mutable:Mt()}),Receiving:Ht}),An=De({Object:Yi,Pure:g(S(j(),M()))}),Wr=B([d({kind:y("Input"),index:S(j(),M()),value:Be(),type:R(y("object"))}),d({kind:y("Input"),index:S(j(),M()),value:Be(),type:y("pure")})]),Xi=B([d({Epoch:S(j(),M())}),d({None:v(y(!0))})]),Rn=S(B([j(),b(),gn()]),ot(n=>{if(!["string","number","bigint"].includes(typeof n))return!1;try{return BigInt(n),!0}catch{return!1}})),yn=B([d({bool:v(y(!0))}),d({u8:v(y(!0))}),d({u64:v(y(!0))}),d({u128:v(y(!0))}),d({address:v(y(!0))}),d({signer:v(y(!0))}),d({vector:rt(()=>yn)}),d({struct:rt(()=>Qi)}),d({u16:v(y(!0))}),d({u32:v(y(!0))}),d({u256:v(y(!0))})]),Qi=d({address:b(),module:b(),name:b(),typeParams:g(yn)}),ea=d({budget:R(Rn),price:R(Rn),payment:R(g(Ht)),owner:R(b())}),ta=[Wr,d({kind:y("GasCoin")}),d({kind:y("Result"),index:S(j(),M())}),d({kind:y("NestedResult"),index:S(j(),M()),resultIndex:S(j(),M())})],ve=B([...ta]),na=d({kind:y("MoveCall"),target:S(b(),ot(n=>n.split("::").length===3)),typeArguments:g(b()),arguments:g(ve)}),ra=d({kind:y("TransferObjects"),objects:g(ve),address:ve}),sa=d({kind:y("SplitCoins"),coin:ve,amounts:g(ve)}),ia=d({kind:y("MergeCoins"),destination:ve,sources:g(ve)}),aa=d({kind:y("MakeMoveVec"),type:B([d({Some:yn}),d({None:v(y(!0))})]),objects:g(ve)}),oa=d({kind:y("Publish"),modules:g(g(S(j(),M()))),dependencies:g(b())}),ca=d({kind:y("Upgrade"),modules:g(g(S(j(),M()))),dependencies:g(b()),packageId:b(),ticket:ve}),ua=[na,ra,sa,ia,oa,ca,aa],la=B([...ua]);d({version:y(1),sender:R(b()),expiration:Le(Xi),gasConfig:ea,inputs:g(Wr),transactions:g(la)});function Bn(n){const e=n.inputs.map((t,r)=>{if(t.Object)return{kind:"Input",index:r,value:{Object:t.Object.ImmOrOwnedObject?{ImmOrOwned:t.Object.ImmOrOwnedObject}:t.Object.Receiving?{Receiving:{digest:t.Object.Receiving.digest,version:t.Object.Receiving.version,objectId:t.Object.Receiving.objectId}}:{Shared:{mutable:t.Object.SharedObject.mutable,initialSharedVersion:t.Object.SharedObject.initialSharedVersion,objectId:t.Object.SharedObject.objectId}}},type:"object"};if(t.Pure)return{kind:"Input",index:r,value:{Pure:Array.from(V(t.Pure.bytes))},type:"pure"};if(t.UnresolvedPure)return{kind:"Input",type:"pure",index:r,value:t.UnresolvedPure.value};if(t.UnresolvedObject)return{kind:"Input",type:"object",index:r,value:t.UnresolvedObject.objectId};throw new Error("Invalid input")});return{version:1,sender:n.sender??void 0,expiration:n.expiration?.$kind==="Epoch"?{Epoch:Number(n.expiration.Epoch)}:n.expiration?{None:!0}:null,gasConfig:{owner:n.gasData.owner??void 0,budget:n.gasData.budget??void 0,price:n.gasData.price??void 0,payment:n.gasData.payment??void 0},inputs:e,transactions:n.commands.map(t=>{if(t.MakeMoveVec)return{kind:"MakeMoveVec",type:t.MakeMoveVec.type===null?{None:!0}:{Some:re.parseFromStr(t.MakeMoveVec.type)},objects:t.MakeMoveVec.elements.map(r=>fe(r,e))};if(t.MergeCoins)return{kind:"MergeCoins",destination:fe(t.MergeCoins.destination,e),sources:t.MergeCoins.sources.map(r=>fe(r,e))};if(t.MoveCall)return{kind:"MoveCall",target:`${t.MoveCall.package}::${t.MoveCall.module}::${t.MoveCall.function}`,typeArguments:t.MoveCall.typeArguments,arguments:t.MoveCall.arguments.map(r=>fe(r,e))};if(t.Publish)return{kind:"Publish",modules:t.Publish.modules.map(r=>Array.from(V(r))),dependencies:t.Publish.dependencies};if(t.SplitCoins)return{kind:"SplitCoins",coin:fe(t.SplitCoins.coin,e),amounts:t.SplitCoins.amounts.map(r=>fe(r,e))};if(t.TransferObjects)return{kind:"TransferObjects",objects:t.TransferObjects.objects.map(r=>fe(r,e)),address:fe(t.TransferObjects.address,e)};if(t.Upgrade)return{kind:"Upgrade",modules:t.Upgrade.modules.map(r=>Array.from(V(r))),dependencies:t.Upgrade.dependencies,packageId:t.Upgrade.package,ticket:fe(t.Upgrade.ticket,e)};throw new Error(`Unknown transaction ${Object.keys(t)}`)})}}function fe(n,e){if(n.$kind==="GasCoin")return{kind:"GasCoin"};if(n.$kind==="Result")return{kind:"Result",index:n.Result};if(n.$kind==="NestedResult")return{kind:"NestedResult",index:n.NestedResult[0],resultIndex:n.NestedResult[1]};if(n.$kind==="Input")return e[n.Input];throw new Error(`Invalid argument ${Object.keys(n)}`)}function da(n){return C(ft,{version:2,sender:n.sender??null,expiration:n.expiration?"Epoch"in n.expiration?{Epoch:n.expiration.Epoch}:{None:!0}:null,gasData:{owner:n.gasConfig.owner??null,budget:n.gasConfig.budget?.toString()??null,price:n.gasConfig.price?.toString()??null,payment:n.gasConfig.payment?.map(e=>({digest:e.digest,objectId:e.objectId,version:e.version.toString()}))??null},inputs:n.inputs.map(e=>{if(e.kind==="Input"){if(Gt(An,e.value)){const t=C(An,e.value);if(t.Object){if(t.Object.ImmOrOwned)return{Object:{ImmOrOwnedObject:{objectId:t.Object.ImmOrOwned.objectId,version:String(t.Object.ImmOrOwned.version),digest:t.Object.ImmOrOwned.digest}}};if(t.Object.Shared)return{Object:{SharedObject:{mutable:t.Object.Shared.mutable??null,initialSharedVersion:t.Object.Shared.initialSharedVersion,objectId:t.Object.Shared.objectId}}};if(t.Object.Receiving)return{Object:{Receiving:{digest:t.Object.Receiving.digest,version:String(t.Object.Receiving.version),objectId:t.Object.Receiving.objectId}}};throw new Error("Invalid object input")}return{Pure:{bytes:P(new Uint8Array(t.Pure))}}}return e.type==="object"?{UnresolvedObject:{objectId:e.value}}:{UnresolvedPure:{value:e.value}}}throw new Error("Invalid input")}),commands:n.transactions.map(e=>{switch(e.kind){case"MakeMoveVec":return{MakeMoveVec:{type:"Some"in e.type?re.tagToString(e.type.Some):null,elements:e.objects.map(t=>ge(t))}};case"MergeCoins":return{MergeCoins:{destination:ge(e.destination),sources:e.sources.map(t=>ge(t))}};case"MoveCall":{const[t,r,s]=e.target.split("::");return{MoveCall:{package:t,module:r,function:s,typeArguments:e.typeArguments,arguments:e.arguments.map(i=>ge(i))}}}case"Publish":return{Publish:{modules:e.modules.map(t=>P(Uint8Array.from(t))),dependencies:e.dependencies}};case"SplitCoins":return{SplitCoins:{coin:ge(e.coin),amounts:e.amounts.map(t=>ge(t))}};case"TransferObjects":return{TransferObjects:{objects:e.objects.map(t=>ge(t)),address:ge(e.address)}};case"Upgrade":return{Upgrade:{modules:e.modules.map(t=>P(Uint8Array.from(t))),dependencies:e.dependencies,package:e.packageId,ticket:ge(e.ticket)}}}throw new Error(`Unknown transaction ${Object.keys(e)}`)})})}function ge(n){switch(n.kind){case"GasCoin":return{GasCoin:!0};case"Result":return{Result:n.index};case"NestedResult":return{NestedResult:[n.index,n.resultIndex]};case"Input":return{Input:n.index}}}function ct(n){return B(Object.entries(n).map(([e,t])=>d({[e]:t})))}const Q=ct({GasCoin:y(!0),Input:S(j(),M()),Result:S(j(),M()),NestedResult:mn([S(j(),M()),S(j(),M())])}),ha=d({budget:v(L),price:v(L),owner:v(Ke),payment:v(g(je))}),pa=d({package:G,module:b(),function:b(),typeArguments:g(b()),arguments:g(Q)}),fa=d({name:b(),inputs:st(b(),B([Q,g(Q)])),data:st(b(),Be())}),ga=ct({MoveCall:pa,TransferObjects:d({objects:g(Q),address:Q}),SplitCoins:d({coin:Q,amounts:g(Q)}),MergeCoins:d({destination:Q,sources:g(Q)}),Publish:d({modules:g(Ue),dependencies:g(G)}),MakeMoveVec:d({type:v(b()),elements:g(Q)}),Upgrade:d({modules:g(Ue),dependencies:g(G),package:G,ticket:Q}),$Intent:fa}),ma=ct({ImmOrOwnedObject:je,SharedObject:d({objectId:G,initialSharedVersion:L,mutable:Mt()}),Receiving:je}),ya=ct({Object:ma,Pure:d({bytes:Ue}),UnresolvedPure:d({value:Be()}),UnresolvedObject:d({objectId:G,version:R(v(L)),digest:R(v(b())),initialSharedVersion:R(v(L))})}),wa=ct({None:y(!0),Epoch:L}),ba=d({version:y(2),sender:Le(Ke),expiration:Le(wa),gasData:ha,inputs:g(ya),commands:g(ga),digest:R(v(b()))});function va(n){return{$kind:"Pure",Pure:{bytes:n instanceof Uint8Array?P(n):n.toBase64()}}}const be={Pure:va,ObjectRef({objectId:n,digest:e,version:t}){return{$kind:"Object",Object:{$kind:"ImmOrOwnedObject",ImmOrOwnedObject:{digest:e,version:t,objectId:k(n)}}}},SharedObjectRef({objectId:n,mutable:e,initialSharedVersion:t}){return{$kind:"Object",Object:{$kind:"SharedObject",SharedObject:{mutable:e,initialSharedVersion:t,objectId:k(n)}}}},ReceivingRef({objectId:n,digest:e,version:t}){return{$kind:"Object",Object:{$kind:"Receiving",Receiving:{digest:e,version:t,objectId:k(n)}}}}},ka="object",Sa="ID",Oa="ascii",Ea="String",Ta="string",Ia="String",ja="option",Ca="Option";function Ma(n){const e=typeof n.body=="object"&&"datatype"in n.body?n.body.datatype:null;return!!e&&k(e.package)===k("0x2")&&e.module==="tx_context"&&e.type==="TxContext"}function Jt(n){if(typeof n=="string")switch(n){case"address":return m.Address;case"bool":return m.Bool;case"u8":return m.U8;case"u16":return m.U16;case"u32":return m.U32;case"u64":return m.U64;case"u128":return m.U128;case"u256":return m.U256;default:throw new Error(`Unknown type signature ${n}`)}if("vector"in n){if(n.vector==="u8")return m.vector(m.U8).transform({input:t=>typeof t=="string"?new TextEncoder().encode(t):t,output:t=>t});const e=Jt(n.vector);return e?m.vector(e):null}if("datatype"in n){const e=k(n.datatype.package);if(e===k(ei)){if(n.datatype.module===Oa&&n.datatype.type===Ea||n.datatype.module===Ta&&n.datatype.type===Ia)return m.String;if(n.datatype.module===ja&&n.datatype.type===Ca){const t=Jt(n.datatype.typeParameters[0]);return t?m.vector(t):null}}if(e===k(nr)&&n.datatype.module===ka&&n.datatype.type===Sa)return m.Address}return null}function _a(n){return typeof n=="object"&&"Reference"in n?{ref:"&",body:Qe(n.Reference)}:typeof n=="object"&&"MutableReference"in n?{ref:"&mut",body:Qe(n.MutableReference)}:{ref:null,body:Qe(n)}}function Qe(n){if(typeof n=="string")switch(n){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 ${n}`)}if("Vector"in n)return{vector:Qe(n.Vector)};if("Struct"in n)return{datatype:{package:n.Struct.address,module:n.Struct.module,type:n.Struct.name,typeParameters:n.Struct.typeArguments.map(Qe)}};if("TypeParameter"in n)return{typeParameter:n.TypeParameter};throw new Error(`Unexpected type ${JSON.stringify(n)}`)}const Pa=50,$a=1000n,xa=5e10;function Lr(n){return async function(t,r,s){return await Da(t,n),await Ua(t,n),r.onlyTransactionKind||(await Aa(t,n),await Ra(t,n),await Ba(t,n)),await s()}}async function Aa(n,e){n.gasConfig.price||(n.gasConfig.price=String(await e.getReferenceGasPrice()))}async function Ra(n,e){if(n.gasConfig.budget)return;const t=await e.dryRunTransactionBlock({transactionBlock:n.build({overrides:{gasData:{budget:String(xa),payment:[]}}})});if(t.effects.status.status!=="success")throw new Error(`Dry run failed, could not automatically determine a budget: ${t.effects.status.error}`,{cause:t});const r=$a*BigInt(n.gasConfig.price||1n),s=BigInt(t.effects.gasUsed.computationCost)+r,i=s+BigInt(t.effects.gasUsed.storageCost)-BigInt(t.effects.gasUsed.storageRebate);n.gasConfig.budget=String(i>s?i:s)}async function Ba(n,e){if(!n.gasConfig.payment){const r=(await e.getCoins({owner:n.gasConfig.owner||n.sender,coinType:ti})).data.filter(s=>!n.inputs.find(o=>o.Object?.ImmOrOwnedObject?s.coinObjectId===o.Object.ImmOrOwnedObject.objectId:!1)).map(s=>({objectId:s.coinObjectId,digest:s.digest,version:s.version}));if(!r.length)throw new Error("No valid gas coins found for the transaction.");n.gasConfig.payment=r.map(s=>C(je,s))}}async function Ua(n,e){const t=n.inputs.filter(h=>h.UnresolvedObject&&!(h.UnresolvedObject.version||h.UnresolvedObject?.initialSharedVersion)),r=[...new Set(t.map(h=>de(h.UnresolvedObject.objectId)))],s=r.length?jt(r,Pa):[],i=(await Promise.all(s.map(h=>e.multiGetObjects({ids:h,options:{showOwner:!0}})))).flat(),o=new Map(r.map((h,w)=>[h,i[w]])),c=Array.from(o).filter(([h,w])=>w.error).map(([h,w])=>JSON.stringify(w.error));if(c.length)throw new Error(`The following input objects are invalid: ${c.join(", ")}`);const u=i.map(h=>{if(h.error||!h.data)throw new Error(`Failed to fetch object: ${h.error}`);const w=h.data.owner,A=w&&typeof w=="object"?"Shared"in w?w.Shared.initial_shared_version:"ConsensusAddressOwner"in w?w.ConsensusAddressOwner.start_version:null:null;return{objectId:h.data.objectId,digest:h.data.digest,version:h.data.version,initialSharedVersion:A}}),f=new Map(r.map((h,w)=>[h,u[w]]));for(const[h,w]of n.inputs.entries()){if(!w.UnresolvedObject)continue;let A;const ae=k(w.UnresolvedObject.objectId),z=f.get(ae);w.UnresolvedObject.initialSharedVersion??z?.initialSharedVersion?A=be.SharedObjectRef({objectId:ae,initialSharedVersion:w.UnresolvedObject.initialSharedVersion||z?.initialSharedVersion,mutable:Na(n,h)}):Va(n,h)&&(A=be.ReceivingRef({objectId:ae,digest:w.UnresolvedObject.digest??z?.digest,version:w.UnresolvedObject.version??z?.version})),n.inputs[n.inputs.indexOf(w)]=A??be.ObjectRef({objectId:ae,digest:w.UnresolvedObject.digest??z?.digest,version:w.UnresolvedObject.version??z?.version})}}async function Da(n,e){const{inputs:t,commands:r}=n,s=[],i=new Set;r.forEach(c=>{if(c.MoveCall){if(c.MoveCall._argumentTypes)return;if(c.MoveCall.arguments.map(h=>h.$kind==="Input"?n.inputs[h.Input]:null).some(h=>h?.UnresolvedPure||h?.UnresolvedObject)){const h=`${c.MoveCall.package}::${c.MoveCall.module}::${c.MoveCall.function}`;i.add(h),s.push(c.MoveCall)}}});const o=new Map;i.size>0&&await Promise.all([...i].map(async c=>{const[u,f,h]=c.split("::"),w=await e.getNormalizedMoveFunction({package:u,module:f,function:h});o.set(c,w.parameters.map(A=>_a(A)))})),s.length&&await Promise.all(s.map(async c=>{const u=o.get(`${c.package}::${c.module}::${c.function}`);if(!u)return;const h=u.length>0&&Ma(u.at(-1))?u.slice(0,u.length-1):u;c._argumentTypes=h})),r.forEach(c=>{if(!c.MoveCall)return;const u=c.MoveCall,f=`${u.package}::${u.module}::${u.function}`,h=u._argumentTypes;if(h){if(h.length!==c.MoveCall.arguments.length)throw new Error(`Incorrect number of arguments for ${f}`);h.forEach((w,A)=>{const ae=u.arguments[A];if(ae.$kind!=="Input")return;const z=t[ae.Input];if(!z.UnresolvedPure&&!z.UnresolvedObject)return;const ut=z.UnresolvedPure?.value??z.UnresolvedObject?.objectId,En=Jt(w.body);if(En){ae.type="pure",t[t.indexOf(z)]=be.Pure(En.serialize(ut));return}if(typeof ut!="string")throw new Error(`Expect the argument to be an object id string, got ${JSON.stringify(ut,null,2)}`);ae.type="object";const fs=z.UnresolvedPure?{$kind:"UnresolvedObject",UnresolvedObject:{objectId:ut}}:z;t[ae.Input]=fs})}})}function Na(n,e){let t=!1;return n.getInputUses(e,(r,s)=>{if(s.MoveCall&&s.MoveCall._argumentTypes){const i=s.MoveCall.arguments.indexOf(r);t=s.MoveCall._argumentTypes[i].ref!=="&"||t}(s.$kind==="MakeMoveVec"||s.$kind==="MergeCoins"||s.$kind==="SplitCoins"||s.$kind==="TransferObjects")&&(t=!0)}),t}function Va(n,e){let t=!1;return n.getInputUses(e,(r,s)=>{if(s.MoveCall&&s.MoveCall._argumentTypes){const i=s.MoveCall.arguments.indexOf(r);t=za(s.MoveCall._argumentTypes[i])||t}}),t}function za(n){return typeof n.body!="object"||!("datatype"in n.body)?!1:n.body.datatype.package==="0x2"&&n.body.datatype.module==="transfer"&&n.body.datatype.type==="Receiving"}function Kr(n,e){return!!(n.inputs.some(t=>t.UnresolvedObject||t.UnresolvedPure)||!e.onlyTransactionKind&&(!n.gasConfig.price||!n.gasConfig.budget||!n.gasConfig.payment))}async function Fa(n,e,t){if(La(n),!Kr(n,e))return await Un(n),t();const r=Wa(e);return(r.core?.resolveTransactionPlugin()??Lr(r))(n,e,async()=>{await Un(n),await t()})}function Un(n){n.inputs.forEach((e,t)=>{if(e.$kind!=="Object"&&e.$kind!=="Pure")throw new Error(`Input at index ${t} has not been resolved. Expected a Pure or Object input, but found ${JSON.stringify(e)}`)})}function Wa(n){if(!n.client)throw new Error("No sui client passed to Transaction#build, but transaction data was not sufficient to build offline.");return n.client}function La(n){for(const e of n.commands)switch(e.$kind){case"SplitCoins":e.SplitCoins.amounts.forEach(t=>{Dn(t,m.U64,n)});break;case"TransferObjects":Dn(e.TransferObjects.address,m.Address,n);break}}function Dn(n,e,t){if(n.$kind!=="Input")return;const r=t.inputs[n.Input];r.$kind==="UnresolvedPure"&&(t.inputs[n.Input]=be.Pure(e.serialize(r.UnresolvedPure.value)))}function Ka(n){function e(t){return n(t)}return e.system=()=>e("0x5"),e.clock=()=>e("0x6"),e.random=()=>e("0x8"),e.denyList=()=>e("0x403"),e.option=({type:t,value:r})=>s=>s.moveCall({typeArguments:[t],target:`0x1::option::${r===null?"none":"some"}`,arguments:r===null?[]:[s.object(r)]}),e}function Ga(n){function e(t,r){if(typeof t=="string")return n(Ze(t).serialize(r));if(t instanceof Uint8Array||cn(t))return n(t);throw new Error("tx.pure must be called either a bcs type name, or a serialized bcs value")}return e.u8=t=>n(m.U8.serialize(t)),e.u16=t=>n(m.U16.serialize(t)),e.u32=t=>n(m.U32.serialize(t)),e.u64=t=>n(m.U64.serialize(t)),e.u128=t=>n(m.U128.serialize(t)),e.u256=t=>n(m.U256.serialize(t)),e.bool=t=>n(m.Bool.serialize(t)),e.string=t=>n(m.String.serialize(t)),e.address=t=>n(m.Address.serialize(t)),e.id=e.address,e.vector=(t,r)=>n(m.vector(Ze(t)).serialize(r)),e.option=(t,r)=>n(m.option(Ze(t)).serialize(r)),e}function qa(n,e){const t=Array.from(`${n}::`).map(s=>s.charCodeAt(0)),r=new Uint8Array(t.length+e.length);return r.set(t),r.set(e,t.length),tt(r,{dkLen:32})}function Nn(n){return k(n).replace("0x","")}class F{constructor(e){this.version=2,this.sender=e?.sender??null,this.expiration=e?.expiration??null,this.inputs=e?.inputs??[],this.commands=e?.commands??[],this.gasData=e?.gasData??{budget:null,price:null,owner:null,payment:null}}static fromKindBytes(e){const r=m.TransactionKind.parse(e).ProgrammableTransaction;if(!r)throw new Error("Unable to deserialize from bytes.");return F.restore({version:2,sender:null,expiration:null,gasData:{budget:null,owner:null,payment:null,price:null},inputs:r.inputs,commands:r.commands})}static fromBytes(e){const r=m.TransactionData.parse(e)?.V1,s=r.kind.ProgrammableTransaction;if(!r||!s)throw new Error("Unable to deserialize from bytes.");return F.restore({version:2,sender:r.sender,expiration:r.expiration,gasData:r.gasData,inputs:s.inputs,commands:s.commands})}static restore(e){return e.version===2?new F(C(ft,e)):new F(C(ft,da(e)))}static getDigestFromBytes(e){const t=qa("TransactionData",e);return an(t)}get gasConfig(){return this.gasData}set gasConfig(e){this.gasData=e}build({maxSizeBytes:e=1/0,overrides:t,onlyTransactionKind:r}={}){const s=this.inputs,i=this.commands,o={ProgrammableTransaction:{inputs:s,commands:i}};if(r)return m.TransactionKind.serialize(o,{maxSize:e}).toBytes();const c=t?.expiration??this.expiration,u=t?.sender??this.sender,f={...this.gasData,...t?.gasConfig,...t?.gasData};if(!u)throw new Error("Missing transaction sender");if(!f.budget)throw new Error("Missing gas budget");if(!f.payment)throw new Error("Missing gas payment");if(!f.price)throw new Error("Missing gas price");const h={sender:Nn(u),expiration:c||{None:!0},gasData:{payment:f.payment,owner:Nn(this.gasData.owner??u),price:BigInt(f.price),budget:BigInt(f.budget)},kind:{ProgrammableTransaction:{inputs:s,commands:i}}};return m.TransactionData.serialize({V1:h},{maxSize:e}).toBytes()}addInput(e,t){const r=this.inputs.length;return this.inputs.push(t),{Input:r,type:e,$kind:"Input"}}getInputUses(e,t){this.mapArguments((r,s)=>(r.$kind==="Input"&&r.Input===e&&t(r,s),r))}mapCommandArguments(e,t){const r=this.commands[e];switch(r.$kind){case"MoveCall":r.MoveCall.arguments=r.MoveCall.arguments.map(i=>t(i,r,e));break;case"TransferObjects":r.TransferObjects.objects=r.TransferObjects.objects.map(i=>t(i,r,e)),r.TransferObjects.address=t(r.TransferObjects.address,r,e);break;case"SplitCoins":r.SplitCoins.coin=t(r.SplitCoins.coin,r,e),r.SplitCoins.amounts=r.SplitCoins.amounts.map(i=>t(i,r,e));break;case"MergeCoins":r.MergeCoins.destination=t(r.MergeCoins.destination,r,e),r.MergeCoins.sources=r.MergeCoins.sources.map(i=>t(i,r,e));break;case"MakeMoveVec":r.MakeMoveVec.elements=r.MakeMoveVec.elements.map(i=>t(i,r,e));break;case"Upgrade":r.Upgrade.ticket=t(r.Upgrade.ticket,r,e);break;case"$Intent":const s=r.$Intent.inputs;r.$Intent.inputs={};for(const[i,o]of Object.entries(s))r.$Intent.inputs[i]=Array.isArray(o)?o.map(c=>t(c,r,e)):t(o,r,e);break;case"Publish":break;default:throw new Error(`Unexpected transaction kind: ${r.$kind}`)}}mapArguments(e){for(const t of this.commands.keys())this.mapCommandArguments(t,e)}replaceCommand(e,t,r=e){if(!Array.isArray(t)){this.commands[e]=t;return}const s=t.length-1;this.commands.splice(e,1,...t),s!==0&&this.mapArguments((i,o,c)=>{if(c<e+t.length)return i;switch(i.$kind){case"Result":i.Result===e&&(i.Result=r),i.Result>e&&(i.Result+=s);break;case"NestedResult":i.NestedResult[0]===e&&(i.NestedResult[0]=r),i.NestedResult[0]>e&&(i.NestedResult[0]+=s);break}return i})}getDigest(){const e=this.build({onlyTransactionKind:!1});return F.getDigestFromBytes(e)}snapshot(){return C(ft,this)}shallowClone(){return new F({version:this.version,sender:this.sender,expiration:this.expiration,gasData:{...this.gasData},inputs:[...this.inputs],commands:[...this.commands]})}}function Vn(n){if(typeof n=="string")return k(n);if(n.Object)return n.Object.ImmOrOwnedObject?k(n.Object.ImmOrOwnedObject.objectId):n.Object.Receiving?k(n.Object.Receiving.objectId):k(n.Object.SharedObject.objectId);if(n.UnresolvedObject)return k(n.UnresolvedObject.objectId)}var Gr=n=>{throw TypeError(n)},wn=(n,e,t)=>e.has(n)||Gr("Cannot "+t),x=(n,e,t)=>(wn(n,e,"read from private field"),t?t.call(n):e.get(n)),Ge=(n,e,t)=>e.has(n)?Gr("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(n):e.set(n,t),ht=(n,e,t,r)=>(wn(n,e,"write to private field"),e.set(n,t),t),_t=(n,e,t)=>(wn(n,e,"access private method"),t),it,ke,at,Ee,le,Zt,Yt,qr,Hr,bn;const Ha="/",Ja={"Mvr-Source":`@mysten/sui@${jr}`};class Za{constructor({cache:e,url:t,pageSize:r=50,overrides:s}){Ge(this,le),Ge(this,it),Ge(this,ke),Ge(this,at),Ge(this,Ee),ht(this,it,e),ht(this,ke,t),ht(this,at,r),ht(this,Ee,{packages:s?.packages,types:s?.types}),Ya(x(this,Ee))}async resolvePackage({package:e}){return{package:await x(this,le,Zt).load(e)}}async resolveType({type:e}){const t=[...Xt(e)],r=await x(this,le,Yt).loadMany(t),s={};for(let i=0;i<t.length;i++){const o=r[i];if(o instanceof Error)throw o;s[t[i]]=o}return{type:Qt(e,s)}}async resolve({types:e=[],packages:t=[]}){const r=new Set;for(const h of e??[])Xt(h,r);const s=[...r],[i,o]=await Promise.all([s.length>0?x(this,le,Yt).loadMany(s):[],t.length>0?x(this,le,Zt).loadMany(t):[]]),c={...x(this,Ee)?.types};for(const[h,w]of s.entries()){const A=i[h];if(A instanceof Error)throw A;c[w]=A}const u={};for(const h of e??[]){const w=Qt(h,c);u[h]={type:w}}const f={};for(const[h,w]of(t??[]).entries()){const A=x(this,Ee)?.packages?.[w]??o[h];if(A instanceof Error)throw A;f[w]={package:A}}return{types:u,packages:f}}}it=new WeakMap;ke=new WeakMap;at=new WeakMap;Ee=new WeakMap;le=new WeakSet;Zt=function(){return x(this,it).readSync(["#mvrPackageDataLoader",x(this,ke)??""],()=>{const n=new Zn(async t=>{if(!x(this,ke))throw new Error(`MVR Api URL is not set for the current client (resolving ${t.join(", ")})`);const r=await _t(this,le,qr).call(this,t);return t.map(s=>r[s]??new Error(`Failed to resolve package: ${s}`))}),e=x(this,Ee)?.packages;if(e)for(const[t,r]of Object.entries(e))n.prime(t,r);return n})};Yt=function(){return x(this,it).readSync(["#mvrTypeDataLoader",x(this,ke)??""],()=>{const n=new Zn(async t=>{if(!x(this,ke))throw new Error(`MVR Api URL is not set for the current client (resolving ${t.join(", ")})`);const r=await _t(this,le,Hr).call(this,t);return t.map(s=>r[s]??new Error(`Failed to resolve type: ${s}`))}),e=x(this,Ee)?.types;if(e)for(const[t,r]of Object.entries(e))n.prime(t,r);return n})};qr=async function(n){if(n.length===0)return{};const e=jt(n,x(this,at)),t={};return await Promise.all(e.map(async r=>{const s=await _t(this,le,bn).call(this,"/v1/resolution/bulk",{names:r});if(s?.resolution)for(const i of Object.keys(s?.resolution)){const o=s.resolution[i]?.package_id;o&&(t[i]=o)}})),t};Hr=async function(n){if(n.length===0)return{};const e=jt(n,x(this,at)),t={};return await Promise.all(e.map(async r=>{const s=await _t(this,le,bn).call(this,"/v1/struct-definition/bulk",{types:r});if(s?.resolution)for(const i of Object.keys(s?.resolution)){const o=s.resolution[i]?.type_tag;o&&(t[i]=o)}})),t};bn=async function(n,e){if(!x(this,ke))throw new Error("MVR Api URL is not set for the current client");const t=await fetch(`${x(this,ke)}${n}`,{method:"POST",headers:{"Content-Type":"application/json",...Ja},body:JSON.stringify(e)});if(!t.ok){const r=await t.json().catch(()=>({}));throw new Error(`Failed to resolve types: ${r?.message}`)}return t.json()};function Ya(n){if(n?.packages)for(const[e,t]of Object.entries(n.packages)){if(!X(e))throw new Error(`Invalid package name: ${e}`);if(!ee(k(t)))throw new Error(`Invalid package ID: ${t}`)}if(n?.types)for(const[e,t]of Object.entries(n.types)){if(et(e).typeParams.length>0)throw new Error("Type overrides must be first-level only. If you want to supply generic types, just pass each type individually.");const r=et(t);if(!ee(r.address))throw new Error(`Invalid type: ${t}`)}}function Xt(n,e=new Set){if(typeof n=="string"&&!W(n))return e;const t=Jr(n)?n:et(n);W(t.address)&&e.add(`${t.address}::${t.module}::${t.name}`);for(const r of t.typeParams)Xt(r,e);return e}function Qt(n,e){const t=Jr(n)?n:et(n),r=`${t.address}::${t.module}::${t.name}`,s=e[r];return zt({...t,address:s?s.split("::")[0]:t.address,typeParams:t.typeParams.map(i=>Qt(i,e))})}function W(n){return n.includes(Ha)||n.includes("@")||n.includes(".sui")}function Jr(n){return typeof n=="object"&&"address"in n&&"module"in n&&"name"in n&&"typeParams"in n}function Xa(n){const e=new Set,t=new Set;for(const r of n.commands)switch(r.$kind){case"MakeMoveVec":r.MakeMoveVec.type&&zn([r.MakeMoveVec.type]).forEach(o=>{t.add(o)});break;case"MoveCall":const s=r.MoveCall,i=s.package.split("::")[0];if(W(i)){if(!X(i))throw new Error(`Invalid package name: ${i}`);e.add(i)}zn(s.typeArguments??[]).forEach(o=>{t.add(o)});break}return{packages:[...e],types:[...t]}}function Qa(n,e){for(const t of n.commands){if(t.MakeMoveVec?.type){if(!W(t.MakeMoveVec.type))continue;if(!e.types[t.MakeMoveVec.type])throw new Error(`No resolution found for type: ${t.MakeMoveVec.type}`);t.MakeMoveVec.type=e.types[t.MakeMoveVec.type].type}const r=t.MoveCall;if(!r)continue;const s=r.package.split("::"),i=s[0];if(W(i)&&!e.packages[i])throw new Error(`No address found for package: ${i}`);W(i)&&(s[0]=e.packages[i].package,r.package=s.join("::"));const o=r.typeArguments;if(o){for(let c=0;c<o.length;c++)if(W(o[c])){if(!e.types[o[c]])throw new Error(`No resolution found for type: ${o[c]}`);o[c]=e.types[o[c]].type}r.typeArguments=o}}}function zn(n){const e=new Set;for(const t of n)if(W(t)){if(!ys(t))throw new Error(`Invalid type with names: ${t}`);e.add(t)}return e}const eo=n=>async(e,t,r)=>{const s=Xa(e);if(s.types.length===0&&s.packages.length===0)return r();const i=await to(t).core.mvr.resolve({types:s.types,packages:s.packages});Qa(e,i),await r()};function to(n){if(!n.client)throw new Error("No sui client passed to Transaction#build, but transaction data was not sufficient to build offline.");return n.client}var Zr=n=>{throw TypeError(n)},vn=(n,e,t)=>e.has(n)||Zr("Cannot "+t),l=(n,e,t)=>(vn(n,e,"read from private field"),t?t.call(n):e.get(n)),oe=(n,e,t)=>e.has(n)?Zr("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(n):e.set(n,t),O=(n,e,t,r)=>(vn(n,e,"write to private field"),e.set(n,t),t),$=(n,e,t)=>(vn(n,e,"access private method"),t),Ae,Re,we,he,Z,Y,se,Te,p,_,Yr,gt,mt,yt,It,en,kn,Xr,Qr;function Nt(n,e=1/0){const t={$kind:"Result",get Result(){return typeof n=="function"?n():n}},r=[],s=i=>r[i]??(r[i]={$kind:"NestedResult",get NestedResult(){return[typeof n=="function"?n():n,i]}});return new Proxy(t,{set(){throw new Error("The transaction result is a proxy, and does not support setting properties directly")},get(i,o){if(o in i)return Reflect.get(i,o);if(o===Symbol.iterator)return function*(){let u=0;for(;u<e;)yield s(u),u++};if(typeof o=="symbol")return;const c=parseInt(o,10);if(!(Number.isNaN(c)||c<0))return s(c)}})}const es=Symbol.for("@mysten/transaction");function ts(n){return!!n&&typeof n=="object"&&n[es]===!0}const Fn={buildPlugins:new Map,serializationPlugins:new Map},Vt=Symbol.for("@mysten/transaction/registry");function qe(){try{const n=globalThis;return n[Vt]||(n[Vt]=Fn),n[Vt]}catch{return Fn}}const ns=class tn{constructor(){oe(this,_),oe(this,Ae),oe(this,Re),oe(this,we,new Map),oe(this,he,[]),oe(this,Z,[]),oe(this,Y,new Set),oe(this,se,new Set),oe(this,Te,new Map),oe(this,p),this.object=Ka(t=>{if(typeof t=="function")return this.object(this.add(t));if(typeof t=="object"&&Gt(I,t))return t;const r=Vn(t),s=l(this,p).inputs.find(i=>r===Vn(i));return s?.Object?.SharedObject&&typeof t=="object"&&t.Object?.SharedObject&&(s.Object.SharedObject.mutable=s.Object.SharedObject.mutable||t.Object.SharedObject.mutable),s?{$kind:"Input",Input:l(this,p).inputs.indexOf(s),type:"object"}:$(this,_,mt).call(this,"object",typeof t=="string"?{$kind:"UnresolvedObject",UnresolvedObject:{objectId:k(t)}}:t)});const e=qe();O(this,p,new F),O(this,Re,[...e.buildPlugins.values()]),O(this,Ae,[...e.serializationPlugins.values()])}static fromKind(e){const t=new tn;return O(t,p,F.fromKindBytes(typeof e=="string"?V(e):e)),O(t,he,l(t,p).inputs.slice()),O(t,Z,l(t,p).commands.slice()),O(t,Y,new Set(l(t,Z).map((r,s)=>s))),t}static from(e){const t=new tn;return ts(e)?O(t,p,new F(e.getData())):typeof e!="string"||!e.startsWith("{")?O(t,p,F.fromBytes(typeof e=="string"?V(e):e)):O(t,p,F.restore(JSON.parse(e))),O(t,he,l(t,p).inputs.slice()),O(t,Z,l(t,p).commands.slice()),O(t,Y,new Set(l(t,Z).map((r,s)=>s))),t}static registerGlobalSerializationPlugin(e,t){qe().serializationPlugins.set(e,t??e)}static unregisterGlobalSerializationPlugin(e){qe().serializationPlugins.delete(e)}static registerGlobalBuildPlugin(e,t){qe().buildPlugins.set(e,t??e)}static unregisterGlobalBuildPlugin(e){qe().buildPlugins.delete(e)}addSerializationPlugin(e){l(this,Ae).push(e)}addBuildPlugin(e){l(this,Re).push(e)}addIntentResolver(e,t){if(l(this,we).has(e)&&l(this,we).get(e)!==t)throw new Error(`Intent resolver for ${e} already exists`);l(this,we).set(e,t)}setSender(e){l(this,p).sender=e}setSenderIfNotSet(e){l(this,p).sender||(l(this,p).sender=e)}setExpiration(e){l(this,p).expiration=e?C(Fr,e):null}setGasPrice(e){l(this,p).gasConfig.price=String(e)}setGasBudget(e){l(this,p).gasConfig.budget=String(e)}setGasBudgetIfNotSet(e){l(this,p).gasData.budget==null&&(l(this,p).gasConfig.budget=String(e))}setGasOwner(e){l(this,p).gasConfig.owner=e}setGasPayment(e){l(this,p).gasConfig.payment=e.map(t=>C(je,t))}get blockData(){return Bn(l(this,p).snapshot())}getData(){return l(this,p).snapshot()}get[es](){return!0}get pure(){return Object.defineProperty(this,"pure",{enumerable:!1,value:Ga(e=>cn(e)?$(this,_,mt).call(this,"pure",{$kind:"Pure",Pure:{bytes:e.toBase64()}}):$(this,_,mt).call(this,"pure",Gt(xn,e)?C(xn,e):e instanceof Uint8Array?be.Pure(e):{$kind:"UnresolvedPure",UnresolvedPure:{value:e}}))}),this.pure}get gas(){return{$kind:"GasCoin",GasCoin:!0}}objectRef(...e){return this.object(be.ObjectRef(...e))}receivingRef(...e){return this.object(be.ReceivingRef(...e))}sharedObjectRef(...e){return this.object(be.SharedObjectRef(...e))}add(e){if(typeof e=="function"){if(l(this,Te).has(e))return l(this,Te).get(e);const t=$(this,_,Yr).call(this),r=e(t);if(!(r&&typeof r=="object"&&"then"in r))return O(this,Y,l(t,Y)),l(this,Te).set(e,r),r;const s=$(this,_,gt).call(this,{$kind:"$Intent",$Intent:{name:"AsyncTransactionThunk",inputs:{},data:{resultIndex:l(this,p).commands.length,result:null}}});l(this,se).add(Promise.resolve(r).then(o=>{s.$Intent.data.result=o}));const i=Nt(()=>s.$Intent.data.resultIndex);return l(this,Te).set(e,i),i}else $(this,_,gt).call(this,e);return Nt(l(this,p).commands.length-1)}splitCoins(e,t){const r=Me.SplitCoins(typeof e=="string"?this.object(e):$(this,_,It).call(this,e),t.map(s=>typeof s=="number"||typeof s=="bigint"||typeof s=="string"?this.pure.u64(s):$(this,_,yt).call(this,s)));return $(this,_,gt).call(this,r),Nt(l(this,p).commands.length-1,t.length)}mergeCoins(e,t){return this.add(Me.MergeCoins(this.object(e),t.map(r=>this.object(r))))}publish({modules:e,dependencies:t}){return this.add(Me.Publish({modules:e,dependencies:t}))}upgrade({modules:e,dependencies:t,package:r,ticket:s}){return this.add(Me.Upgrade({modules:e,dependencies:t,package:r,ticket:this.object(s)}))}moveCall({arguments:e,...t}){return this.add(Me.MoveCall({...t,arguments:e?.map(r=>$(this,_,yt).call(this,r))}))}transferObjects(e,t){return this.add(Me.TransferObjects(e.map(r=>this.object(r)),typeof t=="string"?this.pure.address(t):$(this,_,yt).call(this,t)))}makeMoveVec({type:e,elements:t}){return this.add(Me.MakeMoveVec({type:e,elements:t.map(r=>this.object(r))}))}serialize(){return JSON.stringify(Bn(l(this,p).snapshot()))}async toJSON(e={}){await this.prepareForSerialization(e);const t=this.isFullyResolved();return JSON.stringify(C(ba,t?{...l(this,p).snapshot(),digest:l(this,p).getDigest()}:l(this,p).snapshot()),(r,s)=>typeof s=="bigint"?s.toString():s,2)}async sign(e){const{signer:t,...r}=e,s=await this.build(r);return t.signTransaction(s)}isFullyResolved(){return!(!l(this,p).sender||l(this,se).size>0||l(this,p).commands.some(e=>e.$Intent)||Kr(l(this,p),{}))}async build(e={}){return await this.prepareForSerialization(e),await $(this,_,en).call(this,e),l(this,p).build({onlyTransactionKind:e.onlyTransactionKind})}async getDigest(e={}){return await this.prepareForSerialization(e),await $(this,_,en).call(this,e),l(this,p).getDigest()}async prepareForSerialization(e){await $(this,_,Xr).call(this),$(this,_,Qr).call(this);const t=new Set;for(const s of l(this,p).commands)s.$Intent&&t.add(s.$Intent.name);const r=[...l(this,Ae)];for(const s of t)if(!e.supportedIntents?.includes(s)){if(!l(this,we).has(s))throw new Error(`Missing intent resolver for ${s}`);r.push(l(this,we).get(s))}r.push(eo()),await $(this,_,kn).call(this,r,e)}};Ae=new WeakMap;Re=new WeakMap;we=new WeakMap;he=new WeakMap;Z=new WeakMap;Y=new WeakMap;se=new WeakMap;Te=new WeakMap;p=new WeakMap;_=new WeakSet;Yr=function(){const n=new ns;return O(n,p,l(this,p)),O(n,Ae,l(this,Ae)),O(n,Re,l(this,Re)),O(n,we,l(this,we)),O(n,se,l(this,se)),O(n,Y,new Set(l(this,Y))),O(n,Te,l(this,Te)),l(this,he).push(l(n,he)),l(this,Z).push(l(n,Z)),n};gt=function(n){const e=l(this,p).commands.length;return l(this,Z).push(n),l(this,Y).add(e),l(this,p).commands.push(n),l(this,p).mapCommandArguments(e,t=>{if(t.$kind==="Result"&&!l(this,Y).has(t.Result))throw new Error(`Result { Result: ${t.Result} } is not available to use the current transaction`);if(t.$kind==="NestedResult"&&!l(this,Y).has(t.NestedResult[0]))throw new Error(`Result { NestedResult: [${t.NestedResult[0]}, ${t.NestedResult[1]}] } is not available to use the current transaction`);if(t.$kind==="Input"&&t.Input>=l(this,p).inputs.length)throw new Error(`Input { Input: ${t.Input} } references an input that does not exist in the current transaction`);return t}),n};mt=function(n,e){return l(this,he).push(e),l(this,p).addInput(n,e)};yt=function(n){return cn(n)?this.pure(n):$(this,_,It).call(this,n)};It=function(n){if(typeof n=="function"){const e=this.add(n);return typeof e=="function"?$(this,_,It).call(this,e):C(I,e)}return C(I,n)};en=async function(n){if(!n.onlyTransactionKind&&!l(this,p).sender)throw new Error("Missing transaction sender");await $(this,_,kn).call(this,[...l(this,Re),Fa],n)};kn=async function(n,e){const t=r=>{if(r>=n.length)return()=>{};const s=n[r];return async()=>{const i=t(r+1);let o=!1,c=!1;if(await s(l(this,p),e,async()=>{if(o)throw new Error(`next() was call multiple times in TransactionPlugin ${r}`);o=!0,await i(),c=!0}),!o)throw new Error(`next() was not called in TransactionPlugin ${r}`);if(!c)throw new Error(`next() was not awaited in TransactionPlugin ${r}`)}};await t(0)(),O(this,he,l(this,p).inputs.slice()),O(this,Z,l(this,p).commands.slice())};Xr=async function(){for(;l(this,se).size>0;){const n=Promise.all(l(this,se));l(this,se).clear(),l(this,se).add(n),await n,l(this,se).delete(n)}};Qr=function(){const n=l(this,p).commands,e=l(this,p).inputs,t=l(this,Z).flat(1/0),r=l(this,he).flat(1/0);if(t.length!==n.length)throw new Error("Unexpected number of commands found in transaction data");if(r.length!==e.length)throw new Error("Unexpected number of inputs found in transaction data");const s=t.filter(o=>o.$Intent?.name!=="AsyncTransactionThunk");l(this,p).commands=s,l(this,p).inputs=r,O(this,Z,s),O(this,he,r),O(this,Y,new Set(s.map((o,c)=>c)));function i(o){const c=n[o];if(c.$Intent?.name==="AsyncTransactionThunk"){const f=c.$Intent.data.result;if(f==null)throw new Error("AsyncTransactionThunk has not been resolved");return i(f.Result)}const u=s.indexOf(c);if(u===-1)throw new Error("Unable to find original index for command");return u}l(this,p).mapArguments(o=>{if(o.$kind==="Input"){const c=r.indexOf(e[o.Input]);if(c===-1)throw new Error("Input has not been resolved");return{...o,Input:c}}else if(o.$kind==="Result"){const c=i(o.Result);return{...o,Result:c}}else if(o.$kind==="NestedResult"){const c=i(o.NestedResult[0]);return{...o,NestedResult:[c,o.NestedResult[1]]}}return o});for(const[o,c]of n.entries())if(c.$Intent?.name==="AsyncTransactionThunk")try{c.$Intent.data.resultIndex=i(o)}catch{}};let rs=ns;const no={mainnet:"https://mainnet.mvr.mystenlabs.com",testnet:"https://testnet.mvr.mystenlabs.com"};class ro extends Nr{constructor(e){super(e),this.core=this,this.mvr=new Za({cache:this.cache.scope("core.mvr"),url:e.mvr?.url??no[this.network],pageSize:e.mvr?.pageSize,overrides:e.mvr?.overrides})}async getObject(e){const{objectId:t}=e,{objects:[r]}=await this.getObjects({objectIds:[t],signal:e.signal});if(r instanceof Error)throw r;return{object:r}}async getDynamicField(e){const t=Oi(e.parentId,re.parseFromStr(e.name.type),e.name.bcs),{objects:[r]}=await this.getObjects({objectIds:[t],signal:e.signal});if(r instanceof Error)throw r;const s=et(r.type),i=await r.content;return{dynamicField:{id:r.id,digest:r.digest,version:r.version,type:r.type,name:{type:typeof s.typeParams[0]=="string"?s.typeParams[0]:zt(s.typeParams[0]),bcs:e.name.bcs},value:{type:typeof s.typeParams[1]=="string"?s.typeParams[1]:zt(s.typeParams[1]),bcs:i.slice(on+e.name.bcs.length)}}}}async waitForTransaction({signal:e,timeout:t=60*1e3,...r}){const s=e?AbortSignal.any([AbortSignal.timeout(t),e]):AbortSignal.timeout(t),i=new Promise((o,c)=>{s.addEventListener("abort",()=>c(s.reason))});for(i.catch(()=>{});;){s.throwIfAborted();try{return await this.getTransaction({...r,signal:s})}catch{await Promise.race([new Promise(c=>setTimeout(c,2e3)),i])}}}}class so extends Error{}class Ie extends so{constructor(e,t){super(t),this.code=e}static fromResponse(e,t){switch(e.code){case"notExists":return new Ie(e.code,`Object ${e.object_id} does not exist`);case"dynamicFieldNotFound":return new Ie(e.code,`Dynamic field not found for object ${e.parent_object_id}`);case"deleted":return new Ie(e.code,`Object ${e.object_id} has been deleted`);case"displayError":return new Ie(e.code,`Display error: ${e.error}`);case"unknown":default:return new Ie(e.code,`Unknown error while loading object${t?` ${t}`:""}`)}}}function io(n){return{...F.fromBytes(n).snapshot(),bcs:n}}function ao(n){const e=m.TransactionEffects.parse(n);switch(e.$kind){case"V1":return oo({effects:e.V1});case"V2":return co({bytes:n,effects:e.V2});default:throw new Error(`Unknown transaction effects version: ${e.$kind}`)}}function oo(n){throw new Error("V1 effects are not supported yet")}function co({bytes:n,effects:e}){const t=e.changedObjects.map(([r,s])=>({id:r,inputState:s.inputState.$kind==="Exist"?"Exists":"DoesNotExist",inputVersion:s.inputState.Exist?.[0][0]??null,inputDigest:s.inputState.Exist?.[0][1]??null,inputOwner:s.inputState.Exist?.[1]??null,outputState:s.outputState.$kind==="NotExist"?"DoesNotExist":s.outputState.$kind,outputVersion:s.outputState.$kind==="PackageWrite"?s.outputState.PackageWrite?.[0]:s.outputState.ObjectWrite?e.lamportVersion:null,outputDigest:s.outputState.$kind==="PackageWrite"?s.outputState.PackageWrite?.[1]:s.outputState.ObjectWrite?.[0]??null,outputOwner:s.outputState.ObjectWrite?s.outputState.ObjectWrite[1]:null,idOperation:s.idOperation.$kind}));return{bcs:n,digest:e.transactionDigest,version:2,status:e.status.$kind==="Success"?{success:!0,error:null}:{success:!1,error:e.status.Failed.error.$kind},gasUsed:e.gasUsed,transactionDigest:e.transactionDigest,gasObject:e.gasObjectIndex===null?null:t[e.gasObjectIndex]??null,eventsDigest:e.eventsDigest,dependencies:e.dependencies,lamportVersion:e.lamportVersion,changedObjects:t,unchangedSharedObjects:e.unchangedSharedObjects.map(([r,s])=>({kind:s.$kind==="MutateDeleted"?"MutateConsensusStreamEnded":s.$kind==="ReadDeleted"?"ReadConsensusStreamEnded":s.$kind,objectId:r,version:s.$kind==="ReadOnlyRoot"?s.ReadOnlyRoot[0]:s[s.$kind],digest:s.$kind==="ReadOnlyRoot"?s.ReadOnlyRoot[1]:null})),auxiliaryDataDigest:e.auxDataDigest}}var ss=n=>{throw TypeError(n)},is=(n,e,t)=>e.has(n)||ss("Cannot "+t),K=(n,e,t)=>(is(n,e,"read from private field"),t?t.call(n):e.get(n)),uo=(n,e,t)=>e.has(n)?ss("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(n):e.set(n,t),lo=(n,e,t,r)=>(is(n,e,"write to private field"),e.set(n,t),t),D;class ho extends ro{constructor({jsonRpcClient:e,mvr:t}){super({network:e.network,base:e,mvr:t}),uo(this,D),lo(this,D,e)}async getObjects(e){const t=jt(e.objectIds,50),r=[];for(const s of t){const i=await K(this,D).multiGetObjects({ids:s,options:{showOwner:!0,showType:!0,showBcs:!0},signal:e.signal});for(const[o,c]of i.entries())c.error?r.push(Ie.fromResponse(c.error,s[o])):r.push(Wn(c.data))}return{objects:r}}async getOwnedObjects(e){const t=await K(this,D).getOwnedObjects({owner:e.address,limit:e.limit,cursor:e.cursor,options:{showOwner:!0,showType:!0,showBcs:!0},filter:e.type?{StructType:e.type}:null,signal:e.signal});return{objects:t.data.map(r=>{if(r.error)throw Ie.fromResponse(r.error);return Wn(r.data)}),hasNextPage:t.hasNextPage,cursor:t.nextCursor??null}}async getCoins(e){const t=await K(this,D).getCoins({owner:e.address,coinType:e.coinType,limit:e.limit,cursor:e.cursor,signal:e.signal});return{objects:t.data.map(r=>({id:r.coinObjectId,version:r.version,digest:r.digest,balance:r.balance,type:`0x2::coin::Coin<${r.coinType}>`,content:Promise.resolve(go.serialize({id:r.coinObjectId,balance:{value:r.balance}}).toBytes()),owner:{$kind:"ObjectOwner",ObjectOwner:e.address}})),hasNextPage:t.hasNextPage,cursor:t.nextCursor??null}}async getBalance(e){const t=await K(this,D).getBalance({owner:e.address,coinType:e.coinType,signal:e.signal});return{balance:{coinType:t.coinType,balance:t.totalBalance}}}async getAllBalances(e){return{balances:(await K(this,D).getAllBalances({owner:e.address,signal:e.signal})).map(r=>({coinType:r.coinType,balance:r.totalBalance})),hasNextPage:!1,cursor:null}}async getTransaction(e){const t=await K(this,D).getTransactionBlock({digest:e.digest,options:{showRawInput:!0,showObjectChanges:!0,showRawEffects:!0,showEvents:!0,showEffects:!0},signal:e.signal});return{transaction:Ln(t)}}async executeTransaction(e){const t=await K(this,D).executeTransactionBlock({transactionBlock:e.transaction,signature:e.signatures,options:{showRawEffects:!0,showEvents:!0,showObjectChanges:!0,showRawInput:!0,showEffects:!0},signal:e.signal});return{transaction:Ln(t)}}async dryRunTransaction(e){const t=rs.from(e.transaction),r=await K(this,D).dryRunTransactionBlock({transactionBlock:e.transaction,signal:e.signal}),{effects:s,objectTypes:i}=po({effects:r.effects,objectChanges:r.objectChanges});return{transaction:{digest:await t.getDigest(),epoch:null,effects:s,objectTypes:Promise.resolve(i),signatures:[],transaction:io(e.transaction)}}}async getReferenceGasPrice(e){const t=await K(this,D).getReferenceGasPrice({signal:e?.signal});return{referenceGasPrice:String(t)}}async getDynamicFields(e){const t=await K(this,D).getDynamicFields({parentId:e.parentId,limit:e.limit,cursor:e.cursor});return{dynamicFields:t.data.map(r=>({id:r.objectId,type:r.objectType,name:{type:r.name.type,bcs:V(r.bcsName)}})),hasNextPage:t.hasNextPage,cursor:t.nextCursor}}async verifyZkLoginSignature(e){const t=await K(this,D).verifyZkLoginSignature({bytes:e.bytes,signature:e.signature,intentScope:e.intentScope,author:e.author});return{success:t.success,errors:t.errors}}resolveNameServiceNames(e){return K(this,D).resolveNameServiceNames(e)}resolveTransactionPlugin(){return Lr(K(this,D))}}D=new WeakMap;function Wn(n){return{id:n.objectId,version:n.version,digest:n.digest,type:n.type,content:Promise.resolve(n.bcs?.dataType==="moveObject"?V(n.bcs.bcsBytes):new Uint8Array),owner:Ve(n.owner)}}function Ve(n){if(n==="Immutable")return{$kind:"Immutable",Immutable:!0};if("ConsensusAddressOwner"in n)return{$kind:"ConsensusAddressOwner",ConsensusAddressOwner:{owner:n.ConsensusAddressOwner.owner,startVersion:n.ConsensusAddressOwner.start_version}};if("AddressOwner"in n)return{$kind:"AddressOwner",AddressOwner:n.AddressOwner};if("ObjectOwner"in n)return{$kind:"ObjectOwner",ObjectOwner:n.ObjectOwner};if("Shared"in n)return{$kind:"Shared",Shared:{initialSharedVersion:n.Shared.initial_shared_version}};throw new Error(`Unknown owner type: ${JSON.stringify(n)}`)}function Ln(n){const e=m.SenderSignedData.parse(V(n.rawTransaction))[0],t={};n.objectChanges?.forEach(i=>{i.type!=="published"&&(t[i.objectId]=i.objectType)});const r=m.TransactionData.serialize(e.intentMessage.value).toBytes(),s=F.restore({version:2,sender:e.intentMessage.value.V1.sender,expiration:e.intentMessage.value.V1.expiration,gasData:e.intentMessage.value.V1.gasData,inputs:e.intentMessage.value.V1.kind.ProgrammableTransaction.inputs,commands:e.intentMessage.value.V1.kind.ProgrammableTransaction.commands});return{digest:n.digest,epoch:n.effects?.executedEpoch??null,effects:ao(new Uint8Array(n.rawEffects)),objectTypes:Promise.resolve(t),transaction:{...s,bcs:r},signatures:e.txSignatures}}function po({bytes:n,effects:e,objectChanges:t}){const r=[],s=[],i={};return t?.forEach(o=>{switch(o.type){case"published":r.push({id:o.packageId,inputState:"DoesNotExist",inputVersion:null,inputDigest:null,inputOwner:null,outputState:"PackageWrite",outputVersion:o.version,outputDigest:o.digest,outputOwner:null,idOperation:"Created"});break;case"transferred":r.push({id:o.objectId,inputState:"Exists",inputVersion:o.version,inputDigest:o.digest,inputOwner:{$kind:"AddressOwner",AddressOwner:o.sender},outputState:"ObjectWrite",outputVersion:o.version,outputDigest:o.digest,outputOwner:Ve(o.recipient),idOperation:"None"}),i[o.objectId]=o.objectType;break;case"mutated":r.push({id:o.objectId,inputState:"Exists",inputVersion:o.previousVersion,inputDigest:null,inputOwner:Ve(o.owner),outputState:"ObjectWrite",outputVersion:o.version,outputDigest:o.digest,outputOwner:Ve(o.owner),idOperation:"None"}),i[o.objectId]=o.objectType;break;case"deleted":r.push({id:o.objectId,inputState:"Exists",inputVersion:o.version,inputDigest:e.deleted?.find(c=>c.objectId===o.objectId)?.digest??null,inputOwner:null,outputState:"DoesNotExist",outputVersion:null,outputDigest:null,outputOwner:null,idOperation:"Deleted"}),i[o.objectId]=o.objectType;break;case"wrapped":r.push({id:o.objectId,inputState:"Exists",inputVersion:o.version,inputDigest:null,inputOwner:{$kind:"AddressOwner",AddressOwner:o.sender},outputState:"ObjectWrite",outputVersion:o.version,outputDigest:e.wrapped?.find(c=>c.objectId===o.objectId)?.digest??null,outputOwner:{$kind:"ObjectOwner",ObjectOwner:o.sender},idOperation:"None"}),i[o.objectId]=o.objectType;break;case"created":r.push({id:o.objectId,inputState:"DoesNotExist",inputVersion:null,inputDigest:null,inputOwner:null,outputState:"ObjectWrite",outputVersion:o.version,outputDigest:o.digest,outputOwner:Ve(o.owner),idOperation:"Created"}),i[o.objectId]=o.objectType;break}}),{objectTypes:i,effects:{bcs:n??null,digest:e.transactionDigest,version:2,status:e.status.status==="success"?{success:!0,error:null}:{success:!1,error:e.status.error},gasUsed:e.gasUsed,transactionDigest:e.transactionDigest,gasObject:{id:e.gasObject?.reference.objectId,inputState:"Exists",inputVersion:null,inputDigest:null,inputOwner:null,outputState:"ObjectWrite",outputVersion:e.gasObject.reference.version,outputDigest:e.gasObject.reference.digest,outputOwner:Ve(e.gasObject.owner),idOperation:"None"},eventsDigest:e.eventsDigest??null,dependencies:e.dependencies??[],lamportVersion:e.gasObject.reference.version,changedObjects:r,unchangedSharedObjects:s,auxiliaryDataDigest:null}}}const fo=m.struct("Balance",{value:m.u64()}),go=m.struct("Coin",{id:m.Address,balance:fo}),mo=Symbol.for("@mysten/SuiClient");class yo extends Nr{constructor(e){super({network:e.network??"unknown"}),this.jsonRpc=this,this.transport=e.transport??new xi({url:e.url}),this.core=new ho({jsonRpcClient:this,mvr:e.mvr})}get[mo](){return!0}async getRpcApiVersion({signal:e}={}){return(await this.transport.request({method:"rpc.discover",params:[],signal:e})).info.version}async getCoins({coinType:e,owner:t,cursor:r,limit:s,signal:i}){if(!t||!ee(k(t)))throw new Error("Invalid Sui address");return e&&W(e)&&(e=(await this.core.mvr.resolveType({type:e})).type),await this.transport.request({method:"suix_getCoins",params:[t,e,r,s],signal:i})}async getAllCoins(e){if(!e.owner||!ee(k(e.owner)))throw new Error("Invalid Sui address");return await this.transport.request({method:"suix_getAllCoins",params:[e.owner,e.cursor,e.limit],signal:e.signal})}async getBalance({owner:e,coinType:t,signal:r}){if(!e||!ee(k(e)))throw new Error("Invalid Sui address");return t&&W(t)&&(t=(await this.core.mvr.resolveType({type:t})).type),await this.transport.request({method:"suix_getBalance",params:[e,t],signal:r})}async getAllBalances(e){if(!e.owner||!ee(k(e.owner)))throw new Error("Invalid Sui address");return await this.transport.request({method:"suix_getAllBalances",params:[e.owner],signal:e.signal})}async getCoinMetadata({coinType:e,signal:t}){return e&&W(e)&&(e=(await this.core.mvr.resolveType({type:e})).type),await this.transport.request({method:"suix_getCoinMetadata",params:[e],signal:t})}async getTotalSupply({coinType:e,signal:t}){return e&&W(e)&&(e=(await this.core.mvr.resolveType({type:e})).type),await this.transport.request({method:"suix_getTotalSupply",params:[e],signal:t})}async call(e,t,{signal:r}={}){return await this.transport.request({method:e,params:t,signal:r})}async getMoveFunctionArgTypes({package:e,module:t,function:r,signal:s}){return e&&X(e)&&(e=(await this.core.mvr.resolvePackage({package:e})).package),await this.transport.request({method:"sui_getMoveFunctionArgTypes",params:[e,t,r],signal:s})}async getNormalizedMoveModulesByPackage({package:e,signal:t}){return e&&X(e)&&(e=(await this.core.mvr.resolvePackage({package:e})).package),await this.transport.request({method:"sui_getNormalizedMoveModulesByPackage",params:[e],signal:t})}async getNormalizedMoveModule({package:e,module:t,signal:r}){return e&&X(e)&&(e=(await this.core.mvr.resolvePackage({package:e})).package),await this.transport.request({method:"sui_getNormalizedMoveModule",params:[e,t],signal:r})}async getNormalizedMoveFunction({package:e,module:t,function:r,signal:s}){return e&&X(e)&&(e=(await this.core.mvr.resolvePackage({package:e})).package),await this.transport.request({method:"sui_getNormalizedMoveFunction",params:[e,t,r],signal:s})}async getNormalizedMoveStruct({package:e,module:t,struct:r,signal:s}){return e&&X(e)&&(e=(await this.core.mvr.resolvePackage({package:e})).package),await this.transport.request({method:"sui_getNormalizedMoveStruct",params:[e,t,r],signal:s})}async getOwnedObjects(e){if(!e.owner||!ee(k(e.owner)))throw new Error("Invalid Sui address");const t=e.filter?{...e.filter}:void 0;return t&&"MoveModule"in t&&X(t.MoveModule.package)?t.MoveModule={module:t.MoveModule.module,package:(await this.core.mvr.resolvePackage({package:t.MoveModule.package})).package}:t&&"StructType"in t&&W(t.StructType)&&(t.StructType=(await this.core.mvr.resolveType({type:t.StructType})).type),await this.transport.request({method:"suix_getOwnedObjects",params:[e.owner,{filter:t,options:e.options},e.cursor,e.limit],signal:e.signal})}async getObject(e){if(!e.id||!lt(de(e.id)))throw new Error("Invalid Sui Object id");return await this.transport.request({method:"sui_getObject",params:[e.id,e.options],signal:e.signal})}async tryGetPastObject(e){return await this.transport.request({method:"sui_tryGetPastObject",params:[e.id,e.version,e.options],signal:e.signal})}async multiGetObjects(e){if(e.ids.forEach(r=>{if(!r||!lt(de(r)))throw new Error(`Invalid Sui Object id ${r}`)}),e.ids.length!==new Set(e.ids).size)throw new Error(`Duplicate object ids in batch call ${e.ids}`);return await this.transport.request({method:"sui_multiGetObjects",params:[e.ids,e.options],signal:e.signal})}async queryTransactionBlocks({filter:e,options:t,cursor:r,limit:s,order:i,signal:o}){return e&&"MoveFunction"in e&&X(e.MoveFunction.package)&&(e={...e,MoveFunction:{package:(await this.core.mvr.resolvePackage({package:e.MoveFunction.package})).package}}),await this.transport.request({method:"suix_queryTransactionBlocks",params:[{filter:e,options:t},r,s,(i||"descending")==="descending"],signal:o})}async getTransactionBlock(e){if(!Tn(e.digest))throw new Error("Invalid Transaction digest");return await this.transport.request({method:"sui_getTransactionBlock",params:[e.digest,e.options],signal:e.signal})}async multiGetTransactionBlocks(e){if(e.digests.forEach(r=>{if(!Tn(r))throw new Error(`Invalid Transaction digest ${r}`)}),e.digests.length!==new Set(e.digests).size)throw new Error(`Duplicate digests in batch call ${e.digests}`);return await this.transport.request({method:"sui_multiGetTransactionBlocks",params:[e.digests,e.options],signal:e.signal})}async executeTransactionBlock({transactionBlock:e,signature:t,options:r,requestType:s,signal:i}){const o=await this.transport.request({method:"sui_executeTransactionBlock",params:[typeof e=="string"?e:P(e),Array.isArray(t)?t:[t],r],signal:i});if(s==="WaitForLocalExecution")try{await this.waitForTransaction({digest:o.digest})}catch{}return o}async signAndExecuteTransaction({transaction:e,signer:t,...r}){let s;e instanceof Uint8Array?s=e:(e.setSenderIfNotSet(t.toSuiAddress()),s=await e.build({client:this}));const{signature:i,bytes:o}=await t.signTransaction(s);return this.executeTransactionBlock({transactionBlock:o,signature:i,...r})}async getTotalTransactionBlocks({signal:e}={}){const t=await this.transport.request({method:"sui_getTotalTransactionBlocks",params:[],signal:e});return BigInt(t)}async getReferenceGasPrice({signal:e}={}){const t=await this.transport.request({method:"suix_getReferenceGasPrice",params:[],signal:e});return BigInt(t)}async getStakes(e){if(!e.owner||!ee(k(e.owner)))throw new Error("Invalid Sui address");return await this.transport.request({method:"suix_getStakes",params:[e.owner],signal:e.signal})}async getStakesByIds(e){return e.stakedSuiIds.forEach(t=>{if(!t||!lt(de(t)))throw new Error(`Invalid Sui Stake id ${t}`)}),await this.transport.request({method:"suix_getStakesByIds",params:[e.stakedSuiIds],signal:e.signal})}async getLatestSuiSystemState({signal:e}={}){return await this.transport.request({method:"suix_getLatestSuiSystemState",params:[],signal:e})}async queryEvents({query:e,cursor:t,limit:r,order:s,signal:i}){return e&&"MoveEventType"in e&&W(e.MoveEventType)&&(e={...e,MoveEventType:(await this.core.mvr.resolveType({type:e.MoveEventType})).type}),e&&"MoveEventModule"in e&&X(e.MoveEventModule.package)&&(e={...e,MoveEventModule:{module:e.MoveEventModule.module,package:(await this.core.mvr.resolvePackage({package:e.MoveEventModule.package})).package}}),"MoveModule"in e&&X(e.MoveModule.package)&&(e={...e,MoveModule:{module:e.MoveModule.module,package:(await this.core.mvr.resolvePackage({package:e.MoveModule.package})).package}}),await this.transport.request({method:"suix_queryEvents",params:[e,t,r,(s||"descending")==="descending"],signal:i})}async subscribeEvent(e){return this.transport.subscribe({method:"suix_subscribeEvent",unsubscribe:"suix_unsubscribeEvent",params:[e.filter],onMessage:e.onMessage,signal:e.signal})}async subscribeTransaction(e){return this.transport.subscribe({method:"suix_subscribeTransaction",unsubscribe:"suix_unsubscribeTransaction",params:[e.filter],onMessage:e.onMessage,signal:e.signal})}async devInspectTransactionBlock(e){let t;if(ts(e.transactionBlock))e.transactionBlock.setSenderIfNotSet(e.sender),t=P(await e.transactionBlock.build({client:this,onlyTransactionKind:!0}));else if(typeof e.transactionBlock=="string")t=e.transactionBlock;else if(e.transactionBlock instanceof Uint8Array)t=P(e.transactionBlock);else throw new Error("Unknown transaction block format.");return e.signal?.throwIfAborted(),await this.transport.request({method:"sui_devInspectTransactionBlock",params:[e.sender,t,e.gasPrice?.toString(),e.epoch],signal:e.signal})}async dryRunTransactionBlock(e){return await this.transport.request({method:"sui_dryRunTransactionBlock",params:[typeof e.transactionBlock=="string"?e.transactionBlock:P(e.transactionBlock)]})}async getDynamicFields(e){if(!e.parentId||!lt(de(e.parentId)))throw new Error("Invalid Sui Object id");return await this.transport.request({method:"suix_getDynamicFields",params:[e.parentId,e.cursor,e.limit],signal:e.signal})}async getDynamicFieldObject(e){return await this.transport.request({method:"suix_getDynamicFieldObject",params:[e.parentId,e.name],signal:e.signal})}async getLatestCheckpointSequenceNumber({signal:e}={}){const t=await this.transport.request({method:"sui_getLatestCheckpointSequenceNumber",params:[],signal:e});return String(t)}async getCheckpoint(e){return await this.transport.request({method:"sui_getCheckpoint",params:[e.id],signal:e.signal})}async getCheckpoints(e){return await this.transport.request({method:"sui_getCheckpoints",params:[e.cursor,e?.limit,e.descendingOrder],signal:e.signal})}async getCommitteeInfo(e){return await this.transport.request({method:"suix_getCommitteeInfo",params:[e?.epoch],signal:e?.signal})}async getNetworkMetrics({signal:e}={}){return await this.transport.request({method:"suix_getNetworkMetrics",params:[],signal:e})}async getAddressMetrics({signal:e}={}){return await this.transport.request({method:"suix_getLatestAddressMetrics",params:[],signal:e})}async getEpochMetrics(e){return await this.transport.request({method:"suix_getEpochMetrics",params:[e?.cursor,e?.limit,e?.descendingOrder],signal:e?.signal})}async getAllEpochAddressMetrics(e){return await this.transport.request({method:"suix_getAllEpochAddressMetrics",params:[e?.descendingOrder],signal:e?.signal})}async getEpochs(e){return await this.transport.request({method:"suix_getEpochs",params:[e?.cursor,e?.limit,e?.descendingOrder],signal:e?.signal})}async getMoveCallMetrics({signal:e}={}){return await this.transport.request({method:"suix_getMoveCallMetrics",params:[],signal:e})}async getCurrentEpoch({signal:e}={}){return await this.transport.request({method:"suix_getCurrentEpoch",params:[],signal:e})}async getValidatorsApy({signal:e}={}){return await this.transport.request({method:"suix_getValidatorsApy",params:[],signal:e})}async getChainIdentifier({signal:e}={}){const t=await this.getCheckpoint({id:"0",signal:e}),r=bt(t.digest);return We(r.slice(0,4))}async resolveNameServiceAddress(e){return await this.transport.request({method:"suix_resolveNameServiceAddress",params:[e.name],signal:e.signal})}async resolveNameServiceNames({format:e="dot",...t}){const{nextCursor:r,hasNextPage:s,data:i}=await this.transport.request({method:"suix_resolveNameServiceNames",params:[t.address,t.cursor,t.limit],signal:t.signal});return{hasNextPage:s,nextCursor:r,data:i.map(o=>ws(o,e))}}async getProtocolConfig(e){return await this.transport.request({method:"sui_getProtocolConfig",params:[e?.version],signal:e?.signal})}async verifyZkLoginSignature(e){return await this.transport.request({method:"sui_verifyZkLoginSignature",params:[e.bytes,e.signature,e.intentScope,e.author],signal:e.signal})}async waitForTransaction({signal:e,timeout:t=60*1e3,pollInterval:r=2*1e3,...s}){const i=AbortSignal.timeout(t),o=new Promise((c,u)=>{i.addEventListener("abort",()=>u(i.reason))});for(o.catch(()=>{});!i.aborted;){e?.throwIfAborted();try{return await this.getTransactionBlock(s)}catch{await Promise.race([new Promise(u=>setTimeout(u,r)),o])}}throw i.throwIfAborted(),new Error("Unexpected error while waiting for transaction block.")}experimental_asClientExtension(){return{name:"jsonRPC",register:()=>this}}}class as extends bs{}const nn="Sui",os=n=>{const e=n.data?.content;return e&&e.dataType==="moveObject"?e.fields:null},Lo=(n,e)=>{try{return In(n)===In(e)}catch{return!1}},Ko=n=>n?.type==="created",Go=n=>n?.type==="published";function wo(n){return Array.isArray(n)}function Sn(n){return!Array.isArray(n)&&typeof n=="object"&&"fields"in n&&"type"in n}function bo(n){return typeof n=="object"&&!wo(n)&&!Sn(n)}function qo(n){return typeof n=="object"&&"id"in n}const Ho=async(n,e)=>{const{data:t,error:r}=await n.getObject({id:e,options:{showContent:!0}});if(r)throw new Error("Error getting object: "+r);if(!t||!Sn(t.content))throw new Error(`Cannot get oject for state id ${e}: `+t);return ks(t.content.type)},vo=async(n,e)=>{if(!ee(e))throw new Error(`Invalid object ID: ${e}`);const t=await n.getObject({id:e,options:{showContent:!0}});return os(t)},Jo=async(n,e)=>{let t,r;do{const o=await n.getDynamicFields({parentId:e,cursor:r});t=o.data.find(c=>c.name.type.endsWith("CurrentPackage")),r=o.hasNextPage?o.nextCursor:null}while(r&&!t);if(!t)throw new Error("CurrentPackage not found");const s=await n.getObject({id:t.objectId,options:{showContent:!0}}),i=os(s);if(!i||!bo(i))throw new Error("Unable to get fields from object response");if(!("value"in i)||!Sn(i.value))throw new Error("Unable to get package id");return i.value.fields.package},Zo=async(n,e,t)=>{let r=null,s=null,i=null,o;do{if(i=await n.getOwnedObjects({owner:t,filter:{StructType:`${e}::emitter::EmitterCap`},options:{showContent:!0},cursor:o}),!i||!i.data)throw Error("Failed to get owned objects");for(const c of i.data){if(!c.data)continue;const{version:u,objectId:f}=c.data;(r===null||u<r)&&(r=u,s=f)}o=i.hasNextPage?i.nextCursor:void 0}while(o);return s},Yo=async(n,e)=>{const t=new rs,[r]=t.publish({modules:n.modules.map(s=>Array.from(vs.decode(s))),dependencies:n.dependencies.map(s=>de(s))});return t.transferObjects([r],t.pure.address(e)),t};class ue extends Ss{static _platform=nn;constructor(e,t){super(e,t??Os(e,ue._platform))}getRpc(e){if(e in this.config)return new yo({url:this.config[e].rpc});throw new Error("No configuration available for chain: "+e)}getChain(e){if(e in this.config)return new as(e,this);throw new Error("No configuration available for chain: "+e)}static nativeTokenId(e,t){if(!ue.isSupportedChain(t))throw new Error(`invalid chain for ${nn}: ${t}`);return Es.tokenId(t,jn)}static isNativeTokenId(e,t,r){return!ue.isSupportedChain(t)||r.chain!==t?!1:this.nativeTokenId(e,t)===r}static isSupportedChain(e){return Ts(e)===ue._platform}static async getDecimals(e,t,r,s){if(Cn(s))return Is(ue._platform);const i=new Ft(s);try{const c=await vo(r,i.toString());if(c&&"decimals"in c)return c.decimals}catch{}const o=await r.getCoinMetadata({coinType:i.toString()});if(o===null)throw new Error(`Can't fetch decimals for token ${i.toString()}`);return o.decimals}static async getCoins(e,t,r){let s=[],i=null;const o=new Ft(t).toString();do{const c=await e.getCoins({owner:o,coinType:r,cursor:i});s=[...s,...c.data],i=c.hasNextPage?c.nextCursor:null}while(i);return s}static async getBalance(e,t,r,s,i){if(Cn(i)){const{totalBalance:c}=await r.getBalance({owner:s});return BigInt(c)}const{totalBalance:o}=await r.getBalance({owner:s,coinType:i.toString()});return BigInt(o)}static async getBalances(e,t,r,s){const i=await r.getAllBalances({owner:s}),o={};for(const{coinType:c,totalBalance:u}of i){const f=c===jn?"native":c;o[f]=BigInt(u)}return o}static async sendWait(e,t,r){const s=[];for(const i of r){const o=await t.executeTransactionBlock(i);await t.waitForTransaction({digest:o.digest}),s.push(o.digest)}return s}static async getLatestBlock(e){return Number(await e.getLatestCheckpointSequenceNumber())}static async getLatestFinalizedBlock(e){return this.getLatestBlock(e)}static chainFromChainId(e){const t=js(ue._platform,e);if(t===void 0)throw new Error(`Unknown native chain id ${e}`);const[r,s]=t;return[r,s]}static async chainFromRpc(e){const t=await e.call("sui_getChainIdentifier",[]);return this.chainFromChainId(t)}}function cs(n,e){return m.IntentMessage(m.fixedArray(e.length,m.u8())).serialize({intent:{scope:{[n]:!0},version:{V0:!0},appId:{Sui:!0}},value:e}).toBytes()}const On={ED25519:0,Secp256k1:1,Secp256r1:2,MultiSig:3,ZkLogin:5,Passkey:6},ko={ED25519:32,Secp256k1:33,Secp256r1:33,Passkey:33},us={0:"ED25519",1:"Secp256k1",2:"Secp256r1",3:"MultiSig",5:"ZkLogin",6:"Passkey"};function ls(n,e){if(n===e)return!0;if(n.length!==e.length)return!1;for(let t=0;t<n.length;t++)if(n[t]!==e[t])return!1;return!0}class So{equals(e){return ls(this.toRawBytes(),e.toRawBytes())}toBase64(){return P(this.toRawBytes())}toString(){throw new Error("`toString` is not implemented on public keys. Use `toBase64()` or `toRawBytes()` instead.")}toSuiPublicKey(){const e=this.toSuiBytes();return P(e)}verifyWithIntent(e,t,r){const s=cs(r,e),i=tt(s,{dkLen:32});return this.verify(i,t)}verifyPersonalMessage(e,t){return this.verifyWithIntent(m.vector(m.u8()).serialize(e).toBytes(),t,"PersonalMessage")}verifyTransaction(e,t){return this.verifyWithIntent(e,t,"TransactionData")}verifyAddress(e){return this.toSuiAddress()===e}toSuiBytes(){const e=this.toRawBytes(),t=new Uint8Array(e.length+1);return t.set([this.flag()]),t.set(e,1),t}toSuiAddress(){return k(Cs(tt(this.toSuiBytes(),{dkLen:32})).slice(0,on*2))}}function Oo(n){const e=V(n),t=us[e[0]];switch(t){case"ED25519":case"Secp256k1":case"Secp256r1":const r=ko[t],s=e.slice(1,e.length-r),i=e.slice(1+s.length);return{serializedSignature:n,signatureScheme:t,signature:s,publicKey:i,bytes:e};default:throw new Error("Unsupported signature scheme")}}function Eo({signature:n,signatureScheme:e,publicKey:t}){if(!t)throw new Error("`publicKey` is required");const r=t.toRawBytes(),s=new Uint8Array(1+n.length+r.length);return s.set([On[e]]),s.set(n,1),s.set(r,1+n.length),P(s)}const wt=32,ds="suiprivkey";class To{async signWithIntent(e,t){const r=cs(t,e),s=tt(r,{dkLen:32});return{signature:Eo({signature:await this.sign(s),signatureScheme:this.getKeyScheme(),publicKey:this.getPublicKey()}),bytes:P(e)}}async signTransaction(e){return this.signWithIntent(e,"TransactionData")}async signPersonalMessage(e){const{signature:t}=await this.signWithIntent(a.vector(a.u8()).serialize(e).toBytes(),"PersonalMessage");return{bytes:P(e),signature:t}}async signAndExecuteTransaction({transaction:e,client:t}){const r=await e.build({client:t}),{signature:s}=await this.signTransaction(r);return(await t.core.executeTransaction({transaction:r,signatures:[s]})).transaction}toSuiAddress(){return this.getPublicKey().toSuiAddress()}}class Io extends To{}function jo(n){const{prefix:e,words:t}=vt.decode(n);if(e!==ds)throw new Error("invalid private key prefix");const r=new Uint8Array(vt.fromWords(t)),s=r.slice(1),i=us[r[0]];return{scheme:i,schema:i,secretKey:s}}function Co(n,e){if(n.length!==wt)throw new Error("Invalid bytes length");const t=On[e],r=new Uint8Array(n.length+1);return r.set([t]),r.set(n,1),vt.encode(ds,vt.toWords(r))}function Kn(n){return!!new RegExp("^m\\/44'\\/784'\\/[0-9]+'\\/[0-9]+'\\/[0-9]+'+$").test(n)}function Mo(n){return _s(n,"")}function _o(n){return We(Mo(n))}const Po="ed25519 seed",$o=2147483648,xo=new RegExp("^m(\\/[0-9]+')+$"),hs=n=>n.replace("'",""),Ao=n=>{const t=Hn.create(Jn,Po).update(sn(n)).digest(),r=t.slice(0,32),s=t.slice(32);return{key:r,chainCode:s}},Ro=({key:n,chainCode:e},t)=>{const r=new ArrayBuffer(4);new DataView(r).setUint32(0,t);const i=new Uint8Array(1+n.length+r.byteLength);i.set(new Uint8Array(1).fill(0)),i.set(n,1),i.set(new Uint8Array(r,0,r.byteLength),n.length+1);const o=Hn.create(Jn,e).update(i).digest(),c=o.slice(0,32),u=o.slice(32);return{key:c,chainCode:u}},Bo=n=>xo.test(n)?!n.split("/").slice(1).map(hs).some(isNaN):!1,Gn=(n,e,t=$o)=>{if(!Bo(n))throw new Error("Invalid derivation path");const{key:r,chainCode:s}=Ao(e);return n.split("/").slice(1).map(hs).map(o=>parseInt(o,10)).reduce((o,c)=>Ro(o,c+t),{key:r,chainCode:s})},rn=32;class ps extends So{constructor(e){if(super(),typeof e=="string"?this.data=V(e):e instanceof Uint8Array?this.data=e:this.data=Uint8Array.from(e),this.data.length!==rn)throw new Error(`Invalid public key input. Expected ${rn} bytes, got ${this.data.length}`)}equals(e){return super.equals(e)}toRawBytes(){return this.data}flag(){return On.ED25519}async verify(e,t){let r;if(typeof t=="string"){const s=Oo(t);if(s.signatureScheme!=="ED25519")throw new Error("Invalid signature scheme");if(!ls(this.toRawBytes(),s.publicKey))throw new Error("Signature does not match public key");r=s.signature}else r=t;return me.verify(r,e,this.toRawBytes())}}ps.SIZE=rn;const qn="m/44'/784'/0'/0'/0'";class ze extends Io{constructor(e){if(super(),e)this.keypair={publicKey:e.publicKey,secretKey:e.secretKey.slice(0,32)};else{const t=me.utils.randomPrivateKey();this.keypair={publicKey:me.getPublicKey(t),secretKey:t}}}getKeyScheme(){return"ED25519"}static generate(){const e=me.utils.randomPrivateKey();return new ze({publicKey:me.getPublicKey(e),secretKey:e})}static fromSecretKey(e,t){if(typeof e=="string"){const i=jo(e);if(i.schema!=="ED25519")throw new Error(`Expected a ED25519 keypair, got ${i.schema}`);return this.fromSecretKey(i.secretKey,t)}const r=e.length;if(r!==wt)throw new Error(`Wrong secretKey size. Expected ${wt} bytes, got ${r}.`);const s={publicKey:me.getPublicKey(e),secretKey:e};if(!t||!t.skipValidation){const o=new TextEncoder().encode("sui validation"),c=me.sign(o,e);if(!me.verify(c,o,s.publicKey))throw new Error("provided secretKey is invalid")}return new ze(s)}getPublicKey(){return new ps(this.keypair.publicKey)}getSecretKey(){return Co(this.keypair.secretKey.slice(0,wt),this.getKeyScheme())}async sign(e){return me.sign(e,this.keypair.secretKey)}static deriveKeypair(e,t){if(t==null&&(t=qn),!Kn(t))throw new Error("Invalid derivation path");const{key:r}=Gn(t,_o(e));return ze.fromSecretKey(r)}static deriveKeypairFromSeed(e,t){if(t==null&&(t=qn),!Kn(t))throw new Error("Invalid derivation path");const{key:r}=Gn(t,e);return ze.fromSecretKey(r)}}async function Uo(n,e){const[,t]=await ue.chainFromRpc(n);return new Do(t,n,ze.deriveKeypair(e,"m/44'/784'/0'/0'/0'"))}class Do{_chain;_client;_signer;_debug;constructor(e,t,r,s){this._chain=e,this._client=t,this._signer=r,this._debug=s}chain(){return this._chain}address(){return this._signer.toSuiAddress()}async signAndSend(e){const t=[];for(const r of e){const{description:s,transaction:i}=r;this._debug&&console.log(`Signing ${s} for ${this.address()}`);try{const o=await this._client.signAndExecuteTransaction({transaction:i,signer:this._signer});t.push(o.digest)}catch(o){throw o}}return t}}const No={Address:Ft,Platform:ue,getSigner:Uo,protocols:{WormholeCore:()=>$t(()=>import("./index-Dsb-5apv.js"),__vite__mapDeps([0,1,2,3,4,5])),TokenBridge:()=>$t(()=>import("./index-CvTvoHH-.js"),__vite__mapDeps([6,1,2,0,3,4,5,7])),CircleBridge:()=>$t(()=>import("./index-jg26xdEi.js"),__vite__mapDeps([8,1,2,7,4,5]))},getChain:(n,e,t)=>new as(e,new ue(n,Ms(n,nn,{[e]:t})))},Xo=Object.freeze(Object.defineProperty({__proto__:null,default:No},Symbol.toStringTag,{value:"Module"}));export{ue as S,rs as T,os as a,Sn as b,Wo as c,Go as d,Ko as e,ti as f,vo as g,Lo as h,bo as i,Zo as j,Jo as k,Ho as l,qo as m,Yo as p,Xo as s};
|