@aztec/simulator 0.0.1-commit.2f68f620 → 0.0.1-commit.321f6a9
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/client.d.ts +1 -3
- package/dest/client.d.ts.map +1 -1
- package/dest/client.js +0 -2
- package/dest/private/circuit_recording/circuit_recorder.d.ts +36 -23
- package/dest/private/circuit_recording/circuit_recorder.d.ts.map +1 -1
- package/dest/private/circuit_recording/circuit_recorder.js +65 -69
- package/dest/private/circuit_recording/file_circuit_recorder.d.ts +7 -19
- package/dest/private/circuit_recording/file_circuit_recorder.d.ts.map +1 -1
- package/dest/private/circuit_recording/file_circuit_recorder.js +38 -42
- package/dest/private/circuit_recording/simulator_recorder_wrapper.d.ts +1 -1
- package/dest/private/circuit_recording/simulator_recorder_wrapper.d.ts.map +1 -1
- package/dest/private/circuit_recording/simulator_recorder_wrapper.js +11 -14
- package/dest/public/avm/testing/base_avm_simulation_tester.js +1 -1
- package/dest/public/avm/testing/utils.js +1 -1
- package/dest/public/avm_simulator.d.ts +28 -0
- package/dest/public/avm_simulator.d.ts.map +1 -0
- package/dest/public/avm_simulator.js +4 -0
- package/dest/public/avm_simulator_pool.d.ts +45 -0
- package/dest/public/avm_simulator_pool.d.ts.map +1 -0
- package/dest/public/avm_simulator_pool.js +197 -0
- package/dest/public/cdb/generated/api_types.d.ts +171 -0
- package/dest/public/cdb/generated/api_types.d.ts.map +1 -0
- package/dest/public/cdb/generated/api_types.js +314 -0
- package/dest/public/cdb/generated/server.d.ts +26 -0
- package/dest/public/cdb/generated/server.d.ts.map +1 -0
- package/dest/public/cdb/generated/server.js +135 -0
- package/dest/public/cdb_ipc_server.d.ts +33 -0
- package/dest/public/cdb_ipc_server.d.ts.map +1 -0
- package/dest/public/cdb_ipc_server.js +153 -0
- package/dest/public/fixtures/amm_test.js +2 -2
- package/dest/public/fixtures/bulk_test.js +2 -2
- package/dest/public/fixtures/custom_bytecode_tester.d.ts +1 -1
- package/dest/public/fixtures/custom_bytecode_tester.d.ts.map +1 -1
- package/dest/public/fixtures/custom_bytecode_tester.js +2 -2
- package/dest/public/fixtures/index.d.ts +2 -1
- package/dest/public/fixtures/index.d.ts.map +1 -1
- package/dest/public/fixtures/index.js +1 -0
- package/dest/public/fixtures/public_processor_test_env.d.ts +30 -0
- package/dest/public/fixtures/public_processor_test_env.d.ts.map +1 -0
- package/dest/public/fixtures/public_processor_test_env.js +73 -0
- package/dest/public/fixtures/public_tx_simulation_tester.d.ts +9 -5
- package/dest/public/fixtures/public_tx_simulation_tester.d.ts.map +1 -1
- package/dest/public/fixtures/public_tx_simulation_tester.js +29 -11
- package/dest/public/fixtures/token_test.js +3 -3
- package/dest/public/fixtures/utils.d.ts +1 -1
- package/dest/public/fixtures/utils.d.ts.map +1 -1
- package/dest/public/fixtures/utils.js +5 -3
- package/dest/public/fuzzing/avm_fuzzer_simulator.d.ts +7 -2
- package/dest/public/fuzzing/avm_fuzzer_simulator.d.ts.map +1 -1
- package/dest/public/fuzzing/avm_fuzzer_simulator.js +15 -6
- package/dest/public/index.d.ts +5 -2
- package/dest/public/index.d.ts.map +1 -1
- package/dest/public/index.js +2 -1
- package/dest/public/public_db_sources.d.ts +2 -2
- package/dest/public/public_db_sources.d.ts.map +1 -1
- package/dest/public/public_db_sources.js +1 -1
- package/dest/public/public_processor/public_processor.d.ts +8 -4
- package/dest/public/public_processor/public_processor.d.ts.map +1 -1
- package/dest/public/public_processor/public_processor.js +17 -13
- package/dest/public/public_tx_simulator/dumping_public_tx_simulator.d.ts +6 -12
- package/dest/public/public_tx_simulator/dumping_public_tx_simulator.d.ts.map +1 -1
- package/dest/public/public_tx_simulator/dumping_public_tx_simulator.js +8 -21
- package/dest/public/public_tx_simulator/factories.d.ts +5 -5
- package/dest/public/public_tx_simulator/factories.d.ts.map +1 -1
- package/dest/public/public_tx_simulator/factories.js +5 -5
- package/dest/public/public_tx_simulator/index.d.ts +3 -3
- package/dest/public/public_tx_simulator/index.d.ts.map +1 -1
- package/dest/public/public_tx_simulator/index.js +1 -1
- package/dest/public/public_tx_simulator/public_tx_simulator.d.ts +16 -16
- package/dest/public/public_tx_simulator/public_tx_simulator.d.ts.map +1 -1
- package/dest/public/public_tx_simulator/public_tx_simulator.js +59 -58
- package/dest/public/public_tx_simulator/public_tx_simulator_base.d.ts +10 -8
- package/dest/public/public_tx_simulator/public_tx_simulator_base.d.ts.map +1 -1
- package/dest/public/public_tx_simulator/public_tx_simulator_base.js +11 -8
- package/dest/public/public_tx_simulator/public_tx_simulator_interface.d.ts +5 -5
- package/package.json +21 -17
- package/src/client.ts +0 -2
- package/src/private/circuit_recording/circuit_recorder.ts +84 -78
- package/src/private/circuit_recording/file_circuit_recorder.ts +38 -48
- package/src/private/circuit_recording/simulator_recorder_wrapper.ts +9 -15
- package/src/public/avm/testing/base_avm_simulation_tester.ts +1 -1
- package/src/public/avm/testing/utils.ts +1 -1
- package/src/public/avm_simulator.ts +29 -0
- package/src/public/avm_simulator_pool.ts +226 -0
- package/src/public/cdb/generated/api_types.ts +457 -0
- package/src/public/cdb/generated/server.ts +109 -0
- package/src/public/cdb_ipc_server.ts +197 -0
- package/src/public/fixtures/amm_test.ts +2 -2
- package/src/public/fixtures/bulk_test.ts +2 -2
- package/src/public/fixtures/custom_bytecode_tester.ts +2 -2
- package/src/public/fixtures/index.ts +1 -0
- package/src/public/fixtures/public_processor_test_env.ts +88 -0
- package/src/public/fixtures/public_tx_simulation_tester.ts +37 -25
- package/src/public/fixtures/token_test.ts +3 -3
- package/src/public/fixtures/utils.ts +6 -11
- package/src/public/fuzzing/avm_fuzzer_simulator.ts +28 -10
- package/src/public/index.ts +4 -0
- package/src/public/public_db_sources.ts +1 -1
- package/src/public/public_processor/public_processor.ts +22 -15
- package/src/public/public_tx_simulator/dumping_public_tx_simulator.ts +13 -29
- package/src/public/public_tx_simulator/factories.ts +24 -7
- package/src/public/public_tx_simulator/index.ts +5 -2
- package/src/public/public_tx_simulator/public_tx_simulator.ts +70 -81
- package/src/public/public_tx_simulator/public_tx_simulator_base.ts +8 -6
- package/src/public/public_tx_simulator/public_tx_simulator_interface.ts +5 -5
- package/dest/public/public_tx_simulator/contract_provider_for_cpp.d.ts +0 -19
- package/dest/public/public_tx_simulator/contract_provider_for_cpp.d.ts.map +0 -1
- package/dest/public/public_tx_simulator/contract_provider_for_cpp.js +0 -99
- package/src/public/public_tx_simulator/contract_provider_for_cpp.ts +0 -125
package/dest/public/index.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
export { AvmSimulatorPool } from './avm_simulator_pool.js';
|
|
1
2
|
export { PublicContractsDB } from './public_db_sources.js';
|
|
2
3
|
export { GuardedMerkleTreeOperations } from './public_processor/guarded_merkle_tree.js';
|
|
3
4
|
export { PublicProcessor, PublicProcessorFactory } from './public_processor/public_processor.js';
|
|
4
|
-
export { PublicTxSimulator, createPublicTxSimulatorForBlockBuilding, DumpingPublicTxSimulator, TelemetryPublicTxSimulator } from './public_tx_simulator/index.js';
|
|
5
|
+
export { PublicTxSimulator, MeasuredPublicTxSimulator, createPublicTxSimulatorForBlockBuilding, DumpingPublicTxSimulator, TelemetryPublicTxSimulator } from './public_tx_simulator/index.js';
|
|
5
6
|
export { getCallRequestsWithCalldataByPhase } from './utils.js';
|
|
@@ -17,7 +17,7 @@ export declare class PublicContractsDB implements PublicContractsDBInterface {
|
|
|
17
17
|
private contractStateStack;
|
|
18
18
|
private log;
|
|
19
19
|
constructor(dataSource: ContractDataSource, bindings?: LoggerBindings);
|
|
20
|
-
/** Parses raw
|
|
20
|
+
/** Parses raw contract deployment data and inserts the resulting contracts into the current checkpoint. */
|
|
21
21
|
addContractsFromLogs(contractDeploymentData: ContractDeploymentData): void;
|
|
22
22
|
addNewContracts(tx: Tx): void;
|
|
23
23
|
/** Inserts typed contract instances directly into the current checkpoint. */
|
|
@@ -80,4 +80,4 @@ export declare class PublicTreesDB implements PublicStateDBInterface {
|
|
|
80
80
|
revertCheckpoint(): Promise<void>;
|
|
81
81
|
getTreeSnapshots(): Promise<TreeSnapshots>;
|
|
82
82
|
}
|
|
83
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2RiX3NvdXJjZXMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wdWJsaWMvcHVibGljX2RiX3NvdXJjZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBTUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sRUFBZSxLQUFLLGNBQWMsRUFBZ0IsTUFBTSx1QkFBdUIsQ0FBQztBQUl2RixPQUFPLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRTFELE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2hFLE9BQU8sRUFFTCxLQUFLLG1CQUFtQixFQUN4QixLQUFLLGtCQUFrQixFQUN2QixLQUFLLHNCQUFzQixFQUMzQixLQUFLLDJCQUEyQixFQUVqQyxNQUFNLHdCQUF3QixDQUFDO0FBRWhDLE9BQU8sS0FBSyxFQUFFLHlCQUF5QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFakYsT0FBTyxFQUNMLFlBQVksRUFLYixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMxRCxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUtsRCxPQUFPLEtBQUssRUFBRSwwQkFBMEIsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRzdGOzs7R0FHRztBQUNILHFCQUFhLGlCQUFrQixZQUFXLDBCQUEwQjtJQU1oRSxPQUFPLENBQUMsVUFBVTtJQUxwQixPQUFPLENBQUMsa0JBQWtCLENBQTBEO0lBRXBGLE9BQU8sQ0FBQyxHQUFHLENBQVM7SUFFcEIsWUFDVSxVQUFVLEVBQUUsa0JBQWtCLEVBQ3RDLFFBQVEsQ0FBQyxFQUFFLGNBQWMsRUFHMUI7SUFFRCwyR0FBMkc7SUFDcEcsb0JBQW9CLENBQUMs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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"public_db_sources.d.ts","sourceRoot":"","sources":["../../src/public/public_db_sources.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAe,KAAK,cAAc,EAAgB,MAAM,uBAAuB,CAAC;AAIvF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAEL,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,sBAAsB,EAC3B,KAAK,2BAA2B,EAEjC,MAAM,wBAAwB,CAAC;AAEhC,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAEjF,OAAO,EACL,YAAY,EAKb,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAKlD,OAAO,KAAK,EAAE,0BAA0B,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAG7F;;;GAGG;AACH,qBAAa,iBAAkB,YAAW,0BAA0B;IAMhE,OAAO,CAAC,UAAU;IALpB,OAAO,CAAC,kBAAkB,CAA0D;IAEpF,OAAO,CAAC,GAAG,CAAS;IAEpB,YACU,UAAU,EAAE,kBAAkB,EACtC,QAAQ,CAAC,EAAE,cAAc,EAG1B;IAED,
|
|
1
|
+
{"version":3,"file":"public_db_sources.d.ts","sourceRoot":"","sources":["../../src/public/public_db_sources.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,7 +26,7 @@ import { L1ToL2MessageIndexOutOfRangeError, NoteHashIndexOutOfRangeError } from
|
|
|
26
26
|
];
|
|
27
27
|
this.log = createLogger('simulator:contracts-data-source', bindings);
|
|
28
28
|
}
|
|
29
|
-
/** Parses raw
|
|
29
|
+
/** Parses raw contract deployment data and inserts the resulting contracts into the current checkpoint. */ addContractsFromLogs(contractDeploymentData) {
|
|
30
30
|
const currentState = this.getCurrentState();
|
|
31
31
|
this.addContractClassesFromEvents(ContractClassPublishedEvent.extractContractClassEvents(contractDeploymentData.getContractClassLogs()), currentState);
|
|
32
32
|
this.addContractInstancesFromEvents(ContractInstancePublishedEvent.extractContractInstanceEvents(contractDeploymentData.getPrivateLogs()), currentState);
|
|
@@ -6,6 +6,7 @@ import type { MerkleTreeWriteOperations, PublicProcessorLimits, PublicProcessorV
|
|
|
6
6
|
import { type DebugLog, type DebugLogStore } from '@aztec/stdlib/logs';
|
|
7
7
|
import { type FailedTx, GlobalVariables, NestedProcessReturnValues, type ProcessedTx, Tx } from '@aztec/stdlib/tx';
|
|
8
8
|
import { type TelemetryClient, type Traceable, type Tracer } from '@aztec/telemetry-client';
|
|
9
|
+
import type { AvmSimulator } from '../avm_simulator.js';
|
|
9
10
|
import { PublicContractsDB } from '../public_db_sources.js';
|
|
10
11
|
import { type PublicTxSimulatorConfig, type PublicTxSimulatorInterface } from '../public_tx_simulator/index.js';
|
|
11
12
|
import { GuardedMerkleTreeOperations } from './guarded_merkle_tree.js';
|
|
@@ -14,18 +15,21 @@ import { GuardedMerkleTreeOperations } from './guarded_merkle_tree.js';
|
|
|
14
15
|
*/
|
|
15
16
|
export declare class PublicProcessorFactory {
|
|
16
17
|
private contractDataSource;
|
|
18
|
+
private avmSimulator;
|
|
17
19
|
private dateProvider;
|
|
18
20
|
protected telemetryClient: TelemetryClient;
|
|
19
21
|
private log;
|
|
20
|
-
constructor(contractDataSource: ContractDataSource, dateProvider?: DateProvider, telemetryClient?: TelemetryClient, bindings?: LoggerBindings);
|
|
22
|
+
constructor(contractDataSource: ContractDataSource, avmSimulator: AvmSimulator, dateProvider?: DateProvider, telemetryClient?: TelemetryClient, bindings?: LoggerBindings);
|
|
21
23
|
/**
|
|
22
|
-
* Creates a new instance of a PublicProcessor.
|
|
24
|
+
* Creates a new instance of a PublicProcessor. The simulator it drives reads contract data from the fork's
|
|
25
|
+
* contracts DB, scoped by the fork id so AVM requests route to the right state.
|
|
26
|
+
*
|
|
23
27
|
* @param globalVariables - The global variables for the block being processed.
|
|
24
28
|
* @param contractsDB - Optional pre-populated contracts DB; a fresh one is constructed if omitted.
|
|
25
29
|
* @returns A new instance of a PublicProcessor.
|
|
26
30
|
*/
|
|
27
31
|
create(merkleTree: MerkleTreeWriteOperations, globalVariables: GlobalVariables, config: PublicSimulatorConfig, contractsDB?: PublicContractsDB): PublicProcessor;
|
|
28
|
-
protected createPublicTxSimulator(
|
|
32
|
+
protected createPublicTxSimulator(forkId: number, globalVariables: GlobalVariables, contractsDB: PublicContractsDB, config?: Partial<PublicTxSimulatorConfig>): PublicTxSimulatorInterface;
|
|
29
33
|
}
|
|
30
34
|
/**
|
|
31
35
|
* Converts Txs lifted from the P2P module into ProcessedTx objects by executing
|
|
@@ -64,4 +68,4 @@ export declare class PublicProcessor implements Traceable {
|
|
|
64
68
|
*/
|
|
65
69
|
private static generateProvingRequest;
|
|
66
70
|
}
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX3Byb2Nlc3Nvci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3B1YmxpYy9wdWJsaWNfcHJvY2Vzc29yL3B1YmxpY19wcm9jZXNzb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFFLEtBQUssTUFBTSxFQUFFLEtBQUssY0FBYyxFQUFnQixNQUFNLHVCQUF1QixDQUFDO0FBRXZGLE9BQU8sRUFBRSxZQUFZLEVBQWtDLE1BQU0seUJBQXlCLENBQUM7QUFJdkYsT0FBTyxFQU1MLHFCQUFxQixFQUN0QixNQUFNLG1CQUFtQixDQUFDO0FBRTNCLE9BQU8sS0FBSyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFHakUsT0FBTyxLQUFLLEVBQ1YseUJBQXlCLEVBQ3pCLHFCQUFxQixFQUNyQix3QkFBd0IsRUFDeEIsZUFBZSxFQUNoQixNQUFNLGlDQUFpQyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxLQUFLLFFBQVEsRUFBRSxLQUFLLGFBQWEsRUFBcUIsTUFBTSxvQkFBb0IsQ0FBQztBQUcxRixPQUFPLEVBQ0wsS0FBSyxRQUFRLEVBQ2IsZUFBZSxFQUNmLHlCQUF5QixFQUN6QixLQUFLLFdBQVcsRUFFaEIsRUFBRSxFQUdILE1BQU0sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxFQUVMLEtBQUssZUFBZSxFQUNwQixLQUFLLFNBQVMsRUFDZCxLQUFLLE1BQU0sRUFHWixNQUFNLHlCQUF5QixDQUFDO0FBS2pDLE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxpQkFBaUIsRUFBaUIsTUFBTSx5QkFBeUIsQ0FBQztBQUMzRSxPQUFPLEVBQ0wsS0FBSyx1QkFBdUIsRUFDNUIsS0FBSywwQkFBMEIsRUFFaEMsTUFBTSxpQ0FBaUMsQ0FBQztBQUN6QyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUd2RTs7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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":"AAGA,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,cAAc,EAAgB,MAAM,uBAAuB,CAAC;AAEvF,OAAO,EAAE,YAAY,EAAkC,MAAM,yBAAyB,CAAC;AAIvF,OAAO,EAML,qBAAqB,EACtB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAGjE,OAAO,KAAK,EACV,yBAAyB,EACzB,qBAAqB,EACrB,wBAAwB,EACxB,eAAe,EAChB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,aAAa,EAAqB,MAAM,oBAAoB,CAAC;AAG1F,OAAO,EACL,KAAK,QAAQ,EACb,eAAe,EACf,yBAAyB,EACzB,KAAK,WAAW,EAEhB,EAAE,EAGH,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,SAAS,EACd,KAAK,MAAM,EAGZ,MAAM,yBAAyB,CAAC;AAKjC,OAAO,EAAE,iBAAiB,EAAiB,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EACL,KAAK,uBAAuB,EAC5B,KAAK,0BAA0B,EAEhC,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AAGvE;;GAEG;AACH,qBAAa,sBAAsB;IAG/B,OAAO,CAAC,kBAAkB;IAC1B,OAAO,CAAC,YAAY;IACpB,SAAS,CAAC,eAAe,EAAE,eAAe;
|
|
1
|
+
{"version":3,"file":"public_processor.d.ts","sourceRoot":"","sources":["../../../src/public/public_processor/public_processor.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,cAAc,EAAgB,MAAM,uBAAuB,CAAC;AAEvF,OAAO,EAAE,YAAY,EAAkC,MAAM,yBAAyB,CAAC;AAIvF,OAAO,EAML,qBAAqB,EACtB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAGjE,OAAO,KAAK,EACV,yBAAyB,EACzB,qBAAqB,EACrB,wBAAwB,EACxB,eAAe,EAChB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,aAAa,EAAqB,MAAM,oBAAoB,CAAC;AAG1F,OAAO,EACL,KAAK,QAAQ,EACb,eAAe,EACf,yBAAyB,EACzB,KAAK,WAAW,EAEhB,EAAE,EAGH,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,SAAS,EACd,KAAK,MAAM,EAGZ,MAAM,yBAAyB,CAAC;AAKjC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAiB,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EACL,KAAK,uBAAuB,EAC5B,KAAK,0BAA0B,EAEhC,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AAGvE;;GAEG;AACH,qBAAa,sBAAsB;IAG/B,OAAO,CAAC,kBAAkB;IAC1B,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,YAAY;IACpB,SAAS,CAAC,eAAe,EAAE,eAAe;IAL5C,OAAO,CAAC,GAAG,CAAS;IACpB,YACU,kBAAkB,EAAE,kBAAkB,EACtC,YAAY,EAAE,YAAY,EAC1B,YAAY,GAAE,YAAiC,EAC7C,eAAe,GAAE,eAAsC,EACjE,QAAQ,CAAC,EAAE,cAAc,EAG1B;IAED;;;;;;;OAOG;IACI,MAAM,CACX,UAAU,EAAE,yBAAyB,EACrC,eAAe,EAAE,eAAe,EAChC,MAAM,EAAE,qBAAqB,EAC7B,WAAW,GAAE,iBAA0F,GACtG,eAAe,CAejB;IAED,SAAS,CAAC,uBAAuB,CAC/B,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,eAAe,EAChC,WAAW,EAAE,iBAAiB,EAC9B,MAAM,CAAC,EAAE,OAAO,CAAC,uBAAuB,CAAC,GACxC,0BAA0B,CAU5B;CACF;AAgBD;;;GAGG;AACH,qBAAa,eAAgB,YAAW,SAAS;IAG7C,SAAS,CAAC,eAAe,EAAE,eAAe;IAC1C,OAAO,CAAC,iBAAiB;IACzB,SAAS,CAAC,WAAW,EAAE,iBAAiB;IACxC,SAAS,CAAC,iBAAiB,EAAE,0BAA0B;IACvD,OAAO,CAAC,YAAY;IAEpB,OAAO,CAAC,GAAG;IACX,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,aAAa;IAVvB,OAAO,CAAC,OAAO,CAAyB;IACxC,YACY,eAAe,EAAE,eAAe,EAClC,iBAAiB,EAAE,2BAA2B,EAC5C,WAAW,EAAE,iBAAiB,EAC9B,iBAAiB,EAAE,0BAA0B,EAC/C,YAAY,EAAE,YAAY,EAClC,eAAe,6BAAwC,EAC/C,GAAG,EAAE,MAAM,EACX,IAAI,GAAE,IAAI,CAAC,eAAe,EAAE,4BAA4B,GAAG,iCAAiC,CAAM,EAClG,aAAa,GAAE,aAAuC,EAG/D;IAED,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED;;;;;;OAMG;IACU,OAAO,CAClB,GAAG,EAAE,QAAQ,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,EAAE,CAAC,EACrC,MAAM,GAAE,qBAA0B,EAClC,SAAS,GAAE,wBAA6B,GACvC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,EAAE,yBAAyB,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,CAuOrF;YAEa,wBAAwB;YAiBxB,SAAS;YAiCT,gCAAgC;YA4BhC,uBAAuB;IAiCrC,OAAO,CAAC,mBAAmB;YA0Bb,gCAAgC;YA0BhC,oBAAoB;YA+BpB,wBAAwB;IAyCtC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,sBAAsB;CAStC"}
|
|
@@ -398,27 +398,32 @@ import { PublicProcessorMetrics } from './public_processor_metrics.js';
|
|
|
398
398
|
* Creates new instances of PublicProcessor given the provided merkle tree db and contract data source.
|
|
399
399
|
*/ export class PublicProcessorFactory {
|
|
400
400
|
contractDataSource;
|
|
401
|
+
avmSimulator;
|
|
401
402
|
dateProvider;
|
|
402
403
|
telemetryClient;
|
|
403
404
|
log;
|
|
404
|
-
constructor(contractDataSource, dateProvider = new DateProvider(), telemetryClient = getTelemetryClient(), bindings){
|
|
405
|
+
constructor(contractDataSource, avmSimulator, dateProvider = new DateProvider(), telemetryClient = getTelemetryClient(), bindings){
|
|
405
406
|
this.contractDataSource = contractDataSource;
|
|
407
|
+
this.avmSimulator = avmSimulator;
|
|
406
408
|
this.dateProvider = dateProvider;
|
|
407
409
|
this.telemetryClient = telemetryClient;
|
|
408
410
|
this.log = createLogger('simulator:public-processor-factory', bindings);
|
|
409
411
|
}
|
|
410
412
|
/**
|
|
411
|
-
* Creates a new instance of a PublicProcessor.
|
|
413
|
+
* Creates a new instance of a PublicProcessor. The simulator it drives reads contract data from the fork's
|
|
414
|
+
* contracts DB, scoped by the fork id so AVM requests route to the right state.
|
|
415
|
+
*
|
|
412
416
|
* @param globalVariables - The global variables for the block being processed.
|
|
413
417
|
* @param contractsDB - Optional pre-populated contracts DB; a fresh one is constructed if omitted.
|
|
414
418
|
* @returns A new instance of a PublicProcessor.
|
|
415
419
|
*/ create(merkleTree, globalVariables, config, contractsDB = new PublicContractsDB(this.contractDataSource, this.log.getBindings())) {
|
|
420
|
+
const forkId = merkleTree.getRevision().forkId;
|
|
416
421
|
const guardedFork = new GuardedMerkleTreeOperations(merkleTree);
|
|
417
|
-
const publicTxSimulator = this.createPublicTxSimulator(
|
|
422
|
+
const publicTxSimulator = this.createPublicTxSimulator(forkId, globalVariables, contractsDB, config);
|
|
418
423
|
return new PublicProcessor(globalVariables, guardedFork, contractsDB, publicTxSimulator, this.dateProvider, this.telemetryClient, createLogger('simulator:public-processor', this.log.getBindings()));
|
|
419
424
|
}
|
|
420
|
-
createPublicTxSimulator(
|
|
421
|
-
return new TelemetryPublicTxSimulator(
|
|
425
|
+
createPublicTxSimulator(forkId, globalVariables, contractsDB, config) {
|
|
426
|
+
return new TelemetryPublicTxSimulator(this.avmSimulator, globalVariables, contractsDB, forkId, this.telemetryClient, config, this.log.getBindings());
|
|
422
427
|
}
|
|
423
428
|
}
|
|
424
429
|
class PublicProcessorTimeoutError extends Error {
|
|
@@ -433,9 +438,6 @@ class PublicProcessorAbortError extends Error {
|
|
|
433
438
|
this.name = 'PublicProcessorAbortError';
|
|
434
439
|
}
|
|
435
440
|
}
|
|
436
|
-
function isPublicProcessorInterruptError(err) {
|
|
437
|
-
return err?.name === 'PublicProcessorTimeoutError' || err?.name === 'PublicProcessorAbortError';
|
|
438
|
-
}
|
|
439
441
|
_dec = trackSpan('PublicProcessor.processTx', (tx)=>({
|
|
440
442
|
[Attributes.TX_HASH]: tx.getTxHash().toString()
|
|
441
443
|
})), _dec1 = trackSpan('PublicProcessor.processPrivateOnlyTx', (tx)=>({
|
|
@@ -632,11 +634,13 @@ _dec = trackSpan('PublicProcessor.processTx', (tx)=>({
|
|
|
632
634
|
// Commit the tx-level contracts checkpoint on success
|
|
633
635
|
this.contractsDB.commitCheckpoint();
|
|
634
636
|
} catch (err) {
|
|
635
|
-
if (
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
//
|
|
639
|
-
// Signal cancellation AND WAIT for the simulation to actually stop
|
|
637
|
+
if (err?.name === 'PublicProcessorTimeoutError' || err?.name === 'PublicProcessorAbortError') {
|
|
638
|
+
this.log.warn(`Stopping tx processing due to ${err.name === 'PublicProcessorTimeoutError' ? 'timeout' : 'abort'}.`);
|
|
639
|
+
// We hit the transaction execution deadline or an external abort signal.
|
|
640
|
+
// There may still be a simulation in progress.
|
|
641
|
+
// Signal cancellation AND WAIT for the simulation to actually stop. Cancellation is
|
|
642
|
+
// cooperative: the simulator may be mid slow-operation and won't observe the flag until it
|
|
643
|
+
// completes, and without waiting we'd revert checkpoints while it's still writing to state.
|
|
640
644
|
await this.publicTxSimulator.cancel?.();
|
|
641
645
|
// Now stop the guarded fork to prevent any further TS-side access to the world state.
|
|
642
646
|
await this.guardedMerkleTree.stop();
|
|
@@ -1,23 +1,17 @@
|
|
|
1
1
|
import type { LoggerBindings } from '@aztec/foundation/log';
|
|
2
|
-
import { type PublicSimulatorConfig, PublicTxResult } from '@aztec/stdlib/avm';
|
|
3
|
-
import type { MerkleTreeWriteOperations } from '@aztec/stdlib/trees';
|
|
2
|
+
import { type PublicSimulatorConfig, type PublicTxResult } from '@aztec/stdlib/avm';
|
|
4
3
|
import type { GlobalVariables, Tx } from '@aztec/stdlib/tx';
|
|
4
|
+
import type { AvmSimulator } from '../avm_simulator.js';
|
|
5
5
|
import type { PublicContractsDB } from '../public_db_sources.js';
|
|
6
6
|
import { PublicTxSimulator } from './public_tx_simulator.js';
|
|
7
7
|
/**
|
|
8
|
-
* A
|
|
9
|
-
* Used during nightly CI runs to collect circuit inputs for
|
|
8
|
+
* A {@link PublicTxSimulator} that dumps AVM circuit inputs to disk after simulation.
|
|
9
|
+
* Used during nightly CI runs to collect circuit inputs for AVM proving benchmarks.
|
|
10
10
|
*/
|
|
11
11
|
export declare class DumpingPublicTxSimulator extends PublicTxSimulator {
|
|
12
12
|
private readonly outputDir;
|
|
13
|
-
constructor(
|
|
13
|
+
constructor(avmSimulator: AvmSimulator, globalVariables: GlobalVariables, contractsDB: PublicContractsDB, forkId: number, config: Partial<PublicSimulatorConfig>, outputDir: string, bindings?: LoggerBindings);
|
|
14
14
|
simulate(tx: Tx): Promise<PublicTxResult>;
|
|
15
|
-
/**
|
|
16
|
-
* Dumps AVM circuit inputs to disk.
|
|
17
|
-
*
|
|
18
|
-
* @param result - The simulation result containing hints and public inputs
|
|
19
|
-
* @param txHash - The transaction hash to use in the filename
|
|
20
|
-
*/
|
|
21
15
|
private dumpAvmCircuitInputs;
|
|
22
16
|
}
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHVtcGluZ19wdWJsaWNfdHhfc2ltdWxhdG9yLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcHVibGljL3B1YmxpY190eF9zaW11bGF0b3IvZHVtcGluZ19wdWJsaWNfdHhfc2ltdWxhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzVELE9BQU8sRUFJTCxLQUFLLHFCQUFxQixFQUMxQixLQUFLLGNBQWMsRUFFcEIsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQixPQUFPLEtBQUssRUFBRSxlQUFlLEVBQUUsRUFBRSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFNNUQsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDeEQsT0FBTyxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUU3RDs7O0dBR0c7QUFDSCxxQkFBYSx3QkFBeUIsU0FBUSxpQkFBaUI7SUFDN0QsT0FBTyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQVM7SUFFbkMsWUFDRSxZQUFZLEVBQUUsWUFBWSxFQUMxQixlQUFlLEVBQUUsZUFBZSxFQUNoQyxXQUFXLEVBQUUsaUJBQWlCLEVBQzlCLE1BQU0sRUFBRSxNQUFNLEVBQ2QsTUFBTSxFQUFFLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxFQUN0QyxTQUFTLEVBQUUsTUFBTSxFQUNqQixRQUFRLENBQUMsRUFBRSxjQUFjLEVBTTFCO0lBRXFCLFFBQVEsQ0FBQyxFQUFFLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FJOUQ7SUFFRCxPQUFPLENBQUMsb0JBQW9CO0NBbUI3QiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dumping_public_tx_simulator.d.ts","sourceRoot":"","sources":["../../../src/public/public_tx_simulator/dumping_public_tx_simulator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAIL,KAAK,qBAAqB,EAC1B,cAAc,
|
|
1
|
+
{"version":3,"file":"dumping_public_tx_simulator.d.ts","sourceRoot":"","sources":["../../../src/public/public_tx_simulator/dumping_public_tx_simulator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAIL,KAAK,qBAAqB,EAC1B,KAAK,cAAc,EAEpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,eAAe,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAM5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D;;;GAGG;AACH,qBAAa,wBAAyB,SAAQ,iBAAiB;IAC7D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IAEnC,YACE,YAAY,EAAE,YAAY,EAC1B,eAAe,EAAE,eAAe,EAChC,WAAW,EAAE,iBAAiB,EAC9B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,OAAO,CAAC,qBAAqB,CAAC,EACtC,SAAS,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE,cAAc,EAM1B;IAEqB,QAAQ,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,cAAc,CAAC,CAI9D;IAED,OAAO,CAAC,oBAAoB;CAmB7B"}
|
|
@@ -4,49 +4,36 @@ import { mkdirSync, writeFileSync } from 'fs';
|
|
|
4
4
|
import { join } from 'path';
|
|
5
5
|
import { PublicTxSimulator } from './public_tx_simulator.js';
|
|
6
6
|
/**
|
|
7
|
-
* A
|
|
8
|
-
* Used during nightly CI runs to collect circuit inputs for
|
|
7
|
+
* A {@link PublicTxSimulator} that dumps AVM circuit inputs to disk after simulation.
|
|
8
|
+
* Used during nightly CI runs to collect circuit inputs for AVM proving benchmarks.
|
|
9
9
|
*/ export class DumpingPublicTxSimulator extends PublicTxSimulator {
|
|
10
10
|
outputDir;
|
|
11
|
-
constructor(
|
|
12
|
-
super(
|
|
11
|
+
constructor(avmSimulator, globalVariables, contractsDB, forkId, config, outputDir, bindings){
|
|
12
|
+
super(avmSimulator, globalVariables, contractsDB, forkId, config, bindings);
|
|
13
13
|
assert(config.collectHints === true, 'collectHints must be enabled to dump AVM circuit inputs');
|
|
14
14
|
assert(config.collectPublicInputs === true, 'collectPublicInputs must be enabled to dump AVM circuit inputs');
|
|
15
15
|
this.outputDir = outputDir;
|
|
16
16
|
}
|
|
17
17
|
async simulate(tx) {
|
|
18
18
|
const result = await super.simulate(tx);
|
|
19
|
-
|
|
20
|
-
const txHash = this.computeTxHash(tx);
|
|
21
|
-
this.dumpAvmCircuitInputs(result, txHash);
|
|
19
|
+
this.dumpAvmCircuitInputs(result, tx.getTxHash().toString());
|
|
22
20
|
return result;
|
|
23
21
|
}
|
|
24
|
-
|
|
25
|
-
* Dumps AVM circuit inputs to disk.
|
|
26
|
-
*
|
|
27
|
-
* @param result - The simulation result containing hints and public inputs
|
|
28
|
-
* @param txHash - The transaction hash to use in the filename
|
|
29
|
-
*/ dumpAvmCircuitInputs(result, txHash) {
|
|
22
|
+
dumpAvmCircuitInputs(result, txHash) {
|
|
30
23
|
try {
|
|
31
|
-
// Ensure the output directory exists
|
|
32
24
|
mkdirSync(this.outputDir, {
|
|
33
25
|
recursive: true
|
|
34
26
|
});
|
|
35
|
-
|
|
36
|
-
const filename = `avm-circuit-inputs-tx-${txHash.toString()}.bin`;
|
|
27
|
+
const filename = `avm-circuit-inputs-tx-${txHash}.bin`;
|
|
37
28
|
const filepath = join(this.outputDir, filename);
|
|
38
|
-
// Create circuit inputs from the result
|
|
39
29
|
const hints = result.hints ?? AvmExecutionHints.empty();
|
|
40
30
|
const publicInputs = result.publicInputs ?? AvmCircuitPublicInputs.empty();
|
|
41
31
|
const avmCircuitInputs = new AvmCircuitInputs(hints, publicInputs);
|
|
42
|
-
// Serialize the circuit inputs using MessagePack
|
|
43
32
|
const serialized = serializeWithMessagePack(avmCircuitInputs);
|
|
44
|
-
// Write to disk
|
|
45
33
|
writeFileSync(filepath, serialized);
|
|
46
34
|
this.log.debug(`Dumped AVM circuit inputs to ${filepath}`);
|
|
47
35
|
} catch (error) {
|
|
48
|
-
|
|
49
|
-
this.log.warn(`Failed to dump AVM circuit inputs for tx ${txHash.toString()}: ${error}`);
|
|
36
|
+
this.log.warn(`Failed to dump AVM circuit inputs for tx ${txHash}: ${error}`);
|
|
50
37
|
}
|
|
51
38
|
}
|
|
52
39
|
}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import type { LoggerBindings } from '@aztec/foundation/log';
|
|
2
|
-
import type { MerkleTreeWriteOperations } from '@aztec/stdlib/trees';
|
|
3
2
|
import type { GlobalVariables } from '@aztec/stdlib/tx';
|
|
4
3
|
import type { TelemetryClient } from '@aztec/telemetry-client';
|
|
4
|
+
import type { AvmSimulator } from '../avm_simulator.js';
|
|
5
5
|
import type { PublicContractsDB } from '../public_db_sources.js';
|
|
6
6
|
import { DumpingPublicTxSimulator } from './dumping_public_tx_simulator.js';
|
|
7
7
|
import { TelemetryPublicTxSimulator } from './public_tx_simulator.js';
|
|
8
8
|
/**
|
|
9
|
-
* Creates
|
|
10
|
-
* Uses DumpingPublicTxSimulator if DUMP_AVM_INPUTS_TO_DIR env var is set (for CI/testing
|
|
9
|
+
* Creates an IPC-based public tx simulator for block building.
|
|
10
|
+
* Uses DumpingPublicTxSimulator if DUMP_AVM_INPUTS_TO_DIR env var is set (for CI/testing the AVM circuit),
|
|
11
11
|
* otherwise uses TelemetryPublicTxSimulator (for production).
|
|
12
12
|
*/
|
|
13
|
-
export declare function createPublicTxSimulatorForBlockBuilding(
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
13
|
+
export declare function createPublicTxSimulatorForBlockBuilding(avmSimulator: AvmSimulator, globalVariables: GlobalVariables, contractsDB: PublicContractsDB, forkId: number, telemetryClient: TelemetryClient, bindings?: LoggerBindings, collectDebugLogs?: boolean): DumpingPublicTxSimulator | TelemetryPublicTxSimulator;
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdG9yaWVzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcHVibGljL3B1YmxpY190eF9zaW11bGF0b3IvZmFjdG9yaWVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRTVELE9BQU8sS0FBSyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3hELE9BQU8sS0FBSyxFQUFFLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRS9ELE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3hELE9BQU8sS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDakUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDNUUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFdEU7Ozs7R0FJRztBQUNILHdCQUFnQix1Q0FBdUMsQ0FDckQsWUFBWSxFQUFFLFlBQVksRUFDMUIsZUFBZSxFQUFFLGVBQWUsRUFDaEMsV0FBVyxFQUFFLGlCQUFpQixFQUM5QixNQUFNLEVBQUUsTUFBTSxFQUNkLGVBQWUsRUFBRSxlQUFlLEVBQ2hDLFFBQVEsQ0FBQyxFQUFFLGNBQWMsRUFDekIsZ0JBQWdCLFVBQVEseURBc0N6QiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factories.d.ts","sourceRoot":"","sources":["../../../src/public/public_tx_simulator/factories.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"factories.d.ts","sourceRoot":"","sources":["../../../src/public/public_tx_simulator/factories.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAEtE;;;;GAIG;AACH,wBAAgB,uCAAuC,CACrD,YAAY,EAAE,YAAY,EAC1B,eAAe,EAAE,eAAe,EAChC,WAAW,EAAE,iBAAiB,EAC9B,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,eAAe,EAChC,QAAQ,CAAC,EAAE,cAAc,EACzB,gBAAgB,UAAQ,yDAsCzB"}
|
|
@@ -2,10 +2,10 @@ import { PublicSimulatorConfig } from '@aztec/stdlib/avm';
|
|
|
2
2
|
import { DumpingPublicTxSimulator } from './dumping_public_tx_simulator.js';
|
|
3
3
|
import { TelemetryPublicTxSimulator } from './public_tx_simulator.js';
|
|
4
4
|
/**
|
|
5
|
-
* Creates
|
|
6
|
-
* Uses DumpingPublicTxSimulator if DUMP_AVM_INPUTS_TO_DIR env var is set (for CI/testing
|
|
5
|
+
* Creates an IPC-based public tx simulator for block building.
|
|
6
|
+
* Uses DumpingPublicTxSimulator if DUMP_AVM_INPUTS_TO_DIR env var is set (for CI/testing the AVM circuit),
|
|
7
7
|
* otherwise uses TelemetryPublicTxSimulator (for production).
|
|
8
|
-
*/ export function createPublicTxSimulatorForBlockBuilding(
|
|
8
|
+
*/ export function createPublicTxSimulatorForBlockBuilding(avmSimulator, globalVariables, contractsDB, forkId, telemetryClient, bindings, collectDebugLogs = false) {
|
|
9
9
|
const config = PublicSimulatorConfig.from({
|
|
10
10
|
skipFeeEnforcement: false,
|
|
11
11
|
collectDebugLogs,
|
|
@@ -22,7 +22,7 @@ import { TelemetryPublicTxSimulator } from './public_tx_simulator.js';
|
|
|
22
22
|
collectHints: true,
|
|
23
23
|
collectPublicInputs: true
|
|
24
24
|
};
|
|
25
|
-
return new DumpingPublicTxSimulator(
|
|
25
|
+
return new DumpingPublicTxSimulator(avmSimulator, globalVariables, contractsDB, forkId, dumpingConfig, dumpDir, bindings);
|
|
26
26
|
}
|
|
27
|
-
return new TelemetryPublicTxSimulator(
|
|
27
|
+
return new TelemetryPublicTxSimulator(avmSimulator, globalVariables, contractsDB, forkId, telemetryClient, config, bindings);
|
|
28
28
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export { PublicTxSimulator, TelemetryPublicTxSimulator } from './public_tx_simulator.js';
|
|
1
|
+
export { PublicTxSimulator, MeasuredPublicTxSimulator, TelemetryPublicTxSimulator } from './public_tx_simulator.js';
|
|
2
2
|
export { DumpingPublicTxSimulator } from './dumping_public_tx_simulator.js';
|
|
3
3
|
export { createPublicTxSimulatorForBlockBuilding } from './factories.js';
|
|
4
|
-
export type { PublicTxSimulatorInterface } from './public_tx_simulator_interface.js';
|
|
4
|
+
export type { PublicTxSimulatorInterface, MeasuredPublicTxSimulatorInterface, } from './public_tx_simulator_interface.js';
|
|
5
5
|
export type { PublicTxResult, PublicSimulatorConfig as PublicTxSimulatorConfig } from '@aztec/stdlib/avm';
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wdWJsaWMvcHVibGljX3R4X3NpbXVsYXRvci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUseUJBQXlCLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNwSCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUsdUNBQXVDLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RSxZQUFZLEVBQ1YsMEJBQTBCLEVBQzFCLGtDQUFrQyxHQUNuQyxNQUFNLG9DQUFvQyxDQUFDO0FBQzVDLFlBQVksRUFBRSxjQUFjLEVBQUUscUJBQXFCLElBQUksdUJBQXVCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQyJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/public/public_tx_simulator/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/public/public_tx_simulator/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AACpH,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,uCAAuC,EAAE,MAAM,gBAAgB,CAAC;AACzE,YAAY,EACV,0BAA0B,EAC1B,kCAAkC,GACnC,MAAM,oCAAoC,CAAC;AAC5C,YAAY,EAAE,cAAc,EAAE,qBAAqB,IAAI,uBAAuB,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { PublicTxSimulator, TelemetryPublicTxSimulator } from './public_tx_simulator.js';
|
|
1
|
+
export { PublicTxSimulator, MeasuredPublicTxSimulator, TelemetryPublicTxSimulator } from './public_tx_simulator.js';
|
|
2
2
|
export { DumpingPublicTxSimulator } from './dumping_public_tx_simulator.js';
|
|
3
3
|
export { createPublicTxSimulatorForBlockBuilding } from './factories.js';
|
|
@@ -1,53 +1,53 @@
|
|
|
1
1
|
import { type Logger, type LoggerBindings } from '@aztec/foundation/log';
|
|
2
2
|
import { type PublicSimulatorConfig, PublicTxResult } from '@aztec/stdlib/avm';
|
|
3
|
-
import type { MerkleTreeWriteOperations } from '@aztec/stdlib/trees';
|
|
4
3
|
import type { GlobalVariables, Tx } from '@aztec/stdlib/tx';
|
|
5
4
|
import { type TelemetryClient, type Tracer } from '@aztec/telemetry-client';
|
|
5
|
+
import type { AvmSimulator } from '../avm_simulator.js';
|
|
6
6
|
import type { ExecutorMetricsInterface } from '../executor_metrics_interface.js';
|
|
7
7
|
import type { PublicContractsDB } from '../public_db_sources.js';
|
|
8
8
|
import { PublicTxSimulatorBase } from './public_tx_simulator_base.js';
|
|
9
9
|
import type { MeasuredPublicTxSimulatorInterface, PublicTxSimulatorInterface } from './public_tx_simulator_interface.js';
|
|
10
10
|
/**
|
|
11
|
-
* Simulates a transaction's public portion
|
|
12
|
-
*
|
|
13
|
-
* For contract DB accesses, it makes callbacks through NAPI back to the TS PublicContractsDB cache.
|
|
11
|
+
* Simulates a transaction's public portion by running its public calls through an {@link AvmSimulator}.
|
|
12
|
+
* `forkId` selects the fork whose contract data the simulation reads.
|
|
14
13
|
*/
|
|
15
14
|
export declare class PublicTxSimulator extends PublicTxSimulatorBase implements PublicTxSimulatorInterface {
|
|
16
15
|
protected log: Logger;
|
|
17
|
-
/**
|
|
18
|
-
private
|
|
16
|
+
/** Aborts the in-flight simulation. */
|
|
17
|
+
private abortController?;
|
|
19
18
|
/** Current simulation promise, used to wait for completion after cancellation. */
|
|
20
19
|
private simulationPromise?;
|
|
21
|
-
constructor(
|
|
20
|
+
constructor(avmSimulator: AvmSimulator, globalVariables: GlobalVariables, contractsDB: PublicContractsDB, forkId: number, config?: Partial<PublicSimulatorConfig>, bindings?: LoggerBindings);
|
|
22
21
|
/**
|
|
23
|
-
* Simulate a transaction's public portion
|
|
22
|
+
* Simulate a transaction's public portion.
|
|
24
23
|
*
|
|
25
24
|
* @param tx - The transaction to simulate.
|
|
26
25
|
* @returns The result of the transaction's public execution.
|
|
27
26
|
*/
|
|
28
27
|
simulate(tx: Tx): Promise<PublicTxResult>;
|
|
28
|
+
protected doSimulate(tx: Tx, signal: AbortSignal): Promise<PublicTxResult>;
|
|
29
29
|
/**
|
|
30
30
|
* Cancel the current simulation if one is in progress.
|
|
31
|
-
* This signals the
|
|
32
|
-
* Safe to call even if no simulation is in progress.
|
|
31
|
+
* This signals the underlying simulator to stop at the next safe point (between opcodes, before a
|
|
32
|
+
* world-state write). Safe to call even if no simulation is in progress.
|
|
33
33
|
*
|
|
34
34
|
* @param waitTimeoutMs - If provided, wait up to this many ms for the simulation to actually stop.
|
|
35
|
-
*
|
|
36
|
-
*
|
|
35
|
+
* Cancellation is cooperative: the simulator may be mid slow-operation and
|
|
36
|
+
* won't observe the cancellation until it completes.
|
|
37
37
|
* Default timeout of 100ms after cancellation.
|
|
38
38
|
*/
|
|
39
39
|
cancel(waitTimeoutMs?: number): Promise<void>;
|
|
40
40
|
}
|
|
41
41
|
export declare class MeasuredPublicTxSimulator extends PublicTxSimulator implements MeasuredPublicTxSimulatorInterface {
|
|
42
42
|
protected readonly metrics: ExecutorMetricsInterface;
|
|
43
|
-
constructor(
|
|
43
|
+
constructor(avmSimulator: AvmSimulator, globalVariables: GlobalVariables, contractsDB: PublicContractsDB, forkId: number, metrics: ExecutorMetricsInterface, config?: Partial<PublicSimulatorConfig>, bindings?: LoggerBindings);
|
|
44
44
|
simulate(tx: Tx, txLabel?: string): Promise<PublicTxResult>;
|
|
45
45
|
}
|
|
46
46
|
/**
|
|
47
|
-
* A
|
|
47
|
+
* A public tx simulator that tracks runtime/production metrics with telemetry.
|
|
48
48
|
*/
|
|
49
49
|
export declare class TelemetryPublicTxSimulator extends MeasuredPublicTxSimulator {
|
|
50
50
|
readonly tracer: Tracer;
|
|
51
|
-
constructor(
|
|
51
|
+
constructor(avmSimulator: AvmSimulator, globalVariables: GlobalVariables, contractsDB: PublicContractsDB, forkId: number, telemetryClient?: TelemetryClient, config?: Partial<PublicSimulatorConfig>, bindings?: LoggerBindings);
|
|
52
52
|
}
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX3R4X3NpbXVsYXRvci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3B1YmxpYy9wdWJsaWNfdHhfc2ltdWxhdG9yL3B1YmxpY190eF9zaW11bGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssTUFBTSxFQUFFLEtBQUssY0FBYyxFQUFnQixNQUFNLHVCQUF1QixDQUFDO0FBRXZGLE9BQU8sRUFHTCxLQUFLLHFCQUFxQixFQUMxQixjQUFjLEVBRWYsTUFBTSxtQkFBbUIsQ0FBQztBQUUzQixPQUFPLEtBQUssRUFBRSxlQUFlLEVBQUUsRUFBRSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFNUQsT0FBTyxFQUFFLEtBQUssZUFBZSxFQUFFLEtBQUssTUFBTSxFQUFzQixNQUFNLHlCQUF5QixDQUFDO0FBRWhHLE9BQU8sS0FBSyxFQUF5QixZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUUvRSxPQUFPLEtBQUssRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2pGLE9BQU8sS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDakUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDdEUsT0FBTyxLQUFLLEVBQ1Ysa0NBQWtDLEVBQ2xDLDBCQUEwQixFQUMzQixNQUFNLG9DQUFvQyxDQUFDO0FBRTVDOzs7R0FHRztBQUNILHFCQUFhLGlCQUFrQixTQUFRLHFCQUFzQixZQUFXLDBCQUEwQjtJQUNoRyxVQUFtQixHQUFHLEVBQUUsTUFBTSxDQUFDO0lBQy9CLHVDQUF1QztJQUN2QyxPQUFPLENBQUMsZUFBZSxDQUFDLENBQWtCO0lBQzFDLGtGQUFrRjtJQUNsRixPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FBMEI7SUFFcEQsWUFDRSxZQUFZLEVBQUUsWUFBWSxFQUMxQixlQUFlLEVBQUUsZUFBZSxFQUNoQyxXQUFXLEVBQUUsaUJBQWlCLEVBQzlCLE1BQU0sRUFBRSxNQUFNLEVBQ2QsTUFBTSxDQUFDLEVBQUUsT0FBTyxDQUFDLHFCQUFxQixDQUFDLEVBQ3ZDLFFBQVEsQ0FBQyxFQUFFLGNBQWMsRUFJMUI7SUFFRDs7Ozs7T0FLRztJQUNVLFFBQVEsQ0FBQyxFQUFFLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FTckQ7SUFFRCxVQUFnQixVQUFVLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsV0FBVyxHQUFHLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FtRC9FO0lBRUQ7Ozs7Ozs7OztPQVNHO0lBQ1UsTUFBTSxDQUFDLGFBQWEsR0FBRSxNQUFZLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQWM5RDtDQUNGO0FBRUQscUJBQWEseUJBQTBCLFNBQVEsaUJBQWtCLFlBQVcsa0NBQWtDO0lBTTFHLFNBQVMsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLHdCQUF3QjtJQUx0RCxZQUNFLFlBQVksRUFBRSxZQUFZLEVBQzFCLGVBQWUsRUFBRSxlQUFlLEVBQ2hDLFdBQVcsRUFBRSxpQkFBaUIsRUFDOUIsTUFBTSxFQUFFLE1BQU0sRUFDSyxPQUFPLEVBQUUsd0JBQXdCLEVBQ3BELE1BQU0sQ0FBQyxFQUFFLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxFQUN2QyxRQUFRLENBQUMsRUFBRSxjQUFjLEVBRzFCO0lBRXFCLFFBQVEsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLE9BQU8sR0FBRSxNQUFzQixHQUFHLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FTL0Y7Q0FDRjtBQUVEOztHQUVHO0FBQ0gscUJBQWEsMEJBQTJCLFNBQVEseUJBQXlCO0lBRXZFLFNBQWdCLE1BQU0sRUFBRSxNQUFNLENBQUM7SUFFL0IsWUFDRSxZQUFZLEVBQUUsWUFBWSxFQUMxQixlQUFlLEVBQUUsZUFBZSxFQUNoQyxXQUFXLEVBQUUsaUJBQWlCLEVBQzlCLE1BQU0sRUFBRSxNQUFNLEVBQ2QsZUFBZSxHQUFFLGVBQXNDLEVBQ3ZELE1BQU0sQ0FBQyxFQUFFLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxFQUN2QyxRQUFRLENBQUMsRUFBRSxjQUFjLEVBSzFCO0NBQ0YifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"public_tx_simulator.d.ts","sourceRoot":"","sources":["../../../src/public/public_tx_simulator/public_tx_simulator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,cAAc,EAAgB,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"public_tx_simulator.d.ts","sourceRoot":"","sources":["../../../src/public/public_tx_simulator/public_tx_simulator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,cAAc,EAAgB,MAAM,uBAAuB,CAAC;AAEvF,OAAO,EAGL,KAAK,qBAAqB,EAC1B,cAAc,EAEf,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,eAAe,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAE5D,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,MAAM,EAAsB,MAAM,yBAAyB,CAAC;AAEhG,OAAO,KAAK,EAAyB,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAE/E,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AACjF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,KAAK,EACV,kCAAkC,EAClC,0BAA0B,EAC3B,MAAM,oCAAoC,CAAC;AAE5C;;;GAGG;AACH,qBAAa,iBAAkB,SAAQ,qBAAsB,YAAW,0BAA0B;IAChG,UAAmB,GAAG,EAAE,MAAM,CAAC;IAC/B,uCAAuC;IACvC,OAAO,CAAC,eAAe,CAAC,CAAkB;IAC1C,kFAAkF;IAClF,OAAO,CAAC,iBAAiB,CAAC,CAA0B;IAEpD,YACE,YAAY,EAAE,YAAY,EAC1B,eAAe,EAAE,eAAe,EAChC,WAAW,EAAE,iBAAiB,EAC9B,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,EACvC,QAAQ,CAAC,EAAE,cAAc,EAI1B;IAED;;;;;OAKG;IACU,QAAQ,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,cAAc,CAAC,CASrD;IAED,UAAgB,UAAU,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,cAAc,CAAC,CAmD/E;IAED;;;;;;;;;OASG;IACU,MAAM,CAAC,aAAa,GAAE,MAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAc9D;CACF;AAED,qBAAa,yBAA0B,SAAQ,iBAAkB,YAAW,kCAAkC;IAM1G,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,wBAAwB;IALtD,YACE,YAAY,EAAE,YAAY,EAC1B,eAAe,EAAE,eAAe,EAChC,WAAW,EAAE,iBAAiB,EAC9B,MAAM,EAAE,MAAM,EACK,OAAO,EAAE,wBAAwB,EACpD,MAAM,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,EACvC,QAAQ,CAAC,EAAE,cAAc,EAG1B;IAEqB,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,OAAO,GAAE,MAAsB,GAAG,OAAO,CAAC,cAAc,CAAC,CAS/F;CACF;AAED;;GAEG;AACH,qBAAa,0BAA2B,SAAQ,yBAAyB;IAEvE,SAAgB,MAAM,EAAE,MAAM,CAAC;IAE/B,YACE,YAAY,EAAE,YAAY,EAC1B,eAAe,EAAE,eAAe,EAChC,WAAW,EAAE,iBAAiB,EAC9B,MAAM,EAAE,MAAM,EACd,eAAe,GAAE,eAAsC,EACvD,MAAM,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,EACvC,QAAQ,CAAC,EAAE,cAAc,EAK1B;CACF"}
|