@0xsequence/marketplace-sdk 1.1.0 → 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 (447) hide show
  1. package/CHANGELOG.md +58 -5
  2. package/dist/{BellIcon-IpHHEy8h.js → BellIcon-DMKEumAz.js} +2 -2
  3. package/dist/BellIcon-DMKEumAz.js.map +1 -0
  4. package/dist/{CartIcon-C8zbor8H.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 +134 -0
  9. package/dist/abi-fa-o9gH3.js.map +1 -0
  10. package/dist/{alien_swap-BTJ7mSR-.js → alien_swap-Cq8LuElo.js} +1 -1
  11. package/dist/{alien_swap-BTJ7mSR-.js.map → alien_swap-Cq8LuElo.js.map} +1 -1
  12. package/dist/{api-DuLKn__v.js → api-GwTR0dBA.js} +13 -49
  13. package/dist/api-GwTR0dBA.js.map +1 -0
  14. package/dist/{aqua-xyz-BYJ9WSP_.js → aqua-xyz-0yye_c-Z.js} +1 -1
  15. package/dist/{aqua-xyz-BYJ9WSP_.js.map → aqua-xyz-0yye_c-Z.js.map} +1 -1
  16. package/dist/{aura-D7SUjgro.js → aura-TaxFvTFQ.js} +1 -1
  17. package/dist/{aura-D7SUjgro.js.map → aura-TaxFvTFQ.js.map} +1 -1
  18. package/dist/{blur-BcnRFCaV.js → blur-BupOTobO.js} +1 -1
  19. package/dist/{blur-BcnRFCaV.js.map → blur-BupOTobO.js.map} +1 -1
  20. package/dist/{builder-api-BFuZNOaN.js → builder-api-m4JAA6ee.js} +3 -3
  21. package/dist/builder-api-m4JAA6ee.js.map +1 -0
  22. package/dist/{builder.gen-B9wR2nvF.js → builder.gen--XD71cNL.js} +2 -2
  23. package/dist/builder.gen--XD71cNL.js.map +1 -0
  24. package/dist/{coinbase-ChoX9Hw2.js → coinbase-DTgZ4wDT.js} +1 -1
  25. package/dist/{coinbase-ChoX9Hw2.js.map → coinbase-DTgZ4wDT.js.map} +1 -1
  26. package/dist/collectibles-CZ6i8sXK.js +324 -0
  27. package/dist/collectibles-CZ6i8sXK.js.map +1 -0
  28. package/dist/collections-5NcU-7ZR.js +331 -0
  29. package/dist/collections-5NcU-7ZR.js.map +1 -0
  30. package/dist/{components-CUv-wQr8.js → components-CY8kx2kb.js} +13 -9
  31. package/dist/components-CY8kx2kb.js.map +1 -0
  32. package/dist/{contracts-D72LBOX3.js → contracts-DRJHF89h.js} +5 -4
  33. package/dist/{contracts-D72LBOX3.js.map → contracts-DRJHF89h.js.map} +1 -1
  34. package/dist/{create-config-CIfejoCk.js → create-config-BxyfYCEk.js} +6 -5
  35. package/dist/create-config-BxyfYCEk.js.map +1 -0
  36. package/dist/{create-config-DV_dtaLt.d.ts → create-config-CFBeD8CB.d.ts} +149 -57
  37. package/dist/{element-Dbcv5qya.js → element-D4dDznlu.js} +1 -1
  38. package/dist/{element-Dbcv5qya.js.map → element-D4dDznlu.js.map} +1 -1
  39. package/dist/filters-B5niI_fX.d.ts +60 -0
  40. package/dist/{foundation-QPhUEUy8.js → foundation-GHZOKAzN.js} +1 -1
  41. package/dist/{foundation-QPhUEUy8.js.map → foundation-GHZOKAzN.js.map} +1 -1
  42. package/dist/index-8scPf0CS.d.ts +55 -0
  43. package/dist/index-9qsplZ8r.d.ts +18 -0
  44. package/dist/index-BIuYTMc2.d.ts +122 -0
  45. package/dist/{index-BoNNplSx.d.ts → index-BNrz99xy.d.ts} +3 -3
  46. package/dist/{index-BaytncQc.d.ts → index-BYQOPS8e.d.ts} +108 -51
  47. package/dist/{index-CXscCUg7.d.ts → index-BkZ7SPLc.d.ts} +19 -29
  48. package/dist/{index-D6YMj82n.d.ts → index-BnUku_aF.d.ts} +109 -114
  49. package/dist/index-BtDAHMW_.d.ts +50 -0
  50. package/dist/index-C-c_M_sE.d.ts +107 -0
  51. package/dist/index-CKefEBrI.d.ts +1 -0
  52. package/dist/{index-CMPUveNz.d.ts → index-CNIiC8Z_.d.ts} +11 -8
  53. package/dist/{index-DLUjc7Bx.d.ts → index-CbERNN3s.d.ts} +201 -12
  54. package/dist/{index-C768pAfu.d.ts → index-CsfxsN0t.d.ts} +4 -4
  55. package/dist/{index-CQecU53t.d.ts → index-DASjaiJL.d.ts} +119 -24
  56. package/dist/{index-CT8ZorFd.d.ts → index-DD7Vc4cE.d.ts} +2 -2
  57. package/dist/{index-DpeWm_vF.d.ts → index-DIc8OqWV.d.ts} +7 -6
  58. package/dist/index-DVI_vggD.d.ts +171 -0
  59. package/dist/index-DgsCqh_P.d.ts +1 -0
  60. package/dist/{index-DMBMM16q.d.ts → index-DqxQeYT2.d.ts} +39 -36
  61. package/dist/{index-D-UXGo5d.d.ts → index-Dsf9FRtr.d.ts} +19 -3
  62. package/dist/{index-DJG0kiII.d.ts → index-DxAReMEO.d.ts} +45 -34
  63. package/dist/index-UXRoZmd_.d.ts +70 -0
  64. package/dist/{index-CM0ZTePs.d.ts → index-isFvc5gd.d.ts} +2 -2
  65. package/dist/{index-jGgfEHfQ.d.ts → index-j3nuJWyJ.d.ts} +18 -10
  66. package/dist/{index-B6aSbaw2.d.ts → index-nVb7o0hc.d.ts} +2 -2
  67. package/dist/{index-Bv5XVLjH.d.ts → index-pbE88Tt7.d.ts} +2 -2
  68. package/dist/index-xpO4AQyS.d.ts +1 -0
  69. package/dist/index.d.ts +8 -8
  70. package/dist/index.js +13 -13
  71. package/dist/inventory--t6Zu55O.js +75 -0
  72. package/dist/inventory--t6Zu55O.js.map +1 -0
  73. package/dist/listCollectiblesPaginated-BlE5mSzh.d.ts +327 -0
  74. package/dist/listCollections-DWyqFSQ3.d.ts +828 -0
  75. package/dist/{looks-rare-C7cQztTR.js → looks-rare-2HBhMpOf.js} +1 -1
  76. package/dist/{looks-rare-C7cQztTR.js.map → looks-rare-2HBhMpOf.js.map} +1 -1
  77. package/dist/lowestListing-DsunDO1c.d.ts +475 -0
  78. package/dist/{magic-eden-D3r7jiBG.js → magic-eden-BYdTp-uk.js} +1 -1
  79. package/dist/{magic-eden-D3r7jiBG.js.map → magic-eden-BYdTp-uk.js.map} +1 -1
  80. package/dist/{manifold-DsX0CBP-.js → manifold-yE0x6ZmO.js} +1 -1
  81. package/dist/{manifold-DsX0CBP-.js.map → manifold-yE0x6ZmO.js.map} +1 -1
  82. package/dist/market-DuBpFsDg.js +219 -0
  83. package/dist/market-DuBpFsDg.js.map +1 -0
  84. package/dist/{marketCurrencies-Bzj8X4TL.d.ts → marketCurrencies-BgwmbGFk.d.ts} +57 -15
  85. package/dist/marketCurrencies-Bolonndy.js +59 -0
  86. package/dist/marketCurrencies-Bolonndy.js.map +1 -0
  87. package/dist/{marketplace-BYY8OloA.js → marketplace-NQB-sEQL.js} +1 -1
  88. package/dist/{marketplace-BYY8OloA.js.map → marketplace-NQB-sEQL.js.map} +1 -1
  89. package/dist/{marketplace-logos-Csv2MBwf.js → marketplace-logos-Cz9RrtQo.js} +21 -21
  90. package/dist/marketplace-logos-Cz9RrtQo.js.map +1 -0
  91. package/dist/{marketplace.gen-w2YvbEEo.js → marketplace.gen-906FrJQJ.js} +75 -5
  92. package/dist/marketplace.gen-906FrJQJ.js.map +1 -0
  93. package/dist/{marketplaceConfig-BTy75Mbf.js → marketplaceConfig-Bqjo7NYO.js} +9 -5
  94. package/dist/marketplaceConfig-Bqjo7NYO.js.map +1 -0
  95. package/dist/{mintify-DiOoDmO1.js → mintify-BXQx3mZB.js} +1 -1
  96. package/dist/{mintify-DiOoDmO1.js.map → mintify-BXQx3mZB.js.map} +1 -1
  97. package/dist/{network-DtmiMhcg.js → network-DwdZ_5-7.js} +2 -2
  98. package/dist/network-DwdZ_5-7.js.map +1 -0
  99. package/dist/{networkconfigToWagmiChain-DbUf6HiO.js → networkconfigToWagmiChain-Ct-hGq8M.js} +4 -3
  100. package/dist/networkconfigToWagmiChain-Ct-hGq8M.js.map +1 -0
  101. package/dist/{nftx-CP82jNra.js → nftx-B929_3Ce.js} +1 -1
  102. package/dist/{nftx-CP82jNra.js.map → nftx-B929_3Ce.js.map} +1 -1
  103. package/dist/{okx-p9-4xRjs.js → okx-sZ0-Udny.js} +1 -1
  104. package/dist/{okx-p9-4xRjs.js.map → okx-sZ0-Udny.js.map} +1 -1
  105. package/dist/{open-sea-D2GwAmKS.js → open-sea-DO9PhTrz.js} +1 -1
  106. package/dist/{open-sea-D2GwAmKS.js.map → open-sea-DO9PhTrz.js.map} +1 -1
  107. package/dist/orders-DH76ym2e.js +469 -0
  108. package/dist/orders-DH76ym2e.js.map +1 -0
  109. package/dist/{primary-sale-DOmNDq2P.js → primary-sale-1u4QlPdA.js} +1 -1
  110. package/dist/{primary-sale-DOmNDq2P.js.map → primary-sale-1u4QlPdA.js.map} +1 -1
  111. package/dist/primary-sales-CECrqatg.js +156 -0
  112. package/dist/primary-sales-CECrqatg.js.map +1 -0
  113. package/dist/{query-BG-MA1MB.d.ts → query-brXxOcH0.d.ts} +1 -1
  114. package/dist/{rarible-DqiiW9ki.js → rarible-Ccb2hs7y.js} +1 -1
  115. package/dist/{rarible-DqiiW9ki.js.map → rarible-Ccb2hs7y.js.map} +1 -1
  116. package/dist/react/_internal/api/index.d.ts +2 -2
  117. package/dist/react/_internal/api/index.js +6 -6
  118. package/dist/react/_internal/databeat/index.d.ts +1 -1
  119. package/dist/react/_internal/databeat/index.js +32 -22
  120. package/dist/react/_internal/index.d.ts +2 -2
  121. package/dist/react/_internal/index.js +8 -8
  122. package/dist/react/_internal/wagmi/index.d.ts +1 -1
  123. package/dist/react/_internal/wagmi/index.js +3 -3
  124. package/dist/react/hooks/config/index.d.ts +8 -8
  125. package/dist/react/hooks/config/index.js +32 -22
  126. package/dist/react/hooks/contracts/index.d.ts +6 -6
  127. package/dist/react/hooks/contracts/index.js +12 -12
  128. package/dist/react/hooks/data/collectibles/index.d.ts +10 -4
  129. package/dist/react/hooks/data/collectibles/index.js +32 -22
  130. package/dist/react/hooks/data/collections/index.d.ts +11 -11
  131. package/dist/react/hooks/data/collections/index.js +33 -23
  132. package/dist/react/hooks/data/index.d.ts +37 -29
  133. package/dist/react/hooks/data/index.js +33 -23
  134. package/dist/react/hooks/data/inventory/index.d.ts +36 -28
  135. package/dist/react/hooks/data/inventory/index.js +32 -22
  136. package/dist/react/hooks/data/market/index.d.ts +11 -5
  137. package/dist/react/hooks/data/market/index.js +32 -22
  138. package/dist/react/hooks/data/orders/index.d.ts +11 -5
  139. package/dist/react/hooks/data/orders/index.js +33 -23
  140. package/dist/react/hooks/data/primary-sales/index.d.ts +37 -29
  141. package/dist/react/hooks/data/primary-sales/index.js +33 -23
  142. package/dist/react/hooks/data/tokens/index.d.ts +4 -4
  143. package/dist/react/hooks/data/tokens/index.js +32 -22
  144. package/dist/react/hooks/index.d.ts +37 -29
  145. package/dist/react/hooks/index.js +33 -23
  146. package/dist/react/hooks/transactions/index.d.ts +2 -2
  147. package/dist/react/hooks/transactions/index.js +32 -22
  148. package/dist/react/hooks/ui/index.d.ts +4 -4
  149. package/dist/react/hooks/ui/index.js +32 -22
  150. package/dist/react/hooks/utils/index.d.ts +36 -28
  151. package/dist/react/hooks/utils/index.js +32 -22
  152. package/dist/react/index.d.ts +37 -29
  153. package/dist/react/index.js +33 -23
  154. package/dist/react/queries/collectibles/index.d.ts +11 -0
  155. package/dist/react/queries/collectibles/index.js +22 -0
  156. package/dist/react/queries/collections/index.d.ts +11 -0
  157. package/dist/react/queries/collections/index.js +20 -0
  158. package/dist/react/queries/index.d.ts +24 -16
  159. package/dist/react/queries/index.js +26 -16
  160. package/dist/react/queries/inventory/index.d.ts +3 -0
  161. package/dist/react/queries/inventory/index.js +22 -0
  162. package/dist/react/queries/market/index.d.ts +6 -0
  163. package/dist/react/queries/market/index.js +22 -0
  164. package/dist/react/queries/orders/index.d.ts +11 -0
  165. package/dist/react/queries/orders/index.js +13 -0
  166. package/dist/react/queries/primary-sales/index.d.ts +4 -0
  167. package/dist/react/queries/primary-sales/index.js +13 -0
  168. package/dist/react/queries/tokens/index.d.ts +5 -0
  169. package/dist/react/queries/tokens/index.js +13 -0
  170. package/dist/react/queries/utils/index.d.ts +4 -0
  171. package/dist/react/queries/utils/index.js +22 -0
  172. package/dist/react/ssr/index.d.ts +7 -7
  173. package/dist/react/ssr/index.js +8 -8
  174. package/dist/react/ssr/index.js.map +1 -1
  175. package/dist/react/ui/components/marketplace-collectible-card/components/footer/components/index.d.ts +2 -2
  176. package/dist/react/ui/components/marketplace-collectible-card/components/footer/components/index.js +16 -16
  177. package/dist/react/ui/components/marketplace-collectible-card/components/footer/index.d.ts +7 -10
  178. package/dist/react/ui/components/marketplace-collectible-card/components/footer/index.js +32 -22
  179. package/dist/react/ui/components/marketplace-collectible-card/index.d.ts +4 -4
  180. package/dist/react/ui/components/marketplace-collectible-card/index.js +32 -22
  181. package/dist/react/ui/components/marketplace-collectible-card/utils/index.d.ts +2 -2
  182. package/dist/react/ui/components/marketplace-collectible-card/utils/index.js +8 -8
  183. package/dist/react/ui/components/marketplace-logos/index.d.ts +21 -21
  184. package/dist/react/ui/components/marketplace-logos/index.js +1 -1
  185. package/dist/react/ui/icons/index.js +12 -12
  186. package/dist/react/ui/index.d.ts +4 -4
  187. package/dist/react/ui/index.js +32 -22
  188. package/dist/react/ui/modals/_internal/components/actionModal/index.d.ts +2 -2
  189. package/dist/react/ui/modals/_internal/components/actionModal/index.js +32 -22
  190. package/dist/react/utils/index.d.ts +3 -3
  191. package/dist/react/utils/index.js +6 -6
  192. package/dist/{react-BLJ4DkPx.js → react-CBsgOdVP.js} +1540 -474
  193. package/dist/react-CBsgOdVP.js.map +1 -0
  194. package/dist/{sequence-Bbb-TFKg.js → sequence-CRdb1yEs.js} +1 -1
  195. package/dist/{sequence-Bbb-TFKg.js.map → sequence-CRdb1yEs.js.map} +1 -1
  196. package/dist/styles/index.css +155 -1
  197. package/dist/{sudo-swap-CEPIM3Js.js → sudo-swap-BIklG2gq.js} +1 -1
  198. package/dist/{sudo-swap-CEPIM3Js.js.map → sudo-swap-BIklG2gq.js.map} +1 -1
  199. package/dist/{super-rare-CMEn9PoO.js → super-rare-h8645_5E.js} +1 -1
  200. package/dist/{super-rare-CMEn9PoO.js.map → super-rare-h8645_5E.js.map} +1 -1
  201. package/dist/{token-CcyLz8Z8.js → token-Cv7l2ZaL.js} +1 -1
  202. package/dist/{token-CcyLz8Z8.js.map → token-Cv7l2ZaL.js.map} +1 -1
  203. package/dist/tokenBalances-CouzNX4j.js +57 -0
  204. package/dist/tokenBalances-CouzNX4j.js.map +1 -0
  205. package/dist/tokenSupplies-C3zJll0M.d.ts +265 -0
  206. package/dist/tokens-BvIRUCGG.js +225 -0
  207. package/dist/tokens-BvIRUCGG.js.map +1 -0
  208. package/dist/transaction-DZUW5RHu.js.map +1 -1
  209. package/dist/types/index.d.ts +1 -1
  210. package/dist/types/index.js +2 -2
  211. package/dist/types-B_-cnkcP.js.map +1 -1
  212. package/dist/{types-D6LkVrF0.d.ts → types-CMDwfhfR.d.ts} +6 -5
  213. package/dist/utils/abi/index.d.ts +5 -5
  214. package/dist/utils/abi/index.js +5 -5
  215. package/dist/utils/abi/marketplace/index.d.ts +1 -1
  216. package/dist/utils/abi/marketplace/index.js +1 -1
  217. package/dist/utils/abi/primary-sale/index.d.ts +1 -1
  218. package/dist/utils/abi/primary-sale/index.js +1 -1
  219. package/dist/utils/abi/token/index.d.ts +1 -1
  220. package/dist/utils/abi/token/index.js +1 -1
  221. package/dist/utils/index.d.ts +7 -7
  222. package/dist/utils/index.js +11 -11
  223. package/dist/{utils-BZEkdqWK.js → utils-9ToOvt-c.js} +50 -7
  224. package/dist/utils-9ToOvt-c.js.map +1 -0
  225. package/dist/{utils-oVZxdK0o.js → utils-B6di6O-C.js} +2 -2
  226. package/dist/utils-B6di6O-C.js.map +1 -0
  227. package/dist/utils-BCYTEOvy.js +122 -0
  228. package/dist/utils-BCYTEOvy.js.map +1 -0
  229. package/dist/waitForTransactionReceipt-CbSeUSXe.js +26 -0
  230. package/dist/waitForTransactionReceipt-CbSeUSXe.js.map +1 -0
  231. package/dist/{x2y2-DNe6JgtG.js → x2y2-OvF__ugj.js} +1 -1
  232. package/dist/{x2y2-DNe6JgtG.js.map → x2y2-OvF__ugj.js.map} +1 -1
  233. package/dist/{zora-w0Zqxxs4.js → zora-DzCeu-eE.js} +1 -1
  234. package/dist/{zora-w0Zqxxs4.js.map → zora-DzCeu-eE.js.map} +1 -1
  235. package/package.json +46 -41
  236. package/src/react/_internal/api/__mocks__/marketplace.msw.ts +15 -0
  237. package/src/react/_internal/api/index.ts +0 -1
  238. package/src/react/_internal/api/marketplace.gen.ts +1774 -2383
  239. package/src/react/_internal/api/query-keys.ts +23 -0
  240. package/src/react/_internal/api/services.ts +1 -1
  241. package/src/react/_internal/databeat/types.ts +1 -0
  242. package/src/react/_internal/types.ts +14 -0
  243. package/src/react/_internal/utils.ts +3 -0
  244. package/src/react/hooks/config/useMarketplaceConfig.tsx +1 -1
  245. package/src/react/hooks/data/collectibles/useBalanceOfCollectible.tsx +1 -10
  246. package/src/react/hooks/data/collectibles/useCollectible.tsx +1 -1
  247. package/src/react/hooks/data/collectibles/useCountOfCollectables.tsx +1 -1
  248. package/src/react/hooks/data/collectibles/useListCollectibleActivities.tsx +1 -1
  249. package/src/react/hooks/data/collectibles/useListCollectibles.tsx +2 -17
  250. package/src/react/hooks/data/collectibles/useListCollectiblesPaginated.tsx +1 -1
  251. package/src/react/hooks/data/collectibles/useTokenBalances.tsx +1 -10
  252. package/src/react/hooks/data/collections/index.ts +2 -0
  253. package/src/react/hooks/data/collections/useCollection.tsx +1 -1
  254. package/src/react/hooks/data/collections/useCollectionActiveListingsCurrencies.test.tsx +112 -0
  255. package/src/react/hooks/data/collections/useCollectionActiveListingsCurrencies.tsx +74 -0
  256. package/src/react/hooks/data/collections/useCollectionActiveOffersCurrencies.test.tsx +110 -0
  257. package/src/react/hooks/data/collections/useCollectionActiveOffersCurrencies.tsx +74 -0
  258. package/src/react/hooks/data/collections/useCollectionBalanceDetails.tsx +1 -1
  259. package/src/react/hooks/data/collections/useCollectionDetails.ts +1 -1
  260. package/src/react/hooks/data/collections/useListCollectionActivities.tsx +1 -1
  261. package/src/react/hooks/data/collections/useListCollections.tsx +1 -1
  262. package/src/react/hooks/data/inventory/useInventory.tsx +2 -11
  263. package/src/react/hooks/data/market/useCurrency.tsx +1 -1
  264. package/src/react/hooks/data/market/useListMarketCardData.tsx +7 -0
  265. package/src/react/hooks/data/market/useMarketCurrencies.test.tsx +31 -2
  266. package/src/react/hooks/data/market/useMarketCurrencies.tsx +1 -1
  267. package/src/react/hooks/data/orders/index.ts +4 -0
  268. package/src/react/hooks/data/orders/useCountItemsOrdersForCollection.tsx +90 -0
  269. package/src/react/hooks/data/orders/useCountListingsForCollectible.tsx +1 -1
  270. package/src/react/hooks/data/orders/useCountOffersForCollectible.tsx +1 -1
  271. package/src/react/hooks/data/orders/useFloorOrder.tsx +1 -1
  272. package/src/react/hooks/data/orders/useGetCountOfFilteredOrders.tsx +39 -0
  273. package/src/react/hooks/data/orders/useHighestOffer.tsx +1 -1
  274. package/src/react/hooks/data/orders/useListItemsOrdersForCollection.tsx +93 -0
  275. package/src/react/hooks/data/orders/useListItemsOrdersForCollectionPaginated.tsx +108 -0
  276. package/src/react/hooks/data/orders/useListListingsForCollectible.tsx +1 -1
  277. package/src/react/hooks/data/orders/useListOffersForCollectible.tsx +1 -1
  278. package/src/react/hooks/data/orders/useLowestListing.tsx +1 -1
  279. package/src/react/hooks/data/primary-sales/index.ts +1 -0
  280. package/src/react/hooks/data/primary-sales/useGetCountOfPrimarySaleItems.tsx +2 -2
  281. package/src/react/hooks/data/primary-sales/useListPrimarySaleItems.tsx +1 -1
  282. package/src/react/hooks/data/primary-sales/usePrimarySaleItem.tsx +71 -0
  283. package/src/react/hooks/data/tokens/useGetTokenRanges.tsx +2 -2
  284. package/src/react/hooks/data/tokens/useListBalances.tsx +3 -12
  285. package/src/react/hooks/data/tokens/useListTokenMetadata.tsx +1 -1
  286. package/src/react/hooks/data/tokens/useSearchTokenMetadata.tsx +1 -1
  287. package/src/react/hooks/data/tokens/useTokenSupplies.ts +2 -14
  288. package/src/react/hooks/transactions/useGenerateCancelTransaction.test.tsx +1 -0
  289. package/src/react/hooks/transactions/useGenerateListingTransaction.test.tsx +13 -0
  290. package/src/react/hooks/transactions/useGenerateOfferTransaction.test.tsx +3 -0
  291. package/src/react/hooks/transactions/useGenerateSellTransaction.test.tsx +6 -0
  292. package/src/react/hooks/transactions/useProcessStep.test.tsx +8 -6
  293. package/src/react/hooks/transactions/useProcessStep.ts +8 -6
  294. package/src/react/hooks/ui/useFilterState.tsx +72 -2
  295. package/src/react/hooks/ui/useFilters.tsx +1 -1
  296. package/src/react/hooks/utils/useCheckoutOptions.tsx +2 -2
  297. package/src/react/hooks/utils/useCheckoutOptionsSalesContract.tsx +1 -1
  298. package/src/react/hooks/utils/useComparePrices.test.tsx +1 -1
  299. package/src/react/hooks/utils/useComparePrices.tsx +1 -1
  300. package/src/react/hooks/utils/useConvertPriceToUSD.tsx +1 -1
  301. package/src/react/providers/analytics-provider.tsx +45 -0
  302. package/src/react/providers/index.tsx +30 -41
  303. package/src/react/providers/modal-provider.tsx +14 -2
  304. package/src/react/queries/{balanceOfCollectible.ts → collectibles/balanceOfCollectible.ts} +23 -16
  305. package/src/react/queries/{collectible.ts → collectibles/collectible.ts} +20 -5
  306. package/src/react/queries/{countOfCollectables.ts → collectibles/countOfCollectables.ts} +32 -6
  307. package/src/react/queries/collectibles/index.ts +7 -0
  308. package/src/react/queries/{listCollectibleActivities.ts → collectibles/listCollectibleActivities.ts} +29 -5
  309. package/src/react/queries/{listCollectibles.ts → collectibles/listCollectibles.ts} +22 -56
  310. package/src/react/queries/{listCollectiblesPaginated.ts → collectibles/listCollectiblesPaginated.ts} +22 -5
  311. package/src/react/queries/{tokenBalances.ts → collectibles/tokenBalances.ts} +20 -16
  312. package/src/react/queries/collections/activeListingsCurrencies.ts +84 -0
  313. package/src/react/queries/collections/activeOffersCurrencies.ts +84 -0
  314. package/src/react/queries/{collection.ts → collections/collection.ts} +19 -5
  315. package/src/react/queries/{collectionBalanceDetails.ts → collections/collectionBalanceDetails.ts} +19 -4
  316. package/src/react/queries/{collectionDetails.ts → collections/collectionDetails.ts} +21 -6
  317. package/src/react/queries/collections/index.ts +7 -0
  318. package/src/react/queries/{listCollectionActivities.ts → collections/listCollectionActivities.ts} +28 -6
  319. package/src/react/queries/{listCollections.ts → collections/listCollections.ts} +17 -6
  320. package/src/react/queries/index.ts +7 -34
  321. package/src/react/queries/inventory/index.ts +1 -0
  322. package/src/react/queries/{inventory.ts → inventory/inventory.ts} +13 -14
  323. package/src/react/queries/{checkoutOptions.ts → market/checkoutOptions.ts} +28 -6
  324. package/src/react/queries/{checkoutOptionsSalesContract.ts → market/checkoutOptionsSalesContract.ts} +24 -5
  325. package/src/react/queries/{currency.ts → market/currency.ts} +13 -4
  326. package/src/react/queries/{filters.ts → market/filters.ts} +25 -6
  327. package/src/react/queries/market/index.ts +6 -0
  328. package/src/react/queries/{marketCurrencies.ts → market/marketCurrencies.ts} +32 -6
  329. package/src/react/queries/{marketplaceConfig.ts → market/marketplaceConfig.ts} +5 -5
  330. package/src/react/queries/orders/countItemsOrdersForCollection.ts +86 -0
  331. package/src/react/queries/{countListingsForCollectible.ts → orders/countListingsForCollectible.ts} +23 -6
  332. package/src/react/queries/{countOffersForCollectible.ts → orders/countOffersForCollectible.ts} +23 -6
  333. package/src/react/queries/{floorOrder.ts → orders/floorOrder.ts} +15 -4
  334. package/src/react/queries/orders/getCountOfFilteredOrders.ts +88 -0
  335. package/src/react/queries/{highestOffer.ts → orders/highestOffer.ts} +16 -4
  336. package/src/react/queries/orders/index.ts +11 -0
  337. package/src/react/queries/orders/listItemsOrdersForCollection.ts +90 -0
  338. package/src/react/queries/orders/listItemsOrdersForCollectionPaginated.ts +90 -0
  339. package/src/react/queries/{listListingsForCollectible.ts → orders/listListingsForCollectible.ts} +20 -5
  340. package/src/react/queries/{listOffersForCollectible.ts → orders/listOffersForCollectible.ts} +20 -5
  341. package/src/react/queries/{lowestListing.ts → orders/lowestListing.ts} +16 -4
  342. package/src/react/queries/{countOfPrimarySaleItems.ts → primary-sales/countOfPrimarySaleItems.ts} +17 -3
  343. package/src/react/queries/primary-sales/index.ts +4 -0
  344. package/src/react/queries/primary-sales/primarySaleItem.ts +80 -0
  345. package/src/react/queries/{primarySaleItems.ts → primary-sales/primarySaleItems.ts} +18 -4
  346. package/src/react/queries/{primarySaleItemsCount.ts → primary-sales/primarySaleItemsCount.ts} +19 -4
  347. package/src/react/queries/{getTokenRanges.ts → tokens/getTokenRanges.ts} +17 -4
  348. package/src/react/queries/tokens/index.ts +5 -0
  349. package/src/react/queries/{listBalances.ts → tokens/listBalances.ts} +17 -22
  350. package/src/react/queries/{listTokenMetadata.ts → tokens/listTokenMetadata.ts} +18 -4
  351. package/src/react/queries/{searchTokenMetadata.ts → tokens/searchTokenMetadata.ts} +18 -4
  352. package/src/react/queries/{tokenSupplies.ts → tokens/tokenSupplies.ts} +17 -34
  353. package/src/react/queries/{comparePrices.ts → utils/comparePrices.ts} +29 -5
  354. package/src/react/queries/{convertPriceToUSD.ts → utils/convertPriceToUSD.ts} +18 -5
  355. package/src/react/queries/utils/index.ts +2 -0
  356. package/src/react/ssr/create-ssr-client.ts +1 -1
  357. package/src/react/ui/components/_internals/ErrorLogBox.tsx +85 -0
  358. package/src/react/ui/components/_internals/action-button/ActionButton.stories.tsx +2 -0
  359. package/src/react/ui/components/_internals/action-button/ActionButton.tsx +4 -0
  360. package/src/react/ui/components/_internals/action-button/components/NonOwnerActions.tsx +4 -0
  361. package/src/react/ui/components/marketplace-collectible-card/components/ActionButtonWrapper.tsx +3 -0
  362. package/src/react/ui/components/marketplace-collectible-card/components/footer/Footer.tsx +4 -18
  363. package/src/react/ui/components/marketplace-collectible-card/types.ts +1 -0
  364. package/src/react/ui/components/marketplace-collectible-card/variants/MarketCard.tsx +5 -2
  365. package/src/react/ui/components/marketplace-collectible-card/variants/ShopCard.tsx +2 -2
  366. package/src/react/ui/modals/BuyModal/__tests__/BuyModalRouter.test.tsx +3 -0
  367. package/src/react/ui/modals/BuyModal/__tests__/Modal1155.test.tsx +1 -0
  368. package/src/react/ui/modals/BuyModal/components/ERC1155BuyModal.tsx +65 -3
  369. package/src/react/ui/modals/BuyModal/components/ERC721BuyModal.tsx +31 -0
  370. package/src/react/ui/modals/BuyModal/hooks/__tests__/useERC721SalePaymentParams.test.tsx +20 -1
  371. package/src/react/ui/modals/BuyModal/hooks/useERC1155Checkout.ts +7 -2
  372. package/src/react/ui/modals/BuyModal/hooks/useERC721SalePaymentParams.ts +12 -3
  373. package/src/react/ui/modals/BuyModal/hooks/usePaymentModalParams.ts +11 -25
  374. package/src/react/ui/modals/BuyModal/store.ts +3 -0
  375. package/src/react/ui/modals/CreateListingModal/Modal.tsx +63 -24
  376. package/src/react/ui/modals/CreateListingModal/__tests__/Modal.test.tsx +4 -0
  377. package/src/react/ui/modals/CreateListingModal/hooks/useCreateListing.tsx +18 -12
  378. package/src/react/ui/modals/CreateListingModal/hooks/useGetTokenApproval.ts +4 -1
  379. package/src/react/ui/modals/CreateListingModal/hooks/useTransactionSteps.tsx +1 -0
  380. package/src/react/ui/modals/MakeOfferModal/Modal.tsx +77 -10
  381. package/src/react/ui/modals/MakeOfferModal/__tests__/Modal.test.tsx +12 -0
  382. package/src/react/ui/modals/MakeOfferModal/hooks/useGetTokenApproval.tsx +6 -1
  383. package/src/react/ui/modals/MakeOfferModal/hooks/useMakeOffer.tsx +15 -26
  384. package/src/react/ui/modals/MakeOfferModal/hooks/useTransactionSteps.tsx +3 -0
  385. package/src/react/ui/modals/SellModal/Modal.tsx +21 -3
  386. package/src/react/ui/modals/SellModal/__tests__/Modal.test.tsx +2 -0
  387. package/src/react/ui/modals/SellModal/hooks/useGetTokenApproval.tsx +3 -1
  388. package/src/react/ui/modals/SellModal/hooks/useSell.tsx +13 -7
  389. package/src/react/ui/modals/SuccessfulPurchaseModal/__tests__/Modal.test.tsx +9 -0
  390. package/src/react/ui/modals/_internal/components/calendarDropdown/TimeSelector.tsx +105 -0
  391. package/src/react/ui/modals/_internal/components/calendarDropdown/index.tsx +45 -12
  392. package/src/react/ui/modals/_internal/components/calendarDropdown/overrides.css +39 -0
  393. package/src/react/ui/modals/_internal/components/currencyOptionsSelect/index.tsx +34 -10
  394. package/src/react/ui/modals/_internal/components/expirationDateSelect/index.tsx +18 -9
  395. package/src/react/ui/modals/_internal/components/floorPriceText/__tests__/FloorPriceText.test.tsx +2 -0
  396. package/src/react/ui/modals/_internal/components/floorPriceText/index.tsx +1 -1
  397. package/src/react/ui/modals/_internal/components/priceInput/index.tsx +198 -11
  398. package/src/react/ui/modals/_internal/components/transactionDetails/index.tsx +58 -10
  399. package/src/react/ui/modals/_internal/components/transactionStatusModal/__tests__/utils.test.ts +2 -0
  400. package/src/react/utils/waitForTransactionReceipt.ts +26 -32
  401. package/src/styles/index.css +1 -0
  402. package/src/styles/styles.ts +156 -2
  403. package/src/types/index.ts +1 -1
  404. package/src/utils/abi/index.ts +1 -0
  405. package/src/utils/abi/mainModule.ts +158 -0
  406. package/src/utils/networkconfigToWagmiChain.ts +7 -0
  407. package/src/utils/price.ts +58 -0
  408. package/test/const.ts +2 -0
  409. package/test/server-setup.ts +0 -2
  410. package/dist/BellIcon-IpHHEy8h.js.map +0 -1
  411. package/dist/CartIcon-C8zbor8H.js.map +0 -1
  412. package/dist/CollectibleCard-C2EWF0zo.d.ts +0 -8
  413. package/dist/api-DuLKn__v.js.map +0 -1
  414. package/dist/builder-api-BFuZNOaN.js.map +0 -1
  415. package/dist/builder.gen-B9wR2nvF.js.map +0 -1
  416. package/dist/components-CUv-wQr8.js.map +0 -1
  417. package/dist/create-config-CIfejoCk.js.map +0 -1
  418. package/dist/filters-zkMJaPey.d.ts +0 -31
  419. package/dist/index-B8vaT3_s.d.ts +0 -18
  420. package/dist/index-Yobo6icm.d.ts +0 -234
  421. package/dist/listCollectiblesPaginated-Bq0QSOjJ.d.ts +0 -168
  422. package/dist/listCollections-dTCq00l5.d.ts +0 -669
  423. package/dist/lowestListing-CB5Te-Q9.d.ts +0 -168
  424. package/dist/marketplace-logos-Csv2MBwf.js.map +0 -1
  425. package/dist/marketplace.gen-w2YvbEEo.js.map +0 -1
  426. package/dist/marketplaceConfig-BTy75Mbf.js.map +0 -1
  427. package/dist/network-DtmiMhcg.js.map +0 -1
  428. package/dist/networkconfigToWagmiChain-DbUf6HiO.js.map +0 -1
  429. package/dist/queries-EMA5CcwY.js +0 -1399
  430. package/dist/queries-EMA5CcwY.js.map +0 -1
  431. package/dist/react-BLJ4DkPx.js.map +0 -1
  432. package/dist/react-F03jPjPk.css +0 -80
  433. package/dist/react-F03jPjPk.css.map +0 -1
  434. package/dist/tokenSupplies-C470zTT0.d.ts +0 -147
  435. package/dist/utils-BZEkdqWK.js.map +0 -1
  436. package/dist/utils-oVZxdK0o.js.map +0 -1
  437. package/dist/waitForTransactionReceipt-B08YZiDY.js +0 -26
  438. package/dist/waitForTransactionReceipt-B08YZiDY.js.map +0 -1
  439. package/src/react/_internal/api/__mocks__/laos.msw.ts +0 -387
  440. package/src/react/_internal/api/__tests__/laos-api.test.ts +0 -756
  441. package/src/react/_internal/api/laos-api.ts +0 -106
  442. package/src/react/hooks/data/collectibles/useBalanceOfCollectible.laos.test.tsx +0 -367
  443. package/src/react/queries/__tests__/balanceOfCollectible.laos.test.ts +0 -123
  444. package/src/react/queries/__tests__/inventory.laos.test.ts +0 -499
  445. package/src/react/queries/__tests__/tokenBalances.laos.test.ts +0 -123
  446. /package/dist/{index-Cg5cFzs-.d.ts → index-CCggO_hw.d.ts} +0 -0
  447. /package/dist/{abi-DYsUABe6.js → queries-CyajGg_O.js} +0 -0
@@ -28,6 +28,8 @@ class CollectableKeys {
28
28
  static listings = [...CollectableKeys.all, 'listings'] as const;
29
29
  static listingsCount = [...CollectableKeys.all, 'listingsCount'] as const;
30
30
  static listPrimarySaleItems = ['listPrimarySaleItems'] as const;
31
+ static primarySaleItem = ['primarySaleItem'] as const;
32
+ static primarySaleItemsCount = ['primarySaleItemsCount'] as const;
31
33
  static filter = [...CollectableKeys.all, 'filter'] as const;
32
34
  static counts = [...CollectableKeys.all, 'counts'] as const;
33
35
  static collectibleActivities = [
@@ -45,6 +47,26 @@ class CollectionKeys {
45
47
  ...CollectionKeys.all,
46
48
  'collectionActivities',
47
49
  ] as const;
50
+ static collectionItemsOrders = [
51
+ ...CollectionKeys.all,
52
+ 'collectionItemsOrders',
53
+ ] as const;
54
+ static collectionItemsOrdersCount = [
55
+ ...CollectionKeys.all,
56
+ 'collectionItemsOrdersCount',
57
+ ] as const;
58
+ static getCountOfFilteredOrders = [
59
+ ...CollectionKeys.all,
60
+ 'getCountOfFilteredOrders',
61
+ ] as const;
62
+ static activeListingsCurrencies = [
63
+ ...CollectionKeys.all,
64
+ 'activeListingsCurrencies',
65
+ ] as const;
66
+ static activeOffersCurrencies = [
67
+ ...CollectionKeys.all,
68
+ 'activeOffersCurrencies',
69
+ ] as const;
48
70
  }
49
71
 
50
72
  // biome-ignore lint/complexity/noStaticOnlyClass: static class provides better organization and type safety for query keys
@@ -84,6 +106,7 @@ class TokenKeys {
84
106
  static all = ['tokens'] as const;
85
107
  static metadata = [...TokenKeys.all, 'metadata'] as const;
86
108
  static supplies = [...TokenKeys.all, 'supplies'] as const;
109
+ static ranges = [...TokenKeys.all, 'ranges'] as const;
87
110
  }
88
111
 
89
112
  // biome-ignore lint/complexity/noStaticOnlyClass: static class provides better organization and type safety for query keys
@@ -33,7 +33,7 @@ const indexerURL = (chain: ChainNameOrId, env: Env = 'production') => {
33
33
  return stringTemplate(SERVICES.indexer, { network: network, prefix });
34
34
  };
35
35
 
36
- const marketplaceApiURL = (env: Env = 'production') => {
36
+ export const marketplaceApiURL = (env: Env = 'production') => {
37
37
  const prefix = getPrefix(env);
38
38
  return stringTemplate(SERVICES.marketplaceApi, { prefix });
39
39
  };
@@ -51,6 +51,7 @@ type BuyModalOpenedProps = Omit<
51
51
  | 'skipNativeBalanceCheck'
52
52
  | 'nativeTokenAddress'
53
53
  | 'successActionButtons'
54
+ | 'hideQuantitySelector'
54
55
  > & {
55
56
  buyAnalyticsId: string;
56
57
  };
@@ -61,4 +61,18 @@ export type ValuesOptional<T> = {
61
61
  [K in keyof T]: T[K] | undefined;
62
62
  };
63
63
 
64
+ export type RequiredKeys<T> = {
65
+ [K in keyof T]-?: T[K];
66
+ };
67
+
68
+ export type QueryKeyArgs<T> = {
69
+ [K in keyof Required<T>]: T[K] | undefined;
70
+ };
71
+
64
72
  export type Optional<T, K extends keyof T> = Pick<Partial<T>, K> & Omit<T, K>;
73
+
74
+ /**
75
+ * Extracts only API-relevant fields from query params, excluding SDK config and query options
76
+ * Converts optional properties (prop?: T) to explicit union types (prop: T | undefined)
77
+ */
78
+ export type ApiArgs<T> = ValuesOptional<Omit<T, 'config' | 'query'>>;
@@ -52,3 +52,6 @@ export function isTransactionStep(step: Step): step is TransactionStep {
52
52
  StepType.createListing,
53
53
  ].includes(step.id);
54
54
  }
55
+
56
+ export const clamp = (val: number, min: number, max: number) =>
57
+ Math.max(min, Math.min(max, val));
@@ -1,5 +1,5 @@
1
1
  import { useQuery } from '@tanstack/react-query';
2
- import { marketplaceConfigOptions } from '../../queries/marketplaceConfig';
2
+ import { marketplaceConfigOptions } from '../../queries/market/marketplaceConfig';
3
3
  import { useConfig } from '../config/useConfig';
4
4
 
5
5
  export const useMarketplaceConfig = () => {
@@ -1,11 +1,9 @@
1
1
  import { useQuery } from '@tanstack/react-query';
2
- import { ContractType } from '../../../_internal';
3
2
  import {
4
3
  balanceOfCollectibleOptions,
5
4
  type UseBalanceOfCollectibleArgs,
6
- } from '../../../queries/balanceOfCollectible';
5
+ } from '../../../queries/collectibles/balanceOfCollectible';
7
6
  import { useConfig } from '../../config/useConfig';
8
- import { useMarketplaceConfig } from '../../config/useMarketplaceConfig';
9
7
 
10
8
  /**
11
9
  * Hook to fetch the balance of a specific collectible for a user
@@ -29,18 +27,11 @@ import { useMarketplaceConfig } from '../../config/useMarketplaceConfig';
29
27
  */
30
28
  export function useBalanceOfCollectible(args: UseBalanceOfCollectibleArgs) {
31
29
  const config = useConfig();
32
- const { data: marketplaceConfig } = useMarketplaceConfig();
33
-
34
- const collection = marketplaceConfig?.market.collections.find(
35
- (collection) => collection.itemsAddress === args.collectionAddress,
36
- );
37
- const isLaos721 = collection?.contractType === ContractType.LAOS_ERC_721;
38
30
 
39
31
  return useQuery(
40
32
  balanceOfCollectibleOptions(
41
33
  {
42
34
  ...args,
43
- isLaos721,
44
35
  },
45
36
  config,
46
37
  ),
@@ -6,7 +6,7 @@ import {
6
6
  type CollectibleQueryOptions,
7
7
  collectibleQueryOptions,
8
8
  type FetchCollectibleParams,
9
- } from '../../../queries/collectible';
9
+ } from '../../../queries/collectibles/collectible';
10
10
  import { useConfig } from '../../config/useConfig';
11
11
 
12
12
  export type UseCollectibleParams = Optional<CollectibleQueryOptions, 'config'>;
@@ -6,7 +6,7 @@ import {
6
6
  type CountOfCollectablesQueryOptions,
7
7
  countOfCollectablesQueryOptions,
8
8
  type FetchCountOfCollectablesParams,
9
- } from '../../../queries/countOfCollectables';
9
+ } from '../../../queries/collectibles/countOfCollectables';
10
10
  import { useConfig } from '../../config/useConfig';
11
11
 
12
12
  export type UseCountOfCollectablesParams = Optional<
@@ -7,7 +7,7 @@ import {
7
7
  type fetchListCollectibleActivities,
8
8
  type ListCollectibleActivitiesQueryOptions,
9
9
  listCollectibleActivitiesQueryOptions,
10
- } from '../../../queries/listCollectibleActivities';
10
+ } from '../../../queries/collectibles/listCollectibleActivities';
11
11
  import { useConfig } from '../../config/useConfig';
12
12
 
13
13
  export type UseListCollectibleActivitiesParams = Optional<
@@ -6,7 +6,7 @@ import {
6
6
  type FetchListCollectiblesParams,
7
7
  type ListCollectiblesQueryOptions,
8
8
  listCollectiblesQueryOptions,
9
- } from '../../../queries/listCollectibles';
9
+ } from '../../../queries/collectibles/listCollectibles';
10
10
  import { useConfig } from '../../config/useConfig';
