becrypto/contracts/market/MallBase.sol
2023-06-15 12:45:03 +08:00

42 lines
1.1 KiB
Solidity

// SPDX-License-Identifier: MIT
pragma solidity 0.8.10;
import "@openzeppelin/contracts/access/Ownable.sol";
contract MallBase is Ownable {
address public executor;
// Address to receive transaction fee
address public feeToAddress;
mapping(address => bool) public erc20Supported;
event AddERC20Suppout(address erc20);
event RemoveERC20Suppout(address erc20);
function addERC20Support(address erc20) external onlyOwner {
require(erc20 != address(0), "ERC20 address is zero");
erc20Supported[erc20] = true;
emit AddERC20Suppout(erc20);
}
function removeERC20Support(address erc20) external onlyOwner {
erc20Supported[erc20] = false;
emit RemoveERC20Suppout(erc20);
}
/**
* @dev update executor
*/
function updateExecutor(address account) external onlyOwner {
require(account != address(0), "address can not be zero");
executor = account;
}
function setFeeToAddress(address _feeToAddress) external onlyOwner {
require(
_feeToAddress != address(0),
"fee received address can not be zero"
);
feeToAddress = _feeToAddress;
}
}