UNPKG

@magiceden/magiceden-sdk

Version:

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

82 lines (81 loc) 3.43 kB
import { EvmBlockchain } from './types'; import { MagicEdenClient } from './client'; import { ClientConfig } from './types'; import { Keypair } from '@solana/web3.js'; import { SolanaWalletProvider } from './wallet/solana'; import { EvmWalletProvider } from './wallet/evm'; import { ViemWalletProviderOptions } from './wallet/evm/viemWalletProvider'; import { EvmNftService } from './services/nft/evm'; import { SolanaNftService } from './services/nft/solana'; /** * Magic Eden SDK V1 implementation */ declare class MagicEdenSDKV1 { /** * Creates a new Magic Eden API client for Solana * @param apiKey Your Magic Eden API key * @param walletProvider The wallet provider to use * @param clientConfig Additional client configuration * @returns A new Magic Eden API client for Solana */ static createSolanaClient<T extends SolanaWalletProvider>(apiKey: string, walletProvider: T, clientConfig?: Partial<Omit<ClientConfig<'solana'>, 'apiKey'>>): MagicEdenClient<SolanaNftService>; /** * Creates a new Magic Eden API client for Solana using a keypair * @param apiKey Your Magic Eden API key * @param keypair The Solana keypair to use for the client * @param options Optional configuration * @param options.rpcUrl Custom Solana RPC URL (defaults to public endpoint if not provided) * @param options.clientConfig Additional client configuration * @returns A new Magic Eden API client for Solana */ static createSolanaKeypairClient(apiKey: string, keypair: Keypair, options?: { /** * Custom Solana RPC URL * * @default 'https://api.mainnet-beta.solana.com' */ rpcUrl?: string; /** * Additional client configuration */ clientConfig?: Partial<Omit<ClientConfig<'solana'>, 'apiKey'>>; }): MagicEdenClient<SolanaNftService>; /** * Creates a new Magic Eden API client for an EVM blockchain * @param apiKey Your Magic Eden API key * @param walletProvider The wallet provider to use * @param clientConfig Additional client configuration * @returns A new Magic Eden API client for an EVM blockchain */ static createEvmClient<T extends EvmWalletProvider>(apiKey: string, walletProvider: T, clientConfig?: Partial<Omit<ClientConfig<'evm'>, 'apiKey'>>): MagicEdenClient<EvmNftService>; /** * Creates a new Magic Eden API client for an EVM blockchain using a private key * @param apiKey Your Magic Eden API key * @param privateKey The private key to use for the client * @param blockchain The blockchain to use * @param options Optional configuration * @param options.clientConfig Additional client configuration * @param options.walletOptions Wallet options * @returns A new Magic Eden API client for an EVM blockchain */ static createViemEvmClient(apiKey: string, privateKey: `0x${string}`, blockchain: EvmBlockchain, options?: { /** * Additional client configuration */ clientConfig?: Partial<Omit<ClientConfig<'evm'>, 'apiKey'>>; /** * Wallet options */ walletOptions?: ViemWalletProviderOptions; }): MagicEdenClient<EvmNftService>; } /** * Magic Eden SDK */ export declare class MagicEdenSDK { /** * Magic Eden SDK V1 API methods */ static v1: typeof MagicEdenSDKV1; } export {};