@aztec/aztec-node 2.0.0-rc.22 → 2.0.0-rc.24

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.
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/aztec-node/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAA0B,MAAM,wBAAwB,CAAC;AACrF,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EAGzB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,KAAK,kBAAkB,EAA8C,MAAM,0BAA0B,CAAC;AAC/G,OAAO,EAAE,KAAK,eAAe,EAAsB,MAAM,wBAAwB,CAAC;AAClF,OAAO,EAML,KAAK,QAAQ,EACb,KAAK,cAAc,EAGpB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,KAAK,gBAAgB,EAA4B,MAAM,wBAAwB,CAAC;AACzF,OAAO,EAAE,KAAK,SAAS,EAAqB,MAAM,mBAAmB,CAAC;AACtE,OAAO,EAAE,KAAK,sBAAsB,EAA8B,MAAM,6BAA6B,CAAC;AACtG,OAAO,EACL,KAAK,qBAAqB,EAC1B,KAAK,cAAc,EACnB,6BAA6B,EAC9B,MAAM,gCAAgC,CAAC;AAGxC,OAAO,EAAE,KAAK,aAAa,EAAyB,MAAM,sBAAsB,CAAC;AACjF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,KAAK,qBAAqB,EAAiC,MAAM,gCAAgC,CAAC;AAC3G,OAAO,EAAE,KAAK,gBAAgB,EAA4B,MAAM,2BAA2B,CAAC;AAI5F,OAAO,EAAE,KAAK,cAAc,EAA0B,MAAM,uBAAuB,CAAC;AAEpF,OAAO,EAAE,6BAA6B,EAAE,KAAK,qBAAqB,EAAE,CAAC;AAErE;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,cAAc,GAC1C,qBAAqB,GACrB,qBAAqB,GACrB,sBAAsB,GACtB,gBAAgB,GAChB,IAAI,CAAC,sBAAsB,EAAE,cAAc,GAAG,oBAAoB,GAAG,YAAY,CAAC,GAClF,SAAS,GACT,eAAe,GACf,cAAc,GACd,cAAc,GACd,gBAAgB,GAChB,kBAAkB,GAClB,aAAa,GACb,aAAa,GAAG;IACd,6BAA6B;IAC7B,WAAW,EAAE,mBAAmB,CAAC;IACjC,sDAAsD;IACtD,gBAAgB,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEJ,eAAO,MAAM,uBAAuB,EAAE,kBAAkB,CAAC,eAAe,CAuBvE,CAAC;AAEF;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,eAAe,CAElD;AAiFD,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,cAAc,GAAG,qBAAqB,GAAG,gBAAgB,wBAM3G"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/aztec-node/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAA0B,MAAM,wBAAwB,CAAC;AACrF,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EAGzB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,KAAK,kBAAkB,EAA8C,MAAM,0BAA0B,CAAC;AAE/G,OAAO,EAAE,KAAK,eAAe,EAAsB,MAAM,wBAAwB,CAAC;AAClF,OAAO,EACL,KAAK,QAAQ,EACb,KAAK,cAAc,EAIpB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,KAAK,gBAAgB,EAA4B,MAAM,wBAAwB,CAAC;AACzF,OAAO,EAAE,KAAK,SAAS,EAAqB,MAAM,mBAAmB,CAAC;AACtE,OAAO,EAAE,KAAK,sBAAsB,EAA8B,MAAM,6BAA6B,CAAC;AACtG,OAAO,EACL,KAAK,qBAAqB,EAC1B,KAAK,cAAc,EACnB,6BAA6B,EAC9B,MAAM,gCAAgC,CAAC;AAGxC,OAAO,EAAE,KAAK,aAAa,EAAyB,MAAM,sBAAsB,CAAC;AACjF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,KAAK,qBAAqB,EAAiC,MAAM,gCAAgC,CAAC;AAC3G,OAAO,EAAE,KAAK,gBAAgB,EAA4B,MAAM,2BAA2B,CAAC;AAI5F,OAAO,EAAE,KAAK,cAAc,EAA0B,MAAM,uBAAuB,CAAC;AAEpF,OAAO,EAAE,6BAA6B,EAAE,KAAK,qBAAqB,EAAE,CAAC;AAErE;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,cAAc,GAC1C,qBAAqB,GACrB,qBAAqB,GACrB,sBAAsB,GACtB,gBAAgB,GAChB,IAAI,CAAC,sBAAsB,EAAE,cAAc,GAAG,oBAAoB,GAAG,YAAY,CAAC,GAClF,SAAS,GACT,eAAe,GACf,cAAc,GACd,cAAc,GACd,gBAAgB,GAChB,kBAAkB,GAClB,aAAa,GACb,aAAa,GAAG;IACd,6BAA6B;IAC7B,WAAW,EAAE,mBAAmB,CAAC;IACjC,sDAAsD;IACtD,gBAAgB,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEJ,eAAO,MAAM,uBAAuB,EAAE,kBAAkB,CAAC,eAAe,CAuBvE,CAAC;AAEF;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,eAAe,CAElD;AAoED,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,cAAc,GAAG,qBAAqB,GAAG,gBAAgB,wBAM3G"}
@@ -1,8 +1,9 @@
1
1
  import { archiverConfigMappings } from '@aztec/archiver/config';
