ETH Price: $3,266.70 (-2.77%)

Contract

0xEC1d9a68698BB51197C4DcE6570115290E7C6A8F
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve205031372024-08-11 4:58:35163 days ago1723352315IN
0xEC1d9a68...90E7C6A8F
0 ETH0.000048761.04818646
Approve159037182022-11-05 12:08:23807 days ago1667650103IN
0xEC1d9a68...90E7C6A8F
0 ETH0.0003073912.65167972
Approve159037072022-11-05 12:06:11807 days ago1667649971IN
0xEC1d9a68...90E7C6A8F
0 ETH0.0003511414.45219076
Approve159036292022-11-05 11:50:23807 days ago1667649023IN
0xEC1d9a68...90E7C6A8F
0 ETH0.0005574111.96659707
Approve159036122022-11-05 11:46:59807 days ago1667648819IN
0xEC1d9a68...90E7C6A8F
0 ETH0.0006017212.91784109
Approve159035902022-11-05 11:42:35807 days ago1667648555IN
0xEC1d9a68...90E7C6A8F
0 ETH0.0005740812.32436371
Approve159035862022-11-05 11:41:47807 days ago1667648507IN
0xEC1d9a68...90E7C6A8F
0 ETH0.00058312.51587295
Approve159035812022-11-05 11:40:47807 days ago1667648447IN
0xEC1d9a68...90E7C6A8F
0 ETH0.0005676512.18631982
Approve159035742022-11-05 11:39:23807 days ago1667648363IN
0xEC1d9a68...90E7C6A8F
0 ETH0.0005683912.20222747
Approve159035682022-11-05 11:38:11807 days ago1667648291IN
0xEC1d9a68...90E7C6A8F
0 ETH0.0005033610.80620992
Approve159035352022-11-05 11:31:35807 days ago1667647895IN
0xEC1d9a68...90E7C6A8F
0 ETH0.0006258813.43654315
Approve159035172022-11-05 11:27:59807 days ago1667647679IN
0xEC1d9a68...90E7C6A8F
0 ETH0.0006204813.32048375
Approve159035082022-11-05 11:26:11807 days ago1667647571IN
0xEC1d9a68...90E7C6A8F
0 ETH0.0005680812.27143732
Approve159035052022-11-05 11:25:35807 days ago1667647535IN
0xEC1d9a68...90E7C6A8F
0 ETH0.0005142311.03951259
Approve159035032022-11-05 11:25:11807 days ago1667647511IN
0xEC1d9a68...90E7C6A8F
0 ETH0.000625313.50765567
Approve159034942022-11-05 11:23:23807 days ago1667647403IN
0xEC1d9a68...90E7C6A8F
0 ETH0.0005757512.36020566
Approve159034942022-11-05 11:23:23807 days ago1667647403IN
0xEC1d9a68...90E7C6A8F
0 ETH0.0006456213.86020566
Approve159034932022-11-05 11:23:11807 days ago1667647391IN
0xEC1d9a68...90E7C6A8F
0 ETH0.0006035513.03772266
Approve159034852022-11-05 11:21:35807 days ago1667647295IN
0xEC1d9a68...90E7C6A8F
0 ETH0.0005490211.78646127
Approve159034802022-11-05 11:20:35807 days ago1667647235IN
0xEC1d9a68...90E7C6A8F
0 ETH0.0006287413.58187604
Renounce Ownersh...159034762022-11-05 11:19:47807 days ago1667647187IN
0xEC1d9a68...90E7C6A8F
0 ETH0.0003269114.00668769
Remove Limits159034742022-11-05 11:19:23807 days ago1667647163IN
0xEC1d9a68...90E7C6A8F
0 ETH0.0004544913.61330063
Approve159034682022-11-05 11:18:11807 days ago1667647091IN
0xEC1d9a68...90E7C6A8F
0 ETH0.0005849412.63561574
Approve159034682022-11-05 11:18:11807 days ago1667647091IN
0xEC1d9a68...90E7C6A8F
0 ETH0.0005885712.63561574
Approve159034662022-11-05 11:17:47807 days ago1667647067IN
0xEC1d9a68...90E7C6A8F
0 ETH0.0005322911.49840594
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
159036632022-11-05 11:57:11807 days ago1667649431
0xEC1d9a68...90E7C6A8F
0.00048739 ETH
159036632022-11-05 11:57:11807 days ago1667649431
0xEC1d9a68...90E7C6A8F
0.00048739 ETH
159036322022-11-05 11:50:59807 days ago1667649059
0xEC1d9a68...90E7C6A8F
0.00185734 ETH
159036322022-11-05 11:50:59807 days ago1667649059
0xEC1d9a68...90E7C6A8F
0.00185734 ETH
159036212022-11-05 11:48:47807 days ago1667648927
0xEC1d9a68...90E7C6A8F
0.00185734 ETH
159036212022-11-05 11:48:47807 days ago1667648927
0xEC1d9a68...90E7C6A8F
0.00185734 ETH
159036202022-11-05 11:48:35807 days ago1667648915
0xEC1d9a68...90E7C6A8F
0.00052079 ETH
159036202022-11-05 11:48:35807 days ago1667648915
0xEC1d9a68...90E7C6A8F
0.00052079 ETH
159036152022-11-05 11:47:35807 days ago1667648855
0xEC1d9a68...90E7C6A8F
0.0006045 ETH
159036152022-11-05 11:47:35807 days ago1667648855
0xEC1d9a68...90E7C6A8F
0.0006045 ETH
159036082022-11-05 11:46:11807 days ago1667648771
0xEC1d9a68...90E7C6A8F
0.00199691 ETH
159036082022-11-05 11:46:11807 days ago1667648771
0xEC1d9a68...90E7C6A8F
0.00199691 ETH
159035872022-11-05 11:41:59807 days ago1667648519
0xEC1d9a68...90E7C6A8F
0.00100576 ETH
159035872022-11-05 11:41:59807 days ago1667648519
0xEC1d9a68...90E7C6A8F
0.00100576 ETH
159035862022-11-05 11:41:47807 days ago1667648507
0xEC1d9a68...90E7C6A8F
0.00105168 ETH
159035862022-11-05 11:41:47807 days ago1667648507
0xEC1d9a68...90E7C6A8F
0.00105168 ETH
159035852022-11-05 11:41:35807 days ago1667648495
0xEC1d9a68...90E7C6A8F
0.00110987 ETH
159035852022-11-05 11:41:35807 days ago1667648495
0xEC1d9a68...90E7C6A8F
0.00110987 ETH
159035852022-11-05 11:41:35807 days ago1667648495
0xEC1d9a68...90E7C6A8F
0.00110987 ETH
159035852022-11-05 11:41:35807 days ago1667648495
0xEC1d9a68...90E7C6A8F
0.00110987 ETH
159035852022-11-05 11:41:35807 days ago1667648495
0xEC1d9a68...90E7C6A8F
0.00113095 ETH
159035852022-11-05 11:41:35807 days ago1667648495
0xEC1d9a68...90E7C6A8F
0.00113095 ETH
159035852022-11-05 11:41:35807 days ago1667648495
0xEC1d9a68...90E7C6A8F
0.00004238 ETH
159035852022-11-05 11:41:35807 days ago1667648495
0xEC1d9a68...90E7C6A8F
0.00004238 ETH
159035852022-11-05 11:41:35807 days ago1667648495
0xEC1d9a68...90E7C6A8F
0.00010554 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
CrippleDoge

Compiler Version
v0.8.9+commit.e5eed63a

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-11-05
*/

/**
 Poor, poor cripple doge
*/

pragma solidity 0.8.9;

