Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
N
nebula
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
exchain
nebula
Commits
3a5ba729
Unverified
Commit
3a5ba729
authored
Nov 21, 2023
by
Maurelian
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
contracts-bedrock: Add deployERC1967Proxy function
This enables us to remove 7 deploy functions from the deploy script.
parent
5bf29864
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
12 additions
and
109 deletions
+12
-109
Deploy.s.sol
packages/contracts-bedrock/scripts/Deploy.s.sol
+12
-109
No files found.
packages/contracts-bedrock/scripts/Deploy.s.sol
View file @
3a5ba729
...
@@ -227,15 +227,15 @@ contract Deploy is Deployer {
...
@@ -227,15 +227,15 @@ contract Deploy is Deployer {
deployAddressManager();
deployAddressManager();
deployProxyAdmin();
deployProxyAdmin();
deploy
OptimismPortalProxy(
);
deploy
ERC1967Proxy("OptimismPortalProxy"
);
deploy
L2OutputOracleProxy(
);
deploy
ERC1967Proxy("L2OutputOracleProxy"
);
deploy
SystemConfigProxy(
);
deploy
ERC1967Proxy("SystemConfigProxy"
);
deployL1StandardBridgeProxy();
deployL1StandardBridgeProxy();
deployL1CrossDomainMessengerProxy();
deployL1CrossDomainMessengerProxy();
deploy
OptimismMintableERC20FactoryProxy(
);
deploy
ERC1967Proxy("OptimismMintableERC20FactoryProxy"
);
deploy
L1ERC721BridgeProxy(
);
deploy
ERC1967Proxy("L1ERC721BridgeProxy"
);
deploy
DisputeGameFactoryProxy(
);
deploy
ERC1967Proxy("DisputeGameFactoryProxy"
);
deploy
ProtocolVersionsProxy(
);
deploy
ERC1967Proxy("ProtocolVersionsProxy"
);
transferAddressManagerOwnership(); // to the ProxyAdmin
transferAddressManagerOwnership(); // to the ProxyAdmin
}
}
...
@@ -319,7 +319,7 @@ contract Deploy is Deployer {
...
@@ -319,7 +319,7 @@ contract Deploy is Deployer {
// Proxy Deployment Functions //
// Proxy Deployment Functions //
////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////
/// @notice Deploy the L1StandardBridgeProxy
/// @notice Deploy the L1StandardBridgeProxy
using a ChugSplashProxy
function deployL1StandardBridgeProxy() public broadcast returns (address addr_) {
function deployL1StandardBridgeProxy() public broadcast returns (address addr_) {
address proxyAdmin = mustGetAddress("ProxyAdmin");
address proxyAdmin = mustGetAddress("ProxyAdmin");
L1ChugSplashProxy proxy = new L1ChugSplashProxy(proxyAdmin);
L1ChugSplashProxy proxy = new L1ChugSplashProxy(proxyAdmin);
...
@@ -332,22 +332,7 @@ contract Deploy is Deployer {
...
@@ -332,22 +332,7 @@ contract Deploy is Deployer {
addr_ = address(proxy);
addr_ = address(proxy);
}
}
/// @notice Deploy the L2OutputOracleProxy
/// @notice Deploy the L1CrossDomainMessengerProxy using a ResolvedDelegateProxy
function deployL2OutputOracleProxy() public broadcast returns (address addr_) {
address proxyAdmin = mustGetAddress("ProxyAdmin");
Proxy proxy = new Proxy({
_admin: proxyAdmin
});
address admin = address(uint160(uint256(vm.load(address(proxy), OWNER_KEY))));
require(admin == proxyAdmin);
save("L2OutputOracleProxy", address(proxy));
console.log("L2OutputOracleProxy deployed at %s", address(proxy));
addr_ = address(proxy);
}
/// @notice Deploy the L1CrossDomainMessengerProxy
function deployL1CrossDomainMessengerProxy() public broadcast returns (address addr_) {
function deployL1CrossDomainMessengerProxy() public broadcast returns (address addr_) {
AddressManager addressManager = AddressManager(mustGetAddress("AddressManager"));
AddressManager addressManager = AddressManager(mustGetAddress("AddressManager"));
string memory contractName = "OVM_L1CrossDomainMessenger";
string memory contractName = "OVM_L1CrossDomainMessenger";
...
@@ -366,88 +351,7 @@ contract Deploy is Deployer {
...
@@ -366,88 +351,7 @@ contract Deploy is Deployer {
addr_ = address(proxy);
addr_ = address(proxy);
}
}
/// @notice Deploy the OptimismPortalProxy
function deployERC1967Proxy(string memory _name) public broadcast returns (address addr_) {
function deployOptimismPortalProxy() public broadcast returns (address addr_) {
address proxyAdmin = mustGetAddress("ProxyAdmin");
Proxy proxy = new Proxy({
_admin: proxyAdmin
});
address admin = address(uint160(uint256(vm.load(address(proxy), OWNER_KEY))));
require(admin == proxyAdmin);
save("OptimismPortalProxy", address(proxy));
console.log("OptimismPortalProxy deployed at %s", address(proxy));
addr_ = address(proxy);
}
/// @notice Deploy the OptimismMintableERC20FactoryProxy
function deployOptimismMintableERC20FactoryProxy() public broadcast returns (address addr_) {
address proxyAdmin = mustGetAddress("ProxyAdmin");
Proxy proxy = new Proxy({
_admin: proxyAdmin
});
address admin = address(uint160(uint256(vm.load(address(proxy), OWNER_KEY))));
require(admin == proxyAdmin);
save("OptimismMintableERC20FactoryProxy", address(proxy));
console.log("OptimismMintableERC20FactoryProxy deployed at %s", address(proxy));
addr_ = address(proxy);
}
/// @notice Deploy the L1ERC721BridgeProxy
function deployL1ERC721BridgeProxy() public broadcast returns (address addr_) {
address proxyAdmin = mustGetAddress("ProxyAdmin");
Proxy proxy = new Proxy({
_admin: proxyAdmin
});
address admin = address(uint160(uint256(vm.load(address(proxy), OWNER_KEY))));
require(admin == proxyAdmin);
save("L1ERC721BridgeProxy", address(proxy));
console.log("L1ERC721BridgeProxy deployed at %s", address(proxy));
addr_ = address(proxy);
}
/// @notice Deploy the SystemConfigProxy
function deploySystemConfigProxy() public broadcast returns (address addr_) {
address proxyAdmin = mustGetAddress("ProxyAdmin");
Proxy proxy = new Proxy({
_admin: proxyAdmin
});
address admin = address(uint160(uint256(vm.load(address(proxy), OWNER_KEY))));
require(admin == proxyAdmin);
save("SystemConfigProxy", address(proxy));
console.log("SystemConfigProxy deployed at %s", address(proxy));
addr_ = address(proxy);
}
/// @notice Deploy the DisputeGameFactoryProxy
function deployDisputeGameFactoryProxy() public onlyDevnet broadcast returns (address addr_) {
address proxyAdmin = mustGetAddress("ProxyAdmin");
Proxy proxy = new Proxy({
_admin: proxyAdmin
});
address admin = address(uint160(uint256(vm.load(address(proxy), OWNER_KEY))));
require(admin == proxyAdmin);
save("DisputeGameFactoryProxy", address(proxy));
console.log("DisputeGameFactoryProxy deployed at %s", address(proxy));
addr_ = address(proxy);
}
/// @notice Deploy the ProtocolVersionsProxy
function deployProtocolVersionsProxy() public broadcast returns (address addr_) {
address proxyAdmin = mustGetAddress("ProxyAdmin");
address proxyAdmin = mustGetAddress("ProxyAdmin");
Proxy proxy = new Proxy({
Proxy proxy = new Proxy({
_admin: proxyAdmin
_admin: proxyAdmin
...
@@ -456,9 +360,8 @@ contract Deploy is Deployer {
...
@@ -456,9 +360,8 @@ contract Deploy is Deployer {
address admin = address(uint160(uint256(vm.load(address(proxy), OWNER_KEY))));
address admin = address(uint160(uint256(vm.load(address(proxy), OWNER_KEY))));
require(admin == proxyAdmin);
require(admin == proxyAdmin);
save("ProtocolVersionsProxy", address(proxy));
save(name, address(proxy));
console.log("ProtocolVersionsProxy deployed at %s", address(proxy));
console.log("%s deployed at %s", name, address(proxy));
addr_ = address(proxy);
addr_ = address(proxy);
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment