@aztec/simulator 0.55.1 → 0.57.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.
- package/dest/acvm/oracle/oracle.d.ts +2 -5
- package/dest/acvm/oracle/oracle.d.ts.map +1 -1
- package/dest/acvm/oracle/oracle.js +6 -37
- package/dest/acvm/oracle/typed_oracle.d.ts +3 -6
- package/dest/acvm/oracle/typed_oracle.d.ts.map +1 -1
- package/dest/acvm/oracle/typed_oracle.js +1 -10
- package/dest/avm/avm_execution_environment.d.ts +2 -11
- package/dest/avm/avm_execution_environment.d.ts.map +1 -1
- package/dest/avm/avm_execution_environment.js +3 -22
- package/dest/avm/avm_gas.d.ts +2 -2
- package/dest/avm/avm_gas.d.ts.map +1 -1
- package/dest/avm/avm_gas.js +31 -116
- package/dest/avm/avm_machine_state.d.ts.map +1 -1
- package/dest/avm/avm_machine_state.js +6 -6
- package/dest/avm/avm_memory_types.d.ts +38 -9
- package/dest/avm/avm_memory_types.d.ts.map +1 -1
- package/dest/avm/avm_memory_types.js +27 -13
- package/dest/avm/avm_simulator.d.ts.map +1 -1
- package/dest/avm/avm_simulator.js +5 -6
- package/dest/avm/bytecode_utils.d.ts +1 -2
- package/dest/avm/bytecode_utils.d.ts.map +1 -1
- package/dest/avm/bytecode_utils.js +3 -17
- package/dest/avm/errors.d.ts +1 -1
- package/dest/avm/errors.d.ts.map +1 -1
- package/dest/avm/errors.js +12 -3
- package/dest/avm/fixtures/index.d.ts +4 -16
- package/dest/avm/fixtures/index.d.ts.map +1 -1
- package/dest/avm/fixtures/index.js +11 -27
- package/dest/avm/journal/index.d.ts +0 -1
- package/dest/avm/journal/index.d.ts.map +1 -1
- package/dest/avm/journal/index.js +1 -2
- package/dest/avm/journal/journal.d.ts +6 -5
- package/dest/avm/journal/journal.d.ts.map +1 -1
- package/dest/avm/journal/journal.js +18 -16
- package/dest/avm/opcodes/accrued_substate.d.ts.map +1 -1
- package/dest/avm/opcodes/accrued_substate.js +37 -30
- package/dest/avm/opcodes/addressing_mode.d.ts +3 -2
- package/dest/avm/opcodes/addressing_mode.d.ts.map +1 -1
- package/dest/avm/opcodes/addressing_mode.js +25 -21
- package/dest/avm/opcodes/arithmetic.d.ts.map +1 -1
- package/dest/avm/opcodes/arithmetic.js +6 -5
- package/dest/avm/opcodes/bitwise.d.ts +10 -4
- package/dest/avm/opcodes/bitwise.d.ts.map +1 -1
- package/dest/avm/opcodes/bitwise.js +26 -18
- package/dest/avm/opcodes/commitment.d.ts.map +1 -1
- package/dest/avm/opcodes/commitment.js +6 -5
- package/dest/avm/opcodes/comparators.d.ts.map +1 -1
- package/dest/avm/opcodes/comparators.js +8 -7
- package/dest/avm/opcodes/contract.d.ts.map +1 -1
- package/dest/avm/opcodes/contract.js +6 -5
- package/dest/avm/opcodes/control_flow.js +6 -6
- package/dest/avm/opcodes/conversion.d.ts +3 -2
- package/dest/avm/opcodes/conversion.d.ts.map +1 -1
- package/dest/avm/opcodes/conversion.js +21 -13
- package/dest/avm/opcodes/ec_add.d.ts.map +1 -1
- package/dest/avm/opcodes/ec_add.js +8 -7
- package/dest/avm/opcodes/environment_getters.d.ts +27 -63
- package/dest/avm/opcodes/environment_getters.d.ts.map +1 -1
- package/dest/avm/opcodes/environment_getters.js +76 -80
- package/dest/avm/opcodes/external_calls.d.ts.map +1 -1
- package/dest/avm/opcodes/external_calls.js +27 -16
- package/dest/avm/opcodes/hashing.d.ts +5 -5
- package/dest/avm/opcodes/hashing.d.ts.map +1 -1
- package/dest/avm/opcodes/hashing.js +47 -40
- package/dest/avm/opcodes/index.d.ts +3 -0
- package/dest/avm/opcodes/index.d.ts.map +1 -1
- package/dest/avm/opcodes/index.js +4 -1
- package/dest/avm/opcodes/instruction.d.ts +2 -6
- package/dest/avm/opcodes/instruction.d.ts.map +1 -1
- package/dest/avm/opcodes/instruction.js +3 -9
- package/dest/avm/opcodes/instruction_impl.d.ts +0 -26
- package/dest/avm/opcodes/instruction_impl.d.ts.map +1 -1
- package/dest/avm/opcodes/instruction_impl.js +1 -51
- package/dest/avm/opcodes/memory.d.ts +5 -12
- package/dest/avm/opcodes/memory.d.ts.map +1 -1
- package/dest/avm/opcodes/memory.js +40 -53
- package/dest/avm/opcodes/misc.d.ts.map +1 -1
- package/dest/avm/opcodes/misc.js +6 -5
- package/dest/avm/opcodes/multi_scalar_mul.d.ts.map +1 -1
- package/dest/avm/opcodes/multi_scalar_mul.js +17 -16
- package/dest/avm/opcodes/storage.d.ts.map +1 -1
- package/dest/avm/opcodes/storage.js +11 -9
- package/dest/avm/serialization/bytecode_serialization.d.ts.map +1 -1
- package/dest/avm/serialization/bytecode_serialization.js +5 -25
- package/dest/avm/serialization/instruction_serialization.d.ts +40 -54
- package/dest/avm/serialization/instruction_serialization.d.ts.map +1 -1
- package/dest/avm/serialization/instruction_serialization.js +41 -57
- package/dest/avm/test_utils.d.ts +8 -8
- package/dest/avm/test_utils.d.ts.map +1 -1
- package/dest/avm/test_utils.js +15 -15
- package/dest/client/client_execution_context.d.ts +6 -30
- package/dest/client/client_execution_context.d.ts.map +1 -1
- package/dest/client/client_execution_context.js +31 -53
- package/dest/client/index.d.ts +0 -1
- package/dest/client/index.d.ts.map +1 -1
- package/dest/client/index.js +1 -2
- package/dest/client/private_execution.d.ts +2 -2
- package/dest/client/private_execution.d.ts.map +1 -1
- package/dest/client/private_execution.js +5 -19
- package/dest/client/simulator.d.ts +3 -4
- package/dest/client/simulator.d.ts.map +1 -1
- package/dest/client/simulator.js +1 -1
- package/dest/client/test_utils.d.ts.map +1 -1
- package/dest/client/test_utils.js +12 -6
- package/dest/client/unconstrained_execution.d.ts +2 -2
- package/dest/client/unconstrained_execution.d.ts.map +1 -1
- package/dest/client/unconstrained_execution.js +3 -3
- package/dest/common/debug_fn_name.d.ts +4 -0
- package/dest/common/debug_fn_name.d.ts.map +1 -0
- package/dest/common/debug_fn_name.js +15 -0
- package/dest/common/index.d.ts +0 -1
- package/dest/common/index.d.ts.map +1 -1
- package/dest/common/index.js +1 -2
- package/dest/public/enqueued_call_simulator.d.ts +43 -0
- package/dest/public/enqueued_call_simulator.d.ts.map +1 -0
- package/dest/public/enqueued_call_simulator.js +154 -0
- package/dest/public/enqueued_calls_processor.d.ts +44 -0
- package/dest/public/enqueued_calls_processor.d.ts.map +1 -0
- package/dest/public/enqueued_calls_processor.js +218 -0
- package/dest/public/execution.d.ts +10 -8
- package/dest/public/execution.d.ts.map +1 -1
- package/dest/public/execution.js +15 -8
- package/dest/public/executor.d.ts +4 -7
- package/dest/public/executor.d.ts.map +1 -1
- package/dest/public/executor.js +10 -14
- package/dest/public/hints_builder.d.ts +4 -3
- package/dest/public/hints_builder.d.ts.map +1 -1
- package/dest/public/hints_builder.js +5 -5
- package/dest/public/index.d.ts +3 -2
- package/dest/public/index.d.ts.map +1 -1
- package/dest/public/index.js +3 -3
- package/dest/public/public_db_sources.d.ts +17 -24
- package/dest/public/public_db_sources.d.ts.map +1 -1
- package/dest/public/public_db_sources.js +58 -65
- package/dest/public/public_kernel.d.ts +3 -9
- package/dest/public/public_kernel.d.ts.map +1 -1
- package/dest/public/public_kernel.js +13 -40
- package/dest/public/public_kernel_circuit_simulator.d.ts +5 -11
- package/dest/public/public_kernel_circuit_simulator.d.ts.map +1 -1
- package/dest/public/public_kernel_tail_simulator.d.ts +19 -0
- package/dest/public/public_kernel_tail_simulator.d.ts.map +1 -0
- package/dest/public/public_kernel_tail_simulator.js +45 -0
- package/dest/public/public_processor.d.ts +9 -5
- package/dest/public/public_processor.d.ts.map +1 -1
- package/dest/public/public_processor.js +34 -48
- package/dest/public/public_processor_metrics.d.ts +3 -3
- package/dest/public/public_processor_metrics.d.ts.map +1 -1
- package/dest/public/public_processor_metrics.js +1 -1
- package/dest/public/side_effect_errors.d.ts +4 -0
- package/dest/public/side_effect_errors.d.ts.map +1 -0
- package/dest/public/side_effect_errors.js +7 -0
- package/dest/public/side_effect_trace.d.ts +2 -2
- package/dest/public/side_effect_trace.d.ts.map +1 -1
- package/dest/public/side_effect_trace.js +56 -35
- package/dest/public/side_effect_trace_interface.d.ts +1 -1
- package/dest/public/side_effect_trace_interface.d.ts.map +1 -1
- package/package.json +12 -9
- package/src/acvm/oracle/oracle.ts +7 -85
- package/src/acvm/oracle/typed_oracle.ts +2 -31
- package/src/avm/avm_execution_environment.ts +2 -24
- package/src/avm/avm_gas.ts +30 -115
- package/src/avm/avm_machine_state.ts +5 -5
- package/src/avm/avm_memory_types.ts +41 -14
- package/src/avm/avm_simulator.ts +4 -5
- package/src/avm/bytecode_utils.ts +2 -17
- package/src/avm/errors.ts +11 -3
- package/src/avm/fixtures/index.ts +13 -46
- package/src/avm/journal/index.ts +0 -1
- package/src/avm/journal/journal.ts +22 -22
- package/src/avm/opcodes/accrued_substate.ts +36 -44
- package/src/avm/opcodes/addressing_mode.ts +27 -24
- package/src/avm/opcodes/arithmetic.ts +5 -7
- package/src/avm/opcodes/bitwise.ts +23 -20
- package/src/avm/opcodes/commitment.ts +6 -7
- package/src/avm/opcodes/comparators.ts +7 -9
- package/src/avm/opcodes/contract.ts +5 -7
- package/src/avm/opcodes/control_flow.ts +5 -5
- package/src/avm/opcodes/conversion.ts +19 -12
- package/src/avm/opcodes/ec_add.ts +14 -16
- package/src/avm/opcodes/environment_getters.ts +73 -99
- package/src/avm/opcodes/external_calls.ts +27 -20
- package/src/avm/opcodes/hashing.ts +52 -52
- package/src/avm/opcodes/index.ts +3 -0
- package/src/avm/opcodes/instruction.ts +3 -10
- package/src/avm/opcodes/instruction_impl.ts +0 -62
- package/src/avm/opcodes/memory.ts +37 -67
- package/src/avm/opcodes/misc.ts +5 -7
- package/src/avm/opcodes/multi_scalar_mul.ts +16 -19
- package/src/avm/opcodes/storage.ts +10 -8
- package/src/avm/serialization/bytecode_serialization.ts +11 -35
- package/src/avm/serialization/instruction_serialization.ts +3 -19
- package/src/avm/test_utils.ts +20 -16
- package/src/client/client_execution_context.ts +40 -96
- package/src/client/index.ts +0 -1
- package/src/client/private_execution.ts +9 -9
- package/src/client/simulator.ts +2 -3
- package/src/client/test_utils.ts +36 -9
- package/src/client/unconstrained_execution.ts +3 -8
- package/src/common/debug_fn_name.ts +22 -0
- package/src/common/index.ts +0 -1
- package/src/public/enqueued_call_simulator.ts +335 -0
- package/src/public/enqueued_calls_processor.ts +388 -0
- package/src/public/execution.ts +16 -12
- package/src/public/executor.ts +8 -22
- package/src/public/hints_builder.ts +21 -21
- package/src/public/index.ts +3 -2
- package/src/public/public_db_sources.ts +62 -67
- package/src/public/public_kernel.ts +15 -49
- package/src/public/public_kernel_circuit_simulator.ts +6 -10
- package/src/public/public_kernel_tail_simulator.ts +106 -0
- package/src/public/public_processor.ts +65 -86
- package/src/public/public_processor_metrics.ts +3 -3
- package/src/public/side_effect_errors.ts +6 -0
- package/src/public/side_effect_trace.ts +77 -39
- package/src/public/side_effect_trace_interface.ts +2 -2
- package/dest/avm/journal/host_storage.d.ts +0 -13
- package/dest/avm/journal/host_storage.d.ts.map +0 -1
- package/dest/avm/journal/host_storage.js +0 -13
- package/dest/avm/opcodes/context_getters.d.ts +0 -15
- package/dest/avm/opcodes/context_getters.d.ts.map +0 -1
- package/dest/avm/opcodes/context_getters.js +0 -19
- package/dest/client/execution_result.d.ts +0 -104
- package/dest/client/execution_result.d.ts.map +0 -1
- package/dest/client/execution_result.js +0 -136
- package/dest/common/return_values.d.ts +0 -11
- package/dest/common/return_values.d.ts.map +0 -1
- package/dest/common/return_values.js +0 -13
- package/dest/public/abstract_phase_manager.d.ts +0 -93
- package/dest/public/abstract_phase_manager.d.ts.map +0 -1
- package/dest/public/abstract_phase_manager.js +0 -285
- package/dest/public/app_logic_phase_manager.d.ts +0 -25
- package/dest/public/app_logic_phase_manager.d.ts.map +0 -1
- package/dest/public/app_logic_phase_manager.js +0 -52
- package/dest/public/phase_manager_factory.d.ts +0 -18
- package/dest/public/phase_manager_factory.d.ts.map +0 -1
- package/dest/public/phase_manager_factory.js +0 -56
- package/dest/public/setup_phase_manager.d.ts +0 -25
- package/dest/public/setup_phase_manager.d.ts.map +0 -1
- package/dest/public/setup_phase_manager.js +0 -39
- package/dest/public/tail_phase_manager.d.ts +0 -23
- package/dest/public/tail_phase_manager.d.ts.map +0 -1
- package/dest/public/tail_phase_manager.js +0 -50
- package/dest/public/teardown_phase_manager.d.ts +0 -27
- package/dest/public/teardown_phase_manager.d.ts.map +0 -1
- package/dest/public/teardown_phase_manager.js +0 -56
- package/src/avm/journal/host_storage.ts +0 -14
- package/src/avm/opcodes/context_getters.ts +0 -23
- package/src/client/execution_result.ts +0 -228
- package/src/common/return_values.ts +0 -18
- package/src/public/abstract_phase_manager.ts +0 -522
- package/src/public/app_logic_phase_manager.ts +0 -81
- package/src/public/phase_manager_factory.ts +0 -126
- package/src/public/setup_phase_manager.ts +0 -61
- package/src/public/tail_phase_manager.ts +0 -127
- package/src/public/teardown_phase_manager.ts +0 -86
package/dest/public/executor.js
CHANGED
|
@@ -5,19 +5,16 @@ import { AvmContext } from '../avm/avm_context.js';
|
|
|
5
5
|
import { AvmExecutionEnvironment } from '../avm/avm_execution_environment.js';
|
|
6
6
|
import { AvmMachineState } from '../avm/avm_machine_state.js';
|
|
7
7
|
import { AvmSimulator } from '../avm/avm_simulator.js';
|
|
8
|
-
import { HostStorage } from '../avm/journal/host_storage.js';
|
|
9
8
|
import { AvmPersistableStateManager } from '../avm/journal/index.js';
|
|
9
|
+
import { getPublicFunctionDebugName } from '../common/debug_fn_name.js';
|
|
10
10
|
import { ExecutorMetrics } from './executor_metrics.js';
|
|
11
11
|
import { PublicSideEffectTrace } from './side_effect_trace.js';
|
|
12
12
|
/**
|
|
13
13
|
* Handles execution of public functions.
|
|
14
14
|
*/
|
|
15
15
|
export class PublicExecutor {
|
|
16
|
-
constructor(
|
|
17
|
-
this.
|
|
18
|
-
this.contractsDb = contractsDb;
|
|
19
|
-
this.commitmentsDb = commitmentsDb;
|
|
20
|
-
this.header = header;
|
|
16
|
+
constructor(worldStateDB, client) {
|
|
17
|
+
this.worldStateDB = worldStateDB;
|
|
21
18
|
this.metrics = new ExecutorMetrics(client, 'PublicExecutor');
|
|
22
19
|
}
|
|
23
20
|
/**
|
|
@@ -34,13 +31,12 @@ export class PublicExecutor {
|
|
|
34
31
|
async simulate(executionRequest, globalVariables, availableGas, _txContext, pendingSiloedNullifiers, transactionFee = Fr.ZERO, startSideEffectCounter = 0) {
|
|
35
32
|
const address = executionRequest.contractAddress;
|
|
36
33
|
const selector = executionRequest.callContext.functionSelector;
|
|
37
|
-
const fnName =
|
|
38
|
-
PublicExecutor.log.verbose(`[AVM] Executing public external function ${fnName}.`);
|
|
34
|
+
const fnName = await getPublicFunctionDebugName(this.worldStateDB, address, selector, executionRequest.args);
|
|
35
|
+
PublicExecutor.log.verbose(`[AVM] Executing public external function ${fnName}@${address}.`);
|
|
39
36
|
const timer = new Timer();
|
|
40
|
-
const hostStorage = new HostStorage(this.publicStorageDB, this.contractsDb, this.commitmentsDb);
|
|
41
37
|
const trace = new PublicSideEffectTrace(startSideEffectCounter);
|
|
42
|
-
const avmPersistableState = AvmPersistableStateManager.newWithPendingSiloedNullifiers(
|
|
43
|
-
const avmExecutionEnv = createAvmExecutionEnvironment(executionRequest,
|
|
38
|
+
const avmPersistableState = AvmPersistableStateManager.newWithPendingSiloedNullifiers(this.worldStateDB, trace, pendingSiloedNullifiers.map(n => n.value));
|
|
39
|
+
const avmExecutionEnv = createAvmExecutionEnvironment(executionRequest, globalVariables, transactionFee);
|
|
44
40
|
const avmMachineState = new AvmMachineState(availableGas);
|
|
45
41
|
const avmContext = new AvmContext(avmPersistableState, avmExecutionEnv, avmMachineState);
|
|
46
42
|
const simulator = new AvmSimulator(avmContext);
|
|
@@ -77,8 +73,8 @@ PublicExecutor.log = createDebugLogger('aztec:simulator:public_executor');
|
|
|
77
73
|
* @param globalVariables
|
|
78
74
|
* @returns
|
|
79
75
|
*/
|
|
80
|
-
function createAvmExecutionEnvironment(executionRequest,
|
|
76
|
+
function createAvmExecutionEnvironment(executionRequest, globalVariables, transactionFee) {
|
|
81
77
|
return new AvmExecutionEnvironment(executionRequest.contractAddress, executionRequest.callContext.storageContractAddress, executionRequest.callContext.msgSender, executionRequest.callContext.functionSelector,
|
|
82
|
-
/*contractCallDepth=*/ Fr.zero(), transactionFee,
|
|
78
|
+
/*contractCallDepth=*/ Fr.zero(), transactionFee, globalVariables, executionRequest.callContext.isStaticCall, executionRequest.callContext.isDelegateCall, executionRequest.args);
|
|
83
79
|
}
|
|
84
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhlY3V0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHVibGljL2V4ZWN1dG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUF3RCxNQUFNLG9CQUFvQixDQUFDO0FBQ25HLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUdoRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbkQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDOUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUV4RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFeEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFL0Q7O0dBRUc7QUFDSCxNQUFNLE9BQU8sY0FBYztJQUd6QixZQUE2QixZQUEwQixFQUFFLE1BQXVCO1FBQW5ELGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQ3JELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxlQUFlLENBQUMsTUFBTSxFQUFFLGdCQUFnQixDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUlEOzs7Ozs7Ozs7O09BVUc7SUFDSSxLQUFLLENBQUMsUUFBUSxDQUNuQixnQkFBd0MsRUFDeEMsZUFBZ0MsRUFDaEMsWUFBaUIsRUFDakIsVUFBcUIsRUFDckIsdUJBQW9DLEVBQ3BDLGlCQUFxQixFQUFFLENBQUMs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
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { type Fr, MAX_L1_TO_L2_MSG_READ_REQUESTS_PER_TX, MAX_NOTE_HASH_READ_REQUESTS_PER_TX, type MAX_NULLIFIERS_PER_TX, type MAX_NULLIFIER_NON_EXISTENT_READ_REQUESTS_PER_TX, MAX_NULLIFIER_READ_REQUESTS_PER_TX, type MAX_PUBLIC_DATA_READS_PER_TX, type MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX, MembershipWitness, type Nullifier, type PublicDataRead, type PublicDataTreeLeafPreimage, type PublicDataUpdateRequest, type ScopedReadRequest, type TreeLeafReadRequest, TreeLeafReadRequestHint } from '@aztec/circuits.js';
|
|
1
|
+
import { type Fr, MAX_L1_TO_L2_MSG_READ_REQUESTS_PER_TX, MAX_NOTE_HASH_READ_REQUESTS_PER_TX, type MAX_NULLIFIERS_PER_TX, type MAX_NULLIFIER_NON_EXISTENT_READ_REQUESTS_PER_TX, MAX_NULLIFIER_READ_REQUESTS_PER_TX, type MAX_PUBLIC_DATA_READS_PER_TX, type MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX, MembershipWitness, type Nullifier, type NullifierLeafPreimage, type PublicDataRead, type PublicDataTreeLeafPreimage, type PublicDataUpdateRequest, type ScopedReadRequest, type TreeLeafReadRequest, TreeLeafReadRequestHint } from '@aztec/circuits.js';
|
|
2
2
|
import { type Tuple } from '@aztec/foundation/serialize';
|
|
3
|
+
import { type IndexedTreeLeafPreimage } from '@aztec/foundation/trees';
|
|
3
4
|
import { type MerkleTreeOperations } from '@aztec/world-state';
|
|
4
5
|
export declare class HintsBuilder {
|
|
5
6
|
private db;
|
|
@@ -12,11 +13,11 @@ export declare class HintsBuilder {
|
|
|
12
13
|
getPublicDataHint(dataAction: PublicDataRead | PublicDataUpdateRequest | bigint): Promise<import("@aztec/circuits.js").PublicDataHint>;
|
|
13
14
|
getNullifierMembershipWitness(nullifier: Fr): Promise<{
|
|
14
15
|
membershipWitness: MembershipWitness<20>;
|
|
15
|
-
leafPreimage:
|
|
16
|
+
leafPreimage: IndexedTreeLeafPreimage;
|
|
16
17
|
}>;
|
|
17
18
|
getLowNullifierMembershipWitness(nullifier: Fr): Promise<{
|
|
18
19
|
membershipWitness: MembershipWitness<20>;
|
|
19
|
-
leafPreimage:
|
|
20
|
+
leafPreimage: NullifierLeafPreimage;
|
|
20
21
|
}>;
|
|
21
22
|
getMatchOrLowPublicDataMembershipWitness(leafSlot: bigint): Promise<{
|
|
22
23
|
membershipWitness: MembershipWitness<40>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hints_builder.d.ts","sourceRoot":"","sources":["../../src/public/hints_builder.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,EAAE,EAEP,qCAAqC,EACrC,kCAAkC,EAClC,KAAK,qBAAqB,EAC1B,KAAK,+CAA+C,EACpD,kCAAkC,EAClC,KAAK,4BAA4B,EACjC,KAAK,sCAAsC,EAC3C,iBAAiB,EAGjB,KAAK,SAAS,
|
|
1
|
+
{"version":3,"file":"hints_builder.d.ts","sourceRoot":"","sources":["../../src/public/hints_builder.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,EAAE,EAEP,qCAAqC,EACrC,kCAAkC,EAClC,KAAK,qBAAqB,EAC1B,KAAK,+CAA+C,EACpD,kCAAkC,EAClC,KAAK,4BAA4B,EACjC,KAAK,sCAAsC,EAC3C,iBAAiB,EAGjB,KAAK,SAAS,EACd,KAAK,qBAAqB,EAE1B,KAAK,cAAc,EACnB,KAAK,0BAA0B,EAC/B,KAAK,uBAAuB,EAC5B,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,uBAAuB,EAKxB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE/D,qBAAa,YAAY;IACX,OAAO,CAAC,EAAE;gBAAF,EAAE,EAAE,oBAAoB;IAEtC,4BAA4B,CAChC,YAAY,EAAE,KAAK,CAAC,mBAAmB,EAAE,OAAO,kCAAkC,CAAC;IAU/E,4BAA4B,CAChC,qBAAqB,EAAE,KAAK,CAAC,iBAAiB,EAAE,OAAO,kCAAkC,CAAC,EAC1F,iBAAiB,EAAE,KAAK,CAAC,SAAS,EAAE,OAAO,qBAAqB,CAAC;IAWnE,uCAAuC,CACrC,gCAAgC,EAAE,KAAK,CAAC,iBAAiB,EAAE,OAAO,+CAA+C,CAAC,EAClH,iBAAiB,EAAE,KAAK,CAAC,SAAS,EAAE,OAAO,qBAAqB,CAAC;IAK7D,6BAA6B,CACjC,YAAY,EAAE,KAAK,CAAC,mBAAmB,EAAE,OAAO,qCAAqC,CAAC;IAUxF,kBAAkB,CAChB,eAAe,EAAE,KAAK,CAAC,cAAc,EAAE,OAAO,4BAA4B,CAAC,EAC3E,wBAAwB,EAAE,KAAK,CAAC,uBAAuB,EAAE,OAAO,sCAAsC,CAAC;IAKzG,iBAAiB,CAAC,UAAU,EAAE,cAAc,GAAG,uBAAuB,GAAG,MAAM;IAKzE,6BAA6B,CAAC,SAAS,EAAE,EAAE;;;;IAa3C,gCAAgC,CAAC,SAAS,EAAE,EAAE;;;;IAmB9C,wCAAwC,CAAC,QAAQ,EAAE,MAAM;;;;YAcjD,gCAAgC;YAehC,4BAA4B;CAgB3C"}
|
|
@@ -9,7 +9,7 @@ export class HintsBuilder {
|
|
|
9
9
|
return await this.getTreeLeafReadRequestsHints(readRequests, MAX_NOTE_HASH_READ_REQUESTS_PER_TX, NOTE_HASH_TREE_HEIGHT, MerkleTreeId.NOTE_HASH_TREE);
|
|
10
10
|
}
|
|
11
11
|
async getNullifierReadRequestHints(nullifierReadRequests, pendingNullifiers) {
|
|
12
|
-
return
|
|
12
|
+
return await buildSiloedNullifierReadRequestHints(this, nullifierReadRequests, pendingNullifiers, MAX_NULLIFIER_READ_REQUESTS_PER_TX, MAX_NULLIFIER_READ_REQUESTS_PER_TX);
|
|
13
13
|
}
|
|
14
14
|
getNullifierNonExistentReadRequestHints(nullifierNonExistentReadRequests, pendingNullifiers) {
|
|
15
15
|
return buildNullifierNonExistentReadRequestHints(this, nullifierNonExistentReadRequests, pendingNullifiers);
|
|
@@ -40,6 +40,7 @@ export class HintsBuilder {
|
|
|
40
40
|
if (alreadyPresent) {
|
|
41
41
|
throw new Error(`Nullifier ${nullifier.toBigInt()} already exists in the tree.`);
|
|
42
42
|
}
|
|
43
|
+
// Should find a way to stop casting IndexedTreeLeafPreimage as NullifierLeafPreimage
|
|
43
44
|
return this.getMembershipWitnessWithPreimage(MerkleTreeId.NULLIFIER_TREE, NULLIFIER_TREE_HEIGHT, index);
|
|
44
45
|
}
|
|
45
46
|
async getMatchOrLowPublicDataMembershipWitness(leafSlot) {
|
|
@@ -47,14 +48,13 @@ export class HintsBuilder {
|
|
|
47
48
|
if (!res) {
|
|
48
49
|
throw new Error(`Cannot find the previous value index for public data ${leafSlot}.`);
|
|
49
50
|
}
|
|
50
|
-
const { membershipWitness, leafPreimage } = await this.getMembershipWitnessWithPreimage(MerkleTreeId.PUBLIC_DATA_TREE, PUBLIC_DATA_TREE_HEIGHT, res.index);
|
|
51
51
|
// Should find a way to stop casting IndexedTreeLeafPreimage as PublicDataTreeLeafPreimage everywhere.
|
|
52
|
-
return
|
|
52
|
+
return this.getMembershipWitnessWithPreimage(MerkleTreeId.PUBLIC_DATA_TREE, PUBLIC_DATA_TREE_HEIGHT, res.index);
|
|
53
53
|
}
|
|
54
54
|
async getMembershipWitnessWithPreimage(treeId, treeHeight, index) {
|
|
55
55
|
const siblingPath = await this.db.getSiblingPath(treeId, index);
|
|
56
56
|
const membershipWitness = new MembershipWitness(treeHeight, index, siblingPath.toTuple());
|
|
57
|
-
const leafPreimage = await this.db.getLeafPreimage(treeId, index);
|
|
57
|
+
const leafPreimage = (await this.db.getLeafPreimage(treeId, index));
|
|
58
58
|
if (!leafPreimage) {
|
|
59
59
|
throw new Error(`Cannot find the leaf preimage for tree ${treeId} at index ${index}.`);
|
|
60
60
|
}
|
|
@@ -72,4 +72,4 @@ export class HintsBuilder {
|
|
|
72
72
|
return hints;
|
|
73
73
|
}
|
|
74
74
|
}
|
|
75
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGludHNfYnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wdWJsaWMvaGludHNfYnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXNCLFlBQVksRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hFLE9BQU8sRUFFTCx3QkFBd0IsRUFDeEIscUNBQXFDLEVBQ3JDLGtDQUFrQyxFQUdsQyxrQ0FBa0MsRUFHbEMsaUJBQWlCLEVBQ2pCLHFCQUFxQixFQUNyQixxQkFBcUIsRUFHckIsdUJBQXVCLEVBTXZCLHVCQUF1QixFQUN2Qix5Q0FBeUMsRUFDekMsbUJBQW1CLEVBQ25CLG9CQUFvQixFQUNwQixvQ0FBb0MsR0FDckMsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFLcEQsTUFBTSxPQUFPLFlBQVk7SUFDdkIsWUFBb0IsRUFBd0I7UUFBeEIsT0FBRSxHQUFGLEVBQUUsQ0FBc0I7SUFBRyxDQUFDO0lBRWhELEtBQUssQ0FBQyw0QkFBNEIsQ0FDaEMsWUFBbUY7UUFFbkYsT0FBTyxNQUFNLElBQUksQ0FBQyw0QkFBNEIsQ0FDNUMsWUFBWSxFQUNaLGtDQUFrQyxFQUNsQyxxQkFBcUIsRUFDckIsWUFBWSxDQUFDLGNBQWMsQ0FDNUIsQ0FBQztJQUNKLENBQUM7SUFFRCxLQUFLLENBQUMsNEJBQTRCLENBQ2hDLHFCQUEwRixFQUMxRixpQkFBaUU7UUFFakUsT0FBTyxNQUFNLG9DQUFvQyxDQUMvQyxJQUFJLEVBQ0oscUJBQXFCLEVBQ3JCLGlCQUFpQixFQUNqQixrQ0FBa0MsRUFDbEMsa0NBQWtDLENBQ25DLENBQUM7SUFDSixDQUFDO0lBRUQsdUNBQXVDLENBQ3JDLGdDQUFrSCxFQUNsSCxpQkFBaUU7UUFFakUsT0FBTyx5Q0FBeUMsQ0FBQyxJQUFJLEVBQUUsZ0NBQWdDLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztJQUM5RyxDQUFD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
|
package/dest/public/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export * from './abstract_phase_manager.js';
|
|
2
1
|
export * from './db_interfaces.js';
|
|
3
|
-
export
|
|
2
|
+
export * from './enqueued_calls_processor.js';
|
|
3
|
+
export { type PublicExecutionResult } from './execution.js';
|
|
4
4
|
export { PublicExecutor } from './executor.js';
|
|
5
5
|
export * from './fee_payment.js';
|
|
6
6
|
export { HintsBuilder } from './hints_builder.js';
|
|
@@ -8,4 +8,5 @@ export * from './public_db_sources.js';
|
|
|
8
8
|
export * from './public_kernel.js';
|
|
9
9
|
export * from './public_kernel_circuit_simulator.js';
|
|
10
10
|
export { PublicProcessor, PublicProcessorFactory } from './public_processor.js';
|
|
11
|
+
export { PublicSideEffectTrace } from './side_effect_trace.js';
|
|
11
12
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/public/index.ts"],"names":[],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/public/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,+BAA+B,CAAC;AAC9C,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,cAAc,kBAAkB,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sCAAsC,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAChF,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC"}
|
package/dest/public/index.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
export * from './abstract_phase_manager.js';
|
|
2
1
|
export * from './db_interfaces.js';
|
|
3
|
-
export
|
|
2
|
+
export * from './enqueued_calls_processor.js';
|
|
4
3
|
export { PublicExecutor } from './executor.js';
|
|
5
4
|
export * from './fee_payment.js';
|
|
6
5
|
export { HintsBuilder } from './hints_builder.js';
|
|
@@ -8,4 +7,5 @@ export * from './public_db_sources.js';
|
|
|
8
7
|
export * from './public_kernel.js';
|
|
9
8
|
export * from './public_kernel_circuit_simulator.js';
|
|
10
9
|
export { PublicProcessor, PublicProcessorFactory } from './public_processor.js';
|
|
11
|
-
|
|
10
|
+
export { PublicSideEffectTrace } from './side_effect_trace.js';
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHVibGljL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYywrQkFBK0IsQ0FBQztBQUU5QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9DLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2xELGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELE9BQU8sRUFBRSxlQUFlLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNoRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQyJ9
|
|
@@ -9,11 +9,11 @@ import { type MerkleTreeOperations } from '@aztec/world-state';
|
|
|
9
9
|
* Progressively records contracts in transaction as they are processed in a block.
|
|
10
10
|
*/
|
|
11
11
|
export declare class ContractsDataSourcePublicDB implements PublicContractsDB {
|
|
12
|
-
private
|
|
12
|
+
private dataSource;
|
|
13
13
|
private instanceCache;
|
|
14
14
|
private classCache;
|
|
15
15
|
private log;
|
|
16
|
-
constructor(
|
|
16
|
+
constructor(dataSource: ContractDataSource);
|
|
17
17
|
/**
|
|
18
18
|
* Add new contracts from a transaction
|
|
19
19
|
* @param tx - The transaction to add contracts from.
|
|
@@ -30,14 +30,15 @@ export declare class ContractsDataSourcePublicDB implements PublicContractsDB {
|
|
|
30
30
|
getDebugFunctionName(address: AztecAddress, selector: FunctionSelector): Promise<string | undefined>;
|
|
31
31
|
}
|
|
32
32
|
/**
|
|
33
|
-
*
|
|
33
|
+
* A public state DB that reads and writes to the world state.
|
|
34
34
|
*/
|
|
35
|
-
export declare class
|
|
35
|
+
export declare class WorldStateDB extends ContractsDataSourcePublicDB implements PublicStateDB, CommitmentsDB {
|
|
36
36
|
private db;
|
|
37
|
-
private
|
|
38
|
-
private
|
|
39
|
-
private
|
|
40
|
-
|
|
37
|
+
private logger;
|
|
38
|
+
private publicCommittedWriteCache;
|
|
39
|
+
private publicCheckpointedWriteCache;
|
|
40
|
+
private publicUncommittedWriteCache;
|
|
41
|
+
constructor(db: MerkleTreeOperations, dataSource: ContractDataSource);
|
|
41
42
|
/**
|
|
42
43
|
* Reads a value from public storage, returning zero if none.
|
|
43
44
|
* @param contract - Owner of the storage.
|
|
@@ -53,31 +54,23 @@ export declare class WorldStatePublicDB implements PublicStateDB {
|
|
|
53
54
|
* @returns The slot of the written leaf in the public data tree.
|
|
54
55
|
*/
|
|
55
56
|
storageWrite(contract: AztecAddress, slot: Fr, newValue: Fr): Promise<bigint>;
|
|
57
|
+
getNullifierMembershipWitnessAtLatestBlock(nullifier: Fr): Promise<NullifierMembershipWitness | undefined>;
|
|
58
|
+
getL1ToL2MembershipWitness(contractAddress: AztecAddress, messageHash: Fr, secret: Fr): Promise<MessageLoadOracleInputs<typeof L1_TO_L2_MSG_TREE_HEIGHT>>;
|
|
59
|
+
getL1ToL2LeafValue(leafIndex: bigint): Promise<Fr | undefined>;
|
|
60
|
+
getCommitmentIndex(commitment: Fr): Promise<bigint | undefined>;
|
|
61
|
+
getCommitmentValue(leafIndex: bigint): Promise<Fr | undefined>;
|
|
62
|
+
getNullifierIndex(nullifier: Fr): Promise<bigint | undefined>;
|
|
56
63
|
/**
|
|
57
|
-
* Commit the pending changes to the DB.
|
|
64
|
+
* Commit the pending public changes to the DB.
|
|
58
65
|
* @returns Nothing.
|
|
59
66
|
*/
|
|
60
67
|
commit(): Promise<void>;
|
|
61
68
|
/**
|
|
62
|
-
* Rollback the pending changes.
|
|
69
|
+
* Rollback the pending public changes.
|
|
63
70
|
* @returns Nothing.
|
|
64
71
|
*/
|
|
65
72
|
rollbackToCommit(): Promise<void>;
|
|
66
73
|
checkpoint(): Promise<void>;
|
|
67
74
|
rollbackToCheckpoint(): Promise<void>;
|
|
68
75
|
}
|
|
69
|
-
/**
|
|
70
|
-
* Implements WorldState db using a world state database.
|
|
71
|
-
*/
|
|
72
|
-
export declare class WorldStateDB implements CommitmentsDB {
|
|
73
|
-
private db;
|
|
74
|
-
private log;
|
|
75
|
-
constructor(db: MerkleTreeOperations);
|
|
76
|
-
getNullifierMembershipWitnessAtLatestBlock(nullifier: Fr): Promise<NullifierMembershipWitness | undefined>;
|
|
77
|
-
getL1ToL2MembershipWitness(contractAddress: AztecAddress, messageHash: Fr, secret: Fr): Promise<MessageLoadOracleInputs<typeof L1_TO_L2_MSG_TREE_HEIGHT>>;
|
|
78
|
-
getL1ToL2LeafValue(leafIndex: bigint): Promise<Fr | undefined>;
|
|
79
|
-
getCommitmentIndex(commitment: Fr): Promise<bigint | undefined>;
|
|
80
|
-
getCommitmentValue(leafIndex: bigint): Promise<Fr | undefined>;
|
|
81
|
-
getNullifierIndex(nullifier: Fr): Promise<bigint | undefined>;
|
|
82
|
-
}
|
|
83
76
|
//# sourceMappingURL=public_db_sources.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"public_db_sources.d.ts","sourceRoot":"","sources":["../../src/public/public_db_sources.ts"],"names":[],"mappings":";AAAA,OAAO,EAAgB,0BAA0B,EAAE,KAAK,EAAE,EAAE,MAAM,sBAAsB,CAAC;AAEzF,OAAO,EACL,KAAK,YAAY,EAGjB,EAAE,EACF,gBAAgB,EAChB,KAAK,wBAAwB,EAI9B,MAAM,oBAAoB,CAAC;AAK5B,OAAO,EACL,KAAK,aAAa,EAClB,uBAAuB,EACvB,KAAK,iBAAiB,EACtB,KAAK,aAAa,EACnB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,2BAA2B,EACjC,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE/D;;;GAGG;AACH,qBAAa,2BAA4B,YAAW,iBAAiB;IAMvD,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"public_db_sources.d.ts","sourceRoot":"","sources":["../../src/public/public_db_sources.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,8 +10,8 @@ import { MessageLoadOracleInputs, } from '@aztec/simulator';
|
|
|
10
10
|
* Progressively records contracts in transaction as they are processed in a block.
|
|
11
11
|
*/
|
|
12
12
|
export class ContractsDataSourcePublicDB {
|
|
13
|
-
constructor(
|
|
14
|
-
this.
|
|
13
|
+
constructor(dataSource) {
|
|
14
|
+
this.dataSource = dataSource;
|
|
15
15
|
this.instanceCache = new Map();
|
|
16
16
|
this.classCache = new Map();
|
|
17
17
|
this.log = createDebugLogger('aztec:sequencer:contracts-data-source');
|
|
@@ -47,10 +47,10 @@ export class ContractsDataSourcePublicDB {
|
|
|
47
47
|
return Promise.resolve();
|
|
48
48
|
}
|
|
49
49
|
async getContractInstance(address) {
|
|
50
|
-
return this.instanceCache.get(address.toString()) ?? (await this.
|
|
50
|
+
return this.instanceCache.get(address.toString()) ?? (await this.dataSource.getContract(address));
|
|
51
51
|
}
|
|
52
52
|
async getContractClass(contractClassId) {
|
|
53
|
-
return this.classCache.get(contractClassId.toString()) ?? (await this.
|
|
53
|
+
return this.classCache.get(contractClassId.toString()) ?? (await this.dataSource.getContractClass(contractClassId));
|
|
54
54
|
}
|
|
55
55
|
async getBytecode(address, selector) {
|
|
56
56
|
const instance = await this.getContractInstance(address);
|
|
@@ -64,7 +64,7 @@ export class ContractsDataSourcePublicDB {
|
|
|
64
64
|
return contractClass.publicFunctions.find(f => f.selector.equals(selector))?.bytecode;
|
|
65
65
|
}
|
|
66
66
|
async getDebugFunctionName(address, selector) {
|
|
67
|
-
const artifact = await this.
|
|
67
|
+
const artifact = await this.dataSource.getContractArtifact(address);
|
|
68
68
|
if (!artifact) {
|
|
69
69
|
return Promise.resolve(undefined);
|
|
70
70
|
}
|
|
@@ -76,14 +76,16 @@ export class ContractsDataSourcePublicDB {
|
|
|
76
76
|
}
|
|
77
77
|
}
|
|
78
78
|
/**
|
|
79
|
-
*
|
|
79
|
+
* A public state DB that reads and writes to the world state.
|
|
80
80
|
*/
|
|
81
|
-
export class
|
|
82
|
-
constructor(db) {
|
|
81
|
+
export class WorldStateDB extends ContractsDataSourcePublicDB {
|
|
82
|
+
constructor(db, dataSource) {
|
|
83
|
+
super(dataSource);
|
|
83
84
|
this.db = db;
|
|
84
|
-
this.
|
|
85
|
-
this.
|
|
86
|
-
this.
|
|
85
|
+
this.logger = createDebugLogger('aztec:sequencer:world-state-db');
|
|
86
|
+
this.publicCommittedWriteCache = new Map();
|
|
87
|
+
this.publicCheckpointedWriteCache = new Map();
|
|
88
|
+
this.publicUncommittedWriteCache = new Map();
|
|
87
89
|
}
|
|
88
90
|
/**
|
|
89
91
|
* Reads a value from public storage, returning zero if none.
|
|
@@ -93,15 +95,15 @@ export class WorldStatePublicDB {
|
|
|
93
95
|
*/
|
|
94
96
|
async storageRead(contract, slot) {
|
|
95
97
|
const leafSlot = computePublicDataTreeLeafSlot(contract, slot).value;
|
|
96
|
-
const uncommitted = this.
|
|
98
|
+
const uncommitted = this.publicUncommittedWriteCache.get(leafSlot);
|
|
97
99
|
if (uncommitted !== undefined) {
|
|
98
100
|
return uncommitted;
|
|
99
101
|
}
|
|
100
|
-
const checkpointed = this.
|
|
102
|
+
const checkpointed = this.publicCheckpointedWriteCache.get(leafSlot);
|
|
101
103
|
if (checkpointed !== undefined) {
|
|
102
104
|
return checkpointed;
|
|
103
105
|
}
|
|
104
|
-
const committed = this.
|
|
106
|
+
const committed = this.publicCommittedWriteCache.get(leafSlot);
|
|
105
107
|
if (committed !== undefined) {
|
|
106
108
|
return committed;
|
|
107
109
|
}
|
|
@@ -121,52 +123,9 @@ export class WorldStatePublicDB {
|
|
|
121
123
|
*/
|
|
122
124
|
storageWrite(contract, slot, newValue) {
|
|
123
125
|
const index = computePublicDataTreeLeafSlot(contract, slot).value;
|
|
124
|
-
this.
|
|
126
|
+
this.publicUncommittedWriteCache.set(index, newValue);
|
|
125
127
|
return Promise.resolve(index);
|
|
126
128
|
}
|
|
127
|
-
/**
|
|
128
|
-
* Commit the pending changes to the DB.
|
|
129
|
-
* @returns Nothing.
|
|
130
|
-
*/
|
|
131
|
-
commit() {
|
|
132
|
-
for (const [k, v] of this.checkpointedWriteCache) {
|
|
133
|
-
this.committedWriteCache.set(k, v);
|
|
134
|
-
}
|
|
135
|
-
// uncommitted writes take precedence over checkpointed writes
|
|
136
|
-
// since they are the most recent
|
|
137
|
-
for (const [k, v] of this.uncommittedWriteCache) {
|
|
138
|
-
this.committedWriteCache.set(k, v);
|
|
139
|
-
}
|
|
140
|
-
return this.rollbackToCommit();
|
|
141
|
-
}
|
|
142
|
-
/**
|
|
143
|
-
* Rollback the pending changes.
|
|
144
|
-
* @returns Nothing.
|
|
145
|
-
*/
|
|
146
|
-
async rollbackToCommit() {
|
|
147
|
-
await this.rollbackToCheckpoint();
|
|
148
|
-
this.checkpointedWriteCache = new Map();
|
|
149
|
-
return Promise.resolve();
|
|
150
|
-
}
|
|
151
|
-
checkpoint() {
|
|
152
|
-
for (const [k, v] of this.uncommittedWriteCache) {
|
|
153
|
-
this.checkpointedWriteCache.set(k, v);
|
|
154
|
-
}
|
|
155
|
-
return this.rollbackToCheckpoint();
|
|
156
|
-
}
|
|
157
|
-
rollbackToCheckpoint() {
|
|
158
|
-
this.uncommittedWriteCache = new Map();
|
|
159
|
-
return Promise.resolve();
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
/**
|
|
163
|
-
* Implements WorldState db using a world state database.
|
|
164
|
-
*/
|
|
165
|
-
export class WorldStateDB {
|
|
166
|
-
constructor(db) {
|
|
167
|
-
this.db = db;
|
|
168
|
-
this.log = createDebugLogger('aztec:sequencer:world-state-db');
|
|
169
|
-
}
|
|
170
129
|
async getNullifierMembershipWitnessAtLatestBlock(nullifier) {
|
|
171
130
|
const timer = new Timer();
|
|
172
131
|
const index = await this.db.findLeafIndex(MerkleTreeId.NULLIFIER_TREE, nullifier.toBuffer());
|
|
@@ -179,7 +138,7 @@ export class WorldStateDB {
|
|
|
179
138
|
if (!leafPreimage) {
|
|
180
139
|
return undefined;
|
|
181
140
|
}
|
|
182
|
-
this.
|
|
141
|
+
this.logger.debug(`[DB] Fetched nullifier membership`, {
|
|
183
142
|
eventName: 'public-db-access',
|
|
184
143
|
duration: timer.ms(),
|
|
185
144
|
operation: 'get-nullifier-membership-witness-at-latest-block',
|
|
@@ -203,7 +162,7 @@ export class WorldStateDB {
|
|
|
203
162
|
startIndex = messageIndex + 1n;
|
|
204
163
|
} while (nullifierIndex !== undefined);
|
|
205
164
|
const siblingPath = await this.db.getSiblingPath(MerkleTreeId.L1_TO_L2_MESSAGE_TREE, messageIndex);
|
|
206
|
-
this.
|
|
165
|
+
this.logger.debug(`[DB] Fetched L1 to L2 message membership`, {
|
|
207
166
|
eventName: 'public-db-access',
|
|
208
167
|
duration: timer.ms(),
|
|
209
168
|
operation: 'get-l1-to-l2-message-membership-witness',
|
|
@@ -213,7 +172,7 @@ export class WorldStateDB {
|
|
|
213
172
|
async getL1ToL2LeafValue(leafIndex) {
|
|
214
173
|
const timer = new Timer();
|
|
215
174
|
const leafValue = await this.db.getLeafValue(MerkleTreeId.L1_TO_L2_MESSAGE_TREE, leafIndex);
|
|
216
|
-
this.
|
|
175
|
+
this.logger.debug(`[DB] Fetched L1 to L2 message leaf value`, {
|
|
217
176
|
eventName: 'public-db-access',
|
|
218
177
|
duration: timer.ms(),
|
|
219
178
|
operation: 'get-l1-to-l2-message-leaf-value',
|
|
@@ -223,7 +182,7 @@ export class WorldStateDB {
|
|
|
223
182
|
async getCommitmentIndex(commitment) {
|
|
224
183
|
const timer = new Timer();
|
|
225
184
|
const index = await this.db.findLeafIndex(MerkleTreeId.NOTE_HASH_TREE, commitment);
|
|
226
|
-
this.
|
|
185
|
+
this.logger.debug(`[DB] Fetched commitment index`, {
|
|
227
186
|
eventName: 'public-db-access',
|
|
228
187
|
duration: timer.ms(),
|
|
229
188
|
operation: 'get-commitment-index',
|
|
@@ -233,7 +192,7 @@ export class WorldStateDB {
|
|
|
233
192
|
async getCommitmentValue(leafIndex) {
|
|
234
193
|
const timer = new Timer();
|
|
235
194
|
const leafValue = await this.db.getLeafValue(MerkleTreeId.NOTE_HASH_TREE, leafIndex);
|
|
236
|
-
this.
|
|
195
|
+
this.logger.debug(`[DB] Fetched commitment leaf value`, {
|
|
237
196
|
eventName: 'public-db-access',
|
|
238
197
|
duration: timer.ms(),
|
|
239
198
|
operation: 'get-commitment-leaf-value',
|
|
@@ -243,12 +202,46 @@ export class WorldStateDB {
|
|
|
243
202
|
async getNullifierIndex(nullifier) {
|
|
244
203
|
const timer = new Timer();
|
|
245
204
|
const index = await this.db.findLeafIndex(MerkleTreeId.NULLIFIER_TREE, nullifier.toBuffer());
|
|
246
|
-
this.
|
|
205
|
+
this.logger.debug(`[DB] Fetched nullifier index`, {
|
|
247
206
|
eventName: 'public-db-access',
|
|
248
207
|
duration: timer.ms(),
|
|
249
208
|
operation: 'get-nullifier-index',
|
|
250
209
|
});
|
|
251
210
|
return index;
|
|
252
211
|
}
|
|
212
|
+
/**
|
|
213
|
+
* Commit the pending public changes to the DB.
|
|
214
|
+
* @returns Nothing.
|
|
215
|
+
*/
|
|
216
|
+
commit() {
|
|
217
|
+
for (const [k, v] of this.publicCheckpointedWriteCache) {
|
|
218
|
+
this.publicCommittedWriteCache.set(k, v);
|
|
219
|
+
}
|
|
220
|
+
// uncommitted writes take precedence over checkpointed writes
|
|
221
|
+
// since they are the most recent
|
|
222
|
+
for (const [k, v] of this.publicUncommittedWriteCache) {
|
|
223
|
+
this.publicCommittedWriteCache.set(k, v);
|
|
224
|
+
}
|
|
225
|
+
return this.rollbackToCommit();
|
|
226
|
+
}
|
|
227
|
+
/**
|
|
228
|
+
* Rollback the pending public changes.
|
|
229
|
+
* @returns Nothing.
|
|
230
|
+
*/
|
|
231
|
+
async rollbackToCommit() {
|
|
232
|
+
await this.rollbackToCheckpoint();
|
|
233
|
+
this.publicCheckpointedWriteCache = new Map();
|
|
234
|
+
return Promise.resolve();
|
|
235
|
+
}
|
|
236
|
+
checkpoint() {
|
|
237
|
+
for (const [k, v] of this.publicUncommittedWriteCache) {
|
|
238
|
+
this.publicCheckpointedWriteCache.set(k, v);
|
|
239
|
+
}
|
|
240
|
+
return this.rollbackToCheckpoint();
|
|
241
|
+
}
|
|
242
|
+
rollbackToCheckpoint() {
|
|
243
|
+
this.publicUncommittedWriteCache = new Map();
|
|
244
|
+
return Promise.resolve();
|
|
245
|
+
}
|
|
253
246
|
}
|
|
254
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2RiX3NvdXJjZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHVibGljL3B1YmxpY19kYl9zb3VyY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsMEJBQTBCLEVBQVcsTUFBTSxzQkFBc0IsQ0FBQztBQUV6RixPQUFPLEVBRUwsNEJBQTRCLEVBQzVCLDZCQUE2QixFQUM3QixFQUFFLEVBQ0YsZ0JBQWdCLEdBS2pCLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLDZCQUE2QixFQUFFLDZCQUE2QixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdkcsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2hELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ3BGLE9BQU8sRUFFTCx1QkFBdUIsR0FHeEIsTUFBTSxrQkFBa0IsQ0FBQztBQVExQjs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sMkJBQTJCO0lBTXRDLFlBQW9CLEVBQXNCO1FBQXRCLE9BQUUsR0FBRixFQUFFLENBQW9CO1FBTGxDLGtCQUFhLEdBQUcsSUFBSSxHQUFHLEVBQXVDLENBQUM7UUFDL0QsZUFBVSxHQUFHLElBQUksR0FBRyxFQUErQixDQUFDO1FBRXBELFFBQUcsR0FBRyxpQkFBaUIsQ0FBQyx1Q0FBdUMsQ0FBQyxDQUFDO0lBRTVCLENBQUM7SUFFOUM7OztPQUdHO0lBQ0ksZUFBZSxDQUFDLEVBQU07UUFDM0IscUZBQXFGO1FBQ3JGLE1BQU0sSUFBSSxHQUFHLEVBQUUsQ0FBQyxlQUFlLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDN0MsNEJBQTRCLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxzQkFBc0IsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtZ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
|
|
247
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2RiX3NvdXJjZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHVibGljL3B1YmxpY19kYl9zb3VyY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsMEJBQTBCLEVBQVcsTUFBTSxzQkFBc0IsQ0FBQztBQUV6RixPQUFPLEVBRUwsNEJBQTRCLEVBQzVCLDZCQUE2QixFQUM3QixFQUFFLEVBQ0YsZ0JBQWdCLEdBS2pCLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLDZCQUE2QixFQUFFLDZCQUE2QixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdkcsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2hELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ3BGLE9BQU8sRUFFTCx1QkFBdUIsR0FHeEIsTUFBTSxrQkFBa0IsQ0FBQztBQVExQjs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sMkJBQTJCO0lBTXRDLFlBQW9CLFVBQThCO1FBQTlCLGVBQVUsR0FBVixVQUFVLENBQW9CO1FBTDFDLGtCQUFhLEdBQUcsSUFBSSxHQUFHLEVBQXVDLENBQUM7UUFDL0QsZUFBVSxHQUFHLElBQUksR0FBRyxFQUErQixDQUFDO1FBRXBELFFBQUcsR0FBRyxpQkFBaUIsQ0FBQyx1Q0FBdUMsQ0FBQyxDQUFDO0lBRXBCLENBQUM7SUFFdEQ7OztPQUdHO0lBQ0ksZUFBZSxDQUFDLEVBQU07UUFDM0IscUZBQXFGO1FBQ3JGLE1BQU0sSUFBSSxHQUFHLEVBQUUsQ0FBQyxlQUFlLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDN0MsNEJBQTRCLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxzQkFBc0IsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtZ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
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type KernelCircuitPublicInputs, type PublicKernelCircuitPrivateInputs, type PublicKernelCircuitPublicInputs, type PublicKernelTailCircuitPrivateInputs } from '@aztec/circuits.js';
|
|
1
|
+
import { type KernelCircuitPublicInputs, type PublicKernelCircuitPrivateInputs, type PublicKernelCircuitPublicInputs, type PublicKernelInnerCircuitPrivateInputs, type PublicKernelTailCircuitPrivateInputs, type VMCircuitPublicInputs } from '@aztec/circuits.js';
|
|
2
2
|
import { type SimulationProvider } from '../providers/simulation_provider.js';
|
|
3
3
|
import { type PublicKernelCircuitSimulator } from './public_kernel_circuit_simulator.js';
|
|
4
4
|
/**
|
|
@@ -14,19 +14,13 @@ export declare class RealPublicKernelCircuitSimulator implements PublicKernelCir
|
|
|
14
14
|
* @param input - Inputs to the circuit.
|
|
15
15
|
* @returns The public inputs as outputs of the simulation.
|
|
16
16
|
*/
|
|
17
|
-
|
|
17
|
+
publicKernelCircuitInner(input: PublicKernelInnerCircuitPrivateInputs): Promise<VMCircuitPublicInputs>;
|
|
18
18
|
/**
|
|
19
19
|
* Simulates the public kernel app logic circuit from its inputs.
|
|
20
20
|
* @param input - Inputs to the circuit.
|
|
21
21
|
* @returns The public inputs as outputs of the simulation.
|
|
22
22
|
*/
|
|
23
|
-
|
|
24
|
-
/**
|
|
25
|
-
* Simulates the public kernel teardown circuit from its inputs.
|
|
26
|
-
* @param input - Inputs to the circuit.
|
|
27
|
-
* @returns The public inputs as outputs of the simulation.
|
|
28
|
-
*/
|
|
29
|
-
publicKernelCircuitTeardown(input: PublicKernelCircuitPrivateInputs): Promise<PublicKernelCircuitPublicInputs>;
|
|
23
|
+
publicKernelCircuitMerge(input: PublicKernelCircuitPrivateInputs): Promise<PublicKernelCircuitPublicInputs>;
|
|
30
24
|
/**
|
|
31
25
|
* Simulates the public kernel tail circuit from its inputs.
|
|
32
26
|
* @param input - Inputs to the circuit.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"public_kernel.d.ts","sourceRoot":"","sources":["../../src/public/public_kernel.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,yBAAyB,EAC9B,KAAK,gCAAgC,EACrC,KAAK,+BAA+B,EACpC,KAAK,
|
|
1
|
+
{"version":3,"file":"public_kernel.d.ts","sourceRoot":"","sources":["../../src/public/public_kernel.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,yBAAyB,EAC9B,KAAK,gCAAgC,EACrC,KAAK,+BAA+B,EACpC,KAAK,qCAAqC,EAC1C,KAAK,oCAAoC,EACzC,KAAK,qBAAqB,EAC3B,MAAM,oBAAoB,CAAC;AAc5B,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,EAAE,KAAK,4BAA4B,EAAE,MAAM,sCAAsC,CAAC;AAEzF;;GAEG;AACH,qBAAa,gCAAiC,YAAW,4BAA4B;IAMvE,OAAO,CAAC,SAAS;IAL7B,OAAO,CAAC,GAAG,CAAsD;IAGjE,OAAO,CAAC,aAAa,CAAsC;gBAEvC,SAAS,EAAE,kBAAkB;IAEjD;;;;OAIG;IACU,wBAAwB,CAAC,KAAK,EAAE,qCAAqC,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAgBnH;;;;OAIG;IACU,wBAAwB,CACnC,KAAK,EAAE,gCAAgC,GACtC,OAAO,CAAC,+BAA+B,CAAC;IAgB3C;;;;OAIG;IACU,uBAAuB,CAClC,KAAK,EAAE,oCAAoC,GAC1C,OAAO,CAAC,yBAAyB,CAAC;CAetC"}
|