@0xsequence/marketplace-sdk 0.8.11 → 0.9.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 (530) hide show
  1. package/CHANGELOG.md +236 -2
  2. package/dist/CalendarIcon-DbQ7Vxcw.js +141 -0
  3. package/dist/CalendarIcon-DbQ7Vxcw.js.map +1 -0
  4. package/dist/CollectibleCard-C8Ae64Ab.d.ts +71 -0
  5. package/dist/_internal-BgWcRIak.js +22 -0
  6. package/dist/_internal-BgWcRIak.js.map +1 -0
  7. package/dist/abi-BKyRjVcZ.js +0 -0
  8. package/dist/{alien_swap-2B65TDGT.js → alien_swap-B_76IMma.js} +5 -5
  9. package/dist/alien_swap-B_76IMma.js.map +1 -0
  10. package/dist/api-DTIan01C.js +241 -0
  11. package/dist/api-DTIan01C.js.map +1 -0
  12. package/dist/{aqua-xyz-WMYQLAIS.js → aqua-xyz-CMN_TFY5.js} +5 -5
  13. package/dist/aqua-xyz-CMN_TFY5.js.map +1 -0
  14. package/dist/{aura-V22RV5OG.js → aura-Cye_TuHj.js} +5 -5
  15. package/dist/aura-Cye_TuHj.js.map +1 -0
  16. package/dist/{blur-GE5QOMCM.js → blur-DWDMyMpK.js} +5 -5
  17. package/dist/blur-DWDMyMpK.js.map +1 -0
  18. package/dist/builder-api-BFuZNOaN.js +28 -0
  19. package/dist/builder-api-BFuZNOaN.js.map +1 -0
  20. package/dist/builder-api-C_zj5mr3.d.ts +12 -0
  21. package/dist/builder.gen-B9wR2nvF.js +303 -0
  22. package/dist/builder.gen-B9wR2nvF.js.map +1 -0
  23. package/dist/{coinbase-NLHJMGAP.js → coinbase-ByA_XRB0.js} +5 -5
  24. package/dist/coinbase-ByA_XRB0.js.map +1 -0
  25. package/dist/{element-2LGTYYSP.js → element-b77CyXIZ.js} +5 -5
  26. package/dist/element-b77CyXIZ.js.map +1 -0
  27. package/dist/{foundation-BPN66ZTN.js → foundation-DbOrKP9Y.js} +5 -5
  28. package/dist/foundation-DbOrKP9Y.js.map +1 -0
  29. package/dist/index-21LE7OhL.d.ts +102 -0
  30. package/dist/index-BL9RUSEK.d.ts +1803 -0
  31. package/dist/index-BQsgAvtX.d.ts +2938 -0
  32. package/dist/index-BUVWziLP.d.ts +60 -0
  33. package/dist/index-ByznONYE.d.ts +187 -0
  34. package/dist/index-C39K_8SG.d.ts +1 -0
  35. package/dist/index-CLy8y5hm.d.ts +1057 -0
  36. package/dist/index-COt10OgI.d.ts +24 -0
  37. package/dist/index-D5v5iluA.d.ts +809 -0
  38. package/dist/index-DPNWNa7t.d.ts +414 -0
  39. package/dist/index-DXMfTZ1F.d.ts +7 -0
  40. package/dist/index-DaE5ZNHb.d.ts +24 -0
  41. package/dist/index-DsfCs3-x.d.ts +122 -0
  42. package/dist/index-DvpBZgor.d.ts +1 -0
  43. package/dist/index-dUb6wb4Y.d.ts +22 -0
  44. package/dist/index.css +397 -371
  45. package/dist/index.d.ts +10 -29
  46. package/dist/index.js +13 -104
  47. package/dist/{looks-rare-MZRSOPT4.js → looks-rare-C1VqNcSM.js} +5 -5
  48. package/dist/looks-rare-C1VqNcSM.js.map +1 -0
  49. package/dist/{magic-eden-PUBL6KWW.js → magic-eden-ea_AGCZr.js} +5 -5
  50. package/dist/magic-eden-ea_AGCZr.js.map +1 -0
  51. package/dist/{manifold-GA445YJ6.js → manifold-8y8J2sjT.js} +5 -5
  52. package/dist/manifold-8y8J2sjT.js.map +1 -0
  53. package/dist/marketplace-logos-CSeGcPW4.js +50 -0
  54. package/dist/marketplace-logos-CSeGcPW4.js.map +1 -0
  55. package/dist/marketplace-nwnZv9Cb.js +1913 -0
  56. package/dist/marketplace-nwnZv9Cb.js.map +1 -0
  57. package/dist/marketplace.gen-BSDIX7NZ.js +1077 -0
  58. package/dist/marketplace.gen-BSDIX7NZ.js.map +1 -0
  59. package/dist/marketplaceConfig-C6X1SUik.js +71 -0
  60. package/dist/marketplaceConfig-C6X1SUik.js.map +1 -0
  61. package/dist/{mintify-UMC5PTKC.js → mintify-LA68TzWg.js} +5 -5
  62. package/dist/mintify-LA68TzWg.js.map +1 -0
  63. package/dist/new-marketplace-types-Bfis0U4J.d.ts +1546 -0
  64. package/dist/{nftx-AX3CY3IE.js → nftx-D3Tc8nzd.js} +5 -5
  65. package/dist/nftx-D3Tc8nzd.js.map +1 -0
  66. package/dist/{okx-GNVLAE2R.js → okx-hbqg6oIJ.js} +5 -5
  67. package/dist/okx-hbqg6oIJ.js.map +1 -0
  68. package/dist/{open-sea-KI43GVEB.js → open-sea-BccuK8-t.js} +5 -5
  69. package/dist/open-sea-BccuK8-t.js.map +1 -0
  70. package/dist/options-B4QN7Xou.js +0 -0
  71. package/dist/primary-sale-C55ALnfQ.js +1264 -0
  72. package/dist/primary-sale-C55ALnfQ.js.map +1 -0
  73. package/dist/queries-CUU65uYZ.js +599 -0
  74. package/dist/queries-CUU65uYZ.js.map +1 -0
  75. package/dist/{rarible-2J3MMZJ7.js → rarible-BgTwwj9g.js} +5 -5
  76. package/dist/rarible-BgTwwj9g.js.map +1 -0
  77. package/dist/react/_internal/api/index.d.ts +4 -86
  78. package/dist/react/_internal/api/index.js +7 -150
  79. package/dist/react/_internal/databeat/index.d.ts +45 -41
  80. package/dist/react/_internal/databeat/index.js +23 -27
  81. package/dist/react/_internal/index.d.ts +7 -76
  82. package/dist/react/_internal/index.js +9 -176
  83. package/dist/react/_internal/wagmi/index.d.ts +4 -17
  84. package/dist/react/_internal/wagmi/index.js +5 -14
  85. package/dist/react/hooks/index.d.ts +18 -3652
  86. package/dist/react/hooks/index.js +23 -153
  87. package/dist/react/hooks/options/index.d.ts +4 -8
  88. package/dist/react/hooks/options/index.js +11 -21
  89. package/dist/react/index.d.ts +18 -36
  90. package/dist/react/index.js +23 -193
  91. package/dist/react/queries/index.d.ts +8 -26
  92. package/dist/react/queries/index.js +18 -51
  93. package/dist/react/ssr/index.d.ts +19 -13
  94. package/dist/react/ssr/index.js +29 -28
  95. package/dist/react/ssr/index.js.map +1 -1
  96. package/dist/react/ui/components/marketplace-collectible-card/index.d.ts +9 -0
  97. package/dist/react/ui/components/marketplace-collectible-card/index.js +23 -0
  98. package/dist/react/ui/components/marketplace-collectible-card/utils/index.d.ts +8 -0
  99. package/dist/react/ui/components/marketplace-collectible-card/utils/index.js +10 -0
  100. package/dist/react/ui/components/marketplace-logos/index.d.ts +26 -24
  101. package/dist/react/ui/components/marketplace-logos/index.js +3 -45
  102. package/dist/react/ui/icons/index.d.ts +1 -2
  103. package/dist/react/ui/icons/index.js +10 -14
  104. package/dist/react/ui/index.d.ts +9 -116
  105. package/dist/react/ui/index.js +23 -41
  106. package/dist/react/ui/modals/_internal/components/actionModal/index.d.ts +59 -33
  107. package/dist/react/ui/modals/_internal/components/actionModal/index.js +23 -31
  108. package/dist/react-BbHBl6gg.css +80 -0
  109. package/dist/react-BbHBl6gg.css.map +1 -0
  110. package/dist/react-DAIicQPT.js +8938 -0
  111. package/dist/react-DAIicQPT.js.map +1 -0
  112. package/dist/{sequence-TGLUFEPQ.js → sequence-Do3kzb4J.js} +5 -5
  113. package/dist/sequence-Do3kzb4J.js.map +1 -0
  114. package/dist/src-Dz2CfBL0.js +8 -0
  115. package/dist/src-Dz2CfBL0.js.map +1 -0
  116. package/dist/{sudo-swap-M2O6E3TE.js → sudo-swap-B6vPKxBz.js} +5 -5
  117. package/dist/sudo-swap-B6vPKxBz.js.map +1 -0
  118. package/dist/{super-rare-UU2U4LIN.js → super-rare-eCm1SE6O.js} +5 -5
  119. package/dist/super-rare-eCm1SE6O.js.map +1 -0
  120. package/dist/token-Da4TdyUk.js +2091 -0
  121. package/dist/token-Da4TdyUk.js.map +1 -0
  122. package/dist/transaction-CcVViHEL.js +97 -0
  123. package/dist/transaction-CcVViHEL.js.map +1 -0
  124. package/dist/types/index.d.ts +3 -13
  125. package/dist/types/index.js +5 -44
  126. package/dist/types-DwWE6xOF.js +13 -0
  127. package/dist/types-DwWE6xOF.js.map +1 -0
  128. package/dist/utils/abi/index.d.ts +5 -3
  129. package/dist/utils/abi/index.js +6 -26
  130. package/dist/utils/abi/marketplace/index.d.ts +2 -805
  131. package/dist/utils/abi/marketplace/index.js +3 -11
  132. package/dist/utils/abi/primary-sale/index.d.ts +2 -1054
  133. package/dist/utils/abi/primary-sale/index.js +3 -9
  134. package/dist/utils/abi/token/index.d.ts +2 -1125
  135. package/dist/utils/abi/token/index.js +3 -11
  136. package/dist/utils/index.d.ts +8 -91
  137. package/dist/utils/index.js +11 -57
  138. package/dist/utils-BPYfgDSL.js +44 -0
  139. package/dist/utils-BPYfgDSL.js.map +1 -0
  140. package/dist/utils-CW2NA5KG.js +216 -0
  141. package/dist/utils-CW2NA5KG.js.map +1 -0
  142. package/dist/wagmi-CDzEQbfk.js +166 -0
  143. package/dist/wagmi-CDzEQbfk.js.map +1 -0
  144. package/dist/{x2y2-3W5BBMZC.js → x2y2-DD17tT91.js} +5 -5
  145. package/dist/x2y2-DD17tT91.js.map +1 -0
  146. package/dist/{zora-6EY6FUH6.js → zora-BpSG9UzS.js} +5 -5
  147. package/dist/zora-BpSG9UzS.js.map +1 -0
  148. package/eslint/use-client.js +0 -6
  149. package/package.json +36 -35
  150. package/src/index.ts +1 -2
  151. package/src/react/_internal/api/__mocks__/builder.msw.ts +5 -3
  152. package/src/react/_internal/api/__mocks__/indexer.msw.ts +9 -8
  153. package/src/react/_internal/api/__mocks__/marketplace.msw.ts +4 -6
  154. package/src/react/_internal/api/__mocks__/metadata.msw.ts +1 -1
  155. package/src/react/_internal/api/builder.gen.ts +6 -7
  156. package/src/react/_internal/api/get-query-client.ts +2 -2
  157. package/src/react/_internal/api/index.ts +2 -2
  158. package/src/react/_internal/api/marketplace.gen.ts +505 -26
  159. package/src/react/_internal/api/query-keys.ts +13 -6
  160. package/src/react/_internal/api/services.ts +42 -52
  161. package/src/react/_internal/index.ts +1 -1
  162. package/src/react/_internal/types.ts +10 -23
  163. package/src/react/_internal/utils.ts +1 -2
  164. package/src/react/_internal/wagmi/__tests__/create-config.test.ts +5 -5
  165. package/src/react/_internal/wagmi/create-config.ts +23 -9
  166. package/src/react/_internal/wagmi/get-connectors.ts +10 -5
  167. package/src/react/_internal/wallet/__tests__/wallet.test.ts +1 -1
  168. package/src/react/_internal/wallet/wallet.ts +18 -18
  169. package/src/react/hooks/__tests__/__snapshots__/useListCollections.test.tsx.snap +181 -2
  170. package/src/react/hooks/__tests__/__snapshots__/useMarketplaceConfig.test.tsx.snap +54 -6
  171. package/src/react/hooks/__tests__/useAutoSelectFeeOption.test.tsx +8 -5
  172. package/src/react/hooks/__tests__/useBalanceOfCollectible.test.tsx +1 -1
  173. package/src/react/hooks/__tests__/useCancelOrder.test.tsx +4 -4
  174. package/src/react/hooks/__tests__/useCancelTransactionSteps.test.tsx +1 -1
  175. package/src/react/hooks/__tests__/useCheckoutOptionsSalesContract.test.tsx +225 -0
  176. package/src/react/hooks/__tests__/useCollectible.test.tsx +14 -16
  177. package/src/react/hooks/__tests__/useCollection.test.tsx +4 -4
  178. package/src/react/hooks/__tests__/useCollectionBalanceDetails.test.tsx +1 -27
  179. package/src/react/hooks/__tests__/useCollectionDetails.test.tsx +1 -1
  180. package/src/react/hooks/__tests__/useCollectionDetailsPolling.test.tsx +4 -4
  181. package/src/react/hooks/__tests__/useComparePrices.test.tsx +7 -6
  182. package/src/react/hooks/__tests__/useConvertPriceToUSD.test.tsx +1 -1
  183. package/src/react/hooks/__tests__/useCountListingsForCollectible.test.tsx +2 -2
  184. package/src/react/hooks/__tests__/useCountOfCollectables.test.tsx +5 -5
  185. package/src/react/hooks/__tests__/useCountOffersForCollectible.test.tsx +2 -2
  186. package/src/react/hooks/__tests__/useCurrency.test.tsx +5 -3
  187. package/src/react/hooks/__tests__/useFilters.test.tsx +1 -1
  188. package/src/react/hooks/__tests__/useFloorOrder.test.tsx +4 -4
  189. package/src/react/hooks/__tests__/useGenerateCancelTransaction.test.tsx +5 -6
  190. package/src/react/hooks/__tests__/useGenerateListingTransaction.test.tsx +1 -1
  191. package/src/react/hooks/__tests__/useGenerateOfferTransaction.test.tsx +1 -1
  192. package/src/react/hooks/__tests__/useGenerateSellTransaction.test.tsx +1 -1
  193. package/src/react/hooks/__tests__/useGetTokenSuppliesMap.test.tsx +104 -0
  194. package/src/react/hooks/__tests__/useHighestOffer.test.tsx +4 -20
  195. package/src/react/hooks/__tests__/useInventory.test.tsx +1 -37
  196. package/src/react/hooks/__tests__/useListCollectibleActivities.test.tsx +11 -13
  197. package/src/react/hooks/__tests__/useListCollectibles.test.tsx +5 -5
  198. package/src/react/hooks/__tests__/useListCollectiblesPaginated.test.tsx +10 -15
  199. package/src/react/hooks/__tests__/useListCollectionActivities.test.tsx +13 -15
  200. package/src/react/hooks/__tests__/useListCollections.test.tsx +4 -4
  201. package/src/react/hooks/__tests__/useListListingsForCollectible.test.tsx +3 -2
  202. package/src/react/hooks/__tests__/useListMarketCardData.test.tsx +301 -0
  203. package/src/react/hooks/__tests__/useListOffersForCollectible.test.tsx +1 -1
  204. package/src/react/hooks/__tests__/useListTokenMetadata.test.tsx +111 -0
  205. package/src/react/hooks/__tests__/useLowestListing.test.tsx +1 -1
  206. package/src/react/hooks/__tests__/useMarketCurrencies.test.tsx +1 -1
  207. package/src/react/hooks/__tests__/useRoyalty.test.tsx +0 -23
  208. package/src/react/hooks/index.ts +27 -17
  209. package/src/react/hooks/options/index.ts +0 -1
  210. package/src/react/hooks/useAutoSelectFeeOption.tsx +1 -1
  211. package/src/react/hooks/useBalanceOfCollectible.tsx +14 -10
  212. package/src/react/hooks/useCancelTransactionSteps.tsx +7 -3
  213. package/src/react/hooks/useCheckoutOptionsSalesContract.tsx +67 -0
  214. package/src/react/hooks/useCollectible.tsx +64 -49
  215. package/src/react/hooks/useCollection.tsx +60 -11
  216. package/src/react/hooks/useCollectionBalanceDetails.tsx +20 -27
  217. package/src/react/hooks/useCollectionDetails.ts +69 -0
  218. package/src/react/hooks/useCollectionDetailsPolling.tsx +10 -2
  219. package/src/react/hooks/useComparePrices.tsx +18 -21
  220. package/src/react/hooks/useConvertPriceToUSD.tsx +20 -37
  221. package/src/react/hooks/useCountListingsForCollectible.tsx +64 -52
  222. package/src/react/hooks/useCountOfCollectables.tsx +61 -67
  223. package/src/react/hooks/useCountOfPrimarySaleItems.tsx +13 -0
  224. package/src/react/hooks/useCountOffersForCollectible.tsx +64 -52
  225. package/src/react/hooks/useCurrency.tsx +56 -64
  226. package/src/react/hooks/useERC721SaleMintedTokens.tsx +67 -0
  227. package/src/react/hooks/useFilterState.tsx +1 -2
  228. package/src/react/hooks/useFloorOrder.tsx +65 -37
  229. package/src/react/hooks/useGenerateCancelTransaction.tsx +17 -15
  230. package/src/react/hooks/useGenerateListingTransaction.tsx +16 -6
  231. package/src/react/hooks/useGenerateOfferTransaction.tsx +16 -7
  232. package/src/react/hooks/useGenerateSellTransaction.tsx +19 -15
  233. package/src/react/hooks/useGetReceiptFromHash.tsx +32 -3
  234. package/src/react/hooks/useGetTokenRanges.tsx +31 -0
  235. package/src/react/hooks/useGetTokenSuppliesMap.tsx +73 -0
  236. package/src/react/hooks/useHighestOffer.tsx +68 -4
  237. package/src/react/hooks/useInventory.tsx +8 -6
  238. package/src/react/hooks/useList1155ShopCardData.tsx +103 -0
  239. package/src/react/hooks/useList721ShopCardData.tsx +160 -0
  240. package/src/react/hooks/useListBalances.tsx +7 -10
  241. package/src/react/hooks/useListCollectibleActivities.tsx +89 -49
  242. package/src/react/hooks/useListCollectibles.tsx +78 -26
  243. package/src/react/hooks/useListCollectiblesPaginated.tsx +96 -63
  244. package/src/react/hooks/useListCollectionActivities.tsx +84 -49
  245. package/src/react/hooks/useListCollections.tsx +72 -18
  246. package/src/react/hooks/useListListingsForCollectible.tsx +90 -49
  247. package/src/react/hooks/useListMarketCardData.tsx +157 -0
  248. package/src/react/hooks/useListOffersForCollectible.tsx +11 -15
  249. package/src/react/hooks/useListPrimarySaleItems.ts +102 -0
  250. package/src/react/hooks/useListShopCardData.tsx +70 -0
  251. package/src/react/hooks/useListTokenMetadata.tsx +73 -0
  252. package/src/react/hooks/useLowestListing.tsx +68 -4
  253. package/src/react/hooks/useMarketCurrencies.tsx +62 -5
  254. package/src/react/hooks/useRoyalty.tsx +57 -13
  255. package/src/react/hooks/useShopCollectibleSaleData.tsx +349 -0
  256. package/src/react/hooks/useTokenSaleDetailsBatch.tsx +134 -0
  257. package/src/react/hooks/useTransferTokens.tsx +1 -1
  258. package/src/react/hooks/util/optimisticCancelUpdates.ts +5 -7
  259. package/src/react/index.ts +5 -3
  260. package/src/react/queries/balanceOfCollectible.ts +1 -1
  261. package/src/react/queries/collectible.ts +66 -0
  262. package/src/react/queries/collection.ts +55 -0
  263. package/src/react/queries/collectionDetails.ts +64 -0
  264. package/src/react/queries/countListingsForCollectible.ts +73 -0
  265. package/src/react/queries/countOfCollectables.ts +83 -0
  266. package/src/react/queries/countOfPrimarySaleItems.ts +48 -0
  267. package/src/react/queries/countOffersForCollectible.ts +73 -0
  268. package/src/react/queries/currency.ts +83 -0
  269. package/src/react/queries/floorOrder.ts +63 -0
  270. package/src/react/queries/getTokenSuppliesMap.ts +77 -0
  271. package/src/react/queries/highestOffer.ts +48 -40
  272. package/src/react/queries/index.ts +7 -4
  273. package/src/react/queries/inventory.ts +38 -4
  274. package/src/react/queries/listBalances.ts +14 -30
  275. package/src/react/queries/listCollectibleActivities.ts +97 -0
  276. package/src/react/queries/listCollectibles.ts +117 -47
  277. package/src/react/queries/listCollectiblesPaginated.ts +87 -0
  278. package/src/react/queries/listCollectionActivities.ts +95 -0
  279. package/src/react/queries/listCollections.ts +55 -10
  280. package/src/react/queries/listListingsForCollectible.ts +82 -0
  281. package/src/react/queries/listTokenMetadata.ts +47 -18
  282. package/src/react/queries/lowestListing.ts +48 -31
  283. package/src/react/queries/marketCurrencies.ts +52 -35
  284. package/src/react/queries/marketplaceConfig.ts +56 -81
  285. package/src/react/ssr/__tests__/__snapshots__/create-ssr-client.test.ts.snap +54 -6
  286. package/src/react/ssr/__tests__/create-ssr-client.test.ts +0 -3
  287. package/src/react/ssr/create-ssr-client.ts +6 -11
  288. package/src/react/types/query.ts +34 -0
  289. package/src/react/ui/components/ModelViewer.tsx +1 -1
  290. package/src/react/ui/components/_internals/action-button/ActionButton.tsx +47 -13
  291. package/src/react/ui/components/_internals/action-button/__tests__/ActionButtonBody.test.tsx +1 -1
  292. package/src/react/ui/components/_internals/action-button/__tests__/NonOwnerActions.test.tsx +28 -15
  293. package/src/react/ui/components/_internals/action-button/__tests__/OwnerActions.test.tsx +1 -1
  294. package/src/react/ui/components/_internals/action-button/__tests__/useActionButtonLogic.test.tsx +15 -9
  295. package/src/react/ui/components/_internals/action-button/components/ActionButtonBody.tsx +1 -1
  296. package/src/react/ui/components/_internals/action-button/components/NonOwnerActions.tsx +78 -15
  297. package/src/react/ui/components/_internals/action-button/components/OwnerActions.tsx +1 -1
  298. package/src/react/ui/components/_internals/action-button/hooks/useActionButtonLogic.ts +13 -16
  299. package/src/react/ui/components/_internals/action-button/store.ts +46 -18
  300. package/src/react/ui/components/marketplace-collectible-card/CollectibleCard.tsx +17 -0
  301. package/src/react/ui/components/marketplace-collectible-card/CollectibleCardSkeleton.tsx +24 -0
  302. package/src/react/ui/components/marketplace-collectible-card/Footer.tsx +231 -0
  303. package/src/react/ui/components/marketplace-collectible-card/components/ActionButtonWrapper.tsx +76 -0
  304. package/src/react/ui/components/marketplace-collectible-card/components/BaseCard.tsx +58 -0
  305. package/src/react/ui/components/marketplace-collectible-card/index.ts +3 -0
  306. package/src/react/ui/components/marketplace-collectible-card/types.ts +98 -0
  307. package/src/react/ui/components/marketplace-collectible-card/utils/formatPrice.ts +45 -0
  308. package/src/react/ui/components/marketplace-collectible-card/utils/index.ts +2 -0
  309. package/src/react/ui/components/marketplace-collectible-card/utils/supplyStatus.ts +39 -0
  310. package/src/react/ui/components/marketplace-collectible-card/variants/MarketCard.tsx +125 -0
  311. package/src/react/ui/components/marketplace-collectible-card/variants/ShopCard.tsx +102 -0
  312. package/src/react/ui/components/marketplace-logos/marketplace-logos.tsx +1 -1
  313. package/src/react/ui/components/{collectible-card/media → media}/Media.tsx +47 -26
  314. package/src/react/ui/components/{collectible-card/media → media}/types.ts +3 -1
  315. package/src/react/ui/index.ts +8 -7
  316. package/src/react/ui/modals/BuyModal/__tests__/BuyModalRouter.test.tsx +554 -0
  317. package/src/react/ui/modals/BuyModal/__tests__/ERC1155ShopModal.test.tsx +392 -0
  318. package/src/react/ui/modals/BuyModal/__tests__/ERC721ShopModal.test.tsx +272 -0
  319. package/src/react/ui/modals/BuyModal/__tests__/Modal.test.tsx.bak +112 -0
  320. package/src/react/ui/modals/BuyModal/__tests__/Modal1155.test.tsx +117 -13
  321. package/src/react/ui/modals/BuyModal/__tests__/store.test.ts +10 -7
  322. package/src/react/ui/modals/BuyModal/components/BuyModalRouter.tsx +157 -0
  323. package/src/react/ui/modals/BuyModal/components/ERC1155BuyModal.tsx +136 -0
  324. package/src/react/ui/modals/BuyModal/components/ERC1155QuantityModal.tsx +183 -0
  325. package/src/react/ui/modals/BuyModal/components/ERC1155ShopModal.tsx +121 -0
  326. package/src/react/ui/modals/BuyModal/components/ERC721BuyModal.tsx +85 -0
  327. package/src/react/ui/modals/BuyModal/components/ERC721ShopModal.tsx +86 -0
  328. package/src/react/ui/modals/BuyModal/components/Modal.tsx +14 -0
  329. package/src/react/ui/modals/BuyModal/components/types.ts +8 -0
  330. package/src/react/ui/modals/BuyModal/hooks/__tests__/useCheckoutOptions.test.tsx +5 -5
  331. package/src/react/ui/modals/BuyModal/hooks/__tests__/useERC1155Checkout.test.tsx +379 -0
  332. package/src/react/ui/modals/BuyModal/hooks/__tests__/useERC721SalePaymentParams.test.tsx +253 -0
  333. package/src/react/ui/modals/BuyModal/hooks/__tests__/{useFees.test.tsx → useMarketPlatformFee.test.tsx} +10 -11
  334. package/src/react/ui/modals/BuyModal/hooks/useCheckoutOptions.ts +63 -45
  335. package/src/react/ui/modals/BuyModal/hooks/useERC1155Checkout.ts +73 -0
  336. package/src/react/ui/modals/BuyModal/hooks/useERC721SalePaymentParams.ts +196 -0
  337. package/src/react/ui/modals/BuyModal/hooks/useLoadData.ts +74 -18
  338. package/src/react/ui/modals/BuyModal/hooks/useMarketPlatformFee.ts +53 -0
  339. package/src/react/ui/modals/BuyModal/hooks/usePaymentModalParams.ts +30 -15
  340. package/src/react/ui/modals/BuyModal/store.ts +147 -13
  341. package/src/react/ui/modals/CreateListingModal/Modal.tsx +1 -1
  342. package/src/react/ui/modals/CreateListingModal/__tests__/Modal.test.tsx +2 -2
  343. package/src/react/ui/modals/CreateListingModal/hooks/useCreateListing.tsx +0 -1
  344. package/src/react/ui/modals/CreateListingModal/hooks/useGetTokenApproval.ts +4 -3
  345. package/src/react/ui/modals/CreateListingModal/hooks/useTransactionSteps.tsx +12 -9
  346. package/src/react/ui/modals/CreateListingModal/index.tsx +1 -1
  347. package/src/react/ui/modals/MakeOfferModal/Modal.tsx +2 -2
  348. package/src/react/ui/modals/MakeOfferModal/__tests__/Modal.test.tsx +1 -1
  349. package/src/react/ui/modals/MakeOfferModal/hooks/useGetTokenApproval.tsx +3 -2
  350. package/src/react/ui/modals/MakeOfferModal/hooks/useMakeOffer.tsx +0 -1
  351. package/src/react/ui/modals/MakeOfferModal/hooks/useTransactionSteps.tsx +12 -10
  352. package/src/react/ui/modals/MakeOfferModal/index.tsx +1 -1
  353. package/src/react/ui/modals/SellModal/Modal.tsx +3 -3
  354. package/src/react/ui/modals/SellModal/__tests__/Modal.test.tsx +6 -4
  355. package/src/react/ui/modals/SellModal/hooks/useGetTokenApproval.tsx +5 -4
  356. package/src/react/ui/modals/SellModal/hooks/useSell.tsx +0 -1
  357. package/src/react/ui/modals/SellModal/hooks/useTransactionSteps.tsx +11 -8
  358. package/src/react/ui/modals/SuccessfulPurchaseModal/__tests__/Modal.test.tsx +12 -8
  359. package/src/react/ui/modals/SuccessfulPurchaseModal/index.tsx +34 -28
  360. package/src/react/ui/modals/SuccessfulPurchaseModal/store.ts +71 -0
  361. package/src/react/ui/modals/TransferModal/_store.ts +1 -7
  362. package/src/react/ui/modals/TransferModal/_views/enterWalletAddress/_components/TokenQuantityInput.tsx +2 -3
  363. package/src/react/ui/modals/TransferModal/_views/enterWalletAddress/index.tsx +2 -2
  364. package/src/react/ui/modals/_internal/components/actionModal/ActionModal.test.tsx +1 -2
  365. package/src/react/ui/modals/_internal/components/actionModal/ActionModal.tsx +107 -112
  366. package/src/react/ui/modals/_internal/components/actionModal/store.ts +45 -12
  367. package/src/react/ui/modals/_internal/components/currencyOptionsSelect/__tests__/index.test.tsx +1 -1
  368. package/src/react/ui/modals/_internal/components/currencyOptionsSelect/index.tsx +0 -1
  369. package/src/react/ui/modals/_internal/components/floorPriceText/index.tsx +4 -4
  370. package/src/react/ui/modals/_internal/components/quantityInput/QuantityInputBase.tsx +166 -0
  371. package/src/react/ui/modals/_internal/components/quantityInput/index.tsx +12 -141
  372. package/src/react/ui/modals/_internal/components/selectWaasFeeOptions/__tests__/SelectWaasFeeOptions.test.tsx +1 -1
  373. package/src/react/ui/modals/_internal/components/selectWaasFeeOptions/_components/BalanceIndicator.tsx +1 -2
  374. package/src/react/ui/modals/_internal/components/selectWaasFeeOptions/useWaasFeeOptionManager.tsx +0 -1
  375. package/src/react/ui/modals/_internal/components/switchChainModal/__tests__/SwitchChainModal.test.tsx +12 -8
  376. package/src/react/ui/modals/_internal/components/switchChainModal/index.tsx +35 -33
  377. package/src/react/ui/modals/_internal/components/switchChainModal/store.ts +61 -32
  378. package/src/react/ui/modals/_internal/components/transactionPreview/index.tsx +1 -1
  379. package/src/react/ui/modals/_internal/components/transactionStatusModal/__tests__/TransactionStatusModal.test.tsx +1 -1
  380. package/src/react/ui/modals/_internal/components/transactionStatusModal/hooks/useTransactionStatus.ts +0 -1
  381. package/src/react/ui/modals/_internal/components/transactionStatusModal/store.ts +1 -1
  382. package/src/react/ui/modals/_internal/components/waasFeeOptionsSelect/WaasFeeOptionsSelect.tsx +1 -1
  383. package/src/react/ui/modals/modal-provider.tsx +3 -4
  384. package/src/types/api-types.ts +36 -36
  385. package/src/types/buyModalErrors.ts +438 -0
  386. package/src/types/index.ts +5 -2
  387. package/src/types/new-marketplace-types.ts +6 -21
  388. package/src/types/sdk-config.ts +19 -24
  389. package/src/types/types.ts +17 -0
  390. package/src/types/waas-types.ts +1 -1
  391. package/src/utils/_internal/error/transaction.ts +36 -1
  392. package/src/utils/abi/index.ts +1 -1
  393. package/src/utils/abi/primary-sale/index.ts +1 -1
  394. package/src/utils/abi/token/index.ts +2 -1
  395. package/src/utils/decode/erc20.ts +1 -1
  396. package/src/utils/index.ts +3 -3
  397. package/test/const.ts +3 -1
  398. package/test/mocks/wallet.ts +1 -1
  399. package/test/test-utils.tsx +3 -4
  400. package/tsconfig.json +1 -1
  401. package/tsdown.config.ts +25 -0
  402. package/.changeset/fluffy-jokes-lay.md +0 -5
  403. package/.changeset/wise-bugs-boil.md +0 -8
  404. package/.ctirc +0 -32
  405. package/dist/alien_swap-2B65TDGT.js.map +0 -1
  406. package/dist/aqua-xyz-WMYQLAIS.js.map +0 -1
  407. package/dist/aura-V22RV5OG.js.map +0 -1
  408. package/dist/blur-GE5QOMCM.js.map +0 -1
  409. package/dist/chunk-2PSNAIAT.js +0 -1
  410. package/dist/chunk-2PSNAIAT.js.map +0 -1
  411. package/dist/chunk-5C6ZZ6WX.js +0 -130
  412. package/dist/chunk-5C6ZZ6WX.js.map +0 -1
  413. package/dist/chunk-5O44EPXZ.js +0 -207
  414. package/dist/chunk-5O44EPXZ.js.map +0 -1
  415. package/dist/chunk-6CTFVBKU.js +0 -1
  416. package/dist/chunk-6CTFVBKU.js.map +0 -1
  417. package/dist/chunk-6OPMUCGX.js +0 -42
  418. package/dist/chunk-6OPMUCGX.js.map +0 -1
  419. package/dist/chunk-FUM4OGOQ.js +0 -1027
  420. package/dist/chunk-FUM4OGOQ.js.map +0 -1
  421. package/dist/chunk-L6KWLCER.js +0 -32
  422. package/dist/chunk-L6KWLCER.js.map +0 -1
  423. package/dist/chunk-LAP2CKLN.js +0 -485
  424. package/dist/chunk-LAP2CKLN.js.map +0 -1
  425. package/dist/chunk-LECCEZAO.js +0 -11
  426. package/dist/chunk-LECCEZAO.js.map +0 -1
  427. package/dist/chunk-N7SQWS2R.js +0 -38
  428. package/dist/chunk-N7SQWS2R.js.map +0 -1
  429. package/dist/chunk-NX52D7NX.js +0 -135
  430. package/dist/chunk-NX52D7NX.js.map +0 -1
  431. package/dist/chunk-OAOONM4S.js +0 -1787
  432. package/dist/chunk-OAOONM4S.js.map +0 -1
  433. package/dist/chunk-Q3ECVC4F.js +0 -811
  434. package/dist/chunk-Q3ECVC4F.js.map +0 -1
  435. package/dist/chunk-QY52UADF.js +0 -107
  436. package/dist/chunk-QY52UADF.js.map +0 -1
  437. package/dist/chunk-TNAR3XEF.js +0 -8729
  438. package/dist/chunk-TNAR3XEF.js.map +0 -1
  439. package/dist/chunk-XABYNWXO.js +0 -549
  440. package/dist/chunk-XABYNWXO.js.map +0 -1
  441. package/dist/chunk-XX4EVWBF.js +0 -1292
  442. package/dist/chunk-XX4EVWBF.js.map +0 -1
  443. package/dist/chunk-YB5UUF2G.js +0 -11
  444. package/dist/chunk-YB5UUF2G.js.map +0 -1
  445. package/dist/chunk-YWGFI4PN.js +0 -217
  446. package/dist/chunk-YWGFI4PN.js.map +0 -1
  447. package/dist/coinbase-NLHJMGAP.js.map +0 -1
  448. package/dist/create-config-DLMvMTkZ.d.ts +0 -8
  449. package/dist/element-2LGTYYSP.js.map +0 -1
  450. package/dist/foundation-BPN66ZTN.js.map +0 -1
  451. package/dist/get-query-client-D46hbjk6.d.ts +0 -5
  452. package/dist/index.css.map +0 -1
  453. package/dist/index.js.map +0 -1
  454. package/dist/looks-rare-MZRSOPT4.js.map +0 -1
  455. package/dist/magic-eden-PUBL6KWW.js.map +0 -1
  456. package/dist/manifold-GA445YJ6.js.map +0 -1
  457. package/dist/marketCurrencies-enNVYwBk.d.ts +0 -277
  458. package/dist/marketplace.gen-D24veUQs.d.ts +0 -1073
  459. package/dist/marketplaceConfig-BwNAbLPw.d.ts +0 -21
  460. package/dist/mintify-UMC5PTKC.js.map +0 -1
  461. package/dist/new-marketplace-types-BCw19X9S.d.ts +0 -102
  462. package/dist/nftx-AX3CY3IE.js.map +0 -1
  463. package/dist/okx-GNVLAE2R.js.map +0 -1
  464. package/dist/open-sea-KI43GVEB.js.map +0 -1
  465. package/dist/rarible-2J3MMZJ7.js.map +0 -1
  466. package/dist/react/_internal/api/index.js.map +0 -1
  467. package/dist/react/_internal/databeat/index.css +0 -2764
  468. package/dist/react/_internal/databeat/index.css.map +0 -1
  469. package/dist/react/_internal/databeat/index.js.map +0 -1
  470. package/dist/react/_internal/index.js.map +0 -1
  471. package/dist/react/_internal/wagmi/index.js.map +0 -1
  472. package/dist/react/hooks/index.css +0 -2764
  473. package/dist/react/hooks/index.css.map +0 -1
  474. package/dist/react/hooks/index.js.map +0 -1
  475. package/dist/react/hooks/options/index.js.map +0 -1
  476. package/dist/react/index.css +0 -2764
  477. package/dist/react/index.css.map +0 -1
  478. package/dist/react/index.js.map +0 -1
  479. package/dist/react/queries/index.js.map +0 -1
  480. package/dist/react/ui/components/collectible-card/index.css +0 -2764
  481. package/dist/react/ui/components/collectible-card/index.css.map +0 -1
  482. package/dist/react/ui/components/collectible-card/index.d.ts +0 -71
  483. package/dist/react/ui/components/collectible-card/index.js +0 -27
  484. package/dist/react/ui/components/collectible-card/index.js.map +0 -1
  485. package/dist/react/ui/components/marketplace-logos/index.js.map +0 -1
  486. package/dist/react/ui/icons/index.js.map +0 -1
  487. package/dist/react/ui/index.css +0 -2764
  488. package/dist/react/ui/index.css.map +0 -1
  489. package/dist/react/ui/index.js.map +0 -1
  490. package/dist/react/ui/modals/_internal/components/actionModal/index.css +0 -2764
  491. package/dist/react/ui/modals/_internal/components/actionModal/index.css.map +0 -1
  492. package/dist/react/ui/modals/_internal/components/actionModal/index.js.map +0 -1
  493. package/dist/sdk-config-qorA0TgF.d.ts +0 -165
  494. package/dist/sequence-TGLUFEPQ.js.map +0 -1
  495. package/dist/services-WrshxCqc.d.ts +0 -23
  496. package/dist/sudo-swap-M2O6E3TE.js.map +0 -1
  497. package/dist/super-rare-UU2U4LIN.js.map +0 -1
  498. package/dist/types/index.js.map +0 -1
  499. package/dist/useCollection-YAdXfVO7.d.ts +0 -61
  500. package/dist/utils/abi/index.js.map +0 -1
  501. package/dist/utils/abi/marketplace/index.js.map +0 -1
  502. package/dist/utils/abi/primary-sale/index.js.map +0 -1
  503. package/dist/utils/abi/token/index.js.map +0 -1
  504. package/dist/utils/index.js.map +0 -1
  505. package/dist/x2y2-3W5BBMZC.js.map +0 -1
  506. package/dist/zora-6EY6FUH6.js.map +0 -1
  507. package/postcss.config.mjs +0 -5
  508. package/src/react/_internal/api/zod-schema.ts +0 -678
  509. package/src/react/hooks/__tests__/__snapshots__/useRoyaltyPercentage.test.tsx.snap +0 -8
  510. package/src/react/hooks/options/collectionOptions.ts +0 -41
  511. package/src/react/hooks/useCheckoutOptions.tsx +0 -65
  512. package/src/react/hooks/useCollectionDetails.tsx +0 -35
  513. package/src/react/hooks/useGetTokenSuppliesMap.ts +0 -28
  514. package/src/react/hooks/useListTokenMetadata.ts +0 -19
  515. package/src/react/queries/getTokenSupplies.ts +0 -38
  516. package/src/react/ui/components/collectible-card/CollectibleCard.tsx +0 -170
  517. package/src/react/ui/components/collectible-card/Footer.tsx +0 -157
  518. package/src/react/ui/components/collectible-card/__tests__/CollectibleCard.test.tsx +0 -94
  519. package/src/react/ui/components/collectible-card/__tests__/Footer.test.tsx +0 -136
  520. package/src/react/ui/components/collectible-card/__tests__/Media.test.tsx +0 -264
  521. package/src/react/ui/components/collectible-card/index.ts +0 -2
  522. package/src/react/ui/modals/BuyModal/ERC1155QuantityModal.tsx +0 -130
  523. package/src/react/ui/modals/BuyModal/Modal.tsx +0 -124
  524. package/src/react/ui/modals/BuyModal/__tests__/Modal.test.tsx +0 -104
  525. package/src/react/ui/modals/BuyModal/hooks/useFees.ts +0 -39
  526. package/src/react/ui/modals/SuccessfulPurchaseModal/_store.ts +0 -72
  527. package/tsconfig.tsbuildinfo +0 -1
  528. package/tsup.config.ts +0 -23
  529. /package/src/react/ui/components/{collectible-card/media → media}/MediaSkeleton.tsx +0 -0
  530. /package/src/react/ui/components/{collectible-card/media → media}/utils.ts +0 -0
