@0xsequence/marketplace-sdk 1.1.1 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (327) hide show
  1. package/CHANGELOG.md +34 -3
  2. package/dist/{BellIcon-ByhygxBO.js → BellIcon-DMKEumAz.js} +2 -2
  3. package/dist/BellIcon-DMKEumAz.js.map +1 -0
  4. package/dist/{CartIcon-Bt3rQYGk.js → CartIcon-UyB4NYKt.js} +3 -3
  5. package/dist/CartIcon-UyB4NYKt.js.map +1 -0
  6. package/dist/CollectibleCard-z05qWzKE.d.ts +8 -0
  7. package/dist/_internal-DkS2VUn5.js.map +1 -1
  8. package/dist/abi-fa-o9gH3.js.map +1 -1
  9. package/dist/{alien_swap-DoY6XfMA.js → alien_swap-Cq8LuElo.js} +1 -1
  10. package/dist/{alien_swap-DoY6XfMA.js.map → alien_swap-Cq8LuElo.js.map} +1 -1
  11. package/dist/{api-BoO0V5aJ.js → api-GwTR0dBA.js} +8 -49
  12. package/dist/api-GwTR0dBA.js.map +1 -0
  13. package/dist/{aqua-xyz-BBDxnG14.js → aqua-xyz-0yye_c-Z.js} +1 -1
  14. package/dist/{aqua-xyz-BBDxnG14.js.map → aqua-xyz-0yye_c-Z.js.map} +1 -1
  15. package/dist/{aura-DGx2zwvF.js → aura-TaxFvTFQ.js} +1 -1
  16. package/dist/{aura-DGx2zwvF.js.map → aura-TaxFvTFQ.js.map} +1 -1
  17. package/dist/{blur-D8GKrRrq.js → blur-BupOTobO.js} +1 -1
  18. package/dist/{blur-D8GKrRrq.js.map → blur-BupOTobO.js.map} +1 -1
  19. package/dist/{builder-api-BFuZNOaN.js → builder-api-m4JAA6ee.js} +3 -3
  20. package/dist/builder-api-m4JAA6ee.js.map +1 -0
  21. package/dist/{builder.gen-B9wR2nvF.js → builder.gen--XD71cNL.js} +2 -2
  22. package/dist/builder.gen--XD71cNL.js.map +1 -0
  23. package/dist/{coinbase-DOry4PXY.js → coinbase-DTgZ4wDT.js} +1 -1
  24. package/dist/{coinbase-DOry4PXY.js.map → coinbase-DTgZ4wDT.js.map} +1 -1
  25. package/dist/{collectibles-C_H8jMGH.js → collectibles-CZ6i8sXK.js} +15 -49
  26. package/dist/collectibles-CZ6i8sXK.js.map +1 -0
  27. package/dist/{collections-CKummc-R.js → collections-5NcU-7ZR.js} +92 -10
  28. package/dist/collections-5NcU-7ZR.js.map +1 -0
  29. package/dist/{components-CosnX7F9.js → components-CY8kx2kb.js} +13 -9
  30. package/dist/components-CY8kx2kb.js.map +1 -0
  31. package/dist/{contracts-BP_0vX48.js → contracts-DRJHF89h.js} +4 -3
  32. package/dist/{contracts-BP_0vX48.js.map → contracts-DRJHF89h.js.map} +1 -1
  33. package/dist/{create-config-CIfejoCk.js → create-config-BxyfYCEk.js} +6 -5
  34. package/dist/create-config-BxyfYCEk.js.map +1 -0
  35. package/dist/{create-config-ZOB7i4ZJ.d.ts → create-config-CFBeD8CB.d.ts} +47 -60
  36. package/dist/{element-ciybd_VF.js → element-D4dDznlu.js} +1 -1
  37. package/dist/{element-ciybd_VF.js.map → element-D4dDznlu.js.map} +1 -1
  38. package/dist/{filters-V-V8Dn8f.d.ts → filters-B5niI_fX.d.ts} +7 -7
  39. package/dist/{foundation-Bq4lRz4x.js → foundation-GHZOKAzN.js} +1 -1
  40. package/dist/{foundation-Bq4lRz4x.js.map → foundation-GHZOKAzN.js.map} +1 -1
  41. package/dist/{index-BeRV-7AX.d.ts → index-8scPf0CS.d.ts} +2 -2
  42. package/dist/index-9qsplZ8r.d.ts +18 -0
  43. package/dist/{index-BZIJTQT0.d.ts → index-BIuYTMc2.d.ts} +10 -9
  44. package/dist/{index-C4MUKshG.d.ts → index-BNrz99xy.d.ts} +3 -3
  45. package/dist/{index-Bsx6XsC2.d.ts → index-BYQOPS8e.d.ts} +116 -62
  46. package/dist/{index-DUXfvhxs.d.ts → index-BkZ7SPLc.d.ts} +19 -29
  47. package/dist/{index-NlPMNcqh.d.ts → index-BnUku_aF.d.ts} +109 -114
  48. package/dist/{index-Stm5u0I0.d.ts → index-BtDAHMW_.d.ts} +9 -12
  49. package/dist/{index-BOiHR01C.d.ts → index-C-c_M_sE.d.ts} +10 -9
  50. package/dist/{index-DWt6yrIG.d.ts → index-CNIiC8Z_.d.ts} +11 -8
  51. package/dist/{index-DmudgrsN.d.ts → index-CbERNN3s.d.ts} +26 -16
  52. package/dist/{index-CxpFwGvR.d.ts → index-CsfxsN0t.d.ts} +4 -4
  53. package/dist/{index-CxA34wP1.d.ts → index-DASjaiJL.d.ts} +105 -19
  54. package/dist/{index-Bxzjy0d1.d.ts → index-DD7Vc4cE.d.ts} +2 -2
  55. package/dist/{index-DqXd1EeB.d.ts → index-DIc8OqWV.d.ts} +7 -6
  56. package/dist/{index-CnEbXm_t.d.ts → index-DVI_vggD.d.ts} +53 -12
  57. package/dist/{index-CPzvNmq9.d.ts → index-DqxQeYT2.d.ts} +39 -36
  58. package/dist/{index-CS65jqOq.d.ts → index-Dsf9FRtr.d.ts} +19 -3
  59. package/dist/{index-DFEnA6Wa.d.ts → index-DxAReMEO.d.ts} +34 -34
  60. package/dist/{index-U-zp70of.d.ts → index-UXRoZmd_.d.ts} +8 -12
  61. package/dist/{index-DwKr18CI.d.ts → index-isFvc5gd.d.ts} +2 -2
  62. package/dist/{index-BtWMBHeP.d.ts → index-j3nuJWyJ.d.ts} +13 -9
  63. package/dist/{index-C-745li7.d.ts → index-nVb7o0hc.d.ts} +2 -2
  64. package/dist/{index-D9LPlmbC.d.ts → index-pbE88Tt7.d.ts} +2 -2
  65. package/dist/index.d.ts +8 -8
  66. package/dist/index.js +9 -9
  67. package/dist/{inventory-Dd7TazvZ.js → inventory--t6Zu55O.js} +21 -18
  68. package/dist/inventory--t6Zu55O.js.map +1 -0
  69. package/dist/{listCollectiblesPaginated-Cy2_qEZA.d.ts → listCollectiblesPaginated-BlE5mSzh.d.ts} +32 -32
  70. package/dist/{listCollections-BB9FxKj2.d.ts → listCollections-DWyqFSQ3.d.ts} +143 -66
  71. package/dist/{looks-rare-6H--x3AM.js → looks-rare-2HBhMpOf.js} +1 -1
  72. package/dist/{looks-rare-6H--x3AM.js.map → looks-rare-2HBhMpOf.js.map} +1 -1
  73. package/dist/{lowestListing-Cbsi6M1K.d.ts → lowestListing-DsunDO1c.d.ts} +38 -28
  74. package/dist/{magic-eden-BoxEQ1Li.js → magic-eden-BYdTp-uk.js} +1 -1
  75. package/dist/{magic-eden-BoxEQ1Li.js.map → magic-eden-BYdTp-uk.js.map} +1 -1
  76. package/dist/{manifold-DycKsljb.js → manifold-yE0x6ZmO.js} +1 -1
  77. package/dist/{manifold-DycKsljb.js.map → manifold-yE0x6ZmO.js.map} +1 -1
  78. package/dist/{market-C3HV-awQ.js → market-DuBpFsDg.js} +27 -17
  79. package/dist/market-DuBpFsDg.js.map +1 -0
  80. package/dist/{marketCurrencies-Bpw1bIO0.d.ts → marketCurrencies-BgwmbGFk.d.ts} +20 -9
  81. package/dist/{marketCurrencies-sKrTX0og.js → marketCurrencies-Bolonndy.js} +13 -7
  82. package/dist/marketCurrencies-Bolonndy.js.map +1 -0
  83. package/dist/marketplace-NQB-sEQL.js.map +1 -1
  84. package/dist/{marketplace-logos-D4dS1Foy.js → marketplace-logos-Cz9RrtQo.js} +21 -21
  85. package/dist/marketplace-logos-Cz9RrtQo.js.map +1 -0
  86. package/dist/{marketplace.gen-ksUafDqS.js → marketplace.gen-906FrJQJ.js} +24 -5
  87. package/dist/marketplace.gen-906FrJQJ.js.map +1 -0
  88. package/dist/{marketplaceConfig-UHQMM9fq.js → marketplaceConfig-Bqjo7NYO.js} +8 -4
  89. package/dist/marketplaceConfig-Bqjo7NYO.js.map +1 -0
  90. package/dist/{mintify-Dyqyo8jQ.js → mintify-BXQx3mZB.js} +1 -1
  91. package/dist/{mintify-Dyqyo8jQ.js.map → mintify-BXQx3mZB.js.map} +1 -1
  92. package/dist/{network-DtmiMhcg.js → network-DwdZ_5-7.js} +2 -2
  93. package/dist/network-DwdZ_5-7.js.map +1 -0
  94. package/dist/{networkconfigToWagmiChain-DbUf6HiO.js → networkconfigToWagmiChain-Ct-hGq8M.js} +4 -3
  95. package/dist/networkconfigToWagmiChain-Ct-hGq8M.js.map +1 -0
  96. package/dist/{nftx-2LbFjj9Q.js → nftx-B929_3Ce.js} +1 -1
  97. package/dist/{nftx-2LbFjj9Q.js.map → nftx-B929_3Ce.js.map} +1 -1
  98. package/dist/{okx-CBEWJNsR.js → okx-sZ0-Udny.js} +1 -1
  99. package/dist/{okx-CBEWJNsR.js.map → okx-sZ0-Udny.js.map} +1 -1
  100. package/dist/{open-sea-Dxntz_PA.js → open-sea-DO9PhTrz.js} +1 -1
  101. package/dist/{open-sea-Dxntz_PA.js.map → open-sea-DO9PhTrz.js.map} +1 -1
  102. package/dist/{orders-DnFfZAXV.js → orders-DH76ym2e.js} +16 -9
  103. package/dist/orders-DH76ym2e.js.map +1 -0
  104. package/dist/primary-sale-1u4QlPdA.js.map +1 -1
  105. package/dist/{primary-sales-Dmsi6bqj.js → primary-sales-CECrqatg.js} +49 -7
  106. package/dist/primary-sales-CECrqatg.js.map +1 -0
  107. package/dist/{query-BWbCsXLY.d.ts → query-brXxOcH0.d.ts} +1 -1
  108. package/dist/{rarible-CS0SupHr.js → rarible-Ccb2hs7y.js} +1 -1
  109. package/dist/{rarible-CS0SupHr.js.map → rarible-Ccb2hs7y.js.map} +1 -1
  110. package/dist/react/_internal/api/index.d.ts +2 -2
  111. package/dist/react/_internal/api/index.js +6 -6
  112. package/dist/react/_internal/databeat/index.d.ts +1 -1
  113. package/dist/react/_internal/databeat/index.js +28 -29
  114. package/dist/react/_internal/index.d.ts +2 -2
  115. package/dist/react/_internal/index.js +8 -8
  116. package/dist/react/_internal/wagmi/index.d.ts +1 -1
  117. package/dist/react/_internal/wagmi/index.js +3 -3
  118. package/dist/react/hooks/config/index.d.ts +8 -8
  119. package/dist/react/hooks/config/index.js +28 -29
  120. package/dist/react/hooks/contracts/index.d.ts +6 -6
  121. package/dist/react/hooks/contracts/index.js +8 -8
  122. package/dist/react/hooks/data/collectibles/index.d.ts +10 -10
  123. package/dist/react/hooks/data/collectibles/index.js +28 -29
  124. package/dist/react/hooks/data/collections/index.d.ts +11 -11
  125. package/dist/react/hooks/data/collections/index.js +29 -30
  126. package/dist/react/hooks/data/index.d.ts +37 -37
  127. package/dist/react/hooks/data/index.js +29 -30
  128. package/dist/react/hooks/data/inventory/index.d.ts +36 -36
  129. package/dist/react/hooks/data/inventory/index.js +28 -29
  130. package/dist/react/hooks/data/market/index.d.ts +11 -11
  131. package/dist/react/hooks/data/market/index.js +28 -29
  132. package/dist/react/hooks/data/orders/index.d.ts +10 -10
  133. package/dist/react/hooks/data/orders/index.js +28 -29
  134. package/dist/react/hooks/data/primary-sales/index.d.ts +37 -37
  135. package/dist/react/hooks/data/primary-sales/index.js +29 -30
  136. package/dist/react/hooks/data/tokens/index.d.ts +4 -4
  137. package/dist/react/hooks/data/tokens/index.js +28 -29
  138. package/dist/react/hooks/index.d.ts +37 -37
  139. package/dist/react/hooks/index.js +29 -30
  140. package/dist/react/hooks/transactions/index.d.ts +2 -2
  141. package/dist/react/hooks/transactions/index.js +28 -29
  142. package/dist/react/hooks/ui/index.d.ts +4 -4
  143. package/dist/react/hooks/ui/index.js +28 -29
  144. package/dist/react/hooks/utils/index.d.ts +36 -36
  145. package/dist/react/hooks/utils/index.js +28 -29
  146. package/dist/react/index.d.ts +37 -37
  147. package/dist/react/index.js +29 -30
  148. package/dist/react/queries/collectibles/index.d.ts +10 -10
  149. package/dist/react/queries/collectibles/index.js +12 -13
  150. package/dist/react/queries/collections/index.d.ts +11 -11
  151. package/dist/react/queries/collections/index.js +11 -11
  152. package/dist/react/queries/index.d.ts +24 -24
  153. package/dist/react/queries/index.js +22 -23
  154. package/dist/react/queries/inventory/index.d.ts +2 -2
  155. package/dist/react/queries/inventory/index.js +12 -12
  156. package/dist/react/queries/market/index.d.ts +5 -5
  157. package/dist/react/queries/market/index.js +12 -12
  158. package/dist/react/queries/orders/index.d.ts +10 -10
  159. package/dist/react/queries/orders/index.js +8 -8
  160. package/dist/react/queries/primary-sales/index.d.ts +4 -4
  161. package/dist/react/queries/primary-sales/index.js +9 -9
  162. package/dist/react/queries/tokens/index.d.ts +4 -4
  163. package/dist/react/queries/tokens/index.js +8 -9
  164. package/dist/react/queries/utils/index.d.ts +3 -3
  165. package/dist/react/queries/utils/index.js +12 -12
  166. package/dist/react/ssr/index.d.ts +7 -7
  167. package/dist/react/ssr/index.js +8 -8
  168. package/dist/react/ssr/index.js.map +1 -1
  169. package/dist/react/ui/components/marketplace-collectible-card/components/footer/components/index.d.ts +2 -2
  170. package/dist/react/ui/components/marketplace-collectible-card/components/footer/components/index.js +12 -12
  171. package/dist/react/ui/components/marketplace-collectible-card/components/footer/index.d.ts +7 -10
  172. package/dist/react/ui/components/marketplace-collectible-card/components/footer/index.js +28 -29
  173. package/dist/react/ui/components/marketplace-collectible-card/index.d.ts +4 -4
  174. package/dist/react/ui/components/marketplace-collectible-card/index.js +28 -29
  175. package/dist/react/ui/components/marketplace-collectible-card/utils/index.d.ts +2 -2
  176. package/dist/react/ui/components/marketplace-collectible-card/utils/index.js +8 -8
  177. package/dist/react/ui/components/marketplace-logos/index.d.ts +21 -21
  178. package/dist/react/ui/components/marketplace-logos/index.js +1 -1
  179. package/dist/react/ui/icons/index.js +8 -8
  180. package/dist/react/ui/index.d.ts +4 -4
  181. package/dist/react/ui/index.js +28 -29
  182. package/dist/react/ui/modals/_internal/components/actionModal/index.d.ts +2 -2
  183. package/dist/react/ui/modals/_internal/components/actionModal/index.js +28 -29
  184. package/dist/react/utils/index.d.ts +1 -1
  185. package/dist/react/utils/index.js +6 -6
  186. package/dist/{react-DE852KeT.js → react-CBsgOdVP.js} +608 -735
  187. package/dist/react-CBsgOdVP.js.map +1 -0
  188. package/dist/{sequence-paCCener.js → sequence-CRdb1yEs.js} +1 -1
  189. package/dist/{sequence-paCCener.js.map → sequence-CRdb1yEs.js.map} +1 -1
  190. package/dist/styles/index.css +1 -1
  191. package/dist/{sudo-swap-9rH2EgfT.js → sudo-swap-BIklG2gq.js} +1 -1
  192. package/dist/{sudo-swap-9rH2EgfT.js.map → sudo-swap-BIklG2gq.js.map} +1 -1
  193. package/dist/{super-rare-DHIuWtRw.js → super-rare-h8645_5E.js} +1 -1
  194. package/dist/{super-rare-DHIuWtRw.js.map → super-rare-h8645_5E.js.map} +1 -1
  195. package/dist/token-Cv7l2ZaL.js.map +1 -1
  196. package/dist/{tokenBalances-ibDerNmM.js → tokenBalances-CouzNX4j.js} +6 -12
  197. package/dist/tokenBalances-CouzNX4j.js.map +1 -0
  198. package/dist/{tokenSupplies-Bfe8RHzI.d.ts → tokenSupplies-C3zJll0M.d.ts} +32 -39
  199. package/dist/{tokens-cGxMadd8.js → tokens-BvIRUCGG.js} +58 -27
  200. package/dist/tokens-BvIRUCGG.js.map +1 -0
  201. package/dist/transaction-DZUW5RHu.js.map +1 -1
  202. package/dist/types/index.d.ts +1 -1
  203. package/dist/types/index.js +2 -2
  204. package/dist/types-B_-cnkcP.js.map +1 -1
  205. package/dist/{types-D2TJ1dwv.d.ts → types-CMDwfhfR.d.ts} +5 -5
  206. package/dist/utils/abi/index.d.ts +4 -4
  207. package/dist/utils/abi/marketplace/index.d.ts +1 -1
  208. package/dist/utils/abi/primary-sale/index.d.ts +1 -1
  209. package/dist/utils/abi/token/index.d.ts +1 -1
  210. package/dist/utils/index.d.ts +7 -7
  211. package/dist/utils/index.js +7 -7
  212. package/dist/{utils-BfpDVibN.js → utils-9ToOvt-c.js} +50 -7
  213. package/dist/utils-9ToOvt-c.js.map +1 -0
  214. package/dist/{utils-BqxcalL2.js → utils-B6di6O-C.js} +2 -2
  215. package/dist/utils-B6di6O-C.js.map +1 -0
  216. package/dist/{utils-BCgNhBFR.js → utils-BCYTEOvy.js} +17 -7
  217. package/dist/utils-BCYTEOvy.js.map +1 -0
  218. package/dist/{waitForTransactionReceipt-DieAnV52.js → waitForTransactionReceipt-CbSeUSXe.js} +5 -4
  219. package/dist/{waitForTransactionReceipt-DieAnV52.js.map → waitForTransactionReceipt-CbSeUSXe.js.map} +1 -1
  220. package/dist/{x2y2-45WDooeh.js → x2y2-OvF__ugj.js} +1 -1
  221. package/dist/{x2y2-45WDooeh.js.map → x2y2-OvF__ugj.js.map} +1 -1
  222. package/dist/{zora-CbeBoLvQ.js → zora-DzCeu-eE.js} +1 -1
  223. package/dist/{zora-CbeBoLvQ.js.map → zora-DzCeu-eE.js.map} +1 -1
  224. package/package.json +38 -38
  225. package/src/react/_internal/api/__mocks__/marketplace.msw.ts +13 -0
  226. package/src/react/_internal/api/index.ts +0 -1
  227. package/src/react/_internal/api/marketplace.gen.ts +70 -26
  228. package/src/react/_internal/api/query-keys.ts +9 -0
  229. package/src/react/hooks/data/collectibles/useBalanceOfCollectible.tsx +0 -9
  230. package/src/react/hooks/data/collectibles/useListCollectibles.tsx +1 -16
  231. package/src/react/hooks/data/collectibles/useTokenBalances.tsx +0 -9
  232. package/src/react/hooks/data/collections/index.ts +2 -0
  233. package/src/react/hooks/data/collections/useCollectionActiveListingsCurrencies.test.tsx +112 -0
  234. package/src/react/hooks/data/collections/useCollectionActiveListingsCurrencies.tsx +74 -0
  235. package/src/react/hooks/data/collections/useCollectionActiveOffersCurrencies.test.tsx +110 -0
  236. package/src/react/hooks/data/collections/useCollectionActiveOffersCurrencies.tsx +74 -0
  237. package/src/react/hooks/data/inventory/useInventory.tsx +1 -10
  238. package/src/react/hooks/data/market/useMarketCurrencies.test.tsx +31 -2
  239. package/src/react/hooks/data/primary-sales/index.ts +1 -0
  240. package/src/react/hooks/data/primary-sales/usePrimarySaleItem.tsx +71 -0
  241. package/src/react/hooks/data/tokens/useListBalances.tsx +1 -10
  242. package/src/react/hooks/data/tokens/useTokenSupplies.ts +1 -13
  243. package/src/react/hooks/transactions/useGenerateOfferTransaction.test.tsx +2 -0
  244. package/src/react/hooks/transactions/useProcessStep.test.tsx +8 -6
  245. package/src/react/hooks/transactions/useProcessStep.ts +8 -6
  246. package/src/react/hooks/utils/useComparePrices.test.tsx +1 -1
  247. package/src/react/providers/modal-provider.tsx +2 -1
  248. package/src/react/queries/collectibles/balanceOfCollectible.ts +1 -15
  249. package/src/react/queries/collectibles/listCollectibles.ts +1 -54
  250. package/src/react/queries/collectibles/tokenBalances.ts +1 -15
  251. package/src/react/queries/collections/activeListingsCurrencies.ts +84 -0
  252. package/src/react/queries/collections/activeOffersCurrencies.ts +84 -0
  253. package/src/react/queries/collections/index.ts +2 -0
  254. package/src/react/queries/inventory/inventory.ts +2 -9
  255. package/src/react/queries/market/marketCurrencies.ts +8 -1
  256. package/src/react/queries/primary-sales/index.ts +1 -0
  257. package/src/react/queries/primary-sales/primarySaleItem.ts +80 -0
  258. package/src/react/queries/tokens/listBalances.ts +1 -21
  259. package/src/react/queries/tokens/tokenSupplies.ts +2 -31
  260. package/src/react/queries/utils/comparePrices.ts +13 -1
  261. package/src/react/ui/components/_internals/action-button/ActionButton.stories.tsx +2 -0
  262. package/src/react/ui/components/marketplace-collectible-card/components/footer/Footer.tsx +4 -18
  263. package/src/react/ui/components/marketplace-collectible-card/variants/MarketCard.tsx +2 -2
  264. package/src/react/ui/components/marketplace-collectible-card/variants/ShopCard.tsx +0 -2
  265. package/src/react/ui/modals/BuyModal/__tests__/BuyModalRouter.test.tsx +3 -0
  266. package/src/react/ui/modals/BuyModal/__tests__/Modal1155.test.tsx +1 -0
  267. package/src/react/ui/modals/BuyModal/hooks/usePaymentModalParams.ts +0 -23
  268. package/src/react/ui/modals/MakeOfferModal/Modal.tsx +22 -2
  269. package/src/react/ui/modals/MakeOfferModal/__tests__/Modal.test.tsx +2 -0
  270. package/src/react/ui/modals/MakeOfferModal/hooks/useGetTokenApproval.tsx +2 -0
  271. package/src/react/ui/modals/MakeOfferModal/hooks/useTransactionSteps.tsx +2 -0
  272. package/src/react/ui/modals/_internal/components/currencyOptionsSelect/index.tsx +15 -12
  273. package/src/react/ui/modals/_internal/components/floorPriceText/__tests__/FloorPriceText.test.tsx +2 -0
  274. package/src/react/ui/modals/_internal/components/floorPriceText/index.tsx +1 -1
  275. package/src/react/ui/modals/_internal/components/priceInput/index.tsx +148 -11
  276. package/src/react/ui/modals/_internal/components/transactionDetails/index.tsx +1 -1
  277. package/src/react/ui/modals/_internal/components/transactionStatusModal/__tests__/utils.test.ts +2 -0
  278. package/src/styles/styles.ts +1 -1
  279. package/src/utils/networkconfigToWagmiChain.ts +7 -0
  280. package/src/utils/price.ts +58 -0
  281. package/test/const.ts +2 -0
  282. package/test/server-setup.ts +0 -2
  283. package/.changeset/honest-peas-arrive.md +0 -5
  284. package/.changeset/real-tips-stick.md +0 -8
  285. package/.changeset/tall-pandas-wear.md +0 -8
  286. package/dist/BellIcon-ByhygxBO.js.map +0 -1
  287. package/dist/CartIcon-Bt3rQYGk.js.map +0 -1
  288. package/dist/CollectibleCard-CVpdgXA8.d.ts +0 -8
  289. package/dist/api-BoO0V5aJ.js.map +0 -1
  290. package/dist/builder-api-BFuZNOaN.js.map +0 -1
  291. package/dist/builder.gen-B9wR2nvF.js.map +0 -1
  292. package/dist/collectibles-C_H8jMGH.js.map +0 -1
  293. package/dist/collections-CKummc-R.js.map +0 -1
  294. package/dist/components-CosnX7F9.js.map +0 -1
  295. package/dist/create-config-CIfejoCk.js.map +0 -1
  296. package/dist/index-DNNUeZEq.d.ts +0 -18
  297. package/dist/inventory-Dd7TazvZ.js.map +0 -1
  298. package/dist/listBalances-BxpxBCvn.js +0 -57
  299. package/dist/listBalances-BxpxBCvn.js.map +0 -1
  300. package/dist/market-C3HV-awQ.js.map +0 -1
  301. package/dist/marketCurrencies-sKrTX0og.js.map +0 -1
  302. package/dist/marketplace-logos-D4dS1Foy.js.map +0 -1
  303. package/dist/marketplace.gen-ksUafDqS.js.map +0 -1
  304. package/dist/marketplaceConfig-UHQMM9fq.js.map +0 -1
  305. package/dist/network-DtmiMhcg.js.map +0 -1
  306. package/dist/networkconfigToWagmiChain-DbUf6HiO.js.map +0 -1
  307. package/dist/orders-DnFfZAXV.js.map +0 -1
  308. package/dist/primary-sales-Dmsi6bqj.js.map +0 -1
  309. package/dist/react-DE852KeT.js.map +0 -1
  310. package/dist/tokenBalances-ibDerNmM.js.map +0 -1
  311. package/dist/tokens-cGxMadd8.js.map +0 -1
  312. package/dist/utils-BCgNhBFR.js.map +0 -1
  313. package/dist/utils-BfpDVibN.js.map +0 -1
  314. package/dist/utils-BqxcalL2.js.map +0 -1
  315. package/src/react/_internal/api/__mocks__/laos.msw.ts +0 -387
  316. package/src/react/_internal/api/__tests__/laos-api.test.ts +0 -756
  317. package/src/react/_internal/api/laos-api.ts +0 -106
  318. package/src/react/hooks/data/collectibles/useBalanceOfCollectible.laos.test.tsx +0 -367
  319. package/src/react/queries/collectibles/__tests__/balanceOfCollectible.laos.test.ts +0 -123
  320. package/src/react/queries/collectibles/__tests__/tokenBalances.laos.test.ts +0 -123
  321. package/src/react/queries/inventory/__tests__/inventory.laos.test.ts +0 -499
  322. package/src/react/ui/modals/_internal/constants/opensea-currencies.ts +0 -481
  323. /package/dist/{index-6wsMChsg.d.ts → index-CCggO_hw.d.ts} +0 -0
  324. /package/dist/{index-CZUtOTjh.d.ts → index-CKefEBrI.d.ts} +0 -0
  325. /package/dist/{index-DW3njUfb.d.ts → index-DgsCqh_P.d.ts} +0 -0
  326. /package/dist/{index-DewGsFz5.d.ts → index-xpO4AQyS.d.ts} +0 -0
  327. /package/dist/{queries-KOcILNJO.js → queries-CyajGg_O.js} +0 -0
