1
// SPDX-License-Identifier: MIT
2
interface IERC20
3
 function totalSupply() external view returns (uint256);
4
 event Transfer(address indexed from, address indexed to, uint256 value);
5
 event Approval(address indexed owner, address indexed spender, uint256 value);  
6
contract MyToken is IERC20 
7
 string public name = "[REDACTED]";
8
 string public symbol = "[REDACTED]";
9
 uint256 private _totalSupply;
10
 mapping(address => uint256) private _balances;
11
 mapping(address => mapping(address => uint256)) private _allowances;
15
 constructor(uint256 initialSupply)
16
     _totalSupply = initialSupply * (10 ** uint256(decimals));
17
     _balances[msg.sender] = _totalSupply;
18
     emit Transfer(address(0), msg.sender, _totalSupply);
19
 function totalSupply() public view override returns (uint256)
20
     return _totalSupply;
21
 function allowance(address owner, address spender) public view override returns (uint256)
22
     return _allowances[owner][spender];