@aztec/txe 0.0.1-commit.c7c42ec → 0.0.1-commit.c949de6bc

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.
Files changed (68) hide show
  1. package/dest/constants.d.ts +3 -0
  2. package/dest/constants.d.ts.map +1 -0
  3. package/dest/constants.js +2 -0
  4. package/dest/index.d.ts +1 -1
  5. package/dest/index.d.ts.map +1 -1
  6. package/dest/index.js +82 -50
  7. package/dest/oracle/interfaces.d.ts +6 -5
  8. package/dest/oracle/interfaces.d.ts.map +1 -1
  9. package/dest/oracle/txe_oracle_public_context.d.ts +3 -3
  10. package/dest/oracle/txe_oracle_public_context.d.ts.map +1 -1
  11. package/dest/oracle/txe_oracle_public_context.js +6 -6
  12. package/dest/oracle/txe_oracle_top_level_context.d.ts +8 -7
  13. package/dest/oracle/txe_oracle_top_level_context.d.ts.map +1 -1
  14. package/dest/oracle/txe_oracle_top_level_context.js +123 -38
  15. package/dest/rpc_translator.d.ts +21 -15
  16. package/dest/rpc_translator.d.ts.map +1 -1
  17. package/dest/rpc_translator.js +92 -55
  18. package/dest/state_machine/archiver.d.ts +20 -67
  19. package/dest/state_machine/archiver.d.ts.map +1 -1
  20. package/dest/state_machine/archiver.js +59 -178
  21. package/dest/state_machine/dummy_p2p_client.d.ts +20 -15
  22. package/dest/state_machine/dummy_p2p_client.d.ts.map +1 -1
  23. package/dest/state_machine/dummy_p2p_client.js +39 -24
  24. package/dest/state_machine/global_variable_builder.d.ts +2 -2
  25. package/dest/state_machine/global_variable_builder.d.ts.map +1 -1
  26. package/dest/state_machine/global_variable_builder.js +1 -1
  27. package/dest/state_machine/index.d.ts +5 -5
  28. package/dest/state_machine/index.d.ts.map +1 -1
  29. package/dest/state_machine/index.js +35 -12
  30. package/dest/state_machine/mock_epoch_cache.d.ts +9 -6
  31. package/dest/state_machine/mock_epoch_cache.d.ts.map +1 -1
  32. package/dest/state_machine/mock_epoch_cache.js +14 -7
  33. package/dest/state_machine/synchronizer.d.ts +3 -3
  34. package/dest/state_machine/synchronizer.d.ts.map +1 -1
  35. package/dest/txe_session.d.ts +12 -7
  36. package/dest/txe_session.d.ts.map +1 -1
  37. package/dest/txe_session.js +122 -28
  38. package/dest/util/encoding.d.ts +17 -17
  39. package/dest/util/txe_public_contract_data_source.d.ts +2 -3
  40. package/dest/util/txe_public_contract_data_source.d.ts.map +1 -1
  41. package/dest/util/txe_public_contract_data_source.js +5 -22
  42. package/dest/utils/block_creation.d.ts +4 -4
  43. package/dest/utils/block_creation.d.ts.map +1 -1
  44. package/dest/utils/block_creation.js +18 -5
  45. package/dest/utils/tx_effect_creation.d.ts +2 -3
  46. package/dest/utils/tx_effect_creation.d.ts.map +1 -1
  47. package/dest/utils/tx_effect_creation.js +3 -6
  48. package/package.json +16 -16
  49. package/src/constants.ts +3 -0
  50. package/src/index.ts +83 -49
  51. package/src/oracle/interfaces.ts +8 -3
  52. package/src/oracle/txe_oracle_public_context.ts +6 -8
  53. package/src/oracle/txe_oracle_top_level_context.ts +163 -79
  54. package/src/rpc_translator.ts +97 -56
  55. package/src/state_machine/archiver.ts +54 -220
  56. package/src/state_machine/dummy_p2p_client.ts +55 -32
  57. package/src/state_machine/global_variable_builder.ts +1 -1
  58. package/src/state_machine/index.ts +49 -11
  59. package/src/state_machine/mock_epoch_cache.ts +15 -11
  60. package/src/state_machine/synchronizer.ts +2 -2
  61. package/src/txe_session.ts +151 -71
  62. package/src/util/txe_public_contract_data_source.ts +10 -36
  63. package/src/utils/block_creation.ts +19 -16
  64. package/src/utils/tx_effect_creation.ts +3 -11
  65. package/dest/util/txe_contract_store.d.ts +0 -12
  66. package/dest/util/txe_contract_store.d.ts.map +0 -1
  67. package/dest/util/txe_contract_store.js +0 -22
  68. package/src/util/txe_contract_store.ts +0 -36
@@ -1,12 +1,12 @@
1
1
  import { Fr, Point } from '@aztec/aztec.js/fields';
2
2
  import { MAX_NOTE_HASHES_PER_TX, MAX_NULLIFIERS_PER_TX } from '@aztec/constants';
