ETH Price: $2,347.41 (+4.89%)

Contract

0x18cf6e17e6aB33243eF5E76ce336b035eFa9E971
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve219563652025-03-02 3:01:1132 hrs ago1740884471IN
0x18cf6e17...5eFa9E971
0 ETH0.000124142.66752467
Approve219496542025-03-01 4:33:352 days ago1740803615IN
0x18cf6e17...5eFa9E971
0 ETH0.000127622.74227698
Approve219496062025-03-01 4:23:592 days ago1740803039IN
0x18cf6e17...5eFa9E971
0 ETH0.000126282.713559
Approve219495892025-03-01 4:20:352 days ago1740802835IN
0x18cf6e17...5eFa9E971
0 ETH0.000124812.68194881
Approve219493802025-03-01 3:38:472 days ago1740800327IN
0x18cf6e17...5eFa9E971
0 ETH0.00012412.66676203
Approve219493252025-03-01 3:27:472 days ago1740799667IN
0x18cf6e17...5eFa9E971
0 ETH0.000130722.80899423
Approve219492642025-03-01 3:15:352 days ago1740798935IN
0x18cf6e17...5eFa9E971
0 ETH0.000128692.76534625
Approve219458362025-02-28 15:47:592 days ago1740757679IN
0x18cf6e17...5eFa9E971
0 ETH0.000122982.64328765
Approve219457872025-02-28 15:38:112 days ago1740757091IN
0x18cf6e17...5eFa9E971
0 ETH0.000205044.40701935
Approve219444122025-02-28 11:01:353 days ago1740740495IN
0x18cf6e17...5eFa9E971
0 ETH0.000069071.49396116
Approve219417222025-02-28 2:01:233 days ago1740708083IN
0x18cf6e17...5eFa9E971
0 ETH0.000240085.15215718
Approve219321892025-02-26 18:06:234 days ago1740593183IN
0x18cf6e17...5eFa9E971
0 ETH0.000218374.68631824
Transfer219314912025-02-26 15:45:594 days ago1740584759IN
0x18cf6e17...5eFa9E971
0 ETH0.000112181.57862129
Approve219298762025-02-26 10:21:475 days ago1740565307IN
0x18cf6e17...5eFa9E971
0 ETH0.000035480.7626065
Approve219278012025-02-26 3:24:595 days ago1740540299IN
0x18cf6e17...5eFa9E971
0 ETH0.000057631.2384623
Approve219270312025-02-26 0:49:595 days ago1740530999IN
0x18cf6e17...5eFa9E971
0 ETH0.000124262.66676415
Approve219270092025-02-26 0:45:355 days ago1740530735IN
0x18cf6e17...5eFa9E971
0 ETH0.000062091.33433352
Approve219269332025-02-26 0:30:115 days ago1740529811IN
0x18cf6e17...5eFa9E971
0 ETH0.000264925.68675682
Approve219245912025-02-25 16:39:235 days ago1740501563IN
0x18cf6e17...5eFa9E971
0 ETH0.000282066.06093277
Approve219241642025-02-25 15:13:355 days ago1740496415IN
0x18cf6e17...5eFa9E971
0 ETH0.00027095.82109619
Approve219221172025-02-25 8:21:356 days ago1740471695IN
0x18cf6e17...5eFa9E971
0 ETH0.0005557911.92727795
Approve219205482025-02-25 3:05:596 days ago1740452759IN
0x18cf6e17...5eFa9E971
0 ETH0.000179593.85415582
Transfer219205312025-02-25 3:02:356 days ago1740452555IN
0x18cf6e17...5eFa9E971
0 ETH0.000073671.03678863
Transfer219137532025-02-24 4:18:357 days ago1740370715IN
0x18cf6e17...5eFa9E971
0 ETH0.000064360.90595438
Approve218600002025-02-16 15:58:1114 days ago1739721491IN
0x18cf6e17...5eFa9E971
0 ETH0.00006081.304794
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
207887282024-09-20 2:09:59164 days ago1726798199
0x18cf6e17...5eFa9E971
0.12755774 ETH
207887282024-09-20 2:09:59164 days ago1726798199
0x18cf6e17...5eFa9E971
0.12755774 ETH
207887272024-09-20 2:09:47164 days ago1726798187
0x18cf6e17...5eFa9E971
0.03176864 ETH
207887272024-09-20 2:09:47164 days ago1726798187
0x18cf6e17...5eFa9E971
0.03176864 ETH
207887262024-09-20 2:09:35164 days ago1726798175
0x18cf6e17...5eFa9E971
0.10472268 ETH
207887262024-09-20 2:09:35164 days ago1726798175
0x18cf6e17...5eFa9E971
0.10472268 ETH
207887262024-09-20 2:09:35164 days ago1726798175
0x18cf6e17...5eFa9E971
0.09291439 ETH
207887262024-09-20 2:09:35164 days ago1726798175
0x18cf6e17...5eFa9E971
0.09291439 ETH
207887242024-09-20 2:09:11164 days ago1726798151
0x18cf6e17...5eFa9E971
0.04860465 ETH
207887242024-09-20 2:09:11164 days ago1726798151
0x18cf6e17...5eFa9E971
0.04860465 ETH
207887182024-09-20 2:07:59164 days ago1726798079
0x18cf6e17...5eFa9E971
0.20323156 ETH
207887182024-09-20 2:07:59164 days ago1726798079
0x18cf6e17...5eFa9E971
0.20323156 ETH
207887082024-09-20 2:05:59164 days ago1726797959
0x18cf6e17...5eFa9E971
0.19966437 ETH
207887082024-09-20 2:05:59164 days ago1726797959
0x18cf6e17...5eFa9E971
0.19966437 ETH
207887042024-09-20 2:05:11164 days ago1726797911
0x18cf6e17...5eFa9E971
0.12570394 ETH
207887042024-09-20 2:05:11164 days ago1726797911
0x18cf6e17...5eFa9E971
0.12570394 ETH
207887012024-09-20 2:04:35164 days ago1726797875
0x18cf6e17...5eFa9E971
0.06568205 ETH
207887012024-09-20 2:04:35164 days ago1726797875
0x18cf6e17...5eFa9E971
0.06568205 ETH
207886982024-09-20 2:03:59164 days ago1726797839
0x18cf6e17...5eFa9E971
0.08814993 ETH
207886982024-09-20 2:03:59164 days ago1726797839
0x18cf6e17...5eFa9E971
0.08814993 ETH
207886912024-09-20 2:02:23164 days ago1726797743
0x18cf6e17...5eFa9E971
0.16909734 ETH
207886912024-09-20 2:02:23164 days ago1726797743
0x18cf6e17...5eFa9E971
0.16909734 ETH
207886902024-09-20 2:02:11164 days ago1726797731
0x18cf6e17...5eFa9E971
0.03562812 ETH
207886902024-09-20 2:02:11164 days ago1726797731
0x18cf6e17...5eFa9E971
0.03562812 ETH
207886842024-09-20 2:00:59164 days ago1726797659
0x18cf6e17...5eFa9E971
0.13035182 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Quark

Compiler Version
v0.8.23+commit.f704f362

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-09-20
*/

// SPDX-License-Identifier: UNLICENSE
// This token was deployed on Telegram Using @TitanDeployerBot
/*
Hey Grok, if you were to have a pet cat, what would you name it?

https://x.com/QuarkOnETH
https://t.me/QuarkOnETH
https://quarketh.com/


*/
pragma solidity 0.8.23;

abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
}

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }

}

contract Ownable is Context {
    address private _owner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    function owner() public view returns (address) {
        return _owner;
    }

    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

}

interface ITitanFactory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
}

interface ITitanRouter {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}

