@aztec/sequencer-client 0.27.2 → 0.28.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 (55) hide show
  1. package/dest/block_builder/index.d.ts +3 -1
  2. package/dest/block_builder/index.d.ts.map +1 -1
  3. package/dest/block_builder/solo_block_builder.d.ts +10 -5
  4. package/dest/block_builder/solo_block_builder.d.ts.map +1 -1
  5. package/dest/block_builder/solo_block_builder.js +119 -52
  6. package/dest/prover/empty.d.ts +13 -1
  7. package/dest/prover/empty.d.ts.map +1 -1
  8. package/dest/prover/empty.js +19 -1
  9. package/dest/prover/index.d.ts +14 -2
  10. package/dest/prover/index.d.ts.map +1 -1
  11. package/dest/sequencer/abstract_phase_manager.d.ts +0 -2
  12. package/dest/sequencer/abstract_phase_manager.d.ts.map +1 -1
  13. package/dest/sequencer/abstract_phase_manager.js +30 -7
  14. package/dest/sequencer/app_logic_phase_manager.d.ts +0 -2
  15. package/dest/sequencer/app_logic_phase_manager.d.ts.map +1 -1
  16. package/dest/sequencer/app_logic_phase_manager.js +10 -15
  17. package/dest/sequencer/sequencer.d.ts +4 -1
  18. package/dest/sequencer/sequencer.d.ts.map +1 -1
  19. package/dest/sequencer/sequencer.js +8 -4
  20. package/dest/sequencer/setup_phase_manager.d.ts +0 -2
  21. package/dest/sequencer/setup_phase_manager.d.ts.map +1 -1
  22. package/dest/sequencer/setup_phase_manager.js +8 -12
  23. package/dest/sequencer/tail_phase_manager.d.ts +0 -2
  24. package/dest/sequencer/tail_phase_manager.d.ts.map +1 -1
  25. package/dest/sequencer/tail_phase_manager.js +7 -11
  26. package/dest/sequencer/teardown_phase_manager.d.ts +0 -2
  27. package/dest/sequencer/teardown_phase_manager.d.ts.map +1 -1
  28. package/dest/sequencer/teardown_phase_manager.js +8 -12
  29. package/dest/sequencer/utils.d.ts +8 -0
  30. package/dest/sequencer/utils.d.ts.map +1 -0
  31. package/dest/sequencer/utils.js +28 -0
  32. package/dest/simulator/index.d.ts +13 -1
  33. package/dest/simulator/index.d.ts.map +1 -1
  34. package/dest/simulator/index.js +1 -1
  35. package/dest/simulator/public_executor.d.ts +6 -3
  36. package/dest/simulator/public_executor.d.ts.map +1 -1
  37. package/dest/simulator/public_executor.js +36 -15
  38. package/dest/simulator/rollup.d.ts +13 -1
  39. package/dest/simulator/rollup.d.ts.map +1 -1
  40. package/dest/simulator/rollup.js +24 -2
  41. package/package.json +13 -13
  42. package/src/block_builder/index.ts +3 -1
  43. package/src/block_builder/solo_block_builder.ts +150 -52
  44. package/src/prover/empty.ts +23 -0
  45. package/src/prover/index.ts +18 -1
  46. package/src/sequencer/abstract_phase_manager.ts +37 -8
  47. package/src/sequencer/app_logic_phase_manager.ts +10 -16
  48. package/src/sequencer/sequencer.ts +12 -3
  49. package/src/sequencer/setup_phase_manager.ts +8 -15
  50. package/src/sequencer/tail_phase_manager.ts +6 -11
  51. package/src/sequencer/teardown_phase_manager.ts +8 -15
  52. package/src/sequencer/utils.ts +30 -0
  53. package/src/simulator/index.ts +15 -0
  54. package/src/simulator/public_executor.ts +37 -14
  55. package/src/simulator/rollup.ts +39 -0
