@dcl/shop 0.1.0-29734914357.commit-8edd840 → 0.1.0-29736515487.commit-b64bf82
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/{AnimatedBackground-B3WHlX77.js → AnimatedBackground-BJBUqhHZ.js} +3 -3
- package/assets/Assets-BLEE2McM.js +1 -0
- package/assets/Cart-CNsRhX_R.js +1 -0
- package/assets/{CircularProgress-BRXfk0cW.js → CircularProgress-C9g4a9bc.js} +5 -5
- package/assets/Collection-CEmVbx8y.js +1 -0
- package/assets/CollectionCarousel-CiKValmX.js +1 -0
- package/assets/Creator-CSW1SPi9.js +1 -0
- package/assets/{CssVarsProvider-BE4__NFs.js → CssVarsProvider-Bc8wQjEb.js} +3 -3
- package/assets/ErrorNotice-Rze9rgc9.js +1 -0
- package/assets/{ExchangeController-DhPdUt78.js → ExchangeController-B6lNqmFK.js} +1 -1
- package/assets/GetCredits-CovHo4LD.js +1 -0
- package/assets/{HelpersUtil-CyyM2_TI.js → HelpersUtil-zS6eOrPz.js} +1 -1
- package/assets/ImportListings-B_GYydG3.js +1 -0
- package/assets/ItemDetail-DmBWsg8l.js +2 -0
- package/assets/LoadMore-BIjeTH4T.js +1 -0
- package/assets/MarketCheckout-DoRZsMk0.js +1 -0
- package/assets/MyAssets-7sMdrGBa.js +1 -0
- package/assets/MyFavorites-CRqCDkA2.js +1 -0
- package/assets/MyPurchases-BsTMOXYC.js +1 -0
- package/assets/NotFound-COraILzW.js +1 -0
- package/assets/StoreSettings-C_SlMQ79.js +1 -0
- package/assets/Success-3OL55SvR.js +1 -0
- package/assets/{SwapController-CtDCOae7.js → SwapController-BHBv5Fp0.js} +1 -1
- package/assets/{TradeService-B9js2HgZ.js → TradeService-CNoDt48E.js} +1 -1
- package/assets/{W3MFrameProviderSingleton-Bk3c0gmH.js → W3MFrameProviderSingleton-Bndo_4Rg.js} +3 -3
- package/assets/{WebCryptoP256-CPWrk_dm.js → WebCryptoP256-Bt50-H1K.js} +1 -1
- package/assets/address-DrURAr9O.js +1 -0
- package/assets/{basic-BWj2hv9g.js → basic-Bub5O4ZI.js} +1 -1
- package/assets/{biconomy-D5wtybfS.js → biconomy-DuIIEXUB.js} +1 -1
- package/assets/{buy-BuqGUyRC.js → buy--wjHgZbY.js} +1 -1
- package/assets/{buy-gasless-D1dur72K.js → buy-gasless-DaSij0O9.js} +1 -1
- package/assets/cart-checkout-RV2JhHc0.js +1 -0
- package/assets/categories-BwgdoXaT.js +1 -0
- package/assets/{ccip-CvNFQ17g.js → ccip-C1ke5tRS.js} +1 -1
- package/assets/{ccip-DzDcXB6O.js → ccip-Cbub1KDX.js} +1 -1
- package/assets/collection-CtZ-NDco.js +1 -0
- package/assets/{controller-D183MxeO.js → controller-Cn9mR-pN.js} +2 -2
- package/assets/{core-Djo1YVjG.js → core-Z6gT3FaJ.js} +4 -4
- package/assets/{custom-QAYZpJri.js → custom-Djk6BRDC.js} +1 -1
- package/assets/{data-capture-CU2GVJSK.js → data-capture-CaF6YYAr.js} +1 -1
- package/assets/{decimals-Cli_fCtR.js → decimals-BW2hoshz.js} +1 -1
- package/assets/{decimals-Bz5i1WHx.js → decimals-_kiKzbOr.js} +1 -1
- package/assets/{detectExtension-CmaNfrCA.js → detectExtension-BkZ-FjJy.js} +1 -1
- package/assets/{email-BlPcB0YM.js → email-1Van4lx1.js} +1 -1
- package/assets/{embedded-wallet-BKQynccz.js → embedded-wallet-_TVgs7Qd.js} +1 -1
- package/assets/emotion-styled.browser.esm-B2VU5Fdx.js +1 -0
- package/assets/{engine-in37aZAj.js → engine-D9uS1iWH.js} +1 -1
- package/assets/errors-BFbUxXdM.js +1 -0
- package/assets/{estimate-l1-fee-CLAQ-kVd.js → estimate-l1-fee-DFpjQWvm.js} +1 -1
- package/assets/{eth_estimateGas-CtpUe28l.js → eth_estimateGas-XGJ1z-TU.js} +1 -1
- package/assets/{eth_getStorageAt-C_Vek-yS.js → eth_getStorageAt-4_YV1iAo.js} +1 -1
- package/assets/{eth_getTransactionCount-DDMlHHZ1.js → eth_getTransactionCount-DO_4-OAP.js} +1 -1
- package/assets/{extractIPFS-B8bkKl83.js → extractIPFS-CMkI68ZH.js} +1 -1
- package/assets/{features-BLsvLtOU.js → features-Dzd7PGBD.js} +1 -1
- package/assets/{fetchTokenMetadata-BBDtMy0y.js → fetchTokenMetadata-BJILnwgp.js} +2 -2
- package/assets/{get-ecosystem-wallet-info-DowvW6Wh.js → get-ecosystem-wallet-info-BD5YDDMh.js} +1 -1
- package/assets/{getBalance-D3uwYYaj.js → getBalance-SRetmB3S.js} +1 -1
- package/assets/{getInstalledModules-UdrVObo8.js → getInstalledModules-DFh2dv3C.js} +1 -1
- package/assets/{getNFT-CtNGZK_f.js → getNFT-CJ8nxXzA.js} +1 -1
- package/assets/{getNFT-9P__5ihz.js → getNFT-CtODGGom.js} +2 -2
- package/assets/{getOverlayAlpha-DlM2cE6a.js → getOverlayAlpha-DqVbiGQa.js} +1 -1
- package/assets/{hashTypedData-CYBVIuTE.js → hashTypedData-B9EX4kQr.js} +1 -1
- package/assets/{hashTypedData-BFJJ5q4M.js → hashTypedData-DF-5orkI.js} +1 -1
- package/assets/{import-Cg6Yj2rh.js → import-DjSObRBl.js} +1 -1
- package/assets/{in-app-wallet-calls-e3GHFt75.js → in-app-wallet-calls-BIFm_f4e.js} +1 -1
- package/assets/{index-QO_7_lhH.js → index-435lMBSs.js} +1 -1
- package/assets/{index-DWeKOlH9.js → index-4FVRm8A1.js} +1 -1
- package/assets/{index-CimjXt7J.js → index-5DUAhgPD.js} +1 -1
- package/assets/{index-GKEFv9yg.js → index-B-R-UWD3.js} +1 -1
- package/assets/{index-CokMOCIe.js → index-B0vpo1ZT.js} +1 -1
- package/assets/{index-DbPN9eYi.js → index-B84aCWu7.js} +1 -1
- package/assets/{index-DjWTBSwD.js → index-B8oIDYaY.js} +1 -1
- package/assets/{index-2m_d1zB7.js → index-BDpvYYDT.js} +2 -2
- package/assets/{index-C232P_tt.js → index-BIm4mg7q.js} +1 -1
- package/assets/{index-CGyhL7yH.js → index-BJhyH2t3.js} +1 -1
- package/assets/{index-C4O-Vk3J.js → index-BMvjtMcC.js} +1 -1
- package/assets/{index-BbcVeePT.js → index-BP93EahD.js} +1 -1
- package/assets/{index-DCXTyr29.js → index-BTBCIBCb.js} +1 -1
- package/assets/{index-C1xjP172.js → index-Baz_xGcG.js} +1 -1
- package/assets/{index-DM4LbLGg.js → index-BuMqkfRn.js} +1 -1
- package/assets/{index-Dv_t30Fx.js → index-C1ZfYzAF.js} +1 -1
- package/assets/{index-DDwSPSIB.js → index-C2Nkwj4Q.js} +1 -1
- package/assets/{index-BYFF2boi.js → index-C4u9N2Kl.js} +1 -1
- package/assets/{index-BYADyNKo.js → index-C6_L5Mw_.js} +1 -1
- package/assets/{index-BTWZP5iA.js → index-C7FmrxuL.js} +2 -2
- package/assets/{index-DHZvqL84.js → index-C7dwOEd4.js} +1 -1
- package/assets/{index-DgpgwNeu.js → index-CB1b6TrQ.js} +1 -1
- package/assets/index-CDzDnyJW.js +38 -0
- package/assets/{index-_7H3L1ZP.js → index-CI-M1Arz.js} +1 -1
- package/assets/{index-tMOEEL4R.js → index-COxhR5RZ.js} +1 -1
- package/assets/{index-wix-m5kv.js → index-CPEmMCeJ.js} +1 -1
- package/assets/{index-BV7J2krB.js → index-CXx3fqSb.js} +1 -1
- package/assets/{index-Dhvz3eMq.js → index-Ca1AwnnV.js} +1 -1
- package/assets/{index-9BdnoiUc.js → index-ChsZA2LJ.js} +1 -1
- package/assets/{index-f6fV1T8T.js → index-CnO86Xf-.js} +2 -2
- package/assets/{index-Bd5HzOih.js → index-Cq05ek6k.js} +1 -1
- package/assets/{index-Dn_qk1hX.js → index-CuuFwMsN.js} +1 -1
- package/assets/{index-Cxrg3Lj0.js → index-Cxc0o5xP.js} +3 -3
- package/assets/{index-Bc8LK9Ol.js → index-D-OL6_Yb.js} +1 -1
- package/assets/{index-CnuM4VLz.js → index-D-g3I2lj.js} +1 -1
- package/assets/{index-BpEM2es9.js → index-D1WSRIS2.js} +3 -3
- package/assets/{index-Dafl7b8S.js → index-D4I9bYC2.js} +1 -1
- package/assets/{index-EiXStXto.js → index-D6gXM0CC.js} +1 -1
- package/assets/{index-B51wZzeY.js → index-D9ieJGKB.js} +3 -3
- package/assets/{index-CPkXQMIU.js → index-DZXCznoC.js} +1 -1
- package/assets/{index-CC8NVylF.js → index-Dp3LaHz2.js} +1 -1
- package/assets/index-DvbMYtAp.css +1 -0
- package/assets/{index-WSrqh314.js → index-DxHhM-lc.js} +1 -1
- package/assets/{index-X6oDiehz.js → index-RUxrTr_p.js} +1 -1
- package/assets/index-_PfBd9GI.js +2 -0
- package/assets/{index-BQ5ge-Tm.js → index-icCmSJB-.js} +1 -1
- package/assets/{index-BoJl0MEu.js → index-kwYOhJAZ.js} +1 -1
- package/assets/{index-BI_EDMP9.js → index-lt9H89-j.js} +1 -1
- package/assets/{index-BWdPQT3i.js → index-mj00iiOs.js} +1 -1
- package/assets/{index-wJWAyLyG.js → index-rjGwBRLW.js} +1 -1
- package/assets/{index-CY8WzS3h.js → index-wua-qNwF.js} +1 -1
- package/assets/{index-HNS3dqwM.js → index-z0NRAVC7.js} +1 -1
- package/assets/{index.es-BMbRXqeO.js → index.es-1OmAzkct.js} +4 -4
- package/assets/{index.es-BqzvGq7f.js → index.es-BzNqI7gq.js} +1 -1
- package/assets/{index.es-CUUt-ANj.js → index.es-CwZSb0ol.js} +1 -1
- package/assets/{localBatchGatewayRequest-CDAmzVtL.js → localBatchGatewayRequest-yoTBhn0Z.js} +1 -1
- package/assets/{mana-rate-B0IpO0Jf.js → mana-rate-Db4BQ-_Q.js} +1 -1
- package/assets/{networks-BymyxGkz.js → networks-DK4RaMPB.js} +1 -1
- package/assets/{onramp-CYTa2Tx4.js → onramp-D9q0W6xC.js} +1 -1
- package/assets/{openzeppelin-COAmu6ot.js → openzeppelin-BquKm-KX.js} +1 -1
- package/assets/{ownerOf-DqKMKRi9.js → ownerOf-DuMQ2Sl6.js} +1 -1
- package/assets/{parseNft-DLpc5Yei.js → parseNft-ufNn3-SE.js} +2 -2
- package/assets/{parseSignature-BbVWa74t.js → parseSignature-BwqWTE77.js} +3 -3
- package/assets/{parseSignature-CQEIs6ej.js → parseSignature-DMb3jl_X.js} +1 -1
- package/assets/{pay-with-exchange-B9ucX9mo.js → pay-with-exchange-CTQ9umub.js} +1 -1
- package/assets/{payments-BQ7DJXcX.js → payments-tEVDRx3d.js} +1 -1
- package/assets/{qr-overlay-BzDjJxkl.js → qr-overlay-dEspWwjk.js} +1 -1
- package/assets/{receive-CdB8wZew.js → receive-D0GHoQxU.js} +1 -1
- package/assets/{resolveImplementation-By6ba-gT.js → resolveImplementation-C8pfiiFc.js} +1 -1
- package/assets/{rpc-U-jASdu9.js → rpc-DmLUQYS0.js} +1 -1
- package/assets/{secp256k1-xEn2m9bZ.js → secp256k1-Dfs57S6d.js} +1 -1
- package/assets/{secp256k1-BmWXuOHo.js → secp256k1-Dr9eLw2v.js} +1 -1
- package/assets/{secp256k1-iIKLFLGj.js → secp256k1-Nx-YHmXH.js} +1 -1
- package/assets/{send-DtVXzmyO.js → send-BwQAcpw3.js} +1 -1
- package/assets/{send-batch-transaction-9qRwmlL2.js → send-batch-transaction-DzTkK7I2.js} +1 -1
- package/assets/{send-eip712-transaction-ByJVcnYO.js → send-eip712-transaction-Cwec8TpW.js} +2 -2
- package/assets/{send-gasless-transaction-D0RYhYAB.js → send-gasless-transaction-CM25TtQp.js} +2 -2
- package/assets/{sendRawTransaction-CzSVySFj.js → sendRawTransaction-D4a6ft8m.js} +3 -3
- package/assets/{serializeTransaction-Cai1RcSa.js → serializeTransaction-2sq4x0kU.js} +1 -1
- package/assets/{session-proposal-DMISmbXT.js → session-proposal-BdXqD0a8.js} +1 -1
- package/assets/{session-request-B2p3uKhH.js → session-request-DK4XwmDL.js} +2 -2
- package/assets/{sha256-DPzs4mu5.js → sha256-D-WKRl2Q.js} +1 -1
- package/assets/{signing-JS3aFRFl.js → signing-BT7JgIF_.js} +4 -4
- package/assets/{socials-BiovW07p.js → socials-BOqU6AoU.js} +1 -1
- package/assets/{swaps-CTTSrRMo.js → swaps-CG6VNxsT.js} +1 -1
- package/assets/{thirdweb-1lCUQ6qm.js → thirdweb-CAdiquMi.js} +3 -3
- package/assets/{totalSupply-Noc7aMrB.js → totalSupply-DjhdgKBK.js} +1 -1
- package/assets/{trade-encoding-BOIcOdJd.js → trade-encoding-6ejU5fQD.js} +1 -1
- package/assets/{transactionReceipt-Dt2k8fLQ.js → transactionReceipt-DWMHa3N1.js} +1 -1
- package/assets/{transactions-CxIQG9NN.js → transactions-BgR8COf-.js} +1 -1
- package/assets/{useInfiniteGrid-B4_3J2Zt.js → useInfiniteGrid-gL0KJ-yb.js} +1 -1
- package/assets/{useStore-ByF6YxEU.js → useStore-BXbR3Zt_.js} +1 -1
- package/assets/useTheme-CmaVa_eU.js +1 -0
- package/assets/useTheme-bLwsL2uj.js +1 -0
- package/assets/{verifyHash-L5vlRUnm.js → verifyHash-0bNfbKAs.js} +1 -1
- package/assets/{w3m-modal-DGcZdnA7.js → w3m-modal-Cb8f-N8c.js} +1 -1
- package/assets/{w3m-modal-B7QKvnW7.js → w3m-modal-L-SoXhRP.js} +1 -1
- package/assets/{wait-for-tx-receipt-B3gUpnn8.js → wait-for-tx-receipt-DHi00k13.js} +1 -1
- package/assets/{wallets-YFPhEThY.js → wallets-DQmx7SO4.js} +6 -6
- package/assets/{web-connector-BPl3smRR.js → web-connector-DZjwkeRe.js} +3 -3
- package/assets/{writeContract-CSsBSjk9.js → writeContract-DzbrR3T0.js} +1 -1
- package/assets/{zoraTestnet-CT6xPXO8.js → zoraTestnet-CiD1Xv8j.js} +1 -1
- package/index.html +15 -15
- package/package.json +2 -2
- package/assets/Assets--1H9fLCF.js +0 -1
- package/assets/Cart-DmWaCrLQ.js +0 -1
- package/assets/Collection-BNBBmA6K.js +0 -1
- package/assets/CollectionCarousel-CUkjxu-O.js +0 -1
- package/assets/Creator-CCrA6c1k.js +0 -1
- package/assets/GetCredits-xWjPUPUO.js +0 -1
- package/assets/ImportListings-wTGv7IcM.js +0 -1
- package/assets/ItemDetail-59tH149n.js +0 -2
- package/assets/LoadMore-CiZkVzux.js +0 -1
- package/assets/MarketCheckout-CP6s5BFr.js +0 -1
- package/assets/MyAssets-CKIY6xbZ.js +0 -1
- package/assets/MyFavorites-B_tnX5BB.js +0 -1
- package/assets/MyPurchases-CdeIHOAU.js +0 -1
- package/assets/NotFound-Bp_eP5mg.js +0 -1
- package/assets/StoreSettings-a0Os-pSs.js +0 -1
- package/assets/Success-CfmwKaYB.js +0 -1
- package/assets/cart-checkout-rwvAvzgx.js +0 -1
- package/assets/categories-B2btvTaV.js +0 -1
- package/assets/collection-AwsuEzzi.js +0 -1
- package/assets/emotion-styled.browser.esm-BVgOpiFx.js +0 -1
- package/assets/index-BLIz_7l9.js +0 -38
- package/assets/index-DZy0_LxZ.js +0 -2
- package/assets/index-DgcUoaxa.css +0 -1
- package/assets/useTheme-BWWP9qQ0.js +0 -1
- package/assets/useTheme-dztiejOp.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as G,r as m,j as e,L as os}from"./react-yytiy0wi.js";import{j as B,D as ds,u as H,t as a,C as F,k as w,p as es,b as M,ac as X,z,w as as,a as ms,d as us,g as D,ap as hs,i as ps,aq as ys}from"./index-CDzDnyJW.js";import{f as bs}from"./import-DjSObRBl.js";import{d as ts}from"./dcl-schemas-BICTSpB5.js";import{c as gs}from"./buy--wjHgZbY.js";import{a as xs,b as js,i as _s,e as Ns,c as fs}from"./trade-encoding-6ejU5fQD.js";import{f as ns}from"./errors-BFbUxXdM.js";import{E as $}from"./ErrorNotice-Rze9rgc9.js";import{s as vs}from"./wallet-kind-B9P1TeIH.js";import{L as Is}from"./LoadMore-BIjeTH4T.js";import{u as As}from"./useInfiniteGrid-gL0KJ-yb.js";import"./sentry-BPJvc5GU.js";import"./ethers-w2AslR0v.js";import"./intl-CBcMB1D2.js";import"./mana-rate-Db4BQ-_Q.js";import"./index-HN6Rk25C.js";const O=()=>`${B.builderServerUrl}/v1`;function rs(s){return Array.isArray(s)?s:"results"in s&&Array.isArray(s.results)?s.results:"data"in s&&Array.isArray(s.data)?s.data:[]}async function is(s,i){const r=await ds(s,{method:"GET",identity:i,metadata:{}});if(!r.ok)throw new Error(`builder-server ${r.status}: ${await r.text()}`);const o=await r.json();return o.data??o}function ks(s,i){const r=i-s;return r>0?r:0}function Ss(s){var i,r,o,l,c;return((r=(i=s.data)==null?void 0:i.wearable)==null?void 0:r.category)??((l=(o=s.data)==null?void 0:o.emote)==null?void 0:l.category)??((c=s.data)==null?void 0:c.category)??s.type??"wearable"}function Z(s){return`${O()}/storage/contents/${s}`}function P(s,i){if(!s)return"";if(/^https?:\/\//.test(s))return s;const r=i==null?void 0:i[s];return r?Z(r):/^(ba|Qm)/.test(s)?Z(s):""}async function Cs(s,i){try{const r=await fetch(`${O()}/items/${s}/${i}/contents`);if(!r.ok)return{};const o=await r.json();return o.data??o}catch{return{}}}async function ws(s,i,r){const o=P(s.thumbnail,s.contents)||P("thumbnail.png",s.contents);if(o)return o;if(i&&r){const l=await Cs(i,r);return P(s.thumbnail,l)||P("thumbnail.png",l)||P("image.png",l)}return""}async function Ls(s,i){const r=`${O()}/${s.toLowerCase()}/collections?is_published=true`,o=await is(r,i);return rs(o).filter(l=>l.is_published&&!!l.contract_address).map(l=>({id:l.id,name:l.name,contractAddress:l.contract_address.toLowerCase(),isPublished:l.is_published,isApproved:l.is_approved,minters:(l.minters??[]).map(c=>c.toLowerCase())}))}async function Ms(s,i){const r=`${O()}/collections/${s.id}/items`,o=await is(r,i);return(await Promise.all(rs(o).map(async c=>{const v=c.rarity??"common",N=Number(c.total_supply??0)||0;let u;try{u=ts.Rarity.getMaxSupply(v)}catch{u=0}const I=(c.contract_address??s.contractAddress).toLowerCase(),y=c.blockchain_item_id??"";return{id:c.id,collectionId:s.id,collectionName:s.name,contractAddress:I,blockchainItemId:y,name:c.name,category:Ss(c),rarity:v,thumbnail:await ws(c,I,y),type:c.type??"wearable",isPublished:c.is_published??s.isPublished,isApproved:c.is_approved??s.isApproved,totalSupply:N,maxSupply:u,remainingSupply:ks(N,u),minters:s.minters}}))).filter(Ps)}function Ps(s){return s.isPublished&&s.isApproved&&s.blockchainItemId!==""&&s.blockchainItemId!=null&&s.remainingSupply>0}async function $s(s,i){const r=await Ls(s,i);return(await Promise.all(r.map(async l=>{try{return await Ms(l,i)}catch{return[]}}))).flat()}const Es=1e3*60*60*24*182;function Ts({asset:s,session:i,onClose:r}){const o=H(),l=G(),[c,v]=m.useState("10"),[N,u]=m.useState(null),[I,y]=m.useState(null),[b,S]=m.useState(!1),[_,A]=m.useState(null);async function C(){y(null);const d=Number(c);if(!Number.isInteger(d)||d<=0){y(a("sellModal.errorWholeNumber"));return}S(!0);try{u(a("sellModal.statusPreparing")),await xs({signer:i.signer,contractAddress:s.contractAddress,chainId:s.chainId}),u(a("sellModal.statusListing"));const f=await js({signer:i.signer,nft:{contractAddress:s.contractAddress,tokenId:s.tokenId,network:s.network,chainId:s.chainId},usdPrice:d/10,expiresAtMs:Date.now()+Es});u(a("sellModal.statusPublishing")),await es(f,i.identity),u(null),A(d),M("Shop Listed Item",{item_id:s.itemId??s.tokenId??null,contract_address:s.contractAddress,price_credits:d,price_usd:d/10,listing_type:"secondary",is_primary:!1}),X.success(a("sellModal.toastOnSale",{name:s.name})),o.invalidateQueries({queryKey:["my-assets",i.address]})}catch(f){z(f,{flow:"list_secondary"}),M("Shop Listing Failed",{listing_type:"secondary",error_code:as(f)}),y(ns(f,a("sellModal.errorGeneric"))),u(null)}finally{S(!1)}}function j(){r(),l(`/item/${s.contractAddress}/${s.tokenId}`)}return _!==null?e.jsx("div",{className:"modal-backdrop",onClick:r,role:"presentation",children:e.jsxs("div",{className:"modal modal--success",onClick:d=>d.stopPropagation(),role:"dialog","aria-modal":"true",children:[e.jsx("div",{className:"modal-success__check","aria-hidden":!0,children:"✓"}),e.jsx("h2",{className:"modal__title",children:a("sellModal.successTitle")}),s.image?e.jsx("img",{className:"modal__img",src:s.image,alt:s.name}):null,e.jsx("p",{className:"modal-success__name",children:s.name}),e.jsxs("p",{className:"muted small",children:[a("sellModal.listedFor")," ",e.jsxs("strong",{children:[e.jsx(F,{className:"ccy-mark"})," ",_]})]}),e.jsxs("div",{className:"modal__actions",children:[e.jsx("button",{className:"btn btn--ghost",onClick:r,children:a("getCredits.done")}),e.jsx("button",{className:"btn btn--purple",onClick:j,children:a("sellModal.viewInShop")})]})]})}):e.jsx("div",{className:"modal-backdrop",onClick:r,role:"presentation",children:e.jsxs("div",{className:"modal",onClick:d=>d.stopPropagation(),role:"dialog","aria-modal":"true",children:[e.jsx("h2",{className:"modal__title",children:a("sellModal.listTitle",{name:s.name})}),s.image?e.jsx("img",{className:"modal__img",src:s.image,alt:s.name}):null,e.jsxs("label",{className:"field",children:[e.jsx("span",{children:a("sellModal.priceLabel",{currency:w.name})}),e.jsx("input",{type:"number",min:"1",step:"1",value:c,onChange:d=>v(d.target.value),disabled:b})]}),e.jsx("p",{className:"muted small",children:a("sellModal.pricedInWhole",{currency:w.name,currencySingular:w.nameSingular})}),N?e.jsx("p",{className:"muted",children:N}):null,e.jsx($,{message:I}),e.jsxs("div",{className:"modal__actions",children:[e.jsx("button",{className:"btn btn--ghost",onClick:r,disabled:b,children:a("sellModal.cancel")}),e.jsx("button",{className:"btn",onClick:()=>void C(),disabled:b,children:b?a("sellModal.listing"):a("sellModal.putOnSale")})]})]})})}const qs=1e3*60*60*24*182;function Fs({item:s,session:i,onClose:r}){const o=H(),l=G(),[c,v]=m.useState("10"),[N,u]=m.useState(null),[I,y]=m.useState(null),[b,S]=m.useState(!1),[_,A]=m.useState(null),[C,j]=m.useState(null),d=B.chainId,f=vs(i.providerType);m.useEffect(()=>{let h=!1;return(async()=>{try{const g=await _s({contractAddress:s.contractAddress,chainId:d});h||A(g)}catch{h||A(!1)}})(),()=>{h=!0}},[s.contractAddress,d]);async function K(){y(null);const h=Number(c);if(!Number.isInteger(h)||h<=0){y(a("primaryList.errorWholeNumber"));return}S(!0);try{_||(u(a("primaryList.statusEnabling")),await Ns({signer:i.signer,contractAddress:s.contractAddress,chainId:d}),A(!0)),u(a("primaryList.statusPublishing"));const g=await fs({signer:i.signer,item:{contractAddress:s.contractAddress,itemId:s.blockchainItemId,network:ts.Network.MATIC,chainId:d},usdPrice:h/10,uses:s.remainingSupply,expiresAtMs:Date.now()+qs});u(a("primaryList.statusFinishing")),await es(g,i.identity),u(null),j(h),M("Shop Listed Item",{item_id:s.blockchainItemId,contract_address:s.contractAddress,price_credits:h,price_usd:h/10,listing_type:"primary",is_primary:!0}),X.success(a("primaryList.toastOnSale",{name:s.name})),o.invalidateQueries({queryKey:["publishable-items"]}),o.invalidateQueries({queryKey:["collection-sale-state"]})}catch(g){z(g,{flow:"list_primary"}),M("Shop Listing Failed",{listing_type:"primary",error_code:as(g)}),y(ns(g,a("primaryList.errorGeneric"))),u(null)}finally{S(!1)}}function Q(){r(),l(`/item/${s.contractAddress}/${s.blockchainItemId}`)}const E=b?a("primaryList.listing"):_===!1?a("primaryList.enableAndPutOnSale"):a("primaryList.putOnSale");return C!==null?e.jsx("div",{className:"modal-backdrop",onClick:r,role:"presentation",children:e.jsxs("div",{className:"modal modal--success",onClick:h=>h.stopPropagation(),role:"dialog","aria-modal":"true",children:[e.jsx("div",{className:"modal-success__check","aria-hidden":!0,children:"✓"}),e.jsx("h2",{className:"modal__title",children:a("primaryList.successTitle")}),s.thumbnail?e.jsx("img",{className:"modal__img",src:s.thumbnail,alt:s.name}):null,e.jsx("p",{className:"modal-success__name",children:s.name}),e.jsxs("p",{className:"muted small",children:[a("primaryList.listedFor")," ",e.jsxs("strong",{children:[e.jsx(F,{className:"ccy-mark"})," ",C]})," ",a("primaryList.dotAvailable",{count:s.remainingSupply})]}),e.jsxs("div",{className:"modal__actions",children:[e.jsx("button",{className:"btn btn--ghost",onClick:r,children:a("getCredits.done")}),e.jsx("button",{className:"btn btn--purple",onClick:Q,children:a("primaryList.viewInShop")})]})]})}):e.jsx("div",{className:"modal-backdrop",onClick:r,role:"presentation",children:e.jsxs("div",{className:"modal",onClick:h=>h.stopPropagation(),role:"dialog","aria-modal":"true",children:[e.jsx("h2",{className:"modal__title",children:a("primaryList.publishTitle",{name:s.name})}),s.thumbnail?e.jsx("img",{className:"modal__img",src:s.thumbnail,alt:s.name}):null,e.jsx("p",{className:"muted small",children:a("primaryList.fromCollection",{collectionName:s.collectionName,count:s.remainingSupply})}),e.jsxs("label",{className:"field",children:[e.jsx("span",{children:a("primaryList.priceLabel",{currency:w.name})}),e.jsx("input",{type:"number",min:"1",step:"1",value:c,onChange:h=>v(h.target.value),disabled:b})]}),e.jsx("p",{className:"muted small",children:a("primaryList.pricedInWhole",{currency:w.name,currencySingular:w.nameSingular})}),_===!1&&!b?f?e.jsx("p",{className:"muted small primary-note",children:a("primaryList.firstTimeConfirm",{collectionName:s.collectionName})}):e.jsx("p",{className:"muted small primary-note",children:a("primaryList.firstTimeManaged",{collectionName:s.collectionName})}):_===!0&&!b?f?e.jsx("p",{className:"muted small primary-note",children:a("primaryList.readyConfirm")}):e.jsx("p",{className:"muted small primary-note",children:a("primaryList.readyManaged")}):null,N?e.jsx("p",{className:"muted",children:N}):null,e.jsx($,{message:I}),e.jsxs("div",{className:"modal__actions",children:[e.jsx("button",{className:"btn btn--ghost",onClick:r,disabled:b,children:a("primaryList.cancel")}),e.jsx("button",{className:"btn",onClick:()=>void K(),disabled:b||_===null,children:_===null?a("primaryList.checking"):E})]})]})})}const Os=48;function Ks(s){return{id:s.id,name:s.name,creator:"",contractAddress:s.contractAddress,itemId:s.itemId,category:s.category,rarity:s.rarity??"common",network:s.network,chainId:s.chainId,thumbnail:s.image,priceCredits:s.listingPrice??0,gender:null,isSmart:!1,tokenId:s.tokenId}}function ss(s){return{id:`${s.contractAddress}-${s.blockchainItemId}`,name:s.name,creator:"",contractAddress:s.contractAddress,itemId:s.blockchainItemId,category:s.category,rarity:s.rarity,network:"MATIC",chainId:B.chainId,thumbnail:s.thumbnail,priceCredits:0,gender:null,isSmart:!1}}function ae(){ms({title:a("nav.myAssets"),noindex:!0});const{session:s,error:i,signIn:r,restore:o}=us(),l=G(),c=H(),[v,N]=m.useState(null),[u,I]=m.useState(null),[y,b]=m.useState(null),[S,_]=m.useState(null);function A(t){const n=t.tokenId??t.itemId??"";!t.contractAddress||!n||l(`/item/${t.contractAddress}/${n}`,{state:{item:t}})}async function C(t,n,p){if(s){_(null),b(p);try{const x=await ps(t);await gs({trade:x,signer:s.signer}),X.success(a("myAssets.removedFromSale",{name:n})),await c.invalidateQueries({queryKey:["my-assets",s.address]}),await c.invalidateQueries({queryKey:["collection-sale-state"]})}catch(x){const T=x,q=(T.message??"").toLowerCase(),Y=T.code===4001||q.includes("reject")||q.includes("denied");Y||z(x,{flow:"remove-listing",tradeId:t}),_(Y?a("getCredits.errorCanceled"):a("myAssets.removeListingError"))}finally{b(null)}}}m.useEffect(()=>{o()},[o]);const j=s==null?void 0:s.address,{items:d,isLoading:f,error:K,hasNextPage:Q,isFetchingNextPage:E,fetchNextPage:h}=As(["my-assets",j],t=>hs(j,{first:Os,skip:t}).then(n=>({items:n.assets,total:n.total})),{enabled:!!j}),{data:g}=D({queryKey:["importable",j],queryFn:()=>bs(j),enabled:!!j}),J=((g==null?void 0:g.creations.length)??0)+((g==null?void 0:g.owned.length)??0),{data:L,isLoading:ls,isError:cs}=D({queryKey:["publishable-items",j],queryFn:()=>$s(j,s.identity),enabled:!!s,retry:!1}),R=m.useMemo(()=>[...new Set((L??[]).map(t=>t.contractAddress))],[L]),{data:k}=D({queryKey:["collection-sale-state",j,R],enabled:R.length>0,queryFn:async()=>{const t=await Promise.all(R.map(async p=>[p,await ys(p)])),n={};for(const[p,x]of t)for(const[T,q]of Object.entries(x))n[`${p}-${T}`]=q;return n}}),U=t=>k==null?void 0:k[`${t.contractAddress}-${t.blockchainItemId}`],W=m.useMemo(()=>(L??[]).filter(t=>{var n;return(n=U(t))==null?void 0:n.isOnSale}),[L,k]),V=m.useMemo(()=>{var n;const t=new Map;for(const p of L??[]){if((n=k==null?void 0:k[`${p.contractAddress}-${p.blockchainItemId}`])!=null&&n.isOnSale)continue;const x=t.get(p.collectionId)??{id:p.collectionId,name:p.collectionName,items:[]};x.items.push(p),t.set(p.collectionId,x)}return[...t.values()]},[L,k]);return s?e.jsxs("section",{className:"myassets",children:[e.jsx("h1",{children:a("nav.myAssets")}),J>0?e.jsxs(os,{className:"import-banner",to:"/import",children:[e.jsx("span",{className:"import-banner__ico","aria-hidden":!0,children:"📦"}),e.jsxs("span",{className:"import-banner__text",children:[e.jsx("strong",{children:a("myAssets.importTitle")}),e.jsx("span",{className:"import-banner__sub",children:a("myAssets.importSub",{count:J})})]}),e.jsx("span",{className:"import-banner__cta",children:a("myAssets.import")})]}):null,e.jsxs("div",{className:"myassets__section",children:[e.jsxs("div",{className:"myassets__section-head",children:[e.jsx("h2",{className:"myassets__section-title",children:a("myAssets.ownedTitle")}),e.jsx("p",{className:"myassets__section-sub",children:a("myAssets.ownedSub")})]}),K?e.jsx($,{message:a("myAssets.ownedError")}):null,e.jsx($,{message:S}),e.jsxs("div",{className:"asset-grid",children:[f?Array.from({length:8}).map((t,n)=>e.jsx("div",{className:"asset-card asset-card--skeleton"},`sk-${n}`)):d.map(t=>e.jsxs("article",{className:"asset-card asset-card--link",children:[e.jsx("button",{className:"card-link-overlay","aria-label":a("myAssets.viewItem",{name:t.name}),onClick:()=>A(Ks(t))}),e.jsx("div",{className:"asset-card__img",children:t.image?e.jsx("img",{src:t.image,alt:t.name}):null}),e.jsx("div",{className:"asset-card__name",title:t.name,children:t.name}),t.isOnSale?e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"asset-card__listed",children:[e.jsxs("span",{className:"asset-card__price",children:[e.jsx(F,{className:"ccy-mark"})," ",t.listingPrice]}),e.jsx("span",{className:"badge",children:a("myAssets.onSale")})]}),e.jsx("button",{className:"btn btn--sm btn--ghost asset-card__remove",disabled:y===t.id||!t.tradeId,onClick:n=>{n.stopPropagation(),t.tradeId&&C(t.tradeId,t.name,t.id)},children:y===t.id?a("myAssets.removing"):a("myAssets.removeListing")})]}):e.jsx("button",{className:"btn btn--sm",onClick:n=>{n.stopPropagation(),M("Shop Started Listing",{listing_type:"secondary",item_id:t.itemId??t.tokenId??null}),N(t)},children:a("myAssets.putOnSale")})]},t.id)),E?Array.from({length:4}).map((t,n)=>e.jsx("div",{className:"asset-card asset-card--skeleton"},`msk-${n}`)):null]}),e.jsx(Is,{hasNextPage:Q,isFetching:E,onLoadMore:()=>void h()}),!f&&d.length===0?e.jsx("p",{className:"muted",children:a("myAssets.ownedEmpty")}):null]}),e.jsxs("div",{className:"myassets__section",children:[e.jsxs("div",{className:"myassets__section-head",children:[e.jsx("h2",{className:"myassets__section-title",children:a("myAssets.creationsTitle")}),e.jsx("p",{className:"myassets__section-sub",children:a("myAssets.creationsSub",{currency:w.name})})]}),ls?e.jsx("div",{className:"publish-grid",children:Array.from({length:4}).map((t,n)=>e.jsx("div",{className:"asset-card asset-card--skeleton"},`pub-sk-${n}`))}):cs?e.jsx("p",{className:"publish-empty",children:a("myAssets.collectionsError")}):W.length===0&&V.length===0?e.jsx("p",{className:"publish-empty",children:a("myAssets.nothingToPublish")}):e.jsxs(e.Fragment,{children:[W.length>0?e.jsxs("div",{className:"creations-collection",children:[e.jsx("h3",{className:"creations-collection__name",children:a("myAssets.onSale")}),e.jsx("div",{className:"publish-grid",children:W.map(t=>{var n;return e.jsxs("article",{className:"publish-card publish-card--link",children:[e.jsx("button",{className:"card-link-overlay","aria-label":a("myAssets.viewItem",{name:t.name}),onClick:()=>A(ss(t))}),e.jsx("div",{className:"publish-card__img",children:t.thumbnail?e.jsx("img",{src:t.thumbnail,alt:t.name}):null}),e.jsx("div",{className:"publish-card__name",title:t.name,children:t.name}),e.jsxs("div",{className:"publish-card__listed",children:[e.jsxs("span",{className:"publish-card__price",children:[e.jsx(F,{className:"ccy-mark"})," ",((n=U(t))==null?void 0:n.priceCredits)??0]}),e.jsx("span",{className:"badge",children:a("myAssets.onSale")})]}),e.jsx("button",{className:"btn btn--sm btn--ghost publish-card__cta",disabled:y===t.id,onClick:p=>{p.stopPropagation();const x=U(t);x!=null&&x.tradeId&&C(x.tradeId,t.name,t.id)},children:y===t.id?a("myAssets.removing"):a("myAssets.removeListing")})]},`${t.contractAddress}-${t.blockchainItemId}`)})})]}):null,V.map(t=>e.jsxs("div",{className:"creations-collection",children:[e.jsx("h3",{className:"creations-collection__name",children:t.name}),e.jsx("div",{className:"publish-grid",children:t.items.map(n=>e.jsxs("article",{className:"publish-card publish-card--link",children:[e.jsx("button",{className:"card-link-overlay","aria-label":a("myAssets.viewItem",{name:n.name}),onClick:()=>A(ss(n))}),e.jsx("div",{className:"publish-card__img",children:n.thumbnail?e.jsx("img",{src:n.thumbnail,alt:n.name}):null}),e.jsx("div",{className:"publish-card__name",title:n.name,children:n.name}),e.jsxs("div",{className:"publish-card__meta",children:[e.jsx("span",{className:"publish-chip publish-chip--rarity",children:n.rarity}),e.jsx("span",{className:"publish-card__supply",children:a("myAssets.available",{count:n.remainingSupply})})]}),e.jsx("button",{className:"btn btn--sm btn--purple publish-card__cta",onClick:p=>{p.stopPropagation(),M("Shop Started Listing",{listing_type:"primary",item_id:n.blockchainItemId}),I(n)},children:a("myAssets.putOnSale")})]},`${n.contractAddress}-${n.blockchainItemId}`))})]},t.id))]})]}),v?e.jsx(Ts,{asset:v,session:s,onClose:()=>N(null)}):null,u?e.jsx(Fs,{item:u,session:s,onClose:()=>I(null)}):null]}):e.jsxs("section",{className:"myassets",children:[e.jsx("h1",{children:a("nav.myAssets")}),e.jsx("p",{className:"muted",children:a("myAssets.signInPrompt")}),e.jsx("div",{className:"connect-row",children:e.jsx("button",{className:"btn btn--purple",onClick:()=>r(),children:a("storeSettings.signIn")})}),e.jsx($,{message:i})]})}export{ae as MyAssets};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as n,j as s,L as c}from"./react-yytiy0wi.js";import{a as m,t,c as l,A as d}from"./index-CDzDnyJW.js";import{L as p}from"./LoadMore-BIjeTH4T.js";import"./dcl-schemas-BICTSpB5.js";import"./sentry-BPJvc5GU.js";import"./ethers-w2AslR0v.js";import"./intl-CBcMB1D2.js";const r=24;function N(){m({title:t("nav.myFavorites"),noindex:!0});const a=l(e=>Object.values(e.items)),[i,o]=n.useState(r);return a.length===0?s.jsxs("div",{className:"favorites-empty",children:[s.jsx("span",{className:"ico ico-heart favorites-empty__ico","aria-hidden":!0}),s.jsx("p",{className:"favorites-empty__title",children:t("myFavorites.emptyTitle")}),s.jsx("p",{className:"muted",children:t("myFavorites.emptyBody")}),s.jsx(c,{className:"btn btn--purple",to:"/assets",children:t("notFound.cta")})]}):s.jsxs("section",{className:"favorites",children:[s.jsxs("div",{className:"favorites__head",children:[s.jsx("h1",{children:t("nav.myFavorites")}),s.jsx("span",{className:"favorites__count",children:t("myFavorites.itemCount",{count:a.length})})]}),s.jsx("div",{className:"grid",children:a.slice(0,i).map(e=>s.jsx(d,{item:e},e.id))}),s.jsx(p,{hasNextPage:i<a.length,isFetching:!1,onLoadMore:()=>o(e=>e+r)})]})}export{N as MyFavorites};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{j as s,L as h}from"./react-yytiy0wi.js";import{a as l,t as r,d as o,e as p,g as x,C as _,h as j}from"./index-CDzDnyJW.js";import{L as N}from"./LoadMore-BIjeTH4T.js";import{u as y}from"./useInfiniteGrid-gL0KJ-yb.js";import"./dcl-schemas-BICTSpB5.js";import"./sentry-BPJvc5GU.js";import"./ethers-w2AslR0v.js";import"./intl-CBcMB1D2.js";const g=24;function f(e){try{return new Date(e).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric"})}catch{return""}}function P({status:e}){return e==="PENDING"?s.jsx("span",{className:"purchase__badge purchase__badge--pending",children:r("myPurchases.processing")}):s.jsx("span",{className:"purchase__badge purchase__badge--done",children:r("myPurchases.completed")})}function v({purchase:e}){const{data:a}=x({queryKey:["trade-display",e.tradeId],queryFn:()=>j(e.tradeId),enabled:!!e.tradeId,staleTime:3e5}),c=(a==null?void 0:a.name)??r("myPurchases.itemFallback"),m=(a==null?void 0:a.thumbnail)??"",i=(a==null?void 0:a.tokenId)??(a==null?void 0:a.itemId)??"",d=a!=null&&a.contractAddress&&i?`/item/${a.contractAddress}/${i}`:void 0,n=s.jsxs(s.Fragment,{children:[s.jsx("div",{className:"purchase__thumb",children:m?s.jsx("img",{src:m,alt:c}):null}),s.jsxs("div",{className:"purchase__info",children:[s.jsx("div",{className:"purchase__name",title:c,children:c}),s.jsx("div",{className:"muted purchase__date",children:f(e.createdAt)})]}),s.jsx(P,{status:e.status}),s.jsxs("div",{className:"purchase__price",children:[s.jsx(_,{className:"ccy-mark"})," ",e.credits]})]});return d?s.jsx(h,{className:"purchase",to:d,children:n}):s.jsx("div",{className:"purchase",children:n})}function S(){l({title:r("nav.myPurchases"),noindex:!0});const{session:e}=o(),{items:a,isLoading:c,hasNextPage:m,isFetchingNextPage:i,fetchNextPage:d}=y(["purchases",e==null?void 0:e.address],t=>p(e.address,e.identity,{first:g,skip:t}),{enabled:!!e});if(!e)return s.jsxs("div",{className:"purchases-empty",children:[s.jsx("span",{className:"ico ico-cart purchases-empty__ico","aria-hidden":!0}),s.jsx("p",{className:"purchases-empty__title",children:r("myPurchases.signInTitle")}),s.jsx("p",{className:"muted",children:r("myPurchases.signInBody")})]});const n=a.filter(t=>t.status!=="EXPIRED");return!c&&n.length===0?s.jsxs("div",{className:"purchases-empty",children:[s.jsx("span",{className:"ico ico-cart purchases-empty__ico","aria-hidden":!0}),s.jsx("p",{className:"purchases-empty__title",children:r("myPurchases.emptyTitle")}),s.jsx("p",{className:"muted",children:r("myPurchases.emptyBody")}),s.jsx(h,{className:"btn btn--purple",to:"/assets",children:r("notFound.cta")})]}):s.jsxs("section",{className:"purchases",children:[s.jsxs("div",{className:"purchases__head",children:[s.jsx("h1",{children:r("nav.myPurchases")}),c?null:s.jsx("span",{className:"purchases__count",children:r("myPurchases.orderCount",{count:n.length})})]}),s.jsx("div",{className:"purchases__list",children:c?Array.from({length:4}).map((t,u)=>s.jsx("div",{className:"purchase purchase--skeleton"},u)):s.jsxs(s.Fragment,{children:[n.map(t=>s.jsx(v,{purchase:t},t.id)),i?Array.from({length:2}).map((t,u)=>s.jsx("div",{className:"purchase purchase--skeleton"},`m-${u}`)):null]})}),s.jsx(N,{hasNextPage:m,isFetching:i,onLoadMore:()=>void d()})]})}export{S as MyPurchases};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{j as t,L as n}from"./react-yytiy0wi.js";import{a as s,t as o}from"./index-CDzDnyJW.js";import"./dcl-schemas-BICTSpB5.js";import"./sentry-BPJvc5GU.js";import"./ethers-w2AslR0v.js";import"./intl-CBcMB1D2.js";function c(){return s({title:o("seo.notFound.title"),noindex:!0}),t.jsxs("div",{className:"notfound",children:[t.jsx("span",{className:"ico ico-cart notfound__ico","aria-hidden":!0}),t.jsx("h1",{className:"notfound__title",children:o("notFound.title")}),t.jsx("p",{className:"muted",children:o("notFound.body")}),t.jsx(n,{className:"btn btn--purple",to:"/assets",children:o("notFound.cta")})]})}export{c as NotFound,c as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{j as s,a as W,r as i,L as X}from"./react-yytiy0wi.js";import{t as a,a as Z,d as ee,u as se,ac as T}from"./index-CDzDnyJW.js";import{u as te,d as ae,t as re,L as ne,i as I,a as v,s as ie}from"./useStore-BXbR3Zt_.js";import{E as M}from"./ErrorNotice-Rze9rgc9.js";import"./dcl-schemas-BICTSpB5.js";import"./sentry-BPJvc5GU.js";import"./ethers-w2AslR0v.js";import"./intl-CBcMB1D2.js";const oe="https://cdn.decentraland.org/@dcl/shop/0.1.0-29736515487.commit-b64bf82/assets/template-cover-1-BETekfHg.jpeg",le="https://cdn.decentraland.org/@dcl/shop/0.1.0-29736515487.commit-b64bf82/assets/template-cover-2-Dni9s0i_.jpeg",ce=Object.assign({"../assets/creator-covers/template-cover-1.jpeg":oe,"../assets/creator-covers/template-cover-2.jpeg":le}),f=Object.entries(ce).sort(([r],[d])=>r.localeCompare(d)).map(([r,d])=>({name:r.split("/").pop(),url:d}));function de({label:r,size:d="medium",direction:b="column",className:h}){return s.jsxs("div",{className:`spinner-box spinner-box--${b}${h?` ${h}`:""}`,role:"status","aria-live":"polite","aria-label":r?void 0:a("spinner.loading"),children:[s.jsx("span",{className:`spinner-box__ring spinner-box__ring--${d}`,"aria-hidden":!0}),r?s.jsx("span",{className:"spinner-box__label",children:r}):null]})}const O=1e6,R={cover:"",coverName:"",coverHash:"",description:"",links:{website:"",twitter:"",discord:"",facebook:""}};function z(r){return`${(r/1e6).toLocaleString(void 0,{maximumFractionDigits:2})}MB`}function be(){Z({title:a("seo.storeSettings.title"),noindex:!0});const{session:r,signIn:d}=ee(),b=W(),h=se(),c=r==null?void 0:r.address,{data:x,isLoading:A}=te(c),[n,u]=i.useState(R),[E,w]=i.useState(R),[j,g]=i.useState(),[p,C]=i.useState(!1),[o,N]=i.useState(null),[_,D]=i.useState({}),L=i.useRef(null);i.useEffect(()=>{if(x){const e=ae(x);u(e),w(e),g(void 0),N(e.cover?{url:e.cover,name:e.coverName,hash:e.coverHash}:null)}},[x]),i.useEffect(()=>{let e=!1;return Promise.all(f.map(async t=>[t.name,await re(t.url)])).then(t=>{e||D(Object.fromEntries(t))}).catch(()=>{}),()=>{e=!0}},[]);const S=i.useMemo(()=>{const e=f.find(l=>n.coverName===`cover/${l.name}`);if(e)return e.name;const t=n.coverHash?f.find(l=>_[l.name]===n.coverHash):void 0;return t==null?void 0:t.name},[n.coverName,n.coverHash,_]);i.useEffect(()=>{o!=null&&o.hash&&f.some(e=>_[e.name]===o.hash)&&N(null)},[_,o]);const $=j!==void 0&&j>O,P=i.useMemo(()=>ne.filter(e=>!I(e,n.links[e])),[n.links]),F=$||P.length>0,k=i.useMemo(()=>JSON.stringify(n)!==JSON.stringify(E),[n,E]),B=k&&!F&&!p;if(i.useEffect(()=>{if(!k)return;const e=t=>{t.preventDefault()};return window.addEventListener("beforeunload",e),()=>window.removeEventListener("beforeunload",e)},[k]),!r)return s.jsxs("section",{className:"store-settings store-settings--signin","aria-label":a("storeSettings.title"),children:[s.jsx("h1",{className:"store-settings__title",children:a("storeSettings.title")}),s.jsx("p",{className:"muted",children:a("storeSettings.signInPrompt")}),s.jsx("button",{className:"btn btn--purple store-settings__signin-btn",onClick:d,children:a("storeSettings.signIn")})]});function V(e,t){g(void 0),u(l=>({...l,cover:t,coverName:`cover/${e}`,coverHash:""}))}const Y=["image/png","image/jpeg","image/webp"];function K(e){var y;const t=(y=e.target.files)==null?void 0:y[0];if(!t||!Y.includes(t.type))return;g(t.size);const l=`cover/${t.name}`,m=new FileReader;m.onload=()=>{const H=m.result;N({url:H,name:l,hash:""}),u(U=>({...U,cover:H,coverName:l,coverHash:""}))},m.readAsDataURL(t)}function q(){o&&(g(void 0),u(e=>({...e,cover:o.url,coverName:o.name,coverHash:o.hash})))}function G(e,t){const l=t?(v[e]+t).replace(/\s/g,""):"";u(m=>({...m,links:{...m.links,[e]:l}}))}function J(e){const t=n.links[e];return e==="website"?t:t.replace(v[e],"")}async function Q(){if(!(!c||!r)){C(!0);try{await ie(c,n,r.identity),w(n),g(void 0),await h.invalidateQueries({queryKey:["store",c.toLowerCase()]}),T.success(a("storeSettings.saved")),b(`/assets/creator/${c}`)}catch{T.error(a("storeSettings.saveError"))}finally{C(!1)}}}return s.jsxs("section",{className:"store-settings","aria-label":a("storeSettings.title"),children:[s.jsxs("div",{className:"store-settings__head",children:[s.jsxs("div",{className:"store-settings__heading",children:[c?s.jsx(X,{className:"store-settings__back",to:`/assets/creator/${c}`,title:a("storeSettings.back"),"aria-label":a("storeSettings.back"),children:s.jsx("span",{className:"ico ico-arrow-left","aria-hidden":!0})}):null,s.jsx("h1",{className:"store-settings__title",children:a("storeSettings.title")})]}),c?s.jsxs("a",{className:"store-settings__guest",href:`/assets/creator/${c}`,target:"_blank",rel:"noopener noreferrer",children:[a("storeSettings.seeAsGuest"),s.jsx("span",{className:"ico ico-external","aria-hidden":!0})]}):null]}),A?s.jsx(de,{size:"large",label:a("storeSettings.loading"),className:"store-settings__loading"}):s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"field",children:[s.jsx("span",{className:"field__label",children:a("storeSettings.cover")}),s.jsxs("div",{className:"cover-picker",role:"group","aria-label":a("storeSettings.cover"),children:[f.map(e=>{const t=S===e.name;return s.jsx("button",{type:"button",className:`cover-picker__tile${t?" is-selected":""}`,"aria-pressed":t,onClick:()=>V(e.name,e.url),children:s.jsx("img",{src:e.url,alt:"",loading:"lazy"})},e.name)}),o?s.jsx("button",{type:"button",className:`cover-picker__tile cover-picker__tile--custom${S?"":" is-selected"}`,"aria-pressed":!S,onClick:q,children:s.jsx("img",{src:o.url,alt:""})}):null,s.jsxs("button",{type:"button",className:"cover-picker__tile cover-picker__upload",onClick:()=>{var e;return(e=L.current)==null?void 0:e.click()},children:[s.jsx("span",{className:"ico ico-upload","aria-hidden":!0}),s.jsx("span",{children:a("storeSettings.upload")})]}),s.jsx("input",{ref:L,type:"file",accept:"image/png, image/jpeg, image/webp",className:"cover-picker__input",onChange:K})]}),$?s.jsx(M,{message:a("storeSettings.sizeError",{max:z(O),current:z(j)})}):null]}),s.jsxs("label",{className:"field",children:[s.jsx("span",{className:"field__label",children:a("storeSettings.description")}),s.jsx("textarea",{value:n.description,rows:4,disabled:p,onChange:e=>u(t=>({...t,description:e.target.value}))})]}),s.jsxs("label",{className:"field",children:[s.jsx("span",{className:"field__label",children:a("storeSettings.website")}),s.jsx("input",{type:"url",value:n.links.website,placeholder:v.website,disabled:p,onChange:e=>u(t=>({...t,links:{...t.links,website:e.target.value.replace(/\s/g,"")}}))}),I("website",n.links.website)?null:s.jsx(M,{message:a("storeSettings.linkError",{value:v.website})})]}),["twitter","discord","facebook"].map(e=>s.jsxs("label",{className:"field",children:[s.jsx("span",{className:"field__label",children:a(`storeSettings.${e}`)}),s.jsxs("div",{className:"field__prefixed",children:[s.jsx("span",{className:"field__prefix",children:v[e]}),s.jsx("input",{type:"text",value:J(e),disabled:p,onChange:t=>G(e,t.target.value)})]})]},e)),s.jsx("div",{className:"store-settings__actions",children:s.jsx("button",{className:"btn btn--purple store-settings__save",onClick:()=>void Q(),disabled:!B,children:p?a("storeSettings.saving"):a("storeSettings.save")})})]})]})}export{be as StoreSettings,be as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{j as s,b as E,a as F,N as $,r as w}from"./react-yytiy0wi.js";import{t as e,d as C,F as B,a as O,G as W,H as R,I as L,J as M,K as U,W as A,j as g,L as z}from"./index-CDzDnyJW.js";import{d as x}from"./dcl-schemas-BICTSpB5.js";import{s as H}from"./wallet-kind-B9P1TeIH.js";import{w as J,S as K}from"./buy-gasless-DaSij0O9.js";import"./sentry-BPJvc5GU.js";import"./ethers-w2AslR0v.js";import"./intl-CBcMB1D2.js";import"./trade-encoding-6ejU5fQD.js";import"./index-HN6Rk25C.js";function V(){return s.jsxs("div",{className:"success-anim",role:"img","aria-label":e("successAnimation.label"),children:[s.jsxs("svg",{className:"success-anim__svg",viewBox:"0 0 120 120",children:[s.jsx("circle",{className:"success-anim__ring",cx:"60",cy:"60",r:"54"}),s.jsx("path",{className:"success-anim__check",d:"M37 61 l16 16 l30 -34"})]}),s.jsx("span",{className:"success-anim__spark success-anim__spark--1","aria-hidden":!0,children:"✦"}),s.jsx("span",{className:"success-anim__spark success-anim__spark--2","aria-hidden":!0,children:"✦"}),s.jsx("span",{className:"success-anim__spark success-anim__spark--3","aria-hidden":!0,children:"◈"}),s.jsx("span",{className:"success-anim__spark success-anim__spark--4","aria-hidden":!0,children:"✦"})]})}const X=a=>new Promise(c=>setTimeout(c,a));function G(a,c){const[t,d]=w.useState(a?"pending":"confirmed"),u=c?`${c.owner}-${c.contractAddress}-${c.itemId}`:"";return w.useEffect(()=>{if(!a)return;let i=!1;return(async()=>{let p=!1;for(let r=0;r<20&&!i;r++)try{await J(a,{timeoutMs:15e3}),p=!0;break}catch(n){if(n instanceof K)continue;i||d("failed");return}if(!i){if(!p){d("timed-out");return}if(!c){d("confirmed");return}d("indexing");for(let r=0;r<40&&!i;r++){if(await z(c.owner,c.contractAddress,c.itemId)){i||d("confirmed");return}await X(3e3)}i||d("timed-out")}})(),()=>{i=!0}},[a,u]),t}const q=g.chainId===80002?"https://decentraland.zone/jump":"https://decentraland.org/jump",f=g.chainId===80002?"https://amoy.polygonscan.com/tx/":"https://polygonscan.com/tx/";function rs(){const{state:a}=E(),c=F(),{session:t}=C(),{data:d}=B(t==null?void 0:t.address),u=a==null?void 0:a.txHash,i=(a==null?void 0:a.items)??[],o=i[0],p=t!=null&&t.address&&(o!=null&&o.contractAddress)&&(o!=null&&o.itemId)?{owner:t.address,contractAddress:o.contractAddress,itemId:o.itemId}:null,r=G(u,p);O({title:e("seo.success.title"),noindex:!0});const n=i;if(n.length===0)return s.jsx($,{to:"/assets",replace:!0});const h=n[0],j=n.filter(l=>l.category!=="emote"),S=n.find(l=>l.category==="emote")??null,b=j.map(W).filter(l=>!!l),v=R(d),P=!!v&&j.every(l=>L(l,v)),T=M(j)??v??U,k=!!(t!=null&&t.address)&&P,y=k?t.address:"default",I=k?void 0:T,m=S??h,N=m.category==="emote",_=!!u&&H(t==null?void 0:t.providerType);return s.jsxs("div",{className:"success",children:[s.jsx("div",{className:"success__preview",children:b.length>0?s.jsx(A,{profile:y,bodyShape:I,urns:b,type:x.PreviewType.AVATAR,emote:x.PreviewEmote.FASHION,background:"ecebed",dev:g.chainId===80002},h.id):s.jsx(A,{contractAddress:m.contractAddress,tokenId:m.tokenId??void 0,itemId:m.tokenId?void 0:m.itemId??void 0,profile:y,bodyShape:N?void 0:I,type:N?void 0:x.PreviewType.AVATAR,emote:N?void 0:x.PreviewEmote.FASHION,background:"ecebed",dev:g.chainId===80002},m.id)}),s.jsx("div",{className:"success__panel",children:r==="pending"||r==="indexing"?s.jsxs(s.Fragment,{children:[s.jsx("span",{className:"spinner success__spinner","aria-hidden":!0}),s.jsx("h1",{className:"success__title",children:r==="indexing"?e("success.finalizing"):e("success.processing")}),s.jsx("p",{className:"success__sub",children:r==="indexing"?s.jsxs(s.Fragment,{children:[e("success.indexingBefore")," ",n.length===1?s.jsx("strong",{children:h.name}):e("success.itemCount",{count:n.length})," ",e("success.indexingAfter")]}):s.jsxs(s.Fragment,{children:[e("success.confirmingBefore")," ",n.length===1?s.jsx("strong",{children:h.name}):e("success.itemCount",{count:n.length})," ",e("success.confirmingAfter")]})}),_?s.jsx("div",{className:"success__links",children:s.jsx("a",{className:"success__receipt",href:`${f}${u}`,target:"_blank",rel:"noreferrer",children:e("success.viewTransaction")})}):null]}):r==="timed-out"?s.jsxs(s.Fragment,{children:[s.jsx("h1",{className:"success__title",children:e("success.stillProcessingTitle")}),s.jsxs("p",{className:"success__sub",children:[e("success.timedOutBefore")," ",s.jsx("button",{className:"link",onClick:()=>c("/my-purchases"),children:e("nav.myPurchases")})," ",e("success.timedOutAfter")]}),s.jsx("div",{className:"success__links",children:_?s.jsx("a",{className:"success__receipt",href:`${f}${u}`,target:"_blank",rel:"noreferrer",children:e("success.viewTransaction")}):null}),s.jsxs("div",{className:"success__actions",children:[s.jsx("button",{className:"btn btn--purple",onClick:()=>c("/my-purchases"),children:e("success.viewMyPurchases")}),s.jsx("button",{className:"btn btn--ghost",onClick:()=>c("/assets"),children:e("success.keepShopping")})]})]}):r==="failed"?s.jsxs(s.Fragment,{children:[s.jsx("h1",{className:"success__title",children:e("success.failedTitle")}),s.jsx("p",{className:"success__sub",children:e("success.failedBody")}),s.jsx("div",{className:"success__links",children:_?s.jsx("a",{className:"success__receipt",href:`${f}${u}`,target:"_blank",rel:"noreferrer",children:e("success.viewTransaction")}):null}),s.jsx("div",{className:"success__actions",children:s.jsx("button",{className:"btn btn--purple",onClick:()=>c("/assets"),children:e("success.backToShop")})})]}):s.jsxs(s.Fragment,{children:[s.jsx(V,{}),s.jsx("h1",{className:"success__title",children:e("success.title")}),n.length===1?s.jsxs("p",{className:"success__sub",children:[s.jsx("strong",{children:h.name})," ",e("success.heroInWardrobe")]}):s.jsxs(s.Fragment,{children:[s.jsx("p",{className:"success__sub",children:e("success.itemsInWardrobe",{count:n.length})}),s.jsx("ul",{className:"success__list",children:n.map(l=>s.jsx("li",{children:l.name},l.id))})]}),s.jsxs("div",{className:"success__links",children:[s.jsx("button",{className:"success__receipt",onClick:()=>c("/my-purchases"),children:e("success.viewOrder")}),_?s.jsx("a",{className:"success__receipt",href:`${f}${u}`,target:"_blank",rel:"noreferrer",children:e("success.viewTransaction")}):null]}),s.jsxs("div",{className:"success__actions",children:[s.jsx("a",{className:"btn btn--purple",href:q,target:"_blank",rel:"noreferrer",children:e("success.useItInWorld")}),s.jsx("button",{className:"btn btn--ghost",onClick:()=>c("/assets"),children:e("success.keepShopping")})]})]})})]})}export{rs as Success,rs as default};
|
|
@@ -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-Bk3c0gmH.js";import{au as C}from"./NetworkUtil-CLSFaUe_.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-Bndo_4Rg.js";import{au as C}from"./NetworkUtil-CLSFaUe_.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 +1 @@
|
|
|
1
|
-
var Ce=Object.defineProperty;var Ie=(e,t,n)=>t in e?Ce(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var T=(e,t,n)=>Ie(e,typeof t!="symbol"?t+"":t,n);import{W as we,b as oe,C as Se,B as ve,f as ie}from"./ethers-w2AslR0v.js";import{p as Re,d as X}from"./dcl-schemas-BICTSpB5.js";import{c as ce}from"./react-yytiy0wi.js";import{aZ as Ne}from"./index-BLIz_7l9.js";import{O as Oe,M as Pe,D as be,a as ue,g as de}from"./index-HN6Rk25C.js";import{c as K,e as De}from"./index-f6fV1T8T.js";import"./sentry-BPJvc5GU.js";import"./intl-CBcMB1D2.js";import"./events-DQ172AOg.js";const Le="2d0335ab",Ue="0c53c51c",Fe="d8ed1acc",Me=ye("0x");let ke=0;async function je(e){let t=[];try{t=await q(e,"eth_requestAccounts",[])}catch{t=await q(e,"eth_accounts",[])}if(t.length===0)throw new Error("Could not find a valid connected account");return t[0]}async function $e(e,t,n){return q(e,"eth_signTypedData_v4",[t,n])}function He(e,t,n){const r=t.replace("0x",""),s=r.substring(0,64),i=r.substring(64,128),u=Ge(r.substring(128,130)),d=n.replace("0x",""),f=(d.length/2).toString(16),w=Math.ceil(d.length/64);return["0x",Ue,m(e),m("a0"),s,i,m(u),m(f),d.padEnd(64*w,"0")].join("")}function qe(e,t,n){const r=n.replace("0x",""),s=t.replace("0x",""),u=96+32+r.length/2,d=Math.ceil(s.length/64);return["0x",Fe,m(e),m("60"),m(u.toString(16)),m((r.length/2).toString(16)),r,m((s.length/2).toString(16)),s.padEnd(64*d,"0")].join("")}function Ge(e){let t=parseInt(e,16);if(t<27&&(t+=27),t!==27&&t!==28)throw Error(`Invalid signature version "${e}" (parsed: ${t})`);return t.toString(16)}async function Be(e,t,n){const r=m(t),s=await q(e,"eth_call",[{data:`0x${Le}${r}`,to:n},"latest"]);return m(s)}function Ve(e){return typeof e=="number"?`0x${m(e.toString(16))}`:`0x${m(e)}`}function Je(e,t){return q(e,"eth_getCode",[t.toLowerCase(),"latest"])}const We="0xef01";async function Ye(e,t){const n=await Je(e,t);return n.toLowerCase().startsWith(We)?!1:!Ze(n)}function ye(e){if(!/^0x[0-9a-f]*$/gi.test(e))throw new Error(`Not a valid hex string "${e}"`);let t=e.slice(2);for(;t.length<40;)t="0"+t;return"0x"+t}function Ze(e){return ye(e.toLowerCase())===Me}function m(e){return e.toString().replace("0x","").padStart(64,"0")}async function q(e,t,n){let r,s={jsonrpc:"2.0",id:++ke,method:t,params:n};if(e.request!==void 0?r=await e.request(s):e.sendAsync!==void 0?r=await e.sendAsync(s):e.send!==void 0&&(r=await e.send(t,n)),r)return r.result||r;throw new Error(`Could not send the transaction correcty. Either the provider does not support the method "${t}" or is missing a proper send/request.`)}function Xe(){return{serverURL:"https://transactions-api.decentraland.io/v1"}}var k;(function(e){e.UNKNOWN="unknown",e.DAPP_LIMIT_REACHED="dapp_limit_reached",e.USER_LIMIT_REACHED="user_limit_reached",e.API_LIMIT_REACHED="api_limit_reached",e.GAS_LIMIT_REACHED="gas_limit_reached",e.EXPECTATION_FAILED="expectation_failed",e.INVALID_TRANSACTION="invalid_transaction",e.INVALID_SCHEMA="invalid_schema",e.INVALID_CONTRACT_ADDRESS="invalid_contract_address",e.INVALID_ADDRESS="invalid_address",e.SALE_PRICE_TOO_LOW="sale_price_too_low",e.QUOTA_REACHED="quota_reached",e.CONTRACT_ACCOUNT="contract_account",e.HIGH_CONGESTION="high_congestion",e.USER_DENIED="user_denied"})(k||(k={}));class P extends Error{constructor(n,r){super(n);T(this,"code");this.code=r,Object.setPrototypeOf(this,P.prototype)}}async function Ke(e,t,n,r,s={}){const i={...Xe(),...s};if(!r.address.trim())throw new P(`The contract address for ${r.name} is empty. You're probably trying to get a proxy contract. Try adding an address to the result of getContract`,k.INVALID_ADDRESS);try{const u=await je(e);if(await Ye(e,u))throw new P("Contract accounts are not supported",k.CONTRACT_ACCOUNT);const d=r.abi.some(B=>{var V;return B.name==="executeMetaTransaction"&&((V=B.inputs)==null?void 0:V.some(W=>W.name==="_functionData"))}),f=await Be(t,u,r.address),w=Ve(r.chainId),I=Qe(w,r),D=ze(u,f,n,I,d),L=await $e(e,u,JSON.stringify(D)),G=(d?qe:He)(u,L,n),j=await fetch(`${i.serverURL}/transactions`,{headers:{"Content-Type":"application/json"},body:JSON.stringify({transactionData:{from:u,params:[r.address,G]}}),method:"POST"}),N=await j.json();if(N.ok===!1)throw N.message&&N.code?new P(N.message,N.code):new Error(`HTTP Error. Status: ${j.status}.`);return N.txHash}catch(u){const d=u;throw d instanceof P?d:d.message.indexOf("User denied message signature")!==-1?new P(d.message,k.USER_DENIED):(console.warn("An error occurred trying to send the meta transaction. Error:",d.message),new P(d.message,k.UNKNOWN))}}function ze(e,t,n,r,s=!1){return{types:{EIP712Domain:be,MetaTransaction:s?Oe:Pe},domain:r,primaryType:"MetaTransaction",message:{nonce:parseInt(t,16),from:e,...s?{functionData:n}:{functionSignature:n}}}}function Qe(e,t){return{name:t.name,version:t.version,verifyingContract:t.address,salt:e}}async function et(e){const t=await Ee();if(t){const n=await new we(t).getSigner().getChainId();if(e===n)return t}return K.createProvider(Re.ProviderType.NETWORK,e)}async function Ee(){try{return await K.getProvider()}catch{try{const{provider:e}=await K.tryPreviousConnection();return e}catch{return null}}}function le(e){return Math.floor(e/1e3)}function he(e){switch(e.assetType){case X.TradeAssetType.ERC721:return e.tokenId;case X.TradeAssetType.COLLECTION_ITEM:return e.itemId;case X.TradeAssetType.ERC20:return e.amount;default:return console.error("Invalid asset type:",e),""}}function tt(e){var t;return{checks:{uses:e.checks.uses,expiration:le(e.checks.expiration),effective:le(e.checks.effective),salt:oe(e.checks.salt,32),contractSignatureIndex:e.checks.contractSignatureIndex,signerSignatureIndex:e.checks.signerSignatureIndex,allowedRoot:oe(e.checks.allowedRoot,32),externalChecks:(t=e.checks.externalChecks)==null?void 0:t.map(n=>({contractAddress:n.contractAddress,selector:n.selector,value:n.value?n.value:"0x",required:n.required}))},sent:e.sent.map(n=>({assetType:n.assetType,contractAddress:n.contractAddress,value:he(n),extra:n.extra?n.extra:"0x"})),received:e.received.map(n=>({assetType:n.assetType,contractAddress:n.contractAddress,value:he(n),extra:n.extra?n.extra:"0x",beneficiary:n.beneficiary}))}}function fe(e,t){const n=tt(e);return{signer:e.signer,signature:e.signature,...n,checks:{...n.checks,allowedProof:[]},sent:n.sent.map(r=>({...r,beneficiary:t}))}}async function nt(e){const t=await e.request({method:"eth_chainId",params:[]});let n;return typeof t=="string"?n=parseInt(t,16):n=t,n}async function rt(e){const t=await et(e);return new we(t)}const b=new De.EventEmitter;var C;(function(e){e.ERROR="error",e.SUCCESS="success",e.PROMPT="prompt",e.ACCEPT="accept",e.REJECT="reject"})(C||(C={}));let at="https://transactions-api.decentraland.org/v1";const st=()=>at,ot=()=>new Promise((e,t)=>{const n=()=>{b.removeAllListeners(C.REJECT),e(!0)},r=()=>{b.removeAllListeners(C.ACCEPT),t(new Error("User rejected transaction"))};b.addListener(C.ACCEPT,n),b.addListener(C.REJECT,r)});async function pe(...e){const[t,n,...r]=e;try{const s=await Ee();if(!s)throw new Error("Provider not connected");const i=await nt(s),u=await rt(t.chainId),d=new Se(t.address,t.abi,u),f=await(typeof n=="function"?n(d.populateTransaction):d.populateTransaction[n](...r));if(i===t.chainId){const w=u.getSigner();if(s.isMagic||s.isThirdweb){let D=ve.from(0);try{const L=await w.getGasPrice(),U=await w.estimateGas(f);D=L.mul(U)}catch{}if(!D.isZero()){const L=ot(),U=await w.getBalance();b.emit(C.PROMPT,{transactionGasPrice:ie(D),userBalance:ie(U),chainId:t.chainId}),await L}}const I=await w.sendTransaction(f);return b.emit(C.SUCCESS,{txHash:I.hash}),I.hash}else{const w=await Ke(s,u,f.data,t,{serverURL:st()});return b.emit(C.SUCCESS,{txHash:w}),w}}catch(s){const i={type:C.ERROR,error:s};throw b.emit(C.ERROR,i),s}}var H={exports:{}};/*! https://mths.be/punycode v1.4.1 by @mathias */var it=H.exports,Te;function ct(){return Te||(Te=1,(function(e,t){(function(n){var r=t&&!t.nodeType&&t,s=e&&!e.nodeType&&e,i=typeof ce=="object"&&ce;(i.global===i||i.window===i||i.self===i)&&(n=i);var u,d=2147483647,f=36,w=1,I=26,D=38,L=700,U=72,G=128,j="-",N=/^xn--/,B=/[^\x20-\x7E]/,V=/[\x2E\u3002\uFF0E\uFF61]/g,W={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},Y=f-w,S=Math.floor,$=String.fromCharCode,J;function F(a){throw new RangeError(W[a])}function z(a,o){for(var c=a.length,l=[];c--;)l[c]=o(a[c]);return l}function Q(a,o){var c=a.split("@"),l="";c.length>1&&(l=c[0]+"@",a=c[1]),a=a.replace(V,".");var h=a.split("."),y=z(h,o).join(".");return l+y}function ee(a){for(var o=[],c=0,l=a.length,h,y;c<l;)h=a.charCodeAt(c++),h>=55296&&h<=56319&&c<l?(y=a.charCodeAt(c++),(y&64512)==56320?o.push(((h&1023)<<10)+(y&1023)+65536):(o.push(h),c--)):o.push(h);return o}function te(a){return z(a,function(o){var c="";return o>65535&&(o-=65536,c+=$(o>>>10&1023|55296),o=56320|o&1023),c+=$(o),c}).join("")}function _e(a){return a-48<10?a-22:a-65<26?a-65:a-97<26?a-97:f}function ne(a,o){return a+22+75*(a<26)-((o!=0)<<5)}function re(a,o,c){var l=0;for(a=c?S(a/L):a>>1,a+=S(a/o);a>Y*I>>1;l+=f)a=S(a/Y);return S(l+(Y+1)*a/(a+D))}function ae(a){var o=[],c=a.length,l,h=0,y=G,p=U,E,A,v,R,g,_,x,O,M;for(E=a.lastIndexOf(j),E<0&&(E=0),A=0;A<E;++A)a.charCodeAt(A)>=128&&F("not-basic"),o.push(a.charCodeAt(A));for(v=E>0?E+1:0;v<c;){for(R=h,g=1,_=f;v>=c&&F("invalid-input"),x=_e(a.charCodeAt(v++)),(x>=f||x>S((d-h)/g))&&F("overflow"),h+=x*g,O=_<=p?w:_>=p+I?I:_-p,!(x<O);_+=f)M=f-O,g>S(d/M)&&F("overflow"),g*=M;l=o.length+1,p=re(h-R,l,R==0),S(h/l)>d-y&&F("overflow"),y+=S(h/l),h%=l,o.splice(h++,0,y)}return te(o)}function se(a){var o,c,l,h,y,p,E,A,v,R,g,_=[],x,O,M,Z;for(a=ee(a),x=a.length,o=G,c=0,y=U,p=0;p<x;++p)g=a[p],g<128&&_.push($(g));for(l=h=_.length,h&&_.push(j);l<x;){for(E=d,p=0;p<x;++p)g=a[p],g>=o&&g<E&&(E=g);for(O=l+1,E-o>S((d-c)/O)&&F("overflow"),c+=(E-o)*O,o=E,p=0;p<x;++p)if(g=a[p],g<o&&++c>d&&F("overflow"),g==o){for(A=c,v=f;R=v<=y?w:v>=y+I?I:v-y,!(A<R);v+=f)Z=A-R,M=f-R,_.push($(ne(R+Z%M,0))),A=S(Z/M);_.push($(ne(A,0))),y=re(c,O,l==h),c=0,++l}++c,++o}return _.join("")}function Ae(a){return Q(a,function(o){return N.test(o)?ae(o.slice(4).toLowerCase()):o})}function xe(a){return Q(a,function(o){return B.test(o)?"xn--"+se(o):o})}if(u={version:"1.4.1",ucs2:{decode:ee,encode:te},decode:ae,encode:se,toASCII:xe,toUnicode:Ae},r&&s)if(e.exports==r)s.exports=u;else for(J in u)u.hasOwnProperty(J)&&(r[J]=u[J]);else n.punycode=u})(it)})(H,H.exports)),H.exports}ct();var me=(function(e){function t(){var r=this||self;return delete e.prototype.__magic__,r}if(typeof globalThis=="object")return globalThis;if(this)return t();e.defineProperty(e.prototype,"__magic__",{configurable:!0,get:t});var n=__magic__;return n})(Object),ut=me.URL;me.URLSearchParams;var dt={URL:ut};class ge extends Error{constructor(n,r,s){super(n);T(this,"status");T(this,"data");this.status=r,this.data=s}}const lt=3,ht=1e3,ft=[400,401,403,404,409,422],pt=(globalThis==null?void 0:globalThis.URL)??dt.URL;class Tt{constructor(t,n){T(this,"baseUrl");T(this,"retries");T(this,"retryDelay");T(this,"nonRetryableStatuses");T(this,"identity");T(this,"sleep",t=>new Promise(n=>{setTimeout(n,t)}));T(this,"getIdentity",()=>this.identity instanceof Function?this.identity():this.identity);T(this,"rawFetch",(t,n)=>{const r=new pt(t,this.baseUrl),s=(n==null?void 0:n.identity)??this.getIdentity();return Ne.signedFetchFactory()(r.toString(),{...n,identity:s})});T(this,"fetch",async(t,n)=>{for(let r=0;r<=this.retries;r++)try{let s,i;try{s=await this.rawFetch(t,n);const u=await s.text();u.length===0?i={ok:!0,data:null}:i=JSON.parse(u)}catch(u){throw new ge(u.message,void 0,null)}if(!s.ok||i.ok===!1){const u=i.message??i.error;throw new ge(u??`Request failed with status code ${s.status}`,s.status,i.data)}return i.ok===!0?i.data:i}catch(s){if(console.error(`[API] HTTP request failed: ${s.message||""}`,s),this.retries===r||s.status&&this.nonRetryableStatuses.includes(s.status))throw s;await this.sleep(this.retryDelay)}throw new Error("Unreachable code")});this.baseUrl=t,this.identity=n==null?void 0:n.identity,this.retries=(n==null?void 0:n.retries)??lt,this.retryDelay=(n==null?void 0:n.retryDelay)??ht,this.nonRetryableStatuses=(n==null?void 0:n.nonRetryableStatuses)??ft}}class gt extends Tt{constructor(n,r,s){super(r,s);T(this,"signer");T(this,"addTrade",async n=>this.fetch("/v1/trades",{method:"POST",body:JSON.stringify(n),metadata:{signer:this.signer,intent:"dcl:create-trade"},headers:{"Content-Type":"application/json"}}));T(this,"fetchTrade",async n=>this.fetch(`/v1/trades/${n}`,{method:"GET"}));this.signer=n}}class vt{constructor(t,n,r){T(this,"tradesAPI");this.tradesAPI=new gt(t,n,{identity:r,retries:0})}async addTrade(t){return this.tradesAPI.addTrade(t)}async fetchTrade(t){return this.tradesAPI.fetchTrade(t)}async accept(t,n){const r=ue(t.contract),s=de(r,t.chainId),i=fe(t,n);return pe(s,"accept",[i])}async cancel(t,n){const r=ue(t.contract),s=de(r,t.chainId),i=fe(t,n);return pe(s,"cancelSignature",[i])}}export{vt as TradeService};
|
|
1
|
+
var Ce=Object.defineProperty;var Ie=(e,t,n)=>t in e?Ce(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var T=(e,t,n)=>Ie(e,typeof t!="symbol"?t+"":t,n);import{W as we,b as oe,C as Se,B as ve,f as ie}from"./ethers-w2AslR0v.js";import{p as Re,d as X}from"./dcl-schemas-BICTSpB5.js";import{c as ce}from"./react-yytiy0wi.js";import{a_ as Ne}from"./index-CDzDnyJW.js";import{O as Oe,M as Pe,D as be,a as ue,g as de}from"./index-HN6Rk25C.js";import{c as K,e as De}from"./index-CnO86Xf-.js";import"./sentry-BPJvc5GU.js";import"./intl-CBcMB1D2.js";import"./events-DQ172AOg.js";const Le="2d0335ab",Ue="0c53c51c",Fe="d8ed1acc",Me=ye("0x");let ke=0;async function je(e){let t=[];try{t=await q(e,"eth_requestAccounts",[])}catch{t=await q(e,"eth_accounts",[])}if(t.length===0)throw new Error("Could not find a valid connected account");return t[0]}async function $e(e,t,n){return q(e,"eth_signTypedData_v4",[t,n])}function He(e,t,n){const r=t.replace("0x",""),s=r.substring(0,64),i=r.substring(64,128),u=Ge(r.substring(128,130)),d=n.replace("0x",""),f=(d.length/2).toString(16),w=Math.ceil(d.length/64);return["0x",Ue,m(e),m("a0"),s,i,m(u),m(f),d.padEnd(64*w,"0")].join("")}function qe(e,t,n){const r=n.replace("0x",""),s=t.replace("0x",""),u=96+32+r.length/2,d=Math.ceil(s.length/64);return["0x",Fe,m(e),m("60"),m(u.toString(16)),m((r.length/2).toString(16)),r,m((s.length/2).toString(16)),s.padEnd(64*d,"0")].join("")}function Ge(e){let t=parseInt(e,16);if(t<27&&(t+=27),t!==27&&t!==28)throw Error(`Invalid signature version "${e}" (parsed: ${t})`);return t.toString(16)}async function Be(e,t,n){const r=m(t),s=await q(e,"eth_call",[{data:`0x${Le}${r}`,to:n},"latest"]);return m(s)}function Ve(e){return typeof e=="number"?`0x${m(e.toString(16))}`:`0x${m(e)}`}function Je(e,t){return q(e,"eth_getCode",[t.toLowerCase(),"latest"])}const We="0xef01";async function Ye(e,t){const n=await Je(e,t);return n.toLowerCase().startsWith(We)?!1:!Ze(n)}function ye(e){if(!/^0x[0-9a-f]*$/gi.test(e))throw new Error(`Not a valid hex string "${e}"`);let t=e.slice(2);for(;t.length<40;)t="0"+t;return"0x"+t}function Ze(e){return ye(e.toLowerCase())===Me}function m(e){return e.toString().replace("0x","").padStart(64,"0")}async function q(e,t,n){let r,s={jsonrpc:"2.0",id:++ke,method:t,params:n};if(e.request!==void 0?r=await e.request(s):e.sendAsync!==void 0?r=await e.sendAsync(s):e.send!==void 0&&(r=await e.send(t,n)),r)return r.result||r;throw new Error(`Could not send the transaction correcty. Either the provider does not support the method "${t}" or is missing a proper send/request.`)}function Xe(){return{serverURL:"https://transactions-api.decentraland.io/v1"}}var k;(function(e){e.UNKNOWN="unknown",e.DAPP_LIMIT_REACHED="dapp_limit_reached",e.USER_LIMIT_REACHED="user_limit_reached",e.API_LIMIT_REACHED="api_limit_reached",e.GAS_LIMIT_REACHED="gas_limit_reached",e.EXPECTATION_FAILED="expectation_failed",e.INVALID_TRANSACTION="invalid_transaction",e.INVALID_SCHEMA="invalid_schema",e.INVALID_CONTRACT_ADDRESS="invalid_contract_address",e.INVALID_ADDRESS="invalid_address",e.SALE_PRICE_TOO_LOW="sale_price_too_low",e.QUOTA_REACHED="quota_reached",e.CONTRACT_ACCOUNT="contract_account",e.HIGH_CONGESTION="high_congestion",e.USER_DENIED="user_denied"})(k||(k={}));class P extends Error{constructor(n,r){super(n);T(this,"code");this.code=r,Object.setPrototypeOf(this,P.prototype)}}async function Ke(e,t,n,r,s={}){const i={...Xe(),...s};if(!r.address.trim())throw new P(`The contract address for ${r.name} is empty. You're probably trying to get a proxy contract. Try adding an address to the result of getContract`,k.INVALID_ADDRESS);try{const u=await je(e);if(await Ye(e,u))throw new P("Contract accounts are not supported",k.CONTRACT_ACCOUNT);const d=r.abi.some(B=>{var V;return B.name==="executeMetaTransaction"&&((V=B.inputs)==null?void 0:V.some(W=>W.name==="_functionData"))}),f=await Be(t,u,r.address),w=Ve(r.chainId),I=Qe(w,r),D=ze(u,f,n,I,d),L=await $e(e,u,JSON.stringify(D)),G=(d?qe:He)(u,L,n),j=await fetch(`${i.serverURL}/transactions`,{headers:{"Content-Type":"application/json"},body:JSON.stringify({transactionData:{from:u,params:[r.address,G]}}),method:"POST"}),N=await j.json();if(N.ok===!1)throw N.message&&N.code?new P(N.message,N.code):new Error(`HTTP Error. Status: ${j.status}.`);return N.txHash}catch(u){const d=u;throw d instanceof P?d:d.message.indexOf("User denied message signature")!==-1?new P(d.message,k.USER_DENIED):(console.warn("An error occurred trying to send the meta transaction. Error:",d.message),new P(d.message,k.UNKNOWN))}}function ze(e,t,n,r,s=!1){return{types:{EIP712Domain:be,MetaTransaction:s?Oe:Pe},domain:r,primaryType:"MetaTransaction",message:{nonce:parseInt(t,16),from:e,...s?{functionData:n}:{functionSignature:n}}}}function Qe(e,t){return{name:t.name,version:t.version,verifyingContract:t.address,salt:e}}async function et(e){const t=await Ee();if(t){const n=await new we(t).getSigner().getChainId();if(e===n)return t}return K.createProvider(Re.ProviderType.NETWORK,e)}async function Ee(){try{return await K.getProvider()}catch{try{const{provider:e}=await K.tryPreviousConnection();return e}catch{return null}}}function le(e){return Math.floor(e/1e3)}function he(e){switch(e.assetType){case X.TradeAssetType.ERC721:return e.tokenId;case X.TradeAssetType.COLLECTION_ITEM:return e.itemId;case X.TradeAssetType.ERC20:return e.amount;default:return console.error("Invalid asset type:",e),""}}function tt(e){var t;return{checks:{uses:e.checks.uses,expiration:le(e.checks.expiration),effective:le(e.checks.effective),salt:oe(e.checks.salt,32),contractSignatureIndex:e.checks.contractSignatureIndex,signerSignatureIndex:e.checks.signerSignatureIndex,allowedRoot:oe(e.checks.allowedRoot,32),externalChecks:(t=e.checks.externalChecks)==null?void 0:t.map(n=>({contractAddress:n.contractAddress,selector:n.selector,value:n.value?n.value:"0x",required:n.required}))},sent:e.sent.map(n=>({assetType:n.assetType,contractAddress:n.contractAddress,value:he(n),extra:n.extra?n.extra:"0x"})),received:e.received.map(n=>({assetType:n.assetType,contractAddress:n.contractAddress,value:he(n),extra:n.extra?n.extra:"0x",beneficiary:n.beneficiary}))}}function fe(e,t){const n=tt(e);return{signer:e.signer,signature:e.signature,...n,checks:{...n.checks,allowedProof:[]},sent:n.sent.map(r=>({...r,beneficiary:t}))}}async function nt(e){const t=await e.request({method:"eth_chainId",params:[]});let n;return typeof t=="string"?n=parseInt(t,16):n=t,n}async function rt(e){const t=await et(e);return new we(t)}const b=new De.EventEmitter;var C;(function(e){e.ERROR="error",e.SUCCESS="success",e.PROMPT="prompt",e.ACCEPT="accept",e.REJECT="reject"})(C||(C={}));let at="https://transactions-api.decentraland.org/v1";const st=()=>at,ot=()=>new Promise((e,t)=>{const n=()=>{b.removeAllListeners(C.REJECT),e(!0)},r=()=>{b.removeAllListeners(C.ACCEPT),t(new Error("User rejected transaction"))};b.addListener(C.ACCEPT,n),b.addListener(C.REJECT,r)});async function pe(...e){const[t,n,...r]=e;try{const s=await Ee();if(!s)throw new Error("Provider not connected");const i=await nt(s),u=await rt(t.chainId),d=new Se(t.address,t.abi,u),f=await(typeof n=="function"?n(d.populateTransaction):d.populateTransaction[n](...r));if(i===t.chainId){const w=u.getSigner();if(s.isMagic||s.isThirdweb){let D=ve.from(0);try{const L=await w.getGasPrice(),U=await w.estimateGas(f);D=L.mul(U)}catch{}if(!D.isZero()){const L=ot(),U=await w.getBalance();b.emit(C.PROMPT,{transactionGasPrice:ie(D),userBalance:ie(U),chainId:t.chainId}),await L}}const I=await w.sendTransaction(f);return b.emit(C.SUCCESS,{txHash:I.hash}),I.hash}else{const w=await Ke(s,u,f.data,t,{serverURL:st()});return b.emit(C.SUCCESS,{txHash:w}),w}}catch(s){const i={type:C.ERROR,error:s};throw b.emit(C.ERROR,i),s}}var H={exports:{}};/*! https://mths.be/punycode v1.4.1 by @mathias */var it=H.exports,Te;function ct(){return Te||(Te=1,(function(e,t){(function(n){var r=t&&!t.nodeType&&t,s=e&&!e.nodeType&&e,i=typeof ce=="object"&&ce;(i.global===i||i.window===i||i.self===i)&&(n=i);var u,d=2147483647,f=36,w=1,I=26,D=38,L=700,U=72,G=128,j="-",N=/^xn--/,B=/[^\x20-\x7E]/,V=/[\x2E\u3002\uFF0E\uFF61]/g,W={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},Y=f-w,S=Math.floor,$=String.fromCharCode,J;function F(a){throw new RangeError(W[a])}function z(a,o){for(var c=a.length,l=[];c--;)l[c]=o(a[c]);return l}function Q(a,o){var c=a.split("@"),l="";c.length>1&&(l=c[0]+"@",a=c[1]),a=a.replace(V,".");var h=a.split("."),y=z(h,o).join(".");return l+y}function ee(a){for(var o=[],c=0,l=a.length,h,y;c<l;)h=a.charCodeAt(c++),h>=55296&&h<=56319&&c<l?(y=a.charCodeAt(c++),(y&64512)==56320?o.push(((h&1023)<<10)+(y&1023)+65536):(o.push(h),c--)):o.push(h);return o}function te(a){return z(a,function(o){var c="";return o>65535&&(o-=65536,c+=$(o>>>10&1023|55296),o=56320|o&1023),c+=$(o),c}).join("")}function _e(a){return a-48<10?a-22:a-65<26?a-65:a-97<26?a-97:f}function ne(a,o){return a+22+75*(a<26)-((o!=0)<<5)}function re(a,o,c){var l=0;for(a=c?S(a/L):a>>1,a+=S(a/o);a>Y*I>>1;l+=f)a=S(a/Y);return S(l+(Y+1)*a/(a+D))}function ae(a){var o=[],c=a.length,l,h=0,y=G,p=U,E,A,v,R,g,_,x,O,M;for(E=a.lastIndexOf(j),E<0&&(E=0),A=0;A<E;++A)a.charCodeAt(A)>=128&&F("not-basic"),o.push(a.charCodeAt(A));for(v=E>0?E+1:0;v<c;){for(R=h,g=1,_=f;v>=c&&F("invalid-input"),x=_e(a.charCodeAt(v++)),(x>=f||x>S((d-h)/g))&&F("overflow"),h+=x*g,O=_<=p?w:_>=p+I?I:_-p,!(x<O);_+=f)M=f-O,g>S(d/M)&&F("overflow"),g*=M;l=o.length+1,p=re(h-R,l,R==0),S(h/l)>d-y&&F("overflow"),y+=S(h/l),h%=l,o.splice(h++,0,y)}return te(o)}function se(a){var o,c,l,h,y,p,E,A,v,R,g,_=[],x,O,M,Z;for(a=ee(a),x=a.length,o=G,c=0,y=U,p=0;p<x;++p)g=a[p],g<128&&_.push($(g));for(l=h=_.length,h&&_.push(j);l<x;){for(E=d,p=0;p<x;++p)g=a[p],g>=o&&g<E&&(E=g);for(O=l+1,E-o>S((d-c)/O)&&F("overflow"),c+=(E-o)*O,o=E,p=0;p<x;++p)if(g=a[p],g<o&&++c>d&&F("overflow"),g==o){for(A=c,v=f;R=v<=y?w:v>=y+I?I:v-y,!(A<R);v+=f)Z=A-R,M=f-R,_.push($(ne(R+Z%M,0))),A=S(Z/M);_.push($(ne(A,0))),y=re(c,O,l==h),c=0,++l}++c,++o}return _.join("")}function Ae(a){return Q(a,function(o){return N.test(o)?ae(o.slice(4).toLowerCase()):o})}function xe(a){return Q(a,function(o){return B.test(o)?"xn--"+se(o):o})}if(u={version:"1.4.1",ucs2:{decode:ee,encode:te},decode:ae,encode:se,toASCII:xe,toUnicode:Ae},r&&s)if(e.exports==r)s.exports=u;else for(J in u)u.hasOwnProperty(J)&&(r[J]=u[J]);else n.punycode=u})(it)})(H,H.exports)),H.exports}ct();var me=(function(e){function t(){var r=this||self;return delete e.prototype.__magic__,r}if(typeof globalThis=="object")return globalThis;if(this)return t();e.defineProperty(e.prototype,"__magic__",{configurable:!0,get:t});var n=__magic__;return n})(Object),ut=me.URL;me.URLSearchParams;var dt={URL:ut};class ge extends Error{constructor(n,r,s){super(n);T(this,"status");T(this,"data");this.status=r,this.data=s}}const lt=3,ht=1e3,ft=[400,401,403,404,409,422],pt=(globalThis==null?void 0:globalThis.URL)??dt.URL;class Tt{constructor(t,n){T(this,"baseUrl");T(this,"retries");T(this,"retryDelay");T(this,"nonRetryableStatuses");T(this,"identity");T(this,"sleep",t=>new Promise(n=>{setTimeout(n,t)}));T(this,"getIdentity",()=>this.identity instanceof Function?this.identity():this.identity);T(this,"rawFetch",(t,n)=>{const r=new pt(t,this.baseUrl),s=(n==null?void 0:n.identity)??this.getIdentity();return Ne.signedFetchFactory()(r.toString(),{...n,identity:s})});T(this,"fetch",async(t,n)=>{for(let r=0;r<=this.retries;r++)try{let s,i;try{s=await this.rawFetch(t,n);const u=await s.text();u.length===0?i={ok:!0,data:null}:i=JSON.parse(u)}catch(u){throw new ge(u.message,void 0,null)}if(!s.ok||i.ok===!1){const u=i.message??i.error;throw new ge(u??`Request failed with status code ${s.status}`,s.status,i.data)}return i.ok===!0?i.data:i}catch(s){if(console.error(`[API] HTTP request failed: ${s.message||""}`,s),this.retries===r||s.status&&this.nonRetryableStatuses.includes(s.status))throw s;await this.sleep(this.retryDelay)}throw new Error("Unreachable code")});this.baseUrl=t,this.identity=n==null?void 0:n.identity,this.retries=(n==null?void 0:n.retries)??lt,this.retryDelay=(n==null?void 0:n.retryDelay)??ht,this.nonRetryableStatuses=(n==null?void 0:n.nonRetryableStatuses)??ft}}class gt extends Tt{constructor(n,r,s){super(r,s);T(this,"signer");T(this,"addTrade",async n=>this.fetch("/v1/trades",{method:"POST",body:JSON.stringify(n),metadata:{signer:this.signer,intent:"dcl:create-trade"},headers:{"Content-Type":"application/json"}}));T(this,"fetchTrade",async n=>this.fetch(`/v1/trades/${n}`,{method:"GET"}));this.signer=n}}class vt{constructor(t,n,r){T(this,"tradesAPI");this.tradesAPI=new gt(t,n,{identity:r,retries:0})}async addTrade(t){return this.tradesAPI.addTrade(t)}async fetchTrade(t){return this.tradesAPI.fetchTrade(t)}async accept(t,n){const r=ue(t.contract),s=de(r,t.chainId),i=fe(t,n);return pe(s,"accept",[i])}async cancel(t,n){const r=ue(t.contract),s=de(r,t.chainId),i=fe(t,n);return pe(s,"cancelSignature",[i])}}export{vt as TradeService};
|