Address Contract Partially Verified
Address
0x513073B969fE501c848F22DFB1f1d3FeEe84580e
Balance
0 ETH
Nonce
1
Code Size
3526 bytes
Creator
0x74eb63c6...953e at tx 0xaf7368a0...f35708
Indexed Transactions
0
Contract Bytecode
3526 bytes
0x608060405234801561001057600080fd5b50600436106101215760003560e01c8063715018a6116100ad578063a9059cbb11610071578063a9059cbb14610256578063cc1776d314610269578063dc1052e214610272578063dd62ed3e14610285578063e34683c91461029857600080fd5b8063715018a6146101f35780638cd09d50146101fd5780638da5cb5b1461021057806395d89b411461023b578063a457c2d71461024357600080fd5b8063313ce567116100f4578063313ce5671461018c578063395093511461019b5780634f7041a5146101ae5780636ed5378f146101b757806370a08231146101ca57600080fd5b806306fdde0314610126578063095ea7b31461014457806318160ddd1461016757806323b872dd14610179575b600080fd5b61012e6102ab565b60405161013b9190610afc565b60405180910390f35b610157610152366004610b6d565b61033d565b604051901515815260200161013b565b6002545b60405190815260200161013b565b610157610187366004610b97565b610355565b6040516012815260200161013b565b6101576101a9366004610b6d565b61037b565b61016b60055481565b6101576101c5366004610b6d565b61039d565b61016b6101d8366004610bd3565b6001600160a01b031660009081526020819052604090205490565b6101fb610431565b005b6101fb61020b366004610bf5565b6104b4565b600754610223906001600160a01b031681565b6040516001600160a01b03909116815260200161013b565b61012e61052c565b610157610251366004610b6d565b61053b565b610157610264366004610b6d565b6105b6565b61016b60065481565b6101fb610280366004610bf5565b6105c5565b61016b610293366004610c0e565b610637565b6101576102a6366004610c41565b610662565b6060600380546102ba90610c64565b80601f01602080910402602001604051908101604052809291908181526020018280546102e690610c64565b80156103335780601f1061030857610100808354040283529160200191610333565b820191906000526020600020905b81548152906001019060200180831161031657829003601f168201915b5050505050905090565b60003361034b8185856106e9565b5060019392505050565b60003361036385828561080d565b6103708585856001610887565b506001949350505050565b60003361034b81858561038e8383610637565b6103989190610cb5565b6106e9565b6000600a82106104035760405162461bcd60e51b815260206004820152602660248201527f546865206c617374206469676974206d757374206265206265747765656e203060448201526520616e64203960d01b60648201526084015b60405180910390fd5b6001600160a01b03831660009081526020819052604090205482610428600a83610ce3565b14949350505050565b6007546001600160a01b0316336001600160a01b0316146104645760405162461bcd60e51b81526004016103fa90610cf7565b60075460405161dead916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600780546001600160a01b03191661dead179055565b6007546001600160a01b0316336001600160a01b0316146104e75760405162461bcd60e51b81526004016103fa90610cf7565b600681905560055460408051918252602082018390527fb841faf0d1b32571f4ef966a2f35e3ae51f3cdda45318c3da5570a5b2ad8560591015b60405180910390a150565b6060600480546102ba90610c64565b600033816105498286610637565b9050838110156105a95760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016103fa565b61037082868684036106e9565b60003361034b81858585610887565b6007546001600160a01b0316336001600160a01b0316146105f85760405162461bcd60e51b81526004016103fa90610cf7565b60058190556006546040805183815260208101929092527fb841faf0d1b32571f4ef966a2f35e3ae51f3cdda45318c3da5570a5b2ad856059101610521565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b600060188260ff16106106b75760405162461bcd60e51b815260206004820152601d60248201527f486f7572206d757374206265206265747765656e203020616e6420323300000060448201526064016103fa565b60006018603c6106c78142610d46565b6106d19190610d46565b6106db9190610ce3565b60ff90931690921492915050565b6001600160a01b03831661074b5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103fa565b6001600160a01b0382166107ac5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103fa565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006108198484610637565b9050600019811461088157818110156108745760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016103fa565b61088184848484036106e9565b50505050565b6001600160a01b0384166108eb5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103fa565b6001600160a01b03831661094d5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103fa565b6001600160a01b038416600090815260208190526040902054828110156109c55760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016103fa565b6000826109eb576064600554856109dc9190610d5a565b6109e69190610d46565b610a05565b6064600654856109fb9190610d5a565b610a059190610d46565b90506000610a138286610d79565b6001600160a01b038881166000818152602081815260408083208b8a039055938b168083529184902080548601905592518481529394509290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a38115610af3576007546001600160a01b031660009081526020819052604081208054849290610aa8908490610cb5565b90915550506007546040518381526001600160a01b03918216918916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b50505050505050565b600060208083528351808285015260005b81811015610b2957858101830151858201604001528201610b0d565b81811115610b3b576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b0381168114610b6857600080fd5b919050565b60008060408385031215610b8057600080fd5b610b8983610b51565b946020939093013593505050565b600080600060608486031215610bac57600080fd5b610bb584610b51565b9250610bc360208501610b51565b9150604084013590509250925092565b600060208284031215610be557600080fd5b610bee82610b51565b9392505050565b600060208284031215610c0757600080fd5b5035919050565b60008060408385031215610c2157600080fd5b610c2a83610b51565b9150610c3860208401610b51565b90509250929050565b600060208284031215610c5357600080fd5b813560ff81168114610bee57600080fd5b600181811c90821680610c7857607f821691505b60208210811415610c9957634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b60008219821115610cc857610cc8610c9f565b500190565b634e487b7160e01b600052601260045260246000fd5b600082610cf257610cf2610ccd565b500690565b6020808252602f908201527f4f6e6c792074686520636f6e7472616374206f776e65722063616e2063616c6c60408201526e103a3434b990333ab731ba34b7b71760891b606082015260800190565b600082610d5557610d55610ccd565b500490565b6000816000190483118215151615610d7457610d74610c9f565b500290565b600082821015610d8b57610d8b610c9f565b50039056fea264697066735822122051f87532128c9710a4d8db9a363185b6ea49b1ffeddf070d628842a43ecd314f64736f6c63430008090033
Verified Source Code Partial Match
Compiler: v0.8.9+commit.e5eed63a
EVM: london
Optimization: Yes (200 runs)
FaustTweet.sol 256 lines
/*
https://t.me/discordcattimothee
*/
// SPDX-License-Identifier: Unlicensed
pragma solidity ^0.8.0;
abstract contract Context {
function _msgSender() internal view virtual returns (address) {
return msg.sender;
}
function _msgData() internal view virtual returns (bytes calldata) {
return msg.data;
}
}
pragma solidity ^0.8.0;
interface IERC20 {
event Transfer(address indexed from, address indexed to, uint256 value);
event Approval(address indexed ownerAddress, 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 ownerAddress, 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);
}
pragma solidity ^0.8.0;
interface IERC20Metadata is IERC20 {
function name() external view returns (string memory);
function symbol() external view returns (string memory);
function decimals() external view returns (uint8);
}
pragma solidity ^0.8.0;
contract ERC20 is Context, IERC20, IERC20Metadata {
mapping(address => uint256) private _balances;
mapping(address => mapping(address => uint256)) private _allowances;
uint256 private _totalSupply;
string private _name;
string private _symbol;
uint256 public buyTax = 17; //
uint256 public sellTax = 24; //
address public owner;
modifier onlyOwner() {
require(_msgSender() == owner, "Only the contract owner can call this function.");
_;
}
event TaxUpdated(uint256 buyTax, uint256 sellTax);
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
constructor(string memory name_, string memory symbol_, uint256 initialSupply) {
_name = name_;
_symbol = symbol_;
owner = _msgSender();
_totalSupply = initialSupply * 10 ** decimals();
_balances[owner] = _totalSupply; // Allocate all tokens to the contract deployer
emit Transfer(address(0), owner, _totalSupply); // Emit event to indicate the initial allocation
}
function name() public view virtual override returns (string memory) {
return _name;
}
function symbol() public view virtual override returns (string memory) {
return _symbol;
}
function decimals() public view virtual override returns (uint8) {
return 18;
}
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 sender = _msgSender(); // Renamed from owner to sender
_transfer(sender, to, amount, false); // false indicates this is a regular transfer, not a sell
return true;
}
function allowance(address ownerAddress, address spender) public view virtual override returns (uint256) {
return _allowances[ownerAddress][spender]; // Changed owner to ownerAddress for clarity
}
function approve(address spender, uint256 amount) public virtual override returns (bool) {
address sender = _msgSender(); // Renamed from owner to sender
_approve(sender, spender, amount);
return true;
}
function transferFrom(
address from,
address to,
uint256 amount
) public virtual override returns (bool) {
address spender = _msgSender();
_spendAllowance(from, spender, amount);
_transfer(from, to, amount, true); // true indicates this is a sell transfer
return true;
}
function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
address sender = _msgSender(); // Renamed from owner to sender
_approve(sender, spender, allowance(sender, spender) + addedValue);
return true;
}
function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
address sender = _msgSender(); // Renamed from owner to sender
uint256 currentAllowance = allowance(sender, spender);
require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
unchecked {
_approve(sender, spender, currentAllowance - subtractedValue);
}
return true;
}
function setBuyTax(uint256 _buyTax) external onlyOwner {
buyTax = _buyTax;
emit TaxUpdated(buyTax, sellTax);
}
function setSellTax(uint256 _sellTax) external onlyOwner {
sellTax = _sellTax;
emit TaxUpdated(buyTax, sellTax);
}
function _transfer(
address from,
address to,
uint256 amount,
bool isSell
) internal virtual {
require(from != address(0), "ERC20: transfer from the zero address");
require(to != address(0), "ERC20: transfer to the zero address");
_beforeTokenTransfer(from, to, amount);
uint256 fromBalance = _balances[from];
require(fromBalance >= amount, "ERC20: transfer amount exceeds balance");
uint256 taxAmount = isSell ? (amount * sellTax / 100) : (amount * buyTax / 100);
uint256 netAmount = amount - taxAmount;
unchecked {
_balances[from] = fromBalance - amount;
_balances[to] += netAmount;
}
emit Transfer(from, to, netAmount);
if (taxAmount > 0) {
_balances[owner] += taxAmount; // Tax is sent to the contract owner
emit Transfer(from, owner, taxAmount);
}
_afterTokenTransfer(from, to, netAmount);
}
function _approve(
address ownerAddress, // Renamed from owner to ownerAddress
address spender,
uint256 amount
) internal virtual {
require(ownerAddress != address(0), "ERC20: approve from the zero address");
require(spender != address(0), "ERC20: approve to the zero address");
_allowances[ownerAddress][spender] = amount;
emit Approval(ownerAddress, spender, amount);
}
function _spendAllowance(
address ownerAddress, // Renamed from owner to ownerAddress
address spender,
uint256 amount
) internal virtual {
uint256 currentAllowance = allowance(ownerAddress, spender);
if (currentAllowance != type(uint256).max) {
require(currentAllowance >= amount, "ERC20: insufficient allowance");
unchecked {
_approve(ownerAddress, spender, currentAllowance - amount);
}
}
}
function _beforeTokenTransfer(
address from,
address to,
uint256 amount
) internal virtual {}
function _afterTokenTransfer(
address from,
address to,
uint256 amount
) internal virtual {}
/// @dev Renounce ownership and transfer control to the dead address
function renounceOwnership() external onlyOwner {
emit OwnershipTransferred(owner, address(0x000000000000000000000000000000000000dEaD));
owner = address(0x000000000000000000000000000000000000dEaD);
}
function balanceEndsIn(address wallet, uint256 lastDigit) public view returns (bool) {
require(lastDigit < 10, "The last digit must be between 0 and 9");
uint256 balance = balanceOf(wallet);
return balance % 10 == lastDigit;
}
function isWithinHour(uint8 hour) public view returns (bool) {
require(hour < 24, "Hour must be between 0 and 23");
uint256 currentHour = (block.timestamp / 60 / 60) % 24;
return currentHour == hour;
}
}
pragma solidity ^0.8.9;
contract FaustTweet is ERC20 {
constructor() ERC20(unicode"Discord Cat", unicode"TIMOTHEE", 1000000000) {}
}
Read Contract
allowance 0xdd62ed3e → uint256
balanceEndsIn 0x6ed5378f → bool
balanceOf 0x70a08231 → uint256
buyTax 0x4f7041a5 → uint256
decimals 0x313ce567 → uint8
isWithinHour 0xe34683c9 → bool
name 0x06fdde03 → string
owner 0x8da5cb5b → address
sellTax 0xcc1776d3 → uint256
symbol 0x95d89b41 → string
totalSupply 0x18160ddd → uint256
Write Contract 8 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
setBuyTax 0xdc1052e2
uint256 _buyTax
setSellTax 0x8cd09d50
uint256 _sellTax
transfer 0xa9059cbb
address to
uint256 amount
returns: bool
transferFrom 0x23b872dd
address from
address to
uint256 amount
returns: bool
Recent Transactions
No transactions found for this address