@aztec/txe 0.87.7 → 1.0.0-nightly.20250604

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.
@@ -14,7 +14,7 @@ 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
20
  import { BlockHeader, TxHash } from '@aztec/stdlib/tx';
@@ -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
+ validateEnqueuedNotes(contractAddress: AztecAddress, noteValidationRequestsArrayBaseSlot: 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;
@@ -156,5 +157,9 @@ export declare class TXE implements TypedOracle {
156
157
  returnsHash: Fr;
157
158
  txHash: Fr;
158
159
  }>;
160
+ publicCallNewFlow(from: AztecAddress, targetContractAddress: AztecAddress, calldata: Fr[], isStaticCall: boolean): Promise<{
161
+ returnsHash: Fr;
162
+ txHash: Fr;
163
+ }>;
159
164
  }
160
165
  //# 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 validateEnqueuedNotes(contractAddress, noteValidationRequestsArrayBaseSlot) {
754
+ await this.pxeOracleInterface.validateEnqueuedNotes(contractAddress, noteValidationRequestsArrayBaseSlot);
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) {
@@ -942,8 +945,9 @@ export class TXE {
942
945
  globals.blockNumber = new Fr(this.blockNumber);
943
946
  globals.gasFees = GasFees.empty();
944
947
  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());
948
+ const guardedMerkleTrees = new GuardedMerkleTreeOperations(this.baseFork);
949
+ const simulator = new PublicTxSimulator(guardedMerkleTrees, contractsDB, globals, true, true);
950
+ const processor = new PublicProcessor(globals, guardedMerkleTrees, contractsDB, simulator, new TestDateProvider());
947
951
  const constantData = new TxConstantData(blockHeader, txContext, Fr.zero(), Fr.zero());
948
952
  const hasPublicCalls = result.publicFunctionCalldata.length !== 0;
949
953
  let inputsForRollup;
@@ -998,4 +1002,85 @@ export class TXE {
998
1002
  txHash: txRequestHash
999
1003
  };
1000
1004
  }
