@0xsequence/marketplace-sdk 0.8.4 → 0.8.5
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 +8 -0
- package/dist/{chunk-25CAMYCG.js → chunk-BB2PTJHI.js} +22 -20
- package/dist/chunk-BB2PTJHI.js.map +1 -0
- package/dist/{chunk-VBRJ2OPM.js → chunk-EZFCQZHU.js} +2 -2
- package/dist/{chunk-VF3LWBQB.js → chunk-KCLMSSPS.js} +6 -6
- package/dist/{chunk-XUNDLCEH.js → chunk-LDZZUYG7.js} +2 -2
- package/dist/{chunk-HRL2TMXU.js → chunk-SFSFIGHM.js} +44 -34
- package/dist/{chunk-HRL2TMXU.js.map → chunk-SFSFIGHM.js.map} +1 -1
- package/dist/{chunk-44YGZVBS.js → chunk-ZVTG6US2.js} +2 -2
- package/dist/index.css +4 -4
- package/dist/index.css.map +1 -1
- package/dist/index.js +6 -6
- package/dist/react/_internal/databeat/index.js +5 -5
- package/dist/react/_internal/index.d.ts +1 -1
- package/dist/react/_internal/index.js +3 -1
- package/dist/react/_internal/wagmi/index.d.ts +3 -2
- package/dist/react/_internal/wagmi/index.js +3 -1
- package/dist/react/hooks/index.js +4 -4
- package/dist/react/hooks/options/index.js +2 -2
- package/dist/react/index.js +7 -7
- package/dist/react/queries/index.js +1 -1
- package/dist/react/ssr/index.js +1 -1
- package/dist/react/ui/components/collectible-card/index.d.ts +3 -2
- package/dist/react/ui/components/collectible-card/index.js +7 -7
- package/dist/react/ui/icons/index.js +2 -2
- package/dist/react/ui/index.js +7 -7
- package/dist/react/ui/modals/_internal/components/actionModal/index.js +5 -5
- package/dist/types/index.js +1 -1
- package/dist/utils/abi/index.js +5 -5
- package/dist/utils/index.js +6 -6
- package/package.json +19 -19
- package/src/react/_internal/wagmi/__tests__/create-config.test.ts +1 -11
- package/src/react/_internal/wagmi/get-connectors.ts +27 -24
- package/src/react/ui/components/_internals/action-button/__tests__/ActionButtonBody.test.tsx +27 -94
- package/src/react/ui/components/_internals/action-button/__tests__/NonOwnerActions.test.tsx +59 -0
- package/src/react/ui/components/_internals/action-button/__tests__/OwnerActions.test.tsx +73 -0
- package/src/react/ui/components/_internals/action-button/__tests__/useActionButtonLogic.test.tsx +77 -0
- package/src/react/ui/components/_internals/action-button/components/ActionButtonBody.tsx +3 -2
- package/src/react/ui/components/_internals/action-button/hooks/useActionButtonLogic.ts +4 -3
- package/src/react/ui/components/collectible-card/CollectibleAsset.tsx +1 -0
- package/src/react/ui/components/collectible-card/CollectibleCard.tsx +18 -12
- package/src/react/ui/components/collectible-card/__tests__/CollectibleAsset.test.tsx +200 -0
- package/src/react/ui/components/collectible-card/__tests__/CollectibleCard.test.tsx +92 -123
- package/src/react/ui/components/collectible-card/__tests__/Footer.test.tsx +136 -0
- package/src/react/ui/modals/BuyModal/__tests__/Modal.test.tsx +2 -8
- package/src/react/ui/modals/SellModal/__tests__/Modal.test.tsx +72 -135
- package/src/react/ui/modals/_internal/components/selectWaasFeeOptions/__tests__/ActionButtons.test.tsx +72 -0
- package/src/react/ui/modals/_internal/components/selectWaasFeeOptions/__tests__/BalanceIndicator.test.tsx +50 -0
- package/src/react/ui/modals/_internal/components/selectWaasFeeOptions/__tests__/SelectWaasFeeOptions.test.tsx +193 -0
- package/test/test-utils.tsx +12 -22
- package/dist/chunk-25CAMYCG.js.map +0 -1
- package/src/react/ui/components/_internals/action-button/__tests__/ActionButton.test.tsx +0 -107
- /package/dist/{chunk-VBRJ2OPM.js.map → chunk-EZFCQZHU.js.map} +0 -0
- /package/dist/{chunk-VF3LWBQB.js.map → chunk-KCLMSSPS.js.map} +0 -0
- /package/dist/{chunk-XUNDLCEH.js.map → chunk-LDZZUYG7.js.map} +0 -0
- /package/dist/{chunk-44YGZVBS.js.map → chunk-ZVTG6US2.js.map} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# @0xsequence/marketplace-sdk
|
|
2
2
|
|
|
3
|
+
## 0.8.5
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Ignore embedded connectors if ecosystem connector is enabled
|
|
8
|
+
- CollectibleCard prop `lowestListing` renamed to `collectible` and `balanceIsLoading` is mandatory
|
|
9
|
+
- Improved test coverage and misc fixes
|
|
10
|
+
|
|
3
11
|
## 0.8.4
|
|
4
12
|
|
|
5
13
|
### Patch Changes
|
|
@@ -88,8 +88,12 @@ function getConnectors({
|
|
|
88
88
|
const connectors = commonConnectors(marketplaceConfig, sdkConfig);
|
|
89
89
|
if (walletType === "UNIVERSAL" /* UNIVERSAL */) {
|
|
90
90
|
connectors.push(...getUniversalWalletConfigs(sdkConfig, marketplaceConfig));
|
|
91
|
+
} else if (walletType === "EMBEDDED" /* EMBEDDED */) {
|
|
92
|
+
connectors.push(...getWaasConnectors(sdkConfig));
|
|
93
|
+
} else if (walletType === "ECOSYSTEM" /* ECOSYSTEM */) {
|
|
94
|
+
connectors.push(getEcosystemConnector(marketplaceConfig, sdkConfig));
|
|
91
95
|
} else {
|
|
92
|
-
|
|
96
|
+
throw new Error("Invalid wallet type");
|
|
93
97
|
}
|
|
94
98
|
return getConnectWallets(sdkConfig.projectAccessKey, connectors);
|
|
95
99
|
}
|
|
@@ -137,7 +141,7 @@ function getUniversalWalletConfigs(config, marketplaceConfig) {
|
|
|
137
141
|
twitch(sequenceWalletOptions)
|
|
138
142
|
];
|
|
139
143
|
}
|
|
140
|
-
function getWaasConnectors(
|
|
144
|
+
function getWaasConnectors(sdkConfig) {
|
|
141
145
|
const { projectAccessKey } = sdkConfig;
|
|
142
146
|
const waasConfigKey = sdkConfig.wallet?.embedded?.waasConfigKey;
|
|
143
147
|
if (!waasConfigKey) throw new MissingConfigError("waasConfigKey");
|
|
@@ -170,27 +174,24 @@ function getWaasConnectors(marketplaceConfig, sdkConfig) {
|
|
|
170
174
|
})
|
|
171
175
|
);
|
|
172
176
|
}
|
|
173
|
-
const walletType = marketplaceConfig.walletOptions.walletType;
|
|
174
|
-
if (walletType === "ECOSYSTEM" /* ECOSYSTEM */) {
|
|
175
|
-
const ecosystemOptions = marketplaceConfig.walletOptions.ecosystem;
|
|
176
|
-
if (!ecosystemOptions) throw new MissingConfigError("ecosystem");
|
|
177
|
-
const { walletAppName, walletUrl, logoDarkUrl, logoLightUrl } = ecosystemOptions;
|
|
178
|
-
wallets.push(
|
|
179
|
-
ecosystemWallet({
|
|
180
|
-
projectAccessKey: sdkConfig.projectAccessKey,
|
|
181
|
-
walletUrl,
|
|
182
|
-
name: walletAppName,
|
|
183
|
-
defaultNetwork: DEFAULT_NETWORK,
|
|
184
|
-
logoDark: getEcosystemLogo(logoDarkUrl, walletAppName),
|
|
185
|
-
logoLight: getEcosystemLogo(logoLightUrl, walletAppName)
|
|
186
|
-
})
|
|
187
|
-
);
|
|
188
|
-
}
|
|
189
177
|
return wallets;
|
|
190
178
|
}
|
|
179
|
+
function getEcosystemConnector(marketplaceConfig, sdkConfig) {
|
|
180
|
+
const ecosystemOptions = marketplaceConfig.walletOptions.ecosystem;
|
|
181
|
+
if (!ecosystemOptions) throw new MissingConfigError("ecosystem");
|
|
182
|
+
const { walletAppName, walletUrl, logoDarkUrl, logoLightUrl } = ecosystemOptions;
|
|
183
|
+
return ecosystemWallet({
|
|
184
|
+
projectAccessKey: sdkConfig.projectAccessKey,
|
|
185
|
+
walletUrl,
|
|
186
|
+
name: walletAppName,
|
|
187
|
+
defaultNetwork: DEFAULT_NETWORK,
|
|
188
|
+
logoDark: getEcosystemLogo(logoDarkUrl, walletAppName),
|
|
189
|
+
logoLight: getEcosystemLogo(logoLightUrl, walletAppName)
|
|
190
|
+
});
|
|
191
|
+
}
|
|
191
192
|
function getEcosystemLogo(url, name) {
|
|
192
193
|
if (!url) return () => null;
|
|
193
|
-
const Logo = () => React.createElement("img", { src: url, alt: name });
|
|
194
|
+
const Logo = () => React.createElement("img", { src: url, alt: name, width: 32, height: 32 });
|
|
194
195
|
Logo.displayName = "EcosystemLogo";
|
|
195
196
|
return Logo;
|
|
196
197
|
}
|
|
@@ -274,9 +275,10 @@ export {
|
|
|
274
275
|
TransactionType,
|
|
275
276
|
getConnectors,
|
|
276
277
|
getWaasConnectors,
|
|
278
|
+
getEcosystemConnector,
|
|
277
279
|
createWagmiConfig,
|
|
278
280
|
MarketplaceWallet,
|
|
279
281
|
FilterCondition,
|
|
280
282
|
MarketplaceType
|
|
281
283
|
};
|
|
282
|
-
//# sourceMappingURL=chunk-
|
|
284
|
+
//# sourceMappingURL=chunk-BB2PTJHI.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/react/_internal/wagmi/create-config.ts","../src/react/_internal/consts.ts","../src/react/_internal/get-provider.ts","../src/react/_internal/types.ts","../src/types/builder-types.ts","../src/react/_internal/wagmi/get-connectors.ts"],"sourcesContent":["import { getDefaultChains } from '@0xsequence/connect';\nimport { allNetworks, findNetworkConfig } from '@0xsequence/network';\nimport type { Chain, Transport } from 'viem';\nimport { http, cookieStorage, createConfig, createStorage } from 'wagmi';\nimport {\n\ttype Env,\n\ttype MarketplaceConfig,\n\tMarketplaceWallet,\n\ttype SdkConfig,\n} from '../../../types';\nimport { DEFAULT_NETWORK } from '../consts';\nimport { getConnectors } from './get-connectors';\n\nexport const createWagmiConfig = (\n\tmarketplaceConfig: MarketplaceConfig,\n\tsdkConfig: SdkConfig,\n\tssr?: boolean,\n) => {\n\tconst chains = getChainConfigs(marketplaceConfig);\n\tconst nodeGatewayEnv = sdkConfig._internal?.nodeGatewayEnv ?? 'production';\n\tconst transports = getTransportConfigs(\n\t\tchains,\n\t\tsdkConfig.projectAccessKey,\n\t\tnodeGatewayEnv,\n\t);\n\n\tlet walletType = marketplaceConfig.walletOptions.walletType;\n\n\t// TODO: This will bring issues.. But we relay on the waasConfigKey to detect if the boilerplates should use\n\t// waas or universal.. we need to find a better way to do this..\n\tif (\n\t\tsdkConfig.wallet?.embedded?.waasConfigKey &&\n\t\twalletType !== MarketplaceWallet.ECOSYSTEM\n\t) {\n\t\twalletType = MarketplaceWallet.EMBEDDED;\n\t}\n\n\tconst connectors = getConnectors({\n\t\tmarketplaceConfig,\n\t\tsdkConfig,\n\t\twalletType,\n\t});\n\n\tconst multiInjectedProviderDiscovery =\n\t\tmarketplaceConfig.walletOptions.includeEIP6963Wallets;\n\n\treturn createConfig({\n\t\tconnectors,\n\t\tchains,\n\t\tssr,\n\t\tmultiInjectedProviderDiscovery,\n\t\tstorage: ssr\n\t\t\t? createStorage({\n\t\t\t\t\tstorage: cookieStorage,\n\t\t\t\t})\n\t\t\t: undefined,\n\t\ttransports,\n\t});\n};\n\nfunction getChainConfigs(marketConfig: MarketplaceConfig): [Chain, ...Chain[]] {\n\tconst supportedChainIds = new Set(\n\t\tmarketConfig.collections.map((c) => c.chainId),\n\t);\n\n\tif (supportedChainIds.size === 0) {\n\t\tsupportedChainIds.add(DEFAULT_NETWORK);\n\t}\n\n\tconst chains = getDefaultChains([...supportedChainIds]);\n\n\treturn chains;\n}\n\nfunction getTransportConfigs(\n\tchains: [Chain, ...Chain[]],\n\tprojectAccessKey: string,\n\tnodeGatewayEnv: Env,\n): Record<number, Transport> {\n\treturn chains.reduce(\n\t\t(acc, chain) => {\n\t\t\tconst network = findNetworkConfig(allNetworks, chain.id);\n\t\t\tif (network) {\n\t\t\t\tlet rpcUrl = network.rpcUrl;\n\t\t\t\tif (nodeGatewayEnv === 'development') {\n\t\t\t\t\trpcUrl = rpcUrl.replace('nodes.', 'dev-nodes.');\n\t\t\t\t}\n\t\t\t\tif (!network.rpcUrl.endsWith(projectAccessKey))\n\t\t\t\t\trpcUrl = `${rpcUrl}/${projectAccessKey}`;\n\t\t\t\tacc[chain.id] = http(rpcUrl);\n\t\t\t}\n\t\t\treturn acc;\n\t\t},\n\t\t{} as Record<number, Transport>,\n\t);\n}\n","export const DEFAULT_NETWORK = 137;\n","export const PROVIDER_ID = 'sdk-provider';\n\nexport function getProviderEl() {\n\tif (!globalThis.document) return null;\n\treturn document.getElementById(PROVIDER_ID);\n}\n","import type { Address } from 'viem';\nimport type { Chain } from 'viem';\nimport { z } from 'zod';\nimport type { ContractType, CreateReq } from '../../types';\nimport type { MarketplaceConfig, SdkConfig } from '../../types';\nimport type { MarketplaceKind, OrderbookKind } from './api';\n\nexport const QueryArgSchema = z\n\t.object({\n\t\tenabled: z.boolean().optional(),\n\t})\n\t.optional();\n\nexport type QueryArg = z.infer<typeof QueryArgSchema>;\n\nexport const CollectableIdSchema = z.string().or(z.number());\n\nexport const AddressSchema = z.string().transform((val, ctx) => {\n\tconst regex = /^0x[a-fA-F0-9]{40}$/;\n\n\tif (!regex.test(val)) {\n\t\tctx.addIssue({\n\t\t\tcode: z.ZodIssueCode.custom,\n\t\t\tmessage: `Invalid Address ${val}`,\n\t\t});\n\t}\n\n\treturn val as Address;\n});\n\nexport type CollectionType = ContractType.ERC1155 | ContractType.ERC721;\n\ntype TransactionStep = {\n\texist: boolean;\n\tisExecuting: boolean;\n\texecute: () => Promise<void>;\n};\n\nexport type TransactionSteps = {\n\tapproval: TransactionStep;\n\ttransaction: TransactionStep;\n};\n\nexport enum TransactionType {\n\tBUY = 'BUY',\n\tSELL = 'SELL',\n\tLISTING = 'LISTING',\n\tOFFER = 'OFFER',\n\tTRANSFER = 'TRANSFER',\n\tCANCEL = 'CANCEL',\n}\n\nexport interface TransactionConfig {\n\ttype: TransactionType;\n\tchainId: number;\n\tchains: readonly Chain[];\n\tcollectionAddress: string;\n\tsdkConfig: SdkConfig;\n\tmarketplaceConfig: MarketplaceConfig;\n\torderbookKind?: OrderbookKind;\n}\n\nexport interface BuyInput {\n\torderId: string;\n\tcollectableDecimals: number;\n\tmarketplace: MarketplaceKind;\n\tquantity: string;\n}\n\nexport interface SellInput {\n\torderId: string;\n\tmarketplace: MarketplaceKind;\n\tquantity?: string;\n}\n\nexport interface ListingInput {\n\tcontractType: ContractType;\n\tlisting: CreateReq;\n}\n\nexport interface OfferInput {\n\tcontractType: ContractType;\n\toffer: CreateReq;\n}\n\nexport interface CancelInput {\n\torderId: string;\n\tmarketplace: MarketplaceKind;\n}\n","import type { OrderbookKind } from '../react/_internal/api/marketplace.gen';\n\n// Manual copy of the types from builder\nexport enum MarketplaceWallet {\n\tUNIVERSAL = 'UNIVERSAL',\n\tEMBEDDED = 'EMBEDDED',\n\tECOSYSTEM = 'ECOSYSTEM',\n}\n\nexport enum FilterCondition {\n\tENTIRE_KEY = 'ENTIRE_KEY',\n\tSPECIFIC_VALUE = 'SPECIFIC_VALUE',\n}\n\nexport enum MarketplaceType { // This is only used for marketplace v1\n\tAMM = 'AMM',\n\tP2P = 'P2P',\n\tSEQUENCE = 'SEQUENCE',\n\tORDERBOOK = 'ORDERBOOK',\n}\n\nexport interface EcosystemWalletSettings {\n\twalletUrl: string;\n\twalletAppName: string;\n\tlogoLightUrl?: string;\n\tlogoDarkUrl?: string;\n}\nexport interface MarketplaceWalletOptions {\n\twalletType: MarketplaceWallet;\n\toidcIssuers: { [key: string]: string };\n\tconnectors: Array<string>;\n\tincludeEIP6963Wallets: boolean;\n\tecosystem?: EcosystemWalletSettings;\n}\n\nexport interface MetadataFilterRule {\n\tkey: string;\n\tcondition: FilterCondition;\n\tvalue?: string;\n}\n\nexport interface CollectionFilterSettings {\n\tfilterOrder: Array<string>;\n\texclusions: Array<MetadataFilterRule>;\n}\n\nexport interface MarketplaceCollection {\n\tmarketplaceType: MarketplaceType;\n\tchainId: number;\n\taddress: string;\n\texchanges: Array<string>;\n\tbannerUrl: string;\n\tfeePercentage: number;\n\tcurrencyOptions: Array<string>;\n\tdestinationMarketplace: OrderbookKind;\n\tfilterSettings?: CollectionFilterSettings;\n\tisLAOSERC721?: boolean;\n}\n\nexport interface MarketplaceSocials {\n\ttwitter: string;\n\tdiscord: string;\n\twebsite: string;\n\ttiktok: string;\n\tinstagram: string;\n\tyoutube: string;\n}\n\nexport interface MarketplaceSettings {\n\tpublisherId: string;\n\ttitle: string;\n\tshortDescription: string;\n\tsocials: MarketplaceSocials;\n\tfaviconUrl: string;\n\tlandingBannerUrl: string;\n\tcollections: Array<MarketplaceCollection>;\n\twalletOptions: MarketplaceWalletOptions;\n\tlandingPageLayout: string;\n\tlogoUrl: string;\n\tbannerUrl: string;\n\tfontUrl?: string;\n\togImage?: string;\n}\n\nexport interface MarketplaceConfig extends MarketplaceSettings {\n\tcssString: string;\n\tmanifestUrl: string;\n}\n","import {\n\ttype SequenceOptions,\n\ttype Wallet,\n\tapple,\n\tappleWaas,\n\tcoinbaseWallet,\n\tecosystemWallet,\n\temail,\n\temailWaas,\n\tfacebook,\n\tgetConnectWallets,\n\tgoogle,\n\tgoogleWaas,\n\tsequence,\n\ttwitch,\n\twalletConnect,\n} from '@0xsequence/connect';\nimport React, { type FunctionComponent } from 'react';\nimport type { CreateConnectorFn } from 'wagmi';\nimport {\n\ttype Env,\n\ttype MarketplaceConfig,\n\tMarketplaceWallet,\n\ttype SdkConfig,\n} from '../../../types';\nimport { MissingConfigError } from '../../../utils/_internal/error/transaction';\nimport { DEFAULT_NETWORK } from '../consts';\n\nexport function getConnectors({\n\tmarketplaceConfig,\n\tsdkConfig,\n\twalletType,\n}: {\n\tmarketplaceConfig: MarketplaceConfig;\n\tsdkConfig: SdkConfig;\n\twalletType: MarketplaceWallet;\n}): CreateConnectorFn[] {\n\tconst connectors = commonConnectors(marketplaceConfig, sdkConfig);\n\n\tif (walletType === MarketplaceWallet.UNIVERSAL) {\n\t\tconnectors.push(...getUniversalWalletConfigs(sdkConfig, marketplaceConfig));\n\t} else if (walletType === MarketplaceWallet.EMBEDDED) {\n\t\tconnectors.push(...getWaasConnectors(sdkConfig));\n\t} else if (walletType === MarketplaceWallet.ECOSYSTEM) {\n\t\tconnectors.push(getEcosystemConnector(marketplaceConfig, sdkConfig));\n\t} else {\n\t\tthrow new Error('Invalid wallet type');\n\t}\n\n\treturn getConnectWallets(sdkConfig.projectAccessKey, connectors);\n}\n\nfunction commonConnectors(\n\tmarketplaceConfig: MarketplaceConfig,\n\tsdkConfig: SdkConfig,\n) {\n\tconst wallets = [];\n\tconst { title: appName } = marketplaceConfig;\n\tconst walletOptions = marketplaceConfig.walletOptions;\n\tconst walletConnectProjectId = sdkConfig.wallet?.walletConnectProjectId;\n\n\tif (walletOptions.connectors.includes('coinbase')) {\n\t\twallets.push(\n\t\t\tcoinbaseWallet({\n\t\t\t\tappName,\n\t\t\t}),\n\t\t);\n\t}\n\n\tif (\n\t\twalletConnectProjectId &&\n\t\twalletOptions.connectors.includes('walletconnect')\n\t) {\n\t\twallets.push(\n\t\t\twalletConnect({\n\t\t\t\tprojectId: walletConnectProjectId,\n\t\t\t}),\n\t\t);\n\t}\n\n\treturn wallets;\n}\n\nfunction getUniversalWalletConfigs(\n\tconfig: SdkConfig,\n\tmarketplaceConfig: MarketplaceConfig,\n): Wallet[] {\n\tconst { projectAccessKey } = config;\n\tconst sequenceWalletEnv = config._internal?.sequenceWalletEnv || 'production';\n\n\tconst sequenceWalletOptions = {\n\t\twalletAppURL: getSequenceWalletURL(sequenceWalletEnv),\n\t\tdefaultNetwork: DEFAULT_NETWORK,\n\t\tconnect: {\n\t\t\tprojectAccessKey,\n\t\t\tapp: marketplaceConfig.title,\n\t\t\tsettings: {\n\t\t\t\tbannerUrl: marketplaceConfig.ogImage,\n\t\t\t},\n\t\t},\n\t} satisfies SequenceOptions;\n\n\treturn [\n\t\tsequence(sequenceWalletOptions),\n\t\temail(sequenceWalletOptions),\n\t\tfacebook(sequenceWalletOptions),\n\t\tgoogle(sequenceWalletOptions),\n\t\tapple(sequenceWalletOptions),\n\t\ttwitch(sequenceWalletOptions),\n\t] as const;\n}\n\nexport function getWaasConnectors(sdkConfig: SdkConfig): Wallet[] {\n\tconst { projectAccessKey } = sdkConfig;\n\n\tconst waasConfigKey = sdkConfig.wallet?.embedded?.waasConfigKey;\n\n\tif (!waasConfigKey) throw new MissingConfigError('waasConfigKey');\n\n\tconst { googleClientId, appleClientId, appleRedirectURI } =\n\t\tsdkConfig.wallet?.embedded || {};\n\n\tconst wallets: Wallet[] = [\n\t\temailWaas({\n\t\t\tprojectAccessKey,\n\t\t\twaasConfigKey,\n\t\t\tnetwork: DEFAULT_NETWORK,\n\t\t}),\n\t];\n\n\tif (googleClientId) {\n\t\twallets.push(\n\t\t\tgoogleWaas({\n\t\t\t\tprojectAccessKey,\n\t\t\t\tgoogleClientId,\n\t\t\t\twaasConfigKey,\n\t\t\t\tnetwork: DEFAULT_NETWORK,\n\t\t\t}),\n\t\t);\n\t}\n\n\tif (appleClientId) {\n\t\twallets.push(\n\t\t\tappleWaas({\n\t\t\t\tprojectAccessKey,\n\t\t\t\tappleClientId,\n\t\t\t\tappleRedirectURI,\n\t\t\t\twaasConfigKey,\n\t\t\t\tnetwork: DEFAULT_NETWORK,\n\t\t\t}),\n\t\t);\n\t}\n\n\treturn wallets;\n}\n\nexport function getEcosystemConnector(\n\tmarketplaceConfig: MarketplaceConfig,\n\tsdkConfig: SdkConfig,\n): Wallet {\n\tconst ecosystemOptions = marketplaceConfig.walletOptions.ecosystem;\n\tif (!ecosystemOptions) throw new MissingConfigError('ecosystem');\n\tconst { walletAppName, walletUrl, logoDarkUrl, logoLightUrl } =\n\t\tecosystemOptions;\n\n\treturn ecosystemWallet({\n\t\tprojectAccessKey: sdkConfig.projectAccessKey,\n\t\twalletUrl,\n\t\tname: walletAppName,\n\t\tdefaultNetwork: DEFAULT_NETWORK,\n\t\tlogoDark: getEcosystemLogo(logoDarkUrl, walletAppName),\n\t\tlogoLight: getEcosystemLogo(logoLightUrl, walletAppName),\n\t});\n}\n\nfunction getEcosystemLogo(\n\turl: string | undefined,\n\tname: string,\n): FunctionComponent {\n\tif (!url) return () => null;\n\tconst Logo = () =>\n\t\tReact.createElement('img', { src: url, alt: name, width: 32, height: 32 });\n\tLogo.displayName = 'EcosystemLogo';\n\treturn Logo;\n}\n\nfunction getSequenceWalletURL(env: Env) {\n\tswitch (env) {\n\t\tcase 'development':\n\t\t\treturn 'https://dev.sequence.app';\n\t\tcase 'production':\n\t\t\treturn 'https://sequence.app';\n\t\tcase 'next':\n\t\t\treturn 'https://next.sequence.app';\n\t}\n}\n"],"mappings":"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","names":["TransactionType","MarketplaceWallet","FilterCondition","MarketplaceType"]}
|
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
MODAL_OVERLAY_PROPS,
|
|
6
6
|
useSwitchChainModal,
|
|
7
7
|
useWallet
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-KCLMSSPS.js";
|
|
9
9
|
|
|
10
10
|
// src/react/ui/modals/_internal/components/actionModal/ActionModal.tsx
|
|
11
11
|
import { Button, Modal, Spinner, Text } from "@0xsequence/design-system";
|
|
@@ -125,4 +125,4 @@ export {
|
|
|
125
125
|
openModal,
|
|
126
126
|
closeModal
|
|
127
127
|
};
|
|
128
|
-
//# sourceMappingURL=chunk-
|
|
128
|
+
//# sourceMappingURL=chunk-EZFCQZHU.js.map
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import {
|
|
4
4
|
collectionOptions
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-LDZZUYG7.js";
|
|
6
6
|
import {
|
|
7
7
|
InfoIcon_default
|
|
8
8
|
} from "./chunk-SJU6QZHM.js";
|
|
@@ -14,12 +14,12 @@ import {
|
|
|
14
14
|
compareAddress,
|
|
15
15
|
getPresentableChainName
|
|
16
16
|
} from "./chunk-BGY4WXER.js";
|
|
17
|
-
import {
|
|
18
|
-
EIP2981_ABI
|
|
19
|
-
} from "./chunk-XX4EVWBF.js";
|
|
20
17
|
import {
|
|
21
18
|
ERC1155_ABI
|
|
22
19
|
} from "./chunk-FUM4OGOQ.js";
|
|
20
|
+
import {
|
|
21
|
+
EIP2981_ABI
|
|
22
|
+
} from "./chunk-XX4EVWBF.js";
|
|
23
23
|
import {
|
|
24
24
|
balanceOfCollectibleOptions,
|
|
25
25
|
highestOfferOptions,
|
|
@@ -36,7 +36,7 @@ import {
|
|
|
36
36
|
CollectableIdSchema,
|
|
37
37
|
PROVIDER_ID,
|
|
38
38
|
QueryArgSchema
|
|
39
|
-
} from "./chunk-
|
|
39
|
+
} from "./chunk-BB2PTJHI.js";
|
|
40
40
|
import {
|
|
41
41
|
BaseError,
|
|
42
42
|
ChainSwitchError,
|
|
@@ -2697,4 +2697,4 @@ export {
|
|
|
2697
2697
|
collectionDetailsPollingOptions,
|
|
2698
2698
|
useCollectionDetailsPolling
|
|
2699
2699
|
};
|
|
2700
|
-
//# sourceMappingURL=chunk-
|
|
2700
|
+
//# sourceMappingURL=chunk-KCLMSSPS.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
AddressSchema,
|
|
3
3
|
QueryArgSchema
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-BB2PTJHI.js";
|
|
5
5
|
import {
|
|
6
6
|
collectionKeys,
|
|
7
7
|
getMetadataClient
|
|
@@ -35,4 +35,4 @@ export {
|
|
|
35
35
|
fetchCollection,
|
|
36
36
|
collectionOptions
|
|
37
37
|
};
|
|
38
|
-
//# sourceMappingURL=chunk-
|
|
38
|
+
//# sourceMappingURL=chunk-LDZZUYG7.js.map
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
import {
|
|
4
4
|
ActionModal
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-EZFCQZHU.js";
|
|
6
6
|
import {
|
|
7
7
|
useAnalytics
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-ZVTG6US2.js";
|
|
9
9
|
import {
|
|
10
10
|
BellIcon_default,
|
|
11
11
|
CalendarIcon_default,
|
|
@@ -33,7 +33,7 @@ import {
|
|
|
33
33
|
useSwitchChainModal,
|
|
34
34
|
useTransferTokens,
|
|
35
35
|
useWallet
|
|
36
|
-
} from "./chunk-
|
|
36
|
+
} from "./chunk-KCLMSSPS.js";
|
|
37
37
|
import {
|
|
38
38
|
DEFAULT_MARKETPLACE_FEE_PERCENTAGE
|
|
39
39
|
} from "./chunk-Y63BOO6M.js";
|
|
@@ -4801,7 +4801,6 @@ import { observer as observer18 } from "@legendapp/state/react";
|
|
|
4801
4801
|
// src/react/ui/components/_internals/action-button/components/ActionButtonBody.tsx
|
|
4802
4802
|
import { useOpenConnectModal } from "@0xsequence/connect";
|
|
4803
4803
|
import { Button as Button8 } from "@0xsequence/design-system";
|
|
4804
|
-
import { useAccount as useAccount8 } from "wagmi";
|
|
4805
4804
|
|
|
4806
4805
|
// src/react/ui/components/_internals/action-button/store.ts
|
|
4807
4806
|
import { observable as observable9 } from "@legendapp/state";
|
|
@@ -4838,7 +4837,8 @@ function ActionButtonBody({
|
|
|
4838
4837
|
icon,
|
|
4839
4838
|
action
|
|
4840
4839
|
}) {
|
|
4841
|
-
const {
|
|
4840
|
+
const { wallet } = useWallet();
|
|
4841
|
+
const address = wallet?.address;
|
|
4842
4842
|
const { setOpenConnectModal } = useOpenConnectModal();
|
|
4843
4843
|
const handleClick = (e) => {
|
|
4844
4844
|
e.preventDefault();
|
|
@@ -4978,21 +4978,21 @@ function OwnerActions({
|
|
|
4978
4978
|
|
|
4979
4979
|
// src/react/ui/components/_internals/action-button/hooks/useActionButtonLogic.ts
|
|
4980
4980
|
import { useEffect as useEffect11 } from "react";
|
|
4981
|
-
import { useAccount as useAccount9 } from "wagmi";
|
|
4982
4981
|
var useActionButtonLogic = ({
|
|
4983
4982
|
tokenId,
|
|
4984
4983
|
owned,
|
|
4985
4984
|
action,
|
|
4986
4985
|
onCannotPerformAction
|
|
4987
4986
|
}) => {
|
|
4988
|
-
const {
|
|
4987
|
+
const { wallet } = useWallet();
|
|
4988
|
+
const address = wallet?.address;
|
|
4989
4989
|
const actionsThatOwnersCannotPerform = [
|
|
4990
4990
|
"Buy" /* BUY */,
|
|
4991
4991
|
"Make an offer" /* OFFER */
|
|
4992
4992
|
];
|
|
4993
4993
|
const pendingActionType = actionButtonStore.pendingAction.type.get();
|
|
4994
4994
|
useEffect11(() => {
|
|
4995
|
-
if (owned && actionButtonStore.pendingAction.get() && address &&
|
|
4995
|
+
if (owned && actionButtonStore.pendingAction.get() && address && actionsThatOwnersCannotPerform.includes(action) && actionButtonStore.pendingAction.get()?.collectibleId === tokenId) {
|
|
4996
4996
|
onCannotPerformAction?.(
|
|
4997
4997
|
pendingActionType
|
|
4998
4998
|
);
|
|
@@ -5086,6 +5086,7 @@ function CollectibleAssetSkeleton() {
|
|
|
5086
5086
|
return /* @__PURE__ */ jsx40(
|
|
5087
5087
|
Skeleton10,
|
|
5088
5088
|
{
|
|
5089
|
+
"data-testid": "collectible-asset-skeleton",
|
|
5089
5090
|
size: "lg",
|
|
5090
5091
|
className: "absolute inset-0 h-full w-full animate-shimmer",
|
|
5091
5092
|
style: {
|
|
@@ -5299,22 +5300,29 @@ var TokenTypeBalancePill = ({
|
|
|
5299
5300
|
// src/react/ui/components/collectible-card/CollectibleCard.tsx
|
|
5300
5301
|
import { jsx as jsx42, jsxs as jsxs31 } from "react/jsx-runtime";
|
|
5301
5302
|
function CollectibleSkeleton() {
|
|
5302
|
-
return /* @__PURE__ */ jsxs31(
|
|
5303
|
-
|
|
5304
|
-
|
|
5305
|
-
|
|
5306
|
-
|
|
5307
|
-
|
|
5308
|
-
|
|
5309
|
-
|
|
5310
|
-
|
|
5311
|
-
|
|
5312
|
-
|
|
5313
|
-
|
|
5314
|
-
|
|
5315
|
-
|
|
5316
|
-
|
|
5317
|
-
|
|
5303
|
+
return /* @__PURE__ */ jsxs31(
|
|
5304
|
+
"div",
|
|
5305
|
+
{
|
|
5306
|
+
"data-testid": "collectible-card-skeleton",
|
|
5307
|
+
className: "w-card-width overflow-hidden rounded-xl border border-border-base focus-visible:border-border-focus focus-visible:shadow-none focus-visible:outline-focus active:border-border-focus active:shadow-none",
|
|
5308
|
+
children: [
|
|
5309
|
+
/* @__PURE__ */ jsx42("div", { className: "relative aspect-square overflow-hidden bg-background-secondary", children: /* @__PURE__ */ jsx42(
|
|
5310
|
+
Skeleton11,
|
|
5311
|
+
{
|
|
5312
|
+
size: "lg",
|
|
5313
|
+
className: "absolute inset-0 h-full w-full animate-shimmer",
|
|
5314
|
+
style: {
|
|
5315
|
+
borderRadius: 0
|
|
5316
|
+
}
|
|
5317
|
+
}
|
|
5318
|
+
) }),
|
|
5319
|
+
/* @__PURE__ */ jsxs31("div", { className: "mt-2 flex flex-col gap-2 px-4 pb-4", children: [
|
|
5320
|
+
/* @__PURE__ */ jsx42(Skeleton11, { size: "lg", className: "animate-shimmer" }),
|
|
5321
|
+
/* @__PURE__ */ jsx42(Skeleton11, { size: "sm", className: "animate-shimmer" })
|
|
5322
|
+
] })
|
|
5323
|
+
]
|
|
5324
|
+
}
|
|
5325
|
+
);
|
|
5318
5326
|
}
|
|
5319
5327
|
function CollectibleCard({
|
|
5320
5328
|
collectibleId,
|
|
@@ -5322,30 +5330,32 @@ function CollectibleCard({
|
|
|
5322
5330
|
collectionAddress,
|
|
5323
5331
|
orderbookKind,
|
|
5324
5332
|
collectionType,
|
|
5325
|
-
|
|
5333
|
+
collectible,
|
|
5326
5334
|
onCollectibleClick,
|
|
5327
5335
|
onOfferClick,
|
|
5328
5336
|
balance,
|
|
5337
|
+
balanceIsLoading,
|
|
5329
5338
|
cardLoading,
|
|
5330
5339
|
onCannotPerformAction,
|
|
5331
5340
|
assetSrcPrefixUrl
|
|
5332
5341
|
}) {
|
|
5333
|
-
const collectibleMetadata =
|
|
5334
|
-
const highestOffer =
|
|
5342
|
+
const collectibleMetadata = collectible?.metadata;
|
|
5343
|
+
const highestOffer = collectible?.offer;
|
|
5335
5344
|
const { data: lowestListingCurrency } = useCurrency({
|
|
5336
5345
|
chainId,
|
|
5337
|
-
currencyAddress:
|
|
5346
|
+
currencyAddress: collectible?.listing?.priceCurrencyAddress,
|
|
5338
5347
|
query: {
|
|
5339
|
-
enabled: !!
|
|
5348
|
+
enabled: !!collectible?.listing?.priceCurrencyAddress
|
|
5340
5349
|
}
|
|
5341
5350
|
});
|
|
5342
5351
|
if (cardLoading) {
|
|
5343
5352
|
return /* @__PURE__ */ jsx42(CollectibleSkeleton, {});
|
|
5344
5353
|
}
|
|
5345
|
-
const action = balance ? highestOffer && "Sell" /* SELL */ || !
|
|
5354
|
+
const action = balance ? highestOffer && "Sell" /* SELL */ || !collectible?.listing && "Create listing" /* LIST */ || "Transfer" /* TRANSFER */ : collectible?.listing && "Buy" /* BUY */ || "Make an offer" /* OFFER */;
|
|
5346
5355
|
return /* @__PURE__ */ jsx42(
|
|
5347
5356
|
"div",
|
|
5348
5357
|
{
|
|
5358
|
+
"data-testid": "collectible-card",
|
|
5349
5359
|
className: "w-card-width overflow-hidden rounded-xl border border-border-base bg-background-primary focus-visible:border-border-focus focus-visible:shadow-focus-ring focus-visible:outline-focus active:border-border-focus active:shadow-active-ring",
|
|
5350
5360
|
onClick: () => onCollectibleClick?.(collectibleId),
|
|
5351
5361
|
onKeyDown: (e) => {
|
|
@@ -5369,13 +5379,13 @@ function CollectibleCard({
|
|
|
5369
5379
|
type: collectionType,
|
|
5370
5380
|
onOfferClick: (e) => onOfferClick?.({ order: highestOffer, e }),
|
|
5371
5381
|
highestOffer,
|
|
5372
|
-
lowestListingPriceAmount:
|
|
5382
|
+
lowestListingPriceAmount: collectible?.listing?.priceAmount,
|
|
5373
5383
|
lowestListingCurrency,
|
|
5374
5384
|
balance,
|
|
5375
5385
|
decimals: collectibleMetadata?.decimals
|
|
5376
5386
|
}
|
|
5377
5387
|
),
|
|
5378
|
-
(highestOffer ||
|
|
5388
|
+
(highestOffer || collectible) && !balanceIsLoading && /* @__PURE__ */ jsx42("div", { className: "-bottom-action-offset absolute flex w-full items-center justify-center bg-overlay-light p-2 backdrop-blur transition-transform duration-200 ease-in-out group-hover:translate-y-[-44px]", children: /* @__PURE__ */ jsx42(
|
|
5379
5389
|
ActionButton,
|
|
5380
5390
|
{
|
|
5381
5391
|
chainId,
|
|
@@ -5384,7 +5394,7 @@ function CollectibleCard({
|
|
|
5384
5394
|
orderbookKind,
|
|
5385
5395
|
action,
|
|
5386
5396
|
highestOffer,
|
|
5387
|
-
lowestListing:
|
|
5397
|
+
lowestListing: collectible?.listing,
|
|
5388
5398
|
owned: !!balance,
|
|
5389
5399
|
onCannotPerformAction
|
|
5390
5400
|
}
|
|
@@ -5404,4 +5414,4 @@ export {
|
|
|
5404
5414
|
useSellModal,
|
|
5405
5415
|
CollectibleCard
|
|
5406
5416
|
};
|
|
5407
|
-
//# sourceMappingURL=chunk-
|
|
5417
|
+
//# sourceMappingURL=chunk-SFSFIGHM.js.map
|