ERC-20
Overview
Max Total Supply
28,061,971 ECOCK
Holders
32
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
157,658.766088606362181175 ECOCKValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
ElonCock
Compiler Version
v0.8.19+commit.7dd6d404
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-04-01 */ // SPDX-License-Identifier: MIT pragma solidity ^0.8.19; /*/////////////////////////////////////////////// ⠀⠀⠀⠀⠀⢀⣴⡾⠿⠿⠿⠿⢶⣦⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⢠⣿⠁⠀⠀⠀⣀⣀⣀⣈⣻⣷⡄⠀⠀⠀⠀⠀⠀⠀⠀https://t.me/ElonCock ⠀⠀⠀⠀⣾⡇⠀⠀⣾⣟⠛⠋⠉⠉⠙⠛⢷⣄⠀⠀⠀⠀⠀⠀ https://eloncock.lol ⢀⣤⣴⣶⣿⠀⠀⢸⣿⣿⣧⠀⠀⠀⠀⢀⣀⢹⡆⠀⠀⠀⠀⠀⠀ ⢸⡏⠀⢸⣿⠀⠀⠀⢿⣿⣿⣷⣶⣶⣿⣿⣿⣿⠃⠀⠀⠀⠀⠀⠀ ⣼⡇⠀⢸⣿⠀⠀⠀⠈⠻⠿⣿⣿⠿⠿⠛⢻⡇⠀⠀⠀⠀⠀⠀⠀ ⣿⡇⠀⢸⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣤⣼⣷⣶⣶⣶⣤⡀⠀⠀ ⣿⡇⠀⢸⣿⠀⠀⠀⠀⠀⠀⣀⣴⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⡀ ⢻⡇⠀⢸⣿⠀⠀⠀⠀⢀⣾⣿⣿⣿⣿⣿⣿⣿⡿⠿⣿⣿⣿⣿⡇ ⠈⠻⠷⠾⣿⠀⠀⠀⠀⣾⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⢸⣿⣿⣿⣇ ⠀⠀⠀⠀⣿⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⠃⠀⢸⣿⣿⣿⡿ ⠀⠀⠀⠀⢿⣧⣀⣠⣴⡿⠙⠛⠿⠿⠿⠿⠉⠀⠀⢠⣿⣿⣿⣿⠇ ⠀⠀⠀⠀⠀⢈⣩⣭⣥⣤⣤⣤⣤⣤⣤⣤⣤⣤⣶⣿⣿⣿⣿⠏⠀ ⠀⠀⠀⠀⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠋⠀⠀ ⠀⠀⠀⢸⣿⣿⣿⡟⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠋⠁⠀⠀⠀⠀ ⠀⠀⠀⢸⣿⣿⣿⣷⣄⣀⣀⣀⣀⣀⣀⣀⣀⣀⡀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣦⡀⠀⠀⠀ ⠀⠀⠀⠀⠀⠈⠛⠿⠿⣿⣿⣿⣿⣿⠿⠿⢿⣿⣿⣿⣿⣿⡄⠀⠀ ⠀⠀⠀⠀⠀⠀⢀⣀⣀⣀⡀⠀⠀⠀⠀⠀⠀⢀⣹⣿⣿⣿⡇⠀⠀ ⠀⠀⠀⠀⠀⢰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠁⠀⠀ ⠀⠀⠀⠀⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠛⠁⠀⠀⠀ ⠀⠀⠀⠀⣿⣿⣿⣿⠁⠀⠀⠀⠀⠀⠉⠉⠁⢤⣤⣤⣤⣤⣤⣤⡀ ⠀⠀⠀⠀⢿⣿⣿⣿⣷⣶⣶⣶⣶⣾⣿⣿⣿⣆⢻⣿⣿⣿⣿⣿⡇ ⠀⠀⠀⠀⠈⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⠻⣿⣿⣿⡿⠁ ⠀⠀⠀⠀⠀⠀⠈⠙⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠉⠀⠙⠛⠉⠀⠀ *///////////////////// NO TAX /////////////////// 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); } 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 Mint(address indexed sender, uint amount0, uint amount1); 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 mint(address to) external returns (uint liquidity); 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 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 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; } abstract contract Context { function _msgSender() internal view virtual returns (address payable) { return payable(msg.sender); } function _msgData() internal view virtual returns (bytes memory) { this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 return msg.data; } } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { unchecked { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); unchecked { uint256 c = a - b; return c; } } function sub(uint256 a, uint256 b) internal pure returns (uint256) { require(a <= a, "Safemath: underflow"); unchecked { return a - b; } } function mul(uint256 a, uint256 b) internal pure returns (uint256) { // Gas optimization: this is cheaper than requiring 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522 if (a == 0) { return 0; } unchecked { uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); unchecked { uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } } function mod(uint256 a, uint256 b) internal pure returns (uint256) { return mod(a, b, "SafeMath: modulo by zero"); } function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } } contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor() { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } /** * @dev Returns the address of the current owner. */ function owner() public view returns (address) { return _owner; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions anymore. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby removing any functionality that is only available to the owner. */ function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } contract ElonCock is Context, IERC20, Ownable { using SafeMath for uint256; IUniswapV2Router02 public uniswapV2Router; address public uniswapV2Pair; string private constant _name = "ElonCock"; string private constant _symbol = "ECOCK"; uint8 private constant _decimals = 18; // ELON DATE OF BIRTH IS 28.06.1971 uint256 private _tTotal = 28061971 * 10**18; mapping (address => uint256) private _tOwned; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) public _isExcludedFromMaxWallet; uint256 public _maxWallet = 1125000 * 10**18; constructor() { uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH()); _tOwned[_msgSender()] = _tTotal; emit Transfer(address(0), _msgSender(), _tTotal); _isExcludedFromMaxWallet[msg.sender] = true; _isExcludedFromMaxWallet[address(uniswapV2Router)] = true; _isExcludedFromMaxWallet[uniswapV2Pair] = true; _isExcludedFromMaxWallet[address(0)] = true; _isExcludedFromMaxWallet[address(0xdead)] = true; } 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 _transferSimple(address from, address to, uint256 amount) private { _tOwned[from] = _tOwned[from].sub(amount); _tOwned[to] = _tOwned[to].add(amount); emit Transfer(from, to, amount); } 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 _approve(address owner, address spender, uint256 amount) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()] - amount); return true; } function _transfer(address from, address to, uint256 amount ) private { if (_isExcludedFromMaxWallet[from]) { _transferSimple(from, to, amount); return; } require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); if (!_isExcludedFromMaxWallet[to] && !_isExcludedFromMaxWallet[from]) { require(balanceOf(to) + amount <= _maxWallet, "Transfer amount exceeds the _maxWallet"); } _tOwned[from] = _tOwned[from].sub(amount, "Insufficient balance"); _tOwned[to] = _tOwned[to].add(amount); emit Transfer(from, to, amount); } function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender] - subtractedValue); return true; } receive() external payable {} }
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":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedFromMaxWallet","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWallet","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":"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":"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":[{"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
60806040526a17365a7f01cd8f906c000060035569ee3a5f48a68b5520000060075534801561002d57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600180546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa1580156100d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100f7919061032f565b6001600160a01b031663c9c6539630600160009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610159573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061017d919061032f565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156101ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101ee919061032f565b600280546001600160a01b0319166001600160a01b03929092169190911790556003546004600061021c3390565b6001600160a01b03168152602081019190915260400160002055336001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60035460405161027e91815260200190565b60405180910390a3336000908152600660205260408082208054600160ff19918216811790925581546001600160a01b039081168552838520805483168417905560025416845291832080548316821790557f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f8805483168217905561dead9092527f1aecba4ebe7a4e0673e4891b2b092b2228e4322380b579fb494fad3da8586e228054909116909117905561035f565b60006020828403121561034157600080fd5b81516001600160a01b038116811461035857600080fd5b9392505050565b610cc18061036e6000396000f3fe60806040526004361061010d5760003560e01c8063715018a611610095578063a457c2d711610064578063a457c2d71461030e578063a9059cbb1461032e578063d1d7d7ef1461034e578063dd62ed3e1461037e578063f2fde38b146103c457600080fd5b8063715018a61461029557806382247ec0146102ac5780638da5cb5b146102c257806395d89b41146102e057600080fd5b806323b872dd116100dc57806323b872dd146101e3578063313ce56714610203578063395093511461021f57806349bd5a5e1461023f57806370a082311461025f57600080fd5b806306fdde0314610119578063095ea7b31461015c5780631694505e1461018c57806318160ddd146101c457600080fd5b3661011457005b600080fd5b34801561012557600080fd5b50604080518082019091526008815267456c6f6e436f636b60c01b60208201525b6040516101539190610afc565b60405180910390f35b34801561016857600080fd5b5061017c610177366004610b66565b6103e4565b6040519015158152602001610153565b34801561019857600080fd5b506001546101ac906001600160a01b031681565b6040516001600160a01b039091168152602001610153565b3480156101d057600080fd5b506003545b604051908152602001610153565b3480156101ef57600080fd5b5061017c6101fe366004610b90565b6103fb565b34801561020f57600080fd5b5060405160128152602001610153565b34801561022b57600080fd5b5061017c61023a366004610b66565b61044d565b34801561024b57600080fd5b506002546101ac906001600160a01b031681565b34801561026b57600080fd5b506101d561027a366004610bcc565b6001600160a01b031660009081526004602052604090205490565b3480156102a157600080fd5b506102aa610484565b005b3480156102b857600080fd5b506101d560075481565b3480156102ce57600080fd5b506000546001600160a01b03166101ac565b3480156102ec57600080fd5b5060408051808201909152600581526445434f434b60d81b6020820152610146565b34801561031a57600080fd5b5061017c610329366004610b66565b610501565b34801561033a57600080fd5b5061017c610349366004610b66565b610538565b34801561035a57600080fd5b5061017c610369366004610bcc565b60066020526000908152604090205460ff1681565b34801561038a57600080fd5b506101d5610399366004610be7565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b3480156103d057600080fd5b506102aa6103df366004610bcc565b610545565b60006103f133848461062f565b5060015b92915050565b6000610408848484610754565b6001600160a01b03841660009081526005602090815260408083203380855292529091205461044391869161043e908690610c30565b61062f565b5060019392505050565b3360008181526005602090815260408083206001600160a01b038716845290915281205490916103f191859061043e908690610c43565b6000546001600160a01b031633146104b75760405162461bcd60e51b81526004016104ae90610c56565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b3360008181526005602090815260408083206001600160a01b038716845290915281205490916103f191859061043e908690610c30565b60006103f1338484610754565b6000546001600160a01b0316331461056f5760405162461bcd60e51b81526004016104ae90610c56565b6001600160a01b0381166105d45760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016104ae565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166106915760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104ae565b6001600160a01b0382166106f25760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104ae565b6001600160a01b0383811660008181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b03831660009081526006602052604090205460ff161561078557610780838383610a53565b505050565b6001600160a01b0383166107e95760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104ae565b6001600160a01b03821661084b5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104ae565b600081116108ad5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104ae565b6001600160a01b03821660009081526006602052604090205460ff161580156108ef57506001600160a01b03831660009081526006602052604090205460ff16155b1561097e5760075481610917846001600160a01b031660009081526004602052604090205490565b6109219190610c43565b111561097e5760405162461bcd60e51b815260206004820152602660248201527f5472616e7366657220616d6f756e74206578636565647320746865205f6d617860448201526515d85b1b195d60d21b60648201526084016104ae565b6040805180820182526014815273496e73756666696369656e742062616c616e636560601b6020808301919091526001600160a01b0386166000908152600490915291909120546109d0918390610a74565b6001600160a01b0380851660009081526004602052604080822093909355908416815220546109ff9082610aa0565b6001600160a01b0380841660008181526004602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906107479085815260200190565b6001600160a01b0383166000908152600460205260409020548190036109d0565b60008184841115610a985760405162461bcd60e51b81526004016104ae9190610afc565b505050900390565b600082820183811015610af55760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104ae565b9392505050565b600060208083528351808285015260005b81811015610b2957858101830151858201604001528201610b0d565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610b6157600080fd5b919050565b60008060408385031215610b7957600080fd5b610b8283610b4a565b946020939093013593505050565b600080600060608486031215610ba557600080fd5b610bae84610b4a565b9250610bbc60208501610b4a565b9150604084013590509250925092565b600060208284031215610bde57600080fd5b610af582610b4a565b60008060408385031215610bfa57600080fd5b610c0383610b4a565b9150610c1160208401610b4a565b90509250929050565b634e487b7160e01b600052601160045260246000fd5b818103818111156103f5576103f5610c1a565b808201808211156103f5576103f5610c1a565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260408201526060019056fea2646970667358221220e2ffca223c9dd84cc98ee1ec9c2df9d73fb7b2da6545e45b180156c97c9c283264736f6c63430008130033
Deployed Bytecode
0x60806040526004361061010d5760003560e01c8063715018a611610095578063a457c2d711610064578063a457c2d71461030e578063a9059cbb1461032e578063d1d7d7ef1461034e578063dd62ed3e1461037e578063f2fde38b146103c457600080fd5b8063715018a61461029557806382247ec0146102ac5780638da5cb5b146102c257806395d89b41146102e057600080fd5b806323b872dd116100dc57806323b872dd146101e3578063313ce56714610203578063395093511461021f57806349bd5a5e1461023f57806370a082311461025f57600080fd5b806306fdde0314610119578063095ea7b31461015c5780631694505e1461018c57806318160ddd146101c457600080fd5b3661011457005b600080fd5b34801561012557600080fd5b50604080518082019091526008815267456c6f6e436f636b60c01b60208201525b6040516101539190610afc565b60405180910390f35b34801561016857600080fd5b5061017c610177366004610b66565b6103e4565b6040519015158152602001610153565b34801561019857600080fd5b506001546101ac906001600160a01b031681565b6040516001600160a01b039091168152602001610153565b3480156101d057600080fd5b506003545b604051908152602001610153565b3480156101ef57600080fd5b5061017c6101fe366004610b90565b6103fb565b34801561020f57600080fd5b5060405160128152602001610153565b34801561022b57600080fd5b5061017c61023a366004610b66565b61044d565b34801561024b57600080fd5b506002546101ac906001600160a01b031681565b34801561026b57600080fd5b506101d561027a366004610bcc565b6001600160a01b031660009081526004602052604090205490565b3480156102a157600080fd5b506102aa610484565b005b3480156102b857600080fd5b506101d560075481565b3480156102ce57600080fd5b506000546001600160a01b03166101ac565b3480156102ec57600080fd5b5060408051808201909152600581526445434f434b60d81b6020820152610146565b34801561031a57600080fd5b5061017c610329366004610b66565b610501565b34801561033a57600080fd5b5061017c610349366004610b66565b610538565b34801561035a57600080fd5b5061017c610369366004610bcc565b60066020526000908152604090205460ff1681565b34801561038a57600080fd5b506101d5610399366004610be7565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b3480156103d057600080fd5b506102aa6103df366004610bcc565b610545565b60006103f133848461062f565b5060015b92915050565b6000610408848484610754565b6001600160a01b03841660009081526005602090815260408083203380855292529091205461044391869161043e908690610c30565b61062f565b5060019392505050565b3360008181526005602090815260408083206001600160a01b038716845290915281205490916103f191859061043e908690610c43565b6000546001600160a01b031633146104b75760405162461bcd60e51b81526004016104ae90610c56565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b3360008181526005602090815260408083206001600160a01b038716845290915281205490916103f191859061043e908690610c30565b60006103f1338484610754565b6000546001600160a01b0316331461056f5760405162461bcd60e51b81526004016104ae90610c56565b6001600160a01b0381166105d45760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016104ae565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166106915760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104ae565b6001600160a01b0382166106f25760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104ae565b6001600160a01b0383811660008181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b03831660009081526006602052604090205460ff161561078557610780838383610a53565b505050565b6001600160a01b0383166107e95760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104ae565b6001600160a01b03821661084b5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104ae565b600081116108ad5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104ae565b6001600160a01b03821660009081526006602052604090205460ff161580156108ef57506001600160a01b03831660009081526006602052604090205460ff16155b1561097e5760075481610917846001600160a01b031660009081526004602052604090205490565b6109219190610c43565b111561097e5760405162461bcd60e51b815260206004820152602660248201527f5472616e7366657220616d6f756e74206578636565647320746865205f6d617860448201526515d85b1b195d60d21b60648201526084016104ae565b6040805180820182526014815273496e73756666696369656e742062616c616e636560601b6020808301919091526001600160a01b0386166000908152600490915291909120546109d0918390610a74565b6001600160a01b0380851660009081526004602052604080822093909355908416815220546109ff9082610aa0565b6001600160a01b0380841660008181526004602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906107479085815260200190565b6001600160a01b0383166000908152600460205260409020548190036109d0565b60008184841115610a985760405162461bcd60e51b81526004016104ae9190610afc565b505050900390565b600082820183811015610af55760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104ae565b9392505050565b600060208083528351808285015260005b81811015610b2957858101830151858201604001528201610b0d565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610b6157600080fd5b919050565b60008060408385031215610b7957600080fd5b610b8283610b4a565b946020939093013593505050565b600080600060608486031215610ba557600080fd5b610bae84610b4a565b9250610bbc60208501610b4a565b9150604084013590509250925092565b600060208284031215610bde57600080fd5b610af582610b4a565b60008060408385031215610bfa57600080fd5b610c0383610b4a565b9150610c1160208401610b4a565b90509250929050565b634e487b7160e01b600052601160045260246000fd5b818103818111156103f5576103f5610c1a565b808201808211156103f5576103f5610c1a565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260408201526060019056fea2646970667358221220e2ffca223c9dd84cc98ee1ec9c2df9d73fb7b2da6545e45b180156c97c9c283264736f6c63430008130033
Deployed Bytecode Sourcemap
15059:4470:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16361:83;;;;;;;;;;-1:-1:-1;16431:5:0;;;;;;;;;;;;-1:-1:-1;;;16431:5:0;;;;16361:83;;;;;;;:::i;:::-;;;;;;;;17433:161;;;;;;;;;;-1:-1:-1;17433:161:0;;;;;:::i;:::-;;:::i;:::-;;;1169:14:1;;1162:22;1144:41;;1132:2;1117:18;17433:161:0;1004:187:1;15147:41:0;;;;;;;;;;-1:-1:-1;15147:41:0;;;;-1:-1:-1;;;;;15147:41:0;;;;;;-1:-1:-1;;;;;1386:32:1;;;1368:51;;1356:2;1341:18;15147:41:0;1196:229:1;16638:95:0;;;;;;;;;;-1:-1:-1;16718:7:0;;16638:95;;;1576:25:1;;;1564:2;1549:18;16638:95:0;1430:177:1;17951:266:0;;;;;;;;;;-1:-1:-1;17951:266:0;;;;;:::i;:::-;;:::i;16547:83::-;;;;;;;;;;-1:-1:-1;16547:83:0;;15364:2;2087:36:1;;2075:2;2060:18;16547:83:0;1945:184:1;19041:215:0;;;;;;;;;;-1:-1:-1;19041:215:0;;;;;:::i;:::-;;:::i;15195:28::-;;;;;;;;;;-1:-1:-1;15195:28:0;;;;-1:-1:-1;;;;;15195:28:0;;;16741:117;;;;;;;;;;-1:-1:-1;16741:117:0;;;;;:::i;:::-;-1:-1:-1;;;;;16834:16:0;16807:7;16834:16;;;:7;:16;;;;;;;16741:117;14505:148;;;;;;;;;;;;;:::i;:::-;;15661:44;;;;;;;;;;;;;;;;13862:79;;;;;;;;;;-1:-1:-1;13900:7:0;13927:6;-1:-1:-1;;;;;13927:6:0;13862:79;;16452:87;;;;;;;;;;-1:-1:-1;16524:7:0;;;;;;;;;;;;-1:-1:-1;;;16524:7:0;;;;16452:87;;19264:225;;;;;;;;;;-1:-1:-1;19264:225:0;;;;;:::i;:::-;;:::i;16866:167::-;;;;;;;;;;-1:-1:-1;16866:167:0;;;;;:::i;:::-;;:::i;15595:57::-;;;;;;;;;;-1:-1:-1;15595:57:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;17282:143;;;;;;;;;;-1:-1:-1;17282:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;17390:18:0;;;17363:7;17390:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;17282:143;14808:244;;;;;;;;;;-1:-1:-1;14808:244:0;;;;;:::i;:::-;;:::i;17433:161::-;17508:4;17525:39;11114:10;17548:7;17557:6;17525:8;:39::i;:::-;-1:-1:-1;17582:4:0;17433:161;;;;;:::o;17951:266::-;18049:4;18066:36;18076:6;18084:9;18095:6;18066:9;:36::i;:::-;-1:-1:-1;;;;;18144:19:0;;;;;;:11;:19;;;;;;;;11114:10;18144:33;;;;;;;;;18113:74;;18122:6;;18144:42;;18180:6;;18144:42;:::i;:::-;18113:8;:74::i;:::-;-1:-1:-1;18205:4:0;17951:266;;;;;:::o;19041:215::-;11114:10;19129:4;19178:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;19178:34:0;;;;;;;;;;19129:4;;19146:80;;19169:7;;19178:47;;19215:10;;19178:47;:::i;14505:148::-;14074:6;;-1:-1:-1;;;;;14074:6:0;11114:10;14074:22;14066:67;;;;-1:-1:-1;;;14066:67:0;;;;;;;:::i;:::-;;;;;;;;;14612:1:::1;14596:6:::0;;14575:40:::1;::::0;-1:-1:-1;;;;;14596:6:0;;::::1;::::0;14575:40:::1;::::0;14612:1;;14575:40:::1;14643:1;14626:19:::0;;-1:-1:-1;;;;;;14626:19:0::1;::::0;;14505:148::o;19264:225::-;11114:10;19357:4;19406:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;19406:34:0;;;;;;;;;;19357:4;;19374:85;;19397:7;;19406:52;;19443:15;;19406:52;:::i;16866:167::-;16944:4;16961:42;11114:10;16985:9;16996:6;16961:9;:42::i;14808:244::-;14074:6;;-1:-1:-1;;;;;14074:6:0;11114:10;14074:22;14066:67;;;;-1:-1:-1;;;14066:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;14897:22:0;::::1;14889:73;;;::::0;-1:-1:-1;;;14889:73:0;;3756:2:1;14889:73:0::1;::::0;::::1;3738:21:1::0;3795:2;3775:18;;;3768:30;3834:34;3814:18;;;3807:62;-1:-1:-1;;;3885:18:1;;;3878:36;3931:19;;14889:73:0::1;3554:402:1::0;14889:73:0::1;14999:6;::::0;;14978:38:::1;::::0;-1:-1:-1;;;;;14978:38:0;;::::1;::::0;14999:6;::::1;::::0;14978:38:::1;::::0;::::1;15027:6;:17:::0;;-1:-1:-1;;;;;;15027:17:0::1;-1:-1:-1::0;;;;;15027:17:0;;;::::1;::::0;;;::::1;::::0;;14808:244::o;17606:337::-;-1:-1:-1;;;;;17699:19:0;;17691:68;;;;-1:-1:-1;;;17691:68:0;;4163:2:1;17691:68:0;;;4145:21:1;4202:2;4182:18;;;4175:30;4241:34;4221:18;;;4214:62;-1:-1:-1;;;4292:18:1;;;4285:34;4336:19;;17691:68:0;3961:400:1;17691:68:0;-1:-1:-1;;;;;17778:21:0;;17770:68;;;;-1:-1:-1;;;17770:68:0;;4568:2:1;17770:68:0;;;4550:21:1;4607:2;4587:18;;;4580:30;4646:34;4626:18;;;4619:62;-1:-1:-1;;;4697:18:1;;;4690:32;4739:19;;17770:68:0;4366:398:1;17770:68:0;-1:-1:-1;;;;;17851:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;17903:32;;1576:25:1;;;17903:32:0;;1549:18:1;17903:32:0;;;;;;;;17606:337;;;:::o;18225:808::-;-1:-1:-1;;;;;18310:30:0;;;;;;:24;:30;;;;;;;;18306:117;;;18357:33;18373:4;18379:2;18383:6;18357:15;:33::i;:::-;18225:808;;;:::o;18306:117::-;-1:-1:-1;;;;;18443:18:0;;18435:68;;;;-1:-1:-1;;;18435:68:0;;4971:2:1;18435:68:0;;;4953:21:1;5010:2;4990:18;;;4983:30;5049:34;5029:18;;;5022:62;-1:-1:-1;;;5100:18:1;;;5093:35;5145:19;;18435:68:0;4769:401:1;18435:68:0;-1:-1:-1;;;;;18522:16:0;;18514:64;;;;-1:-1:-1;;;18514:64:0;;5377:2:1;18514:64:0;;;5359:21:1;5416:2;5396:18;;;5389:30;5455:34;5435:18;;;5428:62;-1:-1:-1;;;5506:18:1;;;5499:33;5549:19;;18514:64:0;5175:399:1;18514:64:0;18606:1;18597:6;:10;18589:64;;;;-1:-1:-1;;;18589:64:0;;5781:2:1;18589:64:0;;;5763:21:1;5820:2;5800:18;;;5793:30;5859:34;5839:18;;;5832:62;-1:-1:-1;;;5910:18:1;;;5903:39;5959:19;;18589:64:0;5579:405:1;18589:64:0;-1:-1:-1;;;;;18671:28:0;;;;;;:24;:28;;;;;;;;18670:29;:64;;;;-1:-1:-1;;;;;;18704:30:0;;;;;;:24;:30;;;;;;;;18703:31;18670:64;18666:184;;;18785:10;;18775:6;18759:13;18769:2;-1:-1:-1;;;;;16834:16:0;16807:7;16834:16;;;:7;:16;;;;;;;16741:117;18759:13;:22;;;;:::i;:::-;:36;;18751:87;;;;-1:-1:-1;;;18751:87:0;;6191:2:1;18751:87:0;;;6173:21:1;6230:2;6210:18;;;6203:30;6269:34;6249:18;;;6242:62;-1:-1:-1;;;6320:18:1;;;6313:36;6366:19;;18751:87:0;5989:402:1;18751:87:0;18886:49;;;;;;;;;;;-1:-1:-1;;;18886:49:0;;;;;;;;-1:-1:-1;;;;;18886:13:0;;-1:-1:-1;18886:13:0;;;:7;:13;;;;;;;;:49;;18904:6;;18886:17;:49::i;:::-;-1:-1:-1;;;;;18870:13:0;;;;;;;:7;:13;;;;;;:65;;;;18960:11;;;;;;;:23;;18976:6;18960:15;:23::i;:::-;-1:-1:-1;;;;;18946:11:0;;;;;;;:7;:11;;;;;;;:37;;;;18999:26;;;;;;;;;;19018:6;1576:25:1;;1564:2;1549:18;;1430:177;17041:233:0;-1:-1:-1;;;;;17151:13:0;;;;;;:7;:13;;;;;;12035:5;;;17151:25;11876:183;11638:230;11724:7;11760:12;11752:6;;;;11744:29;;;;-1:-1:-1;;;11744:29:0;;;;;;;;:::i;:::-;-1:-1:-1;;;11821:5:0;;;11638:230::o;11405:225::-;11463:7;11520:5;;;11548:6;;;;11540:46;;;;-1:-1:-1;;;11540:46:0;;6598:2:1;11540:46:0;;;6580:21:1;6637:2;6617:18;;;6610:30;6676:29;6656:18;;;6649:57;6723:18;;11540:46:0;6396:351:1;11540:46:0;11610:1;11405:225;-1:-1:-1;;;11405:225:0:o;14:548: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;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:173::-;635:20;;-1:-1:-1;;;;;684:31:1;;674:42;;664:70;;730:1;727;720:12;664:70;567:173;;;:::o;745:254::-;813:6;821;874:2;862:9;853:7;849:23;845:32;842:52;;;890:1;887;880:12;842:52;913:29;932:9;913:29;:::i;:::-;903:39;989:2;974:18;;;;961:32;;-1:-1:-1;;;745:254:1:o;1612:328::-;1689:6;1697;1705;1758:2;1746:9;1737:7;1733:23;1729:32;1726:52;;;1774:1;1771;1764:12;1726:52;1797:29;1816:9;1797:29;:::i;:::-;1787:39;;1845:38;1879:2;1868:9;1864:18;1845:38;:::i;:::-;1835:48;;1930:2;1919:9;1915:18;1902:32;1892:42;;1612:328;;;;;:::o;2342:186::-;2401:6;2454:2;2442:9;2433:7;2429:23;2425:32;2422:52;;;2470:1;2467;2460:12;2422:52;2493:29;2512:9;2493:29;:::i;2533:260::-;2601:6;2609;2662:2;2650:9;2641:7;2637:23;2633:32;2630:52;;;2678:1;2675;2668:12;2630:52;2701:29;2720:9;2701:29;:::i;:::-;2691:39;;2749:38;2783:2;2772:9;2768:18;2749:38;:::i;:::-;2739:48;;2533:260;;;;;:::o;2798:127::-;2859:10;2854:3;2850:20;2847:1;2840:31;2890:4;2887:1;2880:15;2914:4;2911:1;2904:15;2930:128;2997:9;;;3018:11;;;3015:37;;;3032:18;;:::i;3063:125::-;3128:9;;;3149:10;;;3146:36;;;3162:18;;:::i;3193:356::-;3395:2;3377:21;;;3414:18;;;3407:30;3473:34;3468:2;3453:18;;3446:62;3540:2;3525:18;;3193:356::o
Swarm Source
ipfs://e2ffca223c9dd84cc98ee1ec9c2df9d73fb7b2da6545e45b180156c97c9c2832
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.