contract Quark is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private bots;
    address payable private _taxWallet;

    uint256 private _initialBuyTax=18;
    uint256 private _initialSellTax=18;
    uint256 private _finalBuyTax=0;
    uint256 private _finalSellTax=0;
    uint256 private _reduceBuyTaxAt=1;
    uint256 private _reduceSellTaxAt=1;
    uint256 private _preventSwapBefore=1;
    uint256 private _transferTax=20;
    uint256 private _buyCount=0;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 1000000000 * 10**_decimals;
    string private constant _name = unicode"Quark";
    string private constant _symbol = unicode"QUARK";
    uint256 public _maxTxAmount = 20000000 * 10**_decimals;
    uint256 public _maxWalletSize = 20000000 * 10**_decimals;
    uint256 public _taxSwapThreshold= 1000 * 10**_decimals;
    uint256 public _maxTaxSwap= 10000000 * 10**_decimals;
    
    ITitanRouter private titanRouter;
    address private titanPair;
    bool public tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    uint256 private sellCount = 0;
    uint256 private lastSellBlock = 0;
    event MaxTxAmountUpdated(uint _maxTxAmount);
    event OpenTrade(address indexed owner, uint256 timestamp);
    event TransferTaxUpdated(uint _tax);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor () {
        _taxWallet = payable(_msgSender());
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_taxWallet] = true;

        emit Transfer(address(0), _msgSender(), _tTotal);
    }

    function name() public pure returns (string memory) {
        return _name;
    }

    function symbol() public pure returns (string memory) {
        return _symbol;
    }

    function decimals() public pure returns (uint8) {
        return _decimals;
    }

    function totalSupply() public pure override returns (uint256) {
        return _tTotal;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return _balances[account];
    }

    function getTaxDetails() public view returns (
        uint256 initialBuyTax,
        uint256 initialSellTax,
        uint256 finalBuyTax,
        uint256 finalSellTax,
        uint256 transferTax
        ) {
            return (
                _initialBuyTax,
                _initialSellTax,
                _finalBuyTax,
                _finalSellTax,
                _transferTax
            );
    }

    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    function allowance(address owner, address spender) public view override returns (uint256) {
        return _allowances[owner][spender];
    }

    function approve(address spender, uint256 amount) public override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        uint256 taxAmount=0;
        if (from != owner() && to != owner() && to != _taxWallet) {
            require(!bots[from] && !bots[to]);

            if(_buyCount==0){
                taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);
            }
            if(_buyCount>0){
                taxAmount = amount.mul(_transferTax).div(100);
            }

            if (from == titanPair && to != address(titanRouter) && ! _isExcludedFromFee[to] ) {
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
                taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);
                _buyCount++;
            }

            if(to == titanPair && from!= address(this) ){
                taxAmount = amount.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100);
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && to == titanPair && swapEnabled && contractTokenBalance > _taxSwapThreshold && _buyCount > _preventSwapBefore) {
                if (block.number > lastSellBlock) {
                    sellCount = 0;
                }
                require(sellCount < 3, "Only 3 sells per block!");
                swapTokensForEth(min(amount, min(contractTokenBalance, _maxTaxSwap)));
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
                sellCount++;
                lastSellBlock = block.number;
            }
        }

        if(taxAmount>0){
          _balances[address(this)]=_balances[address(this)].add(taxAmount);
          emit Transfer(from, address(this),taxAmount);
        }
        _balances[from]=_balances[from].sub(amount);
        _balances[to]=_balances[to].add(amount.sub(taxAmount));
        emit Transfer(from, to, amount.sub(taxAmount));
    }


    function min(uint256 a, uint256 b) private pure returns (uint256){
      return (a>b)?b:a;
    }

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = titanRouter.WETH();
        _approve(address(this), address(titanRouter), tokenAmount);
        titanRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    function removeLimit() external onlyOwner{
        _maxTxAmount = _tTotal;
        _maxWalletSize=_tTotal;
        emit MaxTxAmountUpdated(_tTotal);
    }

    function removeTranTax() external onlyOwner{
        _transferTax = 0;
        emit TransferTaxUpdated(0);
    }

    function sendETHToFee(uint256 amount) private {
        _taxWallet.transfer(amount);
    }

    function addBot(address[] memory bots_) public onlyOwner {
        for (uint i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }

    function delBot(address[] memory notbot) public onlyOwner {
      for (uint i = 0; i < notbot.length; i++) {
          bots[notbot[i]] = false;
      }
    }

    function isBot(address a) public view returns (bool){
      return bots[a];
    }

    function openTrade() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        titanRouter = ITitanRouter(0x034131bcC29B9801Af37A826925E58a4a6e0E866);
        _approve(address(this), address(titanRouter), _tTotal);
        titanPair = ITitanFactory(titanRouter.factory()).createPair(address(this), titanRouter.WETH());
        titanRouter.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        IERC20(titanPair).approve(address(titanRouter), type(uint).max);
        swapEnabled = true;
        tradingOpen = true;

        emit OpenTrade(owner(), block.timestamp);
    }

    
    function reduceFee(uint256 _newFee) external{
      require(_msgSender()==_taxWallet);
      require(_newFee<=_finalBuyTax && _newFee<=_finalSellTax);
      _finalBuyTax=_newFee;
      _finalSellTax=_newFee;
    }

    receive() external payable {}

    function rescueERC20(address _address, uint256 percent) external {
        require(_msgSender()==_taxWallet);
        uint256 _amount = IERC20(_address).balanceOf(address(this)).mul(percent).div(100);
        IERC20(_address).transfer(_taxWallet, _amount);
    }

    function manualSwap() external {
        require(_msgSender()==_taxWallet);
        uint256 tokenBalance=balanceOf(address(this));
        if(tokenBalance>0 && swapEnabled){
          swapTokensForEth(tokenBalance);
        }
        uint256 ethBalance=address(this).balance;
        if(ethBalance>0){
          sendETHToFee(ethBalance);
        }
    }
}

Contract Security Audit

Contract ABI

