ETH Price: $2,646.52 (+0.15%)

Contract

0x1A1B0C57D1572bF3848748C67d0169dcF8118708
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer188114682023-12-18 7:43:35306 days ago1702885415IN
0x1A1B0C57...cF8118708
0 ETH0.0024479735.88144808
Approve188036672023-12-17 5:26:59307 days ago1702790819IN
0x1A1B0C57...cF8118708
0 ETH0.0013213529.48735687
Approve188036592023-12-17 5:25:23307 days ago1702790723IN
0x1A1B0C57...cF8118708
0 ETH0.0006914428.09484078
Approve188036562023-12-17 5:24:47307 days ago1702790687IN
0x1A1B0C57...cF8118708
0 ETH0.0012354827.75673766
Approve188036272023-12-17 5:18:59307 days ago1702790339IN
0x1A1B0C57...cF8118708
0 ETH0.0013176429.44398004
Approve188036122023-12-17 5:15:59307 days ago1702790159IN
0x1A1B0C57...cF8118708
0 ETH0.0014521332.66824083
Approve188035922023-12-17 5:11:47307 days ago1702789907IN
0x1A1B0C57...cF8118708
0 ETH0.001305429.36722113
Approve188035352023-12-17 5:00:23307 days ago1702789223IN
0x1A1B0C57...cF8118708
0 ETH0.001484933.1371242
Approve188034682023-12-17 4:46:59307 days ago1702788419IN
0x1A1B0C57...cF8118708
0 ETH0.0012432427.78141037
Approve188034642023-12-17 4:46:11307 days ago1702788371IN
0x1A1B0C57...cF8118708
0 ETH0.001348930.1424851
Approve188034632023-12-17 4:45:59307 days ago1702788359IN
0x1A1B0C57...cF8118708
0 ETH0.00132929.89816203
Approve188034582023-12-17 4:44:59307 days ago1702788299IN
0x1A1B0C57...cF8118708
0 ETH0.0013365529.86655406
Approve188034532023-12-17 4:43:59307 days ago1702788239IN
0x1A1B0C57...cF8118708
0 ETH0.0013164829.4180657
Approve188034442023-12-17 4:42:11307 days ago1702788131IN
0x1A1B0C57...cF8118708
0 ETH0.0013900531.02033821
Approve188034352023-12-17 4:40:23307 days ago1702788023IN
0x1A1B0C57...cF8118708
0 ETH0.0012858228.6944738
Approve188034342023-12-17 4:40:11307 days ago1702788011IN
0x1A1B0C57...cF8118708
0 ETH0.0012765628.52588626
Approve188034032023-12-17 4:33:59307 days ago1702787639IN
0x1A1B0C57...cF8118708
0 ETH0.0014249831.7999076
Approve188033812023-12-17 4:29:35307 days ago1702787375IN
0x1A1B0C57...cF8118708
0 ETH0.0013472130.26707276
Approve188033802023-12-17 4:29:23307 days ago1702787363IN
0x1A1B0C57...cF8118708
0 ETH0.001357430.33231648
Approve188033732023-12-17 4:27:59307 days ago1702787279IN
0x1A1B0C57...cF8118708
0 ETH0.0013070329.20672406
Approve188033732023-12-17 4:27:59307 days ago1702787279IN
0x1A1B0C57...cF8118708
0 ETH0.0014387332.10672406
Approve188033722023-12-17 4:27:47307 days ago1702787267IN
0x1A1B0C57...cF8118708
0 ETH0.0012939128.87491274
Approve188033682023-12-17 4:26:59307 days ago1702787219IN
0x1A1B0C57...cF8118708
0 ETH0.0013829230.86132887
Approve188033622023-12-17 4:25:47307 days ago1702787147IN
0x1A1B0C57...cF8118708
0 ETH0.0012417227.71017199
Approve188033512023-12-17 4:23:35307 days ago1702787015IN
0x1A1B0C57...cF8118708
0 ETH0.0013273429.62085973
View all transactions

Latest 18 internal transactions

Advanced mode:
Parent Transaction Hash Block From To
188033432023-12-17 4:21:59307 days ago1702786919
0x1A1B0C57...cF8118708
0.03059099 ETH
188033432023-12-17 4:21:59307 days ago1702786919
0x1A1B0C57...cF8118708
0.03059099 ETH
188033312023-12-17 4:19:35307 days ago1702786775
0x1A1B0C57...cF8118708
0.0006224 ETH
188033312023-12-17 4:19:35307 days ago1702786775
0x1A1B0C57...cF8118708
0.0006224 ETH
188033312023-12-17 4:19:35307 days ago1702786775
0x1A1B0C57...cF8118708
0.0005553 ETH
188033312023-12-17 4:19:35307 days ago1702786775
0x1A1B0C57...cF8118708
0.0005553 ETH
188033302023-12-17 4:19:23307 days ago1702786763
0x1A1B0C57...cF8118708
0.00758109 ETH
188033302023-12-17 4:19:23307 days ago1702786763
0x1A1B0C57...cF8118708
0.00758109 ETH
188033062023-12-17 4:14:35307 days ago1702786475
0x1A1B0C57...cF8118708
0.00056372 ETH
188033062023-12-17 4:14:35307 days ago1702786475
0x1A1B0C57...cF8118708
0.00056372 ETH
188033062023-12-17 4:14:35307 days ago1702786475
0x1A1B0C57...cF8118708
0.00054642 ETH
188033062023-12-17 4:14:35307 days ago1702786475
0x1A1B0C57...cF8118708
0.00054642 ETH
188033062023-12-17 4:14:35307 days ago1702786475
0x1A1B0C57...cF8118708
0.00068705 ETH
188033062023-12-17 4:14:35307 days ago1702786475
0x1A1B0C57...cF8118708
0.00068705 ETH
188033062023-12-17 4:14:35307 days ago1702786475
0x1A1B0C57...cF8118708
0.00605268 ETH
188033062023-12-17 4:14:35307 days ago1702786475
0x1A1B0C57...cF8118708
0.00605268 ETH
188032862023-12-17 4:10:35307 days ago1702786235
0x1A1B0C57...cF8118708
0.22898748 ETH
188032862023-12-17 4:10:35307 days ago1702786235
0x1A1B0C57...cF8118708
0.22898748 ETH
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
KSC

Compiler Version
v0.8.21+commit.d9974bed

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-17
*/

// SPDX-License-Identifier: Unlicensed

/**
Encountered a scammer attempting to exploit you? Capture their wallet address and promptly report it to us! Earn rewards for your vigilant actions!

Web: https://killscam.pro
Tg: https://t.me/killscam_crypto
X: https://twitter.com/KillScamCrypto
Medium: https://medium.com/@killscam
 */

pragma solidity = 0.8.21;
interface IUniswapRouterV1 {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);
    function swapExactETHForTokens(
        uint amountOutMin, 
        address[] calldata path, 
        address to, uint deadline
    ) external payable returns (uint[] memory amounts);
    function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts);
    function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts);
}

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

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

abstract contract Context {
    constructor() {
    }

    function _msgSender() internal view returns (address payable) {
        return payable(msg.sender);
    }

    function _msgData() internal view returns (bytes memory) {
        this;
        return msg.data;
    }
}

