ETH Price: $2,712.49 (+2.96%)

Contract

0x951ac7320bb339453A5C6f233983b52C06C0F44d
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve188029592023-12-17 3:04:35430 days ago1702782275IN
0x951ac732...C06C0F44d
0 ETH0.0008779936.35449762
Approve187536832023-12-10 5:19:47437 days ago1702185587IN
0x951ac732...C06C0F44d
0 ETH0.0010454722.51470994
Approve187536442023-12-10 5:11:47437 days ago1702185107IN
0x951ac732...C06C0F44d
0 ETH0.0010197922.10467409
Approve187535302023-12-10 4:48:47437 days ago1702183727IN
0x951ac732...C06C0F44d
0 ETH0.0010927823.65591778
Approve187535192023-12-10 4:46:35437 days ago1702183595IN
0x951ac732...C06C0F44d
0 ETH0.0010922723.52257198
Approve187534922023-12-10 4:41:11437 days ago1702183271IN
0x951ac732...C06C0F44d
0 ETH0.0007175927.28998609
Approve187534922023-12-10 4:41:11437 days ago1702183271IN
0x951ac732...C06C0F44d
0 ETH0.0012606627.28998609
Approve187534902023-12-10 4:40:47437 days ago1702183247IN
0x951ac732...C06C0F44d
0 ETH0.0012391826.6520432
Approve187534902023-12-10 4:40:47437 days ago1702183247IN
0x951ac732...C06C0F44d
0 ETH0.0010987423.6620432
Approve187534592023-12-10 4:34:35437 days ago1702182875IN
0x951ac732...C06C0F44d
0 ETH0.0010600322.7989586
Approve187534572023-12-10 4:34:11437 days ago1702182851IN
0x951ac732...C06C0F44d
0 ETH0.0010591622.80955767
Approve187534542023-12-10 4:33:35437 days ago1702182815IN
0x951ac732...C06C0F44d
0 ETH0.0011062323.79256838
Approve187534482023-12-10 4:32:23437 days ago1702182743IN
0x951ac732...C06C0F44d
0 ETH0.0011145323.97114733
Approve187534332023-12-10 4:29:23437 days ago1702182563IN
0x951ac732...C06C0F44d
0 ETH0.0010814823.44165912
Approve187534222023-12-10 4:27:11437 days ago1702182431IN
0x951ac732...C06C0F44d
0 ETH0.0012309926.6478694
Approve187534112023-12-10 4:24:59437 days ago1702182299IN
0x951ac732...C06C0F44d
0 ETH0.0009996221.5273521
Approve187534072023-12-10 4:24:11437 days ago1702182251IN
0x951ac732...C06C0F44d
0 ETH0.000949820.45457355
Approve187534062023-12-10 4:23:59437 days ago1702182239IN
0x951ac732...C06C0F44d
0 ETH0.0009681420.98498606
Approve187533962023-12-10 4:21:59437 days ago1702182119IN
0x951ac732...C06C0F44d
0 ETH0.0011422424.56714957
Approve187533952023-12-10 4:21:47437 days ago1702182107IN
0x951ac732...C06C0F44d
0 ETH0.0011138523.95644387
Approve187533892023-12-10 4:20:35437 days ago1702182035IN
0x951ac732...C06C0F44d
0 ETH0.0009823221.15489183
Approve187533762023-12-10 4:17:47437 days ago1702181867IN
0x951ac732...C06C0F44d
0 ETH0.0012459426.7973194
Approve187533702023-12-10 4:16:35437 days ago1702181795IN
0x951ac732...C06C0F44d
0 ETH0.0014733931.9200562
Approve187533702023-12-10 4:16:35437 days ago1702181795IN
0x951ac732...C06C0F44d
0 ETH0.0014733931.9200562
Approve187533702023-12-10 4:16:35437 days ago1702181795IN
0x951ac732...C06C0F44d
0 ETH0.0014733931.9200562
View all transactions

Latest 8 internal transactions

Advanced mode:
Parent Transaction Hash Block
From
To
187533692023-12-10 4:16:23437 days ago1702181783
0x951ac732...C06C0F44d
0.00378096 ETH
187533692023-12-10 4:16:23437 days ago1702181783
0x951ac732...C06C0F44d
0.00378096 ETH
187533642023-12-10 4:15:23437 days ago1702181723
0x951ac732...C06C0F44d
0.00728891 ETH
187533642023-12-10 4:15:23437 days ago1702181723
0x951ac732...C06C0F44d
0.00728891 ETH
187533602023-12-10 4:14:35437 days ago1702181675
0x951ac732...C06C0F44d
0.0767774 ETH
187533602023-12-10 4:14:35437 days ago1702181675
0x951ac732...C06C0F44d
0.0767774 ETH
187533472023-12-10 4:11:59437 days ago1702181519
0x951ac732...C06C0F44d
0.72226592 ETH
187533472023-12-10 4:11:59437 days ago1702181519
0x951ac732...C06C0F44d
0.72226592 ETH
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
BENDER

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-12-10
*/

// SPDX-License-Identifier: MIT

/**
At Bender Token, our mission is to embrace the excitement and anticipation of the upcoming Futurama season by creating a memetoken experience like no other. We're here to celebrate the humor, mischief, and unforgettable moments of Futurama through a one-of-a-kind cryptocurrency that will have you laughing all the way to the future.

Website: https://www.robotbender.xyz
Telegram: https://t.me/bender_erc
Twitter: https://twitter.com/bender_erc20
 */

pragma solidity 0.8.19;

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 IERC20 {
    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);
}

