UNPKG

@magiceden/magiceden-sdk

Version:

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

51 lines (50 loc) 1.65 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.PublishLaunchpadParams = exports.SolanaPublishLaunchpadParamsSchema = exports.EvmPublishLaunchpadParamsSchema = exports.BasePublishLaunchpadParamsSchema = void 0; const zod_1 = require("zod"); const chains_1 = require("../../chains"); const solana_1 = require("../../solana"); const primitives_1 = require("../../solana/primitives"); /** * Parameters for publishing a launchpad */ exports.BasePublishLaunchpadParamsSchema = zod_1.z.object({ /** * The chain to publish the launchpad on */ chain: zod_1.z.nativeEnum(chains_1.Blockchain), }); /** * Evm-specific parameters for publishing a launchpad */ exports.EvmPublishLaunchpadParamsSchema = exports.BasePublishLaunchpadParamsSchema.extend({ /** * The EVM chain to publish the launchpad on */ chain: chains_1.ZodEvmBlockchain, }); /** * Solana-specific parameters for publishing a launchpad */ exports.SolanaPublishLaunchpadParamsSchema = exports.BasePublishLaunchpadParamsSchema.extend({ /** * The chain to publish the launchpad on * * Only used for Solana, so this should always be `Blockchain.SOLANA`. * * @default Blockchain.SOLANA */ chain: zod_1.z.literal(chains_1.Blockchain.SOLANA), /** * The candy machine ID */ candyMachineId: primitives_1.zSolanaAddress, /** * The symbol of the launchpad/collection */ symbol: solana_1.SolanaSymbol, }); exports.PublishLaunchpadParams = zod_1.z.union([ exports.EvmPublishLaunchpadParamsSchema, exports.SolanaPublishLaunchpadParamsSchema, ]);