@0xsequence/marketplace-sdk 0.8.11 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +236 -2
- package/dist/CalendarIcon-DbQ7Vxcw.js +141 -0
- package/dist/CalendarIcon-DbQ7Vxcw.js.map +1 -0
- package/dist/CollectibleCard-C8Ae64Ab.d.ts +71 -0
- package/dist/_internal-BgWcRIak.js +22 -0
- package/dist/_internal-BgWcRIak.js.map +1 -0
- package/dist/abi-BKyRjVcZ.js +0 -0
- package/dist/{alien_swap-2B65TDGT.js → alien_swap-B_76IMma.js} +5 -5
- package/dist/alien_swap-B_76IMma.js.map +1 -0
- package/dist/api-DTIan01C.js +241 -0
- package/dist/api-DTIan01C.js.map +1 -0
- package/dist/{aqua-xyz-WMYQLAIS.js → aqua-xyz-CMN_TFY5.js} +5 -5
- package/dist/aqua-xyz-CMN_TFY5.js.map +1 -0
- package/dist/{aura-V22RV5OG.js → aura-Cye_TuHj.js} +5 -5
- package/dist/aura-Cye_TuHj.js.map +1 -0
- package/dist/{blur-GE5QOMCM.js → blur-DWDMyMpK.js} +5 -5
- package/dist/blur-DWDMyMpK.js.map +1 -0
- package/dist/builder-api-BFuZNOaN.js +28 -0
- package/dist/builder-api-BFuZNOaN.js.map +1 -0
- package/dist/builder-api-C_zj5mr3.d.ts +12 -0
- package/dist/builder.gen-B9wR2nvF.js +303 -0
- package/dist/builder.gen-B9wR2nvF.js.map +1 -0
- package/dist/{coinbase-NLHJMGAP.js → coinbase-ByA_XRB0.js} +5 -5
- package/dist/coinbase-ByA_XRB0.js.map +1 -0
- package/dist/{element-2LGTYYSP.js → element-b77CyXIZ.js} +5 -5
- package/dist/element-b77CyXIZ.js.map +1 -0
- package/dist/{foundation-BPN66ZTN.js → foundation-DbOrKP9Y.js} +5 -5
- package/dist/foundation-DbOrKP9Y.js.map +1 -0
- package/dist/index-21LE7OhL.d.ts +102 -0
- package/dist/index-BL9RUSEK.d.ts +1803 -0
- package/dist/index-BQsgAvtX.d.ts +2938 -0
- package/dist/index-BUVWziLP.d.ts +60 -0
- package/dist/index-ByznONYE.d.ts +187 -0
- package/dist/index-C39K_8SG.d.ts +1 -0
- package/dist/index-CLy8y5hm.d.ts +1057 -0
- package/dist/index-COt10OgI.d.ts +24 -0
- package/dist/index-D5v5iluA.d.ts +809 -0
- package/dist/index-DPNWNa7t.d.ts +414 -0
- package/dist/index-DXMfTZ1F.d.ts +7 -0
- package/dist/index-DaE5ZNHb.d.ts +24 -0
- package/dist/index-DsfCs3-x.d.ts +122 -0
- package/dist/index-DvpBZgor.d.ts +1 -0
- package/dist/index-dUb6wb4Y.d.ts +22 -0
- package/dist/index.css +397 -371
- package/dist/index.d.ts +10 -29
- package/dist/index.js +13 -104
- package/dist/{looks-rare-MZRSOPT4.js → looks-rare-C1VqNcSM.js} +5 -5
- package/dist/looks-rare-C1VqNcSM.js.map +1 -0
- package/dist/{magic-eden-PUBL6KWW.js → magic-eden-ea_AGCZr.js} +5 -5
- package/dist/magic-eden-ea_AGCZr.js.map +1 -0
- package/dist/{manifold-GA445YJ6.js → manifold-8y8J2sjT.js} +5 -5
- package/dist/manifold-8y8J2sjT.js.map +1 -0
- package/dist/marketplace-logos-CSeGcPW4.js +50 -0
- package/dist/marketplace-logos-CSeGcPW4.js.map +1 -0
- package/dist/marketplace-nwnZv9Cb.js +1913 -0
- package/dist/marketplace-nwnZv9Cb.js.map +1 -0
- package/dist/marketplace.gen-BSDIX7NZ.js +1077 -0
- package/dist/marketplace.gen-BSDIX7NZ.js.map +1 -0
- package/dist/marketplaceConfig-C6X1SUik.js +71 -0
- package/dist/marketplaceConfig-C6X1SUik.js.map +1 -0
- package/dist/{mintify-UMC5PTKC.js → mintify-LA68TzWg.js} +5 -5
- package/dist/mintify-LA68TzWg.js.map +1 -0
- package/dist/new-marketplace-types-Bfis0U4J.d.ts +1546 -0
- package/dist/{nftx-AX3CY3IE.js → nftx-D3Tc8nzd.js} +5 -5
- package/dist/nftx-D3Tc8nzd.js.map +1 -0
- package/dist/{okx-GNVLAE2R.js → okx-hbqg6oIJ.js} +5 -5
- package/dist/okx-hbqg6oIJ.js.map +1 -0
- package/dist/{open-sea-KI43GVEB.js → open-sea-BccuK8-t.js} +5 -5
- package/dist/open-sea-BccuK8-t.js.map +1 -0
- package/dist/options-B4QN7Xou.js +0 -0
- package/dist/primary-sale-C55ALnfQ.js +1264 -0
- package/dist/primary-sale-C55ALnfQ.js.map +1 -0
- package/dist/queries-CUU65uYZ.js +599 -0
- package/dist/queries-CUU65uYZ.js.map +1 -0
- package/dist/{rarible-2J3MMZJ7.js → rarible-BgTwwj9g.js} +5 -5
- package/dist/rarible-BgTwwj9g.js.map +1 -0
- package/dist/react/_internal/api/index.d.ts +4 -86
- package/dist/react/_internal/api/index.js +7 -150
- package/dist/react/_internal/databeat/index.d.ts +45 -41
- package/dist/react/_internal/databeat/index.js +23 -27
- package/dist/react/_internal/index.d.ts +7 -76
- package/dist/react/_internal/index.js +9 -176
- package/dist/react/_internal/wagmi/index.d.ts +4 -17
- package/dist/react/_internal/wagmi/index.js +5 -14
- package/dist/react/hooks/index.d.ts +18 -3652
- package/dist/react/hooks/index.js +23 -153
- package/dist/react/hooks/options/index.d.ts +4 -8
- package/dist/react/hooks/options/index.js +11 -21
- package/dist/react/index.d.ts +18 -36
- package/dist/react/index.js +23 -193
- package/dist/react/queries/index.d.ts +8 -26
- package/dist/react/queries/index.js +18 -51
- package/dist/react/ssr/index.d.ts +19 -13
- package/dist/react/ssr/index.js +29 -28
- package/dist/react/ssr/index.js.map +1 -1
- package/dist/react/ui/components/marketplace-collectible-card/index.d.ts +9 -0
- package/dist/react/ui/components/marketplace-collectible-card/index.js +23 -0
- package/dist/react/ui/components/marketplace-collectible-card/utils/index.d.ts +8 -0
- package/dist/react/ui/components/marketplace-collectible-card/utils/index.js +10 -0
- package/dist/react/ui/components/marketplace-logos/index.d.ts +26 -24
- package/dist/react/ui/components/marketplace-logos/index.js +3 -45
- package/dist/react/ui/icons/index.d.ts +1 -2
- package/dist/react/ui/icons/index.js +10 -14
- package/dist/react/ui/index.d.ts +9 -116
- package/dist/react/ui/index.js +23 -41
- package/dist/react/ui/modals/_internal/components/actionModal/index.d.ts +59 -33
- package/dist/react/ui/modals/_internal/components/actionModal/index.js +23 -31
- package/dist/react-BbHBl6gg.css +80 -0
- package/dist/react-BbHBl6gg.css.map +1 -0
- package/dist/react-DAIicQPT.js +8938 -0
- package/dist/react-DAIicQPT.js.map +1 -0
- package/dist/{sequence-TGLUFEPQ.js → sequence-Do3kzb4J.js} +5 -5
- package/dist/sequence-Do3kzb4J.js.map +1 -0
- package/dist/src-Dz2CfBL0.js +8 -0
- package/dist/src-Dz2CfBL0.js.map +1 -0
- package/dist/{sudo-swap-M2O6E3TE.js → sudo-swap-B6vPKxBz.js} +5 -5
- package/dist/sudo-swap-B6vPKxBz.js.map +1 -0
- package/dist/{super-rare-UU2U4LIN.js → super-rare-eCm1SE6O.js} +5 -5
- package/dist/super-rare-eCm1SE6O.js.map +1 -0
- package/dist/token-Da4TdyUk.js +2091 -0
- package/dist/token-Da4TdyUk.js.map +1 -0
- package/dist/transaction-CcVViHEL.js +97 -0
- package/dist/transaction-CcVViHEL.js.map +1 -0
- package/dist/types/index.d.ts +3 -13
- package/dist/types/index.js +5 -44
- package/dist/types-DwWE6xOF.js +13 -0
- package/dist/types-DwWE6xOF.js.map +1 -0
- package/dist/utils/abi/index.d.ts +5 -3
- package/dist/utils/abi/index.js +6 -26
- package/dist/utils/abi/marketplace/index.d.ts +2 -805
- package/dist/utils/abi/marketplace/index.js +3 -11
- package/dist/utils/abi/primary-sale/index.d.ts +2 -1054
- package/dist/utils/abi/primary-sale/index.js +3 -9
- package/dist/utils/abi/token/index.d.ts +2 -1125
- package/dist/utils/abi/token/index.js +3 -11
- package/dist/utils/index.d.ts +8 -91
- package/dist/utils/index.js +11 -57
- package/dist/utils-BPYfgDSL.js +44 -0
- package/dist/utils-BPYfgDSL.js.map +1 -0
- package/dist/utils-CW2NA5KG.js +216 -0
- package/dist/utils-CW2NA5KG.js.map +1 -0
- package/dist/wagmi-CDzEQbfk.js +166 -0
- package/dist/wagmi-CDzEQbfk.js.map +1 -0
- package/dist/{x2y2-3W5BBMZC.js → x2y2-DD17tT91.js} +5 -5
- package/dist/x2y2-DD17tT91.js.map +1 -0
- package/dist/{zora-6EY6FUH6.js → zora-BpSG9UzS.js} +5 -5
- package/dist/zora-BpSG9UzS.js.map +1 -0
- package/eslint/use-client.js +0 -6
- package/package.json +36 -35
- package/src/index.ts +1 -2
- package/src/react/_internal/api/__mocks__/builder.msw.ts +5 -3
- package/src/react/_internal/api/__mocks__/indexer.msw.ts +9 -8
- package/src/react/_internal/api/__mocks__/marketplace.msw.ts +4 -6
- package/src/react/_internal/api/__mocks__/metadata.msw.ts +1 -1
- package/src/react/_internal/api/builder.gen.ts +6 -7
- package/src/react/_internal/api/get-query-client.ts +2 -2
- package/src/react/_internal/api/index.ts +2 -2
- package/src/react/_internal/api/marketplace.gen.ts +505 -26
- package/src/react/_internal/api/query-keys.ts +13 -6
- package/src/react/_internal/api/services.ts +42 -52
- package/src/react/_internal/index.ts +1 -1
- package/src/react/_internal/types.ts +10 -23
- package/src/react/_internal/utils.ts +1 -2
- package/src/react/_internal/wagmi/__tests__/create-config.test.ts +5 -5
- package/src/react/_internal/wagmi/create-config.ts +23 -9
- package/src/react/_internal/wagmi/get-connectors.ts +10 -5
- package/src/react/_internal/wallet/__tests__/wallet.test.ts +1 -1
- package/src/react/_internal/wallet/wallet.ts +18 -18
- package/src/react/hooks/__tests__/__snapshots__/useListCollections.test.tsx.snap +181 -2
- package/src/react/hooks/__tests__/__snapshots__/useMarketplaceConfig.test.tsx.snap +54 -6
- package/src/react/hooks/__tests__/useAutoSelectFeeOption.test.tsx +8 -5
- package/src/react/hooks/__tests__/useBalanceOfCollectible.test.tsx +1 -1
- package/src/react/hooks/__tests__/useCancelOrder.test.tsx +4 -4
- package/src/react/hooks/__tests__/useCancelTransactionSteps.test.tsx +1 -1
- package/src/react/hooks/__tests__/useCheckoutOptionsSalesContract.test.tsx +225 -0
- package/src/react/hooks/__tests__/useCollectible.test.tsx +14 -16
- package/src/react/hooks/__tests__/useCollection.test.tsx +4 -4
- package/src/react/hooks/__tests__/useCollectionBalanceDetails.test.tsx +1 -27
- package/src/react/hooks/__tests__/useCollectionDetails.test.tsx +1 -1
- package/src/react/hooks/__tests__/useCollectionDetailsPolling.test.tsx +4 -4
- package/src/react/hooks/__tests__/useComparePrices.test.tsx +7 -6
- package/src/react/hooks/__tests__/useConvertPriceToUSD.test.tsx +1 -1
- package/src/react/hooks/__tests__/useCountListingsForCollectible.test.tsx +2 -2
- package/src/react/hooks/__tests__/useCountOfCollectables.test.tsx +5 -5
- package/src/react/hooks/__tests__/useCountOffersForCollectible.test.tsx +2 -2
- package/src/react/hooks/__tests__/useCurrency.test.tsx +5 -3
- package/src/react/hooks/__tests__/useFilters.test.tsx +1 -1
- package/src/react/hooks/__tests__/useFloorOrder.test.tsx +4 -4
- package/src/react/hooks/__tests__/useGenerateCancelTransaction.test.tsx +5 -6
- package/src/react/hooks/__tests__/useGenerateListingTransaction.test.tsx +1 -1
- package/src/react/hooks/__tests__/useGenerateOfferTransaction.test.tsx +1 -1
- package/src/react/hooks/__tests__/useGenerateSellTransaction.test.tsx +1 -1
- package/src/react/hooks/__tests__/useGetTokenSuppliesMap.test.tsx +104 -0
- package/src/react/hooks/__tests__/useHighestOffer.test.tsx +4 -20
- package/src/react/hooks/__tests__/useInventory.test.tsx +1 -37
- package/src/react/hooks/__tests__/useListCollectibleActivities.test.tsx +11 -13
- package/src/react/hooks/__tests__/useListCollectibles.test.tsx +5 -5
- package/src/react/hooks/__tests__/useListCollectiblesPaginated.test.tsx +10 -15
- package/src/react/hooks/__tests__/useListCollectionActivities.test.tsx +13 -15
- package/src/react/hooks/__tests__/useListCollections.test.tsx +4 -4
- package/src/react/hooks/__tests__/useListListingsForCollectible.test.tsx +3 -2
- package/src/react/hooks/__tests__/useListMarketCardData.test.tsx +301 -0
- package/src/react/hooks/__tests__/useListOffersForCollectible.test.tsx +1 -1
- package/src/react/hooks/__tests__/useListTokenMetadata.test.tsx +111 -0
- package/src/react/hooks/__tests__/useLowestListing.test.tsx +1 -1
- package/src/react/hooks/__tests__/useMarketCurrencies.test.tsx +1 -1
- package/src/react/hooks/__tests__/useRoyalty.test.tsx +0 -23
- package/src/react/hooks/index.ts +27 -17
- package/src/react/hooks/options/index.ts +0 -1
- package/src/react/hooks/useAutoSelectFeeOption.tsx +1 -1
- package/src/react/hooks/useBalanceOfCollectible.tsx +14 -10
- package/src/react/hooks/useCancelTransactionSteps.tsx +7 -3
- package/src/react/hooks/useCheckoutOptionsSalesContract.tsx +67 -0
- package/src/react/hooks/useCollectible.tsx +64 -49
- package/src/react/hooks/useCollection.tsx +60 -11
- package/src/react/hooks/useCollectionBalanceDetails.tsx +20 -27
- package/src/react/hooks/useCollectionDetails.ts +69 -0
- package/src/react/hooks/useCollectionDetailsPolling.tsx +10 -2
- package/src/react/hooks/useComparePrices.tsx +18 -21
- package/src/react/hooks/useConvertPriceToUSD.tsx +20 -37
- package/src/react/hooks/useCountListingsForCollectible.tsx +64 -52
- package/src/react/hooks/useCountOfCollectables.tsx +61 -67
- package/src/react/hooks/useCountOfPrimarySaleItems.tsx +13 -0
- package/src/react/hooks/useCountOffersForCollectible.tsx +64 -52
- package/src/react/hooks/useCurrency.tsx +56 -64
- package/src/react/hooks/useERC721SaleMintedTokens.tsx +67 -0
- package/src/react/hooks/useFilterState.tsx +1 -2
- package/src/react/hooks/useFloorOrder.tsx +65 -37
- package/src/react/hooks/useGenerateCancelTransaction.tsx +17 -15
- package/src/react/hooks/useGenerateListingTransaction.tsx +16 -6
- package/src/react/hooks/useGenerateOfferTransaction.tsx +16 -7
- package/src/react/hooks/useGenerateSellTransaction.tsx +19 -15
- package/src/react/hooks/useGetReceiptFromHash.tsx +32 -3
- package/src/react/hooks/useGetTokenRanges.tsx +31 -0
- package/src/react/hooks/useGetTokenSuppliesMap.tsx +73 -0
- package/src/react/hooks/useHighestOffer.tsx +68 -4
- package/src/react/hooks/useInventory.tsx +8 -6
- package/src/react/hooks/useList1155ShopCardData.tsx +103 -0
- package/src/react/hooks/useList721ShopCardData.tsx +160 -0
- package/src/react/hooks/useListBalances.tsx +7 -10
- package/src/react/hooks/useListCollectibleActivities.tsx +89 -49
- package/src/react/hooks/useListCollectibles.tsx +78 -26
- package/src/react/hooks/useListCollectiblesPaginated.tsx +96 -63
- package/src/react/hooks/useListCollectionActivities.tsx +84 -49
- package/src/react/hooks/useListCollections.tsx +72 -18
- package/src/react/hooks/useListListingsForCollectible.tsx +90 -49
- package/src/react/hooks/useListMarketCardData.tsx +157 -0
- package/src/react/hooks/useListOffersForCollectible.tsx +11 -15
- package/src/react/hooks/useListPrimarySaleItems.ts +102 -0
- package/src/react/hooks/useListShopCardData.tsx +70 -0
- package/src/react/hooks/useListTokenMetadata.tsx +73 -0
- package/src/react/hooks/useLowestListing.tsx +68 -4
- package/src/react/hooks/useMarketCurrencies.tsx +62 -5
- package/src/react/hooks/useRoyalty.tsx +57 -13
- package/src/react/hooks/useShopCollectibleSaleData.tsx +349 -0
- package/src/react/hooks/useTokenSaleDetailsBatch.tsx +134 -0
- package/src/react/hooks/useTransferTokens.tsx +1 -1
- package/src/react/hooks/util/optimisticCancelUpdates.ts +5 -7
- package/src/react/index.ts +5 -3
- package/src/react/queries/balanceOfCollectible.ts +1 -1
- package/src/react/queries/collectible.ts +66 -0
- package/src/react/queries/collection.ts +55 -0
- package/src/react/queries/collectionDetails.ts +64 -0
- package/src/react/queries/countListingsForCollectible.ts +73 -0
- package/src/react/queries/countOfCollectables.ts +83 -0
- package/src/react/queries/countOfPrimarySaleItems.ts +48 -0
- package/src/react/queries/countOffersForCollectible.ts +73 -0
- package/src/react/queries/currency.ts +83 -0
- package/src/react/queries/floorOrder.ts +63 -0
- package/src/react/queries/getTokenSuppliesMap.ts +77 -0
- package/src/react/queries/highestOffer.ts +48 -40
- package/src/react/queries/index.ts +7 -4
- package/src/react/queries/inventory.ts +38 -4
- package/src/react/queries/listBalances.ts +14 -30
- package/src/react/queries/listCollectibleActivities.ts +97 -0
- package/src/react/queries/listCollectibles.ts +117 -47
- package/src/react/queries/listCollectiblesPaginated.ts +87 -0
- package/src/react/queries/listCollectionActivities.ts +95 -0
- package/src/react/queries/listCollections.ts +55 -10
- package/src/react/queries/listListingsForCollectible.ts +82 -0
- package/src/react/queries/listTokenMetadata.ts +47 -18
- package/src/react/queries/lowestListing.ts +48 -31
- package/src/react/queries/marketCurrencies.ts +52 -35
- package/src/react/queries/marketplaceConfig.ts +56 -81
- package/src/react/ssr/__tests__/__snapshots__/create-ssr-client.test.ts.snap +54 -6
- package/src/react/ssr/__tests__/create-ssr-client.test.ts +0 -3
- package/src/react/ssr/create-ssr-client.ts +6 -11
- package/src/react/types/query.ts +34 -0
- package/src/react/ui/components/ModelViewer.tsx +1 -1
- package/src/react/ui/components/_internals/action-button/ActionButton.tsx +47 -13
- package/src/react/ui/components/_internals/action-button/__tests__/ActionButtonBody.test.tsx +1 -1
- package/src/react/ui/components/_internals/action-button/__tests__/NonOwnerActions.test.tsx +28 -15
- package/src/react/ui/components/_internals/action-button/__tests__/OwnerActions.test.tsx +1 -1
- package/src/react/ui/components/_internals/action-button/__tests__/useActionButtonLogic.test.tsx +15 -9
- package/src/react/ui/components/_internals/action-button/components/ActionButtonBody.tsx +1 -1
- package/src/react/ui/components/_internals/action-button/components/NonOwnerActions.tsx +78 -15
- package/src/react/ui/components/_internals/action-button/components/OwnerActions.tsx +1 -1
- package/src/react/ui/components/_internals/action-button/hooks/useActionButtonLogic.ts +13 -16
- package/src/react/ui/components/_internals/action-button/store.ts +46 -18
- package/src/react/ui/components/marketplace-collectible-card/CollectibleCard.tsx +17 -0
- package/src/react/ui/components/marketplace-collectible-card/CollectibleCardSkeleton.tsx +24 -0
- package/src/react/ui/components/marketplace-collectible-card/Footer.tsx +231 -0
- package/src/react/ui/components/marketplace-collectible-card/components/ActionButtonWrapper.tsx +76 -0
- package/src/react/ui/components/marketplace-collectible-card/components/BaseCard.tsx +58 -0
- package/src/react/ui/components/marketplace-collectible-card/index.ts +3 -0
- package/src/react/ui/components/marketplace-collectible-card/types.ts +98 -0
- package/src/react/ui/components/marketplace-collectible-card/utils/formatPrice.ts +45 -0
- package/src/react/ui/components/marketplace-collectible-card/utils/index.ts +2 -0
- package/src/react/ui/components/marketplace-collectible-card/utils/supplyStatus.ts +39 -0
- package/src/react/ui/components/marketplace-collectible-card/variants/MarketCard.tsx +125 -0
- package/src/react/ui/components/marketplace-collectible-card/variants/ShopCard.tsx +102 -0
- package/src/react/ui/components/marketplace-logos/marketplace-logos.tsx +1 -1
- package/src/react/ui/components/{collectible-card/media → media}/Media.tsx +47 -26
- package/src/react/ui/components/{collectible-card/media → media}/types.ts +3 -1
- package/src/react/ui/index.ts +8 -7
- package/src/react/ui/modals/BuyModal/__tests__/BuyModalRouter.test.tsx +554 -0
- package/src/react/ui/modals/BuyModal/__tests__/ERC1155ShopModal.test.tsx +392 -0
- package/src/react/ui/modals/BuyModal/__tests__/ERC721ShopModal.test.tsx +272 -0
- package/src/react/ui/modals/BuyModal/__tests__/Modal.test.tsx.bak +112 -0
- package/src/react/ui/modals/BuyModal/__tests__/Modal1155.test.tsx +117 -13
- package/src/react/ui/modals/BuyModal/__tests__/store.test.ts +10 -7
- package/src/react/ui/modals/BuyModal/components/BuyModalRouter.tsx +157 -0
- package/src/react/ui/modals/BuyModal/components/ERC1155BuyModal.tsx +136 -0
- package/src/react/ui/modals/BuyModal/components/ERC1155QuantityModal.tsx +183 -0
- package/src/react/ui/modals/BuyModal/components/ERC1155ShopModal.tsx +121 -0
- package/src/react/ui/modals/BuyModal/components/ERC721BuyModal.tsx +85 -0
- package/src/react/ui/modals/BuyModal/components/ERC721ShopModal.tsx +86 -0
- package/src/react/ui/modals/BuyModal/components/Modal.tsx +14 -0
- package/src/react/ui/modals/BuyModal/components/types.ts +8 -0
- package/src/react/ui/modals/BuyModal/hooks/__tests__/useCheckoutOptions.test.tsx +5 -5
- package/src/react/ui/modals/BuyModal/hooks/__tests__/useERC1155Checkout.test.tsx +379 -0
- package/src/react/ui/modals/BuyModal/hooks/__tests__/useERC721SalePaymentParams.test.tsx +253 -0
- package/src/react/ui/modals/BuyModal/hooks/__tests__/{useFees.test.tsx → useMarketPlatformFee.test.tsx} +10 -11
- package/src/react/ui/modals/BuyModal/hooks/useCheckoutOptions.ts +63 -45
- package/src/react/ui/modals/BuyModal/hooks/useERC1155Checkout.ts +73 -0
- package/src/react/ui/modals/BuyModal/hooks/useERC721SalePaymentParams.ts +196 -0
- package/src/react/ui/modals/BuyModal/hooks/useLoadData.ts +74 -18
- package/src/react/ui/modals/BuyModal/hooks/useMarketPlatformFee.ts +53 -0
- package/src/react/ui/modals/BuyModal/hooks/usePaymentModalParams.ts +30 -15
- package/src/react/ui/modals/BuyModal/store.ts +147 -13
- package/src/react/ui/modals/CreateListingModal/Modal.tsx +1 -1
- package/src/react/ui/modals/CreateListingModal/__tests__/Modal.test.tsx +2 -2
- package/src/react/ui/modals/CreateListingModal/hooks/useCreateListing.tsx +0 -1
- package/src/react/ui/modals/CreateListingModal/hooks/useGetTokenApproval.ts +4 -3
- package/src/react/ui/modals/CreateListingModal/hooks/useTransactionSteps.tsx +12 -9
- package/src/react/ui/modals/CreateListingModal/index.tsx +1 -1
- package/src/react/ui/modals/MakeOfferModal/Modal.tsx +2 -2
- package/src/react/ui/modals/MakeOfferModal/__tests__/Modal.test.tsx +1 -1
- package/src/react/ui/modals/MakeOfferModal/hooks/useGetTokenApproval.tsx +3 -2
- package/src/react/ui/modals/MakeOfferModal/hooks/useMakeOffer.tsx +0 -1
- package/src/react/ui/modals/MakeOfferModal/hooks/useTransactionSteps.tsx +12 -10
- package/src/react/ui/modals/MakeOfferModal/index.tsx +1 -1
- package/src/react/ui/modals/SellModal/Modal.tsx +3 -3
- package/src/react/ui/modals/SellModal/__tests__/Modal.test.tsx +6 -4
- package/src/react/ui/modals/SellModal/hooks/useGetTokenApproval.tsx +5 -4
- package/src/react/ui/modals/SellModal/hooks/useSell.tsx +0 -1
- package/src/react/ui/modals/SellModal/hooks/useTransactionSteps.tsx +11 -8
- package/src/react/ui/modals/SuccessfulPurchaseModal/__tests__/Modal.test.tsx +12 -8
- package/src/react/ui/modals/SuccessfulPurchaseModal/index.tsx +34 -28
- package/src/react/ui/modals/SuccessfulPurchaseModal/store.ts +71 -0
- package/src/react/ui/modals/TransferModal/_store.ts +1 -7
- package/src/react/ui/modals/TransferModal/_views/enterWalletAddress/_components/TokenQuantityInput.tsx +2 -3
- package/src/react/ui/modals/TransferModal/_views/enterWalletAddress/index.tsx +2 -2
- package/src/react/ui/modals/_internal/components/actionModal/ActionModal.test.tsx +1 -2
- package/src/react/ui/modals/_internal/components/actionModal/ActionModal.tsx +107 -112
- package/src/react/ui/modals/_internal/components/actionModal/store.ts +45 -12
- package/src/react/ui/modals/_internal/components/currencyOptionsSelect/__tests__/index.test.tsx +1 -1
- package/src/react/ui/modals/_internal/components/currencyOptionsSelect/index.tsx +0 -1
- package/src/react/ui/modals/_internal/components/floorPriceText/index.tsx +4 -4
- package/src/react/ui/modals/_internal/components/quantityInput/QuantityInputBase.tsx +166 -0
- package/src/react/ui/modals/_internal/components/quantityInput/index.tsx +12 -141
- package/src/react/ui/modals/_internal/components/selectWaasFeeOptions/__tests__/SelectWaasFeeOptions.test.tsx +1 -1
- package/src/react/ui/modals/_internal/components/selectWaasFeeOptions/_components/BalanceIndicator.tsx +1 -2
- package/src/react/ui/modals/_internal/components/selectWaasFeeOptions/useWaasFeeOptionManager.tsx +0 -1
- package/src/react/ui/modals/_internal/components/switchChainModal/__tests__/SwitchChainModal.test.tsx +12 -8
- package/src/react/ui/modals/_internal/components/switchChainModal/index.tsx +35 -33
- package/src/react/ui/modals/_internal/components/switchChainModal/store.ts +61 -32
- package/src/react/ui/modals/_internal/components/transactionPreview/index.tsx +1 -1
- package/src/react/ui/modals/_internal/components/transactionStatusModal/__tests__/TransactionStatusModal.test.tsx +1 -1
- package/src/react/ui/modals/_internal/components/transactionStatusModal/hooks/useTransactionStatus.ts +0 -1
- package/src/react/ui/modals/_internal/components/transactionStatusModal/store.ts +1 -1
- package/src/react/ui/modals/_internal/components/waasFeeOptionsSelect/WaasFeeOptionsSelect.tsx +1 -1
- package/src/react/ui/modals/modal-provider.tsx +3 -4
- package/src/types/api-types.ts +36 -36
- package/src/types/buyModalErrors.ts +438 -0
- package/src/types/index.ts +5 -2
- package/src/types/new-marketplace-types.ts +6 -21
- package/src/types/sdk-config.ts +19 -24
- package/src/types/types.ts +17 -0
- package/src/types/waas-types.ts +1 -1
- package/src/utils/_internal/error/transaction.ts +36 -1
- package/src/utils/abi/index.ts +1 -1
- package/src/utils/abi/primary-sale/index.ts +1 -1
- package/src/utils/abi/token/index.ts +2 -1
- package/src/utils/decode/erc20.ts +1 -1
- package/src/utils/index.ts +3 -3
- package/test/const.ts +3 -1
- package/test/mocks/wallet.ts +1 -1
- package/test/test-utils.tsx +3 -4
- package/tsconfig.json +1 -1
- package/tsdown.config.ts +25 -0
- package/.changeset/fluffy-jokes-lay.md +0 -5
- package/.changeset/wise-bugs-boil.md +0 -8
- package/.ctirc +0 -32
- package/dist/alien_swap-2B65TDGT.js.map +0 -1
- package/dist/aqua-xyz-WMYQLAIS.js.map +0 -1
- package/dist/aura-V22RV5OG.js.map +0 -1
- package/dist/blur-GE5QOMCM.js.map +0 -1
- package/dist/chunk-2PSNAIAT.js +0 -1
- package/dist/chunk-2PSNAIAT.js.map +0 -1
- package/dist/chunk-5C6ZZ6WX.js +0 -130
- package/dist/chunk-5C6ZZ6WX.js.map +0 -1
- package/dist/chunk-5O44EPXZ.js +0 -207
- package/dist/chunk-5O44EPXZ.js.map +0 -1
- package/dist/chunk-6CTFVBKU.js +0 -1
- package/dist/chunk-6CTFVBKU.js.map +0 -1
- package/dist/chunk-6OPMUCGX.js +0 -42
- package/dist/chunk-6OPMUCGX.js.map +0 -1
- package/dist/chunk-FUM4OGOQ.js +0 -1027
- package/dist/chunk-FUM4OGOQ.js.map +0 -1
- package/dist/chunk-L6KWLCER.js +0 -32
- package/dist/chunk-L6KWLCER.js.map +0 -1
- package/dist/chunk-LAP2CKLN.js +0 -485
- package/dist/chunk-LAP2CKLN.js.map +0 -1
- package/dist/chunk-LECCEZAO.js +0 -11
- package/dist/chunk-LECCEZAO.js.map +0 -1
- package/dist/chunk-N7SQWS2R.js +0 -38
- package/dist/chunk-N7SQWS2R.js.map +0 -1
- package/dist/chunk-NX52D7NX.js +0 -135
- package/dist/chunk-NX52D7NX.js.map +0 -1
- package/dist/chunk-OAOONM4S.js +0 -1787
- package/dist/chunk-OAOONM4S.js.map +0 -1
- package/dist/chunk-Q3ECVC4F.js +0 -811
- package/dist/chunk-Q3ECVC4F.js.map +0 -1
- package/dist/chunk-QY52UADF.js +0 -107
- package/dist/chunk-QY52UADF.js.map +0 -1
- package/dist/chunk-TNAR3XEF.js +0 -8729
- package/dist/chunk-TNAR3XEF.js.map +0 -1
- package/dist/chunk-XABYNWXO.js +0 -549
- package/dist/chunk-XABYNWXO.js.map +0 -1
- package/dist/chunk-XX4EVWBF.js +0 -1292
- package/dist/chunk-XX4EVWBF.js.map +0 -1
- package/dist/chunk-YB5UUF2G.js +0 -11
- package/dist/chunk-YB5UUF2G.js.map +0 -1
- package/dist/chunk-YWGFI4PN.js +0 -217
- package/dist/chunk-YWGFI4PN.js.map +0 -1
- package/dist/coinbase-NLHJMGAP.js.map +0 -1
- package/dist/create-config-DLMvMTkZ.d.ts +0 -8
- package/dist/element-2LGTYYSP.js.map +0 -1
- package/dist/foundation-BPN66ZTN.js.map +0 -1
- package/dist/get-query-client-D46hbjk6.d.ts +0 -5
- package/dist/index.css.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/looks-rare-MZRSOPT4.js.map +0 -1
- package/dist/magic-eden-PUBL6KWW.js.map +0 -1
- package/dist/manifold-GA445YJ6.js.map +0 -1
- package/dist/marketCurrencies-enNVYwBk.d.ts +0 -277
- package/dist/marketplace.gen-D24veUQs.d.ts +0 -1073
- package/dist/marketplaceConfig-BwNAbLPw.d.ts +0 -21
- package/dist/mintify-UMC5PTKC.js.map +0 -1
- package/dist/new-marketplace-types-BCw19X9S.d.ts +0 -102
- package/dist/nftx-AX3CY3IE.js.map +0 -1
- package/dist/okx-GNVLAE2R.js.map +0 -1
- package/dist/open-sea-KI43GVEB.js.map +0 -1
- package/dist/rarible-2J3MMZJ7.js.map +0 -1
- package/dist/react/_internal/api/index.js.map +0 -1
- package/dist/react/_internal/databeat/index.css +0 -2764
- package/dist/react/_internal/databeat/index.css.map +0 -1
- package/dist/react/_internal/databeat/index.js.map +0 -1
- package/dist/react/_internal/index.js.map +0 -1
- package/dist/react/_internal/wagmi/index.js.map +0 -1
- package/dist/react/hooks/index.css +0 -2764
- package/dist/react/hooks/index.css.map +0 -1
- package/dist/react/hooks/index.js.map +0 -1
- package/dist/react/hooks/options/index.js.map +0 -1
- package/dist/react/index.css +0 -2764
- package/dist/react/index.css.map +0 -1
- package/dist/react/index.js.map +0 -1
- package/dist/react/queries/index.js.map +0 -1
- package/dist/react/ui/components/collectible-card/index.css +0 -2764
- package/dist/react/ui/components/collectible-card/index.css.map +0 -1
- package/dist/react/ui/components/collectible-card/index.d.ts +0 -71
- package/dist/react/ui/components/collectible-card/index.js +0 -27
- package/dist/react/ui/components/collectible-card/index.js.map +0 -1
- package/dist/react/ui/components/marketplace-logos/index.js.map +0 -1
- package/dist/react/ui/icons/index.js.map +0 -1
- package/dist/react/ui/index.css +0 -2764
- package/dist/react/ui/index.css.map +0 -1
- package/dist/react/ui/index.js.map +0 -1
- package/dist/react/ui/modals/_internal/components/actionModal/index.css +0 -2764
- package/dist/react/ui/modals/_internal/components/actionModal/index.css.map +0 -1
- package/dist/react/ui/modals/_internal/components/actionModal/index.js.map +0 -1
- package/dist/sdk-config-qorA0TgF.d.ts +0 -165
- package/dist/sequence-TGLUFEPQ.js.map +0 -1
- package/dist/services-WrshxCqc.d.ts +0 -23
- package/dist/sudo-swap-M2O6E3TE.js.map +0 -1
- package/dist/super-rare-UU2U4LIN.js.map +0 -1
- package/dist/types/index.js.map +0 -1
- package/dist/useCollection-YAdXfVO7.d.ts +0 -61
- package/dist/utils/abi/index.js.map +0 -1
- package/dist/utils/abi/marketplace/index.js.map +0 -1
- package/dist/utils/abi/primary-sale/index.js.map +0 -1
- package/dist/utils/abi/token/index.js.map +0 -1
- package/dist/utils/index.js.map +0 -1
- package/dist/x2y2-3W5BBMZC.js.map +0 -1
- package/dist/zora-6EY6FUH6.js.map +0 -1
- package/postcss.config.mjs +0 -5
- package/src/react/_internal/api/zod-schema.ts +0 -678
- package/src/react/hooks/__tests__/__snapshots__/useRoyaltyPercentage.test.tsx.snap +0 -8
- package/src/react/hooks/options/collectionOptions.ts +0 -41
- package/src/react/hooks/useCheckoutOptions.tsx +0 -65
- package/src/react/hooks/useCollectionDetails.tsx +0 -35
- package/src/react/hooks/useGetTokenSuppliesMap.ts +0 -28
- package/src/react/hooks/useListTokenMetadata.ts +0 -19
- package/src/react/queries/getTokenSupplies.ts +0 -38
- package/src/react/ui/components/collectible-card/CollectibleCard.tsx +0 -170
- package/src/react/ui/components/collectible-card/Footer.tsx +0 -157
- package/src/react/ui/components/collectible-card/__tests__/CollectibleCard.test.tsx +0 -94
- package/src/react/ui/components/collectible-card/__tests__/Footer.test.tsx +0 -136
- package/src/react/ui/components/collectible-card/__tests__/Media.test.tsx +0 -264
- package/src/react/ui/components/collectible-card/index.ts +0 -2
- package/src/react/ui/modals/BuyModal/ERC1155QuantityModal.tsx +0 -130
- package/src/react/ui/modals/BuyModal/Modal.tsx +0 -124
- package/src/react/ui/modals/BuyModal/__tests__/Modal.test.tsx +0 -104
- package/src/react/ui/modals/BuyModal/hooks/useFees.ts +0 -39
- package/src/react/ui/modals/SuccessfulPurchaseModal/_store.ts +0 -72
- package/tsconfig.tsbuildinfo +0 -1
- package/tsup.config.ts +0 -23
- /package/src/react/ui/components/{collectible-card/media → media}/MediaSkeleton.tsx +0 -0
- /package/src/react/ui/components/{collectible-card/media → media}/utils.ts +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// biome-ignore lint/complexity/noStaticOnlyClass:
|
|
1
|
+
// biome-ignore lint/complexity/noStaticOnlyClass: static class provides better organization and type safety for query keys
|
|
2
2
|
class CollectableKeys {
|
|
3
3
|
static all = ['collectable'] as const;
|
|
4
4
|
static details = [...CollectableKeys.all, 'details'] as const;
|
|
@@ -35,7 +35,7 @@ class CollectableKeys {
|
|
|
35
35
|
] as const;
|
|
36
36
|
}
|
|
37
37
|
|
|
38
|
-
// biome-ignore lint/complexity/noStaticOnlyClass:
|
|
38
|
+
// biome-ignore lint/complexity/noStaticOnlyClass: static class provides better organization and type safety for query keys
|
|
39
39
|
class CollectionKeys {
|
|
40
40
|
static all = ['collections'] as const;
|
|
41
41
|
static list = [...CollectionKeys.all, 'list'] as const;
|
|
@@ -46,7 +46,7 @@ class CollectionKeys {
|
|
|
46
46
|
] as const;
|
|
47
47
|
}
|
|
48
48
|
|
|
49
|
-
// biome-ignore lint/complexity/noStaticOnlyClass:
|
|
49
|
+
// biome-ignore lint/complexity/noStaticOnlyClass: static class provides better organization and type safety for query keys
|
|
50
50
|
class BalanceQueries {
|
|
51
51
|
static all = ['balances'] as const;
|
|
52
52
|
static lists = [...BalanceQueries.all, 'tokenBalances'] as const;
|
|
@@ -56,14 +56,14 @@ class BalanceQueries {
|
|
|
56
56
|
] as const;
|
|
57
57
|
}
|
|
58
58
|
|
|
59
|
-
// biome-ignore lint/complexity/noStaticOnlyClass:
|
|
59
|
+
// biome-ignore lint/complexity/noStaticOnlyClass: static class provides better organization and type safety for query keys
|
|
60
60
|
class CheckoutKeys {
|
|
61
61
|
static all = ['checkouts'] as const;
|
|
62
62
|
static options = [...CheckoutKeys.all, 'options'] as const;
|
|
63
63
|
static cartItems = [...CheckoutKeys.all, 'cartItems'] as const;
|
|
64
64
|
}
|
|
65
65
|
|
|
66
|
-
// biome-ignore lint/complexity/noStaticOnlyClass:
|
|
66
|
+
// biome-ignore lint/complexity/noStaticOnlyClass: static class provides better organization and type safety for query keys
|
|
67
67
|
class CurrencyKeys {
|
|
68
68
|
static all = ['currencies'] as const;
|
|
69
69
|
static lists = [...CurrencyKeys.all, 'list'] as const;
|
|
@@ -71,14 +71,21 @@ class CurrencyKeys {
|
|
|
71
71
|
static conversion = [...CurrencyKeys.all, 'conversion'] as const;
|
|
72
72
|
}
|
|
73
73
|
|
|
74
|
-
// biome-ignore lint/complexity/noStaticOnlyClass:
|
|
74
|
+
// biome-ignore lint/complexity/noStaticOnlyClass: static class provides better organization and type safety for query keys
|
|
75
75
|
class ConfigKeys {
|
|
76
76
|
static all = ['configs'] as const;
|
|
77
77
|
static marketplace = [...ConfigKeys.all, 'marketplace'] as const;
|
|
78
78
|
}
|
|
79
|
+
|
|
80
|
+
// biome-ignore lint/complexity/noStaticOnlyClass: static class provides better organization and type safety for query keys
|
|
81
|
+
class MetadataKeys {
|
|
82
|
+
static all = ['metadata'] as const;
|
|
83
|
+
static tokenMetadata = [...MetadataKeys.all, 'tokenMetadata'] as const;
|
|
84
|
+
}
|
|
79
85
|
export const collectableKeys = CollectableKeys;
|
|
80
86
|
export const collectionKeys = CollectionKeys;
|
|
81
87
|
export const balanceQueries = BalanceQueries;
|
|
82
88
|
export const checkoutKeys = CheckoutKeys;
|
|
83
89
|
export const currencyKeys = CurrencyKeys;
|
|
84
90
|
export const configKeys = ConfigKeys;
|
|
91
|
+
export const metadataKeys = MetadataKeys;
|
|
@@ -2,19 +2,22 @@ import { SequenceAPIClient } from '@0xsequence/api';
|
|
|
2
2
|
import { SequenceIndexer } from '@0xsequence/indexer';
|
|
3
3
|
import { SequenceMetadata } from '@0xsequence/metadata';
|
|
4
4
|
import { networks, stringTemplate } from '@0xsequence/network';
|
|
5
|
-
import type { Env, SdkConfig } from '../../../types/sdk-config';
|
|
5
|
+
import type { ApiConfig, Env, SdkConfig } from '../../../types/sdk-config';
|
|
6
6
|
import { MissingConfigError } from '../../../utils/_internal/error/transaction';
|
|
7
|
+
import { BuilderAPI } from './builder-api';
|
|
7
8
|
import { SequenceMarketplace } from './marketplace-api';
|
|
8
9
|
|
|
9
10
|
const SERVICES = {
|
|
11
|
+
// biome-ignore lint/suspicious/noTemplateCurlyInString: template placeholder for stringTemplate function
|
|
10
12
|
sequenceApi: 'https://${prefix}api.sequence.app',
|
|
13
|
+
// biome-ignore lint/suspicious/noTemplateCurlyInString: template placeholder for stringTemplate function
|
|
11
14
|
metadata: 'https://${prefix}metadata.sequence.app',
|
|
15
|
+
// biome-ignore lint/suspicious/noTemplateCurlyInString: template placeholder for stringTemplate function
|
|
12
16
|
indexer: 'https://${prefix}${network}-indexer.sequence.app',
|
|
13
|
-
|
|
17
|
+
// biome-ignore lint/suspicious/noTemplateCurlyInString: template placeholder for stringTemplate function
|
|
18
|
+
marketplaceApi: 'https://${prefix}marketplace-api.sequence.app',
|
|
19
|
+
// biome-ignore lint/suspicious/noTemplateCurlyInString: template placeholder for stringTemplate function
|
|
14
20
|
builderRpcApi: 'https://${prefix}api.sequence.build',
|
|
15
|
-
//Used for fetching css and manifest
|
|
16
|
-
builderMarketplaceApi:
|
|
17
|
-
'https://${prefix}api.sequence.build/marketplace/${projectId}',
|
|
18
21
|
};
|
|
19
22
|
|
|
20
23
|
type ChainNameOrId = string | number;
|
|
@@ -35,19 +38,19 @@ const metadataURL = (env: Env = 'production') => {
|
|
|
35
38
|
const prefix = getPrefix(env);
|
|
36
39
|
return stringTemplate(SERVICES.metadata, { prefix });
|
|
37
40
|
};
|
|
41
|
+
|
|
38
42
|
const indexerURL = (chain: ChainNameOrId, env: Env = 'production') => {
|
|
39
43
|
const prefix = getPrefix(env);
|
|
40
44
|
const network = getNetwork(chain).name;
|
|
41
45
|
return stringTemplate(SERVICES.indexer, { network: network, prefix });
|
|
42
46
|
};
|
|
43
47
|
|
|
44
|
-
const marketplaceApiURL = (
|
|
48
|
+
const marketplaceApiURL = (env: Env = 'production') => {
|
|
45
49
|
const prefix = getPrefix(env);
|
|
46
|
-
|
|
47
|
-
return stringTemplate(SERVICES.marketplaceApi, { network: network, prefix });
|
|
50
|
+
return stringTemplate(SERVICES.marketplaceApi, { prefix });
|
|
48
51
|
};
|
|
49
52
|
|
|
50
|
-
|
|
53
|
+
const builderRpcApiURL = (env: Env = 'production') => {
|
|
51
54
|
const prefix = getPrefix(env);
|
|
52
55
|
return stringTemplate(SERVICES.builderRpcApi, { prefix });
|
|
53
56
|
};
|
|
@@ -57,58 +60,45 @@ export const sequenceApiUrl = (env: Env = 'production') => {
|
|
|
57
60
|
return stringTemplate(SERVICES.sequenceApi, { prefix });
|
|
58
61
|
};
|
|
59
62
|
|
|
60
|
-
export const
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
const
|
|
65
|
-
return
|
|
66
|
-
projectId,
|
|
67
|
-
prefix,
|
|
68
|
-
});
|
|
63
|
+
export const getBuilderClient = (config: SdkConfig) => {
|
|
64
|
+
const overrides = config._internal?.overrides?.api?.builder;
|
|
65
|
+
const url =
|
|
66
|
+
overrides?.url || builderRpcApiURL(overrides?.env || 'production');
|
|
67
|
+
const projectAccessKey = overrides?.accessKey || config.projectAccessKey;
|
|
68
|
+
return new BuilderAPI(url, projectAccessKey);
|
|
69
69
|
};
|
|
70
|
+
|
|
70
71
|
export const getMetadataClient = (config: SdkConfig) => {
|
|
71
|
-
const
|
|
72
|
-
const
|
|
73
|
-
|
|
72
|
+
const overrides = config._internal?.overrides?.api?.metadata;
|
|
73
|
+
const url = overrides?.url || metadataURL(overrides?.env || 'production');
|
|
74
|
+
const projectAccessKey = overrides?.accessKey || config.projectAccessKey;
|
|
75
|
+
return new SequenceMetadata(url, projectAccessKey);
|
|
74
76
|
};
|
|
77
|
+
|
|
75
78
|
export const getIndexerClient = (chain: ChainNameOrId, config: SdkConfig) => {
|
|
76
|
-
const
|
|
77
|
-
const
|
|
78
|
-
|
|
79
|
+
const overrides = config._internal?.overrides?.api?.indexer;
|
|
80
|
+
const url =
|
|
81
|
+
overrides?.url || indexerURL(chain, overrides?.env || 'production');
|
|
82
|
+
const projectAccessKey = overrides?.accessKey || config.projectAccessKey;
|
|
83
|
+
return new SequenceIndexer(url, projectAccessKey);
|
|
79
84
|
};
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
config
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
const projectAccessKey =
|
|
86
|
-
return new SequenceMarketplace(
|
|
87
|
-
marketplaceApiURL(chain, env),
|
|
88
|
-
projectAccessKey,
|
|
89
|
-
);
|
|
85
|
+
|
|
86
|
+
export const getMarketplaceClient = (config: SdkConfig) => {
|
|
87
|
+
const overrides = config._internal?.overrides?.api?.marketplace;
|
|
88
|
+
const url =
|
|
89
|
+
overrides?.url || marketplaceApiURL(overrides?.env || 'production');
|
|
90
|
+
const projectAccessKey = overrides?.accessKey || config.projectAccessKey;
|
|
91
|
+
return new SequenceMarketplace(url, projectAccessKey);
|
|
90
92
|
};
|
|
93
|
+
|
|
91
94
|
export const getSequenceApiClient = (config: SdkConfig) => {
|
|
92
|
-
const
|
|
93
|
-
const
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
const getAccessKey = ({ env, config }: { env: Env; config: SdkConfig }) => {
|
|
97
|
-
switch (env) {
|
|
98
|
-
case 'development':
|
|
99
|
-
if (!config._internal?.devAccessKey)
|
|
100
|
-
throw new MissingConfigError('devAccessKey for development env');
|
|
101
|
-
return config._internal?.devAccessKey;
|
|
102
|
-
case 'production':
|
|
103
|
-
return config.projectAccessKey;
|
|
104
|
-
case 'next':
|
|
105
|
-
if (!config._internal?.nextAccessKey)
|
|
106
|
-
throw new MissingConfigError('nextAccessKey for next env');
|
|
107
|
-
return config._internal?.nextAccessKey;
|
|
108
|
-
}
|
|
95
|
+
const overrides = config._internal?.overrides?.api?.sequenceApi;
|
|
96
|
+
const url = overrides?.url || sequenceApiUrl(overrides?.env || 'production');
|
|
97
|
+
const projectAccessKey = overrides?.accessKey || config.projectAccessKey;
|
|
98
|
+
return new SequenceAPIClient(url, projectAccessKey);
|
|
109
99
|
};
|
|
110
100
|
|
|
111
|
-
const getPrefix = (env:
|
|
101
|
+
const getPrefix = (env: ApiConfig['env']) => {
|
|
112
102
|
switch (env) {
|
|
113
103
|
case 'development':
|
|
114
104
|
return 'dev-';
|
|
@@ -1,30 +1,11 @@
|
|
|
1
|
-
import type { Address } from 'viem';
|
|
2
|
-
import { z } from 'zod';
|
|
3
1
|
import type { ContractType, CreateReq } from '../../types';
|
|
4
2
|
import type { MarketplaceKind } from './api';
|
|
5
3
|
|
|
6
|
-
export
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
})
|
|
10
|
-
.optional();
|
|
11
|
-
|
|
12
|
-
export type QueryArg = z.infer<typeof QueryArgSchema>;
|
|
13
|
-
|
|
14
|
-
export const CollectableIdSchema = z.string().or(z.number());
|
|
15
|
-
|
|
16
|
-
export const AddressSchema = z.string().transform((val, ctx) => {
|
|
17
|
-
const regex = /^0x[a-fA-F0-9]{40}$/;
|
|
18
|
-
|
|
19
|
-
if (!regex.test(val)) {
|
|
20
|
-
ctx.addIssue({
|
|
21
|
-
code: z.ZodIssueCode.custom,
|
|
22
|
-
message: `Invalid Address ${val}`,
|
|
23
|
-
});
|
|
24
|
-
}
|
|
4
|
+
export interface QueryArg {
|
|
5
|
+
enabled?: boolean;
|
|
6
|
+
}
|
|
25
7
|
|
|
26
|
-
|
|
27
|
-
});
|
|
8
|
+
export type CollectableId = string | number;
|
|
28
9
|
|
|
29
10
|
export type CollectionType = ContractType.ERC1155 | ContractType.ERC721;
|
|
30
11
|
|
|
@@ -75,3 +56,9 @@ export interface CancelInput {
|
|
|
75
56
|
orderId: string;
|
|
76
57
|
marketplace: MarketplaceKind;
|
|
77
58
|
}
|
|
59
|
+
|
|
60
|
+
export type ValuesOptional<T> = {
|
|
61
|
+
[K in keyof T]: T[K] | undefined;
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
export type Optional<T, K extends keyof T> = Pick<Partial<T>, K> & Omit<T, K>;
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import type { TypedData, TypedDataDomain } from 'viem';
|
|
2
|
-
import type { Hex } from 'viem';
|
|
1
|
+
import type { Hex, TypedData, TypedDataDomain } from 'viem';
|
|
3
2
|
import { type PostRequest, type Signature, type Step, StepType } from './api';
|
|
4
3
|
|
|
5
4
|
export interface SignatureStep {
|
|
@@ -3,10 +3,9 @@ import { beforeEach, describe, expect, it } from 'vitest';
|
|
|
3
3
|
import { type Config, cookieStorage } from 'wagmi';
|
|
4
4
|
import type { SdkConfig } from '../../../../types';
|
|
5
5
|
import { ContractType, OrderbookKind } from '../../../../types';
|
|
6
|
-
import {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
MarketplaceType,
|
|
6
|
+
import type {
|
|
7
|
+
MarketCollection,
|
|
8
|
+
MarketplaceConfig,
|
|
10
9
|
} from '../../../../types/new-marketplace-types';
|
|
11
10
|
import { MarketplaceWalletType } from '../../api/builder.gen';
|
|
12
11
|
import { createWagmiConfig } from '../create-config';
|
|
@@ -19,6 +18,7 @@ describe('createWagmiConfig', () => {
|
|
|
19
18
|
baseMarketplace = {
|
|
20
19
|
projectId: 1,
|
|
21
20
|
settings: {
|
|
21
|
+
style: {},
|
|
22
22
|
publisherId: 'test-publisher',
|
|
23
23
|
title: 'Test Marketplace',
|
|
24
24
|
socials: {
|
|
@@ -47,7 +47,7 @@ describe('createWagmiConfig', () => {
|
|
|
47
47
|
collections: [
|
|
48
48
|
{
|
|
49
49
|
contractType: ContractType.ERC721,
|
|
50
|
-
marketplaceType:
|
|
50
|
+
marketplaceType: 'market',
|
|
51
51
|
chainId: polygon.id,
|
|
52
52
|
bannerUrl: '',
|
|
53
53
|
itemsAddress: '0x1234567890123456789012345678901234567890',
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { getDefaultChains } from '@0xsequence/connect';
|
|
2
2
|
import { allNetworks, findNetworkConfig } from '@0xsequence/network';
|
|
3
3
|
import type { Chain, Transport } from 'viem';
|
|
4
|
-
import {
|
|
4
|
+
import { cookieStorage, createConfig, createStorage, http } from 'wagmi';
|
|
5
5
|
import type { Env, SdkConfig } from '../../../types';
|
|
6
6
|
import type { MarketplaceConfig } from '../../../types/new-marketplace-types';
|
|
7
7
|
import { DEFAULT_NETWORK } from '../consts';
|
|
@@ -13,11 +13,17 @@ export const createWagmiConfig = (
|
|
|
13
13
|
ssr?: boolean,
|
|
14
14
|
) => {
|
|
15
15
|
const chains = getChainConfigs(marketplaceConfig);
|
|
16
|
-
const
|
|
16
|
+
const nodeGatewayOverrides = sdkConfig._internal?.overrides?.api?.nodeGateway;
|
|
17
|
+
const nodeGatewayEnv = nodeGatewayOverrides?.env ?? 'production';
|
|
18
|
+
const nodeGatewayUrl = nodeGatewayOverrides?.url;
|
|
19
|
+
const projectAccessKey =
|
|
20
|
+
nodeGatewayOverrides?.accessKey ?? sdkConfig.projectAccessKey;
|
|
21
|
+
|
|
17
22
|
const transports = getTransportConfigs(
|
|
18
23
|
chains,
|
|
19
|
-
|
|
24
|
+
projectAccessKey,
|
|
20
25
|
nodeGatewayEnv,
|
|
26
|
+
nodeGatewayUrl,
|
|
21
27
|
);
|
|
22
28
|
|
|
23
29
|
const walletType = marketplaceConfig.settings.walletOptions.walletType;
|
|
@@ -66,18 +72,26 @@ function getChainConfigs(marketConfig: MarketplaceConfig): [Chain, ...Chain[]] {
|
|
|
66
72
|
function getTransportConfigs(
|
|
67
73
|
chains: [Chain, ...Chain[]],
|
|
68
74
|
projectAccessKey: string,
|
|
69
|
-
nodeGatewayEnv: Env,
|
|
75
|
+
nodeGatewayEnv: Env | undefined,
|
|
76
|
+
nodeGatewayUrl?: string,
|
|
70
77
|
): Record<number, Transport> {
|
|
71
78
|
return chains.reduce(
|
|
72
79
|
(acc, chain) => {
|
|
73
80
|
const network = findNetworkConfig(allNetworks, chain.id);
|
|
74
81
|
if (network) {
|
|
75
|
-
let rpcUrl
|
|
76
|
-
if (
|
|
77
|
-
|
|
82
|
+
let rpcUrl: string;
|
|
83
|
+
if (nodeGatewayUrl) {
|
|
84
|
+
// Use manual URL if provided
|
|
85
|
+
rpcUrl = nodeGatewayUrl;
|
|
86
|
+
} else {
|
|
87
|
+
// Use default URL with environment prefix
|
|
88
|
+
rpcUrl = network.rpcUrl;
|
|
89
|
+
if (nodeGatewayEnv === 'development') {
|
|
90
|
+
rpcUrl = rpcUrl.replace('nodes.', 'dev-nodes.');
|
|
91
|
+
}
|
|
92
|
+
if (!network.rpcUrl.endsWith(projectAccessKey))
|
|
93
|
+
rpcUrl = `${rpcUrl}/${projectAccessKey}`;
|
|
78
94
|
}
|
|
79
|
-
if (!network.rpcUrl.endsWith(projectAccessKey))
|
|
80
|
-
rpcUrl = `${rpcUrl}/${projectAccessKey}`;
|
|
81
95
|
acc[chain.id] = http(rpcUrl);
|
|
82
96
|
}
|
|
83
97
|
return acc;
|
|
@@ -1,6 +1,4 @@
|
|
|
1
1
|
import {
|
|
2
|
-
type SequenceOptions,
|
|
3
|
-
type Wallet,
|
|
4
2
|
apple,
|
|
5
3
|
appleWaas,
|
|
6
4
|
coinbaseWallet,
|
|
@@ -11,8 +9,10 @@ import {
|
|
|
11
9
|
getConnectWallets,
|
|
12
10
|
google,
|
|
13
11
|
googleWaas,
|
|
12
|
+
type SequenceOptions,
|
|
14
13
|
sequence,
|
|
15
14
|
twitch,
|
|
15
|
+
type Wallet,
|
|
16
16
|
walletConnect,
|
|
17
17
|
} from '@0xsequence/connect';
|
|
18
18
|
import React, { type FunctionComponent } from 'react';
|
|
@@ -82,11 +82,16 @@ function getUniversalWalletConfigs(
|
|
|
82
82
|
config: SdkConfig,
|
|
83
83
|
marketplaceConfig: MarketplaceConfig,
|
|
84
84
|
): Wallet[] {
|
|
85
|
-
const
|
|
86
|
-
|
|
85
|
+
const sequenceWalletOverrides =
|
|
86
|
+
config._internal?.overrides?.api?.sequenceWallet;
|
|
87
|
+
const sequenceWalletUrl =
|
|
88
|
+
sequenceWalletOverrides?.url ||
|
|
89
|
+
getSequenceWalletURL(sequenceWalletOverrides?.env || 'production');
|
|
90
|
+
const projectAccessKey =
|
|
91
|
+
sequenceWalletOverrides?.accessKey || config.projectAccessKey;
|
|
87
92
|
|
|
88
93
|
const sequenceWalletOptions = {
|
|
89
|
-
walletAppURL:
|
|
94
|
+
walletAppURL: sequenceWalletUrl,
|
|
90
95
|
defaultNetwork: DEFAULT_NETWORK,
|
|
91
96
|
connect: {
|
|
92
97
|
projectAccessKey,
|
|
@@ -5,10 +5,10 @@ import {
|
|
|
5
5
|
type Address,
|
|
6
6
|
BaseError,
|
|
7
7
|
type Chain,
|
|
8
|
+
hexToBigInt,
|
|
8
9
|
type PublicClient,
|
|
9
10
|
UserRejectedRequestError as ViemUserRejectedRequestError,
|
|
10
11
|
type WalletClient,
|
|
11
|
-
hexToBigInt,
|
|
12
12
|
} from 'viem';
|
|
13
13
|
import { beforeEach, describe, expect, it, vi } from 'vitest';
|
|
14
14
|
import type { Connector } from 'wagmi';
|
|
@@ -4,18 +4,18 @@ import {
|
|
|
4
4
|
type Address,
|
|
5
5
|
BaseError,
|
|
6
6
|
type Chain,
|
|
7
|
+
custom,
|
|
8
|
+
erc20Abi,
|
|
9
|
+
erc721Abi,
|
|
7
10
|
type Hex,
|
|
11
|
+
hexToBigInt,
|
|
12
|
+
isHex,
|
|
8
13
|
type PublicClient,
|
|
9
14
|
TransactionReceiptNotFoundError,
|
|
10
15
|
type TypedDataDomain,
|
|
11
16
|
UserRejectedRequestError as ViemUserRejectedRequestError,
|
|
12
17
|
type WalletClient as ViemWalletClient,
|
|
13
18
|
WaitForTransactionReceiptTimeoutError,
|
|
14
|
-
custom,
|
|
15
|
-
erc20Abi,
|
|
16
|
-
erc721Abi,
|
|
17
|
-
hexToBigInt,
|
|
18
|
-
isHex,
|
|
19
19
|
} from 'viem';
|
|
20
20
|
import type { Connector } from 'wagmi';
|
|
21
21
|
import type { SwitchChainErrorType } from 'wagmi/actions';
|
|
@@ -32,7 +32,7 @@ import {
|
|
|
32
32
|
TransactionSignatureError,
|
|
33
33
|
UserRejectedRequestError,
|
|
34
34
|
} from '../../../utils/_internal/error/transaction';
|
|
35
|
-
import { StepType, WalletKind
|
|
35
|
+
import { getIndexerClient, StepType, WalletKind } from '../api';
|
|
36
36
|
import { createLogger } from '../logger';
|
|
37
37
|
import type { SignatureStep, TransactionStep } from '../utils';
|
|
38
38
|
|
|
@@ -132,21 +132,21 @@ export const wallet = ({
|
|
|
132
132
|
account: wallet.account,
|
|
133
133
|
message,
|
|
134
134
|
});
|
|
135
|
-
|
|
136
|
-
|
|
135
|
+
}
|
|
136
|
+
if (stepItem.id === StepType.signEIP712) {
|
|
137
137
|
logger.debug('Signing with EIP-712', {
|
|
138
138
|
domain: stepItem.domain,
|
|
139
139
|
types: stepItem.signature?.types,
|
|
140
140
|
});
|
|
141
141
|
return await wallet.signTypedData({
|
|
142
142
|
account: wallet.account,
|
|
143
|
-
// biome-ignore lint/style/noNonNullAssertion:
|
|
143
|
+
// biome-ignore lint/style/noNonNullAssertion: signature is guaranteed to exist for EIP712 step type
|
|
144
144
|
domain: stepItem.signature!.domain as TypedDataDomain,
|
|
145
|
-
// biome-ignore lint/style/noNonNullAssertion:
|
|
145
|
+
// biome-ignore lint/style/noNonNullAssertion: signature is guaranteed to exist for EIP712 step type
|
|
146
146
|
types: stepItem.signature!.types,
|
|
147
|
-
// biome-ignore lint/style/noNonNullAssertion:
|
|
147
|
+
// biome-ignore lint/style/noNonNullAssertion: signature is guaranteed to exist for EIP712 step type
|
|
148
148
|
primaryType: stepItem.signature!.primaryType,
|
|
149
|
-
// biome-ignore lint/style/noNonNullAssertion:
|
|
149
|
+
// biome-ignore lint/style/noNonNullAssertion: signature is guaranteed to exist for EIP712 step type
|
|
150
150
|
message: stepItem.signature!.value,
|
|
151
151
|
});
|
|
152
152
|
}
|
|
@@ -241,26 +241,26 @@ export const wallet = ({
|
|
|
241
241
|
|
|
242
242
|
switch (tokenType) {
|
|
243
243
|
case 'ERC20':
|
|
244
|
-
return await publicClient.readContract({
|
|
244
|
+
return (await publicClient.readContract({
|
|
245
245
|
address: contractAddress as Hex,
|
|
246
246
|
abi: erc20Abi,
|
|
247
247
|
functionName: 'allowance',
|
|
248
248
|
args: [walletAddress, spenderAddress],
|
|
249
|
-
});
|
|
249
|
+
})) as bigint;
|
|
250
250
|
case 'ERC721':
|
|
251
|
-
return await publicClient.readContract({
|
|
251
|
+
return (await publicClient.readContract({
|
|
252
252
|
address: contractAddress as Hex,
|
|
253
253
|
abi: erc721Abi,
|
|
254
254
|
functionName: 'isApprovedForAll',
|
|
255
255
|
args: [walletAddress, spenderAddress],
|
|
256
|
-
});
|
|
256
|
+
})) as boolean;
|
|
257
257
|
case 'ERC1155':
|
|
258
|
-
return await publicClient.readContract({
|
|
258
|
+
return (await publicClient.readContract({
|
|
259
259
|
address: contractAddress as Hex,
|
|
260
260
|
abi: ERC1155_ABI,
|
|
261
261
|
functionName: 'isApprovedForAll',
|
|
262
262
|
args: [walletAddress, spenderAddress],
|
|
263
|
-
});
|
|
263
|
+
})) as boolean;
|
|
264
264
|
default:
|
|
265
265
|
throw new Error('Unsupported contract type for approval checking');
|
|
266
266
|
}
|