ETH Price: $2,237.62 (-6.46%)

Contract

0x45d4aE570a6705526C0cD48d63CB805C41aa0dFc
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve152018522022-07-23 23:25:13776 days ago1658618713IN
0x45d4aE57...C41aa0dFc
0 ETH0.0005602912.05087369
Approve151522182022-07-16 6:53:59783 days ago1657954439IN
0x45d4aE57...C41aa0dFc
0 ETH0.00067414.49275583
Approve151519852022-07-16 5:59:49783 days ago1657951189IN
0x45d4aE57...C41aa0dFc
0 ETH0.000495810.6610768
Approve151518882022-07-16 5:36:06783 days ago1657949766IN
0x45d4aE57...C41aa0dFc
0 ETH0.000439359.44727629
Approve151518852022-07-16 5:35:19783 days ago1657949719IN
0x45d4aE57...C41aa0dFc
0 ETH0.000456579.81746142
Approve151518322022-07-16 5:23:37783 days ago1657949017IN
0x45d4aE57...C41aa0dFc
0 ETH0.000367717.9067987
Approve151518272022-07-16 5:22:37783 days ago1657948957IN
0x45d4aE57...C41aa0dFc
0 ETH0.000337217.25091833
Approve151518032022-07-16 5:18:05783 days ago1657948685IN
0x45d4aE57...C41aa0dFc
0 ETH0.000324636.98052233
Approve151517822022-07-16 5:15:16783 days ago1657948516IN
0x45d4aE57...C41aa0dFc
0 ETH0.0005149511.07284851
Approve151517752022-07-16 5:13:56783 days ago1657948436IN
0x45d4aE57...C41aa0dFc
0 ETH0.0006193613.31804664
Approve151517742022-07-16 5:13:07783 days ago1657948387IN
0x45d4aE57...C41aa0dFc
0 ETH0.000721115.50572318
Transfer151517692022-07-16 5:11:31783 days ago1657948291IN
0x45d4aE57...C41aa0dFc
0 ETH0.001737769.57847018
Approve151517562022-07-16 5:08:38783 days ago1657948118IN
0x45d4aE57...C41aa0dFc
0 ETH0.000445839.58668028
Approve151517482022-07-16 5:07:50783 days ago1657948070IN
0x45d4aE57...C41aa0dFc
0 ETH0.0006316913.58306007
Approve151517002022-07-16 4:57:21783 days ago1657947441IN
0x45d4aE57...C41aa0dFc
0 ETH0.001110523.87880279
Approve151516912022-07-16 4:55:14783 days ago1657947314IN
0x45d4aE57...C41aa0dFc
0 ETH0.0009786921.04443136
Approve151516812022-07-16 4:53:02783 days ago1657947182IN
0x45d4aE57...C41aa0dFc
0 ETH0.0015346933
Approve151516732022-07-16 4:50:43783 days ago1657947043IN
0x45d4aE57...C41aa0dFc
0 ETH0.001513432.54211551
Approve151516552022-07-16 4:46:56783 days ago1657946816IN
0x45d4aE57...C41aa0dFc
0 ETH0.0010384222.32893177
Approve151516502022-07-16 4:46:01783 days ago1657946761IN
0x45d4aE57...C41aa0dFc
0 ETH0.0009053719.46783703
Approve151516462022-07-16 4:45:24783 days ago1657946724IN
0x45d4aE57...C41aa0dFc
0 ETH0.0007421115.95744974
Approve151516452022-07-16 4:44:55783 days ago1657946695IN
0x45d4aE57...C41aa0dFc
0 ETH0.0006906714.85134897
Approve151516272022-07-16 4:41:59783 days ago1657946519IN
0x45d4aE57...C41aa0dFc
0 ETH0.0008490318.25642802
Approve151516272022-07-16 4:41:59783 days ago1657946519IN
0x45d4aE57...C41aa0dFc
0 ETH0.0008490318.25642802
Approve151516252022-07-16 4:41:43783 days ago1657946503IN
0x45d4aE57...C41aa0dFc
0 ETH0.0004297116.1510175
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
198360222024-05-10 0:20:11120 days ago1715300411
0x45d4aE57...C41aa0dFc
0.00096688 ETH
198360222024-05-10 0:20:11120 days ago1715300411
0x45d4aE57...C41aa0dFc
0.00096688 ETH
151522472022-07-16 6:59:35783 days ago1657954775
0x45d4aE57...C41aa0dFc
0.00590201 ETH
151522472022-07-16 6:59:35783 days ago1657954775
0x45d4aE57...C41aa0dFc
0.00590201 ETH
151520132022-07-16 6:06:05783 days ago1657951565
0x45d4aE57...C41aa0dFc
0.00604804 ETH
151520132022-07-16 6:06:05783 days ago1657951565
0x45d4aE57...C41aa0dFc
0.00604804 ETH
151519972022-07-16 6:02:16783 days ago1657951336
0x45d4aE57...C41aa0dFc
0.00640368 ETH
151519972022-07-16 6:02:16783 days ago1657951336
0x45d4aE57...C41aa0dFc
0.00640368 ETH
151519432022-07-16 5:51:30783 days ago1657950690
0x45d4aE57...C41aa0dFc
0.00676172 ETH
151519432022-07-16 5:51:30783 days ago1657950690
0x45d4aE57...C41aa0dFc
0.00676172 ETH
151519332022-07-16 5:49:06783 days ago1657950546
0x45d4aE57...C41aa0dFc
0.00773678 ETH
151519332022-07-16 5:49:06783 days ago1657950546
0x45d4aE57...C41aa0dFc
0.00773678 ETH
151519312022-07-16 5:48:45783 days ago1657950525
0x45d4aE57...C41aa0dFc
0.00850533 ETH
151519312022-07-16 5:48:45783 days ago1657950525
0x45d4aE57...C41aa0dFc
0.00850533 ETH
151518892022-07-16 5:36:54783 days ago1657949814
0x45d4aE57...C41aa0dFc
0.01025761 ETH
151518892022-07-16 5:36:54783 days ago1657949814
0x45d4aE57...C41aa0dFc
0.01025761 ETH
151518852022-07-16 5:35:19783 days ago1657949719
0x45d4aE57...C41aa0dFc
0.01441988 ETH
151518852022-07-16 5:35:19783 days ago1657949719
0x45d4aE57...C41aa0dFc
0.01441988 ETH
151518772022-07-16 5:33:02783 days ago1657949582
0x45d4aE57...C41aa0dFc
0.0074407 ETH
151518772022-07-16 5:33:02783 days ago1657949582
0x45d4aE57...C41aa0dFc
0.0074407 ETH
151518422022-07-16 5:26:19783 days ago1657949179
0x45d4aE57...C41aa0dFc
0.00898032 ETH
151518422022-07-16 5:26:19783 days ago1657949179
0x45d4aE57...C41aa0dFc
0.00898032 ETH
151518302022-07-16 5:23:10783 days ago1657948990
0x45d4aE57...C41aa0dFc
0.01211317 ETH
151518302022-07-16 5:23:10783 days ago1657948990
0x45d4aE57...C41aa0dFc
0.01211317 ETH
151518132022-07-16 5:20:19783 days ago1657948819
0x45d4aE57...C41aa0dFc
0.01476782 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
ZOOMER

