@dcl/shop 0.1.0-29337358135.commit-2e4bf7e → 0.1.0-29341264529.commit-3758d56

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.
Files changed (208) hide show
  1. package/assets/{AnimatedBackground-DimPo0o6.js → AnimatedBackground-fvzwNhlg.js} +3 -3
  2. package/assets/Assets-C2SMY4Wn.js +1 -0
  3. package/assets/Button-BMI2yWqO.js +74 -0
  4. package/assets/{Cart-DfisnztS.js → Cart-BzFXsMma.js} +1 -1
  5. package/assets/CircularProgress-Cjnyi6sF.js +28 -0
  6. package/assets/Collection-DeiH22k9.js +1 -0
  7. package/assets/{ConstantsUtil-CiDezLbv.js → ConstantsUtil-DrbbN8Db.js} +1 -1
  8. package/assets/{Creator-DXuvF7aY.js → Creator-BRKRY9NQ.js} +1 -1
  9. package/assets/{ExchangeController-DKuss9DL.js → ExchangeController-BsoPlnUg.js} +1 -1
  10. package/assets/GetCredits-Df0EJOrT.js +2 -0
  11. package/assets/{HelpersUtil-BIYA4n9B.js → HelpersUtil-CG8lWgZZ.js} +1 -1
  12. package/assets/ImportListings-DFJCBiyn.js +1 -0
  13. package/assets/ItemDetail-DiMc18RR.js +2 -0
  14. package/assets/{LoadMore-BOCtgPLI.js → LoadMore-7qZApSeo.js} +1 -1
  15. package/assets/{MenuItem-Ci7Oxa0S.js → MenuItem-BNFaj4bv.js} +2 -2
  16. package/assets/MyAssets-ChOIdS7f.js +1 -0
  17. package/assets/{MyFavorites-BzUnpL59.js → MyFavorites-dpxOF1kK.js} +1 -1
  18. package/assets/{MyPurchases-C-MppIV4.js → MyPurchases-Dg0Dl_Ff.js} +1 -1
  19. package/assets/{NetworkUtil-DDES604E.js → NetworkUtil-BI8jZwmc.js} +1 -1
  20. package/assets/{NotFound-stjqjmfW.js → NotFound-BplOnkUp.js} +1 -1
  21. package/assets/{RealCheckout-BXu8QwUw.js → RealCheckout-BRvLBHx9.js} +1 -1
  22. package/assets/{ShopFooterInner-Bw0tZ5jz.js → ShopFooterInner-Bk4iHJAH.js} +3 -3
  23. package/assets/{SkeletonCards-BysJEVmg.js → SkeletonCards-DSpqiDzZ.js} +1 -1
  24. package/assets/{Success-BmFgC1Fj.js → Success-DznSzYm_.js} +1 -1
  25. package/assets/{SwapController-Daflx-KH.js → SwapController-DUcM1Ja2.js} +1 -1
  26. package/assets/{TradeService-mwlprIfz.js → TradeService-CbUgwZEW.js} +1 -1
  27. package/assets/{W3MFrameProviderSingleton-OCCNZtGo.js → W3MFrameProviderSingleton-BS8u2E5h.js} +3 -3
  28. package/assets/{WebCryptoP256-DcxhTaIn.js → WebCryptoP256-BNECkcp8.js} +1 -1
  29. package/assets/{basic-DokGV68e.js → basic-ExMbnGJU.js} +1 -1
  30. package/assets/{biconomy-BFplpB0T.js → biconomy-DE4NulP5.js} +1 -1
  31. package/assets/{browser-DHYOtFa8.js → browser-D_5JuNNR.js} +1 -1
  32. package/assets/{browser-ponyfill-rND5WOqr.js → browser-ponyfill-ClcxEFdz.js} +1 -1
  33. package/assets/{buy-gasless-B5QPf-sE.js → buy-gasless-BCY1xiea.js} +1 -1
  34. package/assets/{buy-Cei5j8eO.js → buy-qZ6pCz4O.js} +1 -1
  35. package/assets/{ccip-38EHg6W8.js → ccip-BItjvNVe.js} +1 -1
  36. package/assets/{ccip-n6rH3sVb.js → ccip-Dc2Sl0Cx.js} +1 -1
  37. package/assets/{chains-Bk629xE3.js → chains-BsN0T6nV.js} +1 -1
  38. package/assets/{collection-dxCKqLM-.js → collection-DJ02EuIR.js} +1 -1
  39. package/assets/{common-CEkVtB9E.js → common-TfzpxC2l.js} +1 -1
  40. package/assets/{controller-DG_iRQPR.js → controller-RTLxVvZ6.js} +2 -2
  41. package/assets/{core-CIi4Ex77.js → core-DqO1PhnS.js} +4 -4
  42. package/assets/{custom-Cjfua0Ef.js → custom-BYzsjJ7t.js} +1 -1
  43. package/assets/{data-capture-DXahe72x.js → data-capture-DXHtqKgM.js} +1 -1
  44. package/assets/decimals-BKxae-RP.js +1 -0
  45. package/assets/{decimals-teeH97v6.js → decimals-CapXBEic.js} +1 -1
  46. package/assets/{detectExtension-DX1a8DfW.js → detectExtension-C019UiWG.js} +1 -1
  47. package/assets/{email-CPaGg29O.js → email-BDtokP8K.js} +1 -1
  48. package/assets/{embedded-wallet-BhVpPp0v.js → embedded-wallet-CpQg8tqs.js} +1 -1
  49. package/assets/emotion-styled.browser.esm-BhzSSuXb.js +1 -0
  50. package/assets/{engine-CwdwAsnd.js → engine-BQqxATpN.js} +1 -1
  51. package/assets/{estimate-l1-fee-BnSv7s_G.js → estimate-l1-fee-D-hSejEm.js} +1 -1
  52. package/assets/eth_estimateGas-Cu6PWoKP.js +1 -0
  53. package/assets/{eth_getStorageAt-DIueLfGz.js → eth_getStorageAt-r25nMq53.js} +1 -1
  54. package/assets/eth_getTransactionCount-IgHrxRqD.js +1 -0
  55. package/assets/{ethereum-CdeRZR9J.js → ethereum-A1QWZFDW.js} +1 -1
  56. package/assets/{ethers-JeCAM1sd.js → ethers-DXxh-eEm.js} +1 -1
  57. package/assets/{extractIPFS-BrP7LeOr.js → extractIPFS-WJH_KjST.js} +1 -1
  58. package/assets/{features-KCpkg70J.js → features-Df2C7VrE.js} +1 -1
  59. package/assets/{fetchTokenMetadata-ZA_LtwkO.js → fetchTokenMetadata-DQlS8SuK.js} +2 -2
  60. package/assets/{fortmatic-B9IU5L1m.js → fortmatic-Beo5lxXY.js} +1 -1
  61. package/assets/get-ecosystem-wallet-info-hp9qo9J3.js +1 -0
  62. package/assets/{getBalance-DGzGIvMz.js → getBalance-D4rmYxNh.js} +2 -2
  63. package/assets/{getInstalledModules-Bx09uT4y.js → getInstalledModules-C8Hva7AE.js} +1 -1
  64. package/assets/{getNFT-Zd5KGmRs.js → getNFT-CBawyAHj.js} +1 -1
  65. package/assets/{getNFT-tiy4hesk.js → getNFT-Dfj2l-Ch.js} +2 -2
  66. package/assets/{hashTypedData-CvnNX2YB.js → hashTypedData-BHGrMNK6.js} +1 -1
  67. package/assets/{hashTypedData-CtOt2WpE.js → hashTypedData-CM9F6RUI.js} +1 -1
  68. package/assets/{import-Ct60HkEi.js → import-Cx-OZqAE.js} +1 -1
  69. package/assets/{in-app-wallet-calls-nAqAaeZM.js → in-app-wallet-calls-Dch1hsg5.js} +1 -1
  70. package/assets/{index-CImDhWkL.js → index-42gEBfTi.js} +2 -2
  71. package/assets/{index-CtPBA1jA.js → index-48uPzbtE.js} +1 -1
  72. package/assets/{index-Ds5QdmMB.js → index-5E9VLIdh.js} +1 -1
  73. package/assets/{index-DXaR1qC5.js → index-9oav_WyD.js} +1 -1
  74. package/assets/index-B-jeDoF7.js +1 -0
  75. package/assets/{index-BKUufNAr.js → index-B0fp_BTU.js} +1 -1
  76. package/assets/{index-O4fffv47.js → index-BAWcl7uQ.js} +1 -1
  77. package/assets/{index-ClaWRN-y.js → index-BBL-hAHr.js} +1 -1
  78. package/assets/{index-OFpebMSe.js → index-BEVNPg7X.js} +3 -3
  79. package/assets/{index-BcyJUD4U.js → index-BOJUx2yW.js} +1 -1
  80. package/assets/{index-NMzNXj-b.js → index-BSCJHKfS.js} +1 -1
  81. package/assets/{index-Doasr1W7.js → index-BXvfWw1i.js} +1 -1
  82. package/assets/{index-CUREiiKP.js → index-BZvR1iax.js} +1 -1
  83. package/assets/{index-B8kuIs26.js → index-Ba8jdmry.js} +1 -1
  84. package/assets/{index-Bgq0v2Vw.js → index-Balk147I.js} +2 -2
  85. package/assets/{index-CSh-BHOv.js → index-BclUryz1.js} +1 -1
  86. package/assets/{index-BLmKUFKr.js → index-Bs_hiiN9.js} +1 -1
  87. package/assets/{index-CmJ_3H94.js → index-Buef3xrK.js} +1 -1
  88. package/assets/{index-Ca3Sav7N.js → index-BwpJa7L4.js} +1 -1
  89. package/assets/{index-C0sZ2G0D.js → index-BzjsXx68.js} +1 -1
  90. package/assets/{index-9GLN8yqL.js → index-C-qe8hE_.js} +1 -1
  91. package/assets/index-CIcEGlWj.js +1 -0
  92. package/assets/{index-ChvdYvQ4.js → index-CJ21qPJU.js} +1 -1
  93. package/assets/{index-CbNdOGip.js → index-CM1EzVrf.js} +1 -1
  94. package/assets/{index-CM4C6c3v.js → index-CN6e_bJW.js} +1 -1
  95. package/assets/{index-BTe18ABT.js → index-CQTErWBm.js} +1 -1
  96. package/assets/{index-DW9-slpM.js → index-CSZn1axc.js} +3 -3
  97. package/assets/{index-ChQKLd7_.js → index-CWDqSaNg.js} +1 -1
  98. package/assets/{index-CCamfLVz.js → index-CaVzt9Zg.js} +1 -1
  99. package/assets/{index-B_xrDWUL.js → index-Cc4Zz6Zy.js} +1 -1
  100. package/assets/{index-DGRE-ml6.js → index-Ccl-BImo.js} +1 -1
  101. package/assets/{index-U6KrdqpT.js → index-Ce01n-03.js} +1 -1
  102. package/assets/{index-t3MAsdpb.js → index-D6jFYOn4.js} +1 -1
  103. package/assets/{index-eOTACaIJ.js → index-DAZ3T5le.js} +1 -1
  104. package/assets/index-DBVEZzhi.js +4 -0
  105. package/assets/{index-D5Mm7yXQ.js → index-DGN5055N.js} +1 -1
  106. package/assets/{index-Zhfk6Aoz.js → index-DHzrcOiN.js} +1 -1
  107. package/assets/index-DIkXA0Hv.js +1 -0
  108. package/assets/{index-qVJufJAm.js → index-DJIAaV2A.js} +1 -1
  109. package/assets/{index-BFVyBGs8.js → index-DUfRRmta.js} +1 -1
  110. package/assets/{index-DvhSyBnM.js → index-Da42Ph0g.js} +2 -2
  111. package/assets/{index-U2hrSY35.js → index-DekR2YhX.js} +1 -1
  112. package/assets/{index-CqQ8Hs5j.js → index-Dit_Tadt.js} +1 -1
  113. package/assets/{index-xd5vYVHb.js → index-Dt4XXlAo.js} +1 -1
  114. package/assets/{index-T0IQCR4g.js → index-DzTAB8XM.js} +1 -1
  115. package/assets/{index-Bg4LriAo.js → index-FyW6lWdg.js} +1 -1
  116. package/assets/{index-CmD3WgD4.js → index-H3dPSebS.js} +1 -1
  117. package/assets/{index-Bt1JjNoo.js → index-K-cpVYNW.js} +1 -1
  118. package/assets/{index-Bqxd3bRY.js → index-KXOxVBmY.js} +1 -1
  119. package/assets/{index-fOgQisFj.css → index-Kb_kdzXZ.css} +1 -1
  120. package/assets/index-L5rl4tyv.js +103 -0
  121. package/assets/{index-Bz7iJIvj.js → index-Py7lPUfJ.js} +1 -1
  122. package/assets/{index-DZHh5kfE.js → index-VxjWNgq4.js} +1 -1
  123. package/assets/{index-B9fMKYcR.js → index-Z24VwtH-.js} +1 -1
  124. package/assets/{index-RyQIoZwA.js → index-aayYBIgE.js} +1 -1
  125. package/assets/index-g06cE3ON.js +1 -0
  126. package/assets/{index-CYwcDn0L.js → index-mRwFYme8.js} +2 -2
  127. package/assets/{index-CIpCj8f1.js → index-r-eIHibn.js} +1 -1
  128. package/assets/index-r9qogMtw.js +1 -0
  129. package/assets/{index-DssZGhOb.js → index-ue8m9AA_.js} +1 -1
  130. package/assets/{index.es-sLZupOx6.js → index.es-BpB0a1Th.js} +1 -1
  131. package/assets/{index.es-CBUy80x9.js → index.es-Dfabzma5.js} +4 -4
  132. package/assets/{index.es-1m0x5CpA.js → index.es-DhN91Wpt.js} +1 -1
  133. package/assets/{localBatchGatewayRequest-Bwch9V5u.js → localBatchGatewayRequest-k-UZ-HMO.js} +1 -1
  134. package/assets/{mana-rate-BrvfDold.js → mana-rate-GO2pCGLs.js} +1 -1
  135. package/assets/{native-C_y7cRlS.js → native-B9_hMdpy.js} +1 -1
  136. package/assets/network-QssBB6oI.js +1 -0
  137. package/assets/{networks-KNRT4yhl.js → networks-Cf-N-9Xq.js} +1 -1
  138. package/assets/{onramp-vni5tJjM.js → onramp-BGEfyVAt.js} +1 -1
  139. package/assets/{openzeppelin-Dm8mC4Oq.js → openzeppelin-Dqbxfcec.js} +1 -1
  140. package/assets/{ownerOf-lof10XBl.js → ownerOf-CljeAL21.js} +1 -1
  141. package/assets/{parseNft-COV0EcO6.js → parseNft-BC_5oKiz.js} +2 -2
  142. package/assets/{parseSignature-Dx8_igyj.js → parseSignature-CtI5iMV2.js} +1 -1
  143. package/assets/{parseSignature-DH_zPldG.js → parseSignature-V_kdzkxI.js} +3 -3
  144. package/assets/{pay-with-exchange-D7fz03Hw.js → pay-with-exchange-CZQdYVAY.js} +1 -1
  145. package/assets/{qr-overlay-B_s_8Smu.js → qr-overlay-BuM1P1vl.js} +3 -3
  146. package/assets/{react-Vu6nbGi5.js → react-CQ5qhqs6.js} +1 -1
  147. package/assets/{receive-Cm4r3Dka.js → receive-DmQKXpZf.js} +1 -1
  148. package/assets/{resolveImplementation-DG9O52l9.js → resolveImplementation-Bv53gP5B.js} +1 -1
  149. package/assets/{rpc-BA6d-g1R.js → rpc-BMKNIejp.js} +1 -1
  150. package/assets/{secp256k1-DqnVksGc.js → secp256k1--hQ4zJbr.js} +1 -1
  151. package/assets/{secp256k1-zTnesHEt.js → secp256k1-D-BnaYDw.js} +1 -1
  152. package/assets/{secp256k1-K3jrkFCF.js → secp256k1-D6E_Hi1m.js} +1 -1
  153. package/assets/{send-batch-transaction-D8RkjDD6.js → send-batch-transaction-Dz6j3z1q.js} +1 -1
  154. package/assets/{send-eip712-transaction-D224ueJ-.js → send-eip712-transaction-DjWFMOzt.js} +2 -2
  155. package/assets/{send-gasless-transaction-B_0JoAQE.js → send-gasless-transaction-CGFByKRT.js} +2 -2
  156. package/assets/{send-D-iD-Eqx.js → send-qU9iYsqh.js} +1 -1
  157. package/assets/{sendRawTransaction-CA5sPEMX.js → sendRawTransaction-B7PaRJhQ.js} +3 -3
  158. package/assets/{serializeTransaction-DoiqxhWF.js → serializeTransaction-BKFBSxXm.js} +1 -1
  159. package/assets/{session-proposal-gostBQZ3.js → session-proposal-B5Mu6CaX.js} +1 -1
  160. package/assets/{session-request-CTrIE5mc.js → session-request-C5RIloQJ.js} +2 -2
  161. package/assets/{sha256-DvVglGNs.js → sha256-CzoB8HGh.js} +1 -1
  162. package/assets/{signing-BNXs2XCn.js → signing-Ck4I48Ky.js} +5 -5
  163. package/assets/{socials-B0f9Npjf.js → socials-CjlOiNOa.js} +1 -1
  164. package/assets/{swaps-CrDXCLmL.js → swaps-DUV5kVh5.js} +1 -1
  165. package/assets/{thirdweb-BHHkLfZd.js → thirdweb-46ahlzaq.js} +3 -3
  166. package/assets/{totalSupply-OMptbxGo.js → totalSupply-juJGV40_.js} +1 -1
  167. package/assets/{trade-encoding-Dbk3clLx.js → trade-encoding-BnwDZb1r.js} +1 -1
  168. package/assets/{transactionReceipt-wg3yR0Lm.js → transactionReceipt-CjIrYUrd.js} +1 -1
  169. package/assets/{transactions-7oX42CZi.js → transactions-C4k8y4fS.js} +1 -1
  170. package/assets/useInfiniteGrid-BA-VoNAn.js +1 -0
  171. package/assets/{utils-BmX8TqzP.js → utils-CebgHLxz.js} +1 -1
  172. package/assets/{verifyHash-D-LCgkGR.js → verifyHash-CRPE73-q.js} +1 -1
  173. package/assets/{w3m-modal-ZsakVEYv.js → w3m-modal-CSsFueoj.js} +1 -1
  174. package/assets/{w3m-modal-BUd4eWHh.js → w3m-modal-DlKBtHap.js} +1 -1
  175. package/assets/{wait-for-tx-receipt-gZ6Dq1Eb.js → wait-for-tx-receipt-C6eRPabX.js} +1 -1
  176. package/assets/{wallet-kind-DtWrr4AZ.js → wallet-kind-BiP1tBJS.js} +1 -1
  177. package/assets/{wallets-C7iol5XW.js → wallets-DNThg_Tf.js} +6 -6
  178. package/assets/{web-connector-Dgg6xNHV.js → web-connector-Bsz2goeK.js} +3 -3
  179. package/assets/{writeContract-Bue8cAhq.js → writeContract-CQyj5ohz.js} +1 -1
  180. package/assets/{zora-sepolia-kNKNf7Kl.js → zora-sepolia-BXcKZl5q.js} +1 -1
  181. package/assets/{zoraTestnet-CrA1iIe2.js → zoraTestnet-D4vOnerF.js} +1 -1
  182. package/index.html +8 -8
  183. package/package.json +2 -2
  184. package/assets/Assets-0rXRECQy.js +0 -1
  185. package/assets/Button-C5iun1df.js +0 -74
  186. package/assets/CircularProgress-e_Dj0fmx.js +0 -28
  187. package/assets/Collection-CAJMA4Fe.js +0 -1
  188. package/assets/FilterBar-CdU8B66A.js +0 -1
  189. package/assets/GetCredits-DrLnYOdO.js +0 -2
  190. package/assets/ImportListings-CZkdcWaF.js +0 -1
  191. package/assets/ItemDetail-BMgOoWU8.js +0 -2
  192. package/assets/Market-B6NMpu2_.js +0 -1
  193. package/assets/MyAssets-DGLbKyUN.js +0 -1
  194. package/assets/SvgIcon-CBDCsycQ.js +0 -1
  195. package/assets/decimals-CN9Xxdem.js +0 -1
  196. package/assets/eth_estimateGas-Ds0QjpUA.js +0 -1
  197. package/assets/eth_getTransactionCount-joBCO4C6.js +0 -1
  198. package/assets/generateUtilityClasses-uRdMg1ON.js +0 -9
  199. package/assets/get-ecosystem-wallet-info-DezSaPim.js +0 -1
  200. package/assets/index-CKwxO0xv.js +0 -95
  201. package/assets/index-CLIR3TTD.js +0 -1
  202. package/assets/index-CQB-2hib.js +0 -1
  203. package/assets/index-CWxLUWXU.js +0 -4
  204. package/assets/index-CmIVXtjA.js +0 -1
  205. package/assets/index-GZKxkqGp.js +0 -1
  206. package/assets/index-l6x72Ai4.js +0 -1
  207. package/assets/network-DjfG_0s1.js +0 -1
  208. package/assets/useInfiniteGrid-D88R70KF.js +0 -1
