@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
@@ -1,62 +1,54 @@
1
1
  import { infiniteQueryOptions } from '@tanstack/react-query';
2
- import type { Address, Hex } from 'viem';
2
+ import type { Address } from 'viem';
3
3
  import type { MarketplaceConfig, Page, SdkConfig } from '../../types';
4
4
  import type { MarketplaceType } from '../../types/types';
5
5
  import { compareAddress } from '../../utils';
6
6
  import type {
7
- CollectiblesFilter,
8
7
  ListCollectiblesArgs,
9
8
  ListCollectiblesReturn,
9
+ ValuesOptional,
10
10
  } from '../_internal';
11
11
  import {
12
12
  type CollectibleOrder,
13
- OrderSide,
14
13
  collectableKeys,
15
14
  getMarketplaceClient,
15
+ OrderSide,
16
16
  } from '../_internal';
17
17
  import { fetchMarketplaceConfig } from '../queries/marketplaceConfig';
18
- import { type UseListBalancesArgs, fetchBalances } from './listBalances';
18
+ import type { StandardInfiniteQueryOptions } from '../types/query';
19
+ import { fetchBalances, type UseListBalancesArgs } from './listBalances';
19
20
 
20
- export type UseListCollectiblesArgs = {
21
- collectionAddress: Hex;
21
+ export interface FetchListCollectiblesParams
22
+ extends Omit<ListCollectiblesArgs, 'chainId' | 'contractAddress'> {
22
23
  chainId: number;
23
- side: OrderSide;
24
- filter?: CollectiblesFilter;
24
+ collectionAddress: Address;
25
25
  isLaos721?: boolean;
26
26
  marketplaceType?: MarketplaceType;
27
- query?: {
28
- enabled?: boolean;
29
- };
30
- };
27
+ config: SdkConfig;
28
+ }
31
29
 
32
30
  /**
33
- * Fetches a list of collectibles with pagination support
34
- *
35
- * @param args - Arguments for the API call
36
- * @param config - SDK configuration
37
- * @param page - Page parameters for pagination
38
- * @returns The collectibles data
31
+ * Fetches a list of collectibles with pagination support from the Marketplace API
39
32
  */
