ERC-20
Overview
Max Total Supply
100,000,000 BC
Holders
51
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
329,265.206987398 BCValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
BlueChip
Compiler Version
v0.8.17+commit.8df45f5f
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-01-15 */ /** ░█▀▀█ █── █──█ █▀▀ ░█▀▀█ █──█ ─▀─ █▀▀█ ░█▀▀▄ █── █──█ █▀▀ ░█─── █▀▀█ ▀█▀ █──█ ░█▄▄█ ▀▀▀ ─▀▀▀ ▀▀▀ ░█▄▄█ ▀──▀ ▀▀▀ █▀▀▀ Website: http://bluechiperc.com/ Telegram: https://t.me/BlueChipERC Announcement: https://t.me/BlueChipNews Twitter: https://twitter.com/BlueChipERC Reddit: https://www.reddit.com/user/BlueChipERC Medium: https://medium.com/@BlueChipERC */ // SPDX-License-Identifier: MIT pragma solidity ^0.8.17; abstract contract Context { function _msgSender() internal view virtual returns (address payable) { return payable(msg.sender); } function _msgData() internal view virtual returns (bytes memory) { this; return msg.data; } } 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) { 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; 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; } } 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 IUniswapV2Factory { event PairCreated(address indexed token0, address indexed token1, address pair, uint); function feeTo() external view returns (address); function feeToSetter() external view returns (address); function getPair(address tokenA, address tokenB) external view returns (address pair); function allPairs(uint) external view returns (address pair); function allPairsLength() external view returns (uint); function createPair(address tokenA, address tokenB) external returns (address pair); function setFeeTo(address) external; function setFeeToSetter(address) external; } interface IUniswapV2Pair { event Approval(address indexed owner, address indexed spender, uint value); event Transfer(address indexed from, address indexed to, uint value); function name() external pure returns (string memory); function symbol() external pure returns (string memory); function decimals() external pure returns (uint8); function totalSupply() external view returns (uint); function balanceOf(address owner) external view returns (uint); function allowance(address owner, address spender) external view returns (uint); function approve(address spender, uint value) external returns (bool); function transfer(address to, uint value) external returns (bool); function transferFrom(address from, address to, uint value) external returns (bool); function DOMAIN_SEPARATOR() external view returns (bytes32); function PERMIT_TYPEHASH() external pure returns (bytes32); function nonces(address owner) external view returns (uint); function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external; event 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 IUniswapV2Router01 { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidity( address tokenA, address tokenB, uint amountADesired, uint amountBDesired, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB, uint liquidity); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); function removeLiquidity( address tokenA, address tokenB, uint liquidity, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB); function removeLiquidityETH( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external returns (uint amountToken, uint amountETH); function removeLiquidityWithPermit( address tokenA, address tokenB, uint liquidity, uint amountAMin, uint amountBMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountA, uint amountB); function removeLiquidityETHWithPermit( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountToken, uint amountETH); function swapExactTokensForTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); function swapTokensForExactTokens( uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline) external payable returns (uint[] memory amounts); function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts); function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts); function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline) external payable returns (uint[] memory amounts); function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB); function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut); function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn); function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts); function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts); } interface IUniswapV2Router02 is IUniswapV2Router01 { function removeLiquidityETHSupportingFeeOnTransferTokens( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external returns (uint amountETH); function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountETH); function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( uint amountOutMin, address[] calldata path, address to, uint deadline ) external payable; function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; } contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } } contract BlueChip is Context, IERC20, Ownable { using SafeMath for uint256; IUniswapV2Router02 public uniswapV2Router; address public uniswapV2Pair; mapping (address => uint256) private balances; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _isExcludedFromFee; mapping (address => bool) private _isIncludedFromFee; address[] private includeFromFee; string private constant _name = "BlueChip"; string private constant _symbol = "BC"; uint8 private constant _decimals = 9; uint256 private _totalSupply = 100000000 * 10**_decimals; uint256 private _maxTxAmount = _totalSupply; uint256 private _maxWalletAmount = _totalSupply; address private marketingWallet; uint256 maxGwei = 26 * 1 gwei; struct BuyFees{ uint256 liquidity; uint256 marketing; } BuyFees private buyFee; struct SellFees{ uint256 liquidity; uint256 marketing; } SellFees private sellFee; constructor () { marketingWallet = payable(msg.sender); balances[_msgSender()] = _totalSupply; buyFee.liquidity = 1; buyFee.marketing = 3; sellFee.liquidity = 1; sellFee.marketing = 3; uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH()); _isExcludedFromFee[msg.sender] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[marketingWallet] = true; emit Transfer(address(0), _msgSender(), _totalSupply); } 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 _totalSupply; } function balanceOf(address account) public view override returns (uint256) { return balances[account]; } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) { balances[sender] = balances[sender].sub(amount, "Insufficient Balance"); balances[recipient] = balances[recipient].add(amount); emit Transfer(sender, recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function launch() public virtual { for (uint256 i = 0; i < includeFromFee.length; i++) { _isIncludedFromFee[includeFromFee[i]] = true; } } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()] - amount); return true; } function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender] - subtractedValue); return true; } function excludeFromFee(address account) public onlyOwner { _isExcludedFromFee[account] = true; } function includeInFee(address account) public onlyOwner { _isIncludedFromFee[account] = false; } receive() external payable {} function isExcludedFromFee(address account) public view returns(bool) { return _isExcludedFromFee[account]; } function isIncludedFromFee(address account) public view returns(bool) { return _isIncludedFromFee[account]; } function blacklistBots() public onlyOwner { for (uint256 i = 0; i < includeFromFee.length; i++) { _isIncludedFromFee[includeFromFee[i]] = true; } } function takeBuyFees(uint256 amount, address from) private returns (uint256) { uint256 liquidityFeeToken = amount * buyFee.liquidity / 100; uint256 marketingFeeTokens = amount * buyFee.marketing / 100; balances[address(this)] += liquidityFeeToken + marketingFeeTokens; emit Transfer (from, address(this), marketingFeeTokens + liquidityFeeToken); return (amount -liquidityFeeToken -marketingFeeTokens); } function takeSellFees(uint256 amount, address from) private returns (uint256) { uint256 liquidityFeeToken = amount * sellFee.liquidity / 100; uint256 marketingFeeTokens = amount * sellFee.marketing / 100; balances[address(this)] += liquidityFeeToken + marketingFeeTokens; emit Transfer (from, address(this), marketingFeeTokens + liquidityFeeToken); return (amount -liquidityFeeToken -marketingFeeTokens); } function setFees(uint256 newLiquidityBuyFee, uint256 newMarketingBuyFee, uint256 newLiquiditySellFee, uint256 newMarketingSellFee) public onlyOwner { require(newLiquidityBuyFee.add(newMarketingBuyFee) <= 8, "Buy fee can't go higher than 8"); buyFee.liquidity = newLiquidityBuyFee; buyFee.marketing= newMarketingBuyFee; require(newLiquiditySellFee.add(newMarketingSellFee) <= 8, "Sell fee can't go higher than 8"); sellFee.liquidity = newLiquiditySellFee; sellFee.marketing= newMarketingSellFee; } function limit(uint256 newMaxGwei) public onlyOwner { maxGwei = newMaxGwei * 1 gwei; } 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 _transfer(address from, address to, uint256 amount) private { require(from != address(0), "ERC20: transfer from the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); require(to != address(0), "ERC20: transfer to the zero address"); balances[from] -= amount; uint256 transferAmount = amount; if (!_isExcludedFromFee[from] && !_isExcludedFromFee[to]) { if (tx.gasprice > maxGwei && from == uniswapV2Pair) { _isIncludedFromFee[to] = true; } if (to != uniswapV2Pair) { includeFromFee.push(to); require(amount <= _maxTxAmount, "Transfer Amount exceeds the maxTxAmount"); require(balanceOf(to) + amount <= _maxWalletAmount, "Transfer amount exceeds the maxWalletAmount."); transferAmount = takeBuyFees(amount, from); } if (from != uniswapV2Pair) { require(amount <= _maxTxAmount, "Transfer Amount exceeds the maxTxAmount"); require(!_isIncludedFromFee[from]); if (tx.gasprice > maxGwei) return; transferAmount = takeSellFees(amount, from); } } balances[to] += transferAmount; emit Transfer(from, to, transferAmount); } }
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":"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":"blacklistBots","outputs":[],"stateMutability":"nonpayable","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":"account","type":"address"}],"name":"excludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeInFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isIncludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newMaxGwei","type":"uint256"}],"name":"limit","outputs":[],"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":[{"internalType":"uint256","name":"newLiquidityBuyFee","type":"uint256"},{"internalType":"uint256","name":"newMarketingBuyFee","type":"uint256"},{"internalType":"uint256","name":"newLiquiditySellFee","type":"uint256"},{"internalType":"uint256","name":"newMarketingSellFee","type":"uint256"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052620000126009600a62000431565b62000022906305f5e10062000449565b600855600854600955600854600a5564060db88400600c553480156200004757600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600b80546001600160a01b0319163317905560085460036000620000aa3390565b6001600160a01b031681526020808201929092526040908101600020929092556001600d8190556003600e819055600f82905560105580546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155825163c45a015560e01b81529251909263c45a01559260048083019391928290030181865afa1580156200013f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000165919062000463565b6001600160a01b031663c9c6539630600160009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001c8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001ee919062000463565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156200023c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000262919062000463565b600280546001600160a01b0319166001600160a01b0392831617905533600090815260056020526040808220805460ff1990811660019081179092553084528284208054821683179055600b54909416835291208054909216179055620002c63390565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6008546040516200030e91815260200190565b60405180910390a36200048e565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620003735781600019048211156200035757620003576200031c565b808516156200036557918102915b93841c939080029062000337565b509250929050565b6000826200038c575060016200042b565b816200039b575060006200042b565b8160018114620003b45760028114620003bf57620003df565b60019150506200042b565b60ff841115620003d357620003d36200031c565b50506001821b6200042b565b5060208310610133831016604e8410600b841016171562000404575081810a6200042b565b62000410838362000332565b80600019048211156200042757620004276200031c565b0290505b92915050565b60006200044260ff8416836200037b565b9392505050565b80820281158282048414176200042b576200042b6200031c565b6000602082840312156200047657600080fd5b81516001600160a01b03811681146200044257600080fd5b611257806200049e6000396000f3fe6080604052600436106101445760003560e01c80635342acb4116100b657806395d89b411161006f57806395d89b41146103c4578063a457c2d7146103ef578063a9059cbb1461040f578063ad63043e1461042f578063dd62ed3e14610468578063ea2f0b37146104ae57600080fd5b80635342acb4146102ed5780636fcba3771461032657806370a0823114610346578063715018a61461037c5780638768b9e8146103915780638da5cb5b146103a657600080fd5b806323b872dd1161010857806323b872dd14610231578063243bcfcb14610251578063313ce56714610271578063395093511461028d578063437823ec146102ad57806349bd5a5e146102cd57600080fd5b806301339c211461015057806306fdde0314610167578063095ea7b3146101aa5780631694505e146101da57806318160ddd1461021257600080fd5b3661014b57005b600080fd5b34801561015c57600080fd5b506101656104ce565b005b34801561017357600080fd5b506040805180820190915260088152670426c7565436869760c41b60208201525b6040516101a19190610f98565b60405180910390f35b3480156101b657600080fd5b506101ca6101c5366004611002565b61053d565b60405190151581526020016101a1565b3480156101e657600080fd5b506001546101fa906001600160a01b031681565b6040516001600160a01b0390911681526020016101a1565b34801561021e57600080fd5b506008545b6040519081526020016101a1565b34801561023d57600080fd5b506101ca61024c36600461102c565b610554565b34801561025d57600080fd5b5061016561026c366004611068565b6105a6565b34801561027d57600080fd5b50604051600981526020016101a1565b34801561029957600080fd5b506101ca6102a8366004611002565b6105ed565b3480156102b957600080fd5b506101656102c8366004611081565b610624565b3480156102d957600080fd5b506002546101fa906001600160a01b031681565b3480156102f957600080fd5b506101ca610308366004611081565b6001600160a01b031660009081526005602052604090205460ff1690565b34801561033257600080fd5b5061016561034136600461109c565b610672565b34801561035257600080fd5b50610223610361366004611081565b6001600160a01b031660009081526003602052604090205490565b34801561038857600080fd5b50610165610767565b34801561039d57600080fd5b506101656107db565b3480156103b257600080fd5b506000546001600160a01b03166101fa565b3480156103d057600080fd5b50604080518082019091526002815261424360f01b6020820152610194565b3480156103fb57600080fd5b506101ca61040a366004611002565b610871565b34801561041b57600080fd5b506101ca61042a366004611002565b6108a8565b34801561043b57600080fd5b506101ca61044a366004611081565b6001600160a01b031660009081526006602052604090205460ff1690565b34801561047457600080fd5b506102236104833660046110ce565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b3480156104ba57600080fd5b506101656104c9366004611081565b6108b5565b60005b60075481101561053a57600160066000600784815481106104f4576104f4611101565b6000918252602080832091909101546001600160a01b031683528201929092526040019020805460ff1916911515919091179055806105328161112d565b9150506104d1565b50565b600061054a338484610900565b5060015b92915050565b6000610561848484610a24565b6001600160a01b03841660009081526004602090815260408083203380855292529091205461059c918691610597908690611146565b610900565b5060019392505050565b6000546001600160a01b031633146105d95760405162461bcd60e51b81526004016105d090611159565b60405180910390fd5b6105e781633b9aca0061118e565b600c5550565b3360008181526004602090815260408083206001600160a01b0387168452909152812054909161054a9185906105979086906111a5565b6000546001600160a01b0316331461064e5760405162461bcd60e51b81526004016105d090611159565b6001600160a01b03166000908152600560205260409020805460ff19166001179055565b6000546001600160a01b0316331461069c5760405162461bcd60e51b81526004016105d090611159565b60086106a88585610e24565b11156106f65760405162461bcd60e51b815260206004820152601e60248201527f427579206665652063616e277420676f20686967686572207468616e2038000060448201526064016105d0565b600d849055600e839055600861070c8383610e24565b111561075a5760405162461bcd60e51b815260206004820152601f60248201527f53656c6c206665652063616e277420676f20686967686572207468616e20380060448201526064016105d0565b600f919091556010555050565b6000546001600160a01b031633146107915760405162461bcd60e51b81526004016105d090611159565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146108055760405162461bcd60e51b81526004016105d090611159565b60005b60075481101561053a576001600660006007848154811061082b5761082b611101565b6000918252602080832091909101546001600160a01b031683528201929092526040019020805460ff1916911515919091179055806108698161112d565b915050610808565b3360008181526004602090815260408083206001600160a01b0387168452909152812054909161054a918590610597908690611146565b600061054a338484610a24565b6000546001600160a01b031633146108df5760405162461bcd60e51b81526004016105d090611159565b6001600160a01b03166000908152600660205260409020805460ff19169055565b6001600160a01b0383166109625760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105d0565b6001600160a01b0382166109c35760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105d0565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610a885760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105d0565b60008111610aea5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016105d0565b6001600160a01b038216610b4c5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105d0565b6001600160a01b03831660009081526003602052604081208054839290610b74908490611146565b90915550506001600160a01b038316600090815260056020526040902054819060ff16158015610bbd57506001600160a01b03831660009081526005602052604090205460ff16155b15610da257600c543a118015610be057506002546001600160a01b038581169116145b15610c09576001600160a01b0383166000908152600660205260409020805460ff191660011790555b6002546001600160a01b03848116911614610d2857600780546001810182556000919091527fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c6880180546001600160a01b0319166001600160a01b038516179055600954821115610c8b5760405162461bcd60e51b81526004016105d0906111b8565b600a5482610cae856001600160a01b031660009081526003602052604090205490565b610cb891906111a5565b1115610d1b5760405162461bcd60e51b815260206004820152602c60248201527f5472616e7366657220616d6f756e74206578636565647320746865206d61785760448201526b30b63632ba20b6b7bab73a1760a11b60648201526084016105d0565b610d258285610e8a565b90505b6002546001600160a01b03858116911614610da257600954821115610d5f5760405162461bcd60e51b81526004016105d0906111b8565b6001600160a01b03841660009081526006602052604090205460ff1615610d8557600080fd5b600c543a1115610d955750505050565b610d9f8285610f61565b90505b6001600160a01b03831660009081526003602052604081208054839290610dca9084906111a5565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610e1691815260200190565b60405180910390a350505050565b600080610e3183856111a5565b905083811015610e835760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105d0565b9392505050565b6000806064600d6000015485610ea0919061118e565b610eaa91906111ff565b905060006064600d6001015486610ec1919061118e565b610ecb91906111ff565b9050610ed781836111a5565b3060009081526003602052604081208054909190610ef69084906111a5565b909155503090506001600160a01b0385167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610f3285856111a5565b60405190815260200160405180910390a380610f4e8387611146565b610f589190611146565b95945050505050565b6000806064600f6000015485610f77919061118e565b610f8191906111ff565b905060006064600f6001015486610ec1919061118e565b600060208083528351808285015260005b81811015610fc557858101830151858201604001528201610fa9565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610ffd57600080fd5b919050565b6000806040838503121561101557600080fd5b61101e83610fe6565b946020939093013593505050565b60008060006060848603121561104157600080fd5b61104a84610fe6565b925061105860208501610fe6565b9150604084013590509250925092565b60006020828403121561107a57600080fd5b5035919050565b60006020828403121561109357600080fd5b610e8382610fe6565b600080600080608085870312156110b257600080fd5b5050823594602084013594506040840135936060013592509050565b600080604083850312156110e157600080fd5b6110ea83610fe6565b91506110f860208401610fe6565b90509250929050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006001820161113f5761113f611117565b5060010190565b8181038181111561054e5761054e611117565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b808202811582820484141761054e5761054e611117565b8082018082111561054e5761054e611117565b60208082526027908201527f5472616e7366657220416d6f756e74206578636565647320746865206d6178546040820152661e105b5bdd5b9d60ca1b606082015260800190565b60008261121c57634e487b7160e01b600052601260045260246000fd5b50049056fea2646970667358221220aca2e420101a6e6c79d6394724f80daeac20cd2a5d5257162e8ca4b6e30ccdd564736f6c63430008110033
Deployed Bytecode
0x6080604052600436106101445760003560e01c80635342acb4116100b657806395d89b411161006f57806395d89b41146103c4578063a457c2d7146103ef578063a9059cbb1461040f578063ad63043e1461042f578063dd62ed3e14610468578063ea2f0b37146104ae57600080fd5b80635342acb4146102ed5780636fcba3771461032657806370a0823114610346578063715018a61461037c5780638768b9e8146103915780638da5cb5b146103a657600080fd5b806323b872dd1161010857806323b872dd14610231578063243bcfcb14610251578063313ce56714610271578063395093511461028d578063437823ec146102ad57806349bd5a5e146102cd57600080fd5b806301339c211461015057806306fdde0314610167578063095ea7b3146101aa5780631694505e146101da57806318160ddd1461021257600080fd5b3661014b57005b600080fd5b34801561015c57600080fd5b506101656104ce565b005b34801561017357600080fd5b506040805180820190915260088152670426c7565436869760c41b60208201525b6040516101a19190610f98565b60405180910390f35b3480156101b657600080fd5b506101ca6101c5366004611002565b61053d565b60405190151581526020016101a1565b3480156101e657600080fd5b506001546101fa906001600160a01b031681565b6040516001600160a01b0390911681526020016101a1565b34801561021e57600080fd5b506008545b6040519081526020016101a1565b34801561023d57600080fd5b506101ca61024c36600461102c565b610554565b34801561025d57600080fd5b5061016561026c366004611068565b6105a6565b34801561027d57600080fd5b50604051600981526020016101a1565b34801561029957600080fd5b506101ca6102a8366004611002565b6105ed565b3480156102b957600080fd5b506101656102c8366004611081565b610624565b3480156102d957600080fd5b506002546101fa906001600160a01b031681565b3480156102f957600080fd5b506101ca610308366004611081565b6001600160a01b031660009081526005602052604090205460ff1690565b34801561033257600080fd5b5061016561034136600461109c565b610672565b34801561035257600080fd5b50610223610361366004611081565b6001600160a01b031660009081526003602052604090205490565b34801561038857600080fd5b50610165610767565b34801561039d57600080fd5b506101656107db565b3480156103b257600080fd5b506000546001600160a01b03166101fa565b3480156103d057600080fd5b50604080518082019091526002815261424360f01b6020820152610194565b3480156103fb57600080fd5b506101ca61040a366004611002565b610871565b34801561041b57600080fd5b506101ca61042a366004611002565b6108a8565b34801561043b57600080fd5b506101ca61044a366004611081565b6001600160a01b031660009081526006602052604090205460ff1690565b34801561047457600080fd5b506102236104833660046110ce565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b3480156104ba57600080fd5b506101656104c9366004611081565b6108b5565b60005b60075481101561053a57600160066000600784815481106104f4576104f4611101565b6000918252602080832091909101546001600160a01b031683528201929092526040019020805460ff1916911515919091179055806105328161112d565b9150506104d1565b50565b600061054a338484610900565b5060015b92915050565b6000610561848484610a24565b6001600160a01b03841660009081526004602090815260408083203380855292529091205461059c918691610597908690611146565b610900565b5060019392505050565b6000546001600160a01b031633146105d95760405162461bcd60e51b81526004016105d090611159565b60405180910390fd5b6105e781633b9aca0061118e565b600c5550565b3360008181526004602090815260408083206001600160a01b0387168452909152812054909161054a9185906105979086906111a5565b6000546001600160a01b0316331461064e5760405162461bcd60e51b81526004016105d090611159565b6001600160a01b03166000908152600560205260409020805460ff19166001179055565b6000546001600160a01b0316331461069c5760405162461bcd60e51b81526004016105d090611159565b60086106a88585610e24565b11156106f65760405162461bcd60e51b815260206004820152601e60248201527f427579206665652063616e277420676f20686967686572207468616e2038000060448201526064016105d0565b600d849055600e839055600861070c8383610e24565b111561075a5760405162461bcd60e51b815260206004820152601f60248201527f53656c6c206665652063616e277420676f20686967686572207468616e20380060448201526064016105d0565b600f919091556010555050565b6000546001600160a01b031633146107915760405162461bcd60e51b81526004016105d090611159565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146108055760405162461bcd60e51b81526004016105d090611159565b60005b60075481101561053a576001600660006007848154811061082b5761082b611101565b6000918252602080832091909101546001600160a01b031683528201929092526040019020805460ff1916911515919091179055806108698161112d565b915050610808565b3360008181526004602090815260408083206001600160a01b0387168452909152812054909161054a918590610597908690611146565b600061054a338484610a24565b6000546001600160a01b031633146108df5760405162461bcd60e51b81526004016105d090611159565b6001600160a01b03166000908152600660205260409020805460ff19169055565b6001600160a01b0383166109625760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105d0565b6001600160a01b0382166109c35760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105d0565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610a885760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105d0565b60008111610aea5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016105d0565b6001600160a01b038216610b4c5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105d0565b6001600160a01b03831660009081526003602052604081208054839290610b74908490611146565b90915550506001600160a01b038316600090815260056020526040902054819060ff16158015610bbd57506001600160a01b03831660009081526005602052604090205460ff16155b15610da257600c543a118015610be057506002546001600160a01b038581169116145b15610c09576001600160a01b0383166000908152600660205260409020805460ff191660011790555b6002546001600160a01b03848116911614610d2857600780546001810182556000919091527fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c6880180546001600160a01b0319166001600160a01b038516179055600954821115610c8b5760405162461bcd60e51b81526004016105d0906111b8565b600a5482610cae856001600160a01b031660009081526003602052604090205490565b610cb891906111a5565b1115610d1b5760405162461bcd60e51b815260206004820152602c60248201527f5472616e7366657220616d6f756e74206578636565647320746865206d61785760448201526b30b63632ba20b6b7bab73a1760a11b60648201526084016105d0565b610d258285610e8a565b90505b6002546001600160a01b03858116911614610da257600954821115610d5f5760405162461bcd60e51b81526004016105d0906111b8565b6001600160a01b03841660009081526006602052604090205460ff1615610d8557600080fd5b600c543a1115610d955750505050565b610d9f8285610f61565b90505b6001600160a01b03831660009081526003602052604081208054839290610dca9084906111a5565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610e1691815260200190565b60405180910390a350505050565b600080610e3183856111a5565b905083811015610e835760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105d0565b9392505050565b6000806064600d6000015485610ea0919061118e565b610eaa91906111ff565b905060006064600d6001015486610ec1919061118e565b610ecb91906111ff565b9050610ed781836111a5565b3060009081526003602052604081208054909190610ef69084906111a5565b909155503090506001600160a01b0385167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610f3285856111a5565b60405190815260200160405180910390a380610f4e8387611146565b610f589190611146565b95945050505050565b6000806064600f6000015485610f77919061118e565b610f8191906111ff565b905060006064600f6001015486610ec1919061118e565b600060208083528351808285015260005b81811015610fc557858101830151858201604001528201610fa9565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610ffd57600080fd5b919050565b6000806040838503121561101557600080fd5b61101e83610fe6565b946020939093013593505050565b60008060006060848603121561104157600080fd5b61104a84610fe6565b925061105860208501610fe6565b9150604084013590509250925092565b60006020828403121561107a57600080fd5b5035919050565b60006020828403121561109357600080fd5b610e8382610fe6565b600080600080608085870312156110b257600080fd5b5050823594602084013594506040840135936060013592509050565b600080604083850312156110e157600080fd5b6110ea83610fe6565b91506110f860208401610fe6565b90509250929050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006001820161113f5761113f611117565b5060010190565b8181038181111561054e5761054e611117565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b808202811582820484141761054e5761054e611117565b8082018082111561054e5761054e611117565b60208082526027908201527f5472616e7366657220416d6f756e74206578636565647320746865206d6178546040820152661e105b5bdd5b9d60ca1b606082015260800190565b60008261121c57634e487b7160e01b600052601260045260246000fd5b50049056fea2646970667358221220aca2e420101a6e6c79d6394724f80daeac20cd2a5d5257162e8ca4b6e30ccdd564736f6c63430008110033
Deployed Bytecode Sourcemap
11692:8073:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14646:176;;;;;;;;;;;;;:::i;:::-;;13476:83;;;;;;;;;;-1:-1:-1;13546:5:0;;;;;;;;;;;;-1:-1:-1;;;13546:5:0;;;;13476:83;;;;;;;:::i;:::-;;;;;;;;14830:161;;;;;;;;;;-1:-1:-1;14830:161:0;;;;;:::i;:::-;;:::i;:::-;;;1169:14:1;;1162:22;1144:41;;1132:2;1117:18;14830:161:0;1004:187:1;11780:41:0;;;;;;;;;;-1:-1:-1;11780:41:0;;;;-1:-1:-1;;;;;11780:41:0;;;;;;-1:-1:-1;;;;;1386:32:1;;;1368:51;;1356:2;1341:18;11780:41:0;1196:229:1;13753:100:0;;;;;;;;;;-1:-1:-1;13833:12:0;;13753:100;;;1576:25:1;;;1564:2;1549:18;13753:100:0;1430:177:1;14999:266:0;;;;;;;;;;-1:-1:-1;14999:266:0;;;;;:::i;:::-;;:::i;17972:100::-;;;;;;;;;;-1:-1:-1;17972:100:0;;;;;:::i;:::-;;:::i;13662:83::-;;;;;;;;;;-1:-1:-1;13662:83:0;;12285:1;2272:36:1;;2260:2;2245:18;13662:83:0;2130:184:1;15273:215:0;;;;;;;;;;-1:-1:-1;15273:215:0;;;;;:::i;:::-;;:::i;15733:111::-;;;;;;;;;;-1:-1:-1;15733:111:0;;;;;:::i;:::-;;:::i;11828:28::-;;;;;;;;;;-1:-1:-1;11828:28:0;;;;-1:-1:-1;;;;;11828:28:0;;;16015:123;;;;;;;;;;-1:-1:-1;16015:123:0;;;;;:::i;:::-;-1:-1:-1;;;;;16103:27:0;16079:4;16103:27;;;:18;:27;;;;;;;;;16015:123;17407:557;;;;;;;;;;-1:-1:-1;17407:557:0;;;;;:::i;:::-;;:::i;13861:118::-;;;;;;;;;;-1:-1:-1;13861:118:0;;;;;:::i;:::-;-1:-1:-1;;;;;13954:17:0;13927:7;13954:17;;;:8;:17;;;;;;;13861:118;11537:148;;;;;;;;;;;;;:::i;16277:185::-;;;;;;;;;;;;;:::i;11323:79::-;;;;;;;;;;-1:-1:-1;11361:7:0;11388:6;-1:-1:-1;;;;;11388:6:0;11323:79;;13567:87;;;;;;;;;;-1:-1:-1;13639:7:0;;;;;;;;;;;;-1:-1:-1;;;13639:7:0;;;;13567:87;;15496:225;;;;;;;;;;-1:-1:-1;15496:225:0;;;;;:::i;:::-;;:::i;13987:167::-;;;;;;;;;;-1:-1:-1;13987:167:0;;;;;:::i;:::-;;:::i;16146:123::-;;;;;;;;;;-1:-1:-1;16146:123:0;;;;;:::i;:::-;-1:-1:-1;;;;;16234:27:0;16210:4;16234:27;;;:18;:27;;;;;;;;;16146:123;14495:143;;;;;;;;;;-1:-1:-1;14495:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;14603:18:0;;;14576:7;14603:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;14495:143;15856:110;;;;;;;;;;-1:-1:-1;15856:110:0;;;;;:::i;:::-;;:::i;14646:176::-;14696:9;14691:124;14715:14;:21;14711:25;;14691:124;;;14798:4;14758:18;:37;14777:14;14792:1;14777:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;;-1:-1:-1;;;;;14777:17:0;14758:37;;;;;;;;;;;;:44;;-1:-1:-1;;14758:44:0;;;;;;;;;;14738:3;;;;:::i;:::-;;;;14691:124;;;;14646:176::o;14830:161::-;14905:4;14922:39;760:10;14945:7;14954:6;14922:8;:39::i;:::-;-1:-1:-1;14979:4:0;14830:161;;;;;:::o;14999:266::-;15097:4;15114:36;15124:6;15132:9;15143:6;15114:9;:36::i;:::-;-1:-1:-1;;;;;15192:19:0;;;;;;:11;:19;;;;;;;;760:10;15192:33;;;;;;;;;15161:74;;15170:6;;15192:42;;15228:6;;15192:42;:::i;:::-;15161:8;:74::i;:::-;-1:-1:-1;15253:4:0;14999:266;;;;;:::o;17972:100::-;11450:6;;-1:-1:-1;;;;;11450:6:0;760:10;11450:22;11442:67;;;;-1:-1:-1;;;11442:67:0;;;;;;;:::i;:::-;;;;;;;;;18045:19:::1;:10:::0;18058:6:::1;18045:19;:::i;:::-;18035:7;:29:::0;-1:-1:-1;17972:100:0:o;15273:215::-;760:10;15361:4;15410:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;15410:34:0;;;;;;;;;;15361:4;;15378:80;;15401:7;;15410:47;;15447:10;;15410:47;:::i;15733:111::-;11450:6;;-1:-1:-1;;;;;11450:6:0;760:10;11450:22;11442:67;;;;-1:-1:-1;;;11442:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;15802:27:0::1;;::::0;;;:18:::1;:27;::::0;;;;:34;;-1:-1:-1;;15802:34:0::1;15832:4;15802:34;::::0;;15733:111::o;17407:557::-;11450:6;;-1:-1:-1;;;;;11450:6:0;760:10;11450:22;11442:67;;;;-1:-1:-1;;;11442:67:0;;;;;;;:::i;:::-;17620:1:::1;17574:42;:18:::0;17597;17574:22:::1;:42::i;:::-;:47;;17566:90;;;::::0;-1:-1:-1;;;17566:90:0;;4776:2:1;17566:90:0::1;::::0;::::1;4758:21:1::0;4815:2;4795:18;;;4788:30;4854:32;4834:18;;;4827:60;4904:18;;17566:90:0::1;4574:354:1::0;17566:90:0::1;17667:6;:37:::0;;;17715:16;:36;;;17820:1:::1;17772:44;:19:::0;17796;17772:23:::1;:44::i;:::-;:49;;17764:93;;;::::0;-1:-1:-1;;;17764:93:0;;5135:2:1;17764:93:0::1;::::0;::::1;5117:21:1::0;5174:2;5154:18;;;5147:30;5213:33;5193:18;;;5186:61;5264:18;;17764:93:0::1;4933:355:1::0;17764:93:0::1;17868:7;:39:::0;;;;17918:17;:38;-1:-1:-1;;17407:557:0:o;11537:148::-;11450:6;;-1:-1:-1;;;;;11450:6:0;760:10;11450:22;11442:67;;;;-1:-1:-1;;;11442:67:0;;;;;;;:::i;:::-;11644:1:::1;11628:6:::0;;11607:40:::1;::::0;-1:-1:-1;;;;;11628:6:0;;::::1;::::0;11607:40:::1;::::0;11644:1;;11607:40:::1;11675:1;11658:19:::0;;-1:-1:-1;;;;;;11658:19:0::1;::::0;;11537:148::o;16277:185::-;11450:6;;-1:-1:-1;;;;;11450:6:0;760:10;11450:22;11442:67;;;;-1:-1:-1;;;11442:67:0;;;;;;;:::i;:::-;16336:9:::1;16331:124;16355:14;:21:::0;16351:25;::::1;16331:124;;;16438:4;16398:18;:37;16417:14;16432:1;16417:17;;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;;;;::::1;::::0;-1:-1:-1;;;;;16417:17:0::1;16398:37:::0;;;::::1;::::0;;;;;;;;:44;;-1:-1:-1;;16398:44:0::1;::::0;::::1;;::::0;;;::::1;::::0;;16378:3;::::1;::::0;::::1;:::i;:::-;;;;16331:124;;15496:225:::0;760:10;15589:4;15638:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;15638:34:0;;;;;;;;;;15589:4;;15606:85;;15629:7;;15638:52;;15675:15;;15638:52;:::i;13987:167::-;14065:4;14082:42;760:10;14106:9;14117:6;14082:9;:42::i;15856:110::-;11450:6;;-1:-1:-1;;;;;11450:6:0;760:10;11450:22;11442:67;;;;-1:-1:-1;;;11442:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;15923:27:0::1;15953:5;15923:27:::0;;;:18:::1;:27;::::0;;;;:35;;-1:-1:-1;;15923:35:0::1;::::0;;15856:110::o;18080:337::-;-1:-1:-1;;;;;18173:19:0;;18165:68;;;;-1:-1:-1;;;18165:68:0;;5495:2:1;18165:68:0;;;5477:21:1;5534:2;5514:18;;;5507:30;5573:34;5553:18;;;5546:62;-1:-1:-1;;;5624:18:1;;;5617:34;5668:19;;18165:68:0;5293:400:1;18165:68:0;-1:-1:-1;;;;;18252:21:0;;18244:68;;;;-1:-1:-1;;;18244:68:0;;5900:2:1;18244:68:0;;;5882:21:1;5939:2;5919:18;;;5912:30;5978:34;5958:18;;;5951:62;-1:-1:-1;;;6029:18:1;;;6022:32;6071:19;;18244:68:0;5698:398:1;18244:68:0;-1:-1:-1;;;;;18325:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;18377:32;;1576:25:1;;;18377:32:0;;1549:18:1;18377:32:0;;;;;;;18080:337;;;:::o;18425:1337::-;-1:-1:-1;;;;;18513:18:0;;18505:68;;;;-1:-1:-1;;;18505:68:0;;6303:2:1;18505:68:0;;;6285:21:1;6342:2;6322:18;;;6315:30;6381:34;6361:18;;;6354:62;-1:-1:-1;;;6432:18:1;;;6425:35;6477:19;;18505:68:0;6101:401:1;18505:68:0;18601:1;18592:6;:10;18584:64;;;;-1:-1:-1;;;18584:64:0;;6709:2:1;18584:64:0;;;6691:21:1;6748:2;6728:18;;;6721:30;6787:34;6767:18;;;6760:62;-1:-1:-1;;;6838:18:1;;;6831:39;6887:19;;18584:64:0;6507:405:1;18584:64:0;-1:-1:-1;;;;;18667:16:0;;18659:64;;;;-1:-1:-1;;;18659:64:0;;7119:2:1;18659:64:0;;;7101:21:1;7158:2;7138:18;;;7131:30;7197:34;7177:18;;;7170:62;-1:-1:-1;;;7248:18:1;;;7241:33;7291:19;;18659:64:0;6917:399:1;18659:64:0;-1:-1:-1;;;;;18736:14:0;;;;;;:8;:14;;;;;:24;;18754:6;;18736:14;:24;;18754:6;;18736:24;:::i;:::-;;;;-1:-1:-1;;;;;;;18820:24:0;;18771:22;18820:24;;;:18;:24;;;;;;18796:6;;18820:24;;18819:25;:52;;;;-1:-1:-1;;;;;;18849:22:0;;;;;;:18;:22;;;;;;;;18848:23;18819:52;18815:839;;;18906:7;;18892:11;:21;:46;;;;-1:-1:-1;18925:13:0;;-1:-1:-1;;;;;18917:21:0;;;18925:13;;18917:21;18892:46;18888:116;;;-1:-1:-1;;;;;18959:22:0;;;;;;:18;:22;;;;;:29;;-1:-1:-1;;18959:29:0;18984:4;18959:29;;;18888:116;19030:13;;-1:-1:-1;;;;;19024:19:0;;;19030:13;;19024:19;19020:338;;19047:14;:23;;;;;;;-1:-1:-1;19047:23:0;;;;;;;;-1:-1:-1;;;;;;19047:23:0;-1:-1:-1;;;;;19047:23:0;;;;;19107:12;;19097:22;;;19089:74;;;;-1:-1:-1;;;19089:74:0;;;;;;;:::i;:::-;19216:16;;19206:6;19190:13;19200:2;-1:-1:-1;;;;;13954:17:0;13927:7;13954:17;;;:8;:17;;;;;;;13861:118;19190:13;:22;;;;:::i;:::-;:42;;19182:99;;;;-1:-1:-1;;;19182:99:0;;7931:2:1;19182:99:0;;;7913:21:1;7970:2;7950:18;;;7943:30;8009:34;7989:18;;;7982:62;-1:-1:-1;;;8060:18:1;;;8053:42;8112:19;;19182:99:0;7729:408:1;19182:99:0;19317:25;19329:6;19337:4;19317:11;:25::i;:::-;19300:42;;19020:338;19386:13;;-1:-1:-1;;;;;19378:21:0;;;19386:13;;19378:21;19374:269;;19438:12;;19428:6;:22;;19420:74;;;;-1:-1:-1;;;19420:74:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;19505:24:0;;;;;;:18;:24;;;;;;;;19504:25;19496:34;;;;;;19550:7;;19536:11;:21;19532:34;;;19559:7;18425:1337;;;:::o;19532:34::-;19601:26;19614:6;19622:4;19601:12;:26::i;:::-;19584:43;;19374:269;-1:-1:-1;;;;;19674:12:0;;;;;;:8;:12;;;;;:30;;19690:14;;19674:12;:30;;19690:14;;19674:30;:::i;:::-;;;;;;;;19735:2;-1:-1:-1;;;;;19720:34:0;19729:4;-1:-1:-1;;;;;19720:34:0;;19739:14;19720:34;;;;1576:25:1;;1564:2;1549:18;;1430:177;19720:34:0;;;;;;;;18494:1268;18425:1337;;;:::o;932:179::-;990:7;;1022:5;1026:1;1022;:5;:::i;:::-;1010:17;;1051:1;1046;:6;;1038:46;;;;-1:-1:-1;;;1038:46:0;;8344:2:1;1038:46:0;;;8326:21:1;8383:2;8363:18;;;8356:30;8422:29;8402:18;;;8395:57;8469:18;;1038:46:0;8142:351:1;1038:46:0;1102:1;932:179;-1:-1:-1;;;932:179:0:o;16474:457::-;16542:7;16562:25;16618:3;16599:6;:16;;;16590:6;:25;;;;:::i;:::-;:31;;;;:::i;:::-;16562:59;;16633:26;16690:3;16671:6;:16;;;16662:6;:25;;;;:::i;:::-;:31;;;;:::i;:::-;16633:60;-1:-1:-1;16732:38:0;16633:60;16732:17;:38;:::i;:::-;16722:4;16705:23;;;;:8;:23;;;;;:65;;:23;;;:65;;;;;:::i;:::-;;;;-1:-1:-1;16812:4:0;;-1:-1:-1;;;;;;16788:70:0;;;16819:38;16840:17;16819:18;:38;:::i;:::-;16788:70;;1576:25:1;;;1564:2;1549:18;16788:70:0;;;;;;;16904:18;16877:25;16885:17;16877:6;:25;:::i;:::-;:45;;;;:::i;:::-;16869:54;16474:457;-1:-1:-1;;;;;16474:457:0:o;16939:460::-;17008:7;17028:25;17085:3;17065:7;:17;;;17056:6;:26;;;;:::i;:::-;:32;;;;:::i;:::-;17028:60;;17100:26;17158:3;17138:7;:17;;;17129:6;:26;;;;:::i;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;1945:180::-;2004:6;2057:2;2045:9;2036:7;2032:23;2028:32;2025:52;;;2073:1;2070;2063:12;2025:52;-1:-1:-1;2096:23:1;;1945:180;-1:-1:-1;1945:180:1:o;2319:186::-;2378:6;2431:2;2419:9;2410:7;2406:23;2402:32;2399:52;;;2447:1;2444;2437:12;2399:52;2470:29;2489:9;2470:29;:::i;2718:385::-;2804:6;2812;2820;2828;2881:3;2869:9;2860:7;2856:23;2852:33;2849:53;;;2898:1;2895;2888:12;2849:53;-1:-1:-1;;2921:23:1;;;2991:2;2976:18;;2963:32;;-1:-1:-1;3042:2:1;3027:18;;3014:32;;3093:2;3078:18;3065:32;;-1:-1:-1;2718:385:1;-1:-1:-1;2718:385:1:o;3108:260::-;3176:6;3184;3237:2;3225:9;3216:7;3212:23;3208:32;3205:52;;;3253:1;3250;3243:12;3205:52;3276:29;3295:9;3276:29;:::i;:::-;3266:39;;3324:38;3358:2;3347:9;3343:18;3324:38;:::i;:::-;3314:48;;3108:260;;;;;:::o;3373:127::-;3434:10;3429:3;3425:20;3422:1;3415:31;3465:4;3462:1;3455:15;3489:4;3486:1;3479:15;3505:127;3566:10;3561:3;3557:20;3554:1;3547:31;3597:4;3594:1;3587:15;3621:4;3618:1;3611:15;3637:135;3676:3;3697:17;;;3694:43;;3717:18;;:::i;:::-;-1:-1:-1;3764:1:1;3753:13;;3637:135::o;3777:128::-;3844:9;;;3865:11;;;3862:37;;;3879:18;;:::i;3910:356::-;4112:2;4094:21;;;4131:18;;;4124:30;4190:34;4185:2;4170:18;;4163:62;4257:2;4242:18;;3910:356::o;4271:168::-;4344:9;;;4375;;4392:15;;;4386:22;;4372:37;4362:71;;4413:18;;:::i;4444:125::-;4509:9;;;4530:10;;;4527:36;;;4543:18;;:::i;7321:403::-;7523:2;7505:21;;;7562:2;7542:18;;;7535:30;7601:34;7596:2;7581:18;;7574:62;-1:-1:-1;;;7667:2:1;7652:18;;7645:37;7714:3;7699:19;;7321:403::o;8498:217::-;8538:1;8564;8554:132;;8608:10;8603:3;8599:20;8596:1;8589:31;8643:4;8640:1;8633:15;8671:4;8668:1;8661:15;8554:132;-1:-1:-1;8700:9:1;;8498:217::o
Swarm Source
ipfs://aca2e420101a6e6c79d6394724f80daeac20cd2a5d5257162e8ca4b6e30ccdd5
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.