@aztec/pxe 0.0.1-commit.2b2662070 → 0.0.1-commit.2c0ee1788

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 (73) hide show
  1. package/dest/block_synchronizer/block_stream_source.d.ts +10 -0
  2. package/dest/block_synchronizer/block_stream_source.d.ts.map +1 -0
  3. package/dest/block_synchronizer/block_stream_source.js +37 -0
  4. package/dest/block_synchronizer/block_synchronizer.d.ts +6 -2
  5. package/dest/block_synchronizer/block_synchronizer.d.ts.map +1 -1
  6. package/dest/block_synchronizer/block_synchronizer.js +24 -10
  7. package/dest/contract_function_simulator/contract_function_simulator.d.ts +1 -1
  8. package/dest/contract_function_simulator/contract_function_simulator.d.ts.map +1 -1
  9. package/dest/contract_function_simulator/contract_function_simulator.js +3 -4
  10. package/dest/contract_function_simulator/oracle/interfaces.d.ts +3 -1
  11. package/dest/contract_function_simulator/oracle/interfaces.d.ts.map +1 -1
  12. package/dest/contract_function_simulator/oracle/oracle.d.ts +2 -1
  13. package/dest/contract_function_simulator/oracle/oracle.d.ts.map +1 -1
  14. package/dest/contract_function_simulator/oracle/oracle.js +7 -0
  15. package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts +10 -11
  16. package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts.map +1 -1
  17. package/dest/contract_function_simulator/oracle/private_execution_oracle.js +18 -15
  18. package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts +9 -4
  19. package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts.map +1 -1
  20. package/dest/contract_function_simulator/oracle/utility_execution_oracle.js +52 -4
  21. package/dest/contract_function_simulator/pick_notes.d.ts +1 -1
  22. package/dest/contract_function_simulator/pick_notes.d.ts.map +1 -1
  23. package/dest/contract_function_simulator/pick_notes.js +11 -1
  24. package/dest/events/event_service.d.ts +1 -1
  25. package/dest/events/event_service.d.ts.map +1 -1
  26. package/dest/events/event_service.js +10 -1
  27. package/dest/events/private_event_filter_validator.d.ts +3 -2
  28. package/dest/events/private_event_filter_validator.d.ts.map +1 -1
  29. package/dest/events/private_event_filter_validator.js +15 -0
  30. package/dest/oracle_version.d.ts +2 -2
  31. package/dest/oracle_version.js +2 -2
  32. package/dest/private_kernel/private_kernel_execution_prover.d.ts +1 -1
  33. package/dest/private_kernel/private_kernel_execution_prover.d.ts.map +1 -1
  34. package/dest/private_kernel/private_kernel_execution_prover.js +4 -7
  35. package/dest/private_kernel/private_kernel_oracle.d.ts +5 -5
  36. package/dest/private_kernel/private_kernel_oracle.d.ts.map +1 -1
  37. package/dest/private_kernel/private_kernel_oracle.js +12 -15
  38. package/dest/pxe.d.ts +15 -4
  39. package/dest/pxe.d.ts.map +1 -1
  40. package/dest/pxe.js +41 -18
  41. package/dest/storage/anchor_block_store/anchor_block_store.js +1 -1
  42. package/dest/storage/capsule_store/capsule_store.d.ts +1 -1
  43. package/dest/storage/capsule_store/capsule_store.d.ts.map +1 -1
  44. package/dest/storage/capsule_store/capsule_store.js +8 -5
  45. package/dest/storage/contract_store/contract_store.d.ts +1 -1
  46. package/dest/storage/contract_store/contract_store.d.ts.map +1 -1
  47. package/dest/storage/contract_store/contract_store.js +4 -2
  48. package/dest/storage/private_event_store/private_event_store.d.ts +1 -1
  49. package/dest/storage/private_event_store/private_event_store.d.ts.map +1 -1
  50. package/dest/storage/private_event_store/private_event_store.js +3 -0
  51. package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.d.ts +1 -1
  52. package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.d.ts.map +1 -1
  53. package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.js +1 -1
  54. package/package.json +16 -16
  55. package/src/block_synchronizer/block_stream_source.ts +52 -0
  56. package/src/block_synchronizer/block_synchronizer.ts +27 -11
  57. package/src/contract_function_simulator/contract_function_simulator.ts +2 -3
  58. package/src/contract_function_simulator/oracle/interfaces.ts +10 -0
  59. package/src/contract_function_simulator/oracle/oracle.ts +14 -0
  60. package/src/contract_function_simulator/oracle/private_execution_oracle.ts +32 -19
  61. package/src/contract_function_simulator/oracle/utility_execution_oracle.ts +81 -4
  62. package/src/contract_function_simulator/pick_notes.ts +13 -1
  63. package/src/events/event_service.ts +13 -1
  64. package/src/events/private_event_filter_validator.ts +21 -1
  65. package/src/oracle_version.ts +2 -2
  66. package/src/private_kernel/private_kernel_execution_prover.ts +4 -9
  67. package/src/private_kernel/private_kernel_oracle.ts +14 -14
  68. package/src/pxe.ts +76 -24
  69. package/src/storage/anchor_block_store/anchor_block_store.ts +1 -1
  70. package/src/storage/capsule_store/capsule_store.ts +15 -5
  71. package/src/storage/contract_store/contract_store.ts +8 -6
  72. package/src/storage/private_event_store/private_event_store.ts +4 -0
  73. package/src/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.ts +3 -1
