import { TAddress } from '@dequanto/models/TAddress'; import { TPlatform } from '@dequanto/models/TPlatform'; import { type TAbiItem } from '@dequanto/types/TAbi'; export interface ITxLogItem { // The overall unique Log ID based on blockNumber and logIndex 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 }