@aztec/sequencer-client 2.0.0-nightly.20250903 → 2.0.0-rc.2

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.
@@ -8,7 +8,7 @@ import type { KeystoreManager } from '@aztec/node-keystore';
8
8
  import type { P2P } from '@aztec/p2p';
9
9
  import type { SlasherClientInterface } from '@aztec/slasher';
10
10
  import type { L2BlockSource } from '@aztec/stdlib/block';
11
- import type { IFullNodeBlockBuilder, WorldStateSynchronizer } from '@aztec/stdlib/interfaces/server';
11
+ import type { IFullNodeBlockBuilder, ValidatorClientFullConfig, WorldStateSynchronizer } from '@aztec/stdlib/interfaces/server';
12
12
  import type { L1ToL2MessageSource } from '@aztec/stdlib/messaging';
13
13
  import { L1Metrics, type TelemetryClient } from '@aztec/telemetry-client';
14
14
  import { type ValidatorClient } from '@aztec/validator-client';
@@ -53,10 +53,10 @@ export declare class SequencerClient {
53
53
  nodeKeyStore: KeystoreManager;
54
54
  }): Promise<SequencerClient>;
55
55
  /**
56
- * Updates sequencer config.
56
+ * Updates sequencer and validator client config.
57
57
  * @param config - New parameters.
58
58
  */
59
- updateSequencerConfig(config: SequencerConfig): void;
59
+ updateConfig(config: SequencerConfig & Partial<ValidatorClientFullConfig>): void;
60
60
  /** Starts the sequencer. */
61
61
  start(): Promise<void>;
