-
Notifications
You must be signed in to change notification settings - Fork 87
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
simplify interaction with multisig wallets in deployment scripts #1859
simplify interaction with multisig wallets in deployment scripts #1859
Conversation
…needing to deploy with a multisig wallet - but the multisig wallet is set as the admin
…the readme and example env
… PV without openzeppelin defender and the multisig wallet
…ets-in-deployment-scripts
…ets-in-deployment-scripts
…contract as we do in dev phases
…ets-in-deployment-scripts
contracts/script/FeeContract.s.sol
Outdated
/// @notice Upgrades the fee contract first by deploying the new implementation | ||
/// and then executing the upgrade via the Safe Multisig wallet using the SAFE SDK. | ||
contract UpgradeFeeContractScript is Script { | ||
string internal originalContractName = "FeeContract.sol"; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If we want to use this upgrade more than once, should we also make it so that the originalContractName
can be derived from an environment variable?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
…ets-in-deployment-scripts
…ariable for the original contract
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
one comment / nit for my own understanding 😄
@@ -0,0 +1,59 @@ | |||
{ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For my own understanding, Are these run files used by something in the repo like CI or tests?
If we do need to be committing them to the repo, what are we using them for? If not should we add the /contracts/broadcast
directory to the .gitignore and remove ones that currently reside in the repo?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The idea is to only commit the files for public deployments to the repo. It's to make life easy for anyone who wants to interact with the deployed contracts.
…ets-in-deployment-scripts
* change from SEPOLIA_RPC_URL to production URL when deploying to production | ||
*/ | ||
// Initialize web3 provider using the RPC URL from environment variables | ||
const web3Provider = new ethers.JsonRpcProvider(getEnvVar("SEPOLIA_RPC_URL")); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit: could just name it RPC_URL
then we can just change the RPC_URL in .env and no code changes needed
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
i like, will do
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice, added a few extra comments related to this
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
Closes #1838
This PR:
Key places to review:
How to test this PR:
Things tested
Things not tested