ETH Price: $3,495.94 (+0.25%)
Gas: 2 Gwei

Contract

0x90943D8eA69b6A53dA7ed65Ad64EF1d504781073
 

Overview

ETH Balance

0.02454452 ETH

Eth Value

$85.81 (@ $3,495.94/ETH)

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve201657102024-06-25 2:27:2326 days ago1719282443IN
0x90943D8e...504781073
0 ETH0.000205424.35137342
Approve199591992024-05-27 5:44:1155 days ago1716788651IN
0x90943D8e...504781073
0 ETH0.000436819.26432758
Approve199321242024-05-23 10:55:5959 days ago1716461759IN
0x90943D8e...504781073
0 ETH0.0005874412.45905322
Approve196229912024-04-10 4:57:35102 days ago1712725055IN
0x90943D8e...504781073
0 ETH0.0007363315.59700297
Approve196034022024-04-07 11:04:35105 days ago1712487875IN
0x90943D8e...504781073
0 ETH0.0017368536.78996109
Approve196020632024-04-07 6:34:59105 days ago1712471699IN
0x90943D8e...504781073
0 ETH0.0005364411.36288834
Approve193936762024-03-08 23:29:59134 days ago1709940599IN
0x90943D8e...504781073
0 ETH0.0021471145.53790066
Approve193756282024-03-06 10:47:23137 days ago1709722043IN
0x90943D8e...504781073
0 ETH0.0030546664.70368624
Approve193735322024-03-06 3:45:35137 days ago1709696735IN
0x90943D8e...504781073
0 ETH0.0024922452.85789969
Approve193719952024-03-05 22:36:47137 days ago1709678207IN
0x90943D8e...504781073
0 ETH0.0032825270.08254363
Approve193718572024-03-05 22:09:11137 days ago1709676551IN
0x90943D8e...504781073
0 ETH0.0039782984.37520349
Approve193685042024-03-05 10:55:59138 days ago1709636159IN
0x90943D8e...504781073
0 ETH0.0029500262.48739551
Approve193680972024-03-05 9:34:11138 days ago1709631251IN
0x90943D8e...504781073
0 ETH0.0032951469.88632451
Approve193670592024-03-05 6:05:23138 days ago1709618723IN
0x90943D8e...504781073
0 ETH0.0037027278.53079088
Transfer193665672024-03-05 4:25:59138 days ago1709612759IN
0x90943D8e...504781073
0 ETH0.0063010595.53277487
Approve193664902024-03-05 4:10:35138 days ago1709611835IN
0x90943D8e...504781073
0 ETH0.00490984104
Approve193661522024-03-05 3:02:47138 days ago1709607767IN
0x90943D8e...504781073
0 ETH0.0024217881.27332932
Approve193660222024-03-05 2:36:47138 days ago1709606207IN
0x90943D8e...504781073
0 ETH0.0042362689.73245697
Transfer193659302024-03-05 2:18:23138 days ago1709605103IN
0x90943D8e...504781073
0 ETH0.0044985891.71618452
Approve193659262024-03-05 2:17:35138 days ago1709605055IN
0x90943D8e...504781073
0 ETH0.0041710588.35103702
Approve193659092024-03-05 2:14:11138 days ago1709604851IN
0x90943D8e...504781073
0 ETH0.0036884778.22853796
Approve193658502024-03-05 2:02:23138 days ago1709604143IN
0x90943D8e...504781073
0 ETH0.00411587.74372861
Approve193658082024-03-05 1:53:47138 days ago1709603627IN
0x90943D8e...504781073
0 ETH0.0033669871.79382011
Approve193657802024-03-05 1:48:11138 days ago1709603291IN
0x90943D8e...504781073
0 ETH0.0039809584.32441693
Approve193657492024-03-05 1:41:59138 days ago1709602919IN
0x90943D8e...504781073
0 ETH0.0039138682.90336287
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
193673962024-03-05 7:13:11138 days ago1709622791
0x90943D8e...504781073
0.02454452 ETH
193654782024-03-05 0:47:11138 days ago1709599631
0x90943D8e...504781073
0.36377976 ETH
193654782024-03-05 0:47:11138 days ago1709599631
0x90943D8e...504781073
0.36377976 ETH
193654702024-03-05 0:45:35138 days ago1709599535
0x90943D8e...504781073
0.38151492 ETH
193654702024-03-05 0:45:35138 days ago1709599535
0x90943D8e...504781073
0.38151492 ETH
193654672024-03-05 0:44:59138 days ago1709599499
0x90943D8e...504781073
0.3479154 ETH
193654672024-03-05 0:44:59138 days ago1709599499
0x90943D8e...504781073
0.3479154 ETH
193654662024-03-05 0:44:47138 days ago1709599487
0x90943D8e...504781073
0.18873424 ETH
193654662024-03-05 0:44:47138 days ago1709599487
0x90943D8e...504781073
0.18873424 ETH
193654622024-03-05 0:43:59138 days ago1709599439
0x90943D8e...504781073
0.42097261 ETH
193654622024-03-05 0:43:59138 days ago1709599439
0x90943D8e...504781073
0.42097261 ETH
193654562024-03-05 0:42:47138 days ago1709599367
0x90943D8e...504781073
0.2247354 ETH
193654562024-03-05 0:42:47138 days ago1709599367
0x90943D8e...504781073
0.2247354 ETH
193654502024-03-05 0:41:35138 days ago1709599295
0x90943D8e...504781073
0.20504815 ETH
193654502024-03-05 0:41:35138 days ago1709599295
0x90943D8e...504781073
0.20504815 ETH
193654472024-03-05 0:40:59138 days ago1709599259
0x90943D8e...504781073
0.13863904 ETH
193654472024-03-05 0:40:59138 days ago1709599259
0x90943D8e...504781073
0.13863904 ETH
193654442024-03-05 0:40:23138 days ago1709599223
0x90943D8e...504781073
0.18171704 ETH
193654442024-03-05 0:40:23138 days ago1709599223
0x90943D8e...504781073
0.18171704 ETH
193654402024-03-05 0:39:35138 days ago1709599175
0x90943D8e...504781073
0.07845517 ETH
193654402024-03-05 0:39:35138 days ago1709599175
0x90943D8e...504781073
0.07845517 ETH
193654332024-03-05 0:38:11138 days ago1709599091
0x90943D8e...504781073
0.27025539 ETH
193654332024-03-05 0:38:11138 days ago1709599091
0x90943D8e...504781073
0.27025539 ETH
193654322024-03-05 0:37:59138 days ago1709599079
0x90943D8e...504781073
0.33711697 ETH
193654322024-03-05 0:37:59138 days ago1709599079
0x90943D8e...504781073
0.33711697 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
MrsPepe

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion
File 1 of 1 : Mrspepe.sol
/**
 *Submitted for verification at Etherscan.io on 2024-03-04
 */
