site-activity-chain/src/interface/IScriptionCfg.ts
2024-01-15 12:46:03 +08:00

38 lines
679 B
TypeScript

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<void>,
}