@magiceden/magiceden-sdk
Version:
A TypeScript SDK for interacting with Magic Eden's API across multiple chains.
51 lines (50 loc) • 1.65 kB
JavaScript
;
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,
]);