@@ -12,6 +12,15 @@ export interface EventSignalRegisterParams {
12
12
// esig?: string,
13
13
}
14
14
15
+ export interface CrosscheckParams {
16
+ /**
17
+ * Disable crosscheck
18
+ */
19
+ disabled ?: boolean
20
+ }
21
+
22
+ export type CrosscheckOptions = CrosscheckParams & Omit < AutoCrossCheckParam , 'address' | 'topics' | 'onMissingLog' >
23
+
15
24
export type EventSignalCallback = ethers . Listener
16
25
17
26
export class EventSignal implements Signal {
@@ -25,11 +34,12 @@ export class EventSignal implements Signal {
25
34
26
35
crosschecker ?: AutoCrossChecker
27
36
crosscheckerOptions ?: AutoCrossCheckParam
37
+ crosscheckerParams ?: CrosscheckParams
28
38
29
39
constructor (
30
40
public params : EventSignalRegisterParams ,
31
41
public callback : EventSignalCallback ,
32
- crosscheckOptions ?: Omit < AutoCrossCheckParam , 'address' | 'topics' | 'onMissingLog' > ,
42
+ crosscheckOptions ?: CrosscheckOptions ,
33
43
) {
34
44
this . contract = new ethers . Contract (
35
45
params . address ,
@@ -69,7 +79,7 @@ export class EventSignal implements Signal {
69
79
return new ContractUnknownEventPayload ( this . contract , this . subscribeCallback , this . params . eventName , log )
70
80
}
71
81
72
- private _setCrosscheckOptions ( options : Omit < AutoCrossCheckParam , 'address' | 'topics' | 'onMissingLog' > ) {
82
+ private _setCrosscheckOptions ( options : CrosscheckOptions ) {
73
83
const {
74
84
pollingInterval = ONE_MINUTE_MS * 60 ,
75
85
ignoreLogs = [ ] ,
@@ -83,6 +93,9 @@ export class EventSignal implements Signal {
83
93
pollingInterval,
84
94
ignoreLogs,
85
95
}
96
+ this . crosscheckerParams = {
97
+ disabled : options ?. disabled ,
98
+ }
86
99
}
87
100
88
101
// TODO: should be wsProvider only?
@@ -114,6 +127,9 @@ export class EventSignal implements Signal {
114
127
}
115
128
116
129
async startCrossChecker ( provider ?: Providers ) {
130
+ if ( this . crosscheckerParams ?. disabled )
131
+ return
132
+
117
133
if ( ! this . crosscheckerOptions )
118
134
return
119
135
if ( ! provider )
0 commit comments