@dcl/shop 1.4.2-31321510979.commit-eaccdfa → 1.4.2-31321833858.commit-d05a541
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/_assets/Activity-DsalM-e5.js +378 -0
- package/_assets/{AnimatedBackground-cJyJ3k37.js → AnimatedBackground-BOrNsqN1.js} +1 -1
- package/_assets/{Assets-CgKshhdA.js → Assets-QOoWiQL0.js} +2 -2
- package/_assets/{Assets.styles-C7r9wHQF.js → Assets.styles-CSP5Wb2u.js} +1 -1
- package/_assets/{Authorizations-BJbX0ZkC.js → Authorizations-C7ZkQpU3.js} +1 -1
- package/_assets/{Cart-DK4zdt7W.js → Cart-CwXY-en-.js} +1 -1
- package/_assets/{CircularProgress-BI-Efq9-.js → CircularProgress-DJGW52uC.js} +1 -1
- package/_assets/{Collection-Cf172utI.js → Collection-Dw81a56N.js} +4 -4
- package/_assets/{CollectionCarousel-BxoPvgOg.js → CollectionCarousel-mhAYGnTb.js} +19 -19
- package/_assets/{Confetti-D2X3FtD_.js → Confetti-BJzwqwTF.js} +1 -1
- package/_assets/{ConstantsUtil-BYkVBz19.js → ConstantsUtil-S9Rc8iab.js} +1 -1
- package/_assets/{ContentClient-BkLWw6Rk.js → ContentClient-ljReoKyO.js} +1 -1
- package/_assets/{Creator-BFj8KtJ0.js → Creator-D9b4j61f.js} +1 -1
- package/_assets/{DeploymentBuilder-8E575y44.js → DeploymentBuilder-DSxp43uX.js} +1 -1
- package/_assets/{ErrorNotice-BYO5Bvyc.js → ErrorNotice-B_DnZnpz.js} +1 -1
- package/_assets/{ExchangeController-BA0Eliky.js → ExchangeController-BnL43Mxg.js} +1 -1
- package/_assets/{Faq-CaXi1BNV.js → Faq-BkoPMwLV.js} +1 -1
- package/_assets/{GetCredits-khV-GXU_.js → GetCredits-CetTDoCs.js} +1 -1
- package/_assets/{Grow-DVmpJZOV.js → Grow-DL6epSiS.js} +1 -1
- package/_assets/{HelpersUtil-DynUp31-.js → HelpersUtil-BL1YqLJc.js} +1 -1
- package/_assets/{ItemDetail-DDdnprOE.js → ItemDetail-VFYUF0mL.js} +1 -1
- package/_assets/LazyEmoteControls-BGRwSFAr.js +2 -0
- package/_assets/{LoadMore-CYVBsAhd.js → LoadMore-DAmGHMVW.js} +1 -1
- package/_assets/{ManaPricingBanner.styles-C44WWkRh.js → ManaPricingBanner.styles-2dMknEFN.js} +1 -1
- package/_assets/{MyAssets-ogqvhbaY.js → MyAssets-BSO8VWKY.js} +2 -2
- package/_assets/{MyFavorites-D8erMGcd.js → MyFavorites-DHhBkxx8.js} +1 -1
- package/_assets/{NetworkUtil-BsEXGHJo.js → NetworkUtil-CmFj23VB.js} +1 -1
- package/_assets/{NotFound-D5seDwlz.js → NotFound-DH7CCo8Z.js} +1 -1
- package/_assets/{NotificationsBell-uJCcRX8e.js → NotificationsBell-C-ZXxEiI.js} +1 -1
- package/_assets/{OutfitDetail-Cnd07GLk.js → OutfitDetail-CFY6HZm6.js} +1 -1
- package/_assets/{OutfitPreview-BADnZcBi.js → OutfitPreview-DS6GhxsN.js} +1 -1
- package/_assets/{OutfitStudio-DsQnrk15.js → OutfitStudio-NVNd-hvf.js} +8 -8
- package/_assets/{StoreSettings-Du81JVhq.js → StoreSettings-CrZZUE9j.js} +1 -1
- package/_assets/{Success-CSByCd9s.js → Success-B-MnwiE5.js} +1 -1
- package/_assets/{SwapController-Dl69afRt.js → SwapController-Dbqbv3yv.js} +1 -1
- package/_assets/{Tooltip-Cz34W2WD.js → Tooltip-BV1YJ2nx.js} +1 -1
- package/_assets/{TradeService-DYWoUp2O.js → TradeService-BDhWL-iC.js} +1 -1
- package/_assets/{W3MFrameProviderSingleton-DMgnEflU.js → W3MFrameProviderSingleton-DkDY_Uhq.js} +3 -3
- package/_assets/{WebCryptoP256-DvJwZjAY.js → WebCryptoP256-dZsiPxua.js} +1 -1
- package/_assets/authorizations-DdXEl4SH.js +1 -0
- package/_assets/{basic-CgCNtuea.js → basic-BxS4xyCI.js} +1 -1
- package/_assets/{biconomy-ChCoIucR.js → biconomy-ChyCaDhZ.js} +1 -1
- package/_assets/{builder-UN5pIfno.js → builder-aNj3KtnQ.js} +1 -1
- package/_assets/{buy-BsMK5C0W.js → buy-ITSy499E.js} +1 -1
- package/_assets/buy-gasless-Qwo4-LdH.js +1 -0
- package/_assets/{categories-BoH_BcuN.js → categories-C_3TBHB6.js} +1 -1
- package/_assets/{ccip-BoCyT5Kw.js → ccip-DSAZ1Drq.js} +1 -1
- package/_assets/{ccip-ci60pO9_.js → ccip-q9rBWRrW.js} +1 -1
- package/_assets/{chains-BXxRVqOL.js → chains-C3ogoGMY.js} +1 -1
- package/_assets/{collectionPage.styles-BK-K9Hp7.js → collectionPage.styles-lQ1i3kYb.js} +4 -4
- package/_assets/{common-pfIErvdh.js → common-Du-luxO1.js} +1 -1
- package/_assets/{controller-Bmdml4vJ.js → controller-CjHTogUM.js} +2 -2
- package/_assets/{core-DSyHKtkv.js → core-BLRurbyU.js} +4 -4
- package/_assets/{createSvgIcon-B7oSzltn.js → createSvgIcon-DPRU4ebA.js} +1 -1
- package/_assets/{custom-CpeFfUh_.js → custom-DESM1TBo.js} +1 -1
- package/_assets/{data-capture-D82nwrKY.js → data-capture-Xahs7XND.js} +1 -1
- package/_assets/decimals-CA4WCN0k.js +1 -0
- package/_assets/{decimals-CufGxqGB.js → decimals-CN36TWfs.js} +1 -1
- package/_assets/{detectExtension-DJir-uLI.js → detectExtension-D5bfb7Ei.js} +1 -1
- package/_assets/{email-B3_G7aNG.js → email-BnVyGQjo.js} +1 -1
- package/_assets/{embedded-wallet-CbWrcRQY.js → embedded-wallet-BZeoh5V4.js} +1 -1
- package/_assets/{emotion-styled.browser.esm-mKrb76ZC.js → emotion-styled.browser.esm-ScvFm9x7.js} +1 -1
- package/_assets/{engine-Ck8sAaZu.js → engine-B-fLoDkH.js} +1 -1
- package/_assets/{errors-CvYDNXLT.js → errors-DXSAwVw4.js} +1 -1
- package/_assets/{estimate-l1-fee-BrAAemAM.js → estimate-l1-fee-BjJ_4KQn.js} +1 -1
- package/_assets/{eth_estimateGas-D9Pu3PNx.js → eth_estimateGas-VGXN9rx1.js} +1 -1
- package/_assets/{eth_getStorageAt-BSkNzsMl.js → eth_getStorageAt-xHOtLw9t.js} +1 -1
- package/_assets/{eth_getTransactionCount-DpXnQ6cd.js → eth_getTransactionCount-DeOan_M2.js} +1 -1
- package/_assets/{ethereum-D1MZ_SH0.js → ethereum-wAQ6oI96.js} +1 -1
- package/_assets/{ethers-BKEzvwKN.js → ethers-CHvw3dSr.js} +1 -1
- package/_assets/{execute-DFgCeynW.js → execute-DA2F3yom.js} +2 -2
- package/_assets/{extractIPFS-DuxYPj2T.js → extractIPFS-DYEe95Fe.js} +1 -1
- package/_assets/{features-CAYyw2t4.js → features-P2l_M4a9.js} +1 -1
- package/_assets/{fetchTokenMetadata-CpttgW84.js → fetchTokenMetadata-C1e9utql.js} +2 -2
- package/_assets/{field.styles-DKv8B53l.js → field.styles-DUhp2XSE.js} +1 -1
- package/_assets/{get-bytecode-CL7QG9KN.js → get-bytecode-C_QCCMoR.js} +1 -1
- package/_assets/get-ecosystem-wallet-info-D6ZqL22k.js +1 -0
- package/_assets/{getBalance-B2ObTKo9.js → getBalance-BRp_O879.js} +2 -2
- package/_assets/{getInstalledModules-OWhC7ilZ.js → getInstalledModules-TqMZVwQW.js} +1 -1
- package/_assets/getNFT-CxoCzDMN.js +1 -0
- package/_assets/{getNFT-DEL-8DlX.js → getNFT-D5BgP1-B.js} +2 -2
- package/_assets/{grid.styles-CLaodk5Q.js → grid.styles-8zRUQugb.js} +1 -1
- package/_assets/{hashTypedData-l-4TMklh.js → hashTypedData-BVfCehOr.js} +1 -1
- package/_assets/{hashTypedData-DejwI0fC.js → hashTypedData-DYCRMzzm.js} +1 -1
- package/_assets/{in-app-CAxC4Ivh.js → in-app-DkcHZ10N.js} +1 -1
- package/_assets/{in-app-wallet-calls-B4qBtbAF.js → in-app-wallet-calls-gnS8ZYX9.js} +1 -1
- package/_assets/{index-DqhO9Fg3.js → index--uTyu0uz.js} +1 -1
- package/_assets/{index-eNelMLKH.js → index-1ZLnfNGq.js} +1 -1
- package/_assets/{index-DakB46KR.js → index-2mvOLhCu.js} +1 -1
- package/_assets/{index-CEyMhxNB.js → index-B-uyLfLW.js} +1 -1
- package/_assets/{index-DEJfCl92.js → index-BElLBIDw.js} +1 -1
- package/_assets/{index-BxnUk4ME.js → index-BHVZE5-w.js} +1 -1
- package/_assets/{index-Bv9rCbrF.js → index-BHiuk7dd.js} +1 -1
- package/_assets/{index-BVi-9LKN.js → index-BKE2sklY.js} +1 -1
- package/_assets/{index-DP6QK5zD.js → index-BR-AXZqF.js} +1 -1
- package/_assets/{index-CRzzQfOr.js → index-BTUwiZLK.js} +1 -1
- package/_assets/{index-Bh6adykR.js → index-BVWvbmB_.js} +12 -12
- package/_assets/{index-Dhix6rUc.js → index-BYvgoigv.js} +1 -1
- package/_assets/{index-BYLXLXoc.js → index-B_1v6F0h.js} +1 -1
- package/_assets/{index-DvYOZ9Sr.js → index-B_3Ca4N6.js} +2 -2
- package/_assets/{index-Cmjegovo.js → index-BcxEq2Er.js} +1 -1
- package/_assets/{index-BMx0J1W7.js → index-BhcJRwSw.js} +1 -1
- package/_assets/{index-CK61l8v-.js → index-BiNtOaPH.js} +1 -1
- package/_assets/{index-DUOQXffc.js → index-Bl3tllG2.js} +1 -1
- package/_assets/{index-hKJudHRw.js → index-BqTYxdMG.js} +1 -1
- package/_assets/{index-DKT5zOvs.js → index-BsZqUcMW.js} +1 -1
- package/_assets/{index-DkPrBpEu.js → index-BtXchQlE.js} +1 -1
- package/_assets/{index-BLuTTbXE.js → index-CA_m9eDM.js} +1 -1
- package/_assets/{index-Zf4oaxuE.js → index-CEBe8Ks-.js} +1 -1
- package/_assets/{index-BfOmf_Cp.js → index-CI91n7ZK.js} +1 -1
- package/_assets/{index-1QstDrwj.js → index-CKQ7PP9t.js} +1 -1
- package/_assets/{index-9KWmRLJY.js → index-CNjkfqno.js} +1 -1
- package/_assets/{index-DFBE_Qdk.js → index-CSuR3VTG.js} +1 -1
- package/_assets/{index-DOLSZTRS.js → index-CVdDq8EF.js} +1 -1
- package/_assets/{index-R9nHgWvM.js → index-CYTl2aV_.js} +1 -1
- package/_assets/{index-Cumq3JZH.js → index-CaWADU3A.js} +3 -3
- package/_assets/{index-EF_jUQ8k.js → index-ChtghJjk.js} +1 -1
- package/_assets/{index-CzLF63y-.js → index-CstxEm24.js} +1 -1
- package/_assets/{index-BKv8igl6.js → index-CtmBq3lY.js} +1 -1
- package/_assets/{index-BJSqjAz5.js → index-CtnJfdje.js} +1 -1
- package/_assets/{index-BkyZYtvZ.js → index-CuEcRXk2.js} +1 -1
- package/_assets/{index-Cg55UGkV.js → index-Cy3K6TbO.js} +1 -1
- package/_assets/{index-DGlvMnC6.js → index-D0Sno89y.js} +1 -1
- package/_assets/{index-ChXE0-3A.js → index-D3Cq4bqb.js} +1 -1
- package/_assets/{index-DPwpeXbZ.js → index-DBV70okV.js} +1 -1
- package/_assets/{index-BHsHyxTp.js → index-DFbLJk0v.js} +1 -1
- package/_assets/{index-Bf9Jh6ty.js → index-DIXd4yr6.js} +3 -3
- package/_assets/{index-DiWnKuWQ.js → index-DJj7DNI5.js} +2 -2
- package/_assets/{index-BWHG3_yU.js → index-DKik1tqf.js} +1 -1
- package/_assets/{index-tslnPDXe.js → index-DNaUH0hG.js} +1 -1
- package/_assets/{index-Dcr_mOap.js → index-DOUhX2vd.js} +1 -1
- package/_assets/{index-CXVjVFyf.js → index-DWB648gE.js} +2 -2
- package/_assets/{index-BoAHsqWZ.js → index-DbCIRxku.js} +3 -3
- package/_assets/{index-BvqQC62-.js → index-DfVwZLZv.js} +1 -1
- package/_assets/{index-PKeNbFmQ.js → index-Di93FjoO.js} +1 -1
- package/_assets/{index-BeR8agGt.js → index-DoPvIZFo.js} +1 -1
- package/_assets/{index-D7lxJ3dw.js → index-Dziv-ztL.js} +1 -1
- package/_assets/{index-DawlAKc2.js → index-KCnWqTid.js} +1 -1
- package/_assets/{index-BbVTIE6o.js → index-LLZCscV-.js} +1 -1
- package/_assets/{index-DVLRWBza.js → index-RzZ2o1PM.js} +1 -1
- package/_assets/{index-D5hR2snR.js → index-UKBE5ufT.js} +1 -1
- package/_assets/{index-DiIBE3vJ.js → index-WtEb8Dou.js} +1 -1
- package/_assets/{index-BS30HDvk.js → index-XsdlViAm.js} +1 -1
- package/_assets/{index-C0Q2Xw9m.js → index-hraIPyUK.js} +2 -2
- package/_assets/{index-1hFNP4-J.js → index-nyMFoZlx.js} +1 -1
- package/_assets/{index-CPeIXfrM.js → index-oGGEVx4e.js} +1 -1
- package/_assets/{index-DHGhfu2F.js → index-pGuWMonI.js} +1 -1
- package/_assets/{index-Uf7j7Muh.js → index-xmwrM1gX.js} +1 -1
- package/_assets/{index.es-CpRZxgSI.js → index.es-1C-91fa0.js} +1 -1
- package/_assets/{index.es-mC-IwkBp.js → index.es-BSWBrpQe.js} +4 -4
- package/_assets/{index.es-BrdXKoNI.js → index.es-dMv11h1g.js} +1 -1
- package/_assets/{linkAccount-BC_9YSzE.js → linkAccount-BPOjpDQF.js} +1 -1
- package/_assets/{localBatchGatewayRequest-Sqedi9_T.js → localBatchGatewayRequest-DQhTBRSh.js} +1 -1
- package/_assets/{native-Dc2tC-qn.js → native-DDD_yqs5.js} +1 -1
- package/_assets/{networks-D1KxTI6W.js → networks-DuFCMSqt.js} +1 -1
- package/_assets/{onramp-DoImupnC.js → onramp-CB-lwIcL.js} +1 -1
- package/_assets/{openzeppelin-BgxtMme5.js → openzeppelin-BEzK-ytM.js} +1 -1
- package/_assets/{ownerOf-3KXrH0u3.js → ownerOf-CR0b_ZWL.js} +1 -1
- package/_assets/{parseNft-PSXPX8Qm.js → parseNft-CeR_0mFl.js} +2 -2
- package/_assets/{parseSignature-CYlDxQ9k.js → parseSignature-BXY4fDlp.js} +3 -3
- package/_assets/{parseSignature-DTi4uU4Z.js → parseSignature-DvIu4faj.js} +1 -1
- package/_assets/{passkeys-5lnypzRC.js → passkeys-DoXc4Xy7.js} +1 -1
- package/_assets/{pay-with-exchange-CWcjyYs3.js → pay-with-exchange-D3YRwRnQ.js} +1 -1
- package/_assets/{prepare-contract-call-Bc4Cpa9D.js → prepare-contract-call-CuOouwzZ.js} +1 -1
- package/_assets/{qr-overlay-NPhJDGVq.js → qr-overlay-BKsCOIA8.js} +1 -1
- package/_assets/{receive-VPgnkZS_.js → receive-B1KBfflU.js} +1 -1
- package/_assets/{resolveImplementation-fHRuJM82.js → resolveImplementation-rJZA8R7-.js} +1 -1
- package/_assets/{rpc-DZP--mgd.js → rpc-z-_gajTg.js} +1 -1
- package/_assets/{secp256k1-oNvcpUA1.js → secp256k1-CEt2uVIa.js} +1 -1
- package/_assets/{secp256k1-sqjfgWa7.js → secp256k1-DzPEUahX.js} +1 -1
- package/_assets/{secp256k1-C3Qb75Qb.js → secp256k1-Eu_UrDZQ.js} +1 -1
- package/_assets/{send-yMlzgxV3.js → send-BP56Pjq2.js} +1 -1
- package/_assets/{send-batch-transaction-C5BOzhrb.js → send-batch-transaction-E8tR0aO1.js} +1 -1
- package/_assets/{send-eip712-transaction-BfXD1pXX.js → send-eip712-transaction-6B8BaRp6.js} +2 -2
- package/_assets/send-gasless-transaction-BC0vYYGz.js +2 -0
- package/_assets/{send-transaction-DLLBmyZ2.js → send-transaction-Cyj6alac.js} +2 -2
- package/_assets/{sendMetaTransaction-DCqRrKxD.js → sendMetaTransaction-CxjN2iMp.js} +1 -1
- package/_assets/{sendRawTransaction-k2Sfh7AJ.js → sendRawTransaction-BZMjypDx.js} +3 -3
- package/_assets/{sentry-1ai9esXb.js → sentry-CUdtSPei.js} +1 -1
- package/_assets/{serializeTransaction-CwlY06pE.js → serializeTransaction-DdLuDvZh.js} +1 -1
- package/_assets/{session-proposal-BR4gno3D.js → session-proposal-Cb_IdGgx.js} +1 -1
- package/_assets/{session-request-DelvKYtg.js → session-request-CuiTHTkf.js} +2 -2
- package/_assets/{sha256-CeTmPq_Q.js → sha256-DsP9u1VJ.js} +1 -1
- package/_assets/{signing-DBPT8c_m.js → signing-B_TMY__g.js} +3 -3
- package/_assets/{skeleton.styles-S0BlHaZF.js → skeleton.styles-BZ8ZgFLU.js} +1 -1
- package/_assets/{socials-HhtoVIIu.js → socials-DDD9uvpM.js} +1 -1
- package/_assets/{styled-9SIjAP06.js → styled-KLwzgdoB.js} +1 -1
- package/_assets/{swaps-BzqeewT0.js → swaps-CjqUbBfb.js} +1 -1
- package/_assets/{thirdweb-YIX7a_02.js → thirdweb-0rujUNSl.js} +3 -3
- package/_assets/{to-serializable-transaction-DqDYMKiS.js → to-serializable-transaction-NCusZ8xl.js} +2 -2
- package/_assets/{totalSupply-7X9a1Ctp.js → totalSupply-u5fgMBD-.js} +1 -1
- package/_assets/{transaction-DcVIFcB7.js → transaction-C8mfivVb.js} +1 -1
- package/_assets/{transactionReceipt-CdHeShcY.js → transactionReceipt-BHjPvP-A.js} +1 -1
- package/_assets/{transactions-DG7v8Ic7.js → transactions-D0YLE766.js} +1 -1
- package/_assets/{useCreditPacks-vq0qzOlC.js → useCreditPacks-DhRruCBh.js} +1 -1
- package/_assets/{useImportable-BJCj_pDd.js → useImportable-COXp75Oi.js} +1 -1
- package/_assets/{useInfiniteGrid-BzWCN8NZ.js → useInfiniteGrid-CPaNhKNU.js} +1 -1
- package/_assets/{useStore-CQ5asPEA.js → useStore-a0qe_EW2.js} +2 -2
- package/_assets/useTheme-DgGKATWA.js +1 -0
- package/_assets/{utils-DPjdBMrV.js → utils-ClNpRN95.js} +1 -1
- package/_assets/{verifyHash-B6Vh-Wda.js → verifyHash-Czkmjbtb.js} +1 -1
- package/_assets/{w3m-modal-BBx0I47s.js → w3m-modal-CCQZ28h5.js} +1 -1
- package/_assets/{w3m-modal-DSuObTMF.js → w3m-modal-XkqIwsWW.js} +1 -1
- package/_assets/{wait-for-tx-receipt-dL7u4t_k.js → wait-for-tx-receipt-umHQbgNk.js} +1 -1
- package/_assets/{wallets-DUR60lPP.js → wallets-dFWYb-aD.js} +5 -5
- package/_assets/{web-connector-CehjxsVA.js → web-connector-B6I8EGFj.js} +3 -3
- package/_assets/{writeContract-C0-n2OaV.js → writeContract-C2tbGQyL.js} +1 -1
- package/_assets/{zora-sepolia-k6yl8DpC.js → zora-sepolia-CIZA49Ti.js} +1 -1
- package/_assets/{zoraTestnet-7xxdYXjY.js → zoraTestnet-Chf9u3j4.js} +1 -1
- package/index.html +11 -11
- package/package.json +2 -2
- package/_assets/Activity-Du3v4d55.js +0 -378
- package/_assets/LazyEmoteControls-BlgXCM-V.js +0 -2
- package/_assets/authorizations-CHiv1Pa7.js +0 -1
- package/_assets/buy-gasless-CChLhkv0.js +0 -1
- package/_assets/decimals-C8Nkd-f-.js +0 -1
- package/_assets/get-ecosystem-wallet-info-ClVaJBNf.js +0 -1
- package/_assets/getNFT-BSQnVoEz.js +0 -1
- package/_assets/send-gasless-transaction-DTd_ER_v.js +0 -2
- package/_assets/useTheme-BzrLLDZ8.js +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{L as $,d as ae,j as e,r as h}from"./react-BYHuwl8r.js";import{t as se,s as t,I as j,O as ne,P as oe,B as w,Q as re,v as _,R as le,l as de,y as ce,b as s,S as H,U as T,V as he,W as pe,X as me,Y as ue,Z as xe,$ as ge,a0 as fe,a1 as be,a2 as ye,a3 as ve,a4 as je,a5 as we,a6 as $e,a7 as ke,a8 as Ce,a9 as Ie,A as z,aa as Ee,ab as ze,ac as Le,ad as We,ae as Oe,af as Se}from"./index-
|
|
1
|
+
import{L as $,d as ae,j as e,r as h}from"./react-BYHuwl8r.js";import{t as se,s as t,I as j,O as ne,P as oe,B as w,Q as re,v as _,R as le,l as de,y as ce,b as s,S as H,U as T,V as he,W as pe,X as me,Y as ue,Z as xe,$ as ge,a0 as fe,a1 as be,a2 as ye,a3 as ve,a4 as je,a5 as we,a6 as $e,a7 as ke,a8 as Ce,a9 as Ie,A as z,aa as Ee,ab as ze,ac as Le,ad as We,ae as Oe,af as Se}from"./index-BVWvbmB_.js";import{E as K}from"./ErrorNotice-B_DnZnpz.js";import{E as Ae}from"./LazyEmoteControls-BGRwSFAr.js";import{O as Fe}from"./OutfitPreview-DS6GhxsN.js";import"./dcl-schemas-CmtP3U6y.js";import"./sentry-CUdtSPei.js";import"./ethers-CHvw3dSr.js";import"./intl-CBcMB1D2.js";import"./disposePreview-5vjiqVZ0.js";const{colors:n,radius:g,media:r,gradients:Te}=se,q=t.div`
|
|
2
2
|
max-width: 1721px;
|
|
3
3
|
margin: 0 auto;
|
|
4
4
|
/* The page's bottom padding is 56px, but the phone CTA bar is sticky and has its own bottom padding for the safe area.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{r,j as n}from"./react-BYHuwl8r.js";import{d as g}from"./dcl-schemas-CmtP3U6y.js";import{s as P,X as R,ag as F,c as O,ah as S,b as B}from"./index-
|
|
1
|
+
import{r,j as n}from"./react-BYHuwl8r.js";import{d as g}from"./dcl-schemas-CmtP3U6y.js";import{s as P,X as R,ag as F,c as O,ah as S,b as B}from"./index-BVWvbmB_.js";import{d as W}from"./disposePreview-5vjiqVZ0.js";const H=P.div`
|
|
2
2
|
position: absolute;
|
|
3
3
|
inset: 0;
|
|
4
4
|
display: grid;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{r as d,j as t,L as F,d as Jt,a as Xt,b as Yt}from"./react-BYHuwl8r.js";import{s,t as lt,I as K,aZ as Zt,b as e,A as ot,B as x,K as Ct,v as X,R as te,y as ee,D as It,l as Et,V as ie,$ as z,a_ as V,a$ as se,b0 as oe,b1 as J,a4 as re,a5 as ae,a2 as ne,a3 as de,S as Lt,a8 as le,b2 as rt,b3 as ue,b4 as ce,b5 as pe,F as N,b6 as Rt,b7 as zt,b8 as A,
|
|
1
|
+
import{r as d,j as t,L as F,d as Jt,a as Xt,b as Yt}from"./react-BYHuwl8r.js";import{s,t as lt,I as K,aZ as Zt,b as e,A as ot,B as x,K as Ct,v as X,R as te,y as ee,D as It,l as Et,V as ie,$ as z,a_ as V,a$ as se,b0 as oe,b1 as J,a4 as re,a5 as ae,a2 as ne,a3 as de,S as Lt,a8 as le,b2 as rt,b3 as ue,b4 as ce,b5 as pe,F as N,b6 as Rt,b7 as zt,b8 as A,h as at,b9 as nt,ba as he,bb as fe,bc as xe,Z as me,bd as ge,be,af as ye}from"./index-BVWvbmB_.js";import{E as U}from"./ErrorNotice-B_DnZnpz.js";import{L as je}from"./LoadMore-DAmGHMVW.js";import{u as ve}from"./useInfiniteGrid-CPaNhKNU.js";import{O as we}from"./OutfitPreview-DS6GhxsN.js";import{T as $e}from"./skeleton.styles-BZ8ZgFLU.js";import"./dcl-schemas-CmtP3U6y.js";import"./sentry-CUdtSPei.js";import"./ethers-CHvw3dSr.js";import"./intl-CBcMB1D2.js";import"./disposePreview-5vjiqVZ0.js";const{colors:m,radius:Y,media:Se}=lt,ke=s.div`
|
|
2
2
|
display: flex;
|
|
3
3
|
flex-direction: column;
|
|
4
4
|
gap: 12px;
|
|
@@ -53,7 +53,7 @@ import{r as d,j as t,L as F,d as Jt,a as Xt,b as Yt}from"./react-BYHuwl8r.js";im
|
|
|
53
53
|
grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
|
|
54
54
|
gap: 10px;
|
|
55
55
|
|
|
56
|
-
${
|
|
56
|
+
${Se.maxWidth("mobile")} {
|
|
57
57
|
grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
|
|
58
58
|
}
|
|
59
59
|
`,Ee=s.span`
|
|
@@ -111,7 +111,7 @@ import{r as d,j as t,L as F,d as Jt,a as Xt,b as Yt}from"./react-BYHuwl8r.js";im
|
|
|
111
111
|
color: ${m.accent};
|
|
112
112
|
background: ${m.white};
|
|
113
113
|
border-radius: 50%;
|
|
114
|
-
`,Oe=[{key:"wearable",labelKey:"categories.wearables"},{key:"emote",labelKey:"categories.emotes"}];function Ae({selectedKeys:n,onPick:f,canPick:h}){const[c,y]=d.useState("wearable"),[j,b]=d.useState(""),[o,R]=d.useState("");d.useEffect(()=>{const l=setTimeout(()=>R(j.trim()),300);return()=>clearTimeout(l)},[j]);const{items:C,isLoading:I,isPlaceholderData:u,isError:
|
|
114
|
+
`,Oe=[{key:"wearable",labelKey:"categories.wearables"},{key:"emote",labelKey:"categories.emotes"}];function Ae({selectedKeys:n,onPick:f,canPick:h}){const[c,y]=d.useState("wearable"),[j,b]=d.useState(""),[o,R]=d.useState("");d.useEffect(()=>{const l=setTimeout(()=>R(j.trim()),300);return()=>clearTimeout(l)},[j]);const{items:C,isLoading:I,isPlaceholderData:u,isError:k,hasNextPage:E,isFetchingNextPage:Z,fetchNextPage:S}=ve(["outfit-picker",c,o],l=>Zt({search:o||void 0,category:c,onSale:!0,listingType:"primary",first:24,skip:l,sortBy:"cheapest"})),g=e(c==="emote"?"outfits.studio.searchEmotes":"outfits.studio.searchWearables"),_=new Set,H=C.filter(l=>{if(!l.itemId)return!1;const v=`${l.contractAddress.toLowerCase()}-${l.itemId}`;return _.has(v)?!1:(_.add(v),!0)});return t.jsxs(ke,{"data-testid":"outfit-picker",children:[t.jsx(Ce,{role:"group","aria-label":e("outfits.studio.pickerCategory"),"data-testid":"outfit-picker-category",children:Oe.map(({key:l,labelKey:v})=>t.jsx(Ie,{type:"button","data-category":l,"data-selected":c===l||void 0,"aria-pressed":c===l,onClick:()=>{y(l),b("")},children:e(v)},l))}),t.jsxs(Te,{children:[t.jsx(K,{name:"search",color:lt.colors.muted}),t.jsx("input",{value:j,placeholder:g,"aria-label":g,onChange:l=>b(l.target.value),"data-testid":"outfit-picker-search"})]}),k?t.jsx(vt,{children:e("outfits.errors.generic")}):I||u?t.jsx(wt,{"aria-busy":"true",children:Array.from({length:8},(l,v)=>t.jsx(Ee,{className:"skeleton","aria-hidden":!0},v))}):H.length===0?t.jsx(vt,{children:e("outfits.studio.noResults")}):t.jsx(wt,{children:H.map(l=>{const v=`${l.contractAddress.toLowerCase()}-${l.itemId}`,M=n.has(v);return t.jsxs(Le,{type:"button","data-testid":"outfit-picker-item","data-selected":M||void 0,disabled:!M&&!h(l),onClick:()=>f(l),title:l.name,children:[t.jsx(Re,{src:l.thumbnail,alt:"",loading:"lazy"}),t.jsx(ze,{children:l.name}),t.jsxs(Pe,{children:[t.jsx(ot,{size:12}),l.priceCredits.toLocaleString()]}),M?t.jsx(We,{name:"check-rounded",size:18}):null]},v)})}),!k&&!I&&!u?t.jsx(je,{auto:!1,hasNextPage:!!E,isFetching:Z,onLoadMore:()=>void S()}):null]})}const{colors:a,radius:$,media:B,z:Fe}=lt,Pt=s.div`
|
|
115
115
|
max-width: 1200px;
|
|
116
116
|
margin: 0 auto;
|
|
117
117
|
display: flex;
|
|
@@ -167,7 +167,7 @@ import{r as d,j as t,L as F,d as Jt,a as Xt,b as Yt}from"./react-BYHuwl8r.js";im
|
|
|
167
167
|
background: rgba(30, 166, 114, 0.35);
|
|
168
168
|
color: ${a.white};
|
|
169
169
|
}
|
|
170
|
-
`,
|
|
170
|
+
`,St=s.div`
|
|
171
171
|
display: flex;
|
|
172
172
|
flex-direction: column;
|
|
173
173
|
gap: 10px;
|
|
@@ -437,7 +437,7 @@ import{r as d,j as t,L as F,d as Jt,a as Xt,b as Yt}from"./react-BYHuwl8r.js";im
|
|
|
437
437
|
flex: 1;
|
|
438
438
|
min-width: 0;
|
|
439
439
|
}
|
|
440
|
-
`,
|
|
440
|
+
`,kt=s.input`
|
|
441
441
|
height: 44px;
|
|
442
442
|
padding: 0 14px;
|
|
443
443
|
border: 1px solid ${a.lineStrong};
|
|
@@ -527,7 +527,7 @@ import{r as d,j as t,L as F,d as Jt,a as Xt,b as Yt}from"./react-BYHuwl8r.js";im
|
|
|
527
527
|
gap: 4px;
|
|
528
528
|
font-size: 15px;
|
|
529
529
|
font-weight: 700;
|
|
530
|
-
`,
|
|
530
|
+
`,Si=s.button`
|
|
531
531
|
display: inline-flex;
|
|
532
532
|
align-items: center;
|
|
533
533
|
justify-content: center;
|
|
@@ -543,7 +543,7 @@ import{r as d,j as t,L as F,d as Jt,a as Xt,b as Yt}from"./react-BYHuwl8r.js";im
|
|
|
543
543
|
color: ${a.dclRed};
|
|
544
544
|
background: rgba(255, 255, 255, 0.14);
|
|
545
545
|
}
|
|
546
|
-
`,
|
|
546
|
+
`,ki=s.div`
|
|
547
547
|
display: flex;
|
|
548
548
|
flex-direction: column;
|
|
549
549
|
gap: 8px;
|
|
@@ -553,4 +553,4 @@ import{r as d,j as t,L as F,d as Jt,a as Xt,b as Yt}from"./react-BYHuwl8r.js";im
|
|
|
553
553
|
display: flex;
|
|
554
554
|
flex-wrap: wrap;
|
|
555
555
|
gap: 10px;
|
|
556
|
-
`;function Ki(){const{id:n}=Jt(),{pathname:f}=Xt(),h=X(b=>b.session),c=X(b=>b.signIn),y=te();ee({title:e("outfits.studio.title"),noindex:!0});const j=f.endsWith("/new")?"new":n?"edit":"list";return y==="pending"?t.jsx(O,{"aria-busy":"true","data-testid":"outfit-studio-loading",children:t.jsx("span",{className:"spinner","aria-hidden":!0})}):h?y!=="creator"?t.jsxs(O,{"data-testid":"outfit-studio-unavailable",children:[t.jsx($t,{children:e("outfits.studio.title")}),t.jsx(w,{children:e("outfits.studio.notAvailable")}),t.jsx(x,{as:F,to:"/overview",variant:"white",children:e("outfits.studio.backToShop")})]}):j==="list"?t.jsx(Ii,{}):t.jsx(Ri,{outfitId:j==="edit"?n:null},n??"new"):t.jsxs(O,{"data-testid":"outfit-studio-signin",children:[t.jsx($t,{children:e("outfits.studio.title")}),t.jsx(w,{children:e("outfits.studio.signInPrompt")}),t.jsx(x,{variant:"white",onClick:()=>c(),children:e("outfits.studio.signIn")})]})}function Ci({outfit:n}){const f=Lt(n.thumbnailHash);return f?t.jsx(Me,{style:{background:ce(n)},children:t.jsx("img",{src:f,alt:"",loading:"lazy"})}):t.jsx(De,{"aria-hidden":!0})}function Ii(){const n=X(u=>u.session),f=It(),[h,c]=d.useState(null),[y,j]=d.useState(null),{data:b=[],isLoading:o,isError:R,refetch:C}=Et({queryKey:["outfits-all"],enabled:!!n,staleTime:3e4,queryFn:()=>be(n.identity)});async function I(u,S){if(n){j(u.id);try{S==="delete"?(await pe(u.id,n.identity),N.success(e("outfits.studio.deleted"))):(await Rt({...dt(u),published:!1},n.identity,"update"),N.success(e("outfits.studio.unpublished"))),zt(f)}catch(E){E instanceof A||at(E,{flow:`outfit-${S}`}),N.error(e(E instanceof A?nt(E.code):"outfits.errors.generic"))}finally{j(null),c(null)}}}return t.jsxs(Pt,{"data-testid":"outfit-studio-list",children:[t.jsxs(Wt,{children:[t.jsx(Ot,{children:e("outfits.studio.myOutfits")}),t.jsx(x,{as:F,to:"/outfits/new",variant:"white","data-testid":"outfit-studio-new",children:e("outfits.studio.new")})]}),o?t.jsx(kt,{"aria-busy":"true",children:Array.from({length:3},(u,S)=>t.jsx(Be,{className:"skeleton","aria-hidden":!0},S))}):R?t.jsxs(O,{children:[t.jsx(U,{message:e("outfits.errors.generic")}),t.jsx(x,{variant:"white",onClick:()=>void C(),children:e("outfits.detail.retry")})]}):b.length===0?t.jsx(w,{children:e("outfits.studio.empty")}):t.jsx(kt,{children:b.map(u=>t.jsxs(He,{"data-testid":"outfit-studio-row","data-published":u.published||void 0,children:[t.jsx(Ci,{outfit:u}),t.jsxs(Ue,{children:[t.jsx(Ke,{children:u.name||e("outfits.studio.untitled")}),t.jsxs(_e,{children:[t.jsx(At,{"data-state":u.published?"published":"draft",children:u.published?e("outfits.studio.publishedState"):e("outfits.studio.draft")}),e("outfits.card.items",{count:u.items.length})]})]}),t.jsxs(Ge,{children:[u.published?t.jsx(x,{as:F,to:`/items/outfits/${u.id}`,variant:"ghost",size:"sm",children:e("outfits.studio.view")}):null,t.jsx(x,{as:F,to:`/outfits/${u.id}/edit`,variant:"outline",size:"sm","data-testid":"outfit-studio-edit",children:e("outfits.studio.edit")}),t.jsx(qe,{type:"button","data-testid":"outfit-studio-delete","aria-label":e("outfits.studio.confirmDelete"),disabled:y===u.id,onClick:()=>c(u),children:t.jsx(K,{name:"trash",size:18})})]})]},u.id))}),h?t.jsxs(Qe,{role:"dialog","aria-modal":"true","aria-label":e("outfits.studio.deleteTitle"),"data-testid":"outfit-studio-confirm",children:[t.jsx(Ve,{onClick:()=>c(null)}),t.jsxs(Je,{children:[t.jsx(Xe,{children:e("outfits.studio.deleteTitle")}),t.jsx("p",{className:"muted",children:e("outfits.studio.deleteBody")}),t.jsxs(Ye,{children:[h.published?t.jsx(x,{variant:"purple","data-testid":"outfit-studio-confirm-unpublish",disabled:y===h.id,onClick:()=>void I(h,"unpublish"),children:e("outfits.studio.unpublish")}):null,t.jsx(x,{variant:h.published?"outline":"purple","data-testid":"outfit-studio-confirm-delete",disabled:y===h.id,onClick:()=>void I(h,"delete"),children:e("outfits.studio.confirmDelete")}),t.jsx(x,{variant:"ghost",onClick:()=>c(null),children:e("outfits.studio.cancel")})]})]})]}):null]})}const Tt=["image/png","image/jpeg","image/webp"];function Ei(){return{id:crypto.randomUUID(),name:"",thumbnailHash:"",items:[],bodyShape:"unisex",gradientFrom:rt.from,gradientTo:rt.to,published:!1}}function dt(n){return{id:n.id,name:n.name,thumbnailHash:n.thumbnailHash,items:n.items,bodyShape:n.bodyShape,gradientFrom:n.gradientFrom,gradientTo:n.gradientTo,published:n.published}}function Li(n){try{const f=sessionStorage.getItem(n);return f?JSON.parse(f):null}catch{return null}}function Ri({outfitId:n}){const f=n===null,h=`outfit-draft:${n??"new"}`,c=X(i=>i.session),y=It(),j=Yt(),[b]=d.useState(()=>Li(h)),[o,R]=d.useState(()=>b??(f?Ei():null)),[C,I]=d.useState(!!b),{data:u,isLoading:S,isError:E,refetch:Z}=Et({queryKey:["outfit",n,!0],enabled:!f&&!!c,staleTime:0,queryFn:()=>ye(n,c.identity)});d.useEffect(()=>{u&&R(i=>i??dt(u))},[u]);function k(i){R(r=>r&&{...r,...i}),I(!0)}d.useEffect(()=>{if(!(!o||!C))try{sessionStorage.setItem(h,JSON.stringify(o))}catch{}},[o,C,h]),d.useEffect(()=>{if(!C)return;const i=r=>r.preventDefault();return window.addEventListener("beforeunload",i),()=>window.removeEventListener("beforeunload",i)},[C]),d.useEffect(()=>()=>sessionStorage.removeItem(h),[h]);const g=ie(o??void 0),_=d.useMemo(()=>new Set(((o==null?void 0:o.items)??[]).map(z)),[o]),H=i=>ge((o==null?void 0:o.items)??[],i,g.byKey),l=i=>!!i.itemId&&H(i).length<=J;function v(i){!o||!l(i)||k({items:H(i)})}const[M,ut]=d.useState(null),L=d.useRef(null),tt=d.useRef(!0);d.useEffect(()=>(tt.current=!0,()=>{tt.current=!1}),[]);const[G,ct]=d.useState(!1),[Bt,q]=d.useState(null),[et,pt]=d.useState(""),[Ht,ht]=d.useState(null),[T,Mt]=d.useState();d.useEffect(()=>()=>{L.current&&URL.revokeObjectURL(L.current)},[]);function ft(){const i=xe(et);if(!i){ht(e("outfits.studio.importError"));return}ht(null),pt(""),Mt(i.colors),k({items:i.items,...i.bodyShape?{bodyShape:i.bodyShape}:{}}),N.success(e("outfits.studio.importSuccess",{count:i.items.length}))}async function Dt(i){if(!i||!c)return;if(q(null),!Tt.includes(i.type)){q(e("outfits.errors.unsupportedType"));return}if(i.size>he){q(e("outfits.errors.tooLarge"));return}L.current&&URL.revokeObjectURL(L.current);const r=URL.createObjectURL(i);L.current=r,ut(r),ct(!0);try{const p=await fe(i,c.identity);k({thumbnailHash:p})}catch(p){p instanceof A||at(p,{flow:"outfit-thumbnail"}),q(e(p instanceof A?nt(p.code):"outfits.errors.generic")),L.current&&(URL.revokeObjectURL(L.current),L.current=null),ut(null)}finally{ct(!1)}}const[D,xt]=d.useState(!1),[Ut,mt]=d.useState(null),it=!!o&&o.name.trim().length>0&&o.name.length<=60,Kt=!!o&&V(o.gradientFrom)&&V(o.gradientTo),gt=!!o&&o.items.some(i=>{const r=g.byKey.get(z(i));return!r||se(r)}),bt=!!o&&it&&!!o.thumbnailHash&&Kt&>&&o.items.length>=oe&&o.items.length<=J;async function st(i){if(!(!c||!o||D)){xt(!0),mt(null);try{const r=await Rt({...o,published:i},c.identity,f?"create":"update");if(!tt.current)return;sessionStorage.removeItem(h),R(dt(r)),I(!1),zt(y),i&&!o.published?(me("Shop Outfit Published",{outfit_id:r.id,item_count:r.items.length}),N.success(e("outfits.studio.publishedToast"))):N.success(e("outfits.studio.saved")),f&&(y.setQueryData(["outfit",r.id,!0],r),j(`/outfits/${r.id}/edit`,{replace:!0}))}catch(r){r instanceof A||at(r,{flow:"outfit-save"}),mt(e(r instanceof A?nt(r.code):"outfits.errors.generic"))}finally{xt(!1)}}}const Q=d.useMemo(()=>((o==null?void 0:o.items)??[]).map(i=>g.byKey.get(z(i))).filter(i=>!!i),[o,g.byKey]),yt=d.useMemo(()=>re(Q),[Q]),_t=d.useMemo(()=>{const i=ae(Q);return i!=null&&i.itemId?z({contractAddress:i.contractAddress,itemId:i.itemId}):null},[Q]),Gt=(o==null?void 0:o.bodyShape)==="female"?ne:(o==null?void 0:o.bodyShape)==="male"?de:void 0;if(!c)return null;if(!o)return E?t.jsxs(O,{children:[t.jsx(U,{message:e("outfits.errors.generic")}),t.jsx(x,{variant:"white",onClick:()=>void Z(),children:e("outfits.detail.retry")})]}):!S&&u===null?t.jsxs(O,{"data-testid":"outfit-studio-missing",children:[t.jsx(w,{children:e("outfits.errors.notFound")}),t.jsx(x,{as:F,to:"/outfits/manage",variant:"white",children:e("outfits.studio.myOutfits")})]}):t.jsx(O,{"aria-busy":"true",children:t.jsx("span",{className:"spinner","aria-hidden":!0})});const jt=M??Lt(o.thumbnailHash),qt={...o,authorAddress:(c==null?void 0:c.address)??"",createdAt:0,updatedAt:0},Qt=o.items.reduce((i,r)=>{var p;return i+(((p=g.byKey.get(z(r)))==null?void 0:p.priceCredits)??0)},0);return t.jsxs(Pt,{"data-testid":"outfit-studio-editor",children:[t.jsxs(Wt,{children:[t.jsx(Ne,{to:"/outfits/manage","aria-label":e("outfits.studio.myOutfits"),"data-testid":"outfit-studio-back",children:t.jsx(K,{name:"arrow-left",size:18})}),t.jsx(Ot,{children:f?e("outfits.studio.new"):e("outfits.studio.editTitle")}),t.jsx(At,{"data-state":o.published?"published":"draft",children:o.published?e("outfits.studio.publishedState"):e("outfits.studio.draft")})]}),t.jsxs(Ze,{children:[t.jsxs(ti,{children:[t.jsxs(ii,{"data-testid":"outfit-studio-preview",style:{background:le(o)},children:[t.jsx(we,{id:"outfit-studio-preview-frame",profile:"default",bodyShape:Gt,urns:yt,skin:T==null?void 0:T.skin,hair:T==null?void 0:T.hair,eyes:T==null?void 0:T.eyes,enabled:!g.isLoading}),yt.length===0&&!g.isLoading?t.jsx(si,{children:e("outfits.studio.previewEmpty")}):null]}),t.jsxs(P,{children:[t.jsx(W,{as:"span",children:e("outfits.studio.bodyShape")}),t.jsx(oi,{role:"group","aria-label":e("outfits.studio.bodyShape"),children:["unisex","male","female"].map(i=>t.jsx(ri,{type:"button","data-selected":o.bodyShape===i||void 0,onClick:()=>k({bodyShape:i}),children:e(`outfits.studio.shape.${i}`)},i))})]}),t.jsxs(P,{children:[t.jsx(W,{as:"span",children:e("outfits.studio.gradient")}),t.jsx(ni,{children:["gradientFrom","gradientTo"].map(i=>t.jsxs(di,{children:[t.jsx(li,{type:"color",value:V(o[i])?o[i]:rt.from,"aria-label":e(i==="gradientFrom"?"outfits.studio.gradientTop":"outfits.studio.gradientBottom"),"data-testid":i==="gradientFrom"?"outfit-studio-gradient-from":"outfit-studio-gradient-to",onChange:r=>k({[i]:r.target.value.toLowerCase()})}),t.jsxs(ui,{children:[t.jsx("span",{children:e(i==="gradientFrom"?"outfits.studio.gradientTop":"outfits.studio.gradientBottom")}),t.jsx(ci,{value:o[i],maxLength:7,spellCheck:!1,placeholder:"#000000","aria-label":e(i==="gradientFrom"?"outfits.studio.gradientTopHex":"outfits.studio.gradientBottomHex"),"data-invalid":!V(o[i])||void 0,onChange:r=>{const p=r.target.value.trim().toLowerCase();k({[i]:p.startsWith("#")||p===""?p:`#${p}`})}})]})]},i))}),t.jsx(w,{children:e("outfits.studio.gradientHint")})]}),t.jsxs(P,{children:[t.jsx(W,{as:"span",children:e("outfits.studio.thumbnail")}),jt?t.jsx(ai,{"data-busy":G||void 0,children:t.jsx("img",{src:jt,alt:""})}):null,t.jsxs(hi,{as:"label",variant:"outline",size:"sm","data-busy":G||void 0,children:[G?e("outfits.studio.uploading"):e("outfits.studio.upload"),t.jsx("input",{type:"file",accept:Tt.join(","),hidden:!0,disabled:G,onChange:i=>{var r;return void Dt((r=i.target.files)==null?void 0:r[0])},"data-testid":"outfit-studio-thumb-input"})]}),t.jsx(w,{children:e("outfits.studio.thumbnailHint")}),t.jsx(U,{message:Bt,testId:"outfit-studio-thumb-error"})]}),t.jsxs(P,{children:[t.jsx(W,{as:"span",children:e("outfits.studio.cardPreview")}),t.jsx(pi,{"data-testid":"outfit-studio-card-preview",onClickCapture:i=>{i.preventDefault(),i.stopPropagation()},children:t.jsx(ue,{outfit:qt,resolution:g})})]})]}),t.jsxs(ei,{children:[t.jsxs(P,{children:[t.jsx(W,{htmlFor:"outfit-import",children:e("outfits.studio.import")}),t.jsxs(fi,{children:[t.jsx(St,{id:"outfit-import",value:et,spellCheck:!1,placeholder:e("outfits.studio.importPlaceholder"),onChange:i=>pt(i.target.value),onKeyDown:i=>{i.key==="Enter"&&ft()},"data-testid":"outfit-studio-import"}),t.jsx(x,{variant:"outline",size:"sm",onClick:ft,disabled:et.trim()==="","data-testid":"outfit-studio-import-apply",children:e("outfits.studio.importApply")})]}),t.jsx(w,{children:e("outfits.studio.importHint")}),t.jsx(U,{message:Ht,testId:"outfit-studio-import-error"})]}),t.jsxs(P,{children:[t.jsx(W,{htmlFor:"outfit-name",children:e("outfits.studio.name")}),t.jsx(St,{id:"outfit-name",value:o.name,maxLength:60,placeholder:e("outfits.studio.namePlaceholder"),onChange:i=>k({name:i.target.value}),"data-testid":"outfit-studio-name"})]}),t.jsxs(P,{children:[t.jsxs(W,{as:"span",children:[e("outfits.studio.items")," (",o.items.length,"/",J,")"]}),o.items.length===0?t.jsx(w,{children:e("outfits.studio.noItems")}):t.jsx(xi,{children:o.items.map(i=>{const r=z(i),p=g.byKey.get(r);return t.jsxs(mi,{"data-testid":"outfit-studio-selected","data-missing":!p||void 0,children:[p?t.jsx(gi,{src:p.thumbnail,alt:""}):t.jsx(bi,{className:g.isLoading?"skeleton":void 0,"aria-hidden":!0}),t.jsx(yi,{className:p?void 0:"muted",children:p?p.name:g.isLoading?t.jsx($e,{className:"skeleton",width:96,"aria-hidden":!0}):e("outfits.card.unavailable")}),r===_t?t.jsx(ji,{"data-testid":"outfit-studio-plays-in-preview",children:e("outfits.studio.playsInPreview")}):null,p?t.jsxs(vi,{children:[t.jsx(ot,{size:12}),p.priceCredits.toLocaleString()]}):null,t.jsx(ki,{type:"button","aria-label":e("outfits.studio.remove"),title:e("outfits.studio.remove"),onClick:()=>k({items:o.items.filter(Vt=>z(Vt)!==r)}),children:t.jsx(K,{name:"trash",size:16})})]},r)})}),o.items.length>0?t.jsxs(wi,{"data-testid":"outfit-studio-total",children:[t.jsx("span",{children:e("outfits.detail.totalPrice")}),t.jsxs($i,{children:[t.jsx(ot,{size:14}),Qt.toLocaleString()]})]}):null,o.items.length>=J?t.jsx(w,{children:e("outfits.studio.maxItems")}):null]}),t.jsx(Ae,{selectedKeys:_,onPick:v,canPick:l})]})]}),t.jsxs(Si,{"data-testid":"outfit-studio-savebar",children:[t.jsx(U,{message:Ut,testId:"outfit-studio-save-error"}),it?!bt&&!o.published?t.jsx(w,{"data-testid":"outfit-studio-publish-hint",children:!gt&&o.items.length>0?e("outfits.studio.needsWearable"):e("outfits.errors.notPublishable")}):null:t.jsx(w,{children:e("outfits.studio.needName")}),t.jsxs(Ti,{children:[t.jsx(x,{variant:"outline","data-testid":"outfit-studio-save",disabled:D||!it,onClick:()=>void st(o.published),children:D?e("outfits.studio.saving"):e("outfits.studio.saveDraft")}),o.published?t.jsx(x,{variant:"white","data-testid":"outfit-studio-unpublish",disabled:D,onClick:()=>void st(!1),children:e("outfits.studio.unpublish")}):t.jsx(x,{variant:"white","data-testid":"outfit-studio-publish",disabled:D||!bt,onClick:()=>void st(!0),children:e("outfits.studio.publish")})]})]})]})}export{Ki as OutfitStudio,Ki as default};
|
|
556
|
+
`;function Ki(){const{id:n}=Jt(),{pathname:f}=Xt(),h=X(b=>b.session),c=X(b=>b.signIn),y=te();ee({title:e("outfits.studio.title"),noindex:!0});const j=f.endsWith("/new")?"new":n?"edit":"list";return y==="pending"?t.jsx(O,{"aria-busy":"true","data-testid":"outfit-studio-loading",children:t.jsx("span",{className:"spinner","aria-hidden":!0})}):h?y!=="creator"?t.jsxs(O,{"data-testid":"outfit-studio-unavailable",children:[t.jsx($t,{children:e("outfits.studio.title")}),t.jsx(w,{children:e("outfits.studio.notAvailable")}),t.jsx(x,{as:F,to:"/overview",variant:"white",children:e("outfits.studio.backToShop")})]}):j==="list"?t.jsx(Ii,{}):t.jsx(Ri,{outfitId:j==="edit"?n:null},n??"new"):t.jsxs(O,{"data-testid":"outfit-studio-signin",children:[t.jsx($t,{children:e("outfits.studio.title")}),t.jsx(w,{children:e("outfits.studio.signInPrompt")}),t.jsx(x,{variant:"white",onClick:()=>c(),children:e("outfits.studio.signIn")})]})}function Ci({outfit:n}){const f=Lt(n.thumbnailHash);return f?t.jsx(Me,{style:{background:ce(n)},children:t.jsx("img",{src:f,alt:"",loading:"lazy"})}):t.jsx(De,{"aria-hidden":!0})}function Ii(){const n=X(u=>u.session),f=It(),[h,c]=d.useState(null),[y,j]=d.useState(null),{data:b=[],isLoading:o,isError:R,refetch:C}=Et({queryKey:["outfits-all"],enabled:!!n,staleTime:3e4,queryFn:()=>be(n.identity)});async function I(u,k){if(n){j(u.id);try{k==="delete"?(await pe(u.id,n.identity),N.success(e("outfits.studio.deleted"))):(await Rt({...dt(u),published:!1},n.identity,"update"),N.success(e("outfits.studio.unpublished"))),zt(f)}catch(E){E instanceof A||at(E,{flow:`outfit-${k}`}),N.error(e(E instanceof A?nt(E.code):"outfits.errors.generic"))}finally{j(null),c(null)}}}return t.jsxs(Pt,{"data-testid":"outfit-studio-list",children:[t.jsxs(Wt,{children:[t.jsx(Ot,{children:e("outfits.studio.myOutfits")}),t.jsx(x,{as:F,to:"/outfits/new",variant:"white","data-testid":"outfit-studio-new",children:e("outfits.studio.new")})]}),o?t.jsx(St,{"aria-busy":"true",children:Array.from({length:3},(u,k)=>t.jsx(Be,{className:"skeleton","aria-hidden":!0},k))}):R?t.jsxs(O,{children:[t.jsx(U,{message:e("outfits.errors.generic")}),t.jsx(x,{variant:"white",onClick:()=>void C(),children:e("outfits.detail.retry")})]}):b.length===0?t.jsx(w,{children:e("outfits.studio.empty")}):t.jsx(St,{children:b.map(u=>t.jsxs(He,{"data-testid":"outfit-studio-row","data-published":u.published||void 0,children:[t.jsx(Ci,{outfit:u}),t.jsxs(Ue,{children:[t.jsx(Ke,{children:u.name||e("outfits.studio.untitled")}),t.jsxs(_e,{children:[t.jsx(At,{"data-state":u.published?"published":"draft",children:u.published?e("outfits.studio.publishedState"):e("outfits.studio.draft")}),e("outfits.card.items",{count:u.items.length})]})]}),t.jsxs(Ge,{children:[u.published?t.jsx(x,{as:F,to:`/items/outfits/${u.id}`,variant:"ghost",size:"sm",children:e("outfits.studio.view")}):null,t.jsx(x,{as:F,to:`/outfits/${u.id}/edit`,variant:"outline",size:"sm","data-testid":"outfit-studio-edit",children:e("outfits.studio.edit")}),t.jsx(qe,{type:"button","data-testid":"outfit-studio-delete","aria-label":e("outfits.studio.confirmDelete"),disabled:y===u.id,onClick:()=>c(u),children:t.jsx(K,{name:"trash",size:18})})]})]},u.id))}),h?t.jsxs(Qe,{role:"dialog","aria-modal":"true","aria-label":e("outfits.studio.deleteTitle"),"data-testid":"outfit-studio-confirm",children:[t.jsx(Ve,{onClick:()=>c(null)}),t.jsxs(Je,{children:[t.jsx(Xe,{children:e("outfits.studio.deleteTitle")}),t.jsx("p",{className:"muted",children:e("outfits.studio.deleteBody")}),t.jsxs(Ye,{children:[h.published?t.jsx(x,{variant:"purple","data-testid":"outfit-studio-confirm-unpublish",disabled:y===h.id,onClick:()=>void I(h,"unpublish"),children:e("outfits.studio.unpublish")}):null,t.jsx(x,{variant:h.published?"outline":"purple","data-testid":"outfit-studio-confirm-delete",disabled:y===h.id,onClick:()=>void I(h,"delete"),children:e("outfits.studio.confirmDelete")}),t.jsx(x,{variant:"ghost",onClick:()=>c(null),children:e("outfits.studio.cancel")})]})]})]}):null]})}const Tt=["image/png","image/jpeg","image/webp"];function Ei(){return{id:crypto.randomUUID(),name:"",thumbnailHash:"",items:[],bodyShape:"unisex",gradientFrom:rt.from,gradientTo:rt.to,published:!1}}function dt(n){return{id:n.id,name:n.name,thumbnailHash:n.thumbnailHash,items:n.items,bodyShape:n.bodyShape,gradientFrom:n.gradientFrom,gradientTo:n.gradientTo,published:n.published}}function Li(n){try{const f=sessionStorage.getItem(n);return f?JSON.parse(f):null}catch{return null}}function Ri({outfitId:n}){const f=n===null,h=`outfit-draft:${n??"new"}`,c=X(i=>i.session),y=It(),j=Yt(),[b]=d.useState(()=>Li(h)),[o,R]=d.useState(()=>b??(f?Ei():null)),[C,I]=d.useState(!!b),{data:u,isLoading:k,isError:E,refetch:Z}=Et({queryKey:["outfit",n,!0],enabled:!f&&!!c,staleTime:0,queryFn:()=>ye(n,c.identity)});d.useEffect(()=>{u&&R(i=>i??dt(u))},[u]);function S(i){R(r=>r&&{...r,...i}),I(!0)}d.useEffect(()=>{if(!(!o||!C))try{sessionStorage.setItem(h,JSON.stringify(o))}catch{}},[o,C,h]),d.useEffect(()=>{if(!C)return;const i=r=>r.preventDefault();return window.addEventListener("beforeunload",i),()=>window.removeEventListener("beforeunload",i)},[C]),d.useEffect(()=>()=>sessionStorage.removeItem(h),[h]);const g=ie(o??void 0),_=d.useMemo(()=>new Set(((o==null?void 0:o.items)??[]).map(z)),[o]),H=i=>ge((o==null?void 0:o.items)??[],i,g.byKey),l=i=>!!i.itemId&&H(i).length<=J;function v(i){!o||!l(i)||S({items:H(i)})}const[M,ut]=d.useState(null),L=d.useRef(null),tt=d.useRef(!0);d.useEffect(()=>(tt.current=!0,()=>{tt.current=!1}),[]);const[G,ct]=d.useState(!1),[Bt,q]=d.useState(null),[et,pt]=d.useState(""),[Ht,ht]=d.useState(null),[T,Mt]=d.useState();d.useEffect(()=>()=>{L.current&&URL.revokeObjectURL(L.current)},[]);function ft(){const i=xe(et);if(!i){ht(e("outfits.studio.importError"));return}ht(null),pt(""),Mt(i.colors),S({items:i.items,...i.bodyShape?{bodyShape:i.bodyShape}:{}}),N.success(e("outfits.studio.importSuccess",{count:i.items.length}))}async function Dt(i){if(!i||!c)return;if(q(null),!Tt.includes(i.type)){q(e("outfits.errors.unsupportedType"));return}if(i.size>he){q(e("outfits.errors.tooLarge"));return}L.current&&URL.revokeObjectURL(L.current);const r=URL.createObjectURL(i);L.current=r,ut(r),ct(!0);try{const p=await fe(i,c.identity);S({thumbnailHash:p})}catch(p){p instanceof A||at(p,{flow:"outfit-thumbnail"}),q(e(p instanceof A?nt(p.code):"outfits.errors.generic")),L.current&&(URL.revokeObjectURL(L.current),L.current=null),ut(null)}finally{ct(!1)}}const[D,xt]=d.useState(!1),[Ut,mt]=d.useState(null),it=!!o&&o.name.trim().length>0&&o.name.length<=60,Kt=!!o&&V(o.gradientFrom)&&V(o.gradientTo),gt=!!o&&o.items.some(i=>{const r=g.byKey.get(z(i));return!r||se(r)}),bt=!!o&&it&&!!o.thumbnailHash&&Kt&>&&o.items.length>=oe&&o.items.length<=J;async function st(i){if(!(!c||!o||D)){xt(!0),mt(null);try{const r=await Rt({...o,published:i},c.identity,f?"create":"update");if(!tt.current)return;sessionStorage.removeItem(h),R(dt(r)),I(!1),zt(y),i&&!o.published?(me("Shop Outfit Published",{outfit_id:r.id,item_count:r.items.length}),N.success(e("outfits.studio.publishedToast"))):N.success(e("outfits.studio.saved")),f&&(y.setQueryData(["outfit",r.id,!0],r),j(`/outfits/${r.id}/edit`,{replace:!0}))}catch(r){r instanceof A||at(r,{flow:"outfit-save"}),mt(e(r instanceof A?nt(r.code):"outfits.errors.generic"))}finally{xt(!1)}}}const Q=d.useMemo(()=>((o==null?void 0:o.items)??[]).map(i=>g.byKey.get(z(i))).filter(i=>!!i),[o,g.byKey]),yt=d.useMemo(()=>re(Q),[Q]),_t=d.useMemo(()=>{const i=ae(Q);return i!=null&&i.itemId?z({contractAddress:i.contractAddress,itemId:i.itemId}):null},[Q]),Gt=(o==null?void 0:o.bodyShape)==="female"?ne:(o==null?void 0:o.bodyShape)==="male"?de:void 0;if(!c)return null;if(!o)return E?t.jsxs(O,{children:[t.jsx(U,{message:e("outfits.errors.generic")}),t.jsx(x,{variant:"white",onClick:()=>void Z(),children:e("outfits.detail.retry")})]}):!k&&u===null?t.jsxs(O,{"data-testid":"outfit-studio-missing",children:[t.jsx(w,{children:e("outfits.errors.notFound")}),t.jsx(x,{as:F,to:"/outfits/manage",variant:"white",children:e("outfits.studio.myOutfits")})]}):t.jsx(O,{"aria-busy":"true",children:t.jsx("span",{className:"spinner","aria-hidden":!0})});const jt=M??Lt(o.thumbnailHash),qt={...o,authorAddress:(c==null?void 0:c.address)??"",createdAt:0,updatedAt:0},Qt=o.items.reduce((i,r)=>{var p;return i+(((p=g.byKey.get(z(r)))==null?void 0:p.priceCredits)??0)},0);return t.jsxs(Pt,{"data-testid":"outfit-studio-editor",children:[t.jsxs(Wt,{children:[t.jsx(Ne,{to:"/outfits/manage","aria-label":e("outfits.studio.myOutfits"),"data-testid":"outfit-studio-back",children:t.jsx(K,{name:"arrow-left",size:18})}),t.jsx(Ot,{children:f?e("outfits.studio.new"):e("outfits.studio.editTitle")}),t.jsx(At,{"data-state":o.published?"published":"draft",children:o.published?e("outfits.studio.publishedState"):e("outfits.studio.draft")})]}),t.jsxs(Ze,{children:[t.jsxs(ti,{children:[t.jsxs(ii,{"data-testid":"outfit-studio-preview",style:{background:le(o)},children:[t.jsx(we,{id:"outfit-studio-preview-frame",profile:"default",bodyShape:Gt,urns:yt,skin:T==null?void 0:T.skin,hair:T==null?void 0:T.hair,eyes:T==null?void 0:T.eyes,enabled:!g.isLoading}),yt.length===0&&!g.isLoading?t.jsx(si,{children:e("outfits.studio.previewEmpty")}):null]}),t.jsxs(P,{children:[t.jsx(W,{as:"span",children:e("outfits.studio.bodyShape")}),t.jsx(oi,{role:"group","aria-label":e("outfits.studio.bodyShape"),children:["unisex","male","female"].map(i=>t.jsx(ri,{type:"button","data-selected":o.bodyShape===i||void 0,onClick:()=>S({bodyShape:i}),children:e(`outfits.studio.shape.${i}`)},i))})]}),t.jsxs(P,{children:[t.jsx(W,{as:"span",children:e("outfits.studio.gradient")}),t.jsx(ni,{children:["gradientFrom","gradientTo"].map(i=>t.jsxs(di,{children:[t.jsx(li,{type:"color",value:V(o[i])?o[i]:rt.from,"aria-label":e(i==="gradientFrom"?"outfits.studio.gradientTop":"outfits.studio.gradientBottom"),"data-testid":i==="gradientFrom"?"outfit-studio-gradient-from":"outfit-studio-gradient-to",onChange:r=>S({[i]:r.target.value.toLowerCase()})}),t.jsxs(ui,{children:[t.jsx("span",{children:e(i==="gradientFrom"?"outfits.studio.gradientTop":"outfits.studio.gradientBottom")}),t.jsx(ci,{value:o[i],maxLength:7,spellCheck:!1,placeholder:"#000000","aria-label":e(i==="gradientFrom"?"outfits.studio.gradientTopHex":"outfits.studio.gradientBottomHex"),"data-invalid":!V(o[i])||void 0,onChange:r=>{const p=r.target.value.trim().toLowerCase();S({[i]:p.startsWith("#")||p===""?p:`#${p}`})}})]})]},i))}),t.jsx(w,{children:e("outfits.studio.gradientHint")})]}),t.jsxs(P,{children:[t.jsx(W,{as:"span",children:e("outfits.studio.thumbnail")}),jt?t.jsx(ai,{"data-busy":G||void 0,children:t.jsx("img",{src:jt,alt:""})}):null,t.jsxs(hi,{as:"label",variant:"outline",size:"sm","data-busy":G||void 0,children:[G?e("outfits.studio.uploading"):e("outfits.studio.upload"),t.jsx("input",{type:"file",accept:Tt.join(","),hidden:!0,disabled:G,onChange:i=>{var r;return void Dt((r=i.target.files)==null?void 0:r[0])},"data-testid":"outfit-studio-thumb-input"})]}),t.jsx(w,{children:e("outfits.studio.thumbnailHint")}),t.jsx(U,{message:Bt,testId:"outfit-studio-thumb-error"})]}),t.jsxs(P,{children:[t.jsx(W,{as:"span",children:e("outfits.studio.cardPreview")}),t.jsx(pi,{"data-testid":"outfit-studio-card-preview",onClickCapture:i=>{i.preventDefault(),i.stopPropagation()},children:t.jsx(ue,{outfit:qt,resolution:g})})]})]}),t.jsxs(ei,{children:[t.jsxs(P,{children:[t.jsx(W,{htmlFor:"outfit-import",children:e("outfits.studio.import")}),t.jsxs(fi,{children:[t.jsx(kt,{id:"outfit-import",value:et,spellCheck:!1,placeholder:e("outfits.studio.importPlaceholder"),onChange:i=>pt(i.target.value),onKeyDown:i=>{i.key==="Enter"&&ft()},"data-testid":"outfit-studio-import"}),t.jsx(x,{variant:"outline",size:"sm",onClick:ft,disabled:et.trim()==="","data-testid":"outfit-studio-import-apply",children:e("outfits.studio.importApply")})]}),t.jsx(w,{children:e("outfits.studio.importHint")}),t.jsx(U,{message:Ht,testId:"outfit-studio-import-error"})]}),t.jsxs(P,{children:[t.jsx(W,{htmlFor:"outfit-name",children:e("outfits.studio.name")}),t.jsx(kt,{id:"outfit-name",value:o.name,maxLength:60,placeholder:e("outfits.studio.namePlaceholder"),onChange:i=>S({name:i.target.value}),"data-testid":"outfit-studio-name"})]}),t.jsxs(P,{children:[t.jsxs(W,{as:"span",children:[e("outfits.studio.items")," (",o.items.length,"/",J,")"]}),o.items.length===0?t.jsx(w,{children:e("outfits.studio.noItems")}):t.jsx(xi,{children:o.items.map(i=>{const r=z(i),p=g.byKey.get(r);return t.jsxs(mi,{"data-testid":"outfit-studio-selected","data-missing":!p||void 0,children:[p?t.jsx(gi,{src:p.thumbnail,alt:""}):t.jsx(bi,{className:g.isLoading?"skeleton":void 0,"aria-hidden":!0}),t.jsx(yi,{className:p?void 0:"muted",children:p?p.name:g.isLoading?t.jsx($e,{className:"skeleton",width:96,"aria-hidden":!0}):e("outfits.card.unavailable")}),r===_t?t.jsx(ji,{"data-testid":"outfit-studio-plays-in-preview",children:e("outfits.studio.playsInPreview")}):null,p?t.jsxs(vi,{children:[t.jsx(ot,{size:12}),p.priceCredits.toLocaleString()]}):null,t.jsx(Si,{type:"button","aria-label":e("outfits.studio.remove"),title:e("outfits.studio.remove"),onClick:()=>S({items:o.items.filter(Vt=>z(Vt)!==r)}),children:t.jsx(K,{name:"trash",size:16})})]},r)})}),o.items.length>0?t.jsxs(wi,{"data-testid":"outfit-studio-total",children:[t.jsx("span",{children:e("outfits.detail.totalPrice")}),t.jsxs($i,{children:[t.jsx(ot,{size:14}),Qt.toLocaleString()]})]}):null,o.items.length>=J?t.jsx(w,{children:e("outfits.studio.maxItems")}):null]}),t.jsx(Ae,{selectedKeys:_,onPick:v,canPick:l})]})]}),t.jsxs(ki,{"data-testid":"outfit-studio-savebar",children:[t.jsx(U,{message:Ut,testId:"outfit-studio-save-error"}),it?!bt&&!o.published?t.jsx(w,{"data-testid":"outfit-studio-publish-hint",children:!gt&&o.items.length>0?e("outfits.studio.needsWearable"):e("outfits.errors.notPublishable")}):null:t.jsx(w,{children:e("outfits.studio.needName")}),t.jsxs(Ti,{children:[t.jsx(x,{variant:"outline","data-testid":"outfit-studio-save",disabled:D||!it,onClick:()=>void st(o.published),children:D?e("outfits.studio.saving"):e("outfits.studio.saveDraft")}),o.published?t.jsx(x,{variant:"white","data-testid":"outfit-studio-unpublish",disabled:D,onClick:()=>void st(!1),children:e("outfits.studio.unpublish")}):t.jsx(x,{variant:"white","data-testid":"outfit-studio-publish",disabled:D||!bt,onClick:()=>void st(!0),children:e("outfits.studio.publish")})]})]})]})}export{Ki as OutfitStudio,Ki as default};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{j as t,L as oe,b as le,r as l}from"./react-BYHuwl8r.js";import{b as a,t as j,s as r,x as ce,B as G,y as de,v as pe,D as ue,I as L,F as R}from"./index-
|
|
1
|
+
import{j as t,L as oe,b as le,r as l}from"./react-BYHuwl8r.js";import{b as a,t as j,s as r,x as ce,B as G,y as de,v as pe,D as ue,I as L,F as R}from"./index-BVWvbmB_.js";import{u as ge,d as me,t as xe,L as he,i as A,a as f,s as fe}from"./useStore-a0qe_EW2.js";import{E as D}from"./ErrorNotice-B_DnZnpz.js";import{F as w}from"./field.styles-DUhp2XSE.js";import"./dcl-schemas-CmtP3U6y.js";import"./sentry-CUdtSPei.js";import"./ethers-CHvw3dSr.js";import"./intl-CBcMB1D2.js";const ve="https://cdn.decentraland.org/@dcl/shop/1.4.2-31321833858.commit-d05a541/_assets/template-cover-1-BETekfHg.jpeg",be="https://cdn.decentraland.org/@dcl/shop/1.4.2-31321833858.commit-d05a541/_assets/template-cover-2-Dni9s0i_.jpeg",we=Object.assign({"../assets/creator-covers/template-cover-1.jpeg":ve,"../assets/creator-covers/template-cover-2.jpeg":be}),v=Object.entries(we).sort(([n],[u])=>n.localeCompare(u)).map(([n,u])=>({name:n.split("/").pop(),url:u})),je=ce`
|
|
2
2
|
to {
|
|
3
3
|
transform: rotate(360deg);
|
|
4
4
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as P,b as M,j as e,N as W,r as I}from"./react-BYHuwl8r.js";import{t as J,s as t,A as N,J as O,K as _,v as q,y as H,b as n,z as U,C as X,L as D,M as G,c as E,B as K,N as Q}from"./index-
|
|
1
|
+
import{a as P,b as M,j as e,N as W,r as I}from"./react-BYHuwl8r.js";import{t as J,s as t,A as N,J as O,K as _,v as q,y as H,b as n,z as U,C as X,L as D,M as G,c as E,B as K,N as Q}from"./index-BVWvbmB_.js";import{C as Y}from"./Confetti-BJzwqwTF.js";import{J as V}from"./JumpInIcon-CfzbSVBF.js";import{w as Z,S as ee}from"./buy-gasless-Qwo4-LdH.js";import"./dcl-schemas-CmtP3U6y.js";import"./sentry-CUdtSPei.js";import"./ethers-CHvw3dSr.js";import"./intl-CBcMB1D2.js";import"./authorizations-DdXEl4SH.js";import"./sendMetaTransaction-CxjN2iMp.js";import"./buy-ITSy499E.js";const{colors:i,radius:b}=J,c="@media (max-width: 600px)",S=t.div`
|
|
2
2
|
/* Its own stacking context, above the confetti layer (z-index 0). Needed because z-index is inert without
|
|
3
3
|
a position, so the content would otherwise sit below the burst regardless of order. */
|
|
4
4
|
position: relative;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{N as T,j as G,R as I,S as f,k as B,E as M,l as F,W as L,C as g,B as N,b as W,m as E,A as O,n as z,d as _,g as R,o as H,e as V,i as q,p as $}from"./W3MFrameProviderSingleton-DMgnEflU.js";import{au as C}from"./NetworkUtil-BsEXGHJo.js";const b={getGasPriceInEther(n,o){const t=o*n;return Number(t)/1e18},getGasPriceInUSD(n,o,t){const s=b.getGasPriceInEther(o,t);return T.bigNumber(n).times(s).toNumber()},getPriceImpact({sourceTokenAmount:n,sourceTokenPriceInUSD:o,toTokenPriceInUSD:t,toTokenAmount:s}){const c=T.bigNumber(n).times(o),r=T.bigNumber(s).times(t);return c.minus(r).div(c).times(100).toNumber()},getMaxSlippage(n,o){const t=T.bigNumber(n).div(100);return T.multiply(o,t).toNumber()},getProviderFee(n,o=.0085){return T.bigNumber(n).times(o).toString()},isInsufficientNetworkTokenForGas(n,o){const t=o||"0";return T.bigNumber(n).eq(0)?!0:T.bigNumber(T.bigNumber(t)).gt(n)},isInsufficientSourceTokenForSwap(n,o,t){var r,d;const s=(d=(r=t==null?void 0:t.find(l=>l.address===o))==null?void 0:r.quantity)==null?void 0:d.numeric;return T.bigNumber(s||"0").lt(n)}},x=15e4,Q=6,m={initializing:!1,initialized:!1,loadingPrices:!1,loadingQuote:!1,loadingApprovalTransaction:!1,loadingBuildTransaction:!1,loadingTransaction:!1,switchingTokens:!1,fetchError:!1,approvalTransaction:void 0,swapTransaction:void 0,transactionError:void 0,sourceToken:void 0,sourceTokenAmount:"",sourceTokenPriceInUSD:0,toToken:void 0,toTokenAmount:"",toTokenPriceInUSD:0,networkPrice:"0",networkBalanceInUSD:"0",networkTokenSymbol:"",inputError:void 0,slippage:_.CONVERT_SLIPPAGE_TOLERANCE,tokens:void 0,popularTokens:void 0,suggestedTokens:void 0,foundTokens:void 0,myTokensWithBalance:void 0,tokensPriceMap:{},gasFee:"0",gasPriceInUSD:0,priceImpact:void 0,maxSlippage:void 0,providerFee:void 0},e=$({...m}),D={state:e,subscribe(n){return q(e,()=>n(e))},subscribeKey(n,o){return V(e,n,o)},getParams(){var i,u,p,w,h,y,A,S,P;const n=g.state.activeChain,o=((i=g.getAccountData(n))==null?void 0:i.caipAddress)??g.state.activeCaipAddress,t=W.getPlainAddress(o),s=R(),c=H.getConnectorId(g.state.activeChain);if(!t)throw new Error("No address found to swap the tokens from.");const r=!((u=e.toToken)!=null&&u.address)||!((p=e.toToken)!=null&&p.decimals),d=!((w=e.sourceToken)!=null&&w.address)||!((h=e.sourceToken)!=null&&h.decimals)||!T.bigNumber(e.sourceTokenAmount).gt(0),l=!e.sourceTokenAmount;return{networkAddress:s,fromAddress:t,fromCaipAddress:o,sourceTokenAddress:(y=e.sourceToken)==null?void 0:y.address,toTokenAddress:(A=e.toToken)==null?void 0:A.address,toTokenAmount:e.toTokenAmount,toTokenDecimals:(S=e.toToken)==null?void 0:S.decimals,sourceTokenAmount:e.sourceTokenAmount,sourceTokenDecimals:(P=e.sourceToken)==null?void 0:P.decimals,invalidToToken:r,invalidSourceToken:d,invalidSourceTokenAmount:l,availableToSwap:o&&!r&&!d&&!l,isAuthConnector:c===C.CONNECTOR_ID.AUTH}},async setSourceToken(n){if(!n){e.sourceToken=n,e.sourceTokenAmount="",e.sourceTokenPriceInUSD=0;return}e.sourceToken=n,await a.setTokenPrice(n.address,"sourceToken")},setSourceTokenAmount(n){e.sourceTokenAmount=n},async setToToken(n){if(!n){e.toToken=n,e.toTokenAmount="",e.toTokenPriceInUSD=0;return}e.toToken=n,await a.setTokenPrice(n.address,"toToken")},setToTokenAmount(n){e.toTokenAmount=n?T.toFixed(n,Q):""},async setTokenPrice(n,o){let t=e.tokensPriceMap[n]||0;t||(e.loadingPrices=!0,t=await a.getAddressPrice(n)),o==="sourceToken"?e.sourceTokenPriceInUSD=t:o==="toToken"&&(e.toTokenPriceInUSD=t),e.loadingPrices&&(e.loadingPrices=!1),a.getParams().availableToSwap&&!e.switchingTokens&&a.swapTokens()},async switchTokens(){if(!(e.initializing||!e.initialized||e.switchingTokens)){e.switchingTokens=!0;try{const n=e.toToken?{...e.toToken}:void 0,o=e.sourceToken?{...e.sourceToken}:void 0,t=n&&e.toTokenAmount===""?"1":e.toTokenAmount;a.setSourceTokenAmount(t),a.setToTokenAmount(""),await a.setSourceToken(n),await a.setToToken(o),e.switchingTokens=!1,a.swapTokens()}catch(n){throw e.switchingTokens=!1,n}}},resetState(){e.myTokensWithBalance=m.myTokensWithBalance,e.tokensPriceMap=m.tokensPriceMap,e.initialized=m.initialized,e.initializing=m.initializing,e.switchingTokens=m.switchingTokens,e.sourceToken=m.sourceToken,e.sourceTokenAmount=m.sourceTokenAmount,e.sourceTokenPriceInUSD=m.sourceTokenPriceInUSD,e.toToken=m.toToken,e.toTokenAmount=m.toTokenAmount,e.toTokenPriceInUSD=m.toTokenPriceInUSD,e.networkPrice=m.networkPrice,e.networkTokenSymbol=m.networkTokenSymbol,e.networkBalanceInUSD=m.networkBalanceInUSD,e.inputError=m.inputError},resetValues(){var t;const{networkAddress:n}=a.getParams(),o=(t=e.tokens)==null?void 0:t.find(s=>s.address===n);a.setSourceToken(o),a.setToToken(void 0)},getApprovalLoadingState(){return e.loadingApprovalTransaction},clearError(){e.transactionError=void 0},async initializeState(){if(!e.initializing){if(e.initializing=!0,!e.initialized)try{await a.fetchTokens(),e.initialized=!0}catch{e.initialized=!1,f.showError("Failed to initialize swap"),I.goBack()}e.initializing=!1}},async fetchTokens(){var t;const{networkAddress:n}=a.getParams();await a.getNetworkTokenPrice(),await a.getMyTokensWithBalance();const o=(t=e.myTokensWithBalance)==null?void 0:t.find(s=>s.address===n);o&&(e.networkTokenSymbol=o.symbol,a.setSourceToken(o),a.setSourceTokenAmount("0"))},async getTokenList(){var o,t;const n=(o=g.state.activeCaipNetwork)==null?void 0:o.caipNetworkId;if(!(e.caipNetworkId===n&&e.tokens))try{e.tokensLoading=!0;const s=await E.getTokenList(n);e.tokens=s,e.caipNetworkId=n,e.popularTokens=s.sort((i,u)=>i.symbol<u.symbol?-1:i.symbol>u.symbol?1:0);const r=(n&&((t=_.SUGGESTED_TOKENS_BY_CHAIN)==null?void 0:t[n])||[]).map(i=>s.find(u=>u.symbol===i)).filter(i=>!!i),l=(_.SWAP_SUGGESTED_TOKENS||[]).map(i=>s.find(u=>u.symbol===i)).filter(i=>!!i).filter(i=>!r.some(u=>u.address===i.address));e.suggestedTokens=[...r,...l]}catch{e.tokens=[],e.popularTokens=[],e.suggestedTokens=[]}finally{e.tokensLoading=!1}},async getAddressPrice(n){var i,u;const o=e.tokensPriceMap[n];if(o)return o;const t=await N.fetchTokenPrice({addresses:[n]}),s=(t==null?void 0:t.fungibles)||[],c=[...e.tokens||[],...e.myTokensWithBalance||[]],r=(i=c==null?void 0:c.find(p=>p.address===n))==null?void 0:i.symbol,d=((u=s.find(p=>p.symbol.toLowerCase()===(r==null?void 0:r.toLowerCase())))==null?void 0:u.price)||0,l=parseFloat(d.toString());return e.tokensPriceMap[n]=l,l},async getNetworkTokenPrice(){var c;const{networkAddress:n}=a.getParams(),t=(c=(await N.fetchTokenPrice({addresses:[n]}).catch(()=>(f.showError("Failed to fetch network token price"),{fungibles:[]}))).fungibles)==null?void 0:c[0],s=(t==null?void 0:t.price.toString())||"0";e.tokensPriceMap[n]=parseFloat(s),e.networkTokenSymbol=(t==null?void 0:t.symbol)||"",e.networkPrice=s},async getMyTokensWithBalance(n){var s;const o=await z.getMyTokensWithBalance({forceUpdate:n,caipNetwork:g.state.activeCaipNetwork,address:(s=g.getAccountData())==null?void 0:s.address}),t=E.mapBalancesToSwapTokens(o);t&&(await a.getInitialGasPrice(),a.setBalances(t))},setBalances(n){const{networkAddress:o}=a.getParams(),t=g.state.activeCaipNetwork;if(!t)return;const s=n.find(c=>c.address===o);n.forEach(c=>{e.tokensPriceMap[c.address]=c.price||0}),e.myTokensWithBalance=n.filter(c=>c.address.startsWith(t.caipNetworkId)),e.networkBalanceInUSD=s?T.multiply(s.quantity.numeric,s.price).toString():"0"},async getInitialGasPrice(){var o,t;const n=await E.fetchGasPrice();if(!n)return{gasPrice:null,gasPriceInUSD:null};switch((t=(o=g.state)==null?void 0:o.activeCaipNetwork)==null?void 0:t.chainNamespace){case C.CHAIN.SOLANA:return e.gasFee=n.standard??"0",e.gasPriceInUSD=T.multiply(n.standard,e.networkPrice).div(1e9).toNumber(),{gasPrice:BigInt(e.gasFee),gasPriceInUSD:Number(e.gasPriceInUSD)};case C.CHAIN.EVM:default:const s=n.standard??"0",c=BigInt(s),r=BigInt(x),d=b.getGasPriceInUSD(e.networkPrice,r,c);return e.gasFee=s,e.gasPriceInUSD=d,{gasPrice:c,gasPriceInUSD:d}}},async swapTokens(){var r,d,l;const n=(r=g.getAccountData())==null?void 0:r.address,o=e.sourceToken,t=e.toToken,s=T.bigNumber(e.sourceTokenAmount).gt(0);if(s||a.setToTokenAmount(""),!t||!o||e.loadingPrices||!s||!n)return;e.loadingQuote=!0;const c=T.bigNumber(e.sourceTokenAmount).times(10**o.decimals).round(0).toFixed(0);try{const i=await N.fetchSwapQuote({userAddress:n,from:o.address,to:t.address,gasPrice:e.gasFee,amount:c.toString()});e.loadingQuote=!1;const u=(l=(d=i==null?void 0:i.quotes)==null?void 0:d[0])==null?void 0:l.toAmount;if(!u){O.open({displayMessage:"Incorrect amount",debugMessage:"Please enter a valid amount"},"error");return}const p=T.bigNumber(u).div(10**t.decimals).toString();a.setToTokenAmount(p),a.hasInsufficientToken(e.sourceTokenAmount,o.address)?e.inputError="Insufficient balance":(e.inputError=void 0,a.setTransactionDetails())}catch(i){const u=await E.handleSwapError(i);e.loadingQuote=!1,e.inputError=u||"Insufficient balance"}},async getTransaction(){const{fromCaipAddress:n,availableToSwap:o}=a.getParams(),t=e.sourceToken,s=e.toToken;if(!(!n||!o||!t||!s||e.loadingQuote))try{e.loadingBuildTransaction=!0;const c=await E.fetchSwapAllowance({userAddress:n,tokenAddress:t.address,sourceTokenAmount:e.sourceTokenAmount,sourceTokenDecimals:t.decimals});let r;return c?r=await a.createSwapTransaction():r=await a.createAllowanceTransaction(),e.loadingBuildTransaction=!1,e.fetchError=!1,r}catch{I.goBack(),f.showError("Failed to check allowance"),e.loadingBuildTransaction=!1,e.approvalTransaction=void 0,e.swapTransaction=void 0,e.fetchError=!0;return}},async createAllowanceTransaction(){const{fromCaipAddress:n,sourceTokenAddress:o,toTokenAddress:t}=a.getParams();if(!(!n||!t)){if(!o)throw new Error("createAllowanceTransaction - No source token address found.");try{const s=await N.generateApproveCalldata({from:o,to:t,userAddress:n}),c=W.getPlainAddress(s.tx.from);if(!c)throw new Error("SwapController:createAllowanceTransaction - address is required");const r={data:s.tx.data,to:c,gasPrice:BigInt(s.tx.eip155.gasPrice),value:BigInt(s.tx.value),toAmount:e.toTokenAmount};return e.swapTransaction=void 0,e.approvalTransaction={data:r.data,to:r.to,gasPrice:r.gasPrice,value:r.value,toAmount:r.toAmount},{data:r.data,to:r.to,gasPrice:r.gasPrice,value:r.value,toAmount:r.toAmount}}catch{I.goBack(),f.showError("Failed to create approval transaction"),e.approvalTransaction=void 0,e.swapTransaction=void 0,e.fetchError=!0;return}}},async createSwapTransaction(){var d,l;const{networkAddress:n,fromCaipAddress:o,sourceTokenAmount:t}=a.getParams(),s=e.sourceToken,c=e.toToken;if(!o||!t||!s||!c)return;let r=(d=B.parseUnits(t,s.decimals))==null?void 0:d.toString();try{const i=s.address===n;let u=await N.generateSwapCalldata({userAddress:o,from:s.address,to:c.address,amount:r,disableEstimate:!0}),p=BigInt(u.tx.eip155.gas),w=BigInt(u.tx.eip155.gasPrice);if(i&&r){const A=(l=e.myTokensWithBalance)==null?void 0:l.find(S=>S.address===n);if(A){const S=parseInt(A.quantity.decimals,10),P=B.parseUnits(A.quantity.numeric,S)??0n,v=p*w;if(BigInt(r)+v>P){const k=P>v?P-v:0n;k>0n&&(u=await N.generateSwapCalldata({userAddress:o,from:s.address,to:c.address,amount:k.toString(),disableEstimate:!0}),r=k.toString(),p=BigInt(u.tx.eip155.gas),w=BigInt(u.tx.eip155.gasPrice))}}}const h=W.getPlainAddress(u.tx.to);if(!h)throw new Error("SwapController:createSwapTransaction - address is required");const y={data:u.tx.data,to:h,gas:p,gasPrice:w,value:BigInt(i?r??"0":"0"),toAmount:e.toTokenAmount};return e.gasPriceInUSD=b.getGasPriceInUSD(e.networkPrice,p,w),e.approvalTransaction=void 0,e.swapTransaction=y,y}catch{I.goBack(),f.showError("Failed to create transaction"),e.approvalTransaction=void 0,e.swapTransaction=void 0,e.fetchError=!0;return}},onEmbeddedWalletApprovalSuccess(){f.showLoading("Approve limit increase in your wallet"),I.replace("SwapPreview")},async sendTransactionForApproval(n){var c,r,d;const{fromAddress:o,isAuthConnector:t}=a.getParams();e.loadingApprovalTransaction=!0,t?I.pushTransactionStack({onSuccess:a.onEmbeddedWalletApprovalSuccess}):f.showLoading("Approve limit increase in your wallet");try{await B.sendTransaction({address:o,to:n.to,data:n.data,value:n.value,chainNamespace:C.CHAIN.EVM}),await a.swapTokens(),await a.getTransaction(),e.approvalTransaction=void 0,e.loadingApprovalTransaction=!1}catch(l){const i=l;e.transactionError=i==null?void 0:i.displayMessage,e.loadingApprovalTransaction=!1,f.showError((i==null?void 0:i.displayMessage)||"Transaction error"),M.sendEvent({type:"track",event:"SWAP_APPROVAL_ERROR",properties:{message:(i==null?void 0:i.displayMessage)||(i==null?void 0:i.message)||"Unknown",network:((c=g.state.activeCaipNetwork)==null?void 0:c.caipNetworkId)||"",swapFromToken:((r=a.state.sourceToken)==null?void 0:r.symbol)||"",swapToToken:((d=a.state.toToken)==null?void 0:d.symbol)||"",swapFromAmount:a.state.sourceTokenAmount||"",swapToAmount:a.state.toTokenAmount||"",isSmartAccount:F(C.CHAIN.EVM)===L.ACCOUNT_TYPES.SMART_ACCOUNT}})}},async sendTransactionForSwap(n){var d,l,i,u,p,w,h,y,A,S,P,v;if(!n)return;const{fromAddress:o,toTokenAmount:t,isAuthConnector:s}=a.getParams();e.loadingTransaction=!0;const c=`Swapping ${(d=e.sourceToken)==null?void 0:d.symbol} to ${T.formatNumberToLocalString(t,3)} ${(l=e.toToken)==null?void 0:l.symbol}`,r=`Swapped ${(i=e.sourceToken)==null?void 0:i.symbol} to ${T.formatNumberToLocalString(t,3)} ${(u=e.toToken)==null?void 0:u.symbol}`;s?I.pushTransactionStack({onSuccess(){I.replace("Account"),f.showLoading(c),D.resetState()}}):f.showLoading("Confirm transaction in your wallet");try{const U=[(p=e.sourceToken)==null?void 0:p.address,(w=e.toToken)==null?void 0:w.address].join(","),k=await B.sendTransaction({address:o,to:n.to,data:n.data,value:n.value,chainNamespace:C.CHAIN.EVM});return e.loadingTransaction=!1,f.showSuccess(r),M.sendEvent({type:"track",event:"SWAP_SUCCESS",properties:{network:((h=g.state.activeCaipNetwork)==null?void 0:h.caipNetworkId)||"",swapFromToken:((y=a.state.sourceToken)==null?void 0:y.symbol)||"",swapToToken:((A=a.state.toToken)==null?void 0:A.symbol)||"",swapFromAmount:a.state.sourceTokenAmount||"",swapToAmount:a.state.toTokenAmount||"",isSmartAccount:F(C.CHAIN.EVM)===L.ACCOUNT_TYPES.SMART_ACCOUNT}}),D.resetState(),s||I.replace("Account"),D.getMyTokensWithBalance(U),k}catch(U){const k=U;e.transactionError=k==null?void 0:k.displayMessage,e.loadingTransaction=!1,f.showError((k==null?void 0:k.displayMessage)||"Transaction error"),M.sendEvent({type:"track",event:"SWAP_ERROR",properties:{message:(k==null?void 0:k.displayMessage)||(k==null?void 0:k.message)||"Unknown",network:((S=g.state.activeCaipNetwork)==null?void 0:S.caipNetworkId)||"",swapFromToken:((P=a.state.sourceToken)==null?void 0:P.symbol)||"",swapToToken:((v=a.state.toToken)==null?void 0:v.symbol)||"",swapFromAmount:a.state.sourceTokenAmount||"",swapToAmount:a.state.toTokenAmount||"",isSmartAccount:F(C.CHAIN.EVM)===L.ACCOUNT_TYPES.SMART_ACCOUNT}});return}},hasInsufficientToken(n,o){return b.isInsufficientSourceTokenForSwap(n,o,e.myTokensWithBalance)},setTransactionDetails(){const{toTokenAddress:n,toTokenDecimals:o}=a.getParams();!n||!o||(e.gasPriceInUSD=b.getGasPriceInUSD(e.networkPrice,BigInt(e.gasFee),BigInt(x)),e.priceImpact=b.getPriceImpact({sourceTokenAmount:e.sourceTokenAmount,sourceTokenPriceInUSD:e.sourceTokenPriceInUSD,toTokenPriceInUSD:e.toTokenPriceInUSD,toTokenAmount:e.toTokenAmount}),e.maxSlippage=b.getMaxSlippage(e.slippage,e.toTokenAmount),e.providerFee=b.getProviderFee(e.sourceTokenAmount))}},a=G(D);export{a as S};
|
|
1
|
+
import{N as T,j as G,R as I,S as f,k as B,E as M,l as F,W as L,C as g,B as N,b as W,m as E,A as O,n as z,d as _,g as R,o as H,e as V,i as q,p as $}from"./W3MFrameProviderSingleton-DkDY_Uhq.js";import{au as C}from"./NetworkUtil-CmFj23VB.js";const b={getGasPriceInEther(n,o){const t=o*n;return Number(t)/1e18},getGasPriceInUSD(n,o,t){const s=b.getGasPriceInEther(o,t);return T.bigNumber(n).times(s).toNumber()},getPriceImpact({sourceTokenAmount:n,sourceTokenPriceInUSD:o,toTokenPriceInUSD:t,toTokenAmount:s}){const c=T.bigNumber(n).times(o),r=T.bigNumber(s).times(t);return c.minus(r).div(c).times(100).toNumber()},getMaxSlippage(n,o){const t=T.bigNumber(n).div(100);return T.multiply(o,t).toNumber()},getProviderFee(n,o=.0085){return T.bigNumber(n).times(o).toString()},isInsufficientNetworkTokenForGas(n,o){const t=o||"0";return T.bigNumber(n).eq(0)?!0:T.bigNumber(T.bigNumber(t)).gt(n)},isInsufficientSourceTokenForSwap(n,o,t){var r,d;const s=(d=(r=t==null?void 0:t.find(l=>l.address===o))==null?void 0:r.quantity)==null?void 0:d.numeric;return T.bigNumber(s||"0").lt(n)}},x=15e4,Q=6,m={initializing:!1,initialized:!1,loadingPrices:!1,loadingQuote:!1,loadingApprovalTransaction:!1,loadingBuildTransaction:!1,loadingTransaction:!1,switchingTokens:!1,fetchError:!1,approvalTransaction:void 0,swapTransaction:void 0,transactionError:void 0,sourceToken:void 0,sourceTokenAmount:"",sourceTokenPriceInUSD:0,toToken:void 0,toTokenAmount:"",toTokenPriceInUSD:0,networkPrice:"0",networkBalanceInUSD:"0",networkTokenSymbol:"",inputError:void 0,slippage:_.CONVERT_SLIPPAGE_TOLERANCE,tokens:void 0,popularTokens:void 0,suggestedTokens:void 0,foundTokens:void 0,myTokensWithBalance:void 0,tokensPriceMap:{},gasFee:"0",gasPriceInUSD:0,priceImpact:void 0,maxSlippage:void 0,providerFee:void 0},e=$({...m}),D={state:e,subscribe(n){return q(e,()=>n(e))},subscribeKey(n,o){return V(e,n,o)},getParams(){var i,u,p,w,h,y,A,S,P;const n=g.state.activeChain,o=((i=g.getAccountData(n))==null?void 0:i.caipAddress)??g.state.activeCaipAddress,t=W.getPlainAddress(o),s=R(),c=H.getConnectorId(g.state.activeChain);if(!t)throw new Error("No address found to swap the tokens from.");const r=!((u=e.toToken)!=null&&u.address)||!((p=e.toToken)!=null&&p.decimals),d=!((w=e.sourceToken)!=null&&w.address)||!((h=e.sourceToken)!=null&&h.decimals)||!T.bigNumber(e.sourceTokenAmount).gt(0),l=!e.sourceTokenAmount;return{networkAddress:s,fromAddress:t,fromCaipAddress:o,sourceTokenAddress:(y=e.sourceToken)==null?void 0:y.address,toTokenAddress:(A=e.toToken)==null?void 0:A.address,toTokenAmount:e.toTokenAmount,toTokenDecimals:(S=e.toToken)==null?void 0:S.decimals,sourceTokenAmount:e.sourceTokenAmount,sourceTokenDecimals:(P=e.sourceToken)==null?void 0:P.decimals,invalidToToken:r,invalidSourceToken:d,invalidSourceTokenAmount:l,availableToSwap:o&&!r&&!d&&!l,isAuthConnector:c===C.CONNECTOR_ID.AUTH}},async setSourceToken(n){if(!n){e.sourceToken=n,e.sourceTokenAmount="",e.sourceTokenPriceInUSD=0;return}e.sourceToken=n,await a.setTokenPrice(n.address,"sourceToken")},setSourceTokenAmount(n){e.sourceTokenAmount=n},async setToToken(n){if(!n){e.toToken=n,e.toTokenAmount="",e.toTokenPriceInUSD=0;return}e.toToken=n,await a.setTokenPrice(n.address,"toToken")},setToTokenAmount(n){e.toTokenAmount=n?T.toFixed(n,Q):""},async setTokenPrice(n,o){let t=e.tokensPriceMap[n]||0;t||(e.loadingPrices=!0,t=await a.getAddressPrice(n)),o==="sourceToken"?e.sourceTokenPriceInUSD=t:o==="toToken"&&(e.toTokenPriceInUSD=t),e.loadingPrices&&(e.loadingPrices=!1),a.getParams().availableToSwap&&!e.switchingTokens&&a.swapTokens()},async switchTokens(){if(!(e.initializing||!e.initialized||e.switchingTokens)){e.switchingTokens=!0;try{const n=e.toToken?{...e.toToken}:void 0,o=e.sourceToken?{...e.sourceToken}:void 0,t=n&&e.toTokenAmount===""?"1":e.toTokenAmount;a.setSourceTokenAmount(t),a.setToTokenAmount(""),await a.setSourceToken(n),await a.setToToken(o),e.switchingTokens=!1,a.swapTokens()}catch(n){throw e.switchingTokens=!1,n}}},resetState(){e.myTokensWithBalance=m.myTokensWithBalance,e.tokensPriceMap=m.tokensPriceMap,e.initialized=m.initialized,e.initializing=m.initializing,e.switchingTokens=m.switchingTokens,e.sourceToken=m.sourceToken,e.sourceTokenAmount=m.sourceTokenAmount,e.sourceTokenPriceInUSD=m.sourceTokenPriceInUSD,e.toToken=m.toToken,e.toTokenAmount=m.toTokenAmount,e.toTokenPriceInUSD=m.toTokenPriceInUSD,e.networkPrice=m.networkPrice,e.networkTokenSymbol=m.networkTokenSymbol,e.networkBalanceInUSD=m.networkBalanceInUSD,e.inputError=m.inputError},resetValues(){var t;const{networkAddress:n}=a.getParams(),o=(t=e.tokens)==null?void 0:t.find(s=>s.address===n);a.setSourceToken(o),a.setToToken(void 0)},getApprovalLoadingState(){return e.loadingApprovalTransaction},clearError(){e.transactionError=void 0},async initializeState(){if(!e.initializing){if(e.initializing=!0,!e.initialized)try{await a.fetchTokens(),e.initialized=!0}catch{e.initialized=!1,f.showError("Failed to initialize swap"),I.goBack()}e.initializing=!1}},async fetchTokens(){var t;const{networkAddress:n}=a.getParams();await a.getNetworkTokenPrice(),await a.getMyTokensWithBalance();const o=(t=e.myTokensWithBalance)==null?void 0:t.find(s=>s.address===n);o&&(e.networkTokenSymbol=o.symbol,a.setSourceToken(o),a.setSourceTokenAmount("0"))},async getTokenList(){var o,t;const n=(o=g.state.activeCaipNetwork)==null?void 0:o.caipNetworkId;if(!(e.caipNetworkId===n&&e.tokens))try{e.tokensLoading=!0;const s=await E.getTokenList(n);e.tokens=s,e.caipNetworkId=n,e.popularTokens=s.sort((i,u)=>i.symbol<u.symbol?-1:i.symbol>u.symbol?1:0);const r=(n&&((t=_.SUGGESTED_TOKENS_BY_CHAIN)==null?void 0:t[n])||[]).map(i=>s.find(u=>u.symbol===i)).filter(i=>!!i),l=(_.SWAP_SUGGESTED_TOKENS||[]).map(i=>s.find(u=>u.symbol===i)).filter(i=>!!i).filter(i=>!r.some(u=>u.address===i.address));e.suggestedTokens=[...r,...l]}catch{e.tokens=[],e.popularTokens=[],e.suggestedTokens=[]}finally{e.tokensLoading=!1}},async getAddressPrice(n){var i,u;const o=e.tokensPriceMap[n];if(o)return o;const t=await N.fetchTokenPrice({addresses:[n]}),s=(t==null?void 0:t.fungibles)||[],c=[...e.tokens||[],...e.myTokensWithBalance||[]],r=(i=c==null?void 0:c.find(p=>p.address===n))==null?void 0:i.symbol,d=((u=s.find(p=>p.symbol.toLowerCase()===(r==null?void 0:r.toLowerCase())))==null?void 0:u.price)||0,l=parseFloat(d.toString());return e.tokensPriceMap[n]=l,l},async getNetworkTokenPrice(){var c;const{networkAddress:n}=a.getParams(),t=(c=(await N.fetchTokenPrice({addresses:[n]}).catch(()=>(f.showError("Failed to fetch network token price"),{fungibles:[]}))).fungibles)==null?void 0:c[0],s=(t==null?void 0:t.price.toString())||"0";e.tokensPriceMap[n]=parseFloat(s),e.networkTokenSymbol=(t==null?void 0:t.symbol)||"",e.networkPrice=s},async getMyTokensWithBalance(n){var s;const o=await z.getMyTokensWithBalance({forceUpdate:n,caipNetwork:g.state.activeCaipNetwork,address:(s=g.getAccountData())==null?void 0:s.address}),t=E.mapBalancesToSwapTokens(o);t&&(await a.getInitialGasPrice(),a.setBalances(t))},setBalances(n){const{networkAddress:o}=a.getParams(),t=g.state.activeCaipNetwork;if(!t)return;const s=n.find(c=>c.address===o);n.forEach(c=>{e.tokensPriceMap[c.address]=c.price||0}),e.myTokensWithBalance=n.filter(c=>c.address.startsWith(t.caipNetworkId)),e.networkBalanceInUSD=s?T.multiply(s.quantity.numeric,s.price).toString():"0"},async getInitialGasPrice(){var o,t;const n=await E.fetchGasPrice();if(!n)return{gasPrice:null,gasPriceInUSD:null};switch((t=(o=g.state)==null?void 0:o.activeCaipNetwork)==null?void 0:t.chainNamespace){case C.CHAIN.SOLANA:return e.gasFee=n.standard??"0",e.gasPriceInUSD=T.multiply(n.standard,e.networkPrice).div(1e9).toNumber(),{gasPrice:BigInt(e.gasFee),gasPriceInUSD:Number(e.gasPriceInUSD)};case C.CHAIN.EVM:default:const s=n.standard??"0",c=BigInt(s),r=BigInt(x),d=b.getGasPriceInUSD(e.networkPrice,r,c);return e.gasFee=s,e.gasPriceInUSD=d,{gasPrice:c,gasPriceInUSD:d}}},async swapTokens(){var r,d,l;const n=(r=g.getAccountData())==null?void 0:r.address,o=e.sourceToken,t=e.toToken,s=T.bigNumber(e.sourceTokenAmount).gt(0);if(s||a.setToTokenAmount(""),!t||!o||e.loadingPrices||!s||!n)return;e.loadingQuote=!0;const c=T.bigNumber(e.sourceTokenAmount).times(10**o.decimals).round(0).toFixed(0);try{const i=await N.fetchSwapQuote({userAddress:n,from:o.address,to:t.address,gasPrice:e.gasFee,amount:c.toString()});e.loadingQuote=!1;const u=(l=(d=i==null?void 0:i.quotes)==null?void 0:d[0])==null?void 0:l.toAmount;if(!u){O.open({displayMessage:"Incorrect amount",debugMessage:"Please enter a valid amount"},"error");return}const p=T.bigNumber(u).div(10**t.decimals).toString();a.setToTokenAmount(p),a.hasInsufficientToken(e.sourceTokenAmount,o.address)?e.inputError="Insufficient balance":(e.inputError=void 0,a.setTransactionDetails())}catch(i){const u=await E.handleSwapError(i);e.loadingQuote=!1,e.inputError=u||"Insufficient balance"}},async getTransaction(){const{fromCaipAddress:n,availableToSwap:o}=a.getParams(),t=e.sourceToken,s=e.toToken;if(!(!n||!o||!t||!s||e.loadingQuote))try{e.loadingBuildTransaction=!0;const c=await E.fetchSwapAllowance({userAddress:n,tokenAddress:t.address,sourceTokenAmount:e.sourceTokenAmount,sourceTokenDecimals:t.decimals});let r;return c?r=await a.createSwapTransaction():r=await a.createAllowanceTransaction(),e.loadingBuildTransaction=!1,e.fetchError=!1,r}catch{I.goBack(),f.showError("Failed to check allowance"),e.loadingBuildTransaction=!1,e.approvalTransaction=void 0,e.swapTransaction=void 0,e.fetchError=!0;return}},async createAllowanceTransaction(){const{fromCaipAddress:n,sourceTokenAddress:o,toTokenAddress:t}=a.getParams();if(!(!n||!t)){if(!o)throw new Error("createAllowanceTransaction - No source token address found.");try{const s=await N.generateApproveCalldata({from:o,to:t,userAddress:n}),c=W.getPlainAddress(s.tx.from);if(!c)throw new Error("SwapController:createAllowanceTransaction - address is required");const r={data:s.tx.data,to:c,gasPrice:BigInt(s.tx.eip155.gasPrice),value:BigInt(s.tx.value),toAmount:e.toTokenAmount};return e.swapTransaction=void 0,e.approvalTransaction={data:r.data,to:r.to,gasPrice:r.gasPrice,value:r.value,toAmount:r.toAmount},{data:r.data,to:r.to,gasPrice:r.gasPrice,value:r.value,toAmount:r.toAmount}}catch{I.goBack(),f.showError("Failed to create approval transaction"),e.approvalTransaction=void 0,e.swapTransaction=void 0,e.fetchError=!0;return}}},async createSwapTransaction(){var d,l;const{networkAddress:n,fromCaipAddress:o,sourceTokenAmount:t}=a.getParams(),s=e.sourceToken,c=e.toToken;if(!o||!t||!s||!c)return;let r=(d=B.parseUnits(t,s.decimals))==null?void 0:d.toString();try{const i=s.address===n;let u=await N.generateSwapCalldata({userAddress:o,from:s.address,to:c.address,amount:r,disableEstimate:!0}),p=BigInt(u.tx.eip155.gas),w=BigInt(u.tx.eip155.gasPrice);if(i&&r){const A=(l=e.myTokensWithBalance)==null?void 0:l.find(S=>S.address===n);if(A){const S=parseInt(A.quantity.decimals,10),P=B.parseUnits(A.quantity.numeric,S)??0n,v=p*w;if(BigInt(r)+v>P){const k=P>v?P-v:0n;k>0n&&(u=await N.generateSwapCalldata({userAddress:o,from:s.address,to:c.address,amount:k.toString(),disableEstimate:!0}),r=k.toString(),p=BigInt(u.tx.eip155.gas),w=BigInt(u.tx.eip155.gasPrice))}}}const h=W.getPlainAddress(u.tx.to);if(!h)throw new Error("SwapController:createSwapTransaction - address is required");const y={data:u.tx.data,to:h,gas:p,gasPrice:w,value:BigInt(i?r??"0":"0"),toAmount:e.toTokenAmount};return e.gasPriceInUSD=b.getGasPriceInUSD(e.networkPrice,p,w),e.approvalTransaction=void 0,e.swapTransaction=y,y}catch{I.goBack(),f.showError("Failed to create transaction"),e.approvalTransaction=void 0,e.swapTransaction=void 0,e.fetchError=!0;return}},onEmbeddedWalletApprovalSuccess(){f.showLoading("Approve limit increase in your wallet"),I.replace("SwapPreview")},async sendTransactionForApproval(n){var c,r,d;const{fromAddress:o,isAuthConnector:t}=a.getParams();e.loadingApprovalTransaction=!0,t?I.pushTransactionStack({onSuccess:a.onEmbeddedWalletApprovalSuccess}):f.showLoading("Approve limit increase in your wallet");try{await B.sendTransaction({address:o,to:n.to,data:n.data,value:n.value,chainNamespace:C.CHAIN.EVM}),await a.swapTokens(),await a.getTransaction(),e.approvalTransaction=void 0,e.loadingApprovalTransaction=!1}catch(l){const i=l;e.transactionError=i==null?void 0:i.displayMessage,e.loadingApprovalTransaction=!1,f.showError((i==null?void 0:i.displayMessage)||"Transaction error"),M.sendEvent({type:"track",event:"SWAP_APPROVAL_ERROR",properties:{message:(i==null?void 0:i.displayMessage)||(i==null?void 0:i.message)||"Unknown",network:((c=g.state.activeCaipNetwork)==null?void 0:c.caipNetworkId)||"",swapFromToken:((r=a.state.sourceToken)==null?void 0:r.symbol)||"",swapToToken:((d=a.state.toToken)==null?void 0:d.symbol)||"",swapFromAmount:a.state.sourceTokenAmount||"",swapToAmount:a.state.toTokenAmount||"",isSmartAccount:F(C.CHAIN.EVM)===L.ACCOUNT_TYPES.SMART_ACCOUNT}})}},async sendTransactionForSwap(n){var d,l,i,u,p,w,h,y,A,S,P,v;if(!n)return;const{fromAddress:o,toTokenAmount:t,isAuthConnector:s}=a.getParams();e.loadingTransaction=!0;const c=`Swapping ${(d=e.sourceToken)==null?void 0:d.symbol} to ${T.formatNumberToLocalString(t,3)} ${(l=e.toToken)==null?void 0:l.symbol}`,r=`Swapped ${(i=e.sourceToken)==null?void 0:i.symbol} to ${T.formatNumberToLocalString(t,3)} ${(u=e.toToken)==null?void 0:u.symbol}`;s?I.pushTransactionStack({onSuccess(){I.replace("Account"),f.showLoading(c),D.resetState()}}):f.showLoading("Confirm transaction in your wallet");try{const U=[(p=e.sourceToken)==null?void 0:p.address,(w=e.toToken)==null?void 0:w.address].join(","),k=await B.sendTransaction({address:o,to:n.to,data:n.data,value:n.value,chainNamespace:C.CHAIN.EVM});return e.loadingTransaction=!1,f.showSuccess(r),M.sendEvent({type:"track",event:"SWAP_SUCCESS",properties:{network:((h=g.state.activeCaipNetwork)==null?void 0:h.caipNetworkId)||"",swapFromToken:((y=a.state.sourceToken)==null?void 0:y.symbol)||"",swapToToken:((A=a.state.toToken)==null?void 0:A.symbol)||"",swapFromAmount:a.state.sourceTokenAmount||"",swapToAmount:a.state.toTokenAmount||"",isSmartAccount:F(C.CHAIN.EVM)===L.ACCOUNT_TYPES.SMART_ACCOUNT}}),D.resetState(),s||I.replace("Account"),D.getMyTokensWithBalance(U),k}catch(U){const k=U;e.transactionError=k==null?void 0:k.displayMessage,e.loadingTransaction=!1,f.showError((k==null?void 0:k.displayMessage)||"Transaction error"),M.sendEvent({type:"track",event:"SWAP_ERROR",properties:{message:(k==null?void 0:k.displayMessage)||(k==null?void 0:k.message)||"Unknown",network:((S=g.state.activeCaipNetwork)==null?void 0:S.caipNetworkId)||"",swapFromToken:((P=a.state.sourceToken)==null?void 0:P.symbol)||"",swapToToken:((v=a.state.toToken)==null?void 0:v.symbol)||"",swapFromAmount:a.state.sourceTokenAmount||"",swapToAmount:a.state.toTokenAmount||"",isSmartAccount:F(C.CHAIN.EVM)===L.ACCOUNT_TYPES.SMART_ACCOUNT}});return}},hasInsufficientToken(n,o){return b.isInsufficientSourceTokenForSwap(n,o,e.myTokensWithBalance)},setTransactionDetails(){const{toTokenAddress:n,toTokenDecimals:o}=a.getParams();!n||!o||(e.gasPriceInUSD=b.getGasPriceInUSD(e.networkPrice,BigInt(e.gasFee),BigInt(x)),e.priceImpact=b.getPriceImpact({sourceTokenAmount:e.sourceTokenAmount,sourceTokenPriceInUSD:e.sourceTokenPriceInUSD,toTokenPriceInUSD:e.toTokenPriceInUSD,toTokenAmount:e.toTokenAmount}),e.maxSlippage=b.getMaxSlippage(e.slippage,e.toTokenAmount),e.providerFee=b.getProviderFee(e.sourceTokenAmount))}},a=G(D);export{a as S};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{r as o,j as C,e as T}from"./react-BYHuwl8r.js";import{s as P,t as i}from"./index-
|
|
1
|
+
import{r as o,j as C,e as T}from"./react-BYHuwl8r.js";import{s as P,t as i}from"./index-BVWvbmB_.js";const B=(...t)=>({shouldForwardProp:p=>!t.includes(p)}),A=P("span",B("block"))`
|
|
2
2
|
display: ${({block:t})=>t?"flex":"inline-flex"};
|
|
3
3
|
${({block:t})=>t?"width: 100%;":""}
|
|
4
4
|
`,I=P("span",B("placement"))`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var ve=Object.defineProperty;var xe=(r,t,e)=>t in r?ve(r,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[t]=e;var p=(r,t,e)=>xe(r,typeof t!="symbol"?t+"":t,e);import{W as ue,a as Q,C as ge,B as Ce,f as X}from"./ethers-
|
|
1
|
+
var ve=Object.defineProperty;var xe=(r,t,e)=>t in r?ve(r,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[t]=e;var p=(r,t,e)=>xe(r,typeof t!="symbol"?t+"":t,e);import{W as ue,a as Q,C as ge,B as Ce,f as X}from"./ethers-CHvw3dSr.js";import{a as Ee,d as B}from"./dcl-schemas-CmtP3U6y.js";import{c as ee}from"./react-BYHuwl8r.js";import{cl as Re,aY as te,g as re}from"./index-BVWvbmB_.js";import{c as q,e as Ie}from"./index-DWB648gE.js";import{s as Pe}from"./sendMetaTransaction-CxjN2iMp.js";import"./sentry-CUdtSPei.js";import"./intl-CBcMB1D2.js";import"./events-DQ172AOg.js";async function be(r){const t=await de();if(t){const e=await new ue(t).getSigner().getChainId();if(r===e)return t}return q.createProvider(Ee.ProviderType.NETWORK,r)}async function de(){try{return await q.getProvider()}catch{try{const{provider:r}=await q.tryPreviousConnection();return r}catch{return null}}}function ne(r){return Math.floor(r/1e3)}function ae(r){switch(r.assetType){case B.TradeAssetType.ERC721:return r.tokenId;case B.TradeAssetType.COLLECTION_ITEM:return r.itemId;case B.TradeAssetType.ERC20:return r.amount;default:return console.error("Invalid asset type:",r),""}}function Ae(r){var t;return{checks:{uses:r.checks.uses,expiration:ne(r.checks.expiration),effective:ne(r.checks.effective),salt:Q(r.checks.salt,32),contractSignatureIndex:r.checks.contractSignatureIndex,signerSignatureIndex:r.checks.signerSignatureIndex,allowedRoot:Q(r.checks.allowedRoot,32),externalChecks:(t=r.checks.externalChecks)==null?void 0:t.map(e=>({contractAddress:e.contractAddress,selector:e.selector,value:e.value?e.value:"0x",required:e.required}))},sent:r.sent.map(e=>({assetType:e.assetType,contractAddress:e.contractAddress,value:ae(e),extra:e.extra?e.extra:"0x"})),received:r.received.map(e=>({assetType:e.assetType,contractAddress:e.contractAddress,value:ae(e),extra:e.extra?e.extra:"0x",beneficiary:e.beneficiary}))}}function se(r,t){const e=Ae(r);return{signer:r.signer,signature:r.signature,...e,checks:{...e.checks,allowedProof:[]},sent:e.sent.map(i=>({...i,beneficiary:t}))}}async function Se(r){const t=await r.request({method:"eth_chainId",params:[]});let e;return typeof t=="string"?e=parseInt(t,16):e=t,e}async function Fe(r){const t=await be(r);return new ue(t)}const S=new Ie.EventEmitter;var C;(function(r){r.ERROR="error",r.SUCCESS="success",r.PROMPT="prompt",r.ACCEPT="accept",r.REJECT="reject"})(C||(C={}));let Le="https://transactions-api.decentraland.org/v1";const ke=()=>Le,Ue=()=>new Promise((r,t)=>{const e=()=>{S.removeAllListeners(C.REJECT),r(!0)},i=()=>{S.removeAllListeners(C.ACCEPT),t(new Error("User rejected transaction"))};S.addListener(C.ACCEPT,e),S.addListener(C.REJECT,i)});async function oe(...r){const[t,e,...i]=r;try{const s=await de();if(!s)throw new Error("Provider not connected");const c=await Se(s),l=await Fe(t.chainId),I=new ge(t.address,t.abi,l),T=await(typeof e=="function"?e(I.populateTransaction):I.populateTransaction[e](...i));if(c===t.chainId){const v=l.getSigner();if(s.isMagic||s.isThirdweb){let U=Ce.from(0);try{const _=await v.getGasPrice(),k=await v.estimateGas(T);U=_.mul(k)}catch{}if(!U.isZero()){const _=Ue(),k=await v.getBalance();S.emit(C.PROMPT,{transactionGasPrice:X(U),userBalance:X(k),chainId:t.chainId}),await _}}const b=await v.sendTransaction(T);return S.emit(C.SUCCESS,{txHash:b.hash}),b.hash}else{const v=await Pe(s,l,T.data,t,{serverURL:ke()});return S.emit(C.SUCCESS,{txHash:v}),v}}catch(s){const c={type:C.ERROR,error:s};throw S.emit(C.ERROR,c),s}}var M={exports:{}};/*! https://mths.be/punycode v1.4.1 by @mathias */var _e=M.exports,ie;function Oe(){return ie||(ie=1,(function(r,t){(function(e){var i=t&&!t.nodeType&&t,s=r&&!r.nodeType&&r,c=typeof ee=="object"&ⅇ(c.global===c||c.window===c||c.self===c)&&(e=c);var l,I=2147483647,T=36,v=1,b=26,U=38,_=700,k=72,G=128,J="-",he=/^xn--/,fe=/[^\x20-\x7E]/,pe=/[\x2E\u3002\uFF0E\uFF61]/g,ye={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},D=T-v,E=Math.floor,O=String.fromCharCode,N;function F(n){throw new RangeError(ye[n])}function $(n,a){for(var o=n.length,u=[];o--;)u[o]=a(n[o]);return u}function V(n,a){var o=n.split("@"),u="";o.length>1&&(u=o[0]+"@",n=o[1]),n=n.replace(pe,".");var d=n.split("."),y=$(d,a).join(".");return u+y}function Y(n){for(var a=[],o=0,u=n.length,d,y;o<u;)d=n.charCodeAt(o++),d>=55296&&d<=56319&&o<u?(y=n.charCodeAt(o++),(y&64512)==56320?a.push(((d&1023)<<10)+(y&1023)+65536):(a.push(d),o--)):a.push(d);return a}function H(n){return $(n,function(a){var o="";return a>65535&&(a-=65536,o+=O(a>>>10&1023|55296),a=56320|a&1023),o+=O(a),o}).join("")}function Te(n){return n-48<10?n-22:n-65<26?n-65:n-97<26?n-97:T}function W(n,a){return n+22+75*(n<26)-((a!=0)<<5)}function Z(n,a,o){var u=0;for(n=o?E(n/_):n>>1,n+=E(n/a);n>D*b>>1;u+=T)n=E(n/D);return E(u+(D+1)*n/(n+U))}function K(n){var a=[],o=n.length,u,d=0,y=G,h=k,w,x,R,P,f,m,g,A,L;for(w=n.lastIndexOf(J),w<0&&(w=0),x=0;x<w;++x)n.charCodeAt(x)>=128&&F("not-basic"),a.push(n.charCodeAt(x));for(R=w>0?w+1:0;R<o;){for(P=d,f=1,m=T;R>=o&&F("invalid-input"),g=Te(n.charCodeAt(R++)),(g>=T||g>E((I-d)/f))&&F("overflow"),d+=g*f,A=m<=h?v:m>=h+b?b:m-h,!(g<A);m+=T)L=T-A,f>E(I/L)&&F("overflow"),f*=L;u=a.length+1,h=Z(d-P,u,P==0),E(d/u)>I-y&&F("overflow"),y+=E(d/u),d%=u,a.splice(d++,0,y)}return H(a)}function z(n){var a,o,u,d,y,h,w,x,R,P,f,m=[],g,A,L,j;for(n=Y(n),g=n.length,a=G,o=0,y=k,h=0;h<g;++h)f=n[h],f<128&&m.push(O(f));for(u=d=m.length,d&&m.push(J);u<g;){for(w=I,h=0;h<g;++h)f=n[h],f>=a&&f<w&&(w=f);for(A=u+1,w-a>E((I-o)/A)&&F("overflow"),o+=(w-a)*A,a=w,h=0;h<g;++h)if(f=n[h],f<a&&++o>I&&F("overflow"),f==a){for(x=o,R=T;P=R<=y?v:R>=y+b?b:R-y,!(x<P);R+=T)j=x-P,L=T-P,m.push(O(W(P+j%L,0))),x=E(j/L);m.push(O(W(x,0))),y=Z(o,A,u==d),o=0,++u}++o,++a}return m.join("")}function we(n){return V(n,function(a){return he.test(a)?K(a.slice(4).toLowerCase()):a})}function me(n){return V(n,function(a){return fe.test(a)?"xn--"+z(a):a})}if(l={version:"1.4.1",ucs2:{decode:Y,encode:H},decode:K,encode:z,toASCII:me,toUnicode:we},i&&s)if(r.exports==i)s.exports=l;else for(N in l)l.hasOwnProperty(N)&&(i[N]=l[N]);else e.punycode=l})(_e)})(M,M.exports)),M.exports}Oe();var le=(function(r){function t(){var i=this||self;return delete r.prototype.__magic__,i}if(typeof globalThis=="object")return globalThis;if(this)return t();r.defineProperty(r.prototype,"__magic__",{configurable:!0,get:t});var e=__magic__;return e})(Object),Me=le.URL;le.URLSearchParams;var Ne={URL:Me};class ce extends Error{constructor(e,i,s){super(e);p(this,"status");p(this,"data");this.status=i,this.data=s}}const De=3,je=1e3,Be=[400,401,403,404,409,422],qe=(globalThis==null?void 0:globalThis.URL)??Ne.URL;class Ge{constructor(t,e){p(this,"baseUrl");p(this,"retries");p(this,"retryDelay");p(this,"nonRetryableStatuses");p(this,"identity");p(this,"sleep",t=>new Promise(e=>{setTimeout(e,t)}));p(this,"getIdentity",()=>this.identity instanceof Function?this.identity():this.identity);p(this,"rawFetch",(t,e)=>{const i=new qe(t,this.baseUrl),s=(e==null?void 0:e.identity)??this.getIdentity();return Re.signedFetchFactory()(i.toString(),{...e,identity:s})});p(this,"fetch",async(t,e)=>{for(let i=0;i<=this.retries;i++)try{let s,c;try{s=await this.rawFetch(t,e);const l=await s.text();l.length===0?c={ok:!0,data:null}:c=JSON.parse(l)}catch(l){throw new ce(l.message,void 0,null)}if(!s.ok||c.ok===!1){const l=c.message??c.error;throw new ce(l??`Request failed with status code ${s.status}`,s.status,c.data)}return c.ok===!0?c.data:c}catch(s){if(console.error(`[API] HTTP request failed: ${s.message||""}`,s),this.retries===i||s.status&&this.nonRetryableStatuses.includes(s.status))throw s;await this.sleep(this.retryDelay)}throw new Error("Unreachable code")});this.baseUrl=t,this.identity=e==null?void 0:e.identity,this.retries=(e==null?void 0:e.retries)??De,this.retryDelay=(e==null?void 0:e.retryDelay)??je,this.nonRetryableStatuses=(e==null?void 0:e.nonRetryableStatuses)??Be}}class Je extends Ge{constructor(e,i,s){super(i,s);p(this,"signer");p(this,"addTrade",async e=>this.fetch("/v1/trades",{method:"POST",body:JSON.stringify(e),metadata:{signer:this.signer,intent:"dcl:create-trade"},headers:{"Content-Type":"application/json"}}));p(this,"fetchTrade",async e=>this.fetch(`/v1/trades/${e}`,{method:"GET"}));this.signer=e}}class et{constructor(t,e,i){p(this,"tradesAPI");this.tradesAPI=new Je(t,e,{identity:i,retries:0})}async addTrade(t){return this.tradesAPI.addTrade(t)}async fetchTrade(t){return this.tradesAPI.fetchTrade(t)}async accept(t,e){const i=te(t.contract),s=re(i,t.chainId),c=se(t,e);return oe(s,"accept",[c])}async cancel(t,e){const i=te(t.contract),s=re(i,t.chainId),c=se(t,e);return oe(s,"cancelSignature",[c])}}export{et as TradeService};
|