ERC-20
Overview
Max Total Supply
1,000,000,000,000 BC
Holders
7
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
33,547,428,924.943703071482386786 BCValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
Billions
Compiler Version
v0.8.9+commit.e5eed63a
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-11-23 */ pragma solidity ^0.8.9; // SPDX-License-Identifier: MIT interface ERC20 { 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 ERC20Metadata is ERC20 { function name() external view returns (string memory); function symbol() external view returns (string memory); function decimals() external view returns (uint8); } abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } abstract contract Ownable is Context { address private _owner; event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); constructor() { _setOwner(msg.sender); } 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 { _setOwner(address(0)); } function transferOwnership(address newOwner) public virtual onlyOwner { require( newOwner != address(0), "Ownable: new owner is the zero address" ); _setOwner(newOwner); } function _setOwner(address newOwner) private { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } interface IUniswapV2Factory { event PairCreated( address indexed token0, address indexed token1, address pair, uint256 ); function feeTo() external view returns (address); function feeToSetter() external view returns (address); function getPair(address tokenA, address tokenB) external view returns (address pair); function allPairs(uint256) external view returns (address pair); function allPairsLength() external view returns (uint256); function createPair(address tokenA, address tokenB) external returns (address pair); function setFeeTo(address) external; function setFeeToSetter(address) external; } interface IpancakePair { event Approval( address indexed owner, address indexed spender, uint256 value ); event Transfer(address indexed from, address indexed to, uint256 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 (uint256); function balanceOf(address owner) external view returns (uint256); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 value) external returns (bool); function transfer(address to, uint256 value) external returns (bool); function transferFrom( address from, address to, uint256 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 (uint256); function permit( address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s ) external; event Mint(address indexed sender, uint256 amount0, uint256 amount1); event Burn( address indexed sender, uint256 amount0, uint256 amount1, address indexed to ); event Swap( address indexed sender, uint256 amount0In, uint256 amount1In, uint256 amount0Out, uint256 amount1Out, address indexed to ); event Sync(uint112 reserve0, uint112 reserve1); function MINIMUM_LIQUIDITY() external pure returns (uint256); 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 (uint256); function price1CumulativeLast() external view returns (uint256); function kLast() external view returns (uint256); function mint(address to) external returns (uint256 liquidity); function burn(address to) external returns (uint256 amount0, uint256 amount1); function swap( uint256 amount0Out, uint256 amount1Out, address to, bytes calldata data ) external; function skim(address to) external; function sync() external; function initialize(address, address) external; } interface IpancakeRouter01 { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidity( address tokenA, address tokenB, uint256 amountADesired, uint256 amountBDesired, uint256 amountAMin, uint256 amountBMin, address to, uint256 deadline ) external returns ( uint256 amountA, uint256 amountB, uint256 liquidity ); function addLiquidityETH( address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external payable returns ( uint256 amountToken, uint256 amountETH, uint256 liquidity ); function removeLiquidity( address tokenA, address tokenB, uint256 liquidity, uint256 amountAMin, uint256 amountBMin, address to, uint256 deadline ) external returns (uint256 amountA, uint256 amountB); function removeLiquidityETH( address token, uint256 liquidity, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external returns (uint256 amountToken, uint256 amountETH); function removeLiquidityWithPermit( address tokenA, address tokenB, uint256 liquidity, uint256 amountAMin, uint256 amountBMin, address to, uint256 deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint256 amountA, uint256 amountB); function removeLiquidityETHWithPermit( address token, uint256 liquidity, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint256 amountToken, uint256 amountETH); function swapExactTokensForTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external returns (uint256[] memory amounts); function swapTokensForExactTokens( uint256 amountOut, uint256 amountInMax, address[] calldata path, address to, uint256 deadline ) external returns (uint256[] memory amounts); function swapExactETHForTokens( uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external payable returns (uint256[] memory amounts); function swapTokensForExactETH( uint256 amountOut, uint256 amountInMax, address[] calldata path, address to, uint256 deadline ) external returns (uint256[] memory amounts); function swapExactTokensForETH( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external returns (uint256[] memory amounts); function swapETHForExactTokens( uint256 amountOut, address[] calldata path, address to, uint256 deadline ) external payable returns (uint256[] memory amounts); function quote( uint256 amountA, uint256 reserveA, uint256 reserveB ) external pure returns (uint256 amountB); function getAmountOut( uint256 amountIn, uint256 reserveIn, uint256 reserveOut ) external pure returns (uint256 amountOut); function getAmountIn( uint256 amountOut, uint256 reserveIn, uint256 reserveOut ) external pure returns (uint256 amountIn); function getAmountsOut(uint256 amountIn, address[] calldata path) external view returns (uint256[] memory amounts); function getAmountsIn(uint256 amountOut, address[] calldata path) external view returns (uint256[] memory amounts); } interface IpancakeRouter02 is IpancakeRouter01 { function removeLiquidityETHSupportingFeeOnTransferTokens( address token, uint256 liquidity, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external returns (uint256 amountETH); function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens( address token, uint256 liquidity, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint256 amountETH); function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external payable; function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; } // Bep20 standards for token creation by bloctechsolutions.com contract Billions is Context, ERC20, ERC20Metadata, Ownable { using SafeMath for uint256; mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; mapping(address => bool) private _isExcludedFromMaxTx; IpancakeRouter02 public pancakeRouter; address public pancakePair; string private _name; string private _symbol; uint8 private _decimals; uint256 private _totalSupply; bool public _sellingOpen = false; //once switched on, can never be switched off. uint256 public _maxTxAmount; constructor() { _name = "Billionaires Club"; _symbol = "BC"; _decimals = 18; _totalSupply = 1000000000000 * 1e18; _balances[owner()] = _totalSupply; _maxTxAmount = _totalSupply.mul(5).div(100); IpancakeRouter02 _pancakeRouter = IpancakeRouter02( 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D // UniswapV2Router02 ); // Create a uniswap pair for this new token pancakePair = IUniswapV2Factory(_pancakeRouter.factory()).createPair( address(this), _pancakeRouter.WETH() ); // set the rest of the contract variables pancakeRouter = _pancakeRouter; // exclude from max tx _isExcludedFromMaxTx[owner()] = true; _isExcludedFromMaxTx[address(this)] = true; emit Transfer(address(0), owner(), _totalSupply); } function name() public view virtual override returns (string memory) { return _name; } function symbol() public view virtual override returns (string memory) { return _symbol; } function decimals() public view virtual override returns (uint8) { return _decimals; } function totalSupply() public view virtual override returns (uint256) { return _totalSupply; } function balanceOf(address account) public view virtual override returns (uint256) { return _balances[account]; } function transfer(address recipient, uint256 amount) public virtual override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view virtual override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public virtual override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function AntiWhale() external onlyOwner { _sellingOpen = true; } function transferFrom( address sender, address recipient, uint256 amount ) public virtual override returns (bool) { _transfer(sender, recipient, amount); uint256 currentAllowance = _allowances[sender][_msgSender()]; require( currentAllowance >= amount, "WE: transfer amount exceeds allowance" ); unchecked { _approve(sender, _msgSender(), currentAllowance - amount); } return true; } function setExcludeFromMaxTx(address _address, bool value) public onlyOwner { _isExcludedFromMaxTx[_address] = value; } // for 1% input 1 function setMaxTxPercent(uint256 maxTxAmount) public onlyOwner { _maxTxAmount = _totalSupply.mul(maxTxAmount).div(100); } function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve( _msgSender(), spender, _allowances[_msgSender()][spender] + addedValue ); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { uint256 currentAllowance = _allowances[_msgSender()][spender]; require( currentAllowance >= subtractedValue, "WE: decreased allowance below zero" ); unchecked { _approve(_msgSender(), spender, currentAllowance - subtractedValue); } return true; } function _transfer( address sender, address recipient, uint256 amount ) internal virtual { require(sender != address(0), "WE: transfer from the zero address"); require(recipient != address(0), "WE: transfer to the zero address"); require(amount > 0, "WE: Transfer amount must be greater than zero"); if(_isExcludedFromMaxTx[sender] == false && _isExcludedFromMaxTx[recipient] == false // by default false ){ require(amount <= _maxTxAmount,"amount exceed max limit"); if (!_sellingOpen && sender != owner() && recipient != owner()) { require(recipient != pancakePair, " WE:Selling is not enabled"); } } _beforeTokenTransfer(sender, recipient, amount); uint256 senderBalance = _balances[sender]; require( senderBalance >= amount, "WE: transfer amount exceeds balance" ); unchecked { _balances[sender] = senderBalance - amount; } _balances[recipient] += amount; emit Transfer(sender, recipient, amount); _afterTokenTransfer(sender, recipient, amount); } function _approve( address owner, address spender, uint256 amount ) internal virtual { require(owner != address(0), "BEP20: approve from the zero address"); require(spender != address(0), "BEP20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _beforeTokenTransfer( address from, address to, uint256 amount ) internal virtual {} function _afterTokenTransfer( address from, address to, uint256 amount ) internal virtual {} } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { // 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; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; // 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 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":"AntiWhale","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"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":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pancakePair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pancakeRouter","outputs":[{"internalType":"contract IpancakeRouter02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setExcludeFromMaxTx","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxAmount","type":"uint256"}],"name":"setMaxTxPercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"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"}]
Contract Creation Code
6080604052600a805460ff191690553480156200001b57600080fd5b506200002733620003ae565b604080518082019091526011808252702134b63634b7b730b4b932b99021b63ab160791b6020909201918252620000619160069162000518565b5060408051808201909152600280825261424360f01b60209092019182526200008d9160079162000518565b506008805460ff191660121790556c0c9f2c9cd04674edea40000000600981905560016000620000c56000546001600160a01b031690565b6001600160a01b03166001600160a01b03168152602001908152602001600020819055506200012060646200010c6005600954620003fe60201b620006f81790919060201c565b6200049260201b6200077e1790919060201c565b600b819055506000737a250d5630b4cf539739df2c5dacb4c659f2488d9050806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156200017957600080fd5b505afa1580156200018e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b49190620005be565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015620001fd57600080fd5b505afa15801562000212573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002389190620005be565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b1580156200028157600080fd5b505af115801562000296573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002bc9190620005be565b600580546001600160a01b03199081166001600160a01b039384161790915560048054909116918316919091179055600160036000620003046000546001600160a01b031690565b6001600160a01b0316815260208082019290925260409081016000908120805494151560ff199586161790553081526003909252902080549091166001179055620003576000546001600160a01b031690565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009546040516200039f91815260200190565b60405180910390a350620006cf565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000826200040f575060006200048c565b60006200041d8385620005e9565b9050826200042c858362000617565b14620004895760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084015b60405180910390fd5b90505b92915050565b60006200048983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250620004dc60201b60201c565b60008183620005005760405162461bcd60e51b81526004016200048091906200063a565b5060006200050f848662000617565b95945050505050565b828054620005269062000692565b90600052602060002090601f0160209004810192826200054a576000855562000595565b82601f106200056557805160ff191683800117855562000595565b8280016001018555821562000595579182015b828111156200059557825182559160200191906001019062000578565b50620005a3929150620005a7565b5090565b5b80821115620005a35760008155600101620005a8565b600060208284031215620005d157600080fd5b81516001600160a01b03811681146200048957600080fd5b60008160001904831182151516156200061257634e487b7160e01b600052601160045260246000fd5b500290565b6000826200063557634e487b7160e01b600052601260045260246000fd5b500490565b600060208083528351808285015260005b8181101562000669578581018301518582016040015282016200064b565b818111156200067c576000604083870101525b50601f01601f1916929092016040019392505050565b600181811c90821680620006a757607f821691505b60208210811415620006c957634e487b7160e01b600052602260045260246000fd5b50919050565b610f5480620006df6000396000f3fe608060405234801561001057600080fd5b50600436106101375760003560e01c806376474949116100b8578063a9059cbb1161007c578063a9059cbb1461026e578063b8c9d25c14610281578063c21ebd0714610294578063d543dbeb146102a7578063dd62ed3e146102ba578063f2fde38b146102f357600080fd5b806376474949146102185780637d1db4a5146102255780638da5cb5b1461022e57806395d89b4114610253578063a457c2d71461025b57600080fd5b806339509351116100ff57806339509351146101b75780635b89029c146101ca5780636adeb40d146101df57806370a08231146101e7578063715018a61461021057600080fd5b806306fdde031461013c578063095ea7b31461015a57806318160ddd1461017d57806323b872dd1461018f578063313ce567146101a2575b600080fd5b610144610306565b6040516101519190610cc5565b60405180910390f35b61016d610168366004610d36565b610398565b6040519015158152602001610151565b6009545b604051908152602001610151565b61016d61019d366004610d60565b6103af565b60085460405160ff9091168152602001610151565b61016d6101c5366004610d36565b61045b565b6101dd6101d8366004610d9c565b610497565b005b6101dd6104ec565b6101816101f5366004610dd8565b6001600160a01b031660009081526001602052604090205490565b6101dd610525565b600a5461016d9060ff1681565b610181600b5481565b6000546001600160a01b03165b6040516001600160a01b039091168152602001610151565b61014461055b565b61016d610269366004610d36565b61056a565b61016d61027c366004610d36565b610600565b60055461023b906001600160a01b031681565b60045461023b906001600160a01b031681565b6101dd6102b5366004610df3565b61060d565b6101816102c8366004610e0c565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6101dd610301366004610dd8565b61065d565b60606006805461031590610e3f565b80601f016020809104026020016040519081016040528092919081815260200182805461034190610e3f565b801561038e5780601f106103635761010080835404028352916020019161038e565b820191906000526020600020905b81548152906001019060200180831161037157829003601f168201915b5050505050905090565b60006103a53384846107c0565b5060015b92915050565b60006103bc8484846108e4565b6001600160a01b0384166000908152600260209081526040808320338452909152902054828110156104435760405162461bcd60e51b815260206004820152602560248201527f57453a207472616e7366657220616d6f756e74206578636565647320616c6c6f60448201526477616e636560d81b60648201526084015b60405180910390fd5b61045085338584036107c0565b506001949350505050565b3360008181526002602090815260408083206001600160a01b038716845290915281205490916103a5918590610492908690610e90565b6107c0565b6000546001600160a01b031633146104c15760405162461bcd60e51b815260040161043a90610ea8565b6001600160a01b03919091166000908152600360205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146105165760405162461bcd60e51b815260040161043a90610ea8565b600a805460ff19166001179055565b6000546001600160a01b0316331461054f5760405162461bcd60e51b815260040161043a90610ea8565b6105596000610c3e565b565b60606007805461031590610e3f565b3360009081526002602090815260408083206001600160a01b0386168452909152812054828110156105e95760405162461bcd60e51b815260206004820152602260248201527f57453a2064656372656173656420616c6c6f77616e63652062656c6f77207a65604482015261726f60f01b606482015260840161043a565b6105f633858584036107c0565b5060019392505050565b60006103a53384846108e4565b6000546001600160a01b031633146106375760405162461bcd60e51b815260040161043a90610ea8565b6106576064610651836009546106f890919063ffffffff16565b9061077e565b600b5550565b6000546001600160a01b031633146106875760405162461bcd60e51b815260040161043a90610ea8565b6001600160a01b0381166106ec5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161043a565b6106f581610c3e565b50565b600082610707575060006103a9565b60006107138385610edd565b9050826107208583610efc565b146107775760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161043a565b9392505050565b600061077783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610c8e565b6001600160a01b0383166108225760405162461bcd60e51b8152602060048201526024808201527f42455032303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161043a565b6001600160a01b0382166108835760405162461bcd60e51b815260206004820152602260248201527f42455032303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161043a565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166109455760405162461bcd60e51b815260206004820152602260248201527f57453a207472616e736665722066726f6d20746865207a65726f206164647265604482015261737360f01b606482015260840161043a565b6001600160a01b03821661099b5760405162461bcd60e51b815260206004820181905260248201527f57453a207472616e7366657220746f20746865207a65726f2061646472657373604482015260640161043a565b60008111610a015760405162461bcd60e51b815260206004820152602d60248201527f57453a205472616e7366657220616d6f756e74206d757374206265206772656160448201526c746572207468616e207a65726f60981b606482015260840161043a565b6001600160a01b03831660009081526003602052604090205460ff16158015610a4357506001600160a01b03821660009081526003602052604090205460ff16155b15610b3857600b54811115610a9a5760405162461bcd60e51b815260206004820152601760248201527f616d6f756e7420657863656564206d6178206c696d6974000000000000000000604482015260640161043a565b600a5460ff16158015610abb57506000546001600160a01b03848116911614155b8015610ad557506000546001600160a01b03838116911614155b15610b38576005546001600160a01b0383811691161415610b385760405162461bcd60e51b815260206004820152601a60248201527f2057453a53656c6c696e67206973206e6f7420656e61626c6564000000000000604482015260640161043a565b6001600160a01b03831660009081526001602052604090205481811015610bad5760405162461bcd60e51b815260206004820152602360248201527f57453a207472616e7366657220616d6f756e7420657863656564732062616c616044820152626e636560e81b606482015260840161043a565b6001600160a01b03808516600090815260016020526040808220858503905591851681529081208054849290610be4908490610e90565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610c3091815260200190565b60405180910390a350505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60008183610caf5760405162461bcd60e51b815260040161043a9190610cc5565b506000610cbc8486610efc565b95945050505050565b600060208083528351808285015260005b81811015610cf257858101830151858201604001528201610cd6565b81811115610d04576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b0381168114610d3157600080fd5b919050565b60008060408385031215610d4957600080fd5b610d5283610d1a565b946020939093013593505050565b600080600060608486031215610d7557600080fd5b610d7e84610d1a565b9250610d8c60208501610d1a565b9150604084013590509250925092565b60008060408385031215610daf57600080fd5b610db883610d1a565b915060208301358015158114610dcd57600080fd5b809150509250929050565b600060208284031215610dea57600080fd5b61077782610d1a565b600060208284031215610e0557600080fd5b5035919050565b60008060408385031215610e1f57600080fd5b610e2883610d1a565b9150610e3660208401610d1a565b90509250929050565b600181811c90821680610e5357607f821691505b60208210811415610e7457634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b60008219821115610ea357610ea3610e7a565b500190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6000816000190483118215151615610ef757610ef7610e7a565b500290565b600082610f1957634e487b7160e01b600052601260045260246000fd5b50049056fea2646970667358221220d481914ec458f25d34e43a05005995a401f674deb9e7b68107fa476d5b6729b564736f6c63430008090033
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101375760003560e01c806376474949116100b8578063a9059cbb1161007c578063a9059cbb1461026e578063b8c9d25c14610281578063c21ebd0714610294578063d543dbeb146102a7578063dd62ed3e146102ba578063f2fde38b146102f357600080fd5b806376474949146102185780637d1db4a5146102255780638da5cb5b1461022e57806395d89b4114610253578063a457c2d71461025b57600080fd5b806339509351116100ff57806339509351146101b75780635b89029c146101ca5780636adeb40d146101df57806370a08231146101e7578063715018a61461021057600080fd5b806306fdde031461013c578063095ea7b31461015a57806318160ddd1461017d57806323b872dd1461018f578063313ce567146101a2575b600080fd5b610144610306565b6040516101519190610cc5565b60405180910390f35b61016d610168366004610d36565b610398565b6040519015158152602001610151565b6009545b604051908152602001610151565b61016d61019d366004610d60565b6103af565b60085460405160ff9091168152602001610151565b61016d6101c5366004610d36565b61045b565b6101dd6101d8366004610d9c565b610497565b005b6101dd6104ec565b6101816101f5366004610dd8565b6001600160a01b031660009081526001602052604090205490565b6101dd610525565b600a5461016d9060ff1681565b610181600b5481565b6000546001600160a01b03165b6040516001600160a01b039091168152602001610151565b61014461055b565b61016d610269366004610d36565b61056a565b61016d61027c366004610d36565b610600565b60055461023b906001600160a01b031681565b60045461023b906001600160a01b031681565b6101dd6102b5366004610df3565b61060d565b6101816102c8366004610e0c565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6101dd610301366004610dd8565b61065d565b60606006805461031590610e3f565b80601f016020809104026020016040519081016040528092919081815260200182805461034190610e3f565b801561038e5780601f106103635761010080835404028352916020019161038e565b820191906000526020600020905b81548152906001019060200180831161037157829003601f168201915b5050505050905090565b60006103a53384846107c0565b5060015b92915050565b60006103bc8484846108e4565b6001600160a01b0384166000908152600260209081526040808320338452909152902054828110156104435760405162461bcd60e51b815260206004820152602560248201527f57453a207472616e7366657220616d6f756e74206578636565647320616c6c6f60448201526477616e636560d81b60648201526084015b60405180910390fd5b61045085338584036107c0565b506001949350505050565b3360008181526002602090815260408083206001600160a01b038716845290915281205490916103a5918590610492908690610e90565b6107c0565b6000546001600160a01b031633146104c15760405162461bcd60e51b815260040161043a90610ea8565b6001600160a01b03919091166000908152600360205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146105165760405162461bcd60e51b815260040161043a90610ea8565b600a805460ff19166001179055565b6000546001600160a01b0316331461054f5760405162461bcd60e51b815260040161043a90610ea8565b6105596000610c3e565b565b60606007805461031590610e3f565b3360009081526002602090815260408083206001600160a01b0386168452909152812054828110156105e95760405162461bcd60e51b815260206004820152602260248201527f57453a2064656372656173656420616c6c6f77616e63652062656c6f77207a65604482015261726f60f01b606482015260840161043a565b6105f633858584036107c0565b5060019392505050565b60006103a53384846108e4565b6000546001600160a01b031633146106375760405162461bcd60e51b815260040161043a90610ea8565b6106576064610651836009546106f890919063ffffffff16565b9061077e565b600b5550565b6000546001600160a01b031633146106875760405162461bcd60e51b815260040161043a90610ea8565b6001600160a01b0381166106ec5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161043a565b6106f581610c3e565b50565b600082610707575060006103a9565b60006107138385610edd565b9050826107208583610efc565b146107775760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161043a565b9392505050565b600061077783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610c8e565b6001600160a01b0383166108225760405162461bcd60e51b8152602060048201526024808201527f42455032303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161043a565b6001600160a01b0382166108835760405162461bcd60e51b815260206004820152602260248201527f42455032303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161043a565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166109455760405162461bcd60e51b815260206004820152602260248201527f57453a207472616e736665722066726f6d20746865207a65726f206164647265604482015261737360f01b606482015260840161043a565b6001600160a01b03821661099b5760405162461bcd60e51b815260206004820181905260248201527f57453a207472616e7366657220746f20746865207a65726f2061646472657373604482015260640161043a565b60008111610a015760405162461bcd60e51b815260206004820152602d60248201527f57453a205472616e7366657220616d6f756e74206d757374206265206772656160448201526c746572207468616e207a65726f60981b606482015260840161043a565b6001600160a01b03831660009081526003602052604090205460ff16158015610a4357506001600160a01b03821660009081526003602052604090205460ff16155b15610b3857600b54811115610a9a5760405162461bcd60e51b815260206004820152601760248201527f616d6f756e7420657863656564206d6178206c696d6974000000000000000000604482015260640161043a565b600a5460ff16158015610abb57506000546001600160a01b03848116911614155b8015610ad557506000546001600160a01b03838116911614155b15610b38576005546001600160a01b0383811691161415610b385760405162461bcd60e51b815260206004820152601a60248201527f2057453a53656c6c696e67206973206e6f7420656e61626c6564000000000000604482015260640161043a565b6001600160a01b03831660009081526001602052604090205481811015610bad5760405162461bcd60e51b815260206004820152602360248201527f57453a207472616e7366657220616d6f756e7420657863656564732062616c616044820152626e636560e81b606482015260840161043a565b6001600160a01b03808516600090815260016020526040808220858503905591851681529081208054849290610be4908490610e90565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610c3091815260200190565b60405180910390a350505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60008183610caf5760405162461bcd60e51b815260040161043a9190610cc5565b506000610cbc8486610efc565b95945050505050565b600060208083528351808285015260005b81811015610cf257858101830151858201604001528201610cd6565b81811115610d04576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b0381168114610d3157600080fd5b919050565b60008060408385031215610d4957600080fd5b610d5283610d1a565b946020939093013593505050565b600080600060608486031215610d7557600080fd5b610d7e84610d1a565b9250610d8c60208501610d1a565b9150604084013590509250925092565b60008060408385031215610daf57600080fd5b610db883610d1a565b915060208301358015158114610dcd57600080fd5b809150509250929050565b600060208284031215610dea57600080fd5b61077782610d1a565b600060208284031215610e0557600080fd5b5035919050565b60008060408385031215610e1f57600080fd5b610e2883610d1a565b9150610e3660208401610d1a565b90509250929050565b600181811c90821680610e5357607f821691505b60208210811415610e7457634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b60008219821115610ea357610ea3610e7a565b500190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6000816000190483118215151615610ef757610ef7610e7a565b500290565b600082610f1957634e487b7160e01b600052601260045260246000fd5b50049056fea2646970667358221220d481914ec458f25d34e43a05005995a401f674deb9e7b68107fa476d5b6729b564736f6c63430008090033
Deployed Bytecode Sourcemap
11730:6460:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13289:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14351:210;;;;;;:::i;:::-;;:::i;:::-;;;1218:14:1;;1211:22;1193:41;;1181:2;1166:18;14351:210:0;1053:187:1;13617:108:0;13705:12;;13617:108;;;1391:25:1;;;1379:2;1364:18;13617:108:0;1245:177:1;14655:526:0;;;;;;:::i;:::-;;:::i;13509:100::-;13592:9;;13509:100;;13592:9;;;;1902:36:1;;1890:2;1875:18;13509:100:0;1760:184:1;15501:297:0;;;;;;:::i;:::-;;:::i;15190:133::-;;;;;;:::i;:::-;;:::i;:::-;;14569:78;;;:::i;13733:177::-;;;;;;:::i;:::-;-1:-1:-1;;;;;13884:18:0;13852:7;13884:18;;;:9;:18;;;;;;;13733:177;1810:94;;;:::i;12224:32::-;;;;;;;;;12312:27;;;;;;1587:87;1633:7;1660:6;-1:-1:-1;;;;;1660:6:0;1587:87;;;-1:-1:-1;;;;;2656:32:1;;;2638:51;;2626:2;2611:18;1587:87:0;2492:203:1;13397:104:0;;;:::i;15806:479::-;;;;;;:::i;:::-;;:::i;13918:216::-;;;;;;:::i;:::-;;:::i;12068:26::-;;;;;-1:-1:-1;;;;;12068:26:0;;;12024:37;;;;;-1:-1:-1;;;;;12024:37:0;;;15358:135;;;;;;:::i;:::-;;:::i;14142:201::-;;;;;;:::i;:::-;-1:-1:-1;;;;;14308:18:0;;;14276:7;14308:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;14142:201;1912:229;;;;;;:::i;:::-;;:::i;13289:100::-;13343:13;13376:5;13369:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13289:100;:::o;14351:210::-;14470:4;14492:39;1199:10;14515:7;14524:6;14492:8;:39::i;:::-;-1:-1:-1;14549:4:0;14351:210;;;;;:::o;14655:526::-;14795:4;14812:36;14822:6;14830:9;14841:6;14812:9;:36::i;:::-;-1:-1:-1;;;;;14888:19:0;;14861:24;14888:19;;;:11;:19;;;;;;;;1199:10;14888:33;;;;;;;;14954:26;;;;14932:113;;;;-1:-1:-1;;;14932:113:0;;3969:2:1;14932:113:0;;;3951:21:1;4008:2;3988:18;;;3981:30;4047:34;4027:18;;;4020:62;-1:-1:-1;;;4098:18:1;;;4091:35;4143:19;;14932:113:0;;;;;;;;;15081:57;15090:6;1199:10;15131:6;15112:16;:25;15081:8;:57::i;:::-;-1:-1:-1;15169:4:0;;14655:526;-1:-1:-1;;;;14655:526:0:o;15501:297::-;1199:10;15616:4;15710:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;15710:34:0;;;;;;;;;;15616:4;;15638:130;;15688:7;;15710:47;;15747:10;;15710:47;:::i;:::-;15638:8;:130::i;15190:133::-;1633:7;1660:6;-1:-1:-1;;;;;1660:6:0;1199:10;1722:23;1714:68;;;;-1:-1:-1;;;1714:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;15277:30:0;;;::::1;;::::0;;;:20:::1;:30;::::0;;;;:38;;-1:-1:-1;;15277:38:0::1;::::0;::::1;;::::0;;;::::1;::::0;;15190:133::o;14569:78::-;1633:7;1660:6;-1:-1:-1;;;;;1660:6:0;1199:10;1722:23;1714:68;;;;-1:-1:-1;;;1714:68:0;;;;;;;:::i;:::-;14620:12:::1;:19:::0;;-1:-1:-1;;14620:19:0::1;14635:4;14620:19;::::0;;14569:78::o;1810:94::-;1633:7;1660:6;-1:-1:-1;;;;;1660:6:0;1199:10;1722:23;1714:68;;;;-1:-1:-1;;;1714:68:0;;;;;;;:::i;:::-;1875:21:::1;1893:1;1875:9;:21::i;:::-;1810:94::o:0;13397:104::-;13453:13;13486:7;13479:14;;;;;:::i;15806:479::-;1199:10;15926:4;15975:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;15975:34:0;;;;;;;;;;16042:35;;;;16020:119;;;;-1:-1:-1;;;16020:119:0;;5001:2:1;16020:119:0;;;4983:21:1;5040:2;5020:18;;;5013:30;5079:34;5059:18;;;5052:62;-1:-1:-1;;;5130:18:1;;;5123:32;5172:19;;16020:119:0;4799:398:1;16020:119:0;16175:67;1199:10;16198:7;16226:15;16207:16;:34;16175:8;:67::i;:::-;-1:-1:-1;16273:4:0;;15806:479;-1:-1:-1;;;15806:479:0:o;13918:216::-;14040:4;14062:42;1199:10;14086:9;14097:6;14062:9;:42::i;15358:135::-;1633:7;1660:6;-1:-1:-1;;;;;1660:6:0;1199:10;1722:23;1714:68;;;;-1:-1:-1;;;1714:68:0;;;;;;;:::i;:::-;15447:38:::1;15481:3;15447:29;15464:11;15447:12;;:16;;:29;;;;:::i;:::-;:33:::0;::::1;:38::i;:::-;15432:12;:53:::0;-1:-1:-1;15358:135:0:o;1912:229::-;1633:7;1660:6;-1:-1:-1;;;;;1660:6:0;1199:10;1722:23;1714:68;;;;-1:-1:-1;;;1714:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2015:22:0;::::1;1993:110;;;::::0;-1:-1:-1;;;1993:110:0;;5404:2:1;1993:110:0::1;::::0;::::1;5386:21:1::0;5443:2;5423:18;;;5416:30;5482:34;5462:18;;;5455:62;-1:-1:-1;;;5533:18:1;;;5526:36;5579:19;;1993:110:0::1;5202:402:1::0;1993:110:0::1;2114:19;2124:8;2114:9;:19::i;:::-;1912:229:::0;:::o;18758:471::-;18816:7;19061:6;19057:47;;-1:-1:-1;19091:1:0;19084:8;;19057:47;19116:9;19128:5;19132:1;19128;:5;:::i;:::-;19116:17;-1:-1:-1;19161:1:0;19152:5;19156:1;19116:17;19152:5;:::i;:::-;:10;19144:56;;;;-1:-1:-1;;;19144:56:0;;6206:2:1;19144:56:0;;;6188:21:1;6245:2;6225:18;;;6218:30;6284:34;6264:18;;;6257:62;-1:-1:-1;;;6335:18:1;;;6328:31;6376:19;;19144:56:0;6004:397:1;19144:56:0;19220:1;18758:471;-1:-1:-1;;;18758:471:0:o;19238:132::-;19296:7;19323:39;19327:1;19330;19323:39;;;;;;;;;;;;;;;;;:3;:39::i;17542:380::-;-1:-1:-1;;;;;17678:19:0;;17670:68;;;;-1:-1:-1;;;17670:68:0;;6608:2:1;17670:68:0;;;6590:21:1;6647:2;6627:18;;;6620:30;6686:34;6666:18;;;6659:62;-1:-1:-1;;;6737:18:1;;;6730:34;6781:19;;17670:68:0;6406:400:1;17670:68:0;-1:-1:-1;;;;;17757:21:0;;17749:68;;;;-1:-1:-1;;;17749:68:0;;7013:2:1;17749:68:0;;;6995:21:1;7052:2;7032:18;;;7025:30;7091:34;7071:18;;;7064:62;-1:-1:-1;;;7142:18:1;;;7135:32;7184:19;;17749:68:0;6811:398:1;17749:68:0;-1:-1:-1;;;;;17830:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;17882:32;;1391:25:1;;;17882:32:0;;1364:18:1;17882:32:0;;;;;;;17542:380;;;:::o;16293:1241::-;-1:-1:-1;;;;;16433:20:0;;16425:67;;;;-1:-1:-1;;;16425:67:0;;7416:2:1;16425:67:0;;;7398:21:1;7455:2;7435:18;;;7428:30;7494:34;7474:18;;;7467:62;-1:-1:-1;;;7545:18:1;;;7538:32;7587:19;;16425:67:0;7214:398:1;16425:67:0;-1:-1:-1;;;;;16511:23:0;;16503:68;;;;-1:-1:-1;;;16503:68:0;;7819:2:1;16503:68:0;;;7801:21:1;;;7838:18;;;7831:30;7897:34;7877:18;;;7870:62;7949:18;;16503:68:0;7617:356:1;16503:68:0;16599:1;16590:6;:10;16582:68;;;;-1:-1:-1;;;16582:68:0;;8180:2:1;16582:68:0;;;8162:21:1;8219:2;8199:18;;;8192:30;8258:34;8238:18;;;8231:62;-1:-1:-1;;;8309:18:1;;;8302:43;8362:19;;16582:68:0;7978:409:1;16582:68:0;-1:-1:-1;;;;;16666:28:0;;;;;;:20;:28;;;;;;;;:37;;;:95;;-1:-1:-1;;;;;;16721:31:0;;;;;;:20;:31;;;;;;;;:40;16666:95;16663:391;;;16827:12;;16817:6;:22;;16809:57;;;;-1:-1:-1;;;16809:57:0;;8594:2:1;16809:57:0;;;8576:21:1;8633:2;8613:18;;;8606:30;8672:25;8652:18;;;8645:53;8715:18;;16809:57:0;8392:347:1;16809:57:0;16889:12;;;;16888:13;:34;;;;-1:-1:-1;1633:7:0;1660:6;-1:-1:-1;;;;;16905:17:0;;;1660:6;;16905:17;;16888:34;:58;;;;-1:-1:-1;1633:7:0;1660:6;-1:-1:-1;;;;;16926:20:0;;;1660:6;;16926:20;;16888:58;16884:159;;;16984:11;;-1:-1:-1;;;;;16971:24:0;;;16984:11;;16971:24;;16963:63;;;;-1:-1:-1;;;16963:63:0;;8946:2:1;16963:63:0;;;8928:21:1;8985:2;8965:18;;;8958:30;9024:28;9004:18;;;8997:56;9070:18;;16963:63:0;8744:350:1;16963:63:0;-1:-1:-1;;;;;17148:17:0;;17124:21;17148:17;;;:9;:17;;;;;;17198:23;;;;17176:108;;;;-1:-1:-1;;;17176:108:0;;9301:2:1;17176:108:0;;;9283:21:1;9340:2;9320:18;;;9313:30;9379:34;9359:18;;;9352:62;-1:-1:-1;;;9430:18:1;;;9423:33;9473:19;;17176:108:0;9099:399:1;17176:108:0;-1:-1:-1;;;;;17320:17:0;;;;;;;:9;:17;;;;;;17340:22;;;17320:42;;17384:20;;;;;;;;:30;;17356:6;;17320:17;17384:30;;17356:6;;17384:30;:::i;:::-;;;;;;;;17449:9;-1:-1:-1;;;;;17432:35:0;17441:6;-1:-1:-1;;;;;17432:35:0;;17460:6;17432:35;;;;1391:25:1;;1379:2;1364:18;;1245:177;17432:35:0;;;;;;;;16414:1120;16293:1241;;;:::o;2149:173::-;2205:16;2224:6;;-1:-1:-1;;;;;2241:17:0;;;-1:-1:-1;;;;;;2241:17:0;;;;;;2274:40;;2224:6;;;;;;;2274:40;;2205:16;2274:40;2194:128;2149:173;:::o;19379:278::-;19465:7;19500:12;19493:5;19485:28;;;;-1:-1:-1;;;19485:28:0;;;;;;;;:::i;:::-;-1:-1:-1;19524:9:0;19536:5;19540:1;19536;:5;:::i;:::-;19524:17;19379:278;-1:-1:-1;;;;;19379:278:0:o;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;1427:328::-;1504:6;1512;1520;1573:2;1561:9;1552:7;1548:23;1544:32;1541:52;;;1589:1;1586;1579:12;1541:52;1612:29;1631:9;1612:29;:::i;:::-;1602:39;;1660:38;1694:2;1683:9;1679:18;1660:38;:::i;:::-;1650:48;;1745:2;1734:9;1730:18;1717:32;1707:42;;1427:328;;;;;:::o;1949:347::-;2014:6;2022;2075:2;2063:9;2054:7;2050:23;2046:32;2043:52;;;2091:1;2088;2081:12;2043:52;2114:29;2133:9;2114:29;:::i;:::-;2104:39;;2193:2;2182:9;2178:18;2165:32;2240:5;2233:13;2226:21;2219:5;2216:32;2206:60;;2262:1;2259;2252:12;2206:60;2285:5;2275:15;;;1949:347;;;;;:::o;2301:186::-;2360:6;2413:2;2401:9;2392:7;2388:23;2384:32;2381:52;;;2429:1;2426;2419:12;2381:52;2452:29;2471:9;2452:29;:::i;2932:180::-;2991:6;3044:2;3032:9;3023:7;3019:23;3015:32;3012:52;;;3060:1;3057;3050:12;3012:52;-1:-1:-1;3083:23:1;;2932:180;-1:-1:-1;2932:180:1:o;3117:260::-;3185:6;3193;3246:2;3234:9;3225:7;3221:23;3217:32;3214:52;;;3262:1;3259;3252:12;3214:52;3285:29;3304:9;3285:29;:::i;:::-;3275:39;;3333:38;3367:2;3356:9;3352:18;3333:38;:::i;:::-;3323:48;;3117:260;;;;;:::o;3382:380::-;3461:1;3457:12;;;;3504;;;3525:61;;3579:4;3571:6;3567:17;3557:27;;3525:61;3632:2;3624:6;3621:14;3601:18;3598:38;3595:161;;;3678:10;3673:3;3669:20;3666:1;3659:31;3713:4;3710:1;3703:15;3741:4;3738:1;3731:15;3595:161;;3382:380;;;:::o;4173:127::-;4234:10;4229:3;4225:20;4222:1;4215:31;4265:4;4262:1;4255:15;4289:4;4286:1;4279:15;4305:128;4345:3;4376:1;4372:6;4369:1;4366:13;4363:39;;;4382:18;;:::i;:::-;-1:-1:-1;4418:9:1;;4305:128::o;4438:356::-;4640:2;4622:21;;;4659:18;;;4652:30;4718:34;4713:2;4698:18;;4691:62;4785:2;4770:18;;4438:356::o;5609:168::-;5649:7;5715:1;5711;5707:6;5703:14;5700:1;5697:21;5692:1;5685:9;5678:17;5674:45;5671:71;;;5722:18;;:::i;:::-;-1:-1:-1;5762:9:1;;5609:168::o;5782:217::-;5822:1;5848;5838:132;;5892:10;5887:3;5883:20;5880:1;5873:31;5927:4;5924:1;5917:15;5955:4;5952:1;5945:15;5838:132;-1:-1:-1;5984:9:1;;5782:217::o
Swarm Source
ipfs://d481914ec458f25d34e43a05005995a401f674deb9e7b68107fa476d5b6729b5
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.