feat(flow): add initial flow library definition
This commit is contained in:
@ -65,6 +65,18 @@ console.log(solanaWeb3);
|
|||||||
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
|
## Examples
|
||||||
See the [examples/](https://github.com/solana-labs/solana-web3.js/tree/master/examples) directory for small snippets.
|
See the [examples/](https://github.com/solana-labs/solana-web3.js/tree/master/examples) directory for small snippets.
|
||||||
|
|
||||||
|
89
web3.js/module.flow.js
Normal file
89
web3.js/module.flow.js
Normal file
@ -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;
|
||||||
|
}
|
||||||
|
}
|
Reference in New Issue
Block a user