62
62
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"sequencer-client.d.ts","sourceRoot":"","sources":["../../src/client/sequencer-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAEL,gBAAgB,EAIjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAE3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAErG,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,KAAK,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,EAAuB,KAAK,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAEpF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAE1D,OAAO,EAAE,yBAAyB,EAAE,MAAM,6CAA6C,CAAC;AACxF,OAAO,EAAE,SAAS,EAAE,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExE;;GAEG;AACH,qBAAa,eAAe;IAExB,SAAS,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,kBAAkB,CAAC;IAChE,SAAS,CAAC,SAAS,EAAE,SAAS;IAC9B,SAAS,CAAC,eAAe,CAAC,EAAE,eAAe;IAC3C,OAAO,CAAC,SAAS,CAAC;gBAHR,gBAAgB,EAAE,gBAAgB,CAAC,kBAAkB,CAAC,EACtD,SAAS,EAAE,SAAS,EACpB,eAAe,CAAC,EAAE,eAAe,YAAA,EACnC,SAAS,CAAC,EAAE,SAAS,YAAA;IAG/B;;;;;;;;;;;OAWG;WACiB,GAAG,CACrB,MAAM,EAAE,qBAAqB,EAC7B,IAAI,EAAE;QACJ,eAAe,EAAE,eAAe,GAAG,SAAS,CAAC;QAC7C,SAAS,EAAE,GAAG,CAAC;QACf,sBAAsB,EAAE,sBAAsB,CAAC;QAC/C,aAAa,EAAE,sBAAsB,GAAG,SAAS,CAAC;QAClD,YAAY,EAAE,qBAAqB,CAAC;QACpC,aAAa,EAAE,aAAa,CAAC;QAC7B,mBAAmB,EAAE,mBAAmB,CAAC;QACzC,SAAS,EAAE,eAAe,CAAC;QAC3B,gBAAgB,CAAC,EAAE,yBAAyB,CAAC;QAC7C,cAAc,CAAC,EAAE,uBAAuB,CAAC;QACzC,YAAY,EAAE,YAAY,CAAC;QAC3B,UAAU,CAAC,EAAE,UAAU,CAAC;QACxB,SAAS,EAAE,kBAAkB,EAAE,CAAC;QAChC,YAAY,EAAE,eAAe,CAAC;KAC/B;IAoHH;;;OAGG;IACI,qBAAqB,CAAC,MAAM,EAAE,eAAe;IAIpD,4BAA4B;IACf,KAAK;IAMlB;;OAEG;IACU,IAAI;IAMV,YAAY,IAAI,SAAS;IAIhC,IAAI,kBAAkB,IAAI,UAAU,EAAE,GAAG,SAAS,CAEjD;IAED,IAAI,aAAa,IAAI,MAAM,GAAG,SAAS,CAEtC;CACF"}
1
+ {"version":3,"file":"sequencer-client.d.ts","sourceRoot":"","sources":["../../src/client/sequencer-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAEL,gBAAgB,EAIjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAE3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EACV,qBAAqB,EACrB,yBAAyB,EACzB,sBAAsB,EACvB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,KAAK,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,EAAuB,KAAK,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAEpF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAE1D,OAAO,EAAE,yBAAyB,EAAE,MAAM,6CAA6C,CAAC;AACxF,OAAO,EAAE,SAAS,EAAE,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExE;;GAEG;AACH,qBAAa,eAAe;IAExB,SAAS,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,kBAAkB,CAAC;IAChE,SAAS,CAAC,SAAS,EAAE,SAAS;IAC9B,SAAS,CAAC,eAAe,CAAC,EAAE,eAAe;IAC3C,OAAO,CAAC,SAAS,CAAC;gBAHR,gBAAgB,EAAE,gBAAgB,CAAC,kBAAkB,CAAC,EACtD,SAAS,EAAE,SAAS,EACpB,eAAe,CAAC,EAAE,eAAe,YAAA,EACnC,SAAS,CAAC,EAAE,SAAS,YAAA;IAG/B;;;;;;;;;;;OAWG;WACiB,GAAG,CACrB,MAAM,EAAE,qBAAqB,EAC7B,IAAI,EAAE;QACJ,eAAe,EAAE,eAAe,GAAG,SAAS,CAAC;QAC7C,SAAS,EAAE,GAAG,CAAC;QACf,sBAAsB,EAAE,sBAAsB,CAAC;QAC/C,aAAa,EAAE,sBAAsB,GAAG,SAAS,CAAC;QAClD,YAAY,EAAE,qBAAqB,CAAC;QACpC,aAAa,EAAE,aAAa,CAAC;QAC7B,mBAAmB,EAAE,mBAAmB,CAAC;QACzC,SAAS,EAAE,eAAe,CAAC;QAC3B,gBAAgB,CAAC,EAAE,yBAAyB,CAAC;QAC7C,cAAc,CAAC,EAAE,uBAAuB,CAAC;QACzC,YAAY,EAAE,YAAY,CAAC;QAC3B,UAAU,CAAC,EAAE,UAAU,CAAC;QACxB,SAAS,EAAE,kBAAkB,EAAE,CAAC;QAChC,YAAY,EAAE,eAAe,CAAC;KAC/B;IAoHH;;;OAGG;IACI,YAAY,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,yBAAyB,CAAC;IAKhF,4BAA4B;IACf,KAAK;IAMlB;;OAEG;IACU,IAAI;IAMV,YAAY,IAAI,SAAS;IAIhC,IAAI,kBAAkB,IAAI,UAAU,EAAE,GAAG,SAAS,CAEjD;IAED,IAAI,aAAa,IAAI,MAAM,GAAG,SAAS,CAEtC;CACF"}
@@ -97,10 +97,11 @@ import { Sequencer } from '../sequencer/index.js';
97
97
  return new SequencerClient(publisherManager, sequencer, validatorClient, l1Metrics);
98
98
  }
