@aztec/txe 0.0.1-commit.d3ec352c → 0.0.1-commit.d6f2b3f94

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 (80) hide show
  1. package/dest/constants.d.ts +3 -0
  2. package/dest/constants.d.ts.map +1 -0
  3. package/dest/constants.js +2 -0
  4. package/dest/index.d.ts +1 -1
  5. package/dest/index.d.ts.map +1 -1
  6. package/dest/index.js +3 -2
  7. package/dest/oracle/interfaces.d.ts +7 -5
  8. package/dest/oracle/interfaces.d.ts.map +1 -1
  9. package/dest/oracle/txe_oracle_public_context.d.ts +5 -5
  10. package/dest/oracle/txe_oracle_public_context.d.ts.map +1 -1
  11. package/dest/oracle/txe_oracle_public_context.js +10 -12
  12. package/dest/oracle/txe_oracle_top_level_context.d.ts +21 -12
  13. package/dest/oracle/txe_oracle_top_level_context.d.ts.map +1 -1
  14. package/dest/oracle/txe_oracle_top_level_context.js +119 -63
  15. package/dest/rpc_translator.d.ts +27 -15
  16. package/dest/rpc_translator.d.ts.map +1 -1
  17. package/dest/rpc_translator.js +117 -53
  18. package/dest/state_machine/archiver.d.ts +21 -57
  19. package/dest/state_machine/archiver.d.ts.map +1 -1
  20. package/dest/state_machine/archiver.js +63 -107
  21. package/dest/state_machine/dummy_p2p_client.d.ts +14 -12
  22. package/dest/state_machine/dummy_p2p_client.d.ts.map +1 -1
  23. package/dest/state_machine/dummy_p2p_client.js +29 -21
  24. package/dest/state_machine/global_variable_builder.d.ts +4 -3
  25. package/dest/state_machine/global_variable_builder.d.ts.map +1 -1
  26. package/dest/state_machine/global_variable_builder.js +13 -1
  27. package/dest/state_machine/index.d.ts +7 -7
  28. package/dest/state_machine/index.d.ts.map +1 -1
  29. package/dest/state_machine/index.js +40 -23
  30. package/dest/state_machine/mock_epoch_cache.d.ts +9 -6
  31. package/dest/state_machine/mock_epoch_cache.d.ts.map +1 -1
  32. package/dest/state_machine/mock_epoch_cache.js +14 -7
  33. package/dest/state_machine/synchronizer.d.ts +3 -3
  34. package/dest/state_machine/synchronizer.d.ts.map +1 -1
  35. package/dest/state_machine/synchronizer.js +2 -2
  36. package/dest/txe_session.d.ts +18 -10
  37. package/dest/txe_session.d.ts.map +1 -1
  38. package/dest/txe_session.js +95 -46
  39. package/dest/util/encoding.d.ts +618 -19
  40. package/dest/util/encoding.d.ts.map +1 -1
  41. package/dest/util/encoding.js +1 -1
  42. package/dest/util/txe_account_store.d.ts +10 -0
  43. package/dest/util/txe_account_store.d.ts.map +1 -0
  44. package/dest/util/{txe_account_data_provider.js → txe_account_store.js} +1 -1
  45. package/dest/util/txe_contract_store.d.ts +12 -0
  46. package/dest/util/txe_contract_store.d.ts.map +1 -0
  47. package/dest/util/{txe_contract_data_provider.js → txe_contract_store.js} +3 -3
  48. package/dest/util/txe_public_contract_data_source.d.ts +5 -5
  49. package/dest/util/txe_public_contract_data_source.d.ts.map +1 -1
  50. package/dest/util/txe_public_contract_data_source.js +11 -11
  51. package/dest/utils/block_creation.d.ts +19 -5
  52. package/dest/utils/block_creation.d.ts.map +1 -1
  53. package/dest/utils/block_creation.js +38 -4
  54. package/dest/utils/tx_effect_creation.d.ts +2 -3
  55. package/dest/utils/tx_effect_creation.d.ts.map +1 -1
  56. package/dest/utils/tx_effect_creation.js +4 -7
  57. package/package.json +16 -16
  58. package/src/constants.ts +3 -0
  59. package/src/index.ts +15 -12
  60. package/src/oracle/interfaces.ts +6 -4
  61. package/src/oracle/txe_oracle_public_context.ts +10 -17
  62. package/src/oracle/txe_oracle_top_level_context.ts +189 -92
  63. package/src/rpc_translator.ts +138 -56
  64. package/src/state_machine/archiver.ts +59 -131
  65. package/src/state_machine/dummy_p2p_client.ts +40 -27
  66. package/src/state_machine/global_variable_builder.ts +19 -2
  67. package/src/state_machine/index.ts +60 -22
  68. package/src/state_machine/mock_epoch_cache.ts +15 -11
  69. package/src/state_machine/synchronizer.ts +3 -4
  70. package/src/txe_session.ts +189 -79
  71. package/src/util/encoding.ts +1 -1
  72. package/src/util/{txe_account_data_provider.ts → txe_account_store.ts} +1 -1
  73. package/src/util/{txe_contract_data_provider.ts → txe_contract_store.ts} +3 -3
  74. package/src/util/txe_public_contract_data_source.ts +10 -10
  75. package/src/utils/block_creation.ts +48 -15
  76. package/src/utils/tx_effect_creation.ts +4 -12
  77. package/dest/util/txe_account_data_provider.d.ts +0 -10
  78. package/dest/util/txe_account_data_provider.d.ts.map +0 -1
  79. package/dest/util/txe_contract_data_provider.d.ts +0 -12
  80. package/dest/util/txe_contract_data_provider.d.ts.map +0 -1
@@ -1,36 +1,42 @@
1
1
  import { CONTRACT_INSTANCE_REGISTRY_CONTRACT_ADDRESS, DEFAULT_DA_GAS_LIMIT, DEFAULT_L2_GAS_LIMIT, DEFAULT_TEARDOWN_DA_GAS_LIMIT, DEFAULT_TEARDOWN_L2_GAS_LIMIT, NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP } from '@aztec/constants';
2
2
  import { BlockNumber } from '@aztec/foundation/branded-types';
3
- import { Schnorr } from '@aztec/foundation/crypto';
4
- import { Fr } from '@aztec/foundation/fields';
3
+ import { Schnorr } from '@aztec/foundation/crypto/schnorr';
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
7
  import { ORACLE_VERSION, enrichPublicSimulationError } from '@aztec/pxe/server';
