@0xsequence/marketplace-sdk 1.1.0 → 1.1.1

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 (397) hide show
  1. package/.changeset/honest-peas-arrive.md +5 -0
  2. package/.changeset/real-tips-stick.md +8 -0
  3. package/.changeset/tall-pandas-wear.md +8 -0
  4. package/CHANGELOG.md +24 -2
  5. package/dist/{BellIcon-IpHHEy8h.js → BellIcon-ByhygxBO.js} +2 -2
  6. package/dist/{BellIcon-IpHHEy8h.js.map → BellIcon-ByhygxBO.js.map} +1 -1
  7. package/dist/{CartIcon-C8zbor8H.js → CartIcon-Bt3rQYGk.js} +3 -3
  8. package/dist/{CartIcon-C8zbor8H.js.map → CartIcon-Bt3rQYGk.js.map} +1 -1
  9. package/dist/CollectibleCard-CVpdgXA8.d.ts +8 -0
  10. package/dist/_internal-DkS2VUn5.js.map +1 -1
  11. package/dist/abi-fa-o9gH3.js +134 -0
  12. package/dist/abi-fa-o9gH3.js.map +1 -0
  13. package/dist/{alien_swap-BTJ7mSR-.js → alien_swap-DoY6XfMA.js} +1 -1
  14. package/dist/{alien_swap-BTJ7mSR-.js.map → alien_swap-DoY6XfMA.js.map} +1 -1
  15. package/dist/{api-DuLKn__v.js → api-BoO0V5aJ.js} +8 -3
  16. package/dist/api-BoO0V5aJ.js.map +1 -0
  17. package/dist/{aqua-xyz-BYJ9WSP_.js → aqua-xyz-BBDxnG14.js} +1 -1
  18. package/dist/{aqua-xyz-BYJ9WSP_.js.map → aqua-xyz-BBDxnG14.js.map} +1 -1
  19. package/dist/{aura-D7SUjgro.js → aura-DGx2zwvF.js} +1 -1
  20. package/dist/{aura-D7SUjgro.js.map → aura-DGx2zwvF.js.map} +1 -1
  21. package/dist/{blur-BcnRFCaV.js → blur-D8GKrRrq.js} +1 -1
  22. package/dist/{blur-BcnRFCaV.js.map → blur-D8GKrRrq.js.map} +1 -1
  23. package/dist/{coinbase-ChoX9Hw2.js → coinbase-DOry4PXY.js} +1 -1
  24. package/dist/{coinbase-ChoX9Hw2.js.map → coinbase-DOry4PXY.js.map} +1 -1
  25. package/dist/collectibles-C_H8jMGH.js +358 -0
  26. package/dist/collectibles-C_H8jMGH.js.map +1 -0
  27. package/dist/collections-CKummc-R.js +249 -0
  28. package/dist/collections-CKummc-R.js.map +1 -0
  29. package/dist/{components-CUv-wQr8.js → components-CosnX7F9.js} +5 -5
  30. package/dist/{components-CUv-wQr8.js.map → components-CosnX7F9.js.map} +1 -1
  31. package/dist/{contracts-D72LBOX3.js → contracts-BP_0vX48.js} +3 -3
  32. package/dist/{contracts-D72LBOX3.js.map → contracts-BP_0vX48.js.map} +1 -1
  33. package/dist/{create-config-DV_dtaLt.d.ts → create-config-ZOB7i4ZJ.d.ts} +117 -12
  34. package/dist/{element-Dbcv5qya.js → element-ciybd_VF.js} +1 -1
  35. package/dist/{element-Dbcv5qya.js.map → element-ciybd_VF.js.map} +1 -1
  36. package/dist/filters-V-V8Dn8f.d.ts +60 -0
  37. package/dist/{foundation-QPhUEUy8.js → foundation-Bq4lRz4x.js} +1 -1
  38. package/dist/{foundation-QPhUEUy8.js.map → foundation-Bq4lRz4x.js.map} +1 -1
  39. package/dist/index-BOiHR01C.d.ts +106 -0
  40. package/dist/index-BZIJTQT0.d.ts +121 -0
  41. package/dist/index-BeRV-7AX.d.ts +55 -0
  42. package/dist/{index-BaytncQc.d.ts → index-Bsx6XsC2.d.ts} +58 -55
  43. package/dist/{index-jGgfEHfQ.d.ts → index-BtWMBHeP.d.ts} +13 -9
  44. package/dist/{index-CT8ZorFd.d.ts → index-Bxzjy0d1.d.ts} +1 -1
  45. package/dist/{index-B6aSbaw2.d.ts → index-C-745li7.d.ts} +1 -1
  46. package/dist/{index-BoNNplSx.d.ts → index-C4MUKshG.d.ts} +2 -2
  47. package/dist/{index-DMBMM16q.d.ts → index-CPzvNmq9.d.ts} +35 -35
  48. package/dist/{index-D-UXGo5d.d.ts → index-CS65jqOq.d.ts} +2 -2
  49. package/dist/index-CZUtOTjh.d.ts +1 -0
  50. package/dist/index-CnEbXm_t.d.ts +130 -0
  51. package/dist/{index-CQecU53t.d.ts → index-CxA34wP1.d.ts} +32 -23
  52. package/dist/{index-C768pAfu.d.ts → index-CxpFwGvR.d.ts} +3 -3
  53. package/dist/{index-Bv5XVLjH.d.ts → index-D9LPlmbC.d.ts} +1 -1
  54. package/dist/{index-DJG0kiII.d.ts → index-DFEnA6Wa.d.ts} +28 -17
  55. package/dist/{index-B8vaT3_s.d.ts → index-DNNUeZEq.d.ts} +4 -4
  56. package/dist/{index-CXscCUg7.d.ts → index-DUXfvhxs.d.ts} +12 -12
  57. package/dist/index-DW3njUfb.d.ts +1 -0
  58. package/dist/{index-CMPUveNz.d.ts → index-DWt6yrIG.d.ts} +7 -7
  59. package/dist/index-DewGsFz5.d.ts +1 -0
  60. package/dist/{index-DLUjc7Bx.d.ts → index-DmudgrsN.d.ts} +191 -12
  61. package/dist/{index-DpeWm_vF.d.ts → index-DqXd1EeB.d.ts} +5 -5
  62. package/dist/{index-CM0ZTePs.d.ts → index-DwKr18CI.d.ts} +1 -1
  63. package/dist/{index-D6YMj82n.d.ts → index-NlPMNcqh.d.ts} +100 -100
  64. package/dist/index-Stm5u0I0.d.ts +53 -0
  65. package/dist/index-U-zp70of.d.ts +74 -0
  66. package/dist/index.d.ts +8 -8
  67. package/dist/index.js +8 -8
  68. package/dist/inventory-Dd7TazvZ.js +72 -0
  69. package/dist/inventory-Dd7TazvZ.js.map +1 -0
  70. package/dist/listBalances-BxpxBCvn.js +57 -0
  71. package/dist/listBalances-BxpxBCvn.js.map +1 -0
  72. package/dist/listCollectiblesPaginated-Cy2_qEZA.d.ts +327 -0
  73. package/dist/{listCollections-dTCq00l5.d.ts → listCollections-BB9FxKj2.d.ts} +193 -111
  74. package/dist/{looks-rare-C7cQztTR.js → looks-rare-6H--x3AM.js} +1 -1
  75. package/dist/{looks-rare-C7cQztTR.js.map → looks-rare-6H--x3AM.js.map} +1 -1
  76. package/dist/lowestListing-Cbsi6M1K.d.ts +465 -0
  77. package/dist/{magic-eden-D3r7jiBG.js → magic-eden-BoxEQ1Li.js} +1 -1
  78. package/dist/{magic-eden-D3r7jiBG.js.map → magic-eden-BoxEQ1Li.js.map} +1 -1
  79. package/dist/{manifold-DsX0CBP-.js → manifold-DycKsljb.js} +1 -1
  80. package/dist/{manifold-DsX0CBP-.js.map → manifold-DycKsljb.js.map} +1 -1
  81. package/dist/market-C3HV-awQ.js +209 -0
  82. package/dist/market-C3HV-awQ.js.map +1 -0
  83. package/dist/{marketCurrencies-Bzj8X4TL.d.ts → marketCurrencies-Bpw1bIO0.d.ts} +46 -15
  84. package/dist/marketCurrencies-sKrTX0og.js +53 -0
  85. package/dist/marketCurrencies-sKrTX0og.js.map +1 -0
  86. package/dist/{marketplace-BYY8OloA.js → marketplace-NQB-sEQL.js} +1 -1
  87. package/dist/{marketplace-BYY8OloA.js.map → marketplace-NQB-sEQL.js.map} +1 -1
  88. package/dist/{marketplace-logos-Csv2MBwf.js → marketplace-logos-D4dS1Foy.js} +21 -21
  89. package/dist/{marketplace-logos-Csv2MBwf.js.map → marketplace-logos-D4dS1Foy.js.map} +1 -1
  90. package/dist/{marketplace.gen-w2YvbEEo.js → marketplace.gen-ksUafDqS.js} +56 -5
  91. package/dist/marketplace.gen-ksUafDqS.js.map +1 -0
  92. package/dist/{marketplaceConfig-BTy75Mbf.js → marketplaceConfig-UHQMM9fq.js} +3 -3
  93. package/dist/marketplaceConfig-UHQMM9fq.js.map +1 -0
  94. package/dist/{mintify-DiOoDmO1.js → mintify-Dyqyo8jQ.js} +1 -1
  95. package/dist/{mintify-DiOoDmO1.js.map → mintify-Dyqyo8jQ.js.map} +1 -1
  96. package/dist/{nftx-CP82jNra.js → nftx-2LbFjj9Q.js} +1 -1
  97. package/dist/{nftx-CP82jNra.js.map → nftx-2LbFjj9Q.js.map} +1 -1
  98. package/dist/{okx-p9-4xRjs.js → okx-CBEWJNsR.js} +1 -1
  99. package/dist/{okx-p9-4xRjs.js.map → okx-CBEWJNsR.js.map} +1 -1
  100. package/dist/{open-sea-D2GwAmKS.js → open-sea-Dxntz_PA.js} +1 -1
  101. package/dist/{open-sea-D2GwAmKS.js.map → open-sea-Dxntz_PA.js.map} +1 -1
  102. package/dist/orders-DnFfZAXV.js +462 -0
  103. package/dist/orders-DnFfZAXV.js.map +1 -0
  104. package/dist/{primary-sale-DOmNDq2P.js → primary-sale-1u4QlPdA.js} +1 -1
  105. package/dist/{primary-sale-DOmNDq2P.js.map → primary-sale-1u4QlPdA.js.map} +1 -1
  106. package/dist/primary-sales-Dmsi6bqj.js +114 -0
  107. package/dist/primary-sales-Dmsi6bqj.js.map +1 -0
  108. package/dist/{query-BG-MA1MB.d.ts → query-BWbCsXLY.d.ts} +1 -1
  109. package/dist/{rarible-DqiiW9ki.js → rarible-CS0SupHr.js} +1 -1
  110. package/dist/{rarible-DqiiW9ki.js.map → rarible-CS0SupHr.js.map} +1 -1
  111. package/dist/react/_internal/api/index.d.ts +2 -2
  112. package/dist/react/_internal/api/index.js +3 -3
  113. package/dist/react/_internal/databeat/index.d.ts +1 -1
  114. package/dist/react/_internal/databeat/index.js +28 -17
  115. package/dist/react/_internal/index.d.ts +2 -2
  116. package/dist/react/_internal/index.js +3 -3
  117. package/dist/react/_internal/wagmi/index.d.ts +1 -1
  118. package/dist/react/hooks/config/index.d.ts +8 -8
  119. package/dist/react/hooks/config/index.js +28 -17
  120. package/dist/react/hooks/contracts/index.d.ts +6 -6
  121. package/dist/react/hooks/contracts/index.js +7 -7
  122. package/dist/react/hooks/data/collectibles/index.d.ts +10 -4
  123. package/dist/react/hooks/data/collectibles/index.js +28 -17
  124. package/dist/react/hooks/data/collections/index.d.ts +10 -10
  125. package/dist/react/hooks/data/collections/index.js +28 -17
  126. package/dist/react/hooks/data/index.d.ts +37 -29
  127. package/dist/react/hooks/data/index.js +29 -18
  128. package/dist/react/hooks/data/inventory/index.d.ts +36 -28
  129. package/dist/react/hooks/data/inventory/index.js +28 -17
  130. package/dist/react/hooks/data/market/index.d.ts +11 -5
  131. package/dist/react/hooks/data/market/index.js +28 -17
  132. package/dist/react/hooks/data/orders/index.d.ts +11 -5
  133. package/dist/react/hooks/data/orders/index.js +29 -18
  134. package/dist/react/hooks/data/primary-sales/index.d.ts +36 -28
  135. package/dist/react/hooks/data/primary-sales/index.js +28 -17
  136. package/dist/react/hooks/data/tokens/index.d.ts +4 -4
  137. package/dist/react/hooks/data/tokens/index.js +28 -17
  138. package/dist/react/hooks/index.d.ts +37 -29
  139. package/dist/react/hooks/index.js +29 -18
  140. package/dist/react/hooks/transactions/index.d.ts +2 -2
  141. package/dist/react/hooks/transactions/index.js +28 -17
  142. package/dist/react/hooks/ui/index.d.ts +4 -4
  143. package/dist/react/hooks/ui/index.js +28 -17
  144. package/dist/react/hooks/utils/index.d.ts +36 -28
  145. package/dist/react/hooks/utils/index.js +28 -17
  146. package/dist/react/index.d.ts +37 -29
  147. package/dist/react/index.js +29 -18
  148. package/dist/react/queries/collectibles/index.d.ts +11 -0
  149. package/dist/react/queries/collectibles/index.js +23 -0
  150. package/dist/react/queries/collections/index.d.ts +11 -0
  151. package/dist/react/queries/collections/index.js +20 -0
  152. package/dist/react/queries/index.d.ts +24 -16
  153. package/dist/react/queries/index.js +22 -11
  154. package/dist/react/queries/inventory/index.d.ts +3 -0
  155. package/dist/react/queries/inventory/index.js +22 -0
  156. package/dist/react/queries/market/index.d.ts +6 -0
  157. package/dist/react/queries/market/index.js +22 -0
  158. package/dist/react/queries/orders/index.d.ts +11 -0
  159. package/dist/react/queries/orders/index.js +13 -0
  160. package/dist/react/queries/primary-sales/index.d.ts +4 -0
  161. package/dist/react/queries/primary-sales/index.js +13 -0
  162. package/dist/react/queries/tokens/index.d.ts +5 -0
  163. package/dist/react/queries/tokens/index.js +14 -0
  164. package/dist/react/queries/utils/index.d.ts +4 -0
  165. package/dist/react/queries/utils/index.js +22 -0
  166. package/dist/react/ssr/index.d.ts +7 -7
  167. package/dist/react/ssr/index.js +3 -3
  168. package/dist/react/ssr/index.js.map +1 -1
  169. package/dist/react/ui/components/marketplace-collectible-card/components/footer/components/index.d.ts +2 -2
  170. package/dist/react/ui/components/marketplace-collectible-card/components/footer/components/index.js +11 -11
  171. package/dist/react/ui/components/marketplace-collectible-card/components/footer/index.d.ts +5 -5
  172. package/dist/react/ui/components/marketplace-collectible-card/components/footer/index.js +28 -17
  173. package/dist/react/ui/components/marketplace-collectible-card/index.d.ts +4 -4
  174. package/dist/react/ui/components/marketplace-collectible-card/index.js +28 -17
  175. package/dist/react/ui/components/marketplace-collectible-card/utils/index.d.ts +2 -2
  176. package/dist/react/ui/components/marketplace-collectible-card/utils/index.js +3 -3
  177. package/dist/react/ui/components/marketplace-logos/index.d.ts +21 -21
  178. package/dist/react/ui/components/marketplace-logos/index.js +1 -1
  179. package/dist/react/ui/icons/index.js +9 -9
  180. package/dist/react/ui/index.d.ts +4 -4
  181. package/dist/react/ui/index.js +28 -17
  182. package/dist/react/ui/modals/_internal/components/actionModal/index.d.ts +2 -2
  183. package/dist/react/ui/modals/_internal/components/actionModal/index.js +28 -17
  184. package/dist/react/utils/index.d.ts +3 -3
  185. package/dist/react/utils/index.js +3 -3
  186. package/dist/{react-BLJ4DkPx.js → react-DE852KeT.js} +1365 -172
  187. package/dist/react-DE852KeT.js.map +1 -0
  188. package/dist/{sequence-Bbb-TFKg.js → sequence-paCCener.js} +1 -1
  189. package/dist/{sequence-Bbb-TFKg.js.map → sequence-paCCener.js.map} +1 -1
  190. package/dist/styles/index.css +154 -0
  191. package/dist/{sudo-swap-CEPIM3Js.js → sudo-swap-9rH2EgfT.js} +1 -1
  192. package/dist/{sudo-swap-CEPIM3Js.js.map → sudo-swap-9rH2EgfT.js.map} +1 -1
  193. package/dist/{super-rare-CMEn9PoO.js → super-rare-DHIuWtRw.js} +1 -1
  194. package/dist/{super-rare-CMEn9PoO.js.map → super-rare-DHIuWtRw.js.map} +1 -1
  195. package/dist/{token-CcyLz8Z8.js → token-Cv7l2ZaL.js} +1 -1
  196. package/dist/{token-CcyLz8Z8.js.map → token-Cv7l2ZaL.js.map} +1 -1
  197. package/dist/tokenBalances-ibDerNmM.js +63 -0
  198. package/dist/tokenBalances-ibDerNmM.js.map +1 -0
  199. package/dist/tokenSupplies-Bfe8RHzI.d.ts +272 -0
  200. package/dist/tokens-cGxMadd8.js +194 -0
  201. package/dist/tokens-cGxMadd8.js.map +1 -0
  202. package/dist/types/index.d.ts +1 -1
  203. package/dist/types/index.js +1 -1
  204. package/dist/{types-D6LkVrF0.d.ts → types-D2TJ1dwv.d.ts} +3 -2
  205. package/dist/utils/abi/index.d.ts +5 -5
  206. package/dist/utils/abi/index.js +5 -5
  207. package/dist/utils/abi/marketplace/index.d.ts +1 -1
  208. package/dist/utils/abi/marketplace/index.js +1 -1
  209. package/dist/utils/abi/primary-sale/index.d.ts +1 -1
  210. package/dist/utils/abi/primary-sale/index.js +1 -1
  211. package/dist/utils/abi/token/index.d.ts +1 -1
  212. package/dist/utils/abi/token/index.js +1 -1
  213. package/dist/utils/index.d.ts +7 -7
  214. package/dist/utils/index.js +8 -8
  215. package/dist/utils-BCgNhBFR.js +112 -0
  216. package/dist/utils-BCgNhBFR.js.map +1 -0
  217. package/dist/{utils-BZEkdqWK.js → utils-BfpDVibN.js} +3 -3
  218. package/dist/{utils-BZEkdqWK.js.map → utils-BfpDVibN.js.map} +1 -1
  219. package/dist/{utils-oVZxdK0o.js → utils-BqxcalL2.js} +2 -2
  220. package/dist/{utils-oVZxdK0o.js.map → utils-BqxcalL2.js.map} +1 -1
  221. package/dist/waitForTransactionReceipt-DieAnV52.js +25 -0
  222. package/dist/waitForTransactionReceipt-DieAnV52.js.map +1 -0
  223. package/dist/{x2y2-DNe6JgtG.js → x2y2-45WDooeh.js} +1 -1
  224. package/dist/{x2y2-DNe6JgtG.js.map → x2y2-45WDooeh.js.map} +1 -1
  225. package/dist/{zora-w0Zqxxs4.js → zora-CbeBoLvQ.js} +1 -1
  226. package/dist/{zora-w0Zqxxs4.js.map → zora-CbeBoLvQ.js.map} +1 -1
  227. package/package.json +10 -5
  228. package/src/react/_internal/api/__mocks__/marketplace.msw.ts +2 -0
  229. package/src/react/_internal/api/marketplace.gen.ts +1730 -2383
  230. package/src/react/_internal/api/query-keys.ts +14 -0
  231. package/src/react/_internal/api/services.ts +1 -1
  232. package/src/react/_internal/databeat/types.ts +1 -0
  233. package/src/react/_internal/types.ts +14 -0
  234. package/src/react/_internal/utils.ts +3 -0
  235. package/src/react/hooks/config/useMarketplaceConfig.tsx +1 -1
  236. package/src/react/hooks/data/collectibles/useBalanceOfCollectible.tsx +1 -1
  237. package/src/react/hooks/data/collectibles/useCollectible.tsx +1 -1
  238. package/src/react/hooks/data/collectibles/useCountOfCollectables.tsx +1 -1
  239. package/src/react/hooks/data/collectibles/useListCollectibleActivities.tsx +1 -1
  240. package/src/react/hooks/data/collectibles/useListCollectibles.tsx +1 -1
  241. package/src/react/hooks/data/collectibles/useListCollectiblesPaginated.tsx +1 -1
  242. package/src/react/hooks/data/collectibles/useTokenBalances.tsx +1 -1
  243. package/src/react/hooks/data/collections/useCollection.tsx +1 -1
  244. package/src/react/hooks/data/collections/useCollectionBalanceDetails.tsx +1 -1
  245. package/src/react/hooks/data/collections/useCollectionDetails.ts +1 -1
  246. package/src/react/hooks/data/collections/useListCollectionActivities.tsx +1 -1
  247. package/src/react/hooks/data/collections/useListCollections.tsx +1 -1
  248. package/src/react/hooks/data/inventory/useInventory.tsx +1 -1
  249. package/src/react/hooks/data/market/useCurrency.tsx +1 -1
  250. package/src/react/hooks/data/market/useListMarketCardData.tsx +7 -0
  251. package/src/react/hooks/data/market/useMarketCurrencies.tsx +1 -1
  252. package/src/react/hooks/data/orders/index.ts +4 -0
  253. package/src/react/hooks/data/orders/useCountItemsOrdersForCollection.tsx +90 -0
  254. package/src/react/hooks/data/orders/useCountListingsForCollectible.tsx +1 -1
  255. package/src/react/hooks/data/orders/useCountOffersForCollectible.tsx +1 -1
  256. package/src/react/hooks/data/orders/useFloorOrder.tsx +1 -1
  257. package/src/react/hooks/data/orders/useGetCountOfFilteredOrders.tsx +39 -0
  258. package/src/react/hooks/data/orders/useHighestOffer.tsx +1 -1
  259. package/src/react/hooks/data/orders/useListItemsOrdersForCollection.tsx +93 -0
  260. package/src/react/hooks/data/orders/useListItemsOrdersForCollectionPaginated.tsx +108 -0
  261. package/src/react/hooks/data/orders/useListListingsForCollectible.tsx +1 -1
  262. package/src/react/hooks/data/orders/useListOffersForCollectible.tsx +1 -1
  263. package/src/react/hooks/data/orders/useLowestListing.tsx +1 -1
  264. package/src/react/hooks/data/primary-sales/useGetCountOfPrimarySaleItems.tsx +2 -2
  265. package/src/react/hooks/data/primary-sales/useListPrimarySaleItems.tsx +1 -1
  266. package/src/react/hooks/data/tokens/useGetTokenRanges.tsx +2 -2
  267. package/src/react/hooks/data/tokens/useListBalances.tsx +2 -2
  268. package/src/react/hooks/data/tokens/useListTokenMetadata.tsx +1 -1
  269. package/src/react/hooks/data/tokens/useSearchTokenMetadata.tsx +1 -1
  270. package/src/react/hooks/data/tokens/useTokenSupplies.ts +1 -1
  271. package/src/react/hooks/transactions/useGenerateCancelTransaction.test.tsx +1 -0
  272. package/src/react/hooks/transactions/useGenerateListingTransaction.test.tsx +13 -0
  273. package/src/react/hooks/transactions/useGenerateOfferTransaction.test.tsx +1 -0
  274. package/src/react/hooks/transactions/useGenerateSellTransaction.test.tsx +6 -0
  275. package/src/react/hooks/ui/useFilterState.tsx +72 -2
  276. package/src/react/hooks/ui/useFilters.tsx +1 -1
  277. package/src/react/hooks/utils/useCheckoutOptions.tsx +2 -2
  278. package/src/react/hooks/utils/useCheckoutOptionsSalesContract.tsx +1 -1
  279. package/src/react/hooks/utils/useComparePrices.tsx +1 -1
  280. package/src/react/hooks/utils/useConvertPriceToUSD.tsx +1 -1
  281. package/src/react/providers/analytics-provider.tsx +45 -0
  282. package/src/react/providers/index.tsx +30 -41
  283. package/src/react/providers/modal-provider.tsx +13 -2
  284. package/src/react/queries/{__tests__ → collectibles/__tests__}/balanceOfCollectible.laos.test.ts +1 -1
  285. package/src/react/queries/{__tests__ → collectibles/__tests__}/tokenBalances.laos.test.ts +1 -1
  286. package/src/react/queries/{balanceOfCollectible.ts → collectibles/balanceOfCollectible.ts} +24 -3
  287. package/src/react/queries/{collectible.ts → collectibles/collectible.ts} +20 -5
  288. package/src/react/queries/{countOfCollectables.ts → collectibles/countOfCollectables.ts} +32 -6
  289. package/src/react/queries/collectibles/index.ts +7 -0
  290. package/src/react/queries/{listCollectibleActivities.ts → collectibles/listCollectibleActivities.ts} +29 -5
  291. package/src/react/queries/{listCollectibles.ts → collectibles/listCollectibles.ts} +28 -9
  292. package/src/react/queries/{listCollectiblesPaginated.ts → collectibles/listCollectiblesPaginated.ts} +22 -5
  293. package/src/react/queries/{tokenBalances.ts → collectibles/tokenBalances.ts} +21 -3
  294. package/src/react/queries/{collection.ts → collections/collection.ts} +19 -5
  295. package/src/react/queries/{collectionBalanceDetails.ts → collections/collectionBalanceDetails.ts} +19 -4
  296. package/src/react/queries/{collectionDetails.ts → collections/collectionDetails.ts} +21 -6
  297. package/src/react/queries/collections/index.ts +5 -0
  298. package/src/react/queries/{listCollectionActivities.ts → collections/listCollectionActivities.ts} +28 -6
  299. package/src/react/queries/{listCollections.ts → collections/listCollections.ts} +17 -6
  300. package/src/react/queries/index.ts +7 -34
  301. package/src/react/queries/{__tests__ → inventory/__tests__}/inventory.laos.test.ts +4 -4
  302. package/src/react/queries/inventory/index.ts +1 -0
  303. package/src/react/queries/{inventory.ts → inventory/inventory.ts} +11 -5
  304. package/src/react/queries/{checkoutOptions.ts → market/checkoutOptions.ts} +28 -6
  305. package/src/react/queries/{checkoutOptionsSalesContract.ts → market/checkoutOptionsSalesContract.ts} +24 -5
  306. package/src/react/queries/{currency.ts → market/currency.ts} +13 -4
  307. package/src/react/queries/{filters.ts → market/filters.ts} +25 -6
  308. package/src/react/queries/market/index.ts +6 -0
  309. package/src/react/queries/{marketCurrencies.ts → market/marketCurrencies.ts} +24 -5
  310. package/src/react/queries/{marketplaceConfig.ts → market/marketplaceConfig.ts} +5 -5
  311. package/src/react/queries/orders/countItemsOrdersForCollection.ts +86 -0
  312. package/src/react/queries/{countListingsForCollectible.ts → orders/countListingsForCollectible.ts} +23 -6
  313. package/src/react/queries/{countOffersForCollectible.ts → orders/countOffersForCollectible.ts} +23 -6
  314. package/src/react/queries/{floorOrder.ts → orders/floorOrder.ts} +15 -4
  315. package/src/react/queries/orders/getCountOfFilteredOrders.ts +88 -0
  316. package/src/react/queries/{highestOffer.ts → orders/highestOffer.ts} +16 -4
  317. package/src/react/queries/orders/index.ts +11 -0
  318. package/src/react/queries/orders/listItemsOrdersForCollection.ts +90 -0
  319. package/src/react/queries/orders/listItemsOrdersForCollectionPaginated.ts +90 -0
  320. package/src/react/queries/{listListingsForCollectible.ts → orders/listListingsForCollectible.ts} +20 -5
  321. package/src/react/queries/{listOffersForCollectible.ts → orders/listOffersForCollectible.ts} +20 -5
  322. package/src/react/queries/{lowestListing.ts → orders/lowestListing.ts} +16 -4
  323. package/src/react/queries/{countOfPrimarySaleItems.ts → primary-sales/countOfPrimarySaleItems.ts} +17 -3
  324. package/src/react/queries/primary-sales/index.ts +3 -0
  325. package/src/react/queries/{primarySaleItems.ts → primary-sales/primarySaleItems.ts} +18 -4
  326. package/src/react/queries/{primarySaleItemsCount.ts → primary-sales/primarySaleItemsCount.ts} +19 -4
  327. package/src/react/queries/{getTokenRanges.ts → tokens/getTokenRanges.ts} +17 -4
  328. package/src/react/queries/tokens/index.ts +5 -0
  329. package/src/react/queries/{listBalances.ts → tokens/listBalances.ts} +18 -3
  330. package/src/react/queries/{listTokenMetadata.ts → tokens/listTokenMetadata.ts} +18 -4
  331. package/src/react/queries/{searchTokenMetadata.ts → tokens/searchTokenMetadata.ts} +18 -4
  332. package/src/react/queries/{tokenSupplies.ts → tokens/tokenSupplies.ts} +16 -4
  333. package/src/react/queries/{comparePrices.ts → utils/comparePrices.ts} +16 -4
  334. package/src/react/queries/{convertPriceToUSD.ts → utils/convertPriceToUSD.ts} +18 -5
  335. package/src/react/queries/utils/index.ts +2 -0
  336. package/src/react/ssr/create-ssr-client.ts +1 -1
  337. package/src/react/ui/components/_internals/ErrorLogBox.tsx +85 -0
  338. package/src/react/ui/components/_internals/action-button/ActionButton.tsx +4 -0
  339. package/src/react/ui/components/_internals/action-button/components/NonOwnerActions.tsx +4 -0
  340. package/src/react/ui/components/marketplace-collectible-card/components/ActionButtonWrapper.tsx +3 -0
  341. package/src/react/ui/components/marketplace-collectible-card/types.ts +1 -0
  342. package/src/react/ui/components/marketplace-collectible-card/variants/MarketCard.tsx +3 -0
  343. package/src/react/ui/components/marketplace-collectible-card/variants/ShopCard.tsx +2 -0
  344. package/src/react/ui/modals/BuyModal/components/ERC1155BuyModal.tsx +65 -3
  345. package/src/react/ui/modals/BuyModal/components/ERC721BuyModal.tsx +31 -0
  346. package/src/react/ui/modals/BuyModal/hooks/__tests__/useERC721SalePaymentParams.test.tsx +20 -1
  347. package/src/react/ui/modals/BuyModal/hooks/useERC1155Checkout.ts +7 -2
  348. package/src/react/ui/modals/BuyModal/hooks/useERC721SalePaymentParams.ts +12 -3
  349. package/src/react/ui/modals/BuyModal/hooks/usePaymentModalParams.ts +11 -2
  350. package/src/react/ui/modals/BuyModal/store.ts +3 -0
  351. package/src/react/ui/modals/CreateListingModal/Modal.tsx +63 -24
  352. package/src/react/ui/modals/CreateListingModal/__tests__/Modal.test.tsx +4 -0
  353. package/src/react/ui/modals/CreateListingModal/hooks/useCreateListing.tsx +18 -12
  354. package/src/react/ui/modals/CreateListingModal/hooks/useGetTokenApproval.ts +4 -1
  355. package/src/react/ui/modals/CreateListingModal/hooks/useTransactionSteps.tsx +1 -0
  356. package/src/react/ui/modals/MakeOfferModal/Modal.tsx +55 -8
  357. package/src/react/ui/modals/MakeOfferModal/__tests__/Modal.test.tsx +10 -0
  358. package/src/react/ui/modals/MakeOfferModal/hooks/useGetTokenApproval.tsx +4 -1
  359. package/src/react/ui/modals/MakeOfferModal/hooks/useMakeOffer.tsx +15 -26
  360. package/src/react/ui/modals/MakeOfferModal/hooks/useTransactionSteps.tsx +1 -0
  361. package/src/react/ui/modals/SellModal/Modal.tsx +21 -3
  362. package/src/react/ui/modals/SellModal/__tests__/Modal.test.tsx +2 -0
  363. package/src/react/ui/modals/SellModal/hooks/useGetTokenApproval.tsx +3 -1
  364. package/src/react/ui/modals/SellModal/hooks/useSell.tsx +13 -7
  365. package/src/react/ui/modals/SuccessfulPurchaseModal/__tests__/Modal.test.tsx +9 -0
  366. package/src/react/ui/modals/_internal/components/calendarDropdown/TimeSelector.tsx +105 -0
  367. package/src/react/ui/modals/_internal/components/calendarDropdown/index.tsx +45 -12
  368. package/src/react/ui/modals/_internal/components/calendarDropdown/overrides.css +39 -0
  369. package/src/react/ui/modals/_internal/components/currencyOptionsSelect/index.tsx +31 -10
  370. package/src/react/ui/modals/_internal/components/expirationDateSelect/index.tsx +18 -9
  371. package/src/react/ui/modals/_internal/components/priceInput/index.tsx +51 -1
  372. package/src/react/ui/modals/_internal/components/transactionDetails/index.tsx +58 -10
  373. package/src/react/ui/modals/_internal/constants/opensea-currencies.ts +481 -0
  374. package/src/react/utils/waitForTransactionReceipt.ts +26 -32
  375. package/src/styles/index.css +1 -0
  376. package/src/styles/styles.ts +155 -1
  377. package/src/types/index.ts +1 -1
  378. package/src/utils/abi/index.ts +1 -0
  379. package/src/utils/abi/mainModule.ts +158 -0
  380. package/dist/CollectibleCard-C2EWF0zo.d.ts +0 -8
  381. package/dist/api-DuLKn__v.js.map +0 -1
  382. package/dist/filters-zkMJaPey.d.ts +0 -31
  383. package/dist/index-Yobo6icm.d.ts +0 -234
  384. package/dist/listCollectiblesPaginated-Bq0QSOjJ.d.ts +0 -168
  385. package/dist/lowestListing-CB5Te-Q9.d.ts +0 -168
  386. package/dist/marketplace.gen-w2YvbEEo.js.map +0 -1
  387. package/dist/marketplaceConfig-BTy75Mbf.js.map +0 -1
  388. package/dist/queries-EMA5CcwY.js +0 -1399
  389. package/dist/queries-EMA5CcwY.js.map +0 -1
  390. package/dist/react-BLJ4DkPx.js.map +0 -1
  391. package/dist/react-F03jPjPk.css +0 -80
  392. package/dist/react-F03jPjPk.css.map +0 -1
  393. package/dist/tokenSupplies-C470zTT0.d.ts +0 -147
  394. package/dist/waitForTransactionReceipt-B08YZiDY.js +0 -26
  395. package/dist/waitForTransactionReceipt-B08YZiDY.js.map +0 -1
  396. /package/dist/{index-Cg5cFzs-.d.ts → index-6wsMChsg.d.ts} +0 -0
  397. /package/dist/{abi-DYsUABe6.js → queries-KOcILNJO.js} +0 -0
