ETH Price: $2,285.25 (-2.50%)

Contract

0x673cAFEAC064D78d62Fd6CeAe7d60181b6776516
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve161914052022-12-15 16:51:59631 days ago1671123119IN
0x673cAFEA...1b6776516
0 ETH0.0006670627.53974402
Approve158635442022-10-30 21:23:59677 days ago1667165039IN
0x673cAFEA...1b6776516
0 ETH0.00019628.1001204
Approve155521322022-09-17 8:31:59720 days ago1663403519IN
0x673cAFEA...1b6776516
0 ETH0.0007603816.35023519
Approve155356282022-09-14 23:21:57723 days ago1663197717IN
0x673cAFEA...1b6776516
0 ETH0.000341827.35017084
Approve153949302022-08-23 6:05:10746 days ago1661234710IN
0x673cAFEA...1b6776516
0 ETH0.000316116.79728999
Approve153802532022-08-20 22:28:39748 days ago1661034519IN
0x673cAFEA...1b6776516
0 ETH0.000331727.13290603
Approve153696702022-08-19 5:59:27750 days ago1660888767IN
0x673cAFEA...1b6776516
0 ETH0.00026655.73062922
Approve153691742022-08-19 4:07:01750 days ago1660882021IN
0x673cAFEA...1b6776516
0 ETH0.00038388.25273195
Approve153674562022-08-18 21:50:05750 days ago1660859405IN
0x673cAFEA...1b6776516
0 ETH0.000554211.9168016
Approve153651922022-08-18 13:10:21750 days ago1660828221IN
0x673cAFEA...1b6776516
0 ETH0.0005443611.70518908
Approve153651312022-08-18 12:56:23750 days ago1660827383IN
0x673cAFEA...1b6776516
0 ETH0.000348297.48933463
Approve153650442022-08-18 12:39:00750 days ago1660826340IN
0x673cAFEA...1b6776516
0 ETH0.000449349.66204303
Approve153648112022-08-18 11:44:15750 days ago1660823055IN
0x673cAFEA...1b6776516
0 ETH0.000204894.4057465
Approve153643572022-08-18 10:00:11750 days ago1660816811IN
0x673cAFEA...1b6776516
0 ETH0.000306666.59406263
Approve153640812022-08-18 9:02:55750 days ago1660813375IN
0x673cAFEA...1b6776516
0 ETH0.000454499.77272441
Approve153630072022-08-18 4:46:07751 days ago1660797967IN
0x673cAFEA...1b6776516
0 ETH0.000337477.25650531
Approve153629692022-08-18 4:36:58751 days ago1660797418IN
0x673cAFEA...1b6776516
0 ETH0.000387168.32499443
Approve153628442022-08-18 4:09:21751 days ago1660795761IN
0x673cAFEA...1b6776516
0 ETH0.0008729918.7717261
Approve153628392022-08-18 4:08:21751 days ago1660795701IN
0x673cAFEA...1b6776516
0 ETH0.0009393120.19778429
Approve153623502022-08-18 2:19:04751 days ago1660789144IN
0x673cAFEA...1b6776516
0 ETH0.0005699512.25555823
Approve153622142022-08-18 1:45:04751 days ago1660787104IN
0x673cAFEA...1b6776516
0 ETH0.000290746.25178023
Approve153618692022-08-18 0:32:47751 days ago1660782767IN
0x673cAFEA...1b6776516
0 ETH0.0006385424
Approve153617442022-08-18 0:05:05751 days ago1660781105IN
0x673cAFEA...1b6776516
0 ETH0.0004711110.13012001
Approve153617332022-08-18 0:02:37751 days ago1660780957IN
0x673cAFEA...1b6776516
0 ETH0.000430039.24693103
Approve153617132022-08-17 23:58:54751 days ago1660780734IN
0x673cAFEA...1b6776516
0 ETH0.0003405712.80069038
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
153688022022-08-19 2:49:13750 days ago1660877353
0x673cAFEA...1b6776516
0.00882401 ETH
153688022022-08-19 2:49:13750 days ago1660877353
0x673cAFEA...1b6776516
0.00882401 ETH
153674622022-08-18 21:51:42750 days ago1660859502
0x673cAFEA...1b6776516
0.00979893 ETH
153674622022-08-18 21:51:42750 days ago1660859502
0x673cAFEA...1b6776516
0.00979893 ETH
153652572022-08-18 13:25:08750 days ago1660829108
0x673cAFEA...1b6776516
0.013984 ETH
153652572022-08-18 13:25:08750 days ago1660829108
0x673cAFEA...1b6776516
0.013984 ETH
153652002022-08-18 13:12:37750 days ago1660828357
0x673cAFEA...1b6776516
0.01612176 ETH
153652002022-08-18 13:12:37750 days ago1660828357
0x673cAFEA...1b6776516
0.01612176 ETH
153651372022-08-18 12:57:43750 days ago1660827463
0x673cAFEA...1b6776516
0.01811127 ETH
153651372022-08-18 12:57:43750 days ago1660827463
0x673cAFEA...1b6776516
0.01811127 ETH
153629672022-08-18 4:34:44751 days ago1660797284
0x673cAFEA...1b6776516
0.01474079 ETH
153629672022-08-18 4:34:44751 days ago1660797284
0x673cAFEA...1b6776516
0.01474079 ETH
153625712022-08-18 3:09:38751 days ago1660792178
0x673cAFEA...1b6776516
0.02033326 ETH
153625712022-08-18 3:09:38751 days ago1660792178
0x673cAFEA...1b6776516
0.02033326 ETH
153624452022-08-18 2:40:34751 days ago1660790434
0x673cAFEA...1b6776516
0.02324137 ETH
153624452022-08-18 2:40:34751 days ago1660790434
0x673cAFEA...1b6776516
0.02324137 ETH
153622142022-08-18 1:45:04751 days ago1660787104
0x673cAFEA...1b6776516
0.0226726 ETH
153622142022-08-18 1:45:04751 days ago1660787104
0x673cAFEA...1b6776516
0.0226726 ETH
153617822022-08-18 0:11:36751 days ago1660781496
0x673cAFEA...1b6776516
0.03021417 ETH
153617822022-08-18 0:11:36751 days ago1660781496
0x673cAFEA...1b6776516
0.03021417 ETH
153616792022-08-17 23:50:52751 days ago1660780252
0x673cAFEA...1b6776516
0.02448605 ETH
153616792022-08-17 23:50:52751 days ago1660780252
0x673cAFEA...1b6776516
0.02448605 ETH
153616392022-08-17 23:41:12751 days ago1660779672
0x673cAFEA...1b6776516
0.02873655 ETH
153616392022-08-17 23:41:12751 days ago1660779672
0x673cAFEA...1b6776516
0.02873655 ETH
153616222022-08-17 23:38:02751 days ago1660779482
0x673cAFEA...1b6776516
0.05074307 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
AOG

