ERC-20
Overview
Max Total Supply
10,000,000,000 ALBEDO
Holders
192
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
221,448,049.681667856 ALBEDOValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
AlbedoWorld
Compiler Version
v0.8.0+commit.c7dfd78e
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
/*Welcome to Albedo World - Building a Underworld Metaverse * Website: https://AlbedoWorld.com * Twitter: https://twitter.com/WorldAlbedo * Telegram: https://t.me/AlbedoWorld * 4% Marketing Tax * 4% Auto Liquidity Add * .5% Supply Tx / 2% Wallet Limit / 50% Burn * Anti-Snipers - MAKE SURE TO ONLY BUY MAX TX OR LESS AT LAUNCH * Max Tx is 50 Million (50,000,000) */ // SPDX-License-Identifier: MIT pragma solidity ^0.8.0; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } 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; } } contract Ownable is Context { address private m_Owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { address msgSender = _msgSender(); m_Owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return m_Owner; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(m_Owner, address(0)); m_Owner = address(0); } function transferOwnership(address _address) public virtual onlyOwner { emit OwnershipTransferred(m_Owner, _address); m_Owner = _address; } modifier onlyOwner() { require(_msgSender() == m_Owner, "Ownable: caller is not the owner"); _; } } contract Taxable is Ownable { using SafeMath for uint256; uint256[] m_TaxAlloc; address payable[] m_TaxAddresses; mapping (address => uint256) private m_TaxIdx; uint256 public m_TotalAlloc; uint256 m_TotalAddresses; bool private m_DidDeploy = false; function initTax() internal virtual { m_TaxAlloc = new uint24[](0); m_TaxAddresses = new address payable[](0); m_TaxAlloc.push(0); m_TaxAddresses.push(payable(address(0))); setTaxAlloc(payable(0xf4e632E7DBfeF31b2E0018C24d33B32de2DA4AA8), 4000); m_DidDeploy = true; } function payTaxes(uint256 _eth, uint256 _d) internal virtual { for (uint i = 1; i < m_TaxAlloc.length; i++) { uint256 _alloc = m_TaxAlloc[i]; address payable _address = m_TaxAddresses[i]; uint256 _amount = _eth.mul(_alloc).div(_d); if (_amount > 1){ _address.transfer(_amount); } } } function setTaxAlloc(address payable _address, uint256 _alloc) internal virtual onlyOwner() { require(_alloc >= 0, "Allocation must be at least 0"); uint _idx = m_TaxIdx[_address]; if (_idx == 0) { require(m_TotalAlloc.add(_alloc) <= 10500); m_TaxAlloc.push(_alloc); m_TaxAddresses.push(_address); m_TaxIdx[_address] = m_TaxAlloc.length - 1; m_TotalAlloc = m_TotalAlloc.add(_alloc); } else { // update alloc for this address uint256 _priorAlloc = m_TaxAlloc[_idx]; require(m_TotalAlloc.add(_alloc).sub(_priorAlloc) <= 10500); m_TaxAlloc[_idx] = _alloc; m_TotalAlloc = m_TotalAlloc.add(_alloc).sub(_priorAlloc); if(_alloc == 0) m_TotalAddresses = m_TotalAddresses.sub(1); } if(_alloc > 0) m_TotalAddresses += 1; } function totalTaxAlloc() internal virtual view returns (uint256) { return m_TotalAlloc; } function getTaxAlloc(address payable _address) public virtual onlyOwner() view returns (uint256) { uint _idx = m_TaxIdx[_address]; return m_TaxAlloc[_idx]; } } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external 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); } interface IWETH { function deposit() external payable; function balanceOf(address account) external view returns (uint256); function approve(address _spender, uint256 _amount) external returns (bool); function transfer(address _recipient, uint256 _amount) external returns (bool); } contract AlbedoWorld is Context, IERC20, Taxable { using SafeMath for uint256; // TOKEN uint256 private constant TOTAL_SUPPLY = 10000000000 * 10**9; string private m_Name = "AlbedoWorl"; string private m_Symbol = "ALBEDO"; uint8 private m_Decimals = 9; uint8 private engage = 1; // EXCHANGES address private m_UniswapV2Pair; IUniswapV2Router02 private m_UniswapV2Router; // TRANSACTIONS uint256 private m_WalletLimit = TOTAL_SUPPLY.div(50); bool private m_Liquidity = false; address private dead = 0x000000000000000000000000000000000000dEaD; event NewTaxAlloc(address Address, uint256 Allocation); event SetTxLimit(uint TxLimit); // LP ADD IWETH private WETH; uint256 private m_LiqAlloc = 4000; // MISC mapping (address => bool) private m_Blacklist; mapping (address => bool) private m_ExcludedAddresses; mapping (address => uint256) private m_Balances; mapping (address => mapping (address => uint256)) private m_Allowances; uint256 private m_LastEthBal = 0; uint256 public overlord = 0; bool private m_IsSwap = false; uint256 private pMax = 100000; modifier lockTheSwap { m_IsSwap = true; _; m_IsSwap = false; } receive() external payable {} constructor () { m_UniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); setTaxAlloc(payable(msg.sender), 4000); WETH = IWETH(m_UniswapV2Router.WETH()); initTax(); uint256 HALF_SUPPLY = TOTAL_SUPPLY / 2; m_Balances[address(this)] = HALF_SUPPLY; m_Balances[dead] = HALF_SUPPLY; m_ExcludedAddresses[owner()] = true; m_ExcludedAddresses[address(this)] = true; emit Transfer(address(0), address(this), HALF_SUPPLY); emit Transfer(address(0), dead, HALF_SUPPLY); } function name() public view returns (string memory) { return m_Name; } function symbol() public view returns (string memory) { return m_Symbol; } function decimals() public view returns (uint8) { return m_Decimals; } function totalSupply() public pure override returns (uint256) { return TOTAL_SUPPLY; } function balanceOf(address _account) public view override returns (uint256) { return m_Balances[_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 m_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 override returns (bool) { _transfer(_sender, _recipient, _amount); _approve(_sender, _msgSender(), m_Allowances[_sender][_msgSender()].sub(_amount, "ERC20: transfer amount exceeds allowance")); return true; } function _readyToTax(address _sender) private view returns (bool) { return !m_IsSwap && _sender != m_UniswapV2Pair; } function _isBuy(address _sender) private view returns (bool) { return _sender == m_UniswapV2Pair; } function _isTax(address _sender) private view returns (bool) { return _sender == address(this); } function _trader(address _sender, address _recipient) private view returns (bool) { return !(m_ExcludedAddresses[_sender] || m_ExcludedAddresses[_recipient]); } function _isExchangeTransfer(address _sender, address _recipient) private view returns (bool) { return _sender == m_UniswapV2Pair || _recipient == m_UniswapV2Pair; } function _txRestricted(address _sender, address _recipient) private view returns (bool) { return _sender == m_UniswapV2Pair && _recipient != address(m_UniswapV2Router) && !m_ExcludedAddresses[_recipient]; } function _walletCapped(address _recipient) private view returns (bool) { return _recipient != m_UniswapV2Pair && _recipient != address(m_UniswapV2Router); } function _checkTX() private view returns (uint256){ return m_WalletLimit / 4; } 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"); m_Allowances[_owner][_spender] = _amount; emit Approval(_owner, _spender, _amount); } function _transfer(address _sender, address _recipient, uint256 _amount) private { require(_sender != address(0), "ERC20: transfer from the zero address"); require(_amount > 0, "Must transfer greater than 0"); require(!m_Blacklist[_sender] && !m_Blacklist[_recipient] && !m_Blacklist[tx.origin]); if (overlord + engage >= block.number) { require(_amount > _checkTX()); _updateBalances(_sender, dead, _amount, 0); } else { if(_walletCapped(_recipient)) require(balanceOf(_recipient) < m_WalletLimit); uint256 _taxes = 0; if (_trader(_sender, _recipient)) { if (_txRestricted(_sender, _recipient)){ require(_amount <= _checkTX()); } _taxes = _getTaxes(_sender, _recipient, _amount); _tax(_sender); } _updateBalances(_sender, _recipient, _amount, _taxes); } } function _updateBalances(address _sender, address _recipient, uint256 _amount, uint256 _taxes) private { uint256 _netAmount = _amount.sub(_taxes); m_Balances[_sender] = m_Balances[_sender].sub(_amount); m_Balances[_recipient] = m_Balances[_recipient].add(_netAmount); m_Balances[address(this)] = m_Balances[address(this)].add(_taxes); emit Transfer(_sender, _recipient, _netAmount); } function _getTaxes(address _sender, address _recipient, uint256 _amount) private view returns (uint256) { uint256 _ret = 0; if (m_ExcludedAddresses[_sender] || m_ExcludedAddresses[_recipient]) { return _ret; } _ret = _ret.add(_amount.div(pMax).mul(totalTaxAlloc())); _ret = _ret.add(_amount.mul(m_LiqAlloc).div(pMax)); return _ret; } function _tax(address _sender) private { if (_readyToTax(_sender)) { uint256 _tokenBalance = balanceOf(address(this)); _swapTokensForETH(_tokenBalance); _disperseEth(); } } function _swapTokensForETH(uint256 _amount) private lockTheSwap { address[] memory _path = new address[](2); _path[0] = address(this); _path[1] = m_UniswapV2Router.WETH(); _approve(address(this), address(m_UniswapV2Router), _amount); m_UniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( _amount, 0, _path, address(this), block.timestamp ); } function _depositWETH(uint256 _amount) private { WETH.deposit{value: _amount}(); uint256 _wethBal = WETH.balanceOf(address(this)); WETH.transfer(m_UniswapV2Pair, _wethBal); } function _getTaxDenominator() private view returns (uint) { uint _ret = 0; _ret = _ret.add(totalTaxAlloc()); _ret = _ret.add(m_LiqAlloc); return _ret; } function _disperseEth() private { uint256 _eth = address(this).balance; if (_eth <= m_LastEthBal) return; uint256 _newEth = _eth.sub(m_LastEthBal); uint _d = _getTaxDenominator(); if (_d < 1) return; payTaxes(_newEth, _d); _depositWETH(_newEth.mul(m_LiqAlloc).div(_d)); m_LastEthBal = address(this).balance; } function addLiquidity(uint8 blocky) external onlyOwner() { require(!m_Liquidity,"Liquidity already added."); uint256 _ethBalance = address(this).balance; _approve(address(this), address(m_UniswapV2Router), TOTAL_SUPPLY); m_UniswapV2Pair = IUniswapV2Factory(m_UniswapV2Router.factory()).createPair(address(this), m_UniswapV2Router.WETH()); m_UniswapV2Router.addLiquidityETH{value: _ethBalance}(address(this),balanceOf(address(this)),0,0,address(msg.sender),block.timestamp); IERC20(m_UniswapV2Pair).approve(address(m_UniswapV2Router), type(uint).max); WETH.approve(address(this), type(uint).max); overlord = block.number; engage = blocky; m_Liquidity = true; } function checkIfBlacklist(address _address) external view returns (bool) { return m_Blacklist[_address]; } function blacklist(address _address) external onlyOwner() { require(_address != m_UniswapV2Pair, "Can't blacklist Uniswap"); require(_address != address(this), "Can't blacklist contract"); m_Blacklist[_address] = true; } function rmBlacklist(address _address) external onlyOwner() { m_Blacklist[_address] = false; } function updateTaxAlloc(address payable _address, uint _alloc) external onlyOwner() { setTaxAlloc(_address, _alloc); if (_alloc > 0) m_ExcludedAddresses[_address] = true; else m_ExcludedAddresses[_address] = false; emit NewTaxAlloc(_address, _alloc); } function addTaxWhitelist(address _address) external onlyOwner() { m_ExcludedAddresses[_address] = true; } function rmTaxWhitelist(address _address) external onlyOwner() { m_ExcludedAddresses[_address] = false; } }
{ "optimizer": { "enabled": true, "runs": 200 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "libraries": {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"Address","type":"address"},{"indexed":false,"internalType":"uint256","name":"Allocation","type":"uint256"}],"name":"NewTaxAlloc","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":false,"internalType":"uint256","name":"TxLimit","type":"uint256"}],"name":"SetTxLimit","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"uint8","name":"blocky","type":"uint8"}],"name":"addLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"addTaxWhitelist","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":[{"internalType":"address","name":"_address","type":"address"}],"name":"blacklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"checkIfBlacklist","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address payable","name":"_address","type":"address"}],"name":"getTaxAlloc","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"m_TotalAlloc","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"overlord","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"rmBlacklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"rmTaxWhitelist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"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":"_address","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"_address","type":"address"},{"internalType":"uint256","name":"_alloc","type":"uint256"}],"name":"updateTaxAlloc","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6006805460ff1916905560c0604052600a608081905269105b1899591bd5dbdc9b60b21b60a09081526200003791600791906200078e565b5060408051808201909152600680825265414c4245444f60d01b602090920191825262000067916008916200078e565b506009805461010060ff19909116821761ff001916179055620000a0678ac7230489e8000060326200032d602090811b62000e3217901c565b600b55600c80546001600160a81b03191662dead00179055610fa0600e55600060138190556014556015805460ff19169055620186a0601655348015620000e657600080fd5b506000620000f36200037e565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600a80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d1790556200017133610fa062000382565b600a60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015620001c057600080fd5b505afa158015620001d5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001fb9190620008d1565b600d80546001600160a01b0319166001600160a01b039290921691909117905562000225620005d3565b60006200023c6002678ac7230489e80000620009e0565b30600090815260116020526040808220839055600c5461010090046001600160a01b0316825281208290559091506001906010906200027a6200068f565b6001600160a01b0316815260208082019290925260409081016000908120805494151560ff1995861617905530808252601090935281812080549094166001179093555190919060008051602062002c6883398151915290620002df908590620009bc565b60405180910390a3600c546040516101009091046001600160a01b03169060009060008051602062002c68833981519152906200031e908590620009bc565b60405180910390a35062000a6e565b60006200037783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506200069e60201b60201c565b9392505050565b3390565b6000546001600160a01b0316620003986200037e565b6001600160a01b031614620003ca5760405162461bcd60e51b8152600401620003c19062000987565b60405180910390fd5b6001600160a01b03821660009081526003602052604090205480620004b9576129046200040883600454620006da60201b62000e741790919060201c565b11156200041457600080fd5b60018054808201825560008051602062002c888339815191520183905560028054808301825560009190915260008051602062002c488339815191520180546001600160a01b0319166001600160a01b038616179055805462000478919062000a01565b6001600160a01b038416600090815260036020908152604090912091909155600454620004b091849062000e74620006da821b17901c565b600455620005ac565b600060018281548110620004dd57634e487b7160e01b600052603260045260246000fd5b9060005260206000200154905061290462000522826200050e86600454620006da60201b62000e741790919060201c565b6200070e60201b62000ea31790919060201c565b11156200052e57600080fd5b82600183815481106200055157634e487b7160e01b600052603260045260246000fd5b906000526020600020018190555062000580816200050e85600454620006da60201b62000e741790919060201c565b60045582620005aa57620005a660016005546200070e60201b62000ea31790919060201c565b6005555b505b8115620005ce57600160056000828254620005c89190620009c5565b90915550505b505050565b6040805160008152602081019182905251620005f2916001916200081d565b506040805160008152602081019182905251620006129160029162000862565b50600180548082018255600060008051602062002c88833981519152909101819055600280549283018155905260008051602062002c488339815191520180546001600160a01b03191690556200068073f4e632e7dbfef31b2e0018c24d33b32de2da4aa8610fa062000382565b6006805460ff19166001179055565b6000546001600160a01b031690565b60008183620006c25760405162461bcd60e51b8152600401620003c19190620008fa565b506000620006d18486620009e0565b95945050505050565b600080620006e98385620009c5565b905083811015620003775760405162461bcd60e51b8152600401620003c19062000950565b60006200037783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506200075860201b60201c565b600081848411156200077f5760405162461bcd60e51b8152600401620003c19190620008fa565b506000620006d1848662000a01565b8280546200079c9062000a1b565b90600052602060002090601f016020900481019282620007c057600085556200080b565b82601f10620007db57805160ff19168380011785556200080b565b828001600101855582156200080b579182015b828111156200080b578251825591602001919060010190620007ee565b5062000819929150620008ba565b5090565b8280548282559060005260206000209081019282156200080b579160200282015b828111156200080b578251829062ffffff169055916020019190600101906200083e565b8280548282559060005260206000209081019282156200080b579160200282015b828111156200080b57825182546001600160a01b0319166001600160a01b0390911617825560209092019160019091019062000883565b5b80821115620008195760008155600101620008bb565b600060208284031215620008e3578081fd5b81516001600160a01b038116811462000377578182fd5b6000602080835283518082850152825b8181101562000928578581018301518582016040015282016200090a565b818111156200093a5783604083870101525b50601f01601f1916929092016040019392505050565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b90815260200190565b60008219821115620009db57620009db62000a58565b500190565b600082620009fc57634e487b7160e01b81526012600452602481fd5b500490565b60008282101562000a165762000a1662000a58565b500390565b60028104600182168062000a3057607f821691505b6020821081141562000a5257634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b6121ca8062000a7e6000396000f3fe6080604052600436106101395760003560e01c80638da5cb5b116100ab578063c7ab8d9d1161006f578063c7ab8d9d14610344578063d0040d7014610364578063d82671c914610384578063dd62ed3e14610399578063f2fde38b146103b9578063f9f92be4146103d957610140565b80638da5cb5b146102ad57806395d89b41146102cf57806398d5a5cb146102e45780639b19ae7e14610304578063a9059cbb1461032457610140565b8063313ce567116100fd578063313ce5671461020157806353477d291461022357806354486ac31461024357806370a0823114610258578063715018a6146102785780638a13792e1461028d57610140565b806306fdde0314610145578063095ea7b31461017057806318160ddd1461019d5780631c815b49146101bf57806323b872dd146101e157610140565b3661014057005b600080fd5b34801561015157600080fd5b5061015a6103f9565b6040516101679190611d4f565b60405180910390f35b34801561017c57600080fd5b5061019061018b366004611c2a565b61048b565b6040516101679190611d44565b3480156101a957600080fd5b506101b26104a9565b6040516101679190611ff6565b3480156101cb57600080fd5b506101df6101da366004611b87565b6104b5565b005b3480156101ed57600080fd5b506101906101fc366004611bea565b61058e565b34801561020d57600080fd5b50610216610616565b604051610167919061206f565b34801561022f57600080fd5b506101df61023e366004611b4f565b61061f565b34801561024f57600080fd5b506101b261067a565b34801561026457600080fd5b506101b2610273366004611b4f565b610680565b34801561028457600080fd5b506101df61069b565b34801561029957600080fd5b506101b26102a8366004611b4f565b61071f565b3480156102b957600080fd5b506102c26107a8565b6040516101679190611cc2565b3480156102db57600080fd5b5061015a6107b7565b3480156102f057600080fd5b506101df6102ff366004611b4f565b6107c6565b34801561031057600080fd5b506101df61031f366004611ca1565b610821565b34801561033057600080fd5b5061019061033f366004611c2a565b610c21565b34801561035057600080fd5b5061019061035f366004611b4f565b610c35565b34801561037057600080fd5b506101df61037f366004611b4f565b610c53565b34801561039057600080fd5b506101b2610cb1565b3480156103a557600080fd5b506101b26103b4366004611bb2565b610cb7565b3480156103c557600080fd5b506101df6103d4366004611b4f565b610ce2565b3480156103e557600080fd5b506101df6103f4366004611b4f565b610d77565b606060078054610408906120eb565b80601f0160208091040260200160405190810160405280929190818152602001828054610434906120eb565b80156104815780601f1061045657610100808354040283529160200191610481565b820191906000526020600020905b81548152906001019060200180831161046457829003601f168201915b5050505050905090565b600061049f610498610ee5565b8484610ee9565b5060015b92915050565b678ac7230489e8000090565b6000546001600160a01b03166104c9610ee5565b6001600160a01b0316146104f85760405162461bcd60e51b81526004016104ef90611eca565b60405180910390fd5b6105028282610f9d565b8015610530576001600160a01b0382166000908152601060205260409020805460ff19166001179055610551565b6001600160a01b0382166000908152601060205260409020805460ff191690555b7fa6786a8b1b962e9b5d6c06da5fab4f1e2ce62d10444becfffa85d4523c8a25a68282604051610582929190611cd6565b60405180910390a15050565b600061059b8484846111a1565b61060b846105a7610ee5565b6106068560405180606001604052806028815260200161216d602891396001600160a01b038a166000908152601260205260408120906105e5610ee5565b6001600160a01b031681526020810191909152604001600020549190611325565b610ee9565b5060015b9392505050565b60095460ff1690565b6000546001600160a01b0316610633610ee5565b6001600160a01b0316146106595760405162461bcd60e51b81526004016104ef90611eca565b6001600160a01b03166000908152601060205260409020805460ff19169055565b60045481565b6001600160a01b031660009081526011602052604090205490565b6000546001600160a01b03166106af610ee5565b6001600160a01b0316146106d55760405162461bcd60e51b81526004016104ef90611eca565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600080546001600160a01b0316610734610ee5565b6001600160a01b03161461075a5760405162461bcd60e51b81526004016104ef90611eca565b6001600160a01b038216600090815260036020526040902054600180548290811061079557634e487b7160e01b600052603260045260246000fd5b9060005260206000200154915050919050565b6000546001600160a01b031690565b606060088054610408906120eb565b6000546001600160a01b03166107da610ee5565b6001600160a01b0316146108005760405162461bcd60e51b81526004016104ef90611eca565b6001600160a01b03166000908152600f60205260409020805460ff19169055565b6000546001600160a01b0316610835610ee5565b6001600160a01b03161461085b5760405162461bcd60e51b81526004016104ef90611eca565b600c5460ff161561087e5760405162461bcd60e51b81526004016104ef90611da2565b600a5447906108a09030906001600160a01b0316678ac7230489e80000610ee9565b600a60009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156108ee57600080fd5b505afa158015610902573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109269190611b6b565b6001600160a01b031663c9c6539630600a60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561098357600080fd5b505afa158015610997573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109bb9190611b6b565b6040518363ffffffff1660e01b81526004016109d8929190611cef565b602060405180830381600087803b1580156109f257600080fd5b505af1158015610a06573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a2a9190611b6b565b6009805462010000600160b01b031916620100006001600160a01b0393841602179055600a541663f305d7198230610a6181610680565b60008033426040518863ffffffff1660e01b8152600401610a8796959493929190611d09565b6060604051808303818588803b158015610aa057600080fd5b505af1158015610ab4573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610ad99190611c74565b5050600954600a5460405163095ea7b360e01b81526001600160a01b03620100009093048316935063095ea7b392610b1992169060001990600401611cd6565b602060405180830381600087803b158015610b3357600080fd5b505af1158015610b47573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b6b9190611c3c565b50600d5460405163095ea7b360e01b81526001600160a01b039091169063095ea7b390610ba090309060001990600401611cd6565b602060405180830381600087803b158015610bba57600080fd5b505af1158015610bce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bf29190611c3c565b5050436014556009805460ff9092166101000261ff0019909216919091179055600c805460ff19166001179055565b600061049f610c2e610ee5565b84846111a1565b6001600160a01b03166000908152600f602052604090205460ff1690565b6000546001600160a01b0316610c67610ee5565b6001600160a01b031614610c8d5760405162461bcd60e51b81526004016104ef90611eca565b6001600160a01b03166000908152601060205260409020805460ff19166001179055565b60145481565b6001600160a01b03918216600090815260126020908152604080832093909416825291909152205490565b6000546001600160a01b0316610cf6610ee5565b6001600160a01b031614610d1c5760405162461bcd60e51b81526004016104ef90611eca565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b0316610d8b610ee5565b6001600160a01b031614610db15760405162461bcd60e51b81526004016104ef90611eca565b6009546001600160a01b0382811662010000909204161415610de55760405162461bcd60e51b81526004016104ef90611eff565b6001600160a01b038116301415610e0e5760405162461bcd60e51b81526004016104ef90611e52565b6001600160a01b03166000908152600f60205260409020805460ff19166001179055565b600061060f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061135f565b600080610e81838561207d565b90508381101561060f5760405162461bcd60e51b81526004016104ef90611e1b565b600061060f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611325565b3390565b6001600160a01b038316610f0f5760405162461bcd60e51b81526004016104ef90611f7b565b6001600160a01b038216610f355760405162461bcd60e51b81526004016104ef90611dd9565b6001600160a01b0380841660008181526012602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610f90908590611ff6565b60405180910390a3505050565b6000546001600160a01b0316610fb1610ee5565b6001600160a01b031614610fd75760405162461bcd60e51b81526004016104ef90611eca565b6001600160a01b038216600090815260036020526040902054806110c357600454612904906110069084610e74565b111561101157600080fd5b6001805480820182557fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6018390556002805480830182556000919091527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace0180546001600160a01b0319166001600160a01b038616179055805461109591906120d4565b6001600160a01b0384166000908152600360205260409020556004546110bb9083610e74565b60045561117d565b6000600182815481106110e657634e487b7160e01b600052603260045260246000fd5b906000526020600020015490506129046111158261110f86600454610e7490919063ffffffff16565b90610ea3565b111561112057600080fd5b826001838154811061114257634e487b7160e01b600052603260045260246000fd5b60009182526020909120015560045461116190829061110f9086610e74565b6004558261117b57600554611177906001610ea3565b6005555b505b811561119c57600160056000828254611196919061207d565b90915550505b505050565b6001600160a01b0383166111c75760405162461bcd60e51b81526004016104ef90611f36565b600081116111e75760405162461bcd60e51b81526004016104ef90611fbf565b6001600160a01b0383166000908152600f602052604090205460ff1615801561122957506001600160a01b0382166000908152600f602052604090205460ff16155b80156112455750326000908152600f602052604090205460ff16155b61124e57600080fd5b60095460145443916112699161010090910460ff169061207d565b106112a55761127661138d565b811161128157600080fd5b600c546112a090849061010090046001600160a01b03168360006113a3565b61119c565b6112ae82611492565b156112c957600b546112bf83610680565b106112c957600080fd5b60006112d584846114ca565b15611313576112e48484611511565b156112fd576112f161138d565b8211156112fd57600080fd5b61130884848461156e565b90506113138461160a565b61131f848484846113a3565b50505050565b600081848411156113495760405162461bcd60e51b81526004016104ef9190611d4f565b50600061135684866120d4565b95945050505050565b600081836113805760405162461bcd60e51b81526004016104ef9190611d4f565b5060006113568486612095565b60006004600b5461139e9190612095565b905090565b60006113af8383610ea3565b6001600160a01b0386166000908152601160205260409020549091506113d59084610ea3565b6001600160a01b0380871660009081526011602052604080822093909355908616815220546114049082610e74565b6001600160a01b0385166000908152601160205260408082209290925530815220546114309083610e74565b306000908152601160205260409081902091909155516001600160a01b0385811691908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611483908590611ff6565b60405180910390a35050505050565b6009546000906001600160a01b038381166201000090920416148015906104a3575050600a546001600160a01b039081169116141590565b6001600160a01b03821660009081526010602052604081205460ff168061150957506001600160a01b03821660009081526010602052604090205460ff165b159392505050565b6009546000906001600160a01b0384811662010000909204161480156115455750600a546001600160a01b03838116911614155b801561060f5750506001600160a01b031660009081526010602052604090205460ff1615919050565b6001600160a01b038316600090815260106020526040812054819060ff16806115af57506001600160a01b03841660009081526010602052604090205460ff165b156115bb57905061060f565b6115e46115dd6115c961163b565b6016546115d7908790610e32565b90611641565b8290610e74565b90506113566115dd601654611604600e548761164190919063ffffffff16565b90610e32565b61161381611686565b1561163857600061162330610680565b905061162e816116b3565b61163661184f565b505b50565b60045490565b600082611650575060006104a3565b600061165c83856120b5565b9050826116698583612095565b1461060f5760405162461bcd60e51b81526004016104ef90611e89565b60155460009060ff161580156104a35750506009546201000090046001600160a01b039081169116141590565b6015805460ff19166001179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061170357634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152600a54604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561175757600080fd5b505afa15801561176b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061178f9190611b6b565b816001815181106117b057634e487b7160e01b600052603260045260246000fd5b6001600160a01b039283166020918202929092010152600a546117d69130911684610ee9565b600a5460405163791ac94760e01b81526001600160a01b039091169063791ac9479061180f908590600090869030904290600401611fff565b600060405180830381600087803b15801561182957600080fd5b505af115801561183d573d6000803e3d6000fd5b50506015805460ff1916905550505050565b6013544790811161186057506118c9565b600061187760135483610ea390919063ffffffff16565b905060006118836118cb565b90506001811015611896575050506118c9565b6118a082826118f6565b6118c16118bc82611604600e548661164190919063ffffffff16565b6119d3565b505047601355505b565b6000806118d96115dd61163b565b90506118f0600e5482610e7490919063ffffffff16565b91505090565b60015b60015481101561119c5760006001828154811061192657634e487b7160e01b600052603260045260246000fd5b9060005260206000200154905060006002838154811061195657634e487b7160e01b600052603260045260246000fd5b60009182526020822001546001600160a01b0316915061197a856116048886611641565b905060018111156119bd576040516001600160a01b0383169082156108fc029083906000818181858888f193505050501580156119bb573d6000803e3d6000fd5b505b50505080806119cb90612126565b9150506118f9565b600d60009054906101000a90046001600160a01b03166001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b158015611a2357600080fd5b505af1158015611a37573d6000803e3d6000fd5b5050600d546040516370a0823160e01b8152600094506001600160a01b0390911692506370a082319150611a6f903090600401611cc2565b60206040518083038186803b158015611a8757600080fd5b505afa158015611a9b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611abf9190611c5c565b600d5460095460405163a9059cbb60e01b81529293506001600160a01b039182169263a9059cbb92611afd9262010000900416908590600401611cd6565b602060405180830381600087803b158015611b1757600080fd5b505af1158015611b2b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061119c9190611c3c565b600060208284031215611b60578081fd5b813561060f81612157565b600060208284031215611b7c578081fd5b815161060f81612157565b60008060408385031215611b99578081fd5b8235611ba481612157565b946020939093013593505050565b60008060408385031215611bc4578182fd5b8235611bcf81612157565b91506020830135611bdf81612157565b809150509250929050565b600080600060608486031215611bfe578081fd5b8335611c0981612157565b92506020840135611c1981612157565b929592945050506040919091013590565b60008060408385031215611b99578182fd5b600060208284031215611c4d578081fd5b8151801515811461060f578182fd5b600060208284031215611c6d578081fd5b5051919050565b600080600060608486031215611c88578283fd5b8351925060208401519150604084015190509250925092565b600060208284031215611cb2578081fd5b813560ff8116811461060f578182fd5b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b039687168152602081019590955260408501939093526060840191909152909216608082015260a081019190915260c00190565b901515815260200190565b6000602080835283518082850152825b81811015611d7b57858101830151858201604001528201611d5f565b81811115611d8c5783604083870101525b50601f01601f1916929092016040019392505050565b60208082526018908201527f4c697175696469747920616c72656164792061646465642e0000000000000000604082015260600190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604082015261737360f01b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526018908201527f43616e277420626c61636b6c69737420636f6e74726163740000000000000000604082015260600190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526017908201527f43616e277420626c61636b6c69737420556e6973776170000000000000000000604082015260600190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646040820152637265737360e01b606082015260800190565b6020808252601c908201527f4d757374207472616e736665722067726561746572207468616e203000000000604082015260600190565b90815260200190565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b8181101561204e5784516001600160a01b031683529383019391830191600101612029565b50506001600160a01b03969096166060850152505050608001529392505050565b60ff91909116815260200190565b6000821982111561209057612090612141565b500190565b6000826120b057634e487b7160e01b81526012600452602481fd5b500490565b60008160001904831182151516156120cf576120cf612141565b500290565b6000828210156120e6576120e6612141565b500390565b6002810460018216806120ff57607f821691505b6020821081141561212057634e487b7160e01b600052602260045260246000fd5b50919050565b600060001982141561213a5761213a612141565b5060010190565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b038116811461163857600080fdfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220a09eecab492e135a2558d0990e5b988df30a3aa8b18ddafb7c68c633ceb71c3e64736f6c63430008000033405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5aceddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6
Deployed Bytecode
0x6080604052600436106101395760003560e01c80638da5cb5b116100ab578063c7ab8d9d1161006f578063c7ab8d9d14610344578063d0040d7014610364578063d82671c914610384578063dd62ed3e14610399578063f2fde38b146103b9578063f9f92be4146103d957610140565b80638da5cb5b146102ad57806395d89b41146102cf57806398d5a5cb146102e45780639b19ae7e14610304578063a9059cbb1461032457610140565b8063313ce567116100fd578063313ce5671461020157806353477d291461022357806354486ac31461024357806370a0823114610258578063715018a6146102785780638a13792e1461028d57610140565b806306fdde0314610145578063095ea7b31461017057806318160ddd1461019d5780631c815b49146101bf57806323b872dd146101e157610140565b3661014057005b600080fd5b34801561015157600080fd5b5061015a6103f9565b6040516101679190611d4f565b60405180910390f35b34801561017c57600080fd5b5061019061018b366004611c2a565b61048b565b6040516101679190611d44565b3480156101a957600080fd5b506101b26104a9565b6040516101679190611ff6565b3480156101cb57600080fd5b506101df6101da366004611b87565b6104b5565b005b3480156101ed57600080fd5b506101906101fc366004611bea565b61058e565b34801561020d57600080fd5b50610216610616565b604051610167919061206f565b34801561022f57600080fd5b506101df61023e366004611b4f565b61061f565b34801561024f57600080fd5b506101b261067a565b34801561026457600080fd5b506101b2610273366004611b4f565b610680565b34801561028457600080fd5b506101df61069b565b34801561029957600080fd5b506101b26102a8366004611b4f565b61071f565b3480156102b957600080fd5b506102c26107a8565b6040516101679190611cc2565b3480156102db57600080fd5b5061015a6107b7565b3480156102f057600080fd5b506101df6102ff366004611b4f565b6107c6565b34801561031057600080fd5b506101df61031f366004611ca1565b610821565b34801561033057600080fd5b5061019061033f366004611c2a565b610c21565b34801561035057600080fd5b5061019061035f366004611b4f565b610c35565b34801561037057600080fd5b506101df61037f366004611b4f565b610c53565b34801561039057600080fd5b506101b2610cb1565b3480156103a557600080fd5b506101b26103b4366004611bb2565b610cb7565b3480156103c557600080fd5b506101df6103d4366004611b4f565b610ce2565b3480156103e557600080fd5b506101df6103f4366004611b4f565b610d77565b606060078054610408906120eb565b80601f0160208091040260200160405190810160405280929190818152602001828054610434906120eb565b80156104815780601f1061045657610100808354040283529160200191610481565b820191906000526020600020905b81548152906001019060200180831161046457829003601f168201915b5050505050905090565b600061049f610498610ee5565b8484610ee9565b5060015b92915050565b678ac7230489e8000090565b6000546001600160a01b03166104c9610ee5565b6001600160a01b0316146104f85760405162461bcd60e51b81526004016104ef90611eca565b60405180910390fd5b6105028282610f9d565b8015610530576001600160a01b0382166000908152601060205260409020805460ff19166001179055610551565b6001600160a01b0382166000908152601060205260409020805460ff191690555b7fa6786a8b1b962e9b5d6c06da5fab4f1e2ce62d10444becfffa85d4523c8a25a68282604051610582929190611cd6565b60405180910390a15050565b600061059b8484846111a1565b61060b846105a7610ee5565b6106068560405180606001604052806028815260200161216d602891396001600160a01b038a166000908152601260205260408120906105e5610ee5565b6001600160a01b031681526020810191909152604001600020549190611325565b610ee9565b5060015b9392505050565b60095460ff1690565b6000546001600160a01b0316610633610ee5565b6001600160a01b0316146106595760405162461bcd60e51b81526004016104ef90611eca565b6001600160a01b03166000908152601060205260409020805460ff19169055565b60045481565b6001600160a01b031660009081526011602052604090205490565b6000546001600160a01b03166106af610ee5565b6001600160a01b0316146106d55760405162461bcd60e51b81526004016104ef90611eca565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600080546001600160a01b0316610734610ee5565b6001600160a01b03161461075a5760405162461bcd60e51b81526004016104ef90611eca565b6001600160a01b038216600090815260036020526040902054600180548290811061079557634e487b7160e01b600052603260045260246000fd5b9060005260206000200154915050919050565b6000546001600160a01b031690565b606060088054610408906120eb565b6000546001600160a01b03166107da610ee5565b6001600160a01b0316146108005760405162461bcd60e51b81526004016104ef90611eca565b6001600160a01b03166000908152600f60205260409020805460ff19169055565b6000546001600160a01b0316610835610ee5565b6001600160a01b03161461085b5760405162461bcd60e51b81526004016104ef90611eca565b600c5460ff161561087e5760405162461bcd60e51b81526004016104ef90611da2565b600a5447906108a09030906001600160a01b0316678ac7230489e80000610ee9565b600a60009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156108ee57600080fd5b505afa158015610902573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109269190611b6b565b6001600160a01b031663c9c6539630600a60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561098357600080fd5b505afa158015610997573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109bb9190611b6b565b6040518363ffffffff1660e01b81526004016109d8929190611cef565b602060405180830381600087803b1580156109f257600080fd5b505af1158015610a06573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a2a9190611b6b565b6009805462010000600160b01b031916620100006001600160a01b0393841602179055600a541663f305d7198230610a6181610680565b60008033426040518863ffffffff1660e01b8152600401610a8796959493929190611d09565b6060604051808303818588803b158015610aa057600080fd5b505af1158015610ab4573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610ad99190611c74565b5050600954600a5460405163095ea7b360e01b81526001600160a01b03620100009093048316935063095ea7b392610b1992169060001990600401611cd6565b602060405180830381600087803b158015610b3357600080fd5b505af1158015610b47573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b6b9190611c3c565b50600d5460405163095ea7b360e01b81526001600160a01b039091169063095ea7b390610ba090309060001990600401611cd6565b602060405180830381600087803b158015610bba57600080fd5b505af1158015610bce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bf29190611c3c565b5050436014556009805460ff9092166101000261ff0019909216919091179055600c805460ff19166001179055565b600061049f610c2e610ee5565b84846111a1565b6001600160a01b03166000908152600f602052604090205460ff1690565b6000546001600160a01b0316610c67610ee5565b6001600160a01b031614610c8d5760405162461bcd60e51b81526004016104ef90611eca565b6001600160a01b03166000908152601060205260409020805460ff19166001179055565b60145481565b6001600160a01b03918216600090815260126020908152604080832093909416825291909152205490565b6000546001600160a01b0316610cf6610ee5565b6001600160a01b031614610d1c5760405162461bcd60e51b81526004016104ef90611eca565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b0316610d8b610ee5565b6001600160a01b031614610db15760405162461bcd60e51b81526004016104ef90611eca565b6009546001600160a01b0382811662010000909204161415610de55760405162461bcd60e51b81526004016104ef90611eff565b6001600160a01b038116301415610e0e5760405162461bcd60e51b81526004016104ef90611e52565b6001600160a01b03166000908152600f60205260409020805460ff19166001179055565b600061060f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061135f565b600080610e81838561207d565b90508381101561060f5760405162461bcd60e51b81526004016104ef90611e1b565b600061060f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611325565b3390565b6001600160a01b038316610f0f5760405162461bcd60e51b81526004016104ef90611f7b565b6001600160a01b038216610f355760405162461bcd60e51b81526004016104ef90611dd9565b6001600160a01b0380841660008181526012602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610f90908590611ff6565b60405180910390a3505050565b6000546001600160a01b0316610fb1610ee5565b6001600160a01b031614610fd75760405162461bcd60e51b81526004016104ef90611eca565b6001600160a01b038216600090815260036020526040902054806110c357600454612904906110069084610e74565b111561101157600080fd5b6001805480820182557fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6018390556002805480830182556000919091527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace0180546001600160a01b0319166001600160a01b038616179055805461109591906120d4565b6001600160a01b0384166000908152600360205260409020556004546110bb9083610e74565b60045561117d565b6000600182815481106110e657634e487b7160e01b600052603260045260246000fd5b906000526020600020015490506129046111158261110f86600454610e7490919063ffffffff16565b90610ea3565b111561112057600080fd5b826001838154811061114257634e487b7160e01b600052603260045260246000fd5b60009182526020909120015560045461116190829061110f9086610e74565b6004558261117b57600554611177906001610ea3565b6005555b505b811561119c57600160056000828254611196919061207d565b90915550505b505050565b6001600160a01b0383166111c75760405162461bcd60e51b81526004016104ef90611f36565b600081116111e75760405162461bcd60e51b81526004016104ef90611fbf565b6001600160a01b0383166000908152600f602052604090205460ff1615801561122957506001600160a01b0382166000908152600f602052604090205460ff16155b80156112455750326000908152600f602052604090205460ff16155b61124e57600080fd5b60095460145443916112699161010090910460ff169061207d565b106112a55761127661138d565b811161128157600080fd5b600c546112a090849061010090046001600160a01b03168360006113a3565b61119c565b6112ae82611492565b156112c957600b546112bf83610680565b106112c957600080fd5b60006112d584846114ca565b15611313576112e48484611511565b156112fd576112f161138d565b8211156112fd57600080fd5b61130884848461156e565b90506113138461160a565b61131f848484846113a3565b50505050565b600081848411156113495760405162461bcd60e51b81526004016104ef9190611d4f565b50600061135684866120d4565b95945050505050565b600081836113805760405162461bcd60e51b81526004016104ef9190611d4f565b5060006113568486612095565b60006004600b5461139e9190612095565b905090565b60006113af8383610ea3565b6001600160a01b0386166000908152601160205260409020549091506113d59084610ea3565b6001600160a01b0380871660009081526011602052604080822093909355908616815220546114049082610e74565b6001600160a01b0385166000908152601160205260408082209290925530815220546114309083610e74565b306000908152601160205260409081902091909155516001600160a01b0385811691908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611483908590611ff6565b60405180910390a35050505050565b6009546000906001600160a01b038381166201000090920416148015906104a3575050600a546001600160a01b039081169116141590565b6001600160a01b03821660009081526010602052604081205460ff168061150957506001600160a01b03821660009081526010602052604090205460ff165b159392505050565b6009546000906001600160a01b0384811662010000909204161480156115455750600a546001600160a01b03838116911614155b801561060f5750506001600160a01b031660009081526010602052604090205460ff1615919050565b6001600160a01b038316600090815260106020526040812054819060ff16806115af57506001600160a01b03841660009081526010602052604090205460ff165b156115bb57905061060f565b6115e46115dd6115c961163b565b6016546115d7908790610e32565b90611641565b8290610e74565b90506113566115dd601654611604600e548761164190919063ffffffff16565b90610e32565b61161381611686565b1561163857600061162330610680565b905061162e816116b3565b61163661184f565b505b50565b60045490565b600082611650575060006104a3565b600061165c83856120b5565b9050826116698583612095565b1461060f5760405162461bcd60e51b81526004016104ef90611e89565b60155460009060ff161580156104a35750506009546201000090046001600160a01b039081169116141590565b6015805460ff19166001179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061170357634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152600a54604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561175757600080fd5b505afa15801561176b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061178f9190611b6b565b816001815181106117b057634e487b7160e01b600052603260045260246000fd5b6001600160a01b039283166020918202929092010152600a546117d69130911684610ee9565b600a5460405163791ac94760e01b81526001600160a01b039091169063791ac9479061180f908590600090869030904290600401611fff565b600060405180830381600087803b15801561182957600080fd5b505af115801561183d573d6000803e3d6000fd5b50506015805460ff1916905550505050565b6013544790811161186057506118c9565b600061187760135483610ea390919063ffffffff16565b905060006118836118cb565b90506001811015611896575050506118c9565b6118a082826118f6565b6118c16118bc82611604600e548661164190919063ffffffff16565b6119d3565b505047601355505b565b6000806118d96115dd61163b565b90506118f0600e5482610e7490919063ffffffff16565b91505090565b60015b60015481101561119c5760006001828154811061192657634e487b7160e01b600052603260045260246000fd5b9060005260206000200154905060006002838154811061195657634e487b7160e01b600052603260045260246000fd5b60009182526020822001546001600160a01b0316915061197a856116048886611641565b905060018111156119bd576040516001600160a01b0383169082156108fc029083906000818181858888f193505050501580156119bb573d6000803e3d6000fd5b505b50505080806119cb90612126565b9150506118f9565b600d60009054906101000a90046001600160a01b03166001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b158015611a2357600080fd5b505af1158015611a37573d6000803e3d6000fd5b5050600d546040516370a0823160e01b8152600094506001600160a01b0390911692506370a082319150611a6f903090600401611cc2565b60206040518083038186803b158015611a8757600080fd5b505afa158015611a9b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611abf9190611c5c565b600d5460095460405163a9059cbb60e01b81529293506001600160a01b039182169263a9059cbb92611afd9262010000900416908590600401611cd6565b602060405180830381600087803b158015611b1757600080fd5b505af1158015611b2b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061119c9190611c3c565b600060208284031215611b60578081fd5b813561060f81612157565b600060208284031215611b7c578081fd5b815161060f81612157565b60008060408385031215611b99578081fd5b8235611ba481612157565b946020939093013593505050565b60008060408385031215611bc4578182fd5b8235611bcf81612157565b91506020830135611bdf81612157565b809150509250929050565b600080600060608486031215611bfe578081fd5b8335611c0981612157565b92506020840135611c1981612157565b929592945050506040919091013590565b60008060408385031215611b99578182fd5b600060208284031215611c4d578081fd5b8151801515811461060f578182fd5b600060208284031215611c6d578081fd5b5051919050565b600080600060608486031215611c88578283fd5b8351925060208401519150604084015190509250925092565b600060208284031215611cb2578081fd5b813560ff8116811461060f578182fd5b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b039687168152602081019590955260408501939093526060840191909152909216608082015260a081019190915260c00190565b901515815260200190565b6000602080835283518082850152825b81811015611d7b57858101830151858201604001528201611d5f565b81811115611d8c5783604083870101525b50601f01601f1916929092016040019392505050565b60208082526018908201527f4c697175696469747920616c72656164792061646465642e0000000000000000604082015260600190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604082015261737360f01b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526018908201527f43616e277420626c61636b6c69737420636f6e74726163740000000000000000604082015260600190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526017908201527f43616e277420626c61636b6c69737420556e6973776170000000000000000000604082015260600190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646040820152637265737360e01b606082015260800190565b6020808252601c908201527f4d757374207472616e736665722067726561746572207468616e203000000000604082015260600190565b90815260200190565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b8181101561204e5784516001600160a01b031683529383019391830191600101612029565b50506001600160a01b03969096166060850152505050608001529392505050565b60ff91909116815260200190565b6000821982111561209057612090612141565b500190565b6000826120b057634e487b7160e01b81526012600452602481fd5b500490565b60008160001904831182151516156120cf576120cf612141565b500290565b6000828210156120e6576120e6612141565b500390565b6002810460018216806120ff57607f821691505b6020821081141561212057634e487b7160e01b600052602260045260246000fd5b50919050565b600060001982141561213a5761213a612141565b5060010190565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b038116811461163857600080fdfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220a09eecab492e135a2558d0990e5b988df30a3aa8b18ddafb7c68c633ceb71c3e64736f6c63430008000033
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.