1005
+ async publicCallNewFlow(from, targetContractAddress, calldata, isStaticCall) {
1006
+ this.logger.verbose(`Executing public function ${await this.getDebugFunctionName(targetContractAddress, FunctionSelector.fromField(calldata[0]))}@${targetContractAddress} isStaticCall=${isStaticCall}`);
1007
+ const gasLimits = new Gas(DEFAULT_GAS_LIMIT, MAX_L2_GAS_PER_TX_PUBLIC_PORTION);
1008
+ const teardownGasLimits = new Gas(DEFAULT_TEARDOWN_GAS_LIMIT, MAX_L2_GAS_PER_TX_PUBLIC_PORTION);
1009
+ const gasSettings = new GasSettings(gasLimits, teardownGasLimits, GasFees.empty(), GasFees.empty());
1010
+ const txContext = new TxContext(this.CHAIN_ID, this.ROLLUP_VERSION, gasSettings);
1011
+ const blockHeader = await this.pxeOracleInterface.getBlockHeader();
1012
+ const uniqueNoteHashes = [];
1013
+ const taggedPrivateLogs = [];
1014
+ const nullifiers = [
1015
+ this.getTxRequestHash()
1016
+ ];
1017
+ const l2ToL1Messages = [];
1018
+ const contractClassLogsHashes = [];
1019
+ const calldataHash = await computeCalldataHash(calldata);
1020
+ const calldataHashedValues = new HashedValues(calldata, calldataHash);
1021
+ const publicCallRequest = new PublicCallRequest(from, targetContractAddress, isStaticCall, calldataHash);
1022
+ const publicCallRequests = [
1023
+ publicCallRequest
1024
+ ];
1025
+ const globals = makeGlobalVariables();
1026
+ globals.blockNumber = new Fr(this.blockNumber);
1027
+ globals.gasFees = GasFees.empty();
1028
+ const contractsDB = new PublicContractsDB(new TXEPublicContractDataSource(this));
1029
+ const guardedMerkleTrees = new GuardedMerkleTreeOperations(this.baseFork);
1030
+ const simulator = new PublicTxSimulator(guardedMerkleTrees, contractsDB, globals, true, true);
1031
+ const processor = new PublicProcessor(globals, guardedMerkleTrees, contractsDB, simulator, new TestDateProvider());
1032
+ const constantData = new TxConstantData(blockHeader, txContext, Fr.zero(), Fr.zero());
1033
+ 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));
1034
+ const inputsForPublic = new PartialPrivateTailPublicInputsForPublic(// nonrevertible
1035
+ PrivateToPublicAccumulatedData.empty(), // revertible
1036
+ // We are using revertible (app phase) because only the app-phase returns are exposed.
1037
+ accumulatedDataForPublic, PublicCallRequest.empty());
1038
+ const txData = new PrivateKernelTailCircuitPublicInputs(constantData, RollupValidationRequests.empty(), /*gasUsed=*/ new Gas(0, 0), /*feePayer=*/ AztecAddress.zero(), inputsForPublic, undefined);
1039
+ const tx = new Tx(txData, ClientIvcProof.empty(), [], [
1040
+ calldataHashedValues
1041
+ ]);
1042
+ const results = await processor.process([
1043
+ tx
1044
+ ]);
1045
+ const processedTxs = results[0];
1046
+ const failedTxs = results[1];
1047
+ if (failedTxs.length !== 0 || !processedTxs[0].revertCode.isOK()) {
1048
+ throw new Error('Public execution has failed');
1049
+ }
1050
+ const returnValues = results[3][0].values;
1051
+ let returnValuesHash;
1052
+ if (returnValues !== undefined) {
1053
+ // This is a bit of a hack to not deal with returning a slice in nr which is what normally happens.
1054
+ // Investigate whether it is faster to do this or return from the oracle directly.
1055
+ returnValuesHash = await computeVarArgsHash(returnValues);
1056
+ this.storeInExecutionCache(returnValues, returnValuesHash);
1057
+ }
1058
+ const fork = this.baseFork;
1059
+ const txEffect = TxEffect.empty();
1060
+ txEffect.noteHashes = processedTxs[0].txEffect.noteHashes;
1061
+ txEffect.nullifiers = processedTxs[0].txEffect.nullifiers;
1062
+ txEffect.privateLogs = taggedPrivateLogs;
1063
+ txEffect.publicLogs = processedTxs[0].txEffect.publicLogs;
1064
+ txEffect.publicDataWrites = processedTxs[0].txEffect.publicDataWrites;
1065
+ txEffect.txHash = new TxHash(new Fr(this.blockNumber));
1066
+ const body = new Body([
1067
+ txEffect
1068
+ ]);
1069
+ const l2Block = new L2Block(makeAppendOnlyTreeSnapshot(this.blockNumber + 1), makeHeader(0, this.blockNumber, this.blockNumber), body);
1070
+ const l1ToL2Messages = Array(NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP).fill(0).map(Fr.zero);
1071
+ await fork.appendLeaves(MerkleTreeId.L1_TO_L2_MESSAGE_TREE, l1ToL2Messages);
1072
+ const stateReference = await fork.getStateReference();
1073
+ const archiveInfo = await fork.getTreeInfo(MerkleTreeId.ARCHIVE);
1074
+ const header = new BlockHeader(new AppendOnlyTreeSnapshot(new Fr(archiveInfo.root), Number(archiveInfo.size)), makeContentCommitment(), stateReference, globals, Fr.ZERO, Fr.ZERO);
1075
+ header.globalVariables.blockNumber = new Fr(this.blockNumber);
1076
+ l2Block.header = header;
1077
+ await fork.updateArchive(l2Block.header);
1078
+ await this.stateMachine.handleL2Block(l2Block);
1079
+ const txRequestHash = this.getTxRequestHash();
1080
+ this.setBlockNumber(this.blockNumber + 1);
1081
+ return {
1082
+ returnsHash: returnValuesHash ?? Fr.ZERO,
1083
+ txHash: txRequestHash
1084
+ };
1085
+ }
1001
1086
  }
