@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.
- package/CHANGELOG.md +91 -23
- package/dist/{CartIcon-Bll1rbxv.js → CalendarIcon-DbQ7Vxcw.js} +38 -38
- package/dist/CalendarIcon-DbQ7Vxcw.js.map +1 -0
- package/dist/{types-BIJOaL4j.d.ts → CollectibleCard-C8Ae64Ab.d.ts} +7 -4
- package/dist/{_internal-69NEWNUE.js → _internal-BgWcRIak.js} +2 -14
- package/dist/_internal-BgWcRIak.js.map +1 -0
- package/dist/{api-1KFxYh7o.js → api-DTIan01C.js} +73 -64
- package/dist/api-DTIan01C.js.map +1 -0
- package/dist/{builder-api-BQvzykoU.js → builder-api-BFuZNOaN.js} +2 -2
- package/dist/{builder-api-BQvzykoU.js.map → builder-api-BFuZNOaN.js.map} +1 -1
- package/dist/{builder-api-DoK3907S.d.ts → builder-api-C_zj5mr3.d.ts} +2 -2
- package/dist/{builder.gen-CxP9NT1p.js → builder.gen-B9wR2nvF.js} +1 -1
- package/dist/builder.gen-B9wR2nvF.js.map +1 -0
- package/dist/{index-Cl7PQOGu.d.ts → index-21LE7OhL.d.ts} +24 -24
- package/dist/{index-1bezgsFq.d.ts → index-BL9RUSEK.d.ts} +929 -255
- package/dist/index-BQsgAvtX.d.ts +2938 -0
- package/dist/{index-DafWjEb4.d.ts → index-BUVWziLP.d.ts} +9 -14
- package/dist/{index-BIMIpDiI.d.ts → index-ByznONYE.d.ts} +98 -99
- package/dist/{index-BjIwVzc4.d.ts → index-CLy8y5hm.d.ts} +238 -238
- package/dist/{index-CN8puQQJ.d.ts → index-COt10OgI.d.ts} +4 -4
- package/dist/index-DPNWNa7t.d.ts +414 -0
- package/dist/{index-BEYefG1G.d.ts → index-DaE5ZNHb.d.ts} +2 -2
- package/dist/{index-BfH21xmk.d.ts → index-DsfCs3-x.d.ts} +46 -41
- package/dist/{index-4-kfOFdx.d.ts → index-dUb6wb4Y.d.ts} +5 -5
- package/dist/index.css +14 -1
- package/dist/index.d.ts +7 -7
- package/dist/index.js +7 -7
- package/dist/marketplace-logos-CSeGcPW4.js.map +1 -1
- package/dist/{marketplace.gen-Dqk8vRmD.js → marketplace.gen-BSDIX7NZ.js} +12 -3
- package/dist/marketplace.gen-BSDIX7NZ.js.map +1 -0
- package/dist/{marketplaceConfig-D2MYFqll.js → marketplaceConfig-C6X1SUik.js} +2 -2
- package/dist/marketplaceConfig-C6X1SUik.js.map +1 -0
- package/dist/{sdk-config-DJzxVPld.d.ts → new-marketplace-types-Bfis0U4J.d.ts} +65 -54
- package/dist/options-B4QN7Xou.js +0 -0
- package/dist/{primary-sale-Cw95phYC.js → primary-sale-C55ALnfQ.js} +279 -279
- package/dist/primary-sale-C55ALnfQ.js.map +1 -0
- package/dist/{queries-DPvwtnO7.js → queries-CUU65uYZ.js} +247 -134
- package/dist/queries-CUU65uYZ.js.map +1 -0
- package/dist/react/_internal/api/index.d.ts +4 -4
- package/dist/react/_internal/api/index.js +5 -5
- package/dist/react/_internal/databeat/index.d.ts +3 -3
- package/dist/react/_internal/databeat/index.js +15 -15
- package/dist/react/_internal/index.d.ts +7 -7
- package/dist/react/_internal/index.js +7 -7
- package/dist/react/_internal/wagmi/index.d.ts +3 -3
- package/dist/react/_internal/wagmi/index.js +2 -2
- package/dist/react/hooks/index.d.ts +15 -14
- package/dist/react/hooks/index.js +16 -16
- package/dist/react/hooks/options/index.d.ts +4 -5
- package/dist/react/hooks/options/index.js +9 -9
- package/dist/react/index.d.ts +15 -37
- package/dist/react/index.js +16 -16
- package/dist/react/queries/index.d.ts +8 -8
- package/dist/react/queries/index.js +12 -12
- package/dist/react/ssr/index.d.ts +6 -6
- package/dist/react/ssr/index.js +7 -7
- package/dist/react/ssr/index.js.map +1 -1
- package/dist/react/ui/components/marketplace-collectible-card/index.d.ts +8 -9
- package/dist/react/ui/components/marketplace-collectible-card/index.js +15 -15
- package/dist/react/ui/components/marketplace-collectible-card/utils/index.d.ts +7 -7
- package/dist/react/ui/components/marketplace-collectible-card/utils/index.js +7 -7
- package/dist/react/ui/components/marketplace-logos/index.d.ts +21 -21
- package/dist/react/ui/icons/index.js +6 -6
- package/dist/react/ui/index.d.ts +8 -9
- package/dist/react/ui/index.js +15 -15
- package/dist/react/ui/modals/_internal/components/actionModal/index.d.ts +5 -5
- package/dist/react/ui/modals/_internal/components/actionModal/index.js +15 -15
- package/dist/{react-BG7o4PId.js → react-DAIicQPT.js} +7422 -6835
- package/dist/react-DAIicQPT.js.map +1 -0
- package/dist/{token-CO5llIla.js → token-Da4TdyUk.js} +1540 -761
- package/dist/token-Da4TdyUk.js.map +1 -0
- package/dist/types/index.d.ts +2 -2
- package/dist/types/index.js +2 -2
- package/dist/types-DwWE6xOF.js.map +1 -1
- package/dist/utils/abi/index.d.ts +3 -3
- package/dist/utils/abi/index.js +3 -3
- package/dist/utils/abi/primary-sale/index.d.ts +1 -1
- package/dist/utils/abi/primary-sale/index.js +1 -1
- package/dist/utils/abi/token/index.d.ts +2 -2
- package/dist/utils/abi/token/index.js +2 -2
- package/dist/utils/index.d.ts +6 -6
- package/dist/utils/index.js +6 -6
- package/dist/{utils-Cat9_pef.js → utils-BPYfgDSL.js} +2 -2
- package/dist/{utils-Cat9_pef.js.map → utils-BPYfgDSL.js.map} +1 -1
- package/dist/{utils-BFdxaToy.js → utils-CW2NA5KG.js} +87 -87
- package/dist/utils-CW2NA5KG.js.map +1 -0
- package/dist/{wagmi-DRctYEk6.js → wagmi-CDzEQbfk.js} +19 -12
- package/dist/wagmi-CDzEQbfk.js.map +1 -0
- package/eslint/use-client.js +0 -6
- package/package.json +30 -31
- package/src/index.ts +1 -1
- package/src/react/_internal/api/__mocks__/builder.msw.ts +5 -3
- package/src/react/_internal/api/__mocks__/indexer.msw.ts +8 -8
- package/src/react/_internal/api/__mocks__/marketplace.msw.ts +4 -6
- package/src/react/_internal/api/__mocks__/metadata.msw.ts +1 -1
- package/src/react/_internal/api/builder.gen.ts +6 -6
- package/src/react/_internal/api/get-query-client.ts +2 -2
- package/src/react/_internal/api/index.ts +2 -2
- package/src/react/_internal/api/marketplace.gen.ts +42 -4
- package/src/react/_internal/api/query-keys.ts +13 -6
- package/src/react/_internal/api/services.ts +28 -31
- package/src/react/_internal/index.ts +1 -1
- package/src/react/_internal/types.ts +10 -23
- package/src/react/_internal/utils.ts +1 -2
- package/src/react/_internal/wagmi/create-config.ts +20 -11
- package/src/react/_internal/wagmi/get-connectors.ts +9 -7
- package/src/react/_internal/wallet/__tests__/wallet.test.ts +1 -1
- package/src/react/_internal/wallet/wallet.ts +18 -18
- package/src/react/hooks/__tests__/__snapshots__/useListCollections.test.tsx.snap +20 -0
- package/src/react/hooks/__tests__/__snapshots__/useMarketplaceConfig.test.tsx.snap +12 -2
- package/src/react/hooks/__tests__/useAutoSelectFeeOption.test.tsx +1 -1
- package/src/react/hooks/__tests__/useBalanceOfCollectible.test.tsx +1 -1
- package/src/react/hooks/__tests__/useCancelOrder.test.tsx +4 -4
- package/src/react/hooks/__tests__/useCancelTransactionSteps.test.tsx +1 -1
- package/src/react/hooks/__tests__/useCollectible.test.tsx +14 -16
- package/src/react/hooks/__tests__/useCollection.test.tsx +4 -4
- package/src/react/hooks/__tests__/useCollectionBalanceDetails.test.tsx +1 -27
- package/src/react/hooks/__tests__/useCollectionDetails.test.tsx +1 -1
- package/src/react/hooks/__tests__/useCollectionDetailsPolling.test.tsx +1 -1
- package/src/react/hooks/__tests__/useComparePrices.test.tsx +7 -6
- package/src/react/hooks/__tests__/useConvertPriceToUSD.test.tsx +1 -1
- package/src/react/hooks/__tests__/useCountListingsForCollectible.test.tsx +2 -2
- package/src/react/hooks/__tests__/useCountOfCollectables.test.tsx +5 -5
- package/src/react/hooks/__tests__/useCountOffersForCollectible.test.tsx +2 -2
- package/src/react/hooks/__tests__/useCurrency.test.tsx +5 -3
- package/src/react/hooks/__tests__/useFilters.test.tsx +1 -1
- package/src/react/hooks/__tests__/useFloorOrder.test.tsx +4 -4
- package/src/react/hooks/__tests__/useGenerateCancelTransaction.test.tsx +3 -3
- package/src/react/hooks/__tests__/useGenerateListingTransaction.test.tsx +1 -1
- package/src/react/hooks/__tests__/useGenerateOfferTransaction.test.tsx +1 -1
- package/src/react/hooks/__tests__/useGenerateSellTransaction.test.tsx +1 -1
- package/src/react/hooks/__tests__/useGetTokenSuppliesMap.test.tsx +104 -0
- package/src/react/hooks/__tests__/useHighestOffer.test.tsx +4 -4
- package/src/react/hooks/__tests__/useInventory.test.tsx +1 -1
- package/src/react/hooks/__tests__/useListCollectibleActivities.test.tsx +11 -13
- package/src/react/hooks/__tests__/useListCollectibles.test.tsx +5 -5
- package/src/react/hooks/__tests__/useListCollectiblesPaginated.test.tsx +10 -15
- package/src/react/hooks/__tests__/useListCollectionActivities.test.tsx +13 -15
- package/src/react/hooks/__tests__/useListCollections.test.tsx +3 -3
- package/src/react/hooks/__tests__/useListListingsForCollectible.test.tsx +3 -2
- package/src/react/hooks/__tests__/useListMarketCardData.test.tsx +301 -0
- package/src/react/hooks/__tests__/useListOffersForCollectible.test.tsx +1 -1
- package/src/react/hooks/__tests__/useListTokenMetadata.test.tsx +111 -0
- package/src/react/hooks/__tests__/useLowestListing.test.tsx +1 -1
- package/src/react/hooks/__tests__/useMarketCurrencies.test.tsx +1 -1
- package/src/react/hooks/__tests__/useRoyalty.test.tsx +0 -23
- package/src/react/hooks/index.ts +27 -24
- package/src/react/hooks/options/index.ts +0 -1
- package/src/react/hooks/useAutoSelectFeeOption.tsx +1 -1
- package/src/react/hooks/useBalanceOfCollectible.tsx +1 -1
- package/src/react/hooks/useCancelTransactionSteps.tsx +2 -2
- package/src/react/hooks/useCheckoutOptionsSalesContract.tsx +1 -1
- package/src/react/hooks/useCollectible.tsx +64 -49
- package/src/react/hooks/useCollection.tsx +60 -11
- package/src/react/hooks/useCollectionBalanceDetails.tsx +20 -27
- package/src/react/hooks/useCollectionDetails.ts +69 -0
- package/src/react/hooks/useCollectionDetailsPolling.tsx +10 -2
- package/src/react/hooks/useComparePrices.tsx +18 -21
- package/src/react/hooks/useConvertPriceToUSD.tsx +20 -37
- package/src/react/hooks/useCountListingsForCollectible.tsx +64 -53
- package/src/react/hooks/useCountOfCollectables.tsx +60 -69
- package/src/react/hooks/useCountOfPrimarySaleItems.tsx +13 -0
- package/src/react/hooks/useCountOffersForCollectible.tsx +64 -53
- package/src/react/hooks/useCurrency.tsx +56 -64
- package/src/react/hooks/useFilterState.tsx +1 -2
- package/src/react/hooks/useFloorOrder.tsx +65 -40
- package/src/react/hooks/useGenerateCancelTransaction.tsx +5 -10
- package/src/react/hooks/useGenerateListingTransaction.tsx +1 -1
- package/src/react/hooks/useGenerateOfferTransaction.tsx +1 -1
- package/src/react/hooks/useGenerateSellTransaction.tsx +5 -10
- package/src/react/hooks/useGetReceiptFromHash.tsx +32 -3
- package/src/react/hooks/{useGetTokenSuppliesMap.ts → useGetTokenRanges.tsx} +15 -17
- package/src/react/hooks/useGetTokenSuppliesMap.tsx +73 -0
- package/src/react/hooks/useHighestOffer.tsx +68 -4
- package/src/react/hooks/useInventory.tsx +1 -1
- package/src/react/hooks/useList1155ShopCardData.tsx +55 -82
- package/src/react/hooks/useList721ShopCardData.tsx +93 -63
- package/src/react/hooks/useListBalances.tsx +1 -1
- package/src/react/hooks/useListCollectibleActivities.tsx +89 -50
- package/src/react/hooks/useListCollectibles.tsx +81 -16
- package/src/react/hooks/useListCollectiblesPaginated.tsx +96 -66
- package/src/react/hooks/useListCollectionActivities.tsx +84 -50
- package/src/react/hooks/useListCollections.tsx +72 -18
- package/src/react/hooks/useListListingsForCollectible.tsx +90 -50
- package/src/react/hooks/useListMarketCardData.tsx +1 -1
- package/src/react/hooks/useListOffersForCollectible.tsx +9 -14
- package/src/react/hooks/useListPrimarySaleItems.ts +72 -12
- package/src/react/hooks/useListShopCardData.tsx +70 -0
- package/src/react/hooks/useListTokenMetadata.tsx +73 -0
- package/src/react/hooks/useLowestListing.tsx +68 -4
- package/src/react/hooks/useMarketCurrencies.tsx +62 -5
- package/src/react/hooks/useRoyalty.tsx +57 -13
- package/src/react/hooks/useShopCollectibleSaleData.tsx +349 -0
- package/src/react/hooks/useTransferTokens.tsx +1 -1
- package/src/react/hooks/util/optimisticCancelUpdates.ts +5 -7
- package/src/react/index.ts +5 -3
- package/src/react/queries/balanceOfCollectible.ts +1 -1
- package/src/react/queries/collectible.ts +66 -0
- package/src/react/queries/collection.ts +55 -0
- package/src/react/queries/collectionDetails.ts +64 -0
- package/src/react/queries/countListingsForCollectible.ts +73 -0
- package/src/react/queries/countOfCollectables.ts +83 -0
- package/src/react/queries/countOfPrimarySaleItems.ts +48 -0
- package/src/react/queries/countOffersForCollectible.ts +73 -0
- package/src/react/queries/currency.ts +83 -0
- package/src/react/queries/floorOrder.ts +63 -0
- package/src/react/queries/getTokenSuppliesMap.ts +77 -0
- package/src/react/queries/highestOffer.ts +46 -40
- package/src/react/queries/index.ts +7 -4
- package/src/react/queries/inventory.ts +4 -4
- package/src/react/queries/listBalances.ts +1 -1
- package/src/react/queries/listCollectibleActivities.ts +97 -0
- package/src/react/queries/listCollectibles.ts +67 -50
- package/src/react/queries/listCollectiblesPaginated.ts +87 -0
- package/src/react/queries/listCollectionActivities.ts +95 -0
- package/src/react/queries/listCollections.ts +47 -8
- package/src/react/queries/listListingsForCollectible.ts +82 -0
- package/src/react/queries/listTokenMetadata.ts +47 -23
- package/src/react/queries/lowestListing.ts +46 -31
- package/src/react/queries/marketCurrencies.ts +42 -29
- package/src/react/queries/marketplaceConfig.ts +3 -3
- package/src/react/ssr/__tests__/__snapshots__/create-ssr-client.test.ts.snap +12 -2
- package/src/react/ssr/create-ssr-client.ts +1 -1
- package/src/react/types/query.ts +34 -0
- package/src/react/ui/components/ModelViewer.tsx +1 -1
- package/src/react/ui/components/_internals/action-button/__tests__/useActionButtonLogic.test.tsx +14 -8
- package/src/react/ui/components/_internals/action-button/hooks/useActionButtonLogic.ts +12 -15
- package/src/react/ui/components/_internals/action-button/store.ts +46 -18
- package/src/react/ui/components/marketplace-collectible-card/CollectibleCard.tsx +1 -1
- package/src/react/ui/components/marketplace-collectible-card/Footer.tsx +1 -1
- package/src/react/ui/components/marketplace-collectible-card/components/BaseCard.tsx +3 -0
- package/src/react/ui/components/marketplace-collectible-card/index.ts +1 -1
- package/src/react/ui/components/marketplace-collectible-card/types.ts +7 -4
- package/src/react/ui/components/marketplace-collectible-card/variants/MarketCard.tsx +3 -2
- package/src/react/ui/components/marketplace-collectible-card/variants/ShopCard.tsx +2 -5
- package/src/react/ui/components/marketplace-logos/marketplace-logos.tsx +1 -1
- package/src/react/ui/components/media/Media.tsx +5 -1
- package/src/react/ui/index.ts +8 -10
- package/src/react/ui/modals/BuyModal/__tests__/ERC1155ShopModal.test.tsx +94 -87
- package/src/react/ui/modals/BuyModal/__tests__/Modal1155.test.tsx +4 -4
- package/src/react/ui/modals/BuyModal/__tests__/store.test.ts +1 -1
- package/src/react/ui/modals/BuyModal/components/ERC1155QuantityModal.tsx +3 -4
- package/src/react/ui/modals/BuyModal/components/ERC1155ShopModal.tsx +1 -1
- package/src/react/ui/modals/BuyModal/hooks/__tests__/useCheckoutOptions.test.tsx +1 -1
- package/src/react/ui/modals/BuyModal/hooks/useCheckoutOptions.ts +1 -1
- package/src/react/ui/modals/BuyModal/hooks/useERC721SalePaymentParams.ts +1 -1
- package/src/react/ui/modals/BuyModal/hooks/usePaymentModalParams.ts +3 -3
- package/src/react/ui/modals/CreateListingModal/Modal.tsx +1 -1
- package/src/react/ui/modals/CreateListingModal/__tests__/Modal.test.tsx +2 -2
- package/src/react/ui/modals/CreateListingModal/hooks/useCreateListing.tsx +0 -1
- package/src/react/ui/modals/CreateListingModal/hooks/useGetTokenApproval.ts +2 -2
- package/src/react/ui/modals/CreateListingModal/hooks/useTransactionSteps.tsx +7 -6
- package/src/react/ui/modals/CreateListingModal/index.tsx +1 -1
- package/src/react/ui/modals/MakeOfferModal/Modal.tsx +2 -2
- package/src/react/ui/modals/MakeOfferModal/__tests__/Modal.test.tsx +1 -1
- package/src/react/ui/modals/MakeOfferModal/hooks/useGetTokenApproval.tsx +1 -1
- package/src/react/ui/modals/MakeOfferModal/hooks/useMakeOffer.tsx +0 -1
- package/src/react/ui/modals/MakeOfferModal/hooks/useTransactionSteps.tsx +7 -7
- package/src/react/ui/modals/MakeOfferModal/index.tsx +1 -1
- package/src/react/ui/modals/SellModal/Modal.tsx +3 -3
- package/src/react/ui/modals/SellModal/__tests__/Modal.test.tsx +6 -4
- package/src/react/ui/modals/SellModal/hooks/useGetTokenApproval.tsx +1 -1
- package/src/react/ui/modals/SellModal/hooks/useSell.tsx +0 -1
- package/src/react/ui/modals/SellModal/hooks/useTransactionSteps.tsx +6 -6
- package/src/react/ui/modals/SuccessfulPurchaseModal/__tests__/Modal.test.tsx +1 -1
- package/src/react/ui/modals/TransferModal/_store.ts +1 -7
- package/src/react/ui/modals/TransferModal/_views/enterWalletAddress/_components/TokenQuantityInput.tsx +2 -3
- package/src/react/ui/modals/TransferModal/_views/enterWalletAddress/index.tsx +2 -2
- package/src/react/ui/modals/_internal/components/actionModal/ActionModal.test.tsx +1 -1
- package/src/react/ui/modals/_internal/components/actionModal/ActionModal.tsx +2 -4
- package/src/react/ui/modals/_internal/components/currencyOptionsSelect/__tests__/index.test.tsx +1 -1
- package/src/react/ui/modals/_internal/components/currencyOptionsSelect/index.tsx +0 -1
- package/src/react/ui/modals/_internal/components/floorPriceText/index.tsx +4 -4
- package/src/react/ui/modals/_internal/components/quantityInput/QuantityInputBase.tsx +166 -0
- package/src/react/ui/modals/_internal/components/quantityInput/index.tsx +12 -141
- package/src/react/ui/modals/_internal/components/selectWaasFeeOptions/__tests__/SelectWaasFeeOptions.test.tsx +1 -1
- package/src/react/ui/modals/_internal/components/selectWaasFeeOptions/_components/BalanceIndicator.tsx +1 -2
- package/src/react/ui/modals/_internal/components/selectWaasFeeOptions/useWaasFeeOptionManager.tsx +0 -1
- package/src/react/ui/modals/_internal/components/transactionPreview/index.tsx +1 -1
- package/src/react/ui/modals/_internal/components/transactionStatusModal/__tests__/TransactionStatusModal.test.tsx +1 -1
- package/src/react/ui/modals/_internal/components/transactionStatusModal/hooks/useTransactionStatus.ts +0 -1
- package/src/react/ui/modals/_internal/components/transactionStatusModal/store.ts +1 -1
- package/src/react/ui/modals/_internal/components/waasFeeOptionsSelect/WaasFeeOptionsSelect.tsx +1 -1
- package/src/react/ui/modals/modal-provider.tsx +2 -3
- package/src/types/api-types.ts +36 -36
- package/src/types/buyModalErrors.ts +1 -1
- package/src/types/index.ts +5 -5
- package/src/types/new-marketplace-types.ts +1 -1
- package/src/types/sdk-config.ts +2 -1
- package/src/types/types.ts +1 -0
- package/src/types/waas-types.ts +1 -1
- package/src/utils/abi/index.ts +1 -1
- package/src/utils/abi/primary-sale/index.ts +1 -1
- package/src/utils/abi/token/index.ts +2 -1
- package/src/utils/decode/erc20.ts +1 -1
- package/src/utils/index.ts +3 -3
- package/test/const.ts +3 -1
- package/test/mocks/wallet.ts +1 -1
- package/test/test-utils.tsx +3 -4
- package/.changeset/fluffy-jokes-lay.md +0 -5
- package/.changeset/wise-bugs-boil.md +0 -8
- package/dist/CartIcon-Bll1rbxv.js.map +0 -1
- package/dist/CollectibleCard-CLQTl0_6.d.ts +0 -8
- package/dist/_internal-69NEWNUE.js.map +0 -1
- package/dist/api-1KFxYh7o.js.map +0 -1
- package/dist/builder.gen-CxP9NT1p.js.map +0 -1
- package/dist/index-BHiSG-Yi.d.ts +0 -312
- package/dist/index-BQW0PUkQ.d.ts +0 -3973
- package/dist/marketplace.gen-Dqk8vRmD.js.map +0 -1
- package/dist/marketplaceConfig-D2MYFqll.js.map +0 -1
- package/dist/options-DCi6_23w.js +0 -34
- package/dist/options-DCi6_23w.js.map +0 -1
- package/dist/primary-sale-Cw95phYC.js.map +0 -1
- package/dist/queries-DPvwtnO7.js.map +0 -1
- package/dist/react-BG7o4PId.js.map +0 -1
- package/dist/token-CO5llIla.js.map +0 -1
- package/dist/useCollection-C-mclKU0.d.ts +0 -66
- package/dist/utils-BFdxaToy.js.map +0 -1
- package/dist/wagmi-DRctYEk6.js.map +0 -1
- package/src/react/_internal/api/zod-schema.ts +0 -678
- package/src/react/hooks/options/collectionOptions.ts +0 -41
- package/src/react/hooks/useCheckoutOptions.tsx +0 -66
- package/src/react/hooks/useCollectionDetails.tsx +0 -50
- package/src/react/hooks/useListTokenMetadata.ts +0 -19
- package/src/react/queries/getTokenSupplies.ts +0 -38
- package/tsconfig.tsbuildinfo +0 -1
- /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
|
|
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
|
|
18
|
+
import type { StandardInfiniteQueryOptions } from '../types/query';
|
|
19
|
+
import { fetchBalances, type UseListBalancesArgs } from './listBalances';
|
|
19
20
|
|
|
20
|
-
export
|
|
21
|
-
|
|
21
|
+
export interface FetchListCollectiblesParams
|
|
22
|
+
extends Omit<ListCollectiblesArgs, 'chainId' | 'contractAddress'> {
|
|
22
23
|
chainId: number;
|
|
23
|
-
|
|
24
|
-
filter?: CollectiblesFilter;
|
|
24
|
+
collectionAddress: Address;
|
|
25
25
|
isLaos721?: boolean;
|
|
26
26
|
marketplaceType?: MarketplaceType;
|
|
27
|
-
|
|
28
|
-
|
|
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
|
|
41
|
-
|
|
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
|
-
|
|
48
|
-
const
|
|
49
|
-
...restArgs,
|
|
50
|
-
chainId: String(chainId),
|
|
40
|
+
|
|
41
|
+
const apiArgs: ListCollectiblesArgs = {
|
|
51
42
|
contractAddress: collectionAddress,
|
|
43
|
+
chainId: String(chainId),
|
|
52
44
|
page: page,
|
|
53
|
-
|
|
54
|
-
}
|
|
45
|
+
...additionalApiParams,
|
|
46
|
+
};
|
|
55
47
|
|
|
56
|
-
if (
|
|
48
|
+
if (params.marketplaceType === 'shop') {
|
|
57
49
|
const shopCollection = marketplaceConfig.shop.collections.find(
|
|
58
50
|
(collection) =>
|
|
59
|
-
compareAddress(collection.itemsAddress,
|
|
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:
|
|
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.
|
|
78
|
+
supplyCap: item.primarySaleItem.supply,
|
|
87
79
|
itemType: item.primarySaleItem.itemType,
|
|
88
80
|
},
|
|
89
81
|
})),
|
|
90
82
|
};
|
|
91
83
|
}
|
|
92
84
|
|
|
93
|
-
if (
|
|
85
|
+
if (params.isLaos721 && params.side === OrderSide.listing) {
|
|
94
86
|
try {
|
|
95
87
|
const fetchBalancesArgs = {
|
|
96
|
-
chainId:
|
|
97
|
-
accountAddress:
|
|
98
|
-
contractAddress:
|
|
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(
|
|
125
|
+
return await marketplaceClient.listCollectibles(apiArgs);
|
|
134
126
|
}
|
|
135
127
|
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
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
|
-
...
|
|
149
|
-
queryKey: [...collectableKeys.lists, args, config],
|
|
145
|
+
queryKey: [...collectableKeys.lists, params],
|
|
150
146
|
queryFn: async ({ pageParam }) => {
|
|
151
|
-
const marketplaceConfig = await fetchMarketplaceConfig({
|
|
152
|
-
|
|
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 {
|
|
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
|
-
|
|
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 {
|
|
3
|
+
import {
|
|
4
|
+
getMetadataClient,
|
|
5
|
+
metadataKeys,
|
|
6
|
+
type ValuesOptional,
|
|
7
|
+
} from '../_internal';
|
|
8
|
+
import type { StandardQueryOptions } from '../types/query';
|
|
4
9
|
|
|
5
|
-
export interface
|
|
10
|
+
export interface FetchListTokenMetadataParams {
|
|
6
11
|
chainId: number;
|
|
7
12
|
contractAddress: string;
|
|
8
13
|
tokenIds: string[];
|
|
9
|
-
|
|
10
|
-
enabled?: boolean;
|
|
11
|
-
};
|
|
14
|
+
config: SdkConfig;
|
|
12
15
|
}
|
|
13
16
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
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
|
-
...
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
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
|
+
}
|