@aztec-labs/simulator 6.0.0-rc.1 → 6.0.0-rc.3

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,6 +1,6 @@
1
1
  var _computedKey;
2
2
  import { AvmService } from '@aztec-foundation/bb-avm-sim';
3
- import { AbortError } from '@aztec-labs/foundation/error';
3
+ import { AbortError, isRetryableError } from '@aztec-labs/foundation/error';
4
4
  import { createLogger } from '@aztec-labs/foundation/log';
5
5
  import { sleep } from '@aztec-labs/foundation/sleep';
6
6
  import { CdbIpcServer } from './cdb_ipc_server.js';
@@ -9,7 +9,7 @@ import { CdbIpcServer } from './cdb_ipc_server.js';
9
9
  * request itself) with `retry: true`. That distinction is interpreted here and goes no further: process
10
10
  * lifecycle is invisible to the pool's callers.
11
11
  */ function isProcessFailure(err) {
12
- return err instanceof Error && err.retry === true;
12
+ return isRetryableError(err);
13
13
  }
14
14
  /** Sleep that wakes early (without throwing) when the signal aborts; callers re-check the signal. */ async function abortableSleep(ms, signal) {
15
15
  if (!signal) {
@@ -68,4 +68,4 @@ export declare class PublicProcessor implements Traceable {
68
68
  */
69
69
  private static generateProvingRequest;
70
70
  }
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX3Byb2Nlc3Nvci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3B1YmxpYy9wdWJsaWNfcHJvY2Vzc29yL3B1YmxpY19wcm9jZXNzb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFFLEtBQUssTUFBTSxFQUFFLEtBQUssY0FBYyxFQUFnQixNQUFNLDRCQUE0QixDQUFDO0FBRTVGLE9BQU8sRUFBRSxZQUFZLEVBQWtDLE1BQU0sOEJBQThCLENBQUM7QUFPNUYsT0FBTyxFQU1MLHFCQUFxQixFQUN0QixNQUFNLHdCQUF3QixDQUFDO0FBRWhDLE9BQU8sS0FBSyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFHdEUsT0FBTyxLQUFLLEVBQ1YseUJBQXlCLEVBQ3pCLHFCQUFxQixFQUNyQix3QkFBd0IsRUFDeEIsZUFBZSxFQUNoQixNQUFNLHNDQUFzQyxDQUFDO0FBQzlDLE9BQU8sRUFBRSxLQUFLLFFBQVEsRUFBRSxLQUFLLGFBQWEsRUFBcUIsTUFBTSx5QkFBeUIsQ0FBQztBQUcvRixPQUFPLEVBQ0wsS0FBSyxRQUFRLEVBQ2IsZUFBZSxFQUNmLHlCQUF5QixFQUN6QixLQUFLLFdBQVcsRUFFaEIsRUFBRSxFQUdILE1BQU0sdUJBQXVCLENBQUM7QUFDL0IsT0FBTyxFQUVMLEtBQUssZUFBZSxFQUNwQixLQUFLLFNBQVMsRUFDZCxLQUFLLE1BQU0sRUFHWixNQUFNLDhCQUE4QixDQUFDO0FBSXRDLE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxpQkFBaUIsRUFBaUIsTUFBTSx5QkFBeUIsQ0FBQztBQUMzRSxPQUFPLEVBQ0wsS0FBSyx1QkFBdUIsRUFDNUIsS0FBSywwQkFBMEIsRUFFaEMsTUFBTSxpQ0FBaUMsQ0FBQztBQUN6QyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUd2RTs7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
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX3Byb2Nlc3Nvci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3B1YmxpYy9wdWJsaWNfcHJvY2Vzc29yL3B1YmxpY19wcm9jZXNzb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFFLEtBQUssTUFBTSxFQUFFLEtBQUssY0FBYyxFQUFnQixNQUFNLDRCQUE0QixDQUFDO0FBRTVGLE9BQU8sRUFBRSxZQUFZLEVBQWtDLE1BQU0sOEJBQThCLENBQUM7QUFPNUYsT0FBTyxFQU1MLHFCQUFxQixFQUN0QixNQUFNLHdCQUF3QixDQUFDO0FBRWhDLE9BQU8sS0FBSyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFHdEUsT0FBTyxLQUFLLEVBQ1YseUJBQXlCLEVBQ3pCLHFCQUFxQixFQUNyQix3QkFBd0IsRUFDeEIsZUFBZSxFQUNoQixNQUFNLHNDQUFzQyxDQUFDO0FBQzlDLE9BQU8sRUFBRSxLQUFLLFFBQVEsRUFBRSxLQUFLLGFBQWEsRUFBcUIsTUFBTSx5QkFBeUIsQ0FBQztBQUcvRixPQUFPLEVBQ0wsS0FBSyxRQUFRLEVBQ2IsZUFBZSxFQUNmLHlCQUF5QixFQUN6QixLQUFLLFdBQVcsRUFFaEIsRUFBRSxFQUdILE1BQU0sdUJBQXVCLENBQUM7QUFDL0IsT0FBTyxFQUVMLEtBQUssZUFBZSxFQUNwQixLQUFLLFNBQVMsRUFDZCxLQUFLLE1BQU0sRUFHWixNQUFNLDhCQUE4QixDQUFDO0FBSXRDLE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxpQkFBaUIsRUFBaUIsTUFBTSx5QkFBeUIsQ0FBQztBQUMzRSxPQUFPLEVBQ0wsS0FBSyx1QkFBdUIsRUFDNUIsS0FBSywwQkFBMEIsRUFFaEMsTUFBTSxpQ0FBaUMsQ0FBQztBQUN6QyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUd2RTs7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
@@ -1 +1 @@
1
- {"version":3,"file":"public_processor.d.ts","sourceRoot":"","sources":["../../../src/public/public_processor/public_processor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"public_processor.d.ts","sourceRoot":"","sources":["../../../src/public/public_processor/public_processor.ts"],"names":[],"mappings":"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"}
@@ -511,6 +511,7 @@ _dec = trackSpan('PublicProcessor.processTx', (tx)=>({
511
511
  let totalPublicGas = new Gas(0, 0);
512
512
  let totalBlockGas = new Gas(0, 0);
513
513
  let totalBlobFields = 0;
514
+ let blockGasSkippedCount = 0;
514
515
  let silentlySkippedCount = 0;
515
516
  let totalSilentlySkippedDurationMs = 0;
516
517
  for await (const tx of txs){
@@ -545,12 +546,13 @@ _dec = trackSpan('PublicProcessor.processTx', (tx)=>({
545
546
  // Only done during proposal building: during re-execution we must process the exact txs from the proposal.
546
547
  const txGasLimit = tx.data.constants.txContext.gasSettings.gasLimits;
547
548
  if (isBuildingProposal && maxBlockGas !== undefined && totalBlockGas.add(txGasLimit).gtAny(maxBlockGas)) {
548
- this.log.warn(`Skipping processing of tx ${txHash} due to block gas limit`, {
549
+ this.log.debug(`Skipping processing of tx ${txHash} due to block gas limit`, {
549
550
  txHash,
550
551
  txGasLimit,
551
552
  totalBlockGas,
552
553
  maxBlockGas
553
554
  });
555
+ blockGasSkippedCount++;
554
556
  continue;
555
557
  }
556
558
  // We validate the tx before processing it, to avoid unnecessary work.
@@ -605,13 +607,13 @@ _dec = trackSpan('PublicProcessor.processTx', (tx)=>({
605
607
  this.contractsDB.revertCheckpoint();
606
608
  continue;
607
609
  }
608
- // During re-execution, check if the actual gas used by this tx would push the block over the gas limit.
610
+ // During re-execution, check if the billed gas of this tx would push the block over the gas limit.
609
611
  // Unlike the proposal-building check (which uses declared gas limits pessimistically before processing),
610
- // this uses actual gas and stops processing when the limit is exceeded.
611
- if (!isBuildingProposal && maxBlockGas !== undefined && totalBlockGas.add(processedTx.gasUsed.totalGas).gtAny(maxBlockGas)) {
612
+ // this uses billed gas and stops processing when the limit is exceeded.
613
+ if (!isBuildingProposal && maxBlockGas !== undefined && totalBlockGas.add(processedTx.gasUsed.billedGas).gtAny(maxBlockGas)) {
612
614
  this.log.warn(`Stopping re-execution since tx ${txHash} would push block gas over limit`, {
613
615
  txHash,
614
- txGas: processedTx.gasUsed.totalGas,
616
+ txGas: processedTx.gasUsed.billedGas,
615
617
  totalBlockGas,
616
618
  maxBlockGas
617
619
  });
@@ -628,7 +630,9 @@ _dec = trackSpan('PublicProcessor.processTx', (tx)=>({
628
630
  debugLogs.push(...txDebugLogs);
629
631
  this.debugLogStore.storeLogs(processedTx.hash.toString(), txDebugLogs);
630
632
  totalPublicGas = totalPublicGas.add(processedTx.gasUsed.publicGas);
631
- totalBlockGas = totalBlockGas.add(processedTx.gasUsed.totalGas);
633
+ // Block mana limits are enforced on billed gas (the block header's totalManaUsed), which charges the full
634
+ // teardown gas limit. Accumulating actual gas would treat unused teardown limits as free headroom.
635
+ totalBlockGas = totalBlockGas.add(processedTx.gasUsed.billedGas);
632
636
  totalSizeInBytes += txSize;
633
637
  totalBlobFields += txBlobFields;
634
638
  // Commit the tx-level contracts checkpoint on success
@@ -679,7 +683,7 @@ _dec = trackSpan('PublicProcessor.processTx', (tx)=>({
679
683
  const rate = duration > 0 ? totalPublicGas.l2Gas / duration : 0;
680
684
  this.metrics.recordAllTxs(totalPublicGas, rate);
681
685
  const silentlySkippedDurationMs = Math.round(totalSilentlySkippedDurationMs);
682
- this.log.info(`Processed ${result.length} successful txs and ${failed.length} failed txs ` + `(${silentlySkippedCount} silently skipped, ${silentlySkippedDurationMs}ms wasted) ` + `in ${duration}s`, {
686
+ this.log.info(`Processed ${result.length} successful txs and ${failed.length} failed txs ` + `(${blockGasSkippedCount} skipped due to block gas limit, ` + `${silentlySkippedCount} silently skipped, ${silentlySkippedDurationMs}ms wasted) ` + `in ${duration}s`, {
683
687
  blockNumber: this.globalVariables.blockNumber,
684
688
  successfulCount: result.length,
685
689
  failedCount: failed.length,
@@ -688,6 +692,7 @@ _dec = trackSpan('PublicProcessor.processTx', (tx)=>({
688
692
  totalPublicGas,
689
693
  totalBlockGas,
690
694
  totalSizeInBytes,
695
+ blockGasSkippedCount,
691
696
  silentlySkippedCount,
692
697
  silentlySkippedDurationMs
693
698
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aztec-labs/simulator",
3
- "version": "6.0.0-rc.1",
3
+ "version": "6.0.0-rc.3",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  "./server": "./dest/server.js",
@@ -62,27 +62,27 @@
62
62
  ]
63
63
  },
64
64
  "dependencies": {
65
- "@aztec-foundation/bb-avm-sim": "6.0.0-rc.1",
66
- "@aztec-foundation/cdb": "6.0.0-rc.1",
67
- "@aztec-foundation/ipc-runtime": "6.0.0-rc.1",
68
- "@aztec-foundation/noir-acvm_js": "6.0.0-rc.1",
69
- "@aztec-foundation/noir-noirc_abi": "6.0.0-rc.1",
70
- "@aztec-foundation/noir-types": "6.0.0-rc.1",
71
- "@aztec-labs/constants": "6.0.0-rc.1",
72
- "@aztec-labs/foundation": "6.0.0-rc.1",
73
- "@aztec-labs/protocol-contracts": "6.0.0-rc.1",
74
- "@aztec-labs/standard-contracts": "6.0.0-rc.1",
75
- "@aztec-labs/stdlib": "6.0.0-rc.1",
76
- "@aztec-labs/telemetry-client": "6.0.0-rc.1",
77
- "@aztec-labs/world-state": "6.0.0-rc.1",
65
+ "@aztec-foundation/bb-avm-sim": "6.0.0-rc.6",
66
+ "@aztec-foundation/cdb": "6.0.0-rc.6",
67
+ "@aztec-foundation/ipc-runtime": "6.0.0-rc.6",
68
+ "@aztec-foundation/noir-acvm_js": "6.0.0-rc.6",
69
+ "@aztec-foundation/noir-noirc_abi": "6.0.0-rc.6",
70
+ "@aztec-foundation/noir-types": "6.0.0-rc.6",
71
+ "@aztec-labs/constants": "6.0.0-rc.3",
72
+ "@aztec-labs/foundation": "6.0.0-rc.3",
73
+ "@aztec-labs/protocol-contracts": "6.0.0-rc.3",
74
+ "@aztec-labs/standard-contracts": "6.0.0-rc.3",
75
+ "@aztec-labs/stdlib": "6.0.0-rc.3",
76
+ "@aztec-labs/telemetry-client": "6.0.0-rc.3",
77
+ "@aztec-labs/world-state": "6.0.0-rc.3",
78
78
  "lodash.clonedeep": "^4.5.0",
79
79
  "lodash.merge": "^4.6.2",
80
80
  "msgpackr": "^1.11.2",
81
81
  "tslib": "^2.4.0"
82
82
  },
83
83
  "devDependencies": {
84
- "@aztec-labs/noir-contracts.js": "6.0.0-rc.1",
85
- "@aztec-labs/noir-test-contracts.js": "6.0.0-rc.1",
84
+ "@aztec-labs/noir-contracts.js": "6.0.0-rc.3",
85
+ "@aztec-labs/noir-test-contracts.js": "6.0.0-rc.3",
86
86
  "@jest/globals": "^30.0.0",
87
87
  "@types/jest": "^30.0.0",
88
88
  "@types/lodash.clonedeep": "^4.5.7",
@@ -1,6 +1,6 @@
1
1
  import { AvmService } from '@aztec-foundation/bb-avm-sim';
2
2
 
3
- import { AbortError } from '@aztec-labs/foundation/error';
3
+ import { AbortError, isRetryableError } from '@aztec-labs/foundation/error';
4
4
  import { type Logger, createLogger } from '@aztec-labs/foundation/log';
5
5
  import { sleep } from '@aztec-labs/foundation/sleep';
6
6
 
@@ -53,7 +53,7 @@ export interface AvmProcessHandle {
53
53
  * lifecycle is invisible to the pool's callers.
54
54
  */
55
55
  function isProcessFailure(err: unknown): boolean {
56
- return err instanceof Error && (err as Error & { retry?: unknown }).retry === true;
56
+ return isRetryableError(err);
57
57
  }
58
58
 
59
59
  /** Sleep that wakes early (without throwing) when the signal aborts; callers re-check the signal. */
@@ -188,6 +188,7 @@ export class PublicProcessor implements Traceable {
188
188
  let totalPublicGas = new Gas(0, 0);
189
189
  let totalBlockGas = new Gas(0, 0);
190
190
  let totalBlobFields = 0;
191
+ let blockGasSkippedCount = 0;
191
192
  let silentlySkippedCount = 0;
192
193
  let totalSilentlySkippedDurationMs = 0;
193
194
 
@@ -225,12 +226,13 @@ export class PublicProcessor implements Traceable {
225
226
  // Only done during proposal building: during re-execution we must process the exact txs from the proposal.
226
227
  const txGasLimit = tx.data.constants.txContext.gasSettings.gasLimits;
227
228
  if (isBuildingProposal && maxBlockGas !== undefined && totalBlockGas.add(txGasLimit).gtAny(maxBlockGas)) {
228
- this.log.warn(`Skipping processing of tx ${txHash} due to block gas limit`, {
229
+ this.log.debug(`Skipping processing of tx ${txHash} due to block gas limit`, {
229
230
  txHash,
230
231
  txGasLimit,
231
232
  totalBlockGas,
232
233
  maxBlockGas,
233
234
  });
235
+ blockGasSkippedCount++;
234
236
  continue;
235
237
  }
236
238
 
@@ -294,17 +296,17 @@ export class PublicProcessor implements Traceable {
294
296
  continue;
295
297
  }
296
298
 
297
- // During re-execution, check if the actual gas used by this tx would push the block over the gas limit.
299
+ // During re-execution, check if the billed gas of this tx would push the block over the gas limit.
298
300
  // Unlike the proposal-building check (which uses declared gas limits pessimistically before processing),
299
- // this uses actual gas and stops processing when the limit is exceeded.
301
+ // this uses billed gas and stops processing when the limit is exceeded.
300
302
  if (
301
303
  !isBuildingProposal &&
302
304
  maxBlockGas !== undefined &&
303
- totalBlockGas.add(processedTx.gasUsed.totalGas).gtAny(maxBlockGas)
305
+ totalBlockGas.add(processedTx.gasUsed.billedGas).gtAny(maxBlockGas)
304
306
  ) {
305
307
  this.log.warn(`Stopping re-execution since tx ${txHash} would push block gas over limit`, {
306
308
  txHash,
307
- txGas: processedTx.gasUsed.totalGas,
309
+ txGas: processedTx.gasUsed.billedGas,
308
310
  totalBlockGas,
309
311
  maxBlockGas,
310
312
  });
@@ -324,7 +326,9 @@ export class PublicProcessor implements Traceable {
324
326
  this.debugLogStore.storeLogs(processedTx.hash.toString(), txDebugLogs);
325
327
 
326
328
  totalPublicGas = totalPublicGas.add(processedTx.gasUsed.publicGas);
327
- totalBlockGas = totalBlockGas.add(processedTx.gasUsed.totalGas);
329
+ // Block mana limits are enforced on billed gas (the block header's totalManaUsed), which charges the full
330
+ // teardown gas limit. Accumulating actual gas would treat unused teardown limits as free headroom.
331
+ totalBlockGas = totalBlockGas.add(processedTx.gasUsed.billedGas);
328
332
  totalSizeInBytes += txSize;
329
333
  totalBlobFields += txBlobFields;
330
334
 
@@ -388,7 +392,8 @@ export class PublicProcessor implements Traceable {
388
392
  const silentlySkippedDurationMs = Math.round(totalSilentlySkippedDurationMs);
389
393
  this.log.info(
390
394
  `Processed ${result.length} successful txs and ${failed.length} failed txs ` +
391
- `(${silentlySkippedCount} silently skipped, ${silentlySkippedDurationMs}ms wasted) ` +
395
+ `(${blockGasSkippedCount} skipped due to block gas limit, ` +
396
+ `${silentlySkippedCount} silently skipped, ${silentlySkippedDurationMs}ms wasted) ` +
392
397
  `in ${duration}s`,
393
398
  {
394
399
  blockNumber: this.globalVariables.blockNumber,
@@ -399,6 +404,7 @@ export class PublicProcessor implements Traceable {
399
404
  totalPublicGas,
400
405
  totalBlockGas,
401
406
  totalSizeInBytes,
407
+ blockGasSkippedCount,
402
408
  silentlySkippedCount,
403
409
  silentlySkippedDurationMs,
404
410
  },