From 6900e3e0e13a96d2c64ff0b2e7348f510cf03836 Mon Sep 17 00:00:00 2001 From: Anna Carroll Date: Thu, 15 Aug 2024 17:08:06 +0100 Subject: [PATCH] feat: deploy generic ERC20s --- script/Zenith.s.sol | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/script/Zenith.s.sol b/script/Zenith.s.sol index 117da44..95be42e 100644 --- a/script/Zenith.s.sol +++ b/script/Zenith.s.sol @@ -8,6 +8,8 @@ import {HostOrders} from "../src/orders/HostOrders.sol"; import {RollupOrders} from "../src/orders/RollupOrders.sol"; import {Passage} from "../src/passage/Passage.sol"; import {RollupPassage} from "../src/passage/RollupPassage.sol"; +// deps +import {SimpleERC20} from "simple-erc20/SimpleERC20.sol"; // utils import {Script} from "forge-std/Script.sol"; @@ -29,13 +31,20 @@ contract ZenithScript is Script { } // deploy: - // forge script ZenithScript --sig "deployL2()" --rpc-url $L2_RPC_URL --private-key $PRIVATE_KEY --broadcast - function deployL2() public returns (address permit2, RollupPassage p, RollupOrders m) { + // forge script ZenithScript --sig "deployL2(address)" --rpc-url $L2_RPC_URL --private-key $PRIVATE_KEY --broadcast $MINTER + function deployL2(address minter) + public + returns (address permit2, RollupPassage p, RollupOrders m, SimpleERC20 wbtc, SimpleERC20 usdt) + { vm.startBroadcast(); // deploy system contracts permit2 = _deployPermit2(); p = new RollupPassage(permit2); m = new RollupOrders(permit2); + + // deploy simple erc20 tokens + wbtc = new SimpleERC20(minter, "Wrapped BTC", "WBTC"); + usdt = new SimpleERC20(minter, "Tether USD", "USDT"); } /// @dev Permit2 contract uses Solidity 0.8.17 which is incompatible with the Solidity version of some OpenZeppeling contracts used as deps for system contracts (RollupOrders and RollupPassage).