ETH Price: $3,094.92 (-4.29%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer188953702023-12-30 2:26:23400 days ago1703903183IN
0x0c6066b0...83d4EcF92
0 ETH0.001143216.15266882
Approve187676152023-12-12 4:05:47418 days ago1702353947IN
0x0c6066b0...83d4EcF92
0 ETH0.0015556533.50979142
Approve187675972023-12-12 4:02:11418 days ago1702353731IN
0x0c6066b0...83d4EcF92
0 ETH0.0011841325.67289469
Approve187675432023-12-12 3:51:23418 days ago1702353083IN
0x0c6066b0...83d4EcF92
0 ETH0.0013661229.38914332
Approve187675402023-12-12 3:50:47418 days ago1702353047IN
0x0c6066b0...83d4EcF92
0 ETH0.00172437.35810601
Approve187675402023-12-12 3:50:47418 days ago1702353047IN
0x0c6066b0...83d4EcF92
0 ETH0.00172437.35810601
Approve187675402023-12-12 3:50:47418 days ago1702353047IN
0x0c6066b0...83d4EcF92
0 ETH0.00172437.35810601
Approve187675402023-12-12 3:50:47418 days ago1702353047IN
0x0c6066b0...83d4EcF92
0 ETH0.0017947238.89058893
Approve187675322023-12-12 3:49:11418 days ago1702352951IN
0x0c6066b0...83d4EcF92
0 ETH0.0015134132.5578674
Approve187675282023-12-12 3:48:23418 days ago1702352903IN
0x0c6066b0...83d4EcF92
0 ETH0.001316228.31531391
Approve187675172023-12-12 3:46:11418 days ago1702352771IN
0x0c6066b0...83d4EcF92
0 ETH0.0018427339.93101672
Approve187675172023-12-12 3:46:11418 days ago1702352771IN
0x0c6066b0...83d4EcF92
0 ETH0.0018427339.93101672
Approve187675172023-12-12 3:46:11418 days ago1702352771IN
0x0c6066b0...83d4EcF92
0 ETH0.001941142.06254107
Approve187675162023-12-12 3:45:59418 days ago1702352759IN
0x0c6066b0...83d4EcF92
0 ETH0.0018427339.93101672
Approve187675162023-12-12 3:45:59418 days ago1702352759IN
0x0c6066b0...83d4EcF92
0 ETH0.0018427339.93101672
Approve187675162023-12-12 3:45:59418 days ago1702352759IN
0x0c6066b0...83d4EcF92
0 ETH0.0018427339.93101672
Approve187675162023-12-12 3:45:59418 days ago1702352759IN
0x0c6066b0...83d4EcF92
0 ETH0.0018861640.87201969
Approve187675162023-12-12 3:45:59418 days ago1702352759IN
0x0c6066b0...83d4EcF92
0 ETH0.0018861640.87201969
Approve187675162023-12-12 3:45:59418 days ago1702352759IN
0x0c6066b0...83d4EcF92
0 ETH0.0018861640.87201969
Renounce Ownersh...187675142023-12-12 3:45:35418 days ago1702352735IN
0x0c6066b0...83d4EcF92
0 ETH0.0006389128.19801313
Approve187675142023-12-12 3:45:35418 days ago1702352735IN
0x0c6066b0...83d4EcF92
0 ETH0.0014037230.19801313
Approve187675142023-12-12 3:45:35418 days ago1702352735IN
0x0c6066b0...83d4EcF92
0 ETH0.0018738340.60486808
Set Tax187675132023-12-12 3:45:23418 days ago1702352723IN
0x0c6066b0...83d4EcF92
0 ETH0.0009863827.31991205
Set Max Tx Amoun...187675122023-12-12 3:45:11418 days ago1702352711IN
0x0c6066b0...83d4EcF92
0 ETH0.000851827.50050044
Set Swap Enabled187675012023-12-12 3:42:59418 days ago1702352579IN
0x0c6066b0...83d4EcF92
0 ETH0.0007375525.63275397
View all transactions

Latest 12 internal transactions

Advanced mode:
Parent Transaction Hash Block
From
To
187675662023-12-12 3:55:59418 days ago1702353359
0x0c6066b0...83d4EcF92
0.00082971 ETH
187675662023-12-12 3:55:59418 days ago1702353359
0x0c6066b0...83d4EcF92
0.00082971 ETH
187675662023-12-12 3:55:59418 days ago1702353359
0x0c6066b0...83d4EcF92
0.00090274 ETH
187675662023-12-12 3:55:59418 days ago1702353359
0x0c6066b0...83d4EcF92
0.00090274 ETH
187675662023-12-12 3:55:59418 days ago1702353359
0x0c6066b0...83d4EcF92
0.00447462 ETH
187675662023-12-12 3:55:59418 days ago1702353359
0x0c6066b0...83d4EcF92
0.00447462 ETH
187675412023-12-12 3:50:59418 days ago1702353059
0x0c6066b0...83d4EcF92
0.00789712 ETH
187675412023-12-12 3:50:59418 days ago1702353059
0x0c6066b0...83d4EcF92
0.00789712 ETH
187675162023-12-12 3:45:59418 days ago1702352759
0x0c6066b0...83d4EcF92
0.28892779 ETH
187675162023-12-12 3:45:59418 days ago1702352759
0x0c6066b0...83d4EcF92
0.28892779 ETH
187675022023-12-12 3:43:11418 days ago1702352591
0x0c6066b0...83d4EcF92
0.59651329 ETH
187675022023-12-12 3:43:11418 days ago1702352591
0x0c6066b0...83d4EcF92
0.59651329 ETH
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
LN

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: MIT

/**
Swap Bitcoin and Stacks Safely with Lightning.

Website: https://www.lnswap.tech
Telegram: https://t.me/lnswap_erc
Twitter: https://twitter.com/lnswap_erc
Dapp: https://app.lnswap.tech
 */

pragma solidity 0.8.19;

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function decimals() external view returns (uint8);
    function symbol() external view returns (string memory);
    function name() external view returns (string memory);
    function getOwner() external view returns (address);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address _owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

interface IUniswapFactory {
    function createPair(address tokenA, address tokenB) external returns (address uniswapPair);
}

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }
    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }
    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }
}

interface IUniswapRouter {
    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 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;
}

abstract contract Ownable {
    address internal owner;
    constructor(address _owner) {
        owner = _owner;
    }
    modifier onlyOwner() {
        require(isOwner(msg.sender), "!OWNER"); _;
    }
    function isOwner(address account) public view returns (bool) {
        return account == owner;
    }
    function renounceOwnership() public onlyOwner {
        owner = address(0);
        emit OwnershipTransferred(address(0));
    }  
    event OwnershipTransferred(address owner);
}