@@ -0,0 +1,108 @@
1
+ 'use client';
2
+
3
+ import { useQuery } from '@tanstack/react-query';
4
+ import type { Optional } from '../../../_internal';
5
+ import {
6
+ type FetchListItemsOrdersForCollectionPaginatedParams,
7
+ type fetchListItemsOrdersForCollectionPaginated,
8
+ type ListItemsOrdersForCollectionPaginatedQueryOptions,
9
+ listItemsOrdersForCollectionPaginatedQueryOptions,
10
+ } from '../../../queries/orders/listItemsOrdersForCollectionPaginated';
11
+ import { useConfig } from '../../config/useConfig';
12
+
13
+ export type UseListItemsOrdersForCollectionPaginatedParams = Optional<
14
+ ListItemsOrdersForCollectionPaginatedQueryOptions,
15
+ 'config'
16
+ >;
17
+
18
+ /**
19
+ * Hook to fetch all listings for a collection with pagination support
20
+ *
21
+ * Fetches active listings (sales) for all tokens in a collection from the marketplace
22
+ * with support for filtering and pagination. Unlike the infinite query version,
23
+ * this hook fetches a specific page of results.
24
+ *
25
+ * @param params - Configuration parameters
26
+ * @param params.chainId - The chain ID (must be number, e.g., 1 for Ethereum, 137 for Polygon)
27
+ * @param params.collectionAddress - The collection contract address
28
+ * @param params.side - Order side (listing or bid)
29
+ * @param params.filter - Optional filtering parameters (marketplace, currencies, etc.)
30
+ * @param params.page - Page number to fetch (default: 1)
31
+ * @param params.pageSize - Number of items per page (default: 30)
32
+ * @param params.query - Optional React Query configuration
33
+ *
34
+ * @returns Query result containing listings data for the specific page
35
+ *
36
+ * @example
37
+ * Basic usage:
38
+ * ```typescript
39
+ * const { data, isLoading } = useListItemsOrdersForCollectionPaginated({
40
+ * chainId: 137,
41
+ * collectionAddress: '0x...',
42
+ * side: OrderSide.listing,
43
+ * page: 1,
44
+ * pageSize: 20
45
+ * })
46
+ * ```
47
+ *
48
+ * @example
49
+ * With filtering:
50
+ * ```typescript
51
+ * const { data } = useListItemsOrdersForCollectionPaginated({
52
+ * chainId: 1,
53
+ * collectionAddress: '0x...',
54
+ * side: OrderSide.listing,
55
+ * page: 2,
56
+ * pageSize: 50,
57
+ * filter: {
58
+ * marketplace: [MarketplaceKind.sequence_marketplace_v2],
59
+ * currencies: ['0x...']
60
+ * }
61
+ * })
62
+ * ```
63
+ *
64
+ * @example
65
+ * Controlled pagination:
66
+ * ```typescript
67
+ * const [currentPage, setCurrentPage] = useState(1);
68
+ * const { data, isLoading } = useListItemsOrdersForCollectionPaginated({
69
+ * chainId: 137,
70
+ * collectionAddress: '0x...',
71
+ * side: OrderSide.listing,
72
+ * page: currentPage,
73
+ * pageSize: 25
74
+ * });
75
+ *
76
+ * const hasMorePages = data?.page?.more;
77
+ * ```
78
+ */
79
+ export function useListItemsOrdersForCollectionPaginated(
80
+ params: UseListItemsOrdersForCollectionPaginatedParams,
81
+ ) {
82
+ const defaultConfig = useConfig();
83
+
84
+ const { config = defaultConfig, ...rest } = params;
85
+
86
+ const queryOptions = listItemsOrdersForCollectionPaginatedQueryOptions({
87
+ config,
88
+ ...rest,
89
+ });
90
+
91
+ return useQuery({
92
+ ...queryOptions,
93
+ });
94
+ }
95
+
96
+ export { listItemsOrdersForCollectionPaginatedQueryOptions };
97
+
98
+ export type {
99
+ FetchListItemsOrdersForCollectionPaginatedParams,
100
+ ListItemsOrdersForCollectionPaginatedQueryOptions,
101
+ };
102
+
103
+ // Legacy exports for backward compatibility during migration
104
+ export type UseListItemsOrdersForCollectionPaginatedArgs =
105
+ UseListItemsOrdersForCollectionPaginatedParams;
106
+ export type UseListItemsOrdersForCollectionPaginatedReturn = Awaited<
107
+ ReturnType<typeof fetchListItemsOrdersForCollectionPaginated>
108
+ >;
@@ -7,7 +7,7 @@ import {
7
7
  type fetchListListingsForCollectible,
8
8
  type ListListingsForCollectibleQueryOptions,
9
9
  listListingsForCollectibleQueryOptions,
10
- } from '../../../queries/listListingsForCollectible';
10
+ } from '../../../queries/orders/listListingsForCollectible';
11
11
  import { useConfig } from '../../config/useConfig';
