@rainfi/sdk
Version:
This package is used to interact with Rain.fi protocol on Solana
134 lines (133 loc) • 3.75 kB
TypeScript
/// <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 {};