UNPKG

@rainfi/sdk

Version:

This package is used to interact with Rain.fi protocol on Solana

134 lines (133 loc) 3.75 kB
/// <reference types="node" /> import { Connection, PublicKey } from '@solana/web3.js'; import BN from 'bn.js'; type StringPublicKey = PublicKey; export declare const METADATA_PREFIX = "metadata"; export declare const EDITION = "edition"; export declare const RESERVATION = "reservation"; export declare const MAX_NAME_LENGTH = 32; export declare const MAX_SYMBOL_LENGTH = 10; export declare const MAX_URI_LENGTH = 200; export declare const MAX_CREATOR_LIMIT = 5; export declare const MAX_CREATOR_LEN: number; export declare const MAX_METADATA_LEN: number; export declare const MAX_EDITION_LEN: number; export declare const EDITION_MARKER_BIT_SIZE = 248; export declare enum MetadataCategory { Audio = "audio", Video = "video", Image = "image", VR = "vr" } export type MetadataFile = { uri: string; type: string; }; export declare enum MetadataKey { Uninitialized = 0, MetadataV1 = 4, EditionV1 = 1, MasterEditionV1 = 2, MasterEditionV2 = 6, EditionMarker = 7 } export declare class Creator { address: StringPublicKey; verified: number; share: number; constructor(args: { address: StringPublicKey; verified: number; share: number; }); } export declare class TokenStandard { NonFungible: number; FungibleAsset: number; Fungible: number; NonFungibleEdition: number; constructor(args: { NonFungible: number; FungibleAsset: number; Fungible: number; NonFungibleEdition: number; }); } export declare class Collection { verified: boolean; key: StringPublicKey; constructor(args: { verified: boolean; key: StringPublicKey; }); } export declare class Data { name: string; symbol: string; uri: string; sellerFeeBasisPoints: number; creators: Creator[] | null; constructor(args: { name: string; symbol: string; uri: string; sellerFeeBasisPoints: number; creators: Creator[] | null; }); } export declare class CreateMetadataArgs { instruction: number; data: Data; isMutable: boolean; constructor(args: { data: Data; isMutable: boolean; }); } export declare class UpdateMetadataArgs { instruction: number; data: Data | null; updateAuthority: StringPublicKey | null; primarySaleHappened: boolean | null; constructor(args: { data?: Data; updateAuthority?: StringPublicKey; primarySaleHappened: boolean | null; }); } export declare class CreateMasterEditionArgs { instruction: number; maxSupply: BN | null; constructor(args: { maxSupply: BN | null; }); } export declare class Metadata { key: MetadataKey; updateAuthority: StringPublicKey; mint: StringPublicKey; data: Data; primarySaleHappened: boolean; isMutable: boolean; editionNonce: number | null; edition?: StringPublicKey | null; masterEdition?: StringPublicKey; tokenStandard?: TokenStandard; collection?: Collection; constructor(args: { updateAuthority: StringPublicKey; mint: StringPublicKey; data: Data; primarySaleHappened: boolean; isMutable: boolean; editionNonce: number | null; tokenStandard: TokenStandard | null; collection: Collection | null; }); } export declare const METADATA_SCHEMA: Map<any, any>; export declare const decodeMetadata: (buffer: Buffer) => Metadata; export declare const getMetadata: (connection: Connection, mint: PublicKey | string) => Promise<Metadata>; export declare function getMetadataAddress(mintKey: string | PublicKey): Promise<PublicKey>; export declare const extendBorsh: () => void; export {};