Skip to content

Commit

Permalink
feat(evm): zkgm dryupgrade script and weth addresses (#3818)
Browse files Browse the repository at this point in the history
  • Loading branch information
hussein-aitlahcen authored Feb 20, 2025
2 parents e5f8fec + 5afbe33 commit d5c4aeb
Show file tree
Hide file tree
Showing 2 changed files with 53 additions and 0 deletions.
16 changes: 16 additions & 0 deletions evm/evm.nix
Original file line number Diff line number Diff line change
Expand Up @@ -210,12 +210,14 @@ _: {
rpc-url = "https://rpc-sepolia.rockx.com";
private-key = ''"$1"'';
extra-args = ''--verify --verifier etherscan --etherscan-api-key "$2"'';
weth = "0x7b79995e5f793a07bc00c21412e50ecae098e7f9";
}
{
network = "holesky";
rpc-url = "https://1rpc.io/holesky";
private-key = ''"$1"'';
extra-args = ''--verify --verifier etherscan --etherscan-api-key "$2"'';
weth = "0x94373a4919b3240d86ea41593d5eba789fef3848";
}
{
network = "0g-testnet";
Expand Down Expand Up @@ -395,6 +397,7 @@ _: {
dry ? false,
rpc-url,
protocol,
weth ? "",
...
}:
mkCi false (
Expand Down Expand Up @@ -433,6 +436,7 @@ _: {
cp --no-preserve=mode -r ${self'.packages.evm-contracts}/* .
cp --no-preserve=mode -r ${evmSources}/* .
WETH=${weth} \
DEPLOYER="$argc_deployer_pk" \
SENDER="$argc_sender_pk" \
OWNER="${pkgs.lib.optionalString dry "$argc_owner_pk"}" \
Expand Down Expand Up @@ -758,6 +762,18 @@ _: {
);
}) networks
)
// builtins.listToAttrs (
builtins.map (args: {
name = "eth-dryupgrade-${args.network}-ucs03";
value = eth-upgrade (
{
dry = true;
protocol = "UCS03";
}
// args
);
}) networks
)
// builtins.listToAttrs (
builtins.map (args: {
name = "eth-dryupgrade-${args.network}-cometbls-client";
Expand Down
37 changes: 37 additions & 0 deletions evm/scripts/Deploy.s.sol
Original file line number Diff line number Diff line change
Expand Up @@ -932,6 +932,43 @@ contract GetDeployed is Script {
}
}

contract DryUpgradeUCS03 is Script {
using LibString for *;

address immutable deployer;
address immutable sender;
address immutable owner;

constructor() {
deployer = vm.envAddress("DEPLOYER");
sender = vm.envAddress("SENDER");
owner = vm.envAddress("OWNER");
}

function getDeployed(
string memory salt
) internal view returns (address) {
return CREATE3.predictDeterministicAddress(
keccak256(abi.encodePacked(sender.toHexString(), "/", salt)),
deployer
);
}

function run() public {
address ucs03 = getDeployed(Protocols.make(Protocols.UCS03));

console.log(string(abi.encodePacked("UCS03: ", ucs03.toHexString())));

IWETH weth = IWETH(vm.envAddress("WETH"));

address newImplementation = address(new UCS03Zkgm());
vm.prank(owner);
UCS03Zkgm(ucs03).upgradeToAndCall(
newImplementation, abi.encodeCall(UCS03Zkgm.setWeth, (weth))
);
}
}

contract UpgradeUCS03 is Script {
using LibString for *;

Expand Down

0 comments on commit d5c4aeb

Please sign in to comment.