@@ -101,6 +101,24 @@ contract DeployDev is Script {
101101
102102 Asset[] assets;
103103
104+ TestERC20 assetWETH;
105+ IEVault eWETH;
106+
107+ TestERC20 assetwstETH;
108+ IEVault ewstETH;
109+
110+ TestERC20 assetUSDC;
111+ IEVault eUSDC;
112+
113+ TestERC20 assetUSDT;
114+ IEVault eUSDT;
115+
116+ TestERC20 assetDAI;
117+ IEVault eDAI;
118+
119+ TestERC20 assetUSDZ;
120+ IEVault eUSDZ;
121+
104122 //////// EulerSwap
105123
106124 address poolManager;
@@ -170,25 +188,31 @@ contract DeployDev is Script {
170188 vm.writeJson (result, "./dev-ctx/addresses/31337/CoreAddresses.json " );
171189 }
172190
173- function genAsset (string memory symbol , uint8 decimals , string memory price , uint256 priceNum ) internal returns (Asset memory a ) {
191+ function genAsset (string memory symbol , uint8 decimals , string memory price , uint256 priceNum ) internal returns (TestERC20, IEVault) {
192+ Asset memory a;
193+
174194 a.symbol = symbol;
175195 a.asset = address (new TestERC20 (string (abi.encodePacked (symbol, " Token " )), symbol, decimals, false ));
176196 a.vault = factory.createProxy (address (0 ), true , abi.encodePacked (a.asset, address (oracle), unitOfAccount));
177197 a.price = price;
178198 a.priceNum = priceNum;
199+
179200 IEVault (a.vault).setHookConfig (address (0 ), 0 );
180201 IEVault (a.vault).setInterestRateModel (address (new IRMTestDefault ()));
181202 IEVault (a.vault).setMaxLiquidationDiscount (0.2e4 );
182203 IEVault (a.vault).setFeeReceiver (feeReceiver);
204+
205+ assets.push (a);
206+ return (TestERC20 (a.asset), IEVault (a.vault));
183207 }
184208
185209 function deployAssets () internal {
186- assets. push ( genAsset ("WETH " , 18 , "2865 " , 2865e18 ) );
187- assets. push ( genAsset ("wstETH " , 18 , "3055 " , 3055e18 ) );
188- assets. push ( genAsset ("USDC " , 6 , "1.000142 " , 1e18 * 1e12 ) );
189- assets. push ( genAsset ("USDT " , 6 , "0.999218 " , 1e18 * 1e12 ) );
190- assets. push ( genAsset ("DAI " , 18 , "1.00123 " , 1e18 ) );
191- assets. push ( genAsset ("USDZ " , 6 , "1.00081 " , 1e18 * 1e12 ) );
210+ (assetWETH, eWETH) = genAsset ("WETH " , 18 , "2865 " , 2865e18 );
211+ (assetwstETH, ewstETH) = genAsset ("wstETH " , 18 , "3055 " , 3055e18 );
212+ (assetUSDC, eUSDC) = genAsset ("USDC " , 6 , "1.000142 " , 1e18 * 1e12 );
213+ (assetUSDT, eUSDT) = genAsset ("USDT " , 6 , "0.999218 " , 1e18 * 1e12 );
214+ (assetDAI, eDAI) = genAsset ("DAI " , 18 , "1.00123 " , 1e18 );
215+ (assetUSDZ, eUSDZ) = genAsset ("USDZ " , 6 , "1.00081 " , 1e18 * 1e12 );
192216
193217 for (uint256 i; i < assets.length ; ++ i) {
194218 oracle.setPrice (assets[i].vault, unitOfAccount, assets[i].priceNum);
@@ -199,12 +223,12 @@ contract DeployDev is Script {
199223 }
200224 }
201225
202- IEVault (assets[ 0 ].vault). setLTV (assets[ 1 ].vault , 0.5e4 , 0.52e4 , 0 ); // lower wstETH/WETH LTV for testing
203- IEVault (assets[ 1 ].vault). setLTV (assets[ 0 ].vault , 0.91e4 , 0.93e4 , 0 ); // change WETH/wstETH LTV for testing
204- IEVault (assets[ 1 ].vault). setLTV (assets[ 2 ].vault , 0.8e4 , 0.82e4 , 0 ); // change USDC/wstETH LTV for testing
226+ eWETH. setLTV (address (ewstETH) , 0.5e4 , 0.52e4 , 0 ); // lower wstETH/WETH LTV for testing
227+ ewstETH. setLTV (address (eWETH) , 0.91e4 , 0.93e4 , 0 ); // change WETH/wstETH LTV for testing
228+ ewstETH. setLTV (address (eUSDC) , 0.8e4 , 0.82e4 , 0 ); // change USDC/wstETH LTV for testing
205229
206- IEVault (assets[ 0 ].vault). setLTV (assets[ 2 ].vault , 0.65e4 , 0.67e4 , 0 ); // change USDC/WETH LTV for testing
207- IEVault (assets[ 0 ].vault). setLTV (assets[ 3 ].vault , 0.85e4 , 0.87e4 , 0 ); // change USDT/WETH LTV for testing
230+ eWETH. setLTV (address (eUSDC) , 0.65e4 , 0.67e4 , 0 ); // change USDC/WETH LTV for testing
231+ eWETH. setLTV (address (eUSDT) , 0.85e4 , 0.87e4 , 0 ); // change USDT/WETH LTV for testing
208232
209233 address [] memory vaults = new address [](assets.length );
210234 for (uint256 i; i < assets.length ; ++ i) {
@@ -253,24 +277,6 @@ contract DeployDev is Script {
253277 }
254278
255279 function setupUsers () internal {
256- IEVault eWETH = IEVault (assets[0 ].vault);
257- TestERC20 assetWETH = TestERC20 (eWETH.asset ());
258-
259- IEVault ewstETH = IEVault (assets[1 ].vault);
260- TestERC20 assetwstETH = TestERC20 (ewstETH.asset ());
261-
262- IEVault eUSDC = IEVault (assets[2 ].vault);
263- TestERC20 assetUSDC = TestERC20 (eUSDC.asset ());
264-
265- IEVault eUSDT = IEVault (assets[3 ].vault);
266- TestERC20 assetUSDT = TestERC20 (eUSDT.asset ());
267-
268- IEVault eDAI = IEVault (assets[4 ].vault);
269- TestERC20 assetDAI = TestERC20 (eDAI.asset ());
270-
271- IEVault eUSDZ = IEVault (assets[5 ].vault);
272- TestERC20 assetUSDZ = TestERC20 (eUSDZ.asset ());
273-
274280 // user2 is passive depositor
275281 vm.startBroadcast (user2PK);
276282
0 commit comments