// SPDX-License-Identifier: UNLICENSE

/*
Mrs.Pepe - The woman behind the success of Pepe!

$MPEPE

TG: https://t.me/mrspepeofficialportal
Website: https://www.mrspepeth.xyz/
Twitter: https://twitter.com/Mrspepe_coin
*/

pragma solidity ^0.8.19;

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(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;

    function factory() external pure returns (address);

    function WETH() external pure returns (address);

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

contract MrsPepe is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFee;
    mapping(address => bool) private bots;
    address payable private _taxWallet;

    uint256 private _initialBuyTax = 18;
    uint256 private _initialSellTax = 40;
    uint256 private _finalBuyTax = 0;
    uint256 private _finalSellTax = 0;
    uint256 private _reduceBuyTaxAt = 22;
    uint256 private _reduceSellTaxAt = 27;
    uint256 private _preventSwapBefore = 40;
    uint256 private _transferTax = 0;
    uint256 private _buyCount = 0;
    uint256 private _newFee;
    uint256 private currentBuyTax = _initialBuyTax;
    uint256 private currentSellTax = _initialSellTax;

    uint8 private constant _decimals = 8;
    uint256 private constant _tTotal = 100000000 * 10 ** _decimals;
    string private constant _name = unicode"Mrs Pepe";
    string private constant _symbol = unicode"MPEPE";
    uint256 public _maxTxAmount = 2000000 * 10 ** _decimals;
    uint256 public _maxWalletSize = 1500000 * 10 ** _decimals;
    uint256 public _taxSwapThreshold = 1000000 * 10 ** _decimals;
    uint256 public _maxTaxSwap = 1000000 * 10 ** _decimals;

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    uint256 private sellCount = 0;
    uint256 private lastSellBlock = 0;

    event MaxTxAmountUpdated(uint _maxTxAmount);
    event TransferTaxUpdated(uint _tax);
    event FeeUpdated(uint _newFee);

    modifier lockTheSwap() {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor() {
        _taxWallet = payable(_msgSender());
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_taxWallet] = 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 _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;
        if (from != owner() && to != owner()) {
            require(!bots[from] && !bots[to]);

            if (_buyCount == 0) {
                taxAmount = amount
                    .mul(
                        (_buyCount > _reduceBuyTaxAt)
                            ? _finalBuyTax
                            : _initialBuyTax
                    )
                    .div(100);
            }
            if (_buyCount > 0) {
                taxAmount = amount.mul(_transferTax).div(100);
            }

            if (
                from == uniswapV2Pair &&
                to != address(uniswapV2Router) &&
                !_isExcludedFromFee[to]
            ) {
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(
                    balanceOf(to) + amount <= _maxWalletSize,
                    "Exceeds the maxWalletSize."
                );
                taxAmount = amount
                    .mul(
                        (_buyCount > _reduceBuyTaxAt)
                            ? _finalBuyTax
                            : _initialBuyTax
                    )
                    .div(100);
                _buyCount++;
            }

            if (to == uniswapV2Pair && from != address(this)) {
                taxAmount = amount
                    .mul(
                        (_buyCount > _reduceSellTaxAt)
                            ? _finalSellTax
                            : _initialSellTax
                    )
                    .div(100);
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (
                !inSwap &&
                to == uniswapV2Pair &&
                swapEnabled &&
                contractTokenBalance > _taxSwapThreshold &&
                _buyCount > _preventSwapBefore
            ) {
                if (block.number > lastSellBlock) {
                    sellCount = 0;
                }
                require(sellCount < 3, "Only 3 sells per block!");
                swapTokensForEth(
                    min(amount, min(contractTokenBalance, _maxTaxSwap))
                );
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
                sellCount++;
                lastSellBlock = block.number;
            }
        }

        if (taxAmount > 0) {
            _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(amount.sub(taxAmount));
        emit Transfer(from, to, amount.sub(taxAmount));
    }

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

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    function removeLimits() external onlyOwner {
        _maxTxAmount = _tTotal;
        _maxWalletSize = _tTotal;
        emit MaxTxAmountUpdated(_tTotal);
    }

    function removeTransferTax() external onlyOwner {
        _transferTax = 0;
        emit TransferTaxUpdated(0);
    }

    function sendETHToFee(uint256 amount) private {
        _taxWallet.transfer(amount);
    }

    function addBots(address[] memory bots_) public onlyOwner {
        for (uint i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }

    function delBots(address[] memory notbot) public onlyOwner {
        for (uint i = 0; i < notbot.length; i++) {
            bots[notbot[i]] = false;
        }
    }

    function isBot(address a) public view returns (bool) {
        return bots[a];
    }

    function openTrading() external onlyOwner {
        require(!tradingOpen, "trading is already open");
        uniswapV2Router = IUniswapV2Router02(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = 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(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
        swapEnabled = true;
        tradingOpen = true;
    }

    function reduceFee(uint256 newFee) external {
        require(_msgSender() == _taxWallet);
        require(newFee <= _finalBuyTax && newFee <= _finalSellTax);
        _finalBuyTax = newFee;
        _finalSellTax = newFee;
        currentBuyTax = newFee;
        currentSellTax = newFee;
        emit FeeUpdated(newFee);
    }

    function transferETHToDev() external onlyOwner {
        require(address(this).balance > 0, "No ETH to transfer");
        _taxWallet.transfer(address(this).balance);
    }

    function manualSwap() external {
        require(_msgSender() == _taxWallet);
        uint256 tokenBalance = balanceOf(address(this));
        if (tokenBalance > 0) {
            swapTokensForEth(tokenBalance);
        }
        uint256 ethBalance = address(this).balance;
        if (ethBalance > 0) {
            sendETHToFee(ethBalance);
        }
    }

    receive() external payable {}
}

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

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":"_newFee","type":"uint256"}],"name":"FeeUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","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"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_tax","type":"uint256"}],"name":"TransferTaxUpdated","type":"event"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"addBots","outputs":[],"stateMutability":"nonpayable","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":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"notbot","type":"address[]"}],"name":"delBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"a","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","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":"reduceFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeTransferTax","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":[],"name":"transferETHToDev","outputs":[],"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"}]

608060405260126006556028600755600060085560006009556016600a55601b600b556028600c556000600d556000600e556006546010556007546011556008600a6200004d91906200062b565b621e84806200005d91906200067c565b6012556008600a6200007091906200062b565b6216e3606200008091906200067c565b6013556008600a6200009391906200062b565b620f4240620000a391906200067c565b6014556008600a620000b691906200062b565b620f4240620000c691906200067c565b6015556000601760156101000a81548160ff0219169083151502179055506000601760166101000a81548160ff021916908315150217905550600060185560006019553480156200011657600080fd5b506000620001296200046060201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350620001d76200046060201b60201c565b600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506008600a6200022791906200062b565b6305f5e1006200023891906200067c565b600160006200024c6200046060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160036000620002a06200046860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620003d36200046060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6008600a6200043291906200062b565b6305f5e1006200044391906200067c565b604051620004529190620006d8565b60405180910390a3620006f5565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156200051f57808604811115620004f757620004f662000491565b5b6001851615620005075780820291505b80810290506200051785620004c0565b9450620004d7565b94509492505050565b6000826200053a57600190506200060d565b816200054a57600090506200060d565b81600181146200056357600281146200056e57620005a4565b60019150506200060d565b60ff84111562000583576200058262000491565b5b8360020a9150848211156200059d576200059c62000491565b5b506200060d565b5060208310610133831016604e8410600b8410161715620005de5782820a905083811115620005d857620005d762000491565b5b6200060d565b620005ed8484846001620004cd565b9250905081840481111562000607576200060662000491565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b6000620006388262000614565b915062000645836200061e565b9250620006747fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000528565b905092915050565b6000620006898262000614565b9150620006968362000614565b9250828202620006a68162000614565b91508282048414831517620006c057620006bf62000491565b5b5092915050565b620006d28162000614565b82525050565b6000602082019050620006ef6000830184620006c7565b92915050565b6138b180620007056000396000f3fe60806040526004361061014f5760003560e01c8063715018a6116100b6578063a9059cbb1161006f578063a9059cbb14610443578063bf474bed14610480578063c9567bf9146104ab578063d34628cc146104c2578063dd62ed3e146104eb578063ec1f3f631461052857610156565b8063715018a614610369578063751039fc146103805780637d1db4a5146103975780638da5cb5b146103c25780638f9a55c0146103ed57806395d89b411461041857610156565b8063313ce56711610108578063313ce5671461026d57806331c2d847146102985780633bbac579146102c157806351bc3c85146102fe578063692cda7a1461031557806370a082311461032c57610156565b806306fdde031461015b578063095ea7b3146101865780630faee56f146101c3578063109daa99146101ee57806318160ddd1461020557806323b872dd1461023057610156565b3661015657005b600080fd5b34801561016757600080fd5b50610170610551565b60405161017d919061274e565b60405180910390f35b34801561019257600080fd5b506101ad60048036038101906101a89190612818565b61058e565b6040516101ba9190612873565b60405180910390f35b3480156101cf57600080fd5b506101d86105ac565b6040516101e5919061289d565b60405180910390f35b3480156101fa57600080fd5b506102036105b2565b005b34801561021157600080fd5b5061021a610689565b604051610227919061289d565b60405180910390f35b34801561023c57600080fd5b50610257600480360381019061025291906128b8565b6106ad565b6040516102649190612873565b60405180910390f35b34801561027957600080fd5b50610282610786565b60405161028f9190612927565b60405180910390f35b3480156102a457600080fd5b506102bf60048036038101906102ba9190612a8a565b61078f565b005b3480156102cd57600080fd5b506102e860048036038101906102e39190612ad3565b6108b9565b6040516102f59190612873565b60405180910390f35b34801561030a57600080fd5b5061031361090f565b005b34801561032157600080fd5b5061032a6109ac565b005b34801561033857600080fd5b50610353600480360381019061034e9190612ad3565b610aef565b604051610360919061289d565b60405180910390f35b34801561037557600080fd5b5061037e610b38565b005b34801561038c57600080fd5b50610395610c8b565b005b3480156103a357600080fd5b506103ac610dbb565b6040516103b9919061289d565b60405180910390f35b3480156103ce57600080fd5b506103d7610dc1565b6040516103e49190612b0f565b60405180910390f35b3480156103f957600080fd5b50610402610dea565b60405161040f919061289d565b60405180910390f35b34801561042457600080fd5b5061042d610df0565b60405161043a919061274e565b60405180910390f35b34801561044f57600080fd5b5061046a60048036038101906104659190612818565b610e2d565b6040516104779190612873565b60405180910390f35b34801561048c57600080fd5b50610495610e4b565b6040516104a2919061289d565b60405180910390f35b3480156104b757600080fd5b506104c0610e51565b005b3480156104ce57600080fd5b506104e960048036038101906104e49190612a8a565b611389565b005b3480156104f757600080fd5b50610512600480360381019061050d9190612b2a565b6114b3565b60405161051f919061289d565b60405180910390f35b34801561053457600080fd5b5061054f600480360381019061054a9190612b6a565b61153a565b005b60606040518060400160405280600881526020017f4d72732050657065000000000000000000000000000000000000000000000000815250905090565b60006105a261059b61160e565b8484611616565b6001905092915050565b60155481565b6105ba61160e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610647576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161063e90612be3565b60405180910390fd5b6000600d819055507fe9b79e1a6c2dc43b4c0c6ff01ce9e3332d810e482270f464c0a21ad6c5fc6de3600060405161067f9190612c48565b60405180910390a1565b60006008600a6106999190612dc5565b6305f5e1006106a89190612e10565b905090565b60006106ba8484846117df565b61077b846106c661160e565b6107768560405180606001604052806028815260200161385460289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061072c61160e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461218d9092919063ffffffff16565b611616565b600190509392505050565b60006008905090565b61079761160e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610824576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161081b90612be3565b60405180910390fd5b60005b81518110156108b55760006004600084848151811061084957610848612e52565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806108ad90612e81565b915050610827565b5050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661095061160e565b73ffffffffffffffffffffffffffffffffffffffff161461097057600080fd5b600061097b30610aef565b905060008111156109905761098f816121f1565b5b600047905060008111156109a8576109a78161246a565b5b5050565b6109b461160e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a41576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a3890612be3565b60405180910390fd5b60004711610a84576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a7b90612f15565b60405180910390fd5b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015610aec573d6000803e3d6000fd5b50565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610b4061160e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bcd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bc490612be3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610c9361160e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d20576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d1790612be3565b60405180910390fd5b6008600a610d2e9190612dc5565b6305f5e100610d3d9190612e10565b6012819055506008600a610d519190612dc5565b6305f5e100610d609190612e10565b6013819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6008600a610d959190612dc5565b6305f5e100610da49190612e10565b604051610db1919061289d565b60405180910390a1565b60125481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60135481565b60606040518060400160405280600581526020017f4d50455045000000000000000000000000000000000000000000000000000000815250905090565b6000610e41610e3a61160e565b84846117df565b6001905092915050565b60145481565b610e5961160e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ee6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610edd90612be3565b60405180910390fd5b601760149054906101000a900460ff1615610f36576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f2d90612f81565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610fd430601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166008600a610fc09190612dc5565b6305f5e100610fcf9190612e10565b611616565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611041573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110659190612fb6565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110ee573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111129190612fb6565b6040518363ffffffff1660e01b815260040161112f929190612fe3565b6020604051808303816000875af115801561114e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111729190612fb6565b601760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306111fb30610aef565b600080611206610dc1565b426040518863ffffffff1660e01b81526004016112289695949392919061300c565b60606040518083038185885af1158015611246573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061126b9190613082565b505050601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b815260040161130d9291906130d5565b6020604051808303816000875af115801561132c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611350919061312a565b506001601760166101000a81548160ff0219169083151502179055506001601760146101000a81548160ff021916908315150217905550565b61139161160e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461141e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161141590612be3565b60405180910390fd5b60005b81518110156114af5760016004600084848151811061144357611442612e52565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806114a790612e81565b915050611421565b5050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661157b61160e565b73ffffffffffffffffffffffffffffffffffffffff161461159b57600080fd5b60085481111580156115af57506009548111155b6115b857600080fd5b806008819055508060098190555080601081905550806011819055507f8c4d35e54a3f2ef1134138fd8ea3daee6a3c89e10d2665996babdf70261e2c7681604051611603919061289d565b60405180910390a150565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611685576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161167c906131c9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036116f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116eb9061325b565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516117d2919061289d565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361184e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611845906132ed565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036118bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118b49061337f565b60405180910390fd5b60008111611900576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118f790613411565b60405180910390fd5b600061190a610dc1565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156119785750611948610dc1565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611ed057600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611a215750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611a2a57600080fd5b6000600e5403611a7357611a706064611a62600a54600e5411611a4f57600654611a53565b6008545b856124d690919063ffffffff16565b61255090919063ffffffff16565b90505b6000600e541115611aa957611aa66064611a98600d54856124d690919063ffffffff16565b61255090919063ffffffff16565b90505b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611b545750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611baa5750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611ca357601254821115611bf4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611beb9061347d565b60405180910390fd5b60135482611c0185610aef565b611c0b919061349d565b1115611c4c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c439061351d565b60405180910390fd5b611c886064611c7a600a54600e5411611c6757600654611c6b565b6008545b856124d690919063ffffffff16565b61255090919063ffffffff16565b9050600e6000815480929190611c9d90612e81565b91905055505b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611d2c57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611d7057611d6d6064611d5f600b54600e5411611d4c57600754611d50565b6009545b856124d690919063ffffffff16565b61255090919063ffffffff16565b90505b6000611d7b30610aef565b9050601760159054906101000a900460ff16158015611de75750601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611dff5750601760169054906101000a900460ff165b8015611e0c575060145481115b8015611e1b5750600c54600e54115b15611ece57601954431115611e335760006018819055505b600360185410611e78576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e6f90613589565b60405180910390fd5b611e95611e9084611e8b8460155461259a565b61259a565b6121f1565b60004790506000811115611ead57611eac4761246a565b5b60186000815480929190611ec090612e81565b919050555043601981905550505b505b6000811115611fd457611f2b81600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125b390919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611fcb919061289d565b60405180910390a35b61202682600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461261190919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506120cd61207f828461261190919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125b390919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef612172848661261190919063ffffffff16565b60405161217f919061289d565b60405180910390a350505050565b60008383111582906121d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121cc919061274e565b60405180910390fd5b50600083856121e491906135a9565b9050809150509392505050565b6001601760156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561222957612228612947565b5b6040519080825280602002602001820160405280156122575781602001602082028036833780820191505090505b509050308160008151811061226f5761226e612e52565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612316573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061233a9190612fb6565b8160018151811061234e5761234d612e52565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506123b530601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611616565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161241995949392919061369b565b600060405180830381600087803b15801561243357600080fd5b505af1158015612447573d6000803e3d6000fd5b50505050506000601760156101000a81548160ff02191690831515021790555050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156124d2573d6000803e3d6000fd5b5050565b60008083036124e8576000905061254a565b600082846124f69190612e10565b90508284826125059190613724565b14612545576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161253c906137c7565b60405180910390fd5b809150505b92915050565b600061259283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061265b565b905092915050565b60008183116125a957826125ab565b815b905092915050565b60008082846125c2919061349d565b905083811015612607576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125fe90613833565b60405180910390fd5b8091505092915050565b600061265383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061218d565b905092915050565b600080831182906126a2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612699919061274e565b60405180910390fd5b50600083856126b19190613724565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b838110156126f85780820151818401526020810190506126dd565b60008484015250505050565b6000601f19601f8301169050919050565b6000612720826126be565b61272a81856126c9565b935061273a8185602086016126da565b61274381612704565b840191505092915050565b600060208201905081810360008301526127688184612715565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006127af82612784565b9050919050565b6127bf816127a4565b81146127ca57600080fd5b50565b6000813590506127dc816127b6565b92915050565b6000819050919050565b6127f5816127e2565b811461280057600080fd5b50565b600081359050612812816127ec565b92915050565b6000806040838503121561282f5761282e61277a565b5b600061283d858286016127cd565b925050602061284e85828601612803565b9150509250929050565b60008115159050919050565b61286d81612858565b82525050565b60006020820190506128886000830184612864565b92915050565b612897816127e2565b82525050565b60006020820190506128b2600083018461288e565b92915050565b6000806000606084860312156128d1576128d061277a565b5b60006128df868287016127cd565b93505060206128f0868287016127cd565b925050604061290186828701612803565b9150509250925092565b600060ff82169050919050565b6129218161290b565b82525050565b600060208201905061293c6000830184612918565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61297f82612704565b810181811067ffffffffffffffff8211171561299e5761299d612947565b5b80604052505050565b60006129b1612770565b90506129bd8282612976565b919050565b600067ffffffffffffffff8211156129dd576129dc612947565b5b602082029050602081019050919050565b600080fd5b6000612a06612a01846129c2565b6129a7565b90508083825260208201905060208402830185811115612a2957612a286129ee565b5b835b81811015612a525780612a3e88826127cd565b845260208401935050602081019050612a2b565b5050509392505050565b600082601f830112612a7157612a70612942565b5b8135612a818482602086016129f3565b91505092915050565b600060208284031215612aa057612a9f61277a565b5b600082013567ffffffffffffffff811115612abe57612abd61277f565b5b612aca84828501612a5c565b91505092915050565b600060208284031215612ae957612ae861277a565b5b6000612af7848285016127cd565b91505092915050565b612b09816127a4565b82525050565b6000602082019050612b246000830184612b00565b92915050565b60008060408385031215612b4157612b4061277a565b5b6000612b4f858286016127cd565b9250506020612b60858286016127cd565b9150509250929050565b600060208284031215612b8057612b7f61277a565b5b6000612b8e84828501612803565b91505092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612bcd6020836126c9565b9150612bd882612b97565b602082019050919050565b60006020820190508181036000830152612bfc81612bc0565b9050919050565b6000819050919050565b6000819050919050565b6000612c32612c2d612c2884612c03565b612c0d565b6127e2565b9050919050565b612c4281612c17565b82525050565b6000602082019050612c5d6000830184612c39565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115612ce957808604811115612cc557612cc4612c63565b5b6001851615612cd45780820291505b8081029050612ce285612c92565b9450612ca9565b94509492505050565b600082612d025760019050612dbe565b81612d105760009050612dbe565b8160018114612d265760028114612d3057612d5f565b6001915050612dbe565b60ff841115612d4257612d41612c63565b5b8360020a915084821115612d5957612d58612c63565b5b50612dbe565b5060208310610133831016604e8410600b8410161715612d945782820a905083811115612d8f57612d8e612c63565b5b612dbe565b612da18484846001612c9f565b92509050818404811115612db857612db7612c63565b5b81810290505b9392505050565b6000612dd0826127e2565b9150612ddb8361290b565b9250612e087fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612cf2565b905092915050565b6000612e1b826127e2565b9150612e26836127e2565b9250828202612e34816127e2565b91508282048414831517612e4b57612e4a612c63565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000612e8c826127e2565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612ebe57612ebd612c63565b5b600182019050919050565b7f4e6f2045544820746f207472616e736665720000000000000000000000000000600082015250565b6000612eff6012836126c9565b9150612f0a82612ec9565b602082019050919050565b60006020820190508181036000830152612f2e81612ef2565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6000612f6b6017836126c9565b9150612f7682612f35565b602082019050919050565b60006020820190508181036000830152612f9a81612f5e565b9050919050565b600081519050612fb0816127b6565b92915050565b600060208284031215612fcc57612fcb61277a565b5b6000612fda84828501612fa1565b91505092915050565b6000604082019050612ff86000830185612b00565b6130056020830184612b00565b9392505050565b600060c0820190506130216000830189612b00565b61302e602083018861288e565b61303b6040830187612c39565b6130486060830186612c39565b6130556080830185612b00565b61306260a083018461288e565b979650505050505050565b60008151905061307c816127ec565b92915050565b60008060006060848603121561309b5761309a61277a565b5b60006130a98682870161306d565b93505060206130ba8682870161306d565b92505060406130cb8682870161306d565b9150509250925092565b60006040820190506130ea6000830185612b00565b6130f7602083018461288e565b9392505050565b61310781612858565b811461311257600080fd5b50565b600081519050613124816130fe565b92915050565b6000602082840312156131405761313f61277a565b5b600061314e84828501613115565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006131b36024836126c9565b91506131be82613157565b604082019050919050565b600060208201905081810360008301526131e2816131a6565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006132456022836126c9565b9150613250826131e9565b604082019050919050565b6000602082019050818103600083015261327481613238565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006132d76025836126c9565b91506132e28261327b565b604082019050919050565b60006020820190508181036000830152613306816132ca565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006133696023836126c9565b91506133748261330d565b604082019050919050565b600060208201905081810360008301526133988161335c565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006133fb6029836126c9565b91506134068261339f565b604082019050919050565b6000602082019050818103600083015261342a816133ee565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b60006134676019836126c9565b915061347282613431565b602082019050919050565b600060208201905081810360008301526134968161345a565b9050919050565b60006134a8826127e2565b91506134b3836127e2565b92508282019050808211156134cb576134ca612c63565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b6000613507601a836126c9565b9150613512826134d1565b602082019050919050565b60006020820190508181036000830152613536816134fa565b9050919050565b7f4f6e6c7920332073656c6c732070657220626c6f636b21000000000000000000600082015250565b60006135736017836126c9565b915061357e8261353d565b602082019050919050565b600060208201905081810360008301526135a281613566565b9050919050565b60006135b4826127e2565b91506135bf836127e2565b92508282039050818111156135d7576135d6612c63565b5b92915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613612816127a4565b82525050565b60006136248383613609565b60208301905092915050565b6000602082019050919050565b6000613648826135dd565b61365281856135e8565b935061365d836135f9565b8060005b8381101561368e5781516136758882613618565b975061368083613630565b925050600181019050613661565b5085935050505092915050565b600060a0820190506136b0600083018861288e565b6136bd6020830187612c39565b81810360408301526136cf818661363d565b90506136de6060830185612b00565b6136eb608083018461288e565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061372f826127e2565b915061373a836127e2565b92508261374a576137496136f5565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006137b16021836126c9565b91506137bc82613755565b604082019050919050565b600060208201905081810360008301526137e0816137a4565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b600061381d601b836126c9565b9150613828826137e7565b602082019050919050565b6000602082019050818103600083015261384c81613810565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122096e01a7f96fb7e22df6cfb24346d97a4eda377d266f5e9065c98270ab3555bd664736f6c63430008130033

Deployed Bytecode

0x60806040526004361061014f5760003560e01c8063715018a6116100b6578063a9059cbb1161006f578063a9059cbb14610443578063bf474bed14610480578063c9567bf9146104ab578063d34628cc146104c2578063dd62ed3e146104eb578063ec1f3f631461052857610156565b8063715018a614610369578063751039fc146103805780637d1db4a5146103975780638da5cb5b146103c25780638f9a55c0146103ed57806395d89b411461041857610156565b8063313ce56711610108578063313ce5671461026d57806331c2d847146102985780633bbac579146102c157806351bc3c85146102fe578063692cda7a1461031557806370a082311461032c57610156565b806306fdde031461015b578063095ea7b3146101865780630faee56f146101c3578063109daa99146101ee57806318160ddd1461020557806323b872dd1461023057610156565b3661015657005b600080fd5b34801561016757600080fd5b50610170610551565b60405161017d919061274e565b60405180910390f35b34801561019257600080fd5b506101ad60048036038101906101a89190612818565b61058e565b6040516101ba9190612873565b60405180910390f35b3480156101cf57600080fd5b506101d86105ac565b6040516101e5919061289d565b60405180910390f35b3480156101fa57600080fd5b506102036105b2565b005b34801561021157600080fd5b5061021a610689565b604051610227919061289d565b60405180910390f35b34801561023c57600080fd5b50610257600480360381019061025291906128b8565b6106ad565b6040516102649190612873565b60405180910390f35b34801561027957600080fd5b50610282610786565b60405161028f9190612927565b60405180910390f35b3480156102a457600080fd5b506102bf60048036038101906102ba9190612a8a565b61078f565b005b3480156102cd57600080fd5b506102e860048036038101906102e39190612ad3565b6108b9565b6040516102f59190612873565b60405180910390f35b34801561030a57600080fd5b5061031361090f565b005b34801561032157600080fd5b5061032a6109ac565b005b34801561033857600080fd5b50610353600480360381019061034e9190612ad3565b610aef565b604051610360919061289d565b60405180910390f35b34801561037557600080fd5b5061037e610b38565b005b34801561038c57600080fd5b50610395610c8b565b005b3480156103a357600080fd5b506103ac610dbb565b6040516103b9919061289d565b60405180910390f35b3480156103ce57600080fd5b506103d7610dc1565b6040516103e49190612b0f565b60405180910390f35b3480156103f957600080fd5b50610402610dea565b60405161040f919061289d565b60405180910390f35b34801561042457600080fd5b5061042d610df0565b60405161043a919061274e565b60405180910390f35b34801561044f57600080fd5b5061046a60048036038101906104659190612818565b610e2d565b6040516104779190612873565b60405180910390f35b34801561048c57600080fd5b50610495610e4b565b6040516104a2919061289d565b60405180910390f35b3480156104b757600080fd5b506104c0610e51565b005b3480156104ce57600080fd5b506104e960048036038101906104e49190612a8a565b611389565b005b3480156104f757600080fd5b50610512600480360381019061050d9190612b2a565b6114b3565b60405161051f919061289d565b60405180910390f35b34801561053457600080fd5b5061054f600480360381019061054a9190612b6a565b61153a565b005b60606040518060400160405280600881526020017f4d72732050657065000000000000000000000000000000000000000000000000815250905090565b60006105a261059b61160e565b8484611616565b6001905092915050565b60155481565b6105ba61160e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610647576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161063e90612be3565b60405180910390fd5b6000600d819055507fe9b79e1a6c2dc43b4c0c6ff01ce9e3332d810e482270f464c0a21ad6c5fc6de3600060405161067f9190612c48565b60405180910390a1565b60006008600a6106999190612dc5565b6305f5e1006106a89190612e10565b905090565b60006106ba8484846117df565b61077b846106c661160e565b6107768560405180606001604052806028815260200161385460289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061072c61160e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461218d9092919063ffffffff16565b611616565b600190509392505050565b60006008905090565b61079761160e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610824576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161081b90612be3565b60405180910390fd5b60005b81518110156108b55760006004600084848151811061084957610848612e52565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806108ad90612e81565b915050610827565b5050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661095061160e565b73ffffffffffffffffffffffffffffffffffffffff161461097057600080fd5b600061097b30610aef565b905060008111156109905761098f816121f1565b5b600047905060008111156109a8576109a78161246a565b5b5050565b6109b461160e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a41576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a3890612be3565b60405180910390fd5b60004711610a84576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a7b90612f15565b60405180910390fd5b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015610aec573d6000803e3d6000fd5b50565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610b4061160e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bcd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bc490612be3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610c9361160e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d20576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d1790612be3565b60405180910390fd5b6008600a610d2e9190612dc5565b6305f5e100610d3d9190612e10565b6012819055506008600a610d519190612dc5565b6305f5e100610d609190612e10565b6013819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6008600a610d959190612dc5565b6305f5e100610da49190612e10565b604051610db1919061289d565b60405180910390a1565b60125481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60135481565b60606040518060400160405280600581526020017f4d50455045000000000000000000000000000000000000000000000000000000815250905090565b6000610e41610e3a61160e565b84846117df565b6001905092915050565b60145481565b610e5961160e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ee6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610edd90612be3565b60405180910390fd5b601760149054906101000a900460ff1615610f36576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f2d90612f81565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610fd430601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166008600a610fc09190612dc5565b6305f5e100610fcf9190612e10565b611616565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611041573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110659190612fb6565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110ee573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111129190612fb6565b6040518363ffffffff1660e01b815260040161112f929190612fe3565b6020604051808303816000875af115801561114e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111729190612fb6565b601760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306111fb30610aef565b600080611206610dc1565b426040518863ffffffff1660e01b81526004016112289695949392919061300c565b60606040518083038185885af1158015611246573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061126b9190613082565b505050601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b815260040161130d9291906130d5565b6020604051808303816000875af115801561132c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611350919061312a565b506001601760166101000a81548160ff0219169083151502179055506001601760146101000a81548160ff021916908315150217905550565b61139161160e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461141e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161141590612be3565b60405180910390fd5b60005b81518110156114af5760016004600084848151811061144357611442612e52565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806114a790612e81565b915050611421565b5050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661157b61160e565b73ffffffffffffffffffffffffffffffffffffffff161461159b57600080fd5b60085481111580156115af57506009548111155b6115b857600080fd5b806008819055508060098190555080601081905550806011819055507f8c4d35e54a3f2ef1134138fd8ea3daee6a3c89e10d2665996babdf70261e2c7681604051611603919061289d565b60405180910390a150565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611685576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161167c906131c9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036116f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116eb9061325b565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516117d2919061289d565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361184e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611845906132ed565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036118bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118b49061337f565b60405180910390fd5b60008111611900576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118f790613411565b60405180910390fd5b600061190a610dc1565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156119785750611948610dc1565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611ed057600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611a215750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611a2a57600080fd5b6000600e5403611a7357611a706064611a62600a54600e5411611a4f57600654611a53565b6008545b856124d690919063ffffffff16565b61255090919063ffffffff16565b90505b6000600e541115611aa957611aa66064611a98600d54856124d690919063ffffffff16565b61255090919063ffffffff16565b90505b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611b545750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611baa5750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611ca357601254821115611bf4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611beb9061347d565b60405180910390fd5b60135482611c0185610aef565b611c0b919061349d565b1115611c4c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c439061351d565b60405180910390fd5b611c886064611c7a600a54600e5411611c6757600654611c6b565b6008545b856124d690919063ffffffff16565b61255090919063ffffffff16565b9050600e6000815480929190611c9d90612e81565b91905055505b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611d2c57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611d7057611d6d6064611d5f600b54600e5411611d4c57600754611d50565b6009545b856124d690919063ffffffff16565b61255090919063ffffffff16565b90505b6000611d7b30610aef565b9050601760159054906101000a900460ff16158015611de75750601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611dff5750601760169054906101000a900460ff165b8015611e0c575060145481115b8015611e1b5750600c54600e54115b15611ece57601954431115611e335760006018819055505b600360185410611e78576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e6f90613589565b60405180910390fd5b611e95611e9084611e8b8460155461259a565b61259a565b6121f1565b60004790506000811115611ead57611eac4761246a565b5b60186000815480929190611ec090612e81565b919050555043601981905550505b505b6000811115611fd457611f2b81600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125b390919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611fcb919061289d565b60405180910390a35b61202682600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461261190919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506120cd61207f828461261190919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125b390919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef612172848661261190919063ffffffff16565b60405161217f919061289d565b60405180910390a350505050565b60008383111582906121d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121cc919061274e565b60405180910390fd5b50600083856121e491906135a9565b9050809150509392505050565b6001601760156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561222957612228612947565b5b6040519080825280602002602001820160405280156122575781602001602082028036833780820191505090505b509050308160008151811061226f5761226e612e52565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612316573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061233a9190612fb6565b8160018151811061234e5761234d612e52565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506123b530601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611616565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161241995949392919061369b565b600060405180830381600087803b15801561243357600080fd5b505af1158015612447573d6000803e3d6000fd5b50505050506000601760156101000a81548160ff02191690831515021790555050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156124d2573d6000803e3d6000fd5b5050565b60008083036124e8576000905061254a565b600082846124f69190612e10565b90508284826125059190613724565b14612545576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161253c906137c7565b60405180910390fd5b809150505b92915050565b600061259283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061265b565b905092915050565b60008183116125a957826125ab565b815b905092915050565b60008082846125c2919061349d565b905083811015612607576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125fe90613833565b60405180910390fd5b8091505092915050565b600061265383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061218d565b905092915050565b600080831182906126a2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612699919061274e565b60405180910390fd5b50600083856126b19190613724565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b838110156126f85780820151818401526020810190506126dd565b60008484015250505050565b6000601f19601f8301169050919050565b6000612720826126be565b61272a81856126c9565b935061273a8185602086016126da565b61274381612704565b840191505092915050565b600060208201905081810360008301526127688184612715565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006127af82612784565b9050919050565b6127bf816127a4565b81146127ca57600080fd5b50565b6000813590506127dc816127b6565b92915050565b6000819050919050565b6127f5816127e2565b811461280057600080fd5b50565b600081359050612812816127ec565b92915050565b6000806040838503121561282f5761282e61277a565b5b600061283d858286016127cd565b925050602061284e85828601612803565b9150509250929050565b60008115159050919050565b61286d81612858565b82525050565b60006020820190506128886000830184612864565b92915050565b612897816127e2565b82525050565b60006020820190506128b2600083018461288e565b92915050565b6000806000606084860312156128d1576128d061277a565b5b60006128df868287016127cd565b93505060206128f0868287016127cd565b925050604061290186828701612803565b9150509250925092565b600060ff82169050919050565b6129218161290b565b82525050565b600060208201905061293c6000830184612918565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61297f82612704565b810181811067ffffffffffffffff8211171561299e5761299d612947565b5b80604052505050565b60006129b1612770565b90506129bd8282612976565b919050565b600067ffffffffffffffff8211156129dd576129dc612947565b5b602082029050602081019050919050565b600080fd5b6000612a06612a01846129c2565b6129a7565b90508083825260208201905060208402830185811115612a2957612a286129ee565b5b835b81811015612a525780612a3e88826127cd565b845260208401935050602081019050612a2b565b5050509392505050565b600082601f830112612a7157612a70612942565b5b8135612a818482602086016129f3565b91505092915050565b600060208284031215612aa057612a9f61277a565b5b600082013567ffffffffffffffff811115612abe57612abd61277f565b5b612aca84828501612a5c565b91505092915050565b600060208284031215612ae957612ae861277a565b5b6000612af7848285016127cd565b91505092915050565b612b09816127a4565b82525050565b6000602082019050612b246000830184612b00565b92915050565b60008060408385031215612b4157612b4061277a565b5b6000612b4f858286016127cd565b9250506020612b60858286016127cd565b9150509250929050565b600060208284031215612b8057612b7f61277a565b5b6000612b8e84828501612803565b91505092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612bcd6020836126c9565b9150612bd882612b97565b602082019050919050565b60006020820190508181036000830152612bfc81612bc0565b9050919050565b6000819050919050565b6000819050919050565b6000612c32612c2d612c2884612c03565b612c0d565b6127e2565b9050919050565b612c4281612c17565b82525050565b6000602082019050612c5d6000830184612c39565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115612ce957808604811115612cc557612cc4612c63565b5b6001851615612cd45780820291505b8081029050612ce285612c92565b9450612ca9565b94509492505050565b600082612d025760019050612dbe565b81612d105760009050612dbe565b8160018114612d265760028114612d3057612d5f565b6001915050612dbe565b60ff841115612d4257612d41612c63565b5b8360020a915084821115612d5957612d58612c63565b5b50612dbe565b5060208310610133831016604e8410600b8410161715612d945782820a905083811115612d8f57612d8e612c63565b5b612dbe565b612da18484846001612c9f565b92509050818404811115612db857612db7612c63565b5b81810290505b9392505050565b6000612dd0826127e2565b9150612ddb8361290b565b9250612e087fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612cf2565b905092915050565b6000612e1b826127e2565b9150612e26836127e2565b9250828202612e34816127e2565b91508282048414831517612e4b57612e4a612c63565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000612e8c826127e2565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612ebe57612ebd612c63565b5b600182019050919050565b7f4e6f2045544820746f207472616e736665720000000000000000000000000000600082015250565b6000612eff6012836126c9565b9150612f0a82612ec9565b602082019050919050565b60006020820190508181036000830152612f2e81612ef2565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6000612f6b6017836126c9565b9150612f7682612f35565b602082019050919050565b60006020820190508181036000830152612f9a81612f5e565b9050919050565b600081519050612fb0816127b6565b92915050565b600060208284031215612fcc57612fcb61277a565b5b6000612fda84828501612fa1565b91505092915050565b6000604082019050612ff86000830185612b00565b6130056020830184612b00565b9392505050565b600060c0820190506130216000830189612b00565b61302e602083018861288e565b61303b6040830187612c39565b6130486060830186612c39565b6130556080830185612b00565b61306260a083018461288e565b979650505050505050565b60008151905061307c816127ec565b92915050565b60008060006060848603121561309b5761309a61277a565b5b60006130a98682870161306d565b93505060206130ba8682870161306d565b92505060406130cb8682870161306d565b9150509250925092565b60006040820190506130ea6000830185612b00565b6130f7602083018461288e565b9392505050565b61310781612858565b811461311257600080fd5b50565b600081519050613124816130fe565b92915050565b6000602082840312156131405761313f61277a565b5b600061314e84828501613115565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006131b36024836126c9565b91506131be82613157565b604082019050919050565b600060208201905081810360008301526131e2816131a6565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006132456022836126c9565b9150613250826131e9565b604082019050919050565b6000602082019050818103600083015261327481613238565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006132d76025836126c9565b91506132e28261327b565b604082019050919050565b60006020820190508181036000830152613306816132ca565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006133696023836126c9565b91506133748261330d565b604082019050919050565b600060208201905081810360008301526133988161335c565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006133fb6029836126c9565b91506134068261339f565b604082019050919050565b6000602082019050818103600083015261342a816133ee565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b60006134676019836126c9565b915061347282613431565b602082019050919050565b600060208201905081810360008301526134968161345a565b9050919050565b60006134a8826127e2565b91506134b3836127e2565b92508282019050808211156134cb576134ca612c63565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b6000613507601a836126c9565b9150613512826134d1565b602082019050919050565b60006020820190508181036000830152613536816134fa565b9050919050565b7f4f6e6c7920332073656c6c732070657220626c6f636b21000000000000000000600082015250565b60006135736017836126c9565b915061357e8261353d565b602082019050919050565b600060208201905081810360008301526135a281613566565b9050919050565b60006135b4826127e2565b91506135bf836127e2565b92508282039050818111156135d7576135d6612c63565b5b92915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613612816127a4565b82525050565b60006136248383613609565b60208301905092915050565b6000602082019050919050565b6000613648826135dd565b61365281856135e8565b935061365d836135f9565b8060005b8381101561368e5781516136758882613618565b975061368083613630565b925050600181019050613661565b5085935050505092915050565b600060a0820190506136b0600083018861288e565b6136bd6020830187612c39565b81810360408301526136cf818661363d565b90506136de6060830185612b00565b6136eb608083018461288e565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061372f826127e2565b915061373a836127e2565b92508261374a576137496136f5565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006137b16021836126c9565b91506137bc82613755565b604082019050919050565b600060208201905081810360008301526137e0816137a4565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b600061381d601b836126c9565b9150613828826137e7565b602082019050919050565b6000602082019050818103600083015261384c81613810565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122096e01a7f96fb7e22df6cfb24346d97a4eda377d266f5e9065c98270ab3555bd664736f6c63430008130033

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.