You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
36 lines
1.0 KiB
36 lines
1.0 KiB
// SPDX-License-Identifier: MIT
|
|
|
|
pragma solidity ^0.8.19;
|
|
|
|
import "../patched/token/ERC20/ERC20.sol";
|
|
import "../patched/token/ERC20/extensions/ERC20Permit.sol";
|
|
import "../patched/token/ERC20/extensions/ERC20FlashMint.sol";
|
|
|
|
contract ERC20FlashMintHarness is ERC20, ERC20Permit, ERC20FlashMint {
|
|
uint256 someFee;
|
|
address someFeeReceiver;
|
|
|
|
constructor(string memory name, string memory symbol) ERC20(name, symbol) ERC20Permit(name) {}
|
|
|
|
function mint(address account, uint256 amount) external {
|
|
_mint(account, amount);
|
|
}
|
|
|
|
function burn(address account, uint256 amount) external {
|
|
_burn(account, amount);
|
|
}
|
|
|
|
// public accessor
|
|
function flashFeeReceiver() public view returns (address) {
|
|
return someFeeReceiver;
|
|
}
|
|
|
|
// internal hook
|
|
function _flashFee(address, uint256) internal view override returns (uint256) {
|
|
return someFee;
|
|
}
|
|
|
|
function _flashFeeReceiver() internal view override returns (address) {
|
|
return someFeeReceiver;
|
|
}
|
|
}
|
|
|