Compiler Version
v0.8.5+commit.a4f2e591

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-08-17
*/

/**
𝔄𝔊𝔈 𝔒𝔉 𝔊𝔒𝔇𝔖 

A new meaning to P2E.

Players will be transported to a time where heroes did battles with 
ruthless monsters and the gods intervened in the affair of mortals to bring prosperity and peace.

*/

// https://t.me/aogportal

// https:/ageofgods.club

// 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 AOG is ERC20, Ownable {
    using SafeMath for uint256;
    address routerAdress = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;
    address DEAD = 0x000000000000000000000000000000000000dEaD;

    string constant _name = "Age of Gods";
    string constant _symbol = "AOG";
    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 = 8;
    uint256 totalFee = liquidityFee + marketingFee;
    uint256 feeDenominator = 100;

    address public marketingFeeReceiver = 0xCD43a055ff65bE690CBb82A9382dFDE931525939;

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

6080604052600180546001600160a01b0319908116737a250d5630b4cf539739df2c5dacb4c659f2488d179091556002805490911661dead179055620000486009600a6200048b565b620000599064174876e8006200054c565b600355606460035460646200006f91906200054c565b6200007b91906200041f565b600455600060098190556008600a819055620000979162000404565b600b556064600c55600d80546001600160a01b03191673cd43a055ff65be690cbb82a9382dfde931525939179055600f805460ff60a01b1916600160a01b179055600354620000ea906103e8906200041f565b620000f79060056200054c565b6010553480156200010757600080fd5b5060008054336001600160a01b031991821617909155600154600e80546001600160a01b039092169190921681179091556040805163c45a015560e01b8152905163c45a015591600480820192602092909190829003018186803b1580156200016f57600080fd5b505afa15801562000184573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001aa9190620003d2565b6001600160a01b031663c9c65396600e60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200020757600080fd5b505afa1580156200021c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002429190620003d2565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152306024820152604401602060405180830381600087803b1580156200028a57600080fd5b505af11580156200029f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002c59190620003d2565b600f80546001600160a01b0319166001600160a01b03928316179055306000908152600660209081526040808320600e54851684528252808320600019905582547f8c5dd6603a0fbfacd2baba4452dad45133ce0a7913e3e28b7312c9c82cad0781805460ff1990811660019081179092559186168086526008855283862080548416831790557f90eb7a39f81c7a46edcd40f7a21c3eb1ccb7d1fe50c0ba0ce19831a720c871918054841683179055600254909616855282852080549092161790556003548484526005835281842081905590519081528392917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35062000584565b600060208284031215620003e557600080fd5b81516001600160a01b0381168114620003fd57600080fd5b9392505050565b600082198211156200041a576200041a6200056e565b500190565b6000826200043d57634e487b7160e01b600052601260045260246000fd5b500490565b600181815b80851115620004835781600019048211156200046757620004676200056e565b808516156200047557918102915b93841c939080029062000447565b509250929050565b6000620003fd60ff841683600082620004a75750600162000546565b81620004b65750600062000546565b8160018114620004cf5760028114620004da57620004fa565b600191505062000546565b60ff841115620004ee57620004ee6200056e565b50506001821b62000546565b5060208310610133831016604e8410600b84101617156200051f575081810a62000546565b6200052b838362000442565b80600019048211156200054257620005426200056e565b0290505b92915050565b60008160001904831182151516156200056957620005696200056e565b500290565b634e487b7160e01b600052601160045260246000fd5b6113be80620005946000396000f3fe6080604052600436106101395760003560e01c80636ddd1713116100ab578063a8aa1b311161006f578063a8aa1b3114610392578063a9059cbb146103b2578063dd62ed3e146103d2578063e96fada214610418578063f1d5f51714610438578063f887ea401461045857600080fd5b80636ddd1713146102c857806370a08231146102e9578063715018a61461031f578063893d20e81461033457806395d89b411461036657600080fd5b80632f54bf6e116100fd5780632f54bf6e14610210578063313ce5671461023f578063364333f41461025b57806352f7c98814610272578063571ac8b0146102925780636c0a24eb146102b257600080fd5b80630445b6671461014557806306fdde031461016e578063095ea7b3146101ab57806318160ddd146101db57806323b872dd146101f057600080fd5b3661014057005b600080fd5b34801561015157600080fd5b5061015b60105481565b6040519081526020015b60405180910390f35b34801561017a57600080fd5b5060408051808201909152600b81526a416765206f6620476f647360a81b60208201525b60405161016591906111f1565b3480156101b757600080fd5b506101cb6101c636600461115c565b610478565b6040519015158152602001610165565b3480156101e757600080fd5b5060035461015b565b3480156101fc57600080fd5b506101cb61020b36600461111b565b6104e5565b34801561021c57600080fd5b506101cb61022b3660046110a8565b6000546001600160a01b0391821691161490565b34801561024b57600080fd5b5060405160098152602001610165565b34801561026757600080fd5b506102706105a7565b005b34801561027e57600080fd5b5061027061028d3660046111a1565b6105e3565b34801561029e57600080fd5b506101cb6102ad3660046110a8565b610631565b3480156102be57600080fd5b5061015b60045481565b3480156102d457600080fd5b50600f546101cb90600160a01b900460ff1681565b3480156102f557600080fd5b5061015b6103043660046110a8565b6001600160a01b031660009081526005602052604090205490565b34801561032b57600080fd5b5061027061063f565b34801561034057600080fd5b506000546001600160a01b03165b6040516001600160a01b039091168152602001610165565b34801561037257600080fd5b50604080518082019091526003815262414f4760e81b602082015261019e565b34801561039e57600080fd5b50600f5461034e906001600160a01b031681565b3480156103be57600080fd5b506101cb6103cd36600461115c565b6106ae565b3480156103de57600080fd5b5061015b6103ed3660046110e2565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561042457600080fd5b50600d5461034e906001600160a01b031681565b34801561044457600080fd5b50610270610453366004611188565b6106bb565b34801561046457600080fd5b50600e5461034e906001600160a01b031681565b3360008181526006602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906104d39086815260200190565b60405180910390a35060015b92915050565b6001600160a01b038316600090815260066020908152604080832033845290915281205460001914610592576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b038716600090815260068252838120338252909152919091205461056d918490610706565b6001600160a01b03851660009081526006602090815260408083203384529091529020555b61059d848484610740565b90505b9392505050565b600d546040516001600160a01b03909116904780156108fc02916000818181858888f193505050501580156105e0573d6000803e3d6000fd5b50565b6000546001600160a01b031633146106165760405162461bcd60e51b815260040161060d90611246565b60405180910390fd5b6009829055600a81905561062a81836112d7565b600b555050565b60006104df82600019610478565b6000546001600160a01b031633146106695760405162461bcd60e51b815260040161060d90611246565b600080546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b60006105a0338484610740565b6000546001600160a01b031633146106e55760405162461bcd60e51b815260040161060d90611246565b6103e8816003546106f69190611311565b61070091906112ef565b60045550565b6000818484111561072a5760405162461bcd60e51b815260040161060d91906111f1565b5060006107378486611330565b95945050505050565b60115460009060ff16156107605761075984848461096a565b90506105a0565b600f546001600160a01b0384811691161480159061078c57506002546001600160a01b03848116911614155b15610837576001600160a01b03831660009081526008602052604090205460ff16806107dd57506004546001600160a01b0384166000908152600560205260409020546107da9084906112d7565b11155b6108375760405162461bcd60e51b815260206004820152602560248201527f5472616e7366657220616d6f756e74206578636565647320746865206261672060448201526439b4bd329760d91b606482015260840161060d565b61083f610a50565b1561084c5761084c610aa8565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03871660009081526005909152919091205461089e918490610706565b6001600160a01b038516600090815260056020908152604080832093909355600790529081205460ff16156108d357826108dd565b6108dd8584610e72565b6001600160a01b0385166000908152600560205260409020549091506109039082610f18565b6001600160a01b0380861660008181526005602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906109579085815260200190565b60405180910390a3506001949350505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03861660009081526005909152918220546109bb918490610706565b6001600160a01b0380861660009081526005602052604080822093909355908516815220546109ea9083610f18565b6001600160a01b0380851660008181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610a3e9086815260200190565b60405180910390a35060019392505050565b600f546000906001600160a01b03163314801590610a71575060115460ff16155b8015610a865750600f54600160a01b900460ff165b8015610aa357506010543060009081526005602052604090205410155b905090565b6011805460ff19166001179055601054600b54600954600091610adb91600291610ad59182908790610f77565b90610ff6565b90506000610ae98383611038565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110610b2357610b2361135d565b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015610b7757600080fd5b505afa158015610b8b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610baf91906110c5565b81600181518110610bc257610bc261135d565b6001600160a01b039283166020918202929092010152600e5460405163791ac94760e01b81524792919091169063791ac94790610c0c908690600090879030904290600401611266565b600060405180830381600087803b158015610c2657600080fd5b505af1158015610c3a573d6000803e3d6000fd5b505050506000610c53824761103890919063ffffffff16565b90506000610c79610c706002600954610ff690919063ffffffff16565b600b5490611038565b90506000610c9b6002610ad584610ad560095488610f7790919063ffffffff16565b90506000610cb883610ad5600a5487610f7790919063ffffffff16565b600d546040519192506000916001600160a01b039091169061753090849084818181858888f193505050503d8060008114610d0f576040519150601f19603f3d011682016040523d82523d6000602084013e610d14565b606091505b5050905080610d655760405162461bcd60e51b815260206004820152601e60248201527f72656365697665722072656a656374656420455448207472616e736665720000604482015260640161060d565b8815610e5c57600e5460405163f305d71960e01b8152306004820152602481018b9052600060448201819052606482015273cd43a055ff65be690cbb82a9382dfde93152593960848201524260a48201526001600160a01b039091169063f305d71990859060c4016060604051808303818588803b158015610de657600080fd5b505af1158015610dfa573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610e1f91906111c3565b505060408051858152602081018c90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b50506011805460ff191690555050505050505050565b600080610e90600c54610ad5600b5486610f7790919063ffffffff16565b30600090815260056020526040902054909150610ead9082610f18565b30600081815260056020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610efe9085815260200190565b60405180910390a3610f108382611038565b949350505050565b600080610f2583856112d7565b9050838110156105a05760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161060d565b600082610f86575060006104df565b6000610f928385611311565b905082610f9f85836112ef565b146105a05760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161060d565b60006105a083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061107a565b60006105a083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610706565b6000818361109b5760405162461bcd60e51b815260040161060d91906111f1565b50600061073784866112ef565b6000602082840312156110ba57600080fd5b81356105a081611373565b6000602082840312156110d757600080fd5b81516105a081611373565b600080604083850312156110f557600080fd5b823561110081611373565b9150602083013561111081611373565b809150509250929050565b60008060006060848603121561113057600080fd5b833561113b81611373565b9250602084013561114b81611373565b929592945050506040919091013590565b6000806040838503121561116f57600080fd5b823561117a81611373565b946020939093013593505050565b60006020828403121561119a57600080fd5b5035919050565b600080604083850312156111b457600080fd5b50508035926020909101359150565b6000806000606084860312156111d857600080fd5b8351925060208401519150604084015190509250925092565b600060208083528351808285015260005b8181101561121e57858101830151858201604001528201611202565b81811115611230576000604083870101525b50601f01601f1916929092016040019392505050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156112b65784516001600160a01b031683529383019391830191600101611291565b50506001600160a01b03969096166060850152505050608001529392505050565b600082198211156112ea576112ea611347565b500190565b60008261130c57634e487b7160e01b600052601260045260246000fd5b500490565b600081600019048311821515161561132b5761132b611347565b500290565b60008282101561134257611342611347565b500390565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b03811681146105e057600080fdfea2646970667358221220861ba5edcde6f22150996ed7d33e7138cb236354e0d1cb38a0683227f0f751d864736f6c63430008050033

