@aztec/txe 0.86.0-starknet.1 → 0.87.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,3 @@
1
- /// <reference types="node" resolution-mode="require"/>
2
- /// <reference types="node" resolution-mode="require"/>
3
1
  import { type L1_TO_L2_MSG_TREE_HEIGHT } from '@aztec/constants';
4
2
  import { Fr, Point } from '@aztec/foundation/fields';
5
3
  import { type Logger } from '@aztec/foundation/log';
@@ -7,7 +5,7 @@ import { KeyStore } from '@aztec/key-store';
7
5
  import type { AztecAsyncKVStore } from '@aztec/kv-store';
8
6
  import type { ProtocolContract } from '@aztec/protocol-contracts';
9
7
  import { AddressDataProvider, ContractDataProvider } from '@aztec/pxe/server';
10
- import { type MessageLoadOracleInputs, type NoteData, type TypedOracle } from '@aztec/simulator/client';
8
+ import { ExecutionNoteCache, type MessageLoadOracleInputs, type NoteData, type TypedOracle } from '@aztec/simulator/client';
11
9
  import { type PublicTxResult } from '@aztec/simulator/server';
12
10
  import { type ContractArtifact, EventSelector, type FunctionAbi, FunctionSelector, type NoteSelector } from '@aztec/stdlib/abi';
13
11
  import { AuthWitness } from '@aztec/stdlib/auth-witness';
@@ -16,7 +14,7 @@ import { AztecAddress } from '@aztec/stdlib/aztec-address';
16
14
  import type { ContractInstance, ContractInstanceWithAddress } from '@aztec/stdlib/contract';
17
15
  import type { MerkleTreeWriteOperations } from '@aztec/stdlib/interfaces/server';
18
16
  import { type KeyValidationRequest, PrivateContextInputs } from '@aztec/stdlib/kernel';
19
- import { ContractClassLog, IndexedTaggingSecret, LogWithTxData, type PrivateLog, type PublicLog } from '@aztec/stdlib/logs';
17
+ import { ContractClassLog, IndexedTaggingSecret, LogWithTxData, PrivateLog, type PublicLog } from '@aztec/stdlib/logs';
20
18
  import type { NoteStatus } from '@aztec/stdlib/note';
21
19
  import { MerkleTreeId, NullifierMembershipWitness, PublicDataWitness } from '@aztec/stdlib/trees';
22
20
  import { BlockHeader, TxHash } from '@aztec/stdlib/tx';
