@aztec/sequencer-client 0.0.1-commit.321f6a9 → 0.0.1-commit.330febf
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 +2 -1
- package/dest/config.d.ts.map +1 -1
- package/dest/config.js +6 -0
- package/dest/publisher/sequencer-publisher.d.ts +3 -2
- package/dest/publisher/sequencer-publisher.d.ts.map +1 -1
- package/dest/publisher/sequencer-publisher.js +34 -9
- package/dest/sequencer/automine/automine_sequencer.d.ts +1 -1
- package/dest/sequencer/automine/automine_sequencer.d.ts.map +1 -1
- package/dest/sequencer/automine/automine_sequencer.js +7 -1
- package/dest/sequencer/checkpoint_proposal_job.d.ts +1 -1
- package/dest/sequencer/checkpoint_proposal_job.d.ts.map +1 -1
- package/dest/sequencer/checkpoint_proposal_job.js +9 -1
- package/dest/sequencer/missing_committee.d.ts +72 -0
- package/dest/sequencer/missing_committee.d.ts.map +1 -0
- package/dest/sequencer/missing_committee.js +139 -0
- package/dest/sequencer/sequencer.d.ts +4 -3
- package/dest/sequencer/sequencer.d.ts.map +1 -1
- package/dest/sequencer/sequencer.js +13 -4
- package/package.json +26 -27
- package/src/config.ts +7 -0
- package/src/publisher/sequencer-publisher.ts +40 -9
- package/src/sequencer/automine/automine_sequencer.ts +5 -1
- package/src/sequencer/checkpoint_proposal_job.ts +5 -1
- package/src/sequencer/missing_committee.ts +192 -0
- package/src/sequencer/sequencer.ts +14 -5
package/dest/config.d.ts
CHANGED
|
@@ -36,6 +36,7 @@ export declare const DefaultSequencerConfig: {
|
|
|
36
36
|
injectUnrecoverableSignatureAttestation: false;
|
|
37
37
|
injectYParityAttestation: false;
|
|
38
38
|
fishermanMode: false;
|
|
39
|
+
governanceProposerForcePayloadVote: false;
|
|
39
40
|
shuffleAttestationOrdering: false;
|
|
40
41
|
skipPushProposedBlocksToArchiver: false;
|
|
41
42
|
skipPublishingCheckpointsPercent: number;
|
|
@@ -51,4 +52,4 @@ export declare const sequencerClientConfigMappings: ConfigMappingsType<Sequencer
|
|
|
51
52
|
* Creates an instance of SequencerClientConfig out of environment variables using sensible defaults for integration testing if not set.
|
|
52
53
|
*/
|
|
53
54
|
export declare function getConfigEnvVars(): SequencerClientConfig;
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLGlCQUFpQixFQUE2QixNQUFNLHdCQUF3QixDQUFDO0FBQzNGLE9BQU8sRUFBRSxLQUFLLGNBQWMsRUFBMEIsTUFBTSwyQkFBMkIsQ0FBQztBQUN4RixPQUFPLEVBQ0wsS0FBSyxrQkFBa0IsRUFPeEIsTUFBTSwwQkFBMEIsQ0FBQztBQUVsQyxPQUFPLEVBQUUsS0FBSyxjQUFjLEVBQTBCLE1BQU0sNkJBQTZCLENBQUM7QUFDMUYsT0FBTyxFQUFFLEtBQUssU0FBUyxFQUFxQixNQUFNLG1CQUFtQixDQUFDO0FBRXRFLE9BQU8sRUFDTCxLQUFLLFdBQVcsRUFHaEIsS0FBSyxlQUFlLEVBR3JCLE1BQU0sc0JBQXNCLENBQUM7QUFJOUIsT0FBTyxFQUFFLEtBQUsscUJBQXFCLEVBQWlDLE1BQU0sZ0NBQWdDLENBQUM7QUFFM0csT0FBTyxFQUNMLEtBQUssd0JBQXdCLEVBQzdCLEtBQUssdUJBQXVCLEVBRzdCLE1BQU0sdUJBQXVCLENBQUM7QUFFL0IsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxZQUFZLEVBQUUsZUFBZSxFQUFFLENBQUM7QUFFaEM7OztHQUdHO0FBQ0gsZUFBTyxNQUFNLHNCQUFzQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0E2QkEsQ0FBQztBQUVwQzs7R0FFRztBQUNILE1BQU0sTUFBTSxxQkFBcUIsR0FBRyx3QkFBd0IsR0FDMUQsY0FBYyxHQUNkLHFCQUFxQixHQUNyQix1QkFBdUIsR0FDdkIsZUFBZSxHQUNmLGNBQWMsR0FDZCxXQUFXLEdBQ1gsSUFBSSxDQUFDLFNBQVMsRUFBRSw4QkFBOEIsQ0FBQyxHQUMvQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsc0JBQXNCLEdBQUcsbUJBQW1CLEdBQUcsb0JBQW9CLENBQUMsQ0FBQztBQUUvRixlQUFPLE1BQU0sdUJBQXVCLEVBQUUsa0JBQWtCLENBQUMsZUFBZSxDQW9NdkUsQ0FBQztBQUVGLGVBQU8sTUFBTSw2QkFBNkIsRUFBRSxrQkFBa0IsQ0FBQyxxQkFBcUIsQ0FTbkYsQ0FBQztBQUVGOztHQUVHO0FBQ0gsd0JBQWdCLGdCQUFnQixJQUFJLHFCQUFxQixDQUV4RCJ9
|
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,EAAE,KAAK,iBAAiB,EAA6B,MAAM,wBAAwB,CAAC;AAC3F,OAAO,EAAE,KAAK,cAAc,EAA0B,MAAM,2BAA2B,CAAC;AACxF,OAAO,EACL,KAAK,kBAAkB,EAOxB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,KAAK,cAAc,EAA0B,MAAM,6BAA6B,CAAC;AAC1F,OAAO,EAAE,KAAK,SAAS,EAAqB,MAAM,mBAAmB,CAAC;AAEtE,OAAO,EACL,KAAK,WAAW,EAGhB,KAAK,eAAe,EAGrB,MAAM,sBAAsB,CAAC;AAI9B,OAAO,EAAE,KAAK,qBAAqB,EAAiC,MAAM,gCAAgC,CAAC;AAE3G,OAAO,EACL,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,EAG7B,MAAM,uBAAuB,CAAC;AAE/B,cAAc,uBAAuB,CAAC;AACtC,YAAY,EAAE,eAAe,EAAE,CAAC;AAEhC;;;GAGG;AACH,eAAO,MAAM,sBAAsB
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,iBAAiB,EAA6B,MAAM,wBAAwB,CAAC;AAC3F,OAAO,EAAE,KAAK,cAAc,EAA0B,MAAM,2BAA2B,CAAC;AACxF,OAAO,EACL,KAAK,kBAAkB,EAOxB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,KAAK,cAAc,EAA0B,MAAM,6BAA6B,CAAC;AAC1F,OAAO,EAAE,KAAK,SAAS,EAAqB,MAAM,mBAAmB,CAAC;AAEtE,OAAO,EACL,KAAK,WAAW,EAGhB,KAAK,eAAe,EAGrB,MAAM,sBAAsB,CAAC;AAI9B,OAAO,EAAE,KAAK,qBAAqB,EAAiC,MAAM,gCAAgC,CAAC;AAE3G,OAAO,EACL,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,EAG7B,MAAM,uBAAuB,CAAC;AAE/B,cAAc,uBAAuB,CAAC;AACtC,YAAY,EAAE,eAAe,EAAE,CAAC;AAEhC;;;GAGG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6BA,CAAC;AAEpC;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG,wBAAwB,GAC1D,cAAc,GACd,qBAAqB,GACrB,uBAAuB,GACvB,eAAe,GACf,cAAc,GACd,WAAW,GACX,IAAI,CAAC,SAAS,EAAE,8BAA8B,CAAC,GAC/C,IAAI,CAAC,iBAAiB,EAAE,sBAAsB,GAAG,mBAAmB,GAAG,oBAAoB,CAAC,CAAC;AAE/F,eAAO,MAAM,uBAAuB,EAAE,kBAAkB,CAAC,eAAe,CAoMvE,CAAC;AAEF,eAAO,MAAM,6BAA6B,EAAE,kBAAkB,CAAC,qBAAqB,CASnF,CAAC;AAEF;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,qBAAqB,CAExD"}
|
package/dest/config.js
CHANGED
|
@@ -38,6 +38,7 @@ export * from './publisher/config.js';
|
|
|
38
38
|
injectUnrecoverableSignatureAttestation: false,
|
|
39
39
|
injectYParityAttestation: false,
|
|
40
40
|
fishermanMode: false,
|
|
41
|
+
governanceProposerForcePayloadVote: false,
|
|
41
42
|
shuffleAttestationOrdering: false,
|
|
42
43
|
skipPushProposedBlocksToArchiver: false,
|
|
43
44
|
skipPublishingCheckpointsPercent: 0,
|
|
@@ -115,6 +116,11 @@ export const sequencerConfigMappings = {
|
|
|
115
116
|
description: 'The address of the payload for the governanceProposer',
|
|
116
117
|
parseEnv: (val)=>EthAddress.fromString(val)
|
|
117
118
|
},
|
|
119
|
+
governanceProposerForcePayloadVote: {
|
|
120
|
+
env: 'GOVERNANCE_PROPOSER_FORCE_PAYLOAD_VOTE',
|
|
121
|
+
description: 'Keep signalling the configured governance payload even if a proposal referencing it was already executed.',
|
|
122
|
+
...booleanConfigHelper(DefaultSequencerConfig.governanceProposerForcePayloadVote)
|
|
123
|
+
},
|
|
118
124
|
l1PublishingTime: {
|
|
119
125
|
env: 'SEQ_L1_PUBLISHING_TIME_ALLOWANCE_IN_SLOT',
|
|
120
126
|
description: 'How much time in seconds to allow in the slot for publishing the L1 transaction.',
|
|
@@ -13,6 +13,7 @@ import { type DateProvider } from '@aztec/foundation/timer';
|
|
|
13
13
|
import { type ProposerSlashAction } from '@aztec/slasher';
|
|
14
14
|
import { CommitteeAttestationsAndSigners, type ValidateCheckpointResult } from '@aztec/stdlib/block';
|
|
15
15
|
import type { Checkpoint } from '@aztec/stdlib/checkpoint';
|
|
16
|
+
import type { SequencerConfig } from '@aztec/stdlib/config';
|
|
16
17
|
import type { CheckpointHeader } from '@aztec/stdlib/rollup';
|
|
17
18
|
import { type TelemetryClient, type Tracer } from '@aztec/telemetry-client';
|
|
18
19
|
import { type TransactionReceipt, type TypedDataDefinition } from 'viem';
|
|
@@ -98,7 +99,7 @@ export declare class SequencerPublisher {
|
|
|
98
99
|
slashingProposerContract: SlashingProposerContract | undefined;
|
|
99
100
|
readonly tracer: Tracer;
|
|
100
101
|
protected requests: RequestWithExpiry[];
|
|
101
|
-
constructor(config: Pick<SequencerPublisherConfig, 'fishermanMode' | 'l1TxFailedStore' | 'sequencerPublisherPreviousL1BlockWaitTimeoutMs' | 'sequencerPublisherPreviousL1BlockWaitPollIntervalMs'> & Pick<L1ContractsConfig, 'ethereumSlotDuration' | 'aztecSlotDuration'> & {
|
|
102
|
+
constructor(config: Pick<SequencerPublisherConfig, 'fishermanMode' | 'l1TxFailedStore' | 'sequencerPublisherPreviousL1BlockWaitTimeoutMs' | 'sequencerPublisherPreviousL1BlockWaitPollIntervalMs'> & Pick<SequencerConfig, 'governanceProposerForcePayloadVote'> & Pick<L1ContractsConfig, 'ethereumSlotDuration' | 'aztecSlotDuration'> & {
|
|
102
103
|
l1ChainId: number;
|
|
103
104
|
}, deps: {
|
|
104
105
|
telemetry?: TelemetryClient;
|
|
@@ -250,4 +251,4 @@ export declare class SequencerPublisher {
|
|
|
250
251
|
private getNextL1SlotTimestamp;
|
|
251
252
|
}
|
|
252
253
|
export {};
|
|
253
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
254
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VxdWVuY2VyLXB1Ymxpc2hlci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3B1Ymxpc2hlci9zZXF1ZW5jZXItcHVibGlzaGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFckUsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDckQsT0FBTyxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNoRSxPQUFPLEVBRUwsS0FBSywwQkFBMEIsRUFLL0IsS0FBSyxjQUFjLEVBQ25CLEtBQUssdUJBQXVCLEVBQzVCLEtBQUssd0JBQXdCLEVBRTlCLE1BQU0sMkJBQTJCLENBQUM7QUFDbkMsT0FBTyxFQUFFLEtBQUssbUJBQW1CLEVBQUUsYUFBYSxFQUEwQixNQUFNLGlDQUFpQyxDQUFDO0FBQ2xILE9BQU8sRUFDTCxLQUFLLFlBQVksRUFDakIsS0FBSyxVQUFVLEVBQ2YsS0FBSyxXQUFXLEVBRWhCLEtBQUssU0FBUyxFQUVkLEtBQUssZ0JBQWdCLEVBRXRCLE1BQU0sNkJBQTZCLENBQUM7QUFRckMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFVBQVUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRy9FLE9BQU8sS0FBSyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXpELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDNUQsT0FBTyxFQUFFLEtBQUssTUFBTSxFQUFnQixNQUFNLHVCQUF1QixDQUFDO0FBR2xFLE9BQU8sRUFBRSxLQUFLLFlBQVksRUFBUyxNQUFNLHlCQUF5QixDQUFDO0FBRW5FLE9BQU8sRUFBRSxLQUFLLG1CQUFtQixFQUE2QixNQUFNLGdCQUFnQixDQUFDO0FBQ3JGLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxLQUFLLHdCQUF3QixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDckcsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxLQUFLLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFNNUQsT0FBTyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUU3RCxPQUFPLEVBQUUsS0FBSyxlQUFlLEVBQUUsS0FBSyxNQUFNLEVBQWlDLE1BQU0seUJBQXlCLENBQUM7QUFFM0csT0FBTyxFQUdMLEtBQUssa0JBQWtCLEVBQ3ZCLEtBQUssbUJBQW1CLEVBSXpCLE1BQU0sTUFBTSxDQUFDO0FBRWQsT0FBTyxLQUFLLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFHNUQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFpQjdFLDJGQUEyRjtBQUMzRixNQUFNLE1BQU0sa0JBQWtCLEdBQUc7SUFDL0IsNkRBQTZEO0lBQzdELE1BQU0sRUFBRTtRQUFFLE9BQU8sRUFBRSxrQkFBa0IsQ0FBQTtLQUFFLENBQUM7SUFDeEMsOEVBQThFO0lBQzlFLGNBQWMsRUFBRSxNQUFNLEVBQUUsQ0FBQztJQUN6Qiw2REFBNkQ7SUFDN0QsV0FBVyxFQUFFLE1BQU0sRUFBRSxDQUFDO0lBQ3RCLHFFQUFxRTtJQUNyRSxpQkFBaUIsRUFBRSxNQUFNLEVBQUUsQ0FBQztJQUM1QixrRUFBa0U7SUFDbEUsYUFBYSxFQUFFLE1BQU0sRUFBRSxDQUFDO0NBQ3pCLENBQUM7QUFrQkYsZUFBTyxNQUFNLE9BQU8sc0tBUVYsQ0FBQztBQUVYLE1BQU0sTUFBTSxNQUFNLEdBQUcsQ0FBQyxPQUFPLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBSzlDLGVBQU8sTUFBTSxjQUFjLG9WQUFvRSxDQUFDO0FBRWhHLE1BQU0sTUFBTSwyQkFBMkIsR0FBRztJQUN4QyxPQUFPLEVBQUUsV0FBVyxDQUFDO0lBQ3JCLE1BQU0sRUFBRSxxQkFBcUIsR0FBRywyQkFBMkIsQ0FBQztJQUM1RCxPQUFPLEVBQUUsTUFBTSxDQUFDO0lBQ2hCLGdCQUFnQixFQUFFLGdCQUFnQixDQUFDO0lBQ25DLDRCQUE0QixFQUFFLGdCQUFnQixDQUFDO0lBQy9DLGtFQUFrRTtJQUNsRSxXQUFXLEVBQUUsRUFBRSxDQUFDO0NBQ2pCLENBQUM7QUFFRixLQUFLLDRCQUE0QixHQUFHO0lBQ2xDLFdBQVcsQ0FBQyxFQUFFLElBQUksQ0FBQztDQUNwQixDQUFDO0FBRUYsTUFBTSxXQUFXLGlCQUFpQjtJQUNoQyxNQUFNLEVBQUUsTUFBTSxDQUFDO0lBQ2YsT0FBTyxFQUFFLFdBQVcsQ0FBQztJQUNyQixlQUFlLEVBQUUsVUFBVSxDQUFDO0lBQzVCLFNBQVMsQ0FBQyxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsYUFBYSxHQUFHLFVBQVUsQ0FBQyxDQUFDO0lBQ3pELFVBQVUsQ0FBQyxFQUFFLFlBQVksQ0FBQztJQUMxQixtRkFBbUY7SUFDbkYsaUJBQWlCLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDM0IsWUFBWSxFQUFFLENBQ1osT0FBTyxFQUFFLFdBQVcsRUFDcEIsTUFBTSxDQUFDLEVBQUU7UUFBRSxPQUFPLEVBQUUsa0JBQWtCLENBQUM7UUFBQyxLQUFLLENBQUMsRUFBRSxnQkFBZ0IsQ0FBQztRQUFDLFFBQVEsQ0FBQyxFQUFFLE1BQU0sQ0FBQTtLQUFFLEtBQ2xGLE9BQU8sQ0FBQztDQUNkO0FBRUQscUJBQWEsa0JBQWtCO0lBaUQzQixPQUFPLENBQUMsTUFBTTtJQWhEaEIsT0FBTyxDQUFDLFdBQVcsQ0FBUztJQUM1QixPQUFPLENBQUMsT0FBTyxDQUE0QjtJQUMzQyxPQUFPLENBQUMsZUFBZSxDQUEyQjtJQUMzQyxVQUFVLEVBQUUsVUFBVSxDQUFDO0lBQzlCLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBdUM7SUFFN0Q7Ozs7T0FJRztJQUNILE9BQU8sQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQThFO0lBRS9HLFNBQVMsQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBTTtJQUVoRSxTQUFTLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQztJQUN0QixTQUFTLENBQUMsb0JBQW9CLEVBQUUsTUFBTSxDQUFDO0lBQ3ZDLFNBQVMsQ0FBQyxpQkFBaUIsRUFBRSxNQUFNLENBQUM7SUFDcEMsT0FBTyxDQUFDLFFBQVEsQ0FBQyw0QkFBNEIsQ0FBUztJQUN0RCxPQUFPLENBQUMsUUFBUSxDQUFDLGlDQUFpQyxDQUFTO0lBRTNELHlDQUF5QztJQUN6QyxPQUFPLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBZTtJQUU1QyxPQUFPLENBQUMsVUFBVSxDQUFzQjtJQUV4Qyw4RkFBOEY7SUFDOUYsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQXFFO0lBRTlGLHlDQUF5QztJQUN6QyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQWdCO0lBRXRDLDJFQUEyRTtJQUMzRSxPQUFPLENBQUMsbUJBQW1CLENBQXNCO0lBRWpELG1GQUFtRjtJQUNuRixPQUFPLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUE0QjtJQUV4RCxTQUFTLEVBQUUsU0FBUyxDQUFDO0lBQ3JCLGNBQWMsRUFBRSxjQUFjLENBQUM7SUFDL0IsbUJBQW1CLEVBQUUsMEJBQTBCLENBQUM7SUFDaEQsd0JBQXdCLEVBQUUsd0JBQXdCLEdBQUcsU0FBUyxDQUFDO0lBRXRFLFNBQWdCLE1BQU0sRUFBRSxNQUFNLENBQUM7SUFFL0IsU0FBUyxDQUFDLFFBQVEsRUFBRSxpQkFBaUIsRUFBRSxDQUFNO0lBRTdDLFlBQ1UsTUFBTSxFQUFFLElBQUksQ0FDbEIsd0JBQXdCLEVBQ3RCLGVBQWUsR0FDZixpQkFBaUIsR0FDakIsZ0RBQWdELEdBQ2hELHFEQUFxRCxDQUN4RCxHQUNDLElBQUksQ0FBQyxlQUFlLEVBQUUsb0NBQW9DLENBQUMsR0FDM0QsSUFBSSxDQUFDLGlCQUFpQixFQUFFLHNCQUFzQixHQUFHLG1CQUFtQixDQUFDLEdBQUc7UUFBRSxTQUFTLEVBQUUsTUFBTSxDQUFBO0tBQUUsRUFDL0YsSUFBSSxFQUFFO1FBQ0osU0FBUyxDQUFDLEVBQUUsZUFBZSxDQUFDO1FBQzVCLFVBQVUsRUFBRSxtQkFBbUIsQ0FBQztRQUNoQyxTQUFTLEVBQUUsU0FBUyxDQUFDO1FBQ3JCLGNBQWMsRUFBRSxjQUFjLENBQUM7UUFDL0Isd0JBQXdCLEVBQUUsd0JBQXdCLEdBQUcsU0FBUyxDQUFDO1FBQy9ELDBCQUEwQixFQUFFLDBCQUEwQixDQUFDO1FBQ3ZELFVBQVUsRUFBRSxVQUFVLENBQUM7UUFDdkIsWUFBWSxFQUFFLFlBQVksQ0FBQztRQUMzQixPQUFPLEVBQUUseUJBQXlCLENBQUM7UUFDbkMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFDakQsR0FBRyxDQUFDLEVBQUUsTUFBTSxDQUFDO1FBQ2IsZ0JBQWdCLENBQUMsRUFBRSxDQUFDLGdCQUFnQixFQUFFLFVBQVUsRUFBRSxLQUFLLE9BQU8sQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDLENBQUM7S0FDdkYsRUF1REY7SUFFRDs7Ozs7T0FLRztJQUNILE9BQU8sQ0FBQyxjQUFjO1lBZ0RSLHFCQUFxQjtJQWdCbkMsNkRBQTZEO0lBQzdELE9BQU8sQ0FBQyxpQkFBaUI7SUFjekI7Ozs7T0FJRztJQUNILE9BQU8sQ0FBQyxlQUFlO0lBSWhCLGlCQUFpQixJQUFJLGNBQWMsQ0FFekM7SUFFRDs7Ozs7OztPQU9HO0lBQ0ksd0JBQXdCLENBQUMsZ0NBQWdDLENBQUMsRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUUxRjtJQUVNLGdCQUFnQixlQUV0QjtJQUVEOztPQUVHO0lBQ0ksZ0JBQWdCLElBQUksYUFBYSxHQUFHLFNBQVMsQ0FFbkQ7SUFFTSxVQUFVLENBQUMsT0FBTyxFQUFFLGlCQUFpQixRQUUzQztJQUVNLGdCQUFnQixJQUFJLFVBQVUsQ0FFcEM7SUFFRDs7T0FFRztJQUNJLG9CQUFvQixJQUFJLElBQUksQ0FNbEM7SUFFRDs7Ozs7O09BTUc7SUFDVSxhQUFhLENBQ3hCLFlBQVksRUFBRSxVQUFVLEVBQ3hCLFVBQVUsQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLG1CQUFtQixLQUFLLElBQUksR0FDbkQsT0FBTyxDQUFDLG1CQUFtQixHQUFHLFNBQVMsQ0FBQyxDQTRDMUM7SUFFRDs7Ozs7Ozs7OztPQVVHO0lBRVUsWUFBWSxDQUFDLFVBQVUsQ0FBQyxFQUFFLFVBQVUsR0FBRyxPQUFPLENBQUMsa0JBQWtCLEdBQUcsU0FBUyxDQUFDLENBMEkxRjtJQUVELHVGQUF1RjtJQUN2RixPQUFPLENBQUMsZUFBZTtZQWFULGtCQUFrQjtZQXVDbEIsNEJBQTRCO0lBcUUxQyxrRUFBa0U7SUFDbEUsT0FBTyxDQUFDLG1CQUFtQjtJQXdDM0IsK0VBQStFO0lBQy9FLE9BQU8sQ0FBQyxpQkFBaUI7SUEwQ1osY0FBYyxDQUFDLFVBQVUsRUFBRSxVQUFVLEdBQUcsT0FBTyxDQUFDLGtCQUFrQixHQUFHLFNBQVMsQ0FBQyxDQU8zRjtZQU9hLGlCQUFpQjtJQWtEL0IsT0FBTyxDQUFDLDJCQUEyQjtJQTJCbkM7Ozs7T0FJRztJQUNVLFlBQVksQ0FBQyxVQUFVLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsdUJBQXVCLENBQUMsRUFBRSx1QkFBdUI7Ozs7bUJBNEJqSDtJQUVEOzs7OztPQUtHO0lBRVUsbUJBQW1CLENBQzlCLE1BQU0sRUFBRSxnQkFBZ0IsRUFDeEIsdUJBQXVCLENBQUMsRUFBRSx1QkFBdUIsR0FDaEQsT0FBTyxDQUFDLElBQUksQ0FBQyxDQXVDZjtJQUVEOzs7T0FHRztJQUNVLDRCQUE0QixDQUN2QyxnQkFBZ0IsRUFBRSx3QkFBd0IsR0FDekMsT0FBTyxDQUFDLDJCQUEyQixHQUFHLFNBQVMsQ0FBQyxDQTZGbEQ7SUFFRCxPQUFPLENBQUMsZ0NBQWdDO1lBa0MxQix1QkFBdUI7SUF1SXJDOzs7O09BSUc7SUFDSSwyQkFBMkIsQ0FDaEMsaUJBQWlCLEVBQUUsVUFBVSxFQUM3QixVQUFVLEVBQUUsVUFBVSxFQUN0QixhQUFhLEVBQUUsVUFBVSxFQUN6QixNQUFNLEVBQUUsQ0FBQyxHQUFHLEVBQUUsbUJBQW1CLEtBQUssT0FBTyxDQUFDLEtBQUssTUFBTSxFQUFFLENBQUMsR0FDM0QsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQVNsQjtJQUVEOzs7Ozs7OztPQVFHO0lBQ1Usc0JBQXNCLENBQUMsVUFBVSxFQUFFLFVBQVUsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLENBOEI1RTtJQUVELHVFQUF1RTtJQUMxRCxzQkFBc0IsQ0FDakMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLEVBQzlCLFVBQVUsRUFBRSxVQUFVLEVBQ3RCLGFBQWEsRUFBRSxVQUFVLEVBQ3pCLE1BQU0sRUFBRSxDQUFDLEdBQUcsRUFBRSxtQkFBbUIsS0FBSyxPQUFPLENBQUMsS0FBSyxNQUFNLEVBQUUsQ0FBQyxHQUMzRCxPQUFPLENBQUMsT0FBTyxDQUFDLENBcUVsQjtJQUVELGlEQUFpRDtJQUNwQyx3QkFBd0IsQ0FDbkMsVUFBVSxFQUFFLFVBQVUsRUFDdEIsc0JBQXNCLEVBQUUsK0JBQStCLEVBQ3ZELCtCQUErQixFQUFFLFNBQVMsRUFDMUMsSUFBSSxHQUFFLDRCQUFpQyxHQUN0QyxPQUFPLENBQUMsSUFBSSxDQUFDLENBb0JmO0lBRU0sMkJBQTJCLENBQ2hDLE9BQU8sRUFBRSwyQkFBMkIsR0FBRyxTQUFTLEVBQ2hELElBQUksR0FBRTtRQUFFLFdBQVcsQ0FBQyxFQUFFLElBQUksQ0FBQTtLQUFPLFFBOEJsQztJQUVEOzs7O09BSUc7SUFDSCxPQUFPLENBQUMsY0FBYztJQWdDdEI7Ozs7O09BS0c7SUFDSSxTQUFTLFNBSWY7SUFFRCx3REFBd0Q7SUFDakQsT0FBTyxTQUdiO1lBRWEsZ0JBQWdCO1lBb0ZoQixZQUFZO0lBa0YxQixvRUFBb0U7SUFDcEUsT0FBTyxDQUFDLHNCQUFzQjtDQUkvQiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sequencer-publisher.d.ts","sourceRoot":"","sources":["../../src/publisher/sequencer-publisher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAErE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAEL,KAAK,0BAA0B,
|
|
1
|
+
{"version":3,"file":"sequencer-publisher.d.ts","sourceRoot":"","sources":["../../src/publisher/sequencer-publisher.ts"],"names":[],"mappings":"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"}
|
|
@@ -1296,6 +1296,17 @@ export class SequencerPublisher {
|
|
|
1296
1296
|
this.log.warn(`Cannot enqueue vote cast signal ${signalType} for address zero at slot ${slotNumber}`);
|
|
1297
1297
|
return false;
|
|
1298
1298
|
}
|
|
1299
|
+
const canonicalRollup = await base.getRollupAddress();
|
|
1300
|
+
if (!canonicalRollup.equals(EthAddress.fromString(this.rollupContract.address))) {
|
|
1301
|
+
this.log.warn(`Rollup ${this.rollupContract.address} is not canonical, skipping governance signal`, {
|
|
1302
|
+
slotNumber,
|
|
1303
|
+
signalType,
|
|
1304
|
+
canonicalRollup,
|
|
1305
|
+
targetRollup: this.rollupContract.address,
|
|
1306
|
+
payload: payload.toString()
|
|
1307
|
+
});
|
|
1308
|
+
return false;
|
|
1309
|
+
}
|
|
1299
1310
|
const round = await base.computeRound(slotNumber);
|
|
1300
1311
|
const roundInfo = await base.getRoundInfo(this.rollupContract.address, round);
|
|
1301
1312
|
if (roundInfo.quorumReached) {
|
|
@@ -1308,22 +1319,36 @@ export class SequencerPublisher {
|
|
|
1308
1319
|
this.log.warn(`Skipping vote cast for payload with empty code`);
|
|
1309
1320
|
return false;
|
|
1310
1321
|
}
|
|
1311
|
-
//
|
|
1312
|
-
//
|
|
1313
|
-
//
|
|
1314
|
-
|
|
1315
|
-
let proposed = false;
|
|
1322
|
+
// Classify the payload against the Governance proposal history so we stop signalling once its
|
|
1323
|
+
// proposal is live or was already executed, while still re-signalling one whose proposal was
|
|
1324
|
+
// merely rejected/dropped/expired.
|
|
1325
|
+
let status = 'none';
|
|
1316
1326
|
try {
|
|
1317
|
-
|
|
1327
|
+
status = await base.getPayloadProposalStatus(payload.toString());
|
|
1318
1328
|
} catch (err) {
|
|
1319
1329
|
// We deliberately swallow the error and proceed to signal. Failing closed (skipping the
|
|
1320
1330
|
// signal) on transient RPC errors would let a flaky L1 endpoint silence governance
|
|
1321
1331
|
// participation entirely; failing open at worst produces a duplicate signal that the
|
|
1322
1332
|
// contract will simply count alongside others in the round.
|
|
1323
|
-
this.log.error(`Failed to check
|
|
1333
|
+
this.log.error(`Failed to check governance proposal status for payload ${payload} (signalling anyway)`, err, {
|
|
1334
|
+
slotNumber,
|
|
1335
|
+
signalType
|
|
1336
|
+
});
|
|
1324
1337
|
}
|
|
1325
|
-
if (
|
|
1326
|
-
this.log.info(`Payload ${payload} has a live governance proposal, stopping signals
|
|
1338
|
+
if (status === 'live') {
|
|
1339
|
+
this.log.info(`Payload ${payload} has a live governance proposal, stopping signals`, {
|
|
1340
|
+
slotNumber,
|
|
1341
|
+
signalType,
|
|
1342
|
+
payload: payload.toString()
|
|
1343
|
+
});
|
|
1344
|
+
return false;
|
|
1345
|
+
}
|
|
1346
|
+
if (status === 'executed' && !this.config.governanceProposerForcePayloadVote) {
|
|
1347
|
+
this.log.info(`Payload ${payload} was executed by governance within lookback, stopping signals ` + `(set GOVERNANCE_PROPOSER_FORCE_PAYLOAD_VOTE to re-signal)`, {
|
|
1348
|
+
slotNumber,
|
|
1349
|
+
signalType,
|
|
1350
|
+
payload: payload.toString()
|
|
1351
|
+
});
|
|
1327
1352
|
return false;
|
|
1328
1353
|
}
|
|
1329
1354
|
const cachedLastVote = this.lastActions[signalType];
|
|
@@ -186,4 +186,4 @@ export declare class AutomineSequencer {
|
|
|
186
186
|
private tryBuildBlock;
|
|
187
187
|
private dropFailedTxsFromP2P;
|
|
188
188
|
}
|
|
189
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
189
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b21pbmVfc2VxdWVuY2VyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VxdWVuY2VyL2F1dG9taW5lL2F1dG9taW5lX3NlcXVlbmNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsS0FBSyxhQUFhLEVBQW9CLE1BQU0sc0JBQXNCLENBQUM7QUFDNUUsT0FBTyxFQUFlLGdCQUFnQixFQUEyQixNQUFNLGlDQUFpQyxDQUFDO0FBQ3pHLE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRWhFLE9BQU8sRUFBRSxLQUFLLE1BQU0sRUFBZ0IsTUFBTSx1QkFBdUIsQ0FBQztBQUdsRSxPQUFPLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRWhFLE9BQU8sS0FBSyxFQUFFLFNBQVMsSUFBSSxpQkFBaUIsRUFBRSxHQUFHLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFdEUsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDaEUsT0FBTyxFQUFtQyxLQUFLLE9BQU8sRUFBRSxLQUFLLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXhHLE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFDTCxLQUFLLGlCQUFpQixFQUl2QixNQUFNLDZCQUE2QixDQUFDO0FBQ3JDLE9BQU8sRUFBNkIsS0FBSyxzQkFBc0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3pHLE9BQU8sS0FBSyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbkUsT0FBTyxLQUFLLEVBQUUsNEJBQTRCLEVB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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"automine_sequencer.d.ts","sourceRoot":"","sources":["../../../src/sequencer/automine/automine_sequencer.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"automine_sequencer.d.ts","sourceRoot":"","sources":["../../../src/sequencer/automine/automine_sequencer.ts"],"names":[],"mappings":"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"}
|
|
@@ -684,7 +684,13 @@ import { InsufficientValidTxsError } from '@aztec/stdlib/interfaces/server';
|
|
|
684
684
|
return;
|
|
685
685
|
}
|
|
686
686
|
const failedTxHashes = failedTxs.map((fail)=>fail.tx.getTxHash());
|
|
687
|
-
|
|
687
|
+
const failures = failedTxs.map((fail)=>({
|
|
688
|
+
txHash: fail.tx.getTxHash().toString(),
|
|
689
|
+
reason: fail.error.message
|
|
690
|
+
}));
|
|
691
|
+
this.log.warn(`Dropping ${failedTxs.length} failed txs: ${failures.map((f)=>`${f.txHash} (${f.reason})`).join(', ')}`, {
|
|
692
|
+
failures
|
|
693
|
+
});
|
|
688
694
|
await this.deps.p2pClient.handleFailedExecution(failedTxHashes);
|
|
689
695
|
}
|
|
690
696
|
}
|
|
@@ -155,4 +155,4 @@ export declare class CheckpointProposalJob implements Traceable {
|
|
|
155
155
|
protected waitForTxsPollingInterval(): Promise<void>;
|
|
156
156
|
getPublisher(): SequencerPublisher;
|
|
157
157
|
}
|
|
158
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
158
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2twb2ludF9wcm9wb3NhbF9qb2IuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZXF1ZW5jZXIvY2hlY2twb2ludF9wcm9wb3NhbF9qb2IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssVUFBVSxFQUFtQyxNQUFNLG9CQUFvQixDQUFDO0FBRXRGLE9BQU8sRUFDTCxXQUFXLEVBQ1gsZ0JBQWdCLEVBQ2hCLFdBQVcsRUFDWCxxQkFBcUIsRUFDckIsVUFBVSxFQUNYLE1BQU0saUNBQWlDLENBQUM7QUFTekMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRzNELE9BQU8sRUFBRSxLQUFLLE1BQU0sRUFBRSxLQUFLLGNBQWMsRUFBZ0IsTUFBTSx1QkFBdUIsQ0FBQztBQUV2RixPQUFPLEVBQUUsS0FBSyxZQUFZLEVBQVMsTUFBTSx5QkFBeUIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsS0FBSyxpQkFBaUIsRUFBMEIsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RixPQUFPLEtBQUssRUFBRSxHQUFHLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDdEMsT0FBTyxLQUFLLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3RCxPQUFPLEVBR0wsT0FBTyxFQUNQLEtBQUssV0FBVyxFQUNoQixLQUFLLGFBQWEsRUFHbEIsS0FBSyxzQkFBc0IsRUFFNUIsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQ0wsS0FBSyxVQUFVLEVBQ2YsS0FBSyxzQkFBc0IsRUFJNUIsTUFBTSwwQkFBMEIsQ0FBQztBQUdsQyxPQUFPLEVBR0wsS0FBSyx1QkFBdUIsRUFDNUIsS0FBSyxzQkFBc0IsRUFDNUIsTUFBTSxpQ0FBaUMsQ0FBQztBQUN6QyxPQUFPLEVBQUUsS0FBSyxtQkFBbUIsRUFBbUMsTUFBTSx5QkFBeUIsQ0FBQztBQUNwRyxPQUFPLEtBQUssRUFNViw0QkFBNEIsRUFD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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkpoint_proposal_job.d.ts","sourceRoot":"","sources":["../../src/sequencer/checkpoint_proposal_job.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"checkpoint_proposal_job.d.ts","sourceRoot":"","sources":["../../src/sequencer/checkpoint_proposal_job.ts"],"names":[],"mappings":"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"}
|
|
@@ -1699,7 +1699,15 @@ _dec = trackSpan('CheckpointProposalJob.execute'), _dec1 = trackSpan('Checkpoint
|
|
|
1699
1699
|
}
|
|
1700
1700
|
const failedTxData = failedTxs.map((fail)=>fail.tx);
|
|
1701
1701
|
const failedTxHashes = failedTxData.map((tx)=>tx.getTxHash());
|
|
1702
|
-
|
|
1702
|
+
const failures = failedTxs.map((fail)=>({
|
|
1703
|
+
txHash: fail.tx.getTxHash().toString(),
|
|
1704
|
+
reason: fail.error.message
|
|
1705
|
+
}));
|
|
1706
|
+
this.log.warn(`Dropping ${failedTxs.length} txs from mempool due to failures during block building for slot ${this.targetSlot}`, {
|
|
1707
|
+
slot: this.targetSlot,
|
|
1708
|
+
checkpointNumber: this.checkpointNumber,
|
|
1709
|
+
failures
|
|
1710
|
+
});
|
|
1703
1711
|
await this.p2pClient.handleFailedExecution(failedTxHashes);
|
|
1704
1712
|
}
|
|
1705
1713
|
/**
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import type { EpochCache } from '@aztec/epoch-cache';
|
|
2
|
+
import type { RollupContract } from '@aztec/ethereum/contracts';
|
|
3
|
+
import { EpochNumber, type SlotNumber } from '@aztec/foundation/branded-types';
|
|
4
|
+
import type { Logger } from '@aztec/foundation/log';
|
|
5
|
+
import type { DateProvider } from '@aztec/foundation/timer';
|
|
6
|
+
import type { L2BlockSource } from '@aztec/stdlib/block';
|
|
7
|
+
import { type L1RollupConstants } from '@aztec/stdlib/epoch-helpers';
|
|
8
|
+
/** Collaborators {@link logMissingCommittee} needs to diagnose and report why no committee exists. */
|
|
9
|
+
export interface MissingCommitteeContext {
|
|
10
|
+
epochCache: Pick<EpochCache, 'getL1Constants' | 'getLagInEpochsForValidatorSet'>;
|
|
11
|
+
rollupContract: Pick<RollupContract, 'getActiveAttesterCount' | 'getAttesterCountAtTime'>;
|
|
12
|
+
l2BlockSource: Pick<L2BlockSource, 'getBlockNumber'>;
|
|
13
|
+
l1Constants: Pick<L1RollupConstants, 'l1GenesisTime' | 'slotDuration' | 'epochDuration'>;
|
|
14
|
+
dateProvider: Pick<DateProvider, 'nowInSeconds'>;
|
|
15
|
+
logger: Pick<Logger, 'info' | 'warn' | 'debug'>;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Why the sequencer cannot find a validator committee for an upcoming slot. A committee for an epoch is
|
|
19
|
+
* sampled from the validator set as of `lagInEpochsForValidatorSet` epochs earlier, and L1 refuses to
|
|
20
|
+
* produce one until at least `targetCommitteeSize` validators were staked at that sampling time.
|
|
21
|
+
*/
|
|
22
|
+
export type MissingCommitteeCause =
|
|
23
|
+
/** Enough validators are staked now; the committee is just waiting for the sampling window to advance. */
|
|
24
|
+
'awaiting-sampling-lag'
|
|
25
|
+
/** The chain has not produced any block yet and too few validators are staked: normal bootstrap state. */
|
|
26
|
+
| 'awaiting-first-validators'
|
|
27
|
+
/** The chain has produced blocks before but the validator set has since dropped below the required size. */
|
|
28
|
+
| 'validator-set-shrank';
|
|
29
|
+
export interface MissingCommitteeDiagnosis {
|
|
30
|
+
cause: MissingCommitteeCause;
|
|
31
|
+
/** Log severity: bootstrap and lag are expected (`info`); a shrunken set on a live chain is not (`warn`). */
|
|
32
|
+
severity: 'info' | 'warn';
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Logs why no validator committee exists for the given slot. Rather than the cryptic "committee does not
|
|
36
|
+
* exist on L1", it diagnoses the cause from the live attester count and whether the chain has ever produced
|
|
37
|
+
* a block: a bootstrapping chain waiting for validators to stake, a full set still waiting for the sampling
|
|
38
|
+
* lag to elapse, or a validator set that has shrunk below the required size on a live chain. Only the last is
|
|
39
|
+
* a genuine problem, so only it is logged at `warn`.
|
|
40
|
+
*
|
|
41
|
+
* Best-effort: if the diagnostic L1 reads fail we fall back to a neutral message so this never throws on the
|
|
42
|
+
* propose path.
|
|
43
|
+
*/
|
|
44
|
+
export declare function logMissingCommittee(targetSlot: SlotNumber, targetEpoch: EpochNumber, ctx: MissingCommitteeContext): Promise<void>;
|
|
45
|
+
/**
|
|
46
|
+
* Classifies why no committee exists for a slot, using only cheap live signals: the current attester count
|
|
47
|
+
* and whether the chain has ever produced a block. See {@link MissingCommitteeCause} for the reasoning.
|
|
48
|
+
*/
|
|
49
|
+
export declare function classifyMissingCommittee(args: {
|
|
50
|
+
attesterCount: number;
|
|
51
|
+
targetCommitteeSize: number;
|
|
52
|
+
hasProducedBlocks: boolean;
|
|
53
|
+
}): MissingCommitteeDiagnosis;
|
|
54
|
+
/**
|
|
55
|
+
* Given each candidate epoch after the one we failed to propose at, paired with the attester count staked at
|
|
56
|
+
* that epoch's validator-set sample time (`undefined` when the sample time is still in the future), returns
|
|
57
|
+
* the earliest epoch that will have a committee, or `undefined` if none qualifies.
|
|
58
|
+
*
|
|
59
|
+
* Candidates must be ordered ascending by epoch. A committee for epoch `E` exists iff at least
|
|
60
|
+
* `targetCommitteeSize` validators were staked at `E`'s sample time, so the first candidate whose sampled
|
|
61
|
+
* count meets the target is the answer; a candidate whose sample time is still in the future is assumed to
|
|
62
|
+
* have a committee if the set holds and wins as soon as it is reached. The predicate is not monotone in `E`
|
|
63
|
+
* (the set can dip below target between sample times), so this must scan ascending rather than binary-search.
|
|
64
|
+
*/
|
|
65
|
+
export declare function findFirstEpochWithCommittee(args: {
|
|
66
|
+
candidates: {
|
|
67
|
+
epoch: EpochNumber;
|
|
68
|
+
sampledAttesterCount: number | undefined;
|
|
69
|
+
}[];
|
|
70
|
+
targetCommitteeSize: number;
|
|
71
|
+
}): EpochNumber | undefined;
|
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlzc2luZ19jb21taXR0ZWUuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZXF1ZW5jZXIvbWlzc2luZ19jb21taXR0ZWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDckQsT0FBTyxLQUFLLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxLQUFLLFVBQVUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRS9FLE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXBELE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzVELE9BQU8sS0FBSyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxLQUFLLGlCQUFpQixFQUE2QixNQUFNLDZCQUE2QixDQUFDO0FBRWhHLHNHQUFzRztBQUN0RyxNQUFNLFdBQVcsdUJBQXVCO0lBQ3RDLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLGdCQUFnQixHQUFHLCtCQUErQixDQUFDLENBQUM7SUFDakYsY0FBYyxFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUUsd0JBQXdCLEdBQUcsd0JBQXdCLENBQUMsQ0FBQztJQUMxRixhQUFhLEVBQUUsSUFBSSxDQUFDLGFBQWEsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ3JELFdBQVcsRUFBRSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsZUFBZSxHQUFHLGNBQWMsR0FBRyxlQUFlLENBQUMsQ0FBQztJQUN6RixZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxjQUFjLENBQUMsQ0FBQztJQUNqRCxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsTUFBTSxHQUFHLE9BQU8sQ0FBQyxDQUFDO0NBQ2pEO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sTUFBTSxxQkFBcUI7QUFDL0IsMEdBQTBHO0FBQ3hHLHVCQUF1QjtBQUN6QiwwR0FBMEc7R0FDeEcsMkJBQTJCO0FBQzdCLDRHQUE0RztHQUMxRyxzQkFBc0IsQ0FBQztBQUUzQixNQUFNLFdBQVcseUJBQXlCO0lBQ3hDLEtBQUssRUFBRSxxQkFBcUIsQ0FBQztJQUM3Qiw2R0FBNkc7SUFDN0csUUFBUSxFQUFFLE1BQU0sR0FBRyxNQUFNLENBQUM7Q0FDM0I7QUFFRDs7Ozs7Ozs7O0dBU0c7QUFDSCx3QkFBc0IsbUJBQW1CLENBQ3ZDLFVBQVUsRUFBRSxVQUFVLEVBQ3RCLFdBQVcsRUFBRSxXQUFXLEVBQ3hCLEdBQUcsRUFBRSx1QkFBdUIsR0FDM0IsT0FBTyxDQUFDLElBQUksQ0FBQyxDQTBEZjtBQUVEOzs7R0FHRztBQUNILHdCQUFnQix3QkFBd0IsQ0FBQyxJQUFJLEVBQUU7SUFDN0MsYUFBYSxFQUFFLE1BQU0sQ0FBQztJQUN0QixtQkFBbUIsRUFBRSxNQUFNLENBQUM7SUFDNUIsaUJBQWlCLEVBQUUsT0FBTyxDQUFDO0NBQzVCLEdBQUcseUJBQXlCLENBWTVCO0FBRUQ7Ozs7Ozs7Ozs7R0FVRztBQUNILHdCQUFnQiwyQkFBMkIsQ0FBQyxJQUFJLEVBQUU7SUFDaEQsVUFBVSxFQUFFO1FBQUUsS0FBSyxFQUFFLFdBQVcsQ0FBQztRQUFDLG9CQUFvQixFQUFFLE1BQU0sR0FBRyxTQUFTLENBQUE7S0FBRSxFQUFFLENBQUM7SUFDL0UsbUJBQW1CLEVBQUUsTUFBTSxDQUFDO0NBQzdCLEdBQUcsV0FBVyxHQUFHLFNBQVMsQ0FJMUIifQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"missing_committee.d.ts","sourceRoot":"","sources":["../../src/sequencer/missing_committee.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,KAAK,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAE/E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,KAAK,iBAAiB,EAA6B,MAAM,6BAA6B,CAAC;AAEhG,sGAAsG;AACtG,MAAM,WAAW,uBAAuB;IACtC,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,gBAAgB,GAAG,+BAA+B,CAAC,CAAC;IACjF,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,wBAAwB,GAAG,wBAAwB,CAAC,CAAC;IAC1F,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC;IACrD,WAAW,EAAE,IAAI,CAAC,iBAAiB,EAAE,eAAe,GAAG,cAAc,GAAG,eAAe,CAAC,CAAC;IACzF,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;IACjD,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;CACjD;AAED;;;;GAIG;AACH,MAAM,MAAM,qBAAqB;AAC/B,0GAA0G;AACxG,uBAAuB;AACzB,0GAA0G;GACxG,2BAA2B;AAC7B,4GAA4G;GAC1G,sBAAsB,CAAC;AAE3B,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,qBAAqB,CAAC;IAC7B,6GAA6G;IAC7G,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;CAC3B;AAED;;;;;;;;;GASG;AACH,wBAAsB,mBAAmB,CACvC,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,WAAW,EACxB,GAAG,EAAE,uBAAuB,GAC3B,OAAO,CAAC,IAAI,CAAC,CA0Df;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE;IAC7C,aAAa,EAAE,MAAM,CAAC;IACtB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,iBAAiB,EAAE,OAAO,CAAC;CAC5B,GAAG,yBAAyB,CAY5B;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,EAAE;IAChD,UAAU,EAAE;QAAE,KAAK,EAAE,WAAW,CAAC;QAAC,oBAAoB,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,EAAE,CAAC;IAC/E,mBAAmB,EAAE,MAAM,CAAC;CAC7B,GAAG,WAAW,GAAG,SAAS,CAI1B"}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import { EpochNumber } from '@aztec/foundation/branded-types';
|
|
2
|
+
import { timesParallel } from '@aztec/foundation/collection';
|
|
3
|
+
import { formatSeconds } from '@aztec/foundation/string';
|
|
4
|
+
import { getStartTimestampForEpoch } from '@aztec/stdlib/epoch-helpers';
|
|
5
|
+
/**
|
|
6
|
+
* Logs why no validator committee exists for the given slot. Rather than the cryptic "committee does not
|
|
7
|
+
* exist on L1", it diagnoses the cause from the live attester count and whether the chain has ever produced
|
|
8
|
+
* a block: a bootstrapping chain waiting for validators to stake, a full set still waiting for the sampling
|
|
9
|
+
* lag to elapse, or a validator set that has shrunk below the required size on a live chain. Only the last is
|
|
10
|
+
* a genuine problem, so only it is logged at `warn`.
|
|
11
|
+
*
|
|
12
|
+
* Best-effort: if the diagnostic L1 reads fail we fall back to a neutral message so this never throws on the
|
|
13
|
+
* propose path.
|
|
14
|
+
*/ export async function logMissingCommittee(targetSlot, targetEpoch, ctx) {
|
|
15
|
+
const targetCommitteeSize = ctx.epochCache.getL1Constants().targetCommitteeSize;
|
|
16
|
+
const lag = ctx.epochCache.getLagInEpochsForValidatorSet();
|
|
17
|
+
let attesterCount;
|
|
18
|
+
let hasProducedBlocks;
|
|
19
|
+
try {
|
|
20
|
+
[attesterCount, hasProducedBlocks] = await Promise.all([
|
|
21
|
+
ctx.rollupContract.getActiveAttesterCount(),
|
|
22
|
+
ctx.l2BlockSource.getBlockNumber().then((n)=>n > 0)
|
|
23
|
+
]);
|
|
24
|
+
} catch (err) {
|
|
25
|
+
ctx.logger.warn(`No committee found for slot ${targetSlot}; could not determine validator set size`, {
|
|
26
|
+
targetSlot,
|
|
27
|
+
targetEpoch,
|
|
28
|
+
targetCommitteeSize,
|
|
29
|
+
err
|
|
30
|
+
});
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
const diagnosis = classifyMissingCommittee({
|
|
34
|
+
attesterCount,
|
|
35
|
+
targetCommitteeSize,
|
|
36
|
+
hasProducedBlocks
|
|
37
|
+
});
|
|
38
|
+
const logCtx = {
|
|
39
|
+
targetSlot,
|
|
40
|
+
targetEpoch,
|
|
41
|
+
attesterCount,
|
|
42
|
+
targetCommitteeSize,
|
|
43
|
+
cause: diagnosis.cause
|
|
44
|
+
};
|
|
45
|
+
switch(diagnosis.cause){
|
|
46
|
+
case 'awaiting-sampling-lag':
|
|
47
|
+
{
|
|
48
|
+
const firstCommitteeEpoch = await estimateFirstCommitteeEpoch(targetEpoch, lag, targetCommitteeSize, ctx);
|
|
49
|
+
const staked = `${attesterCount} validators are staked (>= ${targetCommitteeSize} required)`;
|
|
50
|
+
const forming = `the committee is still forming as the ${lag}-epoch sampling window advances`;
|
|
51
|
+
// When we could not pin the exact epoch, report the safe upper bound rather than a misleading ETA.
|
|
52
|
+
const epoch = firstCommitteeEpoch ?? EpochNumber(targetEpoch + lag + 1);
|
|
53
|
+
const expectation = firstCommitteeEpoch === undefined ? `A committee should exist no later than epoch ${epoch}.` : `The first committee is expected at epoch ${epoch}${formatEpochEta(epoch, ctx)}.`;
|
|
54
|
+
ctx.logger.info(`No committee for slot ${targetSlot} yet: ${staked}, ${forming}. ${expectation}`, {
|
|
55
|
+
...logCtx,
|
|
56
|
+
firstCommitteeEpoch: epoch
|
|
57
|
+
});
|
|
58
|
+
break;
|
|
59
|
+
}
|
|
60
|
+
case 'awaiting-first-validators':
|
|
61
|
+
ctx.logger.info(`No committee for slot ${targetSlot}: the chain has not started producing blocks and only ${attesterCount} ` + `of the ${targetCommitteeSize} required validators are staked. Block production begins once at least ` + `${targetCommitteeSize} validators stake and the ${lag}-epoch sampling lag elapses.`, logCtx);
|
|
62
|
+
break;
|
|
63
|
+
case 'validator-set-shrank':
|
|
64
|
+
ctx.logger.warn(`No committee for slot ${targetSlot}: the validator set has dropped to ${attesterCount}, below the ` + `${targetCommitteeSize} required to form a committee. The chain cannot progress until enough validators ` + `are staked again — check for validators exiting or being slashed.`, logCtx);
|
|
65
|
+
break;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Classifies why no committee exists for a slot, using only cheap live signals: the current attester count
|
|
70
|
+
* and whether the chain has ever produced a block. See {@link MissingCommitteeCause} for the reasoning.
|
|
71
|
+
*/ export function classifyMissingCommittee(args) {
|
|
72
|
+
const { attesterCount, targetCommitteeSize, hasProducedBlocks } = args;
|
|
73
|
+
if (attesterCount >= targetCommitteeSize) {
|
|
74
|
+
return {
|
|
75
|
+
cause: 'awaiting-sampling-lag',
|
|
76
|
+
severity: 'info'
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
if (hasProducedBlocks) {
|
|
80
|
+
return {
|
|
81
|
+
cause: 'validator-set-shrank',
|
|
82
|
+
severity: 'warn'
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
return {
|
|
86
|
+
cause: 'awaiting-first-validators',
|
|
87
|
+
severity: 'info'
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Given each candidate epoch after the one we failed to propose at, paired with the attester count staked at
|
|
92
|
+
* that epoch's validator-set sample time (`undefined` when the sample time is still in the future), returns
|
|
93
|
+
* the earliest epoch that will have a committee, or `undefined` if none qualifies.
|
|
94
|
+
*
|
|
95
|
+
* Candidates must be ordered ascending by epoch. A committee for epoch `E` exists iff at least
|
|
96
|
+
* `targetCommitteeSize` validators were staked at `E`'s sample time, so the first candidate whose sampled
|
|
97
|
+
* count meets the target is the answer; a candidate whose sample time is still in the future is assumed to
|
|
98
|
+
* have a committee if the set holds and wins as soon as it is reached. The predicate is not monotone in `E`
|
|
99
|
+
* (the set can dip below target between sample times), so this must scan ascending rather than binary-search.
|
|
100
|
+
*/ export function findFirstEpochWithCommittee(args) {
|
|
101
|
+
return args.candidates.find((c)=>c.sampledAttesterCount === undefined || c.sampledAttesterCount >= args.targetCommitteeSize)?.epoch;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Earliest epoch expected to have a committee, replaying L1's validator-set sampling rule: a committee for
|
|
105
|
+
* epoch `E` exists iff at least `targetCommitteeSize` attesters were staked at `E`'s sample time
|
|
106
|
+
* (`epochStart(E) - lag * epochDuration`). Only epochs after the one we failed at can qualify, and the set
|
|
107
|
+
* must have crossed the target within the last `lag` epochs' sample window, so the answer lies in
|
|
108
|
+
* `(targetEpoch, targetEpoch + lag + 1]`. Reads the historical attester count at each candidate's sample time
|
|
109
|
+
* (at most `lag` on-chain reads; future sample times are assumed to hold). Returns `undefined` if no candidate
|
|
110
|
+
* qualifies or the reads fail, leaving the caller to report a bound instead of an ETA.
|
|
111
|
+
*/ async function estimateFirstCommitteeEpoch(targetEpoch, lag, targetCommitteeSize, ctx) {
|
|
112
|
+
try {
|
|
113
|
+
const epochDurationSeconds = BigInt(ctx.l1Constants.epochDuration * ctx.l1Constants.slotDuration);
|
|
114
|
+
const nowSeconds = BigInt(ctx.dateProvider.nowInSeconds());
|
|
115
|
+
const candidates = await timesParallel(lag + 1, async (i)=>{
|
|
116
|
+
const epoch = EpochNumber(targetEpoch + 1 + i);
|
|
117
|
+
const sampleTime = getStartTimestampForEpoch(epoch, ctx.l1Constants) - epochDurationSeconds * BigInt(lag);
|
|
118
|
+
const sampledAttesterCount = sampleTime > nowSeconds ? undefined : await ctx.rollupContract.getAttesterCountAtTime(sampleTime);
|
|
119
|
+
return {
|
|
120
|
+
epoch,
|
|
121
|
+
sampledAttesterCount
|
|
122
|
+
};
|
|
123
|
+
});
|
|
124
|
+
return findFirstEpochWithCommittee({
|
|
125
|
+
candidates,
|
|
126
|
+
targetCommitteeSize
|
|
127
|
+
});
|
|
128
|
+
} catch (err) {
|
|
129
|
+
ctx.logger.debug(`Could not estimate first committee epoch after epoch ${targetEpoch}`, {
|
|
130
|
+
targetEpoch,
|
|
131
|
+
err
|
|
132
|
+
});
|
|
133
|
+
return undefined;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
/** Formats the ETA to the start of the given epoch as ` (~12m from now)`, or empty if it is in the past. */ function formatEpochEta(epoch, ctx) {
|
|
137
|
+
const secondsUntil = Number(getStartTimestampForEpoch(epoch, ctx.l1Constants)) - ctx.dateProvider.nowInSeconds();
|
|
138
|
+
return secondsUntil > 0 ? ` (~${formatSeconds(secondsUntil)} from now)` : '';
|
|
139
|
+
}
|
|
@@ -73,8 +73,8 @@ export declare class Sequencer extends Sequencer_base {
|
|
|
73
73
|
/** The (checkpoint, slot) of the last invalidation request we successfully simulated, to prevent
|
|
74
74
|
* re-simulating and re-submitting the same invalidation across the many ticks within a single slot. */
|
|
75
75
|
private lastInvalidationAttempt;
|
|
76
|
-
/** The last
|
|
77
|
-
private
|
|
76
|
+
/** The last epoch for which we logged a "no committee" diagnostic, to avoid per-slot log spam. */
|
|
77
|
+
private lastEpochForNoCommitteeLog;
|
|
78
78
|
/** The last slot for which we triggered a checkpoint proposal job, to prevent duplicate attempts. */
|
|
79
79
|
protected lastSlotForCheckpointProposalJob: SlotNumber | undefined;
|
|
80
80
|
/** Last successful checkpoint proposed */
|
|
@@ -278,6 +278,7 @@ export declare class Sequencer extends Sequencer_base {
|
|
|
278
278
|
acvmBinaryPath?: string | undefined;
|
|
279
279
|
txPublicSetupAllowListExtend?: import("@aztec/stdlib/config").AllowedElement[] | undefined;
|
|
280
280
|
governanceProposerPayload?: EthAddress | undefined;
|
|
281
|
+
governanceProposerForcePayloadVote: boolean;
|
|
281
282
|
minBlockDuration?: number | undefined;
|
|
282
283
|
checkpointProposalPrepareTime?: number | undefined;
|
|
283
284
|
l1PublishingTime: number;
|
|
@@ -321,4 +322,4 @@ type SequencerSyncCheckResult = {
|
|
|
321
322
|
syncedL2Slot: SlotNumber;
|
|
322
323
|
pendingChainValidationStatus: ValidateCheckpointResult;
|
|
323
324
|
};
|
|
324
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
325
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VxdWVuY2VyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VxdWVuY2VyL3NlcXVlbmNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsS0FBSyxVQUFVLEVBQW1DLE1BQU0sb0JBQW9CLENBQUM7QUFDdEYsT0FBTyxFQUFvQixLQUFLLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2xGLE9BQU8sRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRXpHLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDM0QsT0FBTyxFQUFFLEtBQUssTUFBTSxFQUFnQixNQUFNLHVCQUF1QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNuRSxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM1RCxPQUFPLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2pFLE9BQU8sS0FBSyxFQUFFLEdBQUcsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUN0QyxPQUFPLEtBQUssRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdELE9BQU8sS0FBSyxFQUNWLFNBQVMsRUFDVCxXQUFXLEVBQ1gsYUFBYSxFQUNiLHNCQUFzQixFQUN0Qix3QkFBd0IsRUFDekIsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQ0wsS0FBSyxVQUFVLEVBQ2YsS0FBSyxzQkFBc0IsRUFFNUIsTUFBTSwwQkFBMEIsQ0FBQztBQUNsQyxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQU94RCxPQUFPLEVBQ0wsS0FBSyx1QkFB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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sequencer.d.ts","sourceRoot":"","sources":["../../src/sequencer/sequencer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,UAAU,EAAmC,MAAM,oBAAoB,CAAC;AACtF,OAAO,EAAoB,KAAK,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAClF,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAEzG,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,KAAK,EACV,SAAS,EACT,WAAW,EACX,aAAa,EACb,sBAAsB,EACtB,wBAAwB,EACzB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,KAAK,UAAU,EACf,KAAK,sBAAsB,EAE5B,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAOxD,OAAO,EACL,KAAK,uBAAuB,EAC5B,KAAK,eAAe,EAEpB,KAAK,sBAAsB,EAC5B,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAGnE,OAAO,EAAE,iBAAiB,EAA0B,MAAM,yBAAyB,CAAC;AACpF,OAAO,EAAc,KAAK,eAAe,EAAE,KAAK,MAAM,EAAiC,MAAM,yBAAyB,CAAC;AACvH,OAAO,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,KAAK,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAKhH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,8CAA8C,CAAC;AAC1F,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,6CAA6C,CAAC;AAC7F,OAAO,KAAK,EAAE,2BAA2B,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAC3G,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAIrE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"sequencer.d.ts","sourceRoot":"","sources":["../../src/sequencer/sequencer.ts"],"names":[],"mappings":"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"}
|
|
@@ -393,6 +393,7 @@ import { CheckpointProposalJobMetrics } from './checkpoint_proposal_job_metrics.
|
|
|
393
393
|
import { CheckpointVoter } from './checkpoint_voter.js';
|
|
394
394
|
import { SequencerInterruptedError } from './errors.js';
|
|
395
395
|
import { SequencerMetrics } from './metrics.js';
|
|
396
|
+
import { logMissingCommittee } from './missing_committee.js';
|
|
396
397
|
import { RequestsTracker } from './requests_tracker.js';
|
|
397
398
|
import { SequencerState } from './utils.js';
|
|
398
399
|
export { SequencerState };
|
|
@@ -458,7 +459,7 @@ _dec = trackSpan('Sequencer.work'), _dec1 = trackSpan('Sequencer.prepareCheckpoi
|
|
|
458
459
|
/** The last slot for which we attempted to perform our fallback duties (votes and/or prune) with degraded block production */ lastSlotForFallbackAction;
|
|
459
460
|
/** The (checkpoint, slot) of the last invalidation request we successfully simulated, to prevent
|
|
460
461
|
* re-simulating and re-submitting the same invalidation across the many ticks within a single slot. */ lastInvalidationAttempt;
|
|
461
|
-
/** The last
|
|
462
|
+
/** The last epoch for which we logged a "no committee" diagnostic, to avoid per-slot log spam. */ lastEpochForNoCommitteeLog;
|
|
462
463
|
/** The last slot for which we triggered a checkpoint proposal job, to prevent duplicate attempts. */ lastSlotForCheckpointProposalJob;
|
|
463
464
|
/** Last successful checkpoint proposed */ lastCheckpointProposed;
|
|
464
465
|
/** The last epoch for which we logged strategy comparison in fisherman mode. */ lastEpochForStrategyComparison;
|
|
@@ -1154,9 +1155,17 @@ _dec = trackSpan('Sequencer.work'), _dec1 = trackSpan('Sequencer.prepareCheckpoi
|
|
|
1154
1155
|
proposer = await this.epochCache.getProposerAttesterAddressInSlot(targetSlot);
|
|
1155
1156
|
} catch (e) {
|
|
1156
1157
|
if (e instanceof NoCommitteeError) {
|
|
1157
|
-
|
|
1158
|
-
|
|
1159
|
-
this.
|
|
1158
|
+
const targetEpoch = getEpochAtSlot(targetSlot, this.l1Constants);
|
|
1159
|
+
if (this.lastEpochForNoCommitteeLog !== targetEpoch) {
|
|
1160
|
+
this.lastEpochForNoCommitteeLog = targetEpoch;
|
|
1161
|
+
await logMissingCommittee(targetSlot, targetEpoch, {
|
|
1162
|
+
epochCache: this.epochCache,
|
|
1163
|
+
rollupContract: this.rollupContract,
|
|
1164
|
+
l2BlockSource: this.l2BlockSource,
|
|
1165
|
+
l1Constants: this.l1Constants,
|
|
1166
|
+
dateProvider: this.dateProvider,
|
|
1167
|
+
logger: this.log
|
|
1168
|
+
});
|
|
1160
1169
|
}
|
|
1161
1170
|
return [
|
|
1162
1171
|
false,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/sequencer-client",
|
|
3
|
-
"version": "0.0.1-commit.
|
|
3
|
+
"version": "0.0.1-commit.330febf",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": "./dest/index.js",
|
|
@@ -27,38 +27,37 @@
|
|
|
27
27
|
"test:integration:run": "NODE_NO_WARNINGS=1 node --experimental-vm-modules $(yarn bin jest) --no-cache --config jest.integration.config.json"
|
|
28
28
|
},
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"@aztec/aztec.js": "0.0.1-commit.
|
|
31
|
-
"@aztec/bb-prover": "0.0.1-commit.
|
|
32
|
-
"@aztec/blob-client": "0.0.1-commit.
|
|
33
|
-
"@aztec/blob-lib": "0.0.1-commit.
|
|
34
|
-
"@aztec/constants": "0.0.1-commit.
|
|
35
|
-
"@aztec/epoch-cache": "0.0.1-commit.
|
|
36
|
-
"@aztec/ethereum": "0.0.1-commit.
|
|
37
|
-
"@aztec/foundation": "0.0.1-commit.
|
|
38
|
-
"@aztec/l1-artifacts": "0.0
|
|
39
|
-
"@aztec/node-keystore": "0.0.1-commit.
|
|
40
|
-
"@aztec/noir-acvm_js": "0.0
|
|
41
|
-
"@aztec/noir-
|
|
42
|
-
"@aztec/
|
|
43
|
-
"@aztec/
|
|
44
|
-
"@aztec/
|
|
45
|
-
"@aztec/
|
|
46
|
-
"@aztec/
|
|
47
|
-
"@aztec/
|
|
48
|
-
"@aztec/
|
|
49
|
-
"@aztec/
|
|
50
|
-
"@aztec/
|
|
51
|
-
"@aztec/
|
|
52
|
-
"@aztec/validator-ha-signer": "0.0.1-commit.321f6a9",
|
|
53
|
-
"@aztec/world-state": "0.0.1-commit.321f6a9",
|
|
30
|
+
"@aztec/aztec.js": "0.0.1-commit.330febf",
|
|
31
|
+
"@aztec/bb-prover": "0.0.1-commit.330febf",
|
|
32
|
+
"@aztec/blob-client": "0.0.1-commit.330febf",
|
|
33
|
+
"@aztec/blob-lib": "0.0.1-commit.330febf",
|
|
34
|
+
"@aztec/constants": "0.0.1-commit.330febf",
|
|
35
|
+
"@aztec/epoch-cache": "0.0.1-commit.330febf",
|
|
36
|
+
"@aztec/ethereum": "0.0.1-commit.330febf",
|
|
37
|
+
"@aztec/foundation": "0.0.1-commit.330febf",
|
|
38
|
+
"@aztec/l1-artifacts": "6.0.0-nightly.20260807",
|
|
39
|
+
"@aztec/node-keystore": "0.0.1-commit.330febf",
|
|
40
|
+
"@aztec/noir-acvm_js": "6.0.0-nightly.20260807",
|
|
41
|
+
"@aztec/noir-types": "6.0.0-nightly.20260807",
|
|
42
|
+
"@aztec/p2p": "0.0.1-commit.330febf",
|
|
43
|
+
"@aztec/protocol-contracts": "0.0.1-commit.330febf",
|
|
44
|
+
"@aztec/prover-client": "0.0.1-commit.330febf",
|
|
45
|
+
"@aztec/simulator": "0.0.1-commit.330febf",
|
|
46
|
+
"@aztec/slasher": "0.0.1-commit.330febf",
|
|
47
|
+
"@aztec/stdlib": "0.0.1-commit.330febf",
|
|
48
|
+
"@aztec/telemetry-client": "0.0.1-commit.330febf",
|
|
49
|
+
"@aztec/validator-client": "0.0.1-commit.330febf",
|
|
50
|
+
"@aztec/validator-ha-signer": "0.0.1-commit.330febf",
|
|
51
|
+
"@aztec/world-state": "0.0.1-commit.330febf",
|
|
54
52
|
"lodash.chunk": "^4.2.0",
|
|
55
53
|
"tslib": "^2.4.0",
|
|
56
54
|
"viem": "npm:@aztec/viem@2.38.2",
|
|
57
55
|
"zod": "^4"
|
|
58
56
|
},
|
|
59
57
|
"devDependencies": {
|
|
60
|
-
"@aztec/archiver": "0.0.1-commit.
|
|
61
|
-
"@aztec/kv-store": "0.0.1-commit.
|
|
58
|
+
"@aztec/archiver": "0.0.1-commit.330febf",
|
|
59
|
+
"@aztec/kv-store": "0.0.1-commit.330febf",
|
|
60
|
+
"@aztec/noir-protocol-circuits-types": "0.0.1-commit.330febf",
|
|
62
61
|
"@electric-sql/pglite": "^0.3.14",
|
|
63
62
|
"@jest/globals": "^30.0.0",
|
|
64
63
|
"@types/jest": "^30.0.0",
|
package/src/config.ts
CHANGED
|
@@ -64,6 +64,7 @@ export const DefaultSequencerConfig = {
|
|
|
64
64
|
injectUnrecoverableSignatureAttestation: false,
|
|
65
65
|
injectYParityAttestation: false,
|
|
66
66
|
fishermanMode: false,
|
|
67
|
+
governanceProposerForcePayloadVote: false,
|
|
67
68
|
shuffleAttestationOrdering: false,
|
|
68
69
|
skipPushProposedBlocksToArchiver: false,
|
|
69
70
|
skipPublishingCheckpointsPercent: 0,
|
|
@@ -161,6 +162,12 @@ export const sequencerConfigMappings: ConfigMappingsType<SequencerConfig> = {
|
|
|
161
162
|
description: 'The address of the payload for the governanceProposer',
|
|
162
163
|
parseEnv: (val: string) => EthAddress.fromString(val),
|
|
163
164
|
},
|
|
165
|
+
governanceProposerForcePayloadVote: {
|
|
166
|
+
env: 'GOVERNANCE_PROPOSER_FORCE_PAYLOAD_VOTE',
|
|
167
|
+
description:
|
|
168
|
+
'Keep signalling the configured governance payload even if a proposal referencing it was already executed.',
|
|
169
|
+
...booleanConfigHelper(DefaultSequencerConfig.governanceProposerForcePayloadVote),
|
|
170
|
+
},
|
|
164
171
|
l1PublishingTime: {
|
|
165
172
|
env: 'SEQ_L1_PUBLISHING_TIME_ALLOWANCE_IN_SLOT',
|
|
166
173
|
description: 'How much time in seconds to allow in the slot for publishing the L1 transaction.',
|
|
@@ -8,6 +8,7 @@ import {
|
|
|
8
8
|
MULTI_CALL_3_ADDRESS,
|
|
9
9
|
Multicall3,
|
|
10
10
|
MulticallForwarderRevertedError,
|
|
11
|
+
type PayloadProposalStatus,
|
|
11
12
|
type RollupContract,
|
|
12
13
|
type SimulationOverridesPlan,
|
|
13
14
|
type SlashingProposerContract,
|
|
@@ -46,6 +47,7 @@ import { EmpireBaseAbi, ErrorsAbi, RollupAbi, SlashingProposerAbi } from '@aztec
|
|
|
46
47
|
import { type ProposerSlashAction, encodeSlashConsensusVotes } from '@aztec/slasher';
|
|
47
48
|
import { CommitteeAttestationsAndSigners, type ValidateCheckpointResult } from '@aztec/stdlib/block';
|
|
48
49
|
import type { Checkpoint } from '@aztec/stdlib/checkpoint';
|
|
50
|
+
import type { SequencerConfig } from '@aztec/stdlib/config';
|
|
49
51
|
import {
|
|
50
52
|
getLastL1SlotTimestampForL2Slot,
|
|
51
53
|
getNextL1SlotTimestamp,
|
|
@@ -216,6 +218,7 @@ export class SequencerPublisher {
|
|
|
216
218
|
| 'sequencerPublisherPreviousL1BlockWaitTimeoutMs'
|
|
217
219
|
| 'sequencerPublisherPreviousL1BlockWaitPollIntervalMs'
|
|
218
220
|
> &
|
|
221
|
+
Pick<SequencerConfig, 'governanceProposerForcePayloadVote'> &
|
|
219
222
|
Pick<L1ContractsConfig, 'ethereumSlotDuration' | 'aztecSlotDuration'> & { l1ChainId: number },
|
|
220
223
|
deps: {
|
|
221
224
|
telemetry?: TelemetryClient;
|
|
@@ -1172,6 +1175,19 @@ export class SequencerPublisher {
|
|
|
1172
1175
|
this.log.warn(`Cannot enqueue vote cast signal ${signalType} for address zero at slot ${slotNumber}`);
|
|
1173
1176
|
return false;
|
|
1174
1177
|
}
|
|
1178
|
+
|
|
1179
|
+
const canonicalRollup = await base.getRollupAddress();
|
|
1180
|
+
if (!canonicalRollup.equals(EthAddress.fromString(this.rollupContract.address))) {
|
|
1181
|
+
this.log.warn(`Rollup ${this.rollupContract.address} is not canonical, skipping governance signal`, {
|
|
1182
|
+
slotNumber,
|
|
1183
|
+
signalType,
|
|
1184
|
+
canonicalRollup,
|
|
1185
|
+
targetRollup: this.rollupContract.address,
|
|
1186
|
+
payload: payload.toString(),
|
|
1187
|
+
});
|
|
1188
|
+
return false;
|
|
1189
|
+
}
|
|
1190
|
+
|
|
1175
1191
|
const round = await base.computeRound(slotNumber);
|
|
1176
1192
|
const roundInfo = await base.getRoundInfo(this.rollupContract.address, round);
|
|
1177
1193
|
|
|
@@ -1188,23 +1204,38 @@ export class SequencerPublisher {
|
|
|
1188
1204
|
return false;
|
|
1189
1205
|
}
|
|
1190
1206
|
|
|
1191
|
-
//
|
|
1192
|
-
//
|
|
1193
|
-
//
|
|
1194
|
-
|
|
1195
|
-
let proposed = false;
|
|
1207
|
+
// Classify the payload against the Governance proposal history so we stop signalling once its
|
|
1208
|
+
// proposal is live or was already executed, while still re-signalling one whose proposal was
|
|
1209
|
+
// merely rejected/dropped/expired.
|
|
1210
|
+
let status: PayloadProposalStatus = 'none';
|
|
1196
1211
|
try {
|
|
1197
|
-
|
|
1212
|
+
status = await base.getPayloadProposalStatus(payload.toString());
|
|
1198
1213
|
} catch (err) {
|
|
1199
1214
|
// We deliberately swallow the error and proceed to signal. Failing closed (skipping the
|
|
1200
1215
|
// signal) on transient RPC errors would let a flaky L1 endpoint silence governance
|
|
1201
1216
|
// participation entirely; failing open at worst produces a duplicate signal that the
|
|
1202
1217
|
// contract will simply count alongside others in the round.
|
|
1203
|
-
this.log.error(`Failed to check
|
|
1218
|
+
this.log.error(`Failed to check governance proposal status for payload ${payload} (signalling anyway)`, err, {
|
|
1219
|
+
slotNumber,
|
|
1220
|
+
signalType,
|
|
1221
|
+
});
|
|
1204
1222
|
}
|
|
1205
1223
|
|
|
1206
|
-
if (
|
|
1207
|
-
this.log.info(`Payload ${payload} has a live governance proposal, stopping signals
|
|
1224
|
+
if (status === 'live') {
|
|
1225
|
+
this.log.info(`Payload ${payload} has a live governance proposal, stopping signals`, {
|
|
1226
|
+
slotNumber,
|
|
1227
|
+
signalType,
|
|
1228
|
+
payload: payload.toString(),
|
|
1229
|
+
});
|
|
1230
|
+
return false;
|
|
1231
|
+
}
|
|
1232
|
+
|
|
1233
|
+
if (status === 'executed' && !this.config.governanceProposerForcePayloadVote) {
|
|
1234
|
+
this.log.info(
|
|
1235
|
+
`Payload ${payload} was executed by governance within lookback, stopping signals ` +
|
|
1236
|
+
`(set GOVERNANCE_PROPOSER_FORCE_PAYLOAD_VOTE to re-signal)`,
|
|
1237
|
+
{ slotNumber, signalType, payload: payload.toString() },
|
|
1238
|
+
);
|
|
1208
1239
|
return false;
|
|
1209
1240
|
}
|
|
1210
1241
|
|
|
@@ -790,7 +790,11 @@ export class AutomineSequencer {
|
|
|
790
790
|
return;
|
|
791
791
|
}
|
|
792
792
|
const failedTxHashes = failedTxs.map(fail => fail.tx.getTxHash());
|
|
793
|
-
|
|
793
|
+
const failures = failedTxs.map(fail => ({ txHash: fail.tx.getTxHash().toString(), reason: fail.error.message }));
|
|
794
|
+
this.log.warn(
|
|
795
|
+
`Dropping ${failedTxs.length} failed txs: ${failures.map(f => `${f.txHash} (${f.reason})`).join(', ')}`,
|
|
796
|
+
{ failures },
|
|
797
|
+
);
|
|
794
798
|
await this.deps.p2pClient.handleFailedExecution(failedTxHashes);
|
|
795
799
|
}
|
|
796
800
|
}
|
|
@@ -1531,7 +1531,11 @@ export class CheckpointProposalJob implements Traceable {
|
|
|
1531
1531
|
}
|
|
1532
1532
|
const failedTxData = failedTxs.map(fail => fail.tx);
|
|
1533
1533
|
const failedTxHashes = failedTxData.map(tx => tx.getTxHash());
|
|
1534
|
-
|
|
1534
|
+
const failures = failedTxs.map(fail => ({ txHash: fail.tx.getTxHash().toString(), reason: fail.error.message }));
|
|
1535
|
+
this.log.warn(
|
|
1536
|
+
`Dropping ${failedTxs.length} txs from mempool due to failures during block building for slot ${this.targetSlot}`,
|
|
1537
|
+
{ slot: this.targetSlot, checkpointNumber: this.checkpointNumber, failures },
|
|
1538
|
+
);
|
|
1535
1539
|
await this.p2pClient.handleFailedExecution(failedTxHashes);
|
|
1536
1540
|
}
|
|
1537
1541
|
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
import type { EpochCache } from '@aztec/epoch-cache';
|
|
2
|
+
import type { RollupContract } from '@aztec/ethereum/contracts';
|
|
3
|
+
import { EpochNumber, type SlotNumber } from '@aztec/foundation/branded-types';
|
|
4
|
+
import { timesParallel } from '@aztec/foundation/collection';
|
|
5
|
+
import type { Logger } from '@aztec/foundation/log';
|
|
6
|
+
import { formatSeconds } from '@aztec/foundation/string';
|
|
7
|
+
import type { DateProvider } from '@aztec/foundation/timer';
|
|
8
|
+
import type { L2BlockSource } from '@aztec/stdlib/block';
|
|
9
|
+
import { type L1RollupConstants, getStartTimestampForEpoch } from '@aztec/stdlib/epoch-helpers';
|
|
10
|
+
|
|
11
|
+
/** Collaborators {@link logMissingCommittee} needs to diagnose and report why no committee exists. */
|
|
12
|
+
export interface MissingCommitteeContext {
|
|
13
|
+
epochCache: Pick<EpochCache, 'getL1Constants' | 'getLagInEpochsForValidatorSet'>;
|
|
14
|
+
rollupContract: Pick<RollupContract, 'getActiveAttesterCount' | 'getAttesterCountAtTime'>;
|
|
15
|
+
l2BlockSource: Pick<L2BlockSource, 'getBlockNumber'>;
|
|
16
|
+
l1Constants: Pick<L1RollupConstants, 'l1GenesisTime' | 'slotDuration' | 'epochDuration'>;
|
|
17
|
+
dateProvider: Pick<DateProvider, 'nowInSeconds'>;
|
|
18
|
+
logger: Pick<Logger, 'info' | 'warn' | 'debug'>;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Why the sequencer cannot find a validator committee for an upcoming slot. A committee for an epoch is
|
|
23
|
+
* sampled from the validator set as of `lagInEpochsForValidatorSet` epochs earlier, and L1 refuses to
|
|
24
|
+
* produce one until at least `targetCommitteeSize` validators were staked at that sampling time.
|
|
25
|
+
*/
|
|
26
|
+
export type MissingCommitteeCause =
|
|
27
|
+
/** Enough validators are staked now; the committee is just waiting for the sampling window to advance. */
|
|
28
|
+
| 'awaiting-sampling-lag'
|
|
29
|
+
/** The chain has not produced any block yet and too few validators are staked: normal bootstrap state. */
|
|
30
|
+
| 'awaiting-first-validators'
|
|
31
|
+
/** The chain has produced blocks before but the validator set has since dropped below the required size. */
|
|
32
|
+
| 'validator-set-shrank';
|
|
33
|
+
|
|
34
|
+
export interface MissingCommitteeDiagnosis {
|
|
35
|
+
cause: MissingCommitteeCause;
|
|
36
|
+
/** Log severity: bootstrap and lag are expected (`info`); a shrunken set on a live chain is not (`warn`). */
|
|
37
|
+
severity: 'info' | 'warn';
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Logs why no validator committee exists for the given slot. Rather than the cryptic "committee does not
|
|
42
|
+
* exist on L1", it diagnoses the cause from the live attester count and whether the chain has ever produced
|
|
43
|
+
* a block: a bootstrapping chain waiting for validators to stake, a full set still waiting for the sampling
|
|
44
|
+
* lag to elapse, or a validator set that has shrunk below the required size on a live chain. Only the last is
|
|
45
|
+
* a genuine problem, so only it is logged at `warn`.
|
|
46
|
+
*
|
|
47
|
+
* Best-effort: if the diagnostic L1 reads fail we fall back to a neutral message so this never throws on the
|
|
48
|
+
* propose path.
|
|
49
|
+
*/
|
|
50
|
+
export async function logMissingCommittee(
|
|
51
|
+
targetSlot: SlotNumber,
|
|
52
|
+
targetEpoch: EpochNumber,
|
|
53
|
+
ctx: MissingCommitteeContext,
|
|
54
|
+
): Promise<void> {
|
|
55
|
+
const targetCommitteeSize = ctx.epochCache.getL1Constants().targetCommitteeSize;
|
|
56
|
+
const lag = ctx.epochCache.getLagInEpochsForValidatorSet();
|
|
57
|
+
|
|
58
|
+
let attesterCount: number;
|
|
59
|
+
let hasProducedBlocks: boolean;
|
|
60
|
+
try {
|
|
61
|
+
[attesterCount, hasProducedBlocks] = await Promise.all([
|
|
62
|
+
ctx.rollupContract.getActiveAttesterCount(),
|
|
63
|
+
ctx.l2BlockSource.getBlockNumber().then(n => n > 0),
|
|
64
|
+
]);
|
|
65
|
+
} catch (err) {
|
|
66
|
+
ctx.logger.warn(`No committee found for slot ${targetSlot}; could not determine validator set size`, {
|
|
67
|
+
targetSlot,
|
|
68
|
+
targetEpoch,
|
|
69
|
+
targetCommitteeSize,
|
|
70
|
+
err,
|
|
71
|
+
});
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
const diagnosis = classifyMissingCommittee({ attesterCount, targetCommitteeSize, hasProducedBlocks });
|
|
76
|
+
const logCtx = { targetSlot, targetEpoch, attesterCount, targetCommitteeSize, cause: diagnosis.cause };
|
|
77
|
+
|
|
78
|
+
switch (diagnosis.cause) {
|
|
79
|
+
case 'awaiting-sampling-lag': {
|
|
80
|
+
const firstCommitteeEpoch = await estimateFirstCommitteeEpoch(targetEpoch, lag, targetCommitteeSize, ctx);
|
|
81
|
+
const staked = `${attesterCount} validators are staked (>= ${targetCommitteeSize} required)`;
|
|
82
|
+
const forming = `the committee is still forming as the ${lag}-epoch sampling window advances`;
|
|
83
|
+
// When we could not pin the exact epoch, report the safe upper bound rather than a misleading ETA.
|
|
84
|
+
const epoch = firstCommitteeEpoch ?? EpochNumber(targetEpoch + lag + 1);
|
|
85
|
+
const expectation =
|
|
86
|
+
firstCommitteeEpoch === undefined
|
|
87
|
+
? `A committee should exist no later than epoch ${epoch}.`
|
|
88
|
+
: `The first committee is expected at epoch ${epoch}${formatEpochEta(epoch, ctx)}.`;
|
|
89
|
+
ctx.logger.info(`No committee for slot ${targetSlot} yet: ${staked}, ${forming}. ${expectation}`, {
|
|
90
|
+
...logCtx,
|
|
91
|
+
firstCommitteeEpoch: epoch,
|
|
92
|
+
});
|
|
93
|
+
break;
|
|
94
|
+
}
|
|
95
|
+
case 'awaiting-first-validators':
|
|
96
|
+
ctx.logger.info(
|
|
97
|
+
`No committee for slot ${targetSlot}: the chain has not started producing blocks and only ${attesterCount} ` +
|
|
98
|
+
`of the ${targetCommitteeSize} required validators are staked. Block production begins once at least ` +
|
|
99
|
+
`${targetCommitteeSize} validators stake and the ${lag}-epoch sampling lag elapses.`,
|
|
100
|
+
logCtx,
|
|
101
|
+
);
|
|
102
|
+
break;
|
|
103
|
+
case 'validator-set-shrank':
|
|
104
|
+
ctx.logger.warn(
|
|
105
|
+
`No committee for slot ${targetSlot}: the validator set has dropped to ${attesterCount}, below the ` +
|
|
106
|
+
`${targetCommitteeSize} required to form a committee. The chain cannot progress until enough validators ` +
|
|
107
|
+
`are staked again — check for validators exiting or being slashed.`,
|
|
108
|
+
logCtx,
|
|
109
|
+
);
|
|
110
|
+
break;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
/**
|
|
115
|
+
* Classifies why no committee exists for a slot, using only cheap live signals: the current attester count
|
|
116
|
+
* and whether the chain has ever produced a block. See {@link MissingCommitteeCause} for the reasoning.
|
|
117
|
+
*/
|
|
118
|
+
export function classifyMissingCommittee(args: {
|
|
119
|
+
attesterCount: number;
|
|
120
|
+
targetCommitteeSize: number;
|
|
121
|
+
hasProducedBlocks: boolean;
|
|
122
|
+
}): MissingCommitteeDiagnosis {
|
|
123
|
+
const { attesterCount, targetCommitteeSize, hasProducedBlocks } = args;
|
|
124
|
+
|
|
125
|
+
if (attesterCount >= targetCommitteeSize) {
|
|
126
|
+
return { cause: 'awaiting-sampling-lag', severity: 'info' };
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
if (hasProducedBlocks) {
|
|
130
|
+
return { cause: 'validator-set-shrank', severity: 'warn' };
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
return { cause: 'awaiting-first-validators', severity: 'info' };
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
/**
|
|
137
|
+
* Given each candidate epoch after the one we failed to propose at, paired with the attester count staked at
|
|
138
|
+
* that epoch's validator-set sample time (`undefined` when the sample time is still in the future), returns
|
|
139
|
+
* the earliest epoch that will have a committee, or `undefined` if none qualifies.
|
|
140
|
+
*
|
|
141
|
+
* Candidates must be ordered ascending by epoch. A committee for epoch `E` exists iff at least
|
|
142
|
+
* `targetCommitteeSize` validators were staked at `E`'s sample time, so the first candidate whose sampled
|
|
143
|
+
* count meets the target is the answer; a candidate whose sample time is still in the future is assumed to
|
|
144
|
+
* have a committee if the set holds and wins as soon as it is reached. The predicate is not monotone in `E`
|
|
145
|
+
* (the set can dip below target between sample times), so this must scan ascending rather than binary-search.
|
|
146
|
+
*/
|
|
147
|
+
export function findFirstEpochWithCommittee(args: {
|
|
148
|
+
candidates: { epoch: EpochNumber; sampledAttesterCount: number | undefined }[];
|
|
149
|
+
targetCommitteeSize: number;
|
|
150
|
+
}): EpochNumber | undefined {
|
|
151
|
+
return args.candidates.find(
|
|
152
|
+
c => c.sampledAttesterCount === undefined || c.sampledAttesterCount >= args.targetCommitteeSize,
|
|
153
|
+
)?.epoch;
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
/**
|
|
157
|
+
* Earliest epoch expected to have a committee, replaying L1's validator-set sampling rule: a committee for
|
|
158
|
+
* epoch `E` exists iff at least `targetCommitteeSize` attesters were staked at `E`'s sample time
|
|
159
|
+
* (`epochStart(E) - lag * epochDuration`). Only epochs after the one we failed at can qualify, and the set
|
|
160
|
+
* must have crossed the target within the last `lag` epochs' sample window, so the answer lies in
|
|
161
|
+
* `(targetEpoch, targetEpoch + lag + 1]`. Reads the historical attester count at each candidate's sample time
|
|
162
|
+
* (at most `lag` on-chain reads; future sample times are assumed to hold). Returns `undefined` if no candidate
|
|
163
|
+
* qualifies or the reads fail, leaving the caller to report a bound instead of an ETA.
|
|
164
|
+
*/
|
|
165
|
+
async function estimateFirstCommitteeEpoch(
|
|
166
|
+
targetEpoch: EpochNumber,
|
|
167
|
+
lag: number,
|
|
168
|
+
targetCommitteeSize: number,
|
|
169
|
+
ctx: MissingCommitteeContext,
|
|
170
|
+
): Promise<EpochNumber | undefined> {
|
|
171
|
+
try {
|
|
172
|
+
const epochDurationSeconds = BigInt(ctx.l1Constants.epochDuration * ctx.l1Constants.slotDuration);
|
|
173
|
+
const nowSeconds = BigInt(ctx.dateProvider.nowInSeconds());
|
|
174
|
+
const candidates = await timesParallel(lag + 1, async i => {
|
|
175
|
+
const epoch = EpochNumber(targetEpoch + 1 + i);
|
|
176
|
+
const sampleTime = getStartTimestampForEpoch(epoch, ctx.l1Constants) - epochDurationSeconds * BigInt(lag);
|
|
177
|
+
const sampledAttesterCount =
|
|
178
|
+
sampleTime > nowSeconds ? undefined : await ctx.rollupContract.getAttesterCountAtTime(sampleTime);
|
|
179
|
+
return { epoch, sampledAttesterCount };
|
|
180
|
+
});
|
|
181
|
+
return findFirstEpochWithCommittee({ candidates, targetCommitteeSize });
|
|
182
|
+
} catch (err) {
|
|
183
|
+
ctx.logger.debug(`Could not estimate first committee epoch after epoch ${targetEpoch}`, { targetEpoch, err });
|
|
184
|
+
return undefined;
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
/** Formats the ETA to the start of the given epoch as ` (~12m from now)`, or empty if it is in the past. */
|
|
189
|
+
function formatEpochEta(epoch: EpochNumber, ctx: MissingCommitteeContext): string {
|
|
190
|
+
const secondsUntil = Number(getStartTimestampForEpoch(epoch, ctx.l1Constants)) - ctx.dateProvider.nowInSeconds();
|
|
191
|
+
return secondsUntil > 0 ? ` (~${formatSeconds(secondsUntil)} from now)` : '';
|
|
192
|
+
}
|
|
@@ -55,6 +55,7 @@ import { CheckpointVoter } from './checkpoint_voter.js';
|
|
|
55
55
|
import { SequencerInterruptedError } from './errors.js';
|
|
56
56
|
import type { SequencerEvents } from './events.js';
|
|
57
57
|
import { SequencerMetrics } from './metrics.js';
|
|
58
|
+
import { logMissingCommittee } from './missing_committee.js';
|
|
58
59
|
import { RequestsTracker } from './requests_tracker.js';
|
|
59
60
|
import type { SequencerRollupConstants } from './types.js';
|
|
60
61
|
import { SequencerState } from './utils.js';
|
|
@@ -96,8 +97,8 @@ export class Sequencer extends (EventEmitter as new () => TypedEventEmitter<Sequ
|
|
|
96
97
|
* re-simulating and re-submitting the same invalidation across the many ticks within a single slot. */
|
|
97
98
|
private lastInvalidationAttempt: { slot: SlotNumber; checkpointNumber: CheckpointNumber } | undefined;
|
|
98
99
|
|
|
99
|
-
/** The last
|
|
100
|
-
private
|
|
100
|
+
/** The last epoch for which we logged a "no committee" diagnostic, to avoid per-slot log spam. */
|
|
101
|
+
private lastEpochForNoCommitteeLog: EpochNumber | undefined;
|
|
101
102
|
|
|
102
103
|
/** The last slot for which we triggered a checkpoint proposal job, to prevent duplicate attempts. */
|
|
103
104
|
protected lastSlotForCheckpointProposalJob: SlotNumber | undefined;
|
|
@@ -970,9 +971,17 @@ export class Sequencer extends (EventEmitter as new () => TypedEventEmitter<Sequ
|
|
|
970
971
|
proposer = await this.epochCache.getProposerAttesterAddressInSlot(targetSlot);
|
|
971
972
|
} catch (e) {
|
|
972
973
|
if (e instanceof NoCommitteeError) {
|
|
973
|
-
|
|
974
|
-
|
|
975
|
-
this.
|
|
974
|
+
const targetEpoch = getEpochAtSlot(targetSlot, this.l1Constants);
|
|
975
|
+
if (this.lastEpochForNoCommitteeLog !== targetEpoch) {
|
|
976
|
+
this.lastEpochForNoCommitteeLog = targetEpoch;
|
|
977
|
+
await logMissingCommittee(targetSlot, targetEpoch, {
|
|
978
|
+
epochCache: this.epochCache,
|
|
979
|
+
rollupContract: this.rollupContract,
|
|
980
|
+
l2BlockSource: this.l2BlockSource,
|
|
981
|
+
l1Constants: this.l1Constants,
|
|
982
|
+
dateProvider: this.dateProvider,
|
|
983
|
+
logger: this.log,
|
|
984
|
+
});
|
|
976
985
|
}
|
|
977
986
|
return [false, undefined];
|
|
978
987
|
}
|