Conversation
Contributor
|
All contributors have signed the CLA ✍️ ✅ |
New Ethernaut level, solvable via direct calls from an EOA. 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 GhostVaultFactory.sol / GhostVault.sol, a Foundry test, description and completion markdown in en/es/pt_br, a gamedata.json entry (deployId 41), 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, solved it, submitted it, and confirmed the completed state renders correctly in the UI. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
mivgubel
force-pushed
the
feat/ghost-vault-level
branch
from
September 24, 2026 00:13
6276cf7 to
c27a801
Compare
Author
|
I confirm that I have read and hereby agree to the OpenZeppelin Contributor License Agreement |
The instance contract's source is shown to players before they solve the level (revealCode: true). Its NatSpec comments explained the vulnerability outright, down to naming it and stating the exact root cause. Trimmed to purely functional comments; the explanation belongs in the completion write-up, which only shows after solving. Also trimmed the factory's comment to drop narrative framing while keeping the technical rationale for why the trigger is separate from validateInstance. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
New level: GhostVault learning about bugs in ERC-4626 vaults.
What's included
GhostVaultFactory.sol/GhostVault.sol(level contracts)test/levels/GhostVault.t.sol(testInit + testSolve)en,es, andpt_brgamedata.jsonentry (deployId 41)authors.jsonentryLevel41.svg/BigLevel41.svglevel icon, matching the existing icon system (dark tile, cream line art, corner number badge)