@@ -1 +1 @@
1
- {"version":3,"file":"private_execution_oracle.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/oracle/private_execution_oracle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"private_execution_oracle.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/oracle/private_execution_oracle.ts"],"names":[],"mappings":"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"}
@@ -39,9 +39,9 @@ import { UtilityExecutionOracle } from './utility_execution_oracle.js';
39
39
  taggingIndexCache;
40
40
  senderTaggingStore;
41
41
  totalPublicCalldataCount;
42
- sideEffectCounter;
43
- senderForTags;
44
- simulator;
42
+ initialSideEffectCounter;
43
+ /** Sender for tags passed in at oracle construction time. Returned by `getSenderForTags` unless overridden. */ defaultSenderForTags;
44
+ /** Per-call sender-for-tags override, set by `setSenderForTags`. Takes precedence over `defaultSenderForTags`. */ currentSenderForTags;
45
45
  constructor(args){
46
46
  super({
47
47
  ...args,
@@ -57,12 +57,11 @@ import { UtilityExecutionOracle } from './utility_execution_oracle.js';
57
57
  this.taggingIndexCache = args.taggingIndexCache;
58
58
  this.senderTaggingStore = args.senderTaggingStore;
59
59
  this.totalPublicCalldataCount = args.totalPublicCalldataCount ?? 0;
60
- this.sideEffectCounter = args.sideEffectCounter ?? 0;
61
- this.senderForTags = args.senderForTags;
62
- this.simulator = args.simulator;
60
+ this.initialSideEffectCounter = args.sideEffectCounter ?? 0;
61
+ this.defaultSenderForTags = args.senderForTags;
63
62
  }
64
63
  getPrivateContextInputs() {
65
- return new PrivateContextInputs(this.callContext, this.anchorBlockHeader, this.txContext, this.sideEffectCounter);
64
+ return new PrivateContextInputs(this.callContext, this.anchorBlockHeader, this.txContext, this.initialSideEffectCounter);
66
65
  }
67
66
  // We still need this function until we can get user-defined ordering of structs for fn arguments
68
67
  // TODO When that is sorted out on noir side, we can use instead the utilities in serialize.ts
@@ -116,10 +115,9 @@ import { UtilityExecutionOracle } from './utility_execution_oracle.js';
116
115
  * for a tag in order to emit a log. Constrained tagging should not use this as there is no
117
116
  * guarantee that the recipient knows about the sender, and hence about the shared secret.
118
117
  *
119
- * The value persists through nested calls, meaning all calls down the stack will use the same
120
- * 'senderForTags' value (unless it is replaced).
118
+ * Returns `currentSenderForTags` if set (via `setSenderForTags`), otherwise `defaultSenderForTags`.
121
119
  */ getSenderForTags() {
122
- return Promise.resolve(this.senderForTags);
120
+ return Promise.resolve(this.currentSenderForTags ?? this.defaultSenderForTags);
123
121
  }
124
122
  /**
125
123
  * Set the sender for tags.
@@ -128,11 +126,11 @@ import { UtilityExecutionOracle } from './utility_execution_oracle.js';
128
126
  * for a tag in order to emit a log. Constrained tagging should not use this as there is no
129
127
  * guarantee that the recipient knows about the sender, and hence about the shared secret.
130
128
  *
131
- * Account contracts typically set this value before calling other contracts. The value persists
132
- * through nested calls, meaning all calls down the stack will use the same 'senderForTags'
133
- * value (unless it is replaced by another call to this setter).
129
+ * Overrides `defaultSenderForTags` for the remainder of this call. Each oracle instance is
130
+ * independent, so this has no effect on any other call in the execution.
134
131
  */ setSenderForTags(senderForTags) {
135
- this.senderForTags = senderForTags;
132
+ this.logger.debug(`Sender for tags switched to ${senderForTags} by contract ${this.contractAddress} (default was ${this.defaultSenderForTags})`);
133
+ this.currentSenderForTags = senderForTags;
136
134
  return Promise.resolve();
137
135
  }
138
136
  /**
@@ -397,12 +395,14 @@ import { UtilityExecutionOracle } from './utility_execution_oracle.js';
397
395
  sideEffectCounter,
398
396
  log: this.logger,
399
397
  scopes: this.scopes,
400
- senderForTags: this.senderForTags,
398
+ senderForTags: this.defaultSenderForTags,
401
399
  simulator: this.simulator,
402
400
  l2TipsStore: this.l2TipsStore
403
401
  });
404
402
  const setupTime = simulatorSetupTimer.ms();
405
403
  const childExecutionResult = await executePrivateFunction(this.simulator, privateExecutionOracle, targetArtifact, targetContractAddress, functionSelector);
404
+ // Propagate the nested call's calldata count so the parent sees its increments on subsequent enqueues.
405
+ this.totalPublicCalldataCount = privateExecutionOracle.getTotalPublicCalldataCount();
406
406
  if (isStaticCall) {
407
407
  this.#checkValidStaticCall(childExecutionResult);
408
408
  }
@@ -428,6 +428,9 @@ import { UtilityExecutionOracle } from './utility_execution_oracle.js';
428
428
  }
429
429
  return Promise.resolve();
430
430
  }
431
+ getTotalPublicCalldataCount() {
432
+ return this.totalPublicCalldataCount;
433
+ }
431
434
  notifyRevertiblePhaseStart(minRevertibleSideEffectCounter) {
432
435
  return this.noteCache.setMinRevertibleSideEffectCounter(minRevertibleSideEffectCounter);
433
436
  }
@@ -5,6 +5,8 @@ import { Point } from '@aztec/foundation/curves/grumpkin';
5
5
  import { createLogger } from '@aztec/foundation/log';
6
6
  import type { MembershipWitness } from '@aztec/foundation/trees';
7
7
  import type { KeyStore } from '@aztec/key-store';
8
+ import { type CircuitSimulator } from '@aztec/simulator/client';
9
+ import { FunctionSelector } from '@aztec/stdlib/abi';
8
10
  import type { AuthWitness } from '@aztec/stdlib/auth-witness';
9
11
  import { AztecAddress } from '@aztec/stdlib/aztec-address';
10
12
  import { BlockHash, type L2TipsProvider } from '@aztec/stdlib/block';
@@ -49,6 +51,7 @@ export type UtilityExecutionOracleArgs = {
49
51
  jobId: string;
50
52
  log?: ReturnType<typeof createLogger>;
51
53
  scopes: AztecAddress[];
54
+ simulator: CircuitSimulator;
52
55
  };
53
56
  /**
54
57
  * The oracle for an execution of utility contract functions.
@@ -81,6 +84,7 @@ export declare class UtilityExecutionOracle implements IMiscOracle, IUtilityExec
81
84
  protected readonly jobId: string;
82
85
  protected logger: ReturnType<typeof createLogger>;
83
86
  protected readonly scopes: AztecAddress[];
87
+ protected readonly simulator: CircuitSimulator;
84
88
  constructor(args: UtilityExecutionOracleArgs);
85
89
  assertCompatibleOracleVersion(major: number, minor: number): void;
86
90
  nonOracleFunctionGetContractOracleVersion(): {
@@ -164,10 +168,9 @@ export declare class UtilityExecutionOracle implements IMiscOracle, IUtilityExec
164
168
  */
165
169
  getContractInstance(address: AztecAddress): Promise<ContractInstance>;
166
170
  /**
167
- * Returns an auth witness for the given message hash. Checks on the list of transient witnesses
168
- * for this transaction first, and falls back to the local database if not found.
171
+ * Returns an auth witness for the given message hash from the list of transient witnesses for this transaction.
169
172
  * @param messageHash - Hash of the message to authenticate.
170
- * @returns Authentication witness for the requested message hash.
173
+ * @returns Authentication witness for the requested message hash, or undefined if not found.
171
174
  */
172
175
  getAuthWitness(messageHash: Fr): Promise<Fr[] | undefined>;
173
176
  /**
@@ -258,7 +261,9 @@ export declare class UtilityExecutionOracle implements IMiscOracle, IUtilityExec
258
261
  removeEphemeral(slot: Fr, index: number): void;
259
262
  clearEphemeral(slot: Fr): void;
260
263
  emitOffchainEffect(data: Fr[]): Promise<void>;
264
+ /** Executes another utility function from within this one and returns its serialized return values. */
265
+ callUtilityFunction(targetContractAddress: AztecAddress, functionSelector: FunctionSelector, args: Fr[]): Promise<Fr[]>;
261
266
  /** Returns offchain effects collected during execution. */
262
267
  getOffchainEffects(): OffchainEffect[];
263
268
  }
264
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbGl0eV9leGVjdXRpb25fb3JhY2xlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udHJhY3RfZnVuY3Rpb25fc2ltdWxhdG9yL29yYWNsZS91dGlsaXR5X2V4ZWN1dGlvbl9vcmFjbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsY0FBYyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDOUUsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFbkUsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUMxRCxPQUFPLEVBQTBCLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzdFLE9BQU8sS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDakUsT0FBTyxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFakQsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzNELE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRSxPQUFPLEtBQUssRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFaEcsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDakUsT0FBTyxLQUFLLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsS0FBSyxVQUFVLEVBQXdCLE1BQU0sb0JBQW9CLENBQUM7QUFHM0UsT0FBTyxLQUFLLEVB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
269
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbGl0eV9leGVjdXRpb25fb3JhY2xlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udHJhY3RfZnVuY3Rpb25fc2ltdWxhdG9yL29yYWNsZS91dGlsaXR5X2V4ZWN1dGlvbl9vcmFjbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsY0FBYyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDOUUsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFbkUsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUMxRCxPQUFPLEVBQTBCLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzdFLE9BQU8sS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDakUsT0FBTyxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFakQsT0FBTyxFQUNMLEtBQUssZ0JBQWdCLEVBTXRCLE1BQU0seUJBQXlCLENBQUM7QUFDakMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDckQsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzNELE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRSxPQUFPLEtBQUssRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFaEcsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDakUsT0FBTyxLQUFLLEVBQUUs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
@@ -1 +1 @@
1
- {"version":3,"file":"utility_execution_oracle.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/oracle/utility_execution_oracle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utility_execution_oracle.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/oracle/utility_execution_oracle.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import { Aes128 } from '@aztec/foundation/crypto/aes128';
2
2
  import { Fr } from '@aztec/foundation/curves/bn254';
3
3
  import { LogLevels, createLogger } from '@aztec/foundation/log';
4
4
  import { isProtocolContract } from '@aztec/protocol-contracts';
5
+ import { ExecutionError, extractCallStack, resolveAssertionMessageFromError, toACVMWitness, witnessMapToFields } from '@aztec/simulator/client';
5
6
  import { siloNullifier } from '@aztec/stdlib/hash';
6
7
  import { computeAddressSecret } from '@aztec/stdlib/keys';
7
8
  import { MessageContext, deriveAppSiloedSharedSecret } from '@aztec/stdlib/logs';
@@ -20,6 +21,7 @@ import { NoteValidationRequest } from '../noir-structs/note_validation_request.j
20
21
  import { UtilityContext } from '../noir-structs/utility_context.js';
21
22
  import { pickNotes } from '../pick_notes.js';
22
23
  import { MessageLoadOracleInputs } from './message_load_oracle_inputs.js';
24
+ import { Oracle } from './oracle.js';
23
25
  /**
24
26
  * The oracle for an execution of utility contract functions.
25
27
  */ export class UtilityExecutionOracle {
@@ -50,6 +52,7 @@ import { MessageLoadOracleInputs } from './message_load_oracle_inputs.js';
50
52
  jobId;
51
53
  logger;
52
54
  scopes;
55
+ simulator;
53
56
  constructor(args){
54
57
  this.contractAddress = args.contractAddress;
55
58
  this.authWitnesses = args.authWitnesses;
@@ -70,6 +73,7 @@ import { MessageLoadOracleInputs } from './message_load_oracle_inputs.js';
70
73
  this.jobId = args.jobId;
71
74
  this.logger = args.log ?? createLogger('simulator:client_view_context');
72
75
  this.scopes = args.scopes;
76
+ this.simulator = args.simulator;
73
77
  }
74
78
  assertCompatibleOracleVersion(major, minor) {
75
79
  // TODO(F-416): Remove this hack on v5 when protocol contracts are redeployed.
@@ -225,10 +229,9 @@ import { MessageLoadOracleInputs } from './message_load_oracle_inputs.js';
225
229
  return instance;
226
230
  }
227
231
  /**
228
- * Returns an auth witness for the given message hash. Checks on the list of transient witnesses
229
- * for this transaction first, and falls back to the local database if not found.
232
+ * Returns an auth witness for the given message hash from the list of transient witnesses for this transaction.
230
233
  * @param messageHash - Hash of the message to authenticate.
231
- * @returns Authentication witness for the requested message hash.
234
+ * @returns Authentication witness for the requested message hash, or undefined if not found.
232
235
  */ getAuthWitness(messageHash) {
233
236
  return Promise.resolve(this.authWitnesses.find((w)=>w.requestHash.equals(messageHash))?.witness);
234
237
  }
@@ -539,6 +542,50 @@ import { MessageLoadOracleInputs } from './message_load_oracle_inputs.js';
539
542
  });
540
543
  return Promise.resolve();
541
544
  }
545
+ /** Executes another utility function from within this one and returns its serialized return values. */ async callUtilityFunction(targetContractAddress, functionSelector, args) {
546
+ // TODO(F-29): We want to support cross-contract utility calls, but doing so safely requires wallets to have
547
+ // a way to authorize which contracts can be called transitively, since those calls may expose private state.
548
+ // Until that is in place, restrict nested utility calls to the same contract only.
549
+ if (!targetContractAddress.equals(this.contractAddress)) {
550
+ throw new Error(`Cross-contract utility calls are not yet supported: cannot call ${targetContractAddress} from utility function on ${this.contractAddress}.`);
551
+ }
552
+ this.logger.debug(`Calling nested utility function ${targetContractAddress}:${functionSelector} from ${this.contractAddress}`);
553
+ const targetArtifact = await this.contractStore.getFunctionArtifactWithDebugMetadata(targetContractAddress, functionSelector);
554
+ const nestedOracle = new UtilityExecutionOracle({
555
+ contractAddress: targetContractAddress,
556
+ authWitnesses: this.authWitnesses,
557
+ capsules: this.capsules,
558
+ anchorBlockHeader: this.anchorBlockHeader,
559
+ contractStore: this.contractStore,
560
+ noteStore: this.noteStore,
561
+ keyStore: this.keyStore,
562
+ addressStore: this.addressStore,
563
+ aztecNode: this.aztecNode,
564
+ recipientTaggingStore: this.recipientTaggingStore,
565
+ senderAddressBookStore: this.senderAddressBookStore,
566
+ capsuleService: this.capsuleService,
567
+ privateEventStore: this.privateEventStore,
568
+ messageContextService: this.messageContextService,
569
+ contractSyncService: this.contractSyncService,
570
+ l2TipsStore: this.l2TipsStore,
571
+ jobId: this.jobId,
572
+ scopes: this.scopes,
573
+ simulator: this.simulator,
574
+ log: this.logger
575
+ });
576
+ const initialWitness = toACVMWitness(0, args);
577
+ const acvmCallback = new Oracle(nestedOracle);
578
+ const acirExecutionResult = await this.simulator.executeUserCircuit(initialWitness, targetArtifact, acvmCallback.toACIRCallback()).catch((err)=>{
579
+ err.message = resolveAssertionMessageFromError(err, targetArtifact);
580
+ throw new ExecutionError(err.message, {
581
+ contractAddress: targetContractAddress,
582
+ functionSelector
583
+ }, extractCallStack(err, targetArtifact.debug), {
584
+ cause: err
585
+ });
586
+ });
587
+ return witnessMapToFields(acirExecutionResult.returnWitness);
588
+ }
542
589
  /** Returns offchain effects collected during execution. */ getOffchainEffects() {
543
590
  return this.offchainEffects;
544
591
  }
@@ -546,7 +593,8 @@ import { MessageLoadOracleInputs } from './message_load_oracle_inputs.js';
546
593
  const [response] = await Promise.all([
547
594
  query(),
548
595
  (async ()=>{
549
- const header = await this.aztecNode.getBlockHeader(blockHash);
596
+ const block = await this.aztecNode.getBlock(blockHash);
597
+ const header = block?.header;
550
598
  if (!header) {
551
599
  throw new Error(`Could not find block header for block hash ${blockHash}`);
552
600
  }
@@ -82,4 +82,4 @@ interface ContainsNote {
82
82
  */
83
83
  export declare function pickNotes<T extends ContainsNote>(noteDatas: T[], { selects, sorts, limit, offset }: GetOptions): T[];
84
84
  export {};
85
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlja19ub3Rlcy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnRyYWN0X2Z1bmN0aW9uX3NpbXVsYXRvci9waWNrX25vdGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEVBQUUsVUFBVSxFQUFFLEtBQUssSUFBSSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFM0QsTUFBTSxXQUFXLGdCQUFnQjtJQUMvQixLQUFLLEVBQUUsTUFBTSxDQUFDO0lBQ2QsTUFBTSxFQUFFLE1BQU0sQ0FBQztJQUNmLE1BQU0sRUFBRSxNQUFNLENBQUM7Q0FDaEI7QUFFRDs7R0FFRztBQUNILE1BQU0sV0FBVyxNQUFNO0lBQ3JCOztPQUVHO0lBQ0gsUUFBUSxFQUFFLGdCQUFnQixDQUFDO0lBQzNCOztPQUVHO0lBQ0gsS0FBSyxFQUFFLEVBQUUsQ0FBQztJQUNWOztPQUVHO0lBQ0gsVUFBVSxFQUFFLFVBQVUsQ0FBQztDQUN4QjtBQUVEOztHQUVHO0FBQ0gsb0JBQVksU0FBUztJQUNuQixJQUFJLElBQUk7SUFDUixJQUFJLElBQUk7SUFDUixHQUFHLElBQUk7Q0FDUjtBQUVEOztHQUVHO0FBQ0gsTUFBTSxXQUFXLElBQUk7SUFDbkI7O09BRUc7SUFDSCxRQUFRLEVBQUUsZ0JBQWdCLENBQUM7SUFDM0I7O09BRUc7SUFDSCxLQUFLLEVBQUUsU0FBUyxDQUFDO0NBQ2xCO0FBRUQ7O0dBRUc7QUFDSCxVQUFVLFVBQVU7SUFDbEI7OztPQUdHO0lBQ0gsT0FBTyxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUM7SUFDbkI7OztPQUdHO0lBQ0gsS0FBSyxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDZjs7O09BR0c7SUFDSCxLQUFLLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDZjs7O09BR0c7SUFDSCxNQUFNLENBQUMsRUFBRSxNQUFNLENBQUM7Q0FDakI7QUFFRDs7R0FFRztBQUNILFVBQVUsWUFBWTtJQUNwQjs7T0FFRztJQUNILElBQUksRUFBRSxJQUFJLENBQUM7Q0FDWjtBQXFERDs7R0FFRztBQUNILHdCQUFnQixTQUFTLENBQUMsQ0FBQyxTQUFTLFlBQVksRUFDOUMsU0FBUyxFQUFFLENBQUMsRUFBRSxFQUNkLEVBQUUsT0FBWSxFQUFFLEtBQVUsRUFBRSxLQUFTLEVBQUUsTUFBVSxFQUFFLEVBQUUsVUFBVSxHQUM5RCxDQUFDLEVBQUUsQ0FJTCJ9
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlja19ub3Rlcy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnRyYWN0X2Z1bmN0aW9uX3NpbXVsYXRvci9waWNrX25vdGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEVBQUUsVUFBVSxFQUFFLEtBQUssSUFBSSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFM0QsTUFBTSxXQUFXLGdCQUFnQjtJQUMvQixLQUFLLEVBQUUsTUFBTSxDQUFDO0lBQ2QsTUFBTSxFQUFFLE1BQU0sQ0FBQztJQUNmLE1BQU0sRUFBRSxNQUFNLENBQUM7Q0FDaEI7QUFFRDs7R0FFRztBQUNILE1BQU0sV0FBVyxNQUFNO0lBQ3JCOztPQUVHO0lBQ0gsUUFBUSxFQUFFLGdCQUFnQixDQUFDO0lBQzNCOztPQUVHO0lBQ0gsS0FBSyxFQUFFLEVBQUUsQ0FBQztJQUNWOztPQUVHO0lBQ0gsVUFBVSxFQUFFLFVBQVUsQ0FBQztDQUN4QjtBQUVEOztHQUVHO0FBQ0gsb0JBQVksU0FBUztJQUNuQixJQUFJLElBQUk7SUFDUixJQUFJLElBQUk7SUFDUixHQUFHLElBQUk7Q0FDUjtBQUVEOztHQUVHO0FBQ0gsTUFBTSxXQUFXLElBQUk7SUFDbkI7O09BRUc7SUFDSCxRQUFRLEVBQUUsZ0JBQWdCLENBQUM7SUFDM0I7O09BRUc7SUFDSCxLQUFLLEVBQUUsU0FBUyxDQUFDO0NBQ2xCO0FBRUQ7O0dBRUc7QUFDSCxVQUFVLFVBQVU7SUFDbEI7OztPQUdHO0lBQ0gsT0FBTyxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUM7SUFDbkI7OztPQUdHO0lBQ0gsS0FBSyxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDZjs7O09BR0c7SUFDSCxLQUFLLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDZjs7O09BR0c7SUFDSCxNQUFNLENBQUMsRUFBRSxNQUFNLENBQUM7Q0FDakI7QUFFRDs7R0FFRztBQUNILFVBQVUsWUFBWTtJQUNwQjs7T0FFRztJQUNILElBQUksRUFBRSxJQUFJLENBQUM7Q0FDWjtBQWlFRDs7R0FFRztBQUNILHdCQUFnQixTQUFTLENBQUMsQ0FBQyxTQUFTLFlBQVksRUFDOUMsU0FBUyxFQUFFLENBQUMsRUFBRSxFQUNkLEVBQUUsT0FBWSxFQUFFLEtBQVUsRUFBRSxLQUFTLEVBQUUsTUFBVSxFQUFFLEVBQUUsVUFBVSxHQUM5RCxDQUFDLEVBQUUsQ0FJTCJ9
@@ -1 +1 @@
1
- {"version":3,"file":"pick_notes.d.ts","sourceRoot":"","sources":["../../src/contract_function_simulator/pick_notes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,KAAK,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAE3D,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB;;OAEG;IACH,QAAQ,EAAE,gBAAgB,CAAC;IAC3B;;OAEG;IACH,KAAK,EAAE,EAAE,CAAC;IACV;;OAEG;IACH,UAAU,EAAE,UAAU,CAAC;CACxB;AAED;;GAEG;AACH,oBAAY,SAAS;IACnB,IAAI,IAAI;IACR,IAAI,IAAI;IACR,GAAG,IAAI;CACR;AAED;;GAEG;AACH,MAAM,WAAW,IAAI;IACnB;;OAEG;IACH,QAAQ,EAAE,gBAAgB,CAAC;IAC3B;;OAEG;IACH,KAAK,EAAE,SAAS,CAAC;CAClB;AAED;;GAEG;AACH,UAAU,UAAU;IAClB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB;;;OAGG;IACH,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;IACf;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,UAAU,YAAY;IACpB;;OAEG;IACH,IAAI,EAAE,IAAI,CAAC;CACZ;AAqDD;;GAEG;AACH,wBAAgB,SAAS,CAAC,CAAC,SAAS,YAAY,EAC9C,SAAS,EAAE,CAAC,EAAE,EACd,EAAE,OAAY,EAAE,KAAU,EAAE,KAAS,EAAE,MAAU,EAAE,EAAE,UAAU,GAC9D,CAAC,EAAE,CAIL"}
1
+ {"version":3,"file":"pick_notes.d.ts","sourceRoot":"","sources":["../../src/contract_function_simulator/pick_notes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,KAAK,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAE3D,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB;;OAEG;IACH,QAAQ,EAAE,gBAAgB,CAAC;IAC3B;;OAEG;IACH,KAAK,EAAE,EAAE,CAAC;IACV;;OAEG;IACH,UAAU,EAAE,UAAU,CAAC;CACxB;AAED;;GAEG;AACH,oBAAY,SAAS;IACnB,IAAI,IAAI;IACR,IAAI,IAAI;IACR,GAAG,IAAI;CACR;AAED;;GAEG;AACH,MAAM,WAAW,IAAI;IACnB;;OAEG;IACH,QAAQ,EAAE,gBAAgB,CAAC;IAC3B;;OAEG;IACH,KAAK,EAAE,SAAS,CAAC;CAClB;AAED;;GAEG;AACH,UAAU,UAAU;IAClB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB;;;OAGG;IACH,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;IACf;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,UAAU,YAAY;IACpB;;OAEG;IACH,IAAI,EAAE,IAAI,CAAC;CACZ;AAiED;;GAEG;AACH,wBAAgB,SAAS,CAAC,CAAC,SAAS,YAAY,EAC9C,SAAS,EAAE,CAAC,EAAE,EACd,EAAE,OAAY,EAAE,KAAU,EAAE,KAAS,EAAE,MAAU,EAAE,EAAE,UAAU,GAC9D,CAAC,EAAE,CAIL"}
@@ -9,6 +9,12 @@ import { Comparator } from '@aztec/stdlib/note';
9
9
  return SortOrder;
10
10
  }({});
11
11
  const selectPropertyFromPackedNoteContent = (noteData, selector)=>{
12
+ if (selector.index >= noteData.length) {
13
+ throw new Error(`Property selector index ${selector.index} out of bounds for note with ${noteData.length} fields`);
14
+ }
15
+ if (selector.offset + selector.length > Fr.SIZE_IN_BYTES) {
16
+ throw new Error(`Property selector range (offset=${selector.offset}, length=${selector.length}) exceeds Fr buffer size of ${Fr.SIZE_IN_BYTES} bytes`);
17
+ }
12
18
  const noteValueBuffer = noteData[selector.index].toBuffer();
13
19
  // Noir's PropertySelector counts offset from the LSB (last byte of the big-endian buffer),
14
20
  // so offset=0,length=Fr.SIZE_IN_BYTES reads the entire field, and offset=0,length=1 reads the last byte.
@@ -30,7 +36,11 @@ const selectNotes = (noteDatas, selects)=>noteDatas.filter((noteData)=>selects.e
30
36
  [Comparator.GT]: ()=>!noteValueFr.lt(value) && !noteValueFr.equals(value),
31
37
  [Comparator.GTE]: ()=>!noteValueFr.lt(value)
32
38
  };
33
- return comparatorSelector[comparator]();
39
+ const fn = comparatorSelector[comparator];
40
+ if (!fn) {
41
+ throw new Error(`Invalid comparator value: ${comparator}`);
42
+ }
43
+ return fn();
34
44
  }));
35
45
  const sortNotes = (a, b, sorts, level = 0)=>{
36
46
  if (sorts[level] === undefined) {
@@ -13,4 +13,4 @@ export declare class EventService {
13
13
  constructor(anchorBlockHeader: BlockHeader, aztecNode: AztecNode, privateEventStore: PrivateEventStore, jobId: string, log?: import("@aztec/foundation/log").Logger);
14
14
  validateAndStoreEvent(contractAddress: AztecAddress, selector: EventSelector, randomness: Fr, content: Fr[], eventCommitment: Fr, txHash: TxHash, scope: AztecAddress): Promise<void>;
15
15
  }
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnRfc2VydmljZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2V2ZW50cy9ldmVudF9zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXpELE9BQU8sS0FBSyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3ZELE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRWhFLE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2pFLE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUU1RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUUxRixxQkFBYSxZQUFZO0lBRXJCLE9BQU8sQ0FBQyxRQUFRLENBQUMsaUJBQWlCO0lBQ2xDLE9BQU8sQ0FBQyxRQUFRLENBQUMsU0FBUztJQUMxQixPQUFPLENBQUMsUUFBUSxDQUFDLGlCQUFpQjtJQUNsQyxPQUFPLENBQUMsUUFBUSxDQUFDLEtBQUs7SUFDdEIsT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHO0lBTHRCLFlBQ21CLGlCQUFpQixFQUFFLFdBQVcsRUFDOUIsU0FBUyxFQUFFLFNBQVMsRUFDcEIsaUJBQWlCLEVBQUUsaUJBQWlCLEVBQ3BDLEtBQUssRUFBRSxNQUFNLEVBQ2IsR0FBRyx5Q0FBb0MsRUFDdEQ7SUFFUyxxQkFBcUIsQ0FDaEMsZUFBZSxFQUFFLFlBQVksRUFDN0IsUUFBUSxFQUFFLGFBQWEsRUFDdkIsVUFBVSxFQUFFLEVBQUUsRUFDZCxPQUFPLEVBQUUsRUFBRSxFQUFFLEVBQ2IsZUFBZSxFQUFFLEVBQUUsRUFDbkIsTUFBTSxFQUFFLE1BQU0sRUFDZCxLQUFLLEVBQUUsWUFBWSxHQUNsQixPQUFPLENBQUMsSUFBSSxDQUFDLENBdURmO0NBQ0YifQ==
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnRfc2VydmljZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2V2ZW50cy9ldmVudF9zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXpELE9BQU8sS0FBSyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3ZELE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRWhFLE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2pFLE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUU1RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUUxRixxQkFBYSxZQUFZO0lBRXJCLE9BQU8sQ0FBQyxRQUFRLENBQUMsaUJBQWlCO0lBQ2xDLE9BQU8sQ0FBQyxRQUFRLENBQUMsU0FBUztJQUMxQixPQUFPLENBQUMsUUFBUSxDQUFDLGlCQUFpQjtJQUNsQyxPQUFPLENBQUMsUUFBUSxDQUFDLEtBQUs7SUFDdEIsT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHO0lBTHRCLFlBQ21CLGlCQUFpQixFQUFFLFdBQVcsRUFDOUIsU0FBUyxFQUFFLFNBQVMsRUFDcEIsaUJBQWlCLEVBQUUsaUJBQWlCLEVBQ3BDLEtBQUssRUFBRSxNQUFNLEVBQ2IsR0FBRyx5Q0FBb0MsRUFDdEQ7SUFFUyxxQkFBcUIsQ0FDaEMsZUFBZSxFQUFFLFlBQVksRUFDN0IsUUFBUSxFQUFFLGFBQWEsRUFDdkIsVUFBVSxFQUFFLEVBQUUsRUFDZCxPQUFPLEVBQUUsRUFBRSxFQUFFLEVBQ2IsZUFBZSxFQUFFLEVBQUUsRUFDbkIsTUFBTSxFQUFFLE1BQU0sRUFDZCxLQUFLLEVBQUUsWUFBWSxHQUNsQixPQUFPLENBQUMsSUFBSSxDQUFDLENBbUVmO0NBQ0YifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"event_service.d.ts","sourceRoot":"","sources":["../../src/events/event_service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAEhE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uDAAuD,CAAC;AAE1F,qBAAa,YAAY;IAErB,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,GAAG;IALtB,YACmB,iBAAiB,EAAE,WAAW,EAC9B,SAAS,EAAE,SAAS,EACpB,iBAAiB,EAAE,iBAAiB,EACpC,KAAK,EAAE,MAAM,EACb,GAAG,yCAAoC,EACtD;IAES,qBAAqB,CAChC,eAAe,EAAE,YAAY,EAC7B,QAAQ,EAAE,aAAa,EACvB,UAAU,EAAE,EAAE,EACd,OAAO,EAAE,EAAE,EAAE,EACb,eAAe,EAAE,EAAE,EACnB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,YAAY,GAClB,OAAO,CAAC,IAAI,CAAC,CAuDf;CACF"}
1
+ {"version":3,"file":"event_service.d.ts","sourceRoot":"","sources":["../../src/events/event_service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAEhE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uDAAuD,CAAC;AAE1F,qBAAa,YAAY;IAErB,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,GAAG;IALtB,YACmB,iBAAiB,EAAE,WAAW,EAC9B,SAAS,EAAE,SAAS,EACpB,iBAAiB,EAAE,iBAAiB,EACpC,KAAK,EAAE,MAAM,EACb,GAAG,yCAAoC,EACtD;IAES,qBAAqB,CAChC,eAAe,EAAE,YAAY,EAC7B,QAAQ,EAAE,aAAa,EACvB,UAAU,EAAE,EAAE,EACd,OAAO,EAAE,EAAE,EAAE,EACb,eAAe,EAAE,EAAE,EACnB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,YAAY,GAClB,OAAO,CAAC,IAAI,CAAC,CAmEf;CACF"}
@@ -1,5 +1,5 @@
1
1
  import { createLogger } from '@aztec/foundation/log';
2
- import { siloNullifier } from '@aztec/stdlib/hash';
2
+ import { computePrivateEventCommitment, siloNullifier } from '@aztec/stdlib/hash';
3
3
  export class EventService {
4
4
  anchorBlockHeader;
5
5
  aztecNode;
@@ -14,6 +14,15 @@ export class EventService {
14
14
  this.log = log;
15
15
  }
16
16
  async validateAndStoreEvent(contractAddress, selector, randomness, content, eventCommitment, txHash, scope) {
17
+ // Defense-in-depth: the built-in private-event path derives this commitment from content before enqueueing, but
18
+ // unconstrained PXE-side code (e.g. a custom message handler) can reach this oracle with arbitrary
19
+ // (content, commitment) pairs. Without this check it could bind arbitrary content to a legitimate tx nullifier,
20
+ // causing PXE to surface fabricated event data.
21
+ const recomputedCommitment = await computePrivateEventCommitment(randomness, selector.toField(), content);
22
+ if (!recomputedCommitment.equals(eventCommitment)) {
23
+ this.log.warn(`Skipping event whose content does not hash to the provided commitment. contract=${contractAddress}, selector=${selector}, eventCommitment=${eventCommitment}, txHash=${txHash}, recomputedCommitment=${recomputedCommitment}`);
24
+ return;
25
+ }
17
26
  // While using 'latest' block number would be fine for private events since they cannot be accessed from Aztec.nr
18
27
  // (and thus we're less concerned about being ahead of the synced block), we use the synced block number to
19
28
  // maintain consistent behavior in the PXE. Additionally, events should never be ahead of the synced block here
@@ -2,8 +2,9 @@ import type { PrivateEventFilter } from '@aztec/aztec.js/wallet';
2
2
  import { BlockNumber } from '@aztec/foundation/branded-types';
3
3
  import type { PrivateEventStoreFilter } from '../storage/private_event_store/private_event_store.js';
4
4
  export declare class PrivateEventFilterValidator {
5
- private lastBlock;
5
+ private readonly lastBlock;
6
+ private readonly log;
6
7
  constructor(lastBlock: BlockNumber);
7
8
  validate(filter: PrivateEventFilter): PrivateEventStoreFilter;
8
9
  }
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpdmF0ZV9ldmVudF9maWx0ZXJfdmFsaWRhdG9yLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZXZlbnRzL3ByaXZhdGVfZXZlbnRfZmlsdGVyX3ZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRWpFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUU5RCxPQUFPLEtBQUssRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBRXJHLHFCQUFhLDJCQUEyQjtJQUMxQixPQUFPLENBQUMsU0FBUztJQUE3QixZQUFvQixTQUFTLEVBQUUsV0FBVyxFQUFJO0lBRTlDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsa0JBQWtCLEdBQUcsdUJBQXVCLENBbUM1RDtDQUNGIn0=
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpdmF0ZV9ldmVudF9maWx0ZXJfdmFsaWRhdG9yLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZXZlbnRzL3ByaXZhdGVfZXZlbnRfZmlsdGVyX3ZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRWpFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUc5RCxPQUFPLEtBQUssRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBRXJHLHFCQUFhLDJCQUEyQjtJQUcxQixPQUFPLENBQUMsUUFBUSxDQUFDLFNBQVM7SUFGdEMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQXNEO0lBRTFFLFlBQTZCLFNBQVMsRUFBRSxXQUFXLEVBQUk7SUFFdkQsUUFBUSxDQUFDLE1BQU0sRUFBRSxrQkFBa0IsR0FBRyx1QkFBdUIsQ0FvRDVEO0NBQ0YifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"private_event_filter_validator.d.ts","sourceRoot":"","sources":["../../src/events/private_event_filter_validator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAEjE,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAE9D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uDAAuD,CAAC;AAErG,qBAAa,2BAA2B;IAC1B,OAAO,CAAC,SAAS;IAA7B,YAAoB,SAAS,EAAE,WAAW,EAAI;IAE9C,QAAQ,CAAC,MAAM,EAAE,kBAAkB,GAAG,uBAAuB,CAmC5D;CACF"}
1
+ {"version":3,"file":"private_event_filter_validator.d.ts","sourceRoot":"","sources":["../../src/events/private_event_filter_validator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAEjE,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAG9D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uDAAuD,CAAC;AAErG,qBAAa,2BAA2B;IAG1B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAFtC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAsD;IAE1E,YAA6B,SAAS,EAAE,WAAW,EAAI;IAEvD,QAAQ,CAAC,MAAM,EAAE,kBAAkB,GAAG,uBAAuB,CAoD5D;CACF"}
@@ -1,9 +1,12 @@
1
1
  import { INITIAL_L2_BLOCK_NUM } from '@aztec/constants';
2
2
  import { BlockNumber } from '@aztec/foundation/branded-types';
3
+ import { createLogger } from '@aztec/foundation/log';
3
4
  export class PrivateEventFilterValidator {
4
5
  lastBlock;
6
+ log;
5
7
  constructor(lastBlock){
6
8
  this.lastBlock = lastBlock;
9
+ this.log = createLogger('pxe:private_event_filter_validator');
7
10
  }
8
11
  validate(filter) {
9
12
  let { fromBlock, toBlock } = filter;
@@ -27,6 +30,18 @@ export class PrivateEventFilterValidator {
27
30
  if (fromBlock >= toBlock) {
28
31
  throw new Error('toBlock must be strictly greater than fromBlock');
29
32
  }
33
+ // Cap the requested range to the synced block range. Without this, callers that pass a large
34
+ // toBlock (e.g. Number.MAX_SAFE_INTEGER as a "give me everything" idiom) would silently receive
35
+ // only the events that happen to be synced and believe they have complete coverage.
36
+ // We warn + cap rather than throw so callers don't need to query the last synced block before
37
+ // every request (which would also be unreliable, as the block can advance between the two calls).
38
+ const syncedUpperBound = BlockNumber(this.lastBlock + 1);
39
+ if (fromBlock >= syncedUpperBound) {
40
+ this.log.warn(`Requested fromBlock ${fromBlock} is past last synced block ${this.lastBlock}; no events will be returned until PXE syncs further.`);
41
+ } else if (toBlock > syncedUpperBound) {
42
+ this.log.warn(`Requested toBlock ${toBlock} exceeds last synced block ${this.lastBlock}; capping to ${syncedUpperBound}. Retry once PXE is further synced for complete coverage.`);
43
+ toBlock = syncedUpperBound;
44
+ }
30
45
  return {
31
46
  contractAddress: filter.contractAddress,
32
47
  scopes: filter.scopes,
@@ -1,4 +1,4 @@
1
1
  export declare const ORACLE_VERSION_MAJOR = 22;
2
- export declare const ORACLE_VERSION_MINOR = 1;
3
- export declare const ORACLE_INTERFACE_HASH = "efafa0db2cc1f94e26d794d0079c8f71115261df0c3d0fa8cb5b64f17a12db92";
2
+ export declare const ORACLE_VERSION_MINOR = 2;
3
+ export declare const ORACLE_INTERFACE_HASH = "193fe3f9fee6a84d26803e636c9746dd805a4f389d44a0618de75c2c5eb4912e";
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 = 22;
14
- export const ORACLE_VERSION_MINOR = 1;
14
+ export const ORACLE_VERSION_MINOR = 2;
15
15
  /// This hash is computed from the Oracle interface and is used to detect when that interface changes. When it does,
16
16
  /// 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 = 'efafa0db2cc1f94e26d794d0079c8f71115261df0c3d0fa8cb5b64f17a12db92';
21
+ export const ORACLE_INTERFACE_HASH = '193fe3f9fee6a84d26803e636c9746dd805a4f389d44a0618de75c2c5eb4912e';
@@ -42,4 +42,4 @@ export declare class PrivateKernelExecutionProver {
42
42
  private getVkData;
43
43
  private createPrivateCallData;
44
44
  }
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpdmF0ZV9rZXJuZWxfZXhlY3V0aW9uX3Byb3Zlci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3ByaXZhdGVfa2VybmVsL3ByaXZhdGVfa2VybmVsX2V4ZWN1dGlvbl9wcm92ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFlLEtBQUssY0FBYyxFQUFnQixNQUFNLHVCQUF1QixDQUFDO0FBTXZGLE9BQU8sS0FBSyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDM0UsT0FBTyxFQVFMLEtBQUssaUNBQWlDLEVBS3RDLEtBQUssb0NBQW9DLEVBRTFDLE1BQU0sc0JBQXNCLENBQUM7QUFFOUIsT0FBTyxFQUVMLEtBQUssc0JBQXNCLEVBQzNCLFNBQVMsRUFHVixNQUFNLGtCQUFrQixDQUFDO0FBSTFCLE9BQU8sS0FBSyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFTdEUsTUFBTSxXQUFXLGtDQUFrQztJQUNqRCxRQUFRLEVBQUUsT0FBTyxDQUFDO0lBQ2xCLGtCQUFrQixFQUFFLE9BQU8sQ0FBQztJQUM1QixXQUFXLEVBQUUsT0FBTyxHQUFHLGlCQUFpQixHQUFHLE1BQU0sR0FBRyxNQUFNLENBQUM7Q0FDNUQ7QUFFRDs7Ozs7R0FLRztBQUNILHFCQUFhLDRCQUE0QjtJQUlyQyxPQUFPLENBQUMsTUFBTTtJQUNkLE9BQU8sQ0FBQyxZQUFZO0lBQ3BCLE9BQU8sQ0FBQyxVQUFVO0lBTHBCLE9BQU8sQ0FBQyxHQUFHLENBQVM7SUFFcEIsWUFDVSxNQUFNLEVBQUUsbUJBQW1CLEVBQzNCLFlBQVksRUFBRSxtQkFBbUIsRUFDakMsVUFBVSxVQUFRLEVBQzFCLFFBQVEsQ0FBQyxFQUFFLGNBQWMsRUFHMUI7SUFFRDs7Ozs7Ozs7OztPQVVHO0lBQ0csZ0JBQWdCLENBQ3BCLFNBQVMsRUFBRSxTQUFTLEVBQ3BCLGVBQWUsRUFBRSxzQkFBc0IsRUFDdkMsRUFBRSxRQUFRLEVBQUUsa0JBQWtCLEVBQUUsV0FBVyxFQUFFLEdBQUUsa0NBSTlDLEdBQ0EsT0FBTyxDQUFDLGlDQUFpQyxDQUFDLG9DQUFvQyxDQUFDLENBQUMsQ0EyUmxGO0lBRUQ7Ozs7O09BS0c7SUFDSCxPQUFPLENBQUMsdUJBQXVCO1lBb0JqQixTQUFTO1lBU1QscUJBQXFCO0NBK0JwQyJ9
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpdmF0ZV9rZXJuZWxfZXhlY3V0aW9uX3Byb3Zlci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3ByaXZhdGVfa2VybmVsL3ByaXZhdGVfa2VybmVsX2V4ZWN1dGlvbl9wcm92ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFlLEtBQUssY0FBYyxFQUFnQixNQUFNLHVCQUF1QixDQUFDO0FBTXZGLE9BQU8sS0FBSyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDM0UsT0FBTyxFQVFMLEtBQUssaUNBQWlDLEVBS3RDLEtBQUssb0NBQW9DLEVBRTFDLE1BQU0sc0JBQXNCLENBQUM7QUFFOUIsT0FBTyxFQUVMLEtBQUssc0JBQXNCLEVBQzNCLFNBQVMsRUFHVixNQUFNLGtCQUFrQixDQUFDO0FBSzFCLE9BQU8sS0FBSyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFTdEUsTUFBTSxXQUFXLGtDQUFrQztJQUNqRCxRQUFRLEVBQUUsT0FBTyxDQUFDO0lBQ2xCLGtCQUFrQixFQUFFLE9BQU8sQ0FBQztJQUM1QixXQUFXLEVBQUUsT0FBTyxHQUFHLGlCQUFpQixHQUFHLE1BQU0sR0FBRyxNQUFNLENBQUM7Q0FDNUQ7QUFFRDs7Ozs7R0FLRztBQUNILHFCQUFhLDRCQUE0QjtJQUlyQyxPQUFPLENBQUMsTUFBTTtJQUNkLE9BQU8sQ0FBQyxZQUFZO0lBQ3BCLE9BQU8sQ0FBQyxVQUFVO0lBTHBCLE9BQU8sQ0FBQyxHQUFHLENBQVM7SUFFcEIsWUFDVSxNQUFNLEVBQUUsbUJBQW1CLEVBQzNCLFlBQVksRUFBRSxtQkFBbUIsRUFDakMsVUFBVSxVQUFRLEVBQzFCLFFBQVEsQ0FBQyxFQUFFLGNBQWMsRUFHMUI7SUFFRDs7Ozs7Ozs7OztPQVVHO0lBQ0csZ0JBQWdCLENBQ3BCLFNBQVMsRUFBRSxTQUFTLEVBQ3BCLGVBQWUsRUFBRSxzQkFBc0IsRUFDdkMsRUFBRSxRQUFRLEVBQUUsa0JBQWtCLEVBQUUsV0FBVyxFQUFFLEdBQUUsa0NBSTlDLEdBQ0EsT0FBTyxDQUFDLGlDQUFpQyxDQUFDLG9DQUFvQyxDQUFDLENBQUMsQ0FxUmxGO0lBRUQ7Ozs7O09BS0c7SUFDSCxPQUFPLENBQUMsdUJBQXVCO1lBb0JqQixTQUFTO1lBU1QscUJBQXFCO0NBK0JwQyJ9
@@ -1 +1 @@
1
- {"version":3,"file":"private_kernel_execution_prover.d.ts","sourceRoot":"","sources":["../../src/private_kernel/private_kernel_execution_prover.ts"],"names":[],"mappings":"AAEA,OAAO,EAAe,KAAK,cAAc,EAAgB,MAAM,uBAAuB,CAAC;AAMvF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAQL,KAAK,iCAAiC,EAKtC,KAAK,oCAAoC,EAE1C,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAEL,KAAK,sBAAsB,EAC3B,SAAS,EAGV,MAAM,kBAAkB,CAAC;AAI1B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAStE,MAAM,WAAW,kCAAkC;IACjD,QAAQ,EAAE,OAAO,CAAC;IAClB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,WAAW,EAAE,OAAO,GAAG,iBAAiB,GAAG,MAAM,GAAG,MAAM,CAAC;CAC5D;AAED;;;;;GAKG;AACH,qBAAa,4BAA4B;IAIrC,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,UAAU;IALpB,OAAO,CAAC,GAAG,CAAS;IAEpB,YACU,MAAM,EAAE,mBAAmB,EAC3B,YAAY,EAAE,mBAAmB,EACjC,UAAU,UAAQ,EAC1B,QAAQ,CAAC,EAAE,cAAc,EAG1B;IAED;;;;;;;;;;OAUG;IACG,gBAAgB,CACpB,SAAS,EAAE,SAAS,EACpB,eAAe,EAAE,sBAAsB,EACvC,EAAE,QAAQ,EAAE,kBAAkB,EAAE,WAAW,EAAE,GAAE,kCAI9C,GACA,OAAO,CAAC,iCAAiC,CAAC,oCAAoC,CAAC,CAAC,CA2RlF;IAED;;;;;OAKG;IACH,OAAO,CAAC,uBAAuB;YAoBjB,SAAS;YAST,qBAAqB;CA+BpC"}
1
+ {"version":3,"file":"private_kernel_execution_prover.d.ts","sourceRoot":"","sources":["../../src/private_kernel/private_kernel_execution_prover.ts"],"names":[],"mappings":"AAEA,OAAO,EAAe,KAAK,cAAc,EAAgB,MAAM,uBAAuB,CAAC;AAMvF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAQL,KAAK,iCAAiC,EAKtC,KAAK,oCAAoC,EAE1C,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAEL,KAAK,sBAAsB,EAC3B,SAAS,EAGV,MAAM,kBAAkB,CAAC;AAK1B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAStE,MAAM,WAAW,kCAAkC;IACjD,QAAQ,EAAE,OAAO,CAAC;IAClB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,WAAW,EAAE,OAAO,GAAG,iBAAiB,GAAG,MAAM,GAAG,MAAM,CAAC;CAC5D;AAED;;;;;GAKG;AACH,qBAAa,4BAA4B;IAIrC,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,UAAU;IALpB,OAAO,CAAC,GAAG,CAAS;IAEpB,YACU,MAAM,EAAE,mBAAmB,EAC3B,YAAY,EAAE,mBAAmB,EACjC,UAAU,UAAQ,EAC1B,QAAQ,CAAC,EAAE,cAAc,EAG1B;IAED;;;;;;;;;;OAUG;IACG,gBAAgB,CACpB,SAAS,EAAE,SAAS,EACpB,eAAe,EAAE,sBAAsB,EACvC,EAAE,QAAQ,EAAE,kBAAkB,EAAE,WAAW,EAAE,GAAE,kCAI9C,GACA,OAAO,CAAC,iCAAiC,CAAC,oCAAoC,CAAC,CAAC,CAqRlF;IAED;;;;;OAKG;IACH,OAAO,CAAC,uBAAuB;YAoBjB,SAAS;YAST,qBAAqB;CA+BpC"}
@@ -10,6 +10,7 @@ import { HidingKernelToPublicPrivateInputs, HidingKernelToRollupPrivateInputs, P
10
10
  import { ChonkProof } from '@aztec/stdlib/proofs';
11
11
  import { collectNoteHashNullifierCounterMap, getFinalMinRevertibleSideEffectCounter } from '@aztec/stdlib/tx';
12
12
  import { VerificationKeyAsFields, VerificationKeyData, VkData } from '@aztec/stdlib/vks';
13
+ import { computeTxExpirationTimestamp } from './hints/compute_tx_expiration_timestamp.js';
13
14
  import { PrivateKernelResetPrivateInputsBuilder } from './hints/private_kernel_reset_private_inputs_builder.js';
14
15
  const NULL_SIMULATE_OUTPUT = {
15
16
  publicInputs: PrivateKernelCircuitPublicInputs.empty(),
@@ -169,13 +170,9 @@ const NULL_SIMULATE_OUTPUT = {
169
170
  this.log.debug(`Calling private kernel tail with hwm ${previousKernelData.publicInputs.minRevertibleSideEffectCounter}`);
170
171
  // TODO: Enable padding once we better understand the final amounts to pad to.
171
172
  const paddedSideEffectAmounts = PaddedSideEffectAmounts.empty();
172
- // Use the aggregated expirationTimestamp set throughout the tx execution.
173
- // TODO: Call `computeTxExpirationTimestamp` to round the value down and reduce precision, improving privacy.
174
- const expirationTimestampUpperBound = previousKernelData.publicInputs.expirationTimestamp;
175
- const anchorBlockTimestamp = previousKernelData.publicInputs.constants.anchorBlockHeader.globalVariables.timestamp;
176
- if (expirationTimestampUpperBound <= anchorBlockTimestamp) {
177
- throw new Error(`Include-by timestamp must be greater than the anchor block timestamp. Anchor block timestamp: ${anchorBlockTimestamp}. Include-by timestamp: ${expirationTimestampUpperBound}.`);
178
- }
173
+ // Round the aggregated expirationTimestamp down to reduce precision and avoid leaking which private
174
+ // functions were called via their exact expiration offsets.
175
+ const expirationTimestampUpperBound = computeTxExpirationTimestamp(previousKernelData.publicInputs);
179
176
  const privateInputs = new PrivateKernelTailCircuitPrivateInputs(previousKernelData, paddedSideEffectAmounts, expirationTimestampUpperBound);
180
177
  const witgenTimer = new Timer();
181
178
  const tailOutput = generateWitnesses ? await this.proofCreator.generateTailOutput(privateInputs) : await this.proofCreator.simulateTail(privateInputs);