@0xsequence/marketplace-sdk 0.8.11 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +236 -2
- package/dist/CalendarIcon-DbQ7Vxcw.js +141 -0
- package/dist/CalendarIcon-DbQ7Vxcw.js.map +1 -0
- package/dist/CollectibleCard-C8Ae64Ab.d.ts +71 -0
- package/dist/_internal-BgWcRIak.js +22 -0
- package/dist/_internal-BgWcRIak.js.map +1 -0
- package/dist/abi-BKyRjVcZ.js +0 -0
- package/dist/{alien_swap-2B65TDGT.js → alien_swap-B_76IMma.js} +5 -5
- package/dist/alien_swap-B_76IMma.js.map +1 -0
- package/dist/api-DTIan01C.js +241 -0
- package/dist/api-DTIan01C.js.map +1 -0
- package/dist/{aqua-xyz-WMYQLAIS.js → aqua-xyz-CMN_TFY5.js} +5 -5
- package/dist/aqua-xyz-CMN_TFY5.js.map +1 -0
- package/dist/{aura-V22RV5OG.js → aura-Cye_TuHj.js} +5 -5
- package/dist/aura-Cye_TuHj.js.map +1 -0
- package/dist/{blur-GE5QOMCM.js → blur-DWDMyMpK.js} +5 -5
- package/dist/blur-DWDMyMpK.js.map +1 -0
- package/dist/builder-api-BFuZNOaN.js +28 -0
- package/dist/builder-api-BFuZNOaN.js.map +1 -0
- package/dist/builder-api-C_zj5mr3.d.ts +12 -0
- package/dist/builder.gen-B9wR2nvF.js +303 -0
- package/dist/builder.gen-B9wR2nvF.js.map +1 -0
- package/dist/{coinbase-NLHJMGAP.js → coinbase-ByA_XRB0.js} +5 -5
- package/dist/coinbase-ByA_XRB0.js.map +1 -0
- package/dist/{element-2LGTYYSP.js → element-b77CyXIZ.js} +5 -5
- package/dist/element-b77CyXIZ.js.map +1 -0
- package/dist/{foundation-BPN66ZTN.js → foundation-DbOrKP9Y.js} +5 -5
- package/dist/foundation-DbOrKP9Y.js.map +1 -0
- package/dist/index-21LE7OhL.d.ts +102 -0
- package/dist/index-BL9RUSEK.d.ts +1803 -0
- package/dist/index-BQsgAvtX.d.ts +2938 -0
- package/dist/index-BUVWziLP.d.ts +60 -0
- package/dist/index-ByznONYE.d.ts +187 -0
- package/dist/index-C39K_8SG.d.ts +1 -0
- package/dist/index-CLy8y5hm.d.ts +1057 -0
- package/dist/index-COt10OgI.d.ts +24 -0
- package/dist/index-D5v5iluA.d.ts +809 -0
- package/dist/index-DPNWNa7t.d.ts +414 -0
- package/dist/index-DXMfTZ1F.d.ts +7 -0
- package/dist/index-DaE5ZNHb.d.ts +24 -0
- package/dist/index-DsfCs3-x.d.ts +122 -0
- package/dist/index-DvpBZgor.d.ts +1 -0
- package/dist/index-dUb6wb4Y.d.ts +22 -0
- package/dist/index.css +397 -371
- package/dist/index.d.ts +10 -29
- package/dist/index.js +13 -104
- package/dist/{looks-rare-MZRSOPT4.js → looks-rare-C1VqNcSM.js} +5 -5
- package/dist/looks-rare-C1VqNcSM.js.map +1 -0
- package/dist/{magic-eden-PUBL6KWW.js → magic-eden-ea_AGCZr.js} +5 -5
- package/dist/magic-eden-ea_AGCZr.js.map +1 -0
- package/dist/{manifold-GA445YJ6.js → manifold-8y8J2sjT.js} +5 -5
- package/dist/manifold-8y8J2sjT.js.map +1 -0
- package/dist/marketplace-logos-CSeGcPW4.js +50 -0
- package/dist/marketplace-logos-CSeGcPW4.js.map +1 -0
- package/dist/marketplace-nwnZv9Cb.js +1913 -0
- package/dist/marketplace-nwnZv9Cb.js.map +1 -0
- package/dist/marketplace.gen-BSDIX7NZ.js +1077 -0
- package/dist/marketplace.gen-BSDIX7NZ.js.map +1 -0
- package/dist/marketplaceConfig-C6X1SUik.js +71 -0
- package/dist/marketplaceConfig-C6X1SUik.js.map +1 -0
- package/dist/{mintify-UMC5PTKC.js → mintify-LA68TzWg.js} +5 -5
- package/dist/mintify-LA68TzWg.js.map +1 -0
- package/dist/new-marketplace-types-Bfis0U4J.d.ts +1546 -0
- package/dist/{nftx-AX3CY3IE.js → nftx-D3Tc8nzd.js} +5 -5
- package/dist/nftx-D3Tc8nzd.js.map +1 -0
- package/dist/{okx-GNVLAE2R.js → okx-hbqg6oIJ.js} +5 -5
- package/dist/okx-hbqg6oIJ.js.map +1 -0
- package/dist/{open-sea-KI43GVEB.js → open-sea-BccuK8-t.js} +5 -5
- package/dist/open-sea-BccuK8-t.js.map +1 -0
- package/dist/options-B4QN7Xou.js +0 -0
- package/dist/primary-sale-C55ALnfQ.js +1264 -0
- package/dist/primary-sale-C55ALnfQ.js.map +1 -0
- package/dist/queries-CUU65uYZ.js +599 -0
- package/dist/queries-CUU65uYZ.js.map +1 -0
- package/dist/{rarible-2J3MMZJ7.js → rarible-BgTwwj9g.js} +5 -5
- package/dist/rarible-BgTwwj9g.js.map +1 -0
- package/dist/react/_internal/api/index.d.ts +4 -86
- package/dist/react/_internal/api/index.js +7 -150
- package/dist/react/_internal/databeat/index.d.ts +45 -41
- package/dist/react/_internal/databeat/index.js +23 -27
- package/dist/react/_internal/index.d.ts +7 -76
- package/dist/react/_internal/index.js +9 -176
- package/dist/react/_internal/wagmi/index.d.ts +4 -17
- package/dist/react/_internal/wagmi/index.js +5 -14
- package/dist/react/hooks/index.d.ts +18 -3652
- package/dist/react/hooks/index.js +23 -153
- package/dist/react/hooks/options/index.d.ts +4 -8
- package/dist/react/hooks/options/index.js +11 -21
- package/dist/react/index.d.ts +18 -36
- package/dist/react/index.js +23 -193
- package/dist/react/queries/index.d.ts +8 -26
- package/dist/react/queries/index.js +18 -51
- package/dist/react/ssr/index.d.ts +19 -13
- package/dist/react/ssr/index.js +29 -28
- package/dist/react/ssr/index.js.map +1 -1
- package/dist/react/ui/components/marketplace-collectible-card/index.d.ts +9 -0
- package/dist/react/ui/components/marketplace-collectible-card/index.js +23 -0
- package/dist/react/ui/components/marketplace-collectible-card/utils/index.d.ts +8 -0
- package/dist/react/ui/components/marketplace-collectible-card/utils/index.js +10 -0
- package/dist/react/ui/components/marketplace-logos/index.d.ts +26 -24
- package/dist/react/ui/components/marketplace-logos/index.js +3 -45
- package/dist/react/ui/icons/index.d.ts +1 -2
- package/dist/react/ui/icons/index.js +10 -14
- package/dist/react/ui/index.d.ts +9 -116
- package/dist/react/ui/index.js +23 -41
- package/dist/react/ui/modals/_internal/components/actionModal/index.d.ts +59 -33
- package/dist/react/ui/modals/_internal/components/actionModal/index.js +23 -31
- package/dist/react-BbHBl6gg.css +80 -0
- package/dist/react-BbHBl6gg.css.map +1 -0
- package/dist/react-DAIicQPT.js +8938 -0
- package/dist/react-DAIicQPT.js.map +1 -0
- package/dist/{sequence-TGLUFEPQ.js → sequence-Do3kzb4J.js} +5 -5
- package/dist/sequence-Do3kzb4J.js.map +1 -0
- package/dist/src-Dz2CfBL0.js +8 -0
- package/dist/src-Dz2CfBL0.js.map +1 -0
- package/dist/{sudo-swap-M2O6E3TE.js → sudo-swap-B6vPKxBz.js} +5 -5
- package/dist/sudo-swap-B6vPKxBz.js.map +1 -0
- package/dist/{super-rare-UU2U4LIN.js → super-rare-eCm1SE6O.js} +5 -5
- package/dist/super-rare-eCm1SE6O.js.map +1 -0
- package/dist/token-Da4TdyUk.js +2091 -0
- package/dist/token-Da4TdyUk.js.map +1 -0
- package/dist/transaction-CcVViHEL.js +97 -0
- package/dist/transaction-CcVViHEL.js.map +1 -0
- package/dist/types/index.d.ts +3 -13
- package/dist/types/index.js +5 -44
- package/dist/types-DwWE6xOF.js +13 -0
- package/dist/types-DwWE6xOF.js.map +1 -0
- package/dist/utils/abi/index.d.ts +5 -3
- package/dist/utils/abi/index.js +6 -26
- package/dist/utils/abi/marketplace/index.d.ts +2 -805
- package/dist/utils/abi/marketplace/index.js +3 -11
- package/dist/utils/abi/primary-sale/index.d.ts +2 -1054
- package/dist/utils/abi/primary-sale/index.js +3 -9
- package/dist/utils/abi/token/index.d.ts +2 -1125
- package/dist/utils/abi/token/index.js +3 -11
- package/dist/utils/index.d.ts +8 -91
- package/dist/utils/index.js +11 -57
- package/dist/utils-BPYfgDSL.js +44 -0
- package/dist/utils-BPYfgDSL.js.map +1 -0
- package/dist/utils-CW2NA5KG.js +216 -0
- package/dist/utils-CW2NA5KG.js.map +1 -0
- package/dist/wagmi-CDzEQbfk.js +166 -0
- package/dist/wagmi-CDzEQbfk.js.map +1 -0
- package/dist/{x2y2-3W5BBMZC.js → x2y2-DD17tT91.js} +5 -5
- package/dist/x2y2-DD17tT91.js.map +1 -0
- package/dist/{zora-6EY6FUH6.js → zora-BpSG9UzS.js} +5 -5
- package/dist/zora-BpSG9UzS.js.map +1 -0
- package/eslint/use-client.js +0 -6
- package/package.json +36 -35
- package/src/index.ts +1 -2
- package/src/react/_internal/api/__mocks__/builder.msw.ts +5 -3
- package/src/react/_internal/api/__mocks__/indexer.msw.ts +9 -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 -7
- 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 +505 -26
- package/src/react/_internal/api/query-keys.ts +13 -6
- package/src/react/_internal/api/services.ts +42 -52
- 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/__tests__/create-config.test.ts +5 -5
- package/src/react/_internal/wagmi/create-config.ts +23 -9
- package/src/react/_internal/wagmi/get-connectors.ts +10 -5
- 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 +181 -2
- package/src/react/hooks/__tests__/__snapshots__/useMarketplaceConfig.test.tsx.snap +54 -6
- package/src/react/hooks/__tests__/useAutoSelectFeeOption.test.tsx +8 -5
- 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__/useCheckoutOptionsSalesContract.test.tsx +225 -0
- 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 +4 -4
- 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 +5 -6
- 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 -20
- package/src/react/hooks/__tests__/useInventory.test.tsx +1 -37
- 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 +4 -4
- 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 -17
- package/src/react/hooks/options/index.ts +0 -1
- package/src/react/hooks/useAutoSelectFeeOption.tsx +1 -1
- package/src/react/hooks/useBalanceOfCollectible.tsx +14 -10
- package/src/react/hooks/useCancelTransactionSteps.tsx +7 -3
- package/src/react/hooks/useCheckoutOptionsSalesContract.tsx +67 -0
- 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 -52
- package/src/react/hooks/useCountOfCollectables.tsx +61 -67
- package/src/react/hooks/useCountOfPrimarySaleItems.tsx +13 -0
- package/src/react/hooks/useCountOffersForCollectible.tsx +64 -52
- package/src/react/hooks/useCurrency.tsx +56 -64
- package/src/react/hooks/useERC721SaleMintedTokens.tsx +67 -0
- package/src/react/hooks/useFilterState.tsx +1 -2
- package/src/react/hooks/useFloorOrder.tsx +65 -37
- package/src/react/hooks/useGenerateCancelTransaction.tsx +17 -15
- package/src/react/hooks/useGenerateListingTransaction.tsx +16 -6
- package/src/react/hooks/useGenerateOfferTransaction.tsx +16 -7
- package/src/react/hooks/useGenerateSellTransaction.tsx +19 -15
- package/src/react/hooks/useGetReceiptFromHash.tsx +32 -3
- package/src/react/hooks/useGetTokenRanges.tsx +31 -0
- package/src/react/hooks/useGetTokenSuppliesMap.tsx +73 -0
- package/src/react/hooks/useHighestOffer.tsx +68 -4
- package/src/react/hooks/useInventory.tsx +8 -6
- package/src/react/hooks/useList1155ShopCardData.tsx +103 -0
- package/src/react/hooks/useList721ShopCardData.tsx +160 -0
- package/src/react/hooks/useListBalances.tsx +7 -10
- package/src/react/hooks/useListCollectibleActivities.tsx +89 -49
- package/src/react/hooks/useListCollectibles.tsx +78 -26
- package/src/react/hooks/useListCollectiblesPaginated.tsx +96 -63
- package/src/react/hooks/useListCollectionActivities.tsx +84 -49
- package/src/react/hooks/useListCollections.tsx +72 -18
- package/src/react/hooks/useListListingsForCollectible.tsx +90 -49
- package/src/react/hooks/useListMarketCardData.tsx +157 -0
- package/src/react/hooks/useListOffersForCollectible.tsx +11 -15
- package/src/react/hooks/useListPrimarySaleItems.ts +102 -0
- 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/useTokenSaleDetailsBatch.tsx +134 -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 +48 -40
- package/src/react/queries/index.ts +7 -4
- package/src/react/queries/inventory.ts +38 -4
- package/src/react/queries/listBalances.ts +14 -30
- package/src/react/queries/listCollectibleActivities.ts +97 -0
- package/src/react/queries/listCollectibles.ts +117 -47
- package/src/react/queries/listCollectiblesPaginated.ts +87 -0
- package/src/react/queries/listCollectionActivities.ts +95 -0
- package/src/react/queries/listCollections.ts +55 -10
- package/src/react/queries/listListingsForCollectible.ts +82 -0
- package/src/react/queries/listTokenMetadata.ts +47 -18
- package/src/react/queries/lowestListing.ts +48 -31
- package/src/react/queries/marketCurrencies.ts +52 -35
- package/src/react/queries/marketplaceConfig.ts +56 -81
- package/src/react/ssr/__tests__/__snapshots__/create-ssr-client.test.ts.snap +54 -6
- package/src/react/ssr/__tests__/create-ssr-client.test.ts +0 -3
- package/src/react/ssr/create-ssr-client.ts +6 -11
- 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/ActionButton.tsx +47 -13
- package/src/react/ui/components/_internals/action-button/__tests__/ActionButtonBody.test.tsx +1 -1
- package/src/react/ui/components/_internals/action-button/__tests__/NonOwnerActions.test.tsx +28 -15
- package/src/react/ui/components/_internals/action-button/__tests__/OwnerActions.test.tsx +1 -1
- package/src/react/ui/components/_internals/action-button/__tests__/useActionButtonLogic.test.tsx +15 -9
- package/src/react/ui/components/_internals/action-button/components/ActionButtonBody.tsx +1 -1
- package/src/react/ui/components/_internals/action-button/components/NonOwnerActions.tsx +78 -15
- package/src/react/ui/components/_internals/action-button/components/OwnerActions.tsx +1 -1
- package/src/react/ui/components/_internals/action-button/hooks/useActionButtonLogic.ts +13 -16
- package/src/react/ui/components/_internals/action-button/store.ts +46 -18
- package/src/react/ui/components/marketplace-collectible-card/CollectibleCard.tsx +17 -0
- package/src/react/ui/components/marketplace-collectible-card/CollectibleCardSkeleton.tsx +24 -0
- package/src/react/ui/components/marketplace-collectible-card/Footer.tsx +231 -0
- package/src/react/ui/components/marketplace-collectible-card/components/ActionButtonWrapper.tsx +76 -0
- package/src/react/ui/components/marketplace-collectible-card/components/BaseCard.tsx +58 -0
- package/src/react/ui/components/marketplace-collectible-card/index.ts +3 -0
- package/src/react/ui/components/marketplace-collectible-card/types.ts +98 -0
- package/src/react/ui/components/marketplace-collectible-card/utils/formatPrice.ts +45 -0
- package/src/react/ui/components/marketplace-collectible-card/utils/index.ts +2 -0
- package/src/react/ui/components/marketplace-collectible-card/utils/supplyStatus.ts +39 -0
- package/src/react/ui/components/marketplace-collectible-card/variants/MarketCard.tsx +125 -0
- package/src/react/ui/components/marketplace-collectible-card/variants/ShopCard.tsx +102 -0
- package/src/react/ui/components/marketplace-logos/marketplace-logos.tsx +1 -1
- package/src/react/ui/components/{collectible-card/media → media}/Media.tsx +47 -26
- package/src/react/ui/components/{collectible-card/media → media}/types.ts +3 -1
- package/src/react/ui/index.ts +8 -7
- package/src/react/ui/modals/BuyModal/__tests__/BuyModalRouter.test.tsx +554 -0
- package/src/react/ui/modals/BuyModal/__tests__/ERC1155ShopModal.test.tsx +392 -0
- package/src/react/ui/modals/BuyModal/__tests__/ERC721ShopModal.test.tsx +272 -0
- package/src/react/ui/modals/BuyModal/__tests__/Modal.test.tsx.bak +112 -0
- package/src/react/ui/modals/BuyModal/__tests__/Modal1155.test.tsx +117 -13
- package/src/react/ui/modals/BuyModal/__tests__/store.test.ts +10 -7
- package/src/react/ui/modals/BuyModal/components/BuyModalRouter.tsx +157 -0
- package/src/react/ui/modals/BuyModal/components/ERC1155BuyModal.tsx +136 -0
- package/src/react/ui/modals/BuyModal/components/ERC1155QuantityModal.tsx +183 -0
- package/src/react/ui/modals/BuyModal/components/ERC1155ShopModal.tsx +121 -0
- package/src/react/ui/modals/BuyModal/components/ERC721BuyModal.tsx +85 -0
- package/src/react/ui/modals/BuyModal/components/ERC721ShopModal.tsx +86 -0
- package/src/react/ui/modals/BuyModal/components/Modal.tsx +14 -0
- package/src/react/ui/modals/BuyModal/components/types.ts +8 -0
- package/src/react/ui/modals/BuyModal/hooks/__tests__/useCheckoutOptions.test.tsx +5 -5
- package/src/react/ui/modals/BuyModal/hooks/__tests__/useERC1155Checkout.test.tsx +379 -0
- package/src/react/ui/modals/BuyModal/hooks/__tests__/useERC721SalePaymentParams.test.tsx +253 -0
- package/src/react/ui/modals/BuyModal/hooks/__tests__/{useFees.test.tsx → useMarketPlatformFee.test.tsx} +10 -11
- package/src/react/ui/modals/BuyModal/hooks/useCheckoutOptions.ts +63 -45
- package/src/react/ui/modals/BuyModal/hooks/useERC1155Checkout.ts +73 -0
- package/src/react/ui/modals/BuyModal/hooks/useERC721SalePaymentParams.ts +196 -0
- package/src/react/ui/modals/BuyModal/hooks/useLoadData.ts +74 -18
- package/src/react/ui/modals/BuyModal/hooks/useMarketPlatformFee.ts +53 -0
- package/src/react/ui/modals/BuyModal/hooks/usePaymentModalParams.ts +30 -15
- package/src/react/ui/modals/BuyModal/store.ts +147 -13
- 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 +4 -3
- package/src/react/ui/modals/CreateListingModal/hooks/useTransactionSteps.tsx +12 -9
- 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 +3 -2
- package/src/react/ui/modals/MakeOfferModal/hooks/useMakeOffer.tsx +0 -1
- package/src/react/ui/modals/MakeOfferModal/hooks/useTransactionSteps.tsx +12 -10
- 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 +5 -4
- package/src/react/ui/modals/SellModal/hooks/useSell.tsx +0 -1
- package/src/react/ui/modals/SellModal/hooks/useTransactionSteps.tsx +11 -8
- package/src/react/ui/modals/SuccessfulPurchaseModal/__tests__/Modal.test.tsx +12 -8
- package/src/react/ui/modals/SuccessfulPurchaseModal/index.tsx +34 -28
- package/src/react/ui/modals/SuccessfulPurchaseModal/store.ts +71 -0
- 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 -2
- package/src/react/ui/modals/_internal/components/actionModal/ActionModal.tsx +107 -112
- package/src/react/ui/modals/_internal/components/actionModal/store.ts +45 -12
- 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/switchChainModal/__tests__/SwitchChainModal.test.tsx +12 -8
- package/src/react/ui/modals/_internal/components/switchChainModal/index.tsx +35 -33
- package/src/react/ui/modals/_internal/components/switchChainModal/store.ts +61 -32
- 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 +3 -4
- package/src/types/api-types.ts +36 -36
- package/src/types/buyModalErrors.ts +438 -0
- package/src/types/index.ts +5 -2
- package/src/types/new-marketplace-types.ts +6 -21
- package/src/types/sdk-config.ts +19 -24
- package/src/types/types.ts +17 -0
- package/src/types/waas-types.ts +1 -1
- package/src/utils/_internal/error/transaction.ts +36 -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/tsconfig.json +1 -1
- package/tsdown.config.ts +25 -0
- package/.changeset/fluffy-jokes-lay.md +0 -5
- package/.changeset/wise-bugs-boil.md +0 -8
- package/.ctirc +0 -32
- package/dist/alien_swap-2B65TDGT.js.map +0 -1
- package/dist/aqua-xyz-WMYQLAIS.js.map +0 -1
- package/dist/aura-V22RV5OG.js.map +0 -1
- package/dist/blur-GE5QOMCM.js.map +0 -1
- package/dist/chunk-2PSNAIAT.js +0 -1
- package/dist/chunk-2PSNAIAT.js.map +0 -1
- package/dist/chunk-5C6ZZ6WX.js +0 -130
- package/dist/chunk-5C6ZZ6WX.js.map +0 -1
- package/dist/chunk-5O44EPXZ.js +0 -207
- package/dist/chunk-5O44EPXZ.js.map +0 -1
- package/dist/chunk-6CTFVBKU.js +0 -1
- package/dist/chunk-6CTFVBKU.js.map +0 -1
- package/dist/chunk-6OPMUCGX.js +0 -42
- package/dist/chunk-6OPMUCGX.js.map +0 -1
- package/dist/chunk-FUM4OGOQ.js +0 -1027
- package/dist/chunk-FUM4OGOQ.js.map +0 -1
- package/dist/chunk-L6KWLCER.js +0 -32
- package/dist/chunk-L6KWLCER.js.map +0 -1
- package/dist/chunk-LAP2CKLN.js +0 -485
- package/dist/chunk-LAP2CKLN.js.map +0 -1
- package/dist/chunk-LECCEZAO.js +0 -11
- package/dist/chunk-LECCEZAO.js.map +0 -1
- package/dist/chunk-N7SQWS2R.js +0 -38
- package/dist/chunk-N7SQWS2R.js.map +0 -1
- package/dist/chunk-NX52D7NX.js +0 -135
- package/dist/chunk-NX52D7NX.js.map +0 -1
- package/dist/chunk-OAOONM4S.js +0 -1787
- package/dist/chunk-OAOONM4S.js.map +0 -1
- package/dist/chunk-Q3ECVC4F.js +0 -811
- package/dist/chunk-Q3ECVC4F.js.map +0 -1
- package/dist/chunk-QY52UADF.js +0 -107
- package/dist/chunk-QY52UADF.js.map +0 -1
- package/dist/chunk-TNAR3XEF.js +0 -8729
- package/dist/chunk-TNAR3XEF.js.map +0 -1
- package/dist/chunk-XABYNWXO.js +0 -549
- package/dist/chunk-XABYNWXO.js.map +0 -1
- package/dist/chunk-XX4EVWBF.js +0 -1292
- package/dist/chunk-XX4EVWBF.js.map +0 -1
- package/dist/chunk-YB5UUF2G.js +0 -11
- package/dist/chunk-YB5UUF2G.js.map +0 -1
- package/dist/chunk-YWGFI4PN.js +0 -217
- package/dist/chunk-YWGFI4PN.js.map +0 -1
- package/dist/coinbase-NLHJMGAP.js.map +0 -1
- package/dist/create-config-DLMvMTkZ.d.ts +0 -8
- package/dist/element-2LGTYYSP.js.map +0 -1
- package/dist/foundation-BPN66ZTN.js.map +0 -1
- package/dist/get-query-client-D46hbjk6.d.ts +0 -5
- package/dist/index.css.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/looks-rare-MZRSOPT4.js.map +0 -1
- package/dist/magic-eden-PUBL6KWW.js.map +0 -1
- package/dist/manifold-GA445YJ6.js.map +0 -1
- package/dist/marketCurrencies-enNVYwBk.d.ts +0 -277
- package/dist/marketplace.gen-D24veUQs.d.ts +0 -1073
- package/dist/marketplaceConfig-BwNAbLPw.d.ts +0 -21
- package/dist/mintify-UMC5PTKC.js.map +0 -1
- package/dist/new-marketplace-types-BCw19X9S.d.ts +0 -102
- package/dist/nftx-AX3CY3IE.js.map +0 -1
- package/dist/okx-GNVLAE2R.js.map +0 -1
- package/dist/open-sea-KI43GVEB.js.map +0 -1
- package/dist/rarible-2J3MMZJ7.js.map +0 -1
- package/dist/react/_internal/api/index.js.map +0 -1
- package/dist/react/_internal/databeat/index.css +0 -2764
- package/dist/react/_internal/databeat/index.css.map +0 -1
- package/dist/react/_internal/databeat/index.js.map +0 -1
- package/dist/react/_internal/index.js.map +0 -1
- package/dist/react/_internal/wagmi/index.js.map +0 -1
- package/dist/react/hooks/index.css +0 -2764
- package/dist/react/hooks/index.css.map +0 -1
- package/dist/react/hooks/index.js.map +0 -1
- package/dist/react/hooks/options/index.js.map +0 -1
- package/dist/react/index.css +0 -2764
- package/dist/react/index.css.map +0 -1
- package/dist/react/index.js.map +0 -1
- package/dist/react/queries/index.js.map +0 -1
- package/dist/react/ui/components/collectible-card/index.css +0 -2764
- package/dist/react/ui/components/collectible-card/index.css.map +0 -1
- package/dist/react/ui/components/collectible-card/index.d.ts +0 -71
- package/dist/react/ui/components/collectible-card/index.js +0 -27
- package/dist/react/ui/components/collectible-card/index.js.map +0 -1
- package/dist/react/ui/components/marketplace-logos/index.js.map +0 -1
- package/dist/react/ui/icons/index.js.map +0 -1
- package/dist/react/ui/index.css +0 -2764
- package/dist/react/ui/index.css.map +0 -1
- package/dist/react/ui/index.js.map +0 -1
- package/dist/react/ui/modals/_internal/components/actionModal/index.css +0 -2764
- package/dist/react/ui/modals/_internal/components/actionModal/index.css.map +0 -1
- package/dist/react/ui/modals/_internal/components/actionModal/index.js.map +0 -1
- package/dist/sdk-config-qorA0TgF.d.ts +0 -165
- package/dist/sequence-TGLUFEPQ.js.map +0 -1
- package/dist/services-WrshxCqc.d.ts +0 -23
- package/dist/sudo-swap-M2O6E3TE.js.map +0 -1
- package/dist/super-rare-UU2U4LIN.js.map +0 -1
- package/dist/types/index.js.map +0 -1
- package/dist/useCollection-YAdXfVO7.d.ts +0 -61
- package/dist/utils/abi/index.js.map +0 -1
- package/dist/utils/abi/marketplace/index.js.map +0 -1
- package/dist/utils/abi/primary-sale/index.js.map +0 -1
- package/dist/utils/abi/token/index.js.map +0 -1
- package/dist/utils/index.js.map +0 -1
- package/dist/x2y2-3W5BBMZC.js.map +0 -1
- package/dist/zora-6EY6FUH6.js.map +0 -1
- package/postcss.config.mjs +0 -5
- package/src/react/_internal/api/zod-schema.ts +0 -678
- package/src/react/hooks/__tests__/__snapshots__/useRoyaltyPercentage.test.tsx.snap +0 -8
- package/src/react/hooks/options/collectionOptions.ts +0 -41
- package/src/react/hooks/useCheckoutOptions.tsx +0 -65
- package/src/react/hooks/useCollectionDetails.tsx +0 -35
- package/src/react/hooks/useGetTokenSuppliesMap.ts +0 -28
- package/src/react/hooks/useListTokenMetadata.ts +0 -19
- package/src/react/queries/getTokenSupplies.ts +0 -38
- package/src/react/ui/components/collectible-card/CollectibleCard.tsx +0 -170
- package/src/react/ui/components/collectible-card/Footer.tsx +0 -157
- package/src/react/ui/components/collectible-card/__tests__/CollectibleCard.test.tsx +0 -94
- package/src/react/ui/components/collectible-card/__tests__/Footer.test.tsx +0 -136
- package/src/react/ui/components/collectible-card/__tests__/Media.test.tsx +0 -264
- package/src/react/ui/components/collectible-card/index.ts +0 -2
- package/src/react/ui/modals/BuyModal/ERC1155QuantityModal.tsx +0 -130
- package/src/react/ui/modals/BuyModal/Modal.tsx +0 -124
- package/src/react/ui/modals/BuyModal/__tests__/Modal.test.tsx +0 -104
- package/src/react/ui/modals/BuyModal/hooks/useFees.ts +0 -39
- package/src/react/ui/modals/SuccessfulPurchaseModal/_store.ts +0 -72
- package/tsconfig.tsbuildinfo +0 -1
- package/tsup.config.ts +0 -23
- /package/src/react/ui/components/{collectible-card/media → media}/MediaSkeleton.tsx +0 -0
- /package/src/react/ui/components/{collectible-card/media → media}/utils.ts +0 -0
|
@@ -1,41 +1,93 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
1
3
|
import { useInfiniteQuery } from '@tanstack/react-query';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
|
|
4
|
+
import type { Optional } from '../_internal';
|
|
5
|
+
import {
|
|
6
|
+
type FetchListCollectiblesParams,
|
|
7
|
+
type ListCollectiblesQueryOptions,
|
|
8
|
+
listCollectiblesQueryOptions,
|
|
9
|
+
} from '../queries/listCollectibles';
|
|
5
10
|
import { useConfig } from './useConfig';
|
|
6
|
-
|
|
11
|
+
|
|
12
|
+
export type UseListCollectiblesParams = Optional<
|
|
13
|
+
ListCollectiblesQueryOptions,
|
|
14
|
+
'config'
|
|
15
|
+
>;
|
|
7
16
|
|
|
8
17
|
/**
|
|
9
|
-
* Hook to fetch a list of collectibles with pagination support
|
|
18
|
+
* Hook to fetch a list of collectibles with infinite pagination support
|
|
19
|
+
*
|
|
20
|
+
* Fetches collectibles from the marketplace with support for filtering, pagination,
|
|
21
|
+
* and special handling for shop marketplace types and LAOS721 contracts.
|
|
22
|
+
*
|
|
23
|
+
* @param params - Configuration parameters
|
|
24
|
+
* @param params.chainId - The chain ID (must be number, e.g., 1 for Ethereum, 137 for Polygon)
|
|
25
|
+
* @param params.collectionAddress - The collection contract address
|
|
26
|
+
* @param params.side - Order side (listing or bid)
|
|
27
|
+
* @param params.filter - Optional filtering parameters
|
|
28
|
+
* @param params.isLaos721 - Whether the collection is a LAOS721 contract
|
|
29
|
+
* @param params.marketplaceType - Type of marketplace (shop, etc.)
|
|
30
|
+
* @param params.query - Optional React Query configuration
|
|
10
31
|
*
|
|
11
|
-
* @
|
|
12
|
-
*
|
|
32
|
+
* @returns Infinite query result containing collectibles data with pagination
|
|
33
|
+
*
|
|
34
|
+
* @example
|
|
35
|
+
* Basic usage:
|
|
36
|
+
* ```typescript
|
|
37
|
+
* const { data, isLoading, fetchNextPage, hasNextPage } = useListCollectibles({
|
|
38
|
+
* chainId: 137,
|
|
39
|
+
* collectionAddress: '0x...',
|
|
40
|
+
* side: OrderSide.listing
|
|
41
|
+
* })
|
|
42
|
+
* ```
|
|
13
43
|
*
|
|
14
44
|
* @example
|
|
15
|
-
*
|
|
16
|
-
*
|
|
45
|
+
* With filtering:
|
|
46
|
+
* ```typescript
|
|
47
|
+
* const { data, fetchNextPage } = useListCollectibles({
|
|
17
48
|
* chainId: 1,
|
|
18
|
-
* collectionAddress: '
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
49
|
+
* collectionAddress: '0x...',
|
|
50
|
+
* side: OrderSide.listing,
|
|
51
|
+
* filter: {
|
|
52
|
+
* searchText: 'dragon',
|
|
53
|
+
* includeEmpty: false,
|
|
54
|
+
* marketplaces: [MarketplaceKind.sequence_marketplace_v2]
|
|
23
55
|
* }
|
|
24
|
-
* })
|
|
56
|
+
* })
|
|
57
|
+
* ```
|
|
58
|
+
*
|
|
59
|
+
* @example
|
|
60
|
+
* For LAOS721 collections:
|
|
61
|
+
* ```typescript
|
|
62
|
+
* const { data } = useListCollectibles({
|
|
63
|
+
* chainId: 137,
|
|
64
|
+
* collectionAddress: '0x...',
|
|
65
|
+
* side: OrderSide.listing,
|
|
66
|
+
* isLaos721: true,
|
|
67
|
+
* filter: {
|
|
68
|
+
* inAccounts: ['0x...']
|
|
69
|
+
* }
|
|
70
|
+
* })
|
|
25
71
|
* ```
|
|
26
72
|
*/
|
|
27
|
-
export function useListCollectibles(
|
|
28
|
-
const
|
|
29
|
-
const { data: marketplaceConfig } = useMarketplaceConfig();
|
|
73
|
+
export function useListCollectibles(params: UseListCollectiblesParams) {
|
|
74
|
+
const defaultConfig = useConfig();
|
|
30
75
|
|
|
31
|
-
const
|
|
32
|
-
marketplaceConfig?.market.collections.find(
|
|
33
|
-
(collection) => collection.itemsAddress === args.collectionAddress,
|
|
34
|
-
)?.contractType === ContractType.LAOSERC721;
|
|
76
|
+
const { config = defaultConfig, ...rest } = params;
|
|
35
77
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
78
|
+
const queryOptions = listCollectiblesQueryOptions({
|
|
79
|
+
config,
|
|
80
|
+
...rest,
|
|
81
|
+
});
|
|
39
82
|
|
|
40
|
-
return useInfiniteQuery(
|
|
83
|
+
return useInfiniteQuery({
|
|
84
|
+
...queryOptions,
|
|
85
|
+
});
|
|
41
86
|
}
|
|
87
|
+
|
|
88
|
+
export { listCollectiblesQueryOptions };
|
|
89
|
+
|
|
90
|
+
export type { FetchListCollectiblesParams, ListCollectiblesQueryOptions };
|
|
91
|
+
|
|
92
|
+
// Legacy export for backward compatibility during migration
|
|
93
|
+
export type UseListCollectiblesArgs = UseListCollectiblesParams;
|
|
@@ -1,74 +1,107 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
import
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import { useQuery } from '@tanstack/react-query';
|
|
4
|
+
import type { Optional } from '../_internal';
|
|
4
5
|
import {
|
|
5
|
-
|
|
6
|
-
type
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
} from '../
|
|
10
|
-
import { listCollectiblesArgsSchema } from '../_internal/api/zod-schema';
|
|
6
|
+
type FetchListCollectiblesPaginatedParams,
|
|
7
|
+
type fetchListCollectiblesPaginated,
|
|
8
|
+
type ListCollectiblesPaginatedQueryOptions,
|
|
9
|
+
listCollectiblesPaginatedQueryOptions,
|
|
10
|
+
} from '../queries/listCollectiblesPaginated';
|
|
11
11
|
import { useConfig } from './useConfig';
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
})
|
|
17
|
-
.extend({
|
|
18
|
-
collectionAddress: AddressSchema,
|
|
19
|
-
chainId: z.number(),
|
|
20
|
-
query: z
|
|
21
|
-
.object({
|
|
22
|
-
enabled: z.boolean().optional(),
|
|
23
|
-
page: z.number().optional().default(1),
|
|
24
|
-
pageSize: z.number().optional().default(30),
|
|
25
|
-
})
|
|
26
|
-
.optional()
|
|
27
|
-
.default({}),
|
|
28
|
-
});
|
|
29
|
-
|
|
30
|
-
export type UseListCollectiblesPaginatedArgs = z.infer<
|
|
31
|
-
typeof UseListCollectiblesPaginatedArgsSchema
|
|
13
|
+
export type UseListCollectiblesPaginatedParams = Optional<
|
|
14
|
+
ListCollectiblesPaginatedQueryOptions,
|
|
15
|
+
'config'
|
|
32
16
|
>;
|
|
33
17
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
18
|
+
/**
|
|
19
|
+
* Hook to fetch a list of collectibles with pagination support
|
|
20
|
+
*
|
|
21
|
+
* Fetches collectibles from the marketplace with support for filtering and pagination.
|
|
22
|
+
* Unlike the infinite query version, this hook fetches a specific page of results.
|
|
23
|
+
*
|
|
24
|
+
* @param params - Configuration parameters
|
|
25
|
+
* @param params.chainId - The chain ID (must be number, e.g., 1 for Ethereum, 137 for Polygon)
|
|
26
|
+
* @param params.collectionAddress - The collection contract address
|
|
27
|
+
* @param params.side - Order side (listing or bid)
|
|
28
|
+
* @param params.filter - Optional filtering parameters
|
|
29
|
+
* @param params.page - Page number to fetch (default: 1)
|
|
30
|
+
* @param params.pageSize - Number of items per page (default: 30)
|
|
31
|
+
* @param params.query - Optional React Query configuration
|
|
32
|
+
*
|
|
33
|
+
* @returns Query result containing collectibles data for the specific page
|
|
34
|
+
*
|
|
35
|
+
* @example
|
|
36
|
+
* Basic usage:
|
|
37
|
+
* ```typescript
|
|
38
|
+
* const { data, isLoading } = useListCollectiblesPaginated({
|
|
39
|
+
* chainId: 137,
|
|
40
|
+
* collectionAddress: '0x...',
|
|
41
|
+
* side: OrderSide.listing,
|
|
42
|
+
* page: 1,
|
|
43
|
+
* pageSize: 20
|
|
44
|
+
* })
|
|
45
|
+
* ```
|
|
46
|
+
*
|
|
47
|
+
* @example
|
|
48
|
+
* With filtering:
|
|
49
|
+
* ```typescript
|
|
50
|
+
* const { data } = useListCollectiblesPaginated({
|
|
51
|
+
* chainId: 1,
|
|
52
|
+
* collectionAddress: '0x...',
|
|
53
|
+
* side: OrderSide.listing,
|
|
54
|
+
* page: 2,
|
|
55
|
+
* pageSize: 50,
|
|
56
|
+
* filter: {
|
|
57
|
+
* searchText: 'rare',
|
|
58
|
+
* includeEmpty: false
|
|
59
|
+
* }
|
|
60
|
+
* })
|
|
61
|
+
* ```
|
|
62
|
+
*
|
|
63
|
+
* @example
|
|
64
|
+
* Controlled pagination:
|
|
65
|
+
* ```typescript
|
|
66
|
+
* const [currentPage, setCurrentPage] = useState(1);
|
|
67
|
+
* const { data, isLoading } = useListCollectiblesPaginated({
|
|
68
|
+
* chainId: 137,
|
|
69
|
+
* collectionAddress: '0x...',
|
|
70
|
+
* side: OrderSide.listing,
|
|
71
|
+
* page: currentPage,
|
|
72
|
+
* pageSize: 25
|
|
73
|
+
* });
|
|
74
|
+
*
|
|
75
|
+
* const hasMorePages = data?.page?.more;
|
|
76
|
+
* ```
|
|
77
|
+
*/
|
|
78
|
+
export function useListCollectiblesPaginated(
|
|
79
|
+
params: UseListCollectiblesPaginatedParams,
|
|
80
|
+
) {
|
|
81
|
+
const defaultConfig = useConfig();
|
|
47
82
|
|
|
48
|
-
const
|
|
49
|
-
...parsedArgs,
|
|
50
|
-
contractAddress: parsedArgs.collectionAddress,
|
|
51
|
-
page,
|
|
52
|
-
} as ListCollectiblesArgs;
|
|
83
|
+
const { config = defaultConfig, ...rest } = params;
|
|
53
84
|
|
|
54
|
-
|
|
55
|
-
|
|
85
|
+
const queryOptions = listCollectiblesPaginatedQueryOptions({
|
|
86
|
+
config,
|
|
87
|
+
...rest,
|
|
88
|
+
});
|
|
56
89
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
config: SdkConfig,
|
|
60
|
-
) => {
|
|
61
|
-
const marketplaceClient = getMarketplaceClient(args.chainId, config);
|
|
62
|
-
return queryOptions({
|
|
63
|
-
queryKey: [...collectableKeys.lists, 'paginated', args],
|
|
64
|
-
queryFn: () => fetchCollectiblesPaginated(args, marketplaceClient),
|
|
65
|
-
enabled: args.query?.enabled ?? true,
|
|
90
|
+
return useQuery({
|
|
91
|
+
...queryOptions,
|
|
66
92
|
});
|
|
67
|
-
}
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
export { listCollectiblesPaginatedQueryOptions };
|
|
68
96
|
|
|
69
|
-
export
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
const config = useConfig();
|
|
73
|
-
return useQuery(listCollectiblesPaginatedOptions(args, config));
|
|
97
|
+
export type {
|
|
98
|
+
FetchListCollectiblesPaginatedParams,
|
|
99
|
+
ListCollectiblesPaginatedQueryOptions,
|
|
74
100
|
};
|
|
101
|
+
|
|
102
|
+
// Legacy exports for backward compatibility during migration
|
|
103
|
+
export type UseListCollectiblesPaginatedArgs =
|
|
104
|
+
UseListCollectiblesPaginatedParams;
|
|
105
|
+
export type UseListCollectiblesPaginatedReturn = Awaited<
|
|
106
|
+
ReturnType<typeof fetchListCollectiblesPaginated>
|
|
107
|
+
>;
|
|
@@ -1,58 +1,93 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
import
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import { useQuery } from '@tanstack/react-query';
|
|
4
|
+
import type { Optional } from '../_internal';
|
|
5
|
+
import {
|
|
6
|
+
type FetchListCollectionActivitiesParams,
|
|
7
|
+
type fetchListCollectionActivities,
|
|
8
|
+
type ListCollectionActivitiesQueryOptions,
|
|
9
|
+
listCollectionActivitiesQueryOptions,
|
|
10
|
+
} from '../queries/listCollectionActivities';
|
|
10
11
|
import { useConfig } from './useConfig';
|
|
11
12
|
|
|
12
|
-
export type
|
|
13
|
-
|
|
13
|
+
export type UseListCollectionActivitiesParams = Optional<
|
|
14
|
+
ListCollectionActivitiesQueryOptions,
|
|
15
|
+
'config'
|
|
14
16
|
>;
|
|
15
17
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
18
|
+
/**
|
|
19
|
+
* Hook to fetch a list of activities for an entire collection
|
|
20
|
+
*
|
|
21
|
+
* Fetches activities (transfers, sales, offers, etc.) for all tokens
|
|
22
|
+
* in a collection from the marketplace with support for pagination and sorting.
|
|
23
|
+
*
|
|
24
|
+
* @param params - Configuration parameters
|
|
25
|
+
* @param params.chainId - The chain ID (must be number, e.g., 1 for Ethereum, 137 for Polygon)
|
|
26
|
+
* @param params.collectionAddress - The collection contract address
|
|
27
|
+
* @param params.page - Page number to fetch (default: 1)
|
|
28
|
+
* @param params.pageSize - Number of activities per page (default: 10)
|
|
29
|
+
* @param params.sort - Sort order for activities
|
|
30
|
+
* @param params.query - Optional React Query configuration
|
|
31
|
+
*
|
|
32
|
+
* @returns Query result containing activities data for the collection
|
|
33
|
+
*
|
|
34
|
+
* @example
|
|
35
|
+
* Basic usage:
|
|
36
|
+
* ```typescript
|
|
37
|
+
* const { data, isLoading } = useListCollectionActivities({
|
|
38
|
+
* chainId: 137,
|
|
39
|
+
* collectionAddress: '0x...'
|
|
40
|
+
* })
|
|
41
|
+
* ```
|
|
42
|
+
*
|
|
43
|
+
* @example
|
|
44
|
+
* With pagination:
|
|
45
|
+
* ```typescript
|
|
46
|
+
* const { data } = useListCollectionActivities({
|
|
47
|
+
* chainId: 1,
|
|
48
|
+
* collectionAddress: '0x...',
|
|
49
|
+
* page: 2,
|
|
50
|
+
* pageSize: 20
|
|
51
|
+
* })
|
|
52
|
+
* ```
|
|
53
|
+
*
|
|
54
|
+
* @example
|
|
55
|
+
* With sorting:
|
|
56
|
+
* ```typescript
|
|
57
|
+
* const { data } = useListCollectionActivities({
|
|
58
|
+
* chainId: 137,
|
|
59
|
+
* collectionAddress: '0x...',
|
|
60
|
+
* sort: [{ column: 'createdAt', order: SortOrder.DESC }],
|
|
61
|
+
* pageSize: 50
|
|
62
|
+
* })
|
|
63
|
+
* ```
|
|
64
|
+
*/
|
|
65
|
+
export function useListCollectionActivities(
|
|
66
|
+
params: UseListCollectionActivitiesParams,
|
|
67
|
+
) {
|
|
68
|
+
const defaultConfig = useConfig();
|
|
19
69
|
|
|
20
|
-
const
|
|
21
|
-
args: UseListCollectionActivitiesArgs,
|
|
22
|
-
config: SdkConfig,
|
|
23
|
-
) => {
|
|
24
|
-
const marketplaceClient = getMarketplaceClient(args.chainId, config);
|
|
25
|
-
return marketplaceClient
|
|
26
|
-
.listCollectionActivities({
|
|
27
|
-
contractAddress: args.collectionAddress,
|
|
28
|
-
page: args.query?.enabled
|
|
29
|
-
? {
|
|
30
|
-
page: args.query.page ?? 1,
|
|
31
|
-
pageSize: args.query.pageSize ?? 10,
|
|
32
|
-
sort: args.query.sort,
|
|
33
|
-
}
|
|
34
|
-
: undefined,
|
|
35
|
-
})
|
|
36
|
-
.then((data) => ({
|
|
37
|
-
activities: data.activities,
|
|
38
|
-
page: data.page,
|
|
39
|
-
}));
|
|
40
|
-
};
|
|
70
|
+
const { config = defaultConfig, ...rest } = params;
|
|
41
71
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
) => {
|
|
46
|
-
return queryOptions({
|
|
47
|
-
queryKey: [...collectionKeys.collectionActivities, args, config],
|
|
48
|
-
queryFn: () => fetchListCollectionActivities(args, config),
|
|
49
|
-
enabled: args.query?.enabled ?? true,
|
|
72
|
+
const queryOptions = listCollectionActivitiesQueryOptions({
|
|
73
|
+
config,
|
|
74
|
+
...rest,
|
|
50
75
|
});
|
|
51
|
-
};
|
|
52
76
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
)
|
|
56
|
-
|
|
57
|
-
|
|
77
|
+
return useQuery({
|
|
78
|
+
...queryOptions,
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
export { listCollectionActivitiesQueryOptions };
|
|
83
|
+
|
|
84
|
+
export type {
|
|
85
|
+
FetchListCollectionActivitiesParams,
|
|
86
|
+
ListCollectionActivitiesQueryOptions,
|
|
58
87
|
};
|
|
88
|
+
|
|
89
|
+
// Legacy exports for backward compatibility during migration
|
|
90
|
+
export type UseListCollectionActivitiesArgs = UseListCollectionActivitiesParams;
|
|
91
|
+
export type UseListCollectionActivitiesReturn = Awaited<
|
|
92
|
+
ReturnType<typeof fetchListCollectionActivities>
|
|
93
|
+
>;
|
|
@@ -1,26 +1,80 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
1
3
|
import { useQuery } from '@tanstack/react-query';
|
|
2
|
-
import type {
|
|
3
|
-
import {
|
|
4
|
+
import type { Optional } from '../_internal';
|
|
5
|
+
import {
|
|
6
|
+
type FetchListCollectionsParams,
|
|
7
|
+
type ListCollectionsQueryOptions,
|
|
8
|
+
listCollectionsQueryOptions,
|
|
9
|
+
} from '../queries/listCollections';
|
|
4
10
|
import { useConfig } from './useConfig';
|
|
5
11
|
import { useMarketplaceConfig } from './useMarketplaceConfig';
|
|
6
12
|
|
|
7
|
-
type
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
+
export type UseListCollectionsParams = Optional<
|
|
14
|
+
ListCollectionsQueryOptions,
|
|
15
|
+
'config' | 'marketplaceConfig'
|
|
16
|
+
>;
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Hook to fetch a list of collections from the marketplace
|
|
20
|
+
*
|
|
21
|
+
* This hook fetches collections from the marketplace configuration and enriches them with
|
|
22
|
+
* metadata from the metadata API. Collections can be filtered by marketplace type (market/shop).
|
|
23
|
+
*
|
|
24
|
+
* @param params - Configuration parameters
|
|
25
|
+
* @param params.marketplaceType - Optional filter for marketplace type ('market' or 'shop')
|
|
26
|
+
* @param params.marketplaceConfig - Optional marketplace configuration (defaults from context)
|
|
27
|
+
* @param params.config - Optional SDK configuration (defaults from context)
|
|
28
|
+
* @param params.query - Optional React Query configuration
|
|
29
|
+
*
|
|
30
|
+
* @returns Query result containing an array of collections with metadata
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* Basic usage - fetch all collections:
|
|
34
|
+
* ```typescript
|
|
35
|
+
* const { data: collections, isLoading } = useListCollections()
|
|
36
|
+
* ```
|
|
37
|
+
*
|
|
38
|
+
* @example
|
|
39
|
+
* Filter by marketplace type:
|
|
40
|
+
* ```typescript
|
|
41
|
+
* const { data: marketCollections } = useListCollections({
|
|
42
|
+
* marketplaceType: 'market'
|
|
43
|
+
* })
|
|
44
|
+
* ```
|
|
45
|
+
*
|
|
46
|
+
* @example
|
|
47
|
+
* With custom query options:
|
|
48
|
+
* ```typescript
|
|
49
|
+
* const { data: collections } = useListCollections({
|
|
50
|
+
* query: {
|
|
51
|
+
* enabled: isReady,
|
|
52
|
+
* staleTime: 5 * 60 * 1000 // 5 minutes
|
|
53
|
+
* }
|
|
54
|
+
* })
|
|
55
|
+
* ```
|
|
56
|
+
*/
|
|
57
|
+
export function useListCollections(params: UseListCollectionsParams = {}) {
|
|
58
|
+
const defaultConfig = useConfig();
|
|
59
|
+
const { data: defaultMarketplaceConfig } = useMarketplaceConfig();
|
|
60
|
+
|
|
61
|
+
const {
|
|
62
|
+
config = defaultConfig,
|
|
63
|
+
marketplaceConfig = defaultMarketplaceConfig,
|
|
64
|
+
...rest
|
|
65
|
+
} = params;
|
|
13
66
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
67
|
+
const queryOptions = listCollectionsQueryOptions({
|
|
68
|
+
config,
|
|
69
|
+
marketplaceConfig,
|
|
70
|
+
...rest,
|
|
71
|
+
});
|
|
17
72
|
|
|
18
73
|
return useQuery({
|
|
19
|
-
...
|
|
20
|
-
...listCollectionsOptions({
|
|
21
|
-
marketplaceType: args.marketplaceType,
|
|
22
|
-
marketplaceConfig,
|
|
23
|
-
config,
|
|
24
|
-
}),
|
|
74
|
+
...queryOptions,
|
|
25
75
|
});
|
|
26
|
-
}
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
export { listCollectionsQueryOptions };
|
|
79
|
+
|
|
80
|
+
export type { FetchListCollectionsParams, ListCollectionsQueryOptions };
|
|
@@ -1,60 +1,101 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
import
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import { useQuery } from '@tanstack/react-query';
|
|
4
|
+
import type { Optional } from '../_internal';
|
|
4
5
|
import {
|
|
5
|
-
type
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
6
|
+
type FetchListListingsForCollectibleParams,
|
|
7
|
+
type fetchListListingsForCollectible,
|
|
8
|
+
type ListListingsForCollectibleQueryOptions,
|
|
9
|
+
listListingsForCollectibleQueryOptions,
|
|
10
|
+
} from '../queries/listListingsForCollectible';
|
|
10
11
|
import { useConfig } from './useConfig';
|
|
11
12
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
chainId: z.number(),
|
|
16
|
-
collectionAddress: z.string(),
|
|
17
|
-
collectibleId: z.string(),
|
|
18
|
-
})
|
|
19
|
-
.omit({ contractAddress: true, tokenId: true });
|
|
20
|
-
|
|
21
|
-
type UseListListingsForCollectibleArgs = z.infer<
|
|
22
|
-
typeof UseListListingsForCollectibleArgsSchema
|
|
13
|
+
export type UseListListingsForCollectibleParams = Optional<
|
|
14
|
+
ListListingsForCollectibleQueryOptions,
|
|
15
|
+
'config'
|
|
23
16
|
>;
|
|
24
17
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
18
|
+
/**
|
|
19
|
+
* Hook to fetch listings for a specific collectible
|
|
20
|
+
*
|
|
21
|
+
* Fetches active listings (sales) for a specific token from the marketplace
|
|
22
|
+
* with support for filtering and pagination.
|
|
23
|
+
*
|
|
24
|
+
* @param params - Configuration parameters
|
|
25
|
+
* @param params.chainId - The chain ID (must be number, e.g., 1 for Ethereum, 137 for Polygon)
|
|
26
|
+
* @param params.collectionAddress - The collection contract address
|
|
27
|
+
* @param params.collectibleId - The specific token ID to fetch listings for
|
|
28
|
+
* @param params.filter - Optional filtering parameters (marketplace, currencies, etc.)
|
|
29
|
+
* @param params.page - Optional pagination parameters
|
|
30
|
+
* @param params.query - Optional React Query configuration
|
|
31
|
+
*
|
|
32
|
+
* @returns Query result containing listings data for the collectible
|
|
33
|
+
*
|
|
34
|
+
* @example
|
|
35
|
+
* Basic usage:
|
|
36
|
+
* ```typescript
|
|
37
|
+
* const { data, isLoading } = useListListingsForCollectible({
|
|
38
|
+
* chainId: 137,
|
|
39
|
+
* collectionAddress: '0x...',
|
|
40
|
+
* collectibleId: '123'
|
|
41
|
+
* })
|
|
42
|
+
* ```
|
|
43
|
+
*
|
|
44
|
+
* @example
|
|
45
|
+
* With pagination:
|
|
46
|
+
* ```typescript
|
|
47
|
+
* const { data } = useListListingsForCollectible({
|
|
48
|
+
* chainId: 1,
|
|
49
|
+
* collectionAddress: '0x...',
|
|
50
|
+
* collectibleId: '456',
|
|
51
|
+
* page: {
|
|
52
|
+
* page: 2,
|
|
53
|
+
* pageSize: 20
|
|
54
|
+
* }
|
|
55
|
+
* })
|
|
56
|
+
* ```
|
|
57
|
+
*
|
|
58
|
+
* @example
|
|
59
|
+
* With filtering:
|
|
60
|
+
* ```typescript
|
|
61
|
+
* const { data } = useListListingsForCollectible({
|
|
62
|
+
* chainId: 137,
|
|
63
|
+
* collectionAddress: '0x...',
|
|
64
|
+
* collectibleId: '789',
|
|
65
|
+
* filter: {
|
|
66
|
+
* marketplace: [MarketplaceKind.sequence_marketplace_v2],
|
|
67
|
+
* currencies: ['0x...'] // Specific currency addresses
|
|
68
|
+
* }
|
|
69
|
+
* })
|
|
70
|
+
* ```
|
|
71
|
+
*/
|
|
72
|
+
export function useListListingsForCollectible(
|
|
73
|
+
params: UseListListingsForCollectibleParams,
|
|
74
|
+
) {
|
|
75
|
+
const defaultConfig = useConfig();
|
|
28
76
|
|
|
29
|
-
const
|
|
30
|
-
config: SdkConfig,
|
|
31
|
-
args: UseListListingsForCollectibleArgs,
|
|
32
|
-
) => {
|
|
33
|
-
const arg = {
|
|
34
|
-
contractAddress: args.collectionAddress,
|
|
35
|
-
tokenId: args.collectibleId,
|
|
36
|
-
filter: args.filter,
|
|
37
|
-
page: args.page,
|
|
38
|
-
} satisfies ListListingsForCollectibleArgs;
|
|
39
|
-
|
|
40
|
-
const marketplaceClient = getMarketplaceClient(args.chainId, config);
|
|
41
|
-
return marketplaceClient.listCollectibleListings(arg);
|
|
42
|
-
};
|
|
77
|
+
const { config = defaultConfig, ...rest } = params;
|
|
43
78
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
) => {
|
|
48
|
-
return queryOptions({
|
|
49
|
-
queryKey: [...collectableKeys.listings, args, config],
|
|
50
|
-
queryFn: () => fetchListListingsForCollectible(config, args),
|
|
79
|
+
const queryOptions = listListingsForCollectibleQueryOptions({
|
|
80
|
+
config,
|
|
81
|
+
...rest,
|
|
51
82
|
});
|
|
52
|
-
};
|
|
53
83
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
)
|
|
57
|
-
|
|
84
|
+
return useQuery({
|
|
85
|
+
...queryOptions,
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
export { listListingsForCollectibleQueryOptions };
|
|
58
90
|
|
|
59
|
-
|
|
91
|
+
export type {
|
|
92
|
+
FetchListListingsForCollectibleParams,
|
|
93
|
+
ListListingsForCollectibleQueryOptions,
|
|
60
94
|
};
|
|
95
|
+
|
|
96
|
+
// Legacy exports for backward compatibility during migration
|
|
97
|
+
export type UseListListingsForCollectibleArgs =
|
|
98
|
+
UseListListingsForCollectibleParams;
|
|
99
|
+
export type UseListListingsForCollectibleReturn = Awaited<
|
|
100
|
+
ReturnType<typeof fetchListListingsForCollectible>
|
|
101
|
+
>;
|