12
12
 
13
13
  export type UseListListingsForCollectibleParams = Optional<
@@ -6,7 +6,7 @@ import {
6
6
  type FetchListOffersForCollectibleParams,
7
7
  type ListOffersForCollectibleQueryOptions,
8
8
  listOffersForCollectibleQueryOptions,
9
- } from '../../../queries/listOffersForCollectible';
9
+ } from '../../../queries/orders/listOffersForCollectible';
10
10
  import { useConfig } from '../../config/useConfig';
11
11
 
12
12
  export type UseListOffersForCollectibleParams = Optional<
@@ -6,7 +6,7 @@ import {
6
6
  type FetchLowestListingParams,
7
7
  type LowestListingQueryOptions,
8
8
  lowestListingQueryOptions,
9
- } from '../../../queries/lowestListing';
9
+ } from '../../../queries/orders/lowestListing';
10
10
  import { useConfig } from '../../config/useConfig';
11
11
 
12
12
  export type UseLowestListingParams = Optional<
@@ -2,8 +2,8 @@
2
2
 
3
3
  import { useQuery } from '@tanstack/react-query';
4
4
  import type { Optional } from '../../../_internal';
5
- import type { ListPrimarySaleItemsQueryOptions } from '../../../queries/primarySaleItems';
6
- import { primarySaleItemsCountQueryOptions } from '../../../queries/primarySaleItemsCount';
5
+ import type { ListPrimarySaleItemsQueryOptions } from '../../../queries/primary-sales/primarySaleItems';
6
+ import { primarySaleItemsCountQueryOptions } from '../../../queries/primary-sales/primarySaleItemsCount';
7
7
  import { useConfig } from '../../config/useConfig';
