@aztec/txe 3.0.3 → 4.0.0-devnet.1-patch.1

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 (77) 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 +6 -4
  8. package/dest/oracle/interfaces.d.ts.map +1 -1
  9. package/dest/oracle/txe_oracle_public_context.d.ts +4 -4
  10. package/dest/oracle/txe_oracle_public_context.d.ts.map +1 -1
  11. package/dest/oracle/txe_oracle_public_context.js +9 -11
  12. package/dest/oracle/txe_oracle_top_level_context.d.ts +20 -11
  13. package/dest/oracle/txe_oracle_top_level_context.d.ts.map +1 -1
  14. package/dest/oracle/txe_oracle_top_level_context.js +164 -65
  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 +108 -53
  18. package/dest/state_machine/archiver.d.ts +20 -55
  19. package/dest/state_machine/archiver.d.ts.map +1 -1
  20. package/dest/state_machine/archiver.js +62 -103
  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/txe_session.d.ts +17 -9
  36. package/dest/txe_session.d.ts.map +1 -1
  37. package/dest/txe_session.js +147 -45
  38. package/dest/util/encoding.d.ts +617 -18
  39. package/dest/util/encoding.d.ts.map +1 -1
  40. package/dest/util/txe_account_store.d.ts +10 -0
  41. package/dest/util/txe_account_store.d.ts.map +1 -0
  42. package/dest/util/{txe_account_data_provider.js → txe_account_store.js} +1 -1
  43. package/dest/util/txe_contract_store.d.ts +12 -0
  44. package/dest/util/txe_contract_store.d.ts.map +1 -0
  45. package/dest/util/{txe_contract_data_provider.js → txe_contract_store.js} +3 -3
  46. package/dest/util/txe_public_contract_data_source.d.ts +4 -4
  47. package/dest/util/txe_public_contract_data_source.d.ts.map +1 -1
  48. package/dest/util/txe_public_contract_data_source.js +10 -10
  49. package/dest/utils/block_creation.d.ts +18 -4
  50. package/dest/utils/block_creation.d.ts.map +1 -1
  51. package/dest/utils/block_creation.js +37 -3
  52. package/dest/utils/tx_effect_creation.d.ts +2 -3
  53. package/dest/utils/tx_effect_creation.d.ts.map +1 -1
  54. package/dest/utils/tx_effect_creation.js +3 -6
  55. package/package.json +16 -16
  56. package/src/constants.ts +3 -0
  57. package/src/index.ts +15 -12
  58. package/src/oracle/interfaces.ts +5 -3
  59. package/src/oracle/txe_oracle_public_context.ts +9 -16
  60. package/src/oracle/txe_oracle_top_level_context.ts +196 -105
  61. package/src/rpc_translator.ts +123 -55
  62. package/src/state_machine/archiver.ts +58 -126
  63. package/src/state_machine/dummy_p2p_client.ts +40 -27
  64. package/src/state_machine/global_variable_builder.ts +19 -2
  65. package/src/state_machine/index.ts +60 -22
  66. package/src/state_machine/mock_epoch_cache.ts +15 -11
  67. package/src/state_machine/synchronizer.ts +2 -2
  68. package/src/txe_session.ts +197 -87
  69. package/src/util/{txe_account_data_provider.ts → txe_account_store.ts} +1 -1
  70. package/src/util/{txe_contract_data_provider.ts → txe_contract_store.ts} +3 -3
  71. package/src/util/txe_public_contract_data_source.ts +9 -9
  72. package/src/utils/block_creation.ts +47 -14
  73. package/src/utils/tx_effect_creation.ts +3 -11
  74. package/dest/util/txe_account_data_provider.d.ts +0 -10
  75. package/dest/util/txe_account_data_provider.d.ts.map +0 -1
  76. package/dest/util/txe_contract_data_provider.d.ts +0 -12
  77. package/dest/util/txe_contract_data_provider.d.ts.map +0 -1
