- Contract name:
- BEME
- Optimization enabled
- true
- Compiler version
- v0.8.25+commit.b61c2a91
- Optimization runs
- 200
- EVM Version
- istanbul
- Verified at
- 2024-03-21T10:07:29.973734Z
Contract source code
// SPDX-License-Identifier: MIT pragma solidity ^0.8.24; contract BEME { string public name = "Bank of Electroneum Meme"; string public symbol = "BEME"; uint8 public decimals = 18; uint256 public totalSupply = 1000000000 * (10 ** uint256(decimals)); mapping(address => uint256) private balances; mapping(address => mapping(address => uint256)) private allowances; event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); constructor() { balances[msg.sender] = totalSupply; emit Transfer(address(0), msg.sender, totalSupply); } function balanceOf(address account) external view returns (uint256) { return balances[account]; } function transfer(address to, uint256 value) external returns (bool) { require(to != address(0), "ERC20: transfer to the zero address"); require(value <= balances[msg.sender], "ERC20: insufficient balance"); balances[msg.sender] -= value; balances[to] += value; emit Transfer(msg.sender, to, value); return true; } function approve(address spender, uint256 value) external returns (bool) { allowances[msg.sender][spender] = value; emit Approval(msg.sender, spender, value); return true; } function transferFrom(address from, address to, uint256 value) external returns (bool) { require(to != address(0), "ERC20: transfer to the zero address"); require(value <= balances[from], "ERC20: insufficient balance"); require(value <= allowances[from][msg.sender], "ERC20: insufficient allowance"); balances[from] -= value; balances[to] += value; allowances[from][msg.sender] -= value; emit Transfer(from, to, value); return true; } function allowance(address owner, address spender) external view returns (uint256) { return allowances[owner][spender]; } }
Contract ABI
[{"type":"constructor","stateMutability":"nonpayable","inputs":[]},{"type":"event","name":"Approval","inputs":[{"type":"address","name":"owner","internalType":"address","indexed":true},{"type":"address","name":"spender","internalType":"address","indexed":true},{"type":"uint256","name":"value","internalType":"uint256","indexed":false}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"type":"address","name":"from","internalType":"address","indexed":true},{"type":"address","name":"to","internalType":"address","indexed":true},{"type":"uint256","name":"value","internalType":"uint256","indexed":false}],"anonymous":false},{"type":"function","stateMutability":"view","outputs":[{"type":"uint256","name":"","internalType":"uint256"}],"name":"allowance","inputs":[{"type":"address","name":"owner","internalType":"address"},{"type":"address","name":"spender","internalType":"address"}]},{"type":"function","stateMutability":"nonpayable","outputs":[{"type":"bool","name":"","internalType":"bool"}],"name":"approve","inputs":[{"type":"address","name":"spender","internalType":"address"},{"type":"uint256","name":"value","internalType":"uint256"}]},{"type":"function","stateMutability":"view","outputs":[{"type":"uint256","name":"","internalType":"uint256"}],"name":"balanceOf","inputs":[{"type":"address","name":"account","internalType":"address"}]},{"type":"function","stateMutability":"view","outputs":[{"type":"uint8","name":"","internalType":"uint8"}],"name":"decimals","inputs":[]},{"type":"function","stateMutability":"view","outputs":[{"type":"string","name":"","internalType":"string"}],"name":"name","inputs":[]},{"type":"function","stateMutability":"view","outputs":[{"type":"string","name":"","internalType":"string"}],"name":"symbol","inputs":[]},{"type":"function","stateMutability":"view","outputs":[{"type":"uint256","name":"","internalType":"uint256"}],"name":"totalSupply","inputs":[]},{"type":"function","stateMutability":"nonpayable","outputs":[{"type":"bool","name":"","internalType":"bool"}],"name":"transfer","inputs":[{"type":"address","name":"to","internalType":"address"},{"type":"uint256","name":"value","internalType":"uint256"}]},{"type":"function","stateMutability":"nonpayable","outputs":[{"type":"bool","name":"","internalType":"bool"}],"name":"transferFrom","inputs":[{"type":"address","name":"from","internalType":"address"},{"type":"address","name":"to","internalType":"address"},{"type":"uint256","name":"value","internalType":"uint256"}]}]
Deployed ByteCode
0x608060405234801561001057600080fd5b50600436106100935760003560e01c8063313ce56711610066578063313ce5671461010357806370a082311461012257806395d89b411461014b578063a9059cbb14610153578063dd62ed3e1461016657600080fd5b806306fdde0314610098578063095ea7b3146100b657806318160ddd146100d957806323b872dd146100f0575b600080fd5b6100a061019f565b6040516100ad91906105b3565b60405180910390f35b6100c96100c436600461061e565b61022d565b60405190151581526020016100ad565b6100e260035481565b6040519081526020016100ad565b6100c96100fe366004610648565b61029a565b6002546101109060ff1681565b60405160ff90911681526020016100ad565b6100e2610130366004610684565b6001600160a01b031660009081526004602052604090205490565b6100a0610491565b6100c961016136600461061e565b61049e565b6100e26101743660046106a6565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b600080546101ac906106d9565b80601f01602080910402602001604051908101604052809291908181526020018280546101d8906106d9565b80156102255780601f106101fa57610100808354040283529160200191610225565b820191906000526020600020905b81548152906001019060200180831161020857829003601f168201915b505050505081565b3360008181526005602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906102889086815260200190565b60405180910390a35060015b92915050565b60006001600160a01b0383166102cb5760405162461bcd60e51b81526004016102c290610713565b60405180910390fd5b6001600160a01b0384166000908152600460205260409020548211156103335760405162461bcd60e51b815260206004820152601b60248201527f45524332303a20696e73756666696369656e742062616c616e6365000000000060448201526064016102c2565b6001600160a01b03841660009081526005602090815260408083203384529091529020548211156103a65760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016102c2565b6001600160a01b038416600090815260046020526040812080548492906103ce90849061076c565b90915550506001600160a01b038316600090815260046020526040812080548492906103fb90849061077f565b90915550506001600160a01b03841660009081526005602090815260408083203384529091528120805484929061043390849061076c565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161047f91815260200190565b60405180910390a35060019392505050565b600180546101ac906106d9565b60006001600160a01b0383166104c65760405162461bcd60e51b81526004016102c290610713565b336000908152600460205260409020548211156105255760405162461bcd60e51b815260206004820152601b60248201527f45524332303a20696e73756666696369656e742062616c616e6365000000000060448201526064016102c2565b336000908152600460205260408120805484929061054490849061076c565b90915550506001600160a01b0383166000908152600460205260408120805484929061057190849061077f565b90915550506040518281526001600160a01b0384169033907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001610288565b60006020808352835180602085015260005b818110156105e1578581018301518582016040015282016105c5565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461061957600080fd5b919050565b6000806040838503121561063157600080fd5b61063a83610602565b946020939093013593505050565b60008060006060848603121561065d57600080fd5b61066684610602565b925061067460208501610602565b9150604084013590509250925092565b60006020828403121561069657600080fd5b61069f82610602565b9392505050565b600080604083850312156106b957600080fd5b6106c283610602565b91506106d060208401610602565b90509250929050565b600181811c908216806106ed57607f821691505b60208210810361070d57634e487b7160e01b600052602260045260246000fd5b50919050565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b8181038181111561029457610294610756565b808201808211156102945761029461075656fea2646970667358221220ed20265e0f5dcf417531fb725199b75002eeba86f43e2c0425f8e3a738a8120364736f6c63430008190033