interface IUniswapFactory {
    function createPair(address tokenA, address tokenB) external returns (address uniswapPair);
}

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 IUniswapRouter {
    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 BENDER is IERC20, Ownable {
    using SafeMath for uint256;

    string constant _name = "Robot Bender";
    string constant _symbol = "BENDER";
    uint8 constant _decimals = 9;

    uint256 _totalSupply = 10 ** 9 * (10 ** _decimals);

    uint256 liquidityFee = 0; 
    uint256 marketingFee = 15;
    uint256 _totalFee = liquidityFee + marketingFee;
    uint256 _denominator = 100;
    uint256 public maxTxAmount = (_totalSupply * 30) / 1000;
    address public devWallet;
    IUniswapRouter public uniswapRouter;
    address public uniswapPair;

    bool public feeSwapEnabled = false;
    uint256 public swapTaxAfter = _totalSupply / 100000; // 0.5%

    address dexRouter = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;
    address DEAD = 0x000000000000000000000000000000000000dEaD;

    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) _allowances;
    mapping (address => bool) isExeptFee;
    mapping (address => bool) isExeptMaxTx;
    bool _swapping;

    modifier lockSwap() { _swapping = true; _; _swapping = false; }

    constructor () Ownable(msg.sender) {
        uniswapRouter = IUniswapRouter(dexRouter);
        uniswapPair = IUniswapFactory(uniswapRouter.factory()).createPair(uniswapRouter.WETH(), address(this));
        _allowances[address(this)][address(uniswapRouter)] = type(uint256).max;

        address _owner = owner;
        devWallet = 0xc18109df1e58543A2664520a8E3c0a98CE2b6017;
        isExeptFee[devWallet] = true;
        isExeptMaxTx[_owner] = true;
        isExeptMaxTx[devWallet] = true;
        isExeptMaxTx[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 _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
        if(_swapping){ return _transferBasic(sender, recipient, amount); }
        
        if (recipient != uniswapPair && recipient != DEAD) {
            require(isExeptMaxTx[recipient] || _balances[recipient] + amount <= maxTxAmount, "Transfer amount exceeds the bag size.");
        }        
        if(shouldSwapBack() && shouldTakeFee(sender) && recipient == uniswapPair && amount > swapTaxAfter){ 
            swapBackTokens(); 
        } 
        bool shouldTax = shouldTakeFee(sender) || !feeSwapEnabled;
        if (shouldTax) {
            _balances[recipient] = _balances[recipient].add(takeFee(sender, amount));
        } else {
            _balances[recipient] = _balances[recipient].add(amount);
        }

        emit Transfer(sender, recipient, amount);
        return true;
    }
    
    function swapBackTokens() internal lockSwap {
        uint256 contractTokenBalance = balanceOf(address(this));
        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] = uniswapRouter.WETH();

        uint256 balanceBefore = address(this).balance;

        uniswapRouter.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(devWallet).call{value: amountETHMarketing, gas: 30000}("");
        require(MarketingSuccess, "receiver rejected ETH transfer");

        if(amountToLiquify > 0){
            uniswapRouter.addLiquidityETH{value: amountETHLiquidity}(
                address(this),
                amountToLiquify,
                0,
                0,
                devWallet,
                block.timestamp
            );
        }
    }
    
    function transfer(address recipient, uint256 amount) external override returns (bool) {
        return _transferFrom(msg.sender, recipient, amount);
    }
    
    function setTax(uint256 liquidityFee_, uint256 marketingFee_) external onlyOwner {
         liquidityFee = liquidityFee_; 
         marketingFee = marketingFee_;
         _totalFee = liquidityFee + marketingFee;
    }    
    
    function takeFee(address sender, uint256 amount) internal returns (uint256) {
        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
        uint256 feeAmount = amount.mul(_totalFee).div(_denominator);
        _balances[address(this)] = _balances[address(this)].add(feeAmount);
        emit Transfer(sender, address(this), feeAmount);
        return amount.sub(feeAmount);
    }
        function shouldTakeFee(address sender) internal view returns (bool) {
        return !isExeptFee[sender];
    }

    function setMaxTxAmount(uint256 amountPercent) external onlyOwner {
        maxTxAmount = (_totalSupply * amountPercent ) / 1000;
    }

    function setSwapEnabled(bool value) external onlyOwner {
        feeSwapEnabled = value;
    }

    function shouldSwapBack() internal view returns (bool) {
        return !_swapping
        && feeSwapEnabled
        && _balances[address(this)] >= swapTaxAfter;
    }
    
    function _transferBasic(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 approve(address spender, uint256 amount) public override returns (bool) {
        _allowances[msg.sender][spender] = amount;
        emit Approval(msg.sender, spender, amount);
        return true;
    }

    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);
    }
}

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":"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":[{"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":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"devWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feeSwapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":"maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountPercent","type":"uint256"}],"name":"setMaxTxAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"value","type":"bool"}],"name":"setSwapEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"liquidityFee_","type":"uint256"},{"internalType":"uint256","name":"marketingFee_","type":"uint256"}],"name":"setTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapTaxAfter","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"},{"inputs":[],"name":"uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapRouter","outputs":[{"internalType":"contract IUniswapRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052620000126009600a6200048a565b6200002290633b9aca00620004a2565b60015560006002819055600f60038190556200003e91620004bc565b60045560646005556103e8600154601e6200005a9190620004a2565b620000669190620004d2565b6006556009805460ff60a01b191690556001546200008990620186a090620004d2565b600a55600b80546001600160a01b0319908116737a250d5630b4cf539739df2c5dacb4c659f2488d17909155600c805490911661dead179055348015620000cf57600080fd5b5060008054336001600160a01b031991821617909155600b54600880546001600160a01b039092169190921681179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa1580156200013c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001629190620004f5565b6001600160a01b031663c9c65396600860009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001c4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001ea9190620004f5565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201523060248201526044016020604051808303816000875af115801562000237573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200025d9190620004f5565b600980546001600160a01b039283166001600160a01b031991821617909155306000908152600e60209081526040808320600854861684528252808320600019905582546007805490951673c18109df1e58543a2664520a8e3c0a98ce2b60171785557fba059b88df1d85a5ee8ff88c39f1df3e472fc3d6ea61ff325c24d953fbeabf5f805460ff1990811660019081179092559187168086526010855283862080548416831790559554871685528285208054831682179055600c5490961684528184208054909116861790559354838352600d82528483208190559351938452919283927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35062000520565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620003cc578160001904821115620003b057620003b062000375565b80851615620003be57918102915b93841c939080029062000390565b509250929050565b600082620003e55750600162000484565b81620003f45750600062000484565b81600181146200040d5760028114620004185762000438565b600191505062000484565b60ff8411156200042c576200042c62000375565b50506001821b62000484565b5060208310610133831016604e8410600b84101617156200045d575081810a62000484565b6200046983836200038b565b806000190482111562000480576200048062000375565b0290505b92915050565b60006200049b60ff841683620003d4565b9392505050565b808202811582820484141762000484576200048462000375565b8082018082111562000484576200048462000375565b600082620004f057634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156200050857600080fd5b81516001600160a01b03811681146200049b57600080fd5b6113f080620005306000396000f3fe60806040526004361061012e5760003560e01c8063735de9f7116100ab57806395d89b411161006f57806395d89b4114610367578063a9059cbb14610396578063c816841b146103b6578063dd62ed3e146103d6578063e01af92c1461041c578063ec28438a1461043c57600080fd5b8063735de9f7146102c55780637a518e99146102fd578063893d20e8146103135780638c0b5e22146103315780638ea5220f1461034757600080fd5b80632f54bf6e116100f25780632f54bf6e1461020d578063313ce5671461023c578063667f65261461025857806370a082311461027a578063715018a6146102b057600080fd5b806304866b801461013a57806306fdde0314610170578063095ea7b3146101ae57806318160ddd146101ce57806323b872dd146101ed57600080fd5b3661013557005b600080fd5b34801561014657600080fd5b5060095461015b90600160a01b900460ff1681565b60405190151581526020015b60405180910390f35b34801561017c57600080fd5b5060408051808201909152600c81526b2937b137ba102132b73232b960a11b60208201525b60405161016791906110cd565b3480156101ba57600080fd5b5061015b6101c9366004611133565b61045c565b3480156101da57600080fd5b506001545b604051908152602001610167565b3480156101f957600080fd5b5061015b61020836600461115f565b6104c9565b34801561021957600080fd5b5061015b6102283660046111a0565b6000546001600160a01b0391821691161490565b34801561024857600080fd5b5060405160098152602001610167565b34801561026457600080fd5b506102786102733660046111bd565b61058b565b005b34801561028657600080fd5b506101df6102953660046111a0565b6001600160a01b03166000908152600d602052604090205490565b3480156102bc57600080fd5b506102786105d9565b3480156102d157600080fd5b506008546102e5906001600160a01b031681565b6040516001600160a01b039091168152602001610167565b34801561030957600080fd5b506101df600a5481565b34801561031f57600080fd5b506000546001600160a01b03166102e5565b34801561033d57600080fd5b506101df60065481565b34801561035357600080fd5b506007546102e5906001600160a01b031681565b34801561037357600080fd5b506040805180820190915260068152652122a72222a960d11b60208201526101a1565b3480156103a257600080fd5b5061015b6103b1366004611133565b610648565b3480156103c257600080fd5b506009546102e5906001600160a01b031681565b3480156103e257600080fd5b506101df6103f13660046111df565b6001600160a01b039182166000908152600e6020908152604080832093909416825291909152205490565b34801561042857600080fd5b50610278610437366004611218565b610655565b34801561044857600080fd5b5061027861045736600461123a565b61069d565b336000818152600e602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906104b79086815260200190565b60405180910390a35060015b92915050565b6001600160a01b0383166000908152600e6020908152604080832033845290915281205460001914610576576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600e825283812033825290915291909120546105519184906106e8565b6001600160a01b0385166000908152600e602090815260408083203384529091529020555b610581848484610722565b90505b9392505050565b6000546001600160a01b031633146105be5760405162461bcd60e51b81526004016105b590611253565b60405180910390fd5b600282905560038190556105d28183611289565b6004555050565b6000546001600160a01b031633146106035760405162461bcd60e51b81526004016105b590611253565b600080546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b6000610584338484610722565b6000546001600160a01b0316331461067f5760405162461bcd60e51b81526004016105b590611253565b60098054911515600160a01b0260ff60a01b19909216919091179055565b6000546001600160a01b031633146106c75760405162461bcd60e51b81526004016105b590611253565b6103e8816001546106d8919061129c565b6106e291906112b3565b60065550565b6000818484111561070c5760405162461bcd60e51b81526004016105b591906110cd565b50600061071984866112d5565b95945050505050565b60115460009060ff16156107425761073b848484610992565b9050610584565b6009546001600160a01b0384811691161480159061076e5750600c546001600160a01b03848116911614155b15610819576001600160a01b03831660009081526010602052604090205460ff16806107bf57506006546001600160a01b0384166000908152600d60205260409020546107bc908490611289565b11155b6108195760405162461bcd60e51b815260206004820152602560248201527f5472616e7366657220616d6f756e74206578636565647320746865206261672060448201526439b4bd329760d91b60648201526084016105b5565b610821610a78565b801561084657506001600160a01b0384166000908152600f602052604090205460ff16155b801561085f57506009546001600160a01b038481169116145b801561086c5750600a5482115b1561087957610879610ab9565b6001600160a01b0384166000908152600f602052604081205460ff1615806108ab5750600954600160a01b900460ff16155b905080156108fd576108df6108c08685610e2f565b6001600160a01b0386166000908152600d602052604090205490610f3a565b6001600160a01b0385166000908152600d602052604090205561093a565b6001600160a01b0384166000908152600d60205260409020546109209084610f3a565b6001600160a01b0385166000908152600d60205260409020555b836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161097f91815260200190565b60405180910390a3506001949350505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600d909152918220546109e39184906106e8565b6001600160a01b038086166000908152600d60205260408082209390935590851681522054610a129083610f3a565b6001600160a01b038085166000818152600d602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610a669086815260200190565b60405180910390a35060019392505050565b60115460009060ff16158015610a975750600954600160a01b900460ff165b8015610ab45750600a54306000908152600d602052604090205410155b905090565b6011805460ff19166001179055306000908152600d602052604081205490506000610b006002610afa600454610afa60025487610f9990919063ffffffff16565b9061101b565b90506000610b0e838361105d565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110610b4857610b486112e8565b6001600160a01b03928316602091820292909201810191909152600854604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610ba1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bc591906112fe565b81600181518110610bd857610bd86112e8565b6001600160a01b03928316602091820292909201015260085460405163791ac94760e01b81524792919091169063791ac94790610c2290869060009087903090429060040161131b565b600060405180830381600087803b158015610c3c57600080fd5b505af1158015610c50573d6000803e3d6000fd5b505050506000610c69824761105d90919063ffffffff16565b90506000610c8e610c856002805461101b90919063ffffffff16565b6004549061105d565b90506000610cb06002610afa84610afa60025488610f9990919063ffffffff16565b90506000610ccd83610afa60035487610f9990919063ffffffff16565b6007546040519192506000916001600160a01b039091169061753090849084818181858888f193505050503d8060008114610d24576040519150601f19603f3d011682016040523d82523d6000602084013e610d29565b606091505b5050905080610d7a5760405162461bcd60e51b815260206004820152601e60248201527f72656365697665722072656a656374656420455448207472616e73666572000060448201526064016105b5565b8815610e195760085460075460405163f305d71960e01b8152306004820152602481018c905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990859060c40160606040518083038185885af1158015610df0573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610e15919061138c565b5050505b50506011805460ff191690555050505050505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0385166000908152600d90915291822054610e809184906106e8565b6001600160a01b0384166000908152600d6020526040812091909155600554600454610eb29190610afa908690610f99565b306000908152600d6020526040902054909150610ecf9082610f3a565b306000818152600d6020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f209085815260200190565b60405180910390a3610f32838261105d565b949350505050565b600080610f478385611289565b9050838110156105845760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105b5565b600082600003610fab575060006104c3565b6000610fb7838561129c565b905082610fc485836112b3565b146105845760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105b5565b600061058483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061109f565b600061058483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506106e8565b600081836110c05760405162461bcd60e51b81526004016105b591906110cd565b50600061071984866112b3565b600060208083528351808285015260005b818110156110fa578581018301518582016040015282016110de565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461113057600080fd5b50565b6000806040838503121561114657600080fd5b82356111518161111b565b946020939093013593505050565b60008060006060848603121561117457600080fd5b833561117f8161111b565b9250602084013561118f8161111b565b929592945050506040919091013590565b6000602082840312156111b257600080fd5b81356105848161111b565b600080604083850312156111d057600080fd5b50508035926020909101359150565b600080604083850312156111f257600080fd5b82356111fd8161111b565b9150602083013561120d8161111b565b809150509250929050565b60006020828403121561122a57600080fd5b8135801515811461058457600080fd5b60006020828403121561124c57600080fd5b5035919050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b808201808211156104c3576104c3611273565b80820281158282048414176104c3576104c3611273565b6000826112d057634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156104c3576104c3611273565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561131057600080fd5b81516105848161111b565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561136b5784516001600160a01b031683529383019391830191600101611346565b50506001600160a01b03969096166060850152505050608001529392505050565b6000806000606084860312156113a157600080fd5b835192506020840151915060408401519050925092509256fea264697066735822122076c98b16bd32a604c1e50791ff54f90b7d5398ef8fbd14d4f759fca6b855f78564736f6c63430008130033

