File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -17,12 +17,15 @@ build:
1717 forge build --force --sizes
1818
1919deploy :
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
2225verify :
2326 forge verify-contract --chain 137 --watch --constructor-args ${ENCODED_CONSTRUCTOR_ARGS} ${ADDRESS} WeSplit ${POLYGONSCAN_API_KEY}
2427
2528gasprice :
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
Original file line number Diff line number Diff line change 22pragma solidity ^ 0.8.13 ;
33
44import "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
88contract 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 ();
Original file line number Diff line number Diff line change 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+ }
Original file line number Diff line number Diff line change @@ -7,6 +7,7 @@ import "openzeppelin-contracts/proxy/ERC1967/ERC1967Proxy.sol";
77import "./WeSplitStructure.sol " ;
88
99/// @title WeSplit Proxy contract.
10+ /// @author Project Babbage.
1011contract WeSplitProxy is ERC1967Proxy , WeSplitStructure {
1112 constructor (address _logic , bytes memory _data ) ERC1967Proxy (_logic, _data) Ownable () {}
1213}
Original file line number Diff line number Diff line change 11// SPDX-License-Identifier: MIT
22pragma solidity ^ 0.8.13 ;
33
4- import "forge-std/Vm.sol " ;
5- import "forge-std/console.sol " ;
64import "forge-std/Test.sol " ;
75
8- import "../ src/Arith.sol " ;
6+ import "src/Arith.sol " ;
97
108contract TestArith is Test {
119 using Arith for uint256 ;
Original file line number Diff line number Diff line change @@ -4,11 +4,10 @@ pragma solidity ^0.8.13;
44import "../lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol " ;
55
66import "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
1312contract TestWeSplit is Test {
1413 using Arith for uint256 ;
You can’t perform that action at this time.
0 commit comments