@@ -8,29 +8,35 @@ 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,42 +187,86 @@ 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([
194
- new HashedValues(args, argsHash)
195
- ]), noteCache, taggingIndexCache, this.pxeOracleInterface, 0, 1, undefined, undefined, /**
196
- * In TXE, the typical transaction entrypoint is skipped, so we need to simulate the actions that such a
197
- * contract would perform, including setting senderForTags.
198
- */ from, simulator);
237
+ const privateExecutionOracle = new PrivateExecutionOracle({
238
+ argsHash,
239
+ txContext,
240
+ callContext,
241
+ anchorBlockHeader: blockHeader,
242
+ utilityExecutor,
243
+ authWitnesses: Array.from(this.authwits.values()),
244
+ capsules: [],
245
+ executionCache: HashedValuesCache.create([
246
+ new HashedValues(args, argsHash)
247
+ ]),
248
+ noteCache,
249
+ taggingIndexCache,
250
+ contractStore: this.contractStore,
251
+ noteStore: this.noteStore,
252
+ keyStore: this.keyStore,
253
+ addressStore: this.addressStore,
254
+ aztecNode: this.stateMachine.node,
255
+ senderTaggingStore: this.senderTaggingStore,
256
+ recipientTaggingStore: this.recipientTaggingStore,
257
+ senderAddressBookStore: this.senderAddressBookStore,
258
+ capsuleStore: this.capsuleStore,
259
+ privateEventStore: this.privateEventStore,
260
+ contractSyncService: this.stateMachine.contractSyncService,
261
+ jobId: this.jobId,
262
+ totalPublicCalldataCount: 0,
263
+ sideEffectCounter: minRevertibleSideEffectCounter,
264
+ scopes: effectiveScopes,
265
+ // In TXE, the typical transaction entrypoint is skipped, so we need to simulate the actions that such a
266
+ // contract would perform, including setting senderForTags.
267
+ senderForTags: from,
268
+ simulator
269
+ });
199
270
  // Note: This is a slight modification of simulator.run without any of the checks. Maybe we should modify simulator.run with a boolean value to skip checks.
200
271
  let result;
201
272
  let executionResult;
@@ -210,18 +281,16 @@ export class TXEOracleTopLevelContext {
210
281
  const calldata = await privateExecutionOracle.privateLoadFromExecutionCache(r.calldataHash);
211
282
  return new HashedValues(calldata, r.calldataHash);
212
283
  }));
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);
284
+ noteCache.finish();
285
+ const nonceGenerator = noteCache.getNonceGenerator();
286
+ result = new PrivateExecutionResult(executionResult, nonceGenerator, publicFunctionsCalldata);
217
287
  } catch (err) {
218
288
  throw createSimulationError(err instanceof Error ? err : new Error('Unknown error during private execution'));
219
289
  }
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);
290
+ // According to the protocol rules, there must be at least one nullifier in the tx. The first nullifier is used as
291
+ // the nonce generator for the note hashes.
292
+ // We pass the non-zero minRevertibleSideEffectCounter to make sure the side effects are split correctly.
293
+ const { publicInputs } = await generateSimulatedProvingResult(result, (addr, sel)=>this.contractStore.getDebugFunctionName(addr, sel), this.stateMachine.node, minRevertibleSideEffectCounter);
225
294
  const globals = makeGlobalVariables();
226
295
  globals.blockNumber = blockNumber;
227
296
  globals.timestamp = this.nextBlockTimestamp;