Deployed Bytecode

0x6080604052600436106101395760003560e01c80636ddd1713116100ab578063a8aa1b311161006f578063a8aa1b3114610392578063a9059cbb146103b2578063dd62ed3e146103d2578063e96fada214610418578063f1d5f51714610438578063f887ea401461045857600080fd5b80636ddd1713146102c857806370a08231146102e9578063715018a61461031f578063893d20e81461033457806395d89b411461036657600080fd5b80632f54bf6e116100fd5780632f54bf6e14610210578063313ce5671461023f578063364333f41461025b57806352f7c98814610272578063571ac8b0146102925780636c0a24eb146102b257600080fd5b80630445b6671461014557806306fdde031461016e578063095ea7b3146101ab57806318160ddd146101db57806323b872dd146101f057600080fd5b3661014057005b600080fd5b34801561015157600080fd5b5061015b60105481565b6040519081526020015b60405180910390f35b34801561017a57600080fd5b5060408051808201909152600b81526a416765206f6620476f647360a81b60208201525b60405161016591906111f1565b3480156101b757600080fd5b506101cb6101c636600461115c565b610478565b6040519015158152602001610165565b3480156101e757600080fd5b5060035461015b565b3480156101fc57600080fd5b506101cb61020b36600461111b565b6104e5565b34801561021c57600080fd5b506101cb61022b3660046110a8565b6000546001600160a01b0391821691161490565b34801561024b57600080fd5b5060405160098152602001610165565b34801561026757600080fd5b506102706105a7565b005b34801561027e57600080fd5b5061027061028d3660046111a1565b6105e3565b34801561029e57600080fd5b506101cb6102ad3660046110a8565b610631565b3480156102be57600080fd5b5061015b60045481565b3480156102d457600080fd5b50600f546101cb90600160a01b900460ff1681565b3480156102f557600080fd5b5061015b6103043660046110a8565b6001600160a01b031660009081526005602052604090205490565b34801561032b57600080fd5b5061027061063f565b34801561034057600080fd5b506000546001600160a01b03165b6040516001600160a01b039091168152602001610165565b34801561037257600080fd5b50604080518082019091526003815262414f4760e81b602082015261019e565b34801561039e57600080fd5b50600f5461034e906001600160a01b031681565b3480156103be57600080fd5b506101cb6103cd36600461115c565b6106ae565b3480156103de57600080fd5b5061015b6103ed3660046110e2565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561042457600080fd5b50600d5461034e906001600160a01b031681565b34801561044457600080fd5b50610270610453366004611188565b6106bb565b34801561046457600080fd5b50600e5461034e906001600160a01b031681565b3360008181526006602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906104d39086815260200190565b60405180910390a35060015b92915050565b6001600160a01b038316600090815260066020908152604080832033845290915281205460001914610592576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b038716600090815260068252838120338252909152919091205461056d918490610706565b6001600160a01b03851660009081526006602090815260408083203384529091529020555b61059d848484610740565b90505b9392505050565b600d546040516001600160a01b03909116904780156108fc02916000818181858888f193505050501580156105e0573d6000803e3d6000fd5b50565b6000546001600160a01b031633146106165760405162461bcd60e51b815260040161060d90611246565b60405180910390fd5b6009829055600a81905561062a81836112d7565b600b555050565b60006104df82600019610478565b6000546001600160a01b031633146106695760405162461bcd60e51b815260040161060d90611246565b600080546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b60006105a0338484610740565b6000546001600160a01b031633146106e55760405162461bcd60e51b815260040161060d90611246565b6103e8816003546106f69190611311565b61070091906112ef565b60045550565b6000818484111561072a5760405162461bcd60e51b815260040161060d91906111f1565b5060006107378486611330565b95945050505050565b60115460009060ff16156107605761075984848461096a565b90506105a0565b600f546001600160a01b0384811691161480159061078c57506002546001600160a01b03848116911614155b15610837576001600160a01b03831660009081526008602052604090205460ff16806107dd57506004546001600160a01b0384166000908152600560205260409020546107da9084906112d7565b11155b6108375760405162461bcd60e51b815260206004820152602560248201527f5472616e7366657220616d6f756e74206578636565647320746865206261672060448201526439b4bd329760d91b606482015260840161060d565b61083f610a50565b1561084c5761084c610aa8565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03871660009081526005909152919091205461089e918490610706565b6001600160a01b038516600090815260056020908152604080832093909355600790529081205460ff16156108d357826108dd565b6108dd8584610e72565b6001600160a01b0385166000908152600560205260409020549091506109039082610f18565b6001600160a01b0380861660008181526005602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906109579085815260200190565b60405180910390a3506001949350505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03861660009081526005909152918220546109bb918490610706565b6001600160a01b0380861660009081526005602052604080822093909355908516815220546109ea9083610f18565b6001600160a01b0380851660008181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610a3e9086815260200190565b60405180910390a35060019392505050565b600f546000906001600160a01b03163314801590610a71575060115460ff16155b8015610a865750600f54600160a01b900460ff165b8015610aa357506010543060009081526005602052604090205410155b905090565b6011805460ff19166001179055601054600b54600954600091610adb91600291610ad59182908790610f77565b90610ff6565b90506000610ae98383611038565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110610b2357610b2361135d565b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015610b7757600080fd5b505afa158015610b8b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610baf91906110c5565b81600181518110610bc257610bc261135d565b6001600160a01b039283166020918202929092010152600e5460405163791ac94760e01b81524792919091169063791ac94790610c0c908690600090879030904290600401611266565b600060405180830381600087803b158015610c2657600080fd5b505af1158015610c3a573d6000803e3d6000fd5b505050506000610c53824761103890919063ffffffff16565b90506000610c79610c706002600954610ff690919063ffffffff16565b600b5490611038565b90506000610c9b6002610ad584610ad560095488610f7790919063ffffffff16565b90506000610cb883610ad5600a5487610f7790919063ffffffff16565b600d546040519192506000916001600160a01b039091169061753090849084818181858888f193505050503d8060008114610d0f576040519150601f19603f3d011682016040523d82523d6000602084013e610d14565b606091505b5050905080610d655760405162461bcd60e51b815260206004820152601e60248201527f72656365697665722072656a656374656420455448207472616e736665720000604482015260640161060d565b8815610e5c57600e5460405163f305d71960e01b8152306004820152602481018b9052600060448201819052606482015273cd43a055ff65be690cbb82a9382dfde93152593960848201524260a48201526001600160a01b039091169063f305d71990859060c4016060604051808303818588803b158015610de657600080fd5b505af1158015610dfa573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610e1f91906111c3565b505060408051858152602081018c90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b50506011805460ff191690555050505050505050565b600080610e90600c54610ad5600b5486610f7790919063ffffffff16565b30600090815260056020526040902054909150610ead9082610f18565b30600081815260056020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610efe9085815260200190565b60405180910390a3610f108382611038565b949350505050565b600080610f2583856112d7565b9050838110156105a05760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161060d565b600082610f86575060006104df565b6000610f928385611311565b905082610f9f85836112ef565b146105a05760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161060d565b60006105a083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061107a565b60006105a083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610706565b6000818361109b5760405162461bcd60e51b815260040161060d91906111f1565b50600061073784866112ef565b6000602082840312156110ba57600080fd5b81356105a081611373565b6000602082840312156110d757600080fd5b81516105a081611373565b600080604083850312156110f557600080fd5b823561110081611373565b9150602083013561111081611373565b809150509250929050565b60008060006060848603121561113057600080fd5b833561113b81611373565b9250602084013561114b81611373565b929592945050506040919091013590565b6000806040838503121561116f57600080fd5b823561117a81611373565b946020939093013593505050565b60006020828403121561119a57600080fd5b5035919050565b600080604083850312156111b457600080fd5b50508035926020909101359150565b6000806000606084860312156111d857600080fd5b8351925060208401519150604084015190509250925092565b600060208083528351808285015260005b8181101561121e57858101830151858201604001528201611202565b81811115611230576000604083870101525b50601f01601f1916929092016040019392505050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156112b65784516001600160a01b031683529383019391830191600101611291565b50506001600160a01b03969096166060850152505050608001529392505050565b600082198211156112ea576112ea611347565b500190565b60008261130c57634e487b7160e01b600052601260045260246000fd5b500490565b600081600019048311821515161561132b5761132b611347565b500290565b60008282101561134257611342611347565b500390565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b03811681146105e057600080fdfea2646970667358221220861ba5edcde6f22150996ed7d33e7138cb236354e0d1cb38a0683227f0f751d864736f6c63430008050033

