@aztec/txe 0.0.1-commit.5de5ca79e → 0.0.1-commit.6201a7b05

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 (44) hide show
  1. package/dest/oracle/interfaces.d.ts +5 -2
  2. package/dest/oracle/interfaces.d.ts.map +1 -1
  3. package/dest/oracle/txe_oracle_top_level_context.d.ts +13 -6
  4. package/dest/oracle/txe_oracle_top_level_context.d.ts.map +1 -1
  5. package/dest/oracle/txe_oracle_top_level_context.js +45 -22
  6. package/dest/rpc_translator.d.ts +62 -21
  7. package/dest/rpc_translator.d.ts.map +1 -1
  8. package/dest/rpc_translator.js +238 -60
  9. package/dest/state_machine/archiver.d.ts +1 -1
  10. package/dest/state_machine/archiver.d.ts.map +1 -1
  11. package/dest/state_machine/archiver.js +2 -1
  12. package/dest/state_machine/dummy_p2p_client.d.ts +3 -2
  13. package/dest/state_machine/dummy_p2p_client.d.ts.map +1 -1
  14. package/dest/state_machine/dummy_p2p_client.js +5 -2
  15. package/dest/state_machine/global_variable_builder.d.ts +9 -4
  16. package/dest/state_machine/global_variable_builder.d.ts.map +1 -1
  17. package/dest/state_machine/global_variable_builder.js +9 -3
  18. package/dest/state_machine/index.d.ts +1 -1
  19. package/dest/state_machine/index.d.ts.map +1 -1
  20. package/dest/state_machine/index.js +2 -2
  21. package/dest/state_machine/mock_epoch_cache.d.ts +2 -1
  22. package/dest/state_machine/mock_epoch_cache.d.ts.map +1 -1
  23. package/dest/state_machine/mock_epoch_cache.js +3 -0
  24. package/dest/txe_session.d.ts +48 -4
  25. package/dest/txe_session.d.ts.map +1 -1
  26. package/dest/txe_session.js +76 -20
  27. package/dest/util/encoding.d.ts +3 -1
  28. package/dest/util/encoding.d.ts.map +1 -1
  29. package/dest/util/encoding.js +4 -0
  30. package/dest/util/txe_public_contract_data_source.d.ts +1 -1
  31. package/dest/util/txe_public_contract_data_source.d.ts.map +1 -1
  32. package/dest/util/txe_public_contract_data_source.js +1 -3
  33. package/package.json +15 -15
  34. package/src/oracle/interfaces.ts +1 -1
  35. package/src/oracle/txe_oracle_top_level_context.ts +48 -26
  36. package/src/rpc_translator.ts +279 -68
  37. package/src/state_machine/archiver.ts +1 -0
  38. package/src/state_machine/dummy_p2p_client.ts +6 -2
  39. package/src/state_machine/global_variable_builder.ts +18 -3
  40. package/src/state_machine/index.ts +4 -1
  41. package/src/state_machine/mock_epoch_cache.ts +4 -0
  42. package/src/txe_session.ts +134 -20
  43. package/src/util/encoding.ts +5 -0
  44. package/src/util/txe_public_contract_data_source.ts +0 -2
@@ -1,11 +1,10 @@
1
1
  import { Fr, Point } from '@aztec/aztec.js/fields';
2
- import { MAX_NOTE_HASHES_PER_TX, MAX_NULLIFIERS_PER_TX } from '@aztec/constants';
2
+ import { MAX_NOTE_HASHES_PER_TX, MAX_NULLIFIERS_PER_TX, PRIVATE_LOG_CIPHERTEXT_LEN } from '@aztec/constants';
3
3
  import { BlockNumber } from '@aztec/foundation/branded-types';
4
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 { BlockHash } from '@aztec/stdlib/block';
8
- import { addressFromSingle, arrayOfArraysToBoundedVecOfArrays, arrayToBoundedVec, bufferToU8Array, fromArray, fromSingle, fromUintArray, fromUintBoundedVec, toArray, toForeignCallResult, toSingle } from './util/encoding.js';
7
+ import { addressFromSingle, arrayOfArraysToBoundedVecOfArrays, arrayToBoundedVec, blockHashFromSingle, bufferToU8Array, fromArray, fromSingle, fromUintArray, fromUintBoundedVec, toArray, toForeignCallResult, toSingle } from './util/encoding.js';
9
8
  const MAX_EVENT_LEN = 10; // This is MAX_MESSAGE_CONTENT_LEN - PRIVATE_EVENT_MSG_PLAINTEXT_RESERVED_FIELDS_LEN
10
9
  const MAX_PRIVATE_EVENTS_PER_TXE_QUERY = 5;
11
10
  export class UnavailableOracleError extends Error {
@@ -161,9 +160,10 @@ export class RPCTranslator {
161
160
  }
162
161
  // PXE oracles
163
162
  // eslint-disable-next-line camelcase
164
- aztec_utl_assertCompatibleOracleVersion(foreignVersion) {
165
- const version = fromSingle(foreignVersion).toNumber();
166
- this.handlerAsMisc().assertCompatibleOracleVersion(version);
163
+ aztec_utl_assertCompatibleOracleVersionV2(foreignMajor, foreignMinor) {
164
+ const major = fromSingle(foreignMajor).toNumber();
165
+ const minor = fromSingle(foreignMinor).toNumber();
166
+ this.handlerAsMisc().assertCompatibleOracleVersion(major, minor);
167
167
  return toForeignCallResult([]);
168
168
  }
169
169
  // eslint-disable-next-line camelcase
@@ -190,6 +190,39 @@ export class RPCTranslator {
190
190
  ]);
191
191
  }
192
192
  // eslint-disable-next-line camelcase
193
+ aztec_txe_getLastCallOffchainEffects() {
194
+ // This oracle returns all offchain effect payloads (messages, authwit requests, etc.) emitted by the last top-level call,
195
+ // MAX_OFFCHAIN_EFFECTS_PER_TXE_QUERY is arbitrarily set at 64 because we need a bound. Nothing inherent about it.
196
+ const MAX_OFFCHAIN_EFFECTS_PER_TXE_QUERY = 64;
197
+ // Must match MAX_OFFCHAIN_EFFECT_LEN in txe_oracles.nr.
198
+ const MAX_OFFCHAIN_EFFECT_LEN = 2 + PRIVATE_LOG_CIPHERTEXT_LEN;
199
+ const { effects } = this.stateHandler.getLastCallOffchainEffects();
200
+ if (effects.length > MAX_OFFCHAIN_EFFECTS_PER_TXE_QUERY) {
201
+ throw new Error(`${effects.length} offchain effects exceed max ${MAX_OFFCHAIN_EFFECTS_PER_TXE_QUERY}`);
202
+ }
203
+ if (effects.some((e)=>e.length > MAX_OFFCHAIN_EFFECT_LEN)) {
204
+ throw new Error(`Some offchain effect has length larger than max ${MAX_OFFCHAIN_EFFECT_LEN}`);
205
+ }
206
+ const rawArrayStorage = effects.map((e)=>e.concat(Array(MAX_OFFCHAIN_EFFECT_LEN - e.length).fill(new Fr(0)))).concat(Array(MAX_OFFCHAIN_EFFECTS_PER_TXE_QUERY - effects.length).fill(Array(MAX_OFFCHAIN_EFFECT_LEN).fill(new Fr(0)))).flat();
207
+ const effectLengths = effects.map((e)=>new Fr(e.length)).concat(Array(MAX_OFFCHAIN_EFFECTS_PER_TXE_QUERY - effects.length).fill(new Fr(0)));
208
+ const count = new Fr(effects.length);
209
+ return toForeignCallResult([
210
+ toArray(rawArrayStorage),
211
+ toArray(effectLengths),
212
+ toSingle(count)
213
+ ]);
214
+ }
215
+ // eslint-disable-next-line camelcase
216
+ aztec_txe_getLastCallContext() {
217
+ const { txHash, anchorBlockTimestamp } = this.stateHandler.getLastCallContext();
218
+ const isSome = txHash.isZero() ? 0 : 1;
219
+ return toForeignCallResult([
220
+ toSingle(isSome),
221
+ toSingle(txHash),
222
+ toSingle(new Fr(anchorBlockTimestamp))
223
+ ]);
224
+ }
225
+ // eslint-disable-next-line camelcase
193
226
  async aztec_txe_getPrivateEvents(foreignSelector, foreignContractAddress, foreignScope) {
194
227
  const selector = EventSelector.fromField(fromSingle(foreignSelector));
195
228
  const contractAddress = addressFromSingle(foreignContractAddress);
@@ -219,16 +252,16 @@ export class RPCTranslator {
219
252
  ]);
