@aztec/aztec-node 3.0.0-nightly.20251016 → 3.0.0-nightly.20251023

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":"sentinel.d.ts","sourceRoot":"","sources":["../../src/sentinel/sentinel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAE3D,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,EAAqB,KAAK,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC7E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAIL,KAAK,OAAO,EACZ,KAAK,cAAc,EACpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EACL,KAAK,aAAa,EAClB,aAAa,EACb,KAAK,kBAAkB,EACvB,KAAK,yBAAyB,EAE/B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,KAAK,EACV,oBAAoB,EACpB,cAAc,EACd,sBAAsB,EACtB,qBAAqB,EACrB,mBAAmB,EACnB,0BAA0B,EAC1B,eAAe,EAChB,MAAM,0BAA0B,CAAC;AAIlC,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;6BAEI,UAAU,cAAc;AAAvE,qBAAa,QAAS,SAAQ,aAA2C,YAAW,yBAAyB,EAAE,OAAO;IAWlH,SAAS,CAAC,UAAU,EAAE,UAAU;IAChC,SAAS,CAAC,QAAQ,EAAE,aAAa;IACjC,SAAS,CAAC,GAAG,EAAE,SAAS;IACxB,SAAS,CAAC,KAAK,EAAE,aAAa;IAC9B,SAAS,CAAC,MAAM,EAAE,IAAI,CACpB,aAAa,EACb,iCAAiC,GAAG,wBAAwB,GAAG,0CAA0C,CAC1G;IACD,SAAS,CAAC,MAAM;IAlBlB,SAAS,CAAC,cAAc,EAAE,cAAc,CAAC;IACzC,SAAS,CAAC,WAAW,EAAG,aAAa,CAAC;IACtC,SAAS,CAAC,WAAW,EAAE,WAAW,CAAC;IAEnC,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,SAAS,CAAC,iBAAiB,EAAE,MAAM,GAAG,SAAS,CAAC;IAChD,SAAS,CAAC,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,UAAU,EAAE,CAAA;KAAE,CAAC,CAC/F;gBAGA,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,aAAa,EACvB,GAAG,EAAE,SAAS,EACd,KAAK,EAAE,aAAa,EACpB,MAAM,EAAE,IAAI,CACpB,aAAa,EACb,iCAAiC,GAAG,wBAAwB,GAAG,0CAA0C,CAC1G,EACS,MAAM,yCAAgC;IAQ3C,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,aAAa,CAAC;IAIrC,KAAK;IAKlB,kHAAkH;cAClG,IAAI;IAOb,IAAI;IAIE,sBAAsB,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;cA2B7D,iBAAiB,CAAC,KAAK,EAAE,kBAAkB;cAsB3C,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAuB5F;;;;;OAKG;cACa,mBAAmB,CACjC,SAAS,EAAE,UAAU,EACrB,YAAY,EAAE,MAAM,EACpB,yBAAyB,EAAE,MAAM,GAChC,OAAO,CAAC,OAAO,CAAC;cAwBH,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,0BAA0B;IAoC9F;;;;OAIG;IACU,IAAI;IAmBjB;;;;OAIG;cACa,gBAAgB,CAAC,WAAW,EAAE,MAAM;IAkCpD;;;OAGG;cACa,WAAW,CAAC,IAAI,EAAE,MAAM;IAexC,0CAA0C;cAC1B,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE;;;IA2D1G,wDAAwD;IACxD,SAAS,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,MAAM,EAAE,EAAE,qBAAqB,GAAG,SAAS,CAAC;IAIxG,0DAA0D;IAC7C,YAAY,CAAC,EACxB,QAAQ,EACR,MAAM,EACN,UAAU,GACX,GAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,UAAU,EAAE,CAAA;KAAO,GAAG,OAAO,CAAC,eAAe,CAAC;IAqBpG,6CAA6C;IAChC,iBAAiB,CAC5B,gBAAgB,EAAE,UAAU,EAC5B,QAAQ,CAAC,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC;IAoC5C,SAAS,CAAC,wBAAwB,CAChC,OAAO,EAAE,KAAK,MAAM,EAAE,EACtB,UAAU,EAAE,sBAAsB,EAClC,QAAQ,CAAC,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,GACd,cAAc;IAgBjB,SAAS,CAAC,aAAa,CACrB,OAAO,EAAE,sBAAsB,EAC/B,iBAAiB,EAAE,mBAAmB,GAAG,SAAS,EAClD,MAAM,EAAE,qBAAqB,EAAE;;;;;;IAYjC,SAAS,CAAC,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS;;;;;CAOnD"}
1
+ {"version":3,"file":"sentinel.d.ts","sourceRoot":"","sources":["../../src/sentinel/sentinel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAE3D,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,EAAqB,KAAK,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC7E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAIL,KAAK,OAAO,EACZ,KAAK,cAAc,EACpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EACL,KAAK,aAAa,EAClB,aAAa,EACb,KAAK,kBAAkB,EACvB,KAAK,yBAAyB,EAE/B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,KAAK,EACV,oBAAoB,EACpB,cAAc,EACd,sBAAsB,EACtB,qBAAqB,EACrB,mBAAmB,EACnB,0BAA0B,EAC1B,eAAe,EAChB,MAAM,0BAA0B,CAAC;AAIlC,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;6BAEI,UAAU,cAAc;AAAvE,qBAAa,QAAS,SAAQ,aAA2C,YAAW,yBAAyB,EAAE,OAAO;IAWlH,SAAS,CAAC,UAAU,EAAE,UAAU;IAChC,SAAS,CAAC,QAAQ,EAAE,aAAa;IACjC,SAAS,CAAC,GAAG,EAAE,SAAS;IACxB,SAAS,CAAC,KAAK,EAAE,aAAa;IAC9B,SAAS,CAAC,MAAM,EAAE,IAAI,CACpB,aAAa,EACb,iCAAiC,GAAG,wBAAwB,GAAG,0CAA0C,CAC1G;IACD,SAAS,CAAC,MAAM;IAlBlB,SAAS,CAAC,cAAc,EAAE,cAAc,CAAC;IACzC,SAAS,CAAC,WAAW,EAAG,aAAa,CAAC;IACtC,SAAS,CAAC,WAAW,EAAE,WAAW,CAAC;IAEnC,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,SAAS,CAAC,iBAAiB,EAAE,MAAM,GAAG,SAAS,CAAC;IAChD,SAAS,CAAC,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,UAAU,EAAE,CAAA;KAAE,CAAC,CAC/F;gBAGA,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,aAAa,EACvB,GAAG,EAAE,SAAS,EACd,KAAK,EAAE,aAAa,EACpB,MAAM,EAAE,IAAI,CACpB,aAAa,EACb,iCAAiC,GAAG,wBAAwB,GAAG,0CAA0C,CAC1G,EACS,MAAM,yCAAgC;IAQ3C,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,aAAa,CAAC;IAIrC,KAAK;IAKlB,kHAAkH;cAClG,IAAI;IAOb,IAAI;IAIE,sBAAsB,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;cA6B7D,iBAAiB,CAAC,KAAK,EAAE,kBAAkB;cAsB3C,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAuB5F;;;;;OAKG;cACa,mBAAmB,CACjC,SAAS,EAAE,UAAU,EACrB,YAAY,EAAE,MAAM,EACpB,yBAAyB,EAAE,MAAM,GAChC,OAAO,CAAC,OAAO,CAAC;cAwBH,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,0BAA0B;IAoC9F;;;;OAIG;IACU,IAAI;IAmBjB;;;;OAIG;cACa,gBAAgB,CAAC,WAAW,EAAE,MAAM;IAkCpD;;;OAGG;cACa,WAAW,CAAC,IAAI,EAAE,MAAM;IAexC,0CAA0C;cAC1B,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE;;;IA6D1G,wDAAwD;IACxD,SAAS,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,MAAM,EAAE,EAAE,qBAAqB,GAAG,SAAS,CAAC;IAIxG,0DAA0D;IAC7C,YAAY,CAAC,EACxB,QAAQ,EACR,MAAM,EACN,UAAU,GACX,GAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,UAAU,EAAE,CAAA;KAAO,GAAG,OAAO,CAAC,eAAe,CAAC;IAqBpG,6CAA6C;IAChC,iBAAiB,CAC5B,gBAAgB,EAAE,UAAU,EAC5B,QAAQ,CAAC,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC;IAoC5C,SAAS,CAAC,wBAAwB,CAChC,OAAO,EAAE,KAAK,MAAM,EAAE,EACtB,UAAU,EAAE,sBAAsB,EAClC,QAAQ,CAAC,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,GACd,cAAc;IAgBjB,SAAS,CAAC,aAAa,CACrB,OAAO,EAAE,sBAAsB,EAC/B,iBAAiB,EAAE,mBAAmB,GAAG,SAAS,EAClD,MAAM,EAAE,qBAAqB,EAAE;;;;;;IAYjC,SAAS,CAAC,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS;;;;;CAOnD"}
@@ -4,7 +4,7 @@ import { createLogger } from '@aztec/foundation/log';
4
4
  import { RunningPromise } from '@aztec/foundation/running-promise';
5
5
  import { L2TipsMemoryStore } from '@aztec/kv-store/stores';
6
6
  import { OffenseType, WANT_TO_SLASH_EVENT } from '@aztec/slasher';
7
- import { L2BlockStream, getAttestationsFromPublishedL2Block } from '@aztec/stdlib/block';
7
+ import { L2BlockStream, getAttestationInfoFromPublishedL2Block } from '@aztec/stdlib/block';
8
8
  import { getEpochAtSlot, getSlotRangeForEpoch, getTimestampForSlot } from '@aztec/stdlib/epoch-helpers';
9
9
  import EventEmitter from 'node:events';
10
10
  export class Sentinel extends EventEmitter {
@@ -55,7 +55,7 @@ export class Sentinel extends EventEmitter {
55
55
  this.slotNumberToBlock.set(block.block.header.getSlot(), {
56
56
  blockNumber: block.block.number,
57
57
  archive: block.block.archive.root.toString(),
58
- attestors: getAttestationsFromPublishedL2Block(block).map((att)=>att.getSender())
58
+ attestors: getAttestationInfoFromPublishedL2Block(block).filter((a)=>a.status === 'recovered-from-signature').map((a)=>a.address)
59
59
  });
60
60
  }
61
61
  // Prune the archive map to only keep at most N entries
@@ -256,8 +256,10 @@ export class Sentinel extends EventEmitter {
256
256
  // (contains the ones synced from mined blocks, which we may have missed from p2p).
257
257
  const block = this.slotNumberToBlock.get(slot);
258
258
  const p2pAttested = await this.p2p.getAttestationsForSlot(slot, block?.archive);
259
+ // Filter out attestations with invalid signatures
260
+ const p2pAttestors = p2pAttested.map((a)=>a.getSender()).filter((s)=>s !== undefined);
259
261
  const attestors = new Set([
260
- ...p2pAttested.map((a)=>a.getSender().toString()),
262
+ ...p2pAttestors.map((a)=>a.toString()),
261
263
  ...block?.attestors.map((a)=>a.toString()) ?? []
262
264
  ].filter((addr)=>proposer.toString() !== addr));
263
265
  // We assume that there was a block proposal if at least one of the validators (other than the proposer) attested to it.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aztec/aztec-node",
3
- "version": "3.0.0-nightly.20251016",
3
+ "version": "3.0.0-nightly.20251023",
4
4
  "main": "dest/index.js",
5
5
  "type": "module",
6
6
  "exports": {
@@ -66,33 +66,33 @@
66
66
  ]
67
67
  },
68
68
  "dependencies": {
69
- "@aztec/archiver": "3.0.0-nightly.20251016",
70
- "@aztec/bb-prover": "3.0.0-nightly.20251016",
71
- "@aztec/blob-sink": "3.0.0-nightly.20251016",
72
- "@aztec/constants": "3.0.0-nightly.20251016",
73
- "@aztec/epoch-cache": "3.0.0-nightly.20251016",
74
- "@aztec/ethereum": "3.0.0-nightly.20251016",
75
- "@aztec/foundation": "3.0.0-nightly.20251016",
76
- "@aztec/kv-store": "3.0.0-nightly.20251016",
77
- "@aztec/l1-artifacts": "3.0.0-nightly.20251016",
78
- "@aztec/merkle-tree": "3.0.0-nightly.20251016",
79
- "@aztec/node-keystore": "3.0.0-nightly.20251016",
80
- "@aztec/node-lib": "3.0.0-nightly.20251016",
81
- "@aztec/noir-protocol-circuits-types": "3.0.0-nightly.20251016",
82
- "@aztec/p2p": "3.0.0-nightly.20251016",
83
- "@aztec/protocol-contracts": "3.0.0-nightly.20251016",
84
- "@aztec/prover-client": "3.0.0-nightly.20251016",
85
- "@aztec/sequencer-client": "3.0.0-nightly.20251016",
86
- "@aztec/simulator": "3.0.0-nightly.20251016",
87
- "@aztec/slasher": "3.0.0-nightly.20251016",
88
- "@aztec/stdlib": "3.0.0-nightly.20251016",
89
- "@aztec/telemetry-client": "3.0.0-nightly.20251016",
90
- "@aztec/validator-client": "3.0.0-nightly.20251016",
91
- "@aztec/world-state": "3.0.0-nightly.20251016",
69
+ "@aztec/archiver": "3.0.0-nightly.20251023",
70
+ "@aztec/bb-prover": "3.0.0-nightly.20251023",
71
+ "@aztec/blob-sink": "3.0.0-nightly.20251023",
72
+ "@aztec/constants": "3.0.0-nightly.20251023",
73
+ "@aztec/epoch-cache": "3.0.0-nightly.20251023",
74
+ "@aztec/ethereum": "3.0.0-nightly.20251023",
75
+ "@aztec/foundation": "3.0.0-nightly.20251023",
76
+ "@aztec/kv-store": "3.0.0-nightly.20251023",
77
+ "@aztec/l1-artifacts": "3.0.0-nightly.20251023",
78
+ "@aztec/merkle-tree": "3.0.0-nightly.20251023",
79
+ "@aztec/node-keystore": "3.0.0-nightly.20251023",
80
+ "@aztec/node-lib": "3.0.0-nightly.20251023",
81
+ "@aztec/noir-protocol-circuits-types": "3.0.0-nightly.20251023",
82
+ "@aztec/p2p": "3.0.0-nightly.20251023",
83
+ "@aztec/protocol-contracts": "3.0.0-nightly.20251023",
84
+ "@aztec/prover-client": "3.0.0-nightly.20251023",
85
+ "@aztec/sequencer-client": "3.0.0-nightly.20251023",
86
+ "@aztec/simulator": "3.0.0-nightly.20251023",
87
+ "@aztec/slasher": "3.0.0-nightly.20251023",
88
+ "@aztec/stdlib": "3.0.0-nightly.20251023",
89
+ "@aztec/telemetry-client": "3.0.0-nightly.20251023",
90
+ "@aztec/validator-client": "3.0.0-nightly.20251023",
91
+ "@aztec/world-state": "3.0.0-nightly.20251023",
92
92
  "koa": "^2.16.1",
93
93
  "koa-router": "^13.1.1",
94
94
  "tslib": "^2.4.0",
95
- "viem": "2.23.7"
95
+ "viem": "npm:@spalladino/viem@2.38.2-eip7594.0"
96
96
  },
97
97
  "devDependencies": {
98
98
  "@jest/globals": "^30.0.0",
@@ -18,7 +18,7 @@ import {
18
18
  L2BlockStream,
19
19
  type L2BlockStreamEvent,
20
20
  type L2BlockStreamEventHandler,
21
- getAttestationsFromPublishedL2Block,
21
+ getAttestationInfoFromPublishedL2Block,
22
22
  } from '@aztec/stdlib/block';
23
23
  import { getEpochAtSlot, getSlotRangeForEpoch, getTimestampForSlot } from '@aztec/stdlib/epoch-helpers';
24
24
  import type {
@@ -91,7 +91,9 @@ export class Sentinel extends (EventEmitter as new () => WatcherEmitter) impleme
91
91
  this.slotNumberToBlock.set(block.block.header.getSlot(), {
92
92
  blockNumber: block.block.number,
93
93
  archive: block.block.archive.root.toString(),
94
- attestors: getAttestationsFromPublishedL2Block(block).map(att => att.getSender()),
94
+ attestors: getAttestationInfoFromPublishedL2Block(block)
95
+ .filter(a => a.status === 'recovered-from-signature')
96
+ .map(a => a.address!),
95
97
  });
96
98
  }
97
99
 
@@ -319,8 +321,10 @@ export class Sentinel extends (EventEmitter as new () => WatcherEmitter) impleme
319
321
  // (contains the ones synced from mined blocks, which we may have missed from p2p).
320
322
  const block = this.slotNumberToBlock.get(slot);
321
323
  const p2pAttested = await this.p2p.getAttestationsForSlot(slot, block?.archive);
324
+ // Filter out attestations with invalid signatures
325
+ const p2pAttestors = p2pAttested.map(a => a.getSender()).filter((s): s is EthAddress => s !== undefined);
322
326
  const attestors = new Set(
323
- [...p2pAttested.map(a => a.getSender().toString()), ...(block?.attestors.map(a => a.toString()) ?? [])].filter(
327
+ [...p2pAttestors.map(a => a.toString()), ...(block?.attestors.map(a => a.toString()) ?? [])].filter(
324
328
  addr => proposer.toString() !== addr, // Exclude the proposer from the attestors
325
329
  ),
326
330
  );