@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
|
@@ -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
|
|
11
|
+
export interface FetchHighestOfferParams
|
|
11
12
|
extends Omit<GetCollectibleHighestOfferArgs, 'contractAddress' | 'chainId'> {
|
|
12
|
-
collectionAddress:
|
|
13
|
+
collectionAddress: string;
|
|
13
14
|
chainId: number;
|
|
14
|
-
|
|
15
|
-
enabled?: boolean;
|
|
16
|
-
};
|
|
15
|
+
config: SdkConfig;
|
|
17
16
|
}
|
|
18
17
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
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
|
|
26
|
-
const data = await marketplaceClient.getCollectibleHighestOffer({
|
|
27
|
-
chainId: String(chainId),
|
|
26
|
+
const apiArgs: GetCollectibleHighestOfferArgs = {
|
|
28
27
|
contractAddress: collectionAddress,
|
|
29
|
-
|
|
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
|
-
|
|
32
|
+
const result = await marketplaceClient.getCollectibleHighestOffer(apiArgs);
|
|
33
|
+
return result.order ?? null;
|
|
42
34
|
}
|
|
43
35
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
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
|
-
|
|
57
|
-
|
|
58
|
-
|
|
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 './
|
|
3
|
-
export * from './
|
|
4
|
-
export * from './
|
|
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 './
|
|
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 {
|
|
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
|
|
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 {
|
|
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
|
+
}
|