export interface EtherscanAPIResponse { message: "NOTOK" | "OK"; result: any; status: "1" | "0"; } interface Input { readonly name: string; readonly type: string; readonly indexed?: boolean; } interface Output { readonly name: string; readonly type: string; } export interface Tuple extends Output { readonly type: "tuple"; readonly components: ReadonlyArray; } interface ContractMember { readonly constant?: boolean; readonly inputs?: ReadonlyArray; readonly name?: string; readonly outputs?: ReadonlyArray; readonly type: string; readonly payable?: boolean; readonly stateMutability?: string; readonly anonymous?: boolean; } export type ContractABI = ReadonlyArray; export declare enum BlockScoutApiAction { AccountBalance = "account_balance", AccountTxlist = "account_txlist", AccountTxlistinternal = "account_txlistinternal", AccountTokentx = "account_tokentx", ContractGetAbi = "contract_getabi" } /** * This is the default export of the library, a client that can be constructed for interacting with the * Etherscan API. */ export default class BlockScoutClient { private readonly apiUrl; private readonly apiKey?; private readonly debug?; private readonly maxRequestsPerSecond; private lastRequestTime; constructor(apiUrl: string, opts?: Partial<{ apiKey: string; maxRequestsPerSecond: number; debug: boolean; }>); getAbi(address: string): Promise; call(actionEnum: BlockScoutApiAction, params?: { [key: string]: string | number | boolean | undefined; }, opts?: any): Promise; private throttle; } export {};