@0xsequence/marketplace-sdk 1.1.0 → 1.2.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 +58 -5
- package/dist/{BellIcon-IpHHEy8h.js → BellIcon-DMKEumAz.js} +2 -2
- package/dist/BellIcon-DMKEumAz.js.map +1 -0
- package/dist/{CartIcon-C8zbor8H.js → CartIcon-UyB4NYKt.js} +3 -3
- package/dist/CartIcon-UyB4NYKt.js.map +1 -0
- package/dist/CollectibleCard-z05qWzKE.d.ts +8 -0
- package/dist/_internal-DkS2VUn5.js.map +1 -1
- package/dist/abi-fa-o9gH3.js +134 -0
- package/dist/abi-fa-o9gH3.js.map +1 -0
- package/dist/{alien_swap-BTJ7mSR-.js → alien_swap-Cq8LuElo.js} +1 -1
- package/dist/{alien_swap-BTJ7mSR-.js.map → alien_swap-Cq8LuElo.js.map} +1 -1
- package/dist/{api-DuLKn__v.js → api-GwTR0dBA.js} +13 -49
- package/dist/api-GwTR0dBA.js.map +1 -0
- package/dist/{aqua-xyz-BYJ9WSP_.js → aqua-xyz-0yye_c-Z.js} +1 -1
- package/dist/{aqua-xyz-BYJ9WSP_.js.map → aqua-xyz-0yye_c-Z.js.map} +1 -1
- package/dist/{aura-D7SUjgro.js → aura-TaxFvTFQ.js} +1 -1
- package/dist/{aura-D7SUjgro.js.map → aura-TaxFvTFQ.js.map} +1 -1
- package/dist/{blur-BcnRFCaV.js → blur-BupOTobO.js} +1 -1
- package/dist/{blur-BcnRFCaV.js.map → blur-BupOTobO.js.map} +1 -1
- package/dist/{builder-api-BFuZNOaN.js → builder-api-m4JAA6ee.js} +3 -3
- package/dist/builder-api-m4JAA6ee.js.map +1 -0
- package/dist/{builder.gen-B9wR2nvF.js → builder.gen--XD71cNL.js} +2 -2
- package/dist/builder.gen--XD71cNL.js.map +1 -0
- package/dist/{coinbase-ChoX9Hw2.js → coinbase-DTgZ4wDT.js} +1 -1
- package/dist/{coinbase-ChoX9Hw2.js.map → coinbase-DTgZ4wDT.js.map} +1 -1
- package/dist/collectibles-CZ6i8sXK.js +324 -0
- package/dist/collectibles-CZ6i8sXK.js.map +1 -0
- package/dist/collections-5NcU-7ZR.js +331 -0
- package/dist/collections-5NcU-7ZR.js.map +1 -0
- package/dist/{components-CUv-wQr8.js → components-CY8kx2kb.js} +13 -9
- package/dist/components-CY8kx2kb.js.map +1 -0
- package/dist/{contracts-D72LBOX3.js → contracts-DRJHF89h.js} +5 -4
- package/dist/{contracts-D72LBOX3.js.map → contracts-DRJHF89h.js.map} +1 -1
- package/dist/{create-config-CIfejoCk.js → create-config-BxyfYCEk.js} +6 -5
- package/dist/create-config-BxyfYCEk.js.map +1 -0
- package/dist/{create-config-DV_dtaLt.d.ts → create-config-CFBeD8CB.d.ts} +149 -57
- package/dist/{element-Dbcv5qya.js → element-D4dDznlu.js} +1 -1
- package/dist/{element-Dbcv5qya.js.map → element-D4dDznlu.js.map} +1 -1
- package/dist/filters-B5niI_fX.d.ts +60 -0
- package/dist/{foundation-QPhUEUy8.js → foundation-GHZOKAzN.js} +1 -1
- package/dist/{foundation-QPhUEUy8.js.map → foundation-GHZOKAzN.js.map} +1 -1
- package/dist/index-8scPf0CS.d.ts +55 -0
- package/dist/index-9qsplZ8r.d.ts +18 -0
- package/dist/index-BIuYTMc2.d.ts +122 -0
- package/dist/{index-BoNNplSx.d.ts → index-BNrz99xy.d.ts} +3 -3
- package/dist/{index-BaytncQc.d.ts → index-BYQOPS8e.d.ts} +108 -51
- package/dist/{index-CXscCUg7.d.ts → index-BkZ7SPLc.d.ts} +19 -29
- package/dist/{index-D6YMj82n.d.ts → index-BnUku_aF.d.ts} +109 -114
- package/dist/index-BtDAHMW_.d.ts +50 -0
- package/dist/index-C-c_M_sE.d.ts +107 -0
- package/dist/index-CKefEBrI.d.ts +1 -0
- package/dist/{index-CMPUveNz.d.ts → index-CNIiC8Z_.d.ts} +11 -8
- package/dist/{index-DLUjc7Bx.d.ts → index-CbERNN3s.d.ts} +201 -12
- package/dist/{index-C768pAfu.d.ts → index-CsfxsN0t.d.ts} +4 -4
- package/dist/{index-CQecU53t.d.ts → index-DASjaiJL.d.ts} +119 -24
- package/dist/{index-CT8ZorFd.d.ts → index-DD7Vc4cE.d.ts} +2 -2
- package/dist/{index-DpeWm_vF.d.ts → index-DIc8OqWV.d.ts} +7 -6
- package/dist/index-DVI_vggD.d.ts +171 -0
- package/dist/index-DgsCqh_P.d.ts +1 -0
- package/dist/{index-DMBMM16q.d.ts → index-DqxQeYT2.d.ts} +39 -36
- package/dist/{index-D-UXGo5d.d.ts → index-Dsf9FRtr.d.ts} +19 -3
- package/dist/{index-DJG0kiII.d.ts → index-DxAReMEO.d.ts} +45 -34
- package/dist/index-UXRoZmd_.d.ts +70 -0
- package/dist/{index-CM0ZTePs.d.ts → index-isFvc5gd.d.ts} +2 -2
- package/dist/{index-jGgfEHfQ.d.ts → index-j3nuJWyJ.d.ts} +18 -10
- package/dist/{index-B6aSbaw2.d.ts → index-nVb7o0hc.d.ts} +2 -2
- package/dist/{index-Bv5XVLjH.d.ts → index-pbE88Tt7.d.ts} +2 -2
- package/dist/index-xpO4AQyS.d.ts +1 -0
- package/dist/index.d.ts +8 -8
- package/dist/index.js +13 -13
- package/dist/inventory--t6Zu55O.js +75 -0
- package/dist/inventory--t6Zu55O.js.map +1 -0
- package/dist/listCollectiblesPaginated-BlE5mSzh.d.ts +327 -0
- package/dist/listCollections-DWyqFSQ3.d.ts +828 -0
- package/dist/{looks-rare-C7cQztTR.js → looks-rare-2HBhMpOf.js} +1 -1
- package/dist/{looks-rare-C7cQztTR.js.map → looks-rare-2HBhMpOf.js.map} +1 -1
- package/dist/lowestListing-DsunDO1c.d.ts +475 -0
- package/dist/{magic-eden-D3r7jiBG.js → magic-eden-BYdTp-uk.js} +1 -1
- package/dist/{magic-eden-D3r7jiBG.js.map → magic-eden-BYdTp-uk.js.map} +1 -1
- package/dist/{manifold-DsX0CBP-.js → manifold-yE0x6ZmO.js} +1 -1
- package/dist/{manifold-DsX0CBP-.js.map → manifold-yE0x6ZmO.js.map} +1 -1
- package/dist/market-DuBpFsDg.js +219 -0
- package/dist/market-DuBpFsDg.js.map +1 -0
- package/dist/{marketCurrencies-Bzj8X4TL.d.ts → marketCurrencies-BgwmbGFk.d.ts} +57 -15
- package/dist/marketCurrencies-Bolonndy.js +59 -0
- package/dist/marketCurrencies-Bolonndy.js.map +1 -0
- package/dist/{marketplace-BYY8OloA.js → marketplace-NQB-sEQL.js} +1 -1
- package/dist/{marketplace-BYY8OloA.js.map → marketplace-NQB-sEQL.js.map} +1 -1
- package/dist/{marketplace-logos-Csv2MBwf.js → marketplace-logos-Cz9RrtQo.js} +21 -21
- package/dist/marketplace-logos-Cz9RrtQo.js.map +1 -0
- package/dist/{marketplace.gen-w2YvbEEo.js → marketplace.gen-906FrJQJ.js} +75 -5
- package/dist/marketplace.gen-906FrJQJ.js.map +1 -0
- package/dist/{marketplaceConfig-BTy75Mbf.js → marketplaceConfig-Bqjo7NYO.js} +9 -5
- package/dist/marketplaceConfig-Bqjo7NYO.js.map +1 -0
- package/dist/{mintify-DiOoDmO1.js → mintify-BXQx3mZB.js} +1 -1
- package/dist/{mintify-DiOoDmO1.js.map → mintify-BXQx3mZB.js.map} +1 -1
- package/dist/{network-DtmiMhcg.js → network-DwdZ_5-7.js} +2 -2
- package/dist/network-DwdZ_5-7.js.map +1 -0
- package/dist/{networkconfigToWagmiChain-DbUf6HiO.js → networkconfigToWagmiChain-Ct-hGq8M.js} +4 -3
- package/dist/networkconfigToWagmiChain-Ct-hGq8M.js.map +1 -0
- package/dist/{nftx-CP82jNra.js → nftx-B929_3Ce.js} +1 -1
- package/dist/{nftx-CP82jNra.js.map → nftx-B929_3Ce.js.map} +1 -1
- package/dist/{okx-p9-4xRjs.js → okx-sZ0-Udny.js} +1 -1
- package/dist/{okx-p9-4xRjs.js.map → okx-sZ0-Udny.js.map} +1 -1
- package/dist/{open-sea-D2GwAmKS.js → open-sea-DO9PhTrz.js} +1 -1
- package/dist/{open-sea-D2GwAmKS.js.map → open-sea-DO9PhTrz.js.map} +1 -1
- package/dist/orders-DH76ym2e.js +469 -0
- package/dist/orders-DH76ym2e.js.map +1 -0
- package/dist/{primary-sale-DOmNDq2P.js → primary-sale-1u4QlPdA.js} +1 -1
- package/dist/{primary-sale-DOmNDq2P.js.map → primary-sale-1u4QlPdA.js.map} +1 -1
- package/dist/primary-sales-CECrqatg.js +156 -0
- package/dist/primary-sales-CECrqatg.js.map +1 -0
- package/dist/{query-BG-MA1MB.d.ts → query-brXxOcH0.d.ts} +1 -1
- package/dist/{rarible-DqiiW9ki.js → rarible-Ccb2hs7y.js} +1 -1
- package/dist/{rarible-DqiiW9ki.js.map → rarible-Ccb2hs7y.js.map} +1 -1
- package/dist/react/_internal/api/index.d.ts +2 -2
- package/dist/react/_internal/api/index.js +6 -6
- package/dist/react/_internal/databeat/index.d.ts +1 -1
- package/dist/react/_internal/databeat/index.js +32 -22
- package/dist/react/_internal/index.d.ts +2 -2
- package/dist/react/_internal/index.js +8 -8
- package/dist/react/_internal/wagmi/index.d.ts +1 -1
- package/dist/react/_internal/wagmi/index.js +3 -3
- package/dist/react/hooks/config/index.d.ts +8 -8
- package/dist/react/hooks/config/index.js +32 -22
- package/dist/react/hooks/contracts/index.d.ts +6 -6
- package/dist/react/hooks/contracts/index.js +12 -12
- package/dist/react/hooks/data/collectibles/index.d.ts +10 -4
- package/dist/react/hooks/data/collectibles/index.js +32 -22
- package/dist/react/hooks/data/collections/index.d.ts +11 -11
- package/dist/react/hooks/data/collections/index.js +33 -23
- package/dist/react/hooks/data/index.d.ts +37 -29
- package/dist/react/hooks/data/index.js +33 -23
- package/dist/react/hooks/data/inventory/index.d.ts +36 -28
- package/dist/react/hooks/data/inventory/index.js +32 -22
- package/dist/react/hooks/data/market/index.d.ts +11 -5
- package/dist/react/hooks/data/market/index.js +32 -22
- package/dist/react/hooks/data/orders/index.d.ts +11 -5
- package/dist/react/hooks/data/orders/index.js +33 -23
- package/dist/react/hooks/data/primary-sales/index.d.ts +37 -29
- package/dist/react/hooks/data/primary-sales/index.js +33 -23
- package/dist/react/hooks/data/tokens/index.d.ts +4 -4
- package/dist/react/hooks/data/tokens/index.js +32 -22
- package/dist/react/hooks/index.d.ts +37 -29
- package/dist/react/hooks/index.js +33 -23
- package/dist/react/hooks/transactions/index.d.ts +2 -2
- package/dist/react/hooks/transactions/index.js +32 -22
- package/dist/react/hooks/ui/index.d.ts +4 -4
- package/dist/react/hooks/ui/index.js +32 -22
- package/dist/react/hooks/utils/index.d.ts +36 -28
- package/dist/react/hooks/utils/index.js +32 -22
- package/dist/react/index.d.ts +37 -29
- package/dist/react/index.js +33 -23
- package/dist/react/queries/collectibles/index.d.ts +11 -0
- package/dist/react/queries/collectibles/index.js +22 -0
- package/dist/react/queries/collections/index.d.ts +11 -0
- package/dist/react/queries/collections/index.js +20 -0
- package/dist/react/queries/index.d.ts +24 -16
- package/dist/react/queries/index.js +26 -16
- package/dist/react/queries/inventory/index.d.ts +3 -0
- package/dist/react/queries/inventory/index.js +22 -0
- package/dist/react/queries/market/index.d.ts +6 -0
- package/dist/react/queries/market/index.js +22 -0
- package/dist/react/queries/orders/index.d.ts +11 -0
- package/dist/react/queries/orders/index.js +13 -0
- package/dist/react/queries/primary-sales/index.d.ts +4 -0
- package/dist/react/queries/primary-sales/index.js +13 -0
- package/dist/react/queries/tokens/index.d.ts +5 -0
- package/dist/react/queries/tokens/index.js +13 -0
- package/dist/react/queries/utils/index.d.ts +4 -0
- package/dist/react/queries/utils/index.js +22 -0
- package/dist/react/ssr/index.d.ts +7 -7
- package/dist/react/ssr/index.js +8 -8
- package/dist/react/ssr/index.js.map +1 -1
- package/dist/react/ui/components/marketplace-collectible-card/components/footer/components/index.d.ts +2 -2
- package/dist/react/ui/components/marketplace-collectible-card/components/footer/components/index.js +16 -16
- package/dist/react/ui/components/marketplace-collectible-card/components/footer/index.d.ts +7 -10
- package/dist/react/ui/components/marketplace-collectible-card/components/footer/index.js +32 -22
- package/dist/react/ui/components/marketplace-collectible-card/index.d.ts +4 -4
- package/dist/react/ui/components/marketplace-collectible-card/index.js +32 -22
- package/dist/react/ui/components/marketplace-collectible-card/utils/index.d.ts +2 -2
- package/dist/react/ui/components/marketplace-collectible-card/utils/index.js +8 -8
- package/dist/react/ui/components/marketplace-logos/index.d.ts +21 -21
- package/dist/react/ui/components/marketplace-logos/index.js +1 -1
- package/dist/react/ui/icons/index.js +12 -12
- package/dist/react/ui/index.d.ts +4 -4
- package/dist/react/ui/index.js +32 -22
- package/dist/react/ui/modals/_internal/components/actionModal/index.d.ts +2 -2
- package/dist/react/ui/modals/_internal/components/actionModal/index.js +32 -22
- package/dist/react/utils/index.d.ts +3 -3
- package/dist/react/utils/index.js +6 -6
- package/dist/{react-BLJ4DkPx.js → react-CBsgOdVP.js} +1540 -474
- package/dist/react-CBsgOdVP.js.map +1 -0
- package/dist/{sequence-Bbb-TFKg.js → sequence-CRdb1yEs.js} +1 -1
- package/dist/{sequence-Bbb-TFKg.js.map → sequence-CRdb1yEs.js.map} +1 -1
- package/dist/styles/index.css +155 -1
- package/dist/{sudo-swap-CEPIM3Js.js → sudo-swap-BIklG2gq.js} +1 -1
- package/dist/{sudo-swap-CEPIM3Js.js.map → sudo-swap-BIklG2gq.js.map} +1 -1
- package/dist/{super-rare-CMEn9PoO.js → super-rare-h8645_5E.js} +1 -1
- package/dist/{super-rare-CMEn9PoO.js.map → super-rare-h8645_5E.js.map} +1 -1
- package/dist/{token-CcyLz8Z8.js → token-Cv7l2ZaL.js} +1 -1
- package/dist/{token-CcyLz8Z8.js.map → token-Cv7l2ZaL.js.map} +1 -1
- package/dist/tokenBalances-CouzNX4j.js +57 -0
- package/dist/tokenBalances-CouzNX4j.js.map +1 -0
- package/dist/tokenSupplies-C3zJll0M.d.ts +265 -0
- package/dist/tokens-BvIRUCGG.js +225 -0
- package/dist/tokens-BvIRUCGG.js.map +1 -0
- package/dist/transaction-DZUW5RHu.js.map +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.js +2 -2
- package/dist/types-B_-cnkcP.js.map +1 -1
- package/dist/{types-D6LkVrF0.d.ts → types-CMDwfhfR.d.ts} +6 -5
- package/dist/utils/abi/index.d.ts +5 -5
- package/dist/utils/abi/index.js +5 -5
- package/dist/utils/abi/marketplace/index.d.ts +1 -1
- package/dist/utils/abi/marketplace/index.js +1 -1
- 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 +1 -1
- package/dist/utils/abi/token/index.js +1 -1
- package/dist/utils/index.d.ts +7 -7
- package/dist/utils/index.js +11 -11
- package/dist/{utils-BZEkdqWK.js → utils-9ToOvt-c.js} +50 -7
- package/dist/utils-9ToOvt-c.js.map +1 -0
- package/dist/{utils-oVZxdK0o.js → utils-B6di6O-C.js} +2 -2
- package/dist/utils-B6di6O-C.js.map +1 -0
- package/dist/utils-BCYTEOvy.js +122 -0
- package/dist/utils-BCYTEOvy.js.map +1 -0
- package/dist/waitForTransactionReceipt-CbSeUSXe.js +26 -0
- package/dist/waitForTransactionReceipt-CbSeUSXe.js.map +1 -0
- package/dist/{x2y2-DNe6JgtG.js → x2y2-OvF__ugj.js} +1 -1
- package/dist/{x2y2-DNe6JgtG.js.map → x2y2-OvF__ugj.js.map} +1 -1
- package/dist/{zora-w0Zqxxs4.js → zora-DzCeu-eE.js} +1 -1
- package/dist/{zora-w0Zqxxs4.js.map → zora-DzCeu-eE.js.map} +1 -1
- package/package.json +46 -41
- package/src/react/_internal/api/__mocks__/marketplace.msw.ts +15 -0
- package/src/react/_internal/api/index.ts +0 -1
- package/src/react/_internal/api/marketplace.gen.ts +1774 -2383
- package/src/react/_internal/api/query-keys.ts +23 -0
- package/src/react/_internal/api/services.ts +1 -1
- package/src/react/_internal/databeat/types.ts +1 -0
- package/src/react/_internal/types.ts +14 -0
- package/src/react/_internal/utils.ts +3 -0
- package/src/react/hooks/config/useMarketplaceConfig.tsx +1 -1
- package/src/react/hooks/data/collectibles/useBalanceOfCollectible.tsx +1 -10
- package/src/react/hooks/data/collectibles/useCollectible.tsx +1 -1
- package/src/react/hooks/data/collectibles/useCountOfCollectables.tsx +1 -1
- package/src/react/hooks/data/collectibles/useListCollectibleActivities.tsx +1 -1
- package/src/react/hooks/data/collectibles/useListCollectibles.tsx +2 -17
- package/src/react/hooks/data/collectibles/useListCollectiblesPaginated.tsx +1 -1
- package/src/react/hooks/data/collectibles/useTokenBalances.tsx +1 -10
- package/src/react/hooks/data/collections/index.ts +2 -0
- package/src/react/hooks/data/collections/useCollection.tsx +1 -1
- package/src/react/hooks/data/collections/useCollectionActiveListingsCurrencies.test.tsx +112 -0
- package/src/react/hooks/data/collections/useCollectionActiveListingsCurrencies.tsx +74 -0
- package/src/react/hooks/data/collections/useCollectionActiveOffersCurrencies.test.tsx +110 -0
- package/src/react/hooks/data/collections/useCollectionActiveOffersCurrencies.tsx +74 -0
- package/src/react/hooks/data/collections/useCollectionBalanceDetails.tsx +1 -1
- package/src/react/hooks/data/collections/useCollectionDetails.ts +1 -1
- package/src/react/hooks/data/collections/useListCollectionActivities.tsx +1 -1
- package/src/react/hooks/data/collections/useListCollections.tsx +1 -1
- package/src/react/hooks/data/inventory/useInventory.tsx +2 -11
- package/src/react/hooks/data/market/useCurrency.tsx +1 -1
- package/src/react/hooks/data/market/useListMarketCardData.tsx +7 -0
- package/src/react/hooks/data/market/useMarketCurrencies.test.tsx +31 -2
- package/src/react/hooks/data/market/useMarketCurrencies.tsx +1 -1
- package/src/react/hooks/data/orders/index.ts +4 -0
- package/src/react/hooks/data/orders/useCountItemsOrdersForCollection.tsx +90 -0
- package/src/react/hooks/data/orders/useCountListingsForCollectible.tsx +1 -1
- package/src/react/hooks/data/orders/useCountOffersForCollectible.tsx +1 -1
- package/src/react/hooks/data/orders/useFloorOrder.tsx +1 -1
- package/src/react/hooks/data/orders/useGetCountOfFilteredOrders.tsx +39 -0
- package/src/react/hooks/data/orders/useHighestOffer.tsx +1 -1
- package/src/react/hooks/data/orders/useListItemsOrdersForCollection.tsx +93 -0
- package/src/react/hooks/data/orders/useListItemsOrdersForCollectionPaginated.tsx +108 -0
- package/src/react/hooks/data/orders/useListListingsForCollectible.tsx +1 -1
- package/src/react/hooks/data/orders/useListOffersForCollectible.tsx +1 -1
- package/src/react/hooks/data/orders/useLowestListing.tsx +1 -1
- package/src/react/hooks/data/primary-sales/index.ts +1 -0
- package/src/react/hooks/data/primary-sales/useGetCountOfPrimarySaleItems.tsx +2 -2
- package/src/react/hooks/data/primary-sales/useListPrimarySaleItems.tsx +1 -1
- package/src/react/hooks/data/primary-sales/usePrimarySaleItem.tsx +71 -0
- package/src/react/hooks/data/tokens/useGetTokenRanges.tsx +2 -2
- package/src/react/hooks/data/tokens/useListBalances.tsx +3 -12
- package/src/react/hooks/data/tokens/useListTokenMetadata.tsx +1 -1
- package/src/react/hooks/data/tokens/useSearchTokenMetadata.tsx +1 -1
- package/src/react/hooks/data/tokens/useTokenSupplies.ts +2 -14
- package/src/react/hooks/transactions/useGenerateCancelTransaction.test.tsx +1 -0
- package/src/react/hooks/transactions/useGenerateListingTransaction.test.tsx +13 -0
- package/src/react/hooks/transactions/useGenerateOfferTransaction.test.tsx +3 -0
- package/src/react/hooks/transactions/useGenerateSellTransaction.test.tsx +6 -0
- package/src/react/hooks/transactions/useProcessStep.test.tsx +8 -6
- package/src/react/hooks/transactions/useProcessStep.ts +8 -6
- package/src/react/hooks/ui/useFilterState.tsx +72 -2
- package/src/react/hooks/ui/useFilters.tsx +1 -1
- package/src/react/hooks/utils/useCheckoutOptions.tsx +2 -2
- package/src/react/hooks/utils/useCheckoutOptionsSalesContract.tsx +1 -1
- package/src/react/hooks/utils/useComparePrices.test.tsx +1 -1
- package/src/react/hooks/utils/useComparePrices.tsx +1 -1
- package/src/react/hooks/utils/useConvertPriceToUSD.tsx +1 -1
- package/src/react/providers/analytics-provider.tsx +45 -0
- package/src/react/providers/index.tsx +30 -41
- package/src/react/providers/modal-provider.tsx +14 -2
- package/src/react/queries/{balanceOfCollectible.ts → collectibles/balanceOfCollectible.ts} +23 -16
- package/src/react/queries/{collectible.ts → collectibles/collectible.ts} +20 -5
- package/src/react/queries/{countOfCollectables.ts → collectibles/countOfCollectables.ts} +32 -6
- package/src/react/queries/collectibles/index.ts +7 -0
- package/src/react/queries/{listCollectibleActivities.ts → collectibles/listCollectibleActivities.ts} +29 -5
- package/src/react/queries/{listCollectibles.ts → collectibles/listCollectibles.ts} +22 -56
- package/src/react/queries/{listCollectiblesPaginated.ts → collectibles/listCollectiblesPaginated.ts} +22 -5
- package/src/react/queries/{tokenBalances.ts → collectibles/tokenBalances.ts} +20 -16
- package/src/react/queries/collections/activeListingsCurrencies.ts +84 -0
- package/src/react/queries/collections/activeOffersCurrencies.ts +84 -0
- package/src/react/queries/{collection.ts → collections/collection.ts} +19 -5
- package/src/react/queries/{collectionBalanceDetails.ts → collections/collectionBalanceDetails.ts} +19 -4
- package/src/react/queries/{collectionDetails.ts → collections/collectionDetails.ts} +21 -6
- package/src/react/queries/collections/index.ts +7 -0
- package/src/react/queries/{listCollectionActivities.ts → collections/listCollectionActivities.ts} +28 -6
- package/src/react/queries/{listCollections.ts → collections/listCollections.ts} +17 -6
- package/src/react/queries/index.ts +7 -34
- package/src/react/queries/inventory/index.ts +1 -0
- package/src/react/queries/{inventory.ts → inventory/inventory.ts} +13 -14
- package/src/react/queries/{checkoutOptions.ts → market/checkoutOptions.ts} +28 -6
- package/src/react/queries/{checkoutOptionsSalesContract.ts → market/checkoutOptionsSalesContract.ts} +24 -5
- package/src/react/queries/{currency.ts → market/currency.ts} +13 -4
- package/src/react/queries/{filters.ts → market/filters.ts} +25 -6
- package/src/react/queries/market/index.ts +6 -0
- package/src/react/queries/{marketCurrencies.ts → market/marketCurrencies.ts} +32 -6
- package/src/react/queries/{marketplaceConfig.ts → market/marketplaceConfig.ts} +5 -5
- package/src/react/queries/orders/countItemsOrdersForCollection.ts +86 -0
- package/src/react/queries/{countListingsForCollectible.ts → orders/countListingsForCollectible.ts} +23 -6
- package/src/react/queries/{countOffersForCollectible.ts → orders/countOffersForCollectible.ts} +23 -6
- package/src/react/queries/{floorOrder.ts → orders/floorOrder.ts} +15 -4
- package/src/react/queries/orders/getCountOfFilteredOrders.ts +88 -0
- package/src/react/queries/{highestOffer.ts → orders/highestOffer.ts} +16 -4
- package/src/react/queries/orders/index.ts +11 -0
- package/src/react/queries/orders/listItemsOrdersForCollection.ts +90 -0
- package/src/react/queries/orders/listItemsOrdersForCollectionPaginated.ts +90 -0
- package/src/react/queries/{listListingsForCollectible.ts → orders/listListingsForCollectible.ts} +20 -5
- package/src/react/queries/{listOffersForCollectible.ts → orders/listOffersForCollectible.ts} +20 -5
- package/src/react/queries/{lowestListing.ts → orders/lowestListing.ts} +16 -4
- package/src/react/queries/{countOfPrimarySaleItems.ts → primary-sales/countOfPrimarySaleItems.ts} +17 -3
- package/src/react/queries/primary-sales/index.ts +4 -0
- package/src/react/queries/primary-sales/primarySaleItem.ts +80 -0
- package/src/react/queries/{primarySaleItems.ts → primary-sales/primarySaleItems.ts} +18 -4
- package/src/react/queries/{primarySaleItemsCount.ts → primary-sales/primarySaleItemsCount.ts} +19 -4
- package/src/react/queries/{getTokenRanges.ts → tokens/getTokenRanges.ts} +17 -4
- package/src/react/queries/tokens/index.ts +5 -0
- package/src/react/queries/{listBalances.ts → tokens/listBalances.ts} +17 -22
- package/src/react/queries/{listTokenMetadata.ts → tokens/listTokenMetadata.ts} +18 -4
- package/src/react/queries/{searchTokenMetadata.ts → tokens/searchTokenMetadata.ts} +18 -4
- package/src/react/queries/{tokenSupplies.ts → tokens/tokenSupplies.ts} +17 -34
- package/src/react/queries/{comparePrices.ts → utils/comparePrices.ts} +29 -5
- package/src/react/queries/{convertPriceToUSD.ts → utils/convertPriceToUSD.ts} +18 -5
- package/src/react/queries/utils/index.ts +2 -0
- package/src/react/ssr/create-ssr-client.ts +1 -1
- package/src/react/ui/components/_internals/ErrorLogBox.tsx +85 -0
- package/src/react/ui/components/_internals/action-button/ActionButton.stories.tsx +2 -0
- package/src/react/ui/components/_internals/action-button/ActionButton.tsx +4 -0
- package/src/react/ui/components/_internals/action-button/components/NonOwnerActions.tsx +4 -0
- package/src/react/ui/components/marketplace-collectible-card/components/ActionButtonWrapper.tsx +3 -0
- package/src/react/ui/components/marketplace-collectible-card/components/footer/Footer.tsx +4 -18
- package/src/react/ui/components/marketplace-collectible-card/types.ts +1 -0
- package/src/react/ui/components/marketplace-collectible-card/variants/MarketCard.tsx +5 -2
- package/src/react/ui/components/marketplace-collectible-card/variants/ShopCard.tsx +2 -2
- package/src/react/ui/modals/BuyModal/__tests__/BuyModalRouter.test.tsx +3 -0
- package/src/react/ui/modals/BuyModal/__tests__/Modal1155.test.tsx +1 -0
- package/src/react/ui/modals/BuyModal/components/ERC1155BuyModal.tsx +65 -3
- package/src/react/ui/modals/BuyModal/components/ERC721BuyModal.tsx +31 -0
- package/src/react/ui/modals/BuyModal/hooks/__tests__/useERC721SalePaymentParams.test.tsx +20 -1
- package/src/react/ui/modals/BuyModal/hooks/useERC1155Checkout.ts +7 -2
- package/src/react/ui/modals/BuyModal/hooks/useERC721SalePaymentParams.ts +12 -3
- package/src/react/ui/modals/BuyModal/hooks/usePaymentModalParams.ts +11 -25
- package/src/react/ui/modals/BuyModal/store.ts +3 -0
- package/src/react/ui/modals/CreateListingModal/Modal.tsx +63 -24
- package/src/react/ui/modals/CreateListingModal/__tests__/Modal.test.tsx +4 -0
- package/src/react/ui/modals/CreateListingModal/hooks/useCreateListing.tsx +18 -12
- package/src/react/ui/modals/CreateListingModal/hooks/useGetTokenApproval.ts +4 -1
- package/src/react/ui/modals/CreateListingModal/hooks/useTransactionSteps.tsx +1 -0
- package/src/react/ui/modals/MakeOfferModal/Modal.tsx +77 -10
- package/src/react/ui/modals/MakeOfferModal/__tests__/Modal.test.tsx +12 -0
- package/src/react/ui/modals/MakeOfferModal/hooks/useGetTokenApproval.tsx +6 -1
- package/src/react/ui/modals/MakeOfferModal/hooks/useMakeOffer.tsx +15 -26
- package/src/react/ui/modals/MakeOfferModal/hooks/useTransactionSteps.tsx +3 -0
- package/src/react/ui/modals/SellModal/Modal.tsx +21 -3
- package/src/react/ui/modals/SellModal/__tests__/Modal.test.tsx +2 -0
- package/src/react/ui/modals/SellModal/hooks/useGetTokenApproval.tsx +3 -1
- package/src/react/ui/modals/SellModal/hooks/useSell.tsx +13 -7
- package/src/react/ui/modals/SuccessfulPurchaseModal/__tests__/Modal.test.tsx +9 -0
- package/src/react/ui/modals/_internal/components/calendarDropdown/TimeSelector.tsx +105 -0
- package/src/react/ui/modals/_internal/components/calendarDropdown/index.tsx +45 -12
- package/src/react/ui/modals/_internal/components/calendarDropdown/overrides.css +39 -0
- package/src/react/ui/modals/_internal/components/currencyOptionsSelect/index.tsx +34 -10
- package/src/react/ui/modals/_internal/components/expirationDateSelect/index.tsx +18 -9
- package/src/react/ui/modals/_internal/components/floorPriceText/__tests__/FloorPriceText.test.tsx +2 -0
- package/src/react/ui/modals/_internal/components/floorPriceText/index.tsx +1 -1
- package/src/react/ui/modals/_internal/components/priceInput/index.tsx +198 -11
- package/src/react/ui/modals/_internal/components/transactionDetails/index.tsx +58 -10
- package/src/react/ui/modals/_internal/components/transactionStatusModal/__tests__/utils.test.ts +2 -0
- package/src/react/utils/waitForTransactionReceipt.ts +26 -32
- package/src/styles/index.css +1 -0
- package/src/styles/styles.ts +156 -2
- package/src/types/index.ts +1 -1
- package/src/utils/abi/index.ts +1 -0
- package/src/utils/abi/mainModule.ts +158 -0
- package/src/utils/networkconfigToWagmiChain.ts +7 -0
- package/src/utils/price.ts +58 -0
- package/test/const.ts +2 -0
- package/test/server-setup.ts +0 -2
- package/dist/BellIcon-IpHHEy8h.js.map +0 -1
- package/dist/CartIcon-C8zbor8H.js.map +0 -1
- package/dist/CollectibleCard-C2EWF0zo.d.ts +0 -8
- package/dist/api-DuLKn__v.js.map +0 -1
- package/dist/builder-api-BFuZNOaN.js.map +0 -1
- package/dist/builder.gen-B9wR2nvF.js.map +0 -1
- package/dist/components-CUv-wQr8.js.map +0 -1
- package/dist/create-config-CIfejoCk.js.map +0 -1
- package/dist/filters-zkMJaPey.d.ts +0 -31
- package/dist/index-B8vaT3_s.d.ts +0 -18
- package/dist/index-Yobo6icm.d.ts +0 -234
- package/dist/listCollectiblesPaginated-Bq0QSOjJ.d.ts +0 -168
- package/dist/listCollections-dTCq00l5.d.ts +0 -669
- package/dist/lowestListing-CB5Te-Q9.d.ts +0 -168
- package/dist/marketplace-logos-Csv2MBwf.js.map +0 -1
- package/dist/marketplace.gen-w2YvbEEo.js.map +0 -1
- package/dist/marketplaceConfig-BTy75Mbf.js.map +0 -1
- package/dist/network-DtmiMhcg.js.map +0 -1
- package/dist/networkconfigToWagmiChain-DbUf6HiO.js.map +0 -1
- package/dist/queries-EMA5CcwY.js +0 -1399
- package/dist/queries-EMA5CcwY.js.map +0 -1
- package/dist/react-BLJ4DkPx.js.map +0 -1
- package/dist/react-F03jPjPk.css +0 -80
- package/dist/react-F03jPjPk.css.map +0 -1
- package/dist/tokenSupplies-C470zTT0.d.ts +0 -147
- package/dist/utils-BZEkdqWK.js.map +0 -1
- package/dist/utils-oVZxdK0o.js.map +0 -1
- package/dist/waitForTransactionReceipt-B08YZiDY.js +0 -26
- package/dist/waitForTransactionReceipt-B08YZiDY.js.map +0 -1
- package/src/react/_internal/api/__mocks__/laos.msw.ts +0 -387
- package/src/react/_internal/api/__tests__/laos-api.test.ts +0 -756
- package/src/react/_internal/api/laos-api.ts +0 -106
- package/src/react/hooks/data/collectibles/useBalanceOfCollectible.laos.test.tsx +0 -367
- package/src/react/queries/__tests__/balanceOfCollectible.laos.test.ts +0 -123
- package/src/react/queries/__tests__/inventory.laos.test.ts +0 -499
- package/src/react/queries/__tests__/tokenBalances.laos.test.ts +0 -123
- /package/dist/{index-Cg5cFzs-.d.ts → index-CCggO_hw.d.ts} +0 -0
- /package/dist/{abi-DYsUABe6.js → queries-CyajGg_O.js} +0 -0
|
@@ -28,6 +28,8 @@ class CollectableKeys {
|
|
|
28
28
|
static listings = [...CollectableKeys.all, 'listings'] as const;
|
|
29
29
|
static listingsCount = [...CollectableKeys.all, 'listingsCount'] as const;
|
|
30
30
|
static listPrimarySaleItems = ['listPrimarySaleItems'] as const;
|
|
31
|
+
static primarySaleItem = ['primarySaleItem'] as const;
|
|
32
|
+
static primarySaleItemsCount = ['primarySaleItemsCount'] as const;
|
|
31
33
|
static filter = [...CollectableKeys.all, 'filter'] as const;
|
|
32
34
|
static counts = [...CollectableKeys.all, 'counts'] as const;
|
|
33
35
|
static collectibleActivities = [
|
|
@@ -45,6 +47,26 @@ class CollectionKeys {
|
|
|
45
47
|
...CollectionKeys.all,
|
|
46
48
|
'collectionActivities',
|
|
47
49
|
] as const;
|
|
50
|
+
static collectionItemsOrders = [
|
|
51
|
+
...CollectionKeys.all,
|
|
52
|
+
'collectionItemsOrders',
|
|
53
|
+
] as const;
|
|
54
|
+
static collectionItemsOrdersCount = [
|
|
55
|
+
...CollectionKeys.all,
|
|
56
|
+
'collectionItemsOrdersCount',
|
|
57
|
+
] as const;
|
|
58
|
+
static getCountOfFilteredOrders = [
|
|
59
|
+
...CollectionKeys.all,
|
|
60
|
+
'getCountOfFilteredOrders',
|
|
61
|
+
] as const;
|
|
62
|
+
static activeListingsCurrencies = [
|
|
63
|
+
...CollectionKeys.all,
|
|
64
|
+
'activeListingsCurrencies',
|
|
65
|
+
] as const;
|
|
66
|
+
static activeOffersCurrencies = [
|
|
67
|
+
...CollectionKeys.all,
|
|
68
|
+
'activeOffersCurrencies',
|
|
69
|
+
] as const;
|
|
48
70
|
}
|
|
49
71
|
|
|
50
72
|
// biome-ignore lint/complexity/noStaticOnlyClass: static class provides better organization and type safety for query keys
|
|
@@ -84,6 +106,7 @@ class TokenKeys {
|
|
|
84
106
|
static all = ['tokens'] as const;
|
|
85
107
|
static metadata = [...TokenKeys.all, 'metadata'] as const;
|
|
86
108
|
static supplies = [...TokenKeys.all, 'supplies'] as const;
|
|
109
|
+
static ranges = [...TokenKeys.all, 'ranges'] as const;
|
|
87
110
|
}
|
|
88
111
|
|
|
89
112
|
// biome-ignore lint/complexity/noStaticOnlyClass: static class provides better organization and type safety for query keys
|
|
@@ -33,7 +33,7 @@ const indexerURL = (chain: ChainNameOrId, env: Env = 'production') => {
|
|
|
33
33
|
return stringTemplate(SERVICES.indexer, { network: network, prefix });
|
|
34
34
|
};
|
|
35
35
|
|
|
36
|
-
const marketplaceApiURL = (env: Env = 'production') => {
|
|
36
|
+
export const marketplaceApiURL = (env: Env = 'production') => {
|
|
37
37
|
const prefix = getPrefix(env);
|
|
38
38
|
return stringTemplate(SERVICES.marketplaceApi, { prefix });
|
|
39
39
|
};
|
|
@@ -61,4 +61,18 @@ export type ValuesOptional<T> = {
|
|
|
61
61
|
[K in keyof T]: T[K] | undefined;
|
|
62
62
|
};
|
|
63
63
|
|
|
64
|
+
export type RequiredKeys<T> = {
|
|
65
|
+
[K in keyof T]-?: T[K];
|
|
66
|
+
};
|
|
67
|
+
|
|
68
|
+
export type QueryKeyArgs<T> = {
|
|
69
|
+
[K in keyof Required<T>]: T[K] | undefined;
|
|
70
|
+
};
|
|
71
|
+
|
|
64
72
|
export type Optional<T, K extends keyof T> = Pick<Partial<T>, K> & Omit<T, K>;
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* Extracts only API-relevant fields from query params, excluding SDK config and query options
|
|
76
|
+
* Converts optional properties (prop?: T) to explicit union types (prop: T | undefined)
|
|
77
|
+
*/
|
|
78
|
+
export type ApiArgs<T> = ValuesOptional<Omit<T, 'config' | 'query'>>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { useQuery } from '@tanstack/react-query';
|
|
2
|
-
import { marketplaceConfigOptions } from '../../queries/marketplaceConfig';
|
|
2
|
+
import { marketplaceConfigOptions } from '../../queries/market/marketplaceConfig';
|
|
3
3
|
import { useConfig } from '../config/useConfig';
|
|
4
4
|
|
|
5
5
|
export const useMarketplaceConfig = () => {
|
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
import { useQuery } from '@tanstack/react-query';
|
|
2
|
-
import { ContractType } from '../../../_internal';
|
|
3
2
|
import {
|
|
4
3
|
balanceOfCollectibleOptions,
|
|
5
4
|
type UseBalanceOfCollectibleArgs,
|
|
6
|
-
} from '../../../queries/balanceOfCollectible';
|
|
5
|
+
} from '../../../queries/collectibles/balanceOfCollectible';
|
|
7
6
|
import { useConfig } from '../../config/useConfig';
|
|
8
|
-
import { useMarketplaceConfig } from '../../config/useMarketplaceConfig';
|
|
9
7
|
|
|
10
8
|
/**
|
|
11
9
|
* Hook to fetch the balance of a specific collectible for a user
|
|
@@ -29,18 +27,11 @@ import { useMarketplaceConfig } from '../../config/useMarketplaceConfig';
|
|
|
29
27
|
*/
|
|
30
28
|
export function useBalanceOfCollectible(args: UseBalanceOfCollectibleArgs) {
|
|
31
29
|
const config = useConfig();
|
|
32
|
-
const { data: marketplaceConfig } = useMarketplaceConfig();
|
|
33
|
-
|
|
34
|
-
const collection = marketplaceConfig?.market.collections.find(
|
|
35
|
-
(collection) => collection.itemsAddress === args.collectionAddress,
|
|
36
|
-
);
|
|
37
|
-
const isLaos721 = collection?.contractType === ContractType.LAOS_ERC_721;
|
|
38
30
|
|
|
39
31
|
return useQuery(
|
|
40
32
|
balanceOfCollectibleOptions(
|
|
41
33
|
{
|
|
42
34
|
...args,
|
|
43
|
-
isLaos721,
|
|
44
35
|
},
|
|
45
36
|
config,
|
|
46
37
|
),
|
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
type CollectibleQueryOptions,
|
|
7
7
|
collectibleQueryOptions,
|
|
8
8
|
type FetchCollectibleParams,
|
|
9
|
-
} from '../../../queries/collectible';
|
|
9
|
+
} from '../../../queries/collectibles/collectible';
|
|
10
10
|
import { useConfig } from '../../config/useConfig';
|
|
11
11
|
|
|
12
12
|
export type UseCollectibleParams = Optional<CollectibleQueryOptions, 'config'>;
|
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
type CountOfCollectablesQueryOptions,
|
|
7
7
|
countOfCollectablesQueryOptions,
|
|
8
8
|
type FetchCountOfCollectablesParams,
|
|
9
|
-
} from '../../../queries/countOfCollectables';
|
|
9
|
+
} from '../../../queries/collectibles/countOfCollectables';
|
|
10
10
|
import { useConfig } from '../../config/useConfig';
|
|
11
11
|
|
|
12
12
|
export type UseCountOfCollectablesParams = Optional<
|
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
type fetchListCollectibleActivities,
|
|
8
8
|
type ListCollectibleActivitiesQueryOptions,
|
|
9
9
|
listCollectibleActivitiesQueryOptions,
|
|
10
|
-
} from '../../../queries/listCollectibleActivities';
|
|
10
|
+
} from '../../../queries/collectibles/listCollectibleActivities';
|
|
11
11
|
import { useConfig } from '../../config/useConfig';
|
|
12
12
|
|
|
13
13
|
export type UseListCollectibleActivitiesParams = Optional<
|
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
type FetchListCollectiblesParams,
|
|
7
7
|
type ListCollectiblesQueryOptions,
|
|
8
8
|
listCollectiblesQueryOptions,
|
|
9
|
-
} from '../../../queries/listCollectibles';
|
|
9
|
+
} from '../../../queries/collectibles/listCollectibles';
|
|
10
10
|
import { useConfig } from '../../config/useConfig';
|
|
11
11
|
|
|
12
12
|
export type UseListCollectiblesParams = Optional<
|
|
@@ -18,14 +18,13 @@ export type UseListCollectiblesParams = Optional<
|
|
|
18
18
|
* Hook to fetch a list of collectibles with infinite pagination support
|
|
19
19
|
*
|
|
20
20
|
* Fetches collectibles from the marketplace with support for filtering, pagination,
|
|
21
|
-
* and special handling for shop marketplace types
|
|
21
|
+
* and special handling for shop marketplace types.
|
|
22
22
|
*
|
|
23
23
|
* @param params - Configuration parameters
|
|
24
24
|
* @param params.chainId - The chain ID (must be number, e.g., 1 for Ethereum, 137 for Polygon)
|
|
25
25
|
* @param params.collectionAddress - The collection contract address
|
|
26
26
|
* @param params.side - Order side (listing or bid)
|
|
27
27
|
* @param params.filter - Optional filtering parameters
|
|
28
|
-
* @param params.isLaos721 - Whether the collection is a LAOS721 contract
|
|
29
28
|
* @param params.marketplaceType - Type of marketplace (shop, etc.)
|
|
30
29
|
* @param params.query - Optional React Query configuration
|
|
31
30
|
*
|
|
@@ -55,20 +54,6 @@ export type UseListCollectiblesParams = Optional<
|
|
|
55
54
|
* }
|
|
56
55
|
* })
|
|
57
56
|
* ```
|
|
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
|
-
* })
|
|
71
|
-
* ```
|
|
72
57
|
*/
|
|
73
58
|
export function useListCollectibles(params: UseListCollectiblesParams) {
|
|
74
59
|
const defaultConfig = useConfig();
|
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
type fetchListCollectiblesPaginated,
|
|
8
8
|
type ListCollectiblesPaginatedQueryOptions,
|
|
9
9
|
listCollectiblesPaginatedQueryOptions,
|
|
10
|
-
} from '../../../queries/listCollectiblesPaginated';
|
|
10
|
+
} from '../../../queries/collectibles/listCollectiblesPaginated';
|
|
11
11
|
import { useConfig } from '../../config/useConfig';
|
|
12
12
|
|
|
13
13
|
export type UseListCollectiblesPaginatedParams = Optional<
|
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
import { useQuery } from '@tanstack/react-query';
|
|
2
|
-
import { ContractType } from '../../../_internal';
|
|
3
2
|
import {
|
|
4
3
|
tokenBalancesOptions,
|
|
5
4
|
type UseTokenBalancesArgs,
|
|
6
|
-
} from '../../../queries/tokenBalances';
|
|
5
|
+
} from '../../../queries/collectibles/tokenBalances';
|
|
7
6
|
import { useConfig } from '../../config/useConfig';
|
|
8
|
-
import { useMarketplaceConfig } from '../../config/useMarketplaceConfig';
|
|
9
7
|
|
|
10
8
|
/**
|
|
11
9
|
* Hook to fetch all token balances for a user in a collection
|
|
@@ -28,18 +26,11 @@ import { useMarketplaceConfig } from '../../config/useMarketplaceConfig';
|
|
|
28
26
|
*/
|
|
29
27
|
export function useTokenBalances(args: UseTokenBalancesArgs) {
|
|
30
28
|
const config = useConfig();
|
|
31
|
-
const { data: marketplaceConfig } = useMarketplaceConfig();
|
|
32
|
-
|
|
33
|
-
const collection = marketplaceConfig?.market.collections.find(
|
|
34
|
-
(collection) => collection.itemsAddress === args.collectionAddress,
|
|
35
|
-
);
|
|
36
|
-
const isLaos721 = collection?.contractType === ContractType.LAOS_ERC_721;
|
|
37
29
|
|
|
38
30
|
return useQuery(
|
|
39
31
|
tokenBalancesOptions(
|
|
40
32
|
{
|
|
41
33
|
...args,
|
|
42
|
-
isLaos721,
|
|
43
34
|
},
|
|
44
35
|
config,
|
|
45
36
|
),
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
export * from './useCollection';
|
|
2
|
+
export * from './useCollectionActiveListingsCurrencies';
|
|
3
|
+
export * from './useCollectionActiveOffersCurrencies';
|
|
2
4
|
export * from './useCollectionBalanceDetails';
|
|
3
5
|
export * from './useCollectionDetails';
|
|
4
6
|
export * from './useCollectionDetailsPolling';
|
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
type CollectionQueryOptions,
|
|
7
7
|
collectionQueryOptions,
|
|
8
8
|
type FetchCollectionParams,
|
|
9
|
-
} from '../../../queries/collection';
|
|
9
|
+
} from '../../../queries/collections/collection';
|
|
10
10
|
import { useConfig } from '../../config/useConfig';
|
|
11
11
|
|
|
12
12
|
export type UseCollectionParams = Optional<CollectionQueryOptions, 'config'>;
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import { renderHook, server, waitFor } from '@test';
|
|
2
|
+
import { HttpResponse, http } from 'msw';
|
|
3
|
+
import { zeroAddress } from 'viem';
|
|
4
|
+
import { describe, expect, it } from 'vitest';
|
|
5
|
+
import {
|
|
6
|
+
mockCurrencies,
|
|
7
|
+
mockMarketplaceEndpoint,
|
|
8
|
+
} from '../../../_internal/api/__mocks__/marketplace.msw';
|
|
9
|
+
import type { UseCollectionActiveListingsCurrenciesParams } from './useCollectionActiveListingsCurrencies';
|
|
10
|
+
import { useCollectionActiveListingsCurrencies } from './useCollectionActiveListingsCurrencies';
|
|
11
|
+
|
|
12
|
+
describe('useCollectionActiveListingsCurrencies', () => {
|
|
13
|
+
const defaultArgs: UseCollectionActiveListingsCurrenciesParams = {
|
|
14
|
+
chainId: 1,
|
|
15
|
+
collectionAddress: zeroAddress,
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
it('should fetch active listings currencies data successfully', async () => {
|
|
19
|
+
const { result } = renderHook(() =>
|
|
20
|
+
useCollectionActiveListingsCurrencies(defaultArgs),
|
|
21
|
+
);
|
|
22
|
+
|
|
23
|
+
// Initially loading
|
|
24
|
+
expect(result.current.isLoading).toBe(true);
|
|
25
|
+
expect(result.current.data).toBeUndefined();
|
|
26
|
+
|
|
27
|
+
// Wait for data to be loaded
|
|
28
|
+
await waitFor(() => {
|
|
29
|
+
expect(result.current.isLoading).toBe(false);
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
// Verify the data matches our mock
|
|
33
|
+
expect(result.current.data).toEqual(mockCurrencies);
|
|
34
|
+
expect(result.current.error).toBeNull();
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
it('should handle error states', async () => {
|
|
38
|
+
// Override the handler for this test to return an error
|
|
39
|
+
server.use(
|
|
40
|
+
http.post(
|
|
41
|
+
mockMarketplaceEndpoint('GetCollectionActiveListingsCurrencies'),
|
|
42
|
+
() => {
|
|
43
|
+
return HttpResponse.json(
|
|
44
|
+
{
|
|
45
|
+
error: { message: 'Failed to fetch active listings currencies' },
|
|
46
|
+
},
|
|
47
|
+
{ status: 500 },
|
|
48
|
+
);
|
|
49
|
+
},
|
|
50
|
+
),
|
|
51
|
+
);
|
|
52
|
+
|
|
53
|
+
const { result } = renderHook(() =>
|
|
54
|
+
useCollectionActiveListingsCurrencies(defaultArgs),
|
|
55
|
+
);
|
|
56
|
+
|
|
57
|
+
await waitFor(() => {
|
|
58
|
+
expect(result.current.isError).toBe(true);
|
|
59
|
+
});
|
|
60
|
+
|
|
61
|
+
expect(result.current.error).toBeDefined();
|
|
62
|
+
expect(result.current.data).toBeUndefined();
|
|
63
|
+
});
|
|
64
|
+
|
|
65
|
+
it('should refetch when args change', async () => {
|
|
66
|
+
const { result, rerender } = renderHook(() =>
|
|
67
|
+
useCollectionActiveListingsCurrencies(defaultArgs),
|
|
68
|
+
);
|
|
69
|
+
|
|
70
|
+
// Wait for initial data
|
|
71
|
+
await waitFor(() => {
|
|
72
|
+
expect(result.current.isLoading).toBe(false);
|
|
73
|
+
});
|
|
74
|
+
|
|
75
|
+
// Change args and rerender
|
|
76
|
+
const newArgs = {
|
|
77
|
+
...defaultArgs,
|
|
78
|
+
collectionAddress:
|
|
79
|
+
'0x1234567890123456789012345678901234567890' as `0x${string}`,
|
|
80
|
+
};
|
|
81
|
+
|
|
82
|
+
rerender(() => useCollectionActiveListingsCurrencies(newArgs));
|
|
83
|
+
|
|
84
|
+
// Wait for new data
|
|
85
|
+
await waitFor(() => {
|
|
86
|
+
expect(result.current.data).toBeDefined();
|
|
87
|
+
});
|
|
88
|
+
|
|
89
|
+
// Verify that the query was refetched with new args
|
|
90
|
+
expect(result.current.data).toBeDefined();
|
|
91
|
+
expect(result.current.isSuccess).toBe(true);
|
|
92
|
+
});
|
|
93
|
+
|
|
94
|
+
it('should handle undefined query params', async () => {
|
|
95
|
+
const argsWithoutQuery: UseCollectionActiveListingsCurrenciesParams = {
|
|
96
|
+
chainId: 1,
|
|
97
|
+
collectionAddress: zeroAddress,
|
|
98
|
+
query: {},
|
|
99
|
+
};
|
|
100
|
+
|
|
101
|
+
const { result } = renderHook(() =>
|
|
102
|
+
useCollectionActiveListingsCurrencies(argsWithoutQuery),
|
|
103
|
+
);
|
|
104
|
+
|
|
105
|
+
await waitFor(() => {
|
|
106
|
+
expect(result.current.isLoading).toBe(false);
|
|
107
|
+
});
|
|
108
|
+
|
|
109
|
+
expect(result.current.data).toBeDefined();
|
|
110
|
+
expect(result.current.error).toBeNull();
|
|
111
|
+
});
|
|
112
|
+
});
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import { useQuery } from '@tanstack/react-query';
|
|
4
|
+
import type { Optional } from '../../../_internal';
|
|
5
|
+
import {
|
|
6
|
+
type CollectionActiveListingsCurrenciesQueryOptions,
|
|
7
|
+
collectionActiveListingsCurrenciesQueryOptions,
|
|
8
|
+
type FetchCollectionActiveListingsCurrenciesParams,
|
|
9
|
+
} from '../../../queries/collections/activeListingsCurrencies';
|
|
10
|
+
import { useConfig } from '../../config/useConfig';
|
|
11
|
+
|
|
12
|
+
export type UseCollectionActiveListingsCurrenciesParams = Optional<
|
|
13
|
+
CollectionActiveListingsCurrenciesQueryOptions,
|
|
14
|
+
'config'
|
|
15
|
+
>;
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Hook to fetch the active listings currencies for a collection
|
|
19
|
+
*
|
|
20
|
+
* Retrieves all currencies that are currently being used in active listings
|
|
21
|
+
* for a specific collection from the marketplace.
|
|
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.query - Optional React Query configuration
|
|
27
|
+
*
|
|
28
|
+
* @returns Query result containing the array of currencies used in active listings
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* Basic usage:
|
|
32
|
+
* ```typescript
|
|
33
|
+
* const { data, isLoading } = useCollectionActiveListingsCurrencies({
|
|
34
|
+
* chainId: 137,
|
|
35
|
+
* collectionAddress: '0x...'
|
|
36
|
+
* })
|
|
37
|
+
* ```
|
|
38
|
+
*
|
|
39
|
+
* @example
|
|
40
|
+
* With custom query options:
|
|
41
|
+
* ```typescript
|
|
42
|
+
* const { data, isLoading } = useCollectionActiveListingsCurrencies({
|
|
43
|
+
* chainId: 1,
|
|
44
|
+
* collectionAddress: '0x...',
|
|
45
|
+
* query: {
|
|
46
|
+
* refetchInterval: 30000,
|
|
47
|
+
* enabled: hasCollectionAddress
|
|
48
|
+
* }
|
|
49
|
+
* })
|
|
50
|
+
* ```
|
|
51
|
+
*/
|
|
52
|
+
export function useCollectionActiveListingsCurrencies(
|
|
53
|
+
params: UseCollectionActiveListingsCurrenciesParams,
|
|
54
|
+
) {
|
|
55
|
+
const defaultConfig = useConfig();
|
|
56
|
+
|
|
57
|
+
const { config = defaultConfig, ...rest } = params;
|
|
58
|
+
|
|
59
|
+
const queryOptions = collectionActiveListingsCurrenciesQueryOptions({
|
|
60
|
+
config,
|
|
61
|
+
...rest,
|
|
62
|
+
});
|
|
63
|
+
|
|
64
|
+
return useQuery({
|
|
65
|
+
...queryOptions,
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
export { collectionActiveListingsCurrenciesQueryOptions };
|
|
70
|
+
|
|
71
|
+
export type {
|
|
72
|
+
FetchCollectionActiveListingsCurrenciesParams,
|
|
73
|
+
CollectionActiveListingsCurrenciesQueryOptions,
|
|
74
|
+
};
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { renderHook, server, waitFor } from '@test';
|
|
2
|
+
import { HttpResponse, http } from 'msw';
|
|
3
|
+
import { zeroAddress } from 'viem';
|
|
4
|
+
import { describe, expect, it } from 'vitest';
|
|
5
|
+
import {
|
|
6
|
+
mockCurrencies,
|
|
7
|
+
mockMarketplaceEndpoint,
|
|
8
|
+
} from '../../../_internal/api/__mocks__/marketplace.msw';
|
|
9
|
+
import type { UseCollectionActiveOffersCurrenciesParams } from './useCollectionActiveOffersCurrencies';
|
|
10
|
+
import { useCollectionActiveOffersCurrencies } from './useCollectionActiveOffersCurrencies';
|
|
11
|
+
|
|
12
|
+
describe('useCollectionActiveOffersCurrencies', () => {
|
|
13
|
+
const defaultArgs: UseCollectionActiveOffersCurrenciesParams = {
|
|
14
|
+
chainId: 1,
|
|
15
|
+
collectionAddress: zeroAddress,
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
it('should fetch active offers currencies data successfully', async () => {
|
|
19
|
+
const { result } = renderHook(() =>
|
|
20
|
+
useCollectionActiveOffersCurrencies(defaultArgs),
|
|
21
|
+
);
|
|
22
|
+
|
|
23
|
+
// Initially loading
|
|
24
|
+
expect(result.current.isLoading).toBe(true);
|
|
25
|
+
expect(result.current.data).toBeUndefined();
|
|
26
|
+
|
|
27
|
+
// Wait for data to be loaded
|
|
28
|
+
await waitFor(() => {
|
|
29
|
+
expect(result.current.isLoading).toBe(false);
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
// Verify the data matches our mock
|
|
33
|
+
expect(result.current.data).toEqual(mockCurrencies);
|
|
34
|
+
expect(result.current.error).toBeNull();
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
it('should handle error states', async () => {
|
|
38
|
+
// Override the handler for this test to return an error
|
|
39
|
+
server.use(
|
|
40
|
+
http.post(
|
|
41
|
+
mockMarketplaceEndpoint('GetCollectionActiveOffersCurrencies'),
|
|
42
|
+
() => {
|
|
43
|
+
return HttpResponse.json(
|
|
44
|
+
{ error: { message: 'Failed to fetch active offers currencies' } },
|
|
45
|
+
{ status: 500 },
|
|
46
|
+
);
|
|
47
|
+
},
|
|
48
|
+
),
|
|
49
|
+
);
|
|
50
|
+
|
|
51
|
+
const { result } = renderHook(() =>
|
|
52
|
+
useCollectionActiveOffersCurrencies(defaultArgs),
|
|
53
|
+
);
|
|
54
|
+
|
|
55
|
+
await waitFor(() => {
|
|
56
|
+
expect(result.current.isError).toBe(true);
|
|
57
|
+
});
|
|
58
|
+
|
|
59
|
+
expect(result.current.error).toBeDefined();
|
|
60
|
+
expect(result.current.data).toBeUndefined();
|
|
61
|
+
});
|
|
62
|
+
|
|
63
|
+
it('should refetch when args change', async () => {
|
|
64
|
+
const { result, rerender } = renderHook(() =>
|
|
65
|
+
useCollectionActiveOffersCurrencies(defaultArgs),
|
|
66
|
+
);
|
|
67
|
+
|
|
68
|
+
// Wait for initial data
|
|
69
|
+
await waitFor(() => {
|
|
70
|
+
expect(result.current.isLoading).toBe(false);
|
|
71
|
+
});
|
|
72
|
+
|
|
73
|
+
// Change args and rerender
|
|
74
|
+
const newArgs = {
|
|
75
|
+
...defaultArgs,
|
|
76
|
+
collectionAddress:
|
|
77
|
+
'0x1234567890123456789012345678901234567890' as `0x${string}`,
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
rerender(() => useCollectionActiveOffersCurrencies(newArgs));
|
|
81
|
+
|
|
82
|
+
// Wait for new data
|
|
83
|
+
await waitFor(() => {
|
|
84
|
+
expect(result.current.data).toBeDefined();
|
|
85
|
+
});
|
|
86
|
+
|
|
87
|
+
// Verify that the query was refetched with new args
|
|
88
|
+
expect(result.current.data).toBeDefined();
|
|
89
|
+
expect(result.current.isSuccess).toBe(true);
|
|
90
|
+
});
|
|
91
|
+
|
|
92
|
+
it('should handle undefined query params', async () => {
|
|
93
|
+
const argsWithoutQuery: UseCollectionActiveOffersCurrenciesParams = {
|
|
94
|
+
chainId: 1,
|
|
95
|
+
collectionAddress: zeroAddress,
|
|
96
|
+
query: {},
|
|
97
|
+
};
|
|
98
|
+
|
|
99
|
+
const { result } = renderHook(() =>
|
|
100
|
+
useCollectionActiveOffersCurrencies(argsWithoutQuery),
|
|
101
|
+
);
|
|
102
|
+
|
|
103
|
+
await waitFor(() => {
|
|
104
|
+
expect(result.current.isLoading).toBe(false);
|
|
105
|
+
});
|
|
106
|
+
|
|
107
|
+
expect(result.current.data).toBeDefined();
|
|
108
|
+
expect(result.current.error).toBeNull();
|
|
109
|
+
});
|
|
110
|
+
});
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import { useQuery } from '@tanstack/react-query';
|
|
4
|
+
import type { Optional } from '../../../_internal';
|
|
5
|
+
import {
|
|
6
|
+
type CollectionActiveOffersCurrenciesQueryOptions,
|
|
7
|
+
collectionActiveOffersCurrenciesQueryOptions,
|
|
8
|
+
type FetchCollectionActiveOffersCurrenciesParams,
|
|
9
|
+
} from '../../../queries/collections/activeOffersCurrencies';
|
|
10
|
+
import { useConfig } from '../../config/useConfig';
|
|
11
|
+
|
|
12
|
+
export type UseCollectionActiveOffersCurrenciesParams = Optional<
|
|
13
|
+
CollectionActiveOffersCurrenciesQueryOptions,
|
|
14
|
+
'config'
|
|
15
|
+
>;
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Hook to fetch the active offers currencies for a collection
|
|
19
|
+
*
|
|
20
|
+
* Retrieves all currencies that are currently being used in active offers
|
|
21
|
+
* for a specific collection from the marketplace.
|
|
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.query - Optional React Query configuration
|
|
27
|
+
*
|
|
28
|
+
* @returns Query result containing the array of currencies used in active offers
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* Basic usage:
|
|
32
|
+
* ```typescript
|
|
33
|
+
* const { data, isLoading } = useCollectionActiveOffersCurrencies({
|
|
34
|
+
* chainId: 137,
|
|
35
|
+
* collectionAddress: '0x...'
|
|
36
|
+
* })
|
|
37
|
+
* ```
|
|
38
|
+
*
|
|
39
|
+
* @example
|
|
40
|
+
* With custom query options:
|
|
41
|
+
* ```typescript
|
|
42
|
+
* const { data, isLoading } = useCollectionActiveOffersCurrencies({
|
|
43
|
+
* chainId: 1,
|
|
44
|
+
* collectionAddress: '0x...',
|
|
45
|
+
* query: {
|
|
46
|
+
* refetchInterval: 30000,
|
|
47
|
+
* enabled: hasCollectionAddress
|
|
48
|
+
* }
|
|
49
|
+
* })
|
|
50
|
+
* ```
|
|
51
|
+
*/
|
|
52
|
+
export function useCollectionActiveOffersCurrencies(
|
|
53
|
+
params: UseCollectionActiveOffersCurrenciesParams,
|
|
54
|
+
) {
|
|
55
|
+
const defaultConfig = useConfig();
|
|
56
|
+
|
|
57
|
+
const { config = defaultConfig, ...rest } = params;
|
|
58
|
+
|
|
59
|
+
const queryOptions = collectionActiveOffersCurrenciesQueryOptions({
|
|
60
|
+
config,
|
|
61
|
+
...rest,
|
|
62
|
+
});
|
|
63
|
+
|
|
64
|
+
return useQuery({
|
|
65
|
+
...queryOptions,
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
export { collectionActiveOffersCurrenciesQueryOptions };
|
|
70
|
+
|
|
71
|
+
export type {
|
|
72
|
+
FetchCollectionActiveOffersCurrenciesParams,
|
|
73
|
+
CollectionActiveOffersCurrenciesQueryOptions,
|
|
74
|
+
};
|
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
collectionBalanceDetailsQueryOptions,
|
|
9
9
|
type FetchCollectionBalanceDetailsParams,
|
|
10
10
|
type fetchCollectionBalanceDetails,
|
|
11
|
-
} from '../../../queries/collectionBalanceDetails';
|
|
11
|
+
} from '../../../queries/collections/collectionBalanceDetails';
|
|
12
12
|
import { useConfig } from '../../config/useConfig';
|
|
13
13
|
|
|
14
14
|
export type UseCollectionBalanceDetailsParams = Optional<
|
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
type CollectionDetailsQueryOptions,
|
|
7
7
|
collectionDetailsQueryOptions,
|
|
8
8
|
type FetchCollectionDetailsParams,
|
|
9
|
-
} from '../../../queries/collectionDetails';
|
|
9
|
+
} from '../../../queries/collections/collectionDetails';
|
|
10
10
|
import { useConfig } from '../../config/useConfig';
|
|
11
11
|
|
|
12
12
|
export type UseCollectionDetailsParams = Optional<
|
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
type fetchListCollectionActivities,
|
|
8
8
|
type ListCollectionActivitiesQueryOptions,
|
|
9
9
|
listCollectionActivitiesQueryOptions,
|
|
10
|
-
} from '../../../queries/listCollectionActivities';
|
|
10
|
+
} from '../../../queries/collections/listCollectionActivities';
|
|
11
11
|
import { useConfig } from '../../config/useConfig';
|
|
12
12
|
|
|
13
13
|
export type UseListCollectionActivitiesParams = Optional<
|
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
type FetchListCollectionsParams,
|
|
7
7
|
type ListCollectionsQueryOptions,
|
|
8
8
|
listCollectionsQueryOptions,
|
|
9
|
-
} from '../../../queries/listCollections';
|
|
9
|
+
} from '../../../queries/collections/listCollections';
|
|
10
10
|
import { useConfig } from '../../config/useConfig';
|
|
11
11
|
import { useMarketplaceConfig } from '../../config/useMarketplaceConfig';
|
|
12
12
|
|