ETH Price: $3,113.75 (-0.79%)

Contract

0x3063C77C4ef5C1DE185321AE2BC5675e17344f7F
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

Transaction Hash
Method
Block
From
To
Approve212112422024-11-18 1:13:599 hrs ago1731892439IN
MEGAWEAPON: Old $WEAPON Token
0 ETH0.000178827.32718892
Approve208580422024-09-29 18:18:3549 days ago1727633915IN
MEGAWEAPON: Old $WEAPON Token
0 ETH0.000205018.4
Approve204517012024-08-04 0:48:23106 days ago1722732503IN
MEGAWEAPON: Old $WEAPON Token
0 ETH0.00002721.11479076
Approve198476312024-05-11 15:17:23190 days ago1715440643IN
MEGAWEAPON: Old $WEAPON Token
0 ETH0.00017956.79786106
Approve198476302024-05-11 15:17:11190 days ago1715440631IN
MEGAWEAPON: Old $WEAPON Token
0 ETH0.000147586.04712508
Approve195218242024-03-26 23:23:47236 days ago1711495427IN
MEGAWEAPON: Old $WEAPON Token
0 ETH0.0007501130.73504064
Approve194978022024-03-23 14:09:59239 days ago1711202999IN
MEGAWEAPON: Old $WEAPON Token
0 ETH0.0005352821.93252839
Approve192041182024-02-11 10:05:47281 days ago1707645947IN
MEGAWEAPON: Old $WEAPON Token
0 ETH0.0007219629.58159368
Approve191338642024-02-01 13:24:59290 days ago1706793899IN
MEGAWEAPON: Old $WEAPON Token
0 ETH0.0006325425.91751297
Approve189449362024-01-06 1:32:23317 days ago1704504743IN
MEGAWEAPON: Old $WEAPON Token
0 ETH0.0002596810.64019468
Approve189285032024-01-03 18:05:59319 days ago1704305159IN
MEGAWEAPON: Old $WEAPON Token
0 ETH0.0008049532.98188903
Approve188916282023-12-29 13:46:47324 days ago1703857607IN
MEGAWEAPON: Old $WEAPON Token
0 ETH0.0005713323.40950164
Approve188243172023-12-20 3:01:47334 days ago1703041307IN
MEGAWEAPON: Old $WEAPON Token
0 ETH0.0008992436.84539045
Approve188026232023-12-17 1:56:35337 days ago1702778195IN
MEGAWEAPON: Old $WEAPON Token
0 ETH0.0008164633.45342264
Approve187326742023-12-07 6:36:59347 days ago1701931019IN
MEGAWEAPON: Old $WEAPON Token
0 ETH0.0008698335.64011502
Approve185947482023-11-17 23:02:59366 days ago1700262179IN
MEGAWEAPON: Old $WEAPON Token
0 ETH0.0006297825.80455588
Approve185242242023-11-08 2:21:11376 days ago1699410071IN
MEGAWEAPON: Old $WEAPON Token
0 ETH0.0005728323.47101556
Approve184971982023-11-04 7:30:23380 days ago1699083023IN
MEGAWEAPON: Old $WEAPON Token
0 ETH0.0003205913.13605302
Approve184486152023-10-28 12:11:59386 days ago1698495119IN
MEGAWEAPON: Old $WEAPON Token
0 ETH0.0004357416.50169489
Approve184486002023-10-28 12:08:59386 days ago1698494939IN
MEGAWEAPON: Old $WEAPON Token
0 ETH0.0003656614.9826867
Approve184485972023-10-28 12:08:23386 days ago1698494903IN
MEGAWEAPON: Old $WEAPON Token
0 ETH0.0003710515.20325815
Approve183117892023-10-09 8:41:47406 days ago1696840907IN
MEGAWEAPON: Old $WEAPON Token
0 ETH0.0002753911.28408427
Approve183017332023-10-07 22:56:35407 days ago1696719395IN
MEGAWEAPON: Old $WEAPON Token
0 ETH0.000153046.27078155
Approve181368812023-09-14 20:28:35430 days ago1694723315IN
MEGAWEAPON: Old $WEAPON Token
0 ETH0.000484719.85994483
Approve180274192023-08-30 12:29:23445 days ago1693398563IN
MEGAWEAPON: Old $WEAPON Token
0 ETH0.0005780523.68475424
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
146516112022-04-25 4:09:02938 days ago1650859742
MEGAWEAPON: Old $WEAPON Token
0.01878963 ETH
146516112022-04-25 4:09:02938 days ago1650859742
MEGAWEAPON: Old $WEAPON Token
0.01878963 ETH
146403292022-04-23 9:44:58940 days ago1650707098
MEGAWEAPON: Old $WEAPON Token
0 ETH
146403292022-04-23 9:44:58940 days ago1650707098
MEGAWEAPON: Old $WEAPON Token
0 ETH
146165312022-04-19 16:07:40943 days ago1650384460
MEGAWEAPON: Old $WEAPON Token
0.00000004 ETH
146165312022-04-19 16:07:40943 days ago1650384460
MEGAWEAPON: Old $WEAPON Token
0.00000004 ETH
146078082022-04-18 7:19:13945 days ago1650266353
MEGAWEAPON: Old $WEAPON Token
0 ETH
146078082022-04-18 7:19:13945 days ago1650266353
MEGAWEAPON: Old $WEAPON Token
0 ETH
146072482022-04-18 5:17:02945 days ago1650259022
MEGAWEAPON: Old $WEAPON Token
0 ETH
146072482022-04-18 5:17:02945 days ago1650259022
MEGAWEAPON: Old $WEAPON Token
0 ETH
146070602022-04-18 4:32:44945 days ago1650256364
MEGAWEAPON: Old $WEAPON Token
0.00000001 ETH
146070602022-04-18 4:32:44945 days ago1650256364
MEGAWEAPON: Old $WEAPON Token
0.00000001 ETH
146037662022-04-17 16:13:02945 days ago1650211982
MEGAWEAPON: Old $WEAPON Token
0.00000004 ETH
146037662022-04-17 16:13:02945 days ago1650211982
MEGAWEAPON: Old $WEAPON Token
0.00000004 ETH
146000772022-04-17 2:11:46946 days ago1650161506
MEGAWEAPON: Old $WEAPON Token
0.00000072 ETH
146000772022-04-17 2:11:46946 days ago1650161506
MEGAWEAPON: Old $WEAPON Token
0.00000072 ETH
145905972022-04-15 14:53:21947 days ago1650034401
MEGAWEAPON: Old $WEAPON Token
0 ETH
145905972022-04-15 14:53:21947 days ago1650034401
MEGAWEAPON: Old $WEAPON Token
0 ETH
145875722022-04-15 3:30:42948 days ago1649993442
MEGAWEAPON: Old $WEAPON Token
0.02924532 ETH
145875722022-04-15 3:30:42948 days ago1649993442
MEGAWEAPON: Old $WEAPON Token
0.02924532 ETH
145855202022-04-14 19:50:17948 days ago1649965817
MEGAWEAPON: Old $WEAPON Token
0 ETH
145855202022-04-14 19:50:17948 days ago1649965817
MEGAWEAPON: Old $WEAPON Token
0 ETH
145634312022-04-11 8:50:05952 days ago1649667005
MEGAWEAPON: Old $WEAPON Token
0 ETH
145634312022-04-11 8:50:05952 days ago1649667005
MEGAWEAPON: Old $WEAPON Token
0 ETH
145604822022-04-10 21:54:12952 days ago1649627652
MEGAWEAPON: Old $WEAPON Token
0.0000001 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
WEAPON

Compiler Version
v0.8.1+commit.df193b15

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-11-23
*/

pragma solidity ^0.8.0;


interface IUniswapV2Router01 {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);

    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 addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
    function removeLiquidity(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB);
    function removeLiquidityETH(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountToken, uint amountETH);
    function removeLiquidityWithPermit(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountA, uint amountB);
    function removeLiquidityETHWithPermit(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountToken, uint amountETH);
    function swapExactTokensForTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapTokensForExactTokens(
        uint amountOut,
        uint amountInMax,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);
    function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);

    function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB);
    function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut);
    function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn);
    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);
}
// SPDX-License-Identifier: MIT

interface IUniswapV2Router02 is IUniswapV2Router01 {
    function removeLiquidityETHSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountETH);
    function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountETH);

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

/**
 * @dev Provides information about the current execution context, including the
 * sender of the transaction and its data. While these are generally available
 * via msg.sender and msg.data, they should not be accessed in such a direct
 * manner, since when dealing with meta-transactions the account sending and
 * paying for execution may not be the actual sender (as far as an application
 * is concerned).
 *
 * This contract is only required for intermediate, library-like contracts.
 */
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

    function _msgData() internal view virtual returns (bytes calldata) {
        return msg.data;
    }
}


/**
 * @dev Interface of the ERC20 standard as defined in the EIP.
 */
interface IERC20 {
    /**
     * @dev Returns the amount of tokens in existence.
     */
    function totalSupply() external view returns (uint256);

    /**
     * @dev Returns the amount of tokens owned by `account`.
     */
    function balanceOf(address account) external view returns (uint256);

    /**
     * @dev Moves `amount` tokens from the caller's account to `recipient`.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transfer(address recipient, uint256 amount) external returns (bool);

    /**
     * @dev Returns the remaining number of tokens that `spender` will be
     * allowed to spend on behalf of `owner` through {transferFrom}. This is
     * zero by default.
     *
     * This value changes when {approve} or {transferFrom} are called.
     */
    function allowance(address owner, address spender) external view returns (uint256);

    /**
     * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * IMPORTANT: Beware that changing an allowance with this method brings the risk
     * that someone may use both the old and the new allowance by unfortunate
     * transaction ordering. One possible solution to mitigate this race
     * condition is to first reduce the spender's allowance to 0 and set the
     * desired value afterwards:
     * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
     *
     * Emits an {Approval} event.
     */
    function approve(address spender, uint256 amount) external returns (bool);

    /**
     * @dev Moves `amount` tokens from `sender` to `recipient` using the
     * allowance mechanism. `amount` is then deducted from the caller's
     * allowance.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);

    /**
     * @dev Emitted when `value` tokens are moved from one account (`from`) to
     * another (`to`).
     *
     * Note that `value` may be zero.
     */
    event Transfer(address indexed from, address indexed to, uint256 value);

    /**
     * @dev Emitted when the allowance of a `spender` for an `owner` is set by
     * a call to {approve}. `value` is the new allowance.
     */
    event Approval(address indexed owner, address indexed spender, uint256 value);
}