@@ -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>;
@@ -1 +1 @@
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
+ {"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"');
@@ -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
+ validateEnqueuedNotes(contractAddress: ForeignCallSingle, noteValidationRequestsArrayBaseSlot: 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<{
@@ -231,5 +234,8 @@ export declare class TXEService {
231
234
  simulateUtilityFunction(targetContractAddress: ForeignCallSingle, functionSelector: ForeignCallSingle, argsHash: ForeignCallSingle): Promise<{
232
235
  values: (string | ForeignCallArray)[];
233
236
  }>;
237
+ publicCallNewFlow(from: ForeignCallSingle, address: ForeignCallSingle, _length: ForeignCallSingle, calldata: ForeignCallArray, isStaticCall: ForeignCallSingle): Promise<{
238
+ values: (string | ForeignCallArray)[];
239
+ }>;
234
240
  }
235
241
  //# 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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"}
@@ -8,7 +8,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 validateEnqueuedNotes(contractAddress, noteValidationRequestsArrayBaseSlot) {
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.validateEnqueuedNotes(AztecAddress.fromField(fromSingle(contractAddress)), fromSingle(noteValidationRequestsArrayBaseSlot));
454
+ return toForeignCallResult([]);
455
+ }
456
+ async getPublicLogByTag(tag, contractAddress) {
457
+ if (!this.oraclesEnabled) {
458
+ throw new Error('Oracle access from the root of a TXe test are not enabled. Please use env._ to interact with the oracles.');
459
+ }
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))));
462
+ if (log == null) {
463
+ return toForeignCallResult([
464
+ toSingle(Fr.ZERO),
465
+ ...PublicLogWithTxData.noirSerializationOfEmpty().map(toSingleOrArray)
466
+ ]);
467
+ } else {
468
+ return toForeignCallResult([
469
+ toSingle(Fr.ONE),
470
+ ...log.toNoirSerialization().map(toSingleOrArray)
471
+ ]);
472
+ }
457
473
  }
