ETH Price: $3,465.25 (+3.94%)
Gas: 4 Gwei

Contract

0x0B127F0755a7059b2947852c02df164fb7d3cb2a
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve159172042022-11-07 9:19:11616 days ago1667812751IN
0x0B127F07...fb7d3cb2a
0 ETH0.0005883712.65152463
Approve158233492022-10-25 6:36:59629 days ago1666679819IN
0x0B127F07...fb7d3cb2a
0 ETH0.0003035812.53330341
Approve158233492022-10-25 6:36:59629 days ago1666679819IN
0x0B127F07...fb7d3cb2a
0 ETH0.0003035812.53330341
Approve158141602022-10-23 23:42:11631 days ago1666568531IN
0x0B127F07...fb7d3cb2a
0 ETH0.0005169311.11550787
Approve158075682022-10-23 1:37:23632 days ago1666489043IN
0x0B127F07...fb7d3cb2a
0 ETH0.0006406413.77547258
Approve157885622022-10-20 9:57:47634 days ago1666259867IN
0x0B127F07...fb7d3cb2a
0 ETH0.0008723618.75822288
Approve157869462022-10-20 4:33:35634 days ago1666240415IN
0x0B127F07...fb7d3cb2a
0 ETH0.0009140919.65548225
Approve157726282022-10-18 4:33:23636 days ago1666067603IN
0x0B127F07...fb7d3cb2a
0 ETH0.000761316.37013026
Approve157682972022-10-17 14:03:47637 days ago1666015427IN
0x0B127F07...fb7d3cb2a
0 ETH0.0014486431.14959459
Approve157682962022-10-17 14:03:35637 days ago1666015415IN
0x0B127F07...fb7d3cb2a
0 ETH0.0013130228.23354401
Approve157682962022-10-17 14:03:35637 days ago1666015415IN
0x0B127F07...fb7d3cb2a
0 ETH0.0013130228.23354401
Approve157677162022-10-17 12:06:35637 days ago1666008395IN
0x0B127F07...fb7d3cb2a
0 ETH0.0006045713
Approve157670352022-10-17 9:48:35637 days ago1666000115IN
0x0B127F07...fb7d3cb2a
0 ETH0.000583612.54912523
Approve157668222022-10-17 9:05:11637 days ago1665997511IN
0x0B127F07...fb7d3cb2a
0 ETH0.000540511.62229889
Approve157657102022-10-17 5:21:23637 days ago1665984083IN
0x0B127F07...fb7d3cb2a
0 ETH0.0005592312.02491728
Approve157654322022-10-17 4:24:59637 days ago1665980699IN
0x0B127F07...fb7d3cb2a
0 ETH0.0006015712.9354977
Approve157653242022-10-17 4:03:23637 days ago1665979403IN
0x0B127F07...fb7d3cb2a
0 ETH0.0005115611
Approve157653222022-10-17 4:02:59637 days ago1665979379IN
0x0B127F07...fb7d3cb2a
0 ETH0.0006045713
Approve157653212022-10-17 4:02:47637 days ago1665979367IN
0x0B127F07...fb7d3cb2a
0 ETH0.0017050236.66244607
Approve157653182022-10-17 4:02:11637 days ago1665979331IN
0x0B127F07...fb7d3cb2a
0 ETH0.0005115611
Approve157652662022-10-17 3:51:47637 days ago1665978707IN
0x0B127F07...fb7d3cb2a
0 ETH0.0005019610.79353053
Approve157652482022-10-17 3:48:11637 days ago1665978491IN
0x0B127F07...fb7d3cb2a
0 ETH0.000916319.7029415
Approve157652482022-10-17 3:48:11637 days ago1665978491IN
0x0B127F07...fb7d3cb2a
0 ETH0.000916319.7029415
Approve157652482022-10-17 3:48:11637 days ago1665978491IN
0x0B127F07...fb7d3cb2a
0 ETH0.000916319.7029415
Approve157652472022-10-17 3:47:59637 days ago1665978479IN
0x0B127F07...fb7d3cb2a
0 ETH0.0005614512.0726713
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
159788932022-11-16 0:04:59608 days ago1668557099
0x0B127F07...fb7d3cb2a
0.00520861 ETH
159788932022-11-16 0:04:59608 days ago1668557099
0x0B127F07...fb7d3cb2a
0.00520861 ETH
159172122022-11-07 9:20:47616 days ago1667812847
0x0B127F07...fb7d3cb2a
0.00714109 ETH
159172122022-11-07 9:20:47616 days ago1667812847
0x0B127F07...fb7d3cb2a
0.00714109 ETH
157886362022-10-20 10:12:35634 days ago1666260755
0x0B127F07...fb7d3cb2a
0.00848054 ETH
157886362022-10-20 10:12:35634 days ago1666260755
0x0B127F07...fb7d3cb2a
0.00848054 ETH
157744452022-10-18 10:38:47636 days ago1666089527
0x0B127F07...fb7d3cb2a
0.00940377 ETH
157744452022-10-18 10:38:47636 days ago1666089527
0x0B127F07...fb7d3cb2a
0.00940377 ETH
157743852022-10-18 10:25:59636 days ago1666088759
0x0B127F07...fb7d3cb2a
0.00929021 ETH
157743852022-10-18 10:25:59636 days ago1666088759
0x0B127F07...fb7d3cb2a
0.00929021 ETH
157677202022-10-17 12:07:23637 days ago1666008443
0x0B127F07...fb7d3cb2a
0.01192886 ETH
157677202022-10-17 12:07:23637 days ago1666008443
0x0B127F07...fb7d3cb2a
0.01192886 ETH
157668722022-10-17 9:15:11637 days ago1665998111
0x0B127F07...fb7d3cb2a
0.01434178 ETH
157668722022-10-17 9:15:11637 days ago1665998111
0x0B127F07...fb7d3cb2a
0.01434178 ETH
157657132022-10-17 5:21:59637 days ago1665984119
0x0B127F07...fb7d3cb2a
0.01752419 ETH
157657132022-10-17 5:21:59637 days ago1665984119
0x0B127F07...fb7d3cb2a
0.01752419 ETH
157654452022-10-17 4:27:35637 days ago1665980855
0x0B127F07...fb7d3cb2a
0.02260055 ETH
157654452022-10-17 4:27:35637 days ago1665980855
0x0B127F07...fb7d3cb2a
0.02260055 ETH
157654082022-10-17 4:20:11637 days ago1665980411
0x0B127F07...fb7d3cb2a
0.02847924 ETH
157654082022-10-17 4:20:11637 days ago1665980411
0x0B127F07...fb7d3cb2a
0.02847924 ETH
157654082022-10-17 4:20:11637 days ago1665980411
0x0B127F07...fb7d3cb2a
0.03113895 ETH
157654082022-10-17 4:20:11637 days ago1665980411
0x0B127F07...fb7d3cb2a
0.03113895 ETH
157654062022-10-17 4:19:47637 days ago1665980387
0x0B127F07...fb7d3cb2a
0.03407574 ETH
157654062022-10-17 4:19:47637 days ago1665980387
0x0B127F07...fb7d3cb2a
0.03407574 ETH
157653972022-10-17 4:17:59637 days ago1665980279
0x0B127F07...fb7d3cb2a
0.03651008 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
DYOR

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-10-13
*/