contract WEAPON is Context, IERC20{

    uint256 private _txLimit;
    uint256 private _limitTime;
    
    bool private _swapping;

    bool public tradingEnabled = false;
    bool public stakingEnabled = false;

    mapping (address => bool) private _isPool;

    mapping (address => uint256) private _balances;
    mapping (address => uint256) private _stakedBalances;
    mapping (address => uint256) private _stakeExpireTime;
    mapping (address => uint256) private _stakeBeginTime;
    mapping (address => mapping (address => uint256)) private _allowances;

    uint256 private _totalSupply = 10 * 10**6 * 10**9; 

    string private _name = "Megaweapon";
    string private _symbol = "$WEAPON";
    uint8 private _decimals = 9;
    uint8 private _buyTax = 10;
    uint8 private _sellTax = 10;

    address private _lp;
    address payable private _devWallet;
    address payable private _stakingContract;
    address private _uniRouter = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;
    address private _pair = address(0);

    IUniswapV2Router02 private UniV2Router;

    constructor(address dev) {
        _lp = _msgSender();
        _balances[_lp] = _totalSupply;
        UniV2Router = IUniswapV2Router02(_uniRouter);
        _devWallet = payable(dev);
    }

    event Stake(address indexed _staker, uint256 amount, uint256 stakeTime, uint256 stakeExpire);
    event Reconcile(address indexed _staker, uint256 amount, bool isLoss);


    modifier lockSwap {
        _swapping = true;
        _;
        _swapping = false;
    }

    function name() public view returns (string memory) {
        return _name;
    }

    function symbol() public view returns (string memory) {
        return _symbol;
    }

    function decimals() public view returns (uint8) {
        return _decimals;
    }

    function totalSupply() public view override returns (uint256) {
        return _totalSupply;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return availableBalanceOf(account);
    }

    function stakedBalanceOf(address account) public view returns (uint256) {
        if (stakingEnabled && _stakeExpireTime[account] > block.timestamp) {
            return _stakedBalances[account];    
        }
        else return 0;        
    }

    function availableBalanceOf(address account) public view returns (uint256) {
        if (stakingEnabled && _stakeExpireTime[account] > block.timestamp) {
            return _balances[account] - _stakedBalances[account];    
        }
        else return _balances[account];     
    }

    function isStaked(address account) public view returns (bool) {
        if (stakingEnabled && _stakeExpireTime[account] > block.timestamp && _stakedBalances[account] > 0){
            return true;
        }
        else return false;
    }

    function getStake(address account) public view returns (uint256, uint256, uint256) {
        if (stakingEnabled && _stakeExpireTime[account] > block.timestamp && _stakedBalances[account] > 0)
            return (_stakedBalances[account], _stakeBeginTime[account], _stakeExpireTime[account]);
        else return (0,0,0);
    }

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

    function allowance(address owner, address spender) public view override returns (uint256) {
        return _allowances[owner][spender];
    }

    function approve(address spender, uint256 amount) public override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        require (_allowances[sender][_msgSender()] >= amount, "ERC20: transfer amount exceeds allowance");
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()] - amount);
        return true;
    }

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

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

    function _transfer(address sender, address recipient, uint256 amount) private {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");
        require(_balances[sender] >= amount, "ERC20: transfer exceeds balance");
        require(availableBalanceOf(sender) >= amount, "$WEAPON: transfer exceeds unstaked balance");
        require(amount > 0, "$WEAPON: cannot transfer zero");

        uint256 taxedAmount = amount;
        uint256 tax = 0;
    
        if (_isPool[sender] == true && recipient != _lp && recipient != _uniRouter) {
            require (block.timestamp > _limitTime || amount <= 50000 * 10**9, "$WEAPON: max tx limit");
            require (block.number > _txLimit, "$WEAPON: trading not enabled");
            tax = amount * _buyTax / 100;
            taxedAmount = amount - tax;
            _balances[address(this)] += tax;
        }
        if (_isPool[recipient] == true && sender != _lp && sender != _uniRouter){ 
            require (block.number > _txLimit, "$WEAPON: trading not enabled");
            require (block.timestamp > _limitTime || amount <= 50000 * 10**9, "$WEAPON: max tx limit");
            tax = amount * _sellTax / 100;
            taxedAmount = amount - tax;
            _balances[address(this)] += tax;

            if (_balances[address(this)] > 100 * 10**9 && !_swapping) {
                uint256 _swapAmount = _balances[address(this)];
                if (_swapAmount > amount * 40 / 100) _swapAmount = amount * 40 / 100;
                _tokensToETH(_swapAmount);
            }
        }
    
        _balances[recipient] += taxedAmount;
        _balances[sender] -= amount;

        emit Transfer(sender, recipient, amount);
    }

    function stake(uint256 amount, uint256 unstakeTime) external {
        require (stakingEnabled, "$WEAPON: staking currently not enabled"); 
        require (unstakeTime > (block.timestamp + 85399),"$WEAPON: minimum stake time 24 hours"); 
        require (unstakeTime >= _stakeExpireTime[_msgSender()], "$WEAPON: new stake time cannot be shorter");
        require (availableBalanceOf(_msgSender()) >= amount, "$WEAPON: stake exceeds available balance");
        require (amount > 0, "$WEAPON: cannot stake 0 tokens");

        if (_stakeExpireTime[_msgSender()] > block.timestamp) _stakedBalances[_msgSender()] = _stakedBalances[_msgSender()] + amount;
        else _stakedBalances[_msgSender()] = amount;
        _stakeExpireTime[_msgSender()] = unstakeTime;
        _stakeBeginTime[_msgSender()] = block.timestamp;

        emit Stake(_msgSender(), amount, block.timestamp, unstakeTime);
    }

    function reconcile(address[] calldata account, uint256[] calldata amount, bool[] calldata isLoss) external {
        require (_msgSender() == _stakingContract, "$WEAPON: Unauthorized");
        uint i = 0;
        uint max = account.length;
        while (i < max) {
            if (isLoss[i] == true) {
                if (_stakedBalances[account[i]] > amount[i]) _stakedBalances[account[i]] = _stakedBalances[account[i]] - amount[i];
                else _stakedBalances[account[i]] = 0;
                _balances[account[i]] = _balances[account[i]] - amount[i];
            }
            else { 
                _stakedBalances[account[i]] = _stakedBalances[account[i]] + amount[i];
                _balances[account[i]] = _balances[account[i]] + amount[i];
            }

            emit Reconcile(account[i], amount[i], isLoss[i]);
            i++;
        }
    }

    function mint(uint256 amount, address recipient) external {
        require (_msgSender() == _devWallet, "$WEAPON: Unauthorized");
        require (block.timestamp > 1640995200, "$WEAPON: too soon");
        _totalSupply = _totalSupply + amount;
        _balances[recipient] = _balances[recipient] + amount;

        emit Transfer(address(0), recipient, amount);
    }

    function toggleStaking() external {
        require (_msgSender() == _devWallet || _msgSender() == _stakingContract, "$WEAPON: Unauthorized");
        require (_stakingContract != address(0), "$WEAPON: staking contract not set");
        if (stakingEnabled == true) stakingEnabled = false;
        else stakingEnabled = true;
    }

    function lockedAndLoaded(uint txLimit) external {
        require (_msgSender() == _devWallet, "$WEAPON: Unauthorized");
        require (tradingEnabled == false, "$WEAPON: already loaded, sucka");
        tradingEnabled = true;
        _setTxLimit(txLimit, block.number);
    }

    function setStakingContract(address addr) external {
        require (_msgSender() == _devWallet, "$WEAPON: Unauthorized");
        _stakingContract = payable(addr);
    }

    function getStakingContract() public view returns (address) {
        return _stakingContract;
    }

    function reduceBuyTax(uint8 newTax) external {
        require (_msgSender() == _devWallet, "$WEAPON: Unauthorized");
        require (newTax < _buyTax, "$WEAPON: new tax must be lower");
        _buyTax = newTax;
    }

    function reduceSellTax(uint8 newTax) external {
        require (_msgSender() == _devWallet, "$WEAPON: Unauthorized");
        require (newTax < _sellTax, "$WEAPON: new tax must be lower");
        _sellTax = newTax;
    }

    function setPool(address addr) external {
        require (_msgSender() == _devWallet, "$WEAPON: Unuthorized");
        _isPool[addr] = true;
    }
    
    function isPool(address addr) public view returns (bool){
        return _isPool[addr];
    }

    function _setTxLimit(uint256 txLimit, uint256 limitBegin) private {
        _txLimit = limitBegin + txLimit;
        _limitTime = block.timestamp + 1800;
    }

    function _transferETH(uint256 amount, address payable _to) private {
        (bool sent, bytes memory data) = _to.call{value: amount}("");
        require(sent, "Failed to send Ether");
    }

    function _tokensToETH(uint256 amount) private lockSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = UniV2Router.WETH();

        _approve(address(this), _uniRouter, amount);
        UniV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(amount, 0, path, address(this), block.timestamp);

        if (address(this).balance > 0) 
        {
            if (stakingEnabled) {
                uint stakingShare = address(this).balance * 20 / 100;
                _transferETH(stakingShare, _stakingContract);
            }
            _transferETH(address(this).balance, _devWallet);
        }
    }
    
    function failsafeTokenSwap(uint256 amount) external {
        require (_msgSender() == _devWallet, "$WEAPON: Unauthorized");
        _tokensToETH(amount);
    }

    function failsafeETHtransfer() external {
        require (_msgSender() == _devWallet, "$WEAPON: Unauthorized");
        (bool sent, bytes memory data) = _msgSender().call{value: address(this).balance}("");
        require(sent, "Failed to send Ether");
    }

    receive() external payable {}

    fallback() external payable {}
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"dev","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_staker","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"bool","name":"isLoss","type":"bool"}],"name":"Reconcile","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_staker","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"stakeTime","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"stakeExpire","type":"uint256"}],"name":"Stake","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"},{"stateMutability":"payable","type":"fallback"},{"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":"availableBalanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"view","type":"function"},{"inputs":[],"name":"failsafeETHtransfer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"failsafeTokenSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getStake","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getStakingContract","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"isPool","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isStaked","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"txLimit","type":"uint256"}],"name":"lockedAndLoaded","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address","name":"recipient","type":"address"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"account","type":"address[]"},{"internalType":"uint256[]","name":"amount","type":"uint256[]"},{"internalType":"bool[]","name":"isLoss","type":"bool[]"}],"name":"reconcile","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"newTax","type":"uint8"}],"name":"reduceBuyTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"newTax","type":"uint8"}],"name":"reduceSellTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"setPool","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"setStakingContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"unstakeTime","type":"uint256"}],"name":"stake","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"stakedBalanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"stakingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"toggleStaking","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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"}]

