@aztec/sequencer-client 0.65.2 → 0.67.0

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 (48) hide show
  1. package/dest/client/sequencer-client.d.ts.map +1 -1
  2. package/dest/client/sequencer-client.js +3 -2
  3. package/dest/config.js +3 -3
  4. package/dest/global_variable_builder/global_builder.d.ts.map +1 -1
  5. package/dest/global_variable_builder/global_builder.js +3 -4
  6. package/dest/publisher/config.d.ts +4 -4
  7. package/dest/publisher/config.d.ts.map +1 -1
  8. package/dest/publisher/config.js +3 -2
  9. package/dest/publisher/l1-publisher-metrics.d.ts.map +1 -1
  10. package/dest/publisher/l1-publisher-metrics.js +2 -8
  11. package/dest/publisher/l1-publisher.d.ts +7 -4
  12. package/dest/publisher/l1-publisher.d.ts.map +1 -1
  13. package/dest/publisher/l1-publisher.js +67 -50
  14. package/dest/publisher/utils.d.ts.map +1 -1
  15. package/dest/publisher/utils.js +2 -1
  16. package/dest/sequencer/metrics.d.ts.map +1 -1
  17. package/dest/sequencer/metrics.js +2 -8
  18. package/dest/sequencer/sequencer.d.ts +13 -4
  19. package/dest/sequencer/sequencer.d.ts.map +1 -1
  20. package/dest/sequencer/sequencer.js +124 -73
  21. package/dest/sequencer/utils.js +2 -2
  22. package/dest/tx_validator/gas_validator.js +3 -3
  23. package/dest/tx_validator/phases_validator.js +3 -3
  24. package/package.json +23 -19
  25. package/src/client/sequencer-client.ts +2 -2
  26. package/src/config.ts +2 -2
  27. package/src/global_variable_builder/global_builder.ts +3 -3
  28. package/src/publisher/config.ts +7 -4
  29. package/src/publisher/l1-publisher-metrics.ts +1 -7
  30. package/src/publisher/l1-publisher.ts +98 -64
  31. package/src/publisher/utils.ts +1 -0
  32. package/src/sequencer/metrics.ts +0 -7
  33. package/src/sequencer/sequencer.ts +152 -123
  34. package/src/sequencer/utils.ts +1 -1
  35. package/src/tx_validator/gas_validator.ts +2 -2
  36. package/src/tx_validator/phases_validator.ts +2 -2
  37. package/dest/block_builder/index.d.ts +0 -7
  38. package/dest/block_builder/index.d.ts.map +0 -1
  39. package/dest/block_builder/index.js +0 -3
  40. package/dest/block_builder/light.d.ts +0 -26
  41. package/dest/block_builder/light.d.ts.map +0 -1
  42. package/dest/block_builder/light.js +0 -58
  43. package/dest/block_builder/orchestrator.d.ts +0 -23
  44. package/dest/block_builder/orchestrator.d.ts.map +0 -1
  45. package/dest/block_builder/orchestrator.js +0 -33
  46. package/src/block_builder/index.ts +0 -7
  47. package/src/block_builder/light.ts +0 -92
  48. package/src/block_builder/orchestrator.ts +0 -43
@@ -66,6 +66,6 @@ export function orderAttestations(attestations, orderAddresses) {
66
66
  }
