@aztec/simulator 0.24.0 → 0.26.2
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/deserialize.d.ts +5 -0
- package/dest/acvm/deserialize.d.ts.map +1 -1
- package/dest/acvm/deserialize.js +8 -1
- package/dest/acvm/oracle/oracle.d.ts +5 -4
- package/dest/acvm/oracle/oracle.d.ts.map +1 -1
- package/dest/acvm/oracle/oracle.js +24 -11
- package/dest/acvm/oracle/typed_oracle.d.ts +7 -9
- package/dest/acvm/oracle/typed_oracle.d.ts.map +1 -1
- package/dest/acvm/oracle/typed_oracle.js +9 -9
- package/dest/avm/avm_context.d.ts +4 -4
- package/dest/avm/avm_context.d.ts.map +1 -1
- package/dest/avm/avm_context.js +6 -6
- package/dest/avm/avm_memory_types.d.ts +11 -2
- package/dest/avm/avm_memory_types.d.ts.map +1 -1
- package/dest/avm/avm_memory_types.js +11 -1
- package/dest/avm/avm_simulator.d.ts +6 -4
- package/dest/avm/avm_simulator.d.ts.map +1 -1
- package/dest/avm/avm_simulator.js +17 -18
- package/dest/avm/fixtures/index.d.ts +17 -5
- package/dest/avm/fixtures/index.d.ts.map +1 -1
- package/dest/avm/fixtures/index.js +19 -8
- package/dest/avm/journal/host_storage.d.ts.map +1 -1
- package/dest/avm/journal/host_storage.js +1 -1
- package/dest/avm/journal/journal.d.ts +78 -50
- package/dest/avm/journal/journal.d.ts.map +1 -1
- package/dest/avm/journal/journal.js +125 -169
- package/dest/avm/journal/nullifiers.d.ts +85 -0
- package/dest/avm/journal/nullifiers.d.ts.map +1 -0
- package/dest/avm/journal/nullifiers.js +147 -0
- package/dest/avm/journal/public_storage.d.ts +88 -0
- package/dest/avm/journal/public_storage.d.ts.map +1 -0
- package/dest/avm/journal/public_storage.js +135 -0
- package/dest/avm/journal/trace.d.ts +43 -0
- package/dest/avm/journal/trace.d.ts.map +1 -0
- package/dest/avm/journal/trace.js +204 -0
- package/dest/avm/journal/trace_types.d.ts +26 -0
- package/dest/avm/journal/trace_types.d.ts.map +1 -0
- package/dest/avm/journal/trace_types.js +6 -0
- package/dest/avm/opcodes/accrued_substate.d.ts +37 -4
- package/dest/avm/opcodes/accrued_substate.d.ts.map +1 -1
- package/dest/avm/opcodes/accrued_substate.js +109 -12
- package/dest/avm/opcodes/comparators.d.ts.map +1 -1
- package/dest/avm/opcodes/comparators.js +5 -8
- package/dest/avm/opcodes/environment_getters.d.ts +14 -13
- package/dest/avm/opcodes/environment_getters.d.ts.map +1 -1
- package/dest/avm/opcodes/environment_getters.js +1 -1
- package/dest/avm/opcodes/external_calls.js +5 -5
- package/dest/avm/opcodes/hashing.d.ts +48 -0
- package/dest/avm/opcodes/hashing.d.ts.map +1 -0
- package/dest/avm/opcodes/hashing.js +127 -0
- package/dest/avm/opcodes/memory.d.ts.map +1 -1
- package/dest/avm/opcodes/memory.js +1 -1
- package/dest/avm/opcodes/storage.d.ts.map +1 -1
- package/dest/avm/opcodes/storage.js +3 -3
- package/dest/avm/serialization/bytecode_serialization.d.ts.map +1 -1
- package/dest/avm/serialization/bytecode_serialization.js +12 -8
- package/dest/avm/serialization/instruction_serialization.d.ts +10 -7
- package/dest/avm/serialization/instruction_serialization.d.ts.map +1 -1
- package/dest/avm/serialization/instruction_serialization.js +12 -9
- package/dest/avm/temporary_executor_migration.d.ts.map +1 -1
- package/dest/avm/temporary_executor_migration.js +5 -5
- package/dest/client/client_execution_context.d.ts +9 -5
- package/dest/client/client_execution_context.d.ts.map +1 -1
- package/dest/client/client_execution_context.js +46 -24
- package/dest/client/db_oracle.d.ts +7 -0
- package/dest/client/db_oracle.d.ts.map +1 -1
- package/dest/client/db_oracle.js +1 -1
- package/dest/client/execution_note_cache.js +1 -1
- package/dest/client/execution_result.d.ts +2 -2
- package/dest/client/execution_result.d.ts.map +1 -1
- package/dest/client/private_execution.d.ts.map +1 -1
- package/dest/client/private_execution.js +4 -4
- package/dest/client/simulator.d.ts +1 -1
- package/dest/client/simulator.d.ts.map +1 -1
- package/dest/client/simulator.js +3 -2
- package/dest/client/view_data_oracle.d.ts +9 -2
- package/dest/client/view_data_oracle.d.ts.map +1 -1
- package/dest/client/view_data_oracle.js +13 -5
- package/dest/public/db.d.ts +17 -4
- package/dest/public/db.d.ts.map +1 -1
- package/dest/public/execution.d.ts +9 -4
- package/dest/public/execution.d.ts.map +1 -1
- package/dest/public/execution.js +17 -4
- package/dest/public/executor.d.ts.map +1 -1
- package/dest/public/executor.js +18 -9
- package/dest/public/public_execution_context.d.ts +5 -4
- package/dest/public/public_execution_context.d.ts.map +1 -1
- package/dest/public/public_execution_context.js +23 -12
- package/dest/public/state_actions.js +2 -2
- package/dest/test/utils.js +4 -4
- package/dest/utils.js +2 -3
- package/package.json +6 -5
- package/src/acvm/deserialize.ts +8 -0
- package/src/acvm/oracle/oracle.ts +30 -6
- package/src/acvm/oracle/typed_oracle.ts +13 -5
- package/src/avm/avm_context.ts +5 -5
- package/src/avm/avm_memory_types.ts +18 -3
- package/src/avm/avm_simulator.ts +22 -24
- package/src/avm/fixtures/index.ts +34 -9
- package/src/avm/journal/host_storage.ts +5 -11
- package/src/avm/journal/journal.ts +147 -182
- package/src/avm/journal/nullifiers.ts +170 -0
- package/src/avm/journal/public_storage.ts +149 -0
- package/src/avm/journal/trace.ts +223 -0
- package/src/avm/journal/trace_types.ts +79 -0
- package/src/avm/opcodes/accrued_substate.ts +132 -10
- package/src/avm/opcodes/comparators.ts +4 -7
- package/src/avm/opcodes/environment_getters.ts +15 -13
- package/src/avm/opcodes/external_calls.ts +4 -4
- package/src/avm/opcodes/hashing.ts +170 -0
- package/src/avm/opcodes/memory.ts +1 -0
- package/src/avm/opcodes/storage.ts +5 -2
- package/src/avm/serialization/bytecode_serialization.ts +13 -6
- package/src/avm/serialization/instruction_serialization.ts +6 -3
- package/src/avm/temporary_executor_migration.ts +4 -3
- package/src/client/client_execution_context.ts +53 -23
- package/src/client/db_oracle.ts +8 -0
- package/src/client/execution_note_cache.ts +1 -1
- package/src/client/execution_result.ts +2 -2
- package/src/client/private_execution.ts +5 -4
- package/src/client/simulator.ts +2 -1
- package/src/client/view_data_oracle.ts +14 -4
- package/src/public/db.ts +19 -4
- package/src/public/execution.ts +30 -6
- package/src/public/executor.ts +29 -9
- package/src/public/public_execution_context.ts +36 -12
- package/src/public/state_actions.ts +1 -1
- package/src/test/utils.ts +3 -3
- package/src/utils.ts +1 -1
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
var _ClientExecutionContext_instances, _ClientExecutionContext_checkValidStaticCall;
|
|
2
|
+
import { __classPrivateFieldGet } from "tslib";
|
|
3
|
+
import { FunctionL2Logs, L1NotePayload, Note, TaggedNote, } from '@aztec/circuit-types';
|
|
4
|
+
import { CallContext, ContractDeploymentData, FunctionData, FunctionSelector, NoteHashReadRequestMembershipWitness, PublicCallRequest, TxContext, } from '@aztec/circuits.js';
|
|
5
|
+
import { computePublicDataTreeLeafSlot, computeUniqueCommitment, siloNoteHash } from '@aztec/circuits.js/hash';
|
|
4
6
|
import { countArgumentsSize } from '@aztec/foundation/abi';
|
|
5
7
|
import { Fr } from '@aztec/foundation/fields';
|
|
6
8
|
import { createDebugLogger } from '@aztec/foundation/log';
|
|
@@ -18,6 +20,7 @@ export class ClientExecutionContext extends ViewDataOracle {
|
|
|
18
20
|
/** List of transient auth witnesses to be used during this simulation */
|
|
19
21
|
authWitnesses, packedArgsCache, noteCache, db, curve, node, log = createDebugLogger('aztec:simulator:client_execution_context')) {
|
|
20
22
|
super(contractAddress, authWitnesses, db, node, log);
|
|
23
|
+
_ClientExecutionContext_instances.add(this);
|
|
21
24
|
this.contractAddress = contractAddress;
|
|
22
25
|
this.argsHash = argsHash;
|
|
23
26
|
this.txContext = txContext;
|
|
@@ -83,17 +86,17 @@ export class ClientExecutionContext extends ViewDataOracle {
|
|
|
83
86
|
* or to flag non-transient reads with their leafIndex.
|
|
84
87
|
* The KernelProver will use this to fully populate witnesses and provide hints to
|
|
85
88
|
* the kernel regarding which commitments each transient read request corresponds to.
|
|
86
|
-
* @param
|
|
89
|
+
* @param noteHashReadRequests - SideEffect containing Note hashed of the notes being read and counter.
|
|
87
90
|
* @returns An array of partially filled in read request membership witnesses.
|
|
88
91
|
*/
|
|
89
|
-
|
|
90
|
-
return
|
|
92
|
+
getNoteHashReadRequestPartialWitnesses(noteHashReadRequests) {
|
|
93
|
+
return noteHashReadRequests
|
|
91
94
|
.filter(r => !r.isEmpty())
|
|
92
95
|
.map(r => {
|
|
93
96
|
const index = this.gotNotes.get(r.value.toBigInt());
|
|
94
97
|
return index !== undefined
|
|
95
|
-
?
|
|
96
|
-
:
|
|
98
|
+
? NoteHashReadRequestMembershipWitness.empty(index)
|
|
99
|
+
: NoteHashReadRequestMembershipWitness.emptyTransient();
|
|
97
100
|
});
|
|
98
101
|
}
|
|
99
102
|
/**
|
|
@@ -156,9 +159,9 @@ export class ClientExecutionContext extends ViewDataOracle {
|
|
|
156
159
|
*/
|
|
157
160
|
async getNotes(storageSlot, numSelects, selectBy, selectValues, selectComparators, sortBy, sortOrder, limit, offset, status) {
|
|
158
161
|
// Nullified pending notes are already removed from the list.
|
|
159
|
-
const pendingNotes = this.noteCache.getNotes(this.
|
|
160
|
-
const pendingNullifiers = this.noteCache.getNullifiers(this.
|
|
161
|
-
const dbNotes = await this.db.getNotes(this.
|
|
162
|
+
const pendingNotes = this.noteCache.getNotes(this.callContext.storageContractAddress, storageSlot);
|
|
163
|
+
const pendingNullifiers = this.noteCache.getNullifiers(this.callContext.storageContractAddress);
|
|
164
|
+
const dbNotes = await this.db.getNotes(this.callContext.storageContractAddress, storageSlot, status);
|
|
162
165
|
const dbNotesFiltered = dbNotes.filter(n => !pendingNullifiers.has(n.siloedNullifier.value));
|
|
163
166
|
const notes = pickNotes([...dbNotesFiltered, ...pendingNotes], {
|
|
164
167
|
selects: selectBy
|
|
@@ -168,12 +171,12 @@ export class ClientExecutionContext extends ViewDataOracle {
|
|
|
168
171
|
limit,
|
|
169
172
|
offset,
|
|
170
173
|
});
|
|
171
|
-
this.log(`Returning ${notes.length} notes for ${this.
|
|
174
|
+
this.log(`Returning ${notes.length} notes for ${this.callContext.storageContractAddress} at ${storageSlot}: ${notes
|
|
172
175
|
.map(n => `${n.nonce.toString()}:[${n.note.items.map(i => i.toString()).join(',')}]`)
|
|
173
176
|
.join(', ')}`);
|
|
174
177
|
notes.forEach(n => {
|
|
175
178
|
if (n.index !== undefined) {
|
|
176
|
-
const siloedNoteHash =
|
|
179
|
+
const siloedNoteHash = siloNoteHash(n.contractAddress, n.innerNoteHash);
|
|
177
180
|
const uniqueSiloedNoteHash = computeUniqueCommitment(n.nonce, siloedNoteHash);
|
|
178
181
|
// TODO(https://github.com/AztecProtocol/aztec-packages/issues/1386)
|
|
179
182
|
// Should always be uniqueSiloedNoteHash when publicly created notes include nonces.
|
|
@@ -196,7 +199,7 @@ export class ClientExecutionContext extends ViewDataOracle {
|
|
|
196
199
|
notifyCreatedNote(storageSlot, noteTypeId, noteItems, innerNoteHash) {
|
|
197
200
|
const note = new Note(noteItems);
|
|
198
201
|
this.noteCache.addNewNote({
|
|
199
|
-
contractAddress: this.
|
|
202
|
+
contractAddress: this.callContext.storageContractAddress,
|
|
200
203
|
storageSlot,
|
|
201
204
|
nonce: Fr.ZERO, // Nonce cannot be known during private execution.
|
|
202
205
|
note,
|
|
@@ -216,7 +219,7 @@ export class ClientExecutionContext extends ViewDataOracle {
|
|
|
216
219
|
* @param innerNoteHash - The inner note hash of the new note.
|
|
217
220
|
*/
|
|
218
221
|
notifyNullifiedNote(innerNullifier, innerNoteHash) {
|
|
219
|
-
this.noteCache.nullifyNote(this.
|
|
222
|
+
this.noteCache.nullifyNote(this.callContext.storageContractAddress, innerNullifier, innerNoteHash);
|
|
220
223
|
return Promise.resolve();
|
|
221
224
|
}
|
|
222
225
|
/**
|
|
@@ -230,7 +233,8 @@ export class ClientExecutionContext extends ViewDataOracle {
|
|
|
230
233
|
emitEncryptedLog(contractAddress, storageSlot, noteTypeId, publicKey, log) {
|
|
231
234
|
const note = new Note(log);
|
|
232
235
|
const l1NotePayload = new L1NotePayload(note, contractAddress, storageSlot, noteTypeId);
|
|
233
|
-
const
|
|
236
|
+
const taggedNote = new TaggedNote(l1NotePayload);
|
|
237
|
+
const encryptedNote = taggedNote.toEncryptedBuffer(publicKey, this.curve);
|
|
234
238
|
this.encryptedLogs.push(encryptedNote);
|
|
235
239
|
}
|
|
236
240
|
/**
|
|
@@ -248,16 +252,22 @@ export class ClientExecutionContext extends ViewDataOracle {
|
|
|
248
252
|
* @param functionSelector - The function selector of the function to call.
|
|
249
253
|
* @param argsHash - The packed arguments to pass to the function.
|
|
250
254
|
* @param sideEffectCounter - The side effect counter at the start of the call.
|
|
255
|
+
* @param isStaticCall - Whether the call is a static call.
|
|
256
|
+
* @param isStaticCall - Whether the call is a delegate call.
|
|
251
257
|
* @returns The execution result.
|
|
252
258
|
*/
|
|
253
|
-
async callPrivateFunction(targetContractAddress, functionSelector, argsHash, sideEffectCounter) {
|
|
259
|
+
async callPrivateFunction(targetContractAddress, functionSelector, argsHash, sideEffectCounter, isStaticCall, isDelegateCall) {
|
|
254
260
|
this.log(`Calling private function ${this.contractAddress}:${functionSelector} from ${this.callContext.storageContractAddress}`);
|
|
261
|
+
isStaticCall = isStaticCall || this.callContext.isStaticCall;
|
|
255
262
|
const targetArtifact = await this.db.getFunctionArtifact(targetContractAddress, functionSelector);
|
|
256
263
|
const targetFunctionData = FunctionData.fromAbi(targetArtifact);
|
|
257
264
|
const derivedTxContext = new TxContext(false, false, false, ContractDeploymentData.empty(), this.txContext.chainId, this.txContext.version);
|
|
258
|
-
const derivedCallContext = await this.deriveCallContext(targetContractAddress, targetArtifact, sideEffectCounter,
|
|
265
|
+
const derivedCallContext = await this.deriveCallContext(targetContractAddress, targetArtifact, sideEffectCounter, isDelegateCall, isStaticCall);
|
|
259
266
|
const context = new ClientExecutionContext(targetContractAddress, argsHash, derivedTxContext, derivedCallContext, this.historicalHeader, this.authWitnesses, this.packedArgsCache, this.noteCache, this.db, this.curve, this.node);
|
|
260
267
|
const childExecutionResult = await executePrivateFunction(context, targetArtifact, targetContractAddress, targetFunctionData);
|
|
268
|
+
if (isStaticCall) {
|
|
269
|
+
__classPrivateFieldGet(this, _ClientExecutionContext_instances, "m", _ClientExecutionContext_checkValidStaticCall).call(this, childExecutionResult);
|
|
270
|
+
}
|
|
261
271
|
this.nestedExecutions.push(childExecutionResult);
|
|
262
272
|
return childExecutionResult.callStackItem;
|
|
263
273
|
}
|
|
@@ -269,15 +279,18 @@ export class ClientExecutionContext extends ViewDataOracle {
|
|
|
269
279
|
* @param functionSelector - The function selector of the function to call.
|
|
270
280
|
* @param argsHash - The packed arguments to pass to the function.
|
|
271
281
|
* @param sideEffectCounter - The side effect counter at the start of the call.
|
|
282
|
+
* @param isStaticCall - Whether the call is a static call.
|
|
272
283
|
* @returns The public call stack item with the request information.
|
|
273
284
|
*/
|
|
274
|
-
async enqueuePublicFunctionCall(targetContractAddress, functionSelector, argsHash, sideEffectCounter) {
|
|
285
|
+
async enqueuePublicFunctionCall(targetContractAddress, functionSelector, argsHash, sideEffectCounter, isStaticCall, isDelegateCall) {
|
|
286
|
+
isStaticCall = isStaticCall || this.callContext.isStaticCall;
|
|
275
287
|
const targetArtifact = await this.db.getFunctionArtifact(targetContractAddress, functionSelector);
|
|
276
|
-
const derivedCallContext = await this.deriveCallContext(targetContractAddress, targetArtifact, sideEffectCounter,
|
|
288
|
+
const derivedCallContext = await this.deriveCallContext(targetContractAddress, targetArtifact, sideEffectCounter, isDelegateCall, isStaticCall);
|
|
277
289
|
const args = this.packedArgsCache.unpack(argsHash);
|
|
278
290
|
const enqueuedRequest = PublicCallRequest.from({
|
|
279
291
|
args,
|
|
280
292
|
callContext: derivedCallContext,
|
|
293
|
+
parentCallContext: this.callContext,
|
|
281
294
|
functionData: FunctionData.fromAbi(targetArtifact),
|
|
282
295
|
contractAddress: targetContractAddress,
|
|
283
296
|
});
|
|
@@ -285,7 +298,7 @@ export class ClientExecutionContext extends ViewDataOracle {
|
|
|
285
298
|
// side-effect counter, that will leak info about how many other private
|
|
286
299
|
// side-effects occurred in the TX. Ultimately the private kernel should
|
|
287
300
|
// just output everything in the proper order without any counters.
|
|
288
|
-
this.log(`Enqueued call to public function (with side-effect counter #${sideEffectCounter}) ${targetContractAddress}:${functionSelector}`);
|
|
301
|
+
this.log(`Enqueued call to public function (with side-effect counter #${sideEffectCounter}) ${targetContractAddress}:${functionSelector}(${targetArtifact.name})`);
|
|
289
302
|
this.enqueuedPublicFunctionCalls.push(enqueuedRequest);
|
|
290
303
|
return enqueuedRequest;
|
|
291
304
|
}
|
|
@@ -300,7 +313,7 @@ export class ClientExecutionContext extends ViewDataOracle {
|
|
|
300
313
|
*/
|
|
301
314
|
async deriveCallContext(targetContractAddress, targetArtifact, startSideEffectCounter, isDelegateCall = false, isStaticCall = false) {
|
|
302
315
|
const portalContractAddress = await this.db.getPortalContractAddress(targetContractAddress);
|
|
303
|
-
return new CallContext(this.contractAddress, targetContractAddress, portalContractAddress, FunctionSelector.fromNameAndParameters(targetArtifact.name, targetArtifact.parameters), isDelegateCall, isStaticCall, false, startSideEffectCounter);
|
|
316
|
+
return new CallContext(isDelegateCall ? this.callContext.msgSender : this.contractAddress, isDelegateCall ? this.contractAddress : targetContractAddress, portalContractAddress, FunctionSelector.fromNameAndParameters(targetArtifact.name, targetArtifact.parameters), isDelegateCall, isStaticCall, false, startSideEffectCounter);
|
|
304
317
|
}
|
|
305
318
|
/**
|
|
306
319
|
* Read the public storage data.
|
|
@@ -314,7 +327,7 @@ export class ClientExecutionContext extends ViewDataOracle {
|
|
|
314
327
|
const values = [];
|
|
315
328
|
for (let i = 0n; i < numberOfElements; i++) {
|
|
316
329
|
const storageSlot = new Fr(startStorageSlot.value + i);
|
|
317
|
-
const leafSlot = computePublicDataTreeLeafSlot(this.
|
|
330
|
+
const leafSlot = computePublicDataTreeLeafSlot(this.callContext.storageContractAddress, storageSlot);
|
|
318
331
|
const witness = await this.db.getPublicDataTreeWitness(bn, leafSlot);
|
|
319
332
|
if (!witness) {
|
|
320
333
|
throw new Error(`No witness for slot ${storageSlot.toString()}`);
|
|
@@ -326,4 +339,13 @@ export class ClientExecutionContext extends ViewDataOracle {
|
|
|
326
339
|
return values;
|
|
327
340
|
}
|
|
328
341
|
}
|
|
329
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50X2V4ZWN1dGlvbl9jb250ZXh0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NsaWVudC9jbGllbnRfZXhlY3V0aW9uX2NvbnRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUdMLGNBQWMsRUFDZCxhQUFhLEVBQ2IsSUFBSSxHQUdMLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUNMLFdBQVcsRUFDWCxzQkFBc0IsRUFDdEIsWUFBWSxFQUNaLGdCQUFnQixFQUVoQixpQkFBaUIsRUFDakIsNEJBQTRCLEVBRTVCLFNBQVMsR0FDVixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSx1QkFBdUIsRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUVqSCxPQUFPLEVBQWlDLGtCQUFrQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFMUYsT0FBTyxFQUFFLEVBQUUsRUFBUyxNQUFNLDBCQUEwQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRTFELE9BQU8sRUFBWSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUszRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXZEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLHNCQUF1QixTQUFRLGNBQWM7SUF3QnhELFlBQ3FCLGVBQTZCLEVBQy9CLFFBQVksRUFDWixTQUFvQixFQUNwQixXQUF3QjtJQUN6QyxxSEFBcUg7SUFDbEcsZ0JBQXdCO0lBQzNDLHlFQUF5RTtJQUN0RCxhQUE0QixFQUM5QixlQUFnQyxFQUNoQyxTQUE2QixFQUMzQixFQUFZLEVBQ2QsS0FBZSxFQUN4QixJ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
|
|
342
|
+
_ClientExecutionContext_instances = new WeakSet(), _ClientExecutionContext_checkValidStaticCall = function _ClientExecutionContext_checkValidStaticCall(childExecutionResult) {
|
|
343
|
+
if (childExecutionResult.callStackItem.publicInputs.newNoteHashes.some(item => !item.isEmpty()) ||
|
|
344
|
+
childExecutionResult.callStackItem.publicInputs.newNullifiers.some(item => !item.isEmpty()) ||
|
|
345
|
+
childExecutionResult.callStackItem.publicInputs.newL2ToL1Msgs.some(item => !item.isEmpty()) ||
|
|
346
|
+
!childExecutionResult.callStackItem.publicInputs.encryptedLogPreimagesLength.equals(new Fr(4)) ||
|
|
347
|
+
!childExecutionResult.callStackItem.publicInputs.unencryptedLogPreimagesLength.equals(new Fr(4))) {
|
|
348
|
+
throw new Error(`Static call cannot create new notes, emit L2->L1 messages or generate logs`);
|
|
349
|
+
}
|
|
350
|
+
};
|
|
351
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50X2V4ZWN1dGlvbl9jb250ZXh0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NsaWVudC9jbGllbnRfZXhlY3V0aW9uX2NvbnRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBR0wsY0FBYyxFQUNkLGFBQWEsRUFDYixJQUFJLEVBRUosVUFBVSxHQUVYLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUNMLFdBQVcsRUFDWCxzQkFBc0IsRUFDdEIsWUFBWSxFQUNaLGdCQUFnQixFQUVoQixvQ0FBb0MsRUFDcEMsaUJBQWlCLEVBRWpCLFNBQVMsR0FDVixNQUFNLG9CQUFvQixDQUFDO0FBRTVCLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSx1QkFBdUIsRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMvRyxPQUFPLEVBQWlDLGtCQUFrQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFMUYsT0FBTyxFQUFFLEVBQUUsRUFBUyxNQUFNLDBCQUEwQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRTFELE9BQU8sRUFBWSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUszRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXZEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLHNCQUF1QixTQUFRLGNBQWM7SUF3QnhELFlBQ3FCLGVBQTZCLEVBQy9CLFFBQVksRUFDWixTQUFvQixFQUNwQixXQUF3QjtJQUN6QyxxSEFBcUg7SUFDbEcsZ0JBQXdCO0lBQzNDLHlFQUF5RTtJQUN0RCxhQUE0QixFQUM5QixlQUFnQyxFQUNoQyxTQUE2QixFQUMzQixFQUFZLEVBQ2QsS0FBZSxFQUN4QixJQUFlLEVBQ2IsTUFBTSxpQkFBaUIsQ0FBQywwQ0FBMEMsQ0FBQztRQUU3RSxLQUFLLENBQUMsZUFBZSxFQUFFLGFBQWEsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDOztRQWZsQyxvQkFBZSxHQUFmLGVBQWUsQ0FBYztRQUMvQixhQUFRLEdBQVIsUUFBUSxDQUFJO1FBQ1osY0FBUyxHQUFULFNBQVMsQ0FBVztRQUNwQixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUV0QixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQVE7UUFFeEIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDOUIsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLGNBQVMsR0FBVCxTQUFTLENBQW9CO1FBQzNCLE9BQUUsR0FBRixFQUFFLENBQVU7UUFDZCxVQUFLLEdBQUwsS0FBSyxDQUFVO1FBQ3hCLFNBQUksR0FBSixJQUFJLENBQVc7UUFDYixRQUFHLEdBQUgsR0FBRyxDQUFnRTtRQXJDL0U7Ozs7OztXQU1HO1FBQ0ssYUFBUSxHQUFrQixFQUFFLENBQUM7UUFDckM7Ozs7Ozs7O1dBUUc7UUFDSyxhQUFRLEdBQXdCLElBQUksR0FBRyxFQUFFLENBQUM7UUFDMUMsa0JBQWEsR0FBYSxFQUFFLENBQUM7UUFDN0Isb0JBQWUsR0FBdUIsRUFBRSxDQUFDO1FBQ3pDLHFCQUFnQixHQUFzQixFQUFFLENBQUM7UUFDekMsZ0NBQTJCLEdBQXdCLEVBQUUsQ0FBQztJQW1COUQsQ0FBQztJQUVELGlHQUFpRztJQUNqRyw4RkFBOEY7SUFDOUY7Ozs7T0FJRztJQUNJLGlCQUFpQixDQUFDLEdBQWdCO1FBQ3ZDLE1BQU0sc0JBQXNCLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxzQkFBc0IsQ0FBQztRQUVyRSxNQUFNLGFBQWEsR0FBRyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUU5QyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFeEQsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLGFBQWEsRUFBRSxDQUFDO1lBQ2xDLE1BQU0sSUFBSSxLQUFLLENBQUMsd0JBQXdCLENBQUMsQ0FBQztRQUM1QyxDQUFDO1FBRUQsTUFBTSxNQUFNLEdBQUc7WUFDYixHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFO1lBQzlCLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRTtZQUNuQyxHQUFHLHNCQUFzQixDQUFDLFFBQVEsRUFBRTtZQUVwQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU87WUFDdEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPO1lBRXRCLEdBQUcsSUFBSTtTQUNSLENBQUM7UUFFRixPQUFPLGFBQWEsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0ksc0NBQXNDLENBQUMsb0JBQWtDO1FBQzlFLE9BQU8sb0JBQW9CO2FBQ3hCLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO2FBQ3pCLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNQLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztZQUNwRCxPQUFPLEtBQUssS0FBSyxTQUFTO2dCQUN4QixDQUFDLENBQUMsb0NBQW9DLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztnQkFDbkQsQ0FBQyxDQUFDLG9DQUFvQyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQzVELENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVEOzs7T0FHRztJQUNJLFdBQVc7UUFDaEIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFFRDs7T0FFRztJQUNJLGdCQUFnQjtRQUNyQixPQUFPLElBQUksY0FBYyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxrQkFBa0I7UUFDdkIsT0FBTyxJQUFJLGNBQWMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDN0UsQ0FBQztJQUVEOztPQUVHO0lBQ0ksbUJBQW1CO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDO0lBQy9CLENBQUM7SUFFRDs7T0FFRztJQUNJLDhCQUE4QjtRQUNuQyxPQUFPLElBQUksQ0FBQywyQkFBMkIsQ0FBQztJQUMxQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksYUFBYSxDQUFDLElBQVU7UUFDN0IsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O09BbUJHO0lBQ0ksS0FBSyxDQUFDLFFBQVEsQ0FDbkIsV0FBZSxFQUNmLFVBQWtCLEVBQ2xCLFFBQWtCLEVBQ2xCLFlBQWtCLEVBQ2xCLGlCQUEyQixFQUMzQixNQUFnQixFQUNoQixTQUFtQixFQUNuQixLQUFhLEVBQ2IsTUFBYyxFQUNkLE1BQWtCO1FBRWxCLDZEQUE2RDtRQUM3RCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLHNCQUFzQixFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBRW5HLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBQ2hHLE1BQU0sT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxzQkFBc0IsRUFBRSxXQUFXLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDckcsTUFBTSxlQUFlLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFFLENBQUMsQ0FBQyxlQUFzQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFFckcsTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFXLENBQUMsR0FBRyxlQUFlLEVBQUUsR0FBRyxZQUFZLENBQUMsRUFBRTtZQUN2RSxPQUFPLEVBQUUsUUFBUTtpQkFDZCxLQUFLLENBQUMsQ0FBQyxFQUFFLFVBQVUsQ0FBQztpQkFDcEIsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQyxFQUFFLFVBQVUsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDM0YsS0FBSyxFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ2pFLEtBQUs7WUFDTCxNQUFNO1NBQ1AsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLEdBQUcsQ0FDTixhQUFhLEtBQUssQ0FBQyxNQUFNLGNBQWMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxzQkFBc0IsT0FBTyxXQUFXLEtBQUssS0FBSzthQUN2RyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUM7YUFDcEYsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQ2hCLENBQUM7UUFFRixLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ2hCLElBQUksQ0FBQyxDQUFDLEtBQUssS0FBSyxTQUFTLEVBQUUsQ0FBQztnQkFDMUIsTUFBTSxjQUFjLEdBQUcsWUFBWSxDQUFDLENBQUMsQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDO2dCQUN4RSxNQUFNLG9CQUFvQixHQUFHLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsY0FBYyxDQUFDLENBQUM7Z0JBQzlFLG9FQUFvRTtnQkFDcEUsb0ZBQW9GO2dCQUNwRixNQUFNLHNCQUFzQixHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUM7Z0JBQ3hGLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLHNCQUFzQixDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDM0QsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQ7Ozs7Ozs7OztPQVNHO0lBQ0ksaUJBQWlCLENBQUMsV0FBZSxFQUFFLFVBQWMsRUFBRSxTQUFlLEVBQUUsYUFBaUI7UUFDMUYsTUFBTSxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDakMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUM7WUFDeEIsZUFBZSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsc0JBQXNCO1lBQ3hELFdBQVc7WUFDWCxLQUFLLEVBQUUsRUFBRSxDQUFDLElBQUksRUFBRSxrREFBa0Q7WUFDbEUsSUFBSTtZQUNKLGVBQWUsRUFBRSxTQUFTLEVBQUUsMkRBQTJEO1lBQ3ZGLGFBQWE7U0FDZCxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztZQUNqQixXQUFXO1lBQ1gsVUFBVTtZQUNWLElBQUk7U0FDTCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxtQkFBbUIsQ0FBQyxjQUFrQixFQUFFLGFBQWlCO1FBQzlELElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsc0JBQXNCLEVBQUUsY0FBYyxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBQ25HLE9BQU8sT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0ksZ0JBQWdCLENBQUMsZUFBNkIsRUFBRSxXQUFlLEVBQUUsVUFBYyxFQUFFLFNBQWdCLEVBQUUsR0FBUztRQUNqSCxNQUFNLElBQUksR0FBRyxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMzQixNQUFNLGFBQWEsR0FBRyxJQUFJLGFBQWEsQ0FBQyxJQUFJLEVBQUUsZUFBZSxFQUFFLFdBQVcsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUN4RixNQUFNLFVBQVUsR0FBRyxJQUFJLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNqRCxNQUFNLGFBQWEsR0FBRyxVQUFVLENBQUMsaUJBQWlCLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMxRSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksa0JBQWtCLENBQUMsR0FBcUI7UUFDN0MsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0IsTUFBTSxJQUFJLEdBQUcsR0FBRyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ25DLElBQUksQ0FBQyxHQUFHLENBQUMsNkJBQTZCLElBQUksQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUM7SUFDbEcsQ0FBQztJQWNEOzs7Ozs7Ozs7T0FTRztJQUNILEtBQUssQ0FBQyxtQkFBbUIsQ0FDdkIscUJBQW1DLEVBQ25DLGdCQUFrQyxFQUNsQyxRQUFZLEVBQ1osaUJBQXlCLEVBQ3pCLFlBQXFCLEVBQ3JCLGNBQXVCO1FBRXZCLElBQUksQ0FBQyxHQUFHLENBQ04sNEJBQTRCLElBQUksQ0FBQyxlQUFlLElBQUksZ0JBQWdCLFNBQVMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxzQkFBc0IsRUFBRSxDQUN2SCxDQUFDO1FBRUYsWUFBWSxHQUFHLFlBQVksSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQztRQUU3RCxNQUFNLGNBQWMsR0FBRyxNQUFNLElBQUksQ0FBQyxFQUFFLENBQUMsbUJBQW1CLENBQUMscUJBQXFCLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztRQUNsRyxNQUFNLGtCQUFrQixHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLENBQUM7UUFFaEUsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLFNBQVMsQ0FDcEMsS0FBSyxFQUNMLEtBQUssRUFDTCxLQUFLLEVBQ0wsc0JBQXNCLENBQUMsS0FBSyxFQUFFLEVBQzlCLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUN0QixJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FDdkIsQ0FBQztRQUVGLE1BQU0sa0JBQWtCLEdBQUcsTUFBTSxJQUFJLENBQUMsaUJBQWlCLENBQ3JELHFCQUFxQixFQUNyQixjQUFjLEVBQ2QsaUJBQWlCLEVBQ2pCLGNBQWMsRUFDZCxZQUFZLENBQ2IsQ0FBQztRQUVGLE1BQU0sT0FBTyxHQUFHLElBQUksc0JBQXNCLENBQ3hDLHFCQUFxQixFQUNyQixRQUFRLEVBQ1IsZ0JBQWdCLEVBQ2hCLGtCQUFrQixFQUNsQixJQUFJLENBQUMsZ0JBQWdCLEVBQ3JCLElBQUksQ0FBQyxhQUFhLEVBQ2xCLElBQUksQ0FBQyxlQUFlLEVBQ3BCLElBQUksQ0FBQyxTQUFTLEVBQ2QsSUFBSSxDQUFDLEVBQUUsRUFDUCxJQUFJLENBQUMsS0FBSyxFQUNWLElBQUksQ0FBQyxJQUFJLENBQ1YsQ0FBQztRQUVGLE1BQU0sb0JBQW9CLEdBQUcsTUFBTSxzQkFBc0IsQ0FDdkQsT0FBTyxFQUNQLGNBQWMsRUFDZCxxQkFBcUIsRUFDckIsa0JBQWtCLENBQ25CLENBQUM7UUFFRixJQUFJLFlBQVksRUFBRSxDQUFDO1lBQ2pCLHVCQUFBLElBQUksdUZBQXNCLE1BQTFCLElBQUksRUFBdUIsb0JBQW9CLENBQUMsQ0FBQztRQUNuRCxDQUFDO1FBRUQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBRWpELE9BQU8sb0JBQW9CLENBQUMsYUFBYSxDQUFDO0lBQzVDLENBQUM7SUFFRDs7Ozs7Ozs7OztPQVVHO0lBQ0ksS0FBSyxDQUFDLHlCQUF5QixDQUNwQyxxQkFBbUMsRUFDbkMsZ0JBQWtDLEVBQ2xDLFFBQVksRUFDWixpQkFBeUIsRUFDekIsWUFBcUIsRUFDckIsY0FBdUI7UUFFdkIsWUFBWSxHQUFHLFlBQVksSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQztRQUU3RCxNQUFNLGNBQWMsR0FBRyxNQUFNLElBQUksQ0FBQyxFQUFFLENBQUMsbUJBQW1CLENBQUMscUJBQXFCLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztRQUNsRyxNQUFNLGtCQUFrQixHQUFHLE1BQU0sSUFBSSxDQUFDLGlCQUFpQixDQUNyRCxxQkFBcUIsRUFDckIsY0FBYyxFQUNkLGlCQUFpQixFQUNqQixjQUFjLEVBQ2QsWUFBWSxDQUNiLENBQUM7UUFDRixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNuRCxNQUFNLGVBQWUsR0FBRyxpQkFBaUIsQ0FBQyxJQUFJLENBQUM7WUFDN0MsSUFBSTtZQUNKLFdBQVcsRUFBRSxrQkFBa0I7WUFDL0IsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLFdBQVc7WUFDbkMsWUFBWSxFQUFFLFlBQVksQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDO1lBQ2xELGVBQWUsRUFBRSxxQkFBcUI7U0FDdkMsQ0FBQyxDQUFDO1FBRUgsa0VBQWtFO1FBQ2xFLHdFQUF3RTtRQUN4RSx3RUFBd0U7UUFDeEUsbUVBQW1FO1FBQ25FLElBQUksQ0FBQyxHQUFHLENBQ04sK0RBQStELGlCQUFpQixLQUFLLHFCQUFxQixJQUFJLGdCQUFnQixJQUFJLGNBQWMsQ0FBQyxJQUFJLEdBQUcsQ0FDekosQ0FBQztRQUVGLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7UUFFdkQsT0FBTyxlQUFlLENBQUM7SUFDekIsQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0ssS0FBSyxDQUFDLGlCQUFpQixDQUM3QixxQkFBbUMsRUFDbkMsY0FBZ0MsRUFDaEMsc0JBQThCLEVBQzlCLGNBQWMsR0FBRyxLQUFLLEVBQ3RCLFlBQVksR0FBRyxLQUFLO1FBRXBCLE1BQU0scUJBQXFCLEdBQUcsTUFBTSxJQUFJLENBQUMsRUFBRSxDQUFDLHdCQUF3QixDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDNUYsT0FBTyxJQUFJLFdBQVcsQ0FDcEIsY0FBYyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFDbEUsY0FBYyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxxQkFBcUIsRUFDN0QscUJBQXFCLEVBQ3JCLGdCQUFnQixDQUFDLHFCQUFxQixDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsY0FBYyxDQUFDLFVBQVUsQ0FBQyxFQUN0RixjQUFjLEVBQ2QsWUFBWSxFQUNaLEtBQUssRUFDTCxzQkFBc0IsQ0FDdkIsQ0FBQztJQUNKLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksS0FBSyxDQUFDLFdBQVcsQ0FBQyxnQkFBb0IsRUFBRSxnQkFBd0I7UUFDckUsb0dBQW9HO1FBQ3BHLHVDQUF1QztRQUN2QyxNQUFNLEVBQUUsR0FBRyxNQUFNLElBQUksQ0FBQyxFQUFFLENBQUMsY0FBYyxFQUFFLENBQUM7UUFFMUMsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLEtBQUssSUFBSSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxnQkFBZ0IsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQzNDLE1BQU0sV0FBVyxHQUFHLElBQUksRUFBRSxDQUFDLGdCQUFnQixDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQztZQUN2RCxNQUFNLFFBQVEsR0FBRyw2QkFBNkIsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLHNCQUFzQixFQUFFLFdBQVcsQ0FBQyxDQUFDO1lBQ3JHLE1BQU0sT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQyxFQUFFLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDckUsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUNiLE1BQU0sSUFBSSxLQUFLLENBQUMsdUJBQXVCLFdBQVcsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDbkUsQ0FBQztZQUNELE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDO1lBQ3pDLElBQUksQ0FBQyxHQUFHLENBQUMsNkJBQTZCLFdBQVcsQ0FBQyxRQUFRLEVBQUUsVUFBVSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1lBQy9FLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckIsQ0FBQztRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7Q0FDRjt3SkE5THVCLG9CQUFxQztJQUN6RCxJQUNFLG9CQUFvQixDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzNGLG9CQUFvQixDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzNGLG9CQUFvQixDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzNGLENBQUMsb0JBQW9CLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQywyQkFBMkIsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDOUYsQ0FBQyxvQkFBb0IsQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLDZCQUE2QixDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUNoRyxDQUFDO1FBQ0QsTUFBTSxJQUFJLEtBQUssQ0FBQyw0RUFBNEUsQ0FBQyxDQUFDO0lBQ2hHLENBQUM7QUFDSCxDQUFDIn0=
|
|
@@ -4,6 +4,7 @@ import { FunctionArtifactWithDebugMetadata, FunctionSelector } from '@aztec/foun
|
|
|
4
4
|
import { AztecAddress } from '@aztec/foundation/aztec-address';
|
|
5
5
|
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
6
6
|
import { Fr } from '@aztec/foundation/fields';
|
|
7
|
+
import { ContractInstance } from '@aztec/types/contracts';
|
|
7
8
|
import { KeyPair, NoteData } from '../acvm/index.js';
|
|
8
9
|
import { CommitmentsDB } from '../public/db.js';
|
|
9
10
|
/**
|
|
@@ -22,6 +23,12 @@ export declare class ContractClassNotFoundError extends Error {
|
|
|
22
23
|
* The database oracle interface.
|
|
23
24
|
*/
|
|
24
25
|
export interface DBOracle extends CommitmentsDB {
|
|
26
|
+
/**
|
|
27
|
+
* Returns a contract instance associated with an address, if available.
|
|
28
|
+
* @param address - Address.
|
|
29
|
+
* @returns A contract instance.
|
|
30
|
+
*/
|
|
31
|
+
getContractInstance(address: AztecAddress): Promise<ContractInstance>;
|
|
25
32
|
/**
|
|
26
33
|
* Retrieve the complete address associated to a given address.
|
|
27
34
|
* @param address - Address to fetch the pubkey for.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db_oracle.d.ts","sourceRoot":"","sources":["../../src/client/db_oracle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,0BAA0B,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACxH,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,iCAAiC,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC5F,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"db_oracle.d.ts","sourceRoot":"","sources":["../../src/client/db_oracle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,0BAA0B,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACxH,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,iCAAiC,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC5F,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,KAAK;gBAClC,eAAe,EAAE,MAAM;CAGpC;AAED;;GAEG;AACH,qBAAa,0BAA2B,SAAQ,KAAK;gBACvC,eAAe,EAAE,MAAM;CAGpC;AAED;;GAEG;AACH,MAAM,WAAW,QAAS,SAAQ,aAAa;IAC7C;;;;OAIG;IACH,mBAAmB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAEtE;;;;OAIG;IACH,kBAAkB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IAEpE;;;;OAIG;IACH,cAAc,CAAC,WAAW,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;IAE/C;;;;OAIG;IACH,UAAU,IAAI,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;IAE5B;;;;;;;;;OASG;IACH,mBAAmB,CAAC,cAAc,EAAE,YAAY,EAAE,eAAe,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEnG;;;;;;;;;OASG;IACH,QAAQ,CAAC,eAAe,EAAE,YAAY,EAAE,WAAW,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAElG;;;;;;;OAOG;IACH,mBAAmB,CACjB,eAAe,EAAE,YAAY,EAC7B,QAAQ,EAAE,gBAAgB,GACzB,OAAO,CAAC,iCAAiC,CAAC,CAAC;IAE9C;;;;;;;OAOG;IACH,yBAAyB,CACvB,eAAe,EAAE,YAAY,EAC7B,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,iCAAiC,GAAG,SAAS,CAAC,CAAC;IAE1D;;;;;;OAMG;IACH,wBAAwB,CAAC,eAAe,EAAE,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAE7E;;;;OAIG;IACH,iBAAiB,CAAC,SAAS,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAE9D;;;;;OAKG;IACH,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAE7B;;;;;;OAMG;IACH,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAErG;;;;;;OAMG;IACH,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;IAE5F;;;;;OAKG;IACH,6BAA6B,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,GAAG,OAAO,CAAC,0BAA0B,GAAG,SAAS,CAAC,CAAC;IAEnH;;;;;;;;OAQG;IACH,gCAAgC,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,GAAG,OAAO,CAAC,0BAA0B,GAAG,SAAS,CAAC,CAAC;IAEtH;;;;OAIG;IACH,wBAAwB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,GAAG,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC,CAAC;IAEpG;;;;OAIG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC,CAAC;IAE5D;;;OAGG;IACH,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;CACnC"}
|
package/dest/client/db_oracle.js
CHANGED
|
@@ -14,4 +14,4 @@ export class ContractClassNotFoundError extends Error {
|
|
|
14
14
|
super(`DB has no contract class with id ${contractClassId}`);
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGJfb3JhY2xlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NsaWVudC9kYl9vcmFjbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBV0E7O0dBRUc7QUFDSCxNQUFNLE9BQU8scUJBQXNCLFNBQVEsS0FBSztJQUM5QyxZQUFZLGVBQXVCO1FBQ2pDLEtBQUssQ0FBQyxtQ0FBbUMsZUFBZSxFQUFFLENBQUMsQ0FBQztJQUM5RCxDQUFDO0NBQ0Y7QUFFRDs7R0FFRztBQUNILE1BQU0sT0FBTywwQkFBMkIsU0FBUSxLQUFLO0lBQ25ELFlBQVksZUFBdUI7UUFDakMsS0FBSyxDQUFDLG9DQUFvQyxlQUFlLEVBQUUsQ0FBQyxDQUFDO0lBQy9ELENBQUM7Q0FDRiJ9
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/// <reference types="node" resolution-mode="require"/>
|
|
2
2
|
import { FunctionL2Logs, Note } from '@aztec/circuit-types';
|
|
3
|
-
import { PrivateCallStackItem, PublicCallRequest
|
|
3
|
+
import { NoteHashReadRequestMembershipWitness, PrivateCallStackItem, PublicCallRequest } from '@aztec/circuits.js';
|
|
4
4
|
import { DecodedReturn } from '@aztec/foundation/abi';
|
|
5
5
|
import { Fr } from '@aztec/foundation/fields';
|
|
6
6
|
import { ACVMField } from '../acvm/index.js';
|
|
@@ -28,7 +28,7 @@ export interface ExecutionResult {
|
|
|
28
28
|
/** The call stack item. */
|
|
29
29
|
callStackItem: PrivateCallStackItem;
|
|
30
30
|
/** The partially filled-in read request membership witnesses for commitments being read. */
|
|
31
|
-
|
|
31
|
+
noteHashReadRequestPartialWitnesses: NoteHashReadRequestMembershipWitness[];
|
|
32
32
|
/** The notes created in the executed function. */
|
|
33
33
|
newNotes: NoteAndSlot[];
|
|
34
34
|
/** The decoded return values of the executed function. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execution_result.d.ts","sourceRoot":"","sources":["../../src/client/execution_result.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"execution_result.d.ts","sourceRoot":"","sources":["../../src/client/execution_result.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,oCAAoC,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACnH,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,gBAAgB;IAChB,IAAI,EAAE,IAAI,CAAC;IACX,oCAAoC;IACpC,WAAW,EAAE,EAAE,CAAC;IAChB,gCAAgC;IAChC,UAAU,EAAE,EAAE,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAE9B,yBAAyB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,4BAA4B;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,2BAA2B;IAC3B,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAEvC,2BAA2B;IAC3B,aAAa,EAAE,oBAAoB,CAAC;IACpC,4FAA4F;IAC5F,mCAAmC,EAAE,oCAAoC,EAAE,CAAC;IAE5E,kDAAkD;IAClD,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,0DAA0D;IAC1D,YAAY,EAAE,aAAa,CAAC;IAC5B,6BAA6B;IAC7B,gBAAgB,EAAE,IAAI,EAAE,CAAC;IACzB,oFAAoF;IACpF,2BAA2B,EAAE,iBAAiB,EAAE,CAAC;IACjD;;;OAGG;IACH,aAAa,EAAE,cAAc,CAAC;IAC9B;;;OAGG;IACH,eAAe,EAAE,cAAc,CAAC;CACjC;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,eAAe,GAAG,cAAc,EAAE,CAGlF;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,eAAe,GAAG,cAAc,EAAE,CAGpF;AAED;;;;GAIG;AACH,wBAAgB,kCAAkC,CAAC,UAAU,EAAE,eAAe,GAAG,iBAAiB,EAAE,CAOnG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"private_execution.d.ts","sourceRoot":"","sources":["../../src/client/private_execution.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAoD,MAAM,oBAAoB,CAAC;AACpG,OAAO,EAAE,iCAAiC,EAAsB,MAAM,uBAAuB,CAAC;AAC9F,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAQ/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAGxD;;GAEG;AACH,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,sBAAsB,EAC/B,QAAQ,EAAE,iCAAiC,EAC3C,eAAe,EAAE,YAAY,EAC7B,YAAY,EAAE,YAAY,EAC1B,GAAG,8CAAwD,GAC1D,OAAO,CAAC,eAAe,CAAC,
|
|
1
|
+
{"version":3,"file":"private_execution.d.ts","sourceRoot":"","sources":["../../src/client/private_execution.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAoD,MAAM,oBAAoB,CAAC;AACpG,OAAO,EAAE,iCAAiC,EAAsB,MAAM,uBAAuB,CAAC;AAC9F,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAQ/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAGxD;;GAEG;AACH,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,sBAAsB,EAC/B,QAAQ,EAAE,iCAAiC,EAC3C,eAAe,EAAE,YAAY,EAC7B,YAAY,EAAE,YAAY,EAC1B,GAAG,8CAAwD,GAC1D,OAAO,CAAC,eAAe,CAAC,CAuD1B"}
|
|
@@ -12,7 +12,7 @@ import { AcirSimulator } from './simulator.js';
|
|
|
12
12
|
*/
|
|
13
13
|
export async function executePrivateFunction(context, artifact, contractAddress, functionData, log = createDebugLogger('aztec:simulator:secret_execution')) {
|
|
14
14
|
const functionSelector = functionData.selector;
|
|
15
|
-
log(`Executing external function ${contractAddress}:${functionSelector}`);
|
|
15
|
+
log(`Executing external function ${contractAddress}:${functionSelector}(${artifact.name})`);
|
|
16
16
|
const acir = Buffer.from(artifact.bytecode, 'base64');
|
|
17
17
|
const initialWitness = context.getInitialWitness(artifact);
|
|
18
18
|
const acvmCallback = new Oracle(context);
|
|
@@ -33,7 +33,7 @@ export async function executePrivateFunction(context, artifact, contractAddress,
|
|
|
33
33
|
publicInputs.unencryptedLogPreimagesLength = new Fr(unencryptedLogs.getSerializedLength());
|
|
34
34
|
const callStackItem = new PrivateCallStackItem(contractAddress, functionData, publicInputs);
|
|
35
35
|
const returnValues = decodeReturnValues(artifact, publicInputs.returnValues);
|
|
36
|
-
const
|
|
36
|
+
const noteHashReadRequestPartialWitnesses = context.getNoteHashReadRequestPartialWitnesses(publicInputs.noteHashReadRequests);
|
|
37
37
|
const newNotes = context.getNewNotes();
|
|
38
38
|
const nestedExecutions = context.getNestedExecutions();
|
|
39
39
|
const enqueuedPublicFunctionCalls = context.getEnqueuedPublicFunctionCalls();
|
|
@@ -43,7 +43,7 @@ export async function executePrivateFunction(context, artifact, contractAddress,
|
|
|
43
43
|
partialWitness,
|
|
44
44
|
callStackItem,
|
|
45
45
|
returnValues,
|
|
46
|
-
|
|
46
|
+
noteHashReadRequestPartialWitnesses,
|
|
47
47
|
newNotes,
|
|
48
48
|
vk: Buffer.from(artifact.verificationKey, 'hex'),
|
|
49
49
|
nestedExecutions,
|
|
@@ -52,4 +52,4 @@ export async function executePrivateFunction(context, artifact, contractAddress,
|
|
|
52
52
|
unencryptedLogs,
|
|
53
53
|
};
|
|
54
54
|
}
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpdmF0ZV9leGVjdXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2xpZW50L3ByaXZhdGVfZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0Isb0JBQW9CLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRyxPQUFPLEVBQXFDLGtCQUFrQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFOUYsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUV4RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUdyRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFL0M7O0dBRUc7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLHNCQUFzQixDQUMxQyxPQUErQixFQUMvQixRQUEyQyxFQUMzQyxlQUE2QixFQUM3QixZQUEwQixFQUMxQixHQUFHLEdBQUcsaUJBQWlCLENBQUMsa0NBQWtDLENBQUM7SUFFM0QsTUFBTSxnQkFBZ0IsR0FBRyxZQUFZLENBQUMsUUFBUSxDQUFDO0lBQy9DLEdBQUcsQ0FBQywrQkFBK0IsZUFBZSxJQUFJLGdCQUFnQixJQUFJLFFBQVEsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDO0lBQzVGLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUN0RCxNQUFN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
|
|
@@ -38,7 +38,7 @@ export declare class AcirSimulator {
|
|
|
38
38
|
* @param msgSender - The address calling the function. This can be replaced to simulate a call from another contract or a specific account.
|
|
39
39
|
* @returns The result of the execution.
|
|
40
40
|
*/
|
|
41
|
-
run(request: TxExecutionRequest, entryPointArtifact: FunctionArtifactWithDebugMetadata, contractAddress: AztecAddress, portalContractAddress: EthAddress, msgSender?:
|
|
41
|
+
run(request: TxExecutionRequest, entryPointArtifact: FunctionArtifactWithDebugMetadata, contractAddress: AztecAddress, portalContractAddress: EthAddress, msgSender?: AztecAddress): Promise<ExecutionResult>;
|
|
42
42
|
/**
|
|
43
43
|
* Runs an unconstrained function.
|
|
44
44
|
* @param request - The transaction request.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simulator.d.ts","sourceRoot":"","sources":["../../src/client/simulator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAGzF,OAAO,EAEL,iCAAiC,EAIlC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAG9C,OAAO,EAAE,0BAA0B,EAAwB,MAAM,oBAAoB,CAAC;AAKtF,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAKxD;;GAEG;AACH,qBAAa,aAAa;IAIZ,OAAO,CAAC,EAAE;IAAY,OAAO,CAAC,IAAI;IAH9C,OAAO,CAAC,MAAM,CAAC,MAAM,CAAsC;IAC3D,OAAO,CAAC,GAAG,CAAc;gBAEL,EAAE,EAAE,QAAQ,EAAU,IAAI,EAAE,SAAS;IAIzD;;;;;;;;;;;;OAYG;WACW,SAAS,IAAI,OAAO,CAAC,0BAA0B,CAAC;IAO9D;;;;;;;;OAQG;IACU,GAAG,CACd,OAAO,EAAE,kBAAkB,EAC3B,kBAAkB,EAAE,iCAAiC,EACrD,eAAe,EAAE,YAAY,EAC7B,qBAAqB,EAAE,UAAU,EACjC,SAAS,
|
|
1
|
+
{"version":3,"file":"simulator.d.ts","sourceRoot":"","sources":["../../src/client/simulator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAGzF,OAAO,EAEL,iCAAiC,EAIlC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAG9C,OAAO,EAAE,0BAA0B,EAAwB,MAAM,oBAAoB,CAAC;AAKtF,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAKxD;;GAEG;AACH,qBAAa,aAAa;IAIZ,OAAO,CAAC,EAAE;IAAY,OAAO,CAAC,IAAI;IAH9C,OAAO,CAAC,MAAM,CAAC,MAAM,CAAsC;IAC3D,OAAO,CAAC,GAAG,CAAc;gBAEL,EAAE,EAAE,QAAQ,EAAU,IAAI,EAAE,SAAS;IAIzD;;;;;;;;;;;;OAYG;WACW,SAAS,IAAI,OAAO,CAAC,0BAA0B,CAAC;IAO9D;;;;;;;;OAQG;IACU,GAAG,CACd,OAAO,EAAE,kBAAkB,EAC3B,kBAAkB,EAAE,iCAAiC,EACrD,eAAe,EAAE,YAAY,EAC7B,qBAAqB,EAAE,UAAU,EACjC,SAAS,eAAoB,GAC5B,OAAO,CAAC,eAAe,CAAC;IAqD3B;;;;;;OAMG;IACU,gBAAgB,CAC3B,OAAO,EAAE,YAAY,EACrB,kBAAkB,EAAE,iCAAiC,EACrD,eAAe,EAAE,YAAY;IAqB/B;;;;;;;;OAQG;IACU,2BAA2B,CACtC,eAAe,EAAE,YAAY,EAC7B,KAAK,EAAE,EAAE,EACT,WAAW,EAAE,EAAE,EACf,UAAU,EAAE,EAAE,EACd,IAAI,EAAE,IAAI;;;;;;IAiDZ;;;;;;;OAOG;IACU,oBAAoB,CAAC,eAAe,EAAE,YAAY,EAAE,WAAW,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI;IAW5G;;;;;;;;OAQG;IACU,2BAA2B,CACtC,eAAe,EAAE,YAAY,EAC7B,KAAK,EAAE,EAAE,EACT,WAAW,EAAE,EAAE,EACf,UAAU,EAAE,EAAE,EACd,IAAI,EAAE,IAAI;IAYZ;;;;;;;;OAQG;IACU,qBAAqB,CAChC,eAAe,EAAE,YAAY,EAC7B,KAAK,EAAE,EAAE,EACT,WAAW,EAAE,EAAE,EACf,UAAU,EAAE,EAAE,EACd,IAAI,EAAE,IAAI;IAYZ;;;;;;;;OAQG;IACU,qBAAqB,CAChC,eAAe,EAAE,YAAY,EAC7B,KAAK,EAAE,EAAE,EACT,WAAW,EAAE,EAAE,EACf,UAAU,EAAE,EAAE,EACd,IAAI,EAAE,IAAI;CAWb"}
|
package/dest/client/simulator.js
CHANGED
|
@@ -60,7 +60,8 @@ export class AcirSimulator {
|
|
|
60
60
|
const header = await this.db.getHeader();
|
|
61
61
|
const callContext = new CallContext(msgSender, contractAddress, portalContractAddress, FunctionSelector.fromNameAndParameters(entryPointArtifact.name, entryPointArtifact.parameters), false, false, request.functionData.isConstructor,
|
|
62
62
|
// TODO: when contract deployment is done in-app, we should only reserve one counter for the tx hash
|
|
63
|
-
2
|
|
63
|
+
// 2 counters are reserved for tx hash and contract deployment nullifier
|
|
64
|
+
request.txContext.isContractDeploymentTx ? 2 : 1);
|
|
64
65
|
const context = new ClientExecutionContext(contractAddress, request.argsHash, request.txContext, callContext, header, request.authWitnesses, PackedArgsCache.create(request.packedArguments), new ExecutionNoteCache(), this.db, curve, this.node);
|
|
65
66
|
try {
|
|
66
67
|
const executionResult = await executePrivateFunction(context, entryPointArtifact, contractAddress, request.functionData);
|
|
@@ -176,4 +177,4 @@ export class AcirSimulator {
|
|
|
176
177
|
return innerNullifier;
|
|
177
178
|
}
|
|
178
179
|
}
|
|
179
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
180
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2ltdWxhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NsaWVudC9zaW11bGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDM0QsT0FBTyxFQUdMLGdCQUFnQixFQUNoQixZQUFZLEVBQ1osZUFBZSxHQUNoQixNQUFNLHVCQUF1QixDQUFDO0FBQy9CLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUUvRCxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDOUMsT0FBTyxFQUFlLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFdkUsT0FBTyxFQUE4QixvQkFBb0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXRGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzVELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNqRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUV2RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUUvRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM1RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFdkQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sYUFBYTtJQUl4QixZQUFvQixFQUFZLEVBQVUsSUFBZTtRQUFyQyxPQUFFLEdBQUYsRUFBRSxDQUFVO1FBQVUsU0FBSSxHQUFKLElBQUksQ0FBVztRQUN2RCxJQUFJLENBQUMsR0FBRyxH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
|
|
@@ -2,6 +2,7 @@ import { AuthWitness, AztecNode, CompleteAddress, MerkleTreeId, NoteStatus, Null
|
|
|
2
2
|
import { Header } from '@aztec/circuits.js';
|
|
3
3
|
import { AztecAddress } from '@aztec/foundation/aztec-address';
|
|
4
4
|
import { Fr } from '@aztec/foundation/fields';
|
|
5
|
+
import { ContractInstance } from '@aztec/types/contracts';
|
|
5
6
|
import { NoteData, TypedOracle } from '../acvm/index.js';
|
|
6
7
|
import { DBOracle } from './db_oracle.js';
|
|
7
8
|
/**
|
|
@@ -75,6 +76,12 @@ export declare class ViewDataOracle extends TypedOracle {
|
|
|
75
76
|
* @returns A complete address associated with the input address.
|
|
76
77
|
*/
|
|
77
78
|
getCompleteAddress(address: AztecAddress): Promise<CompleteAddress>;
|
|
79
|
+
/**
|
|
80
|
+
* Returns a contract instance associated with an address or throws if not found.
|
|
81
|
+
* @param address - Address.
|
|
82
|
+
* @returns A contract instance.
|
|
83
|
+
*/
|
|
84
|
+
getContractInstance(address: AztecAddress): Promise<ContractInstance>;
|
|
78
85
|
/**
|
|
79
86
|
* Returns an auth witness for the given message hash. Checks on the list of transient witnesses
|
|
80
87
|
* for this transaction first, and falls back to the local database if not found.
|
|
@@ -118,10 +125,10 @@ export declare class ViewDataOracle extends TypedOracle {
|
|
|
118
125
|
checkNullifierExists(innerNullifier: Fr): Promise<boolean>;
|
|
119
126
|
/**
|
|
120
127
|
* Fetches the a message from the db, given its key.
|
|
121
|
-
* @param
|
|
128
|
+
* @param entryKey - A buffer representing the entry key.
|
|
122
129
|
* @returns The l1 to l2 message data
|
|
123
130
|
*/
|
|
124
|
-
|
|
131
|
+
getL1ToL2MembershipWitness(entryKey: Fr): Promise<import("../acvm/index.js").MessageLoadOracleInputs<16>>;
|
|
125
132
|
/**
|
|
126
133
|
* Retrieves the portal contract address associated with the given contract address.
|
|
127
134
|
* Throws an error if the input contract address is not found or invalid.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"view_data_oracle.d.ts","sourceRoot":"","sources":["../../src/client/view_data_oracle.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,SAAS,EACT,eAAe,EACf,YAAY,EACZ,UAAU,EACV,0BAA0B,EAC1B,iBAAiB,EAClB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"view_data_oracle.d.ts","sourceRoot":"","sources":["../../src/client/view_data_oracle.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,SAAS,EACT,eAAe,EACf,YAAY,EACZ,UAAU,EACV,0BAA0B,EAC1B,iBAAiB,EAClB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG1C;;;GAGG;AACH,qBAAa,cAAe,SAAQ,WAAW;IAE3C,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,YAAY;IAChD,yEAAyE;IACzE,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,WAAW,EAAE;IAC/C,SAAS,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ;IAC/B,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS;IACvC,SAAS,CAAC,GAAG;gBALM,eAAe,EAAE,YAAY;IAChD,yEAAyE;IACtD,aAAa,EAAE,WAAW,EAAE,EAC5B,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,SAAS,EAC7B,GAAG,8CAA2D;IAK1E;;;OAGG;IACI,mBAAmB,CAAC,OAAO,EAAE,YAAY;IAIhD;;;;;;OAMG;IACU,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC;IAS1G;;;;;;OAMG;IACI,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC;IAI9F;;;;;OAKG;IACU,6BAA6B,CACxC,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,EAAE,GACZ,OAAO,CAAC,0BAA0B,GAAG,SAAS,CAAC;IAIlD;;;;;;;;OAQG;IACU,gCAAgC,CAC3C,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,EAAE,GACZ,OAAO,CAAC,0BAA0B,GAAG,SAAS,CAAC;IAIlD;;;;;OAKG;IACU,wBAAwB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,GAAG,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC;IAIhH;;;;OAIG;IACU,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAQxE;;;;OAIG;IACI,kBAAkB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,eAAe,CAAC;IAI1E;;;;OAIG;IACI,mBAAmB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAI5E;;;;;OAKG;IACI,cAAc,CAAC,WAAW,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,EAAE,GAAG,SAAS,CAAC;IAMjE;;;;OAIG;IACI,UAAU,IAAI,OAAO,CAAC,EAAE,EAAE,CAAC;IAIlC;;;;;;;;;;;;;;;;;;;;OAoBG;IACU,QAAQ,CACnB,WAAW,EAAE,EAAE,EACf,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAAE,EAClB,YAAY,EAAE,EAAE,EAAE,EAClB,iBAAiB,EAAE,MAAM,EAAE,EAC3B,MAAM,EAAE,MAAM,EAAE,EAChB,SAAS,EAAE,MAAM,EAAE,EACnB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,UAAU,GACjB,OAAO,CAAC,QAAQ,EAAE,CAAC;IAYtB;;;;OAIG;IACU,oBAAoB,CAAC,cAAc,EAAE,EAAE;IAMpD;;;;OAIG;IACU,0BAA0B,CAAC,QAAQ,EAAE,EAAE;IAIpD;;;;;OAKG;IACI,wBAAwB,CAAC,eAAe,EAAE,YAAY;IAI7D;;;;OAIG;IACU,WAAW,CAAC,gBAAgB,EAAE,EAAE,EAAE,gBAAgB,EAAE,MAAM;CAWxE"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { MerkleTreeId, } from '@aztec/circuit-types';
|
|
2
|
-
import { siloNullifier } from '@aztec/circuits.js/
|
|
2
|
+
import { siloNullifier } from '@aztec/circuits.js/hash';
|
|
3
3
|
import { Fr } from '@aztec/foundation/fields';
|
|
4
4
|
import { createDebugLogger } from '@aztec/foundation/log';
|
|
5
5
|
import { TypedOracle } from '../acvm/index.js';
|
|
@@ -101,6 +101,14 @@ export class ViewDataOracle extends TypedOracle {
|
|
|
101
101
|
getCompleteAddress(address) {
|
|
102
102
|
return this.db.getCompleteAddress(address);
|
|
103
103
|
}
|
|
104
|
+
/**
|
|
105
|
+
* Returns a contract instance associated with an address or throws if not found.
|
|
106
|
+
* @param address - Address.
|
|
107
|
+
* @returns A contract instance.
|
|
108
|
+
*/
|
|
109
|
+
getContractInstance(address) {
|
|
110
|
+
return this.db.getContractInstance(address);
|
|
111
|
+
}
|
|
104
112
|
/**
|
|
105
113
|
* Returns an auth witness for the given message hash. Checks on the list of transient witnesses
|
|
106
114
|
* for this transaction first, and falls back to the local database if not found.
|
|
@@ -162,11 +170,11 @@ export class ViewDataOracle extends TypedOracle {
|
|
|
162
170
|
}
|
|
163
171
|
/**
|
|
164
172
|
* Fetches the a message from the db, given its key.
|
|
165
|
-
* @param
|
|
173
|
+
* @param entryKey - A buffer representing the entry key.
|
|
166
174
|
* @returns The l1 to l2 message data
|
|
167
175
|
*/
|
|
168
|
-
async
|
|
169
|
-
return await this.db.
|
|
176
|
+
async getL1ToL2MembershipWitness(entryKey) {
|
|
177
|
+
return await this.db.getL1ToL2MembershipWitness(entryKey);
|
|
170
178
|
}
|
|
171
179
|
/**
|
|
172
180
|
* Retrieves the portal contract address associated with the given contract address.
|
|
@@ -193,4 +201,4 @@ export class ViewDataOracle extends TypedOracle {
|
|
|
193
201
|
return values;
|
|
194
202
|
}
|
|
195
203
|
}
|
|
196
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
204
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld19kYXRhX29yYWNsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jbGllbnQvdmlld19kYXRhX29yYWNsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBSUwsWUFBWSxHQUliLE1BQU0sc0JBQXNCLENBQUM7QUFFOUIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXhELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUcxRCxPQUFPLEVBQVksV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFekQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTVDOzs7R0FHRztBQUNILE1BQU0sT0FBTyxjQUFlLFNBQVEsV0FBVztJQUM3QyxZQUNxQixlQUE2QjtJQUNoRCx5RUFBeUU7SUFDdEQsYUFBNEIsRUFDNUIsRUFBWSxFQUNaLFNBQW9CLEVBQzdCLE1BQU0saUJBQWlCLENBQUMscUNBQXFDLENBQUM7UUFFeEUsS0FBSyxFQUFFLENBQUM7UUFQVyxvQkFBZSxHQUFmLGVBQWUsQ0FBYztRQUU3QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixPQUFFLEdBQUYsRUFBRSxDQUFVO1FBQ1osY0FBUyxHQUFULFNBQVMsQ0FBVztRQUM3QixRQUFHLEdBQUgsR0FBRyxDQUEyRDtJQUcxRSxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksbUJBQW1CLENBQUMsT0FBcUI7UUFDOUMsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxXQUFtQixFQUFFLE1BQW9CLEVBQUUsU0FBYTtRQUN4RixNQUFN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
|
package/dest/public/db.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
+
import { NullifierMembershipWitness } from '@aztec/circuit-types';
|
|
2
3
|
import { EthAddress, FunctionSelector, L1_TO_L2_MSG_TREE_HEIGHT } from '@aztec/circuits.js';
|
|
3
4
|
import { AztecAddress } from '@aztec/foundation/aztec-address';
|
|
4
5
|
import { Fr } from '@aztec/foundation/fields';
|
|
@@ -58,20 +59,32 @@ export interface PublicContractsDB {
|
|
|
58
59
|
*/
|
|
59
60
|
getPortalContractAddress(address: AztecAddress): Promise<EthAddress | undefined>;
|
|
60
61
|
}
|
|
61
|
-
/** Database interface for providing access to commitment tree
|
|
62
|
+
/** Database interface for providing access to commitment tree, l1 to l2 message tree, and nullifier tree. */
|
|
62
63
|
export interface CommitmentsDB {
|
|
63
64
|
/**
|
|
64
|
-
* Gets a confirmed L1 to L2 message for the given
|
|
65
|
+
* Gets a confirmed L1 to L2 message for the given entry key.
|
|
65
66
|
* TODO(Maddiaa): Can be combined with aztec-node method that does the same thing.
|
|
66
|
-
* @param
|
|
67
|
+
* @param entryKey - The entry key.
|
|
67
68
|
* @returns - The l1 to l2 message object
|
|
68
69
|
*/
|
|
69
|
-
|
|
70
|
+
getL1ToL2MembershipWitness(entryKey: Fr): Promise<MessageLoadOracleInputs<typeof L1_TO_L2_MSG_TREE_HEIGHT>>;
|
|
70
71
|
/**
|
|
71
72
|
* Gets the index of a commitment in the note hash tree.
|
|
72
73
|
* @param commitment - The commitment.
|
|
73
74
|
* @returns - The index of the commitment. Undefined if it does not exist in the tree.
|
|
74
75
|
*/
|
|
75
76
|
getCommitmentIndex(commitment: Fr): Promise<bigint | undefined>;
|
|
77
|
+
/**
|
|
78
|
+
* Gets the index of a nullifier in the nullifier tree.
|
|
79
|
+
* @param nullifier - The nullifier.
|
|
80
|
+
* @returns - The index of the nullifier. Undefined if it does not exist in the tree.
|
|
81
|
+
*/
|
|
82
|
+
getNullifierIndex(nullifier: Fr): Promise<bigint | undefined>;
|
|
83
|
+
/**
|
|
84
|
+
* Returns a nullifier membership witness for the given nullifier or undefined if not found.
|
|
85
|
+
* REFACTOR: Same as getL1ToL2MembershipWitness, can be combined with aztec-node method that does almost the same thing.
|
|
86
|
+
* @param nullifier - Nullifier we're looking for.
|
|
87
|
+
*/
|
|
88
|
+
getNullifierMembershipWitnessAtLatestBlock(nullifier: Fr): Promise<NullifierMembershipWitness | undefined>;
|
|
76
89
|
}
|
|
77
90
|
//# sourceMappingURL=db.d.ts.map
|