UNPKG

debitisimpedit

Version:

adapte eos and eth, and adapte pluin - MateMask and Scatter

380 lines (323 loc) 11 kB
import BigNumber from 'bignumber' type MixedData = string | number | Object | any[] | BigNumber declare class Web3 { public BigNumber: typeof BigNumber public static providers: typeof providers public currentProvider: Web3.Provider public eth: Web3.EthApi public personal: Web3.PersonalApi | undefined public version: Web3.VersionApi public net: Web3.NetApi public constructor(provider?: Web3.Provider) public isConnected(): boolean public setProvider(provider: Web3.Provider): void public reset(keepIsSyncing: boolean): void public toHex(data: MixedData): string public toAscii(hex: string): string public fromAscii(ascii: string, padding?: number): string public toDecimal(hex: string): number public fromDecimal(value: number | string): string public fromWei(value: number | string, unit: Web3.Unit): string public fromWei(value: BigNumber, unit: Web3.Unit): BigNumber public toWei(amount: number | string, unit: Web3.Unit): string public toWei(amount: BigNumber, unit: Web3.Unit): BigNumber public toBigNumber(value: number | string): BigNumber public isAddress(address: string): boolean public isChecksumAddress(address: string): boolean public sha3(value: string, options?: Web3.Sha3Options): string } declare namespace providers { class HttpProvider implements Web3.Provider { constructor(url?: string, timeout?: number, username?: string, password?: string) sendAsync( payload: Web3.JSONRPCRequestPayload, callback: (err: Error, result: Web3.JSONRPCResponsePayload) => void ): void } } declare namespace Web3 { type ContractAbi = AbiDefinition[] type AbiDefinition = FunctionAbi | EventAbi type FunctionAbi = MethodAbi | ConstructorAbi | FallbackAbi interface MethodAbi { type: 'function' name: string inputs: FunctionParameter[] outputs: FunctionParameter[] constant: boolean payable: boolean stateMutability: string } interface ConstructorAbi { type: 'constructor' inputs: FunctionParameter[] payable: boolean } interface FallbackAbi { type: 'fallback' payable: boolean } interface EventParameter { name: string type: string indexed: boolean } interface EventAbi { type: 'event' name: string inputs: EventParameter[] anonymous: boolean } interface FunctionParameter { name: string type: string } interface ContractInstance { address: string abi: Web3.ContractAbi [name: string]: any } interface Contract<A extends ContractInstance> { at(address: string): A } interface FilterObject { fromBlock: number | string toBlock: number | string address: string topics: string[] } interface SolidityEvent<A> { event: string address: string args: A } interface FilterResult { get(callback: () => void): void watch<A>(callback: (err: Error, result: SolidityEvent<A>) => void): void stopWatching(callback: () => void): void } export interface JSONRPCRequestPayload { params?: any[] method: string id: number jsonrpc: string } export interface JSONRPCResponsePayload { result: any id: number jsonrpc: string } interface Provider { sendAsync(payload: JSONRPCRequestPayload, callback: (err: Error, result: JSONRPCResponsePayload) => void): void } interface Sha3Options { encoding: 'hex' } interface EthApi { coinbase: string mining: boolean hashrate: number gasPrice: BigNumber accounts: string[] blockNumber: number defaultAccount: string defaultBlock: Web3.BlockParam syncing: Web3.SyncingResult compile: { solidity(sourceString: string, cb?: (err: Error, result: any) => void): Object } getMining(cd: (err: Error, mining: boolean) => void): void getHashrate(cd: (err: Error, hashrate: number) => void): void getGasPrice(cd: (err: Error, gasPrice: BigNumber) => void): void getAccounts(cd: (err: Error, accounts: string[]) => void): void getBlockNumber(callback: (err: Error, blockNumber: number) => void): void getSyncing(cd: (err: Error, syncing: Web3.SyncingResult) => void): void isSyncing(cb: (err: Error, isSyncing: boolean, syncingState: Web3.SyncingState) => void): Web3.IsSyncing getBlock(hashStringOrBlockNumber: string | Web3.BlockParam): Web3.BlockWithoutTransactionData getBlock( hashStringOrBlockNumber: string | Web3.BlockParam, callback: (err: Error, blockObj: Web3.BlockWithoutTransactionData) => void ): void getBlock( hashStringOrBlockNumber: string | Web3.BlockParam, returnTransactionObjects: true ): Web3.BlockWithTransactionData getBlock( hashStringOrBlockNumber: string | Web3.BlockParam, returnTransactionObjects: true, callback: (err: Error, blockObj: Web3.BlockWithTransactionData) => 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.BlockWithoutTransactionData getUncle( hashStringOrBlockNumber: string | Web3.BlockParam, uncleNumber: number, callback: (err: Error, uncle: Web3.BlockWithoutTransactionData) => 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 getBalance(addressHexString: string, callback: (err: Error, result: BigNumber) => void): void // TODO block param getStorageAt(address: string, position: number): string getStorageAt(address: string, position: number, callback: (err: Error, storage: string) => void): void // TODO block param getCode(addressHexString: string): string getCode(addressHexString: string, callback: (err: Error, 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 { api: string network: string node: string ethereum: string whisper: string getNetwork(cd: (err: Error, networkId: string) => void): void getNode(cd: (err: Error, nodeVersion: string) => void): void getEthereum(cd: (err: Error, ethereum: string) => void): void getWhisper(cd: (err: Error, whisper: string) => void): void } interface PersonalApi { listAccounts: string[] | undefined newAccount(password?: string): string unlockAccount(address: string, password?: string, duration?: number): boolean lockAccount(address: string): boolean sign(message: string, account: string, password: string): string } interface NetApi { listening: boolean peerCount: boolean getListening(cd: (err: Error, listening: boolean) => void): void 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 AbstractBlock { number: number | null hash: string | null parentHash: string nonce: string | null sha3Uncles: string logsBloom: string | null transactionsRoot: string stateRoot: string miner: string difficulty: BigNumber totalDifficulty: BigNumber extraData: string size: number gasLimit: number gasUser: number timestamp: number uncles: string[] } interface BlockWithoutTransactionData extends AbstractBlock { transactions: string[] } interface BlockWithTransactionData extends AbstractBlock { transactions: Transaction[] } interface Transaction { hash: string nonce: number blockHash: string | null blockNumber: number | null transactionIndex: number | null from: string to: string | null value: BigNumber gasPrice: BigNumber gas: number input: string } interface CallTxDataBase { to?: string value?: number | string | BigNumber gas?: number | string | BigNumber gasPrice?: number | string | 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: LogEntry[] } interface LogEntry { logIndex: number | null transactionIndex: number transactionHash: string blockHash: string | null blockNumber: number | null address: string data: string topics: string[] } }