@aztec/simulator 0.35.0 → 0.36.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dest/acvm/oracle/oracle.d.ts +6 -5
- package/dest/acvm/oracle/oracle.d.ts.map +1 -1
- package/dest/acvm/oracle/oracle.js +30 -23
- package/dest/acvm/oracle/typed_oracle.d.ts +15 -21
- package/dest/acvm/oracle/typed_oracle.d.ts.map +1 -1
- package/dest/acvm/oracle/typed_oracle.js +10 -10
- package/dest/avm/avm_execution_environment.d.ts +1 -5
- package/dest/avm/avm_execution_environment.d.ts.map +1 -1
- package/dest/avm/avm_execution_environment.js +5 -8
- package/dest/avm/avm_gas.d.ts +1 -9
- package/dest/avm/avm_gas.d.ts.map +1 -1
- package/dest/avm/avm_gas.js +6 -13
- package/dest/avm/avm_machine_state.d.ts +1 -3
- package/dest/avm/avm_machine_state.d.ts.map +1 -1
- package/dest/avm/avm_machine_state.js +8 -9
- package/dest/avm/avm_simulator.js +2 -2
- package/dest/avm/fixtures/index.d.ts +2 -6
- package/dest/avm/fixtures/index.d.ts.map +1 -1
- package/dest/avm/fixtures/index.js +3 -12
- package/dest/avm/journal/journal.d.ts +2 -1
- package/dest/avm/journal/journal.d.ts.map +1 -1
- package/dest/avm/journal/journal.js +8 -17
- package/dest/avm/journal/trace.d.ts +3 -1
- package/dest/avm/journal/trace.d.ts.map +1 -1
- package/dest/avm/journal/trace.js +11 -1
- package/dest/avm/journal/trace_types.d.ts +4 -0
- package/dest/avm/journal/trace_types.d.ts.map +1 -1
- package/dest/avm/journal/trace_types.js +1 -1
- package/dest/avm/opcodes/arithmetic.d.ts.map +1 -1
- package/dest/avm/opcodes/arithmetic.js +1 -1
- package/dest/avm/opcodes/context_getters.d.ts +0 -5
- package/dest/avm/opcodes/context_getters.d.ts.map +1 -1
- package/dest/avm/opcodes/context_getters.js +1 -8
- package/dest/avm/opcodes/contract.d.ts.map +1 -1
- package/dest/avm/opcodes/contract.js +1 -3
- package/dest/avm/opcodes/environment_getters.d.ts +0 -15
- package/dest/avm/opcodes/environment_getters.d.ts.map +1 -1
- package/dest/avm/opcodes/environment_getters.js +1 -35
- package/dest/avm/opcodes/external_calls.d.ts.map +1 -1
- package/dest/avm/opcodes/external_calls.js +5 -6
- package/dest/avm/opcodes/memory.d.ts.map +1 -1
- package/dest/avm/opcodes/memory.js +3 -3
- package/dest/avm/opcodes/storage.d.ts.map +1 -1
- package/dest/avm/opcodes/storage.js +1 -1
- package/dest/avm/serialization/bytecode_serialization.d.ts.map +1 -1
- package/dest/avm/serialization/bytecode_serialization.js +3 -8
- package/dest/avm/serialization/instruction_serialization.d.ts +42 -47
- package/dest/avm/serialization/instruction_serialization.d.ts.map +1 -1
- package/dest/avm/serialization/instruction_serialization.js +43 -48
- package/dest/client/client_execution_context.d.ts +13 -16
- package/dest/client/client_execution_context.d.ts.map +1 -1
- package/dest/client/client_execution_context.js +36 -34
- package/dest/client/db_oracle.d.ts +5 -16
- package/dest/client/db_oracle.d.ts.map +1 -1
- package/dest/client/db_oracle.js +1 -1
- package/dest/client/execution_note_cache.d.ts +6 -2
- package/dest/client/execution_note_cache.d.ts.map +1 -1
- package/dest/client/execution_note_cache.js +10 -7
- package/dest/client/execution_result.d.ts +10 -5
- package/dest/client/execution_result.d.ts.map +1 -1
- package/dest/client/execution_result.js +7 -1
- package/dest/client/private_execution.d.ts.map +1 -1
- package/dest/client/private_execution.js +4 -10
- package/dest/client/simulator.d.ts +1 -3
- package/dest/client/simulator.d.ts.map +1 -1
- package/dest/client/simulator.js +5 -9
- package/dest/client/view_data_oracle.d.ts +7 -11
- package/dest/client/view_data_oracle.d.ts.map +1 -1
- package/dest/client/view_data_oracle.js +8 -14
- package/dest/mocks/fixtures.d.ts +1 -1
- package/dest/mocks/fixtures.d.ts.map +1 -1
- package/dest/mocks/fixtures.js +9 -5
- package/dest/public/abstract_phase_manager.d.ts +4 -4
- package/dest/public/abstract_phase_manager.d.ts.map +1 -1
- package/dest/public/abstract_phase_manager.js +28 -43
- package/dest/public/app_logic_phase_manager.d.ts +1 -7
- package/dest/public/app_logic_phase_manager.d.ts.map +1 -1
- package/dest/public/app_logic_phase_manager.js +1 -7
- package/dest/public/db.d.ts +6 -7
- package/dest/public/db.d.ts.map +1 -1
- package/dest/public/execution.d.ts +15 -6
- package/dest/public/execution.d.ts.map +1 -1
- package/dest/public/execution.js +7 -9
- package/dest/public/executor.d.ts +2 -2
- package/dest/public/executor.d.ts.map +1 -1
- package/dest/public/executor.js +19 -10
- package/dest/public/hints_builder.d.ts +10 -8
- package/dest/public/hints_builder.d.ts.map +1 -1
- package/dest/public/hints_builder.js +29 -35
- package/dest/public/public_execution_context.d.ts +8 -13
- package/dest/public/public_execution_context.d.ts.map +1 -1
- package/dest/public/public_execution_context.js +12 -29
- package/dest/public/public_executor.d.ts +2 -2
- package/dest/public/public_executor.d.ts.map +1 -1
- package/dest/public/public_executor.js +4 -5
- package/dest/public/public_processor.d.ts +1 -2
- package/dest/public/public_processor.d.ts.map +1 -1
- package/dest/public/public_processor.js +1 -1
- package/dest/public/setup_phase_manager.d.ts +0 -6
- package/dest/public/setup_phase_manager.d.ts.map +1 -1
- package/dest/public/setup_phase_manager.js +1 -7
- package/dest/public/state_actions.d.ts.map +1 -1
- package/dest/public/state_actions.js +3 -1
- package/dest/public/tail_phase_manager.d.ts +3 -6
- package/dest/public/tail_phase_manager.d.ts.map +1 -1
- package/dest/public/tail_phase_manager.js +47 -16
- package/dest/public/teardown_phase_manager.d.ts +3 -7
- package/dest/public/teardown_phase_manager.d.ts.map +1 -1
- package/dest/public/teardown_phase_manager.js +14 -7
- package/dest/public/transitional_adaptors.d.ts +2 -2
- package/dest/public/transitional_adaptors.d.ts.map +1 -1
- package/dest/public/transitional_adaptors.js +19 -21
- package/dest/public/utils.d.ts.map +1 -1
- package/dest/public/utils.js +4 -2
- package/dest/test/utils.d.ts.map +1 -1
- package/dest/test/utils.js +3 -5
- package/package.json +16 -8
- package/src/acvm/oracle/oracle.ts +39 -21
- package/src/acvm/oracle/typed_oracle.ts +18 -26
- package/src/avm/avm_execution_environment.ts +0 -13
- package/src/avm/avm_gas.ts +6 -14
- package/src/avm/avm_machine_state.ts +8 -11
- package/src/avm/avm_simulator.ts +1 -1
- package/src/avm/fixtures/index.ts +2 -24
- package/src/avm/journal/journal.ts +14 -25
- package/src/avm/journal/trace.ts +12 -0
- package/src/avm/journal/trace_types.ts +7 -0
- package/src/avm/opcodes/arithmetic.ts +2 -2
- package/src/avm/opcodes/context_getters.ts +0 -9
- package/src/avm/opcodes/contract.ts +0 -2
- package/src/avm/opcodes/environment_getters.ts +0 -45
- package/src/avm/opcodes/external_calls.ts +5 -6
- package/src/avm/opcodes/memory.ts +5 -5
- package/src/avm/opcodes/storage.ts +1 -1
- package/src/avm/serialization/bytecode_serialization.ts +2 -10
- package/src/avm/serialization/instruction_serialization.ts +1 -6
- package/src/client/client_execution_context.ts +79 -54
- package/src/client/db_oracle.ts +5 -17
- package/src/client/execution_note_cache.ts +16 -7
- package/src/client/execution_result.ts +17 -6
- package/src/client/private_execution.ts +4 -9
- package/src/client/simulator.ts +3 -15
- package/src/client/view_data_oracle.ts +25 -29
- package/src/mocks/fixtures.ts +7 -16
- package/src/public/abstract_phase_manager.ts +45 -56
- package/src/public/app_logic_phase_manager.ts +6 -6
- package/src/public/db.ts +7 -8
- package/src/public/execution.ts +22 -18
- package/src/public/executor.ts +31 -5
- package/src/public/hints_builder.ts +62 -62
- package/src/public/public_execution_context.ts +30 -36
- package/src/public/public_executor.ts +4 -6
- package/src/public/public_processor.ts +1 -1
- package/src/public/setup_phase_manager.ts +6 -6
- package/src/public/state_actions.ts +2 -0
- package/src/public/tail_phase_manager.ts +98 -23
- package/src/public/teardown_phase_manager.ts +24 -6
- package/src/public/transitional_adaptors.ts +25 -19
- package/src/public/utils.ts +3 -1
- package/src/test/utils.ts +2 -4
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import { type AztecAddress } from '@aztec/foundation/aztec-address';
|
|
2
2
|
import { Fr } from '@aztec/foundation/fields';
|
|
3
3
|
import { type NoteData } from '../acvm/index.js';
|
|
4
|
+
export interface PendingNote {
|
|
5
|
+
note: NoteData;
|
|
6
|
+
counter: number;
|
|
7
|
+
}
|
|
4
8
|
/**
|
|
5
9
|
* Data that's accessible by all the function calls in an execution.
|
|
6
10
|
*/
|
|
@@ -21,7 +25,7 @@ export declare class ExecutionNoteCache {
|
|
|
21
25
|
* Add a new note to cache.
|
|
22
26
|
* @param note - New note created during execution.
|
|
23
27
|
*/
|
|
24
|
-
addNewNote(note: NoteData): void;
|
|
28
|
+
addNewNote(note: NoteData, counter: number): void;
|
|
25
29
|
/**
|
|
26
30
|
* Add a nullifier to cache. It could be for a db note or a new note created during execution.
|
|
27
31
|
* @param contractAddress - Contract address of the note.
|
|
@@ -30,7 +34,7 @@ export declare class ExecutionNoteCache {
|
|
|
30
34
|
* @param innerNoteHash - Inner note hash of the note. If this value equals 0, it means the
|
|
31
35
|
* note being nullified is from a previous transaction (and thus not a new note).
|
|
32
36
|
*/
|
|
33
|
-
nullifyNote(contractAddress: AztecAddress, innerNullifier: Fr, innerNoteHash: Fr):
|
|
37
|
+
nullifyNote(contractAddress: AztecAddress, innerNullifier: Fr, innerNoteHash: Fr): number | undefined;
|
|
34
38
|
/**
|
|
35
39
|
* Return notes created up to current point in execution.
|
|
36
40
|
* If a nullifier for a note in this list is emitted, the note will be deleted.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execution_note_cache.d.ts","sourceRoot":"","sources":["../../src/client/execution_note_cache.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEjD;;GAEG;AACH,qBAAa,kBAAkB;IAC7B;;;OAGG;IACH,OAAO,CAAC,QAAQ,
|
|
1
|
+
{"version":3,"file":"execution_note_cache.d.ts","sourceRoot":"","sources":["../../src/client/execution_note_cache.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEjD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,QAAQ,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,qBAAa,kBAAkB;IAC7B;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAyC;IAEzD;;;;;OAKG;IACH,OAAO,CAAC,UAAU,CAAuC;IAEzD;;;OAGG;IACI,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM;IAMjD;;;;;;;OAOG;IACI,WAAW,CAAC,eAAe,EAAE,YAAY,EAAE,cAAc,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE;IAsBvF;;;;;QAKI;IACG,QAAQ,CAAC,eAAe,EAAE,YAAY,EAAE,WAAW,EAAE,EAAE;IAK9D;;;;;QAKI;IACG,eAAe,CAAC,eAAe,EAAE,YAAY,EAAE,aAAa,EAAE,EAAE;IAKvE;;;OAGG;IACI,aAAa,CAAC,eAAe,EAAE,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC;CAGjE"}
|
|
@@ -22,9 +22,9 @@ export class ExecutionNoteCache {
|
|
|
22
22
|
* Add a new note to cache.
|
|
23
23
|
* @param note - New note created during execution.
|
|
24
24
|
*/
|
|
25
|
-
addNewNote(note) {
|
|
25
|
+
addNewNote(note, counter) {
|
|
26
26
|
const notes = this.newNotes.get(note.contractAddress.toBigInt()) ?? [];
|
|
27
|
-
notes.push(note);
|
|
27
|
+
notes.push({ note, counter });
|
|
28
28
|
this.newNotes.set(note.contractAddress.toBigInt(), notes);
|
|
29
29
|
}
|
|
30
30
|
/**
|
|
@@ -40,16 +40,19 @@ export class ExecutionNoteCache {
|
|
|
40
40
|
const nullifiers = this.getNullifiers(contractAddress);
|
|
41
41
|
nullifiers.add(siloedNullifier.value);
|
|
42
42
|
this.nullifiers.set(contractAddress.toBigInt(), nullifiers);
|
|
43
|
+
let nullifiedNoteHashCounter = undefined;
|
|
43
44
|
// Find and remove the matching new note if the emitted innerNoteHash is not empty.
|
|
44
45
|
if (!innerNoteHash.equals(Fr.ZERO)) {
|
|
45
46
|
const notes = this.newNotes.get(contractAddress.toBigInt()) ?? [];
|
|
46
|
-
const noteIndexToRemove = notes.findIndex(n => n.innerNoteHash.equals(innerNoteHash));
|
|
47
|
+
const noteIndexToRemove = notes.findIndex(n => n.note.innerNoteHash.equals(innerNoteHash));
|
|
47
48
|
if (noteIndexToRemove === -1) {
|
|
48
49
|
throw new Error('Attempt to remove a pending note that does not exist.');
|
|
49
50
|
}
|
|
50
|
-
notes.splice(noteIndexToRemove, 1);
|
|
51
|
+
const note = notes.splice(noteIndexToRemove, 1)[0];
|
|
52
|
+
nullifiedNoteHashCounter = note.counter;
|
|
51
53
|
this.newNotes.set(contractAddress.toBigInt(), notes);
|
|
52
54
|
}
|
|
55
|
+
return nullifiedNoteHashCounter;
|
|
53
56
|
}
|
|
54
57
|
/**
|
|
55
58
|
* Return notes created up to current point in execution.
|
|
@@ -59,7 +62,7 @@ export class ExecutionNoteCache {
|
|
|
59
62
|
**/
|
|
60
63
|
getNotes(contractAddress, storageSlot) {
|
|
61
64
|
const notes = this.newNotes.get(contractAddress.toBigInt()) ?? [];
|
|
62
|
-
return notes.filter(n => n.storageSlot.equals(storageSlot));
|
|
65
|
+
return notes.filter(n => n.note.storageSlot.equals(storageSlot)).map(n => n.note);
|
|
63
66
|
}
|
|
64
67
|
/**
|
|
65
68
|
* Check if a note exists in the newNotes array.
|
|
@@ -69,7 +72,7 @@ export class ExecutionNoteCache {
|
|
|
69
72
|
**/
|
|
70
73
|
checkNoteExists(contractAddress, innerNoteHash) {
|
|
71
74
|
const notes = this.newNotes.get(contractAddress.toBigInt()) ?? [];
|
|
72
|
-
return notes.some(n => n.innerNoteHash.equals(innerNoteHash));
|
|
75
|
+
return notes.some(n => n.note.innerNoteHash.equals(innerNoteHash));
|
|
73
76
|
}
|
|
74
77
|
/**
|
|
75
78
|
* Return all nullifiers emitted from a contract.
|
|
@@ -79,4 +82,4 @@ export class ExecutionNoteCache {
|
|
|
79
82
|
return this.nullifiers.get(contractAddress.toBigInt()) ?? new Set();
|
|
80
83
|
}
|
|
81
84
|
}
|
|
82
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhlY3V0aW9uX25vdGVfY2FjaGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2xpZW50L2V4ZWN1dGlvbl9ub3RlX2NhY2hlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV4RCxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFTOUM7O0dBRUc7QUFDSCxNQUFNLE9BQU8sa0JBQWtCO0lBQS9CO1FBQ0U7OztXQUdHO1FBQ0ssYUFBUSxHQUErQixJQUFJLEdBQUcsRUFBRSxDQUFDO1FBRXpEOzs7OztXQUtHO1FBQ0ssZUFBVSxHQUE2QixJQUFJLEdBQUcsRUFBRSxDQUFDO0lBdUUzRCxDQUFDO0lBckVDOzs7T0FHRztJQUNJLFVBQVUsQ0FBQyxJQUFjLEVBQUUsT0FBZTtRQUMvQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3ZFLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUM5QixJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0ksV0FBVyxDQUFDLGVBQTZCLEVBQUUsY0FBa0IsRUFBRSxhQUFpQjtRQUNyRixNQUFNLGVBQWUsR0FBRyxhQUFhLENBQUMsZUFBZSxFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBQ3ZFLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDdkQsVUFBVSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBRTVELElBQUksd0JBQXdCLEdBQXVCLFNBQVMsQ0FBQztRQUM3RCxtRkFBbUY7UUFDbkYsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDbkMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2xFLE1BQU0saUJBQWlCLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO1lBQzNGLElBQUksaUJBQWlCLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDN0IsTUFBTSxJQUFJLEtBQUssQ0FBQyx1REFBdUQsQ0FBQyxDQUFDO1lBQzNFLENBQUM7WUFDRCxNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLGlCQUFpQixFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ25ELHdCQUF3QixHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7WUFDeEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3ZELENBQUM7UUFFRCxPQUFPLHdCQUF3QixDQUFDO0lBQ2xDLENBQUM7SUFFRDs7Ozs7UUFLSTtJQUNHLFFBQVEsQ0FBQyxlQUE2QixFQUFFLFdBQWU7UUFDNUQsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2xFLE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNwRixDQUFDO0lBRUQ7Ozs7O1FBS0k7SUFDRyxlQUFlLENBQUMsZUFBNkIsRUFBRSxhQUFpQjtRQUNyRSxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsUUFBUSxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDbEUsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7SUFDckUsQ0FBQztJQUVEOzs7T0FHRztJQUNJLGFBQWEsQ0FBQyxlQUE2QjtRQUNoRCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxJQUFJLElBQUksR0FBRyxFQUFFLENBQUM7SUFDdEUsQ0FBQztDQUNGIn0=
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
/// <reference types="node" resolution-mode="require"/>
|
|
2
2
|
import { type EncryptedFunctionL2Logs, type Note, type UnencryptedFunctionL2Logs } from '@aztec/circuit-types';
|
|
3
3
|
import { type NoteHashReadRequestMembershipWitness, type PrivateCallStackItem, type PublicCallRequest } from '@aztec/circuits.js';
|
|
4
|
-
import { type DecodedReturn } from '@aztec/foundation/abi';
|
|
5
4
|
import { type Fr } from '@aztec/foundation/fields';
|
|
6
5
|
import { type ACVMField } from '../acvm/index.js';
|
|
7
6
|
/**
|
|
@@ -15,6 +14,10 @@ export interface NoteAndSlot {
|
|
|
15
14
|
/** The note type identifier. */
|
|
16
15
|
noteTypeId: Fr;
|
|
17
16
|
}
|
|
17
|
+
export interface NullifiedNoteHashCounter {
|
|
18
|
+
noteHashCounter: number;
|
|
19
|
+
nullifierCounter: number;
|
|
20
|
+
}
|
|
18
21
|
/**
|
|
19
22
|
* The result of executing a private function.
|
|
20
23
|
*/
|
|
@@ -31,23 +34,25 @@ export interface ExecutionResult {
|
|
|
31
34
|
noteHashReadRequestPartialWitnesses: NoteHashReadRequestMembershipWitness[];
|
|
32
35
|
/** The notes created in the executed function. */
|
|
33
36
|
newNotes: NoteAndSlot[];
|
|
34
|
-
|
|
35
|
-
|
|
37
|
+
nullifiedNoteHashCounters: NullifiedNoteHashCounter[];
|
|
38
|
+
/** The raw return values of the executed function. */
|
|
39
|
+
returnValues: Fr[];
|
|
36
40
|
/** The nested executions. */
|
|
37
41
|
nestedExecutions: this[];
|
|
38
42
|
/** Enqueued public function execution requests to be picked up by the sequencer. */
|
|
39
43
|
enqueuedPublicFunctionCalls: PublicCallRequest[];
|
|
40
44
|
/**
|
|
41
45
|
* Encrypted logs emitted during execution of this function call.
|
|
42
|
-
* Note: These are preimages to `
|
|
46
|
+
* Note: These are preimages to `encryptedLogsHashes`.
|
|
43
47
|
*/
|
|
44
48
|
encryptedLogs: EncryptedFunctionL2Logs;
|
|
45
49
|
/**
|
|
46
50
|
* Unencrypted logs emitted during execution of this function call.
|
|
47
|
-
* Note: These are preimages to `
|
|
51
|
+
* Note: These are preimages to `unencryptedLogsHashes`.
|
|
48
52
|
*/
|
|
49
53
|
unencryptedLogs: UnencryptedFunctionL2Logs;
|
|
50
54
|
}
|
|
55
|
+
export declare function collectNullifiedNoteHashCounters(execResult: ExecutionResult): NullifiedNoteHashCounter[];
|
|
51
56
|
/**
|
|
52
57
|
* Collect all encrypted logs across all nested executions.
|
|
53
58
|
* @param execResult - The topmost execution result.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execution_result.d.ts","sourceRoot":"","sources":["../../src/client/execution_result.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,uBAAuB,EAAE,KAAK,IAAI,EAAE,KAAK,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAC/G,OAAO,EACL,KAAK,oCAAoC,EACzC,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACvB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"execution_result.d.ts","sourceRoot":"","sources":["../../src/client/execution_result.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,uBAAuB,EAAE,KAAK,IAAI,EAAE,KAAK,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAC/G,OAAO,EACL,KAAK,oCAAoC,EACzC,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACvB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAEnD,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAElD;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,gBAAgB;IAChB,IAAI,EAAE,IAAI,CAAC;IACX,oCAAoC;IACpC,WAAW,EAAE,EAAE,CAAC;IAChB,gCAAgC;IAChC,UAAU,EAAE,EAAE,CAAC;CAChB;AAED,MAAM,WAAW,wBAAwB;IACvC,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAE9B,yBAAyB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,4BAA4B;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,2BAA2B;IAC3B,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAEvC,2BAA2B;IAC3B,aAAa,EAAE,oBAAoB,CAAC;IACpC,4FAA4F;IAC5F,mCAAmC,EAAE,oCAAoC,EAAE,CAAC;IAC5E,kDAAkD;IAClD,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,yBAAyB,EAAE,wBAAwB,EAAE,CAAC;IACtD,sDAAsD;IACtD,YAAY,EAAE,EAAE,EAAE,CAAC;IACnB,6BAA6B;IAC7B,gBAAgB,EAAE,IAAI,EAAE,CAAC;IACzB,oFAAoF;IACpF,2BAA2B,EAAE,iBAAiB,EAAE,CAAC;IACjD;;;OAGG;IACH,aAAa,EAAE,uBAAuB,CAAC;IACvC;;;OAGG;IACH,eAAe,EAAE,yBAAyB,CAAC;CAC5C;AAED,wBAAgB,gCAAgC,CAAC,UAAU,EAAE,eAAe,GAAG,wBAAwB,EAAE,CAKxG;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,eAAe,GAAG,uBAAuB,EAAE,CAG3F;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,eAAe,GAAG,yBAAyB,EAAE,CAG/F;AAED;;;;GAIG;AACH,wBAAgB,kCAAkC,CAAC,UAAU,EAAE,eAAe,GAAG,iBAAiB,EAAE,CAOnG"}
|
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
export function collectNullifiedNoteHashCounters(execResult) {
|
|
2
|
+
return [
|
|
3
|
+
execResult.nullifiedNoteHashCounters,
|
|
4
|
+
...execResult.nestedExecutions.flatMap(collectNullifiedNoteHashCounters),
|
|
5
|
+
].flat();
|
|
6
|
+
}
|
|
1
7
|
/**
|
|
2
8
|
* Collect all encrypted logs across all nested executions.
|
|
3
9
|
* @param execResult - The topmost execution result.
|
|
@@ -29,4 +35,4 @@ export function collectEnqueuedPublicFunctionCalls(execResult) {
|
|
|
29
35
|
...[...execResult.nestedExecutions].flatMap(collectEnqueuedPublicFunctionCalls),
|
|
30
36
|
].sort((a, b) => b.callContext.sideEffectCounter - a.callContext.sideEffectCounter);
|
|
31
37
|
}
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhlY3V0aW9uX3Jlc3VsdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jbGllbnQvZXhlY3V0aW9uX3Jlc3VsdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFnRUEsTUFBTSxVQUFVLGdDQUFnQyxDQUFDLFVBQTJCO0lBQzFFLE9BQU87UUFDTCxVQUFVLENBQUMseUJBQXlCO1FBQ3BDLEdBQUcsVUFBVSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxnQ0FBZ0MsQ0FBQztLQUN6RSxDQUFDLElBQUksRUFBRSxDQUFDO0FBQ1gsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsb0JBQW9CLENBQUMsVUFBMkI7SUFDOUQsMkhBQTJIO0lBQzNILE9BQU8sQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLEdBQUcsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUM7QUFDakgsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsc0JBQXNCLENBQUMsVUFBMkI7SUFDaEUsMkhBQTJIO0lBQzNILE9BQU8sQ0FBQyxVQUFVLENBQUMsZUFBZSxFQUFFLEdBQUcsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUM7QUFDckgsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsa0NBQWtDLENBQUMsVUFBMkI7SUFDNUUsb0ZBQW9GO0lBQ3BGLHdGQUF3RjtJQUN4RixPQUFPO1FBQ0wsR0FBRyxVQUFVLENBQUMsMkJBQTJCO1FBQ3pDLEdBQUcsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxrQ0FBa0MsQ0FBQztLQUNoRixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsaUJBQWlCLEdBQUcsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0FBQ3RGLENBQUMifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"private_execution.d.ts","sourceRoot":"","sources":["../../src/client/private_execution.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAoD,MAAM,oBAAoB,CAAC;AACzG,OAAO,
|
|
1
|
+
{"version":3,"file":"private_execution.d.ts","sourceRoot":"","sources":["../../src/client/private_execution.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAoD,MAAM,oBAAoB,CAAC;AACzG,OAAO,EAAE,KAAK,iCAAiC,EAAE,MAAM,uBAAuB,CAAC;AAC/E,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAOpE,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAG7D;;GAEG;AACH,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,sBAAsB,EAC/B,QAAQ,EAAE,iCAAiC,EAC3C,eAAe,EAAE,YAAY,EAC7B,YAAY,EAAE,YAAY,EAC1B,GAAG,yCAAwD,GAC1D,OAAO,CAAC,eAAe,CAAC,CAyD1B"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { PrivateCallStackItem, PrivateCircuitPublicInputs } from '@aztec/circuits.js';
|
|
2
|
-
import { decodeReturnValues } from '@aztec/foundation/abi';
|
|
3
2
|
import { Fr } from '@aztec/foundation/fields';
|
|
4
3
|
import { createDebugLogger } from '@aztec/foundation/log';
|
|
5
4
|
import { witnessMapToFields } from '../acvm/deserialize.js';
|
|
@@ -27,19 +26,13 @@ export async function executePrivateFunction(context, artifact, contractAddress,
|
|
|
27
26
|
const encryptedLogs = context.getEncryptedLogs();
|
|
28
27
|
const unencryptedLogs = context.getUnencryptedLogs();
|
|
29
28
|
// TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165) --> set this in Noir
|
|
30
|
-
publicInputs.encryptedLogsHash = Fr.fromBuffer(encryptedLogs.hash());
|
|
31
29
|
publicInputs.encryptedLogPreimagesLength = new Fr(encryptedLogs.getSerializedLength());
|
|
32
|
-
publicInputs.unencryptedLogsHash = Fr.fromBuffer(unencryptedLogs.hash());
|
|
33
30
|
publicInputs.unencryptedLogPreimagesLength = new Fr(unencryptedLogs.getSerializedLength());
|
|
34
31
|
const callStackItem = new PrivateCallStackItem(contractAddress, functionData, publicInputs);
|
|
35
|
-
// Mocking the return type to be an array of 4 fields
|
|
36
|
-
// TODO: @LHerskind must be updated as we are progressing with the macros to get the information
|
|
37
32
|
const rawReturnValues = await context.unpackReturns(publicInputs.returnsHash);
|
|
38
|
-
const returnTypes = [{ kind: 'array', length: rawReturnValues.length, type: { kind: 'field' } }];
|
|
39
|
-
const mockArtifact = { ...artifact, returnTypes };
|
|
40
|
-
const returnValues = decodeReturnValues(mockArtifact, rawReturnValues);
|
|
41
33
|
const noteHashReadRequestPartialWitnesses = context.getNoteHashReadRequestPartialWitnesses(publicInputs.noteHashReadRequests);
|
|
42
34
|
const newNotes = context.getNewNotes();
|
|
35
|
+
const nullifiedNoteHashCounters = context.getNullifiedNoteHashCounters();
|
|
43
36
|
const nestedExecutions = context.getNestedExecutions();
|
|
44
37
|
const enqueuedPublicFunctionCalls = context.getEnqueuedPublicFunctionCalls();
|
|
45
38
|
log.debug(`Returning from call to ${contractAddress.toString()}:${functionSelector}`);
|
|
@@ -47,9 +40,10 @@ export async function executePrivateFunction(context, artifact, contractAddress,
|
|
|
47
40
|
acir,
|
|
48
41
|
partialWitness,
|
|
49
42
|
callStackItem,
|
|
50
|
-
returnValues,
|
|
43
|
+
returnValues: rawReturnValues,
|
|
51
44
|
noteHashReadRequestPartialWitnesses,
|
|
52
45
|
newNotes,
|
|
46
|
+
nullifiedNoteHashCounters,
|
|
53
47
|
vk: Buffer.from(artifact.verificationKey, 'hex'),
|
|
54
48
|
nestedExecutions,
|
|
55
49
|
enqueuedPublicFunctionCalls,
|
|
@@ -57,4 +51,4 @@ export async function executePrivateFunction(context, artifact, contractAddress,
|
|
|
57
51
|
unencryptedLogs,
|
|
58
52
|
};
|
|
59
53
|
}
|
|
60
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpdmF0ZV9leGVjdXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2xpZW50L3ByaXZhdGVfZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsb0JBQW9CLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUd6RyxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDOUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFMUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFHckQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRS9DOztHQUVHO0FBQ0gsTUFBTSxDQUFDLEtBQUssVUFBVSxzQkFBc0IsQ0FDMUMsT0FBK0IsRUFDL0IsUUFBMkMsRUFDM0MsZUFBNkIsRUFDN0IsWUFBMEIsRUFDMUIsR0FBRyxHQUFHLGlCQUFpQixDQUFDLGtDQUFrQyxDQUFDO0lBRTNELE1BQU0sZ0JBQWdCLEdBQUcsWUFBWSxDQUFDLFFBQVEsQ0FBQztJQUMvQyxHQUFHLENBQUMsT0FBTyxDQUFDLCtCQUErQixlQUFlLElBQUksZ0JBQWdCLElBQUksUUFBUSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUM7SUFDcEcsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLFFBQVEsQ0FBQztJQUMvQixNQUFNLGNBQWMsR0FBRyxPQUFPLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDM0QsTUFBTSxZQUFZLEdBQUcsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDekMsTUFBTSxtQkFBbUIsR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLGFBQWEsQ0FBQyxTQUFTLEVBQUUsRUFBRSxJQUFJLEVBQUUsY0FBYyxFQUFFLFlBQVksQ0FBQyxDQUFDLEtBQUssQ0FDL0csQ0FBQyxHQUFVLEVBQUUsRUFBRTtRQUNiLE1BQU0sSUFBSSxjQUFjLENBQ3RCLEdBQUcsQ0FBQyxPQUFPLEVBQ1g7WUFDRSxlQUFlO1lBQ2YsZ0JBQWdCO1NBQ2pCLEVBQ0QsZ0JBQWdCLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFDckMsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLENBQ2YsQ0FBQztJQUNKLENBQUMsQ0FDRixDQUFDO0lBQ0YsTUFBTSxjQUFjLEdBQUcsbUJBQW1CLENBQUMsY0FBYyxDQUFDO0lBQzFELE1BQU0sYUFBYSxHQUFHLGtCQUFrQixDQUFDLG1CQUFtQixDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQzVFLE1BQU0sWUFBWSxHQUFHLDBCQUEwQixDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUUxRSxNQUFNLGFBQWEsR0FBRyxPQUFPLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUNqRCxNQUFNLGVBQWUsR0FBRyxPQUFPLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUNyRCx5RkFBeUY7SUFDekYsWUFBWSxDQUFDLDJCQUEyQixHQUFHLElBQUksRUFBRSxDQUFDLGFBQWEsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLENBQUM7SUFDdkYsWUFBWSxDQUFDLDZCQUE2QixHQUFHLElBQUksRUFBRSxDQUFDLGVBQWUsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLENBQUM7SUFFM0YsTUFBTSxhQUFhLEdBQUcsSUFBSSxvQkFBb0IsQ0FBQyxlQUFlLEVBQUUsWUFBWSxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBRTVGLE1BQU0sZUFBZSxHQUFHLE1BQU0sT0FBTyxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLENBQUM7SUFFOUUsTUFBTSxtQ0FBbUMsR0FBRyxPQUFPLENBQUMsc0NBQXNDLENBQ3hGLFlBQVksQ0FBQyxvQkFBb0IsQ0FDbEMsQ0FBQztJQUNGLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN2QyxNQUFNLHlCQUF5QixHQUFHLE9BQU8sQ0FBQyw0QkFBNEIsRUFBRSxDQUFDO0lBQ3pFLE1BQU0sZ0JBQWdCLEdBQUcsT0FBTyxDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDdkQsTUFBTSwyQkFBMkIsR0FBRyxPQUFPLENBQUMsOEJBQThCLEVBQUUsQ0FBQztJQUU3RSxHQUFHLENBQUMsS0FBSyxDQUFDLDBCQUEwQixlQUFlLENBQUMsUUFBUSxFQUFFLElBQUksZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO0lBRXRGLE9BQU87UUFDTCxJQUFJO1FBQ0osY0FBYztRQUNkLGFBQWE7UUFDYixZQUFZLEVBQUUsZUFBZTtRQUM3QixtQ0FBbUM7UUFDbkMsUUFBUTtRQUNSLHlCQUF5QjtRQUN6QixFQUFFLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZ0IsRUFBRSxLQUFLLENBQUM7UUFDakQsZ0JBQWdCO1FBQ2hCLDJCQUEyQjtRQUMzQixhQUFhO1FBQ2IsZUFBZTtLQUNoQixDQUFDO0FBQ0osQ0FBQyJ9
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { type AztecNode, type FunctionCall, type Note, type TxExecutionRequest } from '@aztec/circuit-types';
|
|
2
2
|
import { type FunctionArtifactWithDebugMetadata } from '@aztec/foundation/abi';
|
|
3
3
|
import { AztecAddress } from '@aztec/foundation/aztec-address';
|
|
4
|
-
import { type EthAddress } from '@aztec/foundation/eth-address';
|
|
5
4
|
import { Fr } from '@aztec/foundation/fields';
|
|
6
5
|
import { type WasmBlackBoxFunctionSolver } from '@noir-lang/acvm_js';
|
|
7
6
|
import { type DBOracle } from './db_oracle.js';
|
|
@@ -34,11 +33,10 @@ export declare class AcirSimulator {
|
|
|
34
33
|
* @param request - The transaction request.
|
|
35
34
|
* @param entryPointArtifact - The artifact of the entry point function.
|
|
36
35
|
* @param contractAddress - The address of the contract (should match request.origin)
|
|
37
|
-
* @param portalContractAddress - The address of the portal contract.
|
|
38
36
|
* @param msgSender - The address calling the function. This can be replaced to simulate a call from another contract or a specific account.
|
|
39
37
|
* @returns The result of the execution.
|
|
40
38
|
*/
|
|
41
|
-
run(request: TxExecutionRequest, entryPointArtifact: FunctionArtifactWithDebugMetadata, contractAddress: AztecAddress,
|
|
39
|
+
run(request: TxExecutionRequest, entryPointArtifact: FunctionArtifactWithDebugMetadata, contractAddress: AztecAddress, msgSender?: AztecAddress): Promise<ExecutionResult>;
|
|
42
40
|
/**
|
|
43
41
|
* Runs an unconstrained function.
|
|
44
42
|
* @param request - The transaction request.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simulator.d.ts","sourceRoot":"","sources":["../../src/client/simulator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,YAAY,EAAE,KAAK,IAAI,EAAE,KAAK,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"simulator.d.ts","sourceRoot":"","sources":["../../src/client/simulator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,YAAY,EAAE,KAAK,IAAI,EAAE,KAAK,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE7G,OAAO,EAEL,KAAK,iCAAiC,EAIvC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAG9C,OAAO,EAAE,KAAK,0BAA0B,EAAwB,MAAM,oBAAoB,CAAC;AAK3F,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAK7D;;GAEG;AACH,qBAAa,aAAa;IAIZ,OAAO,CAAC,EAAE;IAAY,OAAO,CAAC,IAAI;IAH9C,OAAO,CAAC,MAAM,CAAC,MAAM,CAAsC;IAC3D,OAAO,CAAC,GAAG,CAAc;gBAEL,EAAE,EAAE,QAAQ,EAAU,IAAI,EAAE,SAAS;IAIzD;;;;;;;;;;;;OAYG;WACW,SAAS,IAAI,OAAO,CAAC,0BAA0B,CAAC;IAO9D;;;;;;;OAOG;IACU,GAAG,CACd,OAAO,EAAE,kBAAkB,EAC3B,kBAAkB,EAAE,iCAAiC,EACrD,eAAe,EAAE,YAAY,EAC7B,SAAS,eAAoB,GAC5B,OAAO,CAAC,eAAe,CAAC;IAmD3B;;;;;;OAMG;IACU,gBAAgB,CAC3B,OAAO,EAAE,YAAY,EACrB,kBAAkB,EAAE,iCAAiC,EACrD,eAAe,EAAE,YAAY;IAqB/B;;;;;;;;OAQG;IACU,2BAA2B,CACtC,eAAe,EAAE,YAAY,EAC7B,KAAK,EAAE,EAAE,EACT,WAAW,EAAE,EAAE,EACf,UAAU,EAAE,EAAE,EACd,IAAI,EAAE,IAAI;;;;;;IAiDZ;;;;;;;OAOG;IACU,oBAAoB,CAAC,eAAe,EAAE,YAAY,EAAE,WAAW,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI;IAW5G;;;;;;;;OAQG;IACU,2BAA2B,CACtC,eAAe,EAAE,YAAY,EAC7B,KAAK,EAAE,EAAE,EACT,WAAW,EAAE,EAAE,EACf,UAAU,EAAE,EAAE,EACd,IAAI,EAAE,IAAI;IAYZ;;;;;;;;OAQG;IACU,qBAAqB,CAChC,eAAe,EAAE,YAAY,EAC7B,KAAK,EAAE,EAAE,EACT,WAAW,EAAE,EAAE,EACf,UAAU,EAAE,EAAE,EACd,IAAI,EAAE,IAAI;IAYZ;;;;;;;;OAQG;IACU,qBAAqB,CAChC,eAAe,EAAE,YAAY,EAC7B,KAAK,EAAE,EAAE,EACT,WAAW,EAAE,EAAE,EACf,UAAU,EAAE,EAAE,EACd,IAAI,EAAE,IAAI;CAWb"}
|
package/dest/client/simulator.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { CallContext, FunctionData } from '@aztec/circuits.js';
|
|
2
|
-
import { Grumpkin } from '@aztec/circuits.js/barretenberg';
|
|
3
2
|
import { FunctionSelector, FunctionType, encodeArguments, } from '@aztec/foundation/abi';
|
|
4
3
|
import { AztecAddress } from '@aztec/foundation/aztec-address';
|
|
5
4
|
import { Fr } from '@aztec/foundation/fields';
|
|
@@ -45,24 +44,21 @@ export class AcirSimulator {
|
|
|
45
44
|
* @param request - The transaction request.
|
|
46
45
|
* @param entryPointArtifact - The artifact of the entry point function.
|
|
47
46
|
* @param contractAddress - The address of the contract (should match request.origin)
|
|
48
|
-
* @param portalContractAddress - The address of the portal contract.
|
|
49
47
|
* @param msgSender - The address calling the function. This can be replaced to simulate a call from another contract or a specific account.
|
|
50
48
|
* @returns The result of the execution.
|
|
51
49
|
*/
|
|
52
|
-
async run(request, entryPointArtifact, contractAddress,
|
|
50
|
+
async run(request, entryPointArtifact, contractAddress, msgSender = AztecAddress.ZERO) {
|
|
53
51
|
if (entryPointArtifact.functionType !== FunctionType.SECRET) {
|
|
54
52
|
throw new Error(`Cannot run ${entryPointArtifact.functionType} function as secret`);
|
|
55
53
|
}
|
|
56
54
|
if (request.origin !== contractAddress) {
|
|
57
55
|
this.log.warn(`Request origin does not match contract address in simulation. Request origin: ${request.origin}, contract address: ${contractAddress}`);
|
|
58
56
|
}
|
|
59
|
-
const curve = new Grumpkin();
|
|
60
57
|
const header = await this.db.getHeader();
|
|
61
58
|
// reserve the first side effect for the tx hash (inserted by the private kernel)
|
|
62
59
|
const startSideEffectCounter = 1;
|
|
63
|
-
const
|
|
64
|
-
const
|
|
65
|
-
const context = new ClientExecutionContext(contractAddress, request.argsHash, request.txContext, callContext, header, request.authWitnesses, PackedValuesCache.create(request.packedArguments), new ExecutionNoteCache(), this.db, curve, this.node, startSideEffectCounter);
|
|
60
|
+
const callContext = new CallContext(msgSender, contractAddress, FunctionSelector.fromNameAndParameters(entryPointArtifact.name, entryPointArtifact.parameters), false, false, startSideEffectCounter);
|
|
61
|
+
const context = new ClientExecutionContext(contractAddress, request.firstCallArgsHash, request.txContext, callContext, header, request.authWitnesses, PackedValuesCache.create(request.argsOfCalls), new ExecutionNoteCache(), this.db, this.node, startSideEffectCounter);
|
|
66
62
|
try {
|
|
67
63
|
const executionResult = await executePrivateFunction(context, entryPointArtifact, contractAddress, request.functionData);
|
|
68
64
|
return executionResult;
|
|
@@ -80,7 +76,7 @@ export class AcirSimulator {
|
|
|
80
76
|
*/
|
|
81
77
|
async runUnconstrained(request, entryPointArtifact, contractAddress) {
|
|
82
78
|
if (entryPointArtifact.functionType !== FunctionType.UNCONSTRAINED) {
|
|
83
|
-
throw new Error(`Cannot run ${entryPointArtifact.functionType} function as
|
|
79
|
+
throw new Error(`Cannot run ${entryPointArtifact.functionType} function as unconstrained`);
|
|
84
80
|
}
|
|
85
81
|
const context = new ViewDataOracle(contractAddress, [], this.db, this.node);
|
|
86
82
|
try {
|
|
@@ -177,4 +173,4 @@ export class AcirSimulator {
|
|
|
177
173
|
return innerNullifier;
|
|
178
174
|
}
|
|
179
175
|
}
|
|
180
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
176
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2ltdWxhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NsaWVudC9zaW11bGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMvRCxPQUFPLEVBR0wsZ0JBQWdCLEVBQ2hCLFlBQVksRUFDWixlQUFlLEdBQ2hCLE1BQU0sdUJBQXVCLENBQUM7QUFDL0IsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM5QyxPQUFPLEVBQW9CLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFNUUsT0FBTyxFQUFtQyxvQkFBb0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRTNGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzVELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRXZFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRS9ELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzVFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUV2RDs7R0FFRztBQUNILE1BQU0sT0FBTyxhQUFhO0lBSXhCLFlBQW9CLEVBQVksRUFBVSxJQUFlO1FBQXJDLE9BQUUsR0FBRixFQUFFLENBQVU7UUFBVSxTQUFJLEdBQUosSUFBSSxDQUFXO1FBQ3ZELElBQUksQ0FBQyxHQUFHLEdBQUcsaUJBQWlCLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNsRCxD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
|
|
@@ -3,7 +3,7 @@ import { type Header } from '@aztec/circuits.js';
|
|
|
3
3
|
import { type AztecAddress } from '@aztec/foundation/aztec-address';
|
|
4
4
|
import { Fr } from '@aztec/foundation/fields';
|
|
5
5
|
import { type ContractInstance } from '@aztec/types/contracts';
|
|
6
|
-
import { type NoteData, TypedOracle } from '../acvm/index.js';
|
|
6
|
+
import { type NoteData, type NullifierKeys, TypedOracle } from '../acvm/index.js';
|
|
7
7
|
import { type DBOracle } from './db_oracle.js';
|
|
8
8
|
/**
|
|
9
9
|
* The execution context for a client view tx simulation.
|
|
@@ -20,10 +20,13 @@ export declare class ViewDataOracle extends TypedOracle {
|
|
|
20
20
|
/** List of transient auth witnesses to be used during this simulation */
|
|
21
21
|
authWitnesses: AuthWitness[], db: DBOracle, aztecNode: AztecNode, log?: import("@aztec/foundation/log").Logger);
|
|
22
22
|
/**
|
|
23
|
-
*
|
|
24
|
-
*
|
|
23
|
+
* Retrieve nullifier keys associated with a specific account and app/contract address.
|
|
24
|
+
*
|
|
25
|
+
* @param accountAddress - The account address.
|
|
26
|
+
* @returns A Promise that resolves to nullifier keys of a requested account and contract.
|
|
27
|
+
* @throws An error if the account is not registered in the database.
|
|
25
28
|
*/
|
|
26
|
-
|
|
29
|
+
getNullifierKeys(account: AztecAddress): Promise<NullifierKeys>;
|
|
27
30
|
/**
|
|
28
31
|
* Fetches the index and sibling path of a leaf at a given block from a given tree.
|
|
29
32
|
* @param blockNumber - The block number at which to get the membership witness.
|
|
@@ -132,13 +135,6 @@ export declare class ViewDataOracle extends TypedOracle {
|
|
|
132
135
|
* @returns The l1 to l2 membership witness (index of message in the tree and sibling path).
|
|
133
136
|
*/
|
|
134
137
|
getL1ToL2MembershipWitness(contractAddress: AztecAddress, messageHash: Fr, secret: Fr): Promise<import("../acvm/index.js").MessageLoadOracleInputs<16>>;
|
|
135
|
-
/**
|
|
136
|
-
* Retrieves the portal contract address associated with the given contract address.
|
|
137
|
-
* Throws an error if the input contract address is not found or invalid.
|
|
138
|
-
* @param contractAddress - The address of the contract whose portal address is to be fetched.
|
|
139
|
-
* @returns The portal contract address.
|
|
140
|
-
*/
|
|
141
|
-
getPortalContractAddress(contractAddress: AztecAddress): Promise<import("@aztec/circuits.js").EthAddress>;
|
|
142
138
|
/**
|
|
143
139
|
* Read the public storage data.
|
|
144
140
|
* @param startStorageSlot - The starting storage slot.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"view_data_oracle.d.ts","sourceRoot":"","sources":["../../src/client/view_data_oracle.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,eAAe,EACpB,YAAY,EACZ,KAAK,UAAU,EACf,KAAK,0BAA0B,EAC/B,KAAK,iBAAiB,EACvB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAEjD,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,OAAO,EAAE,KAAK,QAAQ,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"view_data_oracle.d.ts","sourceRoot":"","sources":["../../src/client/view_data_oracle.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,11 +20,14 @@ export class ViewDataOracle extends TypedOracle {
|
|
|
20
20
|
this.log = log;
|
|
21
21
|
}
|
|
22
22
|
/**
|
|
23
|
-
*
|
|
24
|
-
*
|
|
23
|
+
* Retrieve nullifier keys associated with a specific account and app/contract address.
|
|
24
|
+
*
|
|
25
|
+
* @param accountAddress - The account address.
|
|
26
|
+
* @returns A Promise that resolves to nullifier keys of a requested account and contract.
|
|
27
|
+
* @throws An error if the account is not registered in the database.
|
|
25
28
|
*/
|
|
26
|
-
|
|
27
|
-
return this.db.
|
|
29
|
+
getNullifierKeys(account) {
|
|
30
|
+
return this.db.getNullifierKeys(account, this.contractAddress);
|
|
28
31
|
}
|
|
29
32
|
/**
|
|
30
33
|
* Fetches the index and sibling path of a leaf at a given block from a given tree.
|
|
@@ -184,15 +187,6 @@ export class ViewDataOracle extends TypedOracle {
|
|
|
184
187
|
async getL1ToL2MembershipWitness(contractAddress, messageHash, secret) {
|
|
185
188
|
return await this.db.getL1ToL2MembershipWitness(contractAddress, messageHash, secret);
|
|
186
189
|
}
|
|
187
|
-
/**
|
|
188
|
-
* Retrieves the portal contract address associated with the given contract address.
|
|
189
|
-
* Throws an error if the input contract address is not found or invalid.
|
|
190
|
-
* @param contractAddress - The address of the contract whose portal address is to be fetched.
|
|
191
|
-
* @returns The portal contract address.
|
|
192
|
-
*/
|
|
193
|
-
getPortalContractAddress(contractAddress) {
|
|
194
|
-
return this.db.getPortalContractAddress(contractAddress);
|
|
195
|
-
}
|
|
196
190
|
/**
|
|
197
191
|
* Read the public storage data.
|
|
198
192
|
* @param startStorageSlot - The starting storage slot.
|
|
@@ -209,4 +203,4 @@ export class ViewDataOracle extends TypedOracle {
|
|
|
209
203
|
return values;
|
|
210
204
|
}
|
|
211
205
|
}
|
|
212
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
206
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld19kYXRhX29yYWNsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jbGllbnQvdmlld19kYXRhX29yYWNsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBSUwsWUFBWSxHQUliLE1BQU0sc0JBQXNCLENBQUM7QUFFOUIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXhELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUcxRCxPQUFPLEVBQXFDLFdBQVcsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRWxGLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUU1Qzs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sY0FBZSxTQUFRLFdBQVc7SUFDN0MsWUFDcUIsZUFBNkI7SUFDaEQseUVBQXlFO0lBQ3RELGFBQTRCLEVBQzVCLEVBQVksRUFDWixTQUFvQixFQUM3QixNQUFNLGlCQUFpQixDQUFDLHFDQUFxQyxDQUFDO1FBRXhFLEtBQUssRUFBRSxDQUFDO1FBUFcsb0JBQWUsR0FBZixlQUFlLENBQWM7UUFFN0Isa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsT0FBRSxHQUFGLEVBQUUsQ0FBVTtRQUNaLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFDN0IsUUFBRyxHQUFILEdBQUcsQ0FBMkQ7SUFHMUUsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNhLGdCQUFnQixDQUFDLE9BQXFCO1FBQ3BELE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDYSxLQUFLLENBQUMsb0JBQW9CLENBQUMsV0FBbUIsRUFBRSxNQUFvQixFQUFFLFNBQWE7UUFDakcs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
|
package/dest/mocks/fixtures.d.ts
CHANGED
|
@@ -27,7 +27,7 @@ export declare class PublicExecutionResultBuilder {
|
|
|
27
27
|
withContractStorageUpdateRequest(...request: ContractStorageUpdateRequest[]): PublicExecutionResultBuilder;
|
|
28
28
|
withReturnValues(...values: Fr[]): PublicExecutionResultBuilder;
|
|
29
29
|
withReverted(reason: SimulationError): PublicExecutionResultBuilder;
|
|
30
|
-
build(): PublicExecutionResult;
|
|
30
|
+
build(overrides?: Partial<PublicExecutionResult>): PublicExecutionResult;
|
|
31
31
|
}
|
|
32
32
|
export declare const makeFunctionCall: (to?: AztecAddress, selector?: import("@aztec/circuits.js").FunctionSelector, args?: any[]) => {
|
|
33
33
|
to: AztecAddress;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fixtures.d.ts","sourceRoot":"","sources":["../../src/mocks/fixtures.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,eAAe,EAA6B,MAAM,sBAAsB,CAAC;AAC1G,OAAO,EAEL,KAAK,YAAY,EAGjB,KAAK,4BAA4B,
|
|
1
|
+
{"version":3,"file":"fixtures.d.ts","sourceRoot":"","sources":["../../src/mocks/fixtures.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,eAAe,EAA6B,MAAM,sBAAsB,CAAC;AAC1G,OAAO,EAEL,KAAK,YAAY,EAGjB,KAAK,4BAA4B,EACjC,EAAE,EACF,YAAY,EAGZ,KAAK,oCAAoC,EACzC,KAAK,iBAAiB,EACvB,MAAM,oBAAoB,CAAC;AAI5B,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAE1F,qBAAa,4BAA4B;IACvC,OAAO,CAAC,UAAU,CAAkB;IACpC,OAAO,CAAC,iBAAiB,CAA+B;IACxD,OAAO,CAAC,8BAA8B,CAAsC;IAC5E,OAAO,CAAC,aAAa,CAAY;IACjC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,aAAa,CAA0C;gBAEnD,SAAS,EAAE,eAAe;IAItC,MAAM,CAAC,qBAAqB,CAAC,EAC3B,OAAO,EACP,YAA2B,EAC3B,gBAAqB,EACrB,6BAAkC,GACnC,EAAE;QACD,OAAO,EAAE,iBAAiB,CAAC;QAC3B,YAAY,CAAC,EAAE,EAAE,EAAE,CAAC;QACpB,gBAAgB,CAAC,EAAE,qBAAqB,EAAE,CAAC;QAC3C,6BAA6B,CAAC,EAAE,4BAA4B,EAAE,CAAC;KAChE,GAAG,4BAA4B;IAUhC,MAAM,CAAC,gBAAgB,CAAC,EACtB,IAAI,EACJ,EAAE,EACF,YAA2B,EAC3B,gBAAqB,EACrB,6BAAkC,EAClC,YAAY,GACb,EAAE;QACD,IAAI,EAAE,YAAY,CAAC;QACnB,EAAE,EAAE,YAAY,CAAC;QACjB,YAAY,CAAC,EAAE,EAAE,EAAE,CAAC;QACpB,gBAAgB,CAAC,EAAE,qBAAqB,EAAE,CAAC;QAC3C,6BAA6B,CAAC,EAAE,4BAA4B,EAAE,CAAC;QAC/D,YAAY,CAAC,EAAE,eAAe,CAAC;KAChC;IAkBD,oBAAoB,CAAC,GAAG,MAAM,EAAE,qBAAqB,EAAE,GAAG,4BAA4B;IAKtF,gCAAgC,CAAC,GAAG,OAAO,EAAE,4BAA4B,EAAE,GAAG,4BAA4B;IAK1G,gBAAgB,CAAC,GAAG,MAAM,EAAE,EAAE,EAAE,GAAG,4BAA4B;IAK/D,YAAY,CAAC,MAAM,EAAE,eAAe,GAAG,4BAA4B;IAMnE,KAAK,CAAC,SAAS,GAAE,OAAO,CAAC,qBAAqB,CAAM,GAAG,qBAAqB;CAwB7E;AAED,eAAO,MAAM,gBAAgB;;;;CAIuC,CAAC;AAErE,wBAAgB,wBAAwB,CACtC,YAAY,EAAE,oCAAoC,EAClD,KAAK,EAAE;IACL,UAAU,EAAE,iBAAiB,EAAE,CAAC;IAChC,aAAa,EAAE,iBAAiB,EAAE,CAAC;IACnC,YAAY,EAAE,iBAAiB,CAAC;CACjC,QAiBF"}
|
package/dest/mocks/fixtures.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { UnencryptedFunctionL2Logs } from '@aztec/circuit-types';
|
|
2
|
-
import { ARGS_LENGTH, CallContext, CallRequest,
|
|
2
|
+
import { ARGS_LENGTH, CallContext, CallRequest, Fr, FunctionData, Gas, MAX_PUBLIC_CALL_STACK_LENGTH_PER_TX, } from '@aztec/circuits.js';
|
|
3
3
|
import { makeAztecAddress, makeSelector } from '@aztec/circuits.js/testing';
|
|
4
4
|
import { padArrayEnd } from '@aztec/foundation/collection';
|
|
5
5
|
export class PublicExecutionResultBuilder {
|
|
@@ -20,7 +20,7 @@ export class PublicExecutionResultBuilder {
|
|
|
20
20
|
}
|
|
21
21
|
static fromFunctionCall({ from, tx, returnValues = [new Fr(1n)], nestedExecutions = [], contractStorageUpdateRequests = [], revertReason, }) {
|
|
22
22
|
const builder = new PublicExecutionResultBuilder({
|
|
23
|
-
callContext: new CallContext(from, tx.to,
|
|
23
|
+
callContext: new CallContext(from, tx.to, tx.functionData.selector, false, false, 0),
|
|
24
24
|
contractAddress: tx.to,
|
|
25
25
|
functionData: tx.functionData,
|
|
26
26
|
args: tx.args,
|
|
@@ -50,7 +50,7 @@ export class PublicExecutionResultBuilder {
|
|
|
50
50
|
this._revertReason = reason;
|
|
51
51
|
return this;
|
|
52
52
|
}
|
|
53
|
-
build() {
|
|
53
|
+
build(overrides = {}) {
|
|
54
54
|
return {
|
|
55
55
|
execution: this._execution,
|
|
56
56
|
nestedExecutions: this._nestedExecutions,
|
|
@@ -62,12 +62,16 @@ export class PublicExecutionResultBuilder {
|
|
|
62
62
|
newNullifiers: [],
|
|
63
63
|
newL2ToL1Messages: [],
|
|
64
64
|
contractStorageReads: [],
|
|
65
|
+
unencryptedLogsHashes: [],
|
|
65
66
|
unencryptedLogs: UnencryptedFunctionL2Logs.empty(),
|
|
66
67
|
startSideEffectCounter: Fr.ZERO,
|
|
67
68
|
endSideEffectCounter: Fr.ZERO,
|
|
68
69
|
reverted: this._reverted,
|
|
69
70
|
revertReason: this._revertReason,
|
|
70
|
-
|
|
71
|
+
startGasLeft: Gas.test(),
|
|
72
|
+
endGasLeft: Gas.test(),
|
|
73
|
+
transactionFee: Fr.ZERO,
|
|
74
|
+
...overrides,
|
|
71
75
|
};
|
|
72
76
|
}
|
|
73
77
|
}
|
|
@@ -81,4 +85,4 @@ export function addKernelPublicCallStack(kernelOutput, calls) {
|
|
|
81
85
|
[calls.teardownCall.toCallRequest(), ...calls.setupCalls.map(c => c.toCallRequest())], CallRequest.empty(), MAX_PUBLIC_CALL_STACK_LENGTH_PER_TX);
|
|
82
86
|
kernelOutput.forPublic.end.publicCallStack = padArrayEnd(calls.appLogicCalls.map(c => c.toCallRequest()), CallRequest.empty(), MAX_PUBLIC_CALL_STACK_LENGTH_PER_TX);
|
|
83
87
|
}
|
|
84
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml4dHVyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbW9ja3MvZml4dHVyZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUEyQyx5QkFBeUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzFHLE9BQU8sRUFDTCxXQUFXLEVBRVgsV0FBVyxFQUNYLFdBQVcsRUFFWCxFQUFFLEVBQ0YsWUFBWSxFQUNaLEdBQUcsRUFDSCxtQ0FBbUMsR0FHcEMsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDNUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBSTNELE1BQU0sT0FBTyw0QkFBNEI7SUFRdkMsWUFBWSxTQUEwQjtRQU45QixzQkFBaUIsR0FBNEIsRUFBRSxDQUFDO1FBQ2hELG1DQUE4QixHQUFtQyxFQUFFLENBQUM7UUFDcEUsa0JBQWEsR0FBUyxFQUFFLENBQUM7UUFDekIsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNsQixrQkFBYSxHQUFnQyxTQUFTLENBQUM7UUFHN0QsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUM7SUFDOUIsQ0FBQztJQUVELE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxFQUMzQixPQUFPLEVBQ1AsWUFBWSxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFDM0IsZ0JBQWdCLEdBQUcsRUFBRSxFQUNyQiw2QkFBNkIsR0FBRyxFQUFFLEdBTW5DO1FBQ0MsTUFBTSxPQUFPLEdBQUcsSUFBSSw0QkFBNEIsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUUxRCxPQUFPLENBQUMsb0JBQW9CLENBQUMsR0FBRyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ2xELE9BQU8sQ0FBQyxnQ0FBZ0MsQ0FBQyxHQUFHLDZCQUE2QixDQUFDLENBQUM7UUFDM0UsT0FBTyxDQUFDLGdC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
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { type PublicKernelRequest, type SimulationError, type Tx, type UnencryptedFunctionL2Logs } from '@aztec/circuit-types';
|
|
2
|
-
import { Fr, type GlobalVariables, type Header, type KernelCircuitPublicInputs, type PrivateKernelTailCircuitPublicInputs, type Proof, PublicCallData, type PublicCallRequest, PublicCallStackItem,
|
|
3
|
-
import { type ProcessReturnValues } from '@aztec/foundation/abi';
|
|
1
|
+
import { type ProcessReturnValues, type PublicKernelRequest, type SimulationError, type Tx, type UnencryptedFunctionL2Logs } from '@aztec/circuit-types';
|
|
2
|
+
import { Fr, Gas, type GlobalVariables, type Header, type KernelCircuitPublicInputs, type PrivateKernelTailCircuitPublicInputs, type Proof, PublicCallData, type PublicCallRequest, PublicCallStackItem, PublicKernelCircuitPrivateInputs, type PublicKernelCircuitPublicInputs, PublicKernelData } from '@aztec/circuits.js';
|
|
4
3
|
import { type DebugLogger } from '@aztec/foundation/log';
|
|
5
4
|
import { type PublicExecutionResult, type PublicExecutor } from '@aztec/simulator';
|
|
6
5
|
import { type MerkleTreeOperations } from '@aztec/world-state';
|
|
@@ -62,10 +61,11 @@ export declare abstract class AbstractPhaseManager {
|
|
|
62
61
|
SimulationError | undefined,
|
|
63
62
|
ProcessReturnValues
|
|
64
63
|
]>;
|
|
64
|
+
protected getAvailableGas(tx: Tx, previousPublicKernelOutput: PublicKernelCircuitPublicInputs): Gas;
|
|
65
|
+
protected getTransactionFee(_tx: Tx, _previousPublicKernelOutput: PublicKernelCircuitPublicInputs): Fr;
|
|
65
66
|
protected runKernelCircuit(previousOutput: PublicKernelCircuitPublicInputs, previousProof: Proof, callData: PublicCallData): Promise<[PublicKernelCircuitPrivateInputs, PublicKernelCircuitPublicInputs]>;
|
|
66
67
|
protected getKernelCircuitOutput(previousOutput: PublicKernelCircuitPublicInputs, previousProof: Proof, callData: PublicCallData): Promise<[PublicKernelCircuitPrivateInputs, PublicKernelCircuitPublicInputs]>;
|
|
67
68
|
protected getPreviousKernelData(previousOutput: PublicKernelCircuitPublicInputs, previousProof: Proof): PublicKernelData;
|
|
68
|
-
protected getPublicCircuitPublicInputs(result: PublicExecutionResult): Promise<PublicCircuitPublicInputs>;
|
|
69
69
|
protected getPublicCallStackItem(result: PublicExecutionResult, isExecutionRequest?: boolean): Promise<PublicCallStackItem>;
|
|
70
70
|
protected getPublicCallStackPreimages(result: PublicExecutionResult): Promise<PublicCallStackItem[]>;
|
|
71
71
|
protected getBytecodeHash(_result: PublicExecutionResult): Promise<Fr>;
|