Compiler Version
v0.8.5+commit.a4f2e591

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-07-16
*/

/**
T.ME/ZOOMERERC

███████╗ █████╗  █████╗ ███╗   ███╗███████╗██████╗  ███████╗██████╗  █████╗ 
╚════██║██╔══██╗██╔══██╗████╗ ████║██╔════╝██╔══██╗ ██╔════╝██╔══██╗██╔══██╗
  ███╔═╝██║  ██║██║  ██║██╔████╔██║█████╗  ██████╔╝ █████╗  ██████╔╝██║  ╚═╝
██╔══╝  ██║  ██║██║  ██║██║╚██╔╝██║██╔══╝  ██╔══██╗ ██╔══╝  ██╔══██╗██║  ██╗
███████╗╚█████╔╝╚█████╔╝██║ ╚═╝ ██║███████╗██║  ██║ ███████╗██║  ██║╚█████╔╝
╚══════╝ ╚════╝  ╚════╝ ╚═╝     ╚═╝╚══════╝╚═╝  ╚═╝ ╚══════╝╚═╝  ╚═╝ ╚════╝

*/

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.5;
library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }
    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }
    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }
}

interface ERC20 {
    function totalSupply() external view returns (uint256);
    function decimals() external view returns (uint8);
    function symbol() external view returns (string memory);
    function name() external view returns (string memory);
    function getOwner() external view returns (address);
    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);
}

abstract contract Ownable {
    address internal owner;
    constructor(address _owner) {
        owner = _owner;
    }
    modifier onlyOwner() {
        require(isOwner(msg.sender), "!OWNER"); _;
    }
    function isOwner(address account) public view returns (bool) {
        return account == owner;
    }
    function renounceOwnership() public onlyOwner {
        owner = address(0);
        emit OwnershipTransferred(address(0));
    }  
    event OwnershipTransferred(address owner);
}

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

interface IDEXRouter {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}

contract ZOOMER is ERC20, Ownable {
    using SafeMath for uint256;
    address routerAdress = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;
    address DEAD = 0x000000000000000000000000000000000000dEaD;

    string constant _name = "Zoomer";
    string constant _symbol = "$ZOOMER";
    uint8 constant _decimals = 9;

    uint256 _totalSupply = 100_000_000_000 * (10 ** _decimals);
    uint256 public _maxWalletAmount = (_totalSupply * 100) / 100;

    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) _allowances;

    mapping (address => bool) isFeeExempt;
    mapping (address => bool) isTxLimitExempt;

    uint256 liquidityFee = 0; 
    uint256 marketingFee = 7;
    uint256 totalFee = liquidityFee + marketingFee;
    uint256 feeDenominator = 100;

    address public marketingFeeReceiver = 0x3c44b66e0Eb7fb8c3C595d6c7C167B294150DdaB;

    IDEXRouter public router;
    address public pair;

    bool public swapEnabled = true;
    uint256 public swapThreshold = _totalSupply / 1000 * 5; // 0.5%
    bool inSwap;
    modifier swapping() { inSwap = true; _; inSwap = false; }

    constructor () Ownable(msg.sender) {
        router = IDEXRouter(routerAdress);
        pair = IDEXFactory(router.factory()).createPair(router.WETH(), address(this));
        _allowances[address(this)][address(router)] = type(uint256).max;

        address _owner = owner;
        isFeeExempt[0x3c44b66e0Eb7fb8c3C595d6c7C167B294150DdaB] = true;
        isTxLimitExempt[_owner] = true;
        isTxLimitExempt[0x3c44b66e0Eb7fb8c3C595d6c7C167B294150DdaB] = true;
        isTxLimitExempt[DEAD] = true;

        _balances[_owner] = _totalSupply;
        emit Transfer(address(0), _owner, _totalSupply);
    }

    receive() external payable { }

    function totalSupply() external view override returns (uint256) { return _totalSupply; }
    function decimals() external pure override returns (uint8) { return _decimals; }
    function symbol() external pure override returns (string memory) { return _symbol; }
    function name() external pure override returns (string memory) { return _name; }
    function getOwner() external view override returns (address) { return owner; }
    function balanceOf(address account) public view override returns (uint256) { return _balances[account]; }
    function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; }

    function approve(address spender, uint256 amount) public override returns (bool) {
        _allowances[msg.sender][spender] = amount;
        emit Approval(msg.sender, spender, amount);
        return true;
    }

    function approveMax(address spender) external returns (bool) {
        return approve(spender, type(uint256).max);
    }

    function transfer(address recipient, uint256 amount) external override returns (bool) {
        return _transferFrom(msg.sender, recipient, amount);
    }

    function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) {
        if(_allowances[sender][msg.sender] != type(uint256).max){
            _allowances[sender][msg.sender] = _allowances[sender][msg.sender].sub(amount, "Insufficient Allowance");
        }

        return _transferFrom(sender, recipient, amount);
    }

    function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
        if(inSwap){ return _basicTransfer(sender, recipient, amount); }
        
        if (recipient != pair && recipient != DEAD) {
            require(isTxLimitExempt[recipient] || _balances[recipient] + amount <= _maxWalletAmount, "Transfer amount exceeds the bag size.");
        }
        
        if(shouldSwapBack()){ swapBack(); } 

        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");

        uint256 amountReceived = shouldTakeFee(sender) ? takeFee(sender, amount) : amount;
        _balances[recipient] = _balances[recipient].add(amountReceived);

        emit Transfer(sender, recipient, amountReceived);
        return true;
    }
    
    function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
        return true;
    }

    function shouldTakeFee(address sender) internal view returns (bool) {
        return !isFeeExempt[sender];
    }

    function takeFee(address sender, uint256 amount) internal returns (uint256) {
        uint256 feeAmount = amount.mul(totalFee).div(feeDenominator);
        _balances[address(this)] = _balances[address(this)].add(feeAmount);
        emit Transfer(sender, address(this), feeAmount);
        return amount.sub(feeAmount);
    }

    function shouldSwapBack() internal view returns (bool) {
        return msg.sender != pair
        && !inSwap
        && swapEnabled
        && _balances[address(this)] >= swapThreshold;
    }

    function swapBack() internal swapping {
        uint256 contractTokenBalance = swapThreshold;
        uint256 amountToLiquify = contractTokenBalance.mul(liquidityFee).div(totalFee).div(2);
        uint256 amountToSwap = contractTokenBalance.sub(amountToLiquify);

        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = router.WETH();

        uint256 balanceBefore = address(this).balance;

        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            amountToSwap,
            0,
            path,
            address(this),
            block.timestamp
        );
        uint256 amountETH = address(this).balance.sub(balanceBefore);
        uint256 totalETHFee = totalFee.sub(liquidityFee.div(2));
        uint256 amountETHLiquidity = amountETH.mul(liquidityFee).div(totalETHFee).div(2);
        uint256 amountETHMarketing = amountETH.mul(marketingFee).div(totalETHFee);


        (bool MarketingSuccess, /* bytes memory data */) = payable(marketingFeeReceiver).call{value: amountETHMarketing, gas: 30000}("");
        require(MarketingSuccess, "receiver rejected ETH transfer");

        if(amountToLiquify > 0){
            router.addLiquidityETH{value: amountETHLiquidity}(
                address(this),
                amountToLiquify,
                0,
                0,
                0x3c44b66e0Eb7fb8c3C595d6c7C167B294150DdaB,
                block.timestamp
            );
            emit AutoLiquify(amountETHLiquidity, amountToLiquify);
        }
    }

    function buyTokens(uint256 amount, address to) internal swapping {
        address[] memory path = new address[](2);
        path[0] = router.WETH();
        path[1] = address(this);

        router.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}(
            0,
            path,
            to,
            block.timestamp
        );
    }

    function clearStuckBalance() external {
        payable(marketingFeeReceiver).transfer(address(this).balance);
    }

    function setWalletLimit(uint256 amountPercent) external onlyOwner {
        _maxWalletAmount = (_totalSupply * amountPercent ) / 1000;
    }

    function setFee(uint256 _liquidityFee, uint256 _marketingFee) external onlyOwner {
         liquidityFee = _liquidityFee; 
         marketingFee = _marketingFee;
         totalFee = liquidityFee + marketingFee;
    }    
    
    event AutoLiquify(uint256 amountETH, uint256 amountBOG);
}

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":false,"internalType":"uint256","name":"amountETH","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountBOG","type":"uint256"}],"name":"AutoLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","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":"_maxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","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":"spender","type":"address"}],"name":"approveMax","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":"clearStuckBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidityFee","type":"uint256"},{"internalType":"uint256","name":"_marketingFee","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountPercent","type":"uint256"}],"name":"setWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"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"}]

