ERC-20
Overview
Max Total Supply
1,000,000,000 MOCHI
Holders
51
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
7,520,000 MOCHIValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
Mochi
Compiler Version
v0.8.7+commit.e28d00a7
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: NONE pragma solidity ^0.8.4; interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 return msg.data; } } 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 IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); function getPair(address tokenA, address tokenB) external view returns (address pair); } interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); } contract Mochi is Context, IERC20, Ownable { using SafeMath for uint256; mapping (address => uint256) private _tOwned; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _isExcludedFromFee; string private constant _name = "Mochi"; string private constant _symbol = unicode"MOCHI"; uint8 private constant _decimals = 9; uint256 public buyAutoBurnFee = 100; uint256 public buyAutoLiquidityFee = 0; uint256 public buyMarketingFee = 600; uint256 public totalBuyFees = buyAutoBurnFee + buyAutoLiquidityFee + buyMarketingFee; uint256 public sellAutoBurnFee = 100; uint256 public sellAutoLiquidityFee = 0; uint256 public sellMarketingFee = 600; uint256 public totalSellFees = sellAutoBurnFee + sellAutoLiquidityFee + sellMarketingFee; uint256 public tokensForAutoBurn; uint256 public tokensForAutoLiquidity; uint256 public tokensForMarketing; uint16 public masterTaxDivisor = 10000; address public constant DEAD = 0x000000000000000000000000000000000000dEaD; address public pairAddress; IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; bool private tradingOpen; bool private inSwap = false; bool private swapEnabled = false; uint256 private constant _tTotal = 1000000000 * 10**9; uint256 private maxWalletAmount = 30000000 * 10**9; uint256 private maxTxAmount = 10000000 * 10**9; address payable private feeAddrWallet; event MaxWalletAmountUpdated(uint maxWalletAmount); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor () { require(!tradingOpen,"trading is already open"); IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapV2Router = _uniswapV2Router; uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH()); pairAddress = IUniswapV2Factory(_uniswapV2Router.factory()).getPair(address(this), _uniswapV2Router.WETH()); feeAddrWallet = payable(0xEf8DDf60d2Fa07F6519e974a9BdD0e8a5F7a78E0); _tOwned[owner()] = _tTotal; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[feeAddrWallet] = true; uint256 _buyAutoBurnFee = 100; uint256 _buyAutoLiquidityFee = 0; uint256 _buyMarketingFee = 500; uint256 _sellAutoBurnFee = 100; uint256 _sellAutoLiquidityFee = 0; uint256 _sellMarketingFee = 500; buyAutoBurnFee = _buyAutoBurnFee; buyAutoLiquidityFee = _buyAutoLiquidityFee; buyMarketingFee = _buyMarketingFee; totalBuyFees = buyAutoBurnFee + buyAutoLiquidityFee + buyMarketingFee; sellAutoBurnFee = _sellAutoBurnFee; sellAutoLiquidityFee = _sellAutoLiquidityFee; sellMarketingFee = _sellMarketingFee; totalSellFees = sellAutoBurnFee + sellAutoLiquidityFee + sellMarketingFee; swapEnabled = true; maxTxAmount = 10000000 * 10**9; maxWalletAmount = 30000000 * 10**9; tradingOpen = true; IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); emit Transfer(address(0), owner(), _tTotal); } function name() public pure returns (string memory) { return _name; } function symbol() public pure returns (string memory) { return _symbol; } function decimals() public pure returns (uint8) { return _decimals; } function totalSupply() public pure override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { return _tOwned[account]; } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public virtual override returns (bool) { _transfer(sender, recipient, amount); uint256 currentAllowance = _allowances[sender][_msgSender()]; require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance"); _approve(sender, _msgSender(), currentAllowance - amount); return true; } function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _transfer(address from, address to, uint256 amount) private { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); require(amount <= balanceOf(from),"You are trying to transfer more than your balance"); require(tradingOpen || _isExcludedFromFee[from] || _isExcludedFromFee[to], "Trading not enabled yet"); if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to]) { require(amount <= maxTxAmount, "Exceeds the _maxTxAmount."); require(balanceOf(to) + amount <= maxWalletAmount, "Exceeds the maxWalletSize."); } uint256 contractTokenBalance = balanceOf(address(this)); if (!inSwap && from != uniswapV2Pair && swapEnabled && contractTokenBalance>0) { swapTokensForEth(contractTokenBalance); uint256 contractETHBalance = address(this).balance; if(contractETHBalance > 0) { sendETHToFee(address(this).balance); } } _tokenTransfer(from, to, amount, !(_isExcludedFromFee[from] || _isExcludedFromFee[to])); } function swapTokensForEth(uint256 tokenAmount) private lockTheSwap { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function _tokenTransfer(address sender, address recipient, uint256 amount, bool takeFee) private { _tOwned[sender] -= amount; uint256 amountReceived = (takeFee) ? takeTaxes(sender, recipient, amount) : amount; _tOwned[recipient] += amountReceived; emit Transfer(sender, recipient, amountReceived); } function takeTaxes(address from, address to, uint256 amount) internal returns (uint256) { if(from == uniswapV2Pair && totalBuyFees > 0 ) { tokensForAutoBurn = amount * buyAutoBurnFee / masterTaxDivisor; tokensForAutoLiquidity = amount * buyAutoLiquidityFee / masterTaxDivisor; tokensForMarketing = amount * buyMarketingFee / masterTaxDivisor; } else if (to == uniswapV2Pair && totalSellFees > 0 ) { tokensForAutoBurn = amount * sellAutoBurnFee / masterTaxDivisor; tokensForAutoLiquidity = amount * sellAutoLiquidityFee / masterTaxDivisor; tokensForMarketing = amount * sellMarketingFee / masterTaxDivisor; } _tOwned[DEAD] += tokensForAutoBurn; emit Transfer(from, DEAD, tokensForAutoBurn); _tOwned[pairAddress] += tokensForAutoLiquidity; emit Transfer(from, pairAddress, tokensForAutoLiquidity); _tOwned[address(this)] += tokensForMarketing; emit Transfer(from, address(this), tokensForMarketing); uint256 feeAmount = tokensForAutoBurn + tokensForMarketing + tokensForAutoLiquidity; return amount - feeAmount; } function excludeFromFee(address account) public onlyOwner { _isExcludedFromFee[account] = true; } function includeInFee(address account) public onlyOwner { _isExcludedFromFee[account] = false; } function SetWalletandTxtAmount(uint256 _maxTxAmount, uint256 _maxWalletSize) external onlyOwner{ maxTxAmount = _maxTxAmount * 10 **_decimals; maxWalletAmount = _maxWalletSize * 10 **_decimals; } function updateBuyFees(uint256 _buyAutoBurnFee, uint256 _buyAutoLiquidityFee, uint256 _buyMarketingFee) external onlyOwner { buyAutoBurnFee = _buyAutoBurnFee; buyAutoLiquidityFee = _buyAutoLiquidityFee; buyMarketingFee = _buyMarketingFee; totalBuyFees = buyAutoBurnFee + buyAutoLiquidityFee + buyMarketingFee; } function updateSellFees(uint256 _sellAutoBurnFee, uint256 _sellAutoLiquidityFee, uint256 _sellMarketingFee) external onlyOwner { sellAutoBurnFee = _sellAutoBurnFee; sellAutoLiquidityFee = _sellAutoLiquidityFee; sellMarketingFee = _sellMarketingFee; totalBuyFees = sellAutoBurnFee + sellAutoLiquidityFee + sellMarketingFee; } function sendETHToFee(uint256 amount) private { feeAddrWallet.transfer(amount); } receive() external payable{ } }
{ "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":"maxWalletAmount","type":"uint256"}],"name":"MaxWalletAmountUpdated","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"},{"inputs":[],"name":"DEAD","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_maxTxAmount","type":"uint256"},{"internalType":"uint256","name":"_maxWalletSize","type":"uint256"}],"name":"SetWalletandTxtAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyAutoBurnFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyAutoLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeInFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"masterTaxDivisor","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pairAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellAutoBurnFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellAutoLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellMarketingFee","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":"tokensForAutoBurn","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokensForAutoLiquidity","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokensForMarketing","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalBuyFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSellFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":[{"internalType":"uint256","name":"_buyAutoBurnFee","type":"uint256"},{"internalType":"uint256","name":"_buyAutoLiquidityFee","type":"uint256"},{"internalType":"uint256","name":"_buyMarketingFee","type":"uint256"}],"name":"updateBuyFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_sellAutoBurnFee","type":"uint256"},{"internalType":"uint256","name":"_sellAutoLiquidityFee","type":"uint256"},{"internalType":"uint256","name":"_sellMarketingFee","type":"uint256"}],"name":"updateSellFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052606460045560006005556102586006556006546005546004546200002991906200071d565b6200003591906200071d565b60075560646008556000600955610258600a55600a546009546008546200005d91906200071d565b6200006991906200071d565b600b55600f805461ffff19166127101790556011805461ffff60a81b19169055666a94d74f430000601255662386f26fc10000601355348015620000ac57600080fd5b50620000b83362000677565b601154600160a01b900460ff1615620001175760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604482015260640160405180910390fd5b601080546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b81529051829163c45a0155916004808301926020929190829003018186803b1580156200017857600080fd5b505afa1580156200018d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b39190620006c7565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015620001fc57600080fd5b505afa15801562000211573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002379190620006c7565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b1580156200028057600080fd5b505af115801562000295573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002bb9190620006c7565b601160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156200031b57600080fd5b505afa15801562000330573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003569190620006c7565b6001600160a01b031663e6a4390530836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200039f57600080fd5b505afa158015620003b4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003da9190620006c7565b6040516001600160e01b031960e085901b1681526001600160a01b0392831660048201529116602482015260440160206040518083038186803b1580156200042157600080fd5b505afa15801562000436573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200045c9190620006c7565b600f80546001600160a01b03928316620100000262010000600160b01b0319909116179055601480546001600160a01b03191673ef8ddf60d2fa07f6519e974a9bdd0e8a5f7a78e01781556000805483168152600160208181526040808420670de0b6b3a764000090558354861684526003909152808320805460ff199081168417909155308452818420805482168417905593549094168252928120805490921690921790556064600481905560058290556101f46006819055909190828282806200052a83856200071d565b6200053691906200071d565b60075560088390556009829055600a819055806200055583856200071d565b6200056191906200071d565b600b5560118054662386f26fc10000601355666a94d74f43000060125562ff00ff60a01b1981166201000160a01b1790915560105460405163095ea7b360e01b81526001600160a01b039182166004820152600019602482015291169063095ea7b390604401602060405180830381600087803b158015620005e257600080fd5b505af1158015620005f7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200061d9190620006f9565b5060008054604051670de0b6b3a764000081526001600160a01b0390911691907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050505050505062000744565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600060208284031215620006da57600080fd5b81516001600160a01b0381168114620006f257600080fd5b9392505050565b6000602082840312156200070c57600080fd5b81518015158114620006f257600080fd5b600082198211156200073f57634e487b7160e01b600052601160045260246000fd5b500190565b61182380620007546000396000f3fe6080604052600436106101dc5760003560e01c80638da5cb5b11610102578063c99f2fed11610095578063ea2f0b3711610064578063ea2f0b3714610572578063ebece9c914610592578063f239eab8146105b2578063f2fde38b146105c857600080fd5b8063c99f2fed146104ea578063cc70acee14610500578063d0a3981414610516578063dd62ed3e1461052c57600080fd5b8063a8b08982116100d1578063a8b089821461046e578063a9059cbb14610494578063b9e93700146104b4578063c17b5b8c146104ca57600080fd5b80638da5cb5b146103f6578063921369131461041457806395d89b411461042a5780639740a9461461045857600080fd5b8063313ce5671161017a57806370a082311161014957806370a0823114610375578063715018a6146103ab5780637bce5a04146103c05780638095d564146103d657600080fd5b8063313ce5671461030b578063437823ec1461032757806347afcbfe146103495780636cce46fc1461035f57600080fd5b806318160ddd116101b657806318160ddd146102825780631d6167ac146102a75780631f3fed8f146102d557806323b872dd146102eb57600080fd5b806303fd2a45146101e857806306fdde031461021b578063095ea7b31461025257600080fd5b366101e357005b600080fd5b3480156101f457600080fd5b506101fe61dead81565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561022757600080fd5b506040805180820190915260058152644d6f63686960d81b60208201525b6040516102129190611533565b34801561025e57600080fd5b5061027261026d3660046114b9565b6105e8565b6040519015158152602001610212565b34801561028e57600080fd5b50670de0b6b3a76400005b604051908152602001610212565b3480156102b357600080fd5b50600f546102c29061ffff1681565b60405161ffff9091168152602001610212565b3480156102e157600080fd5b50610299600e5481565b3480156102f757600080fd5b50610272610306366004611478565b6105ff565b34801561031757600080fd5b5060405160098152602001610212565b34801561033357600080fd5b506103476103423660046113fe565b6106b5565b005b34801561035557600080fd5b5061029960085481565b34801561036b57600080fd5b5061029960095481565b34801561038157600080fd5b506102996103903660046113fe565b6001600160a01b031660009081526001602052604090205490565b3480156103b757600080fd5b50610347610703565b3480156103cc57600080fd5b5061029960065481565b3480156103e257600080fd5b506103476103f1366004611507565b610739565b34801561040257600080fd5b506000546001600160a01b03166101fe565b34801561042057600080fd5b50610299600a5481565b34801561043657600080fd5b506040805180820190915260058152644d4f43484960d81b6020820152610245565b34801561046457600080fd5b50610299600d5481565b34801561047a57600080fd5b50600f546101fe906201000090046001600160a01b031681565b3480156104a057600080fd5b506102726104af3660046114b9565b61078f565b3480156104c057600080fd5b5061029960075481565b3480156104d657600080fd5b506103476104e5366004611507565b61079c565b3480156104f657600080fd5b5061029960045481565b34801561050c57600080fd5b50610299600c5481565b34801561052257600080fd5b50610299600b5481565b34801561053857600080fd5b5061029961054736600461143f565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561057e57600080fd5b5061034761058d3660046113fe565b6107e0565b34801561059e57600080fd5b506103476105ad3660046114e5565b61082b565b3480156105be57600080fd5b5061029960055481565b3480156105d457600080fd5b506103476105e33660046113fe565b61088b565b60006105f5338484610926565b5060015b92915050565b600061060c848484610a4a565b6001600160a01b0384166000908152600260209081526040808320338452909152902054828110156106965760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b6106aa85336106a58685611775565b610926565b506001949350505050565b6000546001600160a01b031633146106df5760405162461bcd60e51b815260040161068d90611588565b6001600160a01b03166000908152600360205260409020805460ff19166001179055565b6000546001600160a01b0316331461072d5760405162461bcd60e51b815260040161068d90611588565b6107376000610e83565b565b6000546001600160a01b031633146107635760405162461bcd60e51b815260040161068d90611588565b6004839055600582905560068190558061077d838561162e565b610787919061162e565b600755505050565b60006105f5338484610a4a565b6000546001600160a01b031633146107c65760405162461bcd60e51b815260040161068d90611588565b60088390556009829055600a8190558061077d838561162e565b6000546001600160a01b0316331461080a5760405162461bcd60e51b815260040161068d90611588565b6001600160a01b03166000908152600360205260409020805460ff19169055565b6000546001600160a01b031633146108555760405162461bcd60e51b815260040161068d90611588565b6108616009600a6116ab565b61086b9083611756565b60135561087a6009600a6116ab565b6108849082611756565b6012555050565b6000546001600160a01b031633146108b55760405162461bcd60e51b815260040161068d90611588565b6001600160a01b03811661091a5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161068d565b61092381610e83565b50565b6001600160a01b0383166109885760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161068d565b6001600160a01b0382166109e95760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161068d565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610aae5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161068d565b6001600160a01b038216610b105760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161068d565b60008111610b725760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161068d565b6001600160a01b038316600090815260016020526040902054811115610bf45760405162461bcd60e51b815260206004820152603160248201527f596f752061726520747279696e6720746f207472616e73666572206d6f7265206044820152707468616e20796f75722062616c616e636560781b606482015260840161068d565b601154600160a01b900460ff1680610c2457506001600160a01b03831660009081526003602052604090205460ff165b80610c4757506001600160a01b03821660009081526003602052604090205460ff165b610c935760405162461bcd60e51b815260206004820152601760248201527f54726164696e67206e6f7420656e61626c656420796574000000000000000000604482015260640161068d565b6011546001600160a01b038481169116148015610cbe57506010546001600160a01b03838116911614155b8015610ce357506001600160a01b03821660009081526003602052604090205460ff16155b15610db557601354811115610d3a5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e00000000000000604482015260640161068d565b60125481610d5d846001600160a01b031660009081526001602052604090205490565b610d67919061162e565b1115610db55760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604482015260640161068d565b30600090815260016020526040902054601154600160a81b900460ff16158015610ded57506011546001600160a01b03858116911614155b8015610e025750601154600160b01b900460ff165b8015610e0e5750600081115b15610e2e57610e1c81610ed3565b478015610e2c57610e2c4761105c565b505b6001600160a01b038416600090815260036020526040902054610e7d9085908590859060ff1680610e7757506001600160a01b03871660009081526003602052604090205460ff165b1561109a565b50505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6011805460ff60a81b1916600160a81b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610f1b57610f1b6117a2565b6001600160a01b03928316602091820292909201810191909152601054604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015610f6f57600080fd5b505afa158015610f83573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fa79190611422565b81600181518110610fba57610fba6117a2565b6001600160a01b039283166020918202929092010152601054610fe09130911684610926565b60105460405163791ac94760e01b81526001600160a01b039091169063791ac947906110199085906000908690309042906004016115bd565b600060405180830381600087803b15801561103357600080fd5b505af1158015611047573d6000803e3d6000fd5b50506011805460ff60a81b1916905550505050565b6014546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611096573d6000803e3d6000fd5b5050565b6001600160a01b038416600090815260016020526040812080548492906110c2908490611775565b9091555060009050816110d557826110e0565b6110e0858585611156565b6001600160a01b03851660009081526001602052604081208054929350839290919061110d90849061162e565b92505081905550836001600160a01b0316856001600160a01b03166000805160206117ce8339815191528360405161114791815260200190565b60405180910390a35050505050565b6011546000906001600160a01b03858116911614801561117857506000600754115b156111ee57600f5460045461ffff909116906111949084611756565b61119e9190611646565b600c55600f5460055461ffff909116906111b89084611756565b6111c29190611646565b600d55600f5460065461ffff909116906111dc9084611756565b6111e69190611646565b600e5561127f565b6011546001600160a01b03848116911614801561120d57506000600b54115b1561127f57600f5460085461ffff909116906112299084611756565b6112339190611646565b600c55600f5460095461ffff9091169061124d9084611756565b6112579190611646565b600d55600f54600a5461ffff909116906112719084611756565b61127b9190611646565b600e555b600c5461dead600090815260016020527fb34209a263f6c38fe55f099e9e70f9d67e93982480ff3234a5e0108028ad164d80549091906112c090849061162e565b9091555050600c5460405190815261dead906001600160a01b038616906000805160206117ce8339815191529060200160405180910390a3600d54600f546201000090046001600160a01b03166000908152600160205260408120805490919061132b90849061162e565b9091555050600f54600d546040516001600160a01b03620100009093048316928716916000805160206117ce8339815191529161136a91815260200190565b60405180910390a3600e54306000908152600160205260408120805490919061139490849061162e565b9091555050600e5460405190815230906001600160a01b038616906000805160206117ce8339815191529060200160405180910390a36000600d54600e54600c546113df919061162e565b6113e9919061162e565b90506113f58184611775565b95945050505050565b60006020828403121561141057600080fd5b813561141b816117b8565b9392505050565b60006020828403121561143457600080fd5b815161141b816117b8565b6000806040838503121561145257600080fd5b823561145d816117b8565b9150602083013561146d816117b8565b809150509250929050565b60008060006060848603121561148d57600080fd5b8335611498816117b8565b925060208401356114a8816117b8565b929592945050506040919091013590565b600080604083850312156114cc57600080fd5b82356114d7816117b8565b946020939093013593505050565b600080604083850312156114f857600080fd5b50508035926020909101359150565b60008060006060848603121561151c57600080fd5b505081359360208301359350604090920135919050565b600060208083528351808285015260005b8181101561156057858101830151858201604001528201611544565b81811115611572576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561160d5784516001600160a01b0316835293830193918301916001016115e8565b50506001600160a01b03969096166060850152505050608001529392505050565b600082198211156116415761164161178c565b500190565b60008261166357634e487b7160e01b600052601260045260246000fd5b500490565b600181815b808511156116a35781600019048211156116895761168961178c565b8085161561169657918102915b93841c939080029061166d565b509250929050565b600061141b60ff8416836000826116c4575060016105f9565b816116d1575060006105f9565b81600181146116e757600281146116f15761170d565b60019150506105f9565b60ff8411156117025761170261178c565b50506001821b6105f9565b5060208310610133831016604e8410600b8410161715611730575081810a6105f9565b61173a8383611668565b806000190482111561174e5761174e61178c565b029392505050565b60008160001904831182151516156117705761177061178c565b500290565b6000828210156117875761178761178c565b500390565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b038116811461092357600080fdfeddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212201b0b1b4e6a8a8b87595ecebf6f4c937fbc09d324506e0f509c3f42c78cd0643864736f6c63430008070033
Deployed Bytecode
0x6080604052600436106101dc5760003560e01c80638da5cb5b11610102578063c99f2fed11610095578063ea2f0b3711610064578063ea2f0b3714610572578063ebece9c914610592578063f239eab8146105b2578063f2fde38b146105c857600080fd5b8063c99f2fed146104ea578063cc70acee14610500578063d0a3981414610516578063dd62ed3e1461052c57600080fd5b8063a8b08982116100d1578063a8b089821461046e578063a9059cbb14610494578063b9e93700146104b4578063c17b5b8c146104ca57600080fd5b80638da5cb5b146103f6578063921369131461041457806395d89b411461042a5780639740a9461461045857600080fd5b8063313ce5671161017a57806370a082311161014957806370a0823114610375578063715018a6146103ab5780637bce5a04146103c05780638095d564146103d657600080fd5b8063313ce5671461030b578063437823ec1461032757806347afcbfe146103495780636cce46fc1461035f57600080fd5b806318160ddd116101b657806318160ddd146102825780631d6167ac146102a75780631f3fed8f146102d557806323b872dd146102eb57600080fd5b806303fd2a45146101e857806306fdde031461021b578063095ea7b31461025257600080fd5b366101e357005b600080fd5b3480156101f457600080fd5b506101fe61dead81565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561022757600080fd5b506040805180820190915260058152644d6f63686960d81b60208201525b6040516102129190611533565b34801561025e57600080fd5b5061027261026d3660046114b9565b6105e8565b6040519015158152602001610212565b34801561028e57600080fd5b50670de0b6b3a76400005b604051908152602001610212565b3480156102b357600080fd5b50600f546102c29061ffff1681565b60405161ffff9091168152602001610212565b3480156102e157600080fd5b50610299600e5481565b3480156102f757600080fd5b50610272610306366004611478565b6105ff565b34801561031757600080fd5b5060405160098152602001610212565b34801561033357600080fd5b506103476103423660046113fe565b6106b5565b005b34801561035557600080fd5b5061029960085481565b34801561036b57600080fd5b5061029960095481565b34801561038157600080fd5b506102996103903660046113fe565b6001600160a01b031660009081526001602052604090205490565b3480156103b757600080fd5b50610347610703565b3480156103cc57600080fd5b5061029960065481565b3480156103e257600080fd5b506103476103f1366004611507565b610739565b34801561040257600080fd5b506000546001600160a01b03166101fe565b34801561042057600080fd5b50610299600a5481565b34801561043657600080fd5b506040805180820190915260058152644d4f43484960d81b6020820152610245565b34801561046457600080fd5b50610299600d5481565b34801561047a57600080fd5b50600f546101fe906201000090046001600160a01b031681565b3480156104a057600080fd5b506102726104af3660046114b9565b61078f565b3480156104c057600080fd5b5061029960075481565b3480156104d657600080fd5b506103476104e5366004611507565b61079c565b3480156104f657600080fd5b5061029960045481565b34801561050c57600080fd5b50610299600c5481565b34801561052257600080fd5b50610299600b5481565b34801561053857600080fd5b5061029961054736600461143f565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561057e57600080fd5b5061034761058d3660046113fe565b6107e0565b34801561059e57600080fd5b506103476105ad3660046114e5565b61082b565b3480156105be57600080fd5b5061029960055481565b3480156105d457600080fd5b506103476105e33660046113fe565b61088b565b60006105f5338484610926565b5060015b92915050565b600061060c848484610a4a565b6001600160a01b0384166000908152600260209081526040808320338452909152902054828110156106965760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b6106aa85336106a58685611775565b610926565b506001949350505050565b6000546001600160a01b031633146106df5760405162461bcd60e51b815260040161068d90611588565b6001600160a01b03166000908152600360205260409020805460ff19166001179055565b6000546001600160a01b0316331461072d5760405162461bcd60e51b815260040161068d90611588565b6107376000610e83565b565b6000546001600160a01b031633146107635760405162461bcd60e51b815260040161068d90611588565b6004839055600582905560068190558061077d838561162e565b610787919061162e565b600755505050565b60006105f5338484610a4a565b6000546001600160a01b031633146107c65760405162461bcd60e51b815260040161068d90611588565b60088390556009829055600a8190558061077d838561162e565b6000546001600160a01b0316331461080a5760405162461bcd60e51b815260040161068d90611588565b6001600160a01b03166000908152600360205260409020805460ff19169055565b6000546001600160a01b031633146108555760405162461bcd60e51b815260040161068d90611588565b6108616009600a6116ab565b61086b9083611756565b60135561087a6009600a6116ab565b6108849082611756565b6012555050565b6000546001600160a01b031633146108b55760405162461bcd60e51b815260040161068d90611588565b6001600160a01b03811661091a5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161068d565b61092381610e83565b50565b6001600160a01b0383166109885760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161068d565b6001600160a01b0382166109e95760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161068d565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610aae5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161068d565b6001600160a01b038216610b105760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161068d565b60008111610b725760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161068d565b6001600160a01b038316600090815260016020526040902054811115610bf45760405162461bcd60e51b815260206004820152603160248201527f596f752061726520747279696e6720746f207472616e73666572206d6f7265206044820152707468616e20796f75722062616c616e636560781b606482015260840161068d565b601154600160a01b900460ff1680610c2457506001600160a01b03831660009081526003602052604090205460ff165b80610c4757506001600160a01b03821660009081526003602052604090205460ff165b610c935760405162461bcd60e51b815260206004820152601760248201527f54726164696e67206e6f7420656e61626c656420796574000000000000000000604482015260640161068d565b6011546001600160a01b038481169116148015610cbe57506010546001600160a01b03838116911614155b8015610ce357506001600160a01b03821660009081526003602052604090205460ff16155b15610db557601354811115610d3a5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e00000000000000604482015260640161068d565b60125481610d5d846001600160a01b031660009081526001602052604090205490565b610d67919061162e565b1115610db55760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604482015260640161068d565b30600090815260016020526040902054601154600160a81b900460ff16158015610ded57506011546001600160a01b03858116911614155b8015610e025750601154600160b01b900460ff165b8015610e0e5750600081115b15610e2e57610e1c81610ed3565b478015610e2c57610e2c4761105c565b505b6001600160a01b038416600090815260036020526040902054610e7d9085908590859060ff1680610e7757506001600160a01b03871660009081526003602052604090205460ff165b1561109a565b50505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6011805460ff60a81b1916600160a81b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610f1b57610f1b6117a2565b6001600160a01b03928316602091820292909201810191909152601054604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015610f6f57600080fd5b505afa158015610f83573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fa79190611422565b81600181518110610fba57610fba6117a2565b6001600160a01b039283166020918202929092010152601054610fe09130911684610926565b60105460405163791ac94760e01b81526001600160a01b039091169063791ac947906110199085906000908690309042906004016115bd565b600060405180830381600087803b15801561103357600080fd5b505af1158015611047573d6000803e3d6000fd5b50506011805460ff60a81b1916905550505050565b6014546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611096573d6000803e3d6000fd5b5050565b6001600160a01b038416600090815260016020526040812080548492906110c2908490611775565b9091555060009050816110d557826110e0565b6110e0858585611156565b6001600160a01b03851660009081526001602052604081208054929350839290919061110d90849061162e565b92505081905550836001600160a01b0316856001600160a01b03166000805160206117ce8339815191528360405161114791815260200190565b60405180910390a35050505050565b6011546000906001600160a01b03858116911614801561117857506000600754115b156111ee57600f5460045461ffff909116906111949084611756565b61119e9190611646565b600c55600f5460055461ffff909116906111b89084611756565b6111c29190611646565b600d55600f5460065461ffff909116906111dc9084611756565b6111e69190611646565b600e5561127f565b6011546001600160a01b03848116911614801561120d57506000600b54115b1561127f57600f5460085461ffff909116906112299084611756565b6112339190611646565b600c55600f5460095461ffff9091169061124d9084611756565b6112579190611646565b600d55600f54600a5461ffff909116906112719084611756565b61127b9190611646565b600e555b600c5461dead600090815260016020527fb34209a263f6c38fe55f099e9e70f9d67e93982480ff3234a5e0108028ad164d80549091906112c090849061162e565b9091555050600c5460405190815261dead906001600160a01b038616906000805160206117ce8339815191529060200160405180910390a3600d54600f546201000090046001600160a01b03166000908152600160205260408120805490919061132b90849061162e565b9091555050600f54600d546040516001600160a01b03620100009093048316928716916000805160206117ce8339815191529161136a91815260200190565b60405180910390a3600e54306000908152600160205260408120805490919061139490849061162e565b9091555050600e5460405190815230906001600160a01b038616906000805160206117ce8339815191529060200160405180910390a36000600d54600e54600c546113df919061162e565b6113e9919061162e565b90506113f58184611775565b95945050505050565b60006020828403121561141057600080fd5b813561141b816117b8565b9392505050565b60006020828403121561143457600080fd5b815161141b816117b8565b6000806040838503121561145257600080fd5b823561145d816117b8565b9150602083013561146d816117b8565b809150509250929050565b60008060006060848603121561148d57600080fd5b8335611498816117b8565b925060208401356114a8816117b8565b929592945050506040919091013590565b600080604083850312156114cc57600080fd5b82356114d7816117b8565b946020939093013593505050565b600080604083850312156114f857600080fd5b50508035926020909101359150565b60008060006060848603121561151c57600080fd5b505081359360208301359350604090920135919050565b600060208083528351808285015260005b8181101561156057858101830151858201604001528201611544565b81811115611572576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561160d5784516001600160a01b0316835293830193918301916001016115e8565b50506001600160a01b03969096166060850152505050608001529392505050565b600082198211156116415761164161178c565b500190565b60008261166357634e487b7160e01b600052601260045260246000fd5b500490565b600181815b808511156116a35781600019048211156116895761168961178c565b8085161561169657918102915b93841c939080029061166d565b509250929050565b600061141b60ff8416836000826116c4575060016105f9565b816116d1575060006105f9565b81600181146116e757600281146116f15761170d565b60019150506105f9565b60ff8411156117025761170261178c565b50506001821b6105f9565b5060208310610133831016604e8410600b8410161715611730575081810a6105f9565b61173a8383611668565b806000190482111561174e5761174e61178c565b029392505050565b60008160001904831182151516156117705761177061178c565b500290565b6000828210156117875761178761178c565b500390565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b038116811461092357600080fdfeddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212201b0b1b4e6a8a8b87595ecebf6f4c937fbc09d324506e0f509c3f42c78cd0643864736f6c63430008070033
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.