@@ -1,41 +1,93 @@
1
+ 'use client';
2
+
1
3
  import { useInfiniteQuery } from '@tanstack/react-query';
2
- import { ContractType } from '../../types/api-types';
3
- import { listCollectiblesOptions } from '../queries/listCollectibles';
4
- import type { UseListCollectiblesArgs } from '../queries/listCollectibles';
4
+ import type { Optional } from '../_internal';
5
+ import {
6
+ type FetchListCollectiblesParams,
7
+ type ListCollectiblesQueryOptions,
8
+ listCollectiblesQueryOptions,
9
+ } from '../queries/listCollectibles';
5
10
  import { useConfig } from './useConfig';
6
- import { useMarketplaceConfig } from './useMarketplaceConfig';
11
+
12
+ export type UseListCollectiblesParams = Optional<
13
+ ListCollectiblesQueryOptions,
14
+ 'config'
15
+ >;
7
16
 
8
17
  /**
9
- * Hook to fetch a list of collectibles with pagination support
18
+ * Hook to fetch a list of collectibles with infinite pagination support
19
+ *
20
+ * Fetches collectibles from the marketplace with support for filtering, pagination,
21
+ * and special handling for shop marketplace types and LAOS721 contracts.
22
+ *
23
+ * @param params - Configuration parameters
24
+ * @param params.chainId - The chain ID (must be number, e.g., 1 for Ethereum, 137 for Polygon)
25
+ * @param params.collectionAddress - The collection contract address
26
+ * @param params.side - Order side (listing or bid)
27
+ * @param params.filter - Optional filtering parameters
28
+ * @param params.isLaos721 - Whether the collection is a LAOS721 contract
29
+ * @param params.marketplaceType - Type of marketplace (shop, etc.)
30
+ * @param params.query - Optional React Query configuration
10
31
  *
11
- * @param args - The arguments for fetching the collectibles
12
- * @returns Infinite query result containing the collectibles data including orders
32
+ * @returns Infinite query result containing collectibles data with pagination
33
+ *
34
+ * @example
35
+ * Basic usage:
36
+ * ```typescript
37
+ * const { data, isLoading, fetchNextPage, hasNextPage } = useListCollectibles({
38
+ * chainId: 137,
39
+ * collectionAddress: '0x...',
40
+ * side: OrderSide.listing
41
+ * })
42
+ * ```
13
43
  *
14
44
  * @example
15
- * ```tsx
16
- * const { data, isLoading, error, fetchNextPage } = useListCollectibles({
45
+ * With filtering:
46
+ * ```typescript
47
+ * const { data, fetchNextPage } = useListCollectibles({
17
48
  * chainId: 1,
18
- * collectionAddress: '0x123...',
19
- * includeMetadata: true,
20
- * query: {
21
- * enabled: true,
22
- * refetchInterval: 10000,
49
+ * collectionAddress: '0x...',
50
+ * side: OrderSide.listing,
51
+ * filter: {
52
+ * searchText: 'dragon',
53
+ * includeEmpty: false,
54
+ * marketplaces: [MarketplaceKind.sequence_marketplace_v2]
23
55
  * }
24
- * });
56
+ * })
57
+ * ```
58
+ *
59
+ * @example
60
+ * For LAOS721 collections:
61
+ * ```typescript
62
+ * const { data } = useListCollectibles({
63
+ * chainId: 137,
64
+ * collectionAddress: '0x...',
65
+ * side: OrderSide.listing,
66
+ * isLaos721: true,
67
+ * filter: {
68
+ * inAccounts: ['0x...']
69
+ * }
70
+ * })
25
71
  * ```
26
72
  */