contract LN is IERC20, Ownable {
    using SafeMath for uint256;

    string constant _name = "LNSwap";
    string constant _symbol = "LN";
    uint8 constant _decimals = 9;

    uint256 _totalSupply = 10 ** 9 * (10 ** _decimals);

    uint256 liquidityFee = 0; 
    uint256 marketingFee = 18;
    uint256 _totalFee = liquidityFee + marketingFee;
    uint256 _denominator = 100;
    uint256 public _maxTxAmounts = (_totalSupply * 30) / 1000;
    address public taxWallet;
    IUniswapRouter public uniswapRouter;
    address public uniswapPair;

    bool public taxSwapEnabled = false;
    uint256 public swapFeeAt = _totalSupply / 100000; // 0.5%

    address routerAddress = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;
    address DEAD = 0x000000000000000000000000000000000000dEaD;

    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) _allowances;
    mapping (address => bool) isExcludedFromFees;
    mapping (address => bool) isExcludedFromMaxTx;
    bool _swapping;

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

    constructor () Ownable(msg.sender) {
        uniswapRouter = IUniswapRouter(routerAddress);
        uniswapPair = IUniswapFactory(uniswapRouter.factory()).createPair(uniswapRouter.WETH(), address(this));
        _allowances[address(this)][address(uniswapRouter)] = type(uint256).max;

        address _owner = owner;
        taxWallet = 0x7ef29158C45a58cA06dA5A73B1F4ba528ec8F304;
        isExcludedFromFees[taxWallet] = true;
        isExcludedFromMaxTx[_owner] = true;
        isExcludedFromMaxTx[taxWallet] = true;
        isExcludedFromMaxTx[DEAD] = true;

        _balances[_owner] = _totalSupply;
        emit Transfer(address(0), _owner, _totalSupply);
    }

    receive() external payable { }

    function totalSupply() external view override returns (uint256) { return _totalSupply; }
    function decimals() external pure override returns (uint8) { return _decimals; }
    function symbol() external pure override returns (string memory) { return _symbol; }
    function name() external pure override returns (string memory) { return _name; }
    function getOwner() external view override returns (address) { return owner; }
    function balanceOf(address account) public view override returns (uint256) { return _balances[account]; }
    function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; }
                
    function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
        if(_swapping){ return _basicTransfer(sender, recipient, amount); }
        
        if (recipient != uniswapPair && recipient != DEAD) {
            require(isExcludedFromMaxTx[recipient] || _balances[recipient] + amount <= _maxTxAmounts, "Transfer amount exceeds the bag size.");
        }        
        if(shouldSwapBack() && shouldTakeFee(sender) && recipient == uniswapPair && amount > swapFeeAt){ 
            swpaBack(); 
        } 
        bool shouldTax = shouldTakeFee(sender) || !taxSwapEnabled;
        if (shouldTax) {
            _balances[recipient] = _balances[recipient].add(chargeFees(sender, amount));
        } else {
            _balances[recipient] = _balances[recipient].add(amount);
        }

        emit Transfer(sender, recipient, amount);
        return true;
    }
    
    function chargeFees(address sender, uint256 amount) internal returns (uint256) {
        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
        uint256 feeAmount = amount.mul(_totalFee).div(_denominator);
        _balances[address(this)] = _balances[address(this)].add(feeAmount);
        emit Transfer(sender, address(this), feeAmount);
        return amount.sub(feeAmount);
    }
        function shouldTakeFee(address sender) internal view returns (bool) {
        return !isExcludedFromFees[sender];
    }

    function setMaxTxAmount(uint256 amountPercent) external onlyOwner {
        _maxTxAmounts = (_totalSupply * amountPercent ) / 1000;
    }

    function setSwapEnabled(bool value) external onlyOwner {
        taxSwapEnabled = value;
    }

    function shouldSwapBack() internal view returns (bool) {
        return !_swapping
        && taxSwapEnabled
        && _balances[address(this)] >= swapFeeAt;
    }
    
    function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
        return true;
    }
    
    function approve(address spender, uint256 amount) public override returns (bool) {
        _allowances[msg.sender][spender] = amount;
        emit Approval(msg.sender, spender, amount);
        return true;
    }

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

        return _transferFrom(sender, recipient, amount);
    }
    
    function swpaBack() internal lockSwap {
        uint256 contractTokenBalance = balanceOf(address(this));
        uint256 amountToLiquify = contractTokenBalance.mul(liquidityFee).div(_totalFee).div(2);
        uint256 amountToSwap = contractTokenBalance.sub(amountToLiquify);

        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapRouter.WETH();

        uint256 balanceBefore = address(this).balance;

        uniswapRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(
            amountToSwap,
            0,
            path,
            address(this),
            block.timestamp
        );
        uint256 amountETH = address(this).balance.sub(balanceBefore);
        uint256 totalETHFee = _totalFee.sub(liquidityFee.div(2));
        uint256 amountETHLiquidity = amountETH.mul(liquidityFee).div(totalETHFee).div(2);
        uint256 amountETHMarketing = amountETH.mul(marketingFee).div(totalETHFee);


        (bool MarketingSuccess, /* bytes memory data */) = payable(taxWallet).call{value: amountETHMarketing, gas: 30000}("");
        require(MarketingSuccess, "receiver rejected ETH transfer");

        if(amountToLiquify > 0){
            uniswapRouter.addLiquidityETH{value: amountETHLiquidity}(
                address(this),
                amountToLiquify,
                0,
                0,
                taxWallet,
                block.timestamp
            );
        }
    }
    
    function transfer(address recipient, uint256 amount) external override returns (bool) {
        return _transferFrom(msg.sender, recipient, amount);
    }
    
    function setTax(uint256 liquidityFee_, uint256 marketingFee_) external onlyOwner {
         liquidityFee = liquidityFee_; 
         marketingFee = marketingFee_;
         _totalFee = liquidityFee + marketingFee;
    }    
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTxAmounts","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountPercent","type":"uint256"}],"name":"setMaxTxAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"value","type":"bool"}],"name":"setSwapEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"liquidityFee_","type":"uint256"},{"internalType":"uint256","name":"marketingFee_","type":"uint256"}],"name":"setTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapFeeAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"taxSwapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"taxWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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"},{"inputs":[],"name":"uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapRouter","outputs":[{"internalType":"contract IUniswapRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052620000126009600a6200048a565b6200002290633b9aca00620004a2565b60015560006002819055601260038190556200003e91620004bc565b60045560646005556103e8600154601e6200005a9190620004a2565b620000669190620004d2565b6006556009805460ff60a01b191690556001546200008990620186a090620004d2565b600a55600b80546001600160a01b0319908116737a250d5630b4cf539739df2c5dacb4c659f2488d17909155600c805490911661dead179055348015620000cf57600080fd5b5060008054336001600160a01b031991821617909155600b54600880546001600160a01b039092169190921681179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa1580156200013c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001629190620004f5565b6001600160a01b031663c9c65396600860009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001c4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001ea9190620004f5565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201523060248201526044016020604051808303816000875af115801562000237573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200025d9190620004f5565b600980546001600160a01b039283166001600160a01b031991821617909155306000908152600e602090815260408083206008548616845282528083206000199055825460078054909516737ef29158c45a58ca06da5a73b1f4ba528ec8f3041785557f1b123301b82290a186d6cb9fe067bdd0dca7c117c0ef141f0c40331e8b8c11ce805460ff1990811660019081179092559187168086526010855283862080548416831790559554871685528285208054831682179055600c5490961684528184208054909116861790559354838352600d82528483208190559351938452919283927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35062000520565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620003cc578160001904821115620003b057620003b062000375565b80851615620003be57918102915b93841c939080029062000390565b509250929050565b600082620003e55750600162000484565b81620003f45750600062000484565b81600181146200040d5760028114620004185762000438565b600191505062000484565b60ff8411156200042c576200042c62000375565b50506001821b62000484565b5060208310610133831016604e8410600b84101617156200045d575081810a62000484565b6200046983836200038b565b806000190482111562000480576200048062000375565b0290505b92915050565b60006200049b60ff841683620003d4565b9392505050565b808202811582820484141762000484576200048462000375565b8082018082111562000484576200048462000375565b600082620004f057634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156200050857600080fd5b81516001600160a01b03811681146200049b57600080fd5b6113ea80620005306000396000f3fe60806040526004361061012e5760003560e01c8063715018a6116100ab578063ac731f8e1161006f578063ac731f8e14610384578063c491a2ca1461039a578063c816841b146103b0578063dd62ed3e146103d0578063e01af92c14610416578063ec28438a1461043657600080fd5b8063715018a6146102e6578063735de9f7146102fb578063893d20e81461031b57806395d89b4114610339578063a9059cbb1461036457600080fd5b80632f54bf6e116100f25780632f54bf6e14610222578063313ce5671461025157806343bcf89e1461026d578063667f65261461028e57806370a08231146102b057600080fd5b806306fdde031461013a578063095ea7b31461017b57806318160ddd146101ab57806323b872dd146101ca5780632dc0562d146101ea57600080fd5b3661013557005b600080fd5b34801561014657600080fd5b5060408051808201909152600681526504c4e537761760d41b60208201525b60405161017291906110c7565b60405180910390f35b34801561018757600080fd5b5061019b61019636600461112d565b610456565b6040519015158152602001610172565b3480156101b757600080fd5b506001545b604051908152602001610172565b3480156101d657600080fd5b5061019b6101e5366004611159565b6104c3565b3480156101f657600080fd5b5060075461020a906001600160a01b031681565b6040516001600160a01b039091168152602001610172565b34801561022e57600080fd5b5061019b61023d36600461119a565b6000546001600160a01b0391821691161490565b34801561025d57600080fd5b5060405160098152602001610172565b34801561027957600080fd5b5060095461019b90600160a01b900460ff1681565b34801561029a57600080fd5b506102ae6102a93660046111b7565b610585565b005b3480156102bc57600080fd5b506101bc6102cb36600461119a565b6001600160a01b03166000908152600d602052604090205490565b3480156102f257600080fd5b506102ae6105d3565b34801561030757600080fd5b5060085461020a906001600160a01b031681565b34801561032757600080fd5b506000546001600160a01b031661020a565b34801561034557600080fd5b50604080518082019091526002815261262760f11b6020820152610165565b34801561037057600080fd5b5061019b61037f36600461112d565b610642565b34801561039057600080fd5b506101bc600a5481565b3480156103a657600080fd5b506101bc60065481565b3480156103bc57600080fd5b5060095461020a906001600160a01b031681565b3480156103dc57600080fd5b506101bc6103eb3660046111d9565b6001600160a01b039182166000908152600e6020908152604080832093909416825291909152205490565b34801561042257600080fd5b506102ae610431366004611212565b61064f565b34801561044257600080fd5b506102ae610451366004611234565b610697565b336000818152600e602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906104b19086815260200190565b60405180910390a35060015b92915050565b6001600160a01b0383166000908152600e6020908152604080832033845290915281205460001914610570576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600e8252838120338252909152919091205461054b9184906106e2565b6001600160a01b0385166000908152600e602090815260408083203384529091529020555b61057b84848461071c565b90505b9392505050565b6000546001600160a01b031633146105b85760405162461bcd60e51b81526004016105af9061124d565b60405180910390fd5b600282905560038190556105cc8183611283565b6004555050565b6000546001600160a01b031633146105fd5760405162461bcd60e51b81526004016105af9061124d565b600080546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b600061057e33848461071c565b6000546001600160a01b031633146106795760405162461bcd60e51b81526004016105af9061124d565b60098054911515600160a01b0260ff60a01b19909216919091179055565b6000546001600160a01b031633146106c15760405162461bcd60e51b81526004016105af9061124d565b6103e8816001546106d29190611296565b6106dc91906112ad565b60065550565b600081848411156107065760405162461bcd60e51b81526004016105af91906110c7565b50600061071384866112cf565b95945050505050565b60115460009060ff161561073c5761073584848461098c565b905061057e565b6009546001600160a01b038481169116148015906107685750600c546001600160a01b03848116911614155b15610813576001600160a01b03831660009081526010602052604090205460ff16806107b957506006546001600160a01b0384166000908152600d60205260409020546107b6908490611283565b11155b6108135760405162461bcd60e51b815260206004820152602560248201527f5472616e7366657220616d6f756e74206578636565647320746865206261672060448201526439b4bd329760d91b60648201526084016105af565b61081b610a72565b801561084057506001600160a01b0384166000908152600f602052604090205460ff16155b801561085957506009546001600160a01b038481169116145b80156108665750600a5482115b1561087357610873610ab3565b6001600160a01b0384166000908152600f602052604081205460ff1615806108a55750600954600160a01b900460ff16155b905080156108f7576108d96108ba8685610e29565b6001600160a01b0386166000908152600d602052604090205490610f34565b6001600160a01b0385166000908152600d6020526040902055610934565b6001600160a01b0384166000908152600d602052604090205461091a9084610f34565b6001600160a01b0385166000908152600d60205260409020555b836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161097991815260200190565b60405180910390a3506001949350505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600d909152918220546109dd9184906106e2565b6001600160a01b038086166000908152600d60205260408082209390935590851681522054610a0c9083610f34565b6001600160a01b038085166000818152600d602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610a609086815260200190565b60405180910390a35060019392505050565b60115460009060ff16158015610a915750600954600160a01b900460ff165b8015610aae5750600a54306000908152600d602052604090205410155b905090565b6011805460ff19166001179055306000908152600d602052604081205490506000610afa6002610af4600454610af460025487610f9390919063ffffffff16565b90611015565b90506000610b088383611057565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110610b4257610b426112e2565b6001600160a01b03928316602091820292909201810191909152600854604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610b9b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bbf91906112f8565b81600181518110610bd257610bd26112e2565b6001600160a01b03928316602091820292909201015260085460405163791ac94760e01b81524792919091169063791ac94790610c1c908690600090879030904290600401611315565b600060405180830381600087803b158015610c3657600080fd5b505af1158015610c4a573d6000803e3d6000fd5b505050506000610c63824761105790919063ffffffff16565b90506000610c88610c7f6002805461101590919063ffffffff16565b60045490611057565b90506000610caa6002610af484610af460025488610f9390919063ffffffff16565b90506000610cc783610af460035487610f9390919063ffffffff16565b6007546040519192506000916001600160a01b039091169061753090849084818181858888f193505050503d8060008114610d1e576040519150601f19603f3d011682016040523d82523d6000602084013e610d23565b606091505b5050905080610d745760405162461bcd60e51b815260206004820152601e60248201527f72656365697665722072656a656374656420455448207472616e73666572000060448201526064016105af565b8815610e135760085460075460405163f305d71960e01b8152306004820152602481018c905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990859060c40160606040518083038185885af1158015610dea573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610e0f9190611386565b5050505b50506011805460ff191690555050505050505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0385166000908152600d90915291822054610e7a9184906106e2565b6001600160a01b0384166000908152600d6020526040812091909155600554600454610eac9190610af4908690610f93565b306000908152600d6020526040902054909150610ec99082610f34565b306000818152600d6020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f1a9085815260200190565b60405180910390a3610f2c8382611057565b949350505050565b600080610f418385611283565b90508381101561057e5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105af565b600082600003610fa5575060006104bd565b6000610fb18385611296565b905082610fbe85836112ad565b1461057e5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105af565b600061057e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611099565b600061057e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506106e2565b600081836110ba5760405162461bcd60e51b81526004016105af91906110c7565b50600061071384866112ad565b600060208083528351808285015260005b818110156110f4578581018301518582016040015282016110d8565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461112a57600080fd5b50565b6000806040838503121561114057600080fd5b823561114b81611115565b946020939093013593505050565b60008060006060848603121561116e57600080fd5b833561117981611115565b9250602084013561118981611115565b929592945050506040919091013590565b6000602082840312156111ac57600080fd5b813561057e81611115565b600080604083850312156111ca57600080fd5b50508035926020909101359150565b600080604083850312156111ec57600080fd5b82356111f781611115565b9150602083013561120781611115565b809150509250929050565b60006020828403121561122457600080fd5b8135801515811461057e57600080fd5b60006020828403121561124657600080fd5b5035919050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b808201808211156104bd576104bd61126d565b80820281158282048414176104bd576104bd61126d565b6000826112ca57634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156104bd576104bd61126d565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561130a57600080fd5b815161057e81611115565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156113655784516001600160a01b031683529383019391830191600101611340565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561139b57600080fd5b835192506020840151915060408401519050925092509256fea26469706673582212205e51d83c5e0d181f1eb9fdd34d7ba19c3b65e83490ec8a50628115b84c02ffb064736f6c63430008130033

