@aztec/txe 0.0.1-commit.2f68f620 → 0.0.1-commit.3100065

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 (131) hide show
  1. package/dest/AuthRegistry-FSRZIMX6.js +3 -0
  2. package/dest/AuthRegistry-FSRZIMX6.js.map +7 -0
  3. package/dest/ContractClassRegistry-N6NA3SFA.js +3 -0
  4. package/dest/ContractClassRegistry-N6NA3SFA.js.map +7 -0
  5. package/dest/ContractInstanceRegistry-NADDSLGL.js +3 -0
  6. package/dest/ContractInstanceRegistry-NADDSLGL.js.map +7 -0
  7. package/dest/FeeJuice-QBH5JWJV.js +3 -0
  8. package/dest/FeeJuice-QBH5JWJV.js.map +7 -0
  9. package/dest/HandshakeRegistry-KKUEU7XW.js +3 -0
  10. package/dest/HandshakeRegistry-KKUEU7XW.js.map +7 -0
  11. package/dest/MultiCallEntrypoint-TGICA67H.js +3 -0
  12. package/dest/MultiCallEntrypoint-TGICA67H.js.map +7 -0
  13. package/dest/SchnorrAccount-J5T6OKR3.js +3 -0
  14. package/dest/SchnorrAccount-J5T6OKR3.js.map +7 -0
  15. package/dest/SchnorrInitializerlessAccount-OOES6Q4F.js +3 -0
  16. package/dest/SchnorrInitializerlessAccount-OOES6Q4F.js.map +7 -0
  17. package/dest/bin/index.js +1 -1
  18. package/dest/bin/oracle_test_server.js +2 -2
  19. package/dest/{chunk-W2NSX64C.js → chunk-PDOEF22H.js} +2 -2
  20. package/dest/{chunk-W2NSX64C.js.map → chunk-PDOEF22H.js.map} +3 -3
  21. package/dest/chunk-YP4ODNMQ.js +268 -0
  22. package/dest/chunk-YP4ODNMQ.js.map +7 -0
  23. package/dest/constants.d.ts +1 -1
  24. package/dest/constants.d.ts.map +1 -1
  25. package/dest/constants.js +1 -1
  26. package/dest/dispatcher_pool.d.ts +2 -2
  27. package/dest/dispatcher_pool.d.ts.map +1 -1
  28. package/dest/dispatcher_pool.js +5 -3
  29. package/dest/index.d.ts +2 -136
  30. package/dest/index.d.ts.map +1 -1
  31. package/dest/index.js +5 -3
  32. package/dest/metafile.json +10346 -7008
  33. package/dest/oracle/interfaces.d.ts +19 -10
  34. package/dest/oracle/interfaces.d.ts.map +1 -1
  35. package/dest/oracle/tagging_secret_strategy.d.ts +12 -0
  36. package/dest/oracle/tagging_secret_strategy.d.ts.map +1 -0
  37. package/dest/oracle/tagging_secret_strategy.js +12 -0
  38. package/dest/oracle/test-resolver/default_fixtures.d.ts +9 -0
  39. package/dest/oracle/test-resolver/default_fixtures.d.ts.map +1 -0
  40. package/dest/oracle/test-resolver/default_fixtures.js +207 -0
  41. package/dest/oracle/test-resolver/index.d.ts +1 -1
  42. package/dest/oracle/test-resolver/index.d.ts.map +1 -1
  43. package/dest/oracle/test-resolver/index.js +1 -2
  44. package/dest/oracle/test-resolver/resolver.d.ts +21 -7
  45. package/dest/oracle/test-resolver/resolver.d.ts.map +1 -1
  46. package/dest/oracle/test-resolver/resolver.js +100 -33
  47. package/dest/oracle/txe_oracle_public_context.d.ts +9 -9
  48. package/dest/oracle/txe_oracle_public_context.d.ts.map +1 -1
  49. package/dest/oracle/txe_oracle_public_context.js +15 -9
  50. package/dest/oracle/txe_oracle_registry.d.ts +47 -24
  51. package/dest/oracle/txe_oracle_registry.d.ts.map +1 -1
  52. package/dest/oracle/txe_oracle_registry.js +221 -34
  53. package/dest/oracle/txe_oracle_top_level_context.d.ts +16 -8
  54. package/dest/oracle/txe_oracle_top_level_context.d.ts.map +1 -1
  55. package/dest/oracle/txe_oracle_top_level_context.js +116 -54
  56. package/dest/oracle/txe_oracle_version.d.ts +3 -3
  57. package/dest/oracle/txe_oracle_version.js +3 -3
  58. package/dest/rpc_translator.d.ts +21 -4
  59. package/dest/rpc_translator.d.ts.map +1 -1
  60. package/dest/rpc_translator.js +150 -80
  61. package/dest/server.bundle.js +1 -1
  62. package/dest/state_machine/archiver.d.ts +1 -1
  63. package/dest/state_machine/archiver.d.ts.map +1 -1
  64. package/dest/state_machine/archiver.js +1 -2
  65. package/dest/state_machine/dummy_p2p_client.d.ts +5 -2
  66. package/dest/state_machine/dummy_p2p_client.d.ts.map +1 -1
  67. package/dest/state_machine/dummy_p2p_client.js +9 -0
  68. package/dest/state_machine/global_variable_builder.d.ts +3 -4
  69. package/dest/state_machine/global_variable_builder.d.ts.map +1 -1
  70. package/dest/state_machine/global_variable_builder.js +0 -3
  71. package/dest/state_machine/index.d.ts +8 -6
  72. package/dest/state_machine/index.d.ts.map +1 -1
  73. package/dest/state_machine/index.js +41 -19
  74. package/dest/state_machine/synchronizer.d.ts +5 -2
  75. package/dest/state_machine/synchronizer.d.ts.map +1 -1
  76. package/dest/state_machine/synchronizer.js +6 -2
  77. package/dest/txe_session.d.ts +26 -18
  78. package/dest/txe_session.d.ts.map +1 -1
  79. package/dest/txe_session.js +148 -38
  80. package/dest/utils/block_creation.d.ts +2 -2
  81. package/dest/utils/block_creation.d.ts.map +1 -1
  82. package/dest/utils/block_creation.js +2 -2
  83. package/dest/utils/encoding.d.ts +4 -3
  84. package/dest/utils/encoding.d.ts.map +1 -1
  85. package/dest/utils/tx_effect_creation.d.ts +1 -1
  86. package/dest/utils/tx_effect_creation.d.ts.map +1 -1
  87. package/dest/utils/tx_effect_creation.js +0 -1
  88. package/dest/utils/txe_public_contract_data_source.d.ts +1 -1
  89. package/dest/utils/txe_public_contract_data_source.d.ts.map +1 -1
  90. package/dest/utils/txe_public_contract_data_source.js +7 -4
  91. package/dest/worker.bundle.js +1 -1
  92. package/package.json +17 -17
  93. package/src/bin/oracle_test_server.ts +2 -2
  94. package/src/constants.ts +1 -1
  95. package/src/dispatcher_pool.ts +4 -3
  96. package/src/index.ts +6 -4
  97. package/src/oracle/interfaces.ts +21 -8
  98. package/src/oracle/tagging_secret_strategy.ts +25 -0
  99. package/src/oracle/test-resolver/default_fixtures.ts +282 -0
  100. package/src/oracle/test-resolver/index.ts +1 -2
  101. package/src/oracle/test-resolver/resolver.ts +121 -41
  102. package/src/oracle/txe_oracle_public_context.ts +16 -14
  103. package/src/oracle/txe_oracle_registry.ts +154 -16
  104. package/src/oracle/txe_oracle_top_level_context.ts +157 -55
  105. package/src/oracle/txe_oracle_version.ts +3 -3
  106. package/src/rpc_translator.ts +205 -107
  107. package/src/state_machine/archiver.ts +0 -1
  108. package/src/state_machine/dummy_p2p_client.ts +13 -0
  109. package/src/state_machine/global_variable_builder.ts +2 -16
  110. package/src/state_machine/index.ts +50 -34
  111. package/src/state_machine/synchronizer.ts +8 -2
  112. package/src/txe_session.ts +263 -42
  113. package/src/utils/block_creation.ts +2 -1
  114. package/src/utils/tx_effect_creation.ts +0 -2
  115. package/src/utils/txe_public_contract_data_source.ts +6 -4
  116. package/dest/ContractClassRegistry-PII7Q556.js +0 -3
  117. package/dest/ContractClassRegistry-PII7Q556.js.map +0 -7
  118. package/dest/ContractInstanceRegistry-3MHLGFNZ.js +0 -3
  119. package/dest/ContractInstanceRegistry-3MHLGFNZ.js.map +0 -7
  120. package/dest/FeeJuice-TQV5AQK7.js +0 -3
  121. package/dest/FeeJuice-TQV5AQK7.js.map +0 -7
  122. package/dest/MultiCallEntrypoint-SBJUIJY7.js +0 -3
  123. package/dest/MultiCallEntrypoint-SBJUIJY7.js.map +0 -7
  124. package/dest/SchnorrAccount-MQXPIZ44.js +0 -3
  125. package/dest/SchnorrAccount-MQXPIZ44.js.map +0 -7
  126. package/dest/chunk-CDITIZHX.js +0 -257
  127. package/dest/chunk-CDITIZHX.js.map +0 -7
  128. package/dest/oracle/test-resolver/fixtures.d.ts +0 -43
  129. package/dest/oracle/test-resolver/fixtures.d.ts.map +0 -1
  130. package/dest/oracle/test-resolver/fixtures.js +0 -39
  131. package/src/oracle/test-resolver/fixtures.ts +0 -84
@@ -3,8 +3,8 @@ import { Fr } from '@aztec/foundation/curves/bn254';
3
3
  import { createLogger } from '@aztec/foundation/log';