8
8
  import { ExecutionNoteCache, ExecutionTaggingIndexCache, HashedValuesCache, Oracle, PrivateExecutionOracle, UtilityExecutionOracle, 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
- import { FunctionSelector, FunctionType } from '@aztec/stdlib/abi';
11
+ import { FunctionCall, FunctionSelector, FunctionType } from '@aztec/stdlib/abi';
12
12
  import { AuthWitness } from '@aztec/stdlib/auth-witness';
13
13
  import { PublicSimulatorConfig } from '@aztec/stdlib/avm';
14
14
  import { AztecAddress } from '@aztec/stdlib/aztec-address';
15
- import { Body, L2Block } from '@aztec/stdlib/block';
16
15
  import { computePartialAddress } from '@aztec/stdlib/contract';
17
16
  import { Gas, GasFees, GasSettings } from '@aztec/stdlib/gas';
18
17
  import { computeCalldataHash, computeProtocolNullifier, siloNullifier } from '@aztec/stdlib/hash';
19
18
  import { PartialPrivateTailPublicInputsForPublic, PrivateKernelTailCircuitPublicInputs, PrivateToPublicAccumulatedData, PublicCallRequest } from '@aztec/stdlib/kernel';
20
19
  import { ChonkProof } from '@aztec/stdlib/proofs';
21
- import { makeAppendOnlyTreeSnapshot, makeGlobalVariables } from '@aztec/stdlib/testing';
20
+ import { makeGlobalVariables } from '@aztec/stdlib/testing';
22
21
  import { MerkleTreeId } from '@aztec/stdlib/trees';
23
22
  import { CallContext, HashedValues, PrivateExecutionResult, Tx, TxConstantData, TxContext, TxEffect, TxHash, collectNested } from '@aztec/stdlib/tx';
24
23
  import { ForkCheckpoint } from '@aztec/world-state';
24
+ import { DEFAULT_ADDRESS } from '../constants.js';
25
25
  import { TXEPublicContractDataSource } from '../util/txe_public_contract_data_source.js';
26
- import { getSingleTxBlockRequestHash, insertTxEffectIntoWorldTrees, makeTXEBlockHeader } from '../utils/block_creation.js';
26
+ import { getSingleTxBlockRequestHash, insertTxEffectIntoWorldTrees, makeTXEBlock } from '../utils/block_creation.js';
27
27
  export class TXEOracleTopLevelContext {
28
28
  stateMachine;
29
- contractDataProvider;
29
+ contractStore;
30
+ noteStore;
30
31
  keyStore;
31
- addressDataProvider;
32
- accountDataProvider;
33
- pxeOracleInterface;
32
+ addressStore;
33
+ accountStore;
34
+ senderTaggingStore;
35
+ recipientTaggingStore;
36
+ senderAddressBookStore;
37
+ capsuleStore;
38
+ privateEventStore;
39
+ jobId;
34
40
  nextBlockTimestamp;
35
41
  version;
36
42
  chainId;
@@ -38,13 +44,19 @@ export class TXEOracleTopLevelContext {
38
44
  isMisc;
39
45
  isTxe;
40
46
  logger;
41
- constructor(stateMachine, contractDataProvider, keyStore, addressDataProvider, accountDataProvider, pxeOracleInterface, nextBlockTimestamp, version, chainId, authwits){
47
+ constructor(stateMachine, contractStore, noteStore, keyStore, addressStore, accountStore, senderTaggingStore, recipientTaggingStore, senderAddressBookStore, capsuleStore, privateEventStore, jobId, nextBlockTimestamp, version, chainId, authwits){
42
48
  this.stateMachine = stateMachine;
43
- this.contractDataProvider = contractDataProvider;
49
+ this.contractStore = contractStore;
50
+ this.noteStore = noteStore;
44
51
  this.keyStore = keyStore;
45
- this.addressDataProvider = addressDataProvider;
46
- this.accountDataProvider = accountDataProvider;
47
- this.pxeOracleInterface = pxeOracleInterface;
52
+ this.addressStore = addressStore;
53
+ this.accountStore = accountStore;
54
+ this.senderTaggingStore = senderTaggingStore;
55
+ this.recipientTaggingStore = recipientTaggingStore;
56
+ this.senderAddressBookStore = senderAddressBookStore;
57
+ this.capsuleStore = capsuleStore;
58
+ this.privateEventStore = privateEventStore;
59
+ this.jobId = jobId;
48
60
  this.nextBlockTimestamp = nextBlockTimestamp;
49
61
  this.version = version;
50
62
  this.chainId = chainId;
@@ -73,6 +85,10 @@ export class TXEOracleTopLevelContext {
73
85
  this.logger[levelName](`${applyStringFormatting(message, fields)}`, {
74
86
  module: `${this.logger.module}:debug_log`
75
87
  });
88
+ return Promise.resolve();
89
+ }
90
+ txeGetDefaultAddress() {
91
+ return DEFAULT_ADDRESS;
76
92
  }
77
93
  async txeGetNextBlockNumber() {
78
94
  return BlockNumber(await this.getLastBlockNumber() + 1);
@@ -84,7 +100,8 @@ export class TXEOracleTopLevelContext {
84
100
  return (await this.stateMachine.node.getBlockHeader('latest')).globalVariables.timestamp;
85
101
  }
86
102
  async txeGetLastTxEffects() {
87
- const block = await this.stateMachine.archiver.getBlock('latest');
103
+ const latestBlockNumber = await this.stateMachine.archiver.getBlockNumber();
104
+ const block = await this.stateMachine.archiver.getBlock(latestBlockNumber);
88
105
  if (block.body.txEffects.length != 1) {
89
106
  // Note that calls like env.mine() will result in blocks with no transactions, hitting this
90
107
  throw new Error(`Expected a single transaction in the last block, found ${block.body.txEffects.length}`);
@@ -96,6 +113,16 @@ export class TXEOracleTopLevelContext {
96
113
  nullifiers: txEffects.nullifiers
97
114
  };
98
115
  }
116
+ async txeGetPrivateEvents(selector, contractAddress, scope) {
117
+ return (await this.privateEventStore.getPrivateEvents(selector, {
118
+ contractAddress,
119
+ scopes: [
120
+ scope
121
+ ],
122
+ fromBlock: 0,
123
+ toBlock: await this.getLastBlockNumber() + 1
124
+ })).map((e)=>e.packedEvent);
125
+ }
99
126
  async txeAdvanceBlocksBy(blocks) {
100
127
  this.logger.debug(`time traveling ${blocks} blocks`);
101
128
  for(let i = 0; i < blocks; i++){
@@ -116,32 +143,32 @@ export class TXEOracleTopLevelContext {
116
143
  if (!secret.equals(Fr.ZERO)) {
117
144
  await this.txeAddAccount(artifact, instance, secret);
118
145
  } else {
119
- await this.contractDataProvider.addContractInstance(instance);
120
- await this.contractDataProvider.addContractArtifact(instance.currentContractClassId, artifact);
146
+ await this.contractStore.addContractInstance(instance);
147
+ await this.contractStore.addContractArtifact(instance.currentContractClassId, artifact);
121
148
  this.logger.debug(`Deployed ${artifact.name} at ${instance.address}`);
122
149
  }
123
150
  }
124
151
  async txeAddAccount(artifact, instance, secret) {
125
152
  const partialAddress = await computePartialAddress(instance);
126
153
  this.logger.debug(`Deployed ${artifact.name} at ${instance.address}`);
127
- await this.contractDataProvider.addContractInstance(instance);
128
- await this.contractDataProvider.addContractArtifact(instance.currentContractClassId, artifact);
154
+ await this.contractStore.addContractInstance(instance);
155
+ await this.contractStore.addContractArtifact(instance.currentContractClassId, artifact);
129
156
  const completeAddress = await this.keyStore.addAccount(secret, partialAddress);
130
- await this.accountDataProvider.setAccount(completeAddress.address, completeAddress);
131
- await this.addressDataProvider.addCompleteAddress(completeAddress);
157
+ await this.accountStore.setAccount(completeAddress.address, completeAddress);
158
+ await this.addressStore.addCompleteAddress(completeAddress);
132
159
  this.logger.debug(`Created account ${completeAddress.address}`);
133
160
  return completeAddress;
134
161
  }
135
162
  async txeCreateAccount(secret) {
136
- // This is a footgun !
163
+ // This is a foot gun !
137
164
  const completeAddress = await this.keyStore.addAccount(secret, secret);
138
- await this.accountDataProvider.setAccount(completeAddress.address, completeAddress);
139
- await this.addressDataProvider.addCompleteAddress(completeAddress);
165
+ await this.accountStore.setAccount(completeAddress.address, completeAddress);
166
+ await this.addressStore.addCompleteAddress(completeAddress);
140
167
  this.logger.debug(`Created account ${completeAddress.address}`);
141
168
  return completeAddress;
142
169
  }
143
170
  async txeAddAuthWitness(address, messageHash) {
144
- const account = await this.accountDataProvider.getAccount(address);
171
+ const account = await this.accountStore.getAccount(address);
145
172
  const privateKey = await this.keyStore.getMasterSecretKey(account.publicKeys.masterIncomingViewingPublicKey);
146
173
  const schnorr = new Schnorr();
147
174
  const signature = await schnorr.constructSignature(messageHash.toBuffer(), privateKey);
@@ -160,39 +187,56 @@ export class TXEOracleTopLevelContext {
160
187
  txEffect.txHash = new TxHash(new Fr(blockNumber));
161
188
  const forkedWorldTrees = await this.stateMachine.synchronizer.nativeWorldStateService.fork();
162
189
  await insertTxEffectIntoWorldTrees(txEffect, forkedWorldTrees);
163
- const block = new L2Block(makeAppendOnlyTreeSnapshot(), await makeTXEBlockHeader(forkedWorldTrees, makeGlobalVariables(undefined, {
190
+ const globals = makeGlobalVariables(undefined, {
164
191
  blockNumber,
165
192
  timestamp: this.nextBlockTimestamp,
166
193
  version: this.version,
167
194
  chainId: this.chainId
168
- })), new Body([
195
+ });
196
+ const block = await makeTXEBlock(forkedWorldTrees, globals, [
169
197
  txEffect
170
- ]));
198
+ ]);
171
199
  await forkedWorldTrees.close();
172
200
  this.logger.info(`Created block ${blockNumber} with timestamp ${block.header.globalVariables.timestamp}`);
173
201
  await this.stateMachine.handleL2Block(block);
174
202
  }
175
203
  async txePrivateCallNewFlow(from, targetContractAddress = AztecAddress.zero(), functionSelector = FunctionSelector.empty(), args, argsHash = Fr.zero(), isStaticCall = false) {
176
- this.logger.verbose(`Executing external function ${await this.contractDataProvider.getDebugFunctionName(targetContractAddress, functionSelector)}@${targetContractAddress} isStaticCall=${isStaticCall}`);
177
- const artifact = await this.contractDataProvider.getFunctionArtifact(targetContractAddress, functionSelector);
204
+ this.logger.verbose(`Executing external function ${await this.contractStore.getDebugFunctionName(targetContractAddress, functionSelector)}@${targetContractAddress} isStaticCall=${isStaticCall}`);
205
+ const artifact = await this.contractStore.getFunctionArtifact(targetContractAddress, functionSelector);
178
206
  if (!artifact) {
179
207
  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';
180
208
  throw new Error(message);
181
209
  }
210
+ // When `from` is the zero address (used when creating a new contract account for example),
211
+ // we disable scope filtering by setting effectiveScopes to undefined. This allows these operations
212
+ // to proceed without requiring keys registered for the zero address.
213
+ const effectiveScopes = from.isZero() ? undefined : [
214
+ from
215
+ ];
216
+ // Sync notes before executing private function to discover notes from previous transactions
217
+ const utilityExecutor = async (call)=>{
218
+ await this.executeUtilityCall(call, effectiveScopes);
219
+ };
220
+ const blockHeader = await this.stateMachine.anchorBlockStore.getBlockHeader();
221
+ await this.stateMachine.contractSyncService.ensureContractSynced(targetContractAddress, functionSelector, utilityExecutor, blockHeader, this.jobId);
182
222
  const blockNumber = await this.txeGetNextBlockNumber();
183
223
  const callContext = new CallContext(from, targetContractAddress, functionSelector, isStaticCall);
184
224
  const gasLimits = new Gas(DEFAULT_DA_GAS_LIMIT, DEFAULT_L2_GAS_LIMIT);
185
225
  const teardownGasLimits = new Gas(DEFAULT_TEARDOWN_DA_GAS_LIMIT, DEFAULT_TEARDOWN_L2_GAS_LIMIT);
186
226
  const gasSettings = new GasSettings(gasLimits, teardownGasLimits, GasFees.empty(), GasFees.empty());
187
227
  const txContext = new TxContext(this.chainId, this.version, gasSettings);
188
- const blockHeader = await this.pxeOracleInterface.getAnchorBlockHeader();
189
228
  const protocolNullifier = await computeProtocolNullifier(getSingleTxBlockRequestHash(blockNumber));
190
229
  const noteCache = new ExecutionNoteCache(protocolNullifier);
230
+ // In production, the account contract sets the min revertible counter before calling the app function.
231
+ // Since TXE bypasses the account contract, we simulate this by setting minRevertibleSideEffectCounter to 1,
232
+ // marking all side effects as revertible.
233
+ const minRevertibleSideEffectCounter = 1;
234
+ await noteCache.setMinRevertibleSideEffectCounter(minRevertibleSideEffectCounter);
191
235
  const taggingIndexCache = new ExecutionTaggingIndexCache();
192
236
  const simulator = new WASMSimulator();
193
- const privateExecutionOracle = new PrivateExecutionOracle(argsHash, txContext, callContext, /** Header of a block whose state is used during private execution (not the block the transaction is included in). */ blockHeader, /** List of transient auth witnesses to be used during this simulation */ Array.from(this.authwits.values()), /** List of transient auth witnesses to be used during this simulation */ [], HashedValuesCache.create([
237
+ const privateExecutionOracle = new PrivateExecutionOracle(argsHash, txContext, callContext, /** Header of a block whose state is used during private execution (not the block the transaction is included in). */ blockHeader, utilityExecutor, /** List of transient auth witnesses to be used during this simulation */ Array.from(this.authwits.values()), /** List of transient auth witnesses to be used during this simulation */ [], HashedValuesCache.create([
194
238
  new HashedValues(args, argsHash)
195
- ]), noteCache, taggingIndexCache, this.pxeOracleInterface, 0, 1, undefined, undefined, /**
239
+ ]), noteCache, taggingIndexCache, this.contractStore, this.noteStore, this.keyStore, this.addressStore, this.stateMachine.node, this.senderTaggingStore, this.recipientTaggingStore, this.senderAddressBookStore, this.capsuleStore, this.privateEventStore, this.stateMachine.contractSyncService, this.jobId, 0, minRevertibleSideEffectCounter, undefined, effectiveScopes, /**
196
240
  * In TXE, the typical transaction entrypoint is skipped, so we need to simulate the actions that such a
197
241
  * contract would perform, including setting senderForTags.
198
242
  */ from, simulator);
@@ -210,18 +254,16 @@ export class TXEOracleTopLevelContext {
210
254
  const calldata = await privateExecutionOracle.privateLoadFromExecutionCache(r.calldataHash);
211
255
  return new HashedValues(calldata, r.calldataHash);
212
256
  }));
213
- // TXE's top level context does not track side effect counters, and as such, minRevertibleSideEffectCounter is always 0.
214
- // This has the unfortunate consequence of always producing revertible nullifiers, which means we
215
- // must set the firstNullifierHint to Fr.ZERO so the txRequestHash is always used as nonce generator
216
- result = new PrivateExecutionResult(executionResult, Fr.ZERO, publicFunctionsCalldata);
257
+ noteCache.finish();
258
+ const nonceGenerator = noteCache.getNonceGenerator();
259
+ result = new PrivateExecutionResult(executionResult, nonceGenerator, publicFunctionsCalldata);
217
260
  } catch (err) {
218
261
  throw createSimulationError(err instanceof Error ? err : new Error('Unknown error during private execution'));
219
262
  }
220
- // According to the protocol rules, the nonce generator for the note hashes
221
- // can either be the first nullifier in the tx or the hash of the initial tx request
222
- // if there are none.
223
- const nonceGenerator = result.firstNullifier.equals(Fr.ZERO) ? protocolNullifier : result.firstNullifier;
224
- const { publicInputs } = await generateSimulatedProvingResult(result, nonceGenerator, this.contractDataProvider);
263
+ // According to the protocol rules, there must be at least one nullifier in the tx. The first nullifier is used as
264
+ // the nonce generator for the note hashes.
265
+ // We pass the non-zero minRevertibleSideEffectCounter to make sure the side effects are split correctly.
266
+ const { publicInputs } = await generateSimulatedProvingResult(result, (addr, sel)=>this.contractStore.getDebugFunctionName(addr, sel), minRevertibleSideEffectCounter);
225
267
  const globals = makeGlobalVariables();
226
268
  globals.blockNumber = blockNumber;
227
269
  globals.timestamp = this.nextBlockTimestamp;
@@ -229,7 +271,8 @@ export class TXEOracleTopLevelContext {
229
271
  globals.version = this.version;
230
272
  globals.gasFees = GasFees.empty();
231
273
  const forkedWorldTrees = await this.stateMachine.synchronizer.nativeWorldStateService.fork();
232
- const contractsDB = new PublicContractsDB(new TXEPublicContractDataSource(blockNumber, this.contractDataProvider));
274
+ const bindings = this.logger.getBindings();
275
+ const contractsDB = new PublicContractsDB(new TXEPublicContractDataSource(blockNumber, this.contractStore), bindings);
233
276
  const guardedMerkleTrees = new GuardedMerkleTreeOperations(forkedWorldTrees);
234
277
  const config = PublicSimulatorConfig.from({
235
278
  skipFeeEnforcement: true,
@@ -238,7 +281,7 @@ export class TXEOracleTopLevelContext {
238
281
  collectStatistics: false,
239
282
  collectCallMetadata: true
240
283
  });
241
- const processor = new PublicProcessor(globals, guardedMerkleTrees, contractsDB, new CppPublicTxSimulator(guardedMerkleTrees, contractsDB, globals, config), new TestDateProvider());
284
+ const processor = new PublicProcessor(globals, guardedMerkleTrees, contractsDB, new CppPublicTxSimulator(guardedMerkleTrees, contractsDB, globals, config, bindings), new TestDateProvider(), undefined, createLogger('simulator:public-processor', bindings));
242
285
  const tx = await Tx.create({
243
286
  data: publicInputs,
244
287
  chonkProof: ChonkProof.empty(),
@@ -259,7 +302,7 @@ export class TXEOracleTopLevelContext {
259
302
  } else if (!processedTx.revertCode.isOK()) {
260
303
  if (processedTx.revertReason) {
261
304
  try {
262
- await enrichPublicSimulationError(processedTx.revertReason, this.contractDataProvider, this.logger);
305
+ await enrichPublicSimulationError(processedTx.revertReason, this.contractStore, this.logger);
263
306
  // eslint-disable-next-line no-empty
264
307
  } catch {}
265
308
  throw new Error(`Contract execution has reverted: ${processedTx.revertReason.getMessage()}`);
@@ -281,22 +324,21 @@ export class TXEOracleTopLevelContext {
281
324
  txEffect.txHash = new TxHash(new Fr(blockNumber));
282
325
  const l1ToL2Messages = Array(NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP).fill(0).map(Fr.zero);
283
326
  await forkedWorldTrees.appendLeaves(MerkleTreeId.L1_TO_L2_MESSAGE_TREE, l1ToL2Messages);
284
- const body = new Body([
327
+ const l2Block = await makeTXEBlock(forkedWorldTrees, globals, [
285
328
  txEffect
286
329
  ]);
287
- const l2Block = new L2Block(makeAppendOnlyTreeSnapshot(), await makeTXEBlockHeader(forkedWorldTrees, globals), body);
288
330
  await this.stateMachine.handleL2Block(l2Block);
289
331
  await forkedWorldTrees.close();
290
332
  return executionResult.returnValues ?? [];
291
333
  }
292
334
  async txePublicCallNewFlow(from, targetContractAddress, calldata, isStaticCall) {
293
- this.logger.verbose(`Executing public function ${await this.contractDataProvider.getDebugFunctionName(targetContractAddress, FunctionSelector.fromField(calldata[0]))}@${targetContractAddress} isStaticCall=${isStaticCall}`);
335
+ this.logger.verbose(`Executing public function ${await this.contractStore.getDebugFunctionName(targetContractAddress, FunctionSelector.fromField(calldata[0]))}@${targetContractAddress} isStaticCall=${isStaticCall}`);
294
336
  const blockNumber = await this.txeGetNextBlockNumber();
295
337
  const gasLimits = new Gas(DEFAULT_DA_GAS_LIMIT, DEFAULT_L2_GAS_LIMIT);
296
338
  const teardownGasLimits = new Gas(DEFAULT_TEARDOWN_DA_GAS_LIMIT, DEFAULT_TEARDOWN_L2_GAS_LIMIT);
297
339
  const gasSettings = new GasSettings(gasLimits, teardownGasLimits, GasFees.empty(), GasFees.empty());
298
340
  const txContext = new TxContext(this.chainId, this.version, gasSettings);
299
- const anchorBlockHeader = await this.pxeOracleInterface.getAnchorBlockHeader();
341
+ const anchorBlockHeader = await this.stateMachine.anchorBlockStore.getBlockHeader();
300
342
  const calldataHash = await computeCalldataHash(calldata);
301
343
  const calldataHashedValues = new HashedValues(calldata, calldataHash);
302
344
  const globals = makeGlobalVariables();
@@ -306,7 +348,8 @@ export class TXEOracleTopLevelContext {
306
348
  globals.version = this.version;
307
349
  globals.gasFees = GasFees.empty();
308
350
  const forkedWorldTrees = await this.stateMachine.synchronizer.nativeWorldStateService.fork();
309
- const contractsDB = new PublicContractsDB(new TXEPublicContractDataSource(blockNumber, this.contractDataProvider));
351
+ const bindings2 = this.logger.getBindings();
352
+ const contractsDB = new PublicContractsDB(new TXEPublicContractDataSource(blockNumber, this.contractStore), bindings2);
310
353
  const guardedMerkleTrees = new GuardedMerkleTreeOperations(forkedWorldTrees);
311
354
  const config = PublicSimulatorConfig.from({
312
355
  skipFeeEnforcement: true,
@@ -315,8 +358,8 @@ export class TXEOracleTopLevelContext {
315
358
  collectStatistics: false,
316
359
  collectCallMetadata: true
317
360
  });
318
- const simulator = new CppPublicTxSimulator(guardedMerkleTrees, contractsDB, globals, config);
319
- const processor = new PublicProcessor(globals, guardedMerkleTrees, contractsDB, simulator, new TestDateProvider());
361
+ const simulator = new CppPublicTxSimulator(guardedMerkleTrees, contractsDB, globals, config, bindings2);
362
+ const processor = new PublicProcessor(globals, guardedMerkleTrees, contractsDB, simulator, new TestDateProvider(), undefined, createLogger('simulator:public-processor', bindings2));
320
363
  // We're simulating a scenario in which private execution immediately enqueues a public call and halts. The private
321
364
  // kernel init would in this case inject a nullifier with the transaction request hash as a non-revertible
322
365
  // side-effect, which the AVM then expects to exist in order to use it as the nonce generator when siloing notes as
@@ -352,7 +395,7 @@ export class TXEOracleTopLevelContext {
352
395
  } else if (!processedTx.revertCode.isOK()) {
353
396
  if (processedTx.revertReason) {
354
397
  try {
355
- await enrichPublicSimulationError(processedTx.revertReason, this.contractDataProvider, this.logger);
398
+ await enrichPublicSimulationError(processedTx.revertReason, this.contractStore, this.logger);
356
399
  // eslint-disable-next-line no-empty
357
400
  } catch {}
358
401
  throw new Error(`Contract execution has reverted: ${processedTx.revertReason.getMessage()}`);
@@ -375,25 +418,37 @@ export class TXEOracleTopLevelContext {
375
418
  txEffect.txHash = new TxHash(new Fr(blockNumber));
376
419
  const l1ToL2Messages = Array(NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP).fill(0).map(Fr.zero);
377
420
  await forkedWorldTrees.appendLeaves(MerkleTreeId.L1_TO_L2_MESSAGE_TREE, l1ToL2Messages);
378
- const body = new Body([
421
+ const l2Block = await makeTXEBlock(forkedWorldTrees, globals, [
379
422
  txEffect
380
423
  ]);
381
- const l2Block = new L2Block(makeAppendOnlyTreeSnapshot(), await makeTXEBlockHeader(forkedWorldTrees, globals), body);
382
424
  await this.stateMachine.handleL2Block(l2Block);
383
425
  await forkedWorldTrees.close();
384
426
  return returnValues ?? [];
385
427
  }
386
428
  async txeSimulateUtilityFunction(targetContractAddress, functionSelector, args) {
387
- const artifact = await this.contractDataProvider.getFunctionArtifact(targetContractAddress, functionSelector);
429
+ const artifact = await this.contractStore.getFunctionArtifact(targetContractAddress, functionSelector);
388
430
  if (!artifact) {
389
431
  throw new Error(`Cannot call ${functionSelector} as there is no artifact found at ${targetContractAddress}.`);
390
432
  }
391
- const call = {
433
+ // Sync notes before executing utility function to discover notes from previous transactions
434
+ const blockHeader = await this.stateMachine.anchorBlockStore.getBlockHeader();
435
+ await this.stateMachine.contractSyncService.ensureContractSynced(targetContractAddress, functionSelector, async (call)=>{
436
+ await this.executeUtilityCall(call);
437
+ }, blockHeader, this.jobId);
438
+ const call = FunctionCall.from({
392
439
  name: artifact.name,
440
+ to: targetContractAddress,
393
441
  selector: functionSelector,
394
- to: targetContractAddress
395
- };
396
- const entryPointArtifact = await this.pxeOracleInterface.getFunctionArtifact(call.to, call.selector);
442
+ type: FunctionType.UTILITY,
443
+ hideMsgSender: false,
444
+ isStatic: false,
445
+ args,
446
+ returnTypes: []
447
+ });
448
+ return this.executeUtilityCall(call);
449
+ }
450
+ async executeUtilityCall(call, scopes) {
451
+ const entryPointArtifact = await this.contractStore.getFunctionArtifactWithDebugMetadata(call.to, call.selector);
397
452
  if (entryPointArtifact.functionType !== FunctionType.UTILITY) {
398
453
  throw new Error(`Cannot run ${entryPointArtifact.functionType} function as utility`);
399
454
  }
@@ -402,8 +457,9 @@ export class TXEOracleTopLevelContext {
402
457
  selector: call.selector
403
458
  });
404
459
  try {
405
- const oracle = new UtilityExecutionOracle(call.to, [], [], this.pxeOracleInterface);
406
- const acirExecutionResult = await new WASMSimulator().executeUserCircuit(toACVMWitness(0, args), entryPointArtifact, new Oracle(oracle).toACIRCallback()).catch((err)=>{
460
+ const anchorBlockHeader = await this.stateMachine.anchorBlockStore.getBlockHeader();
461
+ const oracle = new UtilityExecutionOracle(call.to, [], [], anchorBlockHeader, this.contractStore, this.noteStore, this.keyStore, this.addressStore, this.stateMachine.node, this.recipientTaggingStore, this.senderAddressBookStore, this.capsuleStore, this.privateEventStore, this.jobId, undefined, scopes);
462
+ const acirExecutionResult = await new WASMSimulator().executeUserCircuit(toACVMWitness(0, call.args), entryPointArtifact, new Oracle(oracle).toACIRCallback()).catch((err)=>{
407
463
  err.message = resolveAssertionMessageFromError(err, entryPointArtifact);
408
464
  throw new ExecutionError(err.message, {
409
465
  contractAddress: call.to,
@@ -37,6 +37,9 @@ export declare class RPCTranslator {
37
37
  txeSetUtilityTXEContext(foreignContractAddressIsSome: ForeignCallSingle, foreignContractAddressValue: ForeignCallSingle): Promise<{
38
38
  values: (string | ForeignCallArray)[];
39
39
  }>;
40
+ txeGetDefaultAddress(): {
41
+ values: (string | ForeignCallArray)[];
42
+ };
40
43
  txeGetNextBlockNumber(): Promise<{
41
44
  values: (string | ForeignCallArray)[];
42
45
  }>;
@@ -73,22 +76,25 @@ export declare class RPCTranslator {
73
76
  txeGetLastTxEffects(): Promise<{
74
77
  values: (string | ForeignCallArray)[];
75
78
  }>;
79
+ txeGetPrivateEvents(foreignSelector: ForeignCallSingle, foreignContractAddress: ForeignCallSingle, foreignScope: ForeignCallSingle): Promise<{
80
+ values: (string | ForeignCallArray)[];
81
+ }>;
76
82
  privateStoreInExecutionCache(foreignValues: ForeignCallArray, foreignHash: ForeignCallSingle): {
77
83
  values: (string | ForeignCallArray)[];
78
84
  };
79
85
  privateLoadFromExecutionCache(foreignHash: ForeignCallSingle): Promise<{
80
86
  values: (string | ForeignCallArray)[];
81
87
  }>;
82
- utilityDebugLog(foreignLevel: ForeignCallSingle, foreignMessage: ForeignCallArray, _foreignLength: ForeignCallSingle, foreignFields: ForeignCallArray): {
88
+ utilityDebugLog(foreignLevel: ForeignCallSingle, foreignMessage: ForeignCallArray, _foreignLength: ForeignCallSingle, foreignFields: ForeignCallArray): Promise<{
83
89
  values: (string | ForeignCallArray)[];
84
- };
85
- utilityStorageRead(foreignContractAddress: ForeignCallSingle, foreignStartStorageSlot: ForeignCallSingle, foreignBlockNumber: ForeignCallSingle, foreignNumberOfElements: ForeignCallSingle): Promise<{
90
+ }>;
91
+ utilityStorageRead(foreignBlockHash: ForeignCallSingle, foreignContractAddress: ForeignCallSingle, foreignStartStorageSlot: ForeignCallSingle, foreignNumberOfElements: ForeignCallSingle): Promise<{
86
92
  values: (string | ForeignCallArray)[];
87
93
  }>;
88
- utilityGetPublicDataWitness(foreignBlockNumber: ForeignCallSingle, foreignLeafSlot: ForeignCallSingle): Promise<{
94
+ utilityGetPublicDataWitness(foreignBlockHash: ForeignCallSingle, foreignLeafSlot: ForeignCallSingle): Promise<{
89
95
  values: (string | ForeignCallArray)[];
90
96
  }>;
91
- utilityGetNotes(foreignOwner: ForeignCallSingle, foreignStorageSlot: ForeignCallSingle, foreignNumSelects: ForeignCallSingle, foreignSelectByIndexes: ForeignCallArray, foreignSelectByOffsets: ForeignCallArray, foreignSelectByLengths: ForeignCallArray, foreignSelectValues: ForeignCallArray, foreignSelectComparators: ForeignCallArray, foreignSortByIndexes: ForeignCallArray, foreignSortByOffsets: ForeignCallArray, foreignSortByLengths: ForeignCallArray, foreignSortOrder: ForeignCallArray, foreignLimit: ForeignCallSingle, foreignOffset: ForeignCallSingle, foreignStatus: ForeignCallSingle, foreignMaxNotes: ForeignCallSingle, foreignPackedRetrievedNoteLength: ForeignCallSingle): Promise<{
97
+ utilityGetNotes(foreignOwnerIsSome: ForeignCallSingle, foreignOwnerValue: ForeignCallSingle, foreignStorageSlot: ForeignCallSingle, foreignNumSelects: ForeignCallSingle, foreignSelectByIndexes: ForeignCallArray, foreignSelectByOffsets: ForeignCallArray, foreignSelectByLengths: ForeignCallArray, foreignSelectValues: ForeignCallArray, foreignSelectComparators: ForeignCallArray, foreignSortByIndexes: ForeignCallArray, foreignSortByOffsets: ForeignCallArray, foreignSortByLengths: ForeignCallArray, foreignSortOrder: ForeignCallArray, foreignLimit: ForeignCallSingle, foreignOffset: ForeignCallSingle, foreignStatus: ForeignCallSingle, foreignMaxNotes: ForeignCallSingle, foreignPackedHintedNoteLength: ForeignCallSingle): Promise<{
92
98
  values: (string | ForeignCallArray)[];
93
99
  }>;
94
100
  privateNotifyCreatedNote(foreignOwner: ForeignCallSingle, foreignStorageSlot: ForeignCallSingle, foreignRandomness: ForeignCallSingle, foreignNoteTypeId: ForeignCallSingle, foreignNote: ForeignCallArray, foreignNoteHash: ForeignCallSingle, foreignCounter: ForeignCallSingle): {
@@ -100,20 +106,23 @@ export declare class RPCTranslator {
100
106
  privateNotifyCreatedNullifier(foreignInnerNullifier: ForeignCallSingle): Promise<{
101
107
  values: (string | ForeignCallArray)[];
102
108
  }>;
109
+ privateIsNullifierPending(foreignInnerNullifier: ForeignCallSingle, foreignContractAddress: ForeignCallSingle): Promise<{
110
+ values: (string | ForeignCallArray)[];
111
+ }>;
103
112
  utilityCheckNullifierExists(foreignInnerNullifier: ForeignCallSingle): Promise<{
104
113
  values: (string | ForeignCallArray)[];
105
114
  }>;
106
115
  utilityGetContractInstance(foreignAddress: ForeignCallSingle): Promise<{
107
116
  values: (string | ForeignCallArray)[];
108
117
  }>;
109
- utilityGetPublicKeysAndPartialAddress(foreignAddress: ForeignCallSingle): Promise<{
118
+ utilityTryGetPublicKeysAndPartialAddress(foreignAddress: ForeignCallSingle): Promise<{
110
119
  values: (string | ForeignCallArray)[];
111
120
  }>;
112
121
  utilityGetKeyValidationRequest(foreignPkMHash: ForeignCallSingle): Promise<{
113
122
  values: (string | ForeignCallArray)[];
114
123
  }>;
115
124
  privateCallPrivateFunction(_foreignTargetContractAddress: ForeignCallSingle, _foreignFunctionSelector: ForeignCallSingle, _foreignArgsHash: ForeignCallSingle, _foreignSideEffectCounter: ForeignCallSingle, _foreignIsStaticCall: ForeignCallSingle): void;
116
- utilityGetNullifierMembershipWitness(foreignBlockNumber: ForeignCallSingle, foreignNullifier: ForeignCallSingle): Promise<{
125
+ utilityGetNullifierMembershipWitness(foreignBlockHash: ForeignCallSingle, foreignNullifier: ForeignCallSingle): Promise<{
117
126
  values: (string | ForeignCallArray)[];
118
127
  }>;
119
128
  utilityGetAuthWitness(foreignMessageHash: ForeignCallSingle): Promise<{
@@ -125,22 +134,25 @@ export declare class RPCTranslator {
125
134
  privateIsSideEffectCounterRevertible(foreignSideEffectCounter: ForeignCallSingle): Promise<{
126
135
  values: (string | ForeignCallArray)[];
127
136
  }>;
128
- utilityGetUtilityContext(): Promise<{
137
+ utilityGetUtilityContext(): {
129
138
  values: (string | ForeignCallArray)[];
130
- }>;
139
+ };
131
140
  utilityGetBlockHeader(foreignBlockNumber: ForeignCallSingle): Promise<{
132
141
  values: (string | ForeignCallArray)[];
133
142
  }>;
134
- utilityGetMembershipWitness(foreignBlockNumber: ForeignCallSingle, foreignTreeId: ForeignCallSingle, foreignLeafValue: ForeignCallSingle): Promise<{
143
+ utilityGetNoteHashMembershipWitness(foreignAnchorBlockHash: ForeignCallSingle, foreignNoteHash: ForeignCallSingle): Promise<{
144
+ values: (string | ForeignCallArray)[];
145
+ }>;
146
+ utilityGetBlockHashMembershipWitness(foreignAnchorBlockHash: ForeignCallSingle, foreignBlockHash: ForeignCallSingle): Promise<{
135
147
  values: (string | ForeignCallArray)[];
136
148
  }>;
137
- utilityGetLowNullifierMembershipWitness(foreignBlockNumber: ForeignCallSingle, foreignNullifier: ForeignCallSingle): Promise<{
149
+ utilityGetLowNullifierMembershipWitness(foreignBlockHash: ForeignCallSingle, foreignNullifier: ForeignCallSingle): Promise<{
138
150
  values: (string | ForeignCallArray)[];
139
151
  }>;
140
152
  utilityFetchTaggedLogs(foreignPendingTaggedLogArrayBaseSlot: ForeignCallSingle): Promise<{
141
153
  values: (string | ForeignCallArray)[];
142
154
  }>;
143
- utilityValidateEnqueuedNotesAndEvents(foreignContractAddress: ForeignCallSingle, foreignNoteValidationRequestsArrayBaseSlot: ForeignCallSingle, foreignEventValidationRequestsArrayBaseSlot: ForeignCallSingle): Promise<{
155
+ utilityValidateAndStoreEnqueuedNotesAndEvents(foreignContractAddress: ForeignCallSingle, foreignNoteValidationRequestsArrayBaseSlot: ForeignCallSingle, foreignEventValidationRequestsArrayBaseSlot: ForeignCallSingle): Promise<{
144
156
  values: (string | ForeignCallArray)[];
145
157
  }>;
146
158
  utilityBulkRetrieveLogs(foreignContractAddress: ForeignCallSingle, foreignLogRetrievalRequestsArrayBaseSlot: ForeignCallSingle, foreignLogRetrievalResponsesArrayBaseSlot: ForeignCallSingle): Promise<{
@@ -168,7 +180,7 @@ export declare class RPCTranslator {
168
180
  avmOpcodeEmitUnencryptedLog(_foreignMessage: ForeignCallArray): {
169
181
  values: (string | ForeignCallArray)[];
170
182
  };
171
- avmOpcodeStorageRead(foreignSlot: ForeignCallSingle): Promise<{
183
+ avmOpcodeStorageRead(foreignSlot: ForeignCallSingle, foreignContractAddress: ForeignCallSingle): Promise<{
172
184
  values: (string | ForeignCallArray)[];
173
185
  }>;
174
186
  avmOpcodeStorageWrite(foreignSlot: ForeignCallSingle, foreignValue: ForeignCallSingle): Promise<{
@@ -192,7 +204,7 @@ export declare class RPCTranslator {
192
204
  avmOpcodeEmitNoteHash(foreignNoteHash: ForeignCallSingle): Promise<{
193
205
  values: (string | ForeignCallArray)[];
194
206
  }>;
195
- avmOpcodeNullifierExists(foreignInnerNullifier: ForeignCallSingle, foreignTargetAddress: ForeignCallSingle): Promise<{
207
+ avmOpcodeNullifierExists(foreignSiloedNullifier: ForeignCallSingle): Promise<{
196
208
  values: (string | ForeignCallArray)[];
197
209
  }>;
198
210
  avmOpcodeAddress(): Promise<{
@@ -237,4 +249,4 @@ export declare class RPCTranslator {
237
249
  values: (string | ForeignCallArray)[];
238
250
  }>;
239
251
  }
240
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnBjX3RyYW5zbGF0b3IuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9ycGNfdHJhbnNsYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBSTdFLE9BQU8sRUFDTCxLQUFLLFdBQVcsRUFDaEIsS0FBSyx1QkFBdUIsRUFDNUIsS0FBSyx1QkFBdUIsRUFFN0IsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsS0FBSyxnQkFBZ0IsRUFBa0MsTUFBTSxtQkFBbUIsQ0FBQztBQUkxRixPQUFPLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZGLE9BQU8sS0FBSyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDL0QsT0FBTyxFQUNMLEtBQUssZ0JBQWdCLEVBQ3JCLEtBQUssaUJBQWlCLEVBWXZCLE1BQU0sb0JBQW9CLENBQUM7QUFFNUIscUJBQWEsc0JBQXVCLFNBQVEsS0FBSztJQUMvQyxZQUFZLFVBQVUsRUFBRSxNQUFNLEVBRTdCO0NBQ0Y7QUFFRCxxQkFBYSxhQUFhO0lBV3RCLE9BQU8sQ0FBQyxZQUFZO0lBQ3BCLE9BQU8sQ0FBQyxhQUFhO0lBWHZCOzs7Ozs7OztPQVFHO0lBQ0gsWUFDVSxZQUFZLEVBQUUsc0JBQXNCLEVBQ3BDLGFBQWEsRUFDakIsV0FBVyxHQUNYLHVCQUF1QixHQUN2Qix1QkFBdUIsR0FDdkIsbUJBQW1CLEdBQ25CLG1CQUFtQixFQUNyQjtJQUtKLE9BQU8sQ0FBQyxhQUFhO0lBUXJCLE9BQU8sQ0FBQyxnQkFBZ0I7SUFReEIsT0FBTyxDQUFDLGdCQUFnQjtJQVF4QixPQUFPLENBQUMsWUFBWTtJQVFwQixPQUFPLENBQUMsWUFBWTtJQVVkLHdCQUF3Qjs7T0FJN0I7SUFFSyx1QkFBdUIsQ0FDM0IsNEJBQTRCLEVBQUUsaUJBQWlCLEVB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
252
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnBjX3RyYW5zbGF0b3IuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9ycGNfdHJhbnNsYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBSTdFLE9BQU8sRUFDTCxLQUFLLFdBQVcsRUFDaEIsS0FBSyx1QkFBdUIsRUFDNUIsS0FBSyx1QkFBdUIsRUFFN0IsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsS0FBSyxnQkFBZ0IsRUFBaUQsTUFBTSxtQkFBbUIsQ0FBQztBQUl6RyxPQUFPLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZGLE9BQU8sS0FBSyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDL0QsT0FBTyxFQUNMLEtBQUssZ0JBQWdCLEVBQ3JCLEtBQUssaUJBQWlCLEVBWXZCLE1BQU0sb0JBQW9CLENBQUM7QUFLNUIscUJBQWEsc0JBQXVCLFNBQVEsS0FBSztJQUMvQyxZQUFZLFVBQVUsRUFBRSxNQUFNLEVBRTdCO0NBQ0Y7QUFFRCxxQkFBYSxhQUFhO0lBV3RCLE9BQU8sQ0FBQyxZQUFZO0lBQ3BCLE9BQU8sQ0FBQyxhQUFhO0lBWHZCOzs7Ozs7OztPQVFHO0lBQ0gsWUFDVSxZQUFZLEVBQUUsc0JBQXNCLEVBQ3BDLGFBQWEsRUFDakIsV0FBVyxHQUNYLHVCQUF1QixHQUN2Qix1QkFBdUIsR0FDdkIsbUJBQW1CLEdBQ25CLG1CQUFtQixFQUNyQjtJQUtKLE9BQU8sQ0FBQyxhQUFhO0lBUXJCLE9BQU8sQ0FBQyxnQkFBZ0I7SUFReEIsT0FBTyxDQUFDLGdCQUFnQjtJQVF4QixPQUFPLENBQUMsWUFBWTtJQVFwQixPQUFPLENBQUMsWUFBWTtJQVVkLHdCQUF3Qjs7T0FJN0I7SUFFSyx1QkFBdUIsQ0FDM0IsNEJBQTRCLEVBQUUsaUJBQWlCLEVB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
@@ -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":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AAI7E,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,EAE7B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,KAAK,gBAAgB,EAAiD,MAAM,mBAAmB,CAAC;AAIzG,OAAO,KAAK,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AACvF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EAYvB,MAAM,oBAAoB,CAAC;AAK5B,qBAAa,sBAAuB,SAAQ,KAAK;IAC/C,YAAY,UAAU,EAAE,MAAM,EAE7B;CACF;AAED,qBAAa,aAAa;IAWtB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,aAAa;IAXvB;;;;;;;;OAQG;IACH,YACU,YAAY,EAAE,sBAAsB,EACpC,aAAa,EACjB,WAAW,GACX,uBAAuB,GACvB,uBAAuB,GACvB,mBAAmB,GACnB,mBAAmB,EACrB;IAKJ,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,YAAY;IAUd,wBAAwB;;OAI7B;IAEK,uBAAuB,CAC3B,4BAA4B,EAAE,iBAAiB,EAC/C,2BAA2B,EAAE,iBAAiB,EAC9C,8BAA8B,EAAE,iBAAiB,EACjD,6BAA6B,EAAE,iBAAiB;;OAajD;IAEK,sBAAsB,CAC1B,4BAA4B,EAAE,iBAAiB,EAC/C,2BAA2B,EAAE,iBAAiB;;OAS/C;IAEK,uBAAuB,CAC3B,4BAA4B,EAAE,iBAAiB,EAC/C,2BAA2B,EAAE,iBAAiB;;OAS/C;IAMD,oBAAoB;;MAInB;IAEK,qBAAqB;;OAI1B;IAEK,wBAAwB;;OAI7B;IAEK,kBAAkB,CAAC,aAAa,EAAE,iBAAiB;;OAMxD;IAED,qBAAqB,CAAC,eAAe,EAAE,iBAAiB;;MAMvD;IAEK,SAAS,CAAC,QAAQ,EAAE,gBAAgB,EAAE,QAAQ,EAAE,2BAA2B,EAAE,aAAa,EAAE,iBAAiB;;OAclH;IAEK,gBAAgB,CAAC,aAAa,EAAE,iBAAiB;;OAStD;IAEK,aAAa,CACjB,QAAQ,EAAE,gBAAgB,EAC1B,QAAQ,EAAE,2BAA2B,EACrC,aAAa,EAAE,iBAAiB;;OAUjC;IAEK,iBAAiB,CAAC,cAAc,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,iBAAiB;;OAO/F;IAID,oCAAoC,CAAC,cAAc,EAAE,iBAAiB;;MAMrE;IAED,qBAAqB;;MAIpB;IAEK,wBAAwB;;OAI7B;IAEK,mBAAmB;;OAQxB;IAEK,mBAAmB,CACvB,eAAe,EAAE,iBAAiB,EAClC,sBAAsB,EAAE,iBAAiB,EACzC,YAAY,EAAE,iBAAiB;;OA4BhC;IAED,4BAA4B,CAAC,aAAa,EAAE,gBAAgB,EAAE,WAAW,EAAE,iBAAiB;;MAO3F;IAEK,6BAA6B,CAAC,WAAW,EAAE,iBAAiB;;OAMjE;IAIK,eAAe,CACnB,YAAY,EAAE,iBAAiB,EAC/B,cAAc,EAAE,gBAAgB,EAChC,cAAc,EAAE,iBAAiB,EACjC,aAAa,EAAE,gBAAgB;;OAWhC;IAEK,kBAAkB,CACtB,gBAAgB,EAAE,iBAAiB,EACnC,sBAAsB,EAAE,iBAAiB,EACzC,uBAAuB,EAAE,iBAAiB,EAC1C,uBAAuB,EAAE,iBAAiB;;OAe3C;IAEK,2BAA2B,CAAC,gBAAgB,EAAE,iBAAiB,EAAE,eAAe,EAAE,iBAAiB;;OAUxG;IAEK,eAAe,CACnB,kBAAkB,EAAE,iBAAiB,EACrC,iBAAiB,EAAE,iBAAiB,EACpC,kBAAkB,EAAE,iBAAiB,EACrC,iBAAiB,EAAE,iBAAiB,EACpC,sBAAsB,EAAE,gBAAgB,EACxC,sBAAsB,EAAE,gBAAgB,EACxC,sBAAsB,EAAE,gBAAgB,EACxC,mBAAmB,EAAE,gBAAgB,EACrC,wBAAwB,EAAE,gBAAgB,EAC1C,oBAAoB,EAAE,gBAAgB,EACtC,oBAAoB,EAAE,gBAAgB,EACtC,oBAAoB,EAAE,gBAAgB,EACtC,gBAAgB,EAAE,gBAAgB,EAClC,YAAY,EAAE,iBAAiB,EAC/B,aAAa,EAAE,iBAAiB,EAChC,aAAa,EAAE,iBAAiB,EAChC,eAAe,EAAE,iBAAiB,EAClC,6BAA6B,EAAE,iBAAiB;;OA8DjD;IAED,wBAAwB,CACtB,YAAY,EAAE,iBAAiB,EAC/B,kBAAkB,EAAE,iBAAiB,EACrC,iBAAiB,EAAE,iBAAiB,EACpC,iBAAiB,EAAE,iBAAiB,EACpC,WAAW,EAAE,gBAAgB,EAC7B,eAAe,EAAE,iBAAiB,EAClC,cAAc,EAAE,iBAAiB;;MAqBlC;IAEK,0BAA0B,CAC9B,qBAAqB,EAAE,iBAAiB,EACxC,eAAe,EAAE,iBAAiB,EAClC,cAAc,EAAE,iBAAiB;;OASlC;IAEK,6BAA6B,CAAC,qBAAqB,EAAE,iBAAiB;;OAM3E;IAEK,yBAAyB,CAAC,qBAAqB,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,iBAAiB;;OAOlH;IAEK,2BAA2B,CAAC,qBAAqB,EAAE,iBAAiB;;OAMzE;IAEK,0BAA0B,CAAC,cAAc,EAAE,iBAAiB;;OAcjE;IAEK,wCAAwC,CAAC,cAAc,EAAE,iBAAiB;;OAiB/E;IAEK,8BAA8B,CAAC,cAAc,EAAE,iBAAiB;;OAMrE;IAED,0BAA0B,CACxB,6BAA6B,EAAE,iBAAiB,EAChD,wBAAwB,EAAE,iBAAiB,EAC3C,gBAAgB,EAAE,iBAAiB,EACnC,yBAAyB,EAAE,iBAAiB,EAC5C,oBAAoB,EAAE,iBAAiB,QAKxC;IAEK,oCAAoC,CAAC,gBAAgB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,iBAAiB;;OAUlH;IAEK,qBAAqB,CAAC,kBAAkB,EAAE,iBAAiB;;OAShE;IAEM,uCAAuC,CAC5C,6BAA6B,EAAE,iBAAiB,EAChD,oBAAoB,EAAE,iBAAiB,EACvC,yBAAyB,EAAE,iBAAiB,EAC5C,oBAAoB,EAAE,iBAAiB,QAGxC;IAEM,0CAA0C,CAC/C,6BAA6B,EAAE,iBAAiB,EAChD,oBAAoB,EAAE,iBAAiB,EACvC,yBAAyB,EAAE,iBAAiB,EAC5C,oBAAoB,EAAE,iBAAiB,QAGxC;IAEM,8CAA8C,CAAC,sCAAsC,EAAE,iBAAiB,QAE9G;IAEY,oCAAoC,CAAC,wBAAwB,EAAE,iBAAiB;;OAI5F;IAED,wBAAwB;;MAIvB;IAEK,qBAAqB,CAAC,kBAAkB,EAAE,iBAAiB;;OAShE;IAEK,mCAAmC,CACvC,sBAAsB,EAAE,iBAAiB,EACzC,eAAe,EAAE,iBAAiB;;OAWnC;IAEK,oCAAoC,CACxC,sBAAsB,EAAE,iBAAiB,EACzC,gBAAgB,EAAE,iBAAiB;;OAapC;IAEK,uCAAuC,CAC3C,gBAAgB,EAAE,iBAAiB,EACnC,gBAAgB,EAAE,iBAAiB;;OAWpC;IAEK,sBAAsB,CAAC,oCAAoC,EAAE,iBAAiB;;OAMnF;IAEY,6CAA6C,CACxD,sBAAsB,EAAE,iBAAiB,EACzC,0CAA0C,EAAE,iBAAiB,EAC7D,2CAA2C,EAAE,iBAAiB;;OAa/D;IAEY,uBAAuB,CAClC,sBAAsB,EAAE,iBAAiB,EACzC,wCAAwC,EAAE,iBAAiB,EAC3D,yCAAyC,EAAE,iBAAiB;;OAa7D;IAEK,mBAAmB,CACvB,sBAAsB,EAAE,iBAAiB,EACzC,WAAW,EAAE,iBAAiB,EAC9B,cAAc,EAAE,gBAAgB;;OASjC;IAEK,kBAAkB,CACtB,sBAAsB,EAAE,iBAAiB,EACzC,WAAW,EAAE,iBAAiB,EAC9B,YAAY,EAAE,iBAAiB;;OAiBhC;IAEK,oBAAoB,CAAC,sBAAsB,EAAE,iBAAiB,EAAE,WAAW,EAAE,iBAAiB;;OAOnG;IAEK,kBAAkB,CACtB,sBAAsB,EAAE,iBAAiB,EACzC,cAAc,EAAE,iBAAiB,EACjC,cAAc,EAAE,iBAAiB,EACjC,iBAAiB,EAAE,iBAAiB;;OAUrC;IAMK,oBAAoB,CACxB,4BAA4B,EAAE,gBAAgB,EAC9C,uBAAuB,EAAE,iBAAiB,EAC1C,SAAS,EAAE,gBAAgB,EAC3B,aAAa,EAAE,gBAAgB;;OAWhC;IAEK,sBAAsB,CAC1B,cAAc,EAAE,iBAAiB,EACjC,kBAAkB,EAAE,iBAAiB,EACrC,kBAAkB,EAAE,iBAAiB,EACrC,kBAAkB,EAAE,iBAAiB;;OAYtC;IAED,kBAAkB,CAAC,YAAY,EAAE,gBAAgB,QAEhD;IAID,2BAA2B,CAAC,eAAe,EAAE,gBAAgB;;MAG5D;IAEK,oBAAoB,CAAC,WAAW,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,iBAAiB;;OAOnG;IAEK,qBAAqB,CAAC,WAAW,EAAE,iBAAiB,EAAE,YAAY,EAAE,iBAAiB;;OAO1F;IAEK,oCAAoC,CAAC,cAAc,EAAE,iBAAiB;;OAU3E;IAEK,mCAAmC,CAAC,cAAc,EAAE,iBAAiB;;OAU1E;IAEK,8CAA8C,CAAC,cAAc,EAAE,iBAAiB;;OAUrF;IAEK,eAAe;;OAIpB;IAEK,sBAAsB,CAAC,gBAAgB,EAAE,iBAAiB;;OAM/D;IAEK,qBAAqB,CAAC,eAAe,EAAE,iBAAiB;;OAM7D;IAEK,wBAAwB,CAAC,sBAAsB,EAAE,iBAAiB;;OAMvE;IAEK,gBAAgB;;OAIrB;IAEK,oBAAoB;;OAIzB;IAEK,kBAAkB;;OAIvB;IAEK,qBAAqB;;OAI1B;IAEK,gBAAgB;;OAIrB;IAEK,gBAAgB;;OAIrB;IAED,uBAAuB,SAItB;IAED,uBAAuB,CAAC,gBAAgB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,iBAAiB,QAI/F;IAED,aAAa,CACX,aAAa,EAAE,iBAAiB,EAChC,aAAa,EAAE,iBAAiB,EAChC,eAAe,EAAE,iBAAiB,EAClC,cAAc,EAAE,iBAAiB,EACjC,YAAY,EAAE,gBAAgB,QAK/B;IAED,mBAAmB,CACjB,aAAa,EAAE,iBAAiB,EAChC,aAAa,EAAE,iBAAiB,EAChC,eAAe,EAAE,iBAAiB,EAClC,cAAc,EAAE,iBAAiB,EACjC,YAAY,EAAE,gBAAgB,QAK/B;IAED,oBAAoB,SAInB;IAEK,qBAAqB,CACzB,WAAW,EAAE,iBAAiB,EAC9B,4BAA4B,EAAE,iBAAiB,EAC/C,uBAAuB,EAAE,iBAAiB,EAC1C,WAAW,EAAE,gBAAgB,EAC7B,eAAe,EAAE,iBAAiB,EAClC,mBAAmB,EAAE,iBAAiB;;OAmBvC;IAEK,0BAA0B,CAC9B,4BAA4B,EAAE,iBAAiB,EAC/C,uBAAuB,EAAE,iBAAiB,EAC1C,WAAW,EAAE,gBAAgB;;OAa9B;IAEK,oBAAoB,CACxB,WAAW,EAAE,iBAAiB,EAC9B,cAAc,EAAE,iBAAiB,EACjC,eAAe,EAAE,gBAAgB,EACjC,mBAAmB,EAAE,iBAAiB;;OAUvC;IAEK,uBAAuB;;OAW5B;IAEK,uBAAuB,CAAC,oBAAoB,EAAE,iBAAiB;;OAMpE;IAEK,4BAA4B,CAAC,aAAa,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,iBAAiB;;OAOvG;CACF"}