@aztec/txe 0.87.7 → 1.0.0-nightly.20250605

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.
@@ -7,17 +7,17 @@ import type { ProtocolContract } from '@aztec/protocol-contracts';
7
7
  import { AddressDataProvider, ContractDataProvider } from '@aztec/pxe/server';
8
8
  import { ExecutionNoteCache, MessageLoadOracleInputs, type NoteData, type TypedOracle } from '@aztec/pxe/simulator';
9
9
  import { type PublicTxResult } from '@aztec/simulator/server';
10
- import { type ContractArtifact, EventSelector, type FunctionAbi, FunctionSelector, type NoteSelector } from '@aztec/stdlib/abi';
10
+ import { type ContractArtifact, type FunctionAbi, FunctionSelector, type NoteSelector } from '@aztec/stdlib/abi';
11
11
  import { AuthWitness } from '@aztec/stdlib/auth-witness';
12
12
  import { PublicDataWrite } from '@aztec/stdlib/avm';
13
13
  import { AztecAddress } from '@aztec/stdlib/aztec-address';
14
14
  import type { ContractInstance, ContractInstanceWithAddress } from '@aztec/stdlib/contract';
15
15
  import type { MerkleTreeWriteOperations } from '@aztec/stdlib/interfaces/server';
16
16
  import { type KeyValidationRequest, PrivateContextInputs } from '@aztec/stdlib/kernel';
17
- import { ContractClassLog, IndexedTaggingSecret, LogWithTxData, PrivateLog, type PublicLog } from '@aztec/stdlib/logs';
17
+ import { ContractClassLog, IndexedTaggingSecret, PrivateLog, PrivateLogWithTxData, type PublicLog, PublicLogWithTxData } from '@aztec/stdlib/logs';
18
18
  import type { NoteStatus } from '@aztec/stdlib/note';
19
19
  import { MerkleTreeId, NullifierMembershipWitness, PublicDataWitness } from '@aztec/stdlib/trees';
20
- import { BlockHeader, TxHash } from '@aztec/stdlib/tx';
20
+ import { BlockHeader } from '@aztec/stdlib/tx';
21
21
  import { NativeWorldStateService } from '@aztec/world-state/native';
22
22
  import { TXEAccountDataProvider } from '../util/txe_account_data_provider.js';
