From 8b39ef1b5a296511b3ede44d60509f6b2c90a49a Mon Sep 17 00:00:00 2001 From: zimpha Date: Tue, 28 Oct 2025 00:23:58 +0800 Subject: [PATCH 1/2] modify deployment scripts --- script/DeployScroll.s.sol | 214 ++++++++++++++++++++++++++++++-------- 1 file changed, 172 insertions(+), 42 deletions(-) diff --git a/script/DeployScroll.s.sol b/script/DeployScroll.s.sol index d6af71e..ef88078 100644 --- a/script/DeployScroll.s.sol +++ b/script/DeployScroll.s.sol @@ -9,6 +9,7 @@ import {StakedUSX} from "../src/StakedUSX.sol"; import {TreasuryDiamond} from "../src/TreasuryDiamond.sol"; import {RewardDistributorFacet} from "../src/facets/RewardDistributorFacet.sol"; import {AssetManagerAllocatorFacet} from "../src/facets/AssetManagerAllocatorFacet.sol"; +import {AssetManager} from "../src/asset-manager/AssetManager.sol"; /** * @title DeployScroll @@ -50,7 +51,6 @@ contract DeployScroll is Script { governance = vm.envAddress("GOVERNANCE_ADDRESS"); governanceWarchest = vm.envAddress("GOVERNANCE_WARCHEST_ADDRESS"); insuranceVault = vm.envAddress("INSURANCE_VAULT_ADDRESS"); - assetManager = vm.envAddress("ASSET_MANAGER_ADDRESS"); admin = vm.envAddress("ADMIN_ADDRESS"); deploymentTarget = vm.envString("DEPLOYMENT_TARGET"); @@ -58,15 +58,20 @@ contract DeployScroll is Script { console.log("Environment variables read:"); console.log("GOVERNANCE_ADDRESS:", governance); console.log("GOVERNANCE_WARCHEST_ADDRESS:", governanceWarchest); - console.log("ASSET_MANAGER_ADDRESS:", assetManager); console.log("ADMIN_ADDRESS:", admin); console.log("USDC_ADDRESS:", usdcAddress); console.log("DEPLOYMENT_TARGET:", deploymentTarget); // Set RPC URL based on deployment target - if (keccak256(abi.encodePacked(deploymentTarget)) == keccak256(abi.encodePacked("mainnet"))) { + if ( + keccak256(abi.encodePacked(deploymentTarget)) == + keccak256(abi.encodePacked("mainnet")) + ) { rpcUrl = vm.envString("SCROLL_MAINNET_RPC"); - } else if (keccak256(abi.encodePacked(deploymentTarget)) == keccak256(abi.encodePacked("sepolia"))) { + } else if ( + keccak256(abi.encodePacked(deploymentTarget)) == + keccak256(abi.encodePacked("sepolia")) + ) { rpcUrl = vm.envString("SCROLL_SEPOLIA_RPC"); } else { // Default to local fork for development @@ -74,16 +79,28 @@ contract DeployScroll is Script { } // For local fork, create the fork automatically - if (keccak256(abi.encodePacked(deploymentTarget)) == keccak256(abi.encodePacked("local"))) { + if ( + keccak256(abi.encodePacked(deploymentTarget)) == + keccak256(abi.encodePacked("local")) + ) { console.log("Creating local fork from Scroll mainnet..."); vm.createSelectFork(rpcUrl); } // Ensure we're on the correct network - if (keccak256(abi.encodePacked(deploymentTarget)) == keccak256(abi.encodePacked("mainnet"))) { + if ( + keccak256(abi.encodePacked(deploymentTarget)) == + keccak256(abi.encodePacked("mainnet")) + ) { require(block.chainid == 534352, "Must be on Scroll mainnet"); - } else if (keccak256(abi.encodePacked(deploymentTarget)) == keccak256(abi.encodePacked("sepolia"))) { - require(block.chainid == 534351, "Must be on Scroll Sepolia testnet"); + } else if ( + keccak256(abi.encodePacked(deploymentTarget)) == + keccak256(abi.encodePacked("sepolia")) + ) { + require( + block.chainid == 534351, + "Must be on Scroll Sepolia testnet" + ); } // Note: local fork doesn't require chain ID validation @@ -122,7 +139,9 @@ contract DeployScroll is Script { } function deployCoreContracts() internal { - console.log("\n=== STEP 1: Deploying Core Contracts with OpenZeppelin ==="); + console.log( + "\n=== STEP 1: Deploying Core Contracts with OpenZeppelin ===" + ); vm.startBroadcast(deployer); @@ -180,10 +199,21 @@ contract DeployScroll is Script { console.log("2.2. Deploying Treasury Proxy..."); bytes memory treasuryInitData = abi.encodeCall( TreasuryDiamond.initialize, - (usdcAddress, address(usxProxy), address(susxProxy), admin, governance, governanceWarchest, assetManager, insuranceVault) + ( + usdcAddress, + address(usxProxy), + address(susxProxy), + admin, + governance, + governanceWarchest, + address(0), + insuranceVault + ) ); - treasuryProxy = address(new ERC1967Proxy(address(treasuryImpl), treasuryInitData)); + treasuryProxy = address( + new ERC1967Proxy(address(treasuryImpl), treasuryInitData) + ); console.log("Treasury Diamond deployed at:", treasuryProxy); // Deploy Facets @@ -194,11 +224,28 @@ contract DeployScroll is Script { console.log("Profit/Loss Facet:", profitLossFacet); console.log("Asset Manager Facet:", assetManagerFacet); + // Deploy Asset Manager + console.log("2.4. Deploying Asset Manager..."); + AssetManager assetManagerImpl = new AssetManager( + usdcAddress, + treasuryProxy + ); + bytes memory assetManagerInitData = abi.encodeCall( + AssetManager.initialize, + (admin, governance) + ); + assetManager = address( + new ERC1967Proxy(address(assetManagerImpl), assetManagerInitData) + ); + console.log("Asset Manager deployed at:", assetManager); + vm.stopBroadcast(); } function linkContracts() internal { - console.log("\n=== STEP 3: Linking Contracts with OpenZeppelin Security ==="); + console.log( + "\n=== STEP 3: Linking Contracts with OpenZeppelin Security ===" + ); // Link USX to Treasury console.log("3.1. Linking USX to Treasury..."); @@ -224,12 +271,25 @@ contract DeployScroll is Script { // Add AssetManagerAllocatorFacet console.log("3.3.1. Adding AssetManagerAllocatorFacet..."); - bytes4[] memory assetManagerSelectors = new bytes4[](5); - assetManagerSelectors[0] = AssetManagerAllocatorFacet.netDeposits.selector; - assetManagerSelectors[1] = AssetManagerAllocatorFacet.setAssetManager.selector; - assetManagerSelectors[2] = AssetManagerAllocatorFacet.transferUSDCtoAssetManager.selector; - assetManagerSelectors[3] = AssetManagerAllocatorFacet.transferUSDCFromAssetManager.selector; - assetManagerSelectors[4] = AssetManagerAllocatorFacet.transferUSDCForWithdrawal.selector; + bytes4[] memory assetManagerSelectors = new bytes4[](6); + assetManagerSelectors[0] = AssetManagerAllocatorFacet + .netDeposits + .selector; + assetManagerSelectors[1] = AssetManagerAllocatorFacet + .setAssetManager + .selector; + assetManagerSelectors[2] = AssetManagerAllocatorFacet + .setAllocator + .selector; + assetManagerSelectors[3] = AssetManagerAllocatorFacet + .transferUSDCtoAssetManager + .selector; + assetManagerSelectors[4] = AssetManagerAllocatorFacet + .transferUSDCFromAssetManager + .selector; + assetManagerSelectors[5] = AssetManagerAllocatorFacet + .transferUSDCForWithdrawal + .selector; vm.prank(governance); treasury.addFacet(assetManagerFacet, assetManagerSelectors); @@ -237,15 +297,30 @@ contract DeployScroll is Script { // Add RewardDistributorFacet console.log("3.3.3. Adding RewardDistributorFacet..."); - bytes4[] memory profitLossSelectors = new bytes4[](3); + bytes4[] memory profitLossSelectors = new bytes4[](6); profitLossSelectors[0] = RewardDistributorFacet.successFee.selector; - profitLossSelectors[1] = RewardDistributorFacet.reportRewards.selector; - profitLossSelectors[2] = RewardDistributorFacet.setSuccessFeeFraction.selector; + profitLossSelectors[1] = RewardDistributorFacet.insuranceFund.selector; + profitLossSelectors[2] = RewardDistributorFacet.reportRewards.selector; + profitLossSelectors[3] = RewardDistributorFacet + .setSuccessFeeFraction + .selector; + profitLossSelectors[4] = RewardDistributorFacet + .setInsuranceFundFraction + .selector; + profitLossSelectors[5] = RewardDistributorFacet.setReporter.selector; vm.prank(governance); treasury.addFacet(profitLossFacet, profitLossSelectors); console.log("RewardDistributorFacet added"); + // Link Asset Manager to Treasury + console.log("3.3.4. Linking Asset Manager to Treasury..."); + vm.prank(governance); + AssetManagerAllocatorFacet(address(treasury)).setAssetManager( + assetManager + ); + console.log("Asset Manager linked to Treasury"); + // Note: vm.stopBroadcast() is not needed here since we're not in a broadcast context } @@ -255,44 +330,83 @@ contract DeployScroll is Script { // Verify USX USX usx = USX(usxProxy); require( - keccak256(abi.encodePacked(usx.name())) == keccak256(abi.encodePacked("USX Token")), + keccak256(abi.encodePacked(usx.name())) == + keccak256(abi.encodePacked("USX")), "USX name verification failed" ); require( - keccak256(abi.encodePacked(usx.symbol())) == keccak256(abi.encodePacked("USX")), + keccak256(abi.encodePacked(usx.symbol())) == + keccak256(abi.encodePacked("USX")), "USX symbol verification failed" ); require(usx.decimals() == 18, "USX decimals verification failed"); - require(address(usx.USDC()) == usdcAddress, "USX USDC address verification failed"); - require(address(usx.treasury()) == treasuryProxy, "USX treasury verification failed"); + require( + address(usx.USDC()) == usdcAddress, + "USX USDC address verification failed" + ); + require( + address(usx.treasury()) == treasuryProxy, + "USX treasury verification failed" + ); console.log("USX verification passed"); // Verify StakedUSX StakedUSX susx = StakedUSX(susxProxy); require( - keccak256(abi.encodePacked(susx.name())) == keccak256(abi.encodePacked("StakedUSX Token")), + keccak256(abi.encodePacked(susx.name())) == + keccak256(abi.encodePacked("sUSX")), "StakedUSX name verification failed" ); require( - keccak256(abi.encodePacked(susx.symbol())) == keccak256(abi.encodePacked("StakedUSX")), + keccak256(abi.encodePacked(susx.symbol())) == + keccak256(abi.encodePacked("sUSX")), "StakedUSX symbol verification failed" ); - require(susx.decimals() == 18, "StakedUSX decimals verification failed"); - require(address(susx.USX()) == usxProxy, "StakedUSX USX address verification failed"); - require(address(susx.treasury()) == treasuryProxy, "StakedUSX treasury verification failed"); + require( + susx.decimals() == 18, + "StakedUSX decimals verification failed" + ); + require( + address(susx.USX()) == usxProxy, + "StakedUSX USX address verification failed" + ); + require( + address(susx.treasury()) == treasuryProxy, + "StakedUSX treasury verification failed" + ); console.log("StakedUSX verification passed"); // Verify Treasury TreasuryDiamond treasury = TreasuryDiamond(payable(treasuryProxy)); - require(address(treasury.USDC()) == usdcAddress, "Treasury USDC address verification failed"); - require(address(treasury.USX()) == usxProxy, "Treasury USX address verification failed"); - require(address(treasury.sUSX()) == susxProxy, "Treasury sUSX address verification failed"); - require(treasury.governance() == governance, "Treasury governance verification failed"); - require(treasury.assetManager() == assetManager, "Treasury asset manager verification failed"); + require( + address(treasury.USDC()) == usdcAddress, + "Treasury USDC address verification failed" + ); + require( + address(treasury.USX()) == usxProxy, + "Treasury USX address verification failed" + ); + require( + address(treasury.sUSX()) == susxProxy, + "Treasury sUSX address verification failed" + ); + require( + treasury.governance() == governance, + "Treasury governance verification failed" + ); + require( + treasury.assetManager() == assetManager, + "Treasury asset manager verification failed" + ); console.log("Treasury verification passed"); // Verify Facet Accessibility - (bool success,) = treasuryProxy.call(abi.encodeWithSelector(RewardDistributorFacet.successFee.selector, 1000000)); + (bool success, ) = treasuryProxy.call( + abi.encodeWithSelector( + RewardDistributorFacet.successFee.selector, + 1000000 + ) + ); require(success, "RewardDistributorFacet not accessible"); console.log("Facet accessibility verification passed"); @@ -310,22 +424,38 @@ contract DeployScroll is Script { // Test StakedUSX basic functionality console.log("5.2. Testing StakedUSX basic functionality..."); StakedUSX susx = StakedUSX(susxProxy); - require(susx.totalSupply() == 0, "StakedUSX initial supply should be 0"); + require( + susx.totalSupply() == 0, + "StakedUSX initial supply should be 0" + ); console.log("StakedUSX basic functionality verified"); // Test Treasury basic functionality console.log("5.3. Testing Treasury basic functionality..."); TreasuryDiamond treasury = TreasuryDiamond(payable(treasuryProxy)); - require(treasury.successFeeFraction() == 50000, "Treasury successFeeFraction should be 50000"); - require(treasury.insuranceFundFraction() == 50000, "Treasury insuranceFundFraction should be 50000"); + require( + treasury.successFeeFraction() == 50000, + "Treasury successFeeFraction should be 50000" + ); + require( + treasury.insuranceFundFraction() == 50000, + "Treasury insuranceFundFraction should be 50000" + ); console.log("Treasury basic functionality verified"); // Test facet functionality through diamond - (bool success, bytes memory data) = - treasuryProxy.call(abi.encodeWithSelector(RewardDistributorFacet.successFee.selector, 1000000)); + (bool success, bytes memory data) = treasuryProxy.call( + abi.encodeWithSelector( + RewardDistributorFacet.successFee.selector, + 1000000 + ) + ); require(success, "successFee call failed"); uint256 successFee = abi.decode(data, (uint256)); - require(successFee == 500000, "successFee should be 500000 (5% of 1000000)"); + require( + successFee == 500000, + "successFee should be 500000 (5% of 1000000)" + ); console.log("Facet functionality verified"); } From c1a2d0337c0cd268e5488c0f7a1157174dbc0c38 Mon Sep 17 00:00:00 2001 From: zimpha Date: Mon, 3 Nov 2025 15:11:02 +0800 Subject: [PATCH 2/2] fix deployment scripts --- script/DeployHelper.s.sol | 111 +------------------------------------ script/DeployScroll.s.sol | 62 ++++++++------------- script/RunDeployment.s.sol | 6 +- 3 files changed, 27 insertions(+), 152 deletions(-) diff --git a/script/DeployHelper.s.sol b/script/DeployHelper.s.sol index 6c31506..1859dc8 100644 --- a/script/DeployHelper.s.sol +++ b/script/DeployHelper.s.sol @@ -43,10 +43,7 @@ contract DeployHelper is Script { // 3. Verify Treasury configuration verifyTreasuryConfiguration(); - // 4. Verify facet functionality - verifyFacetFunctionality(); - - // 5. Verify contract linking + // 4. Verify contract linking verifyContractLinking(); console.log("\nALL VERIFICATIONS PASSED!"); @@ -116,112 +113,6 @@ contract DeployHelper is Script { console.log("Treasury address linking verified"); } - function verifyFacetFunctionality() internal { - console.log("\n--- Facet Functionality Verification ---"); - - // Test AssetManagerAllocatorFacet - testAssetManagerFacet(); - - // Test InsuranceBufferFacet - testInsuranceBufferFacet(); - - // Test RewardDistributorFacet - testProfitAndLossFacet(); - - console.log("All facet functionality verified"); - } - - function testAssetManagerFacet() internal { - console.log(" Testing AssetManagerAllocatorFacet..."); - - // Test maxLeverage function - bytes memory maxLeverageData = abi.encodeWithSelector(bytes4(keccak256("maxLeverage()"))); - (bool success, bytes memory result) = address(treasury).call(maxLeverageData); - require(success, "maxLeverage call failed"); - - uint256 maxLeverage = abi.decode(result, (uint256)); - console.log(" maxLeverage:", maxLeverage); - - // Test netDeposits function - USDC is available on Scroll mainnet fork - bytes memory netDepositsData = abi.encodeWithSelector(bytes4(keccak256("netDeposits()"))); - (success, result) = address(treasury).call(netDepositsData); - require(success, "netDeposits call failed"); - - uint256 netDeposits = abi.decode(result, (uint256)); - console.log(" netDeposits:", netDeposits); - - // Test checkMaxLeverage function - bytes memory checkMaxLeverageData = abi.encodeWithSelector( - bytes4(keccak256("checkMaxLeverage(uint256)")), - 1000000 // 1M USDC allocation - ); - (success, result) = address(treasury).call(checkMaxLeverageData); - require(success, "checkMaxLeverage call failed"); - - bool isWithinLimit = abi.decode(result, (bool)); - console.log(" checkMaxLeverage(1M):", isWithinLimit ? "within limit" : "exceeds limit"); - } - - function testInsuranceBufferFacet() internal { - console.log(" Testing InsuranceBufferFacet..."); - - // Test bufferTarget function - bytes memory bufferTargetData = abi.encodeWithSelector(bytes4(keccak256("bufferTarget()"))); - (bool success, bytes memory result) = address(treasury).call(bufferTargetData); - require(success, "bufferTarget call failed"); - - uint256 bufferTarget = abi.decode(result, (uint256)); - console.log(" bufferTarget:", bufferTarget); - - // Test bufferRenewalRate function - bytes memory bufferRenewalRateData = abi.encodeWithSelector(bytes4(keccak256("bufferRenewalRate()"))); - (success, result) = address(treasury).call(bufferRenewalRateData); - require(success, "bufferRenewalRate call failed"); - - uint256 bufferRenewalRate = abi.decode(result, (uint256)); - console.log(" bufferRenewalRate:", bufferRenewalRate); - - // Note: topUpBuffer and slashBuffer are internal functions that get called during other operations - // They will be tested as part of the full flow in the actual test suite - console.log(" topUpBuffer: internal function (tested in full flow)"); - console.log(" slashBuffer: internal function (tested in full flow)"); - } - - function testProfitAndLossFacet() internal { - console.log(" Testing RewardDistributorFacet..."); - - // Test successFee function - bytes memory successFeeData = abi.encodeWithSelector( - bytes4(keccak256("successFee(uint256)")), - 1000000 // 1M profit amount - ); - (bool success, bytes memory result) = address(treasury).call(successFeeData); - require(success, "successFee call failed"); - - uint256 successFee = abi.decode(result, (uint256)); - console.log(" successFee:", successFee); - - // Test profitLatestEpoch function - bytes memory profitLatestEpochData = abi.encodeWithSelector(bytes4(keccak256("profitLatestEpoch()"))); - (success, result) = address(treasury).call(profitLatestEpochData); - require(success, "profitLatestEpoch call failed"); - - uint256 profitLatestEpoch = abi.decode(result, (uint256)); - console.log(" profitLatestEpoch:", profitLatestEpoch); - - // Test profitPerBlock function - bytes memory profitPerBlockData = abi.encodeWithSelector(bytes4(keccak256("profitPerBlock()"))); - (success, result) = address(treasury).call(profitPerBlockData); - require(success, "profitPerBlock call failed"); - - uint256 profitPerBlock = abi.decode(result, (uint256)); - console.log(" profitPerBlock:", profitPerBlock); - - // Note: assetManagerReport is a state-changing function that gets called during other operations - // It will be tested as part of the full flow in the actual test suite - console.log(" assetManagerReport: state-changing function (tested in full flow)"); - } - function verifyContractLinking() internal view { console.log("\n--- Contract Linking Verification ---"); diff --git a/script/DeployScroll.s.sol b/script/DeployScroll.s.sol index ef88078..cd740bc 100644 --- a/script/DeployScroll.s.sol +++ b/script/DeployScroll.s.sol @@ -39,7 +39,7 @@ contract DeployScroll is Script { address public treasuryProxy; // Facet addresses - address public profitLossFacet; + address public rewardDistributorFacet; address public insuranceBufferFacet; address public assetManagerFacet; @@ -218,10 +218,10 @@ contract DeployScroll is Script { // Deploy Facets console.log("2.3. Deploying Facets..."); - profitLossFacet = address(new RewardDistributorFacet()); + rewardDistributorFacet = address(new RewardDistributorFacet()); assetManagerFacet = address(new AssetManagerAllocatorFacet()); - console.log("Profit/Loss Facet:", profitLossFacet); + console.log("Reward Distributor Facet:", rewardDistributorFacet); console.log("Asset Manager Facet:", assetManagerFacet); // Deploy Asset Manager @@ -253,15 +253,12 @@ contract DeployScroll is Script { USX usx = USX(usxProxy); usx.initializeTreasury(treasuryProxy); console.log("USX linked to Treasury"); - vm.stopBroadcast(); // Link StakedUSX to Treasury console.log("3.2. Linking StakedUSX to Treasury..."); - vm.startBroadcast(governance); StakedUSX susx = StakedUSX(susxProxy); susx.initializeTreasury(treasuryProxy); console.log("StakedUSX linked to Treasury"); - vm.stopBroadcast(); // Add Facets to Diamond console.log("3.3. Adding Facets to Diamond..."); @@ -290,38 +287,41 @@ contract DeployScroll is Script { assetManagerSelectors[5] = AssetManagerAllocatorFacet .transferUSDCForWithdrawal .selector; - - vm.prank(governance); treasury.addFacet(assetManagerFacet, assetManagerSelectors); console.log("AssetManagerAllocatorFacet added"); // Add RewardDistributorFacet console.log("3.3.3. Adding RewardDistributorFacet..."); - bytes4[] memory profitLossSelectors = new bytes4[](6); - profitLossSelectors[0] = RewardDistributorFacet.successFee.selector; - profitLossSelectors[1] = RewardDistributorFacet.insuranceFund.selector; - profitLossSelectors[2] = RewardDistributorFacet.reportRewards.selector; - profitLossSelectors[3] = RewardDistributorFacet + bytes4[] memory rewardDistributorSelectors = new bytes4[](6); + rewardDistributorSelectors[0] = RewardDistributorFacet + .successFee + .selector; + rewardDistributorSelectors[1] = RewardDistributorFacet + .insuranceFund + .selector; + rewardDistributorSelectors[2] = RewardDistributorFacet + .reportRewards + .selector; + rewardDistributorSelectors[3] = RewardDistributorFacet .setSuccessFeeFraction .selector; - profitLossSelectors[4] = RewardDistributorFacet + rewardDistributorSelectors[4] = RewardDistributorFacet .setInsuranceFundFraction .selector; - profitLossSelectors[5] = RewardDistributorFacet.setReporter.selector; + rewardDistributorSelectors[5] = RewardDistributorFacet + .setReporter + .selector; - vm.prank(governance); - treasury.addFacet(profitLossFacet, profitLossSelectors); + treasury.addFacet(rewardDistributorFacet, rewardDistributorSelectors); console.log("RewardDistributorFacet added"); // Link Asset Manager to Treasury console.log("3.3.4. Linking Asset Manager to Treasury..."); - vm.prank(governance); AssetManagerAllocatorFacet(address(treasury)).setAssetManager( assetManager ); console.log("Asset Manager linked to Treasury"); - - // Note: vm.stopBroadcast() is not needed here since we're not in a broadcast context + vm.stopBroadcast(); } function verifyDeployment() internal { @@ -401,13 +401,7 @@ contract DeployScroll is Script { console.log("Treasury verification passed"); // Verify Facet Accessibility - (bool success, ) = treasuryProxy.call( - abi.encodeWithSelector( - RewardDistributorFacet.successFee.selector, - 1000000 - ) - ); - require(success, "RewardDistributorFacet not accessible"); + RewardDistributorFacet(treasuryProxy).successFee(1000000); console.log("Facet accessibility verification passed"); } @@ -444,18 +438,8 @@ contract DeployScroll is Script { console.log("Treasury basic functionality verified"); // Test facet functionality through diamond - (bool success, bytes memory data) = treasuryProxy.call( - abi.encodeWithSelector( - RewardDistributorFacet.successFee.selector, - 1000000 - ) - ); - require(success, "successFee call failed"); - uint256 successFee = abi.decode(data, (uint256)); - require( - successFee == 500000, - "successFee should be 500000 (5% of 1000000)" - ); + uint256 successFee = RewardDistributorFacet(treasuryProxy).successFee(1000000); + require(successFee == 50000, "successFee should be 50000 (5% of 1000000)"); console.log("Facet functionality verified"); } diff --git a/script/RunDeployment.s.sol b/script/RunDeployment.s.sol index a5282f2..9cb4c2c 100644 --- a/script/RunDeployment.s.sol +++ b/script/RunDeployment.s.sol @@ -103,9 +103,9 @@ contract RunDeployment is Script { console.log(" RewardDistributorFacet"); console.log(""); console.log("Configuration:"); - console.log(" USDC Address:", 0x06eFdBFf2a14a7c8E15944D1F4A48F9F95F663A4); - console.log(" Governance:", 0x1000000000000000000000000000000000000001); - console.log(" Asset Manager:", 0x3000000000000000000000000000000000000003); + console.log(" USDC Address:", deployer.usdcAddress()); + console.log(" Governance:", deployer.governance()); + console.log(" Asset Manager:", deployer.assetManager()); console.log(""); console.log("Default Values:"); console.log(" Max Leverage Fraction: 10% (100000)");