idle_moloch/lib/Baal/contracts/mock/MockBaal.sol
2024-11-01 11:55:27 +01:00

42 lines
1.1 KiB
Solidity

// SPDX-License-Identifier: MIT
pragma solidity 0.8.7;
import "@openzeppelin/contracts/proxy/Clones.sol";
import "../Baal.sol";
contract MockBaal {
bool public lootPaused;
IBaalToken public lootToken; /*Sub ERC20 for loot mgmt*/
constructor(
address payable _lootSingleton,
string memory _name,
string memory _symbol
) {
/*Clone loot singleton using EIP1167 minimal proxy pattern*/
lootToken = IBaalToken(Clones.clone(_lootSingleton));
lootToken.setUp(
string(abi.encodePacked(_name, " LOOT")),
string(abi.encodePacked(_symbol, "-LOOT"))
);
}
function setLootPaused(bool paused) external {
if(!lootToken.paused() && paused){
lootToken.pause();
} else if(lootToken.paused() && !paused){
lootToken.unpause();
}
lootPaused = paused;
}
function mintLoot(address _to, uint256 _amount) external {
lootToken.mint(_to, _amount);
}
function burnLoot(address _from, uint256 _amount) external {
lootToken.burn(_from, _amount);
}
}