@@ -0,0 +1,28 @@
1
+ import { CallRequest } from '@aztec/circuits.js';
2
+ /**
3
+ * Looks at the side effects of a transaction and returns the highest counter
4
+ * @param tx - A transaction
5
+ * @returns The highest side effect counter in the transaction so far
6
+ */
7
+ export function lastSideEffectCounter(tx) {
8
+ const sideEffectCounters = [
9
+ ...tx.data.endNonRevertibleData.newNoteHashes,
10
+ ...tx.data.endNonRevertibleData.newNullifiers,
11
+ ...tx.data.endNonRevertibleData.publicCallStack,
12
+ ...tx.data.end.newNoteHashes,
13
+ ...tx.data.end.newNullifiers,
14
+ ...tx.data.end.publicCallStack,
15
+ ];
16
+ let max = 0;
17
+ for (const sideEffect of sideEffectCounters) {
18
+ if (sideEffect instanceof CallRequest) {
19
+ // look at both start and end counters because for enqueued public calls start > 0 while end === 0
20
+ max = Math.max(max, sideEffect.startSideEffectCounter.toNumber(), sideEffect.endSideEffectCounter.toNumber());
21
+ }
22
+ else {
23
+ max = Math.max(max, sideEffect.counter.toNumber());
24
+ }
25
+ }
26
+ return max;
27
+ }
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VxdWVuY2VyL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVqRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLHFCQUFxQixDQUFDLEVBQU07SUFDMUMsTUFBTSxrQkFBa0IsR0FBRztRQUN6QixHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsYUFBYTtRQUM3QyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsYUFBYTtRQUM3QyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsZUFBZTtRQUMvQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWE7UUFDNUIsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhO1FBQzVCLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsZUFBZTtLQUMvQixDQUFDO0lBRUYsSUFBSSxHQUFHLEdBQUcsQ0FBQyxDQUFDO0lBQ1osS0FBSyxNQUFNLFVBQVUsSUFBSSxrQkFBa0IsRUFBRSxDQUFDO1FBQzVDLElBQUksVUFBVSxZQUFZLFdBQVcsRUFBRSxDQUFDO1lBQ3RDLGtHQUFrRztZQUNsRyxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsVUFBVSxDQUFDLHNCQUFzQixDQUFDLFFBQVEsRUFBRSxFQUFFLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ2hILENBQUM7YUFBTSxDQUFDO1lBQ04sR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLFVBQVUsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUNyRCxDQUFDO0lBQ0gsQ0FBQztJQUVELE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQyJ9
@@ -1,8 +1,20 @@
1
- import { BaseOrMergeRollupPublicInputs, BaseRollupInputs, MergeRollupInputs, PublicKernelCircuitPrivateInputs, PublicKernelCircuitPublicInputs, PublicKernelTailCircuitPrivateInputs, RootRollupInputs, RootRollupPublicInputs } from '@aztec/circuits.js';
1
+ import { BaseOrMergeRollupPublicInputs, BaseParityInputs, BaseRollupInputs, MergeRollupInputs, ParityPublicInputs, PublicKernelCircuitPrivateInputs, PublicKernelCircuitPublicInputs, PublicKernelTailCircuitPrivateInputs, RootParityInputs, RootRollupInputs, RootRollupPublicInputs } from '@aztec/circuits.js';
2
2
  /**
3
3
  * Circuit simulator for the rollup circuits.
4
4
  */
