UNPKG

@atomiqlabs/chain-evm

Version:

EVM specific base implementation

37 lines (36 loc) 1.75 kB
import { EVMModule } from "../EVMModule"; import { Log } from "ethers"; export declare class EVMEvents extends EVMModule<any> { /** * Returns the all the events occuring in a block range as identified by the contract and keys * * @param contract * @param topics * @param startBlock * @param endBlock * @param abortSignal */ getBlockEvents(contract: string, topics: (string[] | string | null)[], startBlock?: number, endBlock?: number, abortSignal?: AbortSignal): Promise<Log[]>; /** * Runs a search backwards in time, processing events from a specific contract and keys * * @param contract * @param topics * @param processor called for every batch of returned signatures, should return a value if the correct signature * was found, or null if the search should continue * @param abortSignal * @param genesisHeight Height when the contract was deployed */ findInEvents<T>(contract: string, topics: (string[] | string | null)[], processor: (signatures: Log[]) => Promise<T>, abortSignal?: AbortSignal, genesisHeight?: number): Promise<T>; /** * Runs a search forwards in time, processing events from a specific contract and keys * * @param contract * @param topics * @param processor called for every batch of returned signatures, should return a value if the correct signature * was found, or null if the search should continue * @param abortSignal * @param startHeight Blockheight at which to start */ findInEventsForward<T>(contract: string, topics: (string[] | string | null)[], processor: (signatures: Log[]) => Promise<T>, abortSignal?: AbortSignal, startHeight?: number): Promise<T>; }