From 9d086d3dcb26521d2059c009f09524d3d6a1343d Mon Sep 17 00:00:00 2001 From: Carlos Juarez Date: Mon, 15 Dec 2025 16:13:15 +0100 Subject: [PATCH] feat: adding the variables for usds in the deployment --- script/Deploy.s.sol | 30 +++++++++++++++++++++++++++--- 1 file changed, 27 insertions(+), 3 deletions(-) diff --git a/script/Deploy.s.sol b/script/Deploy.s.sol index 370e9ed..aa20308 100644 --- a/script/Deploy.s.sol +++ b/script/Deploy.s.sol @@ -50,10 +50,13 @@ contract Deploy is BaseScript { struct ExternalAddresses { address usdc; address usdt; + address usds; address usdcStrategy; address usdtStrategy; + address usdsStrategy; address usdcPriceFeed; address usdtPriceFeed; + address usdsPriceFeed; address oneInchRouter; } @@ -66,6 +69,7 @@ contract Deploy is BaseScript { OneInchSwapper swapper; GenericVault usdcVault; GenericVault usdtVault; + GenericVault usdsVault; } function run() public broadcast { @@ -82,7 +86,8 @@ contract Deploy is BaseScript { gusd: GenericUSD(address(0)), swapper: OneInchSwapper(address(0)), usdcVault: GenericVault(address(0)), - usdtVault: GenericVault(address(0)) + usdtVault: GenericVault(address(0)), + usdsVault: GenericVault(address(0)) }); address deployer = broadcaster; @@ -98,7 +103,7 @@ contract Deploy is BaseScript { new TransparentUpgradeableProxy(address(deployment.controllerImpl), controllerOperators.proxyAdmin, "") ) ); - deployment.gunit = new GenericUnit(address(deployment.controller), "Generic Unit USD", "GU_USD"); + deployment.gunit = new GenericUnit(address(deployment.controller), "Generic USD Unit", "G_USD_U"); deployment.swapper = new OneInchSwapper(IOneInchAggregationRouterLike(externalAddresses.oneInchRouter)); @@ -128,12 +133,16 @@ contract Deploy is BaseScript { deployment.controller .setPriceFeed( - externalAddresses.usdc, IChainlinkAggregatorLike(externalAddresses.usdcPriceFeed), 86_400 seconds + externalAddresses.usdc, IChainlinkAggregatorLike(externalAddresses.usdcPriceFeed), 82_800 seconds ); deployment.controller .setPriceFeed( externalAddresses.usdt, IChainlinkAggregatorLike(externalAddresses.usdtPriceFeed), 86_400 seconds ); + deployment.controller + .setPriceFeed( + externalAddresses.usds, IChainlinkAggregatorLike(externalAddresses.usdsPriceFeed), 82_800 seconds + ); deployment.usdcVault = new GenericVault( IERC20(externalAddresses.usdc), @@ -147,11 +156,19 @@ contract Deploy is BaseScript { IERC4626(externalAddresses.usdtStrategy), controllerOperators.vaultOwner ); + deployment.usdsVault = new GenericVault( + IERC20(externalAddresses.usds), + deployment.controller, + IERC4626(externalAddresses.usdsStrategy), + controllerOperators.vaultOwner + ); deployment.controller .addVault(address(deployment.usdcVault), BaseController.VaultSettings(1_000_000e18, 0, 10_000), true); deployment.controller .addVault(address(deployment.usdtVault), BaseController.VaultSettings(1_000_000e18, 0, 10_000), true); + deployment.controller + .addVault(address(deployment.usdsVault), BaseController.VaultSettings(1_000_000e18, 0, 10_000), true); // Setup // // Controller @@ -194,14 +211,18 @@ contract Deploy is BaseScript { console2.log("-- Vaults --"); console2.log("USDC vault:", address(deployment.usdcVault)); console2.log("USDT vault:", address(deployment.usdtVault)); + console2.log("USDS vault:", address(deployment.usdsVault)); console2.log("-- External Addresses --"); console2.log("USDC token:", externalAddresses.usdc); console2.log("USDT token:", externalAddresses.usdt); + console2.log("USDS token:", externalAddresses.usds); console2.log("USDC strategy:", externalAddresses.usdcStrategy); console2.log("USDT strategy:", externalAddresses.usdtStrategy); + console2.log("USDS strategy:", externalAddresses.usdsStrategy); console2.log("USDC price feed:", externalAddresses.usdcPriceFeed); console2.log("USDT price feed:", externalAddresses.usdtPriceFeed); + console2.log("USDS price feed:", externalAddresses.usdsPriceFeed); console2.log("1inch router:", externalAddresses.oneInchRouter); console2.log("-- Controller Operators --"); @@ -259,10 +280,13 @@ contract Deploy is BaseScript { addresses = ExternalAddresses({ usdc: vm.envAddress("USDC_TOKEN"), usdt: vm.envAddress("USDT_TOKEN"), + usds: vm.envAddress("USDS_TOKEN"), usdcStrategy: vm.envAddress("USDC_STRATEGY"), usdtStrategy: vm.envAddress("USDT_STRATEGY"), + usdsStrategy: vm.envAddress("USDS_STRATEGY"), usdcPriceFeed: vm.envAddress("USDC_PRICE_FEED"), usdtPriceFeed: vm.envAddress("USDT_PRICE_FEED"), + usdsPriceFeed: vm.envAddress("USDS_PRICE_FEED"), oneInchRouter: vm.envAddress("ONE_INCH_ROUTER") }); }