refactor(CHAIN-3281): Standardize task templates to use global multisig macros#624
Open
refactor(CHAIN-3281): Standardize task templates to use global multisig macros#624
Conversation
Update all task templates in setup-templates/ to consistently use the MULTISIG_SIGN, MULTISIG_APPROVE, and MULTISIG_EXECUTE macros from Multisig.mk, replacing custom inline forge script and eip712sign invocations: - template-safe-management: Rename SCRIPT to SCRIPT_NAME for compatibility with the global macros' require_vars check - template-gas-and-elasticity-increase: Replace inline forge script in execute-rollback with $(call MULTISIG_EXECUTE,...) to match the forward execute target - template-pause-superchain-config: Add Multisig.mk include, define RPC_URL, and replace inline execute-pause with MULTISIG_EXECUTE - template-pause-bridge-base: Add Multisig.mk include, define RPC_URL, and replace inline execute-pause/execute-unpause with MULTISIG_EXECUTE - template-gas-increase: Add Multisig.mk include, define RPC_URL and SCRIPT_NAME, and replace inline execute-upgrade/execute-rollback with MULTISIG_EXECUTE Nonce-loop signing patterns in pause templates are preserved as-is since the global MULTISIG_SIGN macro does not support batch nonce-loop signing. Sign targets in template-gas-increase are also preserved as they use sign() (no args) rather than sign(address[]). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…ions Add a "Multisig macro convention" section to the root README explaining the three global macros (MULTISIG_SIGN, MULTISIG_APPROVE, MULTISIG_EXECUTE) and the canonical template pattern, including known exceptions for batch nonce-loop signing and non-standard function signatures. Add a header block to Multisig.mk describing the file's purpose and the variables templates must define (RPC_URL, SCRIPT_NAME). Add inline comments in pause and gas-increase templates explaining why specific sign targets retain inline eip712sign instead of using the global MULTISIG_SIGN macro. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Collaborator
🟡 Heimdall Review Status
|
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
Standardize all task templates to use the global
MULTISIG_EXECUTE(and where applicable,MULTISIG_APPROVE) macros fromMultisig.mk, replacing inlineforge scriptinvocations.Templates changed
template-safe-managementSCRIPT→SCRIPT_NAMEfor macro compatibilitytemplate-gas-and-elasticity-increaseforge scriptinexecute-rollbackwithMULTISIG_EXECUTEtemplate-pause-superchain-configMultisig.mkinclude + replaced inlineexecute-pausewithMULTISIG_EXECUTEtemplate-pause-bridge-baseMultisig.mkinclude + replaced inlineexecute-pause/execute-unpausewithMULTISIG_EXECUTEtemplate-gas-increaseMultisig.mkinclude + replaced inlineexecute-upgrade/execute-rollbackwithMULTISIG_EXECUTEAlso removed the unused
MULTISIG_SIGNmacro fromMultisig.mkand added documentation on the macro convention in the README.What was intentionally left alone
eip712signintemplate-gas-increase— usessign()(no args) instead ofsign(address[]), which is incompatible with the macro's expected signatureHow to verify
make -n <target>(dry-run) on modified templates to confirm expanded commands match previous behaviorChange management