ETH Price: $2,525.07 (+0.92%)
Gas: 5.5 Gwei

Contract

0x4afe5D1a8975dA1AB9d44AF3DC70F3C5f315CFe4
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve177719052023-07-25 18:30:23405 days ago1690309823IN
0x4afe5D1a...5f315CFe4
0 ETH0.0015982834.50151613
Enable Trading177712852023-07-25 16:25:11405 days ago1690302311IN
0x4afe5D1a...5f315CFe4
0 ETH0.0011126236.28191116
Approve177712722023-07-25 16:22:35405 days ago1690302155IN
0x4afe5D1a...5f315CFe4
0 ETH0.001080736.94828757
Approve177711482023-07-25 15:57:35405 days ago1690300655IN
0x4afe5D1a...5f315CFe4
0 ETH0.0018424839.80387783
Enable Trading177710332023-07-25 15:34:23405 days ago1690299263IN
0x4afe5D1a...5f315CFe4
0 ETH0.0013291443.34264563
Transfer177710152023-07-25 15:30:47405 days ago1690299047IN
0x4afe5D1a...5f315CFe4
0 ETH0.0012803538.58710438
Approve177710082023-07-25 15:29:23405 days ago1690298963IN
0x4afe5D1a...5f315CFe4
0 ETH0.001685136.35697978
Enable Trading177707992023-07-25 14:46:47405 days ago1690296407IN
0x4afe5D1a...5f315CFe4
0 ETH0.0014348146.7883965
Enable Trading177707812023-07-25 14:43:11405 days ago1690296191IN
0x4afe5D1a...5f315CFe4
0 ETH0.0031203246.11368498
Transfer177635902023-07-24 14:34:47406 days ago1690209287IN
0x4afe5D1a...5f315CFe4
0 ETH0.0015556346.88317134
Transfer177632392023-07-24 13:24:23406 days ago1690205063IN
0x4afe5D1a...5f315CFe4
0 ETH0.0013181239.72542862
Transfer177632222023-07-24 13:20:59406 days ago1690204859IN
0x4afe5D1a...5f315CFe4
0 ETH0.0011732735.39830657
Transfer177632122023-07-24 13:18:59406 days ago1690204739IN
0x4afe5D1a...5f315CFe4
0 ETH0.0011796835.59164352
Transfer177632062023-07-24 13:17:47406 days ago1690204667IN
0x4afe5D1a...5f315CFe4
0 ETH0.0011503733.78879568
Transfer177631992023-07-24 13:16:23406 days ago1690204583IN
0x4afe5D1a...5f315CFe4
0 ETH0.00101730.68355785
Approve177631592023-07-24 13:08:23406 days ago1690204103IN
0x4afe5D1a...5f315CFe4
0 ETH0.0019174241.36930616
Transfer177629542023-07-24 12:26:23406 days ago1690201583IN
0x4afe5D1a...5f315CFe4
0 ETH0.0012282836.07726183
Transfer177629262023-07-24 12:20:47406 days ago1690201247IN
0x4afe5D1a...5f315CFe4
0 ETH0.0010781532.51653249
Transfer177629172023-07-24 12:18:59406 days ago1690201139IN
0x4afe5D1a...5f315CFe4
0 ETH0.0011822135.62920104
Transfer177629062023-07-24 12:16:47406 days ago1690201007IN
0x4afe5D1a...5f315CFe4
0 ETH0.0012746438.4147634
0x60806040177568222023-07-23 15:51:47407 days ago1690127507IN
 Create: ERC20Token
0 ETH0.0993191825.33191354

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
ERC20Token

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

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

/*

Missed $MOG because you were with your friends?
Here is your second chance,
$MOG is back with his friends.
$MOG2.0
join us it will be a fun party

https://t.me/MOGSF


*/

// SPDX-License-Identifier: Unlicensed
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, "addition overflow");
        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "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, " multiplication overflow");
        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "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(), "caller is not the owner");
        _;
    }

    function transferOwnership(address newOwner) public onlyOwner {
        require(newOwner != address(0), "new owner is the zero address");
        _owner = newOwner;
        emit OwnershipTransferred(_owner, newOwner);
    }

    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 IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;

    function factory() external pure returns (address);
    function WETH() external pure returns (address);
}

