UNPKG

@magiceden/magiceden-sdk

Version:

A TypeScript SDK for interacting with Magic Eden's API across multiple chains.

1,496 lines 66.4 kB
import { z } from 'zod'; import { Blockchain } from '../../chains'; import { EvmProtocolType, SolProtocolType } from '../../protocol'; /** * Parameters for creating a launchpad */ export declare const BaseCreateLaunchpadParamsSchema: z.ZodObject<{ /** * The blockchain to deploy on. */ chain: z.ZodNativeEnum<typeof Blockchain>; /** * The protocol to use for the token. */ protocol: z.ZodUnion<[z.ZodNativeEnum<typeof EvmProtocolType>, z.ZodNativeEnum<typeof SolProtocolType>]>; /** * The creator wallet address. */ creator: z.ZodString; /** * The collection name. */ name: z.ZodString; /** * The collection symbol. */ symbol: z.ZodString; /** * URL pointing to the collection image. * For all collections, this image represents the entire collection. * For open editions, this is also used as the default image for individual NFTs if tokenImageUrl is not provided. */ imageUrl: z.ZodOptional<z.ZodString>; /** * The collection description. */ description: z.ZodOptional<z.ZodString>; /** * The royalty basis points. */ royaltyBps: z.ZodNumber; /** * The royalty recipients and their shares. */ royaltyRecipients: z.ZodEffects<z.ZodArray<z.ZodObject<{ address: z.ZodString; share: z.ZodNumber; }, "strip", z.ZodTypeAny, { address: string; share: number; }, { address: string; share: number; }>, "many">, { address: string; share: number; }[], { address: string; share: number; }[]>; /** * The payout recipient address of mint proceeds. */ payoutRecipient: z.ZodString; /** * For non-open editions: Required URL pointing to a directory containing metadata JSON files for each NFT (0.json, 1.json, etc.). * Each JSON file should include its own image URL for that specific NFT. * * For open editions: Optional URL for additional metadata. */ nftMetadataUrl: z.ZodOptional<z.ZodString>; /** * For open editions only: URL pointing to the image used for all NFTs in the open edition. * If not provided for open editions, imageUrl will be used instead. * Not used for non-open editions, as individual NFT images are defined in the metadata files at nftMetadataUrl. * * This will be ignored for non-open editions. */ tokenImageUrl: z.ZodOptional<z.ZodString>; /** * The mint stages. */ mintStages: z.ZodObject<{ stages: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{ kind: z.ZodLiteral<import("./shared").MintStageKind.Public>; price: z.ZodObject<{ currency: z.ZodObject<{ chain: z.ZodNativeEnum<typeof Blockchain>; assetId: z.ZodString; }, "strip", z.ZodTypeAny, { chain: Blockchain; assetId: string; }, { chain: Blockchain; assetId: string; }>; raw: z.ZodString; }, "strip", z.ZodTypeAny, { currency: { chain: Blockchain; assetId: string; }; raw: string; }, { currency: { chain: Blockchain; assetId: string; }; raw: string; }>; startTime: z.ZodString; endTime: z.ZodString; walletLimit: z.ZodOptional<z.ZodNumber>; maxSupply: z.ZodNullable<z.ZodOptional<z.ZodNumber>>; }, "strip", z.ZodTypeAny, { kind: import("./shared").MintStageKind.Public; price: { currency: { chain: Blockchain; assetId: string; }; raw: string; }; startTime: string; endTime: string; walletLimit?: number | undefined; maxSupply?: number | null | undefined; }, { kind: import("./shared").MintStageKind.Public; price: { currency: { chain: Blockchain; assetId: string; }; raw: string; }; startTime: string; endTime: string; walletLimit?: number | undefined; maxSupply?: number | null | undefined; }>, z.ZodObject<{ kind: z.ZodLiteral<import("./shared").MintStageKind.Allowlist>; allowlist: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; price: z.ZodObject<{ currency: z.ZodObject<{ chain: z.ZodNativeEnum<typeof Blockchain>; assetId: z.ZodString; }, "strip", z.ZodTypeAny, { chain: Blockchain; assetId: string; }, { chain: Blockchain; assetId: string; }>; raw: z.ZodString; }, "strip", z.ZodTypeAny, { currency: { chain: Blockchain; assetId: string; }; raw: string; }, { currency: { chain: Blockchain; assetId: string; }; raw: string; }>; startTime: z.ZodString; endTime: z.ZodString; walletLimit: z.ZodOptional<z.ZodNumber>; maxSupply: z.ZodNullable<z.ZodOptional<z.ZodNumber>>; }, "strip", z.ZodTypeAny, { kind: import("./shared").MintStageKind.Allowlist; price: { currency: { chain: Blockchain; assetId: string; }; raw: string; }; startTime: string; endTime: string; allowlist?: string[] | undefined; walletLimit?: number | undefined; maxSupply?: number | null | undefined; }, { kind: import("./shared").MintStageKind.Allowlist; price: { currency: { chain: Blockchain; assetId: string; }; raw: string; }; startTime: string; endTime: string; allowlist?: string[] | undefined; walletLimit?: number | undefined; maxSupply?: number | null | undefined; }>]>, "many">>; tokenId: z.ZodOptional<z.ZodNumber>; walletLimit: z.ZodOptional<z.ZodNumber>; maxSupply: z.ZodNullable<z.ZodOptional<z.ZodNumber>>; }, "strip", z.ZodTypeAny, { walletLimit?: number | undefined; maxSupply?: number | null | undefined; stages?: ({ kind: import("./shared").MintStageKind.Public; price: { currency: { chain: Blockchain; assetId: string; }; raw: string; }; startTime: string; endTime: string; walletLimit?: number | undefined; maxSupply?: number | null | undefined; } | { kind: import("./shared").MintStageKind.Allowlist; price: { currency: { chain: Blockchain; assetId: string; }; raw: string; }; startTime: string; endTime: string; allowlist?: string[] | undefined; walletLimit?: number | undefined; maxSupply?: number | null | undefined; })[] | undefined; tokenId?: number | undefined; }, { walletLimit?: number | undefined; maxSupply?: number | null | undefined; stages?: ({ kind: import("./shared").MintStageKind.Public; price: { currency: { chain: Blockchain; assetId: string; }; raw: string; }; startTime: string; endTime: string; walletLimit?: number | undefined; maxSupply?: number | null | undefined; } | { kind: import("./shared").MintStageKind.Allowlist; price: { currency: { chain: Blockchain; assetId: string; }; raw: string; }; startTime: string; endTime: string; allowlist?: string[] | undefined; walletLimit?: number | undefined; maxSupply?: number | null | undefined; })[] | undefined; tokenId?: number | undefined; }>; }, "strip", z.ZodTypeAny, { symbol: string; chain: Blockchain; name: string; protocol: EvmProtocolType | SolProtocolType; creator: string; royaltyBps: number; royaltyRecipients: { address: string; share: number; }[]; payoutRecipient: string; mintStages: { walletLimit?: number | undefined; maxSupply?: number | null | undefined; stages?: ({ kind: import("./shared").MintStageKind.Public; price: { currency: { chain: Blockchain; assetId: string; }; raw: string; }; startTime: string; endTime: string; walletLimit?: number | undefined; maxSupply?: number | null | undefined; } | { kind: import("./shared").MintStageKind.Allowlist; price: { currency: { chain: Blockchain; assetId: string; }; raw: string; }; startTime: string; endTime: string; allowlist?: string[] | undefined; walletLimit?: number | undefined; maxSupply?: number | null | undefined; })[] | undefined; tokenId?: number | undefined; }; description?: string | undefined; imageUrl?: string | undefined; nftMetadataUrl?: string | undefined; tokenImageUrl?: string | undefined; }, { symbol: string; chain: Blockchain; name: string; protocol: EvmProtocolType | SolProtocolType; creator: string; royaltyBps: number; royaltyRecipients: { address: string; share: number; }[]; payoutRecipient: string; mintStages: { walletLimit?: number | undefined; maxSupply?: number | null | undefined; stages?: ({ kind: import("./shared").MintStageKind.Public; price: { currency: { chain: Blockchain; assetId: string; }; raw: string; }; startTime: string; endTime: string; walletLimit?: number | undefined; maxSupply?: number | null | undefined; } | { kind: import("./shared").MintStageKind.Allowlist; price: { currency: { chain: Blockchain; assetId: string; }; raw: string; }; startTime: string; endTime: string; allowlist?: string[] | undefined; walletLimit?: number | undefined; maxSupply?: number | null | undefined; })[] | undefined; tokenId?: number | undefined; }; description?: string | undefined; imageUrl?: string | undefined; nftMetadataUrl?: string | undefined; tokenImageUrl?: string | undefined; }>; export declare const EvmCreateLaunchpadParamsSchema: z.ZodObject<z.objectUtil.extendShape<{ /** * The blockchain to deploy on. */ chain: z.ZodNativeEnum<typeof Blockchain>; /** * The protocol to use for the token. */ protocol: z.ZodUnion<[z.ZodNativeEnum<typeof EvmProtocolType>, z.ZodNativeEnum<typeof SolProtocolType>]>; /** * The creator wallet address. */ creator: z.ZodString; /** * The collection name. */ name: z.ZodString; /** * The collection symbol. */ symbol: z.ZodString; /** * URL pointing to the collection image. * For all collections, this image represents the entire collection. * For open editions, this is also used as the default image for individual NFTs if tokenImageUrl is not provided. */ imageUrl: z.ZodOptional<z.ZodString>; /** * The collection description. */ description: z.ZodOptional<z.ZodString>; /** * The royalty basis points. */ royaltyBps: z.ZodNumber; /** * The royalty recipients and their shares. */ royaltyRecipients: z.ZodEffects<z.ZodArray<z.ZodObject<{ address: z.ZodString; share: z.ZodNumber; }, "strip", z.ZodTypeAny, { address: string; share: number; }, { address: string; share: number; }>, "many">, { address: string; share: number; }[], { address: string; share: number; }[]>; /** * The payout recipient address of mint proceeds. */ payoutRecipient: z.ZodString; /** * For non-open editions: Required URL pointing to a directory containing metadata JSON files for each NFT (0.json, 1.json, etc.). * Each JSON file should include its own image URL for that specific NFT. * * For open editions: Optional URL for additional metadata. */ nftMetadataUrl: z.ZodOptional<z.ZodString>; /** * For open editions only: URL pointing to the image used for all NFTs in the open edition. * If not provided for open editions, imageUrl will be used instead. * Not used for non-open editions, as individual NFT images are defined in the metadata files at nftMetadataUrl. * * This will be ignored for non-open editions. */ tokenImageUrl: z.ZodOptional<z.ZodString>; /** * The mint stages. */ mintStages: z.ZodObject<{ stages: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{ kind: z.ZodLiteral<import("./shared").MintStageKind.Public>; price: z.ZodObject<{ currency: z.ZodObject<{ chain: z.ZodNativeEnum<typeof Blockchain>; assetId: z.ZodString; }, "strip", z.ZodTypeAny, { chain: Blockchain; assetId: string; }, { chain: Blockchain; assetId: string; }>; raw: z.ZodString; }, "strip", z.ZodTypeAny, { currency: { chain: Blockchain; assetId: string; }; raw: string; }, { currency: { chain: Blockchain; assetId: string; }; raw: string; }>; startTime: z.ZodString; endTime: z.ZodString; walletLimit: z.ZodOptional<z.ZodNumber>; maxSupply: z.ZodNullable<z.ZodOptional<z.ZodNumber>>; }, "strip", z.ZodTypeAny, { kind: import("./shared").MintStageKind.Public; price: { currency: { chain: Blockchain; assetId: string; }; raw: string; }; startTime: string; endTime: string; walletLimit?: number | undefined; maxSupply?: number | null | undefined; }, { kind: import("./shared").MintStageKind.Public; price: { currency: { chain: Blockchain; assetId: string; }; raw: string; }; startTime: string; endTime: string; walletLimit?: number | undefined; maxSupply?: number | null | undefined; }>, z.ZodObject<{ kind: z.ZodLiteral<import("./shared").MintStageKind.Allowlist>; allowlist: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; price: z.ZodObject<{ currency: z.ZodObject<{ chain: z.ZodNativeEnum<typeof Blockchain>; assetId: z.ZodString; }, "strip", z.ZodTypeAny, { chain: Blockchain; assetId: string; }, { chain: Blockchain; assetId: string; }>; raw: z.ZodString; }, "strip", z.ZodTypeAny, { currency: { chain: Blockchain; assetId: string; }; raw: string; }, { currency: { chain: Blockchain; assetId: string; }; raw: string; }>; startTime: z.ZodString; endTime: z.ZodString; walletLimit: z.ZodOptional<z.ZodNumber>; maxSupply: z.ZodNullable<z.ZodOptional<z.ZodNumber>>; }, "strip", z.ZodTypeAny, { kind: import("./shared").MintStageKind.Allowlist; price: { currency: { chain: Blockchain; assetId: string; }; raw: string; }; startTime: string; endTime: string; allowlist?: string[] | undefined; walletLimit?: number | undefined; maxSupply?: number | null | undefined; }, { kind: import("./shared").MintStageKind.Allowlist; price: { currency: { chain: Blockchain; assetId: string; }; raw: string; }; startTime: string; endTime: string; allowlist?: string[] | undefined; walletLimit?: number | undefined; maxSupply?: number | null | undefined; }>]>, "many">>; tokenId: z.ZodOptional<z.ZodNumber>; walletLimit: z.ZodOptional<z.ZodNumber>; maxSupply: z.ZodNullable<z.ZodOptional<z.ZodNumber>>; }, "strip", z.ZodTypeAny, { walletLimit?: number | undefined; maxSupply?: number | null | undefined; stages?: ({ kind: import("./shared").MintStageKind.Public; price: { currency: { chain: Blockchain; assetId: string; }; raw: string; }; startTime: string; endTime: string; walletLimit?: number | undefined; maxSupply?: number | null | undefined; } | { kind: import("./shared").MintStageKind.Allowlist; price: { currency: { chain: Blockchain; assetId: string; }; raw: string; }; startTime: string; endTime: string; allowlist?: string[] | undefined; walletLimit?: number | undefined; maxSupply?: number | null | undefined; })[] | undefined; tokenId?: number | undefined; }, { walletLimit?: number | undefined; maxSupply?: number | null | undefined; stages?: ({ kind: import("./shared").MintStageKind.Public; price: { currency: { chain: Blockchain; assetId: string; }; raw: string; }; startTime: string; endTime: string; walletLimit?: number | undefined; maxSupply?: number | null | undefined; } | { kind: import("./shared").MintStageKind.Allowlist; price: { currency: { chain: Blockchain; assetId: string; }; raw: string; }; startTime: string; endTime: string; allowlist?: string[] | undefined; walletLimit?: number | undefined; maxSupply?: number | null | undefined; })[] | undefined; tokenId?: number | undefined; }>; }, { /** * The blockchain to deploy on. */ chain: z.ZodEnum<[Blockchain.ETHEREUM, Blockchain.BASE, Blockchain.POLYGON, Blockchain.SEI, Blockchain.ARBITRUM, Blockchain.APECHAIN, Blockchain.BERACHAIN, Blockchain.MONAD_TESTNET, Blockchain.BSC, Blockchain.ABSTRACT]>; /** * The protocol to use for the token. */ protocol: z.ZodEnum<[EvmProtocolType.ERC721, EvmProtocolType.ERC1155]>; }>, "strip", z.ZodTypeAny, { symbol: string; chain: Blockchain.ETHEREUM | Blockchain.POLYGON | Blockchain.BASE | Blockchain.SEI | Blockchain.ARBITRUM | Blockchain.APECHAIN | Blockchain.BERACHAIN | Blockchain.MONAD_TESTNET | Blockchain.BSC | Blockchain.ABSTRACT; name: string; protocol: EvmProtocolType.ERC721 | EvmProtocolType.ERC1155; creator: string; royaltyBps: number; royaltyRecipients: { address: string; share: number; }[]; payoutRecipient: string; mintStages: { walletLimit?: number | undefined; maxSupply?: number | null | undefined; stages?: ({ kind: import("./shared").MintStageKind.Public; price: { currency: { chain: Blockchain; assetId: string; }; raw: string; }; startTime: string; endTime: string; walletLimit?: number | undefined; maxSupply?: number | null | undefined; } | { kind: import("./shared").MintStageKind.Allowlist; price: { currency: { chain: Blockchain; assetId: string; }; raw: string; }; startTime: string; endTime: string; allowlist?: string[] | undefined; walletLimit?: number | undefined; maxSupply?: number | null | undefined; })[] | undefined; tokenId?: number | undefined; }; description?: string | undefined; imageUrl?: string | undefined; nftMetadataUrl?: string | undefined; tokenImageUrl?: string | undefined; }, { symbol: string; chain: Blockchain.ETHEREUM | Blockchain.POLYGON | Blockchain.BASE | Blockchain.SEI | Blockchain.ARBITRUM | Blockchain.APECHAIN | Blockchain.BERACHAIN | Blockchain.MONAD_TESTNET | Blockchain.BSC | Blockchain.ABSTRACT; name: string; protocol: EvmProtocolType.ERC721 | EvmProtocolType.ERC1155; creator: string; royaltyBps: number; royaltyRecipients: { address: string; share: number; }[]; payoutRecipient: string; mintStages: { walletLimit?: number | undefined; maxSupply?: number | null | undefined; stages?: ({ kind: import("./shared").MintStageKind.Public; price: { currency: { chain: Blockchain; assetId: string; }; raw: string; }; startTime: string; endTime: string; walletLimit?: number | undefined; maxSupply?: number | null | undefined; } | { kind: import("./shared").MintStageKind.Allowlist; price: { currency: { chain: Blockchain; assetId: string; }; raw: string; }; startTime: string; endTime: string; allowlist?: string[] | undefined; walletLimit?: number | undefined; maxSupply?: number | null | undefined; })[] | undefined; tokenId?: number | undefined; }; description?: string | undefined; imageUrl?: string | undefined; nftMetadataUrl?: string | undefined; tokenImageUrl?: string | undefined; }>; export declare const SolanaCreateLaunchpadParamsSchema: z.ZodObject<z.objectUtil.extendShape<{ /** * The blockchain to deploy on. */ chain: z.ZodNativeEnum<typeof Blockchain>; /** * The protocol to use for the token. */ protocol: z.ZodUnion<[z.ZodNativeEnum<typeof EvmProtocolType>, z.ZodNativeEnum<typeof SolProtocolType>]>; /** * The creator wallet address. */ creator: z.ZodString; /** * The collection name. */ name: z.ZodString; /** * The collection symbol. */ symbol: z.ZodString; /** * URL pointing to the collection image. * For all collections, this image represents the entire collection. * For open editions, this is also used as the default image for individual NFTs if tokenImageUrl is not provided. */ imageUrl: z.ZodOptional<z.ZodString>; /** * The collection description. */ description: z.ZodOptional<z.ZodString>; /** * The royalty basis points. */ royaltyBps: z.ZodNumber; /** * The royalty recipients and their shares. */ royaltyRecipients: z.ZodEffects<z.ZodArray<z.ZodObject<{ address: z.ZodString; share: z.ZodNumber; }, "strip", z.ZodTypeAny, { address: string; share: number; }, { address: string; share: number; }>, "many">, { address: string; share: number; }[], { address: string; share: number; }[]>; /** * The payout recipient address of mint proceeds. */ payoutRecipient: z.ZodString; /** * For non-open editions: Required URL pointing to a directory containing metadata JSON files for each NFT (0.json, 1.json, etc.). * Each JSON file should include its own image URL for that specific NFT. * * For open editions: Optional URL for additional metadata. */ nftMetadataUrl: z.ZodOptional<z.ZodString>; /** * For open editions only: URL pointing to the image used for all NFTs in the open edition. * If not provided for open editions, imageUrl will be used instead. * Not used for non-open editions, as individual NFT images are defined in the metadata files at nftMetadataUrl. * * This will be ignored for non-open editions. */ tokenImageUrl: z.ZodOptional<z.ZodString>; /** * The mint stages. */ mintStages: z.ZodObject<{ stages: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{ kind: z.ZodLiteral<import("./shared").MintStageKind.Public>; price: z.ZodObject<{ currency: z.ZodObject<{ chain: z.ZodNativeEnum<typeof Blockchain>; assetId: z.ZodString; }, "strip", z.ZodTypeAny, { chain: Blockchain; assetId: string; }, { chain: Blockchain; assetId: string; }>; raw: z.ZodString; }, "strip", z.ZodTypeAny, { currency: { chain: Blockchain; assetId: string; }; raw: string; }, { currency: { chain: Blockchain; assetId: string; }; raw: string; }>; startTime: z.ZodString; endTime: z.ZodString; walletLimit: z.ZodOptional<z.ZodNumber>; maxSupply: z.ZodNullable<z.ZodOptional<z.ZodNumber>>; }, "strip", z.ZodTypeAny, { kind: import("./shared").MintStageKind.Public; price: { currency: { chain: Blockchain; assetId: string; }; raw: string; }; startTime: string; endTime: string; walletLimit?: number | undefined; maxSupply?: number | null | undefined; }, { kind: import("./shared").MintStageKind.Public; price: { currency: { chain: Blockchain; assetId: string; }; raw: string; }; startTime: string; endTime: string; walletLimit?: number | undefined; maxSupply?: number | null | undefined; }>, z.ZodObject<{ kind: z.ZodLiteral<import("./shared").MintStageKind.Allowlist>; allowlist: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; price: z.ZodObject<{ currency: z.ZodObject<{ chain: z.ZodNativeEnum<typeof Blockchain>; assetId: z.ZodString; }, "strip", z.ZodTypeAny, { chain: Blockchain; assetId: string; }, { chain: Blockchain; assetId: string; }>; raw: z.ZodString; }, "strip", z.ZodTypeAny, { currency: { chain: Blockchain; assetId: string; }; raw: string; }, { currency: { chain: Blockchain; assetId: string; }; raw: string; }>; startTime: z.ZodString; endTime: z.ZodString; walletLimit: z.ZodOptional<z.ZodNumber>; maxSupply: z.ZodNullable<z.ZodOptional<z.ZodNumber>>; }, "strip", z.ZodTypeAny, { kind: import("./shared").MintStageKind.Allowlist; price: { currency: { chain: Blockchain; assetId: string; }; raw: string; }; startTime: string; endTime: string; allowlist?: string[] | undefined; walletLimit?: number | undefined; maxSupply?: number | null | undefined; }, { kind: import("./shared").MintStageKind.Allowlist; price: { currency: { chain: Blockchain; assetId: string; }; raw: string; }; startTime: string; endTime: string; allowlist?: string[] | undefined; walletLimit?: number | undefined; maxSupply?: number | null | undefined; }>]>, "many">>; tokenId: z.ZodOptional<z.ZodNumber>; walletLimit: z.ZodOptional<z.ZodNumber>; maxSupply: z.ZodNullable<z.ZodOptional<z.ZodNumber>>; }, "strip", z.ZodTypeAny, { walletLimit?: number | undefined; maxSupply?: number | null | undefined; stages?: ({ kind: import("./shared").MintStageKind.Public; price: { currency: { chain: Blockchain; assetId: string; }; raw: string; }; startTime: string; endTime: string; walletLimit?: number | undefined; maxSupply?: number | null | undefined; } | { kind: import("./shared").MintStageKind.Allowlist; price: { currency: { chain: Blockchain; assetId: string; }; raw: string; }; startTime: string; endTime: string; allowlist?: string[] | undefined; walletLimit?: number | undefined; maxSupply?: number | null | undefined; })[] | undefined; tokenId?: number | undefined; }, { walletLimit?: number | undefined; maxSupply?: number | null | undefined; stages?: ({ kind: import("./shared").MintStageKind.Public; price: { currency: { chain: Blockchain; assetId: string; }; raw: string; }; startTime: string; endTime: string; walletLimit?: number | undefined; maxSupply?: number | null | undefined; } | { kind: import("./shared").MintStageKind.Allowlist; price: { currency: { chain: Blockchain; assetId: string; }; raw: string; }; startTime: string; endTime: string; allowlist?: string[] | undefined; walletLimit?: number | undefined; maxSupply?: number | null | undefined; })[] | undefined; tokenId?: number | undefined; }>; }, { /** * The blockchain to deploy on. */ chain: z.ZodLiteral<Blockchain.SOLANA>; /** * The protocol to use for the token. */ protocol: z.ZodLiteral<SolProtocolType.METAPLEX_CORE>; /** * The payout recipient address of mint proceeds. */ payoutRecipient: z.ZodString; /** * The creator wallet address. */ creator: z.ZodString; /** * The social media links. * * Currently only works on Solana. EVM is not yet supported. */ social: z.ZodOptional<z.ZodObject<{ discordUrl: z.ZodOptional<z.ZodString>; externalUrl: z.ZodOptional<z.ZodString>; telegramUrl: z.ZodOptional<z.ZodString>; twitterUsername: z.ZodOptional<z.ZodString>; }, "strip", z.ZodTypeAny, { discordUrl?: string | undefined; externalUrl?: string | undefined; telegramUrl?: string | undefined; twitterUsername?: string | undefined; }, { discordUrl?: string | undefined; externalUrl?: string | undefined; telegramUrl?: string | undefined; twitterUsername?: string | undefined; }>>; /** * The collection name. */ name: z.ZodString; /** * The collection symbol. */ symbol: z.ZodEffects<z.ZodString, string, string>; /** * The royalty recipients and their shares. */ royaltyRecipients: z.ZodEffects<z.ZodArray<z.ZodObject<{ address: z.ZodString; share: z.ZodNumber; }, "strip", z.ZodTypeAny, { address: string; share: number; }, { address: string; share: number; }>, "many">, { address: string; share: number; }[], { address: string; share: number; }[]>; /** * Whether the collection is an open edition. */ isOpenEdition: z.ZodBoolean; }>, "strip", z.ZodTypeAny, { symbol: string; chain: Blockchain.SOLANA; name: string; protocol: SolProtocolType.METAPLEX_CORE; creator: string; royaltyBps: number; royaltyRecipients: { address: string; share: number; }[]; payoutRecipient: string; mintStages: { walletLimit?: number | undefined; maxSupply?: number | null | undefined; stages?: ({ kind: import("./shared").MintStageKind.Public; price: { currency: { chain: Blockchain; assetId: string; }; raw: string; }; startTime: string; endTime: string; walletLimit?: number | undefined; maxSupply?: number | null | undefined; } | { kind: import("./shared").MintStageKind.Allowlist; price: { currency: { chain: Blockchain; assetId: string; }; raw: string; }; startTime: string; endTime: string; allowlist?: string[] | undefined; walletLimit?: number | undefined; maxSupply?: number | null | undefined; })[] | undefined; tokenId?: number | undefined; }; isOpenEdition: boolean; description?: string | undefined; imageUrl?: string | undefined; nftMetadataUrl?: string | undefined; tokenImageUrl?: string | undefined; social?: { discordUrl?: string | undefined; externalUrl?: string | undefined; telegramUrl?: string | undefined; twitterUsername?: string | undefined; } | undefined; }, { symbol: string; chain: Blockchain.SOLANA; name: string; protocol: SolProtocolType.METAPLEX_CORE; creator: string; royaltyBps: number; royaltyRecipients: { address: string; share: number; }[]; payoutRecipient: string; mintStages: { walletLimit?: number | undefined; maxSupply?: number | null | undefined; stages?: ({ kind: import("./shared").MintStageKind.Public; price: { currency: { chain: Blockchain; assetId: string; }; raw: string; }; startTime: string; endTime: string; walletLimit?: number | undefined; maxSupply?: number | null | undefined; } | { kind: import("./shared").MintStageKind.Allowlist; price: { currency: { chain: Blockchain; assetId: string; }; raw: string; }; startTime: string; endTime: string; allowlist?: string[] | undefined; walletLimit?: number | undefined; maxSupply?: number | null | undefined; })[] | undefined; tokenId?: number | undefined; }; isOpenEdition: boolean; description?: string | undefined; imageUrl?: string | undefined; nftMetadataUrl?: string | undefined; tokenImageUrl?: string | undefined; social?: { discordUrl?: string | undefined; externalUrl?: string | undefined; telegramUrl?: string | undefined; twitterUsername?: string | undefined; } | undefined; }>; export type EvmCreateLaunchpadParams = z.infer<typeof EvmCreateLaunchpadParamsSchema>; export type SolanaCreateLaunchpadParams = z.infer<typeof SolanaCreateLaunchpadParamsSchema>; export declare const CreateLaunchpadParams: z.ZodUnion<[z.ZodObject<z.objectUtil.extendShape<{ /** * The blockchain to deploy on. */ chain: z.ZodNativeEnum<typeof Blockchain>; /** * The protocol to use for the token. */ protocol: z.ZodUnion<[z.ZodNativeEnum<typeof EvmProtocolType>, z.ZodNativeEnum<typeof SolProtocolType>]>; /** * The creator wallet address. */ creator: z.ZodString; /** * The collection name. */ name: z.ZodString; /** * The collection symbol. */ symbol: z.ZodString; /** * URL pointing to the collection image. * For all collections, this image represents the entire collection. * For open editions, this is also used as the default image for individual NFTs if tokenImageUrl is not provided. */ imageUrl: z.ZodOptional<z.ZodString>; /** * The collection description. */ description: z.ZodOptional<z.ZodString>; /** * The royalty basis points. */ royaltyBps: z.ZodNumber; /** * The royalty recipients and their shares. */ royaltyRecipients: z.ZodEffects<z.ZodArray<z.ZodObject<{ address: z.ZodString; share: z.ZodNumber; }, "strip", z.ZodTypeAny, { address: string; share: number; }, { address: string; share: number; }>, "many">, { address: string; share: number; }[], { address: string; share: number; }[]>; /** * The payout recipient address of mint proceeds. */ payoutRecipient: z.ZodString; /** * For non-open editions: Required URL pointing to a directory containing metadata JSON files for each NFT (0.json, 1.json, etc.). * Each JSON file should include its own image URL for that specific NFT. * * For open editions: Optional URL for additional metadata. */ nftMetadataUrl: z.ZodOptional<z.ZodString>; /** * For open editions only: URL pointing to the image used for all NFTs in the open edition. * If not provided for open editions, imageUrl will be used instead. * Not used for non-open editions, as individual NFT images are defined in the metadata files at nftMetadataUrl. * * This will be ignored for non-open editions. */ tokenImageUrl: z.ZodOptional<z.ZodString>; /** * The mint stages. */ mintStages: z.ZodObject<{ stages: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{ kind: z.ZodLiteral<import("./shared").MintStageKind.Public>; price: z.ZodObject<{ currency: z.ZodObject<{ chain: z.ZodNativeEnum<typeof Blockchain>; assetId: z.ZodString; }, "strip", z.ZodTypeAny, { chain: Blockchain; assetId: string; }, { chain: Blockchain; assetId: string; }>; raw: z.ZodString; }, "strip", z.ZodTypeAny, { currency: { chain: Blockchain; assetId: string; }; raw: string; }, { currency: { chain: Blockchain; assetId: string; }; raw: string; }>; startTime: z.ZodString; endTime: z.ZodString; walletLimit: z.ZodOptional<z.ZodNumber>; maxSupply: z.ZodNullable<z.ZodOptional<z.ZodNumber>>; }, "strip", z.ZodTypeAny, { kind: import("./shared").MintStageKind.Public; price: { currency: { chain: Blockchain; assetId: string; }; raw: string; }; startTime: string; endTime: string; walletLimit?: number | undefined; maxSupply?: number | null | undefined; }, { kind: import("./shared").MintStageKind.Public; price: { currency: { chain: Blockchain; assetId: string; }; raw: string; }; startTime: string; endTime: string; walletLimit?: number | undefined; maxSupply?: number | null | undefined; }>, z.ZodObject<{ kind: z.ZodLiteral<import("./shared").MintStageKind.Allowlist>; allowlist: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; price: z.ZodObject<{ currency: z.ZodObject<{ chain: z.ZodNativeEnum<typeof Blockchain>; assetId: z.ZodString; }, "strip", z.ZodTypeAny, { chain: Blockchain; assetId: string; }, { chain: Blockchain; assetId: string; }>; raw: z.ZodString; }, "strip", z.ZodTypeAny, { currency: { chain: Blockchain; assetId: string; }; raw: string; }, { currency: { chain: Blockchain; assetId: string; }; raw: string; }>; startTime: z.ZodString; endTime: z.ZodString; walletLimit: z.ZodOptional<z.ZodNumber>; maxSupply: z.ZodNullable<z.ZodOptional<z.ZodNumber>>; }, "strip", z.ZodTypeAny, { kind: import("./shared").MintStageKind.Allowlist; price: { currency: { chain: Blockchain; assetId: string; }; raw: string; }; startTime: string; endTime: string; allowlist?: string[] | undefined; walletLimit?: number | undefined; maxSupply?: number | null | undefined; }, { kind: import("./shared").MintStageKind.Allowlist; price: { currency: { chain: Blockchain; assetId: string; }; raw: string; }; startTime: string; endTime: string; allowlist?: string[] | undefined; walletLimit?: number | undefined; maxSupply?: number | null | undefined; }>]>, "many">>; tokenId: z.ZodOptional<z.ZodNumber>; walletLimit: z.ZodOptional<z.ZodNumber>; maxSupply: z.ZodNullable<z.ZodOptional<z.ZodNumber>>; }, "strip", z.ZodTypeAny, { walletLimit?: number | undefined; maxSupply?: number | null | undefined; stages?: ({ kind: import("./shared").MintStageKind.Public; price: { currency: { chain: Blockchain; assetId: string; }; raw: string; }; startTime: string; endTime: string; walletLimit?: number | undefined; maxSupply?: number | null | undefined; } | { kind: import("./shared").MintStageKind.Allowlist; price: { currency: { chain: Blockchain; assetId: string; }; raw: string; }; startTime: string; endTime: string; allowlist?: string[] | undefined; walletLimit?: number | undefined; maxSupply?: number | null | undefined; })[] | undefined; tokenId?: number | undefined; }, { walletLimit?: number | undefined; maxSupply?: number | null | undefined; stages?: ({ kind: import("./shared").MintStageKind.Public; price: { currency: { chain: Blockchain; assetId: string; }; raw: string; }; startTime: string; endTime: string; walletLimit?: number | undefined; maxSupply?: number | null | undefined; } | { kind: import("./shared").MintStageKind.Allowlist; price: { currency: { chain: Blockchain; assetId: string; }; raw: string; }; startTime: string; endTime: string; allowlist?: string[] | undefined; walletLimit?: number | undefined; maxSupply?: number | null | undefined; })[] | undefined; tokenId?: number | undefined; }>; }, { /** * The blockchain to deploy on. */ chain: z.ZodEnum<[Blockchain.ETHEREUM, Blockchain.BASE, Blockchain.POLYGON, Blockchain.SEI, Blockchain.ARBITRUM, Blockchain.APECHAIN, Blockchain.BERACHAIN, Blockchain.MONAD_TESTNET, Blockchain.BSC, Blockchain.ABSTRACT]>; /** * The protocol to use for the token. */ protocol: z.ZodEnum<[EvmProtocolType.ERC721, EvmProtocolType.ERC1155]>; }>, "strip", z.ZodTypeAny, { symbol: string; chain: Blockchain.ETHEREUM | Blockchain.POLYGON | Blockchain.BASE | Blockchain.SEI | Blockchain.ARBITRUM | Blockchain.APECHAIN | Blockchain.BERACHAIN | Blockchain.MONAD_TESTNET | Blockchain.BSC | Blockchain.ABSTRACT; name: string; protocol: EvmProtocolType.ERC721 | EvmProtocolType.ERC1155; creator: string; royaltyBps: number; royaltyRecipients: { address: string; share: number; }[]; payoutRecipient: string; mintStages: { walletLimit?: number | undefined; maxSupply?: number | null | undefined; stages?: ({ kind: import("./shared").MintStageKind.Public; price: { currency: { chain: Blockchain; assetId: string; }; raw: string; }; startTime: string; endTime: string; walletLimit?: number | undefined; maxSupply?: number | null | undefined; } | { kind: import("./shared").MintStageKind.Allowlist; price: { currency: { chain: Blockchain; assetId: string; }; raw: string; }; startTim