Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
5,000,000,000 MOTN
Holders
164
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
400,000 MOTNValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
MotionToken
Compiler Version
v0.8.18+commit.87f61d96
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: No pragma solidity ^0.8.0; //--- Context ---// abstract contract Context { constructor() { } function _msgSender() internal view returns (address payable) { return payable(msg.sender); } function _msgData() internal view returns (bytes memory) { this; return msg.data; } } //--- Ownable ---// abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor() { _setOwner(_msgSender()); } function owner() public view virtual returns (address) { return _owner; } modifier onlyOwner() { require(owner() == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { _setOwner(address(0)); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _setOwner(newOwner); } function _setOwner(address newOwner) private { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } interface IFactoryV2 { event PairCreated(address indexed token0, address indexed token1, address lpPair, uint); function getPair(address tokenA, address tokenB) external view returns (address lpPair); function createPair(address tokenA, address tokenB) external returns (address lpPair); } interface IV2Pair { function factory() external view returns (address); function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast); function sync() external; } interface IRouter01 { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); 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 swapExactETHForTokens( uint amountOutMin, address[] calldata path, address to, uint deadline ) external payable returns (uint[] memory amounts); function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts); function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts); } interface IRouter02 is IRouter01 { function swapExactTokensForETHSupportingFeeOnTransferTokens( 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 swapExactTokensForTokensSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function swapExactTokensForTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); } //--- Interface for ERC20 ---// interface IERC20 { function totalSupply() external view returns (uint256); function decimals() external view returns (uint8); function symbol() external view returns (string memory); function name() external view returns (string memory); function getOwner() external view returns (address); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address _owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } //--- Contract v2 ---// contract MotionToken is Context, Ownable, IERC20 { function totalSupply() external pure override returns (uint256) { if (_totalSupply == 0) { revert(); } return _totalSupply; } function decimals() external pure override returns (uint8) { if (_totalSupply == 0) { revert(); } return _decimals; } function symbol() external pure override returns (string memory) { return _symbol; } function name() external pure override returns (string memory) { return _name; } function getOwner() external view override returns (address) { return owner(); } function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; } function balanceOf(address account) public view override returns (uint256) { return balance[account]; } mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _noFee; mapping (address => bool) private isLpPair; mapping (address => uint256) private balance; mapping(address => bool) private _isBot; uint256 constant public _totalSupply = 5e9 * 10**18; uint256 public swapThreshold = 1000000 * 10 ** 18; uint256 public maxTxAmount = 50000000 * 10**18; // 1% of the supply uint256 public buyfee = 0; uint256 public sellfee = 50; uint256 public transferfee = 0; uint256 constant public fee_denominator = 1000; bool private canSwapFees = false; address payable private marketingAddress; address public circulatingSupplyWallet = 0xb7A681D261EeDB90c41664c0d3dA49402Ec57fCB; // add Liquidty and circulating supply wallet address address public rewardWallet = 0x71D05c1Dfb4F1AF5E6cCe4C4865a8cCe34EA2914; // add reward wallet address address public devTeamWallet = 0x81ea96678cAd9fd9476A093455C30D3655627c1a; // add Dev teams wallet address uint256 public first72HourRestriction = block.timestamp + 86400; uint256 public first72hoursFee = 75; IRouter02 public swapRouter; string constant private _name = "Motion"; string constant private _symbol = "MOTN"; uint8 constant private _decimals = 18; address constant public DEAD = 0x000000000000000000000000000000000000dEaD; address public lpPair; bool public isTradingEnabled = false; bool private inSwap; modifier inSwapFlag { inSwap = true; _; inSwap = false; } event _enableTrading(); event _toggleCanSwapFees(bool enabled); event _changePair(address newLpPair); event _changeWallets(address marketing); event _changeMaxTransactionLimit(uint256 maxTxAmount); constructor (address _swapRouter, address _marketingAddress) { swapRouter = IRouter02(_swapRouter); marketingAddress = payable(_marketingAddress); balance[circulatingSupplyWallet] = (_totalSupply * 60) / 100; balance[rewardWallet] = (_totalSupply * 30) / 100; balance[devTeamWallet] = (_totalSupply * 10) / 100; lpPair = IFactoryV2(swapRouter.factory()).createPair(swapRouter.WETH(), address(this)); isLpPair[lpPair] = true; _approve(msg.sender, address(swapRouter), type(uint256).max); _approve(address(this), address(swapRouter), type(uint256).max); _noFee[address(this)] = true; _noFee[marketingAddress] = true; _noFee[msg.sender] = true; _noFee[circulatingSupplyWallet] = true; _noFee[rewardWallet] = true; _noFee[devTeamWallet] = true; emit Transfer(address(0), msg.sender, _totalSupply); } function openTrading() external onlyOwner() { require(!isTradingEnabled,"trading is already open"); isTradingEnabled = true; first72HourRestriction = block.timestamp + 259200; } receive() external payable {} function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(msg.sender, recipient, amount); return true; } function approve(address spender, uint256 amount) external override returns (bool) { _approve(msg.sender, spender, amount); return true; } function _approve(address sender, address spender, uint256 amount) internal { require(sender != address(0), "ERC20: Zero Address"); require(spender != address(0), "ERC20: Zero Address"); _allowances[sender][spender] = amount; } function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) { if (_allowances[sender][msg.sender] != type(uint256).max) { _allowances[sender][msg.sender] -= amount; } return _transfer(sender, recipient, amount); } function isNoFeeWallet(address account) external view returns(bool) { return _noFee[account]; } function setNoFeeWallet(address account, bool enabled) external onlyOwner { _noFee[account] = enabled; } function set72hourfee(uint256 _fee) external onlyOwner{ require(first72HourRestriction >=block.timestamp, "Time expired to set this value"); first72hoursFee = _fee; } function remove72hourRestriction() external onlyOwner{ first72HourRestriction = block.timestamp; } function isLimitedAddress(address ins, address out) internal view returns (bool) { bool isLimited = ins != owner() && out != owner() && msg.sender != owner() && out != DEAD && out != address(0) && out != address(this); return isLimited; } function is_buy(address _from, address _to) internal view returns (bool) { bool _is_buy = !isLpPair[_to] && isLpPair[_from]; return _is_buy; } function is_sell(address _from, address _to) internal view returns (bool) { bool _is_sell = isLpPair[_to] && !isLpPair[_from]; return _is_sell; } function canSwap() internal view returns (bool) { bool canswap = canSwapFees; return canswap; } function changeSwapThreshold(uint256 _amount) external onlyOwner { require(_amount >= 10000, "Threshold is too loo"); swapThreshold = _amount * 10**18; } function changeLpPair(address newPair) external onlyOwner { lpPair = newPair; isLpPair[newPair] = true; emit _changePair(newPair); } function toggleCanSwapFees(bool yesno) external onlyOwner { require(canSwapFees != yesno,"Bool is the same"); canSwapFees = yesno; emit _toggleCanSwapFees(yesno); } function _transfer(address from, address to, uint256 amount) internal returns (bool) { bool takeFee = true; require(to != address(0), "ERC20: transfer to the zero address"); require(from != address(0), "ERC20: transfer from the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); require(amount <= balanceOf(from), "You are trying to transfer more than your balance"); require(!_isBot[from] && !_isBot[to], "You are a bot"); require(isTradingEnabled || _noFee[from] || _noFee[to], "Trading not yet enabled!"); if(is_sell(from, to) && !inSwap && canSwap()) { uint256 contractTokenBalance = balanceOf(address(this)); if(contractTokenBalance >= swapThreshold) { internalSwap(contractTokenBalance); } } if (_noFee[from] || _noFee[to]){ takeFee = false; } balance[from] -= amount; uint256 amountAfterFee = (takeFee) ? takeTaxes(from, is_buy(from, to), is_sell(from, to), amount) : amount; balance[to] += amountAfterFee; emit Transfer(from, to, amountAfterFee); return true; } function takeTaxes(address from, bool isbuy, bool issell, uint256 amount) internal returns (uint256) { uint256 fee; require(amount <= maxTxAmount, "Exceeds the _maxTxAmount."); if (isbuy){ fee = buyfee; } else if (issell) { fee = (block.timestamp >= first72HourRestriction) ? sellfee : first72hoursFee; } else fee = transferfee; if (fee == 0) return amount; uint256 feeAmount = amount * fee / fee_denominator; if (feeAmount > 0) { balance[address(this)] += feeAmount; emit Transfer(from, address(this), feeAmount); } return amount - feeAmount; } function internalSwap(uint256 contractTokenBalance) internal inSwapFlag { address[] memory path = new address[](2); path[0] = address(this); path[1] = swapRouter.WETH(); if (_allowances[address(this)][address(swapRouter)] != type(uint256).max) { _allowances[address(this)][address(swapRouter)] = type(uint256).max; } try swapRouter.swapExactTokensForETHSupportingFeeOnTransferTokens( contractTokenBalance, 0, path, address(this), block.timestamp ) {} catch { return; } bool success; if(address(this).balance > 0) {(success,) = marketingAddress.call{value: address(this).balance, gas: 35000}("");} } function changeTaxes(uint256 _buyTax, uint256 _sellTax, uint256 _transferFee) external onlyOwner { require(_buyTax <= 100, "Buy tax cannot exceed 10%"); // 100 represents 10% require(_sellTax <= 100, "Sell tax cannot exceed 10%"); // 100 represents 10% require(_transferFee <= 100, "Transfer tax cannot exceed 10%"); // 100 represents 10% transferfee = _transferFee; sellfee = _sellTax; buyfee = _buyTax; } function changeTaxWallets(address marketing) external onlyOwner { marketingAddress = payable(marketing); emit _changeWallets(marketing); } function changeMaxTransactionLimit(uint256 _maxTransaction) external onlyOwner { require(_maxTransaction >= 10000000, "Max transaction limit is too loo"); maxTxAmount = _maxTransaction; emit _changeMaxTransactionLimit(maxTxAmount); } function bulkAntiBot( address[] memory accounts, bool state ) external onlyOwner { require(accounts.length <= 100, "Address: Invalid"); for (uint256 i = 0; i < accounts.length; i++) { if (_isBot[accounts[i]] != state) _isBot[accounts[i]] = state; } } function airdropTokens( address[] memory recipients, uint256[] memory amounts ) external onlyOwner returns (bool) { require(recipients.length == amounts.length, "Invalid size"); for (uint256 i; i < recipients.length; i++) { _transfer(_msgSender(), recipients[i], amounts[i]); } return true; } function rescueETH(uint256 weiAmount) external onlyOwner { require(address(this).balance >= weiAmount, "insufficient ETH balance"); payable(owner()).transfer(weiAmount); } // Function to allow admin to claim *other* ERC20 tokens sent to this contract (by mistake) // Owner cannot transfer _to catecoin from this smart contract function rescueAnyERC20Tokens( address _tokenAddr, address _to, uint _amount ) public onlyOwner { IERC20(_tokenAddr).transfer(_to, _amount); } }
{ "optimizer": { "enabled": true, "runs": 200 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "libraries": {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_swapRouter","type":"address"},{"internalType":"address","name":"_marketingAddress","type":"address"}],"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":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"maxTxAmount","type":"uint256"}],"name":"_changeMaxTransactionLimit","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newLpPair","type":"address"}],"name":"_changePair","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"marketing","type":"address"}],"name":"_changeWallets","type":"event"},{"anonymous":false,"inputs":[],"name":"_enableTrading","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"_toggleCanSwapFees","type":"event"},{"inputs":[],"name":"DEAD","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"recipients","type":"address[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"name":"airdropTokens","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"state","type":"bool"}],"name":"bulkAntiBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"buyfee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newPair","type":"address"}],"name":"changeLpPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_maxTransaction","type":"uint256"}],"name":"changeMaxTransactionLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"changeSwapThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"marketing","type":"address"}],"name":"changeTaxWallets","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buyTax","type":"uint256"},{"internalType":"uint256","name":"_sellTax","type":"uint256"},{"internalType":"uint256","name":"_transferFee","type":"uint256"}],"name":"changeTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"circulatingSupplyWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"devTeamWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"fee_denominator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"first72HourRestriction","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"first72hoursFee","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":"account","type":"address"}],"name":"isNoFeeWallet","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isTradingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lpPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTxAmount","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":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"remove72hourRestriction","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_tokenAddr","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"rescueAnyERC20Tokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"weiAmount","type":"uint256"}],"name":"rescueETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rewardWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellfee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_fee","type":"uint256"}],"name":"set72hourfee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"enabled","type":"bool"}],"name":"setNoFeeWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapRouter","outputs":[{"internalType":"contract IRouter02","name":"","type":"address"}],"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":[{"internalType":"bool","name":"yesno","type":"bool"}],"name":"toggleCanSwapFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","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":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"transferfee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
608060405269d3c21bcecceda10000006006556a295be96e64066972000000600755600060088190556032600955600a55600b805460ff19169055600c80546001600160a01b031990811673b7a681d261eedb90c41664c0d3da49402ec57fcb17909155600d805482167371d05c1dfb4f1af5e6cce4c4865a8cce34ea2914179055600e80549091167381ea96678cad9fd9476a093455c30d3655627c1a179055620000af4262015180620005d4565b600f55604b6010556012805460ff60a01b19169055348015620000d157600080fd5b506040516200283638038062002836833981016040819052620000f4916200060d565b620000ff33620004a2565b601180546001600160a01b0319166001600160a01b0384811691909117909155600b8054610100600160a81b031916610100928416929092029190911790556064620001596b1027e72f1f12813088000000603c62000645565b6200016591906200065f565b600c546001600160a01b031660009081526004602052604090205560646200019b6b1027e72f1f12813088000000601e62000645565b620001a791906200065f565b600d546001600160a01b03166000908152600460205260409020556064620001dd6b1027e72f1f12813088000000600a62000645565b620001e991906200065f565b600e546001600160a01b0390811660009081526004602081815260409283902094909455601154825163c45a015560e01b8152925193169363c45a01559383830193919290918290030181865afa15801562000249573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200026f919062000682565b6001600160a01b031663c9c65396601160009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002d1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002f7919062000682565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201523060248201526044016020604051808303816000875af115801562000344573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200036a919062000682565b601280546001600160a01b0319166001600160a01b039283169081179091556000908152600360205260409020805460ff19166001179055601154620003b691339116600019620004f2565b601154620003d29030906001600160a01b0316600019620004f2565b3060009081526002602090815260408083208054600160ff199182168117909255600b546001600160a01b03610100909104811686528386208054831684179055338087528487208054841685179055600c54821687528487208054841685179055600d54821687528487208054841685179055600e5490911686528386208054909216909217905590516b1027e72f1f1281308800000081529092917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050620006a7565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b038316620005445760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b60448201526064015b60405180910390fd5b6001600160a01b038216620005925760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b60448201526064016200053b565b6001600160a01b0392831660009081526001602090815260408083209490951682529290925291902055565b634e487b7160e01b600052601160045260246000fd5b80820180821115620005ea57620005ea620005be565b92915050565b80516001600160a01b03811681146200060857600080fd5b919050565b600080604083850312156200062157600080fd5b6200062c83620005f0565b91506200063c60208401620005f0565b90509250929050565b8082028115828204841417620005ea57620005ea620005be565b6000826200067d57634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156200069557600080fd5b620006a082620005f0565b9392505050565b61217f80620006b76000396000f3fe60806040526004361061026b5760003560e01c8063715018a611610144578063b31470a4116100b6578063dd62ed3e1161007a578063dd62ed3e14610731578063e48150aa14610777578063e9451f5f14610797578063eb84aa07146107ad578063f2fde38b146107cd578063fb75b2c7146107ed57600080fd5b8063b31470a4146106a6578063c31c9c07146106c6578063c9567bf9146106e6578063d5914dc0146106fb578063dc9d75b01461071b57600080fd5b806389f425e71161010857806389f425e7146106035780638c0b5e22146106235780638da5cb5b146105e557806395d89b41146106395780639e252f0014610666578063a9059cbb1461068657600080fd5b8063715018a614610585578063723ddee01461059a57806381b46539146105b057806384f878f0146105c5578063893d20e8146105e557600080fd5b80631dc36945116101dd578063313ce567116101a1578063313ce567146104bd5780633eaaf86b146104d9578063452ed4f1146104f957806354de7bee14610519578063706f69371461052f57806370a082311461054f57600080fd5b80631dc369451461041857806320db8af91461042e57806323b872dd1461044457806327889862146104645780632d55e0221461049d57600080fd5b80630d65df9b1161022f5780630d65df9b146103575780630faba55414610379578063111a60b0146103995780631466737f146103b957806318160ddd146103d95780631a607ebe146103f857600080fd5b806303fd2a45146102775780630445b667146102aa578063064a59d0146102ce57806306fdde03146102ff578063095ea7b31461033757600080fd5b3661027257005b600080fd5b34801561028357600080fd5b5061028d61dead81565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156102b657600080fd5b506102c060065481565b6040519081526020016102a1565b3480156102da57600080fd5b506012546102ef90600160a01b900460ff1681565b60405190151581526020016102a1565b34801561030b57600080fd5b5060408051808201909152600681526526b7ba34b7b760d11b60208201525b6040516102a19190611c19565b34801561034357600080fd5b506102ef610352366004611c7c565b61080d565b34801561036357600080fd5b50610377610372366004611ca8565b610824565b005b34801561038557600080fd5b50610377610394366004611cf7565b6108d0565b3480156103a557600080fd5b506103776103b4366004611d30565b610925565b3480156103c557600080fd5b506103776103d4366004611d54565b6109e4565b3480156103e557600080fd5b506b1027e72f1f128130880000006102c0565b34801561040457600080fd5b50600e5461028d906001600160a01b031681565b34801561042457600080fd5b506102c060085481565b34801561043a57600080fd5b506102c060105481565b34801561045057600080fd5b506102ef61045f366004611ca8565b610a64565b34801561047057600080fd5b506102ef61047f366004611d54565b6001600160a01b031660009081526002602052604090205460ff1690565b3480156104a957600080fd5b50600c5461028d906001600160a01b031681565b3480156104c957600080fd5b50604051601281526020016102a1565b3480156104e557600080fd5b506102c06b1027e72f1f1281308800000081565b34801561050557600080fd5b5060125461028d906001600160a01b031681565b34801561052557600080fd5b506102c0600a5481565b34801561053b57600080fd5b506102ef61054a366004611e50565b610adc565b34801561055b57600080fd5b506102c061056a366004611d54565b6001600160a01b031660009081526004602052604090205490565b34801561059157600080fd5b50610377610bad565b3480156105a657600080fd5b506102c0600f5481565b3480156105bc57600080fd5b50610377610be3565b3480156105d157600080fd5b506103776105e0366004611f0b565b610c13565b3480156105f157600080fd5b506000546001600160a01b031661028d565b34801561060f57600080fd5b5061037761061e366004611f0b565b610cc5565b34801561062f57600080fd5b506102c060075481565b34801561064557600080fd5b5060408051808201909152600481526326a7aa2760e11b602082015261032a565b34801561067257600080fd5b50610377610681366004611f0b565b610d50565b34801561069257600080fd5b506102ef6106a1366004611c7c565b610e07565b3480156106b257600080fd5b506103776106c1366004611f24565b610e14565b3480156106d257600080fd5b5060115461028d906001600160a01b031681565b3480156106f257600080fd5b50610377610f44565b34801561070757600080fd5b50610377610716366004611d54565b610fed565b34801561072757600080fd5b506102c06103e881565b34801561073d57600080fd5b506102c061074c366004611f6b565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b34801561078357600080fd5b50610377610792366004611f0b565b61107f565b3480156107a357600080fd5b506102c060095481565b3480156107b957600080fd5b506103776107c8366004611f99565b611100565b3480156107d957600080fd5b506103776107e8366004611d54565b611228565b3480156107f957600080fd5b50600d5461028d906001600160a01b031681565b600061081a3384846112c3565b5060015b92915050565b6000546001600160a01b031633146108575760405162461bcd60e51b815260040161084e90611fc5565b60405180910390fd5b60405163a9059cbb60e01b81526001600160a01b0383811660048301526024820183905284169063a9059cbb906044016020604051808303816000875af11580156108a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108ca9190611ffa565b50505050565b6000546001600160a01b031633146108fa5760405162461bcd60e51b815260040161084e90611fc5565b6001600160a01b03919091166000908152600260205260409020805460ff1916911515919091179055565b6000546001600160a01b0316331461094f5760405162461bcd60e51b815260040161084e90611fc5565b600b5481151560ff90911615150361099c5760405162461bcd60e51b815260206004820152601060248201526f426f6f6c206973207468652073616d6560801b604482015260640161084e565b600b805460ff19168215159081179091556040519081527f4686eea8d0ea8d72497b77f908906325d7bbafd9f1d6753522573258958656e8906020015b60405180910390a150565b6000546001600160a01b03163314610a0e5760405162461bcd60e51b815260040161084e90611fc5565b600b8054610100600160a81b0319166101006001600160a01b038416908102919091179091556040519081527fb074145dac98cbf04c5e3a6d58501e8e3aa6eb107008ec598af2309ae5179dfe906020016109d9565b6001600160a01b038316600090815260016020908152604080832033845290915281205460001914610ac9576001600160a01b038416600090815260016020908152604080832033845290915281208054849290610ac390849061202d565b90915550505b610ad4848484611387565b949350505050565b600080546001600160a01b03163314610b075760405162461bcd60e51b815260040161084e90611fc5565b8151835114610b475760405162461bcd60e51b815260206004820152600c60248201526b496e76616c69642073697a6560a01b604482015260640161084e565b60005b8351811015610ba357610b9033858381518110610b6957610b69612040565b6020026020010151858481518110610b8357610b83612040565b6020026020010151611387565b5080610b9b81612056565b915050610b4a565b5060019392505050565b6000546001600160a01b03163314610bd75760405162461bcd60e51b815260040161084e90611fc5565b610be160006117d7565b565b6000546001600160a01b03163314610c0d5760405162461bcd60e51b815260040161084e90611fc5565b42600f55565b6000546001600160a01b03163314610c3d5760405162461bcd60e51b815260040161084e90611fc5565b62989680811015610c905760405162461bcd60e51b815260206004820181905260248201527f4d6178207472616e73616374696f6e206c696d697420697320746f6f206c6f6f604482015260640161084e565b60078190556040518181527fce1efe1e4fe062102f937e3c1d3a846001b31caae861afe69bffcd72001ab4ce906020016109d9565b6000546001600160a01b03163314610cef5760405162461bcd60e51b815260040161084e90611fc5565b612710811015610d385760405162461bcd60e51b81526020600482015260146024820152735468726573686f6c6420697320746f6f206c6f6f60601b604482015260640161084e565b610d4a81670de0b6b3a764000061206f565b60065550565b6000546001600160a01b03163314610d7a5760405162461bcd60e51b815260040161084e90611fc5565b80471015610dca5760405162461bcd60e51b815260206004820152601860248201527f696e73756666696369656e74204554482062616c616e63650000000000000000604482015260640161084e565b600080546040516001600160a01b039091169183156108fc02918491818181858888f19350505050158015610e03573d6000803e3d6000fd5b5050565b6000610ba3338484611387565b6000546001600160a01b03163314610e3e5760405162461bcd60e51b815260040161084e90611fc5565b606482511115610e835760405162461bcd60e51b815260206004820152601060248201526f1059191c995cdcce88125b9d985b1a5960821b604482015260640161084e565b60005b8251811015610f3f5781151560056000858481518110610ea857610ea8612040565b6020908102919091018101516001600160a01b031682528101919091526040016000205460ff16151514610f2d578160056000858481518110610eed57610eed612040565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055505b80610f3781612056565b915050610e86565b505050565b6000546001600160a01b03163314610f6e5760405162461bcd60e51b815260040161084e90611fc5565b601254600160a01b900460ff1615610fc85760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604482015260640161084e565b6012805460ff60a01b1916600160a01b179055610fe8426203f480612086565b600f55565b6000546001600160a01b031633146110175760405162461bcd60e51b815260040161084e90611fc5565b601280546001600160a01b0319166001600160a01b038316908117909155600081815260036020908152604091829020805460ff1916600117905590519182527f03b62011431502c791d443ee6149c9ec9b43632aeb5eb55c621104c128fe02f791016109d9565b6000546001600160a01b031633146110a95760405162461bcd60e51b815260040161084e90611fc5565b42600f5410156110fb5760405162461bcd60e51b815260206004820152601e60248201527f54696d65206578706972656420746f2073657420746869732076616c75650000604482015260640161084e565b601055565b6000546001600160a01b0316331461112a5760405162461bcd60e51b815260040161084e90611fc5565b606483111561117b5760405162461bcd60e51b815260206004820152601960248201527f427579207461782063616e6e6f74206578636565642031302500000000000000604482015260640161084e565b60648211156111cc5760405162461bcd60e51b815260206004820152601a60248201527f53656c6c207461782063616e6e6f742065786365656420313025000000000000604482015260640161084e565b606481111561121d5760405162461bcd60e51b815260206004820152601e60248201527f5472616e73666572207461782063616e6e6f7420657863656564203130250000604482015260640161084e565b600a55600955600855565b6000546001600160a01b031633146112525760405162461bcd60e51b815260040161084e90611fc5565b6001600160a01b0381166112b75760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161084e565b6112c0816117d7565b50565b6001600160a01b03831661130f5760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b604482015260640161084e565b6001600160a01b03821661135b5760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b604482015260640161084e565b6001600160a01b0392831660009081526001602090815260408083209490951682529290925291902055565b600060016001600160a01b0384166113ed5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161084e565b6001600160a01b0385166114515760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161084e565b600083116114b35760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161084e565b6001600160a01b0385166000908152600460205260409020548311156115355760405162461bcd60e51b815260206004820152603160248201527f596f752061726520747279696e6720746f207472616e73666572206d6f7265206044820152707468616e20796f75722062616c616e636560781b606482015260840161084e565b6001600160a01b03851660009081526005602052604090205460ff1615801561157757506001600160a01b03841660009081526005602052604090205460ff16155b6115b35760405162461bcd60e51b815260206004820152600d60248201526c165bdd48185c99481848189bdd609a1b604482015260640161084e565b601254600160a01b900460ff16806115e357506001600160a01b03851660009081526002602052604090205460ff165b8061160657506001600160a01b03841660009081526002602052604090205460ff165b6116525760405162461bcd60e51b815260206004820152601860248201527f54726164696e67206e6f742079657420656e61626c6564210000000000000000604482015260640161084e565b61165c8585611827565b80156116725750601254600160a81b900460ff16155b80156116805750600b5460ff165b156116a9573060009081526004602052604090205460065481106116a7576116a78161186e565b505b6001600160a01b03851660009081526002602052604090205460ff16806116e857506001600160a01b03841660009081526002602052604090205460ff165b156116f1575060005b6001600160a01b0385166000908152600460205260408120805485929061171990849061202d565b90915550600090508161172c578361174a565b61174a8661173a8888611a9a565b6117448989611827565b87611ae1565b6001600160a01b038616600090815260046020526040812080549293508392909190611777908490612086565b92505081905550846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516117c391815260200190565b60405180910390a350600195945050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b038116600090815260036020526040812054819060ff168015610ad457505050506001600160a01b031660009081526003602052604090205460ff161590565b6012805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106118b6576118b6612040565b6001600160a01b03928316602091820292909201810191909152601154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561190f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119339190612099565b8160018151811061194657611946612040565b6001600160a01b039283166020918202929092018101919091523060009081526001825260408082206011549094168252929091522054600019146119b0573060009081526001602090815260408083206011546001600160a01b03168452909152902060001990555b60115460405163791ac94760e01b81526001600160a01b039091169063791ac947906119e99085906000908690309042906004016120b6565b600060405180830381600087803b158015611a0357600080fd5b505af1925050508015611a14575060015b611a1e5750611a8a565b60004715611a8757600b546040516101009091046001600160a01b0316906188b89047906000818181858888f193505050503d8060008114611a7c576040519150601f19603f3d011682016040523d82523d6000602084013e611a81565b606091505b50909150505b50505b506012805460ff60a81b19169055565b6001600160a01b038116600090815260036020526040812054819060ff16158015610ad457505050506001600160a01b031660009081526003602052604090205460ff1690565b600080600754831115611b365760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e00000000000000604482015260640161084e565b8415611b455750600854611b6d565b8315611b6857600f54421015611b5d57601054611b61565b6009545b9050611b6d565b50600a545b80600003611b7e5782915050610ad4565b60006103e8611b8d838661206f565b611b979190612127565b90508015611c04573060009081526004602052604081208054839290611bbe908490612086565b909155505060405181815230906001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b611c0e818561202d565b979650505050505050565b600060208083528351808285015260005b81811015611c4657858101830151858201604001528201611c2a565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146112c057600080fd5b60008060408385031215611c8f57600080fd5b8235611c9a81611c67565b946020939093013593505050565b600080600060608486031215611cbd57600080fd5b8335611cc881611c67565b92506020840135611cd881611c67565b929592945050506040919091013590565b80151581146112c057600080fd5b60008060408385031215611d0a57600080fd5b8235611d1581611c67565b91506020830135611d2581611ce9565b809150509250929050565b600060208284031215611d4257600080fd5b8135611d4d81611ce9565b9392505050565b600060208284031215611d6657600080fd5b8135611d4d81611c67565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611db057611db0611d71565b604052919050565b600067ffffffffffffffff821115611dd257611dd2611d71565b5060051b60200190565b600082601f830112611ded57600080fd5b81356020611e02611dfd83611db8565b611d87565b82815260059290921b84018101918181019086841115611e2157600080fd5b8286015b84811015611e45578035611e3881611c67565b8352918301918301611e25565b509695505050505050565b60008060408385031215611e6357600080fd5b823567ffffffffffffffff80821115611e7b57600080fd5b611e8786838701611ddc565b9350602091508185013581811115611e9e57600080fd5b85019050601f81018613611eb157600080fd5b8035611ebf611dfd82611db8565b81815260059190911b82018301908381019088831115611ede57600080fd5b928401925b82841015611efc57833582529284019290840190611ee3565b80955050505050509250929050565b600060208284031215611f1d57600080fd5b5035919050565b60008060408385031215611f3757600080fd5b823567ffffffffffffffff811115611f4e57600080fd5b611f5a85828601611ddc565b9250506020830135611d2581611ce9565b60008060408385031215611f7e57600080fd5b8235611f8981611c67565b91506020830135611d2581611c67565b600080600060608486031215611fae57600080fd5b505081359360208301359350604090920135919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60006020828403121561200c57600080fd5b8151611d4d81611ce9565b634e487b7160e01b600052601160045260246000fd5b8181038181111561081e5761081e612017565b634e487b7160e01b600052603260045260246000fd5b60006001820161206857612068612017565b5060010190565b808202811582820484141761081e5761081e612017565b8082018082111561081e5761081e612017565b6000602082840312156120ab57600080fd5b8151611d4d81611c67565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156121065784516001600160a01b0316835293830193918301916001016120e1565b50506001600160a01b03969096166060850152505050608001529392505050565b60008261214457634e487b7160e01b600052601260045260246000fd5b50049056fea26469706673582212203b8324eebee8c3cc90500279255a05add59474d5302ad244e7c544c9111c806464736f6c634300081200330000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d0000000000000000000000003faa25eca75a185cb2379b14f41bedb0d9c93636
Deployed Bytecode
0x60806040526004361061026b5760003560e01c8063715018a611610144578063b31470a4116100b6578063dd62ed3e1161007a578063dd62ed3e14610731578063e48150aa14610777578063e9451f5f14610797578063eb84aa07146107ad578063f2fde38b146107cd578063fb75b2c7146107ed57600080fd5b8063b31470a4146106a6578063c31c9c07146106c6578063c9567bf9146106e6578063d5914dc0146106fb578063dc9d75b01461071b57600080fd5b806389f425e71161010857806389f425e7146106035780638c0b5e22146106235780638da5cb5b146105e557806395d89b41146106395780639e252f0014610666578063a9059cbb1461068657600080fd5b8063715018a614610585578063723ddee01461059a57806381b46539146105b057806384f878f0146105c5578063893d20e8146105e557600080fd5b80631dc36945116101dd578063313ce567116101a1578063313ce567146104bd5780633eaaf86b146104d9578063452ed4f1146104f957806354de7bee14610519578063706f69371461052f57806370a082311461054f57600080fd5b80631dc369451461041857806320db8af91461042e57806323b872dd1461044457806327889862146104645780632d55e0221461049d57600080fd5b80630d65df9b1161022f5780630d65df9b146103575780630faba55414610379578063111a60b0146103995780631466737f146103b957806318160ddd146103d95780631a607ebe146103f857600080fd5b806303fd2a45146102775780630445b667146102aa578063064a59d0146102ce57806306fdde03146102ff578063095ea7b31461033757600080fd5b3661027257005b600080fd5b34801561028357600080fd5b5061028d61dead81565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156102b657600080fd5b506102c060065481565b6040519081526020016102a1565b3480156102da57600080fd5b506012546102ef90600160a01b900460ff1681565b60405190151581526020016102a1565b34801561030b57600080fd5b5060408051808201909152600681526526b7ba34b7b760d11b60208201525b6040516102a19190611c19565b34801561034357600080fd5b506102ef610352366004611c7c565b61080d565b34801561036357600080fd5b50610377610372366004611ca8565b610824565b005b34801561038557600080fd5b50610377610394366004611cf7565b6108d0565b3480156103a557600080fd5b506103776103b4366004611d30565b610925565b3480156103c557600080fd5b506103776103d4366004611d54565b6109e4565b3480156103e557600080fd5b506b1027e72f1f128130880000006102c0565b34801561040457600080fd5b50600e5461028d906001600160a01b031681565b34801561042457600080fd5b506102c060085481565b34801561043a57600080fd5b506102c060105481565b34801561045057600080fd5b506102ef61045f366004611ca8565b610a64565b34801561047057600080fd5b506102ef61047f366004611d54565b6001600160a01b031660009081526002602052604090205460ff1690565b3480156104a957600080fd5b50600c5461028d906001600160a01b031681565b3480156104c957600080fd5b50604051601281526020016102a1565b3480156104e557600080fd5b506102c06b1027e72f1f1281308800000081565b34801561050557600080fd5b5060125461028d906001600160a01b031681565b34801561052557600080fd5b506102c0600a5481565b34801561053b57600080fd5b506102ef61054a366004611e50565b610adc565b34801561055b57600080fd5b506102c061056a366004611d54565b6001600160a01b031660009081526004602052604090205490565b34801561059157600080fd5b50610377610bad565b3480156105a657600080fd5b506102c0600f5481565b3480156105bc57600080fd5b50610377610be3565b3480156105d157600080fd5b506103776105e0366004611f0b565b610c13565b3480156105f157600080fd5b506000546001600160a01b031661028d565b34801561060f57600080fd5b5061037761061e366004611f0b565b610cc5565b34801561062f57600080fd5b506102c060075481565b34801561064557600080fd5b5060408051808201909152600481526326a7aa2760e11b602082015261032a565b34801561067257600080fd5b50610377610681366004611f0b565b610d50565b34801561069257600080fd5b506102ef6106a1366004611c7c565b610e07565b3480156106b257600080fd5b506103776106c1366004611f24565b610e14565b3480156106d257600080fd5b5060115461028d906001600160a01b031681565b3480156106f257600080fd5b50610377610f44565b34801561070757600080fd5b50610377610716366004611d54565b610fed565b34801561072757600080fd5b506102c06103e881565b34801561073d57600080fd5b506102c061074c366004611f6b565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b34801561078357600080fd5b50610377610792366004611f0b565b61107f565b3480156107a357600080fd5b506102c060095481565b3480156107b957600080fd5b506103776107c8366004611f99565b611100565b3480156107d957600080fd5b506103776107e8366004611d54565b611228565b3480156107f957600080fd5b50600d5461028d906001600160a01b031681565b600061081a3384846112c3565b5060015b92915050565b6000546001600160a01b031633146108575760405162461bcd60e51b815260040161084e90611fc5565b60405180910390fd5b60405163a9059cbb60e01b81526001600160a01b0383811660048301526024820183905284169063a9059cbb906044016020604051808303816000875af11580156108a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108ca9190611ffa565b50505050565b6000546001600160a01b031633146108fa5760405162461bcd60e51b815260040161084e90611fc5565b6001600160a01b03919091166000908152600260205260409020805460ff1916911515919091179055565b6000546001600160a01b0316331461094f5760405162461bcd60e51b815260040161084e90611fc5565b600b5481151560ff90911615150361099c5760405162461bcd60e51b815260206004820152601060248201526f426f6f6c206973207468652073616d6560801b604482015260640161084e565b600b805460ff19168215159081179091556040519081527f4686eea8d0ea8d72497b77f908906325d7bbafd9f1d6753522573258958656e8906020015b60405180910390a150565b6000546001600160a01b03163314610a0e5760405162461bcd60e51b815260040161084e90611fc5565b600b8054610100600160a81b0319166101006001600160a01b038416908102919091179091556040519081527fb074145dac98cbf04c5e3a6d58501e8e3aa6eb107008ec598af2309ae5179dfe906020016109d9565b6001600160a01b038316600090815260016020908152604080832033845290915281205460001914610ac9576001600160a01b038416600090815260016020908152604080832033845290915281208054849290610ac390849061202d565b90915550505b610ad4848484611387565b949350505050565b600080546001600160a01b03163314610b075760405162461bcd60e51b815260040161084e90611fc5565b8151835114610b475760405162461bcd60e51b815260206004820152600c60248201526b496e76616c69642073697a6560a01b604482015260640161084e565b60005b8351811015610ba357610b9033858381518110610b6957610b69612040565b6020026020010151858481518110610b8357610b83612040565b6020026020010151611387565b5080610b9b81612056565b915050610b4a565b5060019392505050565b6000546001600160a01b03163314610bd75760405162461bcd60e51b815260040161084e90611fc5565b610be160006117d7565b565b6000546001600160a01b03163314610c0d5760405162461bcd60e51b815260040161084e90611fc5565b42600f55565b6000546001600160a01b03163314610c3d5760405162461bcd60e51b815260040161084e90611fc5565b62989680811015610c905760405162461bcd60e51b815260206004820181905260248201527f4d6178207472616e73616374696f6e206c696d697420697320746f6f206c6f6f604482015260640161084e565b60078190556040518181527fce1efe1e4fe062102f937e3c1d3a846001b31caae861afe69bffcd72001ab4ce906020016109d9565b6000546001600160a01b03163314610cef5760405162461bcd60e51b815260040161084e90611fc5565b612710811015610d385760405162461bcd60e51b81526020600482015260146024820152735468726573686f6c6420697320746f6f206c6f6f60601b604482015260640161084e565b610d4a81670de0b6b3a764000061206f565b60065550565b6000546001600160a01b03163314610d7a5760405162461bcd60e51b815260040161084e90611fc5565b80471015610dca5760405162461bcd60e51b815260206004820152601860248201527f696e73756666696369656e74204554482062616c616e63650000000000000000604482015260640161084e565b600080546040516001600160a01b039091169183156108fc02918491818181858888f19350505050158015610e03573d6000803e3d6000fd5b5050565b6000610ba3338484611387565b6000546001600160a01b03163314610e3e5760405162461bcd60e51b815260040161084e90611fc5565b606482511115610e835760405162461bcd60e51b815260206004820152601060248201526f1059191c995cdcce88125b9d985b1a5960821b604482015260640161084e565b60005b8251811015610f3f5781151560056000858481518110610ea857610ea8612040565b6020908102919091018101516001600160a01b031682528101919091526040016000205460ff16151514610f2d578160056000858481518110610eed57610eed612040565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055505b80610f3781612056565b915050610e86565b505050565b6000546001600160a01b03163314610f6e5760405162461bcd60e51b815260040161084e90611fc5565b601254600160a01b900460ff1615610fc85760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604482015260640161084e565b6012805460ff60a01b1916600160a01b179055610fe8426203f480612086565b600f55565b6000546001600160a01b031633146110175760405162461bcd60e51b815260040161084e90611fc5565b601280546001600160a01b0319166001600160a01b038316908117909155600081815260036020908152604091829020805460ff1916600117905590519182527f03b62011431502c791d443ee6149c9ec9b43632aeb5eb55c621104c128fe02f791016109d9565b6000546001600160a01b031633146110a95760405162461bcd60e51b815260040161084e90611fc5565b42600f5410156110fb5760405162461bcd60e51b815260206004820152601e60248201527f54696d65206578706972656420746f2073657420746869732076616c75650000604482015260640161084e565b601055565b6000546001600160a01b0316331461112a5760405162461bcd60e51b815260040161084e90611fc5565b606483111561117b5760405162461bcd60e51b815260206004820152601960248201527f427579207461782063616e6e6f74206578636565642031302500000000000000604482015260640161084e565b60648211156111cc5760405162461bcd60e51b815260206004820152601a60248201527f53656c6c207461782063616e6e6f742065786365656420313025000000000000604482015260640161084e565b606481111561121d5760405162461bcd60e51b815260206004820152601e60248201527f5472616e73666572207461782063616e6e6f7420657863656564203130250000604482015260640161084e565b600a55600955600855565b6000546001600160a01b031633146112525760405162461bcd60e51b815260040161084e90611fc5565b6001600160a01b0381166112b75760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161084e565b6112c0816117d7565b50565b6001600160a01b03831661130f5760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b604482015260640161084e565b6001600160a01b03821661135b5760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b604482015260640161084e565b6001600160a01b0392831660009081526001602090815260408083209490951682529290925291902055565b600060016001600160a01b0384166113ed5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161084e565b6001600160a01b0385166114515760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161084e565b600083116114b35760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161084e565b6001600160a01b0385166000908152600460205260409020548311156115355760405162461bcd60e51b815260206004820152603160248201527f596f752061726520747279696e6720746f207472616e73666572206d6f7265206044820152707468616e20796f75722062616c616e636560781b606482015260840161084e565b6001600160a01b03851660009081526005602052604090205460ff1615801561157757506001600160a01b03841660009081526005602052604090205460ff16155b6115b35760405162461bcd60e51b815260206004820152600d60248201526c165bdd48185c99481848189bdd609a1b604482015260640161084e565b601254600160a01b900460ff16806115e357506001600160a01b03851660009081526002602052604090205460ff165b8061160657506001600160a01b03841660009081526002602052604090205460ff165b6116525760405162461bcd60e51b815260206004820152601860248201527f54726164696e67206e6f742079657420656e61626c6564210000000000000000604482015260640161084e565b61165c8585611827565b80156116725750601254600160a81b900460ff16155b80156116805750600b5460ff165b156116a9573060009081526004602052604090205460065481106116a7576116a78161186e565b505b6001600160a01b03851660009081526002602052604090205460ff16806116e857506001600160a01b03841660009081526002602052604090205460ff165b156116f1575060005b6001600160a01b0385166000908152600460205260408120805485929061171990849061202d565b90915550600090508161172c578361174a565b61174a8661173a8888611a9a565b6117448989611827565b87611ae1565b6001600160a01b038616600090815260046020526040812080549293508392909190611777908490612086565b92505081905550846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516117c391815260200190565b60405180910390a350600195945050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b038116600090815260036020526040812054819060ff168015610ad457505050506001600160a01b031660009081526003602052604090205460ff161590565b6012805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106118b6576118b6612040565b6001600160a01b03928316602091820292909201810191909152601154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561190f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119339190612099565b8160018151811061194657611946612040565b6001600160a01b039283166020918202929092018101919091523060009081526001825260408082206011549094168252929091522054600019146119b0573060009081526001602090815260408083206011546001600160a01b03168452909152902060001990555b60115460405163791ac94760e01b81526001600160a01b039091169063791ac947906119e99085906000908690309042906004016120b6565b600060405180830381600087803b158015611a0357600080fd5b505af1925050508015611a14575060015b611a1e5750611a8a565b60004715611a8757600b546040516101009091046001600160a01b0316906188b89047906000818181858888f193505050503d8060008114611a7c576040519150601f19603f3d011682016040523d82523d6000602084013e611a81565b606091505b50909150505b50505b506012805460ff60a81b19169055565b6001600160a01b038116600090815260036020526040812054819060ff16158015610ad457505050506001600160a01b031660009081526003602052604090205460ff1690565b600080600754831115611b365760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e00000000000000604482015260640161084e565b8415611b455750600854611b6d565b8315611b6857600f54421015611b5d57601054611b61565b6009545b9050611b6d565b50600a545b80600003611b7e5782915050610ad4565b60006103e8611b8d838661206f565b611b979190612127565b90508015611c04573060009081526004602052604081208054839290611bbe908490612086565b909155505060405181815230906001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b611c0e818561202d565b979650505050505050565b600060208083528351808285015260005b81811015611c4657858101830151858201604001528201611c2a565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146112c057600080fd5b60008060408385031215611c8f57600080fd5b8235611c9a81611c67565b946020939093013593505050565b600080600060608486031215611cbd57600080fd5b8335611cc881611c67565b92506020840135611cd881611c67565b929592945050506040919091013590565b80151581146112c057600080fd5b60008060408385031215611d0a57600080fd5b8235611d1581611c67565b91506020830135611d2581611ce9565b809150509250929050565b600060208284031215611d4257600080fd5b8135611d4d81611ce9565b9392505050565b600060208284031215611d6657600080fd5b8135611d4d81611c67565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611db057611db0611d71565b604052919050565b600067ffffffffffffffff821115611dd257611dd2611d71565b5060051b60200190565b600082601f830112611ded57600080fd5b81356020611e02611dfd83611db8565b611d87565b82815260059290921b84018101918181019086841115611e2157600080fd5b8286015b84811015611e45578035611e3881611c67565b8352918301918301611e25565b509695505050505050565b60008060408385031215611e6357600080fd5b823567ffffffffffffffff80821115611e7b57600080fd5b611e8786838701611ddc565b9350602091508185013581811115611e9e57600080fd5b85019050601f81018613611eb157600080fd5b8035611ebf611dfd82611db8565b81815260059190911b82018301908381019088831115611ede57600080fd5b928401925b82841015611efc57833582529284019290840190611ee3565b80955050505050509250929050565b600060208284031215611f1d57600080fd5b5035919050565b60008060408385031215611f3757600080fd5b823567ffffffffffffffff811115611f4e57600080fd5b611f5a85828601611ddc565b9250506020830135611d2581611ce9565b60008060408385031215611f7e57600080fd5b8235611f8981611c67565b91506020830135611d2581611c67565b600080600060608486031215611fae57600080fd5b505081359360208301359350604090920135919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60006020828403121561200c57600080fd5b8151611d4d81611ce9565b634e487b7160e01b600052601160045260246000fd5b8181038181111561081e5761081e612017565b634e487b7160e01b600052603260045260246000fd5b60006001820161206857612068612017565b5060010190565b808202811582820484141761081e5761081e612017565b8082018082111561081e5761081e612017565b6000602082840312156120ab57600080fd5b8151611d4d81611c67565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156121065784516001600160a01b0316835293830193918301916001016120e1565b50506001600160a01b03969096166060850152505050608001529392505050565b60008261214457634e487b7160e01b600052601260045260246000fd5b50049056fea26469706673582212203b8324eebee8c3cc90500279255a05add59474d5302ad244e7c544c9111c806464736f6c63430008120033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d0000000000000000000000003faa25eca75a185cb2379b14f41bedb0d9c93636
-----Decoded View---------------
Arg [0] : _swapRouter (address): 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
Arg [1] : _marketingAddress (address): 0x3faA25eCa75A185Cb2379b14F41bEdb0d9c93636
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d
Arg [1] : 0000000000000000000000003faa25eca75a185cb2379b14f41bedb0d9c93636
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.