6080604052600180546001600160a01b0319908116737a250d5630b4cf539739df2c5dacb4c659f2488d179091556002805490911661dead179055620000486009600a6200048b565b620000599064174876e8006200054c565b600355606460035460646200006f91906200054c565b6200007b91906200041f565b600455600060098190556007600a819055620000979162000404565b600b556064600c55600d80546001600160a01b031916733c44b66e0eb7fb8c3c595d6c7c167b294150ddab179055600f805460ff60a01b1916600160a01b179055600354620000ea906103e8906200041f565b620000f79060056200054c565b6010553480156200010757600080fd5b5060008054336001600160a01b031991821617909155600154600e80546001600160a01b039092169190921681179091556040805163c45a015560e01b8152905163c45a015591600480820192602092909190829003018186803b1580156200016f57600080fd5b505afa15801562000184573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001aa9190620003d2565b6001600160a01b031663c9c65396600e60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200020757600080fd5b505afa1580156200021c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002429190620003d2565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152306024820152604401602060405180830381600087803b1580156200028a57600080fd5b505af11580156200029f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002c59190620003d2565b600f80546001600160a01b0319166001600160a01b03928316179055306000908152600660209081526040808320600e54851684528252808320600019905582547f67400278bcdc9ee449380ff21ac80ded66ae7cc97f07271d90728adb1761aa57805460ff1990811660019081179092559186168086526008855283862080548416831790557fc5005e4e4fea64fdf47b59895cd1a7f55e85054438d487899af69b6730d96f008054841683179055600254909616855282852080549092161790556003548484526005835281842081905590519081528392917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35062000584565b600060208284031215620003e557600080fd5b81516001600160a01b0381168114620003fd57600080fd5b9392505050565b600082198211156200041a576200041a6200056e565b500190565b6000826200043d57634e487b7160e01b600052601260045260246000fd5b500490565b600181815b80851115620004835781600019048211156200046757620004676200056e565b808516156200047557918102915b93841c939080029062000447565b509250929050565b6000620003fd60ff841683600082620004a75750600162000546565b81620004b65750600062000546565b8160018114620004cf5760028114620004da57620004fa565b600191505062000546565b60ff841115620004ee57620004ee6200056e565b50506001821b62000546565b5060208310610133831016604e8410600b84101617156200051f575081810a62000546565b6200052b838362000442565b80600019048211156200054257620005426200056e565b0290505b92915050565b60008160001904831182151516156200056957620005696200056e565b500290565b634e487b7160e01b600052601160045260246000fd5b6113bd80620005946000396000f3fe6080604052600436106101395760003560e01c80636ddd1713116100ab578063a8aa1b311161006f578063a8aa1b3114610391578063a9059cbb146103b1578063dd62ed3e146103d1578063e96fada214610417578063f1d5f51714610437578063f887ea401461045757600080fd5b80636ddd1713146102c357806370a08231146102e4578063715018a61461031a578063893d20e81461032f57806395d89b411461036157600080fd5b80632f54bf6e116100fd5780632f54bf6e1461020b578063313ce5671461023a578063364333f41461025657806352f7c9881461026d578063571ac8b01461028d5780636c0a24eb146102ad57600080fd5b80630445b6671461014557806306fdde031461016e578063095ea7b3146101a657806318160ddd146101d657806323b872dd146101eb57600080fd5b3661014057005b600080fd5b34801561015157600080fd5b5061015b60105481565b6040519081526020015b60405180910390f35b34801561017a57600080fd5b506040805180820190915260068152652d37b7b6b2b960d11b60208201525b60405161016591906111f0565b3480156101b257600080fd5b506101c66101c136600461115b565b610477565b6040519015158152602001610165565b3480156101e257600080fd5b5060035461015b565b3480156101f757600080fd5b506101c661020636600461111a565b6104e4565b34801561021757600080fd5b506101c66102263660046110a7565b6000546001600160a01b0391821691161490565b34801561024657600080fd5b5060405160098152602001610165565b34801561026257600080fd5b5061026b6105a6565b005b34801561027957600080fd5b5061026b6102883660046111a0565b6105e2565b34801561029957600080fd5b506101c66102a83660046110a7565b610630565b3480156102b957600080fd5b5061015b60045481565b3480156102cf57600080fd5b50600f546101c690600160a01b900460ff1681565b3480156102f057600080fd5b5061015b6102ff3660046110a7565b6001600160a01b031660009081526005602052604090205490565b34801561032657600080fd5b5061026b61063e565b34801561033b57600080fd5b506000546001600160a01b03165b6040516001600160a01b039091168152602001610165565b34801561036d57600080fd5b50604080518082019091526007815266122d27a7a6a2a960c91b6020820152610199565b34801561039d57600080fd5b50600f54610349906001600160a01b031681565b3480156103bd57600080fd5b506101c66103cc36600461115b565b6106ad565b3480156103dd57600080fd5b5061015b6103ec3660046110e1565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561042357600080fd5b50600d54610349906001600160a01b031681565b34801561044357600080fd5b5061026b610452366004611187565b6106ba565b34801561046357600080fd5b50600e54610349906001600160a01b031681565b3360008181526006602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906104d29086815260200190565b60405180910390a35060015b92915050565b6001600160a01b038316600090815260066020908152604080832033845290915281205460001914610591576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b038716600090815260068252838120338252909152919091205461056c918490610705565b6001600160a01b03851660009081526006602090815260408083203384529091529020555b61059c84848461073f565b90505b9392505050565b600d546040516001600160a01b03909116904780156108fc02916000818181858888f193505050501580156105df573d6000803e3d6000fd5b50565b6000546001600160a01b031633146106155760405162461bcd60e51b815260040161060c90611245565b60405180910390fd5b6009829055600a81905561062981836112d6565b600b555050565b60006104de82600019610477565b6000546001600160a01b031633146106685760405162461bcd60e51b815260040161060c90611245565b600080546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b600061059f33848461073f565b6000546001600160a01b031633146106e45760405162461bcd60e51b815260040161060c90611245565b6103e8816003546106f59190611310565b6106ff91906112ee565b60045550565b600081848411156107295760405162461bcd60e51b815260040161060c91906111f0565b506000610736848661132f565b95945050505050565b60115460009060ff161561075f57610758848484610969565b905061059f565b600f546001600160a01b0384811691161480159061078b57506002546001600160a01b03848116911614155b15610836576001600160a01b03831660009081526008602052604090205460ff16806107dc57506004546001600160a01b0384166000908152600560205260409020546107d99084906112d6565b11155b6108365760405162461bcd60e51b815260206004820152602560248201527f5472616e7366657220616d6f756e74206578636565647320746865206261672060448201526439b4bd329760d91b606482015260840161060c565b61083e610a4f565b1561084b5761084b610aa7565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03871660009081526005909152919091205461089d918490610705565b6001600160a01b038516600090815260056020908152604080832093909355600790529081205460ff16156108d257826108dc565b6108dc8584610e71565b6001600160a01b0385166000908152600560205260409020549091506109029082610f17565b6001600160a01b0380861660008181526005602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906109569085815260200190565b60405180910390a3506001949350505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03861660009081526005909152918220546109ba918490610705565b6001600160a01b0380861660009081526005602052604080822093909355908516815220546109e99083610f17565b6001600160a01b0380851660008181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610a3d9086815260200190565b60405180910390a35060019392505050565b600f546000906001600160a01b03163314801590610a70575060115460ff16155b8015610a855750600f54600160a01b900460ff165b8015610aa257506010543060009081526005602052604090205410155b905090565b6011805460ff19166001179055601054600b54600954600091610ada91600291610ad49182908790610f76565b90610ff5565b90506000610ae88383611037565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110610b2257610b2261135c565b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015610b7657600080fd5b505afa158015610b8a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bae91906110c4565b81600181518110610bc157610bc161135c565b6001600160a01b039283166020918202929092010152600e5460405163791ac94760e01b81524792919091169063791ac94790610c0b908690600090879030904290600401611265565b600060405180830381600087803b158015610c2557600080fd5b505af1158015610c39573d6000803e3d6000fd5b505050506000610c52824761103790919063ffffffff16565b90506000610c78610c6f6002600954610ff590919063ffffffff16565b600b5490611037565b90506000610c9a6002610ad484610ad460095488610f7690919063ffffffff16565b90506000610cb783610ad4600a5487610f7690919063ffffffff16565b600d546040519192506000916001600160a01b039091169061753090849084818181858888f193505050503d8060008114610d0e576040519150601f19603f3d011682016040523d82523d6000602084013e610d13565b606091505b5050905080610d645760405162461bcd60e51b815260206004820152601e60248201527f72656365697665722072656a656374656420455448207472616e736665720000604482015260640161060c565b8815610e5b57600e5460405163f305d71960e01b8152306004820152602481018b90526000604482018190526064820152733c44b66e0eb7fb8c3c595d6c7c167b294150ddab60848201524260a48201526001600160a01b039091169063f305d71990859060c4016060604051808303818588803b158015610de557600080fd5b505af1158015610df9573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610e1e91906111c2565b505060408051858152602081018c90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b50506011805460ff191690555050505050505050565b600080610e8f600c54610ad4600b5486610f7690919063ffffffff16565b30600090815260056020526040902054909150610eac9082610f17565b30600081815260056020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610efd9085815260200190565b60405180910390a3610f0f8382611037565b949350505050565b600080610f2483856112d6565b90508381101561059f5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161060c565b600082610f85575060006104de565b6000610f918385611310565b905082610f9e85836112ee565b1461059f5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161060c565b600061059f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611079565b600061059f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610705565b6000818361109a5760405162461bcd60e51b815260040161060c91906111f0565b50600061073684866112ee565b6000602082840312156110b957600080fd5b813561059f81611372565b6000602082840312156110d657600080fd5b815161059f81611372565b600080604083850312156110f457600080fd5b82356110ff81611372565b9150602083013561110f81611372565b809150509250929050565b60008060006060848603121561112f57600080fd5b833561113a81611372565b9250602084013561114a81611372565b929592945050506040919091013590565b6000806040838503121561116e57600080fd5b823561117981611372565b946020939093013593505050565b60006020828403121561119957600080fd5b5035919050565b600080604083850312156111b357600080fd5b50508035926020909101359150565b6000806000606084860312156111d757600080fd5b8351925060208401519150604084015190509250925092565b600060208083528351808285015260005b8181101561121d57858101830151858201604001528201611201565b8181111561122f576000604083870101525b50601f01601f1916929092016040019392505050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156112b55784516001600160a01b031683529383019391830191600101611290565b50506001600160a01b03969096166060850152505050608001529392505050565b600082198211156112e9576112e9611346565b500190565b60008261130b57634e487b7160e01b600052601260045260246000fd5b500490565b600081600019048311821515161561132a5761132a611346565b500290565b60008282101561134157611341611346565b500390565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b03811681146105df57600080fdfea2646970667358221220c2eea0ea988c22f0aeb57591d5afc2b26631fbba0112d79951789930185653cc64736f6c63430008050033