Deployed Bytecode

0x60806040526004361061012e5760003560e01c8063735de9f7116100ab57806395d89b411161006f57806395d89b4114610367578063a9059cbb14610396578063c816841b146103b6578063dd62ed3e146103d6578063e01af92c1461041c578063ec28438a1461043c57600080fd5b8063735de9f7146102c55780637a518e99146102fd578063893d20e8146103135780638c0b5e22146103315780638ea5220f1461034757600080fd5b80632f54bf6e116100f25780632f54bf6e1461020d578063313ce5671461023c578063667f65261461025857806370a082311461027a578063715018a6146102b057600080fd5b806304866b801461013a57806306fdde0314610170578063095ea7b3146101ae57806318160ddd146101ce57806323b872dd146101ed57600080fd5b3661013557005b600080fd5b34801561014657600080fd5b5060095461015b90600160a01b900460ff1681565b60405190151581526020015b60405180910390f35b34801561017c57600080fd5b5060408051808201909152600c81526b2937b137ba102132b73232b960a11b60208201525b60405161016791906110cd565b3480156101ba57600080fd5b5061015b6101c9366004611133565b61045c565b3480156101da57600080fd5b506001545b604051908152602001610167565b3480156101f957600080fd5b5061015b61020836600461115f565b6104c9565b34801561021957600080fd5b5061015b6102283660046111a0565b6000546001600160a01b0391821691161490565b34801561024857600080fd5b5060405160098152602001610167565b34801561026457600080fd5b506102786102733660046111bd565b61058b565b005b34801561028657600080fd5b506101df6102953660046111a0565b6001600160a01b03166000908152600d602052604090205490565b3480156102bc57600080fd5b506102786105d9565b3480156102d157600080fd5b506008546102e5906001600160a01b031681565b6040516001600160a01b039091168152602001610167565b34801561030957600080fd5b506101df600a5481565b34801561031f57600080fd5b506000546001600160a01b03166102e5565b34801561033d57600080fd5b506101df60065481565b34801561035357600080fd5b506007546102e5906001600160a01b031681565b34801561037357600080fd5b506040805180820190915260068152652122a72222a960d11b60208201526101a1565b3480156103a257600080fd5b5061015b6103b1366004611133565b610648565b3480156103c257600080fd5b506009546102e5906001600160a01b031681565b3480156103e257600080fd5b506101df6103f13660046111df565b6001600160a01b039182166000908152600e6020908152604080832093909416825291909152205490565b34801561042857600080fd5b50610278610437366004611218565b610655565b34801561044857600080fd5b5061027861045736600461123a565b61069d565b336000818152600e602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906104b79086815260200190565b60405180910390a35060015b92915050565b6001600160a01b0383166000908152600e6020908152604080832033845290915281205460001914610576576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600e825283812033825290915291909120546105519184906106e8565b6001600160a01b0385166000908152600e602090815260408083203384529091529020555b610581848484610722565b90505b9392505050565b6000546001600160a01b031633146105be5760405162461bcd60e51b81526004016105b590611253565b60405180910390fd5b600282905560038190556105d28183611289565b6004555050565b6000546001600160a01b031633146106035760405162461bcd60e51b81526004016105b590611253565b600080546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b6000610584338484610722565b6000546001600160a01b0316331461067f5760405162461bcd60e51b81526004016105b590611253565b60098054911515600160a01b0260ff60a01b19909216919091179055565b6000546001600160a01b031633146106c75760405162461bcd60e51b81526004016105b590611253565b6103e8816001546106d8919061129c565b6106e291906112b3565b60065550565b6000818484111561070c5760405162461bcd60e51b81526004016105b591906110cd565b50600061071984866112d5565b95945050505050565b60115460009060ff16156107425761073b848484610992565b9050610584565b6009546001600160a01b0384811691161480159061076e5750600c546001600160a01b03848116911614155b15610819576001600160a01b03831660009081526010602052604090205460ff16806107bf57506006546001600160a01b0384166000908152600d60205260409020546107bc908490611289565b11155b6108195760405162461bcd60e51b815260206004820152602560248201527f5472616e7366657220616d6f756e74206578636565647320746865206261672060448201526439b4bd329760d91b60648201526084016105b5565b610821610a78565b801561084657506001600160a01b0384166000908152600f602052604090205460ff16155b801561085f57506009546001600160a01b038481169116145b801561086c5750600a5482115b1561087957610879610ab9565b6001600160a01b0384166000908152600f602052604081205460ff1615806108ab5750600954600160a01b900460ff16155b905080156108fd576108df6108c08685610e2f565b6001600160a01b0386166000908152600d602052604090205490610f3a565b6001600160a01b0385166000908152600d602052604090205561093a565b6001600160a01b0384166000908152600d60205260409020546109209084610f3a565b6001600160a01b0385166000908152600d60205260409020555b836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161097f91815260200190565b60405180910390a3506001949350505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600d909152918220546109e39184906106e8565b6001600160a01b038086166000908152600d60205260408082209390935590851681522054610a129083610f3a565b6001600160a01b038085166000818152600d602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610a669086815260200190565b60405180910390a35060019392505050565b60115460009060ff16158015610a975750600954600160a01b900460ff165b8015610ab45750600a54306000908152600d602052604090205410155b905090565b6011805460ff19166001179055306000908152600d602052604081205490506000610b006002610afa600454610afa60025487610f9990919063ffffffff16565b9061101b565b90506000610b0e838361105d565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110610b4857610b486112e8565b6001600160a01b03928316602091820292909201810191909152600854604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610ba1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bc591906112fe565b81600181518110610bd857610bd86112e8565b6001600160a01b03928316602091820292909201015260085460405163791ac94760e01b81524792919091169063791ac94790610c2290869060009087903090429060040161131b565b600060405180830381600087803b158015610c3c57600080fd5b505af1158015610c50573d6000803e3d6000fd5b505050506000610c69824761105d90919063ffffffff16565b90506000610c8e610c856002805461101b90919063ffffffff16565b6004549061105d565b90506000610cb06002610afa84610afa60025488610f9990919063ffffffff16565b90506000610ccd83610afa60035487610f9990919063ffffffff16565b6007546040519192506000916001600160a01b039091169061753090849084818181858888f193505050503d8060008114610d24576040519150601f19603f3d011682016040523d82523d6000602084013e610d29565b606091505b5050905080610d7a5760405162461bcd60e51b815260206004820152601e60248201527f72656365697665722072656a656374656420455448207472616e73666572000060448201526064016105b5565b8815610e195760085460075460405163f305d71960e01b8152306004820152602481018c905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990859060c40160606040518083038185885af1158015610df0573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610e15919061138c565b5050505b50506011805460ff191690555050505050505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0385166000908152600d90915291822054610e809184906106e8565b6001600160a01b0384166000908152600d6020526040812091909155600554600454610eb29190610afa908690610f99565b306000908152600d6020526040902054909150610ecf9082610f3a565b306000818152600d6020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f209085815260200190565b60405180910390a3610f32838261105d565b949350505050565b600080610f478385611289565b9050838110156105845760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105b5565b600082600003610fab575060006104c3565b6000610fb7838561129c565b905082610fc485836112b3565b146105845760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105b5565b600061058483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061109f565b600061058483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506106e8565b600081836110c05760405162461bcd60e51b81526004016105b591906110cd565b50600061071984866112b3565b600060208083528351808285015260005b818110156110fa578581018301518582016040015282016110de565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461113057600080fd5b50565b6000806040838503121561114657600080fd5b82356111518161111b565b946020939093013593505050565b60008060006060848603121561117457600080fd5b833561117f8161111b565b9250602084013561118f8161111b565b929592945050506040919091013590565b6000602082840312156111b257600080fd5b81356105848161111b565b600080604083850312156111d057600080fd5b50508035926020909101359150565b600080604083850312156111f257600080fd5b82356111fd8161111b565b9150602083013561120d8161111b565b809150509250929050565b60006020828403121561122a57600080fd5b8135801515811461058457600080fd5b60006020828403121561124c57600080fd5b5035919050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b808201808211156104c3576104c3611273565b80820281158282048414176104c3576104c3611273565b6000826112d057634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156104c3576104c3611273565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561131057600080fd5b81516105848161111b565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561136b5784516001600160a01b031683529383019391830191600101611346565b50506001600160a01b03969096166060850152505050608001529392505050565b6000806000606084860312156113a157600080fd5b835192506020840151915060408401519050925092509256fea264697066735822122076c98b16bd32a604c1e50791ff54f90b7d5398ef8fbd14d4f759fca6b855f78564736f6c63430008130033