27
- export function useListCollectibles(args: UseListCollectiblesArgs) {
28
- const config = useConfig();
29
- const { data: marketplaceConfig } = useMarketplaceConfig();
73
+ export function useListCollectibles(params: UseListCollectiblesParams) {
74
+ const defaultConfig = useConfig();
30
75
 
31
- const isLaos721 =
32
- marketplaceConfig?.market.collections.find(
33
- (collection) => collection.itemsAddress === args.collectionAddress,
34
- )?.contractType === ContractType.LAOSERC721;
76
+ const { config = defaultConfig, ...rest } = params;
35
77
 
36
- if (isLaos721) {
37
- args.isLaos721 = true;
38
- }
78
+ const queryOptions = listCollectiblesQueryOptions({
79
+ config,
80
+ ...rest,
81
+ });
39
82
 
40
- return useInfiniteQuery(listCollectiblesOptions(args, config));
83
+ return useInfiniteQuery({
84
+ ...queryOptions,
85
+ });
41
86
  }
87
+
88
+ export { listCollectiblesQueryOptions };
89
+
90
+ export type { FetchListCollectiblesParams, ListCollectiblesQueryOptions };
91
+
92
+ // Legacy export for backward compatibility during migration
93
+ export type UseListCollectiblesArgs = UseListCollectiblesParams;
@@ -1,74 +1,107 @@
1
- import { queryOptions, useQuery } from '@tanstack/react-query';
2
- import { z } from 'zod';
3
- import type { Page, SdkConfig } from '../../types';
1
+ 'use client';
2
+
3
+ import { useQuery } from '@tanstack/react-query';
4
+ import type { Optional } from '../_internal';
4
5
  import {
5
- AddressSchema,
6
- type ListCollectiblesArgs,
7
- collectableKeys,
8
- getMarketplaceClient,
9
- } from '../_internal';
10
- import { listCollectiblesArgsSchema } from '../_internal/api/zod-schema';
6
+ type FetchListCollectiblesPaginatedParams,
7
+ type fetchListCollectiblesPaginated,
8
+ type ListCollectiblesPaginatedQueryOptions,
9
+ listCollectiblesPaginatedQueryOptions,
10
+ } from '../queries/listCollectiblesPaginated';
11
11
  import { useConfig } from './useConfig';