Deployed Bytecode

0x60806040526004361061012e5760003560e01c8063715018a6116100ab578063ac731f8e1161006f578063ac731f8e14610384578063c491a2ca1461039a578063c816841b146103b0578063dd62ed3e146103d0578063e01af92c14610416578063ec28438a1461043657600080fd5b8063715018a6146102e6578063735de9f7146102fb578063893d20e81461031b57806395d89b4114610339578063a9059cbb1461036457600080fd5b80632f54bf6e116100f25780632f54bf6e14610222578063313ce5671461025157806343bcf89e1461026d578063667f65261461028e57806370a08231146102b057600080fd5b806306fdde031461013a578063095ea7b31461017b57806318160ddd146101ab57806323b872dd146101ca5780632dc0562d146101ea57600080fd5b3661013557005b600080fd5b34801561014657600080fd5b5060408051808201909152600681526504c4e537761760d41b60208201525b60405161017291906110c7565b60405180910390f35b34801561018757600080fd5b5061019b61019636600461112d565b610456565b6040519015158152602001610172565b3480156101b757600080fd5b506001545b604051908152602001610172565b3480156101d657600080fd5b5061019b6101e5366004611159565b6104c3565b3480156101f657600080fd5b5060075461020a906001600160a01b031681565b6040516001600160a01b039091168152602001610172565b34801561022e57600080fd5b5061019b61023d36600461119a565b6000546001600160a01b0391821691161490565b34801561025d57600080fd5b5060405160098152602001610172565b34801561027957600080fd5b5060095461019b90600160a01b900460ff1681565b34801561029a57600080fd5b506102ae6102a93660046111b7565b610585565b005b3480156102bc57600080fd5b506101bc6102cb36600461119a565b6001600160a01b03166000908152600d602052604090205490565b3480156102f257600080fd5b506102ae6105d3565b34801561030757600080fd5b5060085461020a906001600160a01b031681565b34801561032757600080fd5b506000546001600160a01b031661020a565b34801561034557600080fd5b50604080518082019091526002815261262760f11b6020820152610165565b34801561037057600080fd5b5061019b61037f36600461112d565b610642565b34801561039057600080fd5b506101bc600a5481565b3480156103a657600080fd5b506101bc60065481565b3480156103bc57600080fd5b5060095461020a906001600160a01b031681565b3480156103dc57600080fd5b506101bc6103eb3660046111d9565b6001600160a01b039182166000908152600e6020908152604080832093909416825291909152205490565b34801561042257600080fd5b506102ae610431366004611212565b61064f565b34801561044257600080fd5b506102ae610451366004611234565b610697565b336000818152600e602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906104b19086815260200190565b60405180910390a35060015b92915050565b6001600160a01b0383166000908152600e6020908152604080832033845290915281205460001914610570576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600e8252838120338252909152919091205461054b9184906106e2565b6001600160a01b0385166000908152600e602090815260408083203384529091529020555b61057b84848461071c565b90505b9392505050565b6000546001600160a01b031633146105b85760405162461bcd60e51b81526004016105af9061124d565b60405180910390fd5b600282905560038190556105cc8183611283565b6004555050565b6000546001600160a01b031633146105fd5760405162461bcd60e51b81526004016105af9061124d565b600080546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b600061057e33848461071c565b6000546001600160a01b031633146106795760405162461bcd60e51b81526004016105af9061124d565b60098054911515600160a01b0260ff60a01b19909216919091179055565b6000546001600160a01b031633146106c15760405162461bcd60e51b81526004016105af9061124d565b6103e8816001546106d29190611296565b6106dc91906112ad565b60065550565b600081848411156107065760405162461bcd60e51b81526004016105af91906110c7565b50600061071384866112cf565b95945050505050565b60115460009060ff161561073c5761073584848461098c565b905061057e565b6009546001600160a01b038481169116148015906107685750600c546001600160a01b03848116911614155b15610813576001600160a01b03831660009081526010602052604090205460ff16806107b957506006546001600160a01b0384166000908152600d60205260409020546107b6908490611283565b11155b6108135760405162461bcd60e51b815260206004820152602560248201527f5472616e7366657220616d6f756e74206578636565647320746865206261672060448201526439b4bd329760d91b60648201526084016105af565b61081b610a72565b801561084057506001600160a01b0384166000908152600f602052604090205460ff16155b801561085957506009546001600160a01b038481169116145b80156108665750600a5482115b1561087357610873610ab3565b6001600160a01b0384166000908152600f602052604081205460ff1615806108a55750600954600160a01b900460ff16155b905080156108f7576108d96108ba8685610e29565b6001600160a01b0386166000908152600d602052604090205490610f34565b6001600160a01b0385166000908152600d6020526040902055610934565b6001600160a01b0384166000908152600d602052604090205461091a9084610f34565b6001600160a01b0385166000908152600d60205260409020555b836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161097991815260200190565b60405180910390a3506001949350505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600d909152918220546109dd9184906106e2565b6001600160a01b038086166000908152600d60205260408082209390935590851681522054610a0c9083610f34565b6001600160a01b038085166000818152600d602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610a609086815260200190565b60405180910390a35060019392505050565b60115460009060ff16158015610a915750600954600160a01b900460ff165b8015610aae5750600a54306000908152600d602052604090205410155b905090565b6011805460ff19166001179055306000908152600d602052604081205490506000610afa6002610af4600454610af460025487610f9390919063ffffffff16565b90611015565b90506000610b088383611057565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110610b4257610b426112e2565b6001600160a01b03928316602091820292909201810191909152600854604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610b9b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bbf91906112f8565b81600181518110610bd257610bd26112e2565b6001600160a01b03928316602091820292909201015260085460405163791ac94760e01b81524792919091169063791ac94790610c1c908690600090879030904290600401611315565b600060405180830381600087803b158015610c3657600080fd5b505af1158015610c4a573d6000803e3d6000fd5b505050506000610c63824761105790919063ffffffff16565b90506000610c88610c7f6002805461101590919063ffffffff16565b60045490611057565b90506000610caa6002610af484610af460025488610f9390919063ffffffff16565b90506000610cc783610af460035487610f9390919063ffffffff16565b6007546040519192506000916001600160a01b039091169061753090849084818181858888f193505050503d8060008114610d1e576040519150601f19603f3d011682016040523d82523d6000602084013e610d23565b606091505b5050905080610d745760405162461bcd60e51b815260206004820152601e60248201527f72656365697665722072656a656374656420455448207472616e73666572000060448201526064016105af565b8815610e135760085460075460405163f305d71960e01b8152306004820152602481018c905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990859060c40160606040518083038185885af1158015610dea573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610e0f9190611386565b5050505b50506011805460ff191690555050505050505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0385166000908152600d90915291822054610e7a9184906106e2565b6001600160a01b0384166000908152600d6020526040812091909155600554600454610eac9190610af4908690610f93565b306000908152600d6020526040902054909150610ec99082610f34565b306000818152600d6020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f1a9085815260200190565b60405180910390a3610f2c8382611057565b949350505050565b600080610f418385611283565b90508381101561057e5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105af565b600082600003610fa5575060006104bd565b6000610fb18385611296565b905082610fbe85836112ad565b1461057e5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105af565b600061057e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611099565b600061057e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506106e2565b600081836110ba5760405162461bcd60e51b81526004016105af91906110c7565b50600061071384866112ad565b600060208083528351808285015260005b818110156110f4578581018301518582016040015282016110d8565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461112a57600080fd5b50565b6000806040838503121561114057600080fd5b823561114b81611115565b946020939093013593505050565b60008060006060848603121561116e57600080fd5b833561117981611115565b9250602084013561118981611115565b929592945050506040919091013590565b6000602082840312156111ac57600080fd5b813561057e81611115565b600080604083850312156111ca57600080fd5b50508035926020909101359150565b600080604083850312156111ec57600080fd5b82356111f781611115565b9150602083013561120781611115565b809150509250929050565b60006020828403121561122457600080fd5b8135801515811461057e57600080fd5b60006020828403121561124657600080fd5b5035919050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b808201808211156104bd576104bd61126d565b80820281158282048414176104bd576104bd61126d565b6000826112ca57634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156104bd576104bd61126d565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561130a57600080fd5b815161057e81611115565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156113655784516001600160a01b031683529383019391830191600101611340565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561139b57600080fd5b835192506020840151915060408401519050925092509256fea26469706673582212205e51d83c5e0d181f1eb9fdd34d7ba19c3b65e83490ec8a50628115b84c02ffb064736f6c63430008130033

