@aztec/simulator 0.35.1 → 0.37.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dest/acvm/oracle/oracle.d.ts +7 -5
- package/dest/acvm/oracle/oracle.d.ts.map +1 -1
- package/dest/acvm/oracle/oracle.js +50 -23
- package/dest/acvm/oracle/typed_oracle.d.ts +17 -22
- package/dest/acvm/oracle/typed_oracle.d.ts.map +1 -1
- package/dest/acvm/oracle/typed_oracle.js +13 -10
- package/dest/avm/avm_execution_environment.d.ts +1 -5
- package/dest/avm/avm_execution_environment.d.ts.map +1 -1
- package/dest/avm/avm_execution_environment.js +5 -8
- package/dest/avm/avm_gas.d.ts +1 -9
- package/dest/avm/avm_gas.d.ts.map +1 -1
- package/dest/avm/avm_gas.js +6 -13
- package/dest/avm/avm_machine_state.d.ts +1 -3
- package/dest/avm/avm_machine_state.d.ts.map +1 -1
- package/dest/avm/avm_machine_state.js +8 -9
- package/dest/avm/avm_simulator.js +2 -2
- package/dest/avm/fixtures/index.d.ts +2 -6
- package/dest/avm/fixtures/index.d.ts.map +1 -1
- package/dest/avm/fixtures/index.js +3 -12
- package/dest/avm/journal/journal.d.ts +2 -1
- package/dest/avm/journal/journal.d.ts.map +1 -1
- package/dest/avm/journal/journal.js +8 -17
- package/dest/avm/journal/trace.d.ts +3 -1
- package/dest/avm/journal/trace.d.ts.map +1 -1
- package/dest/avm/journal/trace.js +11 -1
- package/dest/avm/journal/trace_types.d.ts +4 -0
- package/dest/avm/journal/trace_types.d.ts.map +1 -1
- package/dest/avm/journal/trace_types.js +1 -1
- package/dest/avm/opcodes/arithmetic.d.ts.map +1 -1
- package/dest/avm/opcodes/arithmetic.js +1 -1
- package/dest/avm/opcodes/context_getters.d.ts +0 -5
- package/dest/avm/opcodes/context_getters.d.ts.map +1 -1
- package/dest/avm/opcodes/context_getters.js +1 -8
- package/dest/avm/opcodes/contract.d.ts.map +1 -1
- package/dest/avm/opcodes/contract.js +1 -3
- package/dest/avm/opcodes/environment_getters.d.ts +0 -15
- package/dest/avm/opcodes/environment_getters.d.ts.map +1 -1
- package/dest/avm/opcodes/environment_getters.js +1 -35
- package/dest/avm/opcodes/external_calls.d.ts.map +1 -1
- package/dest/avm/opcodes/external_calls.js +5 -6
- package/dest/avm/opcodes/memory.d.ts.map +1 -1
- package/dest/avm/opcodes/memory.js +3 -3
- package/dest/avm/opcodes/storage.d.ts.map +1 -1
- package/dest/avm/opcodes/storage.js +1 -1
- package/dest/avm/serialization/bytecode_serialization.d.ts.map +1 -1
- package/dest/avm/serialization/bytecode_serialization.js +3 -8
- package/dest/avm/serialization/instruction_serialization.d.ts +42 -47
- package/dest/avm/serialization/instruction_serialization.d.ts.map +1 -1
- package/dest/avm/serialization/instruction_serialization.js +43 -48
- package/dest/client/client_execution_context.d.ts +13 -16
- package/dest/client/client_execution_context.d.ts.map +1 -1
- package/dest/client/client_execution_context.js +36 -34
- package/dest/client/db_oracle.d.ts +13 -17
- package/dest/client/db_oracle.d.ts.map +1 -1
- package/dest/client/db_oracle.js +1 -1
- package/dest/client/execution_note_cache.d.ts +6 -2
- package/dest/client/execution_note_cache.d.ts.map +1 -1
- package/dest/client/execution_note_cache.js +10 -7
- package/dest/client/execution_result.d.ts +10 -5
- package/dest/client/execution_result.d.ts.map +1 -1
- package/dest/client/execution_result.js +7 -1
- package/dest/client/private_execution.d.ts.map +1 -1
- package/dest/client/private_execution.js +4 -10
- package/dest/client/simulator.d.ts +1 -3
- package/dest/client/simulator.d.ts.map +1 -1
- package/dest/client/simulator.js +5 -9
- package/dest/client/view_data_oracle.d.ts +14 -11
- package/dest/client/view_data_oracle.d.ts.map +1 -1
- package/dest/client/view_data_oracle.js +17 -14
- package/dest/mocks/fixtures.d.ts +1 -1
- package/dest/mocks/fixtures.d.ts.map +1 -1
- package/dest/mocks/fixtures.js +9 -5
- package/dest/public/abstract_phase_manager.d.ts +4 -4
- package/dest/public/abstract_phase_manager.d.ts.map +1 -1
- package/dest/public/abstract_phase_manager.js +28 -43
- package/dest/public/app_logic_phase_manager.d.ts +1 -7
- package/dest/public/app_logic_phase_manager.d.ts.map +1 -1
- package/dest/public/app_logic_phase_manager.js +1 -7
- package/dest/public/db.d.ts +6 -7
- package/dest/public/db.d.ts.map +1 -1
- package/dest/public/execution.d.ts +15 -6
- package/dest/public/execution.d.ts.map +1 -1
- package/dest/public/execution.js +7 -9
- package/dest/public/executor.d.ts +2 -2
- package/dest/public/executor.d.ts.map +1 -1
- package/dest/public/executor.js +19 -10
- package/dest/public/hints_builder.d.ts +10 -8
- package/dest/public/hints_builder.d.ts.map +1 -1
- package/dest/public/hints_builder.js +29 -35
- package/dest/public/public_execution_context.d.ts +8 -13
- package/dest/public/public_execution_context.d.ts.map +1 -1
- package/dest/public/public_execution_context.js +12 -29
- package/dest/public/public_executor.d.ts +2 -2
- package/dest/public/public_executor.d.ts.map +1 -1
- package/dest/public/public_executor.js +4 -5
- package/dest/public/public_processor.d.ts +1 -2
- package/dest/public/public_processor.d.ts.map +1 -1
- package/dest/public/public_processor.js +1 -1
- package/dest/public/setup_phase_manager.d.ts +0 -6
- package/dest/public/setup_phase_manager.d.ts.map +1 -1
- package/dest/public/setup_phase_manager.js +1 -7
- package/dest/public/state_actions.d.ts.map +1 -1
- package/dest/public/state_actions.js +3 -1
- package/dest/public/tail_phase_manager.d.ts +3 -6
- package/dest/public/tail_phase_manager.d.ts.map +1 -1
- package/dest/public/tail_phase_manager.js +47 -16
- package/dest/public/teardown_phase_manager.d.ts +3 -7
- package/dest/public/teardown_phase_manager.d.ts.map +1 -1
- package/dest/public/teardown_phase_manager.js +14 -7
- package/dest/public/transitional_adaptors.d.ts +2 -2
- package/dest/public/transitional_adaptors.d.ts.map +1 -1
- package/dest/public/transitional_adaptors.js +19 -21
- package/dest/public/utils.d.ts.map +1 -1
- package/dest/public/utils.js +4 -2
- package/dest/test/utils.d.ts.map +1 -1
- package/dest/test/utils.js +3 -5
- package/package.json +16 -8
- package/src/acvm/oracle/oracle.ts +63 -22
- package/src/acvm/oracle/typed_oracle.ts +23 -27
- package/src/avm/avm_execution_environment.ts +0 -13
- package/src/avm/avm_gas.ts +6 -14
- package/src/avm/avm_machine_state.ts +8 -11
- package/src/avm/avm_simulator.ts +1 -1
- package/src/avm/fixtures/index.ts +2 -24
- package/src/avm/journal/journal.ts +14 -25
- package/src/avm/journal/trace.ts +12 -0
- package/src/avm/journal/trace_types.ts +7 -0
- package/src/avm/opcodes/arithmetic.ts +2 -2
- package/src/avm/opcodes/context_getters.ts +0 -9
- package/src/avm/opcodes/contract.ts +0 -2
- package/src/avm/opcodes/environment_getters.ts +0 -45
- package/src/avm/opcodes/external_calls.ts +5 -6
- package/src/avm/opcodes/memory.ts +5 -5
- package/src/avm/opcodes/storage.ts +1 -1
- package/src/avm/serialization/bytecode_serialization.ts +2 -10
- package/src/avm/serialization/instruction_serialization.ts +1 -6
- package/src/client/client_execution_context.ts +79 -54
- package/src/client/db_oracle.ts +14 -18
- package/src/client/execution_note_cache.ts +16 -7
- package/src/client/execution_result.ts +17 -6
- package/src/client/private_execution.ts +4 -9
- package/src/client/simulator.ts +3 -15
- package/src/client/view_data_oracle.ts +35 -29
- package/src/mocks/fixtures.ts +7 -16
- package/src/public/abstract_phase_manager.ts +45 -56
- package/src/public/app_logic_phase_manager.ts +6 -6
- package/src/public/db.ts +7 -8
- package/src/public/execution.ts +22 -18
- package/src/public/executor.ts +31 -5
- package/src/public/hints_builder.ts +62 -62
- package/src/public/public_execution_context.ts +30 -36
- package/src/public/public_executor.ts +4 -6
- package/src/public/public_processor.ts +1 -1
- package/src/public/setup_phase_manager.ts +6 -6
- package/src/public/state_actions.ts +2 -0
- package/src/public/tail_phase_manager.ts +98 -23
- package/src/public/teardown_phase_manager.ts +24 -6
- package/src/public/transitional_adaptors.ts +25 -19
- package/src/public/utils.ts +3 -1
- package/src/test/utils.ts +2 -4
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// All code in this file needs to die once the public executor is phased out in favor of the AVM.
|
|
2
2
|
import { UnencryptedFunctionL2Logs, UnencryptedL2Log } from '@aztec/circuit-types';
|
|
3
|
-
import { CallContext, ContractStorageRead, ContractStorageUpdateRequest, FunctionData, Gas, L2ToL1Message, ReadRequest, SideEffect,
|
|
3
|
+
import { CallContext, ContractStorageRead, ContractStorageUpdateRequest, FunctionData, Gas, L2ToL1Message, NoteHash, Nullifier, ReadRequest, SideEffect, } from '@aztec/circuits.js';
|
|
4
4
|
import { Fr } from '@aztec/foundation/fields';
|
|
5
5
|
import { AvmExecutionEnvironment } from '../avm/avm_execution_environment.js';
|
|
6
6
|
import { AvmContractCallResults } from '../avm/avm_message_call_result.js';
|
|
@@ -15,24 +15,19 @@ import { PublicExecutionContext } from './public_execution_context.js';
|
|
|
15
15
|
* @param globalVariables
|
|
16
16
|
* @returns
|
|
17
17
|
*/
|
|
18
|
-
export function createAvmExecutionEnvironment(current, header, globalVariables) {
|
|
19
|
-
return new AvmExecutionEnvironment(current.contractAddress, current.callContext.storageContractAddress, current.callContext.msgSender,
|
|
20
|
-
current.callContext.
|
|
21
|
-
/*contractCallDepth=*/ Fr.zero(), header, globalVariables, current.callContext.isStaticCall, current.callContext.isDelegateCall, current.args, current.callContext.gasSettings, current.callContext.transactionFee, current.functionData.selector);
|
|
18
|
+
export function createAvmExecutionEnvironment(current, header, globalVariables, gasSettings, transactionFee) {
|
|
19
|
+
return new AvmExecutionEnvironment(current.contractAddress, current.callContext.storageContractAddress, current.callContext.msgSender, globalVariables.gasFees.feePerL2Gas, globalVariables.gasFees.feePerDaGas,
|
|
20
|
+
/*contractCallDepth=*/ Fr.zero(), header, globalVariables, current.callContext.isStaticCall, current.callContext.isDelegateCall, current.args, gasSettings, transactionFee, current.functionData.selector);
|
|
22
21
|
}
|
|
23
22
|
export function createPublicExecutionContext(avmContext, calldata) {
|
|
24
23
|
const sideEffectCounter = avmContext.persistableState.trace.accessCounter;
|
|
25
24
|
const callContext = CallContext.from({
|
|
26
25
|
msgSender: avmContext.environment.sender,
|
|
27
26
|
storageContractAddress: avmContext.environment.storageAddress,
|
|
28
|
-
portalContractAddress: avmContext.environment.portal,
|
|
29
27
|
functionSelector: avmContext.environment.temporaryFunctionSelector,
|
|
30
|
-
gasLeft: Gas.from(avmContext.machineState.gasLeft),
|
|
31
28
|
isDelegateCall: avmContext.environment.isDelegateCall,
|
|
32
29
|
isStaticCall: avmContext.environment.isStaticCall,
|
|
33
30
|
sideEffectCounter: sideEffectCounter,
|
|
34
|
-
gasSettings: avmContext.environment.gasSettings,
|
|
35
|
-
transactionFee: avmContext.environment.transactionFee,
|
|
36
31
|
});
|
|
37
32
|
const functionData = new FunctionData(avmContext.environment.temporaryFunctionSelector, /*isPrivate=*/ false);
|
|
38
33
|
const execution = {
|
|
@@ -42,7 +37,7 @@ export function createPublicExecutionContext(avmContext, calldata) {
|
|
|
42
37
|
functionData,
|
|
43
38
|
};
|
|
44
39
|
const packedArgs = PackedValuesCache.create([]);
|
|
45
|
-
const context = new PublicExecutionContext(execution, avmContext.environment.header, avmContext.environment.globals, packedArgs, new SideEffectCounter(sideEffectCounter), avmContext.persistableState.hostStorage.publicStateDb, avmContext.persistableState.hostStorage.contractsDb, avmContext.persistableState.hostStorage.commitmentsDb);
|
|
40
|
+
const context = new PublicExecutionContext(execution, avmContext.environment.header, avmContext.environment.globals, packedArgs, new SideEffectCounter(sideEffectCounter), avmContext.persistableState.hostStorage.publicStateDb, avmContext.persistableState.hostStorage.contractsDb, avmContext.persistableState.hostStorage.commitmentsDb, Gas.from(avmContext.machineState.gasLeft), avmContext.environment.transactionFee, avmContext.environment.gasSettings);
|
|
46
41
|
return context;
|
|
47
42
|
}
|
|
48
43
|
/**
|
|
@@ -55,25 +50,25 @@ export function createPublicExecutionContext(avmContext, calldata) {
|
|
|
55
50
|
*/
|
|
56
51
|
export async function convertAvmResults(executionContext, newWorldState, result, endMachineState) {
|
|
57
52
|
const execution = executionContext.execution;
|
|
58
|
-
const contractStorageReads = newWorldState.storageReads.map(read => new ContractStorageRead(read.slot, read.value, read.counter.toNumber()));
|
|
59
|
-
const contractStorageUpdateRequests = newWorldState.storageWrites.map(write => new ContractStorageUpdateRequest(write.slot, write.value, write.counter.toNumber()));
|
|
53
|
+
const contractStorageReads = newWorldState.storageReads.map(read => new ContractStorageRead(read.slot, read.value, read.counter.toNumber(), read.storageAddress));
|
|
54
|
+
const contractStorageUpdateRequests = newWorldState.storageWrites.map(write => new ContractStorageUpdateRequest(write.slot, write.value, write.counter.toNumber(), write.storageAddress));
|
|
60
55
|
// We need to write the storage updates to the DB, because that's what the ACVM expects.
|
|
61
56
|
// Assumes the updates are in the right order.
|
|
62
57
|
for (const write of newWorldState.storageWrites) {
|
|
63
58
|
await executionContext.stateDb.storageWrite(write.storageAddress, write.slot, write.value);
|
|
64
59
|
}
|
|
65
|
-
const newNoteHashes = newWorldState.newNoteHashes.map(noteHash => new
|
|
60
|
+
const newNoteHashes = newWorldState.newNoteHashes.map(noteHash => new NoteHash(noteHash.noteHash, noteHash.counter.toNumber()));
|
|
66
61
|
const nullifierReadRequests = newWorldState.nullifierChecks
|
|
67
62
|
.filter(nullifierCheck => nullifierCheck.exists)
|
|
68
63
|
.map(nullifierCheck => new ReadRequest(nullifierCheck.nullifier, nullifierCheck.counter.toNumber()));
|
|
69
64
|
const nullifierNonExistentReadRequests = newWorldState.nullifierChecks
|
|
70
65
|
.filter(nullifierCheck => !nullifierCheck.exists)
|
|
71
66
|
.map(nullifierCheck => new ReadRequest(nullifierCheck.nullifier, nullifierCheck.counter.toNumber()));
|
|
72
|
-
const newNullifiers = newWorldState.newNullifiers.map(tracedNullifier => new
|
|
73
|
-
/*value=*/ tracedNullifier.nullifier,
|
|
74
|
-
/*noteHash=*/ Fr.ZERO
|
|
75
|
-
tracedNullifier.counter));
|
|
67
|
+
const newNullifiers = newWorldState.newNullifiers.map(tracedNullifier => new Nullifier(
|
|
68
|
+
/*value=*/ tracedNullifier.nullifier, tracedNullifier.counter.toNumber(),
|
|
69
|
+
/*noteHash=*/ Fr.ZERO));
|
|
76
70
|
const unencryptedLogs = new UnencryptedFunctionL2Logs(newWorldState.newLogs.map(log => new UnencryptedL2Log(log.contractAddress, log.selector, log.data)));
|
|
71
|
+
const unencryptedLogsHashes = newWorldState.newLogsHashes.map(logHash => new SideEffect(logHash.logHash, logHash.counter));
|
|
77
72
|
const newL2ToL1Messages = newWorldState.newL1Messages.map(m => new L2ToL1Message(m.recipient, m.content));
|
|
78
73
|
const returnValues = result.output;
|
|
79
74
|
// TODO: Support nested executions.
|
|
@@ -94,10 +89,13 @@ export async function convertAvmResults(executionContext, newWorldState, result,
|
|
|
94
89
|
contractStorageUpdateRequests,
|
|
95
90
|
returnValues,
|
|
96
91
|
nestedExecutions,
|
|
92
|
+
unencryptedLogsHashes,
|
|
97
93
|
unencryptedLogs,
|
|
98
94
|
reverted: result.reverted,
|
|
99
95
|
revertReason: result.revertReason ? createSimulationError(result.revertReason) : undefined,
|
|
100
|
-
|
|
96
|
+
startGasLeft: executionContext.availableGas,
|
|
97
|
+
endGasLeft: endMachineState.gasLeft,
|
|
98
|
+
transactionFee: executionContext.transactionFee,
|
|
101
99
|
};
|
|
102
100
|
}
|
|
103
101
|
export function convertPublicExecutionResult(res) {
|
|
@@ -129,14 +127,14 @@ export function updateAvmContextFromPublicExecutionResult(ctx, result) {
|
|
|
129
127
|
ctx.persistableState.trace.newNullifiers.push({
|
|
130
128
|
storageAddress: ctx.environment.storageAddress,
|
|
131
129
|
nullifier: nullifier.value,
|
|
132
|
-
counter: nullifier.counter,
|
|
130
|
+
counter: new Fr(nullifier.counter),
|
|
133
131
|
});
|
|
134
132
|
}
|
|
135
133
|
for (const noteHash of result.newNoteHashes) {
|
|
136
134
|
ctx.persistableState.trace.newNoteHashes.push({
|
|
137
135
|
storageAddress: ctx.environment.storageAddress,
|
|
138
136
|
noteHash: noteHash.value,
|
|
139
|
-
counter: noteHash.counter,
|
|
137
|
+
counter: new Fr(noteHash.counter),
|
|
140
138
|
});
|
|
141
139
|
}
|
|
142
140
|
for (const message of result.newL2ToL1Messages) {
|
|
@@ -159,4 +157,4 @@ export function isAvmBytecode(bytecode) {
|
|
|
159
157
|
const magicSize = AVM_MAGIC_SUFFIX.length;
|
|
160
158
|
return bytecode.subarray(-magicSize).equals(AVM_MAGIC_SUFFIX);
|
|
161
159
|
}
|
|
162
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
160
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNpdGlvbmFsX2FkYXB0b3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3B1YmxpYy90cmFuc2l0aW9uYWxfYWRhcHRvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaUdBQWlHO0FBQ2pHLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ25GLE9BQU8sRUFDTCxXQUFXLEVBQ1gsbUJBQW1CLEVBQ25CLDRCQUE0QixFQUM1QixZQUFZLEVBQ1osR0FBRyxFQUlILGFBQWEsRUFDYixRQUFRLEVBQ1IsU0FBUyxFQUNULFdBQVcsRUFDWCxVQUFVLEdBQ1gsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFHOUMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFFOUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFM0UsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzVELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVuRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUV2RTs7Ozs7O0dBTUc7QUFDSCxNQUFNLFVBQVUsNkJBQTZCLENBQzNDLE9BQXdCLEVBQ3hCLE1BQWMsRUFDZCxlQUFnQyxFQUNoQyxXQUF3QixFQUN4QixjQUFrQjtJQUVsQixPQUFPLElBQUksdUJBQXVCLENBQ2hDLE9BQU8sQ0FBQyxlQUFlLEVBQ3ZCLE9BQU8sQ0FBQyxXQUFXLENBQUMsc0JBQXNCLEVBQzFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsU0FBUyxFQUM3QixlQUFlLENBQUMsT0FBTyxDQUFD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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/public/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,sBAAsB,CAAC;AAG/C;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,EAAE,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/public/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,sBAAsB,CAAC;AAG/C;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,EAAE,GAAG,MAAM,CAwBpD"}
|
package/dest/public/utils.js
CHANGED
|
@@ -12,6 +12,7 @@ export function lastSideEffectCounter(tx) {
|
|
|
12
12
|
...data.endNonRevertibleData.publicCallStack,
|
|
13
13
|
...data.end.newNoteHashes,
|
|
14
14
|
...data.end.newNullifiers,
|
|
15
|
+
...data.end.unencryptedLogsHashes,
|
|
15
16
|
...data.end.publicCallStack,
|
|
16
17
|
];
|
|
17
18
|
let max = 0;
|
|
@@ -21,9 +22,10 @@ export function lastSideEffectCounter(tx) {
|
|
|
21
22
|
max = Math.max(max, sideEffect.startSideEffectCounter.toNumber(), sideEffect.endSideEffectCounter.toNumber());
|
|
22
23
|
}
|
|
23
24
|
else {
|
|
24
|
-
|
|
25
|
+
const counter = typeof sideEffect.counter === 'number' ? sideEffect.counter : sideEffect.counter.toNumber();
|
|
26
|
+
max = Math.max(max, counter);
|
|
25
27
|
}
|
|
26
28
|
}
|
|
27
29
|
return max;
|
|
28
30
|
}
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHVibGljL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVqRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLHFCQUFxQixDQUFDLEVBQU07SUFDMUMsTUFBTSxJQUFJLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFVLENBQUM7SUFDaEMsTUFBTSxrQkFBa0IsR0FBRztRQUN6QixHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxhQUFhO1FBQzFDLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLGFBQWE7UUFDMUMsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsZUFBZTtRQUM1QyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYTtRQUN6QixHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYTtRQUN6QixHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMscUJBQXFCO1FBQ2pDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxlQUFlO0tBQzVCLENBQUM7SUFFRixJQUFJLEdBQUcsR0FBRyxDQUFDLENBQUM7SUFDWixLQUFLLE1BQU0sVUFBVSxJQUFJLGtCQUFrQixFQUFFLENBQUM7UUFDNUMsSUFBSSxVQUFVLFlBQVksV0FBVyxFQUFFLENBQUM7WUFDdEMsa0dBQWtHO1lBQ2xHLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxVQUFVLENBQUMsc0JBQXNCLENBQUMsUUFBUSxFQUFFLEVBQUUsVUFBVSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDaEgsQ0FBQzthQUFNLENBQUM7WUFDTixNQUFNLE9BQU8sR0FBRyxPQUFPLFVBQVUsQ0FBQyxPQUFPLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQzVHLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUMvQixDQUFDO0lBQ0gsQ0FBQztJQUVELE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQyJ9
|
package/dest/test/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/test/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,aAAa,EAAW,MAAM,sBAAsB,CAAC;AACvE,OAAO,EAAE,KAAK,YAAY,EAAc,KAAK,EAAE,EAAE,MAAM,oBAAoB,CAAC;AAI5E;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,aACnB,MAAM,mBACC,EAAE,EAAE,kBACL,YAAY,UACpB,EAAE,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/test/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,aAAa,EAAW,MAAM,sBAAsB,CAAC;AACvE,OAAO,EAAE,KAAK,YAAY,EAAc,KAAK,EAAE,EAAE,MAAM,oBAAoB,CAAC;AAI5E;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,aACnB,MAAM,mBACC,EAAE,EAAE,kBACL,YAAY,UACpB,EAAE,kBASX,CAAC"}
|
package/dest/test/utils.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { L1Actor, L1ToL2Message, L2Actor } from '@aztec/circuit-types';
|
|
2
2
|
import { EthAddress } from '@aztec/circuits.js';
|
|
3
|
-
import {
|
|
3
|
+
import { computeSecretHash } from '@aztec/circuits.js/hash';
|
|
4
4
|
import { sha256ToField } from '@aztec/foundation/crypto';
|
|
5
5
|
/**
|
|
6
6
|
* Test utility function to craft an L1 to L2 message.
|
|
@@ -14,9 +14,7 @@ export const buildL1ToL2Message = (selector, contentPreimage, targetContract, se
|
|
|
14
14
|
// Write the selector into a buffer.
|
|
15
15
|
const selectorBuf = Buffer.from(selector, 'hex');
|
|
16
16
|
const content = sha256ToField([selectorBuf, ...contentPreimage]);
|
|
17
|
-
const secretHash =
|
|
18
|
-
// Eventually the kernel will need to prove the kernel portal pair exists within the contract tree,
|
|
19
|
-
// EthAddress.random() will need to be replaced when this happens
|
|
17
|
+
const secretHash = computeSecretHash(secret);
|
|
20
18
|
return new L1ToL2Message(new L1Actor(EthAddress.random(), 1), new L2Actor(targetContract, 1), content, secretHash);
|
|
21
19
|
};
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGVzdC91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN2RSxPQUFPLEVBQXFCLFVBQVUsRUFBVyxNQUFNLG9CQUFvQixDQUFDO0FBQzVFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzVELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUV6RDs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsQ0FDaEMsUUFBZ0IsRUFDaEIsZUFBcUIsRUFDckIsY0FBNEIsRUFDNUIsTUFBVSxFQUNWLEVBQUU7SUFDRixvQ0FBb0M7SUFDcEMsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFFakQsTUFBTSxPQUFPLEdBQUcsYUFBYSxDQUFDLENBQUMsV0FBVyxFQUFFLEdBQUcsZUFBZSxDQUFDLENBQUMsQ0FBQztJQUNqRSxNQUFNLFVBQVUsR0FBRyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUU3QyxPQUFPLElBQUksYUFBYSxDQUFDLElBQUksT0FBTyxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJLE9BQU8sQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLEVBQUUsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUFDO0FBQ3JILENBQUMsQ0FBQyJ9
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/simulator",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.37.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": "./dest/index.js",
|
|
6
6
|
"typedocOptions": {
|
|
@@ -34,16 +34,24 @@
|
|
|
34
34
|
},
|
|
35
35
|
"extensionsToTreatAsEsm": [
|
|
36
36
|
".ts"
|
|
37
|
+
],
|
|
38
|
+
"reporters": [
|
|
39
|
+
[
|
|
40
|
+
"default",
|
|
41
|
+
{
|
|
42
|
+
"summaryThreshold": 9999
|
|
43
|
+
}
|
|
44
|
+
]
|
|
37
45
|
]
|
|
38
46
|
},
|
|
39
47
|
"dependencies": {
|
|
40
|
-
"@aztec/circuit-types": "0.
|
|
41
|
-
"@aztec/circuits.js": "0.
|
|
42
|
-
"@aztec/foundation": "0.
|
|
43
|
-
"@aztec/noir-protocol-circuits-types": "0.
|
|
44
|
-
"@aztec/protocol-contracts": "0.
|
|
45
|
-
"@aztec/types": "0.
|
|
46
|
-
"@aztec/world-state": "0.
|
|
48
|
+
"@aztec/circuit-types": "0.37.0",
|
|
49
|
+
"@aztec/circuits.js": "0.37.0",
|
|
50
|
+
"@aztec/foundation": "0.37.0",
|
|
51
|
+
"@aztec/noir-protocol-circuits-types": "0.37.0",
|
|
52
|
+
"@aztec/protocol-contracts": "0.37.0",
|
|
53
|
+
"@aztec/types": "0.37.0",
|
|
54
|
+
"@aztec/world-state": "0.37.0",
|
|
47
55
|
"@noir-lang/acvm_js": "portal:../../noir/packages/acvm_js",
|
|
48
56
|
"@noir-lang/types": "portal:../../noir/packages/types",
|
|
49
57
|
"levelup": "^5.1.1",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { MerkleTreeId, UnencryptedL2Log } from '@aztec/circuit-types';
|
|
2
|
-
import { acvmFieldMessageToString, oracleDebugCallToFormattedStr } from '@aztec/circuits.js';
|
|
2
|
+
import { type PartialAddress, acvmFieldMessageToString, oracleDebugCallToFormattedStr } from '@aztec/circuits.js';
|
|
3
3
|
import { EventSelector, FunctionSelector } from '@aztec/foundation/abi';
|
|
4
4
|
import { AztecAddress } from '@aztec/foundation/aztec-address';
|
|
5
5
|
import { Fr, Point } from '@aztec/foundation/fields';
|
|
@@ -21,8 +21,13 @@ export class Oracle {
|
|
|
21
21
|
return toACVMField(val);
|
|
22
22
|
}
|
|
23
23
|
|
|
24
|
-
async
|
|
25
|
-
const packed = await this.typedOracle.
|
|
24
|
+
async packArgumentsArray(args: ACVMField[]): Promise<ACVMField> {
|
|
25
|
+
const packed = await this.typedOracle.packArgumentsArray(args.map(fromACVMField));
|
|
26
|
+
return toACVMField(packed);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
async packArguments(_length: ACVMField[], values: ACVMField[]): Promise<ACVMField> {
|
|
30
|
+
const packed = await this.typedOracle.packArgumentsArray(values.map(fromACVMField));
|
|
26
31
|
return toACVMField(packed);
|
|
27
32
|
}
|
|
28
33
|
|
|
@@ -37,16 +42,18 @@ export class Oracle {
|
|
|
37
42
|
return unpacked.map(toACVMField);
|
|
38
43
|
}
|
|
39
44
|
|
|
40
|
-
async
|
|
41
|
-
const {
|
|
45
|
+
async getNullifierKeys([accountAddress]: ACVMField[]): Promise<ACVMField[]> {
|
|
46
|
+
const { masterNullifierPublicKey, appNullifierSecretKey } = await this.typedOracle.getNullifierKeys(
|
|
47
|
+
fromACVMField(accountAddress),
|
|
48
|
+
);
|
|
42
49
|
return [
|
|
43
|
-
toACVMField(
|
|
44
|
-
toACVMField(
|
|
45
|
-
toACVMField(
|
|
46
|
-
toACVMField(secretKey.low),
|
|
50
|
+
toACVMField(masterNullifierPublicKey.x),
|
|
51
|
+
toACVMField(masterNullifierPublicKey.y),
|
|
52
|
+
toACVMField(appNullifierSecretKey),
|
|
47
53
|
];
|
|
48
54
|
}
|
|
49
55
|
|
|
56
|
+
// TODO: #5834 Nuke this
|
|
50
57
|
async getPublicKeyAndPartialAddress([address]: ACVMField[]) {
|
|
51
58
|
const { publicKey, partialAddress } = await this.typedOracle.getCompleteAddress(
|
|
52
59
|
AztecAddress.fromField(fromACVMField(address)),
|
|
@@ -62,7 +69,6 @@ export class Oracle {
|
|
|
62
69
|
instance.deployer,
|
|
63
70
|
instance.contractClassId,
|
|
64
71
|
instance.initializationHash,
|
|
65
|
-
instance.portalContractAddress,
|
|
66
72
|
instance.publicKeysHash,
|
|
67
73
|
].map(toACVMField);
|
|
68
74
|
}
|
|
@@ -166,6 +172,28 @@ export class Oracle {
|
|
|
166
172
|
return capsule.map(toACVMField);
|
|
167
173
|
}
|
|
168
174
|
|
|
175
|
+
async getPublicKeysAndPartialAddress([address]: ACVMField[]): Promise<ACVMField[]> {
|
|
176
|
+
let publicKeys: Point[] | undefined;
|
|
177
|
+
let partialAddress: PartialAddress;
|
|
178
|
+
|
|
179
|
+
// TODO #5834: This should be reworked to return the public keys as well
|
|
180
|
+
try {
|
|
181
|
+
({ partialAddress } = await this.typedOracle.getCompleteAddress(AztecAddress.fromField(fromACVMField(address))));
|
|
182
|
+
} catch (err) {
|
|
183
|
+
partialAddress = Fr.ZERO;
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
try {
|
|
187
|
+
publicKeys = await this.typedOracle.getPublicKeysForAddress(AztecAddress.fromField(fromACVMField(address)));
|
|
188
|
+
} catch (err) {
|
|
189
|
+
publicKeys = Array(4).fill(Point.ZERO);
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
const acvmPublicKeys = publicKeys.flatMap(key => key.toFields());
|
|
193
|
+
|
|
194
|
+
return [...acvmPublicKeys, partialAddress].map(toACVMField);
|
|
195
|
+
}
|
|
196
|
+
|
|
169
197
|
async getNotes(
|
|
170
198
|
[storageSlot]: ACVMField[],
|
|
171
199
|
[numSelects]: ACVMField[],
|
|
@@ -233,18 +261,24 @@ export class Oracle {
|
|
|
233
261
|
[noteTypeId]: ACVMField[],
|
|
234
262
|
note: ACVMField[],
|
|
235
263
|
[innerNoteHash]: ACVMField[],
|
|
264
|
+
[counter]: ACVMField[],
|
|
236
265
|
): ACVMField {
|
|
237
266
|
this.typedOracle.notifyCreatedNote(
|
|
238
267
|
fromACVMField(storageSlot),
|
|
239
268
|
fromACVMField(noteTypeId),
|
|
240
269
|
note.map(fromACVMField),
|
|
241
270
|
fromACVMField(innerNoteHash),
|
|
271
|
+
+counter,
|
|
242
272
|
);
|
|
243
273
|
return toACVMField(0);
|
|
244
274
|
}
|
|
245
275
|
|
|
246
|
-
async notifyNullifiedNote(
|
|
247
|
-
|
|
276
|
+
async notifyNullifiedNote(
|
|
277
|
+
[innerNullifier]: ACVMField[],
|
|
278
|
+
[innerNoteHash]: ACVMField[],
|
|
279
|
+
[counter]: ACVMField[],
|
|
280
|
+
): Promise<ACVMField> {
|
|
281
|
+
await this.typedOracle.notifyNullifiedNote(fromACVMField(innerNullifier), fromACVMField(innerNoteHash), +counter);
|
|
248
282
|
return toACVMField(0);
|
|
249
283
|
}
|
|
250
284
|
|
|
@@ -266,12 +300,6 @@ export class Oracle {
|
|
|
266
300
|
return message.toFields().map(toACVMField);
|
|
267
301
|
}
|
|
268
302
|
|
|
269
|
-
async getPortalContractAddress([aztecAddress]: ACVMField[]): Promise<ACVMField> {
|
|
270
|
-
const contractAddress = AztecAddress.fromString(aztecAddress);
|
|
271
|
-
const portalContactAddress = await this.typedOracle.getPortalContractAddress(contractAddress);
|
|
272
|
-
return toACVMField(portalContactAddress);
|
|
273
|
-
}
|
|
274
|
-
|
|
275
303
|
async storageRead([startStorageSlot]: ACVMField[], [numberOfElements]: ACVMField[]): Promise<ACVMField[]> {
|
|
276
304
|
const values = await this.typedOracle.storageRead(fromACVMField(startStorageSlot), +numberOfElements);
|
|
277
305
|
return values.map(toACVMField);
|
|
@@ -291,14 +319,14 @@ export class Oracle {
|
|
|
291
319
|
log: ACVMField[],
|
|
292
320
|
): ACVMField {
|
|
293
321
|
const publicKey = new Point(fromACVMField(publicKeyX), fromACVMField(publicKeyY));
|
|
294
|
-
this.typedOracle.emitEncryptedLog(
|
|
322
|
+
const logHash = this.typedOracle.emitEncryptedLog(
|
|
295
323
|
AztecAddress.fromString(contractAddress),
|
|
296
324
|
Fr.fromString(storageSlot),
|
|
297
325
|
Fr.fromString(noteTypeId),
|
|
298
326
|
publicKey,
|
|
299
327
|
log.map(fromACVMField),
|
|
300
328
|
);
|
|
301
|
-
return toACVMField(
|
|
329
|
+
return toACVMField(logHash);
|
|
302
330
|
}
|
|
303
331
|
|
|
304
332
|
emitUnencryptedLog([contractAddress]: ACVMField[], [eventSelector]: ACVMField[], message: ACVMField[]): ACVMField {
|
|
@@ -309,8 +337,8 @@ export class Oracle {
|
|
|
309
337
|
logPayload,
|
|
310
338
|
);
|
|
311
339
|
|
|
312
|
-
this.typedOracle.emitUnencryptedLog(log);
|
|
313
|
-
return toACVMField(
|
|
340
|
+
const logHash = this.typedOracle.emitUnencryptedLog(log);
|
|
341
|
+
return toACVMField(logHash);
|
|
314
342
|
}
|
|
315
343
|
|
|
316
344
|
debugLog(...args: ACVMField[][]): ACVMField {
|
|
@@ -379,4 +407,17 @@ export class Oracle {
|
|
|
379
407
|
);
|
|
380
408
|
return toAcvmEnqueuePublicFunctionResult(enqueuedRequest);
|
|
381
409
|
}
|
|
410
|
+
|
|
411
|
+
aes128Encrypt(input: ACVMField[], initializationVector: ACVMField[], key: ACVMField[]): ACVMField[] {
|
|
412
|
+
// Convert each field to a number and then to a buffer (1 byte is stored in 1 field)
|
|
413
|
+
const processedInput = Buffer.from(input.map(fromACVMField).map(f => f.toNumber()));
|
|
414
|
+
const processedIV = Buffer.from(initializationVector.map(fromACVMField).map(f => f.toNumber()));
|
|
415
|
+
const processedKey = Buffer.from(key.map(fromACVMField).map(f => f.toNumber()));
|
|
416
|
+
|
|
417
|
+
// Encrypt the input
|
|
418
|
+
const ciphertext = this.typedOracle.aes128Encrypt(processedInput, processedIV, processedKey);
|
|
419
|
+
|
|
420
|
+
// Convert each byte of ciphertext to a field and return it
|
|
421
|
+
return Array.from(ciphertext).map(byte => toACVMField(byte));
|
|
422
|
+
}
|
|
382
423
|
}
|
|
@@ -10,7 +10,6 @@ import {
|
|
|
10
10
|
type UnencryptedL2Log,
|
|
11
11
|
} from '@aztec/circuit-types';
|
|
12
12
|
import {
|
|
13
|
-
type GrumpkinPrivateKey,
|
|
14
13
|
type Header,
|
|
15
14
|
type L1_TO_L2_MSG_TREE_HEIGHT,
|
|
16
15
|
type PrivateCallStackItem,
|
|
@@ -18,22 +17,15 @@ import {
|
|
|
18
17
|
} from '@aztec/circuits.js';
|
|
19
18
|
import { type FunctionSelector } from '@aztec/foundation/abi';
|
|
20
19
|
import { type AztecAddress } from '@aztec/foundation/aztec-address';
|
|
21
|
-
import { type
|
|
22
|
-
import { Fr } from '@aztec/foundation/fields';
|
|
20
|
+
import { Fr, type Point } from '@aztec/foundation/fields';
|
|
23
21
|
import { type ContractInstance } from '@aztec/types/contracts';
|
|
24
22
|
|
|
25
|
-
/**
|
|
26
|
-
|
|
27
|
-
*/
|
|
28
|
-
|
|
29
|
-
/**
|
|
30
|
-
|
|
31
|
-
*/
|
|
32
|
-
publicKey: PublicKey;
|
|
33
|
-
/**
|
|
34
|
-
* Secret Key.
|
|
35
|
-
*/
|
|
36
|
-
secretKey: GrumpkinPrivateKey;
|
|
23
|
+
/** Nullifier keys which both correspond to the same master nullifier secret key. */
|
|
24
|
+
export interface NullifierKeys {
|
|
25
|
+
/** Master nullifier public key. */
|
|
26
|
+
masterNullifierPublicKey: PublicKey;
|
|
27
|
+
/** App nullifier secret key. */
|
|
28
|
+
appNullifierSecretKey: Fr;
|
|
37
29
|
}
|
|
38
30
|
|
|
39
31
|
/**
|
|
@@ -85,8 +77,8 @@ export abstract class TypedOracle {
|
|
|
85
77
|
return Fr.random();
|
|
86
78
|
}
|
|
87
79
|
|
|
88
|
-
|
|
89
|
-
throw new OracleMethodNotAvailableError('
|
|
80
|
+
packArgumentsArray(_args: Fr[]): Promise<Fr> {
|
|
81
|
+
throw new OracleMethodNotAvailableError('packArgumentsArray');
|
|
90
82
|
}
|
|
91
83
|
|
|
92
84
|
packReturns(_returns: Fr[]): Promise<Fr> {
|
|
@@ -97,8 +89,8 @@ export abstract class TypedOracle {
|
|
|
97
89
|
throw new OracleMethodNotAvailableError('unpackReturns');
|
|
98
90
|
}
|
|
99
91
|
|
|
100
|
-
|
|
101
|
-
throw new OracleMethodNotAvailableError('
|
|
92
|
+
getNullifierKeys(_accountAddress: AztecAddress): Promise<NullifierKeys> {
|
|
93
|
+
throw new OracleMethodNotAvailableError('getNullifierKeys');
|
|
102
94
|
}
|
|
103
95
|
|
|
104
96
|
getPublicKeyAndPartialAddress(_address: AztecAddress): Promise<Fr[] | undefined> {
|
|
@@ -148,6 +140,10 @@ export abstract class TypedOracle {
|
|
|
148
140
|
throw new OracleMethodNotAvailableError('popCapsule');
|
|
149
141
|
}
|
|
150
142
|
|
|
143
|
+
getPublicKeysForAddress(_address: AztecAddress): Promise<Point[]> {
|
|
144
|
+
throw new OracleMethodNotAvailableError('getPublicKeysForAddress');
|
|
145
|
+
}
|
|
146
|
+
|
|
151
147
|
getNotes(
|
|
152
148
|
_storageSlot: Fr,
|
|
153
149
|
_numSelects: number,
|
|
@@ -167,11 +163,11 @@ export abstract class TypedOracle {
|
|
|
167
163
|
throw new OracleMethodNotAvailableError('getNotes');
|
|
168
164
|
}
|
|
169
165
|
|
|
170
|
-
notifyCreatedNote(_storageSlot: Fr, _noteTypeId: Fr, _note: Fr[], _innerNoteHash: Fr): void {
|
|
166
|
+
notifyCreatedNote(_storageSlot: Fr, _noteTypeId: Fr, _note: Fr[], _innerNoteHash: Fr, _counter: number): void {
|
|
171
167
|
throw new OracleMethodNotAvailableError('notifyCreatedNote');
|
|
172
168
|
}
|
|
173
169
|
|
|
174
|
-
notifyNullifiedNote(_innerNullifier: Fr, _innerNoteHash: Fr): Promise<void> {
|
|
170
|
+
notifyNullifiedNote(_innerNullifier: Fr, _innerNoteHash: Fr, _counter: number): Promise<void> {
|
|
175
171
|
throw new OracleMethodNotAvailableError('notifyNullifiedNote');
|
|
176
172
|
}
|
|
177
173
|
|
|
@@ -187,10 +183,6 @@ export abstract class TypedOracle {
|
|
|
187
183
|
throw new OracleMethodNotAvailableError('getL1ToL2MembershipWitness');
|
|
188
184
|
}
|
|
189
185
|
|
|
190
|
-
getPortalContractAddress(_contractAddress: AztecAddress): Promise<EthAddress> {
|
|
191
|
-
throw new OracleMethodNotAvailableError('getPortalContractAddress');
|
|
192
|
-
}
|
|
193
|
-
|
|
194
186
|
storageRead(_startStorageSlot: Fr, _numberOfElements: number): Promise<Fr[]> {
|
|
195
187
|
throw new OracleMethodNotAvailableError('storageRead');
|
|
196
188
|
}
|
|
@@ -205,11 +197,11 @@ export abstract class TypedOracle {
|
|
|
205
197
|
_noteTypeId: Fr,
|
|
206
198
|
_publicKey: PublicKey,
|
|
207
199
|
_log: Fr[],
|
|
208
|
-
):
|
|
200
|
+
): Fr {
|
|
209
201
|
throw new OracleMethodNotAvailableError('emitEncryptedLog');
|
|
210
202
|
}
|
|
211
203
|
|
|
212
|
-
emitUnencryptedLog(_log: UnencryptedL2Log):
|
|
204
|
+
emitUnencryptedLog(_log: UnencryptedL2Log): Fr {
|
|
213
205
|
throw new OracleMethodNotAvailableError('emitUnencryptedLog');
|
|
214
206
|
}
|
|
215
207
|
|
|
@@ -245,4 +237,8 @@ export abstract class TypedOracle {
|
|
|
245
237
|
): Promise<PublicCallRequest> {
|
|
246
238
|
throw new OracleMethodNotAvailableError('enqueuePublicFunctionCall');
|
|
247
239
|
}
|
|
240
|
+
|
|
241
|
+
aes128Encrypt(_input: Buffer, _initializationVector: Buffer, _key: Buffer): Buffer {
|
|
242
|
+
throw new OracleMethodNotAvailableError('encrypt');
|
|
243
|
+
}
|
|
248
244
|
}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { FunctionSelector, type GasSettings, type GlobalVariables, type Header } from '@aztec/circuits.js';
|
|
2
2
|
import { computeVarArgsHash } from '@aztec/circuits.js/hash';
|
|
3
3
|
import { type AztecAddress } from '@aztec/foundation/aztec-address';
|
|
4
|
-
import { type EthAddress } from '@aztec/foundation/eth-address';
|
|
5
4
|
import { type Fr } from '@aztec/foundation/fields';
|
|
6
5
|
|
|
7
6
|
export class AvmContextInputs {
|
|
@@ -23,10 +22,7 @@ export class AvmExecutionEnvironment {
|
|
|
23
22
|
constructor(
|
|
24
23
|
public readonly address: AztecAddress,
|
|
25
24
|
public readonly storageAddress: AztecAddress,
|
|
26
|
-
public readonly origin: AztecAddress,
|
|
27
25
|
public readonly sender: AztecAddress,
|
|
28
|
-
public readonly portal: EthAddress,
|
|
29
|
-
public readonly feePerL1Gas: Fr,
|
|
30
26
|
public readonly feePerL2Gas: Fr,
|
|
31
27
|
public readonly feePerDaGas: Fr,
|
|
32
28
|
public readonly contractCallDepth: Fr,
|
|
@@ -57,10 +53,7 @@ export class AvmExecutionEnvironment {
|
|
|
57
53
|
return new AvmExecutionEnvironment(
|
|
58
54
|
targetAddress,
|
|
59
55
|
/*storageAddress=*/ targetAddress,
|
|
60
|
-
this.origin,
|
|
61
56
|
this.address,
|
|
62
|
-
this.portal,
|
|
63
|
-
this.feePerL1Gas,
|
|
64
57
|
this.feePerL2Gas,
|
|
65
58
|
this.feePerDaGas,
|
|
66
59
|
this.contractCallDepth,
|
|
@@ -83,10 +76,7 @@ export class AvmExecutionEnvironment {
|
|
|
83
76
|
return new AvmExecutionEnvironment(
|
|
84
77
|
address,
|
|
85
78
|
/*storageAddress=*/ address,
|
|
86
|
-
this.origin,
|
|
87
79
|
this.sender,
|
|
88
|
-
this.portal,
|
|
89
|
-
this.feePerL1Gas,
|
|
90
80
|
this.feePerL2Gas,
|
|
91
81
|
this.feePerDaGas,
|
|
92
82
|
this.contractCallDepth,
|
|
@@ -109,10 +99,7 @@ export class AvmExecutionEnvironment {
|
|
|
109
99
|
return new AvmExecutionEnvironment(
|
|
110
100
|
address,
|
|
111
101
|
this.storageAddress,
|
|
112
|
-
this.origin,
|
|
113
102
|
this.sender,
|
|
114
|
-
this.portal,
|
|
115
|
-
this.feePerL1Gas,
|
|
116
103
|
this.feePerL2Gas,
|
|
117
104
|
this.feePerDaGas,
|
|
118
105
|
this.contractCallDepth,
|