67
67
  export function getSecondsIntoSlot(l1GenesisTime, aztecSlotDuration, slotNumber) {
68
68
  const slotStartTimestamp = l1GenesisTime + slotNumber * aztecSlotDuration;
69
- return Date.now() / 1000 - slotStartTimestamp;
69
+ return Number((Date.now() / 1000 - slotStartTimestamp).toFixed(3));
70
70
  }
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VxdWVuY2VyL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUU1RCxNQUFNLENBQU4sSUFBWSxjQXFDWDtBQXJDRCxXQUFZLGNBQWM7SUFDeEI7O09BRUc7SUFDSCxxQ0FBbUIsQ0FBQTtJQUNuQjs7T0FFRztJQUNILCtCQUFhLENBQUE7SUFDYjs7T0FFRztJQUNILGlEQUErQixDQUFBO0lBQy9COztPQUVHO0lBQ0gsbURBQWlDLENBQUE7SUFDakM7O09BRUc7SUFDSCxxREFBbUMsQ0FBQTtJQUNuQzs7T0FFRztJQUNILG1EQUFpQyxDQUFBO0lBQ2pDOztPQUVHO0lBQ0gseUVBQXVELENBQUE7SUFDdkQ7O09BRUc7SUFDSCx1RUFBcUQsQ0FBQTtJQUNyRDs7T0FFRztJQUNILHVEQUFxQyxDQUFBO0FBQ3ZDLENBQUMsRUFyQ1csY0FBYyxLQUFkLGNBQWMsUUFxQ3pCO0FBSUQsTUFBTSxVQUFVLHNCQUFzQixDQUFDLEtBQXFCO0lBQzFELE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDdEQsQ0FBQztBQUVEOzs7Ozs7R0FNRztBQUNILE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxZQUFnQyxFQUFFLGNBQTRCO0lBQzlGLHdEQUF3RDtJQUN4RCxNQUFNLGNBQWMsR0FBRyxJQUFJLEdBQUcsRUFBNEIsQ0FBQztJQUUzRCxLQUFLLE1BQU0sV0FBVyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3ZDLE1BQU0sTUFBTSxHQUFHLFdBQVcsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUN2QyxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ1gsY0FBYyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDckQsQ0FBQztJQUNILENBQUM7SUFFRCx1RkFBdUY7SUFDdkYsTUFBTSxtQkFBbUIsR0FBRyxjQUFjLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQ3ZELE1BQU0sYUFBYSxHQUFHLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN6QyxPQUFPLGNBQWMsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLEVBQUUsU0FBUyxJQUFJLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUMzRSxDQUFDLENBQUMsQ0FBQztJQUVILE9BQU8sbUJBQW1CLENBQUM7QUFDN0IsQ0FBQztBQUVELE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxhQUFxQixFQUFFLGlCQUF5QixFQUFFLFVBQWtCO0lBQ3JHLE1BQU0sa0JBQWtCLEdBQUcsYUFBYSxHQUFHLFVBQVUsR0FBRyxpQkFBaUIsQ0FBQztJQUMxRSxPQUFPLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxJQUFJLEdBQUcsa0JBQWtCLENBQUM7QUFDaEQsQ0FBQyJ9
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VxdWVuY2VyL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUU1RCxNQUFNLENBQU4sSUFBWSxjQXFDWDtBQXJDRCxXQUFZLGNBQWM7SUFDeEI7O09BRUc7SUFDSCxxQ0FBbUIsQ0FBQTtJQUNuQjs7T0FFRztJQUNILCtCQUFhLENBQUE7SUFDYjs7T0FFRztJQUNILGlEQUErQixDQUFBO0lBQy9COztPQUVHO0lBQ0gsbURBQWlDLENBQUE7SUFDakM7O09BRUc7SUFDSCxxREFBbUMsQ0FBQTtJQUNuQzs7T0FFRztJQUNILG1EQUFpQyxDQUFBO0lBQ2pDOztPQUVHO0lBQ0gseUVBQXVELENBQUE7SUFDdkQ7O09BRUc7SUFDSCx1RUFBcUQsQ0FBQTtJQUNyRDs7T0FFRztJQUNILHVEQUFxQyxDQUFBO0FBQ3ZDLENBQUMsRUFyQ1csY0FBYyxLQUFkLGNBQWMsUUFxQ3pCO0FBSUQsTUFBTSxVQUFVLHNCQUFzQixDQUFDLEtBQXFCO0lBQzFELE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDdEQsQ0FBQztBQUVEOzs7Ozs7R0FNRztBQUNILE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxZQUFnQyxFQUFFLGNBQTRCO0lBQzlGLHdEQUF3RDtJQUN4RCxNQUFNLGNBQWMsR0FBRyxJQUFJLEdBQUcsRUFBNEIsQ0FBQztJQUUzRCxLQUFLLE1BQU0sV0FBVyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3ZDLE1BQU0sTUFBTSxHQUFHLFdBQVcsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUN2QyxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ1gsY0FBYyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDckQsQ0FBQztJQUNILENBQUM7SUFFRCx1RkFBdUY7SUFDdkYsTUFBTSxtQkFBbUIsR0FBRyxjQUFjLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQ3ZELE1BQU0sYUFBYSxHQUFHLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN6QyxPQUFPLGNBQWMsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLEVBQUUsU0FBUyxJQUFJLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUMzRSxDQUFDLENBQUMsQ0FBQztJQUVILE9BQU8sbUJBQW1CLENBQUM7QUFDN0IsQ0FBQztBQUVELE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxhQUFxQixFQUFFLGlCQUF5QixFQUFFLFVBQWtCO0lBQ3JHLE1BQU0sa0JBQWtCLEdBQUcsYUFBYSxHQUFHLFVBQVUsR0FBRyxpQkFBaUIsQ0FBQztJQUMxRSxPQUFPLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxJQUFJLEdBQUcsa0JBQWtCLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyRSxDQUFDIn0=
@@ -2,13 +2,13 @@ var _GasTxValidator_instances, _GasTxValidator_log, _GasTxValidator_publicDataSo
2
2
  import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
3
3
  import { TxExecutionPhase } from '@aztec/circuit-types';
4
4
  import { FunctionSelector } from '@aztec/circuits.js';
5
- import { createDebugLogger } from '@aztec/foundation/log';
5
+ import { createLogger } from '@aztec/foundation/log';
6
6
  import { computeFeePayerBalanceStorageSlot, getExecutionRequestsByPhase } from '@aztec/simulator';