@@ -1,5 +1,5 @@
1
- import { balanceQueries, collectionKeys, getIndexerClient, getMarketplaceClient, getMetadataClient } from "./api-BoO0V5aJ.js";
2
- import { compareAddress } from "./utils-BfpDVibN.js";
1
+ import { balanceQueries, collectionKeys, getIndexerClient, getMarketplaceClient, getMetadataClient } from "./api-GwTR0dBA.js";
2
+ import { compareAddress } from "./utils-9ToOvt-c.js";
3
3
  import { queryOptions, skipToken } from "@tanstack/react-query";
4
4
 
5
5
  //#region src/react/queries/collections/collection.ts
@@ -8,10 +8,12 @@ import { queryOptions, skipToken } from "@tanstack/react-query";
8
8
  */
9
9
  async function fetchCollection(params) {
10
10
  const { collectionAddress, chainId, config } = params;
11
- return (await getMetadataClient(config).getContractInfo({
11
+ const metadataClient = getMetadataClient(config);
12
+ const result = await metadataClient.getContractInfo({
12
13
  chainID: chainId.toString(),
13
14
  contractAddress: collectionAddress
14
- })).contractInfo;
15
+ });
16
+ return result.contractInfo;
15
17
  }
16
18
  function getCollectionQueryKey(params) {
17
19
  const apiArgs = {
@@ -34,6 +36,80 @@ function collectionQueryOptions(params) {
34
36
  });
35
37
  }
