@aztec/ethereum 0.0.1-commit.db765a8 → 0.0.1-commit.df81a97b5

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 (42) hide show
  1. package/dest/client.d.ts +10 -2
  2. package/dest/client.d.ts.map +1 -1
  3. package/dest/client.js +13 -7
  4. package/dest/contracts/multicall.d.ts +51 -2
  5. package/dest/contracts/multicall.d.ts.map +1 -1
  6. package/dest/contracts/multicall.js +85 -0
  7. package/dest/contracts/rollup.d.ts +17 -4
  8. package/dest/contracts/rollup.d.ts.map +1 -1
  9. package/dest/contracts/rollup.js +50 -10
  10. package/dest/l1_artifacts.d.ts +69 -69
  11. package/dest/l1_reader.d.ts +3 -1
  12. package/dest/l1_reader.d.ts.map +1 -1
  13. package/dest/l1_reader.js +6 -1
  14. package/dest/l1_tx_utils/readonly_l1_tx_utils.d.ts +1 -1
  15. package/dest/l1_tx_utils/readonly_l1_tx_utils.d.ts.map +1 -1
  16. package/dest/l1_tx_utils/readonly_l1_tx_utils.js +8 -4
  17. package/dest/publisher_manager.d.ts +21 -7
  18. package/dest/publisher_manager.d.ts.map +1 -1
  19. package/dest/publisher_manager.js +81 -7
  20. package/dest/test/chain_monitor.d.ts +22 -3
  21. package/dest/test/chain_monitor.d.ts.map +1 -1
  22. package/dest/test/chain_monitor.js +33 -2
  23. package/dest/test/eth_cheat_codes.d.ts +6 -4
  24. package/dest/test/eth_cheat_codes.d.ts.map +1 -1
  25. package/dest/test/eth_cheat_codes.js +6 -4
  26. package/dest/test/start_anvil.d.ts +15 -1
  27. package/dest/test/start_anvil.d.ts.map +1 -1
  28. package/dest/test/start_anvil.js +17 -2
  29. package/dest/utils.d.ts +1 -1
  30. package/dest/utils.d.ts.map +1 -1
  31. package/dest/utils.js +16 -12
  32. package/package.json +5 -5
  33. package/src/client.ts +10 -2
  34. package/src/contracts/multicall.ts +65 -1
  35. package/src/contracts/rollup.ts +59 -18
  36. package/src/l1_reader.ts +13 -1
  37. package/src/l1_tx_utils/readonly_l1_tx_utils.ts +8 -4
  38. package/src/publisher_manager.ts +105 -10
  39. package/src/test/chain_monitor.ts +60 -3
  40. package/src/test/eth_cheat_codes.ts +6 -4
  41. package/src/test/start_anvil.ts +33 -2
  42. package/src/utils.ts +17 -14
@@ -12032,100 +12032,100 @@ export declare const RollupArtifact: {
12032
12032
  readonly start: 1538;
12033
12033
  readonly length: 20;
12034
12034
  }, {
12035
- readonly start: 11838;
12035
+ readonly start: 11069;
12036
12036
  readonly length: 20;
12037
12037
  }, {
12038
- readonly start: 12451;
12038
+ readonly start: 11670;
12039
12039
  readonly length: 20;
12040
12040
  }, {
12041
- readonly start: 12689;
12041
+ readonly start: 11916;
12042
12042
  readonly length: 20;
12043
12043
  }, {
12044
- readonly start: 13139;
12044
+ readonly start: 12333;
12045
12045
  readonly length: 20;
12046
12046
  }, {
12047
- readonly start: 13375;
12047
+ readonly start: 12607;
12048
12048
  readonly length: 20;
12049
12049
  }, {
12050
- readonly start: 13548;
12050
+ readonly start: 12801;
12051
12051
  readonly length: 20;
12052
12052
  }, {
12053
- readonly start: 13631;
12053
+ readonly start: 12884;
12054
12054
  readonly length: 20;
12055
12055
  }, {
12056
- readonly start: 13884;
12056
+ readonly start: 13131;
12057
12057
  readonly length: 20;
12058
12058
  }, {
12059
- readonly start: 13921;
12059
+ readonly start: 13168;
12060
12060
  readonly length: 20;
12061
12061
  }, {
12062
- readonly start: 14024;
12062
+ readonly start: 13271;
12063
12063
  readonly length: 20;
12064
12064
  }, {
12065
- readonly start: 14258;
12065
+ readonly start: 13518;
12066
12066
  readonly length: 20;
12067
12067
  }, {
12068
- readonly start: 14451;
12068
+ readonly start: 13711;
12069
12069
  readonly length: 20;
12070
12070
  }, {
12071
- readonly start: 14783;
12071
+ readonly start: 14043;
12072
12072
  readonly length: 20;
12073
12073
  }, {
12074
- readonly start: 14954;
12074
+ readonly start: 14201;
12075
12075
  readonly length: 20;
12076
12076
  }, {
12077
- readonly start: 15236;
12077
+ readonly start: 14483;
12078
12078
  readonly length: 20;
12079
12079
  }, {
12080
- readonly start: 15603;
12080
+ readonly start: 14885;
12081
12081
  readonly length: 20;
12082
12082
  }, {
12083
- readonly start: 15704;
12083
+ readonly start: 14971;
12084
12084
  readonly length: 20;
12085
12085
  }, {
12086
- readonly start: 15811;
12086
+ readonly start: 15133;
12087
12087
  readonly length: 20;
12088
12088
  }, {
12089
- readonly start: 17559;
12089
+ readonly start: 16923;
12090
12090
  readonly length: 20;
12091
12091
  }, {
12092
- readonly start: 17678;
12092
+ readonly start: 17048;
12093
12093
  readonly length: 20;
12094
12094
  }, {
12095
- readonly start: 17774;
12095
+ readonly start: 17171;
12096
12096
  readonly length: 20;
12097
12097
  }, {
12098
- readonly start: 17905;
12098
+ readonly start: 17302;
12099
12099
  readonly length: 20;
12100
12100
  }, {
12101
- readonly start: 18029;
12101
+ readonly start: 17411;
12102
12102
  readonly length: 20;
12103
12103
  }, {
12104
- readonly start: 18993;
12104
+ readonly start: 18353;
12105
12105
  readonly length: 20;
12106
12106
  }, {
12107
- readonly start: 19332;
12107
+ readonly start: 18710;
12108
12108
  readonly length: 20;
12109
12109
  }];
12110
12110
  };
12111
12111
  readonly "src/core/libraries/rollup/RollupOperationsExtLib.sol": {
12112
12112
  readonly RollupOperationsExtLib: readonly [{
12113
- readonly start: 12840;
12113
+ readonly start: 12067;
12114
12114
  readonly length: 20;
12115
12115
  }, {
12116
- readonly start: 15491;
12116
+ readonly start: 14773;
12117
12117
  readonly length: 20;
12118
12118
  }, {
12119
- readonly start: 15970;
12119
+ readonly start: 15292;
12120
12120
  readonly length: 20;
12121
12121
  }, {
12122
- readonly start: 16321;
12122
+ readonly start: 15632;
12123
12123
  readonly length: 20;
12124
12124
  }, {
12125
- readonly start: 16445;
12125
+ readonly start: 15756;
12126
12126
  readonly length: 20;
12127
12127
  }, {
12128
- readonly start: 17841;
12128
+ readonly start: 17238;
12129
12129
  readonly length: 20;
12130
12130
  }];
12131
12131
  };
