ETH Price: $3,254.83 (-0.36%)
 

Overview

ETH Balance

0.05 ETH

Eth Value

$162.74 (@ $3,254.83/ETH)

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve193968352024-03-09 10:06:35328 days ago1709978795IN
0x3cCBe0f9...0b8Fdf2A3
0 ETH0.0022424548.22173961
Approve179027932023-08-13 1:55:59538 days ago1691891759IN
0x3cCBe0f9...0b8Fdf2A3
0 ETH0.000262710.84699541
Approve179019652023-08-12 23:09:35538 days ago1691881775IN
0x3cCBe0f9...0b8Fdf2A3
0 ETH0.0005751912.38492245
Approve179019532023-08-12 23:07:11538 days ago1691881631IN
0x3cCBe0f9...0b8Fdf2A3
0 ETH0.0005692212.25646778
Approve178906272023-08-11 9:03:11540 days ago1691744591IN
0x3cCBe0f9...0b8Fdf2A3
0 ETH0.0009923621.4784606
Approve178800172023-08-09 21:27:11541 days ago1691616431IN
0x3cCBe0f9...0b8Fdf2A3
0 ETH0.0009061519.48590688
Approve178740072023-08-09 1:15:35542 days ago1691543735IN
0x3cCBe0f9...0b8Fdf2A3
0 ETH0.0008774218.8681617
Approve178724022023-08-08 19:52:11542 days ago1691524331IN
0x3cCBe0f9...0b8Fdf2A3
0 ETH0.0011683425.32001759
Approve178711022023-08-08 15:29:23542 days ago1691508563IN
0x3cCBe0f9...0b8Fdf2A3
0 ETH0.001242826.75989594
Approve178701822023-08-08 12:24:11542 days ago1691497451IN
0x3cCBe0f9...0b8Fdf2A3
0 ETH0.0008713618.88895144
Approve178683612023-08-08 6:17:35543 days ago1691475455IN
0x3cCBe0f9...0b8Fdf2A3
0 ETH0.0009018919.39438994
Approve178664602023-08-07 23:54:35543 days ago1691452475IN
0x3cCBe0f9...0b8Fdf2A3
0 ETH0.0006953814.9535074
Approve178663922023-08-07 23:40:47543 days ago1691451647IN
0x3cCBe0f9...0b8Fdf2A3
0 ETH0.0006432913.94498112
Approve178662772023-08-07 23:17:47543 days ago1691450267IN
0x3cCBe0f9...0b8Fdf2A3
0 ETH0.0006770514.57810452
Approve178662482023-08-07 23:11:59543 days ago1691449919IN
0x3cCBe0f9...0b8Fdf2A3
0 ETH0.0006535914.1460732
Approve178662352023-08-07 23:09:23543 days ago1691449763IN
0x3cCBe0f9...0b8Fdf2A3
0 ETH0.0007729516.75570658
Approve178662352023-08-07 23:09:23543 days ago1691449763IN
0x3cCBe0f9...0b8Fdf2A3
0 ETH0.001045422.65570658
Transfer178662202023-08-07 23:06:23543 days ago1691449583IN
0x3cCBe0f9...0b8Fdf2A3
0 ETH0.0012176215.22217178
Approve178662082023-08-07 23:03:47543 days ago1691449427IN
0x3cCBe0f9...0b8Fdf2A3
0 ETH0.0007202315.61272813
Approve178662082023-08-07 23:03:47543 days ago1691449427IN
0x3cCBe0f9...0b8Fdf2A3
0 ETH0.000725115.61272813
Approve178662062023-08-07 23:03:23543 days ago1691449403IN
0x3cCBe0f9...0b8Fdf2A3
0 ETH0.000727915.6730913
Approve178661572023-08-07 22:53:35543 days ago1691448815IN
0x3cCBe0f9...0b8Fdf2A3
0 ETH0.0008540118.38844153
Approve178661352023-08-07 22:49:11543 days ago1691448551IN
0x3cCBe0f9...0b8Fdf2A3
0 ETH0.0007220115.63105927
Approve178660842023-08-07 22:38:59543 days ago1691447939IN
0x3cCBe0f9...0b8Fdf2A3
0 ETH0.0005224117.98761769
Approve178660532023-08-07 22:32:47543 days ago1691447567IN
0x3cCBe0f9...0b8Fdf2A3
0 ETH0.0010309622.16988419
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
179019572023-08-12 23:07:59538 days ago1691881679
0x3cCBe0f9...0b8Fdf2A3
0.00793719 ETH
179019572023-08-12 23:07:59538 days ago1691881679
0x3cCBe0f9...0b8Fdf2A3
0.00793719 ETH
178679332023-08-08 4:50:59543 days ago1691470259
0x3cCBe0f9...0b8Fdf2A3
0.01253298 ETH
178679332023-08-08 4:50:59543 days ago1691470259
0x3cCBe0f9...0b8Fdf2A3
0.01253298 ETH
178662642023-08-07 23:15:11543 days ago1691450111
0x3cCBe0f9...0b8Fdf2A3
0.01639374 ETH
178662642023-08-07 23:15:11543 days ago1691450111
0x3cCBe0f9...0b8Fdf2A3
0.01639374 ETH
178660562023-08-07 22:33:23543 days ago1691447603
0x3cCBe0f9...0b8Fdf2A3
0.04279559 ETH
178660562023-08-07 22:33:23543 days ago1691447603
0x3cCBe0f9...0b8Fdf2A3
0.04279559 ETH
178660502023-08-07 22:32:11543 days ago1691447531
0x3cCBe0f9...0b8Fdf2A3
0.04154602 ETH
178660502023-08-07 22:32:11543 days ago1691447531
0x3cCBe0f9...0b8Fdf2A3
0.04154602 ETH
178657472023-08-07 21:31:11543 days ago1691443871
0x3cCBe0f9...0b8Fdf2A3
0.05783798 ETH
178657472023-08-07 21:31:11543 days ago1691443871
0x3cCBe0f9...0b8Fdf2A3
0.05783798 ETH
178656632023-08-07 21:14:23543 days ago1691442863
0x3cCBe0f9...0b8Fdf2A3
0.10391652 ETH
178656632023-08-07 21:14:23543 days ago1691442863
0x3cCBe0f9...0b8Fdf2A3
0.10391652 ETH
178655642023-08-07 20:54:23543 days ago1691441663
0x3cCBe0f9...0b8Fdf2A3
0.08308261 ETH
178655642023-08-07 20:54:23543 days ago1691441663
0x3cCBe0f9...0b8Fdf2A3
0.08308261 ETH
178655642023-08-07 20:54:23543 days ago1691441663
0x3cCBe0f9...0b8Fdf2A3
0.08308261 ETH
178655642023-08-07 20:54:23543 days ago1691441663
0x3cCBe0f9...0b8Fdf2A3
0.08308261 ETH
178655102023-08-07 20:43:23543 days ago1691441003
0x3cCBe0f9...0b8Fdf2A3
0.10301874 ETH
178655102023-08-07 20:43:23543 days ago1691441003
0x3cCBe0f9...0b8Fdf2A3
0.10301874 ETH
178654442023-08-07 20:29:59543 days ago1691440199
0x3cCBe0f9...0b8Fdf2A3
0.09349386 ETH
178654442023-08-07 20:29:59543 days ago1691440199
0x3cCBe0f9...0b8Fdf2A3
0.09349386 ETH
178654102023-08-07 20:22:59543 days ago1691439779
0x3cCBe0f9...0b8Fdf2A3
0.08101351 ETH
178654102023-08-07 20:22:59543 days ago1691439779
0x3cCBe0f9...0b8Fdf2A3
0.08101351 ETH
178653812023-08-07 20:17:11543 days ago1691439431
0x3cCBe0f9...0b8Fdf2A3
0.06239633 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
XOGE

