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