@aztec/simulator 0.61.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 -3
- package/dest/acvm/oracle/oracle.d.ts.map +1 -1
- package/dest/acvm/oracle/oracle.js +11 -9
- package/dest/acvm/oracle/typed_oracle.d.ts +5 -4
- package/dest/acvm/oracle/typed_oracle.d.ts.map +1 -1
- package/dest/acvm/oracle/typed_oracle.js +9 -6
- package/dest/avm/avm_gas.d.ts.map +1 -1
- package/dest/avm/avm_gas.js +4 -3
- 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 +26 -11
- 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/avm/serialization/instruction_serialization.d.ts +2 -2
- package/dest/avm/serialization/instruction_serialization.js +2 -2
- package/dest/client/client_execution_context.d.ts +7 -10
- package/dest/client/client_execution_context.d.ts.map +1 -1
- package/dest/client/client_execution_context.js +19 -18
- package/dest/client/db_oracle.d.ts +22 -8
- 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 +21 -19
- 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/dest/test/utils.d.ts +2 -2
- package/dest/test/utils.d.ts.map +1 -1
- package/dest/test/utils.js +4 -4
- package/package.json +12 -9
- package/src/acvm/acvm.ts +3 -94
- package/src/acvm/oracle/oracle.ts +14 -12
- package/src/acvm/oracle/typed_oracle.ts +10 -6
- package/src/avm/avm_gas.ts +3 -2
- 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 +29 -10
- 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/avm/serialization/instruction_serialization.ts +2 -2
- package/src/client/client_execution_context.ts +24 -21
- package/src/client/db_oracle.ts +31 -8
- 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 +22 -19
- 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/src/test/utils.ts +9 -2
- 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,11 +1,13 @@
|
|
|
1
1
|
/// <reference types="node" resolution-mode="require"/>
|
|
2
2
|
/// <reference types="node" resolution-mode="require"/>
|
|
3
|
-
import { type
|
|
3
|
+
import { type UnencryptedL2Log } from '@aztec/circuit-types';
|
|
4
|
+
import { type ContractClassIdPreimage, type Gas, type NullifierLeafPreimage, type PublicCallRequest, type PublicDataTreeLeafPreimage, type SerializableContractInstance } from '@aztec/circuits.js';
|
|
5
|
+
import { type AztecAddress } from '@aztec/foundation/aztec-address';
|
|
4
6
|
import { type Fr } from '@aztec/foundation/fields';
|
|
5
7
|
import { type AvmContractCallResult } from '../avm/avm_contract_call_result.js';
|
|
6
8
|
import { type AvmExecutionEnvironment } from '../avm/avm_execution_environment.js';
|
|
7
9
|
import { type PublicEnqueuedCallSideEffectTrace } from './enqueued_call_side_effect_trace.js';
|
|
8
|
-
import { type
|
|
10
|
+
import { type EnqueuedPublicCallExecutionResultWithSideEffects, type PublicFunctionCallResult } from './execution.js';
|
|
9
11
|
import { type PublicSideEffectTrace } from './side_effect_trace.js';
|
|
10
12
|
import { type PublicSideEffectTraceInterface } from './side_effect_trace_interface.js';
|
|
11
13
|
export declare class DualSideEffectTrace implements PublicSideEffectTraceInterface {
|
|
@@ -13,18 +15,19 @@ export declare class DualSideEffectTrace implements PublicSideEffectTraceInterfa
|
|
|
13
15
|
readonly enqueuedCallTrace: PublicEnqueuedCallSideEffectTrace;
|
|
14
16
|
constructor(innerCallTrace: PublicSideEffectTrace, enqueuedCallTrace: PublicEnqueuedCallSideEffectTrace);
|
|
15
17
|
fork(): DualSideEffectTrace;
|
|
18
|
+
merge(nestedTrace: this, reverted?: boolean): void;
|
|
16
19
|
getCounter(): number;
|
|
17
|
-
tracePublicStorageRead(contractAddress:
|
|
18
|
-
tracePublicStorageWrite(contractAddress:
|
|
19
|
-
traceNoteHashCheck(
|
|
20
|
-
traceNewNoteHash(
|
|
21
|
-
traceNullifierCheck(contractAddress:
|
|
22
|
-
traceNewNullifier(contractAddress:
|
|
23
|
-
traceL1ToL2MessageCheck(contractAddress:
|
|
24
|
-
traceNewL2ToL1Message(contractAddress:
|
|
25
|
-
traceUnencryptedLog(contractAddress:
|
|
26
|
-
traceGetContractInstance(contractAddress:
|
|
27
|
-
traceGetBytecode(contractAddress:
|
|
20
|
+
tracePublicStorageRead(contractAddress: AztecAddress, slot: Fr, value: Fr, leafPreimage: PublicDataTreeLeafPreimage, leafIndex: Fr, path: Fr[]): void;
|
|
21
|
+
tracePublicStorageWrite(contractAddress: AztecAddress, slot: Fr, value: Fr, lowLeafPreimage: PublicDataTreeLeafPreimage, lowLeafIndex: Fr, lowLeafPath: Fr[], newLeafPreimage: PublicDataTreeLeafPreimage, insertionPath: Fr[]): void;
|
|
22
|
+
traceNoteHashCheck(contractAddress: AztecAddress, noteHash: Fr, leafIndex: Fr, exists: boolean, path: Fr[]): void;
|
|
23
|
+
traceNewNoteHash(contractAddress: AztecAddress, noteHash: Fr, leafIndex: Fr, path: Fr[]): void;
|
|
24
|
+
traceNullifierCheck(contractAddress: AztecAddress, nullifier: Fr, exists: boolean, lowLeafPreimage: NullifierLeafPreimage, lowLeafIndex: Fr, lowLeafPath: Fr[]): void;
|
|
25
|
+
traceNewNullifier(contractAddress: AztecAddress, nullifier: Fr, lowLeafPreimage: NullifierLeafPreimage, lowLeafIndex: Fr, lowLeafPath: Fr[], insertionPath: Fr[]): void;
|
|
26
|
+
traceL1ToL2MessageCheck(contractAddress: AztecAddress, msgHash: Fr, msgLeafIndex: Fr, exists: boolean, path: Fr[]): void;
|
|
27
|
+
traceNewL2ToL1Message(contractAddress: AztecAddress, recipient: Fr, content: Fr): void;
|
|
28
|
+
traceUnencryptedLog(contractAddress: AztecAddress, log: Fr[]): void;
|
|
29
|
+
traceGetContractInstance(contractAddress: AztecAddress, exists: boolean, instance: SerializableContractInstance | undefined): void;
|
|
30
|
+
traceGetBytecode(contractAddress: AztecAddress, exists: boolean, bytecode: Buffer, contractInstance: SerializableContractInstance | undefined, contractClass: ContractClassIdPreimage | undefined): void;
|
|
28
31
|
/**
|
|
29
32
|
* Trace a nested call.
|
|
30
33
|
* Accept some results from a finished nested call's trace into this one.
|
|
@@ -44,10 +47,25 @@ export declare class DualSideEffectTrace implements PublicSideEffectTraceInterfa
|
|
|
44
47
|
avmCallResults: AvmContractCallResult,
|
|
45
48
|
/** Function name for logging */
|
|
46
49
|
functionName?: string): void;
|
|
50
|
+
traceEnqueuedCall(
|
|
51
|
+
/** The call request from private that enqueued this call. */
|
|
52
|
+
publicCallRequest: PublicCallRequest,
|
|
53
|
+
/** The call's calldata */
|
|
54
|
+
calldata: Fr[],
|
|
55
|
+
/** Did the call revert? */
|
|
56
|
+
reverted: boolean): void;
|
|
47
57
|
/**
|
|
48
58
|
* Convert this trace to a PublicExecutionResult for use externally to the simulator.
|
|
49
59
|
*/
|
|
50
|
-
|
|
60
|
+
toPublicEnqueuedCallExecutionResult(
|
|
61
|
+
/** How much gas was left after this public execution. */
|
|
62
|
+
endGasLeft: Gas,
|
|
63
|
+
/** The call's results */
|
|
64
|
+
avmCallResults: AvmContractCallResult): EnqueuedPublicCallExecutionResultWithSideEffects;
|
|
65
|
+
/**
|
|
66
|
+
* Convert this trace to a PublicExecutionResult for use externally to the simulator.
|
|
67
|
+
*/
|
|
68
|
+
toPublicFunctionCallResult(
|
|
51
69
|
/** The execution environment of the nested call. */
|
|
52
70
|
avmEnvironment: AvmExecutionEnvironment,
|
|
53
71
|
/** How much gas was available for this public execution. */
|
|
@@ -59,17 +77,7 @@ export declare class DualSideEffectTrace implements PublicSideEffectTraceInterfa
|
|
|
59
77
|
/** The call's results */
|
|
60
78
|
avmCallResults: AvmContractCallResult,
|
|
61
79
|
/** Function name for logging */
|
|
62
|
-
functionName?: string):
|
|
63
|
-
|
|
64
|
-
/** Constants */
|
|
65
|
-
constants: CombinedConstantData,
|
|
66
|
-
/** The execution environment of the nested call. */
|
|
67
|
-
avmEnvironment: AvmExecutionEnvironment,
|
|
68
|
-
/** How much gas was available for this public execution. */
|
|
69
|
-
startGasLeft: Gas,
|
|
70
|
-
/** How much gas was left after this public execution. */
|
|
71
|
-
endGasLeft: Gas,
|
|
72
|
-
/** The call's results */
|
|
73
|
-
avmCallResults: AvmContractCallResult): VMCircuitPublicInputs;
|
|
80
|
+
functionName?: string): PublicFunctionCallResult;
|
|
81
|
+
getUnencryptedLogs(): UnencryptedL2Log[];
|
|
74
82
|
}
|
|
75
83
|
//# sourceMappingURL=dual_side_effect_trace.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dual_side_effect_trace.d.ts","sourceRoot":"","sources":["../../src/public/dual_side_effect_trace.ts"],"names":[],"mappings":";;AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"dual_side_effect_trace.d.ts","sourceRoot":"","sources":["../../src/public/dual_side_effect_trace.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,38 +7,41 @@ export class DualSideEffectTrace {
|
|
|
7
7
|
fork() {
|
|
8
8
|
return new DualSideEffectTrace(this.innerCallTrace.fork(), this.enqueuedCallTrace.fork());
|
|
9
9
|
}
|
|
10
|
+
merge(nestedTrace, reverted = false) {
|
|
11
|
+
this.enqueuedCallTrace.merge(nestedTrace.enqueuedCallTrace, reverted);
|
|
12
|
+
}
|
|
10
13
|
getCounter() {
|
|
11
14
|
assert(this.innerCallTrace.getCounter() == this.enqueuedCallTrace.getCounter());
|
|
12
15
|
return this.innerCallTrace.getCounter();
|
|
13
16
|
}
|
|
14
|
-
tracePublicStorageRead(contractAddress, slot, value,
|
|
15
|
-
this.innerCallTrace.tracePublicStorageRead(contractAddress, slot, value,
|
|
16
|
-
this.enqueuedCallTrace.tracePublicStorageRead(contractAddress, slot, value,
|
|
17
|
+
tracePublicStorageRead(contractAddress, slot, value, leafPreimage, leafIndex, path) {
|
|
18
|
+
this.innerCallTrace.tracePublicStorageRead(contractAddress, slot, value, leafPreimage, leafIndex, path);
|
|
19
|
+
this.enqueuedCallTrace.tracePublicStorageRead(contractAddress, slot, value, leafPreimage, leafIndex, path);
|
|
17
20
|
}
|
|
18
|
-
tracePublicStorageWrite(contractAddress, slot, value) {
|
|
19
|
-
this.innerCallTrace.tracePublicStorageWrite(contractAddress, slot, value);
|
|
20
|
-
this.enqueuedCallTrace.tracePublicStorageWrite(contractAddress, slot, value);
|
|
21
|
+
tracePublicStorageWrite(contractAddress, slot, value, lowLeafPreimage, lowLeafIndex, lowLeafPath, newLeafPreimage, insertionPath) {
|
|
22
|
+
this.innerCallTrace.tracePublicStorageWrite(contractAddress, slot, value, lowLeafPreimage, lowLeafIndex, lowLeafPath, newLeafPreimage, insertionPath);
|
|
23
|
+
this.enqueuedCallTrace.tracePublicStorageWrite(contractAddress, slot, value, lowLeafPreimage, lowLeafIndex, lowLeafPath, newLeafPreimage, insertionPath);
|
|
21
24
|
}
|
|
22
25
|
// TODO(8287): _exists can be removed once we have the vm properly handling the equality check
|
|
23
|
-
traceNoteHashCheck(
|
|
24
|
-
this.innerCallTrace.traceNoteHashCheck(
|
|
25
|
-
this.enqueuedCallTrace.traceNoteHashCheck(
|
|
26
|
+
traceNoteHashCheck(contractAddress, noteHash, leafIndex, exists, path) {
|
|
27
|
+
this.innerCallTrace.traceNoteHashCheck(contractAddress, noteHash, leafIndex, exists, path);
|
|
28
|
+
this.enqueuedCallTrace.traceNoteHashCheck(contractAddress, noteHash, leafIndex, exists, path);
|
|
26
29
|
}
|
|
27
|
-
traceNewNoteHash(
|
|
28
|
-
this.innerCallTrace.traceNewNoteHash(
|
|
29
|
-
this.enqueuedCallTrace.traceNewNoteHash(
|
|
30
|
+
traceNewNoteHash(contractAddress, noteHash, leafIndex, path) {
|
|
31
|
+
this.innerCallTrace.traceNewNoteHash(contractAddress, noteHash, leafIndex, path);
|
|
32
|
+
this.enqueuedCallTrace.traceNewNoteHash(contractAddress, noteHash, leafIndex, path);
|
|
30
33
|
}
|
|
31
|
-
traceNullifierCheck(contractAddress, nullifier,
|
|
32
|
-
this.innerCallTrace.traceNullifierCheck(contractAddress, nullifier,
|
|
33
|
-
this.enqueuedCallTrace.traceNullifierCheck(contractAddress, nullifier,
|
|
34
|
+
traceNullifierCheck(contractAddress, nullifier, exists, lowLeafPreimage, lowLeafIndex, lowLeafPath) {
|
|
35
|
+
this.innerCallTrace.traceNullifierCheck(contractAddress, nullifier, exists, lowLeafPreimage, lowLeafIndex, lowLeafPath);
|
|
36
|
+
this.enqueuedCallTrace.traceNullifierCheck(contractAddress, nullifier, exists, lowLeafPreimage, lowLeafIndex, lowLeafPath);
|
|
34
37
|
}
|
|
35
|
-
traceNewNullifier(contractAddress, nullifier) {
|
|
36
|
-
this.innerCallTrace.traceNewNullifier(contractAddress, nullifier);
|
|
37
|
-
this.enqueuedCallTrace.traceNewNullifier(contractAddress, nullifier);
|
|
38
|
+
traceNewNullifier(contractAddress, nullifier, lowLeafPreimage, lowLeafIndex, lowLeafPath, insertionPath) {
|
|
39
|
+
this.innerCallTrace.traceNewNullifier(contractAddress, nullifier, lowLeafPreimage, lowLeafIndex, lowLeafPath, insertionPath);
|
|
40
|
+
this.enqueuedCallTrace.traceNewNullifier(contractAddress, nullifier, lowLeafPreimage, lowLeafIndex, lowLeafPath, insertionPath);
|
|
38
41
|
}
|
|
39
|
-
traceL1ToL2MessageCheck(contractAddress, msgHash, msgLeafIndex, exists) {
|
|
40
|
-
this.innerCallTrace.traceL1ToL2MessageCheck(contractAddress, msgHash, msgLeafIndex, exists);
|
|
41
|
-
this.enqueuedCallTrace.traceL1ToL2MessageCheck(contractAddress, msgHash, msgLeafIndex, exists);
|
|
42
|
+
traceL1ToL2MessageCheck(contractAddress, msgHash, msgLeafIndex, exists, path) {
|
|
43
|
+
this.innerCallTrace.traceL1ToL2MessageCheck(contractAddress, msgHash, msgLeafIndex, exists, path);
|
|
44
|
+
this.enqueuedCallTrace.traceL1ToL2MessageCheck(contractAddress, msgHash, msgLeafIndex, exists, path);
|
|
42
45
|
}
|
|
43
46
|
traceNewL2ToL1Message(contractAddress, recipient, content) {
|
|
44
47
|
this.innerCallTrace.traceNewL2ToL1Message(contractAddress, recipient, content);
|
|
@@ -78,10 +81,29 @@ export class DualSideEffectTrace {
|
|
|
78
81
|
this.innerCallTrace.traceNestedCall(nestedCallTrace.innerCallTrace, nestedEnvironment, startGasLeft, endGasLeft, bytecode, avmCallResults, functionName);
|
|
79
82
|
this.enqueuedCallTrace.traceNestedCall(nestedCallTrace.enqueuedCallTrace, nestedEnvironment, startGasLeft, endGasLeft, bytecode, avmCallResults, functionName);
|
|
80
83
|
}
|
|
84
|
+
traceEnqueuedCall(
|
|
85
|
+
/** The call request from private that enqueued this call. */
|
|
86
|
+
publicCallRequest,
|
|
87
|
+
/** The call's calldata */
|
|
88
|
+
calldata,
|
|
89
|
+
/** Did the call revert? */
|
|
90
|
+
reverted) {
|
|
91
|
+
this.enqueuedCallTrace.traceEnqueuedCall(publicCallRequest, calldata, reverted);
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Convert this trace to a PublicExecutionResult for use externally to the simulator.
|
|
95
|
+
*/
|
|
96
|
+
toPublicEnqueuedCallExecutionResult(
|
|
97
|
+
/** How much gas was left after this public execution. */
|
|
98
|
+
endGasLeft,
|
|
99
|
+
/** The call's results */
|
|
100
|
+
avmCallResults) {
|
|
101
|
+
return this.enqueuedCallTrace.toPublicEnqueuedCallExecutionResult(endGasLeft, avmCallResults);
|
|
102
|
+
}
|
|
81
103
|
/**
|
|
82
104
|
* Convert this trace to a PublicExecutionResult for use externally to the simulator.
|
|
83
105
|
*/
|
|
84
|
-
|
|
106
|
+
toPublicFunctionCallResult(
|
|
85
107
|
/** The execution environment of the nested call. */
|
|
86
108
|
avmEnvironment,
|
|
87
109
|
/** How much gas was available for this public execution. */
|
|
@@ -94,20 +116,10 @@ export class DualSideEffectTrace {
|
|
|
94
116
|
avmCallResults,
|
|
95
117
|
/** Function name for logging */
|
|
96
118
|
functionName = 'unknown') {
|
|
97
|
-
return this.innerCallTrace.
|
|
119
|
+
return this.innerCallTrace.toPublicFunctionCallResult(avmEnvironment, startGasLeft, endGasLeft, bytecode, avmCallResults, functionName);
|
|
98
120
|
}
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
constants,
|
|
102
|
-
/** The execution environment of the nested call. */
|
|
103
|
-
avmEnvironment,
|
|
104
|
-
/** How much gas was available for this public execution. */
|
|
105
|
-
startGasLeft,
|
|
106
|
-
/** How much gas was left after this public execution. */
|
|
107
|
-
endGasLeft,
|
|
108
|
-
/** The call's results */
|
|
109
|
-
avmCallResults) {
|
|
110
|
-
return this.enqueuedCallTrace.toVMCircuitPublicInputs(constants, avmEnvironment, startGasLeft, endGasLeft, avmCallResults);
|
|
121
|
+
getUnencryptedLogs() {
|
|
122
|
+
return this.enqueuedCallTrace.getUnencryptedLogs();
|
|
111
123
|
}
|
|
112
124
|
}
|
|
113
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
125
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHVhbF9zaWRlX2VmZmVjdF90cmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wdWJsaWMvZHVhbF9zaWRlX2VmZmVjdF90cmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFZQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBU2pDLE1BQU0sT0FBTyxtQkFBbUI7SUFDOUIsWUFDa0IsY0FBcUMsRUFDckMsaUJBQW9EO1FBRHBELG1CQUFjLEdBQWQsY0FBYyxDQUF1QjtRQUNyQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1DO0lBQ25FLENBQUM7SUFFRyxJQUFJO1FBQ1QsT0FBTyxJQUFJLG1CQUFtQixDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7SUFDNUYsQ0FBQztJQUVNLEtBQUssQ0FBQyxXQUFpQixFQUFFLFdBQW9CLEtBQUs7UUFDdkQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsaUJBQWlCLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUVNLFVBQVU7UUFDZixNQUFNLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLEVBQUUsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQztRQUNoRixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDMUMsQ0FBQztJQUVNLHNCQUFzQixDQUMzQixlQUE2QixFQUM3QixJQUFRLEVBQ1IsS0FBUyxFQUNULFlBQXdDLEVBQ3hDLFNBQWEsRUFDYixJQUFVO1FBRVYsSUFBSSxDQUFDLGNBQWMsQ0FBQyxzQkFBc0IsQ0FBQyxlQUFlLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3hH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
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
/// <reference types="node" resolution-mode="require"/>
|
|
2
2
|
/// <reference types="node" resolution-mode="require"/>
|
|
3
3
|
import { UnencryptedL2Log } from '@aztec/circuit-types';
|
|
4
|
-
import { AvmExecutionHints, type
|
|
4
|
+
import { AvmCircuitPublicInputs, AvmExecutionHints, type AztecAddress, type ContractClassIdPreimage, Gas, type GasSettings, type GlobalVariables, Nullifier, NullifierLeafPreimage, PublicCallRequest, PublicDataRead, PublicDataTreeLeafPreimage, PublicDataUpdateRequest, ScopedL2ToL1Message, ScopedLogHash, type ScopedNoteHash, type ScopedReadRequest, SerializableContractInstance, TreeLeafReadRequest, type TreeSnapshots } from '@aztec/circuits.js';
|
|
5
5
|
import { Fr } from '@aztec/foundation/fields';
|
|
6
6
|
import { type AvmContractCallResult } from '../avm/avm_contract_call_result.js';
|
|
7
7
|
import { type AvmExecutionEnvironment } from '../avm/avm_execution_environment.js';
|
|
8
|
+
import { type EnqueuedPublicCallExecutionResultWithSideEffects, type PublicFunctionCallResult } from './execution.js';
|
|
8
9
|
import { type PublicSideEffectTraceInterface } from './side_effect_trace_interface.js';
|
|
9
10
|
/**
|
|
10
11
|
* A struct containing just the side effects as regular arrays
|
|
@@ -12,18 +13,33 @@ import { type PublicSideEffectTraceInterface } from './side_effect_trace_interfa
|
|
|
12
13
|
* This struct is helpful for testing and checking array lengths.
|
|
13
14
|
**/
|
|
14
15
|
export type SideEffects = {
|
|
15
|
-
|
|
16
|
-
|
|
16
|
+
enqueuedCalls: PublicCallRequest[];
|
|
17
|
+
publicDataReads: PublicDataRead[];
|
|
18
|
+
publicDataWrites: PublicDataUpdateRequest[];
|
|
17
19
|
noteHashReadRequests: TreeLeafReadRequest[];
|
|
18
20
|
noteHashes: ScopedNoteHash[];
|
|
19
21
|
nullifierReadRequests: ScopedReadRequest[];
|
|
20
22
|
nullifierNonExistentReadRequests: ScopedReadRequest[];
|
|
21
|
-
nullifiers:
|
|
23
|
+
nullifiers: Nullifier[];
|
|
22
24
|
l1ToL2MsgReadRequests: TreeLeafReadRequest[];
|
|
23
25
|
l2ToL1Msgs: ScopedL2ToL1Message[];
|
|
24
26
|
unencryptedLogs: UnencryptedL2Log[];
|
|
25
27
|
unencryptedLogsHashes: ScopedLogHash[];
|
|
26
28
|
};
|
|
29
|
+
export declare class SideEffectArrayLengths {
|
|
30
|
+
readonly publicDataReads: number;
|
|
31
|
+
readonly publicDataWrites: number;
|
|
32
|
+
readonly noteHashReadRequests: number;
|
|
33
|
+
readonly noteHashes: number;
|
|
34
|
+
readonly nullifierReadRequests: number;
|
|
35
|
+
readonly nullifierNonExistentReadRequests: number;
|
|
36
|
+
readonly nullifiers: number;
|
|
37
|
+
readonly l1ToL2MsgReadRequests: number;
|
|
38
|
+
readonly l2ToL1Msgs: number;
|
|
39
|
+
readonly unencryptedLogs: number;
|
|
40
|
+
constructor(publicDataReads: number, publicDataWrites: number, noteHashReadRequests: number, noteHashes: number, nullifierReadRequests: number, nullifierNonExistentReadRequests: number, nullifiers: number, l1ToL2MsgReadRequests: number, l2ToL1Msgs: number, unencryptedLogs: number);
|
|
41
|
+
static empty(): SideEffectArrayLengths;
|
|
42
|
+
}
|
|
27
43
|
/**
|
|
28
44
|
* Trace side effects for an entire enqueued call.
|
|
29
45
|
*/
|
|
@@ -33,51 +49,54 @@ export declare class PublicEnqueuedCallSideEffectTrace implements PublicSideEffe
|
|
|
33
49
|
/** Track parent's (or previous kernel's) lengths so the AVM can properly enforce TX-wide limits,
|
|
34
50
|
* otherwise the public kernel can fail to prove because TX limits are breached.
|
|
35
51
|
*/
|
|
36
|
-
private readonly
|
|
37
|
-
private readonly previousAccumulatedDataArrayLengths;
|
|
52
|
+
private readonly previousSideEffectArrayLengths;
|
|
38
53
|
log: import("@aztec/foundation/log").Logger;
|
|
39
54
|
/** The side effect counter increments with every call to the trace. */
|
|
40
55
|
private sideEffectCounter;
|
|
41
|
-
private
|
|
42
|
-
private
|
|
56
|
+
private enqueuedCalls;
|
|
57
|
+
private publicDataReads;
|
|
58
|
+
private publicDataWrites;
|
|
43
59
|
private noteHashReadRequests;
|
|
44
60
|
private noteHashes;
|
|
45
61
|
private nullifierReadRequests;
|
|
46
62
|
private nullifierNonExistentReadRequests;
|
|
47
63
|
private nullifiers;
|
|
48
64
|
private l1ToL2MsgReadRequests;
|
|
49
|
-
private
|
|
65
|
+
private l2ToL1Messages;
|
|
50
66
|
private unencryptedLogs;
|
|
51
67
|
private unencryptedLogsHashes;
|
|
52
68
|
private avmCircuitHints;
|
|
69
|
+
/** Make sure a forked trace is never merged twice. */
|
|
70
|
+
private alreadyMergedIntoParent;
|
|
53
71
|
constructor(
|
|
54
72
|
/** The counter of this trace's first side effect. */
|
|
55
73
|
startSideEffectCounter?: number,
|
|
56
74
|
/** Track parent's (or previous kernel's) lengths so the AVM can properly enforce TX-wide limits,
|
|
57
75
|
* otherwise the public kernel can fail to prove because TX limits are breached.
|
|
58
76
|
*/
|
|
59
|
-
|
|
77
|
+
previousSideEffectArrayLengths?: SideEffectArrayLengths);
|
|
60
78
|
fork(): PublicEnqueuedCallSideEffectTrace;
|
|
79
|
+
merge(forkedTrace: this, reverted?: boolean): void;
|
|
61
80
|
getCounter(): number;
|
|
62
81
|
private incrementSideEffectCounter;
|
|
63
|
-
tracePublicStorageRead(contractAddress:
|
|
64
|
-
tracePublicStorageWrite(contractAddress:
|
|
65
|
-
traceNoteHashCheck(_contractAddress:
|
|
66
|
-
traceNewNoteHash(contractAddress:
|
|
67
|
-
traceNullifierCheck(contractAddress:
|
|
68
|
-
traceNewNullifier(contractAddress:
|
|
69
|
-
traceL1ToL2MessageCheck(_contractAddress:
|
|
70
|
-
traceNewL2ToL1Message(contractAddress:
|
|
71
|
-
traceUnencryptedLog(contractAddress:
|
|
72
|
-
traceGetContractInstance(contractAddress:
|
|
73
|
-
traceGetBytecode(contractAddress:
|
|
82
|
+
tracePublicStorageRead(contractAddress: AztecAddress, slot: Fr, value: Fr, leafPreimage?: PublicDataTreeLeafPreimage, leafIndex?: Fr, path?: Fr[]): void;
|
|
83
|
+
tracePublicStorageWrite(contractAddress: AztecAddress, slot: Fr, value: Fr, lowLeafPreimage?: PublicDataTreeLeafPreimage, lowLeafIndex?: Fr, lowLeafPath?: Fr[], newLeafPreimage?: PublicDataTreeLeafPreimage, insertionPath?: Fr[]): void;
|
|
84
|
+
traceNoteHashCheck(_contractAddress: AztecAddress, noteHash: Fr, leafIndex: Fr, exists: boolean, path?: Fr[]): void;
|
|
85
|
+
traceNewNoteHash(contractAddress: AztecAddress, noteHash: Fr, leafIndex: Fr, path?: Fr[]): void;
|
|
86
|
+
traceNullifierCheck(contractAddress: AztecAddress, nullifier: Fr, exists: boolean, lowLeafPreimage?: NullifierLeafPreimage, lowLeafIndex?: Fr, lowLeafPath?: Fr[]): void;
|
|
87
|
+
traceNewNullifier(contractAddress: AztecAddress, nullifier: Fr, lowLeafPreimage?: NullifierLeafPreimage, lowLeafIndex?: Fr, lowLeafPath?: Fr[], insertionPath?: Fr[]): void;
|
|
88
|
+
traceL1ToL2MessageCheck(_contractAddress: AztecAddress, msgHash: Fr, msgLeafIndex: Fr, exists: boolean, path?: Fr[]): void;
|
|
89
|
+
traceNewL2ToL1Message(contractAddress: AztecAddress, recipient: Fr, content: Fr): void;
|
|
90
|
+
traceUnencryptedLog(contractAddress: AztecAddress, log: Fr[]): void;
|
|
91
|
+
traceGetContractInstance(contractAddress: AztecAddress, exists: boolean, instance?: SerializableContractInstance): void;
|
|
92
|
+
traceGetBytecode(contractAddress: AztecAddress, exists: boolean, bytecode?: Buffer, contractInstance?: SerializableContractInstance, contractClass?: ContractClassIdPreimage): void;
|
|
74
93
|
/**
|
|
75
94
|
* Trace a nested call.
|
|
76
95
|
* Accept some results from a finished nested call's trace into this one.
|
|
77
96
|
*/
|
|
78
97
|
traceNestedCall(
|
|
79
98
|
/** The trace of the nested call. */
|
|
80
|
-
|
|
99
|
+
_nestedCallTrace: this,
|
|
81
100
|
/** The execution environment of the nested call. */
|
|
82
101
|
nestedEnvironment: AvmExecutionEnvironment,
|
|
83
102
|
/** How much gas was available for this public execution. */
|
|
@@ -90,24 +109,68 @@ export declare class PublicEnqueuedCallSideEffectTrace implements PublicSideEffe
|
|
|
90
109
|
avmCallResults: AvmContractCallResult,
|
|
91
110
|
/** Function name for logging */
|
|
92
111
|
_functionName?: string): void;
|
|
93
|
-
|
|
94
|
-
|
|
112
|
+
/**
|
|
113
|
+
* Trace an enqueued call.
|
|
114
|
+
* Accept some results from a finished call's trace into this one.
|
|
115
|
+
*/
|
|
116
|
+
traceEnqueuedCall(
|
|
117
|
+
/** The call request from private that enqueued this call. */
|
|
118
|
+
publicCallRequest: PublicCallRequest,
|
|
119
|
+
/** The call's calldata */
|
|
120
|
+
calldata: Fr[],
|
|
121
|
+
/** Did the call revert? */
|
|
122
|
+
_reverted: boolean): void;
|
|
95
123
|
getSideEffects(): SideEffects;
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
124
|
+
/**
|
|
125
|
+
* Get the results of public execution.
|
|
126
|
+
*/
|
|
127
|
+
toPublicEnqueuedCallExecutionResult(
|
|
128
|
+
/** How much gas was left after this public execution. */
|
|
129
|
+
endGasLeft: Gas,
|
|
130
|
+
/** The call's results */
|
|
131
|
+
avmCallResults: AvmContractCallResult): EnqueuedPublicCallExecutionResultWithSideEffects;
|
|
132
|
+
toAvmCircuitPublicInputs(
|
|
133
|
+
/** Globals. */
|
|
134
|
+
globalVariables: GlobalVariables,
|
|
135
|
+
/** Start tree snapshots. */
|
|
136
|
+
startTreeSnapshots: TreeSnapshots,
|
|
137
|
+
/** Gas used at start of TX. */
|
|
138
|
+
startGasUsed: Gas,
|
|
139
|
+
/** How much gas was available for this public execution. */
|
|
140
|
+
gasLimits: GasSettings,
|
|
141
|
+
/** Call requests for setup phase. */
|
|
142
|
+
publicSetupCallRequests: PublicCallRequest[],
|
|
143
|
+
/** Call requests for app logic phase. */
|
|
144
|
+
publicAppLogicCallRequests: PublicCallRequest[],
|
|
145
|
+
/** Call request for teardown phase. */
|
|
146
|
+
publicTeardownCallRequest: PublicCallRequest,
|
|
147
|
+
/** End tree snapshots. */
|
|
148
|
+
endTreeSnapshots: TreeSnapshots,
|
|
149
|
+
/**
|
|
150
|
+
* Gas used by the whole transaction, assuming entire teardown limit is used.
|
|
151
|
+
* This is the gas used when computing transaction fee.
|
|
152
|
+
*/
|
|
153
|
+
endGasUsed: Gas,
|
|
154
|
+
/** Transaction fee. */
|
|
155
|
+
transactionFee: Fr,
|
|
156
|
+
/** The call's results */
|
|
157
|
+
reverted: boolean): AvmCircuitPublicInputs;
|
|
158
|
+
toPublicFunctionCallResult(
|
|
99
159
|
/** The execution environment of the nested call. */
|
|
100
|
-
|
|
160
|
+
_avmEnvironment: AvmExecutionEnvironment,
|
|
101
161
|
/** How much gas was available for this public execution. */
|
|
102
|
-
|
|
162
|
+
_startGasLeft: Gas,
|
|
103
163
|
/** How much gas was left after this public execution. */
|
|
104
|
-
|
|
164
|
+
_endGasLeft: Gas,
|
|
165
|
+
/** Bytecode used for this execution. */
|
|
166
|
+
_bytecode: Buffer,
|
|
105
167
|
/** The call's results */
|
|
106
|
-
|
|
168
|
+
_avmCallResults: AvmContractCallResult,
|
|
169
|
+
/** Function name for logging */
|
|
170
|
+
_functionName?: string): PublicFunctionCallResult;
|
|
107
171
|
getUnencryptedLogs(): UnencryptedL2Log[];
|
|
108
172
|
getAvmCircuitHints(): AvmExecutionHints;
|
|
109
|
-
private
|
|
110
|
-
private getAccumulatedData;
|
|
173
|
+
private getAvmAccumulatedData;
|
|
111
174
|
private enforceLimitOnNullifierChecks;
|
|
112
175
|
}
|
|
113
176
|
//# sourceMappingURL=enqueued_call_side_effect_trace.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enqueued_call_side_effect_trace.d.ts","sourceRoot":"","sources":["../../src/public/enqueued_call_side_effect_trace.ts"],"names":[],"mappings":";;AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"enqueued_call_side_effect_trace.d.ts","sourceRoot":"","sources":["../../src/public/enqueued_call_side_effect_trace.ts"],"names":[],"mappings":"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"}
|