// SPDX-License-Identifier: UNLICENSED 
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;
    address private _previousOwner;
    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 CrippleDoge is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _rOwned;
    mapping (address => uint256) private _tOwned;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private bots;
    mapping (address => uint) private cooldown;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 1000000000 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    uint256 private _buyCount = 0;

    uint256 private _feeAddr1;
    uint256 private _feeAddr2;
    uint256 private _standardTax;
    address payable private _feeAddrWallet;

    string private constant _name = "Cripple Doge";
    string private constant _symbol = "CRIPPLE";
    uint8 private constant _decimals = 9;

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    bool private cooldownEnabled = false;
    uint256 private _maxTxAmount = _tTotal.mul(2).div(100);
    uint256 private _maxWalletSize = _tTotal.mul(4).div(100);
    event MaxTxAmountUpdated(uint _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor () {
        _feeAddrWallet = payable(_msgSender());
        _rOwned[_msgSender()] = _rTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_feeAddrWallet] = true;
        _standardTax=4;

        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 transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

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

    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 setCooldownEnabled(bool onoff) external onlyOwner() {
        cooldownEnabled = onoff;
    }

    function tokenFromReflection(uint256 rAmount) private view returns(uint256) {
        require(rAmount <= _rTotal, "Amount must be less than total reflections");
        uint256 currentRate =  _getRate();
        return rAmount.div(currentRate);
    }

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


        if (from != owner() && to != owner()) {
            require(!bots[from] && !bots[to]);
            _feeAddr1 = 0;
            _feeAddr2 = _standardTax;
            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] && cooldownEnabled) {
                // Cooldown
                require(amount <= _maxTxAmount + 1, "Exceeds the _maxTxAmount.");
                require(balanceOf(to) + amount <= _maxWalletSize + 1, "Exceeds the maxWalletSize.");
                _buyCount++;
            }


            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && from != uniswapV2Pair && swapEnabled && contractTokenBalance>0 && _buyCount > 30) {
                swapTokensForEth(contractTokenBalance);
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }else{
          _feeAddr1 = 0;
          _feeAddr2 = 0;
        }

        _tokenTransfer(from,to,amount);
    }

    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 setStandardTax(uint256 newTax) external onlyOwner{
      require(newTax<_standardTax);
      _standardTax=newTax;
    }

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

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

    function openTrading() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Router = _uniswapV2Router;
        _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);
        swapEnabled = true;
        cooldownEnabled = true;

        tradingOpen = true;
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
    }

    function _transferStandard(address sender, address recipient, uint256 tAmount) private {
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);
        _takeTeam(tTeam);
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }
    function addbot(address[] memory bots_) public onlyOwner {
        for (uint i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }

    function _tokenTransfer(address sender, address recipient, uint256 amount) private {
        _transferStandard(sender, recipient, amount);
    }

    function _takeTeam(uint256 tTeam) private {
        uint256 currentRate =  _getRate();
        uint256 rTeam = tTeam.mul(currentRate);
        _rOwned[address(this)] = _rOwned[address(this)].add(rTeam);
    }

    function _reflectFee(uint256 rFee, uint256 tFee) private {
        _rTotal = _rTotal.sub(rFee);
        _tFeeTotal = _tFeeTotal.add(tFee);
    }

    function manualsend() external {
        require(_msgSender() == _feeAddrWallet);
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }

    receive() external payable {}

    function manualswap() external {
        require(_msgSender() == _feeAddrWallet);
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }

    function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256, uint256) {
        (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(tAmount, _feeAddr1, _feeAddr2);
        uint256 currentRate =  _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tTeam, currentRate);
        return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam);
    }

    function _getTValues(uint256 tAmount, uint256 taxFee, uint256 TeamFee) private pure returns (uint256, uint256, uint256) {
        uint256 tFee = tAmount.mul(taxFee).div(100);
        uint256 tTeam = tAmount.mul(TeamFee).div(100);
        uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam);
        return (tTransferAmount, tFee, tTeam);
    }

    function _getRValues(uint256 tAmount, uint256 tFee, uint256 tTeam, uint256 currentRate) private pure returns (uint256, uint256, uint256) {
        uint256 rAmount = tAmount.mul(currentRate);
        uint256 rFee = tFee.mul(currentRate);
        uint256 rTeam = tTeam.mul(currentRate);
        uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam);
        return (rAmount, rTransferAmount, rFee);
    }

	function _getRate() private view returns(uint256) {
        (uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
        return rSupply.div(tSupply);
    }

    function _getCurrentSupply() private view returns(uint256, uint256) {
        uint256 rSupply = _rTotal;
        uint256 tSupply = _tTotal;
        if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
        return (rSupply, tSupply);
    }
}

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":"_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"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"addbot","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":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","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":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"onoff","type":"bool"}],"name":"setCooldownEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newTax","type":"uint256"}],"name":"setStandardTax","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"}]