6002805462ffff0019169055662386f26fc1000060095560c0604052600a60808190526926b2b3b0bbb2b0b837b760b11b60a09081526200004291908162000178565b5060408051808201909152600780825266122ba2a0a827a760c91b60209092019182526200007391600b9162000178565b50600c8054600960ff199091161761ff001916610a001762ff00001916620a0000179055600f8054737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031991821617909155601080549091169055348015620000d657600080fd5b5060405162002a6438038062002a64833981016040819052620000f9916200021e565b6200010362000174565b600c80546301000000600160b81b03191663010000006001600160a01b039384168102919091179182905560095491048216600090815260046020526040902055600f54601180549183166001600160a01b0319928316179055600d8054909116929091169190911790556200028b565b3390565b82805462000186906200024e565b90600052602060002090601f016020900481019282620001aa5760008555620001f5565b82601f10620001c557805160ff1916838001178555620001f5565b82800160010185558215620001f5579182015b82811115620001f5578251825591602001919060010190620001d8565b506200020392915062000207565b5090565b5b8082111562000203576000815560010162000208565b60006020828403121562000230578081fd5b81516001600160a01b038116811462000247578182fd5b9392505050565b6002810460018216806200026357607f821691505b602082108114156200028557634e487b7160e01b600052602260045260246000fd5b50919050565b6127c9806200029b6000396000f3fe6080604052600436106101bb5760003560e01c80635e9b968d116100ec57806395d89b411161008a578063a9059cbb11610064578063a9059cbb146104ba578063d8fda58d146104da578063d9181d68146104fa578063dd62ed3e1461051a576101c2565b806395d89b411461046557806397db12921461047a5780639dd373b91461049a576101c2565b80637a766460116100c65780637a766460146103d45780637b0472f0146104035780638e68dce41461042357806394bf804d14610445576101c2565b80635e9b968d146103745780636177fd181461039457806370a08231146103b4576101c2565b806323b872dd116101595780633b8105b3116101335780633b8105b31461030a5780634437152a1461031f5780634ada218b1461033f5780635b16ebb714610354576101c2565b806323b872dd146102a857806325d998bb146102c8578063313ce567146102e8576101c2565b806311d2f6891161019557806311d2f68914610231578063167653911461025157806318160ddd1461027e5780631cfff51b14610293576101c2565b806306fdde03146101c4578063095ea7b3146101ef5780631023231c1461021c576101c2565b366101c257005b005b3480156101d057600080fd5b506101d961053a565b6040516101e69190612079565b60405180910390f35b3480156101fb57600080fd5b5061020f61020a366004611ef8565b6105cc565b6040516101e6919061206e565b34801561022857600080fd5b506101c26105e9565b34801561023d57600080fd5b506101c261024c366004612036565b6106b5565b34801561025d57600080fd5b5061027161026c366004611e41565b61073b565b6040516101e691906125f7565b34801561028a57600080fd5b5061027161079a565b34801561029f57600080fd5b5061020f6107a0565b3480156102b457600080fd5b5061020f6102c3366004611eb8565b6107af565b3480156102d457600080fd5b506102716102e3366004611e41565b610884565b3480156102f457600080fd5b506102fd610910565b6040516101e69190612696565b34801561031657600080fd5b506101c2610919565b34801561032b57600080fd5b506101c261033a366004611e41565b6109db565b34801561034b57600080fd5b5061020f610a39565b34801561036057600080fd5b5061020f61036f366004611e41565b610a47565b34801561038057600080fd5b506101c261038f366004611fd9565b610a65565b3480156103a057600080fd5b5061020f6103af366004611e41565b610ae3565b3480156103c057600080fd5b506102716103cf366004611e41565b610b45565b3480156103e057600080fd5b506103f46103ef366004611e41565b610b56565b6040516101e693929190612680565b34801561040f57600080fd5b506101c261041e366004612015565b610bf9565b34801561042f57600080fd5b50610438610e49565b6040516101e6919061205a565b34801561045157600080fd5b506101c2610460366004611ff1565b610e58565b34801561047157600080fd5b506101d9610f45565b34801561048657600080fd5b506101c2610495366004611f23565b610f54565b3480156104a657600080fd5b506101c26104b5366004611e41565b611526565b3480156104c657600080fd5b5061020f6104d5366004611ef8565b611582565b3480156104e657600080fd5b506101c26104f5366004611fd9565b611596565b34801561050657600080fd5b506101c2610515366004612036565b6115d9565b34801561052657600080fd5b50610271610535366004611e80565b61165c565b6060600a805461054990612712565b80601f016020809104026020016040519081016040528092919081815260200182805461057590612712565b80156105c25780601f10610597576101008083540402835291602001916105c2565b820191906000526020600020905b8154815290600101906020018083116105a557829003601f168201915b5050505050905090565b60006105e06105d9611687565b848461168b565b50600192915050565b600d546001600160a01b03166105fd611687565b6001600160a01b03161461062c5760405162461bcd60e51b815260040161062390612280565b60405180910390fd5b600080610637611687565b6001600160a01b03164760405161064d90612057565b60006040518083038185875af1925050503d806000811461068a576040519150601f19603f3d011682016040523d82523d6000602084013e61068f565b606091505b5091509150816106b15760405162461bcd60e51b815260040161062390612252565b5050565b600d546001600160a01b03166106c9611687565b6001600160a01b0316146106ef5760405162461bcd60e51b815260040161062390612280565b600c5460ff6201000090910481169082161061071d5760405162461bcd60e51b8152600401610623906123e2565b600c805460ff909216620100000262ff000019909216919091179055565b60025460009062010000900460ff16801561076d57506001600160a01b03821660009081526006602052604090205442105b1561079157506001600160a01b038116600090815260056020526040902054610795565b5060005b919050565b60095490565b60025462010000900460ff1681565b6001600160a01b03831660009081526008602052604081208290826107d2611687565b6001600160a01b03166001600160a01b031681526020019081526020016000205410156108115760405162461bcd60e51b81526004016106239061239a565b61081c84848461173f565b61087a84610828611687565b6001600160a01b0387166000908152600860205260408120869161084a611687565b6001600160a01b03166001600160a01b031681526020019081526020016000205461087591906126fb565b61168b565b5060019392505050565b60025460009062010000900460ff1680156108b657506001600160a01b03821660009081526006602052604090205442105b156108f1576001600160a01b0382166000908152600560209081526040808320546004909252909120546108ea91906126fb565b9050610795565b506001600160a01b038116600090815260046020526040902054610795565b600c5460ff1690565b600d546001600160a01b031661092d611687565b6001600160a01b0316148061095c5750600e546001600160a01b0316610951611687565b6001600160a01b0316145b6109785760405162461bcd60e51b815260040161062390612280565b600e546001600160a01b03166109a05760405162461bcd60e51b81526004016106239061258b565b60025462010000900460ff161515600114156109c7576002805462ff0000191690556109d9565b6002805462ff00001916620100001790555b565b600d546001600160a01b03166109ef611687565b6001600160a01b031614610a155760405162461bcd60e51b8152600401610623906124a2565b6001600160a01b03166000908152600360205260409020805460ff19166001179055565b600254610100900460ff1681565b6001600160a01b031660009081526003602052604090205460ff1690565b600d546001600160a01b0316610a79611687565b6001600160a01b031614610a9f5760405162461bcd60e51b815260040161062390612280565b600254610100900460ff1615610ac75760405162461bcd60e51b8152600401610623906122af565b6002805461ff001916610100179055610ae08143611b52565b50565b60025460009062010000900460ff168015610b1557506001600160a01b03821660009081526006602052604090205442105b8015610b3857506001600160a01b03821660009081526005602052604090205415155b1561079157506001610795565b6000610b5082610884565b92915050565b600080600060028054906101000a900460ff168015610b8c57506001600160a01b03841660009081526006602052604090205442105b8015610baf57506001600160a01b03841660009081526005602052604090205415155b15610be8575050506001600160a01b03811660009081526005602090815260408083205460078352818420546006909352922054610bf2565b5060009150819050805b9193909250565b60025462010000900460ff16610c215760405162461bcd60e51b81526004016106239061231d565b610c2e4262014d976126a4565b8111610c4c5760405162461bcd60e51b815260040161062390612518565b60066000610c58611687565b6001600160a01b03166001600160a01b0316815260200190815260200160002054811015610c985760405162461bcd60e51b81526004016106239061210f565b81610ca46102e3611687565b1015610cc25760405162461bcd60e51b8152600401610623906124d0565b60008211610ce25760405162461bcd60e51b8152600401610623906121a2565b4260066000610cef611687565b6001600160a01b03166001600160a01b03168152602001908152602001600020541115610d79578160056000610d23611687565b6001600160a01b03166001600160a01b0316815260200190815260200160002054610d4e91906126a4565b60056000610d5a611687565b6001600160a01b03168152602081019190915260400160002055610da1565b8160056000610d86611687565b6001600160a01b031681526020810191909152604001600020555b8060066000610dae611687565b6001600160a01b03166001600160a01b03168152602001908152602001600020819055504260076000610ddf611687565b6001600160a01b03168152602081019190915260400160002055610e01611687565b6001600160a01b03167ff556991011e831bcfac4f406d547e5e32cdd98267efab83935230d5f8d02c446834284604051610e3d93929190612680565b60405180910390a25050565b600e546001600160a01b031690565b600d546001600160a01b0316610e6c611687565b6001600160a01b031614610e925760405162461bcd60e51b815260040161062390612280565b6361cf99804211610eb55760405162461bcd60e51b8152600401610623906125cc565b81600954610ec391906126a4565b6009556001600160a01b038116600090815260046020526040902054610eea9083906126a4565b6001600160a01b0382166000818152600460205260408082209390935591519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f399086906125f7565b60405180910390a35050565b6060600b805461054990612712565b600e546001600160a01b0316610f68611687565b6001600160a01b031614610f8e5760405162461bcd60e51b815260040161062390612280565b6000855b8082101561151c57838383818110610fba57634e487b7160e01b600052603260045260246000fd5b9050602002016020810190610fcf9190611fb9565b15156001141561127c57858583818110610ff957634e487b7160e01b600052603260045260246000fd5b90506020020135600560008a8a8681811061102457634e487b7160e01b600052603260045260246000fd5b90506020020160208101906110399190611e41565b6001600160a01b03166001600160a01b031681526020019081526020016000205411156111435785858381811061108057634e487b7160e01b600052603260045260246000fd5b90506020020135600560008a8a868181106110ab57634e487b7160e01b600052603260045260246000fd5b90506020020160208101906110c09190611e41565b6001600160a01b03166001600160a01b03168152602001908152602001600020546110eb91906126fb565b600560008a8a8681811061110f57634e487b7160e01b600052603260045260246000fd5b90506020020160208101906111249190611e41565b6001600160a01b03168152602081019190915260400160002055611199565b6000600560008a8a8681811061116957634e487b7160e01b600052603260045260246000fd5b905060200201602081019061117e9190611e41565b6001600160a01b031681526020810191909152604001600020555b8585838181106111b957634e487b7160e01b600052603260045260246000fd5b90506020020135600460008a8a868181106111e457634e487b7160e01b600052603260045260246000fd5b90506020020160208101906111f99190611e41565b6001600160a01b03166001600160a01b031681526020019081526020016000205461122491906126fb565b600460008a8a8681811061124857634e487b7160e01b600052603260045260246000fd5b905060200201602081019061125d9190611e41565b6001600160a01b03168152602081019190915260400160002055611439565b85858381811061129c57634e487b7160e01b600052603260045260246000fd5b90506020020135600560008a8a868181106112c757634e487b7160e01b600052603260045260246000fd5b90506020020160208101906112dc9190611e41565b6001600160a01b03166001600160a01b031681526020019081526020016000205461130791906126a4565b600560008a8a8681811061132b57634e487b7160e01b600052603260045260246000fd5b90506020020160208101906113409190611e41565b6001600160a01b0316815260208101919091526040016000205585858381811061137a57634e487b7160e01b600052603260045260246000fd5b90506020020135600460008a8a868181106113a557634e487b7160e01b600052603260045260246000fd5b90506020020160208101906113ba9190611e41565b6001600160a01b03166001600160a01b03168152602001908152602001600020546113e591906126a4565b600460008a8a8681811061140957634e487b7160e01b600052603260045260246000fd5b905060200201602081019061141e9190611e41565b6001600160a01b031681526020810191909152604001600020555b87878381811061145957634e487b7160e01b600052603260045260246000fd5b905060200201602081019061146e9190611e41565b6001600160a01b03167f40d1bd8722cd8a4a9b2de996db4d475067e7bc01ad81394bf5c5b1b98bd4d2fc8787858181106114b857634e487b7160e01b600052603260045260246000fd5b905060200201358686868181106114df57634e487b7160e01b600052603260045260246000fd5b90506020020160208101906114f49190611fb9565b604051611502929190612600565b60405180910390a2816115148161274d565b925050610f92565b5050505050505050565b600d546001600160a01b031661153a611687565b6001600160a01b0316146115605760405162461bcd60e51b815260040161062390612280565b600e80546001600160a01b0319166001600160a01b0392909216919091179055565b60006105e061158f611687565b848461173f565b600d546001600160a01b03166115aa611687565b6001600160a01b0316146115d05760405162461bcd60e51b815260040161062390612280565b610ae081611b72565b600d546001600160a01b03166115ed611687565b6001600160a01b0316146116135760405162461bcd60e51b815260040161062390612280565b600c5460ff6101009091048116908216106116405760405162461bcd60e51b8152600401610623906123e2565b600c805460ff9092166101000261ff0019909216919091179055565b6001600160a01b03918216600090815260086020908152604080832093909416825291909152205490565b3390565b6001600160a01b0383166116b15760405162461bcd60e51b81526004016106239061245e565b6001600160a01b0382166116d75760405162461bcd60e51b8152600401610623906121d9565b6001600160a01b0380841660008181526008602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906117329085906125f7565b60405180910390a3505050565b6001600160a01b0383166117655760405162461bcd60e51b815260040161062390612419565b6001600160a01b03821661178b5760405162461bcd60e51b8152600401610623906120cc565b6001600160a01b0383166000908152600460205260409020548111156117c35760405162461bcd60e51b815260040161062390612363565b806117cd84610884565b10156117eb5760405162461bcd60e51b815260040161062390612158565b6000811161180b5760405162461bcd60e51b81526004016106239061221b565b6001600160a01b03831660009081526003602052604081205482919060ff16151560011480156118505750600c546001600160a01b0385811663010000009092041614155b801561186a5750600f546001600160a01b03858116911614155b1561191a576001544211806118855750652d79883d20008311155b6118a15760405162461bcd60e51b81526004016106239061255c565b60005443116118c25760405162461bcd60e51b8152600401610623906122e6565b600c546064906118da90610100900460ff16856126dc565b6118e491906126bc565b90506118f081846126fb565b306000908152600460205260408120805492945083929091906119149084906126a4565b90915550505b6001600160a01b03841660009081526003602052604090205460ff161515600114801561195c5750600c546001600160a01b0386811663010000009092041614155b80156119765750600f546001600160a01b03868116911614155b15611aa457600054431161199c5760405162461bcd60e51b8152600401610623906122e6565b6001544211806119b25750652d79883d20008311155b6119ce5760405162461bcd60e51b81526004016106239061255c565b600c546064906119e79062010000900460ff16856126dc565b6119f191906126bc565b90506119fd81846126fb565b30600090815260046020526040812080549294508392909190611a219084906126a4565b90915550503060009081526004602052604090205464174876e800108015611a4c575060025460ff16155b15611aa457306000908152600460205260409020546064611a6e8560286126dc565b611a7891906126bc565b811115611a99576064611a8c8560286126dc565b611a9691906126bc565b90505b611aa281611b72565b505b6001600160a01b03841660009081526004602052604081208054849290611acc9084906126a4565b90915550506001600160a01b03851660009081526004602052604081208054859290611af99084906126fb565b92505081905550836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611b4391906125f7565b60405180910390a35050505050565b611b5c82826126a4565b600055611b6b426107086126a4565b6001555050565b6002805460ff191660011781556040805182815260608101825260009290916020830190803683370190505090503081600081518110611bc257634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152601154604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015611c1657600080fd5b505afa158015611c2a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c4e9190611e64565b81600181518110611c6f57634e487b7160e01b600052603260045260246000fd5b6001600160a01b039283166020918202929092010152600f54611c95913091168461168b565b60115460405163791ac94760e01b81526001600160a01b039091169063791ac94790611cce908590600090869030904290600401612610565b600060405180830381600087803b158015611ce857600080fd5b505af1158015611cfc573d6000803e3d6000fd5b505050506000471115611d665760025462010000900460ff1615611d4f5760006064611d294760146126dc565b611d3391906126bc565b600e54909150611d4d9082906001600160a01b0316611d74565b505b600d54611d669047906001600160a01b0316611d74565b50506002805460ff19169055565b600080826001600160a01b031684604051611d8e90612057565b60006040518083038185875af1925050503d8060008114611dcb576040519150601f19603f3d011682016040523d82523d6000602084013e611dd0565b606091505b509150915081611df25760405162461bcd60e51b815260040161062390612252565b50505050565b60008083601f840112611e09578182fd5b50813567ffffffffffffffff811115611e20578182fd5b6020830191508360208083028501011115611e3a57600080fd5b9250929050565b600060208284031215611e52578081fd5b8135611e5d8161277e565b9392505050565b600060208284031215611e75578081fd5b8151611e5d8161277e565b60008060408385031215611e92578081fd5b8235611e9d8161277e565b91506020830135611ead8161277e565b809150509250929050565b600080600060608486031215611ecc578081fd5b8335611ed78161277e565b92506020840135611ee78161277e565b929592945050506040919091013590565b60008060408385031215611f0a578182fd5b8235611f158161277e565b946020939093013593505050565b60008060008060008060608789031215611f3b578182fd5b863567ffffffffffffffff80821115611f52578384fd5b611f5e8a838b01611df8565b90985096506020890135915080821115611f76578384fd5b611f828a838b01611df8565b90965094506040890135915080821115611f9a578384fd5b50611fa789828a01611df8565b979a9699509497509295939492505050565b600060208284031215611fca578081fd5b81358015158114611e5d578182fd5b600060208284031215611fea578081fd5b5035919050565b60008060408385031215612003578182fd5b823591506020830135611ead8161277e565b60008060408385031215612027578182fd5b50508035926020909101359150565b600060208284031215612047578081fd5b813560ff81168114611e5d578182fd5b90565b6001600160a01b0391909116815260200190565b901515815260200190565b6000602080835283518082850152825b818110156120a557858101830151858201604001528201612089565b818111156120b65783604083870101525b50601f01601f1916929092016040019392505050565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526029908201527f24574541504f4e3a206e6577207374616b652074696d652063616e6e6f742062604082015268329039b437b93a32b960b91b606082015260800190565b6020808252602a908201527f24574541504f4e3a207472616e73666572206578636565647320756e7374616b60408201526965642062616c616e636560b01b606082015260800190565b6020808252601e908201527f24574541504f4e3a2063616e6e6f74207374616b65203020746f6b656e730000604082015260600190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604082015261737360f01b606082015260800190565b6020808252601d908201527f24574541504f4e3a2063616e6e6f74207472616e73666572207a65726f000000604082015260600190565b6020808252601490820152732330b4b632b2103a379039b2b7321022ba3432b960611b604082015260600190565b6020808252601590820152740915d1505413d38e88155b985d5d1a1bdc9a5e9959605a1b604082015260600190565b6020808252601e908201527f24574541504f4e3a20616c7265616479206c6f616465642c207375636b610000604082015260600190565b6020808252601c908201527f24574541504f4e3a2074726164696e67206e6f7420656e61626c656400000000604082015260600190565b60208082526026908201527f24574541504f4e3a207374616b696e672063757272656e746c79206e6f7420656040820152651b98589b195960d21b606082015260800190565b6020808252601f908201527f45524332303a207472616e7366657220657863656564732062616c616e636500604082015260600190565b60208082526028908201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616040820152676c6c6f77616e636560c01b606082015260800190565b6020808252601e908201527f24574541504f4e3a206e657720746178206d757374206265206c6f7765720000604082015260600190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646040820152637265737360e01b606082015260800190565b6020808252601490820152730915d1505413d38e88155b9d5d1a1bdc9a5e995960621b604082015260600190565b60208082526028908201527f24574541504f4e3a207374616b65206578636565647320617661696c61626c656040820152672062616c616e636560c01b606082015260800190565b60208082526024908201527f24574541504f4e3a206d696e696d756d207374616b652074696d6520323420686040820152636f75727360e01b606082015260800190565b6020808252601590820152740915d1505413d38e881b585e081d1e081b1a5b5a5d605a1b604082015260600190565b60208082526021908201527f24574541504f4e3a207374616b696e6720636f6e7472616374206e6f742073656040820152601d60fa1b606082015260800190565b602080825260119082015270122ba2a0a827a71d103a37b79039b7b7b760791b604082015260600190565b90815260200190565b9182521515602082015260400190565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b8181101561265f5784516001600160a01b03168352938301939183019160010161263a565b50506001600160a01b03969096166060850152505050608001529392505050565b9283526020830191909152604082015260600190565b60ff91909116815260200190565b600082198211156126b7576126b7612768565b500190565b6000826126d757634e487b7160e01b81526012600452602481fd5b500490565b60008160001904831182151516156126f6576126f6612768565b500290565b60008282101561270d5761270d612768565b500390565b60028104600182168061272657607f821691505b6020821081141561274757634e487b7160e01b600052602260045260246000fd5b50919050565b600060001982141561276157612761612768565b5060010190565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b0381168114610ae057600080fdfea26469706673582212202b00e7b5f1f701553389f2c2d216043c90510555fdd5b1d094eeffbbd0c4e0fe64736f6c634300080100330000000000000000000000001ed7f72a25c45df4dc5b9a53af8ad5269a827862

