@aztec/sequencer-client 0.8.8 → 0.8.10

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 (36) hide show
  1. package/dest/block_builder/solo_block_builder.d.ts.map +1 -1
  2. package/dest/block_builder/solo_block_builder.js +3 -4
  3. package/dest/client/sequencer-client.d.ts +6 -1
  4. package/dest/client/sequencer-client.d.ts.map +1 -1
  5. package/dest/client/sequencer-client.js +8 -1
  6. package/dest/config.d.ts +9 -1
  7. package/dest/config.d.ts.map +1 -1
  8. package/dest/config.js +1 -1
  9. package/dest/publisher/index.d.ts +0 -27
  10. package/dest/publisher/index.d.ts.map +1 -1
  11. package/dest/publisher/index.js +1 -1
  12. package/dest/publisher/l1-publisher.d.ts.map +1 -1
  13. package/dest/publisher/l1-publisher.js +1 -1
  14. package/dest/sequencer/config.d.ts +0 -8
  15. package/dest/sequencer/config.d.ts.map +1 -1
  16. package/dest/sequencer/sequencer.d.ts +6 -1
  17. package/dest/sequencer/sequencer.d.ts.map +1 -1
  18. package/dest/sequencer/sequencer.js +26 -11
  19. package/dest/simulator/public_executor.d.ts +1 -1
  20. package/dest/simulator/public_executor.d.ts.map +1 -1
  21. package/dest/simulator/public_executor.js +5 -5
  22. package/dest/simulator/public_kernel.d.ts.map +1 -1
  23. package/dest/simulator/public_kernel.js +5 -5
  24. package/dest/simulator/rollup.d.ts.map +1 -1
  25. package/dest/simulator/rollup.js +7 -7
  26. package/package.json +10 -10
  27. package/src/block_builder/solo_block_builder.ts +8 -3
  28. package/src/client/sequencer-client.ts +9 -1
  29. package/src/config.ts +13 -1
  30. package/src/publisher/index.ts +0 -28
  31. package/src/publisher/l1-publisher.ts +1 -1
  32. package/src/sequencer/config.ts +0 -10
  33. package/src/sequencer/sequencer.ts +28 -12
  34. package/src/simulator/public_executor.ts +5 -4
  35. package/src/simulator/public_kernel.ts +7 -6
  36. package/src/simulator/rollup.ts +10 -9
@@ -2,8 +2,8 @@ var _ContractsDataSourcePublicDB_instances, _ContractsDataSourcePublicDB_getCont
2
2
  import { __classPrivateFieldGet } from "tslib";
3
3
  import { PublicExecutor, } from '@aztec/acir-simulator';
4
4
  import { CircuitsWasm, Fr } from '@aztec/circuits.js';
5
+ import { computePublicDataTreeIndex } from '@aztec/circuits.js/abis';
5
6
  import { MerkleTreeId } from '@aztec/types';
6
- import { computePublicDataTreeLeafIndex } from '@aztec/world-state';
7
7
  /**
8
8
  * Returns a new PublicExecutor simulator backed by the supplied merkle tree db and contract data source.
9
9
  * @param merkleTree - A merkle tree database.
@@ -15,7 +15,7 @@ export function getPublicExecutor(merkleTree, publicContractsDB, l1toL2MessageSo
15
15
  }
16
16
  /**
17
17
  * Implements the PublicContractsDB using a ContractDataSource.
18
- * Progresively records contracts in transaction as they are processed in a block.
18
+ * Progressively records contracts in transaction as they are processed in a block.
19
19
  */
