Skip to content

fix(hindsight): honor BLOCKLIST_CONFIG in the monitor - #322

Open
kayibal wants to merge 1 commit into
mainfrom
fix/monitor-blocklist
Open

fix(hindsight): honor BLOCKLIST_CONFIG in the monitor#322
kayibal wants to merge 1 commit into
mainfrom
fix/monitor-blocklist

Conversation

@kayibal

@kayibal kayibal commented Jul 17, 2026

Copy link
Copy Markdown
Contributor

The hindsight monitor never read the blocklist. fynd serve declares --blocklist-config (env BLOCKLIST_CONFIG) and wires it into the feed, but MonitorArgs had no such flag — clap only binds declared env vars, so the prod deployment's mounted /app/blocklist.toml and BLOCKLIST_CONFIG env var were silently ignored. Observed live: blocklisted pools (curve tricrypto2 among them) streaming into the monitor's market and logging spot-price warnings.

This adds --blocklist-config to the monitor with the same semantics as serve: load the TOML when set, fall back to tycho-simulation's embedded default blocklist when unset. The existing prod helm config (env + ConfigMap mount) starts working with zero changes once this deploys.

Related: helm-configuration#783 removes the temp Curve entries from that blocklist (obsolete since 0.90.3's curve_filter); the remaining entries (AMPL, Fluid Lite, "Dollars" pools) only take effect with this fix.

🤖 Generated with Claude Code

The monitor never read the blocklist: fynd serve declares
--blocklist-config (env BLOCKLIST_CONFIG) and passes it to the builder,
but MonitorArgs had no such flag, so the deployment's mounted
blocklist.toml and env var were silently ignored — blocklisted pools
(e.g. curve tricrypto2) streamed anyway. Add the flag with the same
semantics as serve: load the TOML when set, fall back to
tycho-simulation's embedded default blocklist otherwise.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

@tamaralipows tamaralipows left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you!

Some(path) => fynd_rpc::config::BlocklistConfig::load_from_file(path)
.map_err(|e| anyhow::anyhow!("failed to load blocklist config: {e}"))?
.into_components(),
None => tycho_simulation::utils::default_blocklist(),

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

tycho-simulation already auto-applies the default blocklist so you do not need to explicitly do it here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants