ERC-20
Overview
Max Total Supply
100,000,000,000 LunaT
Holders
132
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
2,941,071.575684891 LunaTValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Similar Match Source Code This contract matches the deployed Bytecode of the Source Code for Contract 0x7F7056a6...ee127B3C8 The constructor portion of the code might be different and could alter the actual behaviour of the contract
Contract Name:
LUNATICS
Compiler Version
v0.8.15+commit.e14f2714
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.15; // SAFEMATH LIBRARY // This version of SafeMath should only be used with Solidity 0.8 or later library SafeMath { function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { uint256 c = a + b; if (c < a) return (false, 0); return (true, c); } } function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b > a) return (false, 0); return (true, a - b); } } function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { // Gas optimization: this is cheaper than requiring 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522 if (a == 0) return (true, 0); uint256 c = a * b; if (c / a != b) return (false, 0); return (true, c); } } function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a / b); } } function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a % b); } } function add(uint256 a, uint256 b) internal pure returns (uint256) { return a + b; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return a - b; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { return a * b; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return a / b; } function mod(uint256 a, uint256 b) internal pure returns (uint256) { return a % b; } function sub( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b <= a, errorMessage); return a - b; } } function div( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a / b; } } function mod( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a % b; } } } interface IERC20 { function totalSupply() external view returns (uint256); function decimals() external view returns (uint8); function symbol() external view returns (string memory); function name() external view returns (string memory); function getOwner() external view returns (address); 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 ); } abstract contract Auth { address internal owner; mapping(address => bool) internal authorizations; constructor(address _owner) { owner = _owner; authorizations[_owner] = true; } /** * Function modifier to require caller to be contract owner */ modifier onlyOwner() { require(isOwner(msg.sender), "Not owner"); _; } /** * Function modifier to require caller to be authorized */ modifier authorized() { require(isAuthorized(msg.sender), "Not authorized"); _; } /** * Authorize address. Owner only */ function authorize(address adr) public onlyOwner { authorizations[adr] = true; } /** * Remove address' authorization. Owner only */ function unauthorize(address adr) public onlyOwner { authorizations[adr] = false; } /** * Check if address is owner */ function isOwner(address account) public view returns (bool) { return account == owner; } /** * Return address' authorization status */ function isAuthorized(address adr) public view returns (bool) { return authorizations[adr]; } /** * Transfer ownership to new address. Caller must be owner. Leaves old owner authorized */ function transferOwnership(address payable adr) public onlyOwner { owner = adr; authorizations[adr] = true; emit OwnershipTransferred(adr); } event OwnershipTransferred(address owner); } interface IDEXFactory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IDEXRouter { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidity( address tokenA, address tokenB, uint256 amountADesired, uint256 amountBDesired, uint256 amountAMin, uint256 amountBMin, address to, uint256 deadline ) external returns ( uint256 amountA, uint256 amountB, uint256 liquidity ); function addLiquidityETH( address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external payable returns ( uint256 amountToken, uint256 amountETH, uint256 liquidity ); function swapExactTokensForTokensSupportingFeeOnTransferTokens( 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 swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; } interface IDividendDistributor { function setDistributionCriteria( uint256 _minPeriod, uint256 _minDistribution ) external; function setShare(address shareholder, uint256 amount) external; function deposit() external payable; function process(uint256 gas) external; } contract DividendDistributor is IDividendDistributor { using SafeMath for uint256; address _token; struct Share { uint256 amount; uint256 totalExcluded; uint256 totalRealised; } IERC20 LUNC_WORMHOLE = IERC20(0xbd31EA8212119f94A611FA969881CBa3EA06Fa3d); //mainnet address WETH = 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2; //mainnet IDEXRouter router; address[] shareholders; mapping(address => uint256) shareholderIndexes; mapping(address => uint256) shareholderClaims; mapping(address => Share) public shares; uint256 public totalShares; uint256 public totalDividends; uint256 public totalDistributed; uint256 public dividendsPerShare; uint256 public dividendsPerShareAccuracyFactor = 10**36; uint256 public minPeriod = 1 hours; uint256 public minDistribution = 1 * (10**18); uint256 currentIndex; bool initialized; modifier initialization() { require(!initialized); _; initialized = true; } modifier onlyToken() { require(msg.sender == _token); _; } constructor(address _router) { router = _router != address(0) ? IDEXRouter(_router) : IDEXRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); _token = msg.sender; } function setDistributionCriteria( uint256 _minPeriod, uint256 _minDistribution ) external override onlyToken { minPeriod = _minPeriod; minDistribution = _minDistribution; } function setShare(address shareholder, uint256 amount) external override onlyToken { if (shares[shareholder].amount > 0) { distributeDividend(shareholder); } if (amount > 0 && shares[shareholder].amount == 0) { addShareholder(shareholder); } else if (amount == 0 && shares[shareholder].amount > 0) { removeShareholder(shareholder); } totalShares = totalShares.sub(shares[shareholder].amount).add(amount); shares[shareholder].amount = amount; shares[shareholder].totalExcluded = getCumulativeDividends( shares[shareholder].amount ); } function deposit() external payable override onlyToken { uint256 balanceBefore = LUNC_WORMHOLE.balanceOf(address(this)); address[] memory path = new address[](2); path[0] = WETH; path[1] = address(LUNC_WORMHOLE); router.swapExactETHForTokensSupportingFeeOnTransferTokens{ value: msg.value }(0, path, address(this), block.timestamp); uint256 amount = LUNC_WORMHOLE.balanceOf(address(this)).sub( balanceBefore ); totalDividends = totalDividends.add(amount); dividendsPerShare = dividendsPerShare.add( dividendsPerShareAccuracyFactor.mul(amount).div(totalShares) ); } function process(uint256 gas) external override onlyToken { uint256 shareholderCount = shareholders.length; if (shareholderCount == 0) { return; } uint256 gasUsed = 0; uint256 gasLeft = gasleft(); uint256 iterations = 0; while (gasUsed < gas && iterations < shareholderCount) { if (currentIndex >= shareholderCount) { currentIndex = 0; } if (shouldDistribute(shareholders[currentIndex])) { distributeDividend(shareholders[currentIndex]); } gasUsed = gasUsed.add(gasLeft.sub(gasleft())); gasLeft = gasleft(); currentIndex++; iterations++; } } function shouldDistribute(address shareholder) internal view returns (bool) { return shareholderClaims[shareholder] + minPeriod < block.timestamp && getUnpaidEarnings(shareholder) > minDistribution; } function distributeDividend(address shareholder) internal { if (shares[shareholder].amount == 0) { return; } uint256 amount = getUnpaidEarnings(shareholder); if (amount > 0) { totalDistributed = totalDistributed.add(amount); LUNC_WORMHOLE.transfer(shareholder, amount); shareholderClaims[shareholder] = block.timestamp; shares[shareholder].totalRealised = shares[shareholder] .totalRealised .add(amount); shares[shareholder].totalExcluded = getCumulativeDividends( shares[shareholder].amount ); } } function claimDividend() external { distributeDividend(msg.sender); } function getUnpaidEarnings(address shareholder) public view returns (uint256) { if (shares[shareholder].amount == 0) { return 0; } uint256 shareholderTotalDividends = getCumulativeDividends( shares[shareholder].amount ); uint256 shareholderTotalExcluded = shares[shareholder].totalExcluded; if (shareholderTotalDividends <= shareholderTotalExcluded) { return 0; } return shareholderTotalDividends.sub(shareholderTotalExcluded); } function getCumulativeDividends(uint256 share) internal view returns (uint256) { return share.mul(dividendsPerShare).div(dividendsPerShareAccuracyFactor); } function addShareholder(address shareholder) internal { shareholderIndexes[shareholder] = shareholders.length; shareholders.push(shareholder); } function removeShareholder(address shareholder) internal { shareholders[shareholderIndexes[shareholder]] = shareholders[ shareholders.length - 1 ]; shareholderIndexes[ shareholders[shareholders.length - 1] ] = shareholderIndexes[shareholder]; shareholders.pop(); } } contract LUNATICS is IERC20, Auth { using SafeMath for uint256; uint256 public constant MASK = type(uint128).max; address LUNC_WORMHOLE = 0xbd31EA8212119f94A611FA969881CBa3EA06Fa3d; //mainnet address public WETH = 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2; //mainnet address constant DEAD = 0x000000000000000000000000000000000000dEaD; address constant ZERO = 0x0000000000000000000000000000000000000000; string constant _name = "Lunatics"; string constant _symbol = "LunaT"; uint8 constant _decimals = 9; uint256 _totalSupply = 1_00_000_000_000 * (10**_decimals); mapping(address => uint256) _balances; mapping(address => mapping(address => uint256)) _allowances; mapping(address => bool) public isFeeExempt; mapping(address => bool) public isDividendExempt; uint256 liquidityFee = 100; uint256 reflectionFee = 300; uint256 marketingFee = 300; uint256 burnFee = 100; uint256 totalFee = 800; uint256 feeDenominator = 10000; address public marketingFeeReceiver; IDEXRouter public router; address public pair; bool public tradingEnabled = false; DividendDistributor distributor; address public distributorAddress; uint256 distributorGas = 500000; bool public swapEnabled = true; uint256 public swapThreshold = _totalSupply / 2000; // 0.005% bool inSwap; modifier swapping() { inSwap = true; _; inSwap = false; } constructor() Auth(msg.sender) { router = IDEXRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); pair = IDEXFactory(router.factory()).createPair(WETH, address(this)); _allowances[address(this)][address(router)] = _totalSupply; WETH = router.WETH(); distributor = new DividendDistributor( 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D ); distributorAddress = address(distributor); isFeeExempt[msg.sender] = true; isFeeExempt[address(this)] = true; isFeeExempt[DEAD] = true; isFeeExempt[ZERO] = true; isDividendExempt[pair] = true; isDividendExempt[address(this)] = true; isDividendExempt[DEAD] = true; isFeeExempt[ZERO] = true; marketingFeeReceiver = 0x5bc9cF0933adFeFC9F5ea55E294c4Cd580b97Dfd; approve(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D, _totalSupply); approve(address(pair), _totalSupply); _balances[msg.sender] = _totalSupply; emit Transfer(address(0), msg.sender, _totalSupply); } receive() external payable {} function totalSupply() external view override returns (uint256) { return _totalSupply; } function decimals() external pure override returns (uint8) { return _decimals; } function symbol() external pure override returns (string memory) { return _symbol; } function name() external pure override returns (string memory) { return _name; } function getOwner() external view override returns (address) { return owner; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _allowances[msg.sender][spender] = amount; emit Approval(msg.sender, spender, amount); return true; } function approveMax(address spender) external returns (bool) { return approve(spender, _totalSupply); } function transfer(address recipient, uint256 amount) external override returns (bool) { return _transferFrom(msg.sender, recipient, amount); } function transferFrom( address sender, address recipient, uint256 amount ) external override returns (bool) { if (_allowances[sender][msg.sender] != _totalSupply) { _allowances[sender][msg.sender] = _allowances[sender][msg.sender] .sub(amount, "Insufficient Allowance"); } return _transferFrom(sender, recipient, amount); } function _transferFrom( address sender, address recipient, uint256 amount ) internal returns (bool) { if (!isOwner(sender)) { require(tradingEnabled, "Trading is disabled"); } if (inSwap) { return _basicTransfer(sender, recipient, amount); } if(sender != pair && recipient != pair) { return _basicTransfer(sender, recipient, amount); } if (shouldSwapBack()) { swapBack(); } _balances[sender] = _balances[sender].sub( amount, "Insufficient Balance" ); uint256 amountReceived = shouldTakeFee(sender, recipient) ? takeFee(sender, amount) : amount; _balances[recipient] = _balances[recipient].add(amountReceived); if (!isDividendExempt[sender]) { try distributor.setShare(sender, _balances[sender]) {} catch {} } if (!isDividendExempt[recipient]) { try distributor.setShare(recipient, _balances[recipient]) {} catch {} } try distributor.process(distributorGas) {} catch {} emit Transfer(sender, recipient, amountReceived); return true; } function _basicTransfer( address sender, address recipient, uint256 amount ) internal returns (bool) { _balances[sender] = _balances[sender].sub( amount, "Insufficient Balance" ); _balances[recipient] = _balances[recipient].add(amount); emit Transfer(sender, recipient, amount); return true; } function shouldTakeFee(address sender, address recipient) internal view returns (bool) { if(isFeeExempt[sender] || isFeeExempt[recipient]){return false;} else{return true;} } function takeFee(address sender, uint256 amount) internal returns (uint256) { uint256 feeAmount = amount.mul(totalFee - burnFee).div(feeDenominator); uint256 burnFeeAmount = amount.mul(burnFee).div(feeDenominator); _balances[address(this)] = _balances[address(this)].add(feeAmount); emit Transfer(sender, address(this), feeAmount); _balances[DEAD] = _balances[DEAD].add(burnFeeAmount); emit Transfer(sender, DEAD, burnFeeAmount); return amount.sub(feeAmount + burnFeeAmount); } function setIsFeeExempt(address wallet, bool value) external authorized { isFeeExempt[wallet] = value; } function shouldSwapBack() internal view returns (bool) { return msg.sender != pair && !inSwap && swapEnabled && _balances[address(this)] >= swapThreshold; } function swapBack() internal swapping { uint256 amountToLiquify = swapThreshold .mul(liquidityFee) .div(totalFee) .div(2); uint256 amountToSwap = swapThreshold.sub(amountToLiquify); address[] memory path = new address[](2); path[0] = address(this); path[1] = WETH; uint256 balanceBefore = address(this).balance; router.swapExactTokensForETHSupportingFeeOnTransferTokens( amountToSwap, 0, path, address(this), block.timestamp ); uint256 amountETH = address(this).balance.sub(balanceBefore); uint256 totalETHFee = totalFee.sub(liquidityFee.div(2)); uint256 amountETHLiquidity = amountETH .mul(liquidityFee) .div(totalETHFee) .div(2); uint256 amountETHReflection = amountETH.mul(reflectionFee).div( totalETHFee ); uint256 amountETHMarketing = amountETH.mul(marketingFee).div( totalETHFee ); try distributor.deposit{value: amountETHReflection}() {} catch {} payable(marketingFeeReceiver).transfer(amountETHMarketing); if (amountToLiquify > 0) { router.addLiquidityETH{value: amountETHLiquidity}( address(this), amountToLiquify, 0, 0, owner, block.timestamp ); emit AutoLiquify(amountETHLiquidity, amountToLiquify); } } // Trading once enabled, can't be disabled function enableTrading() external onlyOwner { tradingEnabled = true; } function setIsDividendExempt(address holder, bool exempt) external authorized { require(holder != address(this) && holder != pair); isDividendExempt[holder] = exempt; if (exempt) { distributor.setShare(holder, 0); } else { distributor.setShare(holder, _balances[holder]); } } function setFees( uint256 _liquidityFee, uint256 _reflectionFee, uint256 _marketingFee, uint256 _burnFee ) external authorized { liquidityFee = _liquidityFee; reflectionFee = _reflectionFee; marketingFee = _marketingFee; burnFee = _burnFee; totalFee = _liquidityFee.add(_reflectionFee).add(_marketingFee).add( burnFee ); require(totalFee <= 2500, "Fees must be less than 25%"); } function setFeeReceivers(address _marketingFeeReceiver) external authorized { marketingFeeReceiver = _marketingFeeReceiver; } function setSwapBackSettings(bool _enabled, uint256 _amount) external authorized { swapEnabled = _enabled; swapThreshold = _amount; } function setDistributionCriteria( uint256 _minPeriod, uint256 _minDistribution ) external authorized { distributor.setDistributionCriteria(_minPeriod, _minDistribution); } function setDistributorSettings(uint256 gas) external authorized { require(gas < 750000, "Inappropriate gas amount"); distributorGas = gas; } function clearStuckBalance() external authorized { uint256 amountETH = address(this).balance; payable(msg.sender).transfer(amountETH); } function clearStuckTokens(address _tokenContract) public authorized { require( _tokenContract != address(this), "Cannot withdraw native token" ); IERC20 tokenContract = IERC20(_tokenContract); tokenContract.transfer( msg.sender, tokenContract.balanceOf(address(this)) ); } event AutoLiquify(uint256 amountETH, uint256 amount); }
{ "optimizer": { "enabled": true, "runs": 200 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "libraries": {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"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":"amountETH","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"AutoLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","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"},{"inputs":[],"name":"MASK","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"WETH","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","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":"spender","type":"address"}],"name":"approveMax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"authorize","outputs":[],"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":"clearStuckBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_tokenContract","type":"address"}],"name":"clearStuckTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"distributorAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"isAuthorized","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isDividendExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isFeeExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_minPeriod","type":"uint256"},{"internalType":"uint256","name":"_minDistribution","type":"uint256"}],"name":"setDistributionCriteria","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"gas","type":"uint256"}],"name":"setDistributorSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_marketingFeeReceiver","type":"address"}],"name":"setFeeReceivers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidityFee","type":"uint256"},{"internalType":"uint256","name":"_reflectionFee","type":"uint256"},{"internalType":"uint256","name":"_marketingFee","type":"uint256"},{"internalType":"uint256","name":"_burnFee","type":"uint256"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsDividendExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setIsFeeExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setSwapBackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"adr","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"unauthorize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052600280546001600160a01b031990811673bd31ea8212119f94a611fa969881cba3ea06fa3d179091556003805490911673c02aaa39b223fe8d0a0e5c4f27ead9083c756cc21790556200005a6009600a62000653565b6200006b9064174876e8006200066b565b60048190556064600981905561012c600a819055600b55600c55610320600d55612710600e556011805460ff60a01b191690556207a1206014556015805460ff19166001179055620000c1906107d0906200068d565b601655348015620000d157600080fd5b5060008054336001600160a01b031991821681178355825260016020818152604093849020805460ff191690921790915560108054737a250d5630b4cf539739df2c5dacb4c659f2488d931683179055825163c45a015560e01b81529251919263c45a015592600480830193928290030181865afa15801562000158573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200017e9190620006b0565b6003546040516364e329cb60e11b81526001600160a01b03918216600482015230602482015291169063c9c65396906044016020604051808303816000875af1158015620001d0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001f69190620006b0565b601180546001600160a01b0319166001600160a01b039283161790556004805430600090815260066020908152604080832060108054881685529083529281902093909355905482516315ab88c960e31b8152925194169363ad5c464893838101938290030181865afa15801562000272573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002989190620006b0565b600380546001600160a01b0319166001600160a01b0392909216919091179055604051737a250d5630b4cf539739df2c5dacb4c659f2488d90620002dc9062000532565b6001600160a01b039091168152602001604051809103906000f08015801562000309573d6000803e3d6000fd5b50601280546001600160a01b039283166001600160a01b03199182168117909255601380548216909217909155336000908152600760208181526040808420805460ff1990811660019081179092553080875283872080548316841790557fb0c2646e02af70b79e3fe9277b98373379f54150e4e26b2b5650139f7a75a65d80548316841790557f6d5257204ebe7d88fd91ae87941cb2dd9d8062b64ae5a2bd2d28ec40b9fbf6df80548316841781556011549099168752600885528387208054831684179055865291852080548316821790557f046fee3d77c34a6c5e10c3be6dc4b132c30449dbf4f0bc07684896dd09334299805483168217905593805291905283541617909155600f8054909116735bc9cf0933adfefc9f5ea55e294c4cd580b97dfd1790556004546200045690737a250d5630b4cf539739df2c5dacb4c659f2488d90620004c4565b5060115460045462000472916001600160a01b031690620004c4565b5060045433600081815260056020908152604080832085905551938452919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3620006db565b3360008181526006602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590620005209086815260200190565b60405180910390a35060015b92915050565b610e31806200247883390190565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620005975781600019048211156200057b576200057b62000540565b808516156200058957918102915b93841c93908002906200055b565b509250929050565b600082620005b0575060016200052c565b81620005bf575060006200052c565b8160018114620005d85760028114620005e35762000603565b60019150506200052c565b60ff841115620005f757620005f762000540565b50506001821b6200052c565b5060208310610133831016604e8410600b841016171562000628575081810a6200052c565b62000634838362000556565b80600019048211156200064b576200064b62000540565b029392505050565b60006200066460ff8416836200059f565b9392505050565b600081600019048311821515161562000688576200068862000540565b500290565b600082620006ab57634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215620006c357600080fd5b81516001600160a01b03811681146200066457600080fd5b611d8d80620006eb6000396000f3fe60806040526004361061021e5760003560e01c8063893d20e811610123578063dd62ed3e116100ab578063f0b37c041161006f578063f0b37c04146106c4578063f2fde38b146106e4578063f708a64f14610704578063f887ea4014610724578063fe9fbb801461074457600080fd5b8063dd62ed3e146105fa578063df20fd4914610640578063e01bb68814610660578063e91f214e14610680578063e96fada2146106a457600080fd5b8063a51af4c5116100f2578063a51af4c51461055a578063a8aa1b311461057a578063a9059cbb1461059a578063ad5c4648146105ba578063b6a5d7de146105da57600080fd5b8063893d20e8146104c55780638a8c523c146104f757806395d89b411461050c5780639d1944f51461053a57600080fd5b8063364333f4116101a6578063571ac8b011610175578063571ac8b014610415578063658d4b7f146104355780636ddd1713146104555780636fcba3771461046f57806370a082311461048f57600080fd5b8063364333f41461037f5780633f4218e0146103945780634355855a146103c45780634ada218b146103f457600080fd5b806323b872dd116101ed57806323b872dd146102d25780632d48e896146102f25780632f54bf6e14610314578063313ce56714610343578063346cc7be1461035f57600080fd5b80630445b6671461022a57806306fdde0314610253578063095ea7b31461028d57806318160ddd146102bd57600080fd5b3661022557005b600080fd5b34801561023657600080fd5b5061024060165481565b6040519081526020015b60405180910390f35b34801561025f57600080fd5b506040805180820190915260088152674c756e617469637360c01b60208201525b60405161024a9190611984565b34801561029957600080fd5b506102ad6102a83660046119f1565b610764565b604051901515815260200161024a565b3480156102c957600080fd5b50600454610240565b3480156102de57600080fd5b506102ad6102ed366004611a1d565b6107d1565b3480156102fe57600080fd5b5061031261030d366004611a5e565b610895565b005b34801561032057600080fd5b506102ad61032f366004611a80565b6000546001600160a01b0391821691161490565b34801561034f57600080fd5b506040516009815260200161024a565b34801561036b57600080fd5b5061031261037a366004611a80565b61092d565b34801561038b57600080fd5b50610312610a92565b3480156103a057600080fd5b506102ad6103af366004611a80565b60076020526000908152604090205460ff1681565b3480156103d057600080fd5b506102ad6103df366004611a80565b60086020526000908152604090205460ff1681565b34801561040057600080fd5b506011546102ad90600160a01b900460ff1681565b34801561042157600080fd5b506102ad610430366004611a80565b610aea565b34801561044157600080fd5b50610312610450366004611aab565b610af8565b34801561046157600080fd5b506015546102ad9060ff1681565b34801561047b57600080fd5b5061031261048a366004611ae4565b610b48565b34801561049b57600080fd5b506102406104aa366004611a80565b6001600160a01b031660009081526005602052604090205490565b3480156104d157600080fd5b506000546001600160a01b03165b6040516001600160a01b03909116815260200161024a565b34801561050357600080fd5b50610312610bf3565b34801561051857600080fd5b50604080518082019091526005815264131d5b985560da1b6020820152610280565b34801561054657600080fd5b50610312610555366004611b16565b610c32565b34801561056657600080fd5b506013546104df906001600160a01b031681565b34801561058657600080fd5b506011546104df906001600160a01b031681565b3480156105a657600080fd5b506102ad6105b53660046119f1565b610cae565b3480156105c657600080fd5b506003546104df906001600160a01b031681565b3480156105e657600080fd5b506103126105f5366004611a80565b610cbb565b34801561060657600080fd5b50610240610615366004611b2f565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561064c57600080fd5b5061031261065b366004611b5d565b610d0c565b34801561066c57600080fd5b5061031261067b366004611a80565b610d48565b34801561068c57600080fd5b506102406fffffffffffffffffffffffffffffffff81565b3480156106b057600080fd5b50600f546104df906001600160a01b031681565b3480156106d057600080fd5b506103126106df366004611a80565b610d8f565b3480156106f057600080fd5b506103126106ff366004611a80565b610dda565b34801561071057600080fd5b5061031261071f366004611aab565b610e70565b34801561073057600080fd5b506010546104df906001600160a01b031681565b34801561075057600080fd5b506102ad61075f366004611a80565b610f74565b3360008181526006602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906107bf9086815260200190565b60405180910390a35060015b92915050565b6004546001600160a01b0384166000908152600660209081526040808320338452909152812054909114610880576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b038716600090815260068252838120338252909152919091205461085b918490610f92565b6001600160a01b03851660009081526006602090815260408083203384529091529020555b61088b848484610fbe565b90505b9392505050565b61089e33610f74565b6108c35760405162461bcd60e51b81526004016108ba90611b7b565b60405180910390fd5b6012546040516316a4744b60e11b815260048101849052602481018390526001600160a01b0390911690632d48e896906044015b600060405180830381600087803b15801561091157600080fd5b505af1158015610925573d6000803e3d6000fd5b505050505050565b61093633610f74565b6109525760405162461bcd60e51b81526004016108ba90611b7b565b306001600160a01b038216036109aa5760405162461bcd60e51b815260206004820152601c60248201527f43616e6e6f74207769746864726177206e617469766520746f6b656e0000000060448201526064016108ba565b6040516370a0823160e01b815230600482015281906001600160a01b0382169063a9059cbb90339083906370a0823190602401602060405180830381865afa1580156109fa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a1e9190611ba3565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af1158015610a69573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a8d9190611bbc565b505050565b610a9b33610f74565b610ab75760405162461bcd60e51b81526004016108ba90611b7b565b6040514790339082156108fc029083906000818181858888f19350505050158015610ae6573d6000803e3d6000fd5b5050565b60006107cb82600454610764565b610b0133610f74565b610b1d5760405162461bcd60e51b81526004016108ba90611b7b565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b610b5133610f74565b610b6d5760405162461bcd60e51b81526004016108ba90611b7b565b6009849055600a839055600b829055600c819055610b9781610b9184818888611322565b90611322565b600d8190556109c41015610bed5760405162461bcd60e51b815260206004820152601a60248201527f46656573206d757374206265206c657373207468616e2032352500000000000060448201526064016108ba565b50505050565b6000546001600160a01b03163314610c1d5760405162461bcd60e51b81526004016108ba90611bd9565b6011805460ff60a01b1916600160a01b179055565b610c3b33610f74565b610c575760405162461bcd60e51b81526004016108ba90611b7b565b620b71b08110610ca95760405162461bcd60e51b815260206004820152601860248201527f496e617070726f7072696174652067617320616d6f756e74000000000000000060448201526064016108ba565b601455565b600061088e338484610fbe565b6000546001600160a01b03163314610ce55760405162461bcd60e51b81526004016108ba90611bd9565b6001600160a01b03166000908152600160208190526040909120805460ff19169091179055565b610d1533610f74565b610d315760405162461bcd60e51b81526004016108ba90611b7b565b6015805460ff191692151592909217909155601655565b610d5133610f74565b610d6d5760405162461bcd60e51b81526004016108ba90611b7b565b600f80546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610db95760405162461bcd60e51b81526004016108ba90611bd9565b6001600160a01b03166000908152600160205260409020805460ff19169055565b6000546001600160a01b03163314610e045760405162461bcd60e51b81526004016108ba90611bd9565b600080546001600160a01b0319166001600160a01b038316908117825580825260016020818152604093849020805460ff191690921790915591519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc686163910160405180910390a150565b610e7933610f74565b610e955760405162461bcd60e51b81526004016108ba90611b7b565b6001600160a01b0382163014801590610ebc57506011546001600160a01b03838116911614155b610ec557600080fd5b6001600160a01b0382166000908152600860205260409020805460ff19168215801591909117909155610f2b57601254604051630a5b654b60e11b81526001600160a01b03848116600483015260006024830152909116906314b6ca96906044016108f7565b6012546001600160a01b0383811660008181526005602052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca96906044016108f7565b6001600160a01b031660009081526001602052604090205460ff1690565b60008184841115610fb65760405162461bcd60e51b81526004016108ba9190611984565b505050900390565b600080546001600160a01b0385811691161461102357601154600160a01b900460ff166110235760405162461bcd60e51b8152602060048201526013602482015272151c98591a5b99c81a5cc8191a5cd8589b1959606a1b60448201526064016108ba565b60175460ff16156110405761103984848461132e565b905061088e565b6011546001600160a01b0385811691161480159061106c57506011546001600160a01b03848116911614155b1561107c5761103984848461132e565b611084611402565b1561109157611091611453565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0387166000908152600590915291909120546110e3918490610f92565b6001600160a01b03851660009081526005602052604081209190915561110985856117ad565b611113578261111d565b61111d8584611801565b6001600160a01b0385166000908152600560205260409020549091506111439082611322565b6001600160a01b0380861660009081526005602090815260408083209490945591881681526008909152205460ff166111e7576012546001600160a01b0386811660008181526005602052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca9690604401600060405180830381600087803b1580156111d457600080fd5b505af19250505080156111e5575060015b505b6001600160a01b03841660009081526008602052604090205460ff16611278576012546001600160a01b0385811660008181526005602052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca9690604401600060405180830381600087803b15801561126557600080fd5b505af1925050508015611276575060015b505b6012546014546040516001624d3b8760e01b031981526001600160a01b039092169163ffb2c479916112b09160040190815260200190565b600060405180830381600087803b1580156112ca57600080fd5b505af19250505080156112db575060015b50836001600160a01b0316856001600160a01b0316600080516020611d388339815191528360405161130f91815260200190565b60405180910390a3506001949350505050565b600061088e8284611c12565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038616600090815260059091529182205461137f918490610f92565b6001600160a01b0380861660009081526005602052604080822093909355908516815220546113ae9083611322565b6001600160a01b038085166000818152600560205260409081902093909355915190861690600080516020611d38833981519152906113f09086815260200190565b60405180910390a35060019392505050565b6011546000906001600160a01b03163314801590611423575060175460ff16155b8015611431575060155460ff165b801561144e57506016543060009081526005602052604090205410155b905090565b6017805460ff19166001179055600d54600954601654600092611486926002926114809291839190611960565b9061196c565b9050600061149f8260165461197890919063ffffffff16565b604080516002808252606082018352929350600092909160208301908036833701905050905030816000815181106114d9576114d9611c2a565b6001600160a01b03928316602091820292909201015260035482519116908290600190811061150a5761150a611c2a565b6001600160a01b03928316602091820292909201015260105460405163791ac94760e01b81524792919091169063791ac94790611554908690600090879030904290600401611c40565b600060405180830381600087803b15801561156e57600080fd5b505af1158015611582573d6000803e3d6000fd5b50505050600061159b824761197890919063ffffffff16565b905060006115c16115b8600260095461196c90919063ffffffff16565b600d5490611978565b905060006115e36002611480846114806009548861196090919063ffffffff16565b9050600061160083611480600a548761196090919063ffffffff16565b9050600061161d84611480600b548861196090919063ffffffff16565b9050601260009054906101000a90046001600160a01b03166001600160a01b031663d0e30db0836040518263ffffffff1660e01b81526004016000604051808303818588803b15801561166f57600080fd5b505af193505050508015611681575060015b50600f546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156116bc573d6000803e3d6000fd5b508815611798576010546000805460405163f305d71960e01b8152306004820152602481018d90526044810183905260648101929092526001600160a01b0390811660848301524260a48301529091169063f305d71990859060c40160606040518083038185885af1158015611736573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061175b9190611cb1565b505060408051858152602081018c90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b50506017805460ff1916905550505050505050565b6001600160a01b03821660009081526007602052604081205460ff16806117ec57506001600160a01b03821660009081526007602052604090205460ff165b156117f9575060006107cb565b5060016107cb565b600080611824600e54611480600c54600d5461181d9190611cdf565b8690611960565b90506000611843600e54611480600c548761196090919063ffffffff16565b306000908152600560205260409020549091506118609083611322565b30600081815260056020526040908190209290925590516001600160a01b03871690600080516020611d388339815191529061189f9086815260200190565b60405180910390a361dead60005260056020527f7d509c07f0d4edcc2dd1b53aae68677132eb562dcba78e36381b63ccaf66e6ba546118de9082611322565b61dead600081905260056020527f7d509c07f0d4edcc2dd1b53aae68677132eb562dcba78e36381b63ccaf66e6ba919091556040516001600160a01b03871690600080516020611d388339815191529061193b9085815260200190565b60405180910390a36119576119508284611c12565b8590611978565b95945050505050565b600061088e8284611cf6565b600061088e8284611d15565b600061088e8284611cdf565b600060208083528351808285015260005b818110156119b157858101830151858201604001528201611995565b818111156119c3576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b03811681146119ee57600080fd5b50565b60008060408385031215611a0457600080fd5b8235611a0f816119d9565b946020939093013593505050565b600080600060608486031215611a3257600080fd5b8335611a3d816119d9565b92506020840135611a4d816119d9565b929592945050506040919091013590565b60008060408385031215611a7157600080fd5b50508035926020909101359150565b600060208284031215611a9257600080fd5b813561088e816119d9565b80151581146119ee57600080fd5b60008060408385031215611abe57600080fd5b8235611ac9816119d9565b91506020830135611ad981611a9d565b809150509250929050565b60008060008060808587031215611afa57600080fd5b5050823594602084013594506040840135936060013592509050565b600060208284031215611b2857600080fd5b5035919050565b60008060408385031215611b4257600080fd5b8235611b4d816119d9565b91506020830135611ad9816119d9565b60008060408385031215611b7057600080fd5b8235611a0f81611a9d565b6020808252600e908201526d139bdd08185d5d1a1bdc9a5e995960921b604082015260600190565b600060208284031215611bb557600080fd5b5051919050565b600060208284031215611bce57600080fd5b815161088e81611a9d565b6020808252600990820152682737ba1037bbb732b960b91b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b60008219821115611c2557611c25611bfc565b500190565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611c905784516001600160a01b031683529383019391830191600101611c6b565b50506001600160a01b03969096166060850152505050608001529392505050565b600080600060608486031215611cc657600080fd5b8351925060208401519150604084015190509250925092565b600082821015611cf157611cf1611bfc565b500390565b6000816000190483118215151615611d1057611d10611bfc565b500290565b600082611d3257634e487b7160e01b600052601260045260246000fd5b50049056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220b60a622e1c3b4f9cbd8a51c22c68719c398d1a6d2a3b0b5524550492262afaeb64736f6c634300080f00336080604052600180546001600160a01b031990811673bd31ea8212119f94a611fa969881cba3ea06fa3d179091556002805490911673c02aaa39b223fe8d0a0e5c4f27ead9083c756cc21790556ec097ce7bc90715b34b9f1000000000600c55610e10600d55670de0b6b3a7640000600e5534801561007d57600080fd5b50604051610e31380380610e3183398101604081905261009c916100f6565b6001600160a01b0381166100c457737a250d5630b4cf539739df2c5dacb4c659f2488d6100c6565b805b600380546001600160a01b03929092166001600160a01b0319928316179055600080549091163317905550610126565b60006020828403121561010857600080fd5b81516001600160a01b038116811461011f57600080fd5b9392505050565b610cfc806101356000396000f3fe6080604052600436106100dd5760003560e01c8063ce7c2ac21161007f578063efca2eed11610059578063efca2eed14610224578063f0fc6bca1461023a578063ffb2c4791461024f578063ffd49c841461026f57600080fd5b8063ce7c2ac2146101af578063d0e30db014610206578063e2d2e2191461020e57600080fd5b80632d48e896116100bb5780632d48e8961461014d5780633a98ef391461016d5780634fab0ae814610183578063997664d71461019957600080fd5b806311ce023d146100e257806314b6ca961461010b57806328fd31981461012d575b600080fd5b3480156100ee57600080fd5b506100f8600c5481565b6040519081526020015b60405180910390f35b34801561011757600080fd5b5061012b610126366004610ad6565b610285565b005b34801561013957600080fd5b506100f8610148366004610b00565b6103fd565b34801561015957600080fd5b5061012b610168366004610b1b565b610488565b34801561017957600080fd5b506100f860085481565b34801561018f57600080fd5b506100f8600e5481565b3480156101a557600080fd5b506100f860095481565b3480156101bb57600080fd5b506101eb6101ca366004610b00565b60076020526000908152604090208054600182015460029092015490919083565b60408051938452602084019290925290820152606001610102565b61012b6104aa565b34801561021a57600080fd5b506100f8600b5481565b34801561023057600080fd5b506100f8600a5481565b34801561024657600080fd5b5061012b6106d9565b34801561025b57600080fd5b5061012b61026a366004610b3d565b6106e4565b34801561027b57600080fd5b506100f8600d5481565b6000546001600160a01b0316331461029c57600080fd5b6001600160a01b038216600090815260076020526040902054156102c3576102c3826107e8565b6000811180156102e957506001600160a01b038216600090815260076020526040902054155b1561034f57600480546001600160a01b0384166000818152600560205260408120839055600183018455929092527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b0180546001600160a01b0319169091179055610382565b8015801561037457506001600160a01b03821660009081526007602052604090205415155b156103825761038282610906565b6001600160a01b0382166000908152600760205260409020546008546103b39183916103ad91610a1b565b90610a2e565b6008556001600160a01b03821660009081526007602052604090208190556103da81610a3a565b6001600160a01b0390921660009081526007602052604090206001019190915550565b6001600160a01b038116600090815260076020526040812054810361042457506000919050565b6001600160a01b03821660009081526007602052604081205461044690610a3a565b6001600160a01b038416600090815260076020526040902060010154909150808211610476575060009392505050565b6104808282610a1b565b949350505050565b6000546001600160a01b0316331461049f57600080fd5b600d91909155600e55565b6000546001600160a01b031633146104c157600080fd5b6001546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa15801561050a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061052e9190610b56565b6040805160028082526060820183529293506000929091602083019080368337505060025482519293506001600160a01b03169183915060009061057457610574610b6f565b6001600160a01b03928316602091820292909201015260018054835192169183919081106105a4576105a4610b6f565b6001600160a01b03928316602091820292909201015260035460405163b6f9de9560e01b815291169063b6f9de959034906105ea90600090869030904290600401610b85565b6000604051808303818588803b15801561060357600080fd5b505af1158015610617573d6000803e3d6000fd5b50506001546040516370a0823160e01b81523060048201526000945061069793508692506001600160a01b03909116906370a0823190602401602060405180830381865afa15801561066d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106919190610b56565b90610a1b565b6009549091506106a79082610a2e565b600955600854600c546106d1916106c8916106c29085610a5d565b90610a69565b600b5490610a2e565b600b55505050565b6106e2336107e8565b565b6000546001600160a01b031633146106fb57600080fd5b600454600081900361070b575050565b6000805a905060005b848310801561072257508381105b156107e15783600f5410610736576000600f555b6107686004600f548154811061074e5761074e610b6f565b6000918252602090912001546001600160a01b0316610a75565b1561079f5761079f6004600f548154811061078557610785610b6f565b6000918252602090912001546001600160a01b03166107e8565b6107b46107ad5a8490610a1b565b8490610a2e565b92505a600f805491935060006107c983610c05565b919050555080806107d990610c05565b915050610714565b5050505050565b6001600160a01b038116600090815260076020526040812054900361080a5750565b6000610815826103fd565b9050801561090257600a5461082a9082610a2e565b600a5560015460405163a9059cbb60e01b81526001600160a01b038481166004830152602482018490529091169063a9059cbb906044016020604051808303816000875af1158015610880573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108a49190610c1e565b506001600160a01b038216600090815260066020908152604080832042905560079091529020600201546108d89082610a2e565b6001600160a01b03831660009081526007602052604090206002810191909155546103da90610a3a565b5050565b6004805461091690600190610c40565b8154811061092657610926610b6f565b60009182526020808320909101546001600160a01b038481168452600590925260409092205460048054929093169291811061096457610964610b6f565b600091825260208083209190910180546001600160a01b0319166001600160a01b039485161790559183168152600591829052604081205460048054919392916109b090600190610c40565b815481106109c0576109c0610b6f565b60009182526020808320909101546001600160a01b0316835282019290925260400190205560048054806109f6576109f6610c57565b600082815260209020810160001990810180546001600160a01b031916905501905550565b6000610a278284610c40565b9392505050565b6000610a278284610c6d565b6000610a57600c546106c2600b5485610a5d90919063ffffffff16565b92915050565b6000610a278284610c85565b6000610a278284610ca4565b600d546001600160a01b03821660009081526006602052604081205490914291610a9f9190610c6d565b108015610a575750600e54610ab3836103fd565b1192915050565b80356001600160a01b0381168114610ad157600080fd5b919050565b60008060408385031215610ae957600080fd5b610af283610aba565b946020939093013593505050565b600060208284031215610b1257600080fd5b610a2782610aba565b60008060408385031215610b2e57600080fd5b50508035926020909101359150565b600060208284031215610b4f57600080fd5b5035919050565b600060208284031215610b6857600080fd5b5051919050565b634e487b7160e01b600052603260045260246000fd5b600060808201868352602060808185015281875180845260a086019150828901935060005b81811015610bcf5784516001600160a01b031683529383019391830191600101610baa565b50506001600160a01b039690961660408501525050506060015292915050565b634e487b7160e01b600052601160045260246000fd5b600060018201610c1757610c17610bef565b5060010190565b600060208284031215610c3057600080fd5b81518015158114610a2757600080fd5b600082821015610c5257610c52610bef565b500390565b634e487b7160e01b600052603160045260246000fd5b60008219821115610c8057610c80610bef565b500190565b6000816000190483118215151615610c9f57610c9f610bef565b500290565b600082610cc157634e487b7160e01b600052601260045260246000fd5b50049056fea2646970667358221220198936138caa33428bfe915924b10b426f4f46c64f9255751ce73beee8f71e7664736f6c634300080f0033
Deployed Bytecode
0x60806040526004361061021e5760003560e01c8063893d20e811610123578063dd62ed3e116100ab578063f0b37c041161006f578063f0b37c04146106c4578063f2fde38b146106e4578063f708a64f14610704578063f887ea4014610724578063fe9fbb801461074457600080fd5b8063dd62ed3e146105fa578063df20fd4914610640578063e01bb68814610660578063e91f214e14610680578063e96fada2146106a457600080fd5b8063a51af4c5116100f2578063a51af4c51461055a578063a8aa1b311461057a578063a9059cbb1461059a578063ad5c4648146105ba578063b6a5d7de146105da57600080fd5b8063893d20e8146104c55780638a8c523c146104f757806395d89b411461050c5780639d1944f51461053a57600080fd5b8063364333f4116101a6578063571ac8b011610175578063571ac8b014610415578063658d4b7f146104355780636ddd1713146104555780636fcba3771461046f57806370a082311461048f57600080fd5b8063364333f41461037f5780633f4218e0146103945780634355855a146103c45780634ada218b146103f457600080fd5b806323b872dd116101ed57806323b872dd146102d25780632d48e896146102f25780632f54bf6e14610314578063313ce56714610343578063346cc7be1461035f57600080fd5b80630445b6671461022a57806306fdde0314610253578063095ea7b31461028d57806318160ddd146102bd57600080fd5b3661022557005b600080fd5b34801561023657600080fd5b5061024060165481565b6040519081526020015b60405180910390f35b34801561025f57600080fd5b506040805180820190915260088152674c756e617469637360c01b60208201525b60405161024a9190611984565b34801561029957600080fd5b506102ad6102a83660046119f1565b610764565b604051901515815260200161024a565b3480156102c957600080fd5b50600454610240565b3480156102de57600080fd5b506102ad6102ed366004611a1d565b6107d1565b3480156102fe57600080fd5b5061031261030d366004611a5e565b610895565b005b34801561032057600080fd5b506102ad61032f366004611a80565b6000546001600160a01b0391821691161490565b34801561034f57600080fd5b506040516009815260200161024a565b34801561036b57600080fd5b5061031261037a366004611a80565b61092d565b34801561038b57600080fd5b50610312610a92565b3480156103a057600080fd5b506102ad6103af366004611a80565b60076020526000908152604090205460ff1681565b3480156103d057600080fd5b506102ad6103df366004611a80565b60086020526000908152604090205460ff1681565b34801561040057600080fd5b506011546102ad90600160a01b900460ff1681565b34801561042157600080fd5b506102ad610430366004611a80565b610aea565b34801561044157600080fd5b50610312610450366004611aab565b610af8565b34801561046157600080fd5b506015546102ad9060ff1681565b34801561047b57600080fd5b5061031261048a366004611ae4565b610b48565b34801561049b57600080fd5b506102406104aa366004611a80565b6001600160a01b031660009081526005602052604090205490565b3480156104d157600080fd5b506000546001600160a01b03165b6040516001600160a01b03909116815260200161024a565b34801561050357600080fd5b50610312610bf3565b34801561051857600080fd5b50604080518082019091526005815264131d5b985560da1b6020820152610280565b34801561054657600080fd5b50610312610555366004611b16565b610c32565b34801561056657600080fd5b506013546104df906001600160a01b031681565b34801561058657600080fd5b506011546104df906001600160a01b031681565b3480156105a657600080fd5b506102ad6105b53660046119f1565b610cae565b3480156105c657600080fd5b506003546104df906001600160a01b031681565b3480156105e657600080fd5b506103126105f5366004611a80565b610cbb565b34801561060657600080fd5b50610240610615366004611b2f565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561064c57600080fd5b5061031261065b366004611b5d565b610d0c565b34801561066c57600080fd5b5061031261067b366004611a80565b610d48565b34801561068c57600080fd5b506102406fffffffffffffffffffffffffffffffff81565b3480156106b057600080fd5b50600f546104df906001600160a01b031681565b3480156106d057600080fd5b506103126106df366004611a80565b610d8f565b3480156106f057600080fd5b506103126106ff366004611a80565b610dda565b34801561071057600080fd5b5061031261071f366004611aab565b610e70565b34801561073057600080fd5b506010546104df906001600160a01b031681565b34801561075057600080fd5b506102ad61075f366004611a80565b610f74565b3360008181526006602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906107bf9086815260200190565b60405180910390a35060015b92915050565b6004546001600160a01b0384166000908152600660209081526040808320338452909152812054909114610880576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b038716600090815260068252838120338252909152919091205461085b918490610f92565b6001600160a01b03851660009081526006602090815260408083203384529091529020555b61088b848484610fbe565b90505b9392505050565b61089e33610f74565b6108c35760405162461bcd60e51b81526004016108ba90611b7b565b60405180910390fd5b6012546040516316a4744b60e11b815260048101849052602481018390526001600160a01b0390911690632d48e896906044015b600060405180830381600087803b15801561091157600080fd5b505af1158015610925573d6000803e3d6000fd5b505050505050565b61093633610f74565b6109525760405162461bcd60e51b81526004016108ba90611b7b565b306001600160a01b038216036109aa5760405162461bcd60e51b815260206004820152601c60248201527f43616e6e6f74207769746864726177206e617469766520746f6b656e0000000060448201526064016108ba565b6040516370a0823160e01b815230600482015281906001600160a01b0382169063a9059cbb90339083906370a0823190602401602060405180830381865afa1580156109fa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a1e9190611ba3565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af1158015610a69573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a8d9190611bbc565b505050565b610a9b33610f74565b610ab75760405162461bcd60e51b81526004016108ba90611b7b565b6040514790339082156108fc029083906000818181858888f19350505050158015610ae6573d6000803e3d6000fd5b5050565b60006107cb82600454610764565b610b0133610f74565b610b1d5760405162461bcd60e51b81526004016108ba90611b7b565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b610b5133610f74565b610b6d5760405162461bcd60e51b81526004016108ba90611b7b565b6009849055600a839055600b829055600c819055610b9781610b9184818888611322565b90611322565b600d8190556109c41015610bed5760405162461bcd60e51b815260206004820152601a60248201527f46656573206d757374206265206c657373207468616e2032352500000000000060448201526064016108ba565b50505050565b6000546001600160a01b03163314610c1d5760405162461bcd60e51b81526004016108ba90611bd9565b6011805460ff60a01b1916600160a01b179055565b610c3b33610f74565b610c575760405162461bcd60e51b81526004016108ba90611b7b565b620b71b08110610ca95760405162461bcd60e51b815260206004820152601860248201527f496e617070726f7072696174652067617320616d6f756e74000000000000000060448201526064016108ba565b601455565b600061088e338484610fbe565b6000546001600160a01b03163314610ce55760405162461bcd60e51b81526004016108ba90611bd9565b6001600160a01b03166000908152600160208190526040909120805460ff19169091179055565b610d1533610f74565b610d315760405162461bcd60e51b81526004016108ba90611b7b565b6015805460ff191692151592909217909155601655565b610d5133610f74565b610d6d5760405162461bcd60e51b81526004016108ba90611b7b565b600f80546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610db95760405162461bcd60e51b81526004016108ba90611bd9565b6001600160a01b03166000908152600160205260409020805460ff19169055565b6000546001600160a01b03163314610e045760405162461bcd60e51b81526004016108ba90611bd9565b600080546001600160a01b0319166001600160a01b038316908117825580825260016020818152604093849020805460ff191690921790915591519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc686163910160405180910390a150565b610e7933610f74565b610e955760405162461bcd60e51b81526004016108ba90611b7b565b6001600160a01b0382163014801590610ebc57506011546001600160a01b03838116911614155b610ec557600080fd5b6001600160a01b0382166000908152600860205260409020805460ff19168215801591909117909155610f2b57601254604051630a5b654b60e11b81526001600160a01b03848116600483015260006024830152909116906314b6ca96906044016108f7565b6012546001600160a01b0383811660008181526005602052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca96906044016108f7565b6001600160a01b031660009081526001602052604090205460ff1690565b60008184841115610fb65760405162461bcd60e51b81526004016108ba9190611984565b505050900390565b600080546001600160a01b0385811691161461102357601154600160a01b900460ff166110235760405162461bcd60e51b8152602060048201526013602482015272151c98591a5b99c81a5cc8191a5cd8589b1959606a1b60448201526064016108ba565b60175460ff16156110405761103984848461132e565b905061088e565b6011546001600160a01b0385811691161480159061106c57506011546001600160a01b03848116911614155b1561107c5761103984848461132e565b611084611402565b1561109157611091611453565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0387166000908152600590915291909120546110e3918490610f92565b6001600160a01b03851660009081526005602052604081209190915561110985856117ad565b611113578261111d565b61111d8584611801565b6001600160a01b0385166000908152600560205260409020549091506111439082611322565b6001600160a01b0380861660009081526005602090815260408083209490945591881681526008909152205460ff166111e7576012546001600160a01b0386811660008181526005602052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca9690604401600060405180830381600087803b1580156111d457600080fd5b505af19250505080156111e5575060015b505b6001600160a01b03841660009081526008602052604090205460ff16611278576012546001600160a01b0385811660008181526005602052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca9690604401600060405180830381600087803b15801561126557600080fd5b505af1925050508015611276575060015b505b6012546014546040516001624d3b8760e01b031981526001600160a01b039092169163ffb2c479916112b09160040190815260200190565b600060405180830381600087803b1580156112ca57600080fd5b505af19250505080156112db575060015b50836001600160a01b0316856001600160a01b0316600080516020611d388339815191528360405161130f91815260200190565b60405180910390a3506001949350505050565b600061088e8284611c12565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038616600090815260059091529182205461137f918490610f92565b6001600160a01b0380861660009081526005602052604080822093909355908516815220546113ae9083611322565b6001600160a01b038085166000818152600560205260409081902093909355915190861690600080516020611d38833981519152906113f09086815260200190565b60405180910390a35060019392505050565b6011546000906001600160a01b03163314801590611423575060175460ff16155b8015611431575060155460ff165b801561144e57506016543060009081526005602052604090205410155b905090565b6017805460ff19166001179055600d54600954601654600092611486926002926114809291839190611960565b9061196c565b9050600061149f8260165461197890919063ffffffff16565b604080516002808252606082018352929350600092909160208301908036833701905050905030816000815181106114d9576114d9611c2a565b6001600160a01b03928316602091820292909201015260035482519116908290600190811061150a5761150a611c2a565b6001600160a01b03928316602091820292909201015260105460405163791ac94760e01b81524792919091169063791ac94790611554908690600090879030904290600401611c40565b600060405180830381600087803b15801561156e57600080fd5b505af1158015611582573d6000803e3d6000fd5b50505050600061159b824761197890919063ffffffff16565b905060006115c16115b8600260095461196c90919063ffffffff16565b600d5490611978565b905060006115e36002611480846114806009548861196090919063ffffffff16565b9050600061160083611480600a548761196090919063ffffffff16565b9050600061161d84611480600b548861196090919063ffffffff16565b9050601260009054906101000a90046001600160a01b03166001600160a01b031663d0e30db0836040518263ffffffff1660e01b81526004016000604051808303818588803b15801561166f57600080fd5b505af193505050508015611681575060015b50600f546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156116bc573d6000803e3d6000fd5b508815611798576010546000805460405163f305d71960e01b8152306004820152602481018d90526044810183905260648101929092526001600160a01b0390811660848301524260a48301529091169063f305d71990859060c40160606040518083038185885af1158015611736573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061175b9190611cb1565b505060408051858152602081018c90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b50506017805460ff1916905550505050505050565b6001600160a01b03821660009081526007602052604081205460ff16806117ec57506001600160a01b03821660009081526007602052604090205460ff165b156117f9575060006107cb565b5060016107cb565b600080611824600e54611480600c54600d5461181d9190611cdf565b8690611960565b90506000611843600e54611480600c548761196090919063ffffffff16565b306000908152600560205260409020549091506118609083611322565b30600081815260056020526040908190209290925590516001600160a01b03871690600080516020611d388339815191529061189f9086815260200190565b60405180910390a361dead60005260056020527f7d509c07f0d4edcc2dd1b53aae68677132eb562dcba78e36381b63ccaf66e6ba546118de9082611322565b61dead600081905260056020527f7d509c07f0d4edcc2dd1b53aae68677132eb562dcba78e36381b63ccaf66e6ba919091556040516001600160a01b03871690600080516020611d388339815191529061193b9085815260200190565b60405180910390a36119576119508284611c12565b8590611978565b95945050505050565b600061088e8284611cf6565b600061088e8284611d15565b600061088e8284611cdf565b600060208083528351808285015260005b818110156119b157858101830151858201604001528201611995565b818111156119c3576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b03811681146119ee57600080fd5b50565b60008060408385031215611a0457600080fd5b8235611a0f816119d9565b946020939093013593505050565b600080600060608486031215611a3257600080fd5b8335611a3d816119d9565b92506020840135611a4d816119d9565b929592945050506040919091013590565b60008060408385031215611a7157600080fd5b50508035926020909101359150565b600060208284031215611a9257600080fd5b813561088e816119d9565b80151581146119ee57600080fd5b60008060408385031215611abe57600080fd5b8235611ac9816119d9565b91506020830135611ad981611a9d565b809150509250929050565b60008060008060808587031215611afa57600080fd5b5050823594602084013594506040840135936060013592509050565b600060208284031215611b2857600080fd5b5035919050565b60008060408385031215611b4257600080fd5b8235611b4d816119d9565b91506020830135611ad9816119d9565b60008060408385031215611b7057600080fd5b8235611a0f81611a9d565b6020808252600e908201526d139bdd08185d5d1a1bdc9a5e995960921b604082015260600190565b600060208284031215611bb557600080fd5b5051919050565b600060208284031215611bce57600080fd5b815161088e81611a9d565b6020808252600990820152682737ba1037bbb732b960b91b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b60008219821115611c2557611c25611bfc565b500190565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611c905784516001600160a01b031683529383019391830191600101611c6b565b50506001600160a01b03969096166060850152505050608001529392505050565b600080600060608486031215611cc657600080fd5b8351925060208401519150604084015190509250925092565b600082821015611cf157611cf1611bfc565b500390565b6000816000190483118215151615611d1057611d10611bfc565b500290565b600082611d3257634e487b7160e01b600052601260045260246000fd5b50049056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220b60a622e1c3b4f9cbd8a51c22c68719c398d1a6d2a3b0b5524550492262afaeb64736f6c634300080f0033
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.