solana-program-library/token/js/module.flow.js

209 lines
5.7 KiB
JavaScript
Raw Normal View History

/**
2020-07-30 02:07:55 -07:00
* Flow Library definition for spl-token
*
* This file is manually maintained
*
*/
2020-07-30 02:07:55 -07:00
declare module '@solana/spl-token' {
declare export var TOKEN_PROGRAM_ID;
2020-07-30 02:07:55 -07:00
declare export class u64 extends BN {
toBuffer(): Buffer;
2020-07-30 02:07:55 -07:00
static fromBuffer(buffer: Buffer): u64;
}
2020-08-28 10:04:37 -07:00
declare export type AuthorityType =
| 'MintTokens'
| 'FreezeAccount'
| 'AccountOwner'
| 'CloseAccount';
declare export var NATIVE_MINT: PublicKey;
declare export var MintLayout: Layout;
2020-07-30 02:07:55 -07:00
declare export type MintInfo = {|
2020-08-28 10:04:37 -07:00
mintAuthority: null | PublicKey,
supply: u64,
2020-07-30 02:07:55 -07:00
decimals: number,
2020-08-28 10:04:37 -07:00
isInitialized: boolean,
freezeAuthority: null | PublicKey,
2020-07-30 02:07:55 -07:00
|};
declare export var AccountLayout: Layout;
2020-07-30 02:07:55 -07:00
declare export type AccountInfo = {|
mint: PublicKey,
owner: PublicKey,
amount: u64,
delegate: null | PublicKey,
delegatedAmount: u64,
isInitialized: boolean,
2020-08-28 10:04:37 -07:00
isFrozen: boolean,
2020-07-30 02:07:55 -07:00
isNative: boolean,
2020-08-28 10:04:37 -07:00
rentExemptReserve: null | u64,
closeAuthority: null | PublicKey,
2020-07-30 02:07:55 -07:00
|};
declare export type MultisigInfo = {|
m: number,
n: number,
initialized: boolean,
signer1: PublicKey,
signer2: PublicKey,
signer3: PublicKey,
signer4: PublicKey,
signer5: PublicKey,
signer6: PublicKey,
signer7: PublicKey,
signer8: PublicKey,
signer9: PublicKey,
signer10: PublicKey,
signer11: PublicKey,
|};
declare export class Token {
publicKey: PublicKey;
programId: PublicKey;
payer: Account;
constructor(
connection: Connection,
publicKey: PublicKey,
programId: PublicKey,
payer: Account,
): Token;
2020-07-30 02:07:55 -07:00
static createMint(
connection: Connection,
payer: Account,
2020-08-28 10:04:37 -07:00
mintAuthority: PublicKey,
freezeAuthority: PublicKey | null,
decimals: number,
programId: PublicKey,
2020-08-28 10:04:37 -07:00
): Promise<Token>;
static getAccount(connection: Connection): Promise<Account>;
2020-07-30 02:07:55 -07:00
createAccount(owner: PublicKey): Promise<PublicKey>;
static createWrappedNativeAccount(
connection: Connection,
programId: PublicKey,
owner: PublicKey,
payer: Account,
amount: number,
): Promise<PublicKey>;
2020-07-30 02:07:55 -07:00
createMultisig(m: number, signers: Array<PublicKey>): Promise<PublicKey>;
getMintInfo(): Promise<MintInfo>;
getAccountInfo(account: PublicKey): Promise<AccountInfo>;
getMultisigInfo(multisig: PublicKey): Promise<MultisigInfo>;
transfer(
source: PublicKey,
destination: PublicKey,
2020-08-28 10:04:37 -07:00
owner: Account | PublicKey,
2020-07-30 02:07:55 -07:00
multiSigners: Array<Account>,
amount: number | u64,
): Promise<TransactionSignature>;
2020-07-30 02:07:55 -07:00
approve(
account: PublicKey,
delegate: PublicKey,
owner: Account | PublicKey,
multiSigners: Array<Account>,
amount: number | u64,
): Promise<void>;
revoke(
account: PublicKey,
owner: Account | PublicKey,
multiSigners: Array<Account>,
): Promise<void>;
2020-08-28 10:04:37 -07:00
setAuthority(
account: PublicKey,
newAuthority: PublicKey | null,
authorityType: AuthorityType,
currentAuthority: Account | PublicKey,
2020-07-30 02:07:55 -07:00
multiSigners: Array<Account>,
): Promise<void>;
mintTo(
dest: PublicKey,
authority: Account | PublicKey,
multiSigners: Array<Account>,
amount: number | u64,
2020-07-30 02:07:55 -07:00
): Promise<void>;
burn(
account: PublicKey,
2020-08-28 10:04:37 -07:00
owner: Account | PublicKey,
2020-07-30 02:07:55 -07:00
multiSigners: Array<Account>,
amount: number | u64,
2020-07-30 02:07:55 -07:00
): Promise<void>;
freezeAccount(
account: PublicKey,
authority: any,
multiSigners: Array<Account>,
): Promise<void>;
thawAccount(
account: PublicKey,
authority: any,
multiSigners: Array<Account>,
): Promise<void>;
2020-07-30 02:07:55 -07:00
closeAccount(
account: PublicKey,
dest: PublicKey,
2020-08-28 10:04:37 -07:00
authority: Account | PublicKey,
2020-07-30 02:07:55 -07:00
multiSigners: Array<Account>,
): Promise<void>;
2020-08-28 10:04:37 -07:00
static createInitMintInstruction(
programId: PublicKey,
mint: PublicKey,
decimals: number,
mintAuthority: PublicKey,
freezeAuthority: PublicKey | null,
): TransactionInstruction;
static createInitAccountInstruction(
programId: PublicKey,
mint: PublicKey,
account: PublicKey,
owner: PublicKey,
): TransactionInstruction;
2020-07-30 02:07:55 -07:00
static createTransferInstruction(
programId: PublicKey,
source: PublicKey,
destination: PublicKey,
2020-08-28 10:04:37 -07:00
owner: PublicKey,
2020-07-30 02:07:55 -07:00
multiSigners: Array<Account>,
amount: number | u64,
): TransactionInstruction;
static createApproveInstruction(
programId: PublicKey,
account: PublicKey,
delegate: PublicKey,
2020-08-28 10:04:37 -07:00
owner: PublicKey,
2020-07-30 02:07:55 -07:00
multiSigners: Array<Account>,
amount: number | u64,
): TransactionInstruction;
static createRevokeInstruction(
programId: PublicKey,
account: PublicKey,
2020-08-28 10:04:37 -07:00
owner: PublicKey,
2020-07-30 02:07:55 -07:00
multiSigners: Array<Account>,
): TransactionInstruction;
2020-08-28 10:04:37 -07:00
static createSetAuthorityInstruction(
2020-07-30 02:07:55 -07:00
programId: PublicKey,
2020-08-28 10:04:37 -07:00
account: PublicKey,
newAuthority: PublicKey | null,
authority: PublicKey,
2020-07-30 02:07:55 -07:00
multiSigners: Array<Account>,
): TransactionInstruction;
static createMintToInstruction(
programId: PublicKey,
mint: PublicKey,
dest: PublicKey,
2020-08-28 10:04:37 -07:00
authority: PublicKey,
2020-07-30 02:07:55 -07:00
multiSigners: Array<Account>,
amount: number | u64,
2020-07-30 02:07:55 -07:00
): TransactionInstruction;
static createBurnInstruction(
programId: PublicKey,
2020-08-28 10:04:37 -07:00
mint: PublicKey,
2020-07-30 02:07:55 -07:00
account: PublicKey,
2020-08-28 10:04:37 -07:00
owner: PublicKey,
2020-07-30 02:07:55 -07:00
multiSigners: Array<Account>,
amount: number | u64,
2020-07-30 02:07:55 -07:00
): TransactionInstruction;
static createCloseAccountInstruction(
programId: PublicKey,
account: PublicKey,
dest: PublicKey,
2020-08-28 10:04:37 -07:00
authority: PublicKey,
2020-07-30 02:07:55 -07:00
multiSigners: Array<Account>,
2020-08-28 10:04:37 -07:00
): TransactionInstruction;
}
}