Address Contract Partially Verified
Address
0x2C93e25182Ac52BCbccC95a3Bd61CE4B3a7E38d1
Balance
0.000962037 ETH ($2.07)
Nonce
1
Code Size
8833 bytes
Creator
0x244931E1...8588 at tx 0xbde4d8e3...40aafe
Indexed Transactions
0
Contract Bytecode
8833 bytes
0x6080604052600436106101445760003560e01c8063715018a6116100b6578063a9059cbb1161006f578063a9059cbb14610491578063ad5c4648146104ce578063c0246668146104f9578063dd62ed3e14610522578063f25f4b561461055f578063f887ea401461058a5761014b565b8063715018a614610393578063739f08c8146103aa5780638da5cb5b146103d357806395d89b41146103fe578063a457c2d714610429578063a8aa1b31146104665761014b565b8063313ce56711610108578063313ce5671461024b57806333f3d62814610276578063395093511461029f5780634fbee193146102dc578063571ac8b01461031957806370a08231146103565761014b565b806303fd2a451461015057806306fdde031461017b578063095ea7b3146101a657806318160ddd146101e357806323b872dd1461020e5761014b565b3661014b57005b600080fd5b34801561015c57600080fd5b506101656105b5565b60405161017291906119ef565b60405180910390f35b34801561018757600080fd5b506101906105bb565b60405161019d9190611a9a565b60405180910390f35b3480156101b257600080fd5b506101cd60048036038101906101c89190611b23565b61064d565b6040516101da9190611b7e565b60405180910390f35b3480156101ef57600080fd5b506101f86107ad565b6040516102059190611ba8565b60405180910390f35b34801561021a57600080fd5b5061023560048036038101906102309190611bc3565b610803565b6040516102429190611b7e565b60405180910390f35b34801561025757600080fd5b50610260610af0565b60405161026d9190611c32565b60405180910390f35b34801561028257600080fd5b5061029d60048036038101906102989190611b23565b610af9565b005b3480156102ab57600080fd5b506102c660048036038101906102c19190611b23565b610c2e565b6040516102d39190611b7e565b60405180910390f35b3480156102e857600080fd5b5061030360048036038101906102fe9190611c4d565b610e1e565b6040516103109190611b7e565b60405180910390f35b34801561032557600080fd5b50610340600480360381019061033b9190611c4d565b610e3e565b60405161034d9190611b7e565b60405180910390f35b34801561036257600080fd5b5061037d60048036038101906103789190611c4d565b610e71565b60405161038a9190611ba8565b60405180910390f35b34801561039f57600080fd5b506103a8610eba565b005b3480156103b657600080fd5b506103d160048036038101906103cc9190611c7a565b610f8e565b005b3480156103df57600080fd5b506103e86110b4565b6040516103f591906119ef565b60405180910390f35b34801561040a57600080fd5b506104136110da565b6040516104209190611a9a565b60405180910390f35b34801561043557600080fd5b50610450600480360381019061044b9190611b23565b61116c565b60405161045d9190611b7e565b60405180910390f35b34801561047257600080fd5b5061047b6113a8565b60405161048891906119ef565b60405180910390f35b34801561049d57600080fd5b506104b860048036038101906104b39190611b23565b6113cc565b6040516104c59190611b7e565b60405180910390f35b3480156104da57600080fd5b506104e36113e1565b6040516104f091906119ef565b60405180910390f35b34801561050557600080fd5b50610520600480360381019061051b9190611cd3565b611405565b005b34801561052e57600080fd5b5061054960048036038101906105449190611d13565b6114f0565b6040516105569190611ba8565b60405180910390f35b34801561056b57600080fd5b50610574611577565b60405161058191906119ef565b60405180910390f35b34801561059657600080fd5b5061059f61158f565b6040516105ac91906119ef565b60405180910390f35b61dead81565b6060600080546105ca90611d82565b80601f01602080910402602001604051908101604052809291908181526020018280546105f690611d82565b80156106435780601f1061061857610100808354040283529160200191610643565b820191906000526020600020905b81548152906001019060200180831161062657829003601f168201915b5050505050905090565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036106bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106b490611dff565b60405180910390fd5b81600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161079b9190611ba8565b60405180910390a36001905092915050565b60006004600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546002546107fe9190611e4e565b905090565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610adc5781600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610967576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095e90611ece565b60405180910390fd5b81600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546109f39190611e4e565b925050819055503373ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054604051610ad39190611ba8565b60405180910390a35b610ae78484846115b3565b90509392505050565b60006012905090565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8090611f3a565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401610be6929190611f5a565b6020604051808303816000875af1158015610c05573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c299190611f98565b505050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610c9e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9590611dff565b60405180910390fd5b81610ca933856114f0565b610cb39190611fc5565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054604051610e0c9190611ba8565b60405180910390a36001905092915050565b60036020528060005260406000206000915054906101000a900460ff1681565b6000610e6a827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61064d565b9050919050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610f4a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f4190611f3a565b60405180910390fd5b6000600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461101e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161101590611f3a565b60405180910390fd5b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16826040516110669061202a565b60006040518083038185875af1925050503d80600081146110a3576040519150601f19603f3d011682016040523d82523d6000602084013e6110a8565b606091505b50509050600190505050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6060600180546110e990611d82565b80601f016020809104026020016040519081016040528092919081815260200182805461111590611d82565b80156111625780601f1061113757610100808354040283529160200191611162565b820191906000526020600020905b81548152906001019060200180831161114557829003601f168201915b5050505050905090565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036111dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111d390611dff565b60405180910390fd5b816111e733856114f0565b1015611228576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161121f906120b1565b60405180910390fd5b8161123333856114f0565b61123d9190611e4e565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040516113969190611ba8565b60405180910390a36001905092915050565b7f0000000000000000000000004212a9b491e0836b950fdc517777ffeaa471e75681565b60006113d93384846115b3565b905092915050565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611495576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161148c90611f3a565b60405180910390fd5b80600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b73e7be0e9c3a5650db004e306fc9d9cce97eee716681565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b60006115bf848461161f565b61160b576115ee8473e7be0e9c3a5650db004e306fc9d9cce97eee71666064856115e99190612100565b61178e565b5060646063836115fe9190612131565b6116089190612100565b91505b61161684848461178e565b90509392505050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806116c25750600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156116d05760019050611788565b7f0000000000000000000000004212a9b491e0836b950fdc517777ffeaa471e75673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148061177557507f0000000000000000000000004212a9b491e0836b950fdc517777ffeaa471e75673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b156117835760009050611788565b600190505b92915050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036117fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117f5906121bf565b60405180910390fd5b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115611880576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118779061222b565b60405180910390fd5b6000820361189157600190506119a7565b81600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546118e09190611e4e565b9250508190555081600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546119369190611fc5565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161199a9190611ba8565b60405180910390a3600190505b9392505050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006119d9826119ae565b9050919050565b6119e9816119ce565b82525050565b6000602082019050611a0460008301846119e0565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611a44578082015181840152602081019050611a29565b60008484015250505050565b6000601f19601f8301169050919050565b6000611a6c82611a0a565b611a768185611a15565b9350611a86818560208601611a26565b611a8f81611a50565b840191505092915050565b60006020820190508181036000830152611ab48184611a61565b905092915050565b600080fd5b611aca816119ce565b8114611ad557600080fd5b50565b600081359050611ae781611ac1565b92915050565b6000819050919050565b611b0081611aed565b8114611b0b57600080fd5b50565b600081359050611b1d81611af7565b92915050565b60008060408385031215611b3a57611b39611abc565b5b6000611b4885828601611ad8565b9250506020611b5985828601611b0e565b9150509250929050565b60008115159050919050565b611b7881611b63565b82525050565b6000602082019050611b936000830184611b6f565b92915050565b611ba281611aed565b82525050565b6000602082019050611bbd6000830184611b99565b92915050565b600080600060608486031215611bdc57611bdb611abc565b5b6000611bea86828701611ad8565b9350506020611bfb86828701611ad8565b9250506040611c0c86828701611b0e565b9150509250925092565b600060ff82169050919050565b611c2c81611c16565b82525050565b6000602082019050611c476000830184611c23565b92915050565b600060208284031215611c6357611c62611abc565b5b6000611c7184828501611ad8565b91505092915050565b600060208284031215611c9057611c8f611abc565b5b6000611c9e84828501611b0e565b91505092915050565b611cb081611b63565b8114611cbb57600080fd5b50565b600081359050611ccd81611ca7565b92915050565b60008060408385031215611cea57611ce9611abc565b5b6000611cf885828601611ad8565b9250506020611d0985828601611cbe565b9150509250929050565b60008060408385031215611d2a57611d29611abc565b5b6000611d3885828601611ad8565b9250506020611d4985828601611ad8565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611d9a57607f821691505b602082108103611dad57611dac611d53565b5b50919050565b7f43616e277420757365207a65726f206164647265737320686572650000000000600082015250565b6000611de9601b83611a15565b9150611df482611db3565b602082019050919050565b60006020820190508181036000830152611e1881611ddc565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611e5982611aed565b9150611e6483611aed565b9250828203905081811115611e7c57611e7b611e1f565b5b92915050565b7f496e73756666696369656e7420416c6c6f77616e636500000000000000000000600082015250565b6000611eb8601683611a15565b9150611ec382611e82565b602082019050919050565b60006020820190508181036000830152611ee781611eab565b9050919050565b7f4f6e6c7920746865206f776e65722063616e20646f2074686174000000000000600082015250565b6000611f24601a83611a15565b9150611f2f82611eee565b602082019050919050565b60006020820190508181036000830152611f5381611f17565b9050919050565b6000604082019050611f6f60008301856119e0565b611f7c6020830184611b99565b9392505050565b600081519050611f9281611ca7565b92915050565b600060208284031215611fae57611fad611abc565b5b6000611fbc84828501611f83565b91505092915050565b6000611fd082611aed565b9150611fdb83611aed565b9250828201905080821115611ff357611ff2611e1f565b5b92915050565b600081905092915050565b50565b6000612014600083611ff9565b915061201f82612004565b600082019050919050565b600061203582612007565b9150819050919050565b7f43616e2774207375627472616374206d6f7265207468616e2063757272656e7460008201527f20616c6c6f77616e636500000000000000000000000000000000000000000000602082015250565b600061209b602a83611a15565b91506120a68261203f565b604082019050919050565b600060208201905081810360008301526120ca8161208e565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061210b82611aed565b915061211683611aed565b925082612126576121256120d1565b5b828204905092915050565b600061213c82611aed565b915061214783611aed565b925082820261215581611aed565b9150828204841483151761216c5761216b611e1f565b5b5092915050565b7f43616e277420757365207a65726f206164647265737365732068657265000000600082015250565b60006121a9601d83611a15565b91506121b482612173565b602082019050919050565b600060208201905081810360008301526121d88161219c565b9050919050565b7f43616e2774207472616e73666572206d6f7265207468616e20796f75206f776e600082015250565b6000612215602083611a15565b9150612220826121df565b602082019050919050565b6000602082019050818103600083015261224481612208565b905091905056fea26469706673582212207ea2070b278a6d9f4ebeca15dbdde72ca4380966da583d3a883d8f8082a6e63464736f6c63430008120033
Verified Source Code Partial Match
Compiler: v0.8.18+commit.87f61d96
EVM: paris
Optimization: No
Pengy.sol 283 lines
// SPDX-License-Identifier: MIT
pragma solidity 0.8.18;
// |-----------------------------------------------------------------------------------------------------------|
// | %################. |
// | #####################@ |
// | | ###### @##### &#### |
// | | ###% , ###% |
// | | &###, /&@@ @(@@ #### |
// | | ###@ &..% *#### |
// | $$$$$$$\ $$$$$$$$\ $$\ $$\ $$$$$$\ $$\ $$\ | @#### .,,,,@ ##### |
// | $$ __$$\ $$ _____|$$$\ $$ |$$ __$$\\$$\ $$ | | %##( ,* @##(@ |
// | $$ | $$ |$$ | $$$$\ $$ |$$ / \__|\$$\ $$ / | /#&##@ ##&#& |
// | $$$$$$$ |$$$$$\ $$ $$\$$ |$$ |$$$$\ \$$$$ / | ###### #(### |
// | $$ ____/ $$ __| $$ \$$$$ |$$ |\_$$ | \$$ / | ####### ######. |
// | $$ | $$ | $$ |\$$$ |$$ | $$ | $$ | | &#######@ ##(##### |
// | $$ | $$$$$$$$\ $$ | \$$ |\$$$$$$ | $$ | | ### &## |
// | \__| \________|\__| \__| \______/ \__| | &##% ### |
// | | %### @##@ |
// | | %###@ &###& |
// | &,,,,,&################@,,,,,% |
// | ,.,,,.*%@ /(.,,,,/@ |
// |-----------------------------------------------------------------------------------------------------------|
// -----> Ken and the community makes penguins fly! 🚀 <----- */
interface IERC20 {
function totalSupply() external view returns (uint256);
function decimals() external view returns (uint8);
function symbol() external view returns (string memory);
function name() external view returns (string memory);
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
);
}
interface IDEXRouter {
function factory() external pure returns (address);
function WETH() external pure returns (address);
}
interface IDEXFactory {
function createPair(
address tokenA,
address tokenB
) external returns (address pair);
}
contract Pengy is IERC20 {
string private _name;
string private _symbol;
uint8 private constant _decimals = 18;
uint256 private _totalSupply;
mapping(address => bool) public isExcludedFromFees;
mapping(address => uint256) private _balances;
mapping(address => mapping(address => uint256)) private _allowances;
address public owner;
address public constant feeWallet = 0xe7bE0E9c3a5650dB004E306FC9D9cCE97eEe7166;
address public immutable pair;
address public immutable router;
address public constant DEAD = 0x000000000000000000000000000000000000dEaD;
address public immutable WETH;
modifier onlyDeployer() {
require(msg.sender == owner, "Only the owner can do that");
_;
}
constructor() {
owner = msg.sender;
_name = "PENGY";
_symbol = "PENGY";
_totalSupply = 3_000_000_000 * (10 ** _decimals);
router = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D; // Uniswap V2 router
WETH = IDEXRouter(router).WETH();
pair = IDEXFactory(IDEXRouter(router).factory()).createPair(
address(this),
WETH
);
isExcludedFromFees[owner] = true;
_balances[owner] = _totalSupply;
emit Transfer(address(0), owner, _totalSupply);
}
receive() external payable {}
function name() public view override returns (string memory) {
return _name;
}
function totalSupply() public view override returns (uint256) {
return _totalSupply - _balances[DEAD];
}
function decimals() public pure override returns (uint8) {
return _decimals;
}
function symbol() public view override returns (string memory) {
return _symbol;
}
function balanceOf(address account) public view override returns (uint256) {
return _balances[account];
}
function rescueEth(uint256 amount) external onlyDeployer {
(bool success, ) = address(owner).call{value: amount}("");
success = true;
}
function rescueToken(address token, uint256 amount) external onlyDeployer {
IERC20(token).transfer(owner, amount);
}
function allowance(
address holder,
address spender
) public view override returns (uint256) {
return _allowances[holder][spender];
}
function transfer(
address recipient,
uint256 amount
) external override returns (bool) {
return _transferFrom(msg.sender, recipient, amount);
}
function approveMax(address spender) external returns (bool) {
return approve(spender, type(uint256).max);
}
function approve(
address spender,
uint256 amount
) public override returns (bool) {
require(spender != address(0), "Can't use zero address here");
_allowances[msg.sender][spender] = amount;
emit Approval(msg.sender, spender, amount);
return true;
}
function increaseAllowance(
address spender,
uint256 addedValue
) public returns (bool) {
require(spender != address(0), "Can't use zero address here");
_allowances[msg.sender][spender] =
allowance(msg.sender, spender) +
addedValue;
emit Approval(msg.sender, spender, _allowances[msg.sender][spender]);
return true;
}
function decreaseAllowance(
address spender,
uint256 subtractedValue
) public returns (bool) {
require(spender != address(0), "Can't use zero address here");
require(
allowance(msg.sender, spender) >= subtractedValue,
"Can't subtract more than current allowance"
);
_allowances[msg.sender][spender] =
allowance(msg.sender, spender) -
subtractedValue;
emit Approval(msg.sender, spender, _allowances[msg.sender][spender]);
return true;
}
function transferFrom(
address sender,
address recipient,
uint256 amount
) external override returns (bool) {
if (_allowances[sender][msg.sender] != type(uint256).max) {
require(
_allowances[sender][msg.sender] >= amount,
"Insufficient Allowance"
);
_allowances[sender][msg.sender] -= amount;
emit Approval(sender, msg.sender, _allowances[sender][msg.sender]);
}
return _transferFrom(sender, recipient, amount);
}
function _transferFrom(
address sender,
address recipient,
uint256 amount
) internal returns (bool) {
if (!checkTaxFree(sender, recipient)) {
_lowGasTransfer(sender, feeWallet, amount / 100);
amount = (amount * 99) / 100;
}
return _lowGasTransfer(sender, recipient, amount);
}
function checkTaxFree(
address sender,
address recipient
) internal view returns (bool) {
if (isExcludedFromFees[sender] || isExcludedFromFees[recipient])
return true;
if (sender == pair || recipient == pair) return false;
return true;
}
function _lowGasTransfer(
address sender,
address recipient,
uint256 amount
) internal returns (bool) {
require(sender != address(0), "Can't use zero addresses here");
require(
amount <= _balances[sender],
"Can't transfer more than you own"
);
if (amount == 0) return true;
_balances[sender] -= amount;
_balances[recipient] += amount;
emit Transfer(sender, recipient, amount);
return true;
}
function excludeFromFees(
address excludedWallet,
bool status
) external onlyDeployer {
isExcludedFromFees[excludedWallet] = status;
}
function renounceOwnership() external onlyDeployer {
owner = address(0);
}
}
/*
The topics and opinions discussed by Ken the Crypto and the PENGY community are intended to convey general information only. All opinions expressed by Ken or the community should be treated as such.
This contract does not provide legal, investment, financial, tax, or any other type of similar advice.
As with all alternative currencies, Do Your Own Research (DYOR) before purchasing. Ken and the rest of the PENGY community are working to increase coin adoption, but no individual or community shall be held responsible for any financial losses or gains that may be incurred as a result of trading PENGY.
If you’re with us — Hop In, We’re Going Places 🚀
*/
Read Contract
DEAD 0x03fd2a45 → address
WETH 0xad5c4648 → address
allowance 0xdd62ed3e → uint256
balanceOf 0x70a08231 → uint256
decimals 0x313ce567 → uint8
feeWallet 0xf25f4b56 → address
isExcludedFromFees 0x4fbee193 → bool
name 0x06fdde03 → string
owner 0x8da5cb5b → address
pair 0xa8aa1b31 → address
router 0xf887ea40 → address
symbol 0x95d89b41 → string
totalSupply 0x18160ddd → uint256
Write Contract 10 functions
These functions modify contract state and require a wallet transaction to execute.
approve 0x095ea7b3
address spender
uint256 amount
returns: bool
approveMax 0x571ac8b0
address spender
returns: bool
decreaseAllowance 0xa457c2d7
address spender
uint256 subtractedValue
returns: bool
excludeFromFees 0xc0246668
address excludedWallet
bool status
increaseAllowance 0x39509351
address spender
uint256 addedValue
returns: bool
renounceOwnership 0x715018a6
No parameters
rescueEth 0x739f08c8
uint256 amount
rescueToken 0x33f3d628
address token
uint256 amount
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