contract ERC20Token is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping(address => uint256) private _balance;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFeeWallet;
    uint256 private constant MAX = ~uint256(0);
    uint256 private _tax;

    // CHANGE DECIMALS HERE. Ex: 6 instead of 18
    uint8 private constant _decimals = 18;

    //CHANGE TOTAL SUPPLY HERE. Ex: 1000 instead of 1000000000000
    uint256 private constant _totalSupply = 420690000000000 * 10**_decimals;

    //CHANGE TOKEN NAME HERE. Ex: "My Token" instead of "Boom"
    string private constant _name = "Mog2.0";

    //CHANGE SYMBOL HERE. Ex: "MTN" instead of "Boom"
    string private constant _symbol = "MOG2.0";

    //CHANGE BUY TAX HERE. Ex: For 10% tax, 10 instead of 5
    uint256 public buyTax = 1;

     //CHANGE SELL TAX HERE. Ex: For 10% tax, 10 instead of 5
    uint256 public sellTax = 1;

    //CHANGE TAX WALLET HERE. Ex: 0x50d2594A7543ca49275A79e673f93A911fe4aE3Y instead of 0x60d2594A7543ca49275A79e673f93A911fe4aFA5
    address public taxWallet = payable(0x4D17126bC0514e82772899A7A9ccF6939277fA89);

    // CHANGE MAX THEY CAN HOLD. Ex: for 10%, 10 instead of 1
    uint256 public MAX_PERCENT = 1;

    //CHANGE ANTI SNIPE TAX % FOR FIRST 3 BLOCKS. Ex: for 100%, 100 instead of 99
    uint256 public BOT_TAX = 99;



    uint256 public MAX_PER_WALLET = _totalSupply * MAX_PERCENT / 300;

    IUniswapV2Router02 private uniswapV2Router;
    address public uniswapV2Pair;

        
    uint256 private launchBlock;
    uint256 private deadBlock = 3;
    bool private launch = false;


    constructor() {
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        _balance[_msgSender()] = _totalSupply;
        
        _isExcludedFromFeeWallet[_msgSender()] = true;
        _isExcludedFromFeeWallet[address(this)] = true;
        _isExcludedFromFeeWallet[taxWallet] = true;


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

    function updateSellTax(uint256 _newValue) public onlyOwner {
        sellTax = _newValue;
    }

        function updateBuyTax(uint256 _newValue) public onlyOwner {
        buyTax = _newValue;
    }

    function updateMaxPercent(uint256 _newValue) public onlyOwner {
        MAX_PERCENT = _newValue;
    }

    function updateTaxWallet(address _newAddr) public onlyOwner {
        taxWallet = payable(_newAddr);
    }

    function updateBotTax(uint256 _newValue) public onlyOwner {
        BOT_TAX = _newValue;
    }




    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 _balance[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,"low allowance"));
        return true;
    }

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0) && spender != address(0), "approve zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function enableTrading() external onlyOwner {
        launch = true;
        launchBlock = block.number;
    }

    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "transfer zero address");
        bool _isBuy = false;
        bool _isSell = false;

        if(to != owner() && to != uniswapV2Pair && to != taxWallet){
            require(_balance[from] + amount < MAX_PER_WALLET, "Amount exceeds max per wallet limits");
        }

        if (_isExcludedFromFeeWallet[from] || _isExcludedFromFeeWallet[to]) {
            _tax = 0;
        } else {
            require(launch, "Wait till launch");
            if (block.number < launchBlock + deadBlock) {_tax=BOT_TAX;} else {
                if (from == uniswapV2Pair) {
                    _tax = buyTax;
                    _isBuy = true;
                } else if (to == uniswapV2Pair) {
                    _tax = sellTax;
                    _isSell = true;
                } else {
                    _tax = 0;
                }
            }
        }

        //transfer tokens
        uint256 taxTokens = (amount * _tax) / 100;
        uint256 transferAmount = amount - taxTokens;

        _balance[from] = _balance[from] - amount;
        _balance[to] = _balance[to] + transferAmount;

        if(_isBuy || _isSell){
            swapTokensForEth(taxTokens);
            payable(taxWallet).transfer(IERC20(uniswapV2Router.WETH()).balanceOf(address(this)));
        }
        

        emit Transfer(from, to, transferAmount);
    }

     function swapTokensForEth(uint256 tokenAmount) private {
        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,
            taxWallet,
            block.timestamp
        );
    }


    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":[],"name":"BOT_TAX","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAX_PERCENT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAX_PER_WALLET","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"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":"buyTax","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":"enableTrading","outputs":[],"stateMutability":"nonpayable","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":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellTax","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":"taxWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","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"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newValue","type":"uint256"}],"name":"updateBotTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newValue","type":"uint256"}],"name":"updateBuyTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newValue","type":"uint256"}],"name":"updateMaxPercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newValue","type":"uint256"}],"name":"updateSellTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newAddr","type":"address"}],"name":"updateTaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600160058190556006819055600780546001600160a01b031916734d17126bc0514e82772899a7a9ccf6939277fa891790556008819055606360095561012c90620000526012600a62000468565b620000659066017e9d8602b40062000480565b62000071919062000480565b6200007d91906200049a565b600a556003600e55600f805460ff191690553480156200009c57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600b80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa15801562000143573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001699190620004bd565b6001600160a01b031663c9c6539630600b60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001cc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001f29190620004bd565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000240573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002669190620004bd565b600c80546001600160a01b0319166001600160a01b0392909216919091179055620002946012600a62000468565b620002a79066017e9d8602b40062000480565b3360008181526001602081815260408084209590955560039052838220805460ff19908116831790915530835284832080548216831790556007546001600160a01b03168352938220805490941617909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620003296012600a62000468565b6200033c9066017e9d8602b40062000480565b60405190815260200160405180910390a3620004e8565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620003aa5781600019048211156200038e576200038e62000353565b808516156200039c57918102915b93841c93908002906200036e565b509250929050565b600082620003c35750600162000462565b81620003d25750600062000462565b8160018114620003eb5760028114620003f65762000416565b600191505062000462565b60ff8411156200040a576200040a62000353565b50506001821b62000462565b5060208310610133831016604e8410600b84101617156200043b575081810a62000462565b62000447838362000369565b80600019048211156200045e576200045e62000353565b0290505b92915050565b60006200047960ff841683620003b2565b9392505050565b808202811582820484141762000462576200046262000353565b600082620004b857634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215620004d057600080fd5b81516001600160a01b03811681146200047957600080fd5b6112cd80620004f86000396000f3fe60806040526004361061016a5760003560e01c806370a08231116100d1578063a75926f01161008a578063cc1776d311610064578063cc1776d31461044f578063dd62ed3e14610465578063eaa8d3ca146104ab578063f2fde38b146104c157600080fd5b8063a75926f0146103ef578063a9059cbb1461040f578063c2e383c51461042f57600080fd5b806370a0823114610322578063715018a61461035857806374c9f6031461036d5780638a8c523c1461038d5780638da5cb5b146103a257806395d89b41146103c057600080fd5b806323b872dd1161012357806323b872dd146102585780632dc0562d14610278578063313ce567146102b0578063436d3340146102cc57806349bd5a5e146102ec5780634f7041a51461030c57600080fd5b806306fdde0314610176578063095ea7b3146101b75780630f2cdd6c146101e75780631036bbe21461020b57806312185a391461022157806318160ddd1461024357600080fd5b3661017157005b600080fd5b34801561018257600080fd5b5060408051808201909152600681526504d6f67322e360d41b60208201525b6040516101ae9190610ef2565b60405180910390f35b3480156101c357600080fd5b506101d76101d2366004610f58565b6104e1565b60405190151581526020016101ae565b3480156101f357600080fd5b506101fd600a5481565b6040519081526020016101ae565b34801561021757600080fd5b506101fd60085481565b34801561022d57600080fd5b5061024161023c366004610f84565b6104f8565b005b34801561024f57600080fd5b506101fd610530565b34801561026457600080fd5b506101d7610273366004610f9d565b610554565b34801561028457600080fd5b50600754610298906001600160a01b031681565b6040516001600160a01b0390911681526020016101ae565b3480156102bc57600080fd5b50604051601281526020016101ae565b3480156102d857600080fd5b506102416102e7366004610f84565b6105ee565b3480156102f857600080fd5b50600c54610298906001600160a01b031681565b34801561031857600080fd5b506101fd60055481565b34801561032e57600080fd5b506101fd61033d366004610fde565b6001600160a01b031660009081526001602052604090205490565b34801561036457600080fd5b5061024161061d565b34801561037957600080fd5b50610241610388366004610fde565b610691565b34801561039957600080fd5b506102416106dd565b3480156103ae57600080fd5b506000546001600160a01b0316610298565b3480156103cc57600080fd5b5060408051808201909152600681526504d4f47322e360d41b60208201526101a1565b3480156103fb57600080fd5b5061024161040a366004610f84565b61071a565b34801561041b57600080fd5b506101d761042a366004610f58565b610749565b34801561043b57600080fd5b5061024161044a366004610f84565b610756565b34801561045b57600080fd5b506101fd60065481565b34801561047157600080fd5b506101fd610480366004611002565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b3480156104b757600080fd5b506101fd60095481565b3480156104cd57600080fd5b506102416104dc366004610fde565b610785565b60006104ee338484610850565b5060015b92915050565b6000546001600160a01b0316331461052b5760405162461bcd60e51b81526004016105229061103b565b60405180910390fd5b600655565b600061053e6012600a61116c565b61054f9066017e9d8602b40061117b565b905090565b6000610561848484610914565b6105e484336105df856040518060400160405280600d81526020016c6c6f7720616c6c6f77616e636560981b815250600260008b6001600160a01b03166001600160a01b0316815260200190815260200160002060006105be3390565b6001600160a01b031681526020810191909152604001600020549190610d5a565b610850565b5060019392505050565b6000546001600160a01b031633146106185760405162461bcd60e51b81526004016105229061103b565b600555565b6000546001600160a01b031633146106475760405162461bcd60e51b81526004016105229061103b565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146106bb5760405162461bcd60e51b81526004016105229061103b565b600780546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146107075760405162461bcd60e51b81526004016105229061103b565b600f805460ff1916600117905543600d55565b6000546001600160a01b031633146107445760405162461bcd60e51b81526004016105229061103b565b600955565b60006104ee338484610914565b6000546001600160a01b031633146107805760405162461bcd60e51b81526004016105229061103b565b600855565b6000546001600160a01b031633146107af5760405162461bcd60e51b81526004016105229061103b565b6001600160a01b0381166108055760405162461bcd60e51b815260206004820152601d60248201527f6e6577206f776e657220697320746865207a65726f20616464726573730000006044820152606401610522565b600080546001600160a01b0319166001600160a01b0383169081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a350565b6001600160a01b0383161580159061087057506001600160a01b03821615155b6108b35760405162461bcd60e51b8152602060048201526014602482015273617070726f7665207a65726f206164647265737360601b6044820152606401610522565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166109625760405162461bcd60e51b81526020600482015260156024820152747472616e73666572207a65726f206164647265737360581b6044820152606401610522565b6000806109776000546001600160a01b031690565b6001600160a01b0316846001600160a01b0316141580156109a65750600c546001600160a01b03858116911614155b80156109c057506007546001600160a01b03858116911614155b15610a4557600a546001600160a01b0386166000908152600160205260409020546109ec908590611192565b10610a455760405162461bcd60e51b8152602060048201526024808201527f416d6f756e742065786365656473206d6178207065722077616c6c6574206c696044820152636d69747360e01b6064820152608401610522565b6001600160a01b03851660009081526003602052604090205460ff1680610a8457506001600160a01b03841660009081526003602052604090205460ff165b15610a93576000600455610b49565b600f5460ff16610ad85760405162461bcd60e51b815260206004820152601060248201526f0aec2d2e840e8d2d8d840d8c2eadcc6d60831b6044820152606401610522565b600e54600d54610ae89190611192565b431015610afa57600954600455610b49565b600c546001600160a01b0390811690861603610b1f5760055460045560019150610b49565b600c546001600160a01b0390811690851603610b4357506006546004556001610b49565b60006004555b6000606460045485610b5b919061117b565b610b6591906111a5565b90506000610b7382866111c7565b6001600160a01b038816600090815260016020526040902054909150610b9a9086906111c7565b6001600160a01b038089166000908152600160205260408082209390935590881681522054610bca908290611192565b6001600160a01b0387166000908152600160205260409020558380610bec5750825b15610d0457610bfa82610d94565b600754600b54604080516315ab88c960e31b815290516001600160a01b03938416936108fc93169163ad5c46489160048083019260209291908290030181865afa158015610c4c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c7091906111da565b6040516370a0823160e01b81523060048201526001600160a01b0391909116906370a0823190602401602060405180830381865afa158015610cb6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cda91906111f7565b6040518115909202916000818181858888f19350505050158015610d02573d6000803e3d6000fd5b505b856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610d4991815260200190565b60405180910390a350505050505050565b60008184841115610d7e5760405162461bcd60e51b81526004016105229190610ef2565b506000610d8b84866111c7565b95945050505050565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110610dc957610dc9611210565b6001600160a01b03928316602091820292909201810191909152600b54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610e22573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e4691906111da565b81600181518110610e5957610e59611210565b6001600160a01b039283166020918202929092010152600b54610e7f9130911684610850565b600b5460075460405163791ac94760e01b81526001600160a01b039283169263791ac94792610ebc92879260009288929116904290600401611226565b600060405180830381600087803b158015610ed657600080fd5b505af1158015610eea573d6000803e3d6000fd5b505050505050565b600060208083528351808285015260005b81811015610f1f57858101830151858201604001528201610f03565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610f5557600080fd5b50565b60008060408385031215610f6b57600080fd5b8235610f7681610f40565b946020939093013593505050565b600060208284031215610f9657600080fd5b5035919050565b600080600060608486031215610fb257600080fd5b8335610fbd81610f40565b92506020840135610fcd81610f40565b929592945050506040919091013590565b600060208284031215610ff057600080fd5b8135610ffb81610f40565b9392505050565b6000806040838503121561101557600080fd5b823561102081610f40565b9150602083013561103081610f40565b809150509250929050565b60208082526017908201527f63616c6c6572206973206e6f7420746865206f776e6572000000000000000000604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156110c35781600019048211156110a9576110a9611072565b808516156110b657918102915b93841c939080029061108d565b509250929050565b6000826110da575060016104f2565b816110e7575060006104f2565b81600181146110fd576002811461110757611123565b60019150506104f2565b60ff84111561111857611118611072565b50506001821b6104f2565b5060208310610133831016604e8410600b8410161715611146575081810a6104f2565b6111508383611088565b806000190482111561116457611164611072565b029392505050565b6000610ffb60ff8416836110cb565b80820281158282048414176104f2576104f2611072565b808201808211156104f2576104f2611072565b6000826111c257634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156104f2576104f2611072565b6000602082840312156111ec57600080fd5b8151610ffb81610f40565b60006020828403121561120957600080fd5b5051919050565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156112765784516001600160a01b031683529383019391830191600101611251565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220f2589fef2754e77c3fab64de4d8b5cdc97bc57d2e7bd7781e7d295e7946b7b3e64736f6c63430008120033