2
2
  import { genesisStateConfigMappings, l1ContractAddressesMapping } from '@aztec/ethereum';
3
3
  import { booleanConfigHelper, getConfigFromMappings } from '@aztec/foundation/config';
4
+ import { EthAddress } from '@aztec/foundation/eth-address';
4
5
  import { dataConfigMappings } from '@aztec/kv-store/config';
5
- import { keyStoreConfigMappings } from '@aztec/node-keystore';
6
+ import { ethPrivateKeySchema, keyStoreConfigMappings } from '@aztec/node-keystore';
6
7
  import { sharedNodeConfigMappings } from '@aztec/node-lib/config';
7
8
  import { p2pConfigMappings } from '@aztec/p2p/config';
8
9
  import { proverClientConfigMappings } from '@aztec/prover-client/config';
@@ -50,16 +51,12 @@ function createKeyStoreFromWeb3Signer(config) {
50
51
  if (config.web3SignerUrl === undefined || config.web3SignerUrl.length === 0 || config.validatorAddresses === undefined || config.validatorAddresses.length === 0) {
51
52
  return undefined;
52
53
  }
53
- const coinbase = config.coinbase ? config.coinbase.toString() : config.validatorAddresses[0].toString();
54
- const feeRecipient = config.feeRecipient ? config.feeRecipient.toString() : AztecAddress.ZERO.toString();
55
- const publisherAddresses = config.publisherAddresses && config.publisherAddresses.length > 0 ? config.publisherAddresses.map((k)=>k.toChecksumString()) : [];
56
- const attestors = config.validatorAddresses.map((k)=>k.toChecksumString());
57
54
  validatorKeyStores.push({
58
- attester: attestors,
59
- feeRecipient: feeRecipient,
60
- coinbase: coinbase,
55
+ attester: config.validatorAddresses,
56
+ feeRecipient: config.feeRecipient ?? AztecAddress.ZERO,
57
+ coinbase: config.coinbase ?? config.validatorAddresses[0],
61
58
  remoteSigner: config.web3SignerUrl,
62
- publisher: publisherAddresses
59
+ publisher: config.publisherAddresses ?? []
63
60
  });
64
61
  const keyStore = {
65
62
  schemaVersion: 1,
@@ -72,19 +69,13 @@ function createKeyStoreFromWeb3Signer(config) {
72
69
  }
73
70
  function createKeyStoreFromPrivateKeys(config) {
74
71
  const validatorKeyStores = [];
75
- const ethPrivateKeys = [];
76
- const validatorKeys = config.validatorPrivateKeys ? config.validatorPrivateKeys.getValue() : [];
77
- for(let i = 0; i < validatorKeys.length; i++){
78
- const key = validatorKeys[i];
79
- const ethPrivateKey = key;
80
- ethPrivateKeys.push(ethPrivateKey);
81
- }
72
+ const ethPrivateKeys = config.validatorPrivateKeys ? config.validatorPrivateKeys.getValue().map((x)=>ethPrivateKeySchema.parse(x)) : [];
82
73
  if (!ethPrivateKeys.length) {
83
74
  return undefined;
84
75
  }
85
- const coinbase = config.coinbase ? config.coinbase.toString() : privateKeyToAddress(ethPrivateKeys[0]);
86
- const feeRecipient = config.feeRecipient ? config.feeRecipient.toString() : AztecAddress.ZERO.toString();
87
- const publisherKeys = config.publisherPrivateKeys ? config.publisherPrivateKeys.map((k)=>k.getValue()) : [];
76
+ const coinbase = config.coinbase ?? EthAddress.fromString(privateKeyToAddress(ethPrivateKeys[0]));
77
+ const feeRecipient = config.feeRecipient ?? AztecAddress.ZERO;
78
+ const publisherKeys = config.publisherPrivateKeys ? config.publisherPrivateKeys.map((k)=>ethPrivateKeySchema.parse(k.getValue())) : [];
88
79
  validatorKeyStores.push({
89
80
  attester: ethPrivateKeys,
90
81
  feeRecipient: feeRecipient,
@@ -1 +1 @@
1
- {"version":3,"file":"sentinel.d.ts","sourceRoot":"","sources":["../../src/sentinel/sentinel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sentinel.d.ts","sourceRoot":"","sources":["../../src/sentinel/sentinel.ts"],"names":[],"mappings":"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"}
@@ -140,6 +140,9 @@ export class Sentinel extends EventEmitter {
140
140
  return allPerformance.sort((a, b)=>Number(b.epoch - a.epoch)).filter((p)=>p.epoch < currentEpoch).slice(0, requiredConsecutiveEpochs).every((p)=>p.missed / p.total >= this.config.slashInactivityTargetPercentage);
141
141
  }
142
142
  async handleProvenPerformance(epoch, performance) {
143
+ if (this.config.slashInactivityPenalty === 0n) {
144
+ return;
145
+ }
143
146
  const inactiveValidators = getEntries(performance).filter(([_, { missed, total }])=>missed / total >= this.config.slashInactivityTargetPercentage).map(([address])=>address);
144
147
  this.logger.debug(`Found ${inactiveValidators.length} inactive validators in epoch ${epoch}`, {
145
148
  inactiveValidators,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aztec/aztec-node",
3
- "version": "2.0.0-rc.22",
3
+ "version": "2.0.0-rc.24",
4
4
  "main": "dest/index.js",
5
5
  "type": "module",
6
6
  "exports": {
@@ -66,29 +66,29 @@
66
66
  ]
67
67
  },
68
68
  "dependencies": {
69
- "@aztec/archiver": "2.0.0-rc.22",
70
- "@aztec/bb-prover": "2.0.0-rc.22",
71
- "@aztec/blob-sink": "2.0.0-rc.22",
72
- "@aztec/constants": "2.0.0-rc.22",
73
- "@aztec/epoch-cache": "2.0.0-rc.22",
74
- "@aztec/ethereum": "2.0.0-rc.22",
75
- "@aztec/foundation": "2.0.0-rc.22",
76
- "@aztec/kv-store": "2.0.0-rc.22",
77
- "@aztec/l1-artifacts": "2.0.0-rc.22",
78
- "@aztec/merkle-tree": "2.0.0-rc.22",
79
- "@aztec/node-keystore": "2.0.0-rc.22",
80
- "@aztec/node-lib": "2.0.0-rc.22",
81
- "@aztec/noir-protocol-circuits-types": "2.0.0-rc.22",
82
- "@aztec/p2p": "2.0.0-rc.22",
83
- "@aztec/protocol-contracts": "2.0.0-rc.22",
84
- "@aztec/prover-client": "2.0.0-rc.22",
85
- "@aztec/sequencer-client": "2.0.0-rc.22",
86
- "@aztec/simulator": "2.0.0-rc.22",
87
- "@aztec/slasher": "2.0.0-rc.22",
88
- "@aztec/stdlib": "2.0.0-rc.22",
89
- "@aztec/telemetry-client": "2.0.0-rc.22",
90
- "@aztec/validator-client": "2.0.0-rc.22",
91
- "@aztec/world-state": "2.0.0-rc.22",
69
+ "@aztec/archiver": "2.0.0-rc.24",
70
+ "@aztec/bb-prover": "2.0.0-rc.24",
71
+ "@aztec/blob-sink": "2.0.0-rc.24",
72
+ "@aztec/constants": "2.0.0-rc.24",
73
+ "@aztec/epoch-cache": "2.0.0-rc.24",
74
+ "@aztec/ethereum": "2.0.0-rc.24",
75
+ "@aztec/foundation": "2.0.0-rc.24",
76
+ "@aztec/kv-store": "2.0.0-rc.24",
77
+ "@aztec/l1-artifacts": "2.0.0-rc.24",
78
+ "@aztec/merkle-tree": "2.0.0-rc.24",
79
+ "@aztec/node-keystore": "2.0.0-rc.24",
80
+ "@aztec/node-lib": "2.0.0-rc.24",
81
+ "@aztec/noir-protocol-circuits-types": "2.0.0-rc.24",
82
+ "@aztec/p2p": "2.0.0-rc.24",
83
+ "@aztec/protocol-contracts": "2.0.0-rc.24",
84
+ "@aztec/prover-client": "2.0.0-rc.24",
85
+ "@aztec/sequencer-client": "2.0.0-rc.24",
86
+ "@aztec/simulator": "2.0.0-rc.24",
87
+ "@aztec/slasher": "2.0.0-rc.24",
88
+ "@aztec/stdlib": "2.0.0-rc.24",
89
+ "@aztec/telemetry-client": "2.0.0-rc.24",
90
+ "@aztec/validator-client": "2.0.0-rc.24",
91
+ "@aztec/world-state": "2.0.0-rc.24",
92
92
  "koa": "^2.16.1",
93
93
  "koa-router": "^12.0.0",
94
94
  "tslib": "^2.4.0",
@@ -6,16 +6,13 @@ import {
6
6
  l1ContractAddressesMapping,
7
7
  } from '@aztec/ethereum';
8
8
  import { type ConfigMappingsType, booleanConfigHelper, getConfigFromMappings } from '@aztec/foundation/config';
9
+ import { EthAddress } from '@aztec/foundation/eth-address';
9
10
  import { type DataStoreConfig, dataConfigMappings } from '@aztec/kv-store/config';
10
11
  import {
11
- type AztecAddressHex,
12
- type EthAddressHex,
13
- type EthPrivateKey,
14
- type EthRemoteSignerAccount,
15
- type Hex,
16
12
  type KeyStore,
17
13
  type KeyStoreConfig,
18
14
  type ValidatorKeyStore,
15
+ ethPrivateKeySchema,
19
16
  keyStoreConfigMappings,
20
17
  } from '@aztec/node-keystore';
21
18
  import { type SharedNodeConfig, sharedNodeConfigMappings } from '@aztec/node-lib/config';
@@ -108,22 +105,13 @@ function createKeyStoreFromWeb3Signer(config: ConfigRequiredToBuildKeyStore) {
108
105
  ) {
109
106
  return undefined;
110
107
  }
111
- const coinbase = config.coinbase ? config.coinbase.toString() : config.validatorAddresses[0].toString();
112
- const feeRecipient = config.feeRecipient ? config.feeRecipient.toString() : AztecAddress.ZERO.toString();
113
-
114
- const publisherAddresses =
115
- config.publisherAddresses && config.publisherAddresses.length > 0
116
- ? config.publisherAddresses.map(k => k.toChecksumString() as EthRemoteSignerAccount)
117
- : [];
118
-
119
- const attestors = config.validatorAddresses.map(k => k.toChecksumString() as EthRemoteSignerAccount);
120
108
 
121
109
  validatorKeyStores.push({
122
- attester: attestors,
123
- feeRecipient: feeRecipient as AztecAddressHex,
124
- coinbase: coinbase as EthAddressHex,
110
+ attester: config.validatorAddresses,
111
+ feeRecipient: config.feeRecipient ?? AztecAddress.ZERO,
112
+ coinbase: config.coinbase ?? config.validatorAddresses[0],
125
113
  remoteSigner: config.web3SignerUrl,
126
- publisher: publisherAddresses,
114
+ publisher: config.publisherAddresses ?? [],
127
115
  });
128
116
 
129
117
  const keyStore: KeyStore = {
@@ -138,28 +126,24 @@ function createKeyStoreFromWeb3Signer(config: ConfigRequiredToBuildKeyStore) {
138
126
 
139
127
  function createKeyStoreFromPrivateKeys(config: ConfigRequiredToBuildKeyStore) {
140
128
  const validatorKeyStores: ValidatorKeyStore[] = [];
141
- const ethPrivateKeys: EthPrivateKey[] = [];
142
- const validatorKeys = config.validatorPrivateKeys ? config.validatorPrivateKeys.getValue() : [];
143
- for (let i = 0; i < validatorKeys.length; i++) {
144
- const key = validatorKeys[i];
145
- const ethPrivateKey: EthPrivateKey = key as Hex<32>;
146
- ethPrivateKeys.push(ethPrivateKey);
147
- }
129
+ const ethPrivateKeys = config.validatorPrivateKeys
130
+ ? config.validatorPrivateKeys.getValue().map(x => ethPrivateKeySchema.parse(x))
131
+ : [];
148
132
 
149
133
  if (!ethPrivateKeys.length) {
150
134
  return undefined;
151
135
  }
152
- const coinbase = config.coinbase ? config.coinbase.toString() : privateKeyToAddress(ethPrivateKeys[0]);
153
- const feeRecipient = config.feeRecipient ? config.feeRecipient.toString() : AztecAddress.ZERO.toString();
136
+ const coinbase = config.coinbase ?? EthAddress.fromString(privateKeyToAddress(ethPrivateKeys[0]));
137
+ const feeRecipient = config.feeRecipient ?? AztecAddress.ZERO;
154
138
 
155
139
  const publisherKeys = config.publisherPrivateKeys
156
- ? config.publisherPrivateKeys.map(k => k.getValue() as EthPrivateKey)
140
+ ? config.publisherPrivateKeys.map(k => ethPrivateKeySchema.parse(k.getValue()))
157
141
  : [];
158
142
 
159
143
  validatorKeyStores.push({
160
144
  attester: ethPrivateKeys,
161
- feeRecipient: feeRecipient as AztecAddressHex,
162
- coinbase: coinbase as EthAddressHex,
145
+ feeRecipient: feeRecipient,
146
+ coinbase: coinbase,
163
147
  remoteSigner: undefined,
164
148
  publisher: publisherKeys,
165
149
  });
@@ -190,6 +190,10 @@ export class Sentinel extends (EventEmitter as new () => WatcherEmitter) impleme
190
190
  }
191
191
 
192
192
  protected async handleProvenPerformance(epoch: bigint, performance: ValidatorsEpochPerformance) {
193
+ if (this.config.slashInactivityPenalty === 0n) {
194
+ return;
195
+ }
196
+
193
197
  const inactiveValidators = getEntries(performance)
194
198
  .filter(([_, { missed, total }]) => missed / total >= this.config.slashInactivityTargetPercentage)
195
199
  .map(([address]) => address);