@aztec/simulator 0.0.1-commit.d3ec352c → 0.0.1-commit.e3c1de76
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/README.md +2 -0
- package/dest/common/errors.d.ts +8 -2
- package/dest/common/errors.d.ts.map +1 -1
- package/dest/private/acvm/acvm.d.ts +4 -2
- package/dest/private/acvm/acvm.d.ts.map +1 -1
- package/dest/private/acvm/acvm.js +4 -3
- package/dest/private/acvm/deserialize.d.ts +2 -2
- package/dest/private/acvm/deserialize.d.ts.map +1 -1
- package/dest/private/acvm/deserialize.js +1 -1
- package/dest/private/acvm/serialize.d.ts +2 -2
- package/dest/private/acvm/serialize.d.ts.map +1 -1
- package/dest/private/acvm/serialize.js +1 -1
- package/dest/private/acvm_native.d.ts +5 -3
- package/dest/private/acvm_native.d.ts.map +1 -1
- package/dest/private/acvm_native.js +8 -6
- package/dest/private/acvm_wasm.d.ts +4 -3
- package/dest/private/acvm_wasm.d.ts.map +1 -1
- package/dest/private/acvm_wasm.js +4 -4
- package/dest/private/circuit_recording/circuit_recorder.d.ts +4 -3
- package/dest/private/circuit_recording/circuit_recorder.d.ts.map +1 -1
- package/dest/private/circuit_recording/circuit_recorder.js +21 -18
- package/dest/private/circuit_recording/file_circuit_recorder.d.ts +3 -2
- package/dest/private/circuit_recording/file_circuit_recorder.d.ts.map +1 -1
- package/dest/private/circuit_recording/file_circuit_recorder.js +2 -2
- package/dest/private/circuit_recording/memory_circuit_recorder.d.ts +7 -2
- package/dest/private/circuit_recording/memory_circuit_recorder.d.ts.map +1 -1
- package/dest/private/circuit_recording/memory_circuit_recorder.js +4 -4
- package/dest/private/factory.d.ts +3 -3
- package/dest/private/factory.d.ts.map +1 -1
- package/dest/private/factory.js +7 -4
- package/dest/public/avm/avm_context.d.ts +3 -3
- package/dest/public/avm/avm_context.d.ts.map +1 -1
- package/dest/public/avm/avm_contract_call_result.d.ts +6 -6
- package/dest/public/avm/avm_contract_call_result.d.ts.map +1 -1
- package/dest/public/avm/avm_contract_call_result.js +3 -3
- package/dest/public/avm/avm_execution_environment.d.ts +7 -6
- package/dest/public/avm/avm_execution_environment.d.ts.map +1 -1
- package/dest/public/avm/avm_execution_environment.js +1 -1
- package/dest/public/avm/avm_gas.d.ts +1 -1
- package/dest/public/avm/avm_gas.d.ts.map +1 -1
- package/dest/public/avm/avm_machine_state.d.ts +7 -6
- package/dest/public/avm/avm_machine_state.d.ts.map +1 -1
- package/dest/public/avm/avm_machine_state.js +3 -2
- package/dest/public/avm/avm_memory_types.d.ts +2 -2
- package/dest/public/avm/avm_memory_types.d.ts.map +1 -1
- package/dest/public/avm/avm_memory_types.js +4 -1
- package/dest/public/avm/avm_simulator.d.ts +4 -3
- package/dest/public/avm/avm_simulator.d.ts.map +1 -1
- package/dest/public/avm/avm_simulator.js +6 -5
- package/dest/public/avm/calldata.d.ts +51 -0
- package/dest/public/avm/calldata.d.ts.map +1 -0
- package/dest/public/avm/calldata.js +63 -0
- package/dest/public/avm/errors.d.ts +2 -2
- package/dest/public/avm/errors.d.ts.map +1 -1
- package/dest/public/avm/fixtures/avm_simulation_tester.d.ts +1 -1
- package/dest/public/avm/fixtures/avm_simulation_tester.d.ts.map +1 -1
- package/dest/public/avm/fixtures/avm_simulation_tester.js +4 -3
- package/dest/public/avm/fixtures/base_avm_simulation_tester.d.ts +2 -2
- package/dest/public/avm/fixtures/base_avm_simulation_tester.d.ts.map +1 -1
- package/dest/public/avm/fixtures/base_avm_simulation_tester.js +1 -1
- package/dest/public/avm/fixtures/initializers.d.ts +2 -2
- package/dest/public/avm/fixtures/initializers.d.ts.map +1 -1
- package/dest/public/avm/fixtures/initializers.js +3 -2
- package/dest/public/avm/fixtures/utils.d.ts +2 -2
- package/dest/public/avm/fixtures/utils.d.ts.map +1 -1
- package/dest/public/avm/fixtures/utils.js +1 -1
- package/dest/public/avm/opcodes/accrued_substate.d.ts +16 -17
- package/dest/public/avm/opcodes/accrued_substate.d.ts.map +1 -1
- package/dest/public/avm/opcodes/accrued_substate.js +39 -39
- package/dest/public/avm/opcodes/arithmetic.d.ts +10 -8
- package/dest/public/avm/opcodes/arithmetic.d.ts.map +1 -1
- package/dest/public/avm/opcodes/arithmetic.js +12 -2
- package/dest/public/avm/opcodes/bitwise.d.ts +7 -7
- package/dest/public/avm/opcodes/bitwise.d.ts.map +1 -1
- package/dest/public/avm/opcodes/bitwise.js +5 -5
- package/dest/public/avm/opcodes/comparators.d.ts +4 -4
- package/dest/public/avm/opcodes/comparators.d.ts.map +1 -1
- package/dest/public/avm/opcodes/comparators.js +1 -1
- package/dest/public/avm/opcodes/contract.d.ts +3 -3
- package/dest/public/avm/opcodes/contract.d.ts.map +1 -1
- package/dest/public/avm/opcodes/contract.js +8 -8
- package/dest/public/avm/opcodes/control_flow.d.ts +3 -3
- package/dest/public/avm/opcodes/control_flow.d.ts.map +1 -1
- package/dest/public/avm/opcodes/control_flow.js +4 -4
- package/dest/public/avm/opcodes/conversion.d.ts +3 -3
- package/dest/public/avm/opcodes/conversion.d.ts.map +1 -1
- package/dest/public/avm/opcodes/conversion.js +4 -4
- package/dest/public/avm/opcodes/ec_add.d.ts +4 -4
- package/dest/public/avm/opcodes/ec_add.d.ts.map +1 -1
- package/dest/public/avm/opcodes/ec_add.js +17 -8
- package/dest/public/avm/opcodes/environment_getters.d.ts +5 -5
- package/dest/public/avm/opcodes/environment_getters.d.ts.map +1 -1
- package/dest/public/avm/opcodes/environment_getters.js +6 -6
- package/dest/public/avm/opcodes/external_calls.d.ts +9 -9
- package/dest/public/avm/opcodes/external_calls.d.ts.map +1 -1
- package/dest/public/avm/opcodes/external_calls.js +23 -22
- package/dest/public/avm/opcodes/hashing.d.ts +8 -8
- package/dest/public/avm/opcodes/hashing.d.ts.map +1 -1
- package/dest/public/avm/opcodes/hashing.js +21 -16
- package/dest/public/avm/opcodes/instruction_impl.d.ts +4 -4
- package/dest/public/avm/opcodes/instruction_impl.d.ts.map +1 -1
- package/dest/public/avm/opcodes/instruction_impl.js +4 -4
- package/dest/public/avm/opcodes/memory.d.ts +14 -14
- package/dest/public/avm/opcodes/memory.d.ts.map +1 -1
- package/dest/public/avm/opcodes/memory.js +26 -26
- package/dest/public/avm/opcodes/misc.d.ts +3 -3
- package/dest/public/avm/opcodes/misc.d.ts.map +1 -1
- package/dest/public/avm/opcodes/misc.js +4 -4
- package/dest/public/avm/opcodes/storage.d.ts +16 -15
- package/dest/public/avm/opcodes/storage.d.ts.map +1 -1
- package/dest/public/avm/opcodes/storage.js +34 -24
- package/dest/public/avm/revert_reason.d.ts +2 -2
- package/dest/public/avm/revert_reason.d.ts.map +1 -1
- package/dest/public/avm/serialization/instruction_serialization.js +1 -1
- package/dest/public/avm/test_utils.d.ts +2 -2
- package/dest/public/avm/test_utils.d.ts.map +1 -1
- package/dest/public/avm/test_utils.js +1 -1
- package/dest/public/contracts_db_checkpoint.d.ts +2 -2
- package/dest/public/contracts_db_checkpoint.d.ts.map +1 -1
- package/dest/public/db_interfaces.d.ts +2 -2
- package/dest/public/db_interfaces.d.ts.map +1 -1
- package/dest/public/debug_fn_name.d.ts +4 -4
- package/dest/public/debug_fn_name.d.ts.map +1 -1
- package/dest/public/debug_fn_name.js +14 -5
- package/dest/public/executor_metrics.d.ts +1 -1
- package/dest/public/executor_metrics.d.ts.map +1 -1
- package/dest/public/executor_metrics.js +12 -33
- package/dest/public/fixtures/amm_test.js +2 -2
- package/dest/public/fixtures/bulk_test.d.ts +3 -3
- package/dest/public/fixtures/bulk_test.d.ts.map +1 -1
- package/dest/public/fixtures/bulk_test.js +5 -69
- package/dest/public/fixtures/custom_bytecode_tester.d.ts +28 -6
- package/dest/public/fixtures/custom_bytecode_tester.d.ts.map +1 -1
- package/dest/public/fixtures/custom_bytecode_tester.js +36 -12
- package/dest/public/fixtures/custom_bytecode_tests.d.ts +11 -8
- package/dest/public/fixtures/custom_bytecode_tests.d.ts.map +1 -1
- package/dest/public/fixtures/custom_bytecode_tests.js +83 -18
- package/dest/public/fixtures/index.d.ts +4 -2
- package/dest/public/fixtures/index.d.ts.map +1 -1
- package/dest/public/fixtures/index.js +3 -1
- package/dest/public/fixtures/minimal_public_tx.d.ts +2 -7
- package/dest/public/fixtures/minimal_public_tx.d.ts.map +1 -1
- package/dest/public/fixtures/minimal_public_tx.js +4 -14
- package/dest/public/fixtures/opcode_spammer.d.ts +122 -0
- package/dest/public/fixtures/opcode_spammer.d.ts.map +1 -0
- package/dest/public/fixtures/opcode_spammer.js +1653 -0
- package/dest/public/fixtures/public_tx_simulation_tester.d.ts +15 -2
- package/dest/public/fixtures/public_tx_simulation_tester.d.ts.map +1 -1
- package/dest/public/fixtures/public_tx_simulation_tester.js +36 -8
- package/dest/public/fixtures/simple_contract_data_source.d.ts +2 -2
- package/dest/public/fixtures/simple_contract_data_source.d.ts.map +1 -1
- package/dest/public/fixtures/token_test.js +1 -1
- package/dest/public/fixtures/utils.d.ts +2 -2
- package/dest/public/fixtures/utils.d.ts.map +1 -1
- package/dest/public/fixtures/utils.js +4 -3
- package/dest/public/fuzzing/avm_fuzzer_simulator.d.ts +60 -0
- package/dest/public/fuzzing/avm_fuzzer_simulator.d.ts.map +1 -0
- package/dest/public/fuzzing/avm_fuzzer_simulator.js +171 -0
- package/dest/public/fuzzing/avm_simulator_bin.d.ts +2 -0
- package/dest/public/fuzzing/avm_simulator_bin.d.ts.map +1 -0
- package/dest/public/fuzzing/avm_simulator_bin.js +118 -0
- package/dest/public/hinting_db_sources.d.ts +3 -2
- package/dest/public/hinting_db_sources.d.ts.map +1 -1
- package/dest/public/hinting_db_sources.js +7 -2
- package/dest/public/index.d.ts +2 -2
- package/dest/public/index.d.ts.map +1 -1
- package/dest/public/index.js +1 -1
- package/dest/public/public_db_sources.d.ts +5 -4
- package/dest/public/public_db_sources.d.ts.map +1 -1
- package/dest/public/public_db_sources.js +5 -5
- package/dest/public/public_processor/guarded_merkle_tree.d.ts +2 -1
- package/dest/public/public_processor/guarded_merkle_tree.d.ts.map +1 -1
- package/dest/public/public_processor/guarded_merkle_tree.js +5 -0
- package/dest/public/public_processor/public_processor.d.ts +6 -4
- package/dest/public/public_processor/public_processor.d.ts.map +1 -1
- package/dest/public/public_processor/public_processor.js +433 -37
- package/dest/public/public_processor/public_processor_metrics.d.ts +2 -2
- package/dest/public/public_processor/public_processor_metrics.d.ts.map +1 -1
- package/dest/public/public_processor/public_processor_metrics.js +28 -45
- package/dest/public/public_tx_simulator/contract_provider_for_cpp.d.ts +3 -14
- package/dest/public/public_tx_simulator/contract_provider_for_cpp.d.ts.map +1 -1
- package/dest/public/public_tx_simulator/contract_provider_for_cpp.js +20 -55
- package/dest/public/public_tx_simulator/cpp_public_tx_simulator.d.ts +20 -5
- package/dest/public/public_tx_simulator/cpp_public_tx_simulator.d.ts.map +1 -1
- package/dest/public/public_tx_simulator/cpp_public_tx_simulator.js +50 -11
- package/dest/public/public_tx_simulator/cpp_public_tx_simulator_with_hinted_dbs.d.ts +4 -4
- package/dest/public/public_tx_simulator/cpp_public_tx_simulator_with_hinted_dbs.d.ts.map +1 -1
- package/dest/public/public_tx_simulator/cpp_public_tx_simulator_with_hinted_dbs.js +5 -5
- package/dest/public/public_tx_simulator/cpp_vs_ts_public_tx_simulator.d.ts +4 -4
- package/dest/public/public_tx_simulator/cpp_vs_ts_public_tx_simulator.d.ts.map +1 -1
- package/dest/public/public_tx_simulator/cpp_vs_ts_public_tx_simulator.js +12 -11
- package/dest/public/public_tx_simulator/dumping_cpp_public_tx_simulator.d.ts +23 -0
- package/dest/public/public_tx_simulator/dumping_cpp_public_tx_simulator.d.ts.map +1 -0
- package/dest/public/public_tx_simulator/dumping_cpp_public_tx_simulator.js +52 -0
- package/dest/public/public_tx_simulator/factories.d.ts +14 -0
- package/dest/public/public_tx_simulator/factories.d.ts.map +1 -0
- package/dest/public/public_tx_simulator/factories.js +28 -0
- package/dest/public/public_tx_simulator/index.d.ts +3 -1
- package/dest/public/public_tx_simulator/index.d.ts.map +1 -1
- package/dest/public/public_tx_simulator/index.js +2 -0
- package/dest/public/public_tx_simulator/measured_public_tx_simulator.d.ts +3 -3
- package/dest/public/public_tx_simulator/measured_public_tx_simulator.d.ts.map +1 -1
- package/dest/public/public_tx_simulator/public_tx_context.d.ts +5 -4
- package/dest/public/public_tx_simulator/public_tx_context.d.ts.map +1 -1
- package/dest/public/public_tx_simulator/public_tx_context.js +9 -9
- package/dest/public/public_tx_simulator/public_tx_simulator.d.ts +7 -5
- package/dest/public/public_tx_simulator/public_tx_simulator.d.ts.map +1 -1
- package/dest/public/public_tx_simulator/public_tx_simulator.js +17 -10
- package/dest/public/public_tx_simulator/public_tx_simulator_interface.d.ts +24 -1
- package/dest/public/public_tx_simulator/public_tx_simulator_interface.d.ts.map +1 -1
- package/dest/public/public_tx_simulator/telemetry_public_tx_simulator.d.ts +2 -2
- package/dest/public/public_tx_simulator/telemetry_public_tx_simulator.d.ts.map +1 -1
- package/dest/public/public_tx_simulator/telemetry_public_tx_simulator.js +395 -19
- package/dest/public/side_effect_trace.d.ts +6 -5
- package/dest/public/side_effect_trace.d.ts.map +1 -1
- package/dest/public/side_effect_trace.js +4 -4
- package/dest/public/side_effect_trace_interface.d.ts +2 -2
- package/dest/public/side_effect_trace_interface.d.ts.map +1 -1
- package/dest/public/state_manager/nullifiers.d.ts +2 -2
- package/dest/public/state_manager/nullifiers.d.ts.map +1 -1
- package/dest/public/state_manager/public_storage.d.ts +2 -2
- package/dest/public/state_manager/public_storage.d.ts.map +1 -1
- package/dest/public/state_manager/public_storage.js +1 -1
- package/dest/public/state_manager/state_manager.d.ts +11 -5
- package/dest/public/state_manager/state_manager.d.ts.map +1 -1
- package/dest/public/state_manager/state_manager.js +15 -8
- package/dest/public/test_executor_metrics.d.ts +3 -2
- package/dest/public/test_executor_metrics.d.ts.map +1 -1
- package/dest/public/test_executor_metrics.js +2 -2
- package/package.json +18 -18
- package/src/common/errors.ts +1 -1
- package/src/private/acvm/acvm.ts +4 -3
- package/src/private/acvm/deserialize.ts +1 -1
- package/src/private/acvm/serialize.ts +1 -1
- package/src/private/acvm_native.ts +11 -5
- package/src/private/acvm_wasm.ts +7 -3
- package/src/private/circuit_recording/circuit_recorder.ts +22 -19
- package/src/private/circuit_recording/file_circuit_recorder.ts +7 -2
- package/src/private/circuit_recording/memory_circuit_recorder.ts +6 -4
- package/src/private/factory.ts +7 -4
- package/src/public/avm/avm_context.ts +2 -2
- package/src/public/avm/avm_contract_call_result.ts +8 -6
- package/src/public/avm/avm_execution_environment.ts +10 -5
- package/src/public/avm/avm_gas.ts +3 -3
- package/src/public/avm/avm_machine_state.ts +7 -6
- package/src/public/avm/avm_memory_types.ts +5 -1
- package/src/public/avm/avm_simulator.ts +9 -6
- package/src/public/avm/calldata.ts +100 -0
- package/src/public/avm/errors.ts +1 -1
- package/src/public/avm/fixtures/avm_simulation_tester.ts +9 -3
- package/src/public/avm/fixtures/base_avm_simulation_tester.ts +1 -1
- package/src/public/avm/fixtures/initializers.ts +3 -2
- package/src/public/avm/fixtures/utils.ts +1 -1
- package/src/public/avm/opcodes/accrued_substate.ts +28 -30
- package/src/public/avm/opcodes/arithmetic.ts +14 -2
- package/src/public/avm/opcodes/bitwise.ts +3 -3
- package/src/public/avm/opcodes/comparators.ts +1 -1
- package/src/public/avm/opcodes/contract.ts +4 -7
- package/src/public/avm/opcodes/control_flow.ts +2 -2
- package/src/public/avm/opcodes/conversion.ts +3 -3
- package/src/public/avm/opcodes/ec_add.ts +15 -6
- package/src/public/avm/opcodes/environment_getters.ts +7 -7
- package/src/public/avm/opcodes/external_calls.ts +17 -15
- package/src/public/avm/opcodes/hashing.ts +16 -10
- package/src/public/avm/opcodes/instruction_impl.ts +2 -2
- package/src/public/avm/opcodes/memory.ts +20 -20
- package/src/public/avm/opcodes/misc.ts +2 -2
- package/src/public/avm/opcodes/storage.ts +30 -22
- package/src/public/avm/revert_reason.ts +1 -1
- package/src/public/avm/serialization/instruction_serialization.ts +1 -1
- package/src/public/avm/test_utils.ts +1 -1
- package/src/public/contracts_db_checkpoint.ts +1 -1
- package/src/public/db_interfaces.ts +1 -1
- package/src/public/debug_fn_name.ts +17 -8
- package/src/public/executor_metrics.ts +9 -33
- package/src/public/fixtures/amm_test.ts +2 -2
- package/src/public/fixtures/bulk_test.ts +9 -9
- package/src/public/fixtures/custom_bytecode_tester.ts +53 -19
- package/src/public/fixtures/custom_bytecode_tests.ts +111 -18
- package/src/public/fixtures/index.ts +7 -1
- package/src/public/fixtures/minimal_public_tx.ts +6 -15
- package/src/public/fixtures/opcode_spammer.ts +1721 -0
- package/src/public/fixtures/public_tx_simulation_tester.ts +40 -6
- package/src/public/fixtures/simple_contract_data_source.ts +1 -1
- package/src/public/fixtures/token_test.ts +1 -1
- package/src/public/fixtures/utils.ts +2 -3
- package/src/public/fuzzing/avm_fuzzer_simulator.ts +288 -0
- package/src/public/fuzzing/avm_simulator_bin.ts +175 -0
- package/src/public/hinting_db_sources.ts +6 -2
- package/src/public/index.ts +2 -0
- package/src/public/public_db_sources.ts +16 -6
- package/src/public/public_processor/guarded_merkle_tree.ts +4 -0
- package/src/public/public_processor/public_processor.ts +49 -19
- package/src/public/public_processor/public_processor_metrics.ts +16 -44
- package/src/public/public_tx_simulator/contract_provider_for_cpp.ts +25 -63
- package/src/public/public_tx_simulator/cpp_public_tx_simulator.ts +65 -9
- package/src/public/public_tx_simulator/cpp_public_tx_simulator_with_hinted_dbs.ts +7 -5
- package/src/public/public_tx_simulator/cpp_vs_ts_public_tx_simulator.ts +13 -14
- package/src/public/public_tx_simulator/dumping_cpp_public_tx_simulator.ts +83 -0
- package/src/public/public_tx_simulator/factories.ts +43 -0
- package/src/public/public_tx_simulator/index.ts +2 -0
- package/src/public/public_tx_simulator/measured_public_tx_simulator.ts +1 -1
- package/src/public/public_tx_simulator/public_tx_context.ts +14 -7
- package/src/public/public_tx_simulator/public_tx_simulator.ts +32 -10
- package/src/public/public_tx_simulator/public_tx_simulator_interface.ts +23 -0
- package/src/public/public_tx_simulator/telemetry_public_tx_simulator.ts +1 -1
- package/src/public/side_effect_trace.ts +6 -3
- package/src/public/side_effect_trace_interface.ts +1 -1
- package/src/public/state_manager/nullifiers.ts +1 -1
- package/src/public/state_manager/public_storage.ts +1 -1
- package/src/public/state_manager/state_manager.ts +31 -22
- package/src/public/test_executor_metrics.ts +3 -3
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { Fr } from '@aztec/foundation/
|
|
1
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
2
2
|
import { strict as assert } from 'assert';
|
|
3
3
|
import { Field, TaggedMemory, TypeTag, Uint32 } from '../avm_memory_types.js';
|
|
4
4
|
import { Opcode, OperandType } from '../serialization/instruction_serialization.js';
|
|
5
5
|
import { Addressing } from './addressing_mode.js';
|
|
6
6
|
import { Instruction } from './instruction.js';
|
|
7
7
|
export class Set extends Instruction {
|
|
8
|
-
|
|
8
|
+
addressingMode;
|
|
9
9
|
dstOffset;
|
|
10
10
|
inTag;
|
|
11
11
|
value;
|
|
@@ -54,8 +54,8 @@ export class Set extends Instruction {
|
|
|
54
54
|
OperandType.TAG,
|
|
55
55
|
OperandType.FF
|
|
56
56
|
];
|
|
57
|
-
constructor(
|
|
58
|
-
super(), this.
|
|
57
|
+
constructor(addressingMode, dstOffset, inTag, value){
|
|
58
|
+
super(), this.addressingMode = addressingMode, this.dstOffset = dstOffset, this.inTag = inTag, this.value = value;
|
|
59
59
|
assert(this.value >= 0, `Value ${this.value} is negative`);
|
|
60
60
|
assert(this.value < Fr.MODULUS, `Value ${this.value} is larger than Fr.MODULUS`);
|
|
61
61
|
}
|
|
@@ -63,7 +63,7 @@ export class Set extends Instruction {
|
|
|
63
63
|
// Constructor ensured that this.inTag is a valid tag
|
|
64
64
|
const res = TaggedMemory.buildFromTagTruncating(this.value, this.inTag);
|
|
65
65
|
const memory = context.machineState.memory;
|
|
66
|
-
const addressing = Addressing.fromWire(this.
|
|
66
|
+
const addressing = Addressing.fromWire(this.addressingMode);
|
|
67
67
|
context.machineState.consumeGas(this.baseGasCost(addressing.indirectOperandsCount(), addressing.relativeOperandsCount()));
|
|
68
68
|
const operands = [
|
|
69
69
|
this.dstOffset
|
|
@@ -73,7 +73,7 @@ export class Set extends Instruction {
|
|
|
73
73
|
}
|
|
74
74
|
}
|
|
75
75
|
export class Cast extends Instruction {
|
|
76
|
-
|
|
76
|
+
addressingMode;
|
|
77
77
|
srcOffset;
|
|
78
78
|
dstOffset;
|
|
79
79
|
dstTag;
|
|
@@ -93,12 +93,12 @@ export class Cast extends Instruction {
|
|
|
93
93
|
OperandType.UINT16,
|
|
94
94
|
OperandType.TAG
|
|
95
95
|
];
|
|
96
|
-
constructor(
|
|
97
|
-
super(), this.
|
|
96
|
+
constructor(addressingMode, srcOffset, dstOffset, dstTag){
|
|
97
|
+
super(), this.addressingMode = addressingMode, this.srcOffset = srcOffset, this.dstOffset = dstOffset, this.dstTag = dstTag;
|
|
98
98
|
}
|
|
99
99
|
async execute(context) {
|
|
100
100
|
const memory = context.machineState.memory;
|
|
101
|
-
const addressing = Addressing.fromWire(this.
|
|
101
|
+
const addressing = Addressing.fromWire(this.addressingMode);
|
|
102
102
|
context.machineState.consumeGas(this.baseGasCost(addressing.indirectOperandsCount(), addressing.relativeOperandsCount()));
|
|
103
103
|
const operands = [
|
|
104
104
|
this.srcOffset,
|
|
@@ -112,7 +112,7 @@ export class Cast extends Instruction {
|
|
|
112
112
|
}
|
|
113
113
|
}
|
|
114
114
|
export class Mov extends Instruction {
|
|
115
|
-
|
|
115
|
+
addressingMode;
|
|
116
116
|
srcOffset;
|
|
117
117
|
dstOffset;
|
|
118
118
|
static type = 'MOV';
|
|
@@ -130,12 +130,12 @@ export class Mov extends Instruction {
|
|
|
130
130
|
OperandType.UINT16,
|
|
131
131
|
OperandType.UINT16
|
|
132
132
|
];
|
|
133
|
-
constructor(
|
|
134
|
-
super(), this.
|
|
133
|
+
constructor(addressingMode, srcOffset, dstOffset){
|
|
134
|
+
super(), this.addressingMode = addressingMode, this.srcOffset = srcOffset, this.dstOffset = dstOffset;
|
|
135
135
|
}
|
|
136
136
|
async execute(context) {
|
|
137
137
|
const memory = context.machineState.memory;
|
|
138
|
-
const addressing = Addressing.fromWire(this.
|
|
138
|
+
const addressing = Addressing.fromWire(this.addressingMode);
|
|
139
139
|
context.machineState.consumeGas(this.baseGasCost(addressing.indirectOperandsCount(), addressing.relativeOperandsCount()));
|
|
140
140
|
const operands = [
|
|
141
141
|
this.srcOffset,
|
|
@@ -147,7 +147,7 @@ export class Mov extends Instruction {
|
|
|
147
147
|
}
|
|
148
148
|
}
|
|
149
149
|
export class CalldataCopy extends Instruction {
|
|
150
|
-
|
|
150
|
+
addressingMode;
|
|
151
151
|
copySizeOffset;
|
|
152
152
|
cdStartOffset;
|
|
153
153
|
dstOffset;
|
|
@@ -161,12 +161,12 @@ export class CalldataCopy extends Instruction {
|
|
|
161
161
|
OperandType.UINT16,
|
|
162
162
|
OperandType.UINT16
|
|
163
163
|
];
|
|
164
|
-
constructor(
|
|
165
|
-
super(), this.
|
|
164
|
+
constructor(addressingMode, copySizeOffset, cdStartOffset, dstOffset){
|
|
165
|
+
super(), this.addressingMode = addressingMode, this.copySizeOffset = copySizeOffset, this.cdStartOffset = cdStartOffset, this.dstOffset = dstOffset;
|
|
166
166
|
}
|
|
167
167
|
async execute(context) {
|
|
168
168
|
const memory = context.machineState.memory;
|
|
169
|
-
const addressing = Addressing.fromWire(this.
|
|
169
|
+
const addressing = Addressing.fromWire(this.addressingMode);
|
|
170
170
|
context.machineState.consumeGas(this.baseGasCost(addressing.indirectOperandsCount(), addressing.relativeOperandsCount()));
|
|
171
171
|
const operands = [
|
|
172
172
|
this.copySizeOffset,
|
|
@@ -189,7 +189,7 @@ export class CalldataCopy extends Instruction {
|
|
|
189
189
|
}
|
|
190
190
|
}
|
|
191
191
|
export class ReturndataSize extends Instruction {
|
|
192
|
-
|
|
192
|
+
addressingMode;
|
|
193
193
|
dstOffset;
|
|
194
194
|
static type = 'RETURNDATASIZE';
|
|
195
195
|
static opcode = Opcode.RETURNDATASIZE;
|
|
@@ -199,22 +199,22 @@ export class ReturndataSize extends Instruction {
|
|
|
199
199
|
OperandType.UINT8,
|
|
200
200
|
OperandType.UINT16
|
|
201
201
|
];
|
|
202
|
-
constructor(
|
|
203
|
-
super(), this.
|
|
202
|
+
constructor(addressingMode, dstOffset){
|
|
203
|
+
super(), this.addressingMode = addressingMode, this.dstOffset = dstOffset;
|
|
204
204
|
}
|
|
205
205
|
async execute(context) {
|
|
206
206
|
const memory = context.machineState.memory;
|
|
207
|
-
const addressing = Addressing.fromWire(this.
|
|
207
|
+
const addressing = Addressing.fromWire(this.addressingMode);
|
|
208
208
|
context.machineState.consumeGas(this.baseGasCost(addressing.indirectOperandsCount(), addressing.relativeOperandsCount()));
|
|
209
209
|
const operands = [
|
|
210
210
|
this.dstOffset
|
|
211
211
|
];
|
|
212
212
|
const [dstOffset] = addressing.resolve(operands, memory);
|
|
213
|
-
memory.set(dstOffset, new Uint32(context.machineState.nestedReturndata.length));
|
|
213
|
+
memory.set(dstOffset, new Uint32(context.machineState.nestedReturndata.length()));
|
|
214
214
|
}
|
|
215
215
|
}
|
|
216
216
|
export class ReturndataCopy extends Instruction {
|
|
217
|
-
|
|
217
|
+
addressingMode;
|
|
218
218
|
copySizeOffset;
|
|
219
219
|
rdStartOffset;
|
|
220
220
|
dstOffset;
|
|
@@ -228,12 +228,12 @@ export class ReturndataCopy extends Instruction {
|
|
|
228
228
|
OperandType.UINT16,
|
|
229
229
|
OperandType.UINT16
|
|
230
230
|
];
|
|
231
|
-
constructor(
|
|
232
|
-
super(), this.
|
|
231
|
+
constructor(addressingMode, copySizeOffset, rdStartOffset, dstOffset){
|
|
232
|
+
super(), this.addressingMode = addressingMode, this.copySizeOffset = copySizeOffset, this.rdStartOffset = rdStartOffset, this.dstOffset = dstOffset;
|
|
233
233
|
}
|
|
234
234
|
async execute(context) {
|
|
235
235
|
const memory = context.machineState.memory;
|
|
236
|
-
const addressing = Addressing.fromWire(this.
|
|
236
|
+
const addressing = Addressing.fromWire(this.addressingMode);
|
|
237
237
|
context.machineState.consumeGas(this.baseGasCost(addressing.indirectOperandsCount(), addressing.relativeOperandsCount()));
|
|
238
238
|
const operands = [
|
|
239
239
|
this.copySizeOffset,
|
|
@@ -2,7 +2,7 @@ import type { AvmContext } from '../avm_context.js';
|
|
|
2
2
|
import { Opcode, OperandType } from '../serialization/instruction_serialization.js';
|
|
3
3
|
import { Instruction } from './instruction.js';
|
|
4
4
|
export declare class DebugLog extends Instruction {
|
|
5
|
-
private
|
|
5
|
+
private addressingMode;
|
|
6
6
|
private levelOffset;
|
|
7
7
|
private messageOffset;
|
|
8
8
|
private fieldsOffset;
|
|
@@ -12,7 +12,7 @@ export declare class DebugLog extends Instruction {
|
|
|
12
12
|
static readonly opcode: Opcode;
|
|
13
13
|
static readonly logger: import("@aztec/foundation/log").Logger;
|
|
14
14
|
static readonly wireFormat: OperandType[];
|
|
15
|
-
constructor(
|
|
15
|
+
constructor(addressingMode: number, levelOffset: number, messageOffset: number, fieldsOffset: number, fieldsSizeOffset: number, messageSize: number);
|
|
16
16
|
execute(context: AvmContext): Promise<void>;
|
|
17
17
|
}
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlzYy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3B1YmxpYy9hdm0vb3Bjb2Rlcy9taXNjLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXBELE9BQU8sRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFFcEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRS9DLHFCQUFhLFFBQVMsU0FBUSxXQUFXO0lBaUJyQyxPQUFPLENBQUMsY0FBYztJQUN0QixPQUFPLENBQUMsV0FBVztJQUNuQixPQUFPLENBQUMsYUFBYTtJQUNyQixPQUFPLENBQUMsWUFBWTtJQUNwQixPQUFPLENBQUMsZ0JBQWdCO0lBQ3hCLE9BQU8sQ0FBQyxXQUFXO0lBckJyQixNQUFNLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBYztJQUNqQyxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQW1CO0lBQ2pELE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSx5Q0FBMkM7SUFHakUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsV0FBVyxFQUFFLENBUXZDO0lBRUYsWUFDVSxjQUFjLEVBQUUsTUFBTSxFQUN0QixXQUFXLEVBQUUsTUFBTSxFQUNuQixhQUFhLEVBQUUsTUFBTSxFQUNyQixZQUFZLEVBQUUsTUFBTSxFQUNwQixnQkFBZ0IsRUFBRSxNQUFNLEVBQ3hCLFdBQVcsRUFBRSxNQUFNLEVBRzVCO0lBRVksT0FBTyxDQUFDLE9BQU8sRUFBRSxVQUFVLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQWlFdkQ7Q0FDRiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"misc.d.ts","sourceRoot":"","sources":["../../../../src/public/avm/opcodes/misc.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,+CAA+C,CAAC;AAEpF,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,qBAAa,QAAS,SAAQ,WAAW;IAiBrC,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"misc.d.ts","sourceRoot":"","sources":["../../../../src/public/avm/opcodes/misc.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,+CAA+C,CAAC;AAEpF,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,qBAAa,QAAS,SAAQ,WAAW;IAiBrC,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,WAAW;IArBrB,MAAM,CAAC,IAAI,EAAE,MAAM,CAAc;IACjC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAmB;IACjD,MAAM,CAAC,QAAQ,CAAC,MAAM,yCAA2C;IAGjE,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,WAAW,EAAE,CAQvC;IAEF,YACU,cAAc,EAAE,MAAM,EACtB,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,EACrB,YAAY,EAAE,MAAM,EACpB,gBAAgB,EAAE,MAAM,EACxB,WAAW,EAAE,MAAM,EAG5B;IAEY,OAAO,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAiEvD;CACF"}
|
|
@@ -4,7 +4,7 @@ import { Opcode, OperandType } from '../serialization/instruction_serialization.
|
|
|
4
4
|
import { Addressing } from './addressing_mode.js';
|
|
5
5
|
import { Instruction } from './instruction.js';
|
|
6
6
|
export class DebugLog extends Instruction {
|
|
7
|
-
|
|
7
|
+
addressingMode;
|
|
8
8
|
levelOffset;
|
|
9
9
|
messageOffset;
|
|
10
10
|
fieldsOffset;
|
|
@@ -23,12 +23,12 @@ export class DebugLog extends Instruction {
|
|
|
23
23
|
OperandType.UINT16,
|
|
24
24
|
OperandType.UINT16
|
|
25
25
|
];
|
|
26
|
-
constructor(
|
|
27
|
-
super(), this.
|
|
26
|
+
constructor(addressingMode, levelOffset, messageOffset, fieldsOffset, fieldsSizeOffset, messageSize){
|
|
27
|
+
super(), this.addressingMode = addressingMode, this.levelOffset = levelOffset, this.messageOffset = messageOffset, this.fieldsOffset = fieldsOffset, this.fieldsSizeOffset = fieldsSizeOffset, this.messageSize = messageSize;
|
|
28
28
|
}
|
|
29
29
|
async execute(context) {
|
|
30
30
|
const memory = context.machineState.memory;
|
|
31
|
-
const addressing = Addressing.fromWire(this.
|
|
31
|
+
const addressing = Addressing.fromWire(this.addressingMode);
|
|
32
32
|
context.machineState.consumeGas(this.baseGasCost(addressing.indirectOperandsCount(), addressing.relativeOperandsCount()));
|
|
33
33
|
const operands = [
|
|
34
34
|
this.levelOffset,
|
|
@@ -1,24 +1,25 @@
|
|
|
1
1
|
import type { AvmContext } from '../avm_context.js';
|
|
2
2
|
import { Opcode, OperandType } from '../serialization/instruction_serialization.js';
|
|
3
3
|
import { Instruction } from './instruction.js';
|
|
4
|
-
declare
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
static readonly wireFormat: OperandType[];
|
|
9
|
-
constructor(indirect: number, aOffset: number, bOffset: number);
|
|
10
|
-
}
|
|
11
|
-
export declare class SStore extends BaseStorageInstruction {
|
|
4
|
+
export declare class SStore extends Instruction {
|
|
5
|
+
private addressingMode;
|
|
6
|
+
private srcOffset;
|
|
7
|
+
private slotOffset;
|
|
12
8
|
static readonly type: string;
|
|
13
|
-
static readonly opcode
|
|
14
|
-
|
|
9
|
+
static readonly opcode = Opcode.SSTORE;
|
|
10
|
+
static readonly wireFormat: OperandType[];
|
|
11
|
+
constructor(addressingMode: number, srcOffset: number, slotOffset: number);
|
|
15
12
|
execute(context: AvmContext): Promise<void>;
|
|
16
13
|
}
|
|
17
|
-
export declare class SLoad extends
|
|
14
|
+
export declare class SLoad extends Instruction {
|
|
15
|
+
private addressingMode;
|
|
16
|
+
private slotOffset;
|
|
17
|
+
private contractAddressOffset;
|
|
18
|
+
private dstOffset;
|
|
18
19
|
static readonly type: string;
|
|
19
|
-
static readonly opcode
|
|
20
|
-
|
|
20
|
+
static readonly opcode = Opcode.SLOAD;
|
|
21
|
+
static readonly wireFormat: OperandType[];
|
|
22
|
+
constructor(addressingMode: number, slotOffset: number, contractAddressOffset: number, dstOffset: number);
|
|
21
23
|
execute(context: AvmContext): Promise<void>;
|
|
22
24
|
}
|
|
23
|
-
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3B1YmxpYy9hdm0vb3Bjb2Rlcy9zdG9yYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBR3BELE9BQU8sRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFFcEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRS9DLHVCQUFlLHNCQUF1QixTQUFRLFdBQVc7SUFVckQsU0FBUyxDQUFDLFFBQVEsRUFBRSxNQUFNO0lBQzFCLFNBQVMsQ0FBQyxPQUFPLEVBQUUsTUFBTTtJQUN6QixTQUFTLENBQUMsT0FBTyxFQUFFLE1BQU07SUFWM0IsZ0JBQXVCLFVBQVUsRUFBRSxXQUFXLEVBQUUsQ0FLOUM7SUFFRixZQUNZLFFBQVEsRUFBRSxNQUFNLEVBQ2hCLE9BQU8sRUFBRSxNQUFNLEVBQ2YsT0FBTyxFQUFFLE1BQU0sRUFHMUI7Q0FDRjtBQUVELHFCQUFhLE1BQU8sU0FBUSxzQkFBc0I7SUFDaEQsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFZO0lBQ3hDLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxTQUFpQjtJQUV2QyxZQUFZLFFBQVEsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUVsRTtJQUVZLE9BQU8sQ0FBQyxPQUFPLEVBQUUsVUFBVSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0EwQnZEO0NBQ0Y7QUFFRCxxQkFBYSxLQUFNLFNBQVEsc0JBQXNCO0lBQy9DLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBVztJQUN2QyxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sU0FBZ0I7SUFFdEMsWUFBWSxRQUFRLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFFbEU7SUFFWSxPQUFPLENBQUMsT0FBTyxFQUFFLFVBQVUsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBZXZEO0NBQ0YifQ==
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3B1YmxpYy9hdm0vb3Bjb2Rlcy9zdG9yYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBR3BELE9BQU8sRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFFcEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRS9DLHFCQUFhLE1BQU8sU0FBUSxXQUFXO0lBWW5DLE9BQU8sQ0FBQyxjQUFjO0lBQ3RCLE9BQU8sQ0FBQyxTQUFTO0lBQ2pCLE9BQU8sQ0FBQyxVQUFVO0lBYnBCLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBWTtJQUN4QyxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0saUJBQWlCO0lBRXZDLGdCQUF1QixVQUFVLEVBQUUsV0FBVyxFQUFFLENBSzlDO0lBRUYsWUFDVSxjQUFjLEVBQUUsTUFBTSxFQUN0QixTQUFTLEVBQUUsTUFBTSxFQUNqQixVQUFVLEVBQUUsTUFBTSxFQUczQjtJQUVZLE9BQU8sQ0FBQyxPQUFPLEVBQUUsVUFBVSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0EwQnZEO0NBQ0Y7QUFFRCxxQkFBYSxLQUFNLFNBQVEsV0FBVztJQWFsQyxPQUFPLENBQUMsY0FBYztJQUN0QixPQUFPLENBQUMsVUFBVTtJQUNsQixPQUFPLENBQUMscUJBQXFCO0lBQzdCLE9BQU8sQ0FBQyxTQUFTO0lBZm5CLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBVztJQUN2QyxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sZ0JBQWdCO0lBRXRDLGdCQUF1QixVQUFVLEVBQUUsV0FBVyxFQUFFLENBTTlDO0lBRUYsWUFDVSxjQUFjLEVBQUUsTUFBTSxFQUN0QixVQUFVLEVBQUUsTUFBTSxFQUNsQixxQkFBcUIsRUFBRSxNQUFNLEVBQzdCLFNBQVMsRUFBRSxNQUFNLEVBRzFCO0lBRVksT0FBTyxDQUFDLE9BQU8sRUFBRSxVQUFVLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQWlCdkQ7Q0FDRiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../../src/public/avm/opcodes/storage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAGpD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,+CAA+C,CAAC;AAEpF,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,
|
|
1
|
+
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../../src/public/avm/opcodes/storage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAGpD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,+CAA+C,CAAC;AAEpF,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,qBAAa,MAAO,SAAQ,WAAW;IAYnC,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,UAAU;IAbpB,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAY;IACxC,MAAM,CAAC,QAAQ,CAAC,MAAM,iBAAiB;IAEvC,gBAAuB,UAAU,EAAE,WAAW,EAAE,CAK9C;IAEF,YACU,cAAc,EAAE,MAAM,EACtB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAG3B;IAEY,OAAO,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CA0BvD;CACF;AAED,qBAAa,KAAM,SAAQ,WAAW;IAalC,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,qBAAqB;IAC7B,OAAO,CAAC,SAAS;IAfnB,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAW;IACvC,MAAM,CAAC,QAAQ,CAAC,MAAM,gBAAgB;IAEtC,gBAAuB,UAAU,EAAE,WAAW,EAAE,CAM9C;IAEF,YACU,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,MAAM,EAClB,qBAAqB,EAAE,MAAM,EAC7B,SAAS,EAAE,MAAM,EAG1B;IAEY,OAAO,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAiBvD;CACF"}
|
|
@@ -3,10 +3,12 @@ import { StaticCallAlterationError } from '../errors.js';
|
|
|
3
3
|
import { Opcode, OperandType } from '../serialization/instruction_serialization.js';
|
|
4
4
|
import { Addressing } from './addressing_mode.js';
|
|
5
5
|
import { Instruction } from './instruction.js';
|
|
6
|
-
class
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
6
|
+
export class SStore extends Instruction {
|
|
7
|
+
addressingMode;
|
|
8
|
+
srcOffset;
|
|
9
|
+
slotOffset;
|
|
10
|
+
static type = 'SSTORE';
|
|
11
|
+
static opcode = Opcode.SSTORE;
|
|
10
12
|
// Informs (de)serialization. See Instruction.deserialize.
|
|
11
13
|
static wireFormat = [
|
|
12
14
|
OperandType.UINT8,
|
|
@@ -14,26 +16,19 @@ class BaseStorageInstruction extends Instruction {
|
|
|
14
16
|
OperandType.UINT16,
|
|
15
17
|
OperandType.UINT16
|
|
16
18
|
];
|
|
17
|
-
constructor(
|
|
18
|
-
super(), this.
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
export class SStore extends BaseStorageInstruction {
|
|
22
|
-
static type = 'SSTORE';
|
|
23
|
-
static opcode = Opcode.SSTORE;
|
|
24
|
-
constructor(indirect, srcOffset, slotOffset){
|
|
25
|
-
super(indirect, srcOffset, slotOffset);
|
|
19
|
+
constructor(addressingMode, srcOffset, slotOffset){
|
|
20
|
+
super(), this.addressingMode = addressingMode, this.srcOffset = srcOffset, this.slotOffset = slotOffset;
|
|
26
21
|
}
|
|
27
22
|
async execute(context) {
|
|
28
23
|
if (context.environment.isStaticCall) {
|
|
29
24
|
throw new StaticCallAlterationError();
|
|
30
25
|
}
|
|
31
26
|
const memory = context.machineState.memory;
|
|
32
|
-
const addressing = Addressing.fromWire(this.
|
|
27
|
+
const addressing = Addressing.fromWire(this.addressingMode);
|
|
33
28
|
context.machineState.consumeGas(this.baseGasCost(addressing.indirectOperandsCount(), addressing.relativeOperandsCount()));
|
|
34
29
|
const operands = [
|
|
35
|
-
this.
|
|
36
|
-
this.
|
|
30
|
+
this.srcOffset,
|
|
31
|
+
this.slotOffset
|
|
37
32
|
];
|
|
38
33
|
const [srcOffset, slotOffset] = addressing.resolve(operands, memory);
|
|
39
34
|
// We read before tag checking since it's needed for gas cost calculation
|
|
@@ -45,24 +40,39 @@ export class SStore extends BaseStorageInstruction {
|
|
|
45
40
|
await context.persistableState.writeStorage(context.environment.address, slot, value);
|
|
46
41
|
}
|
|
47
42
|
}
|
|
48
|
-
export class SLoad extends
|
|
43
|
+
export class SLoad extends Instruction {
|
|
44
|
+
addressingMode;
|
|
45
|
+
slotOffset;
|
|
46
|
+
contractAddressOffset;
|
|
47
|
+
dstOffset;
|
|
49
48
|
static type = 'SLOAD';
|
|
50
49
|
static opcode = Opcode.SLOAD;
|
|
51
|
-
|
|
52
|
-
|
|
50
|
+
// Informs (de)serialization. See Instruction.deserialize.
|
|
51
|
+
static wireFormat = [
|
|
52
|
+
OperandType.UINT8,
|
|
53
|
+
OperandType.UINT8,
|
|
54
|
+
OperandType.UINT16,
|
|
55
|
+
OperandType.UINT16,
|
|
56
|
+
OperandType.UINT16
|
|
57
|
+
];
|
|
58
|
+
constructor(addressingMode, slotOffset, contractAddressOffset, dstOffset){
|
|
59
|
+
super(), this.addressingMode = addressingMode, this.slotOffset = slotOffset, this.contractAddressOffset = contractAddressOffset, this.dstOffset = dstOffset;
|
|
53
60
|
}
|
|
54
61
|
async execute(context) {
|
|
55
62
|
const memory = context.machineState.memory;
|
|
56
|
-
const addressing = Addressing.fromWire(this.
|
|
63
|
+
const addressing = Addressing.fromWire(this.addressingMode);
|
|
57
64
|
context.machineState.consumeGas(this.baseGasCost(addressing.indirectOperandsCount(), addressing.relativeOperandsCount()));
|
|
58
65
|
const operands = [
|
|
59
|
-
this.
|
|
60
|
-
this.
|
|
66
|
+
this.slotOffset,
|
|
67
|
+
this.contractAddressOffset,
|
|
68
|
+
this.dstOffset
|
|
61
69
|
];
|
|
62
|
-
const [slotOffset, dstOffset] = addressing.resolve(operands, memory);
|
|
70
|
+
const [slotOffset, contractAddressOffset, dstOffset] = addressing.resolve(operands, memory);
|
|
63
71
|
memory.checkTag(TypeTag.FIELD, slotOffset);
|
|
72
|
+
memory.checkTag(TypeTag.FIELD, contractAddressOffset);
|
|
64
73
|
const slot = memory.get(slotOffset).toFr();
|
|
65
|
-
const
|
|
74
|
+
const contractAddress = memory.get(contractAddressOffset).toAztecAddress();
|
|
75
|
+
const value = await context.persistableState.readStorage(contractAddress, slot);
|
|
66
76
|
memory.set(dstOffset, new Field(value));
|
|
67
77
|
}
|
|
68
78
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Fr } from '@aztec/foundation/
|
|
1
|
+
import type { Fr } from '@aztec/foundation/curves/bn254';
|
|
2
2
|
import type { AvmContext } from './avm_context.js';
|
|
3
3
|
import { type AvmExecutionError, AvmRevertReason } from './errors.js';
|
|
4
4
|
/**
|
|
@@ -15,4 +15,4 @@ export declare function revertReasonFromExceptionalHalt(haltingError: AvmExecuti
|
|
|
15
15
|
* @param context - the context of the AVM execution used to extract the failingFunction and noirCallStack
|
|
16
16
|
*/
|
|
17
17
|
export declare function revertReasonFromExplicitRevert(revertData: Fr[], context: AvmContext): Promise<AvmRevertReason>;
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmV2ZXJ0X3JlYXNvbi5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3B1YmxpYy9hdm0vcmV2ZXJ0X3JlYXNvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUV6RCxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsS0FBSyxpQkFBaUIsRUFBRSxlQUFlLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFpQ3RFOzs7OztHQUtHO0FBQ0gsd0JBQXNCLCtCQUErQixDQUNuRCxZQUFZLEVBQUUsaUJBQWlCLEVBQy9CLE9BQU8sRUFBRSxVQUFVLEdBQ2xCLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FFMUI7QUFFRDs7Ozs7R0FLRztBQUNILHdCQUFzQiw4QkFBOEIsQ0FBQyxVQUFVLEVBQUUsRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLFVBQVUsR0FBRyxPQUFPLENBQUMsZUFBZSxDQUFDLENBRXBIIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"revert_reason.d.ts","sourceRoot":"","sources":["../../../src/public/avm/revert_reason.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"revert_reason.d.ts","sourceRoot":"","sources":["../../../src/public/avm/revert_reason.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,KAAK,iBAAiB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAiCtE;;;;;GAKG;AACH,wBAAsB,+BAA+B,CACnD,YAAY,EAAE,iBAAiB,EAC/B,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC,eAAe,CAAC,CAE1B;AAED;;;;;GAKG;AACH,wBAAsB,8BAA8B,CAAC,UAAU,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,eAAe,CAAC,CAEpH"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Fr } from '@aztec/foundation/
|
|
1
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
2
2
|
import type { ContractClassPublic, ContractInstanceWithAddress } from '@aztec/stdlib/contract';
|
|
3
3
|
import type { PublicContractsDB, PublicTreesDB } from '../public_db_sources.js';
|
|
4
4
|
import type { PublicSideEffectTraceInterface } from '../side_effect_trace_interface.js';
|
|
@@ -12,4 +12,4 @@ export declare function mockGetL1ToL2LeafValue(worldStateDB: PublicTreesDB, leaf
|
|
|
12
12
|
export declare function mockGetContractInstance(contractsDB: PublicContractsDB, contractInstance: ContractInstanceWithAddress): void;
|
|
13
13
|
export declare function mockGetContractClass(contractsDB: PublicContractsDB, contractClass: ContractClassPublic): void;
|
|
14
14
|
export declare function mockGetBytecodeCommitment(contractsDB: PublicContractsDB, commitment: Fr): void;
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdF91dGlscy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3B1YmxpYy9hdm0vdGVzdF91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEQsT0FBTyxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUsvRixPQUFPLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxhQUFhLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNoRixPQUFPLEtBQUssRUFBRSw4QkFBOEIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRXhGLHdCQUFnQixhQUFhLENBQUMsS0FBSyxFQUFFLDhCQUE4QixFQUFFLFdBQVcsQ0FBQyxFQUFFLDhCQUE4QixRQUloSDtBQUVELHdCQUFnQixlQUFlLENBQUMsWUFBWSxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsRUFBRSxRQUVyRTtBQUVELHdCQUFnQixpQkFBaUIsQ0FBQyxXQUFXLEVBQUUsOEJBQThCLEVBQUUsS0FBSyxFQUFFLE1BQU0sUUFFM0Y7QUFFRCx3QkFBZ0Isc0JBQXNCLENBQUMsWUFBWSxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsR0FBRyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsUUFJakc7QUFFRCx3QkFBZ0IsZUFBZSxDQUFDLFlBQVksRUFBRSxhQUFhLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLFFBUTFGO0FBRUQsd0JBQWdCLHdCQUF3QixDQUFDLFlBQVksRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxhQUFhLENBQUMsRUFBRSxFQUFFLFFBRXhHO0FBRUQsd0JBQWdCLHNCQUFzQixDQUFDLFlBQVksRUFBRSxhQUFhLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLFFBUWhHO0FBRUQsd0JBQWdCLHVCQUF1QixDQUFDLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBRSwyQkFBMkIsUUFFcEg7QUFFRCx3QkFBZ0Isb0JBQW9CLENBQUMsV0FBVyxFQUFFLGlCQUFpQixFQUFFLGFBQWEsRUFBRSxtQkFBbUIsUUFFdEc7QUFFRCx3QkFBZ0IseUJBQXlCLENBQUMsV0FBVyxFQUFFLGlCQUFpQixFQUFFLFVBQVUsRUFBRSxFQUFFLFFBRXZGIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test_utils.d.ts","sourceRoot":"","sources":["../../../src/public/avm/test_utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"test_utils.d.ts","sourceRoot":"","sources":["../../../src/public/avm/test_utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,KAAK,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAK/F,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAChF,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,mCAAmC,CAAC;AAExF,wBAAgB,aAAa,CAAC,KAAK,EAAE,8BAA8B,EAAE,WAAW,CAAC,EAAE,8BAA8B,QAIhH;AAED,wBAAgB,eAAe,CAAC,YAAY,EAAE,aAAa,EAAE,KAAK,EAAE,EAAE,QAErE;AAED,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,8BAA8B,EAAE,KAAK,EAAE,MAAM,QAE3F;AAED,wBAAgB,sBAAsB,CAAC,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,QAIjG;AAED,wBAAgB,eAAe,CAAC,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,EAAE,QAQ1F;AAED,wBAAgB,wBAAwB,CAAC,YAAY,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,CAAC,EAAE,EAAE,QAExG;AAED,wBAAgB,sBAAsB,CAAC,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,EAAE,QAQhG;AAED,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,2BAA2B,QAEpH;AAED,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,iBAAiB,EAAE,aAAa,EAAE,mBAAmB,QAEtG;AAED,wBAAgB,yBAAyB,CAAC,WAAW,EAAE,iBAAiB,EAAE,UAAU,EAAE,EAAE,QAEvF"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Fr } from '@aztec/foundation/
|
|
1
|
+
import type { Fr } from '@aztec/foundation/curves/bn254';
|
|
2
2
|
import type { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
3
3
|
import type { ContractClassPublic, ContractInstanceWithAddress } from '@aztec/stdlib/contract';
|
|
4
4
|
export declare class ContractsDbCheckpoint {
|
|
@@ -13,4 +13,4 @@ export declare class ContractsDbCheckpoint {
|
|
|
13
13
|
getBytecodeCommitment(classId: Fr): Fr | undefined;
|
|
14
14
|
deepCopy(): ContractsDbCheckpoint;
|
|
15
15
|
}
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3RzX2RiX2NoZWNrcG9pbnQuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wdWJsaWMvY29udHJhY3RzX2RiX2NoZWNrcG9pbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDekQsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDaEUsT0FBTyxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUUvRixxQkFBYSxxQkFBcUI7SUFDaEMsT0FBTyxDQUFDLFNBQVMsQ0FBdUQ7SUFDeEUsT0FBTyxDQUFDLE9BQU8sQ0FBK0M7SUFDOUQsT0FBTyxDQUFDLG1CQUFtQixDQUE4QjtJQUVsRCxXQUFXLENBQUMsT0FBTyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsMkJBQTJCLEdBQUcsSUFBSSxDQUVyRjtJQUVNLFFBQVEsQ0FBQyxPQUFPLEVBQUUsRUFBRSxFQUFFLGFBQWEsRUFBRSxtQkFBbUIsR0FBRyxJQUFJLENBRXJFO0lBRU0scUJBQXFCLENBQUMsT0FBTyxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUUsRUFBRSxHQUFHLElBQUksQ0FFOUQ7SUFFTSxXQUFXLENBQUMsT0FBTyxFQUFFLFlBQVksR0FBRywyQkFBMkIsR0FBRyxTQUFTLENBRWpGO0lBRU0sUUFBUSxDQUFDLE9BQU8sRUFBRSxFQUFFLEdBQUcsbUJBQW1CLEdBQUcsU0FBUyxDQUU1RDtJQUVNLHFCQUFxQixDQUFDLE9BQU8sRUFBRSxFQUFFLEdBQUcsRUFBRSxHQUFHLFNBQVMsQ0FFeEQ7SUFFTSxRQUFRLElBQUkscUJBQXFCLENBTXZDO0NBQ0YifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contracts_db_checkpoint.d.ts","sourceRoot":"","sources":["../../src/public/contracts_db_checkpoint.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"contracts_db_checkpoint.d.ts","sourceRoot":"","sources":["../../src/public/contracts_db_checkpoint.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAE/F,qBAAa,qBAAqB;IAChC,OAAO,CAAC,SAAS,CAAuD;IACxE,OAAO,CAAC,OAAO,CAA+C;IAC9D,OAAO,CAAC,mBAAmB,CAA8B;IAElD,WAAW,CAAC,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,2BAA2B,GAAG,IAAI,CAErF;IAEM,QAAQ,CAAC,OAAO,EAAE,EAAE,EAAE,aAAa,EAAE,mBAAmB,GAAG,IAAI,CAErE;IAEM,qBAAqB,CAAC,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,GAAG,IAAI,CAE9D;IAEM,WAAW,CAAC,OAAO,EAAE,YAAY,GAAG,2BAA2B,GAAG,SAAS,CAEjF;IAEM,QAAQ,CAAC,OAAO,EAAE,EAAE,GAAG,mBAAmB,GAAG,SAAS,CAE5D;IAEM,qBAAqB,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,GAAG,SAAS,CAExD;IAEM,QAAQ,IAAI,qBAAqB,CAMvC;CACF"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Fr } from '@aztec/foundation/
|
|
1
|
+
import type { Fr } from '@aztec/foundation/curves/bn254';
|
|
2
2
|
import type { FunctionSelector } from '@aztec/stdlib/abi';
|
|
3
3
|
import type { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
4
4
|
import type { ContractClassPublic, ContractInstanceWithAddress } from '@aztec/stdlib/contract';
|
|
@@ -65,4 +65,4 @@ export interface PublicContractsDBInterface {
|
|
|
65
65
|
*/
|
|
66
66
|
revertCheckpoint(): void;
|
|
67
67
|
}
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGJfaW50ZXJmYWNlcy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3B1YmxpYy9kYl9pbnRlcmZhY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3pELE9BQU8sS0FBSyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDMUQsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDaEUsT0FBTyxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMvRixPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVsRDs7R0FFRztBQUNILE1BQU0sV0FBVyxzQkFBc0I7SUFDckM7Ozs7O09BS0c7SUFDSCxXQUFXLENBQUMsUUFBUSxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUUzRDs7Ozs7T0FLRztJQUNILFlBQVksQ0FBQyxRQUFRLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLEVBQUUsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7Q0FDN0U7QUFFRDs7R0FFRztBQUNILE1BQU0sV0FBVywwQkFBMEI7SUFDekM7Ozs7O09BS0c7SUFDSCxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLDJCQUEyQixHQUFHLFNBQVMsQ0FBQyxDQUFDO0lBRWhIOzs7O09BSUc7SUFDSCxnQkFBZ0IsQ0FBQyxlQUFlLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxtQkFBbUIsR0FBRyxTQUFTLENBQUMsQ0FBQztJQUVoRjs7OztPQUlHO0lBQ0gscUJBQXFCLENBQUMsZUFBZSxFQUFFLEVBQUUsR0FBRyxPQUFPLENBQUMsRUFBRSxHQUFHLFNBQVMsQ0FBQyxDQUFDO0lBRXBFOzs7OztPQUtHO0lBQ0gsb0JBQW9CLENBQUMsZUFBZSxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEdBQUcsT0FBTyxDQUFDLE1BQU0sR0FBRyxTQUFTLENBQUMsQ0FBQztJQUU3Rzs7T0FFRztJQUNILGdCQUFnQixJQUFJLElBQUksQ0FBQztJQUV6Qjs7T0FFRztJQUNILGdCQUFnQixJQUFJLElBQUksQ0FBQztJQUV6Qjs7T0FFRztJQUNILGdCQUFnQixJQUFJLElBQUksQ0FBQztDQUMxQiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db_interfaces.d.ts","sourceRoot":"","sources":["../../src/public/db_interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"db_interfaces.d.ts","sourceRoot":"","sources":["../../src/public/db_interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAC/F,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC;;;;;OAKG;IACH,WAAW,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC;IAE3D;;;;;OAKG;IACH,YAAY,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7E;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC;;;;;OAKG;IACH,mBAAmB,CAAC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,2BAA2B,GAAG,SAAS,CAAC,CAAC;IAEhH;;;;OAIG;IACH,gBAAgB,CAAC,eAAe,EAAE,EAAE,GAAG,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC,CAAC;IAEhF;;;;OAIG;IACH,qBAAqB,CAAC,eAAe,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC;IAEpE;;;;;OAKG;IACH,oBAAoB,CAAC,eAAe,EAAE,YAAY,EAAE,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAE7G;;OAEG;IACH,gBAAgB,IAAI,IAAI,CAAC;IAEzB;;OAEG;IACH,gBAAgB,IAAI,IAAI,CAAC;IAEzB;;OAEG;IACH,gBAAgB,IAAI,IAAI,CAAC;CAC1B"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import type { Fr } from '@aztec/foundation/fields';
|
|
2
1
|
import { FunctionSelector } from '@aztec/stdlib/abi';
|
|
3
2
|
import type { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
3
|
+
import type { CallData } from './avm/calldata.js';
|
|
4
4
|
import type { PublicContractsDBInterface } from './db_interfaces.js';
|
|
5
|
-
export declare function getPublicFunctionDebugName(db: PublicContractsDBInterface, contractAddress: AztecAddress, calldata:
|
|
5
|
+
export declare function getPublicFunctionDebugName(db: PublicContractsDBInterface, contractAddress: AztecAddress, calldata: CallData): Promise<string>;
|
|
6
6
|
/**
|
|
7
7
|
* Get the function selector and optional debug name for a public function.
|
|
8
8
|
* Returns the selector and name separately, with name only populated if a debug name is available.
|
|
@@ -11,8 +11,8 @@ export declare function getPublicFunctionDebugName(db: PublicContractsDBInterfac
|
|
|
11
11
|
* @param calldata - The calldata (selector is in calldata[0])
|
|
12
12
|
* @returns An object with functionSelector (always if calldata[0] exists) and functionName (only if debug name found)
|
|
13
13
|
*/
|
|
14
|
-
export declare function getPublicFunctionSelectorAndName(db: PublicContractsDBInterface, contractAddress: AztecAddress, calldata:
|
|
14
|
+
export declare function getPublicFunctionSelectorAndName(db: PublicContractsDBInterface, contractAddress: AztecAddress, calldata: CallData): Promise<{
|
|
15
15
|
functionSelector?: FunctionSelector;
|
|
16
16
|
functionName?: string;
|
|
17
17
|
}>;
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVidWdfZm5fbmFtZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3B1YmxpYy9kZWJ1Z19mbl9uYW1lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3JELE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRWhFLE9BQU8sS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2xELE9BQU8sS0FBSyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFckUsd0JBQXNCLDBCQUEwQixDQUM5QyxFQUFFLEVBQUUsMEJBQTBCLEVBQzlCLGVBQWUsRUFBRSxZQUFZLEVBQzdCLFFBQVEsRUFBRSxRQUFRLEdBQ2pCLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FZakI7QUFFRDs7Ozs7OztHQU9HO0FBQ0gsd0JBQXNCLGdDQUFnQyxDQUNwRCxFQUFFLEVBQUUsMEJBQTBCLEVBQzlCLGVBQWUsRUFBRSxZQUFZLEVBQzdCLFFBQVEsRUFBRSxRQUFRLEdBQ2pCLE9BQU8sQ0FBQztJQUFFLGdCQUFnQixDQUFDLEVBQUUsZ0JBQWdCLENBQUM7SUFBQyxZQUFZLENBQUMsRUFBRSxNQUFNLENBQUE7Q0FBRSxDQUFDLENBZXpFIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debug_fn_name.d.ts","sourceRoot":"","sources":["../../src/public/debug_fn_name.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"debug_fn_name.d.ts","sourceRoot":"","sources":["../../src/public/debug_fn_name.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAEhE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAErE,wBAAsB,0BAA0B,CAC9C,EAAE,EAAE,0BAA0B,EAC9B,eAAe,EAAE,YAAY,EAC7B,QAAQ,EAAE,QAAQ,GACjB,OAAO,CAAC,MAAM,CAAC,CAYjB;AAED;;;;;;;GAOG;AACH,wBAAsB,gCAAgC,CACpD,EAAE,EAAE,0BAA0B,EAC9B,eAAe,EAAE,YAAY,EAC7B,QAAQ,EAAE,QAAQ,GACjB,OAAO,CAAC;IAAE,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAezE"}
|
|
@@ -1,11 +1,16 @@
|
|
|
1
1
|
import { FunctionSelector } from '@aztec/stdlib/abi';
|
|
2
2
|
export async function getPublicFunctionDebugName(db, contractAddress, calldata) {
|
|
3
3
|
// Public function is dispatched and therefore the target function is passed in the first argument.
|
|
4
|
-
|
|
4
|
+
const selectorField = calldata.read(0);
|
|
5
|
+
if (!selectorField) {
|
|
5
6
|
return `<calldata[0] undefined> (Contract Address: ${contractAddress})`;
|
|
6
7
|
}
|
|
7
|
-
const
|
|
8
|
-
|
|
8
|
+
const fallbackName = `<calldata[0]:${selectorField.toString()}> (Contract Address: ${contractAddress})`;
|
|
9
|
+
const selector = FunctionSelector.fromFieldOrUndefined(selectorField);
|
|
10
|
+
if (!selector) {
|
|
11
|
+
return fallbackName;
|
|
12
|
+
}
|
|
13
|
+
return await db.getDebugFunctionName(contractAddress, selector) ?? fallbackName;
|
|
9
14
|
}
|
|
10
15
|
/**
|
|
11
16
|
* Get the function selector and optional debug name for a public function.
|
|
@@ -16,10 +21,14 @@ export async function getPublicFunctionDebugName(db, contractAddress, calldata)
|
|
|
16
21
|
* @returns An object with functionSelector (always if calldata[0] exists) and functionName (only if debug name found)
|
|
17
22
|
*/ export async function getPublicFunctionSelectorAndName(db, contractAddress, calldata) {
|
|
18
23
|
// Public function is dispatched and therefore the target function is passed in the first argument.
|
|
19
|
-
|
|
24
|
+
const selectorField = calldata.read(0);
|
|
25
|
+
if (!selectorField) {
|
|
26
|
+
return {};
|
|
27
|
+
}
|
|
28
|
+
const selector = FunctionSelector.fromFieldOrUndefined(selectorField);
|
|
29
|
+
if (!selector) {
|
|
20
30
|
return {};
|
|
21
31
|
}
|
|
22
|
-
const selector = FunctionSelector.fromField(calldata[0]);
|
|
23
32
|
const debugName = await db.getDebugFunctionName(contractAddress, selector);
|
|
24
33
|
return {
|
|
25
34
|
functionSelector: selector,
|
|
@@ -18,4 +18,4 @@ export declare class ExecutorMetrics implements ExecutorMetricsInterface {
|
|
|
18
18
|
recordEnqueuedCallSimulationFailure(_fnName: string, _durationMs: number, _manaUsed: number, _totalInstructionsExecuted: number): void;
|
|
19
19
|
recordPrivateEffectsInsertion(durationUs: number, type: 'revertible' | 'non-revertible'): void;
|
|
20
20
|
}
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhlY3V0b3JfbWV0cmljcy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3B1YmxpYy9leGVjdXRvcl9tZXRyaWNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFJTCxLQUFLLGVBQWUsRUFDcEIsS0FBSyxNQUFNLEVBR1osTUFBTSx5QkFBeUIsQ0FBQztBQUVqQyxPQUFPLEtBQUssRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRWhGLHFCQUFhLGVBQWdCLFlBQVcsd0JBQXdCO0lBQzlELFNBQWdCLE1BQU0sRUFBRSxNQUFNLENBQUM7SUFDL0IsT0FBTyxDQUFDLE9BQU8sQ0FBZ0I7SUFDL0IsT0FBTyxDQUFDLFVBQVUsQ0FBWTtJQUM5QixPQUFPLENBQUMsYUFBYSxDQUFZO0lBQ2pDLE9BQU8sQ0FBQyxRQUFRLENBQVk7SUFDNUIsT0FBTyxDQUFDLHlCQUF5QixDQUFZO0lBQzdDLE9BQU8sQ0FBQyxTQUFTLENBQVk7SUFDN0IsT0FBTyxDQUFDLHdCQUF3QixDQUFZO0lBRTVDLFlBQVksTUFBTSxFQUFFLGVBQWUsRUFBRSxJQUFJLFNBQW1CLEVBbUIzRDtJQUVELDBCQUEwQixDQUFDLFFBQVEsRUFBRSxNQUFNLFFBRTFDO0lBRUQseUJBQXlCLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxRQUFRLENBQUMsRUFBRSxPQUFPLEVBQUUsYUFBYSxDQUFDLEVBQUUsVUFBVSxRQUV6RjtJQUVELDRCQUE0QixDQUMxQixNQUFNLEVBQUUsTUFBTSxFQUNkLFVBQVUsRUFBRSxNQUFNLEVBQ2xCLFFBQVEsRUFBRSxNQUFNLEVBQ2hCLHlCQUF5QixFQUFFLE1BQU0sUUFxQmxDO0lBRUQsbUNBQW1DLENBQ2pDLE9BQU8sRUFBRSxNQUFNLEVBQ2YsV0FBVyxFQUFFLE1BQU0sRUFDbkIsU0FBUyxFQUFFLE1BQU0sRUFDakIsMEJBQTBCLEVBQUUsTUFBTSxRQUtuQztJQUVELDZCQUE2QixDQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFlBQVksR0FBRyxnQkFBZ0IsUUFJdEY7Q0FDRiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executor_metrics.d.ts","sourceRoot":"","sources":["../../src/public/executor_metrics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAIL,KAAK,eAAe,EACpB,KAAK,MAAM,EAGZ,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAEhF,qBAAa,eAAgB,YAAW,wBAAwB;IAC9D,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,UAAU,CAAY;IAC9B,OAAO,CAAC,aAAa,CAAY;IACjC,OAAO,CAAC,QAAQ,CAAY;IAC5B,OAAO,CAAC,yBAAyB,CAAY;IAC7C,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,wBAAwB,CAAY;IAE5C,YAAY,MAAM,EAAE,eAAe,EAAE,IAAI,SAAmB,
|
|
1
|
+
{"version":3,"file":"executor_metrics.d.ts","sourceRoot":"","sources":["../../src/public/executor_metrics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAIL,KAAK,eAAe,EACpB,KAAK,MAAM,EAGZ,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAEhF,qBAAa,eAAgB,YAAW,wBAAwB;IAC9D,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,UAAU,CAAY;IAC9B,OAAO,CAAC,aAAa,CAAY;IACjC,OAAO,CAAC,QAAQ,CAAY;IAC5B,OAAO,CAAC,yBAAyB,CAAY;IAC7C,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,wBAAwB,CAAY;IAE5C,YAAY,MAAM,EAAE,eAAe,EAAE,IAAI,SAAmB,EAmB3D;IAED,0BAA0B,CAAC,QAAQ,EAAE,MAAM,QAE1C;IAED,yBAAyB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,aAAa,CAAC,EAAE,UAAU,QAEzF;IAED,4BAA4B,CAC1B,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,yBAAyB,EAAE,MAAM,QAqBlC;IAED,mCAAmC,CACjC,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,0BAA0B,EAAE,MAAM,QAKnC;IAED,6BAA6B,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,GAAG,gBAAgB,QAItF;CACF"}
|