8
8
 
9
9
  export type UseGetCountParams = Optional<
@@ -5,7 +5,7 @@ import type { Optional } from '../../../_internal';
5
5
  import {
6
6
  type ListPrimarySaleItemsQueryOptions,
7
7
  listPrimarySaleItemsQueryOptions,
8
- } from '../../../queries/primarySaleItems';
8
+ } from '../../../queries/primary-sales/primarySaleItems';
9
9
  import { useConfig } from '../../config/useConfig';
10
10
 
11
11
  export type UseListPrimarySaleItemsParams = Optional<
@@ -7,7 +7,7 @@ import {
7
7
  type FetchGetTokenRangesParams,
8
8
  type GetTokenRangesQueryOptions,
9
9
  getTokenRangesQueryOptions,
10
- } from '../../../queries/getTokenRanges';
10
+ } from '../../../queries/tokens/getTokenRanges';
11
11
  import { useConfig } from '../../config/useConfig';
12
12
 
13
13
  export type UseGetTokenRangesParams = Optional<
@@ -89,6 +89,6 @@ export type UseGetTokenRangesProps = {
89
89
 
90
90
  export type UseGetTokenRangesReturn = Awaited<
91
91
  ReturnType<
92
- typeof import('../../../queries/getTokenRanges').fetchGetTokenRanges
92
+ typeof import('../../../queries/tokens/getTokenRanges').fetchGetTokenRanges
93
93
  >
94
94
  >;
@@ -1,7 +1,7 @@
1
1
  import { useInfiniteQuery } from '@tanstack/react-query';
2
2
  import { ContractType } from '../../../_internal';
3
- import type { UseListBalancesArgs } from '../../../queries/listBalances';
4
- import { listBalancesOptions } from '../../../queries/listBalances';
3
+ import type { UseListBalancesArgs } from '../../../queries/tokens/listBalances';
4
+ import { listBalancesOptions } from '../../../queries/tokens/listBalances';
5
5
  import { useConfig } from '../../config/useConfig';
6
6
  import { useMarketplaceConfig } from '../../config/useMarketplaceConfig';
7
7
 
@@ -6,7 +6,7 @@ import {
6
6
  type FetchListTokenMetadataParams,
7
7
  type ListTokenMetadataQueryOptions,
8
8
  listTokenMetadataQueryOptions,
9
- } from '../../../queries/listTokenMetadata';
9
+ } from '../../../queries/tokens/listTokenMetadata';
10
10
  import { useConfig } from '../../config/useConfig';
