export enum FilterEnum { eq = 'eq', ne = 'ne', gt = 'gt', gte = 'gte', lt = 'lt', lte = 'lte', in = 'in', nin = 'nin', like = 'like', nlike = 'nlike', isNull = 'isNull', isNotNull = 'isNotNull' } export enum FilterValueTypeEnum { string = 'string', number = 'number', boolean = 'boolean', utf8_data = 'utf8_data', hex_data = 'hex_data', address = 'address' } export interface IFilter { key: string, type: string, value: string, op: FilterEnum } export interface IScriptionCfg { chain: number, rpc?: string, fromBlock: number, filters?: IFilter[], filter: (event: any) => boolean, process: (event: any) => Promise, }