-
Notifications
You must be signed in to change notification settings - Fork 61
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
Solidity Bridge Deployment Scripts #681
base: main
Are you sure you want to change the base?
Conversation
TransparentUpgradeableProxy public atomicBridgeProxy; | ||
TimelockController public timelock; | ||
string public atomicBridgeSignature = "initialize(address,address,uint256,uint256)"; | ||
address public moveAdmin; |
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.
moveAdmin is never set, you need to find that address (emitted events from TransparentUpgradeableProxy is the best bet, see example on contract-pipeline branch). You are proposing an upgrade to address(0).
uint256 public minDelay = 2 days; // 2-day delay for governance timelock | ||
|
||
// Safe addresses (replace these with actual safe addresses) | ||
address public movementLabsSafe = address(0x493516F6dB02c9b7f649E650c5de244646022Aa0); |
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.
These safes are not on Holesky and there is no Safe on Holesky, if our bridge was deployed, I suggest rerunning and using EOA addresses for upgradeability
AtomicBridgeInitiatorMOVE newBridgeImplementation = new AtomicBridgeInitiatorMOVE(); | ||
|
||
timelock.schedule( | ||
address(moveAdmin), |
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.
moveAdmin doesn't have to be wrapped in address here
You might want to merge primata/contract-pipeline and inherit Helper so that you can have all methods in place. |
these addresses are wrong, here is the ethInitiator 0xa8ce38EF26fB6e912954cf1309f98d5a753d367F |
Summary
Holesky Deployments
AtomicBridgeInitiatorMove
: 0xb33d9fA868054FD3F8F02ba9Fc04B2a1862Ab855AtomicBridgeCounterpartyMove
: 0xA6bB0d5eA03f3bEe3510EA3Ec39e85Cd7395Bc37Adds the necessary scripts for deploying the .sol atomic bridge contracts. Follows the same governance procedures laid out in
MOVETokenDeployer
.NOTE that the addresses set for
movementLabsSafe
andmovementFoundationSafe
are unused addresses for now and are to be verified for real deployment to testnet and mainnet.Changelog
AtomicBridgeInitiatorMOVEDeployer.sol
AtomicBridgeCounterpartyMOVEDeployer.sol
Testing
You can test this by deploying against a local anvil network :
Grab the contract address generated and use that as the Initiator arg for the Counterpary script