ERC-20
Overview
Max Total Supply
100,000,000 HUBAI
Holders
91
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
170,092.413516537 HUBAIValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
HUBAI
Compiler Version
v0.8.22+commit.4fc1097e
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-03-12 */ /** Website: https://hubaieth.com dApp: https://app.hubaieth.com Twitter: https://twitter.com/hubaieth Telegram: https://t.me/hubaieth */ // SPDX-License-Identifier: No pragma solidity ^0.8.15; //--- Context ---// abstract contract Context { constructor() { } function _msgSender() internal view returns (address payable) { return payable(msg.sender); } function _msgData() internal view returns (bytes memory) { this; return msg.data; } } //--- Ownable ---// abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor() { _setOwner(_msgSender()); } function owner() public view virtual returns (address) { return _owner; } modifier onlyOwner() { require(owner() == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { _setOwner(address(0)); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _setOwner(newOwner); } function _setOwner(address newOwner) private { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } interface IFactoryV2 { event PairCreated(address indexed token0, address indexed token1, address _dexPair, uint); function getPair(address tokenA, address tokenB) external view returns (address _dexPair); function createPair(address tokenA, address tokenB) external returns (address _dexPair); } interface IV2Pair { function factory() external view returns (address); function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast); function sync() external; } interface IRouter01 { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); 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 swapExactETHForTokens( uint amountOutMin, address[] calldata path, address to, uint deadline ) external payable returns (uint[] memory amounts); 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 IRouter02 is IRouter01 { function swapExactTokensForETHSupportingFeeOnTransferTokens( 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 swapExactTokensForTokensSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function swapExactTokensForTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); } //--- Interface for ERC20 ---// interface IERC20 { function totalSupply() external view returns (uint256); function decimals() external view returns (uint8); function symbol() external view returns (string memory); function name() external view returns (string memory); function getOwner() external view returns (address); 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); } contract HUBAI is Context, Ownable, IERC20 { function totalSupply() external view override returns (uint256) { if (_totalSupply == 0) { revert(); } return _totalSupply - balanceOf(address(DEAD)); } function decimals() external pure override returns (uint8) { if (_totalSupply == 0) { revert(); } return _decimals; } function symbol() external pure override returns (string memory) { return _symbol; } function name() external pure override returns (string memory) { return _name; } function getOwner() external view override returns (address) { return owner(); } function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; } function balanceOf(address account) public view override returns (uint256) { return balance[account]; } mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _isExcludeFromFees; mapping (address => bool) private _isPairIncludes; mapping (address => uint256) private balance; uint256 constant public _totalSupply = 100000000 * 10**9; uint256 constant private _feeDenominator = 100; uint256 private _taxHubBuy = 0; uint256 private _taxHubSell = 0; uint256 private _taxHubTrasnfer = 0; uint256 private _maxWalletSize = _totalSupply * 2 / 100; uint256 constant private _swapLimitHub = _totalSupply * 7 / 1000000; uint256 constant private _maxSwapHub = _totalSupply * 1 / 100; IRouter02 private _dexRouter; address private _dexPair; string constant private _name = "HubAI"; string constant private _symbol = unicode"HUBAI"; uint8 constant private _decimals = 9; address constant public DEAD = 0x000000000000000000000000000000000000dEaD; address payable private _hubfund = payable(0xD0f79CfDD124962F20B00C9f58D9a213f7473598); bool private _tradingOpen = false; bool private _swapBackActive = false; bool private _swapping; modifier lockingSwap { _swapping = true; _; _swapping = false; } constructor () { _isExcludeFromFees[msg.sender] = true; _isExcludeFromFees[address(this)] = true; _isExcludeFromFees[_hubfund] = true; _dexRouter = IRouter02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); balance[msg.sender] = _totalSupply; emit Transfer(address(0), msg.sender, _totalSupply); } receive() external payable {} function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(msg.sender, recipient, amount); return true; } function approve(address spender, uint256 amount) external override returns (bool) { _approve(msg.sender, spender, amount); return true; } function _approve(address sender, address spender, uint256 amount) internal { require(sender != address(0), "ERC20: Zero Address"); require(spender != address(0), "ERC20: Zero Address"); _allowances[sender][spender] = amount; } function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) { if (_allowances[sender][msg.sender] != type(uint256).max) { _allowances[sender][msg.sender] -= amount; } return _transfer(sender, recipient, amount); } function _checkIfBuy(address ins, address out) internal view returns (bool) { bool result = !_isPairIncludes[out] && _isPairIncludes[ins]; return result; } function _checkIfSell(address ins, address out) internal view returns (bool) { bool result = _isPairIncludes[out] && !_isPairIncludes[ins]; return result; } function _canSwappable(address ins, address out, uint256 amount) internal view returns (bool) { return _swapBackActive && !_isExcludeFromFees[ins] && !_isExcludeFromFees[out] && amount >= _swapLimitHub; } function _transfer(address from, address to, uint256 amount) internal returns (bool) { bool takeFee = true; require(to != address(0), "ERC20: transfer to the zero address"); require(from != address(0), "ERC20: transfer from the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); if (!_isExcludeFromFees[from] && !_isExcludeFromFees[to]) { require(_tradingOpen,"Trading is not enabled"); } if(!_isExcludeFromFees[from] && !_isExcludeFromFees[to] && !_isPairIncludes[to] && to != address(DEAD)){ require(balance[to]+amount <= _maxWalletSize, "Exceeds maximum wallet amount."); } if(_checkIfSell(from, to) && !_swapping && _canSwappable(from, to, amount)) { uint256 tokensContractInc = balanceOf(address(this)); if(tokensContractInc >= _swapLimitHub) { if (tokensContractInc >= _maxSwapHub) tokensContractInc = _maxSwapHub; swapTokensBack(tokensContractInc); } } if (_isExcludeFromFees[from] || _isExcludeFromFees[to]){ takeFee = false; } uint256 amountFeesAfter = (takeFee) ? _calcTaxFee(from, _checkIfBuy(from, to), _checkIfSell(from, to), amount) : amount; if (_isExcludeFromFees[from] && from != address(this) && from != owner()) amount = amount - amountFeesAfter; balance[from] -= amount; balance[to] += amountFeesAfter; emit Transfer(from, to, amountFeesAfter); return true; } function _calcTaxFee(address from, bool isbuy, bool issell, uint256 amount) internal returns (uint256) { uint256 fee; if (isbuy) fee = _taxHubBuy; else if (issell) fee = _taxHubSell; else fee = _taxHubTrasnfer; if (fee == 0) return amount; uint256 feeAmount = amount * fee / _feeDenominator; if (feeAmount > 0) { balance[address(this)] += feeAmount; emit Transfer(from, address(this), feeAmount); } return amount - feeAmount; } function swapTokensBack(uint256 tokensContractInc) internal lockingSwap { address[] memory path = new address[](2); path[0] = address(this); path[1] = _dexRouter.WETH(); if (_allowances[address(this)][address(_dexRouter)] != type(uint256).max) { _allowances[address(this)][address(_dexRouter)] = type(uint256).max; } try _dexRouter.swapExactTokensForETHSupportingFeeOnTransferTokens( tokensContractInc, 0, path, address(this), block.timestamp ) {} catch { return; } payable(_hubfund).transfer(address(this).balance); } function createInfrastructure() external payable onlyOwner { _dexPair = IFactoryV2(_dexRouter.factory()).createPair(_dexRouter.WETH(), address(this)); _isPairIncludes[_dexPair] = true; _approve(address(this), address(_dexRouter), type(uint256).max); _dexRouter.addLiquidityETH{value: msg.value}( address(this), balance[address(this)], 0, 0, owner(), block.timestamp); } function powerHub() external onlyOwner { require(!_tradingOpen, "Trading already enabled"); _tradingOpen = true; _swapBackActive = true; _taxHubBuy = 27; _taxHubSell = 16; } function removeLimits() external onlyOwner { _maxWalletSize = _totalSupply; } function reduceFee(uint256 _newfee) external onlyOwner { _taxHubBuy = _newfee; _taxHubSell = _newfee; require(_newfee <= 5); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"DEAD","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","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":"createInfrastructure","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","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":"powerHub","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newfee","type":"uint256"}],"name":"reduceFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040525f6005555f6006555f600755606467016345785d8a00006002610027919061017a565b61003191906101a3565b600855600b80546001600160b01b03191673d0f79cfdd124962f20b00c9f58d9a213f7473598179055348015610065575f80fd5b5061006f3361012b565b335f818152600260209081526040808320805460ff1990811660019081179092553085528285208054821683179055600b546001600160a01b0316855282852080549091169091179055600980546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d1790558383526004825280832067016345785d8a00009081905590519081527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36101c2565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b808202811582820484141761019d57634e487b7160e01b5f52601160045260245ffd5b92915050565b5f826101bd57634e487b7160e01b5f52601260045260245ffd5b500490565b6115b680620001d05f395ff3fe608060405260043610610113575f3560e01c8063751039fc1161009d578063a9059cbb11610062578063a9059cbb146102db578063b0cc441c146102fa578063dd62ed3e1461030e578063ec1f3f6314610352578063f2fde38b14610371575f80fd5b8063751039fc14610276578063893d20e81461028a5780638da5cb5b1461028a578063909a7116146102a657806395d89b41146102ae575f80fd5b806323b872dd116100e357806323b872dd146101d7578063313ce567146101f65780633eaaf86b1461021157806370a082311461022c578063715018a614610260575f80fd5b806303fd2a451461011e57806306fdde0314610150578063095ea7b31461018657806318160ddd146101b5575f80fd5b3661011a57005b5f80fd5b348015610129575f80fd5b5061013361dead81565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561015b575f80fd5b50604080518082019091526005815264487562414960d81b60208201525b60405161014791906112d8565b348015610191575f80fd5b506101a56101a0366004611338565b610390565b6040519015158152602001610147565b3480156101c0575f80fd5b506101c96103a6565b604051908152602001610147565b3480156101e2575f80fd5b506101a56101f1366004611362565b6103ea565b348015610201575f80fd5b5060405160098152602001610147565b34801561021c575f80fd5b506101c967016345785d8a000081565b348015610237575f80fd5b506101c96102463660046113a0565b6001600160a01b03165f9081526004602052604090205490565b34801561026b575f80fd5b5061027461045f565b005b348015610281575f80fd5b5061027461049c565b348015610295575f80fd5b505f546001600160a01b0316610133565b6102746104d3565b3480156102b9575f80fd5b50604080518082019091526005815264485542414960d81b6020820152610179565b3480156102e6575f80fd5b506101a56102f5366004611338565b610772565b348015610305575f80fd5b50610274610788565b348015610319575f80fd5b506101c96103283660046113c2565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b34801561035d575f80fd5b5061027461036c3660046113f9565b61082c565b34801561037c575f80fd5b5061027461038b3660046113a0565b61086d565b5f61039c338484610904565b5060015b92915050565b5f61dead5f5260046020527f42c63635470f1fb1d6d4b6441c413cb435b1ebb6fedd1896dd5e25d1399147dd546103e59067016345785d8a0000611424565b905090565b6001600160a01b0383165f9081526001602090815260408083203384529091528120545f191461044c576001600160a01b0384165f90815260016020908152604080832033845290915281208054849290610446908490611424565b90915550505b6104578484846109c7565b949350505050565b5f546001600160a01b031633146104915760405162461bcd60e51b815260040161048890611437565b60405180910390fd5b61049a5f610ebb565b565b5f546001600160a01b031633146104c55760405162461bcd60e51b815260040161048890611437565b67016345785d8a0000600855565b5f546001600160a01b031633146104fc5760405162461bcd60e51b815260040161048890611437565b60095f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561054c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610570919061146c565b6001600160a01b031663c9c6539660095f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105ce573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105f2919061146c565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201523060248201526044016020604051808303815f875af115801561063b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061065f919061146c565b600a80546001600160a01b0319166001600160a01b039283169081179091555f908152600360205260409020805460ff191660011790556009546106a7913091165f19610904565b600954305f818152600460205260408120546001600160a01b039093169263f305d719923492909190806106e25f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610748573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061076d9190611487565b505050565b5f61077e3384846109c7565b5060019392505050565b5f546001600160a01b031633146107b15760405162461bcd60e51b815260040161048890611437565b600b54600160a01b900460ff161561080b5760405162461bcd60e51b815260206004820152601760248201527f54726164696e6720616c726561647920656e61626c65640000000000000000006044820152606401610488565b600b805461ffff60a01b191661010160a01b179055601b6005556010600655565b5f546001600160a01b031633146108555760405162461bcd60e51b815260040161048890611437565b6005818155600682905581111561086a575f80fd5b50565b5f546001600160a01b031633146108965760405162461bcd60e51b815260040161048890611437565b6001600160a01b0381166108fb5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610488565b61086a81610ebb565b6001600160a01b0383166109505760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b6044820152606401610488565b6001600160a01b03821661099c5760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b6044820152606401610488565b6001600160a01b039283165f9081526001602090815260408083209490951682529290925291902055565b5f60016001600160a01b038416610a2c5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610488565b6001600160a01b038516610a905760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610488565b5f8311610af15760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610488565b6001600160a01b0385165f9081526002602052604090205460ff16158015610b3157506001600160a01b0384165f9081526002602052604090205460ff16155b15610b8857600b54600160a01b900460ff16610b885760405162461bcd60e51b8152602060048201526016602482015275151c98591a5b99c81a5cc81b9bdd08195b98589b195960521b6044820152606401610488565b6001600160a01b0385165f9081526002602052604090205460ff16158015610bc857506001600160a01b0384165f9081526002602052604090205460ff16155b8015610bec57506001600160a01b0384165f9081526003602052604090205460ff16155b8015610c0357506001600160a01b03841661dead14155b15610c7c576008546001600160a01b0385165f90815260046020526040902054610c2e9085906114b2565b1115610c7c5760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e00006044820152606401610488565b610c868585610f0a565b8015610c9c5750600b54600160b01b900460ff16155b8015610cae5750610cae858585610f4f565b15610d3b57305f90815260046020526040902054620f4240610cd967016345785d8a000060076114c5565b610ce391906114dc565b8110610d39576064610cfe67016345785d8a000060016114c5565b610d0891906114dc565b8110610d30576064610d2367016345785d8a000060016114c5565b610d2d91906114dc565b90505b610d3981610fd9565b505b6001600160a01b0385165f9081526002602052604090205460ff1680610d7857506001600160a01b0384165f9081526002602052604090205460ff165b15610d8057505f5b5f81610d8c5783610daa565b610daa86610d9a88886111c6565b610da48989610f0a565b8761120b565b6001600160a01b0387165f9081526002602052604090205490915060ff168015610ddd57506001600160a01b0386163014155b8015610df657505f546001600160a01b03878116911614155b15610e0857610e058185611424565b93505b6001600160a01b0386165f9081526004602052604081208054869290610e2f908490611424565b90915550506001600160a01b0385165f9081526004602052604081208054839290610e5b9084906114b2565b92505081905550846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610ea791815260200190565b60405180910390a350600195945050505050565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0381165f90815260036020526040812054819060ff16801561045757505050506001600160a01b03165f9081526003602052604090205460ff161590565b600b545f90600160a81b900460ff168015610f8257506001600160a01b0384165f9081526002602052604090205460ff16155b8015610fa657506001600160a01b0383165f9081526002602052604090205460ff16155b80156104575750620f4240610fc467016345785d8a000060076114c5565b610fce91906114dc565b909110159392505050565b600b805460ff60b01b1916600160b01b1790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061101f5761101f6114fb565b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611076573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061109a919061146c565b816001815181106110ad576110ad6114fb565b6001600160a01b03928316602091820292909201810191909152305f90815260018252604080822060095490941682529290915220545f191461111357305f9081526001602090815260408083206009546001600160a01b0316845290915290205f1990555b60095460405163791ac94760e01b81526001600160a01b039091169063791ac9479061114b9085905f9086903090429060040161150f565b5f604051808303815f87803b158015611162575f80fd5b505af1925050508015611173575060015b61117d57506111b6565b600b546040516001600160a01b03909116904780156108fc02915f818181858888f193505050501580156111b3573d5f803e3d5ffd5b50505b50600b805460ff60b01b19169055565b6001600160a01b0381165f90815260036020526040812054819060ff1615801561045757505050506001600160a01b03165f9081526003602052604090205460ff1690565b5f80841561121c5750600554611230565b831561122b5750600654611230565b506007545b805f036112405782915050610457565b5f606461124d83866114c5565b61125791906114dc565b905080156112c357305f908152600460205260408120805483929061127d9084906114b2565b909155505060405181815230906001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b6112cd8185611424565b979650505050505050565b5f602080835283518060208501525f5b81811015611304578581018301518582016040015282016112e8565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461086a575f80fd5b5f8060408385031215611349575f80fd5b823561135481611324565b946020939093013593505050565b5f805f60608486031215611374575f80fd5b833561137f81611324565b9250602084013561138f81611324565b929592945050506040919091013590565b5f602082840312156113b0575f80fd5b81356113bb81611324565b9392505050565b5f80604083850312156113d3575f80fd5b82356113de81611324565b915060208301356113ee81611324565b809150509250929050565b5f60208284031215611409575f80fd5b5035919050565b634e487b7160e01b5f52601160045260245ffd5b818103818111156103a0576103a0611410565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f6020828403121561147c575f80fd5b81516113bb81611324565b5f805f60608486031215611499575f80fd5b8351925060208401519150604084015190509250925092565b808201808211156103a0576103a0611410565b80820281158282048414176103a0576103a0611410565b5f826114f657634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b8181101561155f5784516001600160a01b03168352938301939183019160010161153a565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220a8ac60090ae01747749272482d5125578a61f304dc6aa2fb811a0e5afa67ff8664736f6c63430008160033
Deployed Bytecode
0x608060405260043610610113575f3560e01c8063751039fc1161009d578063a9059cbb11610062578063a9059cbb146102db578063b0cc441c146102fa578063dd62ed3e1461030e578063ec1f3f6314610352578063f2fde38b14610371575f80fd5b8063751039fc14610276578063893d20e81461028a5780638da5cb5b1461028a578063909a7116146102a657806395d89b41146102ae575f80fd5b806323b872dd116100e357806323b872dd146101d7578063313ce567146101f65780633eaaf86b1461021157806370a082311461022c578063715018a614610260575f80fd5b806303fd2a451461011e57806306fdde0314610150578063095ea7b31461018657806318160ddd146101b5575f80fd5b3661011a57005b5f80fd5b348015610129575f80fd5b5061013361dead81565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561015b575f80fd5b50604080518082019091526005815264487562414960d81b60208201525b60405161014791906112d8565b348015610191575f80fd5b506101a56101a0366004611338565b610390565b6040519015158152602001610147565b3480156101c0575f80fd5b506101c96103a6565b604051908152602001610147565b3480156101e2575f80fd5b506101a56101f1366004611362565b6103ea565b348015610201575f80fd5b5060405160098152602001610147565b34801561021c575f80fd5b506101c967016345785d8a000081565b348015610237575f80fd5b506101c96102463660046113a0565b6001600160a01b03165f9081526004602052604090205490565b34801561026b575f80fd5b5061027461045f565b005b348015610281575f80fd5b5061027461049c565b348015610295575f80fd5b505f546001600160a01b0316610133565b6102746104d3565b3480156102b9575f80fd5b50604080518082019091526005815264485542414960d81b6020820152610179565b3480156102e6575f80fd5b506101a56102f5366004611338565b610772565b348015610305575f80fd5b50610274610788565b348015610319575f80fd5b506101c96103283660046113c2565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b34801561035d575f80fd5b5061027461036c3660046113f9565b61082c565b34801561037c575f80fd5b5061027461038b3660046113a0565b61086d565b5f61039c338484610904565b5060015b92915050565b5f61dead5f5260046020527f42c63635470f1fb1d6d4b6441c413cb435b1ebb6fedd1896dd5e25d1399147dd546103e59067016345785d8a0000611424565b905090565b6001600160a01b0383165f9081526001602090815260408083203384529091528120545f191461044c576001600160a01b0384165f90815260016020908152604080832033845290915281208054849290610446908490611424565b90915550505b6104578484846109c7565b949350505050565b5f546001600160a01b031633146104915760405162461bcd60e51b815260040161048890611437565b60405180910390fd5b61049a5f610ebb565b565b5f546001600160a01b031633146104c55760405162461bcd60e51b815260040161048890611437565b67016345785d8a0000600855565b5f546001600160a01b031633146104fc5760405162461bcd60e51b815260040161048890611437565b60095f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561054c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610570919061146c565b6001600160a01b031663c9c6539660095f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105ce573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105f2919061146c565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201523060248201526044016020604051808303815f875af115801561063b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061065f919061146c565b600a80546001600160a01b0319166001600160a01b039283169081179091555f908152600360205260409020805460ff191660011790556009546106a7913091165f19610904565b600954305f818152600460205260408120546001600160a01b039093169263f305d719923492909190806106e25f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610748573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061076d9190611487565b505050565b5f61077e3384846109c7565b5060019392505050565b5f546001600160a01b031633146107b15760405162461bcd60e51b815260040161048890611437565b600b54600160a01b900460ff161561080b5760405162461bcd60e51b815260206004820152601760248201527f54726164696e6720616c726561647920656e61626c65640000000000000000006044820152606401610488565b600b805461ffff60a01b191661010160a01b179055601b6005556010600655565b5f546001600160a01b031633146108555760405162461bcd60e51b815260040161048890611437565b6005818155600682905581111561086a575f80fd5b50565b5f546001600160a01b031633146108965760405162461bcd60e51b815260040161048890611437565b6001600160a01b0381166108fb5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610488565b61086a81610ebb565b6001600160a01b0383166109505760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b6044820152606401610488565b6001600160a01b03821661099c5760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b6044820152606401610488565b6001600160a01b039283165f9081526001602090815260408083209490951682529290925291902055565b5f60016001600160a01b038416610a2c5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610488565b6001600160a01b038516610a905760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610488565b5f8311610af15760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610488565b6001600160a01b0385165f9081526002602052604090205460ff16158015610b3157506001600160a01b0384165f9081526002602052604090205460ff16155b15610b8857600b54600160a01b900460ff16610b885760405162461bcd60e51b8152602060048201526016602482015275151c98591a5b99c81a5cc81b9bdd08195b98589b195960521b6044820152606401610488565b6001600160a01b0385165f9081526002602052604090205460ff16158015610bc857506001600160a01b0384165f9081526002602052604090205460ff16155b8015610bec57506001600160a01b0384165f9081526003602052604090205460ff16155b8015610c0357506001600160a01b03841661dead14155b15610c7c576008546001600160a01b0385165f90815260046020526040902054610c2e9085906114b2565b1115610c7c5760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e00006044820152606401610488565b610c868585610f0a565b8015610c9c5750600b54600160b01b900460ff16155b8015610cae5750610cae858585610f4f565b15610d3b57305f90815260046020526040902054620f4240610cd967016345785d8a000060076114c5565b610ce391906114dc565b8110610d39576064610cfe67016345785d8a000060016114c5565b610d0891906114dc565b8110610d30576064610d2367016345785d8a000060016114c5565b610d2d91906114dc565b90505b610d3981610fd9565b505b6001600160a01b0385165f9081526002602052604090205460ff1680610d7857506001600160a01b0384165f9081526002602052604090205460ff165b15610d8057505f5b5f81610d8c5783610daa565b610daa86610d9a88886111c6565b610da48989610f0a565b8761120b565b6001600160a01b0387165f9081526002602052604090205490915060ff168015610ddd57506001600160a01b0386163014155b8015610df657505f546001600160a01b03878116911614155b15610e0857610e058185611424565b93505b6001600160a01b0386165f9081526004602052604081208054869290610e2f908490611424565b90915550506001600160a01b0385165f9081526004602052604081208054839290610e5b9084906114b2565b92505081905550846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610ea791815260200190565b60405180910390a350600195945050505050565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0381165f90815260036020526040812054819060ff16801561045757505050506001600160a01b03165f9081526003602052604090205460ff161590565b600b545f90600160a81b900460ff168015610f8257506001600160a01b0384165f9081526002602052604090205460ff16155b8015610fa657506001600160a01b0383165f9081526002602052604090205460ff16155b80156104575750620f4240610fc467016345785d8a000060076114c5565b610fce91906114dc565b909110159392505050565b600b805460ff60b01b1916600160b01b1790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061101f5761101f6114fb565b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611076573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061109a919061146c565b816001815181106110ad576110ad6114fb565b6001600160a01b03928316602091820292909201810191909152305f90815260018252604080822060095490941682529290915220545f191461111357305f9081526001602090815260408083206009546001600160a01b0316845290915290205f1990555b60095460405163791ac94760e01b81526001600160a01b039091169063791ac9479061114b9085905f9086903090429060040161150f565b5f604051808303815f87803b158015611162575f80fd5b505af1925050508015611173575060015b61117d57506111b6565b600b546040516001600160a01b03909116904780156108fc02915f818181858888f193505050501580156111b3573d5f803e3d5ffd5b50505b50600b805460ff60b01b19169055565b6001600160a01b0381165f90815260036020526040812054819060ff1615801561045757505050506001600160a01b03165f9081526003602052604090205460ff1690565b5f80841561121c5750600554611230565b831561122b5750600654611230565b506007545b805f036112405782915050610457565b5f606461124d83866114c5565b61125791906114dc565b905080156112c357305f908152600460205260408120805483929061127d9084906114b2565b909155505060405181815230906001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b6112cd8185611424565b979650505050505050565b5f602080835283518060208501525f5b81811015611304578581018301518582016040015282016112e8565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461086a575f80fd5b5f8060408385031215611349575f80fd5b823561135481611324565b946020939093013593505050565b5f805f60608486031215611374575f80fd5b833561137f81611324565b9250602084013561138f81611324565b929592945050506040919091013590565b5f602082840312156113b0575f80fd5b81356113bb81611324565b9392505050565b5f80604083850312156113d3575f80fd5b82356113de81611324565b915060208301356113ee81611324565b809150509250929050565b5f60208284031215611409575f80fd5b5035919050565b634e487b7160e01b5f52601160045260245ffd5b818103818111156103a0576103a0611410565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f6020828403121561147c575f80fd5b81516113bb81611324565b5f805f60608486031215611499575f80fd5b8351925060208401519150604084015190509250925092565b808201808211156103a0576103a0611410565b80820281158282048414176103a0576103a0611410565b5f826114f657634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b8181101561155f5784516001600160a01b03168352938301939183019160010161153a565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220a8ac60090ae01747749272482d5125578a61f304dc6aa2fb811a0e5afa67ff8664736f6c63430008160033
Deployed Bytecode Sourcemap
5000:7941:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6752:73;;;;;;;;;;;;6783:42;6752:73;;;;;-1:-1:-1;;;;;178:32:1;;;160:51;;148:2;133:18;6752:73:0;;;;;;;;5423:80;;;;;;;;;;-1:-1:-1;5495:5:0;;;;;;;;;;;;-1:-1:-1;;;5495:5:0;;;;5423:80;;;;;;;:::i;7723:161::-;;;;;;;;;;-1:-1:-1;7723:161:0;;;;;:::i;:::-;;:::i;:::-;;;1396:14:1;;1389:22;1371:41;;1359:2;1344:18;7723:161:0;1231:187:1;5052:152:0;;;;;;;;;;;;;:::i;:::-;;;1569:25:1;;;1557:2;1542:18;5052:152:0;1423:177:1;8161:306:0;;;;;;;;;;-1:-1:-1;8161:306:0;;;;;:::i;:::-;;:::i;5210:117::-;;;;;;;;;;-1:-1:-1;5210:117:0;;6744:1;2208:36:1;;2196:2;2181:18;5210:117:0;2066:184:1;6103:56:0;;;;;;;;;;;;6142:17;6103:56;;5734:117;;;;;;;;;;-1:-1:-1;5734:117:0;;;;;:::i;:::-;-1:-1:-1;;;;;5827:16:0;5800:7;5827:16;;;:7;:16;;;;;;;5734:117;1000:94;;;;;;;;;;;;;:::i;:::-;;12679:91;;;;;;;;;;;;;:::i;5509:80::-;;;;;;;;;;-1:-1:-1;5561:7:0;850:6;-1:-1:-1;;;;;850:6:0;5509:80;5052:152;11950:490;;;:::i;5333:84::-;;;;;;;;;;-1:-1:-1;5407:7:0;;;;;;;;;;;;-1:-1:-1;;;5407:7:0;;;;5333:84;;7550:165;;;;;;;;;;-1:-1:-1;7550:165:0;;;;;:::i;:::-;;:::i;12448:223::-;;;;;;;;;;;;;:::i;5595:133::-;;;;;;;;;;-1:-1:-1;5595:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;5697:19:0;;;5679:7;5697:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;5595:133;12778:160;;;;;;;;;;-1:-1:-1;12778:160:0;;;;;:::i;:::-;;:::i;1102:192::-;;;;;;;;;;-1:-1:-1;1102:192:0;;;;;:::i;:::-;;:::i;7723:161::-;7800:4;7817:37;7826:10;7838:7;7847:6;7817:8;:37::i;:::-;-1:-1:-1;7872:4:0;7723:161;;;;;:::o;5052:152::-;5107:7;6783:42;5800:7;5827:16;:7;:16;;;;5162:39;;6142:17;5162:39;:::i;:::-;5155:46;;5052:152;:::o;8161:306::-;-1:-1:-1;;;;;8282:19:0;;8261:4;8282:19;;;:11;:19;;;;;;;;8302:10;8282:31;;;;;;;;-1:-1:-1;;8282:52:0;8278:126;;-1:-1:-1;;;;;8351:19:0;;;;;;:11;:19;;;;;;;;8371:10;8351:31;;;;;;;:41;;8386:6;;8351:19;:41;;8386:6;;8351:41;:::i;:::-;;;;-1:-1:-1;;8278:126:0;8423:36;8433:6;8441:9;8452:6;8423:9;:36::i;:::-;8416:43;8161:306;-1:-1:-1;;;;8161:306:0:o;1000:94::-;823:7;850:6;-1:-1:-1;;;;;850:6:0;385:10;912:23;904:68;;;;-1:-1:-1;;;904:68:0;;;;;;;:::i;:::-;;;;;;;;;1065:21:::1;1083:1;1065:9;:21::i;:::-;1000:94::o:0;12679:91::-;823:7;850:6;-1:-1:-1;;;;;850:6:0;385:10;912:23;904:68;;;;-1:-1:-1;;;904:68:0;;;;;;;:::i;:::-;6142:17:::1;12733:14;:29:::0;12679:91::o;11950:490::-;823:7;850:6;-1:-1:-1;;;;;850:6:0;385:10;912:23;904:68;;;;-1:-1:-1;;;904:68:0;;;;;;;:::i;:::-;12042:10:::1;;;;;;;;;-1:-1:-1::0;;;;;12042:10:0::1;-1:-1:-1::0;;;;;12042:18:0::1;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12031:43:0::1;;12075:10;;;;;;;;;-1:-1:-1::0;;;;;12075:10:0::1;-1:-1:-1::0;;;;;12075:15:0::1;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12031:77;::::0;-1:-1:-1;;;;;;12031:77:0::1;::::0;;;;;;-1:-1:-1;;;;;4197:15:1;;;12031:77:0::1;::::0;::::1;4179:34:1::0;12102:4:0::1;4229:18:1::0;;;4222:43;4114:18;;12031:77:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12020:8;:88:::0;;-1:-1:-1;;;;;;12020:88:0::1;-1:-1:-1::0;;;;;12020:88:0;;::::1;::::0;;::::1;::::0;;;-1:-1:-1;12119:25:0;;;:15:::1;:25;::::0;;;;:32;;-1:-1:-1;;12119:32:0::1;-1:-1:-1::0;12119:32:0::1;::::0;;12194:10:::1;::::0;12162:63:::1;::::0;12179:4:::1;::::0;12194:10:::1;-1:-1:-1::0;;12162:8:0::1;:63::i;:::-;12238:10;::::0;12305:4:::1;12238:10;12325:22:::0;;;:7:::1;:22;::::0;;;;;-1:-1:-1;;;;;12238:10:0;;::::1;::::0;:26:::1;::::0;12272:9:::1;::::0;12305:4;;12325:22;12238:10;12394:7:::1;823::::0;850:6;-1:-1:-1;;;;;850:6:0;;777:87;12394:7:::1;12238:194;::::0;::::1;::::0;;;-1:-1:-1;;;;;;12238:194:0;;;-1:-1:-1;;;;;4635:15:1;;;12238:194:0::1;::::0;::::1;4617:34:1::0;4667:18;;;4660:34;;;;4710:18;;;4703:34;;;;4753:18;;;4746:34;4817:15;;;4796:19;;;4789:44;12416:15:0::1;4849:19:1::0;;;4842:35;4551:19;;12238:194:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;11950:490::o:0;7550:165::-;7628:4;7645:40;7655:10;7667:9;7678:6;7645:9;:40::i;:::-;-1:-1:-1;7703:4:0;;7550:165;-1:-1:-1;;;7550:165:0:o;12448:223::-;823:7;850:6;-1:-1:-1;;;;;850:6:0;385:10;912:23;904:68;;;;-1:-1:-1;;;904:68:0;;;;;;;:::i;:::-;12507:12:::1;::::0;-1:-1:-1;;;12507:12:0;::::1;;;12506:13;12498:49;;;::::0;-1:-1:-1;;;12498:49:0;;5401:2:1;12498:49:0::1;::::0;::::1;5383:21:1::0;5440:2;5420:18;;;5413:30;5479:25;5459:18;;;5452:53;5522:18;;12498:49:0::1;5199:347:1::0;12498:49:0::1;12558:12;:19:::0;;-1:-1:-1;;;;12588:22:0;-1:-1:-1;;;12588:22:0;;;12634:2:::1;12621:10;:15:::0;12661:2:::1;-1:-1:-1::0;12647:16:0;12448:223::o;12778:160::-;823:7;850:6;-1:-1:-1;;;;;850:6:0;385:10;912:23;904:68;;;;-1:-1:-1;;;904:68:0;;;;;;;:::i;:::-;12844:10:::1;:20:::0;;;12875:11:::1;:21:::0;;;12917:12;::::1;;12909:21;;;::::0;::::1;;12778:160:::0;:::o;1102:192::-;823:7;850:6;-1:-1:-1;;;;;850:6:0;385:10;912:23;904:68;;;;-1:-1:-1;;;904:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;1191:22:0;::::1;1183:73;;;::::0;-1:-1:-1;;;1183:73:0;;5753:2:1;1183:73:0::1;::::0;::::1;5735:21:1::0;5792:2;5772:18;;;5765:30;5831:34;5811:18;;;5804:62;-1:-1:-1;;;5882:18:1;;;5875:36;5928:19;;1183:73:0::1;5551:402:1::0;1183:73:0::1;1267:19;1277:8;1267:9;:19::i;7892:261::-:0;-1:-1:-1;;;;;7987:20:0;;7979:52;;;;-1:-1:-1;;;7979:52:0;;6160:2:1;7979:52:0;;;6142:21:1;6199:2;6179:18;;;6172:30;-1:-1:-1;;;6218:18:1;;;6211:49;6277:18;;7979:52:0;5958:343:1;7979:52:0;-1:-1:-1;;;;;8050:21:0;;8042:53;;;;-1:-1:-1;;;8042:53:0;;6160:2:1;8042:53:0;;;6142:21:1;6199:2;6179:18;;;6172:30;-1:-1:-1;;;6218:18:1;;;6211:49;6277:18;;8042:53:0;5958:343:1;8042:53:0;-1:-1:-1;;;;;8108:19:0;;;;;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;:37;7892:261::o;9076:1597::-;9156:4;9188;-1:-1:-1;;;;;9211:16:0;;9203:64;;;;-1:-1:-1;;;9203:64:0;;6508:2:1;9203:64:0;;;6490:21:1;6547:2;6527:18;;;6520:30;6586:34;6566:18;;;6559:62;-1:-1:-1;;;6637:18:1;;;6630:33;6680:19;;9203:64:0;6306:399:1;9203:64:0;-1:-1:-1;;;;;9286:18:0;;9278:68;;;;-1:-1:-1;;;9278:68:0;;6912:2:1;9278:68:0;;;6894:21:1;6951:2;6931:18;;;6924:30;6990:34;6970:18;;;6963:62;-1:-1:-1;;;7041:18:1;;;7034:35;7086:19;;9278:68:0;6710:401:1;9278:68:0;9374:1;9365:6;:10;9357:64;;;;-1:-1:-1;;;9357:64:0;;7318:2:1;9357:64:0;;;7300:21:1;7357:2;7337:18;;;7330:30;7396:34;7376:18;;;7369:62;-1:-1:-1;;;7447:18:1;;;7440:39;7496:19;;9357:64:0;7116:405:1;9357:64:0;-1:-1:-1;;;;;9439:24:0;;;;;;:18;:24;;;;;;;;9438:25;:52;;;;-1:-1:-1;;;;;;9468:22:0;;;;;;:18;:22;;;;;;;;9467:23;9438:52;9434:131;;;9515:12;;-1:-1:-1;;;9515:12:0;;;;9507:46;;;;-1:-1:-1;;;9507:46:0;;7728:2:1;9507:46:0;;;7710:21:1;7767:2;7747:18;;;7740:30;-1:-1:-1;;;7786:18:1;;;7779:52;7848:18;;9507:46:0;7526:346:1;9507:46:0;-1:-1:-1;;;;;9581:24:0;;;;;;:18;:24;;;;;;;;9580:25;:52;;;;-1:-1:-1;;;;;;9610:22:0;;;;;;:18;:22;;;;;;;;9609:23;9580:52;:76;;;;-1:-1:-1;;;;;;9637:19:0;;;;;;:15;:19;;;;;;;;9636:20;9580:76;:99;;;;-1:-1:-1;;;;;;9660:19:0;;6783:42;9660:19;;9580:99;9577:209;;;9725:14;;-1:-1:-1;;;;;9703:11:0;;;;;;:7;:11;;;;;;:18;;9715:6;;9703:18;:::i;:::-;:36;;9695:79;;;;-1:-1:-1;;;9695:79:0;;8209:2:1;9695:79:0;;;8191:21:1;8248:2;8228:18;;;8221:30;8287:32;8267:18;;;8260:60;8337:18;;9695:79:0;8007:354:1;9695:79:0;9801:22;9814:4;9820:2;9801:12;:22::i;:::-;:36;;;;-1:-1:-1;9828:9:0;;-1:-1:-1;;;9828:9:0;;;;9827:10;9801:36;:71;;;;;9841:31;9855:4;9861:2;9865:6;9841:13;:31::i;:::-;9798:365;;;9935:4;9889:25;5827:16;;;:7;:16;;;;;;6458:7;6439:16;6142:17;6454:1;6439:16;:::i;:::-;:26;;;;:::i;:::-;9959:17;:34;9956:196;;6530:3;6511:16;6142:17;6526:1;6511:16;:::i;:::-;:22;;;;:::i;:::-;10019:17;:32;10015:69;;6530:3;6511:16;6142:17;6526:1;6511:16;:::i;:::-;:22;;;;:::i;:::-;10053:31;;10015:69;10103:33;10118:17;10103:14;:33::i;:::-;9874:289;9798:365;-1:-1:-1;;;;;10179:24:0;;;;;;:18;:24;;;;;;;;;:50;;-1:-1:-1;;;;;;10207:22:0;;;;;;:18;:22;;;;;;;;10179:50;10175:97;;;-1:-1:-1;10255:5:0;10175:97;10284:23;10311:7;10310:93;;10397:6;10310:93;;;10322:72;10334:4;10340:21;10352:4;10358:2;10340:11;:21::i;:::-;10363:22;10376:4;10382:2;10363:12;:22::i;:::-;10387:6;10322:11;:72::i;:::-;-1:-1:-1;;;;;10418:24:0;;;;;;:18;:24;;;;;;10284:119;;-1:-1:-1;10418:24:0;;:49;;;;-1:-1:-1;;;;;;10446:21:0;;10462:4;10446:21;;10418:49;:68;;;;-1:-1:-1;823:7:0;850:6;-1:-1:-1;;;;;10471:15:0;;;850:6;;10471:15;;10418:68;10414:107;;;10497:24;10506:15;10497:6;:24;:::i;:::-;10488:33;;10414:107;-1:-1:-1;;;;;10532:13:0;;;;;;:7;:13;;;;;:23;;10549:6;;10532:13;:23;;10549:6;;10532:23;:::i;:::-;;;;-1:-1:-1;;;;;;;10567:11:0;;;;;;:7;:11;;;;;:30;;10582:15;;10567:11;:30;;10582:15;;10567:30;:::i;:::-;;;;;;;;10619:2;-1:-1:-1;;;;;10604:35:0;10613:4;-1:-1:-1;;;;;10604:35:0;;10623:15;10604:35;;;;1569:25:1;;1557:2;1542:18;;1423:177;10604:35:0;;;;;;;;-1:-1:-1;10659:4:0;;9076:1597;-1:-1:-1;;;;;9076:1597:0:o;1302:173::-;1358:16;1377:6;;-1:-1:-1;;;;;1394:17:0;;;-1:-1:-1;;;;;;1394:17:0;;;;;;1427:40;;1377:6;;;;;;;1427:40;;1358:16;1427:40;1347:128;1302:173;:::o;8661:180::-;-1:-1:-1;;;;;8764:20:0;;8732:4;8764:20;;;:15;:20;;;;;;8732:4;;8764:20;;:45;;;;-1:-1:-1;;;;;;;;;8789:20:0;;;;;:15;:20;;;;;;;;8788:21;;8661:180::o;8850:218::-;8962:15;;8938:4;;-1:-1:-1;;;8962:15:0;;;;:43;;;;-1:-1:-1;;;;;;8982:23:0;;;;;;:18;:23;;;;;;;;8981:24;8962:43;:71;;;;-1:-1:-1;;;;;;9010:23:0;;;;;;:18;:23;;;;;;;;9009:24;8962:71;:98;;;;-1:-1:-1;6458:7:0;6439:16;6142:17;6454:1;6439:16;:::i;:::-;:26;;;;:::i;:::-;9037:23;;;;;8850:218;-1:-1:-1;;;8850:218:0:o;11229:713::-;7071:9;:16;;-1:-1:-1;;;;7071:16:0;-1:-1:-1;;;7071:16:0;;;11346::::1;::::0;;11360:1:::1;11346:16:::0;;;;;::::1;::::0;;-1:-1:-1;;11346:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;11346:16:0::1;11322:40;;11391:4;11373;11378:1;11373:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11373:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;11417:10:::1;::::0;:17:::1;::::0;;-1:-1:-1;;;11417:17:0;;;;:10;;;::::1;::::0;:15:::1;::::0;:17:::1;::::0;;::::1;::::0;11373:7;;11417:17;;;;;:10;:17:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11407:4;11412:1;11407:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11407:27:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:27;;;;11471:4:::1;11451:26;::::0;;;:11:::1;:26:::0;;;;;;11486:10:::1;::::0;;;::::1;11451:47:::0;;;;;;;;-1:-1:-1;;11451:68:0::1;11447:168;;11556:4;11536:26;::::0;;;:11:::1;:26;::::0;;;;;;;11571:10:::1;::::0;-1:-1:-1;;;;;11571:10:0::1;11536:47:::0;;;;;;;-1:-1:-1;;11536:67:0;;11447:168:::1;11631:10;::::0;:197:::1;::::0;-1:-1:-1;;;11631:197:0;;-1:-1:-1;;;;;11631:10:0;;::::1;::::0;:61:::1;::::0;:197:::1;::::0;11707:17;;11631:10:::1;::::0;11755:4;;11782::::1;::::0;11802:15:::1;::::0;11631:197:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;11627:244;;11853:7;;;11627:244;11891:8;::::0;11883:49:::1;::::0;-1:-1:-1;;;;;11891:8:0;;::::1;::::0;11910:21:::1;11883:49:::0;::::1;;;::::0;11891:8:::1;11883:49:::0;11891:8;11883:49;11910:21;11891:8;11883:49;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;11301:641;7098:1;-1:-1:-1::0;7110:9:0;:17;;-1:-1:-1;;;;7110:17:0;;;11229:713::o;8475:178::-;-1:-1:-1;;;;;8577:20:0;;8545:4;8577:20;;;:15;:20;;;;;;8545:4;;8577:20;;8576:21;:45;;;;-1:-1:-1;;;;;;;;;8601:20:0;;;;;:15;:20;;;;;;;;;8475:178::o;10681:540::-;10775:7;10795:11;10821:5;10817:96;;;-1:-1:-1;10835:10:0;;10817:96;;;10857:6;10853:60;;;-1:-1:-1;10872:11:0;;10853:60;;;-1:-1:-1;10898:15:0;;10853:60;10929:3;10936:1;10929:8;10925:28;;10947:6;10940:13;;;;;10925:28;10964:17;6209:3;10984:12;10993:3;10984:6;:12;:::i;:::-;:30;;;;:::i;:::-;10964:50;-1:-1:-1;11029:13:0;;11025:153;;11075:4;11059:22;;;;:7;:22;;;;;:35;;11085:9;;11059:22;:35;;11085:9;;11059:35;:::i;:::-;;;;-1:-1:-1;;11114:40:0;;1569:25:1;;;11137:4:0;;-1:-1:-1;;;;;11114:40:0;;;;;1557:2:1;1542:18;11114:40:0;;;;;;;11025:153;11195:18;11204:9;11195:6;:18;:::i;:::-;11188:25;10681:540;-1:-1:-1;;;;;;;10681:540:0:o;222:548:1:-;334:4;363:2;392;381:9;374:21;424:6;418:13;467:6;462:2;451:9;447:18;440:34;492:1;502:140;516:6;513:1;510:13;502:140;;;611:14;;;607:23;;601:30;577:17;;;596:2;573:26;566:66;531:10;;502:140;;;506:3;691:1;686:2;677:6;666:9;662:22;658:31;651:42;761:2;754;750:7;745:2;737:6;733:15;729:29;718:9;714:45;710:54;702:62;;;;222:548;;;;:::o;775:131::-;-1:-1:-1;;;;;850:31:1;;840:42;;830:70;;896:1;893;886:12;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;1605:456::-;1682:6;1690;1698;1751:2;1739:9;1730:7;1726:23;1722:32;1719:52;;;1767:1;1764;1757:12;1719:52;1806:9;1793:23;1825:31;1850:5;1825:31;:::i;:::-;1875:5;-1:-1:-1;1932:2:1;1917:18;;1904:32;1945:33;1904:32;1945:33;:::i;:::-;1605:456;;1997:7;;-1:-1:-1;;;2051:2:1;2036:18;;;;2023:32;;1605:456::o;2255:247::-;2314:6;2367:2;2355:9;2346:7;2342:23;2338:32;2335:52;;;2383:1;2380;2373:12;2335:52;2422:9;2409:23;2441:31;2466:5;2441:31;:::i;:::-;2491:5;2255:247;-1:-1:-1;;;2255:247:1:o;2507:388::-;2575:6;2583;2636:2;2624:9;2615:7;2611:23;2607:32;2604:52;;;2652:1;2649;2642:12;2604:52;2691:9;2678:23;2710:31;2735:5;2710:31;:::i;:::-;2760:5;-1:-1:-1;2817:2:1;2802:18;;2789:32;2830:33;2789:32;2830:33;:::i;:::-;2882:7;2872:17;;;2507:388;;;;;:::o;2900:180::-;2959:6;3012:2;3000:9;2991:7;2987:23;2983:32;2980:52;;;3028:1;3025;3018:12;2980:52;-1:-1:-1;3051:23:1;;2900:180;-1:-1:-1;2900:180:1:o;3085:127::-;3146:10;3141:3;3137:20;3134:1;3127:31;3177:4;3174:1;3167:15;3201:4;3198:1;3191:15;3217:128;3284:9;;;3305:11;;;3302:37;;;3319:18;;:::i;3350:356::-;3552:2;3534:21;;;3571:18;;;3564:30;3630:34;3625:2;3610:18;;3603:62;3697:2;3682:18;;3350:356::o;3711:251::-;3781:6;3834:2;3822:9;3813:7;3809:23;3805:32;3802:52;;;3850:1;3847;3840:12;3802:52;3882:9;3876:16;3901:31;3926:5;3901:31;:::i;4888:306::-;4976:6;4984;4992;5045:2;5033:9;5024:7;5020:23;5016:32;5013:52;;;5061:1;5058;5051:12;5013:52;5090:9;5084:16;5074:26;;5140:2;5129:9;5125:18;5119:25;5109:35;;5184:2;5173:9;5169:18;5163:25;5153:35;;4888:306;;;;;:::o;7877:125::-;7942:9;;;7963:10;;;7960:36;;;7976:18;;:::i;8366:168::-;8439:9;;;8470;;8487:15;;;8481:22;;8467:37;8457:71;;8508:18;;:::i;8539:217::-;8579:1;8605;8595:132;;8649:10;8644:3;8640:20;8637:1;8630:31;8684:4;8681:1;8674:15;8712:4;8709:1;8702:15;8595:132;-1:-1:-1;8741:9:1;;8539:217::o;8893:127::-;8954:10;8949:3;8945:20;8942:1;8935:31;8985:4;8982:1;8975:15;9009:4;9006:1;8999:15;9025:980;9287:4;9335:3;9324:9;9320:19;9366:6;9355:9;9348:25;9392:2;9430:6;9425:2;9414:9;9410:18;9403:34;9473:3;9468:2;9457:9;9453:18;9446:31;9497:6;9532;9526:13;9563:6;9555;9548:22;9601:3;9590:9;9586:19;9579:26;;9640:2;9632:6;9628:15;9614:29;;9661:1;9671:195;9685:6;9682:1;9679:13;9671:195;;;9750:13;;-1:-1:-1;;;;;9746:39:1;9734:52;;9841:15;;;;9806:12;;;;9782:1;9700:9;9671:195;;;-1:-1:-1;;;;;;;9922:32:1;;;;9917:2;9902:18;;9895:60;-1:-1:-1;;;9986:3:1;9971:19;9964:35;9883:3;9025:980;-1:-1:-1;;;9025:980:1:o
Swarm Source
ipfs://a8ac60090ae01747749272482d5125578a61f304dc6aa2fb811a0e5afa67ff86
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.