11
11
 
12
12
  export type UseListCollectiblesParams = Optional<
@@ -18,14 +18,13 @@ export type UseListCollectiblesParams = Optional<
18
18
  * Hook to fetch a list of collectibles with infinite pagination support
19
19
  *
20
20
  * Fetches collectibles from the marketplace with support for filtering, pagination,
21
- * and special handling for shop marketplace types and LAOS721 contracts.
21
+ * and special handling for shop marketplace types.
22
22
  *
23
23
  * @param params - Configuration parameters
24
24
  * @param params.chainId - The chain ID (must be number, e.g., 1 for Ethereum, 137 for Polygon)
25
25
  * @param params.collectionAddress - The collection contract address
26
26
  * @param params.side - Order side (listing or bid)
27
27
  * @param params.filter - Optional filtering parameters
28
- * @param params.isLaos721 - Whether the collection is a LAOS721 contract
29
28
  * @param params.marketplaceType - Type of marketplace (shop, etc.)
30
29
  * @param params.query - Optional React Query configuration
31
30
  *
@@ -55,20 +54,6 @@ export type UseListCollectiblesParams = Optional<
55
54
  * }
56
55
  * })
57
56
  * ```
58
- *
59
- * @example
60
- * For LAOS721 collections:
61
- * ```typescript
62
- * const { data } = useListCollectibles({
63
- * chainId: 137,
64
- * collectionAddress: '0x...',
65
- * side: OrderSide.listing,
66
- * isLaos721: true,
67
- * filter: {
68
- * inAccounts: ['0x...']
69
- * }
70
- * })
71
- * ```
72
57
  */
73
58
  export function useListCollectibles(params: UseListCollectiblesParams) {
74
59
  const defaultConfig = useConfig();
@@ -7,7 +7,7 @@ import {
7
7
  type fetchListCollectiblesPaginated,
8
8
  type ListCollectiblesPaginatedQueryOptions,
9
9
  listCollectiblesPaginatedQueryOptions,
10
- } from '../../../queries/listCollectiblesPaginated';
10
+ } from '../../../queries/collectibles/listCollectiblesPaginated';
11
11
  import { useConfig } from '../../config/useConfig';
12
12
 
13
13
  export type UseListCollectiblesPaginatedParams = Optional<
@@ -1,11 +1,9 @@
1
1
  import { useQuery } from '@tanstack/react-query';
2
- import { ContractType } from '../../../_internal';
3
2
  import {
4
3
  tokenBalancesOptions,
5
4
  type UseTokenBalancesArgs,
6
- } from '../../../queries/tokenBalances';
5
+ } from '../../../queries/collectibles/tokenBalances';
7
6
  import { useConfig } from '../../config/useConfig';
8
- import { useMarketplaceConfig } from '../../config/useMarketplaceConfig';
9
7
 
10
8
  /**
11
9
  * Hook to fetch all token balances for a user in a collection
@@ -28,18 +26,11 @@ import { useMarketplaceConfig } from '../../config/useMarketplaceConfig';
28
26
  */
29
27
  export function useTokenBalances(args: UseTokenBalancesArgs) {
30
28
  const config = useConfig();
31
- const { data: marketplaceConfig } = useMarketplaceConfig();
32
-
33
- const collection = marketplaceConfig?.market.collections.find(
34
- (collection) => collection.itemsAddress === args.collectionAddress,
35
- );
36
- const isLaos721 = collection?.contractType === ContractType.LAOS_ERC_721;
37
29
 
38
30
  return useQuery(
39
31
  tokenBalancesOptions(
40
32
  {
41
33
  ...args,
42
- isLaos721,
43
34
  },
44
35
  config,
45
36
  ),
@@ -1,4 +1,6 @@
1
1
  export * from './useCollection';
2
+ export * from './useCollectionActiveListingsCurrencies';
3
+ export * from './useCollectionActiveOffersCurrencies';
2
4
  export * from './useCollectionBalanceDetails';
3
5
  export * from './useCollectionDetails';
4
6
  export * from './useCollectionDetailsPolling';
@@ -6,7 +6,7 @@ import {
6
6
  type CollectionQueryOptions,
7
7
  collectionQueryOptions,
8
8
  type FetchCollectionParams,
9
- } from '../../../queries/collection';
9
+ } from '../../../queries/collections/collection';
10
10
  import { useConfig } from '../../config/useConfig';
11
11
 
12
12
  export type UseCollectionParams = Optional<CollectionQueryOptions, 'config'>;
@@ -0,0 +1,112 @@
1
+ import { renderHook, server, waitFor } from '@test';
2
+ import { HttpResponse, http } from 'msw';
3
+ import { zeroAddress } from 'viem';
4
+ import { describe, expect, it } from 'vitest';
5
+ import {
6
+ mockCurrencies,
7
+ mockMarketplaceEndpoint,
8
+ } from '../../../_internal/api/__mocks__/marketplace.msw';
9
+ import type { UseCollectionActiveListingsCurrenciesParams } from './useCollectionActiveListingsCurrencies';
10
+ import { useCollectionActiveListingsCurrencies } from './useCollectionActiveListingsCurrencies';
11
+
12
+ describe('useCollectionActiveListingsCurrencies', () => {
13
+ const defaultArgs: UseCollectionActiveListingsCurrenciesParams = {
14
+ chainId: 1,
15
+ collectionAddress: zeroAddress,
16
+ };
17
+
18
+ it('should fetch active listings currencies data successfully', async () => {
19
+ const { result } = renderHook(() =>
20
+ useCollectionActiveListingsCurrencies(defaultArgs),
21
+ );
22
+
23
+ // Initially loading
24
+ expect(result.current.isLoading).toBe(true);
25
+ expect(result.current.data).toBeUndefined();
26
+
27
+ // Wait for data to be loaded
28
+ await waitFor(() => {
29
+ expect(result.current.isLoading).toBe(false);
30
+ });
31
+
32
+ // Verify the data matches our mock
33
+ expect(result.current.data).toEqual(mockCurrencies);
34
+ expect(result.current.error).toBeNull();
35
+ });
36
+
37
+ it('should handle error states', async () => {
38
+ // Override the handler for this test to return an error
39
+ server.use(
40
+ http.post(
41
+ mockMarketplaceEndpoint('GetCollectionActiveListingsCurrencies'),
42
+ () => {
43
+ return HttpResponse.json(
44
+ {
45
+ error: { message: 'Failed to fetch active listings currencies' },
46
+ },
47
+ { status: 500 },
48
+ );
49
+ },
50
+ ),
51
+ );
52
+
53
+ const { result } = renderHook(() =>
54
+ useCollectionActiveListingsCurrencies(defaultArgs),
55
+ );
56
+
57
+ await waitFor(() => {
58
+ expect(result.current.isError).toBe(true);
59
+ });
60
+
61
+ expect(result.current.error).toBeDefined();
62
+ expect(result.current.data).toBeUndefined();
63
+ });
64
+
65
+ it('should refetch when args change', async () => {
66
+ const { result, rerender } = renderHook(() =>
67
+ useCollectionActiveListingsCurrencies(defaultArgs),
68
+ );
69
+
70
+ // Wait for initial data
71
+ await waitFor(() => {
72
+ expect(result.current.isLoading).toBe(false);
73
+ });
74
+
75
+ // Change args and rerender
76
+ const newArgs = {
77
+ ...defaultArgs,
78
+ collectionAddress:
79
+ '0x1234567890123456789012345678901234567890' as `0x${string}`,
80
+ };
81
+
82
+ rerender(() => useCollectionActiveListingsCurrencies(newArgs));
83
+
84
+ // Wait for new data
85
+ await waitFor(() => {
86
+ expect(result.current.data).toBeDefined();
87
+ });
88
+
89
+ // Verify that the query was refetched with new args
90
+ expect(result.current.data).toBeDefined();
91
+ expect(result.current.isSuccess).toBe(true);
92
+ });
93
+
94
+ it('should handle undefined query params', async () => {
95
+ const argsWithoutQuery: UseCollectionActiveListingsCurrenciesParams = {
96
+ chainId: 1,
97
+ collectionAddress: zeroAddress,
98
+ query: {},
99
+ };
100
+
101
+ const { result } = renderHook(() =>
102
+ useCollectionActiveListingsCurrencies(argsWithoutQuery),
103
+ );
104
+
105
+ await waitFor(() => {
106
+ expect(result.current.isLoading).toBe(false);
107
+ });
108
+
109
+ expect(result.current.data).toBeDefined();
110
+ expect(result.current.error).toBeNull();
111
+ });
112
+ });
@@ -0,0 +1,74 @@
1
+ 'use client';
2
+
3
+ import { useQuery } from '@tanstack/react-query';
4
+ import type { Optional } from '../../../_internal';
5
+ import {
6
+ type CollectionActiveListingsCurrenciesQueryOptions,
7
+ collectionActiveListingsCurrenciesQueryOptions,
8
+ type FetchCollectionActiveListingsCurrenciesParams,
9
+ } from '../../../queries/collections/activeListingsCurrencies';
10
+ import { useConfig } from '../../config/useConfig';
11
+
12
+ export type UseCollectionActiveListingsCurrenciesParams = Optional<
13
+ CollectionActiveListingsCurrenciesQueryOptions,
14
+ 'config'
15
+ >;
16
+
17
+ /**
18
+ * Hook to fetch the active listings currencies for a collection
19
+ *
20
+ * Retrieves all currencies that are currently being used in active listings
21
+ * for a specific collection from the marketplace.
22
+ *
23
+ * @param params - Configuration parameters
24
+ * @param params.chainId - The chain ID (must be number, e.g., 1 for Ethereum, 137 for Polygon)
25
+ * @param params.collectionAddress - The collection contract address
26
+ * @param params.query - Optional React Query configuration
27
+ *
28
+ * @returns Query result containing the array of currencies used in active listings
29
+ *
30
+ * @example
31
+ * Basic usage:
32
+ * ```typescript
33
+ * const { data, isLoading } = useCollectionActiveListingsCurrencies({
34
+ * chainId: 137,
35
+ * collectionAddress: '0x...'
36
+ * })
37
+ * ```
38
+ *
39
+ * @example
40
+ * With custom query options:
41
+ * ```typescript
42
+ * const { data, isLoading } = useCollectionActiveListingsCurrencies({
43
+ * chainId: 1,
44
+ * collectionAddress: '0x...',
45
+ * query: {
46
+ * refetchInterval: 30000,
47
+ * enabled: hasCollectionAddress
48
+ * }
49
+ * })
50
+ * ```
51
+ */
52
+ export function useCollectionActiveListingsCurrencies(
53
+ params: UseCollectionActiveListingsCurrenciesParams,
54
+ ) {
55
+ const defaultConfig = useConfig();
56
+
57
+ const { config = defaultConfig, ...rest } = params;
58
+
59
+ const queryOptions = collectionActiveListingsCurrenciesQueryOptions({
60
+ config,
61
+ ...rest,
62
+ });
63
+
64
+ return useQuery({
65
+ ...queryOptions,
66
+ });
67
+ }
68
+
69
+ export { collectionActiveListingsCurrenciesQueryOptions };
70
+
71
+ export type {
72
+ FetchCollectionActiveListingsCurrenciesParams,
73
+ CollectionActiveListingsCurrenciesQueryOptions,
74
+ };
@@ -0,0 +1,110 @@
1
+ import { renderHook, server, waitFor } from '@test';
2
+ import { HttpResponse, http } from 'msw';
3
+ import { zeroAddress } from 'viem';
4
+ import { describe, expect, it } from 'vitest';
5
+ import {
6
+ mockCurrencies,
7
+ mockMarketplaceEndpoint,
8
+ } from '../../../_internal/api/__mocks__/marketplace.msw';
9
+ import type { UseCollectionActiveOffersCurrenciesParams } from './useCollectionActiveOffersCurrencies';
10
+ import { useCollectionActiveOffersCurrencies } from './useCollectionActiveOffersCurrencies';
11
+
12
+ describe('useCollectionActiveOffersCurrencies', () => {
13
+ const defaultArgs: UseCollectionActiveOffersCurrenciesParams = {
14
+ chainId: 1,
15
+ collectionAddress: zeroAddress,
16
+ };
17
+
18
+ it('should fetch active offers currencies data successfully', async () => {
19
+ const { result } = renderHook(() =>
20
+ useCollectionActiveOffersCurrencies(defaultArgs),
21
+ );
22
+
23
+ // Initially loading
24
+ expect(result.current.isLoading).toBe(true);
25
+ expect(result.current.data).toBeUndefined();
26
+
27
+ // Wait for data to be loaded
28
+ await waitFor(() => {
29
+ expect(result.current.isLoading).toBe(false);
30
+ });
31
+
32
+ // Verify the data matches our mock
33
+ expect(result.current.data).toEqual(mockCurrencies);
34
+ expect(result.current.error).toBeNull();
35
+ });
36
+
37
+ it('should handle error states', async () => {
38
+ // Override the handler for this test to return an error
39
+ server.use(
40
+ http.post(
41
+ mockMarketplaceEndpoint('GetCollectionActiveOffersCurrencies'),
42
+ () => {
43
+ return HttpResponse.json(
44
+ { error: { message: 'Failed to fetch active offers currencies' } },
45
+ { status: 500 },
46
+ );
47
+ },
48
+ ),
49
+ );
50
+
51
+ const { result } = renderHook(() =>
52
+ useCollectionActiveOffersCurrencies(defaultArgs),
53
+ );
54
+
55
+ await waitFor(() => {
56
+ expect(result.current.isError).toBe(true);
57
+ });
58
+
59
+ expect(result.current.error).toBeDefined();
60
+ expect(result.current.data).toBeUndefined();
61
+ });
62
+
63
+ it('should refetch when args change', async () => {
64
+ const { result, rerender } = renderHook(() =>
65
+ useCollectionActiveOffersCurrencies(defaultArgs),
66
+ );
67
+
68
+ // Wait for initial data
69
+ await waitFor(() => {
70
+ expect(result.current.isLoading).toBe(false);
71
+ });
72
+
73
+ // Change args and rerender
74
+ const newArgs = {
75
+ ...defaultArgs,
76
+ collectionAddress:
77
+ '0x1234567890123456789012345678901234567890' as `0x${string}`,
78
+ };
79
+
80
+ rerender(() => useCollectionActiveOffersCurrencies(newArgs));
81
+
82
+ // Wait for new data
83
+ await waitFor(() => {
84
+ expect(result.current.data).toBeDefined();
85
+ });
86
+
87
+ // Verify that the query was refetched with new args
88
+ expect(result.current.data).toBeDefined();
89
+ expect(result.current.isSuccess).toBe(true);
90
+ });
91
+
92
+ it('should handle undefined query params', async () => {
93
+ const argsWithoutQuery: UseCollectionActiveOffersCurrenciesParams = {
94
+ chainId: 1,
95
+ collectionAddress: zeroAddress,
96
+ query: {},
97
+ };
98
+
99
+ const { result } = renderHook(() =>
100
+ useCollectionActiveOffersCurrencies(argsWithoutQuery),
101
+ );
102
+
103
+ await waitFor(() => {
104
+ expect(result.current.isLoading).toBe(false);
105
+ });
106
+
107
+ expect(result.current.data).toBeDefined();
108
+ expect(result.current.error).toBeNull();
109
+ });
110
+ });
@@ -0,0 +1,74 @@
1
+ 'use client';
2
+
3
+ import { useQuery } from '@tanstack/react-query';
4
+ import type { Optional } from '../../../_internal';
5
+ import {
6
+ type CollectionActiveOffersCurrenciesQueryOptions,
7
+ collectionActiveOffersCurrenciesQueryOptions,
8
+ type FetchCollectionActiveOffersCurrenciesParams,
9
+ } from '../../../queries/collections/activeOffersCurrencies';
10
+ import { useConfig } from '../../config/useConfig';
11
+
12
+ export type UseCollectionActiveOffersCurrenciesParams = Optional<
13
+ CollectionActiveOffersCurrenciesQueryOptions,
14
+ 'config'
15
+ >;
16
+
17
+ /**
18
+ * Hook to fetch the active offers currencies for a collection
19
+ *
20
+ * Retrieves all currencies that are currently being used in active offers
21
+ * for a specific collection from the marketplace.
22
+ *
23
+ * @param params - Configuration parameters
24
+ * @param params.chainId - The chain ID (must be number, e.g., 1 for Ethereum, 137 for Polygon)
25
+ * @param params.collectionAddress - The collection contract address
26
+ * @param params.query - Optional React Query configuration
27
+ *
28
+ * @returns Query result containing the array of currencies used in active offers
29
+ *
30
+ * @example
31
+ * Basic usage:
32
+ * ```typescript
33
+ * const { data, isLoading } = useCollectionActiveOffersCurrencies({
34
+ * chainId: 137,
35
+ * collectionAddress: '0x...'
36
+ * })
37
+ * ```
38
+ *
39
+ * @example
40
+ * With custom query options:
41
+ * ```typescript
42
+ * const { data, isLoading } = useCollectionActiveOffersCurrencies({
43
+ * chainId: 1,
44
+ * collectionAddress: '0x...',
45
+ * query: {
46
+ * refetchInterval: 30000,
47
+ * enabled: hasCollectionAddress
48
+ * }
49
+ * })
50
+ * ```
51
+ */
52
+ export function useCollectionActiveOffersCurrencies(
53
+ params: UseCollectionActiveOffersCurrenciesParams,
54
+ ) {
55
+ const defaultConfig = useConfig();
56
+
57
+ const { config = defaultConfig, ...rest } = params;
58
+
59
+ const queryOptions = collectionActiveOffersCurrenciesQueryOptions({
60
+ config,
61
+ ...rest,
62
+ });
63
+
64
+ return useQuery({
65
+ ...queryOptions,
66
+ });
67
+ }
68
+
69
+ export { collectionActiveOffersCurrenciesQueryOptions };
70
+
71
+ export type {
72
+ FetchCollectionActiveOffersCurrenciesParams,
73
+ CollectionActiveOffersCurrenciesQueryOptions,
74
+ };
@@ -8,7 +8,7 @@ import {
8
8
  collectionBalanceDetailsQueryOptions,
9
9
  type FetchCollectionBalanceDetailsParams,
10
10
  type fetchCollectionBalanceDetails,
11
- } from '../../../queries/collectionBalanceDetails';
11
+ } from '../../../queries/collections/collectionBalanceDetails';
12
12
  import { useConfig } from '../../config/useConfig';
13
13
 
14
14
  export type UseCollectionBalanceDetailsParams = Optional<
@@ -6,7 +6,7 @@ import {
6
6
  type CollectionDetailsQueryOptions,
7
7
  collectionDetailsQueryOptions,
8
8
  type FetchCollectionDetailsParams,
9
- } from '../../../queries/collectionDetails';
9
+ } from '../../../queries/collections/collectionDetails';
10
10
  import { useConfig } from '../../config/useConfig';
11
11
 
12
12
  export type UseCollectionDetailsParams = Optional<
@@ -7,7 +7,7 @@ import {
7
7
  type fetchListCollectionActivities,
8
8
  type ListCollectionActivitiesQueryOptions,
9
9
  listCollectionActivitiesQueryOptions,
10
- } from '../../../queries/listCollectionActivities';
10
+ } from '../../../queries/collections/listCollectionActivities';
11
11
  import { useConfig } from '../../config/useConfig';
12
12
 
13
13
  export type UseListCollectionActivitiesParams = Optional<
@@ -6,7 +6,7 @@ import {
6
6
  type FetchListCollectionsParams,
7
7
  type ListCollectionsQueryOptions,
8
8
  listCollectionsQueryOptions,
9
- } from '../../../queries/listCollections';
9
+ } from '../../../queries/collections/listCollections';
10
10
  import { useConfig } from '../../config/useConfig';
11
11
  import { useMarketplaceConfig } from '../../config/useMarketplaceConfig';
12
12