5
5
  export interface RollupSimulator {
6
+ /**
7
+ * Simulates the base parity circuit from its inputs.
8
+ * @param inputs - Inputs to the circuit.
9
+ * @returns The public inputs of the parity circuit.
10
+ */
11
+ baseParityCircuit(inputs: BaseParityInputs): Promise<ParityPublicInputs>;
12
+ /**
13
+ * Simulates the root parity circuit from its inputs.
14
+ * @param inputs - Inputs to the circuit.
15
+ * @returns The public inputs of the parity circuit.
16
+ */
17
+ rootParityCircuit(inputs: RootParityInputs): Promise<ParityPublicInputs>;
6
18
  /**
7
19
  * Simulates the base rollup circuit from its inputs.
8
20
  * @param input - Inputs to the circuit.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/simulator/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,6BAA6B,EAC7B,gBAAgB,EAChB,iBAAiB,EACjB,gCAAgC,EAChC,+BAA+B,EAC/B,oCAAoC,EACpC,gBAAgB,EAChB,sBAAsB,EACvB,MAAM,oBAAoB,CAAC;AAE5B;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,iBAAiB,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAAC;IACnF;;;;OAIG;IACH,kBAAkB,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAAC;IACrF;;;;OAIG;IACH,iBAAiB,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC;CAC7E;AAED;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC3C;;;;OAIG;IACH,wBAAwB,CAAC,MAAM,EAAE,gCAAgC,GAAG,OAAO,CAAC,+BAA+B,CAAC,CAAC;IAC7G;;;;OAIG;IACH,2BAA2B,CAAC,MAAM,EAAE,gCAAgC,GAAG,OAAO,CAAC,+BAA+B,CAAC,CAAC;IAChH;;;;OAIG;IACH,2BAA2B,CAAC,MAAM,EAAE,gCAAgC,GAAG,OAAO,CAAC,+BAA+B,CAAC,CAAC;IAChH;;;;OAIG;IACH,uBAAuB,CAAC,MAAM,EAAE,oCAAoC,GAAG,OAAO,CAAC,+BAA+B,CAAC,CAAC;CACjH;AACD,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/simulator/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,6BAA6B,EAC7B,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,gCAAgC,EAChC,+BAA+B,EAC/B,oCAAoC,EACpC,gBAAgB,EAChB,gBAAgB,EAChB,sBAAsB,EACvB,MAAM,oBAAoB,CAAC;AAE5B;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,iBAAiB,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACzE;;;;OAIG;IACH,iBAAiB,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACzE;;;;OAIG;IACH,iBAAiB,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAAC;IACnF;;;;OAIG;IACH,kBAAkB,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAAC;IACrF;;;;OAIG;IACH,iBAAiB,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC;CAC7E;AAED;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC3C;;;;OAIG;IACH,wBAAwB,CAAC,MAAM,EAAE,gCAAgC,GAAG,OAAO,CAAC,+BAA+B,CAAC,CAAC;IAC7G;;;;OAIG;IACH,2BAA2B,CAAC,MAAM,EAAE,gCAAgC,GAAG,OAAO,CAAC,+BAA+B,CAAC,CAAC;IAChH;;;;OAIG;IACH,2BAA2B,CAAC,MAAM,EAAE,gCAAgC,GAAG,OAAO,CAAC,+BAA+B,CAAC,CAAC;IAChH;;;;OAIG;IACH,uBAAuB,CAAC,MAAM,EAAE,oCAAoC,GAAG,OAAO,CAAC,+BAA+B,CAAC,CAAC;CACjH;AACD,cAAc,gBAAgB,CAAC"}
@@ -1,2 +1,2 @@
1
1
  export * from './acvm_wasm.js';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2ltdWxhdG9yL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWdFQSxjQUFjLGdCQUFnQixDQUFDIn0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2ltdWxhdG9yL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQStFQSxjQUFjLGdCQUFnQixDQUFDIn0=
@@ -36,8 +36,9 @@ export declare class ContractsDataSourcePublicDB implements PublicContractsDB {
36
36
  */
37
37
  export declare class WorldStatePublicDB implements PublicStateDB {
38
38
  private db;
39
- private commitedWriteCache;
40
- private uncommitedWriteCache;
39
+ private committedWriteCache;
40
+ private checkpointedWriteCache;
41
+ private uncommittedWriteCache;
41
42
  constructor(db: MerkleTreeOperations);
42
43
  /**
43
44
  * Reads a value from public storage, returning zero if none.
@@ -62,7 +63,9 @@ export declare class WorldStatePublicDB implements PublicStateDB {
62
63
  * Rollback the pending changes.
63
64
  * @returns Nothing.
64
65
  */
65
- rollback(): Promise<void>;
66
+ rollbackToCommit(): Promise<void>;
67
+ checkpoint(): Promise<void>;
68
+ rollbackToCheckpoint(): Promise<void>;
66
69
  }
67
70
  /**
68
71
  * Implements WorldState db using a world state database.
@@ -1 +1 @@
1
- {"version":3,"file":"public_executor.d.ts","sourceRoot":"","sources":["../../src/simulator/public_executor.ts"],"names":[],"mappings":";AAAA,OAAO,EACL,kBAAkB,EAElB,mBAAmB,EAEnB,0BAA0B,EAC1B,EAAE,EAEH,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,YAAY,EAGZ,UAAU,EACV,EAAE,EACF,gBAAgB,EAChB,wBAAwB,EAIzB,MAAM,oBAAoB,CAAC;AAK5B,OAAO,EAAE,aAAa,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC5G,OAAO,EAAuB,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAC1F,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE1D;;;GAGG;AACH,qBAAa,2BAA4B,YAAW,iBAAiB;;IAOvD,OAAO,CAAC,EAAE;IANtB,OAAO,CAAC,KAAK,CAA2C;IACxD,OAAO,CAAC,aAAa,CAAkD;IACvE,OAAO,CAAC,UAAU,CAA0C;IAE5D,OAAO,CAAC,GAAG,CAA8D;gBAErD,EAAE,EAAE,kBAAkB;IAE1C;;;OAGG;IACI,eAAe,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAiB7C;;;OAGG;IACI,kBAAkB,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAcnC,mBAAmB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,2BAA2B,GAAG,SAAS,CAAC;IAInG,WAAW,CAAC,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAK3F,aAAa,CAAC,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;IAK9F,wBAAwB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;CA+BvF;AAED;;GAEG;AACH,qBAAa,kBAAmB,YAAW,aAAa;IAI1C,OAAO,CAAC,EAAE;IAHtB,OAAO,CAAC,kBAAkB,CAA8B;IACxD,OAAO,CAAC,oBAAoB,CAA8B;gBAEtC,EAAE,EAAE,oBAAoB;IAE5C;;;;;OAKG;IACU,WAAW,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC;IAwBvE;;;;;OAKG;IACI,YAAY,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAMlF;;;OAGG;IACH,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAOvB;;;OAGG;IACH,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAI1B;AAED;;GAEG;AACH,qBAAa,YAAa,YAAW,aAAa;IACpC,OAAO,CAAC,EAAE;IAAwB,OAAO,CAAC,mBAAmB;gBAArD,EAAE,EAAE,oBAAoB,EAAU,mBAAmB,EAAE,mBAAmB;IAEjF,0CAA0C,CACrD,SAAS,EAAE,EAAE,GACZ,OAAO,CAAC,0BAA0B,GAAG,SAAS,CAAC;IAqBrC,0BAA0B,CACrC,QAAQ,EAAE,EAAE,GACX,OAAO,CAAC,uBAAuB,CAAC,OAAO,wBAAwB,CAAC,CAAC;IAYvD,kBAAkB,CAAC,UAAU,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAI/D,iBAAiB,CAAC,SAAS,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;CAG3E"}
1
+ {"version":3,"file":"public_executor.d.ts","sourceRoot":"","sources":["../../src/simulator/public_executor.ts"],"names":[],"mappings":";AAAA,OAAO,EACL,kBAAkB,EAElB,mBAAmB,EAEnB,0BAA0B,EAC1B,EAAE,EAEH,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,YAAY,EAGZ,UAAU,EACV,EAAE,EACF,gBAAgB,EAChB,wBAAwB,EAIzB,MAAM,oBAAoB,CAAC;AAK5B,OAAO,EAAE,aAAa,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC5G,OAAO,EAAuB,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAC1F,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE1D;;;GAGG;AACH,qBAAa,2BAA4B,YAAW,iBAAiB;;IAOvD,OAAO,CAAC,EAAE;IANtB,OAAO,CAAC,KAAK,CAA2C;IACxD,OAAO,CAAC,aAAa,CAAkD;IACvE,OAAO,CAAC,UAAU,CAA0C;IAE5D,OAAO,CAAC,GAAG,CAA8D;gBAErD,EAAE,EAAE,kBAAkB;IAE1C;;;OAGG;IACI,eAAe,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAiB7C;;;OAGG;IACI,kBAAkB,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAcnC,mBAAmB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,2BAA2B,GAAG,SAAS,CAAC;IAInG,WAAW,CAAC,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAK3F,aAAa,CAAC,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;IAK9F,wBAAwB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;CA+BvF;AAED;;GAEG;AACH,qBAAa,kBAAmB,YAAW,aAAa;IAK1C,OAAO,CAAC,EAAE;IAJtB,OAAO,CAAC,mBAAmB,CAA8B;IACzD,OAAO,CAAC,sBAAsB,CAA8B;IAC5D,OAAO,CAAC,qBAAqB,CAA8B;gBAEvC,EAAE,EAAE,oBAAoB;IAE5C;;;;;OAKG;IACU,WAAW,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC;IA4BvE;;;;;OAKG;IACI,YAAY,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAMlF;;;OAGG;IACH,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAYvB;;;OAGG;IACG,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAMvC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAO3B,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;CAItC;AAED;;GAEG;AACH,qBAAa,YAAa,YAAW,aAAa;IACpC,OAAO,CAAC,EAAE;IAAwB,OAAO,CAAC,mBAAmB;gBAArD,EAAE,EAAE,oBAAoB,EAAU,mBAAmB,EAAE,mBAAmB;IAEjF,0CAA0C,CACrD,SAAS,EAAE,EAAE,GACZ,OAAO,CAAC,0BAA0B,GAAG,SAAS,CAAC;IAqBrC,0BAA0B,CACrC,QAAQ,EAAE,EAAE,GACX,OAAO,CAAC,uBAAuB,CAAC,OAAO,wBAAwB,CAAC,CAAC;IAYvD,kBAAkB,CAAC,UAAU,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAI/D,iBAAiB,CAAC,SAAS,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;CAG3E"}
@@ -89,8 +89,9 @@ _ContractsDataSourcePublicDB_instances = new WeakSet(), _ContractsDataSourcePubl
89
89
  export class WorldStatePublicDB {
90
90
  constructor(db) {
91
91
  this.db = db;
92
- this.commitedWriteCache = new Map();
93
- this.uncommitedWriteCache = new Map();
92
+ this.committedWriteCache = new Map();
93
+ this.checkpointedWriteCache = new Map();
94
+ this.uncommittedWriteCache = new Map();
94
95
  }
95
96
  /**
96
97
  * Reads a value from public storage, returning zero if none.
@@ -100,13 +101,17 @@ export class WorldStatePublicDB {
100
101
  */
101
102
  async storageRead(contract, slot) {
102
103
  const leafSlot = computePublicDataTreeLeafSlot(contract, slot).value;
103
- const uncommited = this.uncommitedWriteCache.get(leafSlot);
104
- if (uncommited !== undefined) {
105
- return uncommited;
104
+ const uncommitted = this.uncommittedWriteCache.get(leafSlot);
105
+ if (uncommitted !== undefined) {
106
+ return uncommitted;
106
107
  }
107
- const commited = this.commitedWriteCache.get(leafSlot);
108
- if (commited !== undefined) {
109
- return commited;
108
+ const checkpointed = this.checkpointedWriteCache.get(leafSlot);
109
+ if (checkpointed !== undefined) {
110
+ return checkpointed;
111
+ }
112
+ const committed = this.committedWriteCache.get(leafSlot);
113
+ if (committed !== undefined) {
114
+ return committed;
110
115
  }
111
116
  const lowLeafResult = await this.db.getPreviousValueIndex(MerkleTreeId.PUBLIC_DATA_TREE, leafSlot);
112
117
  if (!lowLeafResult || !lowLeafResult.alreadyPresent) {
@@ -123,7 +128,7 @@ export class WorldStatePublicDB {
123
128
  */
124
129
  storageWrite(contract, slot, newValue) {
125
130
  const index = computePublicDataTreeLeafSlot(contract, slot).value;
126
- this.uncommitedWriteCache.set(index, newValue);
131
+ this.uncommittedWriteCache.set(index, newValue);
127
132
  return Promise.resolve();
128
133
  }
129
134
  /**
@@ -131,17 +136,33 @@ export class WorldStatePublicDB {
131
136
  * @returns Nothing.
132
137
  */
133
138
  commit() {
134
- for (const [k, v] of this.uncommitedWriteCache) {
135
- this.commitedWriteCache.set(k, v);
139
+ for (const [k, v] of this.checkpointedWriteCache) {
140
+ this.committedWriteCache.set(k, v);
141
+ }
142
+ // uncommitted writes take precedence over checkpointed writes
143
+ // since they are the most recent
144
+ for (const [k, v] of this.uncommittedWriteCache) {
145
+ this.committedWriteCache.set(k, v);
136
146
  }
137
- return this.rollback();
147
+ return this.rollbackToCommit();
138
148
  }
139
149
  /**
140
150
  * Rollback the pending changes.
141
151
  * @returns Nothing.
142
152
  */
143
- rollback() {
144
- this.uncommitedWriteCache = new Map();
153
+ async rollbackToCommit() {
154
+ await this.rollbackToCheckpoint();
155
+ this.checkpointedWriteCache = new Map();
156
+ return Promise.resolve();
157
+ }
158
+ checkpoint() {
159
+ for (const [k, v] of this.uncommittedWriteCache) {
160
+ this.checkpointedWriteCache.set(k, v);
161
+ }
162
+ return this.rollbackToCheckpoint();
163
+ }
164
+ rollbackToCheckpoint() {
165
+ this.uncommittedWriteCache = new Map();
145
166
  return Promise.resolve();
146
167
  }
147
168
  }
@@ -181,4 +202,4 @@ export class WorldStateDB {
181
202
  return await this.db.findLeafIndex(MerkleTreeId.NULLIFIER_TREE, nullifier.toBuffer());
182
203
  }
183
204
  }
184
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2V4ZWN1dG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NpbXVsYXRvci9wdWJsaWNfZXhlY3V0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBRUwsb0JBQW9CLEVBRXBCLFlBQVksRUFDWiwwQkFBMEIsRUFFMUIsZ0JBQWdCLEdBQ2pCLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUVMLDRCQUE0QixFQUM1Qiw2QkFBNkIsRUFFN0IsRUFBRSxHQU1ILE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDeEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDcEYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDdEYsT0FBTyxFQUFpQix1QkFBdUIsRUFBb0MsTUFBTSxrQkFBa0IsQ0FBQztBQUk1Rzs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sMkJBQTJCO0lBT3RDLFlBQW9CLEVBQXNCOztRQUF0QixPQUFFLEdBQUYsRUFBRSxDQUFvQjtRQU5sQyxVQUFLLEdBQUcsSUFBSSxHQUFHLEVBQWdDLENBQUM7UUFDaEQsa0JBQWEsR0FBRyxJQUFJLEdBQUcsRUFBdUMsQ0FBQztRQUMvRCxlQUFVLEdBQUcsSUFBSSxHQUFHLEVBQStCLENBQUM7UUFFcEQsUUFBRyxHQUFHLGlCQUFpQixDQUFDLHVDQUF1QyxDQUFDLENBQUM7SUFFNUIsQ0FBQztJQUU5Qzs7O09BR0c7SUFDSSxlQUFlLENBQUMsRUFBTTtRQUMzQixxRkFBcUY7UUFDckYsTUFBTSxJQUFJLEdBQUcsRUFBRSxDQUFDLGVBQWUsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLENBQUM7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
205
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2V4ZWN1dG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NpbXVsYXRvci9wdWJsaWNfZXhlY3V0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBRUwsb0JBQW9CLEVBRXBCLFlBQVksRUFDWiwwQkFBMEIsRUFFMUIsZ0JBQWdCLEdBQ2pCLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUVMLDRCQUE0QixFQUM1Qiw2QkFBNkIsRUFFN0IsRUFBRSxHQU1ILE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDeEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDcEYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDdEYsT0FBTyxFQUFpQix1QkFBdUIsRUFBb0MsTUFBTSxrQkFBa0IsQ0FBQztBQUk1Rzs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sMkJBQTJCO0lBT3RDLFlBQW9CLEVBQXNCOztRQUF0QixPQUFFLEdBQUYsRUFBRSxDQUFvQjtRQU5sQyxVQUFLLEdBQUcsSUFBSSxHQUFHLEVBQWdDLENBQUM7UUFDaEQsa0JBQWEsR0FBRyxJQUFJLEdBQUcsRUFBdUMsQ0FBQztRQUMvRCxlQUFVLEdBQUcsSUFBSSxHQUFHLEVBQStCLENBQUM7UUFFcEQsUUFBRyxHQUFHLGlCQUFpQixDQUFDLHVDQUF1QyxDQUFDLENBQUM7SUFFNUIsQ0FBQztJQUU5Qzs7O09BR0c7SUFDSSxlQUFlLENBQUMsRUFBTTtRQUMzQixxRkFBcUY7UUFDckYsTUFBTSxJQUFJLEdBQUcsRUFBRSxDQUFDLGVBQWUsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLENBQUM7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
@@ -1,4 +1,4 @@
1
- import { BaseOrMergeRollupPublicInputs, BaseRollupInputs, MergeRollupInputs, RootRollupInputs, RootRollupPublicInputs } from '@aztec/circuits.js';
1
+ import { BaseOrMergeRollupPublicInputs, BaseParityInputs, BaseRollupInputs, MergeRollupInputs, ParityPublicInputs, RootParityInputs, RootRollupInputs, RootRollupPublicInputs } from '@aztec/circuits.js';
2
2
  import { RollupSimulator } from './index.js';
3
3
  import { SimulationProvider } from './simulation_provider.js';
4
4
  /**
@@ -9,6 +9,18 @@ export declare class RealRollupCircuitSimulator implements RollupSimulator {
9
9
  private log;
10
10
  private wasmSimulator;
11
11
  constructor(simulationProvider: SimulationProvider);
12
+ /**
13
+ * Simulates the base parity circuit from its inputs.
14
+ * @param inputs - Inputs to the circuit.
15
+ * @returns The public inputs of the parity circuit.
16
+ */
17
+ baseParityCircuit(inputs: BaseParityInputs): Promise<ParityPublicInputs>;
18
+ /**
19
+ * Simulates the root parity circuit from its inputs.
20
+ * @param inputs - Inputs to the circuit.
21
+ * @returns The public inputs of the parity circuit.
22
+ */
23
+ rootParityCircuit(inputs: RootParityInputs): Promise<ParityPublicInputs>;
12
24
  /**
13
25
  * Simulates the base rollup circuit from its inputs.
14
26
  * @param input - Inputs to the circuit.
@@ -1 +1 @@
1
- {"version":3,"file":"rollup.d.ts","sourceRoot":"","sources":["../../src/simulator/rollup.ts"],"names":[],"mappings":"AACA,OAAO,EACL,6BAA6B,EAC7B,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,EACvB,MAAM,oBAAoB,CAAC;AAe5B,OAAO,EAAE,eAAe,EAAiB,MAAM,YAAY,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D;;GAEG;AACH,qBAAa,0BAA2B,YAAW,eAAe;IAMpD,OAAO,CAAC,kBAAkB;IALtC,OAAO,CAAC,GAAG,CAA+C;IAG1D,OAAO,CAAC,aAAa,CAAsC;gBAEvC,kBAAkB,EAAE,kBAAkB;IAE1D;;;;OAIG;IACU,iBAAiB,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAS/F;;;;OAIG;IACU,kBAAkB,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAUjG;;;;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":"AACA,OAAO,EACL,6BAA6B,EAC7B,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,sBAAsB,EACvB,MAAM,oBAAoB,CAAC;AAqB5B,OAAO,EAAE,eAAe,EAAiB,MAAM,YAAY,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D;;GAEG;AACH,qBAAa,0BAA2B,YAAW,eAAe;IAMpD,OAAO,CAAC,kBAAkB;IALtC,OAAO,CAAC,GAAG,CAA+C;IAG1D,OAAO,CAAC,aAAa,CAAsC;gBAEvC,kBAAkB,EAAE,kBAAkB;IAE1D;;;;OAIG;IACU,iBAAiB,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAUrF;;;;OAIG;IACU,iBAAiB,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAUrF;;;;OAIG;IACU,iBAAiB,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAS/F;;;;OAIG;IACU,kBAAkB,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAUjG;;;;OAIG;IACU,iBAAiB,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,sBAAsB,CAAC;CAiBzF"}
@@ -1,6 +1,6 @@
1
1
  import { createDebugLogger } from '@aztec/foundation/log';
2
2
  import { elapsed } from '@aztec/foundation/timer';
3
- import { BaseRollupArtifact, MergeRollupArtifact, RootRollupArtifact, convertBaseRollupInputsToWitnessMap, convertBaseRollupOutputsFromWitnessMap, convertMergeRollupInputsToWitnessMap, convertMergeRollupOutputsFromWitnessMap, convertRootRollupInputsToWitnessMap, convertRootRollupOutputsFromWitnessMap, } from '@aztec/noir-protocol-circuits-types';
3
+ import { BaseParityArtifact, BaseRollupArtifact, MergeRollupArtifact, RootParityArtifact, RootRollupArtifact, convertBaseParityInputsToWitnessMap, convertBaseParityOutputsFromWitnessMap, convertBaseRollupInputsToWitnessMap, convertBaseRollupOutputsFromWitnessMap, convertMergeRollupInputsToWitnessMap, convertMergeRollupOutputsFromWitnessMap, convertRootParityInputsToWitnessMap, convertRootParityOutputsFromWitnessMap, convertRootRollupInputsToWitnessMap, convertRootRollupOutputsFromWitnessMap, } from '@aztec/noir-protocol-circuits-types';
4
4
  import { WASMSimulator } from './index.js';
5
5
  /**
6
6
  * Implements the rollup circuit simulator.
@@ -12,6 +12,28 @@ export class RealRollupCircuitSimulator {
12
12
  // Some circuits are so small it is faster to use WASM
13
13
  this.wasmSimulator = new WASMSimulator();
14
14
  }
15
+ /**
16
+ * Simulates the base parity circuit from its inputs.
17
+ * @param inputs - Inputs to the circuit.
18
+ * @returns The public inputs of the parity circuit.
19
+ */
20
+ async baseParityCircuit(inputs) {
21
+ const witnessMap = convertBaseParityInputsToWitnessMap(inputs);
22
+ const witness = await this.simulationProvider.simulateCircuit(witnessMap, BaseParityArtifact);
23
+ const result = convertBaseParityOutputsFromWitnessMap(witness);
24
+ return Promise.resolve(result);
25
+ }
26
+ /**
27
+ * Simulates the root parity circuit from its inputs.
28
+ * @param inputs - Inputs to the circuit.
29
+ * @returns The public inputs of the parity circuit.
30
+ */
31
+ async rootParityCircuit(inputs) {
32
+ const witnessMap = convertRootParityInputsToWitnessMap(inputs);
33
+ const witness = await this.simulationProvider.simulateCircuit(witnessMap, RootParityArtifact);
34
+ const result = convertRootParityOutputsFromWitnessMap(witness);
35
+ return Promise.resolve(result);
36
+ }
15
37
  /**
16
38
  * Simulates the base rollup circuit from its inputs.
17
39
  * @param input - Inputs to the circuit.
@@ -53,4 +75,4 @@ export class RealRollupCircuitSimulator {
53
75
  return result;
54
76
  }
55
77
  }
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sbHVwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NpbXVsYXRvci9yb2xsdXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBUUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2xELE9BQU8sRUFDTCxrQkFBa0IsRUFDbEIsbUJBQW1CLEVBQ25CLGtCQUFrQixFQUNsQixtQ0FBbUMsRUFDbkMsc0NBQXNDLEVBQ3RDLG9DQUFvQyxFQUNwQyx1Q0FBdUMsRUFDdkMsbUNBQW1DLEVBQ25DLHNDQUFzQyxHQUN2QyxNQUFNLHFDQUFxQyxDQUFDO0FBRTdDLE9BQU8sRUFBbUIsYUFBYSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRzVEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLDBCQUEwQjtJQU1yQyxZQUFvQixrQkFBc0M7UUFBdEMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUxsRCxRQUFHLEdBQUcsaUJBQWlCLENBQUMsd0JBQXdCLENBQUMsQ0FBQztRQUUxRCxzREFBc0Q7UUFDOUMsa0JBQWEsR0FBa0IsSUFBSSxhQUFhLEVBQUUsQ0FBQztJQUVFLENBQUM7SUFFOUQ7Ozs7T0FJRztJQUNJLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxLQUF1QjtRQUNwRCxNQUFNLFVBQVUsR0FBRyxtQ0FBbUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUU5RCxNQUFNLE9BQU8sR0FBRyxNQUFNLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxlQUFlLENBQUMsVUFBVSxFQUFFLGtCQUFrQixDQUFDLENBQUM7UUFFOUYsTUFBTSxNQUFNLEdBQUcsc0NBQXNDLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFL0QsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFDRDs7OztPQUlHO0lBQ0ksS0FBSyxDQUFDLGtCQUFrQixDQUFDLEtBQXdCO1FBQ3RELE1BQU0sVUFBVSxHQUFHLG9DQUFvQyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRS9ELE1BQU0sT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUMsVUFBVSxFQUFFLG1CQUFtQixDQUFDLENBQUM7UUFFMUYsTUFBTSxNQUFNLEdBQUcsdUNBQXVDLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFaEUsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxLQUFLLENBQUMsaUJBQWlCLENBQUMsS0FBdUI7UUFDcEQsTUFBTSxVQUFVLEdBQUcsbUNBQW1DLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFOUQsTUFBTSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsR0FBRyxNQUFNLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQyxVQUFVLEVBQUUsa0JBQWtCLENBQUMsQ0FBQyxDQUFDO1FBRXBILE1BQU0sTUFBTSxHQUFHLHNDQUFzQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRS9ELElBQUksQ0FBQyxHQUFHLENBQUMsK0JBQStCLEVBQUU7WUFDeEMsU0FBUyxFQUFFLG9CQUFvQjtZQUMvQixXQUFXLEVBQUUsYUFBYTtZQUMxQixRQUFRO1lBQ1IsU0FBUyxFQUFFLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxNQUFNO1lBQ2xDLFVBQVUsRUFBRSxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUMsTUFBTTtTQUNKLENBQUMsQ0FBQztRQUVwQyxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0NBQ0YifQ==
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sbHVwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NpbXVsYXRvci9yb2xsdXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBV0EsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2xELE9BQU8sRUFDTCxrQkFBa0IsRUFDbEIsa0JBQWtCLEVBQ2xCLG1CQUFtQixFQUNuQixrQkFBa0IsRUFDbEIsa0JBQWtCLEVBQ2xCLG1DQUFtQyxFQUNuQyxzQ0FBc0MsRUFDdEMsbUNBQW1DLEVBQ25DLHNDQUFzQyxFQUN0QyxvQ0FBb0MsRUFDcEMsdUNBQXVDLEVBQ3ZDLG1DQUFtQyxFQUNuQyxzQ0FBc0MsRUFDdEMsbUNBQW1DLEVBQ25DLHNDQUFzQyxHQUN2QyxNQUFNLHFDQUFxQyxDQUFDO0FBRTdDLE9BQU8sRUFBbUIsYUFBYSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRzVEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLDBCQUEwQjtJQU1yQyxZQUFvQixrQkFBc0M7UUFBdEMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUxsRCxRQUFHLEdBQUcsaUJBQWlCLENBQUMsd0JBQXdCLENBQUMsQ0FBQztRQUUxRCxzREFBc0Q7UUFDOUMsa0JBQWEsR0FBa0IsSUFBSSxhQUFhLEVBQUUsQ0FBQztJQUVFLENBQUM7SUFFOUQ7Ozs7T0FJRztJQUNJLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxNQUF3QjtRQUNyRCxNQUFNLFVBQVUsR0FBRyxtQ0FBbUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUUvRCxNQUFNLE9BQU8sR0FBRyxNQUFNLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxlQUFlLENBQUMsVUFBVSxFQUFFLGtCQUFrQixDQUFDLENBQUM7UUFFOUYsTUFBTSxNQUFNLEdBQUcsc0NBQXNDLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFL0QsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksS0FBSyxDQUFDLGlCQUFpQixDQUFDLE1BQXdCO1FBQ3JELE1BQU0sVUFBVSxHQUFHLG1DQUFtQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRS9ELE1BQU0sT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDLGtCQUFrQixDQUFDLGVBQWUsQ0FBQyxVQUFVLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztRQUU5RixNQUFNLE1BQU0sR0FBRyxzQ0FBc0MsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUUvRCxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxLQUFLLENBQUMsaUJBQWlCLENBQUMsS0FBdUI7UUFDcEQsTUFBTSxVQUFVLEdBQUcsbUNBQW1DLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFOUQsTUFBTSxPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsa0JBQWtCLENBQUMsZUFBZSxDQUFDLFVBQVUsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO1FBRTlGLE1BQU0sTUFBTSxHQUFHLHNDQUFzQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRS9ELE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBQ0Q7Ozs7T0FJRztJQUNJLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxLQUF3QjtRQUN0RCxNQUFNLFVBQVUsR0FBRyxvQ0FBb0MsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUUvRCxNQUFNLE9BQU8sR0FBRyxNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLFVBQVUsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO1FBRTFGLE1BQU0sTUFBTSxHQUFHLHVDQUF1QyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRWhFLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksS0FBSyxDQUFDLGlCQUFpQixDQUFDLEtBQXVCO1FBQ3BELE1BQU0sVUFBVSxHQUFHLG1DQUFtQyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTlELE1BQU0sQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLEdBQUcsTUFBTSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUMsVUFBVSxFQUFFLGtCQUFrQixDQUFDLENBQUMsQ0FBQztRQUVwSCxNQUFNLE1BQU0sR0FBRyxzQ0FBc0MsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUUvRCxJQUFJLENBQUMsR0FBRyxDQUFDLCtCQUErQixFQUFFO1lBQ3hDLFNBQVMsRUFBRSxvQkFBb0I7WUFDL0IsV0FBVyxFQUFFLGFBQWE7WUFDMUIsUUFBUTtZQUNSLFNBQVMsRUFBRSxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsTUFBTTtZQUNsQyxVQUFVLEVBQUUsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDLE1BQU07U0FDSixDQUFDLENBQUM7UUFFcEMsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztDQUNGIn0=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aztec/sequencer-client",
3
- "version": "0.27.2",
3
+ "version": "0.28.1",
4
4
  "type": "module",
5
5
  "exports": "./dest/index.js",
6
6
  "typedocOptions": {
@@ -21,18 +21,18 @@
21
21
  "test:integration:run": "NODE_NO_WARNINGS=1 node --experimental-vm-modules $(yarn bin jest) --no-cache --config jest.integration.config.json"
22
22
  },
23
23
  "dependencies": {
24
- "@aztec/circuit-types": "0.27.2",
25
- "@aztec/circuits.js": "0.27.2",
26
- "@aztec/ethereum": "0.27.2",
27
- "@aztec/foundation": "0.27.2",
28
- "@aztec/l1-artifacts": "0.27.2",
29
- "@aztec/merkle-tree": "0.27.2",
30
- "@aztec/noir-protocol-circuits-types": "0.27.2",
31
- "@aztec/p2p": "0.27.2",
32
- "@aztec/protocol-contracts": "0.27.2",
33
- "@aztec/simulator": "0.27.2",
34
- "@aztec/types": "0.27.2",
35
- "@aztec/world-state": "0.27.2",
24
+ "@aztec/circuit-types": "0.28.1",
25
+ "@aztec/circuits.js": "0.28.1",
26
+ "@aztec/ethereum": "0.28.1",
27
+ "@aztec/foundation": "0.28.1",
28
+ "@aztec/l1-artifacts": "0.28.1",
29
+ "@aztec/merkle-tree": "0.28.1",
30
+ "@aztec/noir-protocol-circuits-types": "0.28.1",
31
+ "@aztec/p2p": "0.28.1",
32
+ "@aztec/protocol-contracts": "0.28.1",
33
+ "@aztec/simulator": "0.28.1",
34
+ "@aztec/types": "0.28.1",
35
+ "@aztec/world-state": "0.28.1",
36
36
  "@noir-lang/acvm_js": "portal:../../noir/packages/acvm_js",
37
37
  "@noir-lang/types": "portal:../../noir/packages/types",
38
38
  "lodash.chunk": "^4.2.0",
@@ -13,12 +13,14 @@ export interface BlockBuilder {
13
13
  * Note that the number of txs need to be a power of two.
14
14
  * @param globalVariables - Global variables to include in the block.
15
15
  * @param txs - Processed txs to include.
16
+ * @param newModelL1ToL2Messages - L1 to L2 messages emitted by the new inbox.
16
17
  * @param newL1ToL2Messages - L1 to L2 messages to be part of the block.
17
18
  * @returns The new L2 block along with its proof from the root circuit.
18
19
  */
19
20
  buildL2Block(
20
21
  globalVariables: GlobalVariables,
21
22
  txs: ProcessedTx[],
22
- newL1ToL2Messages: Fr[],
23
+ newModelL1ToL2Messages: Fr[], // TODO(#4492): Rename this when purging the old inbox
24
+ newL1ToL2Messages: Fr[], // TODO(#4492): Nuke this when purging the old inbox
23
25
  ): Promise<[L2Block, Proof]>;
24
26
  }