abstract contract Ownable is Context {
    address private _owner;

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

    constructor() {
        _setOwner(_msgSender());
    }

    function owner() public view virtual returns (address) {
        return _owner;
    }

    modifier onlyOwner() {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    function renounceOwnership() public virtual onlyOwner {
        _setOwner(address(0));
    }

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _setOwner(newOwner);
    }

    function _setOwner(address newOwner) private {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

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


contract KSC is Context, Ownable, IERC20 {

    string constant private _name = "KillScam";
    string constant private _symbol = "KSC";
    uint8 constant private _decimals = 9;

    uint256 constant public _totalSupply = 10 ** 9 * 10**9;
    uint256 constant public swapFeeMinTokens = _totalSupply / 100_000;
    uint256 constant public transferTxFee = 0;
    uint256 constant public feeDenominator = 1_000;
    uint256 public buyTxFee = 200;
    uint256 public sellTxFee = 200;
    uint256 private _maxTxSize = 25 * _totalSupply / 1000;
    bool private _swapTaxActivated = true;

    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _notIncludedInFee;
    mapping (address => bool) private _hasPutLp;
    mapping (address => bool) private _checkLpAddress;
    mapping (address => uint256) private balance;

    address public lpPairAddress;
    IUniswapRouterV2 public uniswapRouter;
    address payable private _devFeeAddress;
    address constant public DEAD = 0x000000000000000000000000000000000000dEaD;
    bool public tradeActive = false;
    bool private swapping;
    bool private hasNoTxLimit = false;

    modifier inSwapFlag {
        swapping = true;
        _;
        swapping = false;
    }
    event SwapAndLiquify();


    constructor () {
        uniswapRouter = IUniswapRouterV2(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _notIncludedInFee[msg.sender] = true;
        _devFeeAddress = payable(address(0x1a7372737b122913Ded8dD39141cFf41Ca848f0c));
        _notIncludedInFee[_devFeeAddress] = true;
        _hasPutLp[msg.sender] = true;
        balance[msg.sender] = _totalSupply;
        emit Transfer(address(0), msg.sender, _totalSupply);

        lpPairAddress = IUniswapFactoryV2(uniswapRouter.factory()).createPair(uniswapRouter.WETH(), address(this));
        _checkLpAddress[lpPairAddress] = true;
        _approve(msg.sender, address(uniswapRouter), type(uint256).max);
        _approve(address(this), address(uniswapRouter), type(uint256).max);
    }    
    function swapBack(uint256 tokenAmount) internal inSwapFlag {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapRouter.WETH();

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

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

        if(address(this).balance > 0) _devFeeAddress.transfer(address(this).balance);
    } 
    
    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(msg.sender, recipient, amount);
        return true;
    }
    
    function approve(address spender, uint256 amount) external override returns (bool) {
        _approve(msg.sender, spender, amount);
        return true;
    }
    
    function isSwapBack(address ins) internal view returns (bool) {
        bool canswap = _swapTaxActivated && !_notIncludedInFee[ins];
        return canswap;
    }
    
    function _transfer(address from, address to, uint256 amount) internal returns  (bool) {
        bool takeFee = true;
        require(to != address(0), "Cannot transfer to DEAD address");
        require(from != address(0), "Cannot transfer from DEAD address");
        require(amount > 0, "Transfer token amount must be greater than zero");

        if (checkIfExcluded(from,to)) {
            require(tradeActive,"Trade is not started");
                    if(!_checkLpAddress[to] && from != address(this) && to != address(this) || checkTxTransfer(from,to) && !hasNoTxLimit)  { require(balanceOf(to) + amount <= _maxTxSize,"_maxTxSize exceed"); }}

        if(checkTxSell(from, to) &&  !swapping && isSwapBack(from)) {

            uint256 tokenAmount = balanceOf(address(this));
            if(tokenAmount >= swapFeeMinTokens) { 
                if(amount > swapFeeMinTokens) swapBack(tokenAmount);
             }
        }

        if (_notIncludedInFee[from] || _notIncludedInFee[to]){
            takeFee = false;
        }
        uint256 amountAfterFee = (takeFee) ? getTransferValues(from, checkTxBuy(from, to), checkTxSell(from, to), amount) : amount;
        uint256 amountBeforeFee = (takeFee) ? amount : (!tradeActive ? amount : 0);
        balance[from] -= amountBeforeFee; balance[to] += amountAfterFee; emit Transfer(from, to, amountAfterFee);

        return true;
    }

    function checkIfExcluded(address ins, address out) internal view returns (bool) {
        bool isLimited = ins != owner()
            && out != owner()
            && msg.sender != owner()
            && !_hasPutLp[ins]  && !_hasPutLp[out] && out != address(0) && out != address(this);
            return isLimited;
    }
    
    function checkTxBuy(address ins, address out) internal view returns (bool) {
        bool _is_buy = !_checkLpAddress[out] && _checkLpAddress[ins];
        return _is_buy;
    }

    function checkTxSell(address ins, address out) internal view returns (bool) { 
        bool _is_sell = _checkLpAddress[out] && !_checkLpAddress[ins];
        return _is_sell;
    }

    receive() external payable {}
    
                            
    function _approve(address sender, address spender, uint256 amount) internal {
        require(sender != address(0), "Couldnt approve on Zero Address");
        require(spender != address(0), "Couldnt approve on Zero Address");

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

        return _transfer(sender, recipient, amount);
    }
    
    function dexStart() external onlyOwner {
        require(!tradeActive, "Already done start trading");
        tradeActive = true;
    }
    
    function cancelLimits() external onlyOwner {
        require(!hasNoTxLimit,"Already done remove limits");
        _maxTxSize = _totalSupply;
        hasNoTxLimit = true;
        buyTxFee = 10;
        sellTxFee = 10;
    }
    
    function totalSupply() external pure override returns (uint256) { if (_totalSupply == 0) { revert(); } return _totalSupply; }
    function decimals() external pure override returns (uint8) { if (_totalSupply == 0) { revert(); } return _decimals; }
    function symbol() external pure override returns (string memory) { return _symbol; }
    function name() external pure override returns (string memory) { return _name; }
    
    function getOwner() external view override returns (address) { return owner(); }
    function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; }
    function balanceOf(address account) public view override returns (uint256) {
        return balance[account];
    }
    
    function checkTxTransfer(address ins, address out) internal view returns (bool) { 
        bool _is_transfer = !_checkLpAddress[out] && !_checkLpAddress[ins];
        return _is_transfer;
    }
    
    function getTransferValues(address from, bool isbuy, bool issell, uint256 amount) internal returns (uint256) {
        uint256 fee;
        if (isbuy)  fee = buyTxFee;  else if (issell)  fee = sellTxFee;  else  fee = transferTxFee; 
        if (fee == 0)  return amount; 
        uint256 feeAmount = amount * fee / feeDenominator;
        if (feeAmount > 0) {
            balance[address(this)] += feeAmount;
            emit Transfer(from, address(this), feeAmount);
        }
        return amount - feeAmount;
    }
}

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":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"DEAD","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalSupply","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":"buyTxFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"cancelLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"dexStart","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"feeDenominator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lpPairAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellTxFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapFeeMinTokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"tradeActive","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"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"transferTxFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapRouter","outputs":[{"internalType":"contract IUniswapRouterV2","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405260c860018190556002556103e862000026670de0b6b3a7640000601962000459565b62000032919062000483565b6003556004805460ff19166001179055600c805462ff00ff60a01b191690553480156200005d575f80fd5b5062000069336200032b565b600b80546001600160a01b0319908116737a250d5630b4cf539739df2c5dacb4c659f2488d17909155335f818152600660209081526040808320805460ff199081166001908117909255600c8054909716731a7372737b122913ded8dd39141cff41ca848f0c179096557f33eed11c22a1c9e3e3ed6f80ab5204e66277873fc3bc0ca346734b3d50f24ed180548716821790556007835281842080549096161790945560098152838220670de0b6b3a7640000908190559351938452919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3600b5f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001a5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001cb9190620004a3565b6001600160a01b031663c9c65396600b5f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200022a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002509190620004a3565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201523060248201526044016020604051808303815f875af11580156200029a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002c09190620004a3565b600a80546001600160a01b0319166001600160a01b039283169081179091555f908152600860205260409020805460ff19166001179055600b546200030a913391165f196200037a565b600b54620003259030906001600160a01b03165f196200037a565b620004d2565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b038316620003d65760405162461bcd60e51b815260206004820152601f60248201527f436f756c646e7420617070726f7665206f6e205a65726f20416464726573730060448201526064015b60405180910390fd5b6001600160a01b0382166200042e5760405162461bcd60e51b815260206004820152601f60248201527f436f756c646e7420617070726f7665206f6e205a65726f2041646472657373006044820152606401620003cd565b6001600160a01b039283165f9081526005602090815260408083209490951682529290925291902055565b80820281158282048414176200047d57634e487b7160e01b5f52601160045260245ffd5b92915050565b5f826200049e57634e487b7160e01b5f52601260045260245ffd5b500490565b5f60208284031215620004b4575f80fd5b81516001600160a01b0381168114620004cb575f80fd5b9392505050565b6113db80620004e05f395ff3fe608060405260043610610164575f3560e01c806370a08231116100cd57806395d89b4111610087578063dd62ed3e11610062578063dd62ed3e146103f9578063e9b786cb1461043d578063eb069da414610452578063f2fde38b14610466575f80fd5b806395d89b411461039b578063a9059cbb146103c6578063d454cceb146103e5575f80fd5b806370a0823114610303578063715018a614610337578063735de9f71461034b578063893d20e81461036a5780638da5cb5b1461036a578063904236d114610386575f80fd5b806318160ddd1161011e57806318160ddd1461025e57806323b872dd14610278578063313ce567146102975780633eaaf86b146102b25780634f8944c5146102cd5780635882128d146102e3575f80fd5b806303fd2a451461016f57806304d2be77146101a157806306fdde03146101c0578063095ea7b3146101f9578063174ea0ae14610228578063180b0d7e14610249575f80fd5b3661016b57005b5f80fd5b34801561017a575f80fd5b5061018461dead81565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156101ac575f80fd5b50600a54610184906001600160a01b031681565b3480156101cb575f80fd5b506040805180820190915260088152674b696c6c5363616d60c01b60208201525b6040516101989190611149565b348015610204575f80fd5b506102186102133660046111a8565b610485565b6040519015158152602001610198565b348015610233575f80fd5b5061023b5f81565b604051908152602001610198565b348015610254575f80fd5b5061023b6103e881565b348015610269575f80fd5b50670de0b6b3a764000061023b565b348015610283575f80fd5b506102186102923660046111d2565b61049b565b3480156102a2575f80fd5b5060405160098152602001610198565b3480156102bd575f80fd5b5061023b670de0b6b3a764000081565b3480156102d8575f80fd5b506102e1610510565b005b3480156102ee575f80fd5b50600c5461021890600160a01b900460ff1681565b34801561030e575f80fd5b5061023b61031d366004611210565b6001600160a01b03165f9081526009602052604090205490565b348015610342575f80fd5b506102e16105b1565b348015610356575f80fd5b50600b54610184906001600160a01b031681565b348015610375575f80fd5b505f546001600160a01b0316610184565b348015610391575f80fd5b5061023b60025481565b3480156103a6575f80fd5b506040805180820190915260038152624b534360e81b60208201526101ec565b3480156103d1575f80fd5b506102186103e03660046111a8565b6105e5565b3480156103f0575f80fd5b506102e16105fb565b348015610404575f80fd5b5061023b61041336600461122b565b6001600160a01b039182165f90815260056020908152604080832093909416825291909152205490565b348015610448575f80fd5b5061023b60015481565b34801561045d575f80fd5b5061023b6106a9565b348015610471575f80fd5b506102e1610480366004611210565b6106c1565b5f61049133848461075b565b5060015b92915050565b6001600160a01b0383165f9081526005602090815260408083203384529091528120545f19146104fd576001600160a01b0384165f908152600560209081526040808320338452909152812080548492906104f7908490611276565b90915550505b610508848484610832565b949350505050565b5f546001600160a01b031633146105425760405162461bcd60e51b815260040161053990611289565b60405180910390fd5b600c54600160a01b900460ff161561059c5760405162461bcd60e51b815260206004820152601a60248201527f416c726561647920646f6e652073746172742074726164696e670000000000006044820152606401610539565b600c805460ff60a01b1916600160a01b179055565b5f546001600160a01b031633146105da5760405162461bcd60e51b815260040161053990611289565b6105e35f610c66565b565b5f6105f1338484610832565b5060019392505050565b5f546001600160a01b031633146106245760405162461bcd60e51b815260040161053990611289565b600c54600160b01b900460ff161561067e5760405162461bcd60e51b815260206004820152601a60248201527f416c726561647920646f6e652072656d6f7665206c696d6974730000000000006044820152606401610539565b670de0b6b3a7640000600355600c805460ff60b01b1916600160b01b179055600a6001819055600255565b6106be620186a0670de0b6b3a76400006112be565b81565b5f546001600160a01b031633146106ea5760405162461bcd60e51b815260040161053990611289565b6001600160a01b03811661074f5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610539565b61075881610c66565b50565b6001600160a01b0383166107b15760405162461bcd60e51b815260206004820152601f60248201527f436f756c646e7420617070726f7665206f6e205a65726f2041646472657373006044820152606401610539565b6001600160a01b0382166108075760405162461bcd60e51b815260206004820152601f60248201527f436f756c646e7420617070726f7665206f6e205a65726f2041646472657373006044820152606401610539565b6001600160a01b039283165f9081526005602090815260408083209490951682529290925291902055565b5f60016001600160a01b03841661088b5760405162461bcd60e51b815260206004820152601f60248201527f43616e6e6f74207472616e7366657220746f20444541442061646472657373006044820152606401610539565b6001600160a01b0385166108eb5760405162461bcd60e51b815260206004820152602160248201527f43616e6e6f74207472616e736665722066726f6d2044454144206164647265736044820152607360f81b6064820152608401610539565b5f83116109525760405162461bcd60e51b815260206004820152602f60248201527f5472616e7366657220746f6b656e20616d6f756e74206d75737420626520677260448201526e6561746572207468616e207a65726f60881b6064820152608401610539565b61095c8585610cb5565b15610a9057600c54600160a01b900460ff166109b15760405162461bcd60e51b8152602060048201526014602482015273151c985919481a5cc81b9bdd081cdd185c9d195960621b6044820152606401610539565b6001600160a01b0384165f9081526008602052604090205460ff161580156109e257506001600160a01b0385163014155b80156109f757506001600160a01b0384163014155b80610a1d5750610a078585610d84565b8015610a1d5750600c54600160b01b900460ff16155b15610a905760035483610a44866001600160a01b03165f9081526009602052604090205490565b610a4e91906112dd565b1115610a905760405162461bcd60e51b815260206004820152601160248201527017db585e151e14da5e9948195e18d95959607a1b6044820152606401610539565b610a9a8585610dca565b8015610ab05750600c54600160a81b900460ff16155b8015610ac05750610ac085610e0f565b15610b1657305f90815260096020526040902054610ae9620186a0670de0b6b3a76400006112be565b8110610b1457610b04620186a0670de0b6b3a76400006112be565b841115610b1457610b1481610e44565b505b6001600160a01b0385165f9081526006602052604090205460ff1680610b5357506001600160a01b0384165f9081526006602052604090205460ff165b15610b5b57505f5b5f81610b675783610b85565b610b8586610b758888611038565b610b7f8989610dca565b8761107d565b90505f82610bab57600c54600160a01b900460ff1615610ba5575f610bad565b84610bad565b845b6001600160a01b0388165f90815260096020526040812080549293508392909190610bd9908490611276565b90915550506001600160a01b0386165f9081526009602052604081208054849290610c059084906112dd565b92505081905550856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610c5191815260200190565b60405180910390a35060019695505050505050565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f80610cc85f546001600160a01b031690565b6001600160a01b0316846001600160a01b031614158015610cf657505f546001600160a01b03848116911614155b8015610d0c57505f546001600160a01b03163314155b8015610d3057506001600160a01b0384165f9081526007602052604090205460ff16155b8015610d5457506001600160a01b0383165f9081526007602052604090205460ff16155b8015610d6857506001600160a01b03831615155b801561050857506001600160a01b038316301415949350505050565b6001600160a01b0381165f90815260086020526040812054819060ff1615801561050857505050506001600160a01b03165f9081526008602052604090205460ff161590565b6001600160a01b0381165f90815260086020526040812054819060ff16801561050857505050506001600160a01b03165f9081526008602052604090205460ff161590565b6004545f90819060ff168015610e3d57506001600160a01b0383165f9081526006602052604090205460ff16155b9392505050565b600c805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110610e8a57610e8a6112f0565b6001600160a01b03928316602091820292909201810191909152600b54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610ee1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f059190611304565b81600181518110610f1857610f186112f0565b6001600160a01b03928316602091820292909201810191909152305f908152600582526040808220600b5490941682529290915220545f1914610f7e57305f908152600560209081526040808320600b546001600160a01b0316845290915290205f1990555b600b5460405163791ac94760e01b81526001600160a01b039091169063791ac94790610fb69085905f9086903090429060040161131f565b5f604051808303815f87803b158015610fcd575f80fd5b505af1925050508015610fde575060015b610fe85750611028565b471561102657600c546040516001600160a01b03909116904780156108fc02915f818181858888f19350505050158015611024573d5f803e3d5ffd5b505b505b50600c805460ff60a81b19169055565b6001600160a01b0381165f90815260086020526040812054819060ff1615801561050857505050506001600160a01b03165f9081526008602052604090205460ff1690565b5f80841561108e57506001546110a0565b831561109d57506002546110a0565b505f5b805f036110b05782915050610508565b5f6103e86110be838661138e565b6110c891906112be565b9050801561113457305f90815260096020526040812080548392906110ee9084906112dd565b909155505060405181815230906001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b61113e8185611276565b979650505050505050565b5f6020808352835180828501525f5b8181101561117457858101830151858201604001528201611158565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610758575f80fd5b5f80604083850312156111b9575f80fd5b82356111c481611194565b946020939093013593505050565b5f805f606084860312156111e4575f80fd5b83356111ef81611194565b925060208401356111ff81611194565b929592945050506040919091013590565b5f60208284031215611220575f80fd5b8135610e3d81611194565b5f806040838503121561123c575f80fd5b823561124781611194565b9150602083013561125781611194565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561049557610495611262565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f826112d857634e487b7160e01b5f52601260045260245ffd5b500490565b8082018082111561049557610495611262565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611314575f80fd5b8151610e3d81611194565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b8181101561136d5784516001600160a01b031683529383019391830191600101611348565b50506001600160a01b03969096166060850152505050608001529392505050565b80820281158282048414176104955761049561126256fea2646970667358221220fba02cf1dcac1537578927630b751f04e639a9b2ac3e6ac08468c91ca6abcae664736f6c63430008150033

Deployed Bytecode

0x608060405260043610610164575f3560e01c806370a08231116100cd57806395d89b4111610087578063dd62ed3e11610062578063dd62ed3e146103f9578063e9b786cb1461043d578063eb069da414610452578063f2fde38b14610466575f80fd5b806395d89b411461039b578063a9059cbb146103c6578063d454cceb146103e5575f80fd5b806370a0823114610303578063715018a614610337578063735de9f71461034b578063893d20e81461036a5780638da5cb5b1461036a578063904236d114610386575f80fd5b806318160ddd1161011e57806318160ddd1461025e57806323b872dd14610278578063313ce567146102975780633eaaf86b146102b25780634f8944c5146102cd5780635882128d146102e3575f80fd5b806303fd2a451461016f57806304d2be77146101a157806306fdde03146101c0578063095ea7b3146101f9578063174ea0ae14610228578063180b0d7e14610249575f80fd5b3661016b57005b5f80fd5b34801561017a575f80fd5b5061018461dead81565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156101ac575f80fd5b50600a54610184906001600160a01b031681565b3480156101cb575f80fd5b506040805180820190915260088152674b696c6c5363616d60c01b60208201525b6040516101989190611149565b348015610204575f80fd5b506102186102133660046111a8565b610485565b6040519015158152602001610198565b348015610233575f80fd5b5061023b5f81565b604051908152602001610198565b348015610254575f80fd5b5061023b6103e881565b348015610269575f80fd5b50670de0b6b3a764000061023b565b348015610283575f80fd5b506102186102923660046111d2565b61049b565b3480156102a2575f80fd5b5060405160098152602001610198565b3480156102bd575f80fd5b5061023b670de0b6b3a764000081565b3480156102d8575f80fd5b506102e1610510565b005b3480156102ee575f80fd5b50600c5461021890600160a01b900460ff1681565b34801561030e575f80fd5b5061023b61031d366004611210565b6001600160a01b03165f9081526009602052604090205490565b348015610342575f80fd5b506102e16105b1565b348015610356575f80fd5b50600b54610184906001600160a01b031681565b348015610375575f80fd5b505f546001600160a01b0316610184565b348015610391575f80fd5b5061023b60025481565b3480156103a6575f80fd5b506040805180820190915260038152624b534360e81b60208201526101ec565b3480156103d1575f80fd5b506102186103e03660046111a8565b6105e5565b3480156103f0575f80fd5b506102e16105fb565b348015610404575f80fd5b5061023b61041336600461122b565b6001600160a01b039182165f90815260056020908152604080832093909416825291909152205490565b348015610448575f80fd5b5061023b60015481565b34801561045d575f80fd5b5061023b6106a9565b348015610471575f80fd5b506102e1610480366004611210565b6106c1565b5f61049133848461075b565b5060015b92915050565b6001600160a01b0383165f9081526005602090815260408083203384529091528120545f19146104fd576001600160a01b0384165f908152600560209081526040808320338452909152812080548492906104f7908490611276565b90915550505b610508848484610832565b949350505050565b5f546001600160a01b031633146105425760405162461bcd60e51b815260040161053990611289565b60405180910390fd5b600c54600160a01b900460ff161561059c5760405162461bcd60e51b815260206004820152601a60248201527f416c726561647920646f6e652073746172742074726164696e670000000000006044820152606401610539565b600c805460ff60a01b1916600160a01b179055565b5f546001600160a01b031633146105da5760405162461bcd60e51b815260040161053990611289565b6105e35f610c66565b565b5f6105f1338484610832565b5060019392505050565b5f546001600160a01b031633146106245760405162461bcd60e51b815260040161053990611289565b600c54600160b01b900460ff161561067e5760405162461bcd60e51b815260206004820152601a60248201527f416c726561647920646f6e652072656d6f7665206c696d6974730000000000006044820152606401610539565b670de0b6b3a7640000600355600c805460ff60b01b1916600160b01b179055600a6001819055600255565b6106be620186a0670de0b6b3a76400006112be565b81565b5f546001600160a01b031633146106ea5760405162461bcd60e51b815260040161053990611289565b6001600160a01b03811661074f5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610539565b61075881610c66565b50565b6001600160a01b0383166107b15760405162461bcd60e51b815260206004820152601f60248201527f436f756c646e7420617070726f7665206f6e205a65726f2041646472657373006044820152606401610539565b6001600160a01b0382166108075760405162461bcd60e51b815260206004820152601f60248201527f436f756c646e7420617070726f7665206f6e205a65726f2041646472657373006044820152606401610539565b6001600160a01b039283165f9081526005602090815260408083209490951682529290925291902055565b5f60016001600160a01b03841661088b5760405162461bcd60e51b815260206004820152601f60248201527f43616e6e6f74207472616e7366657220746f20444541442061646472657373006044820152606401610539565b6001600160a01b0385166108eb5760405162461bcd60e51b815260206004820152602160248201527f43616e6e6f74207472616e736665722066726f6d2044454144206164647265736044820152607360f81b6064820152608401610539565b5f83116109525760405162461bcd60e51b815260206004820152602f60248201527f5472616e7366657220746f6b656e20616d6f756e74206d75737420626520677260448201526e6561746572207468616e207a65726f60881b6064820152608401610539565b61095c8585610cb5565b15610a9057600c54600160a01b900460ff166109b15760405162461bcd60e51b8152602060048201526014602482015273151c985919481a5cc81b9bdd081cdd185c9d195960621b6044820152606401610539565b6001600160a01b0384165f9081526008602052604090205460ff161580156109e257506001600160a01b0385163014155b80156109f757506001600160a01b0384163014155b80610a1d5750610a078585610d84565b8015610a1d5750600c54600160b01b900460ff16155b15610a905760035483610a44866001600160a01b03165f9081526009602052604090205490565b610a4e91906112dd565b1115610a905760405162461bcd60e51b815260206004820152601160248201527017db585e151e14da5e9948195e18d95959607a1b6044820152606401610539565b610a9a8585610dca565b8015610ab05750600c54600160a81b900460ff16155b8015610ac05750610ac085610e0f565b15610b1657305f90815260096020526040902054610ae9620186a0670de0b6b3a76400006112be565b8110610b1457610b04620186a0670de0b6b3a76400006112be565b841115610b1457610b1481610e44565b505b6001600160a01b0385165f9081526006602052604090205460ff1680610b5357506001600160a01b0384165f9081526006602052604090205460ff165b15610b5b57505f5b5f81610b675783610b85565b610b8586610b758888611038565b610b7f8989610dca565b8761107d565b90505f82610bab57600c54600160a01b900460ff1615610ba5575f610bad565b84610bad565b845b6001600160a01b0388165f90815260096020526040812080549293508392909190610bd9908490611276565b90915550506001600160a01b0386165f9081526009602052604081208054849290610c059084906112dd565b92505081905550856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610c5191815260200190565b60405180910390a35060019695505050505050565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f80610cc85f546001600160a01b031690565b6001600160a01b0316846001600160a01b031614158015610cf657505f546001600160a01b03848116911614155b8015610d0c57505f546001600160a01b03163314155b8015610d3057506001600160a01b0384165f9081526007602052604090205460ff16155b8015610d5457506001600160a01b0383165f9081526007602052604090205460ff16155b8015610d6857506001600160a01b03831615155b801561050857506001600160a01b038316301415949350505050565b6001600160a01b0381165f90815260086020526040812054819060ff1615801561050857505050506001600160a01b03165f9081526008602052604090205460ff161590565b6001600160a01b0381165f90815260086020526040812054819060ff16801561050857505050506001600160a01b03165f9081526008602052604090205460ff161590565b6004545f90819060ff168015610e3d57506001600160a01b0383165f9081526006602052604090205460ff16155b9392505050565b600c805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110610e8a57610e8a6112f0565b6001600160a01b03928316602091820292909201810191909152600b54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610ee1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f059190611304565b81600181518110610f1857610f186112f0565b6001600160a01b03928316602091820292909201810191909152305f908152600582526040808220600b5490941682529290915220545f1914610f7e57305f908152600560209081526040808320600b546001600160a01b0316845290915290205f1990555b600b5460405163791ac94760e01b81526001600160a01b039091169063791ac94790610fb69085905f9086903090429060040161131f565b5f604051808303815f87803b158015610fcd575f80fd5b505af1925050508015610fde575060015b610fe85750611028565b471561102657600c546040516001600160a01b03909116904780156108fc02915f818181858888f19350505050158015611024573d5f803e3d5ffd5b505b505b50600c805460ff60a81b19169055565b6001600160a01b0381165f90815260086020526040812054819060ff1615801561050857505050506001600160a01b03165f9081526008602052604090205460ff1690565b5f80841561108e57506001546110a0565b831561109d57506002546110a0565b505f5b805f036110b05782915050610508565b5f6103e86110be838661138e565b6110c891906112be565b9050801561113457305f90815260096020526040812080548392906110ee9084906112dd565b909155505060405181815230906001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b61113e8185611276565b979650505050505050565b5f6020808352835180828501525f5b8181101561117457858101830151858201604001528201611158565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610758575f80fd5b5f80604083850312156111b9575f80fd5b82356111c481611194565b946020939093013593505050565b5f805f606084860312156111e4575f80fd5b83356111ef81611194565b925060208401356111ff81611194565b929592945050506040919091013590565b5f60208284031215611220575f80fd5b8135610e3d81611194565b5f806040838503121561123c575f80fd5b823561124781611194565b9150602083013561125781611194565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561049557610495611262565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f826112d857634e487b7160e01b5f52601260045260245ffd5b500490565b8082018082111561049557610495611262565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611314575f80fd5b8151610e3d81611194565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b8181101561136d5784516001600160a01b031683529383019391830191600101611348565b50506001600160a01b03969096166060850152505050608001529392505050565b80820281158282048414176104955761049561126256fea2646970667358221220fba02cf1dcac1537578927630b751f04e639a9b2ac3e6ac08468c91ca6abcae664736f6c63430008150033

Deployed Bytecode Sourcemap

4898:8114:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5918:73;;;;;;;;;;;;5949:42;5918:73;;;;;-1:-1:-1;;;;;178:32:1;;;160:51;;148:2;133:18;5918:73:0;;;;;;;;5794:28;;;;;;;;;;-1:-1:-1;5794:28:0;;;;-1:-1:-1;;;;;5794:28:0;;;11827:80;;;;;;;;;;-1:-1:-1;11899:5:0;;;;;;;;;;;;-1:-1:-1;;;11899:5:0;;;;11827:80;;;;;;;:::i;7919:161::-;;;;;;;;;;-1:-1:-1;7919:161:0;;;;;:::i;:::-;;:::i;:::-;;;1396:14:1;;1389:22;1371:41;;1359:2;1344:18;7919:161:0;1231:187:1;5221:41:0;;;;;;;;;;;;5261:1;5221:41;;;;;1569:25:1;;;1557:2;1542:18;5221:41:0;1423:177:1;5269:46:0;;;;;;;;;;;;5310:5;5269:46;;11483:125;;;;;;;;;;-1:-1:-1;5127:15:0;11483:125;;10775:306;;;;;;;;;;-1:-1:-1;10775:306:0;;;;;:::i;:::-;;:::i;11614:117::-;;;;;;;;;;-1:-1:-1;11614:117:0;;5078:1;2208:36:1;;2196:2;2181:18;11614:117:0;2066:184:1;5088:54:0;;;;;;;;;;;;5127:15;5088:54;;11093:138;;;;;;;;;;;;;:::i;:::-;;5998:31;;;;;;;;;;-1:-1:-1;5998:31:0;;;;-1:-1:-1;;;5998:31:0;;;;;;12144:117;;;;;;;;;;-1:-1:-1;12144:117:0;;;;;:::i;:::-;-1:-1:-1;;;;;12237:16:0;12210:7;12237:16;;;:7;:16;;;;;;;12144:117;3500:94;;;;;;;;;;;;;:::i;5829:37::-;;;;;;;;;;-1:-1:-1;5829:37:0;;;;-1:-1:-1;;;;;5829:37:0;;;11919:80;;;;;;;;;;-1:-1:-1;11971:7:0;3350:6;-1:-1:-1;;;;;3350:6:0;11919:80;;5358:30;;;;;;;;;;;;;;;;11737:84;;;;;;;;;;-1:-1:-1;11811:7:0;;;;;;;;;;;;-1:-1:-1;;;11811:7:0;;;;11737:84;;7742:165;;;;;;;;;;-1:-1:-1;7742:165:0;;;;;:::i;:::-;;:::i;11243:228::-;;;;;;;;;;;;;:::i;12005:133::-;;;;;;;;;;-1:-1:-1;12005:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;12107:19:0;;;12089:7;12107:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;12005:133;5322:29;;;;;;;;;;;;;;;;5149:65;;;;;;;;;;;;;:::i;3602:192::-;;;;;;;;;;-1:-1:-1;3602:192:0;;;;;:::i;:::-;;:::i;7919:161::-;7996:4;8013:37;8022:10;8034:7;8043:6;8013:8;:37::i;:::-;-1:-1:-1;8068:4:0;7919:161;;;;;:::o;10775:306::-;-1:-1:-1;;;;;10896:19:0;;10875:4;10896:19;;;:11;:19;;;;;;;;10916:10;10896:31;;;;;;;;-1:-1:-1;;10896:52:0;10892:126;;-1:-1:-1;;;;;10965:19:0;;;;;;:11;:19;;;;;;;;10985:10;10965:31;;;;;;;:41;;11000:6;;10965:19;:41;;11000:6;;10965:41;:::i;:::-;;;;-1:-1:-1;;10892:126:0;11037:36;11047:6;11055:9;11066:6;11037:9;:36::i;:::-;11030:43;10775:306;-1:-1:-1;;;;10775:306:0:o;11093:138::-;3323:7;3350:6;-1:-1:-1;;;;;3350:6:0;2906:10;3412:23;3404:68;;;;-1:-1:-1;;;3404:68:0;;;;;;;:::i;:::-;;;;;;;;;11152:11:::1;::::0;-1:-1:-1;;;11152:11:0;::::1;;;11151:12;11143:51;;;::::0;-1:-1:-1;;;11143:51:0;;3960:2:1;11143:51:0::1;::::0;::::1;3942:21:1::0;3999:2;3979:18;;;3972:30;4038:28;4018:18;;;4011:56;4084:18;;11143:51:0::1;3758:350:1::0;11143:51:0::1;11205:11;:18:::0;;-1:-1:-1;;;;11205:18:0::1;-1:-1:-1::0;;;11205:18:0::1;::::0;;11093:138::o;3500:94::-;3323:7;3350:6;-1:-1:-1;;;;;3350:6:0;2906:10;3412:23;3404:68;;;;-1:-1:-1;;;3404:68:0;;;;;;;:::i;:::-;3565:21:::1;3583:1;3565:9;:21::i;:::-;3500:94::o:0;7742:165::-;7820:4;7837:40;7847:10;7859:9;7870:6;7837:9;:40::i;:::-;-1:-1:-1;7895:4:0;;7742:165;-1:-1:-1;;;7742:165:0:o;11243:228::-;3323:7;3350:6;-1:-1:-1;;;;;3350:6:0;2906:10;3412:23;3404:68;;;;-1:-1:-1;;;3404:68:0;;;;;;;:::i;:::-;11306:12:::1;::::0;-1:-1:-1;;;11306:12:0;::::1;;;11305:13;11297:51;;;::::0;-1:-1:-1;;;11297:51:0;;4315:2:1;11297:51:0::1;::::0;::::1;4297:21:1::0;4354:2;4334:18;;;4327:30;4393:28;4373:18;;;4366:56;4439:18;;11297:51:0::1;4113:350:1::0;11297:51:0::1;5127:15;11359:10;:25:::0;11395:12:::1;:19:::0;;-1:-1:-1;;;;11395:19:0::1;-1:-1:-1::0;;;11395:19:0::1;::::0;;11436:2:::1;11410:4;11425:13:::0;;;-1:-1:-1;11449:14:0;11243:228::o;5149:65::-;5192:22;5207:7;5127:15;5192:22;:::i;:::-;5149:65;:::o;3602:192::-;3323:7;3350:6;-1:-1:-1;;;;;3350:6:0;2906:10;3412:23;3404:68;;;;-1:-1:-1;;;3404:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3691:22:0;::::1;3683:73;;;::::0;-1:-1:-1;;;3683:73:0;;4892:2:1;3683:73:0::1;::::0;::::1;4874:21:1::0;4931:2;4911:18;;;4904:30;4970:34;4950:18;;;4943:62;-1:-1:-1;;;5021:18:1;;;5014:36;5067:19;;3683:73:0::1;4690:402:1::0;3683:73:0::1;3767:19;3777:8;3767:9;:19::i;:::-;3602:192:::0;:::o;10478:285::-;-1:-1:-1;;;;;10573:20:0;;10565:64;;;;-1:-1:-1;;;10565:64:0;;5299:2:1;10565:64:0;;;5281:21:1;5338:2;5318:18;;;5311:30;5377:33;5357:18;;;5350:61;5428:18;;10565:64:0;5097:355:1;10565:64:0;-1:-1:-1;;;;;10648:21:0;;10640:65;;;;-1:-1:-1;;;10640:65:0;;5299:2:1;10640:65:0;;;5281:21:1;5338:2;5318:18;;;5311:30;5377:33;5357:18;;;5350:61;5428:18;;10640:65:0;5097:355:1;10640:65:0;-1:-1:-1;;;;;10718:19:0;;;;;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;:37;10478:285::o;8269:1413::-;8349:4;8381;-1:-1:-1;;;;;8404:16:0;;8396:60;;;;-1:-1:-1;;;8396:60:0;;5659:2:1;8396:60:0;;;5641:21:1;5698:2;5678:18;;;5671:30;5737:33;5717:18;;;5710:61;5788:18;;8396:60:0;5457:355:1;8396:60:0;-1:-1:-1;;;;;8475:18:0;;8467:64;;;;-1:-1:-1;;;8467:64:0;;6019:2:1;8467:64:0;;;6001:21:1;6058:2;6038:18;;;6031:30;6097:34;6077:18;;;6070:62;-1:-1:-1;;;6148:18:1;;;6141:31;6189:19;;8467:64:0;5817:397:1;8467:64:0;8559:1;8550:6;:10;8542:70;;;;-1:-1:-1;;;8542:70:0;;6421:2:1;8542:70:0;;;6403:21:1;6460:2;6440:18;;;6433:30;6499:34;6479:18;;;6472:62;-1:-1:-1;;;6550:18:1;;;6543:45;6605:19;;8542:70:0;6219:411:1;8542:70:0;8629:24;8645:4;8650:2;8629:15;:24::i;:::-;8625:301;;;8678:11;;-1:-1:-1;;;8678:11:0;;;;8670:43;;;;-1:-1:-1;;;8670:43:0;;6837:2:1;8670:43:0;;;6819:21:1;6876:2;6856:18;;;6849:30;-1:-1:-1;;;6895:18:1;;;6888:50;6955:18;;8670:43:0;6635:344:1;8670:43:0;-1:-1:-1;;;;;8740:19:0;;;;;;:15;:19;;;;;;;;8739:20;:45;;;;-1:-1:-1;;;;;;8763:21:0;;8779:4;8763:21;;8739:45;:68;;;;-1:-1:-1;;;;;;8788:19:0;;8802:4;8788:19;;8739:68;:113;;;;8811:24;8827:4;8832:2;8811:15;:24::i;:::-;:41;;;;-1:-1:-1;8840:12:0;;-1:-1:-1;;;8840:12:0;;;;8839:13;8811:41;8736:189;;;8891:10;;8881:6;8865:13;8875:2;-1:-1:-1;;;;;12237:16:0;12210:7;12237:16;;;:7;:16;;;;;;;12144:117;8865:13;:22;;;;:::i;:::-;:36;;8857:65;;;;-1:-1:-1;;;8857:65:0;;7316:2:1;8857:65:0;;;7298:21:1;7355:2;7335:18;;;7328:30;-1:-1:-1;;;7374:18:1;;;7367:47;7431:18;;8857:65:0;7114:341:1;8857:65:0;8941:21;8953:4;8959:2;8941:11;:21::i;:::-;:35;;;;-1:-1:-1;8968:8:0;;-1:-1:-1;;;8968:8:0;;;;8967:9;8941:35;:55;;;;;8980:16;8991:4;8980:10;:16::i;:::-;8938:273;;;9055:4;9015:19;12237:16;;;:7;:16;;;;;;5192:22;5207:7;5127:15;5192:22;:::i;:::-;9079:11;:31;9076:124;;5192:22;5207:7;5127:15;5192:22;:::i;:::-;9135:6;:25;9132:51;;;9162:21;9171:11;9162:8;:21::i;:::-;8998:213;8938:273;-1:-1:-1;;;;;9227:23:0;;;;;;:17;:23;;;;;;;;;:48;;-1:-1:-1;;;;;;9254:21:0;;;;;;:17;:21;;;;;;;;9227:48;9223:95;;;-1:-1:-1;9301:5:0;9223:95;9328:22;9354:7;9353:97;;9444:6;9353:97;;;9365:76;9383:4;9389:20;9400:4;9406:2;9389:10;:20::i;:::-;9411:21;9423:4;9429:2;9411:11;:21::i;:::-;9434:6;9365:17;:76::i;:::-;9328:122;;9461:23;9488:7;9487:48;;9510:11;;-1:-1:-1;;;9510:11:0;;;;9509:12;:25;;9533:1;9487:48;;9509:25;9524:6;9487:48;;;9499:6;9487:48;-1:-1:-1;;;;;9546:13:0;;;;;;:7;:13;;;;;:32;;9461:74;;-1:-1:-1;9461:74:0;;9546:13;;;:32;;9461:74;;9546:32;:::i;:::-;;;;-1:-1:-1;;;;;;;9580:11:0;;;;;;:7;:11;;;;;:29;;9595:14;;9580:11;:29;;9595:14;;9580:29;:::i;:::-;;;;;;;;9631:2;-1:-1:-1;;;;;9616:34:0;9625:4;-1:-1:-1;;;;;9616:34:0;;9635:14;9616:34;;;;1569:25:1;;1557:2;1542:18;;1423:177;9616:34:0;;;;;;;;-1:-1:-1;9670:4:0;;8269:1413;-1:-1:-1;;;;;;8269:1413:0:o;3802:173::-;3858:16;3877:6;;-1:-1:-1;;;;;3894:17:0;;;-1:-1:-1;;;;;;3894:17:0;;;;;;3927:40;;3877:6;;;;;;;3927:40;;3858:16;3927:40;3847:128;3802:173;:::o;9690:327::-;9764:4;9781:14;9805:7;3323;3350:6;-1:-1:-1;;;;;3350:6:0;;3277:87;9805:7;-1:-1:-1;;;;;9798:14:0;:3;-1:-1:-1;;;;;9798:14:0;;;:45;;;;-1:-1:-1;3323:7:0;3350:6;-1:-1:-1;;;;;9829:14:0;;;3350:6;;9829:14;;9798:45;:83;;;;-1:-1:-1;3323:7:0;3350:6;-1:-1:-1;;;;;3350:6:0;9860:10;:21;;9798:83;:115;;;;-1:-1:-1;;;;;;9899:14:0;;;;;;:9;:14;;;;;;;;9898:15;9798:115;:135;;;;-1:-1:-1;;;;;;9919:14:0;;;;;;:9;:14;;;;;;;;9918:15;9798:135;:156;;;;-1:-1:-1;;;;;;9937:17:0;;;;9798:156;:180;;;;-1:-1:-1;;;;;;9958:20:0;;9973:4;9958:20;;9781:197;9690:327;-1:-1:-1;;;;9690:327:0:o;12273:196::-;-1:-1:-1;;;;;12386:20:0;;12347:4;12386:20;;;:15;:20;;;;;;12347:4;;12386:20;;12385:21;:46;;;;-1:-1:-1;;;;;;;;;12411:20:0;;;;;:15;:20;;;;;;;;12410:21;;12273:196::o;10216:183::-;-1:-1:-1;;;;;10320:20:0;;10286:4;10320:20;;;:15;:20;;;;;;10286:4;;10320:20;;:45;;;;-1:-1:-1;;;;;;;;;10345:20:0;;;;;:15;:20;;;;;;;;10344:21;;10216:183::o;8092:165::-;8180:17;;8148:4;;;;8180:17;;:44;;;;-1:-1:-1;;;;;;8202:22:0;;;;;;:17;:22;;;;;;;;8201:23;8180:44;8165:59;8092:165;-1:-1:-1;;;8092:165:0:o;7008:721::-;6137:8;:15;;-1:-1:-1;;;;6137:15:0;-1:-1:-1;;;6137:15:0;;;7102:16:::1;::::0;;7116:1:::1;7102:16:::0;;;;;::::1;::::0;;-1:-1:-1;;7102:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;7102:16:0::1;7078:40;;7147:4;7129;7134:1;7129:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;7129:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;7173:13:::1;::::0;:20:::1;::::0;;-1:-1:-1;;;7173:20:0;;;;:13;;;::::1;::::0;:18:::1;::::0;:20:::1;::::0;;::::1;::::0;7129:7;;7173:20;;;;;:13;:20:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7163:4;7168:1;7163:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;7163:30:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:30;;;;7230:4:::1;7210:26;::::0;;;:11:::1;:26:::0;;;;;;7245:13:::1;::::0;;;::::1;7210:50:::0;;;;;;;;-1:-1:-1;;7210:71:0::1;7206:174;;7318:4;7298:26;::::0;;;:11:::1;:26;::::0;;;;;;;7333:13:::1;::::0;-1:-1:-1;;;;;7333:13:0::1;7298:50:::0;;;;;;;-1:-1:-1;;7298:70:0;;7206:174:::1;7396:13;::::0;:194:::1;::::0;-1:-1:-1;;;7396:194:0;;-1:-1:-1;;;;;7396:13:0;;::::1;::::0;:64:::1;::::0;:194:::1;::::0;7475:11;;7396:13:::1;::::0;7517:4;;7544::::1;::::0;7564:15:::1;::::0;7396:194:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;7392:241;;7615:7;;;7392:241;7648:21;:25:::0;7645:76:::1;;7675:14;::::0;:46:::1;::::0;-1:-1:-1;;;;;7675:14:0;;::::1;::::0;7699:21:::1;7675:46:::0;::::1;;;::::0;:14:::1;:46:::0;:14;:46;7699:21;7675:14;:46;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;7645:76;7067:662;6163:1;-1:-1:-1::0;6175:8:0;:16;;-1:-1:-1;;;;6175:16:0;;;7008:721::o;10029:179::-;-1:-1:-1;;;;;10131:20:0;;10098:4;10131:20;;;:15;:20;;;;;;10098:4;;10131:20;;10130:21;:45;;;;-1:-1:-1;;;;;;;;;10155:20:0;;;;;:15;:20;;;;;;;;;10029:179::o;12481:528::-;12581:7;12601:11;12627:5;12623:90;;;-1:-1:-1;12641:8:0;;12623:90;;;12661:6;12657:56;;;-1:-1:-1;12676:9:0;;12657:56;;;-1:-1:-1;5261:1:0;12657:56;12729:3;12736:1;12729:8;12725:28;;12747:6;12740:13;;;;;12725:28;12765:17;5310:5;12785:12;12794:3;12785:6;:12;:::i;:::-;:29;;;;:::i;:::-;12765:49;-1:-1:-1;12829:13:0;;12825:141;;12875:4;12859:22;;;;:7;:22;;;;;:35;;12885:9;;12859:22;:35;;12885:9;;12859:35;:::i;:::-;;;;-1:-1:-1;;12914:40:0;;1569:25:1;;;12937:4:0;;-1:-1:-1;;;;;12914:40:0;;;;;1557:2:1;1542:18;12914:40:0;;;;;;;12825:141;12983:18;12992:9;12983:6;:18;:::i;:::-;12976:25;12481:528;-1:-1:-1;;;;;;;12481:528:0:o;222:548:1:-;334:4;363:2;392;381:9;374:21;424:6;418:13;467:6;462:2;451:9;447:18;440:34;492:1;502:140;516:6;513:1;510:13;502:140;;;611:14;;;607:23;;601:30;577:17;;;596:2;573:26;566:66;531:10;;502:140;;;506:3;691:1;686:2;677:6;666:9;662:22;658:31;651:42;761:2;754;750:7;745:2;737:6;733:15;729:29;718:9;714:45;710:54;702:62;;;;222:548;;;;:::o;775:131::-;-1:-1:-1;;;;;850:31:1;;840:42;;830:70;;896:1;893;886:12;911:315;979:6;987;1040:2;1028:9;1019:7;1015:23;1011:32;1008:52;;;1056:1;1053;1046:12;1008:52;1095:9;1082:23;1114:31;1139:5;1114:31;:::i;:::-;1164:5;1216:2;1201:18;;;;1188:32;;-1:-1:-1;;;911:315:1:o;1605:456::-;1682:6;1690;1698;1751:2;1739:9;1730:7;1726:23;1722:32;1719:52;;;1767:1;1764;1757:12;1719:52;1806:9;1793:23;1825:31;1850:5;1825:31;:::i;:::-;1875:5;-1:-1:-1;1932:2:1;1917:18;;1904:32;1945:33;1904:32;1945:33;:::i;:::-;1605:456;;1997:7;;-1:-1:-1;;;2051:2:1;2036:18;;;;2023:32;;1605:456::o;2255:247::-;2314:6;2367:2;2355:9;2346:7;2342:23;2338:32;2335:52;;;2383:1;2380;2373:12;2335:52;2422:9;2409:23;2441:31;2466:5;2441:31;:::i;2739:388::-;2807:6;2815;2868:2;2856:9;2847:7;2843:23;2839:32;2836:52;;;2884:1;2881;2874:12;2836:52;2923:9;2910:23;2942:31;2967:5;2942:31;:::i;:::-;2992:5;-1:-1:-1;3049:2:1;3034:18;;3021:32;3062:33;3021:32;3062:33;:::i;:::-;3114:7;3104:17;;;2739:388;;;;;:::o;3132:127::-;3193:10;3188:3;3184:20;3181:1;3174:31;3224:4;3221:1;3214:15;3248:4;3245:1;3238:15;3264:128;3331:9;;;3352:11;;;3349:37;;;3366:18;;:::i;3397:356::-;3599:2;3581:21;;;3618:18;;;3611:30;3677:34;3672:2;3657:18;;3650:62;3744:2;3729:18;;3397:356::o;4468:217::-;4508:1;4534;4524:132;;4578:10;4573:3;4569:20;4566:1;4559:31;4613:4;4610:1;4603:15;4641:4;4638:1;4631:15;4524:132;-1:-1:-1;4670:9:1;;4468:217::o;6984:125::-;7049:9;;;7070:10;;;7067:36;;;7083:18;;:::i;7592:127::-;7653:10;7648:3;7644:20;7641:1;7634:31;7684:4;7681:1;7674:15;7708:4;7705:1;7698:15;7724:251;7794:6;7847:2;7835:9;7826:7;7822:23;7818:32;7815:52;;;7863:1;7860;7853:12;7815:52;7895:9;7889:16;7914:31;7939:5;7914:31;:::i;7980:980::-;8242:4;8290:3;8279:9;8275:19;8321:6;8310:9;8303:25;8347:2;8385:6;8380:2;8369:9;8365:18;8358:34;8428:3;8423:2;8412:9;8408:18;8401:31;8452:6;8487;8481:13;8518:6;8510;8503:22;8556:3;8545:9;8541:19;8534:26;;8595:2;8587:6;8583:15;8569:29;;8616:1;8626:195;8640:6;8637:1;8634:13;8626:195;;;8705:13;;-1:-1:-1;;;;;8701:39:1;8689:52;;8796:15;;;;8761:12;;;;8737:1;8655:9;8626:195;;;-1:-1:-1;;;;;;;8877:32:1;;;;8872:2;8857:18;;8850:60;-1:-1:-1;;;8941:3:1;8926:19;8919:35;8838:3;7980:980;-1:-1:-1;;;7980:980:1:o;8965:168::-;9038:9;;;9069;;9086:15;;;9080:22;;9066:37;9056:71;;9107:18;;:::i

Swarm Source

ipfs://fba02cf1dcac1537578927630b751f04e639a9b2ac3e6ac08468c91ca6abcae6

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.