@@ -12140,118 +12140,118 @@ export declare const RollupArtifact: {
12140
12140
  readonly start: 1052;
12141
12141
  readonly length: 20;
12142
12142
  }, {
12143
- readonly start: 11438;
12143
+ readonly start: 10605;
12144
12144
  readonly length: 20;
12145
12145
  }, {
12146
- readonly start: 11554;
12146
+ readonly start: 10749;
12147
12147
  readonly length: 20;
12148
12148
  }, {
12149
- readonly start: 11659;
12149
+ readonly start: 10890;
12150
12150
  readonly length: 20;
12151
12151
  }, {
12152
- readonly start: 11954;
12152
+ readonly start: 11185;
12153
12153
  readonly length: 20;
12154
12154
  }, {
12155
- readonly start: 12050;
12155
+ readonly start: 11281;
12156
12156
  readonly length: 20;
12157
12157
  }, {
12158
- readonly start: 12155;
12158
+ readonly start: 11386;
12159
12159
  readonly length: 20;
12160
12160
  }, {
12161
- readonly start: 12488;
12161
+ readonly start: 11715;
12162
12162
  readonly length: 20;
12163
12163
  }, {
12164
- readonly start: 12617;
12164
+ readonly start: 11844;
12165
12165
  readonly length: 20;
12166
12166
  }, {
12167
- readonly start: 12788;
12167
+ readonly start: 12015;
12168
12168
  readonly length: 20;
12169
12169
  }, {
12170
- readonly start: 13001;
12170
+ readonly start: 12213;
12171
12171
  readonly length: 20;
12172
12172
  }, {
12173
- readonly start: 13279;
12173
+ readonly start: 12473;
12174
12174
  readonly length: 20;
12175
12175
  }, {
12176
- readonly start: 14127;
12176
+ readonly start: 13376;
12177
12177
  readonly length: 20;
12178
12178
  }, {
12179
- readonly start: 14372;
12179
+ readonly start: 13632;
12180
12180
  readonly length: 20;
12181
12181
  }, {
12182
- readonly start: 14559;
12182
+ readonly start: 13819;
12183
12183
  readonly length: 20;
12184
12184
  }, {
12185
- readonly start: 14686;
12185
+ readonly start: 13946;
12186
12186
  readonly length: 20;
12187
12187
  }, {
12188
- readonly start: 15132;
12188
+ readonly start: 14379;
12189
12189
  readonly length: 20;
12190
12190
  }, {
12191
- readonly start: 15301;
12191
+ readonly start: 14548;
12192
12192
  readonly length: 20;
12193
12193
  }, {
12194
- readonly start: 15337;
12194
+ readonly start: 14584;
12195
12195
  readonly length: 20;
12196
12196
  }, {
12197
- readonly start: 16202;
12197
+ readonly start: 15513;
12198
12198
  readonly length: 20;
12199
12199
  }, {
12200
- readonly start: 16512;
12200
+ readonly start: 15847;
12201
12201
  readonly length: 20;
12202
12202
  }, {
12203
- readonly start: 16661;
12203
+ readonly start: 16023;
12204
12204
  readonly length: 20;
12205
12205
  }, {
12206
- readonly start: 16816;
12206
+ readonly start: 16170;
12207
12207
  readonly length: 20;
12208
12208
  }, {
12209
- readonly start: 16898;
12209
+ readonly start: 16214;
12210
12210
  readonly length: 20;
12211
12211
  }, {
12212
- readonly start: 17016;
12212
+ readonly start: 16360;
12213
12213
  readonly length: 20;
12214
12214
  }, {
12215
- readonly start: 17127;
12215
+ readonly start: 16471;
12216
12216
  readonly length: 20;
12217
12217
  }, {
12218
- readonly start: 17326;
12218
+ readonly start: 16677;
12219
12219
  readonly length: 20;
12220
12220
  }, {
12221
- readonly start: 17391;
12221
+ readonly start: 16742;
12222
12222
  readonly length: 20;
12223
12223
  }, {
12224
- readonly start: 17458;
12224
+ readonly start: 16809;
12225
12225
  readonly length: 20;
12226
12226
  }, {
12227
- readonly start: 17606;
12227
+ readonly start: 16976;
12228
12228
  readonly length: 20;
12229
12229
  }, {
12230
- readonly start: 18067;
12230
+ readonly start: 17489;
12231
12231
  readonly length: 20;
12232
12232
  }, {
12233
- readonly start: 18152;
12233
+ readonly start: 17574;
12234
12234
  readonly length: 20;
12235
12235
  }, {
12236
- readonly start: 18188;
12236
+ readonly start: 17610;
12237
12237
  readonly length: 20;
12238
12238
  }, {
12239
- readonly start: 18255;
12239
+ readonly start: 17677;
12240
12240
  readonly length: 20;
12241
12241
  }, {
12242
- readonly start: 18388;
12242
+ readonly start: 17791;
12243
12243
  readonly length: 20;
12244
12244
  }, {
12245
- readonly start: 18518;
12245
+ readonly start: 17917;
12246
12246
  readonly length: 20;
12247
12247
  }, {
12248
- readonly start: 19101;
12248
+ readonly start: 18488;
12249
12249
  readonly length: 20;
12250
12250
  }, {
12251
- readonly start: 19173;
12251
+ readonly start: 18560;
12252
12252
  readonly length: 20;
12253
12253
  }, {
12254
- readonly start: 19295;
12254
+ readonly start: 18667;
12255
12255
  readonly length: 20;
12256
12256
  }];
12257
12257
  };
@@ -12,7 +12,9 @@ export interface L1ReaderConfig {
12
12
  l1Contracts: L1ContractAddresses;
13
13
  /** The polling interval viem uses in ms */
14
14
  viemPollingIntervalMS: number;
15
+ /** Timeout for HTTP requests to the L1 RPC node in ms. */
16
+ l1HttpTimeoutMS?: number;
15
17
  }
16
18
  export declare const l1ReaderConfigMappings: ConfigMappingsType<L1ReaderConfig>;
