@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.
Files changed (96) hide show
  1. package/dest/client/sequencer-client.d.ts +8 -8
  2. package/dest/client/sequencer-client.d.ts.map +1 -1
  3. package/dest/client/sequencer-client.js +4 -3
  4. package/dest/config.d.ts +3 -3
  5. package/dest/config.d.ts.map +1 -1
  6. package/dest/config.js +7 -3
  7. package/dest/global_variable_builder/config.d.ts +1 -1
  8. package/dest/global_variable_builder/config.d.ts.map +1 -1
  9. package/dest/global_variable_builder/global_builder.d.ts +1 -1
  10. package/dest/global_variable_builder/global_builder.d.ts.map +1 -1
  11. package/dest/global_variable_builder/global_builder.js +1 -1
  12. package/dest/global_variable_builder/index.d.ts +2 -2
  13. package/dest/global_variable_builder/index.d.ts.map +1 -1
  14. package/dest/global_variable_builder/index.js +1 -1
  15. package/dest/global_variable_builder/viem-reader.d.ts +2 -2
  16. package/dest/global_variable_builder/viem-reader.d.ts.map +1 -1
  17. package/dest/publisher/config.d.ts +1 -1
  18. package/dest/publisher/config.d.ts.map +1 -1
  19. package/dest/publisher/index.d.ts +1 -1
  20. package/dest/publisher/index.d.ts.map +1 -1
  21. package/dest/publisher/l1-publisher.d.ts +3 -3
  22. package/dest/publisher/l1-publisher.d.ts.map +1 -1
  23. package/dest/publisher/viem-tx-sender.d.ts +3 -3
  24. package/dest/publisher/viem-tx-sender.d.ts.map +1 -1
  25. package/dest/publisher/viem-tx-sender.js +1 -1
  26. package/dest/receiver.d.ts +1 -1
  27. package/dest/receiver.d.ts.map +1 -1
  28. package/dest/sequencer/abstract_phase_manager.d.ts +7 -7
  29. package/dest/sequencer/abstract_phase_manager.d.ts.map +1 -1
  30. package/dest/sequencer/abstract_phase_manager.js +1 -1
  31. package/dest/sequencer/app_logic_phase_manager.d.ts +6 -6
  32. package/dest/sequencer/app_logic_phase_manager.d.ts.map +1 -1
  33. package/dest/sequencer/app_logic_phase_manager.js +1 -1
  34. package/dest/sequencer/hints_builder.d.ts +3 -3
  35. package/dest/sequencer/hints_builder.d.ts.map +1 -1
  36. package/dest/sequencer/phase_manager_factory.d.ts +7 -7
  37. package/dest/sequencer/phase_manager_factory.d.ts.map +1 -1
  38. package/dest/sequencer/phase_manager_factory.js +1 -1
  39. package/dest/sequencer/public_processor.d.ts +7 -8
  40. package/dest/sequencer/public_processor.d.ts.map +1 -1
  41. package/dest/sequencer/public_processor.js +5 -5
  42. package/dest/sequencer/sequencer.d.ts +15 -12
  43. package/dest/sequencer/sequencer.d.ts.map +1 -1
  44. package/dest/sequencer/sequencer.js +13 -13
  45. package/dest/sequencer/setup_phase_manager.d.ts +6 -6
  46. package/dest/sequencer/setup_phase_manager.d.ts.map +1 -1
  47. package/dest/sequencer/setup_phase_manager.js +1 -1
  48. package/dest/sequencer/tail_phase_manager.d.ts +6 -6
  49. package/dest/sequencer/tail_phase_manager.d.ts.map +1 -1
  50. package/dest/sequencer/tail_phase_manager.js +1 -1
  51. package/dest/sequencer/teardown_phase_manager.d.ts +6 -6
  52. package/dest/sequencer/teardown_phase_manager.d.ts.map +1 -1
  53. package/dest/sequencer/teardown_phase_manager.js +1 -1
  54. package/dest/sequencer/tx_validator.d.ts +10 -3
  55. package/dest/sequencer/tx_validator.d.ts.map +1 -1
  56. package/dest/sequencer/tx_validator.js +59 -24
  57. package/dest/sequencer/tx_validator_factory.d.ts +12 -0
  58. package/dest/sequencer/tx_validator_factory.d.ts.map +1 -0
  59. package/dest/sequencer/tx_validator_factory.js +17 -0
  60. package/dest/sequencer/utils.d.ts +1 -1
  61. package/dest/sequencer/utils.d.ts.map +1 -1
  62. package/dest/simulator/index.d.ts +1 -1
  63. package/dest/simulator/index.d.ts.map +1 -1
  64. package/dest/simulator/public_executor.d.ts +6 -7
  65. package/dest/simulator/public_executor.d.ts.map +1 -1
  66. package/dest/simulator/public_executor.js +8 -9
  67. package/dest/simulator/public_kernel.d.ts +3 -3
  68. package/dest/simulator/public_kernel.d.ts.map +1 -1
  69. package/dest/simulator/public_kernel.js +1 -1
  70. package/package.json +13 -13
  71. package/src/client/sequencer-client.ts +11 -15
  72. package/src/config.ts +12 -6
  73. package/src/global_variable_builder/config.ts +1 -1
  74. package/src/global_variable_builder/global_builder.ts +1 -1
  75. package/src/global_variable_builder/index.ts +2 -2
  76. package/src/global_variable_builder/viem-reader.ts +6 -6
  77. package/src/publisher/config.ts +1 -1
  78. package/src/publisher/index.ts +1 -1
  79. package/src/publisher/l1-publisher.ts +4 -4
  80. package/src/publisher/viem-tx-sender.ts +12 -12
  81. package/src/receiver.ts +1 -1
  82. package/src/sequencer/abstract_phase_manager.ts +16 -16
  83. package/src/sequencer/app_logic_phase_manager.ts +11 -6
  84. package/src/sequencer/hints_builder.ts +9 -9
  85. package/src/sequencer/phase_manager_factory.ts +7 -7
  86. package/src/sequencer/public_processor.ts +13 -13
  87. package/src/sequencer/sequencer.ts +24 -23
  88. package/src/sequencer/setup_phase_manager.ts +11 -6
  89. package/src/sequencer/tail_phase_manager.ts +11 -6
  90. package/src/sequencer/teardown_phase_manager.ts +11 -6
  91. package/src/sequencer/tx_validator.ts +87 -28
  92. package/src/sequencer/tx_validator_factory.ts +32 -0
  93. package/src/sequencer/utils.ts +1 -1
  94. package/src/simulator/index.ts +3 -3
  95. package/src/simulator/public_executor.ts +25 -26
  96. 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
- L1ToL2MessageSource,
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 { CommitmentsDB, MessageLoadOracleInputs, PublicContractsDB, PublicStateDB } from '@aztec/simulator';
24
- import { ContractClassPublic, ContractDataSource, ContractInstanceWithAddress } from '@aztec/types/contracts';
25
- import { MerkleTreeOperations } from '@aztec/world-state';
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().map(UnencryptedL2Log.fromBuffer);
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().map(UnencryptedL2Log.fromBuffer);
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, private l1ToL2MessageSource: L1ToL2MessageSource) {}
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.toBuffer());
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.