@aztec/simulator 0.62.0 → 0.63.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/acvm.d.ts +2 -16
- package/dest/acvm/acvm.d.ts.map +1 -1
- package/dest/acvm/acvm.js +2 -70
- package/dest/acvm/oracle/oracle.d.ts +4 -4
- package/dest/acvm/oracle/oracle.d.ts.map +1 -1
- package/dest/acvm/oracle/oracle.js +10 -11
- package/dest/acvm/oracle/typed_oracle.d.ts +5 -5
- package/dest/acvm/oracle/typed_oracle.d.ts.map +1 -1
- package/dest/acvm/oracle/typed_oracle.js +8 -8
- package/dest/avm/avm_gas.d.ts.map +1 -1
- package/dest/avm/avm_gas.js +2 -1
- package/dest/avm/avm_machine_state.d.ts +27 -8
- package/dest/avm/avm_machine_state.d.ts.map +1 -1
- package/dest/avm/avm_machine_state.js +6 -10
- package/dest/avm/avm_memory_types.d.ts +8 -0
- package/dest/avm/avm_memory_types.d.ts.map +1 -1
- package/dest/avm/avm_memory_types.js +5 -1
- package/dest/avm/avm_simulator.d.ts +2 -19
- package/dest/avm/avm_simulator.d.ts.map +1 -1
- package/dest/avm/avm_simulator.js +12 -14
- package/dest/avm/avm_tree.d.ts +249 -0
- package/dest/avm/avm_tree.d.ts.map +1 -0
- package/dest/avm/avm_tree.js +637 -0
- package/dest/avm/errors.d.ts +4 -17
- package/dest/avm/errors.d.ts.map +1 -1
- package/dest/avm/errors.js +21 -50
- package/dest/avm/fixtures/index.d.ts +7 -2
- package/dest/avm/fixtures/index.d.ts.map +1 -1
- package/dest/avm/fixtures/index.js +12 -12
- package/dest/avm/index.d.ts +1 -0
- package/dest/avm/index.d.ts.map +1 -1
- package/dest/avm/index.js +2 -1
- package/dest/avm/journal/journal.d.ts +43 -24
- package/dest/avm/journal/journal.d.ts.map +1 -1
- package/dest/avm/journal/journal.js +172 -39
- package/dest/avm/journal/nullifiers.d.ts +5 -4
- package/dest/avm/journal/nullifiers.d.ts.map +1 -1
- package/dest/avm/journal/nullifiers.js +2 -3
- package/dest/avm/journal/public_storage.d.ts +6 -5
- package/dest/avm/journal/public_storage.d.ts.map +1 -1
- package/dest/avm/journal/public_storage.js +1 -1
- package/dest/avm/opcodes/accrued_substate.d.ts.map +1 -1
- package/dest/avm/opcodes/accrued_substate.js +4 -10
- package/dest/avm/opcodes/arithmetic.d.ts +4 -1
- package/dest/avm/opcodes/arithmetic.d.ts.map +1 -1
- package/dest/avm/opcodes/arithmetic.js +18 -4
- package/dest/avm/opcodes/bitwise.d.ts.map +1 -1
- package/dest/avm/opcodes/bitwise.js +1 -3
- package/dest/avm/opcodes/comparators.d.ts.map +1 -1
- package/dest/avm/opcodes/comparators.js +1 -2
- package/dest/avm/opcodes/contract.d.ts.map +1 -1
- package/dest/avm/opcodes/contract.js +2 -3
- package/dest/avm/opcodes/control_flow.d.ts +4 -0
- package/dest/avm/opcodes/control_flow.d.ts.map +1 -1
- package/dest/avm/opcodes/control_flow.js +21 -6
- package/dest/avm/opcodes/conversion.d.ts.map +1 -1
- package/dest/avm/opcodes/conversion.js +1 -2
- package/dest/avm/opcodes/ec_add.d.ts.map +1 -1
- package/dest/avm/opcodes/ec_add.js +5 -11
- package/dest/avm/opcodes/environment_getters.d.ts.map +1 -1
- package/dest/avm/opcodes/environment_getters.js +1 -2
- package/dest/avm/opcodes/external_calls.d.ts +4 -2
- package/dest/avm/opcodes/external_calls.d.ts.map +1 -1
- package/dest/avm/opcodes/external_calls.js +38 -22
- package/dest/avm/opcodes/hashing.d.ts.map +1 -1
- package/dest/avm/opcodes/hashing.js +1 -4
- package/dest/avm/opcodes/instruction.d.ts +4 -0
- package/dest/avm/opcodes/instruction.d.ts.map +1 -1
- package/dest/avm/opcodes/instruction.js +7 -1
- package/dest/avm/opcodes/memory.d.ts.map +1 -1
- package/dest/avm/opcodes/memory.js +1 -7
- package/dest/avm/opcodes/misc.js +3 -3
- package/dest/avm/opcodes/multi_scalar_mul.d.ts.map +1 -1
- package/dest/avm/opcodes/multi_scalar_mul.js +6 -5
- package/dest/avm/opcodes/storage.d.ts.map +1 -1
- package/dest/avm/opcodes/storage.js +2 -4
- package/dest/avm/serialization/bytecode_serialization.d.ts +1 -6
- package/dest/avm/serialization/bytecode_serialization.d.ts.map +1 -1
- package/dest/avm/serialization/bytecode_serialization.js +24 -20
- package/dest/client/client_execution_context.d.ts +7 -11
- package/dest/client/client_execution_context.d.ts.map +1 -1
- package/dest/client/client_execution_context.js +18 -20
- package/dest/client/db_oracle.d.ts +17 -10
- package/dest/client/db_oracle.d.ts.map +1 -1
- package/dest/client/db_oracle.js +1 -1
- package/dest/client/private_execution.d.ts.map +1 -1
- package/dest/client/private_execution.js +5 -4
- package/dest/client/unconstrained_execution.d.ts.map +1 -1
- package/dest/client/unconstrained_execution.js +3 -2
- package/dest/client/view_data_oracle.d.ts +6 -12
- package/dest/client/view_data_oracle.d.ts.map +1 -1
- package/dest/client/view_data_oracle.js +10 -12
- package/dest/common/errors.d.ts +15 -2
- package/dest/common/errors.d.ts.map +1 -1
- package/dest/common/errors.js +85 -4
- package/dest/mocks/fixtures.d.ts +9 -28
- package/dest/mocks/fixtures.d.ts.map +1 -1
- package/dest/mocks/fixtures.js +12 -57
- package/dest/public/dual_side_effect_trace.d.ts +34 -26
- package/dest/public/dual_side_effect_trace.d.ts.map +1 -1
- package/dest/public/dual_side_effect_trace.js +48 -36
- package/dest/public/enqueued_call_side_effect_trace.d.ts +96 -33
- package/dest/public/enqueued_call_side_effect_trace.d.ts.map +1 -1
- package/dest/public/enqueued_call_side_effect_trace.js +212 -138
- package/dest/public/execution.d.ts +50 -17
- package/dest/public/execution.d.ts.map +1 -1
- package/dest/public/execution.js +1 -29
- package/dest/public/executor.d.ts +28 -11
- package/dest/public/executor.d.ts.map +1 -1
- package/dest/public/executor.js +33 -33
- package/dest/public/index.d.ts +4 -5
- package/dest/public/index.d.ts.map +1 -1
- package/dest/public/index.js +4 -5
- package/dest/public/public_db_sources.d.ts +1 -0
- package/dest/public/public_db_sources.d.ts.map +1 -1
- package/dest/public/public_db_sources.js +12 -5
- package/dest/public/public_processor.d.ts +7 -11
- package/dest/public/public_processor.d.ts.map +1 -1
- package/dest/public/public_processor.js +60 -42
- package/dest/public/public_processor_metrics.d.ts +3 -3
- package/dest/public/public_processor_metrics.d.ts.map +1 -1
- package/dest/public/public_processor_metrics.js +1 -1
- package/dest/public/public_tx_context.d.ts +130 -0
- package/dest/public/public_tx_context.d.ts.map +1 -0
- package/dest/public/public_tx_context.js +293 -0
- package/dest/public/public_tx_simulator.d.ts +36 -0
- package/dest/public/public_tx_simulator.d.ts.map +1 -0
- package/dest/public/public_tx_simulator.js +148 -0
- package/dest/public/side_effect_trace.d.ts +30 -15
- package/dest/public/side_effect_trace.d.ts.map +1 -1
- package/dest/public/side_effect_trace.js +70 -16
- package/dest/public/side_effect_trace_interface.d.ts +43 -12
- package/dest/public/side_effect_trace_interface.d.ts.map +1 -1
- package/dest/public/transitional_adapters.d.ts +9 -0
- package/dest/public/transitional_adapters.d.ts.map +1 -0
- package/dest/public/transitional_adapters.js +127 -0
- package/dest/public/utils.d.ts +5 -0
- package/dest/public/utils.d.ts.map +1 -0
- package/dest/public/utils.js +30 -0
- package/package.json +12 -9
- package/src/acvm/acvm.ts +3 -94
- package/src/acvm/oracle/oracle.ts +9 -14
- package/src/acvm/oracle/typed_oracle.ts +8 -8
- package/src/avm/avm_gas.ts +1 -0
- package/src/avm/avm_machine_state.ts +28 -12
- package/src/avm/avm_memory_types.ts +5 -0
- package/src/avm/avm_simulator.ts +13 -16
- package/src/avm/avm_tree.ts +785 -0
- package/src/avm/errors.ts +25 -48
- package/src/avm/fixtures/index.ts +16 -12
- package/src/avm/index.ts +1 -0
- package/src/avm/journal/journal.ts +291 -52
- package/src/avm/journal/nullifiers.ts +7 -7
- package/src/avm/journal/public_storage.ts +5 -5
- package/src/avm/opcodes/accrued_substate.ts +3 -9
- package/src/avm/opcodes/arithmetic.ts +26 -4
- package/src/avm/opcodes/bitwise.ts +0 -2
- package/src/avm/opcodes/comparators.ts +0 -1
- package/src/avm/opcodes/contract.ts +1 -2
- package/src/avm/opcodes/control_flow.ts +24 -5
- package/src/avm/opcodes/conversion.ts +0 -1
- package/src/avm/opcodes/ec_add.ts +6 -9
- package/src/avm/opcodes/environment_getters.ts +0 -1
- package/src/avm/opcodes/external_calls.ts +39 -21
- package/src/avm/opcodes/hashing.ts +0 -3
- package/src/avm/opcodes/instruction.ts +7 -0
- package/src/avm/opcodes/memory.ts +0 -6
- package/src/avm/opcodes/misc.ts +2 -2
- package/src/avm/opcodes/multi_scalar_mul.ts +5 -4
- package/src/avm/opcodes/storage.ts +1 -3
- package/src/avm/serialization/bytecode_serialization.ts +31 -22
- package/src/client/client_execution_context.ts +22 -23
- package/src/client/db_oracle.ts +22 -11
- package/src/client/private_execution.ts +5 -4
- package/src/client/unconstrained_execution.ts +2 -1
- package/src/client/view_data_oracle.ts +14 -13
- package/src/common/errors.ts +119 -3
- package/src/mocks/fixtures.ts +15 -106
- package/src/public/dual_side_effect_trace.ts +138 -50
- package/src/public/enqueued_call_side_effect_trace.ts +352 -212
- package/src/public/execution.ts +58 -42
- package/src/public/executor.ts +52 -67
- package/src/public/index.ts +7 -5
- package/src/public/public_db_sources.ts +12 -4
- package/src/public/public_processor.ts +111 -73
- package/src/public/public_processor_metrics.ts +3 -3
- package/src/public/public_tx_context.ts +411 -0
- package/src/public/public_tx_simulator.ts +232 -0
- package/src/public/side_effect_trace.ts +154 -28
- package/src/public/side_effect_trace_interface.ts +92 -14
- package/src/public/transitional_adapters.ts +347 -0
- package/src/public/utils.ts +32 -0
- package/dest/public/enqueued_call_simulator.d.ts +0 -43
- package/dest/public/enqueued_call_simulator.d.ts.map +0 -1
- package/dest/public/enqueued_call_simulator.js +0 -156
- package/dest/public/enqueued_calls_processor.d.ts +0 -43
- package/dest/public/enqueued_calls_processor.d.ts.map +0 -1
- package/dest/public/enqueued_calls_processor.js +0 -209
- package/dest/public/hints_builder.d.ts +0 -29
- package/dest/public/hints_builder.d.ts.map +0 -1
- package/dest/public/hints_builder.js +0 -75
- package/dest/public/public_kernel.d.ts +0 -30
- package/dest/public/public_kernel.d.ts.map +0 -1
- package/dest/public/public_kernel.js +0 -67
- package/dest/public/public_kernel_circuit_simulator.d.ts +0 -25
- package/dest/public/public_kernel_circuit_simulator.d.ts.map +0 -1
- package/dest/public/public_kernel_circuit_simulator.js +0 -2
- package/dest/public/public_kernel_tail_simulator.d.ts +0 -15
- package/dest/public/public_kernel_tail_simulator.d.ts.map +0 -1
- package/dest/public/public_kernel_tail_simulator.js +0 -39
- package/src/public/enqueued_call_simulator.ts +0 -360
- package/src/public/enqueued_calls_processor.ts +0 -372
- package/src/public/hints_builder.ts +0 -168
- package/src/public/public_kernel.ts +0 -100
- package/src/public/public_kernel_circuit_simulator.ts +0 -32
- package/src/public/public_kernel_tail_simulator.ts +0 -97
|
@@ -1,10 +1,13 @@
|
|
|
1
|
+
import { type UnencryptedL2Log } from '@aztec/circuit-types';
|
|
1
2
|
import {
|
|
2
|
-
type CombinedConstantData,
|
|
3
3
|
type ContractClassIdPreimage,
|
|
4
4
|
type Gas,
|
|
5
|
+
type NullifierLeafPreimage,
|
|
6
|
+
type PublicCallRequest,
|
|
7
|
+
type PublicDataTreeLeafPreimage,
|
|
5
8
|
type SerializableContractInstance,
|
|
6
|
-
type VMCircuitPublicInputs,
|
|
7
9
|
} from '@aztec/circuits.js';
|
|
10
|
+
import { type AztecAddress } from '@aztec/foundation/aztec-address';
|
|
8
11
|
import { type Fr } from '@aztec/foundation/fields';
|
|
9
12
|
|
|
10
13
|
import { assert } from 'console';
|
|
@@ -12,7 +15,7 @@ import { assert } from 'console';
|
|
|
12
15
|
import { type AvmContractCallResult } from '../avm/avm_contract_call_result.js';
|
|
13
16
|
import { type AvmExecutionEnvironment } from '../avm/avm_execution_environment.js';
|
|
14
17
|
import { type PublicEnqueuedCallSideEffectTrace } from './enqueued_call_side_effect_trace.js';
|
|
15
|
-
import { type
|
|
18
|
+
import { type EnqueuedPublicCallExecutionResultWithSideEffects, type PublicFunctionCallResult } from './execution.js';
|
|
16
19
|
import { type PublicSideEffectTrace } from './side_effect_trace.js';
|
|
17
20
|
import { type PublicSideEffectTraceInterface } from './side_effect_trace_interface.js';
|
|
18
21
|
|
|
@@ -26,59 +29,139 @@ export class DualSideEffectTrace implements PublicSideEffectTraceInterface {
|
|
|
26
29
|
return new DualSideEffectTrace(this.innerCallTrace.fork(), this.enqueuedCallTrace.fork());
|
|
27
30
|
}
|
|
28
31
|
|
|
32
|
+
public merge(nestedTrace: this, reverted: boolean = false) {
|
|
33
|
+
this.enqueuedCallTrace.merge(nestedTrace.enqueuedCallTrace, reverted);
|
|
34
|
+
}
|
|
35
|
+
|
|
29
36
|
public getCounter() {
|
|
30
37
|
assert(this.innerCallTrace.getCounter() == this.enqueuedCallTrace.getCounter());
|
|
31
38
|
return this.innerCallTrace.getCounter();
|
|
32
39
|
}
|
|
33
40
|
|
|
34
|
-
public tracePublicStorageRead(
|
|
35
|
-
|
|
36
|
-
|
|
41
|
+
public tracePublicStorageRead(
|
|
42
|
+
contractAddress: AztecAddress,
|
|
43
|
+
slot: Fr,
|
|
44
|
+
value: Fr,
|
|
45
|
+
leafPreimage: PublicDataTreeLeafPreimage,
|
|
46
|
+
leafIndex: Fr,
|
|
47
|
+
path: Fr[],
|
|
48
|
+
) {
|
|
49
|
+
this.innerCallTrace.tracePublicStorageRead(contractAddress, slot, value, leafPreimage, leafIndex, path);
|
|
50
|
+
this.enqueuedCallTrace.tracePublicStorageRead(contractAddress, slot, value, leafPreimage, leafIndex, path);
|
|
37
51
|
}
|
|
38
52
|
|
|
39
|
-
public tracePublicStorageWrite(
|
|
40
|
-
|
|
41
|
-
|
|
53
|
+
public tracePublicStorageWrite(
|
|
54
|
+
contractAddress: AztecAddress,
|
|
55
|
+
slot: Fr,
|
|
56
|
+
value: Fr,
|
|
57
|
+
lowLeafPreimage: PublicDataTreeLeafPreimage,
|
|
58
|
+
lowLeafIndex: Fr,
|
|
59
|
+
lowLeafPath: Fr[],
|
|
60
|
+
newLeafPreimage: PublicDataTreeLeafPreimage,
|
|
61
|
+
insertionPath: Fr[],
|
|
62
|
+
) {
|
|
63
|
+
this.innerCallTrace.tracePublicStorageWrite(
|
|
64
|
+
contractAddress,
|
|
65
|
+
slot,
|
|
66
|
+
value,
|
|
67
|
+
lowLeafPreimage,
|
|
68
|
+
lowLeafIndex,
|
|
69
|
+
lowLeafPath,
|
|
70
|
+
newLeafPreimage,
|
|
71
|
+
insertionPath,
|
|
72
|
+
);
|
|
73
|
+
this.enqueuedCallTrace.tracePublicStorageWrite(
|
|
74
|
+
contractAddress,
|
|
75
|
+
slot,
|
|
76
|
+
value,
|
|
77
|
+
lowLeafPreimage,
|
|
78
|
+
lowLeafIndex,
|
|
79
|
+
lowLeafPath,
|
|
80
|
+
newLeafPreimage,
|
|
81
|
+
insertionPath,
|
|
82
|
+
);
|
|
42
83
|
}
|
|
43
84
|
|
|
44
85
|
// TODO(8287): _exists can be removed once we have the vm properly handling the equality check
|
|
45
|
-
public traceNoteHashCheck(
|
|
46
|
-
this.innerCallTrace.traceNoteHashCheck(
|
|
47
|
-
this.enqueuedCallTrace.traceNoteHashCheck(
|
|
86
|
+
public traceNoteHashCheck(contractAddress: AztecAddress, noteHash: Fr, leafIndex: Fr, exists: boolean, path: Fr[]) {
|
|
87
|
+
this.innerCallTrace.traceNoteHashCheck(contractAddress, noteHash, leafIndex, exists, path);
|
|
88
|
+
this.enqueuedCallTrace.traceNoteHashCheck(contractAddress, noteHash, leafIndex, exists, path);
|
|
48
89
|
}
|
|
49
90
|
|
|
50
|
-
public traceNewNoteHash(
|
|
51
|
-
this.innerCallTrace.traceNewNoteHash(
|
|
52
|
-
this.enqueuedCallTrace.traceNewNoteHash(
|
|
91
|
+
public traceNewNoteHash(contractAddress: AztecAddress, noteHash: Fr, leafIndex: Fr, path: Fr[]) {
|
|
92
|
+
this.innerCallTrace.traceNewNoteHash(contractAddress, noteHash, leafIndex, path);
|
|
93
|
+
this.enqueuedCallTrace.traceNewNoteHash(contractAddress, noteHash, leafIndex, path);
|
|
53
94
|
}
|
|
54
95
|
|
|
55
|
-
public traceNullifierCheck(
|
|
56
|
-
|
|
57
|
-
|
|
96
|
+
public traceNullifierCheck(
|
|
97
|
+
contractAddress: AztecAddress,
|
|
98
|
+
nullifier: Fr,
|
|
99
|
+
exists: boolean,
|
|
100
|
+
lowLeafPreimage: NullifierLeafPreimage,
|
|
101
|
+
lowLeafIndex: Fr,
|
|
102
|
+
lowLeafPath: Fr[],
|
|
103
|
+
) {
|
|
104
|
+
this.innerCallTrace.traceNullifierCheck(
|
|
105
|
+
contractAddress,
|
|
106
|
+
nullifier,
|
|
107
|
+
exists,
|
|
108
|
+
lowLeafPreimage,
|
|
109
|
+
lowLeafIndex,
|
|
110
|
+
lowLeafPath,
|
|
111
|
+
);
|
|
112
|
+
this.enqueuedCallTrace.traceNullifierCheck(
|
|
113
|
+
contractAddress,
|
|
114
|
+
nullifier,
|
|
115
|
+
exists,
|
|
116
|
+
lowLeafPreimage,
|
|
117
|
+
lowLeafIndex,
|
|
118
|
+
lowLeafPath,
|
|
119
|
+
);
|
|
58
120
|
}
|
|
59
121
|
|
|
60
|
-
public traceNewNullifier(
|
|
61
|
-
|
|
62
|
-
|
|
122
|
+
public traceNewNullifier(
|
|
123
|
+
contractAddress: AztecAddress,
|
|
124
|
+
nullifier: Fr,
|
|
125
|
+
lowLeafPreimage: NullifierLeafPreimage,
|
|
126
|
+
lowLeafIndex: Fr,
|
|
127
|
+
lowLeafPath: Fr[],
|
|
128
|
+
insertionPath: Fr[],
|
|
129
|
+
) {
|
|
130
|
+
this.innerCallTrace.traceNewNullifier(
|
|
131
|
+
contractAddress,
|
|
132
|
+
nullifier,
|
|
133
|
+
lowLeafPreimage,
|
|
134
|
+
lowLeafIndex,
|
|
135
|
+
lowLeafPath,
|
|
136
|
+
insertionPath,
|
|
137
|
+
);
|
|
138
|
+
this.enqueuedCallTrace.traceNewNullifier(
|
|
139
|
+
contractAddress,
|
|
140
|
+
nullifier,
|
|
141
|
+
lowLeafPreimage,
|
|
142
|
+
lowLeafIndex,
|
|
143
|
+
lowLeafPath,
|
|
144
|
+
insertionPath,
|
|
145
|
+
);
|
|
63
146
|
}
|
|
64
147
|
|
|
65
|
-
|
|
66
|
-
this.innerCallTrace.traceL1ToL2MessageCheck(contractAddress, msgHash, msgLeafIndex, exists);
|
|
67
|
-
this.enqueuedCallTrace.traceL1ToL2MessageCheck(contractAddress, msgHash, msgLeafIndex, exists);
|
|
148
|
+
traceL1ToL2MessageCheck(contractAddress: AztecAddress, msgHash: Fr, msgLeafIndex: Fr, exists: boolean, path: Fr[]) {
|
|
149
|
+
this.innerCallTrace.traceL1ToL2MessageCheck(contractAddress, msgHash, msgLeafIndex, exists, path);
|
|
150
|
+
this.enqueuedCallTrace.traceL1ToL2MessageCheck(contractAddress, msgHash, msgLeafIndex, exists, path);
|
|
68
151
|
}
|
|
69
152
|
|
|
70
|
-
public traceNewL2ToL1Message(contractAddress:
|
|
153
|
+
public traceNewL2ToL1Message(contractAddress: AztecAddress, recipient: Fr, content: Fr) {
|
|
71
154
|
this.innerCallTrace.traceNewL2ToL1Message(contractAddress, recipient, content);
|
|
72
155
|
this.enqueuedCallTrace.traceNewL2ToL1Message(contractAddress, recipient, content);
|
|
73
156
|
}
|
|
74
157
|
|
|
75
|
-
public traceUnencryptedLog(contractAddress:
|
|
158
|
+
public traceUnencryptedLog(contractAddress: AztecAddress, log: Fr[]) {
|
|
76
159
|
this.innerCallTrace.traceUnencryptedLog(contractAddress, log);
|
|
77
160
|
this.enqueuedCallTrace.traceUnencryptedLog(contractAddress, log);
|
|
78
161
|
}
|
|
79
162
|
|
|
80
163
|
public traceGetContractInstance(
|
|
81
|
-
contractAddress:
|
|
164
|
+
contractAddress: AztecAddress,
|
|
82
165
|
exists: boolean,
|
|
83
166
|
instance: SerializableContractInstance | undefined,
|
|
84
167
|
) {
|
|
@@ -87,7 +170,7 @@ export class DualSideEffectTrace implements PublicSideEffectTraceInterface {
|
|
|
87
170
|
}
|
|
88
171
|
|
|
89
172
|
public traceGetBytecode(
|
|
90
|
-
contractAddress:
|
|
173
|
+
contractAddress: AztecAddress,
|
|
91
174
|
exists: boolean,
|
|
92
175
|
bytecode: Buffer,
|
|
93
176
|
contractInstance: SerializableContractInstance | undefined,
|
|
@@ -137,10 +220,32 @@ export class DualSideEffectTrace implements PublicSideEffectTraceInterface {
|
|
|
137
220
|
);
|
|
138
221
|
}
|
|
139
222
|
|
|
223
|
+
public traceEnqueuedCall(
|
|
224
|
+
/** The call request from private that enqueued this call. */
|
|
225
|
+
publicCallRequest: PublicCallRequest,
|
|
226
|
+
/** The call's calldata */
|
|
227
|
+
calldata: Fr[],
|
|
228
|
+
/** Did the call revert? */
|
|
229
|
+
reverted: boolean,
|
|
230
|
+
) {
|
|
231
|
+
this.enqueuedCallTrace.traceEnqueuedCall(publicCallRequest, calldata, reverted);
|
|
232
|
+
}
|
|
233
|
+
|
|
140
234
|
/**
|
|
141
235
|
* Convert this trace to a PublicExecutionResult for use externally to the simulator.
|
|
142
236
|
*/
|
|
143
|
-
public
|
|
237
|
+
public toPublicEnqueuedCallExecutionResult(
|
|
238
|
+
/** How much gas was left after this public execution. */
|
|
239
|
+
endGasLeft: Gas,
|
|
240
|
+
/** The call's results */
|
|
241
|
+
avmCallResults: AvmContractCallResult,
|
|
242
|
+
): EnqueuedPublicCallExecutionResultWithSideEffects {
|
|
243
|
+
return this.enqueuedCallTrace.toPublicEnqueuedCallExecutionResult(endGasLeft, avmCallResults);
|
|
244
|
+
}
|
|
245
|
+
/**
|
|
246
|
+
* Convert this trace to a PublicExecutionResult for use externally to the simulator.
|
|
247
|
+
*/
|
|
248
|
+
public toPublicFunctionCallResult(
|
|
144
249
|
/** The execution environment of the nested call. */
|
|
145
250
|
avmEnvironment: AvmExecutionEnvironment,
|
|
146
251
|
/** How much gas was available for this public execution. */
|
|
@@ -153,8 +258,8 @@ export class DualSideEffectTrace implements PublicSideEffectTraceInterface {
|
|
|
153
258
|
avmCallResults: AvmContractCallResult,
|
|
154
259
|
/** Function name for logging */
|
|
155
260
|
functionName: string = 'unknown',
|
|
156
|
-
):
|
|
157
|
-
return this.innerCallTrace.
|
|
261
|
+
): PublicFunctionCallResult {
|
|
262
|
+
return this.innerCallTrace.toPublicFunctionCallResult(
|
|
158
263
|
avmEnvironment,
|
|
159
264
|
startGasLeft,
|
|
160
265
|
endGasLeft,
|
|
@@ -164,24 +269,7 @@ export class DualSideEffectTrace implements PublicSideEffectTraceInterface {
|
|
|
164
269
|
);
|
|
165
270
|
}
|
|
166
271
|
|
|
167
|
-
public
|
|
168
|
-
|
|
169
|
-
constants: CombinedConstantData,
|
|
170
|
-
/** The execution environment of the nested call. */
|
|
171
|
-
avmEnvironment: AvmExecutionEnvironment,
|
|
172
|
-
/** How much gas was available for this public execution. */
|
|
173
|
-
startGasLeft: Gas,
|
|
174
|
-
/** How much gas was left after this public execution. */
|
|
175
|
-
endGasLeft: Gas,
|
|
176
|
-
/** The call's results */
|
|
177
|
-
avmCallResults: AvmContractCallResult,
|
|
178
|
-
): VMCircuitPublicInputs {
|
|
179
|
-
return this.enqueuedCallTrace.toVMCircuitPublicInputs(
|
|
180
|
-
constants,
|
|
181
|
-
avmEnvironment,
|
|
182
|
-
startGasLeft,
|
|
183
|
-
endGasLeft,
|
|
184
|
-
avmCallResults,
|
|
185
|
-
);
|
|
272
|
+
public getUnencryptedLogs(): UnencryptedL2Log[] {
|
|
273
|
+
return this.enqueuedCallTrace.getUnencryptedLogs();
|
|
186
274
|
}
|
|
187
275
|
}
|