Address Contract Partially Verified
Address
0xabc23b0e93919a4dFFD9478328a9Cc7a383Dcb00
Balance
0 ETH
Nonce
1
Code Size
6437 bytes
Creator
0x9f108586...76bd at tx 0x56b27c7a...55f003
Indexed Transactions
0
Contract Bytecode
6437 bytes
0x608060405234801561001057600080fd5b50600436106100cf5760003560e01c8063715018a61161008c578063a9059cbb11610066578063a9059cbb14610204578063c298266414610234578063c9567bf914610250578063dd62ed3e1461025a576100cf565b8063715018a6146101be5780638da5cb5b146101c857806395d89b41146101e6576100cf565b806306fdde03146100d4578063095ea7b3146100f257806318160ddd1461012257806323b872dd14610140578063313ce5671461017057806370a082311461018e575b600080fd5b6100dc61028a565b6040516100e99190611076565b60405180910390f35b61010c60048036038101906101079190611136565b61031c565b6040516101199190611191565b60405180910390f35b61012a61033a565b60405161013791906111bb565b60405180910390f35b61015a600480360381019061015591906111d6565b610344565b6040516101679190611191565b60405180910390f35b61017861041d565b6040516101859190611245565b60405180910390f35b6101a860048036038101906101a39190611260565b610434565b6040516101b591906111bb565b60405180910390f35b6101c661047d565b005b6101d06105d0565b6040516101dd919061129c565b60405180910390f35b6101ee6105f9565b6040516101fb9190611076565b60405180910390f35b61021e60048036038101906102199190611136565b61068b565b60405161022b9190611191565b60405180910390f35b61024e6004803603810190610249919061131c565b6106a9565b005b6102586107dd565b005b610274600480360381019061026f9190611369565b6108df565b60405161028191906111bb565b60405180910390f35b606060068054610299906113d8565b80601f01602080910402602001604051908101604052809291908181526020018280546102c5906113d8565b80156103125780601f106102e757610100808354040283529160200191610312565b820191906000526020600020905b8154815290600101906020018083116102f557829003601f168201915b5050505050905090565b6000610330610329610966565b848461096e565b6001905092915050565b6000600554905090565b600061040784610352610966565b610402856040518060600160405280602881526020016118c860289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006103b8610966565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b379092919063ffffffff16565b61096e565b610412848484610b9b565b600190509392505050565b6000600460009054906101000a900460ff16905090565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610485610966565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610512576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161050990611455565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060078054610608906113d8565b80601f0160208091040260200160405190810160405280929190818152602001828054610634906113d8565b80156106815780601f1061065657610100808354040283529160200191610681565b820191906000526020600020905b81548152906001019060200180831161066457829003601f168201915b5050505050905090565b600061069f610698610966565b8484610b9b565b6001905092915050565b6106b1610966565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461073e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161073590611455565b60405180910390fd5b60005b828290508110156107d85760016003600085858581811061076557610764611475565b5b905060200201602081019061077a9190611260565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080600101915050610741565b505050565b6107e5610966565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610872576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161086990611455565b60405180910390fd5b600860009054906101000a900460ff16156108c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108b9906114f0565b60405180910390fd5b6001600860006101000a81548160ff021916908315150217905550565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036109dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109d490611582565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610a4c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a4390611614565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610b2a91906111bb565b60405180910390a3505050565b6000838311158290610b7f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b769190611076565b60405180910390fd5b5060008385610b8e9190611663565b9050809150509392505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610c0a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0190611709565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610c79576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c709061179b565b60405180910390fd5b610c838383610e6c565b610cc2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cb990611807565b60405180910390fd5b610ccd838383610f34565b610d1f81600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f3990919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610db481600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f8390919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610e5491906111bb565b60405180910390a3610e67838383610fe1565b505050565b6000610e766105d0565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610eb15760019050610f2e565b600860009054906101000a900460ff1615610ecf5760019050610f2e565b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610f295760009050610f2e565b600190505b92915050565b505050565b6000610f7b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610b37565b905092915050565b6000808284610f929190611827565b905083811015610fd7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fce906118a7565b60405180910390fd5b8091505092915050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611020578082015181840152602081019050611005565b60008484015250505050565b6000601f19601f8301169050919050565b600061104882610fe6565b6110528185610ff1565b9350611062818560208601611002565b61106b8161102c565b840191505092915050565b60006020820190508181036000830152611090818461103d565b905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006110cd826110a2565b9050919050565b6110dd816110c2565b81146110e857600080fd5b50565b6000813590506110fa816110d4565b92915050565b6000819050919050565b61111381611100565b811461111e57600080fd5b50565b6000813590506111308161110a565b92915050565b6000806040838503121561114d5761114c611098565b5b600061115b858286016110eb565b925050602061116c85828601611121565b9150509250929050565b60008115159050919050565b61118b81611176565b82525050565b60006020820190506111a66000830184611182565b92915050565b6111b581611100565b82525050565b60006020820190506111d060008301846111ac565b92915050565b6000806000606084860312156111ef576111ee611098565b5b60006111fd868287016110eb565b935050602061120e868287016110eb565b925050604061121f86828701611121565b9150509250925092565b600060ff82169050919050565b61123f81611229565b82525050565b600060208201905061125a6000830184611236565b92915050565b60006020828403121561127657611275611098565b5b6000611284848285016110eb565b91505092915050565b611296816110c2565b82525050565b60006020820190506112b1600083018461128d565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f8401126112dc576112db6112b7565b5b8235905067ffffffffffffffff8111156112f9576112f86112bc565b5b602083019150836020820283011115611315576113146112c1565b5b9250929050565b6000806020838503121561133357611332611098565b5b600083013567ffffffffffffffff8111156113515761135061109d565b5b61135d858286016112c6565b92509250509250929050565b600080604083850312156113805761137f611098565b5b600061138e858286016110eb565b925050602061139f858286016110eb565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806113f057607f821691505b602082108103611403576114026113a9565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061143f602083610ff1565b915061144a82611409565b602082019050919050565b6000602082019050818103600083015261146e81611432565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b60006114da601783610ff1565b91506114e5826114a4565b602082019050919050565b60006020820190508181036000830152611509816114cd565b9050919050565b7f65726332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061156c602483610ff1565b915061157782611510565b604082019050919050565b6000602082019050818103600083015261159b8161155f565b9050919050565b7f65726332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006115fe602283610ff1565b9150611609826115a2565b604082019050919050565b6000602082019050818103600083015261162d816115f1565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061166e82611100565b915061167983611100565b925082820390508181111561169157611690611634565b5b92915050565b7f65726332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006116f3602583610ff1565b91506116fe82611697565b604082019050919050565b60006020820190508181036000830152611722816116e6565b9050919050565b7f65726332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000611785602383610ff1565b915061179082611729565b604082019050919050565b600060208201905081810360008301526117b481611778565b9050919050565b7f74726164696e67206e6f7420616c6c6f77656400000000000000000000000000600082015250565b60006117f1601383610ff1565b91506117fc826117bb565b602082019050919050565b60006020820190508181036000830152611820816117e4565b9050919050565b600061183282611100565b915061183d83611100565b925082820190508082111561185557611854611634565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000611891601b83610ff1565b915061189c8261185b565b602082019050919050565b600060208201905081810360008301526118c081611884565b905091905056fe65726332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220c9fede4ad192a6d62094d3f3f43c2efbf472d415e87d492a0acbbbd640b4810f64736f6c634300081a0033
Verified Source Code Partial Match
Compiler: v0.8.26+commit.8a97fa7a
EVM: paris
Optimization: No
Token.sol 275 lines
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;
abstract contract Context {
function _msgSender() internal view virtual returns (address) {
return msg.sender;
}
}
interface IERC20 {
function totalSupply() external view returns (uint256);
function balanceOf(address account) external view returns (uint256);
function transfer(address recipient, 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 sender,
address recipient,
uint256 amount
) external returns (bool);
event Transfer(address indexed from, address indexed to, uint256 value);
event Approval(
address indexed owner,
address indexed spender,
uint256 value
);
}
library SafeMath {
function add(uint256 a, uint256 b) internal pure returns (uint256) {
uint256 c = a + b;
require(c >= a, "SafeMath: addition overflow");
return c;
}
function sub(uint256 a, uint256 b) internal pure returns (uint256) {
return sub(a, b, "SafeMath: subtraction overflow");
}
function sub(
uint256 a,
uint256 b,
string memory errorMessage
) internal pure returns (uint256) {
require(b <= a, errorMessage);
uint256 c = a - b;
return c;
}
function mul(uint256 a, uint256 b) internal pure returns (uint256) {
if (a == 0) {
return 0;
}
uint256 c = a * b;
require(c / a == b, "SafeMath: multiplication overflow");
return c;
}
function div(uint256 a, uint256 b) internal pure returns (uint256) {
return div(a, b, "SafeMath: division by zero");
}
function div(
uint256 a,
uint256 b,
string memory errorMessage
) internal pure returns (uint256) {
require(b > 0, errorMessage);
uint256 c = a / b;
return c;
}
}
contract Ownable is Context {
address private _owner;
event OwnershipTransferred(
address indexed previousOwner,
address indexed newOwner
);
constructor() {
address msgSender = _msgSender();
_owner = msgSender;
emit OwnershipTransferred(address(0), msgSender);
}
function owner() public view returns (address) {
return _owner;
}
modifier onlyOwner() {
require(_owner == _msgSender(), "Ownable: caller is not the owner");
_;
}
function renounceOwnership() public virtual onlyOwner {
emit OwnershipTransferred(_owner, address(0));
_owner = address(0);
}
}
contract Token is Context, IERC20, Ownable {
using SafeMath for uint256;
mapping(address => uint256) private _balances;
mapping(address => mapping(address => uint256)) private _allowances;
mapping(address => bool) private _transferLimitExempt;
uint8 private _decimals;
uint256 private _tTotal;
string private _name;
string private _symbol;
bool private tradingOpen;
constructor(
string memory __symbol,
string memory __name,
uint8 __decimals,
uint256 __totalSupply
) {
_name = __name;
_symbol = __symbol;
_decimals = __decimals;
_tTotal = __totalSupply;
_balances[_msgSender()] = _tTotal;
_transferLimitExempt[owner()] = true;
_transferLimitExempt[address(this)] = true;
emit Transfer(address(0), _msgSender(), _tTotal);
}
function name() public view returns (string memory) {
return _name;
}
function symbol() public view returns (string memory) {
return _symbol;
}
function decimals() public view returns (uint8) {
return _decimals;
}
function totalSupply() public view override returns (uint256) {
return _tTotal;
}
function balanceOf(address account) public view override returns (uint256) {
return _balances[account];
}
function transfer(address recipient, uint256 amount)
public
override
returns (bool)
{
_transfer(_msgSender(), recipient, amount);
return true;
}
function allowance(address owner, address spender)
public
view
override
returns (uint256)
{
return _allowances[owner][spender];
}
function approve(address spender, uint256 amount)
public
override
returns (bool)
{
_approve(_msgSender(), spender, amount);
return true;
}
function transferFrom(
address sender,
address recipient,
uint256 amount
) public override returns (bool) {
_approve(
sender,
_msgSender(),
_allowances[sender][_msgSender()].sub(
amount,
"erc20: transfer amount exceeds allowance"
)
);
_transfer(sender, recipient, amount);
return true;
}
function _approve(
address owner,
address spender,
uint256 amount
) private {
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 _transfer(
address from,
address to,
uint256 amount
) private {
require(from != address(0), "erc20: transfer from the zero address");
require(to != address(0), "erc20: transfer to the zero address");
require(_tradingAllowed(from, to), "trading not allowed");
_beforeTokenTransfer(from, to, amount);
_balances[from] = _balances[from].sub(amount);
_balances[to] = _balances[to].add(amount);
emit Transfer(from, to, amount);
_afterTokenTransfer(from, to, amount);
}
function _tradingAllowed(address from, address to)
private
view
returns (bool)
{
if (from == owner()) return true;
if (tradingOpen) return true;
if (!_transferLimitExempt[to]) return false;
return true;
}
function min(uint256 a, uint256 b) private pure returns (uint256) {
return (a > b) ? b : a;
}
function setTransferLimitExempt(address[] calldata _addresses)
public
onlyOwner
{
for (uint256 i = 0; i < _addresses.length; i++) {
_transferLimitExempt[_addresses[i]] = true;
}
}
function openTrading() external onlyOwner {
require(!tradingOpen, "trading is already open");
tradingOpen = true;
}
function _beforeTokenTransfer(
address from,
address to,
uint256 amount
) internal virtual {}
function _afterTokenTransfer(
address from,
address to,
uint256 amount
) internal virtual {}
}
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 6 functions
These functions modify contract state and require a wallet transaction to execute.
approve 0x095ea7b3
address spender
uint256 amount
returns: bool
openTrading 0xc9567bf9
No parameters
renounceOwnership 0x715018a6
No parameters
setTransferLimitExempt 0xc2982664
address[] _addresses
transfer 0xa9059cbb
address recipient
uint256 amount
returns: bool
transferFrom 0x23b872dd
address sender
address recipient
uint256 amount
returns: bool
Recent Transactions
No transactions found for this address