@aztec/simulator 0.0.1-commit.e6bd8901 → 0.0.1-commit.ec5f612
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 +4 -4
- 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_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 +5 -3
- 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 +6 -5
- package/dest/public/avm/avm_execution_environment.d.ts.map +1 -1
- package/dest/public/avm/avm_gas.js +3 -3
- package/dest/public/avm/avm_machine_state.d.ts +6 -5
- 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_simulator.d.ts +3 -2
- package/dest/public/avm/avm_simulator.d.ts.map +1 -1
- package/dest/public/avm/avm_simulator.js +5 -4
- 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/fixtures/account_proof_fetcher.d.ts +2 -0
- package/dest/public/avm/fixtures/account_proof_fetcher.d.ts.map +1 -0
- package/dest/public/avm/fixtures/account_proof_fetcher.js +152 -0
- 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 +3 -2
- package/dest/public/avm/fixtures/initializers.d.ts +1 -1
- package/dest/public/avm/fixtures/initializers.d.ts.map +1 -1
- package/dest/public/avm/fixtures/initializers.js +2 -1
- package/dest/public/avm/opcodes/accrued_substate.d.ts +4 -5
- package/dest/public/avm/opcodes/accrued_substate.d.ts.map +1 -1
- package/dest/public/avm/opcodes/accrued_substate.js +15 -16
- package/dest/public/avm/opcodes/external_calls.d.ts +1 -1
- package/dest/public/avm/opcodes/external_calls.d.ts.map +1 -1
- package/dest/public/avm/opcodes/external_calls.js +7 -7
- package/dest/public/avm/opcodes/memory.js +1 -1
- package/dest/public/avm/serialization/bytecode_serialization.js +3 -3
- package/dest/public/avm/serialization/instruction_serialization.d.ts +2 -2
- package/dest/public/avm/serialization/instruction_serialization.d.ts.map +1 -1
- package/dest/public/avm/serialization/instruction_serialization.js +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 +7 -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 +7 -2
- package/dest/public/fixtures/amm_test.js +2 -2
- package/dest/public/fixtures/opcode_spammer.d.ts +3 -4
- package/dest/public/fixtures/opcode_spammer.d.ts.map +1 -1
- package/dest/public/fixtures/opcode_spammer.js +16 -56
- package/dest/public/fixtures/public_tx_simulation_tester.d.ts +1 -1
- package/dest/public/fixtures/public_tx_simulation_tester.d.ts.map +1 -1
- package/dest/public/fixtures/public_tx_simulation_tester.js +29 -2
- package/dest/public/fixtures/utils.js +4 -4
- package/dest/public/hinting_db_sources.d.ts +2 -2
- package/dest/public/hinting_db_sources.d.ts.map +1 -1
- package/dest/public/hinting_db_sources.js +1 -1
- package/dest/public/public_db_sources.d.ts +4 -3
- package/dest/public/public_db_sources.d.ts.map +1 -1
- package/dest/public/public_db_sources.js +4 -4
- package/dest/public/public_processor/guarded_merkle_tree.d.ts +2 -2
- package/dest/public/public_processor/guarded_merkle_tree.d.ts.map +1 -1
- package/dest/public/public_processor/guarded_merkle_tree.js +1 -1
- package/dest/public/public_processor/public_processor.d.ts +8 -4
- package/dest/public/public_processor/public_processor.d.ts.map +1 -1
- package/dest/public/public_processor/public_processor.js +24 -11
- 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 +20 -4
- package/dest/public/public_tx_simulator/contract_provider_for_cpp.d.ts +3 -2
- 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 +2 -2
- package/dest/public/public_tx_simulator/cpp_public_tx_simulator.d.ts +5 -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 +10 -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 +7 -7
- 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 +6 -6
- package/dest/public/public_tx_simulator/dumping_cpp_public_tx_simulator.d.ts +3 -2
- package/dest/public/public_tx_simulator/dumping_cpp_public_tx_simulator.d.ts.map +1 -1
- package/dest/public/public_tx_simulator/dumping_cpp_public_tx_simulator.js +2 -2
- package/dest/public/public_tx_simulator/factories.d.ts +3 -2
- package/dest/public/public_tx_simulator/factories.d.ts.map +1 -1
- package/dest/public/public_tx_simulator/factories.js +4 -4
- package/dest/public/public_tx_simulator/public_tx_context.d.ts +4 -3
- package/dest/public/public_tx_simulator/public_tx_context.d.ts.map +1 -1
- package/dest/public/public_tx_simulator/public_tx_context.js +8 -8
- package/dest/public/public_tx_simulator/public_tx_simulator.d.ts +4 -3
- package/dest/public/public_tx_simulator/public_tx_simulator.d.ts.map +1 -1
- package/dest/public/public_tx_simulator/public_tx_simulator.js +11 -8
- package/dest/public/side_effect_trace.d.ts +4 -4
- package/dest/public/side_effect_trace.d.ts.map +1 -1
- package/dest/public/side_effect_trace.js +3 -3
- package/dest/public/state_manager/state_manager.d.ts +10 -4
- package/dest/public/state_manager/state_manager.d.ts.map +1 -1
- package/dest/public/state_manager/state_manager.js +12 -5
- package/dest/public/test_executor_metrics.d.ts +8 -2
- package/dest/public/test_executor_metrics.d.ts.map +1 -1
- package/dest/public/test_executor_metrics.js +24 -2
- package/package.json +16 -16
- package/src/private/acvm/acvm.ts +4 -3
- package/src/private/acvm_native.ts +11 -5
- package/src/private/acvm_wasm.ts +7 -3
- package/src/private/circuit_recording/circuit_recorder.ts +5 -3
- 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 +9 -4
- package/src/public/avm/avm_gas.ts +2 -2
- package/src/public/avm/avm_machine_state.ts +6 -5
- package/src/public/avm/avm_simulator.ts +8 -5
- package/src/public/avm/calldata.ts +100 -0
- package/src/public/avm/fixtures/account_proof.json +553 -0
- package/src/public/avm/fixtures/account_proof_fetcher.ts +166 -0
- package/src/public/avm/fixtures/avm_simulation_tester.ts +8 -2
- package/src/public/avm/fixtures/initializers.ts +2 -1
- package/src/public/avm/opcodes/accrued_substate.ts +16 -19
- package/src/public/avm/opcodes/external_calls.ts +8 -7
- package/src/public/avm/opcodes/memory.ts +1 -1
- package/src/public/avm/serialization/bytecode_serialization.ts +2 -2
- package/src/public/avm/serialization/instruction_serialization.ts +1 -1
- package/src/public/debug_fn_name.ts +10 -8
- package/src/public/executor_metrics.ts +4 -1
- package/src/public/fixtures/amm_test.ts +2 -2
- package/src/public/fixtures/opcode_spammer.ts +18 -55
- package/src/public/fixtures/public_tx_simulation_tester.ts +34 -3
- package/src/public/fixtures/utils.ts +4 -4
- package/src/public/fuzzing/avm_fuzzer_simulator.ts +1 -1
- package/src/public/hinting_db_sources.ts +1 -1
- package/src/public/public_db_sources.ts +15 -5
- package/src/public/public_processor/guarded_merkle_tree.ts +1 -1
- package/src/public/public_processor/public_processor.ts +42 -20
- package/src/public/public_processor/public_processor_metrics.ts +10 -4
- package/src/public/public_tx_simulator/contract_provider_for_cpp.ts +6 -3
- package/src/public/public_tx_simulator/cpp_public_tx_simulator.ts +10 -8
- 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 +7 -5
- package/src/public/public_tx_simulator/dumping_cpp_public_tx_simulator.ts +3 -1
- package/src/public/public_tx_simulator/factories.ts +6 -3
- package/src/public/public_tx_simulator/public_tx_context.ts +13 -6
- package/src/public/public_tx_simulator/public_tx_simulator.ts +17 -8
- package/src/public/side_effect_trace.ts +5 -2
- package/src/public/state_manager/state_manager.ts +27 -4
- package/src/public/test_executor_metrics.ts +27 -3
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { MAX_ETH_ADDRESS_VALUE } from '@aztec/constants';
|
|
1
2
|
import { NullifierCollisionError } from '../../side_effect_errors.js';
|
|
2
3
|
import { TypeTag, Uint1 } from '../avm_memory_types.js';
|
|
3
4
|
import { InstructionExecutionError, StaticCallAlterationError } from '../errors.js';
|
|
@@ -73,8 +74,7 @@ export class EmitNoteHash extends Instruction {
|
|
|
73
74
|
}
|
|
74
75
|
export class NullifierExists extends Instruction {
|
|
75
76
|
addressingMode;
|
|
76
|
-
|
|
77
|
-
addressOffset;
|
|
77
|
+
siloedNullifierOffset;
|
|
78
78
|
existsOffset;
|
|
79
79
|
static type = 'NULLIFIEREXISTS';
|
|
80
80
|
static opcode = Opcode.NULLIFIEREXISTS;
|
|
@@ -83,26 +83,23 @@ export class NullifierExists extends Instruction {
|
|
|
83
83
|
OperandType.UINT8,
|
|
84
84
|
OperandType.UINT8,
|
|
85
85
|
OperandType.UINT16,
|
|
86
|
-
OperandType.UINT16,
|
|
87
86
|
OperandType.UINT16
|
|
88
87
|
];
|
|
89
|
-
constructor(addressingMode,
|
|
90
|
-
super(), this.addressingMode = addressingMode, this.
|
|
88
|
+
constructor(addressingMode, siloedNullifierOffset, existsOffset){
|
|
89
|
+
super(), this.addressingMode = addressingMode, this.siloedNullifierOffset = siloedNullifierOffset, this.existsOffset = existsOffset;
|
|
91
90
|
}
|
|
92
91
|
async execute(context) {
|
|
93
92
|
const memory = context.machineState.memory;
|
|
94
93
|
const addressing = Addressing.fromWire(this.addressingMode);
|
|
95
94
|
context.machineState.consumeGas(this.baseGasCost(addressing.indirectOperandsCount(), addressing.relativeOperandsCount()));
|
|
96
95
|
const operands = [
|
|
97
|
-
this.
|
|
98
|
-
this.addressOffset,
|
|
96
|
+
this.siloedNullifierOffset,
|
|
99
97
|
this.existsOffset
|
|
100
98
|
];
|
|
101
|
-
const [
|
|
102
|
-
memory.
|
|
103
|
-
const
|
|
104
|
-
const
|
|
105
|
-
const exists = await context.persistableState.checkNullifierExists(address, nullifier);
|
|
99
|
+
const [siloedNullifierOffset, existsOffset] = addressing.resolve(operands, memory);
|
|
100
|
+
memory.checkTag(TypeTag.FIELD, siloedNullifierOffset);
|
|
101
|
+
const siloedNullifier = memory.get(siloedNullifierOffset).toFr();
|
|
102
|
+
const exists = await context.persistableState.checkSiloedNullifierExists(siloedNullifier);
|
|
106
103
|
memory.set(existsOffset, exists ? new Uint1(1) : new Uint1(0));
|
|
107
104
|
}
|
|
108
105
|
}
|
|
@@ -181,13 +178,12 @@ export class L1ToL2MessageExists extends Instruction {
|
|
|
181
178
|
memory.set(existsOffset, exists ? new Uint1(1) : new Uint1(0));
|
|
182
179
|
}
|
|
183
180
|
}
|
|
184
|
-
export class
|
|
181
|
+
export class EmitPublicLog extends Instruction {
|
|
185
182
|
addressingMode;
|
|
186
183
|
logSizeOffset;
|
|
187
184
|
logOffset;
|
|
188
|
-
|
|
189
|
-
static
|
|
190
|
-
static opcode = Opcode.EMITUNENCRYPTEDLOG;
|
|
185
|
+
static type = 'EMITPUBLICLOG';
|
|
186
|
+
static opcode = Opcode.EMITPUBLICLOG;
|
|
191
187
|
// Informs (de)serialization. See Instruction.deserialize.
|
|
192
188
|
static wireFormat = [
|
|
193
189
|
OperandType.UINT8,
|
|
@@ -249,6 +245,9 @@ export class SendL2ToL1Message extends Instruction {
|
|
|
249
245
|
const [recipientOffset, contentOffset] = addressing.resolve(operands, memory);
|
|
250
246
|
memory.checkTags(TypeTag.FIELD, recipientOffset, contentOffset);
|
|
251
247
|
const recipient = memory.get(recipientOffset).toFr();
|
|
248
|
+
if (recipient.toBigInt() > MAX_ETH_ADDRESS_VALUE) {
|
|
249
|
+
throw new InstructionExecutionError(`SENDL2TOL1MSG: Recipient address is too large`);
|
|
250
|
+
}
|
|
252
251
|
const content = memory.get(contentOffset).toFr();
|
|
253
252
|
context.persistableState.writeL2ToL1Message(context.environment.address, recipient, content);
|
|
254
253
|
}
|
|
@@ -56,4 +56,4 @@ export declare class Revert extends Instruction {
|
|
|
56
56
|
handlesPC(): boolean;
|
|
57
57
|
}
|
|
58
58
|
export {};
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZXJuYWxfY2FsbHMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wdWJsaWMvYXZtL29wY29kZXMvZXh0ZXJuYWxfY2FsbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFJcEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUVwRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFL0MsdUJBQWUsWUFBYSxTQUFRLFdBQVc7SUFhM0MsT0FBTyxDQUFDLGNBQWM7SUFDdEIsT0FBTyxDQUFDLFdBQVc7SUFDbkIsT0FBTyxDQUFDLFdBQVc7SUFDbkIsT0FBTyxDQUFDLFVBQVU7SUFDbEIsT0FBTyxDQUFDLGNBQWM7SUFDdEIsT0FBTyxDQUFDLFVBQVU7SUFoQnBCLE1BQU0sQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLFdBQVcsRUFBRSxDQVF2QztJQUVGLFlBQ1UsY0FBYyxFQUFFLE1BQU0sRUFDdEIsV0FBVyxFQUFFLE1BQU0sRUFDbkIsV0FBVyxFQUFFLE1BQU0sRUFDbkIsVUFBVSxFQUFFLE1BQU0sRUFDbEIsY0FBYyxFQUFFLE1BQU0sRUFDdEIsVUFBVSxFQUFFLE1BQU0sRUFHM0I7SUFFWSxPQUFPLENBQUMsT0FBTyxFQUFFLFVBQVUsaUJBMkV2QztJQUVELGFBQTZCLElBQUksSUFBSSxNQUFNLEdBQUcsWUFBWSxDQUFDO0NBQzVEO0FBRUQscUJBQWEsSUFBSyxTQUFRLFlBQVk7SUFDcEMsTUFBTSxDQUFDLElBQUksU0FBbUI7SUFDOUIsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFlO0lBRTdDLElBQVcsSUFBSSxXQUVkO0NBQ0Y7QUFFRCxxQkFBYSxVQUFXLFNBQVEsWUFBWTtJQUMxQyxNQUFNLENBQUMsSUFBSSxlQUF5QjtJQUNwQyxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQXFCO0lBRW5ELElBQVcsSUFBSSxpQkFFZDtDQUNGO0FBRUQscUJBQWEsV0FBWSxTQUFRLFdBQVc7SUFXeEMsT0FBTyxDQUFDLGNBQWM7SUFDdEIsT0FBTyxDQUFDLFNBQVM7SUFYbkIsTUFBTSxDQUFDLElBQUksRUFBRSxNQUFNLENBQWlCO0lBQ3BDLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBc0I7SUFFcEQsTUFBTSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsV0FBVyxFQUFFLENBSXZDO0lBRUYsWUFDVSxjQUFjLEVBQUUsTUFBTSxFQUN0QixTQUFTLEVBQUUsTUFBTSxFQUcxQjtJQUVZLE9BQU8sQ0FBQyxPQUFPLEVBQUUsVUFBVSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FnQnZEO0NBQ0Y7QUFFRCxxQkFBYSxNQUFPLFNBQVEsV0FBVztJQVluQyxPQUFPLENBQUMsY0FBYztJQUN0QixPQUFPLENBQUMsZ0JBQWdCO0lBQ3hCLE9BQU8sQ0FBQyxZQUFZO0lBYnRCLE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFZO0lBQy9CLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBaUI7SUFFL0MsTUFBTSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsV0FBVyxFQUFFLENBS3ZDO0lBRUYsWUFDVSxjQUFjLEVBQUUsTUFBTSxFQUN0QixnQkFBZ0IsRUFBRSxNQUFNLEVBQ3hCLFlBQVksRUFBRSxNQUFNLEVBRzdCO0lBRVksT0FBTyxDQUFDLE9BQU8sRUFBRSxVQUFVLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQWlCdkQ7SUFFZSxTQUFTLElBQUksT0FBTyxDQUVuQztDQUNGO0FBRUQscUJBQWEsTUFBTyxTQUFRLFdBQVc7SUFrQm5DLE9BQU8sQ0FBQyxjQUFjO0lBQ3RCLE9BQU8sQ0FBQyxhQUFhO0lBQ3JCLE9BQU8sQ0FBQyxZQUFZO0lBbkJ0QixNQUFNLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBWTtJQUMvQixNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQW1CO0lBRWpELE1BQU0sQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLFdBQVcsRUFBRSxDQUt4QztJQUNGLE1BQU0sQ0FBQyxRQUFRLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxDQUt6QztJQUVGLFlBQ1UsY0FBYyxFQUFFLE1BQU0sRUFDdEIsYUFBYSxFQUFFLE1BQU0sRUFDckIsWUFBWSxFQUFFLE1BQU0sRUFHN0I7SUFFWSxPQUFPLENBQUMsT0FBTyxFQUFFLFVBQVUsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBZ0J2RDtJQUllLFNBQVMsSUFBSSxPQUFPLENBRW5DO0NBQ0YifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"external_calls.d.ts","sourceRoot":"","sources":["../../../../src/public/avm/opcodes/external_calls.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"external_calls.d.ts","sourceRoot":"","sources":["../../../../src/public/avm/opcodes/external_calls.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAIpD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,+CAA+C,CAAC;AAEpF,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,uBAAe,YAAa,SAAQ,WAAW;IAa3C,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,UAAU;IAhBpB,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,WAAW,EAAE,CAQvC;IAEF,YACU,cAAc,EAAE,MAAM,EACtB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,MAAM,EAG3B;IAEY,OAAO,CAAC,OAAO,EAAE,UAAU,iBA2EvC;IAED,aAA6B,IAAI,IAAI,MAAM,GAAG,YAAY,CAAC;CAC5D;AAED,qBAAa,IAAK,SAAQ,YAAY;IACpC,MAAM,CAAC,IAAI,SAAmB;IAC9B,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAe;IAE7C,IAAW,IAAI,WAEd;CACF;AAED,qBAAa,UAAW,SAAQ,YAAY;IAC1C,MAAM,CAAC,IAAI,eAAyB;IACpC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAqB;IAEnD,IAAW,IAAI,iBAEd;CACF;AAED,qBAAa,WAAY,SAAQ,WAAW;IAWxC,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,SAAS;IAXnB,MAAM,CAAC,IAAI,EAAE,MAAM,CAAiB;IACpC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAsB;IAEpD,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,WAAW,EAAE,CAIvC;IAEF,YACU,cAAc,EAAE,MAAM,EACtB,SAAS,EAAE,MAAM,EAG1B;IAEY,OAAO,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAgBvD;CACF;AAED,qBAAa,MAAO,SAAQ,WAAW;IAYnC,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,YAAY;IAbtB,MAAM,CAAC,IAAI,EAAE,MAAM,CAAY;IAC/B,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAiB;IAE/C,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,WAAW,EAAE,CAKvC;IAEF,YACU,cAAc,EAAE,MAAM,EACtB,gBAAgB,EAAE,MAAM,EACxB,YAAY,EAAE,MAAM,EAG7B;IAEY,OAAO,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAiBvD;IAEe,SAAS,IAAI,OAAO,CAEnC;CACF;AAED,qBAAa,MAAO,SAAQ,WAAW;IAkBnC,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,YAAY;IAnBtB,MAAM,CAAC,IAAI,EAAE,MAAM,CAAY;IAC/B,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAmB;IAEjD,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,WAAW,EAAE,CAKxC;IACF,MAAM,CAAC,QAAQ,CAAC,YAAY,EAAE,WAAW,EAAE,CAKzC;IAEF,YACU,cAAc,EAAE,MAAM,EACtB,aAAa,EAAE,MAAM,EACrB,YAAY,EAAE,MAAM,EAG7B;IAEY,OAAO,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAgBvD;IAIe,SAAS,IAAI,OAAO,CAEnC;CACF"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { TypeTag, Uint1 } from '../avm_memory_types.js';
|
|
2
|
+
import { CallDataMemory, ReturnDataMemory } from '../calldata.js';
|
|
2
3
|
import { Opcode, OperandType } from '../serialization/instruction_serialization.js';
|
|
3
4
|
import { Addressing } from './addressing_mode.js';
|
|
4
5
|
import { Instruction } from './instruction.js';
|
|
@@ -39,8 +40,7 @@ class ExternalCall extends Instruction {
|
|
|
39
40
|
memory.checkTag(TypeTag.FIELD, addrOffset);
|
|
40
41
|
memory.checkTag(TypeTag.UINT32, argsSizeOffset);
|
|
41
42
|
const calldataSize = memory.get(argsSizeOffset).toNumber();
|
|
42
|
-
|
|
43
|
-
const calldata = memory.getSlice(argsOffset, calldataSize).map((f)=>f.toFr());
|
|
43
|
+
const calldata = new CallDataMemory(memory, argsOffset, calldataSize);
|
|
44
44
|
const callAddress = memory.getAs(addrOffset);
|
|
45
45
|
// If we are already in a static call, we propagate the environment.
|
|
46
46
|
const callType = context.environment.isStaticCall ? 'STATICCALL' : this.type;
|
|
@@ -61,8 +61,8 @@ class ExternalCall extends Instruction {
|
|
|
61
61
|
const nestedCallResults = await simulator.execute();
|
|
62
62
|
const success = !nestedCallResults.reverted;
|
|
63
63
|
// Save return/revert data for later.
|
|
64
|
-
const
|
|
65
|
-
context.machineState.nestedReturndata =
|
|
64
|
+
const returnData = nestedCallResults.output;
|
|
65
|
+
context.machineState.nestedReturndata = returnData;
|
|
66
66
|
// Track the success status directly
|
|
67
67
|
context.machineState.nestedCallSuccess = success;
|
|
68
68
|
// Account for all instructions executed in the nested call
|
|
@@ -74,7 +74,7 @@ class ExternalCall extends Instruction {
|
|
|
74
74
|
// (in Noir code).
|
|
75
75
|
if (!success) {
|
|
76
76
|
context.machineState.collectedRevertInfo = {
|
|
77
|
-
revertDataRepresentative:
|
|
77
|
+
revertDataRepresentative: returnData.bestEffortReadAll(),
|
|
78
78
|
recursiveRevertReason: nestedCallResults.revertReason
|
|
79
79
|
};
|
|
80
80
|
}
|
|
@@ -157,7 +157,7 @@ export class Return extends Instruction {
|
|
|
157
157
|
const [returnSizeOffset, returnOffset] = addressing.resolve(operands, memory);
|
|
158
158
|
memory.checkTag(TypeTag.UINT32, returnSizeOffset);
|
|
159
159
|
const returnSize = memory.get(returnSizeOffset).toNumber();
|
|
160
|
-
const output = memory
|
|
160
|
+
const output = new ReturnDataMemory(memory, returnOffset, returnSize);
|
|
161
161
|
context.machineState.return(output);
|
|
162
162
|
}
|
|
163
163
|
handlesPC() {
|
|
@@ -196,7 +196,7 @@ export class Revert extends Instruction {
|
|
|
196
196
|
const [retSizeOffset, returnOffset] = addressing.resolve(operands, memory);
|
|
197
197
|
memory.checkTag(TypeTag.UINT32, retSizeOffset);
|
|
198
198
|
const retSize = memory.get(retSizeOffset).toNumber();
|
|
199
|
-
const output = memory
|
|
199
|
+
const output = new ReturnDataMemory(memory, returnOffset, retSize);
|
|
200
200
|
context.machineState.revert(output);
|
|
201
201
|
}
|
|
202
202
|
// We don't want to increase the PC after reverting because it breaks messages.
|
|
@@ -210,7 +210,7 @@ export class ReturndataSize extends Instruction {
|
|
|
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 {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { serializeToBuffer } from '@aztec/foundation/serialize';
|
|
2
2
|
import { AvmExecutionError, AvmParsingError, InvalidOpcodeError, InvalidProgramCounterError, InvalidTagValueError, duringInstrFetch } from '../errors.js';
|
|
3
|
-
import { Add, And, Call, CalldataCopy, Cast, DebugLog, Div, EcAdd, EmitNoteHash, EmitNullifier,
|
|
3
|
+
import { Add, And, Call, CalldataCopy, Cast, DebugLog, Div, EcAdd, EmitNoteHash, EmitNullifier, EmitPublicLog, Eq, FieldDiv, GetContractInstance, GetEnvVar, Instruction, InternalCall, InternalReturn, Jump, JumpI, KeccakF1600, L1ToL2MessageExists, Lt, Lte, Mov, Mul, Not, NoteHashExists, NullifierExists, Or, Poseidon2, Return, ReturndataCopy, ReturndataSize, Revert, SLoad, SStore, SendL2ToL1Message, Set, Sha256Compression, Shl, Shr, StaticCall, Sub, SuccessCopy, ToRadixBE, Xor } from '../opcodes/index.js';
|
|
4
4
|
import { BufferCursor } from './buffer_cursor.js';
|
|
5
5
|
import { MAX_OPCODE_VALUE, Opcode } from './instruction_serialization.js';
|
|
6
6
|
export const INSTRUCTION_SET = new Map([
|
|
@@ -225,8 +225,8 @@ export const INSTRUCTION_SET = new Map([
|
|
|
225
225
|
],
|
|
226
226
|
// Accrued Substate
|
|
227
227
|
[
|
|
228
|
-
|
|
229
|
-
Instruction.fromBuffer.bind(
|
|
228
|
+
EmitPublicLog.opcode,
|
|
229
|
+
Instruction.fromBuffer.bind(EmitPublicLog)
|
|
230
230
|
],
|
|
231
231
|
[
|
|
232
232
|
SendL2ToL1Message.opcode,
|
|
@@ -59,7 +59,7 @@ export declare enum Opcode {
|
|
|
59
59
|
EMITNULLIFIER = 52,
|
|
60
60
|
L1TOL2MSGEXISTS = 53,
|
|
61
61
|
GETCONTRACTINSTANCE = 54,
|
|
62
|
-
|
|
62
|
+
EMITPUBLICLOG = 55,
|
|
63
63
|
SENDL2TOL1MSG = 56,
|
|
64
64
|
CALL = 57,
|
|
65
65
|
STATICCALL = 58,
|
|
@@ -111,4 +111,4 @@ export declare function deserialize(cursor: BufferCursor | Buffer, operands: Ope
|
|
|
111
111
|
*/
|
|
112
112
|
export declare function serializeAs(operands: OperandType[], opcode: Opcode, cls: any): Buffer;
|
|
113
113
|
export {};
|
|
114
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
114
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zdHJ1Y3Rpb25fc2VyaWFsaXphdGlvbi5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3B1YmxpYy9hdm0vc2VyaWFsaXphdGlvbi9pbnN0cnVjdGlvbl9zZXJpYWxpemF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVsRDs7O0dBR0c7QUFDSCxvQkFBWSxNQUFNO0lBRWhCLEtBQUssSUFBQTtJQUNMLE1BQU0sSUFBQTtJQUNOLEtBQUssSUFBQTtJQUNMLE1BQU0sSUFBQTtJQUNOLEtBQUssSUFBQTtJQUNMLE1BQU0sSUFBQTtJQUNOLEtBQUssSUFBQTtJQUNMLE1BQU0sSUFBQTtJQUNOLE1BQU0sSUFBQTtJQUNOLE9BQU8sSUFBQTtJQUNQLElBQUksS0FBQTtJQUNKLEtBQUssS0FBQTtJQUNMLElBQUksS0FBQTtJQUNKLEtBQUssS0FBQTtJQUNMLEtBQUssS0FBQTtJQUNMLE1BQU0sS0FBQTtJQUNOLEtBQUssS0FBQTtJQUNMLE1BQU0sS0FBQTtJQUNOLElBQUksS0FBQTtJQUNKLEtBQUssS0FBQTtJQUNMLEtBQUssS0FBQTtJQUNMLE1BQU0sS0FBQTtJQUNOLEtBQUssS0FBQTtJQUNMLE1BQU0sS0FBQTtJQUNOLEtBQUssS0FBQTtJQUNMLE1BQU0sS0FBQTtJQUNOLEtBQUssS0FBQTtJQUNMLE1BQU0sS0FBQTtJQUNOLE1BQU0sS0FBQTtJQUNOLE9BQU8sS0FBQTtJQUVQLFlBQVksS0FBQTtJQUNaLFlBQVksS0FBQTtJQUNaLFdBQVcsS0FBQTtJQUNYLGNBQWMsS0FBQTtJQUNkLGNBQWMsS0FBQTtJQUVkLE9BQU8sS0FBQTtJQUNQLFFBQVEsS0FBQTtJQUNSLFlBQVksS0FBQTtJQUNaLGNBQWMsS0FBQTtJQUVkLEtBQUssS0FBQTtJQUNMLE1BQU0sS0FBQTtJQUNOLE1BQU0sS0FBQTtJQUNOLE1BQU0sS0FBQTtJQUNOLE9BQU8sS0FBQTtJQUNQLE1BQU0sS0FBQTtJQUNOLEtBQUssS0FBQTtJQUNMLE1BQU0sS0FBQTtJQUVOLEtBQUssS0FBQTtJQUNMLE1BQU0sS0FBQTtJQUNOLGNBQWMsS0FBQTtJQUNkLFlBQVksS0FBQTtJQUNaLGVBQWUsS0FBQTtJQUNmLGFBQWEsS0FBQTtJQUNiLGVBQWUsS0FBQTtJQUNmLG1CQUFtQixLQUFBO0lBQ25CLGFBQWEsS0FBQTtJQUNiLGFBQWEsS0FBQTtJQUViLElBQUksS0FBQTtJQUNKLFVBQVUsS0FBQTtJQUNWLE1BQU0sS0FBQTtJQUNOLFFBQVEsS0FBQTtJQUNSLFNBQVMsS0FBQTtJQUVULFFBQVEsS0FBQTtJQUVSLFNBQVMsS0FBQTtJQUNULGlCQUFpQixLQUFBO0lBQ2pCLFdBQVcsS0FBQTtJQUNYLEtBQUssS0FBQTtJQUVMLFNBQVMsS0FBQTtDQUNWO0FBRUQsZUFBTyxNQUFNLGdCQUFnQixRQUk1QixDQUFDO0FBSUYsb0JBQVksV0FBVztJQUNyQixLQUFLLElBQUE7SUFDTCxNQUFNLElBQUE7SUFDTixNQUFNLElBQUE7SUFDTixNQUFNLElBQUE7SUFDTixPQUFPLElBQUE7SUFDUCxFQUFFLElBQUE7SUFDRixHQUFHLElBQUE7Q0FDSjtBQUdELEtBQUssaUJBQWlCLEdBQUcsTUFBTSxHQUFHLE1BQU0sQ0FBQztBQWdCekM7Ozs7OztHQU1HO0FBQ0gsd0JBQWdCLGNBQWMsQ0FBQyxXQUFXLEVBQUUsV0FBVyxHQUFHLE1BQU0sQ0FHL0Q7QUFrREQ7Ozs7O0dBS0c7QUFDSCx3QkFBZ0IsV0FBVyxDQUFDLE1BQU0sRUFBRSxZQUFZLEdBQUcsTUFBTSxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsR0FBRyxpQkFBaUIsRUFBRSxDQXlCdkc7QUFFRDs7Ozs7Ozs7O0dBU0c7QUFDSCx3QkFBZ0IsV0FBVyxDQUFDLFFBQVEsRUFBRSxXQUFXLEVBQUUsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLEdBQUcsTUFBTSxDQW1CckYifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instruction_serialization.d.ts","sourceRoot":"","sources":["../../../../src/public/avm/serialization/instruction_serialization.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD;;;GAGG;AACH,oBAAY,MAAM;IAEhB,KAAK,IAAA;IACL,MAAM,IAAA;IACN,KAAK,IAAA;IACL,MAAM,IAAA;IACN,KAAK,IAAA;IACL,MAAM,IAAA;IACN,KAAK,IAAA;IACL,MAAM,IAAA;IACN,MAAM,IAAA;IACN,OAAO,IAAA;IACP,IAAI,KAAA;IACJ,KAAK,KAAA;IACL,IAAI,KAAA;IACJ,KAAK,KAAA;IACL,KAAK,KAAA;IACL,MAAM,KAAA;IACN,KAAK,KAAA;IACL,MAAM,KAAA;IACN,IAAI,KAAA;IACJ,KAAK,KAAA;IACL,KAAK,KAAA;IACL,MAAM,KAAA;IACN,KAAK,KAAA;IACL,MAAM,KAAA;IACN,KAAK,KAAA;IACL,MAAM,KAAA;IACN,KAAK,KAAA;IACL,MAAM,KAAA;IACN,MAAM,KAAA;IACN,OAAO,KAAA;IAEP,YAAY,KAAA;IACZ,YAAY,KAAA;IACZ,WAAW,KAAA;IACX,cAAc,KAAA;IACd,cAAc,KAAA;IAEd,OAAO,KAAA;IACP,QAAQ,KAAA;IACR,YAAY,KAAA;IACZ,cAAc,KAAA;IAEd,KAAK,KAAA;IACL,MAAM,KAAA;IACN,MAAM,KAAA;IACN,MAAM,KAAA;IACN,OAAO,KAAA;IACP,MAAM,KAAA;IACN,KAAK,KAAA;IACL,MAAM,KAAA;IAEN,KAAK,KAAA;IACL,MAAM,KAAA;IACN,cAAc,KAAA;IACd,YAAY,KAAA;IACZ,eAAe,KAAA;IACf,aAAa,KAAA;IACb,eAAe,KAAA;IACf,mBAAmB,KAAA;IACnB,
|
|
1
|
+
{"version":3,"file":"instruction_serialization.d.ts","sourceRoot":"","sources":["../../../../src/public/avm/serialization/instruction_serialization.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD;;;GAGG;AACH,oBAAY,MAAM;IAEhB,KAAK,IAAA;IACL,MAAM,IAAA;IACN,KAAK,IAAA;IACL,MAAM,IAAA;IACN,KAAK,IAAA;IACL,MAAM,IAAA;IACN,KAAK,IAAA;IACL,MAAM,IAAA;IACN,MAAM,IAAA;IACN,OAAO,IAAA;IACP,IAAI,KAAA;IACJ,KAAK,KAAA;IACL,IAAI,KAAA;IACJ,KAAK,KAAA;IACL,KAAK,KAAA;IACL,MAAM,KAAA;IACN,KAAK,KAAA;IACL,MAAM,KAAA;IACN,IAAI,KAAA;IACJ,KAAK,KAAA;IACL,KAAK,KAAA;IACL,MAAM,KAAA;IACN,KAAK,KAAA;IACL,MAAM,KAAA;IACN,KAAK,KAAA;IACL,MAAM,KAAA;IACN,KAAK,KAAA;IACL,MAAM,KAAA;IACN,MAAM,KAAA;IACN,OAAO,KAAA;IAEP,YAAY,KAAA;IACZ,YAAY,KAAA;IACZ,WAAW,KAAA;IACX,cAAc,KAAA;IACd,cAAc,KAAA;IAEd,OAAO,KAAA;IACP,QAAQ,KAAA;IACR,YAAY,KAAA;IACZ,cAAc,KAAA;IAEd,KAAK,KAAA;IACL,MAAM,KAAA;IACN,MAAM,KAAA;IACN,MAAM,KAAA;IACN,OAAO,KAAA;IACP,MAAM,KAAA;IACN,KAAK,KAAA;IACL,MAAM,KAAA;IAEN,KAAK,KAAA;IACL,MAAM,KAAA;IACN,cAAc,KAAA;IACd,YAAY,KAAA;IACZ,eAAe,KAAA;IACf,aAAa,KAAA;IACb,eAAe,KAAA;IACf,mBAAmB,KAAA;IACnB,aAAa,KAAA;IACb,aAAa,KAAA;IAEb,IAAI,KAAA;IACJ,UAAU,KAAA;IACV,MAAM,KAAA;IACN,QAAQ,KAAA;IACR,SAAS,KAAA;IAET,QAAQ,KAAA;IAER,SAAS,KAAA;IACT,iBAAiB,KAAA;IACjB,WAAW,KAAA;IACX,KAAK,KAAA;IAEL,SAAS,KAAA;CACV;AAED,eAAO,MAAM,gBAAgB,QAI5B,CAAC;AAIF,oBAAY,WAAW;IACrB,KAAK,IAAA;IACL,MAAM,IAAA;IACN,MAAM,IAAA;IACN,MAAM,IAAA;IACN,OAAO,IAAA;IACP,EAAE,IAAA;IACF,GAAG,IAAA;CACJ;AAGD,KAAK,iBAAiB,GAAG,MAAM,GAAG,MAAM,CAAC;AAgBzC;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,WAAW,EAAE,WAAW,GAAG,MAAM,CAG/D;AAkDD;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,iBAAiB,EAAE,CAyBvG;AAED;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,MAAM,CAmBrF"}
|
|
@@ -66,7 +66,7 @@ import { BufferCursor } from './buffer_cursor.js';
|
|
|
66
66
|
Opcode[Opcode["EMITNULLIFIER"] = 52] = "EMITNULLIFIER";
|
|
67
67
|
Opcode[Opcode["L1TOL2MSGEXISTS"] = 53] = "L1TOL2MSGEXISTS";
|
|
68
68
|
Opcode[Opcode["GETCONTRACTINSTANCE"] = 54] = "GETCONTRACTINSTANCE";
|
|
69
|
-
Opcode[Opcode["
|
|
69
|
+
Opcode[Opcode["EMITPUBLICLOG"] = 55] = "EMITPUBLICLOG";
|
|
70
70
|
Opcode[Opcode["SENDL2TOL1MSG"] = 56] = "SENDL2TOL1MSG";
|
|
71
71
|
// External calls
|
|
72
72
|
Opcode[Opcode["CALL"] = 57] = "CALL";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import type { Fr } from '@aztec/foundation/curves/bn254';
|
|
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,12 @@
|
|
|
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 fallbackName = `<calldata[0]:${
|
|
8
|
-
const selector = FunctionSelector.fromFieldOrUndefined(
|
|
8
|
+
const fallbackName = `<calldata[0]:${selectorField.toString()}> (Contract Address: ${contractAddress})`;
|
|
9
|
+
const selector = FunctionSelector.fromFieldOrUndefined(selectorField);
|
|
9
10
|
if (!selector) {
|
|
10
11
|
return fallbackName;
|
|
11
12
|
}
|
|
@@ -20,10 +21,11 @@ export async function getPublicFunctionDebugName(db, contractAddress, calldata)
|
|
|
20
21
|
* @returns An object with functionSelector (always if calldata[0] exists) and functionName (only if debug name found)
|
|
21
22
|
*/ export async function getPublicFunctionSelectorAndName(db, contractAddress, calldata) {
|
|
22
23
|
// Public function is dispatched and therefore the target function is passed in the first argument.
|
|
23
|
-
|
|
24
|
+
const selectorField = calldata.read(0);
|
|
25
|
+
if (!selectorField) {
|
|
24
26
|
return {};
|
|
25
27
|
}
|
|
26
|
-
const selector = FunctionSelector.fromFieldOrUndefined(
|
|
28
|
+
const selector = FunctionSelector.fromFieldOrUndefined(selectorField);
|
|
27
29
|
if (!selector) {
|
|
28
30
|
return {};
|
|
29
31
|
}
|
|
@@ -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,
|
|
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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Attributes, Metrics } from '@aztec/telemetry-client';
|
|
1
|
+
import { Attributes, Metrics, createUpDownCounterWithDefault } from '@aztec/telemetry-client';
|
|
2
2
|
export class ExecutorMetrics {
|
|
3
3
|
tracer;
|
|
4
4
|
fnCount;
|
|
@@ -11,7 +11,12 @@ export class ExecutorMetrics {
|
|
|
11
11
|
constructor(client, name = 'PublicExecutor'){
|
|
12
12
|
this.tracer = client.getTracer(name);
|
|
13
13
|
const meter = client.getMeter(name);
|
|
14
|
-
this.fnCount = meter
|
|
14
|
+
this.fnCount = createUpDownCounterWithDefault(meter, Metrics.PUBLIC_EXECUTOR_SIMULATION_COUNT, {
|
|
15
|
+
[Attributes.OK]: [
|
|
16
|
+
true,
|
|
17
|
+
false
|
|
18
|
+
]
|
|
19
|
+
});
|
|
15
20
|
this.fnDuration = meter.createHistogram(Metrics.PUBLIC_EXECUTOR_SIMULATION_DURATION);
|
|
16
21
|
this.manaPerSecond = meter.createHistogram(Metrics.PUBLIC_EXECUTOR_SIMULATION_MANA_PER_SECOND);
|
|
17
22
|
this.manaUsed = meter.createHistogram(Metrics.PUBLIC_EXECUTOR_SIMULATION_MANA_USED);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { DomainSeparator } from '@aztec/constants';
|
|
2
2
|
import { poseidon2HashWithSeparator } from '@aztec/foundation/crypto/poseidon';
|
|
3
3
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
4
4
|
import { Timer } from '@aztec/foundation/timer';
|
|
@@ -209,5 +209,5 @@ async function computePartialNoteValidityCommitment(partialNote, completer) {
|
|
|
209
209
|
return await poseidon2HashWithSeparator([
|
|
210
210
|
partialNote.commitment,
|
|
211
211
|
completer
|
|
212
|
-
],
|
|
212
|
+
], DomainSeparator.PARTIAL_NOTE_VALIDITY_COMMITMENT);
|
|
213
213
|
}
|
|
@@ -58,9 +58,8 @@ export interface SpamConfigsForOpcode {
|
|
|
58
58
|
*/
|
|
59
59
|
export declare const WARM_NOTE_HASH: Fr;
|
|
60
60
|
export declare const WARM_L1_TO_L2_MSG: Fr;
|
|
61
|
-
/** Warm nullifier
|
|
62
|
-
export declare const
|
|
63
|
-
export declare const WARM_NULLIFIER_ADDRESS: AztecAddress;
|
|
61
|
+
/** Warm nullifier constant - a pre-siloed nullifier value inserted directly into the tree */
|
|
62
|
+
export declare const WARM_SILOED_NULLIFIER: Fr;
|
|
64
63
|
/** Warm storage constants - storage is inserted for the deployed contract's address */
|
|
65
64
|
export declare const WARM_STORAGE_SLOT: Fr;
|
|
66
65
|
export declare const WARM_STORAGE_VALUE: Fr;
|
|
@@ -120,4 +119,4 @@ export declare function createOpcodeSpamBytecode(config: SpamConfig): Buffer;
|
|
|
120
119
|
export declare function createSideEffectSpamBytecode(config: SpamConfig): Buffer;
|
|
121
120
|
export declare function testOpcodeSpamCase(tester: PublicTxSimulationTester, config: SpamConfig, expectToBeTrue?: (x: boolean) => void): Promise<PublicTxResult>;
|
|
122
121
|
export {};
|
|
123
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
122
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3Bjb2RlX3NwYW1tZXIuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wdWJsaWMvZml4dHVyZXMvb3Bjb2RlX3NwYW1tZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBa0tBLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM5RCxPQUFPLEVBQTJDLEtBQUssY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRTNELE9BQU8sS0FBSyxFQUFFLHlCQUF5QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFLakYsT0FBTyxFQUFTLEtBQUssV0FBVyxFQUFnRCxNQUFNLDRCQUE0QixDQUFDO0FBa0RuSCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFFM0UsT0FBTyxLQUFLLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQU1qRjs7R0FFRztBQUNILFVBQVUsUUFBUTtJQUNoQixNQUFNLEVBQUUsTUFBTSxDQUFDO0lBQ2YsS0FBSyxFQUFFLFdBQVcsQ0FBQztDQUNwQjtBQUVEOzs7R0FHRztBQUNILEtBQUssU0FBUyxHQUFHLFFBQVEsR0FBRyxDQUFDLE1BQU0sVUFBVSxFQUFFLENBQUMsQ0FBQztBQUVqRDs7R0FFRztBQUNILE1BQU0sV0FBVyxVQUFVO0lBQ3pCLGlDQUFpQztJQUNqQyxLQUFLLEVBQUUsU0FBUyxFQUFFLENBQUM7SUFFbkIsc0RBQXNEO0lBQ3RELGtCQUFrQixFQUFFLE1BQU0sVUFBVSxFQUFFLENBQUM7SUFFdkMsMkRBQTJEO0lBQzNELG1CQUFtQixDQUFDLEVBQUUsTUFBTSxVQUFVLEVBQUUsQ0FBQztJQUV6Qzs7Ozs7OztPQU9HO0lBQ0gsS0FBSyxDQUFDLEVBQUUsTUFBTSxDQUFDO0lBRWYsc0VBQXNFO0lBQ3RFLEtBQUssQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUVmLDBEQUEwRDtJQUMxRCxpQkFBaUIsQ0FBQyxFQUFFLE9BQU8sQ0FBQztDQUM3QjtBQUVEOzs7R0FHRztBQUNILE1BQU0sV0FBVyxvQkFBb0I7SUFDbkMsa0NBQWtDO0lBQ2xDLE1BQU0sRUFBRSxNQUFNLENBQUM7SUFFZixxREFBcUQ7SUFDckQsT0FBTyxFQUFFLFVBQVUsRUFBRSxDQUFDO0NBQ3ZCO0FBTUQ7OztHQUdHO0FBQ0gsZUFBTyxNQUFNLGNBQWMsSUFBc0IsQ0FBQztBQUNsRCxlQUFPLE1BQU0saUJBQWlCLElBQThCLENBQUM7QUFFN0QsNkZBQTZGO0FBQzdGLGVBQU8sTUFBTSxxQkFBcUIsSUFBMEIsQ0FBQztBQUU3RCx1RkFBdUY7QUFDdkYsZUFBTyxNQUFNLGlCQUFpQixJQUEwQixDQUFDO0FBQ3pELGVBQU8sTUFBTSxrQkFBa0IsSUFBMEIsQ0FBQztBQUUxRDs7OztHQUlHO0FBQ0gsZUFBTyxNQUFNLHlCQUF5QixLQUFLLENBQUM7QUFDNUMsZUFBTyxNQUFNLDRCQUE0QixLQUFLLENBQUM7QUFFL0M7Ozs7Ozs7OztHQVNHO0FBQ0gsd0JBQXNCLHFCQUFxQixDQUN6QyxXQUFXLEVBQUUseUJBQXlCLEVBQ3RDLGVBQWUsRUFBRSxZQUFZLEdBQzVCLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FjZjtBQW1HRDs7R0FFRztBQUNILGVBQU8sTUFBTSxvQkFBb0IsRUFBRSxVQTBCbEMsQ0FBQztBQWtDRjs7OztHQUlHO0FBQ0gsZUFBTyxNQUFNLFlBQVksRUFBRSxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQXM4QjlELENBQUM7QUFFRjs7Ozs7Ozs7Ozs7R0FXRztBQUNILHdCQUFnQix1QkFBdUIsQ0FBQyxtQkFBbUIsR0FBRSxNQUFpQixHQUFHLG9CQUFvQixFQUFFLENBc0J0RztBQTRGRDs7O0dBR0c7QUFDSCx3QkFBZ0Isd0JBQXdCLENBQUMsTUFBTSxFQUFFLFVBQVUsR0FBRyxNQUFNLENBZW5FO0FBRUQ7Ozs7OztHQU1HO0FBQ0gsd0JBQWdCLDRCQUE0QixDQUFDLE1BQU0sRUFBRSxVQUFVLEdBQUcsTUFBTSxDQW1CdkU7QUE0REQsd0JBQXNCLGtCQUFrQixDQUN0QyxNQUFNLEVBQUUsd0JBQXdCLEVBQ2hDLE1BQU0sRUFBRSxVQUFVLEVBQ2xCLGNBQWMsR0FBRSxDQUFDLENBQUMsRUFBRSxPQUFPLEtBQUssSUFBZSxHQUM5QyxPQUFPLENBQUMsY0FBYyxDQUFDLENBS3pCIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"opcode_spammer.d.ts","sourceRoot":"","sources":["../../../src/public/fixtures/opcode_spammer.ts"],"names":[],"mappings":"AAkKA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAA2C,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACjG,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAE3D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAKjF,OAAO,EAAS,KAAK,WAAW,EAAgD,MAAM,4BAA4B,CAAC;AAkDnH,OAAO,EAAE,MAAM,EAAE,MAAM,mDAAmD,CAAC;AAE3E,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAMjF;;GAEG;AACH,UAAU,QAAQ;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,WAAW,CAAC;CACpB;AAED;;;GAGG;AACH,KAAK,SAAS,GAAG,QAAQ,GAAG,CAAC,MAAM,UAAU,EAAE,CAAC,CAAC;AAEjD;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,iCAAiC;IACjC,KAAK,EAAE,SAAS,EAAE,CAAC;IAEnB,sDAAsD;IACtD,kBAAkB,EAAE,MAAM,UAAU,EAAE,CAAC;IAEvC,2DAA2D;IAC3D,mBAAmB,CAAC,EAAE,MAAM,UAAU,EAAE,CAAC;IAEzC;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,sEAAsE;IACtE,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,0DAA0D;IAC1D,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,kCAAkC;IAClC,MAAM,EAAE,MAAM,CAAC;IAEf,qDAAqD;IACrD,OAAO,EAAE,UAAU,EAAE,CAAC;CACvB;AAMD;;;GAGG;AACH,eAAO,MAAM,cAAc,IAAsB,CAAC;AAClD,eAAO,MAAM,iBAAiB,IAA8B,CAAC;AAE7D,
|
|
1
|
+
{"version":3,"file":"opcode_spammer.d.ts","sourceRoot":"","sources":["../../../src/public/fixtures/opcode_spammer.ts"],"names":[],"mappings":"AAkKA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAA2C,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACjG,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAE3D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAKjF,OAAO,EAAS,KAAK,WAAW,EAAgD,MAAM,4BAA4B,CAAC;AAkDnH,OAAO,EAAE,MAAM,EAAE,MAAM,mDAAmD,CAAC;AAE3E,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAMjF;;GAEG;AACH,UAAU,QAAQ;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,WAAW,CAAC;CACpB;AAED;;;GAGG;AACH,KAAK,SAAS,GAAG,QAAQ,GAAG,CAAC,MAAM,UAAU,EAAE,CAAC,CAAC;AAEjD;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,iCAAiC;IACjC,KAAK,EAAE,SAAS,EAAE,CAAC;IAEnB,sDAAsD;IACtD,kBAAkB,EAAE,MAAM,UAAU,EAAE,CAAC;IAEvC,2DAA2D;IAC3D,mBAAmB,CAAC,EAAE,MAAM,UAAU,EAAE,CAAC;IAEzC;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,sEAAsE;IACtE,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,0DAA0D;IAC1D,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,kCAAkC;IAClC,MAAM,EAAE,MAAM,CAAC;IAEf,qDAAqD;IACrD,OAAO,EAAE,UAAU,EAAE,CAAC;CACvB;AAMD;;;GAGG;AACH,eAAO,MAAM,cAAc,IAAsB,CAAC;AAClD,eAAO,MAAM,iBAAiB,IAA8B,CAAC;AAE7D,6FAA6F;AAC7F,eAAO,MAAM,qBAAqB,IAA0B,CAAC;AAE7D,uFAAuF;AACvF,eAAO,MAAM,iBAAiB,IAA0B,CAAC;AACzD,eAAO,MAAM,kBAAkB,IAA0B,CAAC;AAE1D;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,KAAK,CAAC;AAC5C,eAAO,MAAM,4BAA4B,KAAK,CAAC;AAE/C;;;;;;;;;GASG;AACH,wBAAsB,qBAAqB,CACzC,WAAW,EAAE,yBAAyB,EACtC,eAAe,EAAE,YAAY,GAC5B,OAAO,CAAC,IAAI,CAAC,CAcf;AAmGD;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,UA0BlC,CAAC;AAkCF;;;;GAIG;AACH,eAAO,MAAM,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,CAs8B9D,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,wBAAgB,uBAAuB,CAAC,mBAAmB,GAAE,MAAiB,GAAG,oBAAoB,EAAE,CAsBtG;AA4FD;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAenE;AAED;;;;;;GAMG;AACH,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAmBvE;AA4DD,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,wBAAwB,EAChC,MAAM,EAAE,UAAU,EAClB,cAAc,GAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAe,GAC9C,OAAO,CAAC,cAAc,CAAC,CAKzB"}
|
|
@@ -143,7 +143,7 @@
|
|
|
143
143
|
* - `EMITNOTEHASH`: max 64 per TX
|
|
144
144
|
* - `EMITNULLIFIER`: max 63 per TX (one reserved for TX nullifier)
|
|
145
145
|
* - `SENDL2TOL1MSG`: max 8 per TX
|
|
146
|
-
* - `
|
|
146
|
+
* - `EMITPUBLICLOG`: limited by total log payload size
|
|
147
147
|
*
|
|
148
148
|
* By having the inner contract REVERT after emitting side effects, those effects are discarded, allowing the outer contract to call it again. This enables thousands of opcode executions per TX instead of just the limit.
|
|
149
149
|
*
|
|
@@ -152,12 +152,11 @@ import { Grumpkin } from '@aztec/foundation/crypto/grumpkin';
|
|
|
152
152
|
import { randomBigInt } from '@aztec/foundation/crypto/random';
|
|
153
153
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
154
154
|
import { PublicDataWrite } from '@aztec/stdlib/avm';
|
|
155
|
-
import {
|
|
156
|
-
import { computePublicDataTreeLeafSlot, siloNullifier } from '@aztec/stdlib/hash';
|
|
155
|
+
import { computePublicDataTreeLeafSlot } from '@aztec/stdlib/hash';
|
|
157
156
|
import { MerkleTreeId } from '@aztec/stdlib/trees';
|
|
158
157
|
import assert from 'assert';
|
|
159
158
|
import { Field, TaggedMemory, TypeTag, Uint1, Uint32, Uint64 } from '../avm/avm_memory_types.js';
|
|
160
|
-
import { Add, And, Call, CalldataCopy, Cast, DebugLog, Div, EcAdd, EmitNoteHash, EmitNullifier,
|
|
159
|
+
import { Add, And, Call, CalldataCopy, Cast, DebugLog, Div, EcAdd, EmitNoteHash, EmitNullifier, EmitPublicLog, Eq, FieldDiv, GetContractInstance, GetEnvVar, InternalCall, InternalReturn, Jump, JumpI, KeccakF1600, L1ToL2MessageExists, Lt, Lte, Mov, Mul, Not, NoteHashExists, NullifierExists, Or, Poseidon2, Return, ReturndataCopy, ReturndataSize, Revert, SLoad, SStore, SendL2ToL1Message, Set, Sha256Compression, Shl, Shr, StaticCall, Sub, SuccessCopy, ToRadixBE, Xor } from '../avm/opcodes/index.js';
|
|
161
160
|
import { encodeToBytecode } from '../avm/serialization/bytecode_serialization.js';
|
|
162
161
|
import { Opcode } from '../avm/serialization/instruction_serialization.js';
|
|
163
162
|
import { deployCustomBytecode, executeCustomBytecode } from './custom_bytecode_tester.js';
|
|
@@ -169,8 +168,7 @@ import { deployCustomBytecode, executeCustomBytecode } from './custom_bytecode_t
|
|
|
169
168
|
* before running the spammer so that existence checks can find them.
|
|
170
169
|
*/ export const WARM_NOTE_HASH = new Fr(0xdeadbeefn);
|
|
171
170
|
export const WARM_L1_TO_L2_MSG = new Fr(0xcafebabedeadbeefn);
|
|
172
|
-
/** Warm nullifier
|
|
173
|
-
export const WARM_NULLIFIER_ADDRESS = AztecAddress.fromNumber(0xbeef);
|
|
171
|
+
/** Warm nullifier constant - a pre-siloed nullifier value inserted directly into the tree */ export const WARM_SILOED_NULLIFIER = new Fr(0xdeadbeef0001n);
|
|
174
172
|
/** Warm storage constants - storage is inserted for the deployed contract's address */ export const WARM_STORAGE_SLOT = new Fr(0xdeadbeef0002n);
|
|
175
173
|
export const WARM_STORAGE_VALUE = new Fr(0xcafebabe0003n);
|
|
176
174
|
/**
|
|
@@ -197,10 +195,9 @@ export const WARM_L1_TO_L2_MSG_LEAF_INDEX = 0n;
|
|
|
197
195
|
await merkleTrees.appendLeaves(MerkleTreeId.L1_TO_L2_MESSAGE_TREE, [
|
|
198
196
|
WARM_L1_TO_L2_MSG
|
|
199
197
|
]);
|
|
200
|
-
// Insert siloed nullifier into nullifier tree
|
|
201
|
-
const siloedNullifier = await siloNullifier(WARM_NULLIFIER_ADDRESS, WARM_NULLIFIER);
|
|
198
|
+
// Insert siloed nullifier into nullifier tree (already siloed - used directly by NULLIFIEREXISTS)
|
|
202
199
|
await merkleTrees.sequentialInsert(MerkleTreeId.NULLIFIER_TREE, [
|
|
203
|
-
|
|
200
|
+
WARM_SILOED_NULLIFIER.toBuffer()
|
|
204
201
|
]);
|
|
205
202
|
// Insert storage value into public data tree
|
|
206
203
|
const leafSlot = await computePublicDataTreeLeafSlot(contractAddress, WARM_STORAGE_SLOT);
|
|
@@ -1000,67 +997,30 @@ const STATIC_CALL_CONFIG = {
|
|
|
1000
997
|
[Opcode.NULLIFIEREXISTS]: [
|
|
1001
998
|
{
|
|
1002
999
|
label: 'Non-existent nullifier',
|
|
1000
|
+
// NULLIFIEREXISTS now takes a siloed nullifier directly (no address parameter)
|
|
1003
1001
|
setup: [
|
|
1004
1002
|
{
|
|
1005
1003
|
offset: 0,
|
|
1006
1004
|
value: new Field(Fr.random())
|
|
1007
|
-
},
|
|
1008
|
-
{
|
|
1009
|
-
offset: 1,
|
|
1010
|
-
value: new Field(Fr.random())
|
|
1011
1005
|
}
|
|
1012
1006
|
],
|
|
1013
1007
|
targetInstructions: ()=>[
|
|
1014
|
-
new NullifierExists(/*addressing_mode=*/ 0, /*
|
|
1008
|
+
new NullifierExists(/*addressing_mode=*/ 0, /*siloedNullifierOffset=*/ 0, /*existsOffset=*/ 1)
|
|
1015
1009
|
]
|
|
1016
1010
|
},
|
|
1017
1011
|
{
|
|
1018
1012
|
label: 'Existing nullifier (warm - from tree)',
|
|
1019
|
-
// Uses pre-inserted nullifier from insertWarmTreeEntries()
|
|
1013
|
+
// Uses pre-inserted siloed nullifier from insertWarmTreeEntries()
|
|
1014
|
+
// NULLIFIEREXISTS now takes a siloed nullifier directly
|
|
1020
1015
|
setup: [
|
|
1021
1016
|
{
|
|
1022
1017
|
offset: 0,
|
|
1023
|
-
value: new Field(
|
|
1024
|
-
},
|
|
1025
|
-
{
|
|
1026
|
-
offset: 1,
|
|
1027
|
-
value: new Field(WARM_NULLIFIER_ADDRESS.toField())
|
|
1018
|
+
value: new Field(WARM_SILOED_NULLIFIER)
|
|
1028
1019
|
}
|
|
1029
1020
|
],
|
|
1030
1021
|
targetInstructions: ()=>[
|
|
1031
|
-
new NullifierExists(/*addressing_mode=*/ 0, /*
|
|
1022
|
+
new NullifierExists(/*addressing_mode=*/ 0, /*siloedNullifierOffset=*/ 0, /*existsOffset=*/ 1)
|
|
1032
1023
|
]
|
|
1033
|
-
},
|
|
1034
|
-
{
|
|
1035
|
-
label: 'Existing nullifier (warm - EMITNULLIFIER first)',
|
|
1036
|
-
// Memory layout: nullifier (incremented), constant 1, current address (from GETENVVAR), revertSize, exists result
|
|
1037
|
-
setup: [
|
|
1038
|
-
{
|
|
1039
|
-
offset: 0,
|
|
1040
|
-
value: new Field(Fr.random())
|
|
1041
|
-
},
|
|
1042
|
-
{
|
|
1043
|
-
offset: 1,
|
|
1044
|
-
value: new Field(1n)
|
|
1045
|
-
},
|
|
1046
|
-
()=>[
|
|
1047
|
-
// Get current contract address into offset 2
|
|
1048
|
-
new GetEnvVar(/*addressing_mode=*/ 0, /*dstOffset=*/ 2, /*varEnum=*/ 0).as(Opcode.GETENVVAR_16, GetEnvVar.wireFormat16)
|
|
1049
|
-
],
|
|
1050
|
-
{
|
|
1051
|
-
offset: 3,
|
|
1052
|
-
value: new Uint32(0n)
|
|
1053
|
-
}
|
|
1054
|
-
],
|
|
1055
|
-
targetInstructions: ()=>[
|
|
1056
|
-
new EmitNullifier(/*addressing_mode=*/ 0, /*nullifierOffset=*/ 0),
|
|
1057
|
-
new NullifierExists(/*addressing_mode=*/ 0, /*nullifierOffset=*/ 0, /*addressOffset=*/ 2, /*existsOffset=*/ 4),
|
|
1058
|
-
new Add(/*addressing_mode=*/ 0, /*aOffset=*/ 0, /*bOffset=*/ 1, /*dstOffset=*/ 0).as(Opcode.ADD_8, Add.wireFormat8)
|
|
1059
|
-
],
|
|
1060
|
-
cleanupInstructions: ()=>[
|
|
1061
|
-
new Revert(/*addressing_mode=*/ 0, /*retSizeOffset=*/ 3, /*returnOffset=*/ 0).as(Opcode.REVERT_8, Revert.wireFormat8)
|
|
1062
|
-
],
|
|
1063
|
-
limit: MAX_NULLIFIERS_PER_TX - 1
|
|
1064
1024
|
}
|
|
1065
1025
|
],
|
|
1066
1026
|
[Opcode.L1TOL2MSGEXISTS]: [
|
|
@@ -1247,8 +1207,8 @@ const STATIC_CALL_CONFIG = {
|
|
|
1247
1207
|
limit: MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX
|
|
1248
1208
|
}
|
|
1249
1209
|
],
|
|
1250
|
-
//
|
|
1251
|
-
[Opcode.
|
|
1210
|
+
// EMITPUBLICLOG - two configs: minimal (many small logs) and max-size (one large log)
|
|
1211
|
+
[Opcode.EMITPUBLICLOG]: [
|
|
1252
1212
|
{
|
|
1253
1213
|
label: 'Many empty logs, revert, repeat',
|
|
1254
1214
|
setup: [
|
|
@@ -1262,7 +1222,7 @@ const STATIC_CALL_CONFIG = {
|
|
|
1262
1222
|
}
|
|
1263
1223
|
],
|
|
1264
1224
|
targetInstructions: ()=>[
|
|
1265
|
-
new
|
|
1225
|
+
new EmitPublicLog(/*addressing_mode=*/ 0, /*logSizeOffset=*/ 0, /*logOffset=*/ 1)
|
|
1266
1226
|
],
|
|
1267
1227
|
cleanupInstructions: ()=>[
|
|
1268
1228
|
new Revert(/*addressing_mode=*/ 0, /*retSizeOffset=*/ 1, /*returnOffset=*/ 0).as(Opcode.REVERT_8, Revert.wireFormat8)
|
|
@@ -1284,7 +1244,7 @@ const STATIC_CALL_CONFIG = {
|
|
|
1284
1244
|
}
|
|
1285
1245
|
],
|
|
1286
1246
|
targetInstructions: ()=>[
|
|
1287
|
-
new
|
|
1247
|
+
new EmitPublicLog(/*addressing_mode=*/ 0, /*logSizeOffset=*/ 0, /*logOffset=*/ 2)
|
|
1288
1248
|
],
|
|
1289
1249
|
cleanupInstructions: ()=>[
|
|
1290
1250
|
new Revert(/*addressing_mode=*/ 0, /*retSizeOffset=*/ 1, /*returnOffset=*/ 0).as(Opcode.REVERT_8, Revert.wireFormat8)
|
|
@@ -69,4 +69,4 @@ export declare class PublicTxSimulationTester extends BaseAvmSimulationTester {
|
|
|
69
69
|
getSimulator(): MeasuredPublicTxSimulatorInterface;
|
|
70
70
|
}
|
|
71
71
|
export declare function defaultGlobals(): GlobalVariables;
|
|
72
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX3R4X3NpbXVsYXRpb25fdGVzdGVyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcHVibGljL2ZpeHR1cmVzL3B1YmxpY190eF9zaW11bGF0aW9uX3Rlc3Rlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFTQSxPQUFPLEVBQUUsS0FBSyxnQkFBZ0IsRUFBbUIsTUFBTSxtQkFBbUIsQ0FBQztBQUMzRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsS0FBSyxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMvRSxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUVoRSxPQUFPLEtBQUssRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRWpGLE9BQU8sRUFBRSxlQUFlLEVBQWlDLEtBQUssRUFBRSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDM0YsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFN0QsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFPeEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFHNUQsT0FBTyxLQUFLLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUNsSCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUsS0FBSyxxQkFBcUIsRUFBMEIsTUFBTSxZQUFZLENBQUM7QUFJaEYsTUFBTSxNQUFNLGdCQUFnQixHQUFHO0lBQzdCLE1BQU0sQ0FBQyxFQUFFLFlBQVksQ0FBQztJQUN0QixPQUFPLEVBQUUsWUFBWSxDQUFDO0lBQ3RCLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUNoQixJQUFJLEVBQUUsR0FBRyxFQUFF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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"public_tx_simulation_tester.d.ts","sourceRoot":"","sources":["../../../src/public/fixtures/public_tx_simulation_tester.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"public_tx_simulation_tester.d.ts","sourceRoot":"","sources":["../../../src/public/fixtures/public_tx_simulation_tester.ts"],"names":[],"mappings":"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"}
|