@0xsequence/marketplace-sdk 0.8.12 → 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 (327) hide show
  1. package/CHANGELOG.md +91 -23
  2. package/dist/{CartIcon-Bll1rbxv.js → CalendarIcon-DbQ7Vxcw.js} +38 -38
  3. package/dist/CalendarIcon-DbQ7Vxcw.js.map +1 -0
  4. package/dist/{types-BIJOaL4j.d.ts → CollectibleCard-C8Ae64Ab.d.ts} +7 -4
  5. package/dist/{_internal-69NEWNUE.js → _internal-BgWcRIak.js} +2 -14
  6. package/dist/_internal-BgWcRIak.js.map +1 -0
  7. package/dist/{api-1KFxYh7o.js → api-DTIan01C.js} +73 -64
  8. package/dist/api-DTIan01C.js.map +1 -0
  9. package/dist/{builder-api-BQvzykoU.js → builder-api-BFuZNOaN.js} +2 -2
  10. package/dist/{builder-api-BQvzykoU.js.map → builder-api-BFuZNOaN.js.map} +1 -1
  11. package/dist/{builder-api-DoK3907S.d.ts → builder-api-C_zj5mr3.d.ts} +2 -2
  12. package/dist/{builder.gen-CxP9NT1p.js → builder.gen-B9wR2nvF.js} +1 -1
  13. package/dist/builder.gen-B9wR2nvF.js.map +1 -0
  14. package/dist/{index-Cl7PQOGu.d.ts → index-21LE7OhL.d.ts} +24 -24
  15. package/dist/{index-1bezgsFq.d.ts → index-BL9RUSEK.d.ts} +929 -255
  16. package/dist/index-BQsgAvtX.d.ts +2938 -0
  17. package/dist/{index-DafWjEb4.d.ts → index-BUVWziLP.d.ts} +9 -14
  18. package/dist/{index-BIMIpDiI.d.ts → index-ByznONYE.d.ts} +98 -99
  19. package/dist/{index-BjIwVzc4.d.ts → index-CLy8y5hm.d.ts} +238 -238
  20. package/dist/{index-CN8puQQJ.d.ts → index-COt10OgI.d.ts} +4 -4
  21. package/dist/index-DPNWNa7t.d.ts +414 -0
  22. package/dist/{index-BEYefG1G.d.ts → index-DaE5ZNHb.d.ts} +2 -2
  23. package/dist/{index-BfH21xmk.d.ts → index-DsfCs3-x.d.ts} +46 -41
  24. package/dist/{index-4-kfOFdx.d.ts → index-dUb6wb4Y.d.ts} +5 -5
  25. package/dist/index.css +14 -1
  26. package/dist/index.d.ts +7 -7
  27. package/dist/index.js +7 -7
  28. package/dist/marketplace-logos-CSeGcPW4.js.map +1 -1
  29. package/dist/{marketplace.gen-Dqk8vRmD.js → marketplace.gen-BSDIX7NZ.js} +12 -3
  30. package/dist/marketplace.gen-BSDIX7NZ.js.map +1 -0
  31. package/dist/{marketplaceConfig-D2MYFqll.js → marketplaceConfig-C6X1SUik.js} +2 -2
  32. package/dist/marketplaceConfig-C6X1SUik.js.map +1 -0
  33. package/dist/{sdk-config-DJzxVPld.d.ts → new-marketplace-types-Bfis0U4J.d.ts} +65 -54
  34. package/dist/options-B4QN7Xou.js +0 -0
  35. package/dist/{primary-sale-Cw95phYC.js → primary-sale-C55ALnfQ.js} +279 -279
  36. package/dist/primary-sale-C55ALnfQ.js.map +1 -0
  37. package/dist/{queries-DPvwtnO7.js → queries-CUU65uYZ.js} +247 -134
  38. package/dist/queries-CUU65uYZ.js.map +1 -0
  39. package/dist/react/_internal/api/index.d.ts +4 -4
  40. package/dist/react/_internal/api/index.js +5 -5
  41. package/dist/react/_internal/databeat/index.d.ts +3 -3
  42. package/dist/react/_internal/databeat/index.js +15 -15
  43. package/dist/react/_internal/index.d.ts +7 -7
  44. package/dist/react/_internal/index.js +7 -7
  45. package/dist/react/_internal/wagmi/index.d.ts +3 -3
  46. package/dist/react/_internal/wagmi/index.js +2 -2
  47. package/dist/react/hooks/index.d.ts +15 -14
  48. package/dist/react/hooks/index.js +16 -16
  49. package/dist/react/hooks/options/index.d.ts +4 -5
  50. package/dist/react/hooks/options/index.js +9 -9
  51. package/dist/react/index.d.ts +15 -37
  52. package/dist/react/index.js +16 -16
  53. package/dist/react/queries/index.d.ts +8 -8
  54. package/dist/react/queries/index.js +12 -12
  55. package/dist/react/ssr/index.d.ts +6 -6
  56. package/dist/react/ssr/index.js +7 -7
  57. package/dist/react/ssr/index.js.map +1 -1
  58. package/dist/react/ui/components/marketplace-collectible-card/index.d.ts +8 -9
  59. package/dist/react/ui/components/marketplace-collectible-card/index.js +15 -15
  60. package/dist/react/ui/components/marketplace-collectible-card/utils/index.d.ts +7 -7
  61. package/dist/react/ui/components/marketplace-collectible-card/utils/index.js +7 -7
  62. package/dist/react/ui/components/marketplace-logos/index.d.ts +21 -21
  63. package/dist/react/ui/icons/index.js +6 -6
  64. package/dist/react/ui/index.d.ts +8 -9
  65. package/dist/react/ui/index.js +15 -15
  66. package/dist/react/ui/modals/_internal/components/actionModal/index.d.ts +5 -5
  67. package/dist/react/ui/modals/_internal/components/actionModal/index.js +15 -15
  68. package/dist/{react-BG7o4PId.js → react-DAIicQPT.js} +7422 -6835
  69. package/dist/react-DAIicQPT.js.map +1 -0
  70. package/dist/{token-CO5llIla.js → token-Da4TdyUk.js} +1540 -761
  71. package/dist/token-Da4TdyUk.js.map +1 -0
  72. package/dist/types/index.d.ts +2 -2
  73. package/dist/types/index.js +2 -2
  74. package/dist/types-DwWE6xOF.js.map +1 -1
  75. package/dist/utils/abi/index.d.ts +3 -3
  76. package/dist/utils/abi/index.js +3 -3
  77. package/dist/utils/abi/primary-sale/index.d.ts +1 -1
  78. package/dist/utils/abi/primary-sale/index.js +1 -1
  79. package/dist/utils/abi/token/index.d.ts +2 -2
  80. package/dist/utils/abi/token/index.js +2 -2
  81. package/dist/utils/index.d.ts +6 -6
  82. package/dist/utils/index.js +6 -6
  83. package/dist/{utils-Cat9_pef.js → utils-BPYfgDSL.js} +2 -2
  84. package/dist/{utils-Cat9_pef.js.map → utils-BPYfgDSL.js.map} +1 -1
  85. package/dist/{utils-BFdxaToy.js → utils-CW2NA5KG.js} +87 -87
  86. package/dist/utils-CW2NA5KG.js.map +1 -0
  87. package/dist/{wagmi-DRctYEk6.js → wagmi-CDzEQbfk.js} +19 -12
  88. package/dist/wagmi-CDzEQbfk.js.map +1 -0
  89. package/eslint/use-client.js +0 -6
  90. package/package.json +30 -31
  91. package/src/index.ts +1 -1
  92. package/src/react/_internal/api/__mocks__/builder.msw.ts +5 -3
  93. package/src/react/_internal/api/__mocks__/indexer.msw.ts +8 -8
  94. package/src/react/_internal/api/__mocks__/marketplace.msw.ts +4 -6
  95. package/src/react/_internal/api/__mocks__/metadata.msw.ts +1 -1
  96. package/src/react/_internal/api/builder.gen.ts +6 -6
  97. package/src/react/_internal/api/get-query-client.ts +2 -2
  98. package/src/react/_internal/api/index.ts +2 -2
  99. package/src/react/_internal/api/marketplace.gen.ts +42 -4
  100. package/src/react/_internal/api/query-keys.ts +13 -6
  101. package/src/react/_internal/api/services.ts +28 -31
  102. package/src/react/_internal/index.ts +1 -1
  103. package/src/react/_internal/types.ts +10 -23
  104. package/src/react/_internal/utils.ts +1 -2
  105. package/src/react/_internal/wagmi/create-config.ts +20 -11
  106. package/src/react/_internal/wagmi/get-connectors.ts +9 -7
  107. package/src/react/_internal/wallet/__tests__/wallet.test.ts +1 -1
  108. package/src/react/_internal/wallet/wallet.ts +18 -18
  109. package/src/react/hooks/__tests__/__snapshots__/useListCollections.test.tsx.snap +20 -0
  110. package/src/react/hooks/__tests__/__snapshots__/useMarketplaceConfig.test.tsx.snap +12 -2
  111. package/src/react/hooks/__tests__/useAutoSelectFeeOption.test.tsx +1 -1
  112. package/src/react/hooks/__tests__/useBalanceOfCollectible.test.tsx +1 -1
  113. package/src/react/hooks/__tests__/useCancelOrder.test.tsx +4 -4
  114. package/src/react/hooks/__tests__/useCancelTransactionSteps.test.tsx +1 -1
  115. package/src/react/hooks/__tests__/useCollectible.test.tsx +14 -16
  116. package/src/react/hooks/__tests__/useCollection.test.tsx +4 -4
  117. package/src/react/hooks/__tests__/useCollectionBalanceDetails.test.tsx +1 -27
  118. package/src/react/hooks/__tests__/useCollectionDetails.test.tsx +1 -1
  119. package/src/react/hooks/__tests__/useCollectionDetailsPolling.test.tsx +1 -1
  120. package/src/react/hooks/__tests__/useComparePrices.test.tsx +7 -6
  121. package/src/react/hooks/__tests__/useConvertPriceToUSD.test.tsx +1 -1
  122. package/src/react/hooks/__tests__/useCountListingsForCollectible.test.tsx +2 -2
  123. package/src/react/hooks/__tests__/useCountOfCollectables.test.tsx +5 -5
  124. package/src/react/hooks/__tests__/useCountOffersForCollectible.test.tsx +2 -2
  125. package/src/react/hooks/__tests__/useCurrency.test.tsx +5 -3
  126. package/src/react/hooks/__tests__/useFilters.test.tsx +1 -1
  127. package/src/react/hooks/__tests__/useFloorOrder.test.tsx +4 -4
  128. package/src/react/hooks/__tests__/useGenerateCancelTransaction.test.tsx +3 -3
  129. package/src/react/hooks/__tests__/useGenerateListingTransaction.test.tsx +1 -1
  130. package/src/react/hooks/__tests__/useGenerateOfferTransaction.test.tsx +1 -1
  131. package/src/react/hooks/__tests__/useGenerateSellTransaction.test.tsx +1 -1
  132. package/src/react/hooks/__tests__/useGetTokenSuppliesMap.test.tsx +104 -0
  133. package/src/react/hooks/__tests__/useHighestOffer.test.tsx +4 -4
  134. package/src/react/hooks/__tests__/useInventory.test.tsx +1 -1
  135. package/src/react/hooks/__tests__/useListCollectibleActivities.test.tsx +11 -13
  136. package/src/react/hooks/__tests__/useListCollectibles.test.tsx +5 -5
  137. package/src/react/hooks/__tests__/useListCollectiblesPaginated.test.tsx +10 -15
  138. package/src/react/hooks/__tests__/useListCollectionActivities.test.tsx +13 -15
  139. package/src/react/hooks/__tests__/useListCollections.test.tsx +3 -3
  140. package/src/react/hooks/__tests__/useListListingsForCollectible.test.tsx +3 -2
  141. package/src/react/hooks/__tests__/useListMarketCardData.test.tsx +301 -0
  142. package/src/react/hooks/__tests__/useListOffersForCollectible.test.tsx +1 -1
  143. package/src/react/hooks/__tests__/useListTokenMetadata.test.tsx +111 -0
  144. package/src/react/hooks/__tests__/useLowestListing.test.tsx +1 -1
  145. package/src/react/hooks/__tests__/useMarketCurrencies.test.tsx +1 -1
  146. package/src/react/hooks/__tests__/useRoyalty.test.tsx +0 -23
  147. package/src/react/hooks/index.ts +27 -24
  148. package/src/react/hooks/options/index.ts +0 -1
  149. package/src/react/hooks/useAutoSelectFeeOption.tsx +1 -1
  150. package/src/react/hooks/useBalanceOfCollectible.tsx +1 -1
  151. package/src/react/hooks/useCancelTransactionSteps.tsx +2 -2
  152. package/src/react/hooks/useCheckoutOptionsSalesContract.tsx +1 -1
  153. package/src/react/hooks/useCollectible.tsx +64 -49
  154. package/src/react/hooks/useCollection.tsx +60 -11
  155. package/src/react/hooks/useCollectionBalanceDetails.tsx +20 -27
  156. package/src/react/hooks/useCollectionDetails.ts +69 -0
  157. package/src/react/hooks/useCollectionDetailsPolling.tsx +10 -2
  158. package/src/react/hooks/useComparePrices.tsx +18 -21
  159. package/src/react/hooks/useConvertPriceToUSD.tsx +20 -37
  160. package/src/react/hooks/useCountListingsForCollectible.tsx +64 -53
  161. package/src/react/hooks/useCountOfCollectables.tsx +60 -69
  162. package/src/react/hooks/useCountOfPrimarySaleItems.tsx +13 -0
  163. package/src/react/hooks/useCountOffersForCollectible.tsx +64 -53
  164. package/src/react/hooks/useCurrency.tsx +56 -64
  165. package/src/react/hooks/useFilterState.tsx +1 -2
  166. package/src/react/hooks/useFloorOrder.tsx +65 -40
  167. package/src/react/hooks/useGenerateCancelTransaction.tsx +5 -10
  168. package/src/react/hooks/useGenerateListingTransaction.tsx +1 -1
  169. package/src/react/hooks/useGenerateOfferTransaction.tsx +1 -1
  170. package/src/react/hooks/useGenerateSellTransaction.tsx +5 -10
  171. package/src/react/hooks/useGetReceiptFromHash.tsx +32 -3
  172. package/src/react/hooks/{useGetTokenSuppliesMap.ts → useGetTokenRanges.tsx} +15 -17
  173. package/src/react/hooks/useGetTokenSuppliesMap.tsx +73 -0
  174. package/src/react/hooks/useHighestOffer.tsx +68 -4
  175. package/src/react/hooks/useInventory.tsx +1 -1
  176. package/src/react/hooks/useList1155ShopCardData.tsx +55 -82
  177. package/src/react/hooks/useList721ShopCardData.tsx +93 -63
  178. package/src/react/hooks/useListBalances.tsx +1 -1
  179. package/src/react/hooks/useListCollectibleActivities.tsx +89 -50
  180. package/src/react/hooks/useListCollectibles.tsx +81 -16
  181. package/src/react/hooks/useListCollectiblesPaginated.tsx +96 -66
  182. package/src/react/hooks/useListCollectionActivities.tsx +84 -50
  183. package/src/react/hooks/useListCollections.tsx +72 -18
  184. package/src/react/hooks/useListListingsForCollectible.tsx +90 -50
  185. package/src/react/hooks/useListMarketCardData.tsx +1 -1
  186. package/src/react/hooks/useListOffersForCollectible.tsx +9 -14
  187. package/src/react/hooks/useListPrimarySaleItems.ts +72 -12
  188. package/src/react/hooks/useListShopCardData.tsx +70 -0
  189. package/src/react/hooks/useListTokenMetadata.tsx +73 -0
  190. package/src/react/hooks/useLowestListing.tsx +68 -4
  191. package/src/react/hooks/useMarketCurrencies.tsx +62 -5
  192. package/src/react/hooks/useRoyalty.tsx +57 -13
  193. package/src/react/hooks/useShopCollectibleSaleData.tsx +349 -0
  194. package/src/react/hooks/useTransferTokens.tsx +1 -1
  195. package/src/react/hooks/util/optimisticCancelUpdates.ts +5 -7
  196. package/src/react/index.ts +5 -3
  197. package/src/react/queries/balanceOfCollectible.ts +1 -1
  198. package/src/react/queries/collectible.ts +66 -0
  199. package/src/react/queries/collection.ts +55 -0
  200. package/src/react/queries/collectionDetails.ts +64 -0
  201. package/src/react/queries/countListingsForCollectible.ts +73 -0
  202. package/src/react/queries/countOfCollectables.ts +83 -0
  203. package/src/react/queries/countOfPrimarySaleItems.ts +48 -0
  204. package/src/react/queries/countOffersForCollectible.ts +73 -0
  205. package/src/react/queries/currency.ts +83 -0
  206. package/src/react/queries/floorOrder.ts +63 -0
  207. package/src/react/queries/getTokenSuppliesMap.ts +77 -0
  208. package/src/react/queries/highestOffer.ts +46 -40
  209. package/src/react/queries/index.ts +7 -4
  210. package/src/react/queries/inventory.ts +4 -4
  211. package/src/react/queries/listBalances.ts +1 -1
  212. package/src/react/queries/listCollectibleActivities.ts +97 -0
  213. package/src/react/queries/listCollectibles.ts +67 -50
  214. package/src/react/queries/listCollectiblesPaginated.ts +87 -0
  215. package/src/react/queries/listCollectionActivities.ts +95 -0
  216. package/src/react/queries/listCollections.ts +47 -8
  217. package/src/react/queries/listListingsForCollectible.ts +82 -0
  218. package/src/react/queries/listTokenMetadata.ts +47 -23
  219. package/src/react/queries/lowestListing.ts +46 -31
  220. package/src/react/queries/marketCurrencies.ts +42 -29
  221. package/src/react/queries/marketplaceConfig.ts +3 -3
  222. package/src/react/ssr/__tests__/__snapshots__/create-ssr-client.test.ts.snap +12 -2
  223. package/src/react/ssr/create-ssr-client.ts +1 -1
  224. package/src/react/types/query.ts +34 -0
  225. package/src/react/ui/components/ModelViewer.tsx +1 -1
  226. package/src/react/ui/components/_internals/action-button/__tests__/useActionButtonLogic.test.tsx +14 -8
  227. package/src/react/ui/components/_internals/action-button/hooks/useActionButtonLogic.ts +12 -15
  228. package/src/react/ui/components/_internals/action-button/store.ts +46 -18
  229. package/src/react/ui/components/marketplace-collectible-card/CollectibleCard.tsx +1 -1
  230. package/src/react/ui/components/marketplace-collectible-card/Footer.tsx +1 -1
  231. package/src/react/ui/components/marketplace-collectible-card/components/BaseCard.tsx +3 -0
  232. package/src/react/ui/components/marketplace-collectible-card/index.ts +1 -1
  233. package/src/react/ui/components/marketplace-collectible-card/types.ts +7 -4
  234. package/src/react/ui/components/marketplace-collectible-card/variants/MarketCard.tsx +3 -2
  235. package/src/react/ui/components/marketplace-collectible-card/variants/ShopCard.tsx +2 -5
  236. package/src/react/ui/components/marketplace-logos/marketplace-logos.tsx +1 -1
  237. package/src/react/ui/components/media/Media.tsx +5 -1
  238. package/src/react/ui/index.ts +8 -10
  239. package/src/react/ui/modals/BuyModal/__tests__/ERC1155ShopModal.test.tsx +94 -87
  240. package/src/react/ui/modals/BuyModal/__tests__/Modal1155.test.tsx +4 -4
  241. package/src/react/ui/modals/BuyModal/__tests__/store.test.ts +1 -1
  242. package/src/react/ui/modals/BuyModal/components/ERC1155QuantityModal.tsx +3 -4
  243. package/src/react/ui/modals/BuyModal/components/ERC1155ShopModal.tsx +1 -1
  244. package/src/react/ui/modals/BuyModal/hooks/__tests__/useCheckoutOptions.test.tsx +1 -1
  245. package/src/react/ui/modals/BuyModal/hooks/useCheckoutOptions.ts +1 -1
  246. package/src/react/ui/modals/BuyModal/hooks/useERC721SalePaymentParams.ts +1 -1
  247. package/src/react/ui/modals/BuyModal/hooks/usePaymentModalParams.ts +3 -3
  248. package/src/react/ui/modals/CreateListingModal/Modal.tsx +1 -1
  249. package/src/react/ui/modals/CreateListingModal/__tests__/Modal.test.tsx +2 -2
  250. package/src/react/ui/modals/CreateListingModal/hooks/useCreateListing.tsx +0 -1
  251. package/src/react/ui/modals/CreateListingModal/hooks/useGetTokenApproval.ts +2 -2
  252. package/src/react/ui/modals/CreateListingModal/hooks/useTransactionSteps.tsx +7 -6
  253. package/src/react/ui/modals/CreateListingModal/index.tsx +1 -1
  254. package/src/react/ui/modals/MakeOfferModal/Modal.tsx +2 -2
  255. package/src/react/ui/modals/MakeOfferModal/__tests__/Modal.test.tsx +1 -1
  256. package/src/react/ui/modals/MakeOfferModal/hooks/useGetTokenApproval.tsx +1 -1
  257. package/src/react/ui/modals/MakeOfferModal/hooks/useMakeOffer.tsx +0 -1
  258. package/src/react/ui/modals/MakeOfferModal/hooks/useTransactionSteps.tsx +7 -7
  259. package/src/react/ui/modals/MakeOfferModal/index.tsx +1 -1
  260. package/src/react/ui/modals/SellModal/Modal.tsx +3 -3
  261. package/src/react/ui/modals/SellModal/__tests__/Modal.test.tsx +6 -4
  262. package/src/react/ui/modals/SellModal/hooks/useGetTokenApproval.tsx +1 -1
  263. package/src/react/ui/modals/SellModal/hooks/useSell.tsx +0 -1
  264. package/src/react/ui/modals/SellModal/hooks/useTransactionSteps.tsx +6 -6
  265. package/src/react/ui/modals/SuccessfulPurchaseModal/__tests__/Modal.test.tsx +1 -1
  266. package/src/react/ui/modals/TransferModal/_store.ts +1 -7
  267. package/src/react/ui/modals/TransferModal/_views/enterWalletAddress/_components/TokenQuantityInput.tsx +2 -3
  268. package/src/react/ui/modals/TransferModal/_views/enterWalletAddress/index.tsx +2 -2
  269. package/src/react/ui/modals/_internal/components/actionModal/ActionModal.test.tsx +1 -1
  270. package/src/react/ui/modals/_internal/components/actionModal/ActionModal.tsx +2 -4
  271. package/src/react/ui/modals/_internal/components/currencyOptionsSelect/__tests__/index.test.tsx +1 -1
  272. package/src/react/ui/modals/_internal/components/currencyOptionsSelect/index.tsx +0 -1
  273. package/src/react/ui/modals/_internal/components/floorPriceText/index.tsx +4 -4
  274. package/src/react/ui/modals/_internal/components/quantityInput/QuantityInputBase.tsx +166 -0
  275. package/src/react/ui/modals/_internal/components/quantityInput/index.tsx +12 -141
  276. package/src/react/ui/modals/_internal/components/selectWaasFeeOptions/__tests__/SelectWaasFeeOptions.test.tsx +1 -1
  277. package/src/react/ui/modals/_internal/components/selectWaasFeeOptions/_components/BalanceIndicator.tsx +1 -2
  278. package/src/react/ui/modals/_internal/components/selectWaasFeeOptions/useWaasFeeOptionManager.tsx +0 -1
  279. package/src/react/ui/modals/_internal/components/transactionPreview/index.tsx +1 -1
  280. package/src/react/ui/modals/_internal/components/transactionStatusModal/__tests__/TransactionStatusModal.test.tsx +1 -1
  281. package/src/react/ui/modals/_internal/components/transactionStatusModal/hooks/useTransactionStatus.ts +0 -1
  282. package/src/react/ui/modals/_internal/components/transactionStatusModal/store.ts +1 -1
  283. package/src/react/ui/modals/_internal/components/waasFeeOptionsSelect/WaasFeeOptionsSelect.tsx +1 -1
  284. package/src/react/ui/modals/modal-provider.tsx +2 -3
  285. package/src/types/api-types.ts +36 -36
  286. package/src/types/buyModalErrors.ts +1 -1
  287. package/src/types/index.ts +5 -5
  288. package/src/types/new-marketplace-types.ts +1 -1
  289. package/src/types/sdk-config.ts +2 -1
  290. package/src/types/types.ts +1 -0
  291. package/src/types/waas-types.ts +1 -1
  292. package/src/utils/abi/index.ts +1 -1
  293. package/src/utils/abi/primary-sale/index.ts +1 -1
  294. package/src/utils/abi/token/index.ts +2 -1
  295. package/src/utils/decode/erc20.ts +1 -1
  296. package/src/utils/index.ts +3 -3
  297. package/test/const.ts +3 -1
  298. package/test/mocks/wallet.ts +1 -1
  299. package/test/test-utils.tsx +3 -4
  300. package/.changeset/fluffy-jokes-lay.md +0 -5
  301. package/.changeset/wise-bugs-boil.md +0 -8
  302. package/dist/CartIcon-Bll1rbxv.js.map +0 -1
  303. package/dist/CollectibleCard-CLQTl0_6.d.ts +0 -8
  304. package/dist/_internal-69NEWNUE.js.map +0 -1
  305. package/dist/api-1KFxYh7o.js.map +0 -1
  306. package/dist/builder.gen-CxP9NT1p.js.map +0 -1
  307. package/dist/index-BHiSG-Yi.d.ts +0 -312
  308. package/dist/index-BQW0PUkQ.d.ts +0 -3973
  309. package/dist/marketplace.gen-Dqk8vRmD.js.map +0 -1
  310. package/dist/marketplaceConfig-D2MYFqll.js.map +0 -1
  311. package/dist/options-DCi6_23w.js +0 -34
  312. package/dist/options-DCi6_23w.js.map +0 -1
  313. package/dist/primary-sale-Cw95phYC.js.map +0 -1
  314. package/dist/queries-DPvwtnO7.js.map +0 -1
  315. package/dist/react-BG7o4PId.js.map +0 -1
  316. package/dist/token-CO5llIla.js.map +0 -1
  317. package/dist/useCollection-C-mclKU0.d.ts +0 -66
  318. package/dist/utils-BFdxaToy.js.map +0 -1
  319. package/dist/wagmi-DRctYEk6.js.map +0 -1
  320. package/src/react/_internal/api/zod-schema.ts +0 -678
  321. package/src/react/hooks/options/collectionOptions.ts +0 -41
  322. package/src/react/hooks/useCheckoutOptions.tsx +0 -66
  323. package/src/react/hooks/useCollectionDetails.tsx +0 -50
  324. package/src/react/hooks/useListTokenMetadata.ts +0 -19
  325. package/src/react/queries/getTokenSupplies.ts +0 -38
  326. package/tsconfig.tsbuildinfo +0 -1
  327. /package/dist/{index-ij9f8GAA.d.ts → index-DvpBZgor.d.ts} +0 -0
