@aztec/slasher 1.0.0 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dest/config.d.ts.map +1 -1
- package/dest/config.js +13 -5
- package/dest/slasher_client.d.ts.map +1 -1
- package/dest/slasher_client.js +9 -3
- package/package.json +8 -8
- package/src/config.ts +22 -7
- package/src/slasher_client.ts +9 -3
package/dest/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAOnE,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAEjE,oBAAY,OAAO;IACjB,OAAO,IAAI;IACX,gBAAgB,IAAI;IACpB,kBAAkB,IAAI;IACtB,UAAU,IAAI;IACd,aAAa,IAAI;CAClB;AAED,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAMnD,CAAC;AAEF,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAexD;AAED,eAAO,MAAM,mBAAmB,EAAG,aAAsB,CAAC;AAE1D,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,UAAU,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;CAClB;AAGD,MAAM,WAAW,eAAe;IAC9B,CAAC,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,IAAI,CAAC;CAC1D;AAED,MAAM,MAAM,cAAc,GAAG,iBAAiB,CAAC,eAAe,CAAC,CAAC;AAEhE,MAAM,MAAM,YAAY,GAAG,CAAC,IAAI,EAAE,eAAe,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAEvE,MAAM,MAAM,OAAO,GAAG,cAAc,GAAG;IACrC,WAAW,EAAE,YAAY,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,IAAI,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B,CAAC;AAEF,MAAM,WAAW,aAAa;IAE5B,oBAAoB,CAAC,EAAE,UAAU,CAAC;IAClC,sBAAsB,EAAE,MAAM,CAAC;IAC/B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,wBAAwB,EAAE,OAAO,CAAC;IAClC,wBAAwB,EAAE,MAAM,CAAC;IACjC,2BAA2B,EAAE,MAAM,CAAC;IACpC,sBAAsB,EAAE,OAAO,CAAC;IAChC,qCAAqC,EAAE,MAAM,CAAC;IAC9C,qCAAqC,EAAE,MAAM,CAAC;IAC9C,4BAA4B,EAAE,MAAM,CAAC;IACrC,yBAAyB,EAAE,MAAM,CAAC;IAClC,wCAAwC,EAAE,MAAM,CAAC;CAElD;AAED,eAAO,MAAM,oBAAoB,EAAE,aAelC,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,kBAAkB,CAAC,aAAa,CAiFnE,CAAC"}
|
package/dest/config.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { bigintConfigHelper, booleanConfigHelper, numberConfigHelper } from '@aztec/foundation/config';
|
|
1
|
+
import { bigintConfigHelper, booleanConfigHelper, floatConfigHelper, numberConfigHelper } from '@aztec/foundation/config';
|
|
2
2
|
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
3
3
|
export var Offense = /*#__PURE__*/ function(Offense) {
|
|
4
4
|
Offense[Offense["UNKNOWN"] = 0] = "UNKNOWN";
|
|
@@ -97,13 +97,21 @@ export const slasherConfigMappings = {
|
|
|
97
97
|
},
|
|
98
98
|
slashInactivityCreateTargetPercentage: {
|
|
99
99
|
env: 'SLASH_INACTIVITY_CREATE_TARGET_PERCENTAGE',
|
|
100
|
-
description: 'Missed attestation percentage to trigger creation of inactivity slash payload (0
|
|
101
|
-
...
|
|
100
|
+
description: 'Missed attestation percentage to trigger creation of inactivity slash payload (0, 1]. Must be greater than 0',
|
|
101
|
+
...floatConfigHelper(DefaultSlasherConfig.slashInactivityCreateTargetPercentage, (v)=>{
|
|
102
|
+
if (v <= 0 || v > 1) {
|
|
103
|
+
throw new RangeError(`SLASH_INACTIVITY_CREATE_TARGET_PERCENTAGE out of range. Expected (0, 1] got ${v}`);
|
|
104
|
+
}
|
|
105
|
+
})
|
|
102
106
|
},
|
|
103
107
|
slashInactivitySignalTargetPercentage: {
|
|
104
108
|
env: 'SLASH_INACTIVITY_SIGNAL_TARGET_PERCENTAGE',
|
|
105
|
-
description: 'Missed attestation percentage to trigger voting for an inactivity slash payload (0
|
|
106
|
-
...
|
|
109
|
+
description: 'Missed attestation percentage to trigger voting for an inactivity slash payload (0, 1]. Must be greater than 0',
|
|
110
|
+
...floatConfigHelper(DefaultSlasherConfig.slashInactivitySignalTargetPercentage, (v)=>{
|
|
111
|
+
if (v <= 0 || v > 1) {
|
|
112
|
+
throw new RangeError(`SLASH_INACTIVITY_SIGNAL_TARGET_PERCENTAGE out of range. Expected (0, 1] got ${v}`);
|
|
113
|
+
}
|
|
114
|
+
})
|
|
107
115
|
},
|
|
108
116
|
slashInactivityCreatePenalty: {
|
|
109
117
|
env: 'SLASH_INACTIVITY_CREATE_PENALTY',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slasher_client.d.ts","sourceRoot":"","sources":["../src/slasher_client.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,wBAAwB,EAC7B,KAAK,cAAc,EACnB,SAAS,EAGT,wBAAwB,EACzB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAG3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,EAEL,KAAK,qBAAqB,EAK3B,MAAM,MAAM,CAAC;AAEd,OAAO,EACL,OAAO,EACP,KAAK,aAAa,EAGlB,KAAK,OAAO,EAEb,MAAM,aAAa,CAAC;AAErB,KAAK,qBAAqB,GAAG;IAC3B,cAAc,EAAE,UAAU,CAAC;IAC3B,UAAU,EAAE,SAAS,UAAU,EAAE,CAAC;IAClC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,QAAQ,EAAE,SAAS,OAAO,EAAE,CAAC;IAC7B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBAAa,aAAa;IA+Bf,MAAM,EAAE,aAAa;IAC5B,SAAS,CAAC,oBAAoB,EAAE,qBAAqB,CAAC,OAAO,eAAe,EAAE,wBAAwB,CAAC;IACvG,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,GAAG;IApCb,OAAO,CAAC,iBAAiB,CAA+B;IACxD,OAAO,CAAC,gBAAgB,CAAsB;IAC9C,OAAO,CAAC,qBAAqB,CAAS;WAEzB,GAAG,CACd,MAAM,EAAE,aAAa,EACrB,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE,eAAe,GAAG,qBAAqB,CAAC,EACzF,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,OAAO,EAAE,EACnB,YAAY,EAAE,YAAY;gBAqBnB,MAAM,EAAE,aAAa,EAClB,oBAAoB,EAAE,qBAAqB,CAAC,OAAO,eAAe,EAAE,wBAAwB,CAAC,EAC/F,gBAAgB,EAAE,wBAAwB,EAC1C,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,OAAO,EAAE,EACnB,YAAY,EAAE,YAAY,EAC1B,GAAG,yCAA0B;IAOhC,KAAK;IAoBZ;;;OAGG;IACU,IAAI;IAeV,sBAAsB;IAK7B;;;;;;;OAOG;IACI,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,aAAa,CAAC;IAYlD;;;;;OAKG;IACI,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;IAoB5E;;;;;;OAMG;IACI,oBAAoB,IAAI,qBAAqB,EAAE;IAMtD;;;;;;;;OAQG;IACH,SAAS,CAAC,gBAAgB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,KAAK,MAAM,EAAE,CAAA;KAAE;IAiB1F;;;;OAIG;IACH,OAAO,CAAC,WAAW;IA4DnB;;;;;;;;OAQG;IACH,OAAO,CAAC,uBAAuB;IAc/B;;;;;OAKG;IACH,OAAO,CAAE,gCAAgC;IAezC,OAAO,CAAC,8BAA8B;IAgBtC;;;;OAIG;YACW,mBAAmB;IAgBjC;;;;;;;OAOG;YACW,mBAAmB;IAqBjC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAO7B;;;;;OAKG;IACH,OAAO,CAAC,qBAAqB;IAM7B;;;;;;OAMG;YACW,mBAAmB;
|
|
1
|
+
{"version":3,"file":"slasher_client.d.ts","sourceRoot":"","sources":["../src/slasher_client.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,wBAAwB,EAC7B,KAAK,cAAc,EACnB,SAAS,EAGT,wBAAwB,EACzB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAG3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,EAEL,KAAK,qBAAqB,EAK3B,MAAM,MAAM,CAAC;AAEd,OAAO,EACL,OAAO,EACP,KAAK,aAAa,EAGlB,KAAK,OAAO,EAEb,MAAM,aAAa,CAAC;AAErB,KAAK,qBAAqB,GAAG;IAC3B,cAAc,EAAE,UAAU,CAAC;IAC3B,UAAU,EAAE,SAAS,UAAU,EAAE,CAAC;IAClC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,QAAQ,EAAE,SAAS,OAAO,EAAE,CAAC;IAC7B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBAAa,aAAa;IA+Bf,MAAM,EAAE,aAAa;IAC5B,SAAS,CAAC,oBAAoB,EAAE,qBAAqB,CAAC,OAAO,eAAe,EAAE,wBAAwB,CAAC;IACvG,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,GAAG;IApCb,OAAO,CAAC,iBAAiB,CAA+B;IACxD,OAAO,CAAC,gBAAgB,CAAsB;IAC9C,OAAO,CAAC,qBAAqB,CAAS;WAEzB,GAAG,CACd,MAAM,EAAE,aAAa,EACrB,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE,eAAe,GAAG,qBAAqB,CAAC,EACzF,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,OAAO,EAAE,EACnB,YAAY,EAAE,YAAY;gBAqBnB,MAAM,EAAE,aAAa,EAClB,oBAAoB,EAAE,qBAAqB,CAAC,OAAO,eAAe,EAAE,wBAAwB,CAAC,EAC/F,gBAAgB,EAAE,wBAAwB,EAC1C,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,OAAO,EAAE,EACnB,YAAY,EAAE,YAAY,EAC1B,GAAG,yCAA0B;IAOhC,KAAK;IAoBZ;;;OAGG;IACU,IAAI;IAeV,sBAAsB;IAK7B;;;;;;;OAOG;IACI,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,aAAa,CAAC;IAYlD;;;;;OAKG;IACI,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;IAoB5E;;;;;;OAMG;IACI,oBAAoB,IAAI,qBAAqB,EAAE;IAMtD;;;;;;;;OAQG;IACH,SAAS,CAAC,gBAAgB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,KAAK,MAAM,EAAE,CAAA;KAAE;IAiB1F;;;;OAIG;IACH,OAAO,CAAC,WAAW;IA4DnB;;;;;;;;OAQG;IACH,OAAO,CAAC,uBAAuB;IAc/B;;;;;OAKG;IACH,OAAO,CAAE,gCAAgC;IAezC,OAAO,CAAC,8BAA8B;IAgBtC;;;;OAIG;YACW,mBAAmB;IAgBjC;;;;;;;OAOG;YACW,mBAAmB;IAqBjC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAO7B;;;;;OAKG;IACH,OAAO,CAAC,qBAAqB;IAM7B;;;;;;OAMG;YACW,mBAAmB;YAkCnB,uBAAuB;CAUtC"}
|
package/dest/slasher_client.js
CHANGED
|
@@ -369,7 +369,14 @@ import { WANT_TO_SLASH_EVENT, bigIntToOffense } from './config.js';
|
|
|
369
369
|
}
|
|
370
370
|
const nextRound = round + 1n;
|
|
371
371
|
this.log.info(`Waiting for round ${nextRound} to be reached`);
|
|
372
|
-
await this.slashingProposer.waitForRound(nextRound, this.config.slashProposerRoundPollingIntervalSeconds);
|
|
372
|
+
const reached = await this.slashingProposer.waitForRound(nextRound, this.config.slashProposerRoundPollingIntervalSeconds);
|
|
373
|
+
if (!reached) {
|
|
374
|
+
this.log.warn('Round not reached', {
|
|
375
|
+
proposal,
|
|
376
|
+
round
|
|
377
|
+
});
|
|
378
|
+
return;
|
|
379
|
+
}
|
|
373
380
|
this.log.info('Executing round', {
|
|
374
381
|
proposal,
|
|
375
382
|
round
|
|
@@ -386,8 +393,7 @@ import { WANT_TO_SLASH_EVENT, bigIntToOffense } from './config.js';
|
|
|
386
393
|
});
|
|
387
394
|
return;
|
|
388
395
|
} else {
|
|
389
|
-
this.log.
|
|
390
|
-
throw err;
|
|
396
|
+
this.log.warn('Error executing round', err);
|
|
391
397
|
}
|
|
392
398
|
});
|
|
393
399
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/slasher",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.1.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": "./dest/index.js",
|
|
@@ -54,19 +54,19 @@
|
|
|
54
54
|
]
|
|
55
55
|
},
|
|
56
56
|
"dependencies": {
|
|
57
|
-
"@aztec/epoch-cache": "1.
|
|
58
|
-
"@aztec/ethereum": "1.
|
|
59
|
-
"@aztec/foundation": "1.
|
|
60
|
-
"@aztec/l1-artifacts": "1.
|
|
61
|
-
"@aztec/stdlib": "1.
|
|
62
|
-
"@aztec/telemetry-client": "1.
|
|
57
|
+
"@aztec/epoch-cache": "1.1.0",
|
|
58
|
+
"@aztec/ethereum": "1.1.0",
|
|
59
|
+
"@aztec/foundation": "1.1.0",
|
|
60
|
+
"@aztec/l1-artifacts": "1.1.0",
|
|
61
|
+
"@aztec/stdlib": "1.1.0",
|
|
62
|
+
"@aztec/telemetry-client": "1.1.0",
|
|
63
63
|
"source-map-support": "^0.5.21",
|
|
64
64
|
"tslib": "^2.4.0",
|
|
65
65
|
"viem": "2.23.7",
|
|
66
66
|
"zod": "^3.23.8"
|
|
67
67
|
},
|
|
68
68
|
"devDependencies": {
|
|
69
|
-
"@aztec/aztec.js": "1.
|
|
69
|
+
"@aztec/aztec.js": "1.1.0",
|
|
70
70
|
"@jest/globals": "^30.0.0",
|
|
71
71
|
"@types/jest": "^30.0.0",
|
|
72
72
|
"@types/node": "^22.15.17",
|
package/src/config.ts
CHANGED
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
import type { ConfigMappingsType } from '@aztec/foundation/config';
|
|
2
|
-
import {
|
|
2
|
+
import {
|
|
3
|
+
bigintConfigHelper,
|
|
4
|
+
booleanConfigHelper,
|
|
5
|
+
floatConfigHelper,
|
|
6
|
+
numberConfigHelper,
|
|
7
|
+
} from '@aztec/foundation/config';
|
|
3
8
|
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
4
9
|
import type { TypedEventEmitter } from '@aztec/foundation/types';
|
|
5
10
|
|
|
@@ -70,8 +75,8 @@ export interface SlasherConfig {
|
|
|
70
75
|
slashInvalidBlockPenalty: bigint;
|
|
71
76
|
slashInvalidBlockMaxPenalty: bigint;
|
|
72
77
|
slashInactivityEnabled: boolean;
|
|
73
|
-
slashInactivityCreateTargetPercentage: number; // 0-1, 0.9 means 90
|
|
74
|
-
slashInactivitySignalTargetPercentage: number; // 0-1, 0.6 means 60
|
|
78
|
+
slashInactivityCreateTargetPercentage: number; // 0-1, 0.9 means 90%. Must be greater than 0
|
|
79
|
+
slashInactivitySignalTargetPercentage: number; // 0-1, 0.6 means 60%. Must be greater than 0
|
|
75
80
|
slashInactivityCreatePenalty: bigint;
|
|
76
81
|
slashInactivityMaxPenalty: bigint;
|
|
77
82
|
slashProposerRoundPollingIntervalSeconds: number;
|
|
@@ -144,13 +149,23 @@ export const slasherConfigMappings: ConfigMappingsType<SlasherConfig> = {
|
|
|
144
149
|
},
|
|
145
150
|
slashInactivityCreateTargetPercentage: {
|
|
146
151
|
env: 'SLASH_INACTIVITY_CREATE_TARGET_PERCENTAGE',
|
|
147
|
-
description:
|
|
148
|
-
|
|
152
|
+
description:
|
|
153
|
+
'Missed attestation percentage to trigger creation of inactivity slash payload (0, 1]. Must be greater than 0',
|
|
154
|
+
...floatConfigHelper(DefaultSlasherConfig.slashInactivityCreateTargetPercentage, v => {
|
|
155
|
+
if (v <= 0 || v > 1) {
|
|
156
|
+
throw new RangeError(`SLASH_INACTIVITY_CREATE_TARGET_PERCENTAGE out of range. Expected (0, 1] got ${v}`);
|
|
157
|
+
}
|
|
158
|
+
}),
|
|
149
159
|
},
|
|
150
160
|
slashInactivitySignalTargetPercentage: {
|
|
151
161
|
env: 'SLASH_INACTIVITY_SIGNAL_TARGET_PERCENTAGE',
|
|
152
|
-
description:
|
|
153
|
-
|
|
162
|
+
description:
|
|
163
|
+
'Missed attestation percentage to trigger voting for an inactivity slash payload (0, 1]. Must be greater than 0',
|
|
164
|
+
...floatConfigHelper(DefaultSlasherConfig.slashInactivitySignalTargetPercentage, v => {
|
|
165
|
+
if (v <= 0 || v > 1) {
|
|
166
|
+
throw new RangeError(`SLASH_INACTIVITY_SIGNAL_TARGET_PERCENTAGE out of range. Expected (0, 1] got ${v}`);
|
|
167
|
+
}
|
|
168
|
+
}),
|
|
154
169
|
},
|
|
155
170
|
slashInactivityCreatePenalty: {
|
|
156
171
|
env: 'SLASH_INACTIVITY_CREATE_PENALTY',
|
package/src/slasher_client.ts
CHANGED
|
@@ -449,7 +449,14 @@ export class SlasherClient {
|
|
|
449
449
|
|
|
450
450
|
const nextRound = round + 1n;
|
|
451
451
|
this.log.info(`Waiting for round ${nextRound} to be reached`);
|
|
452
|
-
await this.slashingProposer.waitForRound(
|
|
452
|
+
const reached = await this.slashingProposer.waitForRound(
|
|
453
|
+
nextRound,
|
|
454
|
+
this.config.slashProposerRoundPollingIntervalSeconds,
|
|
455
|
+
);
|
|
456
|
+
if (!reached) {
|
|
457
|
+
this.log.warn('Round not reached', { proposal, round });
|
|
458
|
+
return;
|
|
459
|
+
}
|
|
453
460
|
this.log.info('Executing round', { proposal, round });
|
|
454
461
|
|
|
455
462
|
await this.slashingProposer
|
|
@@ -462,8 +469,7 @@ export class SlasherClient {
|
|
|
462
469
|
this.log.debug('Round already executed', { round });
|
|
463
470
|
return;
|
|
464
471
|
} else {
|
|
465
|
-
this.log.
|
|
466
|
-
throw err;
|
|
472
|
+
this.log.warn('Error executing round', err);
|
|
467
473
|
}
|
|
468
474
|
});
|
|
469
475
|
}
|