60806040526200001a670de0b6b3a764000060001962000328565b620000289060001962000355565b6008556000600a556010805462ffffff60a81b191690556200007a606462000066670de0b6b3a76400006002620001f8602090811b62000a3717901c565b6200028c60201b62000abd1790919060201c565b601155620000a66064620000666004670de0b6b3a7640000620001f860201b62000a371790919060201c565b601255348015620000b657600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600e80546001600160a01b03191633908117909155600854600091825260026020526040822055600190600590620001386000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790553081526005909352818320805485166001908117909155600e549091168352912080549092161790556004600d556200019c3390565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef670de0b6b3a7640000604051620001ea91815260200190565b60405180910390a362000400565b600082620002095750600062000286565b60006200021783856200036f565b90508262000226858362000391565b14620002835760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084015b60405180910390fd5b90505b92915050565b60006200028383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250620002d660201b60201c565b60008183620002fa5760405162461bcd60e51b81526004016200027a9190620003a8565b50600062000309848662000391565b95945050505050565b634e487b7160e01b600052601260045260246000fd5b6000826200033a576200033a62000312565b500690565b634e487b7160e01b600052601160045260246000fd5b6000828210156200036a576200036a6200033f565b500390565b60008160001904831182151516156200038c576200038c6200033f565b500290565b600082620003a357620003a362000312565b500490565b600060208083528351808285015260005b81811015620003d757858101830151858201604001528201620003b9565b81811115620003ea576000604083870101525b50601f01601f1916929092016040019392505050565b611a6280620004106000396000f3fe60806040526004361061010d5760003560e01c8063751039fc11610095578063a9059cbb11610064578063a9059cbb146102ea578063c3c8cd801461030a578063c9567bf91461031f578063ccfee5d614610334578063dd62ed3e1461035457600080fd5b8063751039fc1461025d578063843f7be2146102725780638da5cb5b1461029257806395d89b41146102ba57600080fd5b8063313ce567116100dc578063313ce567146101d55780635932ead1146101f15780636fc3eaec1461021357806370a0823114610228578063715018a61461024857600080fd5b806306fdde0314610119578063095ea7b31461016057806318160ddd1461019057806323b872dd146101b557600080fd5b3661011457005b600080fd5b34801561012557600080fd5b5060408051808201909152600c81526b43726970706c6520446f676560a01b60208201525b60405161015791906115e3565b60405180910390f35b34801561016c57600080fd5b5061018061017b36600461165d565b61039a565b6040519015158152602001610157565b34801561019c57600080fd5b50670de0b6b3a76400005b604051908152602001610157565b3480156101c157600080fd5b506101806101d0366004611689565b6103b1565b3480156101e157600080fd5b5060405160098152602001610157565b3480156101fd57600080fd5b5061021161020c3660046116d8565b61041a565b005b34801561021f57600080fd5b5061021161046b565b34801561023457600080fd5b506101a76102433660046116f5565b610498565b34801561025457600080fd5b506102116104ba565b34801561026957600080fd5b5061021161052e565b34801561027e57600080fd5b5061021161028d366004611712565b61056b565b34801561029e57600080fd5b506000546040516001600160a01b039091168152602001610157565b3480156102c657600080fd5b5060408051808201909152600781526643524950504c4560c81b602082015261014a565b3480156102f657600080fd5b5061018061030536600461165d565b6105a8565b34801561031657600080fd5b506102116105b5565b34801561032b57600080fd5b506102116105eb565b34801561034057600080fd5b5061021161034f366004611741565b6109a5565b34801561036057600080fd5b506101a761036f366004611806565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b60006103a7338484610aff565b5060015b92915050565b60006103be848484610c23565b610410843361040b85604051806060016040528060288152602001611a05602891396001600160a01b038a1660009081526004602090815260408083203384529091529020549190610fc5565b610aff565b5060019392505050565b6000546001600160a01b0316331461044d5760405162461bcd60e51b81526004016104449061183f565b60405180910390fd5b60108054911515600160b81b0260ff60b81b19909216919091179055565b600e546001600160a01b0316336001600160a01b03161461048b57600080fd5b4761049581610fff565b50565b6001600160a01b0381166000908152600260205260408120546103ab90611039565b6000546001600160a01b031633146104e45760405162461bcd60e51b81526004016104449061183f565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146105585760405162461bcd60e51b81526004016104449061183f565b670de0b6b3a76400006011819055601255565b6000546001600160a01b031633146105955760405162461bcd60e51b81526004016104449061183f565b600d5481106105a357600080fd5b600d55565b60006103a7338484610c23565b600e546001600160a01b0316336001600160a01b0316146105d557600080fd5b60006105e030610498565b9050610495816110b6565b6000546001600160a01b031633146106155760405162461bcd60e51b81526004016104449061183f565b601054600160a01b900460ff161561066f5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610444565b600f80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556106ab3082670de0b6b3a7640000610aff565b806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156106e457600080fd5b505afa1580156106f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061071c9190611874565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561076457600080fd5b505afa158015610778573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061079c9190611874565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b1580156107e457600080fd5b505af11580156107f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061081c9190611874565b601080546001600160a01b0319166001600160a01b03928316179055600f541663f305d719473061084c81610498565b6000806108616000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b1580156108c457600080fd5b505af11580156108d8573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906108fd9190611891565b50506010805463ffff00ff60a01b198116630101000160a01b17909155600f5460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b390604401602060405180830381600087803b15801561096957600080fd5b505af115801561097d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109a191906118bf565b5050565b6000546001600160a01b031633146109cf5760405162461bcd60e51b81526004016104449061183f565b60005b81518110156109a1576001600660008484815181106109f3576109f36118dc565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580610a2f81611908565b9150506109d2565b600082610a46575060006103ab565b6000610a528385611923565b905082610a5f8583611942565b14610ab65760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610444565b9392505050565b6000610ab683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061123f565b6001600160a01b038316610b615760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610444565b6001600160a01b038216610bc25760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610444565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610c875760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610444565b6001600160a01b038216610ce95760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610444565b60008111610d4b5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610444565b6000546001600160a01b03848116911614801590610d7757506000546001600160a01b03838116911614155b15610faa576001600160a01b03831660009081526006602052604090205460ff16158015610dbe57506001600160a01b03821660009081526006602052604090205460ff16155b610dc757600080fd5b6000600b55600d54600c556010546001600160a01b038481169116148015610dfd5750600f546001600160a01b03838116911614155b8015610e2257506001600160a01b03821660009081526005602052604090205460ff16155b8015610e375750601054600160b81b900460ff165b15610f1f57601154610e4a906001611964565b811115610e995760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610444565b601254610ea7906001611964565b81610eb184610498565b610ebb9190611964565b1115610f095760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610444565b600a8054906000610f1983611908565b91905055505b6000610f2a30610498565b601054909150600160a81b900460ff16158015610f5557506010546001600160a01b03858116911614155b8015610f6a5750601054600160b01b900460ff165b8015610f765750600081115b8015610f845750601e600a54115b15610fa457610f92816110b6565b478015610fa257610fa247610fff565b505b50610fb5565b6000600b819055600c555b610fc083838361126d565b505050565b60008184841115610fe95760405162461bcd60e51b815260040161044491906115e3565b506000610ff6848661197c565b95945050505050565b600e546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156109a1573d6000803e3d6000fd5b60006008548211156110a05760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610444565b60006110aa611278565b9050610ab68382610abd565b6010805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106110fe576110fe6118dc565b6001600160a01b03928316602091820292909201810191909152600f54604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561115257600080fd5b505afa158015611166573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061118a9190611874565b8160018151811061119d5761119d6118dc565b6001600160a01b039283166020918202929092010152600f546111c39130911684610aff565b600f5460405163791ac94760e01b81526001600160a01b039091169063791ac947906111fc908590600090869030904290600401611993565b600060405180830381600087803b15801561121657600080fd5b505af115801561122a573d6000803e3d6000fd5b50506010805460ff60a81b1916905550505050565b600081836112605760405162461bcd60e51b815260040161044491906115e3565b506000610ff68486611942565b610fc083838361129b565b6000806000611285611392565b90925090506112948282610abd565b9250505090565b6000806000806000806112ad876113d2565b6001600160a01b038f16600090815260026020526040902054959b509399509197509550935091506112df908761142f565b6001600160a01b03808b1660009081526002602052604080822093909355908a168152205461130e9086611471565b6001600160a01b038916600090815260026020526040902055611330816114d0565b61133a848361151a565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161137f91815260200190565b60405180910390a3505050505050505050565b6008546000908190670de0b6b3a76400006113ad8282610abd565b8210156113c957505060085492670de0b6b3a764000092509050565b90939092509050565b60008060008060008060008060006113ef8a600b54600c5461153e565b92509250925060006113ff611278565b905060008060006114128e878787611593565b919e509c509a509598509396509194505050505091939550919395565b6000610ab683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610fc5565b60008061147e8385611964565b905083811015610ab65760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610444565b60006114da611278565b905060006114e88383610a37565b306000908152600260205260409020549091506115059082611471565b30600090815260026020526040902055505050565b600854611527908361142f565b6008556009546115379082611471565b6009555050565b600080808061155860646115528989610a37565b90610abd565b9050600061156b60646115528a89610a37565b905060006115838261157d8b8661142f565b9061142f565b9992985090965090945050505050565b60008080806115a28886610a37565b905060006115b08887610a37565b905060006115be8888610a37565b905060006115d08261157d868661142f565b939b939a50919850919650505050505050565b600060208083528351808285015260005b81811015611610578581018301518582016040015282016115f4565b81811115611622576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461049557600080fd5b803561165881611638565b919050565b6000806040838503121561167057600080fd5b823561167b81611638565b946020939093013593505050565b60008060006060848603121561169e57600080fd5b83356116a981611638565b925060208401356116b981611638565b929592945050506040919091013590565b801515811461049557600080fd5b6000602082840312156116ea57600080fd5b8135610ab6816116ca565b60006020828403121561170757600080fd5b8135610ab681611638565b60006020828403121561172457600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b6000602080838503121561175457600080fd5b823567ffffffffffffffff8082111561176c57600080fd5b818501915085601f83011261178057600080fd5b8135818111156117925761179261172b565b8060051b604051601f19603f830116810181811085821117156117b7576117b761172b565b6040529182528482019250838101850191888311156117d557600080fd5b938501935b828510156117fa576117eb8561164d565b845293850193928501926117da565b98975050505050505050565b6000806040838503121561181957600080fd5b823561182481611638565b9150602083013561183481611638565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60006020828403121561188657600080fd5b8151610ab681611638565b6000806000606084860312156118a657600080fd5b8351925060208401519150604084015190509250925092565b6000602082840312156118d157600080fd5b8151610ab6816116ca565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060001982141561191c5761191c6118f2565b5060010190565b600081600019048311821515161561193d5761193d6118f2565b500290565b60008261195f57634e487b7160e01b600052601260045260246000fd5b500490565b60008219821115611977576119776118f2565b500190565b60008282101561198e5761198e6118f2565b500390565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156119e35784516001600160a01b0316835293830193918301916001016119be565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212208386e9c479fdb2a44d5970ce99d3c85f700a247639e48a39f7695dc74115ca4564736f6c63430008090033

Deployed Bytecode

