@aztec/pxe 0.0.1-commit.358457c → 0.0.1-commit.3895657bc
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/config/index.d.ts +2 -2
- package/dest/config/index.d.ts.map +1 -1
- package/dest/config/index.js +1 -1
- package/dest/contract_function_simulator/contract_function_simulator.js +3 -3
- package/dest/contract_function_simulator/execution_tagging_index_cache.d.ts +5 -5
- package/dest/contract_function_simulator/execution_tagging_index_cache.d.ts.map +1 -1
- package/dest/contract_function_simulator/execution_tagging_index_cache.js +3 -3
- package/dest/contract_function_simulator/noir-structs/event_validation_request.js +1 -1
- package/dest/contract_function_simulator/noir-structs/note_validation_request.d.ts +1 -1
- package/dest/contract_function_simulator/noir-structs/note_validation_request.js +1 -1
- package/dest/contract_function_simulator/oracle/interfaces.d.ts +44 -44
- package/dest/contract_function_simulator/oracle/interfaces.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/oracle.d.ts +44 -44
- package/dest/contract_function_simulator/oracle/oracle.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/oracle.js +132 -89
- package/dest/contract_function_simulator/oracle/private_execution.js +1 -1
- package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts +20 -20
- package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/private_execution_oracle.js +36 -36
- package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts +29 -31
- package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/utility_execution_oracle.js +32 -38
- package/dest/logs/log_service.d.ts +1 -1
- package/dest/logs/log_service.d.ts.map +1 -1
- package/dest/logs/log_service.js +4 -4
- package/dest/oracle_version.d.ts +2 -2
- package/dest/oracle_version.js +3 -3
- package/dest/pxe.d.ts +3 -2
- package/dest/pxe.d.ts.map +1 -1
- package/dest/pxe.js +10 -6
- package/dest/storage/tagging_store/recipient_tagging_store.d.ts +6 -6
- package/dest/storage/tagging_store/recipient_tagging_store.d.ts.map +1 -1
- package/dest/storage/tagging_store/sender_tagging_store.d.ts +5 -5
- package/dest/storage/tagging_store/sender_tagging_store.d.ts.map +1 -1
- package/dest/storage/tagging_store/sender_tagging_store.js +4 -4
- package/dest/tagging/index.d.ts +2 -2
- package/dest/tagging/index.d.ts.map +1 -1
- package/dest/tagging/index.js +1 -1
- package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.d.ts +4 -5
- package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.d.ts.map +1 -1
- package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.js +3 -3
- package/dest/tagging/recipient_sync/utils/load_logs_for_range.d.ts +6 -7
- package/dest/tagging/recipient_sync/utils/load_logs_for_range.d.ts.map +1 -1
- package/dest/tagging/recipient_sync/utils/load_logs_for_range.js +12 -11
- package/dest/tagging/sender_sync/sync_sender_tagging_indexes.d.ts +4 -8
- package/dest/tagging/sender_sync/sync_sender_tagging_indexes.d.ts.map +1 -1
- package/dest/tagging/sender_sync/sync_sender_tagging_indexes.js +3 -6
- package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.d.ts +4 -7
- package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.d.ts.map +1 -1
- package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.js +14 -15
- package/package.json +16 -16
- package/src/config/index.ts +1 -1
- package/src/contract_function_simulator/contract_function_simulator.ts +3 -3
- package/src/contract_function_simulator/execution_tagging_index_cache.ts +5 -5
- package/src/contract_function_simulator/noir-structs/event_validation_request.ts +1 -1
- package/src/contract_function_simulator/noir-structs/note_validation_request.ts +1 -1
- package/src/contract_function_simulator/oracle/interfaces.ts +43 -43
- package/src/contract_function_simulator/oracle/oracle.ts +135 -107
- package/src/contract_function_simulator/oracle/private_execution.ts +1 -1
- package/src/contract_function_simulator/oracle/private_execution_oracle.ts +40 -37
- package/src/contract_function_simulator/oracle/utility_execution_oracle.ts +32 -45
- package/src/logs/log_service.ts +10 -5
- package/src/oracle_version.ts +3 -3
- package/src/pxe.ts +8 -4
- package/src/storage/tagging_store/recipient_tagging_store.ts +9 -5
- package/src/storage/tagging_store/sender_tagging_store.ts +8 -8
- package/src/tagging/index.ts +1 -1
- package/src/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.ts +3 -6
- package/src/tagging/recipient_sync/utils/load_logs_for_range.ts +10 -15
- package/src/tagging/sender_sync/sync_sender_tagging_indexes.ts +4 -9
- package/src/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.ts +11 -20
|
@@ -6,7 +6,7 @@ import { toACVMWitness } from '@aztec/simulator/client';
|
|
|
6
6
|
import { FunctionSelector, countArgumentsSize } from '@aztec/stdlib/abi';
|
|
7
7
|
import { siloNullifier } from '@aztec/stdlib/hash';
|
|
8
8
|
import { PrivateContextInputs } from '@aztec/stdlib/kernel';
|
|
9
|
-
import {
|
|
9
|
+
import { ExtendedDirectionalAppTaggingSecret } from '@aztec/stdlib/logs';
|
|
10
10
|
import { Tag } from '@aztec/stdlib/logs';
|
|
11
11
|
import { Note } from '@aztec/stdlib/note';
|
|
12
12
|
import { CallContext, CountedContractClassLog, NoteAndSlot } from '@aztec/stdlib/tx';
|
|
@@ -126,7 +126,7 @@ import { UtilityExecutionOracle } from './utility_execution_oracle.js';
|
|
|
126
126
|
*
|
|
127
127
|
* The value persists through nested calls, meaning all calls down the stack will use the same
|
|
128
128
|
* 'senderForTags' value (unless it is replaced).
|
|
129
|
-
*/
|
|
129
|
+
*/ getSenderForTags() {
|
|
130
130
|
return Promise.resolve(this.senderForTags);
|
|
131
131
|
}
|
|
132
132
|
/**
|
|
@@ -139,7 +139,7 @@ import { UtilityExecutionOracle } from './utility_execution_oracle.js';
|
|
|
139
139
|
* Account contracts typically set this value before calling other contracts. The value persists
|
|
140
140
|
* through nested calls, meaning all calls down the stack will use the same 'senderForTags'
|
|
141
141
|
* value (unless it is replaced by another call to this setter).
|
|
142
|
-
*/
|
|
142
|
+
*/ setSenderForTags(senderForTags) {
|
|
143
143
|
this.senderForTags = senderForTags;
|
|
144
144
|
return Promise.resolve();
|
|
145
145
|
}
|
|
@@ -148,20 +148,20 @@ import { UtilityExecutionOracle } from './utility_execution_oracle.js';
|
|
|
148
148
|
* @param sender - The address sending the log
|
|
149
149
|
* @param recipient - The address receiving the log
|
|
150
150
|
* @returns An app tag to be used in a log.
|
|
151
|
-
*/ async
|
|
152
|
-
const
|
|
153
|
-
const index = await this.#getIndexToUseForSecret(
|
|
154
|
-
this.
|
|
155
|
-
this.taggingIndexCache.setLastUsedIndex(
|
|
151
|
+
*/ async getNextAppTagAsSender(sender, recipient) {
|
|
152
|
+
const extendedSecret = await this.#calculateExtendedDirectionalAppTaggingSecret(this.contractAddress, sender, recipient);
|
|
153
|
+
const index = await this.#getIndexToUseForSecret(extendedSecret);
|
|
154
|
+
this.logger.debug(`Incrementing tagging index for sender: ${sender}, recipient: ${recipient}, contract: ${this.contractAddress} to ${index}`);
|
|
155
|
+
this.taggingIndexCache.setLastUsedIndex(extendedSecret, index);
|
|
156
156
|
return Tag.compute({
|
|
157
|
-
|
|
157
|
+
extendedSecret,
|
|
158
158
|
index
|
|
159
159
|
});
|
|
160
160
|
}
|
|
161
|
-
async #
|
|
161
|
+
async #calculateExtendedDirectionalAppTaggingSecret(contractAddress, sender, recipient) {
|
|
162
162
|
const senderCompleteAddress = await this.getCompleteAddressOrFail(sender);
|
|
163
163
|
const senderIvsk = await this.keyStore.getMasterIncomingViewingSecretKey(sender);
|
|
164
|
-
return
|
|
164
|
+
return ExtendedDirectionalAppTaggingSecret.compute(senderCompleteAddress, senderIvsk, recipient, contractAddress, recipient);
|
|
165
165
|
}
|
|
166
166
|
async #getIndexToUseForSecret(secret) {
|
|
167
167
|
// If we have the tagging index in the cache, we use it. If not we obtain it from the execution data provider.
|
|
@@ -172,7 +172,7 @@ import { UtilityExecutionOracle } from './utility_execution_oracle.js';
|
|
|
172
172
|
// This is a tagging secret we've not yet used in this tx, so first sync our store to make sure its indices
|
|
173
173
|
// are up to date. We do this here because this store is not synced as part of the global sync because
|
|
174
174
|
// that'd be wasteful as most tagging secrets are not used in each tx.
|
|
175
|
-
await syncSenderTaggingIndexes(secret, this.
|
|
175
|
+
await syncSenderTaggingIndexes(secret, this.aztecNode, this.senderTaggingStore, await this.anchorBlockHeader.hash(), this.jobId);
|
|
176
176
|
const lastUsedIndex = await this.senderTaggingStore.getLastUsedIndex(secret, this.jobId);
|
|
177
177
|
// If lastUsedIndex is undefined, we've never used this secret, so start from 0
|
|
178
178
|
// Otherwise, the next index to use is one past the last used index
|
|
@@ -183,29 +183,29 @@ import { UtilityExecutionOracle } from './utility_execution_oracle.js';
|
|
|
183
183
|
* Store values in the execution cache.
|
|
184
184
|
* @param values - Values to store.
|
|
185
185
|
* @returns The hash of the values.
|
|
186
|
-
*/
|
|
186
|
+
*/ storeInExecutionCache(values, hash) {
|
|
187
187
|
return this.executionCache.store(values, hash);
|
|
188
188
|
}
|
|
189
189
|
/**
|
|
190
190
|
* Gets values from the execution cache.
|
|
191
191
|
* @param hash - Hash of the values.
|
|
192
192
|
* @returns The values.
|
|
193
|
-
*/
|
|
193
|
+
*/ loadFromExecutionCache(hash) {
|
|
194
194
|
const preimage = this.executionCache.getPreimage(hash);
|
|
195
195
|
if (!preimage) {
|
|
196
196
|
throw new Error(`Preimage for hash ${hash.toString()} not found in cache`);
|
|
197
197
|
}
|
|
198
198
|
return Promise.resolve(preimage);
|
|
199
199
|
}
|
|
200
|
-
async
|
|
200
|
+
async checkNullifierExists(innerNullifier) {
|
|
201
201
|
// This oracle must be overridden because while utility execution can only meaningfully check if a nullifier exists
|
|
202
202
|
// in the synched block, during private execution there's also the possibility of it being pending, i.e. created
|
|
203
203
|
// in the current transaction.
|
|
204
|
-
this.
|
|
204
|
+
this.logger.debug(`Checking existence of inner nullifier ${innerNullifier}`, {
|
|
205
205
|
contractAddress: this.contractAddress
|
|
206
206
|
});
|
|
207
207
|
const nullifier = (await siloNullifier(this.contractAddress, innerNullifier)).toBigInt();
|
|
208
|
-
return this.noteCache.getNullifiers(this.contractAddress).has(nullifier) || await super.
|
|
208
|
+
return this.noteCache.getNullifiers(this.contractAddress).has(nullifier) || await super.checkNullifierExists(innerNullifier);
|
|
209
209
|
}
|
|
210
210
|
/**
|
|
211
211
|
* Gets some notes for a storage slot.
|
|
@@ -227,7 +227,7 @@ import { UtilityExecutionOracle } from './utility_execution_oracle.js';
|
|
|
227
227
|
* @param offset - The starting index for pagination.
|
|
228
228
|
* @param status - The status of notes to fetch.
|
|
229
229
|
* @returns Array of note data.
|
|
230
|
-
*/ async
|
|
230
|
+
*/ async getNotes(owner, storageSlot, numSelects, selectByIndexes, selectByOffsets, selectByLengths, selectValues, selectComparators, sortByIndexes, sortByOffsets, sortByLengths, sortOrder, limit, offset, status) {
|
|
231
231
|
// Nullified pending notes are already removed from the list.
|
|
232
232
|
const pendingNotes = this.noteCache.getNotes(this.callContext.contractAddress, owner, storageSlot);
|
|
233
233
|
const pendingNullifiers = this.noteCache.getNullifiers(this.callContext.contractAddress);
|
|
@@ -258,7 +258,7 @@ import { UtilityExecutionOracle } from './utility_execution_oracle.js';
|
|
|
258
258
|
limit,
|
|
259
259
|
offset
|
|
260
260
|
});
|
|
261
|
-
this.
|
|
261
|
+
this.logger.debug(`Returning ${notes.length} notes for ${this.callContext.contractAddress} at ${storageSlot}: ${notes.map((n)=>`${n.noteNonce.toString()}:[${n.note.items.map((i)=>i.toString()).join(',')}]`).join(', ')}`);
|
|
262
262
|
return notes;
|
|
263
263
|
}
|
|
264
264
|
/**
|
|
@@ -271,8 +271,8 @@ import { UtilityExecutionOracle } from './utility_execution_oracle.js';
|
|
|
271
271
|
* @param noteItems - The items to be included in a Note.
|
|
272
272
|
* @param noteHash - A hash of the new note.
|
|
273
273
|
* @returns
|
|
274
|
-
*/
|
|
275
|
-
this.
|
|
274
|
+
*/ notifyCreatedNote(owner, storageSlot, randomness, noteTypeId, noteItems, noteHash, counter) {
|
|
275
|
+
this.logger.debug(`Notified of new note with inner hash ${noteHash}`, {
|
|
276
276
|
contractAddress: this.callContext.contractAddress,
|
|
277
277
|
storageSlot,
|
|
278
278
|
randomness,
|
|
@@ -303,7 +303,7 @@ import { UtilityExecutionOracle } from './utility_execution_oracle.js';
|
|
|
303
303
|
* within the current transaction/execution.
|
|
304
304
|
* @param innerNullifier - The pending nullifier to add in the list (not yet siloed by contract address).
|
|
305
305
|
* @param noteHash - A hash of the new note.
|
|
306
|
-
*/ async
|
|
306
|
+
*/ async notifyNullifiedNote(innerNullifier, noteHash, counter) {
|
|
307
307
|
const nullifiedNoteHashCounter = await this.noteCache.nullifyNote(this.callContext.contractAddress, innerNullifier, noteHash);
|
|
308
308
|
if (nullifiedNoteHashCounter !== undefined) {
|
|
309
309
|
this.noteHashNullifierCounterMap.set(nullifiedNoteHashCounter, counter);
|
|
@@ -314,19 +314,19 @@ import { UtilityExecutionOracle } from './utility_execution_oracle.js';
|
|
|
314
314
|
* within the current transaction/execution.
|
|
315
315
|
* @param innerNullifier - The pending nullifier to add in the list (not yet siloed by contract address).
|
|
316
316
|
* @param noteHash - A hash of the new note.
|
|
317
|
-
*/
|
|
318
|
-
this.
|
|
317
|
+
*/ notifyCreatedNullifier(innerNullifier) {
|
|
318
|
+
this.logger.debug(`Notified of new inner nullifier ${innerNullifier}`, {
|
|
319
319
|
contractAddress: this.contractAddress
|
|
320
320
|
});
|
|
321
321
|
return this.noteCache.nullifierCreated(this.callContext.contractAddress, innerNullifier);
|
|
322
322
|
}
|
|
323
323
|
/**
|
|
324
|
-
* Check if a nullifier has been emitted in the same transaction, i.e. if
|
|
324
|
+
* Check if a nullifier has been emitted in the same transaction, i.e. if notifyCreatedNullifier has been
|
|
325
325
|
* called for this inner nullifier from the contract with the specified address.
|
|
326
326
|
* @param innerNullifier - The inner nullifier to check.
|
|
327
327
|
* @param contractAddress - Address of the contract that emitted the nullifier.
|
|
328
328
|
* @returns A boolean indicating whether the nullifier is pending or not.
|
|
329
|
-
*/ async
|
|
329
|
+
*/ async isNullifierPending(innerNullifier, contractAddress) {
|
|
330
330
|
const siloedNullifier = await siloNullifier(contractAddress, innerNullifier);
|
|
331
331
|
const isNullifierPending = this.noteCache.getNullifiers(contractAddress).has(siloedNullifier.toBigInt());
|
|
332
332
|
return Promise.resolve(isNullifierPending);
|
|
@@ -337,10 +337,10 @@ import { UtilityExecutionOracle } from './utility_execution_oracle.js';
|
|
|
337
337
|
* keep the preimage in ts for later.
|
|
338
338
|
* @param log - The contract class log to be emitted.
|
|
339
339
|
* @param counter - The contract class log's counter.
|
|
340
|
-
*/
|
|
340
|
+
*/ notifyCreatedContractClassLog(log, counter) {
|
|
341
341
|
this.contractClassLogs.push(new CountedContractClassLog(log, counter));
|
|
342
342
|
const text = log.toBuffer().toString('hex');
|
|
343
|
-
this.
|
|
343
|
+
this.logger.verbose(`Emitted log from ContractClassRegistry: "${text.length > 100 ? text.slice(0, 100) + '...' : text}"`);
|
|
344
344
|
}
|
|
345
345
|
#checkValidStaticCall(childExecutionResult) {
|
|
346
346
|
if (childExecutionResult.publicInputs.noteHashes.claimedLength > 0 || childExecutionResult.publicInputs.nullifiers.claimedLength > 0 || childExecutionResult.publicInputs.l2ToL1Msgs.claimedLength > 0 || childExecutionResult.publicInputs.privateLogs.claimedLength > 0 || childExecutionResult.publicInputs.contractClassLogsHashes.claimedLength > 0) {
|
|
@@ -355,14 +355,14 @@ import { UtilityExecutionOracle } from './utility_execution_oracle.js';
|
|
|
355
355
|
* @param sideEffectCounter - The side effect counter at the start of the call.
|
|
356
356
|
* @param isStaticCall - Whether the call is a static call.
|
|
357
357
|
* @returns The execution result.
|
|
358
|
-
*/ async
|
|
358
|
+
*/ async callPrivateFunction(targetContractAddress, functionSelector, argsHash, sideEffectCounter, isStaticCall) {
|
|
359
359
|
if (!this.simulator) {
|
|
360
360
|
// In practice it is only when creating inline private contexts in a Noir test using TXE that we create an
|
|
361
361
|
// instance of this class without a simulator.
|
|
362
362
|
throw new Error('No simulator provided, cannot perform a nested private call');
|
|
363
363
|
}
|
|
364
364
|
const simulatorSetupTimer = new Timer();
|
|
365
|
-
this.
|
|
365
|
+
this.logger.debug(`Calling private function ${targetContractAddress}:${functionSelector} from ${this.callContext.contractAddress}`);
|
|
366
366
|
isStaticCall = isStaticCall || this.callContext.isStaticCall;
|
|
367
367
|
await this.contractSyncService.ensureContractSynced(targetContractAddress, functionSelector, this.utilityExecutor, this.anchorBlockHeader, this.jobId, this.scopes);
|
|
368
368
|
const targetArtifact = await this.contractStore.getFunctionArtifactWithDebugMetadata(targetContractAddress, functionSelector);
|
|
@@ -393,7 +393,7 @@ import { UtilityExecutionOracle } from './utility_execution_oracle.js';
|
|
|
393
393
|
jobId: this.jobId,
|
|
394
394
|
totalPublicCalldataCount: this.totalPublicCalldataCount,
|
|
395
395
|
sideEffectCounter,
|
|
396
|
-
log: this.
|
|
396
|
+
log: this.logger,
|
|
397
397
|
scopes: this.scopes,
|
|
398
398
|
senderForTags: this.senderForTags,
|
|
399
399
|
simulator: this.simulator
|
|
@@ -430,7 +430,7 @@ import { UtilityExecutionOracle } from './utility_execution_oracle.js';
|
|
|
430
430
|
* @param calldataHash - The hash of the function selector and arguments.
|
|
431
431
|
* @param sideEffectCounter - The side effect counter at the start of the call.
|
|
432
432
|
* @param isStaticCall - Whether the call is a static call.
|
|
433
|
-
*/
|
|
433
|
+
*/ notifyEnqueuedPublicFunctionCall(_targetContractAddress, calldataHash, _sideEffectCounter, _isStaticCall) {
|
|
434
434
|
this.#onNewPublicFunctionCall(calldataHash);
|
|
435
435
|
return Promise.resolve();
|
|
436
436
|
}
|
|
@@ -440,14 +440,14 @@ import { UtilityExecutionOracle } from './utility_execution_oracle.js';
|
|
|
440
440
|
* @param argsHash - The arguments hash to pass to the function.
|
|
441
441
|
* @param sideEffectCounter - The side effect counter at the start of the call.
|
|
442
442
|
* @param isStaticCall - Whether the call is a static call.
|
|
443
|
-
*/
|
|
443
|
+
*/ notifySetPublicTeardownFunctionCall(_targetContractAddress, calldataHash, _sideEffectCounter, _isStaticCall) {
|
|
444
444
|
this.#onNewPublicFunctionCall(calldataHash);
|
|
445
445
|
return Promise.resolve();
|
|
446
446
|
}
|
|
447
|
-
|
|
447
|
+
notifySetMinRevertibleSideEffectCounter(minRevertibleSideEffectCounter) {
|
|
448
448
|
return this.noteCache.setMinRevertibleSideEffectCounter(minRevertibleSideEffectCounter);
|
|
449
449
|
}
|
|
450
|
-
|
|
450
|
+
isSideEffectCounterRevertible(sideEffectCounter) {
|
|
451
451
|
return Promise.resolve(this.noteCache.isSideEffectCounterRevertible(sideEffectCounter));
|
|
452
452
|
}
|
|
453
453
|
/**
|
|
@@ -462,7 +462,7 @@ import { UtilityExecutionOracle } from './utility_execution_oracle.js';
|
|
|
462
462
|
getDebugFunctionName() {
|
|
463
463
|
return this.contractStore.getDebugFunctionName(this.contractAddress, this.callContext.functionSelector);
|
|
464
464
|
}
|
|
465
|
-
|
|
465
|
+
emitOffchainEffect(data) {
|
|
466
466
|
this.offchainEffects.push({
|
|
467
467
|
data
|
|
468
468
|
});
|
|
@@ -67,12 +67,12 @@ export declare class UtilityExecutionOracle implements IMiscOracle, IUtilityExec
|
|
|
67
67
|
protected readonly capsuleStore: CapsuleStore;
|
|
68
68
|
protected readonly privateEventStore: PrivateEventStore;
|
|
69
69
|
protected readonly jobId: string;
|
|
70
|
-
protected
|
|
70
|
+
protected logger: ReturnType<typeof createLogger>;
|
|
71
71
|
protected readonly scopes: AccessScopes;
|
|
72
72
|
constructor(args: UtilityExecutionOracleArgs);
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
73
|
+
assertCompatibleOracleVersion(version: number): void;
|
|
74
|
+
getRandomField(): Fr;
|
|
75
|
+
getUtilityContext(): UtilityContext;
|
|
76
76
|
/**
|
|
77
77
|
* Retrieve keys associated with a specific master public key and app address.
|
|
78
78
|
* @param pkMHash - The master public key hash.
|
|
@@ -80,7 +80,7 @@ export declare class UtilityExecutionOracle implements IMiscOracle, IUtilityExec
|
|
|
80
80
|
* @throws If the keys are not registered in the key store.
|
|
81
81
|
* @throws If scopes are defined and the account is not in the scopes.
|
|
82
82
|
*/
|
|
83
|
-
|
|
83
|
+
getKeyValidationRequest(pkMHash: Fr): Promise<KeyValidationRequest>;
|
|
84
84
|
/**
|
|
85
85
|
* Fetches the index and sibling path of a leaf at a given block from the note hash tree.
|
|
86
86
|
* @param anchorBlockHash - The hash of a block that contains the note hash tree root in which to find the membership
|
|
@@ -88,7 +88,7 @@ export declare class UtilityExecutionOracle implements IMiscOracle, IUtilityExec
|
|
|
88
88
|
* @param noteHash - The note hash to find in the note hash tree.
|
|
89
89
|
* @returns The membership witness containing the leaf index and sibling path
|
|
90
90
|
*/
|
|
91
|
-
|
|
91
|
+
getNoteHashMembershipWitness(anchorBlockHash: BlockHash, noteHash: Fr): Promise<MembershipWitness<typeof NOTE_HASH_TREE_HEIGHT> | undefined>;
|
|
92
92
|
/**
|
|
93
93
|
* Fetches the index and sibling path of a block hash in the archive tree.
|
|
94
94
|
*
|
|
@@ -100,14 +100,14 @@ export declare class UtilityExecutionOracle implements IMiscOracle, IUtilityExec
|
|
|
100
100
|
* @param blockHash - The block hash to find in the archive tree.
|
|
101
101
|
* @returns The membership witness containing the leaf index and sibling path
|
|
102
102
|
*/
|
|
103
|
-
|
|
103
|
+
getBlockHashMembershipWitness(anchorBlockHash: BlockHash, blockHash: BlockHash): Promise<MembershipWitness<typeof ARCHIVE_HEIGHT> | undefined>;
|
|
104
104
|
/**
|
|
105
105
|
* Returns a nullifier membership witness for a given nullifier at a given block.
|
|
106
106
|
* @param blockHash - The block hash at which to get the index.
|
|
107
107
|
* @param nullifier - Nullifier we try to find witness for.
|
|
108
108
|
* @returns The nullifier membership witness (if found).
|
|
109
109
|
*/
|
|
110
|
-
|
|
110
|
+
getNullifierMembershipWitness(blockHash: BlockHash, nullifier: Fr): Promise<NullifierMembershipWitness | undefined>;
|
|
111
111
|
/**
|
|
112
112
|
* Returns a low nullifier membership witness for a given nullifier at a given block.
|
|
113
113
|
* @param blockHash - The block hash at which to get the index.
|
|
@@ -117,41 +117,40 @@ export declare class UtilityExecutionOracle implements IMiscOracle, IUtilityExec
|
|
|
117
117
|
* list structure" of leaves and proving that a lower nullifier is pointing to a bigger next value than the nullifier
|
|
118
118
|
* we are trying to prove non-inclusion for.
|
|
119
119
|
*/
|
|
120
|
-
|
|
120
|
+
getLowNullifierMembershipWitness(blockHash: BlockHash, nullifier: Fr): Promise<NullifierMembershipWitness | undefined>;
|
|
121
121
|
/**
|
|
122
122
|
* Returns a public data tree witness for a given leaf slot at a given block.
|
|
123
123
|
* @param blockHash - The block hash at which to get the index.
|
|
124
124
|
* @param leafSlot - The slot of the public data tree to get the witness for.
|
|
125
125
|
* @returns - The witness
|
|
126
126
|
*/
|
|
127
|
-
|
|
127
|
+
getPublicDataWitness(blockHash: BlockHash, leafSlot: Fr): Promise<PublicDataWitness | undefined>;
|
|
128
128
|
/**
|
|
129
129
|
* Fetches a block header of a given block.
|
|
130
130
|
* @param blockNumber - The number of a block of which to get the block header.
|
|
131
131
|
* @returns Block extracted from a block with block number `blockNumber`.
|
|
132
132
|
*/
|
|
133
|
-
|
|
133
|
+
getBlockHeader(blockNumber: BlockNumber): Promise<BlockHeader | undefined>;
|
|
134
134
|
/**
|
|
135
135
|
* Retrieve the complete address associated to a given address.
|
|
136
136
|
* @param account - The account address.
|
|
137
137
|
* @returns A complete address associated with the input address, or `undefined` if not registered.
|
|
138
138
|
*/
|
|
139
|
-
|
|
139
|
+
tryGetPublicKeysAndPartialAddress(account: AztecAddress): Promise<CompleteAddress | undefined>;
|
|
140
140
|
protected getCompleteAddressOrFail(account: AztecAddress): Promise<CompleteAddress>;
|
|
141
141
|
/**
|
|
142
142
|
* Returns a contract instance associated with an address or throws if not found.
|
|
143
143
|
* @param address - Address.
|
|
144
144
|
* @returns A contract instance.
|
|
145
145
|
*/
|
|
146
|
-
|
|
147
|
-
protected getContractInstance(address: AztecAddress): Promise<ContractInstance>;
|
|
146
|
+
getContractInstance(address: AztecAddress): Promise<ContractInstance>;
|
|
148
147
|
/**
|
|
149
148
|
* Returns an auth witness for the given message hash. Checks on the list of transient witnesses
|
|
150
149
|
* for this transaction first, and falls back to the local database if not found.
|
|
151
150
|
* @param messageHash - Hash of the message to authenticate.
|
|
152
151
|
* @returns Authentication witness for the requested message hash.
|
|
153
152
|
*/
|
|
154
|
-
|
|
153
|
+
getAuthWitness(messageHash: Fr): Promise<Fr[] | undefined>;
|
|
155
154
|
/**
|
|
156
155
|
* Gets some notes for a contract address and storage slot.
|
|
157
156
|
* Returns a flattened array containing filtered notes.
|
|
@@ -174,13 +173,13 @@ export declare class UtilityExecutionOracle implements IMiscOracle, IUtilityExec
|
|
|
174
173
|
* @param status - The status of notes to fetch.
|
|
175
174
|
* @returns Array of note data.
|
|
176
175
|
*/
|
|
177
|
-
|
|
176
|
+
getNotes(owner: AztecAddress | undefined, storageSlot: Fr, numSelects: number, selectByIndexes: number[], selectByOffsets: number[], selectByLengths: number[], selectValues: Fr[], selectComparators: number[], sortByIndexes: number[], sortByOffsets: number[], sortByLengths: number[], sortOrder: number[], limit: number, offset: number, status: NoteStatus): Promise<NoteData[]>;
|
|
178
177
|
/**
|
|
179
178
|
* Check if a nullifier exists in the nullifier tree.
|
|
180
179
|
* @param innerNullifier - The inner nullifier.
|
|
181
180
|
* @returns A boolean indicating whether the nullifier exists in the tree or not.
|
|
182
181
|
*/
|
|
183
|
-
|
|
182
|
+
checkNullifierExists(innerNullifier: Fr): Promise<boolean>;
|
|
184
183
|
/**
|
|
185
184
|
* Fetches a message from the executionStore, given its key.
|
|
186
185
|
* @param contractAddress - Address of a contract by which the message was emitted.
|
|
@@ -189,7 +188,7 @@ export declare class UtilityExecutionOracle implements IMiscOracle, IUtilityExec
|
|
|
189
188
|
* @dev Contract address and secret are only used to compute the nullifier to get non-nullified messages
|
|
190
189
|
* @returns The l1 to l2 membership witness (index of message in the tree and sibling path).
|
|
191
190
|
*/
|
|
192
|
-
|
|
191
|
+
getL1ToL2MembershipWitness(contractAddress: AztecAddress, messageHash: Fr, secret: Fr): Promise<MessageLoadOracleInputs<36>>;
|
|
193
192
|
/**
|
|
194
193
|
* Read the public storage data.
|
|
195
194
|
* @param blockHash - The block hash to read storage at.
|
|
@@ -197,9 +196,9 @@ export declare class UtilityExecutionOracle implements IMiscOracle, IUtilityExec
|
|
|
197
196
|
* @param startStorageSlot - The starting storage slot.
|
|
198
197
|
* @param numberOfElements - Number of elements to read from the starting storage slot.
|
|
199
198
|
*/
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
199
|
+
storageRead(blockHash: BlockHash, contractAddress: AztecAddress, startStorageSlot: Fr, numberOfElements: number): Promise<Fr[]>;
|
|
200
|
+
log(level: number, message: string, fields: Fr[]): Promise<void>;
|
|
201
|
+
fetchTaggedLogs(pendingTaggedLogArrayBaseSlot: Fr): Promise<void>;
|
|
203
202
|
/**
|
|
204
203
|
* Validates all note and event validation requests enqueued via `enqueue_note_for_validation` and
|
|
205
204
|
* `enqueue_event_for_validation`, inserting them into the note database and event store respectively, making them
|
|
@@ -210,20 +209,19 @@ export declare class UtilityExecutionOracle implements IMiscOracle, IUtilityExec
|
|
|
210
209
|
* @param noteValidationRequestsArrayBaseSlot - The base slot of capsule array containing note validation requests.
|
|
211
210
|
* @param eventValidationRequestsArrayBaseSlot - The base slot of capsule array containing event validation requests.
|
|
212
211
|
*/
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
212
|
+
validateAndStoreEnqueuedNotesAndEvents(contractAddress: AztecAddress, noteValidationRequestsArrayBaseSlot: Fr, eventValidationRequestsArrayBaseSlot: Fr): Promise<void>;
|
|
213
|
+
bulkRetrieveLogs(contractAddress: AztecAddress, logRetrievalRequestsArrayBaseSlot: Fr, logRetrievalResponsesArrayBaseSlot: Fr): Promise<void>;
|
|
214
|
+
storeCapsule(contractAddress: AztecAddress, slot: Fr, capsule: Fr[]): Promise<void>;
|
|
215
|
+
loadCapsule(contractAddress: AztecAddress, slot: Fr): Promise<Fr[] | null>;
|
|
216
|
+
deleteCapsule(contractAddress: AztecAddress, slot: Fr): Promise<void>;
|
|
217
|
+
copyCapsule(contractAddress: AztecAddress, srcSlot: Fr, dstSlot: Fr, numEntries: number): Promise<void>;
|
|
218
|
+
aes128Decrypt(ciphertext: Buffer, iv: Buffer, symKey: Buffer): Promise<Buffer>;
|
|
220
219
|
/**
|
|
221
220
|
* Retrieves the shared secret for a given address and ephemeral public key.
|
|
222
221
|
* @param address - The address to get the secret for.
|
|
223
222
|
* @param ephPk - The ephemeral public key to get the secret for.
|
|
224
223
|
* @returns The secret for the given address.
|
|
225
224
|
*/
|
|
226
|
-
|
|
227
|
-
protected getSharedSecret(address: AztecAddress, ephPk: Point): Promise<Point>;
|
|
225
|
+
getSharedSecret(address: AztecAddress, ephPk: Point): Promise<Point>;
|
|
228
226
|
}
|
|
229
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
227
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbGl0eV9leGVjdXRpb25fb3JhY2xlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udHJhY3RfZnVuY3Rpb25fc2ltdWxhdG9yL29yYWNsZS91dGlsaXR5X2V4ZWN1dGlvbl9vcmFjbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsY0FBYyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDOUUsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFbkUsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUMxRCxPQUFPLEVBQTBCLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzdFLE9BQU8sS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDakUsT0FBTyxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakQsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzNELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNoRCxPQUFPLEtBQUssRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUVoRixPQUFPLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNqRSxPQUFPLEtBQUssRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBSWpFLE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3JELE9BQU8sRUFBZ0IsS0FBSywwQkFBMEIsRUFBRSxpQkFBaUIsRUFB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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utility_execution_oracle.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/oracle/utility_execution_oracle.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"utility_execution_oracle.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/oracle/utility_execution_oracle.ts"],"names":[],"mappings":"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"}
|