Deployed Bytecode

0x6080604052600436106101395760003560e01c80636ddd1713116100ab578063a8aa1b311161006f578063a8aa1b3114610391578063a9059cbb146103b1578063dd62ed3e146103d1578063e96fada214610417578063f1d5f51714610437578063f887ea401461045757600080fd5b80636ddd1713146102c357806370a08231146102e4578063715018a61461031a578063893d20e81461032f57806395d89b411461036157600080fd5b80632f54bf6e116100fd5780632f54bf6e1461020b578063313ce5671461023a578063364333f41461025657806352f7c9881461026d578063571ac8b01461028d5780636c0a24eb146102ad57600080fd5b80630445b6671461014557806306fdde031461016e578063095ea7b3146101a657806318160ddd146101d657806323b872dd146101eb57600080fd5b3661014057005b600080fd5b34801561015157600080fd5b5061015b60105481565b6040519081526020015b60405180910390f35b34801561017a57600080fd5b506040805180820190915260068152652d37b7b6b2b960d11b60208201525b60405161016591906111f0565b3480156101b257600080fd5b506101c66101c136600461115b565b610477565b6040519015158152602001610165565b3480156101e257600080fd5b5060035461015b565b3480156101f757600080fd5b506101c661020636600461111a565b6104e4565b34801561021757600080fd5b506101c66102263660046110a7565b6000546001600160a01b0391821691161490565b34801561024657600080fd5b5060405160098152602001610165565b34801561026257600080fd5b5061026b6105a6565b005b34801561027957600080fd5b5061026b6102883660046111a0565b6105e2565b34801561029957600080fd5b506101c66102a83660046110a7565b610630565b3480156102b957600080fd5b5061015b60045481565b3480156102cf57600080fd5b50600f546101c690600160a01b900460ff1681565b3480156102f057600080fd5b5061015b6102ff3660046110a7565b6001600160a01b031660009081526005602052604090205490565b34801561032657600080fd5b5061026b61063e565b34801561033b57600080fd5b506000546001600160a01b03165b6040516001600160a01b039091168152602001610165565b34801561036d57600080fd5b50604080518082019091526007815266122d27a7a6a2a960c91b6020820152610199565b34801561039d57600080fd5b50600f54610349906001600160a01b031681565b3480156103bd57600080fd5b506101c66103cc36600461115b565b6106ad565b3480156103dd57600080fd5b5061015b6103ec3660046110e1565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561042357600080fd5b50600d54610349906001600160a01b031681565b34801561044357600080fd5b5061026b610452366004611187565b6106ba565b34801561046357600080fd5b50600e54610349906001600160a01b031681565b3360008181526006602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906104d29086815260200190565b60405180910390a35060015b92915050565b6001600160a01b038316600090815260066020908152604080832033845290915281205460001914610591576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b038716600090815260068252838120338252909152919091205461056c918490610705565b6001600160a01b03851660009081526006602090815260408083203384529091529020555b61059c84848461073f565b90505b9392505050565b600d546040516001600160a01b03909116904780156108fc02916000818181858888f193505050501580156105df573d6000803e3d6000fd5b50565b6000546001600160a01b031633146106155760405162461bcd60e51b815260040161060c90611245565b60405180910390fd5b6009829055600a81905561062981836112d6565b600b555050565b60006104de82600019610477565b6000546001600160a01b031633146106685760405162461bcd60e51b815260040161060c90611245565b600080546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b600061059f33848461073f565b6000546001600160a01b031633146106e45760405162461bcd60e51b815260040161060c90611245565b6103e8816003546106f59190611310565b6106ff91906112ee565b60045550565b600081848411156107295760405162461bcd60e51b815260040161060c91906111f0565b506000610736848661132f565b95945050505050565b60115460009060ff161561075f57610758848484610969565b905061059f565b600f546001600160a01b0384811691161480159061078b57506002546001600160a01b03848116911614155b15610836576001600160a01b03831660009081526008602052604090205460ff16806107dc57506004546001600160a01b0384166000908152600560205260409020546107d99084906112d6565b11155b6108365760405162461bcd60e51b815260206004820152602560248201527f5472616e7366657220616d6f756e74206578636565647320746865206261672060448201526439b4bd329760d91b606482015260840161060c565b61083e610a4f565b1561084b5761084b610aa7565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03871660009081526005909152919091205461089d918490610705565b6001600160a01b038516600090815260056020908152604080832093909355600790529081205460ff16156108d257826108dc565b6108dc8584610e71565b6001600160a01b0385166000908152600560205260409020549091506109029082610f17565b6001600160a01b0380861660008181526005602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906109569085815260200190565b60405180910390a3506001949350505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03861660009081526005909152918220546109ba918490610705565b6001600160a01b0380861660009081526005602052604080822093909355908516815220546109e99083610f17565b6001600160a01b0380851660008181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610a3d9086815260200190565b60405180910390a35060019392505050565b600f546000906001600160a01b03163314801590610a70575060115460ff16155b8015610a855750600f54600160a01b900460ff165b8015610aa257506010543060009081526005602052604090205410155b905090565b6011805460ff19166001179055601054600b54600954600091610ada91600291610ad49182908790610f76565b90610ff5565b90506000610ae88383611037565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110610b2257610b2261135c565b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015610b7657600080fd5b505afa158015610b8a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bae91906110c4565b81600181518110610bc157610bc161135c565b6001600160a01b039283166020918202929092010152600e5460405163791ac94760e01b81524792919091169063791ac94790610c0b908690600090879030904290600401611265565b600060405180830381600087803b158015610c2557600080fd5b505af1158015610c39573d6000803e3d6000fd5b505050506000610c52824761103790919063ffffffff16565b90506000610c78610c6f6002600954610ff590919063ffffffff16565b600b5490611037565b90506000610c9a6002610ad484610ad460095488610f7690919063ffffffff16565b90506000610cb783610ad4600a5487610f7690919063ffffffff16565b600d546040519192506000916001600160a01b039091169061753090849084818181858888f193505050503d8060008114610d0e576040519150601f19603f3d011682016040523d82523d6000602084013e610d13565b606091505b5050905080610d645760405162461bcd60e51b815260206004820152601e60248201527f72656365697665722072656a656374656420455448207472616e736665720000604482015260640161060c565b8815610e5b57600e5460405163f305d71960e01b8152306004820152602481018b90526000604482018190526064820152733c44b66e0eb7fb8c3c595d6c7c167b294150ddab60848201524260a48201526001600160a01b039091169063f305d71990859060c4016060604051808303818588803b158015610de557600080fd5b505af1158015610df9573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610e1e91906111c2565b505060408051858152602081018c90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b50506011805460ff191690555050505050505050565b600080610e8f600c54610ad4600b5486610f7690919063ffffffff16565b30600090815260056020526040902054909150610eac9082610f17565b30600081815260056020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610efd9085815260200190565b60405180910390a3610f0f8382611037565b949350505050565b600080610f2483856112d6565b90508381101561059f5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161060c565b600082610f85575060006104de565b6000610f918385611310565b905082610f9e85836112ee565b1461059f5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161060c565b600061059f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611079565b600061059f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610705565b6000818361109a5760405162461bcd60e51b815260040161060c91906111f0565b50600061073684866112ee565b6000602082840312156110b957600080fd5b813561059f81611372565b6000602082840312156110d657600080fd5b815161059f81611372565b600080604083850312156110f457600080fd5b82356110ff81611372565b9150602083013561110f81611372565b809150509250929050565b60008060006060848603121561112f57600080fd5b833561113a81611372565b9250602084013561114a81611372565b929592945050506040919091013590565b6000806040838503121561116e57600080fd5b823561117981611372565b946020939093013593505050565b60006020828403121561119957600080fd5b5035919050565b600080604083850312156111b357600080fd5b50508035926020909101359150565b6000806000606084860312156111d757600080fd5b8351925060208401519150604084015190509250925092565b600060208083528351808285015260005b8181101561121d57858101830151858201604001528201611201565b8181111561122f576000604083870101525b50601f01601f1916929092016040019392505050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156112b55784516001600160a01b031683529383019391830191600101611290565b50506001600160a01b03969096166060850152505050608001529392505050565b600082198211156112e9576112e9611346565b500190565b60008261130b57634e487b7160e01b600052601260045260246000fd5b500490565b600081600019048311821515161561132a5761132a611346565b500290565b60008282101561134157611341611346565b500390565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b03811681146105df57600080fdfea2646970667358221220c2eea0ea988c22f0aeb57591d5afc2b26631fbba0112d79951789930185653cc64736f6c63430008050033