Deployed Bytecode Sourcemap

4567:7280:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5147:34;;;;;;;;;;-1:-1:-1;5147:34:0;;;;-1:-1:-1;;;5147:34:0;;;;;;;;;179:14:1;;172:22;154:41;;142:2;127:18;5147:34:0;;;;;;;;6648:80;;;;;;;;;;-1:-1:-1;6720:5:0;;;;;;;;;;;;-1:-1:-1;;;6720:5:0;;;;6648:80;;;;;;;:::i;11250:216::-;;;;;;;;;;-1:-1:-1;11250:216:0;;;;;:::i;:::-;;:::i;6378:88::-;;;;;;;;;;-1:-1:-1;6451:12:0;;6378:88;;;1361:25:1;;;1349:2;1334:18;6378:88:0;1215:177:1;11474:370:0;;;;;;;;;;-1:-1:-1;11474:370:0;;;;;:::i;:::-;;:::i;743:103::-;;;;;;;;;;-1:-1:-1;743:103:0;;;;;:::i;:::-;798:4;833:5;-1:-1:-1;;;;;822:16:0;;;833:5;;822:16;;743:103;6472:80;;;;;;;;;;-1:-1:-1;6472:80:0;;4757:1;2252:36:1;;2240:2;2225:18;6472:80:0;2110:184:1;9696:221:0;;;;;;;;;;-1:-1:-1;9696:221:0;;;;;:::i;:::-;;:::i;:::-;;6818:105;;;;;;;;;;-1:-1:-1;6818:105:0;;;;;:::i;:::-;-1:-1:-1;;;;;6902:18:0;6884:7;6902:18;;;:9;:18;;;;;;;6818:105;852:131;;;;;;;;;;;;;:::i;5070:35::-;;;;;;;;;;-1:-1:-1;5070:35:0;;;;-1:-1:-1;;;;;5070:35:0;;;;;;-1:-1:-1;;;;;2738:32:1;;;2720:51;;2708:2;2693:18;5070:35:0;2552:225:1;5188:51:0;;;;;;;;;;;;;;;;6734:78;;;;;;;;;;-1:-1:-1;6786:7:0;6804:5;-1:-1:-1;;;;;6804:5:0;6734:78;;4977:55;;;;;;;;;;;;;;;;5039:24;;;;;;;;;;-1:-1:-1;5039:24:0;;;;-1:-1:-1;;;;;5039:24:0;;;6558:84;;;;;;;;;;-1:-1:-1;6632:7:0;;;;;;;;;;;;-1:-1:-1;;;6632:7:0;;;;6558:84;;9528:156;;;;;;;;;;-1:-1:-1;9528:156:0;;;;;:::i;:::-;;:::i;5112:26::-;;;;;;;;;;-1:-1:-1;5112:26:0;;;;-1:-1:-1;;;;;5112:26:0;;;6929:133;;;;;;;;;;-1:-1:-1;6929:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;7031:19:0;;;7013:7;7031:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;6929:133;10621:96;;;;;;;;;;-1:-1:-1;10621:96:0;;;;;:::i;:::-;;:::i;10476:137::-;;;;;;;;;;-1:-1:-1;10476:137:0;;;;;:::i;:::-;;:::i;11250:216::-;11354:10;11325:4;11342:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;11342:32:0;;;;;;;;;;:41;;;11399:37;11325:4;;11342:32;;11399:37;;;;11377:6;1361:25:1;;1349:2;1334:18;;1215:177;11399:37:0;;;;;;;;-1:-1:-1;11454:4:0;11250:216;;;;;:::o;11474:370::-;-1:-1:-1;;;;;11594:19:0;;11574:4;11594:19;;;:11;:19;;;;;;;;11614:10;11594:31;;;;;;;;-1:-1:-1;;11594:52:0;11591:186;;11696:69;;;;;;;;;;;-1:-1:-1;;;11696:69:0;;;;;;;;-1:-1:-1;;;;;11696:19:0;;-1:-1:-1;11696:19:0;;;:11;:19;;;;;11716:10;11696:31;;;;;;;;;;:69;;11732:6;;11696:35;:69::i;:::-;-1:-1:-1;;;;;11662:19:0;;;;;;:11;:19;;;;;;;;11682:10;11662:31;;;;;;;:103;11591:186;11796:40;11810:6;11818:9;11829:6;11796:13;:40::i;:::-;11789:47;;11474:370;;;;;;:::o;9696:221::-;798:4;833:5;-1:-1:-1;;;;;833:5:0;704:10;822:16;688:38;;;;-1:-1:-1;;;688:38:0;;;;;;;:::i;:::-;;;;;;;;;9789:12:::1;:28:::0;;;9830:12:::1;:28:::0;;;9882:27:::1;9845:13:::0;9804;9882:27:::1;:::i;:::-;9870:9;:39:::0;-1:-1:-1;;9696:221:0:o;852:131::-;798:4;833:5;-1:-1:-1;;;;;833:5:0;704:10;822:16;688:38;;;;-1:-1:-1;;;688:38:0;;;;;;;:::i;:::-;925:1:::1;909:18:::0;;-1:-1:-1;;;;;;909:18:0::1;::::0;;943:32:::1;::::0;2720:51:1;;;943:32:0::1;::::0;2708:2:1;2693:18;943:32:0::1;;;;;;;852:131::o:0;9528:156::-;9608:4;9632:44;9646:10;9658:9;9669:6;9632:13;:44::i;10621:96::-;798:4;833:5;-1:-1:-1;;;;;833:5:0;704:10;822:16;688:38;;;;-1:-1:-1;;;688:38:0;;;;;;;:::i;:::-;10687:14:::1;:22:::0;;;::::1;;-1:-1:-1::0;;;10687:22:0::1;-1:-1:-1::0;;;;10687:22:0;;::::1;::::0;;;::::1;::::0;;10621:96::o;10476:137::-;798:4;833:5;-1:-1:-1;;;;;833:5:0;704:10;822:16;688:38;;;;-1:-1:-1;;;688:38:0;;;;;;;:::i;:::-;10601:4:::1;10583:13;10568:12;;:28;;;;:::i;:::-;10567:38;;;;:::i;:::-;10553:11;:52:::0;-1:-1:-1;10476:137:0:o;2436:190::-;2522:7;2558:12;2550:6;;;;2542:29;;;;-1:-1:-1;;;2542:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2582:9:0;2594:5;2598:1;2594;:5;:::i;:::-;2582:17;2436:190;-1:-1:-1;;;;;2436:190:0:o;7086:918::-;7198:9;;7178:4;;7198:9;;7195:66;;;7217:41;7232:6;7240:9;7251:6;7217:14;:41::i;:::-;7210:48;;;;7195:66;7298:11;;-1:-1:-1;;;;;7285:24:0;;;7298:11;;7285:24;;;;:45;;-1:-1:-1;7326:4:0;;-1:-1:-1;;;;;7313:17:0;;;7326:4;;7313:17;;7285:45;7281:199;;;-1:-1:-1;;;;;7355:23:0;;;;;;:12;:23;;;;;;;;;:71;;-1:-1:-1;7415:11:0;;-1:-1:-1;;;;;7382:20:0;;;;;;:9;:20;;;;;;:29;;7405:6;;7382:29;:::i;:::-;:44;;7355:71;7347:121;;;;-1:-1:-1;;;7347:121:0;;5172:2:1;7347:121:0;;;5154:21:1;5211:2;5191:18;;;5184:30;5250:34;5230:18;;;5223:62;-1:-1:-1;;;5301:18:1;;;5294:35;5346:19;;7347:121:0;4970:401:1;7347:121:0;7501:16;:14;:16::i;:::-;:41;;;;-1:-1:-1;;;;;;10442:18:0;;10417:4;10442:18;;;:10;:18;;;;;;;;10441:19;7521:21;7501:69;;;;-1:-1:-1;7559:11:0;;-1:-1:-1;;;;;7546:24:0;;;7559:11;;7546:24;7501:69;:94;;;;;7583:12;;7574:6;:21;7501:94;7498:143;;;7612:16;:14;:16::i;:::-;-1:-1:-1;;;;;10442:18:0;;7652:14;10442:18;;;:10;:18;;;;;;;;10441:19;7669:40;;;-1:-1:-1;7695:14:0;;-1:-1:-1;;;7695:14:0;;;;7694:15;7669:40;7652:57;;7724:9;7720:202;;;7773:49;7798:23;7806:6;7814;7798:7;:23::i;:::-;-1:-1:-1;;;;;7773:20:0;;;;;;:9;:20;;;;;;;:24;:49::i;:::-;-1:-1:-1;;;;;7750:20:0;;;;;;:9;:20;;;;;:72;7720:202;;;-1:-1:-1;;;;;7878:20:0;;;;;;:9;:20;;;;;;:32;;7903:6;7878:24;:32::i;:::-;-1:-1:-1;;;;;7855:20:0;;;;;;:9;:20;;;;;:55;7720:202;7956:9;-1:-1:-1;;;;;7939:35:0;7948:6;-1:-1:-1;;;;;7939:35:0;;7967:6;7939:35;;;;1361:25:1;;1349:2;1334:18;;1215:177;7939:35:0;;;;;;;;-1:-1:-1;7992:4:0;;7086:918;-1:-1:-1;;;;7086:918:0:o;10908:330::-;11038:53;;;;;;;;;;;-1:-1:-1;;;11038:53:0;;;;;;;;-1:-1:-1;;;;;11038:17:0;;11001:4;11038:17;;;:9;:17;;;;;;;:53;;11060:6;;11038:21;:53::i;:::-;-1:-1:-1;;;;;11018:17:0;;;;;;;:9;:17;;;;;;:73;;;;11125:20;;;;;;;:32;;11150:6;11125:24;:32::i;:::-;-1:-1:-1;;;;;11102:20:0;;;;;;;:9;:20;;;;;;;:55;;;;11173:35;;;;;;;;;;11201:6;1361:25:1;;1349:2;1334:18;;1215:177;11173:35:0;;;;;;;;-1:-1:-1;11226:4:0;10908:330;;;;;:::o;10725:171::-;10799:9;;10774:4;;10799:9;;10798:10;:37;;;;-1:-1:-1;10821:14:0;;-1:-1:-1;;;10821:14:0;;;;10798:37;:90;;;;-1:-1:-1;10876:12:0;;10866:4;10848:24;;;;:9;:24;;;;;;:40;;10798:90;10791:97;;10725:171;:::o;8016:1500::-;5637:9;:16;;-1:-1:-1;;5637:16:0;5649:4;5637:16;;;8120:4:::1;-1:-1:-1::0;6902:18:0;;;:9;:18;;;;;;8071:55:::1;;8137:23;8163:60;8221:1;8163:53;8206:9;;8163:38;8188:12;;8163:20;:24;;:38;;;;:::i;:::-;:42:::0;::::1;:53::i;:60::-;8137:86:::0;-1:-1:-1;8234:20:0::1;8257:41;:20:::0;8137:86;8257:24:::1;:41::i;:::-;8335:16;::::0;;8349:1:::1;8335:16:::0;;;;;::::1;::::0;;8234:64;;-1:-1:-1;8311:21:0::1;::::0;8335:16;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;8335:16:0::1;8311:40;;8380:4;8362;8367:1;8362:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8362:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;8406:13:::1;::::0;:20:::1;::::0;;-1:-1:-1;;;8406:20:0;;;;:13;;;::::1;::::0;:18:::1;::::0;:20:::1;::::0;;::::1;::::0;8362:7;;8406:20;;;;;:13;:20:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8396:4;8401:1;8396:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8396:30:0;;::::1;:7;::::0;;::::1;::::0;;;;;:30;8497:13:::1;::::0;:195:::1;::::0;-1:-1:-1;;;8497:195:0;;8463:21:::1;::::0;8497:13;;;::::1;::::0;:64:::1;::::0;:195:::1;::::0;8576:12;;8439:21:::1;::::0;8619:4;;8646::::1;::::0;8666:15:::1;::::0;8497:195:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;8703:17;8723:40;8749:13;8723:21;:25;;:40;;;;:::i;:::-;8703:60;;8774:19;8796:34;8810:19;8827:1;8810:12:::0;::::1;:16;;:19;;;;:::i;:::-;8796:9;::::0;;:13:::1;:34::i;:::-;8774:56;;8841:26;8870:51;8919:1;8870:44;8902:11;8870:27;8884:12;;8870:9;:13;;:27;;;;:::i;:51::-;8841:80;;8932:26;8961:44;8993:11;8961:27;8975:12;;8961:9;:13;;:27;;;;:::i;:44::-;9079:9;::::0;9071:66:::1;::::0;8932:73;;-1:-1:-1;9021:21:0::1;::::0;-1:-1:-1;;;;;9079:9:0;;::::1;::::0;9127:5:::1;::::0;8932:73;;9021:21;9071:66;9021:21;9071:66;8932:73;9079:9;9127:5;9071:66:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9020:117;;;9156:16;9148:59;;;::::0;-1:-1:-1;;;9148:59:0;;7293:2:1;9148:59:0::1;::::0;::::1;7275:21:1::0;7332:2;7312:18;;;7305:30;7371:32;7351:18;;;7344:60;7421:18;;9148:59:0::1;7091:354:1::0;9148:59:0::1;9223:19:::0;;9220:289:::1;;9258:13;::::0;9439:9:::1;::::0;9258:239:::1;::::0;-1:-1:-1;;;9258:239:0;;9341:4:::1;9258:239;::::0;::::1;7791:34:1::0;7841:18;;;7834:34;;;9258:13:0::1;7884:18:1::0;;;7877:34;;;7927:18;;;7920:34;-1:-1:-1;;;;;9439:9:0;;::::1;7970:19:1::0;;;7963:44;9467:15:0::1;8023:19:1::0;;;8016:35;9258:13:0;::::1;::::0;:29:::1;::::0;9295:18;;7725:19:1;;9258:239:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;9220:289;-1:-1:-1::0;;5658:9:0;:17;;-1:-1:-1;;5658:17:0;;;-1:-1:-1;;;;;;;;8016:1500:0:o;9933:412::-;10040:53;;;;;;;;;;;-1:-1:-1;;;10040:53:0;;;;;;;;-1:-1:-1;;;;;10040:17:0;;10000:7;10040:17;;;:9;:17;;;;;;;:53;;10062:6;;10040:21;:53::i;:::-;-1:-1:-1;;;;;10020:17:0;;;;;;:9;:17;;;;;:73;;;;10150:12;;10135:9;;10124:39;;10150:12;10124:21;;:6;;:10;:21::i;:39::-;10219:4;10201:24;;;;:9;:24;;;;;;10104:59;;-1:-1:-1;10201:39:0;;10104:59;10201:28;:39::i;:::-;10192:4;10174:24;;;;:9;:24;;;;;;;:66;;;;10256:42;;-1:-1:-1;;;;;10256:42:0;;;;;;;10288:9;1361:25:1;;1349:2;1334:18;;1215:177;10256:42:0;;;;;;;;10316:21;:6;10327:9;10316:10;:21::i;:::-;10309:28;9933:412;-1:-1:-1;;;;9933:412:0:o;2109:179::-;2167:7;;2199:5;2203:1;2199;:5;:::i;:::-;2187:17;;2228:1;2223;:6;;2215:46;;;;-1:-1:-1;;;2215:46:0;;8575:2:1;2215:46:0;;;8557:21:1;8614:2;8594:18;;;8587:30;8653:29;8633:18;;;8626:57;8700:18;;2215:46:0;8373:351:1;2632:246:0;2690:7;2714:1;2719;2714:6;2710:47;;-1:-1:-1;2744:1:0;2737:8;;2710:47;2767:9;2779:5;2783:1;2779;:5;:::i;:::-;2767:17;-1:-1:-1;2812:1:0;2803:5;2807:1;2767:17;2803:5;:::i;:::-;:10;2795:56;;;;-1:-1:-1;;;2795:56:0;;8931:2:1;2795:56:0;;;8913:21:1;8970:2;8950:18;;;8943:30;9009:34;8989:18;;;8982:62;-1:-1:-1;;;9060:18:1;;;9053:31;9101:19;;2795:56:0;8729:397:1;2884:132:0;2942:7;2969:39;2973:1;2976;2969:39;;;;;;;;;;;;;;;;;:3;:39::i;2294:136::-;2352:7;2379:43;2383:1;2386;2379:43;;;;;;;;;;;;;;;;;:3;:43::i;3022:189::-;3108:7;3143:12;3136:5;3128:28;;;;-1:-1:-1;;;3128:28:0;;;;;;;;:::i;:::-;-1:-1:-1;3167:9:0;3179:5;3183:1;3179;:5;:::i;206:548:1:-;318:4;347:2;376;365:9;358:21;408:6;402:13;451:6;446:2;435:9;431:18;424:34;476:1;486:140;500:6;497:1;494:13;486:140;;;595:14;;;591:23;;585:30;561:17;;;580:2;557:26;550:66;515:10;;486:140;;;490:3;675:1;670:2;661:6;650:9;646:22;642:31;635:42;745:2;738;734:7;729:2;721:6;717:15;713:29;702:9;698:45;694:54;686:62;;;;206:548;;;;:::o;759:131::-;-1:-1:-1;;;;;834:31:1;;824:42;;814:70;;880:1;877;870:12;814:70;759:131;:::o;895:315::-;963:6;971;1024:2;1012:9;1003:7;999:23;995:32;992:52;;;1040:1;1037;1030:12;992:52;1079:9;1066:23;1098:31;1123:5;1098:31;:::i;:::-;1148:5;1200:2;1185:18;;;;1172:32;;-1:-1:-1;;;895: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;2990:388::-;3058:6;3066;3119:2;3107:9;3098:7;3094:23;3090:32;3087:52;;;3135:1;3132;3125:12;3087:52;3174:9;3161:23;3193:31;3218:5;3193:31;:::i;:::-;3243:5;-1:-1:-1;3300:2:1;3285:18;;3272:32;3313:33;3272:32;3313:33;:::i;:::-;3365:7;3355:17;;;2990:388;;;;;:::o;3383:273::-;3439:6;3492:2;3480:9;3471:7;3467:23;3463:32;3460:52;;;3508:1;3505;3498:12;3460:52;3547:9;3534:23;3600:5;3593:13;3586:21;3579:5;3576:32;3566:60;;3622:1;3619;3612:12;3661:180;3720:6;3773:2;3761:9;3752:7;3748:23;3744:32;3741:52;;;3789:1;3786;3779:12;3741:52;-1:-1:-1;3812:23:1;;3661:180;-1:-1:-1;3661:180:1:o;3846:329::-;4048:2;4030:21;;;4087:1;4067:18;;;4060:29;-1:-1:-1;;;4120:2:1;4105:18;;4098:36;4166:2;4151:18;;3846:329::o;4180:127::-;4241:10;4236:3;4232:20;4229:1;4222:31;4272:4;4269:1;4262:15;4296:4;4293:1;4286:15;4312:125;4377:9;;;4398:10;;;4395:36;;;4411:18;;:::i;4442:168::-;4515:9;;;4546;;4563:15;;;4557:22;;4543:37;4533:71;;4584:18;;:::i;4615:217::-;4655:1;4681;4671:132;;4725:10;4720:3;4716:20;4713:1;4706:31;4760:4;4757:1;4750:15;4788:4;4785:1;4778:15;4671:132;-1:-1:-1;4817:9:1;;4615:217::o;4837:128::-;4904:9;;;4925:11;;;4922:37;;;4939:18;;:::i;5508:127::-;5569:10;5564:3;5560:20;5557:1;5550:31;5600:4;5597:1;5590:15;5624:4;5621:1;5614:15;5640:251;5710:6;5763:2;5751:9;5742:7;5738:23;5734:32;5731:52;;;5779:1;5776;5769:12;5731:52;5811:9;5805:16;5830:31;5855:5;5830:31;:::i;5896:980::-;6158:4;6206:3;6195:9;6191:19;6237:6;6226:9;6219:25;6263:2;6301:6;6296:2;6285:9;6281:18;6274:34;6344:3;6339:2;6328:9;6324:18;6317:31;6368:6;6403;6397:13;6434:6;6426;6419:22;6472:3;6461:9;6457:19;6450:26;;6511:2;6503:6;6499:15;6485:29;;6532:1;6542:195;6556:6;6553:1;6550:13;6542:195;;;6621:13;;-1:-1:-1;;;;;6617:39:1;6605:52;;6712:15;;;;6677:12;;;;6653:1;6571:9;6542:195;;;-1:-1:-1;;;;;;;6793:32:1;;;;6788:2;6773:18;;6766:60;-1:-1:-1;;;6857:3:1;6842:19;6835:35;6754:3;5896:980;-1:-1:-1;;;5896:980:1:o;8062:306::-;8150:6;8158;8166;8219:2;8207:9;8198:7;8194:23;8190:32;8187:52;;;8235:1;8232;8225:12;8187:52;8264:9;8258:16;8248:26;;8314:2;8303:9;8299:18;8293:25;8283:35;;8358:2;8347:9;8343:18;8337:25;8327:35;;8062:306;;;;;:::o

Swarm Source

ipfs://76c98b16bd32a604c1e50791ff54f90b7d5398ef8fbd14d4f759fca6b855f785

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.