import { Wei, TokenValue } from 'libs/units'; import { IHexStrTransaction } from 'libs/transaction'; import { Token } from 'types/network'; export interface TxObj { to: string; data: string; } interface TokenBalanceResult { balance: TokenValue; error: string | null; } export interface TransactionData { hash: string; nonce: number; blockHash: string | null; blockNumber: number | null; transactionIndex: number | null; from: string; to: string; value: Wei; gasPrice: Wei; gas: Wei; input: string; } export interface TransactionReceipt { transactionHash: string; transactionIndex: number; blockHash: string; blockNumber: number; cumulativeGasUsed: Wei; gasUsed: Wei; contractAddress: string | null; logs: string[]; logsBloom: string; status: number; } export interface INode { ping(): Promise; getBalance(address: string): Promise; getTokenBalance(address: string, token: Token): Promise; getTokenBalances(address: string, tokens: Token[]): Promise; estimateGas(tx: Partial): Promise; getTransactionCount(address: string): Promise; getTransactionByHash(txhash: string): Promise; getTransactionReceipt(txhash: string): Promise; sendRawTx(tx: string): Promise; sendCallRequest(txObj: TxObj): Promise; getCurrentBlock(): Promise; }