@0xsequence/marketplace-sdk 1.1.1 → 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 +34 -3
- package/dist/{BellIcon-ByhygxBO.js → BellIcon-DMKEumAz.js} +2 -2
- package/dist/BellIcon-DMKEumAz.js.map +1 -0
- package/dist/{CartIcon-Bt3rQYGk.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.map +1 -1
- package/dist/{alien_swap-DoY6XfMA.js → alien_swap-Cq8LuElo.js} +1 -1
- package/dist/{alien_swap-DoY6XfMA.js.map → alien_swap-Cq8LuElo.js.map} +1 -1
- package/dist/{api-BoO0V5aJ.js → api-GwTR0dBA.js} +8 -49
- package/dist/api-GwTR0dBA.js.map +1 -0
- package/dist/{aqua-xyz-BBDxnG14.js → aqua-xyz-0yye_c-Z.js} +1 -1
- package/dist/{aqua-xyz-BBDxnG14.js.map → aqua-xyz-0yye_c-Z.js.map} +1 -1
- package/dist/{aura-DGx2zwvF.js → aura-TaxFvTFQ.js} +1 -1
- package/dist/{aura-DGx2zwvF.js.map → aura-TaxFvTFQ.js.map} +1 -1
- package/dist/{blur-D8GKrRrq.js → blur-BupOTobO.js} +1 -1
- package/dist/{blur-D8GKrRrq.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-DOry4PXY.js → coinbase-DTgZ4wDT.js} +1 -1
- package/dist/{coinbase-DOry4PXY.js.map → coinbase-DTgZ4wDT.js.map} +1 -1
- package/dist/{collectibles-C_H8jMGH.js → collectibles-CZ6i8sXK.js} +15 -49
- package/dist/collectibles-CZ6i8sXK.js.map +1 -0
- package/dist/{collections-CKummc-R.js → collections-5NcU-7ZR.js} +92 -10
- package/dist/collections-5NcU-7ZR.js.map +1 -0
- package/dist/{components-CosnX7F9.js → components-CY8kx2kb.js} +13 -9
- package/dist/components-CY8kx2kb.js.map +1 -0
- package/dist/{contracts-BP_0vX48.js → contracts-DRJHF89h.js} +4 -3
- package/dist/{contracts-BP_0vX48.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-ZOB7i4ZJ.d.ts → create-config-CFBeD8CB.d.ts} +47 -60
- package/dist/{element-ciybd_VF.js → element-D4dDznlu.js} +1 -1
- package/dist/{element-ciybd_VF.js.map → element-D4dDznlu.js.map} +1 -1
- package/dist/{filters-V-V8Dn8f.d.ts → filters-B5niI_fX.d.ts} +7 -7
- package/dist/{foundation-Bq4lRz4x.js → foundation-GHZOKAzN.js} +1 -1
- package/dist/{foundation-Bq4lRz4x.js.map → foundation-GHZOKAzN.js.map} +1 -1
- package/dist/{index-BeRV-7AX.d.ts → index-8scPf0CS.d.ts} +2 -2
- package/dist/index-9qsplZ8r.d.ts +18 -0
- package/dist/{index-BZIJTQT0.d.ts → index-BIuYTMc2.d.ts} +10 -9
- package/dist/{index-C4MUKshG.d.ts → index-BNrz99xy.d.ts} +3 -3
- package/dist/{index-Bsx6XsC2.d.ts → index-BYQOPS8e.d.ts} +116 -62
- package/dist/{index-DUXfvhxs.d.ts → index-BkZ7SPLc.d.ts} +19 -29
- package/dist/{index-NlPMNcqh.d.ts → index-BnUku_aF.d.ts} +109 -114
- package/dist/{index-Stm5u0I0.d.ts → index-BtDAHMW_.d.ts} +9 -12
- package/dist/{index-BOiHR01C.d.ts → index-C-c_M_sE.d.ts} +10 -9
- package/dist/{index-DWt6yrIG.d.ts → index-CNIiC8Z_.d.ts} +11 -8
- package/dist/{index-DmudgrsN.d.ts → index-CbERNN3s.d.ts} +26 -16
- package/dist/{index-CxpFwGvR.d.ts → index-CsfxsN0t.d.ts} +4 -4
- package/dist/{index-CxA34wP1.d.ts → index-DASjaiJL.d.ts} +105 -19
- package/dist/{index-Bxzjy0d1.d.ts → index-DD7Vc4cE.d.ts} +2 -2
- package/dist/{index-DqXd1EeB.d.ts → index-DIc8OqWV.d.ts} +7 -6
- package/dist/{index-CnEbXm_t.d.ts → index-DVI_vggD.d.ts} +53 -12
- package/dist/{index-CPzvNmq9.d.ts → index-DqxQeYT2.d.ts} +39 -36
- package/dist/{index-CS65jqOq.d.ts → index-Dsf9FRtr.d.ts} +19 -3
- package/dist/{index-DFEnA6Wa.d.ts → index-DxAReMEO.d.ts} +34 -34
- package/dist/{index-U-zp70of.d.ts → index-UXRoZmd_.d.ts} +8 -12
- package/dist/{index-DwKr18CI.d.ts → index-isFvc5gd.d.ts} +2 -2
- package/dist/{index-BtWMBHeP.d.ts → index-j3nuJWyJ.d.ts} +13 -9
- package/dist/{index-C-745li7.d.ts → index-nVb7o0hc.d.ts} +2 -2
- package/dist/{index-D9LPlmbC.d.ts → index-pbE88Tt7.d.ts} +2 -2
- package/dist/index.d.ts +8 -8
- package/dist/index.js +9 -9
- package/dist/{inventory-Dd7TazvZ.js → inventory--t6Zu55O.js} +21 -18
- package/dist/inventory--t6Zu55O.js.map +1 -0
- package/dist/{listCollectiblesPaginated-Cy2_qEZA.d.ts → listCollectiblesPaginated-BlE5mSzh.d.ts} +32 -32
- package/dist/{listCollections-BB9FxKj2.d.ts → listCollections-DWyqFSQ3.d.ts} +143 -66
- package/dist/{looks-rare-6H--x3AM.js → looks-rare-2HBhMpOf.js} +1 -1
- package/dist/{looks-rare-6H--x3AM.js.map → looks-rare-2HBhMpOf.js.map} +1 -1
- package/dist/{lowestListing-Cbsi6M1K.d.ts → lowestListing-DsunDO1c.d.ts} +38 -28
- package/dist/{magic-eden-BoxEQ1Li.js → magic-eden-BYdTp-uk.js} +1 -1
- package/dist/{magic-eden-BoxEQ1Li.js.map → magic-eden-BYdTp-uk.js.map} +1 -1
- package/dist/{manifold-DycKsljb.js → manifold-yE0x6ZmO.js} +1 -1
- package/dist/{manifold-DycKsljb.js.map → manifold-yE0x6ZmO.js.map} +1 -1
- package/dist/{market-C3HV-awQ.js → market-DuBpFsDg.js} +27 -17
- package/dist/market-DuBpFsDg.js.map +1 -0
- package/dist/{marketCurrencies-Bpw1bIO0.d.ts → marketCurrencies-BgwmbGFk.d.ts} +20 -9
- package/dist/{marketCurrencies-sKrTX0og.js → marketCurrencies-Bolonndy.js} +13 -7
- package/dist/marketCurrencies-Bolonndy.js.map +1 -0
- package/dist/marketplace-NQB-sEQL.js.map +1 -1
- package/dist/{marketplace-logos-D4dS1Foy.js → marketplace-logos-Cz9RrtQo.js} +21 -21
- package/dist/marketplace-logos-Cz9RrtQo.js.map +1 -0
- package/dist/{marketplace.gen-ksUafDqS.js → marketplace.gen-906FrJQJ.js} +24 -5
- package/dist/marketplace.gen-906FrJQJ.js.map +1 -0
- package/dist/{marketplaceConfig-UHQMM9fq.js → marketplaceConfig-Bqjo7NYO.js} +8 -4
- package/dist/marketplaceConfig-Bqjo7NYO.js.map +1 -0
- package/dist/{mintify-Dyqyo8jQ.js → mintify-BXQx3mZB.js} +1 -1
- package/dist/{mintify-Dyqyo8jQ.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-2LbFjj9Q.js → nftx-B929_3Ce.js} +1 -1
- package/dist/{nftx-2LbFjj9Q.js.map → nftx-B929_3Ce.js.map} +1 -1
- package/dist/{okx-CBEWJNsR.js → okx-sZ0-Udny.js} +1 -1
- package/dist/{okx-CBEWJNsR.js.map → okx-sZ0-Udny.js.map} +1 -1
- package/dist/{open-sea-Dxntz_PA.js → open-sea-DO9PhTrz.js} +1 -1
- package/dist/{open-sea-Dxntz_PA.js.map → open-sea-DO9PhTrz.js.map} +1 -1
- package/dist/{orders-DnFfZAXV.js → orders-DH76ym2e.js} +16 -9
- package/dist/orders-DH76ym2e.js.map +1 -0
- package/dist/primary-sale-1u4QlPdA.js.map +1 -1
- package/dist/{primary-sales-Dmsi6bqj.js → primary-sales-CECrqatg.js} +49 -7
- package/dist/primary-sales-CECrqatg.js.map +1 -0
- package/dist/{query-BWbCsXLY.d.ts → query-brXxOcH0.d.ts} +1 -1
- package/dist/{rarible-CS0SupHr.js → rarible-Ccb2hs7y.js} +1 -1
- package/dist/{rarible-CS0SupHr.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 +28 -29
- 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 +28 -29
- package/dist/react/hooks/contracts/index.d.ts +6 -6
- package/dist/react/hooks/contracts/index.js +8 -8
- package/dist/react/hooks/data/collectibles/index.d.ts +10 -10
- package/dist/react/hooks/data/collectibles/index.js +28 -29
- package/dist/react/hooks/data/collections/index.d.ts +11 -11
- package/dist/react/hooks/data/collections/index.js +29 -30
- package/dist/react/hooks/data/index.d.ts +37 -37
- package/dist/react/hooks/data/index.js +29 -30
- package/dist/react/hooks/data/inventory/index.d.ts +36 -36
- package/dist/react/hooks/data/inventory/index.js +28 -29
- package/dist/react/hooks/data/market/index.d.ts +11 -11
- package/dist/react/hooks/data/market/index.js +28 -29
- package/dist/react/hooks/data/orders/index.d.ts +10 -10
- package/dist/react/hooks/data/orders/index.js +28 -29
- package/dist/react/hooks/data/primary-sales/index.d.ts +37 -37
- package/dist/react/hooks/data/primary-sales/index.js +29 -30
- package/dist/react/hooks/data/tokens/index.d.ts +4 -4
- package/dist/react/hooks/data/tokens/index.js +28 -29
- package/dist/react/hooks/index.d.ts +37 -37
- package/dist/react/hooks/index.js +29 -30
- package/dist/react/hooks/transactions/index.d.ts +2 -2
- package/dist/react/hooks/transactions/index.js +28 -29
- package/dist/react/hooks/ui/index.d.ts +4 -4
- package/dist/react/hooks/ui/index.js +28 -29
- package/dist/react/hooks/utils/index.d.ts +36 -36
- package/dist/react/hooks/utils/index.js +28 -29
- package/dist/react/index.d.ts +37 -37
- package/dist/react/index.js +29 -30
- package/dist/react/queries/collectibles/index.d.ts +10 -10
- package/dist/react/queries/collectibles/index.js +12 -13
- package/dist/react/queries/collections/index.d.ts +11 -11
- package/dist/react/queries/collections/index.js +11 -11
- package/dist/react/queries/index.d.ts +24 -24
- package/dist/react/queries/index.js +22 -23
- package/dist/react/queries/inventory/index.d.ts +2 -2
- package/dist/react/queries/inventory/index.js +12 -12
- package/dist/react/queries/market/index.d.ts +5 -5
- package/dist/react/queries/market/index.js +12 -12
- package/dist/react/queries/orders/index.d.ts +10 -10
- package/dist/react/queries/orders/index.js +8 -8
- package/dist/react/queries/primary-sales/index.d.ts +4 -4
- package/dist/react/queries/primary-sales/index.js +9 -9
- package/dist/react/queries/tokens/index.d.ts +4 -4
- package/dist/react/queries/tokens/index.js +8 -9
- package/dist/react/queries/utils/index.d.ts +3 -3
- package/dist/react/queries/utils/index.js +12 -12
- 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 +12 -12
- 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 +28 -29
- package/dist/react/ui/components/marketplace-collectible-card/index.d.ts +4 -4
- package/dist/react/ui/components/marketplace-collectible-card/index.js +28 -29
- 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 +8 -8
- package/dist/react/ui/index.d.ts +4 -4
- package/dist/react/ui/index.js +28 -29
- package/dist/react/ui/modals/_internal/components/actionModal/index.d.ts +2 -2
- package/dist/react/ui/modals/_internal/components/actionModal/index.js +28 -29
- package/dist/react/utils/index.d.ts +1 -1
- package/dist/react/utils/index.js +6 -6
- package/dist/{react-DE852KeT.js → react-CBsgOdVP.js} +608 -735
- package/dist/react-CBsgOdVP.js.map +1 -0
- package/dist/{sequence-paCCener.js → sequence-CRdb1yEs.js} +1 -1
- package/dist/{sequence-paCCener.js.map → sequence-CRdb1yEs.js.map} +1 -1
- package/dist/styles/index.css +1 -1
- package/dist/{sudo-swap-9rH2EgfT.js → sudo-swap-BIklG2gq.js} +1 -1
- package/dist/{sudo-swap-9rH2EgfT.js.map → sudo-swap-BIklG2gq.js.map} +1 -1
- package/dist/{super-rare-DHIuWtRw.js → super-rare-h8645_5E.js} +1 -1
- package/dist/{super-rare-DHIuWtRw.js.map → super-rare-h8645_5E.js.map} +1 -1
- package/dist/token-Cv7l2ZaL.js.map +1 -1
- package/dist/{tokenBalances-ibDerNmM.js → tokenBalances-CouzNX4j.js} +6 -12
- package/dist/tokenBalances-CouzNX4j.js.map +1 -0
- package/dist/{tokenSupplies-Bfe8RHzI.d.ts → tokenSupplies-C3zJll0M.d.ts} +32 -39
- package/dist/{tokens-cGxMadd8.js → tokens-BvIRUCGG.js} +58 -27
- 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-D2TJ1dwv.d.ts → types-CMDwfhfR.d.ts} +5 -5
- package/dist/utils/abi/index.d.ts +4 -4
- package/dist/utils/abi/marketplace/index.d.ts +1 -1
- package/dist/utils/abi/primary-sale/index.d.ts +1 -1
- package/dist/utils/abi/token/index.d.ts +1 -1
- package/dist/utils/index.d.ts +7 -7
- package/dist/utils/index.js +7 -7
- package/dist/{utils-BfpDVibN.js → utils-9ToOvt-c.js} +50 -7
- package/dist/utils-9ToOvt-c.js.map +1 -0
- package/dist/{utils-BqxcalL2.js → utils-B6di6O-C.js} +2 -2
- package/dist/utils-B6di6O-C.js.map +1 -0
- package/dist/{utils-BCgNhBFR.js → utils-BCYTEOvy.js} +17 -7
- package/dist/utils-BCYTEOvy.js.map +1 -0
- package/dist/{waitForTransactionReceipt-DieAnV52.js → waitForTransactionReceipt-CbSeUSXe.js} +5 -4
- package/dist/{waitForTransactionReceipt-DieAnV52.js.map → waitForTransactionReceipt-CbSeUSXe.js.map} +1 -1
- package/dist/{x2y2-45WDooeh.js → x2y2-OvF__ugj.js} +1 -1
- package/dist/{x2y2-45WDooeh.js.map → x2y2-OvF__ugj.js.map} +1 -1
- package/dist/{zora-CbeBoLvQ.js → zora-DzCeu-eE.js} +1 -1
- package/dist/{zora-CbeBoLvQ.js.map → zora-DzCeu-eE.js.map} +1 -1
- package/package.json +38 -38
- package/src/react/_internal/api/__mocks__/marketplace.msw.ts +13 -0
- package/src/react/_internal/api/index.ts +0 -1
- package/src/react/_internal/api/marketplace.gen.ts +70 -26
- package/src/react/_internal/api/query-keys.ts +9 -0
- package/src/react/hooks/data/collectibles/useBalanceOfCollectible.tsx +0 -9
- package/src/react/hooks/data/collectibles/useListCollectibles.tsx +1 -16
- package/src/react/hooks/data/collectibles/useTokenBalances.tsx +0 -9
- package/src/react/hooks/data/collections/index.ts +2 -0
- 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/inventory/useInventory.tsx +1 -10
- package/src/react/hooks/data/market/useMarketCurrencies.test.tsx +31 -2
- package/src/react/hooks/data/primary-sales/index.ts +1 -0
- package/src/react/hooks/data/primary-sales/usePrimarySaleItem.tsx +71 -0
- package/src/react/hooks/data/tokens/useListBalances.tsx +1 -10
- package/src/react/hooks/data/tokens/useTokenSupplies.ts +1 -13
- package/src/react/hooks/transactions/useGenerateOfferTransaction.test.tsx +2 -0
- package/src/react/hooks/transactions/useProcessStep.test.tsx +8 -6
- package/src/react/hooks/transactions/useProcessStep.ts +8 -6
- package/src/react/hooks/utils/useComparePrices.test.tsx +1 -1
- package/src/react/providers/modal-provider.tsx +2 -1
- package/src/react/queries/collectibles/balanceOfCollectible.ts +1 -15
- package/src/react/queries/collectibles/listCollectibles.ts +1 -54
- package/src/react/queries/collectibles/tokenBalances.ts +1 -15
- package/src/react/queries/collections/activeListingsCurrencies.ts +84 -0
- package/src/react/queries/collections/activeOffersCurrencies.ts +84 -0
- package/src/react/queries/collections/index.ts +2 -0
- package/src/react/queries/inventory/inventory.ts +2 -9
- package/src/react/queries/market/marketCurrencies.ts +8 -1
- package/src/react/queries/primary-sales/index.ts +1 -0
- package/src/react/queries/primary-sales/primarySaleItem.ts +80 -0
- package/src/react/queries/tokens/listBalances.ts +1 -21
- package/src/react/queries/tokens/tokenSupplies.ts +2 -31
- package/src/react/queries/utils/comparePrices.ts +13 -1
- package/src/react/ui/components/_internals/action-button/ActionButton.stories.tsx +2 -0
- package/src/react/ui/components/marketplace-collectible-card/components/footer/Footer.tsx +4 -18
- package/src/react/ui/components/marketplace-collectible-card/variants/MarketCard.tsx +2 -2
- package/src/react/ui/components/marketplace-collectible-card/variants/ShopCard.tsx +0 -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/hooks/usePaymentModalParams.ts +0 -23
- package/src/react/ui/modals/MakeOfferModal/Modal.tsx +22 -2
- package/src/react/ui/modals/MakeOfferModal/__tests__/Modal.test.tsx +2 -0
- package/src/react/ui/modals/MakeOfferModal/hooks/useGetTokenApproval.tsx +2 -0
- package/src/react/ui/modals/MakeOfferModal/hooks/useTransactionSteps.tsx +2 -0
- package/src/react/ui/modals/_internal/components/currencyOptionsSelect/index.tsx +15 -12
- 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 +148 -11
- package/src/react/ui/modals/_internal/components/transactionDetails/index.tsx +1 -1
- package/src/react/ui/modals/_internal/components/transactionStatusModal/__tests__/utils.test.ts +2 -0
- package/src/styles/styles.ts +1 -1
- 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/.changeset/honest-peas-arrive.md +0 -5
- package/.changeset/real-tips-stick.md +0 -8
- package/.changeset/tall-pandas-wear.md +0 -8
- package/dist/BellIcon-ByhygxBO.js.map +0 -1
- package/dist/CartIcon-Bt3rQYGk.js.map +0 -1
- package/dist/CollectibleCard-CVpdgXA8.d.ts +0 -8
- package/dist/api-BoO0V5aJ.js.map +0 -1
- package/dist/builder-api-BFuZNOaN.js.map +0 -1
- package/dist/builder.gen-B9wR2nvF.js.map +0 -1
- package/dist/collectibles-C_H8jMGH.js.map +0 -1
- package/dist/collections-CKummc-R.js.map +0 -1
- package/dist/components-CosnX7F9.js.map +0 -1
- package/dist/create-config-CIfejoCk.js.map +0 -1
- package/dist/index-DNNUeZEq.d.ts +0 -18
- package/dist/inventory-Dd7TazvZ.js.map +0 -1
- package/dist/listBalances-BxpxBCvn.js +0 -57
- package/dist/listBalances-BxpxBCvn.js.map +0 -1
- package/dist/market-C3HV-awQ.js.map +0 -1
- package/dist/marketCurrencies-sKrTX0og.js.map +0 -1
- package/dist/marketplace-logos-D4dS1Foy.js.map +0 -1
- package/dist/marketplace.gen-ksUafDqS.js.map +0 -1
- package/dist/marketplaceConfig-UHQMM9fq.js.map +0 -1
- package/dist/network-DtmiMhcg.js.map +0 -1
- package/dist/networkconfigToWagmiChain-DbUf6HiO.js.map +0 -1
- package/dist/orders-DnFfZAXV.js.map +0 -1
- package/dist/primary-sales-Dmsi6bqj.js.map +0 -1
- package/dist/react-DE852KeT.js.map +0 -1
- package/dist/tokenBalances-ibDerNmM.js.map +0 -1
- package/dist/tokens-cGxMadd8.js.map +0 -1
- package/dist/utils-BCgNhBFR.js.map +0 -1
- package/dist/utils-BfpDVibN.js.map +0 -1
- package/dist/utils-BqxcalL2.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/collectibles/__tests__/balanceOfCollectible.laos.test.ts +0 -123
- package/src/react/queries/collectibles/__tests__/tokenBalances.laos.test.ts +0 -123
- package/src/react/queries/inventory/__tests__/inventory.laos.test.ts +0 -499
- package/src/react/ui/modals/_internal/constants/opensea-currencies.ts +0 -481
- /package/dist/{index-6wsMChsg.d.ts → index-CCggO_hw.d.ts} +0 -0
- /package/dist/{index-CZUtOTjh.d.ts → index-CKefEBrI.d.ts} +0 -0
- /package/dist/{index-DW3njUfb.d.ts → index-DgsCqh_P.d.ts} +0 -0
- /package/dist/{index-DewGsFz5.d.ts → index-xpO4AQyS.d.ts} +0 -0
- /package/dist/{queries-KOcILNJO.js → queries-CyajGg_O.js} +0 -0
|
@@ -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
|
+
};
|
|
@@ -1,21 +1,12 @@
|
|
|
1
1
|
import { useQuery } from '@tanstack/react-query';
|
|
2
|
-
import { ContractType } from '../../../_internal';
|
|
3
2
|
import {
|
|
4
3
|
inventoryOptions,
|
|
5
4
|
type UseInventoryArgs,
|
|
6
5
|
} from '../../../queries/inventory/inventory';
|
|
7
6
|
import { useConfig } from '../../config/useConfig';
|
|
8
|
-
import { useMarketplaceConfig } from '../../config/useMarketplaceConfig';
|
|
9
7
|
|
|
10
8
|
export function useInventory(args: UseInventoryArgs) {
|
|
11
9
|
const config = useConfig();
|
|
12
|
-
const { data: marketplaceConfig } = useMarketplaceConfig();
|
|
13
10
|
|
|
14
|
-
|
|
15
|
-
marketplaceConfig?.market?.collections?.find(
|
|
16
|
-
(c) =>
|
|
17
|
-
c.itemsAddress === args.collectionAddress && c.chainId === args.chainId,
|
|
18
|
-
)?.contractType === ContractType.LAOS_ERC_721;
|
|
19
|
-
|
|
20
|
-
return useQuery(inventoryOptions({ ...args, isLaos721 }, config));
|
|
11
|
+
return useQuery(inventoryOptions({ ...args }, config));
|
|
21
12
|
}
|
|
@@ -49,7 +49,30 @@ describe('useMarketCurrencies', () => {
|
|
|
49
49
|
);
|
|
50
50
|
});
|
|
51
51
|
|
|
52
|
-
it('should filter currencies by collection address', async () => {
|
|
52
|
+
it('should filter currencies by collection address for non-OpenSea collections', async () => {
|
|
53
|
+
const args = {
|
|
54
|
+
...defaultArgs,
|
|
55
|
+
collectionAddress: mockConfig.marketCollections[0]
|
|
56
|
+
.itemsAddress as Address,
|
|
57
|
+
} satisfies Parameters<typeof useMarketCurrencies>[0];
|
|
58
|
+
|
|
59
|
+
const { result } = renderHook(() => useMarketCurrencies(args));
|
|
60
|
+
|
|
61
|
+
await waitFor(() => {
|
|
62
|
+
expect(result.current.isLoading).toBe(false);
|
|
63
|
+
});
|
|
64
|
+
|
|
65
|
+
const currencyAddresses = result.current.data?.map(
|
|
66
|
+
(c) => c.contractAddress,
|
|
67
|
+
);
|
|
68
|
+
|
|
69
|
+
// For non-OpenSea collections, currencies should be filtered by currencyOptions
|
|
70
|
+
expect(currencyAddresses).toEqual(
|
|
71
|
+
mockConfig.marketCollections[0].currencyOptions,
|
|
72
|
+
);
|
|
73
|
+
});
|
|
74
|
+
|
|
75
|
+
it('should not filter currencies by collection address for OpenSea collections', async () => {
|
|
53
76
|
const args = {
|
|
54
77
|
...defaultArgs,
|
|
55
78
|
collectionAddress: mockConfig.marketCollections[1]
|
|
@@ -65,8 +88,12 @@ describe('useMarketCurrencies', () => {
|
|
|
65
88
|
const currencyAddresses = result.current.data?.map(
|
|
66
89
|
(c) => c.contractAddress,
|
|
67
90
|
);
|
|
91
|
+
|
|
92
|
+
// For OpenSea collections, currencies are not filtered by currencyOptions
|
|
93
|
+
// Instead, all currencies are returned and filtering happens at the UI level
|
|
94
|
+
// based on openseaListing/openseaOffer flags
|
|
68
95
|
expect(currencyAddresses).toEqual(
|
|
69
|
-
|
|
96
|
+
mockCurrencies.map((c) => c.contractAddress),
|
|
70
97
|
);
|
|
71
98
|
});
|
|
72
99
|
|
|
@@ -161,6 +188,8 @@ describe('useMarketCurrencies', () => {
|
|
|
161
188
|
"imageUrl": "https://example.com/usdc.png",
|
|
162
189
|
"name": "USD Coin",
|
|
163
190
|
"nativeCurrency": false,
|
|
191
|
+
"openseaListing": true,
|
|
192
|
+
"openseaOffer": true,
|
|
164
193
|
"status": "active",
|
|
165
194
|
"symbol": "USDC",
|
|
166
195
|
"updatedAt": "2025-03-16T13:04:16.098Z",
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import { useQuery } from '@tanstack/react-query';
|
|
4
|
+
import type { Optional } from '../../../_internal';
|
|
5
|
+
import {
|
|
6
|
+
type FetchPrimarySaleItemParams,
|
|
7
|
+
type PrimarySaleItemQueryOptions,
|
|
8
|
+
primarySaleItemQueryOptions,
|
|
9
|
+
} from '../../../queries/primary-sales/primarySaleItem';
|
|
10
|
+
import { useConfig } from '../../config/useConfig';
|
|
11
|
+
|
|
12
|
+
export type UsePrimarySaleItemParams = Optional<
|
|
13
|
+
PrimarySaleItemQueryOptions,
|
|
14
|
+
'config'
|
|
15
|
+
>;
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Hook to fetch a single primary sale item
|
|
19
|
+
*
|
|
20
|
+
* Retrieves details for a specific primary sale item from a primary sale contract.
|
|
21
|
+
*
|
|
22
|
+
* @param params - Configuration parameters
|
|
23
|
+
* @param params.chainId - The chain ID (must be number, e.g., 1 for Ethereum, 137 for Polygon)
|
|
24
|
+
* @param params.primarySaleContractAddress - The primary sale contract address
|
|
25
|
+
* @param params.tokenId - The token ID of the primary sale item
|
|
26
|
+
* @param params.query - Optional React Query configuration
|
|
27
|
+
*
|
|
28
|
+
* @returns Query result containing the primary sale item data
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* Basic usage:
|
|
32
|
+
* ```typescript
|
|
33
|
+
* const { data: item, isLoading } = usePrimarySaleItem({
|
|
34
|
+
* chainId: 137,
|
|
35
|
+
* primarySaleContractAddress: '0x...',
|
|
36
|
+
* tokenId: '1',
|
|
37
|
+
* })
|
|
38
|
+
* ```
|
|
39
|
+
*
|
|
40
|
+
* @example
|
|
41
|
+
* With custom query options:
|
|
42
|
+
* ```typescript
|
|
43
|
+
* const { data } = usePrimarySaleItem({
|
|
44
|
+
* chainId: 1,
|
|
45
|
+
* primarySaleContractAddress: '0x...',
|
|
46
|
+
* tokenId: '42',
|
|
47
|
+
* query: {
|
|
48
|
+
* enabled: Boolean(primarySaleContractAddress && tokenId),
|
|
49
|
+
* staleTime: 30_000
|
|
50
|
+
* }
|
|
51
|
+
* })
|
|
52
|
+
* ```
|
|
53
|
+
*/
|
|
54
|
+
export function usePrimarySaleItem(params: UsePrimarySaleItemParams) {
|
|
55
|
+
const defaultConfig = useConfig();
|
|
56
|
+
|
|
57
|
+
const { config = defaultConfig, ...rest } = params;
|
|
58
|
+
|
|
59
|
+
const queryOptions = primarySaleItemQueryOptions({
|
|
60
|
+
config,
|
|
61
|
+
...rest,
|
|
62
|
+
});
|
|
63
|
+
|
|
64
|
+
return useQuery({
|
|
65
|
+
...queryOptions,
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
export { primarySaleItemQueryOptions };
|
|
70
|
+
|
|
71
|
+
export type { FetchPrimarySaleItemParams, PrimarySaleItemQueryOptions };
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
import { useInfiniteQuery } from '@tanstack/react-query';
|
|
2
|
-
import { ContractType } from '../../../_internal';
|
|
3
2
|
import type { UseListBalancesArgs } from '../../../queries/tokens/listBalances';
|
|
4
3
|
import { listBalancesOptions } from '../../../queries/tokens/listBalances';
|
|
5
4
|
import { useConfig } from '../../config/useConfig';
|
|
6
|
-
import { useMarketplaceConfig } from '../../config/useMarketplaceConfig';
|
|
7
5
|
|
|
8
6
|
/**
|
|
9
7
|
* Hook to fetch a list of token balances with pagination support
|
|
@@ -26,13 +24,6 @@ import { useMarketplaceConfig } from '../../config/useMarketplaceConfig';
|
|
|
26
24
|
*/
|
|
27
25
|
export function useListBalances(args: UseListBalancesArgs) {
|
|
28
26
|
const config = useConfig();
|
|
29
|
-
const { data: marketplaceConfig } = useMarketplaceConfig();
|
|
30
27
|
|
|
31
|
-
|
|
32
|
-
marketplaceConfig?.market?.collections?.find(
|
|
33
|
-
(c) =>
|
|
34
|
-
c.itemsAddress === args.contractAddress && c.chainId === args.chainId,
|
|
35
|
-
)?.contractType === ContractType.LAOS_ERC_721;
|
|
36
|
-
|
|
37
|
-
return useInfiniteQuery(listBalancesOptions({ ...args, isLaos721 }, config));
|
|
28
|
+
return useInfiniteQuery(listBalancesOptions({ ...args }, config));
|
|
38
29
|
}
|
|
@@ -15,15 +15,13 @@ export type UseTokenSuppliesParams = Optional<
|
|
|
15
15
|
>;
|
|
16
16
|
|
|
17
17
|
/**
|
|
18
|
-
* Hook to fetch token supplies from the indexer
|
|
18
|
+
* Hook to fetch token supplies from the indexer
|
|
19
19
|
*
|
|
20
20
|
* Retrieves supply information for tokens from a specific collection.
|
|
21
|
-
* Automatically chooses between indexer and LAOS APIs based on the isLaos721 flag.
|
|
22
21
|
*
|
|
23
22
|
* @param params - Configuration parameters
|
|
24
23
|
* @param params.chainId - The chain ID (must be number, e.g., 1 for Ethereum, 137 for Polygon)
|
|
25
24
|
* @param params.collectionAddress - The collection contract address
|
|
26
|
-
* @param params.isLaos721 - Whether to use LAOS API instead of indexer
|
|
27
25
|
* @param params.includeMetadata - Whether to include token metadata
|
|
28
26
|
* @param params.page - Pagination options
|
|
29
27
|
* @param params.query - Optional React Query configuration
|
|
@@ -40,16 +38,6 @@ export type UseTokenSuppliesParams = Optional<
|
|
|
40
38
|
* ```
|
|
41
39
|
*
|
|
42
40
|
* @example
|
|
43
|
-
* With LAOS API:
|
|
44
|
-
* ```typescript
|
|
45
|
-
* const { data, isLoading } = useTokenSupplies({
|
|
46
|
-
* chainId: 1,
|
|
47
|
-
* collectionAddress: '0x...',
|
|
48
|
-
* isLaos721: true
|
|
49
|
-
* })
|
|
50
|
-
* ```
|
|
51
|
-
*
|
|
52
|
-
* @example
|
|
53
41
|
* With conditional fetching:
|
|
54
42
|
* ```typescript
|
|
55
43
|
* const { data, isLoading } = useTokenSupplies({
|
|
@@ -9,6 +9,7 @@ import {
|
|
|
9
9
|
} from '../../_internal/api/__mocks__/marketplace.msw';
|
|
10
10
|
import {
|
|
11
11
|
ContractType,
|
|
12
|
+
OfferType,
|
|
12
13
|
OrderbookKind,
|
|
13
14
|
StepType,
|
|
14
15
|
} from '../../_internal/api/marketplace.gen';
|
|
@@ -33,6 +34,7 @@ describe('useGenerateOfferTransaction', () => {
|
|
|
33
34
|
orderbook: OrderbookKind.sequence_marketplace_v2,
|
|
34
35
|
offer: mockOffer,
|
|
35
36
|
additionalFees: [],
|
|
37
|
+
offerType: OfferType.item,
|
|
36
38
|
};
|
|
37
39
|
|
|
38
40
|
const defaultArgs = {
|
|
@@ -158,12 +158,14 @@ describe('useProcessStep', () => {
|
|
|
158
158
|
message: 'Sign this message',
|
|
159
159
|
});
|
|
160
160
|
expect(mockExecute).toHaveBeenCalledWith({
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
161
|
+
params: {
|
|
162
|
+
chainId: '1',
|
|
163
|
+
signature: mockSignature,
|
|
164
|
+
method: 'POST',
|
|
165
|
+
endpoint: '/api/order',
|
|
166
|
+
body: { test: 'data' },
|
|
167
|
+
executeType: ExecuteType.order,
|
|
168
|
+
},
|
|
167
169
|
});
|
|
168
170
|
});
|
|
169
171
|
|
|
@@ -73,12 +73,14 @@ export const useProcessStep = () => {
|
|
|
73
73
|
// Call execute endpoint with signature
|
|
74
74
|
if (step.post) {
|
|
75
75
|
const result = await marketplaceClient.execute({
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
76
|
+
params: {
|
|
77
|
+
chainId: String(chainId),
|
|
78
|
+
signature,
|
|
79
|
+
method: step.post.method,
|
|
80
|
+
endpoint: step.post.endpoint,
|
|
81
|
+
body: step.post.body,
|
|
82
|
+
executeType: ExecuteType.order,
|
|
83
|
+
},
|
|
82
84
|
});
|
|
83
85
|
|
|
84
86
|
return { type: 'signature', orderId: result.orderId };
|
|
@@ -61,7 +61,7 @@ describe('useComparePrices', () => {
|
|
|
61
61
|
// 1 ETH vs 1 USDC = 2000 vs 1 = 199900% difference
|
|
62
62
|
expect(result.current.data).toEqual({
|
|
63
63
|
percentageDifference: 199900,
|
|
64
|
-
percentageDifferenceFormatted: '
|
|
64
|
+
percentageDifferenceFormatted: '199,900.00',
|
|
65
65
|
status: 'above',
|
|
66
66
|
});
|
|
67
67
|
});
|
|
@@ -22,7 +22,8 @@ export const ModalProvider = observer(({ children }: ModalProviderProps) => {
|
|
|
22
22
|
const { shadowDom, experimentalShadowDomCssOverride } = sdkConfig;
|
|
23
23
|
|
|
24
24
|
const overrides = sdkConfig._internal?.overrides?.api?.marketplace;
|
|
25
|
-
const marketplaceApiUrl =
|
|
25
|
+
const marketplaceApiUrl =
|
|
26
|
+
overrides?.url || marketplaceApiURL(overrides?.env || 'production');
|
|
26
27
|
|
|
27
28
|
return (
|
|
28
29
|
<>
|
|
@@ -2,14 +2,13 @@ import { queryOptions, skipToken } from '@tanstack/react-query';
|
|
|
2
2
|
import type { Address } from 'viem';
|
|
3
3
|
import type { UseQueryParameters } from 'wagmi/query';
|
|
4
4
|
import type { SdkConfig } from '../../../types';
|
|
5
|
-
import { collectableKeys, getIndexerClient
|
|
5
|
+
import { collectableKeys, getIndexerClient } from '../../_internal';
|
|
6
6
|
|
|
7
7
|
export type UseBalanceOfCollectibleArgs = {
|
|
8
8
|
collectionAddress: Address;
|
|
9
9
|
collectableId: string;
|
|
10
10
|
userAddress: Address | undefined;
|
|
11
11
|
chainId: number;
|
|
12
|
-
isLaos721?: boolean;
|
|
13
12
|
includeMetadata?: boolean;
|
|
14
13
|
query?: UseQueryParameters;
|
|
15
14
|
};
|
|
@@ -27,18 +26,6 @@ export async function fetchBalanceOfCollectible(
|
|
|
27
26
|
},
|
|
28
27
|
config: SdkConfig,
|
|
29
28
|
) {
|
|
30
|
-
if (args.isLaos721) {
|
|
31
|
-
const laosApi = new LaosAPI();
|
|
32
|
-
const response = await laosApi.getTokenBalances({
|
|
33
|
-
chainId: args.chainId.toString(),
|
|
34
|
-
contractAddress: args.collectionAddress,
|
|
35
|
-
accountAddress: args.userAddress,
|
|
36
|
-
includeMetadata: true,
|
|
37
|
-
});
|
|
38
|
-
|
|
39
|
-
return response.balances[0] || null;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
29
|
const indexerClient = getIndexerClient(args.chainId, config);
|
|
43
30
|
return indexerClient
|
|
44
31
|
.getTokenBalances({
|
|
@@ -69,7 +56,6 @@ export function getBalanceOfCollectibleQueryKey(
|
|
|
69
56
|
includeContracts: [args.collectionAddress],
|
|
70
57
|
}
|
|
71
58
|
: undefined,
|
|
72
|
-
isLaos721: args.isLaos721,
|
|
73
59
|
};
|
|
74
60
|
|
|
75
61
|
return [...collectableKeys.userBalances, apiArgs] as const;
|
|
@@ -9,25 +9,14 @@ import type {
|
|
|
9
9
|
QueryKeyArgs,
|
|
10
10
|
ValuesOptional,
|
|
11
11
|
} from '../../_internal';
|
|
12
|
-
import {
|
|
13
|
-
type CollectibleOrder,
|
|
14
|
-
collectableKeys,
|
|
15
|
-
getMarketplaceClient,
|
|
16
|
-
MetadataStatus,
|
|
17
|
-
OrderSide,
|
|
18
|
-
} from '../../_internal';
|
|
12
|
+
import { collectableKeys, getMarketplaceClient } from '../../_internal';
|
|
19
13
|
import type { StandardInfiniteQueryOptions } from '../../types/query';
|
|
20
14
|
import { fetchMarketplaceConfig } from '../market/marketplaceConfig';
|
|
21
|
-
import {
|
|
22
|
-
fetchBalances,
|
|
23
|
-
type UseListBalancesArgs,
|
|
24
|
-
} from '../tokens/listBalances';
|
|
25
15
|
|
|
26
16
|
export interface FetchListCollectiblesParams
|
|
27
17
|
extends Omit<ListCollectiblesArgs, 'chainId' | 'contractAddress'> {
|
|
28
18
|
chainId: number;
|
|
29
19
|
collectionAddress: Address;
|
|
30
|
-
isLaos721?: boolean;
|
|
31
20
|
cardType?: CardType;
|
|
32
21
|
config: SdkConfig;
|
|
33
22
|
enabled?: boolean;
|
|
@@ -66,47 +55,6 @@ export async function fetchListCollectibles(
|
|
|
66
55
|
...additionalApiParams,
|
|
67
56
|
};
|
|
68
57
|
|
|
69
|
-
if (params.isLaos721 && params.side === OrderSide.listing) {
|
|
70
|
-
try {
|
|
71
|
-
const fetchBalancesArgs = {
|
|
72
|
-
chainId: params.chainId,
|
|
73
|
-
accountAddress: params.filter?.inAccounts?.[0] as Address,
|
|
74
|
-
contractAddress: params.collectionAddress,
|
|
75
|
-
page: page,
|
|
76
|
-
includeMetadata: true,
|
|
77
|
-
isLaos721: true,
|
|
78
|
-
} satisfies UseListBalancesArgs;
|
|
79
|
-
|
|
80
|
-
const balances = await fetchBalances(fetchBalancesArgs, config, page);
|
|
81
|
-
const collectibles: CollectibleOrder[] = balances.balances.map(
|
|
82
|
-
(balance) => {
|
|
83
|
-
if (!balance.tokenMetadata)
|
|
84
|
-
throw new Error('Token metadata not found');
|
|
85
|
-
return {
|
|
86
|
-
metadata: {
|
|
87
|
-
tokenId: balance.tokenID ?? '',
|
|
88
|
-
attributes: balance.tokenMetadata.attributes,
|
|
89
|
-
image: balance.tokenMetadata.image,
|
|
90
|
-
name: balance.tokenMetadata.name,
|
|
91
|
-
description: balance.tokenMetadata.description,
|
|
92
|
-
video: balance.tokenMetadata.video,
|
|
93
|
-
audio: balance.tokenMetadata.audio,
|
|
94
|
-
status: MetadataStatus.AVAILABLE,
|
|
95
|
-
},
|
|
96
|
-
};
|
|
97
|
-
},
|
|
98
|
-
);
|
|
99
|
-
return {
|
|
100
|
-
collectibles: collectibles,
|
|
101
|
-
//@ts-expect-error
|
|
102
|
-
page: balances.page,
|
|
103
|
-
};
|
|
104
|
-
} catch (error) {
|
|
105
|
-
// If the request fails, ignore the error and return the collectibles from our indexer
|
|
106
|
-
console.error(error);
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
|
|
110
58
|
return await marketplaceClient.listCollectibles(apiArgs);
|
|
111
59
|
}
|
|
112
60
|
|
|
@@ -153,7 +101,6 @@ export function listCollectiblesQueryOptions(
|
|
|
153
101
|
// biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined
|
|
154
102
|
side: params.side!,
|
|
155
103
|
filter: params.filter,
|
|
156
|
-
isLaos721: params.isLaos721,
|
|
157
104
|
cardType: params.cardType,
|
|
158
105
|
},
|
|
159
106
|
pageParam,
|