@@ -56,7 +54,7 @@ export declare class TXE implements TypedOracle {
56
54
  private CHAIN_ID;
57
55
  private node;
58
56
  private simulationProvider;
59
- private noteCache;
57
+ noteCache: ExecutionNoteCache;
60
58
  private authwits;
61
59
  private constructor();
62
60
  static create(logger: Logger, store: AztecAsyncKVStore, protocolContracts: ProtocolContract[]): Promise<TXE>;
@@ -111,7 +109,7 @@ export declare class TXE implements TypedOracle {
111
109
  getCompleteAddress(account: AztecAddress): Promise<import("@aztec/aztec.js").CompleteAddress>;
112
110
  getAuthWitness(messageHash: Fr): Promise<Fr[] | undefined>;
113
111
  getNotes(storageSlot: Fr, numSelects: number, selectByIndexes: number[], selectByOffsets: number[], selectByLengths: number[], selectValues: Fr[], selectComparators: number[], sortByIndexes: number[], sortByOffsets: number[], sortByLengths: number[], sortOrder: number[], limit: number, offset: number, status: NoteStatus): Promise<NoteData[]>;
114
- notifyCreatedNote(storageSlot: Fr, _noteTypeId: NoteSelector, noteItems: Fr[], noteHash: Fr, counter: number): Promise<void>;
112
+ notifyCreatedNote(storageSlot: Fr, _noteTypeId: NoteSelector, noteItems: Fr[], noteHash: Fr, counter: number): void;
115
113
  notifyNullifiedNote(innerNullifier: Fr, noteHash: Fr, counter: number): Promise<void>;
116
114
  notifyCreatedNullifier(innerNullifier: Fr): Promise<void>;
117
115
  checkNullifierExists(innerNullifier: Fr): Promise<boolean>;
@@ -121,6 +119,7 @@ export declare class TXE implements TypedOracle {
121
119
  commitState(): Promise<void>;
122
120
  getTxRequestHash(): Fr;
123
121
  notifyCreatedContractClassLog(_log: ContractClassLog, _counter: number): Fr;
122
+ simulateUtilityFunction(targetContractAddress: AztecAddress, functionSelector: FunctionSelector, argsHash: Fr): Promise<Fr>;
124
123
  callPrivateFunction(targetContractAddress: AztecAddress, functionSelector: FunctionSelector, argsHash: Fr, sideEffectCounter: number, isStaticCall: boolean): Promise<{
125
124
  endSideEffectCounter: Fr;
126
125
  returnsHash: Fr;
@@ -152,5 +151,10 @@ export declare class TXE implements TypedOracle {
152
151
  aes128Decrypt(ciphertext: Buffer, iv: Buffer, symKey: Buffer): Promise<Buffer>;
153
152
  getSharedSecret(address: AztecAddress, ephPk: Point): Promise<Point>;
154
153
  storePrivateEventLog(contractAddress: AztecAddress, recipient: AztecAddress, eventSelector: EventSelector, logContent: Fr[], txHash: TxHash, logIndexInTx: number, txIndexInBlock: number): Promise<void>;
154
+ privateCallNewFlow(from: AztecAddress, targetContractAddress: AztecAddress | undefined, functionSelector: FunctionSelector | undefined, args: Fr[], argsHash?: Fr, isStaticCall?: boolean): Promise<{
155
+ endSideEffectCounter: Fr;
156
+ returnsHash: Fr;
157
+ txHash: Fr;
158
+ }>;
155
159
  }
156
160
  //# sourceMappingURL=txe_oracle.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"txe_oracle.d.ts","sourceRoot":"","sources":["../../src/oracle/txe_oracle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"txe_oracle.d.ts","sourceRoot":"","sources":["../../src/oracle/txe_oracle.ts"],"names":[],"mappings":"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"}
@@ -1,27 +1,30 @@
1
1
  import { Body, L2Block, Note } from '@aztec/aztec.js';
2
- import { MAX_NOTE_HASHES_PER_TX, MAX_NULLIFIERS_PER_TX, NULLIFIER_SUBTREE_HEIGHT, NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP, PRIVATE_CONTEXT_INPUTS_LENGTH } from '@aztec/constants';
2
+ import { DEFAULT_GAS_LIMIT, DEFAULT_TEARDOWN_GAS_LIMIT, MAX_CONTRACT_CLASS_LOGS_PER_TX, MAX_ENQUEUED_CALLS_PER_TX, MAX_L2_GAS_PER_TX_PUBLIC_PORTION, MAX_L2_TO_L1_MSGS_PER_TX, MAX_NOTE_HASHES_PER_TX, MAX_NULLIFIERS_PER_TX, MAX_PRIVATE_LOGS_PER_TX, NULLIFIER_SUBTREE_HEIGHT, NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP, PRIVATE_CONTEXT_INPUTS_LENGTH } from '@aztec/constants';
3
3
  import { padArrayEnd } from '@aztec/foundation/collection';
4
4
  import { Aes128, Schnorr, poseidon2Hash } from '@aztec/foundation/crypto';
5
5
  import { Fr } from '@aztec/foundation/fields';
6
6
  import { applyStringFormatting } from '@aztec/foundation/log';
7
- import { Timer } from '@aztec/foundation/timer';
7
+ import { TestDateProvider, Timer } from '@aztec/foundation/timer';
8
8
  import { KeyStore } from '@aztec/key-store';
9
9
  import { AddressDataProvider, CapsuleDataProvider, ContractDataProvider, NoteDataProvider, PXEOracleInterface, PrivateEventDataProvider, TaggingDataProvider, enrichPublicSimulationError } from '@aztec/pxe/server';
10
- import { ExecutionNoteCache, HashedValuesCache, Oracle, WASMSimulator, extractCallStack, extractPrivateCircuitPublicInputs, pickNotes, toACVMWitness, witnessMapToFields } from '@aztec/simulator/client';
10
+ import { ExecutionNoteCache, HashedValuesCache, Oracle, PrivateExecutionOracle, UtilityExecutionOracle, WASMSimulator, executePrivateFunction, extractCallStack, extractPrivateCircuitPublicInputs, pickNotes, toACVMWitness, witnessMapToFields } from '@aztec/simulator/client';
11
11
  import { createTxForPublicCalls } from '@aztec/simulator/public/fixtures';
12
- import { ExecutionError, PublicContractsDB, PublicTxSimulator, createSimulationError, resolveAssertionMessageFromError } from '@aztec/simulator/server';
13
- import { FunctionSelector, countArgumentsSize } from '@aztec/stdlib/abi';
12
+ import { ExecutionError, PublicContractsDB, PublicProcessor, PublicTxSimulator, createSimulationError, resolveAssertionMessageFromError } from '@aztec/simulator/server';
13
+ import { FunctionSelector, FunctionType, countArgumentsSize } from '@aztec/stdlib/abi';
14
14
  import { AuthWitness } from '@aztec/stdlib/auth-witness';
15
15
  import { PublicDataWrite } from '@aztec/stdlib/avm';
16
16
  import { AztecAddress } from '@aztec/stdlib/aztec-address';
17
17
  import { SimulationError } from '@aztec/stdlib/errors';
18
- import { Gas, GasFees } from '@aztec/stdlib/gas';
19
- import { computeNoteHashNonce, computePublicDataTreeLeafSlot, computeUniqueNoteHash, siloNoteHash, siloNullifier } from '@aztec/stdlib/hash';
20
- import { PrivateContextInputs, PublicCallRequest } from '@aztec/stdlib/kernel';
18
+ import { Gas, GasFees, GasSettings } from '@aztec/stdlib/gas';
19
+ import { computeNoteHashNonce, computePublicDataTreeLeafSlot, computeUniqueNoteHash, computeVarArgsHash, siloNoteHash, siloNullifier } from '@aztec/stdlib/hash';
20
+ import { PartialPrivateTailPublicInputsForPublic, PartialPrivateTailPublicInputsForRollup, PrivateContextInputs, PrivateKernelTailCircuitPublicInputs, PrivateToPublicAccumulatedData, PrivateToRollupAccumulatedData, PublicCallRequest, RollupValidationRequests, ScopedLogHash } from '@aztec/stdlib/kernel';
21
21
  import { deriveKeys } from '@aztec/stdlib/keys';
22
+ import { PrivateLog } from '@aztec/stdlib/logs';
23
+ import { ScopedL2ToL1Message } from '@aztec/stdlib/messaging';
24
+ import { ClientIvcProof } from '@aztec/stdlib/proofs';
22
25
  import { makeAppendOnlyTreeSnapshot, makeContentCommitment, makeGlobalVariables, makeHeader } from '@aztec/stdlib/testing';
23
26
  import { AppendOnlyTreeSnapshot, MerkleTreeId, NullifierMembershipWitness, PublicDataTreeLeaf, PublicDataWitness } from '@aztec/stdlib/trees';
24
- import { BlockHeader, CallContext, GlobalVariables, PublicCallRequestWithCalldata, TxEffect, TxHash } from '@aztec/stdlib/tx';
27
+ import { BlockHeader, CallContext, GlobalVariables, HashedValues, PrivateExecutionResult, PublicCallRequestWithCalldata, Tx, TxConstantData, TxContext, TxEffect, TxHash, collectNested } from '@aztec/stdlib/tx';
25
28
  import { ForkCheckpoint } from '@aztec/world-state/native';
26
29
  import { TXEStateMachine } from '../state_machine/index.js';
27
30
  import { TXEAccountDataProvider } from '../util/txe_account_data_provider.js';
@@ -240,8 +243,7 @@ export class TXE {
240
243
  addPublicLogs(logs) {
241
244
  logs.forEach((log)=>{
242
245
  try {
243
- // The first elt stores lengths => tag is in fields[1]
244
- const tag = log.log[1];
246
+ const tag = log.fields[0];
245
247
  this.logger.verbose(`Found tagged public log with tag ${tag.toString()} in block ${this.blockNumber}`);
246
248
  this.publicLogs.push(log);
247
249
  } catch (err) {
@@ -412,7 +414,6 @@ export class TXE {
412
414
  noteHash
413
415
  }, counter);
414
416
  this.sideEffectCounter = counter + 1;
415
- return Promise.resolve();
416
417
  }
417
418
  async notifyNullifiedNote(innerNullifier, noteHash, counter) {
418
419
  await this.checkNullifiersNotInTree(this.contractAddress, [
@@ -539,6 +540,46 @@ export class TXE {
539
540
  notifyCreatedContractClassLog(_log, _counter) {
540
541
  throw new Error('Method not implemented.');
541
542
  }
543
+ async simulateUtilityFunction(targetContractAddress, functionSelector, argsHash) {
544
+ const artifact = await this.contractDataProvider.getFunctionArtifact(targetContractAddress, functionSelector);
545
+ if (!artifact) {
546
+ throw new Error(`Cannot call ${functionSelector} as there is artifact found at ${targetContractAddress}.`);
547
+ }
548
+ const call = {
549
+ name: artifact.name,
550
+ selector: functionSelector,
551
+ to: targetContractAddress
552
+ };
553
+ const entryPointArtifact = await this.pxeOracleInterface.getFunctionArtifact(call.to, call.selector);
554
+ if (entryPointArtifact.functionType !== FunctionType.UTILITY) {
555
+ throw new Error(`Cannot run ${entryPointArtifact.functionType} function as utility`);
556
+ }
557
+ const oracle = new UtilityExecutionOracle(call.to, [], [], this.pxeOracleInterface, undefined, undefined);
558
+ try {
559
+ this.logger.verbose(`Executing utility function ${entryPointArtifact.name}`, {
560
+ contract: call.to,
561
+ selector: call.selector
562
+ });
563
+ const args = await this.loadFromExecutionCache(argsHash);
564
+ const initialWitness = toACVMWitness(0, args);
565
+ const acirExecutionResult = await this.simulationProvider.executeUserCircuit(initialWitness, entryPointArtifact, new Oracle(oracle)).catch((err)=>{
566
+ err.message = resolveAssertionMessageFromError(err, entryPointArtifact);
567
+ throw new ExecutionError(err.message, {
568
+ contractAddress: call.to,
569
+ functionSelector: call.selector
570
+ }, extractCallStack(err, entryPointArtifact.debug), {
571
+ cause: err
572
+ });
573
+ });
574
+ const returnWitness = witnessMapToFields(acirExecutionResult.returnWitness);
575
+ this.logger.verbose(`Utility simulation for ${call.to}.${call.selector} completed`);
576
+ const returnHash = await computeVarArgsHash(returnWitness);
577
+ this.storeInExecutionCache(returnWitness, returnHash);
578
+ return returnHash;
579
+ } catch (err) {
580
+ throw createSimulationError(err instanceof Error ? err : new Error('Unknown error during private execution'));
581
+ }
582
+ }
542
583
  async callPrivateFunction(targetContractAddress, functionSelector, argsHash, sideEffectCounter, isStaticCall) {
543
584
  this.logger.verbose(`Executing external function ${await this.getDebugFunctionName(targetContractAddress, functionSelector)}@${targetContractAddress} isStaticCall=${isStaticCall}`);
544
585
  // Store and modify env
@@ -624,7 +665,7 @@ export class TXE {
624
665
  const checkpoint = await ForkCheckpoint.new(db);
625
666
  try {
626
667
  const contractsDB = new PublicContractsDB(new TXEPublicContractDataSource(this));
627
- const simulator = new PublicTxSimulator(this.baseFork, contractsDB, globalVariables, /*doMerkleOperations=*/ false);
668
+ const simulator = new PublicTxSimulator(this.baseFork, contractsDB, globalVariables, /*doMerkleOperations=*/ false, /*skipFeeEnforcement=*/ false, /*clientInitiatedSimulation=*/ true);
628
669
  const { usedTxRequestHashForNonces } = this.noteCache.finish();
629
670
  const firstNullifier = usedTxRequestHashForNonces ? this.getTxRequestHash() : this.noteCache.getAllNullifiers()[0];
630
671
  // When setting up a teardown call, we tell it that
@@ -820,4 +861,140 @@ export class TXE {
820
861
  storePrivateEventLog(contractAddress, recipient, eventSelector, logContent, txHash, logIndexInTx, txIndexInBlock) {
821
862
  return this.pxeOracleInterface.storePrivateEventLog(contractAddress, recipient, eventSelector, logContent, txHash, logIndexInTx, txIndexInBlock);
822
863
  }
864
+ async privateCallNewFlow(from, targetContractAddress = AztecAddress.zero(), functionSelector = FunctionSelector.empty(), args, argsHash = Fr.zero(), isStaticCall = false) {
865
+ this.logger.verbose(`Executing external function ${await this.getDebugFunctionName(targetContractAddress, functionSelector)}@${targetContractAddress} isStaticCall=${isStaticCall}`);
866
+ const artifact = await this.contractDataProvider.getFunctionArtifact(targetContractAddress, functionSelector);
867
+ if (artifact === undefined) {
868
+ throw new Error('Function Artifact does not exist');
869
+ }
870
+ const callContext = new CallContext(from, targetContractAddress, functionSelector, isStaticCall);
871
+ const gasLimits = new Gas(DEFAULT_GAS_LIMIT, MAX_L2_GAS_PER_TX_PUBLIC_PORTION);
872
+ const teardownGasLimits = new Gas(DEFAULT_TEARDOWN_GAS_LIMIT, MAX_L2_GAS_PER_TX_PUBLIC_PORTION);
873
+ const gasSettings = new GasSettings(gasLimits, teardownGasLimits, GasFees.empty(), GasFees.empty());
874
+ const txContext = new TxContext(this.CHAIN_ID, this.ROLLUP_VERSION, gasSettings);
875
+ const blockHeader = await this.pxeOracleInterface.getBlockHeader();
876
+ const noteCache = new ExecutionNoteCache(this.getTxRequestHash());
877
+ const context = 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 */ [], /** List of transient auth witnesses to be used during this simulation */ [], HashedValuesCache.create(), noteCache, this.pxeOracleInterface, this.simulationProvider, 0, 1);
878
+ context.storeInExecutionCache(args, argsHash);
879
+ // 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.
880
+ let result;
881
+ try {
882
+ const executionResult = await executePrivateFunction(this.simulationProvider, context, artifact, targetContractAddress, functionSelector);
883
+ const { usedTxRequestHashForNonces } = noteCache.finish();
884
+ const firstNullifierHint = usedTxRequestHashForNonces ? Fr.ZERO : noteCache.getAllNullifiers()[0];
885
+ const publicCallRequests = collectNested([
886
+ executionResult
887
+ ], (r)=>[
888
+ ...r.publicInputs.publicCallRequests.map((r)=>r.inner),
889
+ r.publicInputs.publicTeardownCallRequest
890
+ ]).filter((r)=>!r.isEmpty());
891
+ const publicFunctionsCalldata = await Promise.all(publicCallRequests.map(async (r)=>{
892
+ const calldata = await context.loadFromExecutionCache(r.calldataHash);
893
+ return new HashedValues(calldata, r.calldataHash);
894
+ }));
895
+ result = new PrivateExecutionResult(executionResult, firstNullifierHint, publicFunctionsCalldata);
896
+ } catch (err) {
897
+ throw createSimulationError(err instanceof Error ? err : new Error('Unknown error during private execution'));
898
+ }
899
+ const uniqueNoteHashes = [];
900
+ const taggedPrivateLogs = [];
901
+ const nullifiers = result.firstNullifier.equals(Fr.ZERO) ? [
902
+ this.getTxRequestHash()
903
+ ] : noteCache.getAllNullifiers();
904
+ const l2ToL1Messages = [];
905
+ const contractClassLogsHashes = [];
906
+ const publicCallRequests = [];
907
+ const nonceGenerator = nullifiers[0];
908
+ let publicTeardownCallRequest;
909
+ let noteHashIndexInTx = 0;
910
+ const executions = [
911
+ result.entrypoint
912
+ ];
913
+ while(executions.length !== 0){
914
+ const execution = executions.shift();
915
+ executions.unshift(...execution.nestedExecutions);
916
+ const { contractAddress } = execution.publicInputs.callContext;
917
+ const noteHashesFromExecution = await Promise.all(execution.publicInputs.noteHashes.filter((noteHash)=>!noteHash.isEmpty()).map(async (noteHash)=>{
918
+ const nonce = await computeNoteHashNonce(nonceGenerator, noteHashIndexInTx++);
919
+ const siloedNoteHash = await siloNoteHash(contractAddress, noteHash.value);
920
+ // We could defer this to the public processor, and pass this in as non-revertible.
921
+ return computeUniqueNoteHash(nonce, siloedNoteHash);
922
+ }));
923
+ const privateLogsFromExecution = await Promise.all(execution.publicInputs.privateLogs.filter((privateLog)=>!privateLog.isEmpty()).map(async (metadata)=>{
924
+ metadata.log.fields[0] = await poseidon2Hash([
925
+ contractAddress,
926
+ metadata.log.fields[0]
927
+ ]);
928
+ return metadata.log;
929
+ }));
930
+ uniqueNoteHashes.push(...noteHashesFromExecution);
931
+ taggedPrivateLogs.push(...privateLogsFromExecution);
932
+ l2ToL1Messages.push(...execution.publicInputs.l2ToL1Msgs.filter((l2ToL1Message)=>!l2ToL1Message.isEmpty()).map((message)=>message.scope(contractAddress)));
933
+ contractClassLogsHashes.push(...execution.publicInputs.contractClassLogsHashes.filter((contractClassLogsHash)=>!contractClassLogsHash.isEmpty()).map((message)=>message.logHash.scope(contractAddress)));
934
+ publicCallRequests.push(...execution.publicInputs.publicCallRequests.filter((publicCallRequest)=>!publicCallRequest.isEmpty()).map((callRequest)=>callRequest.inner));
935
+ if (publicTeardownCallRequest !== undefined && !execution.publicInputs.publicTeardownCallRequest.isEmpty()) {
936
+ throw new Error('Trying to set multiple teardown requests');
937
+ }
938
+ publicTeardownCallRequest = execution.publicInputs.publicTeardownCallRequest.isEmpty() ? publicTeardownCallRequest : execution.publicInputs.publicTeardownCallRequest;
939
+ }
940
+ const globals = makeGlobalVariables();
941
+ globals.blockNumber = new Fr(this.blockNumber);
942
+ globals.gasFees = GasFees.empty();
943
+ const contractsDB = new PublicContractsDB(new TXEPublicContractDataSource(this));
944
+ const simulator = new PublicTxSimulator(this.baseFork, contractsDB, globals, true, true);
945
+ const processor = new PublicProcessor(globals, this.baseFork, contractsDB, simulator, new TestDateProvider());
946
+ const constantData = new TxConstantData(blockHeader, txContext, Fr.zero(), Fr.zero());
947
+ const hasPublicCalls = result.publicFunctionCalldata.length !== 0;
948
+ let inputsForRollup;
949
+ let inputsForPublic;
950
+ // Private only
951
+ if (result.publicFunctionCalldata.length === 0) {
952
+ const accumulatedDataForRollup = new PrivateToRollupAccumulatedData(padArrayEnd(uniqueNoteHashes, Fr.ZERO, MAX_NOTE_HASHES_PER_TX), padArrayEnd(nullifiers, Fr.ZERO, MAX_NULLIFIERS_PER_TX), padArrayEnd(l2ToL1Messages, ScopedL2ToL1Message.empty(), MAX_L2_TO_L1_MSGS_PER_TX), padArrayEnd(taggedPrivateLogs, PrivateLog.empty(), MAX_PRIVATE_LOGS_PER_TX), padArrayEnd(contractClassLogsHashes, ScopedLogHash.empty(), MAX_CONTRACT_CLASS_LOGS_PER_TX));
953
+ inputsForRollup = new PartialPrivateTailPublicInputsForRollup(accumulatedDataForRollup);
954
+ } else {
955
+ const accumulatedDataForPublic = new PrivateToPublicAccumulatedData(padArrayEnd(uniqueNoteHashes, Fr.ZERO, MAX_NOTE_HASHES_PER_TX), padArrayEnd(nullifiers, Fr.ZERO, MAX_NULLIFIERS_PER_TX), padArrayEnd(l2ToL1Messages, ScopedL2ToL1Message.empty(), MAX_L2_TO_L1_MSGS_PER_TX), padArrayEnd(taggedPrivateLogs, PrivateLog.empty(), MAX_PRIVATE_LOGS_PER_TX), padArrayEnd(contractClassLogsHashes, ScopedLogHash.empty(), MAX_CONTRACT_CLASS_LOGS_PER_TX), padArrayEnd(publicCallRequests, PublicCallRequest.empty(), MAX_ENQUEUED_CALLS_PER_TX));
956
+ inputsForPublic = new PartialPrivateTailPublicInputsForPublic(// We are using non-revertible because we set the first nullifier to be used as a nonce generator, otherwise the tx hash is manually calculated.
957
+ // nonrevertible
958
+ accumulatedDataForPublic, // revertible
959
+ PrivateToPublicAccumulatedData.empty(), publicTeardownCallRequest ?? PublicCallRequest.empty());
960
+ }
961
+ const txData = new PrivateKernelTailCircuitPublicInputs(constantData, RollupValidationRequests.empty(), /*gasUsed=*/ new Gas(0, 0), /*feePayer=*/ AztecAddress.zero(), hasPublicCalls ? inputsForPublic : undefined, !hasPublicCalls ? inputsForRollup : undefined);
962
+ const tx = new Tx(txData, ClientIvcProof.empty(), [], result.publicFunctionCalldata);
963
+ const results = await processor.process([
964
+ tx
965
+ ]);
966
+ const processedTxs = results[0];
967
+ const failedTxs = results[1];
968
+ if (failedTxs.length !== 0) {
969
+ throw new Error('Public execution has failed');
970
+ }
971
+ const fork = this.baseFork;
972
+ const txEffect = TxEffect.empty();
973
+ txEffect.noteHashes = processedTxs[0].txEffect.noteHashes;
974
+ txEffect.nullifiers = processedTxs[0].txEffect.nullifiers;
975
+ txEffect.privateLogs = taggedPrivateLogs;
976
+ txEffect.publicLogs = processedTxs[0].txEffect.publicLogs;
977
+ txEffect.publicDataWrites = processedTxs[0].txEffect.publicDataWrites;
978
+ txEffect.txHash = new TxHash(new Fr(this.blockNumber));
979
+ const body = new Body([
980
+ txEffect
981
+ ]);
982
+ const l2Block = new L2Block(makeAppendOnlyTreeSnapshot(this.blockNumber + 1), makeHeader(0, this.blockNumber, this.blockNumber), body);
983
+ const l1ToL2Messages = Array(NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP).fill(0).map(Fr.zero);
984
+ await fork.appendLeaves(MerkleTreeId.L1_TO_L2_MESSAGE_TREE, l1ToL2Messages);
985
+ const stateReference = await fork.getStateReference();
986
+ const archiveInfo = await fork.getTreeInfo(MerkleTreeId.ARCHIVE);
987
+ const header = new BlockHeader(new AppendOnlyTreeSnapshot(new Fr(archiveInfo.root), Number(archiveInfo.size)), makeContentCommitment(), stateReference, globals, Fr.ZERO, Fr.ZERO);
988
+ header.globalVariables.blockNumber = new Fr(this.blockNumber);
989
+ l2Block.header = header;
990
+ await fork.updateArchive(l2Block.header);
991
+ await this.stateMachine.handleL2Block(l2Block);
992
+ const txRequestHash = this.getTxRequestHash();
993
+ this.setBlockNumber(this.blockNumber + 1);
994
+ return {
995
+ endSideEffectCounter: result.entrypoint.publicInputs.endSideEffectCounter,
996
+ returnsHash: result.entrypoint.publicInputs.returnsHash,
997
+ txHash: txRequestHash
998
+ };
999
+ }
823
1000
  }
@@ -19,6 +19,12 @@ export declare class TXEArchiver extends ArchiverStoreHelper {
19
19
  * @returns The number of the latest L2 block proven seen by the block source implementation.
20
20
  */
21
21
  getProvenBlockNumber(): Promise<number>;
22
+ /**
23
+ * Gets a published l2 block. If a negative number is passed, the block returned is the most recent.
24
+ * @param number - The block number to return (inclusive).
25
+ * @returns The requested L2 block.
26
+ */
27
+ getPublishedBlock(number: number): Promise<PublishedL2Block | undefined>;
22
28
  /**
23
29
  * Gets an l2 block. If a negative number is passed, the block returned is the most recent.
24
30
  * @param number - The block number to return (inclusive).
@@ -1 +1 @@
1
- {"version":3,"file":"archiver.d.ts","sourceRoot":"","sources":["../../src/state_machine/archiver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAuB,KAAK,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAClG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAKpD,qBAAa,WAAY,SAAQ,mBAAmB;gBACtC,EAAE,EAAE,iBAAiB;IAIX,SAAS,CAAC,MAAM,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAS7E;;;OAGG;IACI,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC;IAIxC;;;OAGG;IACI,oBAAoB,IAAI,OAAO,CAAC,MAAM,CAAC;IAI9C;;;;OAIG;IACU,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;IAYnE;;;;OAIG;IACU,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;IAWjF,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAI7E,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC;IAIlC,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC;IAInC,iBAAiB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAI3D,uBAAuB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAIrE,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIvD,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC;IAI5B,cAAc,IAAI,OAAO,CAAC,iBAAiB,CAAC;IAI5C,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAI9B,WAAW,CAAC,QAAQ,EAAE,YAAY,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,2BAA2B,GAAG,SAAS,CAAC;IAI5G,gBAAgB,IAAI,OAAO,CAAC,UAAU,CAAC;IAIvC,kBAAkB,IAAI,OAAO,CAAC,UAAU,CAAC;CAGjD"}
1
+ {"version":3,"file":"archiver.d.ts","sourceRoot":"","sources":["../../src/state_machine/archiver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAuB,KAAK,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAClG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAKpD,qBAAa,WAAY,SAAQ,mBAAmB;gBACtC,EAAE,EAAE,iBAAiB;IAIX,SAAS,CAAC,MAAM,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAS7E;;;OAGG;IACI,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC;IAIxC;;;OAGG;IACI,oBAAoB,IAAI,OAAO,CAAC,MAAM,CAAC;IAI9C;;;;OAIG;IACmB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC;IAY9F;;;;OAIG;IACI,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;IAI7D;;;;OAIG;IACU,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;IAWjF,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAI7E,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC;IAIlC,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC;IAInC,iBAAiB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAI3D,uBAAuB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAIrE,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIvD,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC;IAI5B,cAAc,IAAI,OAAO,CAAC,iBAAiB,CAAC;IAI5C,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAI9B,WAAW,CAAC,QAAQ,EAAE,YAAY,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,2BAA2B,GAAG,SAAS,CAAC;IAI5G,gBAAgB,IAAI,OAAO,CAAC,UAAU,CAAC;IAIvC,kBAAkB,IAAI,OAAO,CAAC,UAAU,CAAC;CAGjD"}
@@ -26,10 +26,10 @@ export class TXEArchiver extends ArchiverStoreHelper {
26
26
  return this.store.getSynchedL2BlockNumber();
27
27
  }
28
28
  /**
29
- * Gets an l2 block. If a negative number is passed, the block returned is the most recent.
29
+ * Gets a published l2 block. If a negative number is passed, the block returned is the most recent.
30
30
  * @param number - The block number to return (inclusive).
31
31
  * @returns The requested L2 block.
32
- */ async getBlock(number) {
32
+ */ async getPublishedBlock(number) {
33
33
  // If the number provided is -ve, then return the latest block.
34
34
  if (number < 0) {
35
35
  number = await this.store.getSynchedL2BlockNumber();
@@ -38,7 +38,14 @@ export class TXEArchiver extends ArchiverStoreHelper {
38
38
  return undefined;
39
39
  }
40
40
  const blocks = await this.store.getPublishedBlocks(number, 1);
41
- return blocks.length === 0 ? undefined : blocks[0].block;
41
+ return blocks.length === 0 ? undefined : blocks[0];
42
+ }
43
+ /**
44
+ * Gets an l2 block. If a negative number is passed, the block returned is the most recent.
45
+ * @param number - The block number to return (inclusive).
46
+ * @returns The requested L2 block.
47
+ */ getBlock(number) {
48
+ return this.getPublishedBlock(number).then((block)=>block?.block);
42
49
  }
43
50
  /**
44
51
  * Gets an l2 block header.
@@ -4,10 +4,12 @@ import type { PeerInfo } from '@aztec/stdlib/interfaces/server';
4
4
  import type { BlockAttestation, BlockProposal } from '@aztec/stdlib/p2p';
5
5
  import type { Tx, TxHash } from '@aztec/stdlib/tx';
6
6
  export declare class DummyP2P implements P2P {
7
+ validate(_txs: Tx[]): Promise<void>;
8
+ clear(): Promise<void>;
7
9
  getPendingTxs(): Promise<Tx[]>;
8
10
  getEncodedEnr(): Promise<string | undefined>;
9
11
  getPeers(_includePending?: boolean): Promise<PeerInfo[]>;
10
- broadcastProposal(_proposal: BlockProposal): void;
12
+ broadcastProposal(_proposal: BlockProposal): Promise<void>;
11
13
  registerBlockProposalHandler(_handler: (block: BlockProposal) => Promise<BlockAttestation | undefined>): void;
12
14
  requestTxs(_txHashes: TxHash[]): Promise<(Tx | undefined)[]>;
13
15
  requestTxByHash(_txHash: TxHash): Promise<Tx | undefined>;
@@ -41,5 +43,6 @@ export declare class DummyP2P implements P2P {
41
43
  getSyncedLatestBlockNum(): Promise<number>;
42
44
  getSyncedProvenBlockNum(): Promise<number>;
43
45
  getSyncedLatestSlot(): Promise<bigint>;
46
+ markTxsAsNonEvictable(_: TxHash[]): Promise<void>;
44
47
  }
45
48
  //# sourceMappingURL=dummy_p2p_client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dummy_p2p_client.d.ts","sourceRoot":"","sources":["../../src/state_machine/dummy_p2p_client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACpE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AACtE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAEnD,qBAAa,QAAS,YAAW,GAAG;IAC3B,aAAa,IAAI,OAAO,CAAC,EAAE,EAAE,CAAC;IAI9B,aAAa,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAI5C,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAIxD,iBAAiB,CAAC,SAAS,EAAE,aAAa,GAAG,IAAI;IAIjD,4BAA4B,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,GAAG,IAAI;IAI7G,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,EAAE,GAAG,SAAS,CAAC,EAAE,CAAC;IAI5D,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC;IAIzD,MAAM,CAAC,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAI9B,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7C,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC;IAI7D,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC;IAIrD,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC;IAI7D,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC;IAItE,iBAAiB,IAAI,qBAAqB,CAAC,EAAE,CAAC;IAI9C,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC;IAIpC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAItB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrB,OAAO,IAAI,OAAO;IAIlB,SAAS,IAAI,OAAO,CAAC,YAAY,CAAC;IAIlC,MAAM,IAAI,GAAG,GAAG,SAAS;IAIzB,WAAW,IAAI,IAAI;IAInB,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC;IAIhD,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAIxF,cAAc,CAAC,YAAY,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7D,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAI5D,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAI3D,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC;IAI5B,sBAAsB,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjE,IAAI;IAIJ,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,EAAE,GAAG,SAAS,CAAC,EAAE,CAAC;IAIlE,MAAM,CAAC,OAAO,EAAE,KAAK,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC;IAI3D,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,EAAE,GAAG,SAAS,CAAC,EAAE,CAAC;IAItE,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAIrD,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjC,uBAAuB,IAAI,OAAO,CAAC,MAAM,CAAC;IAI1C,uBAAuB,IAAI,OAAO,CAAC,MAAM,CAAC;IAI1C,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC;CAG9C"}
1
+ {"version":3,"file":"dummy_p2p_client.d.ts","sourceRoot":"","sources":["../../src/state_machine/dummy_p2p_client.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,10 @@
1
1
  export class DummyP2P {
2
+ validate(_txs) {
3
+ return Promise.resolve();
4
+ }
5
+ clear() {
6
+ throw new Error('DummyP2P does not implement "clear".');
7
+ }
2
8
  getPendingTxs() {
3
9
  throw new Error('DummyP2P does not implement "getPendingTxs"');
4
10
  }
@@ -110,4 +116,7 @@ export class DummyP2P {
110
116
  getSyncedLatestSlot() {
111
117
  throw new Error('DummyP2P does not implement "getSyncedLatestSlot"');
112
118
  }
119
+ markTxsAsNonEvictable(_) {
120
+ throw new Error('DummyP2P does not implement "markTxsAsNonEvictable".');
121
+ }
113
122
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/state_machine/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAEjE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG5C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,qBAAa,eAAe;IAEjB,IAAI,EAAE,SAAS;IACf,YAAY,EAAE,eAAe;IAC7B,QAAQ,EAAE,WAAW;IACrB,gBAAgB,EAAE,gBAAgB;gBAHlC,IAAI,EAAE,SAAS,EACf,YAAY,EAAE,eAAe,EAC7B,QAAQ,EAAE,WAAW,EACrB,gBAAgB,EAAE,gBAAgB;WAGvB,MAAM,CAAC,EAAE,EAAE,iBAAiB;IA6BnC,aAAa,CAAC,KAAK,EAAE,OAAO;CAiB1C"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/state_machine/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAGjE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG5C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,qBAAa,eAAe;IAEjB,IAAI,EAAE,SAAS;IACf,YAAY,EAAE,eAAe;IAC7B,QAAQ,EAAE,WAAW;IACrB,gBAAgB,EAAE,gBAAgB;gBAHlC,IAAI,EAAE,SAAS,EACf,YAAY,EAAE,eAAe,EAC7B,QAAQ,EAAE,WAAW,EACrB,gBAAgB,EAAE,gBAAgB;WAGvB,MAAM,CAAC,EAAE,EAAE,iBAAiB;IA+BnC,aAAa,CAAC,KAAK,EAAE,OAAO;CAiB1C"}
@@ -2,6 +2,7 @@ import { AztecNodeService } from '@aztec/aztec-node';
2
2
  import { TestCircuitVerifier } from '@aztec/bb-prover/test';
3
3
  import { createLogger } from '@aztec/foundation/log';
4
4
  import { SyncDataProvider } from '@aztec/pxe/server';
5
+ import { getPackageVersion } from '@aztec/stdlib/update-checker';
5
6
  import { TXEArchiver } from './archiver.js';
6
7
  import { DummyP2P } from './dummy_p2p_client.js';
7
8
  import { TXEGlobalVariablesBuilder } from './global_variable_builder.js';
@@ -22,8 +23,9 @@ export class TXEStateMachine {
22
23
  const synchronizer = await TXESynchronizer.create();
23
24
  const syncDataProvider = new SyncDataProvider(db);
24
25
  const aztecNodeConfig = {};
26
+ const log = createLogger('txe_node');
25
27
  const node = new AztecNodeService(aztecNodeConfig, new DummyP2P(), archiver, archiver, archiver, archiver, synchronizer, undefined, undefined, // version and chainId should match the ones in txe oracle
26
- 1, 1, new TXEGlobalVariablesBuilder(), new TestCircuitVerifier(), undefined, createLogger('txe_node'));
28
+ 1, 1, new TXEGlobalVariablesBuilder(), getPackageVersion() ?? '', new TestCircuitVerifier(), undefined, log);
27
29
  return new this(node, synchronizer, archiver, syncDataProvider);
28
30
  }
29
31
  async handleL2Block(block) {
@@ -22,10 +22,11 @@ export declare class TXESynchronizer implements WorldStateSynchronizer {
22
22
  getSnapshot(blockNumber: number): MerkleTreeReadOperations;
23
23
  /** Backups the db to the target path. */
24
24
  backupTo(dstPath: string, compact?: boolean): Promise<Record<Exclude<SnapshotDataKeys, 'archiver'>, string>>;
25
- start(): void;
25
+ start(): Promise<void>;
26
26
  status(): Promise<WorldStateSynchronizerStatus>;
27
27
  stop(): Promise<void>;
28
28
  stopSync(): Promise<void>;
29
29
  resumeSync(): void;
30
+ clear(): Promise<void>;
30
31
  }
31
32
  //# sourceMappingURL=synchronizer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"synchronizer.d.ts","sourceRoot":"","sources":["../../src/state_machine/synchronizer.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EACV,wBAAwB,EACxB,yBAAyB,EACzB,gBAAgB,EAChB,sBAAsB,EACtB,4BAA4B,EAC7B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,qBAAa,eAAgB,YAAW,sBAAsB;IAIzC,uBAAuB,EAAE,uBAAuB;IAFnE,OAAO,CAAC,WAAW,CAAK;gBAEL,uBAAuB,EAAE,uBAAuB;WAEtD,MAAM;IAMN,aAAa,CAAC,KAAK,EAAE,OAAO;IASzC;;;;;OAKG;IACI,aAAa,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,4BAA4B,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAIvG,+FAA+F;IACxF,YAAY,IAAI,wBAAwB;IAI/C,qFAAqF;IAC9E,IAAI,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,yBAAyB,CAAC;IAI/D,uFAAuF;IAChF,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,wBAAwB;IAIjE,yCAAyC;IAClC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,gBAAgB,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,CAAC;IAI5G,KAAK,IAAI,IAAI;IAIb,MAAM,IAAI,OAAO,CAAC,4BAA4B,CAAC;IAI/C,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAIzB,UAAU,IAAI,IAAI;CAG1B"}
1
+ {"version":3,"file":"synchronizer.d.ts","sourceRoot":"","sources":["../../src/state_machine/synchronizer.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EACV,wBAAwB,EACxB,yBAAyB,EACzB,gBAAgB,EAChB,sBAAsB,EACtB,4BAA4B,EAC7B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,qBAAa,eAAgB,YAAW,sBAAsB;IAIzC,uBAAuB,EAAE,uBAAuB;IAFnE,OAAO,CAAC,WAAW,CAAK;gBAEL,uBAAuB,EAAE,uBAAuB;WAEtD,MAAM;IAMN,aAAa,CAAC,KAAK,EAAE,OAAO;IASzC;;;;;OAKG;IACI,aAAa,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,4BAA4B,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAIvG,+FAA+F;IACxF,YAAY,IAAI,wBAAwB;IAI/C,qFAAqF;IAC9E,IAAI,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,yBAAyB,CAAC;IAI/D,uFAAuF;IAChF,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,wBAAwB;IAIjE,yCAAyC;IAClC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,gBAAgB,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,CAAC;IAI5G,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAItB,MAAM,IAAI,OAAO,CAAC,4BAA4B,CAAC;IAI/C,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAIzB,UAAU,IAAI,IAAI;IAIlB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAG9B"}
@@ -52,4 +52,7 @@ export class TXESynchronizer {
52
52
  resumeSync() {
53
53
  throw new Error('TXE Synchronizer does not implement "resumeSync"');
54
54
  }
55
+ clear() {
56
+ throw new Error('TXE Synchronizer does not implement "clear"');
57
+ }
55
58
  }
@@ -7,6 +7,7 @@ import { type ForeignCallArray, type ForeignCallSingle } from '../util/encoding.
7
7
  export declare class TXEService {
8
8
  private logger;
9
9
  private typedOracle;
10
+ oraclesEnabled: boolean;
10
11
  constructor(logger: Logger, typedOracle: TypedOracle);
11
12
  static init(logger: Logger, protocolContracts: ProtocolContract[]): Promise<TXEService>;
12
13
  getPrivateContextInputs(blockNumber: ForeignCallSingle): Promise<{
@@ -72,7 +73,7 @@ export declare class TXEService {
72
73
  getPublicDataWitness(blockNumber: ForeignCallSingle, leafSlot: ForeignCallSingle): Promise<{
73
74
  values: (string | ForeignCallArray)[];
74
75
  }>;
75
- getNotes(storageSlot: ForeignCallSingle, numSelects: ForeignCallSingle, selectByIndexes: ForeignCallArray, selectByOffsets: ForeignCallArray, selectByLengths: ForeignCallArray, selectValues: ForeignCallArray, selectComparators: ForeignCallArray, sortByIndexes: ForeignCallArray, sortByOffsets: ForeignCallArray, sortByLengths: ForeignCallArray, sortOrder: ForeignCallArray, limit: ForeignCallSingle, offset: ForeignCallSingle, status: ForeignCallSingle, returnSize: ForeignCallSingle): Promise<{
76
+ getNotes(storageSlot: ForeignCallSingle, numSelects: ForeignCallSingle, selectByIndexes: ForeignCallArray, selectByOffsets: ForeignCallArray, selectByLengths: ForeignCallArray, selectValues: ForeignCallArray, selectComparators: ForeignCallArray, sortByIndexes: ForeignCallArray, sortByOffsets: ForeignCallArray, sortByLengths: ForeignCallArray, sortOrder: ForeignCallArray, limit: ForeignCallSingle, offset: ForeignCallSingle, status: ForeignCallSingle, maxNotes: ForeignCallSingle, packedRetrievedNoteLength: ForeignCallSingle): Promise<{
76
77
  values: (string | ForeignCallArray)[];
77
78
  }>;
78
79
  notifyCreatedNote(storageSlot: ForeignCallSingle, noteTypeId: ForeignCallSingle, note: ForeignCallArray, noteHash: ForeignCallSingle, counter: ForeignCallSingle): {
@@ -111,9 +112,9 @@ export declare class TXEService {
111
112
  notifySetPublicTeardownFunctionCall(targetContractAddress: ForeignCallSingle, calldataHash: ForeignCallSingle, sideEffectCounter: ForeignCallSingle, isStaticCall: ForeignCallSingle): Promise<{
112
113
  values: (string | ForeignCallArray)[];
113
114
  }>;
114
- notifySetMinRevertibleSideEffectCounter(minRevertibleSideEffectCounter: ForeignCallSingle): {
115
+ notifySetMinRevertibleSideEffectCounter(minRevertibleSideEffectCounter: ForeignCallSingle): Promise<{
115
116
  values: (string | ForeignCallArray)[];
116
- };
117
+ }>;
117
118
  getChainId(): Promise<{
118
119
  values: (string | ForeignCallArray)[];
119
120
  }>;
@@ -222,5 +223,13 @@ export declare class TXEService {
222
223
  avmOpcodeSuccessCopy(): {
223
224
  values: (string | ForeignCallArray)[];
224
225
  };
226
+ privateCallNewFlow(from: ForeignCallSingle, targetContractAddress: ForeignCallSingle, functionSelector: ForeignCallSingle, _argsLength: ForeignCallSingle, args: ForeignCallArray, argsHash: ForeignCallSingle, isStaticCall: ForeignCallSingle): Promise<{
227
+ values: (string | ForeignCallArray)[];
228
+ }>;
229
+ disableOracles(): void;
230
+ enableOracles(): void;
231
+ simulateUtilityFunction(targetContractAddress: ForeignCallSingle, functionSelector: ForeignCallSingle, argsHash: ForeignCallSingle): Promise<{
232
+ values: (string | ForeignCallArray)[];
233
+ }>;
225
234
  }
226
235
  //# sourceMappingURL=txe_service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"txe_service.d.ts","sourceRoot":"","sources":["../../src/txe_service/txe_service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"txe_service.d.ts","sourceRoot":"","sources":["../../src/txe_service/txe_service.ts"],"names":[],"mappings":"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"}