@magiceden/magiceden-sdk
Version:
A TypeScript SDK for interacting with Magic Eden's API across multiple chains.
1,496 lines • 66.4 kB
TypeScript
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