@aztec-labs/simulator 6.0.0-rc.1 → 6.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.
- package/dest/public/avm_simulator_pool.js +2 -2
- package/dest/public/public_processor/public_processor.d.ts +1 -1
- package/dest/public/public_processor/public_processor.d.ts.map +1 -1
- package/dest/public/public_processor/public_processor.js +5 -2
- package/package.json +16 -16
- package/src/public/avm_simulator_pool.ts +2 -2
- package/src/public/public_processor/public_processor.ts +6 -2
|
@@ -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
|
|
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,
|
|
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.
|
|
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.
|
|
@@ -679,7 +681,7 @@ _dec = trackSpan('PublicProcessor.processTx', (tx)=>({
|
|
|
679
681
|
const rate = duration > 0 ? totalPublicGas.l2Gas / duration : 0;
|
|
680
682
|
this.metrics.recordAllTxs(totalPublicGas, rate);
|
|
681
683
|
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`, {
|
|
684
|
+
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
685
|
blockNumber: this.globalVariables.blockNumber,
|
|
684
686
|
successfulCount: result.length,
|
|
685
687
|
failedCount: failed.length,
|
|
@@ -688,6 +690,7 @@ _dec = trackSpan('PublicProcessor.processTx', (tx)=>({
|
|
|
688
690
|
totalPublicGas,
|
|
689
691
|
totalBlockGas,
|
|
690
692
|
totalSizeInBytes,
|
|
693
|
+
blockGasSkippedCount,
|
|
691
694
|
silentlySkippedCount,
|
|
692
695
|
silentlySkippedDurationMs
|
|
693
696
|
});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec-labs/simulator",
|
|
3
|
-
"version": "6.0.0-rc.
|
|
3
|
+
"version": "6.0.0-rc.2",
|
|
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.
|
|
66
|
-
"@aztec-foundation/cdb": "6.0.0-rc.
|
|
67
|
-
"@aztec-foundation/ipc-runtime": "6.0.0-rc.
|
|
68
|
-
"@aztec-foundation/noir-acvm_js": "6.0.0-rc.
|
|
69
|
-
"@aztec-foundation/noir-noirc_abi": "6.0.0-rc.
|
|
70
|
-
"@aztec-foundation/noir-types": "6.0.0-rc.
|
|
71
|
-
"@aztec-labs/constants": "6.0.0-rc.
|
|
72
|
-
"@aztec-labs/foundation": "6.0.0-rc.
|
|
73
|
-
"@aztec-labs/protocol-contracts": "6.0.0-rc.
|
|
74
|
-
"@aztec-labs/standard-contracts": "6.0.0-rc.
|
|
75
|
-
"@aztec-labs/stdlib": "6.0.0-rc.
|
|
76
|
-
"@aztec-labs/telemetry-client": "6.0.0-rc.
|
|
77
|
-
"@aztec-labs/world-state": "6.0.0-rc.
|
|
65
|
+
"@aztec-foundation/bb-avm-sim": "6.0.0-rc.5",
|
|
66
|
+
"@aztec-foundation/cdb": "6.0.0-rc.5",
|
|
67
|
+
"@aztec-foundation/ipc-runtime": "6.0.0-rc.5",
|
|
68
|
+
"@aztec-foundation/noir-acvm_js": "6.0.0-rc.5",
|
|
69
|
+
"@aztec-foundation/noir-noirc_abi": "6.0.0-rc.5",
|
|
70
|
+
"@aztec-foundation/noir-types": "6.0.0-rc.5",
|
|
71
|
+
"@aztec-labs/constants": "6.0.0-rc.2",
|
|
72
|
+
"@aztec-labs/foundation": "6.0.0-rc.2",
|
|
73
|
+
"@aztec-labs/protocol-contracts": "6.0.0-rc.2",
|
|
74
|
+
"@aztec-labs/standard-contracts": "6.0.0-rc.2",
|
|
75
|
+
"@aztec-labs/stdlib": "6.0.0-rc.2",
|
|
76
|
+
"@aztec-labs/telemetry-client": "6.0.0-rc.2",
|
|
77
|
+
"@aztec-labs/world-state": "6.0.0-rc.2",
|
|
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.
|
|
85
|
-
"@aztec-labs/noir-test-contracts.js": "6.0.0-rc.
|
|
84
|
+
"@aztec-labs/noir-contracts.js": "6.0.0-rc.2",
|
|
85
|
+
"@aztec-labs/noir-test-contracts.js": "6.0.0-rc.2",
|
|
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
|
|
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.
|
|
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
|
|
|
@@ -388,7 +390,8 @@ export class PublicProcessor implements Traceable {
|
|
|
388
390
|
const silentlySkippedDurationMs = Math.round(totalSilentlySkippedDurationMs);
|
|
389
391
|
this.log.info(
|
|
390
392
|
`Processed ${result.length} successful txs and ${failed.length} failed txs ` +
|
|
391
|
-
`(${
|
|
393
|
+
`(${blockGasSkippedCount} skipped due to block gas limit, ` +
|
|
394
|
+
`${silentlySkippedCount} silently skipped, ${silentlySkippedDurationMs}ms wasted) ` +
|
|
392
395
|
`in ${duration}s`,
|
|
393
396
|
{
|
|
394
397
|
blockNumber: this.globalVariables.blockNumber,
|
|
@@ -399,6 +402,7 @@ export class PublicProcessor implements Traceable {
|
|
|
399
402
|
totalPublicGas,
|
|
400
403
|
totalBlockGas,
|
|
401
404
|
totalSizeInBytes,
|
|
405
|
+
blockGasSkippedCount,
|
|
402
406
|
silentlySkippedCount,
|
|
403
407
|
silentlySkippedDurationMs,
|
|
404
408
|
},
|