@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
@@ -1,14 +1,17 @@
1
1
  import { queryOptions } from '@tanstack/react-query';
2
2
  import { type Address, zeroAddress } from 'viem';
3
- import type { SdkConfig } from '../../types';
4
- import { compareAddress } from '../../utils';
3
+ import type { SdkConfig } from '../../../types';
4
+ import { compareAddress } from '../../../utils';
5
5
  import {
6
6
  currencyKeys,
7
7
  getMarketplaceClient,
8
8
  getQueryClient,
9
+ type ListCurrenciesArgs,
10
+ OrderbookKind,
11
+ type QueryKeyArgs,
9
12
  type ValuesOptional,
10
- } from '../_internal';
11
- import type { StandardQueryOptions } from '../types/query';
13
+ } from '../../_internal';
14
+ import type { StandardQueryOptions } from '../../types/query';
12
15
  import { marketplaceConfigOptions } from './marketplaceConfig';
13
16
 
14
17
  export interface FetchMarketCurrenciesParams {
@@ -44,6 +47,11 @@ export async function fetchMarketCurrencies(
44
47
  const marketplaceConfig = await queryClient.fetchQuery(
45
48
  marketplaceConfigOptions(config),
46
49
  );
50
+ const collection = marketplaceConfig.market.collections.find((collection) =>
51
+ compareAddress(collection.itemsAddress, collectionAddress),
52
+ );
53
+ const isOpensea =
54
+ collection?.destinationMarketplace === OrderbookKind.opensea;
47
55
 
48
56
  const currenciesOptions = marketplaceConfig.market.collections.find(
49
57
  (collection) =>
@@ -51,7 +59,8 @@ export async function fetchMarketCurrencies(
51
59
  )?.currencyOptions;
52
60
 
53
61
  // Filter currencies based on collection currency options
54
- if (currenciesOptions) {
62
+ // Skip filtering for OpenSea as it uses API-based currency support flags
63
+ if (currenciesOptions && !isOpensea) {
55
64
  currencies = currencies.filter((currency) =>
56
65
  currenciesOptions.includes(currency.contractAddress),
57
66
  );
@@ -70,6 +79,23 @@ export type MarketCurrenciesQueryOptions =
70
79
  query?: StandardQueryOptions;
71
80
  };
72
81
 
82
+ export function getMarketCurrenciesQueryKey(
83
+ params: MarketCurrenciesQueryOptions,
84
+ ) {
85
+ const apiArgs = {
86
+ chainId: String(params.chainId),
87
+ } satisfies QueryKeyArgs<ListCurrenciesArgs>;
88
+
89
+ return [
90
+ ...currencyKeys.lists,
91
+ apiArgs,
92
+ {
93
+ includeNativeCurrency: params.includeNativeCurrency,
94
+ collectionAddress: params.collectionAddress,
95
+ },
96
+ ] as const;
97
+ }
98
+
73
99
  export function marketCurrenciesQueryOptions(
74
100
  params: MarketCurrenciesQueryOptions,
75
101
  ) {
@@ -78,7 +104,7 @@ export function marketCurrenciesQueryOptions(
78
104
  );
79
105
 
80
106
  return queryOptions({
81
- queryKey: [...currencyKeys.lists, params],
107
+ queryKey: getMarketCurrenciesQueryKey(params),
82
108
  queryFn: () =>
83
109
  fetchMarketCurrencies({
84
110
  // biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined
@@ -1,16 +1,16 @@
1
1
  import { queryOptions } from '@tanstack/react-query';
2
2
  import type { Address } from 'viem';
3
- import type { ContractType, OrderbookKind, SdkConfig } from '../../types';
3
+ import type { ContractType, OrderbookKind, SdkConfig } from '../../../types';
4
4
  import type {
5
5
  MarketCollection,
6
6
  MarketPage,
7
7
  MarketplaceConfig,
8
8
  ShopCollection,
9
9
  ShopPage,
10
- } from '../../types/new-marketplace-types';
11
- import { configKeys, getBuilderClient } from '../_internal';
12
- import type { LookupMarketplaceReturn } from '../_internal/api/builder.gen';
13
- import { persistentQueryMeta } from '../_internal/query-meta';
10
+ } from '../../../types/new-marketplace-types';
11
+ import { configKeys, getBuilderClient } from '../../_internal';
12
+ import type { LookupMarketplaceReturn } from '../../_internal/api/builder.gen';
13
+ import { persistentQueryMeta } from '../../_internal/query-meta';
14
14
 
15
15
  export const fetchMarketplaceConfig = async ({
16
16
  config,
@@ -0,0 +1,86 @@
1
+ import { queryOptions } from '@tanstack/react-query';
2
+ import type { SdkConfig } from '../../../types';
3
+ import {
4
+ getMarketplaceClient,
5
+ type QueryKeyArgs,
6
+ type ValuesOptional,
7
+ } from '../../_internal';
8
+ import type {
9
+ GetCountOfAllOrdersArgs,
10
+ OrderSide,
11
+ } from '../../_internal/api/marketplace.gen';
12
+ import { collectionKeys } from '../../_internal/api/query-keys';
13
+ import type { StandardQueryOptions } from '../../types/query';
14
+
15
+ export interface FetchCountItemsOrdersForCollectionParams {
16
+ chainId: number;
17
+ collectionAddress: string;
18
+ config: SdkConfig;
19
+ side: OrderSide;
20
+ }
21
+
22
+ /**
23
+ * Fetches count of orders for a collection from the marketplace API
24
+ */
25
+ export async function fetchCountItemsOrdersForCollection(
26
+ params: FetchCountItemsOrdersForCollectionParams,
27
+ ) {
28
+ const { collectionAddress, chainId, config, side } = params;
29
+
30
+ const client = getMarketplaceClient(config);
31
+
32
+ const apiArgs: GetCountOfAllOrdersArgs = {
33
+ contractAddress: collectionAddress,
34
+ chainId: String(chainId),
35
+ side,
36
+ };
37
+
38
+ const result = await client.getCountOfAllOrders(apiArgs);
39
+ return result.count;
40
+ }
41
+
42
+ export type CountItemsOrdersForCollectionQueryOptions =
43
+ ValuesOptional<FetchCountItemsOrdersForCollectionParams> & {
44
+ query?: StandardQueryOptions;
45
+ };
46
+
47
+ export function getCountItemsOrdersForCollectionQueryKey(
48
+ params: CountItemsOrdersForCollectionQueryOptions,
49
+ ) {
50
+ const apiArgs = {
51
+ chainId: String(params.chainId),
52
+ contractAddress: params.collectionAddress,
53
+ side: params.side,
54
+ } satisfies QueryKeyArgs<GetCountOfAllOrdersArgs>;
55
+
56
+ return [...collectionKeys.collectionItemsOrdersCount, apiArgs] as const;
57
+ }
58
+
59
+ export function countItemsOrdersForCollectionQueryOptions(
60
+ params: CountItemsOrdersForCollectionQueryOptions,
61
+ ) {
62
+ const enabled = Boolean(
63
+ params.collectionAddress &&
64
+ params.chainId &&
65
+ params.config &&
66
+ params.side &&
67
+ (params.query?.enabled ?? true),
68
+ );
69
+
70
+ return queryOptions({
71
+ queryKey: getCountItemsOrdersForCollectionQueryKey(params),
72
+ queryFn: () =>
73
+ fetchCountItemsOrdersForCollection({
74
+ // biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined
75
+ chainId: params.chainId!,
76
+ // biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined
77
+ collectionAddress: params.collectionAddress!,
78
+ // biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined
79
+ config: params.config!,
80
+ // biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined
81
+ side: params.side!,
82
+ }),
83
+ ...params.query,
84
+ enabled,
85
+ });
86
+ }
@@ -1,12 +1,16 @@
1
1
  import { queryOptions } from '@tanstack/react-query';
2
- import type { SdkConfig } from '../../types';
3
- import { getMarketplaceClient, type ValuesOptional } from '../_internal';
2
+ import type { SdkConfig } from '../../../types';
3
+ import {
4
+ getMarketplaceClient,
5
+ type QueryKeyArgs,
6
+ type ValuesOptional,
7
+ } from '../../_internal';
4
8
  import type {
5
9
  GetCountOfListingsForCollectibleArgs,
6
10
  OrderFilter,
7
- } from '../_internal/api/marketplace.gen';
8
- import { collectableKeys } from '../_internal/api/query-keys';
9
- import type { StandardQueryOptions } from '../types/query';
11
+ } from '../../_internal/api/marketplace.gen';
12
+ import { collectableKeys } from '../../_internal/api/query-keys';
13
+ import type { StandardQueryOptions } from '../../types/query';
10
14
 
11
15
  export interface FetchCountListingsForCollectibleParams {
12
16
  chainId: number;
@@ -42,6 +46,19 @@ export type CountListingsForCollectibleQueryOptions =
42
46
  query?: StandardQueryOptions;
43
47
  };
44
48
 
49
+ export function getCountListingsForCollectibleQueryKey(
50
+ params: CountListingsForCollectibleQueryOptions,
51
+ ) {
52
+ const apiArgs = {
53
+ chainId: String(params.chainId),
54
+ contractAddress: params.collectionAddress,
55
+ tokenId: params.collectibleId,
56
+ filter: params.filter,
57
+ } satisfies QueryKeyArgs<GetCountOfListingsForCollectibleArgs>;
58
+
59
+ return [...collectableKeys.listingsCount, apiArgs] as const;
60
+ }
61
+
45
62
  export function countListingsForCollectibleQueryOptions(
46
63
  params: CountListingsForCollectibleQueryOptions,
47
64
  ) {
@@ -54,7 +71,7 @@ export function countListingsForCollectibleQueryOptions(
54
71
  );
55
72
 
56
73
  return queryOptions({
57
- queryKey: [...collectableKeys.listingsCount, params],
74
+ queryKey: getCountListingsForCollectibleQueryKey(params),
58
75
  queryFn: () =>
59
76
  fetchCountListingsForCollectible({
60
77
  // biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined
@@ -1,12 +1,16 @@
1
1
  import { queryOptions } from '@tanstack/react-query';
2
- import type { SdkConfig } from '../../types';
3
- import { getMarketplaceClient, type ValuesOptional } from '../_internal';
2
+ import type { SdkConfig } from '../../../types';
3
+ import {
4
+ getMarketplaceClient,
5
+ type QueryKeyArgs,
6
+ type ValuesOptional,
7
+ } from '../../_internal';
4
8
  import type {
5
9
  GetCountOfOffersForCollectibleArgs,
6
10
  OrderFilter,
7
- } from '../_internal/api/marketplace.gen';
8
- import { collectableKeys } from '../_internal/api/query-keys';
9
- import type { StandardQueryOptions } from '../types/query';
11
+ } from '../../_internal/api/marketplace.gen';
12
+ import { collectableKeys } from '../../_internal/api/query-keys';
13
+ import type { StandardQueryOptions } from '../../types/query';
10
14
 
11
15
  export interface FetchCountOffersForCollectibleParams {
12
16
  chainId: number;
@@ -42,6 +46,19 @@ export type CountOffersForCollectibleQueryOptions =
42
46
  query?: StandardQueryOptions;
43
47
  };
44
48
 
49
+ export function getCountOffersForCollectibleQueryKey(
50
+ params: CountOffersForCollectibleQueryOptions,
51
+ ) {
52
+ const apiArgs = {
53
+ chainId: String(params.chainId),
54
+ contractAddress: params.collectionAddress,
55
+ tokenId: params.collectibleId,
56
+ filter: params.filter,
57
+ } satisfies QueryKeyArgs<GetCountOfOffersForCollectibleArgs>;
58
+
59
+ return [...collectableKeys.offersCount, apiArgs] as const;
60
+ }
61
+
45
62
  export function countOffersForCollectibleQueryOptions(
46
63
  params: CountOffersForCollectibleQueryOptions,
47
64
  ) {
@@ -54,7 +71,7 @@ export function countOffersForCollectibleQueryOptions(
54
71
  );
55
72
 
56
73
  return queryOptions({
57
- queryKey: [...collectableKeys.offersCount, params],
74
+ queryKey: getCountOffersForCollectibleQueryKey(params),
58
75
  queryFn: () =>
59
76
  fetchCountOffersForCollectible({
60
77
  // biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined
@@ -1,12 +1,13 @@
1
1
  import { queryOptions } from '@tanstack/react-query';
2
- import type { SdkConfig } from '../../types';
2
+ import type { SdkConfig } from '../../../types';
3
3
  import {
4
4
  collectableKeys,
5
5
  type GetFloorOrderArgs,
6
6
  getMarketplaceClient,
7
+ type QueryKeyArgs,
7
8
  type ValuesOptional,
8
- } from '../_internal';
9
- import type { StandardQueryOptions } from '../types/query';
9
+ } from '../../_internal';
10
+ import type { StandardQueryOptions } from '../../types/query';
10
11
 
11
12
  export interface FetchFloorOrderParams
12
13
  extends Omit<GetFloorOrderArgs, 'contractAddress' | 'chainId'> {
@@ -37,6 +38,16 @@ export type FloorOrderQueryOptions = ValuesOptional<FetchFloorOrderParams> & {
37
38
  query?: StandardQueryOptions;
38
39
  };
39
40
 
41
+ export function getFloorOrderQueryKey(params: FloorOrderQueryOptions) {
42
+ const apiArgs = {
43
+ chainId: String(params.chainId),
44
+ contractAddress: params.collectionAddress,
45
+ filter: params.filter,
46
+ } satisfies QueryKeyArgs<GetFloorOrderArgs>;
47
+
48
+ return [...collectableKeys.floorOrders, apiArgs] as const;
49
+ }
50
+
40
51
  export function floorOrderQueryOptions(params: FloorOrderQueryOptions) {
41
52
  const enabled = Boolean(
42
53
  params.collectionAddress &&
@@ -46,7 +57,7 @@ export function floorOrderQueryOptions(params: FloorOrderQueryOptions) {
46
57
  );
47
58
 
48
59
  return queryOptions({
49
- queryKey: [...collectableKeys.floorOrders, params],
60
+ queryKey: getFloorOrderQueryKey(params),
50
61
  queryFn: () =>
51
62
  fetchFloorOrder({
52
63
  // biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined
@@ -0,0 +1,88 @@
1
+ import { queryOptions } from '@tanstack/react-query';
2
+ import type { SdkConfig } from '../../../types';
3
+ import {
4
+ getMarketplaceClient,
5
+ type QueryKeyArgs,
6
+ type ValuesOptional,
7
+ } from '../../_internal';
8
+ import type {
9
+ GetCountOfFilteredOrdersArgs,
10
+ OrderSide,
11
+ OrdersFilter,
12
+ } from '../../_internal/api/marketplace.gen';
13
+ import { collectionKeys } from '../../_internal/api/query-keys';
14
+ import type { StandardQueryOptions } from '../../types/query';
15
+
16
+ export interface FetchGetCountOfFilteredOrdersParams {
17
+ chainId: number;
18
+ collectionAddress: string;
19
+ config: SdkConfig;
20
+ side: OrderSide;
21
+ filter?: OrdersFilter;
22
+ }
23
+
24
+ export async function fetchGetCountOfFilteredOrders(
25
+ params: FetchGetCountOfFilteredOrdersParams,
26
+ ) {
27
+ const { collectionAddress, chainId, config, side, filter } = params;
28
+
29
+ const client = getMarketplaceClient(config);
30
+
31
+ const apiArgs: GetCountOfFilteredOrdersArgs = {
32
+ contractAddress: collectionAddress,
33
+ chainId: String(chainId),
34
+ side,
35
+ filter,
36
+ };
37
+
38
+ const result = await client.getCountOfFilteredOrders(apiArgs);
39
+ return result.count;
40
+ }
41
+
42
+ export type GetCountOfFilteredOrdersQueryOptions =
43
+ ValuesOptional<FetchGetCountOfFilteredOrdersParams> & {
44
+ query?: StandardQueryOptions;
45
+ };
46
+
47
+ export function getCountOfFilteredOrdersQueryKey(
48
+ params: GetCountOfFilteredOrdersQueryOptions,
49
+ ) {
50
+ const apiArgs = {
51
+ chainId: String(params.chainId),
52
+ contractAddress: params.collectionAddress,
53
+ side: params.side,
54
+ filter: params.filter,
55
+ } satisfies QueryKeyArgs<GetCountOfFilteredOrdersArgs>;
56
+
57
+ return [...collectionKeys.getCountOfFilteredOrders, apiArgs] as const;
58
+ }
59
+
60
+ export function getCountOfFilteredOrdersQueryOptions(
61
+ params: GetCountOfFilteredOrdersQueryOptions,
62
+ ) {
63
+ const enabled = Boolean(
64
+ params.collectionAddress &&
65
+ params.chainId &&
66
+ params.config &&
67
+ params.side &&
68
+ (params.query?.enabled ?? true),
69
+ );
70
+
71
+ return queryOptions({
72
+ queryKey: getCountOfFilteredOrdersQueryKey(params),
73
+ queryFn: () =>
74
+ fetchGetCountOfFilteredOrders({
75
+ // biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined
76
+ chainId: params.chainId!,
77
+ // biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined
78
+ collectionAddress: params.collectionAddress!,
79
+ // biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined
80
+ config: params.config!,
81
+ // biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined
82
+ side: params.side!,
83
+ filter: params.filter,
84
+ }),
85
+ ...params.query,
86
+ enabled,
87
+ });
88
+ }
@@ -1,12 +1,13 @@
1
1
  import { queryOptions } from '@tanstack/react-query';
2
- import type { SdkConfig } from '../../types';
2
+ import type { SdkConfig } from '../../../types';
3
3
  import {
4
4
  collectableKeys,
5
5
  type GetCollectibleHighestOfferArgs,
6
6
  getMarketplaceClient,
7
+ type QueryKeyArgs,
7
8
  type ValuesOptional,
8
- } from '../_internal';
9
- import type { StandardQueryOptions } from '../types/query';
9
+ } from '../../_internal';
10
+ import type { StandardQueryOptions } from '../../types/query';
10
11
 
11
12
  export interface FetchHighestOfferParams
12
13
  extends Omit<GetCollectibleHighestOfferArgs, 'contractAddress' | 'chainId'> {
@@ -38,6 +39,17 @@ export type HighestOfferQueryOptions =
38
39
  query?: StandardQueryOptions;
39
40
  };
40
41
 
42
+ export function getHighestOfferQueryKey(params: HighestOfferQueryOptions) {
43
+ const apiArgs = {
44
+ chainId: String(params.chainId),
45
+ contractAddress: params.collectionAddress,
46
+ tokenId: params.tokenId,
47
+ filter: params.filter,
48
+ } satisfies QueryKeyArgs<GetCollectibleHighestOfferArgs>;
49
+
50
+ return [...collectableKeys.highestOffers, apiArgs] as const;
51
+ }
52
+
41
53
  export function highestOfferQueryOptions(params: HighestOfferQueryOptions) {
42
54
  const enabled = Boolean(
43
55
  params.collectionAddress &&
@@ -48,7 +60,7 @@ export function highestOfferQueryOptions(params: HighestOfferQueryOptions) {
48
60
  );
49
61
 
50
62
  return queryOptions({
51
- queryKey: [...collectableKeys.highestOffers, params],
63
+ queryKey: getHighestOfferQueryKey(params),
52
64
  queryFn: () =>
53
65
  fetchHighestOffer({
54
66
  // biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined
@@ -0,0 +1,11 @@
1
+ export * from './countItemsOrdersForCollection';
2
+ export * from './countListingsForCollectible';
3
+ export * from './countOffersForCollectible';
4
+ export * from './floorOrder';
5
+ export * from './getCountOfFilteredOrders';
6
+ export * from './highestOffer';
7
+ export * from './listItemsOrdersForCollection';
8
+ export * from './listItemsOrdersForCollectionPaginated';
9
+ export * from './listListingsForCollectible';
10
+ export * from './listOffersForCollectible';
11
+ export * from './lowestListing';
@@ -0,0 +1,90 @@
1
+ import { infiniteQueryOptions } from '@tanstack/react-query';
2
+ import type { Address } from 'viem';
3
+ import type { Page, SdkConfig } from '../../../types';
4
+ import type {
5
+ ListOrdersWithCollectiblesArgs,
6
+ ListOrdersWithCollectiblesReturn,
7
+ QueryKeyArgs,
8
+ ValuesOptional,
9
+ } from '../../_internal';
10
+ import { collectionKeys, getMarketplaceClient } from '../../_internal';
11
+ import type { StandardInfiniteQueryOptions } from '../../types/query';
12
+
13
+ export interface FetchListItemsOrdersForCollectionParams
14
+ extends Omit<ListOrdersWithCollectiblesArgs, 'chainId' | 'contractAddress'> {
15
+ chainId: number;
16
+ collectionAddress: Address;
17
+ config: SdkConfig;
18
+ }
19
+
20
+ export async function fetchListItemsOrdersForCollection(
21
+ params: FetchListItemsOrdersForCollectionParams,
22
+ page: Page,
23
+ ): Promise<ListOrdersWithCollectiblesReturn> {
24
+ const { collectionAddress, chainId, config, ...additionalApiParams } = params;
25
+ const marketplaceClient = getMarketplaceClient(config);
26
+
27
+ const apiArgs: ListOrdersWithCollectiblesArgs = {
28
+ contractAddress: collectionAddress,
29
+ chainId: String(chainId),
30
+ page: page,
31
+ ...additionalApiParams,
32
+ };
33
+
34
+ return await marketplaceClient.listOrdersWithCollectibles(apiArgs);
35
+ }
36
+
37
+ export type ListItemsOrdersForCollectionQueryOptions =
38
+ ValuesOptional<FetchListItemsOrdersForCollectionParams> & {
39
+ query?: StandardInfiniteQueryOptions;
40
+ };
41
+
42
+ export function getListItemsOrdersForCollectionQueryKey(
43
+ params: ListItemsOrdersForCollectionQueryOptions,
44
+ ) {
45
+ const apiArgs = {
46
+ chainId: String(params.chainId),
47
+ contractAddress: params.collectionAddress,
48
+ side: params.side,
49
+ filter: params.filter,
50
+ } satisfies QueryKeyArgs<Omit<ListOrdersWithCollectiblesArgs, 'page'>>;
51
+
52
+ return [...collectionKeys.collectionItemsOrders, apiArgs] as const;
53
+ }
54
+
55
+ export function listItemsOrdersForCollectionQueryOptions(
56
+ params: ListItemsOrdersForCollectionQueryOptions,
57
+ ) {
58
+ const enabled = Boolean(
59
+ params.collectionAddress &&
60
+ params.chainId &&
61
+ params.config &&
62
+ params.side &&
63
+ (params.query?.enabled ?? true),
64
+ );
65
+
66
+ return infiniteQueryOptions({
67
+ queryKey: getListItemsOrdersForCollectionQueryKey(params),
68
+ queryFn: async ({ pageParam }) => {
69
+ return fetchListItemsOrdersForCollection(
70
+ {
71
+ // biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined
72
+ chainId: params.chainId!,
73
+ // biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined
74
+ collectionAddress: params.collectionAddress!,
75
+ // biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined
76
+ config: params.config!,
77
+ // biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined
78
+ side: params.side!,
79
+ filter: params.filter,
80
+ },
81
+ pageParam,
82
+ );
83
+ },
84
+ initialPageParam: (params.page || { page: 1, pageSize: 30 }) as Page,
85
+ getNextPageParam: (lastPage) =>
86
+ lastPage.page?.more ? lastPage.page : undefined,
87
+ ...params.query,
88
+ enabled,
89
+ });
90
+ }
@@ -0,0 +1,90 @@
1
+ import { queryOptions } from '@tanstack/react-query';
2
+ import type { Address } from 'viem';
3
+ import type { Page, SdkConfig } from '../../../types';
4
+ import type {
5
+ ListOrdersWithCollectiblesArgs,
6
+ ListOrdersWithCollectiblesReturn,
7
+ ValuesOptional,
8
+ } from '../../_internal';
9
+ import { collectionKeys, getMarketplaceClient } from '../../_internal';
10
+ import type { StandardQueryOptions } from '../../types/query';
11
+
12
+ export interface FetchListItemsOrdersForCollectionPaginatedParams
13
+ extends Omit<
14
+ ListOrdersWithCollectiblesArgs,
15
+ 'chainId' | 'contractAddress' | 'page'
16
+ > {
17
+ chainId: number;
18
+ collectionAddress: Address;
19
+ page?: number;
20
+ pageSize?: number;
21
+ config: SdkConfig;
22
+ }
23
+
24
+ /**
25
+ * Fetches a list of items orders for a collection with pagination support from the Marketplace API
26
+ */
27
+ export async function fetchListItemsOrdersForCollectionPaginated(
28
+ params: FetchListItemsOrdersForCollectionPaginatedParams,
29
+ ): Promise<ListOrdersWithCollectiblesReturn> {
30
+ const {
31
+ collectionAddress,
32
+ chainId,
33
+ config,
34
+ page = 1,
35
+ pageSize = 30,
36
+ ...additionalApiParams
37
+ } = params;
38
+ const marketplaceClient = getMarketplaceClient(config);
39
+
40
+ const pageParams: Page = {
41
+ page,
42
+ pageSize,
43
+ };
44
+
45
+ const apiArgs: ListOrdersWithCollectiblesArgs = {
46
+ contractAddress: collectionAddress,
47
+ chainId: String(chainId),
48
+ page: pageParams,
49
+ ...additionalApiParams,
50
+ };
51
+
52
+ return await marketplaceClient.listOrdersWithCollectibles(apiArgs);
53
+ }
54
+
55
+ export type ListItemsOrdersForCollectionPaginatedQueryOptions =
56
+ ValuesOptional<FetchListItemsOrdersForCollectionPaginatedParams> & {
57
+ query?: StandardQueryOptions;
58
+ };
59
+
60
+ export function listItemsOrdersForCollectionPaginatedQueryOptions(
61
+ params: ListItemsOrdersForCollectionPaginatedQueryOptions,
62
+ ) {
63
+ const enabled = Boolean(
64
+ params.collectionAddress &&
65
+ params.chainId &&
66
+ params.config &&
67
+ params.side &&
68
+ (params.query?.enabled ?? true),
69
+ );
70
+
71
+ return queryOptions({
72
+ queryKey: [...collectionKeys.collectionItemsOrders, 'paginated', params],
73
+ queryFn: () =>
74
+ fetchListItemsOrdersForCollectionPaginated({
75
+ // biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined
76
+ chainId: params.chainId!,
77
+ // biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined
78
+ collectionAddress: params.collectionAddress!,
79
+ // biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined
80
+ config: params.config!,
81
+ // biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined
82
+ side: params.side!,
83
+ filter: params.filter,
84
+ page: params.page,
85
+ pageSize: params.pageSize,
86
+ }),
87
+ ...params.query,
88
+ enabled,
89
+ });
90
+ }