@aztec/txe 5.0.0-rc.1 → 5.0.0

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 (133) 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-UPW55EJX.js → chunk-PDOEF22H.js} +2 -2
  20. package/dest/{chunk-UPW55EJX.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/index.d.ts +1 -1
  27. package/dest/index.d.ts.map +1 -1
  28. package/dest/index.js +5 -3
  29. package/dest/metafile.json +9768 -8714
  30. package/dest/oracle/interfaces.d.ts +19 -10
  31. package/dest/oracle/interfaces.d.ts.map +1 -1
  32. package/dest/oracle/tagging_secret_strategy.d.ts +12 -0
  33. package/dest/oracle/tagging_secret_strategy.d.ts.map +1 -0
  34. package/dest/oracle/tagging_secret_strategy.js +12 -0
  35. package/dest/oracle/test-resolver/default_fixtures.d.ts +9 -0
  36. package/dest/oracle/test-resolver/default_fixtures.d.ts.map +1 -0
  37. package/dest/oracle/test-resolver/default_fixtures.js +207 -0
  38. package/dest/oracle/test-resolver/index.d.ts +1 -1
  39. package/dest/oracle/test-resolver/index.d.ts.map +1 -1
  40. package/dest/oracle/test-resolver/index.js +1 -2
  41. package/dest/oracle/test-resolver/resolver.d.ts +22 -8
  42. package/dest/oracle/test-resolver/resolver.d.ts.map +1 -1
  43. package/dest/oracle/test-resolver/resolver.js +100 -33
  44. package/dest/oracle/txe_oracle_public_context.d.ts +9 -9
  45. package/dest/oracle/txe_oracle_public_context.d.ts.map +1 -1
  46. package/dest/oracle/txe_oracle_public_context.js +15 -9
  47. package/dest/oracle/txe_oracle_registry.d.ts +159 -3
  48. package/dest/oracle/txe_oracle_registry.d.ts.map +1 -1
  49. package/dest/oracle/txe_oracle_registry.js +221 -34
  50. package/dest/oracle/txe_oracle_top_level_context.d.ts +22 -8
  51. package/dest/oracle/txe_oracle_top_level_context.d.ts.map +1 -1
  52. package/dest/oracle/txe_oracle_top_level_context.js +107 -49
  53. package/dest/oracle/txe_oracle_version.d.ts +3 -3
  54. package/dest/oracle/txe_oracle_version.js +3 -3
  55. package/dest/rpc_translator.d.ts +14 -4
  56. package/dest/rpc_translator.d.ts.map +1 -1
  57. package/dest/rpc_translator.js +91 -11
  58. package/dest/server.bundle.js +1 -1
  59. package/dest/state_machine/archiver.d.ts +1 -1
  60. package/dest/state_machine/archiver.d.ts.map +1 -1
  61. package/dest/state_machine/archiver.js +1 -2
  62. package/dest/state_machine/dummy_p2p_client.d.ts +4 -2
  63. package/dest/state_machine/dummy_p2p_client.d.ts.map +1 -1
  64. package/dest/state_machine/dummy_p2p_client.js +6 -0
  65. package/dest/state_machine/global_variable_builder.d.ts +3 -4
  66. package/dest/state_machine/global_variable_builder.d.ts.map +1 -1
  67. package/dest/state_machine/global_variable_builder.js +0 -3
  68. package/dest/state_machine/index.d.ts +8 -6
  69. package/dest/state_machine/index.d.ts.map +1 -1
  70. package/dest/state_machine/index.js +40 -12
  71. package/dest/state_machine/synchronizer.d.ts +5 -2
  72. package/dest/state_machine/synchronizer.d.ts.map +1 -1
  73. package/dest/state_machine/synchronizer.js +6 -2
  74. package/dest/txe_session.d.ts +8 -6
  75. package/dest/txe_session.d.ts.map +1 -1
  76. package/dest/txe_session.js +72 -32
  77. package/dest/utils/block_creation.d.ts +2 -2
  78. package/dest/utils/block_creation.d.ts.map +1 -1
  79. package/dest/utils/block_creation.js +2 -2
  80. package/dest/utils/encoding.d.ts +4 -3
  81. package/dest/utils/encoding.d.ts.map +1 -1
  82. package/dest/utils/tx_effect_creation.d.ts +1 -1
  83. package/dest/utils/tx_effect_creation.d.ts.map +1 -1
  84. package/dest/utils/tx_effect_creation.js +0 -1
  85. package/dest/utils/txe_public_contract_data_source.d.ts +1 -1
  86. package/dest/utils/txe_public_contract_data_source.d.ts.map +1 -1
  87. package/dest/utils/txe_public_contract_data_source.js +7 -4
  88. package/dest/worker.bundle.js +1 -1
  89. package/package.json +17 -17
  90. package/src/bin/oracle_test_server.ts +2 -2
  91. package/src/constants.ts +1 -1
  92. package/src/index.ts +5 -3
  93. package/src/oracle/interfaces.ts +21 -8
  94. package/src/oracle/tagging_secret_strategy.ts +25 -0
  95. package/src/oracle/test-resolver/default_fixtures.ts +282 -0
  96. package/src/oracle/test-resolver/index.ts +1 -2
  97. package/src/oracle/test-resolver/resolver.ts +122 -42
  98. package/src/oracle/txe_oracle_public_context.ts +16 -14
  99. package/src/oracle/txe_oracle_registry.ts +156 -18
  100. package/src/oracle/txe_oracle_top_level_context.ts +147 -50
  101. package/src/oracle/txe_oracle_version.ts +3 -3
  102. package/src/rpc_translator.ts +119 -11
  103. package/src/state_machine/archiver.ts +0 -1
  104. package/src/state_machine/dummy_p2p_client.ts +9 -0
  105. package/src/state_machine/global_variable_builder.ts +2 -16
  106. package/src/state_machine/index.ts +49 -30
  107. package/src/state_machine/synchronizer.ts +8 -2
  108. package/src/txe_session.ts +104 -27
  109. package/src/utils/block_creation.ts +2 -1
  110. package/src/utils/tx_effect_creation.ts +0 -2
  111. package/src/utils/txe_public_contract_data_source.ts +6 -4
  112. package/dest/AuthRegistry-CPGFQR26.js +0 -3
  113. package/dest/AuthRegistry-CPGFQR26.js.map +0 -7
  114. package/dest/ContractClassRegistry-EHVIHGEK.js +0 -3
  115. package/dest/ContractClassRegistry-EHVIHGEK.js.map +0 -7
  116. package/dest/ContractInstanceRegistry-DWZDXHRG.js +0 -3
  117. package/dest/ContractInstanceRegistry-DWZDXHRG.js.map +0 -7
  118. package/dest/FeeJuice-MI32ZO7B.js +0 -3
  119. package/dest/FeeJuice-MI32ZO7B.js.map +0 -7
  120. package/dest/HandshakeRegistry-3KSP3ITH.js +0 -3
  121. package/dest/HandshakeRegistry-3KSP3ITH.js.map +0 -7
  122. package/dest/MultiCallEntrypoint-IU7HYFYE.js +0 -3
  123. package/dest/MultiCallEntrypoint-IU7HYFYE.js.map +0 -7
  124. package/dest/SchnorrAccount-6TUE7JX4.js +0 -3
  125. package/dest/SchnorrAccount-6TUE7JX4.js.map +0 -7
  126. package/dest/SchnorrInitializerlessAccount-S3DU2DJK.js +0 -3
  127. package/dest/SchnorrInitializerlessAccount-S3DU2DJK.js.map +0 -7
  128. package/dest/chunk-5U25VAFR.js +0 -265
  129. package/dest/chunk-5U25VAFR.js.map +0 -7
  130. package/dest/oracle/test-resolver/fixtures.d.ts +0 -43
  131. package/dest/oracle/test-resolver/fixtures.d.ts.map +0 -1
  132. package/dest/oracle/test-resolver/fixtures.js +0 -39
  133. package/src/oracle/test-resolver/fixtures.ts +0 -84
@@ -4,8 +4,8 @@ import { Schnorr } from '@aztec/foundation/crypto/schnorr';
4
4
  import { Fr } from '@aztec/foundation/curves/bn254';
5
5
  import { LogLevels, applyStringFormatting, createLogger } from '@aztec/foundation/log';
6
6
  import { TestDateProvider } from '@aztec/foundation/timer';
7
- import { CapsuleService, ORACLE_VERSION_MAJOR, composeHooks, enrichPublicSimulationError } from '@aztec/pxe/server';
8
- import { ExecutionNoteCache, ExecutionTaggingIndexCache, HashedValuesCache, PrivateExecutionOracle, TransientArrayService, UtilityExecutionOracle, buildACIRCallback, executePrivateFunction, generateSimulatedProvingResult } from '@aztec/pxe/simulator';
7
+ import { AnchoredContractData, CapsuleService, FactService, ORACLE_VERSION_MAJOR, composeHooks, enrichPublicSimulationError } from '@aztec/pxe/server';
8
+ import { CONTRACT_INSTANCE, ExecutionNoteCache, ExecutionTaggingIndexCache, HashedValuesCache, PrivateExecutionOracle, TransientArrayService, UtilityExecutionOracle, buildACIRCallback, executePrivateFunction, generateSimulatedProvingResult } from '@aztec/pxe/simulator';
9
9
  import { ExecutionError, WASMSimulator, createSimulationError, extractCallStack, resolveAssertionMessageFromError, toACVMWitness, witnessMapToFields } from '@aztec/simulator/client';
10
10
  import { CppPublicTxSimulator, GuardedMerkleTreeOperations, PublicContractsDB, PublicProcessor } from '@aztec/simulator/server';
11
11
  import { FunctionCall, FunctionSelector, FunctionType } from '@aztec/stdlib/abi';
@@ -16,7 +16,9 @@ import { computePartialAddress } from '@aztec/stdlib/contract';
16
16
  import { Gas, GasFees } from '@aztec/stdlib/gas';
17
17
  import { computeCalldataHash, computeProtocolNullifier, siloNullifier } from '@aztec/stdlib/hash';
18
18
  import { PartialPrivateTailPublicInputsForPublic, PrivateKernelTailCircuitPublicInputs, PrivateToPublicAccumulatedData, PublicCallRequest } from '@aztec/stdlib/kernel';
19
- import { hashPublicKey } from '@aztec/stdlib/keys';
19
+ import { deriveKeys, hashPublicKey } from '@aztec/stdlib/keys';
20
+ import { AppTaggingSecretKind } from '@aztec/stdlib/logs';
21
+ import { L1Actor, L1ToL2Message, L2Actor } from '@aztec/stdlib/messaging';
20
22
  import { ChonkProof } from '@aztec/stdlib/proofs';
21
23
  import { makeGlobalVariables } from '@aztec/stdlib/testing';
22
24
  import { MerkleTreeId } from '@aztec/stdlib/trees';
@@ -25,6 +27,7 @@ import { ForkCheckpoint } from '@aztec/world-state/native';
25
27
  import { DEFAULT_ADDRESS, MAX_PRIVATE_EVENTS_PER_TXE_QUERY, MAX_PRIVATE_EVENT_LEN } from '../constants.js';
26
28
  import { getSingleTxBlockRequestHash, insertTxEffectIntoWorldTrees, makeTXEBlock } from '../utils/block_creation.js';
27
29
  import { TXEPublicContractDataSource } from '../utils/txe_public_contract_data_source.js';
30
+ import { makeResolveTaggingSecretStrategyHook } from './tagging_secret_strategy.js';
28
31
  export class TXEOracleTopLevelContext {
29
32
  stateMachine;
30
33
  contractStore;
@@ -34,20 +37,22 @@ export class TXEOracleTopLevelContext {
34
37
  accountStore;
35
38
  senderTaggingStore;
36
39
  recipientTaggingStore;
37
- senderAddressBookStore;
40
+ taggingSecretSourcesStore;
38
41
  capsuleStore;
42
+ factStore;
39
43
  privateEventStore;
40
44
  nextBlockTimestamp;
41
45
  version;
42
46
  chainId;
43
47
  authwits;
48
+ taggingSecretStrategies;
44
49
  artifactResolver;
45
50
  rootPath;
46
51
  packageName;
47
52
  isMisc;
48
53
  isTxe;
49
54
  logger;
50
- constructor(stateMachine, contractStore, noteStore, keyStore, addressStore, accountStore, senderTaggingStore, recipientTaggingStore, senderAddressBookStore, capsuleStore, privateEventStore, nextBlockTimestamp, version, chainId, authwits, artifactResolver, rootPath, packageName){
55
+ constructor(stateMachine, contractStore, noteStore, keyStore, addressStore, accountStore, senderTaggingStore, recipientTaggingStore, taggingSecretSourcesStore, capsuleStore, factStore, privateEventStore, nextBlockTimestamp, version, chainId, authwits, taggingSecretStrategies, artifactResolver, rootPath, packageName){
51
56
  this.stateMachine = stateMachine;
52
57
  this.contractStore = contractStore;
53
58
  this.noteStore = noteStore;
@@ -56,13 +61,15 @@ export class TXEOracleTopLevelContext {
56
61
  this.accountStore = accountStore;
57
62
  this.senderTaggingStore = senderTaggingStore;
58
63
  this.recipientTaggingStore = recipientTaggingStore;
59
- this.senderAddressBookStore = senderAddressBookStore;
64
+ this.taggingSecretSourcesStore = taggingSecretSourcesStore;
60
65
  this.capsuleStore = capsuleStore;
66
+ this.factStore = factStore;
61
67
  this.privateEventStore = privateEventStore;
62
68
  this.nextBlockTimestamp = nextBlockTimestamp;
63
69
  this.version = version;
64
70
  this.chainId = chainId;
65
71
  this.authwits = authwits;
72
+ this.taggingSecretStrategies = taggingSecretStrategies;
66
73
  this.artifactResolver = artifactResolver;
67
74
  this.rootPath = rootPath;
68
75
  this.packageName = packageName;
@@ -142,7 +149,10 @@ export class TXEOracleTopLevelContext {
142
149
  }
143
150
  const blockHeader = await this.stateMachine.anchorBlockStore.getBlockHeader();
144
151
  await this.stateMachine.contractSyncService.ensureContractSynced(contractAddress, null, async (call, execScopes)=>{
145
- await this.executeUtilityCall(call, execScopes, jobId);
152
+ await this.executeUtilityCall(call, {
153
+ scopes: execScopes,
154
+ jobId
155
+ });
146
156
  }, blockHeader, jobId, [
147
157
  scope
148
158
  ]);
@@ -175,7 +185,7 @@ export class TXEOracleTopLevelContext {
175
185
  this.nextBlockTimestamp += duration;
176
186
  }
177
187
  deploymentNullifier(address) {
178
- return siloNullifier(AztecAddress.fromNumber(CONTRACT_INSTANCE_REGISTRY_CONTRACT_ADDRESS), address.toField());
188
+ return siloNullifier(AztecAddress.fromNumberUnsafe(CONTRACT_INSTANCE_REGISTRY_CONTRACT_ADDRESS), address.toField());
179
189
  }
180
190
  async deploy(contractPath, initializer, args, secret, salt, deployer) {
181
191
  const { artifact, instance } = await this.artifactResolver.resolveDeployArtifact({
@@ -201,14 +211,7 @@ export class TXEOracleTopLevelContext {
201
211
  await this.contractStore.addContractArtifact(artifact);
202
212
  this.logger.debug(`Deployed ${artifact.name} at ${instance.address}`);
203
213
  }
204
- return [
205
- instance.salt,
206
- instance.deployer.toField(),
207
- instance.currentContractClassId,
208
- instance.initializationHash,
209
- instance.immutablesHash,
210
- ...instance.publicKeys.toFields()
211
- ];
214
+ return CONTRACT_INSTANCE.serialization.fn(instance).flat();
212
215
  }
213
216
  /**
214
217
  * Mines a single block containing only the deployment nullifiers for the contracts at the given addresses.
@@ -226,7 +229,7 @@ export class TXEOracleTopLevelContext {
226
229
  this.logger.debug(`Deployed ${artifact.name} at ${instance.address}`);
227
230
  await this.contractStore.addContractInstance(instance);
228
231
  await this.contractStore.addContractArtifact(artifact);
229
- const completeAddress = await this.keyStore.addAccount(secret, partialAddress);
232
+ const completeAddress = await this.keyStore.addAccount(await deriveKeys(secret), partialAddress);
230
233
  await this.accountStore.setAccount(completeAddress.address, completeAddress);
231
234
  await this.addressStore.addCompleteAddress(completeAddress);
232
235
  this.logger.debug(`Created account ${completeAddress.address}`);
@@ -234,7 +237,7 @@ export class TXEOracleTopLevelContext {
234
237
  }
235
238
  async createAccount(secret) {
236
239
  // This is a foot gun !
237
- const completeAddress = await this.keyStore.addAccount(secret, secret);
240
+ const completeAddress = await this.keyStore.addAccount(await deriveKeys(secret), secret);
238
241
  await this.accountStore.setAccount(completeAddress.address, completeAddress);
239
242
  await this.addressStore.addCompleteAddress(completeAddress);
240
243
  this.logger.debug(`Created account ${completeAddress.address}`);
@@ -249,6 +252,29 @@ export class TXEOracleTopLevelContext {
249
252
  const authWitness = new AuthWitness(messageHash, signature.toLimbFields());
250
253
  this.authwits.set(authWitness.requestHash.toString(), authWitness);
251
254
  }
255
+ setTaggingSecretStrategies(unconstrainedStrategy, constrainedStrategy) {
256
+ const apply = (mode, strategy)=>{
257
+ if (strategy.isSome()) {
258
+ this.taggingSecretStrategies.set(mode, strategy.value);
259
+ } else {
260
+ this.taggingSecretStrategies.delete(mode);
261
+ }
262
+ };
263
+ apply(AppTaggingSecretKind.UNCONSTRAINED, unconstrainedStrategy);
264
+ apply(AppTaggingSecretKind.CONSTRAINED, constrainedStrategy);
265
+ }
266
+ async sendL1ToL2Message(content, secretHash, sender, recipient) {
267
+ // Messages are appended to the tree, so the next free slot is simply the current tree size.
268
+ const { size } = await this.stateMachine.synchronizer.getCommitted().getTreeInfo(MerkleTreeId.L1_TO_L2_MESSAGE_TREE);
269
+ const leafIndex = new Fr(size);
270
+ const message = new L1ToL2Message(new L1Actor(sender, this.chainId.toNumber()), new L2Actor(recipient, this.version.toNumber()), content, secretHash, leafIndex);
271
+ await this.mineBlock({
272
+ l1ToL2Messages: [
273
+ message.hash()
274
+ ]
275
+ });
276
+ return leafIndex;
277
+ }
252
278
  async mineBlock(options = {}) {
253
279
  const blockNumber = await this.getNextBlockNumber();
254
280
  const txEffect = TxEffect.empty();
@@ -258,7 +284,7 @@ export class TXEOracleTopLevelContext {
258
284
  ];
259
285
  txEffect.txHash = new TxHash(new Fr(blockNumber));
260
286
  const forkedWorldTrees = await this.stateMachine.synchronizer.nativeWorldStateService.fork();
261
- await insertTxEffectIntoWorldTrees(txEffect, forkedWorldTrees);
287
+ await insertTxEffectIntoWorldTrees(txEffect, forkedWorldTrees, options.l1ToL2Messages ?? []);
262
288
  const globals = makeGlobalVariables(undefined, {
263
289
  blockNumber,
264
290
  timestamp: this.nextBlockTimestamp,
@@ -270,11 +296,13 @@ export class TXEOracleTopLevelContext {
270
296
  ]);
271
297
  await forkedWorldTrees.close();
272
298
  this.logger.info(`Created block ${blockNumber} with timestamp ${block.header.globalVariables.timestamp}`);
273
- await this.stateMachine.handleL2Block(block);
299
+ await this.stateMachine.handleL2Block(block, options.l1ToL2Messages ?? []);
274
300
  }
275
301
  async privateCallNewFlow(from, targetContractAddress = AztecAddress.zero(), functionSelector = FunctionSelector.empty(), args, argsHash = Fr.zero(), isStaticCall = false, additionalScopes = [], jobId, authorizedUtilityCallTargets, gasSettings) {
276
- this.logger.verbose(`Executing external function ${await this.contractStore.getDebugFunctionName(targetContractAddress, functionSelector)}@${targetContractAddress} isStaticCall=${isStaticCall}`);
277
- const artifact = await this.contractStore.getFunctionArtifact(targetContractAddress, functionSelector);
302
+ const blockHeader = await this.stateMachine.anchorBlockStore.getBlockHeader();
303
+ const anchoredContractData = new AnchoredContractData(this.contractStore, this.stateMachine.contractClassService, blockHeader);
304
+ this.logger.verbose(`Executing external function ${await anchoredContractData.getDebugFunctionName(targetContractAddress, functionSelector)}@${targetContractAddress} isStaticCall=${isStaticCall}`);
305
+ const artifact = await anchoredContractData.getFunctionArtifact(targetContractAddress, functionSelector);
278
306
  if (!artifact) {
279
307
  const message = functionSelector.equals(await FunctionSelector.fromSignature('verify_private_authwit(Field)')) ? 'Found no account contract artifact for a private authwit check - use `create_contract_account` instead of `create_light_account` for authwit support.' : 'Function Artifact does not exist';
280
308
  throw new Error(message);
@@ -285,9 +313,11 @@ export class TXEOracleTopLevelContext {
285
313
  ];
286
314
  // Sync notes before executing private function to discover notes from previous transactions
287
315
  const utilityExecutor = async (call, execScopes)=>{
288
- await this.executeUtilityCall(call, execScopes, jobId);
316
+ await this.executeUtilityCall(call, {
317
+ scopes: execScopes,
318
+ jobId
319
+ });
289
320
  };
290
- const blockHeader = await this.stateMachine.anchorBlockStore.getBlockHeader();
291
321
  await this.stateMachine.contractSyncService.ensureContractSynced(targetContractAddress, functionSelector, utilityExecutor, blockHeader, jobId, scopes);
292
322
  const blockNumber = await this.getNextBlockNumber();
293
323
  const msgSender = from ?? AztecAddress.NULL_MSG_SENDER;
@@ -306,6 +336,8 @@ export class TXEOracleTopLevelContext {
306
336
  const privateExecutionOracle = new PrivateExecutionOracle({
307
337
  argsHash,
308
338
  txContext,
339
+ // The TXE does not run the init kernel's salt binding, so no tx-request salt is in scope.
340
+ txRequestSalt: Fr.ZERO,
309
341
  callContext,
310
342
  anchorBlockHeader: blockHeader,
311
343
  utilityExecutor,
@@ -316,15 +348,16 @@ export class TXEOracleTopLevelContext {
316
348
  ]),
317
349
  noteCache,
318
350
  taggingIndexCache,
319
- contractStore: this.contractStore,
351
+ anchoredContractData,
320
352
  noteStore: this.noteStore,
321
353
  keyStore: this.keyStore,
322
354
  addressStore: this.addressStore,
323
355
  aztecNode: this.stateMachine.node,
324
356
  senderTaggingStore: this.senderTaggingStore,
325
357
  recipientTaggingStore: this.recipientTaggingStore,
326
- senderAddressBookStore: this.senderAddressBookStore,
358
+ taggingSecretSourcesStore: this.taggingSecretSourcesStore,
327
359
  capsuleService: new CapsuleService(this.capsuleStore, scopes),
360
+ factService: new FactService(this.factStore, scopes),
328
361
  privateEventStore: this.privateEventStore,
329
362
  contractSyncService: this.stateMachine.contractSyncService,
330
363
  jobId,
@@ -335,10 +368,11 @@ export class TXEOracleTopLevelContext {
335
368
  // contract would perform, including setting senderForTags.
336
369
  senderForTags: from,
337
370
  simulator,
338
- messageContextService: this.stateMachine.messageContextService,
371
+ txResolver: this.stateMachine.txResolver,
339
372
  l2TipsStore: this.stateMachine.l2TipsProvider,
340
373
  hooks: composeHooks({
341
- authorizeUtilityCall: this.buildAuthorizeUtilityCallHook(isStaticCall ? 'private view' : 'private', authorizedUtilityCallTargets)
374
+ authorizeUtilityCall: this.buildAuthorizeUtilityCallHook(isStaticCall ? 'private view' : 'private', authorizedUtilityCallTargets),
375
+ resolveTaggingSecretStrategy: makeResolveTaggingSecretStrategyHook(this.taggingSecretStrategies)
342
376
  }),
343
377
  transientArrayService
344
378
  });
@@ -356,7 +390,6 @@ export class TXEOracleTopLevelContext {
356
390
  const calldata = await privateExecutionOracle.getHashPreimage(r.calldataHash);
357
391
  return new HashedValues(calldata, r.calldataHash);
358
392
  }));
359
- noteCache.finish();
360
393
  const nonceGenerator = noteCache.getNonceGenerator();
361
394
  result = new PrivateExecutionResult(executionResult, nonceGenerator, publicFunctionsCalldata);
362
395
  } catch (err) {
@@ -365,7 +398,7 @@ export class TXEOracleTopLevelContext {
365
398
  // According to the protocol rules, there must be at least one nullifier in the tx. The first nullifier is used as
366
399
  // the nonce generator for the note hashes.
367
400
  // We pass the non-zero minRevertibleSideEffectCounter to make sure the side effects are split correctly.
368
- const { publicInputs } = await generateSimulatedProvingResult(result, (addr, sel)=>this.contractStore.getDebugFunctionName(addr, sel), this.stateMachine.node, minRevertibleSideEffectCounter);
401
+ const { publicInputs } = await generateSimulatedProvingResult(result, (addr, sel)=>anchoredContractData.getDebugFunctionName(addr, sel), this.stateMachine.node, minRevertibleSideEffectCounter);
369
402
  const globals = makeGlobalVariables();
370
403
  globals.blockNumber = blockNumber;
371
404
  globals.timestamp = this.nextBlockTimestamp;
@@ -404,7 +437,7 @@ export class TXEOracleTopLevelContext {
404
437
  } else if (!processedTx.revertCode.isOK()) {
405
438
  if (processedTx.revertReason) {
406
439
  try {
407
- await enrichPublicSimulationError(processedTx.revertReason, this.contractStore, this.logger);
440
+ await enrichPublicSimulationError(processedTx.revertReason, this.contractStore, this.stateMachine.contractClassService, await this.stateMachine.anchorBlockStore.getBlockHeader(), this.logger);
408
441
  // eslint-disable-next-line no-empty
409
442
  } catch {}
410
443
  throw new Error(`Contract execution has reverted: ${processedTx.revertReason.getMessage()}`);
@@ -447,10 +480,11 @@ export class TXEOracleTopLevelContext {
447
480
  };
448
481
  }
449
482
  async publicCallNewFlow(from, targetContractAddress, calldata, isStaticCall, gasSettings) {
450
- this.logger.verbose(`Executing public function ${await this.contractStore.getDebugFunctionName(targetContractAddress, FunctionSelector.fromField(calldata[0]))}@${targetContractAddress} isStaticCall=${isStaticCall}`);
483
+ const anchorBlockHeader = await this.stateMachine.anchorBlockStore.getBlockHeader();
484
+ const anchoredContractData = new AnchoredContractData(this.contractStore, this.stateMachine.contractClassService, anchorBlockHeader);
485
+ this.logger.verbose(`Executing public function ${await anchoredContractData.getDebugFunctionName(targetContractAddress, FunctionSelector.fromField(calldata[0]))}@${targetContractAddress} isStaticCall=${isStaticCall}`);
451
486
  const blockNumber = await this.getNextBlockNumber();
452
487
  const txContext = new TxContext(this.chainId, this.version, gasSettings);
453
- const anchorBlockHeader = await this.stateMachine.anchorBlockStore.getBlockHeader();
454
488
  const calldataHash = await computeCalldataHash(calldata);
455
489
  const calldataHashedValues = new HashedValues(calldata, calldataHash);
456
490
  const globals = makeGlobalVariables();
@@ -507,7 +541,7 @@ export class TXEOracleTopLevelContext {
507
541
  } else if (!processedTx.revertCode.isOK()) {
508
542
  if (processedTx.revertReason) {
509
543
  try {
510
- await enrichPublicSimulationError(processedTx.revertReason, this.contractStore, this.logger);
544
+ await enrichPublicSimulationError(processedTx.revertReason, this.contractStore, this.stateMachine.contractClassService, anchorBlockHeader, this.logger);
511
545
  // eslint-disable-next-line no-empty
512
546
  } catch {}
513
547
  throw new Error(`Contract execution has reverted: ${processedTx.revertReason.getMessage()}`);
@@ -537,15 +571,19 @@ export class TXEOracleTopLevelContext {
537
571
  await forkedWorldTrees.close();
538
572
  return returnValues ?? [];
539
573
  }
540
- async executeUtilityFunction(targetContractAddress, functionSelector, args, jobId, authorizedUtilityCallTargets) {
541
- const artifact = await this.contractStore.getFunctionArtifact(targetContractAddress, functionSelector);
574
+ async executeUtilityFunction(from, targetContractAddress, functionSelector, args, jobId, authorizedUtilityCallTargets) {
575
+ const blockHeader = await this.stateMachine.anchorBlockStore.getBlockHeader();
576
+ const anchoredContractData = new AnchoredContractData(this.contractStore, this.stateMachine.contractClassService, blockHeader);
577
+ const artifact = await anchoredContractData.getFunctionArtifact(targetContractAddress, functionSelector);
542
578
  if (!artifact) {
543
579
  throw new Error(`Cannot call ${functionSelector} as there is no artifact found at ${targetContractAddress}.`);
544
580
  }
545
581
  // Sync notes before executing utility function to discover notes from previous transactions
546
- const blockHeader = await this.stateMachine.anchorBlockStore.getBlockHeader();
547
582
  await this.stateMachine.contractSyncService.ensureContractSynced(targetContractAddress, functionSelector, async (call, execScopes)=>{
548
- await this.executeUtilityCall(call, execScopes, jobId);
583
+ await this.executeUtilityCall(call, {
584
+ scopes: execScopes,
585
+ jobId
586
+ });
549
587
  }, blockHeader, jobId, await this.keyStore.getAccounts());
550
588
  const call = FunctionCall.from({
551
589
  name: artifact.name,
@@ -557,10 +595,20 @@ export class TXEOracleTopLevelContext {
557
595
  args,
558
596
  returnTypes: []
559
597
  });
560
- return this.executeUtilityCall(call, await this.keyStore.getAccounts(), jobId, authorizedUtilityCallTargets);
598
+ return this.executeUtilityCall(call, {
599
+ from,
600
+ scopes: await this.keyStore.getAccounts(),
601
+ jobId,
602
+ authorizedUtilityCallTargets
603
+ });
561
604
  }
562
- async executeUtilityCall(call, scopes, jobId, authorizedUtilityCallTargets = []) {
563
- const entryPointArtifact = await this.contractStore.getFunctionArtifactWithDebugMetadata(call.to, call.selector);
605
+ async executeUtilityCall(call, { from = AztecAddress.NULL_MSG_SENDER, scopes, jobId, authorizedUtilityCallTargets = [] }) {
606
+ const anchorBlockHeader = await this.stateMachine.anchorBlockStore.getBlockHeader();
607
+ const anchoredContractData = new AnchoredContractData(this.contractStore, this.stateMachine.contractClassService, anchorBlockHeader);
608
+ const entryPointArtifact = await anchoredContractData.getFunctionArtifactWithDebugMetadata(call.to, call.selector);
609
+ if (!entryPointArtifact) {
610
+ throw new Error(`Cannot run function ${call.selector} on ${call.to}: the contract is not registered.`);
611
+ }
564
612
  if (entryPointArtifact.functionType !== FunctionType.UTILITY) {
565
613
  throw new Error(`Cannot run ${entryPointArtifact.functionType} function as utility`);
566
614
  }
@@ -569,35 +617,44 @@ export class TXEOracleTopLevelContext {
569
617
  selector: call.selector
570
618
  });
571
619
  try {
572
- const anchorBlockHeader = await this.stateMachine.anchorBlockStore.getBlockHeader();
573
620
  const simulator = new WASMSimulator();
574
621
  const utilityExecutor = async (syncCall, execScopes)=>{
575
- await this.executeUtilityCall(syncCall, execScopes, jobId);
622
+ await this.executeUtilityCall(syncCall, {
623
+ scopes: execScopes,
624
+ jobId,
625
+ authorizedUtilityCallTargets
626
+ });
576
627
  };
577
628
  const oracle = new UtilityExecutionOracle({
578
- contractAddress: call.to,
629
+ callContext: CallContext.from({
630
+ msgSender: from,
631
+ contractAddress: call.to,
632
+ functionSelector: call.selector,
633
+ isStaticCall: true
634
+ }),
579
635
  authWitnesses: [],
580
636
  capsules: [],
581
637
  anchorBlockHeader,
582
- contractStore: this.contractStore,
638
+ anchoredContractData,
583
639
  noteStore: this.noteStore,
584
640
  keyStore: this.keyStore,
585
641
  addressStore: this.addressStore,
586
642
  aztecNode: this.stateMachine.node,
587
643
  recipientTaggingStore: this.recipientTaggingStore,
588
- senderAddressBookStore: this.senderAddressBookStore,
644
+ taggingSecretSourcesStore: this.taggingSecretSourcesStore,
589
645
  capsuleService: new CapsuleService(this.capsuleStore, scopes),
646
+ factService: new FactService(this.factStore, scopes),
590
647
  privateEventStore: this.privateEventStore,
591
- messageContextService: this.stateMachine.messageContextService,
648
+ txResolver: this.stateMachine.txResolver,
592
649
  contractSyncService: this.stateMachine.contractSyncService,
593
650
  l2TipsStore: this.stateMachine.l2TipsProvider,
594
651
  jobId,
595
652
  scopes,
596
653
  simulator,
654
+ utilityExecutor,
597
655
  hooks: composeHooks({
598
656
  authorizeUtilityCall: this.buildAuthorizeUtilityCallHook('utility', authorizedUtilityCallTargets)
599
657
  }),
600
- utilityExecutor,
601
658
  // Execution-tree root (top-level utility run or contract sync): own store; nested frames inherit it.
602
659
  transientArrayService: new TransientArrayService()
603
660
  });
@@ -620,7 +677,8 @@ export class TXEOracleTopLevelContext {
620
677
  this.logger.debug('Exiting Top Level Context');
621
678
  return [
622
679
  this.nextBlockTimestamp,
623
- this.authwits
680
+ this.authwits,
681
+ this.taggingSecretStrategies
624
682
  ];
625
683
  }
626
684
  async getLastBlockNumber() {
@@ -5,13 +5,13 @@
5
5
  *
6
6
  * The Noir counterparts are in `noir-projects/aztec-nr/aztec/src/test/helpers/txe_oracles.nr`.
7
7
  */
8
- export declare const TXE_ORACLE_VERSION_MAJOR = 1;
9
- export declare const TXE_ORACLE_VERSION_MINOR = 2;
8
+ export declare const TXE_ORACLE_VERSION_MAJOR = 3;
9
+ export declare const TXE_ORACLE_VERSION_MINOR = 0;
10
10
  /**
11
11
  * This hash is computed from the TXE oracle interfaces (IAvmExecutionOracle and ITxeExecutionOracle) and is used to
12
12
  * detect when those interfaces change. When it does, bump:
13
13
  * - TXE_ORACLE_VERSION_MAJOR (and reset MINOR to 0) for breaking changes, or
14
14
  * - TXE_ORACLE_VERSION_MINOR for additive changes (new oracle method added).
15
15
  */
16
- export declare const TXE_ORACLE_INTERFACE_HASH = "9e5f6ad5fd170d1de5ddd417f19cce47b17382567e08360dc6a783154828e218";
16
+ export declare const TXE_ORACLE_INTERFACE_HASH = "bea75bd85baebd7aa1438efb1defab496d27540bc805a8d854bb74b8d45fd859";
17
17
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHhlX29yYWNsZV92ZXJzaW9uLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvb3JhY2xlL3R4ZV9vcmFjbGVfdmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFDSCxlQUFPLE1BQU0sd0JBQXdCLElBQUksQ0FBQztBQUMxQyxlQUFPLE1BQU0sd0JBQXdCLElBQUksQ0FBQztBQUUxQzs7Ozs7R0FLRztBQUNILGVBQU8sTUFBTSx5QkFBeUIscUVBQXFFLENBQUMifQ==
@@ -4,11 +4,11 @@
4
4
  * oracles used during contract execution by PXE.
5
5
  *
6
6
  * The Noir counterparts are in `noir-projects/aztec-nr/aztec/src/test/helpers/txe_oracles.nr`.
7
- */ export const TXE_ORACLE_VERSION_MAJOR = 1;
8
- export const TXE_ORACLE_VERSION_MINOR = 2;
7
+ */ export const TXE_ORACLE_VERSION_MAJOR = 3;
8
+ export const TXE_ORACLE_VERSION_MINOR = 0;
9
9
  /**
10
10
  * This hash is computed from the TXE oracle interfaces (IAvmExecutionOracle and ITxeExecutionOracle) and is used to
11
11
  * detect when those interfaces change. When it does, bump:
12
12
  * - TXE_ORACLE_VERSION_MAJOR (and reset MINOR to 0) for breaking changes, or
13
13
  * - TXE_ORACLE_VERSION_MINOR for additive changes (new oracle method added).
14
- */ export const TXE_ORACLE_INTERFACE_HASH = '9e5f6ad5fd170d1de5ddd417f19cce47b17382567e08360dc6a783154828e218';
14
+ */ export const TXE_ORACLE_INTERFACE_HASH = 'bea75bd85baebd7aa1438efb1defab496d27540bc805a8d854bb74b8d45fd859';
@@ -37,6 +37,8 @@ export declare class RPCTranslator {
37
37
  aztec_txe_createAccount(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
38
38
  aztec_txe_addAccount(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
39
39
  aztec_txe_addAuthWitness(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
40
+ aztec_txe_sendL1ToL2Message(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
41
+ aztec_txe_setTaggingSecretStrategies(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
40
42
  aztec_misc_assertCompatibleOracleVersion(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
41
43
  aztec_misc_getRandomField(): Promise<import("./utils/encoding.js").ForeignCallResult>;
42
44
  aztec_txe_getLastBlockTimestamp(): Promise<import("./utils/encoding.js").ForeignCallResult>;
@@ -60,6 +62,7 @@ export declare class RPCTranslator {
60
62
  aztec_utl_getKeyValidationRequest(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
61
63
  aztec_prv_callPrivateFunction(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
62
64
  aztec_utl_getNullifierMembershipWitness(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
65
+ aztec_utl_getL1ToL2MembershipWitnessV2(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
63
66
  aztec_utl_getAuthWitness(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
64
67
  aztec_prv_assertValidPublicCalldata(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
65
68
  aztec_prv_notifyRevertiblePhaseStart(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
@@ -68,11 +71,12 @@ export declare class RPCTranslator {
68
71
  aztec_utl_getBlockHeader(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
69
72
  aztec_utl_getNoteHashMembershipWitness(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
70
73
  aztec_utl_getBlockHashMembershipWitness(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
74
+ aztec_utl_areBlockHashesInArchive(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
71
75
  aztec_utl_getLowNullifierMembershipWitness(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
72
- aztec_utl_getPendingTaggedLogs(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
76
+ aztec_utl_getPendingTaggedLogsV2(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
73
77
  aztec_utl_validateAndStoreEnqueuedNotesAndEvents(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
74
- aztec_utl_getLogsByTag(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
75
- aztec_utl_getMessageContextsByTxHash(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
78
+ aztec_utl_getLogsByTagV2(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
79
+ aztec_utl_getResolvedTxs(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
76
80
  aztec_utl_setCapsule(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
77
81
  aztec_utl_getCapsule(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
78
82
  aztec_utl_deleteCapsule(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
@@ -95,6 +99,10 @@ export declare class RPCTranslator {
95
99
  aztec_utl_getSharedSecrets(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
96
100
  aztec_utl_setContractSyncCacheInvalid(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
97
101
  aztec_utl_emitOffchainEffect(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
102
+ aztec_utl_recordFact(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
103
+ aztec_utl_deleteFactCollection(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
104
+ aztec_utl_getFactCollection(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
105
+ aztec_utl_getFactCollectionsByType(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
98
106
  aztec_avm_emitPublicLog(): Promise<import("./utils/encoding.js").ForeignCallResult>;
99
107
  aztec_avm_storageRead(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
100
108
  aztec_avm_storageWrite(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
@@ -121,7 +129,9 @@ export declare class RPCTranslator {
121
129
  aztec_txe_executeUtilityFunction(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
122
130
  aztec_txe_publicCallNewFlow(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
123
131
  aztec_prv_getSenderForTags(): Promise<import("./utils/encoding.js").ForeignCallResult>;
132
+ aztec_prv_resolveTaggingStrategy(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
133
+ aztec_prv_resolveCustomRequest(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
124
134
  aztec_prv_getAppTaggingSecret(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
125
135
  aztec_prv_getNextTaggingIndex(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
126
136
  }
127
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnBjX3RyYW5zbGF0b3IuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9ycGNfdHJhbnNsYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsdUJBQXVCLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUUxRyxPQUFPLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXZGLE9BQU8sS0FBSyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDL0QsT0FBTyxLQUFLLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFM0QscUJBQWEsc0JBQXVCLFNBQVEsS0FBSztJQUMvQyxZQUFZLFVBQVUsRUFBRSxNQUFNLEVBRTdCO0NBQ0Y7QUFFRCxxQkFBYSxhQUFhO0lBV3RCLE9BQU8sQ0FBQyxZQUFZO0lBQ3BCLE9BQU8sQ0FBQyxhQUFhO0lBWHZCOzs7Ozs7OztPQVFHO0lBQ0gsWUFDVSxZQUFZLEVBQUUsc0JBQXNCLEVBQ3BDLGFBQWEsRUFDakIsV0FBVyxHQUNYLHVCQUF1QixHQUN2Qix1QkFBdUIsR0FDdkIsbUJBQW1CLEdBQ25CLG1CQUFtQixFQUNyQjtJQUtKLE9BQU8sQ0FBQyxhQUFhO0lBUXJCLE9BQU8sQ0FBQyxnQkFBZ0I7SUFReEIsT0FBTyxDQUFDLGdCQUFnQjtJQVF4QixPQUFPLENBQUMsWUFBWTtJQVFwQixPQUFPLENBQUMsWUFBWTtJQVNwQix1Q0FBdUMsQ0FBQyxHQUFHLE1BQU0sRUFBRSxlQUFlLDREQVFqRTtJQUtELCtCQUErQiw2REFNOUI7SUFHRCw4QkFBOEIsQ0FBQyxHQUFHLE1BQU0sRUFBRSxlQUFlLDREQU94RDtJQUdELDZCQUE2QixDQUFDLEdBQUcsTUFBTSxFQUFFLGVBQWUsNERBTXZEO0lBR0QsOEJBQThCLENBQUMsR0FBRyxNQUFNLEVBQUUsZUFBZSw0REFN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
137
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnBjX3RyYW5zbGF0b3IuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9ycGNfdHJhbnNsYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsdUJBQXVCLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUUxRyxPQUFPLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXZGLE9BQU8sS0FBSyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDL0QsT0FBTyxLQUFLLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFM0QscUJBQWEsc0JBQXVCLFNBQVEsS0FBSztJQUMvQyxZQUFZLFVBQVUsRUFBRSxNQUFNLEVBRTdCO0NBQ0Y7QUFFRCxxQkFBYSxhQUFhO0lBV3RCLE9BQU8sQ0FBQyxZQUFZO0lBQ3BCLE9BQU8sQ0FBQyxhQUFhO0lBWHZCOzs7Ozs7OztPQVFHO0lBQ0gsWUFDVSxZQUFZLEVBQUUsc0JBQXNCLEVBQ3BDLGFBQWEsRUFDakIsV0FBVyxHQUNYLHVCQUF1QixHQUN2Qix1QkFBdUIsR0FDdkIsbUJBQW1CLEdBQ25CLG1CQUFtQixFQUNyQjtJQUtKLE9BQU8sQ0FBQyxhQUFhO0lBUXJCLE9BQU8sQ0FBQyxnQkFBZ0I7SUFReEIsT0FBTyxDQUFDLGdCQUFnQjtJQVF4QixPQUFPLENBQUMsWUFBWTtJQVFwQixPQUFPLENBQUMsWUFBWTtJQVNwQix1Q0FBdUMsQ0FBQyxHQUFHLE1BQU0sRUFBRSxlQUFlLDREQVFqRTtJQUtELCtCQUErQiw2REFNOUI7SUFHRCw4QkFBOEIsQ0FBQyxHQUFHLE1BQU0sRUFBRSxlQUFlLDREQU94RDtJQUdELDZCQUE2QixDQUFDLEdBQUcsTUFBTSxFQUFFLGVBQWUsNERBTXZEO0lBR0QsOEJBQThCLENBQUMsR0FBRyxNQUFNLEVBQUUsZUFBZSw0REFNeEQ7SUFPRCwyQkFBMkIsNkRBTTFCO0lBR0QsNEJBQTRCLDZEQU0zQjtJQUdELCtCQUErQiw2REFNOUI7SUFHRCx5QkFBeUIsQ0FBQyxHQUFHLE1BQU0sRUFBRSxlQUFlLDREQU1uRDtJQUdELDRCQUE0QixDQUFDLEdBQUcsTUFBTSxFQUFFLGVBQWUsNERBTXREO0lBR0QsZ0JBQWdCLENBQUMsR0FBRyxNQUFNLEVBQUUsZUFBZSw0REFPMUM7SUFHRCx1QkFBdUIsQ0FBQyxHQUFHLE1BQU0sRUFBRSxlQUFlLDREQU1qRDtJQUdELG9CQUFvQixDQUFDLEdBQUcsTUFBTSxFQUFFLGVBQWUsNERBTTlDO0lBR0Qsd0JBQXdCLENBQUMsR0FBRyxNQUFNLEVBQUUsZUFBZSw0REFNbEQ7SUFHRCwyQkFBMkIsQ0FBQyxHQUFHLE1BQU0sRUFBRSxlQUFlLDREQU9yRDtJQUdELG9DQUFvQyxDQUFDLEdBQUcsTUFBTSxFQUFFLGVBQWUsNERBTzlEO0lBS0Qsd0NBQXdDLENBQUMsR0FBRyxNQUFNLEVBQUUsZUFBZSw0REFNbEU7SUFHRCx5QkFBeUIsNkRBTXhCO0lBR0QsK0JBQStCLDZEQU05QjtJQUdELDBCQUEwQiw2REFNekI7SUFHRCxvQ0FBb0MsNkRBTW5DO0lBR0QsNEJBQTRCLDZEQU0zQjtJQUdELDBCQUEwQixDQUFDLEdBQUcsTUFBTSxFQUFFLGVBQWUsNERBT3BEO0lBR0QseUJBQXlCLENBQUMsR0FBRyxNQUFNLEVBQUUsZUFBZSw0REFNbkQ7SUFHRCx5QkFBeUIsQ0FBQyxHQUFHLE1BQU0sRUFBRSxlQUFlLDREQU1uRDtJQUdELGNBQWMsQ0FBQyxHQUFHLE1BQU0sRUFBRSxlQUFlLDREQU14QztJQUdELDhCQUE4QixDQUFDLEdBQUcsTUFBTSxFQUFFLGVBQWUsNERBT3hEO0lBR0QsOEJBQThCLENBQUMsR0FBRyxNQUFNLEVBQUUsZUFBZSw0REFNeEQ7SUFHRCxrQkFBa0IsQ0FBQyxHQUFHLE1BQU0sRUFBRSxlQUFlLDREQTJDNUM7SUFHRCwyQkFBMkIsQ0FBQyxHQUFHLE1BQU0sRUFBRSxlQUFlLDREQU9yRDtJQUdELDZCQUE2QixDQUFDLEdBQUcsTUFBTSxFQUFFLGVBQWUsNERBT3ZEO0lBR0QsZ0NBQWdDLENBQUMsR0FBRyxNQUFNLEVBQUUsZUFBZSw0REFNMUQ7SUFHRCw0QkFBNEIsQ0FBQyxHQUFHLE1BQU0sRUFBRSxlQUFlLDREQU90RDtJQUdELDRCQUE0QixDQUFDLEdBQUcsTUFBTSxFQUFFLGVBQWUsNERBTXREO0lBR0QsNkJBQTZCLENBQUMsR0FBRyxNQUFNLEVBQUUsZUFBZSw0REFNdkQ7SUFHRCx3Q0FBd0MsQ0FBQyxHQUFHLE1BQU0sRUFBRSxlQUFlLDREQU1sRTtJQUdELGlDQUFpQyxDQUFDLEdBQUcsTUFBTSxFQUFFLGVBQWUsNERBTTNEO0lBR0QsNkJBQTZCLENBQUMsR0FBRyxNQUFNLEVBQUUsZUFBZSw0REFhdkQ7SUFHRCx1Q0FBdUMsQ0FBQyxHQUFHLE1BQU0sRUFBRSxlQUFlLDREQU1qRTtJQUdELHNDQUFzQyxDQUFDLEdBQUcsTUFBTSxFQUFFLGVBQWUsNERBT2hFO0lBR0Qsd0JBQXdCLENBQUMsR0FBRyxNQUFNLEVBQUUsZUFBZSw0REFNbEQ7SUFHRCxtQ0FBbUMsQ0FBQyxHQUFHLE1BQU0sRUFBRSxlQUFlLDREQU03RDtJQUdELG9DQUFvQyxDQUFDLEdBQUcsTUFBTSxFQUFFLGVBQWUsNERBTzlEO0lBR0Qsc0NBQXNDLENBQUMsR0FBRyxNQUFNLEVBQUUsZUFBZSw0REFNaEU7SUFHRCwyQkFBMkIsNkRBTTFCO0lBR0Qsd0JBQXdCLENBQUMsR0FBRyxNQUFNLEVBQUUsZUFBZSw0REFNbEQ7SUFHRCxzQ0FBc0MsQ0FBQyxHQUFHLE1BQU0sRUFBRSxlQUFlLDREQU1oRTtJQUdELHVDQUF1QyxDQUFDLEdBQUcsTUFBTSxFQUFFLGVBQWUsNERBT2pFO0lBR0QsaUNBQWlDLENBQUMsR0FBRyxNQUFNLEVBQUUsZUFBZSw0REFPM0Q7SUFHRCwwQ0FBMEMsQ0FBQyxHQUFHLE1BQU0sRUFBRSxlQUFlLDREQU9wRTtJQUdELGdDQUFnQyxDQUFDLEdBQUcsTUFBTSxFQUFFLGVBQWUsNERBTTFEO0lBR0QsZ0RBQWdELENBQUMsR0FBRyxNQUFNLEVBQUUsZUFBZSw0REFXMUU7SUFHRCx3QkFBd0IsQ0FBQyxHQUFHLE1BQU0sRUFBRSxlQUFlLDREQU1sRDtJQUdELHdCQUF3QixDQUFDLEdBQUcsTUFBTSxFQUFFLGVBQWUsNERBTWxEO0lBR0Qsb0JBQW9CLENBQUMsR0FBRyxNQUFNLEVBQUUsZUFBZSw0REFPOUM7SUFHRCxvQkFBb0IsQ0FBQyxHQUFHLE1BQU0sRUFBRSxlQUFlLDREQU85QztJQUdELHVCQUF1QixDQUFDLEdBQUcsTUFBTSxFQUFFLGVBQWUsNERBTWpEO0lBR0QscUJBQXFCLENBQUMsR0FBRyxNQUFNLEVBQUUsZUFBZSw0REFPL0M7SUFHRCx1QkFBdUIsQ0FBQyxHQUFHLE1BQU0sRUFBRSxlQUFlLDREQU1qRDtJQUdELHNCQUFzQixDQUFDLEdBQUcsTUFBTSxFQUFFLGVBQWUsNERBTWhEO0lBR0Qsc0JBQXNCLENBQUMsR0FBRyxNQUFNLEVBQUUsZUFBZSw0REFNaEQ7SUFHRCxzQkFBc0IsQ0FBQyxHQUFHLE1BQU0sRUFBRSxlQUFlLDREQU1oRDtJQUdELHlCQUF5QixDQUFDLEdBQUcsTUFBTSxFQUFFLGVBQWUsNERBTW5EO0lBR0QseUJBQXlCLENBQUMsR0FBRyxNQUFNLEVBQUUsZUFBZSw0REFNbkQ7SUFHRCx3QkFBd0IsQ0FBQyxHQUFHLE1BQU0sRUFBRSxlQUFlLDREQU1sRDtJQUdELHVCQUF1QixDQUFDLEdBQUcsTUFBTSxFQUFFLGVBQWUsNERBTWpEO0lBR0Qsc0JBQXNCLENBQUMsR0FBRyxNQUFNLEVBQUUsZUFBZSw0REFNaEQ7SUFHRCxzQkFBc0IsQ0FBQyxHQUFHLE1BQU0sRUFBRSxlQUFlLDREQU1oRDtJQUdELHNCQUFzQixDQUFDLEdBQUcsTUFBTSxFQUFFLGVBQWUsNERBTWhEO0lBR0QseUJBQXlCLENBQUMsR0FBRyxNQUFNLEVBQUUsZUFBZSw0REFNbkQ7SUFHRCx5QkFBeUIsQ0FBQyxHQUFHLE1BQU0sRUFBRSxlQUFlLDREQU1uRDtJQUdELHdCQUF3QixDQUFDLEdBQUcsTUFBTSxFQUFFLGVBQWUsNERBTWxEO0lBT0QsdUJBQXVCLENBQUMsR0FBRyxNQUFNLEVBQUUsZUFBZSw0REFNakQ7SUFHRCwwQkFBMEIsQ0FBQyxHQUFHLE1BQU0sRUFBRSxlQUFlLDREQU9wRDtJQUdELHFDQUFxQyxDQUFDLEdBQUcsTUFBTSxFQUFFLGVBQWUsNERBTy9EO0lBR0QsNEJBQTRCLENBQUMsR0FBRyxNQUFNLEVBQUUsZUFBZSw0REFZdEQ7SUFHRCxvQkFBb0IsQ0FBQyxHQUFHLE1BQU0sRUFBRSxlQUFlLDREQWU5QztJQUdELDhCQUE4QixDQUFDLEdBQUcsTUFBTSxFQUFFLGVBQWUsNERBT3hEO0lBR0QsMkJBQTJCLENBQUMsR0FBRyxNQUFNLEVBQUUsZUFBZSw0REFPckQ7SUFHRCxrQ0FBa0MsQ0FBQyxHQUFHLE1BQU0sRUFBRSxlQUFlLDREQU81RDtJQUtELHVCQUF1Qiw2REFPdEI7SUFHRCxxQkFBcUIsQ0FBQyxHQUFHLE1BQU0sRUFBRSxlQUFlLDREQU0vQztJQUdELHNCQUFzQixDQUFDLEdBQUcsTUFBTSxFQUFFLGVBQWUsNERBTWhEO0lBR0QscUNBQXFDLENBQUMsR0FBRyxNQUFNLEVBQUUsZUFBZSw0REFNL0Q7SUFHRCxvQ0FBb0MsQ0FBQyxHQUFHLE1BQU0sRUFBRSxlQUFlLDREQU05RDtJQUdELCtDQUErQyxDQUFDLEdBQUcsTUFBTSxFQUFFLGVBQWUsNERBTXpFO0lBR0QsMkNBQTJDLENBQUMsR0FBRyxNQUFNLEVBQUUsZUFBZSw0REFNckU7SUFHRCxnQkFBZ0IsNkRBTWY7SUFHRCx1QkFBdUIsQ0FBQyxHQUFHLE1BQU0sRUFBRSxlQUFlLDREQU1qRDtJQUdELHNCQUFzQixDQUFDLEdBQUcsTUFBTSxFQUFFLGVBQWUsNERBTWhEO0lBR0QseUJBQXlCLENBQUMsR0FBRyxNQUFNLEVBQUUsZUFBZSw0REFNbkQ7SUFHRCxpQkFBaUIsNkRBTWhCO0lBR0QscUJBQXFCLDZEQU1wQjtJQUdELG1CQUFtQiw2REFNbEI7SUFHRCxzQkFBc0IsNkRBTXJCO0lBR0QsaUJBQWlCLDZEQU1oQjtJQUdELGlCQUFpQiw2REFNaEI7SUFHRCx3QkFBd0IsNkRBTXZCO0lBR0Qsd0JBQXdCLENBQUMsR0FBRyxNQUFNLEVBQUUsZUFBZSw0REFNbEQ7SUFHRCxjQUFjLENBQUMsR0FBRyxNQUFNLEVBQUUsZUFBZSw0REFPeEM7SUFHRCxvQkFBb0IsQ0FBQyxHQUFHLE1BQU0sRUFBRSxlQUFlLDREQU85QztJQUdELHFCQUFxQiw2REFNcEI7SUFHRCw0QkFBNEIsQ0FBQyxHQUFHLE1BQU0sRUFBRSxlQUFlLDREQTJCdEQ7SUFHRCxnQ0FBZ0MsQ0FBQyxHQUFHLE1BQU0sRUFBRSxlQUFlLDREQWExRDtJQUdELDJCQUEyQixDQUFDLEdBQUcsTUFBTSxFQUFFLGVBQWUsNERBT3JEO0lBR0QsMEJBQTBCLDZEQU16QjtJQUdELGdDQUFnQyxDQUFDLEdBQUcsTUFBTSxFQUFFLGVBQWUsNERBTzFEO0lBR0QsOEJBQThCLENBQUMsR0FBRyxNQUFNLEVBQUUsZUFBZSw0REFNeEQ7SUFHRCw2QkFBNkIsQ0FBQyxHQUFHLE1BQU0sRUFBRSxlQUFlLDREQU12RDtJQUdELDZCQUE2QixDQUFDLEdBQUcsTUFBTSxFQUFFLGVBQWUsNERBTXZEO0NBQ0YifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"rpc_translator.d.ts","sourceRoot":"","sources":["../src/rpc_translator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rpc_translator.d.ts","sourceRoot":"","sources":["../src/rpc_translator.ts"],"names":[],"mappings":"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"}