Skip to content

fix(safe): also accept proposedByDelegate when filtering pending txs#236

Merged
spalen0 merged 2 commits into
mainfrom
fix/safe-alert-noise-and-markdown
May 23, 2026
Merged

fix(safe): also accept proposedByDelegate when filtering pending txs#236
spalen0 merged 2 commits into
mainfrom
fix/safe-alert-noise-and-markdown

Conversation

@spalen0
Copy link
Copy Markdown
Collaborator

@spalen0 spalen0 commented May 23, 2026

Summary

The proposer-based noise filter only checked tx[\"proposer\"]. When a delegate proposes on behalf of a human signer, the human address ends up in proposer and only proposedByDelegate is stable across humans — so every new signer alerts once, even when the delegate is already on the trusted list. Concrete example: Strategist Multisig mainnet nonce 3250 alerted because proposer = 0xFafFb75e… (a human) while the bot was proposedByDelegate = 0xcE434267….

Filter now matches on either proposer or proposedByDelegate. The Strategist delegate is already in YEARN_EXPECTED_PROPOSERS on main (added via the same refactor that swapped bots), so once this lands, nonce 3250 and similar pending txs get auto-skipped.

Markdown-escape fixes from the original commit on this branch are now redundant with #234 and have been dropped on rebase.

Test plan

  • Lint + format pass (uv run ruff check . / uv run ruff format --check .).
  • Next scheduled Monitor Safe Multisigs run shows INFO safe: Skipping nonce 3250 on 0x16388463… — proposed by expected address 0xce434267… instead of firing an alert.

🤖 Generated with Claude Code

The proposer-based noise filter only checked tx["proposer"]. When a
delegate proposes on behalf of a human signer, the human ends up in
"proposer" and only "proposedByDelegate" is stable across humans, so
every new signer alerted once even though the delegate was already
trusted. Filter now matches on either field.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@spalen0 spalen0 force-pushed the fix/safe-alert-noise-and-markdown branch from 259d907 to 8878ebf Compare May 23, 2026 12:56
@spalen0 spalen0 changed the title fix(safe): escape markdown in alerts and accept delegate proposers fix(safe): also accept proposedByDelegate when filtering pending txs May 23, 2026
Comment in addresses.py says values must be lowercase, but nothing
enforces it. Normalize once when reading so a stray checksummed entry
won't silently break the filter.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@spalen0 spalen0 merged commit b811a23 into main May 23, 2026
2 checks passed
@spalen0 spalen0 deleted the fix/safe-alert-noise-and-markdown branch May 23, 2026 13:19
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.

1 participant