API
[{"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":"owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"OpenTrade","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"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_tax","type":"uint256"}],"name":"TransferTaxUpdated","type":"event"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"addBot","outputs":[],"stateMutability":"nonpayable","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":"notbot","type":"address[]"}],"name":"delBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getTaxDetails","outputs":[{"internalType":"uint256","name":"initialBuyTax","type":"uint256"},{"internalType":"uint256","name":"initialSellTax","type":"uint256"},{"internalType":"uint256","name":"finalBuyTax","type":"uint256"},{"internalType":"uint256","name":"finalSellTax","type":"uint256"},{"internalType":"uint256","name":"transferTax","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"a","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":"openTrade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newFee","type":"uint256"}],"name":"reduceFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeTranTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"uint256","name":"percent","type":"uint256"}],"name":"rescueERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"tradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052601260065560126007555f6008555f6009556001600a556001600b556001600c556014600d555f600e556009600a6200003e91906200033b565b6200004e906301312d0062000352565b600f556200005f6009600a6200033b565b6200006f906301312d0062000352565b601055620000806009600a6200033b565b6200008e906103e862000352565b6011556200009f6009600a6200033b565b620000ae906298968062000352565b6012556014805461ffff60a81b191690555f6015819055601655348015620000d4575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600580546001600160a01b03191633179055620001356009600a6200033b565b6200014590633b9aca0062000352565b335f9081526001602081905260408220929092556003906200016e5f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff199687161790553081526003909352818320805485166001908117909155600554909116835291208054909216179055620001cc3390565b6001600160a01b03165f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620002056009600a6200033b565b6200021590633b9aca0062000352565b60405190815260200160405180910390a36200036c565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200028057815f19048211156200026457620002646200022c565b808516156200027257918102915b93841c939080029062000245565b509250929050565b5f82620002985750600162000335565b81620002a657505f62000335565b8160018114620002bf5760028114620002ca57620002ea565b600191505062000335565b60ff841115620002de57620002de6200022c565b50506001821b62000335565b5060208310610133831016604e8410600b84101617156200030f575081810a62000335565b6200031b838362000240565b805f19048211156200033157620003316200022c565b0290505b92915050565b5f6200034b60ff84168362000288565b9392505050565b80820281158282048414176200033557620003356200022c565b611dd8806200037a5f395ff3fe60806040526004361061017e575f3560e01c8063715018a6116100cd578063a9059cbb11610087578063dd62ed3e11610062578063dd62ed3e14610476578063ec1f3f63146104ba578063fb201b1d146104d9578063ffb54a99146104ed575f80fd5b8063a9059cbb14610423578063bf474bed14610442578063c97c182114610457575f80fd5b8063715018a6146103735780637d1db4a5146103875780638cd4426d1461039c5780638da5cb5b146103bb5780638f9a55c0146103e157806395d89b41146103f6575f80fd5b806321bbcbb1116101385780633bbac579116101135780633bbac579146102e057806351bc3c8514610317578063622565891461032b57806370a082311461033f575f80fd5b806321bbcbb11461028757806323b872dd146102a6578063313ce567146102c5575f80fd5b806302fa1f4a1461018957806306fdde031461019f578063095ea7b3146101de5780630faee56f1461020d57806318160ddd146102305780631fee589414610244575f80fd5b3661018557005b5f80fd5b348015610194575f80fd5b5061019d61050d565b005b3480156101aa575f80fd5b50604080518082019091526005815264517561726b60d81b60208201525b6040516101d591906118b6565b60405180910390f35b3480156101e9575f80fd5b506101fd6101f8366004611929565b61057b565b60405190151581526020016101d5565b348015610218575f80fd5b5061022260125481565b6040519081526020016101d5565b34801561023b575f80fd5b50610222610591565b34801561024f575f80fd5b50600654600754600854600954600d54604080519586526020860194909452928401919091526060830152608082015260a0016101d5565b348015610292575f80fd5b5061019d6102a1366004611967565b6105b1565b3480156102b1575f80fd5b506101fd6102c0366004611a27565b610639565b3480156102d0575f80fd5b50604051600981526020016101d5565b3480156102eb575f80fd5b506101fd6102fa366004611a65565b6001600160a01b03165f9081526004602052604090205460ff1690565b348015610322575f80fd5b5061019d6106a0565b348015610336575f80fd5b5061019d610704565b34801561034a575f80fd5b50610222610359366004611a65565b6001600160a01b03165f9081526001602052604090205490565b34801561037e575f80fd5b5061019d6107b0565b348015610392575f80fd5b50610222600f5481565b3480156103a7575f80fd5b5061019d6103b6366004611929565b610821565b3480156103c6575f80fd5b505f546040516001600160a01b0390911681526020016101d5565b3480156103ec575f80fd5b5061022260105481565b348015610401575f80fd5b50604080518082019091526005815264515541524b60d81b60208201526101c8565b34801561042e575f80fd5b506101fd61043d366004611929565b61093d565b34801561044d575f80fd5b5061022260115481565b348015610462575f80fd5b5061019d610471366004611967565b610949565b348015610481575f80fd5b50610222610490366004611a80565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b3480156104c5575f80fd5b5061019d6104d4366004611ab7565b6109cc565b3480156104e4575f80fd5b5061019d610a11565b3480156104f8575f80fd5b506014546101fd90600160a01b900460ff1681565b5f546001600160a01b0316331461053f5760405162461bcd60e51b815260040161053690611ace565b60405180910390fd5b5f600d8190556040519081527fe9b79e1a6c2dc43b4c0c6ff01ce9e3332d810e482270f464c0a21ad6c5fc6de3906020015b60405180910390a1565b5f610587338484610e07565b5060015b92915050565b5f61059e6009600a611bf7565b6105ac90633b9aca00611c05565b905090565b5f546001600160a01b031633146105da5760405162461bcd60e51b815260040161053690611ace565b5f5b815181101561063557600160045f8484815181106105fc576105fc611c1c565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff19169115159190911790556001016105dc565b5050565b5f610645848484610f2a565b610696843361069185604051806060016040528060288152602001611d7b602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190611532565b610e07565b5060019392505050565b6005546001600160a01b0316336001600160a01b0316146106bf575f80fd5b305f9081526001602052604090205480158015906106e65750601454600160b01b900460ff165b156106f4576106f48161156a565b47801561063557610635816116da565b5f546001600160a01b0316331461072d5760405162461bcd60e51b815260040161053690611ace565b6107396009600a611bf7565b61074790633b9aca00611c05565b600f556107566009600a611bf7565b61076490633b9aca00611c05565b6010557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6107946009600a611bf7565b6107a290633b9aca00611c05565b604051908152602001610571565b5f546001600160a01b031633146107d95760405162461bcd60e51b815260040161053690611ace565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b6005546001600160a01b0316336001600160a01b031614610840575f80fd5b6040516370a0823160e01b81523060048201525f906108c1906064906108bb9085906001600160a01b038816906370a0823190602401602060405180830381865afa158015610891573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108b59190611c30565b90611711565b90611796565b60055460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810183905291925084169063a9059cbb906044016020604051808303815f875af1158015610913573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109379190611c47565b50505050565b5f610587338484610f2a565b5f546001600160a01b031633146109725760405162461bcd60e51b815260040161053690611ace565b5f5b8151811015610635575f60045f84848151811061099357610993611c1c565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055600101610974565b6005546001600160a01b0316336001600160a01b0316146109eb575f80fd5b60085481111580156109ff57506009548111155b610a07575f80fd5b6008819055600955565b5f546001600160a01b03163314610a3a5760405162461bcd60e51b815260040161053690611ace565b601454600160a01b900460ff1615610a945760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610536565b601380546001600160a01b03191673034131bcc29b9801af37a826925e58a4a6e0e866908117909155610add903090610acf6009600a611bf7565b61069190633b9aca00611c05565b60135f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b2d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b519190611c66565b6001600160a01b031663c9c653963060135f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bb0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bd49190611c66565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610c1e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c429190611c66565b601480546001600160a01b039283166001600160a01b03199091161790556013541663f305d7194730610c89816001600160a01b03165f9081526001602052604090205490565b5f80610c9c5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610d02573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610d279190611c81565b505060145460135460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610d7c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610da09190611c47565b506014805462ff00ff60a01b19166201000160a01b1790555f546001600160a01b03166001600160a01b03167ff9ca0f11181041c16343c0e2d0e0c3cf66188e39b033ab29e2fe6f0f84374a3642604051610dfd91815260200190565b60405180910390a2565b6001600160a01b038316610e695760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610536565b6001600160a01b038216610eca5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610536565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610f8e5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610536565b6001600160a01b038216610ff05760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610536565b5f81116110515760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610536565b5f80546001600160a01b0385811691161480159061107c57505f546001600160a01b03848116911614155b801561109657506005546001600160a01b03848116911614155b156113f5576001600160a01b0384165f9081526004602052604090205460ff161580156110db57506001600160a01b0383165f9081526004602052604090205460ff16155b6110e3575f80fd5b600e545f036111155761111260646108bb600a54600e54116111075760065461110b565b6008545b8590611711565b90505b600e541561113a5761113760646108bb600d548561171190919063ffffffff16565b90505b6014546001600160a01b03858116911614801561116557506013546001600160a01b03848116911614155b801561118957506001600160a01b0383165f9081526003602052604090205460ff16155b1561128c57600f548211156111e05760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610536565b60105482611202856001600160a01b03165f9081526001602052604090205490565b61120c9190611cac565b111561125a5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610536565b61127560646108bb600a54600e54116111075760065461110b565b600e80549192505f61128683611cbf565b91905055505b6014546001600160a01b0384811691161480156112b257506001600160a01b0384163014155b156112df576112dc60646108bb600b54600e54116112d25760075461110b565b6009548590611711565b90505b305f90815260016020526040902054601454600160a81b900460ff1615801561131557506014546001600160a01b038581169116145b801561132a5750601454600160b01b900460ff165b8015611337575060115481115b80156113465750600c54600e54115b156113f35760165443111561135a575f6015555b6003601554106113ac5760405162461bcd60e51b815260206004820152601760248201527f4f6e6c7920332073656c6c732070657220626c6f636b210000000000000000006044820152606401610536565b6113c96113c4846113bf846012546117d7565b6117d7565b61156a565b4780156113d9576113d9476116da565b60158054905f6113e883611cbf565b909155505043601655505b505b801561146d57305f9081526001602052604090205461141490826117eb565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906114649085815260200190565b60405180910390a35b6001600160a01b0384165f9081526001602052604090205461148f9083611849565b6001600160a01b0385165f908152600160205260409020556114d26114b48383611849565b6001600160a01b0385165f90815260016020526040902054906117eb565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61151b8585611849565b60405190815260200160405180910390a350505050565b5f81848411156115555760405162461bcd60e51b815260040161053691906118b6565b505f6115618486611cd7565b95945050505050565b6014805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106115b0576115b0611c1c565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611607573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061162b9190611c66565b8160018151811061163e5761163e611c1c565b6001600160a01b0392831660209182029290920101526013546116649130911684610e07565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac9479061169c9085905f90869030904290600401611cea565b5f604051808303815f87803b1580156116b3575f80fd5b505af11580156116c5573d5f803e3d5ffd5b50506014805460ff60a81b1916905550505050565b6005546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015610635573d5f803e3d5ffd5b5f825f0361172057505f61058b565b5f61172b8385611c05565b9050826117388583611d5b565b1461178f5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610536565b9392505050565b5f61178f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061188a565b5f8183116117e5578261178f565b50919050565b5f806117f78385611cac565b90508381101561178f5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610536565b5f61178f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611532565b5f81836118aa5760405162461bcd60e51b815260040161053691906118b6565b505f6115618486611d5b565b5f602080835283518060208501525f5b818110156118e2578581018301518582016040015282016118c6565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611916575f80fd5b50565b803561192481611902565b919050565b5f806040838503121561193a575f80fd5b823561194581611902565b946020939093013593505050565b634e487b7160e01b5f52604160045260245ffd5b5f6020808385031215611978575f80fd5b823567ffffffffffffffff8082111561198f575f80fd5b818501915085601f8301126119a2575f80fd5b8135818111156119b4576119b4611953565b8060051b604051601f19603f830116810181811085821117156119d9576119d9611953565b6040529182528482019250838101850191888311156119f6575f80fd5b938501935b82851015611a1b57611a0c85611919565b845293850193928501926119fb565b98975050505050505050565b5f805f60608486031215611a39575f80fd5b8335611a4481611902565b92506020840135611a5481611902565b929592945050506040919091013590565b5f60208284031215611a75575f80fd5b813561178f81611902565b5f8060408385031215611a91575f80fd5b8235611a9c81611902565b91506020830135611aac81611902565b809150509250929050565b5f60208284031215611ac7575f80fd5b5035919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115611b5157815f1904821115611b3757611b37611b03565b80851615611b4457918102915b93841c9390800290611b1c565b509250929050565b5f82611b675750600161058b565b81611b7357505f61058b565b8160018114611b895760028114611b9357611baf565b600191505061058b565b60ff841115611ba457611ba4611b03565b50506001821b61058b565b5060208310610133831016604e8410600b8410161715611bd2575081810a61058b565b611bdc8383611b17565b805f1904821115611bef57611bef611b03565b029392505050565b5f61178f60ff841683611b59565b808202811582820484141761058b5761058b611b03565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611c40575f80fd5b5051919050565b5f60208284031215611c57575f80fd5b8151801515811461178f575f80fd5b5f60208284031215611c76575f80fd5b815161178f81611902565b5f805f60608486031215611c93575f80fd5b8351925060208401519150604084015190509250925092565b8082018082111561058b5761058b611b03565b5f60018201611cd057611cd0611b03565b5060010190565b8181038181111561058b5761058b611b03565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b81811015611d3a5784516001600160a01b031683529383019391830191600101611d15565b50506001600160a01b03969096166060850152505050608001529392505050565b5f82611d7557634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220cc965a98efa639ce0d661fb3ed0900d44f09c0847788ab386494444802a7eb7264736f6c63430008170033