7
7
  export class GasTxValidator {
8
8
  constructor(publicDataSource, feeJuiceAddress, enforceFees) {
9
9
  _GasTxValidator_instances.add(this);
10
10
  this.enforceFees = enforceFees;
11
- _GasTxValidator_log.set(this, createDebugLogger('aztec:sequencer:tx_validator:tx_gas'));
11
+ _GasTxValidator_log.set(this, createLogger('sequencer:tx_validator:tx_gas'));
12
12
  _GasTxValidator_publicDataSource.set(this, void 0);
13
13
  _GasTxValidator_feeJuiceAddress.set(this, void 0);
14
14
  __classPrivateFieldSet(this, _GasTxValidator_publicDataSource, publicDataSource, "f");
@@ -66,4 +66,4 @@ _GasTxValidator_log = new WeakMap(), _GasTxValidator_publicDataSource = new Weak
66
66
  }
67
67
  return true;
68
68
  };
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2FzX3ZhbGlkYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eF92YWxpZGF0b3IvZ2FzX3ZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFBVyxnQkFBZ0IsRUFBb0IsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRixPQUFPLEVBQThCLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFPbEcsTUFBTSxPQUFPLGNBQWM7SUFLekIsWUFBWSxnQkFBbUMsRUFBRSxlQUE2QixFQUFTLFdBQW9COztRQUFwQixnQkFBVyxHQUFYLFdBQVcsQ0FBUztRQUozRyw4QkFBTyxpQkFBaUIsQ0FBQyxxQ0FBcUMsQ0FBQyxFQUFDO1FBQ2hFLG1EQUFxQztRQUNyQyxrREFBK0I7UUFHN0IsdUJBQUEsSUFBSSxvQ0FBcUIsZ0JBQWdCLE1BQUEsQ0FBQztRQUMxQyx1QkFBQSxJQUFJLG1DQUFvQixlQUFlLE1BQUEsQ0FBQztJQUMxQyxDQUFDO0lBRUQsS0FBSyxDQUFDLFdBQVcsQ0FBQyxHQUFTO1FBQ3pCLE1BQU0sUUFBUSxHQUFTLEVBQUUsQ0FBQztRQUMxQixNQUFNLFVBQVUsR0FBUyxFQUFFLENBQUM7UUFFNUIsS0FBSyxNQUFNLEVBQUUsSUFBSSxHQUFHLEVBQUUsQ0FBQztZQUNyQixJQUFJLE1BQU0sdUJBQUEsSUFBSSxnRUFBZSxNQUFuQixJQUFJLEVBQWdCLEVBQUUsQ0FBQyxFQUFFLENBQUM7Z0JBQ2xDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDcEIsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDdEIsQ0FBQztRQUNILENB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
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2FzX3ZhbGlkYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eF92YWxpZGF0b3IvZ2FzX3ZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFBVyxnQkFBZ0IsRUFBb0IsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRixPQUFPLEVBQThCLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBT2xHLE1BQU0sT0FBTyxjQUFjO0lBS3pCLFlBQVksZ0JBQW1DLEVBQUUsZUFBNkIsRUFBUyxXQUFvQjs7UUFBcEIsZ0JBQVcsR0FBWCxXQUFXLENBQVM7UUFKM0csOEJBQU8sWUFBWSxDQUFDLCtCQUErQixDQUFDLEVBQUM7UUFDckQsbURBQXFDO1FBQ3JDLGtEQUErQjtRQUc3Qix1QkFBQSxJQUFJLG9DQUFxQixnQkFBZ0IsTUFBQSxDQUFDO1FBQzFDLHVCQUFBLElBQUksbUNBQW9CLGVBQWUsTUFBQSxDQUFDO0lBQzFDLENBQUM7SUFFRCxLQUFLLENBQUMsV0FBVyxDQUFDLEdBQVM7UUFDekIsTUFBTSxRQUFRLEdBQVMsRUFBRSxDQUFDO1FBQzFCLE1BQU0sVUFBVSxHQUFTLEVBQUUsQ0FBQztRQUU1QixLQUFLLE1BQU0sRUFBRSxJQUFJLEdBQUcsRUFBRSxDQUFDO1lBQ3JCLElBQUksTUFBTSx1QkFBQSxJQUFJLGdFQUFlLE1BQW5CLElBQUksRUFBZ0IsRUFBRSxDQUFDLEVBQUUsQ0FBQztnQkFDbEMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNwQixDQUFDO2lCQUFNLENBQUM7Z0JBQ04sVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUN0QixDQUFDO1FBQ0gsQ0FBQztR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
@@ -1,12 +1,12 @@
1
1
  var _PhasesTxValidator_log;
2
2
  import { __classPrivateFieldGet } from "tslib";
3
3
  import { Tx, TxExecutionPhase, } from '@aztec/circuit-types';
4
- import { createDebugLogger } from '@aztec/foundation/log';
4
+ import { createLogger } from '@aztec/foundation/log';
5
5
  import { ContractsDataSourcePublicDB, getExecutionRequestsByPhase } from '@aztec/simulator';