3
3
  import { BlockNumber } from '@aztec/foundation/branded-types';
4
- import { packAsRetrievedNote } from '@aztec/pxe/simulator';
4
+ import { packAsHintedNote } from '@aztec/pxe/simulator';
5
5
  import { EventSelector, FunctionSelector, NoteSelector } from '@aztec/stdlib/abi';
6
6
  import { AztecAddress } from '@aztec/stdlib/aztec-address';
7
- import { MerkleTreeId } from '@aztec/stdlib/trees';
7
+ import { BlockHash } from '@aztec/stdlib/block';
8
8
  import { addressFromSingle, arrayOfArraysToBoundedVecOfArrays, arrayToBoundedVec, bufferToU8Array, fromArray, fromSingle, fromUintArray, fromUintBoundedVec, toArray, toForeignCallResult, toSingle } from './util/encoding.js';
9
- const MAX_EVENT_LEN = 12; // This is MAX_MESSAGE_CONTENT_LEN - PRIVATE_EVENT_RESERVED_FIELDS
9
+ const MAX_EVENT_LEN = 10; // This is MAX_MESSAGE_CONTENT_LEN - PRIVATE_EVENT_MSG_PLAINTEXT_RESERVED_FIELDS_LEN
10
10
  const MAX_PRIVATE_EVENTS_PER_TXE_QUERY = 5;