Deployed Bytecode

0x60806040526004361061017e575f3560e01c8063715018a6116100cd578063a9059cbb11610087578063dd62ed3e11610062578063dd62ed3e14610476578063ec1f3f63146104ba578063fb201b1d146104d9578063ffb54a99146104ed575f80fd5b8063a9059cbb14610423578063bf474bed14610442578063c97c182114610457575f80fd5b8063715018a6146103735780637d1db4a5146103875780638cd4426d1461039c5780638da5cb5b146103bb5780638f9a55c0146103e157806395d89b41146103f6575f80fd5b806321bbcbb1116101385780633bbac579116101135780633bbac579146102e057806351bc3c8514610317578063622565891461032b57806370a082311461033f575f80fd5b806321bbcbb11461028757806323b872dd146102a6578063313ce567146102c5575f80fd5b806302fa1f4a1461018957806306fdde031461019f578063095ea7b3146101de5780630faee56f1461020d57806318160ddd146102305780631fee589414610244575f80fd5b3661018557005b5f80fd5b348015610194575f80fd5b5061019d61050d565b005b3480156101aa575f80fd5b50604080518082019091526005815264517561726b60d81b60208201525b6040516101d591906118b6565b60405180910390f35b3480156101e9575f80fd5b506101fd6101f8366004611929565b61057b565b60405190151581526020016101d5565b348015610218575f80fd5b5061022260125481565b6040519081526020016101d5565b34801561023b575f80fd5b50610222610591565b34801561024f575f80fd5b50600654600754600854600954600d54604080519586526020860194909452928401919091526060830152608082015260a0016101d5565b348015610292575f80fd5b5061019d6102a1366004611967565b6105b1565b3480156102b1575f80fd5b506101fd6102c0366004611a27565b610639565b3480156102d0575f80fd5b50604051600981526020016101d5565b3480156102eb575f80fd5b506101fd6102fa366004611a65565b6001600160a01b03165f9081526004602052604090205460ff1690565b348015610322575f80fd5b5061019d6106a0565b348015610336575f80fd5b5061019d610704565b34801561034a575f80fd5b50610222610359366004611a65565b6001600160a01b03165f9081526001602052604090205490565b34801561037e575f80fd5b5061019d6107b0565b348015610392575f80fd5b50610222600f5481565b3480156103a7575f80fd5b5061019d6103b6366004611929565b610821565b3480156103c6575f80fd5b505f546040516001600160a01b0390911681526020016101d5565b3480156103ec575f80fd5b5061022260105481565b348015610401575f80fd5b50604080518082019091526005815264515541524b60d81b60208201526101c8565b34801561042e575f80fd5b506101fd61043d366004611929565b61093d565b34801561044d575f80fd5b5061022260115481565b348015610462575f80fd5b5061019d610471366004611967565b610949565b348015610481575f80fd5b50610222610490366004611a80565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b3480156104c5575f80fd5b5061019d6104d4366004611ab7565b6109cc565b3480156104e4575f80fd5b5061019d610a11565b3480156104f8575f80fd5b506014546101fd90600160a01b900460ff1681565b5f546001600160a01b0316331461053f5760405162461bcd60e51b815260040161053690611ace565b60405180910390fd5b5f600d8190556040519081527fe9b79e1a6c2dc43b4c0c6ff01ce9e3332d810e482270f464c0a21ad6c5fc6de3906020015b60405180910390a1565b5f610587338484610e07565b5060015b92915050565b5f61059e6009600a611bf7565b6105ac90633b9aca00611c05565b905090565b5f546001600160a01b031633146105da5760405162461bcd60e51b815260040161053690611ace565b5f5b815181101561063557600160045f8484815181106105fc576105fc611c1c565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff19169115159190911790556001016105dc565b5050565b5f610645848484610f2a565b610696843361069185604051806060016040528060288152602001611d7b602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190611532565b610e07565b5060019392505050565b6005546001600160a01b0316336001600160a01b0316146106bf575f80fd5b305f9081526001602052604090205480158015906106e65750601454600160b01b900460ff165b156106f4576106f48161156a565b47801561063557610635816116da565b5f546001600160a01b0316331461072d5760405162461bcd60e51b815260040161053690611ace565b6107396009600a611bf7565b61074790633b9aca00611c05565b600f556107566009600a611bf7565b61076490633b9aca00611c05565b6010557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6107946009600a611bf7565b6107a290633b9aca00611c05565b604051908152602001610571565b5f546001600160a01b031633146107d95760405162461bcd60e51b815260040161053690611ace565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b6005546001600160a01b0316336001600160a01b031614610840575f80fd5b6040516370a0823160e01b81523060048201525f906108c1906064906108bb9085906001600160a01b038816906370a0823190602401602060405180830381865afa158015610891573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108b59190611c30565b90611711565b90611796565b60055460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810183905291925084169063a9059cbb906044016020604051808303815f875af1158015610913573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109379190611c47565b50505050565b5f610587338484610f2a565b5f546001600160a01b031633146109725760405162461bcd60e51b815260040161053690611ace565b5f5b8151811015610635575f60045f84848151811061099357610993611c1c565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055600101610974565b6005546001600160a01b0316336001600160a01b0316146109eb575f80fd5b60085481111580156109ff57506009548111155b610a07575f80fd5b6008819055600955565b5f546001600160a01b03163314610a3a5760405162461bcd60e51b815260040161053690611ace565b601454600160a01b900460ff1615610a945760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610536565b601380546001600160a01b03191673034131bcc29b9801af37a826925e58a4a6e0e866908117909155610add903090610acf6009600a611bf7565b61069190633b9aca00611c05565b60135f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b2d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b519190611c66565b6001600160a01b031663c9c653963060135f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bb0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bd49190611c66565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610c1e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c429190611c66565b601480546001600160a01b039283166001600160a01b03199091161790556013541663f305d7194730610c89816001600160a01b03165f9081526001602052604090205490565b5f80610c9c5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610d02573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610d279190611c81565b505060145460135460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610d7c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610da09190611c47565b506014805462ff00ff60a01b19166201000160a01b1790555f546001600160a01b03166001600160a01b03167ff9ca0f11181041c16343c0e2d0e0c3cf66188e39b033ab29e2fe6f0f84374a3642604051610dfd91815260200190565b60405180910390a2565b6001600160a01b038316610e695760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610536565b6001600160a01b038216610eca5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610536565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610f8e5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610536565b6001600160a01b038216610ff05760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610536565b5f81116110515760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610536565b5f80546001600160a01b0385811691161480159061107c57505f546001600160a01b03848116911614155b801561109657506005546001600160a01b03848116911614155b156113f5576001600160a01b0384165f9081526004602052604090205460ff161580156110db57506001600160a01b0383165f9081526004602052604090205460ff16155b6110e3575f80fd5b600e545f036111155761111260646108bb600a54600e54116111075760065461110b565b6008545b8590611711565b90505b600e541561113a5761113760646108bb600d548561171190919063ffffffff16565b90505b6014546001600160a01b03858116911614801561116557506013546001600160a01b03848116911614155b801561118957506001600160a01b0383165f9081526003602052604090205460ff16155b1561128c57600f548211156111e05760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610536565b60105482611202856001600160a01b03165f9081526001602052604090205490565b61120c9190611cac565b111561125a5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610536565b61127560646108bb600a54600e54116111075760065461110b565b600e80549192505f61128683611cbf565b91905055505b6014546001600160a01b0384811691161480156112b257506001600160a01b0384163014155b156112df576112dc60646108bb600b54600e54116112d25760075461110b565b6009548590611711565b90505b305f90815260016020526040902054601454600160a81b900460ff1615801561131557506014546001600160a01b038581169116145b801561132a5750601454600160b01b900460ff165b8015611337575060115481115b80156113465750600c54600e54115b156113f35760165443111561135a575f6015555b6003601554106113ac5760405162461bcd60e51b815260206004820152601760248201527f4f6e6c7920332073656c6c732070657220626c6f636b210000000000000000006044820152606401610536565b6113c96113c4846113bf846012546117d7565b6117d7565b61156a565b4780156113d9576113d9476116da565b60158054905f6113e883611cbf565b909155505043601655505b505b801561146d57305f9081526001602052604090205461141490826117eb565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906114649085815260200190565b60405180910390a35b6001600160a01b0384165f9081526001602052604090205461148f9083611849565b6001600160a01b0385165f908152600160205260409020556114d26114b48383611849565b6001600160a01b0385165f90815260016020526040902054906117eb565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61151b8585611849565b60405190815260200160405180910390a350505050565b5f81848411156115555760405162461bcd60e51b815260040161053691906118b6565b505f6115618486611cd7565b95945050505050565b6014805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106115b0576115b0611c1c565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611607573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061162b9190611c66565b8160018151811061163e5761163e611c1c565b6001600160a01b0392831660209182029290920101526013546116649130911684610e07565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac9479061169c9085905f90869030904290600401611cea565b5f604051808303815f87803b1580156116b3575f80fd5b505af11580156116c5573d5f803e3d5ffd5b50506014805460ff60a81b1916905550505050565b6005546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015610635573d5f803e3d5ffd5b5f825f0361172057505f61058b565b5f61172b8385611c05565b9050826117388583611d5b565b1461178f5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610536565b9392505050565b5f61178f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061188a565b5f8183116117e5578261178f565b50919050565b5f806117f78385611cac565b90508381101561178f5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610536565b5f61178f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611532565b5f81836118aa5760405162461bcd60e51b815260040161053691906118b6565b505f6115618486611d5b565b5f602080835283518060208501525f5b818110156118e2578581018301518582016040015282016118c6565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611916575f80fd5b50565b803561192481611902565b919050565b5f806040838503121561193a575f80fd5b823561194581611902565b946020939093013593505050565b634e487b7160e01b5f52604160045260245ffd5b5f6020808385031215611978575f80fd5b823567ffffffffffffffff8082111561198f575f80fd5b818501915085601f8301126119a2575f80fd5b8135818111156119b4576119b4611953565b8060051b604051601f19603f830116810181811085821117156119d9576119d9611953565b6040529182528482019250838101850191888311156119f6575f80fd5b938501935b82851015611a1b57611a0c85611919565b845293850193928501926119fb565b98975050505050505050565b5f805f60608486031215611a39575f80fd5b8335611a4481611902565b92506020840135611a5481611902565b929592945050506040919091013590565b5f60208284031215611a75575f80fd5b813561178f81611902565b5f8060408385031215611a91575f80fd5b8235611a9c81611902565b91506020830135611aac81611902565b809150509250929050565b5f60208284031215611ac7575f80fd5b5035919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115611b5157815f1904821115611b3757611b37611b03565b80851615611b4457918102915b93841c9390800290611b1c565b509250929050565b5f82611b675750600161058b565b81611b7357505f61058b565b8160018114611b895760028114611b9357611baf565b600191505061058b565b60ff841115611ba457611ba4611b03565b50506001821b61058b565b5060208310610133831016604e8410600b8410161715611bd2575081810a61058b565b611bdc8383611b17565b805f1904821115611bef57611bef611b03565b029392505050565b5f61178f60ff841683611b59565b808202811582820484141761058b5761058b611b03565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611c40575f80fd5b5051919050565b5f60208284031215611c57575f80fd5b8151801515811461178f575f80fd5b5f60208284031215611c76575f80fd5b815161178f81611902565b5f805f60608486031215611c93575f80fd5b8351925060208401519150604084015190509250925092565b8082018082111561058b5761058b611b03565b5f60018201611cd057611cd0611b03565b5060010190565b8181038181111561058b5761058b611b03565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b81811015611d3a5784516001600160a01b031683529383019391830191600101611d15565b50506001600160a01b03969096166060850152505050608001529392505050565b5f82611d7557634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220cc965a98efa639ce0d661fb3ed0900d44f09c0847788ab386494444802a7eb7264736f6c63430008170033

