@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
@@ -0,0 +1,64 @@
1
+ import { queryOptions } from '@tanstack/react-query';
2
+ import type { SdkConfig } from '../../types';
3
+ import { getMarketplaceClient, type ValuesOptional } from '../_internal';
4
+ import type { GetCollectionDetailArgs } from '../_internal/api/marketplace.gen';
5
+ import { collectionKeys } from '../_internal/api/query-keys';
6
+ import type { StandardQueryOptions } from '../types/query';
7
+
8
+ export interface FetchCollectionDetailsParams
9
+ extends Omit<GetCollectionDetailArgs, 'chainId' | 'contractAddress'> {
10
+ chainId: number;
11
+ collectionAddress: string;
12
+ config: SdkConfig;
13
+ }
14
+
15
+ /**
16
+ * Fetches collection details from the marketplace API
17
+ */
18
+ export async function fetchCollectionDetails(
19
+ params: FetchCollectionDetailsParams,
20
+ ) {
21
+ const { collectionAddress, chainId, config, ...additionalApiParams } = params;
22
+
23
+ const marketplaceClient = getMarketplaceClient(config);
24
+
25
+ const apiArgs: GetCollectionDetailArgs = {
26
+ contractAddress: collectionAddress,
27
+ chainId: String(chainId),
28
+ ...additionalApiParams,
29
+ };
30
+
31
+ const result = await marketplaceClient.getCollectionDetail(apiArgs);
32
+ return result.collection;
33
+ }
34
+
35
+ export type CollectionDetailsQueryOptions =
36
+ ValuesOptional<FetchCollectionDetailsParams> & {
37
+ query?: StandardQueryOptions;
38
+ };
39
+
40
+ export function collectionDetailsQueryOptions(
41
+ params: CollectionDetailsQueryOptions,
42
+ ) {
43
+ const enabled = Boolean(
44
+ params.collectionAddress &&
45
+ params.chainId &&
46
+ params.config &&
47
+ (params.query?.enabled ?? true),
48
+ );
49
+
50
+ return queryOptions({
51
+ queryKey: [...collectionKeys.detail, params],
52
+ queryFn: () =>
53
+ fetchCollectionDetails({
54
+ // biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined
55
+ chainId: params.chainId!,
56
+ // biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined
57
+ collectionAddress: params.collectionAddress!,
58
+ // biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined
59
+ config: params.config!,
60
+ }),
61
+ ...params.query,
62
+ enabled,
63
+ });
64
+ }
@@ -0,0 +1,73 @@
1
+ import { queryOptions } from '@tanstack/react-query';
2
+ import type { SdkConfig } from '../../types';
3
+ import { getMarketplaceClient, type ValuesOptional } from '../_internal';
4
+ import type {
5
+ GetCountOfListingsForCollectibleArgs,
6
+ OrderFilter,
7
+ } from '../_internal/api/marketplace.gen';
8
+ import { collectableKeys } from '../_internal/api/query-keys';
9
+ import type { StandardQueryOptions } from '../types/query';
10
+
11
+ export interface FetchCountListingsForCollectibleParams {
12
+ chainId: number;
13
+ collectionAddress: string;
14
+ collectibleId: string;
15
+ config: SdkConfig;
16
+ filter?: OrderFilter;
17
+ }
18
+
19
+ /**
20
+ * Fetches count of listings for a collectible from the marketplace API
21
+ */
22
+ export async function fetchCountListingsForCollectible(
23
+ params: FetchCountListingsForCollectibleParams,
24
+ ) {
25
+ const { collectionAddress, chainId, collectibleId, config, filter } = params;
26
+
27
+ const client = getMarketplaceClient(config);
28
+
29
+ const apiArgs: GetCountOfListingsForCollectibleArgs = {
30
+ contractAddress: collectionAddress,
31
+ chainId: String(chainId),
32
+ tokenId: collectibleId,
33
+ filter,
34
+ };
35
+
36
+ const result = await client.getCountOfListingsForCollectible(apiArgs);
37
+ return result.count;
38
+ }
39
+
40
+ export type CountListingsForCollectibleQueryOptions =
41
+ ValuesOptional<FetchCountListingsForCollectibleParams> & {
42
+ query?: StandardQueryOptions;
43
+ };
44
+
45
+ export function countListingsForCollectibleQueryOptions(
46
+ params: CountListingsForCollectibleQueryOptions,
47
+ ) {
48
+ const enabled = Boolean(
49
+ params.collectionAddress &&
50
+ params.chainId &&
51
+ params.collectibleId &&
52
+ params.config &&
53
+ (params.query?.enabled ?? true),
54
+ );
55
+
56
+ return queryOptions({
57
+ queryKey: [...collectableKeys.listingsCount, params],
58
+ queryFn: () =>
59
+ fetchCountListingsForCollectible({
60
+ // biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined
61
+ chainId: params.chainId!,
62
+ // biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined
63
+ collectionAddress: params.collectionAddress!,
64
+ // biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined
65
+ collectibleId: params.collectibleId!,
66
+ // biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined
67
+ config: params.config!,
68
+ filter: params.filter,
69
+ }),
70
+ ...params.query,
71
+ enabled,
72
+ });
73
+ }
@@ -0,0 +1,83 @@
1
+ import { queryOptions } from '@tanstack/react-query';
2
+ import type { SdkConfig } from '../../types';
3
+ import { getMarketplaceClient, type ValuesOptional } from '../_internal';
4
+ import type {
5
+ CollectiblesFilter,
6
+ GetCountOfAllCollectiblesArgs,
7
+ GetCountOfFilteredCollectiblesArgs,
8
+ OrderSide,
9
+ } from '../_internal/api/marketplace.gen';
10
+ import { collectableKeys } from '../_internal/api/query-keys';
11
+ import type { StandardQueryOptions } from '../types/query';
12
+
13
+ export interface FetchCountOfCollectablesParams {
14
+ chainId: number;
15
+ collectionAddress: string;
16
+ config: SdkConfig;
17
+ filter?: CollectiblesFilter;
18
+ side?: OrderSide;
19
+ }
20
+
21
+ /**
22
+ * Fetches count of collectibles from the marketplace API
23
+ */
24
+ export async function fetchCountOfCollectables(
25
+ params: FetchCountOfCollectablesParams,
26
+ ) {
27
+ const { collectionAddress, chainId, config, filter, side } = params;
28
+
29
+ const client = getMarketplaceClient(config);
30
+
31
+ if (filter && side) {
32
+ const apiArgs: GetCountOfFilteredCollectiblesArgs = {
33
+ contractAddress: collectionAddress,
34
+ chainId: String(chainId),
35
+ filter,
36
+ side,
37
+ };
38
+
39
+ const result = await client.getCountOfFilteredCollectibles(apiArgs);
40
+ return result.count;
41
+ }
42
+
43
+ const apiArgs: GetCountOfAllCollectiblesArgs = {
44
+ contractAddress: collectionAddress,
45
+ chainId: String(chainId),
46
+ };
47
+
48
+ const result = await client.getCountOfAllCollectibles(apiArgs);
49
+ return result.count;
50
+ }
51
+
52
+ export type CountOfCollectablesQueryOptions =
53
+ ValuesOptional<FetchCountOfCollectablesParams> & {
54
+ query?: StandardQueryOptions;
55
+ };
56
+
57
+ export function countOfCollectablesQueryOptions(
58
+ params: CountOfCollectablesQueryOptions,
59
+ ) {
60
+ const enabled = Boolean(
61
+ params.collectionAddress &&
62
+ params.chainId &&
63
+ params.config &&
64
+ (params.query?.enabled ?? true),
65
+ );
66
+
67
+ return queryOptions({
68
+ queryKey: [...collectableKeys.counts, params],
69
+ queryFn: () =>
70
+ fetchCountOfCollectables({
71
+ // biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined
72
+ chainId: params.chainId!,
73
+ // biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined
74
+ collectionAddress: params.collectionAddress!,
75
+ // biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined
76
+ config: params.config!,
77
+ filter: params.filter,
78
+ side: params.side,
79
+ }),
80
+ ...params.query,
81
+ enabled,
82
+ });
83
+ }
@@ -0,0 +1,48 @@
1
+ import { queryOptions } from '@tanstack/react-query';
2
+ import type { Address } from 'viem';
3
+ import type { SdkConfig } from '../../types';
4
+ import {
5
+ type GetCountOfPrimarySaleItemsArgs,
6
+ getMarketplaceClient,
7
+ type PrimarySaleItemsFilter,
8
+ } from '../_internal';
9
+
10
+ export interface UseCountOfPrimarySaleItemsArgs
11
+ extends Omit<
12
+ GetCountOfPrimarySaleItemsArgs,
13
+ 'chainId' | 'primarySaleContractAddress'
14
+ > {
15
+ chainId: number;
16
+ primarySaleContractAddress: Address;
17
+ filter?: PrimarySaleItemsFilter;
18
+ query?: {
19
+ enabled?: boolean;
20
+ };
21
+ }
22
+
23
+ export async function fetchCountOfPrimarySaleItems(
24
+ args: UseCountOfPrimarySaleItemsArgs,
25
+ config: SdkConfig,
26
+ ) {
27
+ const marketplaceClient = getMarketplaceClient(config);
28
+
29
+ const { chainId, primarySaleContractAddress, filter } = args;
30
+ const data = await marketplaceClient.getCountOfPrimarySaleItems({
31
+ chainId: String(chainId),
32
+ primarySaleContractAddress,
33
+ filter,
34
+ });
35
+
36
+ return data.count;
37
+ }
38
+
39
+ export function countOfPrimarySaleItemsOptions(
40
+ args: UseCountOfPrimarySaleItemsArgs,
41
+ config: SdkConfig,
42
+ ) {
43
+ return queryOptions({
44
+ enabled: args.query?.enabled ?? true,
45
+ queryKey: ['countOfPrimarySaleItems', args],
46
+ queryFn: () => fetchCountOfPrimarySaleItems(args, config),
47
+ });
48
+ }
@@ -0,0 +1,73 @@
1
+ import { queryOptions } from '@tanstack/react-query';
2
+ import type { SdkConfig } from '../../types';
3
+ import { getMarketplaceClient, type ValuesOptional } from '../_internal';
4
+ import type {
5
+ GetCountOfOffersForCollectibleArgs,
6
+ OrderFilter,
7
+ } from '../_internal/api/marketplace.gen';
8
+ import { collectableKeys } from '../_internal/api/query-keys';
9
+ import type { StandardQueryOptions } from '../types/query';
10
+
11
+ export interface FetchCountOffersForCollectibleParams {
12
+ chainId: number;
13
+ collectionAddress: string;
14
+ collectibleId: string;
15
+ config: SdkConfig;
16
+ filter?: OrderFilter;
17
+ }
18
+
19
+ /**
20
+ * Fetches count of offers for a collectible from the marketplace API
21
+ */
22
+ export async function fetchCountOffersForCollectible(
23
+ params: FetchCountOffersForCollectibleParams,
24
+ ) {
25
+ const { collectionAddress, chainId, collectibleId, config, filter } = params;
26
+
27
+ const client = getMarketplaceClient(config);
28
+
29
+ const apiArgs: GetCountOfOffersForCollectibleArgs = {
30
+ contractAddress: collectionAddress,
31
+ chainId: String(chainId),
32
+ tokenId: collectibleId,
33
+ filter,
34
+ };
35
+
36
+ const result = await client.getCountOfOffersForCollectible(apiArgs);
37
+ return result.count;
38
+ }
39
+
40
+ export type CountOffersForCollectibleQueryOptions =
41
+ ValuesOptional<FetchCountOffersForCollectibleParams> & {
42
+ query?: StandardQueryOptions;
43
+ };
44
+
45
+ export function countOffersForCollectibleQueryOptions(
46
+ params: CountOffersForCollectibleQueryOptions,
47
+ ) {
48
+ const enabled = Boolean(
49
+ params.collectionAddress &&
50
+ params.chainId &&
51
+ params.collectibleId &&
52
+ params.config &&
53
+ (params.query?.enabled ?? true),
54
+ );
55
+
56
+ return queryOptions({
57
+ queryKey: [...collectableKeys.offersCount, params],
58
+ queryFn: () =>
59
+ fetchCountOffersForCollectible({
60
+ // biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined
61
+ chainId: params.chainId!,
62
+ // biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined
63
+ collectionAddress: params.collectionAddress!,
64
+ // biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined
65
+ collectibleId: params.collectibleId!,
66
+ // biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined
67
+ config: params.config!,
68
+ filter: params.filter,
69
+ }),
70
+ ...params.query,
71
+ enabled,
72
+ });
73
+ }
@@ -0,0 +1,83 @@
1
+ import { queryOptions, skipToken } from '@tanstack/react-query';
2
+ import type { Address } from 'viem';
3
+ import type { SdkConfig } from '../../types';
4
+ import {
5
+ type Currency,
6
+ currencyKeys,
7
+ getMarketplaceClient,
8
+ getQueryClient,
9
+ type ValuesOptional,
10
+ } from '../_internal';
11
+ import type { StandardQueryOptions } from '../types/query';
12
+
13
+ export interface FetchCurrencyParams {
14
+ chainId: number;
15
+ currencyAddress: Address;
16
+ config: SdkConfig;
17
+ }
18
+
19
+ /**
20
+ * Fetches currency details from the marketplace API
21
+ */
22
+ export async function fetchCurrency(
23
+ params: FetchCurrencyParams,
24
+ ): Promise<Currency | undefined> {
25
+ const { chainId, currencyAddress, config } = params;
26
+ const queryClient = getQueryClient();
27
+
28
+ let currencies = queryClient.getQueryData([...currencyKeys.lists, chainId]) as
29
+ | Currency[]
30
+ | undefined;
31
+
32
+ if (!currencies) {
33
+ const marketplaceClient = getMarketplaceClient(config);
34
+ currencies = await marketplaceClient
35
+ .listCurrencies({ chainId: String(chainId) })
36
+ .then((resp) => resp.currencies);
37
+ }
38
+
39
+ if (!currencies?.length) {
40
+ throw new Error('No currencies returned');
41
+ }
42
+ const currency = currencies.find(
43
+ (currency) =>
44
+ currency.contractAddress.toLowerCase() === currencyAddress.toLowerCase(),
45
+ );
46
+
47
+ if (!currency) {
48
+ throw new Error('Currency not found');
49
+ }
50
+
51
+ return currency;
52
+ }
53
+
54
+ export type CurrencyQueryOptions = ValuesOptional<FetchCurrencyParams> & {
55
+ query?: StandardQueryOptions;
56
+ };
57
+
58
+ export function currencyQueryOptions(params: CurrencyQueryOptions) {
59
+ const enabled = Boolean(
60
+ params.chainId &&
61
+ params.currencyAddress &&
62
+ params.config &&
63
+ (params.query?.enabled ?? true),
64
+ );
65
+
66
+ return queryOptions({
67
+ queryKey: [...currencyKeys.details, params],
68
+ queryFn:
69
+ params.chainId && params.currencyAddress
70
+ ? () =>
71
+ fetchCurrency({
72
+ // biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined
73
+ chainId: params.chainId!,
74
+ // biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined
75
+ currencyAddress: params.currencyAddress!,
76
+ // biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined
77
+ config: params.config!,
78
+ })
79
+ : skipToken,
80
+ ...params.query,
81
+ enabled,
82
+ });
83
+ }
@@ -0,0 +1,63 @@
1
+ import { queryOptions } from '@tanstack/react-query';
2
+ import type { SdkConfig } from '../../types';
3
+ import {
4
+ collectableKeys,
5
+ type GetFloorOrderArgs,
6
+ getMarketplaceClient,
7
+ type ValuesOptional,
8
+ } from '../_internal';
9
+ import type { StandardQueryOptions } from '../types/query';
10
+
11
+ export interface FetchFloorOrderParams
12
+ extends Omit<GetFloorOrderArgs, 'contractAddress' | 'chainId'> {
13
+ collectionAddress: string;
14
+ chainId: number;
15
+ config: SdkConfig;
16
+ }
17
+
18
+ /**
19
+ * Fetches the floor order for a collection from the marketplace API
20
+ */
21
+ export async function fetchFloorOrder(params: FetchFloorOrderParams) {
22
+ const { collectionAddress, chainId, config, ...additionalApiParams } = params;
23
+
24
+ const marketplaceClient = getMarketplaceClient(config);
25
+
26
+ const apiArgs: GetFloorOrderArgs = {
27
+ contractAddress: collectionAddress,
28
+ chainId: String(chainId),
29
+ ...additionalApiParams,
30
+ };
31
+
32
+ const result = await marketplaceClient.getFloorOrder(apiArgs);
33
+ return result.collectible;
34
+ }
35
+
36
+ export type FloorOrderQueryOptions = ValuesOptional<FetchFloorOrderParams> & {
37
+ query?: StandardQueryOptions;
38
+ };
39
+
40
+ export function floorOrderQueryOptions(params: FloorOrderQueryOptions) {
41
+ const enabled = Boolean(
42
+ params.collectionAddress &&
43
+ params.chainId &&
44
+ params.config &&
45
+ (params.query?.enabled ?? true),
46
+ );
47
+
48
+ return queryOptions({
49
+ queryKey: [...collectableKeys.floorOrders, params],
50
+ queryFn: () =>
51
+ fetchFloorOrder({
52
+ // biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined
53
+ chainId: params.chainId!,
54
+ // biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined
55
+ collectionAddress: params.collectionAddress!,
56
+ // biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined
57
+ config: params.config!,
58
+ ...((params.filter && { filter: params.filter }) || {}),
59
+ }),
60
+ ...params.query,
61
+ enabled,
62
+ });
63
+ }
@@ -0,0 +1,77 @@
1
+ import type { GetTokenSuppliesMapArgs } from '@0xsequence/indexer';
2
+ import { queryOptions } from '@tanstack/react-query';
3
+ import type { SdkConfig } from '../../types';
4
+ import {
5
+ collectableKeys,
6
+ getIndexerClient,
7
+ type ValuesOptional,
8
+ } from '../_internal';
9
+ import type { StandardQueryOptions } from '../types/query';
10
+
11
+ export interface FetchGetTokenSuppliesMapParams
12
+ extends Omit<GetTokenSuppliesMapArgs, 'tokenMap'> {
13
+ chainId: number;
14
+ tokenIds: string[];
15
+ collectionAddress: string;
16
+ config: SdkConfig;
17
+ }
18
+
19
+ /**
20
+ * Fetches token supplies mapping from the indexer API
21
+ */
22
+ export async function fetchGetTokenSuppliesMap(
23
+ params: FetchGetTokenSuppliesMapParams,
24
+ ) {
25
+ const { chainId, tokenIds, collectionAddress, config } = params;
26
+ const indexerClient = getIndexerClient(chainId, config);
27
+
28
+ const {
29
+ chainId: _,
30
+ tokenIds: __,
31
+ collectionAddress: ___,
32
+ config: ____,
33
+ ...restParams
34
+ } = params;
35
+
36
+ return indexerClient.getTokenSuppliesMap({
37
+ tokenMap: {
38
+ [collectionAddress]: tokenIds,
39
+ },
40
+ includeMetadata: false,
41
+ ...restParams,
42
+ });
43
+ }
44
+
45
+ export type GetTokenSuppliesMapQueryOptions =
46
+ ValuesOptional<FetchGetTokenSuppliesMapParams> & {
47
+ query?: StandardQueryOptions;
48
+ };
49
+
50
+ export function getTokenSuppliesMapQueryOptions(
51
+ params: GetTokenSuppliesMapQueryOptions,
52
+ ) {
53
+ const enabled = Boolean(
54
+ params.chainId &&
55
+ params.tokenIds?.length &&
56
+ params.collectionAddress &&
57
+ params.config &&
58
+ (params.query?.enabled ?? true),
59
+ );
60
+
61
+ return queryOptions({
62
+ queryKey: [...collectableKeys.lists, 'tokenSuppliesMap', params],
63
+ queryFn: () =>
64
+ fetchGetTokenSuppliesMap({
65
+ // biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined
66
+ chainId: params.chainId!,
67
+ // biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined
68
+ tokenIds: params.tokenIds!,
69
+ // biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined
70
+ collectionAddress: params.collectionAddress!,
71
+ // biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined
72
+ config: params.config!,
73
+ }),
74
+ ...params.query,
75
+ enabled,
76
+ });
77
+ }
@@ -1,58 +1,66 @@
1
1
  import { queryOptions } from '@tanstack/react-query';