@@ -1 +1 @@
1
- import{j as r}from"./react-Vu6nbGi5.js";function s({count:e=12}){return r.jsx(r.Fragment,{children:Array.from({length:e}).map((t,a)=>r.jsx("div",{className:"card card--skeleton","aria-hidden":!0},a))})}export{s as S};
1
+ import{j as r}from"./react-CQ5qhqs6.js";function s({count:e=12}){return r.jsx(r.Fragment,{children:Array.from({length:e}).map((t,a)=>r.jsx("div",{className:"card card--skeleton","aria-hidden":!0},a))})}export{s as S};
@@ -1 +1 @@
1
- import{j as s,d as A,a as P,N as E,r as b}from"./react-Vu6nbGi5.js";import{a as I,K as C,L as F,M as T,N as $,O as V,P as M,W as k,i as m,h as p}from"./index-CKwxO0xv.js";import{s as R}from"./wallet-kind-DtWrr4AZ.js";import{w as L,S as B}from"./buy-gasless-B5QPf-sE.js";import"./ethers-JeCAM1sd.js";import"./trade-encoding-Dbk3clLx.js";import"./index-NMzNXj-b.js";function O(){return s.jsxs("div",{className:"success-anim",role:"img","aria-label":"Purchase successful",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:"✦"})]})}function U(a){const[r,e]=b.useState(a?"pending":"confirmed");return b.useEffect(()=>{if(!a)return;let i=!1;return(async()=>{for(let n=0;n<20&&!i;n++)try{await L(a,{timeoutMs:15e3}),i||e("confirmed");return}catch(o){if(o instanceof B)continue;i||e("failed");return}i||e("timed-out")})(),()=>{i=!0}},[a]),r}const W=p.chainId===80002?"https://decentraland.zone/jump":"https://decentraland.org/jump",h=p.chainId===80002?"https://amoy.polygonscan.com/tx/":"https://polygonscan.com/tx/";function D(){const{state:a}=A(),r=P(),{session:e}=I(),{data:i}=C(e==null?void 0:e.address),n=a==null?void 0:a.txHash,o=U(n),t=(a==null?void 0:a.items)??[];if(t.length===0)return s.jsx(E,{to:"/assets",replace:!0});const d=t[0],_=t.filter(c=>c.category!=="emote"),y=t.find(c=>c.category==="emote")??null,g=_.map(F).filter(c=>!!c),x=T(i),w=!!x&&_.every(c=>$(c,x)),S=V(_)??x??M,f=!!(e!=null&&e.address)&&w,N=f?e.address:"default",v=f?void 0:S,l=y??d,j=l.category==="emote",u=!!n&&R(e==null?void 0:e.providerType);return s.jsxs("div",{className:"success",children:[s.jsx("div",{className:"success__preview",children:g.length>0?s.jsx(k,{profile:N,bodyShape:v,urns:g,type:m.PreviewType.AVATAR,emote:m.PreviewEmote.FASHION,background:"ecebed",dev:p.chainId===80002},d.id):s.jsx(k,{contractAddress:l.contractAddress,tokenId:l.tokenId??void 0,itemId:l.tokenId?void 0:l.itemId??void 0,profile:N,bodyShape:j?void 0:v,type:j?void 0:m.PreviewType.AVATAR,emote:j?void 0:m.PreviewEmote.FASHION,background:"ecebed",dev:p.chainId===80002},l.id)}),s.jsx("div",{className:"success__panel",children:o==="pending"?s.jsxs(s.Fragment,{children:[s.jsx("span",{className:"spinner success__spinner","aria-hidden":!0}),s.jsx("h1",{className:"success__title",children:"Processing your purchase…"}),s.jsxs("p",{className:"success__sub",children:["Confirming ",t.length===1?s.jsx("strong",{children:d.name}):`${t.length} items`," on-chain. This usually takes a few seconds — keep this tab open."]}),u?s.jsx("div",{className:"success__links",children:s.jsx("a",{className:"success__receipt",href:`${h}${n}`,target:"_blank",rel:"noreferrer",children:"View transaction ↗"})}):null]}):o==="timed-out"?s.jsxs(s.Fragment,{children:[s.jsx("h1",{className:"success__title",children:"Still processing…"}),s.jsxs("p",{className:"success__sub",children:["This is taking longer than usual to confirm. Your purchase may still complete — check"," ",s.jsx("button",{className:"link",onClick:()=>r("/my-purchases"),children:"My Purchases"})," in a few minutes to see the final status. No need to buy again."]}),s.jsx("div",{className:"success__links",children:u?s.jsx("a",{className:"success__receipt",href:`${h}${n}`,target:"_blank",rel:"noreferrer",children:"View transaction ↗"}):null}),s.jsxs("div",{className:"success__actions",children:[s.jsx("button",{className:"btn btn--purple",onClick:()=>r("/my-purchases"),children:"View my purchases"}),s.jsx("button",{className:"btn btn--ghost",onClick:()=>r("/assets"),children:"Keep shopping"})]})]}):o==="failed"?s.jsxs(s.Fragment,{children:[s.jsx("h1",{className:"success__title",children:"Your purchase didn’t go through"}),s.jsx("p",{className:"success__sub",children:"The transaction failed on-chain, so nothing was delivered. Your credits weren’t spent (any hold is released shortly) — you can try again."}),s.jsx("div",{className:"success__links",children:u?s.jsx("a",{className:"success__receipt",href:`${h}${n}`,target:"_blank",rel:"noreferrer",children:"View transaction ↗"}):null}),s.jsx("div",{className:"success__actions",children:s.jsx("button",{className:"btn btn--purple",onClick:()=>r("/assets"),children:"Back to shop"})})]}):s.jsxs(s.Fragment,{children:[s.jsx(O,{}),s.jsx("h1",{className:"success__title",children:"It’s yours!"}),t.length===1?s.jsxs("p",{className:"success__sub",children:[s.jsx("strong",{children:d.name})," is now in your wardrobe."]}):s.jsxs(s.Fragment,{children:[s.jsxs("p",{className:"success__sub",children:[t.length," items are now in your wardrobe."]}),s.jsx("ul",{className:"success__list",children:t.map(c=>s.jsx("li",{children:c.name},c.id))})]}),s.jsxs("div",{className:"success__links",children:[s.jsx("button",{className:"success__receipt",onClick:()=>r("/my-purchases"),children:"View order"}),u?s.jsx("a",{className:"success__receipt",href:`${h}${n}`,target:"_blank",rel:"noreferrer",children:"View transaction ↗"}):null]}),s.jsxs("div",{className:"success__actions",children:[s.jsx("a",{className:"btn btn--purple",href:W,target:"_blank",rel:"noreferrer",children:"Use it in-world"}),s.jsx("button",{className:"btn btn--ghost",onClick:()=>r("/assets"),children:"Keep shopping"})]})]})})]})}export{D as Success,D as default};
1
+ import{j as s,b as A,a as P,N as E,r as v}from"./react-CQ5qhqs6.js";import{c as I,L as C,M as F,N as T,O as $,P as V,Q as M,W as k,j as m,i as p}from"./index-L5rl4tyv.js";import{s as R}from"./wallet-kind-BiP1tBJS.js";import{w as L,S as B}from"./buy-gasless-BCY1xiea.js";import"./ethers-DXxh-eEm.js";import"./trade-encoding-BnwDZb1r.js";import"./index-BSCJHKfS.js";function O(){return s.jsxs("div",{className:"success-anim",role:"img","aria-label":"Purchase successful",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:"✦"})]})}function U(a){const[r,e]=v.useState(a?"pending":"confirmed");return v.useEffect(()=>{if(!a)return;let i=!1;return(async()=>{for(let n=0;n<20&&!i;n++)try{await L(a,{timeoutMs:15e3}),i||e("confirmed");return}catch(o){if(o instanceof B)continue;i||e("failed");return}i||e("timed-out")})(),()=>{i=!0}},[a]),r}const W=p.chainId===80002?"https://decentraland.zone/jump":"https://decentraland.org/jump",h=p.chainId===80002?"https://amoy.polygonscan.com/tx/":"https://polygonscan.com/tx/";function q(){const{state:a}=A(),r=P(),{session:e}=I(),{data:i}=C(e==null?void 0:e.address),n=a==null?void 0:a.txHash,o=U(n),t=(a==null?void 0:a.items)??[];if(t.length===0)return s.jsx(E,{to:"/assets",replace:!0});const d=t[0],_=t.filter(c=>c.category!=="emote"),y=t.find(c=>c.category==="emote")??null,g=_.map(F).filter(c=>!!c),x=T(i),w=!!x&&_.every(c=>$(c,x)),S=V(_)??x??M,f=!!(e!=null&&e.address)&&w,N=f?e.address:"default",b=f?void 0:S,l=y??d,j=l.category==="emote",u=!!n&&R(e==null?void 0:e.providerType);return s.jsxs("div",{className:"success",children:[s.jsx("div",{className:"success__preview",children:g.length>0?s.jsx(k,{profile:N,bodyShape:b,urns:g,type:m.PreviewType.AVATAR,emote:m.PreviewEmote.FASHION,background:"ecebed",dev:p.chainId===80002},d.id):s.jsx(k,{contractAddress:l.contractAddress,tokenId:l.tokenId??void 0,itemId:l.tokenId?void 0:l.itemId??void 0,profile:N,bodyShape:j?void 0:b,type:j?void 0:m.PreviewType.AVATAR,emote:j?void 0:m.PreviewEmote.FASHION,background:"ecebed",dev:p.chainId===80002},l.id)}),s.jsx("div",{className:"success__panel",children:o==="pending"?s.jsxs(s.Fragment,{children:[s.jsx("span",{className:"spinner success__spinner","aria-hidden":!0}),s.jsx("h1",{className:"success__title",children:"Processing your purchase…"}),s.jsxs("p",{className:"success__sub",children:["Confirming ",t.length===1?s.jsx("strong",{children:d.name}):`${t.length} items`," on-chain. This usually takes a few seconds — keep this tab open."]}),u?s.jsx("div",{className:"success__links",children:s.jsx("a",{className:"success__receipt",href:`${h}${n}`,target:"_blank",rel:"noreferrer",children:"View transaction ↗"})}):null]}):o==="timed-out"?s.jsxs(s.Fragment,{children:[s.jsx("h1",{className:"success__title",children:"Still processing…"}),s.jsxs("p",{className:"success__sub",children:["This is taking longer than usual to confirm. Your purchase may still complete — check"," ",s.jsx("button",{className:"link",onClick:()=>r("/my-purchases"),children:"My Purchases"})," in a few minutes to see the final status. No need to buy again."]}),s.jsx("div",{className:"success__links",children:u?s.jsx("a",{className:"success__receipt",href:`${h}${n}`,target:"_blank",rel:"noreferrer",children:"View transaction ↗"}):null}),s.jsxs("div",{className:"success__actions",children:[s.jsx("button",{className:"btn btn--purple",onClick:()=>r("/my-purchases"),children:"View my purchases"}),s.jsx("button",{className:"btn btn--ghost",onClick:()=>r("/assets"),children:"Keep shopping"})]})]}):o==="failed"?s.jsxs(s.Fragment,{children:[s.jsx("h1",{className:"success__title",children:"Your purchase didn’t go through"}),s.jsx("p",{className:"success__sub",children:"The transaction failed on-chain, so nothing was delivered. Your credits weren’t spent (any hold is released shortly) — you can try again."}),s.jsx("div",{className:"success__links",children:u?s.jsx("a",{className:"success__receipt",href:`${h}${n}`,target:"_blank",rel:"noreferrer",children:"View transaction ↗"}):null}),s.jsx("div",{className:"success__actions",children:s.jsx("button",{className:"btn btn--purple",onClick:()=>r("/assets"),children:"Back to shop"})})]}):s.jsxs(s.Fragment,{children:[s.jsx(O,{}),s.jsx("h1",{className:"success__title",children:"It’s yours!"}),t.length===1?s.jsxs("p",{className:"success__sub",children:[s.jsx("strong",{children:d.name})," is now in your wardrobe."]}):s.jsxs(s.Fragment,{children:[s.jsxs("p",{className:"success__sub",children:[t.length," items are now in your wardrobe."]}),s.jsx("ul",{className:"success__list",children:t.map(c=>s.jsx("li",{children:c.name},c.id))})]}),s.jsxs("div",{className:"success__links",children:[s.jsx("button",{className:"success__receipt",onClick:()=>r("/my-purchases"),children:"View order"}),u?s.jsx("a",{className:"success__receipt",href:`${h}${n}`,target:"_blank",rel:"noreferrer",children:"View transaction ↗"}):null]}),s.jsxs("div",{className:"success__actions",children:[s.jsx("a",{className:"btn btn--purple",href:W,target:"_blank",rel:"noreferrer",children:"Use it in-world"}),s.jsx("button",{className:"btn btn--ghost",onClick:()=>r("/assets"),children:"Keep shopping"})]})]})})]})}export{q as Success,q 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-OCCNZtGo.js";import{au as C}from"./NetworkUtil-DDES604E.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-BS8u2E5h.js";import{au as C}from"./NetworkUtil-BI8jZwmc.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 xe=Object.defineProperty;var Ie=(e,t,n)=>t in e?xe(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,c as oe,C as ve,B as Se,f as ie}from"./ethers-JeCAM1sd.js";import{ac as Re,ad as Ne,i as X,ae as Oe}from"./index-CKwxO0xv.js";import{c as ce}from"./react-Vu6nbGi5.js";import{O as Pe,M as be,D as De,a as ue,g as de}from"./index-NMzNXj-b.js";import"./network-DjfG_0s1.js";import{c as K,e as Le}from"./index-CImDhWkL.js";const Ue="2d0335ab",Fe="0c53c51c",Me="d8ed1acc",ke=ye("0x");let je=0;async function $e(e){let t=[];try{t=await H(e,"eth_requestAccounts",[])}catch{t=await H(e,"eth_accounts",[])}if(t.length===0)throw new Error("Could not find a valid connected account");return t[0]}async function qe(e,t,n){return H(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=Be(r.substring(128,130)),d=n.replace("0x",""),f=(d.length/2).toString(16),w=Math.ceil(d.length/64);return["0x",Fe,_(e),_("a0"),s,i,_(u),_(f),d.padEnd(64*w,"0")].join("")}function Ge(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",Me,_(e),_("60"),_(u.toString(16)),_((r.length/2).toString(16)),r,_((s.length/2).toString(16)),s.padEnd(64*d,"0")].join("")}function Be(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 Ve(e,t,n){const r=_(t),s=await H(e,"eth_call",[{data:`0x${Ue}${r}`,to:n},"latest"]);return _(s)}function Je(e){return typeof e=="number"?`0x${_(e.toString(16))}`:`0x${_(e)}`}function We(e,t){return H(e,"eth_getCode",[t.toLowerCase(),"latest"])}const Ye="0xef01";async function Ze(e,t){const n=await We(e,t);return n.toLowerCase().startsWith(Ye)?!1:!Xe(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 Xe(e){return ye(e.toLowerCase())===ke}function _(e){return e.toString().replace("0x","").padStart(64,"0")}async function H(e,t,n){let r,s={jsonrpc:"2.0",id:++je,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 Ke(){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 ze(e,t,n,r,s={}){const i={...Ke(),...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 $e(e);if(await Ze(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 Ve(t,u,r.address),w=Je(r.chainId),I=et(w,r),D=Qe(u,f,n,I,d),L=await qe(e,u,JSON.stringify(D)),G=(d?Ge: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 Qe(e,t,n,r,s=!1){return{types:{EIP712Domain:De,MetaTransaction:s?Pe:be},domain:r,primaryType:"MetaTransaction",message:{nonce:parseInt(t,16),from:e,...s?{functionData:n}:{functionSignature:n}}}}function et(e,t){return{name:t.name,version:t.version,verifyingContract:t.address,salt:e}}Re();var tt=Ne();async function nt(e){const t=await Ee();if(t){const n=await new we(t).getSigner().getChainId();if(e===n)return t}return K.createProvider(tt.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 rt(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=rt(e);return{signer:e.signer,signature:e.signature,...n,checks:{...n.checks,allowedProof:[]},sent:n.sent.map(r=>({...r,beneficiary:t}))}}async function at(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 st(e){const t=await nt(e);return new we(t)}const b=new Le.EventEmitter;var x;(function(e){e.ERROR="error",e.SUCCESS="success",e.PROMPT="prompt",e.ACCEPT="accept",e.REJECT="reject"})(x||(x={}));let ot="https://transactions-api.decentraland.org/v1";const it=()=>ot,ct=()=>new Promise((e,t)=>{const n=()=>{b.removeAllListeners(x.REJECT),e(!0)},r=()=>{b.removeAllListeners(x.ACCEPT),t(new Error("User rejected transaction"))};b.addListener(x.ACCEPT,n),b.addListener(x.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 at(s),u=await st(t.chainId),d=new ve(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=Se.from(0);try{const L=await w.getGasPrice(),U=await w.estimateGas(f);D=L.mul(U)}catch{}if(!D.isZero()){const L=ct(),U=await w.getBalance();b.emit(x.PROMPT,{transactionGasPrice:ie(D),userBalance:ie(U),chainId:t.chainId}),await L}}const I=await w.sendTransaction(f);return b.emit(x.SUCCESS,{txHash:I.hash}),I.hash}else{const w=await ze(s,u,f.data,t,{serverURL:it()});return b.emit(x.SUCCESS,{txHash:w}),w}}catch(s){const i={type:x.ERROR,error:s};throw b.emit(x.ERROR,i),s}}var q={exports:{}};/*! https://mths.be/punycode v1.4.1 by @mathias */var ut=q.exports,Te;function dt(){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,v=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 me(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?v(a/L):a>>1,a+=v(a/o);a>Y*I>>1;l+=f)a=v(a/Y);return v(l+(Y+1)*a/(a+D))}function ae(a){var o=[],c=a.length,l,h=0,y=G,p=U,E,A,S,R,g,m,C,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(S=E>0?E+1:0;S<c;){for(R=h,g=1,m=f;S>=c&&F("invalid-input"),C=me(a.charCodeAt(S++)),(C>=f||C>v((d-h)/g))&&F("overflow"),h+=C*g,O=m<=p?w:m>=p+I?I:m-p,!(C<O);m+=f)M=f-O,g>v(d/M)&&F("overflow"),g*=M;l=o.length+1,p=re(h-R,l,R==0),v(h/l)>d-y&&F("overflow"),y+=v(h/l),h%=l,o.splice(h++,0,y)}return te(o)}function se(a){var o,c,l,h,y,p,E,A,S,R,g,m=[],C,O,M,Z;for(a=ee(a),C=a.length,o=G,c=0,y=U,p=0;p<C;++p)g=a[p],g<128&&m.push($(g));for(l=h=m.length,h&&m.push(j);l<C;){for(E=d,p=0;p<C;++p)g=a[p],g>=o&&g<E&&(E=g);for(O=l+1,E-o>v((d-c)/O)&&F("overflow"),c+=(E-o)*O,o=E,p=0;p<C;++p)if(g=a[p],g<o&&++c>d&&F("overflow"),g==o){for(A=c,S=f;R=S<=y?w:S>=y+I?I:S-y,!(A<R);S+=f)Z=A-R,M=f-R,m.push($(ne(R+Z%M,0))),A=v(Z/M);m.push($(ne(A,0))),y=re(c,O,l==h),c=0,++l}++c,++o}return m.join("")}function Ae(a){return Q(a,function(o){return N.test(o)?ae(o.slice(4).toLowerCase()):o})}function Ce(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:Ce,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})(ut)})(q,q.exports)),q.exports}dt();var _e=(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),lt=_e.URL;_e.URLSearchParams;var ht={URL:lt};class ge extends Error{constructor(n,r,s){super(n);T(this,"status");T(this,"data");this.status=r,this.data=s}}const ft=3,pt=1e3,Tt=[400,401,403,404,409,422],gt=(globalThis==null?void 0:globalThis.URL)??ht.URL;class wt{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 gt(t,this.baseUrl),s=(n==null?void 0:n.identity)??this.getIdentity();return Oe.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)??ft,this.retryDelay=(n==null?void 0:n.retryDelay)??pt,this.nonRetryableStatuses=(n==null?void 0:n.nonRetryableStatuses)??Tt}}class yt extends wt{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 yt(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 xe=Object.defineProperty;var Ie=(e,t,n)=>t in e?xe(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,c as oe,C as ve,B as Se,f as ie}from"./ethers-DXxh-eEm.js";import{aL as Re,aM as Ne,j as X,aN as Oe}from"./index-L5rl4tyv.js";import{c as ce}from"./react-CQ5qhqs6.js";import{O as Pe,M as be,D as De,a as ue,g as de}from"./index-BSCJHKfS.js";import"./network-QssBB6oI.js";import{c as K,e as Le}from"./index-42gEBfTi.js";const Ue="2d0335ab",Fe="0c53c51c",Me="d8ed1acc",ke=ye("0x");let je=0;async function $e(e){let t=[];try{t=await H(e,"eth_requestAccounts",[])}catch{t=await H(e,"eth_accounts",[])}if(t.length===0)throw new Error("Could not find a valid connected account");return t[0]}async function qe(e,t,n){return H(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=Be(r.substring(128,130)),d=n.replace("0x",""),f=(d.length/2).toString(16),w=Math.ceil(d.length/64);return["0x",Fe,_(e),_("a0"),s,i,_(u),_(f),d.padEnd(64*w,"0")].join("")}function Ge(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",Me,_(e),_("60"),_(u.toString(16)),_((r.length/2).toString(16)),r,_((s.length/2).toString(16)),s.padEnd(64*d,"0")].join("")}function Be(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 Ve(e,t,n){const r=_(t),s=await H(e,"eth_call",[{data:`0x${Ue}${r}`,to:n},"latest"]);return _(s)}function Je(e){return typeof e=="number"?`0x${_(e.toString(16))}`:`0x${_(e)}`}function We(e,t){return H(e,"eth_getCode",[t.toLowerCase(),"latest"])}const Ye="0xef01";async function Ze(e,t){const n=await We(e,t);return n.toLowerCase().startsWith(Ye)?!1:!Xe(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 Xe(e){return ye(e.toLowerCase())===ke}function _(e){return e.toString().replace("0x","").padStart(64,"0")}async function H(e,t,n){let r,s={jsonrpc:"2.0",id:++je,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 Ke(){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 ze(e,t,n,r,s={}){const i={...Ke(),...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 $e(e);if(await Ze(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 Ve(t,u,r.address),w=Je(r.chainId),I=et(w,r),D=Qe(u,f,n,I,d),L=await qe(e,u,JSON.stringify(D)),G=(d?Ge: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 Qe(e,t,n,r,s=!1){return{types:{EIP712Domain:De,MetaTransaction:s?Pe:be},domain:r,primaryType:"MetaTransaction",message:{nonce:parseInt(t,16),from:e,...s?{functionData:n}:{functionSignature:n}}}}function et(e,t){return{name:t.name,version:t.version,verifyingContract:t.address,salt:e}}Re();var tt=Ne();async function nt(e){const t=await Ee();if(t){const n=await new we(t).getSigner().getChainId();if(e===n)return t}return K.createProvider(tt.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 rt(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=rt(e);return{signer:e.signer,signature:e.signature,...n,checks:{...n.checks,allowedProof:[]},sent:n.sent.map(r=>({...r,beneficiary:t}))}}async function at(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 st(e){const t=await nt(e);return new we(t)}const b=new Le.EventEmitter;var x;(function(e){e.ERROR="error",e.SUCCESS="success",e.PROMPT="prompt",e.ACCEPT="accept",e.REJECT="reject"})(x||(x={}));let ot="https://transactions-api.decentraland.org/v1";const it=()=>ot,ct=()=>new Promise((e,t)=>{const n=()=>{b.removeAllListeners(x.REJECT),e(!0)},r=()=>{b.removeAllListeners(x.ACCEPT),t(new Error("User rejected transaction"))};b.addListener(x.ACCEPT,n),b.addListener(x.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 at(s),u=await st(t.chainId),d=new ve(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=Se.from(0);try{const L=await w.getGasPrice(),U=await w.estimateGas(f);D=L.mul(U)}catch{}if(!D.isZero()){const L=ct(),U=await w.getBalance();b.emit(x.PROMPT,{transactionGasPrice:ie(D),userBalance:ie(U),chainId:t.chainId}),await L}}const I=await w.sendTransaction(f);return b.emit(x.SUCCESS,{txHash:I.hash}),I.hash}else{const w=await ze(s,u,f.data,t,{serverURL:it()});return b.emit(x.SUCCESS,{txHash:w}),w}}catch(s){const i={type:x.ERROR,error:s};throw b.emit(x.ERROR,i),s}}var q={exports:{}};/*! https://mths.be/punycode v1.4.1 by @mathias */var ut=q.exports,Te;function dt(){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,v=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 me(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?v(a/L):a>>1,a+=v(a/o);a>Y*I>>1;l+=f)a=v(a/Y);return v(l+(Y+1)*a/(a+D))}function ae(a){var o=[],c=a.length,l,h=0,y=G,p=U,E,A,S,R,g,m,C,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(S=E>0?E+1:0;S<c;){for(R=h,g=1,m=f;S>=c&&F("invalid-input"),C=me(a.charCodeAt(S++)),(C>=f||C>v((d-h)/g))&&F("overflow"),h+=C*g,O=m<=p?w:m>=p+I?I:m-p,!(C<O);m+=f)M=f-O,g>v(d/M)&&F("overflow"),g*=M;l=o.length+1,p=re(h-R,l,R==0),v(h/l)>d-y&&F("overflow"),y+=v(h/l),h%=l,o.splice(h++,0,y)}return te(o)}function se(a){var o,c,l,h,y,p,E,A,S,R,g,m=[],C,O,M,Z;for(a=ee(a),C=a.length,o=G,c=0,y=U,p=0;p<C;++p)g=a[p],g<128&&m.push($(g));for(l=h=m.length,h&&m.push(j);l<C;){for(E=d,p=0;p<C;++p)g=a[p],g>=o&&g<E&&(E=g);for(O=l+1,E-o>v((d-c)/O)&&F("overflow"),c+=(E-o)*O,o=E,p=0;p<C;++p)if(g=a[p],g<o&&++c>d&&F("overflow"),g==o){for(A=c,S=f;R=S<=y?w:S>=y+I?I:S-y,!(A<R);S+=f)Z=A-R,M=f-R,m.push($(ne(R+Z%M,0))),A=v(Z/M);m.push($(ne(A,0))),y=re(c,O,l==h),c=0,++l}++c,++o}return m.join("")}function Ae(a){return Q(a,function(o){return N.test(o)?ae(o.slice(4).toLowerCase()):o})}function Ce(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:Ce,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})(ut)})(q,q.exports)),q.exports}dt();var _e=(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),lt=_e.URL;_e.URLSearchParams;var ht={URL:lt};class ge extends Error{constructor(n,r,s){super(n);T(this,"status");T(this,"data");this.status=r,this.data=s}}const ft=3,pt=1e3,Tt=[400,401,403,404,409,422],gt=(globalThis==null?void 0:globalThis.URL)??ht.URL;class wt{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 gt(t,this.baseUrl),s=(n==null?void 0:n.identity)??this.getIdentity();return Oe.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)??ft,this.retryDelay=(n==null?void 0:n.retryDelay)??pt,this.nonRetryableStatuses=(n==null?void 0:n.nonRetryableStatuses)??Tt}}class yt extends wt{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 yt(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};