36
38
 
39
+ //#endregion
40
+ //#region src/react/queries/collections/activeListingsCurrencies.ts
41
+ /**
42
+ * Fetches the active listings currencies for a collection from the marketplace API
43
+ */
44
+ async function fetchCollectionActiveListingsCurrencies(params) {
45
+ const { collectionAddress, chainId, config,...additionalApiParams } = params;
46
+ const marketplaceClient = getMarketplaceClient(config);
47
+ const apiArgs = {
48
+ contractAddress: collectionAddress,
49
+ chainId: String(chainId),
50
+ ...additionalApiParams
51
+ };
52
+ const result = await marketplaceClient.getCollectionActiveListingsCurrencies(apiArgs);
53
+ return result.currencies;
54
+ }
55
+ function getCollectionActiveListingsCurrenciesQueryKey(params) {
56
+ const apiArgs = {
57
+ chainId: String(params.chainId),
58
+ contractAddress: params.collectionAddress
59
+ };
60
+ return [...collectionKeys.activeListingsCurrencies, apiArgs];
61
+ }
62
+ function collectionActiveListingsCurrenciesQueryOptions(params) {
63
+ const enabled = Boolean(params.collectionAddress && params.chainId && params.config && (params.query?.enabled ?? true));
64
+ return queryOptions({
65
+ queryKey: getCollectionActiveListingsCurrenciesQueryKey(params),
66
+ queryFn: () => fetchCollectionActiveListingsCurrencies({
67
+ chainId: params.chainId,
68
+ collectionAddress: params.collectionAddress,
69
+ config: params.config
70
+ }),
71
+ ...params.query,
72
+ enabled
73
+ });
74
+ }
75
+
76
+ //#endregion
77
+ //#region src/react/queries/collections/activeOffersCurrencies.ts
78
+ /**
79
+ * Fetches the active offers currencies for a collection from the marketplace API
80
+ */
81
+ async function fetchCollectionActiveOffersCurrencies(params) {
82
+ const { collectionAddress, chainId, config,...additionalApiParams } = params;
83
+ const marketplaceClient = getMarketplaceClient(config);
84
+ const apiArgs = {
85
+ contractAddress: collectionAddress,
86
+ chainId: String(chainId),
87
+ ...additionalApiParams
88
+ };
89
+ const result = await marketplaceClient.getCollectionActiveOffersCurrencies(apiArgs);
90
+ return result.currencies;
91
+ }
92
+ function getCollectionActiveOffersCurrenciesQueryKey(params) {
93
+ const apiArgs = {
94
+ chainId: String(params.chainId),
95
+ contractAddress: params.collectionAddress
96
+ };
97
+ return [...collectionKeys.activeOffersCurrencies, apiArgs];
98
+ }
99
+ function collectionActiveOffersCurrenciesQueryOptions(params) {
100
+ const enabled = Boolean(params.collectionAddress && params.chainId && params.config && (params.query?.enabled ?? true));
101
+ return queryOptions({
102
+ queryKey: getCollectionActiveOffersCurrenciesQueryKey(params),
103
+ queryFn: () => fetchCollectionActiveOffersCurrencies({
104
+ chainId: params.chainId,
105
+ collectionAddress: params.collectionAddress,
106
+ config: params.config
107
+ }),
108
+ ...params.query,
109
+ enabled
110
+ });
111
+ }
112
+
37
113
  //#endregion
38
114
  //#region src/react/queries/collections/collectionBalanceDetails.ts
