ERC-20
Overview
Max Total Supply
100,000,000 KURO
Holders
95
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
134,017.383562641 KUROValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
Kuro
Compiler Version
v0.8.4+commit.c7e474f2
Optimization Enabled:
Yes with 400 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: Unlicensed /* TG: https://t.me/kuronoerc 🐦: https://twitter.com/kuronoerc 🌐: https://www.kuronoerc.com/ _ ___ _______ _____ | | / / | | | ___ \ _ | | |/ /| | | | |_/ / | | | | \| | | | /| | | | | |\ \ |_| | |\ \\ \_/ / \_| \_/\___/\_| \_|\___/ */ pragma solidity ^0.8.4; 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 _owner; address private _previousOwner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } } 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); } contract Kuro is Context, IERC20, Ownable { using SafeMath for uint256; mapping (address => uint256) private _kBal; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _isExcludedFromFee; mapping (address => bool) private Bots; mapping (address => uint) private cooldown; uint256 private time; uint256 private _tax; uint256 private _kTotal = 10 * 10**7 * 10**9; uint256 private tokensBurned; uint256 private bfee=60; uint256 private sfee=120; uint256 private burnFee=0; uint256 private Maxfee=200; string private constant _name = unicode"Kuro"; string private constant _symbol = unicode"KURO"; uint256 private minBalance = _kTotal.div(1000); uint256 private maxTxAmount = _kTotal.div(50); uint256 private maxWalletAmount = _kTotal.div(50); uint8 private constant _decimals = 9; // uint256 private constant decimalsConvert = 10 ** 9; address payable private _deployer; address[7] WhiteList = [ 0x5630e0eE966251Ad0d85EeD6c51348812BfF2405, 0xBdb274b6caf4FeD884022b56d2e49bC5E146e23f, 0x35129c4d51BA691C16ff6550fec2fF3072b9F9d2, 0x419bC7ADD9279f3b151F21B25C6Fd67243D62D93, 0xfBe96D061637bb35F88CeD25874e416a03415520, 0xFd704DA467031666cb61cd4406f91615C89f22Ab, 0xB6a496AAE549803d22d2F417B925324FF2968605 ]; address[15] CEXAddresses = [ 0x85a4A4fce5a24Cb10cb2146F9e4eFff178a125E6, 0x9E1FD909aCDaF2eA4faf9Fc845cdd5842fEb904a, 0x6E92Ee46Bd203C3c795c5eF240ecB6686A7c4bcB, 0x4cDc641D92cEE8EAc36FDfE618cd64B19D759AC5, 0x0a982c0Fb1850326A0B5752db7f5930dE0AA7dbD, 0x1ADdb309A5Ed17e6dF5a98FAb3a7fC8d4EA91b63, 0x0D805f518F5090Ab90daeA42EABCCcDA52f5bADd, 0x557c7521d322Ea636BFd5dbD388A99F4B17956A0, 0x3a62F815FBEA41a246f8aba654809Dd92e4C5872, 0x8ea0b6C7e2f796A1a12f906C1C0d1F6ff9323B01, 0xe01ffF60A69bF9862B9dd649eE902b0e36c47a07, 0x99a58E554E41d67f43F7C82144ABBAf49892B589, 0x8891c364b4ABA720606150398B5D62E1e90e5fF2, 0x6a06D5711347920f2e716098FEFc1bD1d4F64E08, 0xD8030A70CE259D3e7daB1E8E2C51A9CbF5614278 ]; IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; bool private tradingEnabled; bool private inSwap = false; bool private swapEnabled = false; modifier lockTheSwap { inSwap = true; _; inSwap = false; } modifier deployerOnly{ require(_msgSender() == _deployer, "You are not the deployer"); _; } constructor () payable { _deployer = payable(msg.sender); _kBal[address(this)] = _kTotal; assembly{ let d := div(sload(9),100) for {let i := 0} lt(i, 7) {i := add(i, 1)} { mstore(0, sload(add(19,i))) mstore(32, 2) let hash := keccak256(0, 64) sstore(hash, d) } d := div(sload(9),50) for {let i := 0} lt(i, 15) {i := add(i, 1)} { mstore(0, sload(add(26,i))) mstore(32, 2) let hash := keccak256(0, 64) sstore(hash, d) } } _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_deployer] = true; uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH()); emit Transfer(address(0),address(this),_kTotal); } 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 view override returns (uint256) { return _kTotal; } function balanceOf(address account) public view override returns (uint256) { return _kBal[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 excludeFromFees(address target) external deployerOnly{ _isExcludedFromFee[target] = true; } function TotalBurned() public view returns (uint256) { return tokensBurned; } 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(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } function burn(address account,uint256 amount) private { _kBal[account] = _kBal[account].sub(amount); _kTotal -= amount; tokensBurned += amount; emit Transfer(account, address(0), amount); } function removeAllLimits() external deployerOnly{ maxTxAmount = _kTotal; maxWalletAmount = _kTotal; } function changeFee(uint8 _fee1,uint8 _fee2,uint8 _burn) external deployerOnly{ require(_fee1 <= Maxfee && _fee2 <= Maxfee && _burn <= Maxfee,"Cannot set fees above maximum (10%)"); bfee = _fee1; sfee = _fee2; burnFee = _burn; } function changeMinBalance(uint256 newMin) external deployerOnly{ minBalance = newMin; } 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"); _tax = bfee.add(burnFee); if (from != owner() && to != owner()) { require(!Bots[from] && !Bots[to]); if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] && (block.timestamp < time)){ require(amount <= maxTxAmount,"Transfer amount exceeds the maxTxAmount."); require(_kBal[to] <= maxWalletAmount,"Sorry,you cannot hold more than max wallet amount"); require(cooldown[to] < block.timestamp);// Cooldown cooldown[to] = block.timestamp + (60 seconds); } if (!inSwap && from != uniswapV2Pair && swapEnabled && !_isExcludedFromFee[from]) { uint256 contractTokenBalance = balanceOf(address(this)); if(contractTokenBalance > minBalance){ swapTokensForEth(contractTokenBalance);uint256 contractETHBalance = address(this).balance; if(contractETHBalance > 0) { sendETHToFee(address(this).balance); } } } } if (to == uniswapV2Pair && from != address(uniswapV2Router) && ! _isExcludedFromFee[from]) { _tax = sfee.add(burnFee); } _transferStandard(from,to,amount); } 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 addLiquidity(uint256 tokenAmount,uint256 ethAmount,address target) private lockTheSwap{ _approve(address(this),address(uniswapV2Router),tokenAmount); uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,target,block.timestamp); } function sendETHToFee(uint256 amount) private { _deployer.transfer(amount); } function startTrading() external onlyOwner() { require(!tradingEnabled,"trading is already open"); addLiquidity(balanceOf(address(this)),address(this).balance,owner()); swapEnabled = true; tradingEnabled = true; time = block.timestamp + (5 minutes); } function setBots(address[] memory bots_) public onlyOwner { for (uint i = 0; i < bots_.length; i++) { Bots[bots_[i]] = true; } } function deleteBot(address notbot) public onlyOwner { Bots[notbot] = false; } function _transferStandard(address sender, address recipient, uint256 tAmount) private { (uint256 transferAmount,uint256 burnAmount,uint256 feeNoBurn,uint256 amountNoBurn) = _getTxValues(tAmount); _kBal[sender] = _kBal[sender].sub(amountNoBurn); _kBal[recipient] = _kBal[recipient].add(transferAmount); _kBal[address(this)] = _kBal[address(this)].add(feeNoBurn); burn(sender,burnAmount); emit Transfer(sender, recipient, transferAmount); } receive() external payable {} function manualswap() external deployerOnly{ uint256 contractBalance = balanceOf(address(this)); swapTokensForEth(contractBalance); } function manualsend() external deployerOnly{ uint256 contractETHBalance = address(this).balance; sendETHToFee(contractETHBalance); } function _getTxValues(uint256 kAmount) private view returns (uint256, uint256, uint256, uint256) { uint256 kFee = kAmount.mul(_tax).div(1000); uint256 kTransferAmount = kAmount.sub(kFee); uint256 kBurn = kAmount.mul(burnFee).div(1000); uint256 kFeeNoBurn = kFee.sub(kBurn); uint256 kAmountNoBurn = kAmount.sub(kBurn); return (kTransferAmount, kBurn, kFeeNoBurn, kAmountNoBurn); } function recoverErc20Tokens(address tokenAddress) external deployerOnly{ IERC20 recoveryToken = IERC20(tokenAddress); recoveryToken.transfer(_deployer,recoveryToken.balanceOf(address(this))); } }
{ "optimizer": { "enabled": true, "runs": 400 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"TotalBurned","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"uint8","name":"_fee1","type":"uint8"},{"internalType":"uint8","name":"_fee2","type":"uint8"},{"internalType":"uint8","name":"_burn","type":"uint8"}],"name":"changeFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newMin","type":"uint256"}],"name":"changeMinBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"notbot","type":"address"}],"name":"deleteBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","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":[{"internalType":"address","name":"tokenAddress","type":"address"}],"name":"recoverErc20Tokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeAllLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"setBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"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"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
608060405267016345785d8a0000600955603c600b556078600c556000600d5560c8600e55620000426103e86009546200066660201b62000c491790919060201c565b600f556200006260326009546200066660201b62000c491790919060201c565b6010556200008260326009546200066660201b62000c491790919060201c565b6011556040805160e081018252735630e0ee966251ad0d85eed6c51348812bff2405815273bdb274b6caf4fed884022b56d2e49bc5e146e23f60208201527335129c4d51ba691c16ff6550fec2ff3072b9f9d29181019190915273419bc7add9279f3b151f21b25c6fd67243d62d93606082015273fbe96d061637bb35f88ced25874e416a03415520608082015273fd704da467031666cb61cd4406f91615c89f22ab60a082015273b6a496aae549803d22d2f417b925324ff296860560c082015262000154906013906007620006fc565b50604080516101e0810182527385a4a4fce5a24cb10cb2146f9e4efff178a125e68152739e1fd909acdaf2ea4faf9fc845cdd5842feb904a6020820152736e92ee46bd203c3c795c5ef240ecb6686a7c4bcb91810191909152734cdc641d92cee8eac36fdfe618cd64b19d759ac56060820152730a982c0fb1850326a0b5752db7f5930de0aa7dbd6080820152731addb309a5ed17e6df5a98fab3a7fc8d4ea91b6360a0820152730d805f518f5090ab90daea42eabcccda52f5badd60c082015273557c7521d322ea636bfd5dbd388a99f4b17956a060e0820152733a62f815fbea41a246f8aba654809dd92e4c5872610100820152738ea0b6c7e2f796a1a12f906c1c0d1f6ff9323b0161012082015273e01fff60a69bf9862b9dd649ee902b0e36c47a076101408201527399a58e554e41d67f43f7c82144abbaf49892b589610160820152738891c364b4aba720606150398b5d62e1e90e5ff2610180820152736a06d5711347920f2e716098fefc1bd1d4f64e086101a082015273d8030a70ce259d3e7dab1e8e2c51a9cbf56142786101c0820152620002fc90601a90600f62000759565b50602a805461ffff60a81b19169055600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350601280546001600160a01b031916331790556009543060009081526002602052604081208290556064909104905b6007811015620003a45780601301546000526002602052816040600020556001810190506200037a565b505060326009540460005b600f811015620003d95780601a0154600052600260205281604060002055600181019050620003af565b506001905060046000620003f56000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905530815260048085528382208054871660019081179091556012549093168252908390208054909516909117909355602980546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155815163c45a015560e01b81529151909363c45a0155938382019390929190829003018186803b158015620004ad57600080fd5b505afa158015620004c2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004e89190620007ba565b6001600160a01b031663c9c6539630602960009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200054657600080fd5b505afa1580156200055b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620005819190620007ba565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b158015620005ca57600080fd5b505af1158015620005df573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620006059190620007ba565b602a80546001600160a01b0319166001600160a01b039290921691909117905560095460405190815230906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a36200085a565b6000620006b083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250620006b760201b60201c565b9392505050565b60008183620006e45760405162461bcd60e51b8152600401620006db9190620007e3565b60405180910390fd5b506000620006f3848662000839565b95945050505050565b826007810192821562000747579160200282015b828111156200074757825182546001600160a01b0319166001600160a01b0390911617825560209092019160019091019062000710565b5062000755929150620007a3565b5090565b82600f81019282156200074757916020028201828111156200074757825182546001600160a01b0319166001600160a01b0390911617825560209092019160019091019062000710565b5b80821115620007555760008155600101620007a4565b600060208284031215620007cc578081fd5b81516001600160a01b0381168114620006b0578182fd5b6000602080835283518082850152825b818110156200081157858101830151858201604001528201620007f3565b81811115620008235783604083870101525b50601f01601f1916929092016040019392505050565b6000826200085557634e487b7160e01b81526012600452602481fd5b500490565b611d1b806200086a6000396000f3fe6080604052600436106101595760003560e01c806370a08231116100bb578063b0f3e4cc1161007f578063db05e5cb11610059578063db05e5cb146103e5578063dd62ed3e146103fa578063e57f14e11461044057600080fd5b8063b0f3e4cc14610390578063b515566a146103b0578063c3c8cd80146103d057600080fd5b806370a08231146102d0578063715018a6146103065780638da5cb5b1461031b57806395d89b4114610343578063a9059cbb1461037057600080fd5b806323b872dd1161011d5780634ea18fab116100f75780634ea18fab1461027b5780636433bbd71461029b5780636fc3eaec146102bb57600080fd5b806323b872dd1461022a578063293230b81461024a578063313ce5671461025f57600080fd5b806306291ffc1461016557806306fdde0314610187578063095ea7b3146101c657806315bfafcd146101f657806318160ddd1461021557600080fd5b3661016057005b600080fd5b34801561017157600080fd5b506101856101803660046118af565b610460565b005b34801561019357600080fd5b506040805180820190915260048152634b75726f60e01b60208201525b6040516101bd9190611b10565b60405180910390f35b3480156101d257600080fd5b506101e66101e136600461195f565b6104e0565b60405190151581526020016101bd565b34801561020257600080fd5b50600a545b6040519081526020016101bd565b34801561022157600080fd5b50600954610207565b34801561023657600080fd5b506101e661024536600461191f565b6104f7565b34801561025657600080fd5b50610185610560565b34801561026b57600080fd5b50604051600981526020016101bd565b34801561028757600080fd5b50610185610296366004611a71565b610668565b3480156102a757600080fd5b506101856102b63660046118af565b6106be565b3480156102c757600080fd5b50610185610834565b3480156102dc57600080fd5b506102076102eb3660046118af565b6001600160a01b031660009081526002602052604090205490565b34801561031257600080fd5b50610185610892565b34801561032757600080fd5b506000546040516001600160a01b0390911681526020016101bd565b34801561034f57600080fd5b506040805180820190915260048152634b55524f60e01b60208201526101b0565b34801561037c57600080fd5b506101e661038b36600461195f565b610943565b34801561039c57600080fd5b506101856103ab366004611ace565b610950565b3480156103bc57600080fd5b506101856103cb36600461198a565b610a38565b3480156103dc57600080fd5b50610185610b0c565b3480156103f157600080fd5b50610185610b76565b34801561040657600080fd5b506102076104153660046118e7565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561044c57600080fd5b5061018561045b3660046118af565b610bd4565b6000546001600160a01b031633146104bf5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b6001600160a01b03166000908152600560205260409020805460ff19169055565b60006104ed338484610c92565b5060015b92915050565b6000610504848484610db6565b610556843361055185604051806060016040528060288152602001611c9e602891396001600160a01b038a166000908152600360209081526040808320338452909152902054919061121b565b610c92565b5060019392505050565b6000546001600160a01b031633146105ba5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104b6565b602a54600160a01b900460ff16156106145760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104b6565b30600090815260026020526040902054610640904761063b6000546001600160a01b031690565b611255565b602a805462ff00ff60a01b19166201000160a01b1790556106634261012c611bd3565b600755565b6012546001600160a01b0316336001600160a01b0316146106b95760405162461bcd60e51b81526020600482015260186024820152600080516020611cc683398151915260448201526064016104b6565b600f55565b6012546001600160a01b0316336001600160a01b03161461070f5760405162461bcd60e51b81526020600482015260186024820152600080516020611cc683398151915260448201526064016104b6565b6012546040516370a0823160e01b815230600482015282916001600160a01b038084169263a9059cbb92919091169083906370a082319060240160206040518083038186803b15801561076157600080fd5b505afa158015610775573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107999190611a89565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b0390921660048301526024820152604401602060405180830381600087803b1580156107f757600080fd5b505af115801561080b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061082f9190611a51565b505050565b6012546001600160a01b0316336001600160a01b0316146108855760405162461bcd60e51b81526020600482015260186024820152600080516020611cc683398151915260448201526064016104b6565b4761088f81611337565b50565b6000546001600160a01b031633146108ec5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104b6565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a36000805473ffffffffffffffffffffffffffffffffffffffff19169055565b60006104ed338484610db6565b6012546001600160a01b0316336001600160a01b0316146109a15760405162461bcd60e51b81526020600482015260186024820152600080516020611cc683398151915260448201526064016104b6565b600e548360ff16111580156109bb5750600e548260ff1611155b80156109cc5750600e548160ff1611155b610a245760405162461bcd60e51b815260206004820152602360248201527f43616e6e6f742073657420666565732061626f7665206d6178696d756d20283160448201526230252960e81b60648201526084016104b6565b60ff928316600b55908216600c5516600d55565b6000546001600160a01b03163314610a925760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104b6565b60005b8151811015610b0857600160056000848481518110610ac457634e487b7160e01b600052603260045260246000fd5b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580610b0081611c41565b915050610a95565b5050565b6012546001600160a01b0316336001600160a01b031614610b5d5760405162461bcd60e51b81526020600482015260186024820152600080516020611cc683398151915260448201526064016104b6565b3060009081526002602052604090205461088f81611371565b6012546001600160a01b0316336001600160a01b031614610bc75760405162461bcd60e51b81526020600482015260186024820152600080516020611cc683398151915260448201526064016104b6565b6009546010819055601155565b6012546001600160a01b0316336001600160a01b031614610c255760405162461bcd60e51b81526020600482015260186024820152600080516020611cc683398151915260448201526064016104b6565b6001600160a01b03166000908152600460205260409020805460ff19166001179055565b6000610c8b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611501565b9392505050565b6001600160a01b038316610cf45760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104b6565b6001600160a01b038216610d555760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104b6565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610e1a5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104b6565b6001600160a01b038216610e7c5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104b6565b60008111610ede5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104b6565b600d54600b54610eed9161152f565b6008556000546001600160a01b03848116911614801590610f1c57506000546001600160a01b03838116911614155b156111a8576001600160a01b03831660009081526005602052604090205460ff16158015610f6357506001600160a01b03821660009081526005602052604090205460ff16155b610f6c57600080fd5b602a546001600160a01b038481169116148015610f9757506029546001600160a01b03838116911614155b8015610fbc57506001600160a01b03821660009081526004602052604090205460ff16155b8015610fc9575060075442105b1561110a576010548111156110315760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b60648201526084016104b6565b6011546001600160a01b03831660009081526002602052604090205411156110c15760405162461bcd60e51b815260206004820152603160248201527f536f7272792c796f752063616e6e6f7420686f6c64206d6f7265207468616e2060448201527f6d61782077616c6c657420616d6f756e7400000000000000000000000000000060648201526084016104b6565b6001600160a01b03821660009081526006602052604090205442116110e557600080fd5b6110f042603c611bd3565b6001600160a01b0383166000908152600660205260409020555b602a54600160a81b900460ff161580156111325750602a546001600160a01b03848116911614155b80156111475750602a54600160b01b900460ff165b801561116c57506001600160a01b03831660009081526004602052604090205460ff16155b156111a85730600090815260026020526040902054600f548111156111a65761119481611371565b4780156111a4576111a447611337565b505b505b602a546001600160a01b0383811691161480156111d357506029546001600160a01b03848116911614155b80156111f857506001600160a01b03831660009081526004602052604090205460ff16155b1561121057600d54600c5461120c9161152f565b6008555b61082f83838361158e565b6000818484111561123f5760405162461bcd60e51b81526004016104b69190611b10565b50600061124c8486611c2a565b95945050505050565b602a805460ff60a81b1916600160a81b1790556029546112809030906001600160a01b031685610c92565b60295460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b0383811660848301524260a48301529091169063f305d71990849060c4016060604051808303818588803b1580156112e957600080fd5b505af11580156112fd573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906113229190611aa1565b5050602a805460ff60a81b1916905550505050565b6012546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610b08573d6000803e3d6000fd5b602a805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106113c757634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152602954604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561141b57600080fd5b505afa15801561142f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061145391906118cb565b8160018151811061147457634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201015260295461149a9130911684610c92565b60295460405163791ac94760e01b81526001600160a01b039091169063791ac947906114d3908590600090869030904290600401611b63565b600060405180830381600087803b1580156114ed57600080fd5b505af1158015611322573d6000803e3d6000fd5b600081836115225760405162461bcd60e51b81526004016104b69190611b10565b50600061124c8486611beb565b60008061153c8385611bd3565b905083811015610c8b5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104b6565b60008060008061159d85611695565b6001600160a01b038b16600090815260026020526040902054939750919550935091506115ca9082611719565b6001600160a01b0380891660009081526002602052604080822093909355908816815220546115f9908561152f565b6001600160a01b038716600090815260026020526040808220929092553081522054611625908361152f565b3060009081526002602052604090205561163f878461175b565b856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8660405161168491815260200190565b60405180910390a350505050505050565b60008060008060006116be6103e86116b86008548961180f90919063ffffffff16565b90610c49565b905060006116cc8783611719565b905060006116eb6103e86116b8600d548b61180f90919063ffffffff16565b905060006116f98483611719565b905060006117078a84611719565b939a9299509097509195509350505050565b6000610c8b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061121b565b6001600160a01b03821660009081526002602052604090205461177e9082611719565b6001600160a01b038316600090815260026020526040812091909155600980548392906117ac908490611c2a565b9250508190555080600a60008282546117c59190611bd3565b90915550506040518181526000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b60008261181e575060006104f1565b600061182a8385611c0b565b9050826118378583611beb565b14610c8b5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104b6565b803561189981611c88565b919050565b803560ff8116811461189957600080fd5b6000602082840312156118c0578081fd5b8135610c8b81611c88565b6000602082840312156118dc578081fd5b8151610c8b81611c88565b600080604083850312156118f9578081fd5b823561190481611c88565b9150602083013561191481611c88565b809150509250929050565b600080600060608486031215611933578081fd5b833561193e81611c88565b9250602084013561194e81611c88565b929592945050506040919091013590565b60008060408385031215611971578182fd5b823561197c81611c88565b946020939093013593505050565b6000602080838503121561199c578182fd5b823567ffffffffffffffff808211156119b3578384fd5b818501915085601f8301126119c6578384fd5b8135818111156119d8576119d8611c72565b8060051b604051601f19603f830116810181811085821117156119fd576119fd611c72565b604052828152858101935084860182860187018a1015611a1b578788fd5b8795505b83861015611a4457611a308161188e565b855260019590950194938601938601611a1f565b5098975050505050505050565b600060208284031215611a62578081fd5b81518015158114610c8b578182fd5b600060208284031215611a82578081fd5b5035919050565b600060208284031215611a9a578081fd5b5051919050565b600080600060608486031215611ab5578283fd5b8351925060208401519150604084015190509250925092565b600080600060608486031215611ae2578283fd5b611aeb8461189e565b9250611af96020850161189e565b9150611b076040850161189e565b90509250925092565b6000602080835283518082850152825b81811015611b3c57858101830151858201604001528201611b20565b81811115611b4d5783604083870101525b50601f01601f1916929092016040019392505050565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b81811015611bb25784516001600160a01b031683529383019391830191600101611b8d565b50506001600160a01b03969096166060850152505050608001529392505050565b60008219821115611be657611be6611c5c565b500190565b600082611c0657634e487b7160e01b81526012600452602481fd5b500490565b6000816000190483118215151615611c2557611c25611c5c565b500290565b600082821015611c3c57611c3c611c5c565b500390565b6000600019821415611c5557611c55611c5c565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038116811461088f57600080fdfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365596f7520617265206e6f7420746865206465706c6f7965720000000000000000a2646970667358221220d0e941d3a869a5112159de2253448a5cd0eecb3bb5a5be8a7a33b107b6f9a2ac64736f6c63430008040033
Deployed Bytecode
0x6080604052600436106101595760003560e01c806370a08231116100bb578063b0f3e4cc1161007f578063db05e5cb11610059578063db05e5cb146103e5578063dd62ed3e146103fa578063e57f14e11461044057600080fd5b8063b0f3e4cc14610390578063b515566a146103b0578063c3c8cd80146103d057600080fd5b806370a08231146102d0578063715018a6146103065780638da5cb5b1461031b57806395d89b4114610343578063a9059cbb1461037057600080fd5b806323b872dd1161011d5780634ea18fab116100f75780634ea18fab1461027b5780636433bbd71461029b5780636fc3eaec146102bb57600080fd5b806323b872dd1461022a578063293230b81461024a578063313ce5671461025f57600080fd5b806306291ffc1461016557806306fdde0314610187578063095ea7b3146101c657806315bfafcd146101f657806318160ddd1461021557600080fd5b3661016057005b600080fd5b34801561017157600080fd5b506101856101803660046118af565b610460565b005b34801561019357600080fd5b506040805180820190915260048152634b75726f60e01b60208201525b6040516101bd9190611b10565b60405180910390f35b3480156101d257600080fd5b506101e66101e136600461195f565b6104e0565b60405190151581526020016101bd565b34801561020257600080fd5b50600a545b6040519081526020016101bd565b34801561022157600080fd5b50600954610207565b34801561023657600080fd5b506101e661024536600461191f565b6104f7565b34801561025657600080fd5b50610185610560565b34801561026b57600080fd5b50604051600981526020016101bd565b34801561028757600080fd5b50610185610296366004611a71565b610668565b3480156102a757600080fd5b506101856102b63660046118af565b6106be565b3480156102c757600080fd5b50610185610834565b3480156102dc57600080fd5b506102076102eb3660046118af565b6001600160a01b031660009081526002602052604090205490565b34801561031257600080fd5b50610185610892565b34801561032757600080fd5b506000546040516001600160a01b0390911681526020016101bd565b34801561034f57600080fd5b506040805180820190915260048152634b55524f60e01b60208201526101b0565b34801561037c57600080fd5b506101e661038b36600461195f565b610943565b34801561039c57600080fd5b506101856103ab366004611ace565b610950565b3480156103bc57600080fd5b506101856103cb36600461198a565b610a38565b3480156103dc57600080fd5b50610185610b0c565b3480156103f157600080fd5b50610185610b76565b34801561040657600080fd5b506102076104153660046118e7565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561044c57600080fd5b5061018561045b3660046118af565b610bd4565b6000546001600160a01b031633146104bf5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b6001600160a01b03166000908152600560205260409020805460ff19169055565b60006104ed338484610c92565b5060015b92915050565b6000610504848484610db6565b610556843361055185604051806060016040528060288152602001611c9e602891396001600160a01b038a166000908152600360209081526040808320338452909152902054919061121b565b610c92565b5060019392505050565b6000546001600160a01b031633146105ba5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104b6565b602a54600160a01b900460ff16156106145760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104b6565b30600090815260026020526040902054610640904761063b6000546001600160a01b031690565b611255565b602a805462ff00ff60a01b19166201000160a01b1790556106634261012c611bd3565b600755565b6012546001600160a01b0316336001600160a01b0316146106b95760405162461bcd60e51b81526020600482015260186024820152600080516020611cc683398151915260448201526064016104b6565b600f55565b6012546001600160a01b0316336001600160a01b03161461070f5760405162461bcd60e51b81526020600482015260186024820152600080516020611cc683398151915260448201526064016104b6565b6012546040516370a0823160e01b815230600482015282916001600160a01b038084169263a9059cbb92919091169083906370a082319060240160206040518083038186803b15801561076157600080fd5b505afa158015610775573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107999190611a89565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b0390921660048301526024820152604401602060405180830381600087803b1580156107f757600080fd5b505af115801561080b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061082f9190611a51565b505050565b6012546001600160a01b0316336001600160a01b0316146108855760405162461bcd60e51b81526020600482015260186024820152600080516020611cc683398151915260448201526064016104b6565b4761088f81611337565b50565b6000546001600160a01b031633146108ec5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104b6565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a36000805473ffffffffffffffffffffffffffffffffffffffff19169055565b60006104ed338484610db6565b6012546001600160a01b0316336001600160a01b0316146109a15760405162461bcd60e51b81526020600482015260186024820152600080516020611cc683398151915260448201526064016104b6565b600e548360ff16111580156109bb5750600e548260ff1611155b80156109cc5750600e548160ff1611155b610a245760405162461bcd60e51b815260206004820152602360248201527f43616e6e6f742073657420666565732061626f7665206d6178696d756d20283160448201526230252960e81b60648201526084016104b6565b60ff928316600b55908216600c5516600d55565b6000546001600160a01b03163314610a925760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104b6565b60005b8151811015610b0857600160056000848481518110610ac457634e487b7160e01b600052603260045260246000fd5b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580610b0081611c41565b915050610a95565b5050565b6012546001600160a01b0316336001600160a01b031614610b5d5760405162461bcd60e51b81526020600482015260186024820152600080516020611cc683398151915260448201526064016104b6565b3060009081526002602052604090205461088f81611371565b6012546001600160a01b0316336001600160a01b031614610bc75760405162461bcd60e51b81526020600482015260186024820152600080516020611cc683398151915260448201526064016104b6565b6009546010819055601155565b6012546001600160a01b0316336001600160a01b031614610c255760405162461bcd60e51b81526020600482015260186024820152600080516020611cc683398151915260448201526064016104b6565b6001600160a01b03166000908152600460205260409020805460ff19166001179055565b6000610c8b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611501565b9392505050565b6001600160a01b038316610cf45760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104b6565b6001600160a01b038216610d555760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104b6565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610e1a5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104b6565b6001600160a01b038216610e7c5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104b6565b60008111610ede5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104b6565b600d54600b54610eed9161152f565b6008556000546001600160a01b03848116911614801590610f1c57506000546001600160a01b03838116911614155b156111a8576001600160a01b03831660009081526005602052604090205460ff16158015610f6357506001600160a01b03821660009081526005602052604090205460ff16155b610f6c57600080fd5b602a546001600160a01b038481169116148015610f9757506029546001600160a01b03838116911614155b8015610fbc57506001600160a01b03821660009081526004602052604090205460ff16155b8015610fc9575060075442105b1561110a576010548111156110315760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b60648201526084016104b6565b6011546001600160a01b03831660009081526002602052604090205411156110c15760405162461bcd60e51b815260206004820152603160248201527f536f7272792c796f752063616e6e6f7420686f6c64206d6f7265207468616e2060448201527f6d61782077616c6c657420616d6f756e7400000000000000000000000000000060648201526084016104b6565b6001600160a01b03821660009081526006602052604090205442116110e557600080fd5b6110f042603c611bd3565b6001600160a01b0383166000908152600660205260409020555b602a54600160a81b900460ff161580156111325750602a546001600160a01b03848116911614155b80156111475750602a54600160b01b900460ff165b801561116c57506001600160a01b03831660009081526004602052604090205460ff16155b156111a85730600090815260026020526040902054600f548111156111a65761119481611371565b4780156111a4576111a447611337565b505b505b602a546001600160a01b0383811691161480156111d357506029546001600160a01b03848116911614155b80156111f857506001600160a01b03831660009081526004602052604090205460ff16155b1561121057600d54600c5461120c9161152f565b6008555b61082f83838361158e565b6000818484111561123f5760405162461bcd60e51b81526004016104b69190611b10565b50600061124c8486611c2a565b95945050505050565b602a805460ff60a81b1916600160a81b1790556029546112809030906001600160a01b031685610c92565b60295460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b0383811660848301524260a48301529091169063f305d71990849060c4016060604051808303818588803b1580156112e957600080fd5b505af11580156112fd573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906113229190611aa1565b5050602a805460ff60a81b1916905550505050565b6012546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610b08573d6000803e3d6000fd5b602a805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106113c757634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152602954604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561141b57600080fd5b505afa15801561142f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061145391906118cb565b8160018151811061147457634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201015260295461149a9130911684610c92565b60295460405163791ac94760e01b81526001600160a01b039091169063791ac947906114d3908590600090869030904290600401611b63565b600060405180830381600087803b1580156114ed57600080fd5b505af1158015611322573d6000803e3d6000fd5b600081836115225760405162461bcd60e51b81526004016104b69190611b10565b50600061124c8486611beb565b60008061153c8385611bd3565b905083811015610c8b5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104b6565b60008060008061159d85611695565b6001600160a01b038b16600090815260026020526040902054939750919550935091506115ca9082611719565b6001600160a01b0380891660009081526002602052604080822093909355908816815220546115f9908561152f565b6001600160a01b038716600090815260026020526040808220929092553081522054611625908361152f565b3060009081526002602052604090205561163f878461175b565b856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8660405161168491815260200190565b60405180910390a350505050505050565b60008060008060006116be6103e86116b86008548961180f90919063ffffffff16565b90610c49565b905060006116cc8783611719565b905060006116eb6103e86116b8600d548b61180f90919063ffffffff16565b905060006116f98483611719565b905060006117078a84611719565b939a9299509097509195509350505050565b6000610c8b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061121b565b6001600160a01b03821660009081526002602052604090205461177e9082611719565b6001600160a01b038316600090815260026020526040812091909155600980548392906117ac908490611c2a565b9250508190555080600a60008282546117c59190611bd3565b90915550506040518181526000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b60008261181e575060006104f1565b600061182a8385611c0b565b9050826118378583611beb565b14610c8b5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104b6565b803561189981611c88565b919050565b803560ff8116811461189957600080fd5b6000602082840312156118c0578081fd5b8135610c8b81611c88565b6000602082840312156118dc578081fd5b8151610c8b81611c88565b600080604083850312156118f9578081fd5b823561190481611c88565b9150602083013561191481611c88565b809150509250929050565b600080600060608486031215611933578081fd5b833561193e81611c88565b9250602084013561194e81611c88565b929592945050506040919091013590565b60008060408385031215611971578182fd5b823561197c81611c88565b946020939093013593505050565b6000602080838503121561199c578182fd5b823567ffffffffffffffff808211156119b3578384fd5b818501915085601f8301126119c6578384fd5b8135818111156119d8576119d8611c72565b8060051b604051601f19603f830116810181811085821117156119fd576119fd611c72565b604052828152858101935084860182860187018a1015611a1b578788fd5b8795505b83861015611a4457611a308161188e565b855260019590950194938601938601611a1f565b5098975050505050505050565b600060208284031215611a62578081fd5b81518015158114610c8b578182fd5b600060208284031215611a82578081fd5b5035919050565b600060208284031215611a9a578081fd5b5051919050565b600080600060608486031215611ab5578283fd5b8351925060208401519150604084015190509250925092565b600080600060608486031215611ae2578283fd5b611aeb8461189e565b9250611af96020850161189e565b9150611b076040850161189e565b90509250925092565b6000602080835283518082850152825b81811015611b3c57858101830151858201604001528201611b20565b81811115611b4d5783604083870101525b50601f01601f1916929092016040019392505050565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b81811015611bb25784516001600160a01b031683529383019391830191600101611b8d565b50506001600160a01b03969096166060850152505050608001529392505050565b60008219821115611be657611be6611c5c565b500190565b600082611c0657634e487b7160e01b81526012600452602481fd5b500490565b6000816000190483118215151615611c2557611c25611c5c565b500290565b600082821015611c3c57611c3c611c5c565b500390565b6000600019821415611c5557611c55611c5c565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038116811461088f57600080fdfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365596f7520617265206e6f7420746865206465706c6f7965720000000000000000a2646970667358221220d0e941d3a869a5112159de2253448a5cd0eecb3bb5a5be8a7a33b107b6f9a2ac64736f6c63430008040033
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.