@aztec/simulator 0.80.0 → 0.82.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/common/db_interfaces.d.ts +30 -17
- package/dest/common/db_interfaces.d.ts.map +1 -1
- package/dest/common/db_interfaces.js +1 -1
- package/dest/common/debug_fn_name.d.ts +2 -2
- package/dest/common/debug_fn_name.d.ts.map +1 -1
- package/dest/common/message_load_oracle_inputs.d.ts +4 -0
- package/dest/common/message_load_oracle_inputs.d.ts.map +1 -1
- package/dest/common/message_load_oracle_inputs.js +9 -0
- package/dest/private/acvm/acvm.d.ts +6 -1
- package/dest/private/acvm/acvm.d.ts.map +1 -1
- package/dest/private/acvm/acvm.js +7 -13
- package/dest/private/acvm/deserialize.d.ts +19 -18
- package/dest/private/acvm/deserialize.d.ts.map +1 -1
- package/dest/private/acvm/deserialize.js +31 -23
- package/dest/private/acvm/oracle/oracle.d.ts +36 -34
- package/dest/private/acvm/oracle/oracle.d.ts.map +1 -1
- package/dest/private/acvm/oracle/oracle.js +134 -79
- package/dest/private/acvm/oracle/typed_oracle.d.ts +3 -2
- package/dest/private/acvm/oracle/typed_oracle.d.ts.map +1 -1
- package/dest/private/acvm/oracle/typed_oracle.js +5 -2
- package/dest/private/acvm/serialize.d.ts +11 -0
- package/dest/private/acvm/serialize.d.ts.map +1 -1
- package/dest/private/acvm/serialize.js +27 -0
- package/dest/private/execution_data_provider.d.ts +15 -13
- package/dest/private/execution_data_provider.d.ts.map +1 -1
- package/dest/private/private_execution.d.ts +2 -2
- package/dest/private/private_execution.d.ts.map +1 -1
- package/dest/private/private_execution.js +4 -5
- package/dest/private/private_execution_oracle.d.ts.map +1 -1
- package/dest/private/private_execution_oracle.js +1 -1
- package/dest/private/providers/acvm_native.d.ts +6 -4
- package/dest/private/providers/acvm_native.d.ts.map +1 -1
- package/dest/private/providers/acvm_native.js +6 -3
- package/dest/private/providers/acvm_wasm.d.ts +6 -7
- package/dest/private/providers/acvm_wasm.d.ts.map +1 -1
- package/dest/private/providers/acvm_wasm.js +13 -15
- package/dest/private/providers/acvm_wasm_with_blobs.d.ts +5 -5
- package/dest/private/providers/acvm_wasm_with_blobs.d.ts.map +1 -1
- package/dest/private/providers/acvm_wasm_with_blobs.js +7 -9
- package/dest/private/providers/circuit_recording/circuit_recorder.d.ts +90 -0
- package/dest/private/providers/circuit_recording/circuit_recorder.d.ts.map +1 -0
- package/dest/private/providers/circuit_recording/circuit_recorder.js +246 -0
- package/dest/private/providers/circuit_recording/simulation_provider_recorder_wrapper.d.ts +18 -0
- package/dest/private/providers/circuit_recording/simulation_provider_recorder_wrapper.d.ts.map +1 -0
- package/dest/private/providers/circuit_recording/simulation_provider_recorder_wrapper.js +39 -0
- package/dest/private/providers/simulation_provider.d.ts +21 -7
- package/dest/private/providers/simulation_provider.d.ts.map +1 -1
- package/dest/private/simulator.d.ts +3 -2
- package/dest/private/simulator.d.ts.map +1 -1
- package/dest/private/simulator.js +2 -2
- package/dest/private/unconstrained_execution.d.ts +2 -2
- package/dest/private/unconstrained_execution.d.ts.map +1 -1
- package/dest/private/unconstrained_execution.js +1 -2
- package/dest/private/unconstrained_execution_oracle.d.ts +5 -3
- package/dest/private/unconstrained_execution_oracle.d.ts.map +1 -1
- package/dest/private/unconstrained_execution_oracle.js +9 -5
- package/dest/public/avm/avm_simulator.d.ts.map +1 -1
- package/dest/public/avm/avm_simulator.js +0 -2
- package/dest/public/avm/fixtures/avm_simulation_tester.d.ts.map +1 -1
- package/dest/public/avm/fixtures/avm_simulation_tester.js +5 -5
- package/dest/public/avm/fixtures/index.d.ts +4 -4
- package/dest/public/avm/fixtures/index.d.ts.map +1 -1
- package/dest/public/avm/fixtures/index.js +9 -6
- package/dest/public/avm/fixtures/simple_contract_data_source.d.ts +1 -2
- package/dest/public/avm/fixtures/simple_contract_data_source.d.ts.map +1 -1
- package/dest/public/avm/fixtures/simple_contract_data_source.js +0 -3
- package/dest/public/avm/journal/journal.d.ts +16 -70
- package/dest/public/avm/journal/journal.d.ts.map +1 -1
- package/dest/public/avm/journal/journal.js +88 -210
- package/dest/public/avm/journal/nullifiers.d.ts +2 -2
- package/dest/public/avm/journal/nullifiers.d.ts.map +1 -1
- package/dest/public/avm/journal/public_storage.d.ts +2 -2
- package/dest/public/avm/journal/public_storage.d.ts.map +1 -1
- package/dest/public/avm/test_utils.d.ts +10 -13
- package/dest/public/avm/test_utils.d.ts.map +1 -1
- package/dest/public/avm/test_utils.js +8 -13
- package/dest/public/fixtures/public_tx_simulation_tester.d.ts +3 -3
- package/dest/public/fixtures/public_tx_simulation_tester.d.ts.map +1 -1
- package/dest/public/fixtures/public_tx_simulation_tester.js +10 -9
- package/dest/public/hinting_db_sources.d.ts +19 -0
- package/dest/public/hinting_db_sources.d.ts.map +1 -0
- package/dest/public/hinting_db_sources.js +36 -0
- package/dest/public/public_db_sources.d.ts +46 -22
- package/dest/public/public_db_sources.d.ts.map +1 -1
- package/dest/public/public_db_sources.js +82 -27
- package/dest/public/public_processor/public_processor.d.ts +5 -5
- package/dest/public/public_processor/public_processor.d.ts.map +1 -1
- package/dest/public/public_processor/public_processor.js +21 -20
- package/dest/public/public_tx_simulator/public_tx_context.d.ts +9 -14
- package/dest/public/public_tx_simulator/public_tx_context.d.ts.map +1 -1
- package/dest/public/public_tx_simulator/public_tx_context.js +15 -19
- package/dest/public/public_tx_simulator/public_tx_simulator.d.ts +9 -6
- package/dest/public/public_tx_simulator/public_tx_simulator.d.ts.map +1 -1
- package/dest/public/public_tx_simulator/public_tx_simulator.js +28 -14
- package/dest/public/side_effect_trace.d.ts +6 -22
- package/dest/public/side_effect_trace.d.ts.map +1 -1
- package/dest/public/side_effect_trace.js +11 -70
- package/dest/public/side_effect_trace_interface.d.ts +5 -19
- package/dest/public/side_effect_trace_interface.d.ts.map +1 -1
- package/dest/testing.d.ts +2 -0
- package/dest/testing.d.ts.map +1 -0
- package/dest/testing.js +1 -0
- package/package.json +15 -14
- package/src/common/db_interfaces.ts +32 -18
- package/src/common/debug_fn_name.ts +2 -2
- package/src/common/message_load_oracle_inputs.ts +8 -0
- package/src/private/acvm/acvm.ts +8 -24
- package/src/private/acvm/deserialize.ts +35 -29
- package/src/private/acvm/oracle/oracle.ts +171 -129
- package/src/private/acvm/oracle/typed_oracle.ts +7 -3
- package/src/private/acvm/serialize.ts +28 -0
- package/src/private/execution_data_provider.ts +19 -14
- package/src/private/private_execution.ts +11 -7
- package/src/private/private_execution_oracle.ts +5 -1
- package/src/private/providers/acvm_native.ts +17 -6
- package/src/private/providers/acvm_wasm.ts +27 -20
- package/src/private/providers/acvm_wasm_with_blobs.ts +15 -12
- package/src/private/providers/circuit_recording/circuit_recorder.ts +283 -0
- package/src/private/providers/circuit_recording/simulation_provider_recorder_wrapper.ts +82 -0
- package/src/private/providers/simulation_provider.ts +30 -5
- package/src/private/simulator.ts +5 -3
- package/src/private/unconstrained_execution.ts +8 -4
- package/src/private/unconstrained_execution_oracle.ts +15 -9
- package/src/public/avm/avm_simulator.ts +0 -2
- package/src/public/avm/fixtures/avm_simulation_tester.ts +8 -5
- package/src/public/avm/fixtures/index.ts +16 -10
- package/src/public/avm/fixtures/simple_contract_data_source.ts +1 -10
- package/src/public/avm/journal/journal.ts +119 -353
- package/src/public/avm/journal/nullifiers.ts +2 -2
- package/src/public/avm/journal/public_storage.ts +2 -2
- package/src/public/avm/test_utils.ts +20 -29
- package/src/public/fixtures/public_tx_simulation_tester.ts +9 -12
- package/src/public/hinting_db_sources.ts +71 -0
- package/src/public/public_db_sources.ts +134 -32
- package/src/public/public_processor/public_processor.ts +22 -21
- package/src/public/public_tx_simulator/public_tx_context.ts +30 -38
- package/src/public/public_tx_simulator/public_tx_simulator.ts +47 -17
- package/src/public/side_effect_trace.ts +8 -172
- package/src/public/side_effect_trace_interface.ts +4 -55
- package/src/testing.ts +1 -0
- package/dest/public/avm/bytecode_utils.d.ts +0 -5
- package/dest/public/avm/bytecode_utils.d.ts.map +0 -1
- package/dest/public/avm/bytecode_utils.js +0 -17
- package/src/public/avm/bytecode_utils.ts +0 -17
|
@@ -1,76 +1,25 @@
|
|
|
1
1
|
import type { Fr } from '@aztec/foundation/fields';
|
|
2
|
-
import type { AvmPublicDataReadTreeHint } from '@aztec/stdlib/avm';
|
|
3
2
|
import type { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
4
|
-
import type { ContractClassWithCommitment, SerializableContractInstance } from '@aztec/stdlib/contract';
|
|
5
3
|
import type { PublicCallRequest } from '@aztec/stdlib/kernel';
|
|
6
4
|
import type { PublicLog } from '@aztec/stdlib/logs';
|
|
7
|
-
import type { NullifierLeafPreimage, PublicDataTreeLeafPreimage } from '@aztec/stdlib/trees';
|
|
8
5
|
|
|
9
6
|
export interface PublicSideEffectTraceInterface {
|
|
10
7
|
fork(): PublicSideEffectTraceInterface;
|
|
11
8
|
merge(nestedTrace: PublicSideEffectTraceInterface, reverted?: boolean): void;
|
|
12
9
|
getCounter(): number;
|
|
13
10
|
// all "trace*" functions can throw SideEffectLimitReachedError
|
|
14
|
-
tracePublicStorageRead(
|
|
15
|
-
contractAddress: AztecAddress,
|
|
16
|
-
slot: Fr,
|
|
17
|
-
value: Fr,
|
|
18
|
-
leafPreimage?: PublicDataTreeLeafPreimage,
|
|
19
|
-
leafIndex?: Fr,
|
|
20
|
-
path?: Fr[],
|
|
21
|
-
): void;
|
|
22
11
|
tracePublicStorageWrite(
|
|
23
12
|
contractAddress: AztecAddress,
|
|
24
13
|
slot: Fr, // This is the storage slot not the computed leaf slot
|
|
25
14
|
value: Fr,
|
|
26
15
|
protocolWrite: boolean,
|
|
27
|
-
lowLeafPreimage?: PublicDataTreeLeafPreimage,
|
|
28
|
-
lowLeafIndex?: Fr,
|
|
29
|
-
lowLeafPath?: Fr[],
|
|
30
|
-
newLeafPreimage?: PublicDataTreeLeafPreimage,
|
|
31
|
-
insertionPath?: Fr[],
|
|
32
16
|
): Promise<void>;
|
|
33
|
-
|
|
34
|
-
traceNewNoteHash(uniqueNoteHash: Fr, leafIndex?: Fr, path?: Fr[]): void;
|
|
17
|
+
traceNewNoteHash(uniqueNoteHash: Fr): void;
|
|
35
18
|
getNoteHashCount(): number;
|
|
36
|
-
|
|
37
|
-
siloedNullifier: Fr,
|
|
38
|
-
exists: boolean,
|
|
39
|
-
lowLeafPreimage?: NullifierLeafPreimage,
|
|
40
|
-
lowLeafIndex?: Fr,
|
|
41
|
-
lowLeafPath?: Fr[],
|
|
42
|
-
): void;
|
|
43
|
-
traceNewNullifier(
|
|
44
|
-
siloedNullifier: Fr,
|
|
45
|
-
lowLeafPreimage?: NullifierLeafPreimage,
|
|
46
|
-
lowLeafIndex?: Fr,
|
|
47
|
-
lowLeafPath?: Fr[],
|
|
48
|
-
insertionPath?: Fr[],
|
|
49
|
-
): void;
|
|
50
|
-
traceL1ToL2MessageCheck(
|
|
51
|
-
contractAddress: AztecAddress,
|
|
52
|
-
msgHash: Fr,
|
|
53
|
-
msgLeafIndex: Fr,
|
|
54
|
-
exists: boolean,
|
|
55
|
-
path?: Fr[],
|
|
56
|
-
): void;
|
|
19
|
+
traceNewNullifier(siloedNullifier: Fr): void;
|
|
57
20
|
traceNewL2ToL1Message(contractAddress: AztecAddress, recipient: Fr, content: Fr): void;
|
|
58
21
|
tracePublicLog(contractAddress: AztecAddress, log: Fr[]): void;
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
exists: boolean,
|
|
62
|
-
instance?: SerializableContractInstance,
|
|
63
|
-
updateMembershipHint?: AvmPublicDataReadTreeHint,
|
|
64
|
-
updatePreimage?: Fr[],
|
|
65
|
-
): void;
|
|
66
|
-
traceGetContractClass(contractClassId: Fr, exists: boolean, contractClass?: ContractClassWithCommitment): void;
|
|
67
|
-
traceEnqueuedCall(
|
|
68
|
-
/** The call request from private that enqueued this call. */
|
|
69
|
-
publicCallRequest: PublicCallRequest,
|
|
70
|
-
/** The call's calldata */
|
|
71
|
-
calldata: Fr[],
|
|
72
|
-
/** Did the call revert? */
|
|
73
|
-
reverted: boolean,
|
|
74
|
-
): void;
|
|
22
|
+
traceGetContractClass(contractClassId: Fr, exists: boolean): void;
|
|
23
|
+
traceEnqueuedCall(publicCallRequest: PublicCallRequest): void;
|
|
75
24
|
getPublicLogs(): PublicLog[];
|
|
76
25
|
}
|
package/src/testing.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { SimulationProviderRecorderWrapper } from './private/providers/circuit_recording/simulation_provider_recorder_wrapper.js';
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
-
/// <reference types="node" resolution-mode="require"/>
|
|
3
|
-
export declare function markBytecodeAsAvm(bytecode: Buffer): Buffer;
|
|
4
|
-
export declare function isAvmBytecode(bytecode: Buffer): boolean;
|
|
5
|
-
//# sourceMappingURL=bytecode_utils.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bytecode_utils.d.ts","sourceRoot":"","sources":["../../../src/public/avm/bytecode_utils.ts"],"names":[],"mappings":";;AASA,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAGvD"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { Opcode } from './serialization/instruction_serialization.js';
|
|
2
|
-
const AVM_MAGIC_SUFFIX = Buffer.from([
|
|
3
|
-
Opcode.MOV_16,
|
|
4
|
-
0x00,
|
|
5
|
-
...Buffer.from('18ca', 'hex'),
|
|
6
|
-
...Buffer.from('18ca', 'hex')
|
|
7
|
-
]);
|
|
8
|
-
export function markBytecodeAsAvm(bytecode) {
|
|
9
|
-
return Buffer.concat([
|
|
10
|
-
bytecode,
|
|
11
|
-
AVM_MAGIC_SUFFIX
|
|
12
|
-
]);
|
|
13
|
-
}
|
|
14
|
-
export function isAvmBytecode(bytecode) {
|
|
15
|
-
const magicSize = AVM_MAGIC_SUFFIX.length;
|
|
16
|
-
return bytecode.subarray(-magicSize).equals(AVM_MAGIC_SUFFIX);
|
|
17
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { Opcode } from './serialization/instruction_serialization.js';
|
|
2
|
-
|
|
3
|
-
const AVM_MAGIC_SUFFIX = Buffer.from([
|
|
4
|
-
Opcode.MOV_16, // opcode
|
|
5
|
-
0x00, // indirect
|
|
6
|
-
...Buffer.from('18ca', 'hex'), // srcOffset
|
|
7
|
-
...Buffer.from('18ca', 'hex'), // dstOffset
|
|
8
|
-
]);
|
|
9
|
-
|
|
10
|
-
export function markBytecodeAsAvm(bytecode: Buffer): Buffer {
|
|
11
|
-
return Buffer.concat([bytecode, AVM_MAGIC_SUFFIX]);
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
export function isAvmBytecode(bytecode: Buffer): boolean {
|
|
15
|
-
const magicSize = AVM_MAGIC_SUFFIX.length;
|
|
16
|
-
return bytecode.subarray(-magicSize).equals(AVM_MAGIC_SUFFIX);
|
|
17
|
-
}
|