0x60806040526004361061010d5760003560e01c8063751039fc11610095578063a9059cbb11610064578063a9059cbb146102ea578063c3c8cd801461030a578063c9567bf91461031f578063ccfee5d614610334578063dd62ed3e1461035457600080fd5b8063751039fc1461025d578063843f7be2146102725780638da5cb5b1461029257806395d89b41146102ba57600080fd5b8063313ce567116100dc578063313ce567146101d55780635932ead1146101f15780636fc3eaec1461021357806370a0823114610228578063715018a61461024857600080fd5b806306fdde0314610119578063095ea7b31461016057806318160ddd1461019057806323b872dd146101b557600080fd5b3661011457005b600080fd5b34801561012557600080fd5b5060408051808201909152600c81526b43726970706c6520446f676560a01b60208201525b60405161015791906115e3565b60405180910390f35b34801561016c57600080fd5b5061018061017b36600461165d565b61039a565b6040519015158152602001610157565b34801561019c57600080fd5b50670de0b6b3a76400005b604051908152602001610157565b3480156101c157600080fd5b506101806101d0366004611689565b6103b1565b3480156101e157600080fd5b5060405160098152602001610157565b3480156101fd57600080fd5b5061021161020c3660046116d8565b61041a565b005b34801561021f57600080fd5b5061021161046b565b34801561023457600080fd5b506101a76102433660046116f5565b610498565b34801561025457600080fd5b506102116104ba565b34801561026957600080fd5b5061021161052e565b34801561027e57600080fd5b5061021161028d366004611712565b61056b565b34801561029e57600080fd5b506000546040516001600160a01b039091168152602001610157565b3480156102c657600080fd5b5060408051808201909152600781526643524950504c4560c81b602082015261014a565b3480156102f657600080fd5b5061018061030536600461165d565b6105a8565b34801561031657600080fd5b506102116105b5565b34801561032b57600080fd5b506102116105eb565b34801561034057600080fd5b5061021161034f366004611741565b6109a5565b34801561036057600080fd5b506101a761036f366004611806565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b60006103a7338484610aff565b5060015b92915050565b60006103be848484610c23565b610410843361040b85604051806060016040528060288152602001611a05602891396001600160a01b038a1660009081526004602090815260408083203384529091529020549190610fc5565b610aff565b5060019392505050565b6000546001600160a01b0316331461044d5760405162461bcd60e51b81526004016104449061183f565b60405180910390fd5b60108054911515600160b81b0260ff60b81b19909216919091179055565b600e546001600160a01b0316336001600160a01b03161461048b57600080fd5b4761049581610fff565b50565b6001600160a01b0381166000908152600260205260408120546103ab90611039565b6000546001600160a01b031633146104e45760405162461bcd60e51b81526004016104449061183f565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146105585760405162461bcd60e51b81526004016104449061183f565b670de0b6b3a76400006011819055601255565b6000546001600160a01b031633146105955760405162461bcd60e51b81526004016104449061183f565b600d5481106105a357600080fd5b600d55565b60006103a7338484610c23565b600e546001600160a01b0316336001600160a01b0316146105d557600080fd5b60006105e030610498565b9050610495816110b6565b6000546001600160a01b031633146106155760405162461bcd60e51b81526004016104449061183f565b601054600160a01b900460ff161561066f5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610444565b600f80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556106ab3082670de0b6b3a7640000610aff565b806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156106e457600080fd5b505afa1580156106f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061071c9190611874565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561076457600080fd5b505afa158015610778573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061079c9190611874565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b1580156107e457600080fd5b505af11580156107f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061081c9190611874565b601080546001600160a01b0319166001600160a01b03928316179055600f541663f305d719473061084c81610498565b6000806108616000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b1580156108c457600080fd5b505af11580156108d8573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906108fd9190611891565b50506010805463ffff00ff60a01b198116630101000160a01b17909155600f5460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b390604401602060405180830381600087803b15801561096957600080fd5b505af115801561097d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109a191906118bf565b5050565b6000546001600160a01b031633146109cf5760405162461bcd60e51b81526004016104449061183f565b60005b81518110156109a1576001600660008484815181106109f3576109f36118dc565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580610a2f81611908565b9150506109d2565b600082610a46575060006103ab565b6000610a528385611923565b905082610a5f8583611942565b14610ab65760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610444565b9392505050565b6000610ab683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061123f565b6001600160a01b038316610b615760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610444565b6001600160a01b038216610bc25760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610444565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610c875760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610444565b6001600160a01b038216610ce95760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610444565b60008111610d4b5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610444565b6000546001600160a01b03848116911614801590610d7757506000546001600160a01b03838116911614155b15610faa576001600160a01b03831660009081526006602052604090205460ff16158015610dbe57506001600160a01b03821660009081526006602052604090205460ff16155b610dc757600080fd5b6000600b55600d54600c556010546001600160a01b038481169116148015610dfd5750600f546001600160a01b03838116911614155b8015610e2257506001600160a01b03821660009081526005602052604090205460ff16155b8015610e375750601054600160b81b900460ff165b15610f1f57601154610e4a906001611964565b811115610e995760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610444565b601254610ea7906001611964565b81610eb184610498565b610ebb9190611964565b1115610f095760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610444565b600a8054906000610f1983611908565b91905055505b6000610f2a30610498565b601054909150600160a81b900460ff16158015610f5557506010546001600160a01b03858116911614155b8015610f6a5750601054600160b01b900460ff165b8015610f765750600081115b8015610f845750601e600a54115b15610fa457610f92816110b6565b478015610fa257610fa247610fff565b505b50610fb5565b6000600b819055600c555b610fc083838361126d565b505050565b60008184841115610fe95760405162461bcd60e51b815260040161044491906115e3565b506000610ff6848661197c565b95945050505050565b600e546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156109a1573d6000803e3d6000fd5b60006008548211156110a05760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610444565b60006110aa611278565b9050610ab68382610abd565b6010805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106110fe576110fe6118dc565b6001600160a01b03928316602091820292909201810191909152600f54604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561115257600080fd5b505afa158015611166573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061118a9190611874565b8160018151811061119d5761119d6118dc565b6001600160a01b039283166020918202929092010152600f546111c39130911684610aff565b600f5460405163791ac94760e01b81526001600160a01b039091169063791ac947906111fc908590600090869030904290600401611993565b600060405180830381600087803b15801561121657600080fd5b505af115801561122a573d6000803e3d6000fd5b50506010805460ff60a81b1916905550505050565b600081836112605760405162461bcd60e51b815260040161044491906115e3565b506000610ff68486611942565b610fc083838361129b565b6000806000611285611392565b90925090506112948282610abd565b9250505090565b6000806000806000806112ad876113d2565b6001600160a01b038f16600090815260026020526040902054959b509399509197509550935091506112df908761142f565b6001600160a01b03808b1660009081526002602052604080822093909355908a168152205461130e9086611471565b6001600160a01b038916600090815260026020526040902055611330816114d0565b61133a848361151a565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161137f91815260200190565b60405180910390a3505050505050505050565b6008546000908190670de0b6b3a76400006113ad8282610abd565b8210156113c957505060085492670de0b6b3a764000092509050565b90939092509050565b60008060008060008060008060006113ef8a600b54600c5461153e565b92509250925060006113ff611278565b905060008060006114128e878787611593565b919e509c509a509598509396509194505050505091939550919395565b6000610ab683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610fc5565b60008061147e8385611964565b905083811015610ab65760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610444565b60006114da611278565b905060006114e88383610a37565b306000908152600260205260409020549091506115059082611471565b30600090815260026020526040902055505050565b600854611527908361142f565b6008556009546115379082611471565b6009555050565b600080808061155860646115528989610a37565b90610abd565b9050600061156b60646115528a89610a37565b905060006115838261157d8b8661142f565b9061142f565b9992985090965090945050505050565b60008080806115a28886610a37565b905060006115b08887610a37565b905060006115be8888610a37565b905060006115d08261157d868661142f565b939b939a50919850919650505050505050565b600060208083528351808285015260005b81811015611610578581018301518582016040015282016115f4565b81811115611622576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461049557600080fd5b803561165881611638565b919050565b6000806040838503121561167057600080fd5b823561167b81611638565b946020939093013593505050565b60008060006060848603121561169e57600080fd5b83356116a981611638565b925060208401356116b981611638565b929592945050506040919091013590565b801515811461049557600080fd5b6000602082840312156116ea57600080fd5b8135610ab6816116ca565b60006020828403121561170757600080fd5b8135610ab681611638565b60006020828403121561172457600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b6000602080838503121561175457600080fd5b823567ffffffffffffffff8082111561176c57600080fd5b818501915085601f83011261178057600080fd5b8135818111156117925761179261172b565b8060051b604051601f19603f830116810181811085821117156117b7576117b761172b565b6040529182528482019250838101850191888311156117d557600080fd5b938501935b828510156117fa576117eb8561164d565b845293850193928501926117da565b98975050505050505050565b6000806040838503121561181957600080fd5b823561182481611638565b9150602083013561183481611638565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60006020828403121561188657600080fd5b8151610ab681611638565b6000806000606084860312156118a657600080fd5b8351925060208401519150604084015190509250925092565b6000602082840312156118d157600080fd5b8151610ab6816116ca565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060001982141561191c5761191c6118f2565b5060010190565b600081600019048311821515161561193d5761193d6118f2565b500290565b60008261195f57634e487b7160e01b600052601260045260246000fd5b500490565b60008219821115611977576119776118f2565b500190565b60008282101561198e5761198e6118f2565b500390565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156119e35784516001600160a01b0316835293830193918301916001016119be565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212208386e9c479fdb2a44d5970ce99d3c85f700a247639e48a39f7695dc74115ca4564736f6c63430008090033