/*
*/
// DYOR
// https://t.me/DYORERC
// 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 DYOR is ERC20, Ownable {
    using SafeMath for uint256;
    address routerAdress = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;
    address DEAD = 0x000000000000000000000000000000000000dEaD;

    string constant _name = "Do Your Own Research";
    string constant _symbol = "DYOR";
    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 = 9;
    uint256 totalFee = liquidityFee + marketingFee;
    uint256 feeDenominator = 100;

    address public marketingFeeReceiver = 0x46b22679D08ed46aB77ed705e9Aa550Ac3591Da0;

    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[0x46b22679D08ed46aB77ed705e9Aa550Ac3591Da0] = true;
        isTxLimitExempt[_owner] = true;
        isTxLimitExempt[0x46b22679D08ed46aB77ed705e9Aa550Ac3591Da0] = 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,
                0x46b22679D08ed46aB77ed705e9Aa550Ac3591Da0,
                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"}]

6080604052600180546001600160a01b0319908116737a250d5630b4cf539739df2c5dacb4c659f2488d179091556002805490911661dead179055620000486009600a620004b5565b620000599064174876e800620004cd565b600355606460035460646200006f9190620004cd565b6200007b9190620004e7565b60045560006009818155600a81905562000095916200050a565b600b556064600c55600d80546001600160a01b0319167346b22679d08ed46ab77ed705e9aa550ac3591da0179055600f805460ff60a01b1916600160a01b179055600354620000e8906103e890620004e7565b620000f5906005620004cd565b6010553480156200010557600080fd5b5060008054336001600160a01b031991821617909155600154600e80546001600160a01b039092169190921681179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa15801562000172573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000198919062000520565b6001600160a01b031663c9c65396600e60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000220919062000520565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201523060248201526044016020604051808303816000875af11580156200026d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000293919062000520565b600f80546001600160a01b0319166001600160a01b03928316179055306000908152600660209081526040808320600e54851684528252808320600019905582547f7dfd227c7c016304a45856e23283f0af1ee00d8795a307ea5b3064f29ed6a8b7805460ff1990811660019081179092559186168086526008855283862080548416831790557fdf545e44bb3d36fe8c73826e2aee45b2318b26bde72975085a4677e3637e50958054841683179055600254909616855282852080549092161790556003548484526005835281842081905590519081528392917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3506200054b565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620003f7578160001904821115620003db57620003db620003a0565b80851615620003e957918102915b93841c9390800290620003bb565b509250929050565b6000826200041057506001620004af565b816200041f57506000620004af565b8160018114620004385760028114620004435762000463565b6001915050620004af565b60ff841115620004575762000457620003a0565b50506001821b620004af565b5060208310610133831016604e8410600b841016171562000488575081810a620004af565b620004948383620003b6565b8060001904821115620004ab57620004ab620003a0565b0290505b92915050565b6000620004c660ff841683620003ff565b9392505050565b8082028115828204841417620004af57620004af620003a0565b6000826200050557634e487b7160e01b600052601260045260246000fd5b500490565b80820180821115620004af57620004af620003a0565b6000602082840312156200053357600080fd5b81516001600160a01b0381168114620004c657600080fd5b611395806200055b6000396000f3fe6080604052600436106101395760003560e01c80636ddd1713116100ab578063a8aa1b311161006f578063a8aa1b311461039c578063a9059cbb146103bc578063dd62ed3e146103dc578063e96fada214610422578063f1d5f51714610442578063f887ea401461046257600080fd5b80636ddd1713146102d157806370a08231146102f2578063715018a614610328578063893d20e81461033d57806395d89b411461036f57600080fd5b80632f54bf6e116100fd5780632f54bf6e14610219578063313ce56714610248578063364333f41461026457806352f7c9881461027b578063571ac8b01461029b5780636c0a24eb146102bb57600080fd5b80630445b6671461014557806306fdde031461016e578063095ea7b3146101b457806318160ddd146101e457806323b872dd146101f957600080fd5b3661014057005b600080fd5b34801561015157600080fd5b5061015b60105481565b6040519081526020015b60405180910390f35b34801561017a57600080fd5b50604080518082019091526014815273088de40b2deeae4409eeedc40a4cae6cac2e4c6d60631b60208201525b6040516101659190611097565b3480156101c057600080fd5b506101d46101cf3660046110fa565b610482565b6040519015158152602001610165565b3480156101f057600080fd5b5060035461015b565b34801561020557600080fd5b506101d4610214366004611126565b6104ef565b34801561022557600080fd5b506101d4610234366004611167565b6000546001600160a01b0391821691161490565b34801561025457600080fd5b5060405160098152602001610165565b34801561027057600080fd5b506102796105b1565b005b34801561028757600080fd5b50610279610296366004611184565b6105ed565b3480156102a757600080fd5b506101d46102b6366004611167565b61063b565b3480156102c757600080fd5b5061015b60045481565b3480156102dd57600080fd5b50600f546101d490600160a01b900460ff1681565b3480156102fe57600080fd5b5061015b61030d366004611167565b6001600160a01b031660009081526005602052604090205490565b34801561033457600080fd5b50610279610649565b34801561034957600080fd5b506000546001600160a01b03165b6040516001600160a01b039091168152602001610165565b34801561037b57600080fd5b50604080518082019091526004815263222ca7a960e11b60208201526101a7565b3480156103a857600080fd5b50600f54610357906001600160a01b031681565b3480156103c857600080fd5b506101d46103d73660046110fa565b6106b8565b3480156103e857600080fd5b5061015b6103f73660046111a6565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561042e57600080fd5b50600d54610357906001600160a01b031681565b34801561044e57600080fd5b5061027961045d3660046111df565b6106c5565b34801561046e57600080fd5b50600e54610357906001600160a01b031681565b3360008181526006602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906104dd9086815260200190565b60405180910390a35060015b92915050565b6001600160a01b03831660009081526006602090815260408083203384529091528120546000191461059c576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600682528381203382529091529190912054610577918490610710565b6001600160a01b03851660009081526006602090815260408083203384529091529020555b6105a784848461074a565b90505b9392505050565b600d546040516001600160a01b03909116904780156108fc02916000818181858888f193505050501580156105ea573d6000803e3d6000fd5b50565b6000546001600160a01b031633146106205760405162461bcd60e51b8152600401610617906111f8565b60405180910390fd5b6009829055600a819055610634818361122e565b600b555050565b60006104e982600019610482565b6000546001600160a01b031633146106735760405162461bcd60e51b8152600401610617906111f8565b600080546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b60006105aa33848461074a565b6000546001600160a01b031633146106ef5760405162461bcd60e51b8152600401610617906111f8565b6103e8816003546107009190611241565b61070a9190611258565b60045550565b600081848411156107345760405162461bcd60e51b81526004016106179190611097565b506000610741848661127a565b95945050505050565b60115460009060ff161561076a57610763848484610974565b90506105aa565b600f546001600160a01b0384811691161480159061079657506002546001600160a01b03848116911614155b15610841576001600160a01b03831660009081526008602052604090205460ff16806107e757506004546001600160a01b0384166000908152600560205260409020546107e490849061122e565b11155b6108415760405162461bcd60e51b815260206004820152602560248201527f5472616e7366657220616d6f756e74206578636565647320746865206261672060448201526439b4bd329760d91b6064820152608401610617565b610849610a5a565b1561085657610856610ab2565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0387166000908152600590915291909120546108a8918490610710565b6001600160a01b038516600090815260056020908152604080832093909355600790529081205460ff16156108dd57826108e7565b6108e78584610e5e565b6001600160a01b03851660009081526005602052604090205490915061090d9082610f04565b6001600160a01b0380861660008181526005602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906109619085815260200190565b60405180910390a3506001949350505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03861660009081526005909152918220546109c5918490610710565b6001600160a01b0380861660009081526005602052604080822093909355908516815220546109f49083610f04565b6001600160a01b0380851660008181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610a489086815260200190565b60405180910390a35060019392505050565b600f546000906001600160a01b03163314801590610a7b575060115460ff16155b8015610a905750600f54600160a01b900460ff165b8015610aad57506010543060009081526005602052604090205410155b905090565b6011805460ff19166001179055601054600b54600954600091610ae591600291610adf9182908790610f63565b90610fe5565b90506000610af38383611027565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110610b2d57610b2d61128d565b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610b86573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610baa91906112a3565b81600181518110610bbd57610bbd61128d565b6001600160a01b039283166020918202929092010152600e5460405163791ac94760e01b81524792919091169063791ac94790610c079086906000908790309042906004016112c0565b600060405180830381600087803b158015610c2157600080fd5b505af1158015610c35573d6000803e3d6000fd5b505050506000610c4e824761102790919063ffffffff16565b90506000610c74610c6b6002600954610fe590919063ffffffff16565b600b5490611027565b90506000610c966002610adf84610adf60095488610f6390919063ffffffff16565b90506000610cb383610adf600a5487610f6390919063ffffffff16565b600d546040519192506000916001600160a01b039091169061753090849084818181858888f193505050503d8060008114610d0a576040519150601f19603f3d011682016040523d82523d6000602084013e610d0f565b606091505b5050905080610d605760405162461bcd60e51b815260206004820152601e60248201527f72656365697665722072656a656374656420455448207472616e7366657200006044820152606401610617565b8815610e4857600e5460405163f305d71960e01b8152306004820152602481018b905260006044820181905260648201527346b22679d08ed46ab77ed705e9aa550ac3591da060848201524260a48201526001600160a01b039091169063f305d71990859060c40160606040518083038185885af1158015610de6573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610e0b9190611331565b505060408051858152602081018c90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b50506011805460ff191690555050505050505050565b600080610e7c600c54610adf600b5486610f6390919063ffffffff16565b30600090815260056020526040902054909150610e999082610f04565b30600081815260056020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610eea9085815260200190565b60405180910390a3610efc8382611027565b949350505050565b600080610f11838561122e565b9050838110156105aa5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610617565b600082600003610f75575060006104e9565b6000610f818385611241565b905082610f8e8583611258565b146105aa5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610617565b60006105aa83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611069565b60006105aa83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610710565b6000818361108a5760405162461bcd60e51b81526004016106179190611097565b5060006107418486611258565b600060208083528351808285015260005b818110156110c4578581018301518582016040015282016110a8565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146105ea57600080fd5b6000806040838503121561110d57600080fd5b8235611118816110e5565b946020939093013593505050565b60008060006060848603121561113b57600080fd5b8335611146816110e5565b92506020840135611156816110e5565b929592945050506040919091013590565b60006020828403121561117957600080fd5b81356105aa816110e5565b6000806040838503121561119757600080fd5b50508035926020909101359150565b600080604083850312156111b957600080fd5b82356111c4816110e5565b915060208301356111d4816110e5565b809150509250929050565b6000602082840312156111f157600080fd5b5035919050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b808201808211156104e9576104e9611218565b80820281158282048414176104e9576104e9611218565b60008261127557634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156104e9576104e9611218565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156112b557600080fd5b81516105aa816110e5565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156113105784516001600160a01b0316835293830193918301916001016112eb565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561134657600080fd5b835192506020840151915060408401519050925092509256fea264697066735822122040c4ed3146e9f79f0f3e2e11a0526e5edfbe421c0ea3675426a5528276f611b364736f6c63430008110033

