UNPKG

@magiceden/magiceden-sdk

Version:

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

61 lines (60 loc) 2.64 kB
import { SupportedChain } from '../../chains'; import { EvmCreateLaunchpadParams, SolanaCreateLaunchpadParams } from './createLaunchpad'; import { EvmUpdateLaunchpadParams, SolanaUpdateLaunchpadParams } from './updateLaunchpad'; import { EvmMintParams, SolanaMintParams } from './mint'; import { EvmListParams, SolanaListParams } from './list'; import { EvmCancelListingParams, SolanaCancelListingParams } from './cancelListing'; import { EvmMakeItemOfferParams, SolanaMakeItemOfferParams } from './makeItemOffer'; import { EvmTakeItemOfferParams, SolanaTakeItemOfferParams } from './takeItemOffer'; import { EvmCancelItemOfferParams, SolanaCancelItemOfferParams } from './cancelItemOffer'; import { EvmTransferParams, SolanaTransferParams } from './transfer'; import { EvmBuyParams, SolanaBuyParams } from './buy'; import { EvmPublishLaunchpadParams, SolanaPublishLaunchpadParams } from './publishLaunchpad'; export * from './createLaunchpad'; export * from './updateLaunchpad'; export * from './mint'; export * from './list'; export * from './cancelListing'; export * from './makeItemOffer'; export * from './takeItemOffer'; export * from './cancelItemOffer'; export * from './transfer'; export * from './buy'; export * from './shared'; export * from './publishLaunchpad'; /** * Chain-specific parameter types mapping * Maps each chain to its specific parameter types for each method */ export interface ChainParamTypes { solana: { publishLaunchpad: SolanaPublishLaunchpadParams; createLaunchpad: SolanaCreateLaunchpadParams; updateLaunchpad: SolanaUpdateLaunchpadParams; mint: SolanaMintParams; list: SolanaListParams; cancelListing: SolanaCancelListingParams; makeItemOffer: SolanaMakeItemOfferParams; cancelItemOffer: SolanaCancelItemOfferParams; takeItemOffer: SolanaTakeItemOfferParams; transfer: SolanaTransferParams; buy: SolanaBuyParams; }; evm: { publishLaunchpad: EvmPublishLaunchpadParams; createLaunchpad: EvmCreateLaunchpadParams; updateLaunchpad: EvmUpdateLaunchpadParams; mint: EvmMintParams; list: EvmListParams; cancelListing: EvmCancelListingParams; makeItemOffer: EvmMakeItemOfferParams; cancelItemOffer: EvmCancelItemOfferParams; takeItemOffer: EvmTakeItemOfferParams; transfer: EvmTransferParams; buy: EvmBuyParams; }; } /** * Helper type to get the parameter type for a specific method and chain */ export type ChainMethodParams<C extends SupportedChain, M extends keyof ChainParamTypes[C]> = ChainParamTypes[C][M];