sevm
Version:
A Symbolic Ethereum Virtual Machine (EVM) bytecode decompiler & analyzer library & CLI
36 lines (35 loc) • 1.11 kB
TypeScript
import { type Expr, type IInst } from '.';
/**
* Events found through `LOG` instructions.
*
* The `topic` is represented as a hex string.
*/
export interface IEvents {
[topic: string]: {
/**
* The signature of the event when the `topic` selector is found.
*
* For instance, if the topic is
* `4d6ce1e535dbade1c23defba91e23b8f791ce5edc0cc320257a2b364e4e38426`,
* then `sig` will be `Deposit(uint256)`.
*/
sig?: string;
indexedCount: number;
};
}
/**
* Represents a `LOGn` instruction, or in Solidity terms, an `emit` statement.
*
* https://docs.soliditylang.org/en/latest/contracts.html#events
*/
export declare class Log implements IInst {
readonly event: IEvents[string] | undefined;
readonly offset: Expr;
readonly size: Expr;
readonly topics: Expr[];
readonly args?: Expr[] | undefined;
readonly name = "Log";
constructor(event: IEvents[string] | undefined, offset: Expr, size: Expr, topics: Expr[], args?: Expr[] | undefined);
get eventName(): string | undefined;
eval(): Log;
}