@aztec/pxe 5.0.0-nightly.20260708 → 5.0.0-nightly.20260710

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 (48) hide show
  1. package/dest/contract_function_simulator/aztec_node_read_cache.d.ts +39 -0
  2. package/dest/contract_function_simulator/aztec_node_read_cache.d.ts.map +1 -0
  3. package/dest/contract_function_simulator/aztec_node_read_cache.js +60 -0
  4. package/dest/contract_function_simulator/noir-structs/resolved_tagging_strategy.d.ts +1 -1
  5. package/dest/contract_function_simulator/noir-structs/resolved_tagging_strategy.d.ts.map +1 -1
  6. package/dest/contract_function_simulator/noir-structs/resolved_tagging_strategy.js +7 -0
  7. package/dest/contract_function_simulator/oracle/acir_callback.js +1 -1
  8. package/dest/contract_function_simulator/oracle/legacy_oracle_registry.d.ts +3 -3
  9. package/dest/contract_function_simulator/oracle/legacy_oracle_registry.d.ts.map +1 -1
  10. package/dest/contract_function_simulator/oracle/legacy_oracle_registry.js +34 -1
  11. package/dest/contract_function_simulator/oracle/oracle_registry.d.ts +4 -2
  12. package/dest/contract_function_simulator/oracle/oracle_registry.d.ts.map +1 -1
  13. package/dest/contract_function_simulator/oracle/oracle_registry.js +26 -8
  14. package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts +1 -1
  15. package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts.map +1 -1
  16. package/dest/contract_function_simulator/oracle/private_execution_oracle.js +2 -4
  17. package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts +9 -6
  18. package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts.map +1 -1
  19. package/dest/contract_function_simulator/oracle/utility_execution_oracle.js +21 -19
  20. package/dest/hooks/index.d.ts +2 -2
  21. package/dest/hooks/index.d.ts.map +1 -1
  22. package/dest/hooks/index.js +1 -0
  23. package/dest/hooks/resolve_tagging_secret_strategy.d.ts +3 -1
  24. package/dest/hooks/resolve_tagging_secret_strategy.d.ts.map +1 -1
  25. package/dest/hooks/resolve_tagging_secret_strategy.js +3 -3
  26. package/dest/oracle_version.d.ts +2 -2
  27. package/dest/oracle_version.js +2 -2
  28. package/dest/storage/backwards_compatibility_tests/schema_tests.d.ts +1 -1
  29. package/dest/storage/backwards_compatibility_tests/schema_tests.d.ts.map +1 -1
  30. package/dest/storage/backwards_compatibility_tests/schema_tests.js +26 -2
  31. package/dest/storage/metadata.d.ts +1 -1
  32. package/dest/storage/metadata.js +1 -1
  33. package/package.json +17 -17
  34. package/src/contract_function_simulator/aztec_node_read_cache.ts +89 -0
  35. package/src/contract_function_simulator/noir-structs/resolved_tagging_strategy.ts +8 -0
  36. package/src/contract_function_simulator/oracle/acir_callback.ts +1 -1
  37. package/src/contract_function_simulator/oracle/legacy_oracle_registry.ts +30 -3
  38. package/src/contract_function_simulator/oracle/oracle_registry.ts +20 -3
  39. package/src/contract_function_simulator/oracle/private_execution_oracle.ts +5 -5
  40. package/src/contract_function_simulator/oracle/utility_execution_oracle.ts +38 -23
  41. package/src/hooks/index.ts +1 -0
  42. package/src/hooks/resolve_tagging_secret_strategy.ts +3 -0
  43. package/src/oracle_version.ts +2 -2
  44. package/src/storage/backwards_compatibility_tests/__snapshots__/RecipientTaggingStore.json +11 -3
  45. package/src/storage/backwards_compatibility_tests/__snapshots__/SenderTaggingStore.json +12 -4
  46. package/src/storage/backwards_compatibility_tests/__snapshots__/opened_stores.json +1 -1
  47. package/src/storage/backwards_compatibility_tests/schema_tests.ts +30 -1
  48. package/src/storage/metadata.ts +1 -1
@@ -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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"}
@@ -9,7 +9,7 @@ import { FunctionSelector } from '@aztec/stdlib/abi';
9
9
  import { siloNullifier } from '@aztec/stdlib/hash';
10
10
  import { computeAddressSecret, hashPublicKey } from '@aztec/stdlib/keys';
11
11
  import { AppTaggingSecret, FlatPublicLogs, appSiloEcdhSharedSecret } from '@aztec/stdlib/logs';
12
- import { getNonNullifiedL1ToL2MessageWitness } from '@aztec/stdlib/messaging';
12
+ import { getL1ToL2MessageWitness } from '@aztec/stdlib/messaging';
13
13
  import { MerkleTreeId } from '@aztec/stdlib/trees';
14
14
  import { CallContext } from '@aztec/stdlib/tx';
15
15
  import { createContractLogger, logContractMessage, stripAztecnrLogPrefix } from '../../contract_logging.js';
@@ -18,6 +18,7 @@ import { LogService } from '../../logs/log_service.js';
18
18
  import { NoteService } from '../../notes/note_service.js';
19
19
  import { ORACLE_VERSION_MAJOR } from '../../oracle_version.js';
20
20
  import { FactCollectionKey, FactCollectionTypeKey, anchoredTipBlockNumbers } from '../../storage/fact_store/index.js';
21
+ import { AztecNodeReadCache } from '../aztec_node_read_cache.js';
21
22
  import { EphemeralArrayService } from '../ephemeral_array_service.js';
22
23
  import { BoundedVec } from '../noir-structs/bounded_vec.js';
23
24
  import { EphemeralArray } from '../noir-structs/ephemeral_array.js';
@@ -35,6 +36,7 @@ import { buildACIRCallback } from './acir_callback.js';
35
36
  offchainEffects = [];
36
37
  ephemeralArrayService = new EphemeralArrayService();
37
38
  transientArrayService;
39
+ aztecNodeReadCache;
38
40
  // We store oracle version to be able to show a nice error message when an oracle handler is missing.
39
41
  contractOracleVersion;
40
42
  callContext;
@@ -85,6 +87,7 @@ import { buildACIRCallback } from './acir_callback.js';
85
87
  this.hooks = args.hooks;
86
88
  this.utilityExecutor = args.utilityExecutor;
