export interface IRPCProvider { getNetVersion(): Promise; ping(): Promise; getBalance(address: string): 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; sendCallRequests(txObj: TxObj[]): Promise; getCurrentBlock(): Promise; } export interface IProvider extends IRPCProvider { /*Web3 methods*/ sendTransaction(web3Tx: IHexStrWeb3Transaction): Promise; signMessage(msgHex: string, fromAddr: string): Promise; } export type AllProviderMethods = keyof IProvider;