Deployed Bytecode

0x6080604052600436106101395760003560e01c80636ddd1713116100ab578063a8aa1b311161006f578063a8aa1b311461039c578063a9059cbb146103bc578063dd62ed3e146103dc578063e96fada214610422578063f1d5f51714610442578063f887ea401461046257600080fd5b80636ddd1713146102d157806370a08231146102f2578063715018a614610328578063893d20e81461033d57806395d89b411461036f57600080fd5b80632f54bf6e116100fd5780632f54bf6e14610219578063313ce56714610248578063364333f41461026457806352f7c9881461027b578063571ac8b01461029b5780636c0a24eb146102bb57600080fd5b80630445b6671461014557806306fdde031461016e578063095ea7b3146101b457806318160ddd146101e457806323b872dd146101f957600080fd5b3661014057005b600080fd5b34801561015157600080fd5b5061015b60105481565b6040519081526020015b60405180910390f35b34801561017a57600080fd5b50604080518082019091526014815273088de40b2deeae4409eeedc40a4cae6cac2e4c6d60631b60208201525b6040516101659190611097565b3480156101c057600080fd5b506101d46101cf3660046110fa565b610482565b6040519015158152602001610165565b3480156101f057600080fd5b5060035461015b565b34801561020557600080fd5b506101d4610214366004611126565b6104ef565b34801561022557600080fd5b506101d4610234366004611167565b6000546001600160a01b0391821691161490565b34801561025457600080fd5b5060405160098152602001610165565b34801561027057600080fd5b506102796105b1565b005b34801561028757600080fd5b50610279610296366004611184565b6105ed565b3480156102a757600080fd5b506101d46102b6366004611167565b61063b565b3480156102c757600080fd5b5061015b60045481565b3480156102dd57600080fd5b50600f546101d490600160a01b900460ff1681565b3480156102fe57600080fd5b5061015b61030d366004611167565b6001600160a01b031660009081526005602052604090205490565b34801561033457600080fd5b50610279610649565b34801561034957600080fd5b506000546001600160a01b03165b6040516001600160a01b039091168152602001610165565b34801561037b57600080fd5b50604080518082019091526004815263222ca7a960e11b60208201526101a7565b3480156103a857600080fd5b50600f54610357906001600160a01b031681565b3480156103c857600080fd5b506101d46103d73660046110fa565b6106b8565b3480156103e857600080fd5b5061015b6103f73660046111a6565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561042e57600080fd5b50600d54610357906001600160a01b031681565b34801561044e57600080fd5b5061027961045d3660046111df565b6106c5565b34801561046e57600080fd5b50600e54610357906001600160a01b031681565b3360008181526006602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906104dd9086815260200190565b60405180910390a35060015b92915050565b6001600160a01b03831660009081526006602090815260408083203384529091528120546000191461059c576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600682528381203382529091529190912054610577918490610710565b6001600160a01b03851660009081526006602090815260408083203384529091529020555b6105a784848461074a565b90505b9392505050565b600d546040516001600160a01b03909116904780156108fc02916000818181858888f193505050501580156105ea573d6000803e3d6000fd5b50565b6000546001600160a01b031633146106205760405162461bcd60e51b8152600401610617906111f8565b60405180910390fd5b6009829055600a819055610634818361122e565b600b555050565b60006104e982600019610482565b6000546001600160a01b031633146106735760405162461bcd60e51b8152600401610617906111f8565b600080546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b60006105aa33848461074a565b6000546001600160a01b031633146106ef5760405162461bcd60e51b8152600401610617906111f8565b6103e8816003546107009190611241565b61070a9190611258565b60045550565b600081848411156107345760405162461bcd60e51b81526004016106179190611097565b506000610741848661127a565b95945050505050565b60115460009060ff161561076a57610763848484610974565b90506105aa565b600f546001600160a01b0384811691161480159061079657506002546001600160a01b03848116911614155b15610841576001600160a01b03831660009081526008602052604090205460ff16806107e757506004546001600160a01b0384166000908152600560205260409020546107e490849061122e565b11155b6108415760405162461bcd60e51b815260206004820152602560248201527f5472616e7366657220616d6f756e74206578636565647320746865206261672060448201526439b4bd329760d91b6064820152608401610617565b610849610a5a565b1561085657610856610ab2565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0387166000908152600590915291909120546108a8918490610710565b6001600160a01b038516600090815260056020908152604080832093909355600790529081205460ff16156108dd57826108e7565b6108e78584610e5e565b6001600160a01b03851660009081526005602052604090205490915061090d9082610f04565b6001600160a01b0380861660008181526005602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906109619085815260200190565b60405180910390a3506001949350505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03861660009081526005909152918220546109c5918490610710565b6001600160a01b0380861660009081526005602052604080822093909355908516815220546109f49083610f04565b6001600160a01b0380851660008181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610a489086815260200190565b60405180910390a35060019392505050565b600f546000906001600160a01b03163314801590610a7b575060115460ff16155b8015610a905750600f54600160a01b900460ff165b8015610aad57506010543060009081526005602052604090205410155b905090565b6011805460ff19166001179055601054600b54600954600091610ae591600291610adf9182908790610f63565b90610fe5565b90506000610af38383611027565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110610b2d57610b2d61128d565b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610b86573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610baa91906112a3565b81600181518110610bbd57610bbd61128d565b6001600160a01b039283166020918202929092010152600e5460405163791ac94760e01b81524792919091169063791ac94790610c079086906000908790309042906004016112c0565b600060405180830381600087803b158015610c2157600080fd5b505af1158015610c35573d6000803e3d6000fd5b505050506000610c4e824761102790919063ffffffff16565b90506000610c74610c6b6002600954610fe590919063ffffffff16565b600b5490611027565b90506000610c966002610adf84610adf60095488610f6390919063ffffffff16565b90506000610cb383610adf600a5487610f6390919063ffffffff16565b600d546040519192506000916001600160a01b039091169061753090849084818181858888f193505050503d8060008114610d0a576040519150601f19603f3d011682016040523d82523d6000602084013e610d0f565b606091505b5050905080610d605760405162461bcd60e51b815260206004820152601e60248201527f72656365697665722072656a656374656420455448207472616e7366657200006044820152606401610617565b8815610e4857600e5460405163f305d71960e01b8152306004820152602481018b905260006044820181905260648201527346b22679d08ed46ab77ed705e9aa550ac3591da060848201524260a48201526001600160a01b039091169063f305d71990859060c40160606040518083038185885af1158015610de6573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610e0b9190611331565b505060408051858152602081018c90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b50506011805460ff191690555050505050505050565b600080610e7c600c54610adf600b5486610f6390919063ffffffff16565b30600090815260056020526040902054909150610e999082610f04565b30600081815260056020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610eea9085815260200190565b60405180910390a3610efc8382611027565b949350505050565b600080610f11838561122e565b9050838110156105aa5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610617565b600082600003610f75575060006104e9565b6000610f818385611241565b905082610f8e8583611258565b146105aa5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610617565b60006105aa83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611069565b60006105aa83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610710565b6000818361108a5760405162461bcd60e51b81526004016106179190611097565b5060006107418486611258565b600060208083528351808285015260005b818110156110c4578581018301518582016040015282016110a8565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146105ea57600080fd5b6000806040838503121561110d57600080fd5b8235611118816110e5565b946020939093013593505050565b60008060006060848603121561113b57600080fd5b8335611146816110e5565b92506020840135611156816110e5565b929592945050506040919091013590565b60006020828403121561117957600080fd5b81356105aa816110e5565b6000806040838503121561119757600080fd5b50508035926020909101359150565b600080604083850312156111b957600080fd5b82356111c4816110e5565b915060208301356111d4816110e5565b809150509250929050565b6000602082840312156111f157600080fd5b5035919050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b808201808211156104e9576104e9611218565b80820281158282048414176104e9576104e9611218565b60008261127557634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156104e9576104e9611218565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156112b557600080fd5b81516105aa816110e5565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156113105784516001600160a01b0316835293830193918301916001016112eb565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561134657600080fd5b835192506020840151915060408401519050925092509256fea264697066735822122040c4ed3146e9f79f0f3e2e11a0526e5edfbe421c0ea3675426a5528276f611b364736f6c63430008110033