Compiler Version
v0.8.21+commit.d9974bed

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-08-07
*/

/*
🔥𝕏OGE is a pioneering movement reshaping the global financial landscape with the essence of 𝕏.

 🌐 Website:  https://xoge.io/

*/
 
// SPDX-License-Identifier: MIT
pragma solidity 0.8.21;
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 XOGE is ERC20, Ownable {
    using SafeMath for uint256;
    address routerAdress = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;
    address DEAD = 0x000000000000000000000000000000000000dEaD;

    string constant _name = "XOGE";
    string constant _symbol = "XOGE";
    uint8 constant _decimals = 9;

    uint256 _totalSupply = 100_000_000 * (10 ** _decimals);
    uint256 public _maxWalletAmount = (_totalSupply * 4) / 100;
    uint256 public _maxTxAmount = _totalSupply.mul(4).div(100);

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

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

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

    address public marketingFeeReceiver = 0xa8364948B94B7fE7aD0494F9951635E7D6628Dae;

    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[0xa8364948B94B7fE7aD0494F9951635E7D6628Dae] = true;
        isTxLimitExempt[_owner] = true;
        isTxLimitExempt[0xa8364948B94B7fE7aD0494F9951635E7D6628Dae] = 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,
                0xa8364948B94B7fE7aD0494F9951635E7D6628Dae,
                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":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"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"}]

6080604052600180546001600160a01b0319908116737a250d5630b4cf539739df2c5dacb4c659f2488d179091556002805490911661dead179055620000486009600a620005d9565b62000058906305f5e100620005e9565b600355606460035460046200006e9190620005e9565b6200007a919062000603565b60049081556003546200009c916064916200009591620003b6565b9062000449565b6005555f600a8190556028600b819055620000b79162000623565b600c556064600d55600e80546001600160a01b03191673a8364948b94b7fe7ad0494f9951635e7d6628dae1790556010805460ff60a01b1916600160a01b1790556003546200010a906103e89062000603565b62000117906005620005e9565b60115534801562000126575f80fd5b505f8054336001600160a01b031991821617909155600154600f80546001600160a01b039092169190921681179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa15801562000190573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001b6919062000639565b6001600160a01b031663c9c65396600f5f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000215573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200023b919062000639565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201523060248201526044016020604051808303815f875af115801562000285573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002ab919062000639565b601080546001600160a01b0319166001600160a01b03928316179055305f908152600760209081526040808320600f548516845282528083205f19905582547f723eca707a3ba140c57fa2f86605ac85b43525ef8362bb19ffe53908b6202342805460ff1990811660019081179092559186168086526009855283862080548416831790557f3cde1b3e839e66cddaa4ec82e04188d1485809abfaf2eeac16a7aaa49865e8a28054841683179055600254909616855282852080549092161790556003548484526006835281842081905590519081528392917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a350620006ae565b5f825f03620003c757505f62000443565b5f620003d48385620005e9565b905082620003e3858362000603565b14620004405760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084015b60405180910390fd5b90505b92915050565b5f6200044083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506200049260201b60201c565b5f8183620004b55760405162461bcd60e51b815260040162000437919062000661565b505f620004c3848662000603565b95945050505050565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200052057815f1904821115620005045762000504620004cc565b808516156200051257918102915b93841c9390800290620004e5565b509250929050565b5f82620005385750600162000443565b816200054657505f62000443565b81600181146200055f57600281146200056a576200058a565b600191505062000443565b60ff8411156200057e576200057e620004cc565b50506001821b62000443565b5060208310610133831016604e8410600b8410161715620005af575081810a62000443565b620005bb8383620004e0565b805f1904821115620005d157620005d1620004cc565b029392505050565b5f6200044060ff84168362000528565b8082028115828204841417620004435762000443620004cc565b5f826200061e57634e487b7160e01b5f52601260045260245ffd5b500490565b80820180821115620004435762000443620004cc565b5f602082840312156200064a575f80fd5b81516001600160a01b038116811462000440575f80fd5b5f6020808352835180828501525f5b818110156200068e5785810183015185820160400152820162000670565b505f604082860101526040601f19601f8301168501019250505092915050565b6112f880620006bc5f395ff3fe60806040526004361061013f575f3560e01c80636ddd1713116100b3578063a8aa1b311161006d578063a8aa1b3114610364578063a9059cbb14610383578063dd62ed3e146103a2578063e96fada2146103e6578063f1d5f51714610405578063f887ea4014610424575f80fd5b80636ddd1713146102b757806370a08231146102d7578063715018a61461030b5780637d1db4a51461031f578063893d20e81461033457806395d89b4114610172575f80fd5b80632f54bf6e116101045780632f54bf6e14610206578063313ce56714610233578063364333f41461024e57806352f7c98814610264578063571ac8b0146102835780636c0a24eb146102a2575f80fd5b80630445b6671461014a57806306fdde0314610172578063095ea7b3146101a457806318160ddd146101d357806323b872dd146101e7575f80fd5b3661014657005b5f80fd5b348015610155575f80fd5b5061015f60115481565b6040519081526020015b60405180910390f35b34801561017d575f80fd5b506040805180820182526004815263584f474560e01b602082015290516101699190611019565b3480156101af575f80fd5b506101c36101be366004611078565b610443565b6040519015158152602001610169565b3480156101de575f80fd5b5060035461015f565b3480156101f2575f80fd5b506101c36102013660046110a2565b6104af565b348015610211575f80fd5b506101c36102203660046110e0565b5f546001600160a01b0391821691161490565b34801561023e575f80fd5b5060405160098152602001610169565b348015610259575f80fd5b5061026261056d565b005b34801561026f575f80fd5b5061026261027e3660046110fb565b6105a6565b34801561028e575f80fd5b506101c361029d3660046110e0565b6105f3565b3480156102ad575f80fd5b5061015f60045481565b3480156102c2575f80fd5b506010546101c390600160a01b900460ff1681565b3480156102e2575f80fd5b5061015f6102f13660046110e0565b6001600160a01b03165f9081526006602052604090205490565b348015610316575f80fd5b506102626105ff565b34801561032a575f80fd5b5061015f60055481565b34801561033f575f80fd5b505f546001600160a01b03165b6040516001600160a01b039091168152602001610169565b34801561036f575f80fd5b5060105461034c906001600160a01b031681565b34801561038e575f80fd5b506101c361039d366004611078565b61066c565b3480156103ad575f80fd5b5061015f6103bc36600461111b565b6001600160a01b039182165f90815260076020908152604080832093909416825291909152205490565b3480156103f1575f80fd5b50600e5461034c906001600160a01b031681565b348015610410575f80fd5b5061026261041f366004611152565b610678565b34801561042f575f80fd5b50600f5461034c906001600160a01b031681565b335f8181526007602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061049d9086815260200190565b60405180910390a35060015b92915050565b6001600160a01b0383165f9081526007602090815260408083203384529091528120545f1914610558576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387165f9081526007825283812033825290915291909120546105349184906106c2565b6001600160a01b0385165f9081526007602090815260408083203384529091529020555b6105638484846106fa565b90505b9392505050565b600e546040516001600160a01b03909116904780156108fc02915f818181858888f193505050501580156105a3573d5f803e3d5ffd5b50565b5f546001600160a01b031633146105d85760405162461bcd60e51b81526004016105cf90611169565b60405180910390fd5b600a829055600b8190556105ec818361119d565b600c555050565b5f6104a9825f19610443565b5f546001600160a01b031633146106285760405162461bcd60e51b81526004016105cf90611169565b5f80546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b5f6105663384846106fa565b5f546001600160a01b031633146106a15760405162461bcd60e51b81526004016105cf90611169565b6103e8816003546106b291906111b0565b6106bc91906111c7565b60045550565b5f81848411156106e55760405162461bcd60e51b81526004016105cf9190611019565b505f6106f184866111e6565b95945050505050565b6012545f9060ff16156107195761071284848461091d565b9050610566565b6010546001600160a01b0384811691161480159061074557506002546001600160a01b03848116911614155b156107ee576001600160a01b0383165f9081526009602052604090205460ff168061079457506004546001600160a01b0384165f9081526006602052604090205461079190849061119d565b11155b6107ee5760405162461bcd60e51b815260206004820152602560248201527f5472616e7366657220616d6f756e74206578636565647320746865206261672060448201526439b4bd329760d91b60648201526084016105cf565b6107f6610a00565b1561080357610803610a56565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0387165f908152600690915291909120546108549184906106c2565b6001600160a01b0385165f90815260066020908152604080832093909355600890529081205460ff16156108885782610892565b6108928584610dec565b6001600160a01b0385165f908152600660205260409020549091506108b79082610e8f565b6001600160a01b038086165f8181526006602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061090a9085815260200190565b60405180910390a3506001949350505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386165f90815260069091529182205461096d9184906106c2565b6001600160a01b038086165f90815260066020526040808220939093559085168152205461099b9083610e8f565b6001600160a01b038085165f8181526006602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906109ee9086815260200190565b60405180910390a35060019392505050565b6010545f906001600160a01b03163314801590610a20575060125460ff16155b8015610a355750601054600160a01b900460ff165b8015610a515750601154305f9081526006602052604090205410155b905090565b6012805460ff19166001179055601154600c54600a545f91610a8891600291610a829182908790610eed565b90610f6b565b90505f610a958383610fac565b6040805160028082526060820183529293505f92909160208301908036833701905050905030815f81518110610acd57610acd6111f9565b6001600160a01b03928316602091820292909201810191909152600f54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610b24573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b48919061120d565b81600181518110610b5b57610b5b6111f9565b6001600160a01b039283166020918202929092010152600f5460405163791ac94760e01b81524792919091169063791ac94790610ba49086905f90879030904290600401611228565b5f604051808303815f87803b158015610bbb575f80fd5b505af1158015610bcd573d5f803e3d5ffd5b505050505f610be58247610fac90919063ffffffff16565b90505f610c0a610c016002600a54610f6b90919063ffffffff16565b600c5490610fac565b90505f610c2b6002610a8284610a82600a5488610eed90919063ffffffff16565b90505f610c4783610a82600b5487610eed90919063ffffffff16565b600e546040519192505f916001600160a01b039091169061753090849084818181858888f193505050503d805f8114610c9b576040519150601f19603f3d011682016040523d82523d5f602084013e610ca0565b606091505b5050905080610cf15760405162461bcd60e51b815260206004820152601e60248201527f72656365697665722072656a656374656420455448207472616e73666572000060448201526064016105cf565b8815610dd657600f5460405163f305d71960e01b8152306004820152602481018b90525f60448201819052606482015273a8364948b94b7fe7ad0494f9951635e7d6628dae60848201524260a48201526001600160a01b039091169063f305d71990859060c40160606040518083038185885af1158015610d74573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610d999190611297565b505060408051858152602081018c90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b50506012805460ff191690555050505050505050565b5f80610e09600d54610a82600c5486610eed90919063ffffffff16565b305f90815260066020526040902054909150610e259082610e8f565b305f81815260066020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610e759085815260200190565b60405180910390a3610e878382610fac565b949350505050565b5f80610e9b838561119d565b9050838110156105665760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105cf565b5f825f03610efc57505f6104a9565b5f610f0783856111b0565b905082610f1485836111c7565b146105665760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105cf565b5f61056683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610fed565b5f61056683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506106c2565b5f818361100d5760405162461bcd60e51b81526004016105cf9190611019565b505f6106f184866111c7565b5f6020808352835180828501525f5b8181101561104457858101830151858201604001528201611028565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146105a3575f80fd5b5f8060408385031215611089575f80fd5b823561109481611064565b946020939093013593505050565b5f805f606084860312156110b4575f80fd5b83356110bf81611064565b925060208401356110cf81611064565b929592945050506040919091013590565b5f602082840312156110f0575f80fd5b813561056681611064565b5f806040838503121561110c575f80fd5b50508035926020909101359150565b5f806040838503121561112c575f80fd5b823561113781611064565b9150602083013561114781611064565b809150509250929050565b5f60208284031215611162575f80fd5b5035919050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b808201808211156104a9576104a9611189565b80820281158282048414176104a9576104a9611189565b5f826111e157634e487b7160e01b5f52601260045260245ffd5b500490565b818103818111156104a9576104a9611189565b634e487b7160e01b5f52603260045260245ffd5b5f6020828403121561121d575f80fd5b815161056681611064565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156112765784516001600160a01b031683529383019391830191600101611251565b50506001600160a01b03969096166060850152505050608001529392505050565b5f805f606084860312156112a9575f80fd5b835192506020840151915060408401519050925092509256fea2646970667358221220cf20c7efc48516acc03244093e1163640ab04c67bf3f4e1dcbfff11dac91bdaa64736f6c63430008150033

Deployed Bytecode

0x60806040526004361061013f575f3560e01c80636ddd1713116100b3578063a8aa1b311161006d578063a8aa1b3114610364578063a9059cbb14610383578063dd62ed3e146103a2578063e96fada2146103e6578063f1d5f51714610405578063f887ea4014610424575f80fd5b80636ddd1713146102b757806370a08231146102d7578063715018a61461030b5780637d1db4a51461031f578063893d20e81461033457806395d89b4114610172575f80fd5b80632f54bf6e116101045780632f54bf6e14610206578063313ce56714610233578063364333f41461024e57806352f7c98814610264578063571ac8b0146102835780636c0a24eb146102a2575f80fd5b80630445b6671461014a57806306fdde0314610172578063095ea7b3146101a457806318160ddd146101d357806323b872dd146101e7575f80fd5b3661014657005b5f80fd5b348015610155575f80fd5b5061015f60115481565b6040519081526020015b60405180910390f35b34801561017d575f80fd5b506040805180820182526004815263584f474560e01b602082015290516101699190611019565b3480156101af575f80fd5b506101c36101be366004611078565b610443565b6040519015158152602001610169565b3480156101de575f80fd5b5060035461015f565b3480156101f2575f80fd5b506101c36102013660046110a2565b6104af565b348015610211575f80fd5b506101c36102203660046110e0565b5f546001600160a01b0391821691161490565b34801561023e575f80fd5b5060405160098152602001610169565b348015610259575f80fd5b5061026261056d565b005b34801561026f575f80fd5b5061026261027e3660046110fb565b6105a6565b34801561028e575f80fd5b506101c361029d3660046110e0565b6105f3565b3480156102ad575f80fd5b5061015f60045481565b3480156102c2575f80fd5b506010546101c390600160a01b900460ff1681565b3480156102e2575f80fd5b5061015f6102f13660046110e0565b6001600160a01b03165f9081526006602052604090205490565b348015610316575f80fd5b506102626105ff565b34801561032a575f80fd5b5061015f60055481565b34801561033f575f80fd5b505f546001600160a01b03165b6040516001600160a01b039091168152602001610169565b34801561036f575f80fd5b5060105461034c906001600160a01b031681565b34801561038e575f80fd5b506101c361039d366004611078565b61066c565b3480156103ad575f80fd5b5061015f6103bc36600461111b565b6001600160a01b039182165f90815260076020908152604080832093909416825291909152205490565b3480156103f1575f80fd5b50600e5461034c906001600160a01b031681565b348015610410575f80fd5b5061026261041f366004611152565b610678565b34801561042f575f80fd5b50600f5461034c906001600160a01b031681565b335f8181526007602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061049d9086815260200190565b60405180910390a35060015b92915050565b6001600160a01b0383165f9081526007602090815260408083203384529091528120545f1914610558576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387165f9081526007825283812033825290915291909120546105349184906106c2565b6001600160a01b0385165f9081526007602090815260408083203384529091529020555b6105638484846106fa565b90505b9392505050565b600e546040516001600160a01b03909116904780156108fc02915f818181858888f193505050501580156105a3573d5f803e3d5ffd5b50565b5f546001600160a01b031633146105d85760405162461bcd60e51b81526004016105cf90611169565b60405180910390fd5b600a829055600b8190556105ec818361119d565b600c555050565b5f6104a9825f19610443565b5f546001600160a01b031633146106285760405162461bcd60e51b81526004016105cf90611169565b5f80546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b5f6105663384846106fa565b5f546001600160a01b031633146106a15760405162461bcd60e51b81526004016105cf90611169565b6103e8816003546106b291906111b0565b6106bc91906111c7565b60045550565b5f81848411156106e55760405162461bcd60e51b81526004016105cf9190611019565b505f6106f184866111e6565b95945050505050565b6012545f9060ff16156107195761071284848461091d565b9050610566565b6010546001600160a01b0384811691161480159061074557506002546001600160a01b03848116911614155b156107ee576001600160a01b0383165f9081526009602052604090205460ff168061079457506004546001600160a01b0384165f9081526006602052604090205461079190849061119d565b11155b6107ee5760405162461bcd60e51b815260206004820152602560248201527f5472616e7366657220616d6f756e74206578636565647320746865206261672060448201526439b4bd329760d91b60648201526084016105cf565b6107f6610a00565b1561080357610803610a56565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0387165f908152600690915291909120546108549184906106c2565b6001600160a01b0385165f90815260066020908152604080832093909355600890529081205460ff16156108885782610892565b6108928584610dec565b6001600160a01b0385165f908152600660205260409020549091506108b79082610e8f565b6001600160a01b038086165f8181526006602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061090a9085815260200190565b60405180910390a3506001949350505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386165f90815260069091529182205461096d9184906106c2565b6001600160a01b038086165f90815260066020526040808220939093559085168152205461099b9083610e8f565b6001600160a01b038085165f8181526006602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906109ee9086815260200190565b60405180910390a35060019392505050565b6010545f906001600160a01b03163314801590610a20575060125460ff16155b8015610a355750601054600160a01b900460ff165b8015610a515750601154305f9081526006602052604090205410155b905090565b6012805460ff19166001179055601154600c54600a545f91610a8891600291610a829182908790610eed565b90610f6b565b90505f610a958383610fac565b6040805160028082526060820183529293505f92909160208301908036833701905050905030815f81518110610acd57610acd6111f9565b6001600160a01b03928316602091820292909201810191909152600f54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610b24573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b48919061120d565b81600181518110610b5b57610b5b6111f9565b6001600160a01b039283166020918202929092010152600f5460405163791ac94760e01b81524792919091169063791ac94790610ba49086905f90879030904290600401611228565b5f604051808303815f87803b158015610bbb575f80fd5b505af1158015610bcd573d5f803e3d5ffd5b505050505f610be58247610fac90919063ffffffff16565b90505f610c0a610c016002600a54610f6b90919063ffffffff16565b600c5490610fac565b90505f610c2b6002610a8284610a82600a5488610eed90919063ffffffff16565b90505f610c4783610a82600b5487610eed90919063ffffffff16565b600e546040519192505f916001600160a01b039091169061753090849084818181858888f193505050503d805f8114610c9b576040519150601f19603f3d011682016040523d82523d5f602084013e610ca0565b606091505b5050905080610cf15760405162461bcd60e51b815260206004820152601e60248201527f72656365697665722072656a656374656420455448207472616e73666572000060448201526064016105cf565b8815610dd657600f5460405163f305d71960e01b8152306004820152602481018b90525f60448201819052606482015273a8364948b94b7fe7ad0494f9951635e7d6628dae60848201524260a48201526001600160a01b039091169063f305d71990859060c40160606040518083038185885af1158015610d74573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610d999190611297565b505060408051858152602081018c90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b50506012805460ff191690555050505050505050565b5f80610e09600d54610a82600c5486610eed90919063ffffffff16565b305f90815260066020526040902054909150610e259082610e8f565b305f81815260066020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610e759085815260200190565b60405180910390a3610e878382610fac565b949350505050565b5f80610e9b838561119d565b9050838110156105665760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105cf565b5f825f03610efc57505f6104a9565b5f610f0783856111b0565b905082610f1485836111c7565b146105665760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105cf565b5f61056683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610fed565b5f61056683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506106c2565b5f818361100d5760405162461bcd60e51b81526004016105cf9190611019565b505f6106f184866111c7565b5f6020808352835180828501525f5b8181101561104457858101830151858201604001528201611028565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146105a3575f80fd5b5f8060408385031215611089575f80fd5b823561109481611064565b946020939093013593505050565b5f805f606084860312156110b4575f80fd5b83356110bf81611064565b925060208401356110cf81611064565b929592945050506040919091013590565b5f602082840312156110f0575f80fd5b813561056681611064565b5f806040838503121561110c575f80fd5b50508035926020909101359150565b5f806040838503121561112c575f80fd5b823561113781611064565b9150602083013561114781611064565b809150509250929050565b5f60208284031215611162575f80fd5b5035919050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b808201808211156104a9576104a9611189565b80820281158282048414176104a9576104a9611189565b5f826111e157634e487b7160e01b5f52601260045260245ffd5b500490565b818103818111156104a9576104a9611189565b634e487b7160e01b5f52603260045260245ffd5b5f6020828403121561121d575f80fd5b815161056681611064565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156112765784516001600160a01b031683529383019391830191600101611251565b50506001600160a01b03969096166060850152505050608001529392505050565b5f805f606084860312156112a9575f80fd5b835192506020840151915060408401519050925092509256fea2646970667358221220cf20c7efc48516acc03244093e1163640ab04c67bf3f4e1dcbfff11dac91bdaa64736f6c63430008150033

Deployed Bytecode Sourcemap

4236:7802:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5300:54;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;5300:54:0;;;;;;;;6385:80;;;;;;;;;;-1:-1:-1;6457:5:0;;;;;;;;;;;-1:-1:-1;;;6457:5:0;;;;6385:80;;;;6457:5;6385:80;:::i;6807:216::-;;;;;;;;;;-1:-1:-1;6807:216:0;;;;;:::i;:::-;;:::i;:::-;;;1370:14:1;;1363:22;1345:41;;1333:2;1318:18;6807:216:0;1205:187:1;6115:88:0;;;;;;;;;;-1:-1:-1;6188:12:0;;6115:88;;7325:370;;;;;;;;;;-1:-1:-1;7325:370:0;;;;;:::i;:::-;;:::i;2474:103::-;;;;;;;;;;-1:-1:-1;2474:103:0;;;;;:::i;:::-;2529:4;2564:5;-1:-1:-1;;;;;2553:16:0;;;2564:5;;2553:16;;2474:103;6209:80;;;;;;;;;;-1:-1:-1;6209:80:0;;4549:1;2252:36:1;;2240:2;2225:18;6209:80:0;2110:184:1;11467:118:0;;;;;;;;;;;;;:::i;:::-;;11743:220;;;;;;;;;;-1:-1:-1;11743:220:0;;;;;:::i;:::-;;:::i;7031:122::-;;;;;;;;;;-1:-1:-1;7031:122:0;;;;;:::i;:::-;;:::i;4620:58::-;;;;;;;;;;;;;;;;5263:30;;;;;;;;;;-1:-1:-1;5263:30:0;;;;-1:-1:-1;;;5263:30:0;;;;;;6555:105;;;;;;;;;;-1:-1:-1;6555:105:0;;;;;:::i;:::-;-1:-1:-1;;;;;6639:18:0;6621:7;6639:18;;;:9;:18;;;;;;;6555:105;2583:131;;;;;;;;;;;;;:::i;4685:58::-;;;;;;;;;;;;;;;;6471:78;;;;;;;;;;-1:-1:-1;6523:7:0;6541:5;-1:-1:-1;;;;;6541:5:0;6471:78;;;-1:-1:-1;;;;;2716:32:1;;;2698:51;;2686:2;2671:18;6471:78:0;2552:203:1;5235:19:0;;;;;;;;;;-1:-1:-1;5235:19:0;;;;-1:-1:-1;;;;;5235:19:0;;;7161:156;;;;;;;;;;-1:-1:-1;7161:156:0;;;;;:::i;:::-;;:::i;6666:133::-;;;;;;;;;;-1:-1:-1;6666:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;6768:19:0;;;6750:7;6768:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;6666:133;5115:80;;;;;;;;;;-1:-1:-1;5115:80:0;;;;-1:-1:-1;;;;;5115:80:0;;;11593:142;;;;;;;;;;-1:-1:-1;11593:142:0;;;;;:::i;:::-;;:::i;5204:24::-;;;;;;;;;;-1:-1:-1;5204:24:0;;;;-1:-1:-1;;;;;5204:24:0;;;6807:216;6911:10;6882:4;6899:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;6899:32:0;;;;;;;;;;:41;;;6956:37;6882:4;;6899:32;;6956:37;;;;6934:6;160:25:1;;148:2;133:18;;14:177;6956:37:0;;;;;;;;-1:-1:-1;7011:4:0;6807:216;;;;;:::o;7325:370::-;-1:-1:-1;;;;;7445:19:0;;7425:4;7445:19;;;:11;:19;;;;;;;;7465:10;7445:31;;;;;;;;-1:-1:-1;;7445:52:0;7442:186;;7547:69;;;;;;;;;;;-1:-1:-1;;;7547:69:0;;;;;;;;-1:-1:-1;;;;;7547:19:0;;-1:-1:-1;7547:19:0;;;:11;:19;;;;;7567:10;7547:31;;;;;;;;;;:69;;7583:6;;7547:35;:69::i;:::-;-1:-1:-1;;;;;7513:19:0;;;;;;:11;:19;;;;;;;;7533:10;7513:31;;;;;;;:103;7442:186;7647:40;7661:6;7669:9;7680:6;7647:13;:40::i;:::-;7640:47;;7325:370;;;;;;:::o;11467:118::-;11524:20;;11516:61;;-1:-1:-1;;;;;11524:20:0;;;;11555:21;11516:61;;;;;11524:20;11516:61;11524:20;11516:61;11555:21;11524:20;11516:61;;;;;;;;;;;;;;;;;;;;;11467:118::o;11743:220::-;2529:4;2564:5;-1:-1:-1;;;;;2564:5:0;2435:10;2553:16;2419:38;;;;-1:-1:-1;;;2419:38:0;;;;;;;:::i;:::-;;;;;;;;;11836:12:::1;:28:::0;;;11877:12:::1;:28:::0;;;11928:27:::1;11892:13:::0;11851;11928:27:::1;:::i;:::-;11917:8;:38:::0;-1:-1:-1;;11743:220:0:o;7031:122::-;7086:4;7110:35;7118:7;-1:-1:-1;;7110:7:0;:35::i;2583:131::-;2529:4;2564:5;-1:-1:-1;;;;;2564:5:0;2435:10;2553:16;2419:38;;;;-1:-1:-1;;;2419:38:0;;;;;;;:::i;:::-;2656:1:::1;2640:18:::0;;-1:-1:-1;;;;;;2640:18:0::1;::::0;;2674:32:::1;::::0;2698:51:1;;;2674:32:0::1;::::0;2686:2:1;2671:18;2674:32:0::1;;;;;;;2583:131::o:0;7161:156::-;7241:4;7265:44;7279:10;7291:9;7302:6;7265:13;:44::i;11593:142::-;2529:4;2564:5;-1:-1:-1;;;;;2564:5:0;2435:10;2553:16;2419:38;;;;-1:-1:-1;;;2419:38:0;;;;;;;:::i;:::-;11723:4:::1;11705:13;11690:12;;:28;;;;:::i;:::-;11689:38;;;;:::i;:::-;11670:16;:57:::0;-1:-1:-1;11593:142:0:o;563:190::-;649:7;685:12;677:6;;;;669:29;;;;-1:-1:-1;;;669:29:0;;;;;;;;:::i;:::-;-1:-1:-1;709:9:0;721:5;725:1;721;:5;:::i;:::-;709:17;563:190;-1:-1:-1;;;;;563:190:0:o;7703:792::-;7815:6;;7795:4;;7815:6;;7812:63;;;7831:41;7846:6;7854:9;7865:6;7831:14;:41::i;:::-;7824:48;;;;7812:63;7912:4;;-1:-1:-1;;;;;7899:17:0;;;7912:4;;7899:17;;;;:38;;-1:-1:-1;7933:4:0;;-1:-1:-1;;;;;7920:17:0;;;7933:4;;7920:17;;7899:38;7895:200;;;-1:-1:-1;;;;;7962:26:0;;;;;;:15;:26;;;;;;;;;:79;;-1:-1:-1;8025:16:0;;-1:-1:-1;;;;;7992:20:0;;;;;;:9;:20;;;;;;:29;;8015:6;;7992:29;:::i;:::-;:49;;7962:79;7954:129;;;;-1:-1:-1;;;7954:129:0;;4890:2:1;7954: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;;7954:129:0;4688:401:1;7954:129:0;8118:16;:14;:16::i;:::-;8115:35;;;8137:10;:8;:10::i;:::-;8183:53;;;;;;;;;;;-1:-1:-1;;;8183:53:0;;;;;;;;-1:-1:-1;;;;;8183:17:0;;-1:-1:-1;8183:17:0;;;:9;:17;;;;;;;;:53;;8205:6;;8183:21;:53::i;:::-;-1:-1:-1;;;;;8163:17:0;;;;;;:9;:17;;;;;;;;:73;;;;8932:11;:19;;;;;;;;8931:20;8274:56;;8324:6;8274:56;;;8298:23;8306:6;8314;8298:7;:23::i;:::-;-1:-1:-1;;;;;8364:20:0;;;;;;:9;:20;;;;;;8249:81;;-1:-1:-1;8364:40:0;;8249:81;8364:24;:40::i;:::-;-1:-1:-1;;;;;8341:20:0;;;;;;;:9;:20;;;;;;;:63;;;;8422:43;;;;;;;;;;8450:14;160:25:1;;148:2;133:18;;14:177;8422:43:0;;;;;;;;-1:-1:-1;8483:4:0;;7703:792;-1:-1:-1;;;;7703:792:0:o;8507:330::-;8637:53;;;;;;;;;;;-1:-1:-1;;;8637:53:0;;;;;;;;-1:-1:-1;;;;;8637:17:0;;8600:4;8637:17;;;:9;:17;;;;;;;:53;;8659:6;;8637:21;:53::i;:::-;-1:-1:-1;;;;;8617:17:0;;;;;;;:9;:17;;;;;;:73;;;;8724:20;;;;;;;:32;;8749:6;8724:24;:32::i;:::-;-1:-1:-1;;;;;8701:20:0;;;;;;;:9;:20;;;;;;;:55;;;;8772:35;;;;;;;;;;8800:6;160:25:1;;148:2;133:18;;14:177;8772:35:0;;;;;;;;-1:-1:-1;8825:4:0;8507:330;;;;;:::o;9304:197::-;9391:4;;9353;;-1:-1:-1;;;;;9391:4:0;9377:10;:18;;;;:38;;-1:-1:-1;9409:6:0;;;;9408:7;9377:38;:62;;;;-1:-1:-1;9428:11:0;;-1:-1:-1;;;9428:11:0;;;;9377:62;:116;;;;-1:-1:-1;9480:13:0;;9470:4;9452:24;;;;:9;:24;;;;;;:41;;9377:116;9370:123;;9304:197;:::o;9509:1572::-;5409:6;:13;;-1:-1:-1;;5409:13:0;5418:4;5409:13;;;9589::::1;::::0;9682:8:::1;::::0;9664:12:::1;::::0;5409:6;;9639:59:::1;::::0;9696:1:::1;::::0;9639:52:::1;::::0;;;9589:13;;9639:24:::1;:38::i;:::-;:42:::0;::::1;:52::i;:59::-;9613:85:::0;-1:-1:-1;9709:20:0::1;9732:41;:20:::0;9613:85;9732:24:::1;:41::i;:::-;9810:16;::::0;;9824:1:::1;9810:16:::0;;;;;::::1;::::0;;9709:64;;-1:-1:-1;9786:21:0::1;::::0;9810:16;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9810:16:0::1;9786:40;;9855:4;9837;9842:1;9837:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9837:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;9881:6:::1;::::0;:13:::1;::::0;;-1:-1:-1;;;9881:13:0;;;;:6;;;::::1;::::0;:11:::1;::::0;:13:::1;::::0;;::::1;::::0;9837:7;;9881:13;;;;;:6;:13:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9871:4;9876:1;9871:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9871:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;9965:6:::1;::::0;:188:::1;::::0;-1:-1:-1;;;9965:188:0;;9931:21:::1;::::0;9965:6;;;::::1;::::0;:57:::1;::::0;:188:::1;::::0;10037:12;;9907:21:::1;::::0;10080:4;;10107::::1;::::0;10127:15:::1;::::0;9965:188:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10164:17;10184:40;10210:13;10184:21;:25;;:40;;;;:::i;:::-;10164:60;;10235:19;10257:33;10270:19;10287:1;10270:12;;:16;;:19;;;;:::i;:::-;10257:8;::::0;;:12:::1;:33::i;:::-;10235:55;;10301:26;10330:51;10379:1;10330:44;10362:11;10330:27;10344:12;;10330:9;:13;;:27;;;;:::i;:51::-;10301:80;;10392:26;10421:44;10453:11;10421:27;10435:12;;10421:9;:13;;:27;;;;:::i;:44::-;10539:20;::::0;10531:77:::1;::::0;10392:73;;-1:-1:-1;10481:21:0::1;::::0;-1:-1:-1;;;;;10539:20:0;;::::1;::::0;10598:5:::1;::::0;10392:73;;10481:21;10531:77;10481:21;10531:77;10392:73;10539:20;10598:5;10531:77:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10480:128;;;10627:16;10619:59;;;::::0;-1:-1:-1;;;10619:59:0;;7011:2:1;10619:59:0::1;::::0;::::1;6993:21:1::0;7050:2;7030:18;;;7023:30;7089:32;7069:18;;;7062:60;7139:18;;10619:59:0::1;6809:354:1::0;10619:59:0::1;10694:19:::0;;10691:383:::1;;10729:6;::::0;:265:::1;::::0;-1:-1:-1;;;10729:265:0;;10805:4:::1;10729:265;::::0;::::1;7509:34:1::0;7559:18;;;7552:34;;;10729:6:0::1;7602:18:1::0;;;7595:34;;;7645:18;;;7638:34;10903:42:0::1;7688:19:1::0;;;7681:44;10964:15:0::1;7741:19:1::0;;;7734:35;-1:-1:-1;;;;;10729:6:0;;::::1;::::0;:22:::1;::::0;10759:18;;7443:19:1;;10729:265:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;11014:48:0::1;::::0;;8265:25:1;;;8321:2;8306:18;;8299:34;;;11014:48:0::1;::::0;-1:-1:-1;8238:18:1;11014:48:0::1;;;;;;;10691:383;-1:-1:-1::0;;5427:6:0;:14;;-1:-1:-1;;5427:14:0;;;-1:-1:-1;;;;;;;;9509:1572:0:o;8967:329::-;9034:7;9054:17;9074:40;9099:14;;9074:20;9085:8;;9074:6;:10;;:20;;;;:::i;:40::-;9170:4;9152:24;;;;:9;:24;;;;;;9054:60;;-1:-1:-1;9152:39:0;;9054:60;9152:28;:39::i;:::-;9143:4;9125:24;;;;:9;:24;;;;;;;:66;;;;9207:42;;-1:-1:-1;;;;;9207:42:0;;;;;;;9239:9;160:25:1;;148:2;133:18;;14:177;9207:42:0;;;;;;;;9267:21;:6;9278:9;9267:10;:21::i;:::-;9260:28;8967:329;-1:-1:-1;;;;8967:329:0:o;236:179::-;294:7;;326:5;330:1;326;:5;:::i;:::-;314:17;;355:1;350;:6;;342:46;;;;-1:-1:-1;;;342:46:0;;8546:2:1;342:46:0;;;8528:21:1;8585:2;8565:18;;;8558:30;8624:29;8604:18;;;8597:57;8671:18;;342:46:0;8344:351:1;759:246:0;817:7;841:1;846;841:6;837:47;;-1:-1:-1;871:1:0;864:8;;837:47;894:9;906:5;910:1;906;:5;:::i;:::-;894:17;-1:-1:-1;939:1:0;930:5;934:1;894:17;930:5;:::i;:::-;:10;922:56;;;;-1:-1:-1;;;922:56:0;;8902:2:1;922: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;;922:56:0;8700:397:1;1011:132:0;1069:7;1096:39;1100:1;1103;1096:39;;;;;;;;;;;;;;;;;:3;:39::i;421:136::-;479:7;506:43;510:1;513;506:43;;;;;;;;;;;;;;;;;:3;:43::i;1149:189::-;1235:7;1270:12;1263:5;1255:28;;;;-1:-1:-1;;;1255:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1294:9:0;1306:5;1310:1;1306;: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://cf20c7efc48516acc03244093e1163640ab04c67bf3f4e1dcbfff11dac91bdaa

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.