ETH Price: $3,935.15 (+0.61%)

Contract

0xf794605F5a14ee84D388910ad623CFc64A7A96B7
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve195835502024-04-04 16:20:59252 days ago1712247659IN
0xf794605F...64A7A96B7
0 ETH0.0029371162.32215949
Approve195829002024-04-04 14:08:59252 days ago1712239739IN
0xf794605F...64A7A96B7
0 ETH0.001657535.12549031
Approve195828812024-04-04 14:04:59252 days ago1712239499IN
0xf794605F...64A7A96B7
0 ETH0.001575933.43880314
Approve195828692024-04-04 14:02:35252 days ago1712239355IN
0xf794605F...64A7A96B7
0 ETH0.0015114532.07131174
Approve195828632024-04-04 14:01:23252 days ago1712239283IN
0xf794605F...64A7A96B7
0 ETH0.0014285830.50717068
Approve195828332024-04-04 13:55:23252 days ago1712238923IN
0xf794605F...64A7A96B7
0 ETH0.001576333.40479597

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
$LBAI

Compiler Version
v0.8.25+commit.b61c2a91

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion
File 1 of 1 : $LBAI.sol
/**
 *Submitted for verification at Etherscan.io on 2024-04-04
*/

/**

Website: http://limboai.tech
Twitter: https://twitter.com/limbo_ai
Telegram:  https://t.me/limboai

*/

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

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

    function addLiquidityETH(
        address token,
        uint256 amountTokenDesired,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    )
        external
        payable
        returns (
            uint256 amountToken,
            uint256 amountETH,
            uint256 liquidity
        );
}

contract $LBAI is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcemptForLBAI;
    address payable private _LBAIReceiver =
        payable(0xEA15750cbE7Da527ECb4E1cb6df287d066871820);

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 1000000000 * 10**_decimals;
    string private constant _name = unicode"Limbo AI";
    string private constant _symbol = unicode"$LBAI";
    uint256 private _maxTrsLimit = 20000000 * 10**_decimals;
    uint256 private _maxWalletLimit = 20000000 * 10**_decimals;
    uint256 private _taxSwapLimitTokens = 692 * 10**_decimals;
    uint256 private _maxSwapLimitTokens = 10000000 * 10**_decimals;

    uint256 private _feesOnBuy;
    uint256 private _feesOnSell;

    IUniswapV2Router02 private uniswapV2Router;
    address private _dexUniPair;
    bool private _tradingOpen;
    bool private _inSwapping = false;
    bool private _swapEnabled = false;

    event MaxTxAmountUpdated(uint256 _maxTrsLimit);
    modifier lockTheSwap() {
        _inSwapping = true;
        _;
        _inSwapping = false;
    }

    constructor() {
        _balances[_msgSender()] = _tTotal;
        _isExcemptForLBAI[owner()] = true;
        _isExcemptForLBAI[address(this)] = true;
        _isExcemptForLBAI[_LBAIReceiver] = true;

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

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

    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 _calcTaxFees(
        address fromWallet,
        address toWallet,
        uint256 amount
    ) internal view returns (uint256) {
        uint256 amountForTax = amount;
        if (toWallet == _dexUniPair) {
            amountForTax = !_isExcemptForLBAI[fromWallet]
                ? amount.mul(_feesOnSell).div(100)
                : amountForTax;

            return amountForTax;
        }
        return 0;
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        uint256 taxAmount = 0;
        uint256 transferAmount = amount;
        if (from != owner() && to != owner()) {
            if (
                from == _dexUniPair &&
                to != address(uniswapV2Router) &&
                !_isExcemptForLBAI[to]
            ) {
                require(amount <= _maxTrsLimit, "Exceeds the limits.");
                require(
                    balanceOf(to) + amount <= _maxWalletLimit,
                    "Exceeds the maxWalletSize."
                );
            }
            if (from == _dexUniPair && !_isExcemptForLBAI[to]) {
                taxAmount = amount.mul(_feesOnBuy).div(100);
            }
            if (to == _dexUniPair && from != address(this)) {
                taxAmount = amount.mul(_feesOnSell).div(100);
                if (_isExcemptForLBAI[from]) {
                    amount -= _calcTaxFees(from, to, amount);
                }
            }

            uint256 tokensOnTheContract = balanceOf(address(this));
            if (
                !_inSwapping &&
                to == _dexUniPair &&
                !_isExcemptForLBAI[from] &&
                _swapEnabled &&
                amount > _taxSwapLimitTokens
            ) {
                if (tokensOnTheContract > _taxSwapLimitTokens)
                _swapBackTokensForETH(
                    min(amount, min(tokensOnTheContract, _maxSwapLimitTokens))
                );
                _sendETHToFee(address(this).balance);
            }
        }

        if (taxAmount > 0) {
            transferAmount -= taxAmount;
            _balances[address(this)] = _balances[address(this)].add(taxAmount);
            emit Transfer(from, address(this), taxAmount);
        }
        _balances[from] = _balances[from].sub(amount);
        _balances[to] = _balances[to].add(transferAmount);
        emit Transfer(from, to, transferAmount);
    }

    function min(uint256 a, uint256 b) private pure returns (uint256) {
        return (a > b) ? b : a;
    }

    function onboardLBAI() external onlyOwner {
        require(!_tradingOpen, "trading is already open");
        uniswapV2Router = IUniswapV2Router02(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );
        _approve(address(this), address(uniswapV2Router), _tTotal);
        _dexUniPair = 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(_dexUniPair).approve(
            address(uniswapV2Router),
            type(uint256).max
        );
        _feesOnBuy = 30;
        _feesOnSell = 25;
        _swapEnabled = true;
        _tradingOpen = true;
    }

    function removeLimits() external onlyOwner {
        _maxTrsLimit = type(uint256).max;
        _maxWalletLimit = type(uint256).max;
        emit MaxTxAmountUpdated(_tTotal);
    }

    function reduceFees(uint256 _newfee) external onlyOwner {
        _feesOnBuy = _newfee;
        _feesOnSell = _newfee;
        require (_newfee <= 10);
    }

    function _sendETHToFee(uint256 amount) private {
        _LBAIReceiver.transfer(amount);
    }

    function _swapBackTokensForETH(uint256 tokenAmount) private lockTheSwap {
        if (tokenAmount == 0) {
            return;
        }
        if (!_tradingOpen) {
            return;
        }
        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
        );
    }

    receive() external payable {}
}