458
- async getLogByTag(tag) {
474
+ async getPrivateLogByTag(siloedTag) {
459
475
  if (!this.oraclesEnabled) {
460
476
  throw new Error('Oracle access from the root of a TXe test are not enabled. Please use env._ to interact with the oracles.');
461
477
  }
462
- // TODO(AD): this was warning that getLogByTag did not return a promise.
463
- const log = await Promise.resolve(this.typedOracle.getLogByTag(fromSingle(tag)));
478
+ const log = await this.typedOracle.getPrivateLogByTag(fromSingle(siloedTag));
464
479
  if (log == null) {
465
480
  return toForeignCallResult([
466
481
  toSingle(Fr.ZERO),
467
- ...LogWithTxData.noirSerializationOfEmpty().map(toSingleOrArray)
482
+ ...PrivateLogWithTxData.noirSerializationOfEmpty().map(toSingleOrArray)
468
483
  ]);
469
484
  } else {
470
485
  return toForeignCallResult([
@@ -766,4 +781,13 @@ export class TXEService {
766
781
  toSingle(result)
767
782
  ]);
768
783
  }
784
+ async publicCallNewFlow(from, address, _length, calldata, isStaticCall) {
785
+ const result = await this.typedOracle.publicCallNewFlow(addressFromSingle(from), addressFromSingle(address), fromArray(calldata), fromSingle(isStaticCall).toBool());
786
+ return toForeignCallResult([
787
+ toArray([
788
+ result.returnsHash,
789
+ result.txHash
790
+ ])
791
+ ]);
792
+ }
769
793
  }
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.20250604",
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.20250604",
61
+ "@aztec/archiver": "1.0.0-nightly.20250604",
62
+ "@aztec/aztec-node": "1.0.0-nightly.20250604",
63
+ "@aztec/aztec.js": "1.0.0-nightly.20250604",
64
+ "@aztec/bb-prover": "1.0.0-nightly.20250604",
65
+ "@aztec/constants": "1.0.0-nightly.20250604",
66
+ "@aztec/foundation": "1.0.0-nightly.20250604",
67
+ "@aztec/key-store": "1.0.0-nightly.20250604",
68
+ "@aztec/kv-store": "1.0.0-nightly.20250604",
69
+ "@aztec/protocol-contracts": "1.0.0-nightly.20250604",
70
+ "@aztec/pxe": "1.0.0-nightly.20250604",
71
+ "@aztec/simulator": "1.0.0-nightly.20250604",
72
+ "@aztec/stdlib": "1.0.0-nightly.20250604",
73
+ "@aztec/world-state": "1.0.0-nightly.20250604",
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,
@@ -75,6 +76,7 @@ import type { ContractInstance, ContractInstanceWithAddress } from '@aztec/stdli
75
76
  import { SimulationError } from '@aztec/stdlib/errors';
76
77
  import { Gas, GasFees, GasSettings } from '@aztec/stdlib/gas';
77
78
  import {
79
+ computeCalldataHash,
78
80
  computeNoteHashNonce,
79
81
  computePublicDataTreeLeafSlot,
80
82
  computeUniqueNoteHash,
@@ -96,7 +98,14 @@ import {
96
98
  ScopedLogHash,
97
99
  } from '@aztec/stdlib/kernel';
98
100
  import { deriveKeys } from '@aztec/stdlib/keys';
99
- import { ContractClassLog, IndexedTaggingSecret, LogWithTxData, PrivateLog, type PublicLog } from '@aztec/stdlib/logs';
101
+ import {
102
+ ContractClassLog,
103
+ IndexedTaggingSecret,
104
+ PrivateLog,
105
+ PrivateLogWithTxData,
106
+ type PublicLog,
107
+ PublicLogWithTxData,
108
+ } from '@aztec/stdlib/logs';
100
109
  import { ScopedL2ToL1Message } from '@aztec/stdlib/messaging';
101
110
  import type { NoteStatus } from '@aztec/stdlib/note';
102
111
  import { ClientIvcProof } from '@aztec/stdlib/proofs';
@@ -1166,30 +1175,19 @@ export class TXE implements TypedOracle {
1166
1175
  return Promise.resolve();
1167
1176
  }
1168
1177
 
1169
- public async deliverNote(
1178
+ public async validateEnqueuedNotes(
1170
1179
  contractAddress: AztecAddress,
1171
- storageSlot: Fr,
1172
- nonce: Fr,
1173
- content: Fr[],
1174
- noteHash: Fr,
1175
- nullifier: Fr,
1176
- txHash: TxHash,
1177
- recipient: AztecAddress,
1180
+ noteValidationRequestsArrayBaseSlot: Fr,
1178
1181
  ): Promise<void> {
1179
- await this.pxeOracleInterface.deliverNote(
1180
- contractAddress,
1181
- storageSlot,
1182
- nonce,
1183
- content,
1184
- noteHash,
1185
- nullifier,
1186
- txHash,
1187
- recipient,
1188
- );
1182
+ await this.pxeOracleInterface.validateEnqueuedNotes(contractAddress, noteValidationRequestsArrayBaseSlot);
1183
+ }
1184
+
1185
+ async getPublicLogByTag(tag: Fr, contractAddress: AztecAddress): Promise<PublicLogWithTxData | null> {
1186
+ return await this.pxeOracleInterface.getPublicLogByTag(tag, contractAddress);
1189
1187
  }
1190
1188
 
1191
- async getLogByTag(tag: Fr): Promise<LogWithTxData | null> {
1192
- return await this.pxeOracleInterface.getLogByTag(tag);
1189
+ async getPrivateLogByTag(siloedTag: Fr): Promise<PrivateLogWithTxData | null> {
1190
+ return await this.pxeOracleInterface.getPrivateLogByTag(siloedTag);
1193
1191
  }
1194
1192
 
1195
1193
  // AVM oracles
@@ -1505,8 +1503,9 @@ export class TXE implements TypedOracle {
1505
1503
  globals.gasFees = GasFees.empty();
1506
1504
 
1507
1505
  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());
1506
+ const guardedMerkleTrees = new GuardedMerkleTreeOperations(this.baseFork);
1507
+ const simulator = new PublicTxSimulator(guardedMerkleTrees, contractsDB, globals, true, true);
1508
+ const processor = new PublicProcessor(globals, guardedMerkleTrees, contractsDB, simulator, new TestDateProvider());
1510
1509
 
1511
1510
  const constantData = new TxConstantData(blockHeader, txContext, Fr.zero(), Fr.zero());
1512
1511
 
@@ -1617,4 +1616,152 @@ export class TXE implements TypedOracle {
1617
1616
  txHash: txRequestHash,
1618
1617
  };
1619
1618
  }
1619
+
1620
+ async publicCallNewFlow(
1621
+ from: AztecAddress,
1622
+ targetContractAddress: AztecAddress,
1623
+ calldata: Fr[],
1624
+ isStaticCall: boolean,
1625
+ ) {
1626
+ this.logger.verbose(
1627
+ `Executing public function ${await this.getDebugFunctionName(
1628
+ targetContractAddress,
1629
+ FunctionSelector.fromField(calldata[0]),
1630
+ )}@${targetContractAddress} isStaticCall=${isStaticCall}`,
1631
+ );
1632
+
1633
+ const gasLimits = new Gas(DEFAULT_GAS_LIMIT, MAX_L2_GAS_PER_TX_PUBLIC_PORTION);
1634
+
1635
+ const teardownGasLimits = new Gas(DEFAULT_TEARDOWN_GAS_LIMIT, MAX_L2_GAS_PER_TX_PUBLIC_PORTION);
1636
+
1637
+ const gasSettings = new GasSettings(gasLimits, teardownGasLimits, GasFees.empty(), GasFees.empty());
1638
+
1639
+ const txContext = new TxContext(this.CHAIN_ID, this.ROLLUP_VERSION, gasSettings);
1640
+
1641
+ const blockHeader = await this.pxeOracleInterface.getBlockHeader();
1642
+
1643
+ const uniqueNoteHashes: Fr[] = [];
1644
+ const taggedPrivateLogs: PrivateLog[] = [];
1645
+ const nullifiers: Fr[] = [this.getTxRequestHash()];
1646
+ const l2ToL1Messages: ScopedL2ToL1Message[] = [];
1647
+ const contractClassLogsHashes: ScopedLogHash[] = [];
1648
+
1649
+ const calldataHash = await computeCalldataHash(calldata);
1650
+
1651
+ const calldataHashedValues = new HashedValues(calldata, calldataHash);
1652
+
1653
+ const publicCallRequest = new PublicCallRequest(from, targetContractAddress, isStaticCall, calldataHash);
1654
+ const publicCallRequests: PublicCallRequest[] = [publicCallRequest];
1655
+
1656
+ const globals = makeGlobalVariables();
1657
+ globals.blockNumber = new Fr(this.blockNumber);
1658
+ globals.gasFees = GasFees.empty();
1659
+
1660
+ const contractsDB = new PublicContractsDB(new TXEPublicContractDataSource(this));
1661
+ const guardedMerkleTrees = new GuardedMerkleTreeOperations(this.baseFork);
1662
+ const simulator = new PublicTxSimulator(guardedMerkleTrees, contractsDB, globals, true, true);
1663
+ const processor = new PublicProcessor(globals, guardedMerkleTrees, contractsDB, simulator, new TestDateProvider());
1664
+
1665
+ const constantData = new TxConstantData(blockHeader, txContext, Fr.zero(), Fr.zero());
1666
+
1667
+ const accumulatedDataForPublic = new PrivateToPublicAccumulatedData(
1668
+ padArrayEnd(uniqueNoteHashes, Fr.ZERO, MAX_NOTE_HASHES_PER_TX),
1669
+ padArrayEnd(nullifiers, Fr.ZERO, MAX_NULLIFIERS_PER_TX),
1670
+ padArrayEnd(l2ToL1Messages, ScopedL2ToL1Message.empty(), MAX_L2_TO_L1_MSGS_PER_TX),
1671
+ padArrayEnd(taggedPrivateLogs, PrivateLog.empty(), MAX_PRIVATE_LOGS_PER_TX),
1672
+ padArrayEnd(contractClassLogsHashes, ScopedLogHash.empty(), MAX_CONTRACT_CLASS_LOGS_PER_TX),
1673
+ padArrayEnd(publicCallRequests, PublicCallRequest.empty(), MAX_ENQUEUED_CALLS_PER_TX),
1674
+ );
1675
+
1676
+ const inputsForPublic = new PartialPrivateTailPublicInputsForPublic(
1677
+ // nonrevertible
1678
+ PrivateToPublicAccumulatedData.empty(),
1679
+ // revertible
1680
+ // We are using revertible (app phase) because only the app-phase returns are exposed.
1681
+ accumulatedDataForPublic,
1682
+ PublicCallRequest.empty(),
1683
+ );
1684
+
1685
+ const txData = new PrivateKernelTailCircuitPublicInputs(
1686
+ constantData,
1687
+ RollupValidationRequests.empty(),
1688
+ /*gasUsed=*/ new Gas(0, 0),
1689
+ /*feePayer=*/ AztecAddress.zero(),
1690
+ inputsForPublic,
1691
+ undefined,
1692
+ );
1693
+
1694
+ const tx = new Tx(txData, ClientIvcProof.empty(), [], [calldataHashedValues]);
1695
+
1696
+ const results = await processor.process([tx]);
1697
+
1698
+ const processedTxs = results[0];
1699
+ const failedTxs = results[1];
1700
+
1701
+ if (failedTxs.length !== 0 || !processedTxs[0].revertCode.isOK()) {
1702
+ throw new Error('Public execution has failed');
1703
+ }
1704
+
1705
+ const returnValues = results[3][0].values;
1706
+ let returnValuesHash;
1707
+
1708
+ if (returnValues !== undefined) {
1709
+ // This is a bit of a hack to not deal with returning a slice in nr which is what normally happens.
1710
+ // Investigate whether it is faster to do this or return from the oracle directly.
1711
+ returnValuesHash = await computeVarArgsHash(returnValues);
1712
+ this.storeInExecutionCache(returnValues, returnValuesHash);
1713
+ }
1714
+
1715
+ const fork = this.baseFork;
1716
+
1717
+ const txEffect = TxEffect.empty();
1718
+
1719
+ txEffect.noteHashes = processedTxs[0]!.txEffect.noteHashes;
1720
+ txEffect.nullifiers = processedTxs[0]!.txEffect.nullifiers;
1721
+ txEffect.privateLogs = taggedPrivateLogs;
1722
+ txEffect.publicLogs = processedTxs[0]!.txEffect.publicLogs;
1723
+ txEffect.publicDataWrites = processedTxs[0]!.txEffect.publicDataWrites;
1724
+
1725
+ txEffect.txHash = new TxHash(new Fr(this.blockNumber));
1726
+
1727
+ const body = new Body([txEffect]);
1728
+
1729
+ const l2Block = new L2Block(
1730
+ makeAppendOnlyTreeSnapshot(this.blockNumber + 1),
1731
+ makeHeader(0, this.blockNumber, this.blockNumber),
1732
+ body,
1733
+ );
1734
+
1735
+ const l1ToL2Messages = Array(NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP).fill(0).map(Fr.zero);
1736
+ await fork.appendLeaves(MerkleTreeId.L1_TO_L2_MESSAGE_TREE, l1ToL2Messages);
1737
+
1738
+ const stateReference = await fork.getStateReference();
1739
+ const archiveInfo = await fork.getTreeInfo(MerkleTreeId.ARCHIVE);
1740
+
1741
+ const header = new BlockHeader(
1742
+ new AppendOnlyTreeSnapshot(new Fr(archiveInfo.root), Number(archiveInfo.size)),
1743
+ makeContentCommitment(),
1744
+ stateReference,
1745
+ globals,
1746
+ Fr.ZERO,
1747
+ Fr.ZERO,
1748
+ );
1749
+
1750
+ header.globalVariables.blockNumber = new Fr(this.blockNumber);
1751
+
1752
+ l2Block.header = header;
1753
+
1754
+ await fork.updateArchive(l2Block.header);
1755
+
1756
+ await this.stateMachine.handleL2Block(l2Block);
1757
+
1758
+ const txRequestHash = this.getTxRequestHash();
1759
+
1760
+ this.setBlockNumber(this.blockNumber + 1);
1761
+
1762
+ return {
1763
+ returnsHash: returnValuesHash ?? Fr.ZERO,
1764
+ txHash: txRequestHash,
1765
+ };
1766
+ }
1620
1767
  }
@@ -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> {
@@ -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),
@@ -11,7 +11,7 @@ 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,9 @@ export class TXEService {
700
700
  return toForeignCallResult([]);
701
701
  }
702
702
 
703
- public async deliverNote(
703
+ public async validateEnqueuedNotes(
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,
713
706
  ) {
714
707
  if (!this.oraclesEnabled) {
715
708
  throw new Error(
@@ -717,32 +710,49 @@ export class TXEService {
717
710
  );
718
711
  }
719
712
 
720
- await this.typedOracle.deliverNote(
713
+ await this.typedOracle.validateEnqueuedNotes(
721
714
  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)),
715
+ fromSingle(noteValidationRequestsArrayBaseSlot),
729
716
  );
730
717
 
731
- return toForeignCallResult([toSingle(Fr.ONE)]);
718
+ return toForeignCallResult([]);
732
719
  }
733
720
 
734
- async getLogByTag(tag: ForeignCallSingle) {
721
+ async getPublicLogByTag(tag: ForeignCallSingle, contractAddress: ForeignCallSingle) {
735
722
  if (!this.oraclesEnabled) {
736
723
  throw new Error(
737
724
  'Oracle access from the root of a TXe test are not enabled. Please use env._ to interact with the oracles.',
738
725
  );
739
726
  }
740
727
 
741
- // TODO(AD): this was warning that getLogByTag did not return a promise.
742
- const log = await Promise.resolve(this.typedOracle.getLogByTag(fromSingle(tag)));
728
+ // TODO(AD): this was warning that getPublicLogByTag did not return a promise.
729
+ const log = await Promise.resolve(
730
+ this.typedOracle.getPublicLogByTag(fromSingle(tag), AztecAddress.fromField(fromSingle(contractAddress))),
731
+ );
732
+
733
+ if (log == null) {
734
+ return toForeignCallResult([
735
+ toSingle(Fr.ZERO),
736
+ ...PublicLogWithTxData.noirSerializationOfEmpty().map(toSingleOrArray),
737
+ ]);
738
+ } else {
739
+ return toForeignCallResult([toSingle(Fr.ONE), ...log.toNoirSerialization().map(toSingleOrArray)]);
740
+ }
741
+ }
742
+
743
+ async getPrivateLogByTag(siloedTag: ForeignCallSingle) {
744
+ if (!this.oraclesEnabled) {
745
+ throw new Error(
746
+ 'Oracle access from the root of a TXe test are not enabled. Please use env._ to interact with the oracles.',
747
+ );
748
+ }
743
749
 
750
+ const log = await this.typedOracle.getPrivateLogByTag(fromSingle(siloedTag));
744
751
  if (log == null) {
745
- return toForeignCallResult([toSingle(Fr.ZERO), ...LogWithTxData.noirSerializationOfEmpty().map(toSingleOrArray)]);
752
+ return toForeignCallResult([
753
+ toSingle(Fr.ZERO),
754
+ ...PrivateLogWithTxData.noirSerializationOfEmpty().map(toSingleOrArray),
755
+ ]);
746
756
  } else {
747
757
  return toForeignCallResult([toSingle(Fr.ONE), ...log.toNoirSerialization().map(toSingleOrArray)]);
748
758
  }
@@ -1222,4 +1232,21 @@ export class TXEService {
1222
1232
 
1223
1233
  return toForeignCallResult([toSingle(result)]);
1224
1234
  }
1235
+
1236
+ async publicCallNewFlow(
1237
+ from: ForeignCallSingle,
1238
+ address: ForeignCallSingle,
1239
+ _length: ForeignCallSingle,
1240
+ calldata: ForeignCallArray,
1241
+ isStaticCall: ForeignCallSingle,
1242
+ ) {
1243
+ const result = await (this.typedOracle as TXE).publicCallNewFlow(
1244
+ addressFromSingle(from),
1245
+ addressFromSingle(address),
1246
+ fromArray(calldata),
1247
+ fromSingle(isStaticCall).toBool(),
1248
+ );
1249
+
1250
+ return toForeignCallResult([toArray([result.returnsHash, result.txHash])]);
1251
+ }
1225
1252
  }