@0xsequence/marketplace-sdk 0.8.12 → 0.10.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/.storybook/main.ts +63 -0
- package/.storybook/preview.ts +24 -0
- package/.storybook/vitest.setup.ts +6 -0
- package/CHANGELOG.md +158 -21
- package/dist/{CartIcon-Bll1rbxv.js → CalendarIcon-CqsuAuCm.js} +30 -77
- package/dist/CalendarIcon-CqsuAuCm.js.map +1 -0
- package/dist/{types-BIJOaL4j.d.ts → CollectibleCard-Dd-CG6dE.d.ts} +11 -7
- package/dist/InfoIcon-v0w_Lu7t.js +53 -0
- package/dist/InfoIcon-v0w_Lu7t.js.map +1 -0
- package/dist/_internal-C75gOSNo.js +14 -0
- package/dist/_internal-C75gOSNo.js.map +1 -0
- package/dist/actionModal-CMUeVsFX.js +116 -0
- package/dist/actionModal-CMUeVsFX.js.map +1 -0
- package/dist/{alien_swap-B_76IMma.js → alien_swap-CYv6YlOF.js} +1 -1
- package/dist/{alien_swap-B_76IMma.js.map → alien_swap-CYv6YlOF.js.map} +1 -1
- package/dist/{api-1KFxYh7o.js → api-BiMGqWdz.js} +79 -87
- package/dist/api-BiMGqWdz.js.map +1 -0
- package/dist/{aqua-xyz-CMN_TFY5.js → aqua-xyz-Bzn5baeH.js} +1 -1
- package/dist/{aqua-xyz-CMN_TFY5.js.map → aqua-xyz-Bzn5baeH.js.map} +1 -1
- package/dist/{aura-Cye_TuHj.js → aura-DzIWh8WT.js} +1 -1
- package/dist/{aura-Cye_TuHj.js.map → aura-DzIWh8WT.js.map} +1 -1
- package/dist/base-DqaJPvfN.js +22 -0
- package/dist/base-DqaJPvfN.js.map +1 -0
- package/dist/{blur-DWDMyMpK.js → blur-DSH-Cbpj.js} +1 -1
- package/dist/{blur-DWDMyMpK.js.map → blur-DSH-Cbpj.js.map} +1 -1
- package/dist/{builder-api-BQvzykoU.js → builder-api-BFuZNOaN.js} +2 -2
- package/dist/{builder-api-BQvzykoU.js.map → builder-api-BFuZNOaN.js.map} +1 -1
- package/dist/{builder.gen-CxP9NT1p.js → builder.gen-B9wR2nvF.js} +1 -1
- package/dist/builder.gen-B9wR2nvF.js.map +1 -0
- package/dist/{coinbase-ByA_XRB0.js → coinbase-Df8URNxq.js} +1 -1
- package/dist/{coinbase-ByA_XRB0.js.map → coinbase-Df8URNxq.js.map} +1 -1
- package/dist/{sdk-config-DJzxVPld.d.ts → create-config-DKJ-F0jc.d.ts} +458 -86
- package/dist/{wagmi-DRctYEk6.js → create-config-fQ-jbJD1.js} +33 -16
- package/dist/create-config-fQ-jbJD1.js.map +1 -0
- package/dist/{element-b77CyXIZ.js → element-Cx6uJu5N.js} +1 -1
- package/dist/{element-b77CyXIZ.js.map → element-Cx6uJu5N.js.map} +1 -1
- package/dist/{foundation-DbOrKP9Y.js → foundation-D6U4aRLN.js} +1 -1
- package/dist/{foundation-DbOrKP9Y.js.map → foundation-D6U4aRLN.js.map} +1 -1
- package/dist/get-provider-CYYHfrlg.js +10 -0
- package/dist/get-provider-CYYHfrlg.js.map +1 -0
- package/dist/get-query-client-D19vvfJo.js +23 -0
- package/dist/get-query-client-D19vvfJo.js.map +1 -0
- package/dist/hooks-4pxIbLbM.js +4044 -0
- package/dist/hooks-4pxIbLbM.js.map +1 -0
- package/dist/{index-1bezgsFq.d.ts → index-136YrWDH.d.ts} +929 -255
- package/dist/{index-D5v5iluA.d.ts → index-BAhaEfqY.d.ts} +1 -1
- package/dist/index-BKBin-rq.d.ts +979 -0
- package/dist/index-BUWB_RXp.d.ts +3144 -0
- package/dist/{index-Cl7PQOGu.d.ts → index-BhVFc2rX.d.ts} +28 -25
- package/dist/{index-DXMfTZ1F.d.ts → index-C5aqo8xu.d.ts} +1 -1
- package/dist/{index-BIMIpDiI.d.ts → index-CKrYP7ot.d.ts} +74 -103
- package/dist/{index-BEYefG1G.d.ts → index-CUwMH7Ht.d.ts} +5 -5
- package/dist/{index-BjIwVzc4.d.ts → index-Cu70Lw-w.d.ts} +238 -238
- package/dist/index.css +427 -1
- package/dist/index.d.ts +8 -10
- package/dist/index.js +15 -11
- package/dist/{looks-rare-C1VqNcSM.js → looks-rare-ChBRBY-p.js} +1 -1
- package/dist/{looks-rare-C1VqNcSM.js.map → looks-rare-ChBRBY-p.js.map} +1 -1
- package/dist/{magic-eden-ea_AGCZr.js → magic-eden-D5U7N1xL.js} +1 -1
- package/dist/{magic-eden-ea_AGCZr.js.map → magic-eden-D5U7N1xL.js.map} +1 -1
- package/dist/{manifold-8y8J2sjT.js → manifold-CtLF52zU.js} +1 -1
- package/dist/{manifold-8y8J2sjT.js.map → manifold-CtLF52zU.js.map} +1 -1
- package/dist/{marketplace-nwnZv9Cb.js → marketplace-DmFiyBoS.js} +1 -1
- package/dist/{marketplace-nwnZv9Cb.js.map → marketplace-DmFiyBoS.js.map} +1 -1
- package/dist/{marketplace-logos-CSeGcPW4.js → marketplace-logos-Cd6W-qOq.js} +21 -21
- package/dist/{marketplace-logos-CSeGcPW4.js.map → marketplace-logos-Cd6W-qOq.js.map} +1 -1
- package/dist/{marketplace.gen-Dqk8vRmD.js → marketplace.gen-HpnpL5xU.js} +12 -3
- package/dist/marketplace.gen-HpnpL5xU.js.map +1 -0
- package/dist/{marketplaceConfig-D2MYFqll.js → marketplaceConfig-GQTTmihy.js} +3 -3
- package/dist/marketplaceConfig-GQTTmihy.js.map +1 -0
- package/dist/{mintify-LA68TzWg.js → mintify-Bi3Bce68.js} +1 -1
- package/dist/{mintify-LA68TzWg.js.map → mintify-Bi3Bce68.js.map} +1 -1
- package/dist/network-CGD0oKtS.js +15 -0
- package/dist/network-CGD0oKtS.js.map +1 -0
- package/dist/{nftx-D3Tc8nzd.js → nftx-BDQZjtkX.js} +1 -1
- package/dist/{nftx-D3Tc8nzd.js.map → nftx-BDQZjtkX.js.map} +1 -1
- package/dist/{okx-hbqg6oIJ.js → okx-D4meadLe.js} +1 -1
- package/dist/{okx-hbqg6oIJ.js.map → okx-D4meadLe.js.map} +1 -1
- package/dist/{open-sea-BccuK8-t.js → open-sea-DN0hgfVw.js} +1 -1
- package/dist/{open-sea-BccuK8-t.js.map → open-sea-DN0hgfVw.js.map} +1 -1
- package/dist/options-BBBR8u_4.js +0 -0
- package/dist/{primary-sale-Cw95phYC.js → primary-sale-CmWxSfFQ.js} +279 -279
- package/dist/primary-sale-CmWxSfFQ.js.map +1 -0
- package/dist/provider-DPGUA10G.js +125 -0
- package/dist/provider-DPGUA10G.js.map +1 -0
- package/dist/queries-Ce_2othB.js +757 -0
- package/dist/queries-Ce_2othB.js.map +1 -0
- package/dist/{rarible-BgTwwj9g.js → rarible-B0xlD88A.js} +1 -1
- package/dist/{rarible-BgTwwj9g.js.map → rarible-B0xlD88A.js.map} +1 -1
- package/dist/react/_internal/api/index.d.ts +2 -4
- package/dist/react/_internal/api/index.js +9 -6
- package/dist/react/_internal/databeat/index.d.ts +2 -73
- package/dist/react/_internal/databeat/index.js +4 -21
- package/dist/react/_internal/index.d.ts +2 -7
- package/dist/react/_internal/index.js +13 -8
- package/dist/react/_internal/wagmi/index.d.ts +2 -4
- package/dist/react/_internal/wagmi/index.js +6 -4
- package/dist/react/hooks/index.d.ts +13 -17
- package/dist/react/hooks/index.js +25 -21
- package/dist/react/hooks/options/index.d.ts +3 -5
- package/dist/react/hooks/options/index.js +15 -10
- package/dist/react/index.d.ts +13 -40
- package/dist/react/index.js +30 -21
- package/dist/react/queries/index.d.ts +9 -8
- package/dist/react/queries/index.js +22 -17
- package/dist/react/ssr/index.d.ts +7 -9
- package/dist/react/ssr/index.js +13 -8
- package/dist/react/ssr/index.js.map +1 -1
- package/dist/react/ui/components/marketplace-collectible-card/index.d.ts +3 -9
- package/dist/react/ui/components/marketplace-collectible-card/index.js +29 -20
- package/dist/react/ui/components/marketplace-collectible-card/utils/index.d.ts +2 -7
- package/dist/react/ui/components/marketplace-collectible-card/utils/index.js +13 -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 +14 -10
- package/dist/react/ui/index.d.ts +3 -9
- package/dist/react/ui/index.js +29 -20
- package/dist/react/ui/modals/_internal/components/actionModal/index.d.ts +5 -5
- package/dist/react/ui/modals/_internal/components/actionModal/index.js +25 -20
- package/dist/{react-BG7o4PId.js → react-DP0M2Wfm.js} +4919 -7839
- package/dist/react-DP0M2Wfm.js.map +1 -0
- package/dist/{react-BbHBl6gg.css → react-DeDyTgo7.css} +1 -1
- package/dist/{react-BbHBl6gg.css.map → react-DeDyTgo7.css.map} +1 -1
- package/dist/{sequence-Do3kzb4J.js → sequence-BIrOVRXO.js} +1 -1
- package/dist/{sequence-Do3kzb4J.js.map → sequence-BIrOVRXO.js.map} +1 -1
- package/dist/{sudo-swap-B6vPKxBz.js → sudo-swap-BPMon-M5.js} +1 -1
- package/dist/{sudo-swap-B6vPKxBz.js.map → sudo-swap-BPMon-M5.js.map} +1 -1
- package/dist/{super-rare-eCm1SE6O.js → super-rare-kPN6Ua8i.js} +1 -1
- package/dist/{super-rare-eCm1SE6O.js.map → super-rare-kPN6Ua8i.js.map} +1 -1
- package/dist/{token-CO5llIla.js → token-CHSBPYVG.js} +1540 -761
- package/dist/token-CHSBPYVG.js.map +1 -0
- package/dist/{transaction-CcVViHEL.js → transaction-CnctdNzS.js} +3 -21
- package/dist/transaction-CnctdNzS.js.map +1 -0
- package/dist/types/index.d.ts +2 -3
- package/dist/types/index.js +3 -3
- package/dist/{types-DwWE6xOF.js → types-Yw2ywj6j.js} +1 -1
- package/dist/types-Yw2ywj6j.js.map +1 -0
- 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 +2 -2
- package/dist/utils/abi/token/index.js +2 -2
- package/dist/utils/index.d.ts +7 -8
- package/dist/utils/index.js +13 -10
- package/dist/{utils-BFdxaToy.js → utils-9RXDgcBl.js} +86 -93
- package/dist/utils-9RXDgcBl.js.map +1 -0
- package/dist/{utils-Cat9_pef.js → utils-DjVJ9tov.js} +5 -6
- package/dist/utils-DjVJ9tov.js.map +1 -0
- package/dist/wagmi-Do_KW5ke.js +0 -0
- package/dist/{x2y2-DD17tT91.js → x2y2-BLz-_Q2O.js} +1 -1
- package/dist/{x2y2-DD17tT91.js.map → x2y2-BLz-_Q2O.js.map} +1 -1
- package/dist/{zora-BpSG9UzS.js → zora-UGhKs-aL.js} +1 -1
- package/dist/{zora-BpSG9UzS.js.map → zora-UGhKs-aL.js.map} +1 -1
- package/eslint/use-client.js +0 -6
- package/eslint.config.mjs +4 -0
- package/package.json +47 -35
- package/postcss.config.mjs +6 -0
- package/src/index.css +5 -4
- package/src/index.ts +2 -1
- package/src/react/__tests__/provider.test.tsx +4 -3
- package/src/react/_internal/api/__mocks__/builder.msw.ts +5 -3
- package/src/react/_internal/api/__mocks__/indexer.msw.ts +24 -8
- package/src/react/_internal/api/__mocks__/laos.msw.ts +387 -0
- package/src/react/_internal/api/__mocks__/marketplace.msw.ts +6 -6
- package/src/react/_internal/api/__mocks__/metadata.msw.ts +1 -1
- package/src/react/_internal/api/__tests__/laos-api.test.ts +756 -0
- package/src/react/_internal/api/builder.gen.ts +6 -6
- package/src/react/_internal/api/get-query-client.ts +2 -2
- package/src/react/_internal/api/index.ts +2 -2
- package/src/react/_internal/api/laos-api.ts +3 -0
- package/src/react/_internal/api/marketplace.gen.ts +43 -3
- package/src/react/_internal/api/query-keys.ts +21 -6
- package/src/react/_internal/api/services.ts +30 -45
- package/src/react/_internal/databeat/index.ts +15 -14
- package/src/react/_internal/databeat/types.ts +22 -0
- package/src/react/_internal/databeat/utils.ts +26 -0
- package/src/react/_internal/index.ts +1 -1
- package/src/react/_internal/types.ts +10 -23
- package/src/react/_internal/utils.ts +4 -5
- package/src/react/_internal/wagmi/create-config.ts +43 -19
- package/src/react/_internal/wagmi/get-connectors.ts +9 -7
- package/src/react/_internal/wallet/__tests__/wallet.test.ts +1 -1
- package/src/react/_internal/wallet/wallet.ts +22 -22
- package/src/react/hooks/__tests__/__snapshots__/useListCollections.test.tsx.snap +20 -0
- package/src/react/hooks/__tests__/__snapshots__/useMarketplaceConfig.test.tsx.snap +12 -2
- package/src/react/hooks/__tests__/useAutoSelectFeeOption.test.tsx +1 -1
- package/src/react/hooks/__tests__/useBalanceOfCollectible.laos.test.tsx +367 -0
- package/src/react/hooks/__tests__/useBalanceOfCollectible.test.tsx +1 -1
- package/src/react/hooks/__tests__/useCancelOrder.test.tsx +4 -4
- package/src/react/hooks/__tests__/useCancelTransactionSteps.test.tsx +1 -1
- package/src/react/hooks/__tests__/useCheckoutOptions.test.tsx +158 -0
- package/src/react/hooks/__tests__/useCheckoutOptionsSalesContract.test.tsx +42 -65
- package/src/react/hooks/__tests__/useCollectible.test.tsx +14 -16
- package/src/react/hooks/__tests__/useCollection.test.tsx +4 -4
- package/src/react/hooks/__tests__/useCollectionBalanceDetails.test.tsx +16 -25
- package/src/react/hooks/__tests__/useCollectionDetails.test.tsx +1 -1
- package/src/react/hooks/__tests__/useCollectionDetailsPolling.test.tsx +12 -4
- package/src/react/hooks/__tests__/useComparePrices.test.tsx +7 -6
- package/src/react/hooks/__tests__/useConvertPriceToUSD.test.tsx +4 -4
- package/src/react/hooks/__tests__/useCountListingsForCollectible.test.tsx +2 -2
- package/src/react/hooks/__tests__/useCountOfCollectables.test.tsx +5 -5
- package/src/react/hooks/__tests__/useCountOffersForCollectible.test.tsx +2 -2
- package/src/react/hooks/__tests__/useCurrency.test.tsx +5 -3
- package/src/react/hooks/__tests__/useCurrencyBalance.test.tsx +7 -3
- package/src/react/hooks/__tests__/useFilters.test.tsx +3 -3
- package/src/react/hooks/__tests__/useFloorOrder.test.tsx +4 -4
- package/src/react/hooks/__tests__/useGenerateCancelTransaction.test.tsx +3 -3
- package/src/react/hooks/__tests__/useGenerateListingTransaction.test.tsx +1 -1
- package/src/react/hooks/__tests__/useGenerateOfferTransaction.test.tsx +1 -1
- package/src/react/hooks/__tests__/useGenerateSellTransaction.test.tsx +1 -1
- package/src/react/hooks/__tests__/useGetTokenRanges.test.tsx +111 -0
- package/src/react/hooks/__tests__/useHighestOffer.test.tsx +4 -4
- package/src/react/hooks/__tests__/useInventory.test.tsx +1 -1
- package/src/react/hooks/__tests__/useListCollectibleActivities.test.tsx +11 -13
- package/src/react/hooks/__tests__/useListCollectibles.test.tsx +5 -5
- package/src/react/hooks/__tests__/useListCollectiblesPaginated.test.tsx +10 -15
- package/src/react/hooks/__tests__/useListCollectionActivities.test.tsx +13 -15
- package/src/react/hooks/__tests__/useListCollections.test.tsx +3 -3
- package/src/react/hooks/__tests__/useListListingsForCollectible.test.tsx +3 -2
- package/src/react/hooks/__tests__/useListMarketCardData.test.tsx +301 -0
- package/src/react/hooks/__tests__/useListOffersForCollectible.test.tsx +1 -1
- package/src/react/hooks/__tests__/useListTokenMetadata.test.tsx +137 -0
- package/src/react/hooks/__tests__/useLowestListing.test.tsx +1 -1
- package/src/react/hooks/__tests__/useMarketCurrencies.test.tsx +1 -1
- package/src/react/hooks/__tests__/useRoyalty.test.tsx +0 -23
- package/src/react/hooks/__tests__/useTransferTokens.test.tsx +469 -0
- package/src/react/hooks/index.ts +29 -24
- package/src/react/hooks/options/index.ts +0 -1
- package/src/react/hooks/useAutoSelectFeeOption.tsx +1 -1
- package/src/react/hooks/useBalanceOfCollectible.tsx +1 -1
- package/src/react/hooks/useCancelTransactionSteps.tsx +2 -2
- package/src/react/hooks/useCheckoutOptions.tsx +84 -54
- package/src/react/hooks/useCheckoutOptionsSalesContract.tsx +98 -57
- package/src/react/hooks/useCollectible.tsx +64 -49
- package/src/react/hooks/useCollection.tsx +60 -11
- package/src/react/hooks/useCollectionBalanceDetails.tsx +93 -73
- package/src/react/hooks/useCollectionDetails.ts +69 -0
- package/src/react/hooks/useCollectionDetailsPolling.tsx +7 -3
- package/src/react/hooks/useComparePrices.tsx +91 -86
- package/src/react/hooks/useConvertPriceToUSD.tsx +83 -86
- package/src/react/hooks/useCountListingsForCollectible.tsx +64 -53
- package/src/react/hooks/useCountOfCollectables.tsx +60 -69
- package/src/react/hooks/useCountOfPrimarySaleItems.tsx +13 -0
- package/src/react/hooks/useCountOffersForCollectible.tsx +64 -53
- package/src/react/hooks/useCurrency.tsx +56 -64
- package/src/react/hooks/useCurrencyBalance.tsx +132 -46
- package/src/react/hooks/useERC721SaleMintedTokens.tsx +8 -5
- package/src/react/hooks/useFilterState.tsx +1 -2
- package/src/react/hooks/useFilters.tsx +154 -111
- package/src/react/hooks/useFloorOrder.tsx +65 -40
- package/src/react/hooks/useGenerateCancelTransaction.tsx +5 -10
- package/src/react/hooks/useGenerateListingTransaction.tsx +1 -1
- package/src/react/hooks/useGenerateOfferTransaction.tsx +1 -1
- package/src/react/hooks/useGenerateSellTransaction.tsx +5 -10
- package/src/react/hooks/useGetCountOfPrimarySaleItems.tsx +48 -0
- package/src/react/hooks/useGetReceiptFromHash.tsx +32 -3
- package/src/react/hooks/useGetTokenRanges.tsx +92 -0
- package/src/react/hooks/useHighestOffer.tsx +68 -4
- package/src/react/hooks/useInventory.tsx +1 -1
- package/src/react/hooks/useList1155ShopCardData.tsx +57 -82
- package/src/react/hooks/useList721ShopCardData.tsx +98 -63
- package/src/react/hooks/useListBalances.tsx +1 -1
- package/src/react/hooks/useListCollectibleActivities.tsx +89 -50
- package/src/react/hooks/useListCollectibles.tsx +81 -16
- package/src/react/hooks/useListCollectiblesPaginated.tsx +96 -66
- package/src/react/hooks/useListCollectionActivities.tsx +84 -50
- package/src/react/hooks/useListCollections.tsx +71 -17
- package/src/react/hooks/useListListingsForCollectible.tsx +90 -50
- package/src/react/hooks/useListMarketCardData.tsx +3 -2
- package/src/react/hooks/useListOffersForCollectible.tsx +9 -14
- package/src/react/hooks/useListPrimarySaleItems.tsx +66 -0
- package/src/react/hooks/useListShopCardData.tsx +70 -0
- package/src/react/hooks/useListTokenMetadata.ts +64 -12
- package/src/react/hooks/useListTokenMetadata.tsx +73 -0
- package/src/react/hooks/useLowestListing.tsx +68 -4
- package/src/react/hooks/useMarketCurrencies.tsx +62 -5
- package/src/react/hooks/useOpenConnectModal.tsx +9 -0
- package/src/react/hooks/useRoyalty.tsx +57 -13
- package/src/react/hooks/useShopCollectibleSaleData.tsx +349 -0
- package/src/react/hooks/useTokenSaleDetailsBatch.tsx +3 -7
- package/src/react/hooks/useTokenSupplies.ts +81 -0
- package/src/react/hooks/useTransferTokens.tsx +2 -2
- package/src/react/hooks/util/optimisticCancelUpdates.ts +5 -7
- package/src/react/index.ts +5 -3
- package/src/react/provider.tsx +73 -9
- package/src/react/queries/__tests__/balanceOfCollectible.laos.test.ts +123 -0
- package/src/react/queries/__tests__/inventory.laos.test.ts +496 -0
- package/src/react/queries/balanceOfCollectible.ts +8 -5
- package/src/react/queries/checkoutOptions.ts +85 -0
- package/src/react/queries/checkoutOptionsSalesContract.ts +89 -0
- package/src/react/queries/collectible.ts +66 -0
- package/src/react/queries/collection.ts +55 -0
- package/src/react/queries/collectionBalanceDetails.ts +92 -0
- package/src/react/queries/collectionDetails.ts +64 -0
- package/src/react/queries/comparePrices.ts +108 -0
- package/src/react/queries/convertPriceToUSD.ts +92 -0
- package/src/react/queries/countListingsForCollectible.ts +73 -0
- package/src/react/queries/countOfCollectables.ts +83 -0
- package/src/react/queries/countOfPrimarySaleItems.ts +48 -0
- package/src/react/queries/countOffersForCollectible.ts +73 -0
- package/src/react/queries/currency.ts +83 -0
- package/src/react/queries/filters.ts +138 -0
- package/src/react/queries/floorOrder.ts +63 -0
- package/src/react/queries/getTokenRanges.ts +62 -0
- package/src/react/queries/highestOffer.ts +46 -40
- package/src/react/queries/index.ts +10 -4
- package/src/react/queries/inventory.ts +10 -4
- package/src/react/queries/listBalances.ts +5 -4
- package/src/react/queries/listCollectibleActivities.ts +97 -0
- package/src/react/queries/listCollectibles.ts +67 -50
- package/src/react/queries/listCollectiblesPaginated.ts +87 -0
- package/src/react/queries/listCollectionActivities.ts +95 -0
- package/src/react/queries/listCollections.ts +53 -10
- package/src/react/queries/listListingsForCollectible.ts +82 -0
- package/src/react/queries/listTokenMetadata.ts +47 -23
- package/src/react/queries/lowestListing.ts +46 -31
- package/src/react/queries/marketCurrencies.ts +42 -29
- package/src/react/queries/marketplaceConfig.ts +4 -4
- package/src/react/queries/primarySaleItems.ts +85 -0
- package/src/react/queries/primarySaleItemsCount.ts +64 -0
- package/src/react/queries/tokenSupplies.ts +93 -0
- package/src/react/ssr/__tests__/__snapshots__/create-ssr-client.test.ts.snap +12 -2
- package/src/react/ssr/create-ssr-client.ts +1 -1
- package/src/react/types/query.ts +34 -0
- package/src/react/ui/components/ModelViewer.tsx +1 -1
- package/src/react/ui/components/_internals/action-button/ActionButton.tsx +66 -66
- package/src/react/ui/components/_internals/action-button/__tests__/ActionButtonBody.test.tsx +22 -4
- package/src/react/ui/components/_internals/action-button/__tests__/useActionButtonLogic.test.tsx +14 -8
- package/src/react/ui/components/_internals/action-button/components/ActionButtonBody.tsx +5 -4
- package/src/react/ui/components/_internals/action-button/components/NonOwnerActions.tsx +3 -0
- package/src/react/ui/components/_internals/action-button/components/OwnerActions.tsx +4 -4
- package/src/react/ui/components/_internals/action-button/hooks/useActionButtonLogic.ts +20 -18
- package/src/react/ui/components/_internals/action-button/store.ts +72 -34
- package/src/react/ui/components/_internals/custom-select/CustomSelect.stories.tsx +582 -0
- package/src/react/ui/components/_internals/pill/Pill.stories.tsx +83 -0
- package/src/react/ui/components/marketplace-collectible-card/CollectibleCard.tsx +1 -1
- package/src/react/ui/components/marketplace-collectible-card/Footer.tsx +12 -5
- package/src/react/ui/components/marketplace-collectible-card/components/ActionButtonWrapper.tsx +7 -4
- package/src/react/ui/components/marketplace-collectible-card/components/BaseCard.tsx +3 -0
- package/src/react/ui/components/marketplace-collectible-card/index.ts +1 -1
- package/src/react/ui/components/marketplace-collectible-card/types.ts +11 -7
- package/src/react/ui/components/marketplace-collectible-card/utils/supplyStatus.ts +4 -7
- package/src/react/ui/components/marketplace-collectible-card/variants/MarketCard.tsx +3 -2
- package/src/react/ui/components/marketplace-collectible-card/variants/ShopCard.tsx +7 -6
- package/src/react/ui/components/marketplace-logos/marketplace-logos.stories.tsx +199 -0
- package/src/react/ui/components/marketplace-logos/marketplace-logos.tsx +1 -1
- package/src/react/ui/components/media/Media.stories.tsx +642 -0
- package/src/react/ui/components/media/Media.tsx +29 -20
- package/src/react/ui/components/media/types.ts +6 -0
- package/src/react/ui/index.ts +8 -10
- package/src/react/ui/modals/BuyModal/__tests__/BuyModalRouter.test.tsx +15 -0
- package/src/react/ui/modals/BuyModal/__tests__/ERC1155ShopModal.test.tsx +100 -87
- package/src/react/ui/modals/BuyModal/__tests__/Modal1155.test.tsx +11 -5
- package/src/react/ui/modals/BuyModal/__tests__/store.test.ts +10 -2
- package/src/react/ui/modals/BuyModal/components/ERC1155QuantityModal.tsx +17 -11
- package/src/react/ui/modals/BuyModal/components/ERC1155ShopModal.tsx +4 -1
- package/src/react/ui/modals/BuyModal/hooks/__tests__/useCheckoutOptions.test.tsx +1 -1
- package/src/react/ui/modals/BuyModal/hooks/__tests__/useERC1155Checkout.test.tsx +30 -27
- package/src/react/ui/modals/BuyModal/hooks/useCheckoutOptions.ts +3 -3
- package/src/react/ui/modals/BuyModal/hooks/useERC1155Checkout.ts +11 -2
- package/src/react/ui/modals/BuyModal/hooks/useERC721SalePaymentParams.ts +2 -2
- package/src/react/ui/modals/BuyModal/hooks/usePaymentModalParams.ts +10 -3
- package/src/react/ui/modals/BuyModal/index.tsx +9 -1
- package/src/react/ui/modals/BuyModal/store.ts +26 -0
- package/src/react/ui/modals/CreateListingModal/Modal.tsx +28 -11
- package/src/react/ui/modals/CreateListingModal/__tests__/Modal.test.tsx +2 -2
- package/src/react/ui/modals/CreateListingModal/hooks/useCreateListing.tsx +0 -1
- package/src/react/ui/modals/CreateListingModal/hooks/useGetTokenApproval.ts +2 -2
- package/src/react/ui/modals/CreateListingModal/hooks/useTransactionSteps.tsx +7 -6
- package/src/react/ui/modals/CreateListingModal/index.tsx +1 -1
- package/src/react/ui/modals/CreateListingModal/store.ts +3 -3
- package/src/react/ui/modals/MakeOfferModal/Modal.tsx +31 -14
- package/src/react/ui/modals/MakeOfferModal/__tests__/Modal.test.tsx +1 -1
- package/src/react/ui/modals/MakeOfferModal/hooks/useGetTokenApproval.tsx +1 -1
- package/src/react/ui/modals/MakeOfferModal/hooks/useMakeOffer.tsx +0 -1
- package/src/react/ui/modals/MakeOfferModal/hooks/useTransactionSteps.tsx +7 -7
- package/src/react/ui/modals/MakeOfferModal/index.tsx +1 -1
- package/src/react/ui/modals/MakeOfferModal/store.ts +3 -3
- package/src/react/ui/modals/SellModal/Modal.tsx +14 -11
- package/src/react/ui/modals/SellModal/__tests__/Modal.test.tsx +6 -4
- package/src/react/ui/modals/SellModal/hooks/useGetTokenApproval.tsx +1 -1
- package/src/react/ui/modals/SellModal/hooks/useSell.tsx +0 -1
- package/src/react/ui/modals/SellModal/hooks/useTransactionSteps.tsx +6 -6
- package/src/react/ui/modals/SellModal/store.ts +3 -3
- package/src/react/ui/modals/SuccessfulPurchaseModal/__tests__/Modal.test.tsx +1 -1
- package/src/react/ui/modals/TransferModal/__tests__/__snapshots__/store.test.ts.snap +17 -0
- package/src/react/ui/modals/TransferModal/__tests__/store.test.ts +366 -0
- package/src/react/ui/modals/TransferModal/_views/enterWalletAddress/__tests__/useHandleTransfer.test.tsx +402 -0
- package/src/react/ui/modals/TransferModal/_views/enterWalletAddress/_components/TokenQuantityInput.tsx +52 -50
- package/src/react/ui/modals/TransferModal/_views/enterWalletAddress/_components/TransferButton.tsx +39 -47
- package/src/react/ui/modals/TransferModal/_views/enterWalletAddress/_components/WalletAddressInput.tsx +9 -8
- package/src/react/ui/modals/TransferModal/_views/enterWalletAddress/index.tsx +33 -37
- package/src/react/ui/modals/TransferModal/_views/enterWalletAddress/useHandleTransfer.tsx +19 -10
- package/src/react/ui/modals/TransferModal/index.tsx +28 -31
- package/src/react/ui/modals/TransferModal/messages.ts +1 -1
- package/src/react/ui/modals/TransferModal/store.ts +122 -0
- package/src/react/ui/modals/_internal/components/actionModal/ActionModal.test.tsx +1 -1
- package/src/react/ui/modals/_internal/components/actionModal/ActionModal.tsx +2 -4
- package/src/react/ui/modals/_internal/components/calendar/index.tsx +0 -1
- package/src/react/ui/modals/_internal/components/currencyImage/index.tsx +10 -14
- package/src/react/ui/modals/_internal/components/currencyOptionsSelect/__tests__/index.test.tsx +6 -3
- package/src/react/ui/modals/_internal/components/currencyOptionsSelect/index.tsx +23 -18
- package/src/react/ui/modals/_internal/components/expirationDateSelect/index.tsx +10 -10
- package/src/react/ui/modals/_internal/components/floorPriceText/__tests__/FloorPriceText.test.tsx +6 -6
- package/src/react/ui/modals/_internal/components/floorPriceText/index.tsx +4 -4
- package/src/react/ui/modals/_internal/components/priceInput/__tests__/PriceInput.test.tsx +13 -5
- package/src/react/ui/modals/_internal/components/priceInput/index.tsx +41 -26
- package/src/react/ui/modals/_internal/components/quantityInput/__tests__/index.test.tsx +68 -59
- package/src/react/ui/modals/_internal/components/quantityInput/index.tsx +23 -17
- package/src/react/ui/modals/_internal/components/selectWaasFeeOptions/__tests__/SelectWaasFeeOptions.test.tsx +340 -41
- package/src/react/ui/modals/_internal/components/selectWaasFeeOptions/_components/BalanceIndicator.tsx +1 -2
- package/src/react/ui/modals/_internal/components/selectWaasFeeOptions/index.tsx +95 -101
- package/src/react/ui/modals/_internal/components/selectWaasFeeOptions/store.ts +72 -14
- package/src/react/ui/modals/_internal/components/selectWaasFeeOptions/useWaasFeeOptionManager.tsx +29 -14
- package/src/react/ui/modals/_internal/components/tokenPreview/index.tsx +2 -2
- package/src/react/ui/modals/_internal/components/transactionDetails/index.tsx +2 -2
- package/src/react/ui/modals/_internal/components/transactionPreview/index.tsx +88 -89
- package/src/react/ui/modals/_internal/components/transactionStatusModal/__tests__/TransactionStatusModal.test.tsx +37 -11
- package/src/react/ui/modals/_internal/components/transactionStatusModal/hooks/useTransactionStatus.ts +0 -1
- package/src/react/ui/modals/_internal/components/transactionStatusModal/index.tsx +32 -20
- package/src/react/ui/modals/_internal/components/transactionStatusModal/store.ts +92 -63
- package/src/react/ui/modals/_internal/components/waasFeeOptionsSelect/WaasFeeOptionsSelect.tsx +44 -45
- package/src/react/ui/modals/_internal/types.ts +2 -2
- package/src/react/ui/modals/modal-provider.tsx +2 -3
- package/src/types/api-types.ts +36 -36
- package/src/types/buyModalErrors.ts +1 -1
- package/src/types/index.ts +5 -5
- package/src/types/new-marketplace-types.ts +1 -1
- package/src/types/sdk-config.ts +8 -2
- package/src/types/types.ts +1 -0
- package/src/types/waas-types.ts +1 -1
- package/src/utils/abi/index.ts +1 -1
- package/src/utils/abi/primary-sale/index.ts +1 -1
- package/src/utils/abi/token/index.ts +2 -1
- package/src/utils/decode/erc20.ts +1 -1
- package/src/utils/index.ts +3 -3
- package/src/utils/network.ts +15 -0
- package/test/const.ts +3 -1
- package/test/mocks/wallet.ts +1 -1
- package/test/test-utils.tsx +5 -4
- package/vitest.shims.d.ts +2 -0
- package/vitest.storybook.config.js +33 -0
- package/.changeset/fluffy-jokes-lay.md +0 -5
- package/.changeset/wise-bugs-boil.md +0 -8
- package/dist/CartIcon-Bll1rbxv.js.map +0 -1
- package/dist/CollectibleCard-CLQTl0_6.d.ts +0 -8
- package/dist/_internal-69NEWNUE.js +0 -34
- package/dist/_internal-69NEWNUE.js.map +0 -1
- package/dist/api-1KFxYh7o.js.map +0 -1
- package/dist/builder-api-DoK3907S.d.ts +0 -12
- package/dist/builder.gen-CxP9NT1p.js.map +0 -1
- package/dist/index-4-kfOFdx.d.ts +0 -22
- package/dist/index-BHiSG-Yi.d.ts +0 -312
- package/dist/index-BQW0PUkQ.d.ts +0 -3973
- package/dist/index-BfH21xmk.d.ts +0 -117
- package/dist/index-CN8puQQJ.d.ts +0 -24
- package/dist/index-DafWjEb4.d.ts +0 -65
- package/dist/marketplace.gen-Dqk8vRmD.js.map +0 -1
- package/dist/marketplaceConfig-D2MYFqll.js.map +0 -1
- package/dist/options-DCi6_23w.js +0 -34
- package/dist/options-DCi6_23w.js.map +0 -1
- package/dist/primary-sale-Cw95phYC.js.map +0 -1
- package/dist/queries-DPvwtnO7.js +0 -486
- package/dist/queries-DPvwtnO7.js.map +0 -1
- package/dist/react-BG7o4PId.js.map +0 -1
- package/dist/token-CO5llIla.js.map +0 -1
- package/dist/transaction-CcVViHEL.js.map +0 -1
- package/dist/types-DwWE6xOF.js.map +0 -1
- package/dist/useCollection-C-mclKU0.d.ts +0 -66
- package/dist/utils-BFdxaToy.js.map +0 -1
- package/dist/utils-Cat9_pef.js.map +0 -1
- package/dist/wagmi-DRctYEk6.js.map +0 -1
- package/src/react/_internal/api/zod-schema.ts +0 -678
- package/src/react/hooks/options/collectionOptions.ts +0 -41
- package/src/react/hooks/useCollectionDetails.tsx +0 -50
- package/src/react/hooks/useGetTokenSuppliesMap.ts +0 -33
- package/src/react/hooks/useListPrimarySaleItems.ts +0 -42
- package/src/react/queries/getTokenSupplies.ts +0 -38
- package/src/react/ui/modals/TransferModal/_store.ts +0 -72
- package/src/react/ui/modals/_internal/stores/accountModal.ts +0 -3
- package/tsconfig.tsbuildinfo +0 -1
- /package/dist/{abi-BKyRjVcZ.js → abi-BMvgNbKQ.js} +0 -0
- /package/dist/{index-C39K_8SG.d.ts → index-CD2bj_xW.d.ts} +0 -0
- /package/dist/{index-ij9f8GAA.d.ts → index-DvpBZgor.d.ts} +0 -0
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { queryOptions } from '@tanstack/react-query';
|
|
2
|
+
import type { Address } from 'viem';
|
|
3
|
+
import type { Page, SdkConfig } from '../../types';
|
|
4
|
+
import type {
|
|
5
|
+
ListCollectibleActivitiesArgs,
|
|
6
|
+
ListCollectibleActivitiesReturn,
|
|
7
|
+
SortBy,
|
|
8
|
+
ValuesOptional,
|
|
9
|
+
} from '../_internal';
|
|
10
|
+
import { collectableKeys, getMarketplaceClient } from '../_internal';
|
|
11
|
+
import type { StandardQueryOptions } from '../types/query';
|
|
12
|
+
|
|
13
|
+
export interface FetchListCollectibleActivitiesParams
|
|
14
|
+
extends Omit<
|
|
15
|
+
ListCollectibleActivitiesArgs,
|
|
16
|
+
'chainId' | 'contractAddress' | 'page'
|
|
17
|
+
> {
|
|
18
|
+
chainId: number;
|
|
19
|
+
collectionAddress: Address;
|
|
20
|
+
page?: number;
|
|
21
|
+
pageSize?: number;
|
|
22
|
+
sort?: SortBy[];
|
|
23
|
+
config: SdkConfig;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Fetches collectible activities from the Marketplace API
|
|
28
|
+
*/
|
|
29
|
+
export async function fetchListCollectibleActivities(
|
|
30
|
+
params: FetchListCollectibleActivitiesParams,
|
|
31
|
+
): Promise<ListCollectibleActivitiesReturn> {
|
|
32
|
+
const {
|
|
33
|
+
collectionAddress,
|
|
34
|
+
chainId,
|
|
35
|
+
config,
|
|
36
|
+
page,
|
|
37
|
+
pageSize,
|
|
38
|
+
sort,
|
|
39
|
+
...additionalApiParams
|
|
40
|
+
} = params;
|
|
41
|
+
const marketplaceClient = getMarketplaceClient(config);
|
|
42
|
+
|
|
43
|
+
const pageParams: Page | undefined =
|
|
44
|
+
page || pageSize || sort
|
|
45
|
+
? {
|
|
46
|
+
page: page ?? 1,
|
|
47
|
+
pageSize: pageSize ?? 10,
|
|
48
|
+
sort,
|
|
49
|
+
}
|
|
50
|
+
: undefined;
|
|
51
|
+
|
|
52
|
+
const apiArgs: ListCollectibleActivitiesArgs = {
|
|
53
|
+
contractAddress: collectionAddress,
|
|
54
|
+
chainId: String(chainId),
|
|
55
|
+
page: pageParams,
|
|
56
|
+
...additionalApiParams,
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
return await marketplaceClient.listCollectibleActivities(apiArgs);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
export type ListCollectibleActivitiesQueryOptions =
|
|
63
|
+
ValuesOptional<FetchListCollectibleActivitiesParams> & {
|
|
64
|
+
query?: StandardQueryOptions;
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
export function listCollectibleActivitiesQueryOptions(
|
|
68
|
+
params: ListCollectibleActivitiesQueryOptions,
|
|
69
|
+
) {
|
|
70
|
+
const enabled = Boolean(
|
|
71
|
+
params.collectionAddress &&
|
|
72
|
+
params.chainId &&
|
|
73
|
+
params.tokenId &&
|
|
74
|
+
params.config &&
|
|
75
|
+
(params.query?.enabled ?? true),
|
|
76
|
+
);
|
|
77
|
+
|
|
78
|
+
return queryOptions({
|
|
79
|
+
queryKey: [...collectableKeys.collectibleActivities, params],
|
|
80
|
+
queryFn: () =>
|
|
81
|
+
fetchListCollectibleActivities({
|
|
82
|
+
// biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined
|
|
83
|
+
chainId: params.chainId!,
|
|
84
|
+
// biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined
|
|
85
|
+
collectionAddress: params.collectionAddress!,
|
|
86
|
+
// biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined
|
|
87
|
+
config: params.config!,
|
|
88
|
+
// biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined
|
|
89
|
+
tokenId: params.tokenId!,
|
|
90
|
+
page: params.page,
|
|
91
|
+
pageSize: params.pageSize,
|
|
92
|
+
sort: params.sort,
|
|
93
|
+
}),
|
|
94
|
+
...params.query,
|
|
95
|
+
enabled,
|
|
96
|
+
});
|
|
97
|
+
}
|
|
@@ -1,62 +1,54 @@
|
|
|
1
1
|
import { infiniteQueryOptions } from '@tanstack/react-query';
|
|
2
|
-
import type { Address
|
|
2
|
+
import type { Address } from 'viem';
|
|
3
3
|
import type { MarketplaceConfig, Page, SdkConfig } from '../../types';
|
|
4
4
|
import type { MarketplaceType } from '../../types/types';
|
|
5
5
|
import { compareAddress } from '../../utils';
|
|
6
6
|
import type {
|
|
7
|
-
CollectiblesFilter,
|
|
8
7
|
ListCollectiblesArgs,
|
|
9
8
|
ListCollectiblesReturn,
|
|
9
|
+
ValuesOptional,
|
|
10
10
|
} from '../_internal';
|
|
11
11
|
import {
|
|
12
12
|
type CollectibleOrder,
|
|
13
|
-
OrderSide,
|
|
14
13
|
collectableKeys,
|
|
15
14
|
getMarketplaceClient,
|
|
15
|
+
OrderSide,
|
|
16
16
|
} from '../_internal';
|
|
17
17
|
import { fetchMarketplaceConfig } from '../queries/marketplaceConfig';
|
|
18
|
-
import
|
|
18
|
+
import type { StandardInfiniteQueryOptions } from '../types/query';
|
|
19
|
+
import { fetchBalances, type UseListBalancesArgs } from './listBalances';
|
|
19
20
|
|
|
20
|
-
export
|
|
21
|
-
|
|
21
|
+
export interface FetchListCollectiblesParams
|
|
22
|
+
extends Omit<ListCollectiblesArgs, 'chainId' | 'contractAddress'> {
|
|
22
23
|
chainId: number;
|
|
23
|
-
|
|
24
|
-
filter?: CollectiblesFilter;
|
|
24
|
+
collectionAddress: Address;
|
|
25
25
|
isLaos721?: boolean;
|
|
26
26
|
marketplaceType?: MarketplaceType;
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
};
|
|
30
|
-
};
|
|
27
|
+
config: SdkConfig;
|
|
28
|
+
}
|
|
31
29
|
|
|
32
30
|
/**
|
|
33
|
-
* Fetches a list of collectibles with pagination support
|
|
34
|
-
*
|
|
35
|
-
* @param args - Arguments for the API call
|
|
36
|
-
* @param config - SDK configuration
|
|
37
|
-
* @param page - Page parameters for pagination
|
|
38
|
-
* @returns The collectibles data
|
|
31
|
+
* Fetches a list of collectibles with pagination support from the Marketplace API
|
|
39
32
|
*/
|
|
40
|
-
export async function
|
|
41
|
-
|
|
42
|
-
config: SdkConfig,
|
|
33
|
+
export async function fetchListCollectibles(
|
|
34
|
+
params: FetchListCollectiblesParams,
|
|
43
35
|
marketplaceConfig: MarketplaceConfig,
|
|
44
36
|
page: Page,
|
|
45
37
|
): Promise<ListCollectiblesReturn> {
|
|
38
|
+
const { collectionAddress, chainId, config, ...additionalApiParams } = params;
|
|
46
39
|
const marketplaceClient = getMarketplaceClient(config);
|
|
47
|
-
|
|
48
|
-
const
|
|
49
|
-
...restArgs,
|
|
50
|
-
chainId: String(chainId),
|
|
40
|
+
|
|
41
|
+
const apiArgs: ListCollectiblesArgs = {
|
|
51
42
|
contractAddress: collectionAddress,
|
|
43
|
+
chainId: String(chainId),
|
|
52
44
|
page: page,
|
|
53
|
-
|
|
54
|
-
}
|
|
45
|
+
...additionalApiParams,
|
|
46
|
+
};
|
|
55
47
|
|
|
56
|
-
if (
|
|
48
|
+
if (params.marketplaceType === 'shop') {
|
|
57
49
|
const shopCollection = marketplaceConfig.shop.collections.find(
|
|
58
50
|
(collection) =>
|
|
59
|
-
compareAddress(collection.itemsAddress,
|
|
51
|
+
compareAddress(collection.itemsAddress, params.collectionAddress),
|
|
60
52
|
);
|
|
61
53
|
|
|
62
54
|
if (!shopCollection) {
|
|
@@ -65,7 +57,7 @@ export async function fetchCollectibles(
|
|
|
65
57
|
|
|
66
58
|
const primarySaleItemsList = await marketplaceClient.listPrimarySaleItems(
|
|
67
59
|
{
|
|
68
|
-
chainId:
|
|
60
|
+
chainId: params.chainId.toString(),
|
|
69
61
|
primarySaleContractAddress: shopCollection.saleAddress as Address,
|
|
70
62
|
},
|
|
71
63
|
marketplaceConfig,
|
|
@@ -83,19 +75,19 @@ export async function fetchCollectibles(
|
|
|
83
75
|
},
|
|
84
76
|
startDate: item.primarySaleItem.startDate,
|
|
85
77
|
endDate: item.primarySaleItem.endDate,
|
|
86
|
-
supplyCap: item.primarySaleItem.
|
|
78
|
+
supplyCap: item.primarySaleItem.supply,
|
|
87
79
|
itemType: item.primarySaleItem.itemType,
|
|
88
80
|
},
|
|
89
81
|
})),
|
|
90
82
|
};
|
|
91
83
|
}
|
|
92
84
|
|
|
93
|
-
if (
|
|
85
|
+
if (params.isLaos721 && params.side === OrderSide.listing) {
|
|
94
86
|
try {
|
|
95
87
|
const fetchBalancesArgs = {
|
|
96
|
-
chainId:
|
|
97
|
-
accountAddress:
|
|
98
|
-
contractAddress:
|
|
88
|
+
chainId: params.chainId,
|
|
89
|
+
accountAddress: params.filter?.inAccounts?.[0] as Address,
|
|
90
|
+
contractAddress: params.collectionAddress,
|
|
99
91
|
page: page,
|
|
100
92
|
includeMetadata: true,
|
|
101
93
|
isLaos721: true,
|
|
@@ -130,29 +122,54 @@ export async function fetchCollectibles(
|
|
|
130
122
|
}
|
|
131
123
|
}
|
|
132
124
|
|
|
133
|
-
return await marketplaceClient.listCollectibles(
|
|
125
|
+
return await marketplaceClient.listCollectibles(apiArgs);
|
|
134
126
|
}
|
|
135
127
|
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
export function listCollectiblesOptions(
|
|
144
|
-
args: UseListCollectiblesArgs,
|
|
145
|
-
config: SdkConfig,
|
|
128
|
+
export type ListCollectiblesQueryOptions =
|
|
129
|
+
ValuesOptional<FetchListCollectiblesParams> & {
|
|
130
|
+
query?: StandardInfiniteQueryOptions;
|
|
131
|
+
};
|
|
132
|
+
|
|
133
|
+
export function listCollectiblesQueryOptions(
|
|
134
|
+
params: ListCollectiblesQueryOptions,
|
|
146
135
|
) {
|
|
136
|
+
const enabled = Boolean(
|
|
137
|
+
params.collectionAddress &&
|
|
138
|
+
params.chainId &&
|
|
139
|
+
params.side &&
|
|
140
|
+
params.config &&
|
|
141
|
+
(params.query?.enabled ?? true),
|
|
142
|
+
);
|
|
143
|
+
|
|
147
144
|
return infiniteQueryOptions({
|
|
148
|
-
...
|
|
149
|
-
queryKey: [...collectableKeys.lists, args, config],
|
|
145
|
+
queryKey: [...collectableKeys.lists, params],
|
|
150
146
|
queryFn: async ({ pageParam }) => {
|
|
151
|
-
const marketplaceConfig = await fetchMarketplaceConfig({
|
|
152
|
-
|
|
147
|
+
const marketplaceConfig = await fetchMarketplaceConfig({
|
|
148
|
+
// biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined
|
|
149
|
+
config: params.config!,
|
|
150
|
+
});
|
|
151
|
+
return fetchListCollectibles(
|
|
152
|
+
{
|
|
153
|
+
// biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined
|
|
154
|
+
chainId: params.chainId!,
|
|
155
|
+
// biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined
|
|
156
|
+
collectionAddress: params.collectionAddress!,
|
|
157
|
+
// biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined
|
|
158
|
+
config: params.config!,
|
|
159
|
+
// biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined
|
|
160
|
+
side: params.side!,
|
|
161
|
+
filter: params.filter,
|
|
162
|
+
isLaos721: params.isLaos721,
|
|
163
|
+
marketplaceType: params.marketplaceType,
|
|
164
|
+
},
|
|
165
|
+
marketplaceConfig,
|
|
166
|
+
pageParam,
|
|
167
|
+
);
|
|
153
168
|
},
|
|
154
169
|
initialPageParam: { page: 1, pageSize: 30 } as Page,
|
|
155
170
|
getNextPageParam: (lastPage) =>
|
|
156
171
|
lastPage.page?.more ? lastPage.page : undefined,
|
|
172
|
+
...params.query,
|
|
173
|
+
enabled,
|
|
157
174
|
});
|
|
158
175
|
}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { queryOptions } from '@tanstack/react-query';
|
|
2
|
+
import type { Address } from 'viem';
|
|
3
|
+
import type { Page, SdkConfig } from '../../types';
|
|
4
|
+
import type {
|
|
5
|
+
ListCollectiblesArgs,
|
|
6
|
+
ListCollectiblesReturn,
|
|
7
|
+
ValuesOptional,
|
|
8
|
+
} from '../_internal';
|
|
9
|
+
import { collectableKeys, getMarketplaceClient } from '../_internal';
|
|
10
|
+
import type { StandardQueryOptions } from '../types/query';
|
|
11
|
+
|
|
12
|
+
export interface FetchListCollectiblesPaginatedParams
|
|
13
|
+
extends Omit<ListCollectiblesArgs, 'chainId' | 'contractAddress' | 'page'> {
|
|
14
|
+
chainId: number;
|
|
15
|
+
collectionAddress: Address;
|
|
16
|
+
page?: number;
|
|
17
|
+
pageSize?: number;
|
|
18
|
+
config: SdkConfig;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Fetches a list of collectibles with pagination support from the Marketplace API
|
|
23
|
+
*/
|
|
24
|
+
export async function fetchListCollectiblesPaginated(
|
|
25
|
+
params: FetchListCollectiblesPaginatedParams,
|
|
26
|
+
): Promise<ListCollectiblesReturn> {
|
|
27
|
+
const {
|
|
28
|
+
collectionAddress,
|
|
29
|
+
chainId,
|
|
30
|
+
config,
|
|
31
|
+
page = 1,
|
|
32
|
+
pageSize = 30,
|
|
33
|
+
...additionalApiParams
|
|
34
|
+
} = params;
|
|
35
|
+
const marketplaceClient = getMarketplaceClient(config);
|
|
36
|
+
|
|
37
|
+
const pageParams: Page = {
|
|
38
|
+
page,
|
|
39
|
+
pageSize,
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
const apiArgs: ListCollectiblesArgs = {
|
|
43
|
+
contractAddress: collectionAddress,
|
|
44
|
+
chainId: String(chainId),
|
|
45
|
+
page: pageParams,
|
|
46
|
+
...additionalApiParams,
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
return await marketplaceClient.listCollectibles(apiArgs);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
export type ListCollectiblesPaginatedQueryOptions =
|
|
53
|
+
ValuesOptional<FetchListCollectiblesPaginatedParams> & {
|
|
54
|
+
query?: StandardQueryOptions;
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
export function listCollectiblesPaginatedQueryOptions(
|
|
58
|
+
params: ListCollectiblesPaginatedQueryOptions,
|
|
59
|
+
) {
|
|
60
|
+
const enabled = Boolean(
|
|
61
|
+
params.collectionAddress &&
|
|
62
|
+
params.chainId &&
|
|
63
|
+
params.side &&
|
|
64
|
+
params.config &&
|
|
65
|
+
(params.query?.enabled ?? true),
|
|
66
|
+
);
|
|
67
|
+
|
|
68
|
+
return queryOptions({
|
|
69
|
+
queryKey: [...collectableKeys.lists, 'paginated', params],
|
|
70
|
+
queryFn: () =>
|
|
71
|
+
fetchListCollectiblesPaginated({
|
|
72
|
+
// biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined
|
|
73
|
+
chainId: params.chainId!,
|
|
74
|
+
// biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined
|
|
75
|
+
collectionAddress: params.collectionAddress!,
|
|
76
|
+
// biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined
|
|
77
|
+
config: params.config!,
|
|
78
|
+
// biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined
|
|
79
|
+
side: params.side!,
|
|
80
|
+
filter: params.filter,
|
|
81
|
+
page: params.page,
|
|
82
|
+
pageSize: params.pageSize,
|
|
83
|
+
}),
|
|
84
|
+
...params.query,
|
|
85
|
+
enabled,
|
|
86
|
+
});
|
|
87
|
+
}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { queryOptions } from '@tanstack/react-query';
|
|
2
|
+
import type { Address } from 'viem';
|
|
3
|
+
import type { Page, SdkConfig } from '../../types';
|
|
4
|
+
import type {
|
|
5
|
+
ListCollectionActivitiesArgs,
|
|
6
|
+
ListCollectionActivitiesReturn,
|
|
7
|
+
SortBy,
|
|
8
|
+
ValuesOptional,
|
|
9
|
+
} from '../_internal';
|
|
10
|
+
import { getMarketplaceClient } from '../_internal';
|
|
11
|
+
import { collectionKeys } from '../_internal/api';
|
|
12
|
+
import type { StandardQueryOptions } from '../types/query';
|
|
13
|
+
|
|
14
|
+
export interface FetchListCollectionActivitiesParams
|
|
15
|
+
extends Omit<
|
|
16
|
+
ListCollectionActivitiesArgs,
|
|
17
|
+
'chainId' | 'contractAddress' | 'page'
|
|
18
|
+
> {
|
|
19
|
+
chainId: number;
|
|
20
|
+
collectionAddress: Address;
|
|
21
|
+
page?: number;
|
|
22
|
+
pageSize?: number;
|
|
23
|
+
sort?: SortBy[];
|
|
24
|
+
config: SdkConfig;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Fetches collection activities from the Marketplace API
|
|
29
|
+
*/
|
|
30
|
+
export async function fetchListCollectionActivities(
|
|
31
|
+
params: FetchListCollectionActivitiesParams,
|
|
32
|
+
): Promise<ListCollectionActivitiesReturn> {
|
|
33
|
+
const {
|
|
34
|
+
collectionAddress,
|
|
35
|
+
chainId,
|
|
36
|
+
config,
|
|
37
|
+
page,
|
|
38
|
+
pageSize,
|
|
39
|
+
sort,
|
|
40
|
+
...additionalApiParams
|
|
41
|
+
} = params;
|
|
42
|
+
const marketplaceClient = getMarketplaceClient(config);
|
|
43
|
+
|
|
44
|
+
const pageParams: Page | undefined =
|
|
45
|
+
page || pageSize || sort
|
|
46
|
+
? {
|
|
47
|
+
page: page ?? 1,
|
|
48
|
+
pageSize: pageSize ?? 10,
|
|
49
|
+
sort,
|
|
50
|
+
}
|
|
51
|
+
: undefined;
|
|
52
|
+
|
|
53
|
+
const apiArgs: ListCollectionActivitiesArgs = {
|
|
54
|
+
contractAddress: collectionAddress,
|
|
55
|
+
chainId: String(chainId),
|
|
56
|
+
page: pageParams,
|
|
57
|
+
...additionalApiParams,
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
return await marketplaceClient.listCollectionActivities(apiArgs);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
export type ListCollectionActivitiesQueryOptions =
|
|
64
|
+
ValuesOptional<FetchListCollectionActivitiesParams> & {
|
|
65
|
+
query?: StandardQueryOptions;
|
|
66
|
+
};
|
|
67
|
+
|
|
68
|
+
export function listCollectionActivitiesQueryOptions(
|
|
69
|
+
params: ListCollectionActivitiesQueryOptions,
|
|
70
|
+
) {
|
|
71
|
+
const enabled = Boolean(
|
|
72
|
+
params.collectionAddress &&
|
|
73
|
+
params.chainId &&
|
|
74
|
+
params.config &&
|
|
75
|
+
(params.query?.enabled ?? true),
|
|
76
|
+
);
|
|
77
|
+
|
|
78
|
+
return queryOptions({
|
|
79
|
+
queryKey: [...collectionKeys.collectionActivities, params],
|
|
80
|
+
queryFn: () =>
|
|
81
|
+
fetchListCollectionActivities({
|
|
82
|
+
// biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined
|
|
83
|
+
chainId: params.chainId!,
|
|
84
|
+
// biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined
|
|
85
|
+
collectionAddress: params.collectionAddress!,
|
|
86
|
+
// biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined
|
|
87
|
+
config: params.config!,
|
|
88
|
+
page: params.page,
|
|
89
|
+
pageSize: params.pageSize,
|
|
90
|
+
sort: params.sort,
|
|
91
|
+
}),
|
|
92
|
+
...params.query,
|
|
93
|
+
enabled,
|
|
94
|
+
});
|
|
95
|
+
}
|
|
@@ -7,7 +7,12 @@ import type {
|
|
|
7
7
|
ShopCollection,
|
|
8
8
|
} from '../../types/new-marketplace-types';
|
|
9
9
|
import { compareAddress } from '../../utils';
|
|
10
|
-
import {
|
|
10
|
+
import {
|
|
11
|
+
collectionKeys,
|
|
12
|
+
getMetadataClient,
|
|
13
|
+
type ValuesOptional,
|
|
14
|
+
} from '../_internal';
|
|
15
|
+
import type { StandardQueryOptions } from '../types/query';
|
|
11
16
|
|
|
12
17
|
const allCollections = (marketplaceConfig: MarketplaceConfig) => {
|
|
13
18
|
return [
|
|
@@ -16,15 +21,17 @@ const allCollections = (marketplaceConfig: MarketplaceConfig) => {
|
|
|
16
21
|
];
|
|
17
22
|
};
|
|
18
23
|
|
|
19
|
-
|
|
20
|
-
marketplaceType,
|
|
21
|
-
marketplaceConfig,
|
|
22
|
-
config,
|
|
23
|
-
}: {
|
|
24
|
+
export interface FetchListCollectionsParams {
|
|
24
25
|
marketplaceType?: MarketplaceType;
|
|
25
26
|
marketplaceConfig: MarketplaceConfig;
|
|
26
27
|
config: SdkConfig;
|
|
27
|
-
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* Fetches collections from the metadata API with marketplace config filtering
|
|
32
|
+
*/
|
|
33
|
+
export async function fetchListCollections(params: FetchListCollectionsParams) {
|
|
34
|
+
const { marketplaceType, marketplaceConfig, config } = params;
|
|
28
35
|
const metadataClient = getMetadataClient(config);
|
|
29
36
|
|
|
30
37
|
let collections = allCollections(marketplaceConfig);
|
|
@@ -99,8 +106,40 @@ const fetchListCollections = async ({
|
|
|
99
106
|
}));
|
|
100
107
|
|
|
101
108
|
return collectionsWithMetadata;
|
|
102
|
-
}
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
export type ListCollectionsQueryOptions =
|
|
112
|
+
ValuesOptional<FetchListCollectionsParams> & {
|
|
113
|
+
query?: StandardQueryOptions;
|
|
114
|
+
};
|
|
115
|
+
|
|
116
|
+
export function listCollectionsQueryOptions(
|
|
117
|
+
params: ListCollectionsQueryOptions,
|
|
118
|
+
) {
|
|
119
|
+
const enabled = Boolean(
|
|
120
|
+
params.marketplaceConfig &&
|
|
121
|
+
params.config &&
|
|
122
|
+
(params.query?.enabled ?? true),
|
|
123
|
+
);
|
|
103
124
|
|
|
125
|
+
return queryOptions({
|
|
126
|
+
queryKey: [...collectionKeys.list, params],
|
|
127
|
+
queryFn: enabled
|
|
128
|
+
? () =>
|
|
129
|
+
fetchListCollections({
|
|
130
|
+
// biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined
|
|
131
|
+
marketplaceConfig: params.marketplaceConfig!,
|
|
132
|
+
// biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined
|
|
133
|
+
config: params.config!,
|
|
134
|
+
marketplaceType: params.marketplaceType,
|
|
135
|
+
})
|
|
136
|
+
: skipToken,
|
|
137
|
+
...params.query,
|
|
138
|
+
enabled,
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
// Keep old function for backward compatibility during migration
|
|
104
143
|
export const listCollectionsOptions = ({
|
|
105
144
|
marketplaceType,
|
|
106
145
|
marketplaceConfig,
|
|
@@ -111,14 +150,18 @@ export const listCollectionsOptions = ({
|
|
|
111
150
|
config: SdkConfig;
|
|
112
151
|
}) => {
|
|
113
152
|
return queryOptions({
|
|
114
|
-
queryKey: [
|
|
153
|
+
queryKey: [
|
|
154
|
+
...collectionKeys.list,
|
|
155
|
+
{ marketplaceType, marketplaceConfig, config },
|
|
156
|
+
],
|
|
115
157
|
queryFn: marketplaceConfig
|
|
116
158
|
? () =>
|
|
117
159
|
fetchListCollections({
|
|
118
|
-
marketplaceType,
|
|
119
160
|
marketplaceConfig,
|
|
120
161
|
config,
|
|
162
|
+
marketplaceType,
|
|
121
163
|
})
|
|
122
164
|
: skipToken,
|
|
165
|
+
enabled: Boolean(marketplaceConfig),
|
|
123
166
|
});
|
|
124
167
|
};
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { queryOptions } from '@tanstack/react-query';
|
|
2
|
+
import type { Address } from 'viem';
|
|
3
|
+
import type { SdkConfig } from '../../types';
|
|
4
|
+
import type {
|
|
5
|
+
ListCollectibleListingsArgs,
|
|
6
|
+
ListCollectibleListingsReturn,
|
|
7
|
+
ValuesOptional,
|
|
8
|
+
} from '../_internal';
|
|
9
|
+
import { collectableKeys, getMarketplaceClient } from '../_internal';
|
|
10
|
+
import type { StandardQueryOptions } from '../types/query';
|
|
11
|
+
|
|
12
|
+
export interface FetchListListingsForCollectibleParams
|
|
13
|
+
extends Omit<
|
|
14
|
+
ListCollectibleListingsArgs,
|
|
15
|
+
'chainId' | 'contractAddress' | 'tokenId'
|
|
16
|
+
> {
|
|
17
|
+
chainId: number;
|
|
18
|
+
collectionAddress: Address;
|
|
19
|
+
collectibleId: string;
|
|
20
|
+
config: SdkConfig;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Fetches listings for a specific collectible from the Marketplace API
|
|
25
|
+
*/
|
|
26
|
+
export async function fetchListListingsForCollectible(
|
|
27
|
+
params: FetchListListingsForCollectibleParams,
|
|
28
|
+
): Promise<ListCollectibleListingsReturn> {
|
|
29
|
+
const {
|
|
30
|
+
collectionAddress,
|
|
31
|
+
chainId,
|
|
32
|
+
collectibleId,
|
|
33
|
+
config,
|
|
34
|
+
...additionalApiParams
|
|
35
|
+
} = params;
|
|
36
|
+
const marketplaceClient = getMarketplaceClient(config);
|
|
37
|
+
|
|
38
|
+
const apiArgs: ListCollectibleListingsArgs = {
|
|
39
|
+
contractAddress: collectionAddress,
|
|
40
|
+
chainId: String(chainId),
|
|
41
|
+
tokenId: collectibleId,
|
|
42
|
+
...additionalApiParams,
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
return await marketplaceClient.listCollectibleListings(apiArgs);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
export type ListListingsForCollectibleQueryOptions =
|
|
49
|
+
ValuesOptional<FetchListListingsForCollectibleParams> & {
|
|
50
|
+
query?: StandardQueryOptions;
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
export function listListingsForCollectibleQueryOptions(
|
|
54
|
+
params: ListListingsForCollectibleQueryOptions,
|
|
55
|
+
) {
|
|
56
|
+
const enabled = Boolean(
|
|
57
|
+
params.collectionAddress &&
|
|
58
|
+
params.chainId &&
|
|
59
|
+
params.collectibleId &&
|
|
60
|
+
params.config &&
|
|
61
|
+
(params.query?.enabled ?? true),
|
|
62
|
+
);
|
|
63
|
+
|
|
64
|
+
return queryOptions({
|
|
65
|
+
queryKey: [...collectableKeys.listings, params],
|
|
66
|
+
queryFn: () =>
|
|
67
|
+
fetchListListingsForCollectible({
|
|
68
|
+
// biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined
|
|
69
|
+
chainId: params.chainId!,
|
|
70
|
+
// biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined
|
|
71
|
+
collectionAddress: params.collectionAddress!,
|
|
72
|
+
// biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined
|
|
73
|
+
collectibleId: params.collectibleId!,
|
|
74
|
+
// biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined
|
|
75
|
+
config: params.config!,
|
|
76
|
+
filter: params.filter,
|
|
77
|
+
page: params.page,
|
|
78
|
+
}),
|
|
79
|
+
...params.query,
|
|
80
|
+
enabled,
|
|
81
|
+
});
|
|
82
|
+
}
|