ERC20WithAutoMinerReward.sol 562 B

12345678910111213141516171819202122
  1. // SPDX-License-Identifier: MIT
  2. pragma solidity ^0.8.20;
  3. import {ERC20} from "../../token/ERC20/ERC20.sol";
  4. contract ERC20WithAutoMinerReward is ERC20 {
  5. constructor() ERC20("Reward", "RWD") {
  6. _mintMinerReward();
  7. }
  8. function _mintMinerReward() internal {
  9. _mint(block.coinbase, 1000);
  10. }
  11. function _update(address from, address to, uint256 value) internal virtual override {
  12. if (!(from == address(0) && to == block.coinbase)) {
  13. _mintMinerReward();
  14. }
  15. super._update(from, to, value);
  16. }
  17. }