6
6
  export class PhasesTxValidator {
7
7
  constructor(contracts, setupAllowList) {
8
8
  this.setupAllowList = setupAllowList;
9
- _PhasesTxValidator_log.set(this, createDebugLogger('aztec:sequencer:tx_validator:tx_phases'));
9
+ _PhasesTxValidator_log.set(this, createLogger('sequencer:tx_validator:tx_phases'));
10
10
  this.contractDataSource = new ContractsDataSourcePublicDB(contracts);
11
11
  }
12
12
  async validateTxs(txs) {
@@ -78,4 +78,4 @@ export class PhasesTxValidator {
78
78
  }
79
79
  }
80
80
  _PhasesTxValidator_log = new WeakMap();
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhhc2VzX3ZhbGlkYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eF92YWxpZGF0b3IvcGhhc2VzX3ZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFHTCxFQUFFLEVBQ0YsZ0JBQWdCLEdBRWpCLE1BQU0sc0JBQXNCLENBQUM7QUFFOUIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLDJCQUEyQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFNUYsTUFBTSxPQUFPLGlCQUFpQjtJQUk1QixZQUFZLFNBQTZCLEVBQVUsY0FBZ0M7UUFBaEMsbUJBQWMsR0FBZCxjQUFjLENBQWtCO1FBSG5GLGlDQUFPLGlCQUFpQixDQUFDLHdDQUF3QyxDQUFDLEVBQUM7UUFJakUsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksMkJBQTJCLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUVELEtBQUssQ0FBQyxXQUFXLENBQUMsR0FBUztRQUN6QixNQUFNLFFBQVEsR0FBUyxFQUFFLENBQUM7UUFDMUIsTUFBTSxVQUFVLEdBQVMsRUFBRSxDQUFDO1FBRTVCLEtBQUssTUFBTSxFQUFFLElBQUksR0FBRyxFQUFFLENBQUM7WUFDckIsd0ZBQXdGO1lBQ3hGLG1HQUFtRztZQUNuRywrREFBK0Q7WUFDL0QsTUFBTSxJQUFJLENBQUMsa0JBQWtCLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBRWxELElBQUksTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7Z0JBQzlCLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDcEIsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDdEIsQ0FBQztZQUVELE1BQU0s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
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhhc2VzX3ZhbGlkYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eF92YWxpZGF0b3IvcGhhc2VzX3ZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFHTCxFQUFFLEVBQ0YsZ0JBQWdCLEdBRWpCLE1BQU0sc0JBQXNCLENBQUM7QUFFOUIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRTVGLE1BQU0sT0FBTyxpQkFBaUI7SUFJNUIsWUFBWSxTQUE2QixFQUFVLGNBQWdDO1FBQWhDLG1CQUFjLEdBQWQsY0FBYyxDQUFrQjtRQUhuRixpQ0FBTyxZQUFZLENBQUMsa0NBQWtDLENBQUMsRUFBQztRQUl0RCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSwyQkFBMkIsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQsS0FBSyxDQUFDLFdBQVcsQ0FBQyxHQUFTO1FBQ3pCLE1BQU0sUUFBUSxHQUFTLEVBQUUsQ0FBQztRQUMxQixNQUFNLFVBQVUsR0FBUyxFQUFFLENBQUM7UUFFNUIsS0FBSyxNQUFNLEVBQUUsSUFBSSxHQUFHLEVBQUUsQ0FBQztZQUNyQix3RkFBd0Y7WUFDeEYsbUdBQW1HO1lBQ25HLCtEQUErRDtZQUMvRCxNQUFNLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDLENBQUM7WUFFbEQsSUFBSSxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztnQkFDOUIsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNwQixDQUFDO2lCQUFNLENBQUM7Z0JBQ04sVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUN0QixDQUFDO1lBRUQsTUFBTSxJQUFJ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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aztec/sequencer-client",
3
- "version": "0.65.2",
3
+ "version": "0.67.0",
4
4
  "type": "module",
5
5
  "exports": "./dest/index.js",
6
6
  "typedocOptions": {
@@ -24,24 +24,24 @@
24
24
  "test:integration:run": "NODE_NO_WARNINGS=1 node --experimental-vm-modules $(yarn bin jest) --no-cache --config jest.integration.config.json"
25
25
  },
26
26
  "dependencies": {
27
- "@aztec/aztec.js": "0.65.2",
28
- "@aztec/bb-prover": "0.65.2",
29
- "@aztec/circuit-types": "0.65.2",
30
- "@aztec/circuits.js": "0.65.2",
31
- "@aztec/ethereum": "0.65.2",
32
- "@aztec/foundation": "0.65.2",
33
- "@aztec/l1-artifacts": "0.65.2",
34
- "@aztec/merkle-tree": "0.65.2",
35
- "@aztec/noir-contracts.js": "0.65.2",
36
- "@aztec/noir-protocol-circuits-types": "0.65.2",
37
- "@aztec/p2p": "0.65.2",
38
- "@aztec/protocol-contracts": "0.65.2",
39
- "@aztec/prover-client": "0.65.2",
40
- "@aztec/simulator": "0.65.2",
41
- "@aztec/telemetry-client": "0.65.2",
42
- "@aztec/types": "0.65.2",
43
- "@aztec/validator-client": "0.65.2",
44
- "@aztec/world-state": "0.65.2",
27
+ "@aztec/aztec.js": "0.67.0",
28
+ "@aztec/bb-prover": "0.67.0",
29
+ "@aztec/circuit-types": "0.67.0",
30
+ "@aztec/circuits.js": "0.67.0",
31
+ "@aztec/ethereum": "0.67.0",
32
+ "@aztec/foundation": "0.67.0",
33
+ "@aztec/l1-artifacts": "0.67.0",
34
+ "@aztec/merkle-tree": "0.67.0",
35
+ "@aztec/noir-contracts.js": "0.67.0",
36
+ "@aztec/noir-protocol-circuits-types": "0.67.0",
37
+ "@aztec/p2p": "0.67.0",
38
+ "@aztec/protocol-contracts": "0.67.0",
39
+ "@aztec/prover-client": "0.67.0",
40
+ "@aztec/simulator": "0.67.0",
41
+ "@aztec/telemetry-client": "0.67.0",
42
+ "@aztec/types": "0.67.0",
43
+ "@aztec/validator-client": "0.67.0",
44
+ "@aztec/world-state": "0.67.0",
45
45
  "@noir-lang/acvm_js": "portal:../../noir/packages/acvm_js",
46
46
  "@noir-lang/types": "portal:../../noir/packages/types",
47
47
  "lodash.chunk": "^4.2.0",
@@ -109,6 +109,10 @@
109
109
  "summaryThreshold": 9999
110
110
  }
111
111
  ]
112
+ ],
113
+ "testTimeout": 30000,
114
+ "setupFiles": [
115
+ "../../foundation/src/jest/setup.mjs"
112
116
  ]
113
117
  }
114
118
  }
@@ -2,11 +2,11 @@ import { type L1ToL2MessageSource, type L2BlockSource, type WorldStateSynchroniz
2
2
  import { type ContractDataSource } from '@aztec/circuits.js';
3
3
  import { type EthAddress } from '@aztec/foundation/eth-address';
4
4
  import { type P2P } from '@aztec/p2p';
5
+ import { LightweightBlockBuilderFactory } from '@aztec/prover-client/block-builder';
5
6
  import { PublicProcessorFactory } from '@aztec/simulator';
6
7
  import { type TelemetryClient } from '@aztec/telemetry-client';
7
8
  import { type ValidatorClient } from '@aztec/validator-client';
8
9
 
9
- import { LightweightBlockBuilderFactory } from '../block_builder/index.js';
10
10
  import { type SequencerClientConfig } from '../config.js';
11
11
  import { GlobalVariableBuilder } from '../global_variable_builder/index.js';
12
12
  import { L1Publisher } from '../publisher/index.js';
@@ -81,7 +81,7 @@ export class SequencerClient {
81
81
  telemetryClient,
82
82
  config,
83
83
  );
84
-
84
+ await validatorClient?.start();
85
85
  await sequencer.start();
86
86
  return new SequencerClient(sequencer);
87
87
  }
package/src/config.ts CHANGED
@@ -189,12 +189,12 @@ export function parseSequencerAllowList(value: string): AllowedElement[] {
189
189
  } else if (typeString === 'C') {
190
190
  if (selector) {
191
191
  entries.push({
192
- classId: Fr.fromString(identifierString),
192
+ classId: Fr.fromHexString(identifierString),
193
193
  selector,
194
194
  });
195
195
  } else {
196
196
  entries.push({
197
- classId: Fr.fromString(identifierString),
197
+ classId: Fr.fromHexString(identifierString),
198
198
  });
199
199
  }
200
200
  }
