@aztec/simulator 0.44.0 → 0.45.1
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 +3 -3
- package/dest/acvm/oracle/oracle.d.ts.map +1 -1
- package/dest/acvm/oracle/oracle.js +8 -8
- package/dest/acvm/oracle/typed_oracle.d.ts +1 -1
- package/dest/acvm/oracle/typed_oracle.d.ts.map +1 -1
- package/dest/acvm/oracle/typed_oracle.js +2 -2
- package/dest/avm/avm_context.d.ts +1 -1
- package/dest/avm/avm_context.d.ts.map +1 -1
- package/dest/avm/avm_context.js +3 -3
- package/dest/avm/{avm_message_call_result.d.ts → avm_contract_call_result.d.ts} +2 -2
- package/dest/avm/avm_contract_call_result.d.ts.map +1 -0
- package/dest/avm/avm_contract_call_result.js +18 -0
- package/dest/avm/avm_execution_environment.d.ts +7 -11
- package/dest/avm/avm_execution_environment.d.ts.map +1 -1
- package/dest/avm/avm_execution_environment.js +11 -20
- package/dest/avm/avm_gas.js +2 -2
- package/dest/avm/avm_simulator.d.ts +4 -4
- package/dest/avm/avm_simulator.d.ts.map +1 -1
- package/dest/avm/avm_simulator.js +7 -7
- package/dest/avm/bytecode_utils.d.ts +5 -0
- package/dest/avm/bytecode_utils.d.ts.map +1 -0
- package/dest/avm/bytecode_utils.js +29 -0
- package/dest/avm/errors.js +2 -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 +5 -5
- package/dest/avm/journal/journal.d.ts.map +1 -1
- package/dest/avm/journal/journal.js +9 -7
- package/dest/avm/journal/public_storage.d.ts +1 -1
- package/dest/avm/journal/public_storage.d.ts.map +1 -1
- package/dest/avm/journal/public_storage.js +2 -2
- package/dest/avm/opcodes/accrued_substate.d.ts +1 -2
- package/dest/avm/opcodes/accrued_substate.d.ts.map +1 -1
- package/dest/avm/opcodes/accrued_substate.js +6 -15
- package/dest/avm/opcodes/environment_getters.d.ts +13 -8
- package/dest/avm/opcodes/environment_getters.d.ts.map +1 -1
- package/dest/avm/opcodes/environment_getters.js +20 -13
- package/dest/avm/opcodes/external_calls.d.ts.map +1 -1
- package/dest/avm/opcodes/external_calls.js +1 -2
- package/dest/avm/serialization/bytecode_serialization.d.ts.map +1 -1
- package/dest/avm/serialization/bytecode_serialization.js +5 -5
- package/dest/avm/serialization/instruction_serialization.d.ts +9 -9
- package/dest/avm/serialization/instruction_serialization.d.ts.map +1 -1
- package/dest/avm/serialization/instruction_serialization.js +10 -10
- package/dest/client/client_execution_context.d.ts +3 -1
- package/dest/client/client_execution_context.d.ts.map +1 -1
- package/dest/client/client_execution_context.js +9 -7
- package/dest/client/view_data_oracle.d.ts +3 -1
- package/dest/client/view_data_oracle.d.ts.map +1 -1
- package/dest/client/view_data_oracle.js +6 -4
- package/dest/mocks/fixtures.d.ts +3 -3
- package/dest/mocks/fixtures.d.ts.map +1 -1
- package/dest/mocks/fixtures.js +7 -7
- package/dest/public/abstract_phase_manager.js +21 -21
- package/dest/public/execution.d.ts +10 -9
- package/dest/public/execution.d.ts.map +1 -1
- package/dest/public/execution.js +6 -6
- package/dest/public/executor.d.ts +4 -4
- package/dest/public/executor.d.ts.map +1 -1
- package/dest/public/executor.js +19 -14
- package/dest/public/hints_builder.d.ts +3 -3
- package/dest/public/hints_builder.d.ts.map +1 -1
- package/dest/public/hints_builder.js +1 -1
- package/dest/public/index.d.ts +1 -1
- package/dest/public/index.d.ts.map +1 -1
- package/dest/public/index.js +1 -1
- package/dest/public/public_kernel.d.ts +1 -1
- package/dest/public/public_kernel.d.ts.map +1 -1
- package/dest/public/public_kernel.js +2 -2
- package/dest/public/side_effect_trace.d.ts +7 -6
- package/dest/public/side_effect_trace.d.ts.map +1 -1
- package/dest/public/side_effect_trace.js +32 -18
- package/dest/public/side_effect_trace_interface.d.ts +3 -3
- package/dest/public/side_effect_trace_interface.d.ts.map +1 -1
- package/dest/public/tail_phase_manager.js +3 -3
- package/dest/rollup/rollup.d.ts +1 -1
- package/dest/rollup/rollup.d.ts.map +1 -1
- package/dest/rollup/rollup.js +2 -2
- package/package.json +9 -9
- package/src/acvm/oracle/oracle.ts +16 -20
- package/src/acvm/oracle/typed_oracle.ts +6 -1
- package/src/avm/avm_context.ts +2 -2
- package/src/avm/{avm_message_call_result.ts → avm_contract_call_result.ts} +1 -1
- package/src/avm/avm_execution_environment.ts +10 -27
- package/src/avm/avm_gas.ts +1 -1
- package/src/avm/avm_simulator.ts +9 -11
- package/src/avm/bytecode_utils.ts +32 -0
- package/src/avm/errors.ts +1 -1
- package/src/avm/fixtures/index.ts +3 -6
- package/src/avm/journal/journal.ts +14 -11
- package/src/avm/journal/public_storage.ts +2 -2
- package/src/avm/opcodes/accrued_substate.ts +6 -19
- package/src/avm/opcodes/environment_getters.ts +23 -14
- package/src/avm/opcodes/external_calls.ts +2 -3
- package/src/avm/serialization/bytecode_serialization.ts +4 -3
- package/src/avm/serialization/instruction_serialization.ts +3 -3
- package/src/client/client_execution_context.ts +15 -6
- package/src/client/view_data_oracle.ts +12 -3
- package/src/mocks/fixtures.ts +8 -8
- package/src/public/abstract_phase_manager.ts +26 -26
- package/src/public/execution.ts +19 -15
- package/src/public/executor.ts +35 -20
- package/src/public/hints_builder.ts +3 -3
- package/src/public/index.ts +1 -1
- package/src/public/public_kernel.ts +2 -1
- package/src/public/side_effect_trace.ts +40 -22
- package/src/public/side_effect_trace_interface.ts +3 -3
- package/src/public/tail_phase_manager.ts +4 -4
- package/src/rollup/rollup.ts +3 -1
- package/dest/avm/avm_message_call_result.d.ts.map +0 -1
- package/dest/avm/avm_message_call_result.js +0 -18
- package/dest/public/transitional_adaptors.d.ts +0 -17
- package/dest/public/transitional_adaptors.d.ts.map +0 -1
- package/dest/public/transitional_adaptors.js +0 -42
- package/src/public/transitional_adaptors.ts +0 -70
package/dest/mocks/fixtures.js
CHANGED
|
@@ -4,14 +4,14 @@ import { makeAztecAddress, makeSelector } from '@aztec/circuits.js/testing';
|
|
|
4
4
|
import { FunctionType } from '@aztec/foundation/abi';
|
|
5
5
|
import { padArrayEnd } from '@aztec/foundation/collection';
|
|
6
6
|
export class PublicExecutionResultBuilder {
|
|
7
|
-
constructor(
|
|
7
|
+
constructor(executionRequest) {
|
|
8
8
|
this._nestedExecutions = [];
|
|
9
9
|
this._contractStorageUpdateRequests = [];
|
|
10
10
|
this._contractStorageReads = [];
|
|
11
11
|
this._returnValues = [];
|
|
12
12
|
this._reverted = false;
|
|
13
13
|
this._revertReason = undefined;
|
|
14
|
-
this.
|
|
14
|
+
this._executionRequest = executionRequest;
|
|
15
15
|
}
|
|
16
16
|
static fromPublicCallRequest({ request, returnValues = [new Fr(1n)], nestedExecutions = [], contractStorageUpdateRequests = [], contractStorageReads = [], revertReason = undefined, }) {
|
|
17
17
|
const builder = new PublicExecutionResultBuilder(request);
|
|
@@ -63,7 +63,7 @@ export class PublicExecutionResultBuilder {
|
|
|
63
63
|
}
|
|
64
64
|
build(overrides = {}) {
|
|
65
65
|
return {
|
|
66
|
-
|
|
66
|
+
executionRequest: this._executionRequest,
|
|
67
67
|
nestedExecutions: this._nestedExecutions,
|
|
68
68
|
noteHashReadRequests: [],
|
|
69
69
|
nullifierReadRequests: [],
|
|
@@ -71,9 +71,9 @@ export class PublicExecutionResultBuilder {
|
|
|
71
71
|
l1ToL2MsgReadRequests: [],
|
|
72
72
|
contractStorageUpdateRequests: this._contractStorageUpdateRequests,
|
|
73
73
|
returnValues: padArrayEnd(this._returnValues, Fr.ZERO, 4), // TODO(#5450) Need to use the proper return values here
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
74
|
+
noteHashes: [],
|
|
75
|
+
nullifiers: [],
|
|
76
|
+
l2ToL1Messages: [],
|
|
77
77
|
contractStorageReads: [],
|
|
78
78
|
unencryptedLogsHashes: [],
|
|
79
79
|
unencryptedLogs: UnencryptedFunctionL2Logs.empty(),
|
|
@@ -93,4 +93,4 @@ export class PublicExecutionResultBuilder {
|
|
|
93
93
|
}
|
|
94
94
|
}
|
|
95
95
|
export const makeFunctionCall = (name = 'function', to = makeAztecAddress(30), selector = makeSelector(5), type = FunctionType.PUBLIC, args = new Array(ARGS_LENGTH).fill(Fr.ZERO), isStatic = false, returnTypes = []) => ({ name, to, selector, type, args, isStatic, returnTypes });
|
|
96
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
96
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml4dHVyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbW9ja3MvZml4dHVyZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUEyQyx5QkFBeUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzFHLE9BQU8sRUFDTCxXQUFXLEVBQ1gsaUJBQWlCLEVBRWpCLFdBQVcsRUFHWCxFQUFFLEVBQ0YsR0FBRyxHQUVKLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzVFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFJM0QsTUFBTSxPQUFPLDRCQUE0QjtJQVN2QyxZQUFZLGdCQUF3QztRQVA1QyxzQkFBaUIsR0FBNEIsRUFBRSxDQUFDO1FBQ2hELG1DQUE4QixHQUFtQyxFQUFFLENBQUM7UUFDcEUsMEJBQXFCLEdBQTBCLEVBQUUsQ0FBQztRQUNsRCxrQkFBYSxHQUFTLEVBQUUsQ0FBQztRQUN6QixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLGtCQUFhLEdBQWdDLFNBQVMsQ0FBQztRQUc3RCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsZ0JBQWdCLENBQUM7SUFDNUMsQ0FBQztJQUVELE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxFQUMzQixPQUFPLEVBQ1AsWUFBWSxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFDM0IsZ0JBQWdCLEdBQUcsRUFBRSxFQUNyQiw2QkFBNkIsR0FBRyxFQUFFLEVBQ2xDLG9CQUFvQixHQUFHLEVBQUUsRUFDekIsWUFBWSxHQUFHLFNBQVMsR0FRekI7UUFDQyxNQUFNLE9BQU8sR0FBRyxJQUFJLDRCQUE0QixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRTFELE9BQU8sQ0FBQyxv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O1lBQ3BDLHFCQUFxQixFQUFFLEVBQUU7WUFDekIsNkJBQTZCLEVBQUUsSUFBSSxDQUFDLDhCQUE4QjtZQUNsRSxZQUFZLEVBQUUsV0FBVyxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsRUFBRSx3REFBd0Q7WUFDbkgsVUFBVSxFQUFFLEVBQUU7WUFDZCxVQUFVLEVBQUUsRUFBRTtZQUNkLGNBQWMsRUFBRSxFQUFFO1lBQ2xCLG9CQUFvQixFQUFFLEVBQUU7WUFDeEIscUJBQXFCLEVBQUUsRUFBRTtZQUN6QixlQUFlLEVBQUUseUJBQXlCLENBQUMsS0FBSyxFQUFFO1lBQ2xELGtCQUFrQixFQUFFLHlCQUF5QixDQUFDLEtBQUssRUFBRTtZQUNyRCxzQkFBc0IsRUFBRSxFQUFFLENBQUMsSUFBSTtZQUMvQixvQkFBb0IsRUFBRSxFQUFFLENBQUMsSUFBSTtZQUM3QixRQUFRLEVBQUUsSUFBSSxDQUFDLFNBQVM7WUFDeEIsWUFBWSxFQUFFLElBQUksQ0FBQyxhQUFhO1lBQ2hDLFlBQVksRUFBRSxHQUFHLENBQUMsSUFBSSxFQUFFO1lBQ3hCLFVBQVUsRUFBRSxHQUFHLENBQUMsSUFBSSxFQUFFO1lBQ3RCLGNBQWMsRUFBRSxFQUFFLENBQUMsSUFBSTtZQUN2QixRQUFRLEVBQUUsRUFBRTtZQUNaLGVBQWUsRUFBRSxpQkFBaUIsQ0FBQyxLQUFLLEVBQUU7WUFDMUMsWUFBWSxFQUFFLFNBQVM7WUFDdkIsR0FBRyxTQUFTO1NBQ2IsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQUVELE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLENBQzlCLElBQUksR0FBRyxVQUFVLEVBQ2pCLEVBQUUsR0FBRyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsRUFDekIsUUFBUSxHQUFHLFlBQVksQ0FBQyxDQUFDLENBQUMsRUFDMUIsSUFBSSxHQUFHLFlBQVksQ0FBQyxNQUFNLEVBQzFCLElBQUksR0FBRyxJQUFJLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUMzQyxRQUFRLEdBQUcsS0FBSyxFQUNoQixXQUFXLEdBQUcsRUFBRSxFQUNoQixFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUMifQ==
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AVM_REQUEST, MerkleTreeId, PublicKernelType, } from '@aztec/circuit-types';
|
|
2
|
-
import { AztecAddress, CallRequest, ContractStorageRead, ContractStorageUpdateRequest, Fr, FunctionData, Gas, L2ToL1Message, LogHash, MAX_L1_TO_L2_MSG_READ_REQUESTS_PER_CALL,
|
|
2
|
+
import { AztecAddress, CallRequest, ContractStorageRead, ContractStorageUpdateRequest, Fr, FunctionData, Gas, L2ToL1Message, LogHash, MAX_L1_TO_L2_MSG_READ_REQUESTS_PER_CALL, MAX_L2_TO_L1_MSGS_PER_CALL, MAX_NOTE_HASHES_PER_CALL, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL, MAX_NULLIFIERS_PER_CALL, MAX_NULLIFIER_NON_EXISTENT_READ_REQUESTS_PER_CALL, MAX_NULLIFIER_READ_REQUESTS_PER_CALL, MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL, MAX_PUBLIC_DATA_READS_PER_CALL, MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL, MAX_UNENCRYPTED_LOGS_PER_CALL, MembershipWitness, NESTED_RECURSIVE_PROOF_LENGTH, NoteHash, Nullifier, PublicCallData, PublicCallStackItem, PublicCircuitPublicInputs, PublicKernelCircuitPrivateInputs, PublicKernelData, ReadRequest, RevertCode, VK_TREE_HEIGHT, VerificationKeyData, makeEmptyProof, makeEmptyRecursiveProof, } from '@aztec/circuits.js';
|
|
3
3
|
import { computeVarArgsHash } from '@aztec/circuits.js/hash';
|
|
4
4
|
import { padArrayEnd } from '@aztec/foundation/collection';
|
|
5
5
|
import { createDebugLogger } from '@aztec/foundation/log';
|
|
@@ -57,18 +57,18 @@ export class AbstractPhaseManager {
|
|
|
57
57
|
// TODO mitch left a question about whether this is only needed when unit testing
|
|
58
58
|
// with mock data
|
|
59
59
|
call => revertibleCallStack.find(p => p.equals(call)) || nonRevertibleCallStack.find(p => p.equals(call)));
|
|
60
|
+
const teardownCallStack = tx.publicTeardownFunctionCall.isEmpty() ? [] : [tx.publicTeardownFunctionCall];
|
|
60
61
|
if (callRequestsStack.length === 0) {
|
|
61
62
|
return {
|
|
62
63
|
[PublicKernelType.NON_PUBLIC]: [],
|
|
63
64
|
[PublicKernelType.SETUP]: [],
|
|
64
65
|
[PublicKernelType.APP_LOGIC]: [],
|
|
65
|
-
[PublicKernelType.TEARDOWN]:
|
|
66
|
+
[PublicKernelType.TEARDOWN]: teardownCallStack,
|
|
66
67
|
[PublicKernelType.TAIL]: [],
|
|
67
68
|
};
|
|
68
69
|
}
|
|
69
70
|
// find the first call that is revertible
|
|
70
71
|
const firstRevertibleCallIndex = callRequestsStack.findIndex(c => revertibleCallStack.findIndex(p => p.equals(c)) !== -1);
|
|
71
|
-
const teardownCallStack = tx.publicTeardownFunctionCall.isEmpty() ? [] : [tx.publicTeardownFunctionCall];
|
|
72
72
|
if (firstRevertibleCallIndex === 0) {
|
|
73
73
|
return {
|
|
74
74
|
[PublicKernelType.NON_PUBLIC]: [],
|
|
@@ -141,12 +141,12 @@ export class AbstractPhaseManager {
|
|
|
141
141
|
gasUsed = gasUsed.add(Gas.from(result.startGasLeft).sub(Gas.from(result.endGasLeft)));
|
|
142
142
|
// Sanity check for a current upstream assumption.
|
|
143
143
|
// Consumers of the result seem to expect "reverted <=> revertReason !== undefined".
|
|
144
|
-
const functionSelector = result.
|
|
144
|
+
const functionSelector = result.executionRequest.functionSelector.toString();
|
|
145
145
|
if (result.reverted && !result.revertReason) {
|
|
146
|
-
throw new Error(`Simulation of ${result.
|
|
146
|
+
throw new Error(`Simulation of ${result.executionRequest.contractAddress.toString()}:${functionSelector}(${result.functionName}) reverted with no reason.`);
|
|
147
147
|
}
|
|
148
148
|
if (result.reverted && !PhaseIsRevertible[this.phase]) {
|
|
149
|
-
this.log.debug(`Simulation error on ${result.
|
|
149
|
+
this.log.debug(`Simulation error on ${result.executionRequest.contractAddress.toString()}:${functionSelector}(${result.functionName}) with reason: ${result.revertReason}`);
|
|
150
150
|
throw result.revertReason;
|
|
151
151
|
}
|
|
152
152
|
if (isExecutionRequest) {
|
|
@@ -154,7 +154,7 @@ export class AbstractPhaseManager {
|
|
|
154
154
|
}
|
|
155
155
|
executionStack.push(...result.nestedExecutions);
|
|
156
156
|
// Simulate the public kernel circuit.
|
|
157
|
-
this.log.debug(`Running public kernel circuit for ${result.
|
|
157
|
+
this.log.debug(`Running public kernel circuit for ${result.executionRequest.contractAddress.toString()}:${functionSelector}(${result.functionName})`);
|
|
158
158
|
const callData = await this.getPublicCallData(result, isExecutionRequest);
|
|
159
159
|
const [privateInputs, publicInputs] = await this.runKernelCircuit(kernelPublicOutput, callData);
|
|
160
160
|
kernelPublicOutput = publicInputs;
|
|
@@ -171,12 +171,12 @@ export class AbstractPhaseManager {
|
|
|
171
171
|
// if the simulator reverts in app logic, it "resets" and result.reverted will be false when we run teardown,
|
|
172
172
|
// but the kernel carries the reverted flag forward. But if the simulator reverts, so should the kernel.
|
|
173
173
|
if (result.reverted && kernelPublicOutput.revertCode.isOK()) {
|
|
174
|
-
throw new Error(`Public kernel circuit did not revert on ${result.
|
|
174
|
+
throw new Error(`Public kernel circuit did not revert on ${result.executionRequest.contractAddress.toString()}:${functionSelector}(${result.functionName}), but simulator did.`);
|
|
175
175
|
}
|
|
176
176
|
// We know the phase is revertible due to the above check.
|
|
177
177
|
// So safely return the revert reason and the kernel output (which has had its revertible side effects dropped)
|
|
178
178
|
if (result.reverted) {
|
|
179
|
-
this.log.debug(`Reverting on ${result.
|
|
179
|
+
this.log.debug(`Reverting on ${result.executionRequest.contractAddress.toString()}:${functionSelector}(${result.functionName}) with reason: ${result.revertReason}`);
|
|
180
180
|
// TODO(@spalladino): Check gasUsed is correct. The AVM should take care of setting gasLeft to zero upon a revert.
|
|
181
181
|
return {
|
|
182
182
|
publicProvingInformation: [],
|
|
@@ -203,7 +203,7 @@ export class AbstractPhaseManager {
|
|
|
203
203
|
}
|
|
204
204
|
/** Returns all pending private and public nullifiers. */
|
|
205
205
|
getSiloedPendingNullifiers(ko) {
|
|
206
|
-
return [...ko.end.
|
|
206
|
+
return [...ko.end.nullifiers, ...ko.endNonRevertibleData.nullifiers].filter(n => !n.isEmpty());
|
|
207
207
|
}
|
|
208
208
|
getAvailableGas(tx, previousPublicKernelOutput) {
|
|
209
209
|
return tx.data.constants.txContext.gasSettings
|
|
@@ -243,12 +243,12 @@ export class AbstractPhaseManager {
|
|
|
243
243
|
const callStackPreimages = await this.getPublicCallStackPreimages(result);
|
|
244
244
|
const publicCallStackHashes = padArrayEnd(callStackPreimages.map(c => c.hash()), Fr.ZERO, MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL);
|
|
245
245
|
const publicCircuitPublicInputs = PublicCircuitPublicInputs.from({
|
|
246
|
-
callContext: result.
|
|
246
|
+
callContext: result.executionRequest.callContext,
|
|
247
247
|
proverAddress: AztecAddress.ZERO,
|
|
248
|
-
argsHash: computeVarArgsHash(result.
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
248
|
+
argsHash: computeVarArgsHash(result.executionRequest.args),
|
|
249
|
+
noteHashes: padArrayEnd(result.noteHashes, NoteHash.empty(), MAX_NOTE_HASHES_PER_CALL),
|
|
250
|
+
nullifiers: padArrayEnd(result.nullifiers, Nullifier.empty(), MAX_NULLIFIERS_PER_CALL),
|
|
251
|
+
l2ToL1Msgs: padArrayEnd(result.l2ToL1Messages, L2ToL1Message.empty(), MAX_L2_TO_L1_MSGS_PER_CALL),
|
|
252
252
|
startSideEffectCounter: result.startSideEffectCounter,
|
|
253
253
|
endSideEffectCounter: result.endSideEffectCounter,
|
|
254
254
|
returnsHash: computeVarArgsHash(result.returnValues),
|
|
@@ -268,7 +268,7 @@ export class AbstractPhaseManager {
|
|
|
268
268
|
// TODO(@just-mitch): need better mapping from simulator to revert code.
|
|
269
269
|
revertCode: result.reverted ? RevertCode.APP_LOGIC_REVERTED : RevertCode.OK,
|
|
270
270
|
});
|
|
271
|
-
return new PublicCallStackItem(result.
|
|
271
|
+
return new PublicCallStackItem(result.executionRequest.contractAddress, new FunctionData(result.executionRequest.functionSelector, false), publicCircuitPublicInputs, isExecutionRequest);
|
|
272
272
|
}
|
|
273
273
|
async getPublicCallStackPreimages(result) {
|
|
274
274
|
const nested = result.nestedExecutions;
|
|
@@ -284,15 +284,15 @@ export class AbstractPhaseManager {
|
|
|
284
284
|
*/
|
|
285
285
|
static getMaxSideEffectCounter(inputs) {
|
|
286
286
|
const sideEffectCounters = [
|
|
287
|
-
...inputs.endNonRevertibleData.
|
|
288
|
-
...inputs.endNonRevertibleData.
|
|
287
|
+
...inputs.endNonRevertibleData.noteHashes,
|
|
288
|
+
...inputs.endNonRevertibleData.nullifiers,
|
|
289
289
|
...inputs.endNonRevertibleData.noteEncryptedLogsHashes,
|
|
290
290
|
...inputs.endNonRevertibleData.encryptedLogsHashes,
|
|
291
291
|
...inputs.endNonRevertibleData.unencryptedLogsHashes,
|
|
292
292
|
...inputs.endNonRevertibleData.publicCallStack,
|
|
293
293
|
...inputs.endNonRevertibleData.publicDataUpdateRequests,
|
|
294
|
-
...inputs.end.
|
|
295
|
-
...inputs.end.
|
|
294
|
+
...inputs.end.noteHashes,
|
|
295
|
+
...inputs.end.nullifiers,
|
|
296
296
|
...inputs.end.noteEncryptedLogsHashes,
|
|
297
297
|
...inputs.end.encryptedLogsHashes,
|
|
298
298
|
...inputs.end.unencryptedLogsHashes,
|
|
@@ -336,4 +336,4 @@ export class AbstractPhaseManager {
|
|
|
336
336
|
return new PublicCallData(callStackItem, publicCallStack, makeEmptyProof(), bytecodeHash);
|
|
337
337
|
}
|
|
338
338
|
}
|
|
339
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3RfcGhhc2VfbWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wdWJsaWMvYWJzdHJhY3RfcGhhc2VfbWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsV0FBVyxFQUVYLFlBQVksRUFHWixnQkFBZ0IsR0FLakIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBRUwsWUFBWSxFQUNaLFdBQVcsRUFDWCxtQkFBbUIsRUFDbkIsNEJBQTRCLEVBQzVCLEVBQUUsRUFDRixZQUFZLEVBQ1osR0FBRyxFQUlILGFBQWEsRUFDYixPQUFPLEVBQ1AsdUNBQXVDLEVBQ3ZDLDhCQUE4QixFQUM5Qiw0QkFBNEIsRUFDNUIsMkJBQTJCLEVBQzNCLG9DQUFvQyxFQUNwQyxpREFBaUQsRUFDakQsb0NBQW9DLEVBQ3BDLHFDQUFxQyxFQUNyQyw4QkFBOEIsRUFDOUIsd0NBQXdDLEVBQ3hDLDZCQUE2QixFQUM3QixpQkFBaUIsRUFDakIsNkJBQTZCLEVBQzdCLFFBQVEsRUFDUixTQUFTLEVBQ1QsY0FBYyxFQUVkLG1CQUFtQixFQUNuQix5QkFBeUIsRUFDekIsZ0NBQWdDLEVBRWhDLGdCQUFnQixFQUNoQixXQUFXLEVBQ1gsVUFBVSxFQUNWLGNBQWMsRUFDZCxtQkFBbUIsRUFDbkIsY0FBYyxFQUNkLHVCQUF1QixHQUN4QixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzdELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMzRCxPQUFPLEVBQW9CLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDNUUsT0FBTyxFQUlMLHNCQUFzQixFQUN0Qix1QkFBdUIsR0FDeEIsTUFBTSxrQkFBa0IsQ0FBQztBQUcxQixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFHbEQsTUFB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
|
|
339
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3RfcGhhc2VfbWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wdWJsaWMvYWJzdHJhY3RfcGhhc2VfbWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsV0FBVyxFQUVYLFlBQVksRUFHWixnQkFBZ0IsR0FLakIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBRUwsWUFBWSxFQUNaLFdBQVcsRUFDWCxtQkFBbUIsRUFDbkIsNEJBQTRCLEVBQzVCLEVBQUUsRUFDRixZQUFZLEVBQ1osR0FBRyxFQUlILGFBQWEsRUFDYixPQUFPLEVBQ1AsdUNBQXVDLEVBQ3ZDLDBCQUEwQixFQUMxQix3QkFBd0IsRUFDeEIsb0NBQW9DLEVBQ3BDLHVCQUF1QixFQUN2QixpREFBaUQsRUFDakQsb0NBQW9DLEVBQ3BDLHFDQUFxQyxFQUNyQyw4QkFBOEIsRUFDOUIsd0NBQXdDLEVBQ3hDLDZCQUE2QixFQUM3QixpQkFBaUIsRUFDakIsNkJBQTZCLEVBQzdCLFFBQVEsRUFDUixTQUFTLEVBQ1QsY0FBYyxFQUVkLG1CQUFtQixFQUNuQix5QkFBeUIsRUFDekIsZ0NBQWdDLEVBRWhDLGdCQUFnQixFQUNoQixXQUFXLEVBQ1gsVUFBVSxFQUNWLGNBQWMsRUFDZCxtQkFBbUIsRUFDbkIsY0FBYyxFQUNkLHVCQUF1QixHQUN4QixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzdELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMzRCxPQUFPLEVBQW9CLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDNUUsT0FBTyxFQUlMLHNCQUFzQixFQUN0Qix1QkFBdUIsR0FDeEIsTUFBTSxrQkFBa0IsQ0FBQztBQUcxQixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFHbEQsTUFB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
|
|
@@ -6,8 +6,8 @@ import { type Gas } from '../avm/avm_gas.js';
|
|
|
6
6
|
* The public function execution result.
|
|
7
7
|
*/
|
|
8
8
|
export interface PublicExecutionResult {
|
|
9
|
-
/** The execution that triggered this result. */
|
|
10
|
-
|
|
9
|
+
/** The execution request that triggered this result. */
|
|
10
|
+
executionRequest: PublicExecutionRequest;
|
|
11
11
|
/** The side effect counter at the start of the function call. */
|
|
12
12
|
startSideEffectCounter: Fr;
|
|
13
13
|
/** The side effect counter after executing this function call */
|
|
@@ -33,11 +33,11 @@ export interface PublicExecutionResult {
|
|
|
33
33
|
/** The contract storage update requests performed by the function. */
|
|
34
34
|
contractStorageUpdateRequests: ContractStorageUpdateRequest[];
|
|
35
35
|
/** The new note hashes to be inserted into the note hashes tree. */
|
|
36
|
-
|
|
36
|
+
noteHashes: NoteHash[];
|
|
37
37
|
/** The new l2 to l1 messages generated in this call. */
|
|
38
|
-
|
|
38
|
+
l2ToL1Messages: L2ToL1Message[];
|
|
39
39
|
/** The new nullifiers to be inserted into the nullifier tree. */
|
|
40
|
-
|
|
40
|
+
nullifiers: Nullifier[];
|
|
41
41
|
/** The note hash read requests emitted in this call. */
|
|
42
42
|
noteHashReadRequests: ReadRequest[];
|
|
43
43
|
/** The nullifier read requests emitted in this call. */
|
|
@@ -69,18 +69,19 @@ export interface PublicExecutionResult {
|
|
|
69
69
|
functionName: string;
|
|
70
70
|
}
|
|
71
71
|
/**
|
|
72
|
-
* The execution of a public function.
|
|
72
|
+
* The execution request of a public function.
|
|
73
|
+
* A subset of PublicCallRequest
|
|
73
74
|
*/
|
|
74
|
-
export type
|
|
75
|
+
export type PublicExecutionRequest = Pick<PublicCallRequest, 'contractAddress' | 'functionSelector' | 'callContext' | 'args'>;
|
|
75
76
|
/**
|
|
76
77
|
* Returns if the input is a public execution result and not just a public execution.
|
|
77
78
|
* @param input - Public execution or public execution result.
|
|
78
79
|
* @returns Whether the input is a public execution result and not just a public execution.
|
|
79
80
|
*/
|
|
80
|
-
export declare function isPublicExecutionResult(input:
|
|
81
|
+
export declare function isPublicExecutionResult(input: PublicExecutionRequest | PublicExecutionResult): input is PublicExecutionResult;
|
|
81
82
|
/**
|
|
82
83
|
* Checks whether the child execution result is valid for a static call (no state modifications).
|
|
83
84
|
* @param executionResult - The execution result of a public function
|
|
84
85
|
*/
|
|
85
|
-
export declare function checkValidStaticCall(
|
|
86
|
+
export declare function checkValidStaticCall(noteHashes: NoteHash[], nullifiers: Nullifier[], contractStorageUpdateRequests: ContractStorageUpdateRequest[], l2ToL1Messages: L2ToL1Message[], unencryptedLogs: UnencryptedFunctionL2Logs): void;
|
|
86
87
|
//# sourceMappingURL=execution.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execution.d.ts","sourceRoot":"","sources":["../../src/public/execution.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAC5F,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,4BAA4B,EACjC,KAAK,EAAE,EACP,KAAK,aAAa,EAClB,KAAK,OAAO,EACZ,KAAK,QAAQ,EACb,KAAK,SAAS,EACd,KAAK,iBAAiB,EACtB,KAAK,WAAW,EACjB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAE7C;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,
|
|
1
|
+
{"version":3,"file":"execution.d.ts","sourceRoot":"","sources":["../../src/public/execution.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAC5F,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,4BAA4B,EACjC,KAAK,EAAE,EACP,KAAK,aAAa,EAClB,KAAK,OAAO,EACZ,KAAK,QAAQ,EACb,KAAK,SAAS,EACd,KAAK,iBAAiB,EACtB,KAAK,WAAW,EACjB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAE7C;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,wDAAwD;IACxD,gBAAgB,EAAE,sBAAsB,CAAC;IAEzC,iEAAiE;IACjE,sBAAsB,EAAE,EAAE,CAAC;IAC3B,iEAAiE;IACjE,oBAAoB,EAAE,EAAE,CAAC;IACzB,4DAA4D;IAC5D,YAAY,EAAE,GAAG,CAAC;IAClB,yDAAyD;IACzD,UAAU,EAAE,GAAG,CAAC;IAChB,uCAAuC;IACvC,cAAc,EAAE,EAAE,CAAC;IAEnB,wCAAwC;IACxC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wCAAwC;IACxC,QAAQ,EAAE,EAAE,EAAE,CAAC;IACf,yCAAyC;IACzC,YAAY,EAAE,EAAE,EAAE,CAAC;IACnB,sCAAsC;IACtC,QAAQ,EAAE,OAAO,CAAC;IAClB,mDAAmD;IACnD,YAAY,CAAC,EAAE,eAAe,CAAC;IAE/B,4DAA4D;IAC5D,oBAAoB,EAAE,mBAAmB,EAAE,CAAC;IAC5C,sEAAsE;IACtE,6BAA6B,EAAE,4BAA4B,EAAE,CAAC;IAC9D,oEAAoE;IACpE,UAAU,EAAE,QAAQ,EAAE,CAAC;IACvB,wDAAwD;IACxD,cAAc,EAAE,aAAa,EAAE,CAAC;IAChC,iEAAiE;IACjE,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,wDAAwD;IACxD,oBAAoB,EAAE,WAAW,EAAE,CAAC;IACpC,wDAAwD;IACxD,qBAAqB,EAAE,WAAW,EAAE,CAAC;IACrC,qEAAqE;IACrE,gCAAgC,EAAE,WAAW,EAAE,CAAC;IAChD,2DAA2D;IAC3D,qBAAqB,EAAE,WAAW,EAAE,CAAC;IACrC;;;OAGG;IACH,qBAAqB,EAAE,OAAO,EAAE,CAAC;IACjC;;;OAGG;IACH,eAAe,EAAE,yBAAyB,CAAC;IAC3C;;;OAGG;IACH,kBAAkB,EAAE,yBAAyB,CAAC;IAI9C,mCAAmC;IACnC,gBAAgB,EAAE,IAAI,EAAE,CAAC;IAEzB,uCAAuC;IACvC,eAAe,EAAE,iBAAiB,CAAC;IAEnC,yEAAyE;IACzE,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;;GAGG;AACH,MAAM,MAAM,sBAAsB,GAAG,IAAI,CACvC,iBAAiB,EACjB,iBAAiB,GAAG,kBAAkB,GAAG,aAAa,GAAG,MAAM,CAChE,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,sBAAsB,GAAG,qBAAqB,GACpD,KAAK,IAAI,qBAAqB,CAEhC;AAED;;;GAGG;AAEH,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,QAAQ,EAAE,EACtB,UAAU,EAAE,SAAS,EAAE,EACvB,6BAA6B,EAAE,4BAA4B,EAAE,EAC7D,cAAc,EAAE,aAAa,EAAE,EAC/B,eAAe,EAAE,yBAAyB,QAW3C"}
|
package/dest/public/execution.js
CHANGED
|
@@ -4,19 +4,19 @@
|
|
|
4
4
|
* @returns Whether the input is a public execution result and not just a public execution.
|
|
5
5
|
*/
|
|
6
6
|
export function isPublicExecutionResult(input) {
|
|
7
|
-
return '
|
|
7
|
+
return 'executionRequest' in input && input.executionRequest !== undefined;
|
|
8
8
|
}
|
|
9
9
|
/**
|
|
10
10
|
* Checks whether the child execution result is valid for a static call (no state modifications).
|
|
11
11
|
* @param executionResult - The execution result of a public function
|
|
12
12
|
*/
|
|
13
|
-
export function checkValidStaticCall(
|
|
13
|
+
export function checkValidStaticCall(noteHashes, nullifiers, contractStorageUpdateRequests, l2ToL1Messages, unencryptedLogs) {
|
|
14
14
|
if (contractStorageUpdateRequests.length > 0 ||
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
15
|
+
noteHashes.length > 0 ||
|
|
16
|
+
nullifiers.length > 0 ||
|
|
17
|
+
l2ToL1Messages.length > 0 ||
|
|
18
18
|
unencryptedLogs.logs.length > 0) {
|
|
19
19
|
throw new Error('Static call cannot update the state, emit L2->L1 messages or generate logs');
|
|
20
20
|
}
|
|
21
21
|
}
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhlY3V0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3B1YmxpYy9leGVjdXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBb0dBOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsdUJBQXVCLENBQ3JDLEtBQXFEO0lBRXJELE9BQU8sa0JBQWtCLElBQUksS0FBSyxJQUFJLEtBQUssQ0FBQyxnQkFBZ0IsS0FBSyxTQUFTLENBQUM7QUFDN0UsQ0FBQztBQUVEOzs7R0FHRztBQUVILE1BQU0sVUFBVSxvQkFBb0IsQ0FDbEMsVUFBc0IsRUFDdEIsVUFBdUIsRUFDdkIsNkJBQTZELEVBQzdELGNBQStCLEVBQy9CLGVBQTBDO0lBRTFDLElBQ0UsNkJBQTZCLENBQUMsTUFBTSxHQUFHLENBQUM7UUFDeEMsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDO1FBQ3JCLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQztRQUNyQixjQUFjLENBQUMsTUFBTSxHQUFHLENBQUM7UUFDekIsZUFBZSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUMvQixDQUFDO1FBQ0QsTUFBTSxJQUFJLEtBQUssQ0FBQyw0RUFBNEUsQ0FBQyxDQUFDO0lBQ2hHLENBQUM7QUFDSCxDQUFDIn0=
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { Fr, Gas, type GlobalVariables, type Header, type Nullifier, type TxContext } from '@aztec/circuits.js';
|
|
2
2
|
import { type CommitmentsDB, type PublicContractsDB, type PublicStateDB } from './db_interfaces.js';
|
|
3
|
-
import { type
|
|
3
|
+
import { type PublicExecutionRequest, type PublicExecutionResult } from './execution.js';
|
|
4
4
|
/**
|
|
5
5
|
* Handles execution of public functions.
|
|
6
6
|
*/
|
|
7
7
|
export declare class PublicExecutor {
|
|
8
|
-
private readonly
|
|
8
|
+
private readonly publicStorageDB;
|
|
9
9
|
private readonly contractsDb;
|
|
10
10
|
private readonly commitmentsDb;
|
|
11
11
|
private readonly header;
|
|
12
|
-
constructor(
|
|
12
|
+
constructor(publicStorageDB: PublicStateDB, contractsDb: PublicContractsDB, commitmentsDb: CommitmentsDB, header: Header);
|
|
13
13
|
static readonly log: import("@aztec/foundation/log").Logger;
|
|
14
14
|
/**
|
|
15
15
|
* Executes a public execution request.
|
|
@@ -22,6 +22,6 @@ export declare class PublicExecutor {
|
|
|
22
22
|
* @param startSideEffectCounter - The counter of the first side-effect generated by this simulation.
|
|
23
23
|
* @returns The result of execution, including the results of all nested calls.
|
|
24
24
|
*/
|
|
25
|
-
simulate(executionRequest:
|
|
25
|
+
simulate(executionRequest: PublicExecutionRequest, globalVariables: GlobalVariables, availableGas: Gas, _txContext: TxContext, pendingSiloedNullifiers: Nullifier[], transactionFee?: Fr, startSideEffectCounter?: number): Promise<PublicExecutionResult>;
|
|
26
26
|
}
|
|
27
27
|
//# sourceMappingURL=executor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../src/public/executor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,eAAe,EAAE,KAAK,MAAM,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../src/public/executor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,eAAe,EAAE,KAAK,MAAM,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAUhH,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,iBAAiB,EAAE,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACpG,OAAO,EAAE,KAAK,sBAAsB,EAAE,KAAK,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAGzF;;GAEG;AACH,qBAAa,cAAc;IAEvB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAHN,eAAe,EAAE,aAAa,EAC9B,WAAW,EAAE,iBAAiB,EAC9B,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,MAAM;IAGjC,MAAM,CAAC,QAAQ,CAAC,GAAG,yCAAwD;IAE3E;;;;;;;;;;OAUG;IACU,QAAQ,CACnB,gBAAgB,EAAE,sBAAsB,EACxC,eAAe,EAAE,eAAe,EAChC,YAAY,EAAE,GAAG,EACjB,UAAU,EAAE,SAAS,EACrB,uBAAuB,EAAE,SAAS,EAAE,EACpC,cAAc,GAAE,EAAY,EAC5B,sBAAsB,GAAE,MAAU,GACjC,OAAO,CAAC,qBAAqB,CAAC;CA6DlC"}
|
package/dest/public/executor.js
CHANGED
|
@@ -2,19 +2,18 @@ import { Fr, Gas } from '@aztec/circuits.js';
|
|
|
2
2
|
import { createDebugLogger } from '@aztec/foundation/log';
|
|
3
3
|
import { Timer } from '@aztec/foundation/timer';
|
|
4
4
|
import { AvmContext } from '../avm/avm_context.js';
|
|
5
|
+
import { AvmExecutionEnvironment } from '../avm/avm_execution_environment.js';
|
|
5
6
|
import { AvmMachineState } from '../avm/avm_machine_state.js';
|
|
6
7
|
import { AvmSimulator } from '../avm/avm_simulator.js';
|
|
7
8
|
import { HostStorage } from '../avm/journal/host_storage.js';
|
|
8
9
|
import { AvmPersistableStateManager } from '../avm/journal/index.js';
|
|
9
|
-
import { checkValidStaticCall } from './execution.js';
|
|
10
10
|
import { PublicSideEffectTrace } from './side_effect_trace.js';
|
|
11
|
-
import { createAvmExecutionEnvironment } from './transitional_adaptors.js';
|
|
12
11
|
/**
|
|
13
12
|
* Handles execution of public functions.
|
|
14
13
|
*/
|
|
15
14
|
export class PublicExecutor {
|
|
16
|
-
constructor(
|
|
17
|
-
this.
|
|
15
|
+
constructor(publicStorageDB, contractsDb, commitmentsDb, header) {
|
|
16
|
+
this.publicStorageDB = publicStorageDB;
|
|
18
17
|
this.contractsDb = contractsDb;
|
|
19
18
|
this.commitmentsDb = commitmentsDb;
|
|
20
19
|
this.header = header;
|
|
@@ -30,22 +29,22 @@ export class PublicExecutor {
|
|
|
30
29
|
* @param startSideEffectCounter - The counter of the first side-effect generated by this simulation.
|
|
31
30
|
* @returns The result of execution, including the results of all nested calls.
|
|
32
31
|
*/
|
|
33
|
-
async simulate(executionRequest, globalVariables, availableGas,
|
|
32
|
+
async simulate(executionRequest, globalVariables, availableGas, _txContext, pendingSiloedNullifiers, transactionFee = Fr.ZERO, startSideEffectCounter = 0) {
|
|
34
33
|
const address = executionRequest.contractAddress;
|
|
35
34
|
const selector = executionRequest.functionSelector;
|
|
36
35
|
const fnName = (await this.contractsDb.getDebugFunctionName(address, selector)) ?? `${address}:${selector}`;
|
|
37
36
|
PublicExecutor.log.verbose(`[AVM] Executing public external function ${fnName}.`);
|
|
38
37
|
const timer = new Timer();
|
|
39
|
-
const hostStorage = new HostStorage(this.
|
|
38
|
+
const hostStorage = new HostStorage(this.publicStorageDB, this.contractsDb, this.commitmentsDb);
|
|
40
39
|
const trace = new PublicSideEffectTrace(startSideEffectCounter);
|
|
41
40
|
const avmPersistableState = AvmPersistableStateManager.newWithPendingSiloedNullifiers(hostStorage, trace, pendingSiloedNullifiers.map(n => n.value));
|
|
42
|
-
const avmExecutionEnv = createAvmExecutionEnvironment(executionRequest, this.header, globalVariables,
|
|
41
|
+
const avmExecutionEnv = createAvmExecutionEnvironment(executionRequest, this.header, globalVariables, transactionFee);
|
|
43
42
|
const avmMachineState = new AvmMachineState(availableGas);
|
|
44
43
|
const avmContext = new AvmContext(avmPersistableState, avmExecutionEnv, avmMachineState);
|
|
45
44
|
const simulator = new AvmSimulator(avmContext);
|
|
46
45
|
const avmResult = await simulator.execute();
|
|
47
46
|
const bytecode = simulator.getBytecode();
|
|
48
|
-
// Commit the
|
|
47
|
+
// Commit the public storage state to the DBs since this is a top-level execution.
|
|
49
48
|
// Observe that this will write all the state changes to the DBs, not only the latest for each slot.
|
|
50
49
|
// However, the underlying DB keep a cache and will only write the latest state to disk.
|
|
51
50
|
// TODO(dbanks12): this should be unnecessary here or should be exposed by state manager
|
|
@@ -60,13 +59,19 @@ export class PublicExecutor {
|
|
|
60
59
|
/*startGasLeft=*/ availableGas,
|
|
61
60
|
/*endGasLeft=*/ Gas.from(avmContext.machineState.gasLeft), bytecode, avmResult, fnName,
|
|
62
61
|
/*requestSideEffectCounter=*/ executionRequest.callContext.sideEffectCounter);
|
|
63
|
-
// TODO(https://github.com/AztecProtocol/aztec-packages/issues/5818): is this really needed?
|
|
64
|
-
// should already be handled in simulation.
|
|
65
|
-
if (executionRequest.callContext.isStaticCall) {
|
|
66
|
-
checkValidStaticCall(publicExecutionResult.newNoteHashes, publicExecutionResult.newNullifiers, publicExecutionResult.contractStorageUpdateRequests, publicExecutionResult.newL2ToL1Messages, publicExecutionResult.unencryptedLogs);
|
|
67
|
-
}
|
|
68
62
|
return publicExecutionResult;
|
|
69
63
|
}
|
|
70
64
|
}
|
|
71
65
|
PublicExecutor.log = createDebugLogger('aztec:simulator:public_executor');
|
|
72
|
-
|
|
66
|
+
/**
|
|
67
|
+
* Convert a PublicExecutionRequest object to an AvmExecutionEnvironment
|
|
68
|
+
*
|
|
69
|
+
* @param executionRequest
|
|
70
|
+
* @param globalVariables
|
|
71
|
+
* @returns
|
|
72
|
+
*/
|
|
73
|
+
function createAvmExecutionEnvironment(executionRequest, header, globalVariables, transactionFee) {
|
|
74
|
+
return new AvmExecutionEnvironment(executionRequest.contractAddress, executionRequest.callContext.storageContractAddress, executionRequest.callContext.msgSender, executionRequest.functionSelector,
|
|
75
|
+
/*contractCallDepth=*/ Fr.zero(), transactionFee, header, globalVariables, executionRequest.callContext.isStaticCall, executionRequest.callContext.isDelegateCall, executionRequest.args);
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhlY3V0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHVibGljL2V4ZWN1dG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFxRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2hILE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUVoRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbkQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDOUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDN0QsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFHckUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFL0Q7O0dBRUc7QUFDSCxNQUFNLE9BQU8sY0FBYztJQUN6QixZQUNtQixlQUE4QixFQUM5QixXQUE4QixFQUM5QixhQUE0QixFQUM1QixNQUFjO1FBSGQsb0JBQWUsR0FBZixlQUFlLENBQWU7UUFDOUIsZ0JBQVcsR0FBWCxXQUFXLENBQW1CO1FBQzlCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLFdBQU0sR0FBTixNQUFNLENBQVE7SUFDOUIsQ0FBQztJQUlKOzs7Ozs7Ozs7O09BVUc7SUFDSSxLQUFLLENBQUMsUUFBUSxDQUNuQixnQkFBd0MsRUFDeEMsZUFBZ0MsRUFDaEMsWUFBaUIsRUFDakIsVUFBcUIsRUFDckIsdUJBQW9DLEVBQ3BDLGlCQUFxQixFQUFFLENBQUMsSUFBSSxFQUM1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
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { type Fr, type
|
|
1
|
+
import { type Fr, type MAX_NULLIFIERS_PER_TX, type MAX_NULLIFIER_NON_EXISTENT_READ_REQUESTS_PER_TX, MAX_NULLIFIER_READ_REQUESTS_PER_TX, type MAX_PUBLIC_DATA_HINTS, type MAX_PUBLIC_DATA_READS_PER_TX, type MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX, MembershipWitness, type Nullifier, type PublicDataHint, type PublicDataRead, type PublicDataTreeLeafPreimage, type PublicDataUpdateRequest, type ScopedReadRequest } from '@aztec/circuits.js';
|
|
2
2
|
import { type Tuple } from '@aztec/foundation/serialize';
|
|
3
3
|
import { type MerkleTreeOperations } from '@aztec/world-state';
|
|
4
4
|
export declare class HintsBuilder {
|
|
5
5
|
private db;
|
|
6
6
|
constructor(db: MerkleTreeOperations);
|
|
7
|
-
getNullifierReadRequestHints(nullifierReadRequests: Tuple<ScopedReadRequest, typeof MAX_NULLIFIER_READ_REQUESTS_PER_TX>, pendingNullifiers: Tuple<Nullifier, typeof
|
|
8
|
-
getNullifierNonExistentReadRequestHints(nullifierNonExistentReadRequests: Tuple<ScopedReadRequest, typeof MAX_NULLIFIER_NON_EXISTENT_READ_REQUESTS_PER_TX>, pendingNullifiers: Tuple<Nullifier, typeof
|
|
7
|
+
getNullifierReadRequestHints(nullifierReadRequests: Tuple<ScopedReadRequest, typeof MAX_NULLIFIER_READ_REQUESTS_PER_TX>, pendingNullifiers: Tuple<Nullifier, typeof MAX_NULLIFIERS_PER_TX>): Promise<import("@aztec/circuits.js").NullifierReadRequestHints<64, 64>>;
|
|
8
|
+
getNullifierNonExistentReadRequestHints(nullifierNonExistentReadRequests: Tuple<ScopedReadRequest, typeof MAX_NULLIFIER_NON_EXISTENT_READ_REQUESTS_PER_TX>, pendingNullifiers: Tuple<Nullifier, typeof MAX_NULLIFIERS_PER_TX>): Promise<import("@aztec/circuits.js").NullifierNonExistentReadRequestHints>;
|
|
9
9
|
getPublicDataHints(publicDataReads: Tuple<PublicDataRead, typeof MAX_PUBLIC_DATA_READS_PER_TX>, publicDataUpdateRequests: Tuple<PublicDataUpdateRequest, typeof MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX>): Promise<[PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint, PublicDataHint]>;
|
|
10
10
|
getPublicDataHint(dataAction: PublicDataRead | PublicDataUpdateRequest | bigint): Promise<PublicDataHint>;
|
|
11
11
|
getPublicDataReadRequestHints(publicDataReads: Tuple<PublicDataRead, typeof MAX_PUBLIC_DATA_READS_PER_TX>, publicDataUpdateRequests: Tuple<PublicDataUpdateRequest, typeof MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX>, publicDataHints: Tuple<PublicDataHint, typeof MAX_PUBLIC_DATA_HINTS>): import("@aztec/circuits.js").PublicDataReadRequestHints;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hints_builder.d.ts","sourceRoot":"","sources":["../../src/public/hints_builder.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,EAAE,EACP,KAAK,
|
|
1
|
+
{"version":3,"file":"hints_builder.d.ts","sourceRoot":"","sources":["../../src/public/hints_builder.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,EAAE,EACP,KAAK,qBAAqB,EAC1B,KAAK,+CAA+C,EACpD,kCAAkC,EAClC,KAAK,qBAAqB,EAC1B,KAAK,4BAA4B,EACjC,KAAK,sCAAsC,EAC3C,iBAAiB,EAEjB,KAAK,SAAS,EAEd,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,0BAA0B,EAC/B,KAAK,uBAAuB,EAC5B,KAAK,iBAAiB,EAMvB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAsB,KAAK,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAEnF,qBAAa,YAAY;IACX,OAAO,CAAC,EAAE;gBAAF,EAAE,EAAE,oBAAoB;IAEtC,4BAA4B,CAChC,qBAAqB,EAAE,KAAK,CAAC,iBAAiB,EAAE,OAAO,kCAAkC,CAAC,EAC1F,iBAAiB,EAAE,KAAK,CAAC,SAAS,EAAE,OAAO,qBAAqB,CAAC;IAanE,uCAAuC,CACrC,gCAAgC,EAAE,KAAK,CAAC,iBAAiB,EAAE,OAAO,+CAA+C,CAAC,EAClH,iBAAiB,EAAE,KAAK,CAAC,SAAS,EAAE,OAAO,qBAAqB,CAAC;IAKnE,kBAAkB,CAChB,eAAe,EAAE,KAAK,CAAC,cAAc,EAAE,OAAO,4BAA4B,CAAC,EAC3E,wBAAwB,EAAE,KAAK,CAAC,uBAAuB,EAAE,OAAO,sCAAsC,CAAC;IAKzG,iBAAiB,CAAC,UAAU,EAAE,cAAc,GAAG,uBAAuB,GAAG,MAAM;IAK/E,6BAA6B,CAC3B,eAAe,EAAE,KAAK,CAAC,cAAc,EAAE,OAAO,4BAA4B,CAAC,EAC3E,wBAAwB,EAAE,KAAK,CAAC,uBAAuB,EAAE,OAAO,sCAAsC,CAAC,EACvG,eAAe,EAAE,KAAK,CAAC,cAAc,EAAE,OAAO,qBAAqB,CAAC;IAKhE,6BAA6B,CAAC,SAAS,EAAE,EAAE;;;;IAa3C,gCAAgC,CAAC,SAAS,EAAE,EAAE;;;;IAkB9C,wCAAwC,CAAC,QAAQ,EAAE,MAAM;;;;YAcjD,gCAAgC;CAe/C"}
|
|
@@ -57,4 +57,4 @@ export class HintsBuilder {
|
|
|
57
57
|
return { membershipWitness, leafPreimage };
|
|
58
58
|
}
|
|
59
59
|
}
|
|
60
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGludHNfYnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wdWJsaWMvaGludHNfYnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDcEQsT0FBTyxFQUlMLGtDQUFrQyxFQUlsQyxpQkFBaUIsRUFDakIscUJBQXFCLEVBRXJCLHVCQUF1QixFQU12Qix5Q0FBeUMsRUFDekMsbUJBQW1CLEVBQ25CLG9CQUFvQixFQUNwQiwrQkFBK0IsRUFDL0Isb0NBQW9DLEdBQ3JDLE1BQU0sb0JBQW9CLENBQUM7QUFJNUIsTUFBTSxPQUFPLFlBQVk7SUFDdkIsWUFBb0IsRUFBd0I7UUFBeEIsT0FBRSxHQUFGLEVBQUUsQ0FBc0I7SUFBRyxDQUFDO0lBRWhELEtBQUssQ0FBQyw0QkFBNEIsQ0FDaEMscUJBQTBGLEVBQzFGLGlCQUFpRTtRQUVqRSxPQUFPLENBQ0wsTUFBTSxvQ0FBb0MsQ0FDeEMsSUFBSSxFQUNKLHFCQUFxQixFQUNyQixpQkFBaUIsRUFDakIsa0NBQWtDLEVBQ2xDLGtDQUFrQyxDQUNuQyxDQUNGLENBQUMsS0FBSyxDQUFDO0lBQ1YsQ0FBQztJQUVELHVDQUF1QyxDQUNyQyxnQ0FBa0gsRUFDbEgsaUJBQWlFO1FBRWpFLE9BQU8seUNBQXlDLENBQUMsSUFBSSxFQUFFLGdDQUFnQyxFQUFFLGlCQUFpQixDQUFDLENBQUM7SUFDOUcsQ0FBQztJQUVELGtCQUFrQixDQUNoQixlQUEyRSxFQUMzRSx3QkFBdUc7UUFFdkcsT0FBTyxvQkFBb0IsQ0FBQyxJQUFJLEVBQUUsZUFBZSxFQUFFLHdCQUF3QixDQUFDLENBQUM7SUFDL0UsQ0FBQztJQUVELGlCQUFpQixDQUFDLFVBQTZEO1FBQzdFLE1BQU0sSUFBSSxHQUFHLE9BQU8sVUFBVSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsUUFB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
|
package/dest/public/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export * from './abstract_phase_manager.js';
|
|
2
2
|
export * from './db_interfaces.js';
|
|
3
|
-
export { isPublicExecutionResult, type
|
|
3
|
+
export { isPublicExecutionResult, type PublicExecutionRequest, type PublicExecutionResult } from './execution.js';
|
|
4
4
|
export { PublicExecutor } from './executor.js';
|
|
5
5
|
export * from './fee_payment.js';
|
|
6
6
|
export { HintsBuilder } from './hints_builder.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/public/index.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oBAAoB,CAAC;AACnC,OAAO,EAAE,uBAAuB,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/public/index.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oBAAoB,CAAC;AACnC,OAAO,EAAE,uBAAuB,EAAE,KAAK,sBAAsB,EAAE,KAAK,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAClH,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,cAAc,kBAAkB,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sCAAsC,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC"}
|
package/dest/public/index.js
CHANGED
|
@@ -8,4 +8,4 @@ export * from './public_db_sources.js';
|
|
|
8
8
|
export * from './public_kernel.js';
|
|
9
9
|
export * from './public_kernel_circuit_simulator.js';
|
|
10
10
|
export { PublicProcessor, PublicProcessorFactory } from './public_processor.js';
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHVibGljL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxPQUFPLEVBQUUsdUJBQXVCLEVBQTJELE1BQU0sZ0JBQWdCLENBQUM7QUFDbEgsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNsRCxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZUFBZSxFQUFFLHNCQUFzQixFQUFFLE1BQU0sdUJBQXVCLENBQUMifQ==
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type KernelCircuitPublicInputs, type PublicKernelCircuitPrivateInputs, type PublicKernelCircuitPublicInputs, type PublicKernelTailCircuitPrivateInputs } from '@aztec/circuits.js';
|
|
2
|
-
import { type SimulationProvider } from '
|
|
2
|
+
import { type SimulationProvider } from '../providers/simulation_provider.js';
|
|
3
3
|
import { type PublicKernelCircuitSimulator } from './public_kernel_circuit_simulator.js';
|
|
4
4
|
/**
|
|
5
5
|
* Implements the PublicKernelCircuitSimulator.
|