87
89
  this.transientArrayService = args.transientArrayService;
90
+ this.aztecNodeReadCache = new AztecNodeReadCache(args.aztecNode);
88
91
  }
89
92
  assertCompatibleOracleVersion(major, minor) {
90
93
  if (major !== ORACLE_VERSION_MAJOR) {
@@ -156,9 +159,14 @@ import { buildACIRCallback } from './acir_callback.js';
156
159
  // Note that we validate that the reference block hash is at or before the anchor block - we don't test the block
157
160
  // hash at all. If the block hash did not exist by the reference block hash, then the node will not return the
158
161
  // membership witness as there is none.
159
- const witness = await this.#queryWithBlockHashNotAfterAnchor(referenceBlockHash, ()=>this.aztecNode.getBlockHashMembershipWitness(referenceBlockHash, blockHash));
162
+ const witness = await this.#queryWithBlockHashNotAfterAnchor(referenceBlockHash, ()=>this.aztecNodeReadCache.getBlockHashMembershipWitness(referenceBlockHash, blockHash));
160
163
  return witness ? Option.some(witness) : Option.none();
161
164
  }
165
+ /** Returns whether each block hash is present in the archive tree at the referenced block. */ async areBlockHashesInArchive(referenceBlockHash, blockHashes) {
166
+ const hashes = blockHashes.readAll(this.ephemeralArrayService);
167
+ const memberships = await this.#queryWithBlockHashNotAfterAnchor(referenceBlockHash, ()=>Promise.all(hashes.map((blockHash)=>this.aztecNodeReadCache.getBlockHashMembershipWitness(referenceBlockHash, blockHash).then(Boolean))));
168
+ return EphemeralArray.fromValues(this.ephemeralArrayService, memberships);
169
+ }
162
170
  /**
163
171
  * Returns a nullifier membership witness for a given nullifier at a given block.
164
172
  * @param blockHash - The block hash at which to get the index.
@@ -192,7 +200,7 @@ import { buildACIRCallback } from './acir_callback.js';
192
200
  * @param leafSlot - The slot of the public data tree to get the witness for.
193
201
  * @returns - The witness
194
202
  */ async getPublicDataWitness(blockHash, leafSlot) {
195
- const witness = await this.#queryWithBlockHashNotAfterAnchor(blockHash, ()=>this.aztecNode.getPublicDataWitness(blockHash, leafSlot));
203
+ const witness = await this.#queryWithBlockHashNotAfterAnchor(blockHash, ()=>this.aztecNodeReadCache.getPublicDataWitness(blockHash, leafSlot));
196
204
  if (!witness) {
197
205
  throw new Error(`Public data witness not found for slot ${leafSlot} at block hash ${blockHash.toString()}.`);
198
206
  }
@@ -327,14 +335,13 @@ import { buildACIRCallback } from './acir_callback.js';
327
335
  return leafIndex?.data !== undefined;
328
336
  }
329
337
  /**
330
- * Returns the membership witness of an un-nullified L1 to L2 message.
331
- * @param contractAddress - Address of a contract by which the message was emitted.
338
+ * Returns the membership witness of an L1 to L2 message.
332
339
  * @param messageHash - Hash of the message.
333
- * @param secret - Secret used to compute a nullifier.
334
- * @dev Contract address and secret are only used to compute the nullifier to get non-nullified messages
340
+ * @param nullifier - When present, the unsiloed nullifier of the message and the address to silo it with. The witness
341
+ * is only returned if the siloed nullifier is absent from the nullifier tree, i.e. the message has not been consumed.
335
342
  * @returns The l1 to l2 membership witness (index of message in the tree and sibling path).
336
- */ async getL1ToL2MembershipWitness(contractAddress, messageHash, secret) {
337
- const [messageIndex, siblingPath] = await getNonNullifiedL1ToL2MessageWitness(this.aztecNode, contractAddress, messageHash, secret, await this.anchorBlockHeader.hash());
343
+ */ async getL1ToL2MembershipWitnessV2(messageHash, nullifier) {
344
+ const [messageIndex, siblingPath] = await getL1ToL2MessageWitness(this.aztecNode, messageHash, nullifier.value, await this.anchorBlockHeader.hash());
338
345
  return {
339
346
  index: messageIndex,
340
347
  siblingPath
@@ -348,9 +355,8 @@ import { buildACIRCallback } from './acir_callback.js';
348
355
  * @param numberOfElements - Number of elements to read from the starting storage slot.
349
356
  */ getFromPublicStorage(blockHash, contractAddress, startStorageSlot, numberOfElements) {
350
357
  return this.#queryWithBlockHashNotAfterAnchor(blockHash, async ()=>{
351
- const slots = Array(numberOfElements).fill(0).map((_, i)=>new Fr(startStorageSlot.value + BigInt(i)));
352
- const values = await Promise.all(slots.map((storageSlot)=>this.aztecNode.getPublicStorageAt(blockHash, contractAddress, storageSlot)));
353
- this.logger.debug(`Oracle storage read: slots=[${slots.map((slot)=>slot.toString()).join(', ')}] address=${contractAddress.toString()} values=[${values.join(', ')}]`);
358
+ const values = await this.aztecNodeReadCache.getPublicStorageRange(blockHash, contractAddress, startStorageSlot, numberOfElements);
359
+ this.logger.debug(`Oracle storage read: start=${startStorageSlot.toString()} count=${numberOfElements} ` + `address=${contractAddress.toString()} values=[${values.join(', ')}]`);
354
360
  return values;
355
361
  });
356
362
  }
@@ -431,9 +437,7 @@ import { buildACIRCallback } from './acir_callback.js';
431
437
  if (txHash.hash.isZero()) {
432
438
  throw new Error('Invalid tx hash passed into aztec_utl_getTxEffect oracle handler');
433
439
  }
434
- const receipt = await this.aztecNode.getTxReceipt(txHash, {
435
- includeTxEffect: true
436
- });
440
+ const receipt = await this.aztecNodeReadCache.getTxReceiptWithEffect(txHash);
437
441
  if (!receipt.isMined() || !receipt.txEffect || receipt.blockNumber > this.anchorBlockHeader.getBlockNumber()) {
438
442
  return Option.none();
439
443
  }
@@ -692,9 +696,7 @@ import { buildACIRCallback } from './acir_callback.js';
692
696
  * once. Returns a map keyed by `TxHash.toString()`; hashes for which the node has no tx effect are omitted.
693
697
  */ async #fetchTxEffects(txHashes) {
694
698
  const uniqueTxHashes = uniqueBy(txHashes, (h)=>h.toString());
695
- const fetched = await Promise.all(uniqueTxHashes.map((h)=>this.aztecNode.getTxReceipt(h, {
696
- includeTxEffect: true
697
- })));
699
+ const fetched = await Promise.all(uniqueTxHashes.map((h)=>this.aztecNodeReadCache.getTxReceiptWithEffect(h)));
698
700
  return new Map(uniqueTxHashes.map((h, i)=>{
699
701
  const receipt = fetched[i];
700
702
  if (!receipt.isMined() || !receipt.txEffect) {
@@ -724,7 +726,7 @@ import { buildACIRCallback } from './acir_callback.js';
724
726
  const [response] = await Promise.all([
725
727
  query(),
726
728
  (async ()=>{
727
- const block = await this.aztecNode.getBlock(blockHash);
729
+ const block = await this.aztecNodeReadCache.getBlock(blockHash);
728
730
  const header = block?.header;
729
731
  if (!header) {
730
732
  throw new Error(`Could not find block header for block hash ${blockHash}`);
@@ -1,5 +1,5 @@
1
1
  export type { AuthorizeUtilityCall, UtilityCallAuthorizationRequest, UtilityCallAuthorizationResponse, } from './authorize_utility_call.js';
2
2
  export { type ExecutionHooks, composeHooks } from './execution_hooks.js';
3
3
  export { type CustomRequest, type ResolveCustomRequest } from './resolve_custom_request.js';
4
- export { type ResolveTaggingSecretStrategy, type TaggingSecretStrategy, type TaggingSecretStrategyRequest, } from './resolve_tagging_secret_strategy.js';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ob29rcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZLEVBQ1Ysb0JBQW9CLEVBQ3BCLCtCQUErQixFQUMvQixnQ0FBZ0MsR0FDakMsTUFBTSw2QkFBNkIsQ0FBQztBQUNyQyxPQUFPLEVBQUUsS0FBSyxjQUFjLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekUsT0FBTyxFQUFFLEtBQUssYUFBYSxFQUFFLEtBQUssb0JBQW9CLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM1RixPQUFPLEVBQ0wsS0FBSyw0QkFBNEIsRUFDakMsS0FBSyxxQkFBcUIsRUFDMUIsS0FBSyw0QkFBNEIsR0FDbEMsTUFBTSxzQ0FBc0MsQ0FBQyJ9
4
+ export { DEFAULT_TAGGING_SECRET_STRATEGY, type ResolveTaggingSecretStrategy, type TaggingSecretStrategy, type TaggingSecretStrategyRequest, } from './resolve_tagging_secret_strategy.js';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ob29rcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZLEVBQ1Ysb0JBQW9CLEVBQ3BCLCtCQUErQixFQUMvQixnQ0FBZ0MsR0FDakMsTUFBTSw2QkFBNkIsQ0FBQztBQUNyQyxPQUFPLEVBQUUsS0FBSyxjQUFjLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekUsT0FBTyxFQUFFLEtBQUssYUFBYSxFQUFFLEtBQUssb0JBQW9CLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM1RixPQUFPLEVBQ0wsK0JBQStCLEVBQy9CLEtBQUssNEJBQTRCLEVBQ2pDLEtBQUsscUJBQXFCLEVBQzFCLEtBQUssNEJBQTRCLEdBQ2xDLE1BQU0sc0NBQXNDLENBQUMifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,oBAAoB,EACpB,+BAA+B,EAC/B,gCAAgC,GACjC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,KAAK,cAAc,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzE,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAC5F,OAAO,EACL,KAAK,4BAA4B,EACjC,KAAK,qBAAqB,EAC1B,KAAK,4BAA4B,GAClC,MAAM,sCAAsC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,oBAAoB,EACpB,+BAA+B,EAC/B,gCAAgC,GACjC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,KAAK,cAAc,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzE,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAC5F,OAAO,EACL,+BAA+B,EAC/B,KAAK,4BAA4B,EACjC,KAAK,qBAAqB,EAC1B,KAAK,4BAA4B,GAClC,MAAM,sCAAsC,CAAC"}
@@ -1 +1,2 @@
1
1
  export { composeHooks } from './execution_hooks.js';
2
+ export { DEFAULT_TAGGING_SECRET_STRATEGY } from './resolve_tagging_secret_strategy.js';
@@ -30,6 +30,8 @@ export type TaggingSecretStrategy = {
30
30
  /** The raw (un-siloed) shared secret point to derive the tag from. */
31
31
  secret: Point;
32
32
  };
33
+ /** The strategy PXE applies to both delivery modes when no `resolveTaggingSecretStrategy` hook is configured. */
34
+ export declare const DEFAULT_TAGGING_SECRET_STRATEGY: TaggingSecretStrategy;
33
35
  /** Information about the message delivery requesting a tagging secret strategy. */
34
36
  export type TaggingSecretStrategyRequest = {
35
37
  contractAddress: AztecAddress;
@@ -45,4 +47,4 @@ export type TaggingSecretStrategyRequest = {
45
47
  * Hook returning the {@link TaggingSecretStrategy} for an outgoing message.
46
48
  */
47
49
  export type ResolveTaggingSecretStrategy = (request: TaggingSecretStrategyRequest) => Promise<TaggingSecretStrategy>;
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb2x2ZV90YWdnaW5nX3NlY3JldF9zdHJhdGVneS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2hvb2tzL3Jlc29sdmVfdGFnZ2luZ19zZWNyZXRfc3RyYXRlZ3kudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDekQsT0FBTyxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDL0QsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDaEUsT0FBTyxLQUFLLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUsvRDs7OztHQUlHO0FBQ0gsTUFBTSxNQUFNLHFCQUFxQixHQUM3QjtJQUNFLDJHQUEyRztJQUMzRyxJQUFJLEVBQUUsMkJBQTJCLENBQUM7Q0FDbkMsR0FDRDtJQUNFOzs7O09BSUc7SUFDSCxJQUFJLEVBQUUsdUJBQXVCLENBQUM7Q0FDL0IsR0FDRDtJQUNFLDRHQUE0RztJQUM1RyxJQUFJLEVBQUUsaUJBQWlCLENBQUM7Q0FDekIsR0FDRDtJQUNFOzs7O09BSUc7SUFDSCxJQUFJLEVBQUUsa0JBQWtCLENBQUM7SUFDekIsc0VBQXNFO0lBQ3RFLE1BQU0sRUFBRSxLQUFLLENBQUM7Q0FDZixDQUFDO0FBRU4sbUZBQW1GO0FBQ25GLE1BQU0sTUFBTSw0QkFBNEIsR0FBRztJQUN6QyxlQUFlLEVBQUUsWUFBWSxDQUFDO0lBQzlCOztPQUVHO0lBQ0gsZUFBZSxFQUFFLEVBQUUsQ0FBQztJQUNwQixNQUFNLEVBQUUsWUFBWSxDQUFDO0lBQ3JCLFNBQVMsRUFBRSxZQUFZLENBQUM7SUFDeEIsWUFBWSxFQUFFLG9CQUFvQixDQUFDO0NBQ3BDLENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0sTUFBTSw0QkFBNEIsR0FBRyxDQUFDLE9BQU8sRUFBRSw0QkFBNEIsS0FBSyxPQUFPLENBQUMscUJBQXFCLENBQUMsQ0FBQyJ9
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb2x2ZV90YWdnaW5nX3NlY3JldF9zdHJhdGVneS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2hvb2tzL3Jlc29sdmVfdGFnZ2luZ19zZWNyZXRfc3RyYXRlZ3kudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDekQsT0FBTyxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDL0QsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDaEUsT0FBTyxLQUFLLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUsvRDs7OztHQUlHO0FBQ0gsTUFBTSxNQUFNLHFCQUFxQixHQUM3QjtJQUNFLDJHQUEyRztJQUMzRyxJQUFJLEVBQUUsMkJBQTJCLENBQUM7Q0FDbkMsR0FDRDtJQUNFOzs7O09BSUc7SUFDSCxJQUFJLEVBQUUsdUJBQXVCLENBQUM7Q0FDL0IsR0FDRDtJQUNFLDRHQUE0RztJQUM1RyxJQUFJLEVBQUUsaUJBQWlCLENBQUM7Q0FDekIsR0FDRDtJQUNFOzs7O09BSUc7SUFDSCxJQUFJLEVBQUUsa0JBQWtCLENBQUM7SUFDekIsc0VBQXNFO0lBQ3RFLE1BQU0sRUFBRSxLQUFLLENBQUM7Q0FDZixDQUFDO0FBRU4saUhBQWlIO0FBQ2pILGVBQU8sTUFBTSwrQkFBK0IsRUFBRSxxQkFBNkQsQ0FBQztBQUU1RyxtRkFBbUY7QUFDbkYsTUFBTSxNQUFNLDRCQUE0QixHQUFHO0lBQ3pDLGVBQWUsRUFBRSxZQUFZLENBQUM7SUFDOUI7O09BRUc7SUFDSCxlQUFlLEVBQUUsRUFBRSxDQUFDO0lBQ3BCLE1BQU0sRUFBRSxZQUFZLENBQUM7SUFDckIsU0FBUyxFQUFFLFlBQVksQ0FBQztJQUN4QixZQUFZLEVBQUUsb0JBQW9CLENBQUM7Q0FDcEMsQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBTSxNQUFNLDRCQUE0QixHQUFHLENBQUMsT0FBTyxFQUFFLDRCQUE0QixLQUFLLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"resolve_tagging_secret_strategy.d.ts","sourceRoot":"","sources":["../../src/hooks/resolve_tagging_secret_strategy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAC;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAK/D;;;;GAIG;AACH,MAAM,MAAM,qBAAqB,GAC7B;IACE,2GAA2G;IAC3G,IAAI,EAAE,2BAA2B,CAAC;CACnC,GACD;IACE;;;;OAIG;IACH,IAAI,EAAE,uBAAuB,CAAC;CAC/B,GACD;IACE,4GAA4G;IAC5G,IAAI,EAAE,iBAAiB,CAAC;CACzB,GACD;IACE;;;;OAIG;IACH,IAAI,EAAE,kBAAkB,CAAC;IACzB,sEAAsE;IACtE,MAAM,EAAE,KAAK,CAAC;CACf,CAAC;AAEN,mFAAmF;AACnF,MAAM,MAAM,4BAA4B,GAAG;IACzC,eAAe,EAAE,YAAY,CAAC;IAC9B;;OAEG;IACH,eAAe,EAAE,EAAE,CAAC;IACpB,MAAM,EAAE,YAAY,CAAC;IACrB,SAAS,EAAE,YAAY,CAAC;IACxB,YAAY,EAAE,oBAAoB,CAAC;CACpC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,4BAA4B,GAAG,CAAC,OAAO,EAAE,4BAA4B,KAAK,OAAO,CAAC,qBAAqB,CAAC,CAAC"}
1
+ {"version":3,"file":"resolve_tagging_secret_strategy.d.ts","sourceRoot":"","sources":["../../src/hooks/resolve_tagging_secret_strategy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAC;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAK/D;;;;GAIG;AACH,MAAM,MAAM,qBAAqB,GAC7B;IACE,2GAA2G;IAC3G,IAAI,EAAE,2BAA2B,CAAC;CACnC,GACD;IACE;;;;OAIG;IACH,IAAI,EAAE,uBAAuB,CAAC;CAC/B,GACD;IACE,4GAA4G;IAC5G,IAAI,EAAE,iBAAiB,CAAC;CACzB,GACD;IACE;;;;OAIG;IACH,IAAI,EAAE,kBAAkB,CAAC;IACzB,sEAAsE;IACtE,MAAM,EAAE,KAAK,CAAC;CACf,CAAC;AAEN,iHAAiH;AACjH,eAAO,MAAM,+BAA+B,EAAE,qBAA6D,CAAC;AAE5G,mFAAmF;AACnF,MAAM,MAAM,4BAA4B,GAAG;IACzC,eAAe,EAAE,YAAY,CAAC;IAC9B;;OAEG;IACH,eAAe,EAAE,EAAE,CAAC;IACpB,MAAM,EAAE,YAAY,CAAC;IACrB,SAAS,EAAE,YAAY,CAAC;IACxB,YAAY,EAAE,oBAAoB,CAAC;CACpC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,4BAA4B,GAAG,CAAC,OAAO,EAAE,4BAA4B,KAAK,OAAO,CAAC,qBAAqB,CAAC,CAAC"}
@@ -1,3 +1,3 @@
1
- /**
2
- * Hook returning the {@link TaggingSecretStrategy} for an outgoing message.
3
- */ export { };
1
+ /** The strategy PXE applies to both delivery modes when no `resolveTaggingSecretStrategy` hook is configured. */ export const DEFAULT_TAGGING_SECRET_STRATEGY = {
2
+ type: 'non-interactive-handshake'
3
+ };
@@ -1,4 +1,4 @@
1
1
  export declare const ORACLE_VERSION_MAJOR = 30;
2
- export declare const ORACLE_VERSION_MINOR = 5;
3
- export declare const ORACLE_INTERFACE_HASH = "f71b9662ec851e74593764a87792b0a91c181e1410aac49a4507f0bba949f6be";
2
+ export declare const ORACLE_VERSION_MINOR = 7;
3
+ export declare const ORACLE_INTERFACE_HASH = "416b0e7d3e6dca5803ebe2a65ea93f1e79759dc39ef8ec4c52eeba5e2b0f3fca";
4
4
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JhY2xlX3ZlcnNpb24uZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9vcmFjbGVfdmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFZQSxlQUFPLE1BQU0sb0JBQW9CLEtBQUssQ0FBQztBQUN2QyxlQUFPLE1BQU0sb0JBQW9CLElBQUksQ0FBQztBQVF0QyxlQUFPLE1BQU0scUJBQXFCLHFFQUFxRSxDQUFDIn0=
@@ -11,11 +11,11 @@
11
11
  /// if AZTEC_NR_MINOR > PXE_MINOR because if a contract is updated to use a newer Aztec.nr dependency without actually
12
12
  /// using any of the new oracles then there is no reason to throw.
13
13
  export const ORACLE_VERSION_MAJOR = 30;
14
- export const ORACLE_VERSION_MINOR = 5;
14
+ export const ORACLE_VERSION_MINOR = 7;
15
15
  /// This hash is computed from the `ORACLE_REGISTRY` declaration (each oracle's name, ordered parameter names and
16
16
  /// types, and return type) and is used to detect when the oracle interface changes. When it does, you need to either:
17
17
  /// - increment `ORACLE_VERSION_MAJOR` and reset `ORACLE_VERSION_MINOR` to zero if the change is breaking, or
18
18
  /// - increment only `ORACLE_VERSION_MINOR` if the change is additive (a new oracle was added).
19
19
  ///
20
20
  /// These constants must be kept in sync between this file and `noir-projects/aztec-nr/aztec/src/oracle/version.nr`.
21
- export const ORACLE_INTERFACE_HASH = 'f71b9662ec851e74593764a87792b0a91c181e1410aac49a4507f0bba949f6be';
21
+ export const ORACLE_INTERFACE_HASH = '416b0e7d3e6dca5803ebe2a65ea93f1e79759dc39ef8ec4c52eeba5e2b0f3fca';
@@ -12,4 +12,4 @@ export type SchemaTest = {
12
12
  snapshotStore: (kvStore: AztecAsyncKVStore) => Promise<Record<string, unknown>>;
13
13
  };
14
14
  export declare const SCHEMA_TESTS: readonly SchemaTest[];
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hX3Rlc3RzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc3RvcmFnZS9iYWNrd2FyZHNfY29tcGF0aWJpbGl0eV90ZXN0cy9zY2hlbWFfdGVzdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBUUEsT0FBTyxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQXlDekQ7Ozs7OztHQU1HO0FBQ0gsTUFBTSxNQUFNLFVBQVUsR0FBRztJQUN2QixJQUFJLEVBQUUsTUFBTSxDQUFDO0lBQ2IsWUFBWSxFQUFFLENBQUMsT0FBTyxFQUFFLGlCQUFpQixLQUFLLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM1RCxhQUFhLEVBQUUsQ0FBQyxPQUFPLEVBQUUsaUJBQWlCLEtBQUssT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztDQUNqRixDQUFDO0FBRUYsZUFBTyxNQUFNLFlBQVksRUFBRSxTQUFTLFVBQVUsRUErakI3QyxDQUFDIn0=
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hX3Rlc3RzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc3RvcmFnZS9iYWNrd2FyZHNfY29tcGF0aWJpbGl0eV90ZXN0cy9zY2hlbWFfdGVzdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBUUEsT0FBTyxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQTBDekQ7Ozs7OztHQU1HO0FBQ0gsTUFBTSxNQUFNLFVBQVUsR0FBRztJQUN2QixJQUFJLEVBQUUsTUFBTSxDQUFDO0lBQ2IsWUFBWSxFQUFFLENBQUMsT0FBTyxFQUFFLGlCQUFpQixLQUFLLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM1RCxhQUFhLEVBQUUsQ0FBQyxPQUFPLEVBQUUsaUJBQWlCLEtBQUssT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztDQUNqRixDQUFDO0FBRUYsZUFBTyxNQUFNLFlBQVksRUFBRSxTQUFTLFVBQVUsRUEybEI3QyxDQUFDIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"schema_tests.d.ts","sourceRoot":"","sources":["../../../src/storage/backwards_compatibility_tests/schema_tests.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAyCzD;;;;;;GAMG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5D,aAAa,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACjF,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,SAAS,UAAU,EA+jB7C,CAAC"}
1
+ {"version":3,"file":"schema_tests.d.ts","sourceRoot":"","sources":["../../../src/storage/backwards_compatibility_tests/schema_tests.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AA0CzD;;;;;;GAMG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5D,aAAa,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACjF,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,SAAS,UAAU,EA2lB7C,CAAC"}
@@ -13,7 +13,7 @@ import { Checkpoint, L1PublishedData, PublishedCheckpoint } from '@aztec/stdlib/
13
13
  import { CompleteAddress, SerializableContractInstance } from '@aztec/stdlib/contract';
14
14
  import { GasFees } from '@aztec/stdlib/gas';
15
15
  import { PublicKey, PublicKeys, deriveKeys } from '@aztec/stdlib/keys';
16
- import { AppTaggingSecret, ContractClassLog, ContractClassLogFields, PrivateLog, PublicLog } from '@aztec/stdlib/logs';
16
+ import { AppTaggingSecret, AppTaggingSecretKind, ContractClassLog, ContractClassLogFields, PrivateLog, PublicLog } from '@aztec/stdlib/logs';
17
17
  import { Note, NoteDao } from '@aztec/stdlib/note';
18
18
  import { CheckpointHeader } from '@aztec/stdlib/rollup';
19
19
  import { AppendOnlyTreeSnapshot } from '@aztec/stdlib/trees';
@@ -399,9 +399,13 @@ export const SCHEMA_TESTS = [
399
399
  const jobId = 'fixture-job';
400
400
  const secretA = new AppTaggingSecret(new Fr(2n), AztecAddress.fromBigIntUnsafe(3n));
401
401
  const secretB = new AppTaggingSecret(new Fr(5n), AztecAddress.fromBigIntUnsafe(7n));
402
+ // A constrained secret keys under the `constrained:` prefix, so the snapshot pins both kinds side by side.
403
+ const secretConstrained = new AppTaggingSecret(new Fr(19n), AztecAddress.fromBigIntUnsafe(23n), AppTaggingSecretKind.CONSTRAINED);
402
404
  await recipientTaggingStore.updateHighestFinalizedIndex(secretA, 11, jobId);
403
405
  await recipientTaggingStore.updateHighestAgedIndex(secretA, 13, jobId);
404
406
  await recipientTaggingStore.updateHighestFinalizedIndex(secretB, 17, jobId);
407
+ await recipientTaggingStore.updateHighestFinalizedIndex(secretConstrained, 11, jobId);
408
+ await recipientTaggingStore.updateHighestAgedIndex(secretConstrained, 13, jobId);
405
409
  await kvStore.transactionAsync(()=>recipientTaggingStore.commit(jobId));
406
410
  },
407
411
  snapshotStore: async (kvStore)=>({
@@ -433,10 +437,13 @@ export const SCHEMA_TESTS = [
433
437
  const secretA = new AppTaggingSecret(new Fr(2n), AztecAddress.fromBigIntUnsafe(3n));
434
438
  const secretB = new AppTaggingSecret(new Fr(5n), AztecAddress.fromBigIntUnsafe(7n));
435
439
  const secretC = new AppTaggingSecret(new Fr(11n), AztecAddress.fromBigIntUnsafe(13n));
440
+ const secretConstrained = new AppTaggingSecret(new Fr(19n), AztecAddress.fromBigIntUnsafe(23n), AppTaggingSecretKind.CONSTRAINED);
436
441
  const txHashA = TxHash.fromBigInt(17n);
437
442
  const txHashB = TxHash.fromBigInt(19n);
438
443
  const txHashC = TxHash.fromBigInt(23n);
439
444
  const txHashD = TxHash.fromBigInt(29n);
445
+ const txHashE = TxHash.fromBigInt(31n);
446
+ const txHashF = TxHash.fromBigInt(37n);
440
447
  // secretA receives three pending ranges (one per tx); secretB receives one. After finalizing txHashA below,
441
448
  // secretA's array shrinks to two elements (the txHashB and txHashC ranges, both with highestIndex > 3) which
442
449
  // pins the multi-element JSON encoding of `pending_indexes`.
@@ -485,8 +492,25 @@ export const SCHEMA_TESTS = [
485
492
  highestIndex: 9
486
493
  }
487
494
  ], txHashD, jobId);
495
+ // secretConstrained gets a finalized range (txHashE) plus a surviving higher pending range (txHashF), so the
496
+ // `constrained:` key lands in both pending_indexes and last_finalized_indexes.
497
+ await senderTaggingStore.storePendingIndexes([
498
+ {
499
+ extendedSecret: secretConstrained,
500
+ lowestIndex: 1,
501
+ highestIndex: 3
502
+ }
503
+ ], txHashE, jobId);
504
+ await senderTaggingStore.storePendingIndexes([
505
+ {
506
+ extendedSecret: secretConstrained,
507
+ lowestIndex: 4,
508
+ highestIndex: 7
509
+ }
510
+ ], txHashF, jobId);
488
511
  await senderTaggingStore.finalizePendingIndexes([
489
- txHashA
512
+ txHashA,
513
+ txHashE
490
514
  ], jobId);
491
515
  await kvStore.transactionAsync(()=>senderTaggingStore.commit(jobId));
492
516
  },
@@ -1,2 +1,2 @@
1
- export declare const PXE_DATA_SCHEMA_VERSION = 12;
1
+ export declare const PXE_DATA_SCHEMA_VERSION = 13;
2
2
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YWRhdGEuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdG9yYWdlL21ldGFkYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGVBQU8sTUFBTSx1QkFBdUIsS0FBSyxDQUFDIn0=
@@ -1 +1 @@
1
- export const PXE_DATA_SCHEMA_VERSION = 12;
1
+ export const PXE_DATA_SCHEMA_VERSION = 13;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aztec/pxe",
3
- "version": "5.0.0-nightly.20260708",
3
+ "version": "5.0.0-nightly.20260710",
4
4
  "type": "module",
5
5
  "typedocOptions": {
6
6
  "entryPoints": [
@@ -71,20 +71,20 @@
71
71
  ]
72
72
  },
73
73
  "dependencies": {
74
- "@aztec/bb-prover": "5.0.0-nightly.20260708",
75
- "@aztec/bb.js": "5.0.0-nightly.20260708",
76
- "@aztec/builder": "5.0.0-nightly.20260708",
77
- "@aztec/constants": "5.0.0-nightly.20260708",
78
- "@aztec/ethereum": "5.0.0-nightly.20260708",
79
- "@aztec/foundation": "5.0.0-nightly.20260708",
80
- "@aztec/key-store": "5.0.0-nightly.20260708",
81
- "@aztec/kv-store": "5.0.0-nightly.20260708",
82
- "@aztec/noir-protocol-circuits-types": "5.0.0-nightly.20260708",
83
- "@aztec/noir-types": "5.0.0-nightly.20260708",
84
- "@aztec/protocol-contracts": "5.0.0-nightly.20260708",
85
- "@aztec/simulator": "5.0.0-nightly.20260708",
86
- "@aztec/standard-contracts": "5.0.0-nightly.20260708",
87
- "@aztec/stdlib": "5.0.0-nightly.20260708",
74
+ "@aztec/bb-prover": "5.0.0-nightly.20260710",
75
+ "@aztec/bb.js": "5.0.0-nightly.20260710",
76
+ "@aztec/builder": "5.0.0-nightly.20260710",
77
+ "@aztec/constants": "5.0.0-nightly.20260710",
78
+ "@aztec/ethereum": "5.0.0-nightly.20260710",
79
+ "@aztec/foundation": "5.0.0-nightly.20260710",
80
+ "@aztec/key-store": "5.0.0-nightly.20260710",
81
+ "@aztec/kv-store": "5.0.0-nightly.20260710",
82
+ "@aztec/noir-protocol-circuits-types": "5.0.0-nightly.20260710",
83
+ "@aztec/noir-types": "5.0.0-nightly.20260710",
84
+ "@aztec/protocol-contracts": "5.0.0-nightly.20260710",
85
+ "@aztec/simulator": "5.0.0-nightly.20260710",
86
+ "@aztec/standard-contracts": "5.0.0-nightly.20260710",
87
+ "@aztec/stdlib": "5.0.0-nightly.20260710",
88
88
  "koa": "^2.16.1",
89
89
  "koa-router": "^13.1.1",
90
90
  "lodash.omit": "^4.5.0",
@@ -93,8 +93,8 @@
93
93
  "viem": "npm:@aztec/viem@2.38.2"
94
94
  },
95
95
  "devDependencies": {
96
- "@aztec/noir-test-contracts.js": "5.0.0-nightly.20260708",
97
- "@aztec/world-state": "5.0.0-nightly.20260708",
96
+ "@aztec/noir-test-contracts.js": "5.0.0-nightly.20260710",
97
+ "@aztec/world-state": "5.0.0-nightly.20260710",
98
98
  "@jest/globals": "^30.0.0",
99
99
  "@types/jest": "^30.0.0",
100
100
  "@types/lodash.omit": "^4.5.7",
@@ -0,0 +1,89 @@
1
+ import { Fr } from '@aztec/foundation/curves/bn254';
2
+ import type { AztecAddress } from '@aztec/stdlib/aztec-address';
3
+ import type { BlockHash, BlockParameter } from '@aztec/stdlib/block';
4
+ import type { AztecNode } from '@aztec/stdlib/interfaces/server';
5
+ import type { TxHash } from '@aztec/stdlib/tx';
6
+
7
+ /**
8
+ * Per-execution cache for immutable Aztec node reads.
9
+ */
10
+ export class AztecNodeReadCache {
11
+ private readonly cache = new Map<string, Promise<unknown>>();
12
+
13
+ constructor(private readonly aztecNode: AztecNode) {}
14
+
15
+ /** Fetches a block without reissuing the same node request. */
16
+ public getBlock(block: BlockParameter) {
17
+ return this.#cachedRead(`block:${this.#keyPart(block)}`, () => this.aztecNode.getBlock(block));
18
+ }
19
+
20
+ /** Fetches a transaction receipt with its effect attached. */
21
+ public getTxReceiptWithEffect(txHash: TxHash) {
22
+ return this.#cachedRead(`tx-receipt-with-effect:${txHash.toString()}`, () =>
23
+ this.aztecNode.getTxReceipt(txHash, { includeTxEffect: true } as const),
24
+ );
25
+ }
26
+
27
+ /** Fetches an archive-tree witness for a block hash. */
28
+ public getBlockHashMembershipWitness(referenceBlock: BlockParameter, blockHash: BlockHash) {
29
+ return this.#cachedRead(
30
+ `block-hash-membership-witness:${this.#keyPart(referenceBlock)}:${blockHash.toString()}`,
31
+ () => this.aztecNode.getBlockHashMembershipWitness(referenceBlock, blockHash),
32
+ );
33
+ }
34
+
35
+ /** Fetches a public-data-tree witness for a leaf slot. */
36
+ public getPublicDataWitness(referenceBlock: BlockParameter, leafSlot: Fr) {
37
+ return this.#cachedRead(`public-data-witness:${this.#keyPart(referenceBlock)}:${leafSlot.toString()}`, () =>
38
+ this.aztecNode.getPublicDataWitness(referenceBlock, leafSlot),
39
+ );
40
+ }
41
+
42
+ /** Fetches public storage for a single slot. */
43
+ public getPublicStorageAt(referenceBlock: BlockParameter, contractAddress: AztecAddress, storageSlot: Fr) {
44
+ return this.#cachedRead(
45
+ `public-storage:${this.#keyPart(referenceBlock)}:${contractAddress.toString()}:${storageSlot.toString()}`,
46
+ () => this.aztecNode.getPublicStorageAt(referenceBlock, contractAddress, storageSlot),
47
+ );
48
+ }
49
+
50
+ /** Fetches a contiguous public storage range, reusing cached reads for overlapping slots. */
51
+ public getPublicStorageRange(
52
+ referenceBlock: BlockParameter,
53
+ contractAddress: AztecAddress,
54
+ startStorageSlot: Fr,
55
+ numberOfElements: number,
56
+ ) {
57
+ const slots = Array(numberOfElements)
58
+ .fill(0)
59
+ .map((_, i) => new Fr(startStorageSlot.value + BigInt(i)));
60
+
61
+ return Promise.all(slots.map(storageSlot => this.getPublicStorageAt(referenceBlock, contractAddress, storageSlot)));
62
+ }
63
+
64
+ #cachedRead<T>(key: string, fetch: () => Promise<T>): Promise<T> {
65
+ const cached = this.cache.get(key);
66
+ if (cached) {
67
+ return cached as Promise<T>;
68
+ }
69
+
70
+ const promise = fetch();
71
+ promise.catch(() => this.cache.delete(key));
72
+ this.cache.set(key, promise);
73
+ return promise;
74
+ }
75
+
76
+ #keyPart(value: unknown): string {
77
+ if (['string', 'number', 'bigint', 'boolean'].includes(typeof value)) {
78
+ return String(value);
79
+ }
80
+ if (value && typeof value === 'object') {
81
+ const toString = (value as { toString?: () => string }).toString;
82
+ if (toString && toString !== Object.prototype.toString) {
83
+ return toString.call(value);
84
+ }
85
+ return JSON.stringify(value, (_key, nested) => (typeof nested === 'bigint' ? nested.toString() : nested));
86
+ }
87
+ return String(value);
88
+ }
89
+ }
@@ -47,8 +47,10 @@ export function resolvedTaggingStrategyToFields(resolved: ResolvedTaggingStrateg
47
47
  export function resolvedTaggingStrategyFromFields(kind: number, secret: Fr): ResolvedTaggingStrategy {
48
48
  switch (kind) {
49
49
  case NON_INTERACTIVE_HANDSHAKE:
50
+ assertAbsentSecret(kind, secret);
50
51
  return { type: 'non-interactive-handshake' };
51
52
  case INTERACTIVE_HANDSHAKE:
53
+ assertAbsentSecret(kind, secret);
52
54
  return { type: 'interactive-handshake' };
53
55
  case UNCONSTRAINED_SECRET:
54
56
  return { type: 'unconstrained-secret', secret };
@@ -56,3 +58,9 @@ export function resolvedTaggingStrategyFromFields(kind: number, secret: Fr): Res
56
58
  throw new Error(`Unrecognized resolved tagging strategy kind: ${kind}`);
57
59
  }
58
60
  }
61
+
62
+ function assertAbsentSecret(kind: number, secret: Fr): void {
63
+ if (!secret.isZero()) {
64
+ throw new Error(`Resolved tagging strategy ${kind} must not include a secret`);
65
+ }
66
+ }
@@ -55,7 +55,7 @@ export function buildACIRCallback(
55
55
  target[legacyKey] = async (...inputs: ACVMField[][]) => {
56
56
  assertHandlerSupportsScope(handler, scope);
57
57
  const legacyArgs = paramSource.deserializeParams(inputs).map(p => p.value);
58
- const positional = paramOverride ? paramOverride.mapping(legacyArgs) : legacyArgs;
58
+ const positional = paramOverride ? await paramOverride.mapping(legacyArgs) : legacyArgs;
59
59
  const result = await (handler as any)[methodName](...positional);
60
60
  return returnSource.serializeReturn(returnOverride ? returnOverride.mapping(result) : result);
61
61
  };
@@ -1,8 +1,10 @@
1
1
  /* eslint-disable camelcase */
2
2
  import { MAX_NOTE_HASHES_PER_TX, PRIVATE_LOG_CIPHERTEXT_LEN, PRIVATE_LOG_SIZE_IN_FIELDS } from '@aztec/constants';
3
+ import { computeFeeJuiceMessageNullifier } from '@aztec/stdlib/messaging';
3
4
 
4
5
  import type { EphemeralArray } from '../noir-structs/ephemeral_array.js';
5
6
  import type { LogRetrievalResponse } from '../noir-structs/log_retrieval_response.js';
7
+ import { Option } from '../noir-structs/option.js';
6
8
  import type { PendingTaggedLog } from '../noir-structs/pending_tagged_log.js';
7
9
  import type { ResolvedTx } from '../noir-structs/resolved_tx.js';
8
10
  import {
@@ -13,6 +15,7 @@ import {
13
15
  type RegistryParam,
14
16
  } from './oracle_registry.js';
15
17
  import {
18
+ AZTEC_ADDRESS,
16
19
  EPHEMERAL_ARRAY,
17
20
  FIELD,
18
21
  FIXED_BOUNDED_VEC,
@@ -50,6 +53,25 @@ const LEGACY_PENDING_TAGGED_LOG: TypeMapping<LegacyPendingTaggedLog> = STRUCT<Le
50
53
  * older contracts can no longer run against this environment.
51
54
  */
52
55
  export const LEGACY_ORACLE_REGISTRY: Record<string, LegacyOracleEntry> = {
56
+ aztec_utl_getL1ToL2MembershipWitness: legacyOracle({
57
+ modernOracle: 'aztec_utl_getL1ToL2MembershipWitnessV2',
58
+ // The old wire passed the contract address and secret, the modern oracle takes the unsiloed nullifier (plus the
59
+ // address to silo it with) instead. We derive it here so already-deployed contracts that still emit the old call
60
+ // keep working.
61
+ //
62
+ // This is the fee juice message nullifier derivation: only contracts using that scheme call this retired oracle.
63
+ params: {
64
+ legacyType: [
65
+ { name: 'contractAddress', type: AZTEC_ADDRESS },
66
+ { name: 'messageHash', type: FIELD },
67
+ { name: 'secret', type: FIELD },
68
+ ],
69
+ mapping: async ([contractAddress, messageHash, secret]) => [
70
+ messageHash,
71
+ Option.some({ contractAddress, nullifier: await computeFeeJuiceMessageNullifier(messageHash, secret) }),
72
+ ],
73
+ },
74
+ }),
53
75
  aztec_utl_getLogsByTag: legacyOracle({
54
76
  modernOracle: 'aztec_utl_getLogsByTagV2',
55
77
  returnType: {
@@ -98,9 +120,12 @@ export interface LegacyOracleEntry {
98
120
  modernOracle: keyof Registry;
99
121
  /**
100
122
  * Old param wire. `legacyType` deserializes the old wire; `mapping` bridges the deserialized legacy args to the
101
- * modern handler's args. Omit when the param wire is unchanged.
123
+ * modern handler's args. The mapping may be async. Omit when the param wire is unchanged.
102
124
  */
103
- params?: { legacyType: readonly RegistryParam[]; mapping: (legacyArgs: any) => readonly unknown[] };
125
+ params?: {
126
+ legacyType: readonly RegistryParam[];
127
+ mapping: (legacyArgs: any) => readonly unknown[] | Promise<readonly unknown[]>;
128
+ };
104
129
  /**
105
130
  * Old return wire. `legacyType` serializes the subset the old contract reads; `mapping` bridges the handler's
106
131
  * current result to that subset's value type. Omit when the return wire is unchanged.
@@ -112,7 +137,9 @@ function legacyOracle<K extends keyof Registry, W = never, const TLegacyParams e
112
137
  modernOracle: K;
113
138
  params?: {
114
139
  legacyType: [...TLegacyParams];
115
- mapping: (legacyArgs: ParamTypes<InferDeserializedParams<TLegacyParams>>) => HandlerArgsOf<K>;
140
+ mapping: (
141
+ legacyArgs: ParamTypes<InferDeserializedParams<TLegacyParams>>,
142
+ ) => HandlerArgsOf<K> | Promise<HandlerArgsOf<K>>;
116
143
  };
117
144
  returnType?: { legacyType: TypeMapping<W>; mapping: (result: ReturnValueOf<K>) => W };
118
145
  }): LegacyOracleEntry {