11
11
 
12
12
  export type UseListTokenMetadataParams = Optional<
@@ -5,7 +5,7 @@ import type { Optional } from '../../../_internal';
5
5
  import {
6
6
  type SearchTokenMetadataQueryOptions,
7
7
  searchTokenMetadataQueryOptions,
8
- } from '../../../queries/searchTokenMetadata';
8
+ } from '../../../queries/tokens/searchTokenMetadata';
9
9
  import { useConfig } from '../../config/useConfig';
10
10
  import { useTokenSupplies } from './useTokenSupplies';
11
11
 
@@ -6,7 +6,7 @@ import {
6
6
  type FetchTokenSuppliesParams,
7
7
  type TokenSuppliesQueryOptions,
8
8
  tokenSuppliesQueryOptions,
9
- } from '../../../queries/tokenSupplies';
9
+ } from '../../../queries/tokens/tokenSupplies';
10
10
  import { useConfig } from '../../config/useConfig';
11
11
 
12
12
  export type UseTokenSuppliesParams = Optional<
@@ -126,6 +126,7 @@ describe('useGenerateCancelTransaction', () => {
126
126
  createMockSteps([StepType.cancel]),
127
127
  defaultArgs,
128
128
  undefined,
129
+ expect.any(Object), // React Query context
129
130
  );
130
131
  });
