-
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
Solidity Bridge Deployment Scripts #681
Conversation
protocol-units/bridge/contracts/script/DeployAtomicBridgeInitiatorMOVE.s.sol
Outdated
Show resolved
Hide resolved
protocol-units/bridge/contracts/script/DeployAtomicBridgeInitiatorMOVE.s.sol
Show resolved
Hide resolved
protocol-units/bridge/contracts/script/DeployAtomicBridgeInitiatorMOVE.s.sol
Outdated
Show resolved
Hide resolved
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 |
@0xmovses What are the next steps you'd like to take here? |
@l-monninger Let me rebase main and redeploy these contracts, I'll update the PR description with new addresses. |
|
I'd say this looks good pending resolution of @0xPrimata's comments |
initialPoolBalance // Initial pool balance | ||
) | ||
); | ||
|
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.
Because initiator and counterparty are paired, I would suggest merging them and calling
AtomicBridgeInitiatorMOVE(atomicBridgeInitiatoryProxy).setAtomicBridgeCounterparty(address(atomicBridgeCounterpartyProxy));
AtomicBridgeCounterpartyMOVE(atomicBridgeCounterpartyProxy).setAtomicBridgeInitiator(address(atomicBridgeInitiatorProxy));
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.
@0xPrimata does there need to be some kind of assertion in lockBridgeTransfer
, about available MOVE?
Or, if not, how can we be sure that the amount will be available to withdraw in completeBridgeTransfer
?
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.
because it has been bridged before. The poolBalance doesn't help at all with knowing that the amount will be available to withdraw in the case of an exploit.
I would suggest taking a look at ERC20 _transfer method and seeing that it's doing exactly what we do with poolBalance but with extra security steps.
Summary
Holesky Deployments for Movement Devnet
Holesky Deployments for Movement Testnet Bardock
Sepolia Deployments for Movement Testnet Bardock
NOTE that current owner of the contract is
0x5b97cdf756f6363A88706c376464180E008Bd88b
MOVE Holesky Deployment: 0xC36ba8B8fD9EcbF36288b9B9B0ae9FC3E0645227
Adds 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