@aztec/aztec-node 1.0.0-nightly.20250604 → 1.0.0-nightly.20250606
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/aztec-node/server.d.ts.map +1 -1
- package/dest/aztec-node/server.js +10 -6
- package/dest/bin/index.js +4 -2
- package/dest/index.d.ts +0 -1
- package/dest/index.d.ts.map +1 -1
- package/dest/index.js +0 -1
- package/dest/sentinel/sentinel.d.ts +4 -5
- package/dest/sentinel/sentinel.d.ts.map +1 -1
- package/dest/sentinel/sentinel.js +23 -14
- package/package.json +23 -23
- package/src/aztec-node/server.ts +15 -6
- package/src/bin/index.ts +4 -2
- package/src/index.ts +0 -1
- package/src/sentinel/sentinel.ts +26 -11
- package/dest/aztec-node/http_rpc_server.d.ts +0 -8
- package/dest/aztec-node/http_rpc_server.d.ts.map +0 -1
- package/dest/aztec-node/http_rpc_server.js +0 -9
- package/src/aztec-node/http_rpc_server.ts +0 -11
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/aztec-node/server.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/aztec-node/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@ function _ts_decorate(decorators, target, key, desc) {
|
|
|
5
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
6
|
}
|
|
7
7
|
import { createArchiver } from '@aztec/archiver';
|
|
8
|
-
import { BBCircuitVerifier, TestCircuitVerifier } from '@aztec/bb-prover';
|
|
8
|
+
import { BBCircuitVerifier, QueuedIVCVerifier, TestCircuitVerifier } from '@aztec/bb-prover';
|
|
9
9
|
import { createBlobSinkClient } from '@aztec/blob-sink/client';
|
|
10
10
|
import { INITIAL_L2_BLOCK_NUM } from '@aztec/constants';
|
|
11
11
|
import { EpochCache } from '@aztec/epoch-cache';
|
|
@@ -142,10 +142,11 @@ import { NodeMetrics } from './node_metrics.js';
|
|
|
142
142
|
}, telemetry);
|
|
143
143
|
// now create the merkle trees and the world state synchronizer
|
|
144
144
|
const worldStateSynchronizer = await createWorldStateSynchronizer(config, archiver, options.prefilledPublicData, telemetry);
|
|
145
|
-
const
|
|
145
|
+
const circuitVerifier = config.realProofs ? await BBCircuitVerifier.new(config) : new TestCircuitVerifier();
|
|
146
146
|
if (!config.realProofs) {
|
|
147
147
|
log.warn(`Aztec node is accepting fake proofs`);
|
|
148
148
|
}
|
|
149
|
+
const proofVerifier = new QueuedIVCVerifier(config, circuitVerifier);
|
|
149
150
|
const epochCache = await EpochCache.create(config.l1Contracts.rollupAddress, config, {
|
|
150
151
|
dateProvider
|
|
151
152
|
});
|
|
@@ -157,11 +158,13 @@ import { NodeMetrics } from './node_metrics.js';
|
|
|
157
158
|
await p2pClient.start();
|
|
158
159
|
const watchers = [];
|
|
159
160
|
const validatorsSentinel = await createSentinel(epochCache, archiver, p2pClient, config);
|
|
160
|
-
if (validatorsSentinel) {
|
|
161
|
+
if (validatorsSentinel && config.slashInactivityEnabled) {
|
|
161
162
|
watchers.push(validatorsSentinel);
|
|
162
163
|
}
|
|
163
|
-
|
|
164
|
-
|
|
164
|
+
if (config.slashPruneEnabled) {
|
|
165
|
+
const epochPruneWatcher = new EpochPruneWatcher(archiver, epochCache, config.slashPrunePenalty, config.slashPruneMaxPenalty);
|
|
166
|
+
watchers.push(epochPruneWatcher);
|
|
167
|
+
}
|
|
165
168
|
const slasherClient = await SlasherClient.new(config, config.l1Contracts, l1TxUtils, watchers, dateProvider);
|
|
166
169
|
await slasherClient.start();
|
|
167
170
|
const blockBuilder = new BlockBuilder({
|
|
@@ -382,6 +385,7 @@ import { NodeMetrics } from './node_metrics.js';
|
|
|
382
385
|
this.log.info(`Stopping`);
|
|
383
386
|
await this.txQueue.end();
|
|
384
387
|
// await this.validatorsSentinel?.stop(); <- The slasher client will stop this
|
|
388
|
+
await this.proofVerifier.stop();
|
|
385
389
|
await this.sequencer?.stop();
|
|
386
390
|
await this.p2pClient.stop();
|
|
387
391
|
await this.worldStateSynchronizer.stop();
|
|
@@ -662,7 +666,7 @@ import { NodeMetrics } from './node_metrics.js';
|
|
|
662
666
|
throw failedTxs[0].error;
|
|
663
667
|
}
|
|
664
668
|
const [processedTx] = processedTxs;
|
|
665
|
-
return new PublicSimulationOutput(processedTx.revertReason, processedTx.
|
|
669
|
+
return new PublicSimulationOutput(processedTx.revertReason, processedTx.globalVariables, processedTx.txEffect, returns, processedTx.gasUsed);
|
|
666
670
|
} finally{
|
|
667
671
|
await merkleTreeFork.close();
|
|
668
672
|
}
|
package/dest/bin/index.js
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
#!/usr/bin/env -S node --no-warnings
|
|
2
2
|
import { createLogger } from '@aztec/foundation/log';
|
|
3
|
+
import { AztecNodeApiSchema } from '@aztec/stdlib/interfaces/client';
|
|
4
|
+
import { createTracedJsonRpcServer } from '@aztec/telemetry-client';
|
|
3
5
|
import http from 'http';
|
|
4
|
-
import { AztecNodeService,
|
|
6
|
+
import { AztecNodeService, getConfigEnvVars } from '../index.js';
|
|
5
7
|
const { AZTEC_NODE_PORT = 8081, API_PREFIX = '' } = process.env;
|
|
6
8
|
const logger = createLogger('node');
|
|
7
9
|
/**
|
|
@@ -26,7 +28,7 @@ const logger = createLogger('node');
|
|
|
26
28
|
process.once('SIGINT', shutdown);
|
|
27
29
|
// eslint-disable-next-line @typescript-eslint/no-misused-promises
|
|
28
30
|
process.once('SIGTERM', shutdown);
|
|
29
|
-
const rpcServer =
|
|
31
|
+
const rpcServer = createTracedJsonRpcServer(aztecNode, AztecNodeApiSchema);
|
|
30
32
|
const app = rpcServer.getApp(API_PREFIX);
|
|
31
33
|
// eslint-disable-next-line @typescript-eslint/no-misused-promises
|
|
32
34
|
const httpServer = http.createServer(app.callback());
|
package/dest/index.d.ts
CHANGED
package/dest/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC"}
|
package/dest/index.js
CHANGED
|
@@ -3,8 +3,7 @@ import { EthAddress } from '@aztec/foundation/eth-address';
|
|
|
3
3
|
import { RunningPromise } from '@aztec/foundation/running-promise';
|
|
4
4
|
import { type L2TipsStore } from '@aztec/kv-store/stores';
|
|
5
5
|
import type { P2PClient } from '@aztec/p2p';
|
|
6
|
-
import type { SlasherConfig, Watcher, WatcherEmitter } from '@aztec/slasher/config';
|
|
7
|
-
import { Offence } from '@aztec/slasher/config';
|
|
6
|
+
import type { SlasherConfig, WantToSlashArgs, Watcher, WatcherEmitter } from '@aztec/slasher/config';
|
|
8
7
|
import { type L2BlockSource, L2BlockStream, type L2BlockStreamEvent, type L2BlockStreamEventHandler } from '@aztec/stdlib/block';
|
|
9
8
|
import type { ValidatorStats, ValidatorStatusHistory, ValidatorStatusInSlot, ValidatorStatusType, ValidatorsEpochPerformance, ValidatorsStats } from '@aztec/stdlib/validators';
|
|
10
9
|
import { SentinelStore } from './store.js';
|
|
@@ -14,7 +13,7 @@ export declare class Sentinel extends Sentinel_base implements L2BlockStreamEven
|
|
|
14
13
|
protected archiver: L2BlockSource;
|
|
15
14
|
protected p2p: P2PClient;
|
|
16
15
|
protected store: SentinelStore;
|
|
17
|
-
protected config: Pick<SlasherConfig, 'slashInactivityCreateTargetPercentage' | 'slashInactivityCreatePenalty' | 'slashInactivitySignalTargetPercentage' | 'slashPayloadTtlSeconds'>;
|
|
16
|
+
protected config: Pick<SlasherConfig, 'slashInactivityCreateTargetPercentage' | 'slashInactivityCreatePenalty' | 'slashInactivitySignalTargetPercentage' | 'slashInactivityMaxPenalty' | 'slashPayloadTtlSeconds'>;
|
|
18
17
|
protected logger: import("@aztec/foundation/log").Logger;
|
|
19
18
|
protected runningPromise: RunningPromise;
|
|
20
19
|
protected blockStream: L2BlockStream;
|
|
@@ -26,7 +25,7 @@ export declare class Sentinel extends Sentinel_base implements L2BlockStreamEven
|
|
|
26
25
|
archive: string;
|
|
27
26
|
attestors: EthAddress[];
|
|
28
27
|
}>;
|
|
29
|
-
constructor(epochCache: EpochCache, archiver: L2BlockSource, p2p: P2PClient, store: SentinelStore, config: Pick<SlasherConfig, 'slashInactivityCreateTargetPercentage' | 'slashInactivityCreatePenalty' | 'slashInactivitySignalTargetPercentage' | 'slashPayloadTtlSeconds'>, logger?: import("@aztec/foundation/log").Logger);
|
|
28
|
+
constructor(epochCache: EpochCache, archiver: L2BlockSource, p2p: P2PClient, store: SentinelStore, config: Pick<SlasherConfig, 'slashInactivityCreateTargetPercentage' | 'slashInactivityCreatePenalty' | 'slashInactivitySignalTargetPercentage' | 'slashInactivityMaxPenalty' | 'slashPayloadTtlSeconds'>, logger?: import("@aztec/foundation/log").Logger);
|
|
30
29
|
start(): Promise<void>;
|
|
31
30
|
/** Loads initial slot and initializes blockstream. We will not process anything at or before the initial slot. */
|
|
32
31
|
protected init(): Promise<void>;
|
|
@@ -36,7 +35,7 @@ export declare class Sentinel extends Sentinel_base implements L2BlockStreamEven
|
|
|
36
35
|
protected computeProvenPerformance(epoch: bigint): Promise<ValidatorsEpochPerformance>;
|
|
37
36
|
protected updateProvenPerformance(epoch: bigint, performance: ValidatorsEpochPerformance): Promise<void>;
|
|
38
37
|
protected handleProvenPerformance(performance: ValidatorsEpochPerformance): void;
|
|
39
|
-
shouldSlash(
|
|
38
|
+
shouldSlash({ validator, amount }: WantToSlashArgs): Promise<boolean>;
|
|
40
39
|
/**
|
|
41
40
|
* Process data for two L2 slots ago.
|
|
42
41
|
* Note that we do not process historical data, since we rely on p2p data for processing,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sentinel.d.ts","sourceRoot":"","sources":["../../src/sentinel/sentinel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAE3D,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,EAAqB,KAAK,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC7E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,KAAK,EAAE,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"sentinel.d.ts","sourceRoot":"","sources":["../../src/sentinel/sentinel.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ import { EthAddress } from '@aztec/foundation/eth-address';
|
|
|
3
3
|
import { createLogger } from '@aztec/foundation/log';
|
|
4
4
|
import { RunningPromise } from '@aztec/foundation/running-promise';
|
|
5
5
|
import { L2TipsMemoryStore } from '@aztec/kv-store/stores';
|
|
6
|
-
import {
|
|
6
|
+
import { Offense, WANT_TO_SLASH_EVENT } from '@aztec/slasher/config';
|
|
7
7
|
import { L2BlockStream, getAttestationsFromPublishedL2Block } from '@aztec/stdlib/block';
|
|
8
8
|
import { getEpochAtSlot, getTimestampForSlot } from '@aztec/stdlib/epoch-helpers';
|
|
9
9
|
import EventEmitter from 'node:events';
|
|
@@ -126,28 +126,37 @@ export class Sentinel extends EventEmitter {
|
|
|
126
126
|
const criminals = Object.entries(performance).filter(([_, { missed, total }])=>{
|
|
127
127
|
return missed / total >= this.config.slashInactivityCreateTargetPercentage;
|
|
128
128
|
}).map(([address])=>address);
|
|
129
|
-
const
|
|
130
|
-
|
|
129
|
+
const args = criminals.map((address)=>({
|
|
130
|
+
validator: EthAddress.fromString(address),
|
|
131
|
+
amount: this.config.slashInactivityCreatePenalty,
|
|
132
|
+
offense: Offense.INACTIVITY
|
|
133
|
+
}));
|
|
131
134
|
this.logger.info(`Criminals: ${criminals.length}`, {
|
|
132
|
-
|
|
133
|
-
amounts,
|
|
134
|
-
offenses
|
|
135
|
+
args
|
|
135
136
|
});
|
|
136
137
|
if (criminals.length > 0) {
|
|
137
|
-
this.emit(WANT_TO_SLASH_EVENT,
|
|
138
|
-
validators: criminals,
|
|
139
|
-
amounts,
|
|
140
|
-
offenses
|
|
141
|
-
});
|
|
138
|
+
this.emit(WANT_TO_SLASH_EVENT, args);
|
|
142
139
|
}
|
|
143
140
|
}
|
|
144
|
-
async shouldSlash(validator,
|
|
141
|
+
async shouldSlash({ validator, amount }) {
|
|
145
142
|
const l1Constants = this.epochCache.getL1Constants();
|
|
146
143
|
const ttlL2Slots = this.config.slashPayloadTtlSeconds / l1Constants.slotDuration;
|
|
147
144
|
const ttlEpochs = BigInt(Math.ceil(ttlL2Slots / l1Constants.epochDuration));
|
|
148
145
|
const currentEpoch = this.epochCache.getEpochAndSlotNow().epoch;
|
|
149
|
-
const performance = await this.store.getProvenPerformance(
|
|
150
|
-
|
|
146
|
+
const performance = await this.store.getProvenPerformance(validator);
|
|
147
|
+
const isCriminal = performance.filter((p)=>p.epoch >= currentEpoch - ttlEpochs).findIndex((p)=>p.missed / p.total >= this.config.slashInactivitySignalTargetPercentage) !== -1;
|
|
148
|
+
if (isCriminal) {
|
|
149
|
+
if (amount <= this.config.slashInactivityMaxPenalty) {
|
|
150
|
+
return true;
|
|
151
|
+
} else {
|
|
152
|
+
this.logger.warn(`Validator ${validator} is a criminal but the penalty is too high`, {
|
|
153
|
+
amount,
|
|
154
|
+
maxPenalty: this.config.slashInactivityMaxPenalty
|
|
155
|
+
});
|
|
156
|
+
return false;
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
return false;
|
|
151
160
|
}
|
|
152
161
|
/**
|
|
153
162
|
* Process data for two L2 slots ago.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/aztec-node",
|
|
3
|
-
"version": "1.0.0-nightly.
|
|
3
|
+
"version": "1.0.0-nightly.20250606",
|
|
4
4
|
"main": "dest/index.js",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
@@ -61,28 +61,28 @@
|
|
|
61
61
|
]
|
|
62
62
|
},
|
|
63
63
|
"dependencies": {
|
|
64
|
-
"@aztec/archiver": "1.0.0-nightly.
|
|
65
|
-
"@aztec/bb-prover": "1.0.0-nightly.
|
|
66
|
-
"@aztec/blob-sink": "1.0.0-nightly.
|
|
67
|
-
"@aztec/constants": "1.0.0-nightly.
|
|
68
|
-
"@aztec/epoch-cache": "1.0.0-nightly.
|
|
69
|
-
"@aztec/ethereum": "1.0.0-nightly.
|
|
70
|
-
"@aztec/foundation": "1.0.0-nightly.
|
|
71
|
-
"@aztec/kv-store": "1.0.0-nightly.
|
|
72
|
-
"@aztec/l1-artifacts": "1.0.0-nightly.
|
|
73
|
-
"@aztec/merkle-tree": "1.0.0-nightly.
|
|
74
|
-
"@aztec/node-lib": "1.0.0-nightly.
|
|
75
|
-
"@aztec/noir-protocol-circuits-types": "1.0.0-nightly.
|
|
76
|
-
"@aztec/p2p": "1.0.0-nightly.
|
|
77
|
-
"@aztec/protocol-contracts": "1.0.0-nightly.
|
|
78
|
-
"@aztec/prover-client": "1.0.0-nightly.
|
|
79
|
-
"@aztec/sequencer-client": "1.0.0-nightly.
|
|
80
|
-
"@aztec/simulator": "1.0.0-nightly.
|
|
81
|
-
"@aztec/slasher": "1.0.0-nightly.
|
|
82
|
-
"@aztec/stdlib": "1.0.0-nightly.
|
|
83
|
-
"@aztec/telemetry-client": "1.0.0-nightly.
|
|
84
|
-
"@aztec/validator-client": "1.0.0-nightly.
|
|
85
|
-
"@aztec/world-state": "1.0.0-nightly.
|
|
64
|
+
"@aztec/archiver": "1.0.0-nightly.20250606",
|
|
65
|
+
"@aztec/bb-prover": "1.0.0-nightly.20250606",
|
|
66
|
+
"@aztec/blob-sink": "1.0.0-nightly.20250606",
|
|
67
|
+
"@aztec/constants": "1.0.0-nightly.20250606",
|
|
68
|
+
"@aztec/epoch-cache": "1.0.0-nightly.20250606",
|
|
69
|
+
"@aztec/ethereum": "1.0.0-nightly.20250606",
|
|
70
|
+
"@aztec/foundation": "1.0.0-nightly.20250606",
|
|
71
|
+
"@aztec/kv-store": "1.0.0-nightly.20250606",
|
|
72
|
+
"@aztec/l1-artifacts": "1.0.0-nightly.20250606",
|
|
73
|
+
"@aztec/merkle-tree": "1.0.0-nightly.20250606",
|
|
74
|
+
"@aztec/node-lib": "1.0.0-nightly.20250606",
|
|
75
|
+
"@aztec/noir-protocol-circuits-types": "1.0.0-nightly.20250606",
|
|
76
|
+
"@aztec/p2p": "1.0.0-nightly.20250606",
|
|
77
|
+
"@aztec/protocol-contracts": "1.0.0-nightly.20250606",
|
|
78
|
+
"@aztec/prover-client": "1.0.0-nightly.20250606",
|
|
79
|
+
"@aztec/sequencer-client": "1.0.0-nightly.20250606",
|
|
80
|
+
"@aztec/simulator": "1.0.0-nightly.20250606",
|
|
81
|
+
"@aztec/slasher": "1.0.0-nightly.20250606",
|
|
82
|
+
"@aztec/stdlib": "1.0.0-nightly.20250606",
|
|
83
|
+
"@aztec/telemetry-client": "1.0.0-nightly.20250606",
|
|
84
|
+
"@aztec/validator-client": "1.0.0-nightly.20250606",
|
|
85
|
+
"@aztec/world-state": "1.0.0-nightly.20250606",
|
|
86
86
|
"koa": "^2.16.1",
|
|
87
87
|
"koa-router": "^12.0.0",
|
|
88
88
|
"tslib": "^2.4.0",
|
package/src/aztec-node/server.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Archiver, createArchiver } from '@aztec/archiver';
|
|
2
|
-
import { BBCircuitVerifier, TestCircuitVerifier } from '@aztec/bb-prover';
|
|
2
|
+
import { BBCircuitVerifier, QueuedIVCVerifier, TestCircuitVerifier } from '@aztec/bb-prover';
|
|
3
3
|
import { type BlobSinkClientInterface, createBlobSinkClient } from '@aztec/blob-sink/client';
|
|
4
4
|
import {
|
|
5
5
|
type ARCHIVE_HEIGHT,
|
|
@@ -229,10 +229,11 @@ export class AztecNodeService implements AztecNode, AztecNodeAdmin, Traceable {
|
|
|
229
229
|
options.prefilledPublicData,
|
|
230
230
|
telemetry,
|
|
231
231
|
);
|
|
232
|
-
const
|
|
232
|
+
const circuitVerifier = config.realProofs ? await BBCircuitVerifier.new(config) : new TestCircuitVerifier();
|
|
233
233
|
if (!config.realProofs) {
|
|
234
234
|
log.warn(`Aztec node is accepting fake proofs`);
|
|
235
235
|
}
|
|
236
|
+
const proofVerifier = new QueuedIVCVerifier(config, circuitVerifier);
|
|
236
237
|
|
|
237
238
|
const epochCache = await EpochCache.create(config.l1Contracts.rollupAddress, config, { dateProvider });
|
|
238
239
|
|
|
@@ -257,11 +258,18 @@ export class AztecNodeService implements AztecNode, AztecNodeAdmin, Traceable {
|
|
|
257
258
|
const watchers: Watcher[] = [];
|
|
258
259
|
|
|
259
260
|
const validatorsSentinel = await createSentinel(epochCache, archiver, p2pClient, config);
|
|
260
|
-
if (validatorsSentinel) {
|
|
261
|
+
if (validatorsSentinel && config.slashInactivityEnabled) {
|
|
261
262
|
watchers.push(validatorsSentinel);
|
|
262
263
|
}
|
|
263
|
-
|
|
264
|
-
|
|
264
|
+
if (config.slashPruneEnabled) {
|
|
265
|
+
const epochPruneWatcher = new EpochPruneWatcher(
|
|
266
|
+
archiver,
|
|
267
|
+
epochCache,
|
|
268
|
+
config.slashPrunePenalty,
|
|
269
|
+
config.slashPruneMaxPenalty,
|
|
270
|
+
);
|
|
271
|
+
watchers.push(epochPruneWatcher);
|
|
272
|
+
}
|
|
265
273
|
|
|
266
274
|
const slasherClient = await SlasherClient.new(config, config.l1Contracts, l1TxUtils, watchers, dateProvider);
|
|
267
275
|
await slasherClient.start();
|
|
@@ -560,6 +568,7 @@ export class AztecNodeService implements AztecNode, AztecNodeAdmin, Traceable {
|
|
|
560
568
|
this.log.info(`Stopping`);
|
|
561
569
|
await this.txQueue.end();
|
|
562
570
|
// await this.validatorsSentinel?.stop(); <- The slasher client will stop this
|
|
571
|
+
await this.proofVerifier.stop();
|
|
563
572
|
await this.sequencer?.stop();
|
|
564
573
|
await this.p2pClient.stop();
|
|
565
574
|
await this.worldStateSynchronizer.stop();
|
|
@@ -953,7 +962,7 @@ export class AztecNodeService implements AztecNode, AztecNodeAdmin, Traceable {
|
|
|
953
962
|
const [processedTx] = processedTxs;
|
|
954
963
|
return new PublicSimulationOutput(
|
|
955
964
|
processedTx.revertReason,
|
|
956
|
-
processedTx.
|
|
965
|
+
processedTx.globalVariables,
|
|
957
966
|
processedTx.txEffect,
|
|
958
967
|
returns,
|
|
959
968
|
processedTx.gasUsed,
|
package/src/bin/index.ts
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
#!/usr/bin/env -S node --no-warnings
|
|
2
2
|
import { createLogger } from '@aztec/foundation/log';
|
|
3
|
+
import { AztecNodeApiSchema } from '@aztec/stdlib/interfaces/client';
|
|
4
|
+
import { createTracedJsonRpcServer } from '@aztec/telemetry-client';
|
|
3
5
|
|
|
4
6
|
import http from 'http';
|
|
5
7
|
|
|
6
|
-
import { type AztecNodeConfig, AztecNodeService,
|
|
8
|
+
import { type AztecNodeConfig, AztecNodeService, getConfigEnvVars } from '../index.js';
|
|
7
9
|
|
|
8
10
|
const { AZTEC_NODE_PORT = 8081, API_PREFIX = '' } = process.env;
|
|
9
11
|
|
|
@@ -37,7 +39,7 @@ async function main() {
|
|
|
37
39
|
// eslint-disable-next-line @typescript-eslint/no-misused-promises
|
|
38
40
|
process.once('SIGTERM', shutdown);
|
|
39
41
|
|
|
40
|
-
const rpcServer =
|
|
42
|
+
const rpcServer = createTracedJsonRpcServer(aztecNode, AztecNodeApiSchema);
|
|
41
43
|
const app = rpcServer.getApp(API_PREFIX);
|
|
42
44
|
|
|
43
45
|
// eslint-disable-next-line @typescript-eslint/no-misused-promises
|
package/src/index.ts
CHANGED
package/src/sentinel/sentinel.ts
CHANGED
|
@@ -5,8 +5,8 @@ import { createLogger } from '@aztec/foundation/log';
|
|
|
5
5
|
import { RunningPromise } from '@aztec/foundation/running-promise';
|
|
6
6
|
import { L2TipsMemoryStore, type L2TipsStore } from '@aztec/kv-store/stores';
|
|
7
7
|
import type { P2PClient } from '@aztec/p2p';
|
|
8
|
-
import type { SlasherConfig, Watcher, WatcherEmitter } from '@aztec/slasher/config';
|
|
9
|
-
import {
|
|
8
|
+
import type { SlasherConfig, WantToSlashArgs, Watcher, WatcherEmitter } from '@aztec/slasher/config';
|
|
9
|
+
import { Offense, WANT_TO_SLASH_EVENT } from '@aztec/slasher/config';
|
|
10
10
|
import {
|
|
11
11
|
type L2BlockSource,
|
|
12
12
|
L2BlockStream,
|
|
@@ -48,6 +48,7 @@ export class Sentinel extends (EventEmitter as new () => WatcherEmitter) impleme
|
|
|
48
48
|
| 'slashInactivityCreateTargetPercentage'
|
|
49
49
|
| 'slashInactivityCreatePenalty'
|
|
50
50
|
| 'slashInactivitySignalTargetPercentage'
|
|
51
|
+
| 'slashInactivityMaxPenalty'
|
|
51
52
|
| 'slashPayloadTtlSeconds'
|
|
52
53
|
>,
|
|
53
54
|
protected logger = createLogger('node:sentinel'),
|
|
@@ -165,28 +166,42 @@ export class Sentinel extends (EventEmitter as new () => WatcherEmitter) impleme
|
|
|
165
166
|
})
|
|
166
167
|
.map(([address]) => address as `0x${string}`);
|
|
167
168
|
|
|
168
|
-
const
|
|
169
|
-
|
|
169
|
+
const args = criminals.map(address => ({
|
|
170
|
+
validator: EthAddress.fromString(address),
|
|
171
|
+
amount: this.config.slashInactivityCreatePenalty,
|
|
172
|
+
offense: Offense.INACTIVITY,
|
|
173
|
+
}));
|
|
170
174
|
|
|
171
|
-
this.logger.info(`Criminals: ${criminals.length}`, {
|
|
175
|
+
this.logger.info(`Criminals: ${criminals.length}`, { args });
|
|
172
176
|
|
|
173
177
|
if (criminals.length > 0) {
|
|
174
|
-
this.emit(WANT_TO_SLASH_EVENT,
|
|
178
|
+
this.emit(WANT_TO_SLASH_EVENT, args);
|
|
175
179
|
}
|
|
176
180
|
}
|
|
177
181
|
|
|
178
|
-
public async shouldSlash(
|
|
182
|
+
public async shouldSlash({ validator, amount }: WantToSlashArgs): Promise<boolean> {
|
|
179
183
|
const l1Constants = this.epochCache.getL1Constants();
|
|
180
184
|
const ttlL2Slots = this.config.slashPayloadTtlSeconds / l1Constants.slotDuration;
|
|
181
185
|
const ttlEpochs = BigInt(Math.ceil(ttlL2Slots / l1Constants.epochDuration));
|
|
182
186
|
|
|
183
187
|
const currentEpoch = this.epochCache.getEpochAndSlotNow().epoch;
|
|
184
|
-
const performance = await this.store.getProvenPerformance(
|
|
185
|
-
|
|
188
|
+
const performance = await this.store.getProvenPerformance(validator);
|
|
189
|
+
const isCriminal =
|
|
186
190
|
performance
|
|
187
191
|
.filter(p => p.epoch >= currentEpoch - ttlEpochs)
|
|
188
|
-
.findIndex(p => p.missed / p.total >= this.config.slashInactivitySignalTargetPercentage) !== -1
|
|
189
|
-
)
|
|
192
|
+
.findIndex(p => p.missed / p.total >= this.config.slashInactivitySignalTargetPercentage) !== -1;
|
|
193
|
+
if (isCriminal) {
|
|
194
|
+
if (amount <= this.config.slashInactivityMaxPenalty) {
|
|
195
|
+
return true;
|
|
196
|
+
} else {
|
|
197
|
+
this.logger.warn(`Validator ${validator} is a criminal but the penalty is too high`, {
|
|
198
|
+
amount,
|
|
199
|
+
maxPenalty: this.config.slashInactivityMaxPenalty,
|
|
200
|
+
});
|
|
201
|
+
return false;
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
return false;
|
|
190
205
|
}
|
|
191
206
|
|
|
192
207
|
/**
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { type AztecNode } from '@aztec/stdlib/interfaces/client';
|
|
2
|
-
/**
|
|
3
|
-
* Wrap an AztecNode instance with a JSON RPC HTTP server.
|
|
4
|
-
* @param node - The AztecNode
|
|
5
|
-
* @returns An JSON-RPC HTTP server
|
|
6
|
-
*/
|
|
7
|
-
export declare function createAztecNodeRpcServer(node: AztecNode): import("@aztec/foundation/json-rpc/server").SafeJsonRpcServer;
|
|
8
|
-
//# sourceMappingURL=http_rpc_server.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"http_rpc_server.d.ts","sourceRoot":"","sources":["../../src/aztec-node/http_rpc_server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAsB,MAAM,iCAAiC,CAAC;AAGrF;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,SAAS,iEAEvD"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { AztecNodeApiSchema } from '@aztec/stdlib/interfaces/client';
|
|
2
|
-
import { createTracedJsonRpcServer } from '@aztec/telemetry-client';
|
|
3
|
-
/**
|
|
4
|
-
* Wrap an AztecNode instance with a JSON RPC HTTP server.
|
|
5
|
-
* @param node - The AztecNode
|
|
6
|
-
* @returns An JSON-RPC HTTP server
|
|
7
|
-
*/ export function createAztecNodeRpcServer(node) {
|
|
8
|
-
return createTracedJsonRpcServer(node, AztecNodeApiSchema);
|
|
9
|
-
}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { type AztecNode, AztecNodeApiSchema } from '@aztec/stdlib/interfaces/client';
|
|
2
|
-
import { createTracedJsonRpcServer } from '@aztec/telemetry-client';
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* Wrap an AztecNode instance with a JSON RPC HTTP server.
|
|
6
|
-
* @param node - The AztecNode
|
|
7
|
-
* @returns An JSON-RPC HTTP server
|
|
8
|
-
*/
|
|
9
|
-
export function createAztecNodeRpcServer(node: AztecNode) {
|
|
10
|
-
return createTracedJsonRpcServer(node, AztecNodeApiSchema);
|
|
11
|
-
}
|