12
12
 
13
- const UseListCollectiblesPaginatedArgsSchema = listCollectiblesArgsSchema
14
- .omit({
15
- contractAddress: true,
16
- })
17
- .extend({
18
- collectionAddress: AddressSchema,
19
- chainId: z.number(),
20
- query: z
21
- .object({
22
- enabled: z.boolean().optional(),
23
- page: z.number().optional().default(1),
24
- pageSize: z.number().optional().default(30),
25
- })
26
- .optional()
27
- .default({}),
28
- });
29
-
30
- export type UseListCollectiblesPaginatedArgs = z.infer<
31
- typeof UseListCollectiblesPaginatedArgsSchema
13
+ export type UseListCollectiblesPaginatedParams = Optional<
14
+ ListCollectiblesPaginatedQueryOptions,
15
+ 'config'
32
16
  >;
33
17
 
34
- export type UseListCollectiblesPaginatedReturn = Awaited<
35
- ReturnType<typeof fetchCollectiblesPaginated>
36
- >;
37
-
38
- const fetchCollectiblesPaginated = async (
39
- args: UseListCollectiblesPaginatedArgs,
40
- marketplaceClient: Awaited<ReturnType<typeof getMarketplaceClient>>,
41
- ) => {
42
- const parsedArgs = UseListCollectiblesPaginatedArgsSchema.parse(args);
43
- const page: Page = {
44
- page: parsedArgs.query?.page ?? 1,
45
- pageSize: parsedArgs.query?.pageSize ?? 30,
46
- };
18
+ /**
19
+ * Hook to fetch a list of collectibles with pagination support
20
+ *
21
+ * Fetches collectibles from the marketplace with support for filtering and pagination.
22
+ * Unlike the infinite query version, this hook fetches a specific page of results.
23
+ *
24
+ * @param params - Configuration parameters
25
+ * @param params.chainId - The chain ID (must be number, e.g., 1 for Ethereum, 137 for Polygon)
26
+ * @param params.collectionAddress - The collection contract address
27
+ * @param params.side - Order side (listing or bid)
28
+ * @param params.filter - Optional filtering parameters
29
+ * @param params.page - Page number to fetch (default: 1)
30
+ * @param params.pageSize - Number of items per page (default: 30)
31
+ * @param params.query - Optional React Query configuration
32
+ *
33
+ * @returns Query result containing collectibles data for the specific page
34
+ *
35
+ * @example
36
+ * Basic usage:
37
+ * ```typescript
38
+ * const { data, isLoading } = useListCollectiblesPaginated({
39
+ * chainId: 137,
40
+ * collectionAddress: '0x...',
41
+ * side: OrderSide.listing,
42
+ * page: 1,
43
+ * pageSize: 20
44
+ * })
45
+ * ```
46
+ *
47
+ * @example
48
+ * With filtering:
49
+ * ```typescript
50
+ * const { data } = useListCollectiblesPaginated({
51
+ * chainId: 1,
52
+ * collectionAddress: '0x...',
53
+ * side: OrderSide.listing,
54
+ * page: 2,
55
+ * pageSize: 50,
56
+ * filter: {
57
+ * searchText: 'rare',
58
+ * includeEmpty: false
59
+ * }
60
+ * })
61
+ * ```
62
+ *
63
+ * @example
64
+ * Controlled pagination:
65
+ * ```typescript
66
+ * const [currentPage, setCurrentPage] = useState(1);
67
+ * const { data, isLoading } = useListCollectiblesPaginated({
68
+ * chainId: 137,
69
+ * collectionAddress: '0x...',
70
+ * side: OrderSide.listing,
71
+ * page: currentPage,
72
+ * pageSize: 25
73
+ * });
74
+ *
75
+ * const hasMorePages = data?.page?.more;
76
+ * ```
77
+ */
78
+ export function useListCollectiblesPaginated(
79
+ params: UseListCollectiblesPaginatedParams,
80
+ ) {
81
+ const defaultConfig = useConfig();
47
82
 
48
- const arg = {
49
- ...parsedArgs,
50
- contractAddress: parsedArgs.collectionAddress,
51
- page,
52
- } as ListCollectiblesArgs;
83
+ const { config = defaultConfig, ...rest } = params;
53
84
 
54
- return marketplaceClient.listCollectibles(arg);
55
- };
85
+ const queryOptions = listCollectiblesPaginatedQueryOptions({
86
+ config,
87
+ ...rest,
88
+ });
56
89
 
57
- export const listCollectiblesPaginatedOptions = (
58
- args: UseListCollectiblesPaginatedArgs,
59
- config: SdkConfig,
60
- ) => {
61
- const marketplaceClient = getMarketplaceClient(args.chainId, config);
62
- return queryOptions({
63
- queryKey: [...collectableKeys.lists, 'paginated', args],
64
- queryFn: () => fetchCollectiblesPaginated(args, marketplaceClient),
65
- enabled: args.query?.enabled ?? true,
90
+ return useQuery({
91
+ ...queryOptions,
66
92
  });
67
- };
93
+ }
94
+
95
+ export { listCollectiblesPaginatedQueryOptions };
68
96
 
69
- export const useListCollectiblesPaginated = (
70
- args: UseListCollectiblesPaginatedArgs,
71
- ) => {
72
- const config = useConfig();
73
- return useQuery(listCollectiblesPaginatedOptions(args, config));
97
+ export type {
98
+ FetchListCollectiblesPaginatedParams,
99
+ ListCollectiblesPaginatedQueryOptions,
74
100
  };
101
+
102
+ // Legacy exports for backward compatibility during migration
103
+ export type UseListCollectiblesPaginatedArgs =
104
+ UseListCollectiblesPaginatedParams;
105
+ export type UseListCollectiblesPaginatedReturn = Awaited<
106
+ ReturnType<typeof fetchListCollectiblesPaginated>
107
+ >;
@@ -1,58 +1,93 @@
1
- import { queryOptions, useQuery } from '@tanstack/react-query';
2
- import type { z } from 'zod';
3
- import type { SdkConfig } from '../../types';
4
- import { getMarketplaceClient } from '../_internal';
5
- import { collectionKeys } from '../_internal/api';
6
- import type {
7
- getListCollectionActivitiesArgsSchema,
8
- getListCollectionActivitiesReturnSchema,
9
- } from '../_internal/api/zod-schema';
1
+ 'use client';
2
+
3
+ import { useQuery } from '@tanstack/react-query';
4
+ import type { Optional } from '../_internal';
5
+ import {
6
+ type FetchListCollectionActivitiesParams,
7
+ type fetchListCollectionActivities,
8
+ type ListCollectionActivitiesQueryOptions,
9
+ listCollectionActivitiesQueryOptions,
10
+ } from '../queries/listCollectionActivities';
10
11
  import { useConfig } from './useConfig';
11
12
 
12
- export type UseListCollectionActivitiesArgs = z.infer<
13
- typeof getListCollectionActivitiesArgsSchema
13
+ export type UseListCollectionActivitiesParams = Optional<
14
+ ListCollectionActivitiesQueryOptions,
15
+ 'config'
14
16
  >;
15
17
 
16
- export type UseListCollectionActivitiesReturn = z.infer<
17
- typeof getListCollectionActivitiesReturnSchema
18
- >;
18
+ /**
19
+ * Hook to fetch a list of activities for an entire collection
20
+ *
21
+ * Fetches activities (transfers, sales, offers, etc.) for all tokens
22
+ * in a collection from the marketplace with support for pagination and sorting.
23
+ *
24
+ * @param params - Configuration parameters
25
+ * @param params.chainId - The chain ID (must be number, e.g., 1 for Ethereum, 137 for Polygon)
26
+ * @param params.collectionAddress - The collection contract address
27
+ * @param params.page - Page number to fetch (default: 1)
28
+ * @param params.pageSize - Number of activities per page (default: 10)
29
+ * @param params.sort - Sort order for activities
30
+ * @param params.query - Optional React Query configuration
31
+ *
32
+ * @returns Query result containing activities data for the collection
33
+ *
34
+ * @example
35
+ * Basic usage:
36
+ * ```typescript
37
+ * const { data, isLoading } = useListCollectionActivities({
38
+ * chainId: 137,
39
+ * collectionAddress: '0x...'
40
+ * })
41
+ * ```
42
+ *
43
+ * @example
44
+ * With pagination:
45
+ * ```typescript
46
+ * const { data } = useListCollectionActivities({
47
+ * chainId: 1,
48
+ * collectionAddress: '0x...',
49
+ * page: 2,
50
+ * pageSize: 20
51
+ * })
52
+ * ```
53
+ *
54
+ * @example
55
+ * With sorting:
56
+ * ```typescript
57
+ * const { data } = useListCollectionActivities({
58
+ * chainId: 137,
59
+ * collectionAddress: '0x...',
60
+ * sort: [{ column: 'createdAt', order: SortOrder.DESC }],
61
+ * pageSize: 50
62
+ * })
63
+ * ```
64
+ */
65
+ export function useListCollectionActivities(
66
+ params: UseListCollectionActivitiesParams,
67
+ ) {
68
+ const defaultConfig = useConfig();
19
69
 
20
- const fetchListCollectionActivities = async (
21
- args: UseListCollectionActivitiesArgs,
22
- config: SdkConfig,
23
- ) => {
24
- const marketplaceClient = getMarketplaceClient(args.chainId, config);
25
- return marketplaceClient
26
- .listCollectionActivities({
27
- contractAddress: args.collectionAddress,
28
- page: args.query?.enabled
29
- ? {
30
- page: args.query.page ?? 1,
31
- pageSize: args.query.pageSize ?? 10,
32
- sort: args.query.sort,
33
- }
34
- : undefined,
35
- })
36
- .then((data) => ({
37
- activities: data.activities,
38
- page: data.page,
39
- }));
40
- };
70
+ const { config = defaultConfig, ...rest } = params;
41
71
 
42
- export const listCollectionActivitiesOptions = (
43
- args: UseListCollectionActivitiesArgs,
44
- config: SdkConfig,
45
- ) => {
46
- return queryOptions({
47
- queryKey: [...collectionKeys.collectionActivities, args, config],
48
- queryFn: () => fetchListCollectionActivities(args, config),
49
- enabled: args.query?.enabled ?? true,
72
+ const queryOptions = listCollectionActivitiesQueryOptions({
73
+ config,
74
+ ...rest,
50
75
  });
51
- };
52
76
 
53
- export const useListCollectionActivities = (
54
- args: UseListCollectionActivitiesArgs,
55
- ) => {
56
- const config = useConfig();
57
- return useQuery(listCollectionActivitiesOptions(args, config));
77
+ return useQuery({
78
+ ...queryOptions,
79
+ });
80
+ }
81
+
82
+ export { listCollectionActivitiesQueryOptions };
83
+
84
+ export type {
85
+ FetchListCollectionActivitiesParams,
86
+ ListCollectionActivitiesQueryOptions,
58
87
  };
88
+
89
+ // Legacy exports for backward compatibility during migration
90
+ export type UseListCollectionActivitiesArgs = UseListCollectionActivitiesParams;
91
+ export type UseListCollectionActivitiesReturn = Awaited<
92
+ ReturnType<typeof fetchListCollectionActivities>
93
+ >;
@@ -1,26 +1,80 @@
1
+ 'use client';
2
+
1
3
  import { useQuery } from '@tanstack/react-query';
2
- import type { MarketplaceType } from '../../types/new-marketplace-types';
3
- import { listCollectionsOptions } from '../queries/listCollections';
4
+ import type { Optional } from '../_internal';
5
+ import {
6
+ type FetchListCollectionsParams,
7
+ type ListCollectionsQueryOptions,
8
+ listCollectionsQueryOptions,
9
+ } from '../queries/listCollections';
4
10
  import { useConfig } from './useConfig';
5
11
  import { useMarketplaceConfig } from './useMarketplaceConfig';
6
12
 
7
- type UseListCollectionsArgs = {
8
- marketplaceType?: MarketplaceType;
9
- query?: {
10
- enabled?: boolean;
11
- };
12
- };
13
+ export type UseListCollectionsParams = Optional<
14
+ ListCollectionsQueryOptions,
15
+ 'config' | 'marketplaceConfig'
16
+ >;
17
+
18
+ /**
19
+ * Hook to fetch a list of collections from the marketplace
20
+ *
21
+ * This hook fetches collections from the marketplace configuration and enriches them with
22
+ * metadata from the metadata API. Collections can be filtered by marketplace type (market/shop).
23
+ *
24
+ * @param params - Configuration parameters
25
+ * @param params.marketplaceType - Optional filter for marketplace type ('market' or 'shop')
26
+ * @param params.marketplaceConfig - Optional marketplace configuration (defaults from context)
27
+ * @param params.config - Optional SDK configuration (defaults from context)
28
+ * @param params.query - Optional React Query configuration
29
+ *
30
+ * @returns Query result containing an array of collections with metadata
31
+ *
32
+ * @example
33
+ * Basic usage - fetch all collections:
34
+ * ```typescript
35
+ * const { data: collections, isLoading } = useListCollections()
36
+ * ```
37
+ *
38
+ * @example
39
+ * Filter by marketplace type:
40
+ * ```typescript
41
+ * const { data: marketCollections } = useListCollections({
42
+ * marketplaceType: 'market'
43
+ * })
44
+ * ```
45
+ *
46
+ * @example
47
+ * With custom query options:
48
+ * ```typescript
49
+ * const { data: collections } = useListCollections({
50
+ * query: {
51
+ * enabled: isReady,
52
+ * staleTime: 5 * 60 * 1000 // 5 minutes
53
+ * }
54
+ * })
55
+ * ```
56
+ */
57
+ export function useListCollections(params: UseListCollectionsParams = {}) {
58
+ const defaultConfig = useConfig();
59
+ const { data: defaultMarketplaceConfig } = useMarketplaceConfig();
60
+
61
+ const {
62
+ config = defaultConfig,
63
+ marketplaceConfig = defaultMarketplaceConfig,
64
+ ...rest
65
+ } = params;
13
66
 
14
- export const useListCollections = (args: UseListCollectionsArgs = {}) => {
15
- const config = useConfig();
16
- const { data: marketplaceConfig } = useMarketplaceConfig();
67
+ const queryOptions = listCollectionsQueryOptions({
68
+ config,
69
+ marketplaceConfig,
70
+ ...rest,
71
+ });
17
72
 
18
73
  return useQuery({
19
- ...args.query,
20
- ...listCollectionsOptions({
21
- marketplaceType: args.marketplaceType,
22
- marketplaceConfig,
23
- config,
24
- }),
74
+ ...queryOptions,
25
75
  });
26
- };
76
+ }
77
+
78
+ export { listCollectionsQueryOptions };
79
+
80
+ export type { FetchListCollectionsParams, ListCollectionsQueryOptions };
@@ -1,60 +1,101 @@
1
- import { queryOptions, useQuery } from '@tanstack/react-query';
2
- import { z } from 'zod';
3
- import type { SdkConfig } from '../../types';
1
+ 'use client';
2
+
3
+ import { useQuery } from '@tanstack/react-query';
4
+ import type { Optional } from '../_internal';
4
5
  import {
5
- type ListListingsForCollectibleArgs,
6
- collectableKeys,
7
- getMarketplaceClient,
8
- } from '../_internal';
9
- import { listListingsForCollectibleArgsSchema } from '../_internal/api/zod-schema';
6
+ type FetchListListingsForCollectibleParams,
7
+ type fetchListListingsForCollectible,
8
+ type ListListingsForCollectibleQueryOptions,
9
+ listListingsForCollectibleQueryOptions,
10
+ } from '../queries/listListingsForCollectible';
10
11
  import { useConfig } from './useConfig';
11
12
 
12
- const UseListListingsForCollectibleArgsSchema =
13
- listListingsForCollectibleArgsSchema
14
- .extend({
15
- chainId: z.number(),
16
- collectionAddress: z.string(),
17
- collectibleId: z.string(),
18
- })
19
- .omit({ contractAddress: true, tokenId: true });
20
-
21
- type UseListListingsForCollectibleArgs = z.infer<
22
- typeof UseListListingsForCollectibleArgsSchema
13
+ export type UseListListingsForCollectibleParams = Optional<
14
+ ListListingsForCollectibleQueryOptions,
15
+ 'config'
23
16
  >;
24
17
 
25
- export type UseListListingsForCollectibleReturn = Awaited<
26
- ReturnType<typeof fetchListListingsForCollectible>
27
- >;
18
+ /**
19
+ * Hook to fetch listings for a specific collectible
20
+ *
21
+ * Fetches active listings (sales) for a specific token from the marketplace
22
+ * with support for filtering and pagination.
23
+ *
24
+ * @param params - Configuration parameters
25
+ * @param params.chainId - The chain ID (must be number, e.g., 1 for Ethereum, 137 for Polygon)
26
+ * @param params.collectionAddress - The collection contract address
27
+ * @param params.collectibleId - The specific token ID to fetch listings for
28
+ * @param params.filter - Optional filtering parameters (marketplace, currencies, etc.)
29
+ * @param params.page - Optional pagination parameters
30
+ * @param params.query - Optional React Query configuration
31
+ *
32
+ * @returns Query result containing listings data for the collectible
33
+ *
34
+ * @example
35
+ * Basic usage:
36
+ * ```typescript
37
+ * const { data, isLoading } = useListListingsForCollectible({
38
+ * chainId: 137,
39
+ * collectionAddress: '0x...',
40
+ * collectibleId: '123'
41
+ * })
42
+ * ```
43
+ *
44
+ * @example
45
+ * With pagination:
46
+ * ```typescript
47
+ * const { data } = useListListingsForCollectible({
48
+ * chainId: 1,
49
+ * collectionAddress: '0x...',
50
+ * collectibleId: '456',
51
+ * page: {
52
+ * page: 2,
53
+ * pageSize: 20
54
+ * }
55
+ * })
56
+ * ```
57
+ *
58
+ * @example
59
+ * With filtering:
60
+ * ```typescript
61
+ * const { data } = useListListingsForCollectible({
62
+ * chainId: 137,
63
+ * collectionAddress: '0x...',
64
+ * collectibleId: '789',
65
+ * filter: {
66
+ * marketplace: [MarketplaceKind.sequence_marketplace_v2],
67
+ * currencies: ['0x...'] // Specific currency addresses
68
+ * }
69
+ * })
70
+ * ```
71
+ */
72
+ export function useListListingsForCollectible(
73
+ params: UseListListingsForCollectibleParams,
74
+ ) {
75
+ const defaultConfig = useConfig();
28
76
 
29
- const fetchListListingsForCollectible = async (
30
- config: SdkConfig,
31
- args: UseListListingsForCollectibleArgs,
32
- ) => {
33
- const arg = {
34
- contractAddress: args.collectionAddress,
35
- tokenId: args.collectibleId,
36
- filter: args.filter,
37
- page: args.page,
38
- } satisfies ListListingsForCollectibleArgs;
39
-
40
- const marketplaceClient = getMarketplaceClient(args.chainId, config);
41
- return marketplaceClient.listCollectibleListings(arg);
42
- };
77
+ const { config = defaultConfig, ...rest } = params;
43
78
 
44
- export const listListingsForCollectibleOptions = (
45
- args: UseListListingsForCollectibleArgs,
46
- config: SdkConfig,
47
- ) => {
48
- return queryOptions({
49
- queryKey: [...collectableKeys.listings, args, config],
50
- queryFn: () => fetchListListingsForCollectible(config, args),
79
+ const queryOptions = listListingsForCollectibleQueryOptions({
80
+ config,
81
+ ...rest,
51
82
  });
52
- };
53
83
 
54
- export const useListListingsForCollectible = (
55
- args: UseListListingsForCollectibleArgs,
56
- ) => {
57
- const config = useConfig();
84
+ return useQuery({
85
+ ...queryOptions,
86
+ });
87
+ }
88
+
89
+ export { listListingsForCollectibleQueryOptions };
58
90
 
59
- return useQuery(listListingsForCollectibleOptions(args, config));
91
+ export type {
92
+ FetchListListingsForCollectibleParams,
93
+ ListListingsForCollectibleQueryOptions,
60
94
  };
95
+
96
+ // Legacy exports for backward compatibility during migration
97
+ export type UseListListingsForCollectibleArgs =
98
+ UseListListingsForCollectibleParams;
99
+ export type UseListListingsForCollectibleReturn = Awaited<
100
+ ReturnType<typeof fetchListListingsForCollectible>
101
+ >;