17
19
  export declare function getL1ReaderConfigFromEnv(): L1ReaderConfig;
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibDFfcmVhZGVyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvbDFfcmVhZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLGtCQUFrQixFQUE2QyxNQUFNLDBCQUEwQixDQUFDO0FBRTlHLE9BQU8sRUFBRSxLQUFLLG1CQUFtQixFQUE4QixNQUFNLDRCQUE0QixDQUFDO0FBRWxHLDJDQUEyQztBQUMzQyxNQUFNLFdBQVcsY0FBYztJQUM3QiwwRkFBMEY7SUFDMUYsU0FBUyxFQUFFLE1BQU0sRUFBRSxDQUFDO0lBQ3BCLDBFQUEwRTtJQUMxRSxjQUFjLEVBQUUsTUFBTSxFQUFFLENBQUM7SUFDekIseUNBQXlDO0lBQ3pDLFNBQVMsRUFBRSxNQUFNLENBQUM7SUFDbEIseUNBQXlDO0lBQ3pDLFdBQVcsRUFBRSxtQkFBbUIsQ0FBQztJQUNqQywyQ0FBMkM7SUFDM0MscUJBQXFCLEVBQUUsTUFBTSxDQUFDO0NBQy9CO0FBRUQsZUFBTyxNQUFNLHNCQUFzQixFQUFFLGtCQUFrQixDQUFDLGNBQWMsQ0EyQnJFLENBQUM7QUFFRix3QkFBZ0Isd0JBQXdCLElBQUksY0FBYyxDQUV6RCJ9
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibDFfcmVhZGVyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvbDFfcmVhZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxLQUFLLGtCQUFrQixFQUl4QixNQUFNLDBCQUEwQixDQUFDO0FBRWxDLE9BQU8sRUFBRSxLQUFLLG1CQUFtQixFQUE4QixNQUFNLDRCQUE0QixDQUFDO0FBRWxHLDJDQUEyQztBQUMzQyxNQUFNLFdBQVcsY0FBYztJQUM3QiwwRkFBMEY7SUFDMUYsU0FBUyxFQUFFLE1BQU0sRUFBRSxDQUFDO0lBQ3BCLDBFQUEwRTtJQUMxRSxjQUFjLEVBQUUsTUFBTSxFQUFFLENBQUM7SUFDekIseUNBQXlDO0lBQ3pDLFNBQVMsRUFBRSxNQUFNLENBQUM7SUFDbEIseUNBQXlDO0lBQ3pDLFdBQVcsRUFBRSxtQkFBbUIsQ0FBQztJQUNqQywyQ0FBMkM7SUFDM0MscUJBQXFCLEVBQUUsTUFBTSxDQUFDO0lBQzlCLDBEQUEwRDtJQUMxRCxlQUFlLENBQUMsRUFBRSxNQUFNLENBQUM7Q0FDMUI7QUFFRCxlQUFPLE1BQU0sc0JBQXNCLEVBQUUsa0JBQWtCLENBQUMsY0FBYyxDQWdDckUsQ0FBQztBQUVGLHdCQUFnQix3QkFBd0IsSUFBSSxjQUFjLENBRXpEIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"l1_reader.d.ts","sourceRoot":"","sources":["../src/l1_reader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,kBAAkB,EAA6C,MAAM,0BAA0B,CAAC;AAE9G,OAAO,EAAE,KAAK,mBAAmB,EAA8B,MAAM,4BAA4B,CAAC;AAElG,2CAA2C;AAC3C,MAAM,WAAW,cAAc;IAC7B,0FAA0F;IAC1F,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,0EAA0E;IAC1E,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,yCAAyC;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,yCAAyC;IACzC,WAAW,EAAE,mBAAmB,CAAC;IACjC,2CAA2C;IAC3C,qBAAqB,EAAE,MAAM,CAAC;CAC/B;AAED,eAAO,MAAM,sBAAsB,EAAE,kBAAkB,CAAC,cAAc,CA2BrE,CAAC;AAEF,wBAAgB,wBAAwB,IAAI,cAAc,CAEzD"}
1
+ {"version":3,"file":"l1_reader.d.ts","sourceRoot":"","sources":["../src/l1_reader.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,kBAAkB,EAIxB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,KAAK,mBAAmB,EAA8B,MAAM,4BAA4B,CAAC;AAElG,2CAA2C;AAC3C,MAAM,WAAW,cAAc;IAC7B,0FAA0F;IAC1F,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,0EAA0E;IAC1E,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,yCAAyC;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,yCAAyC;IACzC,WAAW,EAAE,mBAAmB,CAAC;IACjC,2CAA2C;IAC3C,qBAAqB,EAAE,MAAM,CAAC;IAC9B,0DAA0D;IAC1D,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,eAAO,MAAM,sBAAsB,EAAE,kBAAkB,CAAC,cAAc,CAgCrE,CAAC;AAEF,wBAAgB,wBAAwB,IAAI,cAAc,CAEzD"}
package/dest/l1_reader.js CHANGED
@@ -1,4 +1,4 @@
1
- import { getConfigFromMappings, numberConfigHelper } from '@aztec/foundation/config';
1
+ import { getConfigFromMappings, numberConfigHelper, optionalNumberConfigHelper } from '@aztec/foundation/config';
2
2
  import { l1ContractAddressesMapping } from './l1_contract_addresses.js';
3
3
  export const l1ReaderConfigMappings = {
4
4
  l1Contracts: {
@@ -26,6 +26,11 @@ export const l1ReaderConfigMappings = {
26
26
  env: 'L1_READER_VIEM_POLLING_INTERVAL_MS',
27
27
  description: 'The polling interval viem uses in ms',
28
28
  ...numberConfigHelper(1_000)
29
+ },
30
+ l1HttpTimeoutMS: {
31
+ env: 'ETHEREUM_HTTP_TIMEOUT_MS',
32
+ description: 'Timeout for HTTP requests to the L1 RPC node in ms.',
33
+ ...optionalNumberConfigHelper()
29
34
  }
30
35
  };
31
36
  export function getL1ReaderConfigFromEnv() {
@@ -80,4 +80,4 @@ export declare class ReadOnlyL1TxUtils {
80
80
  }>;
81
81
  bumpGasLimit(gasLimit: bigint, _gasConfig?: L1TxUtilsConfig): bigint;
82
82
  }
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhZG9ubHlfbDFfdHhfdXRpbHMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sMV90eF91dGlscy9yZWFkb25seV9sMV90eF91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsS0FBSyxNQUFNLEVBQWdCLE1BQU0sdUJBQXVCLENBQUM7QUFFbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBSXZELE9BQU8sRUFDTCxLQUFLLEdBQUcsRUFDUixLQUFLLE9BQU8sRUFFWixLQUFLLGNBQWMsRUFFbkIsS0FBSyxpQkFBaUIsRUFDdEIsS0FBSyxHQUFHLEVBR1IsS0FBSyxhQUFhLEVBS25CLE1BQU0sTUFBTSxDQUFDO0FBRWQsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxLQUFLLGVBQWUsRUFBbUQsTUFBTSxhQUFhLENBQUM7QUFTcEcsT0FBTyxLQUFLLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFNeEYscUJBQWEsaUJBQWlCO0lBS25CLE1BQU0sRUFBRSxVQUFVO0lBQ3pCLFNBQVMsQ0FBQyxNQUFNLEVBQUUsTUFBTTthQUNSLFlBQVksRUFBRSxZQUFZO0lBRTFDLFNBQVMsQ0FBQyxnQkFBZ0IsRUFBRSxPQUFPO0lBUjlCLE1BQU0sRUFBRSxRQUFRLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDekMsU0FBUyxDQUFDLFdBQVcsVUFBUztJQUU5QixZQUNTLE1BQU0sRUFBRSxVQUFVLEVBQ2YsTUFBTSxvQkFBcUQsRUFDckQsWUFBWSxFQUFFLFlBQVksRUFDMUMsTUFBTSxDQUFDLEVBQUUsT0FBTyxDQUFDLGVBQWUsQ0FBQyxFQUN2QixnQkFBZ0IsR0FBRSxPQUFlLEVBRzVDO0lBRU0sU0FBUyxTQUVmO0lBRU0sT0FBTyxTQUViO0lBRU0sUUFBUTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQUVkO0lBRU0sY0FBYyxvQkFFcEI7SUFFTSxPQUFPLENBQUMsT0FBTyxFQUFFLFVBQVUsR0FBRyxPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FFOUQ7SUFFRDs7T0FFRztJQUNVLFdBQVcsQ0FDdEIsa0JBQWtCLENBQUMsRUFBRSxlQUFlLEVBQ3BDLFFBQVEsR0FBRSxPQUFlLEVBQ3pCLE9BQU8sR0FBRSxNQUFVLEVBQ25CLGdCQUFnQixDQUFDLEVBQUUsT0FBTyxPQUFPLFNBQVMsQ0FBQyxHQUFHLEtBQUssR0FBRyxRQUFRLEdBQzdELE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FtSm5CO0lBRUQ7O09BRUc7SUFDVSxXQUFXLENBQ3RCLE9BQU8sRUFBRSxPQUFPLEdBQUcsR0FBRyxFQUN0QixPQUFPLEVBQUUsV0FBVyxFQUNwQixVQUFVLENBQUMsRUFBRSxlQUFlLEVBQzVCLFdBQVcsQ0FBQyxFQUFFLFlBQVksR0FDekIsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQThCakI7SUFFSyxtQkFBbUIsQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxnQkFBZ0IsR0FBRyxTQUFTLENBQUMsQ0FZL0U7SUFFWSx5QkFBeUIsQ0FDcEMsSUFBSSxFQUFFLEdBQUcsRUFDVCxJQUFJLEVBQUU7UUFDSixJQUFJLEVBQUUsU0FBUyxHQUFHLEVBQUUsQ0FBQztRQUNyQixZQUFZLEVBQUUsTUFBTSxDQUFDO1FBQ3JCLEdBQUcsRUFBRSxHQUFHLENBQUM7UUFDVCxPQUFPLEVBQUUsR0FBRyxDQUFDO0tBQ2QsRUFDRCxVQUFVLEVBQUUsQ0FBQyxZQUFZLEdBQUc7UUFBRSxnQkFBZ0IsRUFBRSxNQUFNLENBQUE7S0FBRSxDQUFDLEdBQUcsU0FBUyxFQUNyRSxhQUFhLEdBQUUsYUFBa0IsK0JBZ0RsQztJQUVZLFFBQVEsQ0FDbkIsT0FBTyxFQUFFLFdBQVcsR0FBRztRQUFFLEdBQUcsQ0FBQyxFQUFFLE1BQU0sQ0FBQztRQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQTtLQUFFLEVBQ25ELGNBQWMsR0FBRSxjQUFjLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBTSxFQUNuRCxjQUFjLEdBQUUsYUFBa0IsRUFDbEMsR0FBRyxHQUFFLEdBQWUsRUFDcEIsVUFBVSxDQUFDLEVBQUUsZUFBZSxHQUFHO1FBQUUsbUJBQW1CLENBQUMsRUFBRSxNQUFNLENBQUE7S0FBRSxHQUM5RCxPQUFPLENBQUM7UUFBRSxPQUFPLEVBQUUsTUFBTSxDQUFDO1FBQUMsTUFBTSxFQUFFLEtBQUssTUFBTSxFQUFFLENBQUE7S0FBRSxDQUFDLENBVXJEO0lBRUQsVUFBZ0IsU0FBUyxDQUN2QixJQUFJLEVBQUUsR0FBRyxFQUNULGNBQWMsNENBQXFDLEVBQ25ELGNBQWMsMkJBQW9CLEVBQ2xDLFNBQVMsRUFBRSxlQUFlLEdBQUc7UUFBRSxtQkFBbUIsQ0FBQyxFQUFFLE1BQU0sQ0FBQTtLQUFFLEVBQzdELEdBQUcsRUFBRSxHQUFHOzs7T0FvQ1Q7SUFFTSxZQUFZLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxVQUFVLENBQUMsRUFBRSxlQUFlLEdBQUcsTUFBTSxDQVcxRTtDQUNGIn0=
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhZG9ubHlfbDFfdHhfdXRpbHMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sMV90eF91dGlscy9yZWFkb25seV9sMV90eF91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsS0FBSyxNQUFNLEVBQWdCLE1BQU0sdUJBQXVCLENBQUM7QUFFbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBSXZELE9BQU8sRUFDTCxLQUFLLEdBQUcsRUFDUixLQUFLLE9BQU8sRUFFWixLQUFLLGNBQWMsRUFFbkIsS0FBSyxpQkFBaUIsRUFDdEIsS0FBSyxHQUFHLEVBR1IsS0FBSyxhQUFhLEVBS25CLE1BQU0sTUFBTSxDQUFDO0FBRWQsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxLQUFLLGVBQWUsRUFBbUQsTUFBTSxhQUFhLENBQUM7QUFTcEcsT0FBTyxLQUFLLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFNeEYscUJBQWEsaUJBQWlCO0lBS25CLE1BQU0sRUFBRSxVQUFVO0lBQ3pCLFNBQVMsQ0FBQyxNQUFNLEVBQUUsTUFBTTthQUNSLFlBQVksRUFBRSxZQUFZO0lBRTFDLFNBQVMsQ0FBQyxnQkFBZ0IsRUFBRSxPQUFPO0lBUjlCLE1BQU0sRUFBRSxRQUFRLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDekMsU0FBUyxDQUFDLFdBQVcsVUFBUztJQUU5QixZQUNTLE1BQU0sRUFBRSxVQUFVLEVBQ2YsTUFBTSxvQkFBcUQsRUFDckQsWUFBWSxFQUFFLFlBQVksRUFDMUMsTUFBTSxDQUFDLEVBQUUsT0FBTyxDQUFDLGVBQWUsQ0FBQyxFQUN2QixnQkFBZ0IsR0FBRSxPQUFlLEVBRzVDO0lBRU0sU0FBUyxTQUVmO0lBRU0sT0FBTyxTQUViO0lBRU0sUUFBUTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQUVkO0lBRU0sY0FBYyxvQkFFcEI7SUFFTSxPQUFPLENBQUMsT0FBTyxFQUFFLFVBQVUsR0FBRyxPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FFOUQ7SUFFRDs7T0FFRztJQUNVLFdBQVcsQ0FDdEIsa0JBQWtCLENBQUMsRUFBRSxlQUFlLEVBQ3BDLFFBQVEsR0FBRSxPQUFlLEVBQ3pCLE9BQU8sR0FBRSxNQUFVLEVBQ25CLGdCQUFnQixDQUFDLEVBQUUsT0FBTyxPQUFPLFNBQVMsQ0FBQyxHQUFHLEtBQUssR0FBRyxRQUFRLEdBQzdELE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FvSm5CO0lBRUQ7O09BRUc7SUFDVSxXQUFXLENBQ3RCLE9BQU8sRUFBRSxPQUFPLEdBQUcsR0FBRyxFQUN0QixPQUFPLEVBQUUsV0FBVyxFQUNwQixVQUFVLENBQUMsRUFBRSxlQUFlLEVBQzVCLFdBQVcsQ0FBQyxFQUFFLFlBQVksR0FDekIsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQWlDakI7SUFFSyxtQkFBbUIsQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxnQkFBZ0IsR0FBRyxTQUFTLENBQUMsQ0FZL0U7SUFFWSx5QkFBeUIsQ0FDcEMsSUFBSSxFQUFFLEdBQUcsRUFDVCxJQUFJLEVBQUU7UUFDSixJQUFJLEVBQUUsU0FBUyxHQUFHLEVBQUUsQ0FBQztRQUNyQixZQUFZLEVBQUUsTUFBTSxDQUFDO1FBQ3JCLEdBQUcsRUFBRSxHQUFHLENBQUM7UUFDVCxPQUFPLEVBQUUsR0FBRyxDQUFDO0tBQ2QsRUFDRCxVQUFVLEVBQUUsQ0FBQyxZQUFZLEdBQUc7UUFBRSxnQkFBZ0IsRUFBRSxNQUFNLENBQUE7S0FBRSxDQUFDLEdBQUcsU0FBUyxFQUNyRSxhQUFhLEdBQUUsYUFBa0IsK0JBZ0RsQztJQUVZLFFBQVEsQ0FDbkIsT0FBTyxFQUFFLFdBQVcsR0FBRztRQUFFLEdBQUcsQ0FBQyxFQUFFLE1BQU0sQ0FBQztRQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQTtLQUFFLEVBQ25ELGNBQWMsR0FBRSxjQUFjLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBTSxFQUNuRCxjQUFjLEdBQUUsYUFBa0IsRUFDbEMsR0FBRyxHQUFFLEdBQWUsRUFDcEIsVUFBVSxDQUFDLEVBQUUsZUFBZSxHQUFHO1FBQUUsbUJBQW1CLENBQUMsRUFBRSxNQUFNLENBQUE7S0FBRSxHQUM5RCxPQUFPLENBQUM7UUFBRSxPQUFPLEVBQUUsTUFBTSxDQUFDO1FBQUMsTUFBTSxFQUFFLEtBQUssTUFBTSxFQUFFLENBQUE7S0FBRSxDQUFDLENBVXJEO0lBRUQsVUFBZ0IsU0FBUyxDQUN2QixJQUFJLEVBQUUsR0FBRyxFQUNULGNBQWMsNENBQXFDLEVBQ25ELGNBQWMsMkJBQW9CLEVBQ2xDLFNBQVMsRUFBRSxlQUFlLEdBQUc7UUFBRSxtQkFBbUIsQ0FBQyxFQUFFLE1BQU0sQ0FBQTtLQUFFLEVBQzdELEdBQUcsRUFBRSxHQUFHOzs7T0FvQ1Q7SUFFTSxZQUFZLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxVQUFVLENBQUMsRUFBRSxlQUFlLEdBQUcsTUFBTSxDQVcxRTtDQUNGIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"readonly_l1_tx_utils.d.ts","sourceRoot":"","sources":["../../src/l1_tx_utils/readonly_l1_tx_utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"readonly_l1_tx_utils.d.ts","sourceRoot":"","sources":["../../src/l1_tx_utils/readonly_l1_tx_utils.ts"],"names":[],"mappings":"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"}
@@ -78,9 +78,10 @@ export class ReadOnlyL1TxUtils {
78
78
  const numBlocks = Math.ceil(gasConfig.stallTimeMs / BLOCK_TIME_MS);
79
79
  for(let i = 0; i < numBlocks; i++){
80
80
  // each block can go up 12.5% from previous baseFee
81
- maxFeePerGas = maxFeePerGas * (1_000n + 125n) / 1_000n;
81
+ // ceil, (a+b-1)/b, to avoid truncation at small values (e.g. 1 wei blob base fee)
82
+ maxFeePerGas = (maxFeePerGas * (1_000n + 125n) + 999n) / 1_000n;
82
83
  // same for blob gas fee
83
- maxFeePerBlobGas = maxFeePerBlobGas * (1_000n + 125n) / 1_000n;
84
+ maxFeePerBlobGas = (maxFeePerBlobGas * (1_000n + 125n) + 999n) / 1_000n;
84
85
  }
85
86
  if (attempt > 0) {
86
87
  const configBump = gasConfig.priorityFeeRetryBumpPercentage ?? defaultL1TxUtilsConfig.priorityFeeRetryBumpPercentage;
@@ -163,13 +164,16 @@ export class ReadOnlyL1TxUtils {
163
164
  };
164
165
  let initialEstimate = 0n;
165
166
  if (_blobInputs) {
166
- // @note requests with blobs also require maxFeePerBlobGas to be set
167
+ // @note requests with blobs also require maxFeePerBlobGas to be set.
168
+ // Use 2x buffer for maxFeePerBlobGas to avoid stale fees and to pass EIP-4844 validation (even if it is a gas estimation call).
169
+ // 1. maxFeePerBlobGas >= blobBaseFee
170
+ // 2. account balance >= gas * maxFeePerGas + maxFeePerBlobGas * blobCount + value
167
171
  const gasPrice = await this.getGasPrice(gasConfig, true, 0);
168
172
  initialEstimate = await this.client.estimateGas({
169
173
  account,
170
174
  ...request,
171
175
  ..._blobInputs,
172
- maxFeePerBlobGas: gasPrice.maxFeePerBlobGas,
176
+ maxFeePerBlobGas: gasPrice.maxFeePerBlobGas * 2n,
173
177
  gas: MAX_L1_TX_LIMIT,
174
178
  blockTag: 'latest'
175
179
  });
@@ -1,16 +1,30 @@
1
1
  import { type LoggerBindings } from '@aztec/foundation/log';
2
2
  import { L1TxUtils } from './l1_tx_utils/index.js';
3
3
  export type PublisherFilter<UtilsType extends L1TxUtils> = (utils: UtilsType) => boolean;
4
+ /** Config accepted by PublisherManager. */
5
+ type PublisherManagerConfig = {
6
+ publisherAllowInvalidStates?: boolean;
7
+ publisherFundingThreshold?: bigint;
8
+ publisherFundingAmount?: bigint;
9
+ };
4
10
  export declare class PublisherManager<UtilsType extends L1TxUtils = L1TxUtils> {
5
11
  private publishers;
6
12
  private log;
7
13
  private config;
8
- constructor(publishers: UtilsType[], config: {
9
- publisherAllowInvalidStates?: boolean;
10
- }, bindings?: LoggerBindings);
11
- /** Loads the state of all publishers and resumes monitoring any pending txs */
12
- loadState(): Promise<void>;
14
+ private static readonly FUNDING_CHECK_INTERVAL_MS;
15
+ private funder?;
16
+ private fundingPromise?;
17
+ constructor(publishers: UtilsType[], config: PublisherManagerConfig, opts?: {
18
+ bindings?: LoggerBindings;
19
+ funder?: UtilsType;
20
+ });
21
+ /** Loads the state of all publishers and the funder, and starts periodic funding checks. */
22
+ start(): Promise<void>;
23
+ /** Stops the funding loop and interrupts all publishers. */
24
+ stop(): Promise<void>;
13
25
  getAvailablePublisher(filter?: PublisherFilter<UtilsType>): Promise<UtilsType>;
14
- interrupt(): void;
26
+ private triggerFundingIfNeeded;
27
+ private fundPublishers;
15
28
  }
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGlzaGVyX21hbmFnZXIuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9wdWJsaXNoZXJfbWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQWUsS0FBSyxjQUFjLEVBQWdCLE1BQU0sdUJBQXVCLENBQUM7QUFFdkYsT0FBTyxFQUFFLFNBQVMsRUFBZ0IsTUFBTSx3QkFBd0IsQ0FBQztBQXdCakUsTUFBTSxNQUFNLGVBQWUsQ0FBQyxTQUFTLFNBQVMsU0FBUyxJQUFJLENBQUMsS0FBSyxFQUFFLFNBQVMsS0FBSyxPQUFPLENBQUM7QUFFekYscUJBQWEsZ0JBQWdCLENBQUMsU0FBUyxTQUFTLFNBQVMsR0FBRyxTQUFTO0lBS2pFLE9BQU8sQ0FBQyxVQUFVO0lBSnBCLE9BQU8sQ0FBQyxHQUFHLENBQVM7SUFDcEIsT0FBTyxDQUFDLE1BQU0sQ0FBNEM7SUFFMUQsWUFDVSxVQUFVLEVBQUUsU0FBUyxFQUFFLEVBQy9CLE1BQU0sRUFBRTtRQUFFLDJCQUEyQixDQUFDLEVBQUUsT0FBTyxDQUFBO0tBQUUsRUFDakQsUUFBUSxDQUFDLEVBQUUsY0FBYyxFQU0xQjtJQUVELCtFQUErRTtJQUNsRSxTQUFTLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxDQUV0QztJQVFZLHFCQUFxQixDQUFDLE1BQU0sR0FBRSxlQUFlLENBQUMsU0FBUyxDQUFjLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQStDdEc7SUFFTSxTQUFTLFNBRWY7Q0FDRiJ9
29
+ export {};
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGlzaGVyX21hbmFnZXIuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9wdWJsaXNoZXJfbWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQWUsS0FBSyxjQUFjLEVBQWdCLE1BQU0sdUJBQXVCLENBQUM7QUFJdkYsT0FBTyxFQUFFLFNBQVMsRUFBZ0IsTUFBTSx3QkFBd0IsQ0FBQztBQXdCakUsTUFBTSxNQUFNLGVBQWUsQ0FBQyxTQUFTLFNBQVMsU0FBUyxJQUFJLENBQUMsS0FBSyxFQUFFLFNBQVMsS0FBSyxPQUFPLENBQUM7QUFFekYsMkNBQTJDO0FBQzNDLEtBQUssc0JBQXNCLEdBQUc7SUFDNUIsMkJBQTJCLENBQUMsRUFBRSxPQUFPLENBQUM7SUFDdEMseUJBQXlCLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDbkMsc0JBQXNCLENBQUMsRUFBRSxNQUFNLENBQUM7Q0FDakMsQ0FBQztBQUVGLHFCQUFhLGdCQUFnQixDQUFDLFNBQVMsU0FBUyxTQUFTLEdBQUcsU0FBUztJQVFqRSxPQUFPLENBQUMsVUFBVTtJQVBwQixPQUFPLENBQUMsR0FBRyxDQUFTO0lBQ3BCLE9BQU8sQ0FBQyxNQUFNLENBQXlCO0lBQ3ZDLE9BQU8sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLHlCQUF5QixDQUFpQjtJQUNsRSxPQUFPLENBQUMsTUFBTSxDQUFDLENBQVk7SUFDM0IsT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUFpQjtJQUV4QyxZQUNVLFVBQVUsRUFBRSxTQUFTLEVBQUUsRUFDL0IsTUFBTSxFQUFFLHNCQUFzQixFQUM5QixJQUFJLENBQUMsRUFBRTtRQUFFLFFBQVEsQ0FBQyxFQUFFLGNBQWMsQ0FBQztRQUFDLE1BQU0sQ0FBQyxFQUFFLFNBQVMsQ0FBQTtLQUFFLEVBcUJ6RDtJQUVELDRGQUE0RjtJQUMvRSxLQUFLLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxDQWtCbEM7SUFFRCw0REFBNEQ7SUFDL0MsSUFBSSxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FJakM7SUFRWSxxQkFBcUIsQ0FBQyxNQUFNLEdBQUUsZUFBZSxDQUFDLFNBQVMsQ0FBYyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0ErQ3RHO1lBR2Esc0JBQXNCO1lBcUN0QixjQUFjO0NBVTdCIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"publisher_manager.d.ts","sourceRoot":"","sources":["../src/publisher_manager.ts"],"names":[],"mappings":"AACA,OAAO,EAAe,KAAK,cAAc,EAAgB,MAAM,uBAAuB,CAAC;AAEvF,OAAO,EAAE,SAAS,EAAgB,MAAM,wBAAwB,CAAC;AAwBjE,MAAM,MAAM,eAAe,CAAC,SAAS,SAAS,SAAS,IAAI,CAAC,KAAK,EAAE,SAAS,KAAK,OAAO,CAAC;AAEzF,qBAAa,gBAAgB,CAAC,SAAS,SAAS,SAAS,GAAG,SAAS;IAKjE,OAAO,CAAC,UAAU;IAJpB,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,MAAM,CAA4C;IAE1D,YACU,UAAU,EAAE,SAAS,EAAE,EAC/B,MAAM,EAAE;QAAE,2BAA2B,CAAC,EAAE,OAAO,CAAA;KAAE,EACjD,QAAQ,CAAC,EAAE,cAAc,EAM1B;IAED,+EAA+E;IAClE,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAEtC;IAQY,qBAAqB,CAAC,MAAM,GAAE,eAAe,CAAC,SAAS,CAAc,GAAG,OAAO,CAAC,SAAS,CAAC,CA+CtG;IAEM,SAAS,SAEf;CACF"}
1
+ {"version":3,"file":"publisher_manager.d.ts","sourceRoot":"","sources":["../src/publisher_manager.ts"],"names":[],"mappings":"AACA,OAAO,EAAe,KAAK,cAAc,EAAgB,MAAM,uBAAuB,CAAC;AAIvF,OAAO,EAAE,SAAS,EAAgB,MAAM,wBAAwB,CAAC;AAwBjE,MAAM,MAAM,eAAe,CAAC,SAAS,SAAS,SAAS,IAAI,CAAC,KAAK,EAAE,SAAS,KAAK,OAAO,CAAC;AAEzF,2CAA2C;AAC3C,KAAK,sBAAsB,GAAG;IAC5B,2BAA2B,CAAC,EAAE,OAAO,CAAC;IACtC,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC,CAAC;AAEF,qBAAa,gBAAgB,CAAC,SAAS,SAAS,SAAS,GAAG,SAAS;IAQjE,OAAO,CAAC,UAAU;IAPpB,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,yBAAyB,CAAiB;IAClE,OAAO,CAAC,MAAM,CAAC,CAAY;IAC3B,OAAO,CAAC,cAAc,CAAC,CAAiB;IAExC,YACU,UAAU,EAAE,SAAS,EAAE,EAC/B,MAAM,EAAE,sBAAsB,EAC9B,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,cAAc,CAAC;QAAC,MAAM,CAAC,EAAE,SAAS,CAAA;KAAE,EAqBzD;IAED,4FAA4F;IAC/E,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAkBlC;IAED,4DAA4D;IAC/C,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAIjC;IAQY,qBAAqB,CAAC,MAAM,GAAE,eAAe,CAAC,SAAS,CAAc,GAAG,OAAO,CAAC,SAAS,CAAC,CA+CtG;YAGa,sBAAsB;YAqCtB,cAAc;CAU7B"}
@@ -1,5 +1,7 @@
1
1
  import { pick } from '@aztec/foundation/collection';
2
2
  import { createLogger } from '@aztec/foundation/log';
3
+ import { RunningPromise } from '@aztec/foundation/running-promise';
4
+ import { Multicall3 } from './contracts/multicall.js';
3
5
  import { TxUtilsState } from './l1_tx_utils/index.js';
4
6
  // Defines the order in which we prioritise publishers based on their state (first is better)
5
7
  const sortOrder = [
@@ -25,15 +27,43 @@ export class PublisherManager {
25
27
  publishers;
26
28
  log;
27
29
  config;
28
- constructor(publishers, config, bindings){
30
+ static FUNDING_CHECK_INTERVAL_MS = 2 * 60 * 1000;
31
+ funder;
32
+ fundingPromise;
33
+ constructor(publishers, config, opts){
29
34
  this.publishers = publishers;
30
- this.log = createLogger('publisher:manager', bindings);
35
+ this.funder = opts?.funder;
36
+ this.log = createLogger('publisher:manager', opts?.bindings);
31
37
  this.log.info(`PublisherManager initialized with ${publishers.length} publishers.`);
32
38
  this.publishers = publishers;
33
- this.config = pick(config, 'publisherAllowInvalidStates');
39
+ this.config = pick(config, 'publisherAllowInvalidStates', 'publisherFundingThreshold', 'publisherFundingAmount');
40
+ const hasThreshold = this.config.publisherFundingThreshold !== undefined;
41
+ const hasAmount = this.config.publisherFundingAmount !== undefined;
42
+ if (hasThreshold !== hasAmount) {
43
+ this.log.warn(`Incomplete funding config: both publisherFundingThreshold and publisherFundingAmount must be set`);
44
+ }
45
+ if (this.funder) {
46
+ const funderAddress = this.funder.getSenderAddress();
47
+ if (publishers.some((p)=>p.getSenderAddress().equals(funderAddress))) {
48
+ this.log.error(`Funding account ${funderAddress} is also a publisher, disabling funding to avoid self-funding`);
49
+ this.funder = undefined;
50
+ }
51
+ }
52
+ }
53
+ /** Loads the state of all publishers and the funder, and starts periodic funding checks. */ async start() {
54
+ await Promise.all([
55
+ ...this.publishers.map((pub)=>pub.loadStateAndResumeMonitoring()),
56
+ this.funder?.loadStateAndResumeMonitoring()
57
+ ]);
58
+ if (this.funder && this.config.publisherFundingThreshold !== undefined && this.config.publisherFundingAmount !== undefined) {
59
+ this.fundingPromise = new RunningPromise(()=>this.triggerFundingIfNeeded(), this.log, PublisherManager.FUNDING_CHECK_INTERVAL_MS);
60
+ this.fundingPromise.start();
61
+ }
34
62
  }
35
- /** Loads the state of all publishers and resumes monitoring any pending txs */ async loadState() {
36
- await Promise.all(this.publishers.map((pub)=>pub.loadStateAndResumeMonitoring()));
63
+ /** Stops the funding loop and interrupts all publishers. */ async stop() {
64
+ await this.fundingPromise?.stop();
65
+ this.publishers.forEach((pub)=>pub.interrupt());
66
+ this.funder?.interrupt();
37
67
  }
38
68
  // Finds and prioritises available publishers based on
39
69
  // 1. Validity as per the provided filter function
@@ -82,7 +112,51 @@ export class PublisherManager {
82
112
  });
83
113
  return sortedPublishers[0].publisher;
84
114
  }
85
- interrupt() {
86
- this.publishers.forEach((pub)=>pub.interrupt());
115
+ /** Check all publisher balances and fund those below threshold. */ async triggerFundingIfNeeded() {
116
+ const { funder, config } = this;
117
+ if (!funder || config.publisherFundingThreshold === undefined || config.publisherFundingAmount === undefined) {
118
+ return;
119
+ }
120
+ const allBalances = await Promise.all(this.publishers.map(async (pub)=>({
121
+ balance: await pub.getSenderBalance(),
122
+ publisher: pub
123
+ })));
124
+ const lowBalance = allBalances.filter((p)=>p.balance < config.publisherFundingThreshold);
125
+ if (lowBalance.length === 0) {
126
+ return;
127
+ }
128
+ const fundingAmount = config.publisherFundingAmount;
129
+ const funderBalance = await funder.getSenderBalance();
130
+ if (funderBalance < 10n * fundingAmount) {
131
+ this.log.warn(`Funding account balance is low`, {
132
+ funderBalance,
133
+ threshold: 10n * fundingAmount
134
+ });
135
+ }
136
+ const affordableCount = Number(funderBalance / fundingAmount);
137
+ if (affordableCount === 0) {
138
+ this.log.error(`Funding account balance too low to fund any publisher`, {
139
+ funderBalance,
140
+ fundingAmount
141
+ });
142
+ return;
143
+ }
144
+ if (affordableCount < lowBalance.length) {
145
+ this.log.warn(`Funder can only afford ${affordableCount}/${lowBalance.length} publishers`, {
146
+ funderBalance,
147
+ fundingAmount
148
+ });
149
+ }
150
+ const toFund = lowBalance.slice(0, affordableCount).map((p)=>p.publisher);
151
+ await this.fundPublishers(toFund);
152
+ }
153
+ /** Fund publishers via a single Multicall3 aggregate3Value transaction. */ async fundPublishers(publishers) {
154
+ const fundingAmount = this.config.publisherFundingAmount;
155
+ const calls = publishers.map((pub)=>({
156
+ to: pub.getSenderAddress().toString(),
157
+ value: fundingAmount
158
+ }));
159
+ await Multicall3.forwardValue(calls, this.funder, this.log);
160
+ this.log.info(`Funded ${publishers.length} publishers`);
87
161
  }
88
162
  }
@@ -1,8 +1,22 @@
1
- import type { RollupContract } from '@aztec/ethereum/contracts';
1
+ import type { ManaMinFeeComponents, RollupContract } from '@aztec/ethereum/contracts';
2
+ import { InboxContract } from '@aztec/ethereum/contracts';
2
3
  import { CheckpointNumber, EpochNumber, SlotNumber } from '@aztec/foundation/branded-types';
3
4
  import { EthAddress } from '@aztec/foundation/eth-address';
4
5
  import { DateProvider } from '@aztec/foundation/timer';
5
6
  import { EventEmitter } from 'events';
7
+ /** L2 fee data reported by the chain monitor. */
8
+ export type L2FeeData = ManaMinFeeComponents & {
9
+ /** Total minimum fee per mana in Fee Juice (sum of sequencerCost + proverCost + congestionCost). */
10
+ minFeePerMana: bigint;
11
+ /** L1 base fee observed by the oracle. */
12
+ l1BaseFee: bigint;
13
+ /** L1 blob fee observed by the oracle. */
14
+ l1BlobFee: bigint;
15
+ /** ETH per fee asset exchange rate (1e12 precision). */
16
+ ethPerFeeAsset: bigint;
17
+ /** Mana target per checkpoint. */
18
+ manaTarget: bigint;
19
+ };
6
20
  export type ChainMonitorEventMap = {
7
21
  'l1-block': [{
8
22
  l1BlockNumber: number;
@@ -34,6 +48,7 @@ export type ChainMonitorEventMap = {
34
48
  l2SlotNumber: SlotNumber;
35
49
  timestamp: bigint;
36
50
  }];
51
+ 'l2-fees': [L2FeeData];
37
52
  };
38
53
  /** Utility class that polls the chain on quick intervals and logs new L1 blocks, L2 blocks, and L2 proofs. */
39
54
  export declare class ChainMonitor extends EventEmitter<ChainMonitorEventMap> {
@@ -61,15 +76,19 @@ export declare class ChainMonitor extends EventEmitter<ChainMonitorEventMap> {
61
76
  l2EpochNumber: EpochNumber;
62
77
  /** Current L2 slot number */
63
78
  l2SlotNumber: SlotNumber;
79
+ /** Current L2 fee data (components of the minimum fee per mana). */
80
+ l2FeeData: L2FeeData;
64
81
  constructor(rollup: RollupContract, dateProvider?: DateProvider, logger?: import("@aztec/foundation/log").Logger, intervalMs?: number);
65
82
  start(): this;
66
83
  stop(): Promise<void>;
67
- private getInbox;
84
+ protected getInbox(): Promise<InboxContract>;
68
85
  protected safeRun(): void;
69
86
  run(force?: boolean): Promise<this>;
70
87
  waitUntilL2Slot(slot: SlotNumber): Promise<void>;
71
88
  waitUntilL1Block(block: number | bigint): Promise<void>;
72
89
  waitUntilL1Timestamp(timestamp: number | bigint): Promise<void>;
73
90
  waitUntilCheckpoint(checkpointNumber: CheckpointNumber): Promise<void>;
91
+ private fetchFeeData;
92
+ private hasFeeDataChanged;
74
93
  }
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhaW5fbW9uaXRvci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Rlc3QvY2hhaW5fbW9uaXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUVoRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzVGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUczRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFdkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUl0QyxNQUFNLE1BQU0sb0JBQW9CLEdBQUc7SUFDakMsVUFBVSxFQUFFLENBQUM7UUFBRSxhQUFhLEVBQUUsTUFBTSxDQUFDO1FBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQTtLQUFFLENBQUMsQ0FBQztJQUMzRCxVQUFVLEVBQUU7UUFDVjtZQUFFLGdCQUFnQixFQUFFLGdCQUFnQixDQUFDO1lBQUMsYUFBYSxFQUFFLE1BQU0sQ0FBQztZQUFDLFlBQVksRUFBRSxVQUFVLENBQUM7WUFBQyxTQUFTLEVBQUUsTUFBTSxDQUFBO1NBQUU7S0FDM0csQ0FBQztJQUNGLG1CQUFtQixFQUFFLENBQUM7UUFBRSxzQkFBc0IsRUFBRSxnQkFBZ0IsQ0FBQztRQUFDLGFBQWEsRUFBRSxNQUFNLENBQUM7UUFBQyxTQUFTLEVBQUUsTUFBTSxDQUFBO0tBQUUsQ0FBQyxDQUFDO0lBQzlHLGFBQWEsRUFBRSxDQUFDO1FBQUUsZUFBZSxFQUFFLE1BQU0sQ0FBQztRQUFDLGFBQWEsRUFBRSxNQUFNLENBQUE7S0FBRSxDQUFDLENBQUM7SUFDcEUsVUFBVSxFQUFFLENBQUM7UUFBRSxhQUFhLEVBQUUsV0FBVyxDQUFDO1FBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQztRQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsR0FBRyxTQUFTLENBQUE7S0FBRSxDQUFDLENBQUM7SUFDckcsU0FBUyxFQUFFLENBQUM7UUFBRSxZQUFZLEVBQUUsVUFBVSxDQUFDO1FBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQTtLQUFFLENBQUMsQ0FBQztDQUM5RCxDQUFDO0FBRUYsOEdBQThHO0FBQzlHLHFCQUFhLFlBQWEsU0FBUSxZQUFZLENBQUMsb0JBQW9CLENBQUM7SUF5QmhFLE9BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTTtJQUN2QixPQUFPLENBQUMsUUFBUSxDQUFDLFlBQVk7SUFDN0IsT0FBTyxDQUFDLFFBQVEsQ0FBQyxNQUFNO0lBQ3ZCLE9BQU8sQ0FBQyxRQUFRLENBQUMsVUFBVTtJQTNCN0IsT0FBTyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQWE7SUFDdEMsT0FBTyxDQUFDLEtBQUssQ0FBNEI7SUFDekMsT0FBTyxDQUFDLE1BQU0sQ0FBNkI7SUFFM0MsT0FBTyxDQUFDLE9BQU8sQ0FBaUM7SUFFaEQsOEJBQThCO0lBQ3ZCLGFBQWEsRUFBRyxNQUFNLENBQUM7SUFDOUIsZ0NBQWdDO0lBQ3pCLGdCQUFnQixFQUFHLGdCQUFnQixDQUFDO0lBQzNDLHVDQUF1QztJQUNoQyxzQkFBc0IsRUFBRyxnQkFBZ0IsQ0FBQztJQUNqRCw4Q0FBOEM7SUFDdkMsbUJBQW1CLEVBQUcsTUFBTSxDQUFDO0lBQ3BDLDZDQUE2QztJQUN0Qyx5QkFBeUIsRUFBRyxNQUFNLENBQUM7SUFDMUMsd0RBQXdEO0lBQ2pELGVBQWUsRUFBRSxNQUFNLENBQUs7SUFDbkMsOEJBQThCO0lBQ3ZCLGFBQWEsRUFBRyxXQUFXLENBQUM7SUFDbkMsNkJBQTZCO0lBQ3RCLFlBQVksRUFBRyxVQUFVLENBQUM7SUFFakMsWUFDbUIsTUFBTSxFQUFFLGNBQWMsRUFDdEIsWUFBWSxHQUFFLFlBQWlDLEVBQy9DLE1BQU0seUNBQThDLEVBQ3BELFVBQVUsU0FBTSxFQUlsQztJQUVELEtBQUssU0FNSjtJQUVLLElBQUksa0JBV1Q7WUFFYSxRQUFRO0lBUXRCLFNBQVMsQ0FBQyxPQUFPLFNBWWhCO0lBRUssR0FBRyxDQUFDLEtBQUssVUFBUSxpQkFnRnRCO0lBRU0sZUFBZSxDQUFDLElBQUksRUFBRSxVQUFVLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQWF0RDtJQUVNLGdCQUFnQixDQUFDLEtBQUssRUFBRSxNQUFNLEdBQUcsTUFBTSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FjN0Q7SUFFTSxvQkFBb0IsQ0FBQyxTQUFTLEVBQUUsTUFBTSxHQUFHLE1BQU0sR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBY3JFO0lBRU0sbUJBQW1CLENBQUMsZ0JBQWdCLEVBQUUsZ0JBQWdCLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQWE1RTtDQUNGIn0=
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhaW5fbW9uaXRvci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Rlc3QvY2hhaW5fbW9uaXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxvQkFBb0IsRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN0RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM1RixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFHM0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXZELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFJdEMsaURBQWlEO0FBQ2pELE1BQU0sTUFBTSxTQUFTLEdBQUcsb0JBQW9CLEdBQUc7SUFDN0Msb0dBQW9HO0lBQ3BHLGFBQWEsRUFBRSxNQUFNLENBQUM7SUFDdEIsMENBQTBDO0lBQzFDLFNBQVMsRUFBRSxNQUFNLENBQUM7SUFDbEIsMENBQTBDO0lBQzFDLFNBQVMsRUFBRSxNQUFNLENBQUM7SUFDbEIsd0RBQXdEO0lBQ3hELGNBQWMsRUFBRSxNQUFNLENBQUM7SUFDdkIsa0NBQWtDO0lBQ2xDLFVBQVUsRUFBRSxNQUFNLENBQUM7Q0FDcEIsQ0FBQztBQUVGLE1BQU0sTUFBTSxvQkFBb0IsR0FBRztJQUNqQyxVQUFVLEVBQUUsQ0FBQztRQUFFLGFBQWEsRUFBRSxNQUFNLENBQUM7UUFBQyxTQUFTLEVBQUUsTUFBTSxDQUFBO0tBQUUsQ0FBQyxDQUFDO0lBQzNELFVBQVUsRUFBRTtRQUNWO1lBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLENBQUM7WUFBQyxhQUFhLEVBQUUsTUFBTSxDQUFDO1lBQUMsWUFBWSxFQUFFLFVBQVUsQ0FBQztZQUFDLFNBQVMs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
@@ -1 +1 @@
1
- {"version":3,"file":"chain_monitor.d.ts","sourceRoot":"","sources":["../../src/test/chain_monitor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chain_monitor.d.ts","sourceRoot":"","sources":["../../src/test/chain_monitor.ts"],"names":[],"mappings":"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"}