@aztec/simulator 0.57.0 → 0.59.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.js +2 -2
- package/dest/acvm/oracle/typed_oracle.d.ts +1 -2
- package/dest/acvm/oracle/typed_oracle.d.ts.map +1 -1
- package/dest/acvm/oracle/typed_oracle.js +1 -1
- package/dest/avm/avm_gas.js +2 -2
- package/dest/avm/avm_memory_types.d.ts +7 -3
- package/dest/avm/avm_memory_types.d.ts.map +1 -1
- package/dest/avm/avm_memory_types.js +29 -14
- package/dest/avm/avm_simulator.d.ts.map +1 -1
- package/dest/avm/avm_simulator.js +5 -2
- package/dest/avm/fixtures/index.d.ts.map +1 -1
- package/dest/avm/fixtures/index.js +3 -3
- package/dest/avm/journal/journal.d.ts.map +1 -1
- package/dest/avm/journal/journal.js +2 -3
- package/dest/avm/opcodes/accrued_substate.js +17 -17
- package/dest/avm/opcodes/arithmetic.js +2 -2
- package/dest/avm/opcodes/bitwise.d.ts +3 -3
- package/dest/avm/opcodes/bitwise.d.ts.map +1 -1
- package/dest/avm/opcodes/bitwise.js +9 -8
- package/dest/avm/opcodes/comparators.js +2 -2
- package/dest/avm/opcodes/contract.d.ts.map +1 -1
- package/dest/avm/opcodes/contract.js +4 -3
- package/dest/avm/opcodes/control_flow.js +1 -1
- package/dest/avm/opcodes/conversion.js +4 -4
- package/dest/avm/opcodes/ec_add.d.ts.map +1 -1
- package/dest/avm/opcodes/ec_add.js +18 -9
- package/dest/avm/opcodes/external_calls.js +10 -10
- package/dest/avm/opcodes/hashing.js +8 -8
- package/dest/avm/opcodes/instruction_impl.d.ts +1 -2
- package/dest/avm/opcodes/instruction_impl.d.ts.map +1 -1
- package/dest/avm/opcodes/instruction_impl.js +2 -5
- package/dest/avm/opcodes/memory.js +3 -3
- package/dest/avm/opcodes/misc.js +4 -4
- package/dest/avm/opcodes/multi_scalar_mul.d.ts.map +1 -1
- package/dest/avm/opcodes/multi_scalar_mul.js +24 -9
- package/dest/avm/opcodes/storage.js +2 -2
- package/dest/avm/serialization/instruction_serialization.js +2 -2
- package/dest/avm/test_utils.d.ts +1 -2
- package/dest/avm/test_utils.d.ts.map +1 -1
- package/dest/avm/test_utils.js +1 -1
- package/dest/client/client_execution_context.d.ts.map +1 -1
- package/dest/client/client_execution_context.js +7 -3
- package/dest/client/db_oracle.d.ts +1 -2
- package/dest/client/db_oracle.d.ts.map +1 -1
- package/dest/client/db_oracle.js +1 -1
- package/dest/client/index.d.ts +1 -0
- package/dest/client/index.d.ts.map +1 -1
- package/dest/client/index.js +2 -1
- package/dest/client/private_execution.d.ts +10 -1
- package/dest/client/private_execution.d.ts.map +1 -1
- package/dest/client/private_execution.js +25 -5
- package/dest/client/view_data_oracle.d.ts +1 -2
- package/dest/client/view_data_oracle.d.ts.map +1 -1
- package/dest/client/view_data_oracle.js +1 -1
- package/dest/public/db_interfaces.d.ts +1 -2
- package/dest/public/db_interfaces.d.ts.map +1 -1
- package/dest/public/dual_side_effect_trace.d.ts +76 -0
- package/dest/public/dual_side_effect_trace.d.ts.map +1 -0
- package/dest/public/dual_side_effect_trace.js +109 -0
- package/dest/public/enqueued_call_side_effect_trace.d.ts +114 -0
- package/dest/public/enqueued_call_side_effect_trace.d.ts.map +1 -0
- package/dest/public/enqueued_call_side_effect_trace.js +314 -0
- package/dest/public/enqueued_call_simulator.d.ts +2 -2
- package/dest/public/enqueued_call_simulator.d.ts.map +1 -1
- package/dest/public/enqueued_call_simulator.js +18 -7
- package/dest/public/enqueued_calls_processor.d.ts +2 -2
- package/dest/public/enqueued_calls_processor.d.ts.map +1 -1
- package/dest/public/enqueued_calls_processor.js +3 -5
- package/dest/public/execution.d.ts +3 -4
- package/dest/public/execution.d.ts.map +1 -1
- package/dest/public/execution.js +1 -1
- package/dest/public/executor.d.ts +6 -4
- package/dest/public/executor.d.ts.map +1 -1
- package/dest/public/executor.js +18 -9
- package/dest/public/fee_payment.d.ts +1 -1
- package/dest/public/fee_payment.d.ts.map +1 -1
- package/dest/public/fee_payment.js +4 -7
- package/dest/public/hints_builder.d.ts +2 -2
- package/dest/public/hints_builder.d.ts.map +1 -1
- package/dest/public/hints_builder.js +1 -1
- package/dest/public/public_db_sources.d.ts +4 -5
- package/dest/public/public_db_sources.d.ts.map +1 -1
- package/dest/public/public_db_sources.js +15 -11
- package/dest/public/public_kernel_tail_simulator.d.ts +3 -3
- package/dest/public/public_kernel_tail_simulator.d.ts.map +1 -1
- package/dest/public/public_kernel_tail_simulator.js +1 -1
- 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 +8 -12
- package/dest/public/side_effect_trace.d.ts +1 -2
- package/dest/public/side_effect_trace.d.ts.map +1 -1
- package/dest/public/side_effect_trace.js +2 -2
- package/package.json +9 -9
- package/src/acvm/oracle/oracle.ts +1 -1
- package/src/acvm/oracle/typed_oracle.ts +6 -2
- package/src/avm/avm_gas.ts +1 -1
- package/src/avm/avm_memory_types.ts +28 -11
- package/src/avm/avm_simulator.ts +7 -1
- package/src/avm/fixtures/index.ts +2 -2
- package/src/avm/journal/journal.ts +3 -4
- package/src/avm/opcodes/accrued_substate.ts +17 -17
- package/src/avm/opcodes/arithmetic.ts +1 -1
- package/src/avm/opcodes/bitwise.ts +8 -7
- package/src/avm/opcodes/comparators.ts +1 -1
- package/src/avm/opcodes/contract.ts +3 -2
- package/src/avm/opcodes/control_flow.ts +1 -1
- package/src/avm/opcodes/conversion.ts +4 -4
- package/src/avm/opcodes/ec_add.ts +15 -8
- package/src/avm/opcodes/external_calls.ts +10 -10
- package/src/avm/opcodes/hashing.ts +8 -8
- package/src/avm/opcodes/instruction_impl.ts +0 -3
- package/src/avm/opcodes/memory.ts +3 -3
- package/src/avm/opcodes/misc.ts +4 -4
- package/src/avm/opcodes/multi_scalar_mul.ts +20 -12
- package/src/avm/opcodes/storage.ts +2 -2
- package/src/avm/serialization/instruction_serialization.ts +1 -1
- package/src/avm/test_utils.ts +1 -2
- package/src/client/client_execution_context.ts +6 -1
- package/src/client/db_oracle.ts +6 -2
- package/src/client/index.ts +1 -0
- package/src/client/private_execution.ts +36 -6
- package/src/client/view_data_oracle.ts +1 -2
- package/src/public/db_interfaces.ts +5 -2
- package/src/public/dual_side_effect_trace.ts +173 -0
- package/src/public/enqueued_call_side_effect_trace.ts +552 -0
- package/src/public/enqueued_call_simulator.ts +33 -11
- package/src/public/enqueued_calls_processor.ts +4 -6
- package/src/public/execution.ts +2 -4
- package/src/public/executor.ts +38 -9
- package/src/public/fee_payment.ts +4 -6
- package/src/public/hints_builder.ts +2 -2
- package/src/public/public_db_sources.ts +31 -22
- package/src/public/public_kernel_tail_simulator.ts +3 -3
- package/src/public/public_processor.ts +16 -16
- package/src/public/side_effect_trace.ts +2 -2
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { type AuthWitness, type AztecNode, type CompleteAddress, MerkleTreeId, type NoteStatus, type NullifierMembershipWitness, type PublicDataWitness } from '@aztec/circuit-types';
|
|
2
|
-
import { type Header, type KeyValidationRequest } from '@aztec/circuits.js';
|
|
2
|
+
import { type ContractInstance, type Header, type KeyValidationRequest } from '@aztec/circuits.js';
|
|
3
3
|
import { type AztecAddress } from '@aztec/foundation/aztec-address';
|
|
4
4
|
import { Fr } from '@aztec/foundation/fields';
|
|
5
|
-
import { type ContractInstance } from '@aztec/types/contracts';
|
|
6
5
|
import { type NoteData, TypedOracle } from '../acvm/index.js';
|
|
7
6
|
import { type DBOracle } from './db_oracle.js';
|
|
8
7
|
/**
|
|
@@ -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,KAAK,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"view_data_oracle.d.ts","sourceRoot":"","sources":["../../src/client/view_data_oracle.ts"],"names":[],"mappings":"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"}
|
|
@@ -222,4 +222,4 @@ export class ViewDataOracle extends TypedOracle {
|
|
|
222
222
|
this.log.verbose(`debug_log ${formattedStr}`);
|
|
223
223
|
}
|
|
224
224
|
}
|
|
225
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
225
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld19kYXRhX29yYWNsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jbGllbnQvdmlld19kYXRhX29yYWNsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBSUwsWUFBWSxHQUliLE1BQU0sc0JBQXNCLENBQUM7QUFFOUIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXhELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM5QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVqRixPQUFPLEVBQWlCLFdBQVcsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRTlELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUU1Qzs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sY0FBZSxTQUFRLFdBQVc7SUFDN0MsWUFDcUIsZUFBNkI7SUFDaEQseUVBQXlFO0lBQ3RELGFBQTRCLEVBQzVCLEVBQVksRUFDWixTQUFvQixFQUM3QixNQUFNLGlCQUFpQixDQUFDLHFDQUFxQyxDQUFDLEVBQ3JELE1BQXVCO1FBRTFDLEtBQUssRUFBRSxDQUFDO1FBUlcsb0JBQWUsR0FBZixlQUFlLENBQWM7UUFFN0Isa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsT0FBRSxHQUFGLEVBQUUsQ0FBVTtRQUNaLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFDN0IsUUFBRyxHQUFILEdBQUcsQ0FBMkQ7UUFDckQsV0FBTSxHQUFOLE1BQU0sQ0FBaUI7SUFHNUMsQ0FBQztJQUVlLGNBQWM7UUFDNUIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFFZSxrQkFBa0I7UUFDaEMsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRWUs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
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
/// <reference types="node" resolution-mode="require"/>
|
|
2
2
|
import { type NullifierMembershipWitness } from '@aztec/circuit-types';
|
|
3
|
-
import { type FunctionSelector, type L1_TO_L2_MSG_TREE_HEIGHT } from '@aztec/circuits.js';
|
|
3
|
+
import { type ContractInstanceWithAddress, type FunctionSelector, type L1_TO_L2_MSG_TREE_HEIGHT } from '@aztec/circuits.js';
|
|
4
4
|
import { type AztecAddress } from '@aztec/foundation/aztec-address';
|
|
5
5
|
import { type Fr } from '@aztec/foundation/fields';
|
|
6
|
-
import { type ContractInstanceWithAddress } from '@aztec/types/contracts';
|
|
7
6
|
import { type MessageLoadOracleInputs } from '../acvm/index.js';
|
|
8
7
|
/**
|
|
9
8
|
* Database interface for providing access to public state.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db_interfaces.d.ts","sourceRoot":"","sources":["../../src/public/db_interfaces.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AACvE,OAAO,
|
|
1
|
+
{"version":3,"file":"db_interfaces.d.ts","sourceRoot":"","sources":["../../src/public/db_interfaces.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AACvE,OAAO,EACL,KAAK,2BAA2B,EAChC,KAAK,gBAAgB,EACrB,KAAK,wBAAwB,EAC9B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAEnD,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAEhE;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;;;;OAKG;IACH,WAAW,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC;IAE3D;;;;;;OAMG;IACH,YAAY,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAE9E;;OAEG;IACH,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5B;;OAEG;IACH,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtC;;;OAGG;IACH,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAExB;;OAEG;IACH,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;;;OAKG;IACH,WAAW,CAAC,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAE5F;;;;OAIG;IACH,mBAAmB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,2BAA2B,GAAG,SAAS,CAAC,CAAC;IAE7F,oBAAoB,CAAC,eAAe,EAAE,YAAY,EAAE,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;CAC9G;AAED,6GAA6G;AAC7G,MAAM,WAAW,aAAa;IAC5B;;;;;;;OAOG;IACH,0BAA0B,CACxB,eAAe,EAAE,YAAY,EAC7B,WAAW,EAAE,EAAE,EACf,MAAM,EAAE,EAAE,GACT,OAAO,CAAC,uBAAuB,CAAC,OAAO,wBAAwB,CAAC,CAAC,CAAC;IAErE;;;OAGG;IACH,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC;IAE/D;;;;OAIG;IACH,kBAAkB,CAAC,UAAU,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAEhE;;;;OAIG;IACH,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC;IAE/D;;;;OAIG;IACH,iBAAiB,CAAC,SAAS,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAE9D;;;;OAIG;IACH,0CAA0C,CAAC,SAAS,EAAE,EAAE,GAAG,OAAO,CAAC,0BAA0B,GAAG,SAAS,CAAC,CAAC;CAC5G"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
+
import { type CombinedConstantData, type ContractInstanceWithAddress, type Gas, type VMCircuitPublicInputs } from '@aztec/circuits.js';
|
|
3
|
+
import { type Fr } from '@aztec/foundation/fields';
|
|
4
|
+
import { type AvmContractCallResult } from '../avm/avm_contract_call_result.js';
|
|
5
|
+
import { type AvmExecutionEnvironment } from '../avm/avm_execution_environment.js';
|
|
6
|
+
import { type PublicEnqueuedCallSideEffectTrace } from './enqueued_call_side_effect_trace.js';
|
|
7
|
+
import { type PublicExecutionResult } from './execution.js';
|
|
8
|
+
import { type PublicSideEffectTrace } from './side_effect_trace.js';
|
|
9
|
+
import { type PublicSideEffectTraceInterface } from './side_effect_trace_interface.js';
|
|
10
|
+
export type TracedContractInstance = {
|
|
11
|
+
exists: boolean;
|
|
12
|
+
} & ContractInstanceWithAddress;
|
|
13
|
+
export declare class DualSideEffectTrace implements PublicSideEffectTraceInterface {
|
|
14
|
+
readonly innerCallTrace: PublicSideEffectTrace;
|
|
15
|
+
readonly enqueuedCallTrace: PublicEnqueuedCallSideEffectTrace;
|
|
16
|
+
constructor(innerCallTrace: PublicSideEffectTrace, enqueuedCallTrace: PublicEnqueuedCallSideEffectTrace);
|
|
17
|
+
fork(): DualSideEffectTrace;
|
|
18
|
+
getCounter(): number;
|
|
19
|
+
tracePublicStorageRead(storageAddress: Fr, slot: Fr, value: Fr, exists: boolean, cached: boolean): void;
|
|
20
|
+
tracePublicStorageWrite(storageAddress: Fr, slot: Fr, value: Fr): void;
|
|
21
|
+
traceNoteHashCheck(_storageAddress: Fr, noteHash: Fr, leafIndex: Fr, exists: boolean): void;
|
|
22
|
+
traceNewNoteHash(_storageAddress: Fr, noteHash: Fr): void;
|
|
23
|
+
traceNullifierCheck(storageAddress: Fr, nullifier: Fr, leafIndex: Fr, exists: boolean, isPending: boolean): void;
|
|
24
|
+
traceNewNullifier(storageAddress: Fr, nullifier: Fr): void;
|
|
25
|
+
traceL1ToL2MessageCheck(contractAddress: Fr, msgHash: Fr, msgLeafIndex: Fr, exists: boolean): void;
|
|
26
|
+
traceNewL2ToL1Message(contractAddress: Fr, recipient: Fr, content: Fr): void;
|
|
27
|
+
traceUnencryptedLog(contractAddress: Fr, log: Fr[]): void;
|
|
28
|
+
traceGetContractInstance(instance: TracedContractInstance): void;
|
|
29
|
+
/**
|
|
30
|
+
* Trace a nested call.
|
|
31
|
+
* Accept some results from a finished nested call's trace into this one.
|
|
32
|
+
*/
|
|
33
|
+
traceNestedCall(
|
|
34
|
+
/** The trace of the nested call. */
|
|
35
|
+
nestedCallTrace: this,
|
|
36
|
+
/** The execution environment of the nested call. */
|
|
37
|
+
nestedEnvironment: AvmExecutionEnvironment,
|
|
38
|
+
/** How much gas was available for this public execution. */
|
|
39
|
+
startGasLeft: Gas,
|
|
40
|
+
/** How much gas was left after this public execution. */
|
|
41
|
+
endGasLeft: Gas,
|
|
42
|
+
/** Bytecode used for this execution. */
|
|
43
|
+
bytecode: Buffer,
|
|
44
|
+
/** The call's results */
|
|
45
|
+
avmCallResults: AvmContractCallResult,
|
|
46
|
+
/** Function name for logging */
|
|
47
|
+
functionName?: string): void;
|
|
48
|
+
/**
|
|
49
|
+
* Convert this trace to a PublicExecutionResult for use externally to the simulator.
|
|
50
|
+
*/
|
|
51
|
+
toPublicExecutionResult(
|
|
52
|
+
/** The execution environment of the nested call. */
|
|
53
|
+
avmEnvironment: AvmExecutionEnvironment,
|
|
54
|
+
/** How much gas was available for this public execution. */
|
|
55
|
+
startGasLeft: Gas,
|
|
56
|
+
/** How much gas was left after this public execution. */
|
|
57
|
+
endGasLeft: Gas,
|
|
58
|
+
/** Bytecode used for this execution. */
|
|
59
|
+
bytecode: Buffer,
|
|
60
|
+
/** The call's results */
|
|
61
|
+
avmCallResults: AvmContractCallResult,
|
|
62
|
+
/** Function name for logging */
|
|
63
|
+
functionName?: string): PublicExecutionResult;
|
|
64
|
+
toVMCircuitPublicInputs(
|
|
65
|
+
/** Constants */
|
|
66
|
+
constants: CombinedConstantData,
|
|
67
|
+
/** The execution environment of the nested call. */
|
|
68
|
+
avmEnvironment: AvmExecutionEnvironment,
|
|
69
|
+
/** How much gas was available for this public execution. */
|
|
70
|
+
startGasLeft: Gas,
|
|
71
|
+
/** How much gas was left after this public execution. */
|
|
72
|
+
endGasLeft: Gas,
|
|
73
|
+
/** The call's results */
|
|
74
|
+
avmCallResults: AvmContractCallResult): VMCircuitPublicInputs;
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=dual_side_effect_trace.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
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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"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import { assert } from 'console';
|
|
2
|
+
export class DualSideEffectTrace {
|
|
3
|
+
constructor(innerCallTrace, enqueuedCallTrace) {
|
|
4
|
+
this.innerCallTrace = innerCallTrace;
|
|
5
|
+
this.enqueuedCallTrace = enqueuedCallTrace;
|
|
6
|
+
}
|
|
7
|
+
fork() {
|
|
8
|
+
return new DualSideEffectTrace(this.innerCallTrace.fork(), this.enqueuedCallTrace.fork());
|
|
9
|
+
}
|
|
10
|
+
getCounter() {
|
|
11
|
+
assert(this.innerCallTrace.getCounter() == this.enqueuedCallTrace.getCounter());
|
|
12
|
+
return this.innerCallTrace.getCounter();
|
|
13
|
+
}
|
|
14
|
+
tracePublicStorageRead(storageAddress, slot, value, exists, cached) {
|
|
15
|
+
this.innerCallTrace.tracePublicStorageRead(storageAddress, slot, value, exists, cached);
|
|
16
|
+
this.enqueuedCallTrace.tracePublicStorageRead(storageAddress, slot, value, exists, cached);
|
|
17
|
+
}
|
|
18
|
+
tracePublicStorageWrite(storageAddress, slot, value) {
|
|
19
|
+
this.innerCallTrace.tracePublicStorageWrite(storageAddress, slot, value);
|
|
20
|
+
this.enqueuedCallTrace.tracePublicStorageWrite(storageAddress, slot, value);
|
|
21
|
+
}
|
|
22
|
+
// TODO(8287): _exists can be removed once we have the vm properly handling the equality check
|
|
23
|
+
traceNoteHashCheck(_storageAddress, noteHash, leafIndex, exists) {
|
|
24
|
+
this.innerCallTrace.traceNoteHashCheck(_storageAddress, noteHash, leafIndex, exists);
|
|
25
|
+
this.enqueuedCallTrace.traceNoteHashCheck(_storageAddress, noteHash, leafIndex, exists);
|
|
26
|
+
}
|
|
27
|
+
traceNewNoteHash(_storageAddress, noteHash) {
|
|
28
|
+
this.innerCallTrace.traceNewNoteHash(_storageAddress, noteHash);
|
|
29
|
+
this.enqueuedCallTrace.traceNewNoteHash(_storageAddress, noteHash);
|
|
30
|
+
}
|
|
31
|
+
traceNullifierCheck(storageAddress, nullifier, leafIndex, exists, isPending) {
|
|
32
|
+
this.innerCallTrace.traceNullifierCheck(storageAddress, nullifier, leafIndex, exists, isPending);
|
|
33
|
+
this.enqueuedCallTrace.traceNullifierCheck(storageAddress, nullifier, leafIndex, exists, isPending);
|
|
34
|
+
}
|
|
35
|
+
traceNewNullifier(storageAddress, nullifier) {
|
|
36
|
+
this.innerCallTrace.traceNewNullifier(storageAddress, nullifier);
|
|
37
|
+
this.enqueuedCallTrace.traceNewNullifier(storageAddress, nullifier);
|
|
38
|
+
}
|
|
39
|
+
traceL1ToL2MessageCheck(contractAddress, msgHash, msgLeafIndex, exists) {
|
|
40
|
+
this.innerCallTrace.traceL1ToL2MessageCheck(contractAddress, msgHash, msgLeafIndex, exists);
|
|
41
|
+
this.enqueuedCallTrace.traceL1ToL2MessageCheck(contractAddress, msgHash, msgLeafIndex, exists);
|
|
42
|
+
}
|
|
43
|
+
traceNewL2ToL1Message(contractAddress, recipient, content) {
|
|
44
|
+
this.innerCallTrace.traceNewL2ToL1Message(contractAddress, recipient, content);
|
|
45
|
+
this.enqueuedCallTrace.traceNewL2ToL1Message(contractAddress, recipient, content);
|
|
46
|
+
}
|
|
47
|
+
traceUnencryptedLog(contractAddress, log) {
|
|
48
|
+
this.innerCallTrace.traceUnencryptedLog(contractAddress, log);
|
|
49
|
+
this.enqueuedCallTrace.traceUnencryptedLog(contractAddress, log);
|
|
50
|
+
}
|
|
51
|
+
traceGetContractInstance(instance) {
|
|
52
|
+
this.innerCallTrace.traceGetContractInstance(instance);
|
|
53
|
+
this.enqueuedCallTrace.traceGetContractInstance(instance);
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Trace a nested call.
|
|
57
|
+
* Accept some results from a finished nested call's trace into this one.
|
|
58
|
+
*/
|
|
59
|
+
traceNestedCall(
|
|
60
|
+
/** The trace of the nested call. */
|
|
61
|
+
nestedCallTrace,
|
|
62
|
+
/** The execution environment of the nested call. */
|
|
63
|
+
nestedEnvironment,
|
|
64
|
+
/** How much gas was available for this public execution. */
|
|
65
|
+
startGasLeft,
|
|
66
|
+
/** How much gas was left after this public execution. */
|
|
67
|
+
endGasLeft,
|
|
68
|
+
/** Bytecode used for this execution. */
|
|
69
|
+
bytecode,
|
|
70
|
+
/** The call's results */
|
|
71
|
+
avmCallResults,
|
|
72
|
+
/** Function name for logging */
|
|
73
|
+
functionName = 'unknown') {
|
|
74
|
+
this.innerCallTrace.traceNestedCall(nestedCallTrace.innerCallTrace, nestedEnvironment, startGasLeft, endGasLeft, bytecode, avmCallResults, functionName);
|
|
75
|
+
this.enqueuedCallTrace.traceNestedCall(nestedCallTrace.enqueuedCallTrace, nestedEnvironment, startGasLeft, endGasLeft, bytecode, avmCallResults, functionName);
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Convert this trace to a PublicExecutionResult for use externally to the simulator.
|
|
79
|
+
*/
|
|
80
|
+
toPublicExecutionResult(
|
|
81
|
+
/** The execution environment of the nested call. */
|
|
82
|
+
avmEnvironment,
|
|
83
|
+
/** How much gas was available for this public execution. */
|
|
84
|
+
startGasLeft,
|
|
85
|
+
/** How much gas was left after this public execution. */
|
|
86
|
+
endGasLeft,
|
|
87
|
+
/** Bytecode used for this execution. */
|
|
88
|
+
bytecode,
|
|
89
|
+
/** The call's results */
|
|
90
|
+
avmCallResults,
|
|
91
|
+
/** Function name for logging */
|
|
92
|
+
functionName = 'unknown') {
|
|
93
|
+
return this.innerCallTrace.toPublicExecutionResult(avmEnvironment, startGasLeft, endGasLeft, bytecode, avmCallResults, functionName);
|
|
94
|
+
}
|
|
95
|
+
toVMCircuitPublicInputs(
|
|
96
|
+
/** Constants */
|
|
97
|
+
constants,
|
|
98
|
+
/** The execution environment of the nested call. */
|
|
99
|
+
avmEnvironment,
|
|
100
|
+
/** How much gas was available for this public execution. */
|
|
101
|
+
startGasLeft,
|
|
102
|
+
/** How much gas was left after this public execution. */
|
|
103
|
+
endGasLeft,
|
|
104
|
+
/** The call's results */
|
|
105
|
+
avmCallResults) {
|
|
106
|
+
return this.enqueuedCallTrace.toVMCircuitPublicInputs(constants, avmEnvironment, startGasLeft, endGasLeft, avmCallResults);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHVhbF9zaWRlX2VmZmVjdF90cmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wdWJsaWMvZHVhbF9zaWRlX2VmZmVjdF90cmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBV2pDLE1BQU0sT0FBTyxtQkFBbUI7SUFDOUIsWUFDa0IsY0FBcUMsRUFDckMsaUJBQW9EO1FBRHBELG1CQUFjLEdBQWQsY0FBYyxDQUF1QjtRQUNyQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1DO0lBQ25FLENBQUM7SUFFRyxJQUFJO1FBQ1QsT0FBTyxJQUFJLG1CQUFtQixDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7SUFDNUYsQ0FBQztJQUVNLFVBQVU7UUFDZixNQUFNLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLEVBQUUsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQztRQUNoRixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDMUMsQ0FBQztJQUVNLHNCQUFzQixDQUFDLGNBQWtCLEVBQUUsSUFBUSxFQUFFLEtBQVMsRUFBRSxNQUFlLEVBQUUsTUFBZTtRQUNyRyxJQUFJLENBQUMsY0FBYyxDQUFDLHNCQUFzQixDQUFDLGNBQWMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztRQUN4RixJQUFJLENBQUMsaUJBQWlCLENBQUMsc0JBQXNCLENBQUMsY0FBYyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzdGLENBQUM7SUFFTSx1QkFBdUIsQ0FBQyxjQUFrQixFQUFFLElBQVEsRUFBRSxLQUFTO1FB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
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
+
import { UnencryptedL2Log } from '@aztec/circuit-types';
|
|
3
|
+
import { AvmExecutionHints, type CombinedConstantData, type ContractInstanceWithAddress, ContractStorageRead, ContractStorageUpdateRequest, Gas, PublicAccumulatedDataArrayLengths, PublicValidationRequestArrayLengths, ScopedL2ToL1Message, ScopedLogHash, ScopedNoteHash, type ScopedNullifier, ScopedReadRequest, TreeLeafReadRequest, VMCircuitPublicInputs } from '@aztec/circuits.js';
|
|
4
|
+
import { Fr } from '@aztec/foundation/fields';
|
|
5
|
+
import { type AvmContractCallResult } from '../avm/avm_contract_call_result.js';
|
|
6
|
+
import { type AvmExecutionEnvironment } from '../avm/avm_execution_environment.js';
|
|
7
|
+
import { type PublicSideEffectTraceInterface } from './side_effect_trace_interface.js';
|
|
8
|
+
export type TracedContractInstance = {
|
|
9
|
+
exists: boolean;
|
|
10
|
+
} & ContractInstanceWithAddress;
|
|
11
|
+
/**
|
|
12
|
+
* A struct containing just the side effects as regular arrays
|
|
13
|
+
* as opposed to "Tuple" arrays used by circuit public inputs.
|
|
14
|
+
* This struct is helpful for testing and checking array lengths.
|
|
15
|
+
**/
|
|
16
|
+
export type SideEffects = {
|
|
17
|
+
contractStorageReads: ContractStorageRead[];
|
|
18
|
+
contractStorageUpdateRequests: ContractStorageUpdateRequest[];
|
|
19
|
+
noteHashReadRequests: TreeLeafReadRequest[];
|
|
20
|
+
noteHashes: ScopedNoteHash[];
|
|
21
|
+
nullifierReadRequests: ScopedReadRequest[];
|
|
22
|
+
nullifierNonExistentReadRequests: ScopedReadRequest[];
|
|
23
|
+
nullifiers: ScopedNullifier[];
|
|
24
|
+
l1ToL2MsgReadRequests: TreeLeafReadRequest[];
|
|
25
|
+
l2ToL1Msgs: ScopedL2ToL1Message[];
|
|
26
|
+
unencryptedLogs: UnencryptedL2Log[];
|
|
27
|
+
unencryptedLogsHashes: ScopedLogHash[];
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* Trace side effects for an entire enqueued call.
|
|
31
|
+
*/
|
|
32
|
+
export declare class PublicEnqueuedCallSideEffectTrace implements PublicSideEffectTraceInterface {
|
|
33
|
+
/** The counter of this trace's first side effect. */
|
|
34
|
+
readonly startSideEffectCounter: number;
|
|
35
|
+
/** Track parent's (or previous kernel's) lengths so the AVM can properly enforce TX-wide limits,
|
|
36
|
+
* otherwise the public kernel can fail to prove because TX limits are breached.
|
|
37
|
+
*/
|
|
38
|
+
private readonly previousValidationRequestArrayLengths;
|
|
39
|
+
private readonly previousAccumulatedDataArrayLengths;
|
|
40
|
+
log: import("@aztec/foundation/log").Logger;
|
|
41
|
+
/** The side effect counter increments with every call to the trace. */
|
|
42
|
+
private sideEffectCounter;
|
|
43
|
+
private contractStorageReads;
|
|
44
|
+
private contractStorageUpdateRequests;
|
|
45
|
+
private noteHashReadRequests;
|
|
46
|
+
private noteHashes;
|
|
47
|
+
private nullifierReadRequests;
|
|
48
|
+
private nullifierNonExistentReadRequests;
|
|
49
|
+
private nullifiers;
|
|
50
|
+
private l1ToL2MsgReadRequests;
|
|
51
|
+
private l2ToL1Msgs;
|
|
52
|
+
private unencryptedLogs;
|
|
53
|
+
private unencryptedLogsHashes;
|
|
54
|
+
private avmCircuitHints;
|
|
55
|
+
constructor(
|
|
56
|
+
/** The counter of this trace's first side effect. */
|
|
57
|
+
startSideEffectCounter?: number,
|
|
58
|
+
/** Track parent's (or previous kernel's) lengths so the AVM can properly enforce TX-wide limits,
|
|
59
|
+
* otherwise the public kernel can fail to prove because TX limits are breached.
|
|
60
|
+
*/
|
|
61
|
+
previousValidationRequestArrayLengths?: PublicValidationRequestArrayLengths, previousAccumulatedDataArrayLengths?: PublicAccumulatedDataArrayLengths);
|
|
62
|
+
fork(): PublicEnqueuedCallSideEffectTrace;
|
|
63
|
+
getCounter(): number;
|
|
64
|
+
private incrementSideEffectCounter;
|
|
65
|
+
tracePublicStorageRead(storageAddress: Fr, slot: Fr, value: Fr, _exists: boolean, _cached: boolean): void;
|
|
66
|
+
tracePublicStorageWrite(storageAddress: Fr, slot: Fr, value: Fr): void;
|
|
67
|
+
traceNoteHashCheck(_storageAddress: Fr, noteHash: Fr, leafIndex: Fr, exists: boolean): void;
|
|
68
|
+
traceNewNoteHash(storageAddress: Fr, noteHash: Fr): void;
|
|
69
|
+
traceNullifierCheck(storageAddress: Fr, nullifier: Fr, _leafIndex: Fr, exists: boolean, _isPending: boolean): void;
|
|
70
|
+
traceNewNullifier(storageAddress: Fr, nullifier: Fr): void;
|
|
71
|
+
traceL1ToL2MessageCheck(_contractAddress: Fr, msgHash: Fr, msgLeafIndex: Fr, exists: boolean): void;
|
|
72
|
+
traceNewL2ToL1Message(contractAddress: Fr, recipient: Fr, content: Fr): void;
|
|
73
|
+
traceUnencryptedLog(contractAddress: Fr, log: Fr[]): void;
|
|
74
|
+
traceGetContractInstance(instance: TracedContractInstance): void;
|
|
75
|
+
/**
|
|
76
|
+
* Trace a nested call.
|
|
77
|
+
* Accept some results from a finished nested call's trace into this one.
|
|
78
|
+
*/
|
|
79
|
+
traceNestedCall(
|
|
80
|
+
/** The trace of the nested call. */
|
|
81
|
+
nestedCallTrace: this,
|
|
82
|
+
/** The execution environment of the nested call. */
|
|
83
|
+
_nestedEnvironment: AvmExecutionEnvironment,
|
|
84
|
+
/** How much gas was available for this public execution. */
|
|
85
|
+
startGasLeft: Gas,
|
|
86
|
+
/** How much gas was left after this public execution. */
|
|
87
|
+
endGasLeft: Gas,
|
|
88
|
+
/** Bytecode used for this execution. */
|
|
89
|
+
_bytecode: Buffer,
|
|
90
|
+
/** The call's results */
|
|
91
|
+
avmCallResults: AvmContractCallResult,
|
|
92
|
+
/** Function name for logging */
|
|
93
|
+
_functionName?: string): void;
|
|
94
|
+
absorbSuccessfulNestedTrace(nestedTrace: this): void;
|
|
95
|
+
absorbRevertedNestedTrace(nestedTrace: this): void;
|
|
96
|
+
getSideEffects(): SideEffects;
|
|
97
|
+
toVMCircuitPublicInputs(
|
|
98
|
+
/** Constants. */
|
|
99
|
+
constants: CombinedConstantData,
|
|
100
|
+
/** The execution environment of the nested call. */
|
|
101
|
+
avmEnvironment: AvmExecutionEnvironment,
|
|
102
|
+
/** How much gas was available for this public execution. */
|
|
103
|
+
startGasLeft: Gas,
|
|
104
|
+
/** How much gas was left after this public execution. */
|
|
105
|
+
endGasLeft: Gas,
|
|
106
|
+
/** The call's results */
|
|
107
|
+
avmCallResults: AvmContractCallResult): VMCircuitPublicInputs;
|
|
108
|
+
getUnencryptedLogs(): UnencryptedL2Log[];
|
|
109
|
+
getAvmCircuitHints(): AvmExecutionHints;
|
|
110
|
+
private getValidationRequests;
|
|
111
|
+
private getAccumulatedData;
|
|
112
|
+
private enforceLimitOnNullifierChecks;
|
|
113
|
+
}
|
|
114
|
+
//# sourceMappingURL=enqueued_call_side_effect_trace.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
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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"}
|