Skip to content

Commit fa63579

Browse files
authored
Merge pull request #32 from ProjectBabbage/feat/upgrade-script
Upgrade script
2 parents 428d0f7 + 8b8fe5e commit fa63579

6 files changed

Lines changed: 32 additions & 13 deletions

File tree

makefile

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,15 @@ build:
1717
forge build --force --sizes
1818

1919
deploy:
20-
forge script script/DeployWeSplit.sol --private-key ${PRIVATE_KEY} --broadcast --etherscan-api-key ${POLYGONSCAN_API_KEY} --verify
20+
forge script script/DeployWeSplit.sol --broadcast --etherscan-api-key ${POLYGONSCAN_API_KEY} --verify
21+
22+
upgrade:
23+
forge script script/UpgradeWeSplit.sol --broadcast --etherscan-api-key ${POLYGONSCAN_API_KEY} --verify -vvv
2124

2225
verify:
2326
forge verify-contract --chain 137 --watch --constructor-args ${ENCODED_CONSTRUCTOR_ARGS} ${ADDRESS} WeSplit ${POLYGONSCAN_API_KEY}
2427

2528
gasprice:
2629
cast gas-price --rpc-url ${FOUNDRY_ETH_RPC_URL}
2730

28-
.PHONY: test storage-check build deploy verify gasprice
31+
.PHONY: test storage-check build deploy upgrade verify gasprice

script/DeployWeSplit.sol

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,15 @@
22
pragma solidity ^0.8.13;
33

44
import "forge-std/Script.sol";
5-
import "../src/WeSplitProxy.sol";
6-
import "../src/WeSplit.sol";
5+
import "src/WeSplitProxy.sol";
6+
import "src/WeSplit.sol";
77

88
contract DeployWeSplit is Script {
99
bytes public constant emptyData = "";
1010

1111
function run() public {
12-
vm.startBroadcast();
12+
uint256 deployerPrivateKey = vm.envUint("PRIVATE_KEY");
13+
vm.startBroadcast(deployerPrivateKey);
1314
WeSplit weSplitImplementation = new WeSplit();
1415
new WeSplitProxy(address(weSplitImplementation), emptyData);
1516
vm.stopBroadcast();

script/UpgradeWeSplit.sol

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
// SPDX-License-Identifier: MIT
2+
pragma solidity ^0.8.13;
3+
4+
import "forge-std/Script.sol";
5+
import "src/WeSplit.sol";
6+
7+
contract UpgradeWeSplit is Script {
8+
address constant internal weSplitProxy = 0x52decE2Fd883628eA46eBae183cd9D78a81Ef916;
9+
10+
function run() public {
11+
uint256 deployerPrivateKey = vm.envUint("PRIVATE_KEY");
12+
vm.startBroadcast(deployerPrivateKey);
13+
WeSplit newWeSplitImplementation = new WeSplit();
14+
WeSplit(weSplitProxy).upgradeTo(address(newWeSplitImplementation));
15+
vm.stopBroadcast();
16+
}
17+
}

src/WeSplitProxy.sol

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import "openzeppelin-contracts/proxy/ERC1967/ERC1967Proxy.sol";
77
import "./WeSplitStructure.sol";
88

99
/// @title WeSplit Proxy contract.
10+
/// @author Project Babbage.
1011
contract WeSplitProxy is ERC1967Proxy, WeSplitStructure {
1112
constructor(address _logic, bytes memory _data) ERC1967Proxy(_logic, _data) Ownable() {}
1213
}

test/TestArith.sol

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,9 @@
11
// SPDX-License-Identifier: MIT
22
pragma solidity ^0.8.13;
33

4-
import "forge-std/Vm.sol";
5-
import "forge-std/console.sol";
64
import "forge-std/Test.sol";
75

8-
import "../src/Arith.sol";
6+
import "src/Arith.sol";
97

108
contract TestArith is Test {
119
using Arith for uint256;

test/TestWeSplit.sol

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,10 @@ pragma solidity ^0.8.13;
44
import "../lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol";
55

66
import "forge-std/Test.sol";
7-
import "forge-std/Vm.sol";
8-
import "forge-std/console.sol";
9-
import "../src/WeSplitProxy.sol";
10-
import "../src/WeSplit.sol";
11-
import "../src/Arith.sol";
7+
8+
import "src/WeSplitProxy.sol";
9+
import "src/WeSplit.sol";
10+
import "src/Arith.sol";
1211

1312
contract TestWeSplit is Test {
1413
using Arith for uint256;

0 commit comments

Comments
 (0)