@@ -229,7 +298,8 @@ export class TXEOracleTopLevelContext {
229
298
  globals.version = this.version;
230
299
  globals.gasFees = GasFees.empty();
231
300
  const forkedWorldTrees = await this.stateMachine.synchronizer.nativeWorldStateService.fork();
232
- const contractsDB = new PublicContractsDB(new TXEPublicContractDataSource(blockNumber, this.contractDataProvider));
301
+ const bindings = this.logger.getBindings();
302
+ const contractsDB = new PublicContractsDB(new TXEPublicContractDataSource(blockNumber, this.contractStore), bindings);
233
303
  const guardedMerkleTrees = new GuardedMerkleTreeOperations(forkedWorldTrees);
234
304
  const config = PublicSimulatorConfig.from({
235
305
  skipFeeEnforcement: true,
@@ -238,7 +308,7 @@ export class TXEOracleTopLevelContext {
238
308
  collectStatistics: false,
239
309
  collectCallMetadata: true
240
310
  });
241
- const processor = new PublicProcessor(globals, guardedMerkleTrees, contractsDB, new CppPublicTxSimulator(guardedMerkleTrees, contractsDB, globals, config), new TestDateProvider());
311
+ const processor = new PublicProcessor(globals, guardedMerkleTrees, contractsDB, new CppPublicTxSimulator(guardedMerkleTrees, contractsDB, globals, config, bindings), new TestDateProvider(), undefined, createLogger('simulator:public-processor', bindings));
242
312
  const tx = await Tx.create({
243
313
  data: publicInputs,
244
314
  chonkProof: ChonkProof.empty(),
@@ -259,7 +329,7 @@ export class TXEOracleTopLevelContext {
259
329
  } else if (!processedTx.revertCode.isOK()) {
260
330
  if (processedTx.revertReason) {
261
331
  try {
262
- await enrichPublicSimulationError(processedTx.revertReason, this.contractDataProvider, this.logger);
332
+ await enrichPublicSimulationError(processedTx.revertReason, this.contractStore, this.logger);
263
333
  // eslint-disable-next-line no-empty
264
334
  } catch {}
265
335
  throw new Error(`Contract execution has reverted: ${processedTx.revertReason.getMessage()}`);
@@ -281,22 +351,21 @@ export class TXEOracleTopLevelContext {
281
351
  txEffect.txHash = new TxHash(new Fr(blockNumber));
282
352
  const l1ToL2Messages = Array(NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP).fill(0).map(Fr.zero);
283
353
  await forkedWorldTrees.appendLeaves(MerkleTreeId.L1_TO_L2_MESSAGE_TREE, l1ToL2Messages);
284
- const body = new Body([
354
+ const l2Block = await makeTXEBlock(forkedWorldTrees, globals, [
285
355
  txEffect
286
356
  ]);
287
- const l2Block = new L2Block(makeAppendOnlyTreeSnapshot(), await makeTXEBlockHeader(forkedWorldTrees, globals), body);
288
357
  await this.stateMachine.handleL2Block(l2Block);
289
358
  await forkedWorldTrees.close();
290
359
  return executionResult.returnValues ?? [];
291
360
  }
292
361
  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}`);
362
+ this.logger.verbose(`Executing public function ${await this.contractStore.getDebugFunctionName(targetContractAddress, FunctionSelector.fromField(calldata[0]))}@${targetContractAddress} isStaticCall=${isStaticCall}`);
294
363
  const blockNumber = await this.txeGetNextBlockNumber();
295
364
  const gasLimits = new Gas(DEFAULT_DA_GAS_LIMIT, DEFAULT_L2_GAS_LIMIT);
296
365
  const teardownGasLimits = new Gas(DEFAULT_TEARDOWN_DA_GAS_LIMIT, DEFAULT_TEARDOWN_L2_GAS_LIMIT);
297
366
  const gasSettings = new GasSettings(gasLimits, teardownGasLimits, GasFees.empty(), GasFees.empty());
298
367
  const txContext = new TxContext(this.chainId, this.version, gasSettings);
299
- const anchorBlockHeader = await this.pxeOracleInterface.getAnchorBlockHeader();
368
+ const anchorBlockHeader = await this.stateMachine.anchorBlockStore.getBlockHeader();
300
369
  const calldataHash = await computeCalldataHash(calldata);
301
370
  const calldataHashedValues = new HashedValues(calldata, calldataHash);
302
371
  const globals = makeGlobalVariables();
@@ -306,7 +375,8 @@ export class TXEOracleTopLevelContext {
306
375
  globals.version = this.version;
307
376
  globals.gasFees = GasFees.empty();
308
377
  const forkedWorldTrees = await this.stateMachine.synchronizer.nativeWorldStateService.fork();
309
- const contractsDB = new PublicContractsDB(new TXEPublicContractDataSource(blockNumber, this.contractDataProvider));
378
+ const bindings2 = this.logger.getBindings();
379
+ const contractsDB = new PublicContractsDB(new TXEPublicContractDataSource(blockNumber, this.contractStore), bindings2);
310
380
  const guardedMerkleTrees = new GuardedMerkleTreeOperations(forkedWorldTrees);
311
381
  const config = PublicSimulatorConfig.from({
312
382
  skipFeeEnforcement: true,
@@ -315,8 +385,8 @@ export class TXEOracleTopLevelContext {
315
385
  collectStatistics: false,
316
386
  collectCallMetadata: true
317
387
  });
318
- const simulator = new CppPublicTxSimulator(guardedMerkleTrees, contractsDB, globals, config);
319
- const processor = new PublicProcessor(globals, guardedMerkleTrees, contractsDB, simulator, new TestDateProvider());
388
+ const simulator = new CppPublicTxSimulator(guardedMerkleTrees, contractsDB, globals, config, bindings2);
389
+ const processor = new PublicProcessor(globals, guardedMerkleTrees, contractsDB, simulator, new TestDateProvider(), undefined, createLogger('simulator:public-processor', bindings2));
320
390
  // We're simulating a scenario in which private execution immediately enqueues a public call and halts. The private
321
391
  // kernel init would in this case inject a nullifier with the transaction request hash as a non-revertible
322
392
  // side-effect, which the AVM then expects to exist in order to use it as the nonce generator when siloing notes as
@@ -352,7 +422,7 @@ export class TXEOracleTopLevelContext {
352
422
  } else if (!processedTx.revertCode.isOK()) {
353
423
  if (processedTx.revertReason) {
354
424
  try {
355
- await enrichPublicSimulationError(processedTx.revertReason, this.contractDataProvider, this.logger);
425
+ await enrichPublicSimulationError(processedTx.revertReason, this.contractStore, this.logger);
356
426
  // eslint-disable-next-line no-empty
357
427
  } catch {}
358
428
  throw new Error(`Contract execution has reverted: ${processedTx.revertReason.getMessage()}`);
@@ -375,25 +445,37 @@ export class TXEOracleTopLevelContext {
375
445
  txEffect.txHash = new TxHash(new Fr(blockNumber));
376
446
  const l1ToL2Messages = Array(NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP).fill(0).map(Fr.zero);
377
447
  await forkedWorldTrees.appendLeaves(MerkleTreeId.L1_TO_L2_MESSAGE_TREE, l1ToL2Messages);
378
- const body = new Body([
448
+ const l2Block = await makeTXEBlock(forkedWorldTrees, globals, [
379
449
  txEffect
380
450
  ]);
381
- const l2Block = new L2Block(makeAppendOnlyTreeSnapshot(), await makeTXEBlockHeader(forkedWorldTrees, globals), body);
382
451
  await this.stateMachine.handleL2Block(l2Block);
383
452
  await forkedWorldTrees.close();
384
453
  return returnValues ?? [];
385
454
  }
386
455
  async txeSimulateUtilityFunction(targetContractAddress, functionSelector, args) {
387
- const artifact = await this.contractDataProvider.getFunctionArtifact(targetContractAddress, functionSelector);
456
+ const artifact = await this.contractStore.getFunctionArtifact(targetContractAddress, functionSelector);
388
457
  if (!artifact) {
389
458
  throw new Error(`Cannot call ${functionSelector} as there is no artifact found at ${targetContractAddress}.`);
390
459
  }
391
- const call = {
460
+ // Sync notes before executing utility function to discover notes from previous transactions
461
+ const blockHeader = await this.stateMachine.anchorBlockStore.getBlockHeader();
462
+ await this.stateMachine.contractSyncService.ensureContractSynced(targetContractAddress, functionSelector, async (call)=>{
463
+ await this.executeUtilityCall(call);
464
+ }, blockHeader, this.jobId);
465
+ const call = FunctionCall.from({
392
466
  name: artifact.name,
467
+ to: targetContractAddress,
393
468
  selector: functionSelector,
394
- to: targetContractAddress
395
- };
396
- const entryPointArtifact = await this.pxeOracleInterface.getFunctionArtifact(call.to, call.selector);
469
+ type: FunctionType.UTILITY,
470
+ hideMsgSender: false,
471
+ isStatic: false,
472
+ args,
473
+ returnTypes: []
474
+ });
475
+ return this.executeUtilityCall(call);
476
+ }
477
+ async executeUtilityCall(call, scopes) {
478
+ const entryPointArtifact = await this.contractStore.getFunctionArtifactWithDebugMetadata(call.to, call.selector);
397
479
  if (entryPointArtifact.functionType !== FunctionType.UTILITY) {
398
480
  throw new Error(`Cannot run ${entryPointArtifact.functionType} function as utility`);
399
481
  }
@@ -402,8 +484,25 @@ export class TXEOracleTopLevelContext {
402
484
  selector: call.selector
403
485
  });
404
486
  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)=>{
487
+ const anchorBlockHeader = await this.stateMachine.anchorBlockStore.getBlockHeader();
488
+ const oracle = new UtilityExecutionOracle({
489
+ contractAddress: call.to,
490
+ authWitnesses: [],
491
+ capsules: [],
492
+ anchorBlockHeader,
493
+ contractStore: this.contractStore,
494
+ noteStore: this.noteStore,
495
+ keyStore: this.keyStore,
496
+ addressStore: this.addressStore,
497
+ aztecNode: this.stateMachine.node,
498
+ recipientTaggingStore: this.recipientTaggingStore,
499
+ senderAddressBookStore: this.senderAddressBookStore,
500
+ capsuleStore: this.capsuleStore,
501
+ privateEventStore: this.privateEventStore,
502
+ jobId: this.jobId,
503
+ scopes
504
+ });
505
+ const acirExecutionResult = await new WASMSimulator().executeUserCircuit(toACVMWitness(0, call.args), entryPointArtifact, new Oracle(oracle).toACIRCallback()).catch((err)=>{
407
506
  err.message = resolveAssertionMessageFromError(err, entryPointArtifact);
408
507
  throw new ExecutionError(err.message, {
409
508
  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(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, 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnBjX3RyYW5zbGF0b3IuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9ycGNfdHJhbnNsYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBSTdFLE9BQU8sRUFDTCxLQUFLLFdBQVcsRUFDaEIsS0FBSyx1QkFBdUIsRUFDNUIsS0FBSyx1QkFBdUIsRUFFN0IsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsS0FBSyxnQkFBZ0IsRUFBaUQsTUFBTSxtQkFBbUIsQ0FBQztBQUl6RyxPQUFPLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZGLE9BQU8sS0FBSyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDL0QsT0FBTyxFQUNMLEtBQUssZ0JBQWdCLEVBQ3JCLEtBQUssaUJBQWlCLEVBWXZCLE1BQU0sb0JBQW9CLENBQUM7QUFLNUIscUJBQWEsc0JBQXVCLFNBQVEsS0FBSztJQUMvQyxZQUFZLFVBQVUsRUFBRSxNQUFNLEVBRTdCO0NBQ0Y7QUFFRCxxQkFBYSxhQUFhO0lBV3RCLE9BQU8sQ0FBQyxZQUFZO0lBQ3BCLE9BQU8sQ0FBQyxhQUFhO0lBWHZCOzs7Ozs7OztPQVFHO0lBQ0gsWUFDVSxZQUFZLEVBQUUsc0JBQXNCLEVBQ3BDLGFBQWEsRUFDakIsV0FBVyxHQUNYLHVCQUF1QixHQUN2Qix1QkFBdUIsR0FDdkIsbUJBQW1CLEdBQ25CLG1CQUFtQixFQUNyQjtJQUtKLE9BQU8sQ0FBQyxhQUFhO0lBUXJCLE9BQU8sQ0FBQyxnQkFBZ0I7SUFReEIsT0FBTyxDQUFDLGdCQUFnQjtJQVF4QixPQUFPLENBQUMsWUFBWTtJQVFwQixPQUFPLENBQUMsWUFBWTtJQVVkLHdCQUF3Qjs7T0FJN0I7SUFFSyx1QkFBdUIsQ0FDM0IsNEJBQTRCLEVBQUUsaUJBQWlCLEVBQy9DLDJCQUEyQixFQUFFLGlCQUFpQixFQUM5Qyw4QkFBOEIsRUFBRSxpQkFBaUIsRUFDakQsNkJBQTZCLEVBQUUsaUJBQWlCOztPQWFqRDtJQUVLLHNCQUFzQixDQUMxQiw0QkFBNEIsRUFBRSxpQkFBaUIsRUFDL0MsMkJBQTJCLEVBQUUsaUJBQWlCOztPQVMvQztJQUVLLHVCQUF1QixDQUMzQiw0QkFBNEIsRUFBRSxpQkFBaUIsRUFDL0MsMkJBQTJCLEVBQUUsaUJBQWlCOztPQVMvQztJQU1ELG9CQUFvQjs7TUFJbkI7SUFFSyxxQkFBcUI7O09BSTFCO0lBRUssd0JBQXdCOztPQUk3QjtJQUVLLGtCQUFrQixDQUFDLGFBQWEsRUFBRSxpQkFBaUI7O09BTXhEO0lBRUQscUJBQXFCLENBQUMsZUFBZSxFQUFFLGlCQUFpQjs7TUFNdkQ7SUFFSyxTQUFTLENBQUMsUUFBUSxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSwyQkFBMkIsRUFBRSxhQUFhLEVBQUUsaUJBQWlCOztPQWNsSDtJQUVLLGdCQUFnQixDQUFDLGFBQWEsRUFBRSxpQkFBaUI7O09BU3REO0lBRUssYUFBYSxDQUNqQixRQUFRLEVBQUUsZ0JBQWdCLEVBQzFCLFFBQVEsRUFBRSwyQkFBMkIsRUFDckMsYUFBYSxFQUFFLGlCQUFpQjs7T0FVakM7SUFFSyxpQkFBaUIsQ0FBQyxjQUFjLEVBQUUsaUJBQWlCLEVBQUUsa0JBQWtCLEVBQUUsaUJBQWlCOztPQU8vRjtJQUlELG9DQUFvQyxDQUFDLGNBQWMsRUFBRSxpQkFBaUI7O01BTXJFO0lBRUQscUJBQXFCOztNQUlwQjtJQUVLLHdCQUF3Qjs7T0FJN0I7SUFFSyxtQkFBbUI7O09BUXhCO0lBRUssbUJBQW1CLENBQ3ZCLGVBQWUsRUFBRSxpQkFBaUIsRUFDbEMsc0JBQXNCLEVBQUUsaUJBQWlCLEVBQ3pDLFlBQVksRUFBRSxpQkFBaUI7O09BNEJoQztJQUVELDRCQUE0QixDQUFDLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsaUJBQWlCOztNQU8zRjtJQUVLLDZCQUE2QixDQUFDLFdBQVcsRUFBRSxpQkFBaUI7O09BTWpFO0lBSUssZUFBZSxDQUNuQixZQUFZLEVBQUUsaUJBQWlCLEVBQy9CLGNBQWMsRUFBRSxnQkFBZ0IsRUFDaEMsY0FBYyxFQUFFLGlCQUFpQixFQUNqQyxhQUFhLEVBQUUsZ0JBQWdCOztPQVdoQztJQUVLLGtCQUFrQixDQUN0QixnQkFBZ0IsRUFBRSxpQkFBaUIsRUFDbkMsc0JBQXNCLEVBQUUsaUJBQWlCLEVBQ3pDLHVCQUF1QixFQUFFLGlCQUFpQixFQUMxQyx1QkFBdUIsRUFBRSxpQkFBaUI7O09BZTNDO0lBRUssMkJBQTJCLENBQUMsZ0JBQWdCLEVBQUUsaUJBQWlCLEVBQUUsZUFBZSxFQUFFLGlCQUFpQjs7T0FVeEc7SUFFSyxlQUFlLENBQ25CLGtCQUFrQixFQUFFLGlCQUFpQixFQUNyQyxpQkFBaUIsRUFBRSxpQkFBaUIsRUFDcEMsa0JBQWtCLEVBQUUsaUJBQWlCLEVBQ3JDLGlCQUFpQixFQUFFLGlCQUFpQixFQUNwQyxzQkFBc0IsRUFBRSxnQkFBZ0IsRUFDeEMsc0JBQXNCLEVBQUUsZ0JBQWdCLEVBQ3hDLHNCQUFzQixFQUFFLGdCQUFnQixFQUN4QyxtQkFBbUIsRUFBRSxnQkFBZ0IsRUFDckMsd0JBQXdCLEVBQUUsZ0JBQWdCLEVBQzFDLG9CQUFvQixFQUFFLGdCQUFnQixFQUN0QyxvQkFBb0IsRUFBRSxnQkFBZ0IsRUFDdEMsb0JBQW9CLEVBQUUsZ0JBQWdCLEVBQ3RDLGdCQUFnQixFQUFFLGdCQUFnQixFQUNsQyxZQUFZLEVBQUUsaUJBQWlCLEVBQy9CLGFBQWEsRUFBRSxpQkFBaUIsRUFDaEMsYUFBYSxFQUFFLGlCQUFpQixFQUNoQyxlQUFlLEVBQUUsaUJBQWlCLEVBQ2xDLDZCQUE2QixFQUFFLGlCQUFpQjs7T0E4RGpEO0lBRUQsd0JBQXdCLENBQ3RCLFlBQVksRUFBRSxpQkFBaUIsRUFDL0Isa0JBQWtCLEVBQUUsaUJBQWlCLEVBQ3JDLGlCQUFpQixFQUFFLGlCQUFpQixFQUNwQyxpQkFBaUIsRUFBRSxpQkFBaUIsRUFDcEMsV0FBVyxFQUFFLGdCQUFnQixFQUM3QixlQUFlLEVBQUUsaUJBQWlCLEVBQ2xDLGNBQWMsRUFBRSxpQkFBaUI7O01BcUJsQztJQUVLLDBCQUEwQixDQUM5QixxQkFBcUIsRUFBRSxpQkFBaUIsRUFDeEMsZUFBZSxFQUFFLGlCQUFpQixFQUNsQyxjQUFjLEVBQUUsaUJBQWlCOztPQVNsQztJQUVLLDZCQUE2QixDQUFDLHFCQUFxQixFQUFFLGlCQUFpQjs7T0FNM0U7SUFFSyx5QkFBeUIsQ0FBQyxxQkFBcUIsRUFBRSxpQkFBaUIsRUFBRSxzQkFBc0IsRUFBRSxpQkFBaUI7O09BT2xIO0lBRUssMkJBQTJCLENBQUMscUJBQXFCLEVBQUUsaUJBQWlCOztPQU16RTtJQUVLLDBCQUEwQixDQUFDLGNBQWMsRUFBRSxpQkFBaUI7O09BY2pFO0lBRUssd0NBQXdDLENBQUMsY0FBYyxFQUFFLGlCQUFpQjs7T0FpQi9FO0lBRUssOEJBQThCLENBQUMsY0FBYyxFQUFFLGlCQUFpQjs7T0FNckU7SUFFRCwwQkFBMEIsQ0FDeEIsNkJBQTZCLEVBQUUsaUJBQWlCLEVBQ2hELHdCQUF3QixFQUFFLGlCQUFpQixFQUMzQyxnQkFBZ0IsRUFBRSxpQkFBaUIsRUFDbkMseUJBQXlCLEVBQUUsaUJBQWlCLEVBQzVDLG9CQUFvQixFQUFFLGlCQUFpQixRQUt4QztJQUVLLG9DQUFvQyxDQUFDLGdCQUFnQixFQUFFLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLGlCQUFpQjs7T0FVbEg7SUFFSyxxQkFBcUIsQ0FBQyxrQkFBa0IsRUFBRSxpQkFBaUI7O09BU2hFO0lBRU0sdUNBQXVDLENBQzVDLDZCQUE2QixFQUFFLGlCQUFpQixFQUNoRCxvQkFBb0IsRUFBRSxpQkFBaUIsRUFDdkMseUJBQXlCLEVBQUUsaUJBQWlCLEVBQzVDLG9CQUFvQixFQUFFLGlCQUFpQixRQUd4QztJQUVNLDBDQUEwQyxDQUMvQyw2QkFBNkIsRUFBRSxpQkFBaUIsRUFDaEQsb0JBQW9CLEVBQUUsaUJBQWlCLEVBQ3ZDLHlCQUF5QixFQUFFLGlCQUFpQixFQUM1QyxvQkFBb0IsRUFBRSxpQkFBaUIsUUFHeEM7SUFFTSw4Q0FBOEMsQ0FBQyxzQ0FBc0MsRUFBRSxpQkFBaUIsUUFFOUc7SUFFWSxvQ0FBb0MsQ0FBQyx3QkFBd0IsRUFBRSxpQkFBaUI7O09BSTVGO0lBRUQsd0JBQXdCOztNQUl2QjtJQUVLLHFCQUFxQixDQUFDLGtCQUFrQixFQUFFLGlCQUFpQjs7T0FTaEU7SUFFSyxtQ0FBbUMsQ0FDdkMsc0JBQXNCLEVBQUUsaUJBQWlCLEVBQ3pDLGVBQWUsRUFBRSxpQkFBaUI7O09BV25DO0lBRUssb0NBQW9DLENBQ3hDLHNCQUFzQixFQUFFLGlCQUFpQixFQUN6QyxnQkFBZ0IsRUFBRSxpQkFBaUI7O09BYXBDO0lBRUssdUNBQXVDLENBQzNDLGdCQUFnQixFQUFFLGlCQUFpQixFQUNuQyxnQkFBZ0IsRUFBRSxpQkFBaUI7O09BV3BDO0lBRUssc0JBQXNCLENBQUMsb0NBQW9DLEVBQUUsaUJBQWlCOztPQU1uRjtJQUVZLDZDQUE2QyxDQUN4RCxzQkFBc0IsRUFBRSxpQkFBaUIsRUFDekMsMENBQTBDLEVBQUUsaUJBQWlCLEVBQzdELDJDQUEyQyxFQUFFLGlCQUFpQjs7T0FhL0Q7SUFFWSx1QkFBdUIsQ0FDbEMsc0JBQXNCLEVBQUUsaUJBQWlCLEVBQ3pDLHdDQUF3QyxFQUFFLGlCQUFpQixFQUMzRCx5Q0FBeUMsRUFBRSxpQkFBaUI7O09BYTdEO0lBRUssbUJBQW1CLENBQ3ZCLHNCQUFzQixFQUFFLGlCQUFpQixFQUN6QyxXQUFXLEVBQUUsaUJBQWlCLEVBQzlCLGNBQWMsRUFBRSxnQkFBZ0I7O09BU2pDO0lBRUssa0JBQWtCLENBQ3RCLHNCQUFzQixFQUFFLGlCQUFpQixFQUN6QyxXQUFXLEVBQUUsaUJBQWlCLEVBQzlCLFlBQVksRUFBRSxpQkFBaUI7O09BaUJoQztJQUVLLG9CQUFvQixDQUFDLHNCQUFzQixFQUFFLGlCQUFpQixFQUFFLFdBQVcsRUFBRSxpQkFBaUI7O09BT25HO0lBRUssa0JBQWtCLENBQ3RCLHNCQUFzQixFQUFFLGlCQUFpQixFQUN6QyxjQUFjLEVBQUUsaUJBQWlCLEVBQ2pDLGNBQWMsRUFBRSxpQkFBaUIsRUFDakMsaUJBQWlCLEVBQUUsaUJBQWlCOztPQVVyQztJQU1LLG9CQUFvQixDQUN4Qiw0QkFBNEIsRUFBRSxnQkFBZ0IsRUFDOUMsdUJBQXVCLEVBQUUsaUJBQWlCLEVBQzFDLFNBQVMsRUFBRSxnQkFBZ0IsRUFDM0IsYUFBYSxFQUFFLGdCQUFnQjs7T0FXaEM7SUFFSyxzQkFBc0IsQ0FDMUIsY0FBYyxFQUFFLGlCQUFpQixFQUNqQyxrQkFBa0IsRUFBRSxpQkFBaUIsRUFDckMsa0JBQWtCLEVBQUUsaUJBQWlCLEVBQ3JDLGtCQUFrQixFQUFFLGlCQUFpQjs7T0FZdEM7SUFFRCxrQkFBa0IsQ0FBQyxZQUFZLEVBQUUsZ0JBQWdCLFFBRWhEO0lBSUQsMkJBQTJCLENBQUMsZUFBZSxFQUFFLGdCQUFnQjs7TUFHNUQ7SUFFSyxvQkFBb0IsQ0FBQyxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsc0JBQXNCLEVBQUUsaUJBQWlCOztPQU9uRztJQUVLLHFCQUFxQixDQUFDLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxZQUFZLEVBQUUsaUJBQWlCOztPQU8xRjtJQUVLLG9DQUFvQyxDQUFDLGNBQWMsRUFBRSxpQkFBaUI7O09BVTNFO0lBRUssbUNBQW1DLENBQUMsY0FBYyxFQUFFLGlCQUFpQjs7T0FVMUU7SUFFSyw4Q0FBOEMsQ0FBQyxjQUFjLEVBQUUsaUJBQWlCOztPQVVyRjtJQUVLLGVBQWU7O09BSXBCO0lBRUssc0JBQXNCLENBQUMsZ0JBQWdCLEVBQUUsaUJBQWlCOztPQU0vRDtJQUVLLHFCQUFxQixDQUFDLGVBQWUsRUFBRSxpQkFBaUI7O09BTTdEO0lBRUssd0JBQXdCLENBQUMsc0JBQXNCLEVBQUUsaUJBQWlCOztPQU12RTtJQUVLLGdCQUFnQjs7T0FJckI7SUFFSyxvQkFBb0I7O09BSXpCO0lBRUssa0JBQWtCOztPQUl2QjtJQUVLLHFCQUFxQjs7T0FJMUI7SUFFSyxnQkFBZ0I7O09BSXJCO0lBRUssZ0JBQWdCOztPQUlyQjtJQUVELHVCQUF1QixTQUl0QjtJQUVELHVCQUF1QixDQUFDLGdCQUFnQixFQUFFLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLGlCQUFpQixRQUkvRjtJQUVELGFBQWEsQ0FDWCxhQUFhLEVBQUUsaUJBQWlCLEVBQ2hDLGFBQWEsRUFBRSxpQkFBaUIsRUFDaEMsZUFBZSxFQUFFLGlCQUFpQixFQUNsQyxjQUFjLEVBQUUsaUJBQWlCLEVBQ2pDLFlBQVksRUFBRSxnQkFBZ0IsUUFLL0I7SUFFRCxtQkFBbUIsQ0FDakIsYUFBYSxFQUFFLGlCQUFpQixFQUNoQyxhQUFhLEVBQUUsaUJBQWlCLEVBQ2hDLGVBQWUsRUFBRSxpQkFBaUIsRUFDbEMsY0FBYyxFQUFFLGlCQUFpQixFQUNqQyxZQUFZLEVBQUUsZ0JBQWdCLFFBSy9CO0lBRUQsb0JBQW9CLFNBSW5CO0lBRUsscUJBQXFCLENBQ3pCLFdBQVcsRUFBRSxpQkFBaUIsRUFDOUIsNEJBQTRCLEVBQUUsaUJBQWlCLEVBQy9DLHVCQUF1QixFQUFFLGlCQUFpQixFQUMxQyxXQUFXLEVBQUUsZ0JBQWdCLEVBQzdCLGVBQWUsRUFBRSxpQkFBaUIsRUFDbEMsbUJBQW1CLEVBQUUsaUJBQWlCOztPQW1CdkM7SUFFSywwQkFBMEIsQ0FDOUIsNEJBQTRCLEVBQUUsaUJBQWlCLEVBQy9DLHVCQUF1QixFQUFFLGlCQUFpQixFQUMxQyxXQUFXLEVBQUUsZ0JBQWdCOztPQWE5QjtJQUVLLG9CQUFvQixDQUN4QixXQUFXLEVBQUUsaUJBQWlCLEVBQzlCLGNBQWMsRUFBRSxpQkFBaUIsRUFDakMsZUFBZSxFQUFFLGdCQUFnQixFQUNqQyxtQkFBbUIsRUFBRSxpQkFBaUI7O09BVXZDO0lBRUssdUJBQXVCOztPQVc1QjtJQUVLLHVCQUF1QixDQUFDLG9CQUFvQixFQUFFLGlCQUFpQjs7T0FNcEU7SUFFSyw0QkFBNEIsQ0FBQyxhQUFhLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsaUJBQWlCOztPQU92RztDQUNGIn0=
@@ -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"}