131
132
  });
@@ -31,6 +31,7 @@ describe('useGenerateListingTransaction', () => {
31
31
  contractType: ContractType.ERC721,
32
32
  orderbook: OrderbookKind.sequence_marketplace_v2,
33
33
  listing: mockListing,
34
+ additionalFees: [],
34
35
  };
35
36
 
36
37
  const defaultArgs = {
@@ -64,6 +65,7 @@ describe('useGenerateListingTransaction', () => {
64
65
  },
65
66
  ],
66
67
  {
68
+ "additionalFees": [],
67
69
  "collectionAddress": "0x0000000000000000000000000000000000000000",
68
70
  "contractType": "ERC721",
69
71
  "listing": {
@@ -77,6 +79,11 @@ describe('useGenerateListingTransaction', () => {
77
79
  "owner": "0x0000000000000000000000000000000000000000",
78
80
  },
79
81
  undefined,
82
+ {
83
+ "client": QueryClient {},
84
+ "meta": undefined,
85
+ "mutationKey": undefined,
86
+ },
80
87
  ]
81
88
  `);
82
89
  });
@@ -111,6 +118,7 @@ describe('useGenerateListingTransaction', () => {
111
118
  },
112
119
  ],
113
120
  {
121
+ "additionalFees": [],
114
122
  "collectionAddress": "0x0000000000000000000000000000000000000000",
115
123
  "contractType": "ERC721",
116
124
  "listing": {
@@ -124,6 +132,11 @@ describe('useGenerateListingTransaction', () => {
124
132
  "owner": "0x0000000000000000000000000000000000000000",
125
133
  },
126
134
  undefined,
135
+ {
136
+ "client": QueryClient {},
137
+ "meta": undefined,
138
+ "mutationKey": undefined,
139
+ },
127
140
  ]
128
141
  `);
129
142
  });
@@ -32,6 +32,7 @@ describe('useGenerateOfferTransaction', () => {
32
32
  contractType: ContractType.ERC721,
33
33
  orderbook: OrderbookKind.sequence_marketplace_v2,
34
34
  offer: mockOffer,
35
+ additionalFees: [],
35
36
  };
36
37
 
37
38
  const defaultArgs = {
@@ -77,6 +77,11 @@ describe('useGenerateSellTransaction', () => {
77
77
  "seller": "0x0000000000000000000000000000000000000000",
78
78
  },
79
79
  undefined,
80
+ {
81
+ "client": QueryClient {},
82
+ "meta": undefined,
83
+ "mutationKey": undefined,
84
+ },
80
85
  ]
81
86
  `);
82
87
  });
@@ -93,6 +98,7 @@ describe('useGenerateSellTransaction', () => {
93
98
  createMockSteps([StepType.tokenApproval, StepType.sell]),
94
99
  mockTransactionProps,
95
100
  undefined,
101
+ expect.any(Object), // React Query context
96
102
  );
97
103
  });
98
104
  });
@@ -6,7 +6,11 @@ import {
6
6
  useQueryState,
7
7
  } from 'nuqs';
8
8
  import { useMemo } from 'react';
9
- import { type PropertyFilter, PropertyType } from '../../_internal';
9
+ import {
10
+ type PriceFilter,
11
+ type PropertyFilter,
12
+ PropertyType,
13
+ } from '../../_internal';
10
14
 
11
15
  interface StringFilterValues {
12
16
  type: PropertyType.STRING;
@@ -31,21 +35,38 @@ const validateFilters = (value: unknown): PropertyFilter[] => {
31
35
  );
32
36
  };
33
37
 
38
+ const validatePriceFilters = (value: unknown): PriceFilter[] => {
39
+ if (!Array.isArray(value)) return [];
40
+ return value.filter(
41
+ (f): f is PriceFilter =>
42
+ typeof f === 'object' &&
43
+ typeof f.contractAddress === 'string' &&
44
+ (f.min === undefined || typeof f.min === 'string') &&
45
+ (f.max === undefined || typeof f.max === 'string'),
46
+ );
47
+ };
48
+
34
49
  const filtersParser = parseAsJson(validateFilters).withDefault([]);
35
50
  const searchParser = parseAsString.withDefault('');
36
51
  const listedOnlyParser = parseAsBoolean.withDefault(false);
52
+ const priceFilterParser = parseAsBoolean.withDefault(false);
53
+ const priceFiltersParser = parseAsJson(validatePriceFilters).withDefault([]);
37
54
 
38
55
  const serialize = createSerializer(
39
56
  {
40
57
  filters: filtersParser,
41
58
  search: searchParser,
42
59
  listedOnly: listedOnlyParser,
60
+ priceFilter: priceFilterParser,
61
+ priceFilters: priceFiltersParser,
43
62
  },
44
63
  {
45
64
  urlKeys: {
46
65
  filters: 'f',
47
66
  search: 'q',
48
67
  listedOnly: 'l',
68
+ priceFilter: 'p',
69
+ priceFilters: 'pf',
49
70
  },
50
71
  },
51
72
  );
@@ -60,6 +81,14 @@ export function useFilterState() {
60
81
  'listedOnly',
61
82
  listedOnlyParser,
62
83
  );
84
+ const [showPriceFilter, setShowPriceFilter] = useQueryState(
85
+ 'priceFilter',
86
+ priceFilterParser,
87
+ );
88
+ const [priceFilters, setPriceFilters] = useQueryState(
89
+ 'priceFilters',
90
+ priceFiltersParser,
91
+ );
63
92
 
64
93
  const helpers = useMemo(
65
94
  () => ({
@@ -158,22 +187,63 @@ export function useFilterState() {
158
187
  ]);
159
188
  },
160
189
 
190
+ setPriceFilter: (contractAddress: string, min?: string, max?: string) => {
191
+ const otherPriceFilters =
192
+ priceFilters?.filter((f) => f.contractAddress !== contractAddress) ??
193
+ [];
194
+
195
+ if (!min && !max) {
196
+ setPriceFilters(otherPriceFilters);
197
+ return;
198
+ }
199
+
200
+ const newPriceFilter: PriceFilter = {
201
+ contractAddress,
202
+ ...(min && { min }),
203
+ ...(max && { max }),
204
+ };
205
+
206
+ setPriceFilters([...otherPriceFilters, newPriceFilter]);
207
+ },
208
+
209
+ getPriceFilter: (contractAddress: string): PriceFilter | undefined => {
210
+ return priceFilters?.find((f) => f.contractAddress === contractAddress);
211
+ },
212
+
213
+ clearPriceFilters: () => {
214
+ setPriceFilters([]);
215
+ },
216
+
161
217
  clearAllFilters: () => {
162
218
  void setShowListedOnly(false);
219
+ void setShowPriceFilter(false);
163
220
  void setFilterOptions([]);
164
221
  void setSearchText('');
222
+ void setPriceFilters([]);
165
223
  },
166
224
  }),
167
- [filterOptions, setFilterOptions, setShowListedOnly, setSearchText],
225
+ [
226
+ filterOptions,
227
+ setFilterOptions,
228
+ setShowListedOnly,
229
+ setSearchText,
230
+ setShowPriceFilter,
231
+ priceFilters,
232
+ setPriceFilters,
233
+ ],
168
234
  );
169
235
 
170
236
  return {
171
237
  filterOptions,
172
238
  searchText,
173
239
  showListedOnly,
240
+ showPriceFilter,
241
+ priceFilters,
174
242
  setFilterOptions,
175
243
  setSearchText,
176
244
  setShowListedOnly,
245
+ setShowPriceFilter,
246
+ setPriceFilters,
177
247
  ...helpers,
178
248
  serialize,
179
249
  };
@@ -7,7 +7,7 @@ import {
7
7
  type FetchFiltersParams,
8
8
  type FiltersQueryOptions,
9
9
  filtersQueryOptions,
10
- } from '../../queries/filters';
10
+ } from '../../queries/market/filters';
11
11
  import { useConfig } from '../config/useConfig';
12
12
 
13
13
  export type UseFiltersParams = Optional<FiltersQueryOptions, 'config'>;
@@ -8,7 +8,7 @@ import {
8
8
  type CheckoutOptionsQueryOptions,
9
9
  checkoutOptionsQueryOptions,
10
10
  type FetchCheckoutOptionsParams,
11
- } from '../../queries/checkoutOptions';
11
+ } from '../../queries/market/checkoutOptions';
12
12
  import { useConfig } from '../config/useConfig';
13
13
 
14
14
  export type UseCheckoutOptionsParams = Optional<
@@ -93,6 +93,6 @@ export type UseCheckoutOptionsArgs = {
93
93
 
94
94
  export type UseCheckoutOptionsReturn = Awaited<
95
95
  ReturnType<
96
- typeof import('../../queries/checkoutOptions').fetchCheckoutOptions
96
+ typeof import('../../queries/market/checkoutOptions').fetchCheckoutOptions
97
97
  >
98
98
  >;
@@ -9,7 +9,7 @@ import {
9
9
  checkoutOptionsSalesContractQueryOptions,
10
10
  type FetchCheckoutOptionsSalesContractParams,
11
11
  type fetchCheckoutOptionsSalesContract,
12
- } from '../../queries/checkoutOptionsSalesContract';
12
+ } from '../../queries/market/checkoutOptionsSalesContract';
13
13
  import { useConfig } from '../config/useConfig';
14
14
 
15
15
  export type UseCheckoutOptionsSalesContractParams = Optional<
@@ -7,7 +7,7 @@ import {
7
7
  type ComparePricesQueryOptions,
8
8
  comparePricesQueryOptions,
9
9
  type FetchComparePricesParams,
10
- } from '../../queries/comparePrices';
10
+ } from '../../queries/utils/comparePrices';
11
11
  import { useConfig } from '../config/useConfig';
12
12
 
13
13
  export type UseComparePricesParams = Optional<
@@ -8,7 +8,7 @@ import {
8
8
  type ConvertPriceToUSDReturn,
9
9
  convertPriceToUSDQueryOptions,
10
10
  type FetchConvertPriceToUSDParams,
11
- } from '../../queries/convertPriceToUSD';
11
+ } from '../../queries/utils/convertPriceToUSD';
12
12
  import { useConfig } from '../config/useConfig';
13
13
 
14
14
  export type UseConvertPriceToUSDParams = Optional<
@@ -0,0 +1,45 @@
1
+ 'use client';
2
+
3
+ import type { Auth } from '@databeat/tracker';
4
+ import { useEffect, useMemo } from 'react';
5
+ import { useAccount } from 'wagmi';
6
+ import type { SdkConfig } from '../../types';
7
+ import { DatabeatAnalytics } from '../_internal/databeat';
8
+
9
+ interface AnalyticsProviderProps {
10
+ config: SdkConfig;
11
+ children: (analytics: DatabeatAnalytics) => React.ReactNode;
12
+ }
13
+
14
+ export function AnalyticsProvider({
15
+ config,
16
+ children,
17
+ }: AnalyticsProviderProps) {
18
+ const { address, isConnected } = useAccount();
19
+ const isWindowDefined = typeof window !== 'undefined';
20
+
21
+ const analytics = useMemo(() => {
22
+ const server = 'https://nodes.sequence.app';
23
+ const auth: Auth = {};
24
+ auth.headers = { 'X-Access-Key': config.projectAccessKey };
25
+
26
+ return new DatabeatAnalytics(server, auth, {
27
+ defaultEnabled: true,
28
+ initProps: () => {
29
+ return {
30
+ origin: isWindowDefined ? window.location.origin : '',
31
+ };
32
+ },
33
+ });
34
+ }, [config.projectAccessKey, isWindowDefined]);
35
+
36
+ useEffect(() => {
37
+ if (!isConnected || !address) {
38
+ analytics?.reset();
39
+ return;
40
+ }
41
+ analytics?.identify(address.toLowerCase());
42
+ }, [analytics, address, isConnected]);
43
+
44
+ return <>{children(analytics)}</>;
45
+ }
@@ -1,17 +1,17 @@
1
1
  'use client';
2
2
 
3
3
  import { useOpenConnectModal } from '@0xsequence/connect';
4
- import type { Auth } from '@databeat/tracker';
5
4
  import { QueryClientProvider } from '@tanstack/react-query';
6
- import { createContext, useMemo } from 'react';
5
+ import { createContext } from 'react';
7
6
  import type {
8
7
  MarketplaceSdkContext as MarketplaceSdkContextType,
9
8
  SdkConfig,
10
9
  } from '../../types';
11
10
  import { InvalidProjectAccessKeyError } from '../../utils/_internal/error/config';
12
11
  import { getQueryClient } from '../_internal/api/get-query-client';
13
- import { DatabeatAnalytics } from '../_internal/databeat';
12
+ import type { DatabeatAnalytics } from '../_internal/databeat';
14
13
  import { PROVIDER_ID } from '../_internal/get-provider';
14
+ import { AnalyticsProvider } from './analytics-provider';
15
15
  import { ThemeProvider } from './theme-provider';
16
16
 
17
17
  export const MarketplaceSdkContext = createContext(
@@ -33,46 +33,35 @@ export function MarketplaceProvider({
33
33
  throw new InvalidProjectAccessKeyError(config.projectAccessKey);
34
34
  }
35
35
 
36
- const isWindowDefined = typeof window !== 'undefined';
37
-
38
- const analytics = useMemo(() => {
39
- const server = 'https://nodes.sequence.app';
40
- const auth: Auth = {};
41
- auth.headers = { 'X-Access-Key': config.projectAccessKey };
42
-
43
- return new DatabeatAnalytics(server, auth, {
44
- defaultEnabled: true,
45
- initProps: () => {
46
- return {
47
- origin: isWindowDefined ? window.location.origin : '',
48
- };
49
- },
50
- });
51
- }, [config.projectAccessKey, isWindowDefined]);
52
-
53
- if (openConnectModal) {
54
- const context: MarketplaceSdkContextType = {
55
- ...config,
56
- openConnectModal,
57
- analytics,
58
- };
36
+ return (
37
+ <AnalyticsProvider config={config}>
38
+ {(analytics) => {
39
+ if (openConnectModal) {
40
+ const context: MarketplaceSdkContextType = {
41
+ ...config,
42
+ openConnectModal,
43
+ analytics,
44
+ };
59
45
 
60
- return (
61
- <MarketplaceSdkContext.Provider value={context}>
62
- <ThemeProvider>
63
- <div id={PROVIDER_ID}>{children}</div>
64
- </ThemeProvider>
65
- </MarketplaceSdkContext.Provider>
66
- );
67
- }
46
+ return (
47
+ <MarketplaceSdkContext.Provider value={context}>
48
+ <ThemeProvider>
49
+ <div id={PROVIDER_ID}>{children}</div>
50
+ </ThemeProvider>
51
+ </MarketplaceSdkContext.Provider>
52
+ );
53
+ }
68
54
 
69
- return (
70
- <MarketplaceProviderWithSequenceConnect
71
- config={config}
72
- analytics={analytics}
73
- >
74
- <ThemeProvider>{children}</ThemeProvider>
75
- </MarketplaceProviderWithSequenceConnect>
55
+ return (
56
+ <MarketplaceProviderWithSequenceConnect
57
+ config={config}
58
+ analytics={analytics}
59
+ >
60
+ <ThemeProvider>{children}</ThemeProvider>
61
+ </MarketplaceProviderWithSequenceConnect>
62
+ );
63
+ }}
64
+ </AnalyticsProvider>
76
65
  );
77
66
  }
78
67
 
@@ -1,6 +1,7 @@
1
1
  import { SequenceCheckoutProvider } from '@0xsequence/checkout';
2
2
  import { observer } from '@legendapp/state/react';
3
3
  import type { ReactNode } from 'react';
4
+ import { marketplaceApiURL } from '../_internal';
4
5
  import { useConfig } from '../hooks';
5
6
  import SwitchChainErrorModal from '../ui/modals/_internal/components/switchChainErrorModal';
6
7
  import TransactionStatusModal from '../ui/modals/_internal/components/transactionStatusModal';
@@ -17,12 +18,22 @@ interface ModalProviderProps {
17
18
  }
18
19
 
19
20
  export const ModalProvider = observer(({ children }: ModalProviderProps) => {
20
- const { shadowDom, experimentalShadowDomCssOverride } = useConfig();
21
+ const sdkConfig = useConfig();
22
+ const { shadowDom, experimentalShadowDomCssOverride } = sdkConfig;
23
+
24
+ const overrides = sdkConfig._internal?.overrides?.api?.marketplace;
25
+ const marketplaceApiUrl = overrides?.url || marketplaceApiURL(overrides?.env || 'production');
21
26
 
22
27
  return (
23
28
  <>
24
29
  {children}
25
- <SequenceCheckoutProvider>
30
+ <SequenceCheckoutProvider
31
+ config={{
32
+ env: {
33
+ marketplaceApiUrl,
34
+ },
35
+ }}
36
+ >
26
37
  <ShadowRoot
27
38
  enabled={shadowDom ?? true}
28
39
  customCSS={experimentalShadowDomCssOverride}