@0xsequence/marketplace-sdk 0.4.9 → 0.5.1
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/dist/{chunk-BMWCIHCB.js → chunk-5NORRVPM.js} +1 -1
- package/dist/{chunk-BMWCIHCB.js.map → chunk-5NORRVPM.js.map} +1 -1
- package/dist/{chunk-ATDCYXXV.js → chunk-6YHHCGGY.js} +2 -2
- package/dist/{chunk-BJLOO4NP.js → chunk-F4E3WJ2K.js} +30 -26
- package/dist/chunk-F4E3WJ2K.js.map +1 -0
- package/dist/{chunk-CUA4SGWT.js → chunk-I37CRQ4S.js} +750 -561
- package/dist/chunk-I37CRQ4S.js.map +1 -0
- package/dist/{chunk-TFCSNRD5.js → chunk-LJAB3S6U.js} +1 -1
- package/dist/chunk-LJAB3S6U.js.map +1 -0
- package/dist/{chunk-Y3KINNAU.js → chunk-MKGSGTQC.js} +14 -7
- package/dist/chunk-MKGSGTQC.js.map +1 -0
- package/dist/{chunk-XXML5K3X.js → chunk-QTJF5GDQ.js} +2 -2
- package/dist/{chunk-LF44FCG5.js → chunk-TQWM4ER6.js} +2 -2
- package/dist/{chunk-LF44FCG5.js.map → chunk-TQWM4ER6.js.map} +1 -1
- package/dist/{chunk-7HWJ4DUX.js → chunk-WSCUPAGR.js} +7 -3
- package/dist/chunk-WSCUPAGR.js.map +1 -0
- package/dist/{create-config-CgYQDyMD.d.ts → create-config-BXvwUh55.d.ts} +2 -2
- package/dist/index.css +2 -2
- package/dist/index.d.ts +3 -3
- package/dist/index.js +2 -2
- package/dist/{marketplace-config-BP5-XnFG.d.ts → marketplace-config-znEu4L0K.d.ts} +1 -1
- package/dist/{marketplace.gen-BzmWLP9L.d.ts → marketplace.gen-CCJ-URn2.d.ts} +2 -0
- package/dist/react/_internal/api/index.d.ts +3 -2
- package/dist/react/_internal/api/index.js +1 -1
- package/dist/react/_internal/index.d.ts +5 -5
- package/dist/react/_internal/index.js +1 -1
- package/dist/react/_internal/wagmi/index.d.ts +3 -3
- package/dist/react/hooks/index.d.ts +299 -94
- package/dist/react/hooks/index.js +11 -5
- package/dist/react/index.css +2 -2
- package/dist/react/index.css.map +1 -1
- package/dist/react/index.d.ts +6 -6
- package/dist/react/index.js +15 -9
- package/dist/react/ssr/index.js +4 -0
- package/dist/react/ssr/index.js.map +1 -1
- package/dist/react/ui/components/collectible-card/index.css +2 -2
- package/dist/react/ui/components/collectible-card/index.css.map +1 -1
- package/dist/react/ui/components/collectible-card/index.d.ts +3 -3
- package/dist/react/ui/components/collectible-card/index.js +9 -9
- package/dist/react/ui/icons/index.js +3 -3
- package/dist/react/ui/index.css +2 -2
- package/dist/react/ui/index.css.map +1 -1
- package/dist/react/ui/index.d.ts +3 -3
- package/dist/react/ui/index.js +9 -9
- package/dist/react/ui/modals/_internal/components/actionModal/index.d.ts +3 -3
- package/dist/react/ui/modals/_internal/components/actionModal/index.js +6 -6
- package/dist/{sdk-config-LbbmA85k.d.ts → sdk-config-B32_2bG3.d.ts} +4 -2
- package/dist/{services-DW26ougH.d.ts → services-BRBVE0mm.d.ts} +1 -1
- package/dist/styles/index.css +2 -2
- package/dist/styles/index.css.map +1 -1
- package/dist/styles/index.js +2 -2
- package/dist/types/index.d.ts +3 -3
- package/dist/types/index.js +1 -1
- package/dist/{types-DhTZWw1U.d.ts → types-Yto6KrTN.d.ts} +2 -2
- package/dist/utils/index.d.ts +3 -3
- package/dist/utils/index.js +2 -2
- package/package.json +16 -16
- package/src/react/_internal/api/marketplace.gen.ts +6 -3
- package/src/react/_internal/api/query-keys.ts +4 -0
- package/src/react/hooks/index.ts +2 -0
- package/src/react/hooks/useAutoSelectFeeOption.tsx +197 -0
- package/src/react/hooks/useCancelOrder.tsx +41 -1
- package/src/react/hooks/useCollectionBalanceDetails.tsx +87 -0
- package/src/react/ui/components/collectible-card/CollectibleCard.tsx +10 -12
- package/src/react/ui/components/collectible-card/styles.css.ts +1 -1
- package/src/react/ui/icons/CartIcon.tsx +2 -2
- package/src/react/ui/modals/BuyModal/hooks/useBuyCollectable.ts +7 -4
- package/src/react/ui/modals/TransferModal/_views/enterWalletAddress/useHandleTransfer.tsx +5 -1
- package/src/react/ui/modals/_internal/components/waasFeeOptionsSelect/WaasFeeOptionsSelect.tsx +14 -7
- package/tsconfig.tsbuildinfo +1 -1
- package/dist/chunk-7HWJ4DUX.js.map +0 -1
- package/dist/chunk-BJLOO4NP.js.map +0 -1
- package/dist/chunk-CUA4SGWT.js.map +0 -1
- package/dist/chunk-TFCSNRD5.js.map +0 -1
- package/dist/chunk-Y3KINNAU.js.map +0 -1
- /package/dist/{chunk-ATDCYXXV.js.map → chunk-6YHHCGGY.js.map} +0 -0
- /package/dist/{chunk-XXML5K3X.js.map → chunk-QTJF5GDQ.js.map} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/react/hooks/useBalanceOfCollectible.tsx","../src/react/hooks/useConfig.tsx","../src/utils/_internal/error/context.ts","../src/react/provider.tsx","../src/utils/_internal/error/config.ts","../src/react/hooks/useCountOfCollectables.tsx","../src/react/_internal/api/zod-schema.ts","../src/react/hooks/useCollectible.tsx","../src/react/hooks/useCollection.tsx","../src/react/hooks/useCurrencies.tsx","../src/react/hooks/useMarketplaceConfig.tsx","../src/react/hooks/options/marketplaceConfigOptions.ts","../src/react/hooks/useCurrencyOptions.tsx","../src/react/hooks/useCurrency.tsx","../src/react/hooks/useFilters.tsx","../src/react/hooks/useFloorOrder.tsx","../src/react/hooks/useHighestOffer.tsx","../src/react/hooks/useListBalances.tsx","../src/react/hooks/useListCollectibleActivities.tsx","../src/react/hooks/useListCollectibles.tsx","../src/react/hooks/useListCollectionActivities.tsx","../src/react/hooks/useListOffersForCollectible.tsx","../src/react/hooks/useCountOffersForCollectible.tsx","../src/react/hooks/useListListingsForCollectible.tsx","../src/react/hooks/useCountListingsForCollectible.tsx","../src/react/hooks/useLowestListing.tsx","../src/react/hooks/useRoyaltyPercentage.tsx","../src/react/hooks/useGenerateListingTransaction.tsx","../src/utils/date.ts","../src/react/hooks/useGenerateOfferTransaction.tsx","../src/react/hooks/useGenerateSellTransaction.tsx","../src/react/hooks/useGenerateCancelTransaction.tsx","../src/react/hooks/useTransferTokens.tsx","../src/react/hooks/useCheckoutOptions.tsx","../src/react/hooks/useListCollections.tsx","../src/react/hooks/useGenerateBuyTransaction.tsx","../src/react/hooks/useCancelOrder.tsx","../src/react/_internal/wallet/useWallet.ts","../src/react/_internal/wallet/wallet.ts","../src/react/_internal/logger.ts","../src/react/ui/modals/_internal/components/switchChainModal/index.tsx","../src/react/ui/modals/_internal/components/alertMessage/index.tsx","../src/react/ui/modals/_internal/components/switchChainModal/store.ts","../src/react/hooks/useCancelTransactionSteps.tsx","../src/react/hooks/useCollectionDetails.tsx","../src/react/hooks/useCollectionDetailsPolling.tsx"],"sourcesContent":["import { queryOptions, skipToken, useQuery } from '@tanstack/react-query';\nimport type { Hex } from 'viem';\nimport { z } from 'zod';\nimport type { SdkConfig } from '../../types';\nimport {\n\tAddressSchema,\n\tChainIdSchema,\n\tCollectableIdSchema,\n\ttype QueryArgSchema,\n\tcollectableKeys,\n\tgetIndexerClient,\n} from '../_internal';\nimport { useConfig } from './useConfig';\n\nconst fetchBalanceOfCollectibleSchema = z.object({\n\tcollectionAddress: AddressSchema,\n\tcollectableId: CollectableIdSchema.pipe(z.coerce.string()),\n\tuserAddress: AddressSchema,\n\tchainId: ChainIdSchema.pipe(z.coerce.number()),\n});\n\ntype FetchBalanceOfCollectibleArgs = z.input<\n\ttypeof fetchBalanceOfCollectibleSchema\n>;\n\nconst fetchBalanceOfCollectible = async (\n\targs: FetchBalanceOfCollectibleArgs,\n\tconfig: SdkConfig,\n) => {\n\tconst parsedArgs = fetchBalanceOfCollectibleSchema.parse(args);\n\tconst indexerClient = getIndexerClient(parsedArgs.chainId, config);\n\treturn indexerClient\n\t\t.getTokenBalances({\n\t\t\taccountAddress: parsedArgs.userAddress,\n\t\t\tcontractAddress: parsedArgs.collectionAddress,\n\t\t\ttokenID: parsedArgs.collectableId,\n\t\t\tincludeMetadata: false,\n\t\t\tmetadataOptions: {\n\t\t\t\tverifiedOnly: true,\n\t\t\t\tincludeContracts: [parsedArgs.collectionAddress],\n\t\t\t},\n\t\t})\n\t\t.then((res) => res.balances[0] || null);\n};\n\ninterface BalanceOfCollectibleOptions\n\textends Omit<FetchBalanceOfCollectibleArgs, 'userAddress'> {\n\tuserAddress: Hex | undefined;\n\tquery?: z.infer<typeof QueryArgSchema>;\n}\nexport const balanceOfCollectibleOptions = (\n\targs: BalanceOfCollectibleOptions,\n\tconfig: SdkConfig,\n) => {\n\tconst enabled = !!args.userAddress && (args.query?.enabled ?? true);\n\treturn queryOptions({\n\t\t...args.query,\n\t\tqueryKey: [...collectableKeys.userBalances, args],\n\t\tqueryFn: enabled\n\t\t\t? () =>\n\t\t\t\t\tfetchBalanceOfCollectible(\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t...args,\n\t\t\t\t\t\t\t// biome-ignore lint/style/noNonNullAssertion: this is guaranteed by the userAddress check above\n\t\t\t\t\t\t\tuserAddress: args.userAddress!,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tconfig,\n\t\t\t\t\t)\n\t\t\t: skipToken,\n\t\tenabled,\n\t});\n};\n\nexport const useBalanceOfCollectible = (args: BalanceOfCollectibleOptions) => {\n\tconst config = useConfig();\n\treturn useQuery(balanceOfCollectibleOptions(args, config));\n};\n","'use client';\n\nimport { useContext } from 'react';\n\nimport { MarketplaceSdkProviderNotFoundError } from '../../utils/_internal/error/context';\nimport { MarketplaceSdkContext } from '../provider';\n\nexport function useConfig() {\n\tconst context = useContext(MarketplaceSdkContext);\n\tif (!context) {\n\t\tthrow new MarketplaceSdkProviderNotFoundError();\n\t}\n\treturn context;\n}\n","import { BaseError } from './base';\n\nexport type MarketplaceSdkProviderNotFoundErrorType =\n\tMarketplaceSdkProviderNotFoundError & {\n\t\tname: 'MarketplaceSDKProviderNotFoundError';\n\t};\n\nexport class MarketplaceSdkProviderNotFoundError extends BaseError {\n\toverride name = 'MarketplaceSDKProviderNotFoundError';\n\tconstructor() {\n\t\tsuper('`useConfig` must be used within `MarketplaceSdkProvider`.');\n\t}\n}\n","'use client';\n\nimport { QueryClientProvider } from '@tanstack/react-query';\nimport { createContext } from 'react';\nimport '@0xsequence/design-system/styles.css';\nimport type { SdkConfig } from '../types';\nimport { PROVIDER_ID } from './_internal/get-provider';\nimport { getQueryClient } from './_internal/api/get-query-client';\nimport { InvalidProjectAccessKeyError } from '../utils/_internal/error/config';\n\nexport const MarketplaceSdkContext = createContext({} as SdkConfig);\n\nexport type MarketplaceSdkProviderProps = {\n\tconfig: SdkConfig;\n\tchildren: React.ReactNode;\n};\n\nexport function MarketplaceQueryClientProvider({\n\tchildren,\n}: {\n\tchildren: React.ReactNode;\n}) {\n\tconst queryClient = getQueryClient();\n\treturn (\n\t\t<QueryClientProvider client={queryClient}>{children}</QueryClientProvider>\n\t);\n}\n\nexport function MarketplaceProvider({\n\tconfig,\n\tchildren,\n}: MarketplaceSdkProviderProps) {\n\tif (config.projectAccessKey === '' || !config.projectAccessKey) {\n\t\tthrow new InvalidProjectAccessKeyError(config.projectAccessKey);\n\t}\n\n\treturn (\n\t\t<MarketplaceQueryClientProvider>\n\t\t\t<MarketplaceSdkContext.Provider value={config}>\n\t\t\t\t<div id={PROVIDER_ID}>{children}</div>\n\t\t\t</MarketplaceSdkContext.Provider>\n\t\t</MarketplaceQueryClientProvider>\n\t);\n}\n","import { BaseError } from './base';\n\nexport type ConfigErrorType<name extends string = 'ConfigError'> = BaseError & {\n\tname: name;\n};\n\nexport class ConfigError extends BaseError {\n\toverride name = 'ConfigError';\n}\n\nexport class InvalidProjectAccessKeyError extends ConfigError {\n\toverride name = 'InvalidProjectAccessKeyError';\n\tconstructor(projectAccessKey: string) {\n\t\tsuper(`Invalid project access key: ${projectAccessKey}`);\n\t}\n}\n","import { queryOptions, useQuery } from '@tanstack/react-query';\nimport { z } from 'zod';\nimport type { SdkConfig } from '../../types';\nimport {\n\tAddressSchema,\n\tChainIdSchema,\n\tOrderSide,\n\tQueryArgSchema,\n\tcollectableKeys,\n\tgetMarketplaceClient,\n} from '../_internal';\nimport { collectiblesFilterSchema } from '../_internal/api/zod-schema';\nimport { useConfig } from './useConfig';\n\nconst BaseSchema = z.object({\n\tchainId: ChainIdSchema.pipe(z.coerce.string()),\n\tcollectionAddress: AddressSchema,\n\tquery: QueryArgSchema,\n});\n\nconst UseCountOfCollectableSchema = BaseSchema.extend({\n\tfilter: collectiblesFilterSchema,\n\tside: z.nativeEnum(OrderSide),\n}).or(\n\tBaseSchema.extend({\n\t\tfilter: z.undefined(),\n\t\tside: z.undefined(),\n\t}),\n);\n\nexport type UseCountOfCollectablesArgs = z.infer<\n\ttypeof UseCountOfCollectableSchema\n>;\n\nexport type UseContOfCollectableReturn = Awaited<\n\tReturnType<typeof fetchCountOfCollectables>\n>;\n\nconst fetchCountOfCollectables = async (\n\targs: UseCountOfCollectablesArgs,\n\tconfig: SdkConfig,\n) => {\n\tconst parsedArgs = UseCountOfCollectableSchema.parse(args);\n\tconst marketplaceClient = getMarketplaceClient(parsedArgs.chainId, config);\n\tif (parsedArgs.filter) {\n\t\treturn marketplaceClient\n\t\t\t.getCountOfFilteredCollectibles({\n\t\t\t\t...parsedArgs,\n\t\t\t\tcontractAddress: parsedArgs.collectionAddress,\n\t\t\t\t// biome-ignore lint/style/noNonNullAssertion: safe to assert here, as it's validated\n\t\t\t\tside: parsedArgs.side!,\n\t\t\t})\n\t\t\t.then((resp) => resp.count);\n\t}\n\treturn marketplaceClient\n\t\t.getCountOfAllCollectibles({\n\t\t\t...parsedArgs,\n\t\t\tcontractAddress: parsedArgs.collectionAddress,\n\t\t})\n\t\t.then((resp) => resp.count);\n};\n\nexport const countOfCollectablesOptions = (\n\targs: UseCountOfCollectablesArgs,\n\tconfig: SdkConfig,\n) => {\n\treturn queryOptions({\n\t\t...args.query,\n\t\tqueryKey: [...collectableKeys.counts, args],\n\t\tqueryFn: () => fetchCountOfCollectables(args, config),\n\t});\n};\n\nexport const useCountOfCollectables = (args: UseCountOfCollectablesArgs) => {\n\tconst config = useConfig();\n\treturn useQuery(countOfCollectablesOptions(args, config));\n};\n","// generated with https://transform.tools/typescript-to-zod\n//\n//\nimport { z } from 'zod';\nimport {\n\tCollectibleStatus,\n\tCollectionStatus,\n\tContractType,\n\tExecuteType,\n\tMarketplaceKind,\n\tOrderSide,\n\tOrderStatus,\n\tOrderbookKind,\n\tProjectStatus,\n\tPropertyType,\n\tSortOrder,\n\tSourceKind,\n\tStepType,\n\tTransactionCrypto,\n\tTransactionNFTCheckoutProvider,\n\tTransactionOnRampProvider,\n\tTransactionSwapProvider,\n\tWalletKind,\n} from './marketplace.gen';\nimport { ChainIdSchema, CollectableIdSchema } from '../types';\nimport { AddressSchema } from '../types';\n\nexport const assetSchema = z.object({\n\tid: z.number(),\n\tcollectionId: z.number(),\n\ttokenId: z.string(),\n\turl: z.string().optional(),\n\tmetadataField: z.string(),\n\tname: z.string().optional(),\n\tfilesize: z.number().optional(),\n\tmimeType: z.string().optional(),\n\twidth: z.number().optional(),\n\theight: z.number().optional(),\n\tupdatedAt: z.string().optional(),\n});\n\nexport const sortOrderSchema = z.nativeEnum(SortOrder);\n\nexport const propertyTypeSchema = z.nativeEnum(PropertyType);\n\nexport const marketplaceKindSchema = z.nativeEnum(MarketplaceKind);\n\nexport const orderbookKindSchema = z.nativeEnum(OrderbookKind);\n\nexport const sourceKindSchema = z.nativeEnum(SourceKind);\n\nexport const orderSideSchema = z.nativeEnum(OrderSide);\n\nexport const orderStatusSchema = z.nativeEnum(OrderStatus);\n\nexport const contractTypeSchema = z.nativeEnum(ContractType);\n\nexport const collectionStatusSchema = z.nativeEnum(CollectionStatus);\n\nexport const projectStatusSchema = z.nativeEnum(ProjectStatus);\n\nexport const collectibleStatusSchema = z.nativeEnum(CollectibleStatus);\n\nexport const walletKindSchema = z.nativeEnum(WalletKind);\n\nexport const stepTypeSchema = z.nativeEnum(StepType);\n\nexport const transactionCryptoSchema = z.nativeEnum(TransactionCrypto);\n\nexport const transactionNFTCheckoutProviderSchema = z.nativeEnum(\n\tTransactionNFTCheckoutProvider,\n);\n\nexport const transactionOnRampProviderSchema = z.nativeEnum(\n\tTransactionOnRampProvider,\n);\n\nexport const transactionSwapProviderSchema = z.nativeEnum(\n\tTransactionSwapProvider,\n);\n\nexport const executeTypeSchema = z.nativeEnum(ExecuteType);\n\nexport const sortBySchema = z.object({\n\tcolumn: z.string(),\n\torder: sortOrderSchema,\n});\n\nexport const propertyFilterSchema = z.object({\n\tname: z.string(),\n\ttype: propertyTypeSchema,\n\tmin: z.number().optional(),\n\tmax: z.number().optional(),\n\tvalues: z.array(z.any()).optional(),\n});\n\nexport const collectiblesFilterSchema = z.object({\n\tincludeEmpty: z.boolean(),\n\tsearchText: z.string().optional(),\n\tproperties: z.array(propertyFilterSchema).optional(),\n\tmarketplaces: z.array(marketplaceKindSchema).optional(),\n\tinAccounts: z.array(z.string()).optional(),\n\tnotInAccounts: z.array(z.string()).optional(),\n\tordersCreatedBy: z.array(z.string()).optional(),\n\tordersNotCreatedBy: z.array(z.string()).optional(),\n});\n\nexport const feeBreakdownSchema = z.object({\n\tkind: z.string(),\n\trecipientAddress: z.string(),\n\tbps: z.number(),\n});\n\nexport const orderFilterSchema = z.object({\n\tcreatedBy: z.array(z.string()).optional(),\n\tmarketplace: z.array(marketplaceKindSchema).optional(),\n\tcurrencies: z.array(z.string()).optional(),\n});\n\nexport const collectionLastSyncedSchema = z.object({\n\tallOrders: z.string(),\n\tnewOrders: z.string(),\n});\n\nexport const projectSchema = z.object({\n\tprojectId: z.number(),\n\tchainId: z.number(),\n\tcontractAddress: z.string(),\n\tstatus: projectStatusSchema,\n\tcreatedAt: z.string(),\n\tupdatedAt: z.string(),\n\tdeletedAt: z.string().optional(),\n});\n\nexport const collectibleSchema = z.object({\n\tchainId: z.number(),\n\tcontractAddress: z.string(),\n\tstatus: collectibleStatusSchema,\n\ttokenId: z.string(),\n\tcreatedAt: z.string(),\n\tupdatedAt: z.string(),\n\tdeletedAt: z.string().optional(),\n});\n\nexport const currencySchema = z.object({\n\tchainId: z.number(),\n\tcontractAddress: z.string(),\n\tname: z.string(),\n\tsymbol: z.string(),\n\tdecimals: z.number(),\n\timageUrl: z.string(),\n\texchangeRate: z.number(),\n\tdefaultChainCurrency: z.boolean(),\n\tnativeCurrency: z.boolean(),\n\tcreatedAt: z.string(),\n\tupdatedAt: z.string(),\n\tdeletedAt: z.string().optional(),\n});\n\nexport const orderDataSchema = z.object({\n\torderId: z.string(),\n\tquantity: z.string(),\n});\n\nexport const additionalFeeSchema = z.object({\n\tamount: z.string(),\n\treceiver: z.string(),\n});\n\nexport const postRequestSchema = z.object({\n\tendpoint: z.string(),\n\tmethod: z.string(),\n\tbody: z.any(),\n});\n\nexport const createReqSchema = z.object({\n\ttokenId: z.string(),\n\tquantity: z.string(),\n\texpiry: z.string(),\n\tcurrencyAddress: z.string(),\n\tpricePerToken: z.string(),\n});\n\nexport const getOrdersInputSchema = z.object({\n\tcontractAddress: z.string(),\n\torderId: z.string(),\n\tmarketplace: marketplaceKindSchema,\n});\n\nexport const domainSchema = z.object({\n\tname: z.string(),\n\tversion: z.string(),\n\tchainId: z.number(),\n\tverifyingContract: z.string(),\n});\n\nexport const checkoutOptionsMarketplaceOrderSchema = z.object({\n\tcontractAddress: z.string(),\n\torderId: z.string(),\n\tmarketplace: marketplaceKindSchema,\n});\n\nexport const checkoutOptionsItemSchema = z.object({\n\ttokenId: z.string(),\n\tquantity: z.string(),\n});\n\nexport const checkoutOptionsSchema = z.object({\n\tcrypto: transactionCryptoSchema,\n\tswap: z.array(transactionSwapProviderSchema),\n\tnftCheckout: z.array(transactionNFTCheckoutProviderSchema),\n\tonRamp: z.array(transactionOnRampProviderSchema),\n});\n\nexport const listCurrenciesArgsSchema = z.object({});\n\nexport const listCurrenciesReturnSchema = z.object({\n\tcurrencies: z.array(currencySchema),\n});\n\nexport const getCollectibleArgsSchema = z.object({\n\tcontractAddress: z.string(),\n\ttokenId: z.string(),\n});\n\nexport const getLowestPriceOfferForCollectibleArgsSchema = z.object({\n\tcontractAddress: z.string(),\n\ttokenId: z.string(),\n\tfilter: orderFilterSchema.optional(),\n});\n\nexport const getHighestPriceOfferForCollectibleArgsSchema = z.object({\n\tcontractAddress: z.string(),\n\ttokenId: z.string(),\n\tfilter: orderFilterSchema.optional(),\n});\n\nexport const getLowestPriceListingForCollectibleArgsSchema = z.object({\n\tcontractAddress: z.string(),\n\ttokenId: z.string(),\n\tfilter: orderFilterSchema.optional(),\n});\n\nexport const getHighestPriceListingForCollectibleArgsSchema = z.object({\n\tcontractAddress: z.string(),\n\ttokenId: z.string(),\n\tfilter: orderFilterSchema.optional(),\n});\n\nexport const getCollectibleLowestOfferArgsSchema = z.object({\n\tcontractAddress: z.string(),\n\ttokenId: z.string(),\n\tfilter: orderFilterSchema.optional(),\n});\n\nexport const getCollectibleHighestOfferArgsSchema = z.object({\n\tcontractAddress: z.string(),\n\ttokenId: z.string(),\n\tfilter: orderFilterSchema.optional(),\n});\n\nexport const getCollectibleLowestListingArgsSchema = z.object({\n\tcontractAddress: z.string(),\n\ttokenId: z.string(),\n\tfilters: orderFilterSchema.optional(),\n});\n\nexport const getCollectibleHighestListingArgsSchema = z.object({\n\tcontractAddress: z.string(),\n\ttokenId: z.string(),\n\tfilter: orderFilterSchema.optional(),\n});\n\nexport const generateBuyTransactionArgsSchema = z.object({\n\tcollectionAddress: z.string(),\n\tbuyer: z.string(),\n\tmarketplace: marketplaceKindSchema,\n\tordersData: z.array(orderDataSchema),\n\tadditionalFees: z.array(additionalFeeSchema),\n\twalletType: walletKindSchema.optional(),\n});\n\nexport const generateSellTransactionArgsSchema = z.object({\n\tcollectionAddress: z.string(),\n\tseller: z.string(),\n\tmarketplace: marketplaceKindSchema,\n\tordersData: z.array(orderDataSchema),\n\tadditionalFees: z.array(additionalFeeSchema),\n\twalletType: walletKindSchema.optional(),\n});\n\nexport const generateListingTransactionArgsSchema = z.object({\n\tcollectionAddress: z.string(),\n\towner: z.string(),\n\tcontractType: contractTypeSchema,\n\torderbook: orderbookKindSchema,\n\tlisting: createReqSchema,\n\twalletType: walletKindSchema.optional(),\n});\n\nexport const generateOfferTransactionArgsSchema = z.object({\n\tcollectionAddress: z.string(),\n\tmaker: z.string(),\n\tcontractType: contractTypeSchema,\n\torderbook: orderbookKindSchema,\n\toffer: createReqSchema,\n\twalletType: walletKindSchema.optional(),\n});\n\nexport const executeArgsSchema = z.object({\n\tsignature: z.string(),\n\texecuteType: executeTypeSchema,\n\tbody: z.any(),\n});\n\nexport const executeReturnSchema = z.object({\n\torderId: z.string(),\n});\n\nexport const getCountOfAllCollectiblesArgsSchema = z.object({\n\tcontractAddress: z.string(),\n});\n\nexport const getCountOfAllCollectiblesReturnSchema = z.object({\n\tcount: z.number(),\n});\n\nexport const getCountOfFilteredCollectiblesArgsSchema = z.object({\n\tside: orderSideSchema,\n\tcontractAddress: z.string(),\n\tfilter: collectiblesFilterSchema.optional(),\n});\n\nexport const getCountOfFilteredCollectiblesReturnSchema = z.object({\n\tcount: z.number(),\n});\n\nexport const getFloorOrderArgsSchema = z.object({\n\tcontractAddress: z.string(),\n\tfilter: collectiblesFilterSchema.optional(),\n});\n\nexport const syncOrderReturnSchema = z.object({});\n\nexport const syncOrdersReturnSchema = z.object({});\n\nexport const checkoutOptionsMarketplaceArgsSchema = z.object({\n\twallet: z.string(),\n\torders: z.array(checkoutOptionsMarketplaceOrderSchema),\n\tadditionalFee: z.number(),\n});\n\nexport const checkoutOptionsMarketplaceReturnSchema = z.object({\n\toptions: checkoutOptionsSchema,\n});\n\nexport const checkoutOptionsSalesContractArgsSchema = z.object({\n\twallet: z.string(),\n\tcontractAddress: z.string(),\n\tcollectionAddress: z.string(),\n\titems: z.array(checkoutOptionsItemSchema),\n});\n\nexport const checkoutOptionsSalesContractReturnSchema = z.object({\n\toptions: checkoutOptionsSchema,\n});\n\nexport const countListingsForCollectibleArgsSchema = z.object({\n\tcontractAddress: z.string(),\n\ttokenId: z.string(),\n\tfilter: orderFilterSchema.optional(),\n});\n\nexport const countListingsForCollectibleReturnSchema = z.object({\n\tcount: z.number(),\n});\n\nexport const countOffersForCollectibleArgsSchema = z.object({\n\tcontractAddress: z.string(),\n\ttokenId: z.string(),\n\tfilter: orderFilterSchema.optional(),\n});\n\nexport const countOffersForCollectibleReturnSchema = z.object({\n\tcount: z.number(),\n});\n\nexport const tokenMetadataSchema = z.object({\n\ttokenId: z.string(),\n\tname: z.string(),\n\tdescription: z.string().optional(),\n\timage: z.string().optional(),\n\tvideo: z.string().optional(),\n\taudio: z.string().optional(),\n\tproperties: z.record(z.any()).optional(),\n\tattributes: z.array(z.record(z.any())),\n\timage_data: z.string().optional(),\n\texternal_url: z.string().optional(),\n\tbackground_color: z.string().optional(),\n\tanimation_url: z.string().optional(),\n\tdecimals: z.number().optional(),\n\tupdatedAt: z.string().optional(),\n\tassets: z.array(assetSchema).optional(),\n});\n\nexport const pageSchema = z.object({\n\tpage: z.number(),\n\tpageSize: z.number(),\n\tmore: z.boolean().optional(),\n\tsort: z.array(sortBySchema).optional(),\n});\n\nexport const filterSchema = z.object({\n\ttext: z.string().optional(),\n\tproperties: z.array(propertyFilterSchema).optional(),\n});\n\nexport const orderSchema = z.object({\n\torderId: z.string(),\n\tmarketplace: marketplaceKindSchema,\n\tside: orderSideSchema,\n\tstatus: orderStatusSchema,\n\tchainId: z.number(),\n\tcollectionContractAddress: z.string(),\n\ttokenId: z.string(),\n\tcreatedBy: z.string(),\n\tpriceAmount: z.string(),\n\tpriceAmountFormatted: z.string(),\n\tpriceAmountNet: z.string(),\n\tpriceAmountNetFormatted: z.string(),\n\tpriceCurrencyAddress: z.string(),\n\tpriceDecimals: z.number(),\n\tpriceUSD: z.number(),\n\tquantityInitial: z.string(),\n\tquantityInitialFormatted: z.string(),\n\tquantityRemaining: z.string(),\n\tquantityRemainingFormatted: z.string(),\n\tquantityAvailable: z.string(),\n\tquantityAvailableFormatted: z.string(),\n\tquantityDecimals: z.number(),\n\tfeeBps: z.number(),\n\tfeeBreakdown: z.array(feeBreakdownSchema),\n\tvalidFrom: z.string(),\n\tvalidUntil: z.string(),\n\tblockNumber: z.number(),\n\torderCreatedAt: z.string().optional(),\n\torderUpdatedAt: z.string().optional(),\n\tcreatedAt: z.string(),\n\tupdatedAt: z.string(),\n\tdeletedAt: z.string().optional(),\n});\n\nexport const collectibleOrderSchema = z.object({\n\tmetadata: tokenMetadataSchema,\n\torder: orderSchema.optional(),\n});\n\nexport const activitySchema = z.object({\n\ttype: z.string(),\n\tfromAddress: z.string(),\n\ttoAddress: z.string(),\n\ttxHash: z.string(),\n\ttimestamp: z.number(),\n\ttokenId: z.string(),\n\ttokenImage: z.string(),\n\ttokenName: z.string(),\n\tcurrency: currencySchema.optional(),\n});\n\nexport const collectionConfigSchema = z.object({\n\tlastSynced: z.record(collectionLastSyncedSchema),\n\tcollectiblesSynced: z.string(),\n});\n\nexport const signatureSchema = z.object({\n\tdomain: domainSchema,\n\ttypes: z.any(),\n\tprimaryType: z.string(),\n\tvalue: z.any(),\n});\n\nexport const getCollectibleReturnSchema = z.object({\n\tmetadata: tokenMetadataSchema,\n});\n\nexport const getLowestPriceOfferForCollectibleReturnSchema = z.object({\n\torder: orderSchema,\n});\n\nexport const getHighestPriceOfferForCollectibleReturnSchema = z.object({\n\torder: orderSchema,\n});\n\nexport const getLowestPriceListingForCollectibleReturnSchema = z.object({\n\torder: orderSchema,\n});\n\nexport const getHighestPriceListingForCollectibleReturnSchema = z.object({\n\torder: orderSchema,\n});\n\nexport const listListingsForCollectibleArgsSchema = z.object({\n\tcontractAddress: z.string(),\n\ttokenId: z.string(),\n\tfilter: orderFilterSchema.optional(),\n\tpage: pageSchema.optional(),\n});\n\nexport const listListingsForCollectibleReturnSchema = z.object({\n\tlistings: z.array(orderSchema),\n\tpage: pageSchema.optional(),\n});\n\nexport const listOffersForCollectibleArgsSchema = z.object({\n\tcontractAddress: z.string(),\n\ttokenId: z.string(),\n\tfilter: orderFilterSchema.optional(),\n\tpage: pageSchema.optional(),\n});\n\nexport const listOffersForCollectibleReturnSchema = z.object({\n\toffers: z.array(orderSchema),\n\tpage: pageSchema.optional(),\n});\n\nexport const getListCollectibleActivitiesArgsSchema = z.object({\n\tchainId: ChainIdSchema.pipe(z.coerce.string()),\n\tcollectionAddress: AddressSchema,\n\ttokenId: CollectableIdSchema.pipe(z.coerce.string()),\n\tquery: pageSchema\n\t\t.extend({\n\t\t\tenabled: z.boolean().optional(),\n\t\t})\n\t\t.optional(),\n});\n\nexport const getListCollectibleActivitiesReturnSchema = z.object({\n\tactivities: z.array(activitySchema),\n\tpage: pageSchema.optional(),\n});\n\nexport const getListCollectionActivitiesArgsSchema = z.object({\n\tchainId: ChainIdSchema.pipe(z.coerce.string()),\n\tcollectionAddress: AddressSchema,\n\tquery: pageSchema\n\t\t.extend({\n\t\t\tenabled: z.boolean().optional(),\n\t\t})\n\t\t.optional(),\n});\n\nexport const getListCollectionActivitiesReturnSchema = z.object({\n\tactivities: z.array(activitySchema),\n\tpage: pageSchema.optional(),\n});\n\nexport const getCollectibleLowestOfferReturnSchema = z.object({\n\torder: orderSchema.optional(),\n});\n\nexport const getCollectibleHighestOfferReturnSchema = z.object({\n\torder: orderSchema.optional(),\n});\n\nexport const getCollectibleLowestListingReturnSchema = z.object({\n\torder: orderSchema.optional(),\n});\n\nexport const getCollectibleHighestListingReturnSchema = z.object({\n\torder: orderSchema.optional(),\n});\n\nexport const listCollectibleListingsArgsSchema = z.object({\n\tcontractAddress: z.string(),\n\ttokenId: z.string(),\n\tfilter: orderFilterSchema.optional(),\n\tpage: pageSchema.optional(),\n});\n\nexport const listCollectibleListingsReturnSchema = z.object({\n\tlistings: z.array(orderSchema),\n\tpage: pageSchema.optional(),\n});\n\nexport const listCollectibleOffersArgsSchema = z.object({\n\tcontractAddress: z.string(),\n\ttokenId: z.string(),\n\tfilter: orderFilterSchema.optional(),\n\tpage: pageSchema.optional(),\n});\n\nexport const listCollectibleOffersReturnSchema = z.object({\n\toffers: z.array(orderSchema),\n\tpage: pageSchema.optional(),\n});\n\nexport const listCollectiblesArgsSchema = z.object({\n\tside: orderSideSchema,\n\tcontractAddress: z.string(),\n\tfilter: collectiblesFilterSchema.optional(),\n\tpage: pageSchema.optional(),\n});\n\nexport const listCollectiblesReturnSchema = z.object({\n\tcollectibles: z.array(collectibleOrderSchema),\n\tpage: pageSchema.optional(),\n});\n\nexport const getFloorOrderReturnSchema = z.object({\n\tcollectible: collectibleOrderSchema,\n});\n\nexport const listCollectiblesWithLowestListingArgsSchema = z.object({\n\tcontractAddress: z.string(),\n\tfilter: collectiblesFilterSchema.optional(),\n\tpage: pageSchema.optional(),\n});\n\nexport const listCollectiblesWithLowestListingReturnSchema = z.object({\n\tcollectibles: z.array(collectibleOrderSchema),\n\tpage: pageSchema.optional(),\n});\n\nexport const listCollectiblesWithHighestOfferArgsSchema = z.object({\n\tcontractAddress: z.string(),\n\tfilter: collectiblesFilterSchema.optional(),\n\tpage: pageSchema.optional(),\n});\n\nexport const listCollectiblesWithHighestOfferReturnSchema = z.object({\n\tcollectibles: z.array(collectibleOrderSchema),\n\tpage: pageSchema.optional(),\n});\n\nexport const syncOrderArgsSchema = z.object({\n\torder: orderSchema,\n});\n\nexport const syncOrdersArgsSchema = z.object({\n\torders: z.array(orderSchema),\n});\n\nexport const getOrdersArgsSchema = z.object({\n\tinput: z.array(getOrdersInputSchema),\n\tpage: pageSchema.optional(),\n});\n\nexport const getOrdersReturnSchema = z.object({\n\torders: z.array(orderSchema),\n\tpage: pageSchema.optional(),\n});\n\nexport const collectionSchema = z.object({\n\tstatus: collectionStatusSchema,\n\tchainId: z.number(),\n\tcontractAddress: z.string(),\n\tcontractType: contractTypeSchema,\n\ttokenQuantityDecimals: z.number(),\n\tconfig: collectionConfigSchema,\n\tcreatedAt: z.string(),\n\tupdatedAt: z.string(),\n\tdeletedAt: z.string().optional(),\n});\n\nexport const stepSchema = z.object({\n\tid: stepTypeSchema,\n\tdata: z.string(),\n\tto: z.string(),\n\tvalue: z.string(),\n\tsignature: signatureSchema.optional(),\n\tpost: postRequestSchema.optional(),\n\texecuteType: executeTypeSchema.optional(),\n});\n\nexport const generateBuyTransactionReturnSchema = z.object({\n\tsteps: z.array(stepSchema),\n});\n\nexport const generateSellTransactionReturnSchema = z.object({\n\tsteps: z.array(stepSchema),\n});\n\nexport const generateListingTransactionReturnSchema = z.object({\n\tsteps: z.array(stepSchema),\n});\n\nexport const generateOfferTransactionReturnSchema = z.object({\n\tsteps: z.array(stepSchema),\n});\n","import { queryOptions, useQuery } from '@tanstack/react-query';\nimport { z } from 'zod';\nimport type { SdkConfig } from '../../types';\nimport {\n\tAddressSchema,\n\tChainIdSchema,\n\tQueryArgSchema,\n\tcollectableKeys,\n\tgetMetadataClient,\n} from '../_internal';\nimport { useConfig } from './useConfig';\n\nconst UseCollectibleSchema = z.object({\n\tchainId: ChainIdSchema.pipe(z.coerce.string()),\n\tcollectionAddress: AddressSchema,\n\tcollectibleId: z.string(),\n\tquery: QueryArgSchema,\n});\n\nexport type UseCollectibleArgs = z.infer<typeof UseCollectibleSchema>;\n\nexport type UseCollectibleReturn = Awaited<ReturnType<typeof fetchCollectible>>;\n\nconst fetchCollectible = async (\n\targs: UseCollectibleArgs,\n\tconfig: SdkConfig,\n) => {\n\tconst parsedArgs = UseCollectibleSchema.parse(args);\n\tconst metadataClient = getMetadataClient(config);\n\treturn metadataClient\n\t\t.getTokenMetadata({\n\t\t\tchainID: parsedArgs.chainId,\n\t\t\tcontractAddress: parsedArgs.collectionAddress,\n\t\t\ttokenIDs: [parsedArgs.collectibleId],\n\t\t})\n\t\t.then((resp) => resp.tokenMetadata[0]);\n};\n\nexport const collectibleOptions = (\n\targs: UseCollectibleArgs,\n\tconfig: SdkConfig,\n) => {\n\treturn queryOptions({\n\t\t...args.query,\n\t\tqueryKey: [...collectableKeys.details, args, config],\n\t\tqueryFn: () => fetchCollectible(args, config),\n\t});\n};\n\nexport const useCollectible = (args: UseCollectibleArgs) => {\n\tconst config = useConfig();\n\treturn useQuery(collectibleOptions(args, config));\n};\n","import { queryOptions, useQuery } from '@tanstack/react-query';\nimport { z } from 'zod';\nimport type { SdkConfig } from '../../types';\nimport {\n\tAddressSchema,\n\tChainIdSchema,\n\tQueryArgSchema,\n\tcollectionKeys,\n\tgetMetadataClient,\n} from '../_internal';\nimport { useConfig } from './useConfig';\n\nconst UseCollectionSchema = z.object({\n\tchainId: ChainIdSchema.pipe(z.coerce.string()),\n\tcollectionAddress: AddressSchema,\n\tquery: QueryArgSchema,\n});\n\nexport type UseCollectionArgs = z.input<typeof UseCollectionSchema>;\n\nexport type UseCollectionReturn = Awaited<ReturnType<typeof fetchCollection>>;\n\nconst fetchCollection = async (args: UseCollectionArgs, config: SdkConfig) => {\n\tconst parsedArgs = UseCollectionSchema.parse(args);\n\tconst metadataClient = getMetadataClient(config);\n\treturn metadataClient\n\t\t.getContractInfo({\n\t\t\tchainID: parsedArgs.chainId,\n\t\t\tcontractAddress: parsedArgs.collectionAddress,\n\t\t})\n\t\t.then((resp) => resp.contractInfo);\n};\n\nexport const collectionOptions = (\n\targs: UseCollectionArgs,\n\tconfig: SdkConfig,\n) => {\n\treturn queryOptions({\n\t\t...args.query,\n\t\tqueryKey: [...collectionKeys.detail, args, config],\n\t\tqueryFn: () => fetchCollection(args, config),\n\t});\n};\n\nexport const useCollection = (args: UseCollectionArgs) => {\n\tconst config = useConfig();\n\treturn useQuery(collectionOptions(args, config));\n};\n","import { queryOptions, useQuery } from '@tanstack/react-query';\nimport { zeroAddress } from 'viem';\nimport { z } from 'zod';\nimport type { SdkConfig } from '../../types';\nimport {\n\tAddressSchema,\n\ttype ChainId,\n\tChainIdSchema,\n\ttype Currency,\n\tQueryArgSchema,\n\tcurrencyKeys,\n\tgetMarketplaceClient,\n} from '../_internal';\nimport { useConfig } from './useConfig';\n\nconst ChainIdCoerce = ChainIdSchema.transform((val) => val.toString());\n\nconst UseCurrenciesArgsSchema = z.object({\n\tchainId: ChainIdCoerce,\n\tincludeNativeCurrency: z.boolean().optional().default(true),\n\tcurrencyOptions: z.array(AddressSchema).optional(),\n\tquery: QueryArgSchema,\n});\n\ntype UseCurrenciesArgs = z.input<typeof UseCurrenciesArgsSchema>;\n\nexport type UseCurrenciesReturn = Awaited<ReturnType<typeof fetchCurrencies>>;\n\nconst fetchCurrencies = async (chainId: ChainId, config: SdkConfig) => {\n\tconst parsedChainId = ChainIdCoerce.parse(chainId);\n\tconst marketplaceClient = getMarketplaceClient(parsedChainId, config);\n\treturn marketplaceClient.listCurrencies().then((resp) =>\n\t\tresp.currencies.map((currency) => ({\n\t\t\t...currency,\n\t\t\t// TODO: remove this, when we are sure of the schema\n\t\t\tcontractAddress: currency.contractAddress || zeroAddress,\n\t\t})),\n\t);\n};\n\nconst selectCurrencies = (data: Currency[], args: UseCurrenciesArgs) => {\n\tconst argsParsed = UseCurrenciesArgsSchema.parse(args);\n\n\tlet filteredData = data;\n\n\tif (!argsParsed.includeNativeCurrency) {\n\t\tfilteredData = filteredData.filter((currency) => !currency.nativeCurrency);\n\t}\n\n\tif (argsParsed.currencyOptions) {\n\t\tconst lowerCaseCurrencyOptions = argsParsed.currencyOptions.map((option) =>\n\t\t\toption.toLowerCase(),\n\t\t);\n\n\t\tfilteredData = filteredData.filter((currency) =>\n\t\t\tlowerCaseCurrencyOptions.includes(currency.contractAddress.toLowerCase()),\n\t\t);\n\t}\n\treturn filteredData;\n};\n\nexport const currenciesOptions = (\n\targs: UseCurrenciesArgs,\n\tconfig: SdkConfig,\n) => {\n\treturn queryOptions({\n\t\t...args.query,\n\t\tqueryKey: [...currencyKeys.lists, args.chainId],\n\t\tqueryFn: () => fetchCurrencies(args.chainId, config),\n\t\tselect: (data) => selectCurrencies(data, args),\n\t\tenabled: args.query?.enabled,\n\t});\n};\n\nexport const useCurrencies = (args: UseCurrenciesArgs) => {\n\tconst config = useConfig();\n\n\treturn useQuery(currenciesOptions(args, config));\n};\n","import { useQuery } from '@tanstack/react-query';\nimport { marketplaceConfigOptions } from './options/marketplaceConfigOptions';\nimport { useConfig } from './useConfig';\n\nexport * from './options/marketplaceConfigOptions';\n\nexport const useMarketplaceConfig = () => {\n\tconst config = useConfig();\n\treturn useQuery(marketplaceConfigOptions(config));\n};\n","import { queryOptions } from '@tanstack/react-query';\nimport type { Env, MarketplaceConfig, SdkConfig } from '../../../types';\nimport {\n\tMarketplaceConfigFetchError,\n\tProjectNotFoundError,\n} from '../../../utils/_internal/error/transaction';\nimport { builderMarketplaceApi, configKeys } from '../../_internal';\n\nconst fetchBuilderConfig = async (projectId: string, env: Env) => {\n\tconst url = `${builderMarketplaceApi(projectId, env)}`;\n\tconst response = await fetch(`${url}/config.json`);\n\n\tconst json = await response.json();\n\tif (!response.ok) {\n\t\tconsole.error('Failed to fetch marketplace config:', response.status, json);\n\t\t//@ts-ignore\n\t\tswitch (json.code) {\n\t\t\tcase 3000: // Throws 3000 if the project is not found\n\t\t\t\tthrow new ProjectNotFoundError(projectId, url);\n\t\t\tdefault:\n\t\t\t\t//@ts-ignore\n\t\t\t\tthrow new MarketplaceConfigFetchError(json.msg);\n\t\t}\n\t}\n\treturn json as MarketplaceConfig;\n};\n\nconst fetchStyles = async (projectId: string, env: Env) => {\n\tconst response = await fetch(\n\t\t`${builderMarketplaceApi(projectId, env)}/styles.css`,\n\t);\n\tconst styles = await response.text();\n\t// React sanitizes this string, so we need to remove all quotes, they are not needed anyway\n\treturn styles.replaceAll(/['\"]/g, '');\n};\n\nconst fetchMarketplaceConfig = async (\n\tenv: Env,\n\tprojectId: string,\n): Promise<MarketplaceConfig> => {\n\tconst [marketplaceConfig, cssString] = await Promise.all([\n\t\tfetchBuilderConfig(projectId, env),\n\t\tfetchStyles(projectId, env),\n\t]);\n\n\treturn {\n\t\t...marketplaceConfig,\n\t\tcssString,\n\t\tmanifestUrl: `${builderMarketplaceApi(projectId, env)}/manifest.json`,\n\t};\n};\n\nexport const marketplaceConfigOptions = (\n\tconfig: Pick<SdkConfig, 'projectId'> | SdkConfig,\n) => {\n\tlet env: Env = 'production';\n\tif ('_internal' in config && config._internal !== undefined) {\n\t\tenv = config._internal.builderEnv ?? env;\n\t}\n\n\tconst projectId = config.projectId;\n\treturn queryOptions({\n\t\tqueryKey: [...configKeys.marketplace, env, projectId],\n\t\tqueryFn: () => fetchMarketplaceConfig(env, projectId),\n\t});\n};\n","import type { Address } from 'viem';\nimport { useMarketplaceConfig } from './useMarketplaceConfig';\n\nexport const useCurrencyOptions = ({\n\tcollectionAddress,\n}: {\n\tcollectionAddress: Address;\n}) => {\n\tconst { data: marketplaceConfig } = useMarketplaceConfig();\n\tconst collections = marketplaceConfig?.collections;\n\tconst currencyOptions = collections?.find(\n\t\t(collection) => collection.collectionAddress === collectionAddress,\n\t)?.currencyOptions;\n\n\treturn currencyOptions;\n};\n","import { queryOptions, useQuery } from '@tanstack/react-query';\nimport { z } from 'zod';\nimport type { SdkConfig } from '../../types';\nimport {\n\tAddressSchema,\n\ttype ChainId,\n\tChainIdSchema,\n\ttype Currency,\n\tQueryArgSchema,\n\tcurrencyKeys,\n\tgetMarketplaceClient,\n\tgetQueryClient,\n} from '../_internal';\nimport { useConfig } from './useConfig';\n\nconst ChainIdCoerce = ChainIdSchema.transform((val) => val.toString());\n\nconst UseCurrencyArgsSchema = z.object({\n\tchainId: ChainIdCoerce,\n\tcurrencyAddress: AddressSchema,\n\tquery: QueryArgSchema,\n});\n\ntype UseCurrencyArgs = z.input<typeof UseCurrencyArgsSchema>;\n\nexport type UseCurrencyReturn = Currency | undefined;\n\nconst fetchCurrency = async (\n\tchainId: ChainId,\n\tcurrencyAddress: string,\n\tconfig: SdkConfig,\n): Promise<Currency | undefined> => {\n\tconst parsedChainId = ChainIdCoerce.parse(chainId);\n\tconst queryClient = getQueryClient();\n\n\tlet currencies = queryClient.getQueryData([...currencyKeys.lists, chainId]) as\n\t\t| Currency[]\n\t\t| undefined;\n\n\tif (!currencies) {\n\t\tconst marketplaceClient = getMarketplaceClient(parsedChainId, config);\n\t\tcurrencies = await marketplaceClient\n\t\t\t.listCurrencies()\n\t\t\t.then((resp) => resp.currencies);\n\t}\n\n\tif (!currencies?.length) {\n\t\tthrow new Error('No currencies returned');\n\t}\n\tconst currency = currencies.find(\n\t\t(currency) =>\n\t\t\tcurrency.contractAddress.toLowerCase() === currencyAddress.toLowerCase(),\n\t);\n\n\tif (!currency) {\n\t\tthrow new Error('Currency not found');\n\t}\n\n\treturn currency;\n};\n\nexport const currencyOptions = (args: UseCurrencyArgs, config: SdkConfig) => {\n\treturn queryOptions({\n\t\t...args.query,\n\t\tqueryKey: [...currencyKeys.details, args.chainId, args.currencyAddress],\n\t\tqueryFn: () => fetchCurrency(args.chainId, args.currencyAddress, config),\n\t});\n};\n\nexport const useCurrency = (args: UseCurrencyArgs) => {\n\tconst config = useConfig();\n\treturn useQuery(currencyOptions(args, config));\n};\n","import { queryOptions, useQuery } from '@tanstack/react-query';\nimport { z } from 'zod';\nimport type { SdkConfig } from '../../types';\nimport {\n\tAddressSchema,\n\tChainIdSchema,\n\tQueryArgSchema,\n\tcollectableKeys,\n\tgetMetadataClient,\n} from '../_internal';\nimport { useConfig } from './useConfig';\n\nconst UseFiltersSchema = z.object({\n\tchainId: ChainIdSchema.pipe(z.coerce.string()),\n\tcollectionAddress: AddressSchema,\n\tquery: QueryArgSchema,\n});\n\nexport type UseFiltersArgs = z.infer<typeof UseFiltersSchema>;\n\nexport type UseFilterReturn = Awaited<ReturnType<typeof fetchFilters>>;\n\nexport const fetchFilters = async (args: UseFiltersArgs, config: SdkConfig) => {\n\tconst parsedArgs = UseFiltersSchema.parse(args);\n\tconst metadataClient = getMetadataClient(config);\n\treturn metadataClient\n\t\t.tokenCollectionFilters({\n\t\t\tchainID: parsedArgs.chainId,\n\t\t\tcontractAddress: parsedArgs.collectionAddress,\n\t\t})\n\t\t.then((resp) => resp.filters);\n};\n\nexport const filtersOptions = (args: UseFiltersArgs, config: SdkConfig) => {\n\treturn queryOptions({\n\t\t...args.query,\n\t\tqueryKey: [...collectableKeys.filter, args, config],\n\t\tqueryFn: () => fetchFilters(args, config),\n\t});\n};\n\nexport const useFilters = (args: UseFiltersArgs) => {\n\tconst config = useConfig();\n\treturn useQuery(filtersOptions(args, config));\n};\n","import { queryOptions, useQuery } from '@tanstack/react-query';\nimport { z } from 'zod';\nimport type { SdkConfig } from '../../types';\nimport {\n\tAddressSchema,\n\tChainIdSchema,\n\tQueryArgSchema,\n\tcollectableKeys,\n\tgetMarketplaceClient,\n} from '../_internal';\nimport { useConfig } from './useConfig';\n\nconst UseFloorOrderSchema = z.object({\n\tchainId: ChainIdSchema.pipe(z.coerce.string()),\n\tcollectionAddress: AddressSchema,\n\tquery: QueryArgSchema,\n});\n\nexport type UseFloorOrderArgs = z.infer<typeof UseFloorOrderSchema>;\n\nexport type UseFloorOrderReturn = Awaited<ReturnType<typeof fetchFloorOrder>>;\n\nconst fetchFloorOrder = async (args: UseFloorOrderArgs, config: SdkConfig) => {\n\tconst marketplaceClient = getMarketplaceClient(args.chainId, config);\n\treturn marketplaceClient\n\t\t.getFloorOrder({ contractAddress: args.collectionAddress })\n\t\t.then((data) => data.collectible);\n};\n\nexport const floorOrderOptions = (\n\targs: UseFloorOrderArgs,\n\tconfig: SdkConfig,\n) => {\n\treturn queryOptions({\n\t\tqueryKey: [...collectableKeys.floorOrders, args, config],\n\t\tqueryFn: () => fetchFloorOrder(args, config),\n\t});\n};\n\nexport const useFloorOrder = (args: UseFloorOrderArgs) => {\n\tconst config = useConfig();\n\treturn useQuery(floorOrderOptions(args, config));\n};\n","import { queryOptions, useQuery } from '@tanstack/react-query';\nimport { z } from 'zod';\nimport type { SdkConfig } from '../../types';\nimport {\n\tAddressSchema,\n\tChainIdSchema,\n\tQueryArgSchema,\n\tcollectableKeys,\n\tgetMarketplaceClient,\n} from '../_internal';\nimport { getCollectibleHighestOfferArgsSchema } from '../_internal/api/zod-schema';\nimport { useConfig } from './useConfig';\n\nconst UseHighestOfferArgsSchema = getCollectibleHighestOfferArgsSchema\n\t.omit({\n\t\tcontractAddress: true,\n\t})\n\t.extend({\n\t\tcollectionAddress: AddressSchema,\n\t\tchainId: ChainIdSchema.pipe(z.coerce.string()),\n\t\tquery: QueryArgSchema,\n\t});\n\nexport type UseHighestOfferArgs = z.infer<typeof UseHighestOfferArgsSchema>;\n\nexport type UseHighestOfferReturn = Awaited<\n\tReturnType<typeof fetchHighestOffer>\n>;\n\nconst fetchHighestOffer = async (\n\targs: UseHighestOfferArgs,\n\tconfig: SdkConfig,\n) => {\n\tconst parsedArgs = UseHighestOfferArgsSchema.parse(args);\n\tconst marketplaceClient = getMarketplaceClient(parsedArgs.chainId, config);\n\treturn marketplaceClient.getCollectibleHighestOffer({\n\t\t...parsedArgs,\n\t\tcontractAddress: parsedArgs.collectionAddress,\n\t});\n};\n\nexport const highestOfferOptions = (\n\targs: UseHighestOfferArgs,\n\tconfig: SdkConfig,\n) => {\n\treturn queryOptions({\n\t\t...args.query,\n\t\tqueryKey: [...collectableKeys.highestOffers, args, config],\n\t\tqueryFn: () => fetchHighestOffer(args, config),\n\t});\n};\n\nexport const useHighestOffer = (args: UseHighestOfferArgs) => {\n\tconst config = useConfig();\n\treturn useQuery(highestOfferOptions(args, config));\n};\n","import { type Page, SortOrder } from '@0xsequence/indexer';\nimport { infiniteQueryOptions, useInfiniteQuery } from '@tanstack/react-query';\nimport { z } from 'zod';\nimport type { SdkConfig } from '../../types';\nimport {\n\tAddressSchema,\n\tChainIdSchema,\n\tQueryArgSchema,\n\tbalanceQueries,\n\tgetIndexerClient,\n} from '../_internal';\nimport { useConfig } from './useConfig';\n\nexport const metadataOptionsSchema = z.object({\n\tverifiedOnly: z.boolean().optional(),\n\tunverifiedOnly: z.boolean().optional(),\n\tincludeContracts: z.array(z.string()).optional(),\n});\n\nconst sortOrderSchema = z.nativeEnum(SortOrder);\n\nconst sortBySchema = z.object({\n\tcolumn: z.string(),\n\torder: sortOrderSchema,\n});\n\nconst pageSchema = z.object({\n\tpage: z.number().optional(),\n\tcolumn: z.string().optional(),\n\tbefore: z.any().optional(),\n\tafter: z.any().optional(),\n\tsort: z.array(sortBySchema).optional(),\n\tpageSize: z.number().optional(),\n\tmore: z.boolean().optional(),\n});\n\nconst useListBalancesArgsSchema = z.object({\n\tchainId: ChainIdSchema.pipe(z.coerce.number()),\n\taccountAddress: AddressSchema.optional(),\n\tcontractAddress: AddressSchema.optional(),\n\ttokenId: z.string().optional(),\n\tincludeMetadata: z.boolean().optional(),\n\tmetadataOptions: metadataOptionsSchema.optional(),\n\tincludeCollectionTokens: z.boolean().optional(),\n\tpage: pageSchema.optional(),\n\tquery: QueryArgSchema,\n});\n\nexport type UseFetchTokenBalancesReturn = Awaited<\n\tReturnType<typeof fetchBalances>\n>;\n\nexport type UseListBalancesArgs = z.input<typeof useListBalancesArgsSchema>;\n\nconst fetchBalances = async (\n\targs: UseListBalancesArgs,\n\tconfig: SdkConfig,\n\tpage: Page,\n) => {\n\tconst parsedArgs = useListBalancesArgsSchema.parse(args);\n\tconst indexerClient = getIndexerClient(parsedArgs.chainId, config);\n\n\treturn indexerClient.getTokenBalances({\n\t\t...parsedArgs,\n\t\ttokenID: parsedArgs.tokenId,\n\t\tpage: page,\n\t});\n};\n\nexport const listBalancesOptions = (\n\targs: UseListBalancesArgs,\n\tconfig: SdkConfig,\n) => {\n\treturn infiniteQueryOptions({\n\t\t...args.query,\n\t\tqueryKey: [...balanceQueries.lists, args, config],\n\t\tqueryFn: ({ pageParam }) => fetchBalances(args, config, pageParam),\n\t\tinitialPageParam: { page: 1, pageSize: 30 } as Page,\n\t\tgetNextPageParam: (lastPage) => lastPage.page.after,\n\t});\n};\n\nexport const useListBalances = (args: UseListBalancesArgs) => {\n\tconst config = useConfig();\n\treturn useInfiniteQuery(listBalancesOptions(args, config));\n};\n","import { queryOptions, useQuery } from '@tanstack/react-query';\nimport type { z } from 'zod';\nimport type { SdkConfig } from '../../types';\nimport { collectableKeys, getMarketplaceClient } from '../_internal';\nimport { useConfig } from './useConfig';\nimport type {\n\tgetListCollectibleActivitiesArgsSchema,\n\tgetListCollectibleActivitiesReturnSchema,\n} from '../_internal/api/zod-schema';\n\nexport type UseListCollectibleActivitiesArgs = z.infer<\n\ttypeof getListCollectibleActivitiesArgsSchema\n>;\n\nexport type UseListCollectibleActivitiesReturn = z.infer<\n\ttypeof getListCollectibleActivitiesReturnSchema\n>;\n\nconst fetchCollectibleActivities = async (\n\targs: UseListCollectibleActivitiesArgs,\n\tconfig: SdkConfig,\n) => {\n\tconst marketplaceClient = getMarketplaceClient(args.chainId, config);\n\treturn marketplaceClient\n\t\t.listCollectibleActivities({\n\t\t\tcontractAddress: args.collectionAddress,\n\t\t\ttokenId: args.tokenId,\n\t\t\tpage: args.query?.enabled\n\t\t\t\t? {\n\t\t\t\t\t\tpage: args.query.page ?? 1,\n\t\t\t\t\t\tpageSize: args.query.pageSize ?? 10,\n\t\t\t\t\t\tsort: args.query.sort,\n\t\t\t\t\t}\n\t\t\t\t: undefined,\n\t\t})\n\t\t.then((data) => ({\n\t\t\tactivities: data.activities,\n\t\t\tpage: data.page,\n\t\t}));\n};\n\nexport const listCollectibleActivitiesOptions = (\n\targs: UseListCollectibleActivitiesArgs,\n\tconfig: SdkConfig,\n) => {\n\treturn queryOptions({\n\t\tqueryKey: [...collectableKeys.collectibleActivities, args, config],\n\t\tqueryFn: () => fetchCollectibleActivities(args, config),\n\t});\n};\n\nexport const useListCollectibleActivities = (\n\targs: UseListCollectibleActivitiesArgs,\n) => {\n\tconst config = useConfig();\n\treturn useQuery(listCollectibleActivitiesOptions(args, config));\n};\n","import { infiniteQueryOptions, useInfiniteQuery } from '@tanstack/react-query';\nimport { z } from 'zod';\nimport type { Page, SdkConfig } from '../../types';\nimport {\n\tAddressSchema,\n\tChainIdSchema,\n\ttype ListCollectiblesArgs,\n\tQueryArgSchema,\n\tcollectableKeys,\n\tgetMarketplaceClient,\n} from '../_internal';\nimport { listCollectiblesArgsSchema } from '../_internal/api/zod-schema';\nimport { useConfig } from './useConfig';\n\nconst UseListCollectiblesArgsSchema = listCollectiblesArgsSchema\n\t.omit({\n\t\tcontractAddress: true,\n\t})\n\t.extend({\n\t\tcollectionAddress: AddressSchema,\n\t\tchainId: ChainIdSchema.pipe(z.coerce.string()),\n\t\tquery: QueryArgSchema,\n\t});\n\nexport type UseListCollectiblesArgs = z.infer<\n\ttypeof UseListCollectiblesArgsSchema\n>;\n\nexport type UseListCollectiblesReturn = Awaited<\n\tReturnType<typeof fetchCollectibles>\n>;\n\nconst fetchCollectibles = async (\n\targs: UseListCollectiblesArgs,\n\tmarketplaceClient: Awaited<ReturnType<typeof getMarketplaceClient>>,\n\tpage: Page,\n) => {\n\tconst parsedArgs = UseListCollectiblesArgsSchema.parse(args);\n\tconst arg = {\n\t\t...parsedArgs,\n\t\tcontractAddress: parsedArgs.collectionAddress,\n\t\tpage: page,\n\t} satisfies ListCollectiblesArgs;\n\n\treturn marketplaceClient.listCollectibles(arg);\n};\n\nexport const listCollectiblesOptions = (\n\targs: UseListCollectiblesArgs,\n\tconfig: SdkConfig,\n) => {\n\tconst marketplaceClient = getMarketplaceClient(args.chainId, config);\n\treturn infiniteQueryOptions({\n\t\tqueryKey: [...collectableKeys.lists, args],\n\t\tqueryFn: ({ pageParam }) =>\n\t\t\tfetchCollectibles(args, marketplaceClient, pageParam),\n\t\tinitialPageParam: { page: 1, pageSize: 30 },\n\t\tgetNextPageParam: (lastPage) =>\n\t\t\tlastPage.page?.more ? lastPage.page : undefined,\n\t});\n};\n\nexport const useListCollectibles = (args: UseListCollectiblesArgs) => {\n\tconst config = useConfig();\n\treturn useInfiniteQuery(listCollectiblesOptions(args, config));\n};\n","import { queryOptions, useQuery } from '@tanstack/react-query';\nimport type { z } from 'zod';\nimport type { SdkConfig } from '../../types';\nimport { getMarketplaceClient } from '../_internal';\nimport { collectionKeys } from '../_internal/api';\nimport { useConfig } from './useConfig';\nimport type {\n\tgetListCollectionActivitiesArgsSchema,\n\tgetListCollectionActivitiesReturnSchema,\n} from '../_internal/api/zod-schema';\n\nexport type UseListCollectionActivitiesArgs = z.infer<\n\ttypeof getListCollectionActivitiesArgsSchema\n>;\n\nexport type UseListCollectionActivitiesReturn = z.infer<\n\ttypeof getListCollectionActivitiesReturnSchema\n>;\n\nconst fetchListCollectionActivities = async (\n\targs: UseListCollectionActivitiesArgs,\n\tconfig: SdkConfig,\n) => {\n\tconst marketplaceClient = getMarketplaceClient(args.chainId, config);\n\treturn marketplaceClient\n\t\t.listCollectionActivities({\n\t\t\tcontractAddress: args.collectionAddress,\n\t\t\tpage: args.query?.enabled\n\t\t\t\t? {\n\t\t\t\t\t\tpage: args.query.page ?? 1,\n\t\t\t\t\t\tpageSize: args.query.pageSize ?? 10,\n\t\t\t\t\t\tsort: args.query.sort,\n\t\t\t\t\t}\n\t\t\t\t: undefined,\n\t\t})\n\t\t.then((data) => ({\n\t\t\tactivities: data.activities,\n\t\t\tpage: data.page,\n\t\t}));\n};\n\nexport const listCollectionActivitiesOptions = (\n\targs: UseListCollectionActivitiesArgs,\n\tconfig: SdkConfig,\n) => {\n\treturn queryOptions({\n\t\tqueryKey: [...collectionKeys.collectionActivities, args, config],\n\t\tqueryFn: () => fetchListCollectionActivities(args, config),\n\t});\n};\n\nexport const useListCollectionActivities = (\n\targs: UseListCollectionActivitiesArgs,\n) => {\n\tconst config = useConfig();\n\treturn useQuery(listCollectionActivitiesOptions(args, config));\n};\n","import { queryOptions, useQuery } from '@tanstack/react-query';\nimport { z } from 'zod';\nimport type { SdkConfig } from '../../types';\nimport {\n\tChainIdSchema,\n\ttype ListOffersForCollectibleArgs,\n\tcollectableKeys,\n\tgetMarketplaceClient,\n} from '../_internal';\nimport { listOffersForCollectibleArgsSchema } from '../_internal/api/zod-schema';\nimport { useConfig } from './useConfig';\n\nconst UseListOffersForCollectibleArgsSchema = listOffersForCollectibleArgsSchema\n\t.extend({\n\t\tchainId: ChainIdSchema.pipe(z.coerce.string()),\n\t\tcollectionAddress: z.string(),\n\t\tcollectibleId: z.string(),\n\t})\n\t.omit({ contractAddress: true, tokenId: true });\n\ntype UseListOffersForCollectibleArgs = z.infer<\n\ttypeof UseListOffersForCollectibleArgsSchema\n>;\n\nexport type UseListOffersForCollectibleReturn = Awaited<\n\tReturnType<typeof fetchListOffersForCollectible>\n>;\n\nconst fetchListOffersForCollectible = async (\n\tconfig: SdkConfig,\n\targs: UseListOffersForCollectibleArgs,\n) => {\n\tconst arg = {\n\t\tcontractAddress: args.collectionAddress,\n\t\ttokenId: args.collectibleId,\n\t\tfilter: args.filter,\n\t\tpage: args.page,\n\t} satisfies ListOffersForCollectibleArgs;\n\n\tconst marketplaceClient = getMarketplaceClient(args.chainId, config);\n\treturn marketplaceClient.listCollectibleOffers(arg);\n};\n\nexport const listOffersForCollectibleOptions = (\n\targs: UseListOffersForCollectibleArgs,\n\tconfig: SdkConfig,\n) => {\n\treturn queryOptions({\n\t\tqueryKey: [...collectableKeys.offers, args, config],\n\t\tqueryFn: () => fetchListOffersForCollectible(config, args),\n\t});\n};\n\nexport const useListOffersForCollectible = (\n\targs: UseListOffersForCollectibleArgs,\n) => {\n\tconst config = useConfig();\n\n\treturn useQuery(listOffersForCollectibleOptions(args, config));\n};\n","import { queryOptions, useQuery } from '@tanstack/react-query';\nimport { z } from 'zod';\nimport type { SdkConfig } from '../../types';\nimport {\n\tAddressSchema,\n\tChainIdSchema,\n\tQueryArgSchema,\n\tcollectableKeys,\n\tgetMarketplaceClient,\n} from '../_internal';\nimport { countOffersForCollectibleArgsSchema } from '../_internal/api/zod-schema';\nimport { useConfig } from './useConfig';\n\nconst UseCountOffersForCollectibleArgsSchema =\n\tcountOffersForCollectibleArgsSchema\n\t\t.omit({\n\t\t\tcontractAddress: true,\n\t\t\ttokenId: true,\n\t\t})\n\t\t.extend({\n\t\t\tcollectionAddress: AddressSchema,\n\t\t\tcollectibleId: z.string(),\n\t\t\tchainId: ChainIdSchema.pipe(z.coerce.string()),\n\t\t\tquery: QueryArgSchema,\n\t\t});\n\nexport type UseCountOffersForCollectibleArgs = z.infer<\n\ttypeof UseCountOffersForCollectibleArgsSchema\n>;\n\nexport type UseCountOffersForCollectibleReturn = Awaited<\n\tReturnType<typeof fetchCountOffersForCollectible>\n>;\n\nconst fetchCountOffersForCollectible = async (\n\targs: UseCountOffersForCollectibleArgs,\n\tconfig: SdkConfig,\n) => {\n\tconst parsedArgs = UseCountOffersForCollectibleArgsSchema.parse(args);\n\tconst marketplaceClient = getMarketplaceClient(parsedArgs.chainId, config);\n\treturn marketplaceClient.getCountOfOffersForCollectible({\n\t\t...parsedArgs,\n\t\tcontractAddress: parsedArgs.collectionAddress,\n\t\ttokenId: parsedArgs.collectibleId,\n\t});\n};\n\nexport const countOffersForCollectibleOptions = (\n\targs: UseCountOffersForCollectibleArgs,\n\tconfig: SdkConfig,\n) => {\n\treturn queryOptions({\n\t\t...args.query,\n\t\tqueryKey: [...collectableKeys.offersCount, args, config],\n\t\tqueryFn: () => fetchCountOffersForCollectible(args, config),\n\t});\n};\n\nexport const useCountOffersForCollectible = (\n\targs: UseCountOffersForCollectibleArgs,\n) => {\n\tconst config = useConfig();\n\treturn useQuery(countOffersForCollectibleOptions(args, config));\n};\n","import { queryOptions, useQuery } from '@tanstack/react-query';\nimport { z } from 'zod';\nimport type { SdkConfig } from '../../types';\nimport {\n\tChainIdSchema,\n\ttype ListListingsForCollectibleArgs,\n\tcollectableKeys,\n\tgetMarketplaceClient,\n} from '../_internal';\nimport { listListingsForCollectibleArgsSchema } from '../_internal/api/zod-schema';\nimport { useConfig } from './useConfig';\n\nconst UseListListingsForCollectibleArgsSchema =\n\tlistListingsForCollectibleArgsSchema\n\t\t.extend({\n\t\t\tchainId: ChainIdSchema.pipe(z.coerce.string()),\n\t\t\tcollectionAddress: z.string(),\n\t\t\tcollectibleId: z.string(),\n\t\t})\n\t\t.omit({ contractAddress: true, tokenId: true });\n\ntype UseListListingsForCollectibleArgs = z.infer<\n\ttypeof UseListListingsForCollectibleArgsSchema\n>;\n\nexport type UseListListingsForCollectibleReturn = Awaited<\n\tReturnType<typeof fetchListListingsForCollectible>\n>;\n\nconst fetchListListingsForCollectible = async (\n\tconfig: SdkConfig,\n\targs: UseListListingsForCollectibleArgs,\n) => {\n\tconst arg = {\n\t\tcontractAddress: args.collectionAddress,\n\t\ttokenId: args.collectibleId,\n\t\tfilter: args.filter,\n\t\tpage: args.page,\n\t} satisfies ListListingsForCollectibleArgs;\n\n\tconst marketplaceClient = getMarketplaceClient(args.chainId, config);\n\treturn marketplaceClient.listCollectibleListings(arg);\n};\n\nexport const listListingsForCollectibleOptions = (\n\targs: UseListListingsForCollectibleArgs,\n\tconfig: SdkConfig,\n) => {\n\treturn queryOptions({\n\t\tqueryKey: [...collectableKeys.listings, args, config],\n\t\tqueryFn: () => fetchListListingsForCollectible(config, args),\n\t});\n};\n\nexport const useListListingsForCollectible = (\n\targs: UseListListingsForCollectibleArgs,\n) => {\n\tconst config = useConfig();\n\n\treturn useQuery(listListingsForCollectibleOptions(args, config));\n};\n","import { queryOptions, useQuery } from '@tanstack/react-query';\nimport { z } from 'zod';\nimport type { SdkConfig } from '../../types';\nimport {\n\tAddressSchema,\n\tChainIdSchema,\n\tQueryArgSchema,\n\tcollectableKeys,\n\tgetMarketplaceClient,\n} from '../_internal';\nimport { countListingsForCollectibleArgsSchema } from '../_internal/api/zod-schema';\nimport { useConfig } from './useConfig';\n\nconst UseCountListingsForCollectibleArgsSchema =\n\tcountListingsForCollectibleArgsSchema\n\t\t.omit({\n\t\t\tcontractAddress: true,\n\t\t\ttokenId: true,\n\t\t})\n\t\t.extend({\n\t\t\tcollectionAddress: AddressSchema,\n\t\t\tcollectibleId: z.string(),\n\t\t\tchainId: ChainIdSchema.pipe(z.coerce.string()),\n\t\t\tquery: QueryArgSchema,\n\t\t});\n\nexport type UseCountListingsForCollectibleArgs = z.infer<\n\ttypeof UseCountListingsForCollectibleArgsSchema\n>;\n\nexport type UseCountListingsForCollectibleReturn = Awaited<\n\tReturnType<typeof fetchCountListingsForCollectible>\n>;\n\nconst fetchCountListingsForCollectible = async (\n\targs: UseCountListingsForCollectibleArgs,\n\tconfig: SdkConfig,\n) => {\n\tconst parsedArgs = UseCountListingsForCollectibleArgsSchema.parse(args);\n\tconst marketplaceClient = getMarketplaceClient(parsedArgs.chainId, config);\n\treturn marketplaceClient.getCountOfListingsForCollectible({\n\t\t...parsedArgs,\n\t\tcontractAddress: parsedArgs.collectionAddress,\n\t\ttokenId: parsedArgs.collectibleId,\n\t});\n};\n\nexport const countListingsForCollectibleOptions = (\n\targs: UseCountListingsForCollectibleArgs,\n\tconfig: SdkConfig,\n) => {\n\treturn queryOptions({\n\t\t...args.query,\n\t\tqueryKey: [...collectableKeys.listingsCount, args, config],\n\t\tqueryFn: () => fetchCountListingsForCollectible(args, config),\n\t});\n};\n\nexport const useCountListingsForCollectible = (\n\targs: UseCountListingsForCollectibleArgs,\n) => {\n\tconst config = useConfig();\n\treturn useQuery(countListingsForCollectibleOptions(args, config));\n};\n","import { queryOptions, useQuery } from '@tanstack/react-query';\nimport { z } from 'zod';\nimport type { SdkConfig } from '../../types';\nimport {\n\tAddressSchema,\n\tChainIdSchema,\n\tQueryArgSchema,\n\tcollectableKeys,\n\tgetMarketplaceClient,\n} from '../_internal';\nimport { getCollectibleLowestListingArgsSchema } from '../_internal/api/zod-schema';\nimport { useConfig } from './useConfig';\n\nconst UseLowestListingSchema = getCollectibleLowestListingArgsSchema\n\t.omit({\n\t\tcontractAddress: true,\n\t})\n\t.extend({\n\t\tcollectionAddress: AddressSchema,\n\t\tchainId: ChainIdSchema.pipe(z.coerce.string()),\n\t\tquery: QueryArgSchema,\n\t});\n\nexport type UseLowestListingArgs = z.infer<typeof UseLowestListingSchema>;\n\nexport type UseLowestListingReturn = Awaited<\n\tReturnType<typeof fetchLowestListing>\n>;\n\nconst fetchLowestListing = async (\n\targs: UseLowestListingArgs,\n\tconfig: SdkConfig,\n) => {\n\tconst parsedArgs = UseLowestListingSchema.parse(args);\n\tconst marketplaceClient = getMarketplaceClient(parsedArgs.chainId, config);\n\treturn marketplaceClient.getCollectibleLowestListing({\n\t\t...parsedArgs,\n\t\tcontractAddress: parsedArgs.collectionAddress,\n\t});\n};\n\nexport const lowestListingOptions = (\n\targs: UseLowestListingArgs,\n\tconfig: SdkConfig,\n) => {\n\treturn queryOptions({\n\t\t...args.query,\n\t\tqueryKey: [...collectableKeys.lowestListings, args, config],\n\t\tqueryFn: () => fetchLowestListing(args, config),\n\t});\n};\n\nexport const useLowestListing = (args: UseLowestListingArgs) => {\n\tconst config = useConfig();\n\treturn useQuery(lowestListingOptions(args, config));\n};\n","import { queryOptions, useQuery } from '@tanstack/react-query';\nimport type { Hex } from 'viem';\nimport { getContract } from 'viem';\nimport { z } from 'zod';\nimport { EIP2981_ABI } from '../../utils';\nimport { getPublicRpcClient } from '../../utils/get-public-rpc-client';\nimport {\n\tAddressSchema,\n\tChainIdSchema,\n\tQueryArgSchema,\n\tcollectableKeys,\n} from '../_internal';\n\nconst UseRoyaletyPercentageSchema = z.object({\n\tchainId: ChainIdSchema.pipe(z.coerce.string()),\n\tcollectionAddress: AddressSchema,\n\tcollectibleId: z.string(),\n\tquery: QueryArgSchema,\n});\n\ntype UseRoyaletyPercentageArgs = z.infer<typeof UseRoyaletyPercentageSchema>;\n\nconst fetchRoyaletyPercentage = async (args: UseRoyaletyPercentageArgs) => {\n\tconst parsedArgs = UseRoyaletyPercentageSchema.parse(args);\n\tconst publicClient = getPublicRpcClient(parsedArgs.chainId);\n\n\tconst contract = getContract({\n\t\taddress: parsedArgs.collectionAddress as Hex,\n\t\tabi: EIP2981_ABI,\n\t\tclient: publicClient,\n\t});\n\n\ttry {\n\t\tconst [_, royaltyPercentage] = await contract.read.royaltyInfo([\n\t\t\tBigInt(args.collectibleId),\n\t\t\t100n,\n\t\t]);\n\n\t\treturn royaltyPercentage;\n\t} catch {\n\t\t//TODO: dont swallow errors\n\t\treturn 0n;\n\t}\n};\n\nexport const royaletyPercentageOptions = (args: UseRoyaletyPercentageArgs) =>\n\tqueryOptions({\n\t\t...args.query,\n\t\tqueryKey: [...collectableKeys.royaltyPercentage, args],\n\t\tqueryFn: () => fetchRoyaletyPercentage(args),\n\t});\n\nexport const useRoyaltyPercentage = (args: UseRoyaletyPercentageArgs) => {\n\treturn useQuery(royaletyPercentageOptions(args));\n};\n","import { useMutation } from '@tanstack/react-query';\nimport { useConfig } from './useConfig';\n\nexport type UseGenerateListingTransactionArgs = {\n\tchainId: ChainId;\n\tonSuccess?: (data?: Step[]) => void;\n};\n\nimport type { SdkConfig } from '../../types';\nimport {\n\ttype ChainId,\n\ttype CreateReq,\n\ttype GenerateListingTransactionArgs,\n\ttype Step,\n\tgetMarketplaceClient,\n} from '../_internal';\nimport { dateToUnixTime } from '../../utils/date';\n\nexport type CreateReqWithDateExpiry = Omit<CreateReq, 'expiry'> & {\n\texpiry: Date;\n};\n\nexport type GenerateListingTransactionProps = Omit<\n\tGenerateListingTransactionArgs,\n\t'listing'\n> & {\n\tlisting: CreateReqWithDateExpiry;\n};\n\nexport const generateListingTransaction = async (\n\tparams: GenerateListingTransactionProps,\n\tconfig: SdkConfig,\n\tchainId: ChainId,\n) => {\n\tconst args = {\n\t\t...params,\n\t\tlisting: {\n\t\t\t...params.listing,\n\t\t\texpiry: dateToUnixTime(params.listing.expiry),\n\t\t},\n\t} satisfies GenerateListingTransactionArgs;\n\tconst marketplaceClient = getMarketplaceClient(chainId, config);\n\treturn (await marketplaceClient.generateListingTransaction(args)).steps;\n};\n\nexport const useGenerateListingTransaction = (\n\tparams: UseGenerateListingTransactionArgs,\n) => {\n\tconst config = useConfig();\n\n\tconst { mutate, mutateAsync, ...result } = useMutation({\n\t\tonSuccess: params.onSuccess,\n\t\tmutationFn: (args: GenerateListingTransactionProps) =>\n\t\t\tgenerateListingTransaction(args, config, params.chainId),\n\t});\n\n\treturn {\n\t\t...result,\n\t\tgenerateListingTransaction: mutate,\n\t\tgenerateListingTransactionAsync: mutateAsync,\n\t};\n};\n","export const dateToUnixTime = (date: Date) =>\n\tMath.floor(date.getTime() / 1000).toString();\n","import { useMutation } from '@tanstack/react-query';\nimport type { SdkConfig } from '../../types';\nimport {\n\ttype ChainId,\n\ttype CreateReq,\n\ttype GenerateOfferTransactionArgs,\n\ttype Step,\n\tgetMarketplaceClient,\n} from '../_internal';\nimport { useConfig } from './useConfig';\nimport { dateToUnixTime } from '../../utils/date';\n\nexport type UseGenerateOfferTransactionArgs = {\n\tchainId: ChainId;\n\tonSuccess?: (data?: Step[]) => void;\n};\n\ntype CreateReqWithDateExpiry = Omit<CreateReq, 'expiry'> & {\n\texpiry: Date;\n};\n\nexport type GenerateOfferTransactionProps = Omit<\n\tGenerateOfferTransactionArgs,\n\t'offer'\n> & {\n\toffer: CreateReqWithDateExpiry;\n};\n\nexport const generateOfferTransaction = async (\n\tparams: GenerateOfferTransactionProps,\n\tconfig: SdkConfig,\n\tchainId: ChainId,\n) => {\n\tconst args = {\n\t\t...params,\n\t\toffer: { ...params.offer, expiry: dateToUnixTime(params.offer.expiry) },\n\t} satisfies GenerateOfferTransactionArgs;\n\tconst marketplaceClient = getMarketplaceClient(chainId, config);\n\treturn (await marketplaceClient.generateOfferTransaction(args)).steps;\n};\n\nexport const useGenerateOfferTransaction = (\n\tparams: UseGenerateOfferTransactionArgs,\n) => {\n\tconst config = useConfig();\n\n\tconst { mutate, mutateAsync, ...result } = useMutation({\n\t\tonSuccess: params.onSuccess,\n\t\tmutationFn: (args: GenerateOfferTransactionProps) =>\n\t\t\tgenerateOfferTransaction(args, config, params.chainId),\n\t});\n\n\treturn {\n\t\t...result,\n\t\tgenerateOfferTransaction: mutate,\n\t\tgenerateOfferTransactionAsync: mutateAsync,\n\t};\n};\n","import { useMutation } from '@tanstack/react-query';\nimport { z } from 'zod';\nimport type { SdkConfig } from '../../types';\nimport {\n\ttype ChainId,\n\tChainIdSchema,\n\ttype GenerateSellTransactionArgs,\n\tgetMarketplaceClient,\n} from '../_internal';\nimport { stepSchema } from '../_internal/api/zod-schema';\nimport { useConfig } from './useConfig';\n\nconst UserGeneratSellTransactionArgsSchema = z.object({\n\tchainId: ChainIdSchema.pipe(z.coerce.string()),\n\tonSuccess: z.function().args(stepSchema.array().optional()).optional(),\n});\n\ntype UseGenerateSellTransactionArgs = z.infer<\n\ttypeof UserGeneratSellTransactionArgsSchema\n>;\n\nexport const generateSellTransaction = async (\n\targs: GenerateSellTransactionArgs,\n\tconfig: SdkConfig,\n\tchainId: ChainId,\n) => {\n\tconst parsedChainId = ChainIdSchema.pipe(z.coerce.string()).parse(chainId);\n\tconst marketplaceClient = getMarketplaceClient(parsedChainId, config);\n\treturn marketplaceClient\n\t\t.generateSellTransaction(args)\n\t\t.then((data) => data.steps);\n};\n\nexport const useGenerateSellTransaction = (\n\tparams: UseGenerateSellTransactionArgs,\n) => {\n\tconst config = useConfig();\n\n\tconst { mutate, mutateAsync, ...result } = useMutation({\n\t\tonSuccess: params.onSuccess,\n\t\tmutationFn: (args: GenerateSellTransactionArgs) =>\n\t\t\tgenerateSellTransaction(args, config, params.chainId),\n\t});\n\n\treturn {\n\t\t...result,\n\t\tgenerateSellTransaction: mutate,\n\t\tgenerateSellTransactionAsync: mutateAsync,\n\t};\n};\n","import { useMutation } from '@tanstack/react-query';\nimport { z } from 'zod';\nimport type { SdkConfig } from '../../types';\nimport {\n\ttype ChainId,\n\tChainIdSchema,\n\ttype GenerateCancelTransactionArgs,\n\tgetMarketplaceClient,\n} from '../_internal';\nimport { stepSchema } from '../_internal/api/zod-schema';\nimport { useConfig } from './useConfig';\n\nconst UserGenerateCancelTransactionArgsSchema = z.object({\n\tchainId: ChainIdSchema.pipe(z.coerce.string()),\n\tonSuccess: z.function().args(stepSchema.array().optional()).optional(),\n});\n\ntype UseGenerateCancelTransactionArgs = z.infer<\n\ttypeof UserGenerateCancelTransactionArgsSchema\n>;\n\nexport const generateCancelTransaction = async (\n\targs: GenerateCancelTransactionArgs,\n\tconfig: SdkConfig,\n\tchainId: ChainId,\n) => {\n\tconst parsedChainId = ChainIdSchema.pipe(z.coerce.string()).parse(chainId);\n\tconst marketplaceClient = getMarketplaceClient(parsedChainId, config);\n\treturn marketplaceClient\n\t\t.generateCancelTransaction(args)\n\t\t.then((data) => data.steps);\n};\n\nexport const useGenerateCancelTransaction = (\n\tparams: UseGenerateCancelTransactionArgs,\n) => {\n\tconst config = useConfig();\n\n\tconst { mutate, mutateAsync, ...result } = useMutation({\n\t\tonSuccess: params.onSuccess,\n\t\tmutationFn: (args: GenerateCancelTransactionArgs) =>\n\t\t\tgenerateCancelTransaction(args, config, params.chainId),\n\t});\n\n\treturn {\n\t\t...result,\n\t\tgenerateCancelTransaction: mutate,\n\t\tgenerateCancelTransactionAsync: mutateAsync,\n\t};\n};\n","import { type Abi, type Address, type Hex, erc721Abi } from 'viem';\nimport { useAccount, useWriteContract } from 'wagmi';\nimport { ERC1155_ABI } from '../../utils';\nimport { NoWalletConnectedError } from '../../utils/_internal/error/transaction';\nimport type { ChainId, ContractType } from '../_internal';\n\ninterface BaseTransferParams {\n\tchainId: ChainId;\n\tcollectionAddress: Hex;\n\ttokenId: string;\n\treceiverAddress: Address;\n}\n\ninterface ERC721TransferParams extends BaseTransferParams {\n\tcontractType: ContractType.ERC721;\n}\n\ninterface ERC1155TransferParams extends BaseTransferParams {\n\tcontractType: ContractType.ERC1155;\n\tquantity: string;\n}\n\nexport type TransferTokensParams = ERC721TransferParams | ERC1155TransferParams;\n\nconst prepareTransferConfig = (\n\tparams: TransferTokensParams,\n\taccountAddress: Address,\n) => {\n\tif (params.contractType === 'ERC721') {\n\t\treturn {\n\t\t\tabi: erc721Abi as Abi,\n\t\t\taddress: params.collectionAddress,\n\t\t\tfunctionName: 'safeTransferFrom',\n\t\t\targs: [\n\t\t\t\taccountAddress,\n\t\t\t\tparams.receiverAddress,\n\t\t\t\tBigInt(params.tokenId),\n\t\t\t] as const,\n\t\t} as const;\n\t}\n\n\treturn {\n\t\tabi: ERC1155_ABI as Abi,\n\t\taddress: params.collectionAddress,\n\t\tfunctionName: 'safeTransferFrom',\n\t\targs: [\n\t\t\taccountAddress,\n\t\t\tparams.receiverAddress,\n\t\t\tBigInt(params.tokenId),\n\t\t\tparams.quantity,\n\t\t\t'0x', // data\n\t\t] as const,\n\t};\n};\n\nexport const useTransferTokens = () => {\n\tconst { address: accountAddress } = useAccount();\n\tconst {\n\t\twriteContractAsync,\n\t\tdata: hash,\n\t\tisPending,\n\t\tisError,\n\t\tisSuccess,\n\t} = useWriteContract();\n\n\tconst transferTokensAsync = async (params: TransferTokensParams) => {\n\t\tif (!accountAddress) {\n\t\t\tthrow new NoWalletConnectedError();\n\t\t}\n\n\t\tconst config = prepareTransferConfig(params, accountAddress);\n\t\treturn await writeContractAsync(config);\n\t};\n\n\treturn {\n\t\ttransferTokensAsync,\n\t\thash,\n\t\ttransferring: isPending,\n\t\ttransferFailed: isError,\n\t\ttransferSuccess: isSuccess,\n\t};\n};\n","import { queryOptions, useQuery } from '@tanstack/react-query';\nimport type { Hex } from 'viem';\nimport { useAccount } from 'wagmi';\nimport { z } from 'zod';\nimport type { SdkConfig } from '../../types';\nimport {\n\tAddressSchema,\n\tChainIdSchema,\n\tMarketplaceKind,\n\tQueryArgSchema,\n\tgetMarketplaceClient,\n} from '../_internal';\nimport { useConfig } from './useConfig';\n\nconst UseCheckoutOptionsSchema = z.object({\n\tchainId: ChainIdSchema.pipe(z.coerce.string()),\n\torders: z.array(\n\t\tz.object({\n\t\t\tcollectionAddress: AddressSchema,\n\t\t\torderId: z.string(),\n\t\t\tmarketplace: z.nativeEnum(MarketplaceKind),\n\t\t}),\n\t),\n\tquery: QueryArgSchema,\n});\n\nexport type UseCheckoutOptionsArgs = z.infer<typeof UseCheckoutOptionsSchema>;\n\nexport type UseCheckoutOptionsReturn = Awaited<\n\tReturnType<typeof fetchCheckoutOptions>\n>;\n\nconst fetchCheckoutOptions = async (\n\targs: UseCheckoutOptionsArgs & { walletAddress: Hex },\n\tconfig: SdkConfig,\n) => {\n\tconst marketplaceClient = getMarketplaceClient(args.chainId, config);\n\treturn marketplaceClient.checkoutOptionsMarketplace({\n\t\twallet: args.walletAddress,\n\t\torders: args.orders.map((order) => ({\n\t\t\tcontractAddress: order.collectionAddress,\n\t\t\torderId: order.orderId,\n\t\t\tmarketplace: order.marketplace,\n\t\t})),\n\t\tadditionalFee: 0, //TODO: add additional fee\n\t});\n};\n\nexport const checkoutOptionsOptions = (\n\targs: UseCheckoutOptionsArgs & { walletAddress: Hex },\n\tconfig: SdkConfig,\n) => {\n\treturn queryOptions({\n\t\tqueryKey: ['checkoutOptions', args],\n\t\tqueryFn: () => fetchCheckoutOptions(args, config),\n\t});\n};\n\nexport const useCheckoutOptions = (args: UseCheckoutOptionsArgs) => {\n\tconst { address } = useAccount();\n\tconst config = useConfig();\n\treturn useQuery(\n\t\t// biome-ignore lint/style/noNonNullAssertion: <explanation>\n\t\tcheckoutOptionsOptions({ walletAddress: address!, ...args }, config),\n\t);\n};\n","import { queryOptions, useQuery } from '@tanstack/react-query';\nimport { z } from 'zod';\nimport type { MarketplaceConfig, SdkConfig } from '../../types';\nimport {\n\tQueryArgSchema,\n\tcollectionKeys,\n\tgetMetadataClient,\n} from '../_internal';\nimport { useConfig } from './useConfig';\nimport { useMarketplaceConfig } from './useMarketplaceConfig';\n\nconst UseListCollectionsSchema = z.object({\n\tquery: QueryArgSchema.optional().default({}),\n});\n\nexport type UseListCollectionsArgs = z.input<typeof UseListCollectionsSchema>;\n\nexport type UseListCollectionsReturn = Awaited<\n\tReturnType<typeof fetchListCollections>\n>;\n\ntype FetchListCollectionsArgs = {\n\tmarketplaceConfig: MarketplaceConfig;\n\tquery?: z.infer<typeof QueryArgSchema>;\n};\n\nconst fetchListCollections = async (\n\t{ marketplaceConfig }: FetchListCollectionsArgs,\n\tconfig: SdkConfig,\n) => {\n\tconst metadataClient = getMetadataClient(config);\n\n\tif (!marketplaceConfig?.collections?.length) {\n\t\treturn [];\n\t}\n\n\t// Group collections by chainId\n\tconst collectionsByChain = marketplaceConfig.collections.reduce<\n\t\tRecord<string, string[]>\n\t>((acc, curr) => {\n\t\tconst { chainId, collectionAddress } = curr;\n\t\tif (!acc[chainId]) {\n\t\t\tacc[chainId] = [];\n\t\t}\n\t\tacc[chainId].push(collectionAddress);\n\t\treturn acc;\n\t}, {});\n\n\t// Fetch collections for each chain\n\tconst promises = Object.entries(collectionsByChain).map(\n\t\t([chainId, addresses]) =>\n\t\t\tmetadataClient\n\t\t\t\t.getContractInfoBatch({\n\t\t\t\t\tchainID: chainId,\n\t\t\t\t\tcontractAddresses: addresses,\n\t\t\t\t})\n\t\t\t\t.then((resp) => Object.values(resp.contractInfoMap)),\n\t);\n\n\tconst results = await Promise.all(promises);\n\treturn results.flat();\n};\n\nexport const listCollectionsOptions = (\n\targs: FetchListCollectionsArgs,\n\tconfig: SdkConfig,\n) => {\n\treturn queryOptions({\n\t\t...args.query,\n\t\tqueryKey: [...collectionKeys.list],\n\t\tqueryFn: () => fetchListCollections(args, config),\n\t});\n};\n\nexport const useListCollections = (args: UseListCollectionsArgs = {}) => {\n\tconst config = useConfig();\n\tconst { data: marketplaceConfig, isLoading: isLoadingConfig } =\n\t\tuseMarketplaceConfig();\n\n\treturn useQuery({\n\t\t...listCollectionsOptions(\n\t\t\t// biome-ignore lint/style/noNonNullAssertion: <explanation>\n\t\t\t{ marketplaceConfig: marketplaceConfig!, query: args.query },\n\t\t\tconfig,\n\t\t),\n\t\tenabled: !isLoadingConfig && !!marketplaceConfig,\n\t});\n};\n","import { queryOptions, useQuery } from '@tanstack/react-query';\nimport type { Hex } from 'viem';\nimport { useAccount } from 'wagmi';\nimport { z } from 'zod';\nimport type { SdkConfig } from '../../types';\nimport {\n\tAddressSchema,\n\tChainIdSchema,\n\tMarketplaceKind,\n\tQueryArgSchema,\n\tWalletKind,\n\tgetMarketplaceClient,\n} from '../_internal';\nimport { useConfig } from './useConfig';\n\nexport const UseGenerateBuyTransactionArgsSchema = z.object({\n\tchainId: ChainIdSchema.pipe(z.coerce.string()),\n\tcollectionAddress: AddressSchema,\n\tmarketplace: z.nativeEnum(MarketplaceKind),\n\tordersData: z.array(\n\t\tz.object({\n\t\t\torderId: z.string(),\n\t\t\tquantity: z.string(),\n\t\t\tmarketplace: z.string(),\n\t\t}),\n\t),\n\twalletType: z.nativeEnum(WalletKind).optional(),\n\tquery: QueryArgSchema,\n});\n\ntype UseGenerateBuyTransactionArgs = z.infer<\n\ttypeof UseGenerateBuyTransactionArgsSchema\n>;\n\nexport const fetchGenerateBuyTransaction = async (\n\targs: UseGenerateBuyTransactionArgs & { buyer: Hex },\n\tconfig: SdkConfig,\n) => {\n\tconst parsedArgs = UseGenerateBuyTransactionArgsSchema.parse(args);\n\tconst marketplaceClient = getMarketplaceClient(parsedArgs.chainId, config);\n\n\treturn marketplaceClient\n\t\t.generateBuyTransaction({\n\t\t\t...parsedArgs,\n\t\t\tbuyer: args.buyer,\n\t\t\tadditionalFees: [], // TODO: Add additional fees\n\t\t})\n\t\t.then((data) => data.steps);\n};\n\nexport const generateBuyTransactionOptions = (\n\targs: UseGenerateBuyTransactionArgs & { buyer: Hex },\n\tconfig: SdkConfig,\n) => {\n\treturn queryOptions({\n\t\tqueryKey: ['generateBuyTransaction', args],\n\t\tqueryFn: () => fetchGenerateBuyTransaction(args, config),\n\t\t...args.query,\n\t});\n};\n\nexport const useGenerateBuyTransaction = (\n\targs: UseGenerateBuyTransactionArgs,\n) => {\n\tconst { address } = useAccount();\n\tconst config = useConfig();\n\treturn useQuery(\n\t\t// biome-ignore lint/style/noNonNullAssertion: <explanation>\n\t\tgenerateBuyTransactionOptions({ buyer: address!, ...args }, config),\n\t);\n};\n","import { useState } from 'react';\nimport { useCancelTransactionSteps } from './useCancelTransactionSteps';\nimport type { MarketplaceKind } from '../../types';\n\ninterface UseCancelOrderArgs {\n\tcollectionAddress: string;\n\tchainId: string;\n\tonSuccess?: ({ hash, orderId }: { hash?: string; orderId?: string }) => void;\n\tonError?: (error: Error) => void;\n}\n\nexport type TransactionStep = {\n\texist: boolean;\n\tisExecuting: boolean;\n\texecute: () => Promise<void>;\n};\n\nexport const useCancelOrder = ({\n\tcollectionAddress,\n\tchainId,\n\tonSuccess,\n\tonError,\n}: UseCancelOrderArgs) => {\n\tconst [steps, setSteps] = useState<TransactionStep>({\n\t\texist: false,\n\t\tisExecuting: false,\n\t\texecute: () => Promise.resolve(),\n\t});\n\tconst [cancellingOrderId, setCancellingOrderId] = useState<string | null>(\n\t\tnull,\n\t);\n\n\tconst { cancelOrder: cancelOrderBase } = useCancelTransactionSteps({\n\t\tcollectionAddress,\n\t\tchainId,\n\t\tonSuccess: (result) => {\n\t\t\tsetCancellingOrderId(null);\n\t\t\tonSuccess?.(result);\n\t\t},\n\t\tonError: (error) => {\n\t\t\tsetCancellingOrderId(null);\n\t\t\tonError?.(error);\n\t\t},\n\t\tsetSteps,\n\t});\n\n\tconst cancelOrder = async (params: {\n\t\torderId: string;\n\t\tmarketplace: MarketplaceKind;\n\t}) => {\n\t\tsetCancellingOrderId(params.orderId);\n\t\treturn cancelOrderBase(params);\n\t};\n\n\treturn {\n\t\tcancelOrder,\n\t\tisExecuting: steps.isExecuting,\n\t\tcancellingOrderId,\n\t};\n};\n","import { useAccount, useChainId, useSwitchChain, useWalletClient } from 'wagmi';\nimport { useQuery } from '@tanstack/react-query';\nimport { wallet, type WalletInstance } from './wallet';\nimport { useConfig } from '../../hooks';\n\ntype UseWalletReturn = {\n\twallet: WalletInstance | null | undefined;\n\tisLoading: boolean;\n\tisError: boolean;\n};\n\nexport const useWallet = (): UseWalletReturn => {\n\tconst { chains } = useSwitchChain();\n\tconst { data: walletClient, isLoading: wagmiWalletIsLoading } =\n\t\tuseWalletClient();\n\tconst { connector, isConnected, isConnecting } = useAccount();\n\tconst sdkConfig = useConfig();\n\tconst chainId = useChainId();\n\n\tconst { data, isLoading, isError } = useQuery({\n\t\tqueryKey: ['wallet', chainId, connector?.uid],\n\t\tqueryFn: () => {\n\t\t\tif (!walletClient || !connector || !isConnected) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\treturn wallet({\n\t\t\t\twallet: walletClient,\n\t\t\t\tchains,\n\t\t\t\tconnector,\n\t\t\t\tsdkConfig,\n\t\t\t});\n\t\t},\n\t\tstaleTime: Number.POSITIVE_INFINITY,\n\t\tenabled: Boolean(walletClient && connector && isConnected),\n\t});\n\n\treturn {\n\t\twallet: data,\n\t\tisLoading: isLoading || isConnecting || wagmiWalletIsLoading,\n\t\tisError,\n\t};\n};\n","import {\n\ttype Account,\n\ttype Address,\n\ttype Chain,\n\ttype Hex,\n\tTransactionReceiptNotFoundError,\n\ttype TypedDataDomain,\n\ttype WalletClient as ViemWalletClient,\n\tWaitForTransactionReceiptTimeoutError,\n\tcustom,\n\terc20Abi,\n\terc721Abi,\n\thexToBigInt,\n\tisHex,\n} from 'viem';\nimport type { Connector } from 'wagmi';\nimport type { SwitchChainErrorType } from 'wagmi/actions';\nimport { ERC1155_ABI, getPublicRpcClient } from '../../../utils';\nimport {\n\tChainSwitchError,\n\tTransactionConfirmationError,\n\tTransactionExecutionError,\n\tTransactionSignatureError,\n\tUserRejectedRequestError,\n} from '../../../utils/_internal/error/transaction';\nimport { getIndexerClient, StepType, WalletKind } from '../api';\nimport { createLogger } from '../logger';\nimport type { SignatureStep, TransactionStep } from '../utils';\nimport {\n\tSEQUENCE_MARKET_V1_ADDRESS,\n\tSEQUENCE_MARKET_V2_ADDRESS,\n} from '../../../consts';\nimport type { SdkConfig } from '../../../types';\nimport type { TransactionReceipt } from '@0xsequence/indexer';\n\ninterface WalletClient extends Omit<ViemWalletClient, 'account'> {\n\taccount: Account;\n}\n\nexport interface WalletInstance {\n\ttransport: ReturnType<typeof custom>;\n\tisWaaS: boolean;\n\twalletKind: WalletKind;\n\tgetChainId: () => Promise<number>;\n\tswitchChain: (chainId: number) => Promise<void>;\n\taddress: () => Promise<Hex>;\n\thandleSignMessageStep: (stepItem: SignatureStep) => Promise<Hex | undefined>;\n\thandleSendTransactionStep: (\n\t\tchainId: number,\n\t\tstepItem: TransactionStep,\n\t) => Promise<Hex>;\n\thandleConfirmTransactionStep: (\n\t\ttxHash: Hex,\n\t\tchainId: number,\n\t) => Promise<TransactionReceipt>;\n\thasTokenApproval: (args: {\n\t\ttokenType: 'ERC20' | 'ERC721' | 'ERC1155';\n\t\tcontractAddress: Address;\n\t\tspender: Address | 'sequenceMarketV1' | 'sequenceMarketV2';\n\t}) => Promise<bigint | boolean>;\n}\n\nexport const wallet = ({\n\twallet,\n\tchains,\n\tconnector,\n\tsdkConfig,\n}: {\n\twallet: WalletClient;\n\tchains: readonly [Chain, ...Chain[]];\n\tconnector: Connector;\n\tsdkConfig: SdkConfig;\n}): WalletInstance => {\n\tconst logger = createLogger('Wallet');\n\n\tconst walletInstance = {\n\t\ttransport: custom(wallet.transport),\n\t\tisWaaS: connector.id.endsWith('waas'),\n\t\twalletKind:\n\t\t\tconnector.id === 'sequence' ? WalletKind.sequence : WalletKind.unknown,\n\t\tgetChainId: wallet.getChainId,\n\t\taddress: async () => {\n\t\t\tlet address = wallet.account?.address;\n\t\t\tif (!address) {\n\t\t\t\t[address] = await wallet.getAddresses();\n\t\t\t}\n\t\t\treturn address;\n\t\t},\n\t\tswitchChain: async (chainId: number) => {\n\t\t\tlogger.debug('Switching chain', { targetChainId: chainId });\n\n\t\t\ttry {\n\t\t\t\tawait wallet.switchChain({\n\t\t\t\t\tid: chainId,\n\t\t\t\t});\n\t\t\t\tlogger.info('Chain switch successful', { chainId });\n\t\t\t\treturn;\n\t\t\t} catch (e) {\n\t\t\t\tconst error = e as SwitchChainErrorType;\n\t\t\t\tlogger.error('Chain switch failed', error);\n\n\t\t\t\tswitch (error.name) {\n\t\t\t\t\tcase 'SwitchChainNotSupportedError':\n\t\t\t\t\t\tthrow new ChainSwitchError(await wallet.getChainId(), chainId);\n\t\t\t\t\tcase 'UserRejectedRequestError':\n\t\t\t\t\t\tthrow new UserRejectedRequestError();\n\t\t\t\t\tcase 'ChainNotConfiguredError':\n\t\t\t\t\t\treturn;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tthrow new ChainSwitchError(await wallet.getChainId(), chainId);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\thandleSignMessageStep: async (stepItem: SignatureStep) => {\n\t\t\ttry {\n\t\t\t\tif (stepItem.id === StepType.signEIP191) {\n\t\t\t\t\tlogger.debug('Signing with EIP-191', { data: stepItem.data });\n\t\t\t\t\tconst message = isHex(stepItem.data)\n\t\t\t\t\t\t? { raw: stepItem.data }\n\t\t\t\t\t\t: stepItem.data;\n\t\t\t\t\treturn await wallet.signMessage({\n\t\t\t\t\t\taccount: wallet.account,\n\t\t\t\t\t\tmessage,\n\t\t\t\t\t});\n\t\t\t\t\t// biome-ignore lint/style/noUselessElse: <explanation>\n\t\t\t\t} else if (stepItem.id === StepType.signEIP712) {\n\t\t\t\t\tlogger.debug('Signing with EIP-712', {\n\t\t\t\t\t\tdomain: stepItem.domain,\n\t\t\t\t\t\ttypes: stepItem.signature?.types,\n\t\t\t\t\t});\n\t\t\t\t\treturn await wallet.signTypedData({\n\t\t\t\t\t\taccount: wallet.account,\n\t\t\t\t\t\tdomain: stepItem.signature!.domain as TypedDataDomain,\n\t\t\t\t\t\t// biome-ignore lint/style/noNonNullAssertion: <explanation>\n\t\t\t\t\t\ttypes: stepItem.signature!.types,\n\t\t\t\t\t\t// biome-ignore lint/style/noNonNullAssertion: <explanation>\n\t\t\t\t\t\tprimaryType: stepItem.signature!.primaryType,\n\t\t\t\t\t\t// biome-ignore lint/style/noNonNullAssertion: <explanation>\n\t\t\t\t\t\tmessage: stepItem.signature!.value,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\tlogger.error('Signature failed', error);\n\t\t\t\tthrow new TransactionSignatureError(stepItem.id, error as Error);\n\t\t\t}\n\t\t},\n\t\thandleSendTransactionStep: async (\n\t\t\tchainId: number,\n\t\t\tstepItem: TransactionStep,\n\t\t) => {\n\t\t\tlogger.debug('Sending transaction', {\n\t\t\t\tchainId,\n\t\t\t\tto: stepItem.to,\n\t\t\t\tvalue: stepItem.value,\n\t\t\t});\n\n\t\t\tconst chain = chains.find((chain) => chain.id === chainId);\n\t\t\ttry {\n\t\t\t\treturn await wallet.sendTransaction({\n\t\t\t\t\tchain,\n\t\t\t\t\tdata: stepItem.data,\n\t\t\t\t\taccount: wallet.account,\n\t\t\t\t\tto: stepItem.to,\n\t\t\t\t\tvalue: hexToBigInt(stepItem.value || '0x0'),\n\t\t\t\t\t...(stepItem.maxFeePerGas && {\n\t\t\t\t\t\tmaxFeePerGas: hexToBigInt(stepItem.maxFeePerGas),\n\t\t\t\t\t}),\n\t\t\t\t\t...(stepItem.maxPriorityFeePerGas && {\n\t\t\t\t\t\tmaxPriorityFeePerGas: hexToBigInt(stepItem.maxPriorityFeePerGas),\n\t\t\t\t\t}),\n\t\t\t\t\t...(stepItem.gas && {\n\t\t\t\t\t\tgas: hexToBigInt(stepItem.gas),\n\t\t\t\t\t}),\n\t\t\t\t});\n\t\t\t} catch (error) {\n\t\t\t\tlogger.error('Transaction failed', error);\n\t\t\t\tthrow new TransactionExecutionError(stepItem.id, error as Error);\n\t\t\t}\n\t\t},\n\t\thandleConfirmTransactionStep: async (txHash: Hex, chainId: number) => {\n\t\t\tlogger.debug('Confirming transaction', { txHash, chainId });\n\t\t\ttry {\n\t\t\t\tconst receipt = await awaitTransactionReceipt({\n\t\t\t\t\ttxHash,\n\t\t\t\t\tchainId,\n\t\t\t\t\tsdkConfig,\n\t\t\t\t});\n\t\t\t\tlogger.info('Transaction confirmed', { txHash, receipt });\n\t\t\t\treturn receipt;\n\t\t\t} catch (error) {\n\t\t\t\tlogger.error('Transaction confirmation failed', error);\n\t\t\t\tthrow new TransactionConfirmationError(txHash, error as Error);\n\t\t\t}\n\t\t},\n\t\thasTokenApproval: async ({\n\t\t\ttokenType,\n\t\t\tcontractAddress,\n\t\t\tspender,\n\t\t}: {\n\t\t\ttokenType: 'ERC20' | 'ERC721' | 'ERC1155';\n\t\t\tcontractAddress: Address;\n\t\t\tspender: Address | 'sequenceMarketV1' | 'sequenceMarketV2';\n\t\t}) => {\n\t\t\tconst publicClient = getPublicRpcClient(await wallet.getChainId());\n\t\t\tconst walletAddress = await walletInstance.address();\n\t\t\tconst spenderAddress =\n\t\t\t\tspender === 'sequenceMarketV1'\n\t\t\t\t\t? SEQUENCE_MARKET_V1_ADDRESS\n\t\t\t\t\t: spender === 'sequenceMarketV2'\n\t\t\t\t\t\t? SEQUENCE_MARKET_V2_ADDRESS\n\t\t\t\t\t\t: spender;\n\n\t\t\tswitch (tokenType) {\n\t\t\t\tcase 'ERC20':\n\t\t\t\t\treturn await publicClient.readContract({\n\t\t\t\t\t\taddress: contractAddress as Hex,\n\t\t\t\t\t\tabi: erc20Abi,\n\t\t\t\t\t\tfunctionName: 'allowance',\n\t\t\t\t\t\targs: [walletAddress, spenderAddress],\n\t\t\t\t\t});\n\t\t\t\tcase 'ERC721':\n\t\t\t\t\treturn await publicClient.readContract({\n\t\t\t\t\t\taddress: contractAddress as Hex,\n\t\t\t\t\t\tabi: erc721Abi,\n\t\t\t\t\t\tfunctionName: 'isApprovedForAll',\n\t\t\t\t\t\targs: [walletAddress, spenderAddress],\n\t\t\t\t\t});\n\t\t\t\tcase 'ERC1155':\n\t\t\t\t\treturn await publicClient.readContract({\n\t\t\t\t\t\taddress: contractAddress as Hex,\n\t\t\t\t\t\tabi: ERC1155_ABI,\n\t\t\t\t\t\tfunctionName: 'isApprovedForAll',\n\t\t\t\t\t\targs: [walletAddress, spenderAddress],\n\t\t\t\t\t});\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new Error('Unsupported contract type for approval checking');\n\t\t\t}\n\t\t},\n\t};\n\n\treturn walletInstance;\n};\n\nconst ONE_MIN = 60 * 1000;\nconst THREE_MIN = 3 * ONE_MIN;\n\nconst awaitTransactionReceipt = async ({\n\ttxHash,\n\tchainId,\n\tsdkConfig,\n\ttimeout = THREE_MIN,\n}: {\n\ttxHash: Hex;\n\tchainId: number;\n\tsdkConfig: SdkConfig;\n\ttimeout?: number;\n}) => {\n\tconst indexer = getIndexerClient(chainId, sdkConfig);\n\treturn Promise.race([\n\t\tnew Promise<TransactionReceipt>((resolve, reject) => {\n\t\t\tindexer.subscribeReceipts(\n\t\t\t\t{\n\t\t\t\t\tfilter: {\n\t\t\t\t\t\ttxnHash: txHash,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tonMessage: ({ receipt }) => {\n\t\t\t\t\t\tresolve(receipt);\n\t\t\t\t\t},\n\t\t\t\t\tonError: () => {\n\t\t\t\t\t\treject(TransactionReceiptNotFoundError);\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t);\n\t\t}),\n\t\tnew Promise<TransactionReceipt>((_, reject) => {\n\t\t\tsetTimeout(() => {\n\t\t\t\treject(WaitForTransactionReceiptTimeoutError);\n\t\t\t}, timeout);\n\t\t}),\n\t]);\n};\n","export class TransactionLogger {\n\tconstructor(\n\t\tprivate readonly context: string,\n\t\tprivate readonly enabled: boolean = true,\n\t) {}\n\n\tprivate formatData(data: unknown): unknown {\n\t\tif (data instanceof Error) {\n\t\t\treturn {\n\t\t\t\tname: data.name,\n\t\t\t\tmessage: data.message,\n\t\t\t\tcause:\n\t\t\t\t\tdata.cause instanceof Error\n\t\t\t\t\t\t? this.formatData(data.cause)\n\t\t\t\t\t\t: data.cause,\n\t\t\t\tstack: data.stack?.split('\\n').slice(0, 3),\n\t\t\t};\n\t\t}\n\n\t\tif (Array.isArray(data)) {\n\t\t\treturn data.map((item) => this.formatData(item));\n\t\t}\n\n\t\tif (typeof data === 'object' && data !== null) {\n\t\t\treturn Object.fromEntries(\n\t\t\t\tObject.entries(data).map(([key, value]) => [\n\t\t\t\t\tkey,\n\t\t\t\t\tthis.formatData(value),\n\t\t\t\t]),\n\t\t\t);\n\t\t}\n\n\t\treturn data;\n\t}\n\n\tprivate log(\n\t\tlevel: 'debug' | 'error' | 'info',\n\t\tmessage: string,\n\t\tdata?: unknown,\n\t) {\n\t\tif (!this.enabled) return;\n\t\tconsole[level](\n\t\t\t`[${this.context}] ${message}`,\n\t\t\tdata ? this.formatData(data) : '',\n\t\t);\n\t}\n\n\tdebug(message: string, data?: unknown) {\n\t\tthis.log('debug', message, data);\n\t}\n\n\terror(message: string, error: unknown) {\n\t\tthis.log('error', message, error);\n\t}\n\n\tinfo(message: string, data?: unknown) {\n\t\tthis.log('info', message, data);\n\t}\n\n\tstate(from: string, to: string) {\n\t\tthis.info(`State transition: ${from} -> ${to}`);\n\t}\n}\n\nexport const createLogger = (context: string, enabled = true) =>\n\tnew TransactionLogger(context, enabled);\n","import {\n\tButton,\n\tCloseIcon,\n\tIconButton,\n\tSpinner,\n\tText,\n} from '@0xsequence/design-system';\nimport { observer } from '@legendapp/state/react';\nimport { Close, Content, Overlay, Portal, Root } from '@radix-ui/react-dialog';\nimport { useSwitchChain } from 'wagmi';\nimport { getPresentableChainName } from '../../../../../../utils/network';\nimport { getProviderEl, type ChainId } from '../../../../../_internal';\nimport AlertMessage from '../alertMessage';\nimport { switchChainModal$ } from './store';\nimport {\n\tcloseButton,\n\tdialogOverlay,\n\tswitchChainCta,\n\tswitchChainModalContent,\n} from './styles.css';\nimport type { SwitchChainError } from 'viem';\n\nexport type ShowSwitchChainModalArgs = {\n\tchainIdToSwitchTo: ChainId;\n\tonSuccess?: () => void;\n\tonError?: (error: SwitchChainError) => void;\n\tonClose?: () => void;\n};\n\nexport const useSwitchChainModal = () => {\n\treturn {\n\t\tshow: (args: ShowSwitchChainModalArgs) => switchChainModal$.open(args),\n\t\tclose: () => switchChainModal$.delete(),\n\t\tisSwitching$: switchChainModal$.state.isSwitching,\n\t};\n};\n\nconst SwitchChainModal = observer(() => {\n\tconst chainIdToSwitchTo = switchChainModal$.state.chainIdToSwitchTo.get();\n\tconst isSwitching$ = switchChainModal$.state.isSwitching;\n\tconst chainName = chainIdToSwitchTo\n\t\t? getPresentableChainName(chainIdToSwitchTo)\n\t\t: '';\n\tconst { switchChainAsync } = useSwitchChain();\n\n\tasync function handleSwitchChain() {\n\t\tisSwitching$.set(true);\n\n\t\ttry {\n\t\t\tif (!chainIdToSwitchTo) return;\n\t\t\tawait switchChainAsync({ chainId: Number(chainIdToSwitchTo) });\n\n\t\t\tif (\n\t\t\t\tswitchChainModal$.state.onSuccess &&\n\t\t\t\ttypeof switchChainModal$.state.onSuccess === 'function'\n\t\t\t) {\n\t\t\t\tswitchChainModal$.state.onSuccess();\n\t\t\t}\n\n\t\t\tswitchChainModal$.delete();\n\t\t} catch (error) {\n\t\t\tif (\n\t\t\t\terror instanceof Error &&\n\t\t\t\tswitchChainModal$.state.onError.get() &&\n\t\t\t\ttypeof switchChainModal$.state.onError.get() === 'function'\n\t\t\t) {\n\t\t\t\tswitchChainModal$.state.onError.get()?.(error as SwitchChainError);\n\t\t\t}\n\t\t} finally {\n\t\t\tisSwitching$.set(false);\n\t\t}\n\t}\n\n\treturn (\n\t\t<Root open={switchChainModal$.isOpen.get()}>\n\t\t\t<Portal container={getProviderEl()}>\n\t\t\t\t<Overlay className={dialogOverlay} />\n\n\t\t\t\t<Content className={switchChainModalContent}>\n\t\t\t\t\t<Text fontSize=\"large\" fontWeight=\"bold\" color=\"text100\">\n\t\t\t\t\t\tWrong network\n\t\t\t\t\t</Text>\n\n\t\t\t\t\t<AlertMessage\n\t\t\t\t\t\ttype=\"warning\"\n\t\t\t\t\t\tmessage={`You need to switch to ${chainName} network before completing the transaction`}\n\t\t\t\t\t/>\n\n\t\t\t\t\t<Button\n\t\t\t\t\t\tname=\"switch-chain\"\n\t\t\t\t\t\tid=\"switch-chain-button\"\n\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\tisSwitching$.get() ? (\n\t\t\t\t\t\t\t\t<Spinner data-testid=\"switch-chain-spinner\" />\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t'Switch Network'\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\tpending={isSwitching$.get()}\n\t\t\t\t\t\tshape=\"square\"\n\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\tisSwitching$.get()\n\t\t\t\t\t\t\t\t? switchChainCta.pending\n\t\t\t\t\t\t\t\t: switchChainCta.default\n\t\t\t\t\t\t}\n\t\t\t\t\t\tjustifySelf=\"flex-end\"\n\t\t\t\t\t\tonClick={handleSwitchChain}\n\t\t\t\t\t/>\n\n\t\t\t\t\t<Close\n\t\t\t\t\t\tdata-testid=\"switch-chain-modal-close-button\"\n\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tswitchChainModal$.state.onClose &&\n\t\t\t\t\t\t\t\ttypeof switchChainModal$.state.onClose === 'function'\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tswitchChainModal$.state.onClose();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tswitchChainModal$.delete();\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tclassName={closeButton}\n\t\t\t\t\t\tasChild\n\t\t\t\t\t>\n\t\t\t\t\t\t<IconButton size=\"xs\" aria-label=\"Close modal\" icon={CloseIcon} />\n\t\t\t\t\t</Close>\n\t\t\t\t</Content>\n\t\t\t</Portal>\n\t\t</Root>\n\t);\n});\n\nexport default SwitchChainModal;\n","import { Box, Text, WarningIcon } from '@0xsequence/design-system';\nimport SvgInfoIcon from '../../../../icons/InfoIcon';\nimport { alertMessageBox, alertMessageBoxVariants } from './styles.css';\n\ntype AlertMessageProps = {\n\tmessage: string;\n\ttype: 'warning' | 'info';\n};\n\nexport default function AlertMessage({ message, type }: AlertMessageProps) {\n\treturn (\n\t\t<Box className={`${alertMessageBox} ${alertMessageBoxVariants[type]}`}>\n\t\t\t<Text\n\t\t\t\tcolor=\"white\"\n\t\t\t\tfontSize=\"normal\"\n\t\t\t\tfontWeight=\"medium\"\n\t\t\t\tfontFamily=\"body\"\n\t\t\t>\n\t\t\t\t{message}\n\t\t\t</Text>\n\n\t\t\t{type === 'warning' && <WarningIcon size=\"sm\" color=\"white\" />}\n\t\t\t{type === 'info' && <SvgInfoIcon size=\"sm\" color=\"white\" />}\n\t\t</Box>\n\t);\n}\n","import { observable } from '@legendapp/state';\nimport type { ShowSwitchChainModalArgs } from '.';\nimport type { ChainId } from '../../../../../_internal';\nimport type { SwitchChainError } from 'viem';\n\nexport interface SwitchChainModalState {\n\tisOpen: boolean;\n\topen: (args: ShowSwitchChainModalArgs) => void;\n\tclose: () => void;\n\tstate: {\n\t\tchainIdToSwitchTo: ChainId | undefined;\n\t\tisSwitching: boolean;\n\t\tonSuccess: (() => void) | undefined;\n\t\tonError: undefined | ((error: SwitchChainError) => void);\n\t\tonClose: (() => void) | undefined;\n\t};\n}\n\nexport const initialState: SwitchChainModalState = {\n\tisOpen: false,\n\topen: ({ chainIdToSwitchTo, onError, onSuccess, onClose }) => {\n\t\tswitchChainModal$.state.set({\n\t\t\t...switchChainModal$.state.get(),\n\t\t\tchainIdToSwitchTo,\n\t\t\tonError,\n\t\t\tonSuccess,\n\t\t\tonClose,\n\t\t});\n\t\tswitchChainModal$.isOpen.set(true);\n\t},\n\tclose: () => {\n\t\tswitchChainModal$.isOpen.set(false);\n\t},\n\tstate: {\n\t\tchainIdToSwitchTo: undefined,\n\t\tonError: undefined,\n\t\tonSuccess: undefined,\n\t\tonClose: undefined,\n\t\tisSwitching: false,\n\t},\n};\n\nexport const switchChainModal$ = observable(initialState);\n","import {\n\tExecuteType,\n\tgetMarketplaceClient,\n\tgetQueryClient,\n\ttype MarketplaceKind,\n\ttype Step,\n\tStepType,\n} from '../_internal';\nimport { useWallet } from '../_internal/wallet/useWallet';\nimport type { ModalCallbacks } from '../ui/modals/_internal/types';\nimport { useConfig } from './useConfig';\nimport { useGenerateCancelTransaction } from './useGenerateCancelTransaction';\nimport type { TransactionStep } from './useCancelOrder';\nimport type { SignatureStep } from '../_internal/utils';\nimport type { Hex } from 'viem';\nimport { useSwitchChainModal } from '../ui/modals/_internal/components/switchChainModal';\nimport {\n\tChainSwitchUserRejectedError,\n\tWalletInstanceNotFoundError,\n} from '../../utils/_internal/error/transaction';\n\ninterface UseCancelTransactionStepsArgs {\n\tcollectionAddress: string;\n\tchainId: string;\n\tcallbacks?: ModalCallbacks;\n\tsetSteps: React.Dispatch<React.SetStateAction<TransactionStep>>;\n\tonSuccess?: ({ hash, orderId }: { hash?: string; orderId?: string }) => void;\n\tonError?: (error: Error) => void;\n}\n\nexport const useCancelTransactionSteps = ({\n\tcollectionAddress,\n\tchainId,\n\tcallbacks,\n\tsetSteps,\n\tonSuccess,\n\tonError,\n}: UseCancelTransactionStepsArgs) => {\n\tconst { show: showSwitchChainModal } = useSwitchChainModal();\n\tconst { wallet, isLoading, isError } = useWallet();\n\tconst walletIsInitialized = wallet && !isLoading && !isError;\n\tconst sdkConfig = useConfig();\n\tconst marketplaceClient = getMarketplaceClient(chainId, sdkConfig);\n\tconst { generateCancelTransactionAsync } = useGenerateCancelTransaction({\n\t\tchainId,\n\t});\n\n\tconst getWalletChainId = async () => {\n\t\treturn await wallet!.getChainId();\n\t};\n\tconst switchChain = async () => {\n\t\tawait wallet!.switchChain(Number(chainId));\n\t};\n\tconst checkAndSwitchChain = async () => {\n\t\tconst walletChainId = await getWalletChainId();\n\t\tconst isWaaS = wallet?.isWaaS;\n\t\tconst chainIdMismatch = walletChainId !== Number(chainId);\n\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tif (chainIdMismatch) {\n\t\t\t\tif (isWaaS) {\n\t\t\t\t\tswitchChain().then(resolve).catch(reject);\n\t\t\t\t} else {\n\t\t\t\t\tshowSwitchChainModal({\n\t\t\t\t\t\tchainIdToSwitchTo: chainId,\n\t\t\t\t\t\tonSuccess: () => resolve({ chainId: chainId }),\n\t\t\t\t\t\tonError: (error) => reject(error),\n\t\t\t\t\t\tonClose: () => reject(new ChainSwitchUserRejectedError()),\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tresolve({ chainId: chainId });\n\t\t\t}\n\t\t});\n\t};\n\n\tconst getCancelSteps = async ({\n\t\torderId,\n\t\tmarketplace,\n\t}: {\n\t\torderId: string;\n\t\tmarketplace: MarketplaceKind;\n\t}) => {\n\t\ttry {\n\t\t\tconst address = await wallet!.address();\n\n\t\t\tconst steps = await generateCancelTransactionAsync({\n\t\t\t\tcollectionAddress,\n\t\t\t\tmaker: address,\n\t\t\t\tmarketplace,\n\t\t\t\torderId,\n\t\t\t});\n\n\t\t\treturn steps;\n\t\t} catch (error) {\n\t\t\tif (callbacks?.onError) {\n\t\t\t\tcallbacks.onError(error as Error);\n\t\t\t} else {\n\t\t\t\tconsole.debug('onError callback not provided:', error);\n\t\t\t}\n\t\t}\n\t};\n\n\tconst cancelOrder = async ({\n\t\torderId,\n\t\tmarketplace,\n\t}: {\n\t\torderId: string;\n\t\tmarketplace: MarketplaceKind;\n\t}) => {\n\t\tconst queryClient = getQueryClient();\n\t\tif (!walletIsInitialized) {\n\t\t\tthrow new WalletInstanceNotFoundError();\n\t\t}\n\n\t\ttry {\n\t\t\tawait checkAndSwitchChain();\n\n\t\t\tsetSteps((prev) => ({\n\t\t\t\t...prev,\n\t\t\t\tisExecuting: true,\n\t\t\t}));\n\n\t\t\tconst cancelSteps = await getCancelSteps({\n\t\t\t\torderId,\n\t\t\t\tmarketplace,\n\t\t\t});\n\t\t\tconst transactionStep = cancelSteps?.find(\n\t\t\t\t(step) => step.id === StepType.cancel,\n\t\t\t);\n\t\t\tconst signatureStep = cancelSteps?.find(\n\t\t\t\t(step) => step.id === StepType.signEIP712,\n\t\t\t);\n\n\t\t\tconsole.debug('transactionStep', transactionStep);\n\t\t\tconsole.debug('signatureStep', signatureStep);\n\n\t\t\tif (!transactionStep && !signatureStep) {\n\t\t\t\tthrow new Error('No transaction or signature step found');\n\t\t\t}\n\n\t\t\tlet hash: Hex | undefined, reservoirOrderId: string | undefined;\n\n\t\t\tif (transactionStep && wallet) {\n\t\t\t\thash = await executeTransaction({ transactionStep });\n\n\t\t\t\tif (hash) {\n\t\t\t\t\tawait wallet.handleConfirmTransactionStep(hash, Number(chainId));\n\n\t\t\t\t\tif (onSuccess && typeof onSuccess === 'function') {\n\t\t\t\t\t\tonSuccess({ hash });\n\t\t\t\t\t}\n\n\t\t\t\t\tqueryClient.invalidateQueries();\n\n\t\t\t\t\tsetSteps((prev) => ({\n\t\t\t\t\t\t...prev,\n\t\t\t\t\t\tisExecuting: false,\n\t\t\t\t\t}));\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (signatureStep) {\n\t\t\t\treservoirOrderId = await executeSignature({ signatureStep });\n\n\t\t\t\tif (onSuccess && typeof onSuccess === 'function') {\n\t\t\t\t\tonSuccess({ orderId: reservoirOrderId });\n\t\t\t\t}\n\n\t\t\t\tqueryClient.invalidateQueries();\n\n\t\t\t\tsetSteps((prev) => ({\n\t\t\t\t\t...prev,\n\t\t\t\t\tisExecuting: false,\n\t\t\t\t}));\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tsetSteps((prev) => ({\n\t\t\t\t...prev,\n\t\t\t\tisExecuting: false,\n\t\t\t}));\n\n\t\t\tif (onError && typeof onError === 'function') {\n\t\t\t\tonError(error as Error);\n\t\t\t}\n\t\t}\n\t};\n\n\tconst executeTransaction = async ({\n\t\ttransactionStep,\n\t}: {\n\t\ttransactionStep: Step;\n\t}): Promise<Hex | undefined> => {\n\t\tconst hash = await wallet!.handleSendTransactionStep(\n\t\t\tNumber(chainId),\n\t\t\ttransactionStep as any,\n\t\t);\n\n\t\treturn hash;\n\t};\n\n\tconst executeSignature = async ({\n\t\tsignatureStep,\n\t}: {\n\t\tsignatureStep: Step;\n\t}) => {\n\t\tconst signature = await wallet!.handleSignMessageStep(\n\t\t\tsignatureStep as SignatureStep,\n\t\t);\n\n\t\tconst result = await marketplaceClient.execute({\n\t\t\tsignature: signature as string,\n\t\t\texecuteType: ExecuteType.order,\n\t\t\tbody: signatureStep.post?.body,\n\t\t});\n\n\t\treturn result.orderId;\n\t};\n\n\treturn {\n\t\tcancelOrder,\n\t};\n};\n","import { queryOptions, useQuery } from '@tanstack/react-query';\nimport type { SdkConfig } from '../../types';\nimport { getMarketplaceClient } from '../_internal';\nimport { useConfig } from './useConfig';\n\ntype UseCollectionDetails = {\n\tcollectionAddress: string;\n\tchainId: number;\n};\n\nconst fetchCollectionDetails = async (\n\targs: { collectionAddress: string },\n\tmarketplaceClient: Awaited<ReturnType<typeof getMarketplaceClient>>,\n) => {\n\tconst { collection } = await marketplaceClient.getCollectionDetail({\n\t\tcontractAddress: args.collectionAddress,\n\t});\n\treturn collection;\n};\n\nexport const collectionDetailsOptions = (\n\targs: UseCollectionDetails,\n\tconfig: SdkConfig,\n) => {\n\tconst marketplaceClient = getMarketplaceClient(args.chainId, config);\n\treturn queryOptions({\n\t\tqueryKey: ['collectionDetails', args],\n\t\tqueryFn: () => fetchCollectionDetails(args, marketplaceClient),\n\t});\n};\n\nexport const useCollectionDetails = (args: UseCollectionDetails) => {\n\tconst config = useConfig();\n\treturn useQuery(collectionDetailsOptions(args, config));\n};\n","import { queryOptions, useQuery } from '@tanstack/react-query';\nimport type { SdkConfig } from '../../types';\nimport { CollectionStatus } from '../_internal/api/marketplace.gen';\nimport { useConfig } from './useConfig';\nimport { collectionDetailsOptions } from './useCollectionDetails';\n\ntype UseCollectionDetailsPolling = {\n\tcollectionAddress: string;\n\tchainId: number;\n};\n\nconst INITIAL_POLLING_INTERVAL = 2000; // 2 seconds\nconst MAX_POLLING_INTERVAL = 30000; // 30 seconds\nconst MAX_ATTEMPTS = 30;\n\nconst isTerminalState = (status: CollectionStatus): boolean => {\n\treturn [\n\t\tCollectionStatus.active,\n\t\tCollectionStatus.failed,\n\t\tCollectionStatus.inactive,\n\t\tCollectionStatus.incompatible_type,\n\t].includes(status);\n};\n\nexport const collectionDetailsPollingOptions = (\n\targs: UseCollectionDetailsPolling,\n\tconfig: SdkConfig,\n) => {\n\treturn queryOptions({\n\t\t...collectionDetailsOptions(args, config),\n\t\trefetchInterval: (query) => {\n\t\t\tconst data = query.state.data;\n\t\t\tif (data && isTerminalState(data.status)) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// Calculate exponential backoff interval\n\t\t\tconst currentAttempt = (query.state.dataUpdateCount || 0) + 1;\n\t\t\tif (currentAttempt >= MAX_ATTEMPTS) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tconst interval = Math.min(\n\t\t\t\tINITIAL_POLLING_INTERVAL * Math.pow(1.5, currentAttempt),\n\t\t\t\tMAX_POLLING_INTERVAL,\n\t\t\t);\n\n\t\t\treturn interval;\n\t\t},\n\t\trefetchOnWindowFocus: false,\n\t\tretry: false,\n\t});\n};\n\nexport const useCollectionDetailsPolling = (\n\targs: UseCollectionDetailsPolling,\n) => {\n\tconst config = useConfig();\n\treturn useQuery(collectionDetailsPollingOptions(args, config));\n};\n"],"mappings":"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","names":["queryOptions","useQuery","z","z","z","z","queryOptions","useQuery","queryOptions","useQuery","z","z","queryOptions","useQuery","queryOptions","useQuery","z","z","queryOptions","useQuery","queryOptions","useQuery","z","z","queryOptions","useQuery","useQuery","queryOptions","queryOptions","useQuery","currencyOptions","queryOptions","useQuery","z","ChainIdCoerce","z","currency","queryOptions","useQuery","queryOptions","useQuery","z","z","queryOptions","useQuery","queryOptions","useQuery","z","z","queryOptions","useQuery","queryOptions","useQuery","z","z","queryOptions","useQuery","SortOrder","z","z","sortOrderSchema","SortOrder","sortBySchema","pageSchema","queryOptions","useQuery","queryOptions","useQuery","infiniteQueryOptions","useInfiniteQuery","z","z","infiniteQueryOptions","useInfiniteQuery","queryOptions","useQuery","queryOptions","useQuery","queryOptions","useQuery","z","z","queryOptions","useQuery","queryOptions","useQuery","z","z","queryOptions","useQuery","queryOptions","useQuery","z","z","queryOptions","useQuery","queryOptions","useQuery","z","z","queryOptions","useQuery","queryOptions","useQuery","z","z","queryOptions","useQuery","queryOptions","useQuery","z","z","queryOptions","useQuery","useMutation","useMutation","useMutation","z","z","useMutation","useMutation","z","z","useMutation","queryOptions","useQuery","useAccount","z","z","queryOptions","useAccount","useQuery","queryOptions","useQuery","z","z","queryOptions","useQuery","queryOptions","useQuery","useAccount","z","z","queryOptions","useAccount","useQuery","useAccount","useQuery","erc721Abi","wallet","chain","erc721Abi","useAccount","useQuery","Text","useSwitchChain","jsx","jsx","jsxs","useSwitchChain","Text","wallet","queryOptions","useQuery","queryOptions","useQuery","queryOptions","useQuery","queryOptions","useQuery"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/react/_internal/api/marketplace.gen.ts","../src/types/marketplace-config.ts"],"sourcesContent":["/* eslint-disable */\n// marketplace-api e84c70e41910cca2160d2377b0554dc58750c67b\n// --\n// Code generated by webrpc-gen@v0.22.1 with typescript generator. DO NOT EDIT.\n//\n// webrpc-gen -schema=marketplace.ridl -target=typescript -client -out=./clients/marketplace.gen.ts\n\nexport const WebrpcHeader = \"Webrpc\"\n\nexport const WebrpcHeaderValue = \"webrpc@v0.22.1;gen-typescript@v0.16.2;marketplace-api@v0.0.0-e84c70e41910cca2160d2377b0554dc58750c67b\"\n\n// WebRPC description and code-gen version\nexport const WebRPCVersion = \"v1\"\n\n// Schema version of your RIDL schema\nexport const WebRPCSchemaVersion = \"\"\n\n// Schema hash generated from your RIDL schema\nexport const WebRPCSchemaHash = \"e84c70e41910cca2160d2377b0554dc58750c67b\"\n\ntype WebrpcGenVersions = {\n webrpcGenVersion: string;\n codeGenName: string;\n codeGenVersion: string;\n schemaName: string;\n schemaVersion: string;\n};\n\nexport function VersionFromHeader(headers: Headers): WebrpcGenVersions {\n const headerValue = headers.get(WebrpcHeader);\n if (!headerValue) {\n return {\n webrpcGenVersion: \"\",\n codeGenName: \"\",\n codeGenVersion: \"\",\n schemaName: \"\",\n schemaVersion: \"\",\n };\n }\n\n return parseWebrpcGenVersions(headerValue);\n}\n\nfunction parseWebrpcGenVersions(header: string): WebrpcGenVersions {\n const versions = header.split(\";\");\n if (versions.length < 3) {\n return {\n webrpcGenVersion: \"\",\n codeGenName: \"\",\n codeGenVersion: \"\",\n schemaName: \"\",\n schemaVersion: \"\",\n };\n }\n\n const [_, webrpcGenVersion] = versions[0].split(\"@\");\n const [codeGenName, codeGenVersion] = versions[1].split(\"@\");\n const [schemaName, schemaVersion] = versions[2].split(\"@\");\n\n return {\n webrpcGenVersion,\n codeGenName,\n codeGenVersion,\n schemaName,\n schemaVersion,\n };\n}\n\n//\n// Types\n//\n\n\nexport interface TokenMetadata {\n tokenId: string\n name: string\n description?: string\n image?: string\n video?: string\n audio?: string\n properties?: {[key: string]: any}\n attributes: Array<{[key: string]: any}>\n image_data?: string\n external_url?: string\n background_color?: string\n animation_url?: string\n decimals?: number\n updatedAt?: string\n assets?: Array<Asset>\n}\n\nexport interface Asset {\n id: number\n collectionId: number\n tokenId: string\n url?: string\n metadataField: string\n name?: string\n filesize?: number\n mimeType?: string\n width?: number\n height?: number\n updatedAt?: string\n}\n\nexport enum SortOrder {\n DESC = 'DESC',\n ASC = 'ASC'\n}\n\nexport enum PropertyType {\n INT = 'INT',\n STRING = 'STRING',\n ARRAY = 'ARRAY',\n GENERIC = 'GENERIC'\n}\n\nexport enum MarketplaceKind {\n unknown = 'unknown',\n sequence_marketplace_v1 = 'sequence_marketplace_v1',\n sequence_marketplace_v2 = 'sequence_marketplace_v2',\n blur = 'blur',\n zerox = 'zerox',\n opensea = 'opensea',\n looks_rare = 'looks_rare',\n x2y2 = 'x2y2',\n alienswap = 'alienswap',\n payment_processor = 'payment_processor',\n mintify = 'mintify'\n}\n\nexport enum OrderbookKind {\n unknown = 'unknown',\n sequence_marketplace_v1 = 'sequence_marketplace_v1',\n sequence_marketplace_v2 = 'sequence_marketplace_v2',\n blur = 'blur',\n opensea = 'opensea',\n looks_rare = 'looks_rare',\n reservoir = 'reservoir',\n x2y2 = 'x2y2'\n}\n\nexport enum SourceKind {\n unknown = 'unknown',\n external = 'external',\n sequence_marketplace_v1 = 'sequence_marketplace_v1',\n sequence_marketplace_v2 = 'sequence_marketplace_v2'\n}\n\nexport enum OrderSide {\n unknown = 'unknown',\n listing = 'listing',\n offer = 'offer'\n}\n\nexport enum OrderStatus {\n unknown = 'unknown',\n active = 'active',\n inactive = 'inactive',\n expired = 'expired',\n cancelled = 'cancelled',\n filled = 'filled',\n decimals_missing = 'decimals_missing'\n}\n\nexport enum ContractType {\n UNKNOWN = 'UNKNOWN',\n ERC20 = 'ERC20',\n ERC721 = 'ERC721',\n ERC1155 = 'ERC1155'\n}\n\nexport enum CollectionPriority {\n low = 'low',\n normal = 'normal',\n high = 'high'\n}\n\nexport enum CollectionStatus {\n unknown = 'unknown',\n created = 'created',\n syncing_contract_metadata = 'syncing_contract_metadata',\n synced_contract_metadata = 'synced_contract_metadata',\n syncing_metadata = 'syncing_metadata',\n synced_metadata = 'synced_metadata',\n syncing_tokens = 'syncing_tokens',\n synced_tokens = 'synced_tokens',\n syncing_orders = 'syncing_orders',\n active = 'active',\n failed = 'failed',\n inactive = 'inactive',\n incompatible_type = 'incompatible_type'\n}\n\nexport enum ProjectStatus {\n unknown = 'unknown',\n active = 'active',\n inactive = 'inactive'\n}\n\nexport enum CollectibleStatus {\n unknown = 'unknown',\n active = 'active',\n inactive = 'inactive'\n}\n\nexport enum CurrencyStatus {\n unknown = 'unknown',\n created = 'created',\n syncing_metadata = 'syncing_metadata',\n active = 'active',\n failed = 'failed'\n}\n\nexport enum WalletKind {\n unknown = 'unknown',\n sequence = 'sequence'\n}\n\nexport enum StepType {\n unknown = 'unknown',\n tokenApproval = 'tokenApproval',\n buy = 'buy',\n sell = 'sell',\n createListing = 'createListing',\n createOffer = 'createOffer',\n signEIP712 = 'signEIP712',\n signEIP191 = 'signEIP191',\n cancel = 'cancel'\n}\n\nexport enum TransactionCrypto {\n none = 'none',\n partially = 'partially',\n all = 'all'\n}\n\nexport enum TransactionNFTCheckoutProvider {\n unknown = 'unknown',\n sardine = 'sardine',\n transak = 'transak'\n}\n\nexport enum TransactionOnRampProvider {\n unknown = 'unknown',\n sardine = 'sardine',\n transak = 'transak'\n}\n\nexport enum TransactionSwapProvider {\n unknown = 'unknown',\n zerox = 'zerox'\n}\n\nexport enum ExecuteType {\n unknown = 'unknown',\n order = 'order'\n}\n\nexport enum ActivityAction {\n unknown = 'unknown',\n listing = 'listing',\n offer = 'offer',\n mint = 'mint',\n sale = 'sale',\n listingCancel = 'listingCancel',\n offerCancel = 'offerCancel',\n transfer = 'transfer'\n}\n\nexport interface Page {\n page: number\n pageSize: number\n more?: boolean\n sort?: Array<SortBy>\n}\n\nexport interface SortBy {\n column: string\n order: SortOrder\n}\n\nexport interface Filter {\n text?: string\n properties?: Array<PropertyFilter>\n}\n\nexport interface PropertyFilter {\n name: string\n type: PropertyType\n min?: number\n max?: number\n values?: Array<any>\n}\n\nexport interface CollectiblesFilter {\n includeEmpty: boolean\n searchText?: string\n properties?: Array<PropertyFilter>\n marketplaces?: Array<MarketplaceKind>\n inAccounts?: Array<string>\n notInAccounts?: Array<string>\n ordersCreatedBy?: Array<string>\n ordersNotCreatedBy?: Array<string>\n}\n\nexport interface Order {\n orderId: string\n marketplace: MarketplaceKind\n side: OrderSide\n status: OrderStatus\n chainId: number\n originName: string\n collectionContractAddress: string\n tokenId: string\n createdBy: string\n priceAmount: string\n priceAmountFormatted: string\n priceAmountNet: string\n priceAmountNetFormatted: string\n priceCurrencyAddress: string\n priceDecimals: number\n priceUSD: number\n priceUSDFormatted: string\n quantityInitial: string\n quantityInitialFormatted: string\n quantityRemaining: string\n quantityRemainingFormatted: string\n quantityAvailable: string\n quantityAvailableFormatted: string\n quantityDecimals: number\n feeBps: number\n feeBreakdown: Array<FeeBreakdown>\n validFrom: string\n validUntil: string\n blockNumber: number\n orderCreatedAt?: string\n orderUpdatedAt?: string\n createdAt: string\n updatedAt: string\n deletedAt?: string\n}\n\nexport interface FeeBreakdown {\n kind: string\n recipientAddress: string\n bps: number\n}\n\nexport interface CollectibleOrder {\n metadata: TokenMetadata\n order?: Order\n}\n\nexport interface OrderFilter {\n createdBy?: Array<string>\n marketplace?: Array<MarketplaceKind>\n currencies?: Array<string>\n}\n\nexport interface Collection {\n status: CollectionStatus\n chainId: number\n contractAddress: string\n contractType: ContractType\n priority: CollectionPriority\n tokenQuantityDecimals: number\n config: CollectionConfig\n createdAt: string\n updatedAt: string\n deletedAt?: string\n}\n\nexport interface CollectionConfig {\n lastSynced: {[key: string]: CollectionLastSynced}\n collectiblesSynced: string\n activitiesSynced: string\n activitiesSyncedContinuity: string\n}\n\nexport interface CollectionLastSynced {\n allOrders: string\n newOrders: string\n}\n\nexport interface Project {\n projectId: number\n chainId: number\n contractAddress: string\n status: ProjectStatus\n createdAt: string\n updatedAt: string\n deletedAt?: string\n}\n\nexport interface Collectible {\n chainId: number\n contractAddress: string\n status: CollectibleStatus\n tokenId: string\n decimals: number\n createdAt: string\n updatedAt: string\n deletedAt?: string\n}\n\nexport interface Currency {\n chainId: number\n contractAddress: string\n status: CurrencyStatus\n name: string\n symbol: string\n decimals: number\n imageUrl: string\n exchangeRate: number\n defaultChainCurrency: boolean\n nativeCurrency: boolean\n createdAt: string\n updatedAt: string\n deletedAt?: string\n}\n\nexport interface OrderData {\n orderId: string\n quantity: string\n}\n\nexport interface AdditionalFee {\n amount: string\n receiver: string\n}\n\nexport interface Step {\n id: StepType\n data: string\n to: string\n value: string\n signature?: Signature\n post?: PostRequest\n executeType?: ExecuteType\n}\n\nexport interface PostRequest {\n endpoint: string\n method: string\n body: any\n}\n\nexport interface CreateReq {\n tokenId: string\n quantity: string\n expiry: string\n currencyAddress: string\n pricePerToken: string\n}\n\nexport interface GetOrdersInput {\n contractAddress: string\n orderId: string\n marketplace: MarketplaceKind\n}\n\nexport interface Signature {\n domain: Domain\n types: any\n primaryType: string\n value: any\n}\n\nexport interface Domain {\n name: string\n version: string\n chainId: number\n verifyingContract: string\n}\n\nexport interface CheckoutOptionsMarketplaceOrder {\n contractAddress: string\n orderId: string\n marketplace: MarketplaceKind\n}\n\nexport interface CheckoutOptionsItem {\n tokenId: string\n quantity: string\n}\n\nexport interface CheckoutOptions {\n crypto: TransactionCrypto\n swap: Array<TransactionSwapProvider>\n nftCheckout: Array<TransactionNFTCheckoutProvider>\n onRamp: Array<TransactionOnRampProvider>\n}\n\nexport interface Activity {\n chainId: number\n contractAddress: string\n tokenId: string\n action: ActivityAction\n txHash: string\n from: string\n to?: string\n quantity: string\n quantityDecimals: number\n priceAmount?: string\n priceAmountFormatted?: string\n priceCurrencyAddress?: string\n priceDecimals?: number\n activityCreatedAt: string\n uniqueHash: string\n createdAt: string\n updatedAt: string\n deletedAt?: string\n}\n\nexport interface Admin {\n createCollection(args: CreateCollectionArgs, headers?: object, signal?: AbortSignal): Promise<CreateCollectionReturn>\n getCollection(args: GetCollectionArgs, headers?: object, signal?: AbortSignal): Promise<GetCollectionReturn>\n listCollections(args: ListCollectionsArgs, headers?: object, signal?: AbortSignal): Promise<ListCollectionsReturn>\n deleteCollection(args: DeleteCollectionArgs, headers?: object, signal?: AbortSignal): Promise<DeleteCollectionReturn>\n syncCollection(args: SyncCollectionArgs, headers?: object, signal?: AbortSignal): Promise<SyncCollectionReturn>\n createCurrency(args: CreateCurrencyArgs, headers?: object, signal?: AbortSignal): Promise<CreateCurrencyReturn>\n createCurrencies(args: CreateCurrenciesArgs, headers?: object, signal?: AbortSignal): Promise<CreateCurrenciesReturn>\n updateCurrency(args: UpdateCurrencyArgs, headers?: object, signal?: AbortSignal): Promise<UpdateCurrencyReturn>\n listCurrencies(headers?: object, signal?: AbortSignal): Promise<ListCurrenciesReturn>\n deleteCurrency(args: DeleteCurrencyArgs, headers?: object, signal?: AbortSignal): Promise<DeleteCurrencyReturn>\n}\n\nexport interface CreateCollectionArgs {\n projectId: number\n contractAddress: string\n}\n\nexport interface CreateCollectionReturn {\n collection: Collection \n}\nexport interface GetCollectionArgs {\n projectId: number\n contractAddress: string\n}\n\nexport interface GetCollectionReturn {\n collection: Collection \n}\nexport interface ListCollectionsArgs {\n projectId: number\n page?: Page\n}\n\nexport interface ListCollectionsReturn {\n collections: Array<Collection>\n page?: Page \n}\nexport interface DeleteCollectionArgs {\n projectId: number\n contractAddress: string\n}\n\nexport interface DeleteCollectionReturn {\n collection: Collection \n}\nexport interface SyncCollectionArgs {\n projectId: number\n contractAddress: string\n}\n\nexport interface SyncCollectionReturn {\n collection: Collection \n}\nexport interface CreateCurrencyArgs {\n currency: Currency\n}\n\nexport interface CreateCurrencyReturn {\n currency: Currency \n}\nexport interface CreateCurrenciesArgs {\n currencies: Array<Currency>\n}\n\nexport interface CreateCurrenciesReturn {\n currency: {[key: string]: Currency} \n}\nexport interface UpdateCurrencyArgs {\n currency: Currency\n}\n\nexport interface UpdateCurrencyReturn {\n currency: Currency \n}\nexport interface ListCurrenciesArgs {\n}\n\nexport interface ListCurrenciesReturn {\n currencies: Array<Currency> \n}\nexport interface DeleteCurrencyArgs {\n chainId: number\n contractAddress: string\n}\n\nexport interface DeleteCurrencyReturn {\n currency: Currency \n}\n\nexport interface Marketplace {\n listCurrencies(headers?: object, signal?: AbortSignal): Promise<ListCurrenciesReturn>\n getCollectionDetail(args: GetCollectionDetailArgs, headers?: object, signal?: AbortSignal): Promise<GetCollectionDetailReturn>\n getCollectible(args: GetCollectibleArgs, headers?: object, signal?: AbortSignal): Promise<GetCollectibleReturn>\n getLowestPriceOfferForCollectible(args: GetLowestPriceOfferForCollectibleArgs, headers?: object, signal?: AbortSignal): Promise<GetLowestPriceOfferForCollectibleReturn>\n getHighestPriceOfferForCollectible(args: GetHighestPriceOfferForCollectibleArgs, headers?: object, signal?: AbortSignal): Promise<GetHighestPriceOfferForCollectibleReturn>\n getLowestPriceListingForCollectible(args: GetLowestPriceListingForCollectibleArgs, headers?: object, signal?: AbortSignal): Promise<GetLowestPriceListingForCollectibleReturn>\n getHighestPriceListingForCollectible(args: GetHighestPriceListingForCollectibleArgs, headers?: object, signal?: AbortSignal): Promise<GetHighestPriceListingForCollectibleReturn>\n listListingsForCollectible(args: ListListingsForCollectibleArgs, headers?: object, signal?: AbortSignal): Promise<ListListingsForCollectibleReturn>\n listOffersForCollectible(args: ListOffersForCollectibleArgs, headers?: object, signal?: AbortSignal): Promise<ListOffersForCollectibleReturn>\n getCountOfListingsForCollectible(args: GetCountOfListingsForCollectibleArgs, headers?: object, signal?: AbortSignal): Promise<GetCountOfListingsForCollectibleReturn>\n getCountOfOffersForCollectible(args: GetCountOfOffersForCollectibleArgs, headers?: object, signal?: AbortSignal): Promise<GetCountOfOffersForCollectibleReturn>\n getCollectibleLowestOffer(args: GetCollectibleLowestOfferArgs, headers?: object, signal?: AbortSignal): Promise<GetCollectibleLowestOfferReturn>\n getCollectibleHighestOffer(args: GetCollectibleHighestOfferArgs, headers?: object, signal?: AbortSignal): Promise<GetCollectibleHighestOfferReturn>\n getCollectibleLowestListing(args: GetCollectibleLowestListingArgs, headers?: object, signal?: AbortSignal): Promise<GetCollectibleLowestListingReturn>\n getCollectibleHighestListing(args: GetCollectibleHighestListingArgs, headers?: object, signal?: AbortSignal): Promise<GetCollectibleHighestListingReturn>\n listCollectibleListings(args: ListCollectibleListingsArgs, headers?: object, signal?: AbortSignal): Promise<ListCollectibleListingsReturn>\n listCollectibleOffers(args: ListCollectibleOffersArgs, headers?: object, signal?: AbortSignal): Promise<ListCollectibleOffersReturn>\n generateBuyTransaction(args: GenerateBuyTransactionArgs, headers?: object, signal?: AbortSignal): Promise<GenerateBuyTransactionReturn>\n generateSellTransaction(args: GenerateSellTransactionArgs, headers?: object, signal?: AbortSignal): Promise<GenerateSellTransactionReturn>\n generateListingTransaction(args: GenerateListingTransactionArgs, headers?: object, signal?: AbortSignal): Promise<GenerateListingTransactionReturn>\n generateOfferTransaction(args: GenerateOfferTransactionArgs, headers?: object, signal?: AbortSignal): Promise<GenerateOfferTransactionReturn>\n generateCancelTransaction(args: GenerateCancelTransactionArgs, headers?: object, signal?: AbortSignal): Promise<GenerateCancelTransactionReturn>\n execute(args: ExecuteArgs, headers?: object, signal?: AbortSignal): Promise<ExecuteReturn>\n listCollectibles(args: ListCollectiblesArgs, headers?: object, signal?: AbortSignal): Promise<ListCollectiblesReturn>\n getCountOfAllCollectibles(args: GetCountOfAllCollectiblesArgs, headers?: object, signal?: AbortSignal): Promise<GetCountOfAllCollectiblesReturn>\n getCountOfFilteredCollectibles(args: GetCountOfFilteredCollectiblesArgs, headers?: object, signal?: AbortSignal): Promise<GetCountOfFilteredCollectiblesReturn>\n getFloorOrder(args: GetFloorOrderArgs, headers?: object, signal?: AbortSignal): Promise<GetFloorOrderReturn>\n listCollectionActivities(args: ListCollectionActivitiesArgs, headers?: object, signal?: AbortSignal): Promise<ListCollectionActivitiesReturn>\n listCollectibleActivities(args: ListCollectibleActivitiesArgs, headers?: object, signal?: AbortSignal): Promise<ListCollectibleActivitiesReturn>\n listCollectiblesWithLowestListing(args: ListCollectiblesWithLowestListingArgs, headers?: object, signal?: AbortSignal): Promise<ListCollectiblesWithLowestListingReturn>\n listCollectiblesWithHighestOffer(args: ListCollectiblesWithHighestOfferArgs, headers?: object, signal?: AbortSignal): Promise<ListCollectiblesWithHighestOfferReturn>\n syncOrder(args: SyncOrderArgs, headers?: object, signal?: AbortSignal): Promise<SyncOrderReturn>\n syncOrders(args: SyncOrdersArgs, headers?: object, signal?: AbortSignal): Promise<SyncOrdersReturn>\n getOrders(args: GetOrdersArgs, headers?: object, signal?: AbortSignal): Promise<GetOrdersReturn>\n checkoutOptionsMarketplace(args: CheckoutOptionsMarketplaceArgs, headers?: object, signal?: AbortSignal): Promise<CheckoutOptionsMarketplaceReturn>\n checkoutOptionsSalesContract(args: CheckoutOptionsSalesContractArgs, headers?: object, signal?: AbortSignal): Promise<CheckoutOptionsSalesContractReturn>\n}\n\nexport interface ListCurrenciesArgs {\n}\n\nexport interface ListCurrenciesReturn {\n currencies: Array<Currency> \n}\nexport interface GetCollectionDetailArgs {\n contractAddress: string\n}\n\nexport interface GetCollectionDetailReturn {\n collection: Collection \n}\nexport interface GetCollectibleArgs {\n contractAddress: string\n tokenId: string\n}\n\nexport interface GetCollectibleReturn {\n metadata: TokenMetadata \n}\nexport interface GetLowestPriceOfferForCollectibleArgs {\n contractAddress: string\n tokenId: string\n filter?: OrderFilter\n}\n\nexport interface GetLowestPriceOfferForCollectibleReturn {\n order: Order \n}\nexport interface GetHighestPriceOfferForCollectibleArgs {\n contractAddress: string\n tokenId: string\n filter?: OrderFilter\n}\n\nexport interface GetHighestPriceOfferForCollectibleReturn {\n order: Order \n}\nexport interface GetLowestPriceListingForCollectibleArgs {\n contractAddress: string\n tokenId: string\n filter?: OrderFilter\n}\n\nexport interface GetLowestPriceListingForCollectibleReturn {\n order: Order \n}\nexport interface GetHighestPriceListingForCollectibleArgs {\n contractAddress: string\n tokenId: string\n filter?: OrderFilter\n}\n\nexport interface GetHighestPriceListingForCollectibleReturn {\n order: Order \n}\nexport interface ListListingsForCollectibleArgs {\n contractAddress: string\n tokenId: string\n filter?: OrderFilter\n skipRealtimeSync?: boolean\n page?: Page\n}\n\nexport interface ListListingsForCollectibleReturn {\n listings: Array<Order>\n page?: Page \n}\nexport interface ListOffersForCollectibleArgs {\n contractAddress: string\n tokenId: string\n filter?: OrderFilter\n skipRealtimeSync?: boolean\n page?: Page\n}\n\nexport interface ListOffersForCollectibleReturn {\n offers: Array<Order>\n page?: Page \n}\nexport interface GetCountOfListingsForCollectibleArgs {\n contractAddress: string\n tokenId: string\n filter?: OrderFilter\n}\n\nexport interface GetCountOfListingsForCollectibleReturn {\n count: number \n}\nexport interface GetCountOfOffersForCollectibleArgs {\n contractAddress: string\n tokenId: string\n filter?: OrderFilter\n}\n\nexport interface GetCountOfOffersForCollectibleReturn {\n count: number \n}\nexport interface GetCollectibleLowestOfferArgs {\n contractAddress: string\n tokenId: string\n filter?: OrderFilter\n}\n\nexport interface GetCollectibleLowestOfferReturn {\n order?: Order \n}\nexport interface GetCollectibleHighestOfferArgs {\n contractAddress: string\n tokenId: string\n filter?: OrderFilter\n}\n\nexport interface GetCollectibleHighestOfferReturn {\n order?: Order \n}\nexport interface GetCollectibleLowestListingArgs {\n contractAddress: string\n tokenId: string\n filter?: OrderFilter\n}\n\nexport interface GetCollectibleLowestListingReturn {\n order?: Order \n}\nexport interface GetCollectibleHighestListingArgs {\n contractAddress: string\n tokenId: string\n filter?: OrderFilter\n}\n\nexport interface GetCollectibleHighestListingReturn {\n order?: Order \n}\nexport interface ListCollectibleListingsArgs {\n contractAddress: string\n tokenId: string\n filter?: OrderFilter\n page?: Page\n}\n\nexport interface ListCollectibleListingsReturn {\n listings: Array<Order>\n page?: Page \n}\nexport interface ListCollectibleOffersArgs {\n contractAddress: string\n tokenId: string\n filter?: OrderFilter\n page?: Page\n}\n\nexport interface ListCollectibleOffersReturn {\n offers: Array<Order>\n page?: Page \n}\nexport interface GenerateBuyTransactionArgs {\n collectionAddress: string\n buyer: string\n marketplace: MarketplaceKind\n ordersData: Array<OrderData>\n additionalFees: Array<AdditionalFee>\n walletType?: WalletKind\n}\n\nexport interface GenerateBuyTransactionReturn {\n steps: Array<Step> \n}\nexport interface GenerateSellTransactionArgs {\n collectionAddress: string\n seller: string\n marketplace: MarketplaceKind\n ordersData: Array<OrderData>\n additionalFees: Array<AdditionalFee>\n walletType?: WalletKind\n}\n\nexport interface GenerateSellTransactionReturn {\n steps: Array<Step> \n}\nexport interface GenerateListingTransactionArgs {\n collectionAddress: string\n owner: string\n contractType: ContractType\n orderbook: OrderbookKind\n listing: CreateReq\n walletType?: WalletKind\n}\n\nexport interface GenerateListingTransactionReturn {\n steps: Array<Step> \n}\nexport interface GenerateOfferTransactionArgs {\n collectionAddress: string\n maker: string\n contractType: ContractType\n orderbook: OrderbookKind\n offer: CreateReq\n walletType?: WalletKind\n}\n\nexport interface GenerateOfferTransactionReturn {\n steps: Array<Step> \n}\nexport interface GenerateCancelTransactionArgs {\n collectionAddress: string\n maker: string\n marketplace: MarketplaceKind\n orderId: string\n}\n\nexport interface GenerateCancelTransactionReturn {\n steps: Array<Step> \n}\nexport interface ExecuteArgs {\n signature: string\n executeType: ExecuteType\n body: any\n}\n\nexport interface ExecuteReturn {\n orderId: string \n}\nexport interface ListCollectiblesArgs {\n side: OrderSide\n contractAddress: string\n filter?: CollectiblesFilter\n page?: Page\n}\n\nexport interface ListCollectiblesReturn {\n collectibles: Array<CollectibleOrder>\n page?: Page \n}\nexport interface GetCountOfAllCollectiblesArgs {\n contractAddress: string\n}\n\nexport interface GetCountOfAllCollectiblesReturn {\n count: number \n}\nexport interface GetCountOfFilteredCollectiblesArgs {\n side: OrderSide\n contractAddress: string\n filter?: CollectiblesFilter\n}\n\nexport interface GetCountOfFilteredCollectiblesReturn {\n count: number \n}\nexport interface GetFloorOrderArgs {\n contractAddress: string\n filter?: CollectiblesFilter\n}\n\nexport interface GetFloorOrderReturn {\n collectible: CollectibleOrder \n}\nexport interface ListCollectionActivitiesArgs {\n contractAddress: string\n page?: Page\n}\n\nexport interface ListCollectionActivitiesReturn {\n activities: Array<Activity>\n page?: Page \n}\nexport interface ListCollectibleActivitiesArgs {\n contractAddress: string\n tokenId: string\n page?: Page\n}\n\nexport interface ListCollectibleActivitiesReturn {\n activities: Array<Activity>\n page?: Page \n}\nexport interface ListCollectiblesWithLowestListingArgs {\n contractAddress: string\n filter?: CollectiblesFilter\n page?: Page\n}\n\nexport interface ListCollectiblesWithLowestListingReturn {\n collectibles: Array<CollectibleOrder>\n page?: Page \n}\nexport interface ListCollectiblesWithHighestOfferArgs {\n contractAddress: string\n filter?: CollectiblesFilter\n page?: Page\n}\n\nexport interface ListCollectiblesWithHighestOfferReturn {\n collectibles: Array<CollectibleOrder>\n page?: Page \n}\nexport interface SyncOrderArgs {\n order: Order\n}\n\nexport interface SyncOrderReturn { \n}\nexport interface SyncOrdersArgs {\n orders: Array<Order>\n}\n\nexport interface SyncOrdersReturn { \n}\nexport interface GetOrdersArgs {\n input: Array<GetOrdersInput>\n page?: Page\n}\n\nexport interface GetOrdersReturn {\n orders: Array<Order>\n page?: Page \n}\nexport interface CheckoutOptionsMarketplaceArgs {\n wallet: string\n orders: Array<CheckoutOptionsMarketplaceOrder>\n additionalFee: number\n}\n\nexport interface CheckoutOptionsMarketplaceReturn {\n options: CheckoutOptions \n}\nexport interface CheckoutOptionsSalesContractArgs {\n wallet: string\n contractAddress: string\n collectionAddress: string\n items: Array<CheckoutOptionsItem>\n}\n\nexport interface CheckoutOptionsSalesContractReturn {\n options: CheckoutOptions \n}\n\n\n \n//\n// Client\n//\nexport class Admin implements Admin {\n protected hostname: string\n protected fetch: Fetch\n protected path = '/rpc/Admin/'\n\n constructor(hostname: string, fetch: Fetch) {\n this.hostname = hostname.replace(/\\/*$/, '')\n this.fetch = (input: RequestInfo, init?: RequestInit) => fetch(input, init)\n }\n\n private url(name: string): string {\n return this.hostname + this.path + name\n }\n \n createCollection = (args: CreateCollectionArgs, headers?: object, signal?: AbortSignal): Promise<CreateCollectionReturn> => {\n return this.fetch(\n this.url('CreateCollection'),\n createHTTPRequest(args, headers, signal)).then((res) => {\n return buildResponse(res).then(_data => {\n return {\n collection: <Collection>(_data.collection),\n }\n })\n }, (error) => {\n throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })\n })\n }\n \n getCollection = (args: GetCollectionArgs, headers?: object, signal?: AbortSignal): Promise<GetCollectionReturn> => {\n return this.fetch(\n this.url('GetCollection'),\n createHTTPRequest(args, headers, signal)).then((res) => {\n return buildResponse(res).then(_data => {\n return {\n collection: <Collection>(_data.collection),\n }\n })\n }, (error) => {\n throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })\n })\n }\n \n listCollections = (args: ListCollectionsArgs, headers?: object, signal?: AbortSignal): Promise<ListCollectionsReturn> => {\n return this.fetch(\n this.url('ListCollections'),\n createHTTPRequest(args, headers, signal)).then((res) => {\n return buildResponse(res).then(_data => {\n return {\n collections: <Array<Collection>>(_data.collections),\n page: <Page>(_data.page),\n }\n })\n }, (error) => {\n throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })\n })\n }\n \n deleteCollection = (args: DeleteCollectionArgs, headers?: object, signal?: AbortSignal): Promise<DeleteCollectionReturn> => {\n return this.fetch(\n this.url('DeleteCollection'),\n createHTTPRequest(args, headers, signal)).then((res) => {\n return buildResponse(res).then(_data => {\n return {\n collection: <Collection>(_data.collection),\n }\n })\n }, (error) => {\n throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })\n })\n }\n \n syncCollection = (args: SyncCollectionArgs, headers?: object, signal?: AbortSignal): Promise<SyncCollectionReturn> => {\n return this.fetch(\n this.url('SyncCollection'),\n createHTTPRequest(args, headers, signal)).then((res) => {\n return buildResponse(res).then(_data => {\n return {\n collection: <Collection>(_data.collection),\n }\n })\n }, (error) => {\n throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })\n })\n }\n \n createCurrency = (args: CreateCurrencyArgs, headers?: object, signal?: AbortSignal): Promise<CreateCurrencyReturn> => {\n return this.fetch(\n this.url('CreateCurrency'),\n createHTTPRequest(args, headers, signal)).then((res) => {\n return buildResponse(res).then(_data => {\n return {\n currency: <Currency>(_data.currency),\n }\n })\n }, (error) => {\n throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })\n })\n }\n \n createCurrencies = (args: CreateCurrenciesArgs, headers?: object, signal?: AbortSignal): Promise<CreateCurrenciesReturn> => {\n return this.fetch(\n this.url('CreateCurrencies'),\n createHTTPRequest(args, headers, signal)).then((res) => {\n return buildResponse(res).then(_data => {\n return {\n currency: <{[key: string]: Currency}>(_data.currency),\n }\n })\n }, (error) => {\n throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })\n })\n }\n \n updateCurrency = (args: UpdateCurrencyArgs, headers?: object, signal?: AbortSignal): Promise<UpdateCurrencyReturn> => {\n return this.fetch(\n this.url('UpdateCurrency'),\n createHTTPRequest(args, headers, signal)).then((res) => {\n return buildResponse(res).then(_data => {\n return {\n currency: <Currency>(_data.currency),\n }\n })\n }, (error) => {\n throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })\n })\n }\n \n listCurrencies = (headers?: object, signal?: AbortSignal): Promise<ListCurrenciesReturn> => {\n return this.fetch(\n this.url('ListCurrencies'),\n createHTTPRequest({}, headers, signal)\n ).then((res) => {\n return buildResponse(res).then(_data => {\n return {\n currencies: <Array<Currency>>(_data.currencies),\n }\n })\n }, (error) => {\n throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })\n })\n }\n \n deleteCurrency = (args: DeleteCurrencyArgs, headers?: object, signal?: AbortSignal): Promise<DeleteCurrencyReturn> => {\n return this.fetch(\n this.url('DeleteCurrency'),\n createHTTPRequest(args, headers, signal)).then((res) => {\n return buildResponse(res).then(_data => {\n return {\n currency: <Currency>(_data.currency),\n }\n })\n }, (error) => {\n throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })\n })\n }\n \n}\nexport class Marketplace implements Marketplace {\n protected hostname: string\n protected fetch: Fetch\n protected path = '/rpc/Marketplace/'\n\n constructor(hostname: string, fetch: Fetch) {\n this.hostname = hostname.replace(/\\/*$/, '')\n this.fetch = (input: RequestInfo, init?: RequestInit) => fetch(input, init)\n }\n\n private url(name: string): string {\n return this.hostname + this.path + name\n }\n \n listCurrencies = (headers?: object, signal?: AbortSignal): Promise<ListCurrenciesReturn> => {\n return this.fetch(\n this.url('ListCurrencies'),\n createHTTPRequest({}, headers, signal)\n ).then((res) => {\n return buildResponse(res).then(_data => {\n return {\n currencies: <Array<Currency>>(_data.currencies),\n }\n })\n }, (error) => {\n throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })\n })\n }\n \n getCollectionDetail = (args: GetCollectionDetailArgs, headers?: object, signal?: AbortSignal): Promise<GetCollectionDetailReturn> => {\n return this.fetch(\n this.url('GetCollectionDetail'),\n createHTTPRequest(args, headers, signal)).then((res) => {\n return buildResponse(res).then(_data => {\n return {\n collection: <Collection>(_data.collection),\n }\n })\n }, (error) => {\n throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })\n })\n }\n \n getCollectible = (args: GetCollectibleArgs, headers?: object, signal?: AbortSignal): Promise<GetCollectibleReturn> => {\n return this.fetch(\n this.url('GetCollectible'),\n createHTTPRequest(args, headers, signal)).then((res) => {\n return buildResponse(res).then(_data => {\n return {\n metadata: <TokenMetadata>(_data.metadata),\n }\n })\n }, (error) => {\n throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })\n })\n }\n \n getLowestPriceOfferForCollectible = (args: GetLowestPriceOfferForCollectibleArgs, headers?: object, signal?: AbortSignal): Promise<GetLowestPriceOfferForCollectibleReturn> => {\n return this.fetch(\n this.url('GetLowestPriceOfferForCollectible'),\n createHTTPRequest(args, headers, signal)).then((res) => {\n return buildResponse(res).then(_data => {\n return {\n order: <Order>(_data.order),\n }\n })\n }, (error) => {\n throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })\n })\n }\n \n getHighestPriceOfferForCollectible = (args: GetHighestPriceOfferForCollectibleArgs, headers?: object, signal?: AbortSignal): Promise<GetHighestPriceOfferForCollectibleReturn> => {\n return this.fetch(\n this.url('GetHighestPriceOfferForCollectible'),\n createHTTPRequest(args, headers, signal)).then((res) => {\n return buildResponse(res).then(_data => {\n return {\n order: <Order>(_data.order),\n }\n })\n }, (error) => {\n throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })\n })\n }\n \n getLowestPriceListingForCollectible = (args: GetLowestPriceListingForCollectibleArgs, headers?: object, signal?: AbortSignal): Promise<GetLowestPriceListingForCollectibleReturn> => {\n return this.fetch(\n this.url('GetLowestPriceListingForCollectible'),\n createHTTPRequest(args, headers, signal)).then((res) => {\n return buildResponse(res).then(_data => {\n return {\n order: <Order>(_data.order),\n }\n })\n }, (error) => {\n throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })\n })\n }\n \n getHighestPriceListingForCollectible = (args: GetHighestPriceListingForCollectibleArgs, headers?: object, signal?: AbortSignal): Promise<GetHighestPriceListingForCollectibleReturn> => {\n return this.fetch(\n this.url('GetHighestPriceListingForCollectible'),\n createHTTPRequest(args, headers, signal)).then((res) => {\n return buildResponse(res).then(_data => {\n return {\n order: <Order>(_data.order),\n }\n })\n }, (error) => {\n throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })\n })\n }\n \n listListingsForCollectible = (args: ListListingsForCollectibleArgs, headers?: object, signal?: AbortSignal): Promise<ListListingsForCollectibleReturn> => {\n return this.fetch(\n this.url('ListListingsForCollectible'),\n createHTTPRequest(args, headers, signal)).then((res) => {\n return buildResponse(res).then(_data => {\n return {\n listings: <Array<Order>>(_data.listings),\n page: <Page>(_data.page),\n }\n })\n }, (error) => {\n throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })\n })\n }\n \n listOffersForCollectible = (args: ListOffersForCollectibleArgs, headers?: object, signal?: AbortSignal): Promise<ListOffersForCollectibleReturn> => {\n return this.fetch(\n this.url('ListOffersForCollectible'),\n createHTTPRequest(args, headers, signal)).then((res) => {\n return buildResponse(res).then(_data => {\n return {\n offers: <Array<Order>>(_data.offers),\n page: <Page>(_data.page),\n }\n })\n }, (error) => {\n throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })\n })\n }\n \n getCountOfListingsForCollectible = (args: GetCountOfListingsForCollectibleArgs, headers?: object, signal?: AbortSignal): Promise<GetCountOfListingsForCollectibleReturn> => {\n return this.fetch(\n this.url('GetCountOfListingsForCollectible'),\n createHTTPRequest(args, headers, signal)).then((res) => {\n return buildResponse(res).then(_data => {\n return {\n count: <number>(_data.count),\n }\n })\n }, (error) => {\n throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })\n })\n }\n \n getCountOfOffersForCollectible = (args: GetCountOfOffersForCollectibleArgs, headers?: object, signal?: AbortSignal): Promise<GetCountOfOffersForCollectibleReturn> => {\n return this.fetch(\n this.url('GetCountOfOffersForCollectible'),\n createHTTPRequest(args, headers, signal)).then((res) => {\n return buildResponse(res).then(_data => {\n return {\n count: <number>(_data.count),\n }\n })\n }, (error) => {\n throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })\n })\n }\n \n getCollectibleLowestOffer = (args: GetCollectibleLowestOfferArgs, headers?: object, signal?: AbortSignal): Promise<GetCollectibleLowestOfferReturn> => {\n return this.fetch(\n this.url('GetCollectibleLowestOffer'),\n createHTTPRequest(args, headers, signal)).then((res) => {\n return buildResponse(res).then(_data => {\n return {\n order: <Order>(_data.order),\n }\n })\n }, (error) => {\n throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })\n })\n }\n \n getCollectibleHighestOffer = (args: GetCollectibleHighestOfferArgs, headers?: object, signal?: AbortSignal): Promise<GetCollectibleHighestOfferReturn> => {\n return this.fetch(\n this.url('GetCollectibleHighestOffer'),\n createHTTPRequest(args, headers, signal)).then((res) => {\n return buildResponse(res).then(_data => {\n return {\n order: <Order>(_data.order),\n }\n })\n }, (error) => {\n throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })\n })\n }\n \n getCollectibleLowestListing = (args: GetCollectibleLowestListingArgs, headers?: object, signal?: AbortSignal): Promise<GetCollectibleLowestListingReturn> => {\n return this.fetch(\n this.url('GetCollectibleLowestListing'),\n createHTTPRequest(args, headers, signal)).then((res) => {\n return buildResponse(res).then(_data => {\n return {\n order: <Order>(_data.order),\n }\n })\n }, (error) => {\n throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })\n })\n }\n \n getCollectibleHighestListing = (args: GetCollectibleHighestListingArgs, headers?: object, signal?: AbortSignal): Promise<GetCollectibleHighestListingReturn> => {\n return this.fetch(\n this.url('GetCollectibleHighestListing'),\n createHTTPRequest(args, headers, signal)).then((res) => {\n return buildResponse(res).then(_data => {\n return {\n order: <Order>(_data.order),\n }\n })\n }, (error) => {\n throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })\n })\n }\n \n listCollectibleListings = (args: ListCollectibleListingsArgs, headers?: object, signal?: AbortSignal): Promise<ListCollectibleListingsReturn> => {\n return this.fetch(\n this.url('ListCollectibleListings'),\n createHTTPRequest(args, headers, signal)).then((res) => {\n return buildResponse(res).then(_data => {\n return {\n listings: <Array<Order>>(_data.listings),\n page: <Page>(_data.page),\n }\n })\n }, (error) => {\n throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })\n })\n }\n \n listCollectibleOffers = (args: ListCollectibleOffersArgs, headers?: object, signal?: AbortSignal): Promise<ListCollectibleOffersReturn> => {\n return this.fetch(\n this.url('ListCollectibleOffers'),\n createHTTPRequest(args, headers, signal)).then((res) => {\n return buildResponse(res).then(_data => {\n return {\n offers: <Array<Order>>(_data.offers),\n page: <Page>(_data.page),\n }\n })\n }, (error) => {\n throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })\n })\n }\n \n generateBuyTransaction = (args: GenerateBuyTransactionArgs, headers?: object, signal?: AbortSignal): Promise<GenerateBuyTransactionReturn> => {\n return this.fetch(\n this.url('GenerateBuyTransaction'),\n createHTTPRequest(args, headers, signal)).then((res) => {\n return buildResponse(res).then(_data => {\n return {\n steps: <Array<Step>>(_data.steps),\n }\n })\n }, (error) => {\n throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })\n })\n }\n \n generateSellTransaction = (args: GenerateSellTransactionArgs, headers?: object, signal?: AbortSignal): Promise<GenerateSellTransactionReturn> => {\n return this.fetch(\n this.url('GenerateSellTransaction'),\n createHTTPRequest(args, headers, signal)).then((res) => {\n return buildResponse(res).then(_data => {\n return {\n steps: <Array<Step>>(_data.steps),\n }\n })\n }, (error) => {\n throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })\n })\n }\n \n generateListingTransaction = (args: GenerateListingTransactionArgs, headers?: object, signal?: AbortSignal): Promise<GenerateListingTransactionReturn> => {\n return this.fetch(\n this.url('GenerateListingTransaction'),\n createHTTPRequest(args, headers, signal)).then((res) => {\n return buildResponse(res).then(_data => {\n return {\n steps: <Array<Step>>(_data.steps),\n }\n })\n }, (error) => {\n throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })\n })\n }\n \n generateOfferTransaction = (args: GenerateOfferTransactionArgs, headers?: object, signal?: AbortSignal): Promise<GenerateOfferTransactionReturn> => {\n return this.fetch(\n this.url('GenerateOfferTransaction'),\n createHTTPRequest(args, headers, signal)).then((res) => {\n return buildResponse(res).then(_data => {\n return {\n steps: <Array<Step>>(_data.steps),\n }\n })\n }, (error) => {\n throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })\n })\n }\n \n generateCancelTransaction = (args: GenerateCancelTransactionArgs, headers?: object, signal?: AbortSignal): Promise<GenerateCancelTransactionReturn> => {\n return this.fetch(\n this.url('GenerateCancelTransaction'),\n createHTTPRequest(args, headers, signal)).then((res) => {\n return buildResponse(res).then(_data => {\n return {\n steps: <Array<Step>>(_data.steps),\n }\n })\n }, (error) => {\n throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })\n })\n }\n \n execute = (args: ExecuteArgs, headers?: object, signal?: AbortSignal): Promise<ExecuteReturn> => {\n return this.fetch(\n this.url('Execute'),\n createHTTPRequest(args, headers, signal)).then((res) => {\n return buildResponse(res).then(_data => {\n return {\n orderId: <string>(_data.orderId),\n }\n })\n }, (error) => {\n throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })\n })\n }\n \n listCollectibles = (args: ListCollectiblesArgs, headers?: object, signal?: AbortSignal): Promise<ListCollectiblesReturn> => {\n return this.fetch(\n this.url('ListCollectibles'),\n createHTTPRequest(args, headers, signal)).then((res) => {\n return buildResponse(res).then(_data => {\n return {\n collectibles: <Array<CollectibleOrder>>(_data.collectibles),\n page: <Page>(_data.page),\n }\n })\n }, (error) => {\n throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })\n })\n }\n \n getCountOfAllCollectibles = (args: GetCountOfAllCollectiblesArgs, headers?: object, signal?: AbortSignal): Promise<GetCountOfAllCollectiblesReturn> => {\n return this.fetch(\n this.url('GetCountOfAllCollectibles'),\n createHTTPRequest(args, headers, signal)).then((res) => {\n return buildResponse(res).then(_data => {\n return {\n count: <number>(_data.count),\n }\n })\n }, (error) => {\n throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })\n })\n }\n \n getCountOfFilteredCollectibles = (args: GetCountOfFilteredCollectiblesArgs, headers?: object, signal?: AbortSignal): Promise<GetCountOfFilteredCollectiblesReturn> => {\n return this.fetch(\n this.url('GetCountOfFilteredCollectibles'),\n createHTTPRequest(args, headers, signal)).then((res) => {\n return buildResponse(res).then(_data => {\n return {\n count: <number>(_data.count),\n }\n })\n }, (error) => {\n throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })\n })\n }\n \n getFloorOrder = (args: GetFloorOrderArgs, headers?: object, signal?: AbortSignal): Promise<GetFloorOrderReturn> => {\n return this.fetch(\n this.url('GetFloorOrder'),\n createHTTPRequest(args, headers, signal)).then((res) => {\n return buildResponse(res).then(_data => {\n return {\n collectible: <CollectibleOrder>(_data.collectible),\n }\n })\n }, (error) => {\n throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })\n })\n }\n \n listCollectionActivities = (args: ListCollectionActivitiesArgs, headers?: object, signal?: AbortSignal): Promise<ListCollectionActivitiesReturn> => {\n return this.fetch(\n this.url('ListCollectionActivities'),\n createHTTPRequest(args, headers, signal)).then((res) => {\n return buildResponse(res).then(_data => {\n return {\n activities: <Array<Activity>>(_data.activities),\n page: <Page>(_data.page),\n }\n })\n }, (error) => {\n throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })\n })\n }\n \n listCollectibleActivities = (args: ListCollectibleActivitiesArgs, headers?: object, signal?: AbortSignal): Promise<ListCollectibleActivitiesReturn> => {\n return this.fetch(\n this.url('ListCollectibleActivities'),\n createHTTPRequest(args, headers, signal)).then((res) => {\n return buildResponse(res).then(_data => {\n return {\n activities: <Array<Activity>>(_data.activities),\n page: <Page>(_data.page),\n }\n })\n }, (error) => {\n throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })\n })\n }\n \n listCollectiblesWithLowestListing = (args: ListCollectiblesWithLowestListingArgs, headers?: object, signal?: AbortSignal): Promise<ListCollectiblesWithLowestListingReturn> => {\n return this.fetch(\n this.url('ListCollectiblesWithLowestListing'),\n createHTTPRequest(args, headers, signal)).then((res) => {\n return buildResponse(res).then(_data => {\n return {\n collectibles: <Array<CollectibleOrder>>(_data.collectibles),\n page: <Page>(_data.page),\n }\n })\n }, (error) => {\n throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })\n })\n }\n \n listCollectiblesWithHighestOffer = (args: ListCollectiblesWithHighestOfferArgs, headers?: object, signal?: AbortSignal): Promise<ListCollectiblesWithHighestOfferReturn> => {\n return this.fetch(\n this.url('ListCollectiblesWithHighestOffer'),\n createHTTPRequest(args, headers, signal)).then((res) => {\n return buildResponse(res).then(_data => {\n return {\n collectibles: <Array<CollectibleOrder>>(_data.collectibles),\n page: <Page>(_data.page),\n }\n })\n }, (error) => {\n throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })\n })\n }\n \n syncOrder = (args: SyncOrderArgs, headers?: object, signal?: AbortSignal): Promise<SyncOrderReturn> => {\n return this.fetch(\n this.url('SyncOrder'),\n createHTTPRequest(args, headers, signal)).then((res) => {\n return buildResponse(res).then(_data => {\n return {}\n })\n }, (error) => {\n throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })\n })\n }\n \n syncOrders = (args: SyncOrdersArgs, headers?: object, signal?: AbortSignal): Promise<SyncOrdersReturn> => {\n return this.fetch(\n this.url('SyncOrders'),\n createHTTPRequest(args, headers, signal)).then((res) => {\n return buildResponse(res).then(_data => {\n return {}\n })\n }, (error) => {\n throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })\n })\n }\n \n getOrders = (args: GetOrdersArgs, headers?: object, signal?: AbortSignal): Promise<GetOrdersReturn> => {\n return this.fetch(\n this.url('GetOrders'),\n createHTTPRequest(args, headers, signal)).then((res) => {\n return buildResponse(res).then(_data => {\n return {\n orders: <Array<Order>>(_data.orders),\n page: <Page>(_data.page),\n }\n })\n }, (error) => {\n throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })\n })\n }\n \n checkoutOptionsMarketplace = (args: CheckoutOptionsMarketplaceArgs, headers?: object, signal?: AbortSignal): Promise<CheckoutOptionsMarketplaceReturn> => {\n return this.fetch(\n this.url('CheckoutOptionsMarketplace'),\n createHTTPRequest(args, headers, signal)).then((res) => {\n return buildResponse(res).then(_data => {\n return {\n options: <CheckoutOptions>(_data.options),\n }\n })\n }, (error) => {\n throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })\n })\n }\n \n checkoutOptionsSalesContract = (args: CheckoutOptionsSalesContractArgs, headers?: object, signal?: AbortSignal): Promise<CheckoutOptionsSalesContractReturn> => {\n return this.fetch(\n this.url('CheckoutOptionsSalesContract'),\n createHTTPRequest(args, headers, signal)).then((res) => {\n return buildResponse(res).then(_data => {\n return {\n options: <CheckoutOptions>(_data.options),\n }\n })\n }, (error) => {\n throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })\n })\n }\n \n}\n\n const createHTTPRequest = (body: object = {}, headers: object = {}, signal: AbortSignal | null = null): object => {\n const reqHeaders: {[key: string]: string} = { ...headers, 'Content-Type': 'application/json' }\n reqHeaders[WebrpcHeader] = WebrpcHeaderValue\n\n return {\n method: 'POST',\n headers: reqHeaders,\n body: JSON.stringify(body || {}),\n signal\n }\n}\n\nconst buildResponse = (res: Response): Promise<any> => {\n return res.text().then(text => {\n let data\n try {\n data = JSON.parse(text)\n } catch(error) {\n let message = ''\n if (error instanceof Error) {\n message = error.message\n }\n throw WebrpcBadResponseError.new({\n status: res.status,\n cause: `JSON.parse(): ${message}: response text: ${text}`},\n )\n }\n if (!res.ok) {\n const code: number = (typeof data.code === 'number') ? data.code : 0\n throw (webrpcErrorByCode[code] || WebrpcError).new(data)\n }\n return data\n })\n}\n\n//\n// Errors\n//\n\nexport class WebrpcError extends Error {\n name: string\n code: number\n message: string\n status: number\n cause?: string\n\n /** @deprecated Use message instead of msg. Deprecated in webrpc v0.11.0. */\n msg: string\n\n constructor(name: string, code: number, message: string, status: number, cause?: string) {\n super(message)\n this.name = name || 'WebrpcError'\n this.code = typeof code === 'number' ? code : 0\n this.message = message || `endpoint error ${this.code}`\n this.msg = this.message\n this.status = typeof status === 'number' ? status : 0\n this.cause = cause\n Object.setPrototypeOf(this, WebrpcError.prototype)\n }\n\n static new(payload: any): WebrpcError {\n return new this(payload.error, payload.code, payload.message || payload.msg, payload.status, payload.cause)\n }\n}\n\n// Webrpc errors\n\nexport class WebrpcEndpointError extends WebrpcError {\n constructor(\n name: string = 'WebrpcEndpoint',\n code: number = 0,\n message: string = `endpoint error`,\n status: number = 0,\n cause?: string\n ) {\n super(name, code, message, status, cause)\n Object.setPrototypeOf(this, WebrpcEndpointError.prototype)\n }\n}\n\nexport class WebrpcRequestFailedError extends WebrpcError {\n constructor(\n name: string = 'WebrpcRequestFailed',\n code: number = -1,\n message: string = `request failed`,\n status: number = 0,\n cause?: string\n ) {\n super(name, code, message, status, cause)\n Object.setPrototypeOf(this, WebrpcRequestFailedError.prototype)\n }\n}\n\nexport class WebrpcBadRouteError extends WebrpcError {\n constructor(\n name: string = 'WebrpcBadRoute',\n code: number = -2,\n message: string = `bad route`,\n status: number = 0,\n cause?: string\n ) {\n super(name, code, message, status, cause)\n Object.setPrototypeOf(this, WebrpcBadRouteError.prototype)\n }\n}\n\nexport class WebrpcBadMethodError extends WebrpcError {\n constructor(\n name: string = 'WebrpcBadMethod',\n code: number = -3,\n message: string = `bad method`,\n status: number = 0,\n cause?: string\n ) {\n super(name, code, message, status, cause)\n Object.setPrototypeOf(this, WebrpcBadMethodError.prototype)\n }\n}\n\nexport class WebrpcBadRequestError extends WebrpcError {\n constructor(\n name: string = 'WebrpcBadRequest',\n code: number = -4,\n message: string = `bad request`,\n status: number = 0,\n cause?: string\n ) {\n super(name, code, message, status, cause)\n Object.setPrototypeOf(this, WebrpcBadRequestError.prototype)\n }\n}\n\nexport class WebrpcBadResponseError extends WebrpcError {\n constructor(\n name: string = 'WebrpcBadResponse',\n code: number = -5,\n message: string = `bad response`,\n status: number = 0,\n cause?: string\n ) {\n super(name, code, message, status, cause)\n Object.setPrototypeOf(this, WebrpcBadResponseError.prototype)\n }\n}\n\nexport class WebrpcServerPanicError extends WebrpcError {\n constructor(\n name: string = 'WebrpcServerPanic',\n code: number = -6,\n message: string = `server panic`,\n status: number = 0,\n cause?: string\n ) {\n super(name, code, message, status, cause)\n Object.setPrototypeOf(this, WebrpcServerPanicError.prototype)\n }\n}\n\nexport class WebrpcInternalErrorError extends WebrpcError {\n constructor(\n name: string = 'WebrpcInternalError',\n code: number = -7,\n message: string = `internal error`,\n status: number = 0,\n cause?: string\n ) {\n super(name, code, message, status, cause)\n Object.setPrototypeOf(this, WebrpcInternalErrorError.prototype)\n }\n}\n\nexport class WebrpcClientDisconnectedError extends WebrpcError {\n constructor(\n name: string = 'WebrpcClientDisconnected',\n code: number = -8,\n message: string = `client disconnected`,\n status: number = 0,\n cause?: string\n ) {\n super(name, code, message, status, cause)\n Object.setPrototypeOf(this, WebrpcClientDisconnectedError.prototype)\n }\n}\n\nexport class WebrpcStreamLostError extends WebrpcError {\n constructor(\n name: string = 'WebrpcStreamLost',\n code: number = -9,\n message: string = `stream lost`,\n status: number = 0,\n cause?: string\n ) {\n super(name, code, message, status, cause)\n Object.setPrototypeOf(this, WebrpcStreamLostError.prototype)\n }\n}\n\nexport class WebrpcStreamFinishedError extends WebrpcError {\n constructor(\n name: string = 'WebrpcStreamFinished',\n code: number = -10,\n message: string = `stream finished`,\n status: number = 0,\n cause?: string\n ) {\n super(name, code, message, status, cause)\n Object.setPrototypeOf(this, WebrpcStreamFinishedError.prototype)\n }\n}\n\n\n// Schema errors\n\nexport class UnauthorizedError extends WebrpcError {\n constructor(\n name: string = 'Unauthorized',\n code: number = 1000,\n message: string = `Unauthorized access`,\n status: number = 0,\n cause?: string\n ) {\n super(name, code, message, status, cause)\n Object.setPrototypeOf(this, UnauthorizedError.prototype)\n }\n}\n\nexport class PermissionDeniedError extends WebrpcError {\n constructor(\n name: string = 'PermissionDenied',\n code: number = 1001,\n message: string = `Permission denied`,\n status: number = 0,\n cause?: string\n ) {\n super(name, code, message, status, cause)\n Object.setPrototypeOf(this, PermissionDeniedError.prototype)\n }\n}\n\nexport class SessionExpiredError extends WebrpcError {\n constructor(\n name: string = 'SessionExpired',\n code: number = 1002,\n message: string = `Session expired`,\n status: number = 0,\n cause?: string\n ) {\n super(name, code, message, status, cause)\n Object.setPrototypeOf(this, SessionExpiredError.prototype)\n }\n}\n\nexport class MethodNotFoundError extends WebrpcError {\n constructor(\n name: string = 'MethodNotFound',\n code: number = 1003,\n message: string = `Method not found`,\n status: number = 0,\n cause?: string\n ) {\n super(name, code, message, status, cause)\n Object.setPrototypeOf(this, MethodNotFoundError.prototype)\n }\n}\n\nexport class TimeoutError extends WebrpcError {\n constructor(\n name: string = 'Timeout',\n code: number = 2000,\n message: string = `Request timed out`,\n status: number = 0,\n cause?: string\n ) {\n super(name, code, message, status, cause)\n Object.setPrototypeOf(this, TimeoutError.prototype)\n }\n}\n\nexport class InvalidArgumentError extends WebrpcError {\n constructor(\n name: string = 'InvalidArgument',\n code: number = 2001,\n message: string = `Invalid argument`,\n status: number = 0,\n cause?: string\n ) {\n super(name, code, message, status, cause)\n Object.setPrototypeOf(this, InvalidArgumentError.prototype)\n }\n}\n\nexport class NotFoundError extends WebrpcError {\n constructor(\n name: string = 'NotFound',\n code: number = 3000,\n message: string = `Resource not found`,\n status: number = 0,\n cause?: string\n ) {\n super(name, code, message, status, cause)\n Object.setPrototypeOf(this, NotFoundError.prototype)\n }\n}\n\nexport class UserNotFoundError extends WebrpcError {\n constructor(\n name: string = 'UserNotFound',\n code: number = 3001,\n message: string = `User not found`,\n status: number = 0,\n cause?: string\n ) {\n super(name, code, message, status, cause)\n Object.setPrototypeOf(this, UserNotFoundError.prototype)\n }\n}\n\nexport class ProjectNotFoundError extends WebrpcError {\n constructor(\n name: string = 'ProjectNotFound',\n code: number = 3002,\n message: string = `Project not found`,\n status: number = 0,\n cause?: string\n ) {\n super(name, code, message, status, cause)\n Object.setPrototypeOf(this, ProjectNotFoundError.prototype)\n }\n}\n\nexport class InvalidTierError extends WebrpcError {\n constructor(\n name: string = 'InvalidTier',\n code: number = 3003,\n message: string = `Invalid subscription tier`,\n status: number = 0,\n cause?: string\n ) {\n super(name, code, message, status, cause)\n Object.setPrototypeOf(this, InvalidTierError.prototype)\n }\n}\n\nexport class ProjectLimitReachedError extends WebrpcError {\n constructor(\n name: string = 'ProjectLimitReached',\n code: number = 3005,\n message: string = `Project limit reached`,\n status: number = 0,\n cause?: string\n ) {\n super(name, code, message, status, cause)\n Object.setPrototypeOf(this, ProjectLimitReachedError.prototype)\n }\n}\n\nexport class NotImplementedError extends WebrpcError {\n constructor(\n name: string = 'NotImplemented',\n code: number = 9999,\n message: string = `Not Implemented`,\n status: number = 0,\n cause?: string\n ) {\n super(name, code, message, status, cause)\n Object.setPrototypeOf(this, NotImplementedError.prototype)\n }\n}\n\n\nexport enum errors {\n WebrpcEndpoint = 'WebrpcEndpoint',\n WebrpcRequestFailed = 'WebrpcRequestFailed',\n WebrpcBadRoute = 'WebrpcBadRoute',\n WebrpcBadMethod = 'WebrpcBadMethod',\n WebrpcBadRequest = 'WebrpcBadRequest',\n WebrpcBadResponse = 'WebrpcBadResponse',\n WebrpcServerPanic = 'WebrpcServerPanic',\n WebrpcInternalError = 'WebrpcInternalError',\n WebrpcClientDisconnected = 'WebrpcClientDisconnected',\n WebrpcStreamLost = 'WebrpcStreamLost',\n WebrpcStreamFinished = 'WebrpcStreamFinished',\n Unauthorized = 'Unauthorized',\n PermissionDenied = 'PermissionDenied',\n SessionExpired = 'SessionExpired',\n MethodNotFound = 'MethodNotFound',\n Timeout = 'Timeout',\n InvalidArgument = 'InvalidArgument',\n NotFound = 'NotFound',\n UserNotFound = 'UserNotFound',\n ProjectNotFound = 'ProjectNotFound',\n InvalidTier = 'InvalidTier',\n ProjectLimitReached = 'ProjectLimitReached',\n NotImplemented = 'NotImplemented',\n}\n\nexport enum WebrpcErrorCodes {\n WebrpcEndpoint = 0,\n WebrpcRequestFailed = -1,\n WebrpcBadRoute = -2,\n WebrpcBadMethod = -3,\n WebrpcBadRequest = -4,\n WebrpcBadResponse = -5,\n WebrpcServerPanic = -6,\n WebrpcInternalError = -7,\n WebrpcClientDisconnected = -8,\n WebrpcStreamLost = -9,\n WebrpcStreamFinished = -10,\n Unauthorized = 1000,\n PermissionDenied = 1001,\n SessionExpired = 1002,\n MethodNotFound = 1003,\n Timeout = 2000,\n InvalidArgument = 2001,\n NotFound = 3000,\n UserNotFound = 3001,\n ProjectNotFound = 3002,\n InvalidTier = 3003,\n ProjectLimitReached = 3005,\n NotImplemented = 9999,\n}\n\nexport const webrpcErrorByCode: { [code: number]: any } = {\n [0]: WebrpcEndpointError,\n [-1]: WebrpcRequestFailedError,\n [-2]: WebrpcBadRouteError,\n [-3]: WebrpcBadMethodError,\n [-4]: WebrpcBadRequestError,\n [-5]: WebrpcBadResponseError,\n [-6]: WebrpcServerPanicError,\n [-7]: WebrpcInternalErrorError,\n [-8]: WebrpcClientDisconnectedError,\n [-9]: WebrpcStreamLostError,\n [-10]: WebrpcStreamFinishedError,\n [1000]: UnauthorizedError,\n [1001]: PermissionDeniedError,\n [1002]: SessionExpiredError,\n [1003]: MethodNotFoundError,\n [2000]: TimeoutError,\n [2001]: InvalidArgumentError,\n [3000]: NotFoundError,\n [3001]: UserNotFoundError,\n [3002]: ProjectNotFoundError,\n [3003]: InvalidTierError,\n [3005]: ProjectLimitReachedError,\n [9999]: NotImplementedError,\n}\n\nexport type Fetch = (input: RequestInfo, init?: RequestInit) => Promise<Response>\n","import type { ChainId } from '@0xsequence/network';\nimport type { Hex } from 'viem';\nimport type { OrderbookKind } from './api-types';\n\ninterface Socials {\n\ttwitter?: string;\n\twebsite?: string;\n\tdiscord?: string;\n\tinstagram?: string;\n\ttiktok?: string;\n\tyoutube?: string;\n}\n\nexport enum WalletOptions {\n\tSequence = 'sequence',\n\tMetamask = 'metamask',\n\tWalletConnect = 'walletconnect',\n\tCoinbase = 'coinbase',\n\tInjected = 'injected',\n\tLedger = 'ledger',\n\tRainbow = 'rainbow',\n}\n\ntype NewWalletConnectors = 'walletconnect' | 'coinbase';\ninterface WalletOptionsNew {\n\tconnectors: NewWalletConnectors[];\n\tincludeEIP6963Wallets: boolean;\n\twalletType: 'embedded' | 'universal';\n}\n\ninterface Collection {\n\tcollectionAddress: Hex;\n\tchainId: ChainId;\n\texchanges?: string[];\n\tmarketplaceFeePercentage: number;\n\tbannerUrl?: string;\n\tmarketplaceType: 'p2p' | 'orderbook' | 'amm';\n\tdestinationMarketplace?: OrderbookKind;\n\tcurrencyOptions?: string[];\n}\n\ntype LandingPageLayout = 'default' | 'big_left_banner' | 'floating_header';\n\nexport interface MarketplaceConfig {\n\tprojectId: number; // builder project Id\n\tpublisherId: string;\n\ttitle: string;\n\tshortDescription: string;\n\tsocials?: Socials;\n\tfaviconUrl: string;\n\tlandingBannerUrl: string;\n\tlogoUrl?: string;\n\tfontUrl?: string;\n\togImage?: string;\n\ttitleTemplate: string;\n\tdisableLiquidityProviderTools?: boolean;\n\twalletOptions: WalletOptions[];\n\twalletOptionsNew?: WalletOptionsNew;\n\tcollections: Collection[];\n\n\tlandingPageLayout: LandingPageLayout;\n\t// Appended in the sdk\n\tcssString: string;\n\t// Appended in the sdk\n\n\tmanifestUrl: string;\n}\n"],"mappings":"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","names":["SortOrder","PropertyType","MarketplaceKind","OrderbookKind","SourceKind","OrderSide","OrderStatus","ContractType","CollectionStatus","ProjectStatus","CollectibleStatus","WalletKind","StepType","TransactionCrypto","ExecuteType","WalletOptions"]}
|