Skip to content

Cleanup pass + add Addresses.removeAddress - #99

Merged
ElliotFriedman merged 10 commits into
mainfrom
feat/cleanup
Aug 10, 2026
Merged

ElliotFriedman merged 10 commits into
mainfrom
feat/cleanup

Conversation

@ElliotFriedman

Copy link
Copy Markdown
Contributor

Summary

  • General formatting/cleanup pass across proposal contracts and tests (removes CrossChainProposal.sol, alphabetizes/reformats several files) — prior commits on this branch.
  • Adds removeAddress (+ resetRemovedAddresses / getRemovedAddresses) to Addresses/IAddresses, mirroring the existing add/change tracking pattern, so entries can be removed from the registry and the on-disk json.
  • Fixes test_checkAddressFileUpdate, which was failing with Address with name: TEST1 already set on chain: 11155111. Root cause: the test calls updateJson(), which writes straight to the real addresses/*.json files (no sandboxing), so its TEST1/TEST2/TEST3 fixtures were being permanently baked into the committed files on every run, breaking the next run. The test now calls removeAddress + updateJson() as teardown to undo its own writes.

Test plan

  • forge build — compiles cleanly
  • forge test — 62/62 passing, including test_checkAddressFileUpdate re-run twice back-to-back with no leftover state in addresses/*.json
  • New unit tests for removeAddress success/revert paths and getRemovedAddresses/resetRemovedAddresses

🤖 Generated with Claude Code

ElliotFriedman and others added 10 commits August 9, 2026 16:15
Signed-off-by: Elliot <elliotfriedman3@gmail.com>
Implements removeAddress/resetRemovedAddresses/getRemovedAddresses on
Addresses and IAddresses, mirroring the existing add/change tracking
pattern. This gives callers a way to undo address entries (and the
corresponding entry in the on-disk json via updateJson()).

test_checkAddressFileUpdate now calls removeAddress + updateJson() as
teardown so it no longer permanently writes its TEST1/TEST2/TEST3
fixtures into the committed addresses/*.json files, which was causing
it to fail on repeat runs with "Address with name: TEST1 already set
on chain: 11155111".

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
The project's LICENSE and README both declare Forge Proposal Simulator
as MIT licensed, but several files carried GPL-3.0-or-later or
BSD-3-Clause SPDX headers (or none at all). Normalize every non-vendored
.sol file to MIT to match the project's actual, declared license and
make it fully permissive/open source.

Vendored dependencies under lib/ are untouched.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@ElliotFriedman
ElliotFriedman merged commit 6cb4fc5 into main Aug 10, 2026
3 checks passed
@ElliotFriedman
ElliotFriedman deleted the feat/cleanup branch August 10, 2026 21:11
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