@@ -2,7 +2,7 @@ import { type GlobalVariableBuilder as GlobalVariableBuilderInterface } from '@a
2
2
  import { type AztecAddress, type EthAddress, GasFees, GlobalVariables } from '@aztec/circuits.js';
3
3
  import { type L1ContractsConfig, type L1ReaderConfig, createEthereumChain } from '@aztec/ethereum';
4
4
  import { Fr } from '@aztec/foundation/fields';
5
- import { createDebugLogger } from '@aztec/foundation/log';
5
+ import { createLogger } from '@aztec/foundation/log';
6
6
  import { RollupAbi } from '@aztec/l1-artifacts';
7
7
 
8
8
  import {
@@ -20,7 +20,7 @@ import type * as chains from 'viem/chains';
20
20
  * Simple global variables builder.
21
21
  */
22
22
  export class GlobalVariableBuilder implements GlobalVariableBuilderInterface {
23
- private log = createDebugLogger('aztec:sequencer:global_variable_builder');
23
+ private log = createLogger('sequencer:global_variable_builder');
24
24
 
25
25
  private rollupContract: GetContractReturnType<typeof RollupAbi, PublicClient<HttpTransport, chains.Chain>>;
26
26
  private publicClient: PublicClient<HttpTransport, chains.Chain>;
@@ -103,7 +103,7 @@ export class GlobalVariableBuilder implements GlobalVariableBuilderInterface {
103
103
  feeRecipient,
104
104
  gasFees,
105
105
  );
106
- this.log.debug(`Built global variables for block ${blockNumber}`, globalVariables.toFriendlyJSON());
106
+
107
107
  return globalVariables;
108
108
  }
109
109
  }
@@ -1,4 +1,4 @@
1
- import { type L1ReaderConfig, NULL_KEY } from '@aztec/ethereum';
1
+ import { type L1ReaderConfig, type L1TxUtilsConfig, NULL_KEY, l1TxUtilsConfigMappings } from '@aztec/ethereum';
2
2
  import { type ConfigMappingsType, getConfigFromMappings, numberConfigHelper } from '@aztec/foundation/config';
3
3
 
4
4
  /**
@@ -19,12 +19,12 @@ export type TxSenderConfig = L1ReaderConfig & {
19
19
  /**
20
20
  * Configuration of the L1Publisher.
21
21
  */
22
- export interface PublisherConfig {
22
+ export type PublisherConfig = L1TxUtilsConfig & {
23
23
  /**
24
24
  * The interval to wait between publish retries.
25
25
  */
26
26
  l1PublishRetryIntervalMS: number;
27
- }
27
+ };
28
28
 
29
29
  export const getTxSenderConfigMappings: (
30
30
  scope: 'PROVER' | 'SEQ',
@@ -62,13 +62,16 @@ export function getTxSenderConfigFromEnv(scope: 'PROVER' | 'SEQ'): Omit<TxSender
62
62
  return getConfigFromMappings(getTxSenderConfigMappings(scope));
63
63
  }
64
64
 