39
115
  /**
@@ -47,7 +123,8 @@ async function fetchCollectionBalanceDetails(params) {
47
123
  contractWhitelist: filter.contractWhitelist,
48
124
  omitNativeBalances: filter.omitNativeBalances
49
125
  } }));
50
- const mergedResponse = (await Promise.all(promises)).reduce((acc, curr) => {
126
+ const responses = await Promise.all(promises);
127
+ const mergedResponse = responses.reduce((acc, curr) => {
51
128
  if (!curr) return acc;
52
129
  return {
53
130
  page: curr.page,
@@ -96,7 +173,8 @@ async function fetchCollectionDetails(params) {
96
173
  chainId: String(chainId),
97
174
  ...additionalApiParams
98
175
  };
99
- return (await marketplaceClient.getCollectionDetail(apiArgs)).collection;
176
+ const result = await marketplaceClient.getCollectionDetail(apiArgs);
177
+ return result.collection;
100
178
  }
101
179
  function getCollectionDetailsQueryKey(params) {
102
180
  const apiArgs = {
@@ -195,9 +273,12 @@ async function fetchListCollections(params) {
195
273
  contractAddresses: addresses
196
274
  }).then((resp) => Object.values(resp.contractInfoMap)));
197
275
  const settled = await Promise.allSettled(promises);
198
- if (settled.every((result) => result.status === "rejected")) throw settled[0].reason;
276
+ if (settled.every((result) => result.status === "rejected")) {
277
+ const firstError = settled[0];
278
+ throw firstError.reason;
279
+ }
199
280
  const results = settled.filter((r) => r.status === "fulfilled").flatMap((r) => r.value);
200
- return collections.map((collection) => {
281
+ const collectionsWithMetadata = collections.map((collection) => {
201
282
  const metadata = results.find((result) => compareAddress(result.address, collection.itemsAddress));
202
283
  return {
203
284
  collection,
@@ -207,6 +288,7 @@ async function fetchListCollections(params) {
207
288
  ...collection,
208
289
  ...metadata
209
290
  }));
291
+ return collectionsWithMetadata;
210
292
  }
211
293
  function getListCollectionsQueryKey(params) {
212
294
  const queryKeyParams = {
@@ -245,5 +327,5 @@ const listCollectionsOptions = ({ cardType, marketplaceConfig, config }) => {
245
327
  };
246
328
 
247
329
  //#endregion
248
- export { collectionBalanceDetailsQueryOptions, collectionDetailsQueryOptions, collectionQueryOptions, fetchCollection, fetchCollectionBalanceDetails, fetchCollectionDetails, fetchListCollectionActivities, fetchListCollections, getCollectionBalanceDetailsQueryKey, getCollectionDetailsQueryKey, getCollectionQueryKey, getListCollectionActivitiesQueryKey, getListCollectionsQueryKey, listCollectionActivitiesQueryOptions, listCollectionsOptions, listCollectionsQueryOptions };
249
- //# sourceMappingURL=collections-CKummc-R.js.map
330
+ export { collectionActiveListingsCurrenciesQueryOptions, collectionActiveOffersCurrenciesQueryOptions, collectionBalanceDetailsQueryOptions, collectionDetailsQueryOptions, collectionQueryOptions, fetchCollection, fetchCollectionActiveListingsCurrencies, fetchCollectionActiveOffersCurrencies, fetchCollectionBalanceDetails, fetchCollectionDetails, fetchListCollectionActivities, fetchListCollections, getCollectionActiveListingsCurrenciesQueryKey, getCollectionActiveOffersCurrenciesQueryKey, getCollectionBalanceDetailsQueryKey, getCollectionDetailsQueryKey, getCollectionQueryKey, getListCollectionActivitiesQueryKey, getListCollectionsQueryKey, listCollectionActivitiesQueryOptions, listCollectionsOptions, listCollectionsQueryOptions };
331
+ //# sourceMappingURL=collections-5NcU-7ZR.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collections-5NcU-7ZR.js","names":["params: FetchCollectionParams","params: CollectionQueryOptions","params: FetchCollectionActiveListingsCurrenciesParams","apiArgs: GetCollectionActiveListingsCurrenciesArgs","params: CollectionActiveListingsCurrenciesQueryOptions","params: FetchCollectionActiveOffersCurrenciesParams","apiArgs: GetCollectionActiveOffersCurrenciesArgs","params: CollectionActiveOffersCurrenciesQueryOptions","params: FetchCollectionBalanceDetailsParams","params: CollectionBalanceDetailsQueryOptions","params: FetchCollectionDetailsParams","apiArgs: GetCollectionDetailArgs","params: CollectionDetailsQueryOptions","params: FetchListCollectionActivitiesParams","pageParams: Page | undefined","apiArgs: ListCollectionActivitiesArgs","params: ListCollectionActivitiesQueryOptions","marketplaceConfig: MarketplaceConfig","params: FetchListCollectionsParams","params: ListCollectionsQueryOptions"],"sources":["../src/react/queries/collections/collection.ts","../src/react/queries/collections/activeListingsCurrencies.ts","../src/react/queries/collections/activeOffersCurrencies.ts","../src/react/queries/collections/collectionBalanceDetails.ts","../src/react/queries/collections/collectionDetails.ts","../src/react/queries/collections/listCollectionActivities.ts","../src/react/queries/collections/listCollections.ts"],"sourcesContent":["import type { GetContractInfoArgs } from '@0xsequence/metadata';\nimport { queryOptions } from '@tanstack/react-query';\nimport type { SdkConfig } from '../../../types';\nimport {\n\tgetMetadataClient,\n\ttype QueryKeyArgs,\n\ttype ValuesOptional,\n} from '../../_internal';\nimport { collectionKeys } from '../../_internal/api/query-keys';\nimport type { StandardQueryOptions } from '../../types/query';\n\nexport interface FetchCollectionParams {\n\tchainId: number;\n\tcollectionAddress: string;\n\tconfig: SdkConfig;\n}\n\n/**\n * Fetches collection information from the metadata API\n */\nexport async function fetchCollection(params: FetchCollectionParams) {\n\tconst { collectionAddress, chainId, config } = params;\n\n\tconst metadataClient = getMetadataClient(config);\n\n\tconst result = await metadataClient.getContractInfo({\n\t\tchainID: chainId.toString(),\n\t\tcontractAddress: collectionAddress,\n\t});\n\n\treturn result.contractInfo;\n}\n\nexport type CollectionQueryOptions = ValuesOptional<FetchCollectionParams> & {\n\tquery?: StandardQueryOptions;\n};\n\nexport function getCollectionQueryKey(params: CollectionQueryOptions) {\n\tconst apiArgs = {\n\t\tchainID: String(params.chainId),\n\t\tcontractAddress: params.collectionAddress,\n\t} satisfies QueryKeyArgs<GetContractInfoArgs>;\n\n\treturn [...collectionKeys.detail, apiArgs] as const;\n}\n\nexport function collectionQueryOptions(params: CollectionQueryOptions) {\n\tconst enabled = Boolean(\n\t\tparams.collectionAddress &&\n\t\t\tparams.chainId &&\n\t\t\tparams.config &&\n\t\t\t(params.query?.enabled ?? true),\n\t);\n\n\treturn queryOptions({\n\t\tqueryKey: getCollectionQueryKey(params),\n\t\tqueryFn: () =>\n\t\t\tfetchCollection({\n\t\t\t\t// biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined\n\t\t\t\tchainId: params.chainId!,\n\t\t\t\t// biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined\n\t\t\t\tcollectionAddress: params.collectionAddress!,\n\t\t\t\t// biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined\n\t\t\t\tconfig: params.config!,\n\t\t\t}),\n\t\t...params.query,\n\t\tenabled,\n\t});\n}\n","import { queryOptions } from '@tanstack/react-query';\nimport type { SdkConfig } from '../../../types';\nimport {\n\tcollectionKeys,\n\ttype GetCollectionActiveListingsCurrenciesArgs,\n\ttype GetCollectionActiveListingsCurrenciesReturn,\n\tgetMarketplaceClient,\n\ttype QueryKeyArgs,\n\ttype ValuesOptional,\n} from '../../_internal';\nimport type { StandardQueryOptions } from '../../types/query';\n\nexport interface FetchCollectionActiveListingsCurrenciesParams\n\textends Omit<\n\t\tGetCollectionActiveListingsCurrenciesArgs,\n\t\t'contractAddress' | 'chainId'\n\t> {\n\tcollectionAddress: string;\n\tchainId: number;\n\tconfig: SdkConfig;\n}\n\n/**\n * Fetches the active listings currencies for a collection from the marketplace API\n */\nexport async function fetchCollectionActiveListingsCurrencies(\n\tparams: FetchCollectionActiveListingsCurrenciesParams,\n): Promise<GetCollectionActiveListingsCurrenciesReturn['currencies']> {\n\tconst { collectionAddress, chainId, config, ...additionalApiParams } = params;\n\n\tconst marketplaceClient = getMarketplaceClient(config);\n\n\tconst apiArgs: GetCollectionActiveListingsCurrenciesArgs = {\n\t\tcontractAddress: collectionAddress,\n\t\tchainId: String(chainId),\n\t\t...additionalApiParams,\n\t};\n\n\tconst result =\n\t\tawait marketplaceClient.getCollectionActiveListingsCurrencies(apiArgs);\n\treturn result.currencies;\n}\n\nexport type CollectionActiveListingsCurrenciesQueryOptions =\n\tValuesOptional<FetchCollectionActiveListingsCurrenciesParams> & {\n\t\tquery?: StandardQueryOptions;\n\t};\n\nexport function getCollectionActiveListingsCurrenciesQueryKey(\n\tparams: CollectionActiveListingsCurrenciesQueryOptions,\n) {\n\tconst apiArgs = {\n\t\tchainId: String(params.chainId),\n\t\tcontractAddress: params.collectionAddress,\n\t} satisfies QueryKeyArgs<GetCollectionActiveListingsCurrenciesArgs>;\n\n\treturn [...collectionKeys.activeListingsCurrencies, apiArgs] as const;\n}\n\nexport function collectionActiveListingsCurrenciesQueryOptions(\n\tparams: CollectionActiveListingsCurrenciesQueryOptions,\n) {\n\tconst enabled = Boolean(\n\t\tparams.collectionAddress &&\n\t\t\tparams.chainId &&\n\t\t\tparams.config &&\n\t\t\t(params.query?.enabled ?? true),\n\t);\n\n\treturn queryOptions({\n\t\tqueryKey: getCollectionActiveListingsCurrenciesQueryKey(params),\n\t\tqueryFn: () =>\n\t\t\tfetchCollectionActiveListingsCurrencies({\n\t\t\t\t// biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined\n\t\t\t\tchainId: params.chainId!,\n\t\t\t\t// biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined\n\t\t\t\tcollectionAddress: params.collectionAddress!,\n\t\t\t\t// biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined\n\t\t\t\tconfig: params.config!,\n\t\t\t}),\n\t\t...params.query,\n\t\tenabled,\n\t});\n}\n","import { queryOptions } from '@tanstack/react-query';\nimport type { SdkConfig } from '../../../types';\nimport {\n\tcollectionKeys,\n\ttype GetCollectionActiveOffersCurrenciesArgs,\n\ttype GetCollectionActiveOffersCurrenciesReturn,\n\tgetMarketplaceClient,\n\ttype QueryKeyArgs,\n\ttype ValuesOptional,\n} from '../../_internal';\nimport type { StandardQueryOptions } from '../../types/query';\n\nexport interface FetchCollectionActiveOffersCurrenciesParams\n\textends Omit<\n\t\tGetCollectionActiveOffersCurrenciesArgs,\n\t\t'contractAddress' | 'chainId'\n\t> {\n\tcollectionAddress: string;\n\tchainId: number;\n\tconfig: SdkConfig;\n}\n\n/**\n * Fetches the active offers currencies for a collection from the marketplace API\n */\nexport async function fetchCollectionActiveOffersCurrencies(\n\tparams: FetchCollectionActiveOffersCurrenciesParams,\n): Promise<GetCollectionActiveOffersCurrenciesReturn['currencies']> {\n\tconst { collectionAddress, chainId, config, ...additionalApiParams } = params;\n\n\tconst marketplaceClient = getMarketplaceClient(config);\n\n\tconst apiArgs: GetCollectionActiveOffersCurrenciesArgs = {\n\t\tcontractAddress: collectionAddress,\n\t\tchainId: String(chainId),\n\t\t...additionalApiParams,\n\t};\n\n\tconst result =\n\t\tawait marketplaceClient.getCollectionActiveOffersCurrencies(apiArgs);\n\treturn result.currencies;\n}\n\nexport type CollectionActiveOffersCurrenciesQueryOptions =\n\tValuesOptional<FetchCollectionActiveOffersCurrenciesParams> & {\n\t\tquery?: StandardQueryOptions;\n\t};\n\nexport function getCollectionActiveOffersCurrenciesQueryKey(\n\tparams: CollectionActiveOffersCurrenciesQueryOptions,\n) {\n\tconst apiArgs = {\n\t\tchainId: String(params.chainId),\n\t\tcontractAddress: params.collectionAddress,\n\t} satisfies QueryKeyArgs<GetCollectionActiveOffersCurrenciesArgs>;\n\n\treturn [...collectionKeys.activeOffersCurrencies, apiArgs] as const;\n}\n\nexport function collectionActiveOffersCurrenciesQueryOptions(\n\tparams: CollectionActiveOffersCurrenciesQueryOptions,\n) {\n\tconst enabled = Boolean(\n\t\tparams.collectionAddress &&\n\t\t\tparams.chainId &&\n\t\t\tparams.config &&\n\t\t\t(params.query?.enabled ?? true),\n\t);\n\n\treturn queryOptions({\n\t\tqueryKey: getCollectionActiveOffersCurrenciesQueryKey(params),\n\t\tqueryFn: () =>\n\t\t\tfetchCollectionActiveOffersCurrencies({\n\t\t\t\t// biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined\n\t\t\t\tchainId: params.chainId!,\n\t\t\t\t// biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined\n\t\t\t\tcollectionAddress: params.collectionAddress!,\n\t\t\t\t// biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined\n\t\t\t\tconfig: params.config!,\n\t\t\t}),\n\t\t...params.query,\n\t\tenabled,\n\t});\n}\n","import type { GetTokenBalancesDetailsReturn } from '@0xsequence/indexer';\nimport { queryOptions } from '@tanstack/react-query';\nimport type { Address } from 'viem';\nimport type { SdkConfig } from '../../../types';\nimport {\n\tbalanceQueries,\n\tgetIndexerClient,\n\ttype ValuesOptional,\n} from '../../_internal';\nimport type { StandardQueryOptions } from '../../types/query';\n\nexport interface CollectionBalanceFilter {\n\taccountAddresses: Array<Address>;\n\tcontractWhitelist?: Array<Address>;\n\tomitNativeBalances: boolean;\n}\n\nexport interface FetchCollectionBalanceDetailsParams {\n\tchainId: number;\n\tfilter: CollectionBalanceFilter;\n\tconfig: SdkConfig;\n}\n\n/**\n * Fetches detailed balance information for multiple accounts from the Indexer API\n */\nexport async function fetchCollectionBalanceDetails(\n\tparams: FetchCollectionBalanceDetailsParams,\n): Promise<GetTokenBalancesDetailsReturn> {\n\tconst { chainId, filter, config } = params;\n\n\tconst indexerClient = getIndexerClient(chainId, config);\n\n\tconst promises = filter.accountAddresses.map((accountAddress) =>\n\t\tindexerClient.getTokenBalancesDetails({\n\t\t\tfilter: {\n\t\t\t\taccountAddresses: [accountAddress],\n\t\t\t\tcontractWhitelist: filter.contractWhitelist,\n\t\t\t\tomitNativeBalances: filter.omitNativeBalances,\n\t\t\t},\n\t\t}),\n\t);\n\n\tconst responses = await Promise.all(promises);\n\tconst mergedResponse = responses.reduce<GetTokenBalancesDetailsReturn>(\n\t\t(acc, curr) => {\n\t\t\tif (!curr) return acc;\n\t\t\treturn {\n\t\t\t\tpage: curr.page,\n\t\t\t\tnativeBalances: [\n\t\t\t\t\t...(acc.nativeBalances || []),\n\t\t\t\t\t...(curr.nativeBalances || []),\n\t\t\t\t],\n\t\t\t\tbalances: [...(acc.balances || []), ...(curr.balances || [])],\n\t\t\t};\n\t\t},\n\t\t{ page: {}, nativeBalances: [], balances: [] },\n\t);\n\n\tif (!mergedResponse) {\n\t\tthrow new Error('Failed to fetch collection balance details');\n\t}\n\n\treturn mergedResponse;\n}\n\nexport type CollectionBalanceDetailsQueryOptions =\n\tValuesOptional<FetchCollectionBalanceDetailsParams> & {\n\t\tquery?: StandardQueryOptions;\n\t};\n\nexport function getCollectionBalanceDetailsQueryKey(\n\tparams: CollectionBalanceDetailsQueryOptions,\n) {\n\tconst apiArgs = {\n\t\tchainId: params.chainId!,\n\t\tfilter: params.filter!,\n\t};\n\n\treturn [...balanceQueries.collectionBalanceDetails, apiArgs] as const;\n}\n\nexport function collectionBalanceDetailsQueryOptions(\n\tparams: CollectionBalanceDetailsQueryOptions,\n) {\n\tconst enabled = Boolean(\n\t\tparams.chainId &&\n\t\t\tparams.filter?.accountAddresses?.length &&\n\t\t\tparams.config &&\n\t\t\t(params.query?.enabled ?? true),\n\t);\n\n\treturn queryOptions({\n\t\tqueryKey: getCollectionBalanceDetailsQueryKey(params),\n\t\tqueryFn: () =>\n\t\t\tfetchCollectionBalanceDetails({\n\t\t\t\t// biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined\n\t\t\t\tchainId: params.chainId!,\n\t\t\t\t// biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined\n\t\t\t\tfilter: params.filter!,\n\t\t\t\t// biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined\n\t\t\t\tconfig: params.config!,\n\t\t\t}),\n\t\t...params.query,\n\t\tenabled,\n\t});\n}\n","import { queryOptions } from '@tanstack/react-query';\nimport type { SdkConfig } from '../../../types';\nimport {\n\tgetMarketplaceClient,\n\ttype QueryKeyArgs,\n\ttype ValuesOptional,\n} from '../../_internal';\nimport type { GetCollectionDetailArgs } from '../../_internal/api/marketplace.gen';\nimport { collectionKeys } from '../../_internal/api/query-keys';\nimport type { StandardQueryOptions } from '../../types/query';\n\nexport interface FetchCollectionDetailsParams\n\textends Omit<GetCollectionDetailArgs, 'chainId' | 'contractAddress'> {\n\tchainId: number;\n\tcollectionAddress: string;\n\tconfig: SdkConfig;\n}\n\n/**\n * Fetches collection details from the marketplace API\n */\nexport async function fetchCollectionDetails(\n\tparams: FetchCollectionDetailsParams,\n) {\n\tconst { collectionAddress, chainId, config, ...additionalApiParams } = params;\n\n\tconst marketplaceClient = getMarketplaceClient(config);\n\n\tconst apiArgs: GetCollectionDetailArgs = {\n\t\tcontractAddress: collectionAddress,\n\t\tchainId: String(chainId),\n\t\t...additionalApiParams,\n\t};\n\n\tconst result = await marketplaceClient.getCollectionDetail(apiArgs);\n\treturn result.collection;\n}\n\nexport type CollectionDetailsQueryOptions =\n\tValuesOptional<FetchCollectionDetailsParams> & {\n\t\tquery?: StandardQueryOptions;\n\t};\n\nexport function getCollectionDetailsQueryKey(\n\tparams: CollectionDetailsQueryOptions,\n) {\n\tconst apiArgs = {\n\t\tchainId: String(params.chainId),\n\t\tcontractAddress: params.collectionAddress,\n\t} satisfies QueryKeyArgs<GetCollectionDetailArgs>;\n\n\treturn [...collectionKeys.detail, apiArgs] as const;\n}\n\nexport function collectionDetailsQueryOptions(\n\tparams: CollectionDetailsQueryOptions,\n) {\n\tconst enabled = Boolean(\n\t\tparams.collectionAddress &&\n\t\t\tparams.chainId &&\n\t\t\tparams.config &&\n\t\t\t(params.query?.enabled ?? true),\n\t);\n\n\treturn queryOptions({\n\t\tqueryKey: getCollectionDetailsQueryKey(params),\n\t\tqueryFn: () =>\n\t\t\tfetchCollectionDetails({\n\t\t\t\t// biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined\n\t\t\t\tchainId: params.chainId!,\n\t\t\t\t// biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined\n\t\t\t\tcollectionAddress: params.collectionAddress!,\n\t\t\t\t// biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined\n\t\t\t\tconfig: params.config!,\n\t\t\t}),\n\t\t...params.query,\n\t\tenabled,\n\t});\n}\n","import { queryOptions } from '@tanstack/react-query';\nimport type { Address } from 'viem';\nimport type { Page, SdkConfig } from '../../../types';\nimport type {\n\tListCollectionActivitiesArgs,\n\tListCollectionActivitiesReturn,\n\tQueryKeyArgs,\n\tSortBy,\n\tValuesOptional,\n} from '../../_internal';\nimport { getMarketplaceClient } from '../../_internal';\nimport { collectionKeys } from '../../_internal/api';\nimport type { StandardQueryOptions } from '../../types/query';\n\nexport interface FetchListCollectionActivitiesParams\n\textends Omit<\n\t\tListCollectionActivitiesArgs,\n\t\t'chainId' | 'contractAddress' | 'page'\n\t> {\n\tchainId: number;\n\tcollectionAddress: Address;\n\tpage?: number;\n\tpageSize?: number;\n\tsort?: SortBy[];\n\tconfig: SdkConfig;\n}\n\n/**\n * Fetches collection activities from the Marketplace API\n */\nexport async function fetchListCollectionActivities(\n\tparams: FetchListCollectionActivitiesParams,\n): Promise<ListCollectionActivitiesReturn> {\n\tconst {\n\t\tcollectionAddress,\n\t\tchainId,\n\t\tconfig,\n\t\tpage,\n\t\tpageSize,\n\t\tsort,\n\t\t...additionalApiParams\n\t} = params;\n\tconst marketplaceClient = getMarketplaceClient(config);\n\n\tconst pageParams: Page | undefined =\n\t\tpage || pageSize || sort\n\t\t\t? {\n\t\t\t\t\tpage: page ?? 1,\n\t\t\t\t\tpageSize: pageSize ?? 10,\n\t\t\t\t\tsort,\n\t\t\t\t}\n\t\t\t: undefined;\n\n\tconst apiArgs: ListCollectionActivitiesArgs = {\n\t\tcontractAddress: collectionAddress,\n\t\tchainId: String(chainId),\n\t\tpage: pageParams,\n\t\t...additionalApiParams,\n\t};\n\n\treturn await marketplaceClient.listCollectionActivities(apiArgs);\n}\n\nexport type ListCollectionActivitiesQueryOptions =\n\tValuesOptional<FetchListCollectionActivitiesParams> & {\n\t\tquery?: StandardQueryOptions;\n\t};\n\nexport function getListCollectionActivitiesQueryKey(\n\tparams: ListCollectionActivitiesQueryOptions,\n) {\n\tconst page =\n\t\tparams.page || params.pageSize || params.sort\n\t\t\t? {\n\t\t\t\t\tpage: params.page ?? 1,\n\t\t\t\t\tpageSize: params.pageSize ?? 10,\n\t\t\t\t\tsort: params.sort,\n\t\t\t\t}\n\t\t\t: undefined;\n\n\tconst apiArgs = {\n\t\tchainId: String(params.chainId),\n\t\tcontractAddress: params.collectionAddress,\n\t\tpage: page,\n\t} satisfies QueryKeyArgs<ListCollectionActivitiesArgs>;\n\n\treturn [...collectionKeys.collectionActivities, apiArgs] as const;\n}\n\nexport function listCollectionActivitiesQueryOptions(\n\tparams: ListCollectionActivitiesQueryOptions,\n) {\n\tconst enabled = Boolean(\n\t\tparams.collectionAddress &&\n\t\t\tparams.chainId &&\n\t\t\tparams.config &&\n\t\t\t(params.query?.enabled ?? true),\n\t);\n\n\treturn queryOptions({\n\t\tqueryKey: getListCollectionActivitiesQueryKey(params),\n\t\tqueryFn: () =>\n\t\t\tfetchListCollectionActivities({\n\t\t\t\t// biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined\n\t\t\t\tchainId: params.chainId!,\n\t\t\t\t// biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined\n\t\t\t\tcollectionAddress: params.collectionAddress!,\n\t\t\t\t// biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined\n\t\t\t\tconfig: params.config!,\n\t\t\t\tpage: params.page,\n\t\t\t\tpageSize: params.pageSize,\n\t\t\t\tsort: params.sort,\n\t\t\t}),\n\t\t...params.query,\n\t\tenabled,\n\t});\n}\n","import type { ContractInfo } from '@0xsequence/metadata';\nimport { queryOptions, skipToken } from '@tanstack/react-query';\nimport type { CardType, SdkConfig } from '../../../types';\nimport type {\n\tMarketCollection,\n\tMarketplaceConfig,\n\tShopCollection,\n} from '../../../types/new-marketplace-types';\nimport { compareAddress } from '../../../utils';\nimport {\n\tcollectionKeys,\n\tgetMetadataClient,\n\ttype ValuesOptional,\n} from '../../_internal';\nimport type { StandardQueryOptions } from '../../types/query';\n\nconst allCollections = (marketplaceConfig: MarketplaceConfig) => {\n\treturn [\n\t\t...marketplaceConfig.market.collections,\n\t\t...marketplaceConfig.shop.collections,\n\t];\n};\n\nexport interface FetchListCollectionsParams {\n\tcardType?: CardType;\n\tmarketplaceConfig: MarketplaceConfig;\n\tconfig: SdkConfig;\n}\n\n/**\n * Fetches collections from the metadata API with marketplace config filtering\n */\nexport async function fetchListCollections(params: FetchListCollectionsParams) {\n\tconst { cardType, marketplaceConfig, config } = params;\n\tconst metadataClient = getMetadataClient(config);\n\n\tlet collections = allCollections(marketplaceConfig);\n\n\tif (!collections?.length) {\n\t\treturn [];\n\t}\n\n\tif (cardType) {\n\t\tcollections = collections.filter(\n\t\t\t(collection) => collection.cardType === cardType,\n\t\t);\n\t}\n\n\t// Group collections by chainId\n\tconst collectionsByChain = collections.reduce<Record<string, string[]>>(\n\t\t(acc, curr) => {\n\t\t\tconst { chainId, itemsAddress } = curr;\n\t\t\tif (!acc[chainId]) {\n\t\t\t\tacc[chainId] = [];\n\t\t\t}\n\t\t\tacc[chainId].push(itemsAddress);\n\t\t\treturn acc;\n\t\t},\n\t\t{},\n\t);\n\n\t// Fetch collections for each chain\n\tconst promises = Object.entries(collectionsByChain).map(\n\t\t([chainId, addresses]) =>\n\t\t\tmetadataClient\n\t\t\t\t.getContractInfoBatch({\n\t\t\t\t\tchainID: chainId,\n\t\t\t\t\tcontractAddresses: addresses,\n\t\t\t\t})\n\t\t\t\t.then((resp) => Object.values(resp.contractInfoMap)),\n\t);\n\n\tconst settled = await Promise.allSettled(promises);\n\n\t// If all promises failed, throw the first error\n\tif (settled.every((result) => result.status === 'rejected')) {\n\t\tconst firstError = settled[0] as PromiseRejectedResult;\n\t\tthrow firstError.reason;\n\t}\n\n\tconst results = settled\n\t\t.filter(\n\t\t\t(r): r is PromiseFulfilledResult<ContractInfo[]> =>\n\t\t\t\tr.status === 'fulfilled',\n\t\t)\n\t\t.flatMap((r) => r.value);\n\n\tconst collectionsWithMetadata = collections\n\t\t.map((collection) => {\n\t\t\tconst metadata = results.find((result) =>\n\t\t\t\tcompareAddress(result.address, collection.itemsAddress),\n\t\t\t);\n\t\t\treturn { collection, metadata };\n\t\t})\n\t\t.filter(\n\t\t\t(\n\t\t\t\titem,\n\t\t\t): item is {\n\t\t\t\tcollection: MarketCollection | ShopCollection;\n\t\t\t\tmetadata: ContractInfo;\n\t\t\t} => item.metadata !== undefined,\n\t\t)\n\t\t.map(({ collection, metadata }) => ({\n\t\t\t...collection,\n\t\t\t...metadata,\n\t\t}));\n\n\treturn collectionsWithMetadata;\n}\n\nexport type ListCollectionsQueryOptions =\n\tValuesOptional<FetchListCollectionsParams> & {\n\t\tquery?: StandardQueryOptions;\n\t};\n\nexport function getListCollectionsQueryKey(\n\tparams: ListCollectionsQueryOptions,\n) {\n\tconst queryKeyParams = {\n\t\tcardType: params.cardType,\n\t\tmarketplaceConfig: params.marketplaceConfig,\n\t} as const;\n\n\treturn [...collectionKeys.list, queryKeyParams] as const;\n}\n\nexport function listCollectionsQueryOptions(\n\tparams: ListCollectionsQueryOptions,\n) {\n\tconst enabled = Boolean(\n\t\tparams.marketplaceConfig &&\n\t\t\tparams.config &&\n\t\t\t(params.query?.enabled ?? true),\n\t);\n\n\treturn queryOptions({\n\t\tqueryKey: getListCollectionsQueryKey(params),\n\t\tqueryFn: enabled\n\t\t\t? () =>\n\t\t\t\t\tfetchListCollections({\n\t\t\t\t\t\t// biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined\n\t\t\t\t\t\tmarketplaceConfig: params.marketplaceConfig!,\n\t\t\t\t\t\t// biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined\n\t\t\t\t\t\tconfig: params.config!,\n\t\t\t\t\t\tcardType: params.cardType,\n\t\t\t\t\t})\n\t\t\t: skipToken,\n\t\t...params.query,\n\t\tenabled,\n\t});\n}\n\n// Keep old function for backward compatibility during migration\nexport const listCollectionsOptions = ({\n\tcardType,\n\tmarketplaceConfig,\n\tconfig,\n}: {\n\tcardType?: CardType;\n\tmarketplaceConfig: MarketplaceConfig | undefined;\n\tconfig: SdkConfig;\n}) => {\n\treturn queryOptions({\n\t\tqueryKey: [...collectionKeys.list, { cardType, marketplaceConfig, config }],\n\t\tqueryFn: marketplaceConfig\n\t\t\t? () =>\n\t\t\t\t\tfetchListCollections({\n\t\t\t\t\t\tmarketplaceConfig,\n\t\t\t\t\t\tconfig,\n\t\t\t\t\t\tcardType,\n\t\t\t\t\t})\n\t\t\t: skipToken,\n\t\tenabled: Boolean(marketplaceConfig),\n\t});\n};\n"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
- import { ContractType } from "./marketplace.gen-ksUafDqS.js";
2
- import { compareAddress } from "./utils-BfpDVibN.js";
3
- import { BellIcon_default } from "./BellIcon-ByhygxBO.js";
4
- import { formatPriceNumber, getSupplyStatusText } from "./utils-BqxcalL2.js";
1
+ import { ContractType$1 as ContractType } from "./marketplace.gen-906FrJQJ.js";
2
+ import { compareAddress } from "./utils-9ToOvt-c.js";
3
+ import { BellIcon_default } from "./BellIcon-DMKEumAz.js";
4
+ import { formatPriceNumber, getSupplyStatusText } from "./utils-B6di6O-C.js";
5
5
  import { useAccount } from "wagmi";
6
6
  import { ChevronLeftIcon, ChevronRightIcon, IconButton, Image, Text, cn } from "@0xsequence/design-system";
7
7
  import { jsx, jsxs } from "react/jsx-runtime";
@@ -22,9 +22,12 @@ const FooterName = ({ name, isShop, highestOffer, onOfferClick, quantityInitial,
22
22
  className: cn("overflow-hidden text-ellipsis text-left font-body font-bold text-sm text-text-100", isShop && (quantityInitial === void 0 || quantityRemaining === void 0) && "text-text-50"),
23
23
  children: displayName || "Untitled"
24
24
  }), highestOffer && onOfferClick && !isShop && (() => {
25
- const canAcceptOffer = !(currentUserAddress && highestOffer.createdBy && compareAddress(highestOffer.createdBy, currentUserAddress)) && balance && Number(balance) > 0;
25
+ const isOfferMadeBySelf = currentUserAddress && highestOffer.createdBy && compareAddress(highestOffer.createdBy, currentUserAddress);
26
+ const userOwnsToken = balance && Number(balance) > 0;
27
+ const canAcceptOffer = !isOfferMadeBySelf && userOwnsToken;
28
+ const shouldDisable = !canAcceptOffer;
26
29
  return /* @__PURE__ */ jsx(IconButton, {
27
- className: `absolute top-0 right-0 z-10 h-[22px] w-[22px] ${!canAcceptOffer ? "opacity-50 hover:animate-none hover:opacity-50" : "hover:animate-bell-ring"}`,
30
+ className: `absolute top-0 right-0 z-10 h-[22px] w-[22px] ${shouldDisable ? "opacity-50 hover:animate-none hover:opacity-50" : "hover:animate-bell-ring"}`,
28
31
  size: "xs",
29
32
  variant: "primary",
30
33
  onClick: (e) => {
@@ -49,7 +52,8 @@ const FooterName = ({ name, isShop, highestOffer, onOfferClick, quantityInitial,
49
52
  //#region src/react/ui/components/marketplace-collectible-card/components/footer/components/PriceDisplay.tsx
50
53
  const formatPrice = (amount, currency) => {
51
54
  const { formattedNumber, isUnderflow, isOverflow } = formatPriceNumber(amount, currency.decimals);
52
- if (amount === "0") return /* @__PURE__ */ jsx(Text, {
55
+ const isFree = amount === "0";
56
+ if (isFree) return /* @__PURE__ */ jsx(Text, {
53
57
  className: "font-bold text-sm text-text-100",
54
58
  children: "Free"
55
59
  });
@@ -115,5 +119,5 @@ const TokenTypeBalancePill = ({ balance, type, decimals }) => {
115
119
  };
116
120
 
117
121
  //#endregion
118
- export { FooterName, PriceDisplay, SaleDetailsPill, TokenTypeBalancePill, formatPrice };
119
- //# sourceMappingURL=components-CosnX7F9.js.map
122
+ export { FooterName, PriceDisplay, SaleDetailsPill, TokenTypeBalancePill, formatPrice as formatPrice$1 };
123
+ //# sourceMappingURL=components-CY8kx2kb.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"components-CY8kx2kb.js","names":["SvgBellIcon","amount: string","currency: Currency"],"sources":["../src/react/ui/components/marketplace-collectible-card/components/footer/components/FooterName.tsx","../src/react/ui/components/marketplace-collectible-card/components/footer/components/PriceDisplay.tsx","../src/react/ui/components/marketplace-collectible-card/components/footer/components/SaleDetailsPill.tsx","../src/react/ui/components/marketplace-collectible-card/components/footer/components/TokenTypeBalancePill.tsx"],"sourcesContent":["'use client';\n\nimport { cn, IconButton, Text } from '@0xsequence/design-system';\nimport { useAccount } from 'wagmi';\nimport { compareAddress } from '../../../../../../../utils/address';\nimport type { Order } from '../../../../../../_internal';\nimport SvgBellIcon from '../../../../../icons/BellIcon';\n\ninterface FooterNameProps {\n\tname: string;\n\tisShop?: boolean;\n\thighestOffer?: Order;\n\tonOfferClick?: (e: React.MouseEvent<HTMLButtonElement>) => void;\n\tquantityInitial?: string;\n\tquantityRemaining?: string;\n\tbalance?: string;\n}\n\nexport const FooterName = ({\n\tname,\n\tisShop,\n\thighestOffer,\n\tonOfferClick,\n\tquantityInitial,\n\tquantityRemaining,\n\tbalance,\n}: FooterNameProps) => {\n\tconst { address: currentUserAddress } = useAccount();\n\tconst displayName = (() => {\n\t\tif (name.length > 15 && highestOffer && !isShop) {\n\t\t\treturn `${name.substring(0, 13)}...`;\n\t\t}\n\t\tif (name.length > 17 && !highestOffer && !isShop) {\n\t\t\treturn `${name.substring(0, 17)}...`;\n\t\t}\n\t\tif (name.length > 17) {\n\t\t\treturn `${name.substring(0, 17)}...`;\n\t\t}\n\t\treturn name;\n\t})();\n\n\treturn (\n\t\t<div className=\"relative flex w-full items-center justify-between\">\n\t\t\t<Text\n\t\t\t\tclassName={cn(\n\t\t\t\t\t'overflow-hidden text-ellipsis text-left font-body font-bold text-sm text-text-100',\n\t\t\t\t\tisShop &&\n\t\t\t\t\t\t(quantityInitial === undefined ||\n\t\t\t\t\t\t\tquantityRemaining === undefined) &&\n\t\t\t\t\t\t'text-text-50',\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t{displayName || 'Untitled'}\n\t\t\t</Text>\n\n\t\t\t{highestOffer &&\n\t\t\t\tonOfferClick &&\n\t\t\t\t!isShop &&\n\t\t\t\t(() => {\n\t\t\t\t\t// Check if the current user made the offer\n\t\t\t\t\tconst isOfferMadeBySelf =\n\t\t\t\t\t\tcurrentUserAddress &&\n\t\t\t\t\t\thighestOffer.createdBy &&\n\t\t\t\t\t\tcompareAddress(highestOffer.createdBy, currentUserAddress);\n\n\t\t\t\t\t// Check if user owns the token (has balance > 0)\n\t\t\t\t\tconst userOwnsToken = balance && Number(balance) > 0;\n\n\t\t\t\t\t// Can accept offer: didn't make the offer AND owns the token\n\t\t\t\t\tconst canAcceptOffer = !isOfferMadeBySelf && userOwnsToken;\n\n\t\t\t\t\t// Should show disabled styling: can't accept offer\n\t\t\t\t\tconst shouldDisable = !canAcceptOffer;\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<IconButton\n\t\t\t\t\t\t\tclassName={`absolute top-0 right-0 z-10 h-[22px] w-[22px] ${shouldDisable ? 'opacity-50 hover:animate-none hover:opacity-50' : 'hover:animate-bell-ring'}`}\n\t\t\t\t\t\t\tsize=\"xs\"\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\tonClick={(e) => {\n\t\t\t\t\t\t\t\tif (!canAcceptOffer) {\n\t\t\t\t\t\t\t\t\t// For cases where user can't accept offer (offer maker or non-owner), allow normal wrapper behavior\n\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t// Only stop propagation and open offer modal if user can accept the offer\n\t\t\t\t\t\t\t\te.stopPropagation();\n\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\tonOfferClick?.(e);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tonMouseEnter={(e) => {\n\t\t\t\t\t\t\t\tif (canAcceptOffer) {\n\t\t\t\t\t\t\t\t\t// Only prevent parent hover effects when user can accept offer\n\t\t\t\t\t\t\t\t\te.stopPropagation();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\ticon={(props) => <SvgBellIcon {...props} size=\"xs\" />}\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t})()}\n\t\t</div>\n\t);\n};\n","'use client';\n\nimport {\n\tChevronLeftIcon,\n\tChevronRightIcon,\n\tcn,\n\tImage,\n\tText,\n} from '@0xsequence/design-system';\nimport type { Currency } from '../../../../../../_internal';\nimport { formatPriceNumber } from '../../../utils';\n\ninterface PriceDisplayProps {\n\tamount: string;\n\tcurrency: Currency;\n\tshowCurrencyIcon?: boolean;\n\tclassName?: string;\n}\n\nexport const formatPrice = (\n\tamount: string,\n\tcurrency: Currency,\n): React.ReactNode => {\n\tconst { formattedNumber, isUnderflow, isOverflow } = formatPriceNumber(\n\t\tamount,\n\t\tcurrency.decimals,\n\t);\n\tconst isFree = amount === '0';\n\n\tif (isFree) {\n\t\treturn <Text className=\"font-bold text-sm text-text-100\">Free</Text>;\n\t}\n\n\tif (isUnderflow) {\n\t\treturn (\n\t\t\t<div className=\"flex items-center\">\n\t\t\t\t<ChevronLeftIcon className=\"h-3 w-3 text-text-100\" />\n\t\t\t\t<Text className=\"font-bold text-sm text-text-100\">{`${formattedNumber} ${currency.symbol}`}</Text>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif (isOverflow) {\n\t\treturn (\n\t\t\t<div className=\"flex items-center\">\n\t\t\t\t<ChevronRightIcon className=\"h-3 w-3 text-text-100\" />\n\t\t\t\t<Text className=\"font-bold text-sm text-text-100\">{`${formattedNumber} ${currency.symbol}`}</Text>\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<Text className=\"font-bold text-sm text-text-100\">\n\t\t\t{formattedNumber} {currency.symbol}\n\t\t</Text>\n\t);\n};\n\nexport const PriceDisplay = ({\n\tamount,\n\tcurrency,\n\tshowCurrencyIcon = true,\n\tclassName,\n}: PriceDisplayProps) => {\n\treturn (\n\t\t<div className={cn('flex items-center gap-1', className)}>\n\t\t\t{showCurrencyIcon && currency.imageUrl && (\n\t\t\t\t<Image\n\t\t\t\t\talt={currency.symbol}\n\t\t\t\t\tclassName=\"h-3 w-3\"\n\t\t\t\t\tsrc={currency.imageUrl}\n\t\t\t\t\tonError={(e) => {\n\t\t\t\t\t\te.currentTarget.style.display = 'none';\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t{formatPrice(amount, currency)}\n\t\t</div>\n\t);\n};\n","'use client';\n\nimport { Text } from '@0xsequence/design-system';\nimport type { ContractType } from '../../../../../../_internal';\nimport { getSupplyStatusText } from '../../../utils';\n\ninterface SaleDetailsPillProps {\n\tquantityRemaining: string | undefined;\n\tcollectionType: ContractType;\n\tunlimitedSupply?: boolean;\n}\n\nexport const SaleDetailsPill = ({\n\tquantityRemaining,\n\tcollectionType,\n\tunlimitedSupply,\n}: SaleDetailsPillProps) => {\n\tconst supplyText = getSupplyStatusText({\n\t\tquantityRemaining,\n\t\tcollectionType,\n\t\tunlimitedSupply,\n\t});\n\n\treturn (\n\t\t<Text className=\"rounded-lg bg-background-secondary px-2 py-1 text-left font-medium text-text-80 text-xs\">\n\t\t\t{supplyText}\n\t\t</Text>\n\t);\n};\n","'use client';\n\nimport { Text } from '@0xsequence/design-system';\nimport { formatUnits } from 'viem';\nimport { ContractType } from '../../../../../../_internal';\n\ninterface TokenTypeBalancePillProps {\n\tbalance?: string;\n\ttype: ContractType;\n\tdecimals?: number;\n}\n\nexport const TokenTypeBalancePill = ({\n\tbalance,\n\ttype,\n\tdecimals,\n}: TokenTypeBalancePillProps) => {\n\tconst displayText =\n\t\ttype === ContractType.ERC1155\n\t\t\t? balance\n\t\t\t\t? `Owned: ${formatUnits(BigInt(balance), decimals ?? 0)}`\n\t\t\t\t: 'ERC-1155'\n\t\t\t: 'ERC-721';\n\n\treturn (\n\t\t<Text className=\"rounded-lg bg-background-secondary px-2 py-1 text-left font-medium text-text-80 text-xs\">\n\t\t\t{displayText}\n\t\t</Text>\n\t);\n};\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { ContractType } from "./marketplace.gen-ksUafDqS.js";
1
+ import { ContractType$1 as ContractType } from "./marketplace.gen-906FrJQJ.js";
2
2
  import { ERC1155_SALES_CONTRACT_ABI_V0, ERC1155_SALES_CONTRACT_ABI_V1, ERC721_SALE_ABI_V0, ERC721_SALE_ABI_V1 } from "./primary-sale-1u4QlPdA.js";
3
3
  import { useReadContract } from "wagmi";
4
4
  import { useMemo } from "react";
@@ -73,12 +73,13 @@ function useSalesContractABI({ contractAddress, contractType, chainId, enabled =
73
73
  error: null
74
74
  };
75
75
  }
76
+ const error = v0Error || v1Error;
76
77
  return {
77
78
  version: null,
78
79
  abi: null,
79
80
  contractType: null,
80
81
  isLoading: false,
81
- error: v0Error || v1Error
82
+ error
82
83
  };
83
84
  }, [
84
85
  v1Data,
@@ -93,4 +94,4 @@ function useSalesContractABI({ contractAddress, contractType, chainId, enabled =
93
94
 
94
95
  //#endregion
95
96
  export { SalesContractVersion, useSalesContractABI };
96
- //# sourceMappingURL=contracts-BP_0vX48.js.map
97
+ //# sourceMappingURL=contracts-DRJHF89h.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"contracts-BP_0vX48.js","names":[],"sources":["../src/react/hooks/contracts/useSalesContractABI.ts"],"sourcesContent":["import { useMemo } from 'react';\nimport type { Address } from 'viem';\nimport { useReadContract } from 'wagmi';\nimport {\n\tERC721_SALE_ABI_V0,\n\tERC721_SALE_ABI_V1,\n\tERC1155_SALES_CONTRACT_ABI_V0,\n\tERC1155_SALES_CONTRACT_ABI_V1,\n} from '../../../utils/abi';\nimport { ContractType } from '../../_internal';\n\nexport enum SalesContractVersion {\n\tV0 = 'v0',\n\tV1 = 'v1',\n}\n\ninterface UseSalesContractABIProps {\n\tcontractAddress: Address;\n\tcontractType: ContractType.ERC721 | ContractType.ERC1155;\n\tchainId: number;\n\tenabled?: boolean;\n}\n\ntype UseSalesContractABIResult =\n\t| {\n\t\t\tversion: null;\n\t\t\tabi: null;\n\t\t\tcontractType: null;\n\t\t\tisLoading: true;\n\t\t\terror: null;\n\t }\n\t| {\n\t\t\tversion: SalesContractVersion.V0;\n\t\t\tabi: typeof ERC721_SALE_ABI_V0;\n\t\t\tcontractType: ContractType.ERC721;\n\t\t\tisLoading: false;\n\t\t\terror: null;\n\t }\n\t| {\n\t\t\tversion: SalesContractVersion.V0;\n\t\t\tabi: typeof ERC1155_SALES_CONTRACT_ABI_V0;\n\t\t\tcontractType: ContractType.ERC1155;\n\t\t\tisLoading: false;\n\t\t\terror: null;\n\t }\n\t| {\n\t\t\tversion: SalesContractVersion.V1;\n\t\t\tabi: typeof ERC721_SALE_ABI_V1;\n\t\t\tcontractType: ContractType.ERC721;\n\t\t\tisLoading: false;\n\t\t\terror: null;\n\t }\n\t| {\n\t\t\tversion: SalesContractVersion.V1;\n\t\t\tabi: typeof ERC1155_SALES_CONTRACT_ABI_V1;\n\t\t\tcontractType: ContractType.ERC1155;\n\t\t\tisLoading: false;\n\t\t\terror: null;\n\t }\n\t| {\n\t\t\tversion: null;\n\t\t\tabi: null;\n\t\t\tcontractType: null;\n\t\t\tisLoading: false;\n\t\t\terror: Error;\n\t };\n\nexport function useSalesContractABI({\n\tcontractAddress,\n\tcontractType,\n\tchainId,\n\tenabled = true,\n}: UseSalesContractABIProps): UseSalesContractABIResult {\n\tconst functionName =\n\t\tcontractType === ContractType.ERC721 ? 'saleDetails' : 'tokenSaleDetails';\n\n\tconst {\n\t\tdata: v1Data,\n\t\tisLoading: v1Loading,\n\t\terror: v1Error,\n\t} = useReadContract({\n\t\taddress: contractAddress,\n\t\tabi:\n\t\t\tcontractType === ContractType.ERC721\n\t\t\t\t? ERC721_SALE_ABI_V1\n\t\t\t\t: ERC1155_SALES_CONTRACT_ABI_V1,\n\t\tfunctionName,\n\t\targs: contractType === ContractType.ERC1155 ? [0n] : undefined,\n\t\tchainId,\n\t\tquery: {\n\t\t\tenabled,\n\t\t\tretry: false,\n\t\t},\n\t});\n\n\t// If V1 fails, try with V0 ABI, see enabled query\n\tconst {\n\t\tdata: v0Data,\n\t\tisLoading: v0Loading,\n\t\terror: v0Error,\n\t} = useReadContract({\n\t\taddress: contractAddress,\n\t\tabi:\n\t\t\tcontractType === ContractType.ERC721\n\t\t\t\t? ERC721_SALE_ABI_V0\n\t\t\t\t: ERC1155_SALES_CONTRACT_ABI_V0,\n\t\tfunctionName,\n\t\targs: contractType === ContractType.ERC1155 ? [0n] : undefined,\n\t\tchainId,\n\t\tquery: {\n\t\t\tenabled: enabled && !!v1Error && !v1Loading, // Only try V0 if V1 failed\n\t\t\tretry: false,\n\t\t},\n\t});\n\n\treturn useMemo(() => {\n\t\tif (v1Loading || (v1Error && v0Loading)) {\n\t\t\treturn {\n\t\t\t\tversion: null,\n\t\t\t\tabi: null,\n\t\t\t\tcontractType: null,\n\t\t\t\tisLoading: true,\n\t\t\t\terror: null,\n\t\t\t};\n\t\t}\n\n\t\tif (v1Data && !v1Error) {\n\t\t\tif (contractType === ContractType.ERC721) {\n\t\t\t\treturn {\n\t\t\t\t\tversion: SalesContractVersion.V1,\n\t\t\t\t\tabi: ERC721_SALE_ABI_V1,\n\t\t\t\t\tcontractType: ContractType.ERC721,\n\t\t\t\t\tisLoading: false,\n\t\t\t\t\terror: null,\n\t\t\t\t};\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tversion: SalesContractVersion.V1,\n\t\t\t\tabi: ERC1155_SALES_CONTRACT_ABI_V1,\n\t\t\t\tcontractType: ContractType.ERC1155,\n\t\t\t\tisLoading: false,\n\t\t\t\terror: null,\n\t\t\t};\n\t\t}\n\n\t\tif (v0Data && !v0Error) {\n\t\t\tif (contractType === ContractType.ERC721) {\n\t\t\t\treturn {\n\t\t\t\t\tversion: SalesContractVersion.V0,\n\t\t\t\t\tabi: ERC721_SALE_ABI_V0,\n\t\t\t\t\tcontractType: ContractType.ERC721,\n\t\t\t\t\tisLoading: false,\n\t\t\t\t\terror: null,\n\t\t\t\t};\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tversion: SalesContractVersion.V0,\n\t\t\t\tabi: ERC1155_SALES_CONTRACT_ABI_V0,\n\t\t\t\tcontractType: ContractType.ERC1155,\n\t\t\t\tisLoading: false,\n\t\t\t\terror: null,\n\t\t\t};\n\t\t}\n\n\t\tconst error = v0Error || v1Error;\n\t\treturn {\n\t\t\tversion: null,\n\t\t\tabi: null,\n\t\t\tcontractType: null,\n\t\t\tisLoading: false,\n\t\t\terror: error as Error,\n\t\t};\n\t}, [v1Data, v1Error, v1Loading, v0Data, v0Error, v0Loading, contractType]);\n}\n"],"mappings":";;;;;;AAWA,IAAY,wEAAL;AACN;AACA;;;AAsDD,SAAgB,oBAAoB,EACnC,iBACA,cACA,SACA,UAAU,QAC6C;CACvD,MAAM,eACL,iBAAiB,aAAa,SAAS,gBAAgB;CAExD,MAAM,EACL,MAAM,QACN,WAAW,WACX,OAAO,YACJ,gBAAgB;EACnB,SAAS;EACT,KACC,iBAAiB,aAAa,SAC3B,qBACA;EACJ;EACA,MAAM,iBAAiB,aAAa,UAAU,CAAC,GAAG,GAAG;EACrD;EACA,OAAO;GACN;GACA,OAAO;GACP;EACD,CAAC;CAGF,MAAM,EACL,MAAM,QACN,WAAW,WACX,OAAO,YACJ,gBAAgB;EACnB,SAAS;EACT,KACC,iBAAiB,aAAa,SAC3B,qBACA;EACJ;EACA,MAAM,iBAAiB,aAAa,UAAU,CAAC,GAAG,GAAG;EACrD;EACA,OAAO;GACN,SAAS,WAAW,CAAC,CAAC,WAAW,CAAC;GAClC,OAAO;GACP;EACD,CAAC;AAEF,QAAO,cAAc;AACpB,MAAI,aAAc,WAAW,UAC5B,QAAO;GACN,SAAS;GACT,KAAK;GACL,cAAc;GACd,WAAW;GACX,OAAO;GACP;AAGF,MAAI,UAAU,CAAC,SAAS;AACvB,OAAI,iBAAiB,aAAa,OACjC,QAAO;IACN,SAAS,qBAAqB;IAC9B,KAAK;IACL,cAAc,aAAa;IAC3B,WAAW;IACX,OAAO;IACP;AAEF,UAAO;IACN,SAAS,qBAAqB;IAC9B,KAAK;IACL,cAAc,aAAa;IAC3B,WAAW;IACX,OAAO;IACP;;AAGF,MAAI,UAAU,CAAC,SAAS;AACvB,OAAI,iBAAiB,aAAa,OACjC,QAAO;IACN,SAAS,qBAAqB;IAC9B,KAAK;IACL,cAAc,aAAa;IAC3B,WAAW;IACX,OAAO;IACP;AAEF,UAAO;IACN,SAAS,qBAAqB;IAC9B,KAAK;IACL,cAAc,aAAa;IAC3B,WAAW;IACX,OAAO;IACP;;AAIF,SAAO;GACN,SAAS;GACT,KAAK;GACL,cAAc;GACd,WAAW;GACX,OANa,WAAW;GAOxB;IACC;EAAC;EAAQ;EAAS;EAAW;EAAQ;EAAS;EAAW;EAAa,CAAC"}
1
+ {"version":3,"file":"contracts-DRJHF89h.js","names":[],"sources":["../src/react/hooks/contracts/useSalesContractABI.ts"],"sourcesContent":["import { useMemo } from 'react';\nimport type { Address } from 'viem';\nimport { useReadContract } from 'wagmi';\nimport {\n\tERC721_SALE_ABI_V0,\n\tERC721_SALE_ABI_V1,\n\tERC1155_SALES_CONTRACT_ABI_V0,\n\tERC1155_SALES_CONTRACT_ABI_V1,\n} from '../../../utils/abi';\nimport { ContractType } from '../../_internal';\n\nexport enum SalesContractVersion {\n\tV0 = 'v0',\n\tV1 = 'v1',\n}\n\ninterface UseSalesContractABIProps {\n\tcontractAddress: Address;\n\tcontractType: ContractType.ERC721 | ContractType.ERC1155;\n\tchainId: number;\n\tenabled?: boolean;\n}\n\ntype UseSalesContractABIResult =\n\t| {\n\t\t\tversion: null;\n\t\t\tabi: null;\n\t\t\tcontractType: null;\n\t\t\tisLoading: true;\n\t\t\terror: null;\n\t }\n\t| {\n\t\t\tversion: SalesContractVersion.V0;\n\t\t\tabi: typeof ERC721_SALE_ABI_V0;\n\t\t\tcontractType: ContractType.ERC721;\n\t\t\tisLoading: false;\n\t\t\terror: null;\n\t }\n\t| {\n\t\t\tversion: SalesContractVersion.V0;\n\t\t\tabi: typeof ERC1155_SALES_CONTRACT_ABI_V0;\n\t\t\tcontractType: ContractType.ERC1155;\n\t\t\tisLoading: false;\n\t\t\terror: null;\n\t }\n\t| {\n\t\t\tversion: SalesContractVersion.V1;\n\t\t\tabi: typeof ERC721_SALE_ABI_V1;\n\t\t\tcontractType: ContractType.ERC721;\n\t\t\tisLoading: false;\n\t\t\terror: null;\n\t }\n\t| {\n\t\t\tversion: SalesContractVersion.V1;\n\t\t\tabi: typeof ERC1155_SALES_CONTRACT_ABI_V1;\n\t\t\tcontractType: ContractType.ERC1155;\n\t\t\tisLoading: false;\n\t\t\terror: null;\n\t }\n\t| {\n\t\t\tversion: null;\n\t\t\tabi: null;\n\t\t\tcontractType: null;\n\t\t\tisLoading: false;\n\t\t\terror: Error;\n\t };\n\nexport function useSalesContractABI({\n\tcontractAddress,\n\tcontractType,\n\tchainId,\n\tenabled = true,\n}: UseSalesContractABIProps): UseSalesContractABIResult {\n\tconst functionName =\n\t\tcontractType === ContractType.ERC721 ? 'saleDetails' : 'tokenSaleDetails';\n\n\tconst {\n\t\tdata: v1Data,\n\t\tisLoading: v1Loading,\n\t\terror: v1Error,\n\t} = useReadContract({\n\t\taddress: contractAddress,\n\t\tabi:\n\t\t\tcontractType === ContractType.ERC721\n\t\t\t\t? ERC721_SALE_ABI_V1\n\t\t\t\t: ERC1155_SALES_CONTRACT_ABI_V1,\n\t\tfunctionName,\n\t\targs: contractType === ContractType.ERC1155 ? [0n] : undefined,\n\t\tchainId,\n\t\tquery: {\n\t\t\tenabled,\n\t\t\tretry: false,\n\t\t},\n\t});\n\n\t// If V1 fails, try with V0 ABI, see enabled query\n\tconst {\n\t\tdata: v0Data,\n\t\tisLoading: v0Loading,\n\t\terror: v0Error,\n\t} = useReadContract({\n\t\taddress: contractAddress,\n\t\tabi:\n\t\t\tcontractType === ContractType.ERC721\n\t\t\t\t? ERC721_SALE_ABI_V0\n\t\t\t\t: ERC1155_SALES_CONTRACT_ABI_V0,\n\t\tfunctionName,\n\t\targs: contractType === ContractType.ERC1155 ? [0n] : undefined,\n\t\tchainId,\n\t\tquery: {\n\t\t\tenabled: enabled && !!v1Error && !v1Loading, // Only try V0 if V1 failed\n\t\t\tretry: false,\n\t\t},\n\t});\n\n\treturn useMemo(() => {\n\t\tif (v1Loading || (v1Error && v0Loading)) {\n\t\t\treturn {\n\t\t\t\tversion: null,\n\t\t\t\tabi: null,\n\t\t\t\tcontractType: null,\n\t\t\t\tisLoading: true,\n\t\t\t\terror: null,\n\t\t\t};\n\t\t}\n\n\t\tif (v1Data && !v1Error) {\n\t\t\tif (contractType === ContractType.ERC721) {\n\t\t\t\treturn {\n\t\t\t\t\tversion: SalesContractVersion.V1,\n\t\t\t\t\tabi: ERC721_SALE_ABI_V1,\n\t\t\t\t\tcontractType: ContractType.ERC721,\n\t\t\t\t\tisLoading: false,\n\t\t\t\t\terror: null,\n\t\t\t\t};\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tversion: SalesContractVersion.V1,\n\t\t\t\tabi: ERC1155_SALES_CONTRACT_ABI_V1,\n\t\t\t\tcontractType: ContractType.ERC1155,\n\t\t\t\tisLoading: false,\n\t\t\t\terror: null,\n\t\t\t};\n\t\t}\n\n\t\tif (v0Data && !v0Error) {\n\t\t\tif (contractType === ContractType.ERC721) {\n\t\t\t\treturn {\n\t\t\t\t\tversion: SalesContractVersion.V0,\n\t\t\t\t\tabi: ERC721_SALE_ABI_V0,\n\t\t\t\t\tcontractType: ContractType.ERC721,\n\t\t\t\t\tisLoading: false,\n\t\t\t\t\terror: null,\n\t\t\t\t};\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tversion: SalesContractVersion.V0,\n\t\t\t\tabi: ERC1155_SALES_CONTRACT_ABI_V0,\n\t\t\t\tcontractType: ContractType.ERC1155,\n\t\t\t\tisLoading: false,\n\t\t\t\terror: null,\n\t\t\t};\n\t\t}\n\n\t\tconst error = v0Error || v1Error;\n\t\treturn {\n\t\t\tversion: null,\n\t\t\tabi: null,\n\t\t\tcontractType: null,\n\t\t\tisLoading: false,\n\t\t\terror: error as Error,\n\t\t};\n\t}, [v1Data, v1Error, v1Loading, v0Data, v0Error, v0Loading, contractType]);\n}\n"],"mappings":";;;;;;AAWA,IAAY,wEAAL;AACN;AACA;;AACA;AAqDD,SAAgB,oBAAoB,EACnC,iBACA,cACA,SACA,UAAU,MACgB,EAA6B;CACvD,MAAM,eACL,iBAAiB,aAAa,SAAS,gBAAgB;CAExD,MAAM,EACL,MAAM,QACN,WAAW,WACX,OAAO,SACP,GAAG,gBAAgB;EACnB,SAAS;EACT,KACC,iBAAiB,aAAa,SAC3B,qBACA;EACJ;EACA,MAAM,iBAAiB,aAAa,UAAU,CAAC,EAAG;EAClD;EACA,OAAO;GACN;GACA,OAAO;EACP;CACD,EAAC;CAGF,MAAM,EACL,MAAM,QACN,WAAW,WACX,OAAO,SACP,GAAG,gBAAgB;EACnB,SAAS;EACT,KACC,iBAAiB,aAAa,SAC3B,qBACA;EACJ;EACA,MAAM,iBAAiB,aAAa,UAAU,CAAC,EAAG;EAClD;EACA,OAAO;GACN,SAAS,aAAa,YAAY;GAClC,OAAO;EACP;CACD,EAAC;AAEF,QAAO,QAAQ,MAAM;AACpB,MAAI,aAAc,WAAW,UAC5B,QAAO;GACN,SAAS;GACT,KAAK;GACL,cAAc;GACd,WAAW;GACX,OAAO;EACP;AAGF,MAAI,WAAW,SAAS;AACvB,OAAI,iBAAiB,aAAa,OACjC,QAAO;IACN,SAAS,qBAAqB;IAC9B,KAAK;IACL,cAAc,aAAa;IAC3B,WAAW;IACX,OAAO;GACP;AAEF,UAAO;IACN,SAAS,qBAAqB;IAC9B,KAAK;IACL,cAAc,aAAa;IAC3B,WAAW;IACX,OAAO;GACP;EACD;AAED,MAAI,WAAW,SAAS;AACvB,OAAI,iBAAiB,aAAa,OACjC,QAAO;IACN,SAAS,qBAAqB;IAC9B,KAAK;IACL,cAAc,aAAa;IAC3B,WAAW;IACX,OAAO;GACP;AAEF,UAAO;IACN,SAAS,qBAAqB;IAC9B,KAAK;IACL,cAAc,aAAa;IAC3B,WAAW;IACX,OAAO;GACP;EACD;EAED,MAAM,QAAQ,WAAW;AACzB,SAAO;GACN,SAAS;GACT,KAAK;GACL,cAAc;GACd,WAAW;GACJ;EACP;CACD,GAAE;EAAC;EAAQ;EAAS;EAAW;EAAQ;EAAS;EAAW;CAAa,EAAC;AAC1E"}
@@ -1,5 +1,5 @@
1
- import { MarketplaceWalletType } from "./builder.gen-B9wR2nvF.js";
2
- import { networkToWagmiChain } from "./networkconfigToWagmiChain-DbUf6HiO.js";
1
+ import { MarketplaceWalletType } from "./builder.gen--XD71cNL.js";
2
+ import { networkToWagmiChain$1 as networkToWagmiChain } from "./networkconfigToWagmiChain-Ct-hGq8M.js";
3
3
  import { MissingConfigError } from "./transaction-DZUW5RHu.js";
4
4
  import { allNetworks, findNetworkConfig } from "@0xsequence/network";
5
5
  import { cookieStorage, createConfig, createStorage, http } from "wagmi";
@@ -147,7 +147,8 @@ function getWagmiChainsAndTransports({ marketplaceConfig, sdkConfig }) {
147
147
  };
148
148
  }
149
149
  function getChainConfigs(_marketConfig) {
150
- return Object.values(allNetworks).map(networkToWagmiChain);
150
+ const chains = Object.values(allNetworks).map(networkToWagmiChain);
151
+ return chains;
151
152
  }
152
153
  function getTransportConfigs(chains, projectAccessKey, nodeGatewayEnv, nodeGatewayUrl) {
153
154
  return chains.reduce((acc, chain) => {
@@ -167,5 +168,5 @@ function getTransportConfigs(chains, projectAccessKey, nodeGatewayEnv, nodeGatew
167
168
  }
168
169
 
169
170
  //#endregion
170
- export { DEFAULT_NETWORK, createWagmiConfig, getConnectors, getEcosystemConnector, getWaasConnectors, getWagmiChainsAndTransports };
171
- //# sourceMappingURL=create-config-CIfejoCk.js.map
171
+ export { DEFAULT_NETWORK as DEFAULT_NETWORK$1, createWagmiConfig as createWagmiConfig$1, getConnectors as getConnectors$1, getEcosystemConnector as getEcosystemConnector$1, getWaasConnectors as getWaasConnectors$1, getWagmiChainsAndTransports as getWagmiChainsAndTransports$1 };
172
+ //# sourceMappingURL=create-config-BxyfYCEk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-config-BxyfYCEk.js","names":["marketplaceConfig: MarketplaceConfig","sdkConfig: SdkConfig","config: SdkConfig","wallets: Wallet[]","url: string | undefined","name: string","env: Env","marketplaceConfig: MarketplaceConfig","sdkConfig: SdkConfig","ssr?: boolean","_marketConfig: MarketplaceConfig","chains: [Chain, ...Chain[]]","projectAccessKey: string","nodeGatewayEnv: Env | undefined","nodeGatewayUrl?: string","rpcUrl: string"],"sources":["../src/react/_internal/consts.ts","../src/react/_internal/wagmi/get-connectors.ts","../src/react/_internal/wagmi/create-config.ts"],"sourcesContent":["export const DEFAULT_NETWORK = 137;\n","import {\n\tapple,\n\tappleWaas,\n\tcoinbaseWallet,\n\tecosystemWallet,\n\temail,\n\temailWaas,\n\tfacebook,\n\tgetConnectWallets,\n\tgoogle,\n\tgoogleWaas,\n\ttype SequenceOptions,\n\tsequence,\n\ttwitch,\n\ttype Wallet,\n\twalletConnect,\n} from '@0xsequence/connect';\nimport React, { type FunctionComponent } from 'react';\nimport type { CreateConnectorFn } from 'wagmi';\nimport type { Env, SdkConfig } from '../../../types/index';\nimport type { MarketplaceConfig } from '../../../types/new-marketplace-types';\nimport { MissingConfigError } from '../../../utils/_internal/error/transaction';\nimport { MarketplaceWalletType } from '../api/builder.gen';\nimport { DEFAULT_NETWORK } from '../consts';\n\nexport function getConnectors({\n\tmarketplaceConfig,\n\tsdkConfig,\n\twalletType,\n}: {\n\tmarketplaceConfig: MarketplaceConfig;\n\tsdkConfig: SdkConfig;\n\twalletType: MarketplaceWalletType;\n}): CreateConnectorFn[] {\n\tconst connectors = commonConnectors(marketplaceConfig, sdkConfig);\n\n\tif (walletType === MarketplaceWalletType.UNIVERSAL) {\n\t\tconnectors.push(...getUniversalWalletConfigs(sdkConfig, marketplaceConfig));\n\t} else if (walletType === MarketplaceWalletType.EMBEDDED) {\n\t\tconnectors.push(...getWaasConnectors(sdkConfig, marketplaceConfig));\n\t} else if (walletType === MarketplaceWalletType.ECOSYSTEM) {\n\t\tconnectors.push(getEcosystemConnector(marketplaceConfig, sdkConfig));\n\t} else {\n\t\tthrow new Error('Invalid wallet type');\n\t}\n\n\treturn getConnectWallets(sdkConfig.projectAccessKey, connectors);\n}\n\nfunction commonConnectors(\n\tmarketplaceConfig: MarketplaceConfig,\n\tsdkConfig: SdkConfig,\n) {\n\tconst wallets = [];\n\tconst { title: appName } = marketplaceConfig.settings;\n\tconst walletOptions = marketplaceConfig.settings.walletOptions;\n\tconst walletConnectProjectId = sdkConfig.walletConnectProjectId;\n\n\tif (walletOptions.connectors.includes('coinbase')) {\n\t\twallets.push(\n\t\t\tcoinbaseWallet({\n\t\t\t\tappName,\n\t\t\t}),\n\t\t);\n\t}\n\n\tif (\n\t\twalletConnectProjectId &&\n\t\twalletOptions.connectors.includes('walletconnect')\n\t) {\n\t\twallets.push(\n\t\t\twalletConnect({\n\t\t\t\tprojectId: walletConnectProjectId,\n\t\t\t}),\n\t\t);\n\t}\n\n\treturn wallets;\n}\n\nfunction getUniversalWalletConfigs(\n\tconfig: SdkConfig,\n\tmarketplaceConfig: MarketplaceConfig,\n): Wallet[] {\n\tconst sequenceWalletOverrides =\n\t\tconfig._internal?.overrides?.api?.sequenceWallet;\n\tconst sequenceWalletUrl =\n\t\tsequenceWalletOverrides?.url ||\n\t\tgetSequenceWalletURL(sequenceWalletOverrides?.env || 'production');\n\tconst projectAccessKey =\n\t\tsequenceWalletOverrides?.accessKey || config.projectAccessKey;\n\n\tconst sequenceWalletOptions = {\n\t\twalletAppURL: sequenceWalletUrl,\n\t\tdefaultNetwork: DEFAULT_NETWORK,\n\t\tconnect: {\n\t\t\tprojectAccessKey,\n\t\t\tapp: marketplaceConfig.settings.title,\n\t\t\tsettings: {\n\t\t\t\t// TODO: make a separate config for this?\n\t\t\t\tbannerUrl: marketplaceConfig.market.ogImage,\n\t\t\t},\n\t\t},\n\t} satisfies SequenceOptions;\n\n\treturn [\n\t\tsequence(sequenceWalletOptions),\n\t\temail(sequenceWalletOptions),\n\t\tfacebook(sequenceWalletOptions),\n\t\tgoogle(sequenceWalletOptions),\n\t\tapple(sequenceWalletOptions),\n\t\ttwitch(sequenceWalletOptions),\n\t] as const;\n}\n\nexport function getWaasConnectors(\n\tconfig: SdkConfig,\n\tmarketplaceConfig: MarketplaceConfig,\n): Wallet[] {\n\tconst { projectAccessKey } = config;\n\n\tconst waasConfigKey =\n\t\tmarketplaceConfig.settings.walletOptions.embedded?.tenantKey;\n\n\tif (!waasConfigKey)\n\t\tthrow new MissingConfigError(\n\t\t\t'Embedded wallet config is missing, please check your access key',\n\t\t);\n\n\tconst waasOptions = marketplaceConfig.settings.walletOptions.oidcIssuers;\n\tconst googleClientId = waasOptions.google;\n\tconst appleClientId = waasOptions.apple;\n\tconst appleRedirectURI =\n\t\ttypeof window !== 'undefined'\n\t\t\t? `${window.location.origin}${window.location.pathname}`\n\t\t\t: undefined;\n\n\tconst wallets: Wallet[] = [];\n\n\tif (marketplaceConfig.settings.walletOptions.embedded?.emailEnabled) {\n\t\twallets.push(\n\t\t\temailWaas({\n\t\t\t\tprojectAccessKey,\n\t\t\t\twaasConfigKey,\n\t\t\t}),\n\t\t);\n\t}\n\n\tif (googleClientId) {\n\t\twallets.push(\n\t\t\tgoogleWaas({\n\t\t\t\tprojectAccessKey,\n\t\t\t\tgoogleClientId,\n\t\t\t\twaasConfigKey,\n\t\t\t\tnetwork: DEFAULT_NETWORK,\n\t\t\t}),\n\t\t);\n\t}\n\n\tif (appleClientId) {\n\t\twallets.push(\n\t\t\tappleWaas({\n\t\t\t\tprojectAccessKey,\n\t\t\t\tappleClientId,\n\t\t\t\tappleRedirectURI,\n\t\t\t\twaasConfigKey,\n\t\t\t\tnetwork: DEFAULT_NETWORK,\n\t\t\t}),\n\t\t);\n\t}\n\n\treturn wallets;\n}\n\nexport function getEcosystemConnector(\n\tmarketplaceConfig: MarketplaceConfig,\n\tsdkConfig: SdkConfig,\n): Wallet {\n\tconst ecosystemOptions = marketplaceConfig.settings.walletOptions.ecosystem;\n\tif (!ecosystemOptions) throw new MissingConfigError('ecosystem');\n\tconst { walletAppName, walletUrl, logoDarkUrl, logoLightUrl } =\n\t\tecosystemOptions;\n\n\treturn ecosystemWallet({\n\t\tprojectAccessKey: sdkConfig.projectAccessKey,\n\t\twalletUrl,\n\t\tname: walletAppName,\n\t\tdefaultNetwork: DEFAULT_NETWORK,\n\t\tlogoDark: getEcosystemLogo(logoDarkUrl, walletAppName),\n\t\tlogoLight: getEcosystemLogo(logoLightUrl, walletAppName),\n\t});\n}\n\nfunction getEcosystemLogo(\n\turl: string | undefined,\n\tname: string,\n): FunctionComponent {\n\tif (!url) return () => null;\n\tconst Logo = () =>\n\t\tReact.createElement('img', { src: url, alt: name, width: 32, height: 32 });\n\tLogo.displayName = 'EcosystemLogo';\n\treturn Logo;\n}\n\nfunction getSequenceWalletURL(env: Env) {\n\tswitch (env) {\n\t\tcase 'development':\n\t\t\treturn 'https://dev.sequence.app';\n\t\tcase 'next':\n\t\t\treturn 'https://next.sequence.app';\n\t\t// biome-ignore lint/complexity/noUselessSwitchCase: Production case kept for readability alongside other environments\n\t\tcase 'production':\n\t\tdefault:\n\t\t\treturn 'https://sequence.app';\n\t}\n}\n","import { allNetworks, findNetworkConfig } from '@0xsequence/network';\nimport type { Chain, Transport } from 'viem';\nimport { cookieStorage, createConfig, createStorage, http } from 'wagmi';\nimport type { Env, SdkConfig } from '../../../types/index';\nimport type { MarketplaceConfig } from '../../../types/new-marketplace-types';\nimport { networkToWagmiChain } from '../../../utils/networkconfigToWagmiChain';\nimport { getConnectors } from './get-connectors';\n\nexport const createWagmiConfig = (\n\tmarketplaceConfig: MarketplaceConfig,\n\tsdkConfig: SdkConfig,\n\tssr?: boolean,\n) => {\n\tconst { chains, transports } = getWagmiChainsAndTransports({\n\t\tmarketplaceConfig,\n\t\tsdkConfig,\n\t});\n\n\tconst walletType = marketplaceConfig.settings.walletOptions.walletType;\n\n\tconst connectors = getConnectors({\n\t\tmarketplaceConfig,\n\t\tsdkConfig,\n\t\twalletType,\n\t});\n\n\tconst multiInjectedProviderDiscovery =\n\t\tmarketplaceConfig.settings.walletOptions.includeEIP6963Wallets;\n\n\treturn createConfig({\n\t\tconnectors,\n\t\tchains,\n\t\tssr,\n\t\tmultiInjectedProviderDiscovery,\n\t\tstorage: ssr\n\t\t\t? createStorage({\n\t\t\t\t\tstorage: cookieStorage,\n\t\t\t\t})\n\t\t\t: undefined,\n\t\ttransports,\n\t});\n};\n\nexport function getWagmiChainsAndTransports({\n\tmarketplaceConfig,\n\tsdkConfig,\n}: {\n\tmarketplaceConfig: MarketplaceConfig;\n\tsdkConfig: SdkConfig;\n}) {\n\tconst chains = getChainConfigs(marketplaceConfig);\n\tconst nodeGatewayOverrides = sdkConfig._internal?.overrides?.api?.nodeGateway;\n\tconst nodeGatewayEnv = nodeGatewayOverrides?.env ?? 'production';\n\tconst nodeGatewayUrl = nodeGatewayOverrides?.url;\n\tconst projectAccessKey =\n\t\tnodeGatewayOverrides?.accessKey ?? sdkConfig.projectAccessKey;\n\n\tconst transports = getTransportConfigs(\n\t\tchains,\n\t\tprojectAccessKey,\n\t\tnodeGatewayEnv,\n\t\tnodeGatewayUrl,\n\t);\n\n\treturn { chains, transports };\n}\n\nfunction getChainConfigs(\n\t_marketConfig: MarketplaceConfig,\n): [Chain, ...Chain[]] {\n\tconst chains = Object.values(allNetworks).map(networkToWagmiChain);\n\n\treturn chains as [Chain, ...Chain[]];\n}\n\nfunction getTransportConfigs(\n\tchains: [Chain, ...Chain[]],\n\tprojectAccessKey: string,\n\tnodeGatewayEnv: Env | undefined,\n\tnodeGatewayUrl?: string,\n): Record<number, Transport> {\n\treturn chains.reduce(\n\t\t(acc, chain) => {\n\t\t\tconst network = findNetworkConfig(allNetworks, chain.id);\n\t\t\tif (network) {\n\t\t\t\tlet rpcUrl: string;\n\t\t\t\tif (nodeGatewayUrl) {\n\t\t\t\t\t// Use manual URL if provided\n\t\t\t\t\trpcUrl = nodeGatewayUrl;\n\t\t\t\t} else {\n\t\t\t\t\t// Use default URL with environment prefix\n\t\t\t\t\trpcUrl = network.rpcUrl;\n\t\t\t\t\tif (nodeGatewayEnv === 'development') {\n\t\t\t\t\t\trpcUrl = rpcUrl.replace('nodes.', 'dev-nodes.');\n\t\t\t\t\t}\n\t\t\t\t\tif (!network.rpcUrl.endsWith(projectAccessKey))\n\t\t\t\t\t\trpcUrl = `${rpcUrl}/${projectAccessKey}`;\n\t\t\t\t}\n\t\t\t\tacc[chain.id] = http(rpcUrl);\n\t\t\t}\n\t\t\treturn acc;\n\t\t},\n\t\t{} as Record<number, Transport>,\n\t);\n}\n"],"mappings":"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"}