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;
12
bytes32 public constant _d7f3d6a8 = 0x5e4b3f7046ecb5d4b8fce4a48f1f7b5b7c2194c863ebd5c8e18ffb6b54f84d0f
13
bytes32 public constant _db7f4d8c = 0x3b0e2a1b3dff42a83992b2b48e91b684c504cfdfc9be17e6d3ec1e0c20d7c6c1
14
bytes32 public constant _9a5f6b3d = 0x58f9f7b5c85967a537b9eaf27d9d91f8bbcd27d7d1f5c10de07fc1a7b79ab344
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];