Deployed Bytecode Sourcemap

4124:7758:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5144:54;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;5144:54:0;;;;;;;;6229:80;;;;;;;;;;-1:-1:-1;6301:5:0;;;;;;;;;;;;-1:-1:-1;;;6301:5:0;;;;6229:80;;;;;;;:::i;6651:216::-;;;;;;;;;;-1:-1:-1;6651:216:0;;;;;:::i;:::-;;:::i;:::-;;;1370:14:1;;1363:22;1345:41;;1333:2;1318:18;6651:216:0;1205:187:1;5959:88:0;;;;;;;;;;-1:-1:-1;6032:12:0;;5959:88;;7169:370;;;;;;;;;;-1:-1:-1;7169:370:0;;;;;:::i;:::-;;:::i;2362:103::-;;;;;;;;;;-1:-1:-1;2362:103:0;;;;;:::i;:::-;2417:4;2452:5;-1:-1:-1;;;;;2441:16:0;;;2452:5;;2441:16;;2362:103;6053:80;;;;;;;;;;-1:-1:-1;6053:80:0;;4453:1;2252:36:1;;2240:2;2225:18;6053:80:0;2110:184:1;11311:118:0;;;;;;;;;;;;;:::i;:::-;;11587:220;;;;;;;;;;-1:-1:-1;11587:220:0;;;;;:::i;:::-;;:::i;6875:122::-;;;;;;;;;;-1:-1:-1;6875:122:0;;;;;:::i;:::-;;:::i;4528:60::-;;;;;;;;;;;;;;;;5107:30;;;;;;;;;;-1:-1:-1;5107:30:0;;;;-1:-1:-1;;;5107:30:0;;;;;;6399:105;;;;;;;;;;-1:-1:-1;6399:105:0;;;;;:::i;:::-;-1:-1:-1;;;;;6483:18:0;6465:7;6483:18;;;:9;:18;;;;;;;6399:105;2471:131;;;;;;;;;;;;;:::i;6315:78::-;;;;;;;;;;-1:-1:-1;6367:7:0;6385:5;-1:-1:-1;;;;;6385:5:0;6315:78;;;-1:-1:-1;;;;;2716:32:1;;;2698:51;;2686:2;2671:18;6315:78:0;2552:203:1;6139:84:0;;;;;;;;;;-1:-1:-1;6213:7:0;;;;;;;;;;;;-1:-1:-1;;;6213:7:0;;;;6139:84;;5079:19;;;;;;;;;;-1:-1:-1;5079:19:0;;;;-1:-1:-1;;;;;5079:19:0;;;7005:156;;;;;;;;;;-1:-1:-1;7005:156:0;;;;;:::i;:::-;;:::i;6510:133::-;;;;;;;;;;-1:-1:-1;6510:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;6612:19:0;;;6594:7;6612:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;6510:133;4959:80;;;;;;;;;;-1:-1:-1;4959:80:0;;;;-1:-1:-1;;;;;4959:80:0;;;11437:142;;;;;;;;;;-1:-1:-1;11437:142:0;;;;;:::i;:::-;;:::i;5048:24::-;;;;;;;;;;-1:-1:-1;5048:24:0;;;;-1:-1:-1;;;;;5048:24:0;;;6651:216;6755:10;6726:4;6743:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;6743:32:0;;;;;;;;;;:41;;;6800:37;6726:4;;6743:32;;6800:37;;;;6778:6;160:25:1;;148:2;133:18;;14:177;6800:37:0;;;;;;;;-1:-1:-1;6855:4:0;6651:216;;;;;:::o;7169:370::-;-1:-1:-1;;;;;7289:19:0;;7269:4;7289:19;;;:11;:19;;;;;;;;7309:10;7289:31;;;;;;;;-1:-1:-1;;7289:52:0;7286:186;;7391:69;;;;;;;;;;;-1:-1:-1;;;7391:69:0;;;;;;;;-1:-1:-1;;;;;7391:19:0;;-1:-1:-1;7391:19:0;;;:11;:19;;;;;7411:10;7391:31;;;;;;;;;;:69;;7427:6;;7391:35;:69::i;:::-;-1:-1:-1;;;;;7357:19:0;;;;;;:11;:19;;;;;;;;7377:10;7357:31;;;;;;;:103;7286:186;7491:40;7505:6;7513:9;7524:6;7491:13;:40::i;:::-;7484:47;;7169:370;;;;;;:::o;11311:118::-;11368:20;;11360:61;;-1:-1:-1;;;;;11368:20:0;;;;11399:21;11360:61;;;;;11368:20;11360:61;11368:20;11360:61;11399:21;11368:20;11360:61;;;;;;;;;;;;;;;;;;;;;11311:118::o;11587:220::-;2417:4;2452:5;-1:-1:-1;;;;;2452:5:0;2323:10;2441:16;2307:38;;;;-1:-1:-1;;;2307:38:0;;;;;;;:::i;:::-;;;;;;;;;11680:12:::1;:28:::0;;;11721:12:::1;:28:::0;;;11772:27:::1;11736:13:::0;11695;11772:27:::1;:::i;:::-;11761:8;:38:::0;-1:-1:-1;;11587:220:0:o;6875:122::-;6930:4;6954:35;6962:7;-1:-1:-1;;6954:7:0;:35::i;2471:131::-;2417:4;2452:5;-1:-1:-1;;;;;2452:5:0;2323:10;2441:16;2307:38;;;;-1:-1:-1;;;2307:38:0;;;;;;;:::i;:::-;2544:1:::1;2528:18:::0;;-1:-1:-1;;;;;;2528:18:0::1;::::0;;2562:32:::1;::::0;2698:51:1;;;2562:32:0::1;::::0;2686:2:1;2671:18;2562:32:0::1;;;;;;;2471:131::o:0;7005:156::-;7085:4;7109:44;7123:10;7135:9;7146:6;7109:13;:44::i;11437:142::-;2417:4;2452:5;-1:-1:-1;;;;;2452:5:0;2323:10;2441:16;2307:38;;;;-1:-1:-1;;;2307:38:0;;;;;;;:::i;:::-;11567:4:::1;11549:13;11534:12;;:28;;;;:::i;:::-;11533:38;;;;:::i;:::-;11514:16;:57:::0;-1:-1:-1;11437:142:0:o;451:190::-;537:7;573:12;565:6;;;;557:29;;;;-1:-1:-1;;;557:29:0;;;;;;;;:::i;:::-;-1:-1:-1;597:9:0;609:5;613:1;609;:5;:::i;:::-;597:17;451:190;-1:-1:-1;;;;;451:190:0:o;7547:792::-;7659:6;;7639:4;;7659:6;;7656:63;;;7675:41;7690:6;7698:9;7709:6;7675:14;:41::i;:::-;7668:48;;;;7656:63;7756:4;;-1:-1:-1;;;;;7743:17:0;;;7756:4;;7743:17;;;;:38;;-1:-1:-1;7777:4:0;;-1:-1:-1;;;;;7764:17:0;;;7777:4;;7764:17;;7743:38;7739:200;;;-1:-1:-1;;;;;7806:26:0;;;;;;:15;:26;;;;;;;;;:79;;-1:-1:-1;7869:16:0;;-1:-1:-1;;;;;7836:20:0;;;;;;:9;:20;;;;;;:29;;7859:6;;7836:29;:::i;:::-;:49;;7806:79;7798:129;;;;-1:-1:-1;;;7798:129:0;;4890:2:1;7798:129:0;;;4872:21:1;4929:2;4909:18;;;4902:30;4968:34;4948:18;;;4941:62;-1:-1:-1;;;5019:18:1;;;5012:35;5064:19;;7798:129:0;4688:401:1;7798:129:0;7962:16;:14;:16::i;:::-;7959:35;;;7981:10;:8;:10::i;:::-;8027:53;;;;;;;;;;;-1:-1:-1;;;8027:53:0;;;;;;;;-1:-1:-1;;;;;8027:17:0;;-1:-1:-1;8027:17:0;;;:9;:17;;;;;;;;:53;;8049:6;;8027:21;:53::i;:::-;-1:-1:-1;;;;;8007:17:0;;;;;;:9;:17;;;;;;;;:73;;;;8776:11;:19;;;;;;;;8775:20;8118:56;;8168:6;8118:56;;;8142:23;8150:6;8158;8142:7;:23::i;:::-;-1:-1:-1;;;;;8208:20:0;;;;;;:9;:20;;;;;;8093:81;;-1:-1:-1;8208:40:0;;8093:81;8208:24;:40::i;:::-;-1:-1:-1;;;;;8185:20:0;;;;;;;:9;:20;;;;;;;:63;;;;8266:43;;;;;;;;;;8294:14;160:25:1;;148:2;133:18;;14:177;8266:43:0;;;;;;;;-1:-1:-1;8327:4:0;;7547:792;-1:-1:-1;;;;7547:792:0:o;8351:330::-;8481:53;;;;;;;;;;;-1:-1:-1;;;8481:53:0;;;;;;;;-1:-1:-1;;;;;8481:17:0;;8444:4;8481:17;;;:9;:17;;;;;;;:53;;8503:6;;8481:21;:53::i;:::-;-1:-1:-1;;;;;8461:17:0;;;;;;;:9;:17;;;;;;:73;;;;8568:20;;;;;;;:32;;8593:6;8568:24;:32::i;:::-;-1:-1:-1;;;;;8545:20:0;;;;;;;:9;:20;;;;;;;:55;;;;8616:35;;;;;;;;;;8644:6;160:25:1;;148:2;133:18;;14:177;8616:35:0;;;;;;;;-1:-1:-1;8669:4:0;8351:330;;;;;:::o;9148:197::-;9235:4;;9197;;-1:-1:-1;;;;;9235:4:0;9221:10;:18;;;;:38;;-1:-1:-1;9253:6:0;;;;9252:7;9221:38;:62;;;;-1:-1:-1;9272:11:0;;-1:-1:-1;;;9272:11:0;;;;9221:62;:116;;;;-1:-1:-1;9324:13:0;;9314:4;9296:24;;;;:9;:24;;;;;;:41;;9221:116;9214:123;;9148:197;:::o;9353:1572::-;5253:6;:13;;-1:-1:-1;;5253:13:0;5262:4;5253:13;;;9433::::1;::::0;9526:8:::1;::::0;9508:12:::1;::::0;5253:6;;9483:59:::1;::::0;9540:1:::1;::::0;9483:52:::1;::::0;;;9433:13;;9483:24:::1;:38::i;:::-;:42:::0;::::1;:52::i;:59::-;9457:85:::0;-1:-1:-1;9553:20:0::1;9576:41;:20:::0;9457:85;9576:24:::1;:41::i;:::-;9654:16;::::0;;9668:1:::1;9654:16:::0;;;;;::::1;::::0;;9553:64;;-1:-1:-1;9630:21:0::1;::::0;9654:16;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9654:16:0::1;9630:40;;9699:4;9681;9686:1;9681:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9681:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;9725:6:::1;::::0;:13:::1;::::0;;-1:-1:-1;;;9725:13:0;;;;:6;;;::::1;::::0;:11:::1;::::0;:13:::1;::::0;;::::1;::::0;9681:7;;9725:13;;;;;:6;:13:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9715:4;9720:1;9715:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9715:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;9809:6:::1;::::0;:188:::1;::::0;-1:-1:-1;;;9809:188:0;;9775:21:::1;::::0;9809:6;;;::::1;::::0;:57:::1;::::0;:188:::1;::::0;9881:12;;9751:21:::1;::::0;9924:4;;9951::::1;::::0;9971:15:::1;::::0;9809:188:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10008:17;10028:40;10054:13;10028:21;:25;;:40;;;;:::i;:::-;10008:60;;10079:19;10101:33;10114:19;10131:1;10114:12;;:16;;:19;;;;:::i;:::-;10101:8;::::0;;:12:::1;:33::i;:::-;10079:55;;10145:26;10174:51;10223:1;10174:44;10206:11;10174:27;10188:12;;10174:9;:13;;:27;;;;:::i;:51::-;10145:80;;10236:26;10265:44;10297:11;10265:27;10279:12;;10265:9;:13;;:27;;;;:::i;:44::-;10383:20;::::0;10375:77:::1;::::0;10236:73;;-1:-1:-1;10325:21:0::1;::::0;-1:-1:-1;;;;;10383:20:0;;::::1;::::0;10442:5:::1;::::0;10236:73;;10325:21;10375:77;10325:21;10375:77;10236:73;10383:20;10442:5;10375:77:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10324:128;;;10471:16;10463:59;;;::::0;-1:-1:-1;;;10463:59:0;;7011:2:1;10463:59:0::1;::::0;::::1;6993:21:1::0;7050:2;7030:18;;;7023:30;7089:32;7069:18;;;7062:60;7139:18;;10463:59:0::1;6809:354:1::0;10463:59:0::1;10538:19:::0;;10535:383:::1;;10573:6;::::0;:265:::1;::::0;-1:-1:-1;;;10573:265:0;;10649:4:::1;10573:265;::::0;::::1;7509:34:1::0;7559:18;;;7552:34;;;10573:6:0::1;7602:18:1::0;;;7595:34;;;7645:18;;;7638:34;10747:42:0::1;7688:19:1::0;;;7681:44;10808:15:0::1;7741:19:1::0;;;7734:35;-1:-1:-1;;;;;10573:6:0;;::::1;::::0;:22:::1;::::0;10603:18;;7443:19:1;;10573:265:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;10858:48:0::1;::::0;;8265:25:1;;;8321:2;8306:18;;8299:34;;;10858:48:0::1;::::0;-1:-1:-1;8238:18:1;10858:48:0::1;;;;;;;10535:383;-1:-1:-1::0;;5271:6:0;:14;;-1:-1:-1;;5271:14:0;;;-1:-1:-1;;;;;;;;9353:1572:0:o;8811:329::-;8878:7;8898:17;8918:40;8943:14;;8918:20;8929:8;;8918:6;:10;;:20;;;;:::i;:40::-;9014:4;8996:24;;;;:9;:24;;;;;;8898:60;;-1:-1:-1;8996:39:0;;8898:60;8996:28;:39::i;:::-;8987:4;8969:24;;;;:9;:24;;;;;;;:66;;;;9051:42;;-1:-1:-1;;;;;9051:42:0;;;;;;;9083:9;160:25:1;;148:2;133:18;;14:177;9051:42:0;;;;;;;;9111:21;:6;9122:9;9111:10;:21::i;:::-;9104:28;8811:329;-1:-1:-1;;;;8811:329:0:o;124:179::-;182:7;;214:5;218:1;214;:5;:::i;:::-;202:17;;243:1;238;:6;;230:46;;;;-1:-1:-1;;;230:46:0;;8546:2:1;230:46:0;;;8528:21:1;8585:2;8565:18;;;8558:30;8624:29;8604:18;;;8597:57;8671:18;;230:46:0;8344:351:1;647:246:0;705:7;729:1;734;729:6;725:47;;-1:-1:-1;759:1:0;752:8;;725:47;782:9;794:5;798:1;794;:5;:::i;:::-;782:17;-1:-1:-1;827:1:0;818:5;822:1;782:17;818:5;:::i;:::-;:10;810:56;;;;-1:-1:-1;;;810:56:0;;8902:2:1;810:56:0;;;8884:21:1;8941:2;8921:18;;;8914:30;8980:34;8960:18;;;8953:62;-1:-1:-1;;;9031:18:1;;;9024:31;9072:19;;810:56:0;8700:397:1;899:132:0;957:7;984:39;988:1;991;984:39;;;;;;;;;;;;;;;;;:3;:39::i;309:136::-;367:7;394:43;398:1;401;394:43;;;;;;;;;;;;;;;;;:3;:43::i;1037:189::-;1123:7;1158:12;1151:5;1143:28;;;;-1:-1:-1;;;1143:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1182:9:0;1194:5;1198:1;1194;:5;:::i;196:548:1:-;308:4;337:2;366;355:9;348:21;398:6;392:13;441:6;436:2;425:9;421:18;414:34;466:1;476:140;490:6;487:1;484:13;476:140;;;585:14;;;581:23;;575:30;551:17;;;570:2;547:26;540:66;505:10;;476:140;;;480:3;665:1;660:2;651:6;640:9;636:22;632:31;625:42;735:2;728;724:7;719:2;711:6;707:15;703:29;692:9;688:45;684:54;676:62;;;;196:548;;;;:::o;749:131::-;-1:-1:-1;;;;;824:31:1;;814:42;;804:70;;870:1;867;860:12;885:315;953:6;961;1014:2;1002:9;993:7;989:23;985:32;982:52;;;1030:1;1027;1020:12;982:52;1069:9;1056:23;1088:31;1113:5;1088:31;:::i;:::-;1138:5;1190:2;1175:18;;;;1162:32;;-1:-1:-1;;;885:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;1858:247::-;1917:6;1970:2;1958:9;1949:7;1945:23;1941:32;1938:52;;;1986:1;1983;1976:12;1938:52;2025:9;2012:23;2044:31;2069:5;2044:31;:::i;2299:248::-;2367:6;2375;2428:2;2416:9;2407:7;2403:23;2399:32;2396:52;;;2444:1;2441;2434:12;2396:52;-1:-1:-1;;2467:23:1;;;2537:2;2522:18;;;2509:32;;-1:-1:-1;2299:248:1:o;2760:388::-;2828:6;2836;2889:2;2877:9;2868:7;2864:23;2860:32;2857:52;;;2905:1;2902;2895:12;2857:52;2944:9;2931:23;2963:31;2988:5;2963:31;:::i;:::-;3013:5;-1:-1:-1;3070:2:1;3055:18;;3042:32;3083:33;3042:32;3083:33;:::i;:::-;3135:7;3125:17;;;2760:388;;;;;:::o;3153:180::-;3212:6;3265:2;3253:9;3244:7;3240:23;3236:32;3233:52;;;3281:1;3278;3271:12;3233:52;-1:-1:-1;3304:23:1;;3153:180;-1:-1:-1;3153:180:1:o;3564:329::-;3766:2;3748:21;;;3805:1;3785:18;;;3778:29;-1:-1:-1;;;3838:2:1;3823:18;;3816:36;3884:2;3869:18;;3564:329::o;3898:127::-;3959:10;3954:3;3950:20;3947:1;3940:31;3990:4;3987:1;3980:15;4014:4;4011:1;4004:15;4030:125;4095:9;;;4116:10;;;4113:36;;;4129:18;;:::i;4160:168::-;4233:9;;;4264;;4281:15;;;4275:22;;4261:37;4251:71;;4302:18;;:::i;4333:217::-;4373:1;4399;4389:132;;4443:10;4438:3;4434:20;4431:1;4424:31;4478:4;4475:1;4468:15;4506:4;4503:1;4496:15;4389:132;-1:-1:-1;4535:9:1;;4333:217::o;4555:128::-;4622:9;;;4643:11;;;4640:37;;;4657:18;;:::i;5226:127::-;5287:10;5282:3;5278:20;5275:1;5268:31;5318:4;5315:1;5308:15;5342:4;5339:1;5332:15;5358:251;5428:6;5481:2;5469:9;5460:7;5456:23;5452:32;5449:52;;;5497:1;5494;5487:12;5449:52;5529:9;5523:16;5548:31;5573:5;5548:31;:::i;5614:980::-;5876:4;5924:3;5913:9;5909:19;5955:6;5944:9;5937:25;5981:2;6019:6;6014:2;6003:9;5999:18;5992:34;6062:3;6057:2;6046:9;6042:18;6035:31;6086:6;6121;6115:13;6152:6;6144;6137:22;6190:3;6179:9;6175:19;6168:26;;6229:2;6221:6;6217:15;6203:29;;6250:1;6260:195;6274:6;6271:1;6268:13;6260:195;;;6339:13;;-1:-1:-1;;;;;6335:39:1;6323:52;;6430:15;;;;6395:12;;;;6371:1;6289:9;6260:195;;;-1:-1:-1;;;;;;;6511:32:1;;;;6506:2;6491:18;;6484:60;-1:-1:-1;;;6575:3:1;6560:19;6553:35;6472:3;5614:980;-1:-1:-1;;;5614:980:1:o;7780:306::-;7868:6;7876;7884;7937:2;7925:9;7916:7;7912:23;7908:32;7905:52;;;7953:1;7950;7943:12;7905:52;7982:9;7976:16;7966:26;;8032:2;8021:9;8017:18;8011:25;8001:35;;8076:2;8065:9;8061:18;8055:25;8045:35;;7780:306;;;;;:::o

Swarm Source

ipfs://40c4ed3146e9f79f0f3e2e11a0526e5edfbe421c0ea3675426a5528276f611b3

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.