import { TAddress } from '../../models/TAddress'; import { TPlatform } from '../../models/TPlatform'; import { type TAbiItem } from '../../types/TAbi'; export interface ITxLogItem { id: number; blockNumber: number; logIndex: number; transactionHash: string; address: TAddress; event: TEventName; arguments: { name?: string; value: any; }[]; params: TParams; } export interface ITxLogItemDescriptor { abi: TAbiItem; formatter: IKnownLogFormatter; } export interface IKnownLogFormatter { extract(log: ITxLogItem, platform: TPlatform): Promise; } export interface IAbiItemFormattable { abi: TAbiItem | string; formatter: IKnownLogFormatter; }