Deployed Bytecode Sourcemap

4305:7324:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6423:80;;;;;;;;;;-1:-1:-1;6495:5:0;;;;;;;;;;;;-1:-1:-1;;;6495:5:0;;;;6423:80;;;;;;;:::i;:::-;;;;;;;;9121:216;;;;;;;;;;-1:-1:-1;9121:216:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;9121:216:0;1023:187:1;6153:88:0;;;;;;;;;;-1:-1:-1;6226:12:0;;6153:88;;;1361:25:1;;;1349:2;1334:18;6153:88:0;1215:177:1;9345:370:0;;;;;;;;;;-1:-1:-1;9345:370:0;;;;;:::i;:::-;;:::i;4765:24::-;;;;;;;;;;-1:-1:-1;4765:24:0;;;;-1:-1:-1;;;;;4765:24:0;;;;;;-1:-1:-1;;;;;2022:32:1;;;2004:51;;1992:2;1977:18;4765:24:0;1858:203:1;4008:103:0;;;;;;;;;;-1:-1:-1;4008:103:0;;;;;:::i;:::-;4063:4;4098:5;-1:-1:-1;;;;;4087:16:0;;;4098:5;;4087:16;;4008:103;6247:80;;;;;;;;;;-1:-1:-1;6247:80:0;;4481:1;2460:36:1;;2448:2;2433:18;6247:80:0;2318:184:1;4873:34:0;;;;;;;;;;-1:-1:-1;4873:34:0;;;;-1:-1:-1;;;4873:34:0;;;;;;11401:221;;;;;;;;;;-1:-1:-1;11401:221:0;;;;;:::i;:::-;;:::i;:::-;;6593:105;;;;;;;;;;-1:-1:-1;6593:105:0;;;;;:::i;:::-;-1:-1:-1;;;;;6677:18:0;6659:7;6677:18;;;:9;:18;;;;;;;6593:105;4117:131;;;;;;;;;;;;;:::i;4796:35::-;;;;;;;;;;-1:-1:-1;4796:35:0;;;;-1:-1:-1;;;;;4796:35:0;;;6509:78;;;;;;;;;;-1:-1:-1;6561:7:0;6579:5;-1:-1:-1;;;;;6579:5:0;6509:78;;6333:84;;;;;;;;;;-1:-1:-1;6407:7:0;;;;;;;;;;;;-1:-1:-1;;;6407:7:0;;;;6333:84;;11233:156;;;;;;;;;;-1:-1:-1;11233:156:0;;;;;:::i;:::-;;:::i;4914:48::-;;;;;;;;;;;;;;;;4701:57;;;;;;;;;;;;;;;;4838:26;;;;;;;;;;-1:-1:-1;4838:26:0;;;;-1:-1:-1;;;;;4838:26:0;;;6704:133;;;;;;;;;;-1:-1:-1;6704:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;6806:19:0;;;6788:7;6806:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;6704:133;8495:96;;;;;;;;;;-1:-1:-1;8495:96:0;;;;;:::i;:::-;;:::i;8348:139::-;;;;;;;;;;-1:-1:-1;8348:139:0;;;;;:::i;:::-;;:::i;9121:216::-;9225:10;9196:4;9213:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;9213:32:0;;;;;;;;;;:41;;;9270:37;9196:4;;9213:32;;9270:37;;;;9248:6;1361:25:1;;1349:2;1334:18;;1215:177;9270:37:0;;;;;;;;-1:-1:-1;9325:4:0;9121:216;;;;;:::o;9345:370::-;-1:-1:-1;;;;;9465:19:0;;9445:4;9465:19;;;:11;:19;;;;;;;;9485:10;9465:31;;;;;;;;-1:-1:-1;;9465:52:0;9462:186;;9567:69;;;;;;;;;;;-1:-1:-1;;;9567:69:0;;;;;;;;-1:-1:-1;;;;;9567:19:0;;-1:-1:-1;9567:19:0;;;:11;:19;;;;;9587:10;9567:31;;;;;;;;;;:69;;9603:6;;9567:35;:69::i;:::-;-1:-1:-1;;;;;9533:19:0;;;;;;:11;:19;;;;;;;;9553:10;9533:31;;;;;;;:103;9462:186;9667:40;9681:6;9689:9;9700:6;9667:13;:40::i;:::-;9660:47;;9345:370;;;;;;:::o;11401:221::-;4063:4;4098:5;-1:-1:-1;;;;;4098:5:0;3969:10;4087:16;3953:38;;;;-1:-1:-1;;;3953:38:0;;;;;;;:::i;:::-;;;;;;;;;11494:12:::1;:28:::0;;;11535:12:::1;:28:::0;;;11587:27:::1;11550:13:::0;11509;11587:27:::1;:::i;:::-;11575:9;:39:::0;-1:-1:-1;;11401:221:0:o;4117:131::-;4063:4;4098:5;-1:-1:-1;;;;;4098:5:0;3969:10;4087:16;3953:38;;;;-1:-1:-1;;;3953:38:0;;;;;;;:::i;:::-;4190:1:::1;4174:18:::0;;-1:-1:-1;;;;;;4174:18:0::1;::::0;;4208:32:::1;::::0;2004:51:1;;;4208:32:0::1;::::0;1992:2:1;1977:18;4208:32:0::1;;;;;;;4117:131::o:0;11233:156::-;11313:4;11337:44;11351:10;11363:9;11374:6;11337:13;:44::i;8495:96::-;4063:4;4098:5;-1:-1:-1;;;;;4098:5:0;3969:10;4087:16;3953:38;;;;-1:-1:-1;;;3953:38:0;;;;;;;:::i;:::-;8561:14:::1;:22:::0;;;::::1;;-1:-1:-1::0;;;8561:22:0::1;-1:-1:-1::0;;;;8561:22:0;;::::1;::::0;;;::::1;::::0;;8495:96::o;8348:139::-;4063:4;4098:5;-1:-1:-1;;;;;4098:5:0;3969:10;4087:16;3953:38;;;;-1:-1:-1;;;3953:38:0;;;;;;;:::i;:::-;8475:4:::1;8457:13;8442:12;;:28;;;;:::i;:::-;8441:38;;;;:::i;:::-;8425:13;:54:::0;-1:-1:-1;8348:139:0:o;1661:190::-;1747:7;1783:12;1775:6;;;;1767:29;;;;-1:-1:-1;;;1767:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1807:9:0;1819:5;1823:1;1819;:5;:::i;:::-;1807:17;1661:190;-1:-1:-1;;;;;1661:190:0:o;6861:921::-;6973:9;;6953:4;;6973:9;;6970:66;;;6992:41;7007:6;7015:9;7026:6;6992:14;:41::i;:::-;6985:48;;;;6970:66;7073:11;;-1:-1:-1;;;;;7060:24:0;;;7073:11;;7060:24;;;;:45;;-1:-1:-1;7101:4:0;;-1:-1:-1;;;;;7088:17:0;;;7101:4;;7088:17;;7060:45;7056:208;;;-1:-1:-1;;;;;7130:30:0;;;;;;:19;:30;;;;;;;;;:80;;-1:-1:-1;7197:13:0;;-1:-1:-1;;;;;7164:20:0;;;;;;:9;:20;;;;;;:29;;7187:6;;7164:29;:::i;:::-;:46;;7130:80;7122:130;;;;-1:-1:-1;;;7122:130:0;;5172:2:1;7122:130:0;;;5154:21:1;5211:2;5191:18;;;5184:30;5250:34;5230:18;;;5223:62;-1:-1:-1;;;5301:18:1;;;5294:35;5346:19;;7122:130:0;4970:401:1;7122:130:0;7285:16;:14;:16::i;:::-;:41;;;;-1:-1:-1;;;;;;8306:26:0;;8281:4;8306:26;;;:18;:26;;;;;;;;8305:27;7305:21;7285:69;;;;-1:-1:-1;7343:11:0;;-1:-1:-1;;;;;7330:24:0;;;7343:11;;7330:24;7285:69;:91;;;;;7367:9;;7358:6;:18;7285:91;7282:134;;;7393:10;:8;:10::i;:::-;-1:-1:-1;;;;;8306:26:0;;7427:14;8306:26;;;:18;:26;;;;;;;;8305:27;7444:40;;;-1:-1:-1;7470:14:0;;-1:-1:-1;;;7470:14:0;;;;7469:15;7444:40;7427:57;;7499:9;7495:205;;;7548:52;7573:26;7584:6;7592;7573:10;:26::i;:::-;-1:-1:-1;;;;;7548:20:0;;;;;;:9;:20;;;;;;;:24;:52::i;:::-;-1:-1:-1;;;;;7525:20:0;;;;;;:9;:20;;;;;:75;7495:205;;;-1:-1:-1;;;;;7656:20:0;;;;;;:9;:20;;;;;;:32;;7681:6;7656:24;:32::i;:::-;-1:-1:-1;;;;;7633:20:0;;;;;;:9;:20;;;;;:55;7495:205;7734:9;-1:-1:-1;;;;;7717:35:0;7726:6;-1:-1:-1;;;;;7717:35:0;;7745:6;7717:35;;;;1361:25:1;;1349:2;1334:18;;1215:177;7717:35:0;;;;;;;;-1:-1:-1;7770:4:0;;6861:921;-1:-1:-1;;;;6861:921:0:o;8779:330::-;8909:53;;;;;;;;;;;-1:-1:-1;;;8909:53:0;;;;;;;;-1:-1:-1;;;;;8909:17:0;;8872:4;8909:17;;;:9;:17;;;;;;;:53;;8931:6;;8909:21;:53::i;:::-;-1:-1:-1;;;;;8889:17:0;;;;;;;:9;:17;;;;;;:73;;;;8996:20;;;;;;;:32;;9021:6;8996:24;:32::i;:::-;-1:-1:-1;;;;;8973:20:0;;;;;;;:9;:20;;;;;;;:55;;;;9044:35;;;;;;;;;;9072:6;1361:25:1;;1349:2;1334:18;;1215:177;9044:35:0;;;;;;;;-1:-1:-1;9097:4:0;8779:330;;;;;:::o;8599:168::-;8673:9;;8648:4;;8673:9;;8672:10;:37;;;;-1:-1:-1;8695:14:0;;-1:-1:-1;;;8695:14:0;;;;8672:37;:87;;;;-1:-1:-1;8750:9:0;;8740:4;8722:24;;;;:9;:24;;;;;;:37;;8672:87;8665:94;;8599:168;:::o;9727:1494::-;5379:9;:16;;-1:-1:-1;;5379:16:0;5391:4;5379:16;;;9825:4:::1;-1:-1:-1::0;6677:18:0;;;:9;:18;;;;;;9776:55:::1;;9842:23;9868:60;9926:1;9868:53;9911:9;;9868:38;9893:12;;9868:20;:24;;:38;;;;:::i;:::-;:42:::0;::::1;:53::i;:60::-;9842:86:::0;-1:-1:-1;9939:20:0::1;9962:41;:20:::0;9842:86;9962:24:::1;:41::i;:::-;10040:16;::::0;;10054:1:::1;10040:16:::0;;;;;::::1;::::0;;9939:64;;-1:-1:-1;10016:21:0::1;::::0;10040:16;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10040:16:0::1;10016:40;;10085:4;10067;10072:1;10067:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10067:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10111:13:::1;::::0;:20:::1;::::0;;-1:-1:-1;;;10111:20:0;;;;:13;;;::::1;::::0;:18:::1;::::0;:20:::1;::::0;;::::1;::::0;10067:7;;10111:20;;;;;:13;:20:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10101:4;10106:1;10101:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10101:30:0;;::::1;:7;::::0;;::::1;::::0;;;;;:30;10202:13:::1;::::0;:195:::1;::::0;-1:-1:-1;;;10202:195:0;;10168:21:::1;::::0;10202:13;;;::::1;::::0;:64:::1;::::0;:195:::1;::::0;10281:12;;10144:21:::1;::::0;10324:4;;10351::::1;::::0;10371:15:::1;::::0;10202:195:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10408:17;10428:40;10454:13;10428:21;:25;;:40;;;;:::i;:::-;10408:60;;10479:19;10501:34;10515:19;10532:1;10515:12:::0;::::1;:16;;:19;;;;:::i;:::-;10501:9;::::0;;:13:::1;:34::i;:::-;10479:56;;10546:26;10575:51;10624:1;10575:44;10607:11;10575:27;10589:12;;10575:9;:13;;:27;;;;:::i;:51::-;10546:80;;10637:26;10666:44;10698:11;10666:27;10680:12;;10666:9;:13;;:27;;;;:::i;:44::-;10784:9;::::0;10776:66:::1;::::0;10637:73;;-1:-1:-1;10726:21:0::1;::::0;-1:-1:-1;;;;;10784:9:0;;::::1;::::0;10832:5:::1;::::0;10637:73;;10726:21;10776:66;10726:21;10776:66;10637:73;10784:9;10832:5;10776:66:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10725:117;;;10861:16;10853:59;;;::::0;-1:-1:-1;;;10853:59:0;;7293:2:1;10853:59:0::1;::::0;::::1;7275:21:1::0;7332:2;7312:18;;;7305:30;7371:32;7351:18;;;7344:60;7421:18;;10853:59:0::1;7091:354:1::0;10853:59:0::1;10928:19:::0;;10925:289:::1;;10963:13;::::0;11144:9:::1;::::0;10963:239:::1;::::0;-1:-1:-1;;;10963:239:0;;11046:4:::1;10963:239;::::0;::::1;7791:34:1::0;7841:18;;;7834:34;;;10963:13:0::1;7884:18:1::0;;;7877:34;;;7927:18;;;7920:34;-1:-1:-1;;;;;11144:9:0;;::::1;7970:19:1::0;;;7963:44;11172:15:0::1;8023:19:1::0;;;8016:35;10963:13:0;::::1;::::0;:29:::1;::::0;11000:18;;7725:19:1;;10963:239:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;10925:289;-1:-1:-1::0;;5400:9:0;:17;;-1:-1:-1;;5400:17:0;;;-1:-1:-1;;;;;;;;9727:1494:0:o;7794:415::-;7904:53;;;;;;;;;;;-1:-1:-1;;;7904:53:0;;;;;;;;-1:-1:-1;;;;;7904:17:0;;7864:7;7904:17;;;:9;:17;;;;;;;:53;;7926:6;;7904:21;:53::i;:::-;-1:-1:-1;;;;;7884:17:0;;;;;;:9;:17;;;;;:73;;;;8014:12;;7999:9;;7988:39;;8014:12;7988:21;;:6;;:10;:21::i;:39::-;8083:4;8065:24;;;;:9;:24;;;;;;7968:59;;-1:-1:-1;8065:39:0;;7968:59;8065:28;:39::i;:::-;8056:4;8038:24;;;;:9;:24;;;;;;;:66;;;;8120:42;;-1:-1:-1;;;;;8120:42:0;;;;;;;8152:9;1361:25:1;;1349:2;1334:18;;1215:177;8120:42:0;;;;;;;;8180:21;:6;8191:9;8180:10;:21::i;:::-;8173:28;7794:415;-1:-1:-1;;;;7794:415:0:o;1334:179::-;1392:7;;1424:5;1428:1;1424;:5;:::i;:::-;1412:17;;1453:1;1448;:6;;1440:46;;;;-1:-1:-1;;;1440:46:0;;8575:2:1;1440:46:0;;;8557:21:1;8614:2;8594:18;;;8587:30;8653:29;8633:18;;;8626:57;8700:18;;1440:46:0;8373:351:1;1857:246:0;1915:7;1939:1;1944;1939:6;1935:47;;-1:-1:-1;1969:1:0;1962:8;;1935:47;1992:9;2004:5;2008:1;2004;:5;:::i;:::-;1992:17;-1:-1:-1;2037:1:0;2028:5;2032:1;1992:17;2028:5;:::i;:::-;:10;2020:56;;;;-1:-1:-1;;;2020:56:0;;8931:2:1;2020:56:0;;;8913:21:1;8970:2;8950:18;;;8943:30;9009:34;8989:18;;;8982:62;-1:-1:-1;;;9060:18:1;;;9053:31;9101:19;;2020:56:0;8729:397:1;2109:132:0;2167:7;2194:39;2198:1;2201;2194:39;;;;;;;;;;;;;;;;;:3;:39::i;1519:136::-;1577:7;1604:43;1608:1;1611;1604:43;;;;;;;;;;;;;;;;;:3;:43::i;2247:189::-;2333:7;2368:12;2361:5;2353:28;;;;-1:-1:-1;;;2353:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2392:9:0;2404:5;2408:1;2404;:5;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;622:70;567:131;:::o;703:315::-;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2066:247::-;2125:6;2178:2;2166:9;2157:7;2153:23;2149:32;2146:52;;;2194:1;2191;2184:12;2146:52;2233:9;2220:23;2252:31;2277:5;2252:31;:::i;2507:248::-;2575:6;2583;2636:2;2624:9;2615:7;2611:23;2607:32;2604:52;;;2652:1;2649;2642:12;2604:52;-1:-1:-1;;2675:23:1;;;2745:2;2730:18;;;2717:32;;-1:-1:-1;2507:248:1:o;2990:388::-;3058:6;3066;3119:2;3107:9;3098:7;3094:23;3090:32;3087:52;;;3135:1;3132;3125:12;3087:52;3174:9;3161:23;3193:31;3218:5;3193:31;:::i;:::-;3243:5;-1:-1:-1;3300:2:1;3285:18;;3272:32;3313:33;3272:32;3313:33;:::i;:::-;3365:7;3355:17;;;2990:388;;;;;:::o;3383:273::-;3439:6;3492:2;3480:9;3471:7;3467:23;3463:32;3460:52;;;3508:1;3505;3498:12;3460:52;3547:9;3534:23;3600:5;3593:13;3586:21;3579:5;3576:32;3566:60;;3622:1;3619;3612:12;3661:180;3720:6;3773:2;3761:9;3752:7;3748:23;3744:32;3741:52;;;3789:1;3786;3779:12;3741:52;-1:-1:-1;3812:23:1;;3661:180;-1:-1:-1;3661:180:1:o;3846:329::-;4048:2;4030:21;;;4087:1;4067:18;;;4060:29;-1:-1:-1;;;4120:2:1;4105:18;;4098:36;4166:2;4151:18;;3846:329::o;4180:127::-;4241:10;4236:3;4232:20;4229:1;4222:31;4272:4;4269:1;4262:15;4296:4;4293:1;4286:15;4312:125;4377:9;;;4398:10;;;4395:36;;;4411:18;;:::i;4442:168::-;4515:9;;;4546;;4563:15;;;4557:22;;4543:37;4533:71;;4584:18;;:::i;4615:217::-;4655:1;4681;4671:132;;4725:10;4720:3;4716:20;4713:1;4706:31;4760:4;4757:1;4750:15;4788:4;4785:1;4778:15;4671:132;-1:-1:-1;4817:9:1;;4615:217::o;4837:128::-;4904:9;;;4925:11;;;4922:37;;;4939:18;;:::i;5508:127::-;5569:10;5564:3;5560:20;5557:1;5550:31;5600:4;5597:1;5590:15;5624:4;5621:1;5614:15;5640:251;5710:6;5763:2;5751:9;5742:7;5738:23;5734:32;5731:52;;;5779:1;5776;5769:12;5731:52;5811:9;5805:16;5830:31;5855:5;5830:31;:::i;5896:980::-;6158:4;6206:3;6195:9;6191:19;6237:6;6226:9;6219:25;6263:2;6301:6;6296:2;6285:9;6281:18;6274:34;6344:3;6339:2;6328:9;6324:18;6317:31;6368:6;6403;6397:13;6434:6;6426;6419:22;6472:3;6461:9;6457:19;6450:26;;6511:2;6503:6;6499:15;6485:29;;6532:1;6542:195;6556:6;6553:1;6550:13;6542:195;;;6621:13;;-1:-1:-1;;;;;6617:39:1;6605:52;;6712:15;;;;6677:12;;;;6653:1;6571:9;6542:195;;;-1:-1:-1;;;;;;;6793:32:1;;;;6788:2;6773:18;;6766:60;-1:-1:-1;;;6857:3:1;6842:19;6835:35;6754:3;5896:980;-1:-1:-1;;;5896:980:1:o;8062:306::-;8150:6;8158;8166;8219:2;8207:9;8198:7;8194:23;8190:32;8187:52;;;8235:1;8232;8225:12;8187:52;8264:9;8258:16;8248:26;;8314:2;8303:9;8299:18;8293:25;8283:35;;8358:2;8347:9;8343:18;8337:25;8327:35;;8062:306;;;;;:::o

Swarm Source

ipfs://5e51d83c5e0d181f1eb9fdd34d7ba19c3b65e83490ec8a50628115b84c02ffb0

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

Validator Index Block Amount
View All Withdrawals

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

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