Deployed Bytecode

0x60806040526004361061016a5760003560e01c806370a08231116100d1578063a75926f01161008a578063cc1776d311610064578063cc1776d31461044f578063dd62ed3e14610465578063eaa8d3ca146104ab578063f2fde38b146104c157600080fd5b8063a75926f0146103ef578063a9059cbb1461040f578063c2e383c51461042f57600080fd5b806370a0823114610322578063715018a61461035857806374c9f6031461036d5780638a8c523c1461038d5780638da5cb5b146103a257806395d89b41146103c057600080fd5b806323b872dd1161012357806323b872dd146102585780632dc0562d14610278578063313ce567146102b0578063436d3340146102cc57806349bd5a5e146102ec5780634f7041a51461030c57600080fd5b806306fdde0314610176578063095ea7b3146101b75780630f2cdd6c146101e75780631036bbe21461020b57806312185a391461022157806318160ddd1461024357600080fd5b3661017157005b600080fd5b34801561018257600080fd5b5060408051808201909152600681526504d6f67322e360d41b60208201525b6040516101ae9190610ef2565b60405180910390f35b3480156101c357600080fd5b506101d76101d2366004610f58565b6104e1565b60405190151581526020016101ae565b3480156101f357600080fd5b506101fd600a5481565b6040519081526020016101ae565b34801561021757600080fd5b506101fd60085481565b34801561022d57600080fd5b5061024161023c366004610f84565b6104f8565b005b34801561024f57600080fd5b506101fd610530565b34801561026457600080fd5b506101d7610273366004610f9d565b610554565b34801561028457600080fd5b50600754610298906001600160a01b031681565b6040516001600160a01b0390911681526020016101ae565b3480156102bc57600080fd5b50604051601281526020016101ae565b3480156102d857600080fd5b506102416102e7366004610f84565b6105ee565b3480156102f857600080fd5b50600c54610298906001600160a01b031681565b34801561031857600080fd5b506101fd60055481565b34801561032e57600080fd5b506101fd61033d366004610fde565b6001600160a01b031660009081526001602052604090205490565b34801561036457600080fd5b5061024161061d565b34801561037957600080fd5b50610241610388366004610fde565b610691565b34801561039957600080fd5b506102416106dd565b3480156103ae57600080fd5b506000546001600160a01b0316610298565b3480156103cc57600080fd5b5060408051808201909152600681526504d4f47322e360d41b60208201526101a1565b3480156103fb57600080fd5b5061024161040a366004610f84565b61071a565b34801561041b57600080fd5b506101d761042a366004610f58565b610749565b34801561043b57600080fd5b5061024161044a366004610f84565b610756565b34801561045b57600080fd5b506101fd60065481565b34801561047157600080fd5b506101fd610480366004611002565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b3480156104b757600080fd5b506101fd60095481565b3480156104cd57600080fd5b506102416104dc366004610fde565b610785565b60006104ee338484610850565b5060015b92915050565b6000546001600160a01b0316331461052b5760405162461bcd60e51b81526004016105229061103b565b60405180910390fd5b600655565b600061053e6012600a61116c565b61054f9066017e9d8602b40061117b565b905090565b6000610561848484610914565b6105e484336105df856040518060400160405280600d81526020016c6c6f7720616c6c6f77616e636560981b815250600260008b6001600160a01b03166001600160a01b0316815260200190815260200160002060006105be3390565b6001600160a01b031681526020810191909152604001600020549190610d5a565b610850565b5060019392505050565b6000546001600160a01b031633146106185760405162461bcd60e51b81526004016105229061103b565b600555565b6000546001600160a01b031633146106475760405162461bcd60e51b81526004016105229061103b565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146106bb5760405162461bcd60e51b81526004016105229061103b565b600780546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146107075760405162461bcd60e51b81526004016105229061103b565b600f805460ff1916600117905543600d55565b6000546001600160a01b031633146107445760405162461bcd60e51b81526004016105229061103b565b600955565b60006104ee338484610914565b6000546001600160a01b031633146107805760405162461bcd60e51b81526004016105229061103b565b600855565b6000546001600160a01b031633146107af5760405162461bcd60e51b81526004016105229061103b565b6001600160a01b0381166108055760405162461bcd60e51b815260206004820152601d60248201527f6e6577206f776e657220697320746865207a65726f20616464726573730000006044820152606401610522565b600080546001600160a01b0319166001600160a01b0383169081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a350565b6001600160a01b0383161580159061087057506001600160a01b03821615155b6108b35760405162461bcd60e51b8152602060048201526014602482015273617070726f7665207a65726f206164647265737360601b6044820152606401610522565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166109625760405162461bcd60e51b81526020600482015260156024820152747472616e73666572207a65726f206164647265737360581b6044820152606401610522565b6000806109776000546001600160a01b031690565b6001600160a01b0316846001600160a01b0316141580156109a65750600c546001600160a01b03858116911614155b80156109c057506007546001600160a01b03858116911614155b15610a4557600a546001600160a01b0386166000908152600160205260409020546109ec908590611192565b10610a455760405162461bcd60e51b8152602060048201526024808201527f416d6f756e742065786365656473206d6178207065722077616c6c6574206c696044820152636d69747360e01b6064820152608401610522565b6001600160a01b03851660009081526003602052604090205460ff1680610a8457506001600160a01b03841660009081526003602052604090205460ff165b15610a93576000600455610b49565b600f5460ff16610ad85760405162461bcd60e51b815260206004820152601060248201526f0aec2d2e840e8d2d8d840d8c2eadcc6d60831b6044820152606401610522565b600e54600d54610ae89190611192565b431015610afa57600954600455610b49565b600c546001600160a01b0390811690861603610b1f5760055460045560019150610b49565b600c546001600160a01b0390811690851603610b4357506006546004556001610b49565b60006004555b6000606460045485610b5b919061117b565b610b6591906111a5565b90506000610b7382866111c7565b6001600160a01b038816600090815260016020526040902054909150610b9a9086906111c7565b6001600160a01b038089166000908152600160205260408082209390935590881681522054610bca908290611192565b6001600160a01b0387166000908152600160205260409020558380610bec5750825b15610d0457610bfa82610d94565b600754600b54604080516315ab88c960e31b815290516001600160a01b03938416936108fc93169163ad5c46489160048083019260209291908290030181865afa158015610c4c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c7091906111da565b6040516370a0823160e01b81523060048201526001600160a01b0391909116906370a0823190602401602060405180830381865afa158015610cb6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cda91906111f7565b6040518115909202916000818181858888f19350505050158015610d02573d6000803e3d6000fd5b505b856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610d4991815260200190565b60405180910390a350505050505050565b60008184841115610d7e5760405162461bcd60e51b81526004016105229190610ef2565b506000610d8b84866111c7565b95945050505050565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110610dc957610dc9611210565b6001600160a01b03928316602091820292909201810191909152600b54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610e22573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e4691906111da565b81600181518110610e5957610e59611210565b6001600160a01b039283166020918202929092010152600b54610e7f9130911684610850565b600b5460075460405163791ac94760e01b81526001600160a01b039283169263791ac94792610ebc92879260009288929116904290600401611226565b600060405180830381600087803b158015610ed657600080fd5b505af1158015610eea573d6000803e3d6000fd5b505050505050565b600060208083528351808285015260005b81811015610f1f57858101830151858201604001528201610f03565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610f5557600080fd5b50565b60008060408385031215610f6b57600080fd5b8235610f7681610f40565b946020939093013593505050565b600060208284031215610f9657600080fd5b5035919050565b600080600060608486031215610fb257600080fd5b8335610fbd81610f40565b92506020840135610fcd81610f40565b929592945050506040919091013590565b600060208284031215610ff057600080fd5b8135610ffb81610f40565b9392505050565b6000806040838503121561101557600080fd5b823561102081610f40565b9150602083013561103081610f40565b809150509250929050565b60208082526017908201527f63616c6c6572206973206e6f7420746865206f776e6572000000000000000000604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156110c35781600019048211156110a9576110a9611072565b808516156110b657918102915b93841c939080029061108d565b509250929050565b6000826110da575060016104f2565b816110e7575060006104f2565b81600181146110fd576002811461110757611123565b60019150506104f2565b60ff84111561111857611118611072565b50506001821b6104f2565b5060208310610133831016604e8410600b8410161715611146575081810a6104f2565b6111508383611088565b806000190482111561116457611164611072565b029392505050565b6000610ffb60ff8416836110cb565b80820281158282048414176104f2576104f2611072565b808201808211156104f2576104f2611072565b6000826111c257634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156104f2576104f2611072565b6000602082840312156111ec57600080fd5b8151610ffb81610f40565b60006020828403121561120957600080fd5b5051919050565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156112765784516001600160a01b031683529383019391830191600101611251565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220f2589fef2754e77c3fab64de4d8b5cdc97bc57d2e7bd7781e7d295e7946b7b3e64736f6c63430008120033

