UNPKG

@leda-mint-io/candymachine-client-sdk

Version:

Metaplex Candy Machine Client SDK

138 lines (137 loc) 3.58 kB
import { BN, web3, Program } from '@j0nnyboi/anchor'; import { PublicKey } from '@safecoin/web3.js'; import { DEFAULT_GATEKEEPER } from './constants'; import { StorageType } from './enums'; interface IWhitelistMintSettings { mode: any; mint: PublicKey; presale: boolean; discountPrice: null | BN; } interface IHiddenSettings { name: string; uri: string; hash: Uint8Array; } interface IWhitelistMintMode { neverBurn: undefined | boolean; burnEveryTime: undefined | boolean; } export interface IFetchedCandyMachineConfig { creators: { address: PublicKey; share: 100; verified: true; }[]; endSettings: null; gatekeeper: null; goLiveDate: BN; hiddenSettings: null; isMutable: true; itemsAvailable: BN; maxSupply: BN; price: BN; retainAuthority: boolean; sellerFeeBasisPoints: number; symbol: string; uuid: string; whitelistMintSettings: null; solTreasuryAccount: PublicKey; itemsRedeemed: BN; } export interface ICandyMachineConfig { price: number; number: number; gatekeeper: typeof DEFAULT_GATEKEEPER | null; solTreasuryAccount: string; splTokenAccount: null; splToken: null; goLiveDate: string; endSettings: any; whitelistMintSettings: IWhitelistMintSettings | null; hiddenSettings: IHiddenSettings | null; storage: StorageType; ipfsInfuraProjectId: null; ipfsInfuraSecret: null; nftStorageKey: null; awsS3Bucket: null; noRetainAuthority: boolean; noMutable: boolean; pinataJwt: null; pinataGateway: null; batchSize: null; uuid: null; arweaveJwk: null; } export interface ICandyMachineData { itemsAvailable: BN; uuid: null | string; symbol: string; sellerFeeBasisPoints: number; isMutable: boolean; maxSupply: BN; price: BN; retainAuthority: boolean; gatekeeper: null | { expireOnUse: boolean; gatekeeperNetwork: PublicKey; }; goLiveDate: null | BN; endSettings: null | [number, BN]; whitelistMintSettings: null | { mode: IWhitelistMintMode; mint: PublicKey; presale: boolean; discountPrice: null | BN; }; hiddenSettings: null | { name: string; uri: string; hash: Uint8Array; }; creators: { address: PublicKey; verified: boolean; share: number; }[]; } export declare type SetupState = { mint: web3.Keypair; userTokenAccount: web3.PublicKey; transaction: string; }; export interface CandyMachineAccount { id: web3.PublicKey; program: Program; state: CandyMachineState; } interface CandyMachineState { authority: web3.PublicKey; itemsAvailable: number; itemsRedeemed: number; itemsRemaining: number; treasury: web3.PublicKey; tokenMint: null | web3.PublicKey; isSoldOut: boolean; isActive: boolean; isPresale: boolean; isWhitelistOnly: boolean; goLiveDate: BN; price: BN; gatekeeper: null | { expireOnUse: boolean; gatekeeperNetwork: web3.PublicKey; }; endSettings: null | { number: BN; endSettingType: any; }; whitelistMintSettings: IWhitelistMintSettings; hiddenSettings: IHiddenSettings; retainAuthority: boolean; } export interface CollectionData { mint: web3.PublicKey; candyMachine: web3.PublicKey; } export {};