Deployed Bytecode Sourcemap

3552:10260:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5362:83;;;;;;;;;;-1:-1:-1;5432:5:0;;;;;;;;;;;;-1:-1:-1;;;5432:5:0;;;;5362:83;;;;;;;:::i;:::-;;;;;;;;6214:161;;;;;;;;;;-1:-1:-1;6214:161:0;;;;;:::i;:::-;;:::i;:::-;;;1376:14:1;;1369:22;1351:41;;1339:2;1324:18;6214:161:0;1211:187:1;5639:95:0;;;;;;;;;;-1:-1:-1;4056:18:0;5639:95;;;1549:25:1;;;1537:2;1522:18;5639:95:0;1403:177:1;6383:313:0;;;;;;;;;;-1:-1:-1;6383:313:0;;;;;:::i;:::-;;:::i;5548:83::-;;;;;;;;;;-1:-1:-1;5548:83:0;;4492:1;2188:36:1;;2176:2;2161:18;5548:83:0;2046:184:1;6704:103:0;;;;;;;;;;-1:-1:-1;6704:103:0;;;;;:::i;:::-;;:::i;:::-;;11690:193;;;;;;;;;;;;;:::i;5917:138::-;;;;;;;;;;-1:-1:-1;5917:138:0;;;;;:::i;:::-;;:::i;2633:148::-;;;;;;;;;;;;;:::i;9590:118::-;;;;;;;;;;;;;:::i;9347:131::-;;;;;;;;;;-1:-1:-1;9347:131:0;;;;;:::i;:::-;;:::i;2419:79::-;;;;;;;;;;-1:-1:-1;2457:7:0;2484:6;2419:79;;-1:-1:-1;;;;;2484:6:0;;;3187:51:1;;3175:2;3160:18;2419:79:0;3041:203:1;5453:87:0;;;;;;;;;;-1:-1:-1;5525:7:0;;;;;;;;;;;;-1:-1:-1;;;5525:7:0;;;;5453:87;;5742:167;;;;;;;;;;-1:-1:-1;5742:167:0;;;;;:::i;:::-;;:::i;11928:194::-;;;;;;;;;;;;;:::i;9716:773::-;;;;;;;;;;;;;:::i;10990:163::-;;;;;;;;;;-1:-1:-1;10990:163:0;;;;;:::i;:::-;;:::i;6063:143::-;;;;;;;;;;-1:-1:-1;6063:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6171:18:0;;;6144:7;6171:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6063:143;6214:161;6289:4;6306:39;217:10;6329:7;6338:6;6306:8;:39::i;:::-;-1:-1:-1;6363:4:0;6214:161;;;;;:::o;6383:313::-;6481:4;6498:36;6508:6;6516:9;6527:6;6498:9;:36::i;:::-;6545:121;6554:6;217:10;6576:89;6614:6;6576:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6576:19:0;;;;;;:11;:19;;;;;;;;217:10;6576:33;;;;;;;;;;:37;:89::i;:::-;6545:8;:121::i;:::-;-1:-1:-1;6684:4:0;6383:313;;;;;:::o;6704:103::-;2546:6;;-1:-1:-1;;;;;2546:6:0;217:10;2546:22;2538:67;;;;-1:-1:-1;;;2538:67:0;;;;;;;:::i;:::-;;;;;;;;;6776:15:::1;:23:::0;;;::::1;;-1:-1:-1::0;;;6776:23:0::1;-1:-1:-1::0;;;;6776:23:0;;::::1;::::0;;;::::1;::::0;;6704:103::o;11690:193::-;11756:14;;-1:-1:-1;;;;;11756:14:0;217:10;-1:-1:-1;;;;;11740:30:0;;11732:39;;;;;;11811:21;11843:32;11811:21;11843:12;:32::i;:::-;11721:162;11690:193::o;5917:138::-;-1:-1:-1;;;;;6030:16:0;;5983:7;6030:16;;;:7;:16;;;;;;6010:37;;:19;:37::i;2633:148::-;2546:6;;-1:-1:-1;;;;;2546:6:0;217:10;2546:22;2538:67;;;;-1:-1:-1;;;2538:67:0;;;;;;;:::i;:::-;2740:1:::1;2724:6:::0;;2703:40:::1;::::0;-1:-1:-1;;;;;2724:6:0;;::::1;::::0;2703:40:::1;::::0;2740:1;;2703:40:::1;2771:1;2754:19:::0;;-1:-1:-1;;;;;;2754:19:0::1;::::0;;2633:148::o;9590:118::-;2546:6;;-1:-1:-1;;;;;2546:6:0;217:10;2546:22;2538:67;;;;-1:-1:-1;;;2538:67:0;;;;;;;:::i;:::-;4056:18:::1;9643:12;:22:::0;;;9676:14:::1;:24:::0;9590:118::o;9347:131::-;2546:6;;-1:-1:-1;;;;;2546:6:0;217:10;2546:22;2538:67;;;;-1:-1:-1;;;2538:67:0;;;;;;;:::i;:::-;9429:12:::1;;9422:6;:19;9414:28;;;::::0;::::1;;9451:12;:19:::0;9347:131::o;5742:167::-;5820:4;5837:42;217:10;5861:9;5872:6;5837:9;:42::i;11928:194::-;11994:14;;-1:-1:-1;;;;;11994:14:0;217:10;-1:-1:-1;;;;;11978:30:0;;11970:39;;;;;;12020:23;12046:24;12064:4;12046:9;:24::i;:::-;12020:50;;12081:33;12098:15;12081:16;:33::i;9716:773::-;2546:6;;-1:-1:-1;;;;;2546:6:0;217:10;2546:22;2538:67;;;;-1:-1:-1;;;2538:67:0;;;;;;;:::i;:::-;9780:11:::1;::::0;-1:-1:-1;;;9780:11:0;::::1;;;9779:12;9771:47;;;::::0;-1:-1:-1;;;9771:47:0;;5463:2:1;9771:47:0::1;::::0;::::1;5445:21:1::0;5502:2;5482:18;;;5475:30;5541:25;5521:18;;;5514:53;5584:18;;9771:47:0::1;5261:347:1::0;9771:47:0::1;9940:15;:34:::0;;-1:-1:-1;;;;;;9940:34:0::1;9886:42;9940:34:::0;;::::1;::::0;;;9985:58:::1;10002:4;9886:42:::0;4056:18:::1;9985:8;:58::i;:::-;10088:16;-1:-1:-1::0;;;;;10088:24:0::1;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10070:56:0::1;;10135:4;10142:16;-1:-1:-1::0;;;;;10142:21:0::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10070:96;::::0;-1:-1:-1;;;;;;10070:96:0::1;::::0;;;;;;-1:-1:-1;;;;;6099:15:1;;;10070:96:0::1;::::0;::::1;6081:34:1::0;6151:15;;6131:18;;;6124:43;6016:18;;10070:96:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10054:13;:112:::0;;-1:-1:-1;;;;;;10054:112:0::1;-1:-1:-1::0;;;;;10054:112:0;;::::1;;::::0;;10177:15:::1;::::0;::::1;:31;10216:21;10247:4;10253:24;10247:4:::0;10253:9:::1;:24::i;:::-;10278:1;10280::::0;10282:7:::1;2457::::0;2484:6;-1:-1:-1;;;;;2484:6:0;;2419:79;10282:7:::1;10177:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;10177:129:0;;;-1:-1:-1;;;;;6537:15:1;;;10177:129:0::1;::::0;::::1;6519:34:1::0;6569:18;;;6562:34;;;;6612:18;;;6605:34;;;;6655:18;;;6648:34;6719:15;;;6698:19;;;6691:44;10290:15:0::1;6751:19:1::0;;;6744:35;6453:19;;10177:129:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;10317:11:0::1;:18:::0;;-1:-1:-1;;;;10381:18:0;;-1:-1:-1;;;10381:18:0;;;;10448:15:::1;::::0;10410:71:::1;::::0;-1:-1:-1;;;10410:71:0;;-1:-1:-1;;;;;10448:15:0;;::::1;10410:71;::::0;::::1;7275:51:1::0;-1:-1:-1;;7342:18:1;;;7335:34;10417:13:0;;;-1:-1:-1;10410:29:0::1;::::0;7248:18:1;;10410:71:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;9760:729;9716:773::o:0;10990:163::-;2546:6;;-1:-1:-1;;;;;2546:6:0;217:10;2546:22;2538:67;;;;-1:-1:-1;;;2538:67:0;;;;;;;:::i;:::-;11063:6:::1;11058:88;11079:5;:12;11075:1;:16;11058:88;;;11130:4;11113;:14;11118:5;11124:1;11118:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;11113:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;11113:14:0;:21;;-1:-1:-1;;11113:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;11093:3;::::1;::::0;::::1;:::i;:::-;;;;11058:88;;1472:246:::0;1530:7;1554:6;1550:47;;-1:-1:-1;1584:1:0;1577:8;;1550:47;1607:9;1619:5;1623:1;1619;:5;:::i;:::-;1607:17;-1:-1:-1;1652:1:0;1643:5;1647:1;1607:17;1643:5;:::i;:::-;:10;1635:56;;;;-1:-1:-1;;;1635:56:0;;8631:2:1;1635:56:0;;;8613:21:1;8670:2;8650:18;;;8643:30;8709:34;8689:18;;;8682:62;-1:-1:-1;;;8760:18:1;;;8753:31;8801:19;;1635:56:0;8429:397:1;1635:56:0;1709:1;1472:246;-1:-1:-1;;;1472:246:0:o;1726:132::-;1784:7;1811:39;1815:1;1818;1811:39;;;;;;;;;;;;;;;;;:3;:39::i;7077:335::-;-1:-1:-1;;;;;7170:19:0;;7162:68;;;;-1:-1:-1;;;7162:68:0;;9033:2:1;7162:68:0;;;9015:21:1;9072:2;9052:18;;;9045:30;9111:34;9091:18;;;9084:62;-1:-1:-1;;;9162:18:1;;;9155:34;9206:19;;7162:68:0;8831:400:1;7162:68:0;-1:-1:-1;;;;;7249:21:0;;7241:68;;;;-1:-1:-1;;;7241:68:0;;9438:2:1;7241:68:0;;;9420:21:1;9477:2;9457:18;;;9450:30;9516:34;9496:18;;;9489:62;-1:-1:-1;;;9567:18:1;;;9560:32;9609:19;;7241:68:0;9236:398:1;7241:68:0;-1:-1:-1;;;;;7320:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7372:32;;1549:25:1;;;7372:32:0;;1522:18:1;7372:32:0;;;;;;;7077:335;;;:::o;7420:1428::-;-1:-1:-1;;;;;7508:18:0;;7500:68;;;;-1:-1:-1;;;7500:68:0;;9841:2:1;7500:68:0;;;9823:21:1;9880:2;9860:18;;;9853:30;9919:34;9899:18;;;9892:62;-1:-1:-1;;;9970:18:1;;;9963:35;10015:19;;7500:68:0;9639:401:1;7500:68:0;-1:-1:-1;;;;;7587:16:0;;7579:64;;;;-1:-1:-1;;;7579:64:0;;10247:2:1;7579:64:0;;;10229:21:1;10286:2;10266:18;;;10259:30;10325:34;10305:18;;;10298:62;-1:-1:-1;;;10376:18:1;;;10369:33;10419:19;;7579:64:0;10045:399:1;7579:64:0;7671:1;7662:6;:10;7654:64;;;;-1:-1:-1;;;7654:64:0;;10651:2:1;7654:64:0;;;10633:21:1;10690:2;10670:18;;;10663:30;10729:34;10709:18;;;10702:62;-1:-1:-1;;;10780:18:1;;;10773:39;10829:19;;7654:64:0;10449:405:1;7654:64:0;2457:7;2484:6;-1:-1:-1;;;;;7737:15:0;;;2484:6;;7737:15;;;;:32;;-1:-1:-1;2457:7:0;2484:6;-1:-1:-1;;;;;7756:13:0;;;2484:6;;7756:13;;7737:32;7733:1065;;;-1:-1:-1;;;;;7795:10:0;;;;;;:4;:10;;;;;;;;7794:11;:24;;;;-1:-1:-1;;;;;;7810:8:0;;;;;;:4;:8;;;;;;;;7809:9;7794:24;7786:33;;;;;;7846:1;7834:9;:13;7874:12;;7862:9;:24;7913:13;;-1:-1:-1;;;;;7905:21:0;;;7913:13;;7905:21;:55;;;;-1:-1:-1;7944:15:0;;-1:-1:-1;;;;;7930:30:0;;;7944:15;;7930:30;;7905:55;:83;;;;-1:-1:-1;;;;;;7966:22:0;;;;;;:18;:22;;;;;;;;7964:24;7905:83;:102;;;;-1:-1:-1;7992:15:0;;-1:-1:-1;;;7992:15:0;;;;7905:102;7901:368;;;8075:12;;:16;;8090:1;8075:16;:::i;:::-;8065:6;:26;;8057:64;;;;-1:-1:-1;;;8057:64:0;;11194:2:1;8057:64:0;;;11176:21:1;11233:2;11213:18;;;11206:30;11272:27;11252:18;;;11245:55;11317:18;;8057:64:0;10992:349:1;8057:64:0;8174:14;;:18;;8191:1;8174:18;:::i;:::-;8164:6;8148:13;8158:2;8148:9;:13::i;:::-;:22;;;;:::i;:::-;:44;;8140:83;;;;-1:-1:-1;;;8140:83:0;;11548:2:1;8140:83:0;;;11530:21:1;11587:2;11567:18;;;11560:30;11626:28;11606:18;;;11599:56;11672:18;;8140:83:0;11346:350:1;8140:83:0;8242:9;:11;;;:9;:11;;;:::i;:::-;;;;;;7901:368;8287:28;8318:24;8336:4;8318:9;:24::i;:::-;8362:6;;8287:55;;-1:-1:-1;;;;8362:6:0;;;;8361:7;:32;;;;-1:-1:-1;8380:13:0;;-1:-1:-1;;;;;8372:21:0;;;8380:13;;8372:21;;8361:32;:47;;;;-1:-1:-1;8397:11:0;;-1:-1:-1;;;8397:11:0;;;;8361:47;:73;;;;;8433:1;8412:20;:22;8361:73;:91;;;;;8450:2;8438:9;;:14;8361:91;8357:362;;;8473:38;8490:20;8473:16;:38::i;:::-;8559:21;8602:22;;8599:105;;8649:35;8662:21;8649:12;:35::i;:::-;8454:265;8357:362;7771:959;7733:1065;;;8759:1;8747:9;:13;;;8773:9;:13;7733:1065;8810:30;8825:4;8830:2;8833:6;8810:14;:30::i;:::-;7420:1428;;;:::o;1274:190::-;1360:7;1396:12;1388:6;;;;1380:29;;;;-1:-1:-1;;;1380:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1420:9:0;1432:5;1436:1;1432;:5;:::i;:::-;1420:17;1274:190;-1:-1:-1;;;;;1274:190:0:o;9486:96::-;9543:14;;:31;;-1:-1:-1;;;;;9543:14:0;;;;:31;;;;;9567:6;;9543:14;:31;:14;:31;9567:6;9543:14;:31;;;;;;;;;;;;;;;;;;;6815:254;6882:7;6921;;6910;:18;;6902:73;;;;-1:-1:-1;;;6902:73:0;;12033:2:1;6902:73:0;;;12015:21:1;12072:2;12052:18;;;12045:30;12111:34;12091:18;;;12084:62;-1:-1:-1;;;12162:18:1;;;12155:40;12212:19;;6902:73:0;11831:406:1;6902:73:0;6986:19;7009:10;:8;:10::i;:::-;6986:33;-1:-1:-1;7037:24:0;:7;6986:33;7037:11;:24::i;8856:483::-;4940:6;:13;;-1:-1:-1;;;;4940:13:0;-1:-1:-1;;;4940:13:0;;;8958:16:::1;::::0;;8972:1:::1;8958:16:::0;;;;;::::1;::::0;;-1:-1:-1;;8958:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;8958:16:0::1;8934:40;;9003:4;8985;8990:1;8985:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8985:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;9029:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;9029:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;8985:7;;9029:22;;;;;:15;:22;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9019:4;9024:1;9019:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9019:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;9094:15:::1;::::0;9062:62:::1;::::0;9079:4:::1;::::0;9094:15:::1;9112:11:::0;9062:8:::1;:62::i;:::-;9135:15;::::0;:196:::1;::::0;-1:-1:-1;;;9135:196:0;;-1:-1:-1;;;;;9135:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;9216:11;;9135:15:::1;::::0;9258:4;;9285::::1;::::0;9305:15:::1;::::0;9135:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;4976:6:0;:14;;-1:-1:-1;;;;4976:14:0;;;-1:-1:-1;;;;8856:483:0:o;1866:189::-;1952:7;1987:12;1980:5;1972:28;;;;-1:-1:-1;;;1972:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2011:9:0;2023:5;2027:1;2023;:5;:::i;11161:146::-;11255:44;11273:6;11281:9;11292:6;11255:17;:44::i;13382:163::-;13423:7;13444:15;13461;13480:19;:17;:19::i;:::-;13443:56;;-1:-1:-1;13443:56:0;-1:-1:-1;13517:20:0;13443:56;;13517:11;:20::i;:::-;13510:27;;;;13382:163;:::o;10497:487::-;10596:15;10613:23;10638:12;10652:23;10677:12;10691:13;10708:19;10719:7;10708:10;:19::i;:::-;-1:-1:-1;;;;;10756:15:0;;;;;;:7;:15;;;;;;10595:132;;-1:-1:-1;10595:132:0;;-1:-1:-1;10595:132:0;;-1:-1:-1;10595:132:0;-1:-1:-1;10595:132:0;-1:-1:-1;10595:132:0;-1:-1:-1;10756:28:0;;10595:132;10756:19;:28::i;:::-;-1:-1:-1;;;;;10738:15:0;;;;;;;:7;:15;;;;;;:46;;;;10816:18;;;;;;;:39;;10839:15;10816:22;:39::i;:::-;-1:-1:-1;;;;;10795:18:0;;;;;;:7;:18;;;;;:60;10866:16;10876:5;10866:9;:16::i;:::-;10893:23;10905:4;10911;10893:11;:23::i;:::-;10949:9;-1:-1:-1;;;;;10932:44:0;10941:6;-1:-1:-1;;;;;10932:44:0;;10960:15;10932:44;;;;1549:25:1;;1537:2;1522:18;;1403:177;10932:44:0;;;;;;;;10584:400;;;;;;10497:487;;;:::o;13553:256::-;13650:7;;13603;;;;4056:18;13718:20;13650:7;4056:18;13718:11;:20::i;:::-;13708:7;:30;13704:61;;;-1:-1:-1;;13748:7:0;;;4056:18;;-1:-1:-1;13553:256:0;-1:-1:-1;13553:256:0:o;13704:61::-;13784:7;;13793;;-1:-1:-1;13553:256:0;-1:-1:-1;13553:256:0:o;12130:471::-;12189:7;12198;12207;12216;12225;12234;12255:23;12280:12;12294:13;12311:42;12323:7;12332:9;;12343;;12311:11;:42::i;:::-;12254:99;;;;;;12364:19;12387:10;:8;:10::i;:::-;12364:33;;12409:15;12426:23;12451:12;12467:46;12479:7;12488:4;12494:5;12501:11;12467;:46::i;:::-;12408:105;;-1:-1:-1;12408:105:0;-1:-1:-1;12408:105:0;-1:-1:-1;12564:15:0;;-1:-1:-1;12581:4:0;;-1:-1:-1;12587:5:0;;-1:-1:-1;;;;;12130:471:0;;;;;;;:::o;1130:136::-;1188:7;1215:43;1219:1;1222;1215:43;;;;;;;;;;;;;;;;;:3;:43::i;943:179::-;1001:7;;1033:5;1037:1;1033;:5;:::i;:::-;1021:17;;1062:1;1057;:6;;1049:46;;;;-1:-1:-1;;;1049:46:0;;13429:2:1;1049:46:0;;;13411:21:1;13468:2;13448:18;;;13441:30;13507:29;13487:18;;;13480:57;13554:18;;1049:46:0;13227:351:1;11315:212:0;11368:19;11391:10;:8;:10::i;:::-;11368:33;-1:-1:-1;11412:13:0;11428:22;:5;11368:33;11428:9;:22::i;:::-;11502:4;11486:22;;;;:7;:22;;;;;;11412:38;;-1:-1:-1;11486:33:0;;11412:38;11486:26;:33::i;:::-;11477:4;11461:22;;;;:7;:22;;;;;:58;-1:-1:-1;;;11315:212:0:o;11535:147::-;11613:7;;:17;;11625:4;11613:11;:17::i;:::-;11603:7;:27;11654:10;;:20;;11669:4;11654:14;:20::i;:::-;11641:10;:33;-1:-1:-1;;11535:147:0:o;12609:351::-;12702:7;;;;12755:28;12779:3;12755:19;:7;12767:6;12755:11;:19::i;:::-;:23;;:28::i;:::-;12740:43;-1:-1:-1;12794:13:0;12810:29;12835:3;12810:20;:7;12822;12810:11;:20::i;:29::-;12794:45;-1:-1:-1;12850:23:0;12876:28;12794:45;12876:17;:7;12888:4;12876:11;:17::i;:::-;:21;;:28::i;:::-;12850:54;12940:4;;-1:-1:-1;12946:5:0;;-1:-1:-1;12609:351:0;;-1:-1:-1;;;;;12609:351:0:o;12968:409::-;13078:7;;;;13134:24;:7;13146:11;13134;:24::i;:::-;13116:42;-1:-1:-1;13169:12:0;13184:21;:4;13193:11;13184:8;:21::i;:::-;13169:36;-1:-1:-1;13216:13:0;13232:22;:5;13242:11;13232:9;:22::i;:::-;13216:38;-1:-1:-1;13265:23:0;13291:28;13216:38;13291:17;:7;13303:4;13291:11;:17::i;:28::-;13338:7;;;;-1:-1:-1;13364:4:0;;-1:-1:-1;12968:409:0;;-1:-1:-1;;;;;;;12968:409:0:o;14:597:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;452:6;449:1;446:13;443:91;;;522:1;517:2;508:6;497:9;493:22;489:31;482:42;443:91;-1:-1:-1;595:2:1;574:15;-1:-1:-1;;570:29:1;555:45;;;;602:2;551:54;;14:597;-1:-1:-1;;;14:597:1:o;616:131::-;-1:-1:-1;;;;;691:31:1;;681:42;;671:70;;737:1;734;727:12;752:134;820:20;;849:31;820:20;849:31;:::i;:::-;752:134;;;:::o;891:315::-;959:6;967;1020:2;1008:9;999:7;995:23;991:32;988:52;;;1036:1;1033;1026:12;988:52;1075:9;1062:23;1094:31;1119:5;1094:31;:::i;:::-;1144:5;1196:2;1181:18;;;;1168:32;;-1:-1:-1;;;891:315:1:o;1585:456::-;1662:6;1670;1678;1731:2;1719:9;1710:7;1706:23;1702:32;1699:52;;;1747:1;1744;1737:12;1699:52;1786:9;1773:23;1805:31;1830:5;1805:31;:::i;:::-;1855:5;-1:-1:-1;1912:2:1;1897:18;;1884:32;1925:33;1884:32;1925:33;:::i;:::-;1585:456;;1977:7;;-1:-1:-1;;;2031:2:1;2016:18;;;;2003:32;;1585:456::o;2235:118::-;2321:5;2314:13;2307:21;2300:5;2297:32;2287:60;;2343:1;2340;2333:12;2358:241;2414:6;2467:2;2455:9;2446:7;2442:23;2438:32;2435:52;;;2483:1;2480;2473:12;2435:52;2522:9;2509:23;2541:28;2563:5;2541:28;:::i;2604:247::-;2663:6;2716:2;2704:9;2695:7;2691:23;2687:32;2684:52;;;2732:1;2729;2722:12;2684:52;2771:9;2758:23;2790:31;2815:5;2790:31;:::i;2856:180::-;2915:6;2968:2;2956:9;2947:7;2943:23;2939:32;2936:52;;;2984:1;2981;2974:12;2936:52;-1:-1:-1;3007:23:1;;2856:180;-1:-1:-1;2856:180:1:o;3249:127::-;3310:10;3305:3;3301:20;3298:1;3291:31;3341:4;3338:1;3331:15;3365:4;3362:1;3355:15;3381:1121;3465:6;3496:2;3539;3527:9;3518:7;3514:23;3510:32;3507:52;;;3555:1;3552;3545:12;3507:52;3595:9;3582:23;3624:18;3665:2;3657:6;3654:14;3651:34;;;3681:1;3678;3671:12;3651:34;3719:6;3708:9;3704:22;3694:32;;3764:7;3757:4;3753:2;3749:13;3745:27;3735:55;;3786:1;3783;3776:12;3735:55;3822:2;3809:16;3844:2;3840;3837:10;3834:36;;;3850:18;;:::i;:::-;3896:2;3893:1;3889:10;3928:2;3922:9;3991:2;3987:7;3982:2;3978;3974:11;3970:25;3962:6;3958:38;4046:6;4034:10;4031:22;4026:2;4014:10;4011:18;4008:46;4005:72;;;4057:18;;:::i;:::-;4093:2;4086:22;4143:18;;;4177:15;;;;-1:-1:-1;4219:11:1;;;4215:20;;;4247:19;;;4244:39;;;4279:1;4276;4269:12;4244:39;4303:11;;;;4323:148;4339:6;4334:3;4331:15;4323:148;;;4405:23;4424:3;4405:23;:::i;:::-;4393:36;;4356:12;;;;4449;;;;4323:148;;;4490:6;3381:1121;-1:-1:-1;;;;;;;;3381:1121:1:o;4507:388::-;4575:6;4583;4636:2;4624:9;4615:7;4611:23;4607:32;4604:52;;;4652:1;4649;4642:12;4604:52;4691:9;4678:23;4710:31;4735:5;4710:31;:::i;:::-;4760:5;-1:-1:-1;4817:2:1;4802:18;;4789:32;4830:33;4789:32;4830:33;:::i;:::-;4882:7;4872:17;;;4507:388;;;;;:::o;4900:356::-;5102:2;5084:21;;;5121:18;;;5114:30;5180:34;5175:2;5160:18;;5153:62;5247:2;5232:18;;4900:356::o;5613:251::-;5683:6;5736:2;5724:9;5715:7;5711:23;5707:32;5704:52;;;5752:1;5749;5742:12;5704:52;5784:9;5778:16;5803:31;5828:5;5803:31;:::i;6790:306::-;6878:6;6886;6894;6947:2;6935:9;6926:7;6922:23;6918:32;6915:52;;;6963:1;6960;6953:12;6915:52;6992:9;6986:16;6976:26;;7042:2;7031:9;7027:18;7021:25;7011:35;;7086:2;7075:9;7071:18;7065:25;7055:35;;6790:306;;;;;:::o;7380:245::-;7447:6;7500:2;7488:9;7479:7;7475:23;7471:32;7468:52;;;7516:1;7513;7506:12;7468:52;7548:9;7542:16;7567:28;7589:5;7567:28;:::i;7630:127::-;7691:10;7686:3;7682:20;7679:1;7672:31;7722:4;7719:1;7712:15;7746:4;7743:1;7736:15;7762:127;7823:10;7818:3;7814:20;7811:1;7804:31;7854:4;7851:1;7844:15;7878:4;7875:1;7868:15;7894:135;7933:3;-1:-1:-1;;7954:17:1;;7951:43;;;7974:18;;:::i;:::-;-1:-1:-1;8021:1:1;8010:13;;7894:135::o;8034:168::-;8074:7;8140:1;8136;8132:6;8128:14;8125:1;8122:21;8117:1;8110:9;8103:17;8099:45;8096:71;;;8147:18;;:::i;:::-;-1:-1:-1;8187:9:1;;8034:168::o;8207:217::-;8247:1;8273;8263:132;;8317:10;8312:3;8308:20;8305:1;8298:31;8352:4;8349:1;8342:15;8380:4;8377:1;8370:15;8263:132;-1:-1:-1;8409:9:1;;8207:217::o;10859:128::-;10899:3;10930:1;10926:6;10923:1;10920:13;10917:39;;;10936:18;;:::i;:::-;-1:-1:-1;10972:9:1;;10859:128::o;11701:125::-;11741:4;11769:1;11766;11763:8;11760:34;;;11774:18;;:::i;:::-;-1:-1:-1;11811:9:1;;11701:125::o;12242:980::-;12504:4;12552:3;12541:9;12537:19;12583:6;12572:9;12565:25;12609:2;12647:6;12642:2;12631:9;12627:18;12620:34;12690:3;12685:2;12674:9;12670:18;12663:31;12714:6;12749;12743:13;12780:6;12772;12765:22;12818:3;12807:9;12803:19;12796:26;;12857:2;12849:6;12845:15;12831:29;;12878:1;12888:195;12902:6;12899:1;12896:13;12888:195;;;12967:13;;-1:-1:-1;;;;;12963:39:1;12951:52;;13058:15;;;;13023:12;;;;12999:1;12917:9;12888:195;;;-1:-1:-1;;;;;;;13139:32:1;;;;13134:2;13119:18;;13112:60;-1:-1:-1;;;13203:3:1;13188:19;13181:35;13100:3;12242:980;-1:-1:-1;;;12242:980:1:o

Swarm Source

ipfs://8386e9c479fdb2a44d5970ce99d3c85f700a247639e48a39f7695dc74115ca45

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.