65
- export const getPublisherConfigMappings: (scope: 'PROVER' | 'SEQ') => ConfigMappingsType<PublisherConfig> = scope => ({
65
+ export const getPublisherConfigMappings: (
66
+ scope: 'PROVER' | 'SEQ',
67
+ ) => ConfigMappingsType<PublisherConfig & L1TxUtilsConfig> = scope => ({
66
68
  l1PublishRetryIntervalMS: {
67
69
  env: `${scope}_PUBLISH_RETRY_INTERVAL_MS`,
68
70
  parseEnv: (val: string) => +val,
69
71
  defaultValue: 1000,
70
72
  description: 'The interval to wait between publish retries.',
71
73
  },
74
+ ...l1TxUtilsConfigMappings,
72
75
  });
73
76
 
74
77
  export function getPublisherConfigFromEnv(scope: 'PROVER' | 'SEQ'): PublisherConfig {
@@ -38,9 +38,6 @@ export class L1PublisherMetrics {
38
38
  description: 'The duration of transaction processing',
39
39
  unit: 'ms',
40
40
  valueType: ValueType.INT,
41
- advice: {
42
- explicitBucketBoundaries: [10, 50, 100, 200, 500, 1000, 2000, 5000, 10000],
43
- },
44
41
  });
45
42
 
46
43
  this.txGas = meter.createHistogram(Metrics.L1_PUBLISHER_TX_GAS, {
@@ -51,11 +48,8 @@ export class L1PublisherMetrics {
51
48
 
52
49
  this.txCalldataSize = meter.createHistogram(Metrics.L1_PUBLISHER_TX_CALLDATA_SIZE, {
53
50
  description: 'The size of the calldata in transactions',
54
- unit: 'bytes',
51
+ unit: 'By',
55
52
  valueType: ValueType.INT,
56
- advice: {
57
- explicitBucketBoundaries: [0, 100, 200, 500, 1000, 2000, 5000, 10000],
58
- },
59
53
  });
60
54
 
61
55
  this.txCalldataGas = meter.createHistogram(Metrics.L1_PUBLISHER_TX_CALLDATA_GAS, {
@@ -11,18 +11,24 @@ import { type L1PublishBlockStats, type L1PublishProofStats } from '@aztec/circu
11
11
  import {
12
12
  AGGREGATION_OBJECT_LENGTH,
13
13
  AZTEC_MAX_EPOCH_DURATION,
14
+ type BlockHeader,
14
15
  EthAddress,
15
16
  type FeeRecipient,
16
- type Header,
17
17
  type Proof,
18
18
  type RootRollupPublicInputs,
19
19
  } from '@aztec/circuits.js';
20
- import { type EthereumChain, type L1ContractsConfig, createEthereumChain } from '@aztec/ethereum';
20
+ import {
21
+ type EthereumChain,
22
+ type L1ContractsConfig,
23
+ L1TxUtils,
24
+ type L1TxUtilsConfig,
25
+ createEthereumChain,
26
+ } from '@aztec/ethereum';
21
27
  import { makeTuple } from '@aztec/foundation/array';
22
28
  import { areArraysEqual, compactArray, times } from '@aztec/foundation/collection';
23
29
  import { type Signature } from '@aztec/foundation/eth-signature';
24
30
  import { Fr } from '@aztec/foundation/fields';
25
- import { createDebugLogger } from '@aztec/foundation/log';
31
+ import { createLogger } from '@aztec/foundation/log';
26
32
  import { type Tuple, serializeToBuffer } from '@aztec/foundation/serialize';
27
33
  import { InterruptibleSleep } from '@aztec/foundation/sleep';
28
34
  import { Timer } from '@aztec/foundation/timer';
@@ -44,6 +50,7 @@ import {
44
50
  type PublicActions,
45
51
  type PublicClient,
46
52
  type PublicRpcSchema,
53
+ type TransactionReceipt,
47
54
  type WalletActions,
48
55
  type WalletClient,
49
56
  type WalletRpcSchema,
@@ -142,7 +149,8 @@ export class L1Publisher {
142
149
  private payload: EthAddress = EthAddress.ZERO;
143
150
  private myLastVote: bigint = 0n;
144
151
 
145
- protected log = createDebugLogger('aztec:sequencer:publisher');
152
+ protected log = createLogger('sequencer:publisher');
153
+ protected governanceLog = createLogger('sequencer:publisher:governance');
146
154
 
147
155
  protected rollupContract: GetContractReturnType<
148
156
  typeof RollupAbi,
@@ -161,8 +169,10 @@ export class L1Publisher {
161
169
  public static PROPOSE_GAS_GUESS: bigint = 12_000_000n;
162
170
  public static PROPOSE_AND_CLAIM_GAS_GUESS: bigint = this.PROPOSE_GAS_GUESS + 100_000n;
163
171
 
172
+ private readonly l1TxUtils: L1TxUtils;
173
+
164
174
  constructor(
165
- config: TxSenderConfig & PublisherConfig & Pick<L1ContractsConfig, 'ethereumSlotDuration'>,
175
+ config: TxSenderConfig & PublisherConfig & Pick<L1ContractsConfig, 'ethereumSlotDuration'> & L1TxUtilsConfig,
166
176
  client: TelemetryClient,
167
177
  ) {
168
178
  this.sleepTimeMs = config?.l1PublishRetryIntervalMS ?? 60_000;
@@ -195,6 +205,12 @@ export class L1Publisher {
195
205
  client: this.walletClient,
196
206
  });
197
207
  }
208
+
209
+ this.l1TxUtils = new L1TxUtils(this.publicClient, this.walletClient, this.log, config);
210
+ }
211
+
212
+ get publisherAddress() {
213
+ return this.account.address;
198
214
  }
199
215
 
200
216
  protected createWalletClient(
@@ -296,8 +312,13 @@ export class L1Publisher {
296
312
  }
297
313
 
298
314
  public async getProofClaim(): Promise<EpochProofClaim | undefined> {
299
- const [epochToProve, basisPointFee, bondAmount, bondProviderHex, proposerClaimantHex] =
300
- await this.rollupContract.read.proofClaim();
315
+ const {
316
+ epochToProve,
317
+ basisPointFee,
318
+ bondAmount,
319
+ bondProvider: bondProviderHex,
320
+ proposerClaimant: proposerClaimantHex,
321
+ } = await this.rollupContract.read.getProofClaim();
301
322
 
302
323
  const bondProvider = EthAddress.fromString(bondProviderHex);
303
324
  const proposerClaimant = EthAddress.fromString(proposerClaimantHex);
@@ -322,7 +343,7 @@ export class L1Publisher {
322
343
  await this.rollupContract.read.validateEpochProofRightClaimAtTime(args, { account: this.account });
323
344
  } catch (err) {
324
345
  const errorName = tryGetCustomErrorName(err);
325
- this.log.warn(`Proof quote validation failed: ${errorName}`);
346
+ this.log.warn(`Proof quote validation failed: ${errorName}`, quote);
326
347
  return undefined;
327
348
  }
328
349
  return quote;
@@ -338,7 +359,7 @@ export class L1Publisher {
338
359
  *
339
360
  */
340
361
  public async validateBlockForSubmission(
341
- header: Header,
362
+ header: BlockHeader,
342
363
  attestationData: { digest: Buffer; signatures: Signature[] } = {
343
364
  digest: Buffer.alloc(32),
344
365
  signatures: [],
@@ -412,7 +433,7 @@ export class L1Publisher {
412
433
  this.governanceProposerContract.read.computeRound([slotNumber]),
413
434
  ]);
414
435
 
415
- if (proposer != this.account.address) {
436
+ if (proposer.toLowerCase() !== this.account.address.toLowerCase()) {
416
437
  return false;
417
438
  }
418
439
 
@@ -430,14 +451,14 @@ export class L1Publisher {
430
451
  const cachedMyLastVote = this.myLastVote;
431
452
  this.myLastVote = slotNumber;
432
453
 
454
+ this.governanceLog.verbose(`Casting vote for ${this.payload}`);
455
+
433
456
  let txHash;
434
457
  try {
435
- txHash = await this.governanceProposerContract.write.vote([this.payload.toString()], {
436
- account: this.account,
437
- });
458
+ txHash = await this.governanceProposerContract.write.vote([this.payload.toString()], { account: this.account });
438
459
  } catch (err) {
439
460
  const msg = prettyLogViemErrorMsg(err);
440
- this.log.error(`Governance: Failed to vote`, msg);
461
+ this.governanceLog.error(`Failed to vote`, msg);
441
462
  this.myLastVote = cachedMyLastVote;
442
463
  return false;
443
464
  }
@@ -445,14 +466,13 @@ export class L1Publisher {
445
466
  if (txHash) {
446
467
  const receipt = await this.getTransactionReceipt(txHash);
447
468
  if (!receipt) {
448
- this.log.info(`Failed to get receipt for tx ${txHash}`);
469
+ this.governanceLog.warn(`Failed to get receipt for tx ${txHash}`);
449
470
  this.myLastVote = cachedMyLastVote;
450
471
  return false;
451
472
  }
452
473
  }
453
474
 
454
- this.log.info(`Governance: Cast vote for ${this.payload}`);
455
-
475
+ this.governanceLog.info(`Cast vote for ${this.payload}`);
456
476
  return true;
457
477
  }
458
478
 
@@ -502,37 +522,31 @@ export class L1Publisher {
502
522
  signatures: attestations ?? [],
503
523
  });
504
524
 
505
- this.log.verbose(`Submitting propose transaction`);
506
-
507
- const tx = proofQuote
525
+ this.log.debug(`Submitting propose transaction`);
526
+ const result = proofQuote
508
527
  ? await this.sendProposeAndClaimTx(proposeTxArgs, proofQuote)
509
528
  : await this.sendProposeTx(proposeTxArgs);
510
529
 
511
- if (!tx) {
530
+ if (!result?.receipt) {
512
531
  this.log.info(`Failed to publish block ${block.number} to L1`, ctx);
513
532
  return false;
514
533
  }
515
534
 
516
- const { hash: txHash, args, functionName, gasLimit } = tx;
517
-
518
- const receipt = await this.getTransactionReceipt(txHash);
519
- if (!receipt) {
520
- this.log.info(`Failed to get receipt for tx ${txHash}`, ctx);
521
- return false;
522
- }
535
+ const { receipt, args, functionName } = result;
523
536
 
524
537
  // Tx was mined successfully
525
- if (receipt.status) {
526
- const tx = await this.getTransactionStats(txHash);
538
+ if (receipt.status === 'success') {
539
+ const tx = await this.getTransactionStats(receipt.transactionHash);
527
540
  const stats: L1PublishBlockStats = {
528
- ...pick(receipt, 'gasPrice', 'gasUsed', 'transactionHash'),
541
+ gasPrice: receipt.effectiveGasPrice,
542
+ gasUsed: receipt.gasUsed,
543
+ transactionHash: receipt.transactionHash,
529
544
  ...pick(tx!, 'calldataGas', 'calldataSize', 'sender'),
530
545
  ...block.getStats(),
531
546
  eventName: 'rollup-published-to-l1',
532
547
  };
533
- this.log.info(`Published L2 block to L1 rollup contract`, { ...stats, ...ctx });
548
+ this.log.verbose(`Published L2 block to L1 rollup contract`, { ...stats, ...ctx });
534
549
  this.metrics.recordProcessBlockTx(timer.ms(), stats);
535
-
536
550
  return true;
537
551
  }
538
552
 
@@ -541,7 +555,6 @@ export class L1Publisher {
541
555
  const errorMsg = await this.tryGetErrorFromRevertedTx({
542
556
  args,
543
557
  functionName,
544
- gasLimit,
545
558
  abi: RollupAbi,
546
559
  address: this.rollupContract.address,
547
560
  blockNumber: receipt.blockNumber,
@@ -557,7 +570,6 @@ export class L1Publisher {
557
570
  private async tryGetErrorFromRevertedTx(args: {
558
571
  args: any[];
559
572
  functionName: string;
560
- gasLimit: bigint;
561
573
  abi: any;
562
574
  address: Hex;
563
575
  blockNumber: bigint | undefined;
@@ -633,7 +645,7 @@ export class L1Publisher {
633
645
  const { fromBlock, toBlock, publicInputs, proof } = args;
634
646
 
635
647
  // Check that the block numbers match the expected epoch to be proven
636
- const [pending, proven] = await this.rollupContract.read.tips();
648
+ const { pendingBlockNumber: pending, provenBlockNumber: proven } = await this.rollupContract.read.getTips();
637
649
  if (proven !== BigInt(fromBlock) - 1n) {
638
650
  throw new Error(`Cannot submit epoch proof for ${fromBlock}-${toBlock} as proven block is ${proven}`);
639
651
  }
@@ -675,7 +687,7 @@ export class L1Publisher {
675
687
  : proof.extractAggregationObject();
676
688
  const argsPublicInputs = [...publicInputs.toFields(), ...aggregationObject];
677
689
 
678
- if (!areArraysEqual(rollupPublicInputs.map(Fr.fromString), argsPublicInputs, (a, b) => a.equals(b))) {
690
+ if (!areArraysEqual(rollupPublicInputs.map(Fr.fromHexString), argsPublicInputs, (a, b) => a.equals(b))) {
679
691
  const fmt = (inputs: Fr[] | readonly string[]) => inputs.map(x => x.toString()).join(', ');
680
692
  throw new Error(
681
693
  `Root rollup public inputs mismatch:\nRollup: ${fmt(rollupPublicInputs)}\nComputed:${fmt(argsPublicInputs)}`,
@@ -720,17 +732,25 @@ export class L1Publisher {
720
732
  ] as const;
721
733
 
722
734
  this.log.info(`SubmitEpochProof proofSize=${args.proof.withoutPublicInputs().length} bytes`);
723
- await this.rollupContract.simulate.submitEpochRootProof(txArgs, { account: this.account });
724
- return await this.rollupContract.write.submitEpochRootProof(txArgs, { account: this.account });
735
+
736
+ const txReceipt = await this.l1TxUtils.sendAndMonitorTransaction({
737
+ to: this.rollupContract.address,
738
+ data: encodeFunctionData({
739
+ abi: this.rollupContract.abi,
740
+ functionName: 'submitEpochRootProof',
741
+ args: txArgs,
742
+ }),
743
+ });
744
+
745
+ return txReceipt.transactionHash;
725
746
  } catch (err) {
726
747
  this.log.error(`Rollup submit epoch proof failed`, err);
727
748
  return undefined;
728
749
  }
729
750
  }
730
751
 
731
- private async prepareProposeTx(encodedData: L1ProcessArgs, gasGuess: bigint) {
732
- // We have to jump a few hoops because viem is not happy around estimating gas for view functions
733
- const computeTxsEffectsHashGas = await this.publicClient.estimateGas({
752
+ private async prepareProposeTx(encodedData: L1ProcessArgs) {
753
+ const computeTxsEffectsHashGas = await this.l1TxUtils.estimateGas(this.account, {
734
754
  to: this.rollupContract.address,
735
755
  data: encodeFunctionData({
736
756
  abi: this.rollupContract.abi,
@@ -744,7 +764,7 @@ export class L1Publisher {
744
764
  // we will fail estimation in the case where we are simulating for the
745
765
  // first ethereum block within our slot (as current time is not in the
746
766
  // slot yet).
747
- const gasGuesstimate = computeTxsEffectsHashGas + gasGuess;
767
+ const gasGuesstimate = computeTxsEffectsHashGas + L1Publisher.PROPOSE_GAS_GUESS;
748
768
 
749
769
  const attestations = encodedData.attestations
750
770
  ? encodedData.attestations.map(attest => attest.toViemSignature())
@@ -766,7 +786,7 @@ export class L1Publisher {
766
786
  `0x${encodedData.body.toString('hex')}`,
767
787
  ] as const;
768
788
 
769
- return { args, gasGuesstimate };
789
+ return { args, gas: gasGuesstimate };
770
790
  }
771
791
 
772
792
  private getSubmitEpochProofArgs(args: {
@@ -797,21 +817,29 @@ export class L1Publisher {
797
817
 
798
818
  private async sendProposeTx(
799
819
  encodedData: L1ProcessArgs,
800
- ): Promise<{ hash: string; args: any; functionName: string; gasLimit: bigint } | undefined> {
820
+ ): Promise<{ receipt: TransactionReceipt; args: any; functionName: string } | undefined> {
801
821
  if (this.interrupted) {
802
822
  return undefined;
803
823
  }
804
824
  try {
805
- const { args, gasGuesstimate } = await this.prepareProposeTx(encodedData, L1Publisher.PROPOSE_GAS_GUESS);
806
-
825
+ const { args, gas } = await this.prepareProposeTx(encodedData);
826
+ const receipt = await this.l1TxUtils.sendAndMonitorTransaction(
827
+ {
828
+ to: this.rollupContract.address,
829
+ data: encodeFunctionData({
830
+ abi: this.rollupContract.abi,
831
+ functionName: 'propose',
832
+ args,
833
+ }),
834
+ },
835
+ {
836
+ fixedGas: gas,
837
+ },
838
+ );
807
839
  return {
808
- hash: await this.rollupContract.write.propose(args, {
809
- account: this.account,
810
- gas: gasGuesstimate,
811
- }),
840
+ receipt,
812
841
  args,
813
842
  functionName: 'propose',
814
- gasLimit: gasGuesstimate,
815
843
  };
816
844
  } catch (err) {
817
845
  prettyLogViemError(err, this.log);
@@ -823,30 +851,36 @@ export class L1Publisher {
823
851
  private async sendProposeAndClaimTx(
824
852
  encodedData: L1ProcessArgs,
825
853
  quote: EpochProofQuote,
826
- ): Promise<{ hash: string; args: any; functionName: string; gasLimit: bigint } | undefined> {
854
+ ): Promise<{ receipt: TransactionReceipt; args: any; functionName: string } | undefined> {
827
855
  if (this.interrupted) {
828
856
  return undefined;
829
857
  }
830
858
  try {
831
- const { args, gasGuesstimate } = await this.prepareProposeTx(
832
- encodedData,
833
- L1Publisher.PROPOSE_AND_CLAIM_GAS_GUESS,
834
- );
835
859
  this.log.info(`ProposeAndClaim`);
836
860
  this.log.info(inspect(quote.payload));
837
861
 
862
+ const { args, gas } = await this.prepareProposeTx(encodedData);
863
+ const receipt = await this.l1TxUtils.sendAndMonitorTransaction(
864
+ {
865
+ to: this.rollupContract.address,
866
+ data: encodeFunctionData({
867
+ abi: this.rollupContract.abi,
868
+ functionName: 'proposeAndClaim',
869
+ args: [...args, quote.toViemArgs()],
870
+ }),
871
+ },
872
+ { fixedGas: gas },
873
+ );
874
+
838
875
  return {
839
- hash: await this.rollupContract.write.proposeAndClaim([...args, quote.toViemArgs()], {
840
- account: this.account,
841
- gas: gasGuesstimate,
842
- }),
843
- functionName: 'proposeAndClaim',
876
+ receipt,
844
877
  args,
845
- gasLimit: gasGuesstimate,
878
+ functionName: 'proposeAndClaim',
846
879
  };
847
880
  } catch (err) {
848
881
  prettyLogViemError(err, this.log);
849
- this.log.error(`Rollup publish failed`, err);
882
+ const errorMessage = err instanceof Error ? err.message : String(err);
883
+ this.log.error(`Rollup publish failed`, errorMessage);
850
884
  return undefined;
851
885
  }
852
886
  }
@@ -14,6 +14,7 @@ export function prettyLogViemErrorMsg(err: any) {
14
14
  }
15
15
  }
16
16
 
17
+ // TODO(palla/log): Review this method
17
18
  export function prettyLogViemError(err: any, logger: Logger) {
18
19
  const msg = prettyLogViemErrorMsg(err);
19
20
  if (msg) {