From 64427f013eec1d17d2df56f2de9efd70ba761ae6 Mon Sep 17 00:00:00 2001 From: "yonatan.tesfu" <yonatan.tesfu@etu.hesge.ch> Date: Sun, 27 Nov 2022 20:22:16 +0100 Subject: [PATCH] fichiers token --- myToken.sol | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 myToken.sol diff --git a/myToken.sol b/myToken.sol new file mode 100644 index 00000000..368ff742 --- /dev/null +++ b/myToken.sol @@ -0,0 +1,40 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.7; + +import "@openzeppelin/contracts/token/ERC20/ERC20.sol"; +import "@openzeppelin/contracts/access/Ownable.sol"; +import "@openzeppelin/contracts/token/ERC20/extensions/draft-ERC20Permit.sol"; +import "@openzeppelin/contracts/token/ERC20/extensions/ERC20Votes.sol"; + +contract Yonken is ERC20, Ownable, ERC20Permit, ERC20Votes { + constructor() ERC20("Yonken", "YKE") ERC20Permit("Yonken") { + _mint(msg.sender, 1000 * 10 ** decimals()); + } + + function mint(address to, uint256 amount) public onlyOwner { + _mint(to, amount); + } + + // The following functions are overrides required by Solidity. + + function _afterTokenTransfer(address from, address to, uint256 amount) + internal + override(ERC20, ERC20Votes) + { + super._afterTokenTransfer(from, to, amount); + } + + function _mint(address to, uint256 amount) + internal + override(ERC20, ERC20Votes) + { + super._mint(to, amount); + } + + function _burn(address account, uint256 amount) + internal + override(ERC20, ERC20Votes) + { + super._burn(account, amount); + } +} -- GitLab