23
23
  export declare class TXE implements TypedOracle {
@@ -134,8 +134,9 @@ export declare class TXE implements TypedOracle {
134
134
  incrementAppTaggingSecretIndexAsSender(sender: AztecAddress, recipient: AztecAddress): Promise<void>;
135
135
  getIndexedTaggingSecretAsSender(sender: AztecAddress, recipient: AztecAddress): Promise<IndexedTaggingSecret>;
136
136
  fetchTaggedLogs(pendingTaggedLogArrayBaseSlot: Fr): Promise<void>;
137
- deliverNote(contractAddress: AztecAddress, storageSlot: Fr, nonce: Fr, content: Fr[], noteHash: Fr, nullifier: Fr, txHash: TxHash, recipient: AztecAddress): Promise<void>;
138
- getLogByTag(tag: Fr): Promise<LogWithTxData | null>;
137
+ validateEnqueuedNotesAndEvents(contractAddress: AztecAddress, noteValidationRequestsArrayBaseSlot: Fr, eventValidationRequestsArrayBaseSlot: Fr): Promise<void>;
138
+ getPublicLogByTag(tag: Fr, contractAddress: AztecAddress): Promise<PublicLogWithTxData | null>;
139
+ getPrivateLogByTag(siloedTag: Fr): Promise<PrivateLogWithTxData | null>;
139
140
  avmOpcodeCall(targetContractAddress: AztecAddress, calldata: Fr[], isStaticCall: boolean): Promise<PublicTxResult>;
140
141
  avmOpcodeSuccessCopy(): boolean;
141
142
  avmOpcodeReturndataSize(): number;
@@ -150,11 +151,14 @@ export declare class TXE implements TypedOracle {
150
151
  copyCapsule(contractAddress: AztecAddress, srcSlot: Fr, dstSlot: Fr, numEntries: number): Promise<void>;
151
152
  aes128Decrypt(ciphertext: Buffer, iv: Buffer, symKey: Buffer): Promise<Buffer>;
152
153
  getSharedSecret(address: AztecAddress, ephPk: Point): Promise<Point>;
153
- storePrivateEventLog(contractAddress: AztecAddress, recipient: AztecAddress, eventSelector: EventSelector, logContent: Fr[], txHash: TxHash, logIndexInTx: number, txIndexInBlock: number): Promise<void>;
154
154
  privateCallNewFlow(from: AztecAddress, targetContractAddress: AztecAddress | undefined, functionSelector: FunctionSelector | undefined, args: Fr[], argsHash?: Fr, isStaticCall?: boolean): Promise<{
155
155
  endSideEffectCounter: Fr;
156
156
  returnsHash: Fr;
157
157
  txHash: Fr;
158
158
  }>;
159
+ publicCallNewFlow(from: AztecAddress, targetContractAddress: AztecAddress, calldata: Fr[], isStaticCall: boolean): Promise<{
160
+ returnsHash: Fr;
161
+ txHash: Fr;
162
+ }>;
159
163
  }
160
164
  //# 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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"}
@@ -10,14 +10,14 @@ import { AddressDataProvider, CapsuleDataProvider, ContractDataProvider, NoteDat
10
10
  import { ExecutionNoteCache, HashedValuesCache, Oracle, PrivateExecutionOracle, UtilityExecutionOracle, executePrivateFunction, extractPrivateCircuitPublicInputs, pickNotes } from '@aztec/pxe/simulator';
11
11
  import { WASMSimulator, extractCallStack, toACVMWitness, witnessMapToFields } from '@aztec/simulator/client';
12
12
  import { createTxForPublicCalls } from '@aztec/simulator/public/fixtures';
13
- import { ExecutionError, PublicContractsDB, PublicProcessor, PublicTxSimulator, createSimulationError, resolveAssertionMessageFromError } from '@aztec/simulator/server';
13
+ import { ExecutionError, GuardedMerkleTreeOperations, PublicContractsDB, PublicProcessor, PublicTxSimulator, createSimulationError, resolveAssertionMessageFromError } from '@aztec/simulator/server';
14
14
  import { FunctionSelector, FunctionType, countArgumentsSize } from '@aztec/stdlib/abi';
15
15
  import { AuthWitness } from '@aztec/stdlib/auth-witness';
16
16
  import { PublicDataWrite } from '@aztec/stdlib/avm';
17
17
  import { AztecAddress } from '@aztec/stdlib/aztec-address';
18
18
  import { SimulationError } from '@aztec/stdlib/errors';
19
19
  import { Gas, GasFees, GasSettings } from '@aztec/stdlib/gas';
20
- import { computeNoteHashNonce, computePublicDataTreeLeafSlot, computeUniqueNoteHash, computeVarArgsHash, siloNoteHash, siloNullifier } from '@aztec/stdlib/hash';
20
+ import { computeCalldataHash, computeNoteHashNonce, computePublicDataTreeLeafSlot, computeUniqueNoteHash, computeVarArgsHash, siloNoteHash, siloNullifier } from '@aztec/stdlib/hash';
21
21
  import { PartialPrivateTailPublicInputsForPublic, PartialPrivateTailPublicInputsForRollup, PrivateContextInputs, PrivateKernelTailCircuitPublicInputs, PrivateToPublicAccumulatedData, PrivateToRollupAccumulatedData, PublicCallRequest, RollupValidationRequests, ScopedLogHash } from '@aztec/stdlib/kernel';
22
22
  import { deriveKeys } from '@aztec/stdlib/keys';
23
23
  import { PrivateLog } from '@aztec/stdlib/logs';
@@ -750,11 +750,14 @@ export class TXE {
750
750
  await this.pxeOracleInterface.removeNullifiedNotes(this.contractAddress);
751
751
  return Promise.resolve();
752
752
  }
753
- async deliverNote(contractAddress, storageSlot, nonce, content, noteHash, nullifier, txHash, recipient) {
754
- await this.pxeOracleInterface.deliverNote(contractAddress, storageSlot, nonce, content, noteHash, nullifier, txHash, recipient);
753
+ async validateEnqueuedNotesAndEvents(contractAddress, noteValidationRequestsArrayBaseSlot, eventValidationRequestsArrayBaseSlot) {
754
+ await this.pxeOracleInterface.validateEnqueuedNotesAndEvents(contractAddress, noteValidationRequestsArrayBaseSlot, eventValidationRequestsArrayBaseSlot);
755
755
  }
756
- async getLogByTag(tag) {
757
- return await this.pxeOracleInterface.getLogByTag(tag);
756
+ async getPublicLogByTag(tag, contractAddress) {
757
+ return await this.pxeOracleInterface.getPublicLogByTag(tag, contractAddress);
758
+ }
759
+ async getPrivateLogByTag(siloedTag) {
760
+ return await this.pxeOracleInterface.getPrivateLogByTag(siloedTag);
758
761
  }
759
762
  // AVM oracles
760
763
  async avmOpcodeCall(targetContractAddress, calldata, isStaticCall) {
@@ -859,9 +862,6 @@ export class TXE {
859
862
  getSharedSecret(address, ephPk) {
860
863
  return this.pxeOracleInterface.getSharedSecret(address, ephPk);
861
864
  }
862
- storePrivateEventLog(contractAddress, recipient, eventSelector, logContent, txHash, logIndexInTx, txIndexInBlock) {
863
- return this.pxeOracleInterface.storePrivateEventLog(contractAddress, recipient, eventSelector, logContent, txHash, logIndexInTx, txIndexInBlock);
864
- }
865
865
  async privateCallNewFlow(from, targetContractAddress = AztecAddress.zero(), functionSelector = FunctionSelector.empty(), args, argsHash = Fr.zero(), isStaticCall = false) {
866
866
  this.logger.verbose(`Executing external function ${await this.getDebugFunctionName(targetContractAddress, functionSelector)}@${targetContractAddress} isStaticCall=${isStaticCall}`);
867
867
  const artifact = await this.contractDataProvider.getFunctionArtifact(targetContractAddress, functionSelector);
@@ -942,8 +942,9 @@ export class TXE {
942
942
  globals.blockNumber = new Fr(this.blockNumber);
943
943
  globals.gasFees = GasFees.empty();
944
944
  const contractsDB = new PublicContractsDB(new TXEPublicContractDataSource(this));
945
- const simulator = new PublicTxSimulator(this.baseFork, contractsDB, globals, true, true);
946
- const processor = new PublicProcessor(globals, this.baseFork, contractsDB, simulator, new TestDateProvider());
945
+ const guardedMerkleTrees = new GuardedMerkleTreeOperations(this.baseFork);
946
+ const simulator = new PublicTxSimulator(guardedMerkleTrees, contractsDB, globals, true, true);
947
+ const processor = new PublicProcessor(globals, guardedMerkleTrees, contractsDB, simulator, new TestDateProvider());
947
948
  const constantData = new TxConstantData(blockHeader, txContext, Fr.zero(), Fr.zero());
948
949
  const hasPublicCalls = result.publicFunctionCalldata.length !== 0;
949
950
  let inputsForRollup;
@@ -998,4 +999,85 @@ export class TXE {
998
999
  txHash: txRequestHash
999
1000
  };
1000
1001
  }
1002
+ async publicCallNewFlow(from, targetContractAddress, calldata, isStaticCall) {
1003
+ this.logger.verbose(`Executing public function ${await this.getDebugFunctionName(targetContractAddress, FunctionSelector.fromField(calldata[0]))}@${targetContractAddress} isStaticCall=${isStaticCall}`);
1004
+ const gasLimits = new Gas(DEFAULT_GAS_LIMIT, MAX_L2_GAS_PER_TX_PUBLIC_PORTION);
1005
+ const teardownGasLimits = new Gas(DEFAULT_TEARDOWN_GAS_LIMIT, MAX_L2_GAS_PER_TX_PUBLIC_PORTION);
1006
+ const gasSettings = new GasSettings(gasLimits, teardownGasLimits, GasFees.empty(), GasFees.empty());
1007
+ const txContext = new TxContext(this.CHAIN_ID, this.ROLLUP_VERSION, gasSettings);
1008
+ const blockHeader = await this.pxeOracleInterface.getBlockHeader();
1009
+ const uniqueNoteHashes = [];
1010
+ const taggedPrivateLogs = [];
1011
+ const nullifiers = [
1012
+ this.getTxRequestHash()
1013
+ ];
1014
+ const l2ToL1Messages = [];
1015
+ const contractClassLogsHashes = [];
1016
+ const calldataHash = await computeCalldataHash(calldata);
1017
+ const calldataHashedValues = new HashedValues(calldata, calldataHash);
1018
+ const publicCallRequest = new PublicCallRequest(from, targetContractAddress, isStaticCall, calldataHash);
1019
+ const publicCallRequests = [
1020
+ publicCallRequest
1021
+ ];
1022
+ const globals = makeGlobalVariables();
1023
+ globals.blockNumber = new Fr(this.blockNumber);
1024
+ globals.gasFees = GasFees.empty();
1025
+ const contractsDB = new PublicContractsDB(new TXEPublicContractDataSource(this));
1026
+ const guardedMerkleTrees = new GuardedMerkleTreeOperations(this.baseFork);
1027
+ const simulator = new PublicTxSimulator(guardedMerkleTrees, contractsDB, globals, true, true);
1028
+ const processor = new PublicProcessor(globals, guardedMerkleTrees, contractsDB, simulator, new TestDateProvider());
1029
+ const constantData = new TxConstantData(blockHeader, txContext, Fr.zero(), Fr.zero());
1030
+ 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));
1031
+ const inputsForPublic = new PartialPrivateTailPublicInputsForPublic(// nonrevertible
1032
+ PrivateToPublicAccumulatedData.empty(), // revertible
1033
+ // We are using revertible (app phase) because only the app-phase returns are exposed.
1034
+ accumulatedDataForPublic, PublicCallRequest.empty());
1035
+ const txData = new PrivateKernelTailCircuitPublicInputs(constantData, RollupValidationRequests.empty(), /*gasUsed=*/ new Gas(0, 0), /*feePayer=*/ AztecAddress.zero(), inputsForPublic, undefined);
1036
+ const tx = new Tx(txData, ClientIvcProof.empty(), [], [
1037
+ calldataHashedValues
1038
+ ]);
1039
+ const results = await processor.process([
1040
+ tx
1041
+ ]);
1042
+ const processedTxs = results[0];
1043
+ const failedTxs = results[1];
1044
+ if (failedTxs.length !== 0 || !processedTxs[0].revertCode.isOK()) {
1045
+ throw new Error('Public execution has failed');
1046
+ }
1047
+ const returnValues = results[3][0].values;
1048
+ let returnValuesHash;
1049
+ if (returnValues !== undefined) {
1050
+ // This is a bit of a hack to not deal with returning a slice in nr which is what normally happens.
1051
+ // Investigate whether it is faster to do this or return from the oracle directly.
1052
+ returnValuesHash = await computeVarArgsHash(returnValues);
1053
+ this.storeInExecutionCache(returnValues, returnValuesHash);
1054
+ }
1055
+ const fork = this.baseFork;
1056
+ const txEffect = TxEffect.empty();
1057
+ txEffect.noteHashes = processedTxs[0].txEffect.noteHashes;
1058
+ txEffect.nullifiers = processedTxs[0].txEffect.nullifiers;
1059
+ txEffect.privateLogs = taggedPrivateLogs;
1060
+ txEffect.publicLogs = processedTxs[0].txEffect.publicLogs;
1061
+ txEffect.publicDataWrites = processedTxs[0].txEffect.publicDataWrites;
1062
+ txEffect.txHash = new TxHash(new Fr(this.blockNumber));
1063
+ const body = new Body([
1064
+ txEffect
1065
+ ]);
1066
+ const l2Block = new L2Block(makeAppendOnlyTreeSnapshot(this.blockNumber + 1), makeHeader(0, this.blockNumber, this.blockNumber), body);
1067
+ const l1ToL2Messages = Array(NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP).fill(0).map(Fr.zero);
1068
+ await fork.appendLeaves(MerkleTreeId.L1_TO_L2_MESSAGE_TREE, l1ToL2Messages);
1069
+ const stateReference = await fork.getStateReference();
1070
+ const archiveInfo = await fork.getTreeInfo(MerkleTreeId.ARCHIVE);
1071
+ const header = new BlockHeader(new AppendOnlyTreeSnapshot(new Fr(archiveInfo.root), Number(archiveInfo.size)), makeContentCommitment(), stateReference, globals, Fr.ZERO, Fr.ZERO);
1072
+ header.globalVariables.blockNumber = new Fr(this.blockNumber);
1073
+ l2Block.header = header;
1074
+ await fork.updateArchive(l2Block.header);
1075
+ await this.stateMachine.handleL2Block(l2Block);
1076
+ const txRequestHash = this.getTxRequestHash();
1077
+ this.setBlockNumber(this.blockNumber + 1);
1078
+ return {
1079
+ returnsHash: returnValuesHash ?? Fr.ZERO,
1080
+ txHash: txRequestHash
1081
+ };
1082
+ }
1001
1083
  }
@@ -29,7 +29,7 @@ export declare class DummyP2P implements P2P {
29
29
  isP2PClient(): true;
30
30
  getTxsByHash(_txHashes: TxHash[]): Promise<Tx[]>;
31
31
  getAttestationsForSlot(_slot: bigint, _proposalId?: string): Promise<BlockAttestation[]>;
32
- addAttestation(_attestation: BlockAttestation): Promise<void>;
32
+ addAttestations(_attestations: BlockAttestation[]): Promise<void>;
33
33
  getL2BlockHash(_number: number): Promise<string | undefined>;
34
34
  updateP2PConfig(_config: Partial<P2PConfig>): Promise<void>;
35
35
  getL2Tips(): Promise<L2Tips>;
@@ -39,7 +39,7 @@ export declare class DummyP2P implements P2P {
39
39
  getTxs(_filter: 'all' | 'pending' | 'mined'): Promise<Tx[]>;
40
40
  getTxsByHashFromPool(_txHashes: TxHash[]): Promise<(Tx | undefined)[]>;
41
41
  hasTxsInPool(_txHashes: TxHash[]): Promise<boolean[]>;
42
- addTxs(_txs: Tx[]): Promise<void>;
42
+ addTxsToPool(_txs: Tx[]): Promise<number>;
43
43
  getSyncedLatestBlockNum(): Promise<number>;
44
44
  getSyncedProvenBlockNum(): Promise<number>;
45
45
  getSyncedLatestSlot(): Promise<bigint>;
@@ -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,wBAAwB,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC9F,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,QAAQ,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAInC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAItB,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,OAAO,CAAC,IAAI,CAAC;IAI1D,4BAA4B,CAAC,QAAQ,EAAE,wBAAwB,GAAG,IAAI;IAItE,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;IAI7C,qBAAqB,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAGlD"}
1
+ {"version":3,"file":"dummy_p2p_client.d.ts","sourceRoot":"","sources":["../../src/state_machine/dummy_p2p_client.ts"],"names":[],"mappings":"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"}
@@ -74,8 +74,8 @@ export class DummyP2P {
74
74
  getAttestationsForSlot(_slot, _proposalId) {
75
75
  throw new Error('DummyP2P does not implement "getAttestationForSlot"');
76
76
  }
77
- addAttestation(_attestation) {
78
- throw new Error('DummyP2P does not implement "addAttestation"');
77
+ addAttestations(_attestations) {
78
+ throw new Error('DummyP2P does not implement "addAttestations"');
79
79
  }
80
80
  getL2BlockHash(_number) {
81
81
  throw new Error('DummyP2P does not implement "getL2BlockHash"');
@@ -104,7 +104,7 @@ export class DummyP2P {
104
104
  hasTxsInPool(_txHashes) {
105
105
  throw new Error('DummyP2P does not implement "hasTxsInPool"');
106
106
  }
107
- addTxs(_txs) {
107
+ addTxsToPool(_txs) {
108
108
  throw new Error('DummyP2P does not implement "addTxs"');
109
109
  }
110
110
  getSyncedLatestBlockNum() {
@@ -39,7 +39,7 @@ export class TXEStateMachine {
39
39
  blockNumber: block.header.globalVariables.blockNumber.toBigInt(),
40
40
  timestamp: block.header.globalVariables.blockNumber.toBigInt()
41
41
  },
42
- signatures: []
42
+ attestations: []
43
43
  }
44
44
  ]),
45
45
  this.syncDataProvider.setHeader(block.header)
@@ -136,10 +136,13 @@ export declare class TXEService {
136
136
  fetchTaggedLogs(pendingTaggedLogArrayBaseSlot: ForeignCallSingle): Promise<{
137
137
  values: (string | ForeignCallArray)[];
138
138
  }>;
139
- deliverNote(contractAddress: ForeignCallSingle, storageSlot: ForeignCallSingle, nonce: ForeignCallSingle, content: ForeignCallArray, contentLength: ForeignCallSingle, noteHash: ForeignCallSingle, nullifier: ForeignCallSingle, txHash: ForeignCallSingle, recipient: ForeignCallSingle): Promise<{
139
+ validateEnqueuedNotesAndEvents(contractAddress: ForeignCallSingle, noteValidationRequestsArrayBaseSlot: ForeignCallSingle, eventValidationRequestsArrayBaseSlot: ForeignCallSingle): Promise<{
140
140
  values: (string | ForeignCallArray)[];
141
141
  }>;
142
- getLogByTag(tag: ForeignCallSingle): Promise<{
142
+ getPublicLogByTag(tag: ForeignCallSingle, contractAddress: ForeignCallSingle): Promise<{
143
+ values: (string | ForeignCallArray)[];
144
+ }>;
145
+ getPrivateLogByTag(siloedTag: ForeignCallSingle): Promise<{
143
146
  values: (string | ForeignCallArray)[];
144
147
  }>;
145
148
  storeCapsule(contractAddress: ForeignCallSingle, slot: ForeignCallSingle, capsule: ForeignCallArray): Promise<{
@@ -160,9 +163,6 @@ export declare class TXEService {
160
163
  getSharedSecret(address: ForeignCallSingle, ephPKField0: ForeignCallSingle, ephPKField1: ForeignCallSingle, ephPKField2: ForeignCallSingle): Promise<{
161
164
  values: (string | ForeignCallArray)[];
162
165
  }>;
163
- storePrivateEventLog(contractAddress: ForeignCallSingle, recipient: ForeignCallSingle, eventSelector: ForeignCallSingle, logContent: ForeignCallArray, txHash: ForeignCallSingle, logIndexInTx: ForeignCallSingle, txIndexInBlock: ForeignCallSingle): Promise<{
164
- values: (string | ForeignCallArray)[];
165
- }>;
166
166
  avmOpcodeEmitUnencryptedLog(_message: ForeignCallArray): {
167
167
  values: (string | ForeignCallArray)[];
168
168
  };
@@ -231,5 +231,8 @@ export declare class TXEService {
231
231
  simulateUtilityFunction(targetContractAddress: ForeignCallSingle, functionSelector: ForeignCallSingle, argsHash: ForeignCallSingle): Promise<{
232
232
  values: (string | ForeignCallArray)[];
233
233
  }>;
234
+ publicCallNewFlow(from: ForeignCallSingle, address: ForeignCallSingle, _length: ForeignCallSingle, calldata: ForeignCallArray, isStaticCall: ForeignCallSingle): Promise<{
235
+ values: (string | ForeignCallArray)[];
236
+ }>;
234
237
  }
235
238
  //# 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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"}
@@ -1,14 +1,14 @@
1
- import { Fr, Point, TxHash } from '@aztec/aztec.js';
1
+ import { Fr, Point } from '@aztec/aztec.js';
2
2
  import { DEPLOYER_CONTRACT_ADDRESS } from '@aztec/constants';
3
3
  import { openTmpStore } from '@aztec/kv-store/lmdb-v2';
4
4
  import { enrichPublicSimulationError } from '@aztec/pxe/server';
5
- import { EventSelector, FunctionSelector, NoteSelector } from '@aztec/stdlib/abi';
5
+ import { FunctionSelector, NoteSelector } from '@aztec/stdlib/abi';
6
6
  import { PublicDataWrite } from '@aztec/stdlib/avm';
7
7
  import { AztecAddress } from '@aztec/stdlib/aztec-address';
8
8
  import { computePartialAddress } from '@aztec/stdlib/contract';
9
9
  import { SimulationError } from '@aztec/stdlib/errors';
10
10
  import { computePublicDataTreeLeafSlot } from '@aztec/stdlib/hash';
11
- import { LogWithTxData } from '@aztec/stdlib/logs';
11
+ import { PrivateLogWithTxData, PublicLogWithTxData } from '@aztec/stdlib/logs';
12
12
  import { MerkleTreeId } from '@aztec/stdlib/trees';
13
13
  import { TXE } from '../oracle/txe_oracle.js';
14
14
  import { addressFromSingle, arrayOfArraysToBoundedVecOfArrays, arrayToBoundedVec, bufferToU8Array, fromArray, fromSingle, fromUintArray, fromUintBoundedVec, toArray, toForeignCallResult, toSingle, toSingleOrArray } from '../util/encoding.js';
@@ -446,25 +446,40 @@ export class TXEService {
446
446
  await this.typedOracle.fetchTaggedLogs(fromSingle(pendingTaggedLogArrayBaseSlot));
447
447
  return toForeignCallResult([]);
448
448
  }
449
- async deliverNote(contractAddress, storageSlot, nonce, content, contentLength, noteHash, nullifier, txHash, recipient) {
449
+ async validateEnqueuedNotesAndEvents(contractAddress, noteValidationRequestsArrayBaseSlot, eventValidationRequestsArrayBaseSlot) {
450
450
  if (!this.oraclesEnabled) {
451
451
  throw new Error('Oracle access from the root of a TXe test are not enabled. Please use env._ to interact with the oracles.');
452
452
  }
453
- await this.typedOracle.deliverNote(AztecAddress.fromField(fromSingle(contractAddress)), fromSingle(storageSlot), fromSingle(nonce), fromArray(content.slice(0, Number(BigInt(contentLength)))), fromSingle(noteHash), fromSingle(nullifier), new TxHash(fromSingle(txHash)), AztecAddress.fromField(fromSingle(recipient)));
454
- return toForeignCallResult([
455
- toSingle(Fr.ONE)
456
- ]);
453
+ await this.typedOracle.validateEnqueuedNotesAndEvents(AztecAddress.fromField(fromSingle(contractAddress)), fromSingle(noteValidationRequestsArrayBaseSlot), fromSingle(eventValidationRequestsArrayBaseSlot));
454
+ return toForeignCallResult([]);
457
455
  }
458
- async getLogByTag(tag) {
456
+ async getPublicLogByTag(tag, contractAddress) {
459
457
  if (!this.oraclesEnabled) {
460
458
  throw new Error('Oracle access from the root of a TXe test are not enabled. Please use env._ to interact with the oracles.');
461
459
  }
462
- // TODO(AD): this was warning that getLogByTag did not return a promise.
463
- const log = await Promise.resolve(this.typedOracle.getLogByTag(fromSingle(tag)));
460
+ // TODO(AD): this was warning that getPublicLogByTag did not return a promise.
461
+ const log = await Promise.resolve(this.typedOracle.getPublicLogByTag(fromSingle(tag), AztecAddress.fromField(fromSingle(contractAddress))));
464
462
  if (log == null) {
465
463
  return toForeignCallResult([
466
464
  toSingle(Fr.ZERO),
467
- ...LogWithTxData.noirSerializationOfEmpty().map(toSingleOrArray)
465
+ ...PublicLogWithTxData.noirSerializationOfEmpty().map(toSingleOrArray)
466
+ ]);
467
+ } else {
468
+ return toForeignCallResult([
469
+ toSingle(Fr.ONE),
470
+ ...log.toNoirSerialization().map(toSingleOrArray)
471
+ ]);
472
+ }
473
+ }
474
+ async getPrivateLogByTag(siloedTag) {
475
+ if (!this.oraclesEnabled) {
476
+ throw new Error('Oracle access from the root of a TXe test are not enabled. Please use env._ to interact with the oracles.');
477
+ }
478
+ const log = await this.typedOracle.getPrivateLogByTag(fromSingle(siloedTag));
479
+ if (log == null) {
480
+ return toForeignCallResult([
481
+ toSingle(Fr.ZERO),
482
+ ...PrivateLogWithTxData.noirSerializationOfEmpty().map(toSingleOrArray)
468
483
  ]);
469
484
  } else {
470
485
  return toForeignCallResult([
@@ -540,13 +555,6 @@ export class TXEService {
540
555
  ]));
541
556
  return toForeignCallResult(secret.toFields().map(toSingle));
542
557
  }
543
- async storePrivateEventLog(contractAddress, recipient, eventSelector, logContent, txHash, logIndexInTx, txIndexInBlock) {
544
- if (!this.oraclesEnabled) {
545
- throw new Error('Oracle access from the root of a TXe test are not enabled. Please use env._ to interact with the oracles.');
546
- }
547
- await this.typedOracle.storePrivateEventLog(AztecAddress.fromField(fromSingle(contractAddress)), AztecAddress.fromField(fromSingle(recipient)), EventSelector.fromField(fromSingle(eventSelector)), fromArray(logContent), new TxHash(fromSingle(txHash)), fromSingle(logIndexInTx).toNumber(), fromSingle(txIndexInBlock).toNumber());
548
- return toForeignCallResult([]);
549
- }
550
558
  // AVM opcodes
551
559
  avmOpcodeEmitUnencryptedLog(_message) {
552
560
  if (!this.oraclesEnabled) {
@@ -766,4 +774,13 @@ export class TXEService {
766
774
  toSingle(result)
767
775
  ]);
768
776
  }
777
+ async publicCallNewFlow(from, address, _length, calldata, isStaticCall) {
778
+ const result = await this.typedOracle.publicCallNewFlow(addressFromSingle(from), addressFromSingle(address), fromArray(calldata), fromSingle(isStaticCall).toBool());
779
+ return toForeignCallResult([
780
+ toArray([
781
+ result.returnsHash,
782
+ result.txHash
783
+ ])
784
+ ]);
785
+ }
769
786
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aztec/txe",
3
- "version": "0.87.7",
3
+ "version": "1.0.0-nightly.20250605",
4
4
  "type": "module",
5
5
  "exports": "./dest/index.js",
6
6
  "bin": "./dest/bin/index.js",
@@ -57,20 +57,20 @@
57
57
  ]
58
58
  },
59
59
  "dependencies": {
60
- "@aztec/accounts": "0.87.7",
61
- "@aztec/archiver": "0.87.7",
62
- "@aztec/aztec-node": "0.87.7",
63
- "@aztec/aztec.js": "0.87.7",
64
- "@aztec/bb-prover": "0.87.7",
65
- "@aztec/constants": "0.87.7",
66
- "@aztec/foundation": "0.87.7",
67
- "@aztec/key-store": "0.87.7",
68
- "@aztec/kv-store": "0.87.7",
69
- "@aztec/protocol-contracts": "0.87.7",
70
- "@aztec/pxe": "0.87.7",
71
- "@aztec/simulator": "0.87.7",
72
- "@aztec/stdlib": "0.87.7",
73
- "@aztec/world-state": "0.87.7",
60
+ "@aztec/accounts": "1.0.0-nightly.20250605",
61
+ "@aztec/archiver": "1.0.0-nightly.20250605",
62
+ "@aztec/aztec-node": "1.0.0-nightly.20250605",
63
+ "@aztec/aztec.js": "1.0.0-nightly.20250605",
64
+ "@aztec/bb-prover": "1.0.0-nightly.20250605",
65
+ "@aztec/constants": "1.0.0-nightly.20250605",
66
+ "@aztec/foundation": "1.0.0-nightly.20250605",
67
+ "@aztec/key-store": "1.0.0-nightly.20250605",
68
+ "@aztec/kv-store": "1.0.0-nightly.20250605",
69
+ "@aztec/protocol-contracts": "1.0.0-nightly.20250605",
70
+ "@aztec/pxe": "1.0.0-nightly.20250605",
71
+ "@aztec/simulator": "1.0.0-nightly.20250605",
72
+ "@aztec/stdlib": "1.0.0-nightly.20250605",
73
+ "@aztec/world-state": "1.0.0-nightly.20250605",
74
74
  "zod": "^3.23.8"
75
75
  },
76
76
  "devDependencies": {
@@ -52,6 +52,7 @@ import { WASMSimulator, extractCallStack, toACVMWitness, witnessMapToFields } fr
52
52
  import { createTxForPublicCalls } from '@aztec/simulator/public/fixtures';
53
53
  import {
54
54
  ExecutionError,
55
+ GuardedMerkleTreeOperations,
55
56
  PublicContractsDB,
56
57
  PublicProcessor,
57
58
  type PublicTxResult,
@@ -61,7 +62,6 @@ import {
61
62
  } from '@aztec/simulator/server';
62
63
  import {
63
64
  type ContractArtifact,
64
- EventSelector,
65
65
  type FunctionAbi,
66
66
  FunctionSelector,
67
67
  FunctionType,
@@ -75,6 +75,7 @@ import type { ContractInstance, ContractInstanceWithAddress } from '@aztec/stdli
75
75
  import { SimulationError } from '@aztec/stdlib/errors';
76
76
  import { Gas, GasFees, GasSettings } from '@aztec/stdlib/gas';
77
77
  import {
78
+ computeCalldataHash,
78
79
  computeNoteHashNonce,
79
80
  computePublicDataTreeLeafSlot,
80
81
  computeUniqueNoteHash,
@@ -96,7 +97,14 @@ import {
96
97
  ScopedLogHash,
97
98
  } from '@aztec/stdlib/kernel';
98
99
  import { deriveKeys } from '@aztec/stdlib/keys';
99
- import { ContractClassLog, IndexedTaggingSecret, LogWithTxData, PrivateLog, type PublicLog } from '@aztec/stdlib/logs';
100
+ import {
101
+ ContractClassLog,
102
+ IndexedTaggingSecret,
103
+ PrivateLog,
104
+ PrivateLogWithTxData,
105
+ type PublicLog,
106
+ PublicLogWithTxData,
107
+ } from '@aztec/stdlib/logs';
100
108
  import { ScopedL2ToL1Message } from '@aztec/stdlib/messaging';
101
109
  import type { NoteStatus } from '@aztec/stdlib/note';
102
110
  import { ClientIvcProof } from '@aztec/stdlib/proofs';
@@ -1166,30 +1174,24 @@ export class TXE implements TypedOracle {
1166
1174
  return Promise.resolve();
1167
1175
  }
1168
1176
 
1169
- public async deliverNote(
1177
+ public async validateEnqueuedNotesAndEvents(
1170
1178
  contractAddress: AztecAddress,
1171
- storageSlot: Fr,
1172
- nonce: Fr,
1173
- content: Fr[],
1174
- noteHash: Fr,
1175
- nullifier: Fr,
1176
- txHash: TxHash,
1177
- recipient: AztecAddress,
1179
+ noteValidationRequestsArrayBaseSlot: Fr,
1180
+ eventValidationRequestsArrayBaseSlot: Fr,
1178
1181
  ): Promise<void> {
1179
- await this.pxeOracleInterface.deliverNote(
1182
+ await this.pxeOracleInterface.validateEnqueuedNotesAndEvents(
1180
1183
  contractAddress,
1181
- storageSlot,
1182
- nonce,
1183
- content,
1184
- noteHash,
1185
- nullifier,
1186
- txHash,
1187
- recipient,
1184
+ noteValidationRequestsArrayBaseSlot,
1185
+ eventValidationRequestsArrayBaseSlot,
1188
1186
  );
1189
1187
  }
1190
1188
 
1191
- async getLogByTag(tag: Fr): Promise<LogWithTxData | null> {
1192
- return await this.pxeOracleInterface.getLogByTag(tag);
1189
+ async getPublicLogByTag(tag: Fr, contractAddress: AztecAddress): Promise<PublicLogWithTxData | null> {
1190
+ return await this.pxeOracleInterface.getPublicLogByTag(tag, contractAddress);
1191
+ }
1192
+
1193
+ async getPrivateLogByTag(siloedTag: Fr): Promise<PrivateLogWithTxData | null> {
1194
+ return await this.pxeOracleInterface.getPrivateLogByTag(siloedTag);
1193
1195
  }
1194
1196
 
1195
1197
  // AVM oracles
@@ -1326,26 +1328,6 @@ export class TXE implements TypedOracle {
1326
1328
  return this.pxeOracleInterface.getSharedSecret(address, ephPk);
1327
1329
  }
1328
1330
 
1329
- storePrivateEventLog(
1330
- contractAddress: AztecAddress,
1331
- recipient: AztecAddress,
1332
- eventSelector: EventSelector,
1333
- logContent: Fr[],
1334
- txHash: TxHash,
1335
- logIndexInTx: number,
1336
- txIndexInBlock: number,
1337
- ): Promise<void> {
1338
- return this.pxeOracleInterface.storePrivateEventLog(
1339
- contractAddress,
1340
- recipient,
1341
- eventSelector,
1342
- logContent,
1343
- txHash,
1344
- logIndexInTx,
1345
- txIndexInBlock,
1346
- );
1347
- }
1348
-
1349
1331
  async privateCallNewFlow(
1350
1332
  from: AztecAddress,
1351
1333
  targetContractAddress: AztecAddress = AztecAddress.zero(),
@@ -1505,8 +1487,9 @@ export class TXE implements TypedOracle {
1505
1487
  globals.gasFees = GasFees.empty();
1506
1488
 
1507
1489
  const contractsDB = new PublicContractsDB(new TXEPublicContractDataSource(this));
1508
- const simulator = new PublicTxSimulator(this.baseFork, contractsDB, globals, true, true);
1509
- const processor = new PublicProcessor(globals, this.baseFork, contractsDB, simulator, new TestDateProvider());
1490
+ const guardedMerkleTrees = new GuardedMerkleTreeOperations(this.baseFork);
1491
+ const simulator = new PublicTxSimulator(guardedMerkleTrees, contractsDB, globals, true, true);
1492
+ const processor = new PublicProcessor(globals, guardedMerkleTrees, contractsDB, simulator, new TestDateProvider());
1510
1493
 
1511
1494
  const constantData = new TxConstantData(blockHeader, txContext, Fr.zero(), Fr.zero());
1512
1495
 
@@ -1617,4 +1600,152 @@ export class TXE implements TypedOracle {
1617
1600
  txHash: txRequestHash,
1618
1601
  };
1619
1602
  }
1603
+
1604
+ async publicCallNewFlow(
1605
+ from: AztecAddress,
1606
+ targetContractAddress: AztecAddress,
1607
+ calldata: Fr[],
1608
+ isStaticCall: boolean,
1609
+ ) {
1610
+ this.logger.verbose(
1611
+ `Executing public function ${await this.getDebugFunctionName(
1612
+ targetContractAddress,
1613
+ FunctionSelector.fromField(calldata[0]),
1614
+ )}@${targetContractAddress} isStaticCall=${isStaticCall}`,
1615
+ );
1616
+
1617
+ const gasLimits = new Gas(DEFAULT_GAS_LIMIT, MAX_L2_GAS_PER_TX_PUBLIC_PORTION);
1618
+
1619
+ const teardownGasLimits = new Gas(DEFAULT_TEARDOWN_GAS_LIMIT, MAX_L2_GAS_PER_TX_PUBLIC_PORTION);
1620
+
1621
+ const gasSettings = new GasSettings(gasLimits, teardownGasLimits, GasFees.empty(), GasFees.empty());
1622
+
1623
+ const txContext = new TxContext(this.CHAIN_ID, this.ROLLUP_VERSION, gasSettings);
1624
+
1625
+ const blockHeader = await this.pxeOracleInterface.getBlockHeader();
1626
+
1627
+ const uniqueNoteHashes: Fr[] = [];
1628
+ const taggedPrivateLogs: PrivateLog[] = [];
1629
+ const nullifiers: Fr[] = [this.getTxRequestHash()];
1630
+ const l2ToL1Messages: ScopedL2ToL1Message[] = [];
1631
+ const contractClassLogsHashes: ScopedLogHash[] = [];
1632
+
1633
+ const calldataHash = await computeCalldataHash(calldata);
1634
+
1635
+ const calldataHashedValues = new HashedValues(calldata, calldataHash);
1636
+
1637
+ const publicCallRequest = new PublicCallRequest(from, targetContractAddress, isStaticCall, calldataHash);
1638
+ const publicCallRequests: PublicCallRequest[] = [publicCallRequest];
1639
+
1640
+ const globals = makeGlobalVariables();
1641
+ globals.blockNumber = new Fr(this.blockNumber);
1642
+ globals.gasFees = GasFees.empty();
1643
+
1644
+ const contractsDB = new PublicContractsDB(new TXEPublicContractDataSource(this));
1645
+ const guardedMerkleTrees = new GuardedMerkleTreeOperations(this.baseFork);
1646
+ const simulator = new PublicTxSimulator(guardedMerkleTrees, contractsDB, globals, true, true);
1647
+ const processor = new PublicProcessor(globals, guardedMerkleTrees, contractsDB, simulator, new TestDateProvider());
1648
+
1649
+ const constantData = new TxConstantData(blockHeader, txContext, Fr.zero(), Fr.zero());
1650
+
1651
+ const accumulatedDataForPublic = new PrivateToPublicAccumulatedData(
1652
+ padArrayEnd(uniqueNoteHashes, Fr.ZERO, MAX_NOTE_HASHES_PER_TX),
1653
+ padArrayEnd(nullifiers, Fr.ZERO, MAX_NULLIFIERS_PER_TX),
1654
+ padArrayEnd(l2ToL1Messages, ScopedL2ToL1Message.empty(), MAX_L2_TO_L1_MSGS_PER_TX),
1655
+ padArrayEnd(taggedPrivateLogs, PrivateLog.empty(), MAX_PRIVATE_LOGS_PER_TX),
1656
+ padArrayEnd(contractClassLogsHashes, ScopedLogHash.empty(), MAX_CONTRACT_CLASS_LOGS_PER_TX),
1657
+ padArrayEnd(publicCallRequests, PublicCallRequest.empty(), MAX_ENQUEUED_CALLS_PER_TX),
1658
+ );
1659
+
1660
+ const inputsForPublic = new PartialPrivateTailPublicInputsForPublic(
1661
+ // nonrevertible
1662
+ PrivateToPublicAccumulatedData.empty(),
1663
+ // revertible
1664
+ // We are using revertible (app phase) because only the app-phase returns are exposed.
1665
+ accumulatedDataForPublic,
1666
+ PublicCallRequest.empty(),
1667
+ );
1668
+
1669
+ const txData = new PrivateKernelTailCircuitPublicInputs(
1670
+ constantData,
1671
+ RollupValidationRequests.empty(),
1672
+ /*gasUsed=*/ new Gas(0, 0),
1673
+ /*feePayer=*/ AztecAddress.zero(),
1674
+ inputsForPublic,
1675
+ undefined,
1676
+ );
1677
+
1678
+ const tx = new Tx(txData, ClientIvcProof.empty(), [], [calldataHashedValues]);
1679
+
1680
+ const results = await processor.process([tx]);
1681
+
1682
+ const processedTxs = results[0];
1683
+ const failedTxs = results[1];
1684
+
1685
+ if (failedTxs.length !== 0 || !processedTxs[0].revertCode.isOK()) {
1686
+ throw new Error('Public execution has failed');
1687
+ }
1688
+
1689
+ const returnValues = results[3][0].values;
1690
+ let returnValuesHash;
1691
+
1692
+ if (returnValues !== undefined) {
1693
+ // This is a bit of a hack to not deal with returning a slice in nr which is what normally happens.
1694
+ // Investigate whether it is faster to do this or return from the oracle directly.
1695
+ returnValuesHash = await computeVarArgsHash(returnValues);
1696
+ this.storeInExecutionCache(returnValues, returnValuesHash);
1697
+ }
1698
+
1699
+ const fork = this.baseFork;
1700
+
1701
+ const txEffect = TxEffect.empty();
1702
+
1703
+ txEffect.noteHashes = processedTxs[0]!.txEffect.noteHashes;
1704
+ txEffect.nullifiers = processedTxs[0]!.txEffect.nullifiers;
1705
+ txEffect.privateLogs = taggedPrivateLogs;
1706
+ txEffect.publicLogs = processedTxs[0]!.txEffect.publicLogs;
1707
+ txEffect.publicDataWrites = processedTxs[0]!.txEffect.publicDataWrites;
1708
+
1709
+ txEffect.txHash = new TxHash(new Fr(this.blockNumber));
1710
+
1711
+ const body = new Body([txEffect]);
1712
+
1713
+ const l2Block = new L2Block(
1714
+ makeAppendOnlyTreeSnapshot(this.blockNumber + 1),
1715
+ makeHeader(0, this.blockNumber, this.blockNumber),
1716
+ body,
1717
+ );
1718
+
1719
+ const l1ToL2Messages = Array(NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP).fill(0).map(Fr.zero);
1720
+ await fork.appendLeaves(MerkleTreeId.L1_TO_L2_MESSAGE_TREE, l1ToL2Messages);
1721
+
1722
+ const stateReference = await fork.getStateReference();
1723
+ const archiveInfo = await fork.getTreeInfo(MerkleTreeId.ARCHIVE);
1724
+
1725
+ const header = new BlockHeader(
1726
+ new AppendOnlyTreeSnapshot(new Fr(archiveInfo.root), Number(archiveInfo.size)),
1727
+ makeContentCommitment(),
1728
+ stateReference,
1729
+ globals,
1730
+ Fr.ZERO,
1731
+ Fr.ZERO,
1732
+ );
1733
+
1734
+ header.globalVariables.blockNumber = new Fr(this.blockNumber);
1735
+
1736
+ l2Block.header = header;
1737
+
1738
+ await fork.updateArchive(l2Block.header);
1739
+
1740
+ await this.stateMachine.handleL2Block(l2Block);
1741
+
1742
+ const txRequestHash = this.getTxRequestHash();
1743
+
1744
+ this.setBlockNumber(this.blockNumber + 1);
1745
+
1746
+ return {
1747
+ returnsHash: returnValuesHash ?? Fr.ZERO,
1748
+ txHash: txRequestHash,
1749
+ };
1750
+ }
1620
1751
  }
@@ -105,8 +105,8 @@ export class DummyP2P implements P2P {
105
105
  throw new Error('DummyP2P does not implement "getAttestationForSlot"');
106
106
  }
107
107
 
108
- public addAttestation(_attestation: BlockAttestation): Promise<void> {
109
- throw new Error('DummyP2P does not implement "addAttestation"');
108
+ public addAttestations(_attestations: BlockAttestation[]): Promise<void> {
109
+ throw new Error('DummyP2P does not implement "addAttestations"');
110
110
  }
111
111
 
112
112
  public getL2BlockHash(_number: number): Promise<string | undefined> {
@@ -145,7 +145,7 @@ export class DummyP2P implements P2P {
145
145
  throw new Error('DummyP2P does not implement "hasTxsInPool"');
146
146
  }
147
147
 
148
- public addTxs(_txs: Tx[]): Promise<void> {
148
+ public addTxsToPool(_txs: Tx[]): Promise<number> {
149
149
  throw new Error('DummyP2P does not implement "addTxs"');
150
150
  }
151
151
 
@@ -62,7 +62,7 @@ export class TXEStateMachine {
62
62
  blockNumber: block.header.globalVariables.blockNumber.toBigInt(),
63
63
  timestamp: block.header.globalVariables.blockNumber.toBigInt(),
64
64
  },
65
- signatures: [],
65
+ attestations: [],
66
66
  },
67
67
  ]),
68
68
  this.syncDataProvider.setHeader(block.header),
@@ -1,17 +1,17 @@
1
- import { type ContractInstanceWithAddress, Fr, Point, TxHash } from '@aztec/aztec.js';
1
+ import { type ContractInstanceWithAddress, Fr, Point } from '@aztec/aztec.js';
2
2
  import { DEPLOYER_CONTRACT_ADDRESS } from '@aztec/constants';
3
3
  import type { Logger } from '@aztec/foundation/log';
4
4
  import { openTmpStore } from '@aztec/kv-store/lmdb-v2';
5
5
  import type { ProtocolContract } from '@aztec/protocol-contracts';
6
6
  import { enrichPublicSimulationError } from '@aztec/pxe/server';
7
7
  import type { TypedOracle } from '@aztec/pxe/simulator';
8
- import { type ContractArtifact, EventSelector, FunctionSelector, NoteSelector } from '@aztec/stdlib/abi';
8
+ import { type ContractArtifact, FunctionSelector, NoteSelector } from '@aztec/stdlib/abi';
9
9
  import { PublicDataWrite } from '@aztec/stdlib/avm';
10
10
  import { AztecAddress } from '@aztec/stdlib/aztec-address';
11
11
  import { computePartialAddress } from '@aztec/stdlib/contract';
12
12
  import { SimulationError } from '@aztec/stdlib/errors';
13
13
  import { computePublicDataTreeLeafSlot } from '@aztec/stdlib/hash';
14
- import { LogWithTxData } from '@aztec/stdlib/logs';
14
+ import { PrivateLogWithTxData, PublicLogWithTxData } from '@aztec/stdlib/logs';
15
15
  import { MerkleTreeId } from '@aztec/stdlib/trees';
16
16
 
17
17
  import { TXE } from '../oracle/txe_oracle.js';
@@ -700,16 +700,10 @@ export class TXEService {
700
700
  return toForeignCallResult([]);
701
701
  }
702
702
 
703
- public async deliverNote(
703
+ public async validateEnqueuedNotesAndEvents(
704
704
  contractAddress: ForeignCallSingle,
705
- storageSlot: ForeignCallSingle,
706
- nonce: ForeignCallSingle,
707
- content: ForeignCallArray,
708
- contentLength: ForeignCallSingle,
709
- noteHash: ForeignCallSingle,
710
- nullifier: ForeignCallSingle,
711
- txHash: ForeignCallSingle,
712
- recipient: ForeignCallSingle,
705
+ noteValidationRequestsArrayBaseSlot: ForeignCallSingle,
706
+ eventValidationRequestsArrayBaseSlot: ForeignCallSingle,
713
707
  ) {
714
708
  if (!this.oraclesEnabled) {
715
709
  throw new Error(
@@ -717,32 +711,50 @@ export class TXEService {
717
711
  );
718
712
  }
719
713
 
720
- await this.typedOracle.deliverNote(
714
+ await this.typedOracle.validateEnqueuedNotesAndEvents(
721
715
  AztecAddress.fromField(fromSingle(contractAddress)),
722
- fromSingle(storageSlot),
723
- fromSingle(nonce),
724
- fromArray(content.slice(0, Number(BigInt(contentLength)))),
725
- fromSingle(noteHash),
726
- fromSingle(nullifier),
727
- new TxHash(fromSingle(txHash)),
728
- AztecAddress.fromField(fromSingle(recipient)),
716
+ fromSingle(noteValidationRequestsArrayBaseSlot),
717
+ fromSingle(eventValidationRequestsArrayBaseSlot),
729
718
  );
730
719
 
731
- return toForeignCallResult([toSingle(Fr.ONE)]);
720
+ return toForeignCallResult([]);
732
721
  }
733
722
 
734
- async getLogByTag(tag: ForeignCallSingle) {
723
+ async getPublicLogByTag(tag: ForeignCallSingle, contractAddress: ForeignCallSingle) {
735
724
  if (!this.oraclesEnabled) {
736
725
  throw new Error(
737
726
  'Oracle access from the root of a TXe test are not enabled. Please use env._ to interact with the oracles.',
738
727
  );
739
728
  }
740
729
 
741
- // TODO(AD): this was warning that getLogByTag did not return a promise.
742
- const log = await Promise.resolve(this.typedOracle.getLogByTag(fromSingle(tag)));
730
+ // TODO(AD): this was warning that getPublicLogByTag did not return a promise.
731
+ const log = await Promise.resolve(
732
+ this.typedOracle.getPublicLogByTag(fromSingle(tag), AztecAddress.fromField(fromSingle(contractAddress))),
733
+ );
743
734
 
744
735
  if (log == null) {
745
- return toForeignCallResult([toSingle(Fr.ZERO), ...LogWithTxData.noirSerializationOfEmpty().map(toSingleOrArray)]);
736
+ return toForeignCallResult([
737
+ toSingle(Fr.ZERO),
738
+ ...PublicLogWithTxData.noirSerializationOfEmpty().map(toSingleOrArray),
739
+ ]);
740
+ } else {
741
+ return toForeignCallResult([toSingle(Fr.ONE), ...log.toNoirSerialization().map(toSingleOrArray)]);
742
+ }
743
+ }
744
+
745
+ async getPrivateLogByTag(siloedTag: ForeignCallSingle) {
746
+ if (!this.oraclesEnabled) {
747
+ throw new Error(
748
+ 'Oracle access from the root of a TXe test are not enabled. Please use env._ to interact with the oracles.',
749
+ );
750
+ }
751
+
752
+ const log = await this.typedOracle.getPrivateLogByTag(fromSingle(siloedTag));
753
+ if (log == null) {
754
+ return toForeignCallResult([
755
+ toSingle(Fr.ZERO),
756
+ ...PrivateLogWithTxData.noirSerializationOfEmpty().map(toSingleOrArray),
757
+ ]);
746
758
  } else {
747
759
  return toForeignCallResult([toSingle(Fr.ONE), ...log.toNoirSerialization().map(toSingleOrArray)]);
748
760
  }
@@ -862,33 +874,6 @@ export class TXEService {
862
874
  return toForeignCallResult(secret.toFields().map(toSingle));
863
875
  }
864
876
 
865
- async storePrivateEventLog(
866
- contractAddress: ForeignCallSingle,
867
- recipient: ForeignCallSingle,
868
- eventSelector: ForeignCallSingle,
869
- logContent: ForeignCallArray,
870
- txHash: ForeignCallSingle,
871
- logIndexInTx: ForeignCallSingle,
872
- txIndexInBlock: ForeignCallSingle,
873
- ) {
874
- if (!this.oraclesEnabled) {
875
- throw new Error(
876
- 'Oracle access from the root of a TXe test are not enabled. Please use env._ to interact with the oracles.',
877
- );
878
- }
879
-
880
- await this.typedOracle.storePrivateEventLog(
881
- AztecAddress.fromField(fromSingle(contractAddress)),
882
- AztecAddress.fromField(fromSingle(recipient)),
883
- EventSelector.fromField(fromSingle(eventSelector)),
884
- fromArray(logContent),
885
- new TxHash(fromSingle(txHash)),
886
- fromSingle(logIndexInTx).toNumber(),
887
- fromSingle(txIndexInBlock).toNumber(),
888
- );
889
- return toForeignCallResult([]);
890
- }
891
-
892
877
  // AVM opcodes
893
878
 
894
879
  avmOpcodeEmitUnencryptedLog(_message: ForeignCallArray) {
@@ -1222,4 +1207,21 @@ export class TXEService {
1222
1207
 
1223
1208
  return toForeignCallResult([toSingle(result)]);
1224
1209
  }
1210
+
1211
+ async publicCallNewFlow(
1212
+ from: ForeignCallSingle,
1213
+ address: ForeignCallSingle,
1214
+ _length: ForeignCallSingle,
1215
+ calldata: ForeignCallArray,
1216
+ isStaticCall: ForeignCallSingle,
1217
+ ) {
1218
+ const result = await (this.typedOracle as TXE).publicCallNewFlow(
1219
+ addressFromSingle(from),
1220
+ addressFromSingle(address),
1221
+ fromArray(calldata),
1222
+ fromSingle(isStaticCall).toBool(),
1223
+ );
1224
+
1225
+ return toForeignCallResult([toArray([result.returnsHash, result.txHash])]);
1226
+ }
1225
1227
  }