4
4
  import { KeyStore } from '@aztec/key-store';
5
5
  import { openEphemeralStore } from '@aztec/kv-store/lmdb-v2';
6
- import { AddressStore, AnchorBlockStore, CapsuleService, CapsuleStore, JobCoordinator, NoteService, NoteStore, PrivateEventStore, RecipientTaggingStore, SenderAddressBookStore, SenderTaggingStore } from '@aztec/pxe/server';
7
- import { ExecutionNoteCache, ExecutionTaggingIndexCache, HashedValuesCache, Oracle, UtilityExecutionOracle } from '@aztec/pxe/simulator';
6
+ import { AddressStore, AnchorBlockStore, AnchoredContractData, CapsuleService, CapsuleStore, FactService, FactStore, JobCoordinator, NoteService, NoteStore, PrivateEventStore, RecipientTaggingStore, SenderTaggingStore, TaggingSecretSourcesStore, composeHooks } from '@aztec/pxe/server';
7
+ import { ExecutionNoteCache, ExecutionTaggingIndexCache, HashedValuesCache, LEGACY_ORACLE_REGISTRY, TransientArrayService, UtilityExecutionOracle, buildACIRCallback } from '@aztec/pxe/simulator';
8
8
  import { ExecutionError, WASMSimulator, createSimulationError, extractCallStack, resolveAssertionMessageFromError, toACVMWitness } from '@aztec/simulator/client';
9
9
  import { STANDARD_AUTH_REGISTRY_ADDRESS } from '@aztec/standard-contracts/auth-registry/constants';
10
10
  import { FunctionSelector, FunctionType } from '@aztec/stdlib/abi';
@@ -14,11 +14,13 @@ import { makeGlobalVariables } from '@aztec/stdlib/testing';
14
14
  import { CallContext, OFFCHAIN_MESSAGE_IDENTIFIER, TxContext } from '@aztec/stdlib/tx';
15
15
  import { z } from 'zod';
16
16
  import { DEFAULT_ADDRESS, MAX_OFFCHAIN_EFFECTS_PER_TXE_QUERY, MAX_OFFCHAIN_EFFECT_LEN } from './constants.js';
17
+ import { makeResolveTaggingSecretStrategyHook } from './oracle/tagging_secret_strategy.js';
17
18
  import { TXEOraclePublicContext } from './oracle/txe_oracle_public_context.js';
19
+ import { callTxeLegacyHandler } from './oracle/txe_oracle_registry.js';
18
20
  import { TXEOracleTopLevelContext } from './oracle/txe_oracle_top_level_context.js';
19
21
  import { TXE_ORACLE_VERSION_MAJOR, TXE_ORACLE_VERSION_MINOR } from './oracle/txe_oracle_version.js';
20
22
  import { TXEPrivateExecutionOracle } from './oracle/txe_private_execution_oracle.js';
21
- import { RPCTranslator } from './rpc_translator.js';
23
+ import { RPCTranslator, UnavailableOracleError } from './rpc_translator.js';
22
24
  import { TXEArchiver } from './state_machine/archiver.js';
23
25
  import { TXEStateMachine } from './state_machine/index.js';
24
26
  import { getSingleTxBlockRequestHash, insertTxEffectIntoWorldTrees, makeTXEBlock } from './utils/block_creation.js';