220
253
  }
221
254
  // eslint-disable-next-line camelcase
222
- aztec_prv_storeInExecutionCache(foreignValues, foreignHash) {
255
+ aztec_prv_setHashPreimage(foreignValues, foreignHash) {
223
256
  const values = fromArray(foreignValues);
224
257
  const hash = fromSingle(foreignHash);
225
- this.handlerAsPrivate().storeInExecutionCache(values, hash);
258
+ this.handlerAsPrivate().setHashPreimage(values, hash);
226
259
  return toForeignCallResult([]);
227
260
  }
228
261
  // eslint-disable-next-line camelcase
229
- async aztec_prv_loadFromExecutionCache(foreignHash) {
262
+ async aztec_prv_getHashPreimage(foreignHash) {
230
263
  const hash = fromSingle(foreignHash);
231
- const returns = await this.handlerAsPrivate().loadFromExecutionCache(hash);
264
+ const returns = await this.handlerAsPrivate().getHashPreimage(hash);
232
265
  return toForeignCallResult([
233
266
  toArray(returns)
234
267
  ]);
@@ -244,19 +277,19 @@ export class RPCTranslator {
244
277
  return toForeignCallResult([]);
245
278
  }
246
279
  // eslint-disable-next-line camelcase
247
- async aztec_utl_storageRead(foreignBlockHash, foreignContractAddress, foreignStartStorageSlot, foreignNumberOfElements) {
248
- const blockHash = new BlockHash(fromSingle(foreignBlockHash));
280
+ async aztec_utl_getFromPublicStorage(foreignBlockHash, foreignContractAddress, foreignStartStorageSlot, foreignNumberOfElements) {
281
+ const blockHash = blockHashFromSingle(foreignBlockHash);
249
282
  const contractAddress = addressFromSingle(foreignContractAddress);
250
283
  const startStorageSlot = fromSingle(foreignStartStorageSlot);
251
284
  const numberOfElements = fromSingle(foreignNumberOfElements).toNumber();
252
- const values = await this.handlerAsUtility().storageRead(blockHash, contractAddress, startStorageSlot, numberOfElements);
285
+ const values = await this.handlerAsUtility().getFromPublicStorage(blockHash, contractAddress, startStorageSlot, numberOfElements);
253
286
  return toForeignCallResult([
254
287
  toArray(values)
255
288
  ]);
256
289
  }
257
290
  // eslint-disable-next-line camelcase
258
291
  async aztec_utl_getPublicDataWitness(foreignBlockHash, foreignLeafSlot) {
259
- const blockHash = new BlockHash(fromSingle(foreignBlockHash));
292
+ const blockHash = blockHashFromSingle(foreignBlockHash);
260
293
  const leafSlot = fromSingle(foreignLeafSlot);
261
294
  const witness = await this.handlerAsUtility().getPublicDataWitness(blockHash, leafSlot);
262
295
  if (!witness) {
@@ -335,9 +368,9 @@ export class RPCTranslator {
335
368
  ]);
336
369
  }
337
370
  // eslint-disable-next-line camelcase
338
- async aztec_utl_checkNullifierExists(foreignInnerNullifier) {
371
+ async aztec_utl_doesNullifierExist(foreignInnerNullifier) {
339
372
  const innerNullifier = fromSingle(foreignInnerNullifier);
340
- const exists = await this.handlerAsUtility().checkNullifierExists(innerNullifier);
373
+ const exists = await this.handlerAsUtility().doesNullifierExist(innerNullifier);
341
374
  return toForeignCallResult([
342
375
  toSingle(new Fr(exists))
343
376
  ]);
@@ -355,9 +388,9 @@ export class RPCTranslator {
355
388
  ].map(toSingle));
356
389
  }
357
390
  // eslint-disable-next-line camelcase
358
- async aztec_utl_tryGetPublicKeysAndPartialAddress(foreignAddress) {
391
+ async aztec_utl_getPublicKeysAndPartialAddress(foreignAddress) {
359
392
  const address = addressFromSingle(foreignAddress);
360
- const result = await this.handlerAsUtility().tryGetPublicKeysAndPartialAddress(address);
393
+ const result = await this.handlerAsUtility().getPublicKeysAndPartialAddress(address);
361
394
  // We are going to return a Noir Option struct to represent the possibility of null values. Options are a struct
362
395
  // with two fields: `some` (a boolean) and `value` (a field array in this case).
363
396
  if (result === undefined) {
@@ -389,7 +422,7 @@ export class RPCTranslator {
389
422
  }
390
423
  // eslint-disable-next-line camelcase
391
424
  async aztec_utl_getNullifierMembershipWitness(foreignBlockHash, foreignNullifier) {
392
- const blockHash = new BlockHash(fromSingle(foreignBlockHash));
425
+ const blockHash = blockHashFromSingle(foreignBlockHash);
393
426
  const nullifier = fromSingle(foreignNullifier);
394
427
  const witness = await this.handlerAsUtility().getNullifierMembershipWitness(blockHash, nullifier);
395
428
  if (!witness) {
@@ -409,7 +442,7 @@ export class RPCTranslator {
409
442
  ]);
410
443
  }
411
444
  // eslint-disable-next-line camelcase
412
- aztec_prv_validatePublicCalldata(_foreignCalldataHash) {
445
+ aztec_prv_assertValidPublicCalldata(_foreignCalldataHash) {
413
446
  throw new Error('Enqueueing public calls is not supported in TestEnvironment::private_context');
414
447
  }
415
448
  // eslint-disable-next-line camelcase
@@ -417,9 +450,9 @@ export class RPCTranslator {
417
450
  throw new Error('Enqueueing public calls is not supported in TestEnvironment::private_context');
418
451
  }
419
452
  // eslint-disable-next-line camelcase
420
- async aztec_prv_inRevertiblePhase(foreignSideEffectCounter) {
453
+ async aztec_prv_isExecutionInRevertiblePhase(foreignSideEffectCounter) {
421
454
  const sideEffectCounter = fromSingle(foreignSideEffectCounter).toNumber();
422
- const isRevertible = await this.handlerAsPrivate().inRevertiblePhase(sideEffectCounter);
455
+ const isRevertible = await this.handlerAsPrivate().isExecutionInRevertiblePhase(sideEffectCounter);
423
456
  return toForeignCallResult([
424
457
  toSingle(new Fr(isRevertible))
425
458
  ]);
@@ -440,7 +473,7 @@ export class RPCTranslator {
440
473
  }
441
474
  // eslint-disable-next-line camelcase
442
475
  async aztec_utl_getNoteHashMembershipWitness(foreignAnchorBlockHash, foreignNoteHash) {
443
- const blockHash = new BlockHash(fromSingle(foreignAnchorBlockHash));
476
+ const blockHash = blockHashFromSingle(foreignAnchorBlockHash);
444
477
  const noteHash = fromSingle(foreignNoteHash);
445
478
  const witness = await this.handlerAsUtility().getNoteHashMembershipWitness(blockHash, noteHash);
446
479
  if (!witness) {
@@ -450,8 +483,8 @@ export class RPCTranslator {
450
483
  }
451
484
  // eslint-disable-next-line camelcase
452
485
  async aztec_utl_getBlockHashMembershipWitness(foreignAnchorBlockHash, foreignBlockHash) {
453
- const anchorBlockHash = new BlockHash(fromSingle(foreignAnchorBlockHash));
454
- const blockHash = new BlockHash(fromSingle(foreignBlockHash));
486
+ const anchorBlockHash = blockHashFromSingle(foreignAnchorBlockHash);
487
+ const blockHash = blockHashFromSingle(foreignBlockHash);
455
488
  const witness = await this.handlerAsUtility().getBlockHashMembershipWitness(anchorBlockHash, blockHash);
456
489
  if (!witness) {
457
490
  throw new Error(`Block hash ${blockHash.toString()} not found in the archive tree at anchor block ${anchorBlockHash.toString()}.`);
@@ -460,7 +493,7 @@ export class RPCTranslator {
460
493
  }
461
494
  // eslint-disable-next-line camelcase
462
495
  async aztec_utl_getLowNullifierMembershipWitness(foreignBlockHash, foreignNullifier) {
463
- const blockHash = new BlockHash(fromSingle(foreignBlockHash));
496
+ const blockHash = blockHashFromSingle(foreignBlockHash);
464
497
  const nullifier = fromSingle(foreignNullifier);
465
498
  const witness = await this.handlerAsUtility().getLowNullifierMembershipWitness(blockHash, nullifier);
466
499
  if (!witness) {
@@ -469,51 +502,91 @@ export class RPCTranslator {
469
502
  return toForeignCallResult(witness.toNoirRepresentation());
470
503
  }
471
504
  // eslint-disable-next-line camelcase
472
- async aztec_utl_fetchTaggedLogs(foreignPendingTaggedLogArrayBaseSlot) {
505
+ async aztec_utl_getPendingTaggedLogs(foreignPendingTaggedLogArrayBaseSlot, foreignScope) {
473
506
  const pendingTaggedLogArrayBaseSlot = fromSingle(foreignPendingTaggedLogArrayBaseSlot);
474
- await this.handlerAsUtility().fetchTaggedLogs(pendingTaggedLogArrayBaseSlot);
507
+ const scope = AztecAddress.fromField(fromSingle(foreignScope));
508
+ await this.handlerAsUtility().getPendingTaggedLogs(pendingTaggedLogArrayBaseSlot, scope);
475
509
  return toForeignCallResult([]);
476
510
  }
477
511
  // eslint-disable-next-line camelcase
478
- async aztec_utl_validateAndStoreEnqueuedNotesAndEvents(foreignContractAddress, foreignNoteValidationRequestsArrayBaseSlot, foreignEventValidationRequestsArrayBaseSlot, foreignMaxNotePackedLen, foreignMaxEventSerializedLen) {
512
+ async aztec_utl_getPendingTaggedLogs_v2(foreignScope) {
513
+ const scope = AztecAddress.fromField(fromSingle(foreignScope));
514
+ const slot = await this.handlerAsUtility().getPendingTaggedLogsV2(scope);
515
+ return toForeignCallResult([
516
+ toSingle(slot)
517
+ ]);
518
+ }
519
+ // eslint-disable-next-line camelcase
520
+ async aztec_utl_validateAndStoreEnqueuedNotesAndEvents(foreignContractAddress, foreignNoteValidationRequestsArrayBaseSlot, foreignEventValidationRequestsArrayBaseSlot, foreignMaxNotePackedLen, foreignMaxEventSerializedLen, foreignScope) {
479
521
  const contractAddress = AztecAddress.fromField(fromSingle(foreignContractAddress));
480
522
  const noteValidationRequestsArrayBaseSlot = fromSingle(foreignNoteValidationRequestsArrayBaseSlot);
481
523
  const eventValidationRequestsArrayBaseSlot = fromSingle(foreignEventValidationRequestsArrayBaseSlot);
482
524
  const maxNotePackedLen = fromSingle(foreignMaxNotePackedLen).toNumber();
483
525
  const maxEventSerializedLen = fromSingle(foreignMaxEventSerializedLen).toNumber();
484
- await this.handlerAsUtility().validateAndStoreEnqueuedNotesAndEvents(contractAddress, noteValidationRequestsArrayBaseSlot, eventValidationRequestsArrayBaseSlot, maxNotePackedLen, maxEventSerializedLen);
526
+ const scope = AztecAddress.fromField(fromSingle(foreignScope));
527
+ await this.handlerAsUtility().validateAndStoreEnqueuedNotesAndEvents(contractAddress, noteValidationRequestsArrayBaseSlot, eventValidationRequestsArrayBaseSlot, maxNotePackedLen, maxEventSerializedLen, scope);
485
528
  return toForeignCallResult([]);
486
529
  }
487
530
  // eslint-disable-next-line camelcase
488
- async aztec_utl_bulkRetrieveLogs(foreignContractAddress, foreignLogRetrievalRequestsArrayBaseSlot, foreignLogRetrievalResponsesArrayBaseSlot) {
531
+ async aztec_utl_validateAndStoreEnqueuedNotesAndEvents_v2(foreignNoteValidationRequestsArrayBaseSlot, foreignEventValidationRequestsArrayBaseSlot, foreignMaxNotePackedLen, foreignMaxEventSerializedLen, foreignScope) {
532
+ const noteValidationRequestsArrayBaseSlot = fromSingle(foreignNoteValidationRequestsArrayBaseSlot);
533
+ const eventValidationRequestsArrayBaseSlot = fromSingle(foreignEventValidationRequestsArrayBaseSlot);
534
+ const maxNotePackedLen = fromSingle(foreignMaxNotePackedLen).toNumber();
535
+ const maxEventSerializedLen = fromSingle(foreignMaxEventSerializedLen).toNumber();
536
+ const scope = AztecAddress.fromField(fromSingle(foreignScope));
537
+ await this.handlerAsUtility().validateAndStoreEnqueuedNotesAndEventsV2(noteValidationRequestsArrayBaseSlot, eventValidationRequestsArrayBaseSlot, maxNotePackedLen, maxEventSerializedLen, scope);
538
+ return toForeignCallResult([]);
539
+ }
540
+ // eslint-disable-next-line camelcase
541
+ async aztec_utl_getLogsByTag(foreignContractAddress, foreignLogRetrievalRequestsArrayBaseSlot, foreignLogRetrievalResponsesArrayBaseSlot, foreignScope) {
489
542
  const contractAddress = AztecAddress.fromField(fromSingle(foreignContractAddress));
490
543
  const logRetrievalRequestsArrayBaseSlot = fromSingle(foreignLogRetrievalRequestsArrayBaseSlot);
491
544
  const logRetrievalResponsesArrayBaseSlot = fromSingle(foreignLogRetrievalResponsesArrayBaseSlot);
492
- await this.handlerAsUtility().bulkRetrieveLogs(contractAddress, logRetrievalRequestsArrayBaseSlot, logRetrievalResponsesArrayBaseSlot);
545
+ const scope = AztecAddress.fromField(fromSingle(foreignScope));
546
+ await this.handlerAsUtility().getLogsByTag(contractAddress, logRetrievalRequestsArrayBaseSlot, logRetrievalResponsesArrayBaseSlot, scope);
493
547
  return toForeignCallResult([]);
494
548
  }
495
549
  // eslint-disable-next-line camelcase
496
- async aztec_utl_utilityResolveMessageContexts(foreignContractAddress, foreignMessageContextRequestsArrayBaseSlot, foreignMessageContextResponsesArrayBaseSlot) {
550
+ async aztec_utl_getMessageContextsByTxHash(foreignContractAddress, foreignMessageContextRequestsArrayBaseSlot, foreignMessageContextResponsesArrayBaseSlot, foreignScope) {
497
551
  const contractAddress = AztecAddress.fromField(fromSingle(foreignContractAddress));
498
552
  const messageContextRequestsArrayBaseSlot = fromSingle(foreignMessageContextRequestsArrayBaseSlot);
499
553
  const messageContextResponsesArrayBaseSlot = fromSingle(foreignMessageContextResponsesArrayBaseSlot);
500
- await this.handlerAsUtility().utilityResolveMessageContexts(contractAddress, messageContextRequestsArrayBaseSlot, messageContextResponsesArrayBaseSlot);
554
+ const scope = AztecAddress.fromField(fromSingle(foreignScope));
555
+ await this.handlerAsUtility().getMessageContextsByTxHash(contractAddress, messageContextRequestsArrayBaseSlot, messageContextResponsesArrayBaseSlot, scope);
501
556
  return toForeignCallResult([]);
502
557
  }
503
558
  // eslint-disable-next-line camelcase
504
- async aztec_utl_storeCapsule(foreignContractAddress, foreignSlot, foreignCapsule) {
559
+ async aztec_utl_getLogsByTag_v2(foreignRequestArrayBaseSlot) {
560
+ const requestArrayBaseSlot = fromSingle(foreignRequestArrayBaseSlot);
561
+ const responseSlot = await this.handlerAsUtility().getLogsByTagV2(requestArrayBaseSlot);
562
+ return toForeignCallResult([
563
+ toSingle(responseSlot)
564
+ ]);
565
+ }
566
+ // eslint-disable-next-line camelcase
567
+ async aztec_utl_getMessageContextsByTxHash_v2(foreignRequestArrayBaseSlot) {
568
+ const requestArrayBaseSlot = fromSingle(foreignRequestArrayBaseSlot);
569
+ const responseSlot = await this.handlerAsUtility().getMessageContextsByTxHashV2(requestArrayBaseSlot);
570
+ return toForeignCallResult([
571
+ toSingle(responseSlot)
572
+ ]);
573
+ }
574
+ // eslint-disable-next-line camelcase
575
+ aztec_utl_setCapsule(foreignContractAddress, foreignSlot, foreignCapsule, foreignScope) {
505
576
  const contractAddress = AztecAddress.fromField(fromSingle(foreignContractAddress));
506
577
  const slot = fromSingle(foreignSlot);
507
578
  const capsule = fromArray(foreignCapsule);
508
- await this.handlerAsUtility().storeCapsule(contractAddress, slot, capsule);
579
+ const scope = AztecAddress.fromField(fromSingle(foreignScope));
580
+ this.handlerAsUtility().setCapsule(contractAddress, slot, capsule, scope);
509
581
  return toForeignCallResult([]);
510
582
  }
511
583
  // eslint-disable-next-line camelcase
512
- async aztec_utl_loadCapsule(foreignContractAddress, foreignSlot, foreignTSize) {
584
+ async aztec_utl_getCapsule(foreignContractAddress, foreignSlot, foreignTSize, foreignScope) {
513
585
  const contractAddress = AztecAddress.fromField(fromSingle(foreignContractAddress));
514
586
  const slot = fromSingle(foreignSlot);
515
587
  const tSize = fromSingle(foreignTSize).toNumber();
516
- const values = await this.handlerAsUtility().loadCapsule(contractAddress, slot);
588
+ const scope = AztecAddress.fromField(fromSingle(foreignScope));
589
+ const values = await this.handlerAsUtility().getCapsule(contractAddress, slot, scope);
517
590
  // We are going to return a Noir Option struct to represent the possibility of null values. Options are a struct
518
591
  // with two fields: `some` (a boolean) and `value` (a field array in this case).
519
592
  if (values === null) {
@@ -531,19 +604,76 @@ export class RPCTranslator {
531
604
  }
532
605
  }
533
606
  // eslint-disable-next-line camelcase
534
- async aztec_utl_deleteCapsule(foreignContractAddress, foreignSlot) {
607
+ aztec_utl_deleteCapsule(foreignContractAddress, foreignSlot, foreignScope) {
535
608
  const contractAddress = AztecAddress.fromField(fromSingle(foreignContractAddress));
536
609
  const slot = fromSingle(foreignSlot);
537
- await this.handlerAsUtility().deleteCapsule(contractAddress, slot);
610
+ const scope = AztecAddress.fromField(fromSingle(foreignScope));
611
+ this.handlerAsUtility().deleteCapsule(contractAddress, slot, scope);
538
612
  return toForeignCallResult([]);
539
613
  }
540
614
  // eslint-disable-next-line camelcase
541
- async aztec_utl_copyCapsule(foreignContractAddress, foreignSrcSlot, foreignDstSlot, foreignNumEntries) {
615
+ async aztec_utl_copyCapsule(foreignContractAddress, foreignSrcSlot, foreignDstSlot, foreignNumEntries, foreignScope) {
542
616
  const contractAddress = AztecAddress.fromField(fromSingle(foreignContractAddress));
543
617
  const srcSlot = fromSingle(foreignSrcSlot);
544
618
  const dstSlot = fromSingle(foreignDstSlot);
545
619
  const numEntries = fromSingle(foreignNumEntries).toNumber();
546
- await this.handlerAsUtility().copyCapsule(contractAddress, srcSlot, dstSlot, numEntries);
620
+ const scope = AztecAddress.fromField(fromSingle(foreignScope));
621
+ await this.handlerAsUtility().copyCapsule(contractAddress, srcSlot, dstSlot, numEntries, scope);
622
+ return toForeignCallResult([]);
623
+ }
624
+ // eslint-disable-next-line camelcase
625
+ aztec_utl_pushEphemeral(foreignSlot, foreignElements) {
626
+ const slot = fromSingle(foreignSlot);
627
+ const elements = fromArray(foreignElements);
628
+ const newLen = this.handlerAsUtility().pushEphemeral(slot, elements);
629
+ return toForeignCallResult([
630
+ toSingle(new Fr(newLen))
631
+ ]);
632
+ }
633
+ // eslint-disable-next-line camelcase
634
+ aztec_utl_popEphemeral(foreignSlot) {
635
+ const slot = fromSingle(foreignSlot);
636
+ const element = this.handlerAsUtility().popEphemeral(slot);
637
+ return toForeignCallResult([
638
+ toArray(element)
639
+ ]);
640
+ }
641
+ // eslint-disable-next-line camelcase
642
+ aztec_utl_getEphemeral(foreignSlot, foreignIndex) {
643
+ const slot = fromSingle(foreignSlot);
644
+ const index = fromSingle(foreignIndex).toNumber();
645
+ const element = this.handlerAsUtility().getEphemeral(slot, index);
646
+ return toForeignCallResult([
647
+ toArray(element)
648
+ ]);
649
+ }
650
+ // eslint-disable-next-line camelcase
651
+ aztec_utl_setEphemeral(foreignSlot, foreignIndex, foreignElements) {
652
+ const slot = fromSingle(foreignSlot);
653
+ const index = fromSingle(foreignIndex).toNumber();
654
+ const elements = fromArray(foreignElements);
655
+ this.handlerAsUtility().setEphemeral(slot, index, elements);
656
+ return toForeignCallResult([]);
657
+ }
658
+ // eslint-disable-next-line camelcase
659
+ aztec_utl_getEphemeralLen(foreignSlot) {
660
+ const slot = fromSingle(foreignSlot);
661
+ const len = this.handlerAsUtility().getEphemeralLen(slot);
662
+ return toForeignCallResult([
663
+ toSingle(new Fr(len))
664
+ ]);
665
+ }
666
+ // eslint-disable-next-line camelcase
667
+ aztec_utl_removeEphemeral(foreignSlot, foreignIndex) {
668
+ const slot = fromSingle(foreignSlot);
669
+ const index = fromSingle(foreignIndex).toNumber();
670
+ this.handlerAsUtility().removeEphemeral(slot, index);
671
+ return toForeignCallResult([]);
672
+ }
673
+ // eslint-disable-next-line camelcase
674
+ aztec_utl_clearEphemeral(foreignSlot) {
675
+ const slot = fromSingle(foreignSlot);
676
+ this.handlerAsUtility().clearEphemeral(slot);
547
677
  return toForeignCallResult([]);
548
678
  }
549
679
  // TODO: I forgot to add a corresponding function here, when I introduced an oracle method to txe_oracle.ts.
@@ -551,13 +681,13 @@ export class RPCTranslator {
551
681
  // to implement this function here. Isn't there a way to programmatically identify that this is missing, given the
552
682
  // existence of a txe_oracle method?
553
683
  // eslint-disable-next-line camelcase
554
- async aztec_utl_tryAes128Decrypt(foreignCiphertextBVecStorage, foreignCiphertextLength, foreignIv, foreignSymKey) {
684
+ async aztec_utl_decryptAes128(foreignCiphertextBVecStorage, foreignCiphertextLength, foreignIv, foreignSymKey) {
555
685
  const ciphertext = fromUintBoundedVec(foreignCiphertextBVecStorage, foreignCiphertextLength, 8);
556
686
  const iv = fromUintArray(foreignIv, 8);
557
687
  const symKey = fromUintArray(foreignSymKey, 8);
558
688
  // Noir Option<BoundedVec> is encoded as [is_some: Field, storage: Field[], length: Field].
559
689
  try {
560
- const plaintextBuffer = await this.handlerAsUtility().aes128Decrypt(ciphertext, iv, symKey);
690
+ const plaintextBuffer = await this.handlerAsUtility().decryptAes128(ciphertext, iv, symKey);
561
691
  const [storage, length] = arrayToBoundedVec(bufferToU8Array(plaintextBuffer), foreignCiphertextBVecStorage.length);
562
692
  return toForeignCallResult([
563
693
  toSingle(new Fr(1)),
@@ -574,27 +704,35 @@ export class RPCTranslator {
574
704
  }
575
705
  }
576
706
  // eslint-disable-next-line camelcase
577
- async aztec_utl_getSharedSecret(foreignAddress, foreignEphPKField0, foreignEphPKField1, foreignEphPKField2) {
707
+ async aztec_utl_getSharedSecret(foreignAddress, foreignEphPKField0, foreignEphPKField1, foreignEphPKField2, foreignContractAddress) {
578
708
  const address = AztecAddress.fromField(fromSingle(foreignAddress));
579
709
  const ephPK = Point.fromFields([
580
710
  fromSingle(foreignEphPKField0),
581
711
  fromSingle(foreignEphPKField1),
582
712
  fromSingle(foreignEphPKField2)
583
713
  ]);
584
- const secret = await this.handlerAsUtility().getSharedSecret(address, ephPK);
585
- return toForeignCallResult(secret.toFields().map(toSingle));
714
+ const contractAddress = AztecAddress.fromField(fromSingle(foreignContractAddress));
715
+ const secret = await this.handlerAsUtility().getSharedSecret(address, ephPK, contractAddress);
716
+ return toForeignCallResult([
717
+ toSingle(secret)
718
+ ]);
586
719
  }
587
720
  // eslint-disable-next-line camelcase
588
- aztec_utl_invalidateContractSyncCache(foreignContractAddress, foreignScopes, foreignScopeCount) {
721
+ aztec_utl_setContractSyncCacheInvalid(foreignContractAddress, foreignScopes, foreignScopeCount) {
589
722
  const contractAddress = addressFromSingle(foreignContractAddress);
590
723
  const count = fromSingle(foreignScopeCount).toNumber();
591
724
  const scopes = fromArray(foreignScopes).slice(0, count).map((f)=>new AztecAddress(f));
592
- this.handlerAsUtility().invalidateContractSyncCache(contractAddress, scopes);
725
+ this.handlerAsUtility().setContractSyncCacheInvalid(contractAddress, scopes);
593
726
  return Promise.resolve(toForeignCallResult([]));
594
727
  }
595
728
  // eslint-disable-next-line camelcase
596
- aztec_utl_emitOffchainEffect(_foreignData) {
597
- throw new Error('Offchain effects are not yet supported in the TestEnvironment');
729
+ aztec_utl_emitOffchainEffect(foreignData) {
730
+ // Record the raw payload against the currently-executing top-level call. The Noir side
731
+ // (via `env.offchain_messages()`) is responsible for decoding the protocol-reserved prefix
732
+ // (`OFFCHAIN_MESSAGE_IDENTIFIER`, recipient) and turning each payload into an `OffchainMessage` struct suitable
733
+ // for `offchain_receive`.
734
+ this.stateHandler.recordOffchainEffect(fromArray(foreignData));
735
+ return Promise.resolve(toForeignCallResult([]));
598
736
  }
599
737
  // AVM opcodes
600
738
  // eslint-disable-next-line camelcase
@@ -745,9 +883,31 @@ export class RPCTranslator {
745
883
  const args = fromArray(foreignArgs);
746
884
  const argsHash = fromSingle(foreignArgsHash);
747
885
  const isStaticCall = fromSingle(foreignIsStaticCall).toBool();
748
- const returnValues = await this.handlerAsTxe().privateCallNewFlow(from, targetContractAddress, functionSelector, args, argsHash, isStaticCall, this.stateHandler.getCurrentJob());
749
- // TODO(F-335): Avoid doing the following call here.
750
- await this.stateHandler.cycleJob();
886
+ const returnValues = await this.stateHandler.withTopLevelCallTracking(async ()=>{
887
+ const { returnValues, offchainEffects } = await this.handlerAsTxe().privateCallNewFlow(from, targetContractAddress, functionSelector, args, argsHash, isStaticCall, this.stateHandler.getCurrentJob());
888
+ // Private execution collects offchain effects inside PXE's PrivateExecutionOracle rather than
889
+ // round-tripping them through `aztec_utl_emitOffchainEffect`, so the session buffer is empty
890
+ // at this point. Drain the effects from the execution tree into the session buffer so the
891
+ // next `env.offchain_messages()` call in the test sees them.
892
+ for (const data of offchainEffects){
893
+ this.stateHandler.recordOffchainEffect(data);
894
+ }
895
+ // TODO(F-335): Avoid doing the following call here.
896
+ await this.stateHandler.cycleJob();
897
+ if (isStaticCall) {
898
+ // Static calls revert their checkpoint and mine no block, so there is no tx hash to tag
899
+ // offchain effects with. Querying `getLastTxEffects()` here would return an unrelated
900
+ // predecessor tx.
901
+ return {
902
+ result: returnValues
903
+ };
904
+ }
905
+ const { txHash } = await this.handlerAsTxe().getLastTxEffects();
906
+ return {
907
+ result: returnValues,
908
+ txHash: txHash.hash
909
+ };
910
+ });
751
911
  return toForeignCallResult([
752
912
  toArray(returnValues)
753
913
  ]);
@@ -757,9 +917,14 @@ export class RPCTranslator {
757
917
  const targetContractAddress = addressFromSingle(foreignTargetContractAddress);
758
918
  const functionSelector = FunctionSelector.fromField(fromSingle(foreignFunctionSelector));
759
919
  const args = fromArray(foreignArgs);
760
- const returnValues = await this.handlerAsTxe().executeUtilityFunction(targetContractAddress, functionSelector, args, this.stateHandler.getCurrentJob());
761
- // TODO(F-335): Avoid doing the following call here.
762
- await this.stateHandler.cycleJob();
920
+ const returnValues = await this.stateHandler.withTopLevelCallTracking(async ()=>{
921
+ const returnValues = await this.handlerAsTxe().executeUtilityFunction(targetContractAddress, functionSelector, args, this.stateHandler.getCurrentJob());
922
+ // TODO(F-335): Avoid doing the following call here.
923
+ await this.stateHandler.cycleJob();
924
+ return {
925
+ result: returnValues
926
+ };
927
+ });
763
928
  return toForeignCallResult([
764
929
  toArray(returnValues)
765
930
  ]);
@@ -770,9 +935,22 @@ export class RPCTranslator {
770
935
  const address = addressFromSingle(foreignAddress);
771
936
  const calldata = fromArray(foreignCalldata);
772
937
  const isStaticCall = fromSingle(foreignIsStaticCall).toBool();
773
- const returnValues = await this.handlerAsTxe().publicCallNewFlow(from, address, calldata, isStaticCall);
774
- // TODO(F-335): Avoid doing the following call here.
775
- await this.stateHandler.cycleJob();
938
+ const returnValues = await this.stateHandler.withTopLevelCallTracking(async ()=>{
939
+ const returnValues = await this.handlerAsTxe().publicCallNewFlow(from, address, calldata, isStaticCall);
940
+ // TODO(F-335): Avoid doing the following call here.
941
+ await this.stateHandler.cycleJob();
942
+ if (isStaticCall) {
943
+ // See equivalent branch in `aztec_txe_privateCallNewFlow`.
944
+ return {
945
+ result: returnValues
946
+ };
947
+ }
948
+ const { txHash } = await this.handlerAsTxe().getLastTxEffects();
949
+ return {
950
+ result: returnValues,
951
+ txHash: txHash.hash
952
+ };
953
+ });
776
954
  return toForeignCallResult([
777
955
  toArray(returnValues)
778
956
  ]);
@@ -28,4 +28,4 @@ export declare class TXEArchiver extends ArchiverDataSourceBase {
28
28
  isEpochComplete(_epochNumber: EpochNumber): Promise<boolean>;
29
29
  syncImmediate(): Promise<void>;
30
30
  }
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJjaGl2ZXIuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdGF0ZV9tYWNoaW5lL2FyY2hpdmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxzQkFBc0IsRUFBaUQsTUFBTSxpQkFBaUIsQ0FBQztBQUV4RyxPQUFPLEVBQW9CLEtBQUssV0FBVyxFQUFFLEtBQUssVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdEcsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2hFLE9BQU8sS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxLQUFLLEVBQW9DLE1BQU0sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzlHLE9BQU8sS0FBSyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDcEUsT0FBTyxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUVyRTs7OztHQUlHO0FBQ0gscUJBQWEsV0FBWSxTQUFRLHNCQUFzQjtJQUNyRCxPQUFPLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBNEM7SUFFcEUsWUFBWSxFQUFFLEVBQUUsaUJBQWlCLEVBR2hDO0lBRVksY0FBYyxDQUFDLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxFQUFFLE1BQU0sQ0FBQyxFQUFFLHdCQUF3QixHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FFaEg7SUFFTSxnQkFBZ0IsSUFBSSxPQUFPLENBQUMsVUFBVSxDQUFDLENBRTdDO0lBRU0sa0JBQWtCLElBQUksT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUUvQztJQUVNLGNBQWMsSUFBSSxPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FFbEQ7SUFFTSxnQkFBZ0IsSUFBSSxPQUFPLENBQUM7UUFBRSxrQkFBa0IsRUFBRSxFQUFFLENBQUE7S0FBRSxDQUFDLENBRTdEO0lBRU0sY0FBYyxJQUFJLE9BQU8sQ0FBQyxNQUFNLEdBQUcsU0FBUyxDQUFDLENBRW5EO0lBRVksU0FBUyxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FnQ3hDO0lBRU0scUJBQXFCLElBQUksT0FBTyxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUMsQ0FFOUQ7SUFFTSxzQkFBc0IsSUFBSSxPQUFPLENBQUMsV0FBVyxHQUFHLFNBQVMsQ0FBQyxDQUVoRTtJQUVNLGVBQWUsQ0FBQyxZQUFZLEVBQUUsV0FBVyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FFbEU7SUFFTSxhQUFhLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxDQUVwQztDQUNGIn0=
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJjaGl2ZXIuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdGF0ZV9tYWNoaW5lL2FyY2hpdmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxzQkFBc0IsRUFBaUQsTUFBTSxpQkFBaUIsQ0FBQztBQUV4RyxPQUFPLEVBQW9CLEtBQUssV0FBVyxFQUFFLEtBQUssVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdEcsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2hFLE9BQU8sS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxLQUFLLEVBQW9DLE1BQU0sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzlHLE9BQU8sS0FBSyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDcEUsT0FBTyxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUVyRTs7OztHQUlHO0FBQ0gscUJBQWEsV0FBWSxTQUFRLHNCQUFzQjtJQUNyRCxPQUFPLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBNEM7SUFFcEUsWUFBWSxFQUFFLEVBQUUsaUJBQWlCLEVBR2hDO0lBRVksY0FBYyxDQUFDLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxFQUFFLE1BQU0sQ0FBQyxFQUFFLHdCQUF3QixHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FFaEg7SUFFTSxnQkFBZ0IsSUFBSSxPQUFPLENBQUMsVUFBVSxDQUFDLENBRTdDO0lBRU0sa0JBQWtCLElBQUksT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUUvQztJQUVNLGNBQWMsSUFBSSxPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FFbEQ7SUFFTSxnQkFBZ0IsSUFBSSxPQUFPLENBQUM7UUFBRSxrQkFBa0IsRUFBRSxFQUFFLENBQUE7S0FBRSxDQUFDLENBRTdEO0lBRU0sY0FBYyxJQUFJLE9BQU8sQ0FBQyxNQUFNLEdBQUcsU0FBUyxDQUFDLENBRW5EO0lBRVksU0FBUyxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FpQ3hDO0lBRU0scUJBQXFCLElBQUksT0FBTyxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUMsQ0FFOUQ7SUFFTSxzQkFBc0IsSUFBSSxPQUFPLENBQUMsV0FBVyxHQUFHLFNBQVMsQ0FBQyxDQUVoRTtJQUVNLGVBQWUsQ0FBQyxZQUFZLEVBQUUsV0FBVyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FFbEU7SUFFTSxhQUFhLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxDQUVwQztDQUNGIn0=
@@ -1 +1 @@
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,qBAAqB,IAAI,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAE9D;IAEM,sBAAsB,IAAI,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAEhE;IAEM,eAAe,CAAC,YAAY,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAElE;IAEM,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAEpC;CACF"}
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,CAiCxC;IAEM,qBAAqB,IAAI,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAE9D;IAEM,sBAAsB,IAAI,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAEhE;IAEM,eAAe,CAAC,YAAY,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAElE;IAEM,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAEpC;CACF"}
@@ -67,7 +67,8 @@ import { Fr } from '@aztec/foundation/curves/bn254';
67
67
  proposed: blockId,
68
68
  proven: tipId,
69
69
  finalized: tipId,
70
- checkpointed: tipId
70
+ checkpointed: tipId,
71
+ proposedCheckpoint: tipId
71
72
  };
72
73
  }
73
74
  getSyncedL2SlotNumber() {
@@ -15,7 +15,8 @@ export declare class DummyP2P implements P2P {
15
15
  broadcastCheckpointProposal(_proposal: CheckpointProposal): Promise<void>;
16
16
  broadcastCheckpointAttestations(_attestations: CheckpointAttestation[]): Promise<void>;
17
17
  registerBlockProposalHandler(_handler: P2PBlockReceivedCallback): void;
18
- registerCheckpointProposalHandler(_handler: P2PCheckpointReceivedCallback): void;
18
+ registerValidatorCheckpointProposalHandler(_handler: P2PCheckpointReceivedCallback): void;
19
+ registerAllNodesCheckpointProposalHandler(_handler: P2PCheckpointReceivedCallback): void;
19
20
  requestTxs(_txHashes: TxHash[]): Promise<(Tx | undefined)[]>;
20
21
  requestTxByHash(_txHash: TxHash): Promise<Tx | undefined>;
21
22
  sendTx(_tx: Tx): Promise<void>;
@@ -56,4 +57,4 @@ export declare class DummyP2P implements P2P {
56
57
  registerDuplicateAttestationCallback(_callback: P2PDuplicateAttestationCallback): void;
57
58
  hasBlockProposalsForSlot(_slot: SlotNumber): Promise<boolean>;
58
59
  }
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHVtbXlfcDJwX2NsaWVudC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3N0YXRlX21hY2hpbmUvZHVtbXlfcDJwX2NsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNsRSxPQUFPLEtBQUssRUFDVixXQUFXLEVBQ1gsR0FBRyxFQUNILEdBQUcsRUFDSCx3QkFBd0IsRUFDeEIsNkJBQTZCLEVBQzdCLFNBQVMsRUFDVCwrQkFBK0IsRUFDL0IsNEJBQTRCLEVBQzVCLFlBQVksRUFDWixNQUFNLEVBQ04sa0JBQWtCLEVBQ2xCLHlCQUF5QixFQUN6Qiw0QkFBNEIsRUFDNUIsYUFBYSxFQUNkLE1BQU0sWUFBWSxDQUFDO0FBQ3BCLE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNsRixPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDN0UsT0FBTyxLQUFLLEVBQUUsYUFBYSxFQUFFLHFCQUFxQixFQUFFLGtCQUFrQixFQUFFLFNBQVMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzdHLE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFaEUscUJBQWEsUUFBUyxZQUFXLEdBQUc7SUFDM0Isa0NBQWtDLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FFbkU7SUFFTSxLQUFLLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxDQUU1QjtJQUVNLGFBQWEsSUFBSSxPQUFPLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FFcEM7SUFFTSxhQUFhLElBQUksT0FBTyxDQUFDLE1BQU0sR0FBRyxTQUFTLENBQUMsQ0FFbEQ7SUFFTSxRQUFRLENBQUMsZUFBZSxDQUFDLEVBQUUsT0FBTyxHQUFHLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUU5RDtJQUVNLHNCQUFzQixDQUFDLFVBQVUsRUFBRSxTQUFTLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUVwRTtJQUVNLGlCQUFpQixDQUFDLFNBQVMsRUFBRSxhQUFhLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUVoRTtJQUVNLDJCQUEyQixDQUFDLFNBQVMsRUFBRSxrQkFBa0IsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBRS9FO0lBRU0sK0JBQStCLENBQUMsYUFBYSxFQUFFLHFCQUFxQixFQUFFLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUU1RjtJQUVNLDRCQUE0QixDQUFDLFFBQVEsRUFBRSx3QkFBd0IsR0FBRyxJQUFJLENBRTVFO0lBRU0saUNBQWlDLENBQUMsUUFBUSxFQUFFLDZCQUE2QixHQUFHLElBQUksQ0FFdEY7SUFFTSxVQUFVLENBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxHQUFHLE9BQU8sQ0FBQyxDQUFDLEVBQUUsR0FBRyxTQUFTLENBQUMsRUFBRSxDQUFDLENBRWxFO0lBRU0sZUFBZSxDQUFDLE9BQU8sRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLEVBQUUsR0FBRyxTQUFTLENBQUMsQ0FFL0Q7SUFFTSxNQUFNLENBQUMsR0FBRyxFQUFFLEVBQUUsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBRXBDO0lBRU0scUJBQXFCLENBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FFL0Q7SUFFTSxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxFQUFFLEdBQUcsU0FBUyxDQUFDLENBRW5FO0lBRU0sV0FBVyxDQUFDLE9BQU8sRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLEVBQUUsR0FBRyxTQUFTLENBQUMsQ0FFM0Q7SUFFTSxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxFQUFFLEdBQUcsU0FBUyxDQUFDLENBRW5FO0lBRU0sV0FBVyxDQUFDLE9BQU8sRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLFNBQVMsR0FBRyxPQUFPLEdBQUcsU0FBUyxDQUFDLENBSTVFO0lBRU0saUJBQWlCLElBQUkscUJBQXFCLENBQUMsRUFBRSxDQUFDLENBRXBEO0lBRU0seUJBQXlCLElBQUkscUJBQXFCLENBQUMsRUFBRSxDQUFDLENBRTVEO0lBRU0saUJBQWlCLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUUxQztJQUVNLEtBQUssSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLENBRTVCO0lBRU0sSUFBSSxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FFM0I7SUFFTSxPQUFPLElBQUksT0FBTyxDQUV4QjtJQUVNLFNBQVMsSUFBSSxPQUFPLENBQUMsWUFBWSxDQUFDLENBRXhDO0lBRU0sTUFBTSxJQUFJLEdBQUcsR0FBRyxTQUFTLENBRS9CO0lBRU0sV0FBVyxJQUFJLElBQUksQ0FFekI7SUFFTSxhQUFhLElBQUksV0FBVyxDQUVsQztJQUVNLFlBQVksQ0FBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLEdBQUcsT0FBTyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBRXREO0lBRU0sZ0NBQWdDLENBQUMsS0FBSyxFQUFFLFVBQVUsRUFBRSxXQUFXLENBQUMsRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLHFCQUFxQixFQUFFLENBQUMsQ0FFakg7SUFFTSw0QkFBNEIsQ0FBQyxhQUFhLEVBQUUscUJBQXFCLEVBQUUsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBRXpGO0lBRU0sY0FBYyxDQUFDLE9BQU8sRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU0sR0FBRyxTQUFTLENBQUMsQ0FFbEU7SUFFTSxlQUFlLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBRWpFO0lBRU0sU0FBUyxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FFbEM7SUFFTSxzQkFBc0IsQ0FBQyxNQUFNLEVBQUUsa0JBQWtCLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUV2RTtJQUVNLElBQUksU0FFVjtJQUVNLG9CQUFvQixDQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsR0FBRyxPQUFPLENBQUMsQ0FBQyxFQUFFLEdBQUcsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUU1RTtJQUVNLFlBQVksQ0FBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLEdBQUcsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBRTNEO0lBRU0sdUJBQXVCLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUVoRDtJQUVNLHVCQUF1QixJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FFaEQ7SUFFTSxtQkFBbUIsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLENBRTVDO0lBRUQsVUFBVSxDQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsRUFBRSxZQUFZLEVBQUUsV0FBVyxHQUFHLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUU1RTtJQUVELGNBQWMsQ0FBQyxXQUFXLEVBQUUsVUFBVSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FFckQ7SUFFRCxxQkFBcUIsQ0FDbkIsWUFBWSxFQUFFLGtCQUFrQixFQUNoQyxRQUFRLEVBQUUseUJBQXlCLEVBQ25DLFVBQVUsQ0FBQyxFQUFFLDRCQUE0QixDQUFDLGtCQUFrQixDQUFDLEdBQzVELE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FFZjtJQUNELHlCQUF5QixDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsYUFBYSxDQUFDLENBRTVGO0lBR00sOEJBQThCLENBQUMsUUFBUSxFQUFFLFVBQVUsRUFBRSxHQUFHLElBQUksQ0FBRztJQUUvRCxpQ0FBaUMsQ0FBQyxTQUFTLEVBQUUsNEJBQTRCLEdBQUcsSUFBSSxDQUV0RjtJQUVNLG9DQUFvQyxDQUFDLFNBQVMsRUFBRSwrQkFBK0IsR0FBRyxJQUFJLENBRTVGO0lBRU0sd0JBQXdCLENBQUMsS0FBSyxFQUFFLFVBQVUsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLENBRW5FO0NBQ0YifQ==
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHVtbXlfcDJwX2NsaWVudC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3N0YXRlX21hY2hpbmUvZHVtbXlfcDJwX2NsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNsRSxPQUFPLEtBQUssRUFDVixXQUFXLEVBQ1gsR0FBRyxFQUNILEdBQUcsRUFDSCx3QkFBd0IsRUFDeEIsNkJBQTZCLEVBQzdCLFNBQVMsRUFDVCwrQkFBK0IsRUFDL0IsNEJBQTRCLEVBQzVCLFlBQVksRUFDWixNQUFNLEVBQ04sa0JBQWtCLEVBQ2xCLHlCQUF5QixFQUN6Qiw0QkFBNEIsRUFDNUIsYUFBYSxFQUNkLE1BQU0sWUFBWSxDQUFDO0FBQ3BCLE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNsRixPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDN0UsT0FBTyxLQUFLLEVBQUUsYUFBYSxFQUFFLHFCQUFxQixFQUFFLGtCQUFrQixFQUFFLFNBQVMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzdHLE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFaEUscUJBQWEsUUFBUyxZQUFXLEdBQUc7SUFDM0Isa0NBQWtDLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FFbkU7SUFFTSxLQUFLLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxDQUU1QjtJQUVNLGFBQWEsSUFBSSxPQUFPLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FFcEM7SUFFTSxhQUFhLElBQUksT0FBTyxDQUFDLE1BQU0sR0FBRyxTQUFTLENBQUMsQ0FFbEQ7SUFF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
@@ -1 +1 @@
1
- {"version":3,"file":"dummy_p2p_client.d.ts","sourceRoot":"","sources":["../../src/state_machine/dummy_p2p_client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dummy_p2p_client.d.ts","sourceRoot":"","sources":["../../src/state_machine/dummy_p2p_client.ts"],"names":[],"mappings":"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"}
@@ -29,8 +29,11 @@ export class DummyP2P {
29
29
  registerBlockProposalHandler(_handler) {
30
30
  throw new Error('DummyP2P does not implement "registerBlockProposalHandler"');
31
31
  }
32
- registerCheckpointProposalHandler(_handler) {
33
- throw new Error('DummyP2P does not implement "registerCheckpointProposalHandler"');
32
+ registerValidatorCheckpointProposalHandler(_handler) {
33
+ throw new Error('DummyP2P does not implement "registerValidatorCheckpointProposalHandler"');
34
+ }
35
+ registerAllNodesCheckpointProposalHandler(_handler) {
36
+ throw new Error('DummyP2P does not implement "registerAllNodesCheckpointProposalHandler"');
34
37
  }
35
38
  requestTxs(_txHashes) {
36
39
  throw new Error('DummyP2P does not implement "requestTxs"');