@aztec/p2p 1.0.0-staging.2 → 1.0.0

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.
Files changed (59) hide show
  1. package/dest/bootstrap/bootstrap.js +1 -1
  2. package/dest/client/factory.js +1 -1
  3. package/dest/client/p2p_client.js +1 -1
  4. package/dest/config.d.ts +2 -2
  5. package/dest/config.d.ts.map +1 -1
  6. package/dest/mem_pools/tx_pool/aztec_kv_tx_pool.d.ts +4 -11
  7. package/dest/mem_pools/tx_pool/aztec_kv_tx_pool.d.ts.map +1 -1
  8. package/dest/mem_pools/tx_pool/aztec_kv_tx_pool.js +10 -17
  9. package/dest/mem_pools/tx_pool/memory_tx_pool.d.ts +2 -2
  10. package/dest/mem_pools/tx_pool/memory_tx_pool.d.ts.map +1 -1
  11. package/dest/mem_pools/tx_pool/memory_tx_pool.js +2 -2
  12. package/dest/mem_pools/tx_pool/tx_pool.d.ts +2 -3
  13. package/dest/mem_pools/tx_pool/tx_pool.d.ts.map +1 -1
  14. package/dest/mem_pools/tx_pool/tx_pool_test_suite.d.ts.map +1 -1
  15. package/dest/mem_pools/tx_pool/tx_pool_test_suite.js +3 -10
  16. package/dest/msg_validators/tx_validator/factory.d.ts +1 -2
  17. package/dest/msg_validators/tx_validator/factory.d.ts.map +1 -1
  18. package/dest/msg_validators/tx_validator/factory.js +2 -3
  19. package/dest/msg_validators/tx_validator/metadata_validator.d.ts +0 -2
  20. package/dest/msg_validators/tx_validator/metadata_validator.d.ts.map +1 -1
  21. package/dest/msg_validators/tx_validator/metadata_validator.js +7 -13
  22. package/dest/msg_validators/tx_validator/phases_validator.d.ts +2 -3
  23. package/dest/msg_validators/tx_validator/phases_validator.d.ts.map +1 -1
  24. package/dest/msg_validators/tx_validator/phases_validator.js +4 -4
  25. package/dest/services/libp2p/instrumentation.d.ts +1 -8
  26. package/dest/services/libp2p/instrumentation.d.ts.map +1 -1
  27. package/dest/services/libp2p/instrumentation.js +2 -130
  28. package/dest/services/libp2p/libp2p_service.d.ts +3 -8
  29. package/dest/services/libp2p/libp2p_service.d.ts.map +1 -1
  30. package/dest/services/libp2p/libp2p_service.js +14 -34
  31. package/dest/test-helpers/make-test-p2p-clients.d.ts.map +1 -1
  32. package/dest/test-helpers/make-test-p2p-clients.js +1 -2
  33. package/dest/test-helpers/reqresp-nodes.d.ts.map +1 -1
  34. package/dest/test-helpers/reqresp-nodes.js +2 -3
  35. package/dest/testbench/p2p_client_testbench_worker.js +0 -6
  36. package/dest/testbench/worker_client_manager.d.ts.map +1 -1
  37. package/dest/testbench/worker_client_manager.js +1 -2
  38. package/dest/util.d.ts +2 -3
  39. package/dest/util.d.ts.map +1 -1
  40. package/dest/util.js +5 -6
  41. package/package.json +13 -13
  42. package/src/bootstrap/bootstrap.ts +1 -1
  43. package/src/client/factory.ts +1 -1
  44. package/src/client/p2p_client.ts +1 -1
  45. package/src/config.ts +1 -2
  46. package/src/mem_pools/tx_pool/aztec_kv_tx_pool.ts +12 -22
  47. package/src/mem_pools/tx_pool/memory_tx_pool.ts +3 -3
  48. package/src/mem_pools/tx_pool/tx_pool.ts +2 -3
  49. package/src/mem_pools/tx_pool/tx_pool_test_suite.ts +4 -8
  50. package/src/msg_validators/tx_validator/factory.ts +1 -4
  51. package/src/msg_validators/tx_validator/metadata_validator.ts +9 -20
  52. package/src/msg_validators/tx_validator/phases_validator.ts +2 -3
  53. package/src/services/libp2p/instrumentation.ts +3 -122
  54. package/src/services/libp2p/libp2p_service.ts +15 -41
  55. package/src/test-helpers/make-test-p2p-clients.ts +1 -2
  56. package/src/test-helpers/reqresp-nodes.ts +2 -3
  57. package/src/testbench/p2p_client_testbench_worker.ts +0 -1
  58. package/src/testbench/worker_client_manager.ts +1 -2
  59. package/src/util.ts +7 -8
@@ -1,14 +1,7 @@
1
- import { TopicType } from '@aztec/stdlib/p2p';
2
1
  import { Attributes, Metrics, ValueType } from '@aztec/telemetry-client';
