Skip to content

fix(tools): transition tooling issues from the devnet rehearsal - #642

Merged
wjmelements merged 6 commits into
mainfrom
fix/fwss-transition-tooling
Oct 21, 2026
Merged

wjmelements merged 6 commits into
mainfrom
fix/fwss-transition-tooling

Conversation

@CodeWarriorr

Copy link
Copy Markdown
Collaborator

Rehearsed the v1.4.0 -> dispatcher upgrade (checklist path A) on a foc-devnet. The contracts behaved fine, but the tooling around them broke in four places, and each one would hit us on Calibnet too.

What's changed

  • A1 deploys and an EOA execute broadcast use --skip-simulation. Without it forge sets the gas limit from its EVM simulation: Lotus rejects both deploys, and the execute mines and reverts out of gas. The checklist notes the ~182M gas of the upgrade call so a Safe signer doesn't cap it, and the README says when --resume can't recover a broadcast
  • warm-storage-announce-upgrade.sh runs its cast calls without ETH_KEYSTORE until Bump foundry once foundry-rs/foundry#17388 is fixed #621 lands, cast unlocked the keystore for them and the direct send failed without a TTY
  • warm-storage-manage-approved-provider.sh falls back to FWSS_PROXY_ADDRESS when no FWSS_VIEW_ADDRESS is recorded, which is the case for every modular deploy
  • testLedgerAddresses reads the expected addresses from deployments.json and accepts the dispatcher, which josuke.json lists between A1 and A5. The transition-script test seeds from a v1.4.0 deployments.json fixture instead of the committed file. Both failed as soon as the Mainnet A1 commit landed

…script

cast 1.7.1 unlocks ETH_KEYSTORE for every `cast call`, so the direct-send path failed to read the proxy owner without a TTY. The reads now run with ETH_KEYSTORE unset; only `cast send` uses the wallet.
A modular FWSS deployment records no FWSS_VIEW_ADDRESS, and the proxy serves the view methods itself.
forge sets gas limits from its EVM simulation, which FEVM rejects for the deploys and runs out of gas for the execute call. Note the ~182M gas of the upgrade call for Safe signers.
…mmit

The ledger test now reads the expected addresses from deployments.json and accepts the recorded dispatcher, which josuke.json lists between A1 and A5. The transition-script test seeds its scratch deployments.json from a v1.4.0 fixture instead of the committed file, which gains dispatcher records at A1.
A transaction that mined and reverted spends its nonce, so --resume stops and only a plain rerun deploys again.
@CodeWarriorr
CodeWarriorr requested a review from Filip-L October 21, 2026 10:26
@FilOzzy FilOzzy added this to FOC Oct 21, 2026
@github-project-automation github-project-automation Bot moved this to 📌 Triage in FOC Oct 21, 2026
@FilOzzy FilOzzy moved this from 📌 Triage to 🔎 Awaiting review in FOC Oct 21, 2026
@github-project-automation github-project-automation Bot moved this from 🔎 Awaiting review to ✔️ Approved by reviewer in FOC Oct 21, 2026
@wjmelements
wjmelements merged commit 9b24c77 into main Oct 21, 2026
7 checks passed
@wjmelements
wjmelements deleted the fix/fwss-transition-tooling branch October 21, 2026 17:19
@github-project-automation github-project-automation Bot moved this from ✔️ Approved by reviewer to 🎉 Done in FOC Oct 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: 🎉 Done

Development

Successfully merging this pull request may close these issues.

2 participants