Deployed Bytecode Sourcemap

3629:6496:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6444:83;;;;;;;;;;-1:-1:-1;6514:5:0;;;;;;;;;;;;-1:-1:-1;;;6514:5:0;;;;6444:83;;;;;;;:::i;:::-;;;;;;;;7278:160;;;;;;;;;;-1:-1:-1;7278:160:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;7278:160:0;1023:187:1;5083:64:0;;;;;;;;;;;;;;;;;;;1361:25:1;;;1349:2;1334:18;5083:64:0;1215:177:1;4921:30:0;;;;;;;;;;;;;;;;5894:97;;;;;;;;;;-1:-1:-1;5894:97:0;;;;;:::i;:::-;;:::i;:::-;;6721:100;;;;;;;;;;;;;:::i;7446:283::-;;;;;;;;;;-1:-1:-1;7446:283:0;;;;;:::i;:::-;;:::i;4771:78::-;;;;;;;;;;-1:-1:-1;4771:78:0;;;;-1:-1:-1;;;;;4771:78:0;;;;;;-1:-1:-1;;;;;2207:32:1;;;2189:51;;2177:2;2162:18;4771:78:0;2043:203:1;6630:83:0;;;;;;;;;;-1:-1:-1;6630:83:0;;4069:2;2393:36:1;;2381:2;2366:18;6630:83:0;2251:184:1;6003:95:0;;;;;;;;;;-1:-1:-1;6003:95:0;;;;;:::i;:::-;;:::i;5205:28::-;;;;;;;;;;-1:-1:-1;5205:28:0;;;;-1:-1:-1;;;;;5205:28:0;;;4507:25;;;;;;;;;;;;;;;;6829:118;;;;;;;;;;-1:-1:-1;6829:118:0;;;;;:::i;:::-;-1:-1:-1;;;;;6922:17:0;6895:7;6922:17;;;:8;:17;;;;;;;6829:118;2958:148;;;;;;;;;;;;;:::i;6218:108::-;;;;;;;;;;-1:-1:-1;6218:108:0;;;;;:::i;:::-;;:::i;8010:113::-;;;;;;;;;;;;;:::i;2518:79::-;;;;;;;;;;-1:-1:-1;2556:7:0;2583:6;-1:-1:-1;;;;;2583:6:0;2518:79;;6535:87;;;;;;;;;;-1:-1:-1;6607:7:0;;;;;;;;;;;;-1:-1:-1;;;6607:7:0;;;;6535:87;;6334:96;;;;;;;;;;-1:-1:-1;6334:96:0;;;;;:::i;:::-;;:::i;6955:165::-;;;;;;;;;;-1:-1:-1;6955:165:0;;;;;:::i;:::-;;:::i;6106:104::-;;;;;;;;;;-1:-1:-1;6106:104:0;;;;;:::i;:::-;;:::i;4604:26::-;;;;;;;;;;;;;;;;7128:142;;;;;;;;;;-1:-1:-1;7128:142:0;;;;;:::i;:::-;-1:-1:-1;;;;;7235:18:0;;;7209:7;7235:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7128:142;5043:27;;;;;;;;;;;;;;;;2723:227;;;;;;;;;;-1:-1:-1;2723:227:0;;;;;:::i;:::-;;:::i;7278:160::-;7353:4;7369:39;369:10;7392:7;7401:6;7369:8;:39::i;:::-;-1:-1:-1;7426:4:0;7278:160;;;;;:::o;5894:97::-;2645:6;;-1:-1:-1;;;;;2645:6:0;369:10;2645:22;2637:58;;;;-1:-1:-1;;;2637:58:0;;;;;;;:::i;:::-;;;;;;;;;5964:7:::1;:19:::0;5894:97::o;6721:100::-;6774:7;4205:13;4069:2;4205;:13;:::i;:::-;4187:31;;:15;:31;:::i;:::-;6794:19;;6721:100;:::o;7446:283::-;7544:4;7561:36;7571:6;7579:9;7590:6;7561:9;:36::i;:::-;7608:91;7617:6;369:10;7637:61;7675:6;7637:61;;;;;;;;;;;;;-1:-1:-1;;;7637:61:0;;;:11;:19;7649:6;-1:-1:-1;;;;;7637:19:0;-1:-1:-1;;;;;7637:19:0;;;;;;;;;;;;:33;7657:12;369:10;;289:98;7657:12;-1:-1:-1;;;;;7637:33:0;;;;;;;;;;;;-1:-1:-1;7637:33:0;;;:61;:37;:61::i;:::-;7608:8;:91::i;:::-;-1:-1:-1;7717:4:0;7446:283;;;;;:::o;6003:95::-;2645:6;;-1:-1:-1;;;;;2645:6:0;369:10;2645:22;2637:58;;;;-1:-1:-1;;;2637:58:0;;;;;;;:::i;:::-;6072:6:::1;:18:::0;6003:95::o;2958:148::-;2645:6;;-1:-1:-1;;;;;2645:6:0;369:10;2645:22;2637:58;;;;-1:-1:-1;;;2637:58:0;;;;;;;:::i;:::-;3065:1:::1;3049:6:::0;;3028:40:::1;::::0;-1:-1:-1;;;;;3049:6:0;;::::1;::::0;3028:40:::1;::::0;3065:1;;3028:40:::1;3096:1;3079:19:::0;;-1:-1:-1;;;;;;3079:19:0::1;::::0;;2958:148::o;6218:108::-;2645:6;;-1:-1:-1;;;;;2645:6:0;369:10;2645:22;2637:58;;;;-1:-1:-1;;;2637:58:0;;;;;;;:::i;:::-;6289:9:::1;:29:::0;;-1:-1:-1;;;;;;6289:29:0::1;-1:-1:-1::0;;;;;6289:29:0;;;::::1;::::0;;;::::1;::::0;;6218:108::o;8010:113::-;2645:6;;-1:-1:-1;;;;;2645:6:0;369:10;2645:22;2637:58;;;;-1:-1:-1;;;2637:58:0;;;;;;;:::i;:::-;8065:6:::1;:13:::0;;-1:-1:-1;;8065:13:0::1;8074:4;8065:13;::::0;;8103:12:::1;8089:11;:26:::0;8010:113::o;6334:96::-;2645:6;;-1:-1:-1;;;;;2645:6:0;369:10;2645:22;2637:58;;;;-1:-1:-1;;;2637:58:0;;;;;;;:::i;:::-;6403:7:::1;:19:::0;6334:96::o;6955:165::-;7032:4;7048:42;369:10;7072:9;7083:6;7048:9;:42::i;6106:104::-;2645:6;;-1:-1:-1;;;;;2645:6:0;369:10;2645:22;2637:58;;;;-1:-1:-1;;;2637:58:0;;;;;;;:::i;:::-;6179:11:::1;:23:::0;6106:104::o;2723:227::-;2645:6;;-1:-1:-1;;;;;2645:6:0;369:10;2645:22;2637:58;;;;-1:-1:-1;;;2637:58:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2804:22:0;::::1;2796:64;;;::::0;-1:-1:-1;;;2796:64:0;;5327:2:1;2796:64:0::1;::::0;::::1;5309:21:1::0;5366:2;5346:18;;;5339:30;5405:31;5385:18;;;5378:59;5454:18;;2796:64:0::1;5125:353:1::0;2796:64:0::1;2871:6;:17:::0;;-1:-1:-1;;;;;;2871:17:0::1;-1:-1:-1::0;;;;;2871:17:0;::::1;::::0;;::::1;::::0;;2904:38:::1;::::0;2871:17;;;;2904:38:::1;::::0;2871:6;2904:38:::1;2723:227:::0;:::o;7737:265::-;-1:-1:-1;;;;;7830:19:0;;;;;;:44;;-1:-1:-1;;;;;;7853:21:0;;;;7830:44;7822:77;;;;-1:-1:-1;;;7822:77:0;;5685:2:1;7822:77:0;;;5667:21:1;5724:2;5704:18;;;5697:30;-1:-1:-1;;;5743:18:1;;;5736:50;5803:18;;7822:77:0;5483:344:1;7822:77:0;-1:-1:-1;;;;;7910:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7962:32;;1361:25:1;;;7962:32:0;;1334:18:1;7962:32:0;;;;;;;7737:265;;;:::o;8131:1476::-;-1:-1:-1;;;;;8219:18:0;;8211:52;;;;-1:-1:-1;;;8211:52:0;;6034:2:1;8211:52:0;;;6016:21:1;6073:2;6053:18;;;6046:30;-1:-1:-1;;;6092:18:1;;;6085:51;6153:18;;8211:52:0;5832:345:1;8211:52:0;8274:11;8304:12;8346:7;2556;2583:6;-1:-1:-1;;;;;2583:6:0;;2518:79;8346:7;-1:-1:-1;;;;;8340:13:0;:2;-1:-1:-1;;;;;8340:13:0;;;:36;;;;-1:-1:-1;8363:13:0;;-1:-1:-1;;;;;8357:19:0;;;8363:13;;8357:19;;8340:36;:55;;;;-1:-1:-1;8386:9:0;;-1:-1:-1;;;;;8380:15:0;;;8386:9;;8380:15;;8340:55;8337:175;;;8445:14;;-1:-1:-1;;;;;8419:14:0;;;;;;:8;:14;;;;;;:23;;8436:6;;8419:23;:::i;:::-;:40;8411:89;;;;-1:-1:-1;;;8411:89:0;;6514:2:1;8411:89:0;;;6496:21:1;6553:2;6533:18;;;6526:30;6592:34;6572:18;;;6565:62;-1:-1:-1;;;6643:18:1;;;6636:34;6687:19;;8411:89:0;6312:400:1;8411:89:0;-1:-1:-1;;;;;8528:30:0;;;;;;:24;:30;;;;;;;;;:62;;-1:-1:-1;;;;;;8562:28:0;;;;;;:24;:28;;;;;;;;8528:62;8524:585;;;8614:1;8607:4;:8;8524:585;;;8656:6;;;;8648:35;;;;-1:-1:-1;;;8648:35:0;;6919:2:1;8648:35:0;;;6901:21:1;6958:2;6938:18;;;6931:30;-1:-1:-1;;;6977:18:1;;;6970:46;7033:18;;8648:35:0;6717:340:1;8648:35:0;8731:9;;8717:11;;:23;;;;:::i;:::-;8702:12;:38;8698:400;;;8748:7;;8743:4;:12;8698:400;;;8794:13;;-1:-1:-1;;;;;8794:13:0;;;8786:21;;;;8782:301;;8839:6;;8832:4;:13;-1:-1:-1;;;8782:301:0;;;8917:13;;-1:-1:-1;;;;;8917:13:0;;;8911:19;;;;8907:176;;-1:-1:-1;8962:7:0;;8955:4;:14;9002:4;8907:176;;;9062:1;9055:4;:8;8907:176;9148:17;9186:3;9178:4;;9169:6;:13;;;;:::i;:::-;9168:21;;;;:::i;:::-;9148:41;-1:-1:-1;9200:22:0;9225:18;9148:41;9225:6;:18;:::i;:::-;-1:-1:-1;;;;;9273:14:0;;;;;;:8;:14;;;;;;9200:43;;-1:-1:-1;9273:23:0;;9290:6;;9273:23;:::i;:::-;-1:-1:-1;;;;;9256:14:0;;;;;;;:8;:14;;;;;;:40;;;;9322:12;;;;;;;:29;;9337:14;;9322:29;:::i;:::-;-1:-1:-1;;;;;9307:12:0;;;;;;:8;:12;;;;;:44;9367:6;;:17;;;9377:7;9367:17;9364:174;;;9400:27;9417:9;9400:16;:27::i;:::-;9450:9;;9477:15;;:22;;;-1:-1:-1;;;9477:22:0;;;;-1:-1:-1;;;;;9450:9:0;;;;9442:84;;9477:15;;:20;;:22;;;;;;;;;;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9470:55;;-1:-1:-1;;;9470:55:0;;9519:4;9470:55;;;2189:51:1;-1:-1:-1;;;;;9470:40:0;;;;;;;2162:18:1;;9470:55:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9442:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9364:174;9580:2;-1:-1:-1;;;;;9565:34:0;9574:4;-1:-1:-1;;;;;9565:34:0;;9584:14;9565:34;;;;1361:25:1;;1349:2;1334:18;;1215:177;9565:34:0;;;;;;;;8200:1407;;;;8131:1476;;;:::o;1407:190::-;1493:7;1529:12;1521:6;;;;1513:29;;;;-1:-1:-1;;;1513:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1553:9:0;1565:5;1569:1;1565;:5;:::i;:::-;1553:17;1407:190;-1:-1:-1;;;;;1407:190:0:o;9616:467::-;9706:16;;;9720:1;9706:16;;;;;;;;9682:21;;9706:16;;;;;;;;;;-1:-1:-1;9706:16:0;9682:40;;9751:4;9733;9738:1;9733:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;9733:23:0;;;:7;;;;;;;;;;:23;;;;9777:15;;:22;;;-1:-1:-1;;;9777:22:0;;;;:15;;;;;:20;;:22;;;;;9733:7;;9777:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9767:4;9772:1;9767:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;9767:32:0;;;:7;;;;;;;;;:32;9842:15;;9810:62;;9827:4;;9842:15;9860:11;9810:8;:62::i;:::-;9883:15;;10025:9;;9883:192;;-1:-1:-1;;;9883:192:0;;-1:-1:-1;;;;;9883:15:0;;;;:66;;:192;;9964:11;;9883:15;;10006:4;;10025:9;;;10049:15;;9883:192;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9671:412;9616:467;:::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:180::-;1456:6;1509:2;1497:9;1488:7;1484:23;1480:32;1477:52;;;1525:1;1522;1515:12;1477:52;-1:-1:-1;1548:23:1;;1397:180;-1:-1:-1;1397:180:1:o;1582:456::-;1659:6;1667;1675;1728:2;1716:9;1707:7;1703:23;1699:32;1696:52;;;1744:1;1741;1734:12;1696:52;1783:9;1770:23;1802:31;1827:5;1802:31;:::i;:::-;1852:5;-1:-1:-1;1909:2:1;1894:18;;1881:32;1922:33;1881:32;1922:33;:::i;:::-;1582:456;;1974:7;;-1:-1:-1;;;2028:2:1;2013:18;;;;2000:32;;1582:456::o;2440:247::-;2499:6;2552:2;2540:9;2531:7;2527:23;2523:32;2520:52;;;2568:1;2565;2558:12;2520:52;2607:9;2594:23;2626:31;2651:5;2626:31;:::i;:::-;2676:5;2440:247;-1:-1:-1;;;2440:247:1:o;2692:388::-;2760:6;2768;2821:2;2809:9;2800:7;2796:23;2792:32;2789:52;;;2837:1;2834;2827:12;2789:52;2876:9;2863:23;2895:31;2920:5;2895:31;:::i;:::-;2945:5;-1:-1:-1;3002:2:1;2987:18;;2974:32;3015:33;2974:32;3015:33;:::i;:::-;3067:7;3057:17;;;2692:388;;;;;:::o;3085:347::-;3287:2;3269:21;;;3326:2;3306:18;;;3299:30;3365:25;3360:2;3345:18;;3338:53;3423:2;3408:18;;3085:347::o;3437:127::-;3498:10;3493:3;3489:20;3486:1;3479:31;3529:4;3526:1;3519:15;3553:4;3550:1;3543:15;3569:422;3658:1;3701:5;3658:1;3715:270;3736:7;3726:8;3723:21;3715:270;;;3795:4;3791:1;3787:6;3783:17;3777:4;3774:27;3771:53;;;3804:18;;:::i;:::-;3854:7;3844:8;3840:22;3837:55;;;3874:16;;;;3837:55;3953:22;;;;3913:15;;;;3715:270;;;3719:3;3569:422;;;;;:::o;3996:806::-;4045:5;4075:8;4065:80;;-1:-1:-1;4116:1:1;4130:5;;4065:80;4164:4;4154:76;;-1:-1:-1;4201:1:1;4215:5;;4154:76;4246:4;4264:1;4259:59;;;;4332:1;4327:130;;;;4239:218;;4259:59;4289:1;4280:10;;4303:5;;;4327:130;4364:3;4354:8;4351:17;4348:43;;;4371:18;;:::i;:::-;-1:-1:-1;;4427:1:1;4413:16;;4442:5;;4239:218;;4541:2;4531:8;4528:16;4522:3;4516:4;4513:13;4509:36;4503:2;4493:8;4490:16;4485:2;4479:4;4476:12;4472:35;4469:77;4466:159;;;-1:-1:-1;4578:19:1;;;4610:5;;4466:159;4657:34;4682:8;4676:4;4657:34;:::i;:::-;4727:6;4723:1;4719:6;4715:19;4706:7;4703:32;4700:58;;;4738:18;;:::i;:::-;4776:20;;3996:806;-1:-1:-1;;;3996:806:1:o;4807:140::-;4865:5;4894:47;4935:4;4925:8;4921:19;4915:4;4894:47;:::i;4952:168::-;5025:9;;;5056;;5073:15;;;5067:22;;5053:37;5043:71;;5094:18;;:::i;6182:125::-;6247:9;;;6268:10;;;6265:36;;;6281:18;;:::i;7062:217::-;7102:1;7128;7118:132;;7172:10;7167:3;7163:20;7160:1;7153:31;7207:4;7204:1;7197:15;7235:4;7232:1;7225:15;7118:132;-1:-1:-1;7264:9:1;;7062:217::o;7284:128::-;7351:9;;;7372:11;;;7369:37;;;7386:18;;:::i;7417:251::-;7487:6;7540:2;7528:9;7519:7;7515:23;7511:32;7508:52;;;7556:1;7553;7546:12;7508:52;7588:9;7582:16;7607:31;7632:5;7607:31;:::i;7673:184::-;7743:6;7796:2;7784:9;7775:7;7771:23;7767:32;7764:52;;;7812:1;7809;7802:12;7764:52;-1:-1:-1;7835:16:1;;7673:184;-1:-1:-1;7673:184:1:o;7994:127::-;8055:10;8050:3;8046:20;8043:1;8036:31;8086:4;8083:1;8076:15;8110:4;8107:1;8100:15;8126:980;8388:4;8436:3;8425:9;8421:19;8467:6;8456:9;8449:25;8493:2;8531:6;8526:2;8515:9;8511:18;8504:34;8574:3;8569:2;8558:9;8554:18;8547:31;8598:6;8633;8627:13;8664:6;8656;8649:22;8702:3;8691:9;8687:19;8680:26;;8741:2;8733:6;8729:15;8715:29;;8762:1;8772:195;8786:6;8783:1;8780:13;8772:195;;;8851:13;;-1:-1:-1;;;;;8847:39:1;8835:52;;8942:15;;;;8907:12;;;;8883:1;8801:9;8772:195;;;-1:-1:-1;;;;;;;9023:32:1;;;;9018:2;9003:18;;8996:60;-1:-1:-1;;;9087:3:1;9072:19;9065:35;8984:3;8126:980;-1:-1:-1;;;8126:980:1:o

Swarm Source

ipfs://f2589fef2754e77c3fab64de4d8b5cdc97bc57d2e7bd7781e7d295e7946b7b3e

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  ]

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.