ERC-20
Overview
Max Total Supply
1,000,000 DONUTS
Holders
1,867
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
DonutsCoin
Compiler Version
v0.8.18+commit.87f61d96
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT pragma solidity 0.8.18; // /$$$$$$$ /$$ /$$$$$$ /$$ // | $$__ $$ | $$ /$$__ $$ |__/ // | $$ \ $$ /$$$$$$ /$$$$$$$ /$$ /$$ /$$$$$$ /$$$$$$$| $$ \__/ /$$$$$$ /$$ /$$$$$$$ // | $$ | $$ /$$__ $$| $$__ $$| $$ | $$|_ $$_/ /$$_____/| $$ /$$__ $$| $$| $$__ $$ // | $$ | $$| $$ \ $$| $$ \ $$| $$ | $$ | $$ | $$$$$$ | $$ | $$ \ $$| $$| $$ \ $$ // | $$ | $$| $$ | $$| $$ | $$| $$ | $$ | $$ /$$\____ $$| $$ $$| $$ | $$| $$| $$ | $$ // | $$$$$$$/| $$$$$$/| $$ | $$| $$$$$$/ | $$$$//$$$$$$$/| $$$$$$/| $$$$$$/| $$| $$ | $$ // |_______/ \______/ |__/ |__/ \______/ \___/ |_______/ \______/ \______/ |__/|__/ |__/ /// @title DonutsCoin /******************************************************************************************** INTERFACE ********************************************************************************************/ interface IERC20 { // EVENT event Transfer(address indexed from, address indexed to, uint256 value); event Approval( address indexed owner, address indexed spender, uint256 value ); // FUNCTION function name() external view returns (string memory); function symbol() external view returns (string memory); function decimals() external view returns (uint8); function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address to, 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 from, address to, uint256 amount ) external returns (bool); } interface IPair { // FUNCTION function token0() external view returns (address); function token1() external view returns (address); } interface IFactory { // FUNCTION function createPair( address tokenA, address tokenB ) external returns (address pair); } interface IRouter { // FUNCTION function WETH() external pure returns (address); function factory() external pure returns (address); function swapExactTokensForETHSupportingFeeOnTransferTokens(uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline) external; function swapExactETHForTokensSupportingFeeOnTransferTokens(uint256 amountOutMin, address[] calldata path, address to, uint256 deadline) external payable; function swapExactTokensForTokens(uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline) external returns (uint256[] memory amounts); function addLiquidityETH(address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline) external payable returns (uint256 amountToken, uint256 amountETH, uint256 liquidity); } interface ICommonError { // ERROR error CannotUseCurrentAddress(address current); error CannotUseCurrentValue(uint256 current); error CannotUseCurrentState(bool current); error InvalidAddress(address invalid); error InvalidValue(uint256 invalid); } /******************************************************************************************** ACCESS ********************************************************************************************/ abstract contract Ownable { // DATA address private _owner; // MODIFIER modifier onlyOwner() { _checkOwner(); _; } // ERROR error InvalidOwner(address account); error UnauthorizedAccount(address account); // CONSTRUCTOR constructor(address initialOwner) { _transferOwnership(initialOwner); } // EVENT event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); // FUNCTION function owner() public view virtual returns (address) { return _owner; } function _checkOwner() internal view virtual { if (owner() != msg.sender) { revert UnauthorizedAccount(msg.sender); } } function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } function transferOwnership(address newOwner) public virtual onlyOwner { if (newOwner == address(0)) { revert InvalidOwner(address(0)); } _transferOwnership(newOwner); } function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } /******************************************************************************************** TOKEN ********************************************************************************************/ contract DonutsCoin is Ownable, ICommonError, IERC20 { // DATA IRouter public router; string private constant NAME = "DonutsCoin"; string private constant SYMBOL = "DONUTS"; uint8 private constant DECIMALS = 18; uint256 private _totalSupply; uint256 public constant FEEDENOMINATOR = 10_000; uint256 public constant TRANSFERFEE = 0; uint256 public buyFee = 100; uint256 public sellFee = 200; uint256 public burnFeePercentage = 0; uint256 public liquidityFeePercentage = 0; uint256 public marketingFeePercentage = 0; address public marketingWallet = 0x7c983436362602Ca3A38a7d518409E1f08B10c66; address public projectWallet = 0x7c983436362602Ca3A38a7d518409E1f08B10c66; address public feeWallet = 0x7c983436362602Ca3A38a7d518409E1f08B10c66; uint256 public totalFeeCollected = 0; uint256 public minSwap = 1_000 ether; bool public tradeEnabled = false; bool public isFeeActive = false; bool public inSwap = false; bool public isSwapEnabled = false; address public pair; // MAPPING mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; mapping(address => bool) public isExcludeFromFees; mapping(address => bool) public isPairLP; // MODIFIER modifier swapping() { inSwap = true; _; inSwap = false; } // ERROR error InvalidTradeEnabledState(bool current); error InvalidFeeActiveState(bool current); error InvalidSwapEnabledState(bool current); error PresaleAlreadyFinalized(bool current); error TradeDisabled(); error InvalidFee(); // CONSTRUCTOR constructor() Ownable(msg.sender) { _mint(projectWallet, 1_000_000 * 10 ** DECIMALS); router = IRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); pair = IFactory(router.factory()).createPair( address(this), router.WETH() ); isPairLP[pair] = true; isExcludeFromFees[msg.sender] = true; isExcludeFromFees[projectWallet] = true; isExcludeFromFees[address(router)] = true; } // EVENT event UpdateRouter( address oldRouter, address newRouter, address caller, uint256 timestamp ); event UpdateMinSwap( uint256 oldMinSwap, uint256 newMinSwap, address caller, uint256 timestamp ); event UpdateFeeActive( bool oldStatus, bool newStatus, address caller, uint256 timestamp ); event UpdateSwapEnabled( bool oldStatus, bool newStatus, address caller, uint256 timestamp ); event AutoRedeem( uint256 feeDistribution, uint256 amountToRedeem, address caller, uint256 timestamp ); event EnableTrading( bool oldStatus, bool newStatus, address caller, uint256 timestamp ); // FUNCTION /* General */ receive() external payable {} function enableTrading() external onlyOwner { if (tradeEnabled) { revert InvalidTradeEnabledState(tradeEnabled); } if (isFeeActive) { revert InvalidFeeActiveState(isFeeActive); } if (isSwapEnabled) { revert InvalidSwapEnabledState(isSwapEnabled); } tradeEnabled = true; isFeeActive = true; isSwapEnabled = true; } /* Check */ function isDonut() external pure returns (bool) { return true; } function circulatingSupply() external view returns (uint256) { return totalSupply() - balanceOf(address(0xdead)) - balanceOf(address(0)); } /* Update */ function updateRouter(address newRouter) external onlyOwner { if (address(router) == newRouter) { revert CannotUseCurrentAddress(newRouter); } address oldRouter = address(router); router = IRouter(newRouter); isExcludeFromFees[newRouter] = true; emit UpdateRouter(oldRouter, newRouter, msg.sender, block.timestamp); pair = IFactory(router.factory()).createPair( address(this), router.WETH() ); isPairLP[pair] = true; } function updateMinSwap(uint256 newMinSwap) external onlyOwner { if (minSwap == newMinSwap) { revert CannotUseCurrentValue(newMinSwap); } uint256 oldMinSwap = minSwap; minSwap = newMinSwap; emit UpdateMinSwap(oldMinSwap, newMinSwap, msg.sender, block.timestamp); } function updateFeeActive(bool newStatus) external onlyOwner { if (isFeeActive == newStatus) { revert CannotUseCurrentState(newStatus); } bool oldStatus = isFeeActive; isFeeActive = newStatus; emit UpdateFeeActive(oldStatus, newStatus, msg.sender, block.timestamp); } function updateWallets(address _project, address _marketing, address _fee) external onlyOwner { projectWallet = _project; marketingWallet = _marketing; feeWallet = _fee; } function updateSwapEnabled(bool newStatus) external onlyOwner { if (isSwapEnabled == newStatus) { revert CannotUseCurrentState(newStatus); } bool oldStatus = isSwapEnabled; isSwapEnabled = newStatus; emit UpdateSwapEnabled(oldStatus, newStatus, msg.sender, block.timestamp); } function updateFees(uint256 _buyFee, uint256 _sellFee) external onlyOwner { if(_buyFee > 3000 || _sellFee > 3000 ) { revert InvalidFee(); } buyFee = _buyFee; sellFee = _sellFee; } function setFeePercentages(uint256 _burnFee, uint256 _liquidityFee, uint256 _marketingFee) public onlyOwner { require(_burnFee + _liquidityFee + _marketingFee <= 100, "Total fee percentage exceeds 100"); burnFeePercentage = _burnFee; liquidityFeePercentage = _liquidityFee; marketingFeePercentage = _marketingFee; } function setExcludeFromFees(address user, bool status) external onlyOwner { if (isExcludeFromFees[user] == status) { revert CannotUseCurrentState(status); } isExcludeFromFees[user] = status; } function setPairLP(address lpPair, bool status) external onlyOwner { if (isPairLP[lpPair] == status) { revert CannotUseCurrentState(status); } if ( IPair(lpPair).token0() != address(this) && IPair(lpPair).token1() != address(this) ) { revert InvalidAddress(lpPair); } isPairLP[lpPair] = status; } /* Fee */ function takeBuyFee(address from, uint256 amount) internal swapping returns (uint256) { uint256 feeAmount = (amount * buyFee) / FEEDENOMINATOR; uint256 newAmount = amount - feeAmount; if (feeAmount > 0) { distributeFee(from, feeAmount); } return newAmount; } function takeSellFee(address from, uint256 amount) internal swapping returns (uint256) { uint256 feeAmount = (amount * sellFee) / FEEDENOMINATOR; uint256 newAmount = amount - feeAmount; if (feeAmount > 0) { distributeFee(from, feeAmount); } return newAmount; } function swapBack() internal swapping { uint256 initialBalance = address(this).balance; uint256 firstLiquidityHalf = minSwap / 2; uint256 secondLiquidityHalf = minSwap - firstLiquidityHalf; address[] memory path = new address[](2); path[0] = address(this); path[1] = router.WETH(); _approve(address(this), address(router), minSwap); router.swapExactTokensForETHSupportingFeeOnTransferTokens( firstLiquidityHalf, 0, path, address(this), block.timestamp ); router.addLiquidityETH{ value: address(this).balance - initialBalance }( address(this), secondLiquidityHalf, 0, 0, address(0xdead), block.timestamp + 1_200 ); } function distributeFee(address from, uint256 feeAmount) internal swapping { totalFeeCollected += feeAmount; uint256 burnAmount = (feeAmount * burnFeePercentage) / 100; uint256 liquidityAmount = (feeAmount * liquidityFeePercentage) / 100; uint256 marketingAmount = (feeAmount * marketingFeePercentage) / 100; if (burnAmount > 0) { _balances[address(0)] += burnAmount; } if(liquidityAmount > 0){ _balances[address(this)] += liquidityAmount; } if (marketingAmount > 0) { _balances[marketingWallet] += marketingAmount; } _balances[from] -= feeAmount; _balances[feeWallet] += (feeAmount - burnAmount - liquidityAmount - marketingAmount); } function takeTransferFee( address from, uint256 amount ) internal swapping returns (uint256) { uint256 feeAmount = (amount * TRANSFERFEE) / FEEDENOMINATOR; uint256 newAmount = amount - feeAmount; if (feeAmount > 0) { distributeFee(from, feeAmount); } return newAmount; } /* ERC20 Standard */ function name() external view virtual override returns (string memory) { return NAME; } function symbol() external view virtual override returns (string memory) { return SYMBOL; } function decimals() external view virtual override returns (uint8) { return DECIMALS; } function totalSupply() public view virtual override returns (uint256) { return _totalSupply; } function balanceOf( address account ) public view virtual override returns (uint256) { return _balances[account]; } function transfer( address to, uint256 amount ) external virtual override returns (bool) { address provider = msg.sender; return _transfer(provider, to, amount); } function allowance( address provider, address spender ) public view virtual override returns (uint256) { return _allowances[provider][spender]; } function approve( address spender, uint256 amount ) public virtual override returns (bool) { address provider = msg.sender; _approve(provider, spender, amount); return true; } function transferFrom( address from, address to, uint256 amount ) external virtual override returns (bool) { address spender = msg.sender; _spendAllowance(from, spender, amount); return _transfer(from, to, amount); } function increaseAllowance( address spender, uint256 addedValue ) external virtual returns (bool) { address provider = msg.sender; _approve(provider, spender, allowance(provider, spender) + addedValue); return true; } function decreaseAllowance( address spender, uint256 subtractedValue ) external virtual returns (bool) { address provider = msg.sender; uint256 currentAllowance = allowance(provider, spender); require( currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero" ); unchecked { _approve(provider, spender, currentAllowance - subtractedValue); } return true; } function _mint(address account, uint256 amount) internal virtual { if (account == address(0)) { revert InvalidAddress(account); } _totalSupply += amount; unchecked { _balances[account] += amount; } emit Transfer(address(0), account, amount); } function _approve( address provider, address spender, uint256 amount ) internal virtual { if (provider == address(0)) { revert InvalidAddress(provider); } if (spender == address(0)) { revert InvalidAddress(spender); } _allowances[provider][spender] = amount; emit Approval(provider, spender, amount); } function _spendAllowance( address provider, address spender, uint256 amount ) internal virtual { uint256 currentAllowance = allowance(provider, spender); if (currentAllowance != type(uint256).max) { require( currentAllowance >= amount, "ERC20: insufficient allowance" ); unchecked { _approve(provider, spender, currentAllowance - amount); } } } /* Additional */ function _basicTransfer( address from, address to, uint256 amount ) internal returns (bool) { uint256 fromBalance = _balances[from]; require( fromBalance >= amount, "ERC20: transfer amount exceeds balance" ); unchecked { _balances[from] = fromBalance - amount; _balances[to] += amount; } emit Transfer(from, to, amount); return true; } /* Overrides */ function _transfer( address from, address to, uint256 amount ) internal virtual returns (bool) { if (from == address(0)) { revert InvalidAddress(from); } if (to == address(0)) { revert InvalidAddress(to); } if ( !tradeEnabled && !isExcludeFromFees[from] && !isExcludeFromFees[to] ) { revert TradeDisabled(); } if (inSwap || isExcludeFromFees[from]) { return _basicTransfer(from, to, amount); } uint256 newAmount = amount; if (isFeeActive && !isExcludeFromFees[from] && !isExcludeFromFees[to]) { newAmount = _beforeTokenTransfer(from, to, amount); } if (from != pair && balanceOf(address(this)) >= minSwap && isSwapEnabled) { swapBack(); } require( _balances[from] >= newAmount, "ERC20: transfer amount exceeds balance" ); unchecked { _balances[from] = _balances[from] - newAmount; _balances[to] += newAmount; } emit Transfer(from, to, newAmount); return true; } function _beforeTokenTransfer( address from, address to, uint256 amount ) internal virtual swapping returns (uint256) { if (isPairLP[from] && (buyFee > 0)) { return takeBuyFee(from, amount); } if (isPairLP[to] && (sellFee > 0)) { return takeSellFee(from, amount); } if (!isPairLP[from] && !isPairLP[to] && (TRANSFERFEE > 0)) { return takeTransferFee(from, amount); } return amount; } }
{ "optimizer": { "enabled": true, "runs": 200 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"current","type":"address"}],"name":"CannotUseCurrentAddress","type":"error"},{"inputs":[{"internalType":"bool","name":"current","type":"bool"}],"name":"CannotUseCurrentState","type":"error"},{"inputs":[{"internalType":"uint256","name":"current","type":"uint256"}],"name":"CannotUseCurrentValue","type":"error"},{"inputs":[{"internalType":"address","name":"invalid","type":"address"}],"name":"InvalidAddress","type":"error"},{"inputs":[],"name":"InvalidFee","type":"error"},{"inputs":[{"internalType":"bool","name":"current","type":"bool"}],"name":"InvalidFeeActiveState","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"InvalidOwner","type":"error"},{"inputs":[{"internalType":"bool","name":"current","type":"bool"}],"name":"InvalidSwapEnabledState","type":"error"},{"inputs":[{"internalType":"bool","name":"current","type":"bool"}],"name":"InvalidTradeEnabledState","type":"error"},{"inputs":[{"internalType":"uint256","name":"invalid","type":"uint256"}],"name":"InvalidValue","type":"error"},{"inputs":[{"internalType":"bool","name":"current","type":"bool"}],"name":"PresaleAlreadyFinalized","type":"error"},{"inputs":[],"name":"TradeDisabled","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"UnauthorizedAccount","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"feeDistribution","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountToRedeem","type":"uint256"},{"indexed":false,"internalType":"address","name":"caller","type":"address"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"AutoRedeem","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"oldStatus","type":"bool"},{"indexed":false,"internalType":"bool","name":"newStatus","type":"bool"},{"indexed":false,"internalType":"address","name":"caller","type":"address"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"EnableTrading","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"oldStatus","type":"bool"},{"indexed":false,"internalType":"bool","name":"newStatus","type":"bool"},{"indexed":false,"internalType":"address","name":"caller","type":"address"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"UpdateFeeActive","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"oldMinSwap","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newMinSwap","type":"uint256"},{"indexed":false,"internalType":"address","name":"caller","type":"address"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"UpdateMinSwap","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldRouter","type":"address"},{"indexed":false,"internalType":"address","name":"newRouter","type":"address"},{"indexed":false,"internalType":"address","name":"caller","type":"address"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"UpdateRouter","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"oldStatus","type":"bool"},{"indexed":false,"internalType":"bool","name":"newStatus","type":"bool"},{"indexed":false,"internalType":"address","name":"caller","type":"address"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"UpdateSwapEnabled","type":"event"},{"inputs":[],"name":"FEEDENOMINATOR","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TRANSFERFEE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"provider","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"burnFeePercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"circulatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"feeWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"inSwap","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"isDonut","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludeFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isFeeActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isPairLP","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isSwapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidityFeePercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingFeePercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"projectWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"bool","name":"status","type":"bool"}],"name":"setExcludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_burnFee","type":"uint256"},{"internalType":"uint256","name":"_liquidityFee","type":"uint256"},{"internalType":"uint256","name":"_marketingFee","type":"uint256"}],"name":"setFeePercentages","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"lpPair","type":"address"},{"internalType":"bool","name":"status","type":"bool"}],"name":"setPairLP","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalFeeCollected","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradeEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"newStatus","type":"bool"}],"name":"updateFeeActive","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buyFee","type":"uint256"},{"internalType":"uint256","name":"_sellFee","type":"uint256"}],"name":"updateFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newMinSwap","type":"uint256"}],"name":"updateMinSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newRouter","type":"address"}],"name":"updateRouter","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"newStatus","type":"bool"}],"name":"updateSwapEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_project","type":"address"},{"internalType":"address","name":"_marketing","type":"address"},{"internalType":"address","name":"_fee","type":"address"}],"name":"updateWallets","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052606460035560c8600455600060058190556006819055600781905560088054737c983436362602ca3a38a7d518409e1f08b10c666001600160a01b0319918216811790925560098054821683179055600a80549091169091179055600b55683635c9adc5dea00000600c55600d805463ffffffff191690553480156200008957600080fd5b50336200009681620002e3565b50600954620000cb906001600160a01b0316620000b66012600a620004ec565b620000c590620f424062000504565b62000333565b600180546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa15801562000130573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200015691906200051e565b6001600160a01b031663c9c6539630600160009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001b9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001df91906200051e565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156200022d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200025391906200051e565b600d8054600160201b600160c01b0319166401000000006001600160a01b0393841681029190911791829055900481166000908152601160209081526040808320805460ff1990811660019081179092553385526010909352818420805484168217905560095485168452818420805484168217905580549094168352909120805490911690911790556200055f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0382166200036a57604051634726455360e11b81526001600160a01b038316600482015260240160405180910390fd5b80600260008282546200037e919062000549565b90915550506001600160a01b0382166000818152600e60209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200042e578160001904821115620004125762000412620003d7565b808516156200042057918102915b93841c9390800290620003f2565b509250929050565b6000826200044757506001620004e6565b816200045657506000620004e6565b81600181146200046f57600281146200047a576200049a565b6001915050620004e6565b60ff8411156200048e576200048e620003d7565b50506001821b620004e6565b5060208310610133831016604e8410600b8410161715620004bf575081810a620004e6565b620004cb8383620003ed565b8060001904821115620004e257620004e2620003d7565b0290505b92915050565b6000620004fd60ff84168362000436565b9392505050565b8082028115828204841417620004e657620004e6620003d7565b6000602082840312156200053157600080fd5b81516001600160a01b0381168114620004fd57600080fd5b80820180821115620004e657620004e6620003d7565b61212c806200056f6000396000f3fe6080604052600436106102815760003560e01c80638a8c523c1161014f578063beb08ab9116100c1578063dd62ed3e1161007a578063dd62ed3e14610785578063e43504da146107a5578063f25f4b56146107c4578063f2a42687146107e4578063f2fde38b14610814578063f887ea401461083457600080fd5b8063beb08ab9146106d5578063c4ceb339146106f5578063c851cc321461070b578063d621e8131461072b578063d63cad2214610745578063d83067861461076557600080fd5b8063a457c2d711610113578063a457c2d714610621578063a8aa1b3114610641578063a9059cbb14610669578063ab28a04c14610689578063b4b081df1461069f578063b9b2b5cd146106bf57600080fd5b80638a8c523c1461058a5780638da5cb5b1461059f578063924de9b7146105bd5780639358928b146105dd57806395d89b41146105f257600080fd5b80633bf31454116101f35780636db79437116101ac5780636db79437146104b157806370a08231146104d1578063715018a61461050757806375f0a8741461051c57806375fed3c71461055457806380ada68a1461057457600080fd5b80633bf314541461041b578063470624021461043b57806359cd903114610451578063601d495814610467578063625dd6051461047d5780636a3dacf21461049d57600080fd5b806323b872dd1161024557806323b872dd146103735780632b14ca56146103935780632ce0c0a0146103a9578063313ce567146103be578063351a964d146103da57806339509351146103fb57600080fd5b806306fdde031461028d57806308c43650146102d2578063095ea7b314610312578063147c9f6d1461033257806318160ddd1461035457600080fd5b3661028857005b600080fd5b34801561029957600080fd5b5060408051808201909152600a8152692237b73aba39a1b7b4b760b11b60208201525b6040516102c99190611d2c565b60405180910390f35b3480156102de57600080fd5b506103026102ed366004611d8f565b60116020526000908152604090205460ff1681565b60405190151581526020016102c9565b34801561031e57600080fd5b5061030261032d366004611dac565b610854565b34801561033e57600080fd5b5061035261034d366004611dd8565b61086e565b005b34801561036057600080fd5b506002545b6040519081526020016102c9565b34801561037f57600080fd5b5061030261038e366004611e23565b6108b5565b34801561039f57600080fd5b5061036560045481565b3480156103b557600080fd5b50610365600081565b3480156103ca57600080fd5b50604051601281526020016102c9565b3480156103e657600080fd5b50600d54610302906301000000900460ff1681565b34801561040757600080fd5b50610302610416366004611dac565b6108d9565b34801561042757600080fd5b50610352610436366004611e79565b6108fb565b34801561044757600080fd5b5061036560035481565b34801561045d57600080fd5b50610365600c5481565b34801561047357600080fd5b5061036560065481565b34801561048957600080fd5b50610352610498366004611e94565b6109b0565b3480156104a957600080fd5b506001610302565b3480156104bd57600080fd5b506103526104cc366004611ec9565b610b46565b3480156104dd57600080fd5b506103656104ec366004611d8f565b6001600160a01b03166000908152600e602052604090205490565b34801561051357600080fd5b50610352610b88565b34801561052857600080fd5b5060085461053c906001600160a01b031681565b6040516001600160a01b0390911681526020016102c9565b34801561056057600080fd5b5061035261056f366004611eeb565b610b9c565b34801561058057600080fd5b5061036560075481565b34801561059657600080fd5b50610352610c17565b3480156105ab57600080fd5b506000546001600160a01b031661053c565b3480156105c957600080fd5b506103526105d8366004611e79565b610cd7565b3480156105e957600080fd5b50610365610d83565b3480156105fe57600080fd5b50604080518082019091526006815265444f4e55545360d01b60208201526102bc565b34801561062d57600080fd5b5061030261063c366004611dac565b610df3565b34801561064d57600080fd5b50600d5461053c9064010000000090046001600160a01b031681565b34801561067557600080fd5b50610302610684366004611dac565b610e79565b34801561069557600080fd5b5061036561271081565b3480156106ab57600080fd5b506103526106ba366004611f04565b610e8f565b3480156106cb57600080fd5b50610365600b5481565b3480156106e157600080fd5b5060095461053c906001600160a01b031681565b34801561070157600080fd5b5061036560055481565b34801561071757600080fd5b50610352610726366004611d8f565b610f0a565b34801561073757600080fd5b50600d546103029060ff1681565b34801561075157600080fd5b50610352610760366004611e94565b61118a565b34801561077157600080fd5b50600d546103029062010000900460ff1681565b34801561079157600080fd5b506103656107a0366004611f30565b611201565b3480156107b157600080fd5b50600d5461030290610100900460ff1681565b3480156107d057600080fd5b50600a5461053c906001600160a01b031681565b3480156107f057600080fd5b506103026107ff366004611d8f565b60106020526000908152604090205460ff1681565b34801561082057600080fd5b5061035261082f366004611d8f565b61122c565b34801561084057600080fd5b5060015461053c906001600160a01b031681565b60003361086281858561126a565b60019150505b92915050565b61087661132f565b600980546001600160a01b039485166001600160a01b0319918216179091556008805493851693821693909317909255600a8054919093169116179055565b6000336108c385828561136b565b6108ce8585856113e5565b9150505b9392505050565b6000336108628185856108ec8383611201565b6108f69190611f7f565b61126a565b61090361132f565b801515600d60019054906101000a900460ff1615150361093e5760405162a7e72d60e41b815281151560048201526024015b60405180910390fd5b600d805482151561010081810261ff00198416179093556040805160ff94909304939093168015158352602083019190915233928201929092524260608201527ff99f9d4d81f67d0980beea494b4404ba3b8af1a0a2d493230f1a883efa027f2f906080015b60405180910390a15050565b6109b861132f565b6001600160a01b03821660009081526011602052604090205481151560ff9091161515036109fc5760405162a7e72d60e41b81528115156004820152602401610935565b306001600160a01b0316826001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a44573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a689190611f92565b6001600160a01b031614158015610af25750306001600160a01b0316826001600160a01b031663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ac2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ae69190611f92565b6001600160a01b031614155b15610b1b57604051634726455360e11b81526001600160a01b0383166004820152602401610935565b6001600160a01b03919091166000908152601160205260409020805460ff1916911515919091179055565b610b4e61132f565b610bb8821180610b5f5750610bb881115b15610b7d576040516358d620b360e01b815260040160405180910390fd5b600391909155600455565b610b9061132f565b610b9a6000611670565b565b610ba461132f565b80600c5403610bc95760405163657e16cf60e01b815260048101829052602401610935565b600c805490829055604080518281526020810184905233918101919091524260608201527f9a9f4704ac409fe039e92a996e415370980275aaff2992936ed5b432886c55c5906080016109a4565b610c1f61132f565b600d5460ff1615610c4e57600d546040516301bf623960e61b815260ff90911615156004820152602401610935565b600d54610100900460ff1615610c8657600d54604051630eff900b60e21b815261010090910460ff1615156004820152602401610935565b600d546301000000900460ff1615610cc257600d5460405163610a8e6760e01b8152630100000090910460ff1615156004820152602401610935565b600d805463ff00ffff19166301000101179055565b610cdf61132f565b801515600d60039054906101000a900460ff16151503610d155760405162a7e72d60e41b81528115156004820152602401610935565b600d8054821515630100000081810263ff000000198416179093556040805160ff94909304939093168015158352602083019190915233928201929092524260608201527fa9eb6c000d17475b17651469533695f7b673c93327fdbadf4341ebeb2607a044906080016109a4565b600e6020527fe710864318d4a32f37d6ce54cb3fadbef648dd12d8dbdf53973564d56b7f881c5461dead60009081527ff77e91909e61d18f67b875b2bfcae1f683a8d555e55382e3a6b082e2c59ea57a54600254919291610de49190611faf565b610dee9190611faf565b905090565b60003381610e018286611201565b905083811015610e615760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610935565b610e6e828686840361126a565b506001949350505050565b600033610e878185856113e5565b949350505050565b610e9761132f565b606481610ea48486611f7f565b610eae9190611f7f565b1115610efc5760405162461bcd60e51b815260206004820181905260248201527f546f74616c206665652070657263656e746167652065786365656473203130306044820152606401610935565b600592909255600655600755565b610f1261132f565b6001546001600160a01b03808316911603610f4b5760405163a936636960e01b81526001600160a01b0382166004820152602401610935565b600180546001600160a01b038381166001600160a01b0319831681178455600081815260106020908152604091829020805460ff19169096179095558051929093168083529382015233918101919091524260608201527fe1cb783288eddc7b22c25642a832d886a558be0dd900747310a34156b9fdcbbb9060800160405180910390a1600160009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611022573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110469190611f92565b6001600160a01b031663c9c6539630600160009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110cc9190611f92565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015611119573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061113d9190611f92565b600d8054640100000000600160c01b0319166401000000006001600160a01b03938416810291909117918290559004166000908152601160205260409020805460ff191660011790555050565b61119261132f565b6001600160a01b03821660009081526010602052604090205481151560ff9091161515036111d65760405162a7e72d60e41b81528115156004820152602401610935565b6001600160a01b03919091166000908152601060205260409020805460ff1916911515919091179055565b6001600160a01b039182166000908152600f6020908152604080832093909416825291909152205490565b61123461132f565b6001600160a01b03811661125e5760405163b20f76e360e01b815260006004820152602401610935565b61126781611670565b50565b6001600160a01b03831661129c57604051634726455360e11b81526001600160a01b0384166004820152602401610935565b6001600160a01b0382166112ce57604051634726455360e11b81526001600160a01b0383166004820152602401610935565b6001600160a01b038381166000818152600f602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b336113426000546001600160a01b031690565b6001600160a01b031614610b9a576040516332b2baa360e01b8152336004820152602401610935565b60006113778484611201565b905060001981146113df57818110156113d25760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610935565b6113df848484840361126a565b50505050565b60006001600160a01b03841661141957604051634726455360e11b81526001600160a01b0385166004820152602401610935565b6001600160a01b03831661144b57604051634726455360e11b81526001600160a01b0384166004820152602401610935565b600d5460ff1615801561147757506001600160a01b03841660009081526010602052604090205460ff16155b801561149c57506001600160a01b03831660009081526010602052604090205460ff16155b156114ba57604051632b61510560e11b815260040160405180910390fd5b600d5462010000900460ff16806114e957506001600160a01b03841660009081526010602052604090205460ff165b15611500576114f98484846116c0565b90506108d2565b600d548290610100900460ff16801561153257506001600160a01b03851660009081526010602052604090205460ff16155b801561155757506001600160a01b03841660009081526010602052604090205460ff16155b1561156a57611567858585611759565b90505b600d546001600160a01b0386811664010000000090920416148015906115a15750600c54306000908152600e602052604090205410155b80156115b65750600d546301000000900460ff165b156115c3576115c3611854565b6001600160a01b0385166000908152600e60205260409020548111156115fb5760405162461bcd60e51b815260040161093590611fc2565b6001600160a01b038086166000818152600e6020526040808220805486900390559287168082529083902080548501905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061165d9085815260200190565b60405180910390a3506001949350505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0383166000908152600e6020526040812054828110156116f95760405162461bcd60e51b815260040161093590611fc2565b6001600160a01b038086166000818152600e602052604080822087860390559287168082529083902080548701905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061165d9087815260200190565b600d805462ff00001916620100001790556001600160a01b03831660009081526011602052604081205460ff16801561179457506000600354115b156117aa576117a38483611ac1565b9050611841565b6001600160a01b03831660009081526011602052604090205460ff1680156117d457506000600454115b156117e3576117a38483611b26565b6001600160a01b03841660009081526011602052604090205460ff1615801561182557506001600160a01b03831660009081526011602052604090205460ff16155b801561182f575060005b1561183e576117a38483611b4d565b50805b600d805462ff0000191690559392505050565b600d805462ff0000191662010000179055600c54479060009061187990600290612008565b9050600081600c5461188b9190611faf565b604080516002808252606082018352929350600092909160208301908036833701905050905030816000815181106118c5576118c561202a565b6001600160a01b03928316602091820292909201810191909152600154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561191e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119429190611f92565b816001815181106119555761195561202a565b6001600160a01b039283166020918202929092010152600154600c5461197e923092169061126a565b60015460405163791ac94760e01b81526001600160a01b039091169063791ac947906119b7908690600090869030904290600401612040565b600060405180830381600087803b1580156119d157600080fd5b505af11580156119e5573d6000803e3d6000fd5b50506001546001600160a01b0316915063f305d7199050611a068647611faf565b308560008061dead611a1a426104b0611f7f565b60405160e089901b6001600160e01b03191681526001600160a01b039687166004820152602481019590955260448501939093526064840191909152909216608482015260a481019190915260c40160606040518083038185885af1158015611a87573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611aac91906120b1565b5050600d805462ff0000191690555050505050565b600d805462ff0000191662010000179055600354600090819061271090611ae890856120df565b611af29190612008565b90506000611b008285611faf565b90508115611b1257611b128583611b6e565b600d805462ff000019169055949350505050565b600d805462ff0000191662010000179055600454600090819061271090611ae890856120df565b600d805462ff0000191662010000179055600080612710611ae882856120df565b600d805462ff0000191662010000179055600b8054829190600090611b94908490611f7f565b9091555050600554600090606490611bac90846120df565b611bb69190612008565b90506000606460065484611bca91906120df565b611bd49190612008565b90506000606460075485611be891906120df565b611bf29190612008565b90508215611c3b576000808052600e6020527fe710864318d4a32f37d6ce54cb3fadbef648dd12d8dbdf53973564d56b7f881c8054859290611c35908490611f7f565b90915550505b8115611c6657306000908152600e602052604081208054849290611c60908490611f7f565b90915550505b8015611c9c576008546001600160a01b03166000908152600e602052604081208054839290611c96908490611f7f565b90915550505b6001600160a01b0385166000908152600e602052604081208054869290611cc4908490611faf565b9091555081905082611cd68587611faf565b611ce09190611faf565b611cea9190611faf565b600a546001600160a01b03166000908152600e602052604081208054909190611d14908490611f7f565b9091555050600d805462ff0000191690555050505050565b600060208083528351808285015260005b81811015611d5957858101830151858201604001528201611d3d565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461126757600080fd5b600060208284031215611da157600080fd5b81356108d281611d7a565b60008060408385031215611dbf57600080fd5b8235611dca81611d7a565b946020939093013593505050565b600080600060608486031215611ded57600080fd5b8335611df881611d7a565b92506020840135611e0881611d7a565b91506040840135611e1881611d7a565b809150509250925092565b600080600060608486031215611e3857600080fd5b8335611e4381611d7a565b92506020840135611e5381611d7a565b929592945050506040919091013590565b80358015158114611e7457600080fd5b919050565b600060208284031215611e8b57600080fd5b6108d282611e64565b60008060408385031215611ea757600080fd5b8235611eb281611d7a565b9150611ec060208401611e64565b90509250929050565b60008060408385031215611edc57600080fd5b50508035926020909101359150565b600060208284031215611efd57600080fd5b5035919050565b600080600060608486031215611f1957600080fd5b505081359360208301359350604090920135919050565b60008060408385031215611f4357600080fd5b8235611f4e81611d7a565b91506020830135611f5e81611d7a565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561086857610868611f69565b600060208284031215611fa457600080fd5b81516108d281611d7a565b8181038181111561086857610868611f69565b60208082526026908201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604082015265616c616e636560d01b606082015260800190565b60008261202557634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156120905784516001600160a01b03168352938301939183019160010161206b565b50506001600160a01b03969096166060850152505050608001529392505050565b6000806000606084860312156120c657600080fd5b8351925060208401519150604084015190509250925092565b808202811582820484141761086857610868611f6956fea264697066735822122043b97226d301edac07357a4ba20454671b15a4bcf7302dd58c30b89063527c3d64736f6c63430008120033
Deployed Bytecode
0x6080604052600436106102815760003560e01c80638a8c523c1161014f578063beb08ab9116100c1578063dd62ed3e1161007a578063dd62ed3e14610785578063e43504da146107a5578063f25f4b56146107c4578063f2a42687146107e4578063f2fde38b14610814578063f887ea401461083457600080fd5b8063beb08ab9146106d5578063c4ceb339146106f5578063c851cc321461070b578063d621e8131461072b578063d63cad2214610745578063d83067861461076557600080fd5b8063a457c2d711610113578063a457c2d714610621578063a8aa1b3114610641578063a9059cbb14610669578063ab28a04c14610689578063b4b081df1461069f578063b9b2b5cd146106bf57600080fd5b80638a8c523c1461058a5780638da5cb5b1461059f578063924de9b7146105bd5780639358928b146105dd57806395d89b41146105f257600080fd5b80633bf31454116101f35780636db79437116101ac5780636db79437146104b157806370a08231146104d1578063715018a61461050757806375f0a8741461051c57806375fed3c71461055457806380ada68a1461057457600080fd5b80633bf314541461041b578063470624021461043b57806359cd903114610451578063601d495814610467578063625dd6051461047d5780636a3dacf21461049d57600080fd5b806323b872dd1161024557806323b872dd146103735780632b14ca56146103935780632ce0c0a0146103a9578063313ce567146103be578063351a964d146103da57806339509351146103fb57600080fd5b806306fdde031461028d57806308c43650146102d2578063095ea7b314610312578063147c9f6d1461033257806318160ddd1461035457600080fd5b3661028857005b600080fd5b34801561029957600080fd5b5060408051808201909152600a8152692237b73aba39a1b7b4b760b11b60208201525b6040516102c99190611d2c565b60405180910390f35b3480156102de57600080fd5b506103026102ed366004611d8f565b60116020526000908152604090205460ff1681565b60405190151581526020016102c9565b34801561031e57600080fd5b5061030261032d366004611dac565b610854565b34801561033e57600080fd5b5061035261034d366004611dd8565b61086e565b005b34801561036057600080fd5b506002545b6040519081526020016102c9565b34801561037f57600080fd5b5061030261038e366004611e23565b6108b5565b34801561039f57600080fd5b5061036560045481565b3480156103b557600080fd5b50610365600081565b3480156103ca57600080fd5b50604051601281526020016102c9565b3480156103e657600080fd5b50600d54610302906301000000900460ff1681565b34801561040757600080fd5b50610302610416366004611dac565b6108d9565b34801561042757600080fd5b50610352610436366004611e79565b6108fb565b34801561044757600080fd5b5061036560035481565b34801561045d57600080fd5b50610365600c5481565b34801561047357600080fd5b5061036560065481565b34801561048957600080fd5b50610352610498366004611e94565b6109b0565b3480156104a957600080fd5b506001610302565b3480156104bd57600080fd5b506103526104cc366004611ec9565b610b46565b3480156104dd57600080fd5b506103656104ec366004611d8f565b6001600160a01b03166000908152600e602052604090205490565b34801561051357600080fd5b50610352610b88565b34801561052857600080fd5b5060085461053c906001600160a01b031681565b6040516001600160a01b0390911681526020016102c9565b34801561056057600080fd5b5061035261056f366004611eeb565b610b9c565b34801561058057600080fd5b5061036560075481565b34801561059657600080fd5b50610352610c17565b3480156105ab57600080fd5b506000546001600160a01b031661053c565b3480156105c957600080fd5b506103526105d8366004611e79565b610cd7565b3480156105e957600080fd5b50610365610d83565b3480156105fe57600080fd5b50604080518082019091526006815265444f4e55545360d01b60208201526102bc565b34801561062d57600080fd5b5061030261063c366004611dac565b610df3565b34801561064d57600080fd5b50600d5461053c9064010000000090046001600160a01b031681565b34801561067557600080fd5b50610302610684366004611dac565b610e79565b34801561069557600080fd5b5061036561271081565b3480156106ab57600080fd5b506103526106ba366004611f04565b610e8f565b3480156106cb57600080fd5b50610365600b5481565b3480156106e157600080fd5b5060095461053c906001600160a01b031681565b34801561070157600080fd5b5061036560055481565b34801561071757600080fd5b50610352610726366004611d8f565b610f0a565b34801561073757600080fd5b50600d546103029060ff1681565b34801561075157600080fd5b50610352610760366004611e94565b61118a565b34801561077157600080fd5b50600d546103029062010000900460ff1681565b34801561079157600080fd5b506103656107a0366004611f30565b611201565b3480156107b157600080fd5b50600d5461030290610100900460ff1681565b3480156107d057600080fd5b50600a5461053c906001600160a01b031681565b3480156107f057600080fd5b506103026107ff366004611d8f565b60106020526000908152604090205460ff1681565b34801561082057600080fd5b5061035261082f366004611d8f565b61122c565b34801561084057600080fd5b5060015461053c906001600160a01b031681565b60003361086281858561126a565b60019150505b92915050565b61087661132f565b600980546001600160a01b039485166001600160a01b0319918216179091556008805493851693821693909317909255600a8054919093169116179055565b6000336108c385828561136b565b6108ce8585856113e5565b9150505b9392505050565b6000336108628185856108ec8383611201565b6108f69190611f7f565b61126a565b61090361132f565b801515600d60019054906101000a900460ff1615150361093e5760405162a7e72d60e41b815281151560048201526024015b60405180910390fd5b600d805482151561010081810261ff00198416179093556040805160ff94909304939093168015158352602083019190915233928201929092524260608201527ff99f9d4d81f67d0980beea494b4404ba3b8af1a0a2d493230f1a883efa027f2f906080015b60405180910390a15050565b6109b861132f565b6001600160a01b03821660009081526011602052604090205481151560ff9091161515036109fc5760405162a7e72d60e41b81528115156004820152602401610935565b306001600160a01b0316826001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a44573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a689190611f92565b6001600160a01b031614158015610af25750306001600160a01b0316826001600160a01b031663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ac2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ae69190611f92565b6001600160a01b031614155b15610b1b57604051634726455360e11b81526001600160a01b0383166004820152602401610935565b6001600160a01b03919091166000908152601160205260409020805460ff1916911515919091179055565b610b4e61132f565b610bb8821180610b5f5750610bb881115b15610b7d576040516358d620b360e01b815260040160405180910390fd5b600391909155600455565b610b9061132f565b610b9a6000611670565b565b610ba461132f565b80600c5403610bc95760405163657e16cf60e01b815260048101829052602401610935565b600c805490829055604080518281526020810184905233918101919091524260608201527f9a9f4704ac409fe039e92a996e415370980275aaff2992936ed5b432886c55c5906080016109a4565b610c1f61132f565b600d5460ff1615610c4e57600d546040516301bf623960e61b815260ff90911615156004820152602401610935565b600d54610100900460ff1615610c8657600d54604051630eff900b60e21b815261010090910460ff1615156004820152602401610935565b600d546301000000900460ff1615610cc257600d5460405163610a8e6760e01b8152630100000090910460ff1615156004820152602401610935565b600d805463ff00ffff19166301000101179055565b610cdf61132f565b801515600d60039054906101000a900460ff16151503610d155760405162a7e72d60e41b81528115156004820152602401610935565b600d8054821515630100000081810263ff000000198416179093556040805160ff94909304939093168015158352602083019190915233928201929092524260608201527fa9eb6c000d17475b17651469533695f7b673c93327fdbadf4341ebeb2607a044906080016109a4565b600e6020527fe710864318d4a32f37d6ce54cb3fadbef648dd12d8dbdf53973564d56b7f881c5461dead60009081527ff77e91909e61d18f67b875b2bfcae1f683a8d555e55382e3a6b082e2c59ea57a54600254919291610de49190611faf565b610dee9190611faf565b905090565b60003381610e018286611201565b905083811015610e615760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610935565b610e6e828686840361126a565b506001949350505050565b600033610e878185856113e5565b949350505050565b610e9761132f565b606481610ea48486611f7f565b610eae9190611f7f565b1115610efc5760405162461bcd60e51b815260206004820181905260248201527f546f74616c206665652070657263656e746167652065786365656473203130306044820152606401610935565b600592909255600655600755565b610f1261132f565b6001546001600160a01b03808316911603610f4b5760405163a936636960e01b81526001600160a01b0382166004820152602401610935565b600180546001600160a01b038381166001600160a01b0319831681178455600081815260106020908152604091829020805460ff19169096179095558051929093168083529382015233918101919091524260608201527fe1cb783288eddc7b22c25642a832d886a558be0dd900747310a34156b9fdcbbb9060800160405180910390a1600160009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611022573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110469190611f92565b6001600160a01b031663c9c6539630600160009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110cc9190611f92565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015611119573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061113d9190611f92565b600d8054640100000000600160c01b0319166401000000006001600160a01b03938416810291909117918290559004166000908152601160205260409020805460ff191660011790555050565b61119261132f565b6001600160a01b03821660009081526010602052604090205481151560ff9091161515036111d65760405162a7e72d60e41b81528115156004820152602401610935565b6001600160a01b03919091166000908152601060205260409020805460ff1916911515919091179055565b6001600160a01b039182166000908152600f6020908152604080832093909416825291909152205490565b61123461132f565b6001600160a01b03811661125e5760405163b20f76e360e01b815260006004820152602401610935565b61126781611670565b50565b6001600160a01b03831661129c57604051634726455360e11b81526001600160a01b0384166004820152602401610935565b6001600160a01b0382166112ce57604051634726455360e11b81526001600160a01b0383166004820152602401610935565b6001600160a01b038381166000818152600f602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b336113426000546001600160a01b031690565b6001600160a01b031614610b9a576040516332b2baa360e01b8152336004820152602401610935565b60006113778484611201565b905060001981146113df57818110156113d25760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610935565b6113df848484840361126a565b50505050565b60006001600160a01b03841661141957604051634726455360e11b81526001600160a01b0385166004820152602401610935565b6001600160a01b03831661144b57604051634726455360e11b81526001600160a01b0384166004820152602401610935565b600d5460ff1615801561147757506001600160a01b03841660009081526010602052604090205460ff16155b801561149c57506001600160a01b03831660009081526010602052604090205460ff16155b156114ba57604051632b61510560e11b815260040160405180910390fd5b600d5462010000900460ff16806114e957506001600160a01b03841660009081526010602052604090205460ff165b15611500576114f98484846116c0565b90506108d2565b600d548290610100900460ff16801561153257506001600160a01b03851660009081526010602052604090205460ff16155b801561155757506001600160a01b03841660009081526010602052604090205460ff16155b1561156a57611567858585611759565b90505b600d546001600160a01b0386811664010000000090920416148015906115a15750600c54306000908152600e602052604090205410155b80156115b65750600d546301000000900460ff165b156115c3576115c3611854565b6001600160a01b0385166000908152600e60205260409020548111156115fb5760405162461bcd60e51b815260040161093590611fc2565b6001600160a01b038086166000818152600e6020526040808220805486900390559287168082529083902080548501905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061165d9085815260200190565b60405180910390a3506001949350505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0383166000908152600e6020526040812054828110156116f95760405162461bcd60e51b815260040161093590611fc2565b6001600160a01b038086166000818152600e602052604080822087860390559287168082529083902080548701905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061165d9087815260200190565b600d805462ff00001916620100001790556001600160a01b03831660009081526011602052604081205460ff16801561179457506000600354115b156117aa576117a38483611ac1565b9050611841565b6001600160a01b03831660009081526011602052604090205460ff1680156117d457506000600454115b156117e3576117a38483611b26565b6001600160a01b03841660009081526011602052604090205460ff1615801561182557506001600160a01b03831660009081526011602052604090205460ff16155b801561182f575060005b1561183e576117a38483611b4d565b50805b600d805462ff0000191690559392505050565b600d805462ff0000191662010000179055600c54479060009061187990600290612008565b9050600081600c5461188b9190611faf565b604080516002808252606082018352929350600092909160208301908036833701905050905030816000815181106118c5576118c561202a565b6001600160a01b03928316602091820292909201810191909152600154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561191e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119429190611f92565b816001815181106119555761195561202a565b6001600160a01b039283166020918202929092010152600154600c5461197e923092169061126a565b60015460405163791ac94760e01b81526001600160a01b039091169063791ac947906119b7908690600090869030904290600401612040565b600060405180830381600087803b1580156119d157600080fd5b505af11580156119e5573d6000803e3d6000fd5b50506001546001600160a01b0316915063f305d7199050611a068647611faf565b308560008061dead611a1a426104b0611f7f565b60405160e089901b6001600160e01b03191681526001600160a01b039687166004820152602481019590955260448501939093526064840191909152909216608482015260a481019190915260c40160606040518083038185885af1158015611a87573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611aac91906120b1565b5050600d805462ff0000191690555050505050565b600d805462ff0000191662010000179055600354600090819061271090611ae890856120df565b611af29190612008565b90506000611b008285611faf565b90508115611b1257611b128583611b6e565b600d805462ff000019169055949350505050565b600d805462ff0000191662010000179055600454600090819061271090611ae890856120df565b600d805462ff0000191662010000179055600080612710611ae882856120df565b600d805462ff0000191662010000179055600b8054829190600090611b94908490611f7f565b9091555050600554600090606490611bac90846120df565b611bb69190612008565b90506000606460065484611bca91906120df565b611bd49190612008565b90506000606460075485611be891906120df565b611bf29190612008565b90508215611c3b576000808052600e6020527fe710864318d4a32f37d6ce54cb3fadbef648dd12d8dbdf53973564d56b7f881c8054859290611c35908490611f7f565b90915550505b8115611c6657306000908152600e602052604081208054849290611c60908490611f7f565b90915550505b8015611c9c576008546001600160a01b03166000908152600e602052604081208054839290611c96908490611f7f565b90915550505b6001600160a01b0385166000908152600e602052604081208054869290611cc4908490611faf565b9091555081905082611cd68587611faf565b611ce09190611faf565b611cea9190611faf565b600a546001600160a01b03166000908152600e602052604081208054909190611d14908490611f7f565b9091555050600d805462ff0000191690555050505050565b600060208083528351808285015260005b81811015611d5957858101830151858201604001528201611d3d565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461126757600080fd5b600060208284031215611da157600080fd5b81356108d281611d7a565b60008060408385031215611dbf57600080fd5b8235611dca81611d7a565b946020939093013593505050565b600080600060608486031215611ded57600080fd5b8335611df881611d7a565b92506020840135611e0881611d7a565b91506040840135611e1881611d7a565b809150509250925092565b600080600060608486031215611e3857600080fd5b8335611e4381611d7a565b92506020840135611e5381611d7a565b929592945050506040919091013590565b80358015158114611e7457600080fd5b919050565b600060208284031215611e8b57600080fd5b6108d282611e64565b60008060408385031215611ea757600080fd5b8235611eb281611d7a565b9150611ec060208401611e64565b90509250929050565b60008060408385031215611edc57600080fd5b50508035926020909101359150565b600060208284031215611efd57600080fd5b5035919050565b600080600060608486031215611f1957600080fd5b505081359360208301359350604090920135919050565b60008060408385031215611f4357600080fd5b8235611f4e81611d7a565b91506020830135611f5e81611d7a565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561086857610868611f69565b600060208284031215611fa457600080fd5b81516108d281611d7a565b8181038181111561086857610868611f69565b60208082526026908201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604082015265616c616e636560d01b606082015260800190565b60008261202557634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156120905784516001600160a01b03168352938301939183019160010161206b565b50506001600160a01b03969096166060850152505050608001529392505050565b6000806000606084860312156120c657600080fd5b8351925060208401519150604084015190509250925092565b808202811582820484141761086857610868611f6956fea264697066735822122043b97226d301edac07357a4ba20454671b15a4bcf7302dd58c30b89063527c3d64736f6c63430008120033
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.