20
20
  export class ContractsDataSourcePublicDB {
21
21
  constructor(db) {
@@ -82,7 +82,7 @@ class WorldStatePublicDB {
82
82
  * @returns The current value in the storage slot.
83
83
  */
84
84
  async storageRead(contract, slot) {
85
- const index = computePublicDataTreeLeafIndex(contract, slot, await CircuitsWasm.get());
85
+ const index = computePublicDataTreeIndex(await CircuitsWasm.get(), contract, slot).value;
86
86
  const cached = this.writeCache.get(index);
87
87
  if (cached !== undefined)
88
88
  return cached;
@@ -96,7 +96,7 @@ class WorldStatePublicDB {
96
96
  * @param newValue - The new value to store.
97
97
  */
98
98
  async storageWrite(contract, slot, newValue) {
99
- const index = computePublicDataTreeLeafIndex(contract, slot, await CircuitsWasm.get());
99
+ const index = computePublicDataTreeIndex(await CircuitsWasm.get(), contract, slot).value;
100
100
  this.writeCache.set(index, newValue);
101
101
  }
102
102
  }
@@ -123,4 +123,4 @@ export class WorldStateDB {
123
123
  return await this.db.findLeafIndex(MerkleTreeId.PRIVATE_DATA_TREE, commitment.toBuffer());
124
124
  }
125
125
  }
126
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2V4ZWN1dG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NpbXVsYXRvci9wdWJsaWNfZXhlY3V0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBSUwsY0FBYyxHQUVmLE1BQU0sdUJBQXVCLENBQUM7QUFDL0IsT0FBTyxFQUFnQixZQUFZLEVBQWMsRUFBRSxFQUF1QyxNQUFNLG9CQUFvQixDQUFDO0FBQ3JILE9BQU8sRUFBaUUsWUFBWSxFQUFNLE1BQU0sY0FBYyxDQUFDO0FBQy9HLE9BQU8sRUFBd0IsOEJBQThCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUUxRjs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSxpQkFBaUIsQ0FDL0IsVUFBZ0MsRUFDaEMsaUJBQW9DLEVBQ3BDLG1CQUF3QyxFQUN4QyxTQUE0QjtJQUU1QixPQUFPLElBQUksY0FBYyxDQUN2QixJQUFJLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxFQUNsQyxpQkFBaUIsRUFDakIsSUFBSSxZQUFZLENBQUMsVUFBVSxFQUFFLG1CQUFtQixDQUFDLEVBQ2pELFNBQVMsQ0FDVixDQUFDO0FBQ0osQ0FBQztBQUVEOzs7R0FHRztBQUNILE1BQU0sT0FBTywyQkFBMkI7SUFHdEMsWUFBb0IsRUFBc0I7O1FBQXRCLE9BQUUsR0FBRixFQUFFLENBQW9CO1FBRjFDLFVBQUssR0FBRyxJQUFJLEdBQUcsRUFBZ0MsQ0FBQztJQUVILENBQUM7SUFFOUM7OztPQUdHO0lBQ0ksZUFBZSxDQUFDLEVBQU07UUFDM0IsS0FBSyxNQUFNLFFBQVEsSUFBSSxFQUFFLENBQUMsWUFBWSxFQUFFO1lBQ3RDLE1BQU0sZUFBZSxHQUFHLFFBQVEsQ0FBQyxZQUFZLENBQUMsZUFBZSxDQUFDO1lBRTlELElBQUksZUFBZSxDQUFDLE1BQU0sRUFBRSxFQUFFO2dCQUM1QixTQUFTO2FBQ1Y7WUFFRCxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxlQUFlLENB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
126
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2V4ZWN1dG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NpbXVsYXRvci9wdWJsaWNfZXhlY3V0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBSUwsY0FBYyxHQUVmLE1BQU0sdUJBQXVCLENBQUM7QUFDL0IsT0FBTyxFQUFnQixZQUFZLEVBQWMsRUFBRSxFQUF1QyxNQUFNLG9CQUFvQixDQUFDO0FBQ3JILE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3JFLE9BQU8sRUFBaUUsWUFBWSxFQUFNLE1BQU0sY0FBYyxDQUFDO0FBRy9HOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLGlCQUFpQixDQUMvQixVQUFnQyxFQUNoQyxpQkFBb0MsRUFDcEMsbUJBQXdDLEVBQ3hDLFNBQTRCO0lBRTVCLE9BQU8sSUFBSSxjQUFjLENBQ3ZCLElBQUksa0JBQWtCLENBQUMsVUFBVSxDQUFDLEVBQ2xDLGlCQUFpQixFQUNqQixJQUFJLFlBQVksQ0FBQyxVQUFVLEVBQUUsbUJBQW1CLENBQUMsRUFDakQsU0FBUyxDQUNWLENBQUM7QUFDSixDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLDJCQUEyQjtJQUd0QyxZQUFvQixFQUFzQjs7UUFBdEIsT0FBRSxHQUFGLEVBQUUsQ0FBb0I7UUFGMUMsVUFBSyxHQUFHLElBQUksR0FBRyxFQUFnQyxDQUFDO0lBRUgsQ0FBQztJQUU5Qzs7O09BR0c7SUFDSSxlQUFlLENBQUMsRUFBTTtRQUMzQixLQUFLLE1BQU0sUUFBUSxJQUFJLEVBQUUsQ0FBQyxZQUFZLEVBQUU7WUFDdEMsTUFBTSxlQUFlLEdBQUcsUUFBUSxDQUFDLFlBQVksQ0FBQyxlQUFlLENBQUM7WUFFOUQsSUFBSSxlQUFlLENBQUMsTUFBTSxFQUFFLEVBQUU7Z0JBQzVCLFNBQVM7YUFDVjtZQUVELElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FB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
@@ -1 +1 @@
1
- {"version":3,"file":"public_kernel.d.ts","sourceRoot":"","sources":["../../src/simulator/public_kernel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAA+B,MAAM,oBAAoB,CAAC;AAI/G,OAAO,EAAE,4BAA4B,EAAE,MAAM,YAAY,CAAC;AAE1D;;GAEG;AACH,qBAAa,gCAAiC,YAAW,4BAA4B;IACnF,OAAO,CAAC,GAAG,CAAsD;IAEjE;;;;OAIG;IACU,+BAA+B,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAa1G;;;;OAIG;IACU,oCAAoC,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,wBAAwB,CAAC;CAYhH"}
1
+ {"version":3,"file":"public_kernel.d.ts","sourceRoot":"","sources":["../../src/simulator/public_kernel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAA+B,MAAM,oBAAoB,CAAC;AAK/G,OAAO,EAAE,4BAA4B,EAAE,MAAM,YAAY,CAAC;AAE1D;;GAEG;AACH,qBAAa,gCAAiC,YAAW,4BAA4B;IACnF,OAAO,CAAC,GAAG,CAAsD;IAEjE;;;;OAIG;IACU,+BAA+B,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAa1G;;;;OAIG;IACU,oCAAoC,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,wBAAwB,CAAC;CAYhH"}
@@ -16,11 +16,11 @@ export class WasmPublicKernelCircuitSimulator {
16
16
  async publicKernelCircuitPrivateInput(input) {
17
17
  if (!input.previousKernel.publicInputs.isPrivate)
18
18
  throw new Error(`Expected private kernel previous inputs`);
19
- const [time, result] = await elapsed(() => simulatePublicKernelCircuit(input));
19
+ const [duration, result] = await elapsed(() => simulatePublicKernelCircuit(input));
20
20
  this.log(`Simulated public kernel circuit with private input`, {
21
21
  eventName: 'circuit-simulation',
22
22
  circuitName: 'public-kernel-private-input',
23
- duration: time.ms(),
23
+ duration,
24
24
  inputSize: input.toBuffer().length,
25
25
  outputSize: result.toBuffer().length,
26
26
  });
@@ -34,15 +34,15 @@ export class WasmPublicKernelCircuitSimulator {
34
34
  async publicKernelCircuitNonFirstIteration(input) {
35
35
  if (input.previousKernel.publicInputs.isPrivate)
36
36
  throw new Error(`Expected public kernel previous inputs`);
37
- const [time, result] = await elapsed(() => simulatePublicKernelCircuit(input));
37
+ const [duration, result] = await elapsed(() => simulatePublicKernelCircuit(input));
38
38
  this.log(`Simulated public kernel circuit non-first iteration`, {
39
39
  eventName: 'circuit-simulation',
40
40
  circuitName: 'public-kernel-non-first-iteration',
41
- duration: time.ms(),
41
+ duration,
42
42
  inputSize: input.toBuffer().length,
43
43
  outputSize: result.toBuffer().length,
44
44
  });
45
45
  return result;
46
46
  }
47
47
  }
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2tlcm5lbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zaW11bGF0b3IvcHVibGljX2tlcm5lbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdELDJCQUEyQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDL0csT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBSWxEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGdDQUFnQztJQUE3QztRQUNVLFFBQUcsR0FBRyxpQkFBaUIsQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO0lBcUNuRSxDQUFDO0lBbkNDOzs7O09BSUc7SUFDSSxLQUFLLENBQUMsK0JBQStCLENBQUMsS0FBeUI7UUFDcEUsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLFNBQVM7WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLHlDQUF5QyxDQUFDLENBQUM7UUFDN0csTUFBTSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsR0FBRyxNQUFNLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQy9FLElBQUksQ0FBQyxHQUFHLENBQUMsb0RBQW9ELEVBQUU7WUFDN0QsU0FBUyxFQUFFLG9CQUFvQjtZQUMvQixXQUFXLEVBQUUsNkJBQTZCO1lBQzFDLFFBQVEsRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFO1lBQ25CLFNBQVMsRUFBRSxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsTUFBTTtZQUNsQyxVQUFVLEVBQUUsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDLE1BQU07U0FDckMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxLQUFLLENBQUMsb0NBQW9DLENBQUMsS0FBeUI7UUFDekUsSUFBSSxLQUFLLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxTQUFTO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyx3Q0FBd0MsQ0FBQyxDQUFDO1FBQzNHLE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLEdBQUcsTUFBTSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsMkJBQTJCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUMvRSxJQUFJLENBQUMsR0FBRyxDQUFDLHFEQUFxRCxFQUFFO1lBQzlELFNBQVMsRUFBRSxvQkFBb0I7WUFDL0IsV0FBVyxFQUFFLG1DQUFtQztZQUNoRCxRQUFRLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRTtZQUNuQixTQUFTLEVBQUUsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLE1BQU07WUFDbEMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxNQUFNO1NBQ3JDLENBQUMsQ0FBQztRQUNILE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7Q0FDRiJ9
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2tlcm5lbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zaW11bGF0b3IvcHVibGljX2tlcm5lbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdELDJCQUEyQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDL0csT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBS2xEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGdDQUFnQztJQUE3QztRQUNVLFFBQUcsR0FBRyxpQkFBaUIsQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO0lBcUNuRSxDQUFDO0lBbkNDOzs7O09BSUc7SUFDSSxLQUFLLENBQUMsK0JBQStCLENBQUMsS0FBeUI7UUFDcEUsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLFNBQVM7WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLHlDQUF5QyxDQUFDLENBQUM7UUFDN0csTUFBTSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsR0FBRyxNQUFNLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ25GLElBQUksQ0FBQyxHQUFHLENBQUMsb0RBQW9ELEVBQUU7WUFDN0QsU0FBUyxFQUFFLG9CQUFvQjtZQUMvQixXQUFXLEVBQUUsNkJBQTZCO1lBQzFDLFFBQVE7WUFDUixTQUFTLEVBQUUsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLE1BQU07WUFDbEMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxNQUFNO1NBQ0osQ0FBQyxDQUFDO1FBQ3BDLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksS0FBSyxDQUFDLG9DQUFvQyxDQUFDLEtBQXlCO1FBQ3pFLElBQUksS0FBSyxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsU0FBUztZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsd0NBQXdDLENBQUMsQ0FBQztRQUMzRyxNQUFNLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLDJCQUEyQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDbkYsSUFBSSxDQUFDLEdBQUcsQ0FBQyxxREFBcUQsRUFBRTtZQUM5RCxTQUFTLEVBQUUsb0JBQW9CO1lBQy9CLFdBQVcsRUFBRSxtQ0FBbUM7WUFDaEQsUUFBUTtZQUNSLFNBQVMsRUFBRSxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsTUFBTTtZQUNsQyxVQUFVLEVBQUUsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDLE1BQU07U0FDSixDQUFDLENBQUM7UUFDcEMsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztDQUNGIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"rollup.d.ts","sourceRoot":"","sources":["../../src/simulator/rollup.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,6BAA6B,EAC7B,gBAAgB,EAGhB,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,EAIvB,MAAM,oBAAoB,CAAC;AAI5B,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C;;GAEG;AACH,qBAAa,0BAA2B,YAAW,eAAe;IAChE,OAAO,CAAC,GAAG,CAA+C;IAE1D;;;;OAIG;IACU,iBAAiB,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAiB/F;;;;OAIG;IACU,kBAAkB,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAkBjG;;;;OAIG;IACU,iBAAiB,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,sBAAsB,CAAC;CAiBzF"}
1
+ {"version":3,"file":"rollup.d.ts","sourceRoot":"","sources":["../../src/simulator/rollup.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,6BAA6B,EAC7B,gBAAgB,EAGhB,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,EAIvB,MAAM,oBAAoB,CAAC;AAK5B,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C;;GAEG;AACH,qBAAa,0BAA2B,YAAW,eAAe;IAChE,OAAO,CAAC,GAAG,CAA+C;IAE1D;;;;OAIG;IACU,iBAAiB,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAiB/F;;;;OAIG;IACU,kBAAkB,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAkBjG;;;;OAIG;IACU,iBAAiB,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,sBAAsB,CAAC;CAiBzF"}
@@ -15,14 +15,14 @@ export class WasmRollupCircuitSimulator {
15
15
  */
16
16
  async baseRollupCircuit(input) {
17
17
  const wasm = await CircuitsWasm.get();
18
- const [time, result] = await elapsed(() => baseRollupSim(wasm, input));
18
+ const [duration, result] = await elapsed(() => baseRollupSim(wasm, input));
19
19
  if (result instanceof CircuitError) {
20
20
  throw new CircuitError(result.code, result.message);
21
21
  }
22
22
  this.log(`Simulated base rollup circuit`, {
23
23
  eventName: 'circuit-simulation',
24
24
  circuitName: 'base-rollup',
25
- duration: time.ms(),
25
+ duration,
26
26
  inputSize: input.toBuffer().length,
27
27
  outputSize: result.toBuffer().length,
28
28
  });
@@ -35,14 +35,14 @@ export class WasmRollupCircuitSimulator {
35
35
  */
36
36
  async mergeRollupCircuit(input) {
37
37
  const wasm = await CircuitsWasm.get();
38
- const [time, result] = await elapsed(() => mergeRollupSim(wasm, input));
38
+ const [duration, result] = await elapsed(() => mergeRollupSim(wasm, input));
39
39
  if (result instanceof CircuitError) {
40
40
  throw new CircuitError(result.code, result.message);
41
41
  }
42
42
  this.log(`Simulated merge rollup circuit`, {
43
43
  eventName: 'circuit-simulation',
44
44
  circuitName: 'merge-rollup',
45
- duration: time.ms(),
45
+ duration,
46
46
  inputSize: input.toBuffer().length,
47
47
  outputSize: result.toBuffer().length,
48
48
  });
@@ -55,18 +55,18 @@ export class WasmRollupCircuitSimulator {
55
55
  */
56
56
  async rootRollupCircuit(input) {
57
57
  const wasm = await CircuitsWasm.get();
58
- const [time, result] = await elapsed(() => rootRollupSim(wasm, input));
58
+ const [duration, result] = await elapsed(() => rootRollupSim(wasm, input));
59
59
  if (result instanceof CircuitError) {
60
60
  throw new CircuitError(result.code, result.message);
61
61
  }
62
62
  this.log(`Simulated root rollup circuit`, {
63
63
  eventName: 'circuit-simulation',
64
64
  circuitName: 'root-rollup',
65
- duration: time.ms(),
65
+ duration,
66
66
  inputSize: input.toBuffer().length,
67
67
  outputSize: result.toBuffer().length,
68
68
  });
69
69
  return result;
70
70
  }
71
71
  }
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sbHVwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NpbXVsYXRvci9yb2xsdXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUdMLFlBQVksRUFDWixZQUFZLEVBSVosYUFBYSxFQUNiLGNBQWMsRUFDZCxhQUFhLEdBQ2QsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFJbEQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sMEJBQTBCO0lBQXZDO1FBQ1UsUUFBRyxHQUFHLGlCQUFpQixDQUFDLHdCQUF3QixDQUFDLENBQUM7SUFxRTVELENBQUM7SUFuRUM7Ozs7T0FJRztJQUNJLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxLQUF1QjtRQUNwRCxNQUFNLElBQUksR0FBRyxNQUFNLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUN0QyxNQUFNLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUN2RSxJQUFJLE1BQU0sWUFBWSxZQUFZLEVBQUU7WUFDbEMsTUFBTSxJQUFJLFlBQVksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUNyRDtRQUVELElBQUksQ0FBQyxHQUFHLENBQUMsK0JBQStCLEVBQUU7WUFDeEMsU0FBUyxFQUFFLG9CQUFvQjtZQUMvQixXQUFXLEVBQUUsYUFBYTtZQUMxQixRQUFRLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRTtZQUNuQixTQUFTLEVBQUUsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLE1BQU07WUFDbEMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxNQUFNO1NBQ3JDLENBQUMsQ0FBQztRQUVILE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBQ0Q7Ozs7T0FJRztJQUNJLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxLQUF3QjtRQUN0RCxNQUFNLElBQUksR0FBRyxNQUFNLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUN0QyxNQUFNLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUN4RSxJQUFJLE1BQU0sWUFBWSxZQUFZLEVBQUU7WUFDbEMsTUFBTSxJQUFJLFlBQVksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUNyRDtRQUVELElBQUksQ0FBQyxHQUFHLENBQUMsZ0NBQWdDLEVBQUU7WUFDekMsU0FBUyxFQUFFLG9CQUFvQjtZQUMvQixXQUFXLEVBQUUsY0FBYztZQUMzQixRQUFRLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRTtZQUNuQixTQUFTLEVBQUUsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLE1BQU07WUFDbEMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxNQUFNO1NBQ3JDLENBQUMsQ0FBQztRQUVILE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksS0FBSyxDQUFDLGlCQUFpQixDQUFDLEtBQXVCO1FBQ3BELE1BQU0sSUFBSSxHQUFHLE1BQU0sWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ3RDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLEdBQUcsTUFBTSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ3ZFLElBQUksTUFBTSxZQUFZLFlBQVksRUFBRTtZQUNsQyxNQUFNLElBQUksWUFBWSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQ3JEO1FBRUQsSUFBSSxDQUFDLEdBQUcsQ0FBQywrQkFBK0IsRUFBRTtZQUN4QyxTQUFTLEVBQUUsb0JBQW9CO1lBQy9CLFdBQVcsRUFBRSxhQUFhO1lBQzFCLFFBQVEsRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFO1lBQ25CLFNBQVMsRUFBRSxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsTUFBTTtZQUNsQyxVQUFVLEVBQUUsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDLE1BQU07U0FDckMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztDQUNGIn0=
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sbHVwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NpbXVsYXRvci9yb2xsdXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUdMLFlBQVksRUFDWixZQUFZLEVBSVosYUFBYSxFQUNiLGNBQWMsRUFDZCxhQUFhLEdBQ2QsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFLbEQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sMEJBQTBCO0lBQXZDO1FBQ1UsUUFBRyxHQUFHLGlCQUFpQixDQUFDLHdCQUF3QixDQUFDLENBQUM7SUFxRTVELENBQUM7SUFuRUM7Ozs7T0FJRztJQUNJLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxLQUF1QjtRQUNwRCxNQUFNLElBQUksR0FBRyxNQUFNLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUN0QyxNQUFNLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUMzRSxJQUFJLE1BQU0sWUFBWSxZQUFZLEVBQUU7WUFDbEMsTUFBTSxJQUFJLFlBQVksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUNyRDtRQUVELElBQUksQ0FBQyxHQUFHLENBQUMsK0JBQStCLEVBQUU7WUFDeEMsU0FBUyxFQUFFLG9CQUFvQjtZQUMvQixXQUFXLEVBQUUsYUFBYTtZQUMxQixRQUFRO1lBQ1IsU0FBUyxFQUFFLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxNQUFNO1lBQ2xDLFVBQVUsRUFBRSxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUMsTUFBTTtTQUNKLENBQUMsQ0FBQztRQUVwQyxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUNEOzs7O09BSUc7SUFDSSxLQUFLLENBQUMsa0JBQWtCLENBQUMsS0FBd0I7UUFDdEQsTUFBTSxJQUFJLEdBQUcsTUFBTSxZQUFZLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDdEMsTUFBTSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsR0FBRyxNQUFNLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDNUUsSUFBSSxNQUFNLFlBQVksWUFBWSxFQUFFO1lBQ2xDLE1BQU0sSUFBSSxZQUFZLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDckQ7UUFFRCxJQUFJLENBQUMsR0FBRyxDQUFDLGdDQUFnQyxFQUFFO1lBQ3pDLFNBQVMsRUFBRSxvQkFBb0I7WUFDL0IsV0FBVyxFQUFFLGNBQWM7WUFDM0IsUUFBUTtZQUNSLFNBQVMsRUFBRSxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsTUFBTTtZQUNsQyxVQUFVLEVBQUUsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDLE1BQU07U0FDSixDQUFDLENBQUM7UUFFcEMsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxLQUFLLENBQUMsaUJBQWlCLENBQUMsS0FBdUI7UUFDcEQsTUFBTSxJQUFJLEdBQUcsTUFBTSxZQUFZLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDdEMsTUFBTSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsR0FBRyxNQUFNLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDM0UsSUFBSSxNQUFNLFlBQVksWUFBWSxFQUFFO1lBQ2xDLE1BQU0sSUFBSSxZQUFZLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDckQ7UUFFRCxJQUFJLENBQUMsR0FBRyxDQUFDLCtCQUErQixFQUFFO1lBQ3hDLFNBQVMsRUFBRSxvQkFBb0I7WUFDL0IsV0FBVyxFQUFFLGFBQWE7WUFDMUIsUUFBUTtZQUNSLFNBQVMsRUFBRSxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsTUFBTTtZQUNsQyxVQUFVLEVBQUUsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDLE1BQU07U0FDSixDQUFDLENBQUM7UUFFcEMsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztDQUNGIn0=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aztec/sequencer-client",
3
- "version": "0.8.8",
3
+ "version": "0.8.10",
4
4
  "type": "module",
5
5
  "exports": "./dest/index.js",
6
6
  "typedocOptions": {
@@ -32,15 +32,15 @@
32
32
  "rootDir": "./src"
33
33
  },
34
34
  "dependencies": {
35
- "@aztec/acir-simulator": "0.8.8",
36
- "@aztec/circuits.js": "0.8.8",
37
- "@aztec/ethereum": "0.8.8",
38
- "@aztec/foundation": "0.8.8",
39
- "@aztec/l1-artifacts": "0.8.8",
40
- "@aztec/merkle-tree": "0.8.8",
41
- "@aztec/p2p": "0.8.8",
42
- "@aztec/types": "0.8.8",
43
- "@aztec/world-state": "0.8.8",
35
+ "@aztec/acir-simulator": "0.8.10",
36
+ "@aztec/circuits.js": "0.8.10",
37
+ "@aztec/ethereum": "0.8.10",
38
+ "@aztec/foundation": "0.8.10",
39
+ "@aztec/l1-artifacts": "0.8.10",
40
+ "@aztec/merkle-tree": "0.8.10",
41
+ "@aztec/p2p": "0.8.10",
42
+ "@aztec/types": "0.8.10",
43
+ "@aztec/world-state": "0.8.10",
44
44
  "lodash.chunk": "^4.2.0",
45
45
  "lodash.flatmap": "^4.5.0",
46
46
  "lodash.pick": "^4.4.0",
@@ -36,7 +36,12 @@ import {
36
36
  VerificationKey,
37
37
  makeTuple,
38
38
  } from '@aztec/circuits.js';
39
- import { computeBlockHash, computeBlockHashWithGlobals, computeContractLeaf } from '@aztec/circuits.js/abis';
39
+ import {
40
+ computeBlockHash,
41
+ computeBlockHashWithGlobals,
42
+ computeContractLeaf,
43
+ computeGlobalsHash,
44
+ } from '@aztec/circuits.js/abis';
40
45
  import { toFriendlyJSON } from '@aztec/circuits.js/utils';
41
46
  import { toBigIntBE } from '@aztec/foundation/bigint-buffer';
42
47
  import { padArrayEnd } from '@aztec/foundation/collection';
@@ -44,7 +49,7 @@ import { Fr } from '@aztec/foundation/fields';
44
49
  import { createDebugLogger } from '@aztec/foundation/log';
45
50
  import { Tuple, assertLength } from '@aztec/foundation/serialize';
46
51
  import { ContractData, L2Block, L2BlockL2Logs, MerkleTreeId, PublicDataWrite, TxL2Logs } from '@aztec/types';
47
- import { MerkleTreeOperations, computeGlobalVariablesHash } from '@aztec/world-state';
52
+ import { MerkleTreeOperations } from '@aztec/world-state';
48
53
 
49
54
  import chunk from 'lodash.chunk';
50
55
  import flatMap from 'lodash.flatmap';
@@ -308,7 +313,7 @@ export class SoloBlockBuilder implements BlockBuilder {
308
313
  // Update the root trees with the latest data and contract tree roots,
309
314
  // and validate them against the output of the root circuit simulation
310
315
  this.debug(`Updating and validating root trees`);
311
- const globalVariablesHash = await computeGlobalVariablesHash(left[0].constants.globalVariables);
316
+ const globalVariablesHash = computeGlobalsHash(await CircuitsWasm.get(), left[0].constants.globalVariables);
312
317
  await this.db.updateLatestGlobalVariablesHash(globalVariablesHash);
313
318
  await this.db.updateHistoricBlocksTree(globalVariablesHash);
314
319
 
@@ -5,7 +5,7 @@ import { WorldStateSynchronizer } from '@aztec/world-state';
5
5
  import { SoloBlockBuilder } from '../block_builder/solo_block_builder.js';
6
6
  import { SequencerClientConfig } from '../config.js';
7
7
  import { getGlobalVariableBuilder } from '../global_variable_builder/index.js';
8
- import { Sequencer, getL1Publisher, getVerificationKeys } from '../index.js';
8
+ import { Sequencer, SequencerConfig, getL1Publisher, getVerificationKeys } from '../index.js';
9
9
  import { EmptyRollupProver } from '../prover/empty.js';
10
10
  import { PublicProcessorFactory } from '../sequencer/public_processor.js';
11
11
  import { WasmRollupCircuitSimulator } from '../simulator/rollup.js';
@@ -64,6 +64,14 @@ export class SequencerClient {
64
64
  return new SequencerClient(sequencer);
65
65
  }
66
66
 
67
+ /**
68
+ * Updates sequencer config.
69
+ * @param config - New parameters.
70
+ */
71
+ public updateSequencerConfig(config: SequencerConfig) {
72
+ this.sequencer.updateConfig(config);
73
+ }
74
+
67
75
  /**
68
76
  * Stops the sequencer from processing new txs.
69
77
  */
package/src/config.ts CHANGED
@@ -5,10 +5,22 @@ import { GlobalReaderConfig } from './global_variable_builder/index.js';
5
5
  import { PublisherConfig, TxSenderConfig } from './publisher/config.js';
6
6
  import { SequencerConfig } from './sequencer/config.js';
7
7
 
8
+ /** Chain configuration. */
9
+ type ChainConfig = {
10
+ /** The chain id of the ethereum host. */
11
+ chainId: number;
12
+ /** The version of the rollup. */
13
+ version: number;
14
+ };
15
+
8
16
  /**
9
17
  * Configuration settings for the SequencerClient.
10
18
  */
11
- export type SequencerClientConfig = PublisherConfig & TxSenderConfig & SequencerConfig & GlobalReaderConfig;
19
+ export type SequencerClientConfig = PublisherConfig &
20
+ TxSenderConfig &
21
+ SequencerConfig &
22
+ GlobalReaderConfig &
23
+ ChainConfig;
12
24
 
13
25
  /**
14
26
  * Creates an instance of SequencerClientConfig out of environment variables using sensible defaults for integration testing if not set.
@@ -5,34 +5,6 @@ import { ViemTxSender } from './viem-tx-sender.js';
5
5
  export { L1Publisher } from './l1-publisher.js';
6
6
  export { PublisherConfig } from './config.js';
7
7
 
8
- /** Stats logged for each L1 rollup publish tx.*/
9
- export type L1PublishStats = {
10
- /** Name of the event for metrics purposes */
11
- eventName: 'rollup-published-to-l1';
12
- /** Effective gas price of the tx. */
13
- gasPrice: bigint;
14
- /** Effective gas used in the tx. */
15
- gasUsed: bigint;
16
- /** Hash of the L1 tx. */
17
- transactionHash: string;
18
- /** Gas cost of the calldata. */
19
- calldataGas: number;
20
- /** Size in bytes of the calldata. */
21
- calldataSize: number;
22
- /** Number of txs in the L2 block. */
23
- txCount: number;
24
- /** Number of the L2 block. */
25
- blockNumber: number;
26
- /** Number of encrypted logs. */
27
- encryptedLogCount?: number;
28
- /** Number of unencrypted logs. */
29
- unencryptedLogCount?: number;
30
- /** Serialised size of encrypted logs. */
31
- encryptedLogSize?: number;
32
- /** Serialised size of unencrypted logs. */
33
- unencryptedLogSize?: number;
34
- };
35
-
36
8
  /**
37
9
  * Returns a new instance of the L1Publisher.
38
10
  * @param config - Configuration to initialize the new instance.
@@ -1,12 +1,12 @@
1
1
  import { createDebugLogger } from '@aztec/foundation/log';
2
2
  import { InterruptableSleep } from '@aztec/foundation/sleep';
3
3
  import { ExtendedContractData, L2Block } from '@aztec/types';
4
+ import { L1PublishStats } from '@aztec/types/stats';
4
5
 
5
6
  import pick from 'lodash.pick';
6
7
 
7
8
  import { L2BlockReceiver } from '../receiver.js';
8
9
  import { PublisherConfig } from './config.js';
9
- import { L1PublishStats } from './index.js';
10
10
 
11
11
  /**
12
12
  * Stats for a sent transaction.
@@ -14,14 +14,4 @@ export interface SequencerConfig {
14
14
  * The minimum number of txs to include in a block.
15
15
  */
16
16
  minTxsPerBlock?: number;
17
-
18
- /**
19
- * The chain id of the ethereum host.
20
- */
21
- chainId: number;
22
-
23
- /**
24
- * The version of the rollup.
25
- */
26
- version: number;
27
17
  }
@@ -2,8 +2,10 @@ import { GlobalVariables } from '@aztec/circuits.js';
2
2
  import { Fr } from '@aztec/foundation/fields';
3
3
  import { createDebugLogger } from '@aztec/foundation/log';
4
4
  import { RunningPromise } from '@aztec/foundation/running-promise';
5
+ import { Timer, elapsed } from '@aztec/foundation/timer';
5
6
  import { P2P } from '@aztec/p2p';
6
7
  import { ContractDataSource, L1ToL2MessageSource, L2Block, L2BlockSource, MerkleTreeId, Tx } from '@aztec/types';
8
+ import { L2BlockBuiltStats } from '@aztec/types/stats';
7
9
  import { WorldStateStatus, WorldStateSynchronizer } from '@aztec/world-state';
8
10
 
9
11
  import times from 'lodash.times';
@@ -27,7 +29,7 @@ import { PublicProcessorFactory } from './public_processor.js';
27
29
  */
28
30
  export class Sequencer {
29
31
  private runningPromise?: RunningPromise;
30
- private pollingIntervalMs: number;
32
+ private pollingIntervalMs: number = 1000;
31
33
  private maxTxsPerBlock = 32;
32
34
  private minTxsPerBLock = 1;
33
35
  private lastPublishedBlock = 0;
@@ -43,19 +45,23 @@ export class Sequencer {
43
45
  private l1ToL2MessageSource: L1ToL2MessageSource,
44
46
  private contractDataSource: ContractDataSource,
45
47
  private publicProcessorFactory: PublicProcessorFactory,
46
- config: SequencerConfig,
48
+ config: SequencerConfig = {},
47
49
  private log = createDebugLogger('aztec:sequencer'),
48
50
  ) {
49
- this.pollingIntervalMs = config.transactionPollingIntervalMS ?? 1_000;
50
- if (config.maxTxsPerBlock) {
51
- this.maxTxsPerBlock = config.maxTxsPerBlock;
52
- }
53
- if (config.minTxsPerBlock) {
54
- this.minTxsPerBLock = config.minTxsPerBlock;
55
- }
51
+ this.updateConfig(config);
56
52
  this.log(`Initialized sequencer with ${this.minTxsPerBLock}-${this.maxTxsPerBlock} txs per block.`);
57
53
  }
58
54
 
55
+ /**
56
+ * Updates sequencer config.
57
+ * @param config - New parameters.
58
+ */
59
+ public updateConfig(config: SequencerConfig) {
60
+ if (config.transactionPollingIntervalMS) this.pollingIntervalMs = config.transactionPollingIntervalMS;
61
+ if (config.maxTxsPerBlock) this.maxTxsPerBlock = config.maxTxsPerBlock;
62
+ if (config.minTxsPerBlock) this.minTxsPerBLock = config.minTxsPerBlock;
63
+ }
64
+
59
65
  /**
60
66
  * Starts the sequencer and moves to IDLE state. Blocks until the initial sync is complete.
61
67
  */
@@ -116,6 +122,7 @@ export class Sequencer {
116
122
  // Do not go forward with new block if the previous one has not been mined and processed
117
123
  if (!prevBlockSynced) return;
118
124
 
125
+ const workTimer = new Timer();
119
126
  this.state = SequencerState.WAITING_FOR_TXS;
120
127
 
121
128
  // Get txs to build the new block
@@ -139,7 +146,7 @@ export class Sequencer {
139
146
  // Process txs and drop the ones that fail processing
140
147
  // We create a fresh processor each time to reset any cached state (eg storage writes)
141
148
  const processor = await this.publicProcessorFactory.create(prevGlobalVariables, newGlobalVariables);
142
- const [processedTxs, failedTxs] = await processor.process(validTxs);
149
+ const [publicProcessorDuration, [processedTxs, failedTxs]] = await elapsed(() => processor.process(validTxs));
143
150
  if (failedTxs.length > 0) {
144
151
  const failedTxData = failedTxs.map(fail => fail.tx);
145
152
  this.log(`Dropping failed txs ${(await Tx.getHashes(failedTxData)).join(', ')}`);
@@ -166,8 +173,17 @@ export class Sequencer {
166
173
  this.log(`Assembling block with txs ${processedValidTxs.map(tx => tx.hash).join(', ')}`);
167
174
 
168
175
  const emptyTx = await processor.makeEmptyProcessedTx();
169
- const block = await this.buildBlock(processedValidTxs, l1ToL2Messages, emptyTx, newGlobalVariables);
170
- this.log(`Assembled block ${block.number}`);
176
+ const [rollupCircuitsDuration, block] = await elapsed(() =>
177
+ this.buildBlock(processedValidTxs, l1ToL2Messages, emptyTx, newGlobalVariables),
178
+ );
179
+
180
+ this.log(`Assembled block ${block.number}`, {
181
+ eventName: 'l2-block-built',
182
+ duration: workTimer.ms(),
183
+ publicProcessDuration: publicProcessorDuration,
184
+ rollupCircuitsDuration: rollupCircuitsDuration,
185
+ ...block.getStats(),
186
+ } satisfies L2BlockBuiltStats);
171
187
 
172
188
  await this.publishExtendedContractData(validTxs, block);
173
189
 
@@ -6,8 +6,9 @@ import {
6
6
  PublicStateDB,
7
7
  } from '@aztec/acir-simulator';
8
8
  import { AztecAddress, CircuitsWasm, EthAddress, Fr, FunctionSelector, HistoricBlockData } from '@aztec/circuits.js';
9
+ import { computePublicDataTreeIndex } from '@aztec/circuits.js/abis';
9
10
  import { ContractDataSource, ExtendedContractData, L1ToL2MessageSource, MerkleTreeId, Tx } from '@aztec/types';
10
- import { MerkleTreeOperations, computePublicDataTreeLeafIndex } from '@aztec/world-state';
11
+ import { MerkleTreeOperations } from '@aztec/world-state';
11
12
 
12
13
  /**
13
14
  * Returns a new PublicExecutor simulator backed by the supplied merkle tree db and contract data source.
@@ -31,7 +32,7 @@ export function getPublicExecutor(
31
32
 
32
33
  /**
33
34
  * Implements the PublicContractsDB using a ContractDataSource.
34
- * Progresively records contracts in transaction as they are processed in a block.
35
+ * Progressively records contracts in transaction as they are processed in a block.
35
36
  */
36
37
  export class ContractsDataSourcePublicDB implements PublicContractsDB {
37
38
  cache = new Map<string, ExtendedContractData>();
@@ -106,7 +107,7 @@ class WorldStatePublicDB implements PublicStateDB {
106
107
  * @returns The current value in the storage slot.
107
108
  */
108
109
  public async storageRead(contract: AztecAddress, slot: Fr): Promise<Fr> {
109
- const index = computePublicDataTreeLeafIndex(contract, slot, await CircuitsWasm.get());
110
+ const index = computePublicDataTreeIndex(await CircuitsWasm.get(), contract, slot).value;
110
111
  const cached = this.writeCache.get(index);
111
112
  if (cached !== undefined) return cached;
112
113
  const value = await this.db.getLeafValue(MerkleTreeId.PUBLIC_DATA_TREE, index);
@@ -120,7 +121,7 @@ class WorldStatePublicDB implements PublicStateDB {
120
121
  * @param newValue - The new value to store.
121
122
  */
122
123
  public async storageWrite(contract: AztecAddress, slot: Fr, newValue: Fr): Promise<void> {
123
- const index = computePublicDataTreeLeafIndex(contract, slot, await CircuitsWasm.get());
124
+ const index = computePublicDataTreeIndex(await CircuitsWasm.get(), contract, slot).value;
124
125
  this.writeCache.set(index, newValue);
125
126
  }
126
127
  }
@@ -1,6 +1,7 @@
1
1
  import { PublicKernelInputs, PublicKernelPublicInputs, simulatePublicKernelCircuit } from '@aztec/circuits.js';
2
2
  import { createDebugLogger } from '@aztec/foundation/log';
3
3
  import { elapsed } from '@aztec/foundation/timer';
4
+ import { CircuitSimulationStats } from '@aztec/types/stats';
4
5
 
5
6
  import { PublicKernelCircuitSimulator } from './index.js';
6
7
 
@@ -17,14 +18,14 @@ export class WasmPublicKernelCircuitSimulator implements PublicKernelCircuitSimu
17
18
  */
18
19
  public async publicKernelCircuitPrivateInput(input: PublicKernelInputs): Promise<PublicKernelPublicInputs> {
19
20
  if (!input.previousKernel.publicInputs.isPrivate) throw new Error(`Expected private kernel previous inputs`);
20
- const [time, result] = await elapsed(() => simulatePublicKernelCircuit(input));
21
+ const [duration, result] = await elapsed(() => simulatePublicKernelCircuit(input));
21
22
  this.log(`Simulated public kernel circuit with private input`, {
22
23
  eventName: 'circuit-simulation',
23
24
  circuitName: 'public-kernel-private-input',
24
- duration: time.ms(),
25
+ duration,
25
26
  inputSize: input.toBuffer().length,
26
27
  outputSize: result.toBuffer().length,
27
- });
28
+ } satisfies CircuitSimulationStats);
28
29
  return result;
29
30
  }
30
31
 
@@ -35,14 +36,14 @@ export class WasmPublicKernelCircuitSimulator implements PublicKernelCircuitSimu
35
36
  */
36
37
  public async publicKernelCircuitNonFirstIteration(input: PublicKernelInputs): Promise<PublicKernelPublicInputs> {
37
38
  if (input.previousKernel.publicInputs.isPrivate) throw new Error(`Expected public kernel previous inputs`);
38
- const [time, result] = await elapsed(() => simulatePublicKernelCircuit(input));
39
+ const [duration, result] = await elapsed(() => simulatePublicKernelCircuit(input));
39
40
  this.log(`Simulated public kernel circuit non-first iteration`, {
40
41
  eventName: 'circuit-simulation',
41
42
  circuitName: 'public-kernel-non-first-iteration',
42
- duration: time.ms(),
43
+ duration,
43
44
  inputSize: input.toBuffer().length,
44
45
  outputSize: result.toBuffer().length,
45
- });
46
+ } satisfies CircuitSimulationStats);
46
47
  return result;
47
48
  }
48
49
  }
@@ -12,6 +12,7 @@ import {
12
12
  } from '@aztec/circuits.js';
13
13
  import { createDebugLogger } from '@aztec/foundation/log';
14
14
  import { elapsed } from '@aztec/foundation/timer';
15
+ import { CircuitSimulationStats } from '@aztec/types/stats';
15
16
 
16
17
  import { RollupSimulator } from './index.js';
17
18
 
@@ -28,7 +29,7 @@ export class WasmRollupCircuitSimulator implements RollupSimulator {
28
29
  */
29
30
  public async baseRollupCircuit(input: BaseRollupInputs): Promise<BaseOrMergeRollupPublicInputs> {
30
31
  const wasm = await CircuitsWasm.get();
31
- const [time, result] = await elapsed(() => baseRollupSim(wasm, input));
32
+ const [duration, result] = await elapsed(() => baseRollupSim(wasm, input));
32
33
  if (result instanceof CircuitError) {
33
34
  throw new CircuitError(result.code, result.message);
34
35
  }
@@ -36,10 +37,10 @@ export class WasmRollupCircuitSimulator implements RollupSimulator {
36
37
  this.log(`Simulated base rollup circuit`, {
37
38
  eventName: 'circuit-simulation',
38
39
  circuitName: 'base-rollup',
39
- duration: time.ms(),
40
+ duration,
40
41
  inputSize: input.toBuffer().length,
41
42
  outputSize: result.toBuffer().length,
42
- });
43
+ } satisfies CircuitSimulationStats);
43
44
 
44
45
  return Promise.resolve(result);
45
46
  }
@@ -50,7 +51,7 @@ export class WasmRollupCircuitSimulator implements RollupSimulator {
50
51
  */
51
52
  public async mergeRollupCircuit(input: MergeRollupInputs): Promise<BaseOrMergeRollupPublicInputs> {
52
53
  const wasm = await CircuitsWasm.get();
53
- const [time, result] = await elapsed(() => mergeRollupSim(wasm, input));
54
+ const [duration, result] = await elapsed(() => mergeRollupSim(wasm, input));
54
55
  if (result instanceof CircuitError) {
55
56
  throw new CircuitError(result.code, result.message);
56
57
  }
@@ -58,10 +59,10 @@ export class WasmRollupCircuitSimulator implements RollupSimulator {
58
59
  this.log(`Simulated merge rollup circuit`, {
59
60
  eventName: 'circuit-simulation',
60
61
  circuitName: 'merge-rollup',
61
- duration: time.ms(),
62
+ duration,
62
63
  inputSize: input.toBuffer().length,
63
64
  outputSize: result.toBuffer().length,
64
- });
65
+ } satisfies CircuitSimulationStats);
65
66
 
66
67
  return result;
67
68
  }
@@ -73,7 +74,7 @@ export class WasmRollupCircuitSimulator implements RollupSimulator {
73
74
  */
74
75
  public async rootRollupCircuit(input: RootRollupInputs): Promise<RootRollupPublicInputs> {
75
76
  const wasm = await CircuitsWasm.get();
76
- const [time, result] = await elapsed(() => rootRollupSim(wasm, input));
77
+ const [duration, result] = await elapsed(() => rootRollupSim(wasm, input));
77
78
  if (result instanceof CircuitError) {
78
79
  throw new CircuitError(result.code, result.message);
79
80
  }
@@ -81,10 +82,10 @@ export class WasmRollupCircuitSimulator implements RollupSimulator {
81
82
  this.log(`Simulated root rollup circuit`, {
82
83
  eventName: 'circuit-simulation',
83
84
  circuitName: 'root-rollup',
84
- duration: time.ms(),
85
+ duration,
85
86
  inputSize: input.toBuffer().length,
86
87
  outputSize: result.toBuffer().length,
87
- });
88
+ } satisfies CircuitSimulationStats);
88
89
 
89
90
  return result;
90
91
  }