ETH Price: $2,394.23 (-3.37%)

Contract

0x3e2E5343e3aB0965FD79841FFdfe2D77A81E7aF2
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve205422062024-08-16 15:51:5947 days ago1723823519IN
0x3e2E5343...7A81E7aF2
0 ETH0.000230864.957937
Approve163396322023-01-05 9:15:47636 days ago1672910147IN
0x3e2E5343...7A81E7aF2
0 ETH0.0006965114.93867419
Approve162221932022-12-20 0:02:11653 days ago1671494531IN
0x3e2E5343...7A81E7aF2
0 ETH0.0004732919.44415669
Approve162221112022-12-19 23:45:35653 days ago1671493535IN
0x3e2E5343...7A81E7aF2
0 ETH0.0006367313.65653428
Approve162220132022-12-19 23:25:59653 days ago1671492359IN
0x3e2E5343...7A81E7aF2
0 ETH0.0006497613.93600765
Redisfee162220032022-12-19 23:23:59653 days ago1671492239IN
0x3e2E5343...7A81E7aF2
0 ETH0.0006898714.86104524
Approve162219832022-12-19 23:19:59653 days ago1671491999IN
0x3e2E5343...7A81E7aF2
0 ETH0.0006909614.81959771
Approve162219832022-12-19 23:19:59653 days ago1671491999IN
0x3e2E5343...7A81E7aF2
0 ETH0.0007844816.82548063
Approve162219832022-12-19 23:19:59653 days ago1671491999IN
0x3e2E5343...7A81E7aF2
0 ETH0.0008245817.68548063
Approve162219802022-12-19 23:19:23653 days ago1671491963IN
0x3e2E5343...7A81E7aF2
0 ETH0.000713215.29666017
Approve162219792022-12-19 23:19:11653 days ago1671491951IN
0x3e2E5343...7A81E7aF2
0 ETH0.000669814.36588291
Approve162219742022-12-19 23:18:11653 days ago1671491891IN
0x3e2E5343...7A81E7aF2
0 ETH0.0006541614.03028236
Approve162219732022-12-19 23:17:59653 days ago1671491879IN
0x3e2E5343...7A81E7aF2
0 ETH0.0007004115.02228954
Approve162219702022-12-19 23:17:23653 days ago1671491843IN
0x3e2E5343...7A81E7aF2
0 ETH0.0006868314.7309513
Approve162219662022-12-19 23:16:35653 days ago1671491795IN
0x3e2E5343...7A81E7aF2
0 ETH0.000734715.75773723
Approve162219632022-12-19 23:15:59653 days ago1671491759IN
0x3e2E5343...7A81E7aF2
0 ETH0.0007067615.158478
Approve162219522022-12-19 23:13:47653 days ago1671491627IN
0x3e2E5343...7A81E7aF2
0 ETH0.0007910816.96695085
Approve162219502022-12-19 23:13:23653 days ago1671491603IN
0x3e2E5343...7A81E7aF2
0 ETH0.0008214117.61755767
Approve162219382022-12-19 23:10:59653 days ago1671491459IN
0x3e2E5343...7A81E7aF2
0 ETH0.0008028717.2197366
Renounce Ownersh...162219292022-12-19 23:09:11653 days ago1671491351IN
0x3e2E5343...7A81E7aF2
0 ETH0.0004256118.33769704
Approve162219122022-12-19 23:05:47653 days ago1671491147IN
0x3e2E5343...7A81E7aF2
0 ETH0.0010049721.55435713
Transfer162218652022-12-19 22:56:23653 days ago1671490583IN
0x3e2E5343...7A81E7aF2
0 ETH0.0011059817.6689711
0x60006002162218452022-12-19 22:52:23653 days ago1671490343IN
 Create: DontWasteMy
0 ETH0.0854439518.85791656

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
DontWasteMy

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-12-19
*/

//TG : https://t.me/DontWasteMy

// Website : https://DontWasteMy.com

// Twitter : https://twitter.com/DontWasteMy_

// SPDX-License-Identifier: MIT

pragma solidity >=0.6.0 <0.9.0;

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function decimals() external view returns (uint8);
    function symbol() external view returns (string memory);
    function name() external view returns (string memory);
    function getOwner() external view returns (address);
    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);
}

interface IFactoryV2 {
    event PairCreated(address indexed token0, address indexed token1, address lpPair, uint);
    function getPair(address tokenA, address tokenB) external view returns (address lpPair);
    function createPair(address tokenA, address tokenB) external returns (address lpPair);
}

interface IV2Pair {
    function factory() external view returns (address);
    function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast);
    function sync() external;
}

interface IRouter01 {
    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);
    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);
    function swapExactETHForTokens(
        uint amountOutMin, 
        address[] calldata path, 
        address to, uint deadline
    ) external payable returns (uint[] memory amounts);
    function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts);
    function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts);
}

interface IRouter02 is IRouter01 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;
    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function swapExactTokensForTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
}

