@0xsequence/marketplace-sdk 1.0.0 → 1.1.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 +1 -1
- package/.storybook/preview.tsx +0 -1
- package/CHANGELOG.md +62 -13
- package/dist/BellIcon-IpHHEy8h.js +45 -0
- package/dist/BellIcon-IpHHEy8h.js.map +1 -0
- package/dist/{BellIcon-Cb9YEUzJ.js → CartIcon-C8zbor8H.js} +10 -49
- package/dist/CartIcon-C8zbor8H.js.map +1 -0
- package/dist/CollectibleCard-C2EWF0zo.d.ts +8 -0
- package/dist/{_internal-DslqcNC1.js → _internal-DkS2VUn5.js} +1 -1
- package/dist/{_internal-DslqcNC1.js.map → _internal-DkS2VUn5.js.map} +1 -1
- package/dist/{alien_swap-DJ98gZQp.js → alien_swap-BTJ7mSR-.js} +1 -1
- package/dist/{alien_swap-DJ98gZQp.js.map → alien_swap-BTJ7mSR-.js.map} +1 -1
- package/dist/{api-BmEQfSQa.js → api-DuLKn__v.js} +5 -3
- package/dist/api-DuLKn__v.js.map +1 -0
- package/dist/{aqua-xyz-n1PcCCZ0.js → aqua-xyz-BYJ9WSP_.js} +1 -1
- package/dist/{aqua-xyz-n1PcCCZ0.js.map → aqua-xyz-BYJ9WSP_.js.map} +1 -1
- package/dist/{aura-Bevk_YkS.js → aura-D7SUjgro.js} +1 -1
- package/dist/{aura-Bevk_YkS.js.map → aura-D7SUjgro.js.map} +1 -1
- package/dist/{blur-B5sHErx5.js → blur-BcnRFCaV.js} +1 -1
- package/dist/{blur-B5sHErx5.js.map → blur-BcnRFCaV.js.map} +1 -1
- package/dist/builder-api-BFuZNOaN.js.map +1 -1
- package/dist/builder.gen-B9wR2nvF.js.map +1 -1
- package/dist/{coinbase-D30W-lxA.js → coinbase-ChoX9Hw2.js} +1 -1
- package/dist/{coinbase-D30W-lxA.js.map → coinbase-ChoX9Hw2.js.map} +1 -1
- package/dist/components-CUv-wQr8.js +119 -0
- package/dist/components-CUv-wQr8.js.map +1 -0
- package/dist/{contracts-DPHFT2TA.js → contracts-D72LBOX3.js} +4 -5
- package/dist/{contracts-DPHFT2TA.js.map → contracts-D72LBOX3.js.map} +1 -1
- package/dist/{create-config-6uynwTeb.js → create-config-CIfejoCk.js} +6 -11
- package/dist/create-config-CIfejoCk.js.map +1 -0
- package/dist/{create-config-lLSrnkbb.d.ts → create-config-DV_dtaLt.d.ts} +24 -31
- package/dist/{element-C2NJexro.js → element-Dbcv5qya.js} +1 -1
- package/dist/{element-C2NJexro.js.map → element-Dbcv5qya.js.map} +1 -1
- package/dist/{filters-B8XS4tFH.d.ts → filters-zkMJaPey.d.ts} +6 -6
- package/dist/{foundation-QgY1lvUj.js → foundation-QPhUEUy8.js} +1 -1
- package/dist/{foundation-QgY1lvUj.js.map → foundation-QPhUEUy8.js.map} +1 -1
- package/dist/{index-ChSKFOMx.d.ts → index-B6aSbaw2.d.ts} +1 -1
- package/dist/{index-PSPpUxCE.d.ts → index-B8vaT3_s.d.ts} +4 -4
- package/dist/{index-DonXiSg2.d.ts → index-BaytncQc.d.ts} +100 -56
- package/dist/{index-CY5UEX4h.d.ts → index-BoNNplSx.d.ts} +2 -2
- package/dist/{index-QxxS6f9r.d.ts → index-Bv5XVLjH.d.ts} +1 -1
- package/dist/{index-CIkpYltz.d.ts → index-C768pAfu.d.ts} +3 -3
- package/dist/{index-DX0Vm8HY.d.ts → index-CM0ZTePs.d.ts} +1 -1
- package/dist/index-CMPUveNz.d.ts +64 -0
- package/dist/{index-ThUIs-Sy.d.ts → index-CQecU53t.d.ts} +28 -23
- package/dist/{index-CtF7EE2z.d.ts → index-CT8ZorFd.d.ts} +1 -1
- package/dist/{index-Dpyp7fQz.d.ts → index-CXscCUg7.d.ts} +12 -12
- package/dist/{index-ByW08-Z7.d.ts → index-D-UXGo5d.d.ts} +2 -2
- package/dist/{index-D71J5Ghd.d.ts → index-D6YMj82n.d.ts} +79 -79
- package/dist/{index-CQnGIGb5.d.ts → index-DJG0kiII.d.ts} +33 -33
- package/dist/{index-D2HohSwO.d.ts → index-DLUjc7Bx.d.ts} +52 -29
- package/dist/{index-C7xKVIr4.d.ts → index-DMBMM16q.d.ts} +37 -37
- package/dist/{index-DNU9xoGK.d.ts → index-DpeWm_vF.d.ts} +5 -5
- package/dist/{index-BuY_NKSX.d.ts → index-Yobo6icm.d.ts} +40 -28
- package/dist/{index-BGJXqdg6.d.ts → index-jGgfEHfQ.d.ts} +8 -8
- package/dist/index.d.ts +8 -8
- package/dist/index.js +12 -11
- package/dist/{listCollectiblesPaginated--AgXjajA.d.ts → listCollectiblesPaginated-Bq0QSOjJ.d.ts} +28 -26
- package/dist/{listCollections-Bbzbz7qW.d.ts → listCollections-dTCq00l5.d.ts} +168 -123
- package/dist/{looks-rare-CMVPny4v.js → looks-rare-C7cQztTR.js} +1 -1
- package/dist/{looks-rare-CMVPny4v.js.map → looks-rare-C7cQztTR.js.map} +1 -1
- package/dist/{lowestListing-BQHfQpfg.d.ts → lowestListing-CB5Te-Q9.d.ts} +41 -17
- package/dist/{magic-eden-IrWp2ZXk.js → magic-eden-D3r7jiBG.js} +1 -1
- package/dist/{magic-eden-IrWp2ZXk.js.map → magic-eden-D3r7jiBG.js.map} +1 -1
- package/dist/{manifold-DeOE-p2G.js → manifold-DsX0CBP-.js} +1 -1
- package/dist/{manifold-DeOE-p2G.js.map → manifold-DsX0CBP-.js.map} +1 -1
- package/dist/{marketCurrencies-CmOMCCOr.d.ts → marketCurrencies-Bzj8X4TL.d.ts} +8 -8
- package/dist/{marketplace-B5Z8G03R.js → marketplace-BYY8OloA.js} +1 -1
- package/dist/{marketplace-B5Z8G03R.js.map → marketplace-BYY8OloA.js.map} +1 -1
- package/dist/{marketplace-logos-D8t86gsW.js → marketplace-logos-Csv2MBwf.js} +21 -21
- package/dist/marketplace-logos-Csv2MBwf.js.map +1 -0
- package/dist/{marketplace.gen-JzNYpM0U.js → marketplace.gen-w2YvbEEo.js} +2 -2
- package/dist/marketplace.gen-w2YvbEEo.js.map +1 -0
- package/dist/{marketplaceConfig-sNh-MA5M.js → marketplaceConfig-BTy75Mbf.js} +8 -9
- package/dist/marketplaceConfig-BTy75Mbf.js.map +1 -0
- package/dist/{mintify-DG3GrljJ.js → mintify-DiOoDmO1.js} +1 -1
- package/dist/{mintify-DG3GrljJ.js.map → mintify-DiOoDmO1.js.map} +1 -1
- package/dist/{network-DnBEe1Ur.js → network-DtmiMhcg.js} +2 -2
- package/dist/network-DtmiMhcg.js.map +1 -0
- package/dist/networkconfigToWagmiChain-DbUf6HiO.js +15 -0
- package/dist/networkconfigToWagmiChain-DbUf6HiO.js.map +1 -0
- package/dist/{nftx-B3LH-ZYM.js → nftx-CP82jNra.js} +1 -1
- package/dist/{nftx-B3LH-ZYM.js.map → nftx-CP82jNra.js.map} +1 -1
- package/dist/{okx-CRFLrT3Z.js → okx-p9-4xRjs.js} +1 -1
- package/dist/{okx-CRFLrT3Z.js.map → okx-p9-4xRjs.js.map} +1 -1
- package/dist/{open-sea-cOpfl366.js → open-sea-D2GwAmKS.js} +1 -1
- package/dist/{open-sea-cOpfl366.js.map → open-sea-D2GwAmKS.js.map} +1 -1
- package/dist/{primary-sale-CLjXRrDj.js → primary-sale-DOmNDq2P.js} +1 -1
- package/dist/{primary-sale-CLjXRrDj.js.map → primary-sale-DOmNDq2P.js.map} +1 -1
- package/dist/{queries-BYT4GJw3.js → queries-EMA5CcwY.js} +208 -287
- package/dist/queries-EMA5CcwY.js.map +1 -0
- package/dist/{query-BTe7Wkrs.d.ts → query-BG-MA1MB.d.ts} +1 -1
- package/dist/{rarible-guwUx4cn.js → rarible-DqiiW9ki.js} +1 -1
- package/dist/{rarible-guwUx4cn.js.map → rarible-DqiiW9ki.js.map} +1 -1
- package/dist/react/_internal/api/index.d.ts +1 -1
- package/dist/react/_internal/api/index.js +4 -4
- package/dist/react/_internal/databeat/index.d.ts +1 -1
- package/dist/react/_internal/databeat/index.js +24 -21
- package/dist/react/_internal/index.d.ts +1 -1
- package/dist/react/_internal/index.js +8 -7
- package/dist/react/_internal/wagmi/index.d.ts +1 -1
- package/dist/react/_internal/wagmi/index.js +4 -3
- package/dist/react/hooks/config/index.d.ts +8 -8
- package/dist/react/hooks/config/index.js +24 -21
- package/dist/react/hooks/contracts/index.d.ts +6 -6
- package/dist/react/hooks/contracts/index.js +13 -12
- package/dist/react/hooks/data/collectibles/index.d.ts +4 -4
- package/dist/react/hooks/data/collectibles/index.js +24 -21
- package/dist/react/hooks/data/collections/index.d.ts +10 -10
- package/dist/react/hooks/data/collections/index.js +24 -21
- package/dist/react/hooks/data/index.d.ts +29 -29
- package/dist/react/hooks/data/index.js +25 -22
- package/dist/react/hooks/data/inventory/index.d.ts +28 -28
- package/dist/react/hooks/data/inventory/index.js +24 -21
- package/dist/react/hooks/data/market/index.d.ts +5 -11
- package/dist/react/hooks/data/market/index.js +24 -21
- package/dist/react/hooks/data/orders/index.d.ts +5 -11
- package/dist/react/hooks/data/orders/index.js +25 -22
- package/dist/react/hooks/data/primary-sales/index.d.ts +28 -28
- package/dist/react/hooks/data/primary-sales/index.js +24 -21
- package/dist/react/hooks/data/tokens/index.d.ts +4 -4
- package/dist/react/hooks/data/tokens/index.js +24 -21
- package/dist/react/hooks/index.d.ts +29 -29
- package/dist/react/hooks/index.js +25 -22
- package/dist/react/hooks/transactions/index.d.ts +2 -2
- package/dist/react/hooks/transactions/index.js +24 -21
- package/dist/react/hooks/ui/index.d.ts +4 -4
- package/dist/react/hooks/ui/index.js +24 -21
- package/dist/react/hooks/utils/index.d.ts +29 -29
- package/dist/react/hooks/utils/index.js +25 -22
- package/dist/react/index.d.ts +29 -29
- package/dist/react/index.js +25 -22
- package/dist/react/queries/index.d.ts +16 -16
- package/dist/react/queries/index.js +18 -17
- package/dist/react/ssr/index.d.ts +7 -7
- package/dist/react/ssr/index.js +9 -8
- package/dist/react/ssr/index.js.map +1 -1
- package/dist/react/ui/components/marketplace-collectible-card/components/footer/components/index.d.ts +3 -0
- package/dist/react/ui/components/marketplace-collectible-card/components/footer/components/index.js +22 -0
- package/dist/react/ui/components/marketplace-collectible-card/components/footer/index.d.ts +54 -0
- package/dist/react/ui/components/marketplace-collectible-card/components/footer/index.js +29 -0
- package/dist/react/ui/components/marketplace-collectible-card/index.d.ts +5 -5
- package/dist/react/ui/components/marketplace-collectible-card/index.js +24 -21
- 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 +9 -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 +13 -11
- package/dist/react/ui/index.d.ts +5 -5
- package/dist/react/ui/index.js +24 -21
- package/dist/react/ui/modals/_internal/components/actionModal/index.js +24 -21
- package/dist/react/utils/index.d.ts +1 -1
- package/dist/react/utils/index.js +5 -5
- package/dist/{react-Ceq8mamy.js → react-BLJ4DkPx.js} +723 -807
- package/dist/react-BLJ4DkPx.js.map +1 -0
- package/dist/{react-CbqXKOpt.css → react-F03jPjPk.css} +1 -1
- package/dist/{react-CbqXKOpt.css.map → react-F03jPjPk.css.map} +1 -1
- package/dist/{sequence-Dt2Xo7Fa.js → sequence-Bbb-TFKg.js} +1 -1
- package/dist/{sequence-Dt2Xo7Fa.js.map → sequence-Bbb-TFKg.js.map} +1 -1
- package/dist/styles/index.css +46 -24
- package/dist/{sudo-swap-CGoARONs.js → sudo-swap-CEPIM3Js.js} +1 -1
- package/dist/{sudo-swap-CGoARONs.js.map → sudo-swap-CEPIM3Js.js.map} +1 -1
- package/dist/{super-rare-NeQtZjcn.js → super-rare-CMEn9PoO.js} +1 -1
- package/dist/{super-rare-NeQtZjcn.js.map → super-rare-CMEn9PoO.js.map} +1 -1
- package/dist/{token-D9gZVqbX.js → token-CcyLz8Z8.js} +1 -1
- package/dist/{token-D9gZVqbX.js.map → token-CcyLz8Z8.js.map} +1 -1
- package/dist/{tokenSupplies-DXtkRYNO.d.ts → tokenSupplies-C470zTT0.d.ts} +23 -23
- package/dist/{transaction-CC2KxNF6.js → transaction-DZUW5RHu.js} +2 -8
- package/dist/transaction-DZUW5RHu.js.map +1 -0
- package/dist/types/index.d.ts +2 -2
- package/dist/types/index.js +2 -2
- package/dist/{types-G2PWxiJR.js → types-B_-cnkcP.js} +1 -1
- package/dist/types-B_-cnkcP.js.map +1 -0
- package/dist/{types-BlCa0TVE.d.ts → types-D6LkVrF0.d.ts} +18 -10
- package/dist/utils/abi/index.d.ts +4 -4
- package/dist/utils/abi/index.js +4 -4
- package/dist/utils/abi/marketplace/index.d.ts +1 -1
- package/dist/utils/abi/marketplace/index.js +1 -1
- package/dist/utils/abi/primary-sale/index.d.ts +1 -1
- package/dist/utils/abi/primary-sale/index.js +1 -1
- package/dist/utils/abi/token/index.d.ts +1 -1
- package/dist/utils/abi/token/index.js +1 -1
- package/dist/utils/index.d.ts +6 -6
- package/dist/utils/index.js +11 -10
- package/dist/{utils-CKJd-CRf.js → utils-BZEkdqWK.js} +7 -24
- package/dist/utils-BZEkdqWK.js.map +1 -0
- package/dist/{utils-wquIhK6T.js → utils-oVZxdK0o.js} +2 -2
- package/dist/utils-oVZxdK0o.js.map +1 -0
- package/dist/{waitForTransactionReceipt-DZxAuR9N.js → waitForTransactionReceipt-B08YZiDY.js} +3 -4
- package/dist/{waitForTransactionReceipt-DZxAuR9N.js.map → waitForTransactionReceipt-B08YZiDY.js.map} +1 -1
- package/dist/{x2y2-CQdg24VP.js → x2y2-DNe6JgtG.js} +1 -1
- package/dist/{x2y2-CQdg24VP.js.map → x2y2-DNe6JgtG.js.map} +1 -1
- package/dist/{zora-DdEydy4L.js → zora-w0Zqxxs4.js} +1 -1
- package/dist/{zora-DdEydy4L.js.map → zora-w0Zqxxs4.js.map} +1 -1
- package/package.json +35 -35
- package/src/react/_internal/api/marketplace.gen.ts +1 -1
- package/src/react/_internal/api/query-keys.ts +2 -0
- package/src/react/_internal/wagmi/__tests__/create-config.test.ts +19 -8
- package/src/react/_internal/wagmi/create-config.ts +6 -17
- package/src/react/hooks/config/__snapshots__/useMarketplaceConfig.test.tsx.snap +4 -4
- package/src/react/hooks/data/collectibles/useBalanceOfCollectible.laos.test.tsx +2 -2
- package/src/react/hooks/data/collectibles/useTokenBalances.test.tsx +151 -0
- package/src/react/hooks/data/collectibles/useTokenBalances.tsx +47 -0
- package/src/react/hooks/data/collections/__snapshots__/useListCollections.test.tsx.snap +6 -6
- package/src/react/hooks/data/inventory/useInventory.test.tsx +3 -98
- package/src/react/hooks/data/inventory/useInventory.tsx +2 -2
- package/src/react/hooks/data/market/useListMarketCardData.tsx +1 -1
- package/src/react/hooks/data/orders/useListOffersForCollectible.tsx +70 -45
- package/src/react/hooks/data/primary-sales/useList1155ShopCardData.tsx +21 -37
- package/src/react/hooks/data/primary-sales/useList721ShopCardData.tsx +14 -3
- package/src/react/hooks/data/tokens/useSearchTokenMetadata.tsx +4 -1
- package/src/react/hooks/transactions/useCancelOrder.test.tsx +7 -4
- package/src/react/hooks/transactions/useCancelOrder.tsx +2 -1
- package/src/react/hooks/transactions/useCancelTransactionSteps.tsx +2 -2
- package/src/react/hooks/transactions/useProcessStep.test.tsx +2 -2
- package/src/react/hooks/utils/__tests__/useEnsureCorrectChain.test.tsx +75 -0
- package/src/react/hooks/utils/index.ts +0 -1
- package/src/react/hooks/utils/useEnsureCorrectChain.ts +31 -34
- package/src/react/providers/index.tsx +12 -14
- package/src/react/providers/modal-provider.tsx +2 -2
- package/src/react/queries/__tests__/balanceOfCollectible.laos.test.ts +3 -3
- package/src/react/queries/__tests__/inventory.laos.test.ts +6 -3
- package/src/react/queries/__tests__/tokenBalances.laos.test.ts +123 -0
- package/src/react/queries/balanceOfCollectible.ts +2 -1
- package/src/react/queries/filters.ts +23 -28
- package/src/react/queries/index.ts +1 -0
- package/src/react/queries/inventory.ts +63 -243
- package/src/react/queries/listCollectibles.ts +22 -48
- package/src/react/queries/listCollections.ts +10 -13
- package/src/react/queries/listOffersForCollectible.ts +101 -0
- package/src/react/queries/marketplaceConfig.ts +6 -2
- package/src/react/queries/tokenBalances.ts +85 -0
- package/src/react/ssr/__tests__/__snapshots__/create-ssr-client.test.ts.snap +4 -4
- package/src/react/ui/components/_internals/action-button/ActionButton.stories.tsx +8 -8
- package/src/react/ui/components/_internals/action-button/ActionButton.tsx +6 -9
- package/src/react/ui/components/_internals/action-button/__tests__/NonOwnerActions.test.tsx +4 -4
- package/src/react/ui/components/_internals/action-button/components/NonOwnerActions.tsx +6 -6
- package/src/react/ui/components/_internals/custom-select/__tests__/CustomSelect.test.tsx +1 -1
- package/src/react/ui/components/marketplace-collectible-card/CollectibleCard.tsx +4 -3
- package/src/react/ui/components/marketplace-collectible-card/CollectibleCardSkeleton.tsx +13 -2
- package/src/react/ui/components/marketplace-collectible-card/components/ActionButtonWrapper.tsx +4 -7
- package/src/react/ui/components/marketplace-collectible-card/components/BaseCard.tsx +14 -5
- package/src/react/ui/components/marketplace-collectible-card/components/footer/Footer.tsx +179 -0
- package/src/react/ui/components/marketplace-collectible-card/components/footer/components/FooterName.tsx +103 -0
- package/src/react/ui/components/marketplace-collectible-card/components/footer/components/PriceDisplay.tsx +80 -0
- package/src/react/ui/components/marketplace-collectible-card/components/footer/components/SaleDetailsPill.tsx +29 -0
- package/src/react/ui/components/marketplace-collectible-card/components/footer/components/TokenTypeBalancePill.tsx +30 -0
- package/src/react/ui/components/marketplace-collectible-card/components/footer/components/index.ts +4 -0
- package/src/react/ui/components/marketplace-collectible-card/components/footer/index.ts +2 -0
- package/src/react/ui/components/marketplace-collectible-card/types.ts +18 -6
- package/src/react/ui/components/marketplace-collectible-card/variants/MarketCard.tsx +11 -23
- package/src/react/ui/components/marketplace-collectible-card/variants/NonTradableInventoryCard.tsx +42 -0
- package/src/react/ui/components/marketplace-collectible-card/variants/ShopCard.tsx +15 -12
- package/src/react/ui/modals/BuyModal/__tests__/BuyModalRouter.test.tsx +10 -10
- package/src/react/ui/modals/BuyModal/__tests__/ERC1155ShopModal.test.tsx +3 -3
- package/src/react/ui/modals/BuyModal/__tests__/Modal.test.tsx.bak +3 -3
- package/src/react/ui/modals/BuyModal/__tests__/Modal1155.test.tsx +6 -6
- package/src/react/ui/modals/BuyModal/__tests__/store.test.ts +3 -3
- package/src/react/ui/modals/BuyModal/components/BuyModalRouter.tsx +5 -5
- package/src/react/ui/modals/BuyModal/components/ERC1155BuyModal.tsx +2 -2
- package/src/react/ui/modals/BuyModal/components/ERC1155QuantityModal.tsx +8 -8
- package/src/react/ui/modals/BuyModal/components/ERC1155ShopModal.tsx +2 -2
- package/src/react/ui/modals/BuyModal/hooks/useERC1155Checkout.ts +13 -2
- package/src/react/ui/modals/BuyModal/store.ts +6 -6
- package/src/react/ui/modals/CreateListingModal/hooks/useCreateListing.tsx +2 -1
- package/src/react/ui/modals/CreateListingModal/hooks/useTransactionSteps.tsx +1 -1
- package/src/react/ui/modals/MakeOfferModal/Modal.tsx +87 -89
- package/src/react/ui/modals/MakeOfferModal/hooks/useMakeOffer.tsx +2 -1
- package/src/react/ui/modals/MakeOfferModal/hooks/useTransactionSteps.tsx +1 -1
- package/src/react/ui/modals/SellModal/hooks/useGetTokenApproval.tsx +2 -1
- package/src/react/ui/modals/SellModal/hooks/useSell.tsx +2 -1
- package/src/react/ui/modals/_internal/components/actionModal/ActionModal.test.tsx +20 -9
- package/src/react/ui/modals/_internal/components/priceInput/index.tsx +2 -2
- package/src/react/ui/modals/_internal/components/switchChainErrorModal/__tests__/SwitchChainErrorModal.test.tsx +80 -0
- package/src/react/ui/modals/_internal/components/switchChainErrorModal/index.tsx +64 -0
- package/src/react/ui/modals/_internal/components/switchChainErrorModal/store.ts +42 -0
- package/src/react/ui/modals/_internal/types.ts +0 -1
- package/src/styles/styles.ts +46 -24
- package/src/types/new-marketplace-types.ts +9 -18
- package/src/types/types.ts +1 -1
- package/test/globalSetup.ts +1 -1
- package/test/test-utils.tsx +1 -0
- package/dist/BellIcon-Cb9YEUzJ.js.map +0 -1
- package/dist/CollectibleCard-CYyWzk6u.d.ts +0 -8
- package/dist/api-BmEQfSQa.js.map +0 -1
- package/dist/create-config-6uynwTeb.js.map +0 -1
- package/dist/marketplace-logos-D8t86gsW.js.map +0 -1
- package/dist/marketplace.gen-JzNYpM0U.js.map +0 -1
- package/dist/marketplaceConfig-sNh-MA5M.js.map +0 -1
- package/dist/network-DnBEe1Ur.js.map +0 -1
- package/dist/queries-BYT4GJw3.js.map +0 -1
- package/dist/react-Ceq8mamy.js.map +0 -1
- package/dist/transaction-CC2KxNF6.js.map +0 -1
- package/dist/types-G2PWxiJR.js.map +0 -1
- package/dist/utils-CKJd-CRf.js.map +0 -1
- package/dist/utils-wquIhK6T.js.map +0 -1
- package/src/react/hooks/utils/useSwitchChainWithModal.ts +0 -38
- package/src/react/ui/components/marketplace-collectible-card/Footer.tsx +0 -238
- package/src/react/ui/modals/_internal/components/switchChainModal/__tests__/SwitchChainModal.test.tsx +0 -117
- package/src/react/ui/modals/_internal/components/switchChainModal/index.tsx +0 -124
- package/src/react/ui/modals/_internal/components/switchChainModal/store.ts +0 -71
- /package/dist/{abi-Wr_aTZFi.js → abi-DYsUABe6.js} +0 -0
- /package/dist/{index-q7f-WDBS.d.ts → index-Cg5cFzs-.d.ts} +0 -0
- /package/dist/{wagmi-BhP3mdhP.js → wagmi-Bseovd6Q.js} +0 -0
|
@@ -1,34 +1,40 @@
|
|
|
1
|
-
import { useCallback } from 'react';
|
|
1
|
+
import { useCallback, useEffect } from 'react';
|
|
2
2
|
import { useAccount, useSwitchChain } from 'wagmi';
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import { useSwitchChainErrorModal } from '../../ui/modals/_internal/components/switchChainErrorModal';
|
|
4
|
+
import { useChainIdToSwitchTo } from '../../ui/modals/_internal/components/switchChainErrorModal/store';
|
|
5
5
|
import { useConnectorMetadata } from '../config/useConnectorMetadata';
|
|
6
6
|
|
|
7
7
|
export const useEnsureCorrectChain = () => {
|
|
8
8
|
const { chainId: currentChainId } = useAccount();
|
|
9
9
|
const { switchChain, switchChainAsync } = useSwitchChain();
|
|
10
|
-
const { show:
|
|
10
|
+
const { show: showSwitchChainErrorModal, close: closeSwitchChainErrorModal } =
|
|
11
|
+
useSwitchChainErrorModal();
|
|
12
|
+
const chainIdToSwitchTo = useChainIdToSwitchTo();
|
|
11
13
|
const { isWaaS } = useConnectorMetadata();
|
|
12
14
|
|
|
15
|
+
// Close the switch chain error modal when user successfully switches to the target chain
|
|
16
|
+
useEffect(() => {
|
|
17
|
+
if (
|
|
18
|
+
currentChainId &&
|
|
19
|
+
chainIdToSwitchTo &&
|
|
20
|
+
currentChainId === chainIdToSwitchTo
|
|
21
|
+
) {
|
|
22
|
+
closeSwitchChainErrorModal();
|
|
23
|
+
}
|
|
24
|
+
}, [currentChainId, chainIdToSwitchTo, closeSwitchChainErrorModal]);
|
|
25
|
+
|
|
13
26
|
const ensureCorrectChainAsync = useCallback(
|
|
14
27
|
async (targetChainId: number) => {
|
|
15
28
|
if (currentChainId === targetChainId) {
|
|
16
29
|
return Promise.resolve();
|
|
17
30
|
}
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
return new Promise((resolve, reject) => {
|
|
23
|
-
showSwitchChainModal({
|
|
31
|
+
return switchChainAsync({ chainId: targetChainId }).catch(() => {
|
|
32
|
+
showSwitchChainErrorModal({
|
|
24
33
|
chainIdToSwitchTo: targetChainId,
|
|
25
|
-
onSuccess: () => resolve(targetChainId),
|
|
26
|
-
onError: (error) => reject(error),
|
|
27
|
-
onClose: () => reject(new ChainSwitchUserRejectedError()),
|
|
28
34
|
});
|
|
29
35
|
});
|
|
30
36
|
},
|
|
31
|
-
[currentChainId, isWaaS, switchChainAsync,
|
|
37
|
+
[currentChainId, isWaaS, switchChainAsync, showSwitchChainErrorModal],
|
|
32
38
|
);
|
|
33
39
|
|
|
34
40
|
const ensureCorrectChain = useCallback(
|
|
@@ -36,8 +42,6 @@ export const useEnsureCorrectChain = () => {
|
|
|
36
42
|
targetChainId: number,
|
|
37
43
|
callbacks?: {
|
|
38
44
|
onSuccess?: () => void;
|
|
39
|
-
onError?: (error: Error) => void;
|
|
40
|
-
onClose?: () => void;
|
|
41
45
|
},
|
|
42
46
|
) => {
|
|
43
47
|
if (currentChainId === targetChainId) {
|
|
@@ -45,25 +49,18 @@ export const useEnsureCorrectChain = () => {
|
|
|
45
49
|
return;
|
|
46
50
|
}
|
|
47
51
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
showSwitchChainModal({
|
|
60
|
-
chainIdToSwitchTo: targetChainId,
|
|
61
|
-
onSuccess: callbacks?.onSuccess,
|
|
62
|
-
onError: callbacks?.onError,
|
|
63
|
-
onClose: callbacks?.onClose,
|
|
64
|
-
});
|
|
52
|
+
switchChain(
|
|
53
|
+
{ chainId: targetChainId },
|
|
54
|
+
{
|
|
55
|
+
onSuccess: callbacks?.onSuccess,
|
|
56
|
+
onError: () =>
|
|
57
|
+
showSwitchChainErrorModal({
|
|
58
|
+
chainIdToSwitchTo: targetChainId,
|
|
59
|
+
}),
|
|
60
|
+
},
|
|
61
|
+
);
|
|
65
62
|
},
|
|
66
|
-
[currentChainId, isWaaS, switchChain,
|
|
63
|
+
[currentChainId, isWaaS, switchChain, showSwitchChainErrorModal],
|
|
67
64
|
);
|
|
68
65
|
|
|
69
66
|
return {
|
|
@@ -33,6 +33,8 @@ export function MarketplaceProvider({
|
|
|
33
33
|
throw new InvalidProjectAccessKeyError(config.projectAccessKey);
|
|
34
34
|
}
|
|
35
35
|
|
|
36
|
+
const isWindowDefined = typeof window !== 'undefined';
|
|
37
|
+
|
|
36
38
|
const analytics = useMemo(() => {
|
|
37
39
|
const server = 'https://nodes.sequence.app';
|
|
38
40
|
const auth: Auth = {};
|
|
@@ -42,11 +44,11 @@ export function MarketplaceProvider({
|
|
|
42
44
|
defaultEnabled: true,
|
|
43
45
|
initProps: () => {
|
|
44
46
|
return {
|
|
45
|
-
origin:
|
|
47
|
+
origin: isWindowDefined ? window.location.origin : '',
|
|
46
48
|
};
|
|
47
49
|
},
|
|
48
50
|
});
|
|
49
|
-
}, [config.projectAccessKey,
|
|
51
|
+
}, [config.projectAccessKey, isWindowDefined]);
|
|
50
52
|
|
|
51
53
|
if (openConnectModal) {
|
|
52
54
|
const context: MarketplaceSdkContextType = {
|
|
@@ -56,13 +58,11 @@ export function MarketplaceProvider({
|
|
|
56
58
|
};
|
|
57
59
|
|
|
58
60
|
return (
|
|
59
|
-
<
|
|
60
|
-
<
|
|
61
|
-
<
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
</MarketplaceSdkContext.Provider>
|
|
65
|
-
</MarketplaceQueryClientProvider>
|
|
61
|
+
<MarketplaceSdkContext.Provider value={context}>
|
|
62
|
+
<ThemeProvider>
|
|
63
|
+
<div id={PROVIDER_ID}>{children}</div>
|
|
64
|
+
</ThemeProvider>
|
|
65
|
+
</MarketplaceSdkContext.Provider>
|
|
66
66
|
);
|
|
67
67
|
}
|
|
68
68
|
|
|
@@ -101,10 +101,8 @@ function MarketplaceProviderWithSequenceConnect({
|
|
|
101
101
|
};
|
|
102
102
|
|
|
103
103
|
return (
|
|
104
|
-
<
|
|
105
|
-
<
|
|
106
|
-
|
|
107
|
-
</MarketplaceSdkContext.Provider>
|
|
108
|
-
</MarketplaceQueryClientProvider>
|
|
104
|
+
<MarketplaceSdkContext.Provider value={context}>
|
|
105
|
+
<div id={PROVIDER_ID}>{children}</div>
|
|
106
|
+
</MarketplaceSdkContext.Provider>
|
|
109
107
|
);
|
|
110
108
|
}
|
|
@@ -2,7 +2,7 @@ import { SequenceCheckoutProvider } from '@0xsequence/checkout';
|
|
|
2
2
|
import { observer } from '@legendapp/state/react';
|
|
3
3
|
import type { ReactNode } from 'react';
|
|
4
4
|
import { useConfig } from '../hooks';
|
|
5
|
-
import
|
|
5
|
+
import SwitchChainErrorModal from '../ui/modals/_internal/components/switchChainErrorModal';
|
|
6
6
|
import TransactionStatusModal from '../ui/modals/_internal/components/transactionStatusModal';
|
|
7
7
|
import { BuyModal } from '../ui/modals/BuyModal/components/Modal';
|
|
8
8
|
import { CreateListingModal } from '../ui/modals/CreateListingModal/Modal';
|
|
@@ -34,7 +34,7 @@ export const ModalProvider = observer(({ children }: ModalProviderProps) => {
|
|
|
34
34
|
<BuyModal />
|
|
35
35
|
<SuccessfulPurchaseModal />
|
|
36
36
|
{/* Helper modals */}
|
|
37
|
-
<
|
|
37
|
+
<SwitchChainErrorModal />
|
|
38
38
|
<TransactionStatusModal />
|
|
39
39
|
</ShadowRoot>
|
|
40
40
|
</SequenceCheckoutProvider>
|
|
@@ -33,7 +33,7 @@ describe('fetchBalanceOfCollectible with LAOS', () => {
|
|
|
33
33
|
mockConfig,
|
|
34
34
|
);
|
|
35
35
|
|
|
36
|
-
// Should return
|
|
36
|
+
// Should return array of balances from LAOS API response
|
|
37
37
|
expect(result).toEqual(mockTokenBalancesResponse.balances[0]);
|
|
38
38
|
expect(result?.balance).toBe('5');
|
|
39
39
|
expect(result?.contractInfo?.type).toBe('LAOS-ERC-721');
|
|
@@ -71,7 +71,7 @@ describe('fetchBalanceOfCollectible with LAOS', () => {
|
|
|
71
71
|
mockConfig,
|
|
72
72
|
);
|
|
73
73
|
|
|
74
|
-
expect(result).
|
|
74
|
+
expect(result).toEqual(null);
|
|
75
75
|
});
|
|
76
76
|
|
|
77
77
|
it('should include metadata in LAOS response', async () => {
|
|
@@ -116,7 +116,7 @@ describe('fetchBalanceOfCollectible with LAOS', () => {
|
|
|
116
116
|
mockConfig,
|
|
117
117
|
);
|
|
118
118
|
|
|
119
|
-
// Should return
|
|
119
|
+
// Should return array of balances regardless of sort order
|
|
120
120
|
expect(result).toBeDefined();
|
|
121
121
|
expect(result?.balance).toBeDefined();
|
|
122
122
|
});
|
|
@@ -5,7 +5,7 @@ import { ContractType } from '../../_internal';
|
|
|
5
5
|
import { mockIndexerEndpoint } from '../../_internal/api/__mocks__/indexer.msw';
|
|
6
6
|
import { laosHandlers } from '../../_internal/api/__mocks__/laos.msw';
|
|
7
7
|
import { mockMarketplaceEndpoint } from '../../_internal/api/__mocks__/marketplace.msw';
|
|
8
|
-
import {
|
|
8
|
+
import { fetchInventory } from '../inventory';
|
|
9
9
|
|
|
10
10
|
describe('fetchInventory with LAOS', () => {
|
|
11
11
|
const mockConfig = {
|
|
@@ -27,7 +27,6 @@ describe('fetchInventory with LAOS', () => {
|
|
|
27
27
|
|
|
28
28
|
afterEach(() => {
|
|
29
29
|
server.resetHandlers();
|
|
30
|
-
clearInventoryState();
|
|
31
30
|
});
|
|
32
31
|
|
|
33
32
|
it('should fetch LAOS inventory using LAOS API', async () => {
|
|
@@ -270,7 +269,11 @@ describe('fetchInventory with LAOS', () => {
|
|
|
270
269
|
|
|
271
270
|
expect(result).toBeDefined();
|
|
272
271
|
expect(result.collectibles).toEqual([]);
|
|
273
|
-
|
|
272
|
+
// Page structure has changed, no more 'more' property
|
|
273
|
+
expect(result.page).toEqual({
|
|
274
|
+
page: 1,
|
|
275
|
+
pageSize: 10,
|
|
276
|
+
});
|
|
274
277
|
});
|
|
275
278
|
|
|
276
279
|
it('should include LAOS metadata in inventory items', async () => {
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import { server } from '@test';
|
|
2
|
+
import { afterEach, describe, expect, it } from 'vitest';
|
|
3
|
+
import {
|
|
4
|
+
laosHandlers,
|
|
5
|
+
mockTokenBalancesResponse,
|
|
6
|
+
} from '../../_internal/api/__mocks__/laos.msw';
|
|
7
|
+
import { fetchTokenBalances } from '../tokenBalances';
|
|
8
|
+
|
|
9
|
+
describe('fetchTokenBalances with LAOS', () => {
|
|
10
|
+
const mockConfig = {
|
|
11
|
+
projectAccessKey: 'test-key',
|
|
12
|
+
projectId: '1',
|
|
13
|
+
chainId: 11155111,
|
|
14
|
+
apiUrl: 'https://marketplace-api.sequence.app',
|
|
15
|
+
isDev: false,
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
afterEach(() => {
|
|
19
|
+
server.resetHandlers();
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
it('should use LAOS API when isLaos721=true', async () => {
|
|
23
|
+
server.use(...laosHandlers);
|
|
24
|
+
|
|
25
|
+
const result = await fetchTokenBalances(
|
|
26
|
+
{
|
|
27
|
+
collectionAddress: '0x1234567890123456789012345678901234567890',
|
|
28
|
+
userAddress: '0xuser1234567890123456789012345678901234567890',
|
|
29
|
+
chainId: 11155111,
|
|
30
|
+
isLaos721: true,
|
|
31
|
+
},
|
|
32
|
+
mockConfig,
|
|
33
|
+
);
|
|
34
|
+
|
|
35
|
+
// Should return array of balances from LAOS API response
|
|
36
|
+
expect(result).toEqual(mockTokenBalancesResponse.balances);
|
|
37
|
+
expect(result[0]?.balance).toBe('5');
|
|
38
|
+
expect(result[0]?.contractInfo?.type).toBe('LAOS-ERC-721');
|
|
39
|
+
expect(result[0]?.tokenMetadata?.name).toBe('Test Token 1');
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
it('should handle LAOS API errors', async () => {
|
|
43
|
+
server.use(...laosHandlers);
|
|
44
|
+
|
|
45
|
+
await expect(
|
|
46
|
+
fetchTokenBalances(
|
|
47
|
+
{
|
|
48
|
+
collectionAddress: '0x1234567890123456789012345678901234567890',
|
|
49
|
+
userAddress: '0x0000000000000000000000000000000000000001', // Special address for 500 error
|
|
50
|
+
chainId: 11155111,
|
|
51
|
+
isLaos721: true,
|
|
52
|
+
},
|
|
53
|
+
mockConfig,
|
|
54
|
+
),
|
|
55
|
+
).rejects.toThrow('Failed to get token balances: Internal Server Error');
|
|
56
|
+
});
|
|
57
|
+
|
|
58
|
+
it('should return empty array when LAOS API returns empty balances', async () => {
|
|
59
|
+
server.use(...laosHandlers);
|
|
60
|
+
|
|
61
|
+
const result = await fetchTokenBalances(
|
|
62
|
+
{
|
|
63
|
+
collectionAddress: '0x1234567890123456789012345678901234567890',
|
|
64
|
+
userAddress: '0x0000000000000000000000000000000000000003', // Special address for empty response
|
|
65
|
+
chainId: 11155111,
|
|
66
|
+
isLaos721: true,
|
|
67
|
+
},
|
|
68
|
+
mockConfig,
|
|
69
|
+
);
|
|
70
|
+
|
|
71
|
+
expect(result).toEqual([]);
|
|
72
|
+
});
|
|
73
|
+
|
|
74
|
+
it('should include metadata in LAOS response', async () => {
|
|
75
|
+
server.use(...laosHandlers);
|
|
76
|
+
|
|
77
|
+
const result = await fetchTokenBalances(
|
|
78
|
+
{
|
|
79
|
+
collectionAddress: '0x1234567890123456789012345678901234567890',
|
|
80
|
+
userAddress: '0xuser1234567890123456789012345678901234567890',
|
|
81
|
+
chainId: 11155111,
|
|
82
|
+
isLaos721: true,
|
|
83
|
+
},
|
|
84
|
+
mockConfig,
|
|
85
|
+
);
|
|
86
|
+
|
|
87
|
+
expect(result[0]?.tokenMetadata).toBeDefined();
|
|
88
|
+
expect(result[0]?.tokenMetadata?.name).toBe('Test Token 1');
|
|
89
|
+
expect(result[0]?.tokenMetadata?.description).toBe(
|
|
90
|
+
'A test token for LAOS testing',
|
|
91
|
+
);
|
|
92
|
+
expect(result[0]?.tokenMetadata?.image).toBe(
|
|
93
|
+
'https://example.com/token1.png',
|
|
94
|
+
);
|
|
95
|
+
expect(result[0]?.tokenMetadata?.attributes).toEqual([
|
|
96
|
+
{
|
|
97
|
+
trait_type: 'Rarity',
|
|
98
|
+
value: 'Common',
|
|
99
|
+
},
|
|
100
|
+
]);
|
|
101
|
+
});
|
|
102
|
+
|
|
103
|
+
it('should handle different pagination orders', async () => {
|
|
104
|
+
server.use(...laosHandlers);
|
|
105
|
+
|
|
106
|
+
const result = await fetchTokenBalances(
|
|
107
|
+
{
|
|
108
|
+
collectionAddress: '0x1234567890123456789012345678901234567890',
|
|
109
|
+
userAddress: '0xuser1234567890123456789012345678901234567890',
|
|
110
|
+
chainId: 11155111,
|
|
111
|
+
isLaos721: true,
|
|
112
|
+
},
|
|
113
|
+
mockConfig,
|
|
114
|
+
);
|
|
115
|
+
|
|
116
|
+
// Should return array of balances regardless of sort order
|
|
117
|
+
expect(result).toBeDefined();
|
|
118
|
+
expect(Array.isArray(result)).toBe(true);
|
|
119
|
+
expect(result.every((balance) => typeof balance.balance === 'string')).toBe(
|
|
120
|
+
true,
|
|
121
|
+
);
|
|
122
|
+
});
|
|
123
|
+
});
|
|
@@ -10,6 +10,7 @@ export type UseBalanceOfCollectibleArgs = {
|
|
|
10
10
|
userAddress: Address | undefined;
|
|
11
11
|
chainId: number;
|
|
12
12
|
isLaos721?: boolean;
|
|
13
|
+
includeMetadata?: boolean;
|
|
13
14
|
query?: UseQueryParameters;
|
|
14
15
|
};
|
|
15
16
|
|
|
@@ -44,7 +45,7 @@ export async function fetchBalanceOfCollectible(
|
|
|
44
45
|
accountAddress: args.userAddress,
|
|
45
46
|
contractAddress: args.collectionAddress,
|
|
46
47
|
tokenID: args.collectableId,
|
|
47
|
-
includeMetadata: false,
|
|
48
|
+
includeMetadata: args.includeMetadata ?? false,
|
|
48
49
|
metadataOptions: {
|
|
49
50
|
verifiedOnly: true,
|
|
50
51
|
includeContracts: [args.collectionAddress],
|
|
@@ -53,30 +53,26 @@ export async function fetchFilters(
|
|
|
53
53
|
compareAddress(c.itemsAddress, collectionAddress),
|
|
54
54
|
)?.filterSettings;
|
|
55
55
|
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
});
|
|
77
|
-
|
|
78
|
-
const filteredResults = sortedFilters.reduce<PropertyFilter[]>(
|
|
79
|
-
(acc, filter) => {
|
|
56
|
+
const filterOrder = collectionFilters?.filterOrder;
|
|
57
|
+
const exclusions = collectionFilters?.exclusions;
|
|
58
|
+
let sortedFilters = filters;
|
|
59
|
+
|
|
60
|
+
if (filterOrder) {
|
|
61
|
+
sortedFilters = filters.toSorted((a, b) => {
|
|
62
|
+
const aIndex =
|
|
63
|
+
filterOrder.indexOf(a.name) > -1
|
|
64
|
+
? filterOrder.indexOf(a.name)
|
|
65
|
+
: filterOrder.length;
|
|
66
|
+
const bIndex =
|
|
67
|
+
filterOrder.indexOf(b.name) > -1
|
|
68
|
+
? filterOrder.indexOf(b.name)
|
|
69
|
+
: filterOrder.length;
|
|
70
|
+
return aIndex - bIndex;
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
if (exclusions) {
|
|
75
|
+
sortedFilters = sortedFilters.reduce<PropertyFilter[]>((acc, filter) => {
|
|
80
76
|
const exclusionRule = exclusions.find((rule) => rule.key === filter.name);
|
|
81
77
|
|
|
82
78
|
if (!exclusionRule) {
|
|
@@ -100,11 +96,10 @@ export async function fetchFilters(
|
|
|
100
96
|
}
|
|
101
97
|
|
|
102
98
|
return acc;
|
|
103
|
-
},
|
|
104
|
-
|
|
105
|
-
);
|
|
99
|
+
}, []);
|
|
100
|
+
}
|
|
106
101
|
|
|
107
|
-
return
|
|
102
|
+
return sortedFilters;
|
|
108
103
|
}
|
|
109
104
|
|
|
110
105
|
export type FiltersQueryOptions = ValuesOptional<FetchFiltersParams> & {
|
|
@@ -24,6 +24,7 @@ export * from './listCollectiblesPaginated';
|
|
|
24
24
|
export * from './listCollectionActivities';
|
|
25
25
|
export * from './listCollections';
|
|
26
26
|
export * from './listListingsForCollectible';
|
|
27
|
+
export * from './listOffersForCollectible';
|
|
27
28
|
export * from './listTokenMetadata';
|
|
28
29
|
export * from './lowestListing';
|
|
29
30
|
export * from './marketCurrencies';
|