@aztec/prover-client 0.0.1-commit.ffe5b04ea → 0.0.1-commit.fff30aa

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.
@@ -42,11 +42,8 @@ export declare class LightweightCheckpointBuilder {
42
42
  addBlock(globalVariables: GlobalVariables, txs: ProcessedTx[], opts?: {
43
43
  insertTxsEffects?: boolean;
44
44
  expectedEndState?: StateReference;
45
- }): Promise<{
46
- block: L2Block;
47
- timings: Record<string, number>;
48
- }>;
45
+ }): Promise<L2Block>;
49
46
  completeCheckpoint(): Promise<Checkpoint>;
50
47
  clone(): LightweightCheckpointBuilder;
51
48
  }
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlnaHR3ZWlnaHRfY2hlY2twb2ludF9idWlsZGVyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGlnaHQvbGlnaHR3ZWlnaHRfY2hlY2twb2ludF9idWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxLQUFLLGdCQUFnQixFQUF5QixNQUFNLGlDQUFpQyxDQUFDO0FBRS9GLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEVBQWUsS0FBSyxjQUFjLEVBQWdCLE1BQU0sdUJBQXVCLENBQUM7QUFFdkYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN0RCxPQUFPLEtBQUssRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBUWpGLE9BQU8sRUFDTCxLQUFLLHlCQUF5QixFQUM5QixLQUFLLGVBQWUsRUFDcEIsS0FBSyxXQUFXLEVBQ2hCLGNBQWMsRUFDZixNQUFNLGtCQUFrQixDQUFDO0FBUTFCOzs7OztHQUtHO0FBQ0gscUJBQWEsNEJBQTRCO2FBU3JCLGdCQUFnQixFQUFFLGdCQUFnQjthQUNsQyxTQUFTLEVBQUUseUJBQXlCO0lBQzdDLHFCQUFxQixFQUFFLE1BQU07YUFDcEIsY0FBYyxFQUFFLEVBQUUsRUFBRTtJQUNwQyxPQUFPLENBQUMsUUFBUSxDQUFDLDJCQUEyQjthQUM1QixFQUFFLEVBQUUseUJBQXlCO0lBYi9DLE9BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFTO0lBRWhDLE9BQU8sQ0FBQyxZQUFZLENBQWdDO0lBQ3BELE9BQU8sQ0FBQyxVQUFVLENBQWE7SUFDL0IsT0FBTyxDQUFDLE1BQU0sQ0FBaUI7SUFDL0IsT0FBTyxDQUFDLFVBQVUsQ0FBWTtJQUU5QixZQUNrQixnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFDbEMsU0FBUyxFQUFFLHlCQUF5QixFQUM3QyxxQkFBcUIsRUFBRSxNQUFNLEVBQ3BCLGNBQWMsRUFBRSxFQUFFLEVBQUUsRUFDbkIsMkJBQTJCLEVBQUUsRUFBRSxFQUFFLEVBQ2xDLEVBQUUsRUFBRSx5QkFBeUIsRUFDN0MsUUFBUSxDQUFDLEVBQUUsY0FBYyxFQVExQjtJQUVELE9BQWEsa0JBQWtCLENBQzdCLGdCQUFnQixFQUFFLGdCQUFnQixFQUNsQyxTQUFTLEVBQUUseUJBQXlCLEVBQ3BDLGNBQWMsRUFBRSxFQUFFLEVBQUUsRUFDcEIsMkJBQTJCLEVBQUUsRUFBRSxFQUFFLEVBQ2pDLEVBQUUsRUFBRSx5QkFBeUIsRUFDN0IsUUFBUSxDQUFDLEVBQUUsY0FBYyxFQUN6QixxQkFBcUIsR0FBRSxNQUFXLEdBQ2pDLE9BQU8sQ0FBQyw0QkFBNEIsQ0FBQyxDQWdCdkM7SUFFRDs7Ozs7T0FLRztJQUNILE9BQWEsZ0JBQWdCLENBQzNCLGdCQUFnQixFQUFFLGdCQUFnQixFQUNsQyxTQUFTLEVBQUUseUJBQXlCLEVBQ3BDLHFCQUFxQixFQUFFLE1BQU0sRUFDN0IsY0FBYyxFQUFFLEVBQUUsRUFBRSxFQUNwQiwyQkFBMkIsRUFBRSxFQUFFLEVBQUUsRUFDakMsRUFBRSxFQUFFLHlCQUF5QixFQUM3QixjQUFjLEVBQUUsT0FBTyxFQUFFLEVBQ3pCLFFBQVEsQ0FBQyxFQUFFLGNBQWMsR0FDeEIsT0FBTyxDQUFDLDRCQUE0QixDQUFDLENBK0N2QztJQUVELHdFQUF3RTtJQUNqRSxhQUFhLFdBRW5CO0lBRU0sU0FBUyxjQUVmO0lBRUQ7OztPQUdHO0lBQ1UsUUFBUSxDQUNuQixlQUFlLEVBQUUsZUFBZSxFQUNoQyxHQUFHLEVBQUUsV0FBVyxFQUFFLEVBQ2xCLElBQUksR0FBRTtRQUFFLGdCQUFnQixDQUFDLEVBQUUsT0FBTyxDQUFDO1FBQUMsZ0JBQWdCLENBQUMsRUFBRSxjQUFjLENBQUE7S0FBTyxHQUMzRSxPQUFPLENBQUM7UUFBRSxLQUFLLEVBQUUsT0FBTyxDQUFDO1FBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUE7S0FBRSxDQUFDLENBdUU5RDtJQUVLLGtCQUFrQixJQUFJLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0E2QzlDO0lBRUQsS0FBSyxpQ0FlSjtDQUNGIn0=
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlnaHR3ZWlnaHRfY2hlY2twb2ludF9idWlsZGVyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGlnaHQvbGlnaHR3ZWlnaHRfY2hlY2twb2ludF9idWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxLQUFLLGdCQUFnQixFQUF5QixNQUFNLGlDQUFpQyxDQUFDO0FBRS9GLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEVBQWUsS0FBSyxjQUFjLEVBQWdCLE1BQU0sdUJBQXVCLENBQUM7QUFDdkYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN0RCxPQUFPLEtBQUssRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBUWpGLE9BQU8sRUFDTCxLQUFLLHlCQUF5QixFQUM5QixLQUFLLGVBQWUsRUFDcEIsS0FBSyxXQUFXLEVBQ2hCLGNBQWMsRUFDZixNQUFNLGtCQUFrQixDQUFDO0FBUTFCOzs7OztHQUtHO0FBQ0gscUJBQWEsNEJBQTRCO2FBU3JCLGdCQUFnQixFQUFFLGdCQUFnQjthQUNsQyxTQUFTLEVBQUUseUJBQXlCO0lBQzdDLHFCQUFxQixFQUFFLE1BQU07YUFDcEIsY0FBYyxFQUFFLEVBQUUsRUFBRTtJQUNwQyxPQUFPLENBQUMsUUFBUSxDQUFDLDJCQUEyQjthQUM1QixFQUFFLEVBQUUseUJBQXlCO0lBYi9DLE9BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFTO0lBRWhDLE9BQU8sQ0FBQyxZQUFZLENBQWdDO0lBQ3BELE9BQU8sQ0FBQyxVQUFVLENBQWE7SUFDL0IsT0FBTyxDQUFDLE1BQU0sQ0FBaUI7SUFDL0IsT0FBTyxDQUFDLFVBQVUsQ0FBWTtJQUU5QixZQUNrQixnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFDbEMsU0FBUyxFQUFFLHlCQUF5QixFQUM3QyxxQkFBcUIsRUFBRSxNQUFNLEVBQ3BCLGNBQWMsRUFBRSxFQUFFLEVBQUUsRUFDbkIsMkJBQTJCLEVBQUUsRUFBRSxFQUFFLEVBQ2xDLEVBQUUsRUFBRSx5QkFBeUIsRUFDN0MsUUFBUSxDQUFDLEVBQUUsY0FBYyxFQVExQjtJQUVELE9BQWEsa0JBQWtCLENBQzdCLGdCQUFnQixFQUFFLGdCQUFnQixFQUNsQyxTQUFTLEVBQUUseUJBQXlCLEVBQ3BDLGNBQWMsRUFBRSxFQUFFLEVBQUUsRUFDcEIsMkJBQTJCLEVBQUUsRUFBRSxFQUFFLEVBQ2pDLEVBQUUsRUFBRSx5QkFBeUIsRUFDN0IsUUFBUSxDQUFDLEVBQUUsY0FBYyxFQUN6QixxQkFBcUIsR0FBRSxNQUFXLEdBQ2pDLE9BQU8sQ0FBQyw0QkFBNEIsQ0FBQyxDQWdCdkM7SUFFRDs7Ozs7T0FLRztJQUNILE9BQWEsZ0JBQWdCLENBQzNCLGdCQUFnQixFQUFFLGdCQUFnQixFQUNsQyxTQUFTLEVBQUUseUJBQXlCLEVBQ3BDLHFCQUFxQixFQUFFLE1BQU0sRUFDN0IsY0FBYyxFQUFFLEVBQUUsRUFBRSxFQUNwQiwyQkFBMkIsRUFBRSxFQUFFLEVBQUUsRUFDakMsRUFBRSxFQUFFLHlCQUF5QixFQUM3QixjQUFjLEVBQUUsT0FBTyxFQUFFLEVBQ3pCLFFBQVEsQ0FBQyxFQUFFLGNBQWMsR0FDeEIsT0FBTyxDQUFDLDRCQUE0QixDQUFDLENBK0N2QztJQUVELHdFQUF3RTtJQUNqRSxhQUFhLFdBRW5CO0lBRU0sU0FBUyxjQUVmO0lBRUQ7OztPQUdHO0lBQ1UsUUFBUSxDQUNuQixlQUFlLEVBQUUsZUFBZSxFQUNoQyxHQUFHLEVBQUUsV0FBVyxFQUFFLEVBQ2xCLElBQUksR0FBRTtRQUFFLGdCQUFnQixDQUFDLEVBQUUsT0FBTyxDQUFDO1FBQUMsZ0JBQWdCLENBQUMsRUFBRSxjQUFjLENBQUE7S0FBTyxHQUMzRSxPQUFPLENBQUMsT0FBTyxDQUFDLENBd0VsQjtJQUVLLGtCQUFrQixJQUFJLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0E2QzlDO0lBRUQsS0FBSyxpQ0FlSjtDQUNGIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"lightweight_checkpoint_builder.d.ts","sourceRoot":"","sources":["../../src/light/lightweight_checkpoint_builder.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,gBAAgB,EAAyB,MAAM,iCAAiC,CAAC;AAE/F,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAe,KAAK,cAAc,EAAgB,MAAM,uBAAuB,CAAC;AAEvF,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAQjF,OAAO,EACL,KAAK,yBAAyB,EAC9B,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,cAAc,EACf,MAAM,kBAAkB,CAAC;AAQ1B;;;;;GAKG;AACH,qBAAa,4BAA4B;aASrB,gBAAgB,EAAE,gBAAgB;aAClC,SAAS,EAAE,yBAAyB;IAC7C,qBAAqB,EAAE,MAAM;aACpB,cAAc,EAAE,EAAE,EAAE;IACpC,OAAO,CAAC,QAAQ,CAAC,2BAA2B;aAC5B,EAAE,EAAE,yBAAyB;IAb/C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAEhC,OAAO,CAAC,YAAY,CAAgC;IACpD,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,UAAU,CAAY;IAE9B,YACkB,gBAAgB,EAAE,gBAAgB,EAClC,SAAS,EAAE,yBAAyB,EAC7C,qBAAqB,EAAE,MAAM,EACpB,cAAc,EAAE,EAAE,EAAE,EACnB,2BAA2B,EAAE,EAAE,EAAE,EAClC,EAAE,EAAE,yBAAyB,EAC7C,QAAQ,CAAC,EAAE,cAAc,EAQ1B;IAED,OAAa,kBAAkB,CAC7B,gBAAgB,EAAE,gBAAgB,EAClC,SAAS,EAAE,yBAAyB,EACpC,cAAc,EAAE,EAAE,EAAE,EACpB,2BAA2B,EAAE,EAAE,EAAE,EACjC,EAAE,EAAE,yBAAyB,EAC7B,QAAQ,CAAC,EAAE,cAAc,EACzB,qBAAqB,GAAE,MAAW,GACjC,OAAO,CAAC,4BAA4B,CAAC,CAgBvC;IAED;;;;;OAKG;IACH,OAAa,gBAAgB,CAC3B,gBAAgB,EAAE,gBAAgB,EAClC,SAAS,EAAE,yBAAyB,EACpC,qBAAqB,EAAE,MAAM,EAC7B,cAAc,EAAE,EAAE,EAAE,EACpB,2BAA2B,EAAE,EAAE,EAAE,EACjC,EAAE,EAAE,yBAAyB,EAC7B,cAAc,EAAE,OAAO,EAAE,EACzB,QAAQ,CAAC,EAAE,cAAc,GACxB,OAAO,CAAC,4BAA4B,CAAC,CA+CvC;IAED,wEAAwE;IACjE,aAAa,WAEnB;IAEM,SAAS,cAEf;IAED;;;OAGG;IACU,QAAQ,CACnB,eAAe,EAAE,eAAe,EAChC,GAAG,EAAE,WAAW,EAAE,EAClB,IAAI,GAAE;QAAE,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAAC,gBAAgB,CAAC,EAAE,cAAc,CAAA;KAAO,GAC3E,OAAO,CAAC;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,CAAC,CAuE9D;IAEK,kBAAkB,IAAI,OAAO,CAAC,UAAU,CAAC,CA6C9C;IAED,KAAK,iCAeJ;CACF"}
1
+ {"version":3,"file":"lightweight_checkpoint_builder.d.ts","sourceRoot":"","sources":["../../src/light/lightweight_checkpoint_builder.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,gBAAgB,EAAyB,MAAM,iCAAiC,CAAC;AAE/F,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAe,KAAK,cAAc,EAAgB,MAAM,uBAAuB,CAAC;AACvF,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAQjF,OAAO,EACL,KAAK,yBAAyB,EAC9B,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,cAAc,EACf,MAAM,kBAAkB,CAAC;AAQ1B;;;;;GAKG;AACH,qBAAa,4BAA4B;aASrB,gBAAgB,EAAE,gBAAgB;aAClC,SAAS,EAAE,yBAAyB;IAC7C,qBAAqB,EAAE,MAAM;aACpB,cAAc,EAAE,EAAE,EAAE;IACpC,OAAO,CAAC,QAAQ,CAAC,2BAA2B;aAC5B,EAAE,EAAE,yBAAyB;IAb/C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAEhC,OAAO,CAAC,YAAY,CAAgC;IACpD,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,UAAU,CAAY;IAE9B,YACkB,gBAAgB,EAAE,gBAAgB,EAClC,SAAS,EAAE,yBAAyB,EAC7C,qBAAqB,EAAE,MAAM,EACpB,cAAc,EAAE,EAAE,EAAE,EACnB,2BAA2B,EAAE,EAAE,EAAE,EAClC,EAAE,EAAE,yBAAyB,EAC7C,QAAQ,CAAC,EAAE,cAAc,EAQ1B;IAED,OAAa,kBAAkB,CAC7B,gBAAgB,EAAE,gBAAgB,EAClC,SAAS,EAAE,yBAAyB,EACpC,cAAc,EAAE,EAAE,EAAE,EACpB,2BAA2B,EAAE,EAAE,EAAE,EACjC,EAAE,EAAE,yBAAyB,EAC7B,QAAQ,CAAC,EAAE,cAAc,EACzB,qBAAqB,GAAE,MAAW,GACjC,OAAO,CAAC,4BAA4B,CAAC,CAgBvC;IAED;;;;;OAKG;IACH,OAAa,gBAAgB,CAC3B,gBAAgB,EAAE,gBAAgB,EAClC,SAAS,EAAE,yBAAyB,EACpC,qBAAqB,EAAE,MAAM,EAC7B,cAAc,EAAE,EAAE,EAAE,EACpB,2BAA2B,EAAE,EAAE,EAAE,EACjC,EAAE,EAAE,yBAAyB,EAC7B,cAAc,EAAE,OAAO,EAAE,EACzB,QAAQ,CAAC,EAAE,cAAc,GACxB,OAAO,CAAC,4BAA4B,CAAC,CA+CvC;IAED,wEAAwE;IACjE,aAAa,WAEnB;IAEM,SAAS,cAEf;IAED;;;OAGG;IACU,QAAQ,CACnB,eAAe,EAAE,eAAe,EAChC,GAAG,EAAE,WAAW,EAAE,EAClB,IAAI,GAAE;QAAE,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAAC,gBAAgB,CAAC,EAAE,cAAc,CAAA;KAAO,GAC3E,OAAO,CAAC,OAAO,CAAC,CAwElB;IAEK,kBAAkB,IAAI,OAAO,CAAC,UAAU,CAAC,CA6C9C;IAED,KAAK,iCAeJ;CACF"}
@@ -4,7 +4,6 @@ import { IndexWithinCheckpoint } from '@aztec/foundation/branded-types';
4
4
  import { padArrayEnd } from '@aztec/foundation/collection';
5
5
  import { Fr } from '@aztec/foundation/curves/bn254';
6
6
  import { createLogger } from '@aztec/foundation/log';
7
- import { elapsed } from '@aztec/foundation/timer';
8
7
  import { L2Block } from '@aztec/stdlib/block';
9
8
  import { Checkpoint } from '@aztec/stdlib/checkpoint';
10
9
  import { accumulateCheckpointOutHashes, computeCheckpointOutHash, computeInHashFromL1ToL2Messages } from '@aztec/stdlib/messaging';
@@ -101,31 +100,24 @@ import { buildHeaderAndBodyFromTxs, getTreeSnapshot, insertSideEffects } from '.
101
100
  * Adds a new block to the checkpoint. The tx effects must have already been inserted into the db if
102
101
  * this is called after tx processing, if that's not the case, then set `insertTxsEffects` to true.
103
102
  */ async addBlock(globalVariables, txs, opts = {}) {
104
- const timings = {};
105
103
  const isFirstBlock = this.blocks.length === 0;
106
104
  // Empty blocks are only allowed as the first block in a checkpoint
107
105
  if (!isFirstBlock && txs.length === 0) {
108
106
  throw new Error('Cannot add empty block that is not the first block in the checkpoint.');
109
107
  }
110
108
  if (isFirstBlock) {
111
- const [msGetInitialArchive, initialArchive] = await elapsed(()=>getTreeSnapshot(MerkleTreeId.ARCHIVE, this.db));
112
- this.lastArchives.push(initialArchive);
113
- timings.getInitialArchive = msGetInitialArchive;
109
+ this.lastArchives.push(await getTreeSnapshot(MerkleTreeId.ARCHIVE, this.db));
114
110
  }
115
111
  const lastArchive = this.lastArchives.at(-1);
116
112
  if (opts.insertTxsEffects) {
117
113
  this.logger.debug(`Inserting side effects for ${txs.length} txs for block ${globalVariables.blockNumber} into db`, {
118
114
  txs: txs.map((tx)=>tx.hash.toString())
119
115
  });
120
- let msInsertSideEffects = 0;
121
116
  for (const tx of txs){
122
- const [ms] = await elapsed(()=>insertSideEffects(tx, this.db));
123
- msInsertSideEffects += ms;
117
+ await insertSideEffects(tx, this.db);
124
118
  }
125
- timings.insertSideEffects = msInsertSideEffects;
126
119
  }
127
- const [msGetEndState, endState] = await elapsed(()=>this.db.getStateReference());
128
- timings.getEndState = msGetEndState;
120
+ const endState = await this.db.getStateReference();
129
121
  if (opts.expectedEndState && !endState.equals(opts.expectedEndState)) {
130
122
  this.logger.error('End state after processing txs does not match expected end state', {
131
123
  globalVariables: globalVariables.toInspect(),
@@ -134,18 +126,19 @@ import { buildHeaderAndBodyFromTxs, getTreeSnapshot, insertSideEffects } from '.
134
126
  });
135
127
  throw new Error(`End state does not match expected end state when building block ${globalVariables.blockNumber}`);
136
128
  }
137
- const [msBuildHeaderAndBody, { header, body, blockBlobFields }] = await elapsed(()=>buildHeaderAndBodyFromTxs(txs, lastArchive, endState, globalVariables, this.spongeBlob, isFirstBlock));
138
- timings.buildHeaderAndBody = msBuildHeaderAndBody;
129
+ const { header, body, blockBlobFields } = await buildHeaderAndBodyFromTxs(txs, lastArchive, endState, globalVariables, this.spongeBlob, isFirstBlock);
139
130
  header.state.validate();
140
131
  await this.db.updateArchive(header);
141
- const [msUpdateArchive, newArchive] = await elapsed(()=>getTreeSnapshot(MerkleTreeId.ARCHIVE, this.db));
142
- timings.updateArchive = msUpdateArchive;
132
+ const newArchive = await getTreeSnapshot(MerkleTreeId.ARCHIVE, this.db);
143
133
  this.lastArchives.push(newArchive);
134
+ const expectedNextLeafIndex = Number(globalVariables.blockNumber) + 1;
135
+ if (newArchive.nextAvailableLeafIndex !== expectedNextLeafIndex) {
136
+ throw new Error(`Archive tree next leaf index mismatch after building block ${globalVariables.blockNumber} (expected ${expectedNextLeafIndex} but got ${newArchive.nextAvailableLeafIndex})`);
137
+ }
144
138
  const indexWithinCheckpoint = IndexWithinCheckpoint(this.blocks.length);
145
139
  const block = new L2Block(newArchive, header, body, this.checkpointNumber, indexWithinCheckpoint);
146
140
  this.blocks.push(block);
147
- const [msSpongeAbsorb] = await elapsed(()=>this.spongeBlob.absorb(blockBlobFields));
148
- timings.spongeAbsorb = msSpongeAbsorb;
141
+ await this.spongeBlob.absorb(blockBlobFields);
149
142
  this.blobFields.push(...blockBlobFields);
150
143
  this.logger.debug(`Built block ${header.getBlockNumber()}`, {
151
144
  globalVariables: globalVariables.toInspect(),
@@ -154,10 +147,7 @@ import { buildHeaderAndBodyFromTxs, getTreeSnapshot, insertSideEffects } from '.
154
147
  blockHash: (await block.hash()).toString(),
155
148
  txs: block.body.txEffects.map((tx)=>tx.txHash.toString())
156
149
  });
157
- return {
158
- block,
159
- timings
160
- };
150
+ return block;
161
151
  }
162
152
  async completeCheckpoint() {
163
153
  if (!this.blocks.length) {
@@ -89,7 +89,7 @@ export class TestContext {
89
89
  }
90
90
  const broker = new TestBroker(proverCount, localProver);
91
91
  const facade = new BrokerCircuitProverFacade(broker);
92
- const orchestrator = new TestProvingOrchestrator(ws, facade, EthAddress.ZERO);
92
+ const orchestrator = new TestProvingOrchestrator(ws, facade, EthAddress.ZERO, false, 10);
93
93
  await broker.start();
94
94
  facade.start();
95
95
  return new this(ws, localProver, broker, facade, orchestrator, feePayer, initialFeePayerBalance, directoriesToCleanup, logger);
@@ -182,7 +182,7 @@ export class TestContext {
182
182
  for(let i = 0; i < numBlocks; i++){
183
183
  const txs = blockTxs[i];
184
184
  const state = blockEndStates[i];
185
- const { block } = await builder.addBlock(blockGlobalVariables[i], txs, {
185
+ const block = await builder.addBlock(blockGlobalVariables[i], txs, {
186
186
  expectedEndState: state,
187
187
  insertTxsEffects: true
188
188
  });
@@ -22,7 +22,7 @@ export declare const insertSideEffects: (tx: ProcessedTx, db: MerkleTreeWriteOpe
22
22
  nullifierInsertionResult: import("@aztec/stdlib/trees").BatchInsertionResult<number, number>;
23
23
  publicDataInsertionResult: import("@aztec/stdlib/trees").SequentialInsertionResult<number>;
24
24
  }>;
25
- export declare function getChonkProofFromTx(tx: Tx | ProcessedTx): RecursiveProof<1632>;
25
+ export declare function getChonkProofFromTx(tx: Tx | ProcessedTx): RecursiveProof<1935>;
26
26
  export declare function getPublicChonkVerifierPrivateInputsFromTx(tx: Tx | ProcessedTx, proverId: Fr): PublicChonkVerifierPrivateInputs;
27
27
  export declare const buildBlobHints: (blobFields: Fr[]) => Promise<{
28
28
  blobCommitments: import("@aztec/foundation/curves/bls12").BLS12Point[];
@@ -28,13 +28,15 @@ export declare class ProvingOrchestrator implements EpochProver {
28
28
  private prover;
29
29
  private readonly proverId;
30
30
  private readonly cancelJobsOnStop;
31
+ private readonly enqueueConcurrency;
31
32
  private provingState;
32
33
  private pendingProvingJobs;
33
34
  private provingPromise;
34
35
  private metrics;
35
36
  private dbs;
36
37
  private logger;
37
- constructor(dbProvider: ReadonlyWorldStateAccess & ForkMerkleTreeOperations, prover: ServerCircuitProver, proverId: EthAddress, cancelJobsOnStop?: boolean, telemetryClient?: TelemetryClient, bindings?: LoggerBindings);
38
+ private deferredJobQueue;
39
+ constructor(dbProvider: ReadonlyWorldStateAccess & ForkMerkleTreeOperations, prover: ServerCircuitProver, proverId: EthAddress, cancelJobsOnStop: boolean | undefined, enqueueConcurrency: number, telemetryClient?: TelemetryClient, bindings?: LoggerBindings);
38
40
  get tracer(): Tracer;
39
41
  getProverId(): EthAddress;
40
42
  getNumActiveForks(): number;
@@ -125,4 +127,4 @@ export declare class ProvingOrchestrator implements EpochProver {
125
127
  private enqueueVM;
126
128
  private checkAndEnqueueBaseRollup;
127
129
  }
128
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JjaGVzdHJhdG9yLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvb3JjaGVzdHJhdG9yL29yY2hlc3RyYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLDJCQUEyQixFQUFjLE1BQU0sdUJBQXVCLENBQUM7QUFRN0YsT0FBTyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUUzRSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFcEQsT0FBTyxFQUFlLEtBQUssY0FBYyxFQUFnQixNQUFNLHVCQUF1QixDQUFDO0FBTXZGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRCxPQUFPLEtBQUssRUFDVixXQUFXLEVBQ1gsd0JBQXdCLEVBR3hCLHdCQUF3QixFQUN4QixtQkFBbUIsRUFDcEIsTUFBTSxpQ0FBaUMsQ0FBQztBQUN6QyxPQUFPLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBTUwsc0JBQXNCLEVBS3RCLHNCQUFzQixFQUN2QixNQUFNLHNCQUFzQixDQUFDO0FBRzlCLE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDckUsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbEQsT0FBTyxFQUVMLEtBQUssZUFBZSxFQUNwQixLQUFLLE1BQU0sRUFJWixNQUFNLHlCQUF5QixDQUFDO0FBZWpDLE9BQU8sS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFNbEU7Ozs7Ozs7OztHQVNHO0FBRUg7O0dBRUc7QUFDSCxxQkFBYSxtQkFBb0IsWUFBVyxXQUFXO0lBV25ELE9BQU8sQ0FBQyxVQUFVO0lBQ2xCLE9BQU8sQ0FBQyxNQUFNO0lB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
130
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JjaGVzdHJhdG9yLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvb3JjaGVzdHJhdG9yL29yY2hlc3RyYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLDJCQUEyQixFQUFjLE1BQU0sdUJBQXVCLENBQUM7QUFRN0YsT0FBTyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUUzRSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFcEQsT0FBTyxFQUFlLEtBQUssY0FBYyxFQUFnQixNQUFNLHVCQUF1QixDQUFDO0FBUXZGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRCxPQUFPLEtBQUssRUFDVixXQUFXLEVBQ1gsd0JBQXdCLEVBR3hCLHdCQUF3QixFQUN4QixtQkFBbUIsRUFDcEIsTUFBTSxpQ0FBaUMsQ0FBQztBQUN6QyxPQUFPLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBTUwsc0JBQXNCLEVBS3RCLHNCQUFzQixFQUN2QixNQUFNLHNCQUFzQixDQUFDO0FBRzlCLE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDckUsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbEQsT0FBTyxFQUVMLEtBQUssZUFBZSxFQUNwQixLQUFLLE1BQU0sRUFJWixNQUFNLHlCQUF5QixDQUFDO0FBZWpDLE9BQU8sS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFNbEU7Ozs7Ozs7OztHQVNHO0FBRUg7O0dBRUc7QUFDSCxxQkFBYSxtQkFBb0IsWUFBVyxXQUFXO0lBWW5ELE9BQU8sQ0FBQyxVQUFVO0lBQ2xCLE9BQU8sQ0FBQyxNQUFNO0lB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
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../src/orchestrator/orchestrator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../src/orchestrator/orchestrator.ts"],"names":[],"mappings":"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"}
@@ -378,7 +378,9 @@ import { Fr } from '@aztec/foundation/curves/bn254';
378
378
  import { AbortError } from '@aztec/foundation/error';
379
379
  import { createLogger } from '@aztec/foundation/log';
380
380
  import { promiseWithResolvers } from '@aztec/foundation/promise';
381
+ import { SerialQueue } from '@aztec/foundation/queue';
381
382
  import { assertLength } from '@aztec/foundation/serialize';
383
+ import { sleep } from '@aztec/foundation/sleep';
382
384
  import { pushTestData } from '@aztec/foundation/testing';
383
385
  import { elapsed } from '@aztec/foundation/timer';
384
386
  import { BlockRootEmptyTxFirstRollupPrivateInputs, BlockRootFirstRollupPrivateInputs, BlockRootSingleTxFirstRollupPrivateInputs, BlockRootSingleTxRollupPrivateInputs, CheckpointRootSingleBlockRollupPrivateInputs, PrivateTxBaseRollupPrivateInputs } from '@aztec/stdlib/rollup';
@@ -414,6 +416,7 @@ _dec = trackSpan('ProvingOrchestrator.startNewBlock', (blockNumber)=>({
414
416
  prover;
415
417
  proverId;
416
418
  cancelJobsOnStop;
419
+ enqueueConcurrency;
417
420
  static{
418
421
  ({ e: [_initProto] } = _apply_decs_2203_r(this, [
419
422
  [
@@ -450,17 +453,21 @@ _dec = trackSpan('ProvingOrchestrator.startNewBlock', (blockNumber)=>({
450
453
  // eslint-disable-next-line aztec-custom/no-non-primitive-in-collections
451
454
  dbs;
452
455
  logger;
453
- constructor(dbProvider, prover, proverId, cancelJobsOnStop = false, telemetryClient = getTelemetryClient(), bindings){
456
+ deferredJobQueue;
457
+ constructor(dbProvider, prover, proverId, cancelJobsOnStop = false, enqueueConcurrency, telemetryClient = getTelemetryClient(), bindings){
454
458
  this.dbProvider = dbProvider;
455
459
  this.prover = prover;
456
460
  this.proverId = proverId;
457
461
  this.cancelJobsOnStop = cancelJobsOnStop;
462
+ this.enqueueConcurrency = enqueueConcurrency;
458
463
  this.provingState = (_initProto(this), undefined);
459
464
  this.pendingProvingJobs = [];
460
465
  this.provingPromise = undefined;
461
466
  this.dbs = new Map();
467
+ this.deferredJobQueue = new SerialQueue();
462
468
  this.logger = createLogger('prover-client:orchestrator', bindings);
463
469
  this.metrics = new ProvingOrchestratorMetrics(telemetryClient, 'ProvingOrchestrator');
470
+ this.deferredJobQueue.start(this.enqueueConcurrency);
464
471
  }
465
472
  get tracer() {
466
473
  return this.metrics.tracer;
@@ -471,9 +478,11 @@ _dec = trackSpan('ProvingOrchestrator.startNewBlock', (blockNumber)=>({
471
478
  getNumActiveForks() {
472
479
  return this.dbs.size;
473
480
  }
474
- stop() {
481
+ async stop() {
482
+ // Grab the old queue before cancel() replaces it, so we can await its draining.
483
+ const oldQueue = this.deferredJobQueue;
475
484
  this.cancel();
476
- return Promise.resolve();
485
+ await oldQueue.cancel();
477
486
  }
478
487
  startNewEpoch(epochNumber, totalNumCheckpoints, finalBlobBatchingChallenges) {
479
488
  if (this.provingState?.verifyState()) {
@@ -733,6 +742,10 @@ _dec = trackSpan('ProvingOrchestrator.startNewBlock', (blockNumber)=>({
733
742
  * If cancelJobsOnStop is true, aborts all pending jobs with the broker (which marks them as 'Aborted').
734
743
  * If cancelJobsOnStop is false (default), jobs remain in the broker queue and can be reused on restart/reorg.
735
744
  */ cancel() {
745
+ void this.deferredJobQueue.cancel();
746
+ // Recreate the queue so it can accept jobs for subsequent epochs.
747
+ this.deferredJobQueue = new SerialQueue();
748
+ this.deferredJobQueue.start(this.enqueueConcurrency);
736
749
  if (this.cancelJobsOnStop) {
737
750
  for (const controller of this.pendingProvingJobs){
738
751
  controller.abort();
@@ -815,8 +828,11 @@ _dec = trackSpan('ProvingOrchestrator.startNewBlock', (blockNumber)=>({
815
828
  }
816
829
  }
817
830
  };
818
- // let the callstack unwind before adding the job to the queue
819
- setImmediate(()=>void safeJob());
831
+ void this.deferredJobQueue.put(async ()=>{
832
+ void safeJob();
833
+ // we yield here to the macro task queue such to give Nodejs a chance to run other operatoins in between enqueues
834
+ await sleep(0);
835
+ });
820
836
  }
821
837
  async updateL1ToL2MessageTree(l1ToL2Messages, db) {
822
838
  const l1ToL2MessagesPadded = padArrayEnd(l1ToL2Messages, Fr.ZERO, NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP, 'Too many L1 to L2 messages');
@@ -38,5 +38,5 @@ export declare class ProverClient implements EpochProverManager {
38
38
  private createAndStartAgents;
39
39
  private stopAgents;
40
40
  }
41
- export declare function buildServerCircuitProver(config: ActualProverConfig & ACVMConfig & BBConfig, telemetry: TelemetryClient): Promise<ServerCircuitProver>;
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmVyLWNsaWVudC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Byb3Zlci1jbGllbnQvcHJvdmVyLWNsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxVQUFVLEVBQUUsS0FBSyxRQUFRLEVBQTJDLE1BQU0sa0JBQWtCLENBQUM7QUFFM0csT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFHaEUsT0FBTyxFQUNMLEtBQUssa0JBQWtCLEVBQ3ZCLEtBQUssV0FBVyxFQUNoQixLQUFLLGtCQUFrQixFQUN2QixLQUFLLHdCQUF3QixFQUM3QixLQUFLLGdCQUFnQixFQUNyQixLQUFLLGtCQUFrQixFQUV2QixLQUFLLHdCQUF3QixFQUM3QixLQUFLLG1CQUFtQixFQUV6QixNQUFNLGlDQUFpQyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxLQUFLLGVBQWUsRUFBc0IsTUFBTSx5QkFBeUIsQ0FBQztBQUVuRixPQUFPLEtBQUssRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQU92RCxzSEFBc0g7QUFDdEgscUJBQWEsWUFBYSxZQUFXLGtCQUFrQjtJQUtuRCxPQUFPLENBQUMsTUFBTTtJQUNkLE9BQU8sQ0FBQyxVQUFVO0lBQ2xCLE9BQU8sQ0FBQyxrQkFBa0I7SUFDMUIsT0FBTyxDQUFDLFVBQVU7SUFDbEIsT0FBTyxDQUFDLGdCQUFnQjtJQUN4QixPQUFPLENBQUMsV0FBVyxDQUFDO0lBQ3BCLE9BQU8sQ0FBQyxTQUFTO0lBQ2pCLE9BQU8sQ0FBQyxHQUFHO0lBWGIsT0FBTyxDQUFDLE9BQU8sQ0FBUztJQUN4QixPQUFPLENBQUMsTUFBTSxDQUFzQjtJQUVwQyxPQUFPLGVBU0g7SUFFRyxpQkFBaUIsSUFBSSxXQUFXLENBa0J0QztJQUVNLFdBQVcsSUFBSSxVQUFVLENBRS9CO0lBRUssa0JBQWtCLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FZM0U7SUFFRDs7T0FFRztJQUNVLEtBQUssSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLENBT2xDO0lBRUQ7O09BRUc7SUFDVSxJQUFJLGtCQU9oQjtJQUVEOzs7OztPQUtHO0lBQ0gsT0FBb0IsR0FBRyxDQUNyQixNQUFNLEVBQUUsa0JBQWtCLEVBQzFCLFVBQVUsRUFBRSx3QkFBd0IsR0FBRyx3QkFBd0IsRUFDL0QsTUFBTSxFQUFFLGdCQUFnQixFQUN4QixTQUFTLEdBQUUsZUFBc0MseUJBT2xEO0lBRU0sbUJBQW1CLElBQUksa0JBQWtCLENBTS9DO1lBRWEsb0JBQW9CO1lBcUJwQixVQUFVO0NBR3pCO0FBRUQsd0JBQWdCLHdCQUF3QixDQUN0QyxNQUFNLEVBQUUsa0JBQWtCLEdBQUcsVUFBVSxHQUFHLFFBQVEsRUFDbEQsU0FBUyxFQUFFLGVBQWUsR0FDekIsT0FBTyxDQUFDLG1CQUFtQixDQUFDLENBVzlCIn0=
41
+ export declare function buildServerCircuitProver(config: Omit<ActualProverConfig, 'enqueueConcurrency'> & ACVMConfig & BBConfig, telemetry: TelemetryClient): Promise<ServerCircuitProver>;
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmVyLWNsaWVudC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Byb3Zlci1jbGllbnQvcHJvdmVyLWNsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxVQUFVLEVBQUUsS0FBSyxRQUFRLEVBQTJDLE1BQU0sa0JBQWtCLENBQUM7QUFFM0csT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFHaEUsT0FBTyxFQUNMLEtBQUssa0JBQWtCLEVBQ3ZCLEtBQUssV0FBVyxFQUNoQixLQUFLLGtCQUFrQixFQUN2QixLQUFLLHdCQUF3QixFQUM3QixLQUFLLGdCQUFnQixFQUNyQixLQUFLLGtCQUFrQixFQUV2QixLQUFLLHdCQUF3QixFQUM3QixLQUFLLG1CQUFtQixFQUV6QixNQUFNLGlDQUFpQyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxLQUFLLGVBQWUsRUFBc0IsTUFBTSx5QkFBeUIsQ0FBQztBQUVuRixPQUFPLEtBQUssRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQU92RCxzSEFBc0g7QUFDdEgscUJBQWEsWUFBYSxZQUFXLGtCQUFrQjtJQUtuRCxPQUFPLENBQUMsTUFBTTtJQUNkLE9BQU8sQ0FBQyxVQUFVO0lBQ2xCLE9BQU8sQ0FBQyxrQkFBa0I7SUFDMUIsT0FBTyxDQUFDLFVBQVU7SUFDbEIsT0FBTyxDQUFDLGdCQUFnQjtJQUN4QixPQUFPLENBQUMsV0FBVyxDQUFDO0lBQ3BCLE9BQU8sQ0FBQyxTQUFTO0lBQ2pCLE9BQU8sQ0FBQyxHQUFHO0lBWGIsT0FBTyxDQUFDLE9BQU8sQ0FBUztJQUN4QixPQUFPLENBQUMsTUFBTSxDQUFzQjtJQUVwQyxPQUFPLGVBU0g7SUFFRyxpQkFBaUIsSUFBSSxXQUFXLENBbUJ0QztJQUVNLFdBQVcsSUFBSSxVQUFVLENBRS9CO0lBRUssa0JBQWtCLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FZM0U7SUFFRDs7T0FFRztJQUNVLEtBQUssSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLENBT2xDO0lBRUQ7O09BRUc7SUFDVSxJQUFJLGtCQU9oQjtJQUVEOzs7OztPQUtHO0lBQ0gsT0FBb0IsR0FBRyxDQUNyQixNQUFNLEVBQUUsa0JBQWtCLEVBQzFCLFVBQVUsRUFBRSx3QkFBd0IsR0FBRyx3QkFBd0IsRUFDL0QsTUFBTSxFQUFFLGdCQUFnQixFQUN4QixTQUFTLEdBQUUsZUFBc0MseUJBT2xEO0lBRU0sbUJBQW1CLElBQUksa0JBQWtCLENBTS9DO1lBRWEsb0JBQW9CO1lBcUJwQixVQUFVO0NBR3pCO0FBRUQsd0JBQWdCLHdCQUF3QixDQUN0QyxNQUFNLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixFQUFFLG9CQUFvQixDQUFDLEdBQUcsVUFBVSxHQUFHLFFBQVEsRUFDOUUsU0FBUyxFQUFFLGVBQWUsR0FDekIsT0FBTyxDQUFDLG1CQUFtQixDQUFDLENBVzlCIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"prover-client.d.ts","sourceRoot":"","sources":["../../src/prover-client/prover-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,QAAQ,EAA2C,MAAM,kBAAkB,CAAC;AAE3G,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAGhE,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,WAAW,EAChB,KAAK,kBAAkB,EACvB,KAAK,wBAAwB,EAC7B,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EAEvB,KAAK,wBAAwB,EAC7B,KAAK,mBAAmB,EAEzB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,KAAK,eAAe,EAAsB,MAAM,yBAAyB,CAAC;AAEnF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAOvD,sHAAsH;AACtH,qBAAa,YAAa,YAAW,kBAAkB;IAKnD,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,kBAAkB;IAC1B,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,WAAW,CAAC;IACpB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,GAAG;IAXb,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,MAAM,CAAsB;IAEpC,OAAO,eASH;IAEG,iBAAiB,IAAI,WAAW,CAkBtC;IAEM,WAAW,IAAI,UAAU,CAE/B;IAEK,kBAAkB,CAAC,MAAM,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAY3E;IAED;;OAEG;IACU,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAOlC;IAED;;OAEG;IACU,IAAI,kBAOhB;IAED;;;;;OAKG;IACH,OAAoB,GAAG,CACrB,MAAM,EAAE,kBAAkB,EAC1B,UAAU,EAAE,wBAAwB,GAAG,wBAAwB,EAC/D,MAAM,EAAE,gBAAgB,EACxB,SAAS,GAAE,eAAsC,yBAOlD;IAEM,mBAAmB,IAAI,kBAAkB,CAM/C;YAEa,oBAAoB;YAqBpB,UAAU;CAGzB;AAED,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,kBAAkB,GAAG,UAAU,GAAG,QAAQ,EAClD,SAAS,EAAE,eAAe,GACzB,OAAO,CAAC,mBAAmB,CAAC,CAW9B"}
1
+ {"version":3,"file":"prover-client.d.ts","sourceRoot":"","sources":["../../src/prover-client/prover-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,QAAQ,EAA2C,MAAM,kBAAkB,CAAC;AAE3G,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAGhE,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,WAAW,EAChB,KAAK,kBAAkB,EACvB,KAAK,wBAAwB,EAC7B,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EAEvB,KAAK,wBAAwB,EAC7B,KAAK,mBAAmB,EAEzB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,KAAK,eAAe,EAAsB,MAAM,yBAAyB,CAAC;AAEnF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAOvD,sHAAsH;AACtH,qBAAa,YAAa,YAAW,kBAAkB;IAKnD,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,kBAAkB;IAC1B,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,WAAW,CAAC;IACpB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,GAAG;IAXb,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,MAAM,CAAsB;IAEpC,OAAO,eASH;IAEG,iBAAiB,IAAI,WAAW,CAmBtC;IAEM,WAAW,IAAI,UAAU,CAE/B;IAEK,kBAAkB,CAAC,MAAM,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAY3E;IAED;;OAEG;IACU,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAOlC;IAED;;OAEG;IACU,IAAI,kBAOhB;IAED;;;;;OAKG;IACH,OAAoB,GAAG,CACrB,MAAM,EAAE,kBAAkB,EAC1B,UAAU,EAAE,wBAAwB,GAAG,wBAAwB,EAC/D,MAAM,EAAE,gBAAgB,EACxB,SAAS,GAAE,eAAsC,yBAOlD;IAEM,mBAAmB,IAAI,kBAAkB,CAM/C;YAEa,oBAAoB;YAqBpB,UAAU;CAGzB;AAED,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,IAAI,CAAC,kBAAkB,EAAE,oBAAoB,CAAC,GAAG,UAAU,GAAG,QAAQ,EAC9E,SAAS,EAAE,eAAe,GACzB,OAAO,CAAC,mBAAmB,CAAC,CAW9B"}
@@ -35,7 +35,7 @@ import { ServerEpochProver } from './server-epoch-prover.js';
35
35
  createEpochProver() {
36
36
  const bindings = this.log.getBindings();
37
37
  const facade = new BrokerCircuitProverFacade(this.orchestratorClient, this.proofStore, this.failedProofStore, undefined, bindings);
38
- const orchestrator = new ProvingOrchestrator(this.worldState, facade, this.config.proverId, this.config.cancelJobsOnStop, this.telemetry, bindings);
38
+ const orchestrator = new ProvingOrchestrator(this.worldState, facade, this.config.proverId, this.config.cancelJobsOnStop, this.config.enqueueConcurrency, this.telemetry, bindings);
39
39
  return new ServerEpochProver(facade, orchestrator);
40
40
  }
41
41
  getProverId() {
@@ -52,4 +52,4 @@ export declare class BrokerCircuitProverFacade implements ServerCircuitProver {
52
52
  getRootRollupProof(input: RootRollupPrivateInputs, signal?: AbortSignal, epochNumber?: EpochNumber): Promise<PublicInputsAndRecursiveProof<RootRollupPublicInputs, typeof RECURSIVE_PROOF_LENGTH>>;
53
53
  private generateId;
54
54
  }
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJva2VyX3Byb3Zlcl9mYWNhZGUuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wcm92aW5nX2Jyb2tlci9icm9rZXJfcHJvdmVyX2ZhY2FkZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFDVixvQ0FBb0MsRUFDcEMsNkJBQTZCLEVBQzdCLHlDQUF5QyxFQUN6QyxzQkFBc0IsRUFDdkIsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFOUQsT0FBTyxFQUFlLEtBQUssY0FBYyxFQUFnQixNQUFNLHVCQUF1QixDQUFDO0FBR3ZGLE9BQU8sS0FBSyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDMUQsT0FBTyxFQUlMLEtBQUssa0JBQWtCLEVBR3ZCLEtBQUssNkJBQTZCLEVBQ2xDLEtBQUssbUJBQW1CLEVBRXpCLE1BQU0saUNBQWlDLENBQUM7QUFDekMsT0FBTyxLQUFLLEVBQUUsdUJBQXVCLEVBQUUsa0JBQWtCLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNqSCxPQUFPLEVBQXNCLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzFFLE9BQU8sS0FBSyxFQUNWLDZCQUE2QixFQUM3Qix1QkFBdUIsRUFDdkIsd0NBQXdDLEVBQ3hDLGlDQUFpQyxFQUNqQyw0QkFBNEIsRUFDNUIseUNBQXlDLEVBQ3pDLG9DQUFvQyxFQUNwQyxrQ0FBa0MsRUFDbEMsb0NBQW9DLEVBQ3BDLDRCQUE0QixFQUM1QixpQ0FBaUMsRUFDakMsNENBQTRDLEVBQzVDLGdDQUFnQyxFQUNoQyxnQ0FBZ0MsRUFDaEMsK0JBQStCLEVBQy9CLCtCQUErQixFQUMvQix1QkFBdUIsRUFDdkIsc0JBQXNCLEVBQ3RCLDBCQUEwQixFQUMxQixvQkFBb0IsRUFDckIsTUFBTSxzQkFBc0IsQ0FBQztBQUU5QixPQUFPLEVBQW9C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
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJva2VyX3Byb3Zlcl9mYWNhZGUuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wcm92aW5nX2Jyb2tlci9icm9rZXJfcHJvdmVyX2ZhY2FkZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFDVixvQ0FBb0MsRUFDcEMsNkJBQTZCLEVBQzdCLHlDQUF5QyxFQUN6QyxzQkFBc0IsRUFDdkIsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDOUQsT0FBTyxFQUFlLEtBQUssY0FBYyxFQUFnQixNQUFNLHVCQUF1QixDQUFDO0FBR3ZGLE9BQU8sS0FBSyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDMUQsT0FBTyxFQUlMLEtBQUssa0JBQWtCLEVBR3ZCLEtBQUssNkJBQTZCLEVBQ2xDLEtBQUssbUJBQW1CLEVBRXpCLE1BQU0saUNBQWlDLENBQUM7QUFDekMsT0FBTyxLQUFLLEVBQUUsdUJBQXVCLEVBQUUsa0JBQWtCLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNqSCxPQUFPLEVBQXNCLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzFFLE9BQU8sS0FBSyxFQUNWLDZCQUE2QixFQUM3Qix1QkFBdUIsRUFDdkIsd0NBQXdDLEVBQ3hDLGlDQUFpQyxFQUNqQyw0QkFBNEIsRUFDNUIseUNBQXlDLEVBQ3pDLG9DQUFvQyxFQUNwQyxrQ0FBa0MsRUFDbEMsb0NBQW9DLEVBQ3BDLDRCQUE0QixFQUM1QixpQ0FBaUMsRUFDakMsNENBQTRDLEVBQzVDLGdDQUFnQyxFQUNoQyxnQ0FBZ0MsRUFDaEMsK0JBQStCLEVBQy9CLCtCQUErQixFQUMvQix1QkFBdUIsRUFDdkIsc0JBQXNCLEVBQ3RCLDBCQUEwQixFQUMxQixvQkFBb0IsRUFDckIsTUFBTSxzQkFBc0IsQ0FBQztBQUk5QixPQUFPLEVBQW9C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
@@ -1 +1 @@
1
- {"version":3,"file":"broker_prover_facade.d.ts","sourceRoot":"","sources":["../../src/proving_broker/broker_prover_facade.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"broker_prover_facade.d.ts","sourceRoot":"","sources":["../../src/proving_broker/broker_prover_facade.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,10 @@
1
1
  import { EpochNumber } from '@aztec/foundation/branded-types';
2
- import { sha256 } from '@aztec/foundation/crypto/sha256';
3
2
  import { createLogger } from '@aztec/foundation/log';
4
3
  import { RunningPromise, promiseWithResolvers } from '@aztec/foundation/promise';
5
4
  import { truncate } from '@aztec/foundation/string';
6
5
  import { makeProvingJobId } from '@aztec/stdlib/interfaces/server';
7
6
  import { ProvingRequestType } from '@aztec/stdlib/proofs';
7
+ import { createHash } from 'node:crypto';
8
8
  import { InlineProofStore } from './proof_store/index.js';
9
9
  // Perform a snapshot sync every 30 seconds
10
10
  const SNAPSHOT_SYNC_INTERVAL_MS = 30_000;
@@ -357,7 +357,7 @@ export class BrokerCircuitProverFacade {
357
357
  return this.enqueueJob(this.generateId(ProvingRequestType.ROOT_ROLLUP, input, epochNumber), ProvingRequestType.ROOT_ROLLUP, input, epochNumber, signal);
358
358
  }
359
359
  generateId(type, inputs, epochNumber = EpochNumber.ZERO) {
360
- const inputsHash = sha256(inputs.toBuffer());
361
- return makeProvingJobId(epochNumber, type, inputsHash.toString('hex'));
360
+ const inputsHash = createHash('sha256').update(inputs.toBuffer()).digest('hex');
361
+ return makeProvingJobId(epochNumber, type, inputsHash);
362
362
  }
363
363
  }
@@ -1,7 +1,7 @@
1
1
  import { type L1ReaderConfig } from '@aztec/ethereum/l1-reader';
2
2
  import { type ConfigMappingsType } from '@aztec/foundation/config';
3
+ import { type DataStoreConfig } from '@aztec/kv-store/config';
3
4
  import { type ChainConfig } from '@aztec/stdlib/config';
4
- import { type DataStoreConfig } from '@aztec/stdlib/kv-store';
5
5
  import { ProvingRequestType } from '@aztec/stdlib/proofs';
6
6
  import { z } from 'zod';
7
7
  export declare const ProverBrokerConfig: z.ZodObject<{
@@ -101,4 +101,4 @@ export declare const ProverAgentConfig: z.ZodObject<{
101
101
  }>;
102
102
  export type ProverAgentConfig = z.infer<typeof ProverAgentConfig>;
103
103
  export declare const proverAgentConfigMappings: ConfigMappingsType<ProverAgentConfig>;
104
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJvdmluZ19icm9rZXIvY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLGNBQWMsRUFBMEIsTUFBTSwyQkFBMkIsQ0FBQztBQUN4RixPQUFPLEVBQ0wsS0FBSyxrQkFBa0IsRUFJeEIsTUFBTSwwQkFBMEIsQ0FBQztBQUVsQyxPQUFPLEVBQUUsS0FBSyxXQUFXLEVBQXVCLE1BQU0sc0JBQXNCLENBQUM7QUFDN0UsT0FBTyxFQUFFLEtBQUssZUFBZSxFQUFzQixNQUFNLHdCQUF3QixDQUFDO0FBQ2xGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRTFELE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFFeEIsZUFBTyxNQUFNLGtCQUFrQjtJQUM3QixxRkFBcUY7O0lBRXJGLHVIQUF1SDs7SUFFdkgsNkZBQTZGOztJQUU3Riw4RUFBOEU7O0lBRTlFLHFDQUFxQzs7SUFFckMsNkZBQTZGOztJQUU3RiwrRUFBK0U7O0lBRS9FLDRDQUE0Qzs7SUFFNUMsdURBQXVEOztJQUV2RCw2RUFBNkU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQUU3RSxDQUFDO0FBRUgsTUFBTSxNQUFNLGtCQUFrQixHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxrQkFBa0IsQ0FBQyxHQUNqRSxJQUFJLENBQUMsZUFBZSxFQUFFLG9CQUFvQixHQUFHLGVBQWUsQ0FBQyxHQUM3RCxjQUFjLEdBQ2QsSUFBSSxDQUFDLFdBQVcsRUFBRSxlQUFlLENBQUMsQ0FBQztBQUVyQyxlQUFPLE1BQU0sMEJBQTBCLEVBQUUsa0JBQWtCLENBQUMsa0JBQWtCLENBNEM3RSxDQUFDO0FBRUYsZUFBTyxNQUFNLHlCQUF5QixFQUFFLGtCQUFpRSxDQUFDO0FBRTFHLGVBQU8sTUFBTSxpQkFBaUI7SUFDNUIsMkNBQTJDOztJQUUzQyx3REFBd0Q7O0lBRXhELGdEQUFnRDs7SUFFaEQsK0NBQStDOztJQUUvQyx1Q0FBdUM7O0lBRXZDLGdEQUFnRDs7SUFFaEQsMkRBQTJEOztJQUUzRCw4RUFBOEU7O0lBRTlFLDhEQUE4RDs7SUFFOUQsK0VBQStFOztJQUUvRSxzSUFBc0k7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBRXRJLENBQUM7QUFFSCxNQUFNLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLGlCQUFpQixDQUFDLENBQUM7QUFFbEUsZUFBTyxNQUFNLHlCQUF5QixFQUFFLGtCQUFrQixDQUFDLGlCQUFpQixDQTREM0UsQ0FBQyJ9
104
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJvdmluZ19icm9rZXIvY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLGNBQWMsRUFBMEIsTUFBTSwyQkFBMkIsQ0FBQztBQUN4RixPQUFPLEVBQ0wsS0FBSyxrQkFBa0IsRUFJeEIsTUFBTSwwQkFBMEIsQ0FBQztBQUVsQyxPQUFPLEVBQUUsS0FBSyxlQUFlLEVBQXNCLE1BQU0sd0JBQXdCLENBQUM7QUFDbEYsT0FBTyxFQUFFLEtBQUssV0FBVyxFQUF1QixNQUFNLHNCQUFzQixDQUFDO0FBQzdFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRTFELE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFFeEIsZUFBTyxNQUFNLGtCQUFrQjtJQUM3QixxRkFBcUY7O0lBRXJGLHVIQUF1SDs7SUFFdkgsNkZBQTZGOztJQUU3Riw4RUFBOEU7O0lBRTlFLHFDQUFxQzs7SUFFckMsNkZBQTZGOztJQUU3RiwrRUFBK0U7O0lBRS9FLDRDQUE0Qzs7SUFFNUMsdURBQXVEOztJQUV2RCw2RUFBNkU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQUU3RSxDQUFDO0FBRUgsTUFBTSxNQUFNLGtCQUFrQixHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxrQkFBa0IsQ0FBQyxHQUNqRSxJQUFJLENBQUMsZUFBZSxFQUFFLG9CQUFvQixHQUFHLGVBQWUsQ0FBQyxHQUM3RCxjQUFjLEdBQ2QsSUFBSSxDQUFDLFdBQVcsRUFBRSxlQUFlLENBQUMsQ0FBQztBQUVyQyxlQUFPLE1BQU0sMEJBQTBCLEVBQUUsa0JBQWtCLENBQUMsa0JBQWtCLENBNEM3RSxDQUFDO0FBRUYsZUFBTyxNQUFNLHlCQUF5QixFQUFFLGtCQUFpRSxDQUFDO0FBRTFHLGVBQU8sTUFBTSxpQkFBaUI7SUFDNUIsMkNBQTJDOztJQUUzQyx3REFBd0Q7O0lBRXhELGdEQUFnRDs7SUFFaEQsK0NBQStDOztJQUUvQyx1Q0FBdUM7O0lBRXZDLGdEQUFnRDs7SUFFaEQsMkRBQTJEOztJQUUzRCw4RUFBOEU7O0lBRTlFLDhEQUE4RDs7SUFFOUQsK0VBQStFOztJQUUvRSxzSUFBc0k7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBRXRJLENBQUM7QUFFSCxNQUFNLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLGlCQUFpQixDQUFDLENBQUM7QUFFbEUsZUFBTyxNQUFNLHlCQUF5QixFQUFFLGtCQUFrQixDQUFDLGlCQUFpQixDQTREM0UsQ0FBQyJ9
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/proving_broker/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAA0B,MAAM,2BAA2B,CAAC;AACxF,OAAO,EACL,KAAK,kBAAkB,EAIxB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,KAAK,WAAW,EAAuB,MAAM,sBAAsB,CAAC;AAC7E,OAAO,EAAE,KAAK,eAAe,EAAsB,MAAM,wBAAwB,CAAC;AAClF,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,kBAAkB;IAC7B,qFAAqF;;IAErF,uHAAuH;;IAEvH,6FAA6F;;IAE7F,8EAA8E;;IAE9E,qCAAqC;;IAErC,6FAA6F;;IAE7F,+EAA+E;;IAE/E,4CAA4C;;IAE5C,uDAAuD;;IAEvD,6EAA6E;;;;;;;;;;;;;;;;;;;;;;;;EAE7E,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,GACjE,IAAI,CAAC,eAAe,EAAE,oBAAoB,GAAG,eAAe,CAAC,GAC7D,cAAc,GACd,IAAI,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;AAErC,eAAO,MAAM,0BAA0B,EAAE,kBAAkB,CAAC,kBAAkB,CA4C7E,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,kBAAiE,CAAC;AAE1G,eAAO,MAAM,iBAAiB;IAC5B,2CAA2C;;IAE3C,wDAAwD;;IAExD,gDAAgD;;IAEhD,+CAA+C;;IAE/C,uCAAuC;;IAEvC,gDAAgD;;IAEhD,2DAA2D;;IAE3D,8EAA8E;;IAE9E,8DAA8D;;IAE9D,+EAA+E;;IAE/E,sIAAsI;;;;;;;;;;;;;;;;;;;;;;;;;;EAEtI,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAElE,eAAO,MAAM,yBAAyB,EAAE,kBAAkB,CAAC,iBAAiB,CA4D3E,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/proving_broker/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAA0B,MAAM,2BAA2B,CAAC;AACxF,OAAO,EACL,KAAK,kBAAkB,EAIxB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,KAAK,eAAe,EAAsB,MAAM,wBAAwB,CAAC;AAClF,OAAO,EAAE,KAAK,WAAW,EAAuB,MAAM,sBAAsB,CAAC;AAC7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,kBAAkB;IAC7B,qFAAqF;;IAErF,uHAAuH;;IAEvH,6FAA6F;;IAE7F,8EAA8E;;IAE9E,qCAAqC;;IAErC,6FAA6F;;IAE7F,+EAA+E;;IAE/E,4CAA4C;;IAE5C,uDAAuD;;IAEvD,6EAA6E;;;;;;;;;;;;;;;;;;;;;;;;EAE7E,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,GACjE,IAAI,CAAC,eAAe,EAAE,oBAAoB,GAAG,eAAe,CAAC,GAC7D,cAAc,GACd,IAAI,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;AAErC,eAAO,MAAM,0BAA0B,EAAE,kBAAkB,CAAC,kBAAkB,CA4C7E,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,kBAAiE,CAAC;AAE1G,eAAO,MAAM,iBAAiB;IAC5B,2CAA2C;;IAE3C,wDAAwD;;IAExD,gDAAgD;;IAEhD,+CAA+C;;IAE/C,uCAAuC;;IAEvC,gDAAgD;;IAEhD,2DAA2D;;IAE3D,8EAA8E;;IAE9E,8DAA8D;;IAE9D,+EAA+E;;IAE/E,sIAAsI;;;;;;;;;;;;;;;;;;;;;;;;;;EAEtI,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAElE,eAAO,MAAM,yBAAyB,EAAE,kBAAkB,CAAC,iBAAiB,CA4D3E,CAAC"}
@@ -1,8 +1,8 @@
1
1
  import { l1ReaderConfigMappings } from '@aztec/ethereum/l1-reader';
2
2
  import { booleanConfigHelper, getDefaultConfig, numberConfigHelper } from '@aztec/foundation/config';
3
3
  import { pickConfigMappings } from '@aztec/foundation/config';
4
+ import { dataConfigMappings } from '@aztec/kv-store/config';
4
5
  import { chainConfigMappings } from '@aztec/stdlib/config';
5
- import { dataConfigMappings } from '@aztec/stdlib/kv-store';
6
6
  import { ProvingRequestType } from '@aztec/stdlib/proofs';
7
7
  import { z } from 'zod';
8
8
  export const ProverBrokerConfig = z.object({
@@ -1,6 +1,8 @@
1
1
  import { type ProvingJobBroker, type ProvingJobBrokerDebug, type ProvingJobConsumer, type ProvingJobProducer } from '@aztec/stdlib/interfaces/server';
2
2
  import { type ApiSchemaFor } from '@aztec/stdlib/schemas';
3
3
  import { type ComponentsVersions } from '@aztec/stdlib/versioning';
4
+ /** Indefinite backoff for broker communication: 1, 1, 1, 2, 4, 4, 4, ... seconds. */
5
+ export declare function proverBrokerBackoff(): Generator<number, void, unknown>;
4
6
  export declare const ProvingJobProducerSchema: ApiSchemaFor<ProvingJobProducer>;
5
7
  export declare const ProvingJobConsumerSchema: ApiSchemaFor<ProvingJobConsumer>;
6
8
  export declare const ProvingJobBrokerSchema: ApiSchemaFor<ProvingJobBroker>;
@@ -24,4 +26,4 @@ export declare function createProvingJobConsumerClient(url: string, versions: Pa
24
26
  get: (header: string) => string | null | undefined;
25
27
  };
26
28
  }>): ProvingJobConsumer;
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnBjLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJvdmluZ19icm9rZXIvcnBjLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFJTCxLQUFLLGdCQUFnQixFQUNyQixLQUFLLHFCQUFxQixFQUMxQixLQUFLLGtCQUFrQixFQUV2QixLQUFLLGtCQUFrQixFQUV4QixNQUFNLGlDQUFpQyxDQUFDO0FBRXpDLE9BQU8sRUFBRSxLQUFLLFlBQVksRUFBWSxNQUFNLHVCQUF1QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxLQUFLLGtCQUFrQixFQUFnQyxNQUFNLDBCQUEwQixDQUFDO0FBY2pHLGVBQU8sTUFBTSx3QkFBd0IsRUFBRSxZQUFZLENBQUMsa0JBQWtCLENBS3JFLENBQUM7QUFFRixlQUFPLE1BQU0sd0JBQXdCLEVBQUUsWUFBWSxDQUFDLGtCQUFrQixDQWNyRSxDQUFDO0FBRUYsZUFBTyxNQUFNLHNCQUFzQixFQUFFLFlBQVksQ0FBQyxnQkFBZ0IsQ0FHakUsQ0FBQztBQUVGLGVBQU8sTUFBTSwyQkFBMkIsRUFBRSxZQUFZLENBQUMscUJBQXFCLENBSzNFLENBQUM7QUFFRixlQUFPLE1BQU0sK0JBQStCLEVBQUUsWUFBWSxDQUFDLGdCQUFnQixHQUFHLHFCQUFxQixDQUdsRyxDQUFDO0FBRUYsd0JBQWdCLDRCQUE0QixDQUMxQyxHQUFHLEVBQUUsTUFBTSxFQUNYLFFBQVEsRUFBRSxPQUFPLENBQUMsa0JBQWtCLENBQUMsRUFDckMsS0FBSzs7Ozs7RUFBb0MsR0FDeEMsZ0JBQWdCLENBTWxCO0FBRUQsd0JBQWdCLDhCQUE4QixDQUM1QyxHQUFHLEVBQUUsTUFBTSxFQUNYLFFBQVEsRUFBRSxPQUFPLENBQUMsa0JBQWtCLENBQUMsRUFDckMsS0FBSzs7Ozs7RUFBb0MsR0FDeEMsa0JBQWtCLENBTXBCO0FBRUQsd0JBQWdCLDhCQUE4QixDQUM1QyxHQUFHLEVBQUUsTUFBTSxFQUNYLFFBQVEsRUFBRSxPQUFPLENBQUMsa0JBQWtCLENBQUMsRUFDckMsS0FBSzs7Ozs7RUFBb0MsR0FDeEMsa0JBQWtCLENBTXBCIn0=
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnBjLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJvdmluZ19icm9rZXIvcnBjLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFJTCxLQUFLLGdCQUFnQixFQUNyQixLQUFLLHFCQUFxQixFQUMxQixLQUFLLGtCQUFrQixFQUV2QixLQUFLLGtCQUFrQixFQUV4QixNQUFNLGlDQUFpQyxDQUFDO0FBRXpDLE9BQU8sRUFBRSxLQUFLLFlBQVksRUFBWSxNQUFNLHVCQUF1QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxLQUFLLGtCQUFrQixFQUFnQyxNQUFNLDBCQUEwQixDQUFDO0FBS2pHLHFGQUFxRjtBQUNyRix3QkFBaUIsbUJBQW1CLHFDQU1uQztBQVdELGVBQU8sTUFBTSx3QkFBd0IsRUFBRSxZQUFZLENBQUMsa0JBQWtCLENBS3JFLENBQUM7QUFFRixlQUFPLE1BQU0sd0JBQXdCLEVBQUUsWUFBWSxDQUFDLGtCQUFrQixDQWNyRSxDQUFDO0FBRUYsZUFBTyxNQUFNLHNCQUFzQixFQUFFLFlBQVksQ0FBQyxnQkFBZ0IsQ0FHakUsQ0FBQztBQUVGLGVBQU8sTUFBTSwyQkFBMkIsRUFBRSxZQUFZLENBQUMscUJBQXFCLENBSzNFLENBQUM7QUFFRixlQUFPLE1BQU0sK0JBQStCLEVBQUUsWUFBWSxDQUFDLGdCQUFnQixHQUFHLHFCQUFxQixDQUdsRyxDQUFDO0FBRUYsd0JBQWdCLDRCQUE0QixDQUMxQyxHQUFHLEVBQUUsTUFBTSxFQUNYLFFBQVEsRUFBRSxPQUFPLENBQUMsa0JBQWtCLENBQUMsRUFDckMsS0FBSzs7Ozs7RUFBOEMsR0FDbEQsZ0JBQWdCLENBTWxCO0FBRUQsd0JBQWdCLDhCQUE4QixDQUM1QyxHQUFHLEVBQUUsTUFBTSxFQUNYLFFBQVEsRUFBRSxPQUFPLENBQUMsa0JBQWtCLENBQUMsRUFDckMsS0FBSzs7Ozs7RUFBOEMsR0FDbEQsa0JBQWtCLENBTXBCO0FBRUQsd0JBQWdCLDhCQUE4QixDQUM1QyxHQUFHLEVBQUUsTUFBTSxFQUNYLFFBQVEsRUFBRSxPQUFPLENBQUMsa0JBQWtCLENBQUMsRUFDckMsS0FBSzs7Ozs7RUFBOEMsR0FDbEQsa0JBQWtCLENBTXBCIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"rpc.d.ts","sourceRoot":"","sources":["../../src/proving_broker/rpc.ts"],"names":[],"mappings":"AAEA,OAAO,EAIL,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,EAC1B,KAAK,kBAAkB,EAEvB,KAAK,kBAAkB,EAExB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,KAAK,YAAY,EAAY,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,KAAK,kBAAkB,EAAgC,MAAM,0BAA0B,CAAC;AAcjG,eAAO,MAAM,wBAAwB,EAAE,YAAY,CAAC,kBAAkB,CAKrE,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,YAAY,CAAC,kBAAkB,CAcrE,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,YAAY,CAAC,gBAAgB,CAGjE,CAAC;AAEF,eAAO,MAAM,2BAA2B,EAAE,YAAY,CAAC,qBAAqB,CAK3E,CAAC;AAEF,eAAO,MAAM,+BAA+B,EAAE,YAAY,CAAC,gBAAgB,GAAG,qBAAqB,CAGlG,CAAC;AAEF,wBAAgB,4BAA4B,CAC1C,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,OAAO,CAAC,kBAAkB,CAAC,EACrC,KAAK;;;;;EAAoC,GACxC,gBAAgB,CAMlB;AAED,wBAAgB,8BAA8B,CAC5C,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,OAAO,CAAC,kBAAkB,CAAC,EACrC,KAAK;;;;;EAAoC,GACxC,kBAAkB,CAMpB;AAED,wBAAgB,8BAA8B,CAC5C,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,OAAO,CAAC,kBAAkB,CAAC,EACrC,KAAK;;;;;EAAoC,GACxC,kBAAkB,CAMpB"}
1
+ {"version":3,"file":"rpc.d.ts","sourceRoot":"","sources":["../../src/proving_broker/rpc.ts"],"names":[],"mappings":"AAEA,OAAO,EAIL,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,EAC1B,KAAK,kBAAkB,EAEvB,KAAK,kBAAkB,EAExB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,KAAK,YAAY,EAAY,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,KAAK,kBAAkB,EAAgC,MAAM,0BAA0B,CAAC;AAKjG,qFAAqF;AACrF,wBAAiB,mBAAmB,qCAMnC;AAWD,eAAO,MAAM,wBAAwB,EAAE,YAAY,CAAC,kBAAkB,CAKrE,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,YAAY,CAAC,kBAAkB,CAcrE,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,YAAY,CAAC,gBAAgB,CAGjE,CAAC;AAEF,eAAO,MAAM,2BAA2B,EAAE,YAAY,CAAC,qBAAqB,CAK3E,CAAC;AAEF,eAAO,MAAM,+BAA+B,EAAE,YAAY,CAAC,gBAAgB,GAAG,qBAAqB,CAGlG,CAAC;AAEF,wBAAgB,4BAA4B,CAC1C,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,OAAO,CAAC,kBAAkB,CAAC,EACrC,KAAK;;;;;EAA8C,GAClD,gBAAgB,CAMlB;AAED,wBAAgB,8BAA8B,CAC5C,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,OAAO,CAAC,kBAAkB,CAAC,EACrC,KAAK;;;;;EAA8C,GAClD,kBAAkB,CAMpB;AAED,wBAAgB,8BAA8B,CAC5C,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,OAAO,CAAC,kBAAkB,CAAC,EACrC,KAAK;;;;;EAA8C,GAClD,kBAAkB,CAMpB"}
@@ -6,6 +6,19 @@ import { optional } from '@aztec/stdlib/schemas';
6
6
  import { getVersioningResponseHandler } from '@aztec/stdlib/versioning';
7
7
  import { makeTracedFetch } from '@aztec/telemetry-client';
8
8
  import { z } from 'zod';
9
+ /** Indefinite backoff for broker communication: 1, 1, 1, 2, 4, 4, 4, ... seconds. */ export function* proverBrokerBackoff() {
10
+ const v = [
11
+ 1,
12
+ 1,
13
+ 1,
14
+ 2,
15
+ 4
16
+ ];
17
+ let i = 0;
18
+ while(true){
19
+ yield v[Math.min(i++, v.length - 1)];
20
+ }
21
+ }
9
22
  const ProvingJobFilterSchema = z.object({
10
23
  allowList: z.array(z.nativeEnum(ProvingRequestType))
11
24
  });
@@ -36,33 +49,21 @@ export const ProvingJobBrokerSchemaWithDebug = {
36
49
  ...ProvingJobBrokerSchema,
37
50
  ...ProvingJobBrokerDebugSchema
38
51
  };
39
- export function createProvingJobBrokerClient(url, versions, fetch = makeTracedFetch([
40
- 1,
41
- 2,
42
- 3
43
- ], false)) {
52
+ export function createProvingJobBrokerClient(url, versions, fetch = makeTracedFetch(proverBrokerBackoff, false)) {
44
53
  return createSafeJsonRpcClient(url, ProvingJobBrokerSchema, {
45
54
  namespaceMethods: 'proverBroker',
46
55
  fetch,
47
56
  onResponse: getVersioningResponseHandler(versions)
48
57
  });
49
58
  }
50
- export function createProvingJobProducerClient(url, versions, fetch = makeTracedFetch([
51
- 1,
52
- 2,
53
- 3
54
- ], false)) {
59
+ export function createProvingJobProducerClient(url, versions, fetch = makeTracedFetch(proverBrokerBackoff, false)) {
55
60
  return createSafeJsonRpcClient(url, ProvingJobProducerSchema, {
56
61
  namespaceMethods: 'provingJobProducer',
57
62
  fetch,
58
63
  onResponse: getVersioningResponseHandler(versions)
59
64
  });
60
65
  }
61
- export function createProvingJobConsumerClient(url, versions, fetch = makeTracedFetch([
62
- 1,
63
- 2,
64
- 3
65
- ], false)) {
66
+ export function createProvingJobConsumerClient(url, versions, fetch = makeTracedFetch(proverBrokerBackoff, false)) {
66
67
  return createSafeJsonRpcClient(url, ProvingJobConsumerSchema, {
67
68
  namespaceMethods: 'provingJobConsumer',
68
69
  fetch,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aztec/prover-client",
3
- "version": "0.0.1-commit.ffe5b04ea",
3
+ "version": "0.0.1-commit.fff30aa",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": "./dest/index.js",
@@ -27,8 +27,8 @@
27
27
  "build:dev": "../scripts/tsc.sh --watch",
28
28
  "clean": "rm -rf ./dest .tsbuildinfo",
29
29
  "bb": "node --no-warnings ./dest/bb/index.js",
30
- "test": "NODE_NO_WARNINGS=1 node --experimental-vm-modules ../node_modules/.bin/jest --testTimeout=3500000",
31
- "test:debug": "LOG_LEVEL=debug NODE_NO_WARNINGS=1 node --experimental-vm-modules ../node_modules/.bin/jest --testTimeout=1500000 --testNamePattern prover/bb_prover/parity"
30
+ "test": "NODE_NO_WARNINGS=1 node --experimental-vm-modules ../node_modules/.bin/jest --testTimeout=3500000 --forceExit",
31
+ "test:debug": "LOG_LEVEL=debug NODE_NO_WARNINGS=1 node --experimental-vm-modules ../node_modules/.bin/jest --testTimeout=1500000 --forceExit --testNamePattern prover/bb_prover/parity"
32
32
  },
33
33
  "jest": {
34
34
  "moduleNameMapper": {
@@ -68,19 +68,19 @@
68
68
  ]
69
69
  },
70
70
  "dependencies": {
71
- "@aztec/bb-prover": "0.0.1-commit.ffe5b04ea",
72
- "@aztec/blob-lib": "0.0.1-commit.ffe5b04ea",
73
- "@aztec/constants": "0.0.1-commit.ffe5b04ea",
74
- "@aztec/ethereum": "0.0.1-commit.ffe5b04ea",
75
- "@aztec/foundation": "0.0.1-commit.ffe5b04ea",
76
- "@aztec/kv-store": "0.0.1-commit.ffe5b04ea",
77
- "@aztec/noir-protocol-circuits-types": "0.0.1-commit.ffe5b04ea",
78
- "@aztec/noir-types": "0.0.1-commit.ffe5b04ea",
79
- "@aztec/protocol-contracts": "0.0.1-commit.ffe5b04ea",
80
- "@aztec/simulator": "0.0.1-commit.ffe5b04ea",
81
- "@aztec/stdlib": "0.0.1-commit.ffe5b04ea",
82
- "@aztec/telemetry-client": "0.0.1-commit.ffe5b04ea",
83
- "@aztec/world-state": "0.0.1-commit.ffe5b04ea",
71
+ "@aztec/bb-prover": "0.0.1-commit.fff30aa",
72
+ "@aztec/blob-lib": "0.0.1-commit.fff30aa",
73
+ "@aztec/constants": "0.0.1-commit.fff30aa",
74
+ "@aztec/ethereum": "0.0.1-commit.fff30aa",
75
+ "@aztec/foundation": "0.0.1-commit.fff30aa",
76
+ "@aztec/kv-store": "0.0.1-commit.fff30aa",
77
+ "@aztec/noir-protocol-circuits-types": "0.0.1-commit.fff30aa",
78
+ "@aztec/noir-types": "0.0.1-commit.fff30aa",
79
+ "@aztec/protocol-contracts": "0.0.1-commit.fff30aa",
80
+ "@aztec/simulator": "0.0.1-commit.fff30aa",
81
+ "@aztec/stdlib": "0.0.1-commit.fff30aa",
82
+ "@aztec/telemetry-client": "0.0.1-commit.fff30aa",
83
+ "@aztec/world-state": "0.0.1-commit.fff30aa",
84
84
  "@iarna/toml": "^2.2.5",
85
85
  "commander": "^12.1.0",
86
86
  "lodash.chunk": "^4.2.0",
@@ -89,7 +89,7 @@
89
89
  "zod": "^3.23.8"
90
90
  },
91
91
  "devDependencies": {
92
- "@aztec/noir-contracts.js": "0.0.1-commit.ffe5b04ea",
92
+ "@aztec/noir-contracts.js": "0.0.1-commit.fff30aa",
93
93
  "@jest/globals": "^30.0.0",
94
94
  "@types/jest": "^30.0.0",
95
95
  "@types/node": "^22.15.17",
@@ -4,7 +4,6 @@ import { type CheckpointNumber, IndexWithinCheckpoint } from '@aztec/foundation/
4
4
  import { padArrayEnd } from '@aztec/foundation/collection';
5
5
  import { Fr } from '@aztec/foundation/curves/bn254';
6
6
  import { type Logger, type LoggerBindings, createLogger } from '@aztec/foundation/log';
7
- import { elapsed } from '@aztec/foundation/timer';
8
7
  import { L2Block } from '@aztec/stdlib/block';
9
8
  import { Checkpoint } from '@aztec/stdlib/checkpoint';
10
9
  import type { MerkleTreeWriteOperations } from '@aztec/stdlib/interfaces/server';
@@ -166,8 +165,7 @@ export class LightweightCheckpointBuilder {
166
165
  globalVariables: GlobalVariables,
167
166
  txs: ProcessedTx[],
168
167
  opts: { insertTxsEffects?: boolean; expectedEndState?: StateReference } = {},
169
- ): Promise<{ block: L2Block; timings: Record<string, number> }> {
170
- const timings: Record<string, number> = {};
168
+ ): Promise<L2Block> {
171
169
  const isFirstBlock = this.blocks.length === 0;
172
170
 
173
171
  // Empty blocks are only allowed as the first block in a checkpoint
@@ -176,9 +174,7 @@ export class LightweightCheckpointBuilder {
176
174
  }
177
175
 
178
176
  if (isFirstBlock) {
179
- const [msGetInitialArchive, initialArchive] = await elapsed(() => getTreeSnapshot(MerkleTreeId.ARCHIVE, this.db));
180
- this.lastArchives.push(initialArchive);
181
- timings.getInitialArchive = msGetInitialArchive;
177
+ this.lastArchives.push(await getTreeSnapshot(MerkleTreeId.ARCHIVE, this.db));
182
178
  }
183
179
 
184
180
  const lastArchive = this.lastArchives.at(-1)!;
@@ -188,17 +184,12 @@ export class LightweightCheckpointBuilder {
188
184
  `Inserting side effects for ${txs.length} txs for block ${globalVariables.blockNumber} into db`,
189
185
  { txs: txs.map(tx => tx.hash.toString()) },
190
186
  );
191
- let msInsertSideEffects = 0;
192
187
  for (const tx of txs) {
193
- const [ms] = await elapsed(() => insertSideEffects(tx, this.db));
194
- msInsertSideEffects += ms;
188
+ await insertSideEffects(tx, this.db);
195
189
  }
196
- timings.insertSideEffects = msInsertSideEffects;
197
190
  }
198
191
 
199
- const [msGetEndState, endState] = await elapsed(() => this.db.getStateReference());
200
- timings.getEndState = msGetEndState;
201
-
192
+ const endState = await this.db.getStateReference();
202
193
  if (opts.expectedEndState && !endState.equals(opts.expectedEndState)) {
203
194
  this.logger.error('End state after processing txs does not match expected end state', {
204
195
  globalVariables: globalVariables.toInspect(),
@@ -208,24 +199,33 @@ export class LightweightCheckpointBuilder {
208
199
  throw new Error(`End state does not match expected end state when building block ${globalVariables.blockNumber}`);
209
200
  }
210
201
 
211
- const [msBuildHeaderAndBody, { header, body, blockBlobFields }] = await elapsed(() =>
212
- buildHeaderAndBodyFromTxs(txs, lastArchive, endState, globalVariables, this.spongeBlob, isFirstBlock),
202
+ const { header, body, blockBlobFields } = await buildHeaderAndBodyFromTxs(
203
+ txs,
204
+ lastArchive,
205
+ endState,
206
+ globalVariables,
207
+ this.spongeBlob,
208
+ isFirstBlock,
213
209
  );
214
- timings.buildHeaderAndBody = msBuildHeaderAndBody;
215
210
 
216
211
  header.state.validate();
217
212
 
218
213
  await this.db.updateArchive(header);
219
- const [msUpdateArchive, newArchive] = await elapsed(() => getTreeSnapshot(MerkleTreeId.ARCHIVE, this.db));
220
- timings.updateArchive = msUpdateArchive;
214
+ const newArchive = await getTreeSnapshot(MerkleTreeId.ARCHIVE, this.db);
221
215
  this.lastArchives.push(newArchive);
222
216
 
217
+ const expectedNextLeafIndex = Number(globalVariables.blockNumber) + 1;
218
+ if (newArchive.nextAvailableLeafIndex !== expectedNextLeafIndex) {
219
+ throw new Error(
220
+ `Archive tree next leaf index mismatch after building block ${globalVariables.blockNumber} (expected ${expectedNextLeafIndex} but got ${newArchive.nextAvailableLeafIndex})`,
221
+ );
222
+ }
223
+
223
224
  const indexWithinCheckpoint = IndexWithinCheckpoint(this.blocks.length);
224
225
  const block = new L2Block(newArchive, header, body, this.checkpointNumber, indexWithinCheckpoint);
225
226
  this.blocks.push(block);
226
227
 
227
- const [msSpongeAbsorb] = await elapsed(() => this.spongeBlob.absorb(blockBlobFields));
228
- timings.spongeAbsorb = msSpongeAbsorb;
228
+ await this.spongeBlob.absorb(blockBlobFields);
229
229
  this.blobFields.push(...blockBlobFields);
230
230
 
231
231
  this.logger.debug(`Built block ${header.getBlockNumber()}`, {
@@ -236,7 +236,7 @@ export class LightweightCheckpointBuilder {
236
236
  txs: block.body.txEffects.map(tx => tx.txHash.toString()),
237
237
  });
238
238
 
239
- return { block, timings };
239
+ return block;
240
240
  }
241
241
 
242
242
  async completeCheckpoint(): Promise<Checkpoint> {
@@ -116,7 +116,7 @@ export class TestContext {
116
116
 
117
117
  const broker = new TestBroker(proverCount, localProver);
118
118
  const facade = new BrokerCircuitProverFacade(broker);
119
- const orchestrator = new TestProvingOrchestrator(ws, facade, EthAddress.ZERO);
119
+ const orchestrator = new TestProvingOrchestrator(ws, facade, EthAddress.ZERO, false, 10);
120
120
 
121
121
  await broker.start();
122
122
  facade.start();
@@ -262,7 +262,7 @@ export class TestContext {
262
262
  const txs = blockTxs[i];
263
263
  const state = blockEndStates[i];
264
264
 
265
- const { block } = await builder.addBlock(blockGlobalVariables[i], txs, {
265
+ const block = await builder.addBlock(blockGlobalVariables[i], txs, {
266
266
  expectedEndState: state,
267
267
  insertTxsEffects: true,
268
268
  });
@@ -12,7 +12,9 @@ import { Fr } from '@aztec/foundation/curves/bn254';
12
12
  import { AbortError } from '@aztec/foundation/error';
13
13
  import { type Logger, type LoggerBindings, createLogger } from '@aztec/foundation/log';
14
14
  import { promiseWithResolvers } from '@aztec/foundation/promise';
15
+ import { SerialQueue } from '@aztec/foundation/queue';
15
16
  import { assertLength } from '@aztec/foundation/serialize';
17
+ import { sleep } from '@aztec/foundation/sleep';
16
18
  import { pushTestData } from '@aztec/foundation/testing';
17
19
  import { elapsed } from '@aztec/foundation/timer';
18
20
  import type { TreeNodeLocation } from '@aztec/foundation/trees';
@@ -94,17 +96,20 @@ export class ProvingOrchestrator implements EpochProver {
94
96
  // eslint-disable-next-line aztec-custom/no-non-primitive-in-collections
95
97
  private dbs: Map<BlockNumber, MerkleTreeWriteOperations> = new Map();
96
98
  private logger: Logger;
99
+ private deferredJobQueue = new SerialQueue();
97
100
 
98
101
  constructor(
99
102
  private dbProvider: ReadonlyWorldStateAccess & ForkMerkleTreeOperations,
100
103
  private prover: ServerCircuitProver,
101
104
  private readonly proverId: EthAddress,
102
105
  private readonly cancelJobsOnStop: boolean = false,
106
+ private readonly enqueueConcurrency: number,
103
107
  telemetryClient: TelemetryClient = getTelemetryClient(),
104
108
  bindings?: LoggerBindings,
105
109
  ) {
106
110
  this.logger = createLogger('prover-client:orchestrator', bindings);
107
111
  this.metrics = new ProvingOrchestratorMetrics(telemetryClient, 'ProvingOrchestrator');
112
+ this.deferredJobQueue.start(this.enqueueConcurrency);
108
113
  }
109
114
 
110
115
  get tracer(): Tracer {
@@ -119,9 +124,11 @@ export class ProvingOrchestrator implements EpochProver {
119
124
  return this.dbs.size;
120
125
  }
121
126
 
122
- public stop(): Promise<void> {
127
+ public async stop(): Promise<void> {
128
+ // Grab the old queue before cancel() replaces it, so we can await its draining.
129
+ const oldQueue = this.deferredJobQueue;
123
130
  this.cancel();
124
- return Promise.resolve();
131
+ await oldQueue.cancel();
125
132
  }
126
133
 
127
134
  public startNewEpoch(
@@ -514,6 +521,11 @@ export class ProvingOrchestrator implements EpochProver {
514
521
  * If cancelJobsOnStop is false (default), jobs remain in the broker queue and can be reused on restart/reorg.
515
522
  */
516
523
  public cancel() {
524
+ void this.deferredJobQueue.cancel();
525
+ // Recreate the queue so it can accept jobs for subsequent epochs.
526
+ this.deferredJobQueue = new SerialQueue();
527
+ this.deferredJobQueue.start(this.enqueueConcurrency);
528
+
517
529
  if (this.cancelJobsOnStop) {
518
530
  for (const controller of this.pendingProvingJobs) {
519
531
  controller.abort();
@@ -623,8 +635,11 @@ export class ProvingOrchestrator implements EpochProver {
623
635
  }
624
636
  };
625
637
 
626
- // let the callstack unwind before adding the job to the queue
627
- setImmediate(() => void safeJob());
638
+ void this.deferredJobQueue.put(async () => {
639
+ void safeJob();
640
+ // we yield here to the macro task queue such to give Nodejs a chance to run other operatoins in between enqueues
641
+ await sleep(0);
642
+ });
628
643
  }
629
644
 
630
645
  private async updateL1ToL2MessageTree(l1ToL2Messages: Fr[], db: MerkleTreeWriteOperations) {
@@ -54,6 +54,7 @@ export class ProverClient implements EpochProverManager {
54
54
  facade,
55
55
  this.config.proverId,
56
56
  this.config.cancelJobsOnStop,
57
+ this.config.enqueueConcurrency,
57
58
  this.telemetry,
58
59
  bindings,
59
60
  );
@@ -156,7 +157,7 @@ export class ProverClient implements EpochProverManager {
156
157
  }
157
158
 
158
159
  export function buildServerCircuitProver(
159
- config: ActualProverConfig & ACVMConfig & BBConfig,
160
+ config: Omit<ActualProverConfig, 'enqueueConcurrency'> & ACVMConfig & BBConfig,
160
161
  telemetry: TelemetryClient,
161
162
  ): Promise<ServerCircuitProver> {
162
163
  if (config.realProofs) {
@@ -5,7 +5,6 @@ import type {
5
5
  RECURSIVE_PROOF_LENGTH,
6
6
  } from '@aztec/constants';
7
7
  import { EpochNumber } from '@aztec/foundation/branded-types';
8
- import { sha256 } from '@aztec/foundation/crypto/sha256';
9
8
  import { type Logger, type LoggerBindings, createLogger } from '@aztec/foundation/log';
10
9
  import { type PromiseWithResolvers, RunningPromise, promiseWithResolvers } from '@aztec/foundation/promise';
11
10
  import { truncate } from '@aztec/foundation/string';
@@ -46,6 +45,8 @@ import type {
46
45
  TxRollupPublicInputs,
47
46
  } from '@aztec/stdlib/rollup';
48
47
 
48
+ import { createHash } from 'node:crypto';
49
+
49
50
  import { InlineProofStore, type ProofStore } from './proof_store/index.js';
50
51
 
51
52
  // Perform a snapshot sync every 30 seconds
@@ -659,8 +660,12 @@ export class BrokerCircuitProverFacade implements ServerCircuitProver {
659
660
  );
660
661
  }
661
662
 
662
- private generateId(type: ProvingRequestType, inputs: { toBuffer(): Buffer }, epochNumber = EpochNumber.ZERO) {
663
- const inputsHash = sha256(inputs.toBuffer());
664
- return makeProvingJobId(epochNumber, type, inputsHash.toString('hex'));
663
+ private generateId(
664
+ type: ProvingRequestType,
665
+ inputs: { toBuffer(): Buffer },
666
+ epochNumber = EpochNumber.ZERO,
667
+ ): ProvingJobId {
668
+ const inputsHash = createHash('sha256').update(inputs.toBuffer()).digest('hex');
669
+ return makeProvingJobId(epochNumber, type, inputsHash);
665
670
  }
666
671
  }
@@ -6,8 +6,8 @@ import {
6
6
  numberConfigHelper,
7
7
  } from '@aztec/foundation/config';
8
8
  import { pickConfigMappings } from '@aztec/foundation/config';
9
+ import { type DataStoreConfig, dataConfigMappings } from '@aztec/kv-store/config';
9
10
  import { type ChainConfig, chainConfigMappings } from '@aztec/stdlib/config';
10
- import { type DataStoreConfig, dataConfigMappings } from '@aztec/stdlib/kv-store';
11
11
  import { ProvingRequestType } from '@aztec/stdlib/proofs';
12
12
 
13
13
  import { z } from 'zod';
@@ -18,6 +18,15 @@ import { makeTracedFetch } from '@aztec/telemetry-client';
18
18
 
19
19
  import { z } from 'zod';
20
20
 
21
+ /** Indefinite backoff for broker communication: 1, 1, 1, 2, 4, 4, 4, ... seconds. */
22
+ export function* proverBrokerBackoff() {
23
+ const v = [1, 1, 1, 2, 4];
24
+ let i = 0;
25
+ while (true) {
26
+ yield v[Math.min(i++, v.length - 1)];
27
+ }
28
+ }
29
+
21
30
  const ProvingJobFilterSchema = z.object({
22
31
  allowList: z.array(z.nativeEnum(ProvingRequestType)),
23
32
  });
@@ -70,7 +79,7 @@ export const ProvingJobBrokerSchemaWithDebug: ApiSchemaFor<ProvingJobBroker & Pr
70
79
  export function createProvingJobBrokerClient(
71
80
  url: string,
72
81
  versions: Partial<ComponentsVersions>,
73
- fetch = makeTracedFetch([1, 2, 3], false),
82
+ fetch = makeTracedFetch(proverBrokerBackoff, false),
74
83
  ): ProvingJobBroker {
75
84
  return createSafeJsonRpcClient(url, ProvingJobBrokerSchema, {
76
85
  namespaceMethods: 'proverBroker',
@@ -82,7 +91,7 @@ export function createProvingJobBrokerClient(
82
91
  export function createProvingJobProducerClient(
83
92
  url: string,
84
93
  versions: Partial<ComponentsVersions>,
85
- fetch = makeTracedFetch([1, 2, 3], false),
94
+ fetch = makeTracedFetch(proverBrokerBackoff, false),
86
95
  ): ProvingJobProducer {
87
96
  return createSafeJsonRpcClient(url, ProvingJobProducerSchema, {
88
97
  namespaceMethods: 'provingJobProducer',
@@ -94,7 +103,7 @@ export function createProvingJobProducerClient(
94
103
  export function createProvingJobConsumerClient(
95
104
  url: string,
96
105
  versions: Partial<ComponentsVersions>,
97
- fetch = makeTracedFetch([1, 2, 3], false),
106
+ fetch = makeTracedFetch(proverBrokerBackoff, false),
98
107
  ): ProvingJobConsumer {
99
108
  return createSafeJsonRpcClient(url, ProvingJobConsumerSchema, {
100
109
  namespaceMethods: 'provingJobConsumer',