2
- import type { Address } from 'viem';
3
2
  import type { SdkConfig } from '../../types';
4
3
  import {
5
- type GetCollectibleHighestOfferArgs,
6
4
  collectableKeys,
5
+ type GetCollectibleHighestOfferArgs,
7
6
  getMarketplaceClient,
7
+ type ValuesOptional,
8
8
  } from '../_internal';
9
+ import type { StandardQueryOptions } from '../types/query';
9
10
 
10
- export interface UseHighestOfferArgs
11
- extends Omit<GetCollectibleHighestOfferArgs, 'contractAddress'> {
12
- collectionAddress: Address;
11
+ export interface FetchHighestOfferParams
12
+ extends Omit<GetCollectibleHighestOfferArgs, 'contractAddress' | 'chainId'> {
13
+ collectionAddress: string;
13
14
  chainId: number;
14
- query?: {
15
- enabled?: boolean;
16
- };
15
+ config: SdkConfig;
17
16
  }
18
17
 
19
- export async function fetchHighestOffer(
20
- args: UseHighestOfferArgs,
21
- config: SdkConfig,
22
- ) {
23
- const marketplaceClient = getMarketplaceClient(args.chainId, config);
18
+ /**
19
+ * Fetches the highest offer for a collectible from the marketplace API
20
+ */
21
+ export async function fetchHighestOffer(params: FetchHighestOfferParams) {
22
+ const { collectionAddress, chainId, config, ...additionalApiParams } = params;
24
23
 
25
- const data = await marketplaceClient.getCollectibleHighestOffer({
26
- contractAddress: args.collectionAddress,
27
- ...args,
28
- });
24
+ const marketplaceClient = getMarketplaceClient(config);
29
25
 
30
- // let order: Order | undefined;
31
- // if (data.order) {
32
- // order = {
33
- // ...data.order,
34
- // priceAmount: BigInt(data.order.priceAmount),
35
- // priceAmountNet: BigInt(data.order.priceAmountNet),
36
- // };
37
- // }
26
+ const apiArgs: GetCollectibleHighestOfferArgs = {
27
+ contractAddress: collectionAddress,
28
+ chainId: String(chainId),
29
+ ...additionalApiParams,
30
+ };
38
31
 
39
- return data.order ?? null;
32
+ const result = await marketplaceClient.getCollectibleHighestOffer(apiArgs);
33
+ return result.order ?? null;
40
34
  }
41
35
 
42
- /**
43
- * Creates a tanstack query options object for the highest offer query
44
- *
45
- * @param args - The query arguments
46
- * @param config - SDK configuration
47
- * @returns Query options configuration
48
- */
49
- export function highestOfferOptions(
50
- args: UseHighestOfferArgs,
51
- config: SdkConfig,
52
- ) {
36
+ export type HighestOfferQueryOptions =
37
+ ValuesOptional<FetchHighestOfferParams> & {
38
+ query?: StandardQueryOptions;
39
+ };
40
+
41
+ export function highestOfferQueryOptions(params: HighestOfferQueryOptions) {
42
+ const enabled = Boolean(
43
+ params.collectionAddress &&
44
+ params.chainId &&
45
+ params.tokenId &&
46
+ params.config &&
47
+ (params.query?.enabled ?? true),
48
+ );
49
+
53
50
  return queryOptions({
54
- enabled: args.query?.enabled ?? true,
55
- queryKey: [...collectableKeys.highestOffers, args],
56
- queryFn: () => fetchHighestOffer(args, config),
51
+ queryKey: [...collectableKeys.highestOffers, params],
52
+ queryFn: () =>
53
+ fetchHighestOffer({
54
+ // biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined
55
+ chainId: params.chainId!,
56
+ // biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined
57
+ collectionAddress: params.collectionAddress!,
58
+ // biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined
59
+ tokenId: params.tokenId!,
60
+ // biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined
61
+ config: params.config!,
62
+ }),
63
+ ...params.query,
64
+ enabled,
57
65
  });
58
66
  }
@@ -1,9 +1,12 @@
1
1
  export * from './balanceOfCollectible';
2
- export * from './getTokenSupplies';
3
- export * from './inventory';
4
- export * from './listCollectibles';
2
+ export * from './collectible';
3
+ export * from './collectionDetails';
4
+ export * from './countOfPrimarySaleItems';
5
+ export * from './floorOrder';
5
6
  export * from './highestOffer';
7
+ export * from './inventory';
6
8
  export * from './listBalances';
7
- export * from './lowestListing';
9
+ export * from './listCollectibles';
8
10
  export * from './listTokenMetadata';
11
+ export * from './lowestListing';
9
12
  export * from './marketCurrencies';