@@ -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,60 +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
+ export interface FetchHighestOfferParams
11
12
  extends Omit<GetCollectibleHighestOfferArgs, 'contractAddress' | 'chainId'> {
12
- collectionAddress: Address;
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
- ) {
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;
23
+
23
24
  const marketplaceClient = getMarketplaceClient(config);
24
25
 
25
- const { chainId, collectionAddress, tokenId } = args;
26
- const data = await marketplaceClient.getCollectibleHighestOffer({
27
- chainId: String(chainId),
26
+ const apiArgs: GetCollectibleHighestOfferArgs = {
28
27
  contractAddress: collectionAddress,
29
- tokenId,
30
- });
31
-
32
- // let order: Order | undefined;
33
- // if (data.order) {
34
- // order = {
35
- // ...data.order,
36
- // priceAmount: BigInt(data.order.priceAmount),
37
- // priceAmountNet: BigInt(data.order.priceAmountNet),
38
- // };
39
- // }
28
+ chainId: String(chainId),
29
+ ...additionalApiParams,
30
+ };
40
31
 
41
- return data.order ?? null;
32
+ const result = await marketplaceClient.getCollectibleHighestOffer(apiArgs);
33
+ return result.order ?? null;
42
34
  }
43
35
 
44
- /**
45
- * Creates a tanstack query options object for the highest offer query
46
- *
47
- * @param args - The query arguments
48
- * @param config - SDK configuration
49
- * @returns Query options configuration
50
- */
51
- export function highestOfferOptions(
52
- args: UseHighestOfferArgs,
53
- config: SdkConfig,
54
- ) {
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
+
55
50
  return queryOptions({
56
- enabled: args.query?.enabled ?? true,
57
- queryKey: [...collectableKeys.highestOffers, args],
58
- 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,
59
65
  });
60
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';
@@ -9,10 +9,10 @@ import { OrderSide, type Page, type SdkConfig } from '../../types';
9
9
  import {
10
10
  type CollectibleOrder,
11
11
  type ContractType,
12
- LaosAPI,
13
12
  getIndexerClient,
13
+ LaosAPI,
14
14
  } from '../_internal';
15
- import { fetchCollectibles } from './listCollectibles';
15
+ import { fetchListCollectibles } from './listCollectibles';
16
16
  import { fetchMarketplaceConfig } from './marketplaceConfig';
17
17
 
18
18
  export interface UseInventoryArgs {
@@ -259,7 +259,7 @@ export async function fetchInventory(
259
259
 
260
260
  // Fetch collectibles from marketplace API
261
261
  const marketplaceConfig = await fetchMarketplaceConfig({ config });
262
- const collectibles = await fetchCollectibles(
262
+ const collectibles = await fetchListCollectibles(
263
263
  {
264
264
  chainId,
265
265
  collectionAddress,
@@ -268,8 +268,8 @@ export async function fetchInventory(
268
268
  includeEmpty: true,
269
269
  },
270
270
  side: OrderSide.listing,
271
+ config,
271
272
  },
272
- config,
273
273
  marketplaceConfig,
274
274
  page,
275
275
  );
@@ -2,7 +2,7 @@ import type { GetTokenBalancesReturn, Page } from '@0xsequence/indexer';
2
2
  import { infiniteQueryOptions } from '@tanstack/react-query';
3
3
  import type { Hex } from 'viem';
4
4
  import type { SdkConfig } from '../../types';
5
- import { LaosAPI, balanceQueries, getIndexerClient } from '../_internal';
5
+ import { balanceQueries, getIndexerClient, LaosAPI } from '../_internal';
6
6
 
7
7
  export type UseListBalancesArgs = {
8
8
  chainId: number;
@@ -0,0 +1,97 @@
1
+ import { queryOptions } from '@tanstack/react-query';
2
+ import type { Address } from 'viem';
3
+ import type { Page, SdkConfig } from '../../types';
4
+ import type {
5
+ ListCollectibleActivitiesArgs,
6
+ ListCollectibleActivitiesReturn,
7
+ SortBy,
8
+ ValuesOptional,
9
+ } from '../_internal';
10
+ import { collectableKeys, getMarketplaceClient } from '../_internal';
11
+ import type { StandardQueryOptions } from '../types/query';
12
+
13
+ export interface FetchListCollectibleActivitiesParams
14
+ extends Omit<
15
+ ListCollectibleActivitiesArgs,
16
+ 'chainId' | 'contractAddress' | 'page'
17
+ > {
18
+ chainId: number;
19
+ collectionAddress: Address;
20
+ page?: number;
21
+ pageSize?: number;
22
+ sort?: SortBy[];
23
+ config: SdkConfig;
24
+ }
25
+
26
+ /**
27
+ * Fetches collectible activities from the Marketplace API
28
+ */
29
+ export async function fetchListCollectibleActivities(
30
+ params: FetchListCollectibleActivitiesParams,
31
+ ): Promise<ListCollectibleActivitiesReturn> {
32
+ const {
33
+ collectionAddress,
34
+ chainId,
35
+ config,
36
+ page,
37
+ pageSize,
38
+ sort,
39
+ ...additionalApiParams
40
+ } = params;
41
+ const marketplaceClient = getMarketplaceClient(config);
42
+
43
+ const pageParams: Page | undefined =
44
+ page || pageSize || sort
45
+ ? {
46
+ page: page ?? 1,
47
+ pageSize: pageSize ?? 10,
48
+ sort,
49
+ }
50
+ : undefined;
51
+
52
+ const apiArgs: ListCollectibleActivitiesArgs = {
53
+ contractAddress: collectionAddress,
54
+ chainId: String(chainId),
55
+ page: pageParams,
56
+ ...additionalApiParams,
57
+ };
58
+
59
+ return await marketplaceClient.listCollectibleActivities(apiArgs);
60
+ }
61
+
62
+ export type ListCollectibleActivitiesQueryOptions =
63
+ ValuesOptional<FetchListCollectibleActivitiesParams> & {
64
+ query?: StandardQueryOptions;
65
+ };
66
+
67
+ export function listCollectibleActivitiesQueryOptions(
68
+ params: ListCollectibleActivitiesQueryOptions,
69
+ ) {
70
+ const enabled = Boolean(
71
+ params.collectionAddress &&
72
+ params.chainId &&
73
+ params.tokenId &&
74
+ params.config &&
75
+ (params.query?.enabled ?? true),
76
+ );
77
+
78
+ return queryOptions({
79
+ queryKey: [...collectableKeys.collectibleActivities, params],
80
+ queryFn: () =>
81
+ fetchListCollectibleActivities({
82
+ // biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined
83
+ chainId: params.chainId!,
84
+ // biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined
85
+ collectionAddress: params.collectionAddress!,
86
+ // biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined
87
+ config: params.config!,
88
+ // biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined
89
+ tokenId: params.tokenId!,
90
+ page: params.page,
91
+ pageSize: params.pageSize,
92
+ sort: params.sort,
93
+ }),
94
+ ...params.query,
95
+ enabled,
96
+ });
97
+ }