ERC-20
Overview
Max Total Supply
1,000,000 FB
Holders
24
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
14,558.919265657655883982 FBValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
FriendHub
Compiler Version
v0.8.21+commit.d9974bed
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-09-28 */ // SPDX-License-Identifier: Unlicensed // // https://www.friendhub.info/ // https://t.me/friendhub_portal // https://friend-hub.gitbook.io/friendhub-socialfi/ // https://linktr.ee/friendhub // https://twitter.com/FriendHub_eth // https://medium.com/@friendhub2023 // $$$$$ // $:::$ // $$$$$:::$$$$$$ FFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBBBBBB // $$::::::::::::::$F::::::::::::::::::::FB::::::::::::::::B // $:::::$$$$$$$::::$F::::::::::::::::::::FB::::::BBBBBB:::::B // $::::$ $$$$$FF::::::FFFFFFFFF::::FBB:::::B B:::::B // $::::$ F:::::F FFFFFF B::::B B:::::B // $::::$ F:::::F B::::B B:::::B // $:::::$$$$$$$$$ F::::::FFFFFFFFFF B::::BBBBBB:::::B // $$::::::::::::$$ F:::::::::::::::F B:::::::::::::BB // $$$$$$$$$:::::$ F:::::::::::::::F B::::BBBBBB:::::B // $::::$ F::::::FFFFFFFFFF B::::B B:::::B // $::::$ F:::::F B::::B B:::::B // $$$$$ $::::$ F:::::F B::::B B:::::B // $::::$$$$$$$:::::$FF:::::::FF BB:::::BBBBBB::::::B // $::::::::::::::$$ F::::::::FF B:::::::::::::::::B // $$$$$$:::$$$$$ F::::::::FF B::::::::::::::::B // $:::$ FFFFFFFFFFF BBBBBBBBBBBBBBBBB // $$$$$ pragma solidity 0.8.21; 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); } 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 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 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); } contract FriendHub is Context, IERC20, Ownable { using SafeMath for uint256; IUniswapV2Router02 private uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uint8 private constant _decimals = 18; string private constant _name = unicode"FriendHub"; string private constant _symbol = unicode"FB"; address private uniswapV2Pair; address payable private _taxWallet; uint256 private _initialBuyTax=20; uint256 private _initialSellTax=20; uint256 private _finalBuyTax=3; uint256 private _finalSellTax=3; uint256 private _reduceBuyTaxAt=40; uint256 private _reduceSellTaxAt=40; uint256 private _buyCount; uint256 private constant _tTotal = 1e6 * 10**_decimals; uint256 private _maxWalletSize = _tTotal * 2 / 100; uint256 private _taxSwapThreshold= _tTotal / 300; uint256 private _maxTaxSwap= _tTotal / 300; mapping (address => bool) private _isExcludedFromFee; mapping (address => uint256) private _balances; mapping (address => mapping (address => uint256)) private _allowances; bool private inSwap; bool public tradeEnabled; bool private swapEnabled; modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor () { uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH()); _taxWallet = payable(_msgSender()); _balances[_msgSender()] = _tTotal; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_taxWallet] = true; _isExcludedFromFee[address(uniswapV2Router)] = true; _approve(msg.sender, address(this), type(uint256).max); _approve(address(this), address(uniswapV2Router), type(uint256).max); 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 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 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 _transfer(address from, address to, uint256 amount) private { uint256 taxAmount=0; if (!_isExcludedFromFee[from] && !_isExcludedFromFee[to]) { require(tradeEnabled, "Trading not open !"); taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100); if (from == uniswapV2Pair && to != address(uniswapV2Router)) { require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the limit !"); _buyCount++; } if (to != uniswapV2Pair) { require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the limit !"); } 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) { 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 min(uint256 a, uint256 b) private pure returns (uint256){ return (a>b)?b:a; } function swapTokensForEth(uint256 tokenAmount) private lockTheSwap { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function removeLimits() external onlyOwner { _maxWalletSize=_tTotal; } function sendETHToFee(uint256 amount) private { _taxWallet.transfer(amount); } function enableTrading() external onlyOwner { require(!tradeEnabled); swapEnabled = true; tradeEnabled = 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":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"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":[],"name":"tradeEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052600180546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d1790556014600481905560055560036006819055600755602860088190556009556064620000586012600a6200062f565b6200006790620f424062000646565b6200007490600262000646565b62000080919062000660565b600b5561012c620000946012600a6200062f565b620000a390620f424062000646565b620000af919062000660565b600c5561012c620000c36012600a6200062f565b620000d290620f424062000646565b620000de919062000660565b600d55348015620000ed575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060015f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200017f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001a5919062000680565b6001600160a01b031663c9c653963060015f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000205573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200022b919062000680565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801562000276573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200029c919062000680565b600280546001600160a01b0319166001600160a01b0392909216919091179055620002c43390565b600380546001600160a01b0319166001600160a01b0392909216919091179055620002f26012600a6200062f565b6200030190620f424062000646565b335f818152600f602090815260408083209490945581546001600160a01b039081168352600e9091528382208054600160ff1991821681179092553080855286852080548316841790556003548416855286852080548316841790558254909316845294909220805490941690911790925562000380915f19620003f2565b6001546200039b9030906001600160a01b03165f19620003f2565b335f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620003cc6012600a6200062f565b620003db90620f424062000646565b60405190815260200160405180910390a3620006a8565b6001600160a01b0383166200045c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a20617070726f76652066726f6d20746865207a65726f20616464604482015264726573732160d81b60648201526084015b60405180910390fd5b6001600160a01b038216620004c05760405162461bcd60e51b815260206004820152602360248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201526273732160e81b606482015260840162000453565b6001600160a01b038381165f8181526010602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200057457815f190482111562000558576200055862000520565b808516156200056657918102915b93841c939080029062000539565b509250929050565b5f826200058c5750600162000629565b816200059a57505f62000629565b8160018114620005b35760028114620005be57620005de565b600191505062000629565b60ff841115620005d257620005d262000520565b50506001821b62000629565b5060208310610133831016604e8410600b841016171562000603575081810a62000629565b6200060f838362000534565b805f190482111562000625576200062562000520565b0290505b92915050565b5f6200063f60ff8416836200057c565b9392505050565b808202811582820484141762000629576200062962000520565b5f826200067b57634e487b7160e01b5f52601260045260245ffd5b500490565b5f6020828403121562000691575f80fd5b81516001600160a01b03811681146200063f575f80fd5b61111080620006b65f395ff3fe6080604052600436106100dc575f3560e01c8063751039fc1161007c57806395d89b411161005757806395d89b411461024d578063a9059cbb14610277578063d621e81314610296578063dd62ed3e146102b4575f80fd5b8063751039fc146101ff5780638a8c523c146102135780638da5cb5b14610227575f80fd5b806323b872dd116100b757806323b872dd1461017b578063313ce5671461019a57806370a08231146101b5578063715018a6146101e9575f80fd5b806306fdde03146100e7578063095ea7b31461012a57806318160ddd14610159575f80fd5b366100e357005b5f80fd5b3480156100f2575f80fd5b50604080518082019091526009815268233934b2b732243ab160b91b60208201525b6040516101219190610d4d565b60405180910390f35b348015610135575f80fd5b50610149610144366004610daf565b6102f8565b6040519015158152602001610121565b348015610164575f80fd5b5061016d61030e565b604051908152602001610121565b348015610186575f80fd5b50610149610195366004610dd9565b61032d565b3480156101a5575f80fd5b5060405160128152602001610121565b3480156101c0575f80fd5b5061016d6101cf366004610e17565b6001600160a01b03165f908152600f602052604090205490565b3480156101f4575f80fd5b506101fd610394565b005b34801561020a575f80fd5b506101fd61040e565b34801561021e575f80fd5b506101fd610455565b348015610232575f80fd5b505f546040516001600160a01b039091168152602001610121565b348015610258575f80fd5b50604080518082019091526002815261232160f11b6020820152610114565b348015610282575f80fd5b50610149610291366004610daf565b6104a5565b3480156102a1575f80fd5b5060115461014990610100900460ff1681565b3480156102bf575f80fd5b5061016d6102ce366004610e32565b6001600160a01b039182165f90815260106020908152604080832093909416825291909152205490565b5f6103043384846104b1565b5060015b92915050565b5f61031b6012600a610f5d565b61032890620f4240610f6b565b905090565b5f6103398484846105d7565b61038a8433610385856040518060600160405280602881526020016110b3602891396001600160a01b038a165f90815260106020908152604080832033845290915290205491906109e7565b6104b1565b5060019392505050565b5f546001600160a01b031633146103c65760405162461bcd60e51b81526004016103bd90610f82565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146104375760405162461bcd60e51b81526004016103bd90610f82565b6104436012600a610f5d565b61045090620f4240610f6b565b600b55565b5f546001600160a01b0316331461047e5760405162461bcd60e51b81526004016103bd90610f82565b601154610100900460ff1615610492575f80fd5b6011805462ffff00191662010100179055565b5f6103043384846105d7565b6001600160a01b0383166105155760405162461bcd60e51b815260206004820152602560248201527f45524332303a20617070726f76652066726f6d20746865207a65726f20616464604482015264726573732160d81b60648201526084016103bd565b6001600160a01b0382166105775760405162461bcd60e51b815260206004820152602360248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201526273732160e81b60648201526084016103bd565b6001600160a01b038381165f8181526010602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383165f908152600e602052604081205460ff1615801561061757506001600160a01b0383165f908152600e602052604090205460ff16155b156108aa57601154610100900460ff166106685760405162461bcd60e51b815260206004820152601260248201527154726164696e67206e6f74206f70656e202160701b60448201526064016103bd565b610694606461068e600854600a541161068357600454610687565b6006545b8590610a1f565b90610aa4565b6002549091506001600160a01b0385811691161480156106c257506001546001600160a01b03848116911614155b1561074c57600b54826106e9856001600160a01b03165f908152600f602052604090205490565b6106f39190610fb7565b11156107375760405162461bcd60e51b81526020600482015260136024820152724578636565647320746865206c696d6974202160681b60448201526064016103bd565b600a8054905f61074683610fca565b91905055505b6002546001600160a01b038481169116146107d157600b5482610783856001600160a01b03165f908152600f602052604090205490565b61078d9190610fb7565b11156107d15760405162461bcd60e51b81526020600482015260136024820152724578636565647320746865206c696d6974202160681b60448201526064016103bd565b6002546001600160a01b0384811691161480156107f757506001600160a01b0384163014155b1561082457610821606461068e600954600a541161081757600554610687565b6007548590610a1f565b90505b305f908152600f602052604090205460115460ff1615801561085357506002546001600160a01b038581169116145b8015610867575060115462010000900460ff165b80156108745750600c5481115b156108a8576108966108918461088c84600d54610ae5565b610ae5565b610af9565b4780156108a6576108a647610c47565b505b505b801561092257305f908152600f60205260409020546108c99082610c82565b305f818152600f6020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906109199085815260200190565b60405180910390a35b6001600160a01b0384165f908152600f60205260409020546109449083610ce0565b6001600160a01b0385165f908152600f60205260409020556109876109698383610ce0565b6001600160a01b0385165f908152600f602052604090205490610c82565b6001600160a01b038085165f818152600f602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6109d08585610ce0565b60405190815260200160405180910390a350505050565b5f8184841115610a0a5760405162461bcd60e51b81526004016103bd9190610d4d565b505f610a168486610fe2565b95945050505050565b5f825f03610a2e57505f610308565b5f610a398385610f6b565b905082610a468583610ff5565b14610a9d5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016103bd565b9392505050565b5f610a9d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610d21565b5f818311610af35782610a9d565b50919050565b6011805460ff191660011790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110610b3957610b39611014565b6001600160a01b03928316602091820292909201810191909152600154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610b90573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bb49190611028565b81600181518110610bc757610bc7611014565b6001600160a01b03928316602091820292909201015260015460405163791ac94760e01b815291169063791ac94790610c0c9085905f90869030904290600401611043565b5f604051808303815f87803b158015610c23575f80fd5b505af1158015610c35573d5f803e3d5ffd5b50506011805460ff1916905550505050565b6003546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015610c7e573d5f803e3d5ffd5b5050565b5f80610c8e8385610fb7565b905083811015610a9d5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016103bd565b5f610a9d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506109e7565b5f8183610d415760405162461bcd60e51b81526004016103bd9190610d4d565b505f610a168486610ff5565b5f6020808352835180828501525f5b81811015610d7857858101830151858201604001528201610d5c565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610dac575f80fd5b50565b5f8060408385031215610dc0575f80fd5b8235610dcb81610d98565b946020939093013593505050565b5f805f60608486031215610deb575f80fd5b8335610df681610d98565b92506020840135610e0681610d98565b929592945050506040919091013590565b5f60208284031215610e27575f80fd5b8135610a9d81610d98565b5f8060408385031215610e43575f80fd5b8235610e4e81610d98565b91506020830135610e5e81610d98565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115610eb757815f1904821115610e9d57610e9d610e69565b80851615610eaa57918102915b93841c9390800290610e82565b509250929050565b5f82610ecd57506001610308565b81610ed957505f610308565b8160018114610eef5760028114610ef957610f15565b6001915050610308565b60ff841115610f0a57610f0a610e69565b50506001821b610308565b5060208310610133831016604e8410600b8410161715610f38575081810a610308565b610f428383610e7d565b805f1904821115610f5557610f55610e69565b029392505050565b5f610a9d60ff841683610ebf565b808202811582820484141761030857610308610e69565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b8082018082111561030857610308610e69565b5f60018201610fdb57610fdb610e69565b5060010190565b8181038181111561030857610308610e69565b5f8261100f57634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611038575f80fd5b8151610a9d81610d98565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156110915784516001600160a01b03168352938301939183019160010161106c565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220ff5cb10725dbbf08b0bb4df1618634c458ca22d89472e5a162b17757650e5f9964736f6c63430008150033
Deployed Bytecode
0x6080604052600436106100dc575f3560e01c8063751039fc1161007c57806395d89b411161005757806395d89b411461024d578063a9059cbb14610277578063d621e81314610296578063dd62ed3e146102b4575f80fd5b8063751039fc146101ff5780638a8c523c146102135780638da5cb5b14610227575f80fd5b806323b872dd116100b757806323b872dd1461017b578063313ce5671461019a57806370a08231146101b5578063715018a6146101e9575f80fd5b806306fdde03146100e7578063095ea7b31461012a57806318160ddd14610159575f80fd5b366100e357005b5f80fd5b3480156100f2575f80fd5b50604080518082019091526009815268233934b2b732243ab160b91b60208201525b6040516101219190610d4d565b60405180910390f35b348015610135575f80fd5b50610149610144366004610daf565b6102f8565b6040519015158152602001610121565b348015610164575f80fd5b5061016d61030e565b604051908152602001610121565b348015610186575f80fd5b50610149610195366004610dd9565b61032d565b3480156101a5575f80fd5b5060405160128152602001610121565b3480156101c0575f80fd5b5061016d6101cf366004610e17565b6001600160a01b03165f908152600f602052604090205490565b3480156101f4575f80fd5b506101fd610394565b005b34801561020a575f80fd5b506101fd61040e565b34801561021e575f80fd5b506101fd610455565b348015610232575f80fd5b505f546040516001600160a01b039091168152602001610121565b348015610258575f80fd5b50604080518082019091526002815261232160f11b6020820152610114565b348015610282575f80fd5b50610149610291366004610daf565b6104a5565b3480156102a1575f80fd5b5060115461014990610100900460ff1681565b3480156102bf575f80fd5b5061016d6102ce366004610e32565b6001600160a01b039182165f90815260106020908152604080832093909416825291909152205490565b5f6103043384846104b1565b5060015b92915050565b5f61031b6012600a610f5d565b61032890620f4240610f6b565b905090565b5f6103398484846105d7565b61038a8433610385856040518060600160405280602881526020016110b3602891396001600160a01b038a165f90815260106020908152604080832033845290915290205491906109e7565b6104b1565b5060019392505050565b5f546001600160a01b031633146103c65760405162461bcd60e51b81526004016103bd90610f82565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146104375760405162461bcd60e51b81526004016103bd90610f82565b6104436012600a610f5d565b61045090620f4240610f6b565b600b55565b5f546001600160a01b0316331461047e5760405162461bcd60e51b81526004016103bd90610f82565b601154610100900460ff1615610492575f80fd5b6011805462ffff00191662010100179055565b5f6103043384846105d7565b6001600160a01b0383166105155760405162461bcd60e51b815260206004820152602560248201527f45524332303a20617070726f76652066726f6d20746865207a65726f20616464604482015264726573732160d81b60648201526084016103bd565b6001600160a01b0382166105775760405162461bcd60e51b815260206004820152602360248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201526273732160e81b60648201526084016103bd565b6001600160a01b038381165f8181526010602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383165f908152600e602052604081205460ff1615801561061757506001600160a01b0383165f908152600e602052604090205460ff16155b156108aa57601154610100900460ff166106685760405162461bcd60e51b815260206004820152601260248201527154726164696e67206e6f74206f70656e202160701b60448201526064016103bd565b610694606461068e600854600a541161068357600454610687565b6006545b8590610a1f565b90610aa4565b6002549091506001600160a01b0385811691161480156106c257506001546001600160a01b03848116911614155b1561074c57600b54826106e9856001600160a01b03165f908152600f602052604090205490565b6106f39190610fb7565b11156107375760405162461bcd60e51b81526020600482015260136024820152724578636565647320746865206c696d6974202160681b60448201526064016103bd565b600a8054905f61074683610fca565b91905055505b6002546001600160a01b038481169116146107d157600b5482610783856001600160a01b03165f908152600f602052604090205490565b61078d9190610fb7565b11156107d15760405162461bcd60e51b81526020600482015260136024820152724578636565647320746865206c696d6974202160681b60448201526064016103bd565b6002546001600160a01b0384811691161480156107f757506001600160a01b0384163014155b1561082457610821606461068e600954600a541161081757600554610687565b6007548590610a1f565b90505b305f908152600f602052604090205460115460ff1615801561085357506002546001600160a01b038581169116145b8015610867575060115462010000900460ff165b80156108745750600c5481115b156108a8576108966108918461088c84600d54610ae5565b610ae5565b610af9565b4780156108a6576108a647610c47565b505b505b801561092257305f908152600f60205260409020546108c99082610c82565b305f818152600f6020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906109199085815260200190565b60405180910390a35b6001600160a01b0384165f908152600f60205260409020546109449083610ce0565b6001600160a01b0385165f908152600f60205260409020556109876109698383610ce0565b6001600160a01b0385165f908152600f602052604090205490610c82565b6001600160a01b038085165f818152600f602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6109d08585610ce0565b60405190815260200160405180910390a350505050565b5f8184841115610a0a5760405162461bcd60e51b81526004016103bd9190610d4d565b505f610a168486610fe2565b95945050505050565b5f825f03610a2e57505f610308565b5f610a398385610f6b565b905082610a468583610ff5565b14610a9d5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016103bd565b9392505050565b5f610a9d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610d21565b5f818311610af35782610a9d565b50919050565b6011805460ff191660011790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110610b3957610b39611014565b6001600160a01b03928316602091820292909201810191909152600154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610b90573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bb49190611028565b81600181518110610bc757610bc7611014565b6001600160a01b03928316602091820292909201015260015460405163791ac94760e01b815291169063791ac94790610c0c9085905f90869030904290600401611043565b5f604051808303815f87803b158015610c23575f80fd5b505af1158015610c35573d5f803e3d5ffd5b50506011805460ff1916905550505050565b6003546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015610c7e573d5f803e3d5ffd5b5050565b5f80610c8e8385610fb7565b905083811015610a9d5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016103bd565b5f610a9d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506109e7565b5f8183610d415760405162461bcd60e51b81526004016103bd9190610d4d565b505f610a168486610ff5565b5f6020808352835180828501525f5b81811015610d7857858101830151858201604001528201610d5c565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610dac575f80fd5b50565b5f8060408385031215610dc0575f80fd5b8235610dcb81610d98565b946020939093013593505050565b5f805f60608486031215610deb575f80fd5b8335610df681610d98565b92506020840135610e0681610d98565b929592945050506040919091013590565b5f60208284031215610e27575f80fd5b8135610a9d81610d98565b5f8060408385031215610e43575f80fd5b8235610e4e81610d98565b91506020830135610e5e81610d98565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115610eb757815f1904821115610e9d57610e9d610e69565b80851615610eaa57918102915b93841c9390800290610e82565b509250929050565b5f82610ecd57506001610308565b81610ed957505f610308565b8160018114610eef5760028114610ef957610f15565b6001915050610308565b60ff841115610f0a57610f0a610e69565b50506001821b610308565b5060208310610133831016604e8410600b8410161715610f38575081810a610308565b610f428383610e7d565b805f1904821115610f5557610f55610e69565b029392505050565b5f610a9d60ff841683610ebf565b808202811582820484141761030857610308610e69565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b8082018082111561030857610308610e69565b5f60018201610fdb57610fdb610e69565b5060010190565b8181038181111561030857610308610e69565b5f8261100f57634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611038575f80fd5b8151610a9d81610d98565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156110915784516001600160a01b03168352938301939183019160010161106c565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220ff5cb10725dbbf08b0bb4df1618634c458ca22d89472e5a162b17757650e5f9964736f6c63430008150033
Deployed Bytecode Sourcemap
5045:6262:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7005:83;;;;;;;;;;-1:-1:-1;7075:5:0;;;;;;;;;;;;-1:-1:-1;;;7075:5:0;;;;7005:83;;;;;;;:::i;:::-;;;;;;;;7838:161;;;;;;;;;;-1:-1:-1;7838:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;7838:161:0;1023:187:1;7282:95:0;;;;;;;;;;;;;:::i;:::-;;;1361:25:1;;;1349:2;1334:18;7282:95:0;1215:177:1;8007:313:0;;;;;;;;;;-1:-1:-1;8007:313:0;;;;;:::i;:::-;;:::i;7191:83::-;;;;;;;;;;-1:-1:-1;7191:83:0;;5281:2;2000:36:1;;1988:2;1973:18;7191:83:0;1858:184:1;7385:119:0;;;;;;;;;;-1:-1:-1;7385:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;7478:18:0;7451:7;7478:18;;;:9;:18;;;;;;;7385:119;4126:148;;;;;;;;;;;;;:::i;:::-;;10931:84;;;;;;;;;;;;;:::i;11123:144::-;;;;;;;;;;;;;:::i;3912:79::-;;;;;;;;;;-1:-1:-1;3950:7:0;3977:6;3912:79;;-1:-1:-1;;;;;3977:6:0;;;2445:51:1;;2433:2;2418:18;3912:79:0;2299:203:1;7096:87:0;;;;;;;;;;-1:-1:-1;7168:7:0;;;;;;;;;;;;-1:-1:-1;;;7168:7:0;;;;7096:87;;7512:167;;;;;;;;;;-1:-1:-1;7512:167:0;;;;;:::i;:::-;;:::i;6195:24::-;;;;;;;;;;-1:-1:-1;6195:24:0;;;;;;;;;;;7687:143;;;;;;;;;;-1:-1:-1;7687:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;7795:18:0;;;7768:7;7795:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7687:143;7838:161;7913:4;7930:39;1746:10;7953:7;7962:6;7930:8;:39::i;:::-;-1:-1:-1;7987:4:0;7838:161;;;;;:::o;7282:95::-;7335:7;5794:13;5281:2;5794;:13;:::i;:::-;5788:19;;:3;:19;:::i;:::-;7355:14;;7282:95;:::o;8007:313::-;8105:4;8122:36;8132:6;8140:9;8151:6;8122:9;:36::i;:::-;8169:121;8178:6;1746:10;8200:89;8238:6;8200:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8200:19:0;;;;;;:11;:19;;;;;;;;1746:10;8200:33;;;;;;;;;;:37;:89::i;:::-;8169:8;:121::i;:::-;-1:-1:-1;8308:4:0;8007:313;;;;;:::o;4126:148::-;4039:6;;-1:-1:-1;;;;;4039:6:0;1746:10;4039:22;4031:67;;;;-1:-1:-1;;;4031:67:0;;;;;;;:::i;:::-;;;;;;;;;4233:1:::1;4217:6:::0;;4196:40:::1;::::0;-1:-1:-1;;;;;4217:6:0;;::::1;::::0;4196:40:::1;::::0;4233:1;;4196:40:::1;4264:1;4247:19:::0;;-1:-1:-1;;;;;;4247:19:0::1;::::0;;4126:148::o;10931:84::-;4039:6;;-1:-1:-1;;;;;4039:6:0;1746:10;4039:22;4031:67;;;;-1:-1:-1;;;4031:67:0;;;;;;;:::i;:::-;5794:13:::1;5281:2;5794;:13;:::i;:::-;5788:19;::::0;:3:::1;:19;:::i;:::-;10985:14;:22:::0;10931:84::o;11123:144::-;4039:6;;-1:-1:-1;;;;;4039:6:0;1746:10;4039:22;4031:67;;;;-1:-1:-1;;;4031:67:0;;;;;;;:::i;:::-;11187:12:::1;::::0;::::1;::::0;::::1;;;11186:13;11178:22;;;::::0;::::1;;11211:11;:18:::0;;-1:-1:-1;;11240:19:0;;;;;11123:144::o;7512:167::-;7590:4;7607:42;1746:10;7631:9;7642:6;7607:9;:42::i;8328:337::-;-1:-1:-1;;;;;8421:19:0;;8413:69;;;;-1:-1:-1;;;8413:69:0;;5151:2:1;8413:69:0;;;5133:21:1;5190:2;5170:18;;;5163:30;5229:34;5209:18;;;5202:62;-1:-1:-1;;;5280:18:1;;;5273:35;5325:19;;8413:69:0;4949:401:1;8413:69:0;-1:-1:-1;;;;;8501:21:0;;8493:69;;;;-1:-1:-1;;;8493:69:0;;5557:2:1;8493:69:0;;;5539:21:1;5596:2;5576:18;;;5569:30;5635:34;5615:18;;;5608:62;-1:-1:-1;;;5686:18:1;;;5679:33;5729:19;;8493:69:0;5355:399:1;8493:69:0;-1:-1:-1;;;;;8573:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;8625:32;;1361:25:1;;;8625:32:0;;1334:18:1;8625:32:0;;;;;;;8328:337;;;:::o;8673:1724::-;-1:-1:-1;;;;;8788:24:0;;8753:17;8788:24;;;:18;:24;;;;;;;;8787:25;:52;;;;-1:-1:-1;;;;;;8817:22:0;;;;;;:18;:22;;;;;;;;8816:23;8787:52;8783:1258;;;8864:12;;;;;;;8856:43;;;;-1:-1:-1;;;8856:43:0;;5961:2:1;8856:43:0;;;5943:21:1;6000:2;5980:18;;;5973:30;-1:-1:-1;;;6019:18:1;;;6012:48;6077:18;;8856:43:0;5759:342:1;8856:43:0;8926:76;8998:3;8926:67;8948:15;;8938:9;;:25;8937:55;;8978:14;;8937:55;;;8965:12;;8937:55;8926:6;;:10;:67::i;:::-;:71;;:76::i;:::-;9031:13;;8914:88;;-1:-1:-1;;;;;;9023:21:0;;;9031:13;;9023:21;:55;;;;-1:-1:-1;9062:15:0;;-1:-1:-1;;;;;9048:30:0;;;9062:15;;9048:30;;9023:55;9019:198;;;9133:14;;9123:6;9107:13;9117:2;-1:-1:-1;;;;;7478:18:0;7451:7;7478:18;;;:9;:18;;;;;;;7385:119;9107:13;:22;;;;:::i;:::-;:40;;9099:72;;;;-1:-1:-1;;;9099:72:0;;6438:2:1;9099:72:0;;;6420:21:1;6477:2;6457:18;;;6450:30;-1:-1:-1;;;6496:18:1;;;6489:49;6555:18;;9099:72:0;6236:343:1;9099:72:0;9190:9;:11;;;:9;:11;;;:::i;:::-;;;;;;9019:198;9243:13;;-1:-1:-1;;;;;9237:19:0;;;9243:13;;9237:19;9233:132;;9311:14;;9301:6;9285:13;9295:2;-1:-1:-1;;;;;7478:18:0;7451:7;7478:18;;;:9;:18;;;;;;;7385:119;9285:13;:22;;;;:::i;:::-;:40;;9277:72;;;;-1:-1:-1;;;9277:72:0;;6438:2:1;9277:72:0;;;6420:21:1;6477:2;6457:18;;;6450:30;-1:-1:-1;;;6496:18:1;;;6489:49;6555:18;;9277:72:0;6236:343:1;9277:72:0;9390:13;;-1:-1:-1;;;;;9384:19:0;;;9390:13;;9384:19;:43;;;;-1:-1:-1;;;;;;9407:20:0;;9422:4;9407:20;;9384:43;9381:174;;;9460:79;9535:3;9460:70;9482:16;;9472:9;;:26;9471:58;;9514:15;;9471:58;;;9500:13;;9460:6;;:10;:70::i;:79::-;9448:91;;9381:174;9620:4;9571:28;7478:18;;;:9;:18;;;;;;9646:6;;;;9645:7;:32;;;;-1:-1:-1;9664:13:0;;-1:-1:-1;;;;;9656:21:0;;;9664:13;;9656:21;9645:32;:47;;;;-1:-1:-1;9681:11:0;;;;;;;9645:47;:89;;;;;9717:17;;9696:20;:38;9645:89;9641:389;;;9755:67;9772:49;9776:6;9783:37;9787:20;9808:11;;9783:3;:37::i;:::-;9772:3;:49::i;:::-;9755:16;:67::i;:::-;9870:21;9913:22;;9910:105;;9960:35;9973:21;9960:12;:35::i;:::-;9736:294;9641:389;8841:1200;8783:1258;10056:11;;10053:161;;10124:4;10106:24;;;;:9;:24;;;;;;:39;;10135:9;10106:28;:39::i;:::-;10099:4;10081:24;;;;:9;:24;;;;;;;:64;;;;10163:39;;-1:-1:-1;;;;;10163:39:0;;;;;;;10192:9;1361:25:1;;1349:2;1334:18;;1215:177;10163:39:0;;;;;;;;10053:161;-1:-1:-1;;;;;10240:15:0;;;;;;:9;:15;;;;;;:27;;10260:6;10240:19;:27::i;:::-;-1:-1:-1;;;;;10224:15:0;;;;;;:9;:15;;;;;:43;10292:40;10310:21;:6;10321:9;10310:10;:21::i;:::-;-1:-1:-1;;;;;10292:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;10278:13:0;;;;;;;:9;:13;;;;;:54;;;;10348:41;;;10367:21;:6;10378:9;10367:10;:21::i;:::-;10348:41;;1361:25:1;;;1349:2;1334:18;10348:41:0;;;;;;;8742:1655;8673:1724;;;:::o;2804:190::-;2890:7;2926:12;2918:6;;;;2910:29;;;;-1:-1:-1;;;2910:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2950:9:0;2962:5;2966:1;2962;:5;:::i;:::-;2950:17;2804:190;-1:-1:-1;;;;;2804:190:0:o;3002:246::-;3060:7;3084:1;3089;3084:6;3080:47;;-1:-1:-1;3114:1:0;3107:8;;3080:47;3137:9;3149:5;3153:1;3149;:5;:::i;:::-;3137:17;-1:-1:-1;3182:1:0;3173:5;3177:1;3137:17;3173:5;:::i;:::-;:10;3165:56;;;;-1:-1:-1;;;3165:56:0;;7281:2:1;3165:56:0;;;7263:21:1;7320:2;7300:18;;;7293:30;7359:34;7339:18;;;7332:62;-1:-1:-1;;;7410:18:1;;;7403:31;7451:19;;3165:56:0;7079:397:1;3165:56:0;3239:1;3002:246;-1:-1:-1;;;3002:246:0:o;3256:132::-;3314:7;3341:39;3345:1;3348;3341:39;;;;;;;;;;;;;;;;;:3;:39::i;10407:98::-;10464:7;10491:1;10489;:3;10488:9;;10496:1;10488:9;;;-1:-1:-1;10494:1:0;10407:98;-1:-1:-1;10407:98:0:o;10513:410::-;6289:6;:13;;-1:-1:-1;;6289:13:0;6298:4;6289:13;;;10615:16:::1;::::0;;10629:1:::1;10615:16:::0;;;;;::::1;::::0;;-1:-1:-1;;10615:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10615:16:0::1;10591:40;;10660:4;10642;10647:1;10642:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10642:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10686:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;10686:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;10642:7;;10686:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10676:4;10681:1;10676:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10676:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;10719:15:::1;::::0;:196:::1;::::0;-1:-1:-1;;;10719:196:0;;:15;::::1;::::0;:66:::1;::::0;:196:::1;::::0;10800:11;;10719:15:::1;::::0;10842:4;;10869::::1;::::0;10889:15:::1;::::0;10719:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;6325:6:0;:14;;-1:-1:-1;;6325:14:0;;;-1:-1:-1;;;;10513:410:0:o;11023:92::-;11080:10;;:27;;-1:-1:-1;;;;;11080:10:0;;;;:27;;;;;11100:6;;11080:10;:27;:10;:27;11100:6;11080:10;:27;;;;;;;;;;;;;;;;;;;;;11023:92;:::o;2473:179::-;2531:7;;2563:5;2567:1;2563;:5;:::i;:::-;2551:17;;2592:1;2587;:6;;2579:46;;;;-1:-1:-1;;;2579:46:0;;9188:2:1;2579:46:0;;;9170:21:1;9227:2;9207:18;;;9200:30;9266:29;9246:18;;;9239:57;9313:18;;2579:46:0;8986:351:1;2660:136:0;2718:7;2745:43;2749:1;2752;2745:43;;;;;;;;;;;;;;;;;:3;:43::i;3396:189::-;3482:7;3517:12;3510:5;3502:28;;;;-1:-1:-1;;;3502:28:0;;;;;;;;:::i;:::-;-1:-1:-1;3541:9:0;3553:5;3557:1;3553;: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;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2047:247::-;2106:6;2159:2;2147:9;2138:7;2134:23;2130:32;2127:52;;;2175:1;2172;2165:12;2127:52;2214:9;2201:23;2233:31;2258:5;2233:31;:::i;2507:388::-;2575:6;2583;2636:2;2624:9;2615:7;2611:23;2607:32;2604:52;;;2652:1;2649;2642:12;2604:52;2691:9;2678:23;2710:31;2735:5;2710:31;:::i;:::-;2760:5;-1:-1:-1;2817:2:1;2802:18;;2789:32;2830:33;2789:32;2830:33;:::i;:::-;2882:7;2872:17;;;2507:388;;;;;:::o;2900:127::-;2961:10;2956:3;2952:20;2949:1;2942:31;2992:4;2989:1;2982:15;3016:4;3013:1;3006:15;3032:422;3121:1;3164:5;3121:1;3178:270;3199:7;3189:8;3186:21;3178:270;;;3258:4;3254:1;3250:6;3246:17;3240:4;3237:27;3234:53;;;3267:18;;:::i;:::-;3317:7;3307:8;3303:22;3300:55;;;3337:16;;;;3300:55;3416:22;;;;3376:15;;;;3178:270;;;3182:3;3032:422;;;;;:::o;3459:806::-;3508:5;3538:8;3528:80;;-1:-1:-1;3579:1:1;3593:5;;3528:80;3627:4;3617:76;;-1:-1:-1;3664:1:1;3678:5;;3617:76;3709:4;3727:1;3722:59;;;;3795:1;3790:130;;;;3702:218;;3722:59;3752:1;3743:10;;3766:5;;;3790:130;3827:3;3817:8;3814:17;3811:43;;;3834:18;;:::i;:::-;-1:-1:-1;;3890:1:1;3876:16;;3905:5;;3702:218;;4004:2;3994:8;3991:16;3985:3;3979:4;3976:13;3972:36;3966:2;3956:8;3953:16;3948:2;3942:4;3939:12;3935:35;3932:77;3929:159;;;-1:-1:-1;4041:19:1;;;4073:5;;3929:159;4120:34;4145:8;4139:4;4120:34;:::i;:::-;4190:6;4186:1;4182:6;4178:19;4169:7;4166:32;4163:58;;;4201:18;;:::i;:::-;4239:20;;3459:806;-1:-1:-1;;;3459:806:1:o;4270:140::-;4328:5;4357:47;4398:4;4388:8;4384:19;4378:4;4357:47;:::i;4415:168::-;4488:9;;;4519;;4536:15;;;4530:22;;4516:37;4506:71;;4557:18;;:::i;4588:356::-;4790:2;4772:21;;;4809:18;;;4802:30;4868:34;4863:2;4848:18;;4841:62;4935:2;4920:18;;4588:356::o;6106:125::-;6171:9;;;6192:10;;;6189:36;;;6205:18;;:::i;6584:135::-;6623:3;6644:17;;;6641:43;;6664:18;;:::i;:::-;-1:-1:-1;6711:1:1;6700:13;;6584:135::o;6724:128::-;6791:9;;;6812:11;;;6809:37;;;6826:18;;:::i;6857:217::-;6897:1;6923;6913:132;;6967:10;6962:3;6958:20;6955:1;6948:31;7002:4;6999:1;6992:15;7030:4;7027:1;7020:15;6913:132;-1:-1:-1;7059:9:1;;6857:217::o;7613:127::-;7674:10;7669:3;7665:20;7662:1;7655:31;7705:4;7702:1;7695:15;7729:4;7726:1;7719:15;7745:251;7815:6;7868:2;7856:9;7847:7;7843:23;7839:32;7836:52;;;7884:1;7881;7874:12;7836:52;7916:9;7910:16;7935:31;7960:5;7935:31;:::i;8001:980::-;8263:4;8311:3;8300:9;8296:19;8342:6;8331:9;8324:25;8368:2;8406:6;8401:2;8390:9;8386:18;8379:34;8449:3;8444:2;8433:9;8429:18;8422:31;8473:6;8508;8502:13;8539:6;8531;8524:22;8577:3;8566:9;8562:19;8555:26;;8616:2;8608:6;8604:15;8590:29;;8637:1;8647:195;8661:6;8658:1;8655:13;8647:195;;;8726:13;;-1:-1:-1;;;;;8722:39:1;8710:52;;8817:15;;;;8782:12;;;;8758:1;8676:9;8647:195;;;-1:-1:-1;;;;;;;8898:32:1;;;;8893:2;8878:18;;8871:60;-1:-1:-1;;;8962:3:1;8947:19;8940:35;8859:3;8001:980;-1:-1:-1;;;8001:980:1:o
Swarm Source
ipfs://ff5cb10725dbbf08b0bb4df1618634c458ca22d89472e5a162b17757650e5f99
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.