Address Contract Partially Verified
Address
0xe770814FFD6FcDF8a54D204a1752aA44021C3eDb
Balance
0.000402005 ETH ($0.86)
Nonce
1
Code Size
7963 bytes
Creator
0x056910fe...807E at tx 0x5da41701...1b371c
Indexed Transactions
0 (1 on-chain, 0.6% indexed)
Contract Bytecode
7963 bytes
0x608060405260043610610198575f3560e01c806370a08231116100e7578063c3c8cd8011610087578063d34628cc11610062578063d34628cc146104b2578063dd62ed3e146104d1578063f2fde38b14610515578063f7448a3114610534575f80fd5b8063c3c8cd8014610471578063c876d0b914610485578063c9567bf91461049e575f80fd5b806382f3ccd1116100c257806382f3ccd1146103f75780638da5cb5b1461040b57806395d89b4114610427578063a9059cbb14610452575f80fd5b806370a0823114610390578063751039fc146103c457806379e939a3146103d8575f80fd5b806331c2d8471161015257806356dda5871161012d57806356dda587146103185780635d60c7be1461032c5780636f340b65146103685780636fc3eaec1461037c575f80fd5b806331c2d847146102895780633af32abf146102aa5780633bbac579146102e1575f80fd5b806306fdde03146101a3578063095ea7b3146101e45780630faee56f1461021357806318160ddd1461023657806323b872dd1461024f578063313ce5671461026e575f80fd5b3661019f57005b5f80fd5b3480156101ae575f80fd5b506040805180820190915260078152664f47205065706560c81b60208201525b6040516101db9190611a9a565b60405180910390f35b3480156101ef575f80fd5b506102036101fe366004611b09565b610553565b60405190151581526020016101db565b34801561021e575f80fd5b5061022860085481565b6040519081526020016101db565b348015610241575f80fd5b5066038d7ea4c68000610228565b34801561025a575f80fd5b50610203610269366004611b33565b610569565b348015610279575f80fd5b50604051600981526020016101db565b348015610294575f80fd5b506102a86102a3366004611b85565b6105d0565b005b3480156102b5575f80fd5b506102036102c4366004611c45565b6001600160a01b03165f9081526003602052604090205460ff1690565b3480156102ec575f80fd5b506102036102fb366004611c45565b6001600160a01b03165f9081526005602052604090205460ff1690565b348015610323575f80fd5b506102a8610670565b348015610337575f80fd5b506006546103509061010090046001600160a01b031681565b6040516001600160a01b0390911681526020016101db565b348015610373575f80fd5b506102a86106ae565b348015610387575f80fd5b506102a86106e3565b34801561039b575f80fd5b506102286103aa366004611c45565b6001600160a01b03165f9081526001602052604090205490565b3480156103cf575f80fd5b506102a861071f565b3480156103e3575f80fd5b506102a86103f2366004611c6d565b61086b565b348015610402575f80fd5b506102a86108fb565b348015610416575f80fd5b505f546001600160a01b0316610350565b348015610432575f80fd5b5060408051808201909152600381526211d3d160ea1b60208201526101ce565b34801561045d575f80fd5b5061020361046c366004611b09565b61092f565b34801561047c575f80fd5b506102a861093b565b348015610490575f80fd5b506006546102039060ff1681565b3480156104a9575f80fd5b506102a8610982565b3480156104bd575f80fd5b506102a86104cc366004611b85565b610d95565b3480156104dc575f80fd5b506102286104eb366004611ca4565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b348015610520575f80fd5b506102a861052f366004611c45565b610e29565b34801561053f575f80fd5b506102a861054e366004611b09565b610eab565b5f61055f338484611076565b5060015b92915050565b5f610575848484611199565b6105c684336105c185604051806060016040528060288152602001611ebe602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190611613565b611076565b5060019392505050565b60065461010090046001600160a01b031633146106085760405162461bcd60e51b81526004016105ff90611cd0565b60405180910390fd5b5f5b815181101561066c575f60055f84848151811061062957610629611d05565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff19169115159190911790558061066481611d2d565b91505061060a565b5050565b5f546001600160a01b031633146106995760405162461bcd60e51b81526004016105ff90611d45565b600c805460ff60a81b1916600160a81b179055565b5f546001600160a01b031633146106d75760405162461bcd60e51b81526004016105ff90611d45565b60026009819055600a55565b60065461010090046001600160a01b031633146107125760405162461bcd60e51b81526004016105ff90611cd0565b4761071c8161164b565b50565b5f546001600160a01b031633146107485760405162461bcd60e51b81526004016105ff90611d45565b600c54600160a01b900460ff166107a15760405162461bcd60e51b815260206004820152601a60248201527f54726164696e67206973206e6f7420656e61626c65642079657400000000000060448201526064016105ff565b66038d7ea4c68000600d819055600781905560088190556040519081527f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf9060200160405180910390a160405166038d7ea4c6800081527f9a67c283449381e8ee7fa29c87cef05ccedd0faaff767bf879b02d34290fdc7b9060200160405180910390a160405166038d7ea4c6800081527f8731543e21093ca66ef786ff7b72c9887cea0eec2b8b9484b95429eaffc4903c9060200160405180910390a16006805460ff19169055565b335f9081526003602052604090205460ff166108995760405162461bcd60e51b81526004016105ff90611cd0565b6001600160a01b0382165f81815260036020908152604091829020805460ff19168515159081179091558251938452908301527ff3ef47a8986c54ec89de9fdd967838ffa1f8c90d7b1ca23b3d78e32232226fdb910160405180910390a15050565b5f546001600160a01b031633146109245760405162461bcd60e51b81526004016105ff90611d45565b6014600955600a8055565b5f61055f338484611199565b60065461010090046001600160a01b0316331461096a5760405162461bcd60e51b81526004016105ff90611cd0565b305f9081526001602052604090205461071c81611686565b5f546001600160a01b031633146109ab5760405162461bcd60e51b81526004016105ff90611d45565b600c54600160a01b900460ff1615610a055760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016105ff565b600b8054610100600160a81b031916747a250d5630b4cf539739df2c5dacb4c659f2488d001790819055737a250d5630b4cf539739df2c5dacb4c659f2488d90610a679030906001600160a01b036101009091041666038d7ea4c68000611076565b806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610aa3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ac79190611d7a565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b12573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b369190611d7a565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610b80573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ba49190611d7a565b600c80546001600160a01b039283166001600160a01b0319909116179055600b5461010090041663f305d7194730610bf0816001600160a01b03165f9081526001602052604090205490565b5f80610c035f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610c69573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610c8e9190611d95565b5050506103e866038d7ea4c680006014610ca89190611dc0565b610cb29190611dd7565b600d556103e8610cca66038d7ea4c680006014611dc0565b610cd49190611dd7565b6007556103e8610cec66038d7ea4c680006014611dc0565b610cf69190611dd7565b6008556023600955600f600a55600c54600b5460405163095ea7b360e01b81526001600160a01b03610100909204821660048201525f19602482015291169063095ea7b3906044016020604051808303815f875af1158015610d5a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d7e9190611df6565b5050600c805460ff60a01b1916600160a01b179055565b60065461010090046001600160a01b03163314610dc45760405162461bcd60e51b81526004016105ff90611cd0565b5f5b815181101561066c57600160055f848481518110610de657610de6611d05565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff191691151591909117905580610e2181611d2d565b915050610dc6565b5f546001600160a01b03163314610e525760405162461bcd60e51b81526004016105ff90611d45565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b60065461010090046001600160a01b03163314610eda5760405162461bcd60e51b81526004016105ff90611cd0565b306001600160a01b03831603610f4c5760405162461bcd60e51b815260206004820152603160248201527f596f752063616e277420776974686472617720746f6b656e732066726f6d206f6044820152703bb732b210313c9031b7b73a3930b1ba1760791b60648201526084016105ff565b6040516370a0823160e01b81523060048201525f906001600160a01b038416906370a0823190602401602060405180830381865afa158015610f90573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fb49190611e11565b905080821115610ff75760405162461bcd60e51b815260206004820152600e60248201526d62616c616e6365206973206c6f7760901b60448201526064016105ff565b60065460405163a9059cbb60e01b81526101009091046001600160a01b0390811660048301526024820184905284169063a9059cbb906044016020604051808303815f875af115801561104c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110709190611df6565b50505050565b6001600160a01b0383166110d85760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105ff565b6001600160a01b0382166111395760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105ff565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f81116111fa5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016105ff565b80611219846001600160a01b03165f9081526001602052604090205490565b10156112675760405162461bcd60e51b815260206004820152601a60248201527f42616c616e6365206c657373207468656e207472616e7366657200000000000060448201526064016105ff565b6001600160a01b0383165f9081526005602052604090205460ff161580156112a757506001600160a01b0382165f9081526005602052604090205460ff16155b6112af575f80fd5b6001600160a01b0383165f9081526003602052604081205460ff16806112ec57506001600160a01b0383165f9081526003602052604090205460ff165b61160757600c54600160a01b900460ff166113495760405162461bcd60e51b815260206004820152601a60248201527f54726164696e67206973206e6f7420656e61626c65642079657400000000000060448201526064016105ff565b600d5482111561139b5760405162461bcd60e51b815260206004820152601d60248201527f416d6f756e7420657863656564206d61782074726e7820616d6f756e7400000060448201526064016105ff565b60065460ff161561148357600b546001600160a01b0384811661010090920416148015906113d75750600c546001600160a01b03848116911614155b1561148357325f9081526004602052604090205443116114715760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a4016105ff565b325f9081526004602052604090204390555b600c546001600160a01b0384811691161461151257600754826114ba856001600160a01b03165f9081526001602052604090205490565b6114c49190611e28565b11156115125760405162461bcd60e51b815260206004820152601960248201527f6d61782057616c6c6574206c696d69742065786365656465640000000000000060448201526064016105ff565b478015611522576115224761164b565b600c546001600160a01b039081169086160361155f576115586064611552600a548661181090919063ffffffff16565b90611895565b9150611605565b600c546001600160a01b03908116908516036116055761158f60646115526009548661181090919063ffffffff16565b305f90815260016020526040902054600b549193509060ff1661160357600c54600160a81b900460ff16156115e0576115db6115d6856115d1846008546118d6565b6118d6565b611686565b611603565b6115f36103e866038d7ea4c68000611dd7565b8111156116035761160381611686565b505b505b611070848484846118ea565b5f81848411156116365760405162461bcd60e51b81526004016105ff9190611a9a565b505f6116428486611e3b565b95945050505050565b6006546040516101009091046001600160a01b0316906108fc8315029083905f818181858888f1935050505015801561066c573d5f803e3d5ffd5b600b805460ff191660011790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106116c6576116c6611d05565b60200260200101906001600160a01b031690816001600160a01b031681525050600b60019054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611737573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061175b9190611d7a565b8160018151811061176e5761176e611d05565b6001600160a01b039283166020918202929092010152600b5461179991309161010090041684611076565b600b5460405163791ac94760e01b81526101009091046001600160a01b03169063791ac947906117d59085905f90869030904290600401611e4e565b5f604051808303815f87803b1580156117ec575f80fd5b505af11580156117fe573d5f803e3d5ffd5b5050600b805460ff1916905550505050565b5f825f0361181f57505f610563565b5f61182a8385611dc0565b9050826118378583611dd7565b1461188e5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105ff565b9392505050565b5f61188e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506119cf565b5f8183116118e4578261188e565b50919050565b5f6118f58284611e3b565b6001600160a01b0386165f9081526001602052604090205490915061191a90846119fb565b6001600160a01b038087165f9081526001602052604080822093909355908616815220546119489082611a3c565b6001600160a01b0385165f908152600160205260408082209290925530815220546119739083611a3c565b305f9081526001602090815260409182902092909255518281526001600160a01b0386811692908816917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050505050565b5f81836119ef5760405162461bcd60e51b81526004016105ff9190611a9a565b505f6116428486611dd7565b5f61188e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611613565b5f80611a488385611e28565b90508381101561188e5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105ff565b5f6020808352835180828501525f5b81811015611ac557858101830151858201604001528201611aa9565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461071c575f80fd5b8035611b0481611ae5565b919050565b5f8060408385031215611b1a575f80fd5b8235611b2581611ae5565b946020939093013593505050565b5f805f60608486031215611b45575f80fd5b8335611b5081611ae5565b92506020840135611b6081611ae5565b929592945050506040919091013590565b634e487b7160e01b5f52604160045260245ffd5b5f6020808385031215611b96575f80fd5b823567ffffffffffffffff80821115611bad575f80fd5b818501915085601f830112611bc0575f80fd5b813581811115611bd257611bd2611b71565b8060051b604051601f19603f83011681018181108582111715611bf757611bf7611b71565b604052918252848201925083810185019188831115611c14575f80fd5b938501935b82851015611c3957611c2a85611af9565b84529385019392850192611c19565b98975050505050505050565b5f60208284031215611c55575f80fd5b813561188e81611ae5565b801515811461071c575f80fd5b5f8060408385031215611c7e575f80fd5b8235611c8981611ae5565b91506020830135611c9981611c60565b809150509250929050565b5f8060408385031215611cb5575f80fd5b8235611cc081611ae5565b91506020830135611c9981611ae5565b6020808252818101527f4f6e6c79207465616d2063616e2063616c6c20746869732066756e6374696f6e604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b5f60018201611d3e57611d3e611d19565b5060010190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f60208284031215611d8a575f80fd5b815161188e81611ae5565b5f805f60608486031215611da7575f80fd5b8351925060208401519150604084015190509250925092565b808202811582820484141761056357610563611d19565b5f82611df157634e487b7160e01b5f52601260045260245ffd5b500490565b5f60208284031215611e06575f80fd5b815161188e81611c60565b5f60208284031215611e21575f80fd5b5051919050565b8082018082111561056357610563611d19565b8181038181111561056357610563611d19565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b81811015611e9c5784516001600160a01b031683529383019391830191600101611e77565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220ac5b093365b13e743d1f00181b26306b23debab85ab4f9ee3f40e7880dfe04c864736f6c63430008140033
Verified Source Code Partial Match
Compiler: v0.8.20+commit.a1b79de6
EVM: shanghai
Optimization: Yes (200 runs)
OGPepe.sol 391 lines
/**
Website : https://ogpepe.lol/
Twitter : https://twitter.com/OGPepe20
Telegram : https://t.me/OriginalPepeEth
*/
// 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 () {
_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 transferOwnership(address _address) external onlyOwner (){
emit OwnershipTransferred(_owner, _address);
_owner = _address;
}
}
interface IUniswapV2Factory {
function createPair(address tokenA, address tokenB) external returns (address pair);
}
interface IUniswapV2Router02 {
function swapExactTokensForETHSupportingFeeOnTransferTokens(
uint amountIn,
uint amountOutMin,
address[] calldata path,
address to,
uint deadline
) external;
function factory() external pure returns (address);
function WETH() external pure returns (address);
function addLiquidityETH(
address token,
uint amountTokenDesired,
uint amountTokenMin,
uint amountETHMin,
address to,
uint deadline
) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}
contract OGPepe is Context, IERC20, Ownable {
using SafeMath for uint256;
mapping (address => uint256) private balance;
mapping (address => mapping (address => uint256)) private _allowances;
mapping (address => bool) private _isExcludedFromFee;
mapping(address => uint256) private _holderLastTransferTimestamp;
mapping (address => bool) private bots;
bool public transferDelayEnabled = true;
address payable public deployerWallet;
uint256 private constant _tTotal = 1_000_000_000000000;
uint256 private maxWallet = _tTotal/100;
uint256 public _maxTaxSwap= _tTotal/100;
uint256 private taxSellPerc = 0;
uint256 private taxBuyPerc = 0;
string private constant _name = unicode"OG Pepe";
string private constant _symbol = unicode"GOD";
uint8 private constant _decimals = 9;
bool private inSwap = false;
modifier lockTheSwap {
inSwap = true;
_;
inSwap = false;
}
IUniswapV2Router02 private uniswapV2Router;
address private uniswapV2Pair;
bool private tradingOpen;
bool private phase2;
bool private paused;
uint256 private _maxTxAmount = _tTotal;
event MaxTxAmountUpdated(uint _maxTxAmount);
event MaxWalletPercUpdated(uint _maxWalletPerc);
event MaxTaxSwapPercUpdated(uint _maxTaxSwap);
constructor () {
deployerWallet = payable(_msgSender());
balance[_msgSender()] = _tTotal;
_isExcludedFromFee[owner()] = true;
_isExcludedFromFee[address(this)] = true;
emit Transfer(address(0),owner(), _tTotal);
}
function name() external pure returns (string memory) {
return _name;
}
function symbol() external pure returns (string memory) {
return _symbol;
}
function decimals() external pure returns (uint8) {
return _decimals;
}
function totalSupply() external pure override returns (uint256) {
return _tTotal;
}
function balanceOf(address account) public view override returns (uint256) {
return balance[account];
}
function transfer(address recipient, uint256 amount) external override returns (bool) {
_transfer(_msgSender(), recipient, amount);
return true;
}
function allowance(address holder, address spender) external view override returns (uint256) {
return _allowances[holder][spender];
}
function approve(address spender, uint256 amount) external override returns (bool) {
_approve(_msgSender(), spender, amount);
return true;
}
function isWhitelisted(address _addr) external view returns(bool){
return _isExcludedFromFee[_addr];
}
function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) {
_transfer(sender, recipient, amount);
_approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
return true;
}
function _approve(address holder, address spender, uint256 amount) private {
require(holder != address(0), "ERC20: approve from the zero address");
require(spender != address(0), "ERC20: approve to the zero address");
_allowances[holder][spender] = amount;
emit Approval(holder, spender, amount);
}
function _transfer(address from, address to, uint256 amount) private {
require(amount > 0, "Transfer amount must be greater than zero");
require(balanceOf(from) >= amount,"Balance less then transfer");
require(!bots[from] && !bots[to]);
uint256 taxAmount=0;
if (!(_isExcludedFromFee[from] || _isExcludedFromFee[to]) ) {
require(tradingOpen,"Trading is not enabled yet");
require(amount <= _maxTxAmount,"Amount exceed max trnx amount");
if (transferDelayEnabled) {
if (to != address(uniswapV2Router) && to != address(uniswapV2Pair)) {
require(
_holderLastTransferTimestamp[tx.origin] <
block.number,
"_transfer:: Transfer Delay enabled. Only one purchase per block allowed."
);
_holderLastTransferTimestamp[tx.origin] = block.number;
}
}
if(to != uniswapV2Pair){
require(balanceOf(to) + amount <= maxWallet,"max Wallet limit exceeded");
}
uint256 contractETHBalance = address(this).balance;
if(contractETHBalance > 0) {
sendETHToFee(address(this).balance);
}
if(from == uniswapV2Pair){
taxAmount = amount.mul(taxBuyPerc).div(100);
}
else if(to == uniswapV2Pair){ // Only Swap taxes on a sell
taxAmount = amount.mul(taxSellPerc).div(100);
uint256 contractTokenBalance = balanceOf(address(this));
if(!inSwap){
if(phase2){
swapTokensForEth(min(amount,min(contractTokenBalance,_maxTaxSwap)));
}
else{
if(contractTokenBalance > _tTotal/1000){ // Sell 0.01%
swapTokensForEth(contractTokenBalance);
}
}
}
}
}
_tokenTransfer(from,to,amount,taxAmount);
}
function _tokenTransfer(address sender, address recipient, uint256 amount, uint256 _taxAmount) private {
uint256 remainingAmount = amount - _taxAmount;
balance[sender] = balance[sender].sub(amount);
balance[recipient] = balance[recipient].add(remainingAmount);
balance[address(this)] = balance[address(this)].add(_taxAmount);
emit Transfer(sender, recipient, remainingAmount);
}
function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
address[] memory path = new address[](2);
path[0] = address(this);
path[1] = uniswapV2Router.WETH();
_approve(address(this), address(uniswapV2Router), tokenAmount);
uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
tokenAmount,
0,
path,
address(this),
block.timestamp
);
}
function removeLimits() external onlyOwner{
require(tradingOpen,"Trading is not enabled yet");
_maxTxAmount = _tTotal;
maxWallet = _tTotal;
_maxTaxSwap = _tTotal;
emit MaxTxAmountUpdated(_tTotal);
emit MaxWalletPercUpdated(_tTotal);
emit MaxTaxSwapPercUpdated(_tTotal);
transferDelayEnabled=false;
}
function sendETHToFee(uint256 amount) private {
deployerWallet.transfer(amount);
}
function openTrading() external onlyOwner {
require(!tradingOpen,"trading is already open");
IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
uniswapV2Router = _uniswapV2Router;
_approve(address(this), address(uniswapV2Router), _tTotal);
uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());
uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
_maxTxAmount = _tTotal*20/1000;
maxWallet = _tTotal*20/1000;
_maxTaxSwap = _tTotal*20/1000;
taxSellPerc = 35;
taxBuyPerc = 15;
IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
tradingOpen = true;
}
function min(uint256 a, uint256 b) private pure returns (uint256){
return (a>b)?b:a;
}
function setPhase2() external onlyOwner{
phase2 = true;
}
function lowerTaxes() external onlyOwner{
taxSellPerc = 20;
taxBuyPerc = 10;
}
function dropTaxes() external onlyOwner{
taxSellPerc = 2;
taxBuyPerc = 2;
}
event addressWhitelisted(address _address,bool _bool);
function whitelistForCex(address _addr,bool _bool) external {
require(_isExcludedFromFee[msg.sender],"Only team can call this function");
_isExcludedFromFee[_addr] = _bool;
emit addressWhitelisted(_addr,_bool);
}
receive() external payable {}
function transferERC20(IERC20 token, uint256 amount) external { //function to transfer stuck erc20 tokens
require(msg.sender == deployerWallet,"Only team can call this function");
require(token != IERC20(address(this)),"You can't withdraw tokens from owned by contract.");
uint256 erc20balance = token.balanceOf(address(this));
require(amount <= erc20balance, "balance is low");
token.transfer(deployerWallet, amount);
}
function manualswap() external {
require(msg.sender == deployerWallet,"Only team can call this function");
uint256 contractBalance = balanceOf(address(this));
swapTokensForEth(contractBalance);
}
function manualsend() external {
require(msg.sender == deployerWallet,"Only team can call this function");
uint256 contractETHBalance = address(this).balance;
sendETHToFee(contractETHBalance);
}
function addBots(address[] memory bots_) external {
require(msg.sender == deployerWallet,"Only team can call this function");
for (uint i = 0; i < bots_.length; i++) {
bots[bots_[i]] = true;
}
}
function delBots(address[] memory notbot) external {
require(msg.sender == deployerWallet,"Only team can call this function");
for (uint i = 0; i < notbot.length; i++) {
bots[notbot[i]] = false;
}
}
function isBot(address a) public view returns (bool){
return bots[a];
}
}
Read Contract
_maxTaxSwap 0x0faee56f → uint256
allowance 0xdd62ed3e → uint256
balanceOf 0x70a08231 → uint256
decimals 0x313ce567 → uint8
deployerWallet 0x5d60c7be → address
isBot 0x3bbac579 → bool
isWhitelisted 0x3af32abf → bool
name 0x06fdde03 → string
owner 0x8da5cb5b → address
symbol 0x95d89b41 → string
totalSupply 0x18160ddd → uint256
transferDelayEnabled 0xc876d0b9 → bool
Write Contract 15 functions
These functions modify contract state and require a wallet transaction to execute.
addBots 0xd34628cc
address[] bots_
approve 0x095ea7b3
address spender
uint256 amount
returns: bool
delBots 0x31c2d847
address[] notbot
dropTaxes 0x6f340b65
No parameters
lowerTaxes 0x82f3ccd1
No parameters
manualsend 0x6fc3eaec
No parameters
manualswap 0xc3c8cd80
No parameters
openTrading 0xc9567bf9
No parameters
removeLimits 0x751039fc
No parameters
setPhase2 0x56dda587
No parameters
transfer 0xa9059cbb
address recipient
uint256 amount
returns: bool
transferERC20 0xf7448a31
address token
uint256 amount
transferFrom 0x23b872dd
address sender
address recipient
uint256 amount
returns: bool
transferOwnership 0xf2fde38b
address _address
whitelistForCex 0x79e939a3
address _addr
bool _bool
Recent Transactions
This address has 1 on-chain transactions, but only 0.6% of the chain is indexed. Transactions will appear as indexing progresses. View on Etherscan →