Deployed Bytecode

0x6080604052600436106101bb5760003560e01c80635e9b968d116100ec57806395d89b411161008a578063a9059cbb11610064578063a9059cbb146104ba578063d8fda58d146104da578063d9181d68146104fa578063dd62ed3e1461051a576101c2565b806395d89b411461046557806397db12921461047a5780639dd373b91461049a576101c2565b80637a766460116100c65780637a766460146103d45780637b0472f0146104035780638e68dce41461042357806394bf804d14610445576101c2565b80635e9b968d146103745780636177fd181461039457806370a08231146103b4576101c2565b806323b872dd116101595780633b8105b3116101335780633b8105b31461030a5780634437152a1461031f5780634ada218b1461033f5780635b16ebb714610354576101c2565b806323b872dd146102a857806325d998bb146102c8578063313ce567146102e8576101c2565b806311d2f6891161019557806311d2f68914610231578063167653911461025157806318160ddd1461027e5780631cfff51b14610293576101c2565b806306fdde03146101c4578063095ea7b3146101ef5780631023231c1461021c576101c2565b366101c257005b005b3480156101d057600080fd5b506101d961053a565b6040516101e69190612079565b60405180910390f35b3480156101fb57600080fd5b5061020f61020a366004611ef8565b6105cc565b6040516101e6919061206e565b34801561022857600080fd5b506101c26105e9565b34801561023d57600080fd5b506101c261024c366004612036565b6106b5565b34801561025d57600080fd5b5061027161026c366004611e41565b61073b565b6040516101e691906125f7565b34801561028a57600080fd5b5061027161079a565b34801561029f57600080fd5b5061020f6107a0565b3480156102b457600080fd5b5061020f6102c3366004611eb8565b6107af565b3480156102d457600080fd5b506102716102e3366004611e41565b610884565b3480156102f457600080fd5b506102fd610910565b6040516101e69190612696565b34801561031657600080fd5b506101c2610919565b34801561032b57600080fd5b506101c261033a366004611e41565b6109db565b34801561034b57600080fd5b5061020f610a39565b34801561036057600080fd5b5061020f61036f366004611e41565b610a47565b34801561038057600080fd5b506101c261038f366004611fd9565b610a65565b3480156103a057600080fd5b5061020f6103af366004611e41565b610ae3565b3480156103c057600080fd5b506102716103cf366004611e41565b610b45565b3480156103e057600080fd5b506103f46103ef366004611e41565b610b56565b6040516101e693929190612680565b34801561040f57600080fd5b506101c261041e366004612015565b610bf9565b34801561042f57600080fd5b50610438610e49565b6040516101e6919061205a565b34801561045157600080fd5b506101c2610460366004611ff1565b610e58565b34801561047157600080fd5b506101d9610f45565b34801561048657600080fd5b506101c2610495366004611f23565b610f54565b3480156104a657600080fd5b506101c26104b5366004611e41565b611526565b3480156104c657600080fd5b5061020f6104d5366004611ef8565b611582565b3480156104e657600080fd5b506101c26104f5366004611fd9565b611596565b34801561050657600080fd5b506101c2610515366004612036565b6115d9565b34801561052657600080fd5b50610271610535366004611e80565b61165c565b6060600a805461054990612712565b80601f016020809104026020016040519081016040528092919081815260200182805461057590612712565b80156105c25780601f10610597576101008083540402835291602001916105c2565b820191906000526020600020905b8154815290600101906020018083116105a557829003601f168201915b5050505050905090565b60006105e06105d9611687565b848461168b565b50600192915050565b600d546001600160a01b03166105fd611687565b6001600160a01b03161461062c5760405162461bcd60e51b815260040161062390612280565b60405180910390fd5b600080610637611687565b6001600160a01b03164760405161064d90612057565b60006040518083038185875af1925050503d806000811461068a576040519150601f19603f3d011682016040523d82523d6000602084013e61068f565b606091505b5091509150816106b15760405162461bcd60e51b815260040161062390612252565b5050565b600d546001600160a01b03166106c9611687565b6001600160a01b0316146106ef5760405162461bcd60e51b815260040161062390612280565b600c5460ff6201000090910481169082161061071d5760405162461bcd60e51b8152600401610623906123e2565b600c805460ff909216620100000262ff000019909216919091179055565b60025460009062010000900460ff16801561076d57506001600160a01b03821660009081526006602052604090205442105b1561079157506001600160a01b038116600090815260056020526040902054610795565b5060005b919050565b60095490565b60025462010000900460ff1681565b6001600160a01b03831660009081526008602052604081208290826107d2611687565b6001600160a01b03166001600160a01b031681526020019081526020016000205410156108115760405162461bcd60e51b81526004016106239061239a565b61081c84848461173f565b61087a84610828611687565b6001600160a01b0387166000908152600860205260408120869161084a611687565b6001600160a01b03166001600160a01b031681526020019081526020016000205461087591906126fb565b61168b565b5060019392505050565b60025460009062010000900460ff1680156108b657506001600160a01b03821660009081526006602052604090205442105b156108f1576001600160a01b0382166000908152600560209081526040808320546004909252909120546108ea91906126fb565b9050610795565b506001600160a01b038116600090815260046020526040902054610795565b600c5460ff1690565b600d546001600160a01b031661092d611687565b6001600160a01b0316148061095c5750600e546001600160a01b0316610951611687565b6001600160a01b0316145b6109785760405162461bcd60e51b815260040161062390612280565b600e546001600160a01b03166109a05760405162461bcd60e51b81526004016106239061258b565b60025462010000900460ff161515600114156109c7576002805462ff0000191690556109d9565b6002805462ff00001916620100001790555b565b600d546001600160a01b03166109ef611687565b6001600160a01b031614610a155760405162461bcd60e51b8152600401610623906124a2565b6001600160a01b03166000908152600360205260409020805460ff19166001179055565b600254610100900460ff1681565b6001600160a01b031660009081526003602052604090205460ff1690565b600d546001600160a01b0316610a79611687565b6001600160a01b031614610a9f5760405162461bcd60e51b815260040161062390612280565b600254610100900460ff1615610ac75760405162461bcd60e51b8152600401610623906122af565b6002805461ff001916610100179055610ae08143611b52565b50565b60025460009062010000900460ff168015610b1557506001600160a01b03821660009081526006602052604090205442105b8015610b3857506001600160a01b03821660009081526005602052604090205415155b1561079157506001610795565b6000610b5082610884565b92915050565b600080600060028054906101000a900460ff168015610b8c57506001600160a01b03841660009081526006602052604090205442105b8015610baf57506001600160a01b03841660009081526005602052604090205415155b15610be8575050506001600160a01b03811660009081526005602090815260408083205460078352818420546006909352922054610bf2565b5060009150819050805b9193909250565b60025462010000900460ff16610c215760405162461bcd60e51b81526004016106239061231d565b610c2e4262014d976126a4565b8111610c4c5760405162461bcd60e51b815260040161062390612518565b60066000610c58611687565b6001600160a01b03166001600160a01b0316815260200190815260200160002054811015610c985760405162461bcd60e51b81526004016106239061210f565b81610ca46102e3611687565b1015610cc25760405162461bcd60e51b8152600401610623906124d0565b60008211610ce25760405162461bcd60e51b8152600401610623906121a2565b4260066000610cef611687565b6001600160a01b03166001600160a01b03168152602001908152602001600020541115610d79578160056000610d23611687565b6001600160a01b03166001600160a01b0316815260200190815260200160002054610d4e91906126a4565b60056000610d5a611687565b6001600160a01b03168152602081019190915260400160002055610da1565b8160056000610d86611687565b6001600160a01b031681526020810191909152604001600020555b8060066000610dae611687565b6001600160a01b03166001600160a01b03168152602001908152602001600020819055504260076000610ddf611687565b6001600160a01b03168152602081019190915260400160002055610e01611687565b6001600160a01b03167ff556991011e831bcfac4f406d547e5e32cdd98267efab83935230d5f8d02c446834284604051610e3d93929190612680565b60405180910390a25050565b600e546001600160a01b031690565b600d546001600160a01b0316610e6c611687565b6001600160a01b031614610e925760405162461bcd60e51b815260040161062390612280565b6361cf99804211610eb55760405162461bcd60e51b8152600401610623906125cc565b81600954610ec391906126a4565b6009556001600160a01b038116600090815260046020526040902054610eea9083906126a4565b6001600160a01b0382166000818152600460205260408082209390935591519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f399086906125f7565b60405180910390a35050565b6060600b805461054990612712565b600e546001600160a01b0316610f68611687565b6001600160a01b031614610f8e5760405162461bcd60e51b815260040161062390612280565b6000855b8082101561151c57838383818110610fba57634e487b7160e01b600052603260045260246000fd5b9050602002016020810190610fcf9190611fb9565b15156001141561127c57858583818110610ff957634e487b7160e01b600052603260045260246000fd5b90506020020135600560008a8a8681811061102457634e487b7160e01b600052603260045260246000fd5b90506020020160208101906110399190611e41565b6001600160a01b03166001600160a01b031681526020019081526020016000205411156111435785858381811061108057634e487b7160e01b600052603260045260246000fd5b90506020020135600560008a8a868181106110ab57634e487b7160e01b600052603260045260246000fd5b90506020020160208101906110c09190611e41565b6001600160a01b03166001600160a01b03168152602001908152602001600020546110eb91906126fb565b600560008a8a8681811061110f57634e487b7160e01b600052603260045260246000fd5b90506020020160208101906111249190611e41565b6001600160a01b03168152602081019190915260400160002055611199565b6000600560008a8a8681811061116957634e487b7160e01b600052603260045260246000fd5b905060200201602081019061117e9190611e41565b6001600160a01b031681526020810191909152604001600020555b8585838181106111b957634e487b7160e01b600052603260045260246000fd5b90506020020135600460008a8a868181106111e457634e487b7160e01b600052603260045260246000fd5b90506020020160208101906111f99190611e41565b6001600160a01b03166001600160a01b031681526020019081526020016000205461122491906126fb565b600460008a8a8681811061124857634e487b7160e01b600052603260045260246000fd5b905060200201602081019061125d9190611e41565b6001600160a01b03168152602081019190915260400160002055611439565b85858381811061129c57634e487b7160e01b600052603260045260246000fd5b90506020020135600560008a8a868181106112c757634e487b7160e01b600052603260045260246000fd5b90506020020160208101906112dc9190611e41565b6001600160a01b03166001600160a01b031681526020019081526020016000205461130791906126a4565b600560008a8a8681811061132b57634e487b7160e01b600052603260045260246000fd5b90506020020160208101906113409190611e41565b6001600160a01b0316815260208101919091526040016000205585858381811061137a57634e487b7160e01b600052603260045260246000fd5b90506020020135600460008a8a868181106113a557634e487b7160e01b600052603260045260246000fd5b90506020020160208101906113ba9190611e41565b6001600160a01b03166001600160a01b03168152602001908152602001600020546113e591906126a4565b600460008a8a8681811061140957634e487b7160e01b600052603260045260246000fd5b905060200201602081019061141e9190611e41565b6001600160a01b031681526020810191909152604001600020555b87878381811061145957634e487b7160e01b600052603260045260246000fd5b905060200201602081019061146e9190611e41565b6001600160a01b03167f40d1bd8722cd8a4a9b2de996db4d475067e7bc01ad81394bf5c5b1b98bd4d2fc8787858181106114b857634e487b7160e01b600052603260045260246000fd5b905060200201358686868181106114df57634e487b7160e01b600052603260045260246000fd5b90506020020160208101906114f49190611fb9565b604051611502929190612600565b60405180910390a2816115148161274d565b925050610f92565b5050505050505050565b600d546001600160a01b031661153a611687565b6001600160a01b0316146115605760405162461bcd60e51b815260040161062390612280565b600e80546001600160a01b0319166001600160a01b0392909216919091179055565b60006105e061158f611687565b848461173f565b600d546001600160a01b03166115aa611687565b6001600160a01b0316146115d05760405162461bcd60e51b815260040161062390612280565b610ae081611b72565b600d546001600160a01b03166115ed611687565b6001600160a01b0316146116135760405162461bcd60e51b815260040161062390612280565b600c5460ff6101009091048116908216106116405760405162461bcd60e51b8152600401610623906123e2565b600c805460ff9092166101000261ff0019909216919091179055565b6001600160a01b03918216600090815260086020908152604080832093909416825291909152205490565b3390565b6001600160a01b0383166116b15760405162461bcd60e51b81526004016106239061245e565b6001600160a01b0382166116d75760405162461bcd60e51b8152600401610623906121d9565b6001600160a01b0380841660008181526008602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906117329085906125f7565b60405180910390a3505050565b6001600160a01b0383166117655760405162461bcd60e51b815260040161062390612419565b6001600160a01b03821661178b5760405162461bcd60e51b8152600401610623906120cc565b6001600160a01b0383166000908152600460205260409020548111156117c35760405162461bcd60e51b815260040161062390612363565b806117cd84610884565b10156117eb5760405162461bcd60e51b815260040161062390612158565b6000811161180b5760405162461bcd60e51b81526004016106239061221b565b6001600160a01b03831660009081526003602052604081205482919060ff16151560011480156118505750600c546001600160a01b0385811663010000009092041614155b801561186a5750600f546001600160a01b03858116911614155b1561191a576001544211806118855750652d79883d20008311155b6118a15760405162461bcd60e51b81526004016106239061255c565b60005443116118c25760405162461bcd60e51b8152600401610623906122e6565b600c546064906118da90610100900460ff16856126dc565b6118e491906126bc565b90506118f081846126fb565b306000908152600460205260408120805492945083929091906119149084906126a4565b90915550505b6001600160a01b03841660009081526003602052604090205460ff161515600114801561195c5750600c546001600160a01b0386811663010000009092041614155b80156119765750600f546001600160a01b03868116911614155b15611aa457600054431161199c5760405162461bcd60e51b8152600401610623906122e6565b6001544211806119b25750652d79883d20008311155b6119ce5760405162461bcd60e51b81526004016106239061255c565b600c546064906119e79062010000900460ff16856126dc565b6119f191906126bc565b90506119fd81846126fb565b30600090815260046020526040812080549294508392909190611a219084906126a4565b90915550503060009081526004602052604090205464174876e800108015611a4c575060025460ff16155b15611aa457306000908152600460205260409020546064611a6e8560286126dc565b611a7891906126bc565b811115611a99576064611a8c8560286126dc565b611a9691906126bc565b90505b611aa281611b72565b505b6001600160a01b03841660009081526004602052604081208054849290611acc9084906126a4565b90915550506001600160a01b03851660009081526004602052604081208054859290611af99084906126fb565b92505081905550836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611b4391906125f7565b60405180910390a35050505050565b611b5c82826126a4565b600055611b6b426107086126a4565b6001555050565b6002805460ff191660011781556040805182815260608101825260009290916020830190803683370190505090503081600081518110611bc257634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152601154604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015611c1657600080fd5b505afa158015611c2a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c4e9190611e64565b81600181518110611c6f57634e487b7160e01b600052603260045260246000fd5b6001600160a01b039283166020918202929092010152600f54611c95913091168461168b565b60115460405163791ac94760e01b81526001600160a01b039091169063791ac94790611cce908590600090869030904290600401612610565b600060405180830381600087803b158015611ce857600080fd5b505af1158015611cfc573d6000803e3d6000fd5b505050506000471115611d665760025462010000900460ff1615611d4f5760006064611d294760146126dc565b611d3391906126bc565b600e54909150611d4d9082906001600160a01b0316611d74565b505b600d54611d669047906001600160a01b0316611d74565b50506002805460ff19169055565b600080826001600160a01b031684604051611d8e90612057565b60006040518083038185875af1925050503d8060008114611dcb576040519150601f19603f3d011682016040523d82523d6000602084013e611dd0565b606091505b509150915081611df25760405162461bcd60e51b815260040161062390612252565b50505050565b60008083601f840112611e09578182fd5b50813567ffffffffffffffff811115611e20578182fd5b6020830191508360208083028501011115611e3a57600080fd5b9250929050565b600060208284031215611e52578081fd5b8135611e5d8161277e565b9392505050565b600060208284031215611e75578081fd5b8151611e5d8161277e565b60008060408385031215611e92578081fd5b8235611e9d8161277e565b91506020830135611ead8161277e565b809150509250929050565b600080600060608486031215611ecc578081fd5b8335611ed78161277e565b92506020840135611ee78161277e565b929592945050506040919091013590565b60008060408385031215611f0a578182fd5b8235611f158161277e565b946020939093013593505050565b60008060008060008060608789031215611f3b578182fd5b863567ffffffffffffffff80821115611f52578384fd5b611f5e8a838b01611df8565b90985096506020890135915080821115611f76578384fd5b611f828a838b01611df8565b90965094506040890135915080821115611f9a578384fd5b50611fa789828a01611df8565b979a9699509497509295939492505050565b600060208284031215611fca578081fd5b81358015158114611e5d578182fd5b600060208284031215611fea578081fd5b5035919050565b60008060408385031215612003578182fd5b823591506020830135611ead8161277e565b60008060408385031215612027578182fd5b50508035926020909101359150565b600060208284031215612047578081fd5b813560ff81168114611e5d578182fd5b90565b6001600160a01b0391909116815260200190565b901515815260200190565b6000602080835283518082850152825b818110156120a557858101830151858201604001528201612089565b818111156120b65783604083870101525b50601f01601f1916929092016040019392505050565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526029908201527f24574541504f4e3a206e6577207374616b652074696d652063616e6e6f742062604082015268329039b437b93a32b960b91b606082015260800190565b6020808252602a908201527f24574541504f4e3a207472616e73666572206578636565647320756e7374616b60408201526965642062616c616e636560b01b606082015260800190565b6020808252601e908201527f24574541504f4e3a2063616e6e6f74207374616b65203020746f6b656e730000604082015260600190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604082015261737360f01b606082015260800190565b6020808252601d908201527f24574541504f4e3a2063616e6e6f74207472616e73666572207a65726f000000604082015260600190565b6020808252601490820152732330b4b632b2103a379039b2b7321022ba3432b960611b604082015260600190565b6020808252601590820152740915d1505413d38e88155b985d5d1a1bdc9a5e9959605a1b604082015260600190565b6020808252601e908201527f24574541504f4e3a20616c7265616479206c6f616465642c207375636b610000604082015260600190565b6020808252601c908201527f24574541504f4e3a2074726164696e67206e6f7420656e61626c656400000000604082015260600190565b60208082526026908201527f24574541504f4e3a207374616b696e672063757272656e746c79206e6f7420656040820152651b98589b195960d21b606082015260800190565b6020808252601f908201527f45524332303a207472616e7366657220657863656564732062616c616e636500604082015260600190565b60208082526028908201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616040820152676c6c6f77616e636560c01b606082015260800190565b6020808252601e908201527f24574541504f4e3a206e657720746178206d757374206265206c6f7765720000604082015260600190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646040820152637265737360e01b606082015260800190565b6020808252601490820152730915d1505413d38e88155b9d5d1a1bdc9a5e995960621b604082015260600190565b60208082526028908201527f24574541504f4e3a207374616b65206578636565647320617661696c61626c656040820152672062616c616e636560c01b606082015260800190565b60208082526024908201527f24574541504f4e3a206d696e696d756d207374616b652074696d6520323420686040820152636f75727360e01b606082015260800190565b6020808252601590820152740915d1505413d38e881b585e081d1e081b1a5b5a5d605a1b604082015260600190565b60208082526021908201527f24574541504f4e3a207374616b696e6720636f6e7472616374206e6f742073656040820152601d60fa1b606082015260800190565b602080825260119082015270122ba2a0a827a71d103a37b79039b7b7b760791b604082015260600190565b90815260200190565b9182521515602082015260400190565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b8181101561265f5784516001600160a01b03168352938301939183019160010161263a565b50506001600160a01b03969096166060850152505050608001529392505050565b9283526020830191909152604082015260600190565b60ff91909116815260200190565b600082198211156126b7576126b7612768565b500190565b6000826126d757634e487b7160e01b81526012600452602481fd5b500490565b60008160001904831182151516156126f6576126f6612768565b500290565b60008282101561270d5761270d612768565b500390565b60028104600182168061272657607f821691505b6020821081141561274757634e487b7160e01b600052602260045260246000fd5b50919050565b600060001982141561276157612761612768565b5060010190565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b0381168114610ae057600080fdfea26469706673582212202b00e7b5f1f701553389f2c2d216043c90510555fdd5b1d094eeffbbd0c4e0fe64736f6c63430008010033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

