From 774babcb48adb5ec951d8a3addd4fe712572ed6b Mon Sep 17 00:00:00 2001 From: 0xtekgrinder <0xtekgrinder@protonmail.com> Date: Fri, 10 May 2024 07:24:32 -0400 Subject: [PATCH] feat: scripts works even if addresses.json doesn't exists --- .../DeployAgTokenSideChainMultiBridge.s.sol | 28 ++++++++++++------- scripts/DeployAngleSideChainMultiBridge.s.sol | 28 ++++++++++++------- 2 files changed, 36 insertions(+), 20 deletions(-) diff --git a/scripts/DeployAgTokenSideChainMultiBridge.s.sol b/scripts/DeployAgTokenSideChainMultiBridge.s.sol index eacd043..5ff340d 100644 --- a/scripts/DeployAgTokenSideChainMultiBridge.s.sol +++ b/scripts/DeployAgTokenSideChainMultiBridge.s.sol @@ -29,17 +29,23 @@ contract DeployAgTokenSideChainMultiBridge is Script, CommonUtils { bytes memory initCode = jsonVanity.readBytes("$.initCode"); uint256 chainId = vm.envUint("CHAIN_ID"); - string memory json = vm.readFile(JSON_ADDRESSES_PATH); + string memory json; address proxyAdmin; address coreBorrow; - if (vm.keyExistsJson(json, ".proxyAdmin")) { - proxyAdmin = vm.parseJsonAddress(json, ".proxyAdmin"); + if (vm.isFile(JSON_ADDRESSES_PATH)) { + json = vm.readFile(JSON_ADDRESSES_PATH); + if (vm.keyExistsJson(json, ".proxyAdmin")) { + proxyAdmin = vm.parseJsonAddress(json, ".proxyAdmin"); + } else { + proxyAdmin = _chainToContract(chainId, ContractType.ProxyAdmin); + } + if (vm.keyExistsJson(json, ".coreBorrow")) { + coreBorrow = vm.parseJsonAddress(json, ".coreBorrow"); + } else { + coreBorrow = _chainToContract(chainId, ContractType.CoreBorrow); + } } else { proxyAdmin = _chainToContract(chainId, ContractType.ProxyAdmin); - } - if (vm.keyExistsJson(json, ".coreBorrow")) { - coreBorrow = vm.parseJsonAddress(json, ".coreBorrow"); - } else { coreBorrow = _chainToContract(chainId, ContractType.CoreBorrow); } ILayerZeroEndpoint lzEndpoint = _lzEndPoint(chainId); @@ -128,9 +134,11 @@ contract DeployAgTokenSideChainMultiBridge is Script, CommonUtils { } string memory json2 = "output"; - string[] memory keys = vm.parseJsonKeys(json, ""); - for (uint256 i = 0; i < keys.length; i++) { - json2.serialize(keys[i], json.readAddress(string.concat(".", keys[i]))); + if (vm.isFile(JSON_ADDRESSES_PATH)) { + string[] memory keys = vm.parseJsonKeys(json, ""); + for (uint256 i = 0; i < keys.length; i++) { + json2.serialize(keys[i], json.readAddress(string.concat(".", keys[i]))); + } } json2.serialize("agToken", address(agToken)); json2.serialize("treasury", address(treasuryProxy)); diff --git a/scripts/DeployAngleSideChainMultiBridge.s.sol b/scripts/DeployAngleSideChainMultiBridge.s.sol index 33d6c5b..4bbc094 100644 --- a/scripts/DeployAngleSideChainMultiBridge.s.sol +++ b/scripts/DeployAngleSideChainMultiBridge.s.sol @@ -30,17 +30,23 @@ contract DeployAngleSideChainMultiBridge is Script, CommonUtils { uint256 chainId = vm.envUint("CHAIN_ID"); vm.startBroadcast(deployerPrivateKey); - string memory json = vm.readFile(JSON_ADDRESSES_PATH); + string memory json; address proxyAdmin; address coreBorrow; - if (vm.keyExistsJson(json, ".proxyAdmin")) { - proxyAdmin = vm.parseJsonAddress(json, ".proxyAdmin"); + if (vm.isFile(JSON_ADDRESSES_PATH)) { + json = vm.readFile(JSON_ADDRESSES_PATH); + if (vm.keyExistsJson(json, ".proxyAdmin")) { + proxyAdmin = vm.parseJsonAddress(json, ".proxyAdmin"); + } else { + proxyAdmin = _chainToContract(chainId, ContractType.ProxyAdmin); + } + if (vm.keyExistsJson(json, ".coreBorrow")) { + coreBorrow = vm.parseJsonAddress(json, ".coreBorrow"); + } else { + coreBorrow = _chainToContract(chainId, ContractType.CoreBorrow); + } } else { proxyAdmin = _chainToContract(chainId, ContractType.ProxyAdmin); - } - if (vm.keyExistsJson(json, ".coreBorrow")) { - coreBorrow = vm.parseJsonAddress(json, ".coreBorrow"); - } else { coreBorrow = _chainToContract(chainId, ContractType.CoreBorrow); } ILayerZeroEndpoint lzEndpoint = _lzEndPoint(chainId); @@ -117,9 +123,11 @@ contract DeployAngleSideChainMultiBridge is Script, CommonUtils { } string memory json2 = "output"; - string[] memory keys = vm.parseJsonKeys(json, ""); - for (uint256 i = 0; i < keys.length; i++) { - json2.serialize(keys[i], json.readAddress(string.concat(".", keys[i]))); + if (vm.isFile(JSON_ADDRESSES_PATH)) { + string[] memory keys = vm.parseJsonKeys(json, ""); + for (uint256 i = 0; i < keys.length; i++) { + json2.serialize(keys[i], json.readAddress(string.concat(".", keys[i]))); + } } json2.serialize("angle", address(angleProxy)); json2 = json2.serialize("lzAngle", address(lzProxy));