evm-blockchain-tools
Version:
This is a collection of resuseable tools to support development for EVM-powered blockchains
26 lines (25 loc) • 1.03 kB
TypeScript
/// <reference types="node" />
import { ethers, Signer, Wallet } from "ethers";
import Web3 from "web3";
import { EvmGatewayConfig, IWeb3Gateway } from "../common/interfaces";
import { APP_NETWORK } from "../common/constants";
export declare class EvmGateway implements IWeb3Gateway {
protected config: EvmGatewayConfig;
protected web3: Web3;
protected keepAliveInterval: NodeJS.Timeout;
protected logger: import("pino").Logger<never>;
provider: ethers.providers.JsonRpcProvider;
wallet: Wallet;
network: APP_NETWORK;
constructor(config: EvmGatewayConfig);
protected checkConnection(): Promise<void>;
connect(): void;
get signer(): Promise<Signer>;
getGasPrice(): Promise<string>;
isValidTxFormat(txHash: string): boolean;
getBlock(blockNumber: number): Promise<any>;
recoverSigner(message: string, signedMessage: string): Promise<string>;
getCurrentBlock(): Promise<number>;
getSignerAddress(): Promise<string>;
getTransactionByID(txID: string): Promise<any>;
}