// SPDX-License-Identifier: MIT pragma solidity ^0.8.20; import {console} from "forge-std/Script.sol"; import "../src/UniswapV2Router.sol"; import "./AddressFileRW.sol"; contract UniswapV2RouterScript is AddressFileRWScript { function setUp() public {} function run() public { uint256 privateKey = vm.envUint("DEPLOYMENT_PRIVATE_KEY"); address account = vm.addr(privateKey); address factoryAddress = _readFromFile("UniswapV2Factory"); address wethAddress; try vm.envAddress("WETH_ADDRESS") returns (address maybeWethAddress) { wethAddress = maybeWethAddress; } catch { wethAddress = _readFromFile("WETH9"); } console.log("Deployment Account : ", account); console.log("WETH9 Address : ", wethAddress); console.log("UniswapV2 Factory : ", factoryAddress); vm.broadcast(privateKey); UniswapV2Router router = new UniswapV2Router(factoryAddress, wethAddress); console.log("\n\tRouter Address: ", address(router)); } }