40
- export async function fetchCollectibles(
41
- args: UseListCollectiblesArgs,
42
- config: SdkConfig,
33
+ export async function fetchListCollectibles(
34
+ params: FetchListCollectiblesParams,
43
35
  marketplaceConfig: MarketplaceConfig,
44
36
  page: Page,
45
37
  ): Promise<ListCollectiblesReturn> {
38
+ const { collectionAddress, chainId, config, ...additionalApiParams } = params;
46
39
  const marketplaceClient = getMarketplaceClient(config);
47
- const { chainId, collectionAddress, ...restArgs } = args;
48
- const parsedArgs = {
49
- ...restArgs,
50
- chainId: String(chainId),
40
+
41
+ const apiArgs: ListCollectiblesArgs = {
51
42
  contractAddress: collectionAddress,
43
+ chainId: String(chainId),
52
44
  page: page,
53
- side: args.side,
54
- } satisfies ListCollectiblesArgs;
45
+ ...additionalApiParams,
46
+ };
55
47
 
56
- if (args.marketplaceType === 'shop') {
48
+ if (params.marketplaceType === 'shop') {
57
49
  const shopCollection = marketplaceConfig.shop.collections.find(
58
50
  (collection) =>
59
- compareAddress(collection.itemsAddress, args.collectionAddress),
51
+ compareAddress(collection.itemsAddress, params.collectionAddress),
60
52
  );
61
53
 
62
54
  if (!shopCollection) {
@@ -65,7 +57,7 @@ export async function fetchCollectibles(
65
57
 
66
58
  const primarySaleItemsList = await marketplaceClient.listPrimarySaleItems(
67
59
  {
68
- chainId: args.chainId.toString(),
60
+ chainId: params.chainId.toString(),
69
61
  primarySaleContractAddress: shopCollection.saleAddress as Address,
70
62
  },
71
63
  marketplaceConfig,
@@ -83,19 +75,19 @@ export async function fetchCollectibles(
83
75
  },
84
76
  startDate: item.primarySaleItem.startDate,
85
77
  endDate: item.primarySaleItem.endDate,
86
- supplyCap: item.primarySaleItem.supplyCap,
78
+ supplyCap: item.primarySaleItem.supply,
87
79
  itemType: item.primarySaleItem.itemType,
88
80
  },
89
81
  })),
90
82
  };
91
83
  }
92
84
 
93
- if (args.isLaos721 && args.side === OrderSide.listing) {
85
+ if (params.isLaos721 && params.side === OrderSide.listing) {
94
86
  try {
95
87
  const fetchBalancesArgs = {
96
- chainId: args.chainId,
97
- accountAddress: args.filter?.inAccounts?.[0] as Address,
98
- contractAddress: args.collectionAddress,
88
+ chainId: params.chainId,
89
+ accountAddress: params.filter?.inAccounts?.[0] as Address,
90
+ contractAddress: params.collectionAddress,
99
91
  page: page,
100
92
  includeMetadata: true,
101
93
  isLaos721: true,
@@ -130,29 +122,54 @@ export async function fetchCollectibles(
130
122
  }
131
123
  }
132
124
 
133
- return await marketplaceClient.listCollectibles(parsedArgs);
125
+ return await marketplaceClient.listCollectibles(apiArgs);
134
126
  }
135
127
 
136
- /**
137
- * Creates a tanstack infinite query options object for the collectibles query
138
- *
139
- * @param args - The query arguments
140
- * @param config - SDK configuration
141
- * @returns Query options configuration
142
- */
143
- export function listCollectiblesOptions(
144
- args: UseListCollectiblesArgs,
145
- config: SdkConfig,
128
+ export type ListCollectiblesQueryOptions =
129
+ ValuesOptional<FetchListCollectiblesParams> & {
130
+ query?: StandardInfiniteQueryOptions;
131
+ };
132
+
133
+ export function listCollectiblesQueryOptions(
134
+ params: ListCollectiblesQueryOptions,
146
135
  ) {
136
+ const enabled = Boolean(
137
+ params.collectionAddress &&
138
+ params.chainId &&
139
+ params.side &&
140
+ params.config &&
141
+ (params.query?.enabled ?? true),
142
+ );
143
+
147
144
  return infiniteQueryOptions({
148
- ...args.query,
149
- queryKey: [...collectableKeys.lists, args, config],
145
+ queryKey: [...collectableKeys.lists, params],
150
146
  queryFn: async ({ pageParam }) => {
151
- const marketplaceConfig = await fetchMarketplaceConfig({ config });
152
- return fetchCollectibles(args, config, marketplaceConfig, pageParam);
147
+ const marketplaceConfig = await fetchMarketplaceConfig({
148
+ // biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined
149
+ config: params.config!,
150
+ });
151
+ return fetchListCollectibles(
152
+ {
153
+ // biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined
154
+ chainId: params.chainId!,
155
+ // biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined
156
+ collectionAddress: params.collectionAddress!,
157
+ // biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined
158
+ config: params.config!,
159
+ // biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined
160
+ side: params.side!,
161
+ filter: params.filter,
162
+ isLaos721: params.isLaos721,
163
+ marketplaceType: params.marketplaceType,
164
+ },
165
+ marketplaceConfig,
166
+ pageParam,
167
+ );
153
168
  },
154
169
  initialPageParam: { page: 1, pageSize: 30 } as Page,
155
170
  getNextPageParam: (lastPage) =>
156
171
  lastPage.page?.more ? lastPage.page : undefined,
172
+ ...params.query,
173
+ enabled,
157
174
  });
158
175
  }
@@ -0,0 +1,87 @@
1
+ import { queryOptions } from '@tanstack/react-query';
2
+ import type { Address } from 'viem';
3
+ import type { Page, SdkConfig } from '../../types';
4
+ import type {
5
+ ListCollectiblesArgs,
6
+ ListCollectiblesReturn,
7
+ ValuesOptional,
8
+ } from '../_internal';
9
+ import { collectableKeys, getMarketplaceClient } from '../_internal';
10
+ import type { StandardQueryOptions } from '../types/query';
11
+
12
+ export interface FetchListCollectiblesPaginatedParams
13
+ extends Omit<ListCollectiblesArgs, 'chainId' | 'contractAddress' | 'page'> {
14
+ chainId: number;
15
+ collectionAddress: Address;
16
+ page?: number;
17
+ pageSize?: number;
18
+ config: SdkConfig;
19
+ }
20
+
21
+ /**
22
+ * Fetches a list of collectibles with pagination support from the Marketplace API
23
+ */
24
+ export async function fetchListCollectiblesPaginated(
25
+ params: FetchListCollectiblesPaginatedParams,
26
+ ): Promise<ListCollectiblesReturn> {
27
+ const {
28
+ collectionAddress,
29
+ chainId,
30
+ config,
31
+ page = 1,
32
+ pageSize = 30,
33
+ ...additionalApiParams
34
+ } = params;
35
+ const marketplaceClient = getMarketplaceClient(config);
36
+
37
+ const pageParams: Page = {
38
+ page,
39
+ pageSize,
40
+ };
41
+
42
+ const apiArgs: ListCollectiblesArgs = {
43
+ contractAddress: collectionAddress,
44
+ chainId: String(chainId),
45
+ page: pageParams,
46
+ ...additionalApiParams,
47
+ };
48
+
49
+ return await marketplaceClient.listCollectibles(apiArgs);
50
+ }
51
+
52
+ export type ListCollectiblesPaginatedQueryOptions =
53
+ ValuesOptional<FetchListCollectiblesPaginatedParams> & {
54
+ query?: StandardQueryOptions;
55
+ };
56
+
57
+ export function listCollectiblesPaginatedQueryOptions(
58
+ params: ListCollectiblesPaginatedQueryOptions,
59
+ ) {
60
+ const enabled = Boolean(
61
+ params.collectionAddress &&
62
+ params.chainId &&
63
+ params.side &&
64
+ params.config &&
65
+ (params.query?.enabled ?? true),
66
+ );
67
+
68
+ return queryOptions({
69
+ queryKey: [...collectableKeys.lists, 'paginated', params],
70
+ queryFn: () =>
71
+ fetchListCollectiblesPaginated({
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
+ collectionAddress: params.collectionAddress!,
76
+ // biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined
77
+ config: params.config!,
78
+ // biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined
79
+ side: params.side!,
80
+ filter: params.filter,
81
+ page: params.page,
82
+ pageSize: params.pageSize,
83
+ }),
84
+ ...params.query,
85
+ enabled,
86
+ });
87
+ }
@@ -0,0 +1,95 @@
1
+ import { queryOptions } from '@tanstack/react-query';
2
+ import type { Address } from 'viem';
3
+ import type { Page, SdkConfig } from '../../types';
4
+ import type {
5
+ ListCollectionActivitiesArgs,
6
+ ListCollectionActivitiesReturn,
7
+ SortBy,
8
+ ValuesOptional,
9
+ } from '../_internal';
10
+ import { getMarketplaceClient } from '../_internal';
11
+ import { collectionKeys } from '../_internal/api';
12
+ import type { StandardQueryOptions } from '../types/query';
13
+
14
+ export interface FetchListCollectionActivitiesParams
15
+ extends Omit<
16
+ ListCollectionActivitiesArgs,
17
+ 'chainId' | 'contractAddress' | 'page'
18
+ > {
19
+ chainId: number;
20
+ collectionAddress: Address;
21
+ page?: number;
22
+ pageSize?: number;
23
+ sort?: SortBy[];
24
+ config: SdkConfig;
25
+ }
26
+
27
+ /**
28
+ * Fetches collection activities from the Marketplace API
29
+ */
30
+ export async function fetchListCollectionActivities(
31
+ params: FetchListCollectionActivitiesParams,
32
+ ): Promise<ListCollectionActivitiesReturn> {
33
+ const {
34
+ collectionAddress,
35
+ chainId,
36
+ config,
37
+ page,
38
+ pageSize,
39
+ sort,
40
+ ...additionalApiParams
41
+ } = params;
42
+ const marketplaceClient = getMarketplaceClient(config);
43
+
44
+ const pageParams: Page | undefined =
45
+ page || pageSize || sort
46
+ ? {
47
+ page: page ?? 1,
48
+ pageSize: pageSize ?? 10,
49
+ sort,
50
+ }
51
+ : undefined;
52
+
53
+ const apiArgs: ListCollectionActivitiesArgs = {
54
+ contractAddress: collectionAddress,
55
+ chainId: String(chainId),
56
+ page: pageParams,
57
+ ...additionalApiParams,
58
+ };
59
+
60
+ return await marketplaceClient.listCollectionActivities(apiArgs);
61
+ }
62
+
63
+ export type ListCollectionActivitiesQueryOptions =
64
+ ValuesOptional<FetchListCollectionActivitiesParams> & {
65
+ query?: StandardQueryOptions;
66
+ };
67
+
68
+ export function listCollectionActivitiesQueryOptions(
69
+ params: ListCollectionActivitiesQueryOptions,
70
+ ) {
71
+ const enabled = Boolean(
72
+ params.collectionAddress &&
73
+ params.chainId &&
74
+ params.config &&
75
+ (params.query?.enabled ?? true),
76
+ );
77
+
78
+ return queryOptions({
79
+ queryKey: [...collectionKeys.collectionActivities, params],
80
+ queryFn: () =>
81
+ fetchListCollectionActivities({
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
+ page: params.page,
89
+ pageSize: params.pageSize,
90
+ sort: params.sort,
91
+ }),
92
+ ...params.query,
93
+ enabled,
94
+ });
95
+ }
@@ -7,7 +7,12 @@ import type {
7
7
  ShopCollection,
8
8
  } from '../../types/new-marketplace-types';
9
9
  import { compareAddress } from '../../utils';
10
- import { collectionKeys, getMetadataClient } from '../_internal';
10
+ import {
11
+ collectionKeys,
12
+ getMetadataClient,
13
+ type ValuesOptional,
14
+ } from '../_internal';
15
+ import type { StandardQueryOptions } from '../types/query';
11
16
 
12
17
  const allCollections = (marketplaceConfig: MarketplaceConfig) => {
13
18
  return [
@@ -16,15 +21,17 @@ const allCollections = (marketplaceConfig: MarketplaceConfig) => {
16
21
  ];
17
22
  };
18
23
 
19
- const fetchListCollections = async ({
20
- marketplaceType,
21
- marketplaceConfig,
22
- config,
23
- }: {
24
+ export interface FetchListCollectionsParams {
24
25
  marketplaceType?: MarketplaceType;
25
26
  marketplaceConfig: MarketplaceConfig;
26
27
  config: SdkConfig;
27
- }) => {
28
+ }
29
+
30
+ /**
31
+ * Fetches list of collections from the metadata API with marketplace filtering
32
+ */
33
+ export async function fetchListCollections(params: FetchListCollectionsParams) {
34
+ const { marketplaceType, marketplaceConfig, config } = params;
28
35
  const metadataClient = getMetadataClient(config);
29
36
 
30
37
  let collections = allCollections(marketplaceConfig);
@@ -99,8 +106,40 @@ const fetchListCollections = async ({
99
106
  }));
100
107
 
101
108
  return collectionsWithMetadata;
102
- };
109
+ }
110
+
111
+ export type ListCollectionsQueryOptions =
112
+ ValuesOptional<FetchListCollectionsParams> & {
113
+ query?: StandardQueryOptions;
114
+ };
115
+
116
+ export function listCollectionsQueryOptions(
117
+ params: ListCollectionsQueryOptions,
118
+ ) {
119
+ const enabled = Boolean(
120
+ params.marketplaceConfig &&
121
+ params.config &&
122
+ (params.query?.enabled ?? true),
123
+ );
124
+
125
+ return queryOptions({
126
+ queryKey: [...collectionKeys.list, params],
127
+ queryFn: enabled
128
+ ? () =>
129
+ fetchListCollections({
130
+ // biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined
131
+ marketplaceConfig: params.marketplaceConfig!,
132
+ // biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined
133
+ config: params.config!,
134
+ marketplaceType: params.marketplaceType,
135
+ })
136
+ : skipToken,
137
+ ...params.query,
138
+ enabled,
139
+ });
140
+ }
103
141
 
142
+ // Keep old function for backward compatibility during migration
104
143
  export const listCollectionsOptions = ({
105
144
  marketplaceType,
106
145
  marketplaceConfig,
@@ -0,0 +1,82 @@
1
+ import { queryOptions } from '@tanstack/react-query';
2
+ import type { Address } from 'viem';
3
+ import type { SdkConfig } from '../../types';
4
+ import type {
5
+ ListCollectibleListingsArgs,
6
+ ListCollectibleListingsReturn,
7
+ ValuesOptional,
8
+ } from '../_internal';
9
+ import { collectableKeys, getMarketplaceClient } from '../_internal';
10
+ import type { StandardQueryOptions } from '../types/query';
11
+
12
+ export interface FetchListListingsForCollectibleParams
13
+ extends Omit<
14
+ ListCollectibleListingsArgs,
15
+ 'chainId' | 'contractAddress' | 'tokenId'
16
+ > {
17
+ chainId: number;
18
+ collectionAddress: Address;
19
+ collectibleId: string;
20
+ config: SdkConfig;
21
+ }
22
+
23
+ /**
24
+ * Fetches listings for a specific collectible from the Marketplace API
25
+ */
26
+ export async function fetchListListingsForCollectible(
27
+ params: FetchListListingsForCollectibleParams,
28
+ ): Promise<ListCollectibleListingsReturn> {
29
+ const {
30
+ collectionAddress,
31
+ chainId,
32
+ collectibleId,
33
+ config,
34
+ ...additionalApiParams
35
+ } = params;
36
+ const marketplaceClient = getMarketplaceClient(config);
37
+
38
+ const apiArgs: ListCollectibleListingsArgs = {
39
+ contractAddress: collectionAddress,
40
+ chainId: String(chainId),
41
+ tokenId: collectibleId,
42
+ ...additionalApiParams,
43
+ };
44
+
45
+ return await marketplaceClient.listCollectibleListings(apiArgs);
46
+ }
47
+
48
+ export type ListListingsForCollectibleQueryOptions =
49
+ ValuesOptional<FetchListListingsForCollectibleParams> & {
50
+ query?: StandardQueryOptions;
51
+ };
52
+
53
+ export function listListingsForCollectibleQueryOptions(
54
+ params: ListListingsForCollectibleQueryOptions,
55
+ ) {
56
+ const enabled = Boolean(
57
+ params.collectionAddress &&
58
+ params.chainId &&
59
+ params.collectibleId &&
60
+ params.config &&
61
+ (params.query?.enabled ?? true),
62
+ );
63
+
64
+ return queryOptions({
65
+ queryKey: [...collectableKeys.listings, params],
66
+ queryFn: () =>
67
+ fetchListListingsForCollectible({
68
+ // biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined
69
+ chainId: params.chainId!,
70
+ // biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined
71
+ collectionAddress: params.collectionAddress!,
72
+ // biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined
73
+ collectibleId: params.collectibleId!,
74
+ // biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined
75
+ config: params.config!,
76
+ filter: params.filter,
77
+ page: params.page,
78
+ }),
79
+ ...params.query,
80
+ enabled,
81
+ });
82
+ }
@@ -1,20 +1,26 @@
1
1
  import { queryOptions } from '@tanstack/react-query';
2
2
  import type { SdkConfig } from '../../types';
3
- import { getMetadataClient } from '../_internal';
3
+ import {
4
+ getMetadataClient,
5
+ metadataKeys,
6
+ type ValuesOptional,
7
+ } from '../_internal';
8
+ import type { StandardQueryOptions } from '../types/query';
4
9
 
5
- export interface FetchTokenMetadataArgs {
10
+ export interface FetchListTokenMetadataParams {
6
11
  chainId: number;
7
12
  contractAddress: string;
8
13
  tokenIds: string[];
9
- query?: {
10
- enabled?: boolean;
11
- };
14
+ config: SdkConfig;
12
15
  }
13
16
 
14
- const fetchTokenMetadata = async (
15
- { chainId, contractAddress, tokenIds }: FetchTokenMetadataArgs,
16
- config: SdkConfig,
17
- ) => {
17
+ /**
18
+ * Fetches token metadata from the metadata API
19
+ */
20
+ export async function fetchListTokenMetadata(
21
+ params: FetchListTokenMetadataParams,
22
+ ) {
23
+ const { chainId, contractAddress, tokenIds, config } = params;
18
24
  const metadataClient = getMetadataClient(config);
19
25
 
20
26
  const response = await metadataClient.getTokenMetadata({
@@ -24,20 +30,38 @@ const fetchTokenMetadata = async (
24
30
  });
25
31
 
26
32
  return response.tokenMetadata;
27
- };
33
+ }
34
+
35
+ export type ListTokenMetadataQueryOptions =
36
+ ValuesOptional<FetchListTokenMetadataParams> & {
37
+ query?: StandardQueryOptions;
38
+ };
39
+
40
+ export function listTokenMetadataQueryOptions(
41
+ params: ListTokenMetadataQueryOptions,
42
+ ) {
43
+ const enabled = Boolean(
44
+ params.chainId &&
45
+ params.contractAddress &&
46
+ params.tokenIds?.length &&
47
+ params.config &&
48
+ (params.query?.enabled ?? true),
49
+ );
28
50
 
29
- export const tokenMetadataOptions = (
30
- args: FetchTokenMetadataArgs,
31
- config: SdkConfig,
32
- ) => {
33
51
  return queryOptions({
34
- ...args.query,
35
- queryKey: [
36
- 'listTokenMetadata',
37
- args.chainId,
38
- args.contractAddress,
39
- args.tokenIds,
40
- ],
41
- queryFn: () => fetchTokenMetadata(args, config),
52
+ queryKey: [...metadataKeys.tokenMetadata, params],
53
+ queryFn: () =>
54
+ fetchListTokenMetadata({
55
+ // biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined
56
+ chainId: params.chainId!,
57
+ // biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined
58
+ contractAddress: params.contractAddress!,
59
+ // biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined
60
+ tokenIds: params.tokenIds!,
61
+ // biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined
62
+ config: params.config!,
63
+ }),
64
+ ...params.query,
65
+ enabled,
42
66
  });
43
- };
67
+ }