feat(flow): add initial flow library definition
This commit is contained in:
parent
fae9624eb0
commit
721ce794e8
|
@ -65,6 +65,18 @@ console.log(solanaWeb3);
|
|||
console.log(solanaWeb3);
|
||||
```
|
||||
|
||||
## Flow
|
||||
|
||||
A Flow library definition file is provided at
|
||||
[module.flow.js](https://github.com/solana-labs/solana-web3.js/tree/master/module.flow.js).
|
||||
Add the following line under the [libs] section of your project's .flowconfig to
|
||||
activate it:
|
||||
```ini
|
||||
[libs]
|
||||
node_modules/@solana/web3.js/module.flow.js
|
||||
```
|
||||
|
||||
|
||||
## Examples
|
||||
See the [examples/](https://github.com/solana-labs/solana-web3.js/tree/master/examples) directory for small snippets.
|
||||
|
||||
|
|
|
@ -0,0 +1,89 @@
|
|||
/**
|
||||
* Flow Library definition for @solana/web3.js
|
||||
*
|
||||
* This file is manually generated from the contents of src/
|
||||
*
|
||||
* Usage: add the following line under the [libs] section of your project's
|
||||
* .flowconfig:
|
||||
* [libs]
|
||||
* node_modules/@solana/web3.js/module.flow.js
|
||||
*
|
||||
*/
|
||||
|
||||
declare module '@solana/web3.js' {
|
||||
declare type PublicKey = string;
|
||||
|
||||
// === src/account.js ===
|
||||
declare export class Account {
|
||||
constructor(secretKey: ?Buffer): Account;
|
||||
publicKey: PublicKey;
|
||||
secretKey: PublicKey;
|
||||
}
|
||||
|
||||
// === src/budget-program.js ===
|
||||
/* TODO */
|
||||
|
||||
// === src/connection.js ===
|
||||
declare type AccountInfo = {
|
||||
tokens: number,
|
||||
programId: PublicKey,
|
||||
userdata: Buffer | null,
|
||||
}
|
||||
|
||||
declare type SignatureStatus = 'Confirmed' | 'SignatureNotFound' | 'ProgramRuntimeError' | 'GenericFailure';
|
||||
|
||||
declare export class Connection {
|
||||
constructor(endpoint: string): Connection;
|
||||
getBalance(publicKey: PublicKey): Promise<number>;
|
||||
getAccountInfo(publicKey: PublicKey): Promise<AccountInfo>;
|
||||
confirmTransaction(signature: TransactionSignature): Promise<boolean>;
|
||||
getSignatureStatus(signature: TransactionSignature): Promise<SignatureStatus>;
|
||||
getTransactionCount(): Promise<number>;
|
||||
getLastId(): Promise<TransactionId>;
|
||||
getFinality(): Promise<number>;
|
||||
requestAirdrop(to: PublicKey, amount: number): Promise<TransactionSignature>;
|
||||
sendTransaction(from: Account, transaction: Transaction): Promise<TransactionSignature>;
|
||||
}
|
||||
|
||||
// === src/system-program.js ===
|
||||
declare export class SystemProgram {
|
||||
static programId: PublicKey;
|
||||
|
||||
static createAccount(
|
||||
from: PublicKey,
|
||||
newAccount: PublicKey,
|
||||
tokens: number,
|
||||
space: number,
|
||||
programId: PublicKey
|
||||
): Transaction;
|
||||
static move(from: PublicKey, to: PublicKey, amount: number): Transaction;
|
||||
static assign(from: PublicKey, programId: PublicKey): Transaction;
|
||||
}
|
||||
|
||||
// === src/transaction.js ===
|
||||
declare type TransactionSignature = string;
|
||||
declare type TransactionId = string;
|
||||
|
||||
declare type TransactionCtorFields = {|
|
||||
signature?: Buffer;
|
||||
keys?: Array<PublicKey>;
|
||||
programId?: PublicKey;
|
||||
fee?: number;
|
||||
userdata?: Buffer;
|
||||
|};
|
||||
|
||||
|
||||
declare export class Transaction {
|
||||
signature: ?Buffer;
|
||||
keys: Array<PublicKey>;
|
||||
programId: ?PublicKey;
|
||||
lastId: ?TransactionId;
|
||||
fee: number;
|
||||
userdata: Buffer;
|
||||
|
||||
constructor(opts?: TransactionCtorFields): Transaction;
|
||||
sign(from: Account): void;
|
||||
serialize(): Buffer;
|
||||
static serializePublicKey(key: PublicKey): Buffer;
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue