Skip to content

Add new level FlashQuorum - #863

Open
mivgubel wants to merge 3 commits into
OpenZeppelin:masterfrom
mivgubel:feat/flashquorum-level
Open

mivgubel wants to merge 3 commits into
OpenZeppelin:masterfrom
mivgubel:feat/flashquorum-level

Conversation

@mivgubel

@mivgubel mivgubel commented Sep 25, 2026 •

Copy link
Copy Markdown

Summary

New level: FlashQuorum.

What's included

  • FlashQuorumFactory.sol / FlashQuorum.sol / FlashQuorumToken.sol (level contracts)
  • src/attacks/FlashQuorumAttack.sol
  • test/levels/FlashQuorum.t.sol (testInit + testSolve)
  • Description + completion markdown in en, es, and pt_br
  • gamedata.json entry (deployId 43)
  • authors.json entry
  • Level43.svg / BigLevel43.svg level icon, matching the existing icon system

mivgubel and others added 2 commits September 23, 2026 18:13
New Ethernaut level, solvable by deploying a small helper contract.
See the level's own description and completion write-up (shown
in-game before and after solving) for the vulnerability and the
solve path.

Includes FlashQuorumFactory.sol / FlashQuorum.sol / FlashQuorumToken.sol,
src/attacks/FlashQuorumAttack.sol, a Foundry test, description and
completion markdown in en/es/pt_br, a gamedata.json entry (deployId
43), an authors.json entry, and a level icon matching the existing
icon system.

Verified with forge test (full suite passes), forge build --sizes,
and a manual playthrough against a local deployment with a real
wallet connection: created an instance, deployed and used the helper
contract, submitted the instance, and confirmed the completed state
renders correctly in the UI.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
The instance contract's source is shown to players before they solve
the level (revealCode: true). Its NatSpec comment explained the
vulnerability outright, and the token contract's comment over-narrated
the flash loan mechanics in similarly exploit-oriented terms. Both
trimmed to purely functional comments.

Also reworked the description (en/es/pt_br): dropped the sentence
introducing flash loans plus two hints that, combined, stated the
vulnerability almost as directly as the completion write-up. The
level stays solvable: the fee/contract hints (and the token's own
public interface) are still enough to find the mechanism. Fixed an
inconsistency in the process ("you start with none of it" vs. "a
small starting balance" in the same description).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@mivgubel mivgubel changed the title Add FlashQuorum level (flash loan governance quorum) Add new level FlashQuorum Sep 25, 2026
Drops the last hint in en/es/pt_br that told the player a helper
contract was required and why. The description no longer points at
the mechanism at all; the player has to find it themselves.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
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