@aztec/sequencer-client 0.31.0 → 0.32.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dest/client/sequencer-client.d.ts +8 -8
- package/dest/client/sequencer-client.d.ts.map +1 -1
- package/dest/client/sequencer-client.js +4 -3
- package/dest/config.d.ts +3 -3
- package/dest/config.d.ts.map +1 -1
- package/dest/config.js +7 -3
- package/dest/global_variable_builder/config.d.ts +1 -1
- package/dest/global_variable_builder/config.d.ts.map +1 -1
- package/dest/global_variable_builder/global_builder.d.ts +1 -1
- package/dest/global_variable_builder/global_builder.d.ts.map +1 -1
- package/dest/global_variable_builder/global_builder.js +1 -1
- package/dest/global_variable_builder/index.d.ts +2 -2
- package/dest/global_variable_builder/index.d.ts.map +1 -1
- package/dest/global_variable_builder/index.js +1 -1
- package/dest/global_variable_builder/viem-reader.d.ts +2 -2
- package/dest/global_variable_builder/viem-reader.d.ts.map +1 -1
- package/dest/publisher/config.d.ts +1 -1
- package/dest/publisher/config.d.ts.map +1 -1
- package/dest/publisher/index.d.ts +1 -1
- package/dest/publisher/index.d.ts.map +1 -1
- package/dest/publisher/l1-publisher.d.ts +3 -3
- package/dest/publisher/l1-publisher.d.ts.map +1 -1
- package/dest/publisher/viem-tx-sender.d.ts +3 -3
- package/dest/publisher/viem-tx-sender.d.ts.map +1 -1
- package/dest/publisher/viem-tx-sender.js +1 -1
- package/dest/receiver.d.ts +1 -1
- package/dest/receiver.d.ts.map +1 -1
- package/dest/sequencer/abstract_phase_manager.d.ts +7 -7
- package/dest/sequencer/abstract_phase_manager.d.ts.map +1 -1
- package/dest/sequencer/abstract_phase_manager.js +1 -1
- package/dest/sequencer/app_logic_phase_manager.d.ts +6 -6
- package/dest/sequencer/app_logic_phase_manager.d.ts.map +1 -1
- package/dest/sequencer/app_logic_phase_manager.js +1 -1
- package/dest/sequencer/hints_builder.d.ts +3 -3
- package/dest/sequencer/hints_builder.d.ts.map +1 -1
- package/dest/sequencer/phase_manager_factory.d.ts +7 -7
- package/dest/sequencer/phase_manager_factory.d.ts.map +1 -1
- package/dest/sequencer/phase_manager_factory.js +1 -1
- package/dest/sequencer/public_processor.d.ts +7 -8
- package/dest/sequencer/public_processor.d.ts.map +1 -1
- package/dest/sequencer/public_processor.js +5 -5
- package/dest/sequencer/sequencer.d.ts +15 -12
- package/dest/sequencer/sequencer.d.ts.map +1 -1
- package/dest/sequencer/sequencer.js +13 -13
- package/dest/sequencer/setup_phase_manager.d.ts +6 -6
- package/dest/sequencer/setup_phase_manager.d.ts.map +1 -1
- package/dest/sequencer/setup_phase_manager.js +1 -1
- package/dest/sequencer/tail_phase_manager.d.ts +6 -6
- package/dest/sequencer/tail_phase_manager.d.ts.map +1 -1
- package/dest/sequencer/tail_phase_manager.js +1 -1
- package/dest/sequencer/teardown_phase_manager.d.ts +6 -6
- package/dest/sequencer/teardown_phase_manager.d.ts.map +1 -1
- package/dest/sequencer/teardown_phase_manager.js +1 -1
- package/dest/sequencer/tx_validator.d.ts +10 -3
- package/dest/sequencer/tx_validator.d.ts.map +1 -1
- package/dest/sequencer/tx_validator.js +59 -24
- package/dest/sequencer/tx_validator_factory.d.ts +12 -0
- package/dest/sequencer/tx_validator_factory.d.ts.map +1 -0
- package/dest/sequencer/tx_validator_factory.js +17 -0
- package/dest/sequencer/utils.d.ts +1 -1
- package/dest/sequencer/utils.d.ts.map +1 -1
- package/dest/simulator/index.d.ts +1 -1
- package/dest/simulator/index.d.ts.map +1 -1
- package/dest/simulator/public_executor.d.ts +6 -7
- package/dest/simulator/public_executor.d.ts.map +1 -1
- package/dest/simulator/public_executor.js +8 -9
- package/dest/simulator/public_kernel.d.ts +3 -3
- package/dest/simulator/public_kernel.d.ts.map +1 -1
- package/dest/simulator/public_kernel.js +1 -1
- package/package.json +13 -13
- package/src/client/sequencer-client.ts +11 -15
- package/src/config.ts +12 -6
- package/src/global_variable_builder/config.ts +1 -1
- package/src/global_variable_builder/global_builder.ts +1 -1
- package/src/global_variable_builder/index.ts +2 -2
- package/src/global_variable_builder/viem-reader.ts +6 -6
- package/src/publisher/config.ts +1 -1
- package/src/publisher/index.ts +1 -1
- package/src/publisher/l1-publisher.ts +4 -4
- package/src/publisher/viem-tx-sender.ts +12 -12
- package/src/receiver.ts +1 -1
- package/src/sequencer/abstract_phase_manager.ts +16 -16
- package/src/sequencer/app_logic_phase_manager.ts +11 -6
- package/src/sequencer/hints_builder.ts +9 -9
- package/src/sequencer/phase_manager_factory.ts +7 -7
- package/src/sequencer/public_processor.ts +13 -13
- package/src/sequencer/sequencer.ts +24 -23
- package/src/sequencer/setup_phase_manager.ts +11 -6
- package/src/sequencer/tail_phase_manager.ts +11 -6
- package/src/sequencer/teardown_phase_manager.ts +11 -6
- package/src/sequencer/tx_validator.ts +87 -28
- package/src/sequencer/tx_validator_factory.ts +32 -0
- package/src/sequencer/utils.ts +1 -1
- package/src/simulator/index.ts +3 -3
- package/src/simulator/public_executor.ts +25 -26
- package/src/simulator/public_kernel.ts +6 -6
|
@@ -1,28 +1,31 @@
|
|
|
1
|
+
import { MerkleTreeId, NullifierMembershipWitness, type Tx } from '@aztec/circuit-types';
|
|
1
2
|
import {
|
|
2
|
-
|
|
3
|
-
MerkleTreeId,
|
|
4
|
-
NullifierMembershipWitness,
|
|
5
|
-
Tx,
|
|
6
|
-
UnencryptedL2Log,
|
|
7
|
-
} from '@aztec/circuit-types';
|
|
8
|
-
import {
|
|
9
|
-
AztecAddress,
|
|
3
|
+
type AztecAddress,
|
|
10
4
|
ContractClassRegisteredEvent,
|
|
11
5
|
ContractInstanceDeployedEvent,
|
|
12
|
-
EthAddress,
|
|
6
|
+
type EthAddress,
|
|
13
7
|
Fr,
|
|
14
|
-
FunctionSelector,
|
|
15
|
-
L1_TO_L2_MSG_TREE_HEIGHT,
|
|
16
|
-
NULLIFIER_TREE_HEIGHT,
|
|
17
|
-
NullifierLeafPreimage,
|
|
18
|
-
PublicDataTreeLeafPreimage,
|
|
8
|
+
type FunctionSelector,
|
|
9
|
+
type L1_TO_L2_MSG_TREE_HEIGHT,
|
|
10
|
+
type NULLIFIER_TREE_HEIGHT,
|
|
11
|
+
type NullifierLeafPreimage,
|
|
12
|
+
type PublicDataTreeLeafPreimage,
|
|
19
13
|
} from '@aztec/circuits.js';
|
|
20
14
|
import { computeL1ToL2MessageNullifier, computePublicDataTreeLeafSlot } from '@aztec/circuits.js/hash';
|
|
21
15
|
import { createDebugLogger } from '@aztec/foundation/log';
|
|
22
16
|
import { getCanonicalClassRegistererAddress } from '@aztec/protocol-contracts/class-registerer';
|
|
23
|
-
import {
|
|
24
|
-
|
|
25
|
-
|
|
17
|
+
import {
|
|
18
|
+
type CommitmentsDB,
|
|
19
|
+
MessageLoadOracleInputs,
|
|
20
|
+
type PublicContractsDB,
|
|
21
|
+
type PublicStateDB,
|
|
22
|
+
} from '@aztec/simulator';
|
|
23
|
+
import {
|
|
24
|
+
type ContractClassPublic,
|
|
25
|
+
type ContractDataSource,
|
|
26
|
+
type ContractInstanceWithAddress,
|
|
27
|
+
} from '@aztec/types/contracts';
|
|
28
|
+
import { type MerkleTreeOperations } from '@aztec/world-state';
|
|
26
29
|
|
|
27
30
|
/**
|
|
28
31
|
* Implements the PublicContractsDB using a ContractDataSource.
|
|
@@ -42,7 +45,7 @@ export class ContractsDataSourcePublicDB implements PublicContractsDB {
|
|
|
42
45
|
*/
|
|
43
46
|
public addNewContracts(tx: Tx): Promise<void> {
|
|
44
47
|
// Extract contract class and instance data from logs and add to cache for this block
|
|
45
|
-
const logs = tx.unencryptedLogs.unrollLogs()
|
|
48
|
+
const logs = tx.unencryptedLogs.unrollLogs();
|
|
46
49
|
ContractClassRegisteredEvent.fromLogs(logs, getCanonicalClassRegistererAddress()).forEach(e => {
|
|
47
50
|
this.log(`Adding class ${e.contractClassId.toString()} to public execution contract cache`);
|
|
48
51
|
this.classCache.set(e.contractClassId.toString(), e.toContractClassPublic());
|
|
@@ -65,7 +68,7 @@ export class ContractsDataSourcePublicDB implements PublicContractsDB {
|
|
|
65
68
|
// TODO(@spalladino): Can this inadvertently delete a valid contract added by another tx?
|
|
66
69
|
// Let's say we have two txs adding the same contract on the same block. If the 2nd one reverts,
|
|
67
70
|
// wouldn't that accidentally remove the contract added on the first one?
|
|
68
|
-
const logs = tx.unencryptedLogs.unrollLogs()
|
|
71
|
+
const logs = tx.unencryptedLogs.unrollLogs();
|
|
69
72
|
ContractClassRegisteredEvent.fromLogs(logs, getCanonicalClassRegistererAddress()).forEach(e =>
|
|
70
73
|
this.classCache.delete(e.contractClassId.toString()),
|
|
71
74
|
);
|
|
@@ -198,7 +201,7 @@ export class WorldStatePublicDB implements PublicStateDB {
|
|
|
198
201
|
* Implements WorldState db using a world state database.
|
|
199
202
|
*/
|
|
200
203
|
export class WorldStateDB implements CommitmentsDB {
|
|
201
|
-
constructor(private db: MerkleTreeOperations
|
|
204
|
+
constructor(private db: MerkleTreeOperations) {}
|
|
202
205
|
|
|
203
206
|
public async getNullifierMembershipWitnessAtLatestBlock(
|
|
204
207
|
nullifier: Fr,
|
|
@@ -235,11 +238,7 @@ export class WorldStateDB implements CommitmentsDB {
|
|
|
235
238
|
// We iterate over messages until we find one whose nullifier is not in the nullifier tree --> we need to check
|
|
236
239
|
// for nullifiers because messages can have duplicates.
|
|
237
240
|
do {
|
|
238
|
-
messageIndex = (await this.db.findLeafIndexAfter(
|
|
239
|
-
MerkleTreeId.L1_TO_L2_MESSAGE_TREE,
|
|
240
|
-
messageHash.toBuffer(),
|
|
241
|
-
startIndex,
|
|
242
|
-
))!;
|
|
241
|
+
messageIndex = (await this.db.findLeafIndexAfter(MerkleTreeId.L1_TO_L2_MESSAGE_TREE, messageHash, startIndex))!;
|
|
243
242
|
if (messageIndex === undefined) {
|
|
244
243
|
throw new Error(`No non-nullified L1 to L2 message found for message hash ${messageHash.toString()}`);
|
|
245
244
|
}
|
|
@@ -259,7 +258,7 @@ export class WorldStateDB implements CommitmentsDB {
|
|
|
259
258
|
}
|
|
260
259
|
|
|
261
260
|
public async getCommitmentIndex(commitment: Fr): Promise<bigint | undefined> {
|
|
262
|
-
return await this.db.findLeafIndex(MerkleTreeId.NOTE_HASH_TREE, commitment
|
|
261
|
+
return await this.db.findLeafIndex(MerkleTreeId.NOTE_HASH_TREE, commitment);
|
|
263
262
|
}
|
|
264
263
|
|
|
265
264
|
public async getNullifierIndex(nullifier: Fr): Promise<bigint | undefined> {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { CircuitSimulationStats } from '@aztec/circuit-types/stats';
|
|
1
|
+
import { type CircuitSimulationStats } from '@aztec/circuit-types/stats';
|
|
2
2
|
import {
|
|
3
|
-
PublicKernelCircuitPrivateInputs,
|
|
4
|
-
PublicKernelCircuitPublicInputs,
|
|
5
|
-
PublicKernelTailCircuitPrivateInputs,
|
|
3
|
+
type PublicKernelCircuitPrivateInputs,
|
|
4
|
+
type PublicKernelCircuitPublicInputs,
|
|
5
|
+
type PublicKernelTailCircuitPrivateInputs,
|
|
6
6
|
} from '@aztec/circuits.js';
|
|
7
7
|
import { createDebugLogger } from '@aztec/foundation/log';
|
|
8
8
|
import { elapsed } from '@aztec/foundation/timer';
|
|
@@ -20,9 +20,9 @@ import {
|
|
|
20
20
|
convertPublicTeardownRollupInputsToWitnessMap,
|
|
21
21
|
convertPublicTeardownRollupOutputFromWitnessMap,
|
|
22
22
|
} from '@aztec/noir-protocol-circuits-types';
|
|
23
|
-
import { SimulationProvider, WASMSimulator } from '@aztec/simulator';
|
|
23
|
+
import { type SimulationProvider, WASMSimulator } from '@aztec/simulator';
|
|
24
24
|
|
|
25
|
-
import { PublicKernelCircuitSimulator } from './index.js';
|
|
25
|
+
import { type PublicKernelCircuitSimulator } from './index.js';
|
|
26
26
|
|
|
27
27
|
/**
|
|
28
28
|
* Implements the PublicKernelCircuitSimulator.
|