Deployed Bytecode Sourcemap

3685:9568:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11002:115;;;;;;;;;;;;;:::i;:::-;;5696:83;;;;;;;;;;-1:-1:-1;5766:5:0;;;;;;;;;;;;-1:-1:-1;;;5766:5:0;;;;5696:83;;;;;;;:::i;:::-;;;;;;;;6956:161;;;;;;;;;;-1:-1:-1;6956:161:0;;;;;:::i;:::-;;:::i;:::-;;;1327:14:1;;1320:22;1302:41;;1290:2;1275:18;6956:161:0;1162:187:1;4802:52:0;;;;;;;;;;;;;;;;;;;1500:25:1;;;1488:2;1473:18;4802:52:0;1354:177:1;5973:95:0;;;;;;;;;;;;;:::i;6203:419::-;;;;;;;;;;-1:-1:-1;6457:14:0;;6490:15;;6524:12;;6555:13;;6587:12;;6203:419;;;1795:25:1;;;1851:2;1836:18;;1829:34;;;;1879:18;;;1872:34;;;;1937:2;1922:18;;1915:34;1980:3;1965:19;;1958:35;1782:3;1767:19;6203:419:0;1536:463:1;11225:163:0;;;;;;;;;;-1:-1:-1;11225:163:0;;;;;:::i;:::-;;:::i;7125:313::-;;;;;;;;;;-1:-1:-1;7125:313:0;;;;;:::i;:::-;;:::i;5882:83::-;;;;;;;;;;-1:-1:-1;5882:83:0;;4433:1;3865:36:1;;3853:2;3838:18;5882:83:0;3723:184:1;11565:83:0;;;;;;;;;;-1:-1:-1;11565:83:0;;;;;:::i;:::-;-1:-1:-1;;;;;11633:7:0;11612:4;11633:7;;;:4;:7;;;;;;;;;11565:83;12887:363;;;;;;;;;;;;;:::i;10836:158::-;;;;;;;;;;;;;:::i;6076:119::-;;;;;;;;;;-1:-1:-1;6076:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6169:18:0;6142:7;6169:18;;;:9;:18;;;;;;;6076:119;2776:148;;;;;;;;;;;;;:::i;4617:54::-;;;;;;;;;;;;;;;;12613:266;;;;;;;;;;-1:-1:-1;12613:266:0;;;;;:::i;:::-;;:::i;2562:79::-;;;;;;;;;;-1:-1:-1;2600:7:0;2627:6;2562:79;;-1:-1:-1;;;;;2627:6:0;;;4310:51:1;;4298:2;4283:18;2562:79:0;4164:203:1;4678:56:0;;;;;;;;;;;;;;;;5787:87;;;;;;;;;;-1:-1:-1;5859:7:0;;;;;;;;;;;;-1:-1:-1;;;5859:7:0;;;;5787:87;;6630:167;;;;;;;;;;-1:-1:-1;6630:167:0;;;;;:::i;:::-;;:::i;4741:54::-;;;;;;;;;;;;;;;;11396:161;;;;;;;;;;-1:-1:-1;11396:161:0;;;;;:::i;:::-;;:::i;6805:143::-;;;;;;;;;;-1:-1:-1;6805:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6913:18:0;;;6886:7;6913:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6805:143;12350:218;;;;;;;;;;-1:-1:-1;12350:218:0;;;;;:::i;:::-;;:::i;11656:680::-;;;;;;;;;;;;;:::i;4938:23::-;;;;;;;;;;-1:-1:-1;4938:23:0;;;;-1:-1:-1;;;4938:23:0;;;;;;11002:115;2689:6;;-1:-1:-1;;;;;2689:6:0;397:10;2689:22;2681:67;;;;-1:-1:-1;;;2681:67:0;;;;;;;:::i;:::-;;;;;;;;;11071:1:::1;11056:12;:16:::0;;;11088:21:::1;::::0;1500:25:1;;;11088:21:0::1;::::0;1488:2:1;1473:18;11088:21:0::1;;;;;;;;11002:115::o:0;6956:161::-;7031:4;7048:39;397:10;7071:7;7080:6;7048:8;:39::i;:::-;-1:-1:-1;7105:4:0;6956:161;;;;;:::o;5973:95::-;6026:7;4489:13;4433:1;4489:2;:13;:::i;:::-;4476:26;;:10;:26;:::i;:::-;6046:14;;5973:95;:::o;11225:163::-;2689:6;;-1:-1:-1;;;;;2689:6:0;397:10;2689:22;2681:67;;;;-1:-1:-1;;;2681:67:0;;;;;;;:::i;:::-;11298:6:::1;11293:88;11314:5;:12;11310:1;:16;11293:88;;;11365:4;11348;:14;11353:5;11359:1;11353:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;11348:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;11348:14:0;:21;;-1:-1:-1;;11348:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;11328:3:0::1;11293:88;;;;11225:163:::0;:::o;7125:313::-;7223:4;7240:36;7250:6;7258:9;7269:6;7240:9;:36::i;:::-;7287:121;7296:6;397:10;7318:89;7356:6;7318:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7318:19:0;;;;;;:11;:19;;;;;;;;397:10;7318:33;;;;;;;;;;:37;:89::i;:::-;7287:8;:121::i;:::-;-1:-1:-1;7426:4:0;7125:313;;;;;:::o;12887:363::-;12951:10;;-1:-1:-1;;;;;12951:10:0;397;-1:-1:-1;;;;;12937:24:0;;12929:33;;;;;;13012:4;12973:20;6169:18;;;:9;:18;;;;;;13032:14;;;;;:29;;-1:-1:-1;13050:11:0;;-1:-1:-1;;;13050:11:0;;;;13032:29;13029:88;;;13075:30;13092:12;13075:16;:30::i;:::-;13146:21;13181:12;;13178:65;;13207:24;13220:10;13207:12;:24::i;10836:158::-;2689:6;;-1:-1:-1;;;;;2689:6:0;397:10;2689:22;2681:67;;;;-1:-1:-1;;;2681:67:0;;;;;;;:::i;:::-;4489:13:::1;4433:1;4489:2;:13;:::i;:::-;4476:26;::::0;:10:::1;:26;:::i;:::-;10888:12;:22:::0;4489:13:::1;4433:1;4489:2;:13;:::i;:::-;4476:26;::::0;:10:::1;:26;:::i;:::-;10921:14;:22:::0;10959:27:::1;4489:13;4433:1;4489:2;:13;:::i;:::-;4476:26;::::0;:10:::1;:26;:::i;:::-;10959:27;::::0;1500:25:1;;;1488:2;1473:18;10959:27:0::1;1354:177:1::0;2776:148:0;2689:6;;-1:-1:-1;;;;;2689:6:0;397:10;2689:22;2681:67;;;;-1:-1:-1;;;2681:67:0;;;;;;;:::i;:::-;2883:1:::1;2867:6:::0;;2846:40:::1;::::0;-1:-1:-1;;;;;2867:6:0;;::::1;::::0;2846:40:::1;::::0;2883:1;;2846:40:::1;2914:1;2897:19:::0;;-1:-1:-1;;;;;;2897:19:0::1;::::0;;2776:148::o;12613:266::-;12711:10;;-1:-1:-1;;;;;12711:10:0;397;-1:-1:-1;;;;;12697:24:0;;12689:33;;;;;;12751:41;;-1:-1:-1;;;12751:41:0;;12786:4;12751:41;;;4310:51:1;12733:15:0;;12751:63;;12810:3;;12751:54;;12797:7;;-1:-1:-1;;;;;12751:26:0;;;;;4283:18:1;;12751:41:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:45;;:54::i;:::-;:58;;:63::i;:::-;12851:10;;12825:46;;-1:-1:-1;;;12825:46:0;;-1:-1:-1;;;;;12851:10:0;;;12825:46;;;7686:51:1;7753:18;;;7746:34;;;12733:81:0;;-1:-1:-1;12825:25:0;;;;;7659:18:1;;12825:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12678:201;12613:266;;:::o;6630:167::-;6708:4;6725:42;397:10;6749:9;6760:6;6725:9;:42::i;11396:161::-;2689:6;;-1:-1:-1;;;;;2689:6:0;397:10;2689:22;2681:67;;;;-1:-1:-1;;;2681:67:0;;;;;;;:::i;:::-;11468:6:::1;11463:87;11484:6;:13;11480:1;:17;11463:87;;;11535:5;11517:4;:15;11522:6;11529:1;11522:9;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;11517:15:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;11517:15:0;:23;;-1:-1:-1;;11517:23:0::1;::::0;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;11499:3:0::1;11463:87;;12350:218:::0;12425:10;;-1:-1:-1;;;;;12425:10:0;397;-1:-1:-1;;;;;12411:24:0;;12403:33;;;;;;12462:12;;12453:7;:21;;:47;;;;;12487:13;;12478:7;:22;;12453:47;12445:56;;;;;;12510:12;:20;;;12539:13;:21;12350:218::o;11656:680::-;2689:6;;-1:-1:-1;;;;;2689:6:0;397:10;2689:22;2681:67;;;;-1:-1:-1;;;2681:67:0;;;;;;;:::i;:::-;11718:11:::1;::::0;-1:-1:-1;;;11718:11:0;::::1;;;11717:12;11709:47;;;::::0;-1:-1:-1;;;11709:47:0;;8275:2:1;11709:47:0::1;::::0;::::1;8257:21:1::0;8314:2;8294:18;;;8287:30;8353:25;8333:18;;;8326:53;8396:18;;11709:47:0::1;8073:347:1::0;11709:47:0::1;11767:11;:70:::0;;-1:-1:-1;;;;;;11767:70:0::1;11794:42;11767:70:::0;;::::1;::::0;;;11848:54:::1;::::0;11865:4:::1;::::0;4489:13:::1;4433:1;4489:2;:13;:::i;:::-;4476:26;::::0;:10:::1;:26;:::i;11848:54::-;11939:11;;;;;;;;;-1:-1:-1::0;;;;;11939:11:0::1;-1:-1:-1::0;;;;;11939:19:0::1;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11925:47:0::1;;11981:4;11988:11;;;;;;;;;-1:-1:-1::0;;;;;11988:11:0::1;-1:-1:-1::0;;;;;11988:16:0::1;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11925:82;::::0;-1:-1:-1;;;;;;11925:82:0::1;::::0;;;;;;-1:-1:-1;;;;;8911:15:1;;;11925:82:0::1;::::0;::::1;8893:34:1::0;8963:15;;8943:18;;;8936:43;8828:18;;11925:82:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11913:9;:94:::0;;-1:-1:-1;;;;;11913:94:0;;::::1;-1:-1:-1::0;;;;;;11913:94:0;;::::1;;::::0;;12018:11:::1;::::0;::::1;:27;12053:21;12084:4;12090:24;12084:4:::0;-1:-1:-1;;;;;6169:18:0;6142:7;6169:18;;;:9;:18;;;;;;;6076:119;12090:24:::1;12115:1;12117::::0;12119:7:::1;2600::::0;2627:6;-1:-1:-1;;;;;2627:6:0;;2562:79;12119:7:::1;12018:125;::::0;::::1;::::0;;;-1:-1:-1;;;;;;12018:125:0;;;-1:-1:-1;;;;;9349:15:1;;;12018:125:0::1;::::0;::::1;9331:34:1::0;9381:18;;;9374:34;;;;9424:18;;;9417:34;;;;9467:18;;;9460:34;9531:15;;;9510:19;;;9503:44;12127:15:0::1;9563:19:1::0;;;9556:35;9265:19;;12018:125:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;12161:9:0::1;::::0;12188:11:::1;::::0;12154:63:::1;::::0;-1:-1:-1;;;12154:63:0;;-1:-1:-1;;;;;12188:11:0;;::::1;12154:63;::::0;::::1;7686:51:1::0;-1:-1:-1;;7753:18:1;;;7746:34;12161:9:0;::::1;::::0;-1:-1:-1;12154:25:0::1;::::0;7659:18:1;;12154:63:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;12228:11:0::1;:18:::0;;-1:-1:-1;;;;12257:18:0;-1:-1:-1;;;12257:18:0;;;-1:-1:-1;2627:6:0;-1:-1:-1;;;;;2627:6:0;-1:-1:-1;;;;;12293:35:0::1;;12312:15;12293:35;;;;1500:25:1::0;;1488:2;1473:18;;1354:177;12293:35:0::1;;;;;;;;11656:680::o:0;7446:335::-;-1:-1:-1;;;;;7539:19:0;;7531:68;;;;-1:-1:-1;;;7531:68:0;;10394:2:1;7531:68:0;;;10376:21:1;10433:2;10413:18;;;10406:30;10472:34;10452:18;;;10445:62;-1:-1:-1;;;10523:18:1;;;10516:34;10567:19;;7531:68:0;10192:400:1;7531:68:0;-1:-1:-1;;;;;7618:21:0;;7610:68;;;;-1:-1:-1;;;7610:68:0;;10799:2:1;7610:68:0;;;10781:21:1;10838:2;10818:18;;;10811:30;10877:34;10857:18;;;10850:62;-1:-1:-1;;;10928:18:1;;;10921:32;10970:19;;7610:68:0;10597:398:1;7610:68:0;-1:-1:-1;;;;;7689:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7741:32;;1500:25:1;;;7741:32:0;;1473:18:1;7741:32:0;;;;;;;7446:335;;;:::o;7789:2452::-;-1:-1:-1;;;;;7877:18:0;;7869:68;;;;-1:-1:-1;;;7869:68:0;;11202:2:1;7869:68:0;;;11184:21:1;11241:2;11221:18;;;11214:30;11280:34;11260:18;;;11253:62;-1:-1:-1;;;11331:18:1;;;11324:35;11376:19;;7869:68:0;11000:401:1;7869:68:0;-1:-1:-1;;;;;7956:16:0;;7948:64;;;;-1:-1:-1;;;7948:64:0;;11608:2:1;7948:64:0;;;11590:21:1;11647:2;11627:18;;;11620:30;11686:34;11666:18;;;11659:62;-1:-1:-1;;;11737:18:1;;;11730:33;11780:19;;7948:64:0;11406:399:1;7948:64:0;8040:1;8031:6;:10;8023:64;;;;-1:-1:-1;;;8023:64:0;;12012:2:1;8023:64:0;;;11994:21:1;12051:2;12031:18;;;12024:30;12090:34;12070:18;;;12063:62;-1:-1:-1;;;12141:18:1;;;12134:39;12190:19;;8023:64:0;11810:405:1;8023:64:0;8098:17;2627:6;;-1:-1:-1;;;;;8132:15:0;;;2627:6;;8132:15;;;;:32;;-1:-1:-1;2600:7:0;2627:6;-1:-1:-1;;;;;8151:13:0;;;2627:6;;8151:13;;8132:32;:52;;;;-1:-1:-1;8174:10:0;;-1:-1:-1;;;;;8168:16:0;;;8174:10;;8168:16;;8132:52;8128:1757;;;-1:-1:-1;;;;;8210:10:0;;;;;;:4;:10;;;;;;;;8209:11;:24;;;;-1:-1:-1;;;;;;8225:8:0;;;;;;:4;:8;;;;;;;;8224:9;8209:24;8201:33;;;;;;8254:9;;8265:1;8254:12;8251:139;;8298:76;8370:3;8298:67;8320:15;;8310:9;;:25;8309:55;;8350:14;;8309:55;;;8337:12;;8309:55;8298:6;;:10;:67::i;:76::-;8286:88;;8251:139;8407:9;;:11;8404:95;;8450:33;8479:3;8450:24;8461:12;;8450:6;:10;;:24;;;;:::i;:33::-;8438:45;;8404:95;8527:9;;-1:-1:-1;;;;;8519:17:0;;;8527:9;;8519:17;:47;;;;-1:-1:-1;8554:11:0;;-1:-1:-1;;;;;8540:26:0;;;8554:11;;8540:26;;8519:47;:75;;;;-1:-1:-1;;;;;;8572:22:0;;;;;;:18;:22;;;;;;;;8570:24;8519:75;8515:412;;;8634:12;;8624:6;:22;;8616:60;;;;-1:-1:-1;;;8616:60:0;;12422:2:1;8616:60:0;;;12404:21:1;12461:2;12441:18;;;12434:30;12500:27;12480:18;;;12473:55;12545:18;;8616:60:0;12220:349:1;8616:60:0;8729:14;;8719:6;8703:13;8713:2;-1:-1:-1;;;;;6169:18:0;6142:7;6169:18;;;:9;:18;;;;;;;6076:119;8703:13;:22;;;;:::i;:::-;:40;;8695:79;;;;-1:-1:-1;;;8695:79:0;;12906:2:1;8695:79:0;;;12888:21:1;12945:2;12925:18;;;12918:30;12984:28;12964:18;;;12957:56;13030:18;;8695:79:0;12704:350:1;8695:79:0;8805:76;8877:3;8805:67;8827:15;;8817:9;;:25;8816:55;;8857:14;;8816:55;;8805:76;8900:9;:11;;8793:88;;-1:-1:-1;8900:9:0;:11;;;:::i;:::-;;;;;;8515:412;8952:9;;-1:-1:-1;;;;;8946:15:0;;;8952:9;;8946:15;:39;;;;-1:-1:-1;;;;;;8965:20:0;;8980:4;8965:20;;8946:39;8943:170;;;9018:79;9093:3;9018:70;9040:16;;9030:9;;:26;9029:58;;9072:15;;9029:58;;;9058:13;;9018:6;;:10;:70::i;:79::-;9006:91;;8943:170;9178:4;9129:28;6169:18;;;:9;:18;;;;;;9204:6;;-1:-1:-1;;;9204:6:0;;;;9203:7;:26;;;;-1:-1:-1;9220:9:0;;-1:-1:-1;;;;;9214:15:0;;;9220:9;;9214:15;9203:26;:41;;;;-1:-1:-1;9233:11:0;;-1:-1:-1;;;9233:11:0;;;;9203:41;:85;;;;;9271:17;;9248:20;:40;9203:85;:119;;;;;9304:18;;9292:9;;:30;9203:119;9199:675;;;9362:13;;9347:12;:28;9343:90;;;9412:1;9400:9;:13;9343:90;9471:1;9459:9;;:13;9451:49;;;;-1:-1:-1;;;9451:49:0;;13401:2:1;9451:49:0;;;13383:21:1;13440:2;13420:18;;;13413:30;13479:25;13459:18;;;13452:53;13522:18;;9451:49:0;13199:347:1;9451:49:0;9519:69;9536:51;9540:6;9548:38;9552:20;9574:11;;9548:3;:38::i;:::-;9536:3;:51::i;:::-;9519:16;:69::i;:::-;9636:21;9680:22;;9676:106;;9727:35;9740:21;9727:12;:35::i;:::-;9800:9;:11;;;:9;:11;;;:::i;:::-;;;;-1:-1:-1;;9846:12:0;9830:13;:28;-1:-1:-1;9199:675:0;8186:1699;8128:1757;9900:11;;9897:161;;9968:4;9950:24;;;;:9;:24;;;;;;:39;;9979:9;9950:28;:39::i;:::-;9943:4;9925:24;;;;:9;:24;;;;;;;:64;;;;10007:39;;-1:-1:-1;;;;;10007:39:0;;;;;;;10036:9;1500:25:1;;1488:2;1473:18;;1354:177;10007:39:0;;;;;;;;9897:161;-1:-1:-1;;;;;10084:15:0;;;;;;:9;:15;;;;;;:27;;10104:6;10084:19;:27::i;:::-;-1:-1:-1;;;;;10068:15:0;;;;;;:9;:15;;;;;:43;10136:40;10154:21;:6;10165:9;10154:10;:21::i;:::-;-1:-1:-1;;;;;10136:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;10122:13:0;;;;;;;:9;:13;;;;;:54;;;;10192:41;;;10211:21;:6;10222:9;10211:10;:21::i;:::-;10192:41;;1500:25:1;;;1488:2;1473:18;10192:41:0;;;;;;;7858:2383;7789:2452;;;:::o;1454:190::-;1540:7;1576:12;1568:6;;;;1560:29;;;;-1:-1:-1;;;1560:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1600:9:0;1612:5;1616:1;1612;:5;:::i;:::-;1600:17;1454:190;-1:-1:-1;;;;;1454:190:0:o;10357:471::-;5305:6;:13;;-1:-1:-1;;;;5305:13:0;-1:-1:-1;;;5305:13:0;;;10459:16:::1;::::0;;10473:1:::1;10459:16:::0;;;;;::::1;::::0;;-1:-1:-1;;10459:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10459:16:0::1;10435:40;;10504:4;10486;10491:1;10486:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10486:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10530:11:::1;::::0;:18:::1;::::0;;-1:-1:-1;;;10530:18:0;;;;:11;;;::::1;::::0;:16:::1;::::0;:18:::1;::::0;;::::1;::::0;10486:7;;10530:18;;;;;:11;:18:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10520:4;10525:1;10520:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10520:28:0;;::::1;:7;::::0;;::::1;::::0;;;;;:28;10591:11:::1;::::0;10559:58:::1;::::0;10576:4:::1;::::0;10591:11:::1;10605::::0;10559:8:::1;:58::i;:::-;10628:11;::::0;:192:::1;::::0;-1:-1:-1;;;10628:192:0;;-1:-1:-1;;;;;10628:11:0;;::::1;::::0;:62:::1;::::0;:192:::1;::::0;10705:11;;10628::::1;::::0;10747:4;;10774::::1;::::0;10794:15:::1;::::0;10628:192:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5341:6:0;:14;;-1:-1:-1;;;;5341:14:0;;;-1:-1:-1;;;;10357:471:0:o;11125:92::-;11182:10;;:27;;-1:-1:-1;;;;;11182:10:0;;;;:27;;;;;11202:6;;11182:10;:27;:10;:27;11202:6;11182:10;:27;;;;;;;;;;;;;;;;;;;1652:246;1710:7;1734:1;1739;1734:6;1730:47;;-1:-1:-1;1764:1:0;1757:8;;1730:47;1787:9;1799:5;1803:1;1799;:5;:::i;:::-;1787:17;-1:-1:-1;1832:1:0;1823:5;1827:1;1787:17;1823:5;:::i;:::-;:10;1815:56;;;;-1:-1:-1;;;1815:56:0;;15093:2:1;1815:56:0;;;15075:21:1;15132:2;15112:18;;;15105:30;15171:34;15151:18;;;15144:62;-1:-1:-1;;;15222:18:1;;;15215:31;15263:19;;1815:56:0;14891:397:1;1815:56:0;1889:1;1652:246;-1:-1:-1;;;1652:246:0:o;1906:132::-;1964:7;1991:39;1995:1;1998;1991:39;;;;;;;;;;;;;;;;;:3;:39::i;10251:98::-;10308:7;10335:1;10333;:3;10332:9;;10340:1;10332:9;;;-1:-1:-1;10338:1:0;10251:98;-1:-1:-1;10251:98:0:o;1123:179::-;1181:7;;1213:5;1217:1;1213;:5;:::i;:::-;1201:17;;1242:1;1237;:6;;1229:46;;;;-1:-1:-1;;;1229:46:0;;15495:2:1;1229:46:0;;;15477:21:1;15534:2;15514:18;;;15507:30;15573:29;15553:18;;;15546:57;15620:18;;1229:46:0;15293:351:1;1310:136:0;1368:7;1395:43;1399:1;1402;1395:43;;;;;;;;;;;;;;;;;:3;:43::i;2046:189::-;2132:7;2167:12;2160:5;2152:28;;;;-1:-1:-1;;;2152:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2191:9:0;2203:5;2207:1;2203;:5;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;622:70;567:131;:::o;703:134::-;771:20;;800:31;771:20;800:31;:::i;:::-;703:134;;;:::o;842:315::-;910:6;918;971:2;959:9;950:7;946:23;942:32;939:52;;;987:1;984;977:12;939:52;1026:9;1013:23;1045:31;1070:5;1045:31;:::i;:::-;1095:5;1147:2;1132:18;;;;1119:32;;-1:-1:-1;;;842:315:1:o;2004:127::-;2065:10;2060:3;2056:20;2053:1;2046:31;2096:4;2093:1;2086:15;2120:4;2117:1;2110:15;2136:1121;2220:6;2251:2;2294;2282:9;2273:7;2269:23;2265:32;2262:52;;;2310:1;2307;2300:12;2262:52;2350:9;2337:23;2379:18;2420:2;2412:6;2409:14;2406:34;;;2436:1;2433;2426:12;2406:34;2474:6;2463:9;2459:22;2449:32;;2519:7;2512:4;2508:2;2504:13;2500:27;2490:55;;2541:1;2538;2531:12;2490:55;2577:2;2564:16;2599:2;2595;2592:10;2589:36;;;2605:18;;:::i;:::-;2651:2;2648:1;2644:10;2683:2;2677:9;2746:2;2742:7;2737:2;2733;2729:11;2725:25;2717:6;2713:38;2801:6;2789:10;2786:22;2781:2;2769:10;2766:18;2763:46;2760:72;;;2812:18;;:::i;:::-;2848:2;2841:22;2898:18;;;2932:15;;;;-1:-1:-1;2974:11:1;;;2970:20;;;3002:19;;;2999:39;;;3034:1;3031;3024:12;2999:39;3058:11;;;;3078:148;3094:6;3089:3;3086:15;3078:148;;;3160:23;3179:3;3160:23;:::i;:::-;3148:36;;3111:12;;;;3204;;;;3078:148;;;3245:6;2136:1121;-1:-1:-1;;;;;;;;2136:1121:1:o;3262:456::-;3339:6;3347;3355;3408:2;3396:9;3387:7;3383:23;3379:32;3376:52;;;3424:1;3421;3414:12;3376:52;3463:9;3450:23;3482:31;3507:5;3482:31;:::i;:::-;3532:5;-1:-1:-1;3589:2:1;3574:18;;3561:32;3602:33;3561:32;3602:33;:::i;:::-;3262:456;;3654:7;;-1:-1:-1;;;3708:2:1;3693:18;;;;3680:32;;3262:456::o;3912:247::-;3971:6;4024:2;4012:9;4003:7;3999:23;3995:32;3992:52;;;4040:1;4037;4030:12;3992:52;4079:9;4066:23;4098:31;4123:5;4098:31;:::i;4372:388::-;4440:6;4448;4501:2;4489:9;4480:7;4476:23;4472:32;4469:52;;;4517:1;4514;4507:12;4469:52;4556:9;4543:23;4575:31;4600:5;4575:31;:::i;:::-;4625:5;-1:-1:-1;4682:2:1;4667:18;;4654:32;4695:33;4654:32;4695:33;:::i;:::-;4747:7;4737:17;;;4372:388;;;;;:::o;4765:180::-;4824:6;4877:2;4865:9;4856:7;4852:23;4848:32;4845:52;;;4893:1;4890;4883:12;4845:52;-1:-1:-1;4916:23:1;;4765:180;-1:-1:-1;4765:180:1:o;4950:356::-;5152:2;5134:21;;;5171:18;;;5164:30;5230:34;5225:2;5210:18;;5203:62;5297:2;5282:18;;4950:356::o;5501:127::-;5562:10;5557:3;5553:20;5550:1;5543:31;5593:4;5590:1;5583:15;5617:4;5614:1;5607:15;5633:416;5722:1;5759:5;5722:1;5773:270;5794:7;5784:8;5781:21;5773:270;;;5853:4;5849:1;5845:6;5841:17;5835:4;5832:27;5829:53;;;5862:18;;:::i;:::-;5912:7;5902:8;5898:22;5895:55;;;5932:16;;;;5895:55;6011:22;;;;5971:15;;;;5773:270;;;5777:3;5633:416;;;;;:::o;6054:806::-;6103:5;6133:8;6123:80;;-1:-1:-1;6174:1:1;6188:5;;6123:80;6222:4;6212:76;;-1:-1:-1;6259:1:1;6273:5;;6212:76;6304:4;6322:1;6317:59;;;;6390:1;6385:130;;;;6297:218;;6317:59;6347:1;6338:10;;6361:5;;;6385:130;6422:3;6412:8;6409:17;6406:43;;;6429:18;;:::i;:::-;-1:-1:-1;;6485:1:1;6471:16;;6500:5;;6297:218;;6599:2;6589:8;6586:16;6580:3;6574:4;6571:13;6567:36;6561:2;6551:8;6548:16;6543:2;6537:4;6534:12;6530:35;6527:77;6524:159;;;-1:-1:-1;6636:19:1;;;6668:5;;6524:159;6715:34;6740:8;6734:4;6715:34;:::i;:::-;6785:6;6781:1;6777:6;6773:19;6764:7;6761:32;6758:58;;;6796:18;;:::i;:::-;6834:20;;6054:806;-1:-1:-1;;;6054:806:1:o;6865:140::-;6923:5;6952:47;6993:4;6983:8;6979:19;6973:4;6952:47;:::i;7010:168::-;7083:9;;;7114;;7131:15;;;7125:22;;7111:37;7101:71;;7152:18;;:::i;7183:127::-;7244:10;7239:3;7235:20;7232:1;7225:31;7275:4;7272:1;7265:15;7299:4;7296:1;7289:15;7315:184;7385:6;7438:2;7426:9;7417:7;7413:23;7409:32;7406:52;;;7454:1;7451;7444:12;7406:52;-1:-1:-1;7477:16:1;;7315:184;-1:-1:-1;7315:184:1:o;7791:277::-;7858:6;7911:2;7899:9;7890:7;7886:23;7882:32;7879:52;;;7927:1;7924;7917:12;7879:52;7959:9;7953:16;8012:5;8005:13;7998:21;7991:5;7988:32;7978:60;;8034:1;8031;8024:12;8425:251;8495:6;8548:2;8536:9;8527:7;8523:23;8519:32;8516:52;;;8564:1;8561;8554:12;8516:52;8596:9;8590:16;8615:31;8640:5;8615:31;:::i;9602:306::-;9690:6;9698;9706;9759:2;9747:9;9738:7;9734:23;9730:32;9727:52;;;9775:1;9772;9765:12;9727:52;9804:9;9798:16;9788:26;;9854:2;9843:9;9839:18;9833:25;9823:35;;9898:2;9887:9;9883:18;9877:25;9867:35;;9602:306;;;;;:::o;12574:125::-;12639:9;;;12660:10;;;12657:36;;;12673:18;;:::i;13059:135::-;13098:3;13119:17;;;13116:43;;13139:18;;:::i;:::-;-1:-1:-1;13186:1:1;13175:13;;13059:135::o;13551:128::-;13618:9;;;13639:11;;;13636:37;;;13653:18;;:::i;13684:980::-;13946:4;13994:3;13983:9;13979:19;14025:6;14014:9;14007:25;14051:2;14089:6;14084:2;14073:9;14069:18;14062:34;14132:3;14127:2;14116:9;14112:18;14105:31;14156:6;14191;14185:13;14222:6;14214;14207:22;14260:3;14249:9;14245:19;14238:26;;14299:2;14291:6;14287:15;14273:29;;14320:1;14330:195;14344:6;14341:1;14338:13;14330:195;;;14409:13;;-1:-1:-1;;;;;14405:39:1;14393:52;;14500:15;;;;14465:12;;;;14441:1;14359:9;14330:195;;;-1:-1:-1;;;;;;;14581:32:1;;;;14576:2;14561:18;;14554:60;-1:-1:-1;;;14645:3:1;14630:19;14623:35;14542:3;13684:980;-1:-1:-1;;;13684:980:1:o;14669:217::-;14709:1;14735;14725:132;;14779:10;14774:3;14770:20;14767:1;14760:31;14814:4;14811:1;14804:15;14842:4;14839:1;14832:15;14725:132;-1:-1:-1;14871:9:1;;14669:217::o

Swarm Source

ipfs://cc965a98efa639ce0d661fb3ed0900d44f09c0847788ab386494444802a7eb72

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.