@aztec/txe 0.82.3 → 0.83.1-alpha-testnet.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.
@@ -8,7 +8,7 @@ import type { ContractClassPublic, ContractInstanceWithAddress, NodeInfo, Protoc
8
8
  import type { GasFees } from '@aztec/stdlib/gas';
9
9
  import type { AztecNode, GetContractClassLogsResponse, GetPublicLogsResponse } from '@aztec/stdlib/interfaces/client';
10
10
  import type { MerkleTreeWriteOperations, ProverConfig, SequencerConfig, WorldStateSyncStatus } from '@aztec/stdlib/interfaces/server';
11
- import { type LogFilter, type PrivateLog, type PublicLog, TxScopedL2Log } from '@aztec/stdlib/logs';
11
+ import { type LogFilter, type PrivateLog, TxScopedL2Log } from '@aztec/stdlib/logs';
12
12
  import { MerkleTreeId, type NullifierMembershipWitness, PublicDataWitness } from '@aztec/stdlib/trees';
13
13
  import { BlockHeader, type PublicSimulationOutput, type Tx, type TxEffect, TxHash, TxReceipt, type TxValidationResult } from '@aztec/stdlib/tx';
14
14
  import type { ValidatorsStats } from '@aztec/stdlib/validators';
@@ -38,24 +38,12 @@ export declare class TXENode implements AztecNode {
38
38
  */
39
39
  getTxEffect(txHash: TxHash): Promise<InBlock<TxEffect> | undefined>;
40
40
  /**
41
- * Sets a tx effect and receipt for a given block number.
41
+ * Processes a tx effect and receipt for a given block number.
42
42
  * @param blockNumber - The block number that this tx effect resides.
43
43
  * @param txHash - The transaction hash of the transaction.
44
44
  * @param effect - The tx effect to set.
45
45
  */
46
- setTxEffect(blockNumber: number, txHash: TxHash, effect: TxEffect): Promise<void>;
47
- /**
48
- * Adds private logs to the txe node, given a block
49
- * @param blockNumber - The block number at which to add the private logs.
50
- * @param privateLogs - The privateLogs that contain the private logs to be added.
51
- */
52
- addPrivateLogsByTags(blockNumber: number, privateLogs: PrivateLog[]): void;
53
- /**
54
- * Adds public logs to the txe node, given a block
55
- * @param blockNumber - The block number at which to add the public logs.
56
- * @param publicLogs - The public logs to be added.
57
- */
58
- addPublicLogsByTags(blockNumber: number, publicLogs: PublicLog[]): void;
46
+ processTxEffect(blockNumber: number, txHash: TxHash, effect: TxEffect): Promise<void>;
59
47
  /**
60
48
  * Gets all logs that match any of the received tags (i.e. logs with their first field equal to a tag).
61
49
  * @param tags - The tags to filter the logs by.
@@ -1 +1 @@
1
- {"version":3,"file":"txe_node.d.ts","sourceRoot":"","sources":["../../src/node/txe_node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"txe_node.d.ts","sourceRoot":"","sources":["../../src/node/txe_node.ts"],"names":[],"mappings":"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"}
@@ -50,11 +50,11 @@ export class TXENode {
50
50
  return Promise.resolve(txEffect);
51
51
  }
52
52
  /**
53
- * Sets a tx effect and receipt for a given block number.
53
+ * Processes a tx effect and receipt for a given block number.
54
54
  * @param blockNumber - The block number that this tx effect resides.
55
55
  * @param txHash - The transaction hash of the transaction.
56
56
  * @param effect - The tx effect to set.
57
- */ async setTxEffect(blockNumber, txHash, effect) {
57
+ */ async processTxEffect(blockNumber, txHash, effect) {
58
58
  // We are not creating real blocks on which membership proofs can be constructed - we instead define its hash as
59
59
  // simply the hash of the block number.
60
60
  const blockHash = await poseidon2Hash([
@@ -68,32 +68,22 @@ export class TXENode {
68
68
  // We also set the receipt since we want to be able to serve `getTxReceipt` - we don't care about most values here,
69
69
  // but we do need to be able to retrieve the block number of a given txHash.
70
70
  this.#txReceiptsByTxHash.set(txHash.toString(), new TxReceipt(txHash, TxReceipt.statusFromRevertCode(effect.revertCode), '', undefined, new L2BlockHash(blockHash.toBuffer()), blockNumber));
71
- }
72
- /**
73
- * Adds private logs to the txe node, given a block
74
- * @param blockNumber - The block number at which to add the private logs.
75
- * @param privateLogs - The privateLogs that contain the private logs to be added.
76
- */ addPrivateLogsByTags(blockNumber, privateLogs) {
77
- privateLogs.forEach((log)=>{
71
+ // Store the private logs
72
+ effect.privateLogs.forEach((log, logIndexInTx)=>{
78
73
  const tag = log.fields[0];
79
74
  this.#logger.verbose(`Found private log with tag ${tag.toString()} in block ${this.getBlockNumber()}`);
80
75
  const currentLogs = this.#logsByTags.get(tag.toString()) ?? [];
81
- const scopedLog = new TxScopedL2Log(new TxHash(new Fr(blockNumber)), this.#noteIndex, blockNumber, log);
76
+ const scopedLog = new TxScopedL2Log(new TxHash(new Fr(blockNumber)), this.#noteIndex, logIndexInTx, blockNumber, log);
82
77
  currentLogs.push(scopedLog);
83
78
  this.#logsByTags.set(tag.toString(), currentLogs);
84
79
  });
85
- this.#noteIndex += privateLogs.length;
86
- }
87
- /**
88
- * Adds public logs to the txe node, given a block
89
- * @param blockNumber - The block number at which to add the public logs.
90
- * @param publicLogs - The public logs to be added.
91
- */ addPublicLogsByTags(blockNumber, publicLogs) {
92
- publicLogs.forEach((log)=>{
80
+ this.#noteIndex += effect.privateLogs.length;
81
+ // Store the public logs
82
+ effect.publicLogs.forEach((log, logIndexInTx)=>{
93
83
  const tag = log.log[0];
94
84
  this.#logger.verbose(`Found public log with tag ${tag.toString()} in block ${this.getBlockNumber()}`);
95
85
  const currentLogs = this.#logsByTags.get(tag.toString()) ?? [];
96
- const scopedLog = new TxScopedL2Log(new TxHash(new Fr(blockNumber)), this.#noteIndex, blockNumber, log);
86
+ const scopedLog = new TxScopedL2Log(new TxHash(new Fr(blockNumber)), this.#noteIndex, logIndexInTx, blockNumber, log);
97
87
  currentLogs.push(scopedLog);
98
88
  this.#logsByTags.set(tag.toString(), currentLogs);
99
89
  });
@@ -401,7 +391,7 @@ export class TXENode {
401
391
  return Fr.ZERO;
402
392
  }
403
393
  const preimage = await db.getLeafPreimage(MerkleTreeId.PUBLIC_DATA_TREE, lowLeafResult.index);
404
- return preimage.value;
394
+ return preimage.leaf.value;
405
395
  }
406
396
  /**
407
397
  * Returns the currently committed block header.
@@ -9,7 +9,7 @@ import type { ProtocolContract } from '@aztec/protocol-contracts';
9
9
  import { AddressDataProvider, ContractDataProvider } from '@aztec/pxe/server';
10
10
  import { type MessageLoadOracleInputs, type NoteData, type TypedOracle } from '@aztec/simulator/client';
11
11
  import { type PublicTxResult } from '@aztec/simulator/server';
12
- import { type ContractArtifact, type FunctionAbi, FunctionSelector, type NoteSelector } from '@aztec/stdlib/abi';
12
+ import { type ContractArtifact, EventSelector, type FunctionAbi, FunctionSelector, type NoteSelector } from '@aztec/stdlib/abi';
13
13
  import { AuthWitness } from '@aztec/stdlib/auth-witness';
14
14
  import { PublicDataWrite } from '@aztec/stdlib/avm';
15
15
  import { AztecAddress } from '@aztec/stdlib/aztec-address';
@@ -19,7 +19,7 @@ import { type KeyValidationRequest, PrivateContextInputs } from '@aztec/stdlib/k
19
19
  import { ContractClassLog, IndexedTaggingSecret, LogWithTxData, type PrivateLog, type PublicLog } from '@aztec/stdlib/logs';
20
20
  import type { NoteStatus } from '@aztec/stdlib/note';
21
21
  import { MerkleTreeId, NullifierMembershipWitness, PublicDataWitness } from '@aztec/stdlib/trees';
22
- import { BlockHeader } from '@aztec/stdlib/tx';
22
+ import { BlockHeader, TxHash } from '@aztec/stdlib/tx';
23
23
  import { NativeWorldStateService } from '@aztec/world-state/native';
24
24
  import { TXEAccountDataProvider } from '../util/txe_account_data_provider.js';
25
25
  export declare class TXE implements TypedOracle {
@@ -31,6 +31,7 @@ export declare class TXE implements TypedOracle {
31
31
  private syncDataProvider;
32
32
  private taggingDataProvider;
33
33
  private addressDataProvider;
34
+ private privateEventDataProvider;
34
35
  private accountDataProvider;
35
36
  private executionCache;
36
37
  private contractAddress;
@@ -50,7 +51,7 @@ export declare class TXE implements TypedOracle {
50
51
  private privateLogs;
51
52
  private publicLogs;
52
53
  private committedBlocks;
53
- private VERSION;
54
+ private ROLLUP_VERSION;
54
55
  private CHAIN_ID;
55
56
  private node;
56
57
  private simulationProvider;
@@ -132,7 +133,7 @@ export declare class TXE implements TypedOracle {
132
133
  debugLog(message: string, fields: Fr[]): void;
133
134
  incrementAppTaggingSecretIndexAsSender(sender: AztecAddress, recipient: AztecAddress): Promise<void>;
134
135
  getIndexedTaggingSecretAsSender(sender: AztecAddress, recipient: AztecAddress): Promise<IndexedTaggingSecret>;
135
- syncNotes(): Promise<void>;
136
+ syncNotes(pendingTaggedLogArrayBaseSlot: Fr): Promise<void>;
136
137
  deliverNote(contractAddress: AztecAddress, storageSlot: Fr, nonce: Fr, content: Fr[], noteHash: Fr, nullifier: Fr, txHash: Fr, recipient: AztecAddress): Promise<void>;
137
138
  getLogByTag(tag: Fr): Promise<LogWithTxData | null>;
138
139
  avmOpcodeCall(targetContractAddress: AztecAddress, calldata: Fr[], isStaticCall: boolean): Promise<PublicTxResult>;
@@ -149,5 +150,6 @@ export declare class TXE implements TypedOracle {
149
150
  copyCapsule(contractAddress: AztecAddress, srcSlot: Fr, dstSlot: Fr, numEntries: number): Promise<void>;
150
151
  aes128Decrypt(ciphertext: Buffer, iv: Buffer, symKey: Buffer): Promise<Buffer>;
151
152
  getSharedSecret(address: AztecAddress, ephPk: Point): Promise<Point>;
153
+ storePrivateEventLog(contractAddress: AztecAddress, recipient: AztecAddress, eventSelector: EventSelector, logContent: Fr[], txHash: TxHash, logIndexInTx: number): Promise<void>;
152
154
  }
153
155
  //# 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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"}
@@ -6,7 +6,7 @@ import { Fr } from '@aztec/foundation/fields';
6
6
  import { applyStringFormatting } from '@aztec/foundation/log';
7
7
  import { Timer } from '@aztec/foundation/timer';
8
8
  import { KeyStore } from '@aztec/key-store';
9
- import { AddressDataProvider, CapsuleDataProvider, ContractDataProvider, NoteDataProvider, PXEOracleInterface, SyncDataProvider, TaggingDataProvider, enrichPublicSimulationError } from '@aztec/pxe/server';
9
+ import { AddressDataProvider, CapsuleDataProvider, ContractDataProvider, NoteDataProvider, PXEOracleInterface, PrivateEventDataProvider, SyncDataProvider, TaggingDataProvider, enrichPublicSimulationError } from '@aztec/pxe/server';
10
10
  import { ExecutionNoteCache, HashedValuesCache, Oracle, WASMSimulator, extractCallStack, extractPrivateCircuitPublicInputs, pickNotes, toACVMWitness, witnessMapToFields } from '@aztec/simulator/client';
11
11
  import { createTxForPublicCalls } from '@aztec/simulator/public/fixtures';
12
12
  import { ExecutionError, PublicContractsDB, PublicTxSimulator, createSimulationError, resolveAssertionMessageFromError } from '@aztec/simulator/server';
@@ -36,6 +36,7 @@ export class TXE {
36
36
  syncDataProvider;
37
37
  taggingDataProvider;
38
38
  addressDataProvider;
39
+ privateEventDataProvider;
39
40
  accountDataProvider;
40
41
  executionCache;
41
42
  contractAddress;
@@ -56,13 +57,13 @@ export class TXE {
56
57
  privateLogs;
57
58
  publicLogs;
58
59
  committedBlocks;
59
- VERSION;
60
+ ROLLUP_VERSION;
60
61
  CHAIN_ID;
61
62
  node;
62
63
  simulationProvider;
63
64
  noteCache;
64
65
  authwits;
65
- constructor(logger, keyStore, contractDataProvider, noteDataProvider, capsuleDataProvider, syncDataProvider, taggingDataProvider, addressDataProvider, accountDataProvider, executionCache, contractAddress, nativeWorldStateService, baseFork){
66
+ constructor(logger, keyStore, contractDataProvider, noteDataProvider, capsuleDataProvider, syncDataProvider, taggingDataProvider, addressDataProvider, privateEventDataProvider, accountDataProvider, executionCache, contractAddress, nativeWorldStateService, baseFork){
66
67
  this.logger = logger;
67
68
  this.keyStore = keyStore;
68
69
  this.contractDataProvider = contractDataProvider;
@@ -71,6 +72,7 @@ export class TXE {
71
72
  this.syncDataProvider = syncDataProvider;
72
73
  this.taggingDataProvider = taggingDataProvider;
73
74
  this.addressDataProvider = addressDataProvider;
75
+ this.privateEventDataProvider = privateEventDataProvider;
74
76
  this.accountDataProvider = accountDataProvider;
75
77
  this.executionCache = executionCache;
76
78
  this.contractAddress = contractAddress;
@@ -88,21 +90,22 @@ export class TXE {
88
90
  this.privateLogs = [];
89
91
  this.publicLogs = [];
90
92
  this.committedBlocks = new Set();
91
- this.VERSION = 1;
93
+ this.ROLLUP_VERSION = 1;
92
94
  this.CHAIN_ID = 1;
93
95
  this.simulationProvider = new WASMSimulator();
94
96
  this.authwits = new Map();
95
97
  this.noteCache = new ExecutionNoteCache(this.getTxRequestHash());
96
- this.node = new TXENode(this.blockNumber, this.VERSION, this.CHAIN_ID, nativeWorldStateService, baseFork);
98
+ this.node = new TXENode(this.blockNumber, this.ROLLUP_VERSION, this.CHAIN_ID, nativeWorldStateService, baseFork);
97
99
  // Default msg_sender (for entrypoints) is now Fr.max_value rather than 0 addr (see #7190 & #7404)
98
100
  this.msgSender = AztecAddress.fromField(Fr.MAX_FIELD_VALUE);
99
- this.pxeOracleInterface = new PXEOracleInterface(this.node, this.keyStore, this.simulationProvider, this.contractDataProvider, this.noteDataProvider, this.capsuleDataProvider, this.syncDataProvider, this.taggingDataProvider, this.addressDataProvider, this.logger);
101
+ this.pxeOracleInterface = new PXEOracleInterface(this.node, this.keyStore, this.contractDataProvider, this.noteDataProvider, this.capsuleDataProvider, this.syncDataProvider, this.taggingDataProvider, this.addressDataProvider, this.privateEventDataProvider, this.logger);
100
102
  }
101
103
  static async create(logger, store, protocolContracts) {
102
104
  const executionCache = new HashedValuesCache();
103
105
  const nativeWorldStateService = await NativeWorldStateService.tmp();
104
106
  const baseFork = await nativeWorldStateService.fork();
105
107
  const addressDataProvider = new AddressDataProvider(store);
108
+ const privateEventDataProvider = new PrivateEventDataProvider(store);
106
109
  const contractDataProvider = new ContractDataProvider(store);
107
110
  const noteDataProvider = await NoteDataProvider.create(store);
108
111
  const syncDataProvider = new SyncDataProvider(store);
@@ -115,7 +118,7 @@ export class TXE {
115
118
  await contractDataProvider.addContractArtifact(contractClass.id, artifact);
116
119
  await contractDataProvider.addContractInstance(instance);
117
120
  }
118
- return new TXE(logger, keyStore, contractDataProvider, noteDataProvider, capsuleDataProvider, syncDataProvider, taggingDataProvider, addressDataProvider, accountDataProvider, executionCache, await AztecAddress.random(), nativeWorldStateService, baseFork);
121
+ return new TXE(logger, keyStore, contractDataProvider, noteDataProvider, capsuleDataProvider, syncDataProvider, taggingDataProvider, addressDataProvider, privateEventDataProvider, accountDataProvider, executionCache, await AztecAddress.random(), nativeWorldStateService, baseFork);
119
122
  }
120
123
  // Utils
121
124
  getNativeWorldStateService() {
@@ -449,7 +452,7 @@ export class TXE {
449
452
  let value = Fr.ZERO;
450
453
  if (lowLeafResult && lowLeafResult.alreadyPresent) {
451
454
  const preimage = await db.getLeafPreimage(MerkleTreeId.PUBLIC_DATA_TREE, lowLeafResult.index);
452
- value = preimage.value;
455
+ value = preimage.leaf.value;
453
456
  }
454
457
  this.logger.debug(`Oracle storage read: slot=${storageSlot.toString()} value=${value}`);
455
458
  values.push(value);
@@ -490,6 +493,8 @@ export class TXE {
490
493
  txEffect.nullifiers.unshift(this.getTxRequestHash());
491
494
  }
492
495
  txEffect.publicDataWrites = this.publicDataWrites;
496
+ txEffect.privateLogs = this.privateLogs;
497
+ txEffect.publicLogs = this.publicLogs;
493
498
  const body = new Body([
494
499
  txEffect
495
500
  ]);
@@ -511,9 +516,7 @@ export class TXE {
511
516
  await fork.batchInsert(MerkleTreeId.NULLIFIER_TREE, nullifiersPadded.map((nullifier)=>nullifier.toBuffer()), NULLIFIER_SUBTREE_HEIGHT);
512
517
  }
513
518
  }
514
- await this.node.setTxEffect(blockNumber, new TxHash(new Fr(blockNumber)), txEffect);
515
- this.node.addPrivateLogsByTags(this.blockNumber, this.privateLogs);
516
- this.node.addPublicLogsByTags(this.blockNumber, this.publicLogs);
519
+ await this.node.processTxEffect(blockNumber, new TxHash(new Fr(blockNumber)), txEffect);
517
520
  const stateReference = await fork.getStateReference();
518
521
  const archiveInfo = await fork.getTreeInfo(MerkleTreeId.ARCHIVE);
519
522
  const header = new BlockHeader(new AppendOnlyTreeSnapshot(new Fr(archiveInfo.root), Number(archiveInfo.size)), makeContentCommitment(), stateReference, makeGlobalVariables(), Fr.ZERO, Fr.ZERO);
@@ -706,11 +709,8 @@ export class TXE {
706
709
  async getIndexedTaggingSecretAsSender(sender, recipient) {
707
710
  return await this.pxeOracleInterface.getIndexedTaggingSecretAsSender(this.contractAddress, sender, recipient);
708
711
  }
709
- async syncNotes() {
710
- const taggedLogsByRecipient = await this.pxeOracleInterface.syncTaggedLogs(this.contractAddress, await this.getBlockNumber(), undefined);
711
- for (const [recipient, taggedLogs] of taggedLogsByRecipient.entries()){
712
- await this.pxeOracleInterface.processTaggedLogs(this.contractAddress, taggedLogs, AztecAddress.fromString(recipient));
713
- }
712
+ async syncNotes(pendingTaggedLogArrayBaseSlot) {
713
+ await this.pxeOracleInterface.syncTaggedLogs(this.contractAddress, pendingTaggedLogArrayBaseSlot);
714
714
  await this.pxeOracleInterface.removeNullifiedNotes(this.contractAddress);
715
715
  return Promise.resolve();
716
716
  }
@@ -786,7 +786,7 @@ export class TXE {
786
786
  return Fr.ZERO;
787
787
  }
788
788
  const preimage = await this.baseFork.getLeafPreimage(MerkleTreeId.PUBLIC_DATA_TREE, lowLeafResult.index);
789
- return preimage.value;
789
+ return preimage.leaf.value;
790
790
  }
791
791
  storeCapsule(contractAddress, slot, capsule) {
792
792
  if (!contractAddress.equals(this.contractAddress)) {
@@ -823,4 +823,7 @@ export class TXE {
823
823
  getSharedSecret(address, ephPk) {
824
824
  return this.pxeOracleInterface.getSharedSecret(address, ephPk);
825
825
  }
826
+ storePrivateEventLog(contractAddress, recipient, eventSelector, logContent, txHash, logIndexInTx) {
827
+ return this.pxeOracleInterface.storePrivateEventLog(contractAddress, recipient, eventSelector, logContent, txHash, logIndexInTx);
828
+ }
826
829
  }
@@ -132,7 +132,7 @@ export declare class TXEService {
132
132
  getIndexedTaggingSecretAsSender(sender: ForeignCallSingle, recipient: ForeignCallSingle): Promise<{
133
133
  values: (string | ForeignCallArray)[];
134
134
  }>;
135
- syncNotes(): Promise<{
135
+ syncNotes(pendingTaggedLogArrayBaseSlot: ForeignCallSingle): Promise<{
136
136
  values: (string | ForeignCallArray)[];
137
137
  }>;
138
138
  deliverNote(contractAddress: ForeignCallSingle, storageSlot: ForeignCallSingle, nonce: ForeignCallSingle, content: ForeignCallArray, contentLength: ForeignCallSingle, noteHash: ForeignCallSingle, nullifier: ForeignCallSingle, txHash: ForeignCallSingle, recipient: ForeignCallSingle): Promise<{
@@ -156,7 +156,10 @@ export declare class TXEService {
156
156
  aes128Decrypt(ciphertextBVecStorage: ForeignCallArray, ciphertextLength: ForeignCallSingle, iv: ForeignCallArray, symKey: ForeignCallArray): Promise<{
157
157
  values: (string | ForeignCallArray)[];
158
158
  }>;
159
- getSharedSecret(address: ForeignCallSingle, ephPk: ForeignCallArray): Promise<{
159
+ getSharedSecret(address: ForeignCallSingle, ephPKField0: ForeignCallSingle, ephPKField1: ForeignCallSingle, ephPKField2: ForeignCallSingle): Promise<{
160
+ values: (string | ForeignCallArray)[];
161
+ }>;
162
+ storePrivateEventLog(contractAddress: ForeignCallSingle, recipient: ForeignCallSingle, eventSelector: ForeignCallSingle, logContent: ForeignCallArray, txHash: ForeignCallSingle, logIndexInTx: ForeignCallSingle): Promise<{
160
163
  values: (string | ForeignCallArray)[];
161
164
  }>;
162
165
  avmOpcodeEmitUnencryptedLog(_message: ForeignCallArray): {
@@ -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,8 +1,8 @@
1
- import { Fr, Point } from '@aztec/aztec.js';
1
+ import { Fr, Point, TxHash } 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 { FunctionSelector, NoteSelector } from '@aztec/stdlib/abi';
5
+ import { EventSelector, 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';
@@ -367,8 +367,8 @@ export class TXEService {
367
367
  const secret = await this.typedOracle.getIndexedTaggingSecretAsSender(AztecAddress.fromField(fromSingle(sender)), AztecAddress.fromField(fromSingle(recipient)));
368
368
  return toForeignCallResult(secret.toFields().map(toSingle));
369
369
  }
370
- async syncNotes() {
371
- await this.typedOracle.syncNotes();
370
+ async syncNotes(pendingTaggedLogArrayBaseSlot) {
371
+ await this.typedOracle.syncNotes(fromSingle(pendingTaggedLogArrayBaseSlot));
372
372
  return toForeignCallResult([]);
373
373
  }
374
374
  async deliverNote(contractAddress, storageSlot, nonce, content, contentLength, noteHash, nullifier, txHash, recipient) {
@@ -433,19 +433,27 @@ export class TXEService {
433
433
  const plaintextBuffer = await this.typedOracle.aes128Decrypt(ciphertext, ivBuffer, symKeyBuffer);
434
434
  return toForeignCallResult(arrayToBoundedVec(bufferToU8Array(plaintextBuffer), ciphertextBVecStorage.length));
435
435
  }
436
- async getSharedSecret(address, ephPk) {
437
- const secret = await this.typedOracle.getSharedSecret(AztecAddress.fromField(fromSingle(address)), Point.fromFields(fromArray(ephPk)));
436
+ async getSharedSecret(address, ephPKField0, ephPKField1, ephPKField2) {
437
+ const secret = await this.typedOracle.getSharedSecret(AztecAddress.fromField(fromSingle(address)), Point.fromFields([
438
+ fromSingle(ephPKField0),
439
+ fromSingle(ephPKField1),
440
+ fromSingle(ephPKField2)
441
+ ]));
438
442
  return toForeignCallResult(secret.toFields().map(toSingle));
439
443
  }
444
+ async storePrivateEventLog(contractAddress, recipient, eventSelector, logContent, txHash, logIndexInTx) {
445
+ 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());
446
+ return toForeignCallResult([]);
447
+ }
440
448
  // AVM opcodes
441
449
  avmOpcodeEmitUnencryptedLog(_message) {
442
450
  // TODO(#8811): Implement
443
451
  return toForeignCallResult([]);
444
452
  }
445
453
  async avmOpcodeStorageRead(slot) {
446
- const value = await this.typedOracle.avmOpcodeStorageRead(fromSingle(slot));
454
+ const value = (await this.typedOracle.avmOpcodeStorageRead(fromSingle(slot))).value;
447
455
  return toForeignCallResult([
448
- toSingle(value)
456
+ toSingle(new Fr(value))
449
457
  ]);
450
458
  }
451
459
  async avmOpcodeStorageWrite(slot, value) {
@@ -15,7 +15,7 @@ export class TXEPublicTreesDB extends PublicTreesDB {
15
15
  let value = Fr.ZERO;
16
16
  if (lowLeafResult && lowLeafResult.alreadyPresent) {
17
17
  const preimage = await this.merkleDb.getLeafPreimage(MerkleTreeId.PUBLIC_DATA_TREE, lowLeafResult.index);
18
- value = preimage.value;
18
+ value = preimage.leaf.value;
19
19
  }
20
20
  return value;
21
21
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aztec/txe",
3
- "version": "0.82.3",
3
+ "version": "0.83.1-alpha-testnet.0",
4
4
  "type": "module",
5
5
  "exports": "./dest/index.js",
6
6
  "bin": "./dest/bin/index.js",
@@ -59,17 +59,17 @@
59
59
  ]
60
60
  },
61
61
  "dependencies": {
62
- "@aztec/accounts": "0.82.3",
63
- "@aztec/aztec.js": "0.82.3",
64
- "@aztec/constants": "0.82.3",
65
- "@aztec/foundation": "0.82.3",
66
- "@aztec/key-store": "0.82.3",
67
- "@aztec/kv-store": "0.82.3",
68
- "@aztec/protocol-contracts": "0.82.3",
69
- "@aztec/pxe": "0.82.3",
70
- "@aztec/simulator": "0.82.3",
71
- "@aztec/stdlib": "0.82.3",
72
- "@aztec/world-state": "0.82.3",
62
+ "@aztec/accounts": "0.83.1-alpha-testnet.0",
63
+ "@aztec/aztec.js": "0.83.1-alpha-testnet.0",
64
+ "@aztec/constants": "0.83.1-alpha-testnet.0",
65
+ "@aztec/foundation": "0.83.1-alpha-testnet.0",
66
+ "@aztec/key-store": "0.83.1-alpha-testnet.0",
67
+ "@aztec/kv-store": "0.83.1-alpha-testnet.0",
68
+ "@aztec/protocol-contracts": "0.83.1-alpha-testnet.0",
69
+ "@aztec/pxe": "0.83.1-alpha-testnet.0",
70
+ "@aztec/simulator": "0.83.1-alpha-testnet.0",
71
+ "@aztec/stdlib": "0.83.1-alpha-testnet.0",
72
+ "@aztec/world-state": "0.83.1-alpha-testnet.0",
73
73
  "zod": "^3.23.8"
74
74
  },
75
75
  "devDependencies": {
@@ -35,7 +35,7 @@ import type {
35
35
  SequencerConfig,
36
36
  WorldStateSyncStatus,
37
37
  } from '@aztec/stdlib/interfaces/server';
38
- import { type LogFilter, type PrivateLog, type PublicLog, TxScopedL2Log } from '@aztec/stdlib/logs';
38
+ import { type LogFilter, type PrivateLog, TxScopedL2Log } from '@aztec/stdlib/logs';
39
39
  import {
40
40
  MerkleTreeId,
41
41
  type NullifierMembershipWitness,
@@ -98,12 +98,12 @@ export class TXENode implements AztecNode {
98
98
  }
99
99
 
100
100
  /**
101
- * Sets a tx effect and receipt for a given block number.
101
+ * Processes a tx effect and receipt for a given block number.
102
102
  * @param blockNumber - The block number that this tx effect resides.
103
103
  * @param txHash - The transaction hash of the transaction.
104
104
  * @param effect - The tx effect to set.
105
105
  */
106
- async setTxEffect(blockNumber: number, txHash: TxHash, effect: TxEffect) {
106
+ async processTxEffect(blockNumber: number, txHash: TxHash, effect: TxEffect) {
107
107
  // We are not creating real blocks on which membership proofs can be constructed - we instead define its hash as
108
108
  // simply the hash of the block number.
109
109
  const blockHash = await poseidon2Hash([blockNumber]);
@@ -127,44 +127,45 @@ export class TXENode implements AztecNode {
127
127
  blockNumber,
128
128
  ),
129
129
  );
130
- }
131
130
 
132
- /**
133
- * Adds private logs to the txe node, given a block
134
- * @param blockNumber - The block number at which to add the private logs.
135
- * @param privateLogs - The privateLogs that contain the private logs to be added.
136
- */
137
- addPrivateLogsByTags(blockNumber: number, privateLogs: PrivateLog[]) {
138
- privateLogs.forEach(log => {
131
+ // Store the private logs
132
+ effect.privateLogs.forEach((log, logIndexInTx) => {
139
133
  const tag = log.fields[0];
140
134
  this.#logger.verbose(`Found private log with tag ${tag.toString()} in block ${this.getBlockNumber()}`);
141
135
 
142
136
  const currentLogs = this.#logsByTags.get(tag.toString()) ?? [];
143
- const scopedLog = new TxScopedL2Log(new TxHash(new Fr(blockNumber)), this.#noteIndex, blockNumber, log);
137
+ const scopedLog = new TxScopedL2Log(
138
+ new TxHash(new Fr(blockNumber)),
139
+ this.#noteIndex,
140
+ logIndexInTx,
141
+ blockNumber,
142
+ log,
143
+ );
144
144
  currentLogs.push(scopedLog);
145
145
  this.#logsByTags.set(tag.toString(), currentLogs);
146
146
  });
147
147
 
148
- this.#noteIndex += privateLogs.length;
149
- }
148
+ this.#noteIndex += effect.privateLogs.length;
150
149
 
151
- /**
152
- * Adds public logs to the txe node, given a block
153
- * @param blockNumber - The block number at which to add the public logs.
154
- * @param publicLogs - The public logs to be added.
155
- */
156
- addPublicLogsByTags(blockNumber: number, publicLogs: PublicLog[]) {
157
- publicLogs.forEach(log => {
150
+ // Store the public logs
151
+ effect.publicLogs.forEach((log, logIndexInTx) => {
158
152
  const tag = log.log[0];
159
153
  this.#logger.verbose(`Found public log with tag ${tag.toString()} in block ${this.getBlockNumber()}`);
160
154
 
161
155
  const currentLogs = this.#logsByTags.get(tag.toString()) ?? [];
162
- const scopedLog = new TxScopedL2Log(new TxHash(new Fr(blockNumber)), this.#noteIndex, blockNumber, log);
156
+ const scopedLog = new TxScopedL2Log(
157
+ new TxHash(new Fr(blockNumber)),
158
+ this.#noteIndex,
159
+ logIndexInTx,
160
+ blockNumber,
161
+ log,
162
+ );
163
163
 
164
164
  currentLogs.push(scopedLog);
165
165
  this.#logsByTags.set(tag.toString(), currentLogs);
166
166
  });
167
167
  }
168
+
168
169
  /**
169
170
  * Gets all logs that match any of the received tags (i.e. logs with their first field equal to a tag).
170
171
  * @param tags - The tags to filter the logs by.
@@ -580,7 +581,7 @@ export class TXENode implements AztecNode {
580
581
  MerkleTreeId.PUBLIC_DATA_TREE,
581
582
  lowLeafResult.index,
582
583
  )) as PublicDataTreeLeafPreimage;
583
- return preimage.value;
584
+ return preimage.leaf.value;
584
585
  }
585
586
 
586
587
  /**
@@ -23,6 +23,7 @@ import {
23
23
  ContractDataProvider,
24
24
  NoteDataProvider,
25
25
  PXEOracleInterface,
26
+ PrivateEventDataProvider,
26
27
  SyncDataProvider,
27
28
  TaggingDataProvider,
28
29
  enrichPublicSimulationError,
@@ -52,6 +53,7 @@ import {
52
53
  } from '@aztec/simulator/server';
53
54
  import {
54
55
  type ContractArtifact,
56
+ EventSelector,
55
57
  type FunctionAbi,
56
58
  FunctionSelector,
57
59
  type NoteSelector,
@@ -132,7 +134,7 @@ export class TXE implements TypedOracle {
132
134
 
133
135
  private committedBlocks = new Set<number>();
134
136
 
135
- private VERSION = 1;
137
+ private ROLLUP_VERSION = 1;
136
138
  private CHAIN_ID = 1;
137
139
 
138
140
  private node: TXENode;
@@ -152,6 +154,7 @@ export class TXE implements TypedOracle {
152
154
  private syncDataProvider: SyncDataProvider,
153
155
  private taggingDataProvider: TaggingDataProvider,
154
156
  private addressDataProvider: AddressDataProvider,
157
+ private privateEventDataProvider: PrivateEventDataProvider,
155
158
  private accountDataProvider: TXEAccountDataProvider,
156
159
  private executionCache: HashedValuesCache,
157
160
  private contractAddress: AztecAddress,
@@ -160,20 +163,20 @@ export class TXE implements TypedOracle {
160
163
  ) {
161
164
  this.noteCache = new ExecutionNoteCache(this.getTxRequestHash());
162
165
 
163
- this.node = new TXENode(this.blockNumber, this.VERSION, this.CHAIN_ID, nativeWorldStateService, baseFork);
166
+ this.node = new TXENode(this.blockNumber, this.ROLLUP_VERSION, this.CHAIN_ID, nativeWorldStateService, baseFork);
164
167
  // Default msg_sender (for entrypoints) is now Fr.max_value rather than 0 addr (see #7190 & #7404)
165
168
  this.msgSender = AztecAddress.fromField(Fr.MAX_FIELD_VALUE);
166
169
 
167
170
  this.pxeOracleInterface = new PXEOracleInterface(
168
171
  this.node,
169
172
  this.keyStore,
170
- this.simulationProvider,
171
173
  this.contractDataProvider,
172
174
  this.noteDataProvider,
173
175
  this.capsuleDataProvider,
174
176
  this.syncDataProvider,
175
177
  this.taggingDataProvider,
176
178
  this.addressDataProvider,
179
+ this.privateEventDataProvider,
177
180
  this.logger,
178
181
  );
179
182
  }
@@ -184,6 +187,7 @@ export class TXE implements TypedOracle {
184
187
  const baseFork = await nativeWorldStateService.fork();
185
188
 
186
189
  const addressDataProvider = new AddressDataProvider(store);
190
+ const privateEventDataProvider = new PrivateEventDataProvider(store);
187
191
  const contractDataProvider = new ContractDataProvider(store);
188
192
  const noteDataProvider = await NoteDataProvider.create(store);
189
193
  const syncDataProvider = new SyncDataProvider(store);
@@ -208,6 +212,7 @@ export class TXE implements TypedOracle {
208
212
  syncDataProvider,
209
213
  taggingDataProvider,
210
214
  addressDataProvider,
215
+ privateEventDataProvider,
211
216
  accountDataProvider,
212
217
  executionCache,
213
218
  await AztecAddress.random(),
@@ -671,7 +676,7 @@ export class TXE implements TypedOracle {
671
676
  MerkleTreeId.PUBLIC_DATA_TREE,
672
677
  lowLeafResult.index,
673
678
  )) as PublicDataTreeLeafPreimage;
674
- value = preimage.value;
679
+ value = preimage.leaf.value;
675
680
  }
676
681
  this.logger.debug(`Oracle storage read: slot=${storageSlot.toString()} value=${value}`);
677
682
  values.push(value);
@@ -726,6 +731,8 @@ export class TXE implements TypedOracle {
726
731
  }
727
732
 
728
733
  txEffect.publicDataWrites = this.publicDataWrites;
734
+ txEffect.privateLogs = this.privateLogs;
735
+ txEffect.publicLogs = this.publicLogs;
729
736
 
730
737
  const body = new Body([txEffect]);
731
738
 
@@ -765,9 +772,7 @@ export class TXE implements TypedOracle {
765
772
  }
766
773
  }
767
774
 
768
- await this.node.setTxEffect(blockNumber, new TxHash(new Fr(blockNumber)), txEffect);
769
- this.node.addPrivateLogsByTags(this.blockNumber, this.privateLogs);
770
- this.node.addPublicLogsByTags(this.blockNumber, this.publicLogs);
775
+ await this.node.processTxEffect(blockNumber, new TxHash(new Fr(blockNumber)), txEffect);
771
776
 
772
777
  const stateReference = await fork.getStateReference();
773
778
  const archiveInfo = await fork.getTreeInfo(MerkleTreeId.ARCHIVE);
@@ -1076,20 +1081,8 @@ export class TXE implements TypedOracle {
1076
1081
  return await this.pxeOracleInterface.getIndexedTaggingSecretAsSender(this.contractAddress, sender, recipient);
1077
1082
  }
1078
1083
 
1079
- async syncNotes() {
1080
- const taggedLogsByRecipient = await this.pxeOracleInterface.syncTaggedLogs(
1081
- this.contractAddress,
1082
- await this.getBlockNumber(),
1083
- undefined,
1084
- );
1085
-
1086
- for (const [recipient, taggedLogs] of taggedLogsByRecipient.entries()) {
1087
- await this.pxeOracleInterface.processTaggedLogs(
1088
- this.contractAddress,
1089
- taggedLogs,
1090
- AztecAddress.fromString(recipient),
1091
- );
1092
- }
1084
+ async syncNotes(pendingTaggedLogArrayBaseSlot: Fr) {
1085
+ await this.pxeOracleInterface.syncTaggedLogs(this.contractAddress, pendingTaggedLogArrayBaseSlot);
1093
1086
 
1094
1087
  await this.pxeOracleInterface.removeNullifiedNotes(this.contractAddress);
1095
1088
 
@@ -1212,7 +1205,7 @@ export class TXE implements TypedOracle {
1212
1205
  lowLeafResult.index,
1213
1206
  )) as PublicDataTreeLeafPreimage;
1214
1207
 
1215
- return preimage.value;
1208
+ return preimage.leaf.value;
1216
1209
  }
1217
1210
 
1218
1211
  storeCapsule(contractAddress: AztecAddress, slot: Fr, capsule: Fr[]): Promise<void> {
@@ -1255,4 +1248,22 @@ export class TXE implements TypedOracle {
1255
1248
  getSharedSecret(address: AztecAddress, ephPk: Point): Promise<Point> {
1256
1249
  return this.pxeOracleInterface.getSharedSecret(address, ephPk);
1257
1250
  }
1251
+
1252
+ storePrivateEventLog(
1253
+ contractAddress: AztecAddress,
1254
+ recipient: AztecAddress,
1255
+ eventSelector: EventSelector,
1256
+ logContent: Fr[],
1257
+ txHash: TxHash,
1258
+ logIndexInTx: number,
1259
+ ): Promise<void> {
1260
+ return this.pxeOracleInterface.storePrivateEventLog(
1261
+ contractAddress,
1262
+ recipient,
1263
+ eventSelector,
1264
+ logContent,
1265
+ txHash,
1266
+ logIndexInTx,
1267
+ );
1268
+ }
1258
1269
  }
@@ -1,11 +1,11 @@
1
- import { type ContractInstanceWithAddress, Fr, Point } from '@aztec/aztec.js';
1
+ import { type ContractInstanceWithAddress, Fr, Point, TxHash } 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/simulator/client';
8
- import { type ContractArtifact, FunctionSelector, NoteSelector } from '@aztec/stdlib/abi';
8
+ import { type ContractArtifact, EventSelector, 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';
@@ -516,8 +516,8 @@ export class TXEService {
516
516
  return toForeignCallResult(secret.toFields().map(toSingle));
517
517
  }
518
518
 
519
- async syncNotes() {
520
- await this.typedOracle.syncNotes();
519
+ async syncNotes(pendingTaggedLogArrayBaseSlot: ForeignCallSingle) {
520
+ await this.typedOracle.syncNotes(fromSingle(pendingTaggedLogArrayBaseSlot));
521
521
  return toForeignCallResult([]);
522
522
  }
523
523
 
@@ -622,14 +622,38 @@ export class TXEService {
622
622
  return toForeignCallResult(arrayToBoundedVec(bufferToU8Array(plaintextBuffer), ciphertextBVecStorage.length));
623
623
  }
624
624
 
625
- async getSharedSecret(address: ForeignCallSingle, ephPk: ForeignCallArray) {
625
+ async getSharedSecret(
626
+ address: ForeignCallSingle,
627
+ ephPKField0: ForeignCallSingle,
628
+ ephPKField1: ForeignCallSingle,
629
+ ephPKField2: ForeignCallSingle,
630
+ ) {
626
631
  const secret = await this.typedOracle.getSharedSecret(
627
632
  AztecAddress.fromField(fromSingle(address)),
628
- Point.fromFields(fromArray(ephPk)),
633
+ Point.fromFields([fromSingle(ephPKField0), fromSingle(ephPKField1), fromSingle(ephPKField2)]),
629
634
  );
630
635
  return toForeignCallResult(secret.toFields().map(toSingle));
631
636
  }
632
637
 
638
+ async storePrivateEventLog(
639
+ contractAddress: ForeignCallSingle,
640
+ recipient: ForeignCallSingle,
641
+ eventSelector: ForeignCallSingle,
642
+ logContent: ForeignCallArray,
643
+ txHash: ForeignCallSingle,
644
+ logIndexInTx: ForeignCallSingle,
645
+ ) {
646
+ await this.typedOracle.storePrivateEventLog(
647
+ AztecAddress.fromField(fromSingle(contractAddress)),
648
+ AztecAddress.fromField(fromSingle(recipient)),
649
+ EventSelector.fromField(fromSingle(eventSelector)),
650
+ fromArray(logContent),
651
+ new TxHash(fromSingle(txHash)),
652
+ fromSingle(logIndexInTx).toNumber(),
653
+ );
654
+ return toForeignCallResult([]);
655
+ }
656
+
633
657
  // AVM opcodes
634
658
 
635
659
  avmOpcodeEmitUnencryptedLog(_message: ForeignCallArray) {
@@ -638,8 +662,8 @@ export class TXEService {
638
662
  }
639
663
 
640
664
  async avmOpcodeStorageRead(slot: ForeignCallSingle) {
641
- const value = await (this.typedOracle as TXE).avmOpcodeStorageRead(fromSingle(slot));
642
- return toForeignCallResult([toSingle(value)]);
665
+ const value = (await (this.typedOracle as TXE).avmOpcodeStorageRead(fromSingle(slot))).value;
666
+ return toForeignCallResult([toSingle(new Fr(value))]);
643
667
  }
644
668
 
645
669
  async avmOpcodeStorageWrite(slot: ForeignCallSingle, value: ForeignCallSingle) {
@@ -24,7 +24,7 @@ export class TXEPublicTreesDB extends PublicTreesDB {
24
24
  MerkleTreeId.PUBLIC_DATA_TREE,
25
25
  lowLeafResult.index,
26
26
  )) as PublicDataTreeLeafPreimage;
27
- value = preimage.value;
27
+ value = preimage.leaf.value;
28
28
  }
29
29
  return value;
30
30
  }