Deployed Bytecode Sourcemap

5366:7749:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6377:54;;;;;;;;;;;;;;;;;;;6498:25:1;;;6486:2;6471:18;6377:54:0;;;;;;;;7462:80;;;;;;;;;;-1:-1:-1;7534:5:0;;;;;;;;;;;;-1:-1:-1;;;7534:5:0;;;;7462:80;;;;;;;:::i;7884:216::-;;;;;;;;;;-1:-1:-1;7884:216:0;;;;;:::i;:::-;;:::i;:::-;;;3640:14:1;;3633:22;3615:41;;3603:2;3588:18;7884:216:0;3570:92:1;7192:88:0;;;;;;;;;;-1:-1:-1;7265:12:0;;7192:88;;8402:370;;;;;;;;;;-1:-1:-1;8402:370:0;;;;;:::i;:::-;;:::i;3604:103::-;;;;;;;;;;-1:-1:-1;3604:103:0;;;;;:::i;:::-;3659:4;3694:5;-1:-1:-1;;;;;3683:16:0;;;3694:5;;3683:16;;3604:103;7286:80;;;;;;;;;;-1:-1:-1;7286:80:0;;5686:1;7914:36:1;;7902:2;7887:18;7286:80:0;7869:87:1;12544:118:0;;;;;;;;;;;;;:::i;:::-;;12820:220;;;;;;;;;;-1:-1:-1;12820:220:0;;;;;:::i;:::-;;:::i;8108:122::-;;;;;;;;;;-1:-1:-1;8108:122:0;;;;;:::i;:::-;;:::i;5761:60::-;;;;;;;;;;;;;;;;6340:30;;;;;;;;;;-1:-1:-1;6340:30:0;;;;-1:-1:-1;;;6340:30:0;;;;;;7632:105;;;;;;;;;;-1:-1:-1;7632:105:0;;;;;:::i;:::-;-1:-1:-1;;;;;7716:18:0;7698:7;7716:18;;;:9;:18;;;;;;;7632:105;3713:131;;;;;;;;;;;;;:::i;7548:78::-;;;;;;;;;;-1:-1:-1;7600:7:0;7618:5;-1:-1:-1;;;;;7618:5:0;7548:78;;;-1:-1:-1;;;;;2819:32:1;;;2801:51;;2789:2;2774:18;7548:78:0;2756:102:1;7372:84:0;;;;;;;;;;-1:-1:-1;7446:7:0;;;;;;;;;;;;-1:-1:-1;;;7446:7:0;;;;7372:84;;6312:19;;;;;;;;;;-1:-1:-1;6312:19:0;;;;-1:-1:-1;;;;;6312:19:0;;;8238:156;;;;;;;;;;-1:-1:-1;8238:156:0;;;;;:::i;:::-;;:::i;7743:133::-;;;;;;;;;;-1:-1:-1;7743:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;7845:19:0;;;7827:7;7845:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;7743:133;6192:80;;;;;;;;;;-1:-1:-1;6192:80:0;;;;-1:-1:-1;;;;;6192:80:0;;;12670:142;;;;;;;;;;-1:-1:-1;12670:142:0;;;;;:::i;:::-;;:::i;6281:24::-;;;;;;;;;;-1:-1:-1;6281:24:0;;;;-1:-1:-1;;;;;6281:24:0;;;7884:216;7988:10;7959:4;7976:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;7976:32:0;;;;;;;;;;:41;;;8033:37;7959:4;;7976:32;;8033:37;;;;8011:6;6498:25:1;;6486:2;6471:18;;6453:76;8033:37:0;;;;;;;;-1:-1:-1;8088:4:0;7884:216;;;;;:::o;8402:370::-;-1:-1:-1;;;;;8522:19:0;;8502:4;8522:19;;;:11;:19;;;;;;;;8542:10;8522:31;;;;;;;;-1:-1:-1;;8522:52:0;8519:186;;8624:69;;;;;;;;;;;-1:-1:-1;;;8624:69:0;;;;;;;;-1:-1:-1;;;;;8624:19:0;;-1:-1:-1;8624:19:0;;;:11;:19;;;;;8644:10;8624:31;;;;;;;;;;:69;;8660:6;;8624:35;:69::i;:::-;-1:-1:-1;;;;;8590:19:0;;;;;;:11;:19;;;;;;;;8610:10;8590:31;;;;;;;:103;8519:186;8724:40;8738:6;8746:9;8757:6;8724:13;:40::i;:::-;8717:47;;8402:370;;;;;;:::o;12544:118::-;12601:20;;12593:61;;-1:-1:-1;;;;;12601:20:0;;;;12632:21;12593:61;;;;;12601:20;12593:61;12601:20;12593:61;12632:21;12601:20;12593:61;;;;;;;;;;;;;;;;;;;;;12544:118::o;12820:220::-;3659:4;3694:5;-1:-1:-1;;;;;3694:5:0;3565:10;3683:16;3549:38;;;;-1:-1:-1;;;3549:38:0;;;;;;;:::i;:::-;;;;;;;;;12913:12:::1;:28:::0;;;12954:12:::1;:28:::0;;;13005:27:::1;12969:13:::0;12928;13005:27:::1;:::i;:::-;12994:8;:38:::0;-1:-1:-1;;12820:220:0:o;8108:122::-;8163:4;8187:35;8195:7;-1:-1:-1;;8187:7:0;:35::i;3713:131::-;3659:4;3694:5;-1:-1:-1;;;;;3694:5:0;3565:10;3683:16;3549:38;;;;-1:-1:-1;;;3549:38:0;;;;;;;:::i;:::-;3786:1:::1;3770:18:::0;;-1:-1:-1;;;;;;3770:18:0::1;::::0;;3804:32:::1;::::0;2801:51:1;;;3804:32:0::1;::::0;2789:2:1;2774:18;3804:32:0::1;;;;;;;3713:131::o:0;8238:156::-;8318:4;8342:44;8356:10;8368:9;8379:6;8342:13;:44::i;12670:142::-;3659:4;3694:5;-1:-1:-1;;;;;3694:5:0;3565:10;3683:16;3549:38;;;;-1:-1:-1;;;3549:38:0;;;;;;;:::i;:::-;12800:4:::1;12782:13;12767:12;;:28;;;;:::i;:::-;12766:38;;;;:::i;:::-;12747:16;:57:::0;-1:-1:-1;12670:142:0:o;1693:190::-;1779:7;1815:12;1807:6;;;;1799:29;;;;-1:-1:-1;;;1799:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1839:9:0;1851:5;1855:1;1851;:5;:::i;:::-;1839:17;1693:190;-1:-1:-1;;;;;1693:190:0:o;8780:792::-;8892:6;;8872:4;;8892:6;;8889:63;;;8908:41;8923:6;8931:9;8942:6;8908:14;:41::i;:::-;8901:48;;;;8889:63;8989:4;;-1:-1:-1;;;;;8976:17:0;;;8989:4;;8976:17;;;;:38;;-1:-1:-1;9010:4:0;;-1:-1:-1;;;;;8997:17:0;;;9010:4;;8997:17;;8976:38;8972:200;;;-1:-1:-1;;;;;9039:26:0;;;;;;:15;:26;;;;;;;;;:79;;-1:-1:-1;9102:16:0;;-1:-1:-1;;;;;9069:20:0;;;;;;:9;:20;;;;;;:29;;9092:6;;9069:29;:::i;:::-;:49;;9039:79;9031:129;;;;-1:-1:-1;;;9031:129:0;;4697:2:1;9031:129:0;;;4679:21:1;4736:2;4716:18;;;4709:30;4775:34;4755:18;;;4748:62;-1:-1:-1;;;4826:18:1;;;4819:35;4871:19;;9031:129:0;4669:227:1;9031:129:0;9195:16;:14;:16::i;:::-;9192:35;;;9214:10;:8;:10::i;:::-;9260:53;;;;;;;;;;;-1:-1:-1;;;9260:53:0;;;;;;;;-1:-1:-1;;;;;9260:17:0;;-1:-1:-1;9260:17:0;;;:9;:17;;;;;;;;:53;;9282:6;;9260:21;:53::i;:::-;-1:-1:-1;;;;;9240:17:0;;;;;;:9;:17;;;;;;;;:73;;;;10009:11;:19;;;;;;;;10008:20;9351:56;;9401:6;9351:56;;;9375:23;9383:6;9391;9375:7;:23::i;:::-;-1:-1:-1;;;;;9441:20:0;;;;;;:9;:20;;;;;;9326:81;;-1:-1:-1;9441:40:0;;9326:81;9441:24;:40::i;:::-;-1:-1:-1;;;;;9418:20:0;;;;;;;:9;:20;;;;;;;:63;;;;9499:43;;;;;;;;;;9527:14;6498:25:1;;6486:2;6471:18;;6453:76;9499:43:0;;;;;;;;-1:-1:-1;9560:4:0;;8780:792;-1:-1:-1;;;;8780:792:0:o;9584:330::-;9714:53;;;;;;;;;;;-1:-1:-1;;;9714:53:0;;;;;;;;-1:-1:-1;;;;;9714:17:0;;9677:4;9714:17;;;:9;:17;;;;;;;:53;;9736:6;;9714:21;:53::i;:::-;-1:-1:-1;;;;;9694:17:0;;;;;;;:9;:17;;;;;;:73;;;;9801:20;;;;;;;:32;;9826:6;9801:24;:32::i;:::-;-1:-1:-1;;;;;9778:20:0;;;;;;;:9;:20;;;;;;;:55;;;;9849:35;;;;;;;;;;9877:6;6498:25:1;;6486:2;6471:18;;6453:76;9849:35:0;;;;;;;;-1:-1:-1;9902:4:0;9584:330;;;;;:::o;10381:197::-;10468:4;;10430;;-1:-1:-1;;;;;10468:4:0;10454:10;:18;;;;:38;;-1:-1:-1;10486:6:0;;;;10485:7;10454:38;:62;;;;-1:-1:-1;10505:11:0;;-1:-1:-1;;;10505:11:0;;;;10454:62;:116;;;;-1:-1:-1;10557:13:0;;10547:4;10529:24;;;;:9;:24;;;;;;:41;;10454:116;10447:123;;10381:197;:::o;10586:1572::-;6486:6;:13;;-1:-1:-1;;6486:13:0;6495:4;6486:13;;;10666::::1;::::0;10759:8:::1;::::0;10741:12:::1;::::0;6486:6;;10716:59:::1;::::0;10773:1:::1;::::0;10716:52:::1;::::0;;;10666:13;;10716:24:::1;:38::i;:::-;:42:::0;::::1;:52::i;:59::-;10690:85:::0;-1:-1:-1;10786:20:0::1;10809:41;:20:::0;10690:85;10809:24:::1;:41::i;:::-;10887:16;::::0;;10901:1:::1;10887:16:::0;;;;;::::1;::::0;;10786:64;;-1:-1:-1;10863:21:0::1;::::0;10887:16;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10887:16:0::1;10863:40;;10932:4;10914;10919:1;10914:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10914:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10958:6:::1;::::0;:13:::1;::::0;;-1:-1:-1;;;10958:13:0;;;;:6;;;::::1;::::0;:11:::1;::::0;:13:::1;::::0;;::::1;::::0;10914:7;;10958:13;;;;;:6;:13;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10948:4;10953:1;10948:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10948:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;11042:6:::1;::::0;:188:::1;::::0;-1:-1:-1;;;11042:188:0;;11008:21:::1;::::0;11042:6;;;::::1;::::0;:57:::1;::::0;:188:::1;::::0;11114:12;;10984:21:::1;::::0;11157:4;;11184::::1;::::0;11204:15:::1;::::0;11042:188:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;11241:17;11261:40;11287:13;11261:21;:25;;:40;;;;:::i;:::-;11241:60;;11312:19;11334:33;11347:19;11364:1;11347:12;;:16;;:19;;;;:::i;:::-;11334:8;::::0;;:12:::1;:33::i;:::-;11312:55;;11378:26;11407:51;11456:1;11407:44;11439:11;11407:27;11421:12;;11407:9;:13;;:27;;;;:::i;:51::-;11378:80;;11469:26;11498:44;11530:11;11498:27;11512:12;;11498:9;:13;;:27;;;;:::i;:44::-;11616:20;::::0;11608:77:::1;::::0;11469:73;;-1:-1:-1;11558:21:0::1;::::0;-1:-1:-1;;;;;11616:20:0;;::::1;::::0;11675:5:::1;::::0;11469:73;;11558:21;11608:77;11558:21;11608:77;11469:73;11616:20;11675:5;11608:77:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11557:128;;;11704:16;11696:59;;;::::0;-1:-1:-1;;;11696:59:0;;5459:2:1;11696:59:0::1;::::0;::::1;5441:21:1::0;5498:2;5478:18;;;5471:30;5537:32;5517:18;;;5510:60;5587:18;;11696:59:0::1;5431:180:1::0;11696:59:0::1;11771:19:::0;;11768:383:::1;;11806:6;::::0;:265:::1;::::0;-1:-1:-1;;;11806:265:0;;11882:4:::1;11806:265;::::0;::::1;3204:34:1::0;3254:18;;;3247:34;;;11806:6:0::1;3297:18:1::0;;;3290:34;;;3340:18;;;3333:34;11980:42:0::1;3383:19:1::0;;;3376:44;12041:15:0::1;3436:19:1::0;;;3429:35;-1:-1:-1;;;;;11806:6:0;;::::1;::::0;:22:::1;::::0;11836:18;;3138:19:1;;11806:265:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;12091:48:0::1;::::0;;7693:25:1;;;7749:2;7734:18;;7727:34;;;12091:48:0::1;::::0;-1:-1:-1;7666:18:1;12091:48:0::1;;;;;;;11768:383;-1:-1:-1::0;;6504:6:0;:14;;-1:-1:-1;;6504:14:0;;;-1:-1:-1;;;;;;;;10586:1572:0:o;10044:329::-;10111:7;10131:17;10151:40;10176:14;;10151:20;10162:8;;10151:6;:10;;:20;;;;:::i;:40::-;10247:4;10229:24;;;;:9;:24;;;;;;10131:60;;-1:-1:-1;10229:39:0;;10131:60;10229:28;:39::i;:::-;10220:4;10202:24;;;;:9;:24;;;;;;;:66;;;;10284:42;;-1:-1:-1;;;;;10284:42:0;;;;;;;10316:9;6498:25:1;;6486:2;6471:18;;6453:76;10284:42:0;;;;;;;;10344:21;:6;10355:9;10344:10;:21::i;:::-;10337:28;10044:329;-1:-1:-1;;;;10044:329:0:o;1366:179::-;1424:7;;1456:5;1460:1;1456;:5;:::i;:::-;1444:17;;1485:1;1480;:6;;1472:46;;;;-1:-1:-1;;;1472:46:0;;5103:2:1;1472:46:0;;;5085:21:1;5142:2;5122:18;;;5115:30;5181:29;5161:18;;;5154:57;5228:18;;1472:46:0;5075:177:1;1889:246:0;1947:7;1971:6;1967:47;;-1:-1:-1;2001:1:0;1994:8;;1967:47;2024:9;2036:5;2040:1;2036;:5;:::i;:::-;2024:17;-1:-1:-1;2069:1:0;2060:5;2064:1;2024:17;2060:5;:::i;:::-;:10;2052:56;;;;-1:-1:-1;;;2052:56:0;;5818:2:1;2052:56:0;;;5800:21:1;5857:2;5837:18;;;5830:30;5896:34;5876:18;;;5869:62;-1:-1:-1;;;5947:18:1;;;5940:31;5988:19;;2052:56:0;5790:223:1;2141:132:0;2199:7;2226:39;2230:1;2233;2226:39;;;;;;;;;;;;;;;;;:3;:39::i;1551:136::-;1609:7;1636:43;1640:1;1643;1636:43;;;;;;;;;;;;;;;;;:3;:43::i;2279:189::-;2365:7;2400:12;2393:5;2385:28;;;;-1:-1:-1;;;2385:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2424:9:0;2436:5;2440:1;2436;:5;:::i;14:247:1:-;73:6;126:2;114:9;105:7;101:23;97:32;94:2;;;142:1;139;132:12;94:2;181:9;168:23;200:31;225:5;200:31;:::i;266:251::-;336:6;389:2;377:9;368:7;364:23;360:32;357:2;;;405:1;402;395:12;357:2;437:9;431:16;456:31;481:5;456:31;:::i;522:388::-;590:6;598;651:2;639:9;630:7;626:23;622:32;619:2;;;667:1;664;657:12;619:2;706:9;693:23;725:31;750:5;725:31;:::i;:::-;775:5;-1:-1:-1;832:2:1;817:18;;804:32;845:33;804:32;845:33;:::i;:::-;897:7;887:17;;;609:301;;;;;:::o;915:456::-;992:6;1000;1008;1061:2;1049:9;1040:7;1036:23;1032:32;1029:2;;;1077:1;1074;1067:12;1029:2;1116:9;1103:23;1135:31;1160:5;1135:31;:::i;:::-;1185:5;-1:-1:-1;1242:2:1;1227:18;;1214:32;1255:33;1214:32;1255:33;:::i;:::-;1019:352;;1307:7;;-1:-1:-1;;;1361:2:1;1346:18;;;;1333:32;;1019:352::o;1376:315::-;1444:6;1452;1505:2;1493:9;1484:7;1480:23;1476:32;1473:2;;;1521:1;1518;1511:12;1473:2;1560:9;1547:23;1579:31;1604:5;1579:31;:::i;:::-;1629:5;1681:2;1666:18;;;;1653:32;;-1:-1:-1;;;1463:228:1:o;1696:180::-;1755:6;1808:2;1796:9;1787:7;1783:23;1779:32;1776:2;;;1824:1;1821;1814:12;1776:2;-1:-1:-1;1847:23:1;;1766:110;-1:-1:-1;1766:110:1:o;1881:248::-;1949:6;1957;2010:2;1998:9;1989:7;1985:23;1981:32;1978:2;;;2026:1;2023;2016:12;1978:2;-1:-1:-1;;2049:23:1;;;2119:2;2104:18;;;2091:32;;-1:-1:-1;1968:161:1:o;2134:306::-;2222:6;2230;2238;2291:2;2279:9;2270:7;2266:23;2262:32;2259:2;;;2307:1;2304;2297:12;2259:2;2336:9;2330:16;2320:26;;2386:2;2375:9;2371:18;2365:25;2355:35;;2430:2;2419:9;2415:18;2409:25;2399:35;;2249:191;;;;;:::o;3893:597::-;4005:4;4034:2;4063;4052:9;4045:21;4095:6;4089:13;4138:6;4133:2;4122:9;4118:18;4111:34;4163:1;4173:140;4187:6;4184:1;4181:13;4173:140;;;4282:14;;;4278:23;;4272:30;4248:17;;;4267:2;4244:26;4237:66;4202:10;;4173:140;;;4331:6;4328:1;4325:13;4322:2;;;4401:1;4396:2;4387:6;4376:9;4372:22;4368:31;4361:42;4322:2;-1:-1:-1;4474:2:1;4453:15;-1:-1:-1;;4449:29:1;4434:45;;;;4481:2;4430:54;;4014:476;-1:-1:-1;;;4014:476:1:o;6018:329::-;6220:2;6202:21;;;6259:1;6239:18;;;6232:29;-1:-1:-1;;;6292:2:1;6277:18;;6270:36;6338:2;6323:18;;6192:155::o;6534:980::-;6796:4;6844:3;6833:9;6829:19;6875:6;6864:9;6857:25;6901:2;6939:6;6934:2;6923:9;6919:18;6912:34;6982:3;6977:2;6966:9;6962:18;6955:31;7006:6;7041;7035:13;7072:6;7064;7057:22;7110:3;7099:9;7095:19;7088:26;;7149:2;7141:6;7137:15;7123:29;;7170:1;7180:195;7194:6;7191:1;7188:13;7180:195;;;7259:13;;-1:-1:-1;;;;;7255:39:1;7243:52;;7350:15;;;;7315:12;;;;7291:1;7209:9;7180:195;;;-1:-1:-1;;;;;;;7431:32:1;;;;7426:2;7411:18;;7404:60;-1:-1:-1;;;7495:3:1;7480:19;7473:35;7392:3;6805:709;-1:-1:-1;;;6805:709:1:o;7961:128::-;8001:3;8032:1;8028:6;8025:1;8022:13;8019:2;;;8038:18;;:::i;:::-;-1:-1:-1;8074:9:1;;8009:80::o;8094:217::-;8134:1;8160;8150:2;;8204:10;8199:3;8195:20;8192:1;8185:31;8239:4;8236:1;8229:15;8267:4;8264:1;8257:15;8150:2;-1:-1:-1;8296:9:1;;8140:171::o;8316:168::-;8356:7;8422:1;8418;8414:6;8410:14;8407:1;8404:21;8399:1;8392:9;8385:17;8381:45;8378:2;;;8429:18;;:::i;:::-;-1:-1:-1;8469:9:1;;8368:116::o;8489:125::-;8529:4;8557:1;8554;8551:8;8548:2;;;8562:18;;:::i;:::-;-1:-1:-1;8599:9:1;;8538:76::o;8619:127::-;8680:10;8675:3;8671:20;8668:1;8661:31;8711:4;8708:1;8701:15;8735:4;8732:1;8725:15;8751:127;8812:10;8807:3;8803:20;8800:1;8793:31;8843:4;8840:1;8833:15;8867:4;8864:1;8857:15;9015:131;-1:-1:-1;;;;;9090:31:1;;9080:42;;9070:2;;9136:1;9133;9126:12

Swarm Source

ipfs://c2eea0ea988c22f0aeb57591d5afc2b26631fbba0112d79951789930185653cc

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.