ERC-20
Overview
Max Total Supply
420,690,000,000 Ho
Holders
5
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
3,590,074,084.649175685 HoValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
Hopium
Compiler Version
v0.8.20+commit.a1b79de6
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-09-24 */ // SPDX-License-Identifier: MIT // https://t.me/hopium_portal pragma solidity ^0.8.20; library SafeMath { function mul(uint256 a, uint256 b) internal pure returns (uint256) { return a * b; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return a / b; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return a - b; } } abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor() { _transferOwnership(_msgSender()); } modifier onlyOwner() { _checkOwner(); _; } function owner() public view virtual returns (address) { return _owner; } function _checkOwner() internal view virtual { require(owner() == _msgSender(), "Ownable: caller is not the owner"); } function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } interface IERC20 { event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address to, 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 from, address to, uint256 amount) external returns (bool); } interface IERC20Metadata is IERC20 { function name() external view returns (string memory); function symbol() external view returns (string memory); function decimals() external view returns (uint8); } contract ERC20 is Context, IERC20, IERC20Metadata { mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; uint256 private _totalSupply; string private _name; string private _symbol; uint8 private _decimals; constructor(string memory name_, string memory symbol_, uint8 decimals_) { _name = name_; _symbol = symbol_; _decimals = decimals_; } 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 to, uint256 amount) public virtual override returns (bool) { address owner = _msgSender(); _transfer(owner, to, 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) { address owner = _msgSender(); _approve(owner, spender, amount); return true; } function transferFrom(address from, address to, uint256 amount) public virtual override returns (bool) { address spender = _msgSender(); _spendAllowance(from, spender, amount); _transfer(from, to, amount); return true; } function _transfer(address from, address to, uint256 amount) internal virtual { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); _beforeTokenTransfer(from, to, amount); uint256 fromBalance = _balances[from]; require(fromBalance >= amount, "ERC20: transfer amount exceeds balance"); unchecked { _balances[from] = fromBalance - amount; // Overflow not possible: the sum of all balances is capped by totalSupply, and the sum is preserved by // decrementing then incrementing. _balances[to] += amount; } emit Transfer(from, to, amount); _afterTokenTransfer(from, to, amount); } function _mint(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: mint to the zero address"); _beforeTokenTransfer(address(0), account, amount); _totalSupply += amount; unchecked { // Overflow not possible: balance + amount is at most totalSupply + amount, which is checked above. _balances[account] += amount; } emit Transfer(address(0), account, amount); _afterTokenTransfer(address(0), account, amount); } function _approve(address owner, address spender, uint256 amount) internal virtual { 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 _spendAllowance(address owner, address spender, uint256 amount) internal virtual { uint256 currentAllowance = allowance(owner, spender); if (currentAllowance != type(uint256).max) { require(currentAllowance >= amount, "ERC20: insufficient allowance"); unchecked { _approve(owner, spender, currentAllowance - amount); } } } function _beforeTokenTransfer(address from, address to, uint256 amount) internal virtual {} function _afterTokenTransfer(address from, address to, uint256 amount) internal virtual {} } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router02 { function factory() external pure returns (address); function WETH() external pure returns (address); function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); } contract Hopium is ERC20, Ownable { using SafeMath for uint256; IUniswapV2Router02 public uniswapV2Router; address public uniswapV2Pair; address public constant deadAddress = address(0xdead); address public constant zeroAddress = address(0); bool private tradingEnabled = false; bool private swapEnabled = false; bool private swapping; uint256 public swapTokensAtAmount; uint256 private maxTaxSwap; // Anti-bot and anti-whale mappings and variables mapping(address => uint256) private _holderLastTransferTimestamp; //Keep last transfer timestamp temporarily during launch bool private transferDelayEnabled = true; //Protect launch from bots address public taxWallet; struct Taxes { uint256 buy; uint256 sell; } Taxes public taxes; uint256 public maxTransactionAmount; uint256 public maxWallet; mapping(address => bool) private isExcludedFromFees; mapping(address => bool) private isExcludedMaxTransactionAmount; mapping(address => bool) private pairs; constructor() ERC20("Hopium", "Ho", 9) { IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapV2Router = _uniswapV2Router; isExcludedMaxTransactionAmount[address(_uniswapV2Router)] = true; uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH()); pairs[address(uniswapV2Pair)] = true; isExcludedMaxTransactionAmount[address(uniswapV2Pair)] = true; uint256 totalSupply = 420690000000 * 10**decimals(); maxTransactionAmount = totalSupply.mul(2).div(100); maxWallet = totalSupply.mul(2).div(100); swapTokensAtAmount = totalSupply.mul(1).div(1000); maxTaxSwap = totalSupply.mul(12).div(1000); taxes = Taxes(10, 15); taxWallet = _msgSender(); isExcludedFromFees[owner()] = true; isExcludedFromFees[address(this)] = true; isExcludedFromFees[taxWallet] = true; isExcludedMaxTransactionAmount[owner()] = true; isExcludedMaxTransactionAmount[address(this)] = true; isExcludedMaxTransactionAmount[deadAddress] = true; isExcludedMaxTransactionAmount[taxWallet] = true; _mint(_msgSender(), totalSupply); } receive() external payable {} function min(uint256 a, uint256 b) private pure returns (uint256) { return (a > b) ? b : a; } function openTrading() external onlyOwner() { require(!tradingEnabled, "Trading is already open"); tradingEnabled = swapEnabled = true; } function removeLimits() external onlyOwner { maxTransactionAmount = maxWallet = totalSupply(); taxes = Taxes(1, 1); transferDelayEnabled = false; } function _transfer(address from, address to, uint256 amount) internal override { require(from != zeroAddress, "ERC20: transfer from the zero address."); require(to != zeroAddress, "ERC20: transfer to the zero address."); require(amount > 0, "ERC20: transfer amount must be greater than zero."); if (from != owner() && to != owner() && to != zeroAddress && to != deadAddress && !swapping) { if (!tradingEnabled) { require(isExcludedFromFees[from] || isExcludedFromFees[to], "Trading is not active."); } //if the transfer delay is enabled at launch if (transferDelayEnabled) { if (to != owner() && to != address(uniswapV2Router) && to != address(uniswapV2Pair)) { require(_holderLastTransferTimestamp[tx.origin] < block.number, "Only one purchase per block allowed."); _holderLastTransferTimestamp[tx.origin] = block.number; } } if (pairs[from] && !isExcludedMaxTransactionAmount[to]) { require(amount <= maxTransactionAmount, "Buy transfer amount exceeds the max transaction amount."); require(amount + balanceOf(to) <= maxWallet, "Max wallet exceeded."); } else if (pairs[to] && !isExcludedMaxTransactionAmount[from]) { require(amount <= maxTransactionAmount, "Sell transfer amount exceeds the max transaction amount."); } else if (!isExcludedMaxTransactionAmount[to]) { require(amount + balanceOf(to) <= maxWallet, "Max wallet exceeded."); } } bool takeFee = !swapping; if (isExcludedFromFees[from] || isExcludedFromFees[to]) { takeFee = false; } uint256 fees = 0; if (takeFee) { if (pairs[to] && taxes.sell > 0) { fees = amount.mul(taxes.sell).div(100); } else if (pairs[from] && taxes.buy > 0) { fees = amount.mul(taxes.buy).div(100); } amount -= fees; } uint256 contractBalance = balanceOf(address(this)); bool canSwap = contractBalance >= swapTokensAtAmount; if ( canSwap && swapEnabled && !swapping && !pairs[from] && !isExcludedFromFees[from] && !isExcludedFromFees[to] ) { swapping = true; bool success; swapTokensForEth(min(amount, min(contractBalance, maxTaxSwap))); (success, ) = address(taxWallet).call{value: address(this).balance}(""); swapping = false; } if (fees > 0) { super._transfer(from, address(this), fees); } super._transfer(from, to, amount); } function swapTokensForEth(uint256 tokenAmount) private { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } }
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":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTransactionAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"taxWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"taxes","outputs":[{"internalType":"uint256","name":"buy","type":"uint256"},{"internalType":"uint256","name":"sell","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","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"},{"inputs":[],"name":"zeroAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040526007805461ffff60a01b19169055600b805460ff191660011790553480156200002b575f80fd5b5060405180604001604052806006815260200165486f7069756d60d01b81525060405180604001604052806002815260200161486f60f01b8152506009826003908162000079919062000636565b50600462000088838262000636565b506005805460ff191660ff9290921691909117905550620000b29050620000ac3390565b62000452565b600680546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091555f819052601160209081527fa30c5df85d30b252583f3563cb2bd6456399154fbc658c188bf804ed074c64d6805460ff191660011790556040805163c45a015560e01b81529051839263c45a015592600480820193918290030181865afa15801562000149573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200016f9190620006fe565b6001600160a01b031663c9c653963060065f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001cf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001f59190620006fe565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801562000240573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002669190620006fe565b600780546001600160a01b0319166001600160a01b0392831690811782555f908152601260209081526040808320805460ff199081166001908117909255945490951683526011909152812080549092169092179055620002c960055460ff1690565b620002d690600a6200083a565b620002e7906461f313f8806200084a565b9050620003036064620002fc836002620004ab565b90620004c1565b600e55620003196064620002fc836002620004ab565b600f55620003306103e8620002fc836001620004ab565b600855620003476103e8620002fc83600c620004ab565b600955604080518082018252600a808252600f6020928301819052600c91909155600d55600b8054610100600160a81b03191633610100818102929092178355600580546001600160a01b039084900481165f90815260108752878120805460ff199081166001908117909255308084528a842080548316841790558854889004851684528a842080548316841790559454879004841683526011909852888220805489168217905592815287812080548816841790557f97847ee99463795296047093514439c3127772df3715e628aa85601cf8541716805488168417905594549390930490921683529390912080549092161790556200044a9082620004ce565b50506200089a565b600580546001600160a01b03838116610100818102610100600160a81b031985161790945560405193909204169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b5f620004b882846200084a565b90505b92915050565b5f620004b8828462000864565b6001600160a01b038216620005295760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640160405180910390fd5b8060025f8282546200053c919062000884565b90915550506001600160a01b0382165f81815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c90821680620005c057607f821691505b602082108103620005df57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111562000592575f81815260208120601f850160051c810160208610156200060d5750805b601f850160051c820191505b818110156200062e5782815560010162000619565b505050505050565b81516001600160401b0381111562000652576200065262000597565b6200066a81620006638454620005ab565b84620005e5565b602080601f831160018114620006a0575f8415620006885750858301515b5f19600386901b1c1916600185901b1785556200062e565b5f85815260208120601f198616915b82811015620006d057888601518255948401946001909101908401620006af565b5085821015620006ee57878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b5f602082840312156200070f575f80fd5b81516001600160a01b038116811462000726575f80fd5b9392505050565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200078157815f19048211156200076557620007656200072d565b808516156200077357918102915b93841c939080029062000746565b509250929050565b5f826200079957506001620004bb565b81620007a757505f620004bb565b8160018114620007c05760028114620007cb57620007eb565b6001915050620004bb565b60ff841115620007df57620007df6200072d565b50506001821b620004bb565b5060208310610133831016604e8410600b841016171562000810575081810a620004bb565b6200081c838362000741565b805f19048211156200083257620008326200072d565b029392505050565b5f620004b860ff84168362000789565b8082028115828204841417620004bb57620004bb6200072d565b5f826200087f57634e487b7160e01b5f52601260045260245ffd5b500490565b80820180821115620004bb57620004bb6200072d565b6115de80620008a85f395ff3fe608060405260043610610134575f3560e01c8063715018a6116100a8578063a9059cbb1161006d578063a9059cbb1461035b578063c8c8ebe41461037a578063c9567bf91461038f578063dd62ed3e146103a3578063e2f45605146103e7578063f8b45b05146103fc575f80fd5b8063715018a6146102cc578063728f8eea146102e2578063751039fc146103115780638da5cb5b1461032557806395d89b4114610347575f80fd5b806323b872dd116100f957806323b872dd1461020057806327c8f8351461021f5780632dc0562d14610234578063313ce5671461025857806349bd5a5e1461027957806370a0823114610298575f80fd5b806306fdde031461013f5780630930907b14610169578063095ea7b3146101945780631694505e146101c357806318160ddd146101e2575f80fd5b3661013b57005b5f80fd5b34801561014a575f80fd5b50610153610411565b604051610160919061134c565b60405180910390f35b348015610174575f80fd5b5061017c5f81565b6040516001600160a01b039091168152602001610160565b34801561019f575f80fd5b506101b36101ae3660046113ae565b6104a1565b6040519015158152602001610160565b3480156101ce575f80fd5b5060065461017c906001600160a01b031681565b3480156101ed575f80fd5b506002545b604051908152602001610160565b34801561020b575f80fd5b506101b361021a3660046113d8565b6104ba565b34801561022a575f80fd5b5061017c61dead81565b34801561023f575f80fd5b50600b5461017c9061010090046001600160a01b031681565b348015610263575f80fd5b5060055460405160ff9091168152602001610160565b348015610284575f80fd5b5060075461017c906001600160a01b031681565b3480156102a3575f80fd5b506101f26102b2366004611416565b6001600160a01b03165f9081526020819052604090205490565b3480156102d7575f80fd5b506102e06104dd565b005b3480156102ed575f80fd5b50600c54600d546102fc919082565b60408051928352602083019190915201610160565b34801561031c575f80fd5b506102e06104f0565b348015610330575f80fd5b5060055461010090046001600160a01b031661017c565b348015610352575f80fd5b5061015361052e565b348015610366575f80fd5b506101b36103753660046113ae565b61053d565b348015610385575f80fd5b506101f2600e5481565b34801561039a575f80fd5b506102e061054a565b3480156103ae575f80fd5b506101f26103bd366004611431565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b3480156103f2575f80fd5b506101f260085481565b348015610407575f80fd5b506101f2600f5481565b60606003805461042090611468565b80601f016020809104026020016040519081016040528092919081815260200182805461044c90611468565b80156104975780601f1061046e57610100808354040283529160200191610497565b820191905f5260205f20905b81548152906001019060200180831161047a57829003601f168201915b5050505050905090565b5f336104ae8185856105c8565b60019150505b92915050565b5f336104c78582856106eb565b6104d285858561077b565b506001949350505050565b6104e5610f70565b6104ee5f610fd0565b565b6104f8610f70565b600254600f819055600e556040805180820190915260018082526020909101819052600c819055600d55600b805460ff19169055565b60606004805461042090611468565b5f336104ae81858561077b565b610552610f70565b600754600160a01b900460ff16156105b15760405162461bcd60e51b815260206004820152601760248201527f54726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064015b60405180910390fd5b6007805461ffff60a01b191661010160a01b179055565b6001600160a01b03831661062a5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105a8565b6001600160a01b03821661068b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105a8565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038381165f908152600160209081526040808320938616835292905220545f19811461077557818110156107685760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016105a8565b61077584848484036105c8565b50505050565b6001600160a01b0383166107e05760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015265323932b9b99760d11b60648201526084016105a8565b6001600160a01b0382166108425760405162461bcd60e51b8152602060048201526024808201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526332b9b99760e11b60648201526084016105a8565b5f81116108ab5760405162461bcd60e51b815260206004820152603160248201527f45524332303a207472616e7366657220616d6f756e74206d75737420626520676044820152703932b0ba32b9103a3430b7103d32b9379760791b60648201526084016105a8565b6005546001600160a01b0384811661010090920416148015906108e157506005546001600160a01b038381166101009092041614155b80156108f557506001600160a01b03821615155b801561090c57506001600160a01b03821661dead14155b80156109225750600754600160b01b900460ff16155b15610d0057600754600160a01b900460ff166109ba576001600160a01b0383165f9081526010602052604090205460ff168061097557506001600160a01b0382165f9081526010602052604090205460ff165b6109ba5760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b60448201526064016105a8565b600b5460ff1615610a90576005546001600160a01b0383811661010090920416148015906109f657506006546001600160a01b03838116911614155b8015610a1057506007546001600160a01b03838116911614155b15610a9057325f908152600a60205260409020544311610a7e5760405162461bcd60e51b8152602060048201526024808201527f4f6e6c79206f6e652070757263686173652070657220626c6f636b20616c6c6f6044820152633bb2b21760e11b60648201526084016105a8565b325f908152600a602052604090204390555b6001600160a01b0383165f9081526012602052604090205460ff168015610acf57506001600160a01b0382165f9081526011602052604090205460ff16155b15610bbb57600e54811115610b4c5760405162461bcd60e51b815260206004820152603760248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201527f6d6178207472616e73616374696f6e20616d6f756e742e00000000000000000060648201526084016105a8565b600f546001600160a01b0383165f90815260208190526040902054610b7190836114ae565b1115610bb65760405162461bcd60e51b815260206004820152601460248201527326b0bc103bb0b63632ba1032bc31b2b2b232b21760611b60448201526064016105a8565b610d00565b6001600160a01b0382165f9081526012602052604090205460ff168015610bfa57506001600160a01b0383165f9081526011602052604090205460ff16155b15610c7757600e54811115610bb65760405162461bcd60e51b815260206004820152603860248201527f53656c6c207472616e7366657220616d6f756e7420657863656564732074686560448201527f206d6178207472616e73616374696f6e20616d6f756e742e000000000000000060648201526084016105a8565b6001600160a01b0382165f9081526011602052604090205460ff16610d0057600f546001600160a01b0383165f90815260208190526040902054610cbb90836114ae565b1115610d005760405162461bcd60e51b815260206004820152601460248201527326b0bc103bb0b63632ba1032bc31b2b2b232b21760611b60448201526064016105a8565b6007546001600160a01b0384165f9081526010602052604090205460ff600160b01b909204821615911680610d4c57506001600160a01b0383165f9081526010602052604090205460ff165b15610d5457505f5b5f8115610dfc576001600160a01b0384165f9081526012602052604090205460ff168015610d835750600d5415155b15610daa57600d54610da390606490610d9d908690611029565b9061103b565b9050610def565b6001600160a01b0385165f9081526012602052604090205460ff168015610dd25750600c5415155b15610def57600c54610dec90606490610d9d908690611029565b90505b610df981846114c1565b92505b305f9081526020819052604090205460085481108015908190610e285750600754600160a81b900460ff165b8015610e3e5750600754600160b01b900460ff16155b8015610e6257506001600160a01b0387165f9081526012602052604090205460ff16155b8015610e8657506001600160a01b0387165f9081526010602052604090205460ff16155b8015610eaa57506001600160a01b0386165f9081526010602052604090205460ff16155b15610f4b576007805460ff60b01b1916600160b01b1790556009545f90610ee690610ee1908890610edc908790611046565b611046565b61105a565b600b546040516101009091046001600160a01b03169047905f81818185875af1925050503d805f8114610f34576040519150601f19603f3d011682016040523d82523d5f602084013e610f39565b606091505b50506007805460ff60b01b1916905550505b8215610f5c57610f5c8730856111aa565b610f678787876111aa565b50505050505050565b6005546001600160a01b036101009091041633146104ee5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105a8565b600580546001600160a01b03838116610100818102610100600160a81b031985161790945560405193909204169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b5f61103482846114d4565b9392505050565b5f61103482846114eb565b5f8183116110545782611034565b50919050565b6040805160028082526060820183525f9260208301908036833701905050905030815f8151811061108d5761108d61150a565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156110e4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611108919061151e565b8160018151811061111b5761111b61150a565b6001600160a01b03928316602091820292909201015260065461114191309116846105c8565b60065460405163791ac94760e01b81526001600160a01b039091169063791ac947906111799085905f90869030904290600401611539565b5f604051808303815f87803b158015611190575f80fd5b505af11580156111a2573d5f803e3d5ffd5b505050505050565b6001600160a01b03831661120e5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105a8565b6001600160a01b0382166112705760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105a8565b6001600160a01b0383165f90815260208190526040902054818110156112e75760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016105a8565b6001600160a01b038481165f81815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610775565b5f6020808352835180828501525f5b818110156113775785810183015185820160400152820161135b565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146113ab575f80fd5b50565b5f80604083850312156113bf575f80fd5b82356113ca81611397565b946020939093013593505050565b5f805f606084860312156113ea575f80fd5b83356113f581611397565b9250602084013561140581611397565b929592945050506040919091013590565b5f60208284031215611426575f80fd5b813561103481611397565b5f8060408385031215611442575f80fd5b823561144d81611397565b9150602083013561145d81611397565b809150509250929050565b600181811c9082168061147c57607f821691505b60208210810361105457634e487b7160e01b5f52602260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b808201808211156104b4576104b461149a565b818103818111156104b4576104b461149a565b80820281158282048414176104b4576104b461149a565b5f8261150557634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f6020828403121561152e575f80fd5b815161103481611397565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156115875784516001600160a01b031683529383019391830191600101611562565b50506001600160a01b0396909616606085015250505060800152939250505056fea264697066735822122046e99fe5c2926a065988fbacd220e9b482be9e3e6b806a2926c1bfb7b6c37bcb64736f6c63430008140033
Deployed Bytecode
0x608060405260043610610134575f3560e01c8063715018a6116100a8578063a9059cbb1161006d578063a9059cbb1461035b578063c8c8ebe41461037a578063c9567bf91461038f578063dd62ed3e146103a3578063e2f45605146103e7578063f8b45b05146103fc575f80fd5b8063715018a6146102cc578063728f8eea146102e2578063751039fc146103115780638da5cb5b1461032557806395d89b4114610347575f80fd5b806323b872dd116100f957806323b872dd1461020057806327c8f8351461021f5780632dc0562d14610234578063313ce5671461025857806349bd5a5e1461027957806370a0823114610298575f80fd5b806306fdde031461013f5780630930907b14610169578063095ea7b3146101945780631694505e146101c357806318160ddd146101e2575f80fd5b3661013b57005b5f80fd5b34801561014a575f80fd5b50610153610411565b604051610160919061134c565b60405180910390f35b348015610174575f80fd5b5061017c5f81565b6040516001600160a01b039091168152602001610160565b34801561019f575f80fd5b506101b36101ae3660046113ae565b6104a1565b6040519015158152602001610160565b3480156101ce575f80fd5b5060065461017c906001600160a01b031681565b3480156101ed575f80fd5b506002545b604051908152602001610160565b34801561020b575f80fd5b506101b361021a3660046113d8565b6104ba565b34801561022a575f80fd5b5061017c61dead81565b34801561023f575f80fd5b50600b5461017c9061010090046001600160a01b031681565b348015610263575f80fd5b5060055460405160ff9091168152602001610160565b348015610284575f80fd5b5060075461017c906001600160a01b031681565b3480156102a3575f80fd5b506101f26102b2366004611416565b6001600160a01b03165f9081526020819052604090205490565b3480156102d7575f80fd5b506102e06104dd565b005b3480156102ed575f80fd5b50600c54600d546102fc919082565b60408051928352602083019190915201610160565b34801561031c575f80fd5b506102e06104f0565b348015610330575f80fd5b5060055461010090046001600160a01b031661017c565b348015610352575f80fd5b5061015361052e565b348015610366575f80fd5b506101b36103753660046113ae565b61053d565b348015610385575f80fd5b506101f2600e5481565b34801561039a575f80fd5b506102e061054a565b3480156103ae575f80fd5b506101f26103bd366004611431565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b3480156103f2575f80fd5b506101f260085481565b348015610407575f80fd5b506101f2600f5481565b60606003805461042090611468565b80601f016020809104026020016040519081016040528092919081815260200182805461044c90611468565b80156104975780601f1061046e57610100808354040283529160200191610497565b820191905f5260205f20905b81548152906001019060200180831161047a57829003601f168201915b5050505050905090565b5f336104ae8185856105c8565b60019150505b92915050565b5f336104c78582856106eb565b6104d285858561077b565b506001949350505050565b6104e5610f70565b6104ee5f610fd0565b565b6104f8610f70565b600254600f819055600e556040805180820190915260018082526020909101819052600c819055600d55600b805460ff19169055565b60606004805461042090611468565b5f336104ae81858561077b565b610552610f70565b600754600160a01b900460ff16156105b15760405162461bcd60e51b815260206004820152601760248201527f54726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064015b60405180910390fd5b6007805461ffff60a01b191661010160a01b179055565b6001600160a01b03831661062a5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105a8565b6001600160a01b03821661068b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105a8565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038381165f908152600160209081526040808320938616835292905220545f19811461077557818110156107685760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016105a8565b61077584848484036105c8565b50505050565b6001600160a01b0383166107e05760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015265323932b9b99760d11b60648201526084016105a8565b6001600160a01b0382166108425760405162461bcd60e51b8152602060048201526024808201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526332b9b99760e11b60648201526084016105a8565b5f81116108ab5760405162461bcd60e51b815260206004820152603160248201527f45524332303a207472616e7366657220616d6f756e74206d75737420626520676044820152703932b0ba32b9103a3430b7103d32b9379760791b60648201526084016105a8565b6005546001600160a01b0384811661010090920416148015906108e157506005546001600160a01b038381166101009092041614155b80156108f557506001600160a01b03821615155b801561090c57506001600160a01b03821661dead14155b80156109225750600754600160b01b900460ff16155b15610d0057600754600160a01b900460ff166109ba576001600160a01b0383165f9081526010602052604090205460ff168061097557506001600160a01b0382165f9081526010602052604090205460ff165b6109ba5760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b60448201526064016105a8565b600b5460ff1615610a90576005546001600160a01b0383811661010090920416148015906109f657506006546001600160a01b03838116911614155b8015610a1057506007546001600160a01b03838116911614155b15610a9057325f908152600a60205260409020544311610a7e5760405162461bcd60e51b8152602060048201526024808201527f4f6e6c79206f6e652070757263686173652070657220626c6f636b20616c6c6f6044820152633bb2b21760e11b60648201526084016105a8565b325f908152600a602052604090204390555b6001600160a01b0383165f9081526012602052604090205460ff168015610acf57506001600160a01b0382165f9081526011602052604090205460ff16155b15610bbb57600e54811115610b4c5760405162461bcd60e51b815260206004820152603760248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201527f6d6178207472616e73616374696f6e20616d6f756e742e00000000000000000060648201526084016105a8565b600f546001600160a01b0383165f90815260208190526040902054610b7190836114ae565b1115610bb65760405162461bcd60e51b815260206004820152601460248201527326b0bc103bb0b63632ba1032bc31b2b2b232b21760611b60448201526064016105a8565b610d00565b6001600160a01b0382165f9081526012602052604090205460ff168015610bfa57506001600160a01b0383165f9081526011602052604090205460ff16155b15610c7757600e54811115610bb65760405162461bcd60e51b815260206004820152603860248201527f53656c6c207472616e7366657220616d6f756e7420657863656564732074686560448201527f206d6178207472616e73616374696f6e20616d6f756e742e000000000000000060648201526084016105a8565b6001600160a01b0382165f9081526011602052604090205460ff16610d0057600f546001600160a01b0383165f90815260208190526040902054610cbb90836114ae565b1115610d005760405162461bcd60e51b815260206004820152601460248201527326b0bc103bb0b63632ba1032bc31b2b2b232b21760611b60448201526064016105a8565b6007546001600160a01b0384165f9081526010602052604090205460ff600160b01b909204821615911680610d4c57506001600160a01b0383165f9081526010602052604090205460ff165b15610d5457505f5b5f8115610dfc576001600160a01b0384165f9081526012602052604090205460ff168015610d835750600d5415155b15610daa57600d54610da390606490610d9d908690611029565b9061103b565b9050610def565b6001600160a01b0385165f9081526012602052604090205460ff168015610dd25750600c5415155b15610def57600c54610dec90606490610d9d908690611029565b90505b610df981846114c1565b92505b305f9081526020819052604090205460085481108015908190610e285750600754600160a81b900460ff165b8015610e3e5750600754600160b01b900460ff16155b8015610e6257506001600160a01b0387165f9081526012602052604090205460ff16155b8015610e8657506001600160a01b0387165f9081526010602052604090205460ff16155b8015610eaa57506001600160a01b0386165f9081526010602052604090205460ff16155b15610f4b576007805460ff60b01b1916600160b01b1790556009545f90610ee690610ee1908890610edc908790611046565b611046565b61105a565b600b546040516101009091046001600160a01b03169047905f81818185875af1925050503d805f8114610f34576040519150601f19603f3d011682016040523d82523d5f602084013e610f39565b606091505b50506007805460ff60b01b1916905550505b8215610f5c57610f5c8730856111aa565b610f678787876111aa565b50505050505050565b6005546001600160a01b036101009091041633146104ee5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105a8565b600580546001600160a01b03838116610100818102610100600160a81b031985161790945560405193909204169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b5f61103482846114d4565b9392505050565b5f61103482846114eb565b5f8183116110545782611034565b50919050565b6040805160028082526060820183525f9260208301908036833701905050905030815f8151811061108d5761108d61150a565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156110e4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611108919061151e565b8160018151811061111b5761111b61150a565b6001600160a01b03928316602091820292909201015260065461114191309116846105c8565b60065460405163791ac94760e01b81526001600160a01b039091169063791ac947906111799085905f90869030904290600401611539565b5f604051808303815f87803b158015611190575f80fd5b505af11580156111a2573d5f803e3d5ffd5b505050505050565b6001600160a01b03831661120e5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105a8565b6001600160a01b0382166112705760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105a8565b6001600160a01b0383165f90815260208190526040902054818110156112e75760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016105a8565b6001600160a01b038481165f81815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610775565b5f6020808352835180828501525f5b818110156113775785810183015185820160400152820161135b565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146113ab575f80fd5b50565b5f80604083850312156113bf575f80fd5b82356113ca81611397565b946020939093013593505050565b5f805f606084860312156113ea575f80fd5b83356113f581611397565b9250602084013561140581611397565b929592945050506040919091013590565b5f60208284031215611426575f80fd5b813561103481611397565b5f8060408385031215611442575f80fd5b823561144d81611397565b9150602083013561145d81611397565b809150509250929050565b600181811c9082168061147c57607f821691505b60208210810361105457634e487b7160e01b5f52602260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b808201808211156104b4576104b461149a565b818103818111156104b4576104b461149a565b80820281158282048414176104b4576104b461149a565b5f8261150557634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f6020828403121561152e575f80fd5b815161103481611397565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156115875784516001600160a01b031683529383019391830191600101611562565b50506001600160a01b0396909616606085015250505060800152939250505056fea264697066735822122046e99fe5c2926a065988fbacd220e9b482be9e3e6b806a2926c1bfb7b6c37bcb64736f6c63430008140033
Deployed Bytecode Sourcemap
7340:6306:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2799:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7559:48;;;;;;;;;;;;7605:1;7559:48;;;;;-1:-1:-1;;;;;731:32:1;;;713:51;;701:2;686:18;7559:48:0;567:203:1;3738:201:0;;;;;;;;;;-1:-1:-1;3738:201:0;;;;;:::i;:::-;;:::i;:::-;;;1396:14:1;;1389:22;1371:41;;1359:2;1344:18;3738:201:0;1231:187:1;7416:41:0;;;;;;;;;;-1:-1:-1;7416:41:0;;;;-1:-1:-1;;;;;7416:41:0;;;3127:108;;;;;;;;;;-1:-1:-1;3215:12:0;;3127:108;;;1803:25:1;;;1791:2;1776:18;3127:108:0;1657:177:1;3947:261:0;;;;;;;;;;-1:-1:-1;3947:261:0;;;;;:::i;:::-;;:::i;7499:53::-;;;;;;;;;;;;7545:6;7499:53;;8059:24;;;;;;;;;;-1:-1:-1;8059:24:0;;;;;;;-1:-1:-1;;;;;8059:24:0;;;3019:100;;;;;;;;;;-1:-1:-1;3102:9:0;;3019:100;;3102:9;;;;2442:36:1;;2430:2;2415:18;3019:100:0;2300:184:1;7464:28:0;;;;;;;;;;-1:-1:-1;7464:28:0;;;;-1:-1:-1;;;;;7464:28:0;;;3243:127;;;;;;;;;;-1:-1:-1;3243:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;3344:18:0;3317:7;3344:18;;;;;;;;;;;;3243:127;1123:103;;;;;;;;;;;;;:::i;:::-;;8164:18;;;;;;;;;;-1:-1:-1;8164:18:0;;;;;;;;;;;;;2915:25:1;;;2971:2;2956:18;;2949:34;;;;2888:18;8164::0;2741:248:1;10082:179:0;;;;;;;;;;;;;:::i;888:87::-;;;;;;;;;;-1:-1:-1;961:6:0;;;;;-1:-1:-1;;;;;961:6:0;888:87;;2907:104;;;;;;;;;;;;;:::i;3378:193::-;;;;;;;;;;-1:-1:-1;3378:193:0;;;;;:::i;:::-;;:::i;8191:35::-;;;;;;;;;;;;;;;;9914:160;;;;;;;;;;;;;:::i;3579:151::-;;;;;;;;;;-1:-1:-1;3579:151:0;;;;;:::i;:::-;-1:-1:-1;;;;;3695:18:0;;;3668:7;3695:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;3579:151;7725:33;;;;;;;;;;;;;;;;8233:24;;;;;;;;;;;;;;;;2799:100;2853:13;2886:5;2879:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2799:100;:::o;3738:201::-;3821:4;550:10;3877:32;550:10;3893:7;3902:6;3877:8;:32::i;:::-;3927:4;3920:11;;;3738:201;;;;;:::o;3947:261::-;4044:4;550:10;4102:38;4118:4;550:10;4133:6;4102:15;:38::i;:::-;4151:27;4161:4;4167:2;4171:6;4151:9;:27::i;:::-;-1:-1:-1;4196:4:0;;3947:261;-1:-1:-1;;;;3947:261:0:o;1123:103::-;847:13;:11;:13::i;:::-;1188:30:::1;1215:1;1188:18;:30::i;:::-;1123:103::o:0;10082:179::-;847:13;:11;:13::i;:::-;3215:12;;10159:9:::1;:25:::0;;;10136:20:::1;:48:::0;10203:11:::1;::::0;;;;::::1;::::0;;;-1:-1:-1;10203:11:0;;;::::1;::::0;;::::1;::::0;;;10195:5:::1;:19:::0;;;;;10225:20:::1;:28:::0;;-1:-1:-1;;10225:28:0::1;::::0;;10082:179::o;2907:104::-;2963:13;2996:7;2989:14;;;;;:::i;3378:193::-;3457:4;550:10;3513:28;550:10;3530:2;3534:6;3513:9;:28::i;9914:160::-;847:13;:11;:13::i;:::-;9978:14:::1;::::0;-1:-1:-1;;;9978:14:0;::::1;;;9977:15;9969:51;;;::::0;-1:-1:-1;;;9969:51:0;;3974:2:1;9969:51:0::1;::::0;::::1;3956:21:1::0;4013:2;3993:18;;;3986:30;4052:25;4032:18;;;4025:53;4095:18;;9969:51:0::1;;;;;;;;;10048:11;:18:::0;;-1:-1:-1;;;;10031:35:0;-1:-1:-1;;;10031:35:0;;;9914:160::o;5586:346::-;-1:-1:-1;;;;;5688:19:0;;5680:68;;;;-1:-1:-1;;;5680:68:0;;4326:2:1;5680:68:0;;;4308:21:1;4365:2;4345:18;;;4338:30;4404:34;4384:18;;;4377:62;-1:-1:-1;;;4455:18:1;;;4448:34;4499:19;;5680:68:0;4124:400:1;5680:68:0;-1:-1:-1;;;;;5767:21:0;;5759:68;;;;-1:-1:-1;;;5759:68:0;;4731:2:1;5759:68:0;;;4713:21:1;4770:2;4750:18;;;4743:30;4809:34;4789:18;;;4782:62;-1:-1:-1;;;4860:18:1;;;4853:32;4902:19;;5759:68:0;4529:398:1;5759:68:0;-1:-1:-1;;;;;5840:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;5892:32;;1803:25:1;;;5892:32:0;;1776:18:1;5892:32:0;;;;;;;5586:346;;;:::o;5940:419::-;-1:-1:-1;;;;;3695:18:0;;;6041:24;3695:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;-1:-1:-1;;6108:37:0;;6104:248;;6190:6;6170:16;:26;;6162:68;;;;-1:-1:-1;;;6162:68:0;;5134:2:1;6162:68:0;;;5116:21:1;5173:2;5153:18;;;5146:30;5212:31;5192:18;;;5185:59;5261:18;;6162:68:0;4932:353:1;6162:68:0;6274:51;6283:5;6290:7;6318:6;6299:16;:25;6274:8;:51::i;:::-;6030:329;5940:419;;;:::o;10269:2893::-;-1:-1:-1;;;;;10367:19:0;;10359:70;;;;-1:-1:-1;;;10359:70:0;;5492:2:1;10359:70:0;;;5474:21:1;5531:2;5511:18;;;5504:30;5570:34;5550:18;;;5543:62;-1:-1:-1;;;5621:18:1;;;5614:36;5667:19;;10359:70:0;5290:402:1;10359:70:0;-1:-1:-1;;;;;10448:17:0;;10440:66;;;;-1:-1:-1;;;10440:66:0;;5899:2:1;10440:66:0;;;5881:21:1;5938:2;5918:18;;;5911:30;5977:34;5957:18;;;5950:62;-1:-1:-1;;;6028:18:1;;;6021:34;6072:19;;10440:66:0;5697:400:1;10440:66:0;10534:1;10525:6;:10;10517:72;;;;-1:-1:-1;;;10517:72:0;;6304:2:1;10517:72:0;;;6286:21:1;6343:2;6323:18;;;6316:30;6382:34;6362:18;;;6355:62;-1:-1:-1;;;6433:18:1;;;6426:47;6490:19;;10517:72:0;6102:413:1;10517:72:0;961:6;;-1:-1:-1;;;;;10606:15:0;;;961:6;;;;;10606:15;;;;:32;;-1:-1:-1;961:6:0;;-1:-1:-1;;;;;10625:13:0;;;961:6;;;;;10625:13;;10606:32;:53;;;;-1:-1:-1;;;;;;10642:17:0;;;;10606:53;:74;;;;-1:-1:-1;;;;;;10663:17:0;;7545:6;10663:17;;10606:74;:87;;;;-1:-1:-1;10685:8:0;;-1:-1:-1;;;10685:8:0;;;;10684:9;10606:87;10602:1340;;;10715:14;;-1:-1:-1;;;10715:14:0;;;;10710:141;;-1:-1:-1;;;;;10758:24:0;;;;;;:18;:24;;;;;;;;;:50;;-1:-1:-1;;;;;;10786:22:0;;;;;;:18;:22;;;;;;;;10758:50;10750:85;;;;-1:-1:-1;;;10750:85:0;;6722:2:1;10750:85:0;;;6704:21:1;6761:2;6741:18;;;6734:30;-1:-1:-1;;;6780:18:1;;;6773:52;6842:18;;10750:85:0;6520:346:1;10750:85:0;10929:20;;;;10925:368;;;961:6;;-1:-1:-1;;;;;10974:13:0;;;961:6;;;;;10974:13;;;;:47;;-1:-1:-1;11005:15:0;;-1:-1:-1;;;;;10991:30:0;;;11005:15;;10991:30;;10974:47;:79;;;;-1:-1:-1;11039:13:0;;-1:-1:-1;;;;;11025:28:0;;;11039:13;;11025:28;;10974:79;10970:308;;;11115:9;11086:39;;;;:28;:39;;;;;;11128:12;-1:-1:-1;11078:103:0;;;;-1:-1:-1;;;11078:103:0;;7073:2:1;11078:103:0;;;7055:21:1;7112:2;7092:18;;;7085:30;7151:34;7131:18;;;7124:62;-1:-1:-1;;;7202:18:1;;;7195:34;7246:19;;11078:103:0;6871:400:1;11078:103:0;11233:9;11204:39;;;;:28;:39;;;;;11246:12;11204:54;;10970:308;-1:-1:-1;;;;;11313:11:0;;;;;;:5;:11;;;;;;;;:50;;;;-1:-1:-1;;;;;;11329:34:0;;;;;;:30;:34;;;;;;;;11328:35;11313:50;11309:622;;;11402:20;;11392:6;:30;;11384:98;;;;-1:-1:-1;;;11384:98:0;;7478:2:1;11384:98:0;;;7460:21:1;7517:2;7497:18;;;7490:30;7556:34;7536:18;;;7529:62;7627:25;7607:18;;;7600:53;7670:19;;11384:98:0;7276:419:1;11384:98:0;11535:9;;-1:-1:-1;;;;;3344:18:0;;3317:7;3344:18;;;;;;;;;;;11509:22;;:6;:22;:::i;:::-;:35;;11501:68;;;;-1:-1:-1;;;11501:68:0;;8164:2:1;11501:68:0;;;8146:21:1;8203:2;8183:18;;;8176:30;-1:-1:-1;;;8222:18:1;;;8215:50;8282:18;;11501:68:0;7962:344:1;11501:68:0;11309:622;;;-1:-1:-1;;;;;11595:9:0;;;;;;:5;:9;;;;;;;;:50;;;;-1:-1:-1;;;;;;11609:36:0;;;;;;:30;:36;;;;;;;;11608:37;11595:50;11591:340;;;11684:20;;11674:6;:30;;11666:99;;;;-1:-1:-1;;;11666:99:0;;8513:2:1;11666:99:0;;;8495:21:1;8552:2;8532:18;;;8525:30;8591:34;8571:18;;;8564:62;8662:26;8642:18;;;8635:54;8706:19;;11666:99:0;8311:420:1;11591:340:0;-1:-1:-1;;;;;11792:34:0;;;;;;:30;:34;;;;;;;;11787:144;;11881:9;;-1:-1:-1;;;;;3344:18:0;;3317:7;3344:18;;;;;;;;;;;11855:22;;:6;:22;:::i;:::-;:35;;11847:68;;;;-1:-1:-1;;;11847:68:0;;8164:2:1;11847:68:0;;;8146:21:1;8203:2;8183:18;;;8176:30;-1:-1:-1;;;8222:18:1;;;8215:50;8282:18;;11847:68:0;7962:344:1;11847:68:0;11970:8;;-1:-1:-1;;;;;11993:24:0;;11954:12;11993:24;;;:18;:24;;;;;;11970:8;-1:-1:-1;;;11970:8:0;;;;;11969:9;;11993:24;;:50;;-1:-1:-1;;;;;;12021:22:0;;;;;;:18;:22;;;;;;;;11993:50;11989:98;;;-1:-1:-1;12070:5:0;11989:98;12099:12;12130:7;12126:286;;;-1:-1:-1;;;;;12158:9:0;;;;;;:5;:9;;;;;;;;:27;;;;-1:-1:-1;12171:10:0;;:14;;12158:27;12154:218;;;12224:10;;12213:31;;12240:3;;12213:22;;:6;;:10;:22::i;:::-;:26;;:31::i;:::-;12206:38;;12154:218;;;-1:-1:-1;;;;;12270:11:0;;;;;;:5;:11;;;;;;;;:28;;;;-1:-1:-1;12285:5:0;:9;:13;;12270:28;12266:106;;;12337:5;:9;12326:30;;12352:3;;12326:21;;:6;;:10;:21::i;:30::-;12319:37;;12266:106;12386:14;12396:4;12386:14;;:::i;:::-;;;12126:286;12468:4;12424:23;3344:18;;;;;;;;;;;12519;;12500:37;;;;;;;12566:35;;-1:-1:-1;12590:11:0;;-1:-1:-1;;;12590:11:0;;;;12566:35;:61;;;;-1:-1:-1;12619:8:0;;-1:-1:-1;;;12619:8:0;;;;12618:9;12566:61;:90;;;;-1:-1:-1;;;;;;12645:11:0;;;;;;:5;:11;;;;;;;;12644:12;12566:90;:132;;;;-1:-1:-1;;;;;;12674:24:0;;;;;;:18;:24;;;;;;;;12673:25;12566:132;:172;;;;-1:-1:-1;;;;;;12716:22:0;;;;;;:18;:22;;;;;;;;12715:23;12566:172;12548:466;;;12765:8;:15;;-1:-1:-1;;;;12765:15:0;-1:-1:-1;;;12765:15:0;;;12872:10;;12765:15;;12822:63;;12839:45;;12843:6;;12851:32;;12855:15;;12851:3;:32::i;:::-;12839:3;:45::i;:::-;12822:16;:63::i;:::-;12922:9;;12914:57;;12922:9;;;;-1:-1:-1;;;;;12922:9:0;;12945:21;;12914:57;;;;12945:21;12922:9;12914:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;12986:8:0;:16;;-1:-1:-1;;;;12986:16:0;;;-1:-1:-1;;12548:466:0;13030:8;;13026:83;;13055:42;13071:4;13085;13092;13055:15;:42::i;:::-;13121:33;13137:4;13143:2;13147:6;13121:15;:33::i;:::-;10348:2814;;;;10269:2893;;;:::o;983:132::-;961:6;;-1:-1:-1;;;;;961:6:0;;;;;550:10;1047:23;1039:68;;;;-1:-1:-1;;;1039:68:0;;9281:2:1;1039:68:0;;;9263:21:1;;;9300:18;;;9293:30;9359:34;9339:18;;;9332:62;9411:18;;1039:68:0;9079:356:1;1234:191:0;1327:6;;;-1:-1:-1;;;;;1344:17:0;;;1327:6;1344:17;;;-1:-1:-1;;;;;;1344:17:0;;;;;;1377:40;;1327:6;;;;;;;;1377:40;;1308:16;;1377:40;1297:128;1234:191;:::o;120:98::-;178:7;205:5;209:1;205;:5;:::i;:::-;198:12;120:98;-1:-1:-1;;;120:98:0:o;226:::-;284:7;311:5;315:1;311;:5;:::i;9801:105::-;9858:7;9888:1;9884;:5;9883:15;;9897:1;9883:15;;;-1:-1:-1;9893:1:0;9801:105;-1:-1:-1;9801:105:0:o;13170:473::-;13260:16;;;13274:1;13260:16;;;;;;;;13236:21;;13260:16;;;;;;;;;;-1:-1:-1;13260:16:0;13236:40;;13305:4;13287;13292:1;13287:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;13287:23:0;;;:7;;;;;;;;;;:23;;;;13331:15;;:22;;;-1:-1:-1;;;13331:22:0;;;;:15;;;;;:20;;:22;;;;;13287:7;;13331:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13321:4;13326:1;13321:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;13321:32:0;;;:7;;;;;;;;;:32;13398:15;;13366:62;;13383:4;;13398:15;13416:11;13366:8;:62::i;:::-;13439:15;;:196;;-1:-1:-1;;;13439:196:0;;-1:-1:-1;;;;;13439:15:0;;;;:66;;:196;;13520:11;;13439:15;;13562:4;;13589;;13609:15;;13439:196;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13225:418;13170:473;:::o;4216:806::-;-1:-1:-1;;;;;4313:18:0;;4305:68;;;;-1:-1:-1;;;4305:68:0;;11542:2:1;4305:68:0;;;11524:21:1;11581:2;11561:18;;;11554:30;11620:34;11600:18;;;11593:62;-1:-1:-1;;;11671:18:1;;;11664:35;11716:19;;4305:68:0;11340:401:1;4305:68:0;-1:-1:-1;;;;;4392:16:0;;4384:64;;;;-1:-1:-1;;;4384:64:0;;11948:2:1;4384:64:0;;;11930:21:1;11987:2;11967:18;;;11960:30;12026:34;12006:18;;;11999:62;-1:-1:-1;;;12077:18:1;;;12070:33;12120:19;;4384:64:0;11746:399:1;4384:64:0;-1:-1:-1;;;;;4534:15:0;;4512:19;4534:15;;;;;;;;;;;4568:21;;;;4560:72;;;;-1:-1:-1;;;4560:72:0;;12352:2:1;4560:72:0;;;12334:21:1;12391:2;12371:18;;;12364:30;12430:34;12410:18;;;12403:62;-1:-1:-1;;;12481:18:1;;;12474:36;12527:19;;4560:72:0;12150:402:1;4560:72:0;-1:-1:-1;;;;;4668:15:0;;;:9;:15;;;;;;;;;;;4686:20;;;4668:38;;4886:13;;;;;;;;;;:23;;;;;;4938:26;;1803:25:1;;;4886:13:0;;4938:26;;1776:18:1;4938:26:0;;;;;;;4977:37;6367:91;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;775:131::-;-1:-1:-1;;;;;850:31:1;;840:42;;830:70;;896:1;893;886:12;830:70;775:131;:::o;911:315::-;979:6;987;1040:2;1028:9;1019:7;1015:23;1011:32;1008:52;;;1056:1;1053;1046:12;1008:52;1095:9;1082:23;1114:31;1139:5;1114:31;:::i;:::-;1164:5;1216:2;1201:18;;;;1188:32;;-1:-1:-1;;;911:315:1:o;1839:456::-;1916:6;1924;1932;1985:2;1973:9;1964:7;1960:23;1956:32;1953:52;;;2001:1;1998;1991:12;1953:52;2040:9;2027:23;2059:31;2084:5;2059:31;:::i;:::-;2109:5;-1:-1:-1;2166:2:1;2151:18;;2138:32;2179:33;2138:32;2179:33;:::i;:::-;1839:456;;2231:7;;-1:-1:-1;;;2285:2:1;2270:18;;;;2257:32;;1839:456::o;2489:247::-;2548:6;2601:2;2589:9;2580:7;2576:23;2572:32;2569:52;;;2617:1;2614;2607:12;2569:52;2656:9;2643:23;2675:31;2700:5;2675:31;:::i;2994:388::-;3062:6;3070;3123:2;3111:9;3102:7;3098:23;3094:32;3091:52;;;3139:1;3136;3129:12;3091:52;3178:9;3165:23;3197:31;3222:5;3197:31;:::i;:::-;3247:5;-1:-1:-1;3304:2:1;3289:18;;3276:32;3317:33;3276:32;3317:33;:::i;:::-;3369:7;3359:17;;;2994:388;;;;;:::o;3387:380::-;3466:1;3462:12;;;;3509;;;3530:61;;3584:4;3576:6;3572:17;3562:27;;3530:61;3637:2;3629:6;3626:14;3606:18;3603:38;3600:161;;3683:10;3678:3;3674:20;3671:1;3664:31;3718:4;3715:1;3708:15;3746:4;3743:1;3736:15;7700:127;7761:10;7756:3;7752:20;7749:1;7742:31;7792:4;7789:1;7782:15;7816:4;7813:1;7806:15;7832:125;7897:9;;;7918:10;;;7915:36;;;7931:18;;:::i;8736:128::-;8803:9;;;8824:11;;;8821:37;;;8838:18;;:::i;9440:168::-;9513:9;;;9544;;9561:15;;;9555:22;;9541:37;9531:71;;9582:18;;:::i;9613:217::-;9653:1;9679;9669:132;;9723:10;9718:3;9714:20;9711:1;9704:31;9758:4;9755:1;9748:15;9786:4;9783:1;9776:15;9669:132;-1:-1:-1;9815:9:1;;9613:217::o;9967:127::-;10028:10;10023:3;10019:20;10016:1;10009:31;10059:4;10056:1;10049:15;10083:4;10080:1;10073:15;10099:251;10169:6;10222:2;10210:9;10201:7;10197:23;10193:32;10190:52;;;10238:1;10235;10228:12;10190:52;10270:9;10264:16;10289:31;10314:5;10289:31;:::i;10355:980::-;10617:4;10665:3;10654:9;10650:19;10696:6;10685:9;10678:25;10722:2;10760:6;10755:2;10744:9;10740:18;10733:34;10803:3;10798:2;10787:9;10783:18;10776:31;10827:6;10862;10856:13;10893:6;10885;10878:22;10931:3;10920:9;10916:19;10909:26;;10970:2;10962:6;10958:15;10944:29;;10991:1;11001:195;11015:6;11012:1;11009:13;11001:195;;;11080:13;;-1:-1:-1;;;;;11076:39:1;11064:52;;11171:15;;;;11136:12;;;;11112:1;11030:9;11001:195;;;-1:-1:-1;;;;;;;11252:32:1;;;;11247:2;11232:18;;11225:60;-1:-1:-1;;;11316:3:1;11301:19;11294:35;11213:3;10355:980;-1:-1:-1;;;10355:980:1:o
Swarm Source
ipfs://46e99fe5c2926a065988fbacd220e9b482be9e3e6b806a2926c1bfb7b6c37bcb
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.