Deployed Bytecode Sourcemap

4389:7747:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5398:54;;;;;;;;;;;;;;;;;;;6498:25:1;;;6486:2;6471:18;5398:54:0;;;;;;;;6483:80;;;;;;;;;;-1:-1:-1;6555:5:0;;;;;;;;;;;;-1:-1:-1;;;6555:5:0;;;;6483:80;;;;;;;:::i;6905:216::-;;;;;;;;;;-1:-1:-1;6905:216:0;;;;;:::i;:::-;;:::i;:::-;;;3640:14:1;;3633:22;3615:41;;3603:2;3588:18;6905:216:0;3570:92:1;6213:88:0;;;;;;;;;;-1:-1:-1;6286:12:0;;6213:88;;7423:370;;;;;;;;;;-1:-1:-1;7423:370:0;;;;;:::i;:::-;;:::i;2627:103::-;;;;;;;;;;-1:-1:-1;2627:103:0;;;;;:::i;:::-;2682:4;2717:5;-1:-1:-1;;;;;2706:16:0;;;2717:5;;2706:16;;2627:103;6307:80;;;;;;;;;;-1:-1:-1;6307:80:0;;4707:1;7914:36:1;;7902:2;7887:18;6307:80:0;7869:87:1;11565:118:0;;;;;;;;;;;;;:::i;:::-;;11841:220;;;;;;;;;;-1:-1:-1;11841:220:0;;;;;:::i;:::-;;:::i;7129:122::-;;;;;;;;;;-1:-1:-1;7129:122:0;;;;;:::i;:::-;;:::i;4782:60::-;;;;;;;;;;;;;;;;5361:30;;;;;;;;;;-1:-1:-1;5361:30:0;;;;-1:-1:-1;;;5361:30:0;;;;;;6653:105;;;;;;;;;;-1:-1:-1;6653:105:0;;;;;:::i;:::-;-1:-1:-1;;;;;6737:18:0;6719:7;6737:18;;;:9;:18;;;;;;;6653:105;2736:131;;;;;;;;;;;;;:::i;6569:78::-;;;;;;;;;;-1:-1:-1;6621:7:0;6639:5;-1:-1:-1;;;;;6639:5:0;6569:78;;;-1:-1:-1;;;;;2819:32:1;;;2801:51;;2789:2;2774:18;6569:78:0;2756:102:1;6393:84:0;;;;;;;;;;-1:-1:-1;6467:7:0;;;;;;;;;;;;-1:-1:-1;;;6467:7:0;;;;6393:84;;5333:19;;;;;;;;;;-1:-1:-1;5333:19:0;;;;-1:-1:-1;;;;;5333:19:0;;;7259:156;;;;;;;;;;-1:-1:-1;7259:156:0;;;;;:::i;:::-;;:::i;6764:133::-;;;;;;;;;;-1:-1:-1;6764:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;6866:19:0;;;6848:7;6866:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;6764:133;5213:80;;;;;;;;;;-1:-1:-1;5213:80:0;;;;-1:-1:-1;;;;;5213:80:0;;;11691:142;;;;;;;;;;-1:-1:-1;11691:142:0;;;;;:::i;:::-;;:::i;5302:24::-;;;;;;;;;;-1:-1:-1;5302:24:0;;;;-1:-1:-1;;;;;5302:24:0;;;6905:216;7009:10;6980:4;6997:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;6997:32:0;;;;;;;;;;:41;;;7054:37;6980:4;;6997:32;;7054:37;;;;7032:6;6498:25:1;;6486:2;6471:18;;6453:76;7054:37:0;;;;;;;;-1:-1:-1;7109:4:0;6905:216;;;;;:::o;7423:370::-;-1:-1:-1;;;;;7543:19:0;;7523:4;7543:19;;;:11;:19;;;;;;;;7563:10;7543:31;;;;;;;;-1:-1:-1;;7543:52:0;7540:186;;7645:69;;;;;;;;;;;-1:-1:-1;;;7645:69:0;;;;;;;;-1:-1:-1;;;;;7645:19:0;;-1:-1:-1;7645:19:0;;;:11;:19;;;;;7665:10;7645:31;;;;;;;;;;:69;;7681:6;;7645:35;:69::i;:::-;-1:-1:-1;;;;;7611:19:0;;;;;;:11;:19;;;;;;;;7631:10;7611:31;;;;;;;:103;7540:186;7745:40;7759:6;7767:9;7778:6;7745:13;:40::i;:::-;7738:47;;7423:370;;;;;;:::o;11565:118::-;11622:20;;11614:61;;-1:-1:-1;;;;;11622:20:0;;;;11653:21;11614:61;;;;;11622:20;11614:61;11622:20;11614:61;11653:21;11622:20;11614:61;;;;;;;;;;;;;;;;;;;;;11565:118::o;11841:220::-;2682:4;2717:5;-1:-1:-1;;;;;2717:5:0;2588:10;2706:16;2572:38;;;;-1:-1:-1;;;2572:38:0;;;;;;;:::i;:::-;;;;;;;;;11934:12:::1;:28:::0;;;11975:12:::1;:28:::0;;;12026:27:::1;11990:13:::0;11949;12026:27:::1;:::i;:::-;12015:8;:38:::0;-1:-1:-1;;11841:220:0:o;7129:122::-;7184:4;7208:35;7216:7;-1:-1:-1;;7208:7:0;:35::i;2736:131::-;2682:4;2717:5;-1:-1:-1;;;;;2717:5:0;2588:10;2706:16;2572:38;;;;-1:-1:-1;;;2572:38:0;;;;;;;:::i;:::-;2809:1:::1;2793:18:::0;;-1:-1:-1;;;;;;2793:18:0::1;::::0;;2827:32:::1;::::0;2801:51:1;;;2827:32:0::1;::::0;2789:2:1;2774:18;2827:32:0::1;;;;;;;2736:131::o:0;7259:156::-;7339:4;7363:44;7377:10;7389:9;7400:6;7363:13;:44::i;11691:142::-;2682:4;2717:5;-1:-1:-1;;;;;2717:5:0;2588:10;2706:16;2572:38;;;;-1:-1:-1;;;2572:38:0;;;;;;;:::i;:::-;11821:4:::1;11803:13;11788:12;;:28;;;;:::i;:::-;11787:38;;;;:::i;:::-;11768:16;:57:::0;-1:-1:-1;11691:142:0:o;716:190::-;802:7;838:12;830:6;;;;822:29;;;;-1:-1:-1;;;822:29:0;;;;;;;;:::i;:::-;-1:-1:-1;862:9:0;874:5;878:1;874;:5;:::i;:::-;862:17;716:190;-1:-1:-1;;;;;716:190:0:o;7801:792::-;7913:6;;7893:4;;7913:6;;7910:63;;;7929:41;7944:6;7952:9;7963:6;7929:14;:41::i;:::-;7922:48;;;;7910:63;8010:4;;-1:-1:-1;;;;;7997:17:0;;;8010:4;;7997:17;;;;:38;;-1:-1:-1;8031:4:0;;-1:-1:-1;;;;;8018:17:0;;;8031:4;;8018:17;;7997:38;7993:200;;;-1:-1:-1;;;;;8060:26:0;;;;;;:15;:26;;;;;;;;;:79;;-1:-1:-1;8123:16:0;;-1:-1:-1;;;;;8090:20:0;;;;;;:9;:20;;;;;;:29;;8113:6;;8090:29;:::i;:::-;:49;;8060:79;8052:129;;;;-1:-1:-1;;;8052:129:0;;4697:2:1;8052:129:0;;;4679:21:1;4736:2;4716:18;;;4709:30;4775:34;4755:18;;;4748:62;-1:-1:-1;;;4826:18:1;;;4819:35;4871:19;;8052:129:0;4669:227:1;8052:129:0;8216:16;:14;:16::i;:::-;8213:35;;;8235:10;:8;:10::i;:::-;8281:53;;;;;;;;;;;-1:-1:-1;;;8281:53:0;;;;;;;;-1:-1:-1;;;;;8281:17:0;;-1:-1:-1;8281:17:0;;;:9;:17;;;;;;;;:53;;8303:6;;8281:21;:53::i;:::-;-1:-1:-1;;;;;8261:17:0;;;;;;:9;:17;;;;;;;;:73;;;;9030:11;:19;;;;;;;;9029:20;8372:56;;8422:6;8372:56;;;8396:23;8404:6;8412;8396:7;:23::i;:::-;-1:-1:-1;;;;;8462:20:0;;;;;;:9;:20;;;;;;8347:81;;-1:-1:-1;8462:40:0;;8347:81;8462:24;:40::i;:::-;-1:-1:-1;;;;;8439:20:0;;;;;;;:9;:20;;;;;;;:63;;;;8520:43;;;;;;;;;;8548:14;6498:25:1;;6486:2;6471:18;;6453:76;8520:43:0;;;;;;;;-1:-1:-1;8581:4:0;;7801:792;-1:-1:-1;;;;7801:792:0:o;8605:330::-;8735:53;;;;;;;;;;;-1:-1:-1;;;8735:53:0;;;;;;;;-1:-1:-1;;;;;8735:17:0;;8698:4;8735:17;;;:9;:17;;;;;;;:53;;8757:6;;8735:21;:53::i;:::-;-1:-1:-1;;;;;8715:17:0;;;;;;;:9;:17;;;;;;:73;;;;8822:20;;;;;;;:32;;8847:6;8822:24;:32::i;:::-;-1:-1:-1;;;;;8799:20:0;;;;;;;:9;:20;;;;;;;:55;;;;8870:35;;;;;;;;;;8898:6;6498:25:1;;6486:2;6471:18;;6453:76;8870:35:0;;;;;;;;-1:-1:-1;8923:4:0;8605:330;;;;;:::o;9402:197::-;9489:4;;9451;;-1:-1:-1;;;;;9489:4:0;9475:10;:18;;;;:38;;-1:-1:-1;9507:6:0;;;;9506:7;9475:38;:62;;;;-1:-1:-1;9526:11:0;;-1:-1:-1;;;9526:11:0;;;;9475:62;:116;;;;-1:-1:-1;9578:13:0;;9568:4;9550:24;;;;:9;:24;;;;;;:41;;9475:116;9468:123;;9402:197;:::o;9607:1572::-;5507:6;:13;;-1:-1:-1;;5507:13:0;5516:4;5507:13;;;9687::::1;::::0;9780:8:::1;::::0;9762:12:::1;::::0;5507:6;;9737:59:::1;::::0;9794:1:::1;::::0;9737:52:::1;::::0;;;9687:13;;9737:24:::1;:38::i;:::-;:42:::0;::::1;:52::i;:59::-;9711:85:::0;-1:-1:-1;9807:20:0::1;9830:41;:20:::0;9711:85;9830:24:::1;:41::i;:::-;9908:16;::::0;;9922:1:::1;9908:16:::0;;;;;::::1;::::0;;9807:64;;-1:-1:-1;9884:21:0::1;::::0;9908:16;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9908:16:0::1;9884:40;;9953:4;9935;9940:1;9935:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9935:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;9979:6:::1;::::0;:13:::1;::::0;;-1:-1:-1;;;9979:13:0;;;;:6;;;::::1;::::0;:11:::1;::::0;:13:::1;::::0;;::::1;::::0;9935:7;;9979:13;;;;;:6;:13;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9969:4;9974:1;9969:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9969:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;10063:6:::1;::::0;:188:::1;::::0;-1:-1:-1;;;10063:188:0;;10029:21:::1;::::0;10063:6;;;::::1;::::0;:57:::1;::::0;:188:::1;::::0;10135:12;;10005:21:::1;::::0;10178:4;;10205::::1;::::0;10225:15:::1;::::0;10063:188:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10262:17;10282:40;10308:13;10282:21;:25;;:40;;;;:::i;:::-;10262:60;;10333:19;10355:33;10368:19;10385:1;10368:12;;:16;;:19;;;;:::i;:::-;10355:8;::::0;;:12:::1;:33::i;:::-;10333:55;;10399:26;10428:51;10477:1;10428:44;10460:11;10428:27;10442:12;;10428:9;:13;;:27;;;;:::i;:51::-;10399:80;;10490:26;10519:44;10551:11;10519:27;10533:12;;10519:9;:13;;:27;;;;:::i;:44::-;10637:20;::::0;10629:77:::1;::::0;10490:73;;-1:-1:-1;10579:21:0::1;::::0;-1:-1:-1;;;;;10637:20:0;;::::1;::::0;10696:5:::1;::::0;10490:73;;10579:21;10629:77;10579:21;10629:77;10490:73;10637:20;10696:5;10629:77:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10578:128;;;10725:16;10717:59;;;::::0;-1:-1:-1;;;10717:59:0;;5459:2:1;10717:59:0::1;::::0;::::1;5441:21:1::0;5498:2;5478:18;;;5471:30;5537:32;5517:18;;;5510:60;5587:18;;10717:59:0::1;5431:180:1::0;10717:59:0::1;10792:19:::0;;10789:383:::1;;10827:6;::::0;:265:::1;::::0;-1:-1:-1;;;10827:265:0;;10903:4:::1;10827:265;::::0;::::1;3204:34:1::0;3254:18;;;3247:34;;;10827:6:0::1;3297:18:1::0;;;3290:34;;;3340:18;;;3333:34;11001:42:0::1;3383:19:1::0;;;3376:44;11062:15:0::1;3436:19:1::0;;;3429:35;-1:-1:-1;;;;;10827:6:0;;::::1;::::0;:22:::1;::::0;10857:18;;3138:19:1;;10827:265:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;11112:48:0::1;::::0;;7693:25:1;;;7749:2;7734:18;;7727:34;;;11112:48:0::1;::::0;-1:-1:-1;7666:18:1;11112:48:0::1;;;;;;;10789:383;-1:-1:-1::0;;5525:6:0;:14;;-1:-1:-1;;5525:14:0;;;-1:-1:-1;;;;;;;;9607:1572:0:o;9065:329::-;9132:7;9152:17;9172:40;9197:14;;9172:20;9183:8;;9172:6;:10;;:20;;;;:::i;:40::-;9268:4;9250:24;;;;:9;:24;;;;;;9152:60;;-1:-1:-1;9250:39:0;;9152:60;9250:28;:39::i;:::-;9241:4;9223:24;;;;:9;:24;;;;;;;:66;;;;9305:42;;-1:-1:-1;;;;;9305:42:0;;;;;;;9337:9;6498:25:1;;6486:2;6471:18;;6453:76;9305:42:0;;;;;;;;9365:21;:6;9376:9;9365:10;:21::i;:::-;9358:28;9065:329;-1:-1:-1;;;;9065:329:0:o;389:179::-;447:7;;479:5;483:1;479;:5;:::i;:::-;467:17;;508:1;503;:6;;495:46;;;;-1:-1:-1;;;495:46:0;;5103:2:1;495:46:0;;;5085:21:1;5142:2;5122:18;;;5115:30;5181:29;5161:18;;;5154:57;5228:18;;495:46:0;5075:177:1;912:246:0;970:7;994:6;990:47;;-1:-1:-1;1024:1:0;1017:8;;990:47;1047:9;1059:5;1063:1;1059;:5;:::i;:::-;1047:17;-1:-1:-1;1092:1:0;1083:5;1087:1;1047:17;1083:5;:::i;:::-;:10;1075:56;;;;-1:-1:-1;;;1075:56:0;;5818:2:1;1075:56:0;;;5800:21:1;5857:2;5837:18;;;5830:30;5896:34;5876:18;;;5869:62;-1:-1:-1;;;5947:18:1;;;5940:31;5988:19;;1075:56:0;5790:223:1;1164:132:0;1222:7;1249:39;1253:1;1256;1249:39;;;;;;;;;;;;;;;;;:3;:39::i;574:136::-;632:7;659:43;663:1;666;659:43;;;;;;;;;;;;;;;;;:3;:43::i;1302:189::-;1388:7;1423:12;1416:5;1408:28;;;;-1:-1:-1;;;1408:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1447:9:0;1459:5;1463:1;1459;:5;:::i;14:247:1:-;73:6;126:2;114:9;105:7;101:23;97:32;94:2;;;142:1;139;132:12;94:2;181:9;168:23;200:31;225:5;200:31;:::i;266:251::-;336:6;389:2;377:9;368:7;364:23;360:32;357:2;;;405:1;402;395:12;357:2;437:9;431:16;456:31;481:5;456:31;:::i;522:388::-;590:6;598;651:2;639:9;630:7;626:23;622:32;619:2;;;667:1;664;657:12;619:2;706:9;693:23;725:31;750:5;725:31;:::i;:::-;775:5;-1:-1:-1;832:2:1;817:18;;804:32;845:33;804:32;845:33;:::i;:::-;897:7;887:17;;;609:301;;;;;:::o;915:456::-;992:6;1000;1008;1061:2;1049:9;1040:7;1036:23;1032:32;1029:2;;;1077:1;1074;1067:12;1029:2;1116:9;1103:23;1135:31;1160:5;1135:31;:::i;:::-;1185:5;-1:-1:-1;1242:2:1;1227:18;;1214:32;1255:33;1214:32;1255:33;:::i;:::-;1019:352;;1307:7;;-1:-1:-1;;;1361:2:1;1346:18;;;;1333:32;;1019:352::o;1376:315::-;1444:6;1452;1505:2;1493:9;1484:7;1480:23;1476:32;1473:2;;;1521:1;1518;1511:12;1473:2;1560:9;1547:23;1579:31;1604:5;1579:31;:::i;:::-;1629:5;1681:2;1666:18;;;;1653:32;;-1:-1:-1;;;1463:228:1:o;1696:180::-;1755:6;1808:2;1796:9;1787:7;1783:23;1779:32;1776:2;;;1824:1;1821;1814:12;1776:2;-1:-1:-1;1847:23:1;;1766:110;-1:-1:-1;1766:110:1:o;1881:248::-;1949:6;1957;2010:2;1998:9;1989:7;1985:23;1981:32;1978:2;;;2026:1;2023;2016:12;1978:2;-1:-1:-1;;2049:23:1;;;2119:2;2104:18;;;2091:32;;-1:-1:-1;1968:161:1:o;2134:306::-;2222:6;2230;2238;2291:2;2279:9;2270:7;2266:23;2262:32;2259:2;;;2307:1;2304;2297:12;2259:2;2336:9;2330:16;2320:26;;2386:2;2375:9;2371:18;2365:25;2355:35;;2430:2;2419:9;2415:18;2409:25;2399:35;;2249:191;;;;;:::o;3893:597::-;4005:4;4034:2;4063;4052:9;4045:21;4095:6;4089:13;4138:6;4133:2;4122:9;4118:18;4111:34;4163:1;4173:140;4187:6;4184:1;4181:13;4173:140;;;4282:14;;;4278:23;;4272:30;4248:17;;;4267:2;4244:26;4237:66;4202:10;;4173:140;;;4331:6;4328:1;4325:13;4322:2;;;4401:1;4396:2;4387:6;4376:9;4372:22;4368:31;4361:42;4322:2;-1:-1:-1;4474:2:1;4453:15;-1:-1:-1;;4449:29:1;4434:45;;;;4481:2;4430:54;;4014:476;-1:-1:-1;;;4014:476:1:o;6018:329::-;6220:2;6202:21;;;6259:1;6239:18;;;6232:29;-1:-1:-1;;;6292:2:1;6277:18;;6270:36;6338:2;6323:18;;6192:155::o;6534:980::-;6796:4;6844:3;6833:9;6829:19;6875:6;6864:9;6857:25;6901:2;6939:6;6934:2;6923:9;6919:18;6912:34;6982:3;6977:2;6966:9;6962:18;6955:31;7006:6;7041;7035:13;7072:6;7064;7057:22;7110:3;7099:9;7095:19;7088:26;;7149:2;7141:6;7137:15;7123:29;;7170:1;7180:195;7194:6;7191:1;7188:13;7180:195;;;7259:13;;-1:-1:-1;;;;;7255:39:1;7243:52;;7350:15;;;;7315:12;;;;7291:1;7209:9;7180:195;;;-1:-1:-1;;;;;;;7431:32:1;;;;7426:2;7411:18;;7404:60;-1:-1:-1;;;7495:3:1;7480:19;7473:35;7392:3;6805:709;-1:-1:-1;;;6805:709:1:o;7961:128::-;8001:3;8032:1;8028:6;8025:1;8022:13;8019:2;;;8038:18;;:::i;:::-;-1:-1:-1;8074:9:1;;8009:80::o;8094:217::-;8134:1;8160;8150:2;;8204:10;8199:3;8195:20;8192:1;8185:31;8239:4;8236:1;8229:15;8267:4;8264:1;8257:15;8150:2;-1:-1:-1;8296:9:1;;8140:171::o;8316:168::-;8356:7;8422:1;8418;8414:6;8410:14;8407:1;8404:21;8399:1;8392:9;8385:17;8381:45;8378:2;;;8429:18;;:::i;:::-;-1:-1:-1;8469:9:1;;8368:116::o;8489:125::-;8529:4;8557:1;8554;8551:8;8548:2;;;8562:18;;:::i;:::-;-1:-1:-1;8599:9:1;;8538:76::o;8619:127::-;8680:10;8675:3;8671:20;8668:1;8661:31;8711:4;8708:1;8701:15;8735:4;8732:1;8725:15;8751:127;8812:10;8807:3;8803:20;8800:1;8793:31;8843:4;8840:1;8833:15;8867:4;8864:1;8857:15;9015:131;-1:-1:-1;;;;;9090:31:1;;9080:42;;9070:2;;9136:1;9133;9126:12

Swarm Source

ipfs://861ba5edcde6f22150996ed7d33e7138cb236354e0d1cb38a0683227f0f751d8

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.