11
11
  export class UnavailableOracleError extends Error {
12
12
  constructor(oracleName){
@@ -176,6 +176,12 @@ export class RPCTranslator {
176
176
  const selector = EventSelector.fromField(fromSingle(foreignSelector));
177
177
  const contractAddress = addressFromSingle(foreignContractAddress);
178
178
  const scope = addressFromSingle(foreignScope);
179
+ // TODO(F-335): Avoid doing the following 2 calls here.
180
+ {
181
+ await this.handlerAsTxe().syncContractNonOracleMethod(contractAddress, scope, this.stateHandler.getCurrentJob());
182
+ // We cycle job to commit the stores after the contract sync.
183
+ await this.stateHandler.cycleJob();
184
+ }
179
185
  const events = await this.handlerAsTxe().txeGetPrivateEvents(selector, contractAddress, scope);
180
186
  if (events.length > MAX_PRIVATE_EVENTS_PER_TXE_QUERY) {
181
187
  throw new Error(`Array of length ${events.length} larger than maxLen ${MAX_PRIVATE_EVENTS_PER_TXE_QUERY}`);
@@ -209,33 +215,33 @@ export class RPCTranslator {
209
215
  }
210
216
  // When the argument is a slice, noir automatically adds a length field to oracle call.
211
217
  // When the argument is an array, we add the field length manually to the signature.
212
- utilityDebugLog(foreignLevel, foreignMessage, _foreignLength, foreignFields) {
218
+ async utilityLog(foreignLevel, foreignMessage, _foreignLength, foreignFields) {
213
219
  const level = fromSingle(foreignLevel).toNumber();
214
220
  const message = fromArray(foreignMessage).map((field)=>String.fromCharCode(field.toNumber())).join('');
215
221
  const fields = fromArray(foreignFields);
216
- this.handlerAsMisc().utilityDebugLog(level, message, fields);
222
+ await this.handlerAsMisc().utilityLog(level, message, fields);
217
223
  return toForeignCallResult([]);
218
224
  }
219
- async utilityStorageRead(foreignContractAddress, foreignStartStorageSlot, foreignBlockNumber, foreignNumberOfElements) {
225
+ async utilityStorageRead(foreignBlockHash, foreignContractAddress, foreignStartStorageSlot, foreignNumberOfElements) {
226
+ const blockHash = new BlockHash(fromSingle(foreignBlockHash));
220
227
  const contractAddress = addressFromSingle(foreignContractAddress);
221
228
  const startStorageSlot = fromSingle(foreignStartStorageSlot);
222
- const blockNumber = BlockNumber(fromSingle(foreignBlockNumber).toNumber());
223
229
  const numberOfElements = fromSingle(foreignNumberOfElements).toNumber();
224
- const values = await this.handlerAsUtility().utilityStorageRead(contractAddress, startStorageSlot, blockNumber, numberOfElements);
230
+ const values = await this.handlerAsUtility().utilityStorageRead(blockHash, contractAddress, startStorageSlot, numberOfElements);
225
231
  return toForeignCallResult([
226
232
  toArray(values)
227
233
  ]);
228
234
  }
229
- async utilityGetPublicDataWitness(foreignBlockNumber, foreignLeafSlot) {
230
- const blockNumber = BlockNumber(fromSingle(foreignBlockNumber).toNumber());
235
+ async utilityGetPublicDataWitness(foreignBlockHash, foreignLeafSlot) {
236
+ const blockHash = new BlockHash(fromSingle(foreignBlockHash));
231
237
  const leafSlot = fromSingle(foreignLeafSlot);
232
- const witness = await this.handlerAsUtility().utilityGetPublicDataWitness(blockNumber, leafSlot);
238
+ const witness = await this.handlerAsUtility().utilityGetPublicDataWitness(blockHash, leafSlot);
233
239
  if (!witness) {
234
- throw new Error(`Public data witness not found for slot ${leafSlot} at block ${blockNumber}.`);
240
+ throw new Error(`Public data witness not found for slot ${leafSlot} at block ${blockHash.toString()}.`);
235
241
  }
236
242
  return toForeignCallResult(witness.toNoirRepresentation());
237
243
  }
238
- async utilityGetNotes(foreignOwnerIsSome, foreignOwnerValue, foreignStorageSlot, foreignNumSelects, foreignSelectByIndexes, foreignSelectByOffsets, foreignSelectByLengths, foreignSelectValues, foreignSelectComparators, foreignSortByIndexes, foreignSortByOffsets, foreignSortByLengths, foreignSortOrder, foreignLimit, foreignOffset, foreignStatus, foreignMaxNotes, foreignPackedRetrievedNoteLength) {
244
+ async utilityGetNotes(foreignOwnerIsSome, foreignOwnerValue, foreignStorageSlot, foreignNumSelects, foreignSelectByIndexes, foreignSelectByOffsets, foreignSelectByLengths, foreignSelectValues, foreignSelectComparators, foreignSortByIndexes, foreignSortByOffsets, foreignSortByLengths, foreignSortOrder, foreignLimit, foreignOffset, foreignStatus, foreignMaxNotes, foreignPackedHintedNoteLength) {
239
245
  // Parse Option<AztecAddress>: ownerIsSome is 0 for None, 1 for Some
240
246
  const owner = fromSingle(foreignOwnerIsSome).toBool() ? AztecAddress.fromField(fromSingle(foreignOwnerValue)) : undefined;
241
247
  const storageSlot = fromSingle(foreignStorageSlot);
@@ -253,21 +259,21 @@ export class RPCTranslator {
253
259
  const offset = fromSingle(foreignOffset).toNumber();
254
260
  const status = fromSingle(foreignStatus).toNumber();
255
261
  const maxNotes = fromSingle(foreignMaxNotes).toNumber();
256
- const packedRetrievedNoteLength = fromSingle(foreignPackedRetrievedNoteLength).toNumber();
262
+ const packedHintedNoteLength = fromSingle(foreignPackedHintedNoteLength).toNumber();
257
263
  const noteDatas = await this.handlerAsUtility().utilityGetNotes(owner, storageSlot, numSelects, selectByIndexes, selectByOffsets, selectByLengths, selectValues, selectComparators, sortByIndexes, sortByOffsets, sortByLengths, sortOrder, limit, offset, status);
258
- const returnDataAsArrayOfArrays = noteDatas.map((noteData)=>packAsRetrievedNote({
264
+ const returnDataAsArrayOfArrays = noteDatas.map((noteData)=>packAsHintedNote({
259
265
  contractAddress: noteData.contractAddress,
260
266
  owner: noteData.owner,
261
267
  randomness: noteData.randomness,
262
268
  storageSlot: noteData.storageSlot,
263
269
  noteNonce: noteData.noteNonce,
264
- index: noteData.index,
270
+ isPending: noteData.isPending,
265
271
  note: noteData.note
266
272
  }));
267
273
  // Now we convert each sub-array to an array of ForeignCallSingles
268
274
  const returnDataAsArrayOfForeignCallSingleArrays = returnDataAsArrayOfArrays.map((subArray)=>subArray.map(toSingle));
269
275
  // At last we convert the array of arrays to a bounded vec of arrays
270
- return toForeignCallResult(arrayOfArraysToBoundedVecOfArrays(returnDataAsArrayOfForeignCallSingleArrays, maxNotes, packedRetrievedNoteLength));
276
+ return toForeignCallResult(arrayOfArraysToBoundedVecOfArrays(returnDataAsArrayOfForeignCallSingleArrays, maxNotes, packedHintedNoteLength));
271
277
  }
272
278
  privateNotifyCreatedNote(foreignOwner, foreignStorageSlot, foreignRandomness, foreignNoteTypeId, foreignNote, foreignNoteHash, foreignCounter) {
273
279
  const owner = addressFromSingle(foreignOwner);
@@ -292,6 +298,14 @@ export class RPCTranslator {
292
298
  await this.handlerAsPrivate().privateNotifyCreatedNullifier(innerNullifier);
293
299
  return toForeignCallResult([]);
294
300
  }
301
+ async privateIsNullifierPending(foreignInnerNullifier, foreignContractAddress) {
302
+ const innerNullifier = fromSingle(foreignInnerNullifier);
303
+ const contractAddress = addressFromSingle(foreignContractAddress);
304
+ const isPending = await this.handlerAsPrivate().privateIsNullifierPending(innerNullifier, contractAddress);
305
+ return toForeignCallResult([
306
+ toSingle(new Fr(isPending))
307
+ ]);
308
+ }
295
309
  async utilityCheckNullifierExists(foreignInnerNullifier) {
296
310
  const innerNullifier = fromSingle(foreignInnerNullifier);
297
311
  const exists = await this.handlerAsUtility().utilityCheckNullifierExists(innerNullifier);
@@ -310,15 +324,27 @@ export class RPCTranslator {
310
324
  ...instance.publicKeys.toFields()
311
325
  ].map(toSingle));
312
326
  }
313
- async utilityGetPublicKeysAndPartialAddress(foreignAddress) {
327
+ async utilityTryGetPublicKeysAndPartialAddress(foreignAddress) {
314
328
  const address = addressFromSingle(foreignAddress);
315
- const { publicKeys, partialAddress } = await this.handlerAsUtility().utilityGetPublicKeysAndPartialAddress(address);
316
- return toForeignCallResult([
317
- toArray([
318
- ...publicKeys.toFields(),
319
- partialAddress
320
- ])
321
- ]);
329
+ const result = await this.handlerAsUtility().utilityTryGetPublicKeysAndPartialAddress(address);
330
+ // We are going to return a Noir Option struct to represent the possibility of null values. Options are a struct
331
+ // with two fields: `some` (a boolean) and `value` (a field array in this case).
332
+ if (result === undefined) {
333
+ // No data was found so we set `some` to 0 and pad `value` with zeros get the correct return size.
334
+ return toForeignCallResult([
335
+ toSingle(new Fr(0)),
336
+ toArray(Array(13).fill(new Fr(0)))
337
+ ]);
338
+ } else {
339
+ // Data was found so we set `some` to 1 and return it along with `value`.
340
+ return toForeignCallResult([
341
+ toSingle(new Fr(1)),
342
+ toArray([
343
+ ...result.publicKeys.toFields(),
344
+ result.partialAddress
345
+ ])
346
+ ]);
347
+ }
322
348
  }
323
349
  async utilityGetKeyValidationRequest(foreignPkMHash) {
324
350
  const pkMHash = fromSingle(foreignPkMHash);
@@ -328,12 +354,12 @@ export class RPCTranslator {
328
354
  privateCallPrivateFunction(_foreignTargetContractAddress, _foreignFunctionSelector, _foreignArgsHash, _foreignSideEffectCounter, _foreignIsStaticCall) {
329
355
  throw new Error('Contract calls are forbidden inside a `TestEnvironment::private_context`, use `private_call` instead');
330
356
  }
331
- async utilityGetNullifierMembershipWitness(foreignBlockNumber, foreignNullifier) {
332
- const blockNumber = BlockNumber(fromSingle(foreignBlockNumber).toNumber());
357
+ async utilityGetNullifierMembershipWitness(foreignBlockHash, foreignNullifier) {
358
+ const blockHash = new BlockHash(fromSingle(foreignBlockHash));
333
359
  const nullifier = fromSingle(foreignNullifier);
334
- const witness = await this.handlerAsUtility().utilityGetNullifierMembershipWitness(blockNumber, nullifier);
360
+ const witness = await this.handlerAsUtility().utilityGetNullifierMembershipWitness(blockHash, nullifier);
335
361
  if (!witness) {
336
- throw new Error(`Nullifier membership witness not found at block ${blockNumber}.`);
362
+ throw new Error(`Nullifier membership witness not found at block ${blockHash}.`);
337
363
  }
338
364
  return toForeignCallResult(witness.toNoirRepresentation());
339
365
  }
@@ -375,25 +401,30 @@ export class RPCTranslator {
375
401
  }
376
402
  return toForeignCallResult(header.toFields().map(toSingle));
377
403
  }
378
- async utilityGetMembershipWitness(foreignBlockNumber, foreignTreeId, foreignLeafValue) {
379
- const blockNumber = BlockNumber(fromSingle(foreignBlockNumber).toNumber());
380
- const treeId = fromSingle(foreignTreeId).toNumber();
381
- const leafValue = fromSingle(foreignLeafValue);
382
- const witness = await this.handlerAsUtility().utilityGetMembershipWitness(blockNumber, treeId, leafValue);
404
+ async utilityGetNoteHashMembershipWitness(foreignAnchorBlockHash, foreignNoteHash) {
405
+ const blockHash = new BlockHash(fromSingle(foreignAnchorBlockHash));
406
+ const noteHash = fromSingle(foreignNoteHash);
407
+ const witness = await this.handlerAsUtility().utilityGetNoteHashMembershipWitness(blockHash, noteHash);
383
408
  if (!witness) {
384
- throw new Error(`Membership witness in tree ${MerkleTreeId[treeId]} not found for value ${leafValue} at block ${blockNumber}.`);
409
+ throw new Error(`Note hash ${noteHash} not found in the note hash tree at block ${blockHash.toString()}.`);
385
410
  }
386
- return toForeignCallResult([
387
- toSingle(witness[0]),
388
- toArray(witness.slice(1))
389
- ]);
411
+ return toForeignCallResult(witness.toNoirRepresentation());
390
412
  }
391
- async utilityGetLowNullifierMembershipWitness(foreignBlockNumber, foreignNullifier) {
392
- const blockNumber = BlockNumber(fromSingle(foreignBlockNumber).toNumber());
413
+ async utilityGetBlockHashMembershipWitness(foreignAnchorBlockHash, foreignBlockHash) {
414
+ const anchorBlockHash = new BlockHash(fromSingle(foreignAnchorBlockHash));
415
+ const blockHash = new BlockHash(fromSingle(foreignBlockHash));
416
+ const witness = await this.handlerAsUtility().utilityGetBlockHashMembershipWitness(anchorBlockHash, blockHash);
417
+ if (!witness) {
418
+ throw new Error(`Block hash ${blockHash.toString()} not found in the archive tree at anchor block ${anchorBlockHash.toString()}.`);
419
+ }
420
+ return toForeignCallResult(witness.toNoirRepresentation());
421
+ }
422
+ async utilityGetLowNullifierMembershipWitness(foreignBlockHash, foreignNullifier) {
423
+ const blockHash = new BlockHash(fromSingle(foreignBlockHash));
393
424
  const nullifier = fromSingle(foreignNullifier);
394
- const witness = await this.handlerAsUtility().utilityGetLowNullifierMembershipWitness(blockNumber, nullifier);
425
+ const witness = await this.handlerAsUtility().utilityGetLowNullifierMembershipWitness(blockHash, nullifier);
395
426
  if (!witness) {
396
- throw new Error(`Low nullifier witness not found for nullifier ${nullifier} at block ${blockNumber}.`);
427
+ throw new Error(`Low nullifier witness not found for nullifier ${nullifier} at block ${blockHash}.`);
397
428
  }
398
429
  return toForeignCallResult(witness.toNoirRepresentation());
399
430
  }
@@ -402,11 +433,11 @@ export class RPCTranslator {
402
433
  await this.handlerAsUtility().utilityFetchTaggedLogs(pendingTaggedLogArrayBaseSlot);
403
434
  return toForeignCallResult([]);
404
435
  }
405
- async utilityValidateEnqueuedNotesAndEvents(foreignContractAddress, foreignNoteValidationRequestsArrayBaseSlot, foreignEventValidationRequestsArrayBaseSlot) {
436
+ async utilityValidateAndStoreEnqueuedNotesAndEvents(foreignContractAddress, foreignNoteValidationRequestsArrayBaseSlot, foreignEventValidationRequestsArrayBaseSlot) {
406
437
  const contractAddress = AztecAddress.fromField(fromSingle(foreignContractAddress));
407
438
  const noteValidationRequestsArrayBaseSlot = fromSingle(foreignNoteValidationRequestsArrayBaseSlot);
408
439
  const eventValidationRequestsArrayBaseSlot = fromSingle(foreignEventValidationRequestsArrayBaseSlot);
409
- await this.handlerAsUtility().utilityValidateEnqueuedNotesAndEvents(contractAddress, noteValidationRequestsArrayBaseSlot, eventValidationRequestsArrayBaseSlot);
440
+ await this.handlerAsUtility().utilityValidateAndStoreEnqueuedNotesAndEvents(contractAddress, noteValidationRequestsArrayBaseSlot, eventValidationRequestsArrayBaseSlot);
410
441
  return toForeignCallResult([]);
411
442
  }
412
443
  async utilityBulkRetrieveLogs(foreignContractAddress, foreignLogRetrievalRequestsArrayBaseSlot, foreignLogRetrievalResponsesArrayBaseSlot) {
@@ -483,13 +514,14 @@ export class RPCTranslator {
483
514
  throw new Error('Offchain effects are not yet supported in the TestEnvironment');
484
515
  }
485
516
  // AVM opcodes
486
- avmOpcodeEmitUnencryptedLog(_foreignMessage) {
517
+ avmOpcodeEmitPublicLog(_foreignMessage) {
487
518
  // TODO(#8811): Implement
488
519
  return toForeignCallResult([]);
489
520
  }
490
- async avmOpcodeStorageRead(foreignSlot) {
521
+ async avmOpcodeStorageRead(foreignSlot, foreignContractAddress) {
491
522
  const slot = fromSingle(foreignSlot);
492
- const value = (await this.handlerAsAvm().avmOpcodeStorageRead(slot)).value;
523
+ const contractAddress = AztecAddress.fromField(fromSingle(foreignContractAddress));
524
+ const value = (await this.handlerAsAvm().avmOpcodeStorageRead(slot, contractAddress)).value;
493
525
  return toForeignCallResult([
494
526
  toSingle(new Fr(value))
495
527
  ]);
@@ -543,10 +575,9 @@ export class RPCTranslator {
543
575
  await this.handlerAsAvm().avmOpcodeEmitNoteHash(noteHash);
544
576
  return toForeignCallResult([]);
545
577
  }
546
- async avmOpcodeNullifierExists(foreignInnerNullifier, foreignTargetAddress) {
547
- const innerNullifier = fromSingle(foreignInnerNullifier);
548
- const targetAddress = AztecAddress.fromField(fromSingle(foreignTargetAddress));
549
- const exists = await this.handlerAsAvm().avmOpcodeNullifierExists(innerNullifier, targetAddress);
578
+ async avmOpcodeNullifierExists(foreignSiloedNullifier) {
579
+ const siloedNullifier = fromSingle(foreignSiloedNullifier);
580
+ const exists = await this.handlerAsAvm().avmOpcodeNullifierExists(siloedNullifier);
550
581
  return toForeignCallResult([
551
582
  toSingle(new Fr(exists))
552
583
  ]);
@@ -609,16 +640,20 @@ export class RPCTranslator {
609
640
  const args = fromArray(foreignArgs);
610
641
  const argsHash = fromSingle(foreignArgsHash);
611
642
  const isStaticCall = fromSingle(foreignIsStaticCall).toBool();
612
- const returnValues = await this.handlerAsTxe().txePrivateCallNewFlow(from, targetContractAddress, functionSelector, args, argsHash, isStaticCall);
643
+ const returnValues = await this.handlerAsTxe().txePrivateCallNewFlow(from, targetContractAddress, functionSelector, args, argsHash, isStaticCall, this.stateHandler.getCurrentJob());
644
+ // TODO(F-335): Avoid doing the following call here.
645
+ await this.stateHandler.cycleJob();
613
646
  return toForeignCallResult([
614
647
  toArray(returnValues)
615
648
  ]);
616
649
  }
617
- async txeSimulateUtilityFunction(foreignTargetContractAddress, foreignFunctionSelector, foreignArgs) {
650
+ async txeExecuteUtilityFunction(foreignTargetContractAddress, foreignFunctionSelector, foreignArgs) {
618
651
  const targetContractAddress = addressFromSingle(foreignTargetContractAddress);
619
652
  const functionSelector = FunctionSelector.fromField(fromSingle(foreignFunctionSelector));
620
653
  const args = fromArray(foreignArgs);
621
- const returnValues = await this.handlerAsTxe().txeSimulateUtilityFunction(targetContractAddress, functionSelector, args);
654
+ const returnValues = await this.handlerAsTxe().txeExecuteUtilityFunction(targetContractAddress, functionSelector, args, this.stateHandler.getCurrentJob());
655
+ // TODO(F-335): Avoid doing the following call here.
656
+ await this.stateHandler.cycleJob();
622
657
  return toForeignCallResult([
623
658
  toArray(returnValues)
624
659
  ]);
@@ -629,6 +664,8 @@ export class RPCTranslator {
629
664
  const calldata = fromArray(foreignCalldata);
630
665
  const isStaticCall = fromSingle(foreignIsStaticCall).toBool();
631
666
  const returnValues = await this.handlerAsTxe().txePublicCallNewFlow(from, address, calldata, isStaticCall);
667
+ // TODO(F-335): Avoid doing the following call here.
668
+ await this.stateHandler.cycleJob();
632
669
  return toForeignCallResult([
633
670
  toArray(returnValues)
634
671
  ]);
@@ -1,78 +1,31 @@
1
- import { ArchiverStoreHelper } from '@aztec/archiver';
2
- import { BlockNumber, CheckpointNumber, EpochNumber, SlotNumber } from '@aztec/foundation/branded-types';
1
+ import { ArchiverDataSourceBase } from '@aztec/archiver';
2
+ import { type EpochNumber, type SlotNumber } from '@aztec/foundation/branded-types';
3
3
  import { Fr } from '@aztec/foundation/curves/bn254';
4
4
  import type { EthAddress } from '@aztec/foundation/eth-address';
5
5
  import type { AztecAsyncKVStore } from '@aztec/kv-store';
6
- import type { AztecAddress } from '@aztec/stdlib/aztec-address';
7
- import { L2Block, type L2BlockNew, type L2BlockSource, type L2Tips, PublishedL2Block, type ValidateBlockResult } from '@aztec/stdlib/block';
8
- import { Checkpoint, PublishedCheckpoint } from '@aztec/stdlib/checkpoint';
9
- import type { ContractInstanceWithAddress } from '@aztec/stdlib/contract';
6
+ import type { L2Tips, ValidateCheckpointResult } from '@aztec/stdlib/block';
7
+ import type { PublishedCheckpoint } from '@aztec/stdlib/checkpoint';
10
8
  import type { L1RollupConstants } from '@aztec/stdlib/epoch-helpers';
11
- import type { BlockHeader } from '@aztec/stdlib/tx';
12
- import type { UInt64 } from '@aztec/stdlib/types';
13
- export declare class TXEArchiver extends ArchiverStoreHelper implements L2BlockSource {
9
+ /**
10
+ * TXE Archiver implementation.
11
+ * Provides most of the endpoints needed by the node for reading from and writing to state,
12
+ * without needing any of the extra overhead that the Archiver itself requires (i.e. an L1 client).
13
+ */
14
+ export declare class TXEArchiver extends ArchiverDataSourceBase {
15
+ private readonly updater;
14
16
  constructor(db: AztecAsyncKVStore);
15
- getBlock(number: BlockNumber): Promise<L2Block | undefined>;
16
- getBlocks(from: BlockNumber, limit: number, proven?: boolean): Promise<L2Block[]>;
17
- addCheckpoints(checkpoints: PublishedCheckpoint[], _result?: ValidateBlockResult): Promise<boolean>;
18
- /**
19
- * Gets the number of the latest L2 block processed by the block source implementation.
20
- * @returns The number of the latest L2 block processed by the block source implementation.
21
- */
22
- getBlockNumber(): Promise<BlockNumber>;
23
- /**
24
- * Gets the number of the latest L2 block proven seen by the block source implementation.
25
- * @returns The number of the latest L2 block proven seen by the block source implementation.
26
- */
27
- getProvenBlockNumber(): Promise<BlockNumber>;
28
- /**
29
- * Gets a published l2 block. If a negative number is passed, the block returned is the most recent.
30
- * @param number - The block number to return (inclusive).
31
- * @returns The requested L2 block.
32
- */
33
- getPublishedBlock(number: number): Promise<PublishedL2Block | undefined>;
34
- getPublishedBlocks(from: BlockNumber, limit: number, proven?: boolean): Promise<PublishedL2Block[]>;
35
- private retrievePublishedBlocks;
36
- /**
37
- * Gets an l2 block. If a negative number is passed, the block returned is the most recent.
38
- * @param number - The block number to return (inclusive).
39
- * @returns The requested L2 block.
40
- */
41
- getL2Block(number: BlockNumber | 'latest'): Promise<L2Block | undefined>;
42
- /**
43
- * Gets an L2 block (new format).
44
- * @param number - The block number to return.
45
- * @returns The requested L2 block.
46
- */
47
- getL2BlockNew(number: BlockNumber): Promise<L2BlockNew | undefined>;
48
- /**
49
- * Gets an l2 block header.
50
- * @param number - The block number to return or 'latest' for the most recent one.
51
- * @returns The requested L2 block header.
52
- */
53
- getBlockHeader(number: number | 'latest'): Promise<BlockHeader | undefined>;
54
- getBlockRange(from: number, limit: number, _proven?: boolean): Promise<L2Block[]>;
55
- getPublishedCheckpoints(_from: CheckpointNumber, _limit: number): Promise<PublishedCheckpoint[]>;
56
- getCheckpointByArchive(_archive: Fr): Promise<Checkpoint | undefined>;
57
- getL2SlotNumber(): Promise<SlotNumber | undefined>;
58
- getL2EpochNumber(): Promise<EpochNumber>;
59
- getCheckpointsForEpoch(_epochNumber: EpochNumber): Promise<Checkpoint[]>;
60
- getBlocksForEpoch(_epochNumber: EpochNumber): Promise<L2Block[]>;
61
- getBlockHeadersForEpoch(_epochNumber: EpochNumber): Promise<BlockHeader[]>;
62
- isEpochComplete(_epochNumber: EpochNumber): Promise<boolean>;
63
- getL2Tips(): Promise<L2Tips>;
17
+ addCheckpoints(checkpoints: PublishedCheckpoint[], result?: ValidateCheckpointResult): Promise<void>;
18
+ getRollupAddress(): Promise<EthAddress>;
19
+ getRegistryAddress(): Promise<EthAddress>;
64
20
  getL1Constants(): Promise<L1RollupConstants>;
65
21
  getGenesisValues(): Promise<{
66
22
  genesisArchiveRoot: Fr;
67
23
  }>;
24
+ getL1Timestamp(): Promise<bigint | undefined>;
25
+ getL2Tips(): Promise<L2Tips>;
26
+ getL2SlotNumber(): Promise<SlotNumber | undefined>;
27
+ getL2EpochNumber(): Promise<EpochNumber | undefined>;
28
+ isEpochComplete(_epochNumber: EpochNumber): Promise<boolean>;
68
29
  syncImmediate(): Promise<void>;
69
- getContract(_address: AztecAddress, _timestamp?: UInt64): Promise<ContractInstanceWithAddress | undefined>;
70
- getRollupAddress(): Promise<EthAddress>;
71
- getRegistryAddress(): Promise<EthAddress>;
72
- getL1Timestamp(): Promise<bigint>;
73
- isPendingChainInvalid(): Promise<boolean>;
74
- getPendingChainValidationStatus(): Promise<ValidateBlockResult>;
75
- getPublishedBlockByHash(_blockHash: Fr): Promise<PublishedL2Block | undefined>;
76
- getPublishedBlockByArchive(_archive: Fr): Promise<PublishedL2Block | undefined>;
77
30
  }
78
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJjaGl2ZXIuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdGF0ZV9tYWNoaW5lL2FyY2hpdmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxtQkFBbUIsRUFBdUIsTUFBTSxpQkFBaUIsQ0FBQztBQUUzRSxPQUFPLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN6RyxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEQsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFaEUsT0FBTyxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RCxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNoRSxPQUFPLEVBRUwsT0FBTyxFQUVQLEtBQUssVUFBVSxFQUNmLEtBQUssYUFBYSxFQUNsQixLQUFLLE1BQU0sRUFDWCxnQkFBZ0IsRUFDaEIsS0FBSyxtQkFBbUIsRUFDekIsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQUUsVUFBVSxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0UsT0FBTyxLQUFLLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMxRSxPQUFPLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3JFLE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3BELE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBS2xELHFCQUFhLFdBQVksU0FBUSxtQkFBb0IsWUFBVyxhQUFhO0lBQzNFLFlBQVksRUFBRSxFQUFFLGlCQUFpQixFQUVoQztJQUVZLFFBQVEsQ0FBQyxNQUFNLEVB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
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJjaGl2ZXIuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdGF0ZV9tYWNoaW5lL2FyY2hpdmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxzQkFBc0IsRUFBaUQsTUFBTSxpQkFBaUIsQ0FBQztBQUV4RyxPQUFPLEVBQW9CLEtBQUssV0FBVyxFQUFFLEtBQUssVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdEcsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2hFLE9BQU8sS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxLQUFLLEVBQW9DLE1BQU0sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzlHLE9BQU8sS0FBSyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDcEUsT0FBTyxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUVyRTs7OztHQUlHO0FBQ0gscUJBQWEsV0FBWSxTQUFRLHNCQUFzQjtJQUNyRCxPQUFPLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBNEM7SUFFcEUsWUFBWSxFQUFFLEVBQUUsaUJBQWlCLEVBR2hDO0lBRVksY0FBYyxDQUFDLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxFQUFFLE1BQU0sQ0FBQyxFQUFFLHdCQUF3QixHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FFaEg7SUFFTSxnQkFBZ0IsSUFBSSxPQUFPLENBQUMsVUFBVSxDQUFDLENBRTdDO0lBRU0sa0JBQWtCLElBQUksT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUUvQztJQUVNLGNBQWMsSUFBSSxPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FFbEQ7SUFFTSxnQkFBZ0IsSUFBSSxPQUFPLENBQUM7UUFBRSxrQkFBa0IsRUFBRSxFQUFFLENBQUE7S0FBRSxDQUFDLENBRTdEO0lBRU0sY0FBYyxJQUFJLE9BQU8sQ0FBQyxNQUFNLEdBQUcsU0FBUyxDQUFDLENBRW5EO0lBRVksU0FBUyxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FnQ3hDO0lBRU0sZUFBZSxJQUFJLE9BQU8sQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFDLENBRXhEO0lBRU0sZ0JBQWdCLElBQUksT0FBTyxDQUFDLFdBQVcsR0FBRyxTQUFTLENBQUMsQ0FFMUQ7SUFFTSxlQUFlLENBQUMsWUFBWSxFQUFFLFdBQVcsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLENBRWxFO0lBRU0sYUFBYSxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FFcEM7Q0FDRiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"archiver.d.ts","sourceRoot":"","sources":["../../src/state_machine/archiver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"archiver.d.ts","sourceRoot":"","sources":["../../src/state_machine/archiver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAiD,MAAM,iBAAiB,CAAC;AAExG,OAAO,EAAoB,KAAK,WAAW,EAAE,KAAK,UAAU,EAAE,MAAM,iCAAiC,CAAC;AACtG,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,KAAK,EAAoC,MAAM,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAC9G,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAErE;;;;GAIG;AACH,qBAAa,WAAY,SAAQ,sBAAsB;IACrD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA4C;IAEpE,YAAY,EAAE,EAAE,iBAAiB,EAGhC;IAEY,cAAc,CAAC,WAAW,EAAE,mBAAmB,EAAE,EAAE,MAAM,CAAC,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAEhH;IAEM,gBAAgB,IAAI,OAAO,CAAC,UAAU,CAAC,CAE7C;IAEM,kBAAkB,IAAI,OAAO,CAAC,UAAU,CAAC,CAE/C;IAEM,cAAc,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAElD;IAEM,gBAAgB,IAAI,OAAO,CAAC;QAAE,kBAAkB,EAAE,EAAE,CAAA;KAAE,CAAC,CAE7D;IAEM,cAAc,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAEnD;IAEY,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC,CAgCxC;IAEM,eAAe,IAAI,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAExD;IAEM,gBAAgB,IAAI,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAE1D;IAEM,eAAe,CAAC,YAAY,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAElE;IAEM,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAEpC;CACF"}