99
99
  /**
100
- * Updates sequencer config.
100
+ * Updates sequencer and validator client config.
101
101
  * @param config - New parameters.
102
- */ updateSequencerConfig(config) {
103
- return this.sequencer.updateConfig(config);
102
+ */ updateConfig(config) {
103
+ this.sequencer.updateConfig(config);
104
+ this.validatorClient?.updateConfig(config);
104
105
  }
105
106
  /** Starts the sequencer. */ async start() {
106
107
  await this.validatorClient?.start();
@@ -14,10 +14,6 @@ export type TxSenderConfig = L1ReaderConfig & {
14
14
  * Publisher addresses to be used with a remote signer
15
15
  */
16
16
  publisherAddresses?: EthAddress[];
17
- /**
18
- * The address of the custom forwarder contract.
19
- */
20
- customForwarderContractAddress: EthAddress;
21
17
  };
22
18
  /**
23
19
  * Configuration of the L1Publisher.
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/publisher/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAyB,MAAM,yBAAyB,CAAC;AACrF,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,eAAe,EAGrB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,KAAK,kBAAkB,EAAE,WAAW,EAAyB,MAAM,0BAA0B,CAAC;AACvG,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAE3D;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,cAAc,GAAG;IAC5C;;OAEG;IACH,oBAAoB,CAAC,EAAE,WAAW,CAAC,KAAK,MAAM,EAAE,CAAC,EAAE,CAAC;IAEpD;;OAEG;IACH,kBAAkB,CAAC,EAAE,UAAU,EAAE,CAAC;IAElC;;OAEG;IACH,8BAA8B,EAAE,UAAU,CAAC;CAC5C,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,eAAe,GAC3C,cAAc,GAAG;IACf;;OAEG;IACH,wBAAwB,EAAE,MAAM,CAAC;CAClC,CAAC;AAEJ,eAAO,MAAM,yBAAyB,EAAE,CACtC,KAAK,EAAE,QAAQ,GAAG,KAAK,KACpB,kBAAkB,CAAC,IAAI,CAAC,cAAc,EAAE,aAAa,CAAC,CAqBzD,CAAC;AAEH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,QAAQ,GAAG,KAAK,GAAG,IAAI,CAAC,cAAc,EAAE,aAAa,CAAC,CAErG;AAED,eAAO,MAAM,0BAA0B,EAAE,CACvC,KAAK,EAAE,QAAQ,GAAG,KAAK,KACpB,kBAAkB,CAAC,eAAe,GAAG,eAAe,CASvD,CAAC;AAEH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,QAAQ,GAAG,KAAK,GAAG,eAAe,CAElF"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/publisher/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAyB,MAAM,yBAAyB,CAAC;AACrF,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,eAAe,EAGrB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,KAAK,kBAAkB,EAAE,WAAW,EAAyB,MAAM,0BAA0B,CAAC;AACvG,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAE3D;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,cAAc,GAAG;IAC5C;;OAEG;IACH,oBAAoB,CAAC,EAAE,WAAW,CAAC,KAAK,MAAM,EAAE,CAAC,EAAE,CAAC;IAEpD;;OAEG;IACH,kBAAkB,CAAC,EAAE,UAAU,EAAE,CAAC;CACnC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,eAAe,GAC3C,cAAc,GAAG;IACf;;OAEG;IACH,wBAAwB,EAAE,MAAM,CAAC;CAClC,CAAC;AAEJ,eAAO,MAAM,yBAAyB,EAAE,CACtC,KAAK,EAAE,QAAQ,GAAG,KAAK,KACpB,kBAAkB,CAAC,IAAI,CAAC,cAAc,EAAE,aAAa,CAAC,CAezD,CAAC;AAEH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,QAAQ,GAAG,KAAK,GAAG,IAAI,CAAC,cAAc,EAAE,aAAa,CAAC,CAErG;AAED,eAAO,MAAM,0BAA0B,EAAE,CACvC,KAAK,EAAE,QAAQ,GAAG,KAAK,KACpB,kBAAkB,CAAC,eAAe,GAAG,eAAe,CASvD,CAAC;AAEH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,QAAQ,GAAG,KAAK,GAAG,eAAe,CAElF"}
@@ -4,12 +4,6 @@ import { SecretValue, getConfigFromMappings } from '@aztec/foundation/config';
4
4
  import { EthAddress } from '@aztec/foundation/eth-address';
5
5
  export const getTxSenderConfigMappings = (scope)=>({
6
6
  ...l1ReaderConfigMappings,
7
- customForwarderContractAddress: {
8
- env: `CUSTOM_FORWARDER_CONTRACT_ADDRESS`,
9
- parseEnv: (val)=>EthAddress.fromString(val),
10
- description: 'The address of the custom forwarder contract.',
11
- defaultValue: EthAddress.ZERO
12
- },
13
7
  publisherPrivateKeys: {
14
8
  env: scope === 'PROVER' ? `PROVER_PUBLISHER_PRIVATE_KEYS` : `SEQ_PUBLISHER_PRIVATE_KEYS`,
15
9
  description: 'The private keys to be used by the publisher.',
@@ -18,7 +18,7 @@ export declare enum SignalType {
18
18
  GOVERNANCE = 0,
19
19
  SLASHING = 1
20
20
  }
21
- export declare const Actions: readonly ["propose", "governance-signal", "empire-slashing-signal", "create-empire-payload", "execute-empire-payload", "vote-offenses", "execute-slash", "invalidate-by-invalid-attestation", "invalidate-by-insufficient-attestations"];
21
+ export declare const Actions: readonly ["invalidate-by-invalid-attestation", "invalidate-by-insufficient-attestations", "propose", "governance-signal", "empire-slashing-signal", "create-empire-payload", "execute-empire-payload", "vote-offenses", "execute-slash"];
22
22
  export type Action = (typeof Actions)[number];
23
23
  export declare const compareActions: (a: Action, b: Action) => number;
24
24
  export type InvalidateBlockRequest = {
@@ -96,10 +96,10 @@ export declare class SequencerPublisher {
96
96
  errorMsg: string | undefined;
97
97
  stats?: undefined;
98
98
  };
99
- expiredActions: ("propose" | "governance-signal" | "empire-slashing-signal" | "create-empire-payload" | "execute-empire-payload" | "vote-offenses" | "execute-slash" | "invalidate-by-invalid-attestation" | "invalidate-by-insufficient-attestations")[];
100
- sentActions: ("propose" | "governance-signal" | "empire-slashing-signal" | "create-empire-payload" | "execute-empire-payload" | "vote-offenses" | "execute-slash" | "invalidate-by-invalid-attestation" | "invalidate-by-insufficient-attestations")[];
101
- successfulActions: ("propose" | "governance-signal" | "empire-slashing-signal" | "create-empire-payload" | "execute-empire-payload" | "vote-offenses" | "execute-slash" | "invalidate-by-invalid-attestation" | "invalidate-by-insufficient-attestations")[];
102
- failedActions: ("propose" | "governance-signal" | "empire-slashing-signal" | "create-empire-payload" | "execute-empire-payload" | "vote-offenses" | "execute-slash" | "invalidate-by-invalid-attestation" | "invalidate-by-insufficient-attestations")[];
99
+ expiredActions: ("invalidate-by-invalid-attestation" | "invalidate-by-insufficient-attestations" | "propose" | "governance-signal" | "empire-slashing-signal" | "create-empire-payload" | "execute-empire-payload" | "vote-offenses" | "execute-slash")[];
100
+ sentActions: ("invalidate-by-invalid-attestation" | "invalidate-by-insufficient-attestations" | "propose" | "governance-signal" | "empire-slashing-signal" | "create-empire-payload" | "execute-empire-payload" | "vote-offenses" | "execute-slash")[];
101
+ successfulActions: ("invalidate-by-invalid-attestation" | "invalidate-by-insufficient-attestations" | "propose" | "governance-signal" | "empire-slashing-signal" | "create-empire-payload" | "execute-empire-payload" | "vote-offenses" | "execute-slash")[];
102
+ failedActions: ("invalidate-by-invalid-attestation" | "invalidate-by-insufficient-attestations" | "propose" | "governance-signal" | "empire-slashing-signal" | "create-empire-payload" | "execute-empire-payload" | "vote-offenses" | "execute-slash")[];
103
103
  } | undefined>;
104
104
  private callbackBundledTransactions;
105
105
  /**
@@ -21,15 +21,15 @@ export var SignalType = /*#__PURE__*/ function(SignalType) {
21
21
  return SignalType;
22
22
  }({});
23
23
  export const Actions = [
24
+ 'invalidate-by-invalid-attestation',
25
+ 'invalidate-by-insufficient-attestations',
24
26
  'propose',
25
27
  'governance-signal',
26
28
  'empire-slashing-signal',
27
29
  'create-empire-payload',
28
30
  'execute-empire-payload',
29
31
  'vote-offenses',
30
- 'execute-slash',
31
- 'invalidate-by-invalid-attestation',
32
- 'invalidate-by-insufficient-attestations'
32
+ 'execute-slash'
33
33
  ];
34
34
  // Sorting for actions such that invalidations go before proposals, and proposals go before votes
35
35
  export const compareActions = (a, b)=>Actions.indexOf(a) - Actions.indexOf(b);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aztec/sequencer-client",
3
- "version": "2.0.0-nightly.20250903",
3
+ "version": "2.0.0-rc.2",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": "./dest/index.js",
@@ -26,37 +26,37 @@
26
26
  "test:integration:run": "NODE_NO_WARNINGS=1 node --experimental-vm-modules $(yarn bin jest) --no-cache --config jest.integration.config.json"
27
27
  },
28
28
  "dependencies": {
29
- "@aztec/aztec.js": "2.0.0-nightly.20250903",
30
- "@aztec/bb-prover": "2.0.0-nightly.20250903",
31
- "@aztec/blob-lib": "2.0.0-nightly.20250903",
32
- "@aztec/blob-sink": "2.0.0-nightly.20250903",
33
- "@aztec/constants": "2.0.0-nightly.20250903",
34
- "@aztec/epoch-cache": "2.0.0-nightly.20250903",
35
- "@aztec/ethereum": "2.0.0-nightly.20250903",
36
- "@aztec/foundation": "2.0.0-nightly.20250903",
37
- "@aztec/l1-artifacts": "2.0.0-nightly.20250903",
38
- "@aztec/merkle-tree": "2.0.0-nightly.20250903",
39
- "@aztec/noir-acvm_js": "2.0.0-nightly.20250903",
40
- "@aztec/noir-contracts.js": "2.0.0-nightly.20250903",
41
- "@aztec/noir-protocol-circuits-types": "2.0.0-nightly.20250903",
42
- "@aztec/noir-types": "2.0.0-nightly.20250903",
43
- "@aztec/p2p": "2.0.0-nightly.20250903",
44
- "@aztec/protocol-contracts": "2.0.0-nightly.20250903",
45
- "@aztec/prover-client": "2.0.0-nightly.20250903",
46
- "@aztec/simulator": "2.0.0-nightly.20250903",
47
- "@aztec/slasher": "2.0.0-nightly.20250903",
48
- "@aztec/stdlib": "2.0.0-nightly.20250903",
49
- "@aztec/telemetry-client": "2.0.0-nightly.20250903",
50
- "@aztec/validator-client": "2.0.0-nightly.20250903",
51
- "@aztec/world-state": "2.0.0-nightly.20250903",
29
+ "@aztec/aztec.js": "2.0.0-rc.2",
30
+ "@aztec/bb-prover": "2.0.0-rc.2",
31
+ "@aztec/blob-lib": "2.0.0-rc.2",
32
+ "@aztec/blob-sink": "2.0.0-rc.2",
33
+ "@aztec/constants": "2.0.0-rc.2",
34
+ "@aztec/epoch-cache": "2.0.0-rc.2",
35
+ "@aztec/ethereum": "2.0.0-rc.2",
36
+ "@aztec/foundation": "2.0.0-rc.2",
37
+ "@aztec/l1-artifacts": "2.0.0-rc.2",
38
+ "@aztec/merkle-tree": "2.0.0-rc.2",
39
+ "@aztec/noir-acvm_js": "2.0.0-rc.2",
40
+ "@aztec/noir-contracts.js": "2.0.0-rc.2",
41
+ "@aztec/noir-protocol-circuits-types": "2.0.0-rc.2",
42
+ "@aztec/noir-types": "2.0.0-rc.2",
43
+ "@aztec/p2p": "2.0.0-rc.2",
44
+ "@aztec/protocol-contracts": "2.0.0-rc.2",
45
+ "@aztec/prover-client": "2.0.0-rc.2",
46
+ "@aztec/simulator": "2.0.0-rc.2",
47
+ "@aztec/slasher": "2.0.0-rc.2",
48
+ "@aztec/stdlib": "2.0.0-rc.2",
49
+ "@aztec/telemetry-client": "2.0.0-rc.2",
50
+ "@aztec/validator-client": "2.0.0-rc.2",
51
+ "@aztec/world-state": "2.0.0-rc.2",
52
52
  "lodash.chunk": "^4.2.0",
53
53
  "lodash.pick": "^4.4.0",
54
54
  "tslib": "^2.4.0",
55
55
  "viem": "2.23.7"
56
56
  },
57
57
  "devDependencies": {
58
- "@aztec/archiver": "2.0.0-nightly.20250903",
59
- "@aztec/kv-store": "2.0.0-nightly.20250903",
58
+ "@aztec/archiver": "2.0.0-rc.2",
59
+ "@aztec/kv-store": "2.0.0-rc.2",
60
60
  "@jest/globals": "^30.0.0",
61
61
  "@types/jest": "^30.0.0",
62
62
  "@types/lodash.chunk": "^4.2.7",
@@ -15,7 +15,11 @@ import type { KeystoreManager } from '@aztec/node-keystore';
15
15
  import type { P2P } from '@aztec/p2p';
16
16
  import type { SlasherClientInterface } from '@aztec/slasher';
17
17
  import type { L2BlockSource } from '@aztec/stdlib/block';
18
- import type { IFullNodeBlockBuilder, WorldStateSynchronizer } from '@aztec/stdlib/interfaces/server';
18
+ import type {
19
+ IFullNodeBlockBuilder,
20
+ ValidatorClientFullConfig,
21
+ WorldStateSynchronizer,
22
+ } from '@aztec/stdlib/interfaces/server';
19
23
  import { SlashFactoryContract } from '@aztec/stdlib/l1-contracts';
20
24
  import type { L1ToL2MessageSource } from '@aztec/stdlib/messaging';
21
25
  import { L1Metrics, type TelemetryClient } from '@aztec/telemetry-client';
@@ -183,11 +187,12 @@ export class SequencerClient {
183
187
  }
184
188
 
185
189
  /**
186
- * Updates sequencer config.
190
+ * Updates sequencer and validator client config.
187
191
  * @param config - New parameters.
188
192
  */
189
- public updateSequencerConfig(config: SequencerConfig) {
190
- return this.sequencer.updateConfig(config);
193
+ public updateConfig(config: SequencerConfig & Partial<ValidatorClientFullConfig>) {
194
+ this.sequencer.updateConfig(config);
195
+ this.validatorClient?.updateConfig(config);
191
196
  }
192
197
 
193
198
  /** Starts the sequencer. */
@@ -21,11 +21,6 @@ export type TxSenderConfig = L1ReaderConfig & {
21
21
  * Publisher addresses to be used with a remote signer
22
22
  */
23
23
  publisherAddresses?: EthAddress[];
24
-
25
- /**
26
- * The address of the custom forwarder contract.
27
- */
28
- customForwarderContractAddress: EthAddress;
29
24
  };
30
25
 
31
26
  /**
@@ -43,12 +38,6 @@ export const getTxSenderConfigMappings: (
43
38
  scope: 'PROVER' | 'SEQ',
44
39
  ) => ConfigMappingsType<Omit<TxSenderConfig, 'l1Contracts'>> = (scope: 'PROVER' | 'SEQ') => ({
45
40
  ...l1ReaderConfigMappings,
46
- customForwarderContractAddress: {
47
- env: `CUSTOM_FORWARDER_CONTRACT_ADDRESS`,
48
- parseEnv: (val: string) => EthAddress.fromString(val),
49
- description: 'The address of the custom forwarder contract.',
50
- defaultValue: EthAddress.ZERO,
51
- },
52
41
  publisherPrivateKeys: {
53
42
  env: scope === 'PROVER' ? `PROVER_PUBLISHER_PRIVATE_KEYS` : `SEQ_PUBLISHER_PRIVATE_KEYS`,
54
43
  description: 'The private keys to be used by the publisher.',
@@ -68,6 +68,8 @@ export enum SignalType {
68
68
  }
69
69
 
70
70
  export const Actions = [
71
+ 'invalidate-by-invalid-attestation',
72
+ 'invalidate-by-insufficient-attestations',
71
73
  'propose',
72
74
  'governance-signal',
73
75
  'empire-slashing-signal',
@@ -75,8 +77,6 @@ export const Actions = [
75
77
  'execute-empire-payload',
76
78
  'vote-offenses',
77
79
  'execute-slash',
78
- 'invalidate-by-invalid-attestation',
79
- 'invalidate-by-insufficient-attestations',
80
80
  ] as const;
81
81
  export type Action = (typeof Actions)[number];
82
82