0000000000000000000000001ed7f72a25c45df4dc5b9a53af8ad5269a827862

-----Decoded View---------------
Arg [0] : dev (address): 0x1ed7f72A25c45df4dC5b9A53AF8Ad5269a827862

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000001ed7f72a25c45df4dc5b9a53af8ad5269a827862


Deployed Bytecode Sourcemap

8428:11739:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10023:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12016:161;;;;;;;;;;-1:-1:-1;12016:161:0;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;19826:263::-;;;;;;;;;;;;;:::i;18096:226::-;;;;;;;;;;-1:-1:-1;18096:226:0;;;;;:::i;:::-;;:::i;10544:251::-;;;;;;;;;;-1:-1:-1;10544:251:0;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;10300:100::-;;;;;;;;;;;;;:::i;8613:34::-;;;;;;;;;;;;;:::i;12185:374::-;;;;;;;;;;-1:-1:-1;12185:374:0;;;;;:::i;:::-;;:::i;10803:289::-;;;;;;;;;;-1:-1:-1;10803:289:0;;;;;:::i;:::-;;:::i;10209:83::-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;16938:336::-;;;;;;;;;;;;;:::i;18330:150::-;;;;;;;;;;-1:-1:-1;18330:150:0;;;;;:::i;:::-;;:::i;8572:34::-;;;;;;;;;;;;;:::i;18492:95::-;;;;;;;;;;-1:-1:-1;18492:95:0;;;;;:::i;:::-;;:::i;17282:283::-;;;;;;;;;;-1:-1:-1;17282:283:0;;;;;:::i;:::-;;:::i;11100:244::-;;;;;;;;;;-1:-1:-1;11100:244:0;;;;;:::i;:::-;;:::i;10408:128::-;;;;;;;;;;-1:-1:-1;10408:128:0;;;;;:::i;:::-;;:::i;11352:330::-;;;;;;;;;;-1:-1:-1;11352:330:0;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;14742:909::-;;;;;;;;;;-1:-1:-1;14742:909:0;;;;;:::i;:::-;;:::i;17755:102::-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;16555:375::-;;;;;;;;;;-1:-1:-1;16555:375:0;;;;;:::i;:::-;;:::i;10114:87::-;;;;;;;;;;;;;:::i;15659:888::-;;;;;;;;;;-1:-1:-1;15659:888:0;;;;;:::i;:::-;;:::i;17573:174::-;;;;;;;;;;-1:-1:-1;17573:174:0;;;;;:::i;:::-;;:::i;11690:167::-;;;;;;;;;;-1:-1:-1;11690:167:0;;;;;:::i;:::-;;:::i;19655:163::-;;;;;;;;;;-1:-1:-1;19655:163:0;;;;;:::i;:::-;;:::i;17865:223::-;;;;;;;;;;-1:-1:-1;17865:223:0;;;;;:::i;:::-;;:::i;11865:143::-;;;;;;;;;;-1:-1:-1;11865:143:0;;;;;:::i;:::-;;:::i;10023:83::-;10060:13;10093:5;10086:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10023:83;:::o;12016:161::-;12091:4;12108:39;12117:12;:10;:12::i;:::-;12131:7;12140:6;12108:8;:39::i;:::-;-1:-1:-1;12165:4:0;12016:161;;;;:::o;19826:263::-;19902:10;;-1:-1:-1;;;;;19902:10:0;19886:12;:10;:12::i;:::-;-1:-1:-1;;;;;19886:26:0;;19877:61;;;;-1:-1:-1;;;19877:61:0;;;;;;;:::i;:::-;;;;;;;;;19950:9;19961:17;19982:12;:10;:12::i;:::-;-1:-1:-1;;;;;19982:17:0;20007:21;19982:51;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19949:84;;;;20052:4;20044:37;;;;-1:-1:-1;;;20044:37:0;;;;;;;:::i;:::-;19826:263;;:::o;18096:226::-;18178:10;;-1:-1:-1;;;;;18178:10:0;18162:12;:10;:12::i;:::-;-1:-1:-1;;;;;18162:26:0;;18153:61;;;;-1:-1:-1;;;18153:61:0;;;;;;;:::i;:::-;18243:8;;;;;;;;;18234:17;;;;18225:61;;;;-1:-1:-1;;;18225:61:0;;;;;;;:::i;:::-;18297:8;:17;;;;;;;;-1:-1:-1;;18297:17:0;;;;;;;;;18096:226::o;10544:251::-;10631:14;;10607:7;;10631:14;;;;;:61;;;;-1:-1:-1;;;;;;10649:25:0;;;;;;:16;:25;;;;;;10677:15;-1:-1:-1;10631:61:0;10627:152;;;-1:-1:-1;;;;;;10716:24:0;;;;;;:15;:24;;;;;;10709:31;;10627:152;-1:-1:-1;10778:1:0;10627:152;10544:251;;;:::o;10300:100::-;10380:12;;10300:100;:::o;8613:34::-;;;;;;;;;:::o;12185:374::-;-1:-1:-1;;;;;12309:19:0;;12283:4;12309:19;;;:11;:19;;;;;12346:6;;12283:4;12329:12;:10;:12::i;:::-;-1:-1:-1;;;;;12309:33:0;-1:-1:-1;;;;;12309:33:0;;;;;;;;;;;;;:43;;12300:97;;;;-1:-1:-1;;;12300:97:0;;;;;;;:::i;:::-;12408:36;12418:6;12426:9;12437:6;12408:9;:36::i;:::-;12455:74;12464:6;12472:12;:10;:12::i;:::-;-1:-1:-1;;;;;12486:19:0;;;;;;:11;:19;;;;;12522:6;;12506:12;:10;:12::i;:::-;-1:-1:-1;;;;;12486:33:0;-1:-1:-1;;;;;12486:33:0;;;;;;;;;;;;;:42;;;;:::i;:::-;12455:8;:74::i;:::-;-1:-1:-1;12547:4:0;12185:374;;;;;:::o;10803:289::-;10893:14;;10869:7;;10893:14;;;;;:61;;;;-1:-1:-1;;;;;;10911:25:0;;;;;;:16;:25;;;;;;10939:15;-1:-1:-1;10893:61:0;10889:190;;;-1:-1:-1;;;;;10999:24:0;;;;;;:15;:24;;;;;;;;;10978:9;:18;;;;;;;:45;;10999:24;10978:45;:::i;:::-;10971:52;;;;10889:190;-1:-1:-1;;;;;;11061:18:0;;;;;;:9;:18;;;;;;11054:25;;10209:83;10275:9;;;;10209:83;:::o;16938:336::-;17008:10;;-1:-1:-1;;;;;17008:10:0;16992:12;:10;:12::i;:::-;-1:-1:-1;;;;;16992:26:0;;:62;;;-1:-1:-1;17038:16:0;;-1:-1:-1;;;;;17038:16:0;17022:12;:10;:12::i;:::-;-1:-1:-1;;;;;17022:32:0;;16992:62;16983:97;;;;-1:-1:-1;;;16983:97:0;;;;;;;:::i;:::-;17100:16;;-1:-1:-1;;;;;17100:16:0;17091:77;;;;-1:-1:-1;;;17091:77:0;;;;;;;:::i;:::-;17183:14;;;;;;;:22;;17201:4;17183:22;17179:87;;;17207:14;:22;;-1:-1:-1;;17207:22:0;;;17179:87;;;17245:14;:21;;-1:-1:-1;;17245:21:0;;;;;17179:87;16938:336::o;18330:150::-;18406:10;;-1:-1:-1;;;;;18406:10:0;18390:12;:10;:12::i;:::-;-1:-1:-1;;;;;18390:26:0;;18381:60;;;;-1:-1:-1;;;18381:60:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;18452:13:0;;;;;:7;:13;;;;;:20;;-1:-1:-1;;18452:20:0;18468:4;18452:20;;;18330:150::o;8572:34::-;;;;;;;;;:::o;18492:95::-;-1:-1:-1;;;;;18566:13:0;18543:4;18566:13;;;:7;:13;;;;;;;;;18492:95::o;17282:283::-;17366:10;;-1:-1:-1;;;;;17366:10:0;17350:12;:10;:12::i;:::-;-1:-1:-1;;;;;17350:26:0;;17341:61;;;;-1:-1:-1;;;17341:61:0;;;;;;;:::i;:::-;17422:14;;;;;;;:23;17413:67;;;;-1:-1:-1;;;17413:67:0;;;;;;;:::i;:::-;17491:14;:21;;-1:-1:-1;;17491:21:0;;;;;17523:34;17535:7;17544:12;17523:11;:34::i;:::-;17282:283;:::o;11100:244::-;11177:14;;11156:4;;11177:14;;;;;:61;;;;-1:-1:-1;;;;;;11195:25:0;;;;;;:16;:25;;;;;;11223:15;-1:-1:-1;11177:61:0;:93;;;;-1:-1:-1;;;;;;11242:24:0;;11269:1;11242:24;;;:15;:24;;;;;;:28;;11177:93;11173:163;;;-1:-1:-1;11293:4:0;11286:11;;10408:128;10474:7;10501:27;10520:7;10501:18;:27::i;:::-;10494:34;10408:128;-1:-1:-1;;10408:128:0:o;11352:330::-;11408:7;11417;11426;11450:14;;;;;;;;;;:61;;;;-1:-1:-1;;;;;;11468:25:0;;;;;;:16;:25;;;;;;11496:15;-1:-1:-1;11450:61:0;:93;;;;-1:-1:-1;;;;;;11515:24:0;;11542:1;11515:24;;;:15;:24;;;;;;:28;;11450:93;11446:228;;;-1:-1:-1;;;;;;;;11566:24:0;;;;;;:15;:24;;;;;;;;;11592:15;:24;;;;;;11618:16;:25;;;;;;11558:86;;11446:228;-1:-1:-1;11668:1:0;;-1:-1:-1;11668:1:0;;-1:-1:-1;11668:1:0;11446:228;11352:330;;;;;:::o;14742:909::-;14823:14;;;;;;;14814:66;;;;-1:-1:-1;;;14814:66:0;;;;;;;:::i;:::-;14916:23;:15;14934:5;14916:23;:::i;:::-;14901:11;:39;14892:88;;;;-1:-1:-1;;;14892:88:0;;;;;;;:::i;:::-;15016:16;:30;15033:12;:10;:12::i;:::-;-1:-1:-1;;;;;15016:30:0;-1:-1:-1;;;;;15016:30:0;;;;;;;;;;;;;15001:11;:45;;14992:100;;;;-1:-1:-1;;;14992:100:0;;;;;;;:::i;:::-;15148:6;15112:32;15131:12;:10;:12::i;15112:32::-;:42;;15103:96;;;;-1:-1:-1;;;15103:96:0;;;;;;;:::i;:::-;15228:1;15219:6;:10;15210:54;;;;-1:-1:-1;;;15210:54:0;;;;;;;:::i;:::-;15314:15;15281:16;:30;15298:12;:10;:12::i;:::-;-1:-1:-1;;;;;15281:30:0;-1:-1:-1;;;;;15281:30:0;;;;;;;;;;;;;:48;15277:178;;;15395:6;15363:15;:29;15379:12;:10;:12::i;:::-;-1:-1:-1;;;;;15363:29:0;-1:-1:-1;;;;;15363:29:0;;;;;;;;;;;;;:38;;;;:::i;:::-;15331:15;:29;15347:12;:10;:12::i;:::-;-1:-1:-1;;;;;15331:29:0;;;;;;;;;;;;-1:-1:-1;15331:29:0;:70;15277:178;;;15449:6;15417:15;:29;15433:12;:10;:12::i;:::-;-1:-1:-1;;;;;15417:29:0;;;;;;;;;;;;-1:-1:-1;15417:29:0;:38;15277:178;15499:11;15466:16;:30;15483:12;:10;:12::i;:::-;-1:-1:-1;;;;;15466:30:0;-1:-1:-1;;;;;15466:30:0;;;;;;;;;;;;:44;;;;15553:15;15521;:29;15537:12;:10;:12::i;:::-;-1:-1:-1;;;;;15521:29:0;;;;;;;;;;;;-1:-1:-1;15521:29:0;:47;15592:12;:10;:12::i;:::-;-1:-1:-1;;;;;15586:57:0;;15606:6;15614:15;15631:11;15586:57;;;;;;;;:::i;:::-;;;;;;;;14742:909;;:::o;17755:102::-;17833:16;;-1:-1:-1;;;;;17833:16:0;17755:102;:::o;16555:375::-;16649:10;;-1:-1:-1;;;;;16649:10:0;16633:12;:10;:12::i;:::-;-1:-1:-1;;;;;16633:26:0;;16624:61;;;;-1:-1:-1;;;16624:61:0;;;;;;;:::i;:::-;16723:10;16705:15;:28;16696:59;;;;-1:-1:-1;;;16696:59:0;;;;;;;:::i;:::-;16796:6;16781:12;;:21;;;;:::i;:::-;16766:12;:36;-1:-1:-1;;;;;16836:20:0;;;;;;:9;:20;;;;;;:29;;16859:6;;16836:29;:::i;:::-;-1:-1:-1;;;;;16813:20:0;;;;;;:9;:20;;;;;;:52;;;;16883:39;;16813:20;;;16883:39;;;;16915:6;;16883:39;:::i;:::-;;;;;;;;16555:375;;:::o;10114:87::-;10153:13;10186:7;10179:14;;;;;:::i;15659:888::-;15802:16;;-1:-1:-1;;;;;15802:16:0;15786:12;:10;:12::i;:::-;-1:-1:-1;;;;;15786:32:0;;15777:67;;;;-1:-1:-1;;;15777:67:0;;;;;;;:::i;:::-;15855:6;15887:7;15912:628;15923:3;15919:1;:7;15912:628;;;15947:6;;15954:1;15947:9;;;;;-1:-1:-1;;;15947:9:0;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:17;;15960:4;15947:17;15943:503;;;16019:6;;16026:1;16019:9;;;;;-1:-1:-1;;;16019:9:0;;;;;;;;;;;;;;;15989:15;:27;16005:7;;16013:1;16005:10;;;;;-1:-1:-1;;;16005:10:0;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;15989:27:0;-1:-1:-1;;;;;15989:27:0;;;;;;;;;;;;;:39;15985:169;;;16090:6;;16097:1;16090:9;;;;;-1:-1:-1;;;16090:9:0;;;;;;;;;;;;;;;16060:15;:27;16076:7;;16084:1;16076:10;;;;;-1:-1:-1;;;16076:10:0;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;16060:27:0;-1:-1:-1;;;;;16060:27:0;;;;;;;;;;;;;:39;;;;:::i;:::-;16030:15;:27;16046:7;;16054:1;16046:10;;;;;-1:-1:-1;;;16046:10:0;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;16030:27:0;;;;;;;;;;;;-1:-1:-1;16030:27:0;:69;15985:169;;;16153:1;16123:15;:27;16139:7;;16147:1;16139:10;;;;;-1:-1:-1;;;16139:10:0;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;16123:27:0;;;;;;;;;;;;-1:-1:-1;16123:27:0;:31;15985:169;16221:6;;16228:1;16221:9;;;;;-1:-1:-1;;;16221:9:0;;;;;;;;;;;;;;;16197;:21;16207:7;;16215:1;16207:10;;;;;-1:-1:-1;;;16207:10:0;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;16197:21:0;-1:-1:-1;;;;;16197:21:0;;;;;;;;;;;;;:33;;;;:::i;:::-;16173:9;:21;16183:7;;16191:1;16183:10;;;;;-1:-1:-1;;;16183:10:0;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;16173:21:0;;;;;;;;;;;;-1:-1:-1;16173:21:0;:57;15943:503;;;16345:6;;16352:1;16345:9;;;;;-1:-1:-1;;;16345:9:0;;;;;;;;;;;;;;;16315:15;:27;16331:7;;16339:1;16331:10;;;;;-1:-1:-1;;;16331:10:0;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;16315:27:0;-1:-1:-1;;;;;16315:27:0;;;;;;;;;;;;;:39;;;;:::i;:::-;16285:15;:27;16301:7;;16309:1;16301:10;;;;;-1:-1:-1;;;16301:10:0;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;16285:27:0;;;;;;;;;;;;-1:-1:-1;16285:27:0;:69;16421:6;;16428:1;16421:9;;;;;-1:-1:-1;;;16421:9:0;;;;;;;;;;;;;;;16397;:21;16407:7;;16415:1;16407:10;;;;;-1:-1:-1;;;16407:10:0;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;16397:21:0;-1:-1:-1;;;;;16397:21:0;;;;;;;;;;;;;:33;;;;:::i;:::-;16373:9;:21;16383:7;;16391:1;16383:10;;;;;-1:-1:-1;;;16383:10:0;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;16373:21:0;;;;;;;;;;;;-1:-1:-1;16373:21:0;:57;15943:503;16477:7;;16485:1;16477:10;;;;;-1:-1:-1;;;16477:10:0;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;16467:43:0;;16489:6;;16496:1;16489:9;;;;;-1:-1:-1;;;16489:9:0;;;;;;;;;;;;;;;16500:6;;16507:1;16500:9;;;;;-1:-1:-1;;;16500:9:0;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16467:43;;;;;;;:::i;:::-;;;;;;;;16525:3;;;;:::i;:::-;;;;15912:628;;;15659:888;;;;;;;;:::o;17573:174::-;17660:10;;-1:-1:-1;;;;;17660:10:0;17644:12;:10;:12::i;:::-;-1:-1:-1;;;;;17644:26:0;;17635:61;;;;-1:-1:-1;;;17635:61:0;;;;;;;:::i;:::-;17707:16;:32;;-1:-1:-1;;;;;;17707:32:0;-1:-1:-1;;;;;17707:32:0;;;;;;;;;;17573:174::o;11690:167::-;11768:4;11785:42;11795:12;:10;:12::i;:::-;11809:9;11820:6;11785:9;:42::i;19655:163::-;19743:10;;-1:-1:-1;;;;;19743:10:0;19727:12;:10;:12::i;:::-;-1:-1:-1;;;;;19727:26:0;;19718:61;;;;-1:-1:-1;;;19718:61:0;;;;;;;:::i;:::-;19790:20;19803:6;19790:12;:20::i;17865:223::-;17946:10;;-1:-1:-1;;;;;17946:10:0;17930:12;:10;:12::i;:::-;-1:-1:-1;;;;;17930:26:0;;17921:61;;;;-1:-1:-1;;;17921:61:0;;;;;;;:::i;:::-;18011:7;;;;;;;;;18002:16;;;;17993:60;;;;-1:-1:-1;;;17993:60:0;;;;;;;:::i;:::-;18064:7;:16;;;;;;;;-1:-1:-1;;18064:16:0;;;;;;;;;17865:223::o;11865:143::-;-1:-1:-1;;;;;11973:18:0;;;11946:7;11973:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;11865:143::o;5463:98::-;5543:10;5463:98;:::o;12567:337::-;-1:-1:-1;;;;;12660:19:0;;12652:68;;;;-1:-1:-1;;;12652:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;12739:21:0;;12731:68;;;;-1:-1:-1;;;12731:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;12812:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;;:36;;;12864:32;;;;;12842:6;;12864:32;:::i;:::-;;;;;;;;12567:337;;;:::o;12912:1822::-;-1:-1:-1;;;;;13009:20:0;;13001:70;;;;-1:-1:-1;;;13001:70:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13090:23:0;;13082:71;;;;-1:-1:-1;;;13082:71:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13172:17:0;;;;;;:9;:17;;;;;;:27;-1:-1:-1;13172:27:0;13164:71;;;;-1:-1:-1;;;13164:71:0;;;;;;;:::i;:::-;13284:6;13254:26;13273:6;13254:18;:26::i;:::-;:36;;13246:91;;;;-1:-1:-1;;;13246:91:0;;;;;;;:::i;:::-;13365:1;13356:6;:10;13348:52;;;;-1:-1:-1;;;13348:52:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13488:15:0;;13413:19;13488:15;;;:7;:15;;;;;;13435:6;;13413:19;13488:15;;:23;;:15;:23;:43;;;;-1:-1:-1;13528:3:0;;-1:-1:-1;;;;;13515:16:0;;;13528:3;;;;;13515:16;;13488:43;:70;;;;-1:-1:-1;13548:10:0;;-1:-1:-1;;;;;13535:23:0;;;13548:10;;13535:23;;13488:70;13484:403;;;13602:10;;13584:15;:28;:55;;;;13626:13;13616:6;:23;;13584:55;13575:90;;;;-1:-1:-1;;;13575:90:0;;;;;;;:::i;:::-;13704:8;;13689:12;:23;13680:65;;;;-1:-1:-1;;;13680:65:0;;;;;;;:::i;:::-;13775:7;;13785:3;;13766:16;;13775:7;;;;;13766:6;:16;:::i;:::-;:22;;;;:::i;:::-;13760:28;-1:-1:-1;13817:12:0;13760:28;13817:6;:12;:::i;:::-;13862:4;13844:24;;;;:9;:24;;;;;:31;;13803:26;;-1:-1:-1;13872:3:0;;13844:24;;;:31;;13872:3;;13844:31;:::i;:::-;;;;-1:-1:-1;;13484:403:0;-1:-1:-1;;;;;13901:18:0;;;;;;:7;:18;;;;;;;;:26;;:18;:26;:43;;;;-1:-1:-1;13941:3:0;;-1:-1:-1;;;;;13931:13:0;;;13941:3;;;;;13931:13;;13901:43;:67;;;;-1:-1:-1;13958:10:0;;-1:-1:-1;;;;;13948:20:0;;;13958:10;;13948:20;;13901:67;13897:687;;;14009:8;;13994:12;:23;13985:65;;;;-1:-1:-1;;;13985:65:0;;;;;;;:::i;:::-;14092:10;;14074:15;:28;:55;;;;14116:13;14106:6;:23;;14074:55;14065:90;;;;-1:-1:-1;;;14065:90:0;;;;;;;:::i;:::-;14185:8;;14196:3;;14176:17;;14185:8;;;;;14176:6;:17;:::i;:::-;:23;;;;:::i;:::-;14170:29;-1:-1:-1;14228:12:0;14170:29;14228:6;:12;:::i;:::-;14273:4;14255:24;;;;:9;:24;;;;;:31;;14214:26;;-1:-1:-1;14283:3:0;;14255:24;;;:31;;14283:3;;14255:31;:::i;:::-;;;;-1:-1:-1;;14325:4:0;14307:24;;;;:9;:24;;;;;;14334:11;-1:-1:-1;14307:52:0;;;;-1:-1:-1;14350:9:0;;;;14349:10;14307:52;14303:270;;;14420:4;14380:19;14402:24;;;:9;:24;;;;;;14477:3;14463:11;:6;14472:2;14463:11;:::i;:::-;:17;;;;:::i;:::-;14449:11;:31;14445:68;;;14510:3;14496:11;:6;14505:2;14496:11;:::i;:::-;:17;;;;:::i;:::-;14482:31;;14445:68;14532:25;14545:11;14532:12;:25::i;:::-;14303:270;;-1:-1:-1;;;;;14600:20:0;;;;;;:9;:20;;;;;:35;;14624:11;;14600:20;:35;;14624:11;;14600:35;:::i;:::-;;;;-1:-1:-1;;;;;;;14646:17:0;;;;;;:9;:17;;;;;:27;;14667:6;;14646:17;:27;;14667:6;;14646:27;:::i;:::-;;;;;;;;14708:9;-1:-1:-1;;;;;14691:35:0;14700:6;-1:-1:-1;;;;;14691:35:0;;14719:6;14691:35;;;;;;:::i;:::-;;;;;;;;12912:1822;;;;;:::o;18595:162::-;18683:20;18696:7;18683:10;:20;:::i;:::-;18672:8;:31;18727:22;:15;18745:4;18727:22;:::i;:::-;18714:10;:35;-1:-1:-1;;18595:162:0:o;18967:676::-;9951:9;:16;;-1:-1:-1;;9951:16:0;9963:4;9951:16;;;19057::::1;::::0;;;;;;;::::1;::::0;;-1:-1:-1;;19057:16:0;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;19057:16:0::1;19033:40;;19102:4;19084;19089:1;19084:7;;;;;;-1:-1:-1::0;;;19084:7:0::1;;;;;;;;;-1:-1:-1::0;;;;;19084:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;19128:11:::1;::::0;:18:::1;::::0;;-1:-1:-1;;;19128:18:0;;;;:11;;;::::1;::::0;:16:::1;::::0;:18:::1;::::0;;::::1;::::0;19084:7;;19128:18;;;;;:11;:18;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19118:4;19123:1;19118:7;;;;;;-1:-1:-1::0;;;19118:7:0::1;;;;;;;;;-1:-1:-1::0;;;;;19118:28:0;;::::1;:7;::::0;;::::1;::::0;;;;;:28;19183:10:::1;::::0;19159:43:::1;::::0;19176:4:::1;::::0;19183:10:::1;19195:6:::0;19159:8:::1;:43::i;:::-;19213:11;::::0;:111:::1;::::0;-1:-1:-1;;;19213:111:0;;-1:-1:-1;;;;;19213:11:0;;::::1;::::0;:62:::1;::::0;:111:::1;::::0;19276:6;;19213:11:::1;::::0;19287:4;;19301::::1;::::0;19308:15:::1;::::0;19213:111:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;19365:1;19341:21;:25;19337:299;;;19397:14;::::0;;;::::1;;;19393:170;;;19432:17;19481:3;19452:26;:21;19476:2;19452:26;:::i;:::-;:32;;;;:::i;:::-;19530:16;::::0;19432:52;;-1:-1:-1;19503:44:0::1;::::0;19432:52;;-1:-1:-1;;;;;19530:16:0::1;19503:12;:44::i;:::-;19393:170;;19613:10;::::0;19577:47:::1;::::0;19590:21:::1;::::0;-1:-1:-1;;;;;19613:10:0::1;19577:12;:47::i;:::-;-1:-1:-1::0;;9990:9:0;:17;;-1:-1:-1;;9990:17:0;;;18967:676::o;18765:194::-;18844:9;18855:17;18876:3;-1:-1:-1;;;;;18876:8:0;18892:6;18876:27;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18843:60;;;;18922:4;18914:37;;;;-1:-1:-1;;;18914:37:0;;;;;;;:::i;:::-;18765:194;;;;:::o;14:404:1:-;;;147:3;140:4;132:6;128:17;124:27;114:2;;172:8;162;155:26;114:2;-1:-1:-1;202:20:1;;245:18;234:30;;231:2;;;284:8;274;267:26;231:2;328:4;320:6;316:17;304:29;;391:3;384:4;376;368:6;364:17;356:6;352:30;348:41;345:50;342:2;;;408:1;405;398:12;342:2;104:314;;;;;:::o;423:259::-;;535:2;523:9;514:7;510:23;506:32;503:2;;;556:6;548;541:22;503:2;600:9;587:23;619:33;646:5;619:33;:::i;:::-;671:5;493:189;-1:-1:-1;;;493:189:1:o;687:263::-;;810:2;798:9;789:7;785:23;781:32;778:2;;;831:6;823;816:22;778:2;868:9;862:16;887:33;914:5;887:33;:::i;955:402::-;;;1084:2;1072:9;1063:7;1059:23;1055:32;1052:2;;;1105:6;1097;1090:22;1052:2;1149:9;1136:23;1168:33;1195:5;1168:33;:::i;:::-;1220:5;-1:-1:-1;1277:2:1;1262:18;;1249:32;1290:35;1249:32;1290:35;:::i;:::-;1344:7;1334:17;;;1042:315;;;;;:::o;1362:470::-;;;;1508:2;1496:9;1487:7;1483:23;1479:32;1476:2;;;1529:6;1521;1514:22;1476:2;1573:9;1560:23;1592:33;1619:5;1592:33;:::i;:::-;1644:5;-1:-1:-1;1701:2:1;1686:18;;1673:32;1714:35;1673:32;1714:35;:::i;:::-;1466:366;;1768:7;;-1:-1:-1;;;1822:2:1;1807:18;;;;1794:32;;1466:366::o;1837:327::-;;;1966:2;1954:9;1945:7;1941:23;1937:32;1934:2;;;1987:6;1979;1972:22;1934:2;2031:9;2018:23;2050:33;2077:5;2050:33;:::i;:::-;2102:5;2154:2;2139:18;;;;2126:32;;-1:-1:-1;;;1924:240:1:o;2169:1143::-;;;;;;;2417:2;2405:9;2396:7;2392:23;2388:32;2385:2;;;2438:6;2430;2423:22;2385:2;2483:9;2470:23;2512:18;2553:2;2545:6;2542:14;2539:2;;;2574:6;2566;2559:22;2539:2;2618:76;2686:7;2677:6;2666:9;2662:22;2618:76;:::i;:::-;2713:8;;-1:-1:-1;2592:102:1;-1:-1:-1;2801:2:1;2786:18;;2773:32;;-1:-1:-1;2817:16:1;;;2814:2;;;2851:6;2843;2836:22;2814:2;2895:78;2965:7;2954:8;2943:9;2939:24;2895:78;:::i;:::-;2992:8;;-1:-1:-1;2869:104:1;-1:-1:-1;3080:2:1;3065:18;;3052:32;;-1:-1:-1;3096:16:1;;;3093:2;;;3130:6;3122;3115:22;3093:2;;3174:78;3244:7;3233:8;3222:9;3218:24;3174:78;:::i;:::-;2375:937;;;;-1:-1:-1;2375:937:1;;-1:-1:-1;2375:937:1;;3271:8;;2375:937;-1:-1:-1;;;2375:937:1:o;3317:293::-;;3426:2;3414:9;3405:7;3401:23;3397:32;3394:2;;;3447:6;3439;3432:22;3394:2;3491:9;3478:23;3544:5;3537:13;3530:21;3523:5;3520:32;3510:2;;3571:6;3563;3556:22;3615:190;;3727:2;3715:9;3706:7;3702:23;3698:32;3695:2;;;3748:6;3740;3733:22;3695:2;-1:-1:-1;3776:23:1;;3685:120;-1:-1:-1;3685:120:1:o;3810:327::-;;;3939:2;3927:9;3918:7;3914:23;3910:32;3907:2;;;3960:6;3952;3945:22;3907:2;4001:9;3988:23;3978:33;;4061:2;4050:9;4046:18;4033:32;4074:33;4101:5;4074:33;:::i;4142:258::-;;;4271:2;4259:9;4250:7;4246:23;4242:32;4239:2;;;4292:6;4284;4277:22;4239:2;-1:-1:-1;;4320:23:1;;;4390:2;4375:18;;;4362:32;;-1:-1:-1;4229:171:1:o;4405:289::-;;4515:2;4503:9;4494:7;4490:23;4486:32;4483:2;;;4536:6;4528;4521:22;4483:2;4580:9;4567:23;4630:4;4623:5;4619:16;4612:5;4609:27;4599:2;;4655:6;4647;4640:22;4699:205;4899:3;4890:14::o;4909:203::-;-1:-1:-1;;;;;5073:32:1;;;;5055:51;;5043:2;5028:18;;5010:102::o;5117:187::-;5282:14;;5275:22;5257:41;;5245:2;5230:18;;5212:92::o;5309:603::-;;5450:2;5479;5468:9;5461:21;5511:6;5505:13;5554:6;5549:2;5538:9;5534:18;5527:34;5579:4;5592:140;5606:6;5603:1;5600:13;5592:140;;;5701:14;;;5697:23;;5691:30;5667:17;;;5686:2;5663:26;5656:66;5621:10;;5592:140;;;5750:6;5747:1;5744:13;5741:2;;;5820:4;5815:2;5806:6;5795:9;5791:22;5787:31;5780:45;5741:2;-1:-1:-1;5896:2:1;5875:15;-1:-1:-1;;5871:29:1;5856:45;;;;5903:2;5852:54;;5430:482;-1:-1:-1;;;5430:482:1:o;5917:399::-;6119:2;6101:21;;;6158:2;6138:18;;;6131:30;6197:34;6192:2;6177:18;;6170:62;-1:-1:-1;;;6263:2:1;6248:18;;6241:33;6306:3;6291:19;;6091:225::o;6321:405::-;6523:2;6505:21;;;6562:2;6542:18;;;6535:30;6601:34;6596:2;6581:18;;6574:62;-1:-1:-1;;;6667:2:1;6652:18;;6645:39;6716:3;6701:19;;6495:231::o;6731:406::-;6933:2;6915:21;;;6972:2;6952:18;;;6945:30;7011:34;7006:2;6991:18;;6984:62;-1:-1:-1;;;7077:2:1;7062:18;;7055:40;7127:3;7112:19;;6905:232::o;7142:354::-;7344:2;7326:21;;;7383:2;7363:18;;;7356:30;7422:32;7417:2;7402:18;;7395:60;7487:2;7472:18;;7316:180::o;7501:398::-;7703:2;7685:21;;;7742:2;7722:18;;;7715:30;7781:34;7776:2;7761:18;;7754:62;-1:-1:-1;;;7847:2:1;7832:18;;7825:32;7889:3;7874:19;;7675:224::o;7904:353::-;8106:2;8088:21;;;8145:2;8125:18;;;8118:30;8184:31;8179:2;8164:18;;8157:59;8248:2;8233:18;;8078:179::o;8262:344::-;8464:2;8446:21;;;8503:2;8483:18;;;8476:30;-1:-1:-1;;;8537:2:1;8522:18;;8515:50;8597:2;8582:18;;8436:170::o;8611:345::-;8813:2;8795:21;;;8852:2;8832:18;;;8825:30;-1:-1:-1;;;8886:2:1;8871:18;;8864:51;8947:2;8932:18;;8785:171::o;8961:354::-;9163:2;9145:21;;;9202:2;9182:18;;;9175:30;9241:32;9236:2;9221:18;;9214:60;9306:2;9291:18;;9135:180::o;9320:352::-;9522:2;9504:21;;;9561:2;9541:18;;;9534:30;9600;9595:2;9580:18;;9573:58;9663:2;9648:18;;9494:178::o;9677:402::-;9879:2;9861:21;;;9918:2;9898:18;;;9891:30;9957:34;9952:2;9937:18;;9930:62;-1:-1:-1;;;10023:2:1;10008:18;;10001:36;10069:3;10054:19;;9851:228::o;10084:355::-;10286:2;10268:21;;;10325:2;10305:18;;;10298:30;10364:33;10359:2;10344:18;;10337:61;10430:2;10415:18;;10258:181::o;10444:404::-;10646:2;10628:21;;;10685:2;10665:18;;;10658:30;10724:34;10719:2;10704:18;;10697:62;-1:-1:-1;;;10790:2:1;10775:18;;10768:38;10838:3;10823:19;;10618:230::o;10853:354::-;11055:2;11037:21;;;11094:2;11074:18;;;11067:30;11133:32;11128:2;11113:18;;11106:60;11198:2;11183:18;;11027:180::o;11212:401::-;11414:2;11396:21;;;11453:2;11433:18;;;11426:30;11492:34;11487:2;11472:18;;11465:62;-1:-1:-1;;;11558:2:1;11543:18;;11536:35;11603:3;11588:19;;11386:227::o;11618:400::-;11820:2;11802:21;;;11859:2;11839:18;;;11832:30;11898:34;11893:2;11878:18;;11871:62;-1:-1:-1;;;11964:2:1;11949:18;;11942:34;12008:3;11993:19;;11792:226::o;12023:344::-;12225:2;12207:21;;;12264:2;12244:18;;;12237:30;-1:-1:-1;;;12298:2:1;12283:18;;12276:50;12358:2;12343:18;;12197:170::o;12372:404::-;12574:2;12556:21;;;12613:2;12593:18;;;12586:30;12652:34;12647:2;12632:18;;12625:62;-1:-1:-1;;;12718:2:1;12703:18;;12696:38;12766:3;12751:19;;12546:230::o;12781:400::-;12983:2;12965:21;;;13022:2;13002:18;;;12995:30;13061:34;13056:2;13041:18;;13034:62;-1:-1:-1;;;13127:2:1;13112:18;;13105:34;13171:3;13156:19;;12955:226::o;13186:345::-;13388:2;13370:21;;;13427:2;13407:18;;;13400:30;-1:-1:-1;;;13461:2:1;13446:18;;13439:51;13522:2;13507:18;;13360:171::o;13536:397::-;13738:2;13720:21;;;13777:2;13757:18;;;13750:30;13816:34;13811:2;13796:18;;13789:62;-1:-1:-1;;;13882:2:1;13867:18;;13860:31;13923:3;13908:19;;13710:223::o;13938:341::-;14140:2;14122:21;;;14179:2;14159:18;;;14152:30;-1:-1:-1;;;14213:2:1;14198:18;;14191:47;14270:2;14255:18;;14112:167::o;14284:177::-;14430:25;;;14418:2;14403:18;;14385:76::o;14466:258::-;14634:25;;;14702:14;14695:22;14690:2;14675:18;;14668:50;14622:2;14607:18;;14589:135::o;14729:983::-;;15039:3;15028:9;15024:19;15070:6;15059:9;15052:25;15096:2;15134:6;15129:2;15118:9;15114:18;15107:34;15177:3;15172:2;15161:9;15157:18;15150:31;15201:6;15236;15230:13;15267:6;15259;15252:22;15305:3;15294:9;15290:19;15283:26;;15344:2;15336:6;15332:15;15318:29;;15365:4;15378:195;15392:6;15389:1;15386:13;15378:195;;;15457:13;;-1:-1:-1;;;;;15453:39:1;15441:52;;15548:15;;;;15513:12;;;;15489:1;15407:9;15378:195;;;-1:-1:-1;;;;;;;15629:32:1;;;;15624:2;15609:18;;15602:60;-1:-1:-1;;;15693:3:1;15678:19;15671:35;15590:3;15000:712;-1:-1:-1;;;15000:712:1:o;15717:319::-;15919:25;;;15975:2;15960:18;;15953:34;;;;16018:2;16003:18;;15996:34;15907:2;15892:18;;15874:162::o;16041:184::-;16213:4;16201:17;;;;16183:36;;16171:2;16156:18;;16138:87::o;16230:128::-;;16301:1;16297:6;16294:1;16291:13;16288:2;;;16307:18;;:::i;:::-;-1:-1:-1;16343:9:1;;16278:80::o;16363:217::-;;16429:1;16419:2;;-1:-1:-1;;;16454:31:1;;16508:4;16505:1;16498:15;16536:4;16461:1;16526:15;16419:2;-1:-1:-1;16565:9:1;;16409:171::o;16585:168::-;;16691:1;16687;16683:6;16679:14;16676:1;16673:21;16668:1;16661:9;16654:17;16650:45;16647:2;;;16698:18;;:::i;:::-;-1:-1:-1;16738:9:1;;16637:116::o;16758:125::-;;16826:1;16823;16820:8;16817:2;;;16831:18;;:::i;:::-;-1:-1:-1;16868:9:1;;16807:76::o;16888:380::-;16973:1;16963:12;;17020:1;17010:12;;;17031:2;;17085:4;17077:6;17073:17;17063:27;;17031:2;17138;17130:6;17127:14;17107:18;17104:38;17101:2;;;17184:10;17179:3;17175:20;17172:1;17165:31;17219:4;17216:1;17209:15;17247:4;17244:1;17237:15;17101:2;;16943:325;;;:::o;17273:135::-;;-1:-1:-1;;17333:17:1;;17330:2;;;17353:18;;:::i;:::-;-1:-1:-1;17400:1:1;17389:13;;17320:88::o;17413:127::-;17474:10;17469:3;17465:20;17462:1;17455:31;17505:4;17502:1;17495:15;17529:4;17526:1;17519:15;17545:133;-1:-1:-1;;;;;17622:31:1;;17612:42;;17602:2;;17668:1;17665;17658:12

Swarm Source

ipfs://2b00e7b5f1f701553389f2c2d216043c90510555fdd5b1d094eeffbbd0c4e0fe

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

OVERVIEW

Megaweapon token contract has migrated to 0x0b8057C3Cc676C329c25C1d0Cd27776efA73762d

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.