fix: add Token flowtype declarations

This commit is contained in:
Michael Vines 2018-10-16 13:51:04 -07:00
parent 300da5b626
commit 96242110bf
2 changed files with 60 additions and 5 deletions

View File

@ -10,6 +10,8 @@
* *
*/ */
import BN from 'bn.js';
declare module '@solana/web3.js' { declare module '@solana/web3.js' {
// === src/publickey.js === // === src/publickey.js ===
declare export class PublicKey { declare export class PublicKey {
@ -95,6 +97,59 @@ declare module '@solana/web3.js' {
} }
// === src/token-program.js === // === src/token-program.js ===
/* TODO */ declare export class TokenAmount extends BN {
toBuffer(): Buffer;
fromBuffer(buffer: Buffer): TokenAmount;
}
declare export type TokenInfo = {|
supply: TokenAmount,
decimals: number,
name: string,
symbol: string,
|};
declare export type TokenAccountInfo = {|
token: PublicKey;
owner: PublicKey;
amount: TokenAmount;
source: null | PublicKey;
|}
declare type TokenAndPublicKey = [Token, PublicKey];
declare export class Token {
static programId: PublicKey;
token: PublicKey;
static createNewToken(
connection: Connection,
owner: Account,
supply: TokenAmount,
name: string,
symbol: string,
decimals: number,
): Promise<TokenAndPublicKey>;
constructor(connection: Connection, token: PublicKey) : Token;
newAccount(owner: Account, source: null | PublicKey): Promise<PublicKey>;
tokenInfo(): Promise<TokenInfo>;
accountInfo(account: PublicKey): Promise<TokenAccountInfo>;
transfer(
owner: Account,
source: PublicKey,
destination: PublicKey,
amount: number | TokenAmount,
): Promise<void>;
approve(
owner: Account,
source: PublicKey,
delegate: PublicKey,
amount: number | TokenAmount
): Promise<void>;
(
owner: Account,
source: PublicKey,
delegate: PublicKey
): Promise<void>;
}
} }

View File

@ -52,7 +52,7 @@ export class TokenAmount extends BN {
/** /**
* Information about a token * Information about a token
*/ */
type TokenInfo = { type TokenInfo = {|
/** /**
* Total supply of tokens * Total supply of tokens
*/ */
@ -72,7 +72,7 @@ type TokenInfo = {
* Symbol for this token * Symbol for this token
*/ */
symbol: string, symbol: string,
}; |};
/** /**
* @private * @private
@ -87,7 +87,7 @@ const TokenInfoLayout = BufferLayout.struct([
/** /**
* Information about a token account * Information about a token account
*/ */
type TokenAccountInfo = { type TokenAccountInfo = {|
/** /**
* The kind of token this account holds * The kind of token this account holds
*/ */
@ -111,7 +111,7 @@ type TokenAccountInfo = {
* an allowance of tokens that may be transferred from the source account * an allowance of tokens that may be transferred from the source account
*/ */
source: null | PublicKey, source: null | PublicKey,
}; |};
/** /**
* @private * @private