Add a lot of types
This commit is contained in:
229
packages/web3-typescript-typings/index.d.ts
vendored
229
packages/web3-typescript-typings/index.d.ts
vendored
@@ -2,19 +2,33 @@ declare module 'web3' {
|
||||
|
||||
import * as BigNumber from 'bignumber.js';
|
||||
|
||||
type MixedData = string|number|object|Array<any>|BigNumber.BigNumber;
|
||||
|
||||
class Web3 {
|
||||
public static providers: typeof providers;
|
||||
|
||||
public constructor(provider?: Web3.Provider);
|
||||
|
||||
public version: Web3.VersionApi;
|
||||
public eth: Web3.EthApi;
|
||||
public personal: Web3.PersonalApi | undefined;
|
||||
public version: Web3.VersionApi;
|
||||
public net: Web3.NetApi;
|
||||
|
||||
public isConnected(): boolean;
|
||||
public setProvider(provider: Web3.Provider): void;
|
||||
public currentProvider: Web3.Provider;
|
||||
public fromWei(amount: number|BigNumber.BigNumber, unit: string): BigNumber.BigNumber;
|
||||
public toWei(amount: number|BigNumber.BigNumber, unit: string): BigNumber.BigNumber;
|
||||
public reset(keepIsSyncing: boolean): void;
|
||||
public sha3(data: string, options?: Web3.Sha3Options): string;
|
||||
public toHex(data: MixedData): string;
|
||||
public toAscii(hex: string): string;
|
||||
public fromAscii(ascii: string, padding?: number): string;
|
||||
public toDecimal(hex: string): number;
|
||||
public fromDecimal(number: number|string): string;
|
||||
public fromWei(number: number|string, unit: Web3.Unit): string;
|
||||
public fromWei(number: BigNumber.BigNumber, unit: Web3.Unit): BigNumber.BigNumber;
|
||||
public toWei(amount: number|string, unit: Web3.Unit): string;
|
||||
public toWei(amount: BigNumber.BigNumber, unit: Web3.Unit): BigNumber.BigNumber;
|
||||
public toBigNumber(number: number|string): BigNumber.BigNumber;
|
||||
public isAddress(address: string): boolean;
|
||||
public sha3(value: string, options?: Web3.Sha3Options): string;
|
||||
}
|
||||
@@ -83,33 +97,107 @@ declare module 'web3' {
|
||||
interface Provider {}
|
||||
|
||||
interface Sha3Options {
|
||||
encoding: string;
|
||||
encoding: 'hex';
|
||||
}
|
||||
|
||||
interface EthApi {
|
||||
coinbase: string;
|
||||
defaultAccount: string;
|
||||
compile: {
|
||||
solidity(sourceString: string, cb?: (err: any, result: any) => void): object,
|
||||
};
|
||||
blockNumber: number;
|
||||
sign(address: string, message: string, callback: (err: Error, signData: string) => void): string;
|
||||
getBlock(blockHash: string, callback: (err: Error, blockObj: any) => void): BigNumber.BigNumber;
|
||||
getBlockNumber(callback: (err: Error, blockNumber: number) => void): void;
|
||||
contract<A>(abi: Web3.ContractAbi): Web3.Contract<A>;
|
||||
getBalance(addressHexString: string,
|
||||
callback?: (err: any, result: BigNumber.BigNumber) => void): BigNumber.BigNumber;
|
||||
getCode(addressHexString: string,
|
||||
callback?: (err: any, code: string) => void): string;
|
||||
filter(value: string|Web3.FilterObject): Web3.FilterResult;
|
||||
getAccounts(callback: (err: Error, value: any) => void): string[];
|
||||
sendTransaction(txData: any, callback: (err: Error, value: any) => void): void;
|
||||
getTransactionReceipt(txHash: string, callback: (err: Error, receipt: any) => void): void;
|
||||
coinbase: string;
|
||||
mining: boolean;
|
||||
getMining(cd: (err: Error, mining: boolean) => void): void;
|
||||
hashrate: number;
|
||||
getHashrate(cd: (err: Error, hashrate: number) => void): void;
|
||||
gasPrice: BigNumber.BigNumber;
|
||||
getGasPrice(cd: (err: Error, gasPrice: BigNumber.BigNumber) => void): void;
|
||||
accounts: Array<string>;
|
||||
getAccounts(cd: (err: Error, accounts: Array<string>) => void): void;
|
||||
blockNumber: number;
|
||||
getBlockNumber(callback: (err: Error, blockNumber: number) => void): void;
|
||||
defaultAccount: string;
|
||||
defaultBlock: Web3.BlockParam;
|
||||
syncing: Web3.SyncingResult;
|
||||
getSyncing(cd: (err: Error, syncing: Web3.SyncingResult) => void): void;
|
||||
isSyncing(cb: (err: Error, isSyncing: boolean, syncingState: Web3.SyncingState) => void): Web3.IsSyncing;
|
||||
compile: {
|
||||
solidity(sourceString: string, cb?: (err: any, result: any) => void): object,
|
||||
}
|
||||
|
||||
getBlock(hashStringOrBlockNumber: string|Web3.BlockParam): Web3.Block;
|
||||
getBlock(hashStringOrBlockNumber: string|Web3.BlockParam,
|
||||
callback: (err: Error, blockObj: Web3.Block) => void): void;
|
||||
getBlock(hashStringOrBlockNumber: string|Web3.BlockParam,
|
||||
returnTransactionObjects: true): Web3.BlockWithTransactions;
|
||||
getBlock(hashStringOrBlockNumber: string|Web3.BlockParam, returnTransactionObjects: true,
|
||||
callback: (err: Error, blockObj: Web3.BlockWithTransactions) => void): void;
|
||||
|
||||
getBlockTransactionCount(hashStringOrBlockNumber: string|Web3.BlockParam): number;
|
||||
getBlockTransactionCount(hashStringOrBlockNumber: string|Web3.BlockParam,
|
||||
callback: (err: Error, blockTransactionCount: number) => void): void;
|
||||
|
||||
// TODO returnTransactionObjects
|
||||
getUncle(hashStringOrBlockNumber: string|Web3.BlockParam, uncleNumber: number): Web3.Block;
|
||||
getUncle(hashStringOrBlockNumber: string|Web3.BlockParam, uncleNumber: number,
|
||||
callback: (err: Error, uncle: Web3.Block) => void): void;
|
||||
|
||||
getTransaction(transactionHash: string): Web3.Transaction;
|
||||
getTransaction(transactionHash: string,
|
||||
callback: (err: Error, transaction: Web3.Transaction) => void): void;
|
||||
|
||||
getTransactionFromBlock(hashStringOrBlockNumber: string|Web3.BlockParam,
|
||||
indexNumber: number): Web3.Transaction;
|
||||
getTransactionFromBlock(hashStringOrBlockNumber: string|Web3.BlockParam, indexNumber: number,
|
||||
callback: (err: Error, transaction: Web3.Transaction) => void): void;
|
||||
|
||||
contract(abi: Web3.AbiDefinition[]): Web3.Contract<any>;
|
||||
|
||||
// TODO block param
|
||||
getBalance(addressHexString: string): BigNumber.BigNumber;
|
||||
getBalance(addressHexString: string, callback: (err: any, result: BigNumber.BigNumber) => void): void;
|
||||
|
||||
// TODO block param
|
||||
getStorageAt(address: string, position: number): string;
|
||||
getStorageAt(address: string, position: number, callback: (err: any, storage: string) => void): void;
|
||||
|
||||
// TODO block param
|
||||
getCode(addressHexString: string): string;
|
||||
getCode(addressHexString: string, callback: (err: any, code: string) => void): void;
|
||||
|
||||
filter(value: string|Web3.FilterObject): Web3.FilterResult;
|
||||
|
||||
sendTransaction(txData: Web3.TxData): string;
|
||||
sendTransaction(txData: Web3.TxData, callback: (err: Error, value: string) => void): void;
|
||||
|
||||
sendRawTransaction(rawTxData: string): string;
|
||||
sendRawTransaction(rawTxData: string, callback: (err: Error, value: string) => void): void;
|
||||
|
||||
sign(address: string, data: string): string;
|
||||
sign(address: string, data: string, callback: (err: Error, signature: string) => void): void;
|
||||
|
||||
getTransactionReceipt(txHash: string): Web3.TransactionReceipt;
|
||||
getTransactionReceipt(txHash: string,
|
||||
callback: (err: Error, receipt: Web3.TransactionReceipt) => void): void;
|
||||
|
||||
// TODO block param
|
||||
call(callData: Web3.CallData): string;
|
||||
call(callData: Web3.CallData, callback: (err: Error, result: string) => void): void;
|
||||
|
||||
estimateGas(callData: Web3.CallData): number;
|
||||
estimateGas(callData: Web3.CallData, callback: (err: Error, gas: number) => void): void;
|
||||
|
||||
// TODO defaultBlock
|
||||
getTransactionCount(address: string): number;
|
||||
getTransactionCount(address: string, callback: (err: Error, count: number) => void): void;
|
||||
}
|
||||
|
||||
interface VersionApi {
|
||||
getNetwork(cd: (err: Error, networkId: string) => void): void;
|
||||
getNode(cd: (err: Error, nodeVersion: string) => void): void;
|
||||
api: string;
|
||||
network: string;
|
||||
getNetwork(cd: (err: Error, networkId: string) => void): void;
|
||||
node: string;
|
||||
getNode(cd: (err: Error, nodeVersion: string) => void): void;
|
||||
ethereum: string;
|
||||
getEthereum(cd: (err: Error, ethereum: string) => void): void;
|
||||
whisper: string;
|
||||
getWhisper(cd: (err: Error, whisper: string) => void): void;
|
||||
}
|
||||
|
||||
interface PersonalApi {
|
||||
@@ -118,6 +206,99 @@ declare module 'web3' {
|
||||
unlockAccount(address: string, password?: string, duration?: number): boolean
|
||||
lockAccount(address: string): boolean
|
||||
}
|
||||
|
||||
interface NetApi {
|
||||
listening: boolean;
|
||||
getListening(cd: (err: Error, listening: boolean) => void): void;
|
||||
peerCount: boolean;
|
||||
getPeerCount(cd: (err: Error, peerCount: number) => void): void;
|
||||
}
|
||||
|
||||
type BlockParam = number|'earliest'|'latest'|'pending';
|
||||
|
||||
type Unit = 'kwei'|'ada'|'mwei'|'babbage'|'gwei'|'shannon'|'szabo'|'finney'|
|
||||
'ether'|'kether'|'grand'|'einstein'|'mether'|'gether'|'tether';
|
||||
|
||||
interface SyncingState {
|
||||
startingBlock: number;
|
||||
currentBlock: number;
|
||||
highestBlock: number;
|
||||
}
|
||||
type SyncingResult = false|SyncingState;
|
||||
|
||||
interface IsSyncing {
|
||||
addCallback(cb: (err: Error, isSyncing: boolean, syncingState: SyncingState) => void): void;
|
||||
stopWatching(): void;
|
||||
}
|
||||
|
||||
interface Block {
|
||||
number: number|null;
|
||||
hash: string|null;
|
||||
parentHash: string;
|
||||
nonce: string|null;
|
||||
sha3Uncles: string;
|
||||
logsBloom: string|null;
|
||||
transactionsRoot: string;
|
||||
stateRoot: string;
|
||||
miner: string;
|
||||
difficulty: BigNumber.BigNumber;
|
||||
totalDifficulty: BigNumber.BigNumber;
|
||||
extraData: string;
|
||||
size: number;
|
||||
gasLimit: number;
|
||||
gasUser: number;
|
||||
timestamp: number;
|
||||
uncles: Array<string>;
|
||||
}
|
||||
interface BlockWithTransactions extends Block {
|
||||
transactions: Array<string>;
|
||||
}
|
||||
|
||||
interface Transaction {
|
||||
hash: string;
|
||||
nonce: number;
|
||||
blockHash: string|null;
|
||||
blockNumber: number|null;
|
||||
transactionIndex: number|null;
|
||||
from: string;
|
||||
to: string|null;
|
||||
value: BigNumber.BigNumber;
|
||||
gasPrice: BigNumber.BigNumber;
|
||||
gas: number;
|
||||
input: string;
|
||||
}
|
||||
|
||||
interface CallTxDataBase {
|
||||
to?: string;
|
||||
value?: number|string|BigNumber.BigNumber;
|
||||
gas?: number|string|BigNumber.BigNumber;
|
||||
gasPrice?: number|string|BigNumber.BigNumber;
|
||||
data?: string;
|
||||
nonce?: number;
|
||||
}
|
||||
|
||||
interface TxData extends CallTxDataBase {
|
||||
from: string;
|
||||
}
|
||||
|
||||
interface CallData extends CallTxDataBase {
|
||||
from?: string;
|
||||
}
|
||||
|
||||
interface TransactionReceipt {
|
||||
blockHash: string;
|
||||
blockNumber: number;
|
||||
transactionHash: string;
|
||||
transactionIndex: number;
|
||||
from: string;
|
||||
to: string;
|
||||
cumulativeGasUsed: number;
|
||||
gasUsed: number;
|
||||
contractAddress: string|null;
|
||||
logs: Array<Log>;
|
||||
}
|
||||
|
||||
interface Log {}
|
||||
}
|
||||
/* tslint:disable */
|
||||
export = Web3;
|
||||
|
||||
Reference in New Issue
Block a user