Address Contract Partially Verified
Address
0xeBeeE479e1635B7e65AFe2bCa80f1dE4A265A370
Balance
0 ETH
Nonce
1
Code Size
2591 bytes
Creator
0xEc788db6...6032 at tx 0xfa98af2f...0f9b4f
Indexed Transactions
0
Contract Bytecode
2591 bytes
0x608060405234801561001057600080fd5b50600436106100ea5760003560e01c8063715018a61161008c578063a457c2d711610066578063a457c2d7146101d3578063a9059cbb146101e6578063dd62ed3e146101f9578063f2fde38b1461020c57600080fd5b8063715018a6146101a65780638da5cb5b146101b057806395d89b41146101cb57600080fd5b806323b872dd116100c857806323b872dd14610142578063313ce56714610155578063395093511461016a57806370a082311461017d57600080fd5b806306fdde03146100ef578063095ea7b31461010d57806318160ddd14610130575b600080fd5b6100f761021f565b6040516101049190610869565b60405180910390f35b61012061011b3660046108d3565b6102b1565b6040519015158152602001610104565b6004545b604051908152602001610104565b6101206101503660046108fd565b6102cb565b60035460405160ff9091168152602001610104565b6101206101783660046108d3565b6102ef565b61013461018b366004610939565b6001600160a01b031660009081526005602052604090205490565b6101ae610311565b005b6000546040516001600160a01b039091168152602001610104565b6100f7610325565b6101206101e13660046108d3565b610334565b6101206101f43660046108d3565b6103b4565b61013461020736600461095b565b6103c2565b6101ae61021a366004610939565b6103ed565b60606001805461022e9061098e565b80601f016020809104026020016040519081016040528092919081815260200182805461025a9061098e565b80156102a75780601f1061027c576101008083540402835291602001916102a7565b820191906000526020600020905b81548152906001019060200180831161028a57829003601f168201915b5050505050905090565b6000336102bf818585610466565b60019150505b92915050565b6000336102d985828561058a565b6102e4858585610604565b506001949350505050565b6000336102bf81858561030283836103c2565b61030c91906109c8565b610466565b6103196107b0565b6103236000610819565b565b60606002805461022e9061098e565b6000338161034282866103c2565b9050838110156103a75760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084015b60405180910390fd5b6102e48286868403610466565b6000336102bf818585610604565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b6103f56107b0565b6001600160a01b03811661045a5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161039e565b61046381610819565b50565b6001600160a01b0383166104c85760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161039e565b6001600160a01b0382166105295760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161039e565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600061059684846103c2565b905060001981146105fe57818110156105f15760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161039e565b6105fe8484848403610466565b50505050565b6001600160a01b0383166106685760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161039e565b6001600160a01b0382166106ca5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161039e565b6001600160a01b038316600090815260056020526040902054818110156107425760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161039e565b6001600160a01b0380851660008181526005602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906107a29086815260200190565b60405180910390a350505050565b336107c36000546001600160a01b031690565b6001600160a01b0316146103235760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161039e565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600060208083528351808285015260005b818110156108965785810183015185820160400152820161087a565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b03811681146108ce57600080fd5b919050565b600080604083850312156108e657600080fd5b6108ef836108b7565b946020939093013593505050565b60008060006060848603121561091257600080fd5b61091b846108b7565b9250610929602085016108b7565b9150604084013590509250925092565b60006020828403121561094b57600080fd5b610954826108b7565b9392505050565b6000806040838503121561096e57600080fd5b610977836108b7565b9150610985602084016108b7565b90509250929050565b600181811c908216806109a257607f821691505b6020821081036109c257634e487b7160e01b600052602260045260246000fd5b50919050565b808201808211156102c557634e487b7160e01b600052601160045260246000fdfea26469706673582212203b4a5ffe907d7b2bb74c5bc4381be0951b487a3e3cb75428dd69fc2282cb015364736f6c63430008130033
Verified Source Code Partial Match
Compiler: v0.8.19+commit.7dd6d404
EVM: paris
Optimization: Yes (200 runs)
BESO.sol 175 lines
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.19;
abstract contract Ownable {
address private _owner;
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
constructor() {
_transferOwnership(msg.sender);
}
modifier onlyOwner() {
_checkOwner();
_;
}
function owner() public view virtual returns (address) {
return _owner;
}
function _checkOwner() internal view virtual {
require(owner() == msg.sender, "Ownable: caller is not the owner");
}
function renounceOwnership() public virtual onlyOwner {
_transferOwnership(address(0));
}
function transferOwnership(address newOwner) public virtual onlyOwner {
require(newOwner != address(0), "Ownable: new owner is the zero address");
_transferOwnership(newOwner);
}
function _transferOwnership(address newOwner) internal virtual {
address oldOwner = _owner;
_owner = newOwner;
emit OwnershipTransferred(oldOwner, newOwner);
}
}
interface IERC20 {
event Transfer(address indexed from, address indexed to, uint256 value);
event Approval(address indexed owner, address indexed spender, uint256 value);
function totalSupply() external view returns (uint256);
function balanceOf(address account) external view returns (uint256);
function transfer(address to, uint256 amount) external returns (bool);
function allowance(address owner, address spender) external view returns (uint256);
function approve(address spender, uint256 amount) external returns (bool);
function transferFrom(address from, address to, uint256 amount) external returns (bool);
}
contract BESO is IERC20, Ownable {
string private _name = "SOPHON";
string private _symbol = "SOPH";
uint8 private _decimals = 18;
uint256 private _totalSupply = 1500000000000 * (10 ** decimals());
mapping(address => uint256) private _balances;
mapping(address => mapping(address => uint256)) private _allowances;
constructor () {
_balances[owner()] = _totalSupply;
emit Transfer(address(0), owner(), _totalSupply);
}
function name() public view virtual returns (string memory) {
return _name;
}
function symbol() public view virtual returns (string memory) {
return _symbol;
}
function decimals() public view virtual returns (uint8) {
return _decimals;
}
function totalSupply() public view virtual override returns (uint256) {
return _totalSupply;
}
function balanceOf(address account) public view virtual override returns (uint256) {
return _balances[account];
}
function transfer(address to, uint256 amount) public virtual override returns (bool) {
address owner = msg.sender;
_transfer(owner, to, amount);
return true;
}
function allowance(address owner, address spender) public view virtual override returns (uint256) {
return _allowances[owner][spender];
}
function approve(address spender, uint256 amount) public virtual override returns (bool) {
address owner = msg.sender;
_approve(owner, spender, amount);
return true;
}
function transferFrom(
address from,
address to,
uint256 amount
) public virtual override returns (bool) {
address spender = msg.sender;
_spendAllowance(from, spender, amount);
_transfer(from, to, amount);
return true;
}
function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
address owner = msg.sender;
_approve(owner, spender, allowance(owner, spender) + addedValue);
return true;
}
function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
address owner = msg.sender;
uint256 currentAllowance = allowance(owner, spender);
require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
unchecked {
_approve(owner, spender, currentAllowance - subtractedValue);
}
return true;
}
function _transfer(
address from,
address to,
uint256 amount
) internal virtual {
require(from != address(0), "ERC20: transfer from the zero address");
require(to != address(0), "ERC20: transfer to the zero address");
uint256 fromBalance = _balances[from];
require(fromBalance >= amount, "ERC20: transfer amount exceeds balance");
unchecked {
_balances[from] = fromBalance - amount;
_balances[to] += amount;
}
emit Transfer(from, to, amount);
}
function _approve(
address owner,
address spender,
uint256 amount
) internal virtual {
require(owner != address(0), "ERC20: approve from the zero address");
require(spender != address(0), "ERC20: approve to the zero address");
_allowances[owner][spender] = amount;
emit Approval(owner, spender, amount);
}
function _spendAllowance(
address owner,
address spender,
uint256 amount
) internal virtual {
uint256 currentAllowance = allowance(owner, spender);
if (currentAllowance != type(uint256).max) {
require(currentAllowance >= amount, "ERC20: insufficient allowance");
unchecked {
_approve(owner, spender, currentAllowance - amount);
}
}
}
}
Read Contract
allowance 0xdd62ed3e → uint256
balanceOf 0x70a08231 → uint256
decimals 0x313ce567 → uint8
name 0x06fdde03 → string
owner 0x8da5cb5b → address
symbol 0x95d89b41 → string
totalSupply 0x18160ddd → uint256
Write Contract 7 functions
These functions modify contract state and require a wallet transaction to execute.
approve 0x095ea7b3
address spender
uint256 amount
returns: bool
decreaseAllowance 0xa457c2d7
address spender
uint256 subtractedValue
returns: bool
increaseAllowance 0x39509351
address spender
uint256 addedValue
returns: bool
renounceOwnership 0x715018a6
No parameters
transfer 0xa9059cbb
address to
uint256 amount
returns: bool
transferFrom 0x23b872dd
address from
address to
uint256 amount
returns: bool
transferOwnership 0xf2fde38b
address newOwner
Recent Transactions
No transactions found for this address