[Refactor] Improve fork from old block.#183
Closed
clement-ux wants to merge 2 commits intoclement/refactor-deploymentfrom
Closed
[Refactor] Improve fork from old block.#183clement-ux wants to merge 2 commits intoclement/refactor-deploymentfrom
clement-ux wants to merge 2 commits intoclement/refactor-deploymentfrom
Conversation
Contributor
Author
|
I'll try something better. |
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.
Summary
Replaces the manual
proposalExecutedboolean andmaxDeploymentFilessliding window with automatic, timestamp-based governance tracking in the deployment framework.timestampintotimestampDep/timestampGovin theExecutionstruct and deployment JSON files.timestampGov == 0means governance is still pending; once confirmed on-chain the timestamp is recorded automatically.proposalExecutedfrom all deployment scripts (~20 files). Governance completion is now derived fromtimestampGovinstead of requiring a manual boolean flip per script.maxDeploymentFilessliding window inDeployManager. Instead of only processing the last N scripts, all scripts are iterated and those fully executed (both timestamps set and<= block.timestamp) are skipped via a fast-path check on the filename.UpdateGovernance.s.sol(make update-governance), a new CLI tool that forks mainnet, iterates executions withtimestampGov == 0, rebuilds their governance proposals, computes proposal IDs, checks on-chain state viaIGovernance.state(), and writes updated timestamps back to the deployment JSON.Resolver: replaceexecutionExistsmapping withdepTimestamp,govTimestamp, andexecutionIndexmappings. AddaddGovernanceTimestamp()for updating governance state after the fact.$003_UpgradeLidoARMMainnetScript->$003_UpgradeLidoARMScript), enabling the filename-based fast-path skip inDeployManager.restoreBlockAndTimestampmodifier onGovHelper.simulate()so governance simulation doesn't permanently alterblock.number/block.timestamp._extractScriptNamehelper inBase.s.sol(shared byDeployManagerandUpdateGovernance).timestampDep/timestampGovformat, add missing contracts (MORPHO_MARKET_ORIGIN,MORPHO_MARKET_ORIGIN_IMPL), updateOETH_ARM_IMPLaddress, delete staledeployments-17000.json(Holesky).