|
| 1 | +// SPDX-License-Identifier: MIT |
| 2 | +pragma solidity 0.8.34; |
| 3 | + |
| 4 | +import "forge-std/Script.sol"; |
| 5 | +import { DeployBase } from "../DeployBase.sol"; |
| 6 | + |
| 7 | +import { ERC1967Proxy } from "@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol"; |
| 8 | + |
| 9 | +import { MarketFactory } from "../../src/moolah/MarketFactory.sol"; |
| 10 | + |
| 11 | +contract MarketFactoryDeploy is DeployBase { |
| 12 | + address moolah = 0x4c26397D4ef9EEae55735a1631e69Da965eBC41A; |
| 13 | + address liquidator = 0x8096Bbe78eB83B83dD286c6062a1eFbE85305c97; |
| 14 | + address publicLiquidator = 0x456500a836DD73A5aF6fD85632E4805a8dAb9a97; |
| 15 | + address listaRevenueDistributor = 0xe36857af784fB2B8cFA22481b51Fa0c99D13fF20; |
| 16 | + address buyback = 0x371b76E7C797AF9336443F6588B510c9d177315e; |
| 17 | + address autoBuyback = 0xa4cb526E4D1CaF21f1DFA824f9B4728b217D1eBd; |
| 18 | + address WBNB = 0xae13d989daC2f0dEbFf460aC112a837C89BAa7cd; |
| 19 | + address slisBNB = 0xCc752dC4ae72386986d011c2B485be0DAd98C744; |
| 20 | + address BNBProvider = 0x297152bCC1dd5bC0Df527CB16E7Ff7348d7b1d72; |
| 21 | + address slisBNBProvider = 0x0612c940460D68C16aA213315E32Fba579beD6A6; |
| 22 | + address rateCalculator = 0x638B87aBD83C54CBaABBDfF096f94F795fe9e83c; |
| 23 | + address brokerLiquidator = 0xeAe8EaB31E7299Cc4c7C6F08f3C1AA8eF08dC175; |
| 24 | + |
| 25 | + function run() public { |
| 26 | + uint256 deployerPrivateKey = _deployerKey(); |
| 27 | + address deployer = vm.addr(deployerPrivateKey); |
| 28 | + address operator = deployer; |
| 29 | + address pauser = deployer; |
| 30 | + console.log("Deployer: ", deployer); |
| 31 | + vm.startBroadcast(deployerPrivateKey); |
| 32 | + |
| 33 | + // Deploy implementation |
| 34 | + MarketFactory impl = new MarketFactory( |
| 35 | + moolah, |
| 36 | + liquidator, |
| 37 | + publicLiquidator, |
| 38 | + listaRevenueDistributor, |
| 39 | + buyback, |
| 40 | + autoBuyback, |
| 41 | + WBNB, |
| 42 | + slisBNB, |
| 43 | + BNBProvider, |
| 44 | + slisBNBProvider, |
| 45 | + rateCalculator, |
| 46 | + brokerLiquidator |
| 47 | + ); |
| 48 | + console.log("Implementation: ", address(impl)); |
| 49 | + |
| 50 | + // Deploy proxy |
| 51 | + ERC1967Proxy proxy = new ERC1967Proxy( |
| 52 | + address(impl), |
| 53 | + abi.encodeWithSelector(impl.initialize.selector, deployer, operator, pauser) |
| 54 | + ); |
| 55 | + console.log("Loop WBNB Vault BNBProvider proxy: ", address(proxy)); |
| 56 | + |
| 57 | + vm.stopBroadcast(); |
| 58 | + } |
| 59 | +} |
0 commit comments