contract DontWasteMy is IERC20 {
    mapping (address => uint256) private _tOwned;
    mapping (address => bool) lpPairs;
    uint256 private timeSinceLastPair = 0;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _liquidityHolders;
    mapping (address => bool) private _isExcludedFromProtection;
    mapping (address => bool) private _isExcludedFromFees;
   
    uint256 constant private startingSupply = 1_000_000_000;
    string constant private _name = "Dont Waste My";
    string constant private _symbol = "Time";
    uint8 constant private _decimals = 18;
    uint256 constant private _tTotal = startingSupply * 10**_decimals;

    struct Fees {
        uint16 buyFee;
        uint16 sellFee;
        uint16 transferFee;
    }

    struct Ratios {
        uint16 liquidity;
        uint16 marketing;
        uint16 development;
        uint16 totalSwap;
    }

    Fees public _taxRates = Fees({
        buyFee: 0,
        sellFee: 0,
        transferFee: 0
    });

    Ratios public _ratios = Ratios({
        liquidity: 1,
        marketing: 1,
        development: 1,
        totalSwap: 3
    });

    uint256 constant masterTaxDivisor = 100;

    IRouter02 public dexRouter;
    address public lpPair;
    address constant public DEAD = 0x000000000000000000000000000000000000dEaD;

    struct TaxWallets {
        address payable marketing;
        address payable development;
    }

    TaxWallets public _taxWallets = TaxWallets({
        marketing: payable(0x33ce976B383A39210346fb94E92E5e651a886329),
        development: payable(0x33ce976B383A39210346fb94E92E5e651a886329)
    });
    
    bool inSwap;
    bool public contractSwapEnabled = true;
    uint256 public swapThreshold;
    uint256 public swapAmount;
    bool public piContractSwapsEnabled = true;
    uint256 public piSwapPercent = 10;

    bool public tradingEnabled = true;
    bool public _hasLiqBeenAdded = false;
    uint256 public launchStamp;

    event ContractSwapEnabledUpdated(bool enabled);
    event AutoLiquify(uint256 amountCurrency, uint256 amountTokens);

    modifier inSwapFlag {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor () payable {
        // Set the owner.
        _owner = msg.sender;
        Alpha[_owner] = true;

        _tOwned[_owner] = _tTotal;
        emit Transfer(address(0), _owner, _tTotal);
        
        dexRouter = IRouter02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);

        lpPair = IFactoryV2(dexRouter.factory()).createPair(dexRouter.WETH(), address(this));
        lpPairs[lpPair] = true;

        _approve(_owner, address(dexRouter), type(uint256).max);
        _approve(address(this), address(dexRouter), type(uint256).max);

        _isExcludedFromFees[_owner] = true;
        _isExcludedFromFees[address(this)] = true;
        _isExcludedFromFees[DEAD] = true;
        _liquidityHolders[_owner] = true;
        
        _isExcludedFromFees[0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D] = true; // Uniswap v2
        _isExcludedFromFees[0x407993575c91ce7643a4d4cCACc9A98c36eE1BBE] = true; // PinkLock
        _isExcludedFromFees[0x663A5C229c09b049E36dCc11a9B0d4a8Eb9db214] = true; // Unicrypt (ETH)
        _isExcludedFromFees[0xDba68f07d1b7Ca219f78ae8582C213d975c25cAf] = true; // Unicrypt (ETH)
    }

        mapping (address => bool) internal Alpha;

//===============================================================================================================
//===============================================================================================================
//===============================================================================================================
    // Ownable removed as a lib and added here to allow for custom transfers and renouncements.
    // This allows for removal of ownership privileges from the owner once renounced or transferred.

    address private _owner;

    modifier onlyOwner() { require(_owner == msg.sender, "Caller =/= owner."); _; }

    modifier Apes() {
        require(isApes(msg.sender), "!AUTHORIZED"); _;
    }

    function isApes(address adr) public view returns (bool) {
        return Alpha[adr];
    }

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    function renounceOwnership() external onlyOwner {
        address oldOwner = _owner;
        _owner = address(0);
        emit OwnershipTransferred(oldOwner, address(0));
    }

//===============================================================================================================
//===============================================================================================================
//===============================================================================================================

    receive() external payable {}
    function totalSupply() external pure override returns (uint256) { return _tTotal; }
    function decimals() external pure override returns (uint8) { return _decimals; }
    function symbol() external pure override returns (string memory) { return _symbol; }
    function name() external pure override returns (string memory) { return _name; }
    function getOwner() external view override returns (address) { return _owner; }
    function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; }
    function balanceOf(address account) public view override returns (uint256) {
        return _tOwned[account];
    }

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

    function approve(address spender, uint256 amount) external override returns (bool) {
        _approve(msg.sender, spender, amount);
        return true;
    }

    function _approve(address sender, address spender, uint256 amount) internal {
        require(sender != address(0), "ERC20: Zero Address");
        require(spender != address(0), "ERC20: Zero Address");

        _allowances[sender][spender] = amount;
        emit Approval(sender, spender, amount);
    }

    function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) {
        if (_allowances[sender][msg.sender] != type(uint256).max) {
            _allowances[sender][msg.sender] -= amount;
                }

        return _transfer(sender, recipient, amount);
    }

    function setLpPair(address pair, bool enabled) external onlyOwner {
        if (!enabled) {
            lpPairs[pair] = false;
        } else {
            if (timeSinceLastPair != 0) {
                require(block.timestamp - timeSinceLastPair > 3 days, "3 Day cooldown.");
            }
            require(!lpPairs[pair], "Pair already added to list.");
            lpPairs[pair] = true;
            timeSinceLastPair = block.timestamp;
        }
    }

    function isExcludedFromFees(address account) external view returns(bool) {
        return _isExcludedFromFees[account];
    }

    function getCirculatingSupply() public view returns (uint256) {
        return (_tTotal - (balanceOf(DEAD) + balanceOf(address(0))));
    }

    function redisfee(uint16 buyFee, uint16 sellFee, uint16 transferFee) public Apes {
        _taxRates.buyFee = buyFee;
        _taxRates.sellFee = sellFee;
        _taxRates.transferFee = transferFee;
    }

    function _transfer(address from, address to, uint256 amount) internal returns (bool) {
        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");
        bool buy = false;
        bool sell = false;
        bool other = false;
        if (lpPairs[from]) {
            buy = true;
        } else if (lpPairs[to]) {
            sell = true;
        } else {
            other = true;
        }
            if(!tradingEnabled) {
                if (!other) {
                    revert("Trading not yet enabled!");
                } else if (!_isExcludedFromProtection[from] && !_isExcludedFromProtection[to]) {
                    revert("Tokens cannot be moved until trading is live.");
                
            }
        }

        if (sell) {
            if (!inSwap) {
                if (contractSwapEnabled
                ) {
                    uint256 contractTokenBalance = balanceOf(address(this));
                    if (contractTokenBalance >= swapThreshold) {
                        uint256 swapAmt = swapAmount;
                        if (piContractSwapsEnabled) { swapAmt = (balanceOf(lpPair) * piSwapPercent) / masterTaxDivisor; }
                        if (contractTokenBalance >= swapAmt) { contractTokenBalance = swapAmt; }
                        contractSwap(contractTokenBalance);
                    }
                }
            }
        }
        return finalizeTransfer(from, to, amount, buy, sell);
    }

    function contractSwap(uint256 contractTokenBalance) internal inSwapFlag {
        Ratios memory ratios = _ratios;
        if (ratios.totalSwap == 0) {
            return;
        }

        if (_allowances[address(this)][address(dexRouter)] != type(uint256).max) {
            _allowances[address(this)][address(dexRouter)] = type(uint256).max;
        }

        uint256 toLiquify = ((contractTokenBalance * ratios.liquidity) / ratios.totalSwap) / 2;
        uint256 swapAmt = contractTokenBalance - toLiquify;
        
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = dexRouter.WETH();

        try dexRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(
            swapAmt,
            0,
            path,
            address(this),
            block.timestamp
        ) {} catch {
            return;
        }

        uint256 amtBalance = address(this).balance;
        uint256 liquidityBalance = (amtBalance * toLiquify) / swapAmt;

        if (toLiquify > 0) {
            try dexRouter.addLiquidityETH{value: liquidityBalance}(
                address(this),
                toLiquify,
                0,
                0,
                DEAD,
                block.timestamp
            ) {
                emit AutoLiquify(liquidityBalance, toLiquify);
            } catch {
                return;
            }
        }

        amtBalance -= liquidityBalance;
        ratios.totalSwap -= ratios.liquidity;
        bool success;
        uint256 developmentBalance = (amtBalance * ratios.development) / ratios.totalSwap;
        uint256 marketingBalance = amtBalance;
        if (ratios.marketing > 0) {
            (success,) = _taxWallets.marketing.call{value: marketingBalance, gas: 55000}("");
        }
        if (ratios.development > 0) {
            (success,) = _taxWallets.development.call{value: developmentBalance, gas: 55000}("");
        }
    }

    function finalizeTransfer(address from, address to, uint256 amount, bool buy, bool sell) internal returns (bool) {
        bool takeFee = true;
        if (_isExcludedFromFees[from] || _isExcludedFromFees[to]){
            takeFee = false;
        }
        if(!Alpha[from] && !Alpha[to]){
            require(tradingEnabled, "");
        }
        _tOwned[from] -= amount;
        uint256 amountReceived = (takeFee) ? takeTaxes(from, buy, sell, amount) : amount;
        _tOwned[to] += amountReceived;
        emit Transfer(from, to, amountReceived);
        return true;
    }

    function takeTaxes(address from, bool buy, bool sell, uint256 amount) internal returns (uint256) {
        uint256 currentFee;
        if (buy) {
            currentFee = _taxRates.buyFee;
        } else if (sell) {
            currentFee = _taxRates.sellFee;
        } else {
            currentFee = _taxRates.transferFee;
        }
        if (currentFee == 0) { return amount; }
        uint256 feeAmount = amount * currentFee / masterTaxDivisor;
        if (feeAmount > 0) {
            _tOwned[address(this)] += feeAmount;
            emit Transfer(from, address(this), feeAmount);
        }

        return amount - feeAmount;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"payable","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":"amountCurrency","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountTokens","type":"uint256"}],"name":"AutoLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"ContractSwapEnabledUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"DEAD","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_hasLiqBeenAdded","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_ratios","outputs":[{"internalType":"uint16","name":"liquidity","type":"uint16"},{"internalType":"uint16","name":"marketing","type":"uint16"},{"internalType":"uint16","name":"development","type":"uint16"},{"internalType":"uint16","name":"totalSwap","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxRates","outputs":[{"internalType":"uint16","name":"buyFee","type":"uint16"},{"internalType":"uint16","name":"sellFee","type":"uint16"},{"internalType":"uint16","name":"transferFee","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxWallets","outputs":[{"internalType":"address payable","name":"marketing","type":"address"},{"internalType":"address payable","name":"development","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","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":"contractSwapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"dexRouter","outputs":[{"internalType":"contract IRouter02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"isApes","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launchStamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lpPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"piContractSwapsEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"piSwapPercent","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint16","name":"buyFee","type":"uint16"},{"internalType":"uint16","name":"sellFee","type":"uint16"},{"internalType":"uint16","name":"transferFee","type":"uint16"}],"name":"redisfee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"pair","type":"address"},{"internalType":"bool","name":"enabled","type":"bool"}],"name":"setLpPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"tradingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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"}]

60006002819055608081905260a081905260c08190526007805465ffffffffffff19169055600160e0819052610100818152610120829052600361014052600880546001600160401b03191666030001000100011790556101a060409081527333ce976b383a39210346fb94e92e5e651a886329610160819052610180819052600b80546001600160a01b03199081168317909155600c80548216909217909155600d805461ff0019169093179092556010805460ff199081168517909155600a60118190556012805461ffff19168617815560158054339616861790559386526014602052919094208054909416909217909255620001009190620006ce565b6200011090633b9aca00620006e6565b601580546001600160a01b03908116600090815260208190526040812093909355905416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620001646012600a620006ce565b6200017490633b9aca00620006e6565b60405190815260200160405180910390a3600980546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa158015620001ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000210919062000700565b6001600160a01b031663c9c65396600960009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000272573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000298919062000700565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201523060248201526044016020604051808303816000875af1158015620002e5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200030b919062000700565b600a80546001600160a01b0319166001600160a01b039283169081179091556000908152600160208190526040909120805460ff191690911790556015546009546200035f929182169116600019620004b8565b6009546200037b9030906001600160a01b0316600019620004b8565b601580546001600160a01b0390811660009081526006602081815260408084208054600160ff19918216811790925530865282862080548216831790557f1aecba4ebe7a4e0673e4891b2b092b2228e4322380b579fb494fad3da8586e228054821683179055965490951684526004825283208054861685179055527f8cb3563b79eac8102a826f0dcb81e7e954d7df2b15d07edcb2dd2b236c2078b480548416831790557f9f0450866e340883c5637ebf25d629ea9e0ea06bf9caa3748b581238b1bc2bb980548416831790557f9b00c99845a242ceea732a2478bee8e7b057d22892cafbdc32d0e607c88ddea0805484168317905573dba68f07d1b7ca219f78ae8582c213d975c25caf90527fab9d0a02af394b8961be3a9588d91fbbf70984385fd8d3031385f593b62a4bf980549092161790556200072b565b6001600160a01b0383166200050a5760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b60448201526064015b60405180910390fd5b6001600160a01b038216620005585760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b604482015260640162000501565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111562000610578160001904821115620005f457620005f4620005b9565b808516156200060257918102915b93841c9390800290620005d4565b509250929050565b6000826200062957506001620006c8565b816200063857506000620006c8565b81600181146200065157600281146200065c576200067c565b6001915050620006c8565b60ff841115620006705762000670620005b9565b50506001821b620006c8565b5060208310610133831016604e8410600b8410161715620006a1575081810a620006c8565b620006ad8383620005cf565b8060001904821115620006c457620006c4620005b9565b0290505b92915050565b6000620006df60ff84168362000618565b9392505050565b8082028115828204841417620006c857620006c8620005b9565b6000602082840312156200071357600080fd5b81516001600160a01b0381168114620006df57600080fd5b611a01806200073b6000396000f3fe6080604052600436106101d15760003560e01c80634fbee193116100f757806395d89b4111610095578063d763413f11610064578063d763413f146105d0578063dd62ed3e14610609578063f94aa1b41461064f578063fdb78c0e1461069657600080fd5b806395d89b41146104fe578063a9059cbb1461052b578063b7df8b361461054b578063cf8477061461056557600080fd5b806370a08231116100d157806370a0823114610475578063715018a6146104ab57806380c581d1146104c0578063893d20e8146104e057600080fd5b80634fbee1931461040757806350a8e016146104405780635a6f09181461045f57600080fd5b806323b872dd1161016f578063313ce5671161013e578063313ce5671461038f578063452ed4f1146103ab5780634a96202f146103cb5780634ada218b146103ed57600080fd5b806323b872dd1461032e578063285777511461034e5780632b112e49146103645780632e8fa8211461037957600080fd5b806306fdde03116101ab57806306fdde031461028a5780630758d924146102c9578063095ea7b3146102e957806318160ddd1461031957600080fd5b806303fd2a45146101dd5780630445b66714610210578063069d955f1461023457600080fd5b366101d857005b600080fd5b3480156101e957600080fd5b506101f361dead81565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561021c57600080fd5b50610226600e5481565b604051908152602001610207565b34801561024057600080fd5b506007546102659061ffff808216916201000081048216916401000000009091041683565b6040805161ffff94851681529284166020840152921691810191909152606001610207565b34801561029657600080fd5b5060408051808201909152600d81526c446f6e74205761737465204d7960981b60208201525b60405161020791906115b2565b3480156102d557600080fd5b506009546101f3906001600160a01b031681565b3480156102f557600080fd5b50610309610304366004611618565b6106b5565b6040519015158152602001610207565b34801561032557600080fd5b506102266106cc565b34801561033a57600080fd5b50610309610349366004611644565b6106ed565b34801561035a57600080fd5b5061022660115481565b34801561037057600080fd5b50610226610765565b34801561038557600080fd5b50610226600f5481565b34801561039b57600080fd5b5060405160128152602001610207565b3480156103b757600080fd5b50600a546101f3906001600160a01b031681565b3480156103d757600080fd5b506103eb6103e636600461169c565b6107e3565b005b3480156103f957600080fd5b506012546103099060ff1681565b34801561041357600080fd5b506103096104223660046116df565b6001600160a01b031660009081526006602052604090205460ff1690565b34801561044c57600080fd5b5060125461030990610100900460ff1681565b34801561046b57600080fd5b5061022660135481565b34801561048157600080fd5b506102266104903660046116df565b6001600160a01b031660009081526020819052604090205490565b3480156104b757600080fd5b506103eb610874565b3480156104cc57600080fd5b506103eb6104db366004611703565b610910565b3480156104ec57600080fd5b506015546001600160a01b03166101f3565b34801561050a57600080fd5b5060408051808201909152600481526354696d6560e01b60208201526102bc565b34801561053757600080fd5b50610309610546366004611618565b610a73565b34801561055757600080fd5b506010546103099060ff1681565b34801561057157600080fd5b506008546105a29061ffff808216916201000081048216916401000000008204811691660100000000000090041684565b6040805161ffff95861681529385166020850152918416918301919091529091166060820152608001610207565b3480156105dc57600080fd5b506103096105eb3660046116df565b6001600160a01b031660009081526014602052604090205460ff1690565b34801561061557600080fd5b50610226610624366004611741565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561065b57600080fd5b50600b54600c54610676916001600160a01b03908116911682565b604080516001600160a01b03938416815292909116602083015201610207565b3480156106a257600080fd5b50600d5461030990610100900460ff1681565b60006106c2338484610a8a565b5060015b92915050565b60006106da6012600a611869565b6106e890633b9aca00611878565b905090565b6001600160a01b038316600090815260036020908152604080832033845290915281205460001914610752576001600160a01b03841660009081526003602090815260408083203384529091528120805484929061074c90849061188f565b90915550505b61075d848484610b83565b949350505050565b600060208190527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb55461dead82527f44ad89ba62b98ff34f51403ac22759b55759460c0bb5521eb4b6ee3cff49cf83546107bf91906118a2565b6107cb6012600a611869565b6107d990633b9aca00611878565b6106e8919061188f565b3360009081526014602052604090205460ff166108355760405162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b60448201526064015b60405180910390fd5b6007805461ffff94851663ffffffff199091161762010000938516939093029290921765ffff0000000019166401000000009190931602919091179055565b6015546001600160a01b031633146108c25760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b604482015260640161082c565b601580546001600160a01b031981169091556040516001600160a01b039091169060009082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a350565b6015546001600160a01b0316331461095e5760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b604482015260640161082c565b8061098557506001600160a01b03166000908152600160205260409020805460ff19169055565b600254156109de576203f4806002544261099f919061188f565b116109de5760405162461bcd60e51b815260206004820152600f60248201526e19902230bc9031b7b7b63237bbb71760891b604482015260640161082c565b6001600160a01b03821660009081526001602052604090205460ff1615610a475760405162461bcd60e51b815260206004820152601b60248201527f5061697220616c726561647920616464656420746f206c6973742e0000000000604482015260640161082c565b506001600160a01b03166000908152600160208190526040909120805460ff1916909117905542600255565b6000610a80338484610b83565b5060019392505050565b6001600160a01b038316610ad65760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b604482015260640161082c565b6001600160a01b038216610b225760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b604482015260640161082c565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b038416610be95760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161082c565b6001600160a01b038316610c4b5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161082c565b60008211610cad5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161082c565b6001600160a01b0384166000908152600160205260408120548190819060ff1615610cdb5760019250610d09565b6001600160a01b03861660009081526001602052604090205460ff1615610d055760019150610d09565b5060015b60125460ff16610e055780610d605760405162461bcd60e51b815260206004820152601860248201527f54726164696e67206e6f742079657420656e61626c6564210000000000000000604482015260640161082c565b6001600160a01b03871660009081526005602052604090205460ff16158015610da257506001600160a01b03861660009081526005602052604090205460ff16155b15610e055760405162461bcd60e51b815260206004820152602d60248201527f546f6b656e732063616e6e6f74206265206d6f76656420756e74696c2074726160448201526c3234b7339034b9903634bb329760991b606482015260840161082c565b8115610e9b57600d5460ff16610e9b57600d54610100900460ff1615610e9b5730600090815260208190526040902054600e548110610e9957600f5460105460ff1615610e8357601154600a546001600160a01b0316600090815260208190526040902054606491610e7691611878565b610e8091906118b5565b90505b808210610e8e578091505b610e9782610eb3565b505b505b610ea88787878686611335565b979650505050505050565b600d805460ff191660011790556040805160808101825260085461ffff80821683526201000082048116602084015264010000000082048116938301939093526601000000000000900490911660608201819052600003610f145750611328565b3060009081526003602090815260408083206009546001600160a01b0316845290915290205460001914610f6d573060009081526003602090815260408083206009546001600160a01b03168452909152902060001990555b60006002826060015161ffff16836000015161ffff1685610f8e9190611878565b610f9891906118b5565b610fa291906118b5565b90506000610fb0828561188f565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110610fea57610fea6118d7565b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611043573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061106791906118ed565b8160018151811061107a5761107a6118d7565b6001600160a01b03928316602091820292909201015260095460405163791ac94760e01b815291169063791ac947906110c090859060009086903090429060040161190a565b600060405180830381600087803b1580156110da57600080fd5b505af19250505080156110eb575060015b6110f85750505050611328565b476000836111068684611878565b61111091906118b5565b905084156111ef5760095460405163f305d71960e01b815230600482015260248101879052600060448201819052606482015261dead60848201524260a48201526001600160a01b039091169063f305d71990839060c40160606040518083038185885af1935050505080156111a3575060408051601f3d908101601f191682019092526111a09181019061197b565b60015b6111b257505050505050611328565b505060408051838152602081018890527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b6111f9818361188f565b915085600001518660600181815161121191906119a9565b61ffff9081169091526060880151604089015160009350839291821691611239911686611878565b61124391906118b5565b6020890151909150849061ffff16156112b357600b546040516001600160a01b039091169061d6d89083906000818181858888f193505050503d80600081146112a8576040519150601f19603f3d011682016040523d82523d6000602084013e6112ad565b606091505b50909350505b604089015161ffff161561131e57600c546040516001600160a01b039091169061d6d89084906000818181858888f193505050503d8060008114611313576040519150601f19603f3d011682016040523d82523d6000602084013e611318565b606091505b50909350505b5050505050505050505b50600d805460ff19169055565b6001600160a01b03851660009081526006602052604081205460019060ff168061137757506001600160a01b03861660009081526006602052604090205460ff165b15611380575060005b6001600160a01b03871660009081526014602052604090205460ff161580156113c257506001600160a01b03861660009081526014602052604090205460ff16155b156113f35760125460ff166113f35760405162461bcd60e51b8152602060048201526000602482015260440161082c565b6001600160a01b0387166000908152602081905260408120805487929061141b90849061188f565b90915550600090508161142e578561143a565b61143a888686896114d2565b905080600080896001600160a01b03166001600160a01b03168152602001908152602001600020600082825461147091906118a2565b92505081905550866001600160a01b0316886001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516114bc91815260200190565b60405180910390a3506001979650505050505050565b60008084156114e8575060075461ffff16611512565b8315611501575060075462010000900461ffff16611512565b50600754640100000000900461ffff165b80600003611523578291505061075d565b600060646115318386611878565b61153b91906118b5565b905080156115a85730600090815260208190526040812080548392906115629084906118a2565b909155505060405181815230906001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b610ea8818561188f565b600060208083528351808285015260005b818110156115df578581018301518582016040015282016115c3565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461161557600080fd5b50565b6000806040838503121561162b57600080fd5b823561163681611600565b946020939093013593505050565b60008060006060848603121561165957600080fd5b833561166481611600565b9250602084013561167481611600565b929592945050506040919091013590565b803561ffff8116811461169757600080fd5b919050565b6000806000606084860312156116b157600080fd5b6116ba84611685565b92506116c860208501611685565b91506116d660408501611685565b90509250925092565b6000602082840312156116f157600080fd5b81356116fc81611600565b9392505050565b6000806040838503121561171657600080fd5b823561172181611600565b91506020830135801515811461173657600080fd5b809150509250929050565b6000806040838503121561175457600080fd5b823561175f81611600565b9150602083013561173681611600565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156117c05781600019048211156117a6576117a661176f565b808516156117b357918102915b93841c939080029061178a565b509250929050565b6000826117d7575060016106c6565b816117e4575060006106c6565b81600181146117fa576002811461180457611820565b60019150506106c6565b60ff8411156118155761181561176f565b50506001821b6106c6565b5060208310610133831016604e8410600b8410161715611843575081810a6106c6565b61184d8383611785565b80600019048211156118615761186161176f565b029392505050565b60006116fc60ff8416836117c8565b80820281158282048414176106c6576106c661176f565b818103818111156106c6576106c661176f565b808201808211156106c6576106c661176f565b6000826118d257634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156118ff57600080fd5b81516116fc81611600565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561195a5784516001600160a01b031683529383019391830191600101611935565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561199057600080fd5b8351925060208401519150604084015190509250925092565b61ffff8281168282160390808211156119c4576119c461176f565b509291505056fea2646970667358221220de29763bf4dac750f34d82f2b8199d546283546b599c1180bfaa38f24ca415f064736f6c63430008110033

Deployed Bytecode

0x6080604052600436106101d15760003560e01c80634fbee193116100f757806395d89b4111610095578063d763413f11610064578063d763413f146105d0578063dd62ed3e14610609578063f94aa1b41461064f578063fdb78c0e1461069657600080fd5b806395d89b41146104fe578063a9059cbb1461052b578063b7df8b361461054b578063cf8477061461056557600080fd5b806370a08231116100d157806370a0823114610475578063715018a6146104ab57806380c581d1146104c0578063893d20e8146104e057600080fd5b80634fbee1931461040757806350a8e016146104405780635a6f09181461045f57600080fd5b806323b872dd1161016f578063313ce5671161013e578063313ce5671461038f578063452ed4f1146103ab5780634a96202f146103cb5780634ada218b146103ed57600080fd5b806323b872dd1461032e578063285777511461034e5780632b112e49146103645780632e8fa8211461037957600080fd5b806306fdde03116101ab57806306fdde031461028a5780630758d924146102c9578063095ea7b3146102e957806318160ddd1461031957600080fd5b806303fd2a45146101dd5780630445b66714610210578063069d955f1461023457600080fd5b366101d857005b600080fd5b3480156101e957600080fd5b506101f361dead81565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561021c57600080fd5b50610226600e5481565b604051908152602001610207565b34801561024057600080fd5b506007546102659061ffff808216916201000081048216916401000000009091041683565b6040805161ffff94851681529284166020840152921691810191909152606001610207565b34801561029657600080fd5b5060408051808201909152600d81526c446f6e74205761737465204d7960981b60208201525b60405161020791906115b2565b3480156102d557600080fd5b506009546101f3906001600160a01b031681565b3480156102f557600080fd5b50610309610304366004611618565b6106b5565b6040519015158152602001610207565b34801561032557600080fd5b506102266106cc565b34801561033a57600080fd5b50610309610349366004611644565b6106ed565b34801561035a57600080fd5b5061022660115481565b34801561037057600080fd5b50610226610765565b34801561038557600080fd5b50610226600f5481565b34801561039b57600080fd5b5060405160128152602001610207565b3480156103b757600080fd5b50600a546101f3906001600160a01b031681565b3480156103d757600080fd5b506103eb6103e636600461169c565b6107e3565b005b3480156103f957600080fd5b506012546103099060ff1681565b34801561041357600080fd5b506103096104223660046116df565b6001600160a01b031660009081526006602052604090205460ff1690565b34801561044c57600080fd5b5060125461030990610100900460ff1681565b34801561046b57600080fd5b5061022660135481565b34801561048157600080fd5b506102266104903660046116df565b6001600160a01b031660009081526020819052604090205490565b3480156104b757600080fd5b506103eb610874565b3480156104cc57600080fd5b506103eb6104db366004611703565b610910565b3480156104ec57600080fd5b506015546001600160a01b03166101f3565b34801561050a57600080fd5b5060408051808201909152600481526354696d6560e01b60208201526102bc565b34801561053757600080fd5b50610309610546366004611618565b610a73565b34801561055757600080fd5b506010546103099060ff1681565b34801561057157600080fd5b506008546105a29061ffff808216916201000081048216916401000000008204811691660100000000000090041684565b6040805161ffff95861681529385166020850152918416918301919091529091166060820152608001610207565b3480156105dc57600080fd5b506103096105eb3660046116df565b6001600160a01b031660009081526014602052604090205460ff1690565b34801561061557600080fd5b50610226610624366004611741565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561065b57600080fd5b50600b54600c54610676916001600160a01b03908116911682565b604080516001600160a01b03938416815292909116602083015201610207565b3480156106a257600080fd5b50600d5461030990610100900460ff1681565b60006106c2338484610a8a565b5060015b92915050565b60006106da6012600a611869565b6106e890633b9aca00611878565b905090565b6001600160a01b038316600090815260036020908152604080832033845290915281205460001914610752576001600160a01b03841660009081526003602090815260408083203384529091528120805484929061074c90849061188f565b90915550505b61075d848484610b83565b949350505050565b600060208190527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb55461dead82527f44ad89ba62b98ff34f51403ac22759b55759460c0bb5521eb4b6ee3cff49cf83546107bf91906118a2565b6107cb6012600a611869565b6107d990633b9aca00611878565b6106e8919061188f565b3360009081526014602052604090205460ff166108355760405162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b60448201526064015b60405180910390fd5b6007805461ffff94851663ffffffff199091161762010000938516939093029290921765ffff0000000019166401000000009190931602919091179055565b6015546001600160a01b031633146108c25760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b604482015260640161082c565b601580546001600160a01b031981169091556040516001600160a01b039091169060009082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a350565b6015546001600160a01b0316331461095e5760405162461bcd60e51b815260206004820152601160248201527021b0b63632b9101e979e9037bbb732b91760791b604482015260640161082c565b8061098557506001600160a01b03166000908152600160205260409020805460ff19169055565b600254156109de576203f4806002544261099f919061188f565b116109de5760405162461bcd60e51b815260206004820152600f60248201526e19902230bc9031b7b7b63237bbb71760891b604482015260640161082c565b6001600160a01b03821660009081526001602052604090205460ff1615610a475760405162461bcd60e51b815260206004820152601b60248201527f5061697220616c726561647920616464656420746f206c6973742e0000000000604482015260640161082c565b506001600160a01b03166000908152600160208190526040909120805460ff1916909117905542600255565b6000610a80338484610b83565b5060019392505050565b6001600160a01b038316610ad65760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b604482015260640161082c565b6001600160a01b038216610b225760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b604482015260640161082c565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b038416610be95760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161082c565b6001600160a01b038316610c4b5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161082c565b60008211610cad5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161082c565b6001600160a01b0384166000908152600160205260408120548190819060ff1615610cdb5760019250610d09565b6001600160a01b03861660009081526001602052604090205460ff1615610d055760019150610d09565b5060015b60125460ff16610e055780610d605760405162461bcd60e51b815260206004820152601860248201527f54726164696e67206e6f742079657420656e61626c6564210000000000000000604482015260640161082c565b6001600160a01b03871660009081526005602052604090205460ff16158015610da257506001600160a01b03861660009081526005602052604090205460ff16155b15610e055760405162461bcd60e51b815260206004820152602d60248201527f546f6b656e732063616e6e6f74206265206d6f76656420756e74696c2074726160448201526c3234b7339034b9903634bb329760991b606482015260840161082c565b8115610e9b57600d5460ff16610e9b57600d54610100900460ff1615610e9b5730600090815260208190526040902054600e548110610e9957600f5460105460ff1615610e8357601154600a546001600160a01b0316600090815260208190526040902054606491610e7691611878565b610e8091906118b5565b90505b808210610e8e578091505b610e9782610eb3565b505b505b610ea88787878686611335565b979650505050505050565b600d805460ff191660011790556040805160808101825260085461ffff80821683526201000082048116602084015264010000000082048116938301939093526601000000000000900490911660608201819052600003610f145750611328565b3060009081526003602090815260408083206009546001600160a01b0316845290915290205460001914610f6d573060009081526003602090815260408083206009546001600160a01b03168452909152902060001990555b60006002826060015161ffff16836000015161ffff1685610f8e9190611878565b610f9891906118b5565b610fa291906118b5565b90506000610fb0828561188f565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110610fea57610fea6118d7565b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611043573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061106791906118ed565b8160018151811061107a5761107a6118d7565b6001600160a01b03928316602091820292909201015260095460405163791ac94760e01b815291169063791ac947906110c090859060009086903090429060040161190a565b600060405180830381600087803b1580156110da57600080fd5b505af19250505080156110eb575060015b6110f85750505050611328565b476000836111068684611878565b61111091906118b5565b905084156111ef5760095460405163f305d71960e01b815230600482015260248101879052600060448201819052606482015261dead60848201524260a48201526001600160a01b039091169063f305d71990839060c40160606040518083038185885af1935050505080156111a3575060408051601f3d908101601f191682019092526111a09181019061197b565b60015b6111b257505050505050611328565b505060408051838152602081018890527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b6111f9818361188f565b915085600001518660600181815161121191906119a9565b61ffff9081169091526060880151604089015160009350839291821691611239911686611878565b61124391906118b5565b6020890151909150849061ffff16156112b357600b546040516001600160a01b039091169061d6d89083906000818181858888f193505050503d80600081146112a8576040519150601f19603f3d011682016040523d82523d6000602084013e6112ad565b606091505b50909350505b604089015161ffff161561131e57600c546040516001600160a01b039091169061d6d89084906000818181858888f193505050503d8060008114611313576040519150601f19603f3d011682016040523d82523d6000602084013e611318565b606091505b50909350505b5050505050505050505b50600d805460ff19169055565b6001600160a01b03851660009081526006602052604081205460019060ff168061137757506001600160a01b03861660009081526006602052604090205460ff165b15611380575060005b6001600160a01b03871660009081526014602052604090205460ff161580156113c257506001600160a01b03861660009081526014602052604090205460ff16155b156113f35760125460ff166113f35760405162461bcd60e51b8152602060048201526000602482015260440161082c565b6001600160a01b0387166000908152602081905260408120805487929061141b90849061188f565b90915550600090508161142e578561143a565b61143a888686896114d2565b905080600080896001600160a01b03166001600160a01b03168152602001908152602001600020600082825461147091906118a2565b92505081905550866001600160a01b0316886001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516114bc91815260200190565b60405180910390a3506001979650505050505050565b60008084156114e8575060075461ffff16611512565b8315611501575060075462010000900461ffff16611512565b50600754640100000000900461ffff165b80600003611523578291505061075d565b600060646115318386611878565b61153b91906118b5565b905080156115a85730600090815260208190526040812080548392906115629084906118a2565b909155505060405181815230906001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b610ea8818561188f565b600060208083528351808285015260005b818110156115df578581018301518582016040015282016115c3565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461161557600080fd5b50565b6000806040838503121561162b57600080fd5b823561163681611600565b946020939093013593505050565b60008060006060848603121561165957600080fd5b833561166481611600565b9250602084013561167481611600565b929592945050506040919091013590565b803561ffff8116811461169757600080fd5b919050565b6000806000606084860312156116b157600080fd5b6116ba84611685565b92506116c860208501611685565b91506116d660408501611685565b90509250925092565b6000602082840312156116f157600080fd5b81356116fc81611600565b9392505050565b6000806040838503121561171657600080fd5b823561172181611600565b91506020830135801515811461173657600080fd5b809150509250929050565b6000806040838503121561175457600080fd5b823561175f81611600565b9150602083013561173681611600565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156117c05781600019048211156117a6576117a661176f565b808516156117b357918102915b93841c939080029061178a565b509250929050565b6000826117d7575060016106c6565b816117e4575060006106c6565b81600181146117fa576002811461180457611820565b60019150506106c6565b60ff8411156118155761181561176f565b50506001821b6106c6565b5060208310610133831016604e8410600b8410161715611843575081810a6106c6565b61184d8383611785565b80600019048211156118615761186161176f565b029392505050565b60006116fc60ff8416836117c8565b80820281158282048414176106c6576106c661176f565b818103818111156106c6576106c661176f565b808201808211156106c6576106c661176f565b6000826118d257634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156118ff57600080fd5b81516116fc81611600565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561195a5784516001600160a01b031683529383019391830191600101611935565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561199057600080fd5b8351925060208401519150604084015190509250925092565b61ffff8281168282160390808211156119c4576119c461176f565b509291505056fea2646970667358221220de29763bf4dac750f34d82f2b8199d546283546b599c1180bfaa38f24ca415f064736f6c63430008110033

Deployed Bytecode Sourcemap

3673:12581:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5001:73;;;;;;;;;;;;5032:42;5001:73;;;;;-1:-1:-1;;;;;178:32:1;;;160:51;;148:2;133:18;5001:73:0;;;;;;;;5466:28;;;;;;;;;;;;;;;;;;;368:25:1;;;356:2;341:18;5466:28:0;222:177:1;4638:103:0;;;;;;;;;;-1:-1:-1;4638:103:0;;;;;;;;;;;;;;;;;;;;;;;;;;610:6:1;643:15;;;625:34;;695:15;;;690:2;675:18;;668:43;747:15;;727:18;;;720:43;;;;588:2;573:18;4638:103:0;404:365:1;8951:80:0;;;;;;;;;;-1:-1:-1;9023:5:0;;;;;;;;;;;;-1:-1:-1;;;9023:5:0;;;;8951:80;;;;;;;:::i;4940:26::-;;;;;;;;;;-1:-1:-1;4940:26:0;;;;-1:-1:-1;;;;;4940:26:0;;;9559:161;;;;;;;;;;-1:-1:-1;9559:161:0;;;;;:::i;:::-;;:::i;:::-;;;2173:14:1;;2166:22;2148:41;;2136:2;2121:18;9559:161:0;2008:187:1;8686:83:0;;;;;;;;;;;;;:::i;10046:314::-;;;;;;;;;;-1:-1:-1;10046:314:0;;;;;:::i;:::-;;:::i;5581:33::-;;;;;;;;;;;;;;;;10978:141;;;;;;;;;;;;;:::i;5501:25::-;;;;;;;;;;;;;;;;8775:80;;;;;;;;;;-1:-1:-1;8775:80:0;;4309:2;2803:36:1;;2791:2;2776:18;8775:80:0;2661:184:1;4973:21:0;;;;;;;;;;-1:-1:-1;4973:21:0;;;;-1:-1:-1;;;;;4973:21:0;;;11127:209;;;;;;;;;;-1:-1:-1;11127:209:0;;;;;:::i;:::-;;:::i;:::-;;5623:33;;;;;;;;;;-1:-1:-1;5623:33:0;;;;;;;;10843:127;;;;;;;;;;-1:-1:-1;10843:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;10934:28:0;10910:4;10934:28;;;:19;:28;;;;;;;;;10843:127;5663:36;;;;;;;;;;-1:-1:-1;5663:36:0;;;;;;;;;;;5706:26;;;;;;;;;;;;;;;;9261:117;;;;;;;;;;-1:-1:-1;9261:117:0;;;;;:::i;:::-;-1:-1:-1;;;;;9354:16:0;9327:7;9354:16;;;;;;;;;;;;9261:117;8116:180;;;;;;;;;;;;;:::i;10368:467::-;;;;;;;;;;-1:-1:-1;10368:467:0;;;;;:::i;:::-;;:::i;9037:79::-;;;;;;;;;;-1:-1:-1;9107:6:0;;-1:-1:-1;;;;;9107:6:0;9037:79;;8861:84;;;;;;;;;;-1:-1:-1;8935:7:0;;;;;;;;;;;;-1:-1:-1;;;8935:7:0;;;;8861:84;;9386:165;;;;;;;;;;-1:-1:-1;9386:165:0;;;;;:::i;:::-;;:::i;5533:41::-;;;;;;;;;;-1:-1:-1;5533:41:0;;;;;;;;4750:133;;;;;;;;;;-1:-1:-1;4750:133:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4253:6:1;4286:15;;;4268:34;;4338:15;;;4333:2;4318:18;;4311:43;4390:15;;;4370:18;;;4363:43;;;;4442:15;;;4437:2;4422:18;;4415:43;4230:3;4215:19;4750:133:0;4020:444:1;7924:92:0;;;;;;;;;;-1:-1:-1;7924:92:0;;;;;:::i;:::-;-1:-1:-1;;;;;7998:10:0;7974:4;7998:10;;;:5;:10;;;;;;;;;7924:92;9122:133;;;;;;;;;;-1:-1:-1;9122:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;9224:19:0;;;9206:7;9224:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;9122:133;5191:199;;;;;;;;;;-1:-1:-1;5191:199:0;;;;;;-1:-1:-1;;;;;5191:199:0;;;;;;;;;;;-1:-1:-1;;;;;5124:15:1;;;5106:34;;5176:15;;;;5171:2;5156:18;;5149:43;5041:18;5191:199:0;4862:336:1;5421:38:0;;;;;;;;;;-1:-1:-1;5421:38:0;;;;;;;;;;;9559:161;9636:4;9653:37;9662:10;9674:7;9683:6;9653:8;:37::i;:::-;-1:-1:-1;9708:4:0;9559:161;;;;;:::o;8686:83::-;8741:7;4370:13;4309:2;4370;:13;:::i;:::-;4353:30;;4153:13;4353:30;:::i;:::-;8752:14;;8686:83;:::o;10046:314::-;-1:-1:-1;;;;;10167:19:0;;10146:4;10167:19;;;:11;:19;;;;;;;;10187:10;10167:31;;;;;;;;-1:-1:-1;;10167:52:0;10163:134;;-1:-1:-1;;;;;10236:19:0;;;;;;:11;:19;;;;;;;;10256:10;10236:31;;;;;;;:41;;10271:6;;10236:19;:41;;10271:6;;10236:41;:::i;:::-;;;;-1:-1:-1;;10163:134:0;10316:36;10326:6;10334:9;10345:6;10316:9;:36::i;:::-;10309:43;10046:314;-1:-1:-1;;;;10046:314:0:o;10978:141::-;11031:7;9354:16;;;;;;5032:42;9354:16;;;;11070:39;;9354:16;11070:39;:::i;:::-;4370:13;4309:2;4370;:13;:::i;:::-;4353:30;;4153:13;4353:30;:::i;:::-;11059:51;;;;:::i;11127:209::-;7878:10;7974:4;7998:10;;;:5;:10;;;;;;;;7863:42;;;;-1:-1:-1;;;7863:42:0;;7356:2:1;7863:42:0;;;7338:21:1;7395:2;7375:18;;;7368:30;-1:-1:-1;;;7414:18:1;;;7407:41;7465:18;;7863:42:0;;;;;;;;;11219:9:::1;:25:::0;;::::1;::::0;;::::1;-1:-1:-1::0;;11255:27:0;;;;;;;::::1;::::0;;;::::1;::::0;;;::::1;-1:-1:-1::0;;11293:35:0::1;::::0;;;;::::1;;::::0;;;::::1;::::0;;11127:209::o;8116:180::-;7780:6;;-1:-1:-1;;;;;7780:6:0;7790:10;7780:20;7772:50;;;;-1:-1:-1;;;7772:50:0;;7696:2:1;7772:50:0;;;7678:21:1;7735:2;7715:18;;;7708:30;-1:-1:-1;;;7754:18:1;;;7747:47;7811:18;;7772:50:0;7494:341:1;7772:50:0;8194:6:::1;::::0;;-1:-1:-1;;;;;;8211:19:0;::::1;::::0;;;8246:42:::1;::::0;-1:-1:-1;;;;;8194:6:0;;::::1;::::0;8175:16:::1;::::0;8194:6;;8246:42:::1;::::0;8175:16;;8246:42:::1;8164:132;8116:180::o:0;10368:467::-;7780:6;;-1:-1:-1;;;;;7780:6:0;7790:10;7780:20;7772:50;;;;-1:-1:-1;;;7772:50:0;;7696:2:1;7772:50:0;;;7678:21:1;7735:2;7715:18;;;7708:30;-1:-1:-1;;;7754:18:1;;;7747:47;7811:18;;7772:50:0;7494:341:1;7772:50:0;10450:7:::1;10445:383;;-1:-1:-1::0;;;;;;10474:13:0::1;10490:5;10474:13:::0;;;:7:::1;:13;::::0;;;;:21;;-1:-1:-1;;10474:21:0::1;::::0;;10368:467::o;10445:383::-:1;10532:17;::::0;:22;10528:135:::1;;10621:6;10601:17;;10583:15;:35;;;;:::i;:::-;:44;10575:72;;;::::0;-1:-1:-1;;;10575:72:0;;8042:2:1;10575:72:0::1;::::0;::::1;8024:21:1::0;8081:2;8061:18;;;8054:30;-1:-1:-1;;;8100:18:1;;;8093:45;8155:18;;10575:72:0::1;7840:339:1::0;10575:72:0::1;-1:-1:-1::0;;;;;10686:13:0;::::1;;::::0;;;:7:::1;:13;::::0;;;;;::::1;;10685:14;10677:54;;;::::0;-1:-1:-1;;;10677:54:0;;8386:2:1;10677:54:0::1;::::0;::::1;8368:21:1::0;8425:2;8405:18;;;8398:30;8464:29;8444:18;;;8437:57;8511:18;;10677:54:0::1;8184:351:1::0;10677:54:0::1;-1:-1:-1::0;;;;;;10746:13:0::1;;::::0;;;10762:4:::1;10746:13;::::0;;;;;;;:20;;-1:-1:-1;;10746:20:0::1;::::0;;::::1;::::0;;10801:15:::1;10781:17;:35:::0;10368:467::o;9386:165::-;9464:4;9481:40;9491:10;9503:9;9514:6;9481:9;:40::i;:::-;-1:-1:-1;9539:4:0;;9386:165;-1:-1:-1;;;9386:165:0:o;9728:310::-;-1:-1:-1;;;;;9823:20:0;;9815:52;;;;-1:-1:-1;;;9815:52:0;;8742:2:1;9815:52:0;;;8724:21:1;8781:2;8761:18;;;8754:30;-1:-1:-1;;;8800:18:1;;;8793:49;8859:18;;9815:52:0;8540:343:1;9815:52:0;-1:-1:-1;;;;;9886:21:0;;9878:53;;;;-1:-1:-1;;;9878:53:0;;8742:2:1;9878:53:0;;;8724:21:1;8781:2;8761:18;;;8754:30;-1:-1:-1;;;8800:18:1;;;8793:49;8859:18;;9878:53:0;8540:343:1;9878:53:0;-1:-1:-1;;;;;9944:19:0;;;;;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;:37;;;9997:33;;368:25:1;;;9997:33:0;;341:18:1;9997:33:0;;;;;;;9728:310;;;:::o;11344:1646::-;11423:4;-1:-1:-1;;;;;11448:18:0;;11440:68;;;;-1:-1:-1;;;11440:68:0;;9090:2:1;11440:68:0;;;9072:21:1;9129:2;9109:18;;;9102:30;9168:34;9148:18;;;9141:62;-1:-1:-1;;;9219:18:1;;;9212:35;9264:19;;11440:68:0;8888:401:1;11440:68:0;-1:-1:-1;;;;;11527:16:0;;11519:64;;;;-1:-1:-1;;;11519:64:0;;9496:2:1;11519:64:0;;;9478:21:1;9535:2;9515:18;;;9508:30;9574:34;9554:18;;;9547:62;-1:-1:-1;;;9625:18:1;;;9618:33;9668:19;;11519:64:0;9294:399:1;11519:64:0;11611:1;11602:6;:10;11594:64;;;;-1:-1:-1;;;11594:64:0;;9900:2:1;11594:64:0;;;9882:21:1;9939:2;9919:18;;;9912:30;9978:34;9958:18;;;9951:62;-1:-1:-1;;;10029:18:1;;;10022:39;10078:19;;11594:64:0;9698:405:1;11594:64:0;-1:-1:-1;;;;;11757:13:0;;11669:8;11757:13;;;:7;:13;;;;;;11669:8;;;;11757:13;;11753:162;;;11793:4;11787:10;;11753:162;;;-1:-1:-1;;;;;11819:11:0;;;;;;:7;:11;;;;;;;;11815:100;;;11854:4;11847:11;;11815:100;;;-1:-1:-1;11899:4:0;11815:100;11933:14;;;;11929:329;;11973:5;11968:279;;12003:34;;-1:-1:-1;;;12003:34:0;;10310:2:1;12003:34:0;;;10292:21:1;10349:2;10329:18;;;10322:30;10388:26;10368:18;;;10361:54;10432:18;;12003:34:0;10108:348:1;11968:279:0;-1:-1:-1;;;;;12068:31:0;;;;;;:25;:31;;;;;;;;12067:32;:66;;;;-1:-1:-1;;;;;;12104:29:0;;;;;;:25;:29;;;;;;;;12103:30;12067:66;12063:184;;;12158:55;;-1:-1:-1;;;12158:55:0;;10663:2:1;12158:55:0;;;10645:21:1;10702:2;10682:18;;;10675:30;10741:34;10721:18;;;10714:62;-1:-1:-1;;;10792:18:1;;;10785:43;10845:19;;12158:55:0;10461:409:1;12063:184:0;12274:4;12270:650;;;12300:6;;;;12295:614;;12331:19;;;;;;;12327:567;;;12442:4;12393:28;9354:16;;;;;;;;;;;12499:13;;12475:37;;12471:404;;12559:10;;12600:22;;;;12596:97;;;12657:13;;12647:6;;-1:-1:-1;;;;;12647:6:0;9327:7;9354:16;;;;;;;;;;;4928:3;;12637:33;;;:::i;:::-;12636:54;;;;:::i;:::-;12626:64;;12596:97;12747:7;12723:20;:31;12719:72;;12781:7;12758:30;;12719:72;12817:34;12830:20;12817:12;:34::i;:::-;12514:361;12471:404;12370:524;12327:567;12937:45;12954:4;12960:2;12964:6;12972:3;12977:4;12937:16;:45::i;:::-;12930:52;11344:1646;-1:-1:-1;;;;;;;11344:1646:0:o;12998:1990::-;5897:6;:13;;-1:-1:-1;;5897:13:0;5906:4;5897:13;;;13081:30:::1;::::0;;::::1;::::0;::::1;::::0;;13104:7:::1;13081:30:::0;::::1;::::0;;::::1;::::0;;;;::::1;::::0;::::1;;::::0;::::1;::::0;;;::::1;::::0;::::1;::::0;;;;;;;;;::::1;::::0;;::::1;::::0;;;;;;5897:6;13126:21;13122:60:::1;;13164:7;;;13122:60;13218:4;13198:26;::::0;;;:11:::1;:26;::::0;;;;;;;13233:9:::1;::::0;-1:-1:-1;;;;;13233:9:0::1;13198:46:::0;;;;;;;;-1:-1:-1;;13198:67:0::1;13194:166;;13302:4;13282:26;::::0;;;:11:::1;:26;::::0;;;;;;;13317:9:::1;::::0;-1:-1:-1;;;;;13317:9:0::1;13282:46:::0;;;;;;;-1:-1:-1;;13282:66:0;;13194:166:::1;13372:17;13457:1;13437:6;:16;;;13393:60;;13417:6;:16;;;13394:39;;:20;:39;;;;:::i;:::-;13393:60;;;;:::i;:::-;13392:66;;;;:::i;:::-;13372:86:::0;-1:-1:-1;13469:15:0::1;13487:32;13372:86:::0;13487:20;:32:::1;:::i;:::-;13564:16;::::0;;13578:1:::1;13564:16:::0;;;;;::::1;::::0;;13469:50;;-1:-1:-1;13540:21:0::1;::::0;13564:16;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;13564:16:0::1;13540:40;;13609:4;13591;13596:1;13591:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;13591:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;13635:9:::1;::::0;:16:::1;::::0;;-1:-1:-1;;;13635:16:0;;;;:9;;;::::1;::::0;:14:::1;::::0;:16:::1;::::0;;::::1;::::0;13591:7;;13635:16;;;;;:9;:16:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13625:4;13630:1;13625:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;13625:26:0;;::::1;:7;::::0;;::::1;::::0;;;;;:26;13668:9:::1;::::0;:186:::1;::::0;-1:-1:-1;;;13668:186:0;;:9;::::1;::::0;:60:::1;::::0;:186:::1;::::0;13743:7;;13668:9:::1;::::0;13781:4;;13808::::1;::::0;13828:15:::1;::::0;13668:186:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;13664:233;;13879:7;;;;;;13664:233;13930:21;13909:18;14016:7:::0;13990:22:::1;14003:9:::0;13930:21;13990:22:::1;:::i;:::-;13989:34;;;;:::i;:::-;13962:61:::0;-1:-1:-1;14040:13:0;;14036:400:::1;;14074:9;::::0;:222:::1;::::0;-1:-1:-1;;;14074:222:0;;14151:4:::1;14074:222;::::0;::::1;12943:34:1::0;12993:18;;;12986:34;;;14074:9:0::1;13036:18:1::0;;;13029:34;;;13079:18;;;13072:34;5032:42:0::1;13122:19:1::0;;;13115:44;14266:15:0::1;13175:19:1::0;;;13168:35;-1:-1:-1;;;;;14074:9:0;;::::1;::::0;:25:::1;::::0;14107:16;;12877:19:1;;14074:222:0::1;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;14074:222:0::1;::::0;;::::1;;::::0;;::::1;-1:-1:-1::0;;14074:222:0::1;::::0;::::1;::::0;;;::::1;::::0;;::::1;::::0;::::1;:::i;:::-;;;14070:355;;14403:7;;;;;;;;14070:355;-1:-1:-1::0;;14321:40:0::1;::::0;;13699:25:1;;;13755:2;13740:18;;13733:34;;;14321:40:0::1;::::0;-1:-1:-1;13672:18:1;14321:40:0::1;;;;;;;14070:355;14448:30;14462:16:::0;14448:30;::::1;:::i;:::-;;;14509:6;:16;;;14489:6;:16;;:36;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;14624:16:::1;::::0;::::1;::::0;14602:18:::1;::::0;::::1;::::0;14536:12:::1;::::0;-1:-1:-1;14536:12:0;;14588:52;;::::1;::::0;14589:31:::1;::::0;::::1;:10:::0;:31:::1;:::i;:::-;14588:52;;;;:::i;:::-;14703:16;::::0;::::1;::::0;14559:81;;-1:-1:-1;14678:10:0;;14703:20:::1;;::::0;14699:133:::1;;14753:11;:21:::0;:67:::1;::::0;-1:-1:-1;;;;;14753:21:0;;::::1;::::0;14810:5:::1;::::0;14787:16;;14753:67:::1;::::0;;;14787:16;14753:21;14810:5;14753:67:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;14740:80:0;;-1:-1:-1;;14699:133:0::1;14846:18;::::0;::::1;::::0;:22:::1;;::::0;14842:139:::1;;14898:23:::0;;:71:::1;::::0;-1:-1:-1;;;;;14898:23:0;;::::1;::::0;14959:5:::1;::::0;14934:18;;14898:71:::1;::::0;;;14934:18;14898:23;14959:5;14898:71:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;14885:84:0;;-1:-1:-1;;14842:139:0::1;13070:1918;;;;;;;;;5921:1;-1:-1:-1::0;5933:6:0;:14;;-1:-1:-1;;5933:14:0;;;12998:1990::o;14996:591::-;-1:-1:-1;;;;;15154:25:0;;15103:4;15154:25;;;:19;:25;;;;;;15135:4;;15154:25;;;:52;;-1:-1:-1;;;;;;15183:23:0;;;;;;:19;:23;;;;;;;;15154:52;15150:99;;;-1:-1:-1;15232:5:0;15150:99;-1:-1:-1;;;;;15263:11:0;;;;;;:5;:11;;;;;;;;15262:12;:26;;;;-1:-1:-1;;;;;;15279:9:0;;;;;;:5;:9;;;;;;;;15278:10;15262:26;15259:84;;;15312:14;;;;15304:27;;;;-1:-1:-1;;;15304:27:0;;14366:2:1;15304:27:0;;;14348:21:1;-1:-1:-1;14385:18:1;;;14378:29;14424:18;;15304:27:0;14164:284:1;15304:27:0;-1:-1:-1;;;;;15353:13:0;;:7;:13;;;;;;;;;;:23;;15370:6;;15353:7;:23;;15370:6;;15353:23;:::i;:::-;;;;-1:-1:-1;15387:22:0;;-1:-1:-1;15413:7:0;15412:55;;15461:6;15412:55;;;15424:34;15434:4;15440:3;15445:4;15451:6;15424:9;:34::i;:::-;15387:80;;15493:14;15478:7;:11;15486:2;-1:-1:-1;;;;;15478:11:0;-1:-1:-1;;;;;15478:11:0;;;;;;;;;;;;;:29;;;;;;;:::i;:::-;;;;;;;;15538:2;-1:-1:-1;;;;;15523:34:0;15532:4;-1:-1:-1;;;;;15523:34:0;;15542:14;15523:34;;;;368:25:1;;356:2;341:18;;222:177;15523:34:0;;;;;;;;-1:-1:-1;15575:4:0;;14996:591;-1:-1:-1;;;;;;;14996:591:0:o;15595:656::-;15683:7;15703:18;15736:3;15732:205;;;-1:-1:-1;15769:9:0;:16;;;15732:205;;;15807:4;15803:134;;;-1:-1:-1;15841:9:0;:17;;;;;;15803:134;;;-1:-1:-1;15904:9:0;:21;;;;;;15803:134;15951:10;15965:1;15951:15;15947:39;;15977:6;15970:13;;;;;15947:39;15996:17;4928:3;16016:19;16025:10;16016:6;:19;:::i;:::-;:38;;;;:::i;:::-;15996:58;-1:-1:-1;16069:13:0;;16065:141;;16115:4;16099:7;:22;;;;;;;;;;:35;;16125:9;;16099:7;:35;;16125:9;;16099:35;:::i;:::-;;;;-1:-1:-1;;16154:40:0;;368:25:1;;;16177:4:0;;-1:-1:-1;;;;;16154:40:0;;;;;356:2:1;341:18;16154:40:0;;;;;;;16065:141;16225:18;16234:9;16225:6;:18;:::i;774:548:1:-;886:4;915:2;944;933:9;926:21;976:6;970:13;1019:6;1014:2;1003:9;999:18;992:34;1044:1;1054:140;1068:6;1065:1;1062:13;1054:140;;;1163:14;;;1159:23;;1153:30;1129:17;;;1148:2;1125:26;1118:66;1083:10;;1054:140;;;1058:3;1243:1;1238:2;1229:6;1218:9;1214:22;1210:31;1203:42;1313:2;1306;1302:7;1297:2;1289:6;1285:15;1281:29;1270:9;1266:45;1262:54;1254:62;;;;774:548;;;;:::o;1552:131::-;-1:-1:-1;;;;;1627:31:1;;1617:42;;1607:70;;1673:1;1670;1663:12;1607:70;1552:131;:::o;1688:315::-;1756:6;1764;1817:2;1805:9;1796:7;1792:23;1788:32;1785:52;;;1833:1;1830;1823:12;1785:52;1872:9;1859:23;1891:31;1916:5;1891:31;:::i;:::-;1941:5;1993:2;1978:18;;;;1965:32;;-1:-1:-1;;;1688:315:1:o;2200:456::-;2277:6;2285;2293;2346:2;2334:9;2325:7;2321:23;2317:32;2314:52;;;2362:1;2359;2352:12;2314:52;2401:9;2388:23;2420:31;2445:5;2420:31;:::i;:::-;2470:5;-1:-1:-1;2527:2:1;2512:18;;2499:32;2540:33;2499:32;2540:33;:::i;:::-;2200:456;;2592:7;;-1:-1:-1;;;2646:2:1;2631:18;;;;2618:32;;2200:456::o;2850:159::-;2917:20;;2977:6;2966:18;;2956:29;;2946:57;;2999:1;2996;2989:12;2946:57;2850:159;;;:::o;3014:328::-;3088:6;3096;3104;3157:2;3145:9;3136:7;3132:23;3128:32;3125:52;;;3173:1;3170;3163:12;3125:52;3196:28;3214:9;3196:28;:::i;:::-;3186:38;;3243:37;3276:2;3265:9;3261:18;3243:37;:::i;:::-;3233:47;;3299:37;3332:2;3321:9;3317:18;3299:37;:::i;:::-;3289:47;;3014:328;;;;;:::o;3347:247::-;3406:6;3459:2;3447:9;3438:7;3434:23;3430:32;3427:52;;;3475:1;3472;3465:12;3427:52;3514:9;3501:23;3533:31;3558:5;3533:31;:::i;:::-;3583:5;3347:247;-1:-1:-1;;;3347:247:1:o;3599:416::-;3664:6;3672;3725:2;3713:9;3704:7;3700:23;3696:32;3693:52;;;3741:1;3738;3731:12;3693:52;3780:9;3767:23;3799:31;3824:5;3799:31;:::i;:::-;3849:5;-1:-1:-1;3906:2:1;3891:18;;3878:32;3948:15;;3941:23;3929:36;;3919:64;;3979:1;3976;3969:12;3919:64;4002:7;3992:17;;;3599:416;;;;;:::o;4469:388::-;4537:6;4545;4598:2;4586:9;4577:7;4573:23;4569:32;4566:52;;;4614:1;4611;4604:12;4566:52;4653:9;4640:23;4672:31;4697:5;4672:31;:::i;:::-;4722:5;-1:-1:-1;4779:2:1;4764:18;;4751:32;4792:33;4751:32;4792:33;:::i;5203:127::-;5264:10;5259:3;5255:20;5252:1;5245:31;5295:4;5292:1;5285:15;5319:4;5316:1;5309:15;5335:422;5424:1;5467:5;5424:1;5481:270;5502:7;5492:8;5489:21;5481:270;;;5561:4;5557:1;5553:6;5549:17;5543:4;5540:27;5537:53;;;5570:18;;:::i;:::-;5620:7;5610:8;5606:22;5603:55;;;5640:16;;;;5603:55;5719:22;;;;5679:15;;;;5481:270;;;5485:3;5335:422;;;;;:::o;5762:806::-;5811:5;5841:8;5831:80;;-1:-1:-1;5882:1:1;5896:5;;5831:80;5930:4;5920:76;;-1:-1:-1;5967:1:1;5981:5;;5920:76;6012:4;6030:1;6025:59;;;;6098:1;6093:130;;;;6005:218;;6025:59;6055:1;6046:10;;6069:5;;;6093:130;6130:3;6120:8;6117:17;6114:43;;;6137:18;;:::i;:::-;-1:-1:-1;;6193:1:1;6179:16;;6208:5;;6005:218;;6307:2;6297:8;6294:16;6288:3;6282:4;6279:13;6275:36;6269:2;6259:8;6256:16;6251:2;6245:4;6242:12;6238:35;6235:77;6232:159;;;-1:-1:-1;6344:19:1;;;6376:5;;6232:159;6423:34;6448:8;6442:4;6423:34;:::i;:::-;6493:6;6489:1;6485:6;6481:19;6472:7;6469:32;6466:58;;;6504:18;;:::i;:::-;6542:20;;5762:806;-1:-1:-1;;;5762:806:1:o;6573:140::-;6631:5;6660:47;6701:4;6691:8;6687:19;6681:4;6660:47;:::i;6718:168::-;6791:9;;;6822;;6839:15;;;6833:22;;6819:37;6809:71;;6860:18;;:::i;6891:128::-;6958:9;;;6979:11;;;6976:37;;;6993:18;;:::i;7024:125::-;7089:9;;;7110:10;;;7107:36;;;7123:18;;:::i;10875:217::-;10915:1;10941;10931:132;;10985:10;10980:3;10976:20;10973:1;10966:31;11020:4;11017:1;11010:15;11048:4;11045:1;11038:15;10931:132;-1:-1:-1;11077:9:1;;10875:217::o;11229:127::-;11290:10;11285:3;11281:20;11278:1;11271:31;11321:4;11318:1;11311:15;11345:4;11342:1;11335:15;11361:251;11431:6;11484:2;11472:9;11463:7;11459:23;11455:32;11452:52;;;11500:1;11497;11490:12;11452:52;11532:9;11526:16;11551:31;11576:5;11551:31;:::i;11617:980::-;11879:4;11927:3;11916:9;11912:19;11958:6;11947:9;11940:25;11984:2;12022:6;12017:2;12006:9;12002:18;11995:34;12065:3;12060:2;12049:9;12045:18;12038:31;12089:6;12124;12118:13;12155:6;12147;12140:22;12193:3;12182:9;12178:19;12171:26;;12232:2;12224:6;12220:15;12206:29;;12253:1;12263:195;12277:6;12274:1;12271:13;12263:195;;;12342:13;;-1:-1:-1;;;;;12338:39:1;12326:52;;12433:15;;;;12398:12;;;;12374:1;12292:9;12263:195;;;-1:-1:-1;;;;;;;12514:32:1;;;;12509:2;12494:18;;12487:60;-1:-1:-1;;;12578:3:1;12563:19;12556:35;12475:3;11617:980;-1:-1:-1;;;11617:980:1:o;13214:306::-;13302:6;13310;13318;13371:2;13359:9;13350:7;13346:23;13342:32;13339:52;;;13387:1;13384;13377:12;13339:52;13416:9;13410:16;13400:26;;13466:2;13455:9;13451:18;13445:25;13435:35;;13510:2;13499:9;13495:18;13489:25;13479:35;;13214:306;;;;;:::o;13778:171::-;13846:6;13885:10;;;13873;;;13869:27;;13908:12;;;13905:38;;;13923:18;;:::i;:::-;13905:38;13778:171;;;;:::o

Swarm Source

ipfs://de29763bf4dac750f34d82f2b8199d546283546b599c1180bfaa38f24ca415f0

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

Validator Index Block Amount
View All Withdrawals

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

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