3
- import { createHistogram } from 'node:perf_hooks';
4
2
  export class P2PInstrumentation {
5
3
  messageValidationDuration;
6
4
  messagePrevalidationCount;
7
- messageLatency;
8
- aggLatencyHisto = new Map();
9
- aggValidationHisto = new Map();
10
- aggLatencyMetrics;
11
- aggValidationMetrics;
12
5
  constructor(client, name){
13
6
  const meter = client.getMeter(name);
14
7
  this.messageValidationDuration = meter.createHistogram(Metrics.P2P_GOSSIP_MESSAGE_VALIDATION_DURATION, {
@@ -20,84 +13,12 @@ export class P2PInstrumentation {
20
13
  description: 'How many message pass/fail prevalidation',
21
14
  valueType: ValueType.INT
22
15
  });
23
- this.messageLatency = meter.createHistogram(Metrics.P2P_GOSSIP_MESSAGE_LATENCY, {
24
- unit: 'ms',
25
- description: 'P2P message latency',
26
- valueType: ValueType.INT
27
- });
28
- this.aggLatencyMetrics = {
29
- avg: meter.createObservableGauge(Metrics.P2P_GOSSIP_AGG_MESSAGE_LATENCY_AVG, {
30
- valueType: ValueType.DOUBLE,
31
- description: 'AVG msg latency',
32
- unit: 'ms'
33
- }),
34
- max: meter.createObservableGauge(Metrics.P2P_GOSSIP_AGG_MESSAGE_LATENCY_MAX, {
35
- valueType: ValueType.DOUBLE,
36
- description: 'MAX msg latency',
37
- unit: 'ms'
38
- }),
39
- min: meter.createObservableGauge(Metrics.P2P_GOSSIP_AGG_MESSAGE_LATENCY_MIN, {
40
- valueType: ValueType.DOUBLE,
41
- description: 'MIN msg latency',
42
- unit: 'ms'
43
- }),
44
- p50: meter.createObservableGauge(Metrics.P2P_GOSSIP_AGG_MESSAGE_LATENCY_P50, {
45
- valueType: ValueType.DOUBLE,
46
- description: 'P50 msg latency',
47
- unit: 'ms'
48
- }),
49
- p90: meter.createObservableGauge(Metrics.P2P_GOSSIP_AGG_MESSAGE_LATENCY_P90, {
50
- valueType: ValueType.DOUBLE,
51
- description: 'P90 msg latency',
52
- unit: 'ms'
53
- })
54
- };
55
- this.aggValidationMetrics = {
56
- avg: meter.createObservableGauge(Metrics.P2P_GOSSIP_AGG_MESSAGE_VALIDATION_DURATION_AVG, {
57
- valueType: ValueType.DOUBLE,
58
- description: 'AVG msg validation',
59
- unit: 'ms'
60
- }),
61
- max: meter.createObservableGauge(Metrics.P2P_GOSSIP_AGG_MESSAGE_VALIDATION_DURATION_MAX, {
62
- valueType: ValueType.DOUBLE,
63
- description: 'MAX msg validation',
64
- unit: 'ms'
65
- }),
66
- min: meter.createObservableGauge(Metrics.P2P_GOSSIP_AGG_MESSAGE_VALIDATION_DURATION_MIN, {
67
- valueType: ValueType.DOUBLE,
68
- description: 'MIN msg validation',
69
- unit: 'ms'
70
- }),
71
- p50: meter.createObservableGauge(Metrics.P2P_GOSSIP_AGG_MESSAGE_VALIDATION_DURATION_P50, {
72
- valueType: ValueType.DOUBLE,
73
- description: 'P50 msg validation',
74
- unit: 'ms'
75
- }),
76
- p90: meter.createObservableGauge(Metrics.P2P_GOSSIP_AGG_MESSAGE_VALIDATION_DURATION_P90, {
77
- valueType: ValueType.DOUBLE,
78
- description: 'P90 msg validation',
79
- unit: 'ms'
80
- })
81
- };
82
- meter.addBatchObservableCallback(this.aggregate, [
83
- ...Object.values(this.aggValidationMetrics),
84
- ...Object.values(this.aggLatencyMetrics)
85
- ]);
86
16
  }
87
17
  recordMessageValidation(topicName, timerOrMs) {
88
- const ms = Math.ceil(typeof timerOrMs === 'number' ? timerOrMs : timerOrMs.ms());
89
- this.messageValidationDuration.record(ms, {
18
+ const ms = typeof timerOrMs === 'number' ? timerOrMs : timerOrMs.ms();
19
+ this.messageValidationDuration.record(Math.ceil(ms), {
90
20
  [Attributes.TOPIC_NAME]: topicName
91
21
  });
92
- let validationHistogram = this.aggValidationHisto.get(topicName);
93
- if (!validationHistogram) {
94
- validationHistogram = createHistogram({
95
- min: 1,
96
- max: 5 * 60 * 1000
97
- }); // 5 mins
98
- this.aggValidationHisto.set(topicName, validationHistogram);
99
- }
100
- validationHistogram.record(Math.max(ms, 1));
101
22
  }
102
23
  incMessagePrevalidationStatus(passed, topicName) {
103
24
  this.messagePrevalidationCount.add(1, {
@@ -105,53 +26,4 @@ export class P2PInstrumentation {
105
26
  [Attributes.OK]: passed
106
27
  });
107
28
  }
108
- recordMessageLatency(topicName, timerOrMs) {
109
- const ms = Math.ceil(typeof timerOrMs === 'number' ? timerOrMs : timerOrMs.ms());
110
- this.messageLatency.record(ms, {
111
- [Attributes.TOPIC_NAME]: topicName
112
- });
113
- let latencyHistogram = this.aggLatencyHisto.get(topicName);
114
- if (!latencyHistogram) {
115
- latencyHistogram = createHistogram({
116
- min: 1,
117
- max: 24 * 60 * 60 * 1000
118
- }); // 24hrs
119
- this.aggLatencyHisto.set(topicName, latencyHistogram);
120
- }
121
- latencyHistogram.record(Math.max(ms, 1));
122
- }
123
- aggregate = (res)=>{
124
- for (const [metrics, histograms] of [
125
- [
126
- this.aggLatencyMetrics,
127
- this.aggLatencyHisto
128
- ],
129
- [
130
- this.aggValidationMetrics,
131
- this.aggValidationHisto
132
- ]
133
- ]){
134
- for (const topicName of Object.values(TopicType)){
135
- const histogram = histograms.get(topicName);
136
- if (!histogram) {
137
- continue;
138
- }
139
- res.observe(metrics.avg, histogram.mean, {
140
- [Attributes.TOPIC_NAME]: topicName
141
- });
142
- res.observe(metrics.max, histogram.max, {
143
- [Attributes.TOPIC_NAME]: topicName
144
- });
145
- res.observe(metrics.min, histogram.min, {
146
- [Attributes.TOPIC_NAME]: topicName
147
- });
148
- res.observe(metrics.p50, histogram.percentile(50), {
149
- [Attributes.TOPIC_NAME]: topicName
150
- });
151
- res.observe(metrics.p90, histogram.percentile(90), {
152
- [Attributes.TOPIC_NAME]: topicName
153
- });
154
- }
155
- }
156
- };
157
29
  }
@@ -28,7 +28,6 @@ export declare class LibP2PService<T extends P2PClientType = P2PClientType.Full>
28
28
  private peerManager;
29
29
  protected mempools: MemPools<T>;
30
30
  private archiver;
31
- private epochCache;
32
31
  private proofVerifier;
33
32
  private worldStateSynchronizer;
34
33
  protected logger: Logger;
@@ -114,10 +113,7 @@ export declare class LibP2PService<T extends P2PClientType = P2PClientType.Full>
114
113
  * @returns The number of recipients the data was sent to.
115
114
  */
116
115
  private publishToTopic;
117
- protected preValidateReceivedMessage(msg: Message, msgId: string, source: PeerId): {
118
- result: boolean;
119
- topicType?: TopicType;
120
- };
116
+ protected preValidateReceivedMessage(msg: Message, msgId: string, source: PeerId): boolean;
121
117
  /**
122
118
  * Handles a new gossip message that was received by the client.
123
119
  * @param topic - The message's topic.
@@ -170,13 +166,12 @@ export declare class LibP2PService<T extends P2PClientType = P2PClientType.Full>
170
166
  private getGasFees;
171
167
  validate(txs: Tx[]): Promise<void>;
172
168
  /**
173
- * Create message validators for the given block number and timestamp.
169
+ * Create message validators for the given block number.
174
170
  *
175
171
  * Each validator is a pair of a validator and a severity.
176
172
  * If a validator fails, the peer is penalized with the severity of the validator.
177
173
  *
178
- * @param currentBlockNumber - The current synced block number.
179
- * @param nextSlotTimestamp - The timestamp of the next slot (used to validate txs are not expired).
174
+ * @param blockNumber - The block number to create validators for.
180
175
  * @returns The message validators.
181
176
  */
182
177
  private createMessageValidators;
@@ -1 +1 @@
1
- {"version":3,"file":"libp2p_service.d.ts","sourceRoot":"","sources":["../../../src/services/libp2p/libp2p_service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"libp2p_service.d.ts","sourceRoot":"","sources":["../../../src/services/libp2p/libp2p_service.ts"],"names":[],"mappings":"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"}
@@ -57,7 +57,6 @@ import { P2PInstrumentation } from './instrumentation.js';
57
57
  peerManager;
58
58
  mempools;
59
59
  archiver;
60
- epochCache;
61
60
  proofVerifier;
62
61
  worldStateSynchronizer;
63
62
  logger;
@@ -78,7 +77,7 @@ import { P2PInstrumentation } from './instrumentation.js';
78
77
  gossipSubEventHandler;
79
78
  instrumentation;
80
79
  constructor(clientType, config, node, peerDiscoveryService, reqresp, peerManager, mempools, archiver, epochCache, proofVerifier, worldStateSynchronizer, telemetry, logger = createLogger('p2p:libp2p_service')){
81
- super(telemetry, 'LibP2PService'), this.clientType = clientType, this.config = config, this.node = node, this.peerDiscoveryService = peerDiscoveryService, this.reqresp = reqresp, this.peerManager = peerManager, this.mempools = mempools, this.archiver = archiver, this.epochCache = epochCache, this.proofVerifier = proofVerifier, this.worldStateSynchronizer = worldStateSynchronizer, this.logger = logger, this.jobQueue = new SerialQueue(), this.msgIdSeenValidators = {}, this.protocolVersion = '', this.topicStrings = {};
80
+ super(telemetry, 'LibP2PService'), this.clientType = clientType, this.config = config, this.node = node, this.peerDiscoveryService = peerDiscoveryService, this.reqresp = reqresp, this.peerManager = peerManager, this.mempools = mempools, this.archiver = archiver, this.proofVerifier = proofVerifier, this.worldStateSynchronizer = worldStateSynchronizer, this.logger = logger, this.jobQueue = new SerialQueue(), this.msgIdSeenValidators = {}, this.protocolVersion = '', this.topicStrings = {};
82
81
  this.instrumentation = new P2PInstrumentation(telemetry, 'LibP2PService');
83
82
  this.msgIdSeenValidators[TopicType.tx] = new MessageSeenValidator(config.seenMessageCacheSize);
84
83
  this.msgIdSeenValidators[TopicType.block_proposal] = new MessageSeenValidator(config.seenMessageCacheSize);
@@ -389,16 +388,10 @@ import { P2PInstrumentation } from './instrumentation.js';
389
388
  if (!validator || !validator.addMessage(msgId)) {
390
389
  this.instrumentation.incMessagePrevalidationStatus(false, topicType);
391
390
  this.node.services.pubsub.reportMessageValidationResult(msgId, source.toString(), TopicValidatorResult.Ignore);
392
- return {
393
- result: false,
394
- topicType
395
- };
391
+ return false;
396
392
  }
397
393
  this.instrumentation.incMessagePrevalidationStatus(true, topicType);
398
- return {
399
- result: true,
400
- topicType
401
- };
394
+ return true;
402
395
  }
403
396
  /**
404
397
  * Handles a new gossip message that was received by the client.
@@ -413,14 +406,8 @@ import { P2PInstrumentation } from './instrumentation.js';
413
406
  messageId: p2pMessage.id,
414
407
  messageLatency
415
408
  });
416
- const preValidationResult = this.preValidateReceivedMessage(msg, msgId, source);
417
- if (!preValidationResult.result) {
409
+ if (!this.preValidateReceivedMessage(msg, msgId, source)) {
418
410
  return;
419
- } else if (preValidationResult.topicType !== undefined) {
420
- // guard against clock skew & DST
421
- if (messageLatency > 0) {
422
- this.instrumentation.recordMessageLatency(preValidationResult.topicType, messageLatency);
423
- }
424
411
  }
425
412
  if (msg.topic === this.topicStrings[TopicType.tx]) {
426
413
  await this.handleGossipedTx(p2pMessage.payload, msgId, source);
@@ -610,10 +597,8 @@ import { P2PInstrumentation } from './instrumentation.js';
610
597
  return true;
611
598
  }
612
599
  async validatePropagatedTx(tx, peerId) {
613
- const currentBlockNumber = await this.archiver.getBlockNumber();
614
- // We accept transactions if they are not expired by the next slot (checked based on the IncludeByTimestamp field)
615
- const { ts: nextSlotTimestamp } = this.epochCache.getEpochAndSlotInNextL1Slot();
616
- const messageValidators = await this.createMessageValidators(currentBlockNumber, nextSlotTimestamp);
600
+ const blockNumber = await this.archiver.getBlockNumber() + 1;
601
+ const messageValidators = await this.createMessageValidators(blockNumber);
617
602
  for (const validator of messageValidators){
618
603
  const outcome = await this.runValidations(tx, validator);
619
604
  if (outcome.allPassed) {
@@ -623,8 +608,7 @@ import { P2PInstrumentation } from './instrumentation.js';
623
608
  let { severity } = outcome.failure;
624
609
  // Double spend validator has a special case handler
625
610
  if (name === 'doubleSpendValidator') {
626
- const txBlockNumber = currentBlockNumber + 1; // tx is expected to be in the next block
627
- severity = await this.handleDoubleSpendFailure(tx, txBlockNumber);
611
+ severity = await this.handleDoubleSpendFailure(tx, blockNumber);
628
612
  }
629
613
  this.peerManager.penalizePeer(peerId, severity);
630
614
  return false;
@@ -644,10 +628,8 @@ import { P2PInstrumentation } from './instrumentation.js';
644
628
  return gasFees;
645
629
  }
646
630
  async validate(txs) {
647
- const currentBlockNumber = await this.archiver.getBlockNumber();
648
- // We accept transactions if they are not expired by the next slot (checked based on the IncludeByTimestamp field)
649
- const { ts: nextSlotTimestamp } = this.epochCache.getEpochAndSlotInNextL1Slot();
650
- const messageValidators = await this.createMessageValidators(currentBlockNumber, nextSlotTimestamp);
631
+ const blockNumber = await this.archiver.getBlockNumber() + 1;
632
+ const messageValidators = await this.createMessageValidators(blockNumber);
651
633
  await Promise.all(txs.map(async (tx)=>{
652
634
  for (const validator of messageValidators){
653
635
  const outcome = await this.runValidations(tx, validator);
@@ -662,19 +644,17 @@ import { P2PInstrumentation } from './instrumentation.js';
662
644
  }));
663
645
  }
664
646
  /**
665
- * Create message validators for the given block number and timestamp.
647
+ * Create message validators for the given block number.
666
648
  *
667
649
  * Each validator is a pair of a validator and a severity.
668
650
  * If a validator fails, the peer is penalized with the severity of the validator.
669
651
  *
670
- * @param currentBlockNumber - The current synced block number.
671
- * @param nextSlotTimestamp - The timestamp of the next slot (used to validate txs are not expired).
652
+ * @param blockNumber - The block number to create validators for.
672
653
  * @returns The message validators.
673
- */ async createMessageValidators(currentBlockNumber, nextSlotTimestamp) {
674
- const gasFees = await this.getGasFees(currentBlockNumber);
654
+ */ async createMessageValidators(blockNumber) {
655
+ const gasFees = await this.getGasFees(blockNumber - 1);
675
656
  const allowedInSetup = this.config.txPublicSetupAllowList ?? await getDefaultAllowedSetupFunctions();
676
- const blockNumberInWhichTheTxIsConsideredToBeIncluded = currentBlockNumber + 1;
677
- return createTxMessageValidators(nextSlotTimestamp, blockNumberInWhichTheTxIsConsideredToBeIncluded, this.worldStateSynchronizer, gasFees, this.config.l1ChainId, this.config.rollupVersion, protocolContractTreeRoot, this.archiver, this.proofVerifier, allowedInSetup);
657
+ return createTxMessageValidators(blockNumber, this.worldStateSynchronizer, gasFees, this.config.l1ChainId, this.config.rollupVersion, protocolContractTreeRoot, this.archiver, this.proofVerifier, allowedInSetup);
678
658
  }
679
659
  /**
680
660
  * Run validations on a tx.
@@ -1 +1 @@
1
- {"version":3,"file":"make-test-p2p-clients.d.ts","sourceRoot":"","sources":["../../src/test-helpers/make-test-p2p-clients.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,uBAAuB,CAAC;AAIlE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAC9E,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGlD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mDAAmD,CAAC;AACzF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AAI5D,OAAO,EAAE,KAAK,oBAAoB,EAAkC,MAAM,kBAAkB,CAAC;AAG7F,MAAM,WAAW,wBAAwB;IACvC,mBAAmB,EAAE,eAAe,CAAC;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,UAAU,CAAC;IAC3B,cAAc,EAAE,sBAAsB,CAAC;IACvC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,aAAa,EAAE,SAAS,CAAC;IACzB,kBAAkB,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IACxC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;CAC7C;AAED;;;;;;;GAOG;AACH,wBAAsB,yBAAyB,CAC7C,gBAAgB,EAAE,MAAM,EACxB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EAAE,EACf,OAAO,EAAE,wBAAwB,0CAMlC;AAED;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CACrC,gBAAgB,EAAE,MAAM,EACxB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EAAE,EACf,EACE,kBAAyB,EACzB,aAAa,EACb,kBAAuB,EACvB,mBAAmB,EACnB,UAAU,EACV,cAAc,EACd,cAAc,EACd,oBAAoB,EACpB,MAAwC,GACzC,EAAE,wBAAwB,0CA0C5B;AAED;;;;;GAKG;AACH,wBAAsB,0BAA0B,CAAC,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,wBAAwB;;;;;KAuC3G;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CAAC,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,wBAAwB;;;;;KAgCnG;AAED,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,SAAS,EAAE,iBAG7D"}
1
+ {"version":3,"file":"make-test-p2p-clients.d.ts","sourceRoot":"","sources":["../../src/test-helpers/make-test-p2p-clients.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,uBAAuB,CAAC;AAIlE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAC9E,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGlD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mDAAmD,CAAC;AACzF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AAI5D,OAAO,EAAE,KAAK,oBAAoB,EAAkC,MAAM,kBAAkB,CAAC;AAG7F,MAAM,WAAW,wBAAwB;IACvC,mBAAmB,EAAE,eAAe,CAAC;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,UAAU,CAAC;IAC3B,cAAc,EAAE,sBAAsB,CAAC;IACvC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,aAAa,EAAE,SAAS,CAAC;IACzB,kBAAkB,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IACxC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;CAC7C;AAED;;;;;;;GAOG;AACH,wBAAsB,yBAAyB,CAC7C,gBAAgB,EAAE,MAAM,EACxB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EAAE,EACf,OAAO,EAAE,wBAAwB,0CAMlC;AAED;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CACrC,gBAAgB,EAAE,MAAM,EACxB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EAAE,EACf,EACE,kBAAyB,EACzB,aAAa,EACb,kBAAuB,EACvB,mBAAmB,EACnB,UAAU,EACV,cAAc,EACd,cAAc,EACd,oBAAoB,EACpB,MAAwC,GACzC,EAAE,wBAAwB,0CA0C5B;AAED;;;;;GAKG;AACH,wBAAsB,0BAA0B,CAAC,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,wBAAwB;;;;;KAuC3G;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CAAC,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,wBAAwB;;;;;KAgCnG;AAED,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,SAAS,EAAE,iBAG7D"}
@@ -1,5 +1,4 @@
1
1
  import { MockL2BlockSource } from '@aztec/archiver/test';
2
- import { SecretValue } from '@aztec/foundation/config';
3
2
  import { createLogger } from '@aztec/foundation/log';
4
3
  import { sleep } from '@aztec/foundation/sleep';
5
4
  import { openTmpStore } from '@aztec/kv-store/lmdb-v2';
@@ -34,7 +33,7 @@ import { AlwaysFalseCircuitVerifier, AlwaysTrueCircuitVerifier } from './reqresp
34
33
  const config = {
35
34
  ...p2pBaseConfig,
36
35
  p2pEnabled: true,
37
- peerIdPrivateKey: new SecretValue(peerIdPrivateKey),
36
+ peerIdPrivateKey,
38
37
  p2pIp: `127.0.0.1`,
39
38
  listenAddress: `127.0.0.1`,
40
39
  p2pPort: port,
@@ -1 +1 @@
1
- {"version":3,"file":"reqresp-nodes.d.ts","sourceRoot":"","sources":["../../src/test-helpers/reqresp-nodes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reqresp-nodes.d.ts","sourceRoot":"","sources":["../../src/test-helpers/reqresp-nodes.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,4 @@
1
1
  import { timesParallel } from '@aztec/foundation/collection';
2
- import { SecretValue } from '@aztec/foundation/config';
3
2
  import { createLogger } from '@aztec/foundation/log';
4
3
  import { openTmpStore } from '@aztec/kv-store/lmdb-v2';
5
4
  import { emptyChainConfig } from '@aztec/stdlib/config';
@@ -88,7 +87,7 @@ import { getVersions } from '../versioning.js';
88
87
  peerCheckIntervalMS: 1000,
89
88
  maxPeerCount: 5,
90
89
  p2pEnabled: true,
91
- peerIdPrivateKey: new SecretValue(Buffer.from(peerId.privateKey).toString('hex')),
90
+ peerIdPrivateKey: Buffer.from(peerId.privateKey).toString('hex'),
92
91
  bootstrapNodeEnrVersionCheck: false,
93
92
  ...chainConfig
94
93
  };
@@ -198,7 +197,7 @@ export function createBootstrapNodeConfig(privateKey, port, chainConfig) {
198
197
  l1ChainId: chainConfig.l1ChainId,
199
198
  p2pIp: '127.0.0.1',
200
199
  p2pPort: port,
201
- peerIdPrivateKey: new SecretValue(privateKey),
200
+ peerIdPrivateKey: privateKey,
202
201
  dataDirectory: undefined,
203
202
  dataStoreMapSizeKB: 0,
204
203
  bootstrapNodes: [],
@@ -69,12 +69,6 @@ function mockEpochCache() {
69
69
  currentSlot: 0n,
70
70
  nextSlot: 0n
71
71
  }),
72
- getEpochAndSlotInNextL1Slot: ()=>({
73
- epoch: 0n,
74
- slot: 0n,
75
- ts: 0n,
76
- now: 0n
77
- }),
78
72
  isInCommittee: ()=>Promise.resolve(false)
79
73
  };
80
74
  }
@@ -1 +1 @@
1
- {"version":3,"file":"worker_client_manager.d.ts","sourceRoot":"","sources":["../../src/testbench/worker_client_manager.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,EAAE,KAAK,YAAY,EAAQ,MAAM,eAAe,CAAC;AAIxD,OAAO,EAAE,KAAK,SAAS,EAAuB,MAAM,cAAc,CAAC;AAQnE,QAAA,MAAM,eAAe,EAAE,WAMtB,CAAC;AAEF,cAAM,mBAAmB;IAChB,SAAS,EAAE,YAAY,EAAE,CAAM;IAC/B,iBAAiB,EAAE,MAAM,EAAE,CAAM;IACjC,QAAQ,EAAE,MAAM,EAAE,CAAM;IACxB,KAAK,EAAE,MAAM,EAAE,CAAM;IAC5B,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,uBAAuB,CAAgB;gBAEnC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC;IAKzD,OAAO;IAOP;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAiB1B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAoD1B;;;;;;OAMG;IACG,iBAAiB,CAAC,eAAe,EAAE,MAAM;IA2C/C,4BAA4B;IAI5B,kCAAkC;IAIlC;;;;;OAKG;IACG,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IA8CrD;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAsCxB;;OAEG;IACG,OAAO;CAiCd;AAED,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,CAAC"}
1
+ {"version":3,"file":"worker_client_manager.d.ts","sourceRoot":"","sources":["../../src/testbench/worker_client_manager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,EAAE,KAAK,YAAY,EAAQ,MAAM,eAAe,CAAC;AAIxD,OAAO,EAAE,KAAK,SAAS,EAAuB,MAAM,cAAc,CAAC;AAQnE,QAAA,MAAM,eAAe,EAAE,WAMtB,CAAC;AAEF,cAAM,mBAAmB;IAChB,SAAS,EAAE,YAAY,EAAE,CAAM;IAC/B,iBAAiB,EAAE,MAAM,EAAE,CAAM;IACjC,QAAQ,EAAE,MAAM,EAAE,CAAM;IACxB,KAAK,EAAE,MAAM,EAAE,CAAM;IAC5B,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,uBAAuB,CAAgB;gBAEnC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC;IAKzD,OAAO;IAOP;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAiB1B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAoD1B;;;;;;OAMG;IACG,iBAAiB,CAAC,eAAe,EAAE,MAAM;IA2C/C,4BAA4B;IAI5B,kCAAkC;IAIlC;;;;;OAKG;IACG,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IA8CrD;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAsCxB;;OAEG;IACG,OAAO;CAiCd;AAED,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,CAAC"}
@@ -1,4 +1,3 @@
1
- import { SecretValue } from '@aztec/foundation/config';
2
1
  import { EthAddress } from '@aztec/foundation/eth-address';
3
2
  import { sleep } from '@aztec/foundation/sleep';
4
3
  import { fork } from 'child_process';
@@ -41,7 +40,7 @@ class WorkerClientManager {
41
40
  return {
42
41
  ...getP2PDefaultConfig(),
43
42
  p2pEnabled: true,
44
- peerIdPrivateKey: new SecretValue(this.peerIdPrivateKeys[clientIndex]),
43
+ peerIdPrivateKey: this.peerIdPrivateKeys[clientIndex],
45
44
  listenAddress: '127.0.0.1',
46
45
  p2pIp: '127.0.0.1',
47
46
  p2pPort: port,
package/dest/util.d.ts CHANGED
@@ -1,4 +1,3 @@
1
- import { SecretValue } from '@aztec/foundation/config';
2
1
  import type { Logger } from '@aztec/foundation/log';
3
2
  import type { AztecAsyncKVStore } from '@aztec/kv-store';
4
3
  import type { DataStoreConfig } from '@aztec/kv-store/config';
@@ -47,10 +46,10 @@ export declare function configureP2PClientAddresses(_config: P2PConfig & DataSto
47
46
  *
48
47
  */
49
48
  export declare function getPeerIdPrivateKey(config: {
50
- peerIdPrivateKey?: SecretValue<string>;
49
+ peerIdPrivateKey?: string;
51
50
  peerIdPrivateKeyPath?: string;
52
51
  dataDirectory?: string;
53
- }, store: AztecAsyncKVStore, logger: Logger): Promise<SecretValue<string>>;
52
+ }, store: AztecAsyncKVStore, logger: Logger): Promise<string>;
54
53
  /**
55
54
  * Create a libp2p peer ID from the private key.
56
55
  * @param privateKey - peer ID private key as hex string
@@ -1 +1 @@
1
- {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,KAAK,EAAE,iBAAiB,EAAuB,MAAM,iBAAiB,CAAC;AAC9E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAE7D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAE,MAAM,EAAc,MAAM,mBAAmB,CAAC;AAC5D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAIpE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGrC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAI7C,MAAM,WAAW,YAAa,SAAQ,IAAI,CAAC,MAAM,EAAE,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;IACxF,QAAQ,EAAE;QACR,MAAM,EAAE,IAAI,CACV,SAAS,EACT,kBAAkB,GAAG,qBAAqB,GAAG,SAAS,GAAG,WAAW,GAAG,+BAA+B,CACvG,GAAG;YAAE,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAA;SAAE,CAAC;KAClD,CAAC;CACH;AAED,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC;IAC9B,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,EAAE,SAAS,CAAC;IAClB,UAAU,EAAE;QACV,iBAAiB,EAAE,iBAAiB,CAAC;KACtC,CAAC;CACH,CAAC,CAAC;AAEH;;;;;;;6CAO6C;AAC7C,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,GAAG,KAAK,GAAG,MAAM,CAOjG;AAED;;GAEG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC,CAInD;AAED,wBAAsB,yBAAyB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAW9F;AAcD,wBAAsB,2BAA2B,CAC/C,OAAO,EAAE,SAAS,GAAG,eAAe,GACnC,OAAO,CAAC,SAAS,GAAG,eAAe,CAAC,CAmBtC;AAED;;;;;;;;GAQG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE;IAAE,gBAAgB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE,EACzG,KAAK,EAAE,iBAAiB,EACxB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CA2D9B;AAED;;;;GAIG;AACH,wBAAsB,gCAAgC,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAS1F"}
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,KAAK,EAAE,iBAAiB,EAAuB,MAAM,iBAAiB,CAAC;AAC9E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAE7D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAE,MAAM,EAAc,MAAM,mBAAmB,CAAC;AAC5D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAIpE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGrC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAI7C,MAAM,WAAW,YAAa,SAAQ,IAAI,CAAC,MAAM,EAAE,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;IACxF,QAAQ,EAAE;QACR,MAAM,EAAE,IAAI,CACV,SAAS,EACT,kBAAkB,GAAG,qBAAqB,GAAG,SAAS,GAAG,WAAW,GAAG,+BAA+B,CACvG,GAAG;YAAE,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAA;SAAE,CAAC;KAClD,CAAC;CACH;AAED,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC;IAC9B,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,EAAE,SAAS,CAAC;IAClB,UAAU,EAAE;QACV,iBAAiB,EAAE,iBAAiB,CAAC;KACtC,CAAC;CACH,CAAC,CAAC;AAEH;;;;;;;6CAO6C;AAC7C,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,GAAG,KAAK,GAAG,MAAM,CAOjG;AAED;;GAEG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC,CAInD;AAED,wBAAsB,yBAAyB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAW9F;AAcD,wBAAsB,2BAA2B,CAC/C,OAAO,EAAE,SAAS,GAAG,eAAe,GACnC,OAAO,CAAC,SAAS,GAAG,eAAe,CAAC,CAmBtC;AAED;;;;;;;;GAQG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE;IAAE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE,EAC5F,KAAK,EAAE,iBAAiB,EACxB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,CAAC,CA2DjB;AAED;;;;GAIG;AACH,wBAAsB,gCAAgC,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAS1F"}
package/dest/util.js CHANGED
@@ -1,4 +1,3 @@
1
- import { SecretValue } from '@aztec/foundation/config';
2
1
  import { generateKeyPair, marshalPrivateKey, unmarshalPrivateKey } from '@libp2p/crypto/keys';
3
2
  import { createFromPrivKey } from '@libp2p/peer-id-factory';
4
3
  import { resolve } from 'dns/promises';
@@ -86,12 +85,12 @@ export async function configureP2PClientAddresses(_config) {
86
85
  await fs.writeFile(filePath, privateKey);
87
86
  };
88
87
  // If the peerIdPrivateKey is provided in the config, we use it and persist it in either a file or the node's store
89
- if (config.peerIdPrivateKey && config.peerIdPrivateKey.getValue().trim()) {
88
+ if (config.peerIdPrivateKey) {
90
89
  if (peerIdPrivateKeyFilePath) {
91
- await writePrivateKeyToFile(peerIdPrivateKeyFilePath, config.peerIdPrivateKey.getValue());
90
+ await writePrivateKeyToFile(peerIdPrivateKeyFilePath, config.peerIdPrivateKey);
92
91
  } else {
93
92
  peerIdPrivateKeySingleton = store.openSingleton('peerIdPrivateKey');
94
- await peerIdPrivateKeySingleton.set(config.peerIdPrivateKey.getValue());
93
+ await peerIdPrivateKeySingleton.set(config.peerIdPrivateKey);
95
94
  }
96
95
  return config.peerIdPrivateKey;
97
96
  }
@@ -110,7 +109,7 @@ export async function configureP2PClientAddresses(_config) {
110
109
  logger.verbose(`Peer ID private key found in the node's store, persisting it to ${peerIdPrivateKeyFilePath}`);
111
110
  await writePrivateKeyToFile(peerIdPrivateKeyFilePath, storedPeerIdPrivateKey);
112
111
  }
113
- return new SecretValue(storedPeerIdPrivateKey);
112
+ return storedPeerIdPrivateKey;
114
113
  }
115
114
  // Generate and persist a new private key
116
115
  const newPeerIdPrivateKey = await generateKeyPair('secp256k1');
@@ -122,7 +121,7 @@ export async function configureP2PClientAddresses(_config) {
122
121
  logger.warn('Creating new peer ID private key and persisting it to the lmdb store. Key will be lost on rollup upgrade, specify the peer id private key path and restart the node to persist the peer id private key to a file');
123
122
  await peerIdPrivateKeySingleton.set(privateKeyString);
124
123
  }
125
- return new SecretValue(privateKeyString);
124
+ return privateKeyString;
126
125
  }
127
126
  /**
128
127
  * Create a libp2p peer ID from the private key.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aztec/p2p",
3
- "version": "1.0.0-staging.2",
3
+ "version": "1.0.0",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": "./dest/index.js",
@@ -67,17 +67,17 @@
67
67
  ]
68
68
  },
69
69
  "dependencies": {
70
- "@aztec/constants": "1.0.0-staging.2",
71
- "@aztec/epoch-cache": "1.0.0-staging.2",
72
- "@aztec/ethereum": "1.0.0-staging.2",
73
- "@aztec/foundation": "1.0.0-staging.2",
74
- "@aztec/kv-store": "1.0.0-staging.2",
75
- "@aztec/noir-contracts.js": "1.0.0-staging.2",
76
- "@aztec/noir-protocol-circuits-types": "1.0.0-staging.2",
77
- "@aztec/protocol-contracts": "1.0.0-staging.2",
78
- "@aztec/simulator": "1.0.0-staging.2",
79
- "@aztec/stdlib": "1.0.0-staging.2",
80
- "@aztec/telemetry-client": "1.0.0-staging.2",
70
+ "@aztec/constants": "1.0.0",
71
+ "@aztec/epoch-cache": "1.0.0",
72
+ "@aztec/ethereum": "1.0.0",
73
+ "@aztec/foundation": "1.0.0",
74
+ "@aztec/kv-store": "1.0.0",
75
+ "@aztec/noir-contracts.js": "1.0.0",
76
+ "@aztec/noir-protocol-circuits-types": "1.0.0",
77
+ "@aztec/protocol-contracts": "1.0.0",
78
+ "@aztec/simulator": "1.0.0",
79
+ "@aztec/stdlib": "1.0.0",
80
+ "@aztec/telemetry-client": "1.0.0",
81
81
  "@chainsafe/discv5": "9.0.0",
82
82
  "@chainsafe/enr": "3.0.0",
83
83
  "@chainsafe/libp2p-gossipsub": "13.0.0",
@@ -107,7 +107,7 @@
107
107
  "xxhash-wasm": "^1.1.0"
108
108
  },
109
109
  "devDependencies": {
110
- "@aztec/archiver": "1.0.0-staging.2",
110
+ "@aztec/archiver": "1.0.0",
111
111
  "@jest/globals": "^30.0.0",
112
112
  "@types/jest": "^30.0.0",
113
113
  "@types/node": "^22.15.17",
@@ -45,7 +45,7 @@ export class BootstrapNode implements P2PBootstrapApi {
45
45
  const peerIdPrivateKey = await getPeerIdPrivateKey(config, this.store, this.logger);
46
46
 
47
47
  const { enr: ourEnr, peerId } = await createBootnodeENRandPeerId(
48
- peerIdPrivateKey.getValue(),
48
+ peerIdPrivateKey,
49
49
  p2pIp,
50
50
  config.p2pBroadcastPort!,
51
51
  config.l1ChainId,
@@ -73,7 +73,7 @@ export const createP2PClient = async <T extends P2PClientType>(
73
73
 
74
74
  // Create peer discovery service
75
75
  const peerIdPrivateKey = await getPeerIdPrivateKey(config, store, logger);
76
- const peerId = await createLibP2PPeerIdFromPrivateKey(peerIdPrivateKey.getValue());
76
+ const peerId = await createLibP2PPeerIdFromPrivateKey(peerIdPrivateKey);
77
77
 
78
78
  const p2pService = await (deps.p2pServiceFactory ?? LibP2PService.new<T>)(clientType, config, peerId, {
79
79
  packageVersion,
@@ -667,7 +667,7 @@ export class P2PClient<T extends P2PClientType = P2PClientType.Full>
667
667
  private async markTxsAsMinedFromBlocks(blocks: L2Block[]): Promise<void> {
668
668
  for (const block of blocks) {
669
669
  const txHashes = block.body.txEffects.map(txEffect => txEffect.txHash);
670
- await this.txPool.markAsMined(txHashes, block.header);
670
+ await this.txPool.markAsMined(txHashes, block.number);
671
671
  }
672
672
  }
673
673
 
package/src/config.ts CHANGED
@@ -1,6 +1,5 @@
1
1
  import {
2
2
  type ConfigMappingsType,
3
- SecretValue,
4
3
  booleanConfigHelper,
5
4
  floatConfigHelper,
6
5
  getConfigFromMappings,
@@ -52,7 +51,7 @@ export interface P2PConfig extends P2PReqRespConfig, ChainConfig {
52
51
  listenAddress: string;
53
52
 
54
53
  /** An optional peer id private key. If blank, will generate a random key. */
55
- peerIdPrivateKey?: SecretValue<string>;
54
+ peerIdPrivateKey?: string;
56
55
 
57
56
  /** An optional path to store generated peer id private keys. If blank, will default to storing any generated keys in the data directory. */
58
57
  peerIdPrivateKeyPath?: string;