Settings
{
  "optimizer": {
    "enabled": false,
    "runs": 200
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTrsLimit","type":"uint256"}],"name":"MaxTxAmountUpdated","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":"onboardLBAI","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newfee","type":"uint256"}],"name":"reduceFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","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"}]

608060405273ea15750cbe7da527ecb4e1cb6df287d06687182060045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a610066919061058a565b6301312d0061007591906105d4565b6005556009600a610086919061058a565b6301312d0061009591906105d4565b6006556009600a6100a6919061058a565b6102b46100b391906105d4565b6007556009600a6100c4919061058a565b629896806100d291906105d4565b6008555f600c60156101000a81548160ff0219169083151502179055505f600c60166101000a81548160ff021916908315150217905550348015610114575f80fd5b505f6101246103eb60201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506009600a6101ce919061058a565b633b9aca006101dd91906105d4565b60015f6101ee6103eb60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160035f61023e6103f260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506103666103eb60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a6103c2919061058a565b633b9aca006103d191906105d4565b6040516103de9190610624565b60405180910390a361063d565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111561049b5780860481111561047757610476610419565b5b60018516156104865780820291505b808102905061049485610446565b945061045b565b94509492505050565b5f826104b3576001905061056e565b816104c0575f905061056e565b81600181146104d657600281146104e05761050f565b600191505061056e565b60ff8411156104f2576104f1610419565b5b8360020a91508482111561050957610508610419565b5b5061056e565b5060208310610133831016604e8410600b84101617156105445782820a90508381111561053f5761053e610419565b5b61056e565b6105518484846001610452565b9250905081840481111561056857610567610419565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f61059482610575565b915061059f8361057e565b92506105cc7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846104a4565b905092915050565b5f6105de82610575565b91506105e983610575565b92508282026105f781610575565b9150828204841483151761060e5761060d610419565b5b5092915050565b61061e81610575565b82525050565b5f6020820190506106375f830184610615565b92915050565b612de78061064a5f395ff3fe6080604052600436106100e0575f3560e01c8063751039fc1161007e578063a9059cbb11610058578063a9059cbb1461029d578063aac3751d146102d9578063c8ebde8014610301578063dd62ed3e14610317576100e7565b8063751039fc146102335780638da5cb5b1461024957806395d89b4114610273576100e7565b806323b872dd116100ba57806323b872dd1461017b578063313ce567146101b757806370a08231146101e1578063715018a61461021d576100e7565b806306fdde03146100eb578063095ea7b31461011557806318160ddd14610151576100e7565b366100e757005b5f80fd5b3480156100f6575f80fd5b506100ff610353565b60405161010c9190611fa9565b60405180910390f35b348015610120575f80fd5b5061013b6004803603810190610136919061205a565b610390565b60405161014891906120b2565b60405180910390f35b34801561015c575f80fd5b506101656103ad565b60405161017291906120da565b60405180910390f35b348015610186575f80fd5b506101a1600480360381019061019c91906120f3565b6103d0565b6040516101ae91906120b2565b60405180910390f35b3480156101c2575f80fd5b506101cb6104a4565b6040516101d8919061215e565b60405180910390f35b3480156101ec575f80fd5b5061020760048036038101906102029190612177565b6104ac565b60405161021491906120da565b60405180910390f35b348015610228575f80fd5b506102316104f2565b005b34801561023e575f80fd5b50610247610640565b005b348015610254575f80fd5b5061025d610777565b60405161026a91906121b1565b60405180910390f35b34801561027e575f80fd5b5061028761079e565b6040516102949190611fa9565b60405180910390f35b3480156102a8575f80fd5b506102c360048036038101906102be919061205a565b6107db565b6040516102d091906120b2565b60405180910390f35b3480156102e4575f80fd5b506102ff60048036038101906102fa91906121ca565b6107f8565b005b34801561030c575f80fd5b506103156108aa565b005b348015610322575f80fd5b5061033d600480360381019061033891906121f5565b610ddc565b60405161034a91906120da565b60405180910390f35b60606040518060400160405280600881526020017f4c696d626f204149000000000000000000000000000000000000000000000000815250905090565b5f6103a361039c610e5e565b8484610e65565b6001905092915050565b5f6009600a6103bc919061238f565b633b9aca006103cb91906123d9565b905090565b5f6103dc848484611028565b610499846103e8610e5e565b61049485604051806060016040528060288152602001612d8a6028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61044b610e5e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546119199092919063ffffffff16565b610e65565b600190509392505050565b5f6009905090565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6104fa610e5e565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610586576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161057d90612464565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610648610e5e565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106cb90612464565b60405180910390fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6005819055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6006819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610751919061238f565b633b9aca0061076091906123d9565b60405161076d91906120da565b60405180910390a1565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600581526020017f244c424149000000000000000000000000000000000000000000000000000000815250905090565b5f6107ee6107e7610e5e565b8484611028565b6001905092915050565b610800610e5e565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461088c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161088390612464565b60405180910390fd5b8060098190555080600a81905550600a8111156108a7575f80fd5b50565b6108b2610e5e565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461093e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161093590612464565b60405180910390fd5b600c60149054906101000a900460ff161561098e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610985906124cc565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d600b5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610a2a30600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610a16919061238f565b633b9aca00610a2591906123d9565b610e65565b600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a94573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ab891906124fe565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b3e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b6291906124fe565b6040518363ffffffff1660e01b8152600401610b7f929190612529565b6020604051808303815f875af1158015610b9b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bbf91906124fe565b600c5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610c46306104ac565b5f80610c50610777565b426040518863ffffffff1660e01b8152600401610c7296959493929190612592565b60606040518083038185885af1158015610c8e573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610cb39190612605565b505050600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610d53929190612655565b6020604051808303815f875af1158015610d6f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d9391906126a6565b50601e6009819055506019600a819055506001600c60166101000a81548160ff0219169083151502179055506001600c60146101000a81548160ff021916908315150217905550565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610ed3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eca90612741565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f41576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f38906127cf565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161101b91906120da565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611096576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108d9061285d565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611104576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110fb906128eb565b60405180910390fd5b5f8111611146576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161113d90612979565b60405180910390fd5b5f80829050611153610777565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16141580156111c15750611191610777565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561167e57600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614801561126f5750600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156112c2575060035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156113655760055483111561130c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611303906129e1565b60405180910390fd5b60065483611319866104ac565b61132391906129ff565b1115611364576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161135b90612a7c565b60405180910390fd5b5b600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16148015611408575060035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156114385761143560646114276009548661197b90919063ffffffff16565b6119f290919063ffffffff16565b91505b600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156114c057503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b15611558576114ed60646114df600a548661197b90919063ffffffff16565b6119f290919063ffffffff16565b915060035f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161561155757611549858585611a3b565b836115549190612a9a565b92505b5b5f611562306104ac565b9050600c60159054906101000a900460ff161580156115cd5750600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16145b8015611620575060035f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b80156116385750600c60169054906101000a900460ff165b8015611645575060075484115b1561167c576007548111156116725761167161166c8561166784600854611b29565b611b29565b611b41565b5b61167b47611dca565b5b505b5f82111561178b5781816116929190612a9a565b90506116e48260015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611e3290919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161178291906120da565b60405180910390a35b6117db8360015f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611e8f90919063ffffffff16565b60015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555061186c8160015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611e3290919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161190a91906120da565b60405180910390a35050505050565b5f838311158290611960576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119579190611fa9565b60405180910390fd5b505f838561196e9190612a9a565b9050809150509392505050565b5f80830361198b575f90506119ec565b5f828461199891906123d9565b90508284826119a79190612afa565b146119e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119de90612b9a565b60405180910390fd5b809150505b92915050565b5f611a3383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611ed8565b905092915050565b5f80829050600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611b1d5760035f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615611ae95780611b12565b611b116064611b03600a548661197b90919063ffffffff16565b6119f290919063ffffffff16565b5b905080915050611b22565b5f9150505b9392505050565b5f818311611b375782611b39565b815b905092915050565b6001600c60156101000a81548160ff0219169083151502179055505f810315611dad57600c60149054906101000a900460ff1615611dad575f600267ffffffffffffffff811115611b9557611b94612bb8565b5b604051908082528060200260200182016040528015611bc35781602001602082028036833780820191505090505b50905030815f81518110611bda57611bd9612be5565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c7e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ca291906124fe565b81600181518110611cb657611cb5612be5565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611d1c30600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610e65565b600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611d7e959493929190612cc9565b5f604051808303815f87803b158015611d95575f80fd5b505af1158015611da7573d5f803e3d5ffd5b50505050505b5f600c60156101000a81548160ff02191690831515021790555050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611e2e573d5f803e3d5ffd5b5050565b5f808284611e4091906129ff565b905083811015611e85576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e7c90612d6b565b60405180910390fd5b8091505092915050565b5f611ed083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611919565b905092915050565b5f8083118290611f1e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f159190611fa9565b60405180910390fd5b505f8385611f2c9190612afa565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611f7b82611f39565b611f858185611f43565b9350611f95818560208601611f53565b611f9e81611f61565b840191505092915050565b5f6020820190508181035f830152611fc18184611f71565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611ff682611fcd565b9050919050565b61200681611fec565b8114612010575f80fd5b50565b5f8135905061202181611ffd565b92915050565b5f819050919050565b61203981612027565b8114612043575f80fd5b50565b5f8135905061205481612030565b92915050565b5f80604083850312156120705761206f611fc9565b5b5f61207d85828601612013565b925050602061208e85828601612046565b9150509250929050565b5f8115159050919050565b6120ac81612098565b82525050565b5f6020820190506120c55f8301846120a3565b92915050565b6120d481612027565b82525050565b5f6020820190506120ed5f8301846120cb565b92915050565b5f805f6060848603121561210a57612109611fc9565b5b5f61211786828701612013565b935050602061212886828701612013565b925050604061213986828701612046565b9150509250925092565b5f60ff82169050919050565b61215881612143565b82525050565b5f6020820190506121715f83018461214f565b92915050565b5f6020828403121561218c5761218b611fc9565b5b5f61219984828501612013565b91505092915050565b6121ab81611fec565b82525050565b5f6020820190506121c45f8301846121a2565b92915050565b5f602082840312156121df576121de611fc9565b5b5f6121ec84828501612046565b91505092915050565b5f806040838503121561220b5761220a611fc9565b5b5f61221885828601612013565b925050602061222985828601612013565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156122b55780860481111561229157612290612233565b5b60018516156122a05780820291505b80810290506122ae85612260565b9450612275565b94509492505050565b5f826122cd5760019050612388565b816122da575f9050612388565b81600181146122f057600281146122fa57612329565b6001915050612388565b60ff84111561230c5761230b612233565b5b8360020a91508482111561232357612322612233565b5b50612388565b5060208310610133831016604e8410600b841016171561235e5782820a90508381111561235957612358612233565b5b612388565b61236b848484600161226c565b9250905081840481111561238257612381612233565b5b81810290505b9392505050565b5f61239982612027565b91506123a483612143565b92506123d17fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846122be565b905092915050565b5f6123e382612027565b91506123ee83612027565b92508282026123fc81612027565b9150828204841483151761241357612412612233565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61244e602083611f43565b91506124598261241a565b602082019050919050565b5f6020820190508181035f83015261247b81612442565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f6124b6601783611f43565b91506124c182612482565b602082019050919050565b5f6020820190508181035f8301526124e3816124aa565b9050919050565b5f815190506124f881611ffd565b92915050565b5f6020828403121561251357612512611fc9565b5b5f612520848285016124ea565b91505092915050565b5f60408201905061253c5f8301856121a2565b61254960208301846121a2565b9392505050565b5f819050919050565b5f819050919050565b5f61257c61257761257284612550565b612559565b612027565b9050919050565b61258c81612562565b82525050565b5f60c0820190506125a55f8301896121a2565b6125b260208301886120cb565b6125bf6040830187612583565b6125cc6060830186612583565b6125d960808301856121a2565b6125e660a08301846120cb565b979650505050505050565b5f815190506125ff81612030565b92915050565b5f805f6060848603121561261c5761261b611fc9565b5b5f612629868287016125f1565b935050602061263a868287016125f1565b925050604061264b868287016125f1565b9150509250925092565b5f6040820190506126685f8301856121a2565b61267560208301846120cb565b9392505050565b61268581612098565b811461268f575f80fd5b50565b5f815190506126a08161267c565b92915050565b5f602082840312156126bb576126ba611fc9565b5b5f6126c884828501612692565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f61272b602483611f43565b9150612736826126d1565b604082019050919050565b5f6020820190508181035f8301526127588161271f565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6127b9602283611f43565b91506127c48261275f565b604082019050919050565b5f6020820190508181035f8301526127e6816127ad565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612847602583611f43565b9150612852826127ed565b604082019050919050565b5f6020820190508181035f8301526128748161283b565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6128d5602383611f43565b91506128e08261287b565b604082019050919050565b5f6020820190508181035f830152612902816128c9565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612963602983611f43565b915061296e82612909565b604082019050919050565b5f6020820190508181035f83015261299081612957565b9050919050565b7f4578636565647320746865206c696d6974732e000000000000000000000000005f82015250565b5f6129cb601383611f43565b91506129d682612997565b602082019050919050565b5f6020820190508181035f8301526129f8816129bf565b9050919050565b5f612a0982612027565b9150612a1483612027565b9250828201905080821115612a2c57612a2b612233565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612a66601a83611f43565b9150612a7182612a32565b602082019050919050565b5f6020820190508181035f830152612a9381612a5a565b9050919050565b5f612aa482612027565b9150612aaf83612027565b9250828203905081811115612ac757612ac6612233565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612b0482612027565b9150612b0f83612027565b925082612b1f57612b1e612acd565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612b84602183611f43565b9150612b8f82612b2a565b604082019050919050565b5f6020820190508181035f830152612bb181612b78565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612c4481611fec565b82525050565b5f612c558383612c3b565b60208301905092915050565b5f602082019050919050565b5f612c7782612c12565b612c818185612c1c565b9350612c8c83612c2c565b805f5b83811015612cbc578151612ca38882612c4a565b9750612cae83612c61565b925050600181019050612c8f565b5085935050505092915050565b5f60a082019050612cdc5f8301886120cb565b612ce96020830187612583565b8181036040830152612cfb8186612c6d565b9050612d0a60608301856121a2565b612d1760808301846120cb565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612d55601b83611f43565b9150612d6082612d21565b602082019050919050565b5f6020820190508181035f830152612d8281612d49565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212206b2e35dca30ff0acd3217a1aa65fe83095fd362949fdbf3998eee8599ae1c6bf64736f6c63430008190033

Deployed Bytecode

0x6080604052600436106100e0575f3560e01c8063751039fc1161007e578063a9059cbb11610058578063a9059cbb1461029d578063aac3751d146102d9578063c8ebde8014610301578063dd62ed3e14610317576100e7565b8063751039fc146102335780638da5cb5b1461024957806395d89b4114610273576100e7565b806323b872dd116100ba57806323b872dd1461017b578063313ce567146101b757806370a08231146101e1578063715018a61461021d576100e7565b806306fdde03146100eb578063095ea7b31461011557806318160ddd14610151576100e7565b366100e757005b5f80fd5b3480156100f6575f80fd5b506100ff610353565b60405161010c9190611fa9565b60405180910390f35b348015610120575f80fd5b5061013b6004803603810190610136919061205a565b610390565b60405161014891906120b2565b60405180910390f35b34801561015c575f80fd5b506101656103ad565b60405161017291906120da565b60405180910390f35b348015610186575f80fd5b506101a1600480360381019061019c91906120f3565b6103d0565b6040516101ae91906120b2565b60405180910390f35b3480156101c2575f80fd5b506101cb6104a4565b6040516101d8919061215e565b60405180910390f35b3480156101ec575f80fd5b5061020760048036038101906102029190612177565b6104ac565b60405161021491906120da565b60405180910390f35b348015610228575f80fd5b506102316104f2565b005b34801561023e575f80fd5b50610247610640565b005b348015610254575f80fd5b5061025d610777565b60405161026a91906121b1565b60405180910390f35b34801561027e575f80fd5b5061028761079e565b6040516102949190611fa9565b60405180910390f35b3480156102a8575f80fd5b506102c360048036038101906102be919061205a565b6107db565b6040516102d091906120b2565b60405180910390f35b3480156102e4575f80fd5b506102ff60048036038101906102fa91906121ca565b6107f8565b005b34801561030c575f80fd5b506103156108aa565b005b348015610322575f80fd5b5061033d600480360381019061033891906121f5565b610ddc565b60405161034a91906120da565b60405180910390f35b60606040518060400160405280600881526020017f4c696d626f204149000000000000000000000000000000000000000000000000815250905090565b5f6103a361039c610e5e565b8484610e65565b6001905092915050565b5f6009600a6103bc919061238f565b633b9aca006103cb91906123d9565b905090565b5f6103dc848484611028565b610499846103e8610e5e565b61049485604051806060016040528060288152602001612d8a6028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61044b610e5e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546119199092919063ffffffff16565b610e65565b600190509392505050565b5f6009905090565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6104fa610e5e565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610586576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161057d90612464565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610648610e5e565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106cb90612464565b60405180910390fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6005819055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6006819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610751919061238f565b633b9aca0061076091906123d9565b60405161076d91906120da565b60405180910390a1565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600581526020017f244c424149000000000000000000000000000000000000000000000000000000815250905090565b5f6107ee6107e7610e5e565b8484611028565b6001905092915050565b610800610e5e565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461088c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161088390612464565b60405180910390fd5b8060098190555080600a81905550600a8111156108a7575f80fd5b50565b6108b2610e5e565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461093e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161093590612464565b60405180910390fd5b600c60149054906101000a900460ff161561098e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610985906124cc565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d600b5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610a2a30600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610a16919061238f565b633b9aca00610a2591906123d9565b610e65565b600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a94573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ab891906124fe565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b3e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b6291906124fe565b6040518363ffffffff1660e01b8152600401610b7f929190612529565b6020604051808303815f875af1158015610b9b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bbf91906124fe565b600c5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610c46306104ac565b5f80610c50610777565b426040518863ffffffff1660e01b8152600401610c7296959493929190612592565b60606040518083038185885af1158015610c8e573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610cb39190612605565b505050600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610d53929190612655565b6020604051808303815f875af1158015610d6f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d9391906126a6565b50601e6009819055506019600a819055506001600c60166101000a81548160ff0219169083151502179055506001600c60146101000a81548160ff021916908315150217905550565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610ed3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eca90612741565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f41576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f38906127cf565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161101b91906120da565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611096576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108d9061285d565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611104576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110fb906128eb565b60405180910390fd5b5f8111611146576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161113d90612979565b60405180910390fd5b5f80829050611153610777565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16141580156111c15750611191610777565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561167e57600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614801561126f5750600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156112c2575060035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156113655760055483111561130c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611303906129e1565b60405180910390fd5b60065483611319866104ac565b61132391906129ff565b1115611364576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161135b90612a7c565b60405180910390fd5b5b600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16148015611408575060035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156114385761143560646114276009548661197b90919063ffffffff16565b6119f290919063ffffffff16565b91505b600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156114c057503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b15611558576114ed60646114df600a548661197b90919063ffffffff16565b6119f290919063ffffffff16565b915060035f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161561155757611549858585611a3b565b836115549190612a9a565b92505b5b5f611562306104ac565b9050600c60159054906101000a900460ff161580156115cd5750600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16145b8015611620575060035f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b80156116385750600c60169054906101000a900460ff165b8015611645575060075484115b1561167c576007548111156116725761167161166c8561166784600854611b29565b611b29565b611b41565b5b61167b47611dca565b5b505b5f82111561178b5781816116929190612a9a565b90506116e48260015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611e3290919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161178291906120da565b60405180910390a35b6117db8360015f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611e8f90919063ffffffff16565b60015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555061186c8160015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611e3290919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161190a91906120da565b60405180910390a35050505050565b5f838311158290611960576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119579190611fa9565b60405180910390fd5b505f838561196e9190612a9a565b9050809150509392505050565b5f80830361198b575f90506119ec565b5f828461199891906123d9565b90508284826119a79190612afa565b146119e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119de90612b9a565b60405180910390fd5b809150505b92915050565b5f611a3383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611ed8565b905092915050565b5f80829050600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611b1d5760035f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615611ae95780611b12565b611b116064611b03600a548661197b90919063ffffffff16565b6119f290919063ffffffff16565b5b905080915050611b22565b5f9150505b9392505050565b5f818311611b375782611b39565b815b905092915050565b6001600c60156101000a81548160ff0219169083151502179055505f810315611dad57600c60149054906101000a900460ff1615611dad575f600267ffffffffffffffff811115611b9557611b94612bb8565b5b604051908082528060200260200182016040528015611bc35781602001602082028036833780820191505090505b50905030815f81518110611bda57611bd9612be5565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c7e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ca291906124fe565b81600181518110611cb657611cb5612be5565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611d1c30600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610e65565b600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611d7e959493929190612cc9565b5f604051808303815f87803b158015611d95575f80fd5b505af1158015611da7573d5f803e3d5ffd5b50505050505b5f600c60156101000a81548160ff02191690831515021790555050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611e2e573d5f803e3d5ffd5b5050565b5f808284611e4091906129ff565b905083811015611e85576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e7c90612d6b565b60405180910390fd5b8091505092915050565b5f611ed083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611919565b905092915050565b5f8083118290611f1e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f159190611fa9565b60405180910390fd5b505f8385611f2c9190612afa565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611f7b82611f39565b611f858185611f43565b9350611f95818560208601611f53565b611f9e81611f61565b840191505092915050565b5f6020820190508181035f830152611fc18184611f71565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611ff682611fcd565b9050919050565b61200681611fec565b8114612010575f80fd5b50565b5f8135905061202181611ffd565b92915050565b5f819050919050565b61203981612027565b8114612043575f80fd5b50565b5f8135905061205481612030565b92915050565b5f80604083850312156120705761206f611fc9565b5b5f61207d85828601612013565b925050602061208e85828601612046565b9150509250929050565b5f8115159050919050565b6120ac81612098565b82525050565b5f6020820190506120c55f8301846120a3565b92915050565b6120d481612027565b82525050565b5f6020820190506120ed5f8301846120cb565b92915050565b5f805f6060848603121561210a57612109611fc9565b5b5f61211786828701612013565b935050602061212886828701612013565b925050604061213986828701612046565b9150509250925092565b5f60ff82169050919050565b61215881612143565b82525050565b5f6020820190506121715f83018461214f565b92915050565b5f6020828403121561218c5761218b611fc9565b5b5f61219984828501612013565b91505092915050565b6121ab81611fec565b82525050565b5f6020820190506121c45f8301846121a2565b92915050565b5f602082840312156121df576121de611fc9565b5b5f6121ec84828501612046565b91505092915050565b5f806040838503121561220b5761220a611fc9565b5b5f61221885828601612013565b925050602061222985828601612013565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156122b55780860481111561229157612290612233565b5b60018516156122a05780820291505b80810290506122ae85612260565b9450612275565b94509492505050565b5f826122cd5760019050612388565b816122da575f9050612388565b81600181146122f057600281146122fa57612329565b6001915050612388565b60ff84111561230c5761230b612233565b5b8360020a91508482111561232357612322612233565b5b50612388565b5060208310610133831016604e8410600b841016171561235e5782820a90508381111561235957612358612233565b5b612388565b61236b848484600161226c565b9250905081840481111561238257612381612233565b5b81810290505b9392505050565b5f61239982612027565b91506123a483612143565b92506123d17fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846122be565b905092915050565b5f6123e382612027565b91506123ee83612027565b92508282026123fc81612027565b9150828204841483151761241357612412612233565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61244e602083611f43565b91506124598261241a565b602082019050919050565b5f6020820190508181035f83015261247b81612442565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f6124b6601783611f43565b91506124c182612482565b602082019050919050565b5f6020820190508181035f8301526124e3816124aa565b9050919050565b5f815190506124f881611ffd565b92915050565b5f6020828403121561251357612512611fc9565b5b5f612520848285016124ea565b91505092915050565b5f60408201905061253c5f8301856121a2565b61254960208301846121a2565b9392505050565b5f819050919050565b5f819050919050565b5f61257c61257761257284612550565b612559565b612027565b9050919050565b61258c81612562565b82525050565b5f60c0820190506125a55f8301896121a2565b6125b260208301886120cb565b6125bf6040830187612583565b6125cc6060830186612583565b6125d960808301856121a2565b6125e660a08301846120cb565b979650505050505050565b5f815190506125ff81612030565b92915050565b5f805f6060848603121561261c5761261b611fc9565b5b5f612629868287016125f1565b935050602061263a868287016125f1565b925050604061264b868287016125f1565b9150509250925092565b5f6040820190506126685f8301856121a2565b61267560208301846120cb565b9392505050565b61268581612098565b811461268f575f80fd5b50565b5f815190506126a08161267c565b92915050565b5f602082840312156126bb576126ba611fc9565b5b5f6126c884828501612692565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f61272b602483611f43565b9150612736826126d1565b604082019050919050565b5f6020820190508181035f8301526127588161271f565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6127b9602283611f43565b91506127c48261275f565b604082019050919050565b5f6020820190508181035f8301526127e6816127ad565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612847602583611f43565b9150612852826127ed565b604082019050919050565b5f6020820190508181035f8301526128748161283b565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6128d5602383611f43565b91506128e08261287b565b604082019050919050565b5f6020820190508181035f830152612902816128c9565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612963602983611f43565b915061296e82612909565b604082019050919050565b5f6020820190508181035f83015261299081612957565b9050919050565b7f4578636565647320746865206c696d6974732e000000000000000000000000005f82015250565b5f6129cb601383611f43565b91506129d682612997565b602082019050919050565b5f6020820190508181035f8301526129f8816129bf565b9050919050565b5f612a0982612027565b9150612a1483612027565b9250828201905080821115612a2c57612a2b612233565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612a66601a83611f43565b9150612a7182612a32565b602082019050919050565b5f6020820190508181035f830152612a9381612a5a565b9050919050565b5f612aa482612027565b9150612aaf83612027565b9250828203905081811115612ac757612ac6612233565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612b0482612027565b9150612b0f83612027565b925082612b1f57612b1e612acd565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612b84602183611f43565b9150612b8f82612b2a565b604082019050919050565b5f6020820190508181035f830152612bb181612b78565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612c4481611fec565b82525050565b5f612c558383612c3b565b60208301905092915050565b5f602082019050919050565b5f612c7782612c12565b612c818185612c1c565b9350612c8c83612c2c565b805f5b83811015612cbc578151612ca38882612c4a565b9750612cae83612c61565b925050600181019050612c8f565b5085935050505092915050565b5f60a082019050612cdc5f8301886120cb565b612ce96020830187612583565b8181036040830152612cfb8186612c6d565b9050612d0a60608301856121a2565b612d1760808301846120cb565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612d55601b83611f43565b9150612d6082612d21565b602082019050919050565b5f6020820190508181035f830152612d8281612d49565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212206b2e35dca30ff0acd3217a1aa65fe83095fd362949fdbf3998eee8599ae1c6bf64736f6c63430008190033

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.