@aztec-labs/bot 6.0.0-rc.1 → 6.0.0-rc.2

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.
package/dest/config.d.ts CHANGED
@@ -14,6 +14,8 @@ export type BotInboxConsumeMode = (typeof BotInboxConsumeMode)[number];
14
14
  export declare const MAX_INBOX_MESSAGES_PER_BUCKET = 256;
15
15
  /** Largest number of messages that fit in a single Inbox bucket, plus the one that rolls it over. */
16
16
  export declare const MAX_INBOX_MESSAGES_PER_BATCH: number;
17
+ /** Effective `l1ToL2SeedCount` for every other mode when the operator did not set one. */
18
+ export declare const DEFAULT_L1_TO_L2_SEED_COUNT = 1;
17
19
  export declare enum SupportedTokenContracts {
18
20
  TokenContract = "TokenContract",
19
21
  PrivateTokenContract = "PrivateTokenContract"
@@ -71,8 +73,11 @@ export type BotConfig = {
71
73
  botMode: BotMode;
72
74
  /** Number of L2→L1 messages per tx (crosschain mode). */
73
75
  l2ToL1MessagesPerTx: number;
74
- /** Max L1→L2 messages to keep in-flight (crosschain mode). */
75
- l1ToL2SeedCount: number;
76
+ /**
77
+ * Max L1→L2 messages to keep in-flight (crosschain and inbox modes). Optional so the mode-specific default can
78
+ * tell an unset value from an explicit one; {@link applyInboxModeDefaults} resolves it.
79
+ */
80
+ l1ToL2SeedCount?: number;
76
81
  /** How many L1→L2 messages the inbox bot sends per atomic L1 batch (inbox mode). */
77
82
  inboxMessagesPerBatch: number;
78
83
  /** Which L2 domain the inbox bot consumes its messages through (inbox mode). */
@@ -117,7 +122,7 @@ export declare const BotConfigSchema: z.ZodPipe<z.ZodObject<{
117
122
  transfer: "transfer";
118
123
  }>>;
119
124
  l2ToL1MessagesPerTx: z.ZodDefault<z.ZodNumber>;
120
- l1ToL2SeedCount: z.ZodDefault<z.ZodNumber>;
125
+ l1ToL2SeedCount: z.ZodOptional<z.ZodNumber>;
121
126
  inboxMessagesPerBatch: z.ZodDefault<z.ZodNumber>;
122
127
  inboxConsumeMode: z.ZodDefault<z.ZodEnum<{
123
128
  mixed: "mixed";
@@ -145,7 +150,7 @@ export declare const BotConfigSchema: z.ZodPipe<z.ZodObject<{
145
150
  stopWhenUnhealthy: boolean;
146
151
  botMode: "amm" | "crosschain" | "inbox" | "transfer";
147
152
  l2ToL1MessagesPerTx: number;
148
- l1ToL2SeedCount: number;
153
+ l1ToL2SeedCount?: number | undefined;
149
154
  inboxMessagesPerBatch: number;
150
155
  inboxConsumeMode: "mixed" | "private" | "public";
151
156
  inboxSaturationIntervalSeconds: number;
@@ -187,7 +192,7 @@ export declare const BotConfigSchema: z.ZodPipe<z.ZodObject<{
187
192
  stopWhenUnhealthy: boolean;
188
193
  botMode: "amm" | "crosschain" | "inbox" | "transfer";
189
194
  l2ToL1MessagesPerTx: number;
190
- l1ToL2SeedCount: number;
195
+ l1ToL2SeedCount?: number | undefined;
191
196
  inboxMessagesPerBatch: number;
192
197
  inboxConsumeMode: "mixed" | "private" | "public";
193
198
  inboxSaturationIntervalSeconds: number;
@@ -197,15 +202,19 @@ export declare const BotConfigSchema: z.ZodPipe<z.ZodObject<{
197
202
  export declare const botConfigMappings: ConfigMappingsType<BotConfig>;
198
203
  export declare function getBotConfigFromEnv(): BotConfig;
199
204
  export declare function getBotDefaultConfig(): BotConfig;
205
+ /** A {@link BotConfig} whose mode-dependent defaults have been resolved, so consumers read plain values. */
206
+ export type ResolvedBotConfig = BotConfig & {
207
+ l1ToL2SeedCount: number;
208
+ };
200
209
  /**
201
- * Returns the config with inbox-mode effective defaults applied. Other modes are returned untouched, so
202
- * `getBotDefaultConfig()` and the transfer/amm/crosschain paths are unaffected.
210
+ * Returns the config with mode-dependent defaults applied.
203
211
  *
204
- * Inbox mode needs a far larger outstanding-message allowance than crosschain's single in-flight message.
205
- * `BotConfig` has no representation for "unset", so a field still equal to its `getBotDefaultConfig()` value is
206
- * taken to have been left alone and gets the inbox default; any other value is the operator's and wins.
212
+ * Inbox mode needs a far larger outstanding-message allowance than crosschain's single in-flight message. The
213
+ * default is applied from the absence of a value rather than from it matching the general default: an operator who
214
+ * explicitly asks for one in-flight message in inbox mode gets one, and is then told by
215
+ * {@link assertValidInboxConfig} that it cannot drive a batch, instead of silently running with 512.
207
216
  */
208
- export declare function applyInboxModeDefaults(config: BotConfig): BotConfig;
217
+ export declare function applyInboxModeDefaults(config: BotConfig): ResolvedBotConfig;
209
218
  /**
210
219
  * Throws a descriptive error if the config cannot drive the inbox bot. Values are never silently clamped: an
211
220
  * operator who asks for an impossible configuration is told, rather than getting a bot that quietly stalls.
@@ -213,4 +222,4 @@ export declare function applyInboxModeDefaults(config: BotConfig): BotConfig;
213
222
  export declare function assertValidInboxConfig(config: BotConfig): void;
214
223
  export declare function getVersions(): Partial<ComponentsVersions>;
215
224
  export {};
216
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFDTCxLQUFLLGtCQUFrQixFQUN2QixXQUFXLEVBVVosTUFBTSwrQkFBK0IsQ0FBQztBQUN2QyxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFHekQsT0FBTyxFQUFFLEtBQUssZUFBZSxFQUFzQixNQUFNLDZCQUE2QixDQUFDO0FBRXZGLE9BQU8sS0FBSyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDeEUsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUV4QixRQUFBLE1BQU0sY0FBYyx5REFBMEQsQ0FBQztBQUMvRSxLQUFLLGNBQWMsR0FBRyxDQUFDLE9BQU8sY0FBYyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7QUFFdEQsUUFBQSxNQUFNLE9BQU8scURBQXNELENBQUM7QUFDcEUsS0FBSyxPQUFPLEdBQUcsQ0FBQyxPQUFPLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBRXhDLFFBQUEsTUFBTSxtQkFBbUIseUNBQTBDLENBQUM7QUFDcEUsbUVBQW1FO0FBQ25FLE1BQU0sTUFBTSxtQkFBbUIsR0FBRyxDQUFDLE9BQU8sbUJBQW1CLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUV2RSxvR0FBb0c7QUFDcEcsZUFBTyxNQUFNLDZCQUE2QixNQUE4QixDQUFDO0FBRXpFLHFHQUFxRztBQUNyRyxlQUFPLE1BQU0sNEJBQTRCLFFBQW9DLENBQUM7QUFLOUUsb0JBQVksdUJBQXVCO0lBQ2pDLGFBQWEsa0JBQWtCO0lBQy9CLG9CQUFvQix5QkFBeUI7Q0FDOUM7QUFFRCxNQUFNLE1BQU0sU0FBUyxHQUFHO0lBQ3RCLDZEQUE2RDtJQUM3RCxPQUFPLEVBQUUsTUFBTSxHQUFHLFNBQVMsQ0FBQztJQUM1Qiw0RUFBNEU7SUFD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
225
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFDTCxLQUFLLGtCQUFrQixFQUN2QixXQUFXLEVBVVosTUFBTSwrQkFBK0IsQ0FBQztBQUN2QyxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFHekQsT0FBTyxFQUFFLEtBQUssZUFBZSxFQUFzQixNQUFNLDZCQUE2QixDQUFDO0FBRXZGLE9BQU8sS0FBSyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDeEUsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUV4QixRQUFBLE1BQU0sY0FBYyx5REFBMEQsQ0FBQztBQUMvRSxLQUFLLGNBQWMsR0FBRyxDQUFDLE9BQU8sY0FBYyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7QUFFdEQsUUFBQSxNQUFNLE9BQU8scURBQXNELENBQUM7QUFDcEUsS0FBSyxPQUFPLEdBQUcsQ0FBQyxPQUFPLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBRXhDLFFBQUEsTUFBTSxtQkFBbUIseUNBQTBDLENBQUM7QUFDcEUsbUVBQW1FO0FBQ25FLE1BQU0sTUFBTSxtQkFBbUIsR0FBRyxDQUFDLE9BQU8sbUJBQW1CLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUV2RSxvR0FBb0c7QUFDcEcsZUFBTyxNQUFNLDZCQUE2QixNQUE4QixDQUFDO0FBRXpFLHFHQUFxRztBQUNyRyxlQUFPLE1BQU0sNEJBQTRCLFFBQW9DLENBQUM7QUFLOUUsMEZBQTBGO0FBQzFGLGVBQU8sTUFBTSwyQkFBMkIsSUFBSSxDQUFDO0FBRTdDLG9CQUFZLHVCQUF1QjtJQUNqQyxhQUFhLGtCQUFrQjtJQUMvQixvQkFBb0IseUJBQXlCO0NBQzlDO0FBRUQsTUFBTSxNQUFNLFNBQVMsR0FBRztJQUN0Qiw2REFBNkQ7SUFDN0Qs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
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
package/dest/config.js CHANGED
@@ -25,7 +25,8 @@ const BotInboxConsumeMode = [
25
25
  ];
26
26
  /** Largest number of messages a single Inbox bucket holds before the next message rolls it over. */ export const MAX_INBOX_MESSAGES_PER_BUCKET = MAX_L1_TO_L2_MSGS_PER_BLOCK;
27
27
  /** Largest number of messages that fit in a single Inbox bucket, plus the one that rolls it over. */ export const MAX_INBOX_MESSAGES_PER_BATCH = MAX_INBOX_MESSAGES_PER_BUCKET + 1;
28
- /** Effective `l1ToL2SeedCount` for inbox mode when the operator left it at its default. */ const INBOX_DEFAULT_L1_TO_L2_SEED_COUNT = 512;
28
+ /** Effective `l1ToL2SeedCount` for inbox mode when the operator did not set one. */ const INBOX_DEFAULT_L1_TO_L2_SEED_COUNT = 512;
29
+ /** Effective `l1ToL2SeedCount` for every other mode when the operator did not set one. */ export const DEFAULT_L1_TO_L2_SEED_COUNT = 1;
29
30
  export var SupportedTokenContracts = /*#__PURE__*/ function(SupportedTokenContracts) {
30
31
  SupportedTokenContracts["TokenContract"] = "TokenContract";
31
32
  SupportedTokenContracts["PrivateTokenContract"] = "PrivateTokenContract";
@@ -58,7 +59,7 @@ export const BotConfigSchema = zodFor()(z.object({
58
59
  stopWhenUnhealthy: z.boolean(),
59
60
  botMode: z.enum(BotMode).default('transfer'),
60
61
  l2ToL1MessagesPerTx: z.number().int().nonnegative().default(1),
61
- l1ToL2SeedCount: z.number().int().nonnegative().default(1),
62
+ l1ToL2SeedCount: z.number().int().nonnegative().optional(),
62
63
  inboxMessagesPerBatch: z.number().int().min(1).max(MAX_INBOX_MESSAGES_PER_BATCH).default(4),
63
64
  inboxConsumeMode: z.enum(BotInboxConsumeMode).default('mixed'),
64
65
  inboxSaturationIntervalSeconds: z.number().int().nonnegative().default(86400),
@@ -232,8 +233,8 @@ export const botConfigMappings = {
232
233
  },
233
234
  l1ToL2SeedCount: {
234
235
  env: 'BOT_L1_TO_L2_SEED_COUNT',
235
- description: 'Max L1→L2 messages to keep in-flight (crosschain and inbox modes)',
236
- ...numberConfigHelper(1)
236
+ description: 'Max L1→L2 messages to keep in-flight (crosschain and inbox modes). Defaults to ' + `${DEFAULT_L1_TO_L2_SEED_COUNT}, or ${INBOX_DEFAULT_L1_TO_L2_SEED_COUNT} in inbox mode.`,
237
+ ...optionalNumberConfigHelper()
237
238
  },
238
239
  inboxMessagesPerBatch: {
239
240
  env: 'BOT_INBOX_MESSAGES_PER_BATCH',
@@ -268,20 +269,17 @@ export function getBotDefaultConfig() {
268
269
  return getDefaultConfig(botConfigMappings);
269
270
  }
270
271
  /**
271
- * Returns the config with inbox-mode effective defaults applied. Other modes are returned untouched, so
272
- * `getBotDefaultConfig()` and the transfer/amm/crosschain paths are unaffected.
272
+ * Returns the config with mode-dependent defaults applied.
273
273
  *
274
- * Inbox mode needs a far larger outstanding-message allowance than crosschain's single in-flight message.
275
- * `BotConfig` has no representation for "unset", so a field still equal to its `getBotDefaultConfig()` value is
276
- * taken to have been left alone and gets the inbox default; any other value is the operator's and wins.
274
+ * Inbox mode needs a far larger outstanding-message allowance than crosschain's single in-flight message. The
275
+ * default is applied from the absence of a value rather than from it matching the general default: an operator who
276
+ * explicitly asks for one in-flight message in inbox mode gets one, and is then told by
277
+ * {@link assertValidInboxConfig} that it cannot drive a batch, instead of silently running with 512.
277
278
  */ export function applyInboxModeDefaults(config) {
278
- if (config.botMode !== 'inbox') {
279
- return config;
280
- }
281
- const defaults = getBotDefaultConfig();
279
+ const modeDefault = config.botMode === 'inbox' ? INBOX_DEFAULT_L1_TO_L2_SEED_COUNT : DEFAULT_L1_TO_L2_SEED_COUNT;
282
280
  return {
283
281
  ...config,
284
- l1ToL2SeedCount: config.l1ToL2SeedCount === defaults.l1ToL2SeedCount ? INBOX_DEFAULT_L1_TO_L2_SEED_COUNT : config.l1ToL2SeedCount
282
+ l1ToL2SeedCount: config.l1ToL2SeedCount ?? modeDefault
285
283
  };
286
284
  }
287
285
  /**
@@ -300,11 +298,12 @@ export function getBotDefaultConfig() {
300
298
  if (!Number.isInteger(config.inboxSaturationIntervalSeconds) || config.inboxSaturationIntervalSeconds < 0) {
301
299
  throw new Error(`Inbox bot requires a nonnegative integer inboxSaturationIntervalSeconds (got ${config.inboxSaturationIntervalSeconds})`);
302
300
  }
303
- if (config.l1ToL2SeedCount < config.inboxMessagesPerBatch) {
304
- throw new Error(`Inbox bot requires l1ToL2SeedCount (${config.l1ToL2SeedCount}) to be at least inboxMessagesPerBatch (${config.inboxMessagesPerBatch}), otherwise the outstanding-message cap blocks production`);
301
+ const l1ToL2SeedCount = config.l1ToL2SeedCount ?? INBOX_DEFAULT_L1_TO_L2_SEED_COUNT;
302
+ if (l1ToL2SeedCount < config.inboxMessagesPerBatch) {
303
+ throw new Error(`Inbox bot requires l1ToL2SeedCount (${l1ToL2SeedCount}) to be at least inboxMessagesPerBatch (${config.inboxMessagesPerBatch}), otherwise the outstanding-message cap blocks production`);
305
304
  }
306
- if (config.inboxSaturationIntervalSeconds > 0 && config.l1ToL2SeedCount < MAX_INBOX_MESSAGES_PER_BATCH) {
307
- throw new Error(`Inbox bot with saturation enabled requires l1ToL2SeedCount to be at least ${MAX_INBOX_MESSAGES_PER_BATCH} (got ${config.l1ToL2SeedCount}), otherwise a saturation batch can never fit under the outstanding-message cap`);
305
+ if (config.inboxSaturationIntervalSeconds > 0 && l1ToL2SeedCount < MAX_INBOX_MESSAGES_PER_BATCH) {
306
+ throw new Error(`Inbox bot with saturation enabled requires l1ToL2SeedCount to be at least ${MAX_INBOX_MESSAGES_PER_BATCH} (got ${l1ToL2SeedCount}), otherwise a saturation batch can never fit under the outstanding-message cap`);
308
307
  }
309
308
  }
310
309
  export function getVersions() {
@@ -32,7 +32,7 @@ import type { BlockTag } from '@aztec-labs/stdlib/block';
32
32
  import type { AztecNode, AztecNodeAdmin } from '@aztec-labs/stdlib/interfaces/client';
33
33
  import type { EmbeddedWallet } from '@aztec-labs/wallets/embedded';
34
34
  import { BaseBot } from './base_bot.js';
35
- import type { BotConfig } from './config.js';
35
+ import { type BotConfig } from './config.js';
36
36
  import type { BotStore } from './store/index.js';
37
37
  /** Bot that exercises both L2→L1 and L1→L2 cross-chain messaging. */
38
38
  export declare class CrossChainBot extends BaseBot {
@@ -53,4 +53,4 @@ export declare class CrossChainBot extends BaseBot {
53
53
  private getReadyL1ToL2Message;
54
54
  private seedNewL1ToL2Message;
55
55
  }
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3Jvc3NfY2hhaW5fYm90LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY3Jvc3NfY2hhaW5fYm90LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F3Qkc7QUFDSCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFHOUQsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2pFLE9BQU8sS0FBSyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFM0UsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ2hFLE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQzVFLE9BQU8sS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN0RixPQUFPLEtBQUssRUFBRSxjQUFjLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUVuRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hDLE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUc3QyxPQUFPLEtBQUssRUFBRSxRQUFRLEVBQXdCLE1BQU0sa0JBQWtCLENBQUM7QUFLdkUseUVBQXFFO0FBQ3JFLHFCQUFhLGFBQWMsU0FBUSxPQUFPO0lBU3RDLE9BQU8sQ0FBQyxRQUFRLENBQUMsUUFBUTtJQUN6QixPQUFPLENBQUMsUUFBUSxDQUFDLFFBQVE7SUFDekIsT0FBTyxDQUFDLFFBQVEsQ0FBQyxXQUFXO0lBQzVCLE9BQU8sQ0FBQyxRQUFRLENBQUMsWUFBWTtJQUM3QixPQUFPLENBQUMsUUFBUSxDQUFDLGFBQWE7SUFDOUIsT0FBTyxDQUFDLFFBQVEsQ0FBQyxLQUFLO0lBRXRCLE9BQU8sQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDO0lBZmhDLE9BQU8sQ0FBQyxVQUFVLENBQUs7SUFDdkIsT0FBTyxDQUFDLGNBQWMsQ0FBSztJQUMzQixPQUFPLENBQUMsa0JBQWtCLENBQTRCO0lBRXRELFNBQVMsYUFDUCxJQUFJLEVBQUUsU0FBUyxFQUNmLE1BQU0sRUFBRSxjQUFjLEVBQ3RCLHFCQUFxQixFQUFFLFlBQVksRUFDbEIsUUFBUSxFQUFFLFlBQVksRUFDdEIsUUFBUSxFQUFFLHdCQUF3QixFQUNsQyxXQUFXLEVBQUUsVUFBVSxFQUN2QixZQUFZLEVBQUUsVUFBVSxFQUN4QixhQUFhLEVBQUUsTUFBTSxFQUNyQixLQUFLLEVBQUUsUUFBUSxFQUNoQyxNQUFNLEVBQUUsU0FBUyxFQUNBLFlBQVksQ0FBQyw2RUFBVSxFQUd6QztJQUVELE9BQWEsTUFBTSxDQUNqQixNQUFNLEVBQUUsU0FBUyxFQUNqQixNQUFNLEVBQUUsY0FBYyxFQUN0QixTQUFTLEVBQUUsU0FBUyxFQUNwQixjQUFjLEVBQUUsY0FBYyxHQUFHLFNBQVMsRUFDMUMsS0FBSyxFQUFFLFFBQVEsRUFDZixZQUFZLENBQUMsRUFBRSxRQUFRLEdBQ3RCLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FzQnhCO0lBRUQsVUFBZ0IsZUFBZSxDQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQWlEL0Q7SUFFRCxVQUF5QixTQUFTLENBQUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0F3QnBGO1lBR2EscUJBQXFCO1lBb0JyQixvQkFBb0I7Q0FVbkMifQ==
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3Jvc3NfY2hhaW5fYm90LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY3Jvc3NfY2hhaW5fYm90LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F3Qkc7QUFDSCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFHOUQsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2pFLE9BQU8sS0FBSyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFM0UsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ2hFLE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQzVFLE9BQU8sS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN0RixPQUFPLEtBQUssRUFBRSxjQUFjLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUVuRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxLQUFLLFNBQVMsRUFBK0IsTUFBTSxhQUFhLENBQUM7QUFHMUUsT0FBTyxLQUFLLEVBQUUsUUFBUSxFQUF3QixNQUFNLGtCQUFrQixDQUFDO0FBS3ZFLHlFQUFxRTtBQUNyRSxxQkFBYSxhQUFjLFNBQVEsT0FBTztJQVN0QyxPQUFPLENBQUMsUUFBUSxDQUFDLFFBQVE7SUFDekIsT0FBTyxDQUFDLFFBQVEsQ0FBQyxRQUFRO0lBQ3pCLE9BQU8sQ0FBQyxRQUFRLENBQUMsV0FBVztJQUM1QixPQUFPLENBQUMsUUFBUSxDQUFDLFlBQVk7SUFDN0IsT0FBTyxDQUFDLFFBQVEsQ0FBQyxhQUFhO0lBQzlCLE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSztJQUV0QixPQUFPLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQztJQWZoQyxPQUFPLENBQUMsVUFBVSxDQUFLO0lBQ3ZCLE9BQU8sQ0FBQyxjQUFjLENBQUs7SUFDM0IsT0FBTyxDQUFDLGtCQUFrQixDQUE0QjtJQUV0RCxTQUFTLGFBQ1AsSUFBSSxFQUFFLFNBQVMsRUFDZixNQUFNLEVBQUUsY0FBYyxFQUN0QixxQkFBcUIsRUFBRSxZQUFZLEVBQ2xCLFFBQVEsRUFBRSxZQUFZLEVBQ3RCLFFBQVEsRUFBRSx3QkFBd0IsRUFDbEMsV0FBVyxFQUFFLFVBQVUsRUFDdkIsWUFBWSxFQUFFLFVBQVUsRUFDeEIsYUFBYSxFQUFFLE1BQU0sRUFDckIsS0FBSyxFQUFFLFFBQVEsRUFDaEMsTUFBTSxFQUFFLFNBQVMsRUFDQSxZQUFZLENBQUMsNkVBQVUsRUFHekM7SUFFRCxPQUFhLE1BQU0sQ0FDakIsTUFBTSxFQUFFLFNBQVMsRUFDakIsTUFBTSxFQUFFLGNBQWMsRUFDdEIsU0FBUyxFQUFFLFNBQVMsRUFDcEIsY0FBYyxFQUFFLGNBQWMsR0FBRyxTQUFTLEVBQzFDLEtBQUssRUFBRSxRQUFRLEVBQ2YsWUFBWSxDQUFDLEVBQUUsUUFBUSxHQUN0QixPQUFPLENBQUMsYUFBYSxDQUFDLENBc0J4QjtJQUVELFVBQWdCLGVBQWUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FvRC9EO0lBRUQsVUFBeUIsU0FBUyxDQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBd0JwRjtZQUdhLHFCQUFxQjtZQW9CckIsb0JBQW9CO0NBVW5DIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"cross_chain_bot.d.ts","sourceRoot":"","sources":["../src/cross_chain_bot.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAG9D,OAAO,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAE3E,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAChE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AAC5E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AACtF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAEnE,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAG7C,OAAO,KAAK,EAAE,QAAQ,EAAwB,MAAM,kBAAkB,CAAC;AAKvE,yEAAqE;AACrE,qBAAa,aAAc,SAAQ,OAAO;IAStC,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,KAAK;IAEtB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;IAfhC,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,kBAAkB,CAA4B;IAEtD,SAAS,aACP,IAAI,EAAE,SAAS,EACf,MAAM,EAAE,cAAc,EACtB,qBAAqB,EAAE,YAAY,EAClB,QAAQ,EAAE,YAAY,EACtB,QAAQ,EAAE,wBAAwB,EAClC,WAAW,EAAE,UAAU,EACvB,YAAY,EAAE,UAAU,EACxB,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,QAAQ,EAChC,MAAM,EAAE,SAAS,EACA,YAAY,CAAC,6EAAU,EAGzC;IAED,OAAa,MAAM,CACjB,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,cAAc,EACtB,SAAS,EAAE,SAAS,EACpB,cAAc,EAAE,cAAc,GAAG,SAAS,EAC1C,KAAK,EAAE,QAAQ,EACf,YAAY,CAAC,EAAE,QAAQ,GACtB,OAAO,CAAC,aAAa,CAAC,CAsBxB;IAED,UAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAiD/D;IAED,UAAyB,SAAS,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAwBpF;YAGa,qBAAqB;YAoBrB,oBAAoB;CAUnC"}
1
+ {"version":3,"file":"cross_chain_bot.d.ts","sourceRoot":"","sources":["../src/cross_chain_bot.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAG9D,OAAO,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAE3E,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAChE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AAC5E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AACtF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAEnE,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,KAAK,SAAS,EAA+B,MAAM,aAAa,CAAC;AAG1E,OAAO,KAAK,EAAE,QAAQ,EAAwB,MAAM,kBAAkB,CAAC;AAKvE,yEAAqE;AACrE,qBAAa,aAAc,SAAQ,OAAO;IAStC,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,KAAK;IAEtB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;IAfhC,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,kBAAkB,CAA4B;IAEtD,SAAS,aACP,IAAI,EAAE,SAAS,EACf,MAAM,EAAE,cAAc,EACtB,qBAAqB,EAAE,YAAY,EAClB,QAAQ,EAAE,YAAY,EACtB,QAAQ,EAAE,wBAAwB,EAClC,WAAW,EAAE,UAAU,EACvB,YAAY,EAAE,UAAU,EACxB,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,QAAQ,EAChC,MAAM,EAAE,SAAS,EACA,YAAY,CAAC,6EAAU,EAGzC;IAED,OAAa,MAAM,CACjB,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,cAAc,EACtB,SAAS,EAAE,SAAS,EACpB,cAAc,EAAE,cAAc,GAAG,SAAS,EAC1C,KAAK,EAAE,QAAQ,EACf,YAAY,CAAC,EAAE,QAAQ,GACtB,OAAO,CAAC,aAAa,CAAC,CAsBxB;IAED,UAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAoD/D;IAED,UAAyB,SAAS,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAwBpF;YAGa,qBAAqB;YAoBrB,oBAAoB;CAUnC"}
@@ -27,6 +27,7 @@ import { isL1ToL2MessageReady } from '@aztec-labs/aztec.js/messaging';
27
27
  import { Fr } from '@aztec-labs/foundation/curves/bn254';
28
28
  import { EthAddress } from '@aztec-labs/foundation/eth-address';
29
29
  import { BaseBot } from './base_bot.js';
30
+ import { DEFAULT_L1_TO_L2_SEED_COUNT } from './config.js';
30
31
  import { BotFactory } from './factory.js';
31
32
  import { seedL1ToL2Message } from './l1_to_l2_seeding.js';
32
33
  /** Stale message threshold: messages older than this are removed. */ const STALE_MESSAGE_THRESHOLD_MS = 2 * 60 * 60 * 1000; // 2 hours
@@ -58,7 +59,7 @@ import { seedL1ToL2Message } from './l1_to_l2_seeding.js';
58
59
  async createAndSendTx(logCtx) {
59
60
  const pendingMessages = await this.store.getUnconsumedL1ToL2Messages();
60
61
  // Send an L1→L2 message if we're below the threshold and not already seeding one
61
- if (pendingMessages.length < this.config.l1ToL2SeedCount && !this.pendingSeedPromise) {
62
+ if (pendingMessages.length < (this.config.l1ToL2SeedCount ?? DEFAULT_L1_TO_L2_SEED_COUNT) && !this.pendingSeedPromise) {
62
63
  this.pendingSeedPromise = this.seedNewL1ToL2Message().catch((err)=>this.log.warn(`Failed to seed L1→L2 message: ${err}`, logCtx)).finally(()=>{
63
64
  this.pendingSeedPromise = undefined;
64
65
  });
package/dest/factory.d.ts CHANGED
@@ -77,4 +77,4 @@ export declare class BotFactory {
77
77
  private bridgeL1FeeJuice;
78
78
  protected withNoMinTxsPerBlock<T>(fn: () => Promise<T>): Promise<T>;
79
79
  }
80
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdG9yeS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2ZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBb0I5RCxPQUFPLEtBQUssRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBSTNFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNoRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNsRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDcEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBR3ZFLE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN0RixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFOUQsT0FBTyxFQUFFLEtBQUssU0FBUyxFQUEyQixNQUFNLGFBQWEsQ0FBQztBQUV0RSxPQUFPLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQU9qRCxxQkFBYSxVQUFVO0lBU25CLE9BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTTtJQUN2QixPQUFPLENBQUMsUUFBUSxDQUFDLE1BQU07SUFDdkIsT0FBTyxDQUFDLFFBQVEsQ0FBQyxLQUFLO0lBQ3RCLE9BQU8sQ0FBQyxRQUFRLENBQUMsU0FBUztJQUMxQixPQUFPLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQztJQUNoQyxPQUFPLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQztJQWJoQyxPQUFPLENBQUMsR0FBRyxDQUF1QjtJQUVsQyxnR0FBZ0c7SUFDaEcsT0FBTyxDQUFDLHFCQUFxQixDQUFLO0lBQ2xDLHNHQUFzRztJQUN0RyxPQUFPLENBQUMsbUJBQW1CLENBQUMsQ0FBdUM7SUFFbkUsWUFDbUIsTUFBTSxFQUFFLFNBQVMsRUFDakIsTUFBTSxFQUFFLGNBQWMsRUFDdEIsS0FBSyxFQUFFLFFBQVEsRUFDZixTQUFTLEVBQUUsU0FBUyxFQUNwQixjQUFjLENBQUMsNEJBQWdCLEVBQy9CLFlBQVksQ0FBQyw2RUFBVSxFQUt6QztJQUVEOzs7T0FHRztJQUNVLEtBQUssSUFBSSxPQUFPLENBQUM7UUFDNUIsTUFBTSxFQUFFLGNBQWMsQ0FBQztRQUN2QixxQkFBcUIsRUFBRSxZQUFZLENBQUM7UUFDcEMsS0FBSyxFQUFFLGFBQWEsR0FBRyxvQkFBb0IsQ0FBQztRQUM1QyxJQUFJLEVBQUUsU0FBUyxDQUFDO1FBQ2hCLFNBQVMsRUFBRSxZQUFZLENBQUM7S0FDekIsQ0FBQyxDQVFEO0lBRVksUUFBUSxJQUFJLE9BQU8sQ0FBQztRQUMvQixNQUFNLEVBQUUsY0FBYyxDQUFDO1FBQ3ZCLHFCQUFxQixFQUFFLFlBQVksQ0FBQztRQUNwQyxHQUFHLEVBQUUsV0FBVyxDQUFDO1FBQ2pCLE1BQU0sRUFBRSxhQUFhLENBQUM7UUFDdEIsTUFBTSxFQUFFLGFBQWEsQ0FBQztRQUN0QixJQUFJLEVBQUUsU0FBUyxDQUFDO0tBQ2pCLENBQUMsQ0FtQ0Q7SUFFRDs7Ozs7O09BTUc7SUFDVSxlQUFlLENBQUMsT0FBTyxHQUFFO1FBQUUsWUFBWSxDQUFDLEVBQUUsT0FBTyxDQUFDO1FBQUMsWUFBWSxDQUFDLEVBQUUsTUFBTSxDQUFBO0tBQU8sR0FBRyxPQUFPLENBQUM7UUFDckcsTUFBTSxFQUFFLGNBQWMsQ0FBQztRQUN2QixxQkFBcUIsRUFBRSxZQUFZLENBQUM7UUFDcEMsUUFBUSxFQUFFLFlBQVksQ0FBQztRQUN2QixJQUFJLEVBQUUsU0FBUyxDQUFDO1FBQ2hCLFFBQVEsRUFBRSx3QkFBd0IsQ0FBQztRQUNuQyxhQUFhLEVBQUUsTUFBTSxDQUFDO0tBQ3ZCLENBQUMsQ0EwRUQ7WUFFYSxrQkFBa0I7WUFTbEIsWUFBWTtZQWtCWixnQkFBZ0I7WUFhaEIsMEJBQTBCO1lBZTFCLFVBQVU7WUF5Q1Ysa0JBQWtCO1lBYWxCLGlCQUFpQjtZQVNqQixrQkFBa0I7WUFRbEIsZ0JBQWdCO1lBYWhCLGVBQWU7WUFzRWYsd0JBQXdCO0lBMkJ0Qyx5R0FBeUc7SUFDekcsT0FBTyxDQUFDLHNCQUFzQjtZQWNoQixxQkFBcUI7WUFnQ3JCLFVBQVU7WUFpRFYsc0JBQXNCO1lBd0J0QixnQkFBZ0I7SUFnQzlCLFVBQWdCLG9CQUFvQixDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsTUFBTSxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQStCeEU7Q0FDRiJ9
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdG9yeS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2ZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBb0I5RCxPQUFPLEtBQUssRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBSTNFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNoRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNsRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDcEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBR3ZFLE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN0RixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFOUQsT0FBTyxFQUFFLEtBQUssU0FBUyxFQUF3RCxNQUFNLGFBQWEsQ0FBQztBQUVuRyxPQUFPLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQU9qRCxxQkFBYSxVQUFVO0lBU25CLE9BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTTtJQUN2QixPQUFPLENBQUMsUUFBUSxDQUFDLE1BQU07SUFDdkIsT0FBTyxDQUFDLFFBQVEsQ0FBQyxLQUFLO0lBQ3RCLE9BQU8sQ0FBQyxRQUFRLENBQUMsU0FBUztJQUMxQixPQUFPLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQztJQUNoQyxPQUFPLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQztJQWJoQyxPQUFPLENBQUMsR0FBRyxDQUF1QjtJQUVsQyxnR0FBZ0c7SUFDaEcsT0FBTyxDQUFDLHFCQUFxQixDQUFLO0lBQ2xDLHNHQUFzRztJQUN0RyxPQUFPLENBQUMsbUJBQW1CLENBQUMsQ0FBdUM7SUFFbkUsWUFDbUIsTUFBTSxFQUFFLFNBQVMsRUFDakIsTUFBTSxFQUFFLGNBQWMsRUFDdEIsS0FBSyxFQUFFLFFBQVEsRUFDZixTQUFTLEVBQUUsU0FBUyxFQUNwQixjQUFjLENBQUMsNEJBQWdCLEVBQy9CLFlBQVksQ0FBQyw2RUFBVSxFQUt6QztJQUVEOzs7T0FHRztJQUNVLEtBQUssSUFBSSxPQUFPLENBQUM7UUFDNUIsTUFBTSxFQUFFLGNBQWMsQ0FBQztRQUN2QixxQkFBcUIsRUFBRSxZQUFZLENBQUM7UUFDcEMsS0FBSyxFQUFFLGFBQWEsR0FBRyxvQkFBb0IsQ0FBQztRQUM1QyxJQUFJLEVBQUUsU0FBUyxDQUFDO1FBQ2hCLFNBQVMsRUFBRSxZQUFZLENBQUM7S0FDekIsQ0FBQyxDQVFEO0lBRVksUUFBUSxJQUFJLE9BQU8sQ0FBQztRQUMvQixNQUFNLEVBQUUsY0FBYyxDQUFDO1FBQ3ZCLHFCQUFxQixFQUFFLFlBQVksQ0FBQztRQUNwQyxHQUFHLEVBQUUsV0FBVyxDQUFDO1FBQ2pCLE1BQU0sRUFBRSxhQUFhLENBQUM7UUFDdEIsTUFBTSxFQUFFLGFBQWEsQ0FBQztRQUN0QixJQUFJLEVBQUUsU0FBUyxDQUFDO0tBQ2pCLENBQUMsQ0FtQ0Q7SUFFRDs7Ozs7O09BTUc7SUFDVSxlQUFlLENBQUMsT0FBTyxHQUFFO1FBQUUsWUFBWSxDQUFDLEVBQUUsT0FBTyxDQUFDO1FBQUMsWUFBWSxDQUFDLEVBQUUsTUFBTSxDQUFBO0tBQU8sR0FBRyxPQUFPLENBQUM7UUFDckcsTUFBTSxFQUFFLGNBQWMsQ0FBQztRQUN2QixxQkFBcUIsRUFBRSxZQUFZLENBQUM7UUFDcEMsUUFBUSxFQUFFLFlBQVksQ0FBQztRQUN2QixJQUFJLEVBQUUsU0FBUyxDQUFDO1FBQ2hCLFFBQVEsRUFBRSx3QkFBd0IsQ0FBQztRQUNuQyxhQUFhLEVBQUUsTUFBTSxDQUFDO0tBQ3ZCLENBQUMsQ0E2RUQ7WUFFYSxrQkFBa0I7WUFTbEIsWUFBWTtZQWtCWixnQkFBZ0I7WUFhaEIsMEJBQTBCO1lBZTFCLFVBQVU7WUF5Q1Ysa0JBQWtCO1lBYWxCLGlCQUFpQjtZQVNqQixrQkFBa0I7WUFRbEIsZ0JBQWdCO1lBYWhCLGVBQWU7WUFzRWYsd0JBQXdCO0lBMkJ0Qyx5R0FBeUc7SUFDekcsT0FBTyxDQUFDLHNCQUFzQjtZQWNoQixxQkFBcUI7WUFnQ3JCLFVBQVU7WUFpRFYsc0JBQXNCO1lBd0J0QixnQkFBZ0I7SUFnQzlCLFVBQWdCLG9CQUFvQixDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsTUFBTSxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQStCeEU7Q0FDRiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAoB9D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAI3E,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAC;AAClF,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AAGvE,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AACtF,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAE9D,OAAO,EAAE,KAAK,SAAS,EAA2B,MAAM,aAAa,CAAC;AAEtE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAOjD,qBAAa,UAAU;IASnB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC;IAChC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;IAbhC,OAAO,CAAC,GAAG,CAAuB;IAElC,gGAAgG;IAChG,OAAO,CAAC,qBAAqB,CAAK;IAClC,sGAAsG;IACtG,OAAO,CAAC,mBAAmB,CAAC,CAAuC;IAEnE,YACmB,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,cAAc,EACtB,KAAK,EAAE,QAAQ,EACf,SAAS,EAAE,SAAS,EACpB,cAAc,CAAC,4BAAgB,EAC/B,YAAY,CAAC,6EAAU,EAKzC;IAED;;;OAGG;IACU,KAAK,IAAI,OAAO,CAAC;QAC5B,MAAM,EAAE,cAAc,CAAC;QACvB,qBAAqB,EAAE,YAAY,CAAC;QACpC,KAAK,EAAE,aAAa,GAAG,oBAAoB,CAAC;QAC5C,IAAI,EAAE,SAAS,CAAC;QAChB,SAAS,EAAE,YAAY,CAAC;KACzB,CAAC,CAQD;IAEY,QAAQ,IAAI,OAAO,CAAC;QAC/B,MAAM,EAAE,cAAc,CAAC;QACvB,qBAAqB,EAAE,YAAY,CAAC;QACpC,GAAG,EAAE,WAAW,CAAC;QACjB,MAAM,EAAE,aAAa,CAAC;QACtB,MAAM,EAAE,aAAa,CAAC;QACtB,IAAI,EAAE,SAAS,CAAC;KACjB,CAAC,CAmCD;IAED;;;;;;OAMG;IACU,eAAe,CAAC,OAAO,GAAE;QAAE,YAAY,CAAC,EAAE,OAAO,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,OAAO,CAAC;QACrG,MAAM,EAAE,cAAc,CAAC;QACvB,qBAAqB,EAAE,YAAY,CAAC;QACpC,QAAQ,EAAE,YAAY,CAAC;QACvB,IAAI,EAAE,SAAS,CAAC;QAChB,QAAQ,EAAE,wBAAwB,CAAC;QACnC,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC,CA0ED;YAEa,kBAAkB;YASlB,YAAY;YAkBZ,gBAAgB;YAahB,0BAA0B;YAe1B,UAAU;YAyCV,kBAAkB;YAalB,iBAAiB;YASjB,kBAAkB;YAQlB,gBAAgB;YAahB,eAAe;YAsEf,wBAAwB;IA2BtC,yGAAyG;IACzG,OAAO,CAAC,sBAAsB;YAchB,qBAAqB;YAgCrB,UAAU;YAiDV,sBAAsB;YAwBtB,gBAAgB;IAgC9B,UAAgB,oBAAoB,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CA+BxE;CACF"}
1
+ {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAoB9D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAI3E,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAC;AAClF,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AAGvE,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AACtF,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAE9D,OAAO,EAAE,KAAK,SAAS,EAAwD,MAAM,aAAa,CAAC;AAEnG,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAOjD,qBAAa,UAAU;IASnB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC;IAChC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;IAbhC,OAAO,CAAC,GAAG,CAAuB;IAElC,gGAAgG;IAChG,OAAO,CAAC,qBAAqB,CAAK;IAClC,sGAAsG;IACtG,OAAO,CAAC,mBAAmB,CAAC,CAAuC;IAEnE,YACmB,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,cAAc,EACtB,KAAK,EAAE,QAAQ,EACf,SAAS,EAAE,SAAS,EACpB,cAAc,CAAC,4BAAgB,EAC/B,YAAY,CAAC,6EAAU,EAKzC;IAED;;;OAGG;IACU,KAAK,IAAI,OAAO,CAAC;QAC5B,MAAM,EAAE,cAAc,CAAC;QACvB,qBAAqB,EAAE,YAAY,CAAC;QACpC,KAAK,EAAE,aAAa,GAAG,oBAAoB,CAAC;QAC5C,IAAI,EAAE,SAAS,CAAC;QAChB,SAAS,EAAE,YAAY,CAAC;KACzB,CAAC,CAQD;IAEY,QAAQ,IAAI,OAAO,CAAC;QAC/B,MAAM,EAAE,cAAc,CAAC;QACvB,qBAAqB,EAAE,YAAY,CAAC;QACpC,GAAG,EAAE,WAAW,CAAC;QACjB,MAAM,EAAE,aAAa,CAAC;QACtB,MAAM,EAAE,aAAa,CAAC;QACtB,IAAI,EAAE,SAAS,CAAC;KACjB,CAAC,CAmCD;IAED;;;;;;OAMG;IACU,eAAe,CAAC,OAAO,GAAE;QAAE,YAAY,CAAC,EAAE,OAAO,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,OAAO,CAAC;QACrG,MAAM,EAAE,cAAc,CAAC;QACvB,qBAAqB,EAAE,YAAY,CAAC;QACpC,QAAQ,EAAE,YAAY,CAAC;QACvB,IAAI,EAAE,SAAS,CAAC;QAChB,QAAQ,EAAE,wBAAwB,CAAC;QACnC,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC,CA6ED;YAEa,kBAAkB;YASlB,YAAY;YAkBZ,gBAAgB;YAahB,0BAA0B;YAe1B,UAAU;YAyCV,kBAAkB;YAalB,iBAAiB;YASjB,kBAAkB;YAQlB,gBAAgB;YAahB,eAAe;YAsEf,wBAAwB;IA2BtC,yGAAyG;IACzG,OAAO,CAAC,sBAAsB;YAchB,qBAAqB;YAgCrB,UAAU;YAiDV,sBAAsB;YAwBtB,gBAAgB;IAgC9B,UAAgB,oBAAoB,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CA+BxE;CACF"}
package/dest/factory.js CHANGED
@@ -18,7 +18,7 @@ import { AMMContract } from '@aztec-labs/noir-contracts.js/AMM';
18
18
  import { PrivateTokenContract } from '@aztec-labs/noir-contracts.js/PrivateToken';
19
19
  import { TokenContract } from '@aztec-labs/noir-contracts.js/Token';
20
20
  import { TestContract } from '@aztec-labs/noir-test-contracts.js/Test';
21
- import { SupportedTokenContracts } from './config.js';
21
+ import { DEFAULT_L1_TO_L2_SEED_COUNT, SupportedTokenContracts } from './config.js';
22
22
  import { seedL1ToL2Message } from './l1_to_l2_seeding.js';
23
23
  import { getBalances, getPrivateBalance, isStandardTokenContract } from './utils.js';
24
24
  const MINT_BALANCE = 1e12;
@@ -144,7 +144,7 @@ export class BotFactory {
144
144
  const pendingMessages = await this.store.getUnconsumedL1ToL2Messages();
145
145
  // Seed initial L1→L2 messages if pipeline is empty. The seeds are sent one at a time: they share the
146
146
  // bot's L1 account, so concurrent sends would race on the L1 nonce.
147
- const seedCount = Math.max(0, this.config.l1ToL2SeedCount - pendingMessages.length);
147
+ const seedCount = Math.max(0, (this.config.l1ToL2SeedCount ?? DEFAULT_L1_TO_L2_SEED_COUNT) - pendingMessages.length);
148
148
  const inboxAddress = EthAddress.fromString(l1ContractAddresses.inboxAddress.toString());
149
149
  for(let i = 0; i < seedCount; i++){
150
150
  await seedL1ToL2Message(l1Client, inboxAddress, contractAddress, rollupVersion, this.store, this.log);
@@ -5,7 +5,7 @@ import type { AztecNode, AztecNodeAdmin } from '@aztec-labs/stdlib/interfaces/cl
5
5
  import { type TelemetryClient } from '@aztec-labs/telemetry-client';
6
6
  import type { EmbeddedWallet } from '@aztec-labs/wallets/embedded';
7
7
  import type { BotLifecycle } from './base_bot.js';
8
- import { type BotConfig } from './config.js';
8
+ import { type BotConfig, type ResolvedBotConfig } from './config.js';
9
9
  import { type InboxBotMode } from './inbox_bot_metrics.js';
10
10
  import { type InboxL1Producer } from './inbox_l1_producer.js';
11
11
  import { type InboxL2Consumer } from './inbox_l2_consumer.js';
@@ -22,7 +22,7 @@ export interface InboxBotDeps {
22
22
  consumers: InboxL2Consumers;
23
23
  store: InboxStore;
24
24
  telemetry: TelemetryClient;
25
- config: BotConfig;
25
+ config: ResolvedBotConfig;
26
26
  dateProvider?: DateProvider;
27
27
  syncChainTip?: BlockTag;
28
28
  }
@@ -49,7 +49,7 @@ export declare class InboxBot implements BotLifecycle {
49
49
  readonly node: AztecNode;
50
50
  readonly wallet: EmbeddedWallet;
51
51
  readonly defaultAccountAddress: AztecAddress;
52
- config: BotConfig;
52
+ config: ResolvedBotConfig;
53
53
  private readonly contractAddress;
54
54
  private readonly producer;
55
55
  private readonly consumers;
@@ -68,7 +68,15 @@ export declare class InboxBot implements BotLifecycle {
68
68
  private stepInFlight;
69
69
  private consumeStepInFlight;
70
70
  private consecutiveProductionFailures;
71
- private consecutiveConsumptionFailures;
71
+ /** Consecutive consumption *polls* that threw. Reset by a poll that completes. */
72
+ private consecutivePollFailures;
73
+ /**
74
+ * Consecutive failures of asynchronous consumption work — attempts and replay probes — counted when they settle,
75
+ * whichever poll started them. Kept apart from the poll streak because a poll finishes long before the jobs it
76
+ * dispatched do: resetting one streak for both lets a bot fail one background job per poll forever without ever
77
+ * reaching the unhealthy threshold.
78
+ */
79
+ private consecutiveBackgroundFailures;
72
80
  /**
73
81
  * Consumption attempts running in the background, keyed by message id. Membership is what guarantees a message
74
82
  * never has two attempts in flight, whatever the persisted state says.
@@ -189,7 +197,24 @@ export declare class InboxBot implements BotLifecycle {
189
197
  */
190
198
  private runReplayProbe;
191
199
  private runReplayProbeInSpan;
192
- private registerConsumptionFailure;
200
+ /** Records a failure of the consumption poll itself, which a later completed poll clears. */
201
+ private registerPollFailure;
202
+ /**
203
+ * Records a failure of asynchronous consumption work. Only a background operation that actually succeeds clears
204
+ * this streak, so a job that fails once per poll still reaches the unhealthy threshold.
205
+ */
206
+ private registerBackgroundFailure;
207
+ /**
208
+ * Records that a background attempt or probe reached its expected outcome, clearing the background streak.
209
+ *
210
+ * The streak is shared by every concurrent attempt and probe on purpose, so one success clears failures from other
211
+ * jobs in flight. Health answers whether background consumption is making progress at all, not whether each job
212
+ * is: a bot with one lane succeeding still consumes messages and stays healthy, and each failure is still logged as
213
+ * an error.
214
+ */
215
+ private registerBackgroundSuccess;
216
+ /** Recomputes consumption health from both streaks, and exits if the operator asked an unhealthy bot to stop. */
217
+ private updateConsumptionHealth;
193
218
  private registerProductionFailure;
194
219
  /**
195
220
  * Exits when the operator asked an unhealthy bot to stop, mirroring `BotRunner`: a container that only fails
@@ -208,4 +233,4 @@ export declare class InboxBot implements BotLifecycle {
208
233
  private recordL1Batch;
209
234
  private recordSaturationRun;
210
235
  }
211
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5ib3hfYm90LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5ib3hfYm90LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBUW5FLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM1RCxPQUFPLEtBQUssRUFBa0IsUUFBUSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFekUsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBR3RGLE9BQU8sRUFBeUIsS0FBSyxlQUFlLEVBQWMsTUFBTSw4QkFBOEIsQ0FBQztBQUN2RyxPQUFPLEtBQUssRUFBRSxjQUFjLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUVuRSxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUNMLEtBQUssU0FBUyxFQUtmLE1BQU0sYUFBYSxDQUFDO0FBRXJCLE9BQU8sRUFTTCxLQUFLLFlBQVksRUFTbEIsTUFBTSx3QkFBd0IsQ0FBQztBQUNoQyxPQUFPLEVBQUUsS0FBSyxlQUFlLEVBQXVCLE1BQU0sd0JBQXdCLENBQUM7QUFDbkYsT0FBTyxFQUVMLEtBQUssZUFBZSxFQU1yQixNQUFNLHdCQUF3QixDQUFDO0FBWWhDLE9BQU8sRUFLTCxLQUFLLFVBQVUsRUFFaEIsTUFBTSx3QkFBd0IsQ0FBQztBQUNoQyxPQUFPLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQW1HakQsNEdBQTRHO0FBQzVHLE1BQU0sV0FBVyxZQUFZO0lBQzNCLElBQUksRUFBRSxTQUFTLENBQUM7SUFDaEIsTUFBTSxFQUFFLGNBQWMsQ0FBQztJQUN2QixxQkFBcUIsRUFBRSxZQUFZLENBQUM7SUFDcEMsMkdBQTJHO0lBQzNHLGVBQWUsRUFBRSxZQUFZLENBQUM7SUFDOUIs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
236
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5ib3hfYm90LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5ib3hfYm90LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBUW5FLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM1RCxPQUFPLEtBQUssRUFBa0IsUUFBUSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFekUsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBR3RGLE9BQU8sRUFBeUIsS0FBSyxlQUFlLEVBQWMsTUFBTSw4QkFBOEIsQ0FBQztBQUN2RyxPQUFPLEtBQUssRUFBRSxjQUFjLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUVuRSxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUNMLEtBQUssU0FBUyxFQUdkLEtBQUssaUJBQWlCLEVBR3ZCLE1BQU0sYUFBYSxDQUFDO0FBRXJCLE9BQU8sRUFTTCxLQUFLLFlBQVksRUFTbEIsTUFBTSx3QkFBd0IsQ0FBQztBQUNoQyxPQUFPLEVBQUUsS0FBSyxlQUFlLEVBQXVCLE1BQU0sd0JBQXdCLENBQUM7QUFDbkYsT0FBTyxFQUVMLEtBQUssZUFBZSxFQU1yQixNQUFNLHdCQUF3QixDQUFDO0FBWWhDLE9BQU8sRUFLTCxLQUFLLFVBQVUsRUFFaEIsTUFBTSx3QkFBd0IsQ0FBQztBQUNoQyxPQUFPLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQW1HakQsNEdBQTRHO0FBQzVHLE1BQU0sV0FBVyxZQUFZO0lBQzNCLElBQUksRUFBRSxTQUFTLENBQUM7SUFDaEIsTUFBTSxFQUFFLGNBQWMsQ0FBQztJQUN2QixxQkFBcUIsRUFBRSxZQUFZLENBQUM7SUFDcEMsMkdBQTJHO0lBQzNHLGVBQWUsRUFB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
@@ -1 +1 @@
1
- {"version":3,"file":"inbox_bot.d.ts","sourceRoot":"","sources":["../src/inbox_bot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inbox_bot.d.ts","sourceRoot":"","sources":["../src/inbox_bot.ts"],"names":[],"mappings":"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"}
package/dest/inbox_bot.js CHANGED
@@ -121,7 +121,13 @@ const INBOX_MESSAGE_ID_SPAN_ATTRIBUTE = 'aztec.bot.inbox.message_id';
121
121
  /** Guards the single L1 submission the bot allows in flight, however the step was triggered. */ stepInFlight = false;
122
122
  consumeStepInFlight = false;
123
123
  consecutiveProductionFailures = 0;
124
- consecutiveConsumptionFailures = 0;
124
+ /** Consecutive consumption *polls* that threw. Reset by a poll that completes. */ consecutivePollFailures = 0;
125
+ /**
126
+ * Consecutive failures of asynchronous consumption work — attempts and replay probes — counted when they settle,
127
+ * whichever poll started them. Kept apart from the poll streak because a poll finishes long before the jobs it
128
+ * dispatched do: resetting one streak for both lets a bot fail one background job per poll forever without ever
129
+ * reaching the unhealthy threshold.
130
+ */ consecutiveBackgroundFailures = 0;
125
131
  /**
126
132
  * Consumption attempts running in the background, keyed by message id. Membership is what guarantees a message
127
133
  * never has two attempts in flight, whatever the persisted state says.
@@ -819,10 +825,12 @@ const INBOX_MESSAGE_ID_SPAN_ATTRIBUTE = 'aztec.bot.inbox.message_id';
819
825
  ...active
820
826
  ]);
821
827
  await this.scanReplayProbes();
822
- this.consecutiveConsumptionFailures = 0;
823
- this.consumptionHealthy = true;
828
+ // Only the poll's own streak: the jobs this poll dispatched have not settled, and a poll that did nothing
829
+ // is no evidence that the background work which has been failing has recovered.
830
+ this.consecutivePollFailures = 0;
831
+ this.updateConsumptionHealth();
824
832
  } catch (err) {
825
- this.registerConsumptionFailure(err);
833
+ this.registerPollFailure(err);
826
834
  } finally{
827
835
  this.consumeStepInFlight = false;
828
836
  }
@@ -1077,9 +1085,16 @@ const INBOX_MESSAGE_ID_SPAN_ATTRIBUTE = 'aztec.bot.inbox.message_id';
1077
1085
  *
1078
1086
  * `maxPendingTxs` gates the L2 submissions this makes, the way it gates the other bots through `BotRunner`; the
1079
1087
  * node is asked only once a message is actually about to be dispatched.
1088
+ *
1089
+ * The pool count is a reading of the past: a job dispatched by this poll does not appear in it until its
1090
+ * transaction reaches the node, which is several awaits away. Availability is therefore computed once and spent
1091
+ * as jobs are launched, with every in-flight attempt counted against the cap. Attempts that have not submitted
1092
+ * yet are counted too, which is conservative in the only safe direction: until the code tracks submitted and
1093
+ * unsubmitted jobs apart, undercounting availability dispatches fewer messages, while overcounting floods a pool
1094
+ * the operator capped on purpose.
1080
1095
  */ async dispatchAttempts(candidates) {
1081
1096
  const seen = new Set();
1082
- let pendingChecked = false;
1097
+ let available;
1083
1098
  for (const candidate of candidates){
1084
1099
  if (seen.has(candidate.messageId) || this.attemptsInFlight.has(candidate.messageId)) {
1085
1100
  continue;
@@ -1098,18 +1113,29 @@ const INBOX_MESSAGE_ID_SPAN_ATTRIBUTE = 'aztec.bot.inbox.message_id';
1098
1113
  if (this.attemptsInFlight.size >= MAX_CONCURRENT_CONSUMPTION_ATTEMPTS) {
1099
1114
  return;
1100
1115
  }
1101
- if (!pendingChecked && this.config.maxPendingTxs > 0) {
1102
- pendingChecked = true;
1103
- const pendingTxCount = await this.node.getPendingTxCount();
1104
- if (pendingTxCount >= this.config.maxPendingTxs) {
1105
- this.log.debug(`Not dispatching inbox consumption attempts, the node is at its pending transaction cap`, {
1106
- pendingTxCount,
1107
- maxPendingTxs: this.config.maxPendingTxs
1116
+ if (this.config.maxPendingTxs > 0) {
1117
+ if (available === undefined) {
1118
+ const pendingTxCount = await this.node.getPendingTxCount();
1119
+ available = this.config.maxPendingTxs - pendingTxCount - this.attemptsInFlight.size;
1120
+ if (available <= 0) {
1121
+ this.log.debug(`Not dispatching inbox consumption attempts, the node is at its pending transaction cap`, {
1122
+ pendingTxCount,
1123
+ attemptsInFlight: this.attemptsInFlight.size,
1124
+ maxPendingTxs: this.config.maxPendingTxs
1125
+ });
1126
+ return;
1127
+ }
1128
+ }
1129
+ if (available <= 0) {
1130
+ this.log.debug(`Stopping inbox consumption dispatch, the pending transaction budget is spent`, {
1131
+ maxPendingTxs: this.config.maxPendingTxs,
1132
+ attemptsInFlight: this.attemptsInFlight.size
1108
1133
  });
1109
1134
  return;
1110
1135
  }
1136
+ available--;
1111
1137
  }
1112
- const job = this.runConsumptionAttempt(message).catch((err)=>this.registerConsumptionFailure(err)).finally(()=>this.attemptsInFlight.delete(message.messageId));
1138
+ const job = this.runConsumptionAttempt(message).catch((err)=>this.registerBackgroundFailure(err)).finally(()=>this.attemptsInFlight.delete(message.messageId));
1113
1139
  this.attemptsInFlight.set(message.messageId, job);
1114
1140
  }
1115
1141
  }
@@ -1178,6 +1204,7 @@ const INBOX_MESSAGE_ID_SPAN_ATTRIBUTE = 'aztec.bot.inbox.message_id';
1178
1204
  batchId: preparing.batchId,
1179
1205
  txHash: txHash.toString()
1180
1206
  });
1207
+ this.registerBackgroundSuccess();
1181
1208
  return;
1182
1209
  }
1183
1210
  this.log.verbose(`Sent inbox consumption transaction`, {
@@ -1188,6 +1215,10 @@ const INBOX_MESSAGE_ID_SPAN_ATTRIBUTE = 'aztec.bot.inbox.message_id';
1188
1215
  globalLeafIndex: sent.globalLeafIndex
1189
1216
  });
1190
1217
  await this.checkAnchorAdvanced(sent, txHash);
1218
+ // The job succeeds once the submission is recorded, not when its receipt later reaches the completion policy,
1219
+ // which can take many blocks and would let failures on either side of it add up as consecutive. It is cleared
1220
+ // only here, after every step, so a job that fails after its send still counts as failed.
1221
+ this.registerBackgroundSuccess();
1191
1222
  }
1192
1223
  /**
1193
1224
  * The wallet chooses the anchor block when it builds the transaction, which can be newer than the block the
@@ -1282,7 +1313,7 @@ const INBOX_MESSAGE_ID_SPAN_ATTRIBUTE = 'aztec.bot.inbox.message_id';
1282
1313
  });
1283
1314
  }
1284
1315
  if (reason === 'rpc') {
1285
- this.registerConsumptionFailure(err);
1316
+ this.registerBackgroundFailure(err);
1286
1317
  }
1287
1318
  }
1288
1319
  /** Polls the receipts of consumption transactions already submitted, one message at a time. */ async pollConsumptionReceipts(messages) {
@@ -1437,6 +1468,7 @@ const INBOX_MESSAGE_ID_SPAN_ATTRIBUTE = 'aztec.bot.inbox.message_id';
1437
1468
  this.readinessBackfill.set(completed.messageId, this.dateProvider.now());
1438
1469
  }
1439
1470
  await this.recordMessageMilestone(completed, 'completed');
1471
+ this.registerBackgroundSuccess();
1440
1472
  }
1441
1473
  /**
1442
1474
  * Checks that the consuming transaction's effects carry the nullifier this message's consumption must emit. A
@@ -1561,10 +1593,22 @@ const INBOX_MESSAGE_ID_SPAN_ATTRIBUTE = 'aztec.bot.inbox.message_id';
1561
1593
  this.log.warn(`Giving up on the replay probe for a batch whose nullifier never became visible`, {
1562
1594
  batchId: batch.batchId
1563
1595
  });
1596
+ // The check is recorded as failed before the batch is marked probed. Marking it probed alone would let a
1597
+ // run whose messages all reached a terminal success close as a success, with replay protection never
1598
+ // actually demonstrated.
1599
+ await this.recordCheck('replay_rejection', 'failed', {
1600
+ batchId: batch.batchId,
1601
+ messageId: spent.messageId,
1602
+ reason: 'probe_timeout'
1603
+ });
1604
+ this.recordFailure('replay_unproven', {
1605
+ batchId: batch.batchId,
1606
+ messageId: spent.messageId
1607
+ });
1564
1608
  await this.store.recordBatchProbe(batch.batchId, 'replay');
1565
1609
  continue;
1566
1610
  }
1567
- this.probesInFlight.set(batch.batchId, this.runReplayProbe(batch.batchId, spent).catch((err)=>this.registerConsumptionFailure(err)).finally(()=>this.probesInFlight.delete(batch.batchId)));
1611
+ this.probesInFlight.set(batch.batchId, this.runReplayProbe(batch.batchId, spent).catch((err)=>this.registerBackgroundFailure(err)).finally(()=>this.probesInFlight.delete(batch.batchId)));
1568
1612
  }
1569
1613
  }
1570
1614
  /**
@@ -1615,6 +1659,7 @@ const INBOX_MESSAGE_ID_SPAN_ATTRIBUTE = 'aztec.bot.inbox.message_id';
1615
1659
  mode: opposite
1616
1660
  });
1617
1661
  await this.store.recordBatchProbe(batchId, 'replay');
1662
+ this.registerBackgroundSuccess();
1618
1663
  } else {
1619
1664
  this.log.warn(`Replay probe was inconclusive; it will be tried again`, {
1620
1665
  batchId,
@@ -1637,14 +1682,40 @@ const INBOX_MESSAGE_ID_SPAN_ATTRIBUTE = 'aztec.bot.inbox.message_id';
1637
1682
  });
1638
1683
  await this.store.recordBatchProbe(batchId, 'replay');
1639
1684
  }
1640
- registerConsumptionFailure(err) {
1641
- this.consecutiveConsumptionFailures++;
1685
+ /** Records a failure of the consumption poll itself, which a later completed poll clears. */ registerPollFailure(err) {
1686
+ this.consecutivePollFailures++;
1642
1687
  this.log.error(`Inbox bot consumption step failed`, {
1643
- consecutiveFailures: this.consecutiveConsumptionFailures,
1688
+ consecutivePollFailures: this.consecutivePollFailures,
1644
1689
  err
1645
1690
  });
1646
- if (this.config.maxConsecutiveErrors > 0 && this.consecutiveConsumptionFailures >= this.config.maxConsecutiveErrors) {
1647
- this.consumptionHealthy = false;
1691
+ this.updateConsumptionHealth();
1692
+ }
1693
+ /**
1694
+ * Records a failure of asynchronous consumption work. Only a background operation that actually succeeds clears
1695
+ * this streak, so a job that fails once per poll still reaches the unhealthy threshold.
1696
+ */ registerBackgroundFailure(err) {
1697
+ this.consecutiveBackgroundFailures++;
1698
+ this.log.error(`Inbox bot background consumption work failed`, {
1699
+ consecutiveBackgroundFailures: this.consecutiveBackgroundFailures,
1700
+ err
1701
+ });
1702
+ this.updateConsumptionHealth();
1703
+ }
1704
+ /**
1705
+ * Records that a background attempt or probe reached its expected outcome, clearing the background streak.
1706
+ *
1707
+ * The streak is shared by every concurrent attempt and probe on purpose, so one success clears failures from other
1708
+ * jobs in flight. Health answers whether background consumption is making progress at all, not whether each job
1709
+ * is: a bot with one lane succeeding still consumes messages and stays healthy, and each failure is still logged as
1710
+ * an error.
1711
+ */ registerBackgroundSuccess() {
1712
+ this.consecutiveBackgroundFailures = 0;
1713
+ this.updateConsumptionHealth();
1714
+ }
1715
+ /** Recomputes consumption health from both streaks, and exits if the operator asked an unhealthy bot to stop. */ updateConsumptionHealth() {
1716
+ const limit = this.config.maxConsecutiveErrors;
1717
+ this.consumptionHealthy = limit <= 0 || this.consecutivePollFailures < limit && this.consecutiveBackgroundFailures < limit;
1718
+ if (!this.consumptionHealthy) {
1648
1719
  this.exitIfUnhealthy();
1649
1720
  }
1650
1721
  }
@@ -41,7 +41,7 @@ export type InboxBotBlockRelation = (typeof InboxBotBlockRelations)[number];
41
41
  export declare const InboxBotChecks: readonly ["unknown_message", "event_integrity", "index_match", "readiness_witness", "consumption_nullifier", "replay_rejection", "bucket_rollover"];
42
42
  export type InboxBotCheck = (typeof InboxBotChecks)[number];
43
43
  /** Bounded reason a message or batch failed. */
44
- export declare const InboxBotReasons: readonly ["l1_submission", "l1_revert", "rpc", "simulation", "l2_drop", "l2_revert", "timeout", "api_inconsistency", "invalid_witness", "invalid_consumption", "replay_accepted", "bucket_mismatch", "reorg"];
44
+ export declare const InboxBotReasons: readonly ["l1_submission", "l1_revert", "rpc", "simulation", "l2_drop", "l2_revert", "timeout", "api_inconsistency", "invalid_witness", "invalid_consumption", "replay_accepted", "replay_unproven", "bucket_mismatch", "reorg"];
45
45
  export type InboxBotReason = (typeof InboxBotReasons)[number];
46
46
  /** Chain tip a readiness check is anchored at. */
47
47
  export declare const InboxBotAnchorPolicies: readonly ["latest", "proposed", "checkpointed", "proven", "finalized"];
@@ -168,4 +168,4 @@ export declare class InboxBotMetrics {
168
168
  private messageCountSeeds;
169
169
  private checkSeeds;
170
170
  }
171
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5ib3hfYm90X21ldHJpY3MuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmJveF9ib3RfbWV0cmljcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxNQUFNLEVBQWdCLE1BQU0sNEJBQTRCLENBQUM7QUFDdkUsT0FBTyxFQVFMLEtBQUssZUFBZSxFQUNwQixLQUFLLE1BQU0sRUFHWixNQUFNLDhCQUE4QixDQUFDO0FBRXRDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FxQkc7QUFFSCwrQ0FBK0M7QUFDL0MsZUFBTyxNQUFNLGFBQWEsZ0NBQWlDLENBQUM7QUFDNUQsTUFBTSxNQUFNLFlBQVksR0FBRyxDQUFDLE9BQU8sYUFBYSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7QUFFMUQsMENBQTBDO0FBQzFDLGVBQU8sTUFBTSxpQkFBaUIsbUNBQW9DLENBQUM7QUFDbkUsTUFBTSxNQUFNLGdCQUFnQixHQUFHLENBQUMsT0FBTyxpQkFBaUIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBRWxFLCtEQUErRDtBQUMvRCxlQUFPLE1BQU0sY0FBYyxtSUFNakIsQ0FBQztBQUNYLE1BQU0sTUFBTSxhQUFhLEdBQUcsQ0FBQyxPQUFPLGNBQWMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBRTVELG1DQUFtQztBQUNuQyxlQUFPLE1BQU0sa0JBQWtCLHdGQVFyQixDQUFDO0FBQ1gsTUFBTSxNQUFNLGlCQUFpQixHQUFHLENBQUMsT0FBTyxrQkFBa0IsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBRXBFLHlGQUF5RjtBQUN6RixlQUFPLE1BQU0sc0JBQXNCLG1EQUFvRCxDQUFDO0FBQ3hGLE1BQU0sTUFBTSxxQkFBcUIsR0FBRyxDQUFDLE9BQU8sc0JBQXNCLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUU1RSw4Q0FBOEM7QUFDOUMsZUFBTyxNQUFNLGNBQWMscUpBUWpCLENBQUM7QUFDWCxNQUFN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
171
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5ib3hfYm90X21ldHJpY3MuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmJveF9ib3RfbWV0cmljcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxNQUFNLEVBQWdCLE1BQU0sNEJBQTRCLENBQUM7QUFDdkUsT0FBTyxFQVFMLEtBQUssZUFBZSxFQUNwQixLQUFLLE1BQU0sRUFHWixNQUFNLDhCQUE4QixDQUFDO0FBRXRDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FxQkc7QUFFSCwrQ0FBK0M7QUFDL0MsZUFBTyxNQUFNLGFBQWEsZ0NBQWlDLENBQUM7QUFDNUQsTUFBTSxNQUFNLFlBQVksR0FBRyxDQUFDLE9BQU8sYUFBYSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7QUFFMUQsMENBQTBDO0FBQzFDLGVBQU8sTUFBTSxpQkFBaUIsbUNBQW9DLENBQUM7QUFDbkUsTUFBTSxNQUFNLGdCQUFnQixHQUFHLENBQUMsT0FBTyxpQkFBaUIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBRWxFLCtEQUErRDtBQUMvRCxlQUFPLE1BQU0sY0FBYyxtSUFNakIsQ0FBQztBQUNYLE1BQU0sTUFBTSxhQUFhLEdBQUcsQ0FBQyxPQUFPLGNBQWMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBRTVELG1DQUFtQztBQUNuQyxlQUFPLE1BQU0sa0JBQWtCLHdGQVFyQixDQUFDO0FBQ1gsTUFBTSxNQUFNLGlCQUFpQixHQUFHLENBQUMsT0FBTyxrQkFBa0IsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBRXBFLHlGQUF5RjtBQUN6RixlQUFPLE1BQU0sc0JBQXNCLG1EQUFvRCxDQUFDO0FBQ3hGLE1BQU0sTUFBTSxxQkFBcUIsR0FBRyxDQUFDLE9BQU8sc0JBQXNCLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUU1RSw4Q0FBOEM7QUFDOUMsZUFBTyxNQUFNLGNBQWMscUpBUWpCLENBQUM7QUFDWCxNQUFN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
@@ -1 +1 @@
1
- {"version":3,"file":"inbox_bot_metrics.d.ts","sourceRoot":"","sources":["../src/inbox_bot_metrics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAQL,KAAK,eAAe,EACpB,KAAK,MAAM,EAGZ,MAAM,8BAA8B,CAAC;AAEtC;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,+CAA+C;AAC/C,eAAO,MAAM,aAAa,gCAAiC,CAAC;AAC5D,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;AAE1D,0CAA0C;AAC1C,eAAO,MAAM,iBAAiB,mCAAoC,CAAC;AACnE,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;AAElE,+DAA+D;AAC/D,eAAO,MAAM,cAAc,mIAMjB,CAAC;AACX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAE5D,mCAAmC;AACnC,eAAO,MAAM,kBAAkB,wFAQrB,CAAC;AACX,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEpE,yFAAyF;AACzF,eAAO,MAAM,sBAAsB,mDAAoD,CAAC;AACxF,MAAM,MAAM,qBAAqB,GAAG,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE5E,8CAA8C;AAC9C,eAAO,MAAM,cAAc,qJAQjB,CAAC;AACX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAE5D,gDAAgD;AAChD,eAAO,MAAM,eAAe,+MAclB,CAAC;AACX,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAE9D,kDAAkD;AAClD,eAAO,MAAM,sBAAsB,wEAAyE,CAAC;AAC7G,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE3E,4DAA4D;AAC5D,eAAO,MAAM,0BAA0B,iDAAkD,CAAC;AAC1F,MAAM,MAAM,wBAAwB,GAAG,CAAC,OAAO,0BAA0B,CAAC,CAAC,MAAM,CAAC,CAAC;AAEnF,2CAA2C;AAC3C,eAAO,MAAM,yBAAyB,6CAA8C,CAAC;AACrF,MAAM,MAAM,wBAAwB,GAAG,CAAC,OAAO,yBAAyB,CAAC,CAAC,MAAM,CAAC,CAAC;AAElF,iDAAiD;AACjD,eAAO,MAAM,8BAA8B,kCAAmC,CAAC;AAC/E,MAAM,MAAM,6BAA6B,GAAG,CAAC,OAAO,8BAA8B,CAAC,CAAC,MAAM,CAAC,CAAC;AAE5F,4CAA4C;AAC5C,eAAO,MAAM,oBAAoB,+BAAgC,CAAC;AAClE,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AAExE,yCAAyC;AACzC,eAAO,MAAM,sBAAsB,kCAAmC,CAAC;AACvE,MAAM,MAAM,qBAAqB,GAAG,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE5E,mCAAmC;AACnC,eAAO,MAAM,4BAA4B,2CAA4C,CAAC;AACtF,MAAM,MAAM,2BAA2B,GAAG,CAAC,OAAO,4BAA4B,CAAC,CAAC,MAAM,CAAC,CAAC;AAExF,0EAA0E;AAC1E,eAAO,MAAM,wBAAwB,aAAa,CAAC;AAiBnD,0DAA0D;AAC1D,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,IAAI,EAAE,YAAY,CAAC;CACpB;AAED,gEAAgE;AAChE,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,oEAAoE;IACpE,KAAK,EAAE,MAAM,CAAC;IACd,2EAA2E;IAC3E,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,2GAA2G;AAC3G,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,OAAO,CAAC;IACjB,2BAA2B,EAAE,MAAM,CAAC;IACpC,uBAAuB,EAAE,MAAM,CAAC;CACjC;AAED,8FAA8F;AAC9F,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,oBAAoB,EAAE,CAAC;IAChC,UAAU,EAAE,uBAAuB,CAAC;CACrC;AAED;;;;;;;;;GASG;AACH,qBAAa,eAAe;IA8BxB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,GAAG;IA/BtB,SAAgB,MAAM,EAAE,MAAM,CAAC;IAE/B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAQ;IAE9B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAgB;IAC7C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAY;IAC1C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAgB;IAChD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAY;IAC3C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAgB;IACjD,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAgB;IACrD,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAgB;IACxD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAgB;IAC3C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAgB;IAC7C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAgB;IAC7C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAY;IACxC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;IACtC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAgB;IAEnD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAkB;IAC/C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAkB;IACnD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAkB;IACpD,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAkB;IACxD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAkB;IACpD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAoB;IAEhD,OAAO,CAAC,SAAS,CAAC,CAAuC;IAEzD,YACE,MAAM,EAAE,eAAe,EACN,YAAY,EAAE,oBAAoB,EAClC,gBAAgB,EAAE,wBAAwB,EAC1C,GAAG,GAAE,MAA0C,EAgEjE;IAED;;;OAGG;IACI,KAAK,CAAC,SAAS,EAAE,MAAM,OAAO,CAAC,qBAAqB,CAAC,GAAG,IAAI,CAIlE;IAED,6EAA6E;IACtE,IAAI,IAAI,IAAI,CAMlB;IAED;;;OAGG;IACI,sBAAsB,CAC3B,MAAM,EAAE,qBAAqB,EAC7B,SAAS,EAAE,iBAAiB,EAC5B,aAAa,CAAC,EAAE,qBAAqB,GACpC,IAAI,CAaN;IAED;;;;OAIG;IACI,WAAW,CAChB,KAAK,EAAE,aAAa,EACpB,MAAM,EAAE;QAAE,QAAQ,EAAE,gBAAgB,CAAC;QAAC,IAAI,CAAC,EAAE,YAAY,CAAA;KAAE,EAC3D,OAAO,EAAE,MAAM,GACd,IAAI,CAmBN;IAEM,gBAAgB,CAAC,MAAM,EAAE,wBAAwB,EAAE,MAAM,EAAE,qBAAqB,GAAG,IAAI,CAM7F;IAED,6EAA6E;IACtE,sBAAsB,CAAC,MAAM,EAAE,qBAAqB,GAAG,IAAI,CAKjE;IAED,iGAAiG;IAC1F,uBAAuB,CAAC,MAAM,EAAE,qBAAqB,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAWnF;IAEM,qBAAqB,CAAC,MAAM,EAAE,6BAA6B,EAAE,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CAKpG;IAEM,wBAAwB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CAEhE;IAED,8GAA8G;IACvG,WAAW,CAAC,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,mBAAmB,GAAG,IAAI,CAS1E;IAEM,aAAa,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,CAEjD;IAED,iFAAiF;IAC1E,aAAa,CAClB,MAAM,EAAE,qBAAqB,EAC7B,QAAQ,EAAE,gBAAgB,EAC1B,IAAI,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAC9C,IAAI,CAON;IAEM,mBAAmB,CAAC,MAAM,EAAE,2BAA2B,GAAG,IAAI,CAEpE;IAED,OAAO,CAAC,OAAO,CAsBb;IAEF,OAAO,CAAC,iBAAiB;IAyBzB,OAAO,CAAC,UAAU;CAenB"}
1
+ {"version":3,"file":"inbox_bot_metrics.d.ts","sourceRoot":"","sources":["../src/inbox_bot_metrics.ts"],"names":[],"mappings":"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"}
@@ -71,6 +71,7 @@ import { Attributes, Metrics, createUpDownCounterWithDefault } from '@aztec-labs
71
71
  'invalid_witness',
72
72
  'invalid_consumption',
73
73
  'replay_accepted',
74
+ 'replay_unproven',
74
75
  'bucket_mismatch',
75
76
  'reorg'
76
77
  ];
@@ -92,6 +92,7 @@ export declare const InboxMessageRecordSchema: z.ZodObject<{
92
92
  l2_revert: "l2_revert";
93
93
  reorg: "reorg";
94
94
  replay_accepted: "replay_accepted";
95
+ replay_unproven: "replay_unproven";
95
96
  rpc: "rpc";
96
97
  simulation: "simulation";
97
98
  timeout: "timeout";
@@ -154,6 +155,7 @@ export declare const InboxBatchRecordSchema: z.ZodObject<{
154
155
  l2_revert: "l2_revert";
155
156
  reorg: "reorg";
156
157
  replay_accepted: "replay_accepted";
158
+ replay_unproven: "replay_unproven";
157
159
  rpc: "rpc";
158
160
  simulation: "simulation";
159
161
  timeout: "timeout";
@@ -357,4 +359,4 @@ export declare class InboxStore {
357
359
  private requireBatch;
358
360
  private requireMessage;
359
361
  }
360
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5ib3hfc3RvcmUuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdG9yZS9pbmJveF9zdG9yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsS0FBSyxNQUFNLEVBQWdCLE1BQU0sNEJBQTRCLENBQUM7QUFDdkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzVELE9BQU8sS0FBSyxFQUFFLGlCQUFpQixFQUFzQyxNQUFNLHNCQUFzQixDQUFDO0FBQ2xHLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFXeEIsT0FBTyxLQUFLLEVBQ1YsYUFBYSxFQUNiLGlCQUFpQixFQUNqQixZQUFZLEVBQ1osY0FBYyxFQUNkLGdCQUFnQixFQUNoQixhQUFhLEVBQ2QsTUFBTSx5QkFBeUIsQ0FBQztBQUVqQzs7Ozs7O0dBTUc7QUFDSCxlQUFPLE1BQU0sa0JBQWtCLGtIQVNyQixDQUFDO0FBQ1gsTUFBTSxNQUFNLGlCQUFpQixHQUFHLENBQUMsT0FBTyxrQkFBa0IsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBRXBFLHFDQUFxQztBQUNyQyxlQUFPLE1BQU0sMEJBQTBCLCtDQUFnRCxDQUFDO0FBQ3hGLE1BQU0sTUFBTSx5QkFBeUIsR0FBRyxDQUFDLE9BQU8sMEJBQTBCLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUVwRixnRUFBZ0U7QUFDaEUsd0JBQWdCLDJCQUEyQixDQUFDLEtBQUssRUFBRSxpQkFBaUIsR0FBRyxLQUFLLElBQUkseUJBQXlCLENBRXhHO0FBRUQ7Ozs7O0dBS0c7QUFDSCxlQUFPLE1BQU0sZ0JBQWdCLHVEQUF3RCxDQUFDO0FBQ3RGLE1BQU0sTUFBTSxlQUFlLEdBQUcsQ0FBQyxPQUFPLGdCQUFnQixDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7QUFFaEUsa0RBQWtEO0FBQ2xELGVBQU8sTUFBTSx5QkFBeUIsa0NBQW1DLENBQUM7QUFDMUUs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
362
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5ib3hfc3RvcmUuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdG9yZS9pbmJveF9zdG9yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsS0FBSyxNQUFNLEVBQWdCLE1BQU0sNEJBQTRCLENBQUM7QUFDdkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzVELE9BQU8sS0FBSyxFQUFFLGlCQUFpQixFQUFzQyxNQUFNLHNCQUFzQixDQUFDO0FBQ2xHLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFXeEIsT0FBTyxLQUFLLEVBQ1YsYUFBYSxFQUNiLGlCQUFpQixFQUNqQixZQUFZLEVBQ1osY0FBYyxFQUNkLGdCQUFnQixFQUNoQixhQUFhLEVBQ2QsTUFBTSx5QkFBeUIsQ0FBQztBQUVqQzs7Ozs7O0dBTUc7QUFDSCxlQUFPLE1BQU0sa0JBQWtCLGtIQVNyQixDQUFDO0FBQ1gsTUFBTSxNQUFNLGlCQUFpQixHQUFHLENBQUMsT0FBTyxrQkFBa0IsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBRXBFLHFDQUFxQztBQUNyQyxlQUFPLE1BQU0sMEJBQTBCLCtDQUFnRCxDQUFDO0FBQ3hGLE1BQU0sTUFBTSx5QkFBeUIsR0FBRyxDQUFDLE9BQU8sMEJBQTBCLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUVwRixnRUFBZ0U7QUFDaEUsd0JBQWdCLDJCQUEyQixDQUFDLEtBQUssRUFBRSxpQkFBaUIsR0FBRyxLQUFLLElBQUkseUJBQXlCLENBRXhHO0FBRUQ7Ozs7O0dBS0c7QUFDSCxlQUFPLE1BQU0sZ0JBQWdCLHVEQUF3RCxDQUFDO0FBQ3RGLE1BQU0sTUFBTSxlQUFlLEdBQUcsQ0FBQyxPQUFPLGdCQUFnQixDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7QUFFaEUsa0RBQWtEO0FBQ2xELGVBQU8sTUFBTSx5QkFBeUIsa0NBQW1DLENBQUM7QUFDMUUs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
@@ -1 +1 @@
1
- {"version":3,"file":"inbox_store.d.ts","sourceRoot":"","sources":["../../src/store/inbox_store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inbox_store.d.ts","sourceRoot":"","sources":["../../src/store/inbox_store.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aztec-labs/bot",
3
- "version": "6.0.0-rc.1",
3
+ "version": "6.0.0-rc.2",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": "./dest/index.js",
@@ -55,20 +55,20 @@
55
55
  ]
56
56
  },
57
57
  "dependencies": {
58
- "@aztec-foundation/l1-artifacts": "6.0.0-rc.1",
59
- "@aztec-labs/accounts": "6.0.0-rc.1",
60
- "@aztec-labs/aztec.js": "6.0.0-rc.1",
61
- "@aztec-labs/constants": "6.0.0-rc.1",
62
- "@aztec-labs/ethereum": "6.0.0-rc.1",
63
- "@aztec-labs/foundation": "6.0.0-rc.1",
64
- "@aztec-labs/kv-store": "6.0.0-rc.1",
65
- "@aztec-labs/noir-contracts.js": "6.0.0-rc.1",
66
- "@aztec-labs/noir-protocol-circuits-types": "6.0.0-rc.1",
67
- "@aztec-labs/noir-test-contracts.js": "6.0.0-rc.1",
68
- "@aztec-labs/protocol-contracts": "6.0.0-rc.1",
69
- "@aztec-labs/stdlib": "6.0.0-rc.1",
70
- "@aztec-labs/telemetry-client": "6.0.0-rc.1",
71
- "@aztec-labs/wallets": "6.0.0-rc.1",
58
+ "@aztec-foundation/l1-artifacts": "6.0.0-rc.5",
59
+ "@aztec-labs/accounts": "6.0.0-rc.2",
60
+ "@aztec-labs/aztec.js": "6.0.0-rc.2",
61
+ "@aztec-labs/constants": "6.0.0-rc.2",
62
+ "@aztec-labs/ethereum": "6.0.0-rc.2",
63
+ "@aztec-labs/foundation": "6.0.0-rc.2",
64
+ "@aztec-labs/kv-store": "6.0.0-rc.2",
65
+ "@aztec-labs/noir-contracts.js": "6.0.0-rc.2",
66
+ "@aztec-labs/noir-protocol-circuits-types": "6.0.0-rc.2",
67
+ "@aztec-labs/noir-test-contracts.js": "6.0.0-rc.2",
68
+ "@aztec-labs/protocol-contracts": "6.0.0-rc.2",
69
+ "@aztec-labs/stdlib": "6.0.0-rc.2",
70
+ "@aztec-labs/telemetry-client": "6.0.0-rc.2",
71
+ "@aztec-labs/wallets": "6.0.0-rc.2",
72
72
  "source-map-support": "^0.5.21",
73
73
  "tslib": "^2.4.0",
74
74
  "viem": "npm:@aztec/viem@2.38.3",
package/src/config.ts CHANGED
@@ -36,9 +36,12 @@ export const MAX_INBOX_MESSAGES_PER_BUCKET = MAX_L1_TO_L2_MSGS_PER_BLOCK;
36
36
  /** Largest number of messages that fit in a single Inbox bucket, plus the one that rolls it over. */
37
37
  export const MAX_INBOX_MESSAGES_PER_BATCH = MAX_INBOX_MESSAGES_PER_BUCKET + 1;
38
38
 
39
- /** Effective `l1ToL2SeedCount` for inbox mode when the operator left it at its default. */
39
+ /** Effective `l1ToL2SeedCount` for inbox mode when the operator did not set one. */
40
40
  const INBOX_DEFAULT_L1_TO_L2_SEED_COUNT = 512;
41
41
 
42
+ /** Effective `l1ToL2SeedCount` for every other mode when the operator did not set one. */
43
+ export const DEFAULT_L1_TO_L2_SEED_COUNT = 1;
44
+
42
45
  export enum SupportedTokenContracts {
43
46
  TokenContract = 'TokenContract',
44
47
  PrivateTokenContract = 'PrivateTokenContract',
@@ -97,8 +100,11 @@ export type BotConfig = {
97
100
  botMode: BotMode;
98
101
  /** Number of L2→L1 messages per tx (crosschain mode). */
99
102
  l2ToL1MessagesPerTx: number;
100
- /** Max L1→L2 messages to keep in-flight (crosschain mode). */
101
- l1ToL2SeedCount: number;
103
+ /**
104
+ * Max L1→L2 messages to keep in-flight (crosschain and inbox modes). Optional so the mode-specific default can
105
+ * tell an unset value from an explicit one; {@link applyInboxModeDefaults} resolves it.
106
+ */
107
+ l1ToL2SeedCount?: number;
102
108
  /** How many L1→L2 messages the inbox bot sends per atomic L1 batch (inbox mode). */
103
109
  inboxMessagesPerBatch: number;
104
110
  /** Which L2 domain the inbox bot consumes its messages through (inbox mode). */
@@ -136,7 +142,7 @@ export const BotConfigSchema = zodFor<BotConfig>()(
136
142
  stopWhenUnhealthy: z.boolean(),
137
143
  botMode: z.enum(BotMode).default('transfer'),
138
144
  l2ToL1MessagesPerTx: z.number().int().nonnegative().default(1),
139
- l1ToL2SeedCount: z.number().int().nonnegative().default(1),
145
+ l1ToL2SeedCount: z.number().int().nonnegative().optional(),
140
146
  inboxMessagesPerBatch: z.number().int().min(1).max(MAX_INBOX_MESSAGES_PER_BATCH).default(4),
141
147
  inboxConsumeMode: z.enum(BotInboxConsumeMode).default('mixed'),
142
148
  inboxSaturationIntervalSeconds: z.number().int().nonnegative().default(86400),
@@ -317,8 +323,10 @@ export const botConfigMappings: ConfigMappingsType<BotConfig> = {
317
323
  },
318
324
  l1ToL2SeedCount: {
319
325
  env: 'BOT_L1_TO_L2_SEED_COUNT',
320
- description: 'Max L1→L2 messages to keep in-flight (crosschain and inbox modes)',
321
- ...numberConfigHelper(1),
326
+ description:
327
+ 'Max L1→L2 messages to keep in-flight (crosschain and inbox modes). Defaults to ' +
328
+ `${DEFAULT_L1_TO_L2_SEED_COUNT}, or ${INBOX_DEFAULT_L1_TO_L2_SEED_COUNT} in inbox mode.`,
329
+ ...optionalNumberConfigHelper(),
322
330
  },
323
331
  inboxMessagesPerBatch: {
324
332
  env: 'BOT_INBOX_MESSAGES_PER_BATCH',
@@ -354,24 +362,20 @@ export function getBotDefaultConfig(): BotConfig {
354
362
  return getDefaultConfig<BotConfig>(botConfigMappings);
355
363
  }
356
364
 
365
+ /** A {@link BotConfig} whose mode-dependent defaults have been resolved, so consumers read plain values. */
366
+ export type ResolvedBotConfig = BotConfig & { l1ToL2SeedCount: number };
367
+
357
368
  /**
358
- * Returns the config with inbox-mode effective defaults applied. Other modes are returned untouched, so
359
- * `getBotDefaultConfig()` and the transfer/amm/crosschain paths are unaffected.
369
+ * Returns the config with mode-dependent defaults applied.
360
370
  *
361
- * Inbox mode needs a far larger outstanding-message allowance than crosschain's single in-flight message.
362
- * `BotConfig` has no representation for "unset", so a field still equal to its `getBotDefaultConfig()` value is
363
- * taken to have been left alone and gets the inbox default; any other value is the operator's and wins.
371
+ * Inbox mode needs a far larger outstanding-message allowance than crosschain's single in-flight message. The
372
+ * default is applied from the absence of a value rather than from it matching the general default: an operator who
373
+ * explicitly asks for one in-flight message in inbox mode gets one, and is then told by
374
+ * {@link assertValidInboxConfig} that it cannot drive a batch, instead of silently running with 512.
364
375
  */
365
- export function applyInboxModeDefaults(config: BotConfig): BotConfig {
366
- if (config.botMode !== 'inbox') {
367
- return config;
368
- }
369
- const defaults = getBotDefaultConfig();
370
- return {
371
- ...config,
372
- l1ToL2SeedCount:
373
- config.l1ToL2SeedCount === defaults.l1ToL2SeedCount ? INBOX_DEFAULT_L1_TO_L2_SEED_COUNT : config.l1ToL2SeedCount,
374
- };
376
+ export function applyInboxModeDefaults(config: BotConfig): ResolvedBotConfig {
377
+ const modeDefault = config.botMode === 'inbox' ? INBOX_DEFAULT_L1_TO_L2_SEED_COUNT : DEFAULT_L1_TO_L2_SEED_COUNT;
378
+ return { ...config, l1ToL2SeedCount: config.l1ToL2SeedCount ?? modeDefault };
375
379
  }
376
380
 
377
381
  /**
@@ -399,14 +403,15 @@ export function assertValidInboxConfig(config: BotConfig): void {
399
403
  `Inbox bot requires a nonnegative integer inboxSaturationIntervalSeconds (got ${config.inboxSaturationIntervalSeconds})`,
400
404
  );
401
405
  }
402
- if (config.l1ToL2SeedCount < config.inboxMessagesPerBatch) {
406
+ const l1ToL2SeedCount = config.l1ToL2SeedCount ?? INBOX_DEFAULT_L1_TO_L2_SEED_COUNT;
407
+ if (l1ToL2SeedCount < config.inboxMessagesPerBatch) {
403
408
  throw new Error(
404
- `Inbox bot requires l1ToL2SeedCount (${config.l1ToL2SeedCount}) to be at least inboxMessagesPerBatch (${config.inboxMessagesPerBatch}), otherwise the outstanding-message cap blocks production`,
409
+ `Inbox bot requires l1ToL2SeedCount (${l1ToL2SeedCount}) to be at least inboxMessagesPerBatch (${config.inboxMessagesPerBatch}), otherwise the outstanding-message cap blocks production`,
405
410
  );
406
411
  }
407
- if (config.inboxSaturationIntervalSeconds > 0 && config.l1ToL2SeedCount < MAX_INBOX_MESSAGES_PER_BATCH) {
412
+ if (config.inboxSaturationIntervalSeconds > 0 && l1ToL2SeedCount < MAX_INBOX_MESSAGES_PER_BATCH) {
408
413
  throw new Error(
409
- `Inbox bot with saturation enabled requires l1ToL2SeedCount to be at least ${MAX_INBOX_MESSAGES_PER_BATCH} (got ${config.l1ToL2SeedCount}), otherwise a saturation batch can never fit under the outstanding-message cap`,
414
+ `Inbox bot with saturation enabled requires l1ToL2SeedCount to be at least ${MAX_INBOX_MESSAGES_PER_BATCH} (got ${l1ToL2SeedCount}), otherwise a saturation batch can never fit under the outstanding-message cap`,
410
415
  );
411
416
  }
412
417
  }
@@ -36,7 +36,7 @@ import type { AztecNode, AztecNodeAdmin } from '@aztec-labs/stdlib/interfaces/cl
36
36
  import type { EmbeddedWallet } from '@aztec-labs/wallets/embedded';
37
37
 
38
38
  import { BaseBot } from './base_bot.js';
39
- import type { BotConfig } from './config.js';
39
+ import { type BotConfig, DEFAULT_L1_TO_L2_SEED_COUNT } from './config.js';
40
40
  import { BotFactory } from './factory.js';
41
41
  import { seedL1ToL2Message } from './l1_to_l2_seeding.js';
42
42
  import type { BotStore, PendingL1ToL2Message } from './store/index.js';
@@ -101,7 +101,10 @@ export class CrossChainBot extends BaseBot {
101
101
  const pendingMessages = await this.store.getUnconsumedL1ToL2Messages();
102
102
 
103
103
  // Send an L1→L2 message if we're below the threshold and not already seeding one
104
- if (pendingMessages.length < this.config.l1ToL2SeedCount && !this.pendingSeedPromise) {
104
+ if (
105
+ pendingMessages.length < (this.config.l1ToL2SeedCount ?? DEFAULT_L1_TO_L2_SEED_COUNT) &&
106
+ !this.pendingSeedPromise
107
+ ) {
105
108
  this.pendingSeedPromise = this.seedNewL1ToL2Message()
106
109
  .catch(err => this.log.warn(`Failed to seed L1→L2 message: ${err}`, logCtx))
107
110
  .finally(() => {
package/src/factory.ts CHANGED
@@ -33,7 +33,7 @@ import type { ContractInstanceWithAddress } from '@aztec-labs/stdlib/contract';
33
33
  import type { AztecNode, AztecNodeAdmin } from '@aztec-labs/stdlib/interfaces/client';
34
34
  import { EmbeddedWallet } from '@aztec-labs/wallets/embedded';
35
35
 
36
- import { type BotConfig, SupportedTokenContracts } from './config.js';
36
+ import { type BotConfig, DEFAULT_L1_TO_L2_SEED_COUNT, SupportedTokenContracts } from './config.js';
37
37
  import { seedL1ToL2Message } from './l1_to_l2_seeding.js';
38
38
  import type { BotStore } from './store/index.js';
39
39
  import { getBalances, getPrivateBalance, isStandardTokenContract } from './utils.js';
@@ -183,7 +183,10 @@ export class BotFactory {
183
183
 
184
184
  // Seed initial L1→L2 messages if pipeline is empty. The seeds are sent one at a time: they share the
185
185
  // bot's L1 account, so concurrent sends would race on the L1 nonce.
186
- const seedCount = Math.max(0, this.config.l1ToL2SeedCount - pendingMessages.length);
186
+ const seedCount = Math.max(
187
+ 0,
188
+ (this.config.l1ToL2SeedCount ?? DEFAULT_L1_TO_L2_SEED_COUNT) - pendingMessages.length,
189
+ );
187
190
  const inboxAddress = EthAddress.fromString(l1ContractAddresses.inboxAddress.toString());
188
191
  for (let i = 0; i < seedCount; i++) {
189
192
  await seedL1ToL2Message(l1Client, inboxAddress, contractAddress, rollupVersion, this.store, this.log);
package/src/inbox_bot.ts CHANGED
@@ -20,6 +20,7 @@ import {
20
20
  type BotConfig,
21
21
  MAX_INBOX_MESSAGES_PER_BATCH,
22
22
  MAX_INBOX_MESSAGES_PER_BUCKET,
23
+ type ResolvedBotConfig,
23
24
  applyInboxModeDefaults,
24
25
  assertValidInboxConfig,
25
26
  } from './config.js';
@@ -182,7 +183,7 @@ export interface InboxBotDeps {
182
183
  consumers: InboxL2Consumers;
183
184
  store: InboxStore;
184
185
  telemetry: TelemetryClient;
185
- config: BotConfig;
186
+ config: ResolvedBotConfig;
186
187
  dateProvider?: DateProvider;
187
188
  syncChainTip?: BlockTag;
188
189
  }
@@ -213,7 +214,7 @@ export class InboxBot implements BotLifecycle {
213
214
  public readonly node: AztecNode;
214
215
  public readonly wallet: EmbeddedWallet;
215
216
  public readonly defaultAccountAddress: AztecAddress;
216
- public config: BotConfig;
217
+ public config: ResolvedBotConfig;
217
218
 
218
219
  private readonly contractAddress: AztecAddress;
219
220
  private readonly producer: InboxL1Producer;
@@ -235,7 +236,15 @@ export class InboxBot implements BotLifecycle {
235
236
  private stepInFlight = false;
236
237
  private consumeStepInFlight = false;
237
238
  private consecutiveProductionFailures = 0;
238
- private consecutiveConsumptionFailures = 0;
239
+ /** Consecutive consumption *polls* that threw. Reset by a poll that completes. */
240
+ private consecutivePollFailures = 0;
241
+ /**
242
+ * Consecutive failures of asynchronous consumption work — attempts and replay probes — counted when they settle,
243
+ * whichever poll started them. Kept apart from the poll streak because a poll finishes long before the jobs it
244
+ * dispatched do: resetting one streak for both lets a bot fail one background job per poll forever without ever
245
+ * reaching the unhealthy threshold.
246
+ */
247
+ private consecutiveBackgroundFailures = 0;
239
248
  /**
240
249
  * Consumption attempts running in the background, keyed by message id. Membership is what guarantees a message
241
250
  * never has two attempts in flight, whatever the persisted state says.
@@ -999,10 +1008,12 @@ export class InboxBot implements BotLifecycle {
999
1008
  await this.dispatchAttempts([...observed, ...active]);
1000
1009
  await this.scanReplayProbes();
1001
1010
 
1002
- this.consecutiveConsumptionFailures = 0;
1003
- this.consumptionHealthy = true;
1011
+ // Only the poll's own streak: the jobs this poll dispatched have not settled, and a poll that did nothing
1012
+ // is no evidence that the background work which has been failing has recovered.
1013
+ this.consecutivePollFailures = 0;
1014
+ this.updateConsumptionHealth();
1004
1015
  } catch (err) {
1005
- this.registerConsumptionFailure(err);
1016
+ this.registerPollFailure(err);
1006
1017
  } finally {
1007
1018
  this.consumeStepInFlight = false;
1008
1019
  }
@@ -1233,10 +1244,17 @@ export class InboxBot implements BotLifecycle {
1233
1244
  *
1234
1245
  * `maxPendingTxs` gates the L2 submissions this makes, the way it gates the other bots through `BotRunner`; the
1235
1246
  * node is asked only once a message is actually about to be dispatched.
1247
+ *
1248
+ * The pool count is a reading of the past: a job dispatched by this poll does not appear in it until its
1249
+ * transaction reaches the node, which is several awaits away. Availability is therefore computed once and spent
1250
+ * as jobs are launched, with every in-flight attempt counted against the cap. Attempts that have not submitted
1251
+ * yet are counted too, which is conservative in the only safe direction: until the code tracks submitted and
1252
+ * unsubmitted jobs apart, undercounting availability dispatches fewer messages, while overcounting floods a pool
1253
+ * the operator capped on purpose.
1236
1254
  */
1237
1255
  private async dispatchAttempts(candidates: InboxMessageRecord[]): Promise<void> {
1238
1256
  const seen = new Set<string>();
1239
- let pendingChecked = false;
1257
+ let available: number | undefined;
1240
1258
  for (const candidate of candidates) {
1241
1259
  if (seen.has(candidate.messageId) || this.attemptsInFlight.has(candidate.messageId)) {
1242
1260
  continue;
@@ -1256,19 +1274,30 @@ export class InboxBot implements BotLifecycle {
1256
1274
  if (this.attemptsInFlight.size >= MAX_CONCURRENT_CONSUMPTION_ATTEMPTS) {
1257
1275
  return;
1258
1276
  }
1259
- if (!pendingChecked && this.config.maxPendingTxs > 0) {
1260
- pendingChecked = true;
1261
- const pendingTxCount = await this.node.getPendingTxCount();
1262
- if (pendingTxCount >= this.config.maxPendingTxs) {
1263
- this.log.debug(`Not dispatching inbox consumption attempts, the node is at its pending transaction cap`, {
1264
- pendingTxCount,
1277
+ if (this.config.maxPendingTxs > 0) {
1278
+ if (available === undefined) {
1279
+ const pendingTxCount = await this.node.getPendingTxCount();
1280
+ available = this.config.maxPendingTxs - pendingTxCount - this.attemptsInFlight.size;
1281
+ if (available <= 0) {
1282
+ this.log.debug(`Not dispatching inbox consumption attempts, the node is at its pending transaction cap`, {
1283
+ pendingTxCount,
1284
+ attemptsInFlight: this.attemptsInFlight.size,
1285
+ maxPendingTxs: this.config.maxPendingTxs,
1286
+ });
1287
+ return;
1288
+ }
1289
+ }
1290
+ if (available <= 0) {
1291
+ this.log.debug(`Stopping inbox consumption dispatch, the pending transaction budget is spent`, {
1265
1292
  maxPendingTxs: this.config.maxPendingTxs,
1293
+ attemptsInFlight: this.attemptsInFlight.size,
1266
1294
  });
1267
1295
  return;
1268
1296
  }
1297
+ available--;
1269
1298
  }
1270
1299
  const job = this.runConsumptionAttempt(message)
1271
- .catch(err => this.registerConsumptionFailure(err))
1300
+ .catch(err => this.registerBackgroundFailure(err))
1272
1301
  .finally(() => this.attemptsInFlight.delete(message.messageId));
1273
1302
  this.attemptsInFlight.set(message.messageId, job);
1274
1303
  }
@@ -1340,6 +1369,7 @@ export class InboxBot implements BotLifecycle {
1340
1369
  batchId: preparing.batchId,
1341
1370
  txHash: txHash.toString(),
1342
1371
  });
1372
+ this.registerBackgroundSuccess();
1343
1373
  return;
1344
1374
  }
1345
1375
  this.log.verbose(`Sent inbox consumption transaction`, {
@@ -1350,6 +1380,10 @@ export class InboxBot implements BotLifecycle {
1350
1380
  globalLeafIndex: sent.globalLeafIndex,
1351
1381
  });
1352
1382
  await this.checkAnchorAdvanced(sent, txHash);
1383
+ // The job succeeds once the submission is recorded, not when its receipt later reaches the completion policy,
1384
+ // which can take many blocks and would let failures on either side of it add up as consecutive. It is cleared
1385
+ // only here, after every step, so a job that fails after its send still counts as failed.
1386
+ this.registerBackgroundSuccess();
1353
1387
  }
1354
1388
 
1355
1389
  /**
@@ -1448,7 +1482,7 @@ export class InboxBot implements BotLifecycle {
1448
1482
  await this.store.transitionMessageFrom(message.messageId, ['preparing'], waiting, { attempts });
1449
1483
  }
1450
1484
  if (reason === 'rpc') {
1451
- this.registerConsumptionFailure(err);
1485
+ this.registerBackgroundFailure(err);
1452
1486
  }
1453
1487
  }
1454
1488
 
@@ -1602,6 +1636,7 @@ export class InboxBot implements BotLifecycle {
1602
1636
  this.readinessBackfill.set(completed.messageId, this.dateProvider.now());
1603
1637
  }
1604
1638
  await this.recordMessageMilestone(completed, 'completed');
1639
+ this.registerBackgroundSuccess();
1605
1640
  }
1606
1641
 
1607
1642
  /**
@@ -1746,13 +1781,22 @@ export class InboxBot implements BotLifecycle {
1746
1781
  this.log.warn(`Giving up on the replay probe for a batch whose nullifier never became visible`, {
1747
1782
  batchId: batch.batchId,
1748
1783
  });
1784
+ // The check is recorded as failed before the batch is marked probed. Marking it probed alone would let a
1785
+ // run whose messages all reached a terminal success close as a success, with replay protection never
1786
+ // actually demonstrated.
1787
+ await this.recordCheck('replay_rejection', 'failed', {
1788
+ batchId: batch.batchId,
1789
+ messageId: spent.messageId,
1790
+ reason: 'probe_timeout',
1791
+ });
1792
+ this.recordFailure('replay_unproven', { batchId: batch.batchId, messageId: spent.messageId });
1749
1793
  await this.store.recordBatchProbe(batch.batchId, 'replay');
1750
1794
  continue;
1751
1795
  }
1752
1796
  this.probesInFlight.set(
1753
1797
  batch.batchId,
1754
1798
  this.runReplayProbe(batch.batchId, spent)
1755
- .catch(err => this.registerConsumptionFailure(err))
1799
+ .catch(err => this.registerBackgroundFailure(err))
1756
1800
  .finally(() => this.probesInFlight.delete(batch.batchId)),
1757
1801
  );
1758
1802
  }
@@ -1804,6 +1848,7 @@ export class InboxBot implements BotLifecycle {
1804
1848
  if (isAlreadyNullifiedError(err)) {
1805
1849
  await this.recordCheck('replay_rejection', 'passed', { batchId, messageId: message.messageId, mode: opposite });
1806
1850
  await this.store.recordBatchProbe(batchId, 'replay');
1851
+ this.registerBackgroundSuccess();
1807
1852
  } else {
1808
1853
  this.log.warn(`Replay probe was inconclusive; it will be tried again`, {
1809
1854
  batchId,
@@ -1820,17 +1865,48 @@ export class InboxBot implements BotLifecycle {
1820
1865
  await this.store.recordBatchProbe(batchId, 'replay');
1821
1866
  }
1822
1867
 
1823
- private registerConsumptionFailure(err: unknown): void {
1824
- this.consecutiveConsumptionFailures++;
1868
+ /** Records a failure of the consumption poll itself, which a later completed poll clears. */
1869
+ private registerPollFailure(err: unknown): void {
1870
+ this.consecutivePollFailures++;
1825
1871
  this.log.error(`Inbox bot consumption step failed`, {
1826
- consecutiveFailures: this.consecutiveConsumptionFailures,
1872
+ consecutivePollFailures: this.consecutivePollFailures,
1827
1873
  err,
1828
1874
  });
1829
- if (
1830
- this.config.maxConsecutiveErrors > 0 &&
1831
- this.consecutiveConsumptionFailures >= this.config.maxConsecutiveErrors
1832
- ) {
1833
- this.consumptionHealthy = false;
1875
+ this.updateConsumptionHealth();
1876
+ }
1877
+
1878
+ /**
1879
+ * Records a failure of asynchronous consumption work. Only a background operation that actually succeeds clears
1880
+ * this streak, so a job that fails once per poll still reaches the unhealthy threshold.
1881
+ */
1882
+ private registerBackgroundFailure(err: unknown): void {
1883
+ this.consecutiveBackgroundFailures++;
1884
+ this.log.error(`Inbox bot background consumption work failed`, {
1885
+ consecutiveBackgroundFailures: this.consecutiveBackgroundFailures,
1886
+ err,
1887
+ });
1888
+ this.updateConsumptionHealth();
1889
+ }
1890
+
1891
+ /**
1892
+ * Records that a background attempt or probe reached its expected outcome, clearing the background streak.
1893
+ *
1894
+ * The streak is shared by every concurrent attempt and probe on purpose, so one success clears failures from other
1895
+ * jobs in flight. Health answers whether background consumption is making progress at all, not whether each job
1896
+ * is: a bot with one lane succeeding still consumes messages and stays healthy, and each failure is still logged as
1897
+ * an error.
1898
+ */
1899
+ private registerBackgroundSuccess(): void {
1900
+ this.consecutiveBackgroundFailures = 0;
1901
+ this.updateConsumptionHealth();
1902
+ }
1903
+
1904
+ /** Recomputes consumption health from both streaks, and exits if the operator asked an unhealthy bot to stop. */
1905
+ private updateConsumptionHealth(): void {
1906
+ const limit = this.config.maxConsecutiveErrors;
1907
+ this.consumptionHealthy =
1908
+ limit <= 0 || (this.consecutivePollFailures < limit && this.consecutiveBackgroundFailures < limit);
1909
+ if (!this.consumptionHealthy) {
1834
1910
  this.exitIfUnhealthy();
1835
1911
  }
1836
1912
  }
@@ -95,6 +95,7 @@ export const InboxBotReasons = [
95
95
  'invalid_witness',
96
96
  'invalid_consumption',
97
97
  'replay_accepted',
98
+ 'replay_unproven',
98
99
  'bucket_mismatch',
99
100
  'reorg',
100
101
  ] as const;