@@ -220,15 +220,19 @@ suite "Validator pool":
220
220
check cmp (value, sortedExpected[index]) == 0
221
221
222
222
var pool = (ref ValidatorPool )()
223
- discard pool[].addValidator (createLocal (createPubKey (1 )), fee, gas)
224
- discard pool[].addValidator (createRemote (createPubKey (2 )), fee, gas)
225
- discard pool[].addValidator (createDynamic (remoteSignerUrl.url, createPubKey (3 )), fee, gas)
223
+ discard pool[].addValidator (
224
+ createLocal (createPubKey (1 )), fee, gas)
225
+ discard pool[].addValidator (
226
+ createRemote (createPubKey (2 )), fee, gas)
227
+ discard pool[].addValidator (
228
+ createDynamic (remoteSignerUrl.url, createPubKey (3 )), fee, gas)
226
229
227
230
proc addValidator (data: KeystoreData ) {.gcsafe .} =
228
231
discard pool[].addValidator (data, fee, gas)
229
232
230
233
# Adding new dynamic keystores.
231
234
block :
235
+ var keysFilter: HashSet [ValidatorPubKey ]
232
236
let
233
237
expected = [
234
238
createLocal (createPubKey (1 )),
@@ -242,11 +246,13 @@ suite "Validator pool":
242
246
createDynamic (remoteSignerUrl.url, createPubKey (4 )),
243
247
createDynamic (remoteSignerUrl.url, createPubKey (5 ))
244
248
]
245
- pool.updateDynamicValidators (remoteSignerUrl, keystores, addValidator)
249
+ pool.updateDynamicValidators (
250
+ remoteSignerUrl, keystores, keysFilter, addValidator)
246
251
pool[].checkPool (expected)
247
252
248
253
# Removing dynamic keystores.
249
254
block :
255
+ var keysFilter: HashSet [ValidatorPubKey ]
250
256
let
251
257
expected = [
252
258
createLocal (createPubKey (1 )),
@@ -256,11 +262,13 @@ suite "Validator pool":
256
262
keystores = [
257
263
createDynamic (remoteSignerUrl.url, createPubKey (3 )),
258
264
]
259
- pool.updateDynamicValidators (remoteSignerUrl, keystores, addValidator)
265
+ pool.updateDynamicValidators (
266
+ remoteSignerUrl, keystores, keysFilter, addValidator)
260
267
pool[].checkPool (expected)
261
268
262
269
# Adding and removing keystores at same time.
263
270
block :
271
+ var keysFilter: HashSet [ValidatorPubKey ]
264
272
let
265
273
expected = [
266
274
createLocal (createPubKey (1 )),
@@ -272,11 +280,13 @@ suite "Validator pool":
272
280
createDynamic (remoteSignerUrl.url, createPubKey (4 )),
273
281
createDynamic (remoteSignerUrl.url, createPubKey (5 ))
274
282
]
275
- pool.updateDynamicValidators (remoteSignerUrl, keystores, addValidator)
283
+ pool.updateDynamicValidators (
284
+ remoteSignerUrl, keystores, keysFilter, addValidator)
276
285
pool[].checkPool (expected)
277
286
278
287
# Adding dynamic keystores with keys which are static.
279
288
block :
289
+ var keysFilter: HashSet [ValidatorPubKey ]
280
290
let
281
291
expected = [
282
292
createLocal (createPubKey (1 )),
@@ -288,16 +298,42 @@ suite "Validator pool":
288
298
createDynamic (remoteSignerUrl.url, createPubKey (2 )),
289
299
createDynamic (remoteSignerUrl.url, createPubKey (3 )),
290
300
]
291
- pool.updateDynamicValidators (remoteSignerUrl, keystores, addValidator)
301
+ pool.updateDynamicValidators (
302
+ remoteSignerUrl, keystores, keysFilter, addValidator)
292
303
pool[].checkPool (expected)
293
304
294
305
# Empty response
295
306
block :
307
+ var keysFilter: HashSet [ValidatorPubKey ]
296
308
let
297
309
expected = [
298
310
createLocal (createPubKey (1 )),
299
311
createRemote (createPubKey (2 ))
300
312
]
301
313
var keystores: seq [KeystoreData ]
302
- pool.updateDynamicValidators (remoteSignerUrl, keystores, addValidator)
314
+ pool.updateDynamicValidators (
315
+ remoteSignerUrl, keystores, keysFilter, addValidator)
316
+ pool[].checkPool (expected)
317
+
318
+ # Key filters test
319
+ block :
320
+ var keysFilter: HashSet [ValidatorPubKey ]
321
+ keysFilter.incl (createPubKey (4 ))
322
+ keysFilter.incl (createPubKey (5 ))
323
+ let
324
+ expected = [
325
+ createLocal (createPubKey (1 )),
326
+ createRemote (createPubKey (2 )),
327
+ createDynamic (remoteSignerUrl.url, createPubKey (4 )),
328
+ createDynamic (remoteSignerUrl.url, createPubKey (5 ))
329
+ ]
330
+ keystores = [
331
+ createDynamic (remoteSignerUrl.url, createPubKey (1 )),
332
+ createDynamic (remoteSignerUrl.url, createPubKey (2 )),
333
+ createDynamic (remoteSignerUrl.url, createPubKey (3 )),
334
+ createDynamic (remoteSignerUrl.url, createPubKey (4 )),
335
+ createDynamic (remoteSignerUrl.url, createPubKey (5 )),
336
+ ]
337
+ pool.updateDynamicValidators (
338
+ remoteSignerUrl, keystores, keysFilter, addValidator)
303
339
pool[].checkPool (expected)
0 commit comments