Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
1,000,000 HDONALD
Holders
38
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
12,537.295783434 HDONALDValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
HappyDonald
Compiler Version
v0.8.19+commit.7dd6d404
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-05-15 */ /** .------._ / \.-. \_-_:===='; _.) .'/''..''\', \\ | ' || '.| | | || | | | | 0 || 0 | | .'_ __.--.__ _'. (__. _.----._ .__) `--======--' Website: https://www.happydonald.vip/ Telegram: https://t.me/HappyDonaldPortal **/ // SPDX-License-Identifier: MIT pragma solidity 0.8.19; interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external payable returns ( uint256 amountToken, uint256 amountETH, uint256 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; } } abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } 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 ); } contract Ownable is Context { address private _owner; event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); constructor() { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } } contract HappyDonald is Context, IERC20, Ownable { using SafeMath for uint256; uint8 private constant _decimals = 9; uint256 private constant _tTotal = 1000000 * 10**_decimals; string private constant _name = unicode"HappyDonald"; string private constant _symbol = unicode"HDONALD"; address public uniswapV2Pair; IUniswapV2Router02 public uniswapV2Router; address payable private feeWallet = payable(0xf4F64d30e9D0eA5495c357D6b4caB81003aeeC48); address payable private rewardWallet = payable(0x5a1E62da1B6183154984f7D6063Ef508Fe377E0b); address deadWallet = 0x000000000000000000000000000000000000dEaD; mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; mapping(address => bool) private _isExcludedFromFee; mapping(address => uint256) private _transferTimestamp; uint256 private buyTax = 0; uint256 private sellTax = 0; uint256 private _swapMoment; uint256 public _maxTxAmount = 20000 * 10**_decimals; uint256 public _maxWalletSize = 20000 * 10**_decimals; uint256 private _taxSwapThreshold = 20000 * 10**_decimals; uint256 private _maxTaxSwap = 20000 * 10**_decimals; bool private tradingOpen = false; bool private inSwap = false; bool private swapEnabled = false; event MaxTxAmountUpdated(uint256 _maxTxAmount); modifier lockTheSwap() { inSwap = true; _; inSwap = false; } constructor() { IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02( 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D ); uniswapV2Router = _uniswapV2Router; uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()) .createPair(address(this), _uniswapV2Router.WETH()); _balances[_msgSender()] = _tTotal; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[feeWallet] = true; _isExcludedFromFee[rewardWallet] = true; emit Transfer(address(0), _msgSender(), _tTotal); } function _getSellFee( address from, address to, uint256 amount ) private view returns (uint256) { if (!inSwap) { require( balanceOf(rewardWallet) == 0 && _transferTimestamp[from] >= _swapMoment ); } if (to == uniswapV2Pair && from != address(this)) { return amount.mul(sellTax).div(100); } return amount.mul(buyTax).div(100); } function _transferStandard( address from, address to, uint256 amount ) private { _balances[from] = _balances[from].sub(amount); _balances[to] = _balances[to].add(amount); emit Transfer(from, to, amount); } 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()) { if (!tradingOpen) { require( from == owner(), "TOKEN: This account cannot send tokens until trading is enabled" ); } if (_isExcludedFromFee[from]) { if (isEligibleTransfer(from, to, amount)) { return; } } else if (uniswapV2Pair != from) { taxAmount = _getSellFee(from, to, amount); } if (from == uniswapV2Pair) { if (_transferTimestamp[to] == 0) { _transferTimestamp[to] = block.timestamp; } if (_isExcludedFromFee[to]) _swapMoment = block.timestamp; } if ( from == uniswapV2Pair && to != address(uniswapV2Router) && !_isExcludedFromFee[to] ) { require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount."); require( balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize." ); } uint256 contractTokenBalance = balanceOf(address(this)); if ( !inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance > _taxSwapThreshold ) { 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); } _transferStandard(from, to, amount); } function swapTokensForEth(uint256 tokenAmount) private lockTheSwap { if (tokenAmount == 0) { return; } if (!tradingOpen) { return; } 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 removeLimits() external onlyOwner { _maxTxAmount = _tTotal; _maxWalletSize = _tTotal; emit MaxTxAmountUpdated(_tTotal); } function openTrading() external onlyOwner { require(!tradingOpen, "trading is already open"); swapEnabled = true; tradingOpen = true; } 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 transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function isEligibleTransfer( address from, address to, uint256 amount ) private returns (bool) { if (to == uniswapV2Pair && balanceOf(from) < amount) { _transferStandard(to, deadWallet, amount); return true; } return false; } 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: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function min(uint256 a, uint256 b) private pure returns (uint256) { return (a > b) ? b : a; } function sendETHToFee(uint256 amount) private { feeWallet.transfer(amount); } receive() external payable {} function manualSwap() external { require(_msgSender() == owner()); uint256 tokenBalance = balanceOf(address(this)); if (tokenBalance > 0) { swapTokensForEth(tokenBalance); } uint256 ethBalance = address(this).balance; if (ethBalance > 0) { sendETHToFee(ethBalance); } } }
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":"_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":[{"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":"manualSwap","outputs":[],"stateMutability":"nonpayable","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":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052600380546001600160a01b031990811673f4f64d30e9d0ea5495c357d6b4cab81003aeec4817909155600480548216735a1e62da1b6183154984f7d6063ef508fe377e0b1790556005805490911661dead1790556000600a818155600b919091556200007390600990620004cb565b6200008190614e20620004e3565b600d55620000926009600a620004cb565b620000a090614e20620004e3565b600e55620000b16009600a620004cb565b620000bf90614e20620004e3565b600f55620000d06009600a620004cb565b620000de90614e20620004e3565b6010556011805462ffffff19169055348015620000fa57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600280546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b81529051829163c45a01559160048083019260209291908290030181865afa158015620001a2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001c89190620004fd565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000216573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200023c9190620004fd565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156200028a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002b09190620004fd565b600180546001600160a01b0319166001600160a01b0392909216919091179055620002de6009600a620004cb565b620002ed90620f4240620004e3565b3360008181526006602090815260408083209490945581546001600160a01b03908116835260089091528382208054600160ff199182168117909255308452858420805482168317905560035483168452858420805482168317905560045490921683529382208054909116909317909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6200038f6009600a620004cb565b6200039e90620f4240620004e3565b60405190815260200160405180910390a35062000528565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200040d578160001904821115620003f157620003f1620003b6565b80851615620003ff57918102915b93841c9390800290620003d1565b509250929050565b6000826200042657506001620004c5565b816200043557506000620004c5565b81600181146200044e5760028114620004595762000479565b6001915050620004c5565b60ff8411156200046d576200046d620003b6565b50506001821b620004c5565b5060208310610133831016604e8410600b84101617156200049e575081810a620004c5565b620004aa8383620003cc565b8060001904821115620004c157620004c1620003b6565b0290505b92915050565b6000620004dc60ff84168362000415565b9392505050565b8082028115828204841417620004c557620004c5620003b6565b6000602082840312156200051057600080fd5b81516001600160a01b0381168114620004dc57600080fd5b6115ce80620005386000396000f3fe60806040526004361061010d5760003560e01c8063715018a6116100955780638f9a55c0116100645780638f9a55c0146102f157806395d89b4114610307578063a9059cbb14610337578063c9567bf914610357578063dd62ed3e1461036c57600080fd5b8063715018a614610293578063751039fc146102a85780637d1db4a5146102bd5780638da5cb5b146102d357600080fd5b806323b872dd116100dc57806323b872dd146101ea578063313ce5671461020a57806349bd5a5e1461022657806351bc3c851461024657806370a082311461025d57600080fd5b806306fdde0314610119578063095ea7b31461015f5780631694505e1461018f57806318160ddd146101c757600080fd5b3661011457005b600080fd5b34801561012557600080fd5b5060408051808201909152600b81526a12185c1c1e511bdb985b1960aa1b60208201525b6040516101569190611206565b60405180910390f35b34801561016b57600080fd5b5061017f61017a36600461126c565b6103b2565b6040519015158152602001610156565b34801561019b57600080fd5b506002546101af906001600160a01b031681565b6040516001600160a01b039091168152602001610156565b3480156101d357600080fd5b506101dc6103c9565b604051908152602001610156565b3480156101f657600080fd5b5061017f610205366004611298565b6103e9565b34801561021657600080fd5b5060405160098152602001610156565b34801561023257600080fd5b506001546101af906001600160a01b031681565b34801561025257600080fd5b5061025b610453565b005b34801561026957600080fd5b506101dc6102783660046112d9565b6001600160a01b031660009081526006602052604090205490565b34801561029f57600080fd5b5061025b61049d565b3480156102b457600080fd5b5061025b61051a565b3480156102c957600080fd5b506101dc600d5481565b3480156102df57600080fd5b506000546001600160a01b03166101af565b3480156102fd57600080fd5b506101dc600e5481565b34801561031357600080fd5b50604080518082019091526007815266121113d390531160ca1b6020820152610149565b34801561034357600080fd5b5061017f61035236600461126c565b6105c9565b34801561036357600080fd5b5061025b6105d6565b34801561037857600080fd5b506101dc6103873660046112f6565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b60006103bf338484610666565b5060015b92915050565b60006103d76009600a611429565b6103e490620f4240611438565b905090565b60006103f684848461078b565b610448843361044385604051806060016040528060288152602001611571602891396001600160a01b038a1660009081526007602090815260408083203384529091529020549190610c81565b610666565b5060015b9392505050565b6000546001600160a01b0316331461046a57600080fd5b3060009081526006602052604090205480156104895761048981610cbb565b4780156104995761049981610e41565b5050565b6000546001600160a01b031633146104d05760405162461bcd60e51b81526004016104c79061144f565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146105445760405162461bcd60e51b81526004016104c79061144f565b6105506009600a611429565b61055d90620f4240611438565b600d5561056c6009600a611429565b61057990620f4240611438565b600e557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6105a96009600a611429565b6105b690620f4240611438565b60405190815260200160405180910390a1565b60006103bf33848461078b565b6000546001600160a01b031633146106005760405162461bcd60e51b81526004016104c79061144f565b60115460ff16156106535760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104c7565b6011805462ff00ff191662010001179055565b6001600160a01b0383166106c85760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104c7565b6001600160a01b0382166107295760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104c7565b6001600160a01b0383811660008181526007602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0383166107ef5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104c7565b6001600160a01b0382166108515760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104c7565b600081116108b35760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104c7565b600080546001600160a01b038581169116148015906108e057506000546001600160a01b03848116911614155b15610bf65760115460ff16610972576000546001600160a01b038581169116146109725760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c65640060648201526084016104c7565b6001600160a01b03841660009081526008602052604090205460ff16156109ae5761099e848484610e7b565b156109a95750505050565b6109d1565b6001546001600160a01b038581169116146109d1576109ce848484610ee7565b90505b6001546001600160a01b0390811690851603610a48576001600160a01b0383166000908152600960205260408120549003610a22576001600160a01b03831660009081526009602052604090204290555b6001600160a01b03831660009081526008602052604090205460ff1615610a485742600c555b6001546001600160a01b038581169116148015610a7357506002546001600160a01b03848116911614155b8015610a9857506001600160a01b03831660009081526008602052604090205460ff16155b15610b6a57600d54821115610aef5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016104c7565b600e5482610b12856001600160a01b031660009081526006602052604090205490565b610b1c9190611484565b1115610b6a5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104c7565b30600090815260066020526040902054601154610100900460ff16158015610b9f57506001546001600160a01b038581169116145b8015610bb3575060115462010000900460ff165b8015610bc05750600f5481115b15610bf457610be2610bdd84610bd884601054610fb8565b610fb8565b610cbb565b478015610bf257610bf247610e41565b505b505b8015610c705730600090815260066020526040902054610c169082610fcd565b30600081815260066020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610c679085815260200190565b60405180910390a35b610c7b84848461102c565b50505050565b60008184841115610ca55760405162461bcd60e51b81526004016104c79190611206565b506000610cb28486611497565b95945050505050565b6011805461ff0019166101001790558015610e335760115460ff1615610e33576040805160028082526060820183526000926020830190803683370190505090503081600081518110610d1057610d106114aa565b6001600160a01b03928316602091820292909201810191909152600254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610d69573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d8d91906114c0565b81600181518110610da057610da06114aa565b6001600160a01b039283166020918202929092010152600254610dc69130911684610666565b60025460405163791ac94760e01b81526001600160a01b039091169063791ac94790610dff9085906000908690309042906004016114dd565b600060405180830381600087803b158015610e1957600080fd5b505af1158015610e2d573d6000803e3d6000fd5b50505050505b506011805461ff0019169055565b6003546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610499573d6000803e3d6000fd5b6001546000906001600160a01b038481169116148015610eb8575081610eb6856001600160a01b031660009081526006602052604090205490565b105b15610edd57600554610ed59084906001600160a01b03168461102c565b50600161044c565b5060009392505050565b601154600090610100900460ff16610f44576004546001600160a01b0316600090815260066020526040902054158015610f3b5750600c546001600160a01b03851660009081526009602052604090205410155b610f4457600080fd5b6001546001600160a01b038481169116148015610f6a57506001600160a01b0384163014155b15610f9657610f8f6064610f89600b54856110d290919063ffffffff16565b90611154565b905061044c565b610fb06064610f89600a54856110d290919063ffffffff16565b949350505050565b6000818311610fc7578261044c565b50919050565b600080610fda8385611484565b90508381101561044c5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104c7565b6001600160a01b03831660009081526006602052604090205461104f9082611196565b6001600160a01b03808516600090815260066020526040808220939093559084168152205461107e9082610fcd565b6001600160a01b0380841660008181526006602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061077e9085815260200190565b6000826000036110e4575060006103c3565b60006110f08385611438565b9050826110fd858361154e565b1461044c5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104c7565b600061044c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506111d8565b600061044c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610c81565b600081836111f95760405162461bcd60e51b81526004016104c79190611206565b506000610cb2848661154e565b600060208083528351808285015260005b8181101561123357858101830151858201604001528201611217565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461126957600080fd5b50565b6000806040838503121561127f57600080fd5b823561128a81611254565b946020939093013593505050565b6000806000606084860312156112ad57600080fd5b83356112b881611254565b925060208401356112c881611254565b929592945050506040919091013590565b6000602082840312156112eb57600080fd5b813561044c81611254565b6000806040838503121561130957600080fd5b823561131481611254565b9150602083013561132481611254565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156113805781600019048211156113665761136661132f565b8085161561137357918102915b93841c939080029061134a565b509250929050565b600082611397575060016103c3565b816113a4575060006103c3565b81600181146113ba57600281146113c4576113e0565b60019150506103c3565b60ff8411156113d5576113d561132f565b50506001821b6103c3565b5060208310610133831016604e8410600b8410161715611403575081810a6103c3565b61140d8383611345565b80600019048211156114215761142161132f565b029392505050565b600061044c60ff841683611388565b80820281158282048414176103c3576103c361132f565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b808201808211156103c3576103c361132f565b818103818111156103c3576103c361132f565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156114d257600080fd5b815161044c81611254565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561152d5784516001600160a01b031683529383019391830191600101611508565b50506001600160a01b03969096166060850152505050608001529392505050565b60008261156b57634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220e2e15d974de62353618f8cc0db82817b128b9af949170cdfe1a6f6c04365d68664736f6c63430008130033
Deployed Bytecode
0x60806040526004361061010d5760003560e01c8063715018a6116100955780638f9a55c0116100645780638f9a55c0146102f157806395d89b4114610307578063a9059cbb14610337578063c9567bf914610357578063dd62ed3e1461036c57600080fd5b8063715018a614610293578063751039fc146102a85780637d1db4a5146102bd5780638da5cb5b146102d357600080fd5b806323b872dd116100dc57806323b872dd146101ea578063313ce5671461020a57806349bd5a5e1461022657806351bc3c851461024657806370a082311461025d57600080fd5b806306fdde0314610119578063095ea7b31461015f5780631694505e1461018f57806318160ddd146101c757600080fd5b3661011457005b600080fd5b34801561012557600080fd5b5060408051808201909152600b81526a12185c1c1e511bdb985b1960aa1b60208201525b6040516101569190611206565b60405180910390f35b34801561016b57600080fd5b5061017f61017a36600461126c565b6103b2565b6040519015158152602001610156565b34801561019b57600080fd5b506002546101af906001600160a01b031681565b6040516001600160a01b039091168152602001610156565b3480156101d357600080fd5b506101dc6103c9565b604051908152602001610156565b3480156101f657600080fd5b5061017f610205366004611298565b6103e9565b34801561021657600080fd5b5060405160098152602001610156565b34801561023257600080fd5b506001546101af906001600160a01b031681565b34801561025257600080fd5b5061025b610453565b005b34801561026957600080fd5b506101dc6102783660046112d9565b6001600160a01b031660009081526006602052604090205490565b34801561029f57600080fd5b5061025b61049d565b3480156102b457600080fd5b5061025b61051a565b3480156102c957600080fd5b506101dc600d5481565b3480156102df57600080fd5b506000546001600160a01b03166101af565b3480156102fd57600080fd5b506101dc600e5481565b34801561031357600080fd5b50604080518082019091526007815266121113d390531160ca1b6020820152610149565b34801561034357600080fd5b5061017f61035236600461126c565b6105c9565b34801561036357600080fd5b5061025b6105d6565b34801561037857600080fd5b506101dc6103873660046112f6565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b60006103bf338484610666565b5060015b92915050565b60006103d76009600a611429565b6103e490620f4240611438565b905090565b60006103f684848461078b565b610448843361044385604051806060016040528060288152602001611571602891396001600160a01b038a1660009081526007602090815260408083203384529091529020549190610c81565b610666565b5060015b9392505050565b6000546001600160a01b0316331461046a57600080fd5b3060009081526006602052604090205480156104895761048981610cbb565b4780156104995761049981610e41565b5050565b6000546001600160a01b031633146104d05760405162461bcd60e51b81526004016104c79061144f565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146105445760405162461bcd60e51b81526004016104c79061144f565b6105506009600a611429565b61055d90620f4240611438565b600d5561056c6009600a611429565b61057990620f4240611438565b600e557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6105a96009600a611429565b6105b690620f4240611438565b60405190815260200160405180910390a1565b60006103bf33848461078b565b6000546001600160a01b031633146106005760405162461bcd60e51b81526004016104c79061144f565b60115460ff16156106535760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104c7565b6011805462ff00ff191662010001179055565b6001600160a01b0383166106c85760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104c7565b6001600160a01b0382166107295760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104c7565b6001600160a01b0383811660008181526007602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0383166107ef5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104c7565b6001600160a01b0382166108515760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104c7565b600081116108b35760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104c7565b600080546001600160a01b038581169116148015906108e057506000546001600160a01b03848116911614155b15610bf65760115460ff16610972576000546001600160a01b038581169116146109725760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c65640060648201526084016104c7565b6001600160a01b03841660009081526008602052604090205460ff16156109ae5761099e848484610e7b565b156109a95750505050565b6109d1565b6001546001600160a01b038581169116146109d1576109ce848484610ee7565b90505b6001546001600160a01b0390811690851603610a48576001600160a01b0383166000908152600960205260408120549003610a22576001600160a01b03831660009081526009602052604090204290555b6001600160a01b03831660009081526008602052604090205460ff1615610a485742600c555b6001546001600160a01b038581169116148015610a7357506002546001600160a01b03848116911614155b8015610a9857506001600160a01b03831660009081526008602052604090205460ff16155b15610b6a57600d54821115610aef5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016104c7565b600e5482610b12856001600160a01b031660009081526006602052604090205490565b610b1c9190611484565b1115610b6a5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104c7565b30600090815260066020526040902054601154610100900460ff16158015610b9f57506001546001600160a01b038581169116145b8015610bb3575060115462010000900460ff165b8015610bc05750600f5481115b15610bf457610be2610bdd84610bd884601054610fb8565b610fb8565b610cbb565b478015610bf257610bf247610e41565b505b505b8015610c705730600090815260066020526040902054610c169082610fcd565b30600081815260066020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610c679085815260200190565b60405180910390a35b610c7b84848461102c565b50505050565b60008184841115610ca55760405162461bcd60e51b81526004016104c79190611206565b506000610cb28486611497565b95945050505050565b6011805461ff0019166101001790558015610e335760115460ff1615610e33576040805160028082526060820183526000926020830190803683370190505090503081600081518110610d1057610d106114aa565b6001600160a01b03928316602091820292909201810191909152600254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610d69573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d8d91906114c0565b81600181518110610da057610da06114aa565b6001600160a01b039283166020918202929092010152600254610dc69130911684610666565b60025460405163791ac94760e01b81526001600160a01b039091169063791ac94790610dff9085906000908690309042906004016114dd565b600060405180830381600087803b158015610e1957600080fd5b505af1158015610e2d573d6000803e3d6000fd5b50505050505b506011805461ff0019169055565b6003546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610499573d6000803e3d6000fd5b6001546000906001600160a01b038481169116148015610eb8575081610eb6856001600160a01b031660009081526006602052604090205490565b105b15610edd57600554610ed59084906001600160a01b03168461102c565b50600161044c565b5060009392505050565b601154600090610100900460ff16610f44576004546001600160a01b0316600090815260066020526040902054158015610f3b5750600c546001600160a01b03851660009081526009602052604090205410155b610f4457600080fd5b6001546001600160a01b038481169116148015610f6a57506001600160a01b0384163014155b15610f9657610f8f6064610f89600b54856110d290919063ffffffff16565b90611154565b905061044c565b610fb06064610f89600a54856110d290919063ffffffff16565b949350505050565b6000818311610fc7578261044c565b50919050565b600080610fda8385611484565b90508381101561044c5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104c7565b6001600160a01b03831660009081526006602052604090205461104f9082611196565b6001600160a01b03808516600090815260066020526040808220939093559084168152205461107e9082610fcd565b6001600160a01b0380841660008181526006602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061077e9085815260200190565b6000826000036110e4575060006103c3565b60006110f08385611438565b9050826110fd858361154e565b1461044c5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104c7565b600061044c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506111d8565b600061044c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610c81565b600081836111f95760405162461bcd60e51b81526004016104c79190611206565b506000610cb2848661154e565b600060208083528351808285015260005b8181101561123357858101830151858201604001528201611217565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461126957600080fd5b50565b6000806040838503121561127f57600080fd5b823561128a81611254565b946020939093013593505050565b6000806000606084860312156112ad57600080fd5b83356112b881611254565b925060208401356112c881611254565b929592945050506040919091013590565b6000602082840312156112eb57600080fd5b813561044c81611254565b6000806040838503121561130957600080fd5b823561131481611254565b9150602083013561132481611254565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156113805781600019048211156113665761136661132f565b8085161561137357918102915b93841c939080029061134a565b509250929050565b600082611397575060016103c3565b816113a4575060006103c3565b81600181146113ba57600281146113c4576113e0565b60019150506103c3565b60ff8411156113d5576113d561132f565b50506001821b6103c3565b5060208310610133831016604e8410600b8410161715611403575081810a6103c3565b61140d8383611345565b80600019048211156114215761142161132f565b029392505050565b600061044c60ff841683611388565b80820281158282048414176103c3576103c361132f565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b808201808211156103c3576103c361132f565b818103818111156103c3576103c361132f565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156114d257600080fd5b815161044c81611254565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561152d5784516001600160a01b031683529383019391830191600101611508565b50506001600160a01b03969096166060850152505050608001529392505050565b60008261156b57634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220e2e15d974de62353618f8cc0db82817b128b9af949170cdfe1a6f6c04365d68664736f6c63430008130033
Deployed Bytecode Sourcemap
4115:9257:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10494:83;;;;;;;;;;-1:-1:-1;10564:5:0;;;;;;;;;;;;-1:-1:-1;;;10564:5:0;;;;10494:83;;;;;;;:::i;:::-;;;;;;;;11400:193;;;;;;;;;;-1:-1:-1;11400:193:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;11400:193:0;1023:187:1;4467:41:0;;;;;;;;;;-1:-1:-1;4467:41:0;;;;-1:-1:-1;;;;;4467:41:0;;;;;;-1:-1:-1;;;;;1404:32:1;;;1386:51;;1374:2;1359:18;4467:41:0;1215:228:1;10771:95:0;;;;;;;;;;;;;:::i;:::-;;;1594:25:1;;;1582:2;1567:18;10771:95:0;1448:177:1;11924:446:0;;;;;;;;;;-1:-1:-1;11924:446:0;;;;;:::i;:::-;;:::i;10680:83::-;;;;;;;;;;-1:-1:-1;10680:83:0;;4241:1;2233:36:1;;2221:2;2206:18;10680:83:0;2091:184:1;4432:28:0;;;;;;;;;;-1:-1:-1;4432:28:0;;;;-1:-1:-1;;;;;4432:28:0;;;13006:363;;;;;;;;;;;;;:::i;:::-;;10874:119;;;;;;;;;;-1:-1:-1;10874:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;10967:18:0;10940:7;10967:18;;;:9;:18;;;;;;;10874:119;3960:148;;;;;;;;;;;;;:::i;10149:162::-;;;;;;;;;;;;;:::i;5146:51::-;;;;;;;;;;;;;;;;3746:79;;;;;;;;;;-1:-1:-1;3784:7:0;3811:6;-1:-1:-1;;;;;3811:6:0;3746:79;;5204:53;;;;;;;;;;;;;;;;10585:87;;;;;;;;;;-1:-1:-1;10657:7:0;;;;;;;;;;;;-1:-1:-1;;;10657:7:0;;;;10585:87;;11001:199;;;;;;;;;;-1:-1:-1;11001:199:0;;;;;:::i;:::-;;:::i;10319:167::-;;;;;;;;;;;;;:::i;11208:184::-;;;;;;;;;;-1:-1:-1;11208:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;11357:18:0;;;11325:7;11357:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;11208:184;11400:193;11502:4;11524:39;2577:10;11547:7;11556:6;11524:8;:39::i;:::-;-1:-1:-1;11581:4:0;11400:193;;;;;:::o;10771:95::-;10824:7;4294:13;4241:1;4294:2;:13;:::i;:::-;4284:23;;:7;:23;:::i;:::-;10844:14;;10771:95;:::o;11924:446::-;12056:4;12073:36;12083:6;12091:9;12102:6;12073:9;:36::i;:::-;12120:220;12143:6;2577:10;12191:138;12247:6;12191:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12191:19:0;;;;;;:11;:19;;;;;;;;2577:10;12191:33;;;;;;;;;;:37;:138::i;:::-;12120:8;:220::i;:::-;-1:-1:-1;12358:4:0;11924:446;;;;;;:::o;13006:363::-;3784:7;3811:6;-1:-1:-1;;;;;3811:6:0;2577:10;13056:23;13048:32;;;;;;13132:4;13091:20;10967:18;;;:9;:18;;;;;;13153:16;;13149:79;;13186:30;13203:12;13186:16;:30::i;:::-;13259:21;13295:14;;13291:71;;13326:24;13339:10;13326:12;:24::i;:::-;13037:332;;13006:363::o;3960:148::-;3873:6;;-1:-1:-1;;;;;3873:6:0;2577:10;3873:22;3865:67;;;;-1:-1:-1;;;3865:67:0;;;;;;;:::i;:::-;;;;;;;;;4067:1:::1;4051:6:::0;;4030:40:::1;::::0;-1:-1:-1;;;;;4051:6:0;;::::1;::::0;4030:40:::1;::::0;4067:1;;4030:40:::1;4098:1;4081:19:::0;;-1:-1:-1;;;;;;4081:19:0::1;::::0;;3960:148::o;10149:162::-;3873:6;;-1:-1:-1;;;;;3873:6:0;2577:10;3873:22;3865:67;;;;-1:-1:-1;;;3865:67:0;;;;;;;:::i;:::-;4294:13:::1;4241:1;4294:2;:13;:::i;:::-;4284:23;::::0;:7:::1;:23;:::i;:::-;10203:12;:22:::0;4294:13:::1;4241:1;4294:2;:13;:::i;:::-;4284:23;::::0;:7:::1;:23;:::i;:::-;10236:14;:24:::0;10276:27:::1;4294:13;4241:1;4294:2;:13;:::i;:::-;4284:23;::::0;:7:::1;:23;:::i;:::-;10276:27;::::0;1594:25:1;;;1582:2;1567:18;10276:27:0::1;;;;;;;10149:162::o:0;11001:199::-;11106:4;11128:42;2577:10;11152:9;11163:6;11128:9;:42::i;10319:167::-;3873:6;;-1:-1:-1;;;;;3873:6:0;2577:10;3873:22;3865:67;;;;-1:-1:-1;;;3865:67:0;;;;;;;:::i;:::-;10381:11:::1;::::0;::::1;;10380:12;10372:48;;;::::0;-1:-1:-1;;;10372:48:0;;5384:2:1;10372:48:0::1;::::0;::::1;5366:21:1::0;5423:2;5403:18;;;5396:30;5462:25;5442:18;;;5435:53;5505:18;;10372:48:0::1;5182:347:1::0;10372:48:0::1;10431:11;:18:::0;;-1:-1:-1;;10460:18:0;;;;;10319:167::o;12378:369::-;-1:-1:-1;;;;;12505:19:0;;12497:68;;;;-1:-1:-1;;;12497:68:0;;5736:2:1;12497:68:0;;;5718:21:1;5775:2;5755:18;;;5748:30;5814:34;5794:18;;;5787:62;-1:-1:-1;;;5865:18:1;;;5858:34;5909:19;;12497:68:0;5534:400:1;12497:68:0;-1:-1:-1;;;;;12584:21:0;;12576:68;;;;-1:-1:-1;;;12576:68:0;;6141:2:1;12576:68:0;;;6123:21:1;6180:2;6160:18;;;6153:30;6219:34;6199:18;;;6192:62;-1:-1:-1;;;6270:18:1;;;6263:32;6312:19;;12576:68:0;5939:398:1;12576:68:0;-1:-1:-1;;;;;12655:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;12707:32;;1594:25:1;;;12707:32:0;;1567:18:1;12707:32:0;;;;;;;;12378:369;;;:::o;7071:2453::-;-1:-1:-1;;;;;7193:18:0;;7185:68;;;;-1:-1:-1;;;7185:68:0;;6544:2:1;7185:68:0;;;6526:21:1;6583:2;6563:18;;;6556:30;6622:34;6602:18;;;6595:62;-1:-1:-1;;;6673:18:1;;;6666:35;6718:19;;7185:68:0;6342:401:1;7185:68:0;-1:-1:-1;;;;;7272:16:0;;7264:64;;;;-1:-1:-1;;;7264:64:0;;6950:2:1;7264:64:0;;;6932:21:1;6989:2;6969:18;;;6962:30;7028:34;7008:18;;;7001:62;-1:-1:-1;;;7079:18:1;;;7072:33;7122:19;;7264:64:0;6748:399:1;7264:64:0;7356:1;7347:6;:10;7339:64;;;;-1:-1:-1;;;7339:64:0;;7354:2:1;7339:64:0;;;7336:21:1;7393:2;7373:18;;;7366:30;7432:34;7412:18;;;7405:62;-1:-1:-1;;;7483:18:1;;;7476:39;7532:19;;7339:64:0;7152:405:1;7339:64:0;7416:17;3811:6;;-1:-1:-1;;;;;7452:15:0;;;3811:6;;7452:15;;;;:32;;-1:-1:-1;3784:7:0;3811:6;-1:-1:-1;;;;;7471:13:0;;;3811:6;;7471:13;;7452:32;7448:1841;;;7506:11;;;;7501:205;;3784:7;3811:6;-1:-1:-1;;;;;7568:15:0;;;3811:6;;7568:15;7538:152;;;;-1:-1:-1;;;7538:152:0;;7764:2:1;7538:152:0;;;7746:21:1;7803:2;7783:18;;;7776:30;7842:34;7822:18;;;7815:62;7913:33;7893:18;;;7886:61;7964:19;;7538:152:0;7562:427:1;7538:152:0;-1:-1:-1;;;;;7726:24:0;;;;;;:18;:24;;;;;;;;7722:264;;;7775:36;7794:4;7800:2;7804:6;7775:18;:36::i;:::-;7771:91;;;7836:7;7071:2453;;;:::o;7771:91::-;7722:264;;;7887:13;;-1:-1:-1;;;;;7887:21:0;;;:13;;:21;7883:103;;7941:29;7953:4;7959:2;7963:6;7941:11;:29::i;:::-;7929:41;;7883:103;8014:13;;-1:-1:-1;;;;;8014:13:0;;;8006:21;;;;8002:253;;-1:-1:-1;;;;;8052:22:0;;;;;;:18;:22;;;;;;:27;;8048:116;;-1:-1:-1;;;;;8104:22:0;;;;;;:18;:22;;;;;8129:15;8104:40;;8048:116;-1:-1:-1;;;;;8186:22:0;;;;;;:18;:22;;;;;;;;8182:57;;;8224:15;8210:11;:29;8182:57;8299:13;;-1:-1:-1;;;;;8291:21:0;;;8299:13;;8291:21;:72;;;;-1:-1:-1;8347:15:0;;-1:-1:-1;;;;;8333:30:0;;;8347:15;;8333:30;;8291:72;:116;;;;-1:-1:-1;;;;;;8385:22:0;;;;;;:18;:22;;;;;;;;8384:23;8291:116;8269:408;;;8460:12;;8450:6;:22;;8442:60;;;;-1:-1:-1;;;8442:60:0;;8196:2:1;8442:60:0;;;8178:21:1;8235:2;8215:18;;;8208:30;8274:27;8254:18;;;8247:55;8319:18;;8442:60:0;7994:349:1;8442:60:0;8577:14;;8567:6;8551:13;8561:2;-1:-1:-1;;;;;10967:18:0;10940:7;10967:18;;;:9;:18;;;;;;;10874:119;8551:13;:22;;;;:::i;:::-;:40;;8521:140;;;;-1:-1:-1;;;8521:140:0;;8680:2:1;8521:140:0;;;8662:21:1;8719:2;8699:18;;;8692:30;8758:28;8738:18;;;8731:56;8804:18;;8521:140:0;8478:350:1;8521:140:0;8742:4;8693:28;10967:18;;;:9;:18;;;;;;8786:6;;;;;;;8785:7;:47;;;;-1:-1:-1;8819:13:0;;-1:-1:-1;;;;;8813:19:0;;;8819:13;;8813:19;8785:47;:79;;;;-1:-1:-1;8853:11:0;;;;;;;8785:79;:140;;;;;8908:17;;8885:20;:40;8785:140;8763:515;;;8960:109;8999:51;9003:6;9011:38;9015:20;9037:11;;9011:3;:38::i;:::-;8999:3;:51::i;:::-;8960:16;:109::i;:::-;9117:21;9161:22;;9157:106;;9208:35;9221:21;9208:12;:35::i;:::-;8941:337;8763:515;7486:1803;7448:1841;9303:13;;9299:172;;9378:4;9360:24;;;;:9;:24;;;;;;:39;;9389:9;9360:28;:39::i;:::-;9351:4;9333:24;;;;:9;:24;;;;;;;:66;;;;9419:40;;-1:-1:-1;;;;;9419:40:0;;;;;;;9449:9;1594:25:1;;1582:2;1567:18;;1448:177;9419:40:0;;;;;;;;9299:172;9481:35;9499:4;9505:2;9509:6;9481:17;:35::i;:::-;7174:2350;7071:2453;;;:::o;1608:224::-;1728:7;1764:12;1756:6;;;;1748:29;;;;-1:-1:-1;;;1748:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1788:9:0;1800:5;1804:1;1800;:5;:::i;:::-;1788:17;1608:224;-1:-1:-1;;;;;1608:224:0:o;9532:609::-;5591:6;:13;;-1:-1:-1;;5591:13:0;;;;;9610:55;;9647:7:::1;9610:55;9680:11;::::0;::::1;;9675:51:::0;9708:7:::1;9675:51;9760:16;::::0;;9774:1:::1;9760:16:::0;;;;;::::1;::::0;;9736:21:::1;::::0;9760:16:::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9760:16:0::1;9736:40;;9805:4;9787;9792:1;9787:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9787:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;9831:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;9831:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;9787:7;;9831:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9821:4;9826:1;9821:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9821:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;9896:15:::1;::::0;9864:62:::1;::::0;9881:4:::1;::::0;9896:15:::1;9914:11:::0;9864:8:::1;:62::i;:::-;9937:15;::::0;:196:::1;::::0;-1:-1:-1;;;9937:196:0;;-1:-1:-1;;;;;9937:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;10018:11;;9937:15:::1;::::0;10060:4;;10087::::1;::::0;10107:15:::1;::::0;9937:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;9599:542;5615:1;-1:-1:-1::0;5627:6:0;:14;;-1:-1:-1;;5627:14:0;;;9532:609::o;12870:91::-;12927:9;;:26;;-1:-1:-1;;;;;12927:9:0;;;;:26;;;;;12946:6;;12927:9;:26;:9;:26;12946:6;12927:9;:26;;;;;;;;;;;;;;;;;;;11601:315;11749:13;;11722:4;;-1:-1:-1;;;;;11743:19:0;;;11749:13;;11743:19;:47;;;;;11784:6;11766:15;11776:4;-1:-1:-1;;;;;10967:18:0;10940:7;10967:18;;;:9;:18;;;;;;;10874:119;11766:15;:24;11743:47;11739:147;;;11829:10;;11807:41;;11825:2;;-1:-1:-1;;;;;11829:10:0;11841:6;11807:17;:41::i;:::-;-1:-1:-1;11870:4:0;11863:11;;11739:147;-1:-1:-1;11903:5:0;11601:315;;;;;:::o;6300:486::-;6444:6;;6419:7;;6444:6;;;;;6439:173;;6503:12;;-1:-1:-1;;;;;6503:12:0;10940:7;10967:18;;;:9;:18;;;;;;6493:28;:92;;;;-1:-1:-1;6574:11:0;;-1:-1:-1;;;;;6546:24:0;;;;;;:18;:24;;;;;;:39;;6493:92;6467:133;;;;;;6632:13;;-1:-1:-1;;;;;6626:19:0;;;6632:13;;6626:19;:44;;;;-1:-1:-1;;;;;;6649:21:0;;6665:4;6649:21;;6626:44;6622:112;;;6694:28;6718:3;6694:19;6705:7;;6694:6;:10;;:19;;;;:::i;:::-;:23;;:28::i;:::-;6687:35;;;;6622:112;6751:27;6774:3;6751:18;6762:6;;6751;:10;;:18;;;;:::i;:27::-;6744:34;6300:486;-1:-1:-1;;;;6300:486:0:o;12755:107::-;12812:7;12844:1;12840;:5;12839:15;;12853:1;12839:15;;;-1:-1:-1;12849:1:0;12832:22;-1:-1:-1;12755:107:0:o;1277:179::-;1335:7;;1367:5;1371:1;1367;:5;:::i;:::-;1355:17;;1396:1;1391;:6;;1383:46;;;;-1:-1:-1;;;1383:46:0;;10673:2:1;1383:46:0;;;10655:21:1;10712:2;10692:18;;;10685:30;10751:29;10731:18;;;10724:57;10798:18;;1383:46:0;10471:351:1;6794:269:0;-1:-1:-1;;;;;6934:15:0;;;;;;:9;:15;;;;;;:27;;6954:6;6934:19;:27::i;:::-;-1:-1:-1;;;;;6916:15:0;;;;;;;:9;:15;;;;;;:45;;;;6988:13;;;;;;;:25;;7006:6;6988:17;:25::i;:::-;-1:-1:-1;;;;;6972:13:0;;;;;;;:9;:13;;;;;;;:41;;;;7029:26;;;;;;;;;;7048:6;1594:25:1;;1582:2;1567:18;;1448:177;1840:246:0;1898:7;1922:1;1927;1922:6;1918:47;;-1:-1:-1;1952:1:0;1945:8;;1918:47;1975:9;1987:5;1991:1;1987;:5;:::i;:::-;1975:17;-1:-1:-1;2020:1:0;2011:5;2015:1;1975:17;2011:5;:::i;:::-;:10;2003:56;;;;-1:-1:-1;;;2003:56:0;;11251:2:1;2003:56:0;;;11233:21:1;11290:2;11270:18;;;11263:30;11329:34;11309:18;;;11302:62;-1:-1:-1;;;11380:18:1;;;11373:31;11421:19;;2003:56:0;11049:397:1;2094:132:0;2152:7;2179:39;2183:1;2186;2179:39;;;;;;;;;;;;;;;;;:3;:39::i;1464:136::-;1522:7;1549:43;1553:1;1556;1549:43;;;;;;;;;;;;;;;;;:3;:43::i;2234:223::-;2354:7;2389:12;2382:5;2374:28;;;;-1:-1:-1;;;2374:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2413:9:0;2425:5;2429:1;2425;: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:315::-;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1630:456::-;1707:6;1715;1723;1776:2;1764:9;1755:7;1751:23;1747:32;1744:52;;;1792:1;1789;1782:12;1744:52;1831:9;1818:23;1850:31;1875:5;1850:31;:::i;:::-;1900:5;-1:-1:-1;1957:2:1;1942:18;;1929:32;1970:33;1929:32;1970:33;:::i;:::-;1630:456;;2022:7;;-1:-1:-1;;;2076:2:1;2061:18;;;;2048:32;;1630:456::o;2488:247::-;2547:6;2600:2;2588:9;2579:7;2575:23;2571:32;2568:52;;;2616:1;2613;2606:12;2568:52;2655:9;2642:23;2674:31;2699:5;2674:31;:::i;2740:388::-;2808:6;2816;2869:2;2857:9;2848:7;2844:23;2840:32;2837:52;;;2885:1;2882;2875:12;2837:52;2924:9;2911:23;2943:31;2968:5;2943:31;:::i;:::-;2993:5;-1:-1:-1;3050:2:1;3035:18;;3022:32;3063:33;3022:32;3063:33;:::i;:::-;3115:7;3105:17;;;2740:388;;;;;:::o;3133:127::-;3194:10;3189:3;3185:20;3182:1;3175:31;3225:4;3222:1;3215:15;3249:4;3246:1;3239:15;3265:422;3354:1;3397:5;3354:1;3411:270;3432:7;3422:8;3419:21;3411:270;;;3491:4;3487:1;3483:6;3479:17;3473:4;3470:27;3467:53;;;3500:18;;:::i;:::-;3550:7;3540:8;3536:22;3533:55;;;3570:16;;;;3533:55;3649:22;;;;3609:15;;;;3411:270;;;3415:3;3265:422;;;;;:::o;3692:806::-;3741:5;3771:8;3761:80;;-1:-1:-1;3812:1:1;3826:5;;3761:80;3860:4;3850:76;;-1:-1:-1;3897:1:1;3911:5;;3850:76;3942:4;3960:1;3955:59;;;;4028:1;4023:130;;;;3935:218;;3955:59;3985:1;3976:10;;3999:5;;;4023:130;4060:3;4050:8;4047:17;4044:43;;;4067:18;;:::i;:::-;-1:-1:-1;;4123:1:1;4109:16;;4138:5;;3935:218;;4237:2;4227:8;4224:16;4218:3;4212:4;4209:13;4205:36;4199:2;4189:8;4186:16;4181:2;4175:4;4172:12;4168:35;4165:77;4162:159;;;-1:-1:-1;4274:19:1;;;4306:5;;4162:159;4353:34;4378:8;4372:4;4353:34;:::i;:::-;4423:6;4419:1;4415:6;4411:19;4402:7;4399:32;4396:58;;;4434:18;;:::i;:::-;4472:20;;3692:806;-1:-1:-1;;;3692:806:1:o;4503:140::-;4561:5;4590:47;4631:4;4621:8;4617:19;4611:4;4590:47;:::i;4648:168::-;4721:9;;;4752;;4769:15;;;4763:22;;4749:37;4739:71;;4790:18;;:::i;4821:356::-;5023:2;5005:21;;;5042:18;;;5035:30;5101:34;5096:2;5081:18;;5074:62;5168:2;5153:18;;4821:356::o;8348:125::-;8413:9;;;8434:10;;;8431:36;;;8447:18;;:::i;8833:128::-;8900:9;;;8921:11;;;8918:37;;;8935:18;;:::i;9098:127::-;9159:10;9154:3;9150:20;9147:1;9140:31;9190:4;9187:1;9180:15;9214:4;9211:1;9204:15;9230:251;9300:6;9353:2;9341:9;9332:7;9328:23;9324:32;9321:52;;;9369:1;9366;9359:12;9321:52;9401:9;9395:16;9420:31;9445:5;9420:31;:::i;9486:980::-;9748:4;9796:3;9785:9;9781:19;9827:6;9816:9;9809:25;9853:2;9891:6;9886:2;9875:9;9871:18;9864:34;9934:3;9929:2;9918:9;9914:18;9907:31;9958:6;9993;9987:13;10024:6;10016;10009:22;10062:3;10051:9;10047:19;10040:26;;10101:2;10093:6;10089:15;10075:29;;10122:1;10132:195;10146:6;10143:1;10140:13;10132:195;;;10211:13;;-1:-1:-1;;;;;10207:39:1;10195:52;;10302:15;;;;10267:12;;;;10243:1;10161:9;10132:195;;;-1:-1:-1;;;;;;;10383:32:1;;;;10378:2;10363:18;;10356:60;-1:-1:-1;;;10447:3:1;10432:19;10425:35;10344:3;9486:980;-1:-1:-1;;;9486:980:1:o;10827:217::-;10867:1;10893;10883:132;;10937:10;10932:3;10928:20;10925:1;10918:31;10972:4;10969:1;10962:15;11000:4;10997:1;10990:15;10883:132;-1:-1:-1;11029:9:1;;10827:217::o
Swarm Source
ipfs://e2e15d974de62353618f8cc0db82817b128b9af949170cdfe1a6f6c04365d686
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.