@@ -47,8 +49,9 @@ function emptyLastCallState() {
47
49
  accountStore;
48
50
  senderTaggingStore;
49
51
  recipientTaggingStore;
50
- senderAddressBookStore;
52
+ taggingSecretSourcesStore;
51
53
  capsuleStore;
54
+ factStore;
52
55
  privateEventStore;
53
56
  jobCoordinator;
54
57
  currentJobId;
@@ -60,10 +63,11 @@ function emptyLastCallState() {
60
63
  packageName;
61
64
  state;
62
65
  authwits;
66
+ taggingSecretStrategies;
63
67
  lastCallInfo;
64
68
  txeOracleVersion;
65
69
  disposed;
66
- constructor(logger, sessionStore, stateMachine, oracleHandler, contractStore, noteStore, keyStore, addressStore, accountStore, senderTaggingStore, recipientTaggingStore, senderAddressBookStore, capsuleStore, privateEventStore, jobCoordinator, currentJobId, chainId, version, nextBlockTimestamp, artifactResolver, rootPath, packageName){
70
+ constructor(logger, sessionStore, stateMachine, oracleHandler, contractStore, noteStore, keyStore, addressStore, accountStore, senderTaggingStore, recipientTaggingStore, taggingSecretSourcesStore, capsuleStore, factStore, privateEventStore, jobCoordinator, currentJobId, chainId, version, nextBlockTimestamp, artifactResolver, rootPath, packageName){
67
71
  this.logger = logger;
68
72
  this.sessionStore = sessionStore;
69
73
  this.stateMachine = stateMachine;
@@ -75,8 +79,9 @@ function emptyLastCallState() {
75
79
  this.accountStore = accountStore;
76
80
  this.senderTaggingStore = senderTaggingStore;
77
81
  this.recipientTaggingStore = recipientTaggingStore;
78
- this.senderAddressBookStore = senderAddressBookStore;
82
+ this.taggingSecretSourcesStore = taggingSecretSourcesStore;
79
83
  this.capsuleStore = capsuleStore;
84
+ this.factStore = factStore;
80
85
  this.privateEventStore = privateEventStore;
81
86
  this.jobCoordinator = jobCoordinator;
82
87
  this.currentJobId = currentJobId;
@@ -90,6 +95,7 @@ function emptyLastCallState() {
90
95
  name: 'TOP_LEVEL'
91
96
  };
92
97
  this.authwits = new Map();
98
+ this.taggingSecretStrategies = new Map();
93
99
  this.lastCallInfo = emptyLastCallState();
94
100
  this.disposed = false;
95
101
  }
@@ -123,13 +129,15 @@ function emptyLastCallState() {
123
129
  const noteStore = new NoteStore(store);
124
130
  const senderTaggingStore = new SenderTaggingStore(store);
125
131
  const recipientTaggingStore = new RecipientTaggingStore(store);
126
- const senderAddressBookStore = new SenderAddressBookStore(store);
132
+ const taggingSecretSourcesStore = new TaggingSecretSourcesStore(store);
127
133
  const capsuleStore = new CapsuleStore(store);
134
+ const factStore = new FactStore(store);
128
135
  const keyStore = new KeyStore(store);
129
136
  const accountStore = new TXEAccountStore(store);
130
137
  const jobCoordinator = new JobCoordinator(store);
131
138
  jobCoordinator.registerStores([
132
139
  capsuleStore,
140
+ factStore,
133
141
  senderTaggingStore,
134
142
  recipientTaggingStore,
135
143
  privateEventStore,
@@ -143,11 +151,11 @@ function emptyLastCallState() {
143
151
  const chainId = new Fr(await stateMachine.node.getChainId());
144
152
  const initialJobId = jobCoordinator.beginJob();
145
153
  const logger = createLogger('txe:session');
146
- const topLevelOracleHandler = new TXEOracleTopLevelContext(stateMachine, contractStore, noteStore, keyStore, addressStore, accountStore, senderTaggingStore, recipientTaggingStore, senderAddressBookStore, capsuleStore, privateEventStore, nextBlockTimestamp, version, chainId, new Map(), artifactResolver, rootPath, packageName);
154
+ const topLevelOracleHandler = new TXEOracleTopLevelContext(stateMachine, contractStore, noteStore, keyStore, addressStore, accountStore, senderTaggingStore, recipientTaggingStore, taggingSecretSourcesStore, capsuleStore, factStore, privateEventStore, nextBlockTimestamp, version, chainId, new Map(), new Map(), artifactResolver, rootPath, packageName);
147
155
  await topLevelOracleHandler.mineDeploymentNullifiers([
148
156
  STANDARD_AUTH_REGISTRY_ADDRESS
149
157
  ]);
150
- return new TXESession(logger, store, stateMachine, topLevelOracleHandler, contractStore, noteStore, keyStore, addressStore, accountStore, senderTaggingStore, recipientTaggingStore, senderAddressBookStore, capsuleStore, privateEventStore, jobCoordinator, initialJobId, version, chainId, nextBlockTimestamp, artifactResolver, rootPath, packageName);
158
+ return new TXESession(logger, store, stateMachine, topLevelOracleHandler, contractStore, noteStore, keyStore, addressStore, accountStore, senderTaggingStore, recipientTaggingStore, taggingSecretSourcesStore, capsuleStore, factStore, privateEventStore, jobCoordinator, initialJobId, version, chainId, nextBlockTimestamp, artifactResolver, rootPath, packageName);
151
159
  }
152
160
  /**
153
161
  * Processes an oracle function invoked by the Noir test associated to this session.
@@ -156,6 +164,13 @@ function emptyLastCallState() {
156
164
  * @returns The oracle return values.
157
165
  */ processFunction(functionName, inputs) {
158
166
  try {
167
+ // Oracles retired into the PXE legacy registry have no translator method; dispatch them through the same
168
+ // buildACIRCallback legacy path that contract execution uses, keeping TXE's two oracle paths in sync.
169
+ // Use an own-property check: `in` would match inherited `Object.prototype` keys (e.g. `constructor`), routing
170
+ // them into the legacy path instead of letting them fall through to the unknown-oracle error.
171
+ if (Object.hasOwn(LEGACY_ORACLE_REGISTRY, functionName)) {
172
+ return callTxeLegacyHandler(functionName, inputs, this.oracleHandler);
173
+ }
159
174
  const translator = new RPCTranslator(this, this.oracleHandler);
160
175
  // We perform a runtime validation to check that the function name corresponds to a real oracle handler.
161
176
  const validatedFunctionName = z.string().refine((fn)=>typeof translator[fn] === 'function' && !fn.startsWith('handlerAs') && fn !== 'constructor').parse(functionName);
@@ -178,9 +193,6 @@ function emptyLastCallState() {
178
193
  }
179
194
  }
180
195
  }
181
- getCurrentJob() {
182
- return this.currentJobId;
183
- }
184
196
  /** Commits the current job and begins a new one. Returns the new job ID. */ async cycleJob() {
185
197
  await this.jobCoordinator.commitJob(this.currentJobId);
186
198
  this.currentJobId = this.jobCoordinator.beginJob();
@@ -229,6 +241,73 @@ function emptyLastCallState() {
229
241
  anchorBlockTimestamp
230
242
  };
231
243
  }
244
+ async executePrivateCall(from, targetContractAddress, functionSelector, args, argsHash, isStaticCall, additionalScopes, authorizedUtilityCallTargets, gasSettings) {
245
+ const handler = this.handlerAsTxe();
246
+ return await this.withTopLevelCallTracking(async ()=>{
247
+ const { returnValues, offchainEffects } = await handler.privateCallNewFlow(from?.value, targetContractAddress, functionSelector, args, argsHash, isStaticCall, additionalScopes, this.currentJobId, authorizedUtilityCallTargets, gasSettings);
248
+ // Private execution collects offchain effects inside PXE's PrivateExecutionOracle rather than round-tripping
249
+ // them through `aztec_utl_emitOffchainEffect`, so the session buffer is empty at this point. Drain the effects
250
+ // from the execution tree into the session buffer so the next `env.offchain_messages()` call in the test sees
251
+ // them.
252
+ for (const data of offchainEffects){
253
+ this.recordOffchainEffect(data);
254
+ }
255
+ await this.cycleJob();
256
+ if (isStaticCall) {
257
+ // Static calls revert their checkpoint and mine no block, so there is no tx hash to tag offchain effects
258
+ // with. Querying `getLastTxEffects()` here would return an unrelated predecessor tx.
259
+ return {
260
+ result: returnValues
261
+ };
262
+ }
263
+ const { txHash } = await handler.getLastTxEffects();
264
+ return {
265
+ result: returnValues,
266
+ txHash: txHash.hash
267
+ };
268
+ });
269
+ }
270
+ async executeUtilityFunction(from, targetContractAddress, functionSelector, args, authorizedUtilityCallTargets) {
271
+ const handler = this.handlerAsTxe();
272
+ return await this.withTopLevelCallTracking(async ()=>{
273
+ const returnValues = await handler.executeUtilityFunction(from?.value, targetContractAddress, functionSelector, args, this.currentJobId, authorizedUtilityCallTargets);
274
+ await this.cycleJob();
275
+ return {
276
+ result: returnValues
277
+ };
278
+ });
279
+ }
280
+ async executePublicCall(from, targetContractAddress, calldata, isStaticCall, gasSettings) {
281
+ const handler = this.handlerAsTxe();
282
+ return await this.withTopLevelCallTracking(async ()=>{
283
+ const returnValues = await handler.publicCallNewFlow(from?.value, targetContractAddress, calldata, isStaticCall, gasSettings);
284
+ await this.cycleJob();
285
+ if (isStaticCall) {
286
+ // See the equivalent branch in `executePrivateCall`.
287
+ return {
288
+ result: returnValues
289
+ };
290
+ }
291
+ const { txHash } = await handler.getLastTxEffects();
292
+ return {
293
+ result: returnValues,
294
+ txHash: txHash.hash
295
+ };
296
+ });
297
+ }
298
+ async getPrivateEvents(selector, contractAddress, scope) {
299
+ const handler = this.handlerAsTxe();
300
+ await handler.syncContractNonOracleMethod(contractAddress, scope, this.currentJobId);
301
+ // Cycle the job to commit the stores after the contract sync.
302
+ await this.cycleJob();
303
+ return handler.getPrivateEvents(selector, contractAddress, scope);
304
+ }
305
+ handlerAsTxe() {
306
+ if (!('isTxe' in this.oracleHandler)) {
307
+ throw new UnavailableOracleError('Txe');
308
+ }
309
+ return this.oracleHandler;
310
+ }
232
311
  setTxeOracleVersion(major, minor) {
233
312
  if (major !== TXE_ORACLE_VERSION_MAJOR) {
234
313
  const hint = major > TXE_ORACLE_VERSION_MAJOR ? 'The test was compiled with a newer version of Aztec.nr than your test environment supports. Upgrade your test environment to a compatible version.' : 'The test was compiled with an older version of Aztec.nr than your test environment supports. Recompile the test with a compatible version of Aztec.nr.';
@@ -268,7 +347,7 @@ function emptyLastCallState() {
268
347
  }
269
348
  // Commit all staged stores from the job that was just completed, then begin a new job
270
349
  await this.cycleJob();
271
- this.oracleHandler = new TXEOracleTopLevelContext(this.stateMachine, this.contractStore, this.noteStore, this.keyStore, this.addressStore, this.accountStore, this.senderTaggingStore, this.recipientTaggingStore, this.senderAddressBookStore, this.capsuleStore, this.privateEventStore, this.nextBlockTimestamp, this.version, this.chainId, this.authwits, this.artifactResolver, this.rootPath, this.packageName);
350
+ this.oracleHandler = new TXEOracleTopLevelContext(this.stateMachine, this.contractStore, this.noteStore, this.keyStore, this.addressStore, this.accountStore, this.senderTaggingStore, this.recipientTaggingStore, this.taggingSecretSourcesStore, this.capsuleStore, this.factStore, this.privateEventStore, this.nextBlockTimestamp, this.version, this.chainId, this.authwits, this.taggingSecretStrategies, this.artifactResolver, this.rootPath, this.packageName);
272
351
  this.state = {
273
352
  name: 'TOP_LEVEL'
274
353
  };
@@ -296,9 +375,12 @@ function emptyLastCallState() {
296
375
  const noteCache = new ExecutionNoteCache(protocolNullifier);
297
376
  const taggingIndexCache = new ExecutionTaggingIndexCache();
298
377
  const utilityExecutor = this.utilityExecutorForContractSync(anchorBlock);
378
+ const transientArrayService = new TransientArrayService();
379
+ const anchoredContractData = new AnchoredContractData(this.contractStore, this.stateMachine.contractClassService, anchorBlock);
299
380
  this.oracleHandler = new TXEPrivateExecutionOracle({
300
381
  argsHash: Fr.ZERO,
301
382
  txContext: new TxContext(this.chainId, this.version, gasSettings),
383
+ txRequestSalt: Fr.ZERO,
302
384
  callContext: new CallContext(AztecAddress.ZERO, contractAddress, FunctionSelector.empty(), false),
303
385
  anchorBlockHeader: anchorBlock,
304
386
  utilityExecutor,
@@ -307,22 +389,27 @@ function emptyLastCallState() {
307
389
  executionCache: new HashedValuesCache(),
308
390
  noteCache,
309
391
  taggingIndexCache,
310
- contractStore: this.contractStore,
392
+ anchoredContractData,
311
393
  noteStore: this.noteStore,
312
394
  keyStore: this.keyStore,
313
395
  addressStore: this.addressStore,
314
396
  aztecNode: this.stateMachine.node,
315
397
  senderTaggingStore: this.senderTaggingStore,
316
398
  recipientTaggingStore: this.recipientTaggingStore,
317
- senderAddressBookStore: this.senderAddressBookStore,
399
+ taggingSecretSourcesStore: this.taggingSecretSourcesStore,
318
400
  capsuleService: new CapsuleService(this.capsuleStore, await this.keyStore.getAccounts()),
401
+ factService: new FactService(this.factStore, await this.keyStore.getAccounts()),
319
402
  privateEventStore: this.privateEventStore,
320
403
  contractSyncService: this.stateMachine.contractSyncService,
321
404
  l2TipsStore: this.stateMachine.l2TipsProvider,
322
405
  jobId: this.currentJobId,
323
406
  scopes: await this.keyStore.getAccounts(),
324
- messageContextService: this.stateMachine.messageContextService,
325
- simulator: new WASMSimulator()
407
+ txResolver: this.stateMachine.txResolver,
408
+ simulator: new WASMSimulator(),
409
+ hooks: composeHooks({
410
+ resolveTaggingSecretStrategy: makeResolveTaggingSecretStrategyHook(this.taggingSecretStrategies)
411
+ }),
412
+ transientArrayService
326
413
  });
327
414
  // We store the note and tagging index caches fed into the PrivateExecutionOracle (along with some other auxiliary
328
415
  // data) in order to refer to it later, mimicking the way this object is used by the ContractFunctionSimulator. The
@@ -374,26 +461,35 @@ function emptyLastCallState() {
374
461
  // TODO(#12553): make the synchronizer sync here instead and remove this
375
462
  await new NoteService(this.noteStore, this.stateMachine.node, anchorBlockHeader, this.currentJobId).syncNoteNullifiers(contractAddress, await this.keyStore.getAccounts());
376
463
  this.oracleHandler = new UtilityExecutionOracle({
377
- contractAddress,
464
+ callContext: CallContext.from({
465
+ msgSender: AztecAddress.NULL_MSG_SENDER,
466
+ contractAddress,
467
+ // No specific function is being executed in this inlined utility context, hence the empty selector.
468
+ functionSelector: FunctionSelector.empty(),
469
+ isStaticCall: true
470
+ }),
378
471
  authWitnesses: [],
379
472
  capsules: [],
380
473
  anchorBlockHeader,
381
- contractStore: this.contractStore,
474
+ anchoredContractData: new AnchoredContractData(this.contractStore, this.stateMachine.contractClassService, anchorBlockHeader),
382
475
  noteStore: this.noteStore,
383
476
  keyStore: this.keyStore,
384
477
  addressStore: this.addressStore,
385
478
  aztecNode: this.stateMachine.node,
386
479
  recipientTaggingStore: this.recipientTaggingStore,
387
- senderAddressBookStore: this.senderAddressBookStore,
480
+ taggingSecretSourcesStore: this.taggingSecretSourcesStore,
388
481
  capsuleService: new CapsuleService(this.capsuleStore, await this.keyStore.getAccounts()),
482
+ factService: new FactService(this.factStore, await this.keyStore.getAccounts()),
389
483
  privateEventStore: this.privateEventStore,
390
- messageContextService: this.stateMachine.messageContextService,
484
+ txResolver: this.stateMachine.txResolver,
391
485
  contractSyncService: this.stateMachine.contractSyncService,
392
486
  l2TipsStore: this.stateMachine.l2TipsProvider,
393
487
  jobId: this.currentJobId,
394
488
  scopes: await this.keyStore.getAccounts(),
395
489
  simulator: new WASMSimulator(),
396
- utilityExecutor: this.utilityExecutorForContractSync(anchorBlockHeader)
490
+ utilityExecutor: this.utilityExecutorForContractSync(anchorBlockHeader),
491
+ // Execution-tree root (top-level utility run): own store; nested frames inherit it.
492
+ transientArrayService: new TransientArrayService()
397
493
  });
398
494
  this.state = {
399
495
  name: 'UTILITY'
@@ -407,15 +503,17 @@ function emptyLastCallState() {
407
503
  throw new Error(`Expected to be in state 'TOP_LEVEL', but got '${this.state.name}' instead`);
408
504
  }
409
505
  // Note that while all public and private contexts do is build a single block that we then process when exiting
410
- // those, the top level context performs a large number of actions not captured in the following 'close' call. Among
411
- // others, it will create empty blocks (via `advanceBlocksBy` and `deploy`), create blocks with transactions via
412
- // `privateCallNewFlow` and `publicCallNewFlow`, add accounts to PXE via `addAccount`, etc. This is a
413
- // slight inconsistency in the working model of this class, but is not too bad.
414
- // TODO: it's quite unfortunate that we need to capture the authwits created to later pass them again when the top
415
- // level context is re-created. This is because authwits create a temporary utility context that'd otherwise reset
416
- // the authwits if not persisted, so we'd not be able to pass more than one per execution.
417
- // Ideally authwits would be passed alongside a contract call instead of pre-seeded.
418
- [this.nextBlockTimestamp, this.authwits] = this.oracleHandler.close();
506
+ // them, the top level context does most of its work as it goes: it creates empty blocks (via `advanceBlocksBy`
507
+ // and `deploy`), creates blocks with transactions (via `privateCallNewFlow` and `publicCallNewFlow`), adds
508
+ // accounts to PXE (via `addAccount`), etc. This is a slight inconsistency in the working model of this class, but
509
+ // is not too bad. The `close` call below therefore only hands back the session-scoped values that a test
510
+ // sets directly at the top level, outside any contract execution (e.g. via `advanceTimestampBy`,
511
+ // `addAuthWitness`, `setTaggingSecretStrategies`). The oracle handler is discarded on every state transition,
512
+ // so the session must seed these values into the contexts it creates later.
513
+ // TODO: persisting authwits this way is quite unfortunate: they create a temporary utility context that would
514
+ // otherwise reset them, so we'd not be able to pass more than one per execution. Ideally authwits would be passed
515
+ // alongside a contract call instead of pre-seeded.
516
+ [this.nextBlockTimestamp, this.authwits, this.taggingSecretStrategies] = this.oracleHandler.close();
419
517
  }
420
518
  async exitPrivateState() {
421
519
  if (this.state.name != 'PRIVATE') {
@@ -454,35 +552,47 @@ function emptyLastCallState() {
454
552
  }
455
553
  utilityExecutorForContractSync(anchorBlock) {
456
554
  return async (call, scopes)=>{
457
- const entryPointArtifact = await this.contractStore.getFunctionArtifactWithDebugMetadata(call.to, call.selector);
555
+ const anchoredContractData = new AnchoredContractData(this.contractStore, this.stateMachine.contractClassService, anchorBlock);
556
+ const entryPointArtifact = await anchoredContractData.getFunctionArtifactWithDebugMetadata(call.to, call.selector);
557
+ if (!entryPointArtifact) {
558
+ throw new Error(`Cannot run function ${call.selector} on ${call.to}: the contract is not registered.`);
559
+ }
458
560
  if (entryPointArtifact.functionType !== FunctionType.UTILITY) {
459
561
  throw new Error(`Cannot run ${entryPointArtifact.functionType} function as utility`);
460
562
  }
461
563
  try {
462
564
  const simulator = new WASMSimulator();
463
565
  const oracle = new UtilityExecutionOracle({
464
- contractAddress: call.to,
566
+ callContext: CallContext.from({
567
+ msgSender: AztecAddress.NULL_MSG_SENDER,
568
+ contractAddress: call.to,
569
+ functionSelector: call.selector,
570
+ isStaticCall: true
571
+ }),
465
572
  authWitnesses: [],
466
573
  capsules: [],
467
574
  anchorBlockHeader: anchorBlock,
468
- contractStore: this.contractStore,
575
+ anchoredContractData,
469
576
  noteStore: this.noteStore,
470
577
  keyStore: this.keyStore,
471
578
  addressStore: this.addressStore,
472
579
  aztecNode: this.stateMachine.node,
473
580
  recipientTaggingStore: this.recipientTaggingStore,
474
- senderAddressBookStore: this.senderAddressBookStore,
581
+ taggingSecretSourcesStore: this.taggingSecretSourcesStore,
475
582
  capsuleService: new CapsuleService(this.capsuleStore, scopes),
583
+ factService: new FactService(this.factStore, scopes),
476
584
  privateEventStore: this.privateEventStore,
477
- messageContextService: this.stateMachine.messageContextService,
585
+ txResolver: this.stateMachine.txResolver,
478
586
  contractSyncService: this.stateMachine.contractSyncService,
479
587
  l2TipsStore: this.stateMachine.l2TipsProvider,
480
588
  jobId: this.currentJobId,
481
589
  scopes,
482
590
  simulator,
483
- utilityExecutor: this.utilityExecutorForContractSync(anchorBlock)
591
+ utilityExecutor: this.utilityExecutorForContractSync(anchorBlock),
592
+ // Top-level utility entrypoint: gets a fresh store. Nested frames inherit it via UtilityExecutionOracle.
593
+ transientArrayService: new TransientArrayService()
484
594
  });
485
- await simulator.executeUserCircuit(toACVMWitness(0, call.args), entryPointArtifact, new Oracle(oracle).toACIRCallback()).catch((err)=>{
595
+ await simulator.executeUserCircuit(toACVMWitness(0, call.args), entryPointArtifact, buildACIRCallback(oracle)).catch((err)=>{
486
596
  err.message = resolveAssertionMessageFromError(err, entryPointArtifact);
487
597
  throw new ExecutionError(err.message, {
488
598
  contractAddress: call.to,
@@ -9,7 +9,7 @@ import { BlockHeader, GlobalVariables, TxEffect } from '@aztec/stdlib/tx';
9
9
  * @returns The transaction request hash.
10
10
  */
11
11
  export declare function getSingleTxBlockRequestHash(blockNumber: BlockNumber): Fr;
12
- export declare function insertTxEffectIntoWorldTrees(txEffect: TxEffect, worldTrees: MerkleTreeWriteOperations): Promise<void>;
12
+ export declare function insertTxEffectIntoWorldTrees(txEffect: TxEffect, worldTrees: MerkleTreeWriteOperations, l1ToL2Messages?: Fr[]): Promise<void>;
13
13
  export declare function makeTXEBlockHeader(worldTrees: MerkleTreeWriteOperations, globalVariables: GlobalVariables): Promise<BlockHeader>;
14
14
  /**
15
15
  * Creates an L2Block with proper archive chaining.
@@ -25,4 +25,4 @@ export declare function makeTXEBlockHeader(worldTrees: MerkleTreeWriteOperations
25
25
  * @returns The created L2Block with proper archive chaining
26
26
  */
27
27
  export declare function makeTXEBlock(worldTrees: MerkleTreeWriteOperations, globalVariables: GlobalVariables, txEffects: TxEffect[]): Promise<L2Block>;
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2tfY3JlYXRpb24uZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9ibG9ja19jcmVhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQSxPQUFPLEVBQUUsV0FBVyxFQUEyQyxNQUFNLGlDQUFpQyxDQUFDO0FBRXZHLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEVBQVEsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUF3QyxLQUFLLHlCQUF5QixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDM0csT0FBTyxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFMUU7Ozs7R0FJRztBQUNILHdCQUFnQiwyQkFBMkIsQ0FBQyxXQUFXLEVBQUUsV0FBVyxHQUFHLEVBQUUsQ0FFeEU7QUFFRCx3QkFBc0IsNEJBQTRCLENBQ2hELFFBQVEsRUFBRSxRQUFRLEVBQ2xCLFVBQVUsRUFBRSx5QkFBeUIsR0FDcEMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQWtCZjtBQUVELHdCQUFzQixrQkFBa0IsQ0FDdEMsVUFBVSxFQUFFLHlCQUF5QixFQUNyQyxlQUFlLEVBQUUsZUFBZSxHQUMvQixPQUFPLENBQUMsV0FBVyxDQUFDLENBWXRCO0FBRUQ7Ozs7Ozs7Ozs7OztHQVlHO0FBQ0gsd0JBQXNCLFlBQVksQ0FDaEMsVUFBVSxFQUFFLHlCQUF5QixFQUNyQyxlQUFlLEVBQUUsZUFBZSxFQUNoQyxTQUFTLEVBQUUsUUFBUSxFQUFFLEdBQ3BCLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FpQmxCIn0=
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2tfY3JlYXRpb24uZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9ibG9ja19jcmVhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQSxPQUFPLEVBQUUsV0FBVyxFQUEyQyxNQUFNLGlDQUFpQyxDQUFDO0FBRXZHLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEVBQVEsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUF3QyxLQUFLLHlCQUF5QixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDM0csT0FBTyxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFMUU7Ozs7R0FJRztBQUNILHdCQUFnQiwyQkFBMkIsQ0FBQyxXQUFXLEVBQUUsV0FBVyxHQUFHLEVBQUUsQ0FFeEU7QUFFRCx3QkFBc0IsNEJBQTRCLENBQ2hELFFBQVEsRUFBRSxRQUFRLEVBQ2xCLFVBQVUsRUFBRSx5QkFBeUIsRUFDckMsY0FBYyxHQUFFLEVBQUUsRUFBTyxHQUN4QixPQUFPLENBQUMsSUFBSSxDQUFDLENBa0JmO0FBRUQsd0JBQXNCLGtCQUFrQixDQUN0QyxVQUFVLEVBQUUseUJBQXlCLEVBQ3JDLGVBQWUsRUFBRSxlQUFlLEdBQy9CLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FZdEI7QUFFRDs7Ozs7Ozs7Ozs7O0dBWUc7QUFDSCx3QkFBc0IsWUFBWSxDQUNoQyxVQUFVLEVBQUUseUJBQXlCLEVBQ3JDLGVBQWUsRUFBRSxlQUFlLEVBQ2hDLFNBQVMsRUFBRSxRQUFRLEVBQUUsR0FDcEIsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQWlCbEIifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"block_creation.d.ts","sourceRoot":"","sources":["../../src/utils/block_creation.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,WAAW,EAA2C,MAAM,iCAAiC,CAAC;AAEvG,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAQ,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAwC,KAAK,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAC3G,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE1E;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,WAAW,GAAG,EAAE,CAExE;AAED,wBAAsB,4BAA4B,CAChD,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,yBAAyB,GACpC,OAAO,CAAC,IAAI,CAAC,CAkBf;AAED,wBAAsB,kBAAkB,CACtC,UAAU,EAAE,yBAAyB,EACrC,eAAe,EAAE,eAAe,GAC/B,OAAO,CAAC,WAAW,CAAC,CAYtB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,YAAY,CAChC,UAAU,EAAE,yBAAyB,EACrC,eAAe,EAAE,eAAe,EAChC,SAAS,EAAE,QAAQ,EAAE,GACpB,OAAO,CAAC,OAAO,CAAC,CAiBlB"}
1
+ {"version":3,"file":"block_creation.d.ts","sourceRoot":"","sources":["../../src/utils/block_creation.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,WAAW,EAA2C,MAAM,iCAAiC,CAAC;AAEvG,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAQ,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAwC,KAAK,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAC3G,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE1E;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,WAAW,GAAG,EAAE,CAExE;AAED,wBAAsB,4BAA4B,CAChD,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,yBAAyB,EACrC,cAAc,GAAE,EAAE,EAAO,GACxB,OAAO,CAAC,IAAI,CAAC,CAkBf;AAED,wBAAsB,kBAAkB,CACtC,UAAU,EAAE,yBAAyB,EACrC,eAAe,EAAE,eAAe,GAC/B,OAAO,CAAC,WAAW,CAAC,CAYtB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,YAAY,CAChC,UAAU,EAAE,yBAAyB,EACrC,eAAe,EAAE,eAAe,EAChC,SAAS,EAAE,QAAQ,EAAE,GACpB,OAAO,CAAC,OAAO,CAAC,CAiBlB"}
@@ -12,10 +12,10 @@ import { BlockHeader } from '@aztec/stdlib/tx';
12
12
  */ export function getSingleTxBlockRequestHash(blockNumber) {
13
13
  return new Fr(blockNumber + 9999); // Why does this need to be a high number? Why do small numbered nullifiers already exist?
14
14
  }
15
- export async function insertTxEffectIntoWorldTrees(txEffect, worldTrees) {
15
+ export async function insertTxEffectIntoWorldTrees(txEffect, worldTrees, l1ToL2Messages = []) {
16
16
  await worldTrees.appendLeaves(MerkleTreeId.NOTE_HASH_TREE, padArrayEnd(txEffect.noteHashes, Fr.ZERO, MAX_NOTE_HASHES_PER_TX));
17
17
  await worldTrees.batchInsert(MerkleTreeId.NULLIFIER_TREE, padArrayEnd(txEffect.nullifiers, Fr.ZERO, MAX_NULLIFIERS_PER_TX).map((nullifier)=>nullifier.toBuffer()), NULLIFIER_SUBTREE_HEIGHT);
18
- await worldTrees.appendLeaves(MerkleTreeId.L1_TO_L2_MESSAGE_TREE, padArrayEnd(txEffect.l2ToL1Msgs, Fr.ZERO, NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP));
18
+ await worldTrees.appendLeaves(MerkleTreeId.L1_TO_L2_MESSAGE_TREE, padArrayEnd(l1ToL2Messages, Fr.ZERO, NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP));
19
19
  // We do not need to add public data writes because we apply them as we go.
20
20
  }
21
21
  export async function makeTXEBlockHeader(worldTrees, globalVariables) {
@@ -159,11 +159,10 @@ export declare const ForeignCallArgsSchema: z.ZodArray<z.ZodUnion<readonly [z.Zo
159
159
  name: z.ZodString;
160
160
  }, z.core.$strip>>;
161
161
  }, z.core.$strip>>;
162
- }, z.core.$strip>, z.ZodIntersection<z.ZodObject<{
162
+ }, z.core.$strip>, z.ZodIntersection<z.ZodIntersection<z.ZodObject<{
163
163
  version: z.ZodLiteral<2>;
164
164
  salt: import("@aztec/foundation/schemas").ZodFor<Fr>;
165
165
  deployer: import("@aztec/foundation/schemas").ZodFor<AztecAddress>;
166
- currentContractClassId: import("@aztec/foundation/schemas").ZodFor<Fr>;
167
166
  originalContractClassId: import("@aztec/foundation/schemas").ZodFor<Fr>;
168
167
  initializationHash: import("@aztec/foundation/schemas").ZodFor<Fr>;
169
168
  immutablesHash: import("@aztec/foundation/schemas").ZodFor<Fr>;
@@ -183,9 +182,11 @@ export declare const ForeignCallArgsSchema: z.ZodArray<z.ZodUnion<readonly [z.Zo
183
182
  fbpkMHash: Fr;
184
183
  }>>;
185
184
  }, z.core.$strip>, z.ZodObject<{
185
+ currentContractClassId: import("@aztec/foundation/schemas").ZodFor<Fr>;
186
+ }, z.core.$strip>>, z.ZodObject<{
186
187
  address: import("@aztec/foundation/schemas").ZodFor<AztecAddress>;
187
188
  }, z.core.$strip>>]>>;
188
189
  export declare const ForeignCallResultSchema: z.ZodObject<{
189
190
  values: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
190
191
  }, z.core.$strip>;
191
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5jb2RpbmcuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9lbmNvZGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEQsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFaEUsT0FBTyxFQUFFLEtBQUssZ0JBQWdCLEVBQTBCLE1BQU0sbUJBQW1CLENBQUM7QUFDbEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzNELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsS0FBSywyQkFBMkIsRUFBcUMsTUFBTSx3QkFBd0IsQ0FBQztBQUU3RyxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBRXhCLE1BQU0sTUFBTSxpQkFBaUIsR0FBRyxNQUFNLENBQUM7QUFFdkMsTUFBTSxNQUFNLGdCQUFnQixHQUFHLE1BQU0sRUFBRSxDQUFDO0FBRXhDLE1BQU0sTUFBTSxlQUFlLEdBQUcsQ0FBQyxpQkFBaUIsR0FBRyxnQkFBZ0IsR0FBRyxnQkFBZ0IsR0FBRywyQkFBMkIsQ0FBQyxFQUFFLENBQUM7QUFFeEgsTUFBTSxNQUFNLGlCQUFpQixHQUFHO0lBQzlCLE1BQU0sRUFBRSxDQUFDLGlCQUFpQixHQUFHLGdCQUFnQixDQUFDLEVBQUUsQ0FBQztDQUNsRCxDQUFDO0FBRUYsd0JBQWdCLFVBQVUsQ0FBQyxHQUFHLEVBQUUsaUJBQWlCLE1BRWhEO0FBRUQsd0JBQWdCLGlCQUFpQixDQUFDLEdBQUcsRUFBRSxpQkFBaUIsZ0JBRXZEO0FBRUQsd0JBQWdCLG1CQUFtQixDQUFDLEdBQUcsRUFBRSxpQkFBaUIsYUFFekQ7QUFFRCx3QkFBZ0IsU0FBUyxDQUFDLEdBQUcsRUFBRSxnQkFBZ0IsUUFFOUM7QUFFRDs7OztHQUlHO0FBQ0gsd0JBQWdCLGFBQWEsQ0FBQyxHQUFHLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLE1BQU0sR0FBRyxNQUFNLENBTWhGO0FBRUQ7Ozs7Ozs7O0dBUUc7QUFDSCx3QkFBZ0Isa0JBQWtCLENBQUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxXQUFXLEVBQUUsTUFBTSxHQUFHLE1BQU0sQ0FPcEg7QUFJRCx3QkFBZ0IsUUFBUSxDQUN0QixLQUFLLEVBQUUsWUFBWSxHQUFHLFVBQVUsR0FBRyxFQUFFLEdBQUcsTUFBTSxHQUFHLE9BQU8sR0FBRyxNQUFNLEdBQUcsTUFBTSxHQUN6RSxpQkFBaUIsQ0FZbkI7QUFFRCx3QkFBZ0IsT0FBTyxDQUFDLElBQUksRUFBRSxFQUFFLEVBQUUsR0FBRyxnQkFBZ0IsQ0FFcEQ7QUFFRCx3QkFBZ0IsZUFBZSxDQUFDLEtBQUssRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLHFCQUUvQztBQUVELHdCQUFnQixlQUFlLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxnQkFBZ0IsQ0FFaEU7QUFFRDs7Ozs7OztHQU9HO0FBQ0gsd0JBQWdCLGlCQUFpQixDQUMvQixXQUFXLEVBQUUsZ0JBQWdCLEVBQzdCLE1BQU0sRUFBRSxNQUFNLEdBQ2IsQ0FBQyxnQkFBZ0IsRUFBRSxpQkFBaUIsQ0FBQyxDQVl2QztBQUVEOzs7Ozs7R0FNRztBQUNILHdCQUFnQixpQ0FBaUMsQ0FDL0MsV0FBVyxFQUFFLGdCQUFnQixFQUFFLEVBQy9CLE1BQU0sRUFBRSxNQUFNLEVBQ2QsaUJBQWlCLEVBQUUsTUFBTSxHQUN4QixDQUFDLGdCQUFnQixFQUFFLGlCQUFpQixDQUFDLENBc0J2QztBQUVELHdCQUFnQixtQkFBbUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxpQkFBaUIsR0FBRyxnQkFBZ0IsQ0FBQyxFQUFFOztFQUVoRjtBQUVELGVBQU8sTUFBTSx1QkFBdUIsYUFBYSxDQUFDO0FBRWxELGVBQU8sTUFBTSxzQkFBc0IseUJBQXNCLENBQUM7QUFFMUQsZUFBTyxNQUFNLHFCQUFxQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztxQkFFakMsQ0FBQztBQUVGLGVBQU8sTUFBTSx1QkFBdUI7O2lCQUVsQyxDQUFDIn0=
192
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5jb2RpbmcuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9lbmNvZGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEQsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFaEUsT0FBTyxFQUFFLEtBQUssZ0JBQWdCLEVBQTBCLE1BQU0sbUJBQW1CLENBQUM7QUFDbEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzNELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsS0FBSywyQkFBMkIsRUFBcUMsTUFBTSx3QkFBd0IsQ0FBQztBQUU3RyxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBRXhCLE1BQU0sTUFBTSxpQkFBaUIsR0FBRyxNQUFNLENBQUM7QUFFdkMsTUFBTSxNQUFNLGdCQUFnQixHQUFHLE1BQU0sRUFBRSxDQUFDO0FBRXhDLE1BQU0sTUFBTSxlQUFlLEdBQUcsQ0FBQyxpQkFBaUIsR0FBRyxnQkFBZ0IsR0FBRyxnQkFBZ0IsR0FBRywyQkFBMkIsQ0FBQyxFQUFFLENBQUM7QUFFeEgsTUFBTSxNQUFNLGlCQUFpQixHQUFHO0lBQzlCLE1BQU0sRUFBRSxDQUFDLGlCQUFpQixHQUFHLGdCQUFnQixDQUFDLEVBQUUsQ0FBQztDQUNsRCxDQUFDO0FBRUYsd0JBQWdCLFVBQVUsQ0FBQyxHQUFHLEVBQUUsaUJBQWlCLE1BRWhEO0FBRUQsd0JBQWdCLGlCQUFpQixDQUFDLEdBQUcsRUFBRSxpQkFBaUIsZ0JBRXZEO0FBRUQsd0JBQWdCLG1CQUFtQixDQUFDLEdBQUcsRUFBRSxpQkFBaUIsYUFFekQ7QUFFRCx3QkFBZ0IsU0FBUyxDQUFDLEdBQUcsRUFBRSxnQkFBZ0IsUUFFOUM7QUFFRDs7OztHQUlHO0FBQ0gsd0JBQWdCLGFBQWEsQ0FBQyxHQUFHLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLE1BQU0sR0FBRyxNQUFNLENBTWhGO0FBRUQ7Ozs7Ozs7O0dBUUc7QUFDSCx3QkFBZ0Isa0JBQWtCLENBQUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxXQUFXLEVBQUUsTUFBTSxHQUFHLE1BQU0sQ0FPcEg7QUFJRCx3QkFBZ0IsUUFBUSxDQUN0QixLQUFLLEVBQUUsWUFBWSxHQUFHLFVBQVUsR0FBRyxFQUFFLEdBQUcsTUFBTSxHQUFHLE9BQU8sR0FBRyxNQUFNLEdBQUcsTUFBTSxHQUN6RSxpQkFBaUIsQ0FZbkI7QUFFRCx3QkFBZ0IsT0FBTyxDQUFDLElBQUksRUFBRSxFQUFFLEVBQUUsR0FBRyxnQkFBZ0IsQ0FFcEQ7QUFFRCx3QkFBZ0IsZUFBZSxDQUFDLEtBQUssRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLHFCQUUvQztBQUVELHdCQUFnQixlQUFlLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxnQkFBZ0IsQ0FFaEU7QUFFRDs7Ozs7OztHQU9HO0FBQ0gsd0JBQWdCLGlCQUFpQixDQUMvQixXQUFXLEVBQUUsZ0JBQWdCLEVBQzdCLE1BQU0sRUFBRSxNQUFNLEdBQ2IsQ0FBQyxnQkFBZ0IsRUFBRSxpQkFBaUIsQ0FBQyxDQVl2QztBQUVEOzs7Ozs7R0FNRztBQUNILHdCQUFnQixpQ0FBaUMsQ0FDL0MsV0FBVyxFQUFFLGdCQUFnQixFQUFFLEVBQy9CLE1BQU0sRUFBRSxNQUFNLEVBQ2QsaUJBQWlCLEVBQUUsTUFBTSxHQUN4QixDQUFDLGdCQUFnQixFQUFFLGlCQUFpQixDQUFDLENBc0J2QztBQUVELHdCQUFnQixtQkFBbUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxpQkFBaUIsR0FBRyxnQkFBZ0IsQ0FBQyxFQUFFOztFQUVoRjtBQUVELGVBQU8sTUFBTSx1QkFBdUIsYUFBYSxDQUFDO0FBRWxELGVBQU8sTUFBTSxzQkFBc0IseUJBQXNCLENBQUM7QUFFMUQsZUFBTyxNQUFNLHFCQUFxQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7cUJBRWpDLENBQUM7QUFFRixlQUFPLE1BQU0sdUJBQXVCOztpQkFFbEMsQ0FBQyJ9
@@ -1 +1 @@
1
- {"version":3,"file":"encoding.d.ts","sourceRoot":"","sources":["../../src/utils/encoding.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAEhE,OAAO,EAAE,KAAK,gBAAgB,EAA0B,MAAM,mBAAmB,CAAC;AAClF,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,KAAK,2BAA2B,EAAqC,MAAM,wBAAwB,CAAC;AAE7G,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC;AAEvC,MAAM,MAAM,gBAAgB,GAAG,MAAM,EAAE,CAAC;AAExC,MAAM,MAAM,eAAe,GAAG,CAAC,iBAAiB,GAAG,gBAAgB,GAAG,gBAAgB,GAAG,2BAA2B,CAAC,EAAE,CAAC;AAExH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE,CAAC,iBAAiB,GAAG,gBAAgB,CAAC,EAAE,CAAC;CAClD,CAAC;AAEF,wBAAgB,UAAU,CAAC,GAAG,EAAE,iBAAiB,MAEhD;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,iBAAiB,gBAEvD;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,iBAAiB,aAEzD;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,gBAAgB,QAE9C;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAMhF;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAOpH;AAID,wBAAgB,QAAQ,CACtB,KAAK,EAAE,YAAY,GAAG,UAAU,GAAG,EAAE,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GACzE,iBAAiB,CAYnB;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,gBAAgB,CAEpD;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,qBAE/C;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB,CAEhE;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,gBAAgB,EAC7B,MAAM,EAAE,MAAM,GACb,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,CAYvC;AAED;;;;;;GAMG;AACH,wBAAgB,iCAAiC,CAC/C,WAAW,EAAE,gBAAgB,EAAE,EAC/B,MAAM,EAAE,MAAM,EACd,iBAAiB,EAAE,MAAM,GACxB,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,CAsBvC;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,CAAC,iBAAiB,GAAG,gBAAgB,CAAC,EAAE;;EAEhF;AAED,eAAO,MAAM,uBAAuB,aAAa,CAAC;AAElD,eAAO,MAAM,sBAAsB,yBAAsB,CAAC;AAE1D,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAEjC,CAAC;AAEF,eAAO,MAAM,uBAAuB;;iBAElC,CAAC"}
1
+ {"version":3,"file":"encoding.d.ts","sourceRoot":"","sources":["../../src/utils/encoding.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAEhE,OAAO,EAAE,KAAK,gBAAgB,EAA0B,MAAM,mBAAmB,CAAC;AAClF,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,KAAK,2BAA2B,EAAqC,MAAM,wBAAwB,CAAC;AAE7G,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC;AAEvC,MAAM,MAAM,gBAAgB,GAAG,MAAM,EAAE,CAAC;AAExC,MAAM,MAAM,eAAe,GAAG,CAAC,iBAAiB,GAAG,gBAAgB,GAAG,gBAAgB,GAAG,2BAA2B,CAAC,EAAE,CAAC;AAExH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE,CAAC,iBAAiB,GAAG,gBAAgB,CAAC,EAAE,CAAC;CAClD,CAAC;AAEF,wBAAgB,UAAU,CAAC,GAAG,EAAE,iBAAiB,MAEhD;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,iBAAiB,gBAEvD;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,iBAAiB,aAEzD;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,gBAAgB,QAE9C;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAMhF;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAOpH;AAID,wBAAgB,QAAQ,CACtB,KAAK,EAAE,YAAY,GAAG,UAAU,GAAG,EAAE,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GACzE,iBAAiB,CAYnB;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,gBAAgB,CAEpD;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,qBAE/C;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB,CAEhE;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,gBAAgB,EAC7B,MAAM,EAAE,MAAM,GACb,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,CAYvC;AAED;;;;;;GAMG;AACH,wBAAgB,iCAAiC,CAC/C,WAAW,EAAE,gBAAgB,EAAE,EAC/B,MAAM,EAAE,MAAM,EACd,iBAAiB,EAAE,MAAM,GACxB,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,CAsBvC;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,CAAC,iBAAiB,GAAG,gBAAgB,CAAC,EAAE;;EAEhF;AAED,eAAO,MAAM,uBAAuB,aAAa,CAAC;AAElD,eAAO,MAAM,sBAAsB,yBAAsB,CAAC;AAE1D,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAEjC,CAAC;AAEF,eAAO,MAAM,uBAAuB;;iBAElC,CAAC"}
@@ -2,4 +2,4 @@ import { BlockNumber } from '@aztec/foundation/branded-types';
2
2
  import type { ExecutionNoteCache } from '@aztec/pxe/simulator';
3
3
  import { TxEffect } from '@aztec/stdlib/tx';
4
4
  export declare function makeTxEffect(noteCache: ExecutionNoteCache, txBlockNumber: BlockNumber): Promise<TxEffect>;
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHhfZWZmZWN0X2NyZWF0aW9uLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvdHhfZWZmZWN0X2NyZWF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUU5RCxPQUFPLEtBQUssRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRS9ELE9BQU8sRUFBRSxRQUFRLEVBQVUsTUFBTSxrQkFBa0IsQ0FBQztBQUVwRCx3QkFBc0IsWUFBWSxDQUFDLFNBQVMsRUFBRSxrQkFBa0IsRUFBRSxhQUFhLEVBQUUsV0FBVyxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0F1Qi9HIn0=
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHhfZWZmZWN0X2NyZWF0aW9uLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvdHhfZWZmZWN0X2NyZWF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUU5RCxPQUFPLEtBQUssRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRS9ELE9BQU8sRUFBRSxRQUFRLEVBQVUsTUFBTSxrQkFBa0IsQ0FBQztBQUVwRCx3QkFBc0IsWUFBWSxDQUFDLFNBQVMsRUFBRSxrQkFBa0IsRUFBRSxhQUFhLEVBQUUsV0FBVyxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FxQi9HIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"tx_effect_creation.d.ts","sourceRoot":"","sources":["../../src/utils/tx_effect_creation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAE9D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE/D,OAAO,EAAE,QAAQ,EAAU,MAAM,kBAAkB,CAAC;AAEpD,wBAAsB,YAAY,CAAC,SAAS,EAAE,kBAAkB,EAAE,aAAa,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,CAuB/G"}
1
+ {"version":3,"file":"tx_effect_creation.d.ts","sourceRoot":"","sources":["../../src/utils/tx_effect_creation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAE9D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE/D,OAAO,EAAE,QAAQ,EAAU,MAAM,kBAAkB,CAAC;AAEpD,wBAAsB,YAAY,CAAC,SAAS,EAAE,kBAAkB,EAAE,aAAa,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,CAqB/G"}
@@ -3,7 +3,6 @@ import { computeNoteHashNonce, computeUniqueNoteHash, siloNoteHash } from '@azte
3
3
  import { TxEffect, TxHash } from '@aztec/stdlib/tx';
4
4
  export async function makeTxEffect(noteCache, txBlockNumber) {
5
5
  const txEffect = TxEffect.empty();
6
- noteCache.finish();
7
6
  const nonceGenerator = noteCache.getNonceGenerator();
8
7
  txEffect.noteHashes = await Promise.all(noteCache.getAllNotes().map(async (pendingNote, i)=>computeUniqueNoteHash(await computeNoteHashNonce(nonceGenerator, i), await siloNoteHash(pendingNote.note.contractAddress, pendingNote.noteHashForConsumption))));
9
8
  // Nullifiers are already siloed
@@ -17,4 +17,4 @@ export declare class TXEPublicContractDataSource implements ContractDataSource {
17
17
  getDebugFunctionName(address: AztecAddress, selector: FunctionSelector): Promise<string | undefined>;
18
18
  registerContractFunctionSignatures(_signatures: []): Promise<void>;
19
19
  }
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHhlX3B1YmxpY19jb250cmFjdF9kYXRhX3NvdXJjZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL3R4ZV9wdWJsaWNfY29udHJhY3RfZGF0YV9zb3VyY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzlELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEtBQUssRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsS0FBSyxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzVFLE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2hFLE9BQU8sS0FBSyxFQUFFLG1CQUFtQixFQUFFLGtCQUFrQixFQUFFLDJCQUEyQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFbkgscUJBQWEsMkJBQTRCLFlBQVcsa0JBQWtCO0lBRWxFLE9BQU8sQ0FBQyxXQUFXO0lBQ25CLE9BQU8sQ0FBQyxhQUFhO0lBRnZCLFlBQ1UsV0FBVyxFQUFFLFdBQVcsRUFDeEIsYUFBYSxFQUFFLGFBQWEsRUFDbEM7SUFFSixjQUFjLElBQUksT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUVyQztJQUVLLGdCQUFnQixDQUFDLEVBQUUsRUFBRSxFQUFFLEdBQUcsT0FBTyxDQUFDLG1CQUFtQixHQUFHLFNBQVMsQ0FBQyxDQVl2RTtJQUVLLHFCQUFxQixDQUFDLEVBQUUsRUFBRSxFQUFFLEdBQUcsT0FBTyxDQUFDLEVBQUUsR0FBRyxTQUFTLENBQUMsQ0FHM0Q7SUFFSyxXQUFXLENBQUMsT0FBTyxFQUFFLFlBQVksR0FBRyxPQUFPLENBQUMsMkJBQTJCLEdBQUcsU0FBUyxDQUFDLENBR3pGO0lBRUQsbUJBQW1CLElBQUksT0FBTyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBRW5DO0lBRUssbUJBQW1CLENBQUMsT0FBTyxFQUFFLFlBQVksR0FBRyxPQUFPLENBQUMsZ0JBQWdCLEdBQUcsU0FBUyxDQUFDLENBR3RGO0lBRUssb0JBQW9CLENBQUMsT0FBTyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEdBQUcsT0FBTyxDQUFDLE1BQU0sR0FBRyxTQUFTLENBQUMsQ0FFekc7SUFFRCxrQ0FBa0MsQ0FBQyxXQUFXLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FFakU7Q0FDRiJ9
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHhlX3B1YmxpY19jb250cmFjdF9kYXRhX3NvdXJjZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL3R4ZV9wdWJsaWNfY29udHJhY3RfZGF0YV9zb3VyY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzlELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEtBQUssRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsS0FBSyxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzVFLE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2hFLE9BQU8sS0FBSyxFQUFFLG1CQUFtQixFQUFFLGtCQUFrQixFQUFFLDJCQUEyQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFbkgscUJBQWEsMkJBQTRCLFlBQVcsa0JBQWtCO0lBRWxFLE9BQU8sQ0FBQyxXQUFXO0lBQ25CLE9BQU8sQ0FBQyxhQUFhO0lBRnZCLFlBQ1UsV0FBVyxFQUFFLFdBQVcsRUFDeEIsYUFBYSxFQUFFLGFBQWEsRUFDbEM7SUFFSixjQUFjLElBQUksT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUVyQztJQUVLLGdCQUFnQixDQUFDLEVBQUUsRUFBRSxFQUFFLEdBQUcsT0FBTyxDQUFDLG1CQUFtQixHQUFHLFNBQVMsQ0FBQyxDQVl2RTtJQUVLLHFCQUFxQixDQUFDLEVBQUUsRUFBRSxFQUFFLEdBQUcsT0FBTyxDQUFDLEVBQUUsR0FBRyxTQUFTLENBQUMsQ0FHM0Q7SUFFSyxXQUFXLENBQUMsT0FBTyxFQUFFLFlBQVksR0FBRyxPQUFPLENBQUMsMkJBQTJCLEdBQUcsU0FBUyxDQUFDLENBSXpGO0lBRUQsbUJBQW1CLElBQUksT0FBTyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBRW5DO0lBRUssbUJBQW1CLENBQUMsT0FBTyxFQUFFLFlBQVksR0FBRyxPQUFPLENBQUMsZ0JBQWdCLEdBQUcsU0FBUyxDQUFDLENBR3RGO0lBRUssb0JBQW9CLENBQUMsT0FBTyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEdBQUcsT0FBTyxDQUFDLE1BQU0sR0FBRyxTQUFTLENBQUMsQ0FHekc7SUFFRCxrQ0FBa0MsQ0FBQyxXQUFXLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FFakU7Q0FDRiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"txe_public_contract_data_source.d.ts","sourceRoot":"","sources":["../../src/utils/txe_public_contract_data_source.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,KAAK,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC5E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAEnH,qBAAa,2BAA4B,YAAW,kBAAkB;IAElE,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,aAAa;IAFvB,YACU,WAAW,EAAE,WAAW,EACxB,aAAa,EAAE,aAAa,EAClC;IAEJ,cAAc,IAAI,OAAO,CAAC,WAAW,CAAC,CAErC;IAEK,gBAAgB,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC,CAYvE;IAEK,qBAAqB,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC,CAG3D;IAEK,WAAW,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,2BAA2B,GAAG,SAAS,CAAC,CAGzF;IAED,mBAAmB,IAAI,OAAO,CAAC,EAAE,EAAE,CAAC,CAEnC;IAEK,mBAAmB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAGtF;IAEK,oBAAoB,CAAC,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAEzG;IAED,kCAAkC,CAAC,WAAW,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAEjE;CACF"}
1
+ {"version":3,"file":"txe_public_contract_data_source.d.ts","sourceRoot":"","sources":["../../src/utils/txe_public_contract_data_source.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,KAAK,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC5E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAEnH,qBAAa,2BAA4B,YAAW,kBAAkB;IAElE,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,aAAa;IAFvB,YACU,WAAW,EAAE,WAAW,EACxB,aAAa,EAAE,aAAa,EAClC;IAEJ,cAAc,IAAI,OAAO,CAAC,WAAW,CAAC,CAErC;IAEK,gBAAgB,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC,CAYvE;IAEK,qBAAqB,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC,CAG3D;IAEK,WAAW,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,2BAA2B,GAAG,SAAS,CAAC,CAIzF;IAED,mBAAmB,IAAI,OAAO,CAAC,EAAE,EAAE,CAAC,CAEnC;IAEK,mBAAmB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAGtF;IAEK,oBAAoB,CAAC,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAGzG;IAED,kCAAkC,CAAC,WAAW,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAEjE;CACF"}
@@ -27,20 +27,23 @@ export class TXEPublicContractDataSource {
27
27
  }
28
28
  async getContract(address) {
29
29
  const instance = await this.contractStore.getContractInstance(address);
30
+ // TXE has no contract updates, so the current class always equals the original.
30
31
  return instance && {
31
32
  ...instance,
32
- address
33
+ address,
34
+ currentContractClassId: instance.originalContractClassId
33
35
  };
34
36
  }
35
37
  getContractClassIds() {
36
38
  throw new Error('Method not implemented.');
37
39
  }
38
40
  async getContractArtifact(address) {
39
- const instance = await this.contractStore.getContractInstance(address);
40
- return instance && this.contractStore.getContractArtifact(instance.currentContractClassId);
41
+ const instance = await this.getContract(address);
42
+ return instance && this.contractStore.getContractArtifact(instance.originalContractClassId);
41
43
  }
42
44
  async getDebugFunctionName(address, selector) {
43
- return await this.contractStore.getDebugFunctionName(address, selector);
45
+ const instance = await this.getContract(address);
46
+ return instance && this.contractStore.getDebugFunctionName(instance.originalContractClassId, selector);
44
47
  }
45
48
  registerContractFunctionSignatures(_signatures) {
46
49
  return Promise.resolve();
@@ -1,3 +1,3 @@
1
1
  import { createRequire as __txeCreateRequire } from 'node:module';
2
2
  const require = __txeCreateRequire(import.meta.url);
3
- import{TXEDispatcher,activeSessionCount,createLogger}from"./chunk-CDITIZHX.js";import{__name}from"./chunk-BJVAAXNA.js";import{BackendType,Barretenberg,BarretenbergSync}from"@aztec/bb.js";import{parentPort,workerData}from"node:worker_threads";Barretenberg.initSingleton({backend:BackendType.Wasm,skipSrsInit:!0,threads:1});BarretenbergSync.initSingleton({backend:BackendType.Wasm});if(!parentPort)throw new Error("worker.ts must be loaded as a worker_thread");var port=parentPort,logger=createLogger("txe:worker"),dispatcherOpts={contractStoreSourceDir:workerData.contractStoreSourceDir,schnorrClassId:workerData.schnorrClassId},dispatcher=new TXEDispatcher(logger,dispatcherOpts);function serializeError(err){return err instanceof Error?{message:err.message,name:err.name,stack:err.stack}:{message:String(err)}}__name(serializeError,"serializeError");process.env.TXE_WORKER_MEMSTAT==="1"&&setInterval(()=>{let m=process.memoryUsage();port.postMessage({type:"memstat",sessions:activeSessionCount(),rss:m.rss,heapTotal:m.heapTotal,heapUsed:m.heapUsed,external:m.external,arrayBuffers:m.arrayBuffers})},2e3).unref();port.on("message",msg=>{switch(msg.type){case"foreign-call":(async()=>{try{let value=await dispatcher.resolve_foreign_call(msg.callData);port.postMessage({type:"result",requestId:msg.requestId,ok:!0,value})}catch(err){port.postMessage({type:"result",requestId:msg.requestId,ok:!1,error:serializeError(err)})}})();return;case"dispose-session":dispatcher.disposeSession(msg.sessionId).catch(err=>logger.warn("disposeSession failed",err));return}});
3
+ import{TXEDispatcher,activeSessionCount,createLogger}from"./chunk-YP4ODNMQ.js";import{__name}from"./chunk-BJVAAXNA.js";import{BackendType,Barretenberg,BarretenbergSync}from"@aztec/bb.js";import{parentPort,workerData}from"node:worker_threads";Barretenberg.initSingleton({backend:BackendType.Wasm,skipSrsInit:!0,threads:1});BarretenbergSync.initSingleton({backend:BackendType.Wasm});if(!parentPort)throw new Error("worker.ts must be loaded as a worker_thread");var port=parentPort,logger=createLogger("txe:worker"),dispatcherOpts={contractStoreSourceDir:workerData.contractStoreSourceDir,schnorrClassId:workerData.schnorrClassId},dispatcher=new TXEDispatcher(logger,dispatcherOpts);function serializeError(err){return err instanceof Error?{message:err.message,name:err.name,stack:err.stack}:{message:String(err)}}__name(serializeError,"serializeError");process.env.TXE_WORKER_MEMSTAT==="1"&&setInterval(()=>{let m=process.memoryUsage();port.postMessage({type:"memstat",sessions:activeSessionCount(),rss:m.rss,heapTotal:m.heapTotal,heapUsed:m.heapUsed,external:m.external,arrayBuffers:m.arrayBuffers})},2e3).unref();port.on("message",msg=>{switch(msg.type){case"foreign-call":(async()=>{try{let value=await dispatcher.resolve_foreign_call(msg.callData);port.postMessage({type:"result",requestId:msg.requestId,ok:!0,value})}catch(err){port.postMessage({type:"result",requestId:msg.requestId,ok:!1,error:serializeError(err)})}})();return;case"dispose-session":dispatcher.disposeSession(msg.sessionId).catch(err=>logger.warn("disposeSession failed",err));return}});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aztec/txe",
3
- "version": "0.0.1-commit.2f68f620",
3
+ "version": "0.0.1-commit.3100065",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  "./server": {
@@ -69,22 +69,22 @@
69
69
  ]
70
70
  },
71
71
  "dependencies": {
72
- "@aztec/accounts": "0.0.1-commit.2f68f620",
73
- "@aztec/archiver": "0.0.1-commit.2f68f620",
74
- "@aztec/aztec-node": "0.0.1-commit.2f68f620",
75
- "@aztec/aztec.js": "0.0.1-commit.2f68f620",
76
- "@aztec/bb-prover": "0.0.1-commit.2f68f620",
77
- "@aztec/bb.js": "0.0.1-commit.2f68f620",
78
- "@aztec/constants": "0.0.1-commit.2f68f620",
79
- "@aztec/foundation": "0.0.1-commit.2f68f620",
80
- "@aztec/key-store": "0.0.1-commit.2f68f620",
81
- "@aztec/kv-store": "0.0.1-commit.2f68f620",
82
- "@aztec/protocol-contracts": "0.0.1-commit.2f68f620",
83
- "@aztec/pxe": "0.0.1-commit.2f68f620",
84
- "@aztec/simulator": "0.0.1-commit.2f68f620",
85
- "@aztec/standard-contracts": "0.0.1-commit.2f68f620",
86
- "@aztec/stdlib": "0.0.1-commit.2f68f620",
87
- "@aztec/world-state": "0.0.1-commit.2f68f620",
72
+ "@aztec/accounts": "0.0.1-commit.3100065",
73
+ "@aztec/archiver": "0.0.1-commit.3100065",
74
+ "@aztec/aztec-node": "0.0.1-commit.3100065",
75
+ "@aztec/aztec.js": "0.0.1-commit.3100065",
76
+ "@aztec/bb-prover": "0.0.1-commit.3100065",
77
+ "@aztec/bb.js": "0.0.1-commit.3100065",
78
+ "@aztec/constants": "0.0.1-commit.3100065",
79
+ "@aztec/foundation": "0.0.1-commit.3100065",
80
+ "@aztec/key-store": "0.0.1-commit.3100065",
81
+ "@aztec/kv-store": "0.0.1-commit.3100065",
82
+ "@aztec/protocol-contracts": "0.0.1-commit.3100065",
83
+ "@aztec/pxe": "0.0.1-commit.3100065",
84
+ "@aztec/simulator": "0.0.1-commit.3100065",
85
+ "@aztec/standard-contracts": "0.0.1-commit.3100065",
86
+ "@aztec/stdlib": "0.0.1-commit.3100065",
87
+ "@aztec/world-state": "0.0.1-commit.3100065",
88
88
  "msgpackr": "^1.11.2",
89
89
  "zod": "^4"
90
90
  },
@@ -5,8 +5,8 @@ import { startHttpRpcServer } from '@aztec/foundation/json-rpc/server';
5
5
  import { createOracleTestRpcServer } from '../oracle/test-resolver/index.js';
6
6
 
7
7
  /**
8
- * Starts an HTTP RPC server that resolves oracle foreign calls using hardcoded fixture scenarios.
9
- * Used by `nargo test --oracle-resolver` to run `#[oracle_test]` roundtrip tests with a dedicated oracle resolver.
8
+ * Starts an HTTP RPC server that resolves oracle foreign calls using auto-synthesized fixture scenarios. Used by
9
+ * `nargo test --oracle-resolver` to run `#[generate_oracle_tests]` serialization tests against a dedicated resolver.
10
10
  * Logs fixture coverage on shutdown.
11
11
  */
12
12
  async function main() {