ETH Price: $2,272.93 (-6.12%)
Gas: 1.7 Gwei

Contract

0x9b4cC57067E5eC4a2DbAaf4177da3BBE81F20f22
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve153467962022-08-15 15:30:44762 days ago1660577444IN
0x9b4cC570...E81F20f22
0 ETH0.0011356524.41961133
Approve153459272022-08-15 12:09:24762 days ago1660565364IN
0x9b4cC570...E81F20f22
0 ETH0.0010187721.90623059
Approve153450672022-08-15 8:41:56762 days ago1660552916IN
0x9b4cC570...E81F20f22
0 ETH0.000417218.97117892
Approve153427622022-08-14 23:55:52763 days ago1660521352IN
0x9b4cC570...E81F20f22
0 ETH0.0005457111.734388
Approve153424592022-08-14 22:42:41763 days ago1660516961IN
0x9b4cC570...E81F20f22
0 ETH0.000459689.88451791
Approve153424412022-08-14 22:38:16763 days ago1660516696IN
0x9b4cC570...E81F20f22
0 ETH0.0005274811.34231294
Approve153422602022-08-14 21:58:45763 days ago1660514325IN
0x9b4cC570...E81F20f22
0 ETH0.0008032717.27252096
Approve153422412022-08-14 21:52:49763 days ago1660513969IN
0x9b4cC570...E81F20f22
0 ETH0.000444979.5681293
Approve153421502022-08-14 21:33:30763 days ago1660512810IN
0x9b4cC570...E81F20f22
0 ETH0.000427859.2
Approve153421322022-08-14 21:30:59763 days ago1660512659IN
0x9b4cC570...E81F20f22
0 ETH0.0004877710.4883371
Renounce Ownersh...153421242022-08-14 21:29:52763 days ago1660512592IN
0x9b4cC570...E81F20f22
0 ETH0.000221839.7717151
Set Wallet Limit153421202022-08-14 21:29:19763 days ago1660512559IN
0x9b4cC570...E81F20f22
0 ETH0.0003712111.99299508
Approve153421082022-08-14 21:27:18763 days ago1660512438IN
0x9b4cC570...E81F20f22
0 ETH0.0006356313.66775371
Approve153421072022-08-14 21:26:46763 days ago1660512406IN
0x9b4cC570...E81F20f22
0 ETH0.0003395112.76074517
Approve153421012022-08-14 21:26:27763 days ago1660512387IN
0x9b4cC570...E81F20f22
0 ETH0.0008462418.19648626
Approve153421002022-08-14 21:26:02763 days ago1660512362IN
0x9b4cC570...E81F20f22
0 ETH0.0007773216.71450359
Approve153420972022-08-14 21:25:16763 days ago1660512316IN
0x9b4cC570...E81F20f22
0 ETH0.0007310615.71979178
Approve153420912022-08-14 21:24:36763 days ago1660512276IN
0x9b4cC570...E81F20f22
0 ETH0.0008471318.21567037
Approve153420902022-08-14 21:23:47763 days ago1660512227IN
0x9b4cC570...E81F20f22
0 ETH0.0007840416.85899785
Approve153420762022-08-14 21:20:43763 days ago1660512043IN
0x9b4cC570...E81F20f22
0 ETH0.0009551720.53881064
Approve153420722022-08-14 21:20:24763 days ago1660512024IN
0x9b4cC570...E81F20f22
0 ETH0.0010458122.48781311
Approve153420662022-08-14 21:18:29763 days ago1660511909IN
0x9b4cC570...E81F20f22
0 ETH0.0009469220.36139711
Approve153420652022-08-14 21:18:21763 days ago1660511901IN
0x9b4cC570...E81F20f22
0 ETH0.0010280422.10562429
Approve153420602022-08-14 21:17:43763 days ago1660511863IN
0x9b4cC570...E81F20f22
0 ETH0.001130924.31748417
Approve153420572022-08-14 21:16:07763 days ago1660511767IN
0x9b4cC570...E81F20f22
0 ETH0.0016277135
View all transactions

Latest 23 internal transactions

Advanced mode:
Parent Transaction Hash Block From To
153465562022-08-15 14:33:54762 days ago1660574034
0x9b4cC570...E81F20f22
0.01636358 ETH
153465562022-08-15 14:33:54762 days ago1660574034
0x9b4cC570...E81F20f22
0.01636358 ETH
153427652022-08-14 23:56:31763 days ago1660521391
0x9b4cC570...E81F20f22
0.02006938 ETH
153427652022-08-14 23:56:31763 days ago1660521391
0x9b4cC570...E81F20f22
0.02006938 ETH
153422262022-08-14 21:49:17763 days ago1660513757
0x9b4cC570...E81F20f22
0.02534945 ETH
153422262022-08-14 21:49:17763 days ago1660513757
0x9b4cC570...E81F20f22
0.02534945 ETH
153422132022-08-14 21:46:51763 days ago1660513611
0x9b4cC570...E81F20f22
0.02534945 ETH
153422132022-08-14 21:46:51763 days ago1660513611
0x9b4cC570...E81F20f22
0.02534945 ETH
153421542022-08-14 21:34:15763 days ago1660512855
0x9b4cC570...E81F20f22
0.02491706 ETH
153421542022-08-14 21:34:15763 days ago1660512855
0x9b4cC570...E81F20f22
0.02491706 ETH
153421202022-08-14 21:29:19763 days ago1660512559
0x9b4cC570...E81F20f22
0.02368499 ETH
153421052022-08-14 21:26:38763 days ago1660512398
0x9b4cC570...E81F20f22
0.02929023 ETH
153421052022-08-14 21:26:38763 days ago1660512398
0x9b4cC570...E81F20f22
0.02929023 ETH
153420902022-08-14 21:23:47763 days ago1660512227
0x9b4cC570...E81F20f22
0.0281947 ETH
153420902022-08-14 21:23:47763 days ago1660512227
0x9b4cC570...E81F20f22
0.0281947 ETH
153420902022-08-14 21:23:47763 days ago1660512227
0x9b4cC570...E81F20f22
0.02867369 ETH
153420902022-08-14 21:23:47763 days ago1660512227
0x9b4cC570...E81F20f22
0.02867369 ETH
153420812022-08-14 21:22:21763 days ago1660512141
0x9b4cC570...E81F20f22
0.02606381 ETH
153420812022-08-14 21:22:21763 days ago1660512141
0x9b4cC570...E81F20f22
0.02606381 ETH
153420762022-08-14 21:20:43763 days ago1660512043
0x9b4cC570...E81F20f22
0.02648981 ETH
153420762022-08-14 21:20:43763 days ago1660512043
0x9b4cC570...E81F20f22
0.02648981 ETH
153420632022-08-14 21:18:10763 days ago1660511890
0x9b4cC570...E81F20f22
0.0206082 ETH
153420632022-08-14 21:18:10763 days ago1660511890
0x9b4cC570...E81F20f22
0.0206082 ETH
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Nishikigoi

Compiler Version
v0.8.5+commit.a4f2e591

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-08-14
*/

// SPDX-License-Identifier: MIT



/* 

Welcome to Nishikigoi!
Face your destiny, challenge your luck in the dance of fire and water!
Website - nishikigoi.asia
Twitter - https://twitter.com/nishikigoieth
TG -      t.me/NishikigoiVerification

*/




pragma solidity ^0.8.5;
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 ERC20 {
    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);
}

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

interface IDEXFactory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
}

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

contract Nishikigoi is ERC20, Ownable {
    using SafeMath for uint256;
    address routerAdress = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;
    address DEAD = 0x000000000000000000000000000000000000dEaD;

    string constant _name = "Nishikigoi";
    string constant _symbol = "GOI";
    uint8 constant _decimals = 9;

    uint256 _totalSupply = 100_000_000_000 * (10 ** _decimals);
    uint256 public _maxWalletAmount = (_totalSupply * 100) / 100;

    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) _allowances;

    mapping (address => bool) isFeeExempt;
    mapping (address => bool) isTxLimitExempt;

    uint256 liquidityFee = 0; 
    uint256 marketingFee = 6;
    uint256 totalFee = liquidityFee + marketingFee;
    uint256 feeDenominator = 100;

    address public marketingFeeReceiver = 0x1b41914E7b2678B4d14E40b12bB4973Ee5410517;

    IDEXRouter public router;
    address public pair;

    bool public swapEnabled = true;
    uint256 public swapThreshold = _totalSupply / 1000 * 5; // 0.5%
    bool inSwap;
    modifier swapping() { inSwap = true; _; inSwap = false; }

    constructor () Ownable(msg.sender) {
        router = IDEXRouter(routerAdress);
        pair = IDEXFactory(router.factory()).createPair(router.WETH(), address(this));
        _allowances[address(this)][address(router)] = type(uint256).max;

        address _owner = owner;
        isFeeExempt[0x1b41914E7b2678B4d14E40b12bB4973Ee5410517] = true;
        isTxLimitExempt[_owner] = true;
        isTxLimitExempt[0x1b41914E7b2678B4d14E40b12bB4973Ee5410517] = true;
        isTxLimitExempt[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 approve(address spender, uint256 amount) public override returns (bool) {
        _allowances[msg.sender][spender] = amount;
        emit Approval(msg.sender, spender, amount);
        return true;
    }

    function approveMax(address spender) external returns (bool) {
        return approve(spender, type(uint256).max);
    }

    function transfer(address recipient, uint256 amount) external override returns (bool) {
        return _transferFrom(msg.sender, recipient, 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] = _allowances[sender][msg.sender].sub(amount, "Insufficient Allowance");
        }

        return _transferFrom(sender, recipient, amount);
    }

    function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
        if(inSwap){ return _basicTransfer(sender, recipient, amount); }
        
        if (recipient != pair && recipient != DEAD) {
            require(isTxLimitExempt[recipient] || _balances[recipient] + amount <= _maxWalletAmount, "Transfer amount exceeds the bag size.");
        }
        
        if(shouldSwapBack()){ swapBack(); } 

        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");

        uint256 amountReceived = shouldTakeFee(sender) ? takeFee(sender, amount) : amount;
        _balances[recipient] = _balances[recipient].add(amountReceived);

        emit Transfer(sender, recipient, amountReceived);
        return true;
    }
    
    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 shouldTakeFee(address sender) internal view returns (bool) {
        return !isFeeExempt[sender];
    }

    function takeFee(address sender, uint256 amount) internal returns (uint256) {
        uint256 feeAmount = amount.mul(totalFee).div(feeDenominator);
        _balances[address(this)] = _balances[address(this)].add(feeAmount);
        emit Transfer(sender, address(this), feeAmount);
        return amount.sub(feeAmount);
    }

    function shouldSwapBack() internal view returns (bool) {
        return msg.sender != pair
        && !inSwap
        && swapEnabled
        && _balances[address(this)] >= swapThreshold;
    }

    function swapBack() internal swapping {
        uint256 contractTokenBalance = swapThreshold;
        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] = router.WETH();

        uint256 balanceBefore = address(this).balance;

        router.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(marketingFeeReceiver).call{value: amountETHMarketing, gas: 30000}("");
        require(MarketingSuccess, "receiver rejected ETH transfer");

        if(amountToLiquify > 0){
            router.addLiquidityETH{value: amountETHLiquidity}(
                address(this),
                amountToLiquify,
                0,
                0,
                0x1b41914E7b2678B4d14E40b12bB4973Ee5410517,
                block.timestamp
            );
            emit AutoLiquify(amountETHLiquidity, amountToLiquify);
        }
    }

    function buyTokens(uint256 amount, address to) internal swapping {
        address[] memory path = new address[](2);
        path[0] = router.WETH();
        path[1] = address(this);

        router.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}(
            0,
            path,
            to,
            block.timestamp
        );
    }

    function clearStuckBalance() external {
        payable(marketingFeeReceiver).transfer(address(this).balance);
    }

    function setWalletLimit(uint256 amountPercent) external onlyOwner {
        _maxWalletAmount = (_totalSupply * amountPercent ) / 1000;
    }

    function setFee(uint256 _liquidityFee, uint256 _marketingFee) external onlyOwner {
         liquidityFee = _liquidityFee; 
         marketingFee = _marketingFee;
         totalFee = liquidityFee + marketingFee;
    }    
    
    event AutoLiquify(uint256 amountETH, uint256 amountBOG);
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountETH","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountBOG","type":"uint256"}],"name":"AutoLiquify","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":"_maxWalletAmount","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":"spender","type":"address"}],"name":"approveMax","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":"clearStuckBalance","outputs":[],"stateMutability":"nonpayable","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":"marketingFeeReceiver","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":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidityFee","type":"uint256"},{"internalType":"uint256","name":"_marketingFee","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountPercent","type":"uint256"}],"name":"setWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600180546001600160a01b0319908116737a250d5630b4cf539739df2c5dacb4c659f2488d179091556002805490911661dead179055620000486009600a6200048b565b620000599064174876e8006200054c565b600355606460035460646200006f91906200054c565b6200007b91906200041f565b600455600060098190556006600a819055620000979162000404565b600b556064600c55600d80546001600160a01b031916731b41914e7b2678b4d14e40b12bb4973ee5410517179055600f805460ff60a01b1916600160a01b179055600354620000ea906103e8906200041f565b620000f79060056200054c565b6010553480156200010757600080fd5b5060008054336001600160a01b031991821617909155600154600e80546001600160a01b039092169190921681179091556040805163c45a015560e01b8152905163c45a015591600480820192602092909190829003018186803b1580156200016f57600080fd5b505afa15801562000184573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001aa9190620003d2565b6001600160a01b031663c9c65396600e60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200020757600080fd5b505afa1580156200021c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002429190620003d2565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152306024820152604401602060405180830381600087803b1580156200028a57600080fd5b505af11580156200029f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002c59190620003d2565b600f80546001600160a01b0319166001600160a01b03928316179055306000908152600660209081526040808320600e54851684528252808320600019905582547feee69994de1a29683b102c4330f65a5a772f41f2e3f0275112164f3b23127eb8805460ff1990811660019081179092559186168086526008855283862080548416831790557f31b2c2ee5002296bb5933fd8aafea7794b472b01590c916efc33cf4a5fd0db678054841683179055600254909616855282852080549092161790556003548484526005835281842081905590519081528392917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35062000584565b600060208284031215620003e557600080fd5b81516001600160a01b0381168114620003fd57600080fd5b9392505050565b600082198211156200041a576200041a6200056e565b500190565b6000826200043d57634e487b7160e01b600052601260045260246000fd5b500490565b600181815b80851115620004835781600019048211156200046757620004676200056e565b808516156200047557918102915b93841c939080029062000447565b509250929050565b6000620003fd60ff841683600082620004a75750600162000546565b81620004b65750600062000546565b8160018114620004cf5760028114620004da57620004fa565b600191505062000546565b60ff841115620004ee57620004ee6200056e565b50506001821b62000546565b5060208310610133831016604e8410600b84101617156200051f575081810a62000546565b6200052b838362000442565b80600019048211156200054257620005426200056e565b0290505b92915050565b60008160001904831182151516156200056957620005696200056e565b500290565b634e487b7160e01b600052601160045260246000fd5b6113bd80620005946000396000f3fe6080604052600436106101395760003560e01c80636ddd1713116100ab578063a8aa1b311161006f578063a8aa1b3114610391578063a9059cbb146103b1578063dd62ed3e146103d1578063e96fada214610417578063f1d5f51714610437578063f887ea401461045757600080fd5b80636ddd1713146102c757806370a08231146102e8578063715018a61461031e578063893d20e81461033357806395d89b411461036557600080fd5b80632f54bf6e116100fd5780632f54bf6e1461020f578063313ce5671461023e578063364333f41461025a57806352f7c98814610271578063571ac8b0146102915780636c0a24eb146102b157600080fd5b80630445b6671461014557806306fdde031461016e578063095ea7b3146101aa57806318160ddd146101da57806323b872dd146101ef57600080fd5b3661014057005b600080fd5b34801561015157600080fd5b5061015b60105481565b6040519081526020015b60405180910390f35b34801561017a57600080fd5b5060408051808201909152600a8152694e697368696b69676f6960b01b60208201525b60405161016591906111f0565b3480156101b657600080fd5b506101ca6101c536600461115b565b610477565b6040519015158152602001610165565b3480156101e657600080fd5b5060035461015b565b3480156101fb57600080fd5b506101ca61020a36600461111a565b6104e4565b34801561021b57600080fd5b506101ca61022a3660046110a7565b6000546001600160a01b0391821691161490565b34801561024a57600080fd5b5060405160098152602001610165565b34801561026657600080fd5b5061026f6105a6565b005b34801561027d57600080fd5b5061026f61028c3660046111a0565b6105e2565b34801561029d57600080fd5b506101ca6102ac3660046110a7565b610630565b3480156102bd57600080fd5b5061015b60045481565b3480156102d357600080fd5b50600f546101ca90600160a01b900460ff1681565b3480156102f457600080fd5b5061015b6103033660046110a7565b6001600160a01b031660009081526005602052604090205490565b34801561032a57600080fd5b5061026f61063e565b34801561033f57600080fd5b506000546001600160a01b03165b6040516001600160a01b039091168152602001610165565b34801561037157600080fd5b50604080518082019091526003815262474f4960e81b602082015261019d565b34801561039d57600080fd5b50600f5461034d906001600160a01b031681565b3480156103bd57600080fd5b506101ca6103cc36600461115b565b6106ad565b3480156103dd57600080fd5b5061015b6103ec3660046110e1565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561042357600080fd5b50600d5461034d906001600160a01b031681565b34801561044357600080fd5b5061026f610452366004611187565b6106ba565b34801561046357600080fd5b50600e5461034d906001600160a01b031681565b3360008181526006602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906104d29086815260200190565b60405180910390a35060015b92915050565b6001600160a01b038316600090815260066020908152604080832033845290915281205460001914610591576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b038716600090815260068252838120338252909152919091205461056c918490610705565b6001600160a01b03851660009081526006602090815260408083203384529091529020555b61059c84848461073f565b90505b9392505050565b600d546040516001600160a01b03909116904780156108fc02916000818181858888f193505050501580156105df573d6000803e3d6000fd5b50565b6000546001600160a01b031633146106155760405162461bcd60e51b815260040161060c90611245565b60405180910390fd5b6009829055600a81905561062981836112d6565b600b555050565b60006104de82600019610477565b6000546001600160a01b031633146106685760405162461bcd60e51b815260040161060c90611245565b600080546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b600061059f33848461073f565b6000546001600160a01b031633146106e45760405162461bcd60e51b815260040161060c90611245565b6103e8816003546106f59190611310565b6106ff91906112ee565b60045550565b600081848411156107295760405162461bcd60e51b815260040161060c91906111f0565b506000610736848661132f565b95945050505050565b60115460009060ff161561075f57610758848484610969565b905061059f565b600f546001600160a01b0384811691161480159061078b57506002546001600160a01b03848116911614155b15610836576001600160a01b03831660009081526008602052604090205460ff16806107dc57506004546001600160a01b0384166000908152600560205260409020546107d99084906112d6565b11155b6108365760405162461bcd60e51b815260206004820152602560248201527f5472616e7366657220616d6f756e74206578636565647320746865206261672060448201526439b4bd329760d91b606482015260840161060c565b61083e610a4f565b1561084b5761084b610aa7565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03871660009081526005909152919091205461089d918490610705565b6001600160a01b038516600090815260056020908152604080832093909355600790529081205460ff16156108d257826108dc565b6108dc8584610e71565b6001600160a01b0385166000908152600560205260409020549091506109029082610f17565b6001600160a01b0380861660008181526005602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906109569085815260200190565b60405180910390a3506001949350505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03861660009081526005909152918220546109ba918490610705565b6001600160a01b0380861660009081526005602052604080822093909355908516815220546109e99083610f17565b6001600160a01b0380851660008181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610a3d9086815260200190565b60405180910390a35060019392505050565b600f546000906001600160a01b03163314801590610a70575060115460ff16155b8015610a855750600f54600160a01b900460ff165b8015610aa257506010543060009081526005602052604090205410155b905090565b6011805460ff19166001179055601054600b54600954600091610ada91600291610ad49182908790610f76565b90610ff5565b90506000610ae88383611037565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110610b2257610b2261135c565b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015610b7657600080fd5b505afa158015610b8a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bae91906110c4565b81600181518110610bc157610bc161135c565b6001600160a01b039283166020918202929092010152600e5460405163791ac94760e01b81524792919091169063791ac94790610c0b908690600090879030904290600401611265565b600060405180830381600087803b158015610c2557600080fd5b505af1158015610c39573d6000803e3d6000fd5b505050506000610c52824761103790919063ffffffff16565b90506000610c78610c6f6002600954610ff590919063ffffffff16565b600b5490611037565b90506000610c9a6002610ad484610ad460095488610f7690919063ffffffff16565b90506000610cb783610ad4600a5487610f7690919063ffffffff16565b600d546040519192506000916001600160a01b039091169061753090849084818181858888f193505050503d8060008114610d0e576040519150601f19603f3d011682016040523d82523d6000602084013e610d13565b606091505b5050905080610d645760405162461bcd60e51b815260206004820152601e60248201527f72656365697665722072656a656374656420455448207472616e736665720000604482015260640161060c565b8815610e5b57600e5460405163f305d71960e01b8152306004820152602481018b90526000604482018190526064820152731b41914e7b2678b4d14e40b12bb4973ee541051760848201524260a48201526001600160a01b039091169063f305d71990859060c4016060604051808303818588803b158015610de557600080fd5b505af1158015610df9573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610e1e91906111c2565b505060408051858152602081018c90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b50506011805460ff191690555050505050505050565b600080610e8f600c54610ad4600b5486610f7690919063ffffffff16565b30600090815260056020526040902054909150610eac9082610f17565b30600081815260056020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610efd9085815260200190565b60405180910390a3610f0f8382611037565b949350505050565b600080610f2483856112d6565b90508381101561059f5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161060c565b600082610f85575060006104de565b6000610f918385611310565b905082610f9e85836112ee565b1461059f5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161060c565b600061059f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611079565b600061059f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610705565b6000818361109a5760405162461bcd60e51b815260040161060c91906111f0565b50600061073684866112ee565b6000602082840312156110b957600080fd5b813561059f81611372565b6000602082840312156110d657600080fd5b815161059f81611372565b600080604083850312156110f457600080fd5b82356110ff81611372565b9150602083013561110f81611372565b809150509250929050565b60008060006060848603121561112f57600080fd5b833561113a81611372565b9250602084013561114a81611372565b929592945050506040919091013590565b6000806040838503121561116e57600080fd5b823561117981611372565b946020939093013593505050565b60006020828403121561119957600080fd5b5035919050565b600080604083850312156111b357600080fd5b50508035926020909101359150565b6000806000606084860312156111d757600080fd5b8351925060208401519150604084015190509250925092565b600060208083528351808285015260005b8181101561121d57858101830151858201604001528201611201565b8181111561122f576000604083870101525b50601f01601f1916929092016040019392505050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156112b55784516001600160a01b031683529383019391830191600101611290565b50506001600160a01b03969096166060850152505050608001529392505050565b600082198211156112e9576112e9611346565b500190565b60008261130b57634e487b7160e01b600052601260045260246000fd5b500490565b600081600019048311821515161561132a5761132a611346565b500290565b60008282101561134157611341611346565b500390565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b03811681146105df57600080fdfea2646970667358221220f426971685dce921b22735a506b024437271b4d7687f46ef4389da208dad8d1564736f6c63430008050033

Deployed Bytecode

0x6080604052600436106101395760003560e01c80636ddd1713116100ab578063a8aa1b311161006f578063a8aa1b3114610391578063a9059cbb146103b1578063dd62ed3e146103d1578063e96fada214610417578063f1d5f51714610437578063f887ea401461045757600080fd5b80636ddd1713146102c757806370a08231146102e8578063715018a61461031e578063893d20e81461033357806395d89b411461036557600080fd5b80632f54bf6e116100fd5780632f54bf6e1461020f578063313ce5671461023e578063364333f41461025a57806352f7c98814610271578063571ac8b0146102915780636c0a24eb146102b157600080fd5b80630445b6671461014557806306fdde031461016e578063095ea7b3146101aa57806318160ddd146101da57806323b872dd146101ef57600080fd5b3661014057005b600080fd5b34801561015157600080fd5b5061015b60105481565b6040519081526020015b60405180910390f35b34801561017a57600080fd5b5060408051808201909152600a8152694e697368696b69676f6960b01b60208201525b60405161016591906111f0565b3480156101b657600080fd5b506101ca6101c536600461115b565b610477565b6040519015158152602001610165565b3480156101e657600080fd5b5060035461015b565b3480156101fb57600080fd5b506101ca61020a36600461111a565b6104e4565b34801561021b57600080fd5b506101ca61022a3660046110a7565b6000546001600160a01b0391821691161490565b34801561024a57600080fd5b5060405160098152602001610165565b34801561026657600080fd5b5061026f6105a6565b005b34801561027d57600080fd5b5061026f61028c3660046111a0565b6105e2565b34801561029d57600080fd5b506101ca6102ac3660046110a7565b610630565b3480156102bd57600080fd5b5061015b60045481565b3480156102d357600080fd5b50600f546101ca90600160a01b900460ff1681565b3480156102f457600080fd5b5061015b6103033660046110a7565b6001600160a01b031660009081526005602052604090205490565b34801561032a57600080fd5b5061026f61063e565b34801561033f57600080fd5b506000546001600160a01b03165b6040516001600160a01b039091168152602001610165565b34801561037157600080fd5b50604080518082019091526003815262474f4960e81b602082015261019d565b34801561039d57600080fd5b50600f5461034d906001600160a01b031681565b3480156103bd57600080fd5b506101ca6103cc36600461115b565b6106ad565b3480156103dd57600080fd5b5061015b6103ec3660046110e1565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561042357600080fd5b50600d5461034d906001600160a01b031681565b34801561044357600080fd5b5061026f610452366004611187565b6106ba565b34801561046357600080fd5b50600e5461034d906001600160a01b031681565b3360008181526006602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906104d29086815260200190565b60405180910390a35060015b92915050565b6001600160a01b038316600090815260066020908152604080832033845290915281205460001914610591576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b038716600090815260068252838120338252909152919091205461056c918490610705565b6001600160a01b03851660009081526006602090815260408083203384529091529020555b61059c84848461073f565b90505b9392505050565b600d546040516001600160a01b03909116904780156108fc02916000818181858888f193505050501580156105df573d6000803e3d6000fd5b50565b6000546001600160a01b031633146106155760405162461bcd60e51b815260040161060c90611245565b60405180910390fd5b6009829055600a81905561062981836112d6565b600b555050565b60006104de82600019610477565b6000546001600160a01b031633146106685760405162461bcd60e51b815260040161060c90611245565b600080546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b600061059f33848461073f565b6000546001600160a01b031633146106e45760405162461bcd60e51b815260040161060c90611245565b6103e8816003546106f59190611310565b6106ff91906112ee565b60045550565b600081848411156107295760405162461bcd60e51b815260040161060c91906111f0565b506000610736848661132f565b95945050505050565b60115460009060ff161561075f57610758848484610969565b905061059f565b600f546001600160a01b0384811691161480159061078b57506002546001600160a01b03848116911614155b15610836576001600160a01b03831660009081526008602052604090205460ff16806107dc57506004546001600160a01b0384166000908152600560205260409020546107d99084906112d6565b11155b6108365760405162461bcd60e51b815260206004820152602560248201527f5472616e7366657220616d6f756e74206578636565647320746865206261672060448201526439b4bd329760d91b606482015260840161060c565b61083e610a4f565b1561084b5761084b610aa7565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03871660009081526005909152919091205461089d918490610705565b6001600160a01b038516600090815260056020908152604080832093909355600790529081205460ff16156108d257826108dc565b6108dc8584610e71565b6001600160a01b0385166000908152600560205260409020549091506109029082610f17565b6001600160a01b0380861660008181526005602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906109569085815260200190565b60405180910390a3506001949350505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03861660009081526005909152918220546109ba918490610705565b6001600160a01b0380861660009081526005602052604080822093909355908516815220546109e99083610f17565b6001600160a01b0380851660008181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610a3d9086815260200190565b60405180910390a35060019392505050565b600f546000906001600160a01b03163314801590610a70575060115460ff16155b8015610a855750600f54600160a01b900460ff165b8015610aa257506010543060009081526005602052604090205410155b905090565b6011805460ff19166001179055601054600b54600954600091610ada91600291610ad49182908790610f76565b90610ff5565b90506000610ae88383611037565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110610b2257610b2261135c565b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015610b7657600080fd5b505afa158015610b8a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bae91906110c4565b81600181518110610bc157610bc161135c565b6001600160a01b039283166020918202929092010152600e5460405163791ac94760e01b81524792919091169063791ac94790610c0b908690600090879030904290600401611265565b600060405180830381600087803b158015610c2557600080fd5b505af1158015610c39573d6000803e3d6000fd5b505050506000610c52824761103790919063ffffffff16565b90506000610c78610c6f6002600954610ff590919063ffffffff16565b600b5490611037565b90506000610c9a6002610ad484610ad460095488610f7690919063ffffffff16565b90506000610cb783610ad4600a5487610f7690919063ffffffff16565b600d546040519192506000916001600160a01b039091169061753090849084818181858888f193505050503d8060008114610d0e576040519150601f19603f3d011682016040523d82523d6000602084013e610d13565b606091505b5050905080610d645760405162461bcd60e51b815260206004820152601e60248201527f72656365697665722072656a656374656420455448207472616e736665720000604482015260640161060c565b8815610e5b57600e5460405163f305d71960e01b8152306004820152602481018b90526000604482018190526064820152731b41914e7b2678b4d14e40b12bb4973ee541051760848201524260a48201526001600160a01b039091169063f305d71990859060c4016060604051808303818588803b158015610de557600080fd5b505af1158015610df9573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610e1e91906111c2565b505060408051858152602081018c90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b50506011805460ff191690555050505050505050565b600080610e8f600c54610ad4600b5486610f7690919063ffffffff16565b30600090815260056020526040902054909150610eac9082610f17565b30600081815260056020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610efd9085815260200190565b60405180910390a3610f0f8382611037565b949350505050565b600080610f2483856112d6565b90508381101561059f5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161060c565b600082610f85575060006104de565b6000610f918385611310565b905082610f9e85836112ee565b1461059f5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161060c565b600061059f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611079565b600061059f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610705565b6000818361109a5760405162461bcd60e51b815260040161060c91906111f0565b50600061073684866112ee565b6000602082840312156110b957600080fd5b813561059f81611372565b6000602082840312156110d657600080fd5b815161059f81611372565b600080604083850312156110f457600080fd5b82356110ff81611372565b9150602083013561110f81611372565b809150509250929050565b60008060006060848603121561112f57600080fd5b833561113a81611372565b9250602084013561114a81611372565b929592945050506040919091013590565b6000806040838503121561116e57600080fd5b823561117981611372565b946020939093013593505050565b60006020828403121561119957600080fd5b5035919050565b600080604083850312156111b357600080fd5b50508035926020909101359150565b6000806000606084860312156111d757600080fd5b8351925060208401519150604084015190509250925092565b600060208083528351808285015260005b8181101561121d57858101830151858201604001528201611201565b8181111561122f576000604083870101525b50601f01601f1916929092016040019392505050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156112b55784516001600160a01b031683529383019391830191600101611290565b50506001600160a01b03969096166060850152505050608001529392505050565b600082198211156112e9576112e9611346565b500190565b60008261130b57634e487b7160e01b600052601260045260246000fd5b500490565b600081600019048311821515161561132a5761132a611346565b500290565b60008282101561134157611341611346565b500390565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b03811681146105df57600080fdfea2646970667358221220f426971685dce921b22735a506b024437271b4d7687f46ef4389da208dad8d1564736f6c63430008050033

Deployed Bytecode Sourcemap

4316:7753:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5331:54;;;;;;;;;;;;;;;;;;;6498:25:1;;;6486:2;6471:18;5331:54:0;;;;;;;;6416:80;;;;;;;;;;-1:-1:-1;6488:5:0;;;;;;;;;;;;-1:-1:-1;;;6488:5:0;;;;6416:80;;;;;;;:::i;6838:216::-;;;;;;;;;;-1:-1:-1;6838:216:0;;;;;:::i;:::-;;:::i;:::-;;;3640:14:1;;3633:22;3615:41;;3603:2;3588:18;6838:216:0;3570:92:1;6146:88:0;;;;;;;;;;-1:-1:-1;6219:12:0;;6146:88;;7356:370;;;;;;;;;;-1:-1:-1;7356:370:0;;;;;:::i;:::-;;:::i;2554:103::-;;;;;;;;;;-1:-1:-1;2554:103:0;;;;;:::i;:::-;2609:4;2644:5;-1:-1:-1;;;;;2633:16:0;;;2644:5;;2633:16;;2554:103;6240:80;;;;;;;;;;-1:-1:-1;6240:80:0;;4640:1;7914:36:1;;7902:2;7887:18;6240:80:0;7869:87:1;11498:118:0;;;;;;;;;;;;;:::i;:::-;;11774:220;;;;;;;;;;-1:-1:-1;11774:220:0;;;;;:::i;:::-;;:::i;7062:122::-;;;;;;;;;;-1:-1:-1;7062:122:0;;;;;:::i;:::-;;:::i;4715:60::-;;;;;;;;;;;;;;;;5294:30;;;;;;;;;;-1:-1:-1;5294:30:0;;;;-1:-1:-1;;;5294:30:0;;;;;;6586:105;;;;;;;;;;-1:-1:-1;6586:105:0;;;;;:::i;:::-;-1:-1:-1;;;;;6670:18:0;6652:7;6670:18;;;:9;:18;;;;;;;6586:105;2663:131;;;;;;;;;;;;;:::i;6502:78::-;;;;;;;;;;-1:-1:-1;6554:7:0;6572:5;-1:-1:-1;;;;;6572:5:0;6502:78;;;-1:-1:-1;;;;;2819:32:1;;;2801:51;;2789:2;2774:18;6502:78:0;2756:102:1;6326:84:0;;;;;;;;;;-1:-1:-1;6400:7:0;;;;;;;;;;;;-1:-1:-1;;;6400:7:0;;;;6326:84;;5266:19;;;;;;;;;;-1:-1:-1;5266:19:0;;;;-1:-1:-1;;;;;5266:19:0;;;7192:156;;;;;;;;;;-1:-1:-1;7192:156:0;;;;;:::i;:::-;;:::i;6697:133::-;;;;;;;;;;-1:-1:-1;6697:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;6799:19:0;;;6781:7;6799:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;6697:133;5146:80;;;;;;;;;;-1:-1:-1;5146:80:0;;;;-1:-1:-1;;;;;5146:80:0;;;11624:142;;;;;;;;;;-1:-1:-1;11624:142:0;;;;;:::i;:::-;;:::i;5235:24::-;;;;;;;;;;-1:-1:-1;5235:24:0;;;;-1:-1:-1;;;;;5235:24:0;;;6838:216;6942:10;6913:4;6930:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;6930:32:0;;;;;;;;;;:41;;;6987:37;6913:4;;6930:32;;6987:37;;;;6965:6;6498:25:1;;6486:2;6471:18;;6453:76;6987:37:0;;;;;;;;-1:-1:-1;7042:4:0;6838:216;;;;;:::o;7356:370::-;-1:-1:-1;;;;;7476:19:0;;7456:4;7476:19;;;:11;:19;;;;;;;;7496:10;7476:31;;;;;;;;-1:-1:-1;;7476:52:0;7473:186;;7578:69;;;;;;;;;;;-1:-1:-1;;;7578:69:0;;;;;;;;-1:-1:-1;;;;;7578:19:0;;-1:-1:-1;7578:19:0;;;:11;:19;;;;;7598:10;7578:31;;;;;;;;;;:69;;7614:6;;7578:35;:69::i;:::-;-1:-1:-1;;;;;7544:19:0;;;;;;:11;:19;;;;;;;;7564:10;7544:31;;;;;;;:103;7473:186;7678:40;7692:6;7700:9;7711:6;7678:13;:40::i;:::-;7671:47;;7356:370;;;;;;:::o;11498:118::-;11555:20;;11547:61;;-1:-1:-1;;;;;11555:20:0;;;;11586:21;11547:61;;;;;11555:20;11547:61;11555:20;11547:61;11586:21;11555:20;11547:61;;;;;;;;;;;;;;;;;;;;;11498:118::o;11774:220::-;2609:4;2644:5;-1:-1:-1;;;;;2644:5:0;2515:10;2633:16;2499:38;;;;-1:-1:-1;;;2499:38:0;;;;;;;:::i;:::-;;;;;;;;;11867:12:::1;:28:::0;;;11908:12:::1;:28:::0;;;11959:27:::1;11923:13:::0;11882;11959:27:::1;:::i;:::-;11948:8;:38:::0;-1:-1:-1;;11774:220:0:o;7062:122::-;7117:4;7141:35;7149:7;-1:-1:-1;;7141:7:0;:35::i;2663:131::-;2609:4;2644:5;-1:-1:-1;;;;;2644:5:0;2515:10;2633:16;2499:38;;;;-1:-1:-1;;;2499:38:0;;;;;;;:::i;:::-;2736:1:::1;2720:18:::0;;-1:-1:-1;;;;;;2720:18:0::1;::::0;;2754:32:::1;::::0;2801:51:1;;;2754:32:0::1;::::0;2789:2:1;2774:18;2754:32:0::1;;;;;;;2663:131::o:0;7192:156::-;7272:4;7296:44;7310:10;7322:9;7333:6;7296:13;:44::i;11624:142::-;2609:4;2644:5;-1:-1:-1;;;;;2644:5:0;2515:10;2633:16;2499:38;;;;-1:-1:-1;;;2499:38:0;;;;;;;:::i;:::-;11754:4:::1;11736:13;11721:12;;:28;;;;:::i;:::-;11720:38;;;;:::i;:::-;11701:16;:57:::0;-1:-1:-1;11624:142:0:o;643:190::-;729:7;765:12;757:6;;;;749:29;;;;-1:-1:-1;;;749:29:0;;;;;;;;:::i;:::-;-1:-1:-1;789:9:0;801:5;805:1;801;:5;:::i;:::-;789:17;643:190;-1:-1:-1;;;;;643:190:0:o;7734:792::-;7846:6;;7826:4;;7846:6;;7843:63;;;7862:41;7877:6;7885:9;7896:6;7862:14;:41::i;:::-;7855:48;;;;7843:63;7943:4;;-1:-1:-1;;;;;7930:17:0;;;7943:4;;7930:17;;;;:38;;-1:-1:-1;7964:4:0;;-1:-1:-1;;;;;7951:17:0;;;7964:4;;7951:17;;7930:38;7926:200;;;-1:-1:-1;;;;;7993:26:0;;;;;;:15;:26;;;;;;;;;:79;;-1:-1:-1;8056:16:0;;-1:-1:-1;;;;;8023:20:0;;;;;;:9;:20;;;;;;:29;;8046:6;;8023:29;:::i;:::-;:49;;7993:79;7985:129;;;;-1:-1:-1;;;7985:129:0;;4697:2:1;7985:129:0;;;4679:21:1;4736:2;4716:18;;;4709:30;4775:34;4755:18;;;4748:62;-1:-1:-1;;;4826:18:1;;;4819:35;4871:19;;7985:129:0;4669:227:1;7985:129:0;8149:16;:14;:16::i;:::-;8146:35;;;8168:10;:8;:10::i;:::-;8214:53;;;;;;;;;;;-1:-1:-1;;;8214:53:0;;;;;;;;-1:-1:-1;;;;;8214:17:0;;-1:-1:-1;8214:17:0;;;:9;:17;;;;;;;;:53;;8236:6;;8214:21;:53::i;:::-;-1:-1:-1;;;;;8194:17:0;;;;;;:9;:17;;;;;;;;:73;;;;8963:11;:19;;;;;;;;8962:20;8305:56;;8355:6;8305:56;;;8329:23;8337:6;8345;8329:7;:23::i;:::-;-1:-1:-1;;;;;8395:20:0;;;;;;:9;:20;;;;;;8280:81;;-1:-1:-1;8395:40:0;;8280:81;8395:24;:40::i;:::-;-1:-1:-1;;;;;8372:20:0;;;;;;;:9;:20;;;;;;;:63;;;;8453:43;;;;;;;;;;8481:14;6498:25:1;;6486:2;6471:18;;6453:76;8453:43:0;;;;;;;;-1:-1:-1;8514:4:0;;7734:792;-1:-1:-1;;;;7734:792:0:o;8538:330::-;8668:53;;;;;;;;;;;-1:-1:-1;;;8668:53:0;;;;;;;;-1:-1:-1;;;;;8668:17:0;;8631:4;8668:17;;;:9;:17;;;;;;;:53;;8690:6;;8668:21;:53::i;:::-;-1:-1:-1;;;;;8648:17:0;;;;;;;:9;:17;;;;;;:73;;;;8755:20;;;;;;;:32;;8780:6;8755:24;:32::i;:::-;-1:-1:-1;;;;;8732:20:0;;;;;;;:9;:20;;;;;;;:55;;;;8803:35;;;;;;;;;;8831:6;6498:25:1;;6486:2;6471:18;;6453:76;8803:35:0;;;;;;;;-1:-1:-1;8856:4:0;8538:330;;;;;:::o;9335:197::-;9422:4;;9384;;-1:-1:-1;;;;;9422:4:0;9408:10;:18;;;;:38;;-1:-1:-1;9440:6:0;;;;9439:7;9408:38;:62;;;;-1:-1:-1;9459:11:0;;-1:-1:-1;;;9459:11:0;;;;9408:62;:116;;;;-1:-1:-1;9511:13:0;;9501:4;9483:24;;;;:9;:24;;;;;;:41;;9408:116;9401:123;;9335:197;:::o;9540:1572::-;5440:6;:13;;-1:-1:-1;;5440:13:0;5449:4;5440:13;;;9620::::1;::::0;9713:8:::1;::::0;9695:12:::1;::::0;5440:6;;9670:59:::1;::::0;9727:1:::1;::::0;9670:52:::1;::::0;;;9620:13;;9670:24:::1;:38::i;:::-;:42:::0;::::1;:52::i;:59::-;9644:85:::0;-1:-1:-1;9740:20:0::1;9763:41;:20:::0;9644:85;9763:24:::1;:41::i;:::-;9841:16;::::0;;9855:1:::1;9841:16:::0;;;;;::::1;::::0;;9740:64;;-1:-1:-1;9817:21:0::1;::::0;9841:16;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9841:16:0::1;9817:40;;9886:4;9868;9873:1;9868:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9868:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;9912:6:::1;::::0;:13:::1;::::0;;-1:-1:-1;;;9912:13:0;;;;:6;;;::::1;::::0;:11:::1;::::0;:13:::1;::::0;;::::1;::::0;9868:7;;9912:13;;;;;:6;:13;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9902:4;9907:1;9902:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9902:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;9996:6:::1;::::0;:188:::1;::::0;-1:-1:-1;;;9996:188:0;;9962:21:::1;::::0;9996:6;;;::::1;::::0;:57:::1;::::0;:188:::1;::::0;10068:12;;9938:21:::1;::::0;10111:4;;10138::::1;::::0;10158:15:::1;::::0;9996:188:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10195:17;10215:40;10241:13;10215:21;:25;;:40;;;;:::i;:::-;10195:60;;10266:19;10288:33;10301:19;10318:1;10301:12;;:16;;:19;;;;:::i;:::-;10288:8;::::0;;:12:::1;:33::i;:::-;10266:55;;10332:26;10361:51;10410:1;10361:44;10393:11;10361:27;10375:12;;10361:9;:13;;:27;;;;:::i;:51::-;10332:80;;10423:26;10452:44;10484:11;10452:27;10466:12;;10452:9;:13;;:27;;;;:::i;:44::-;10570:20;::::0;10562:77:::1;::::0;10423:73;;-1:-1:-1;10512:21:0::1;::::0;-1:-1:-1;;;;;10570:20:0;;::::1;::::0;10629:5:::1;::::0;10423:73;;10512:21;10562:77;10512:21;10562:77;10423:73;10570:20;10629:5;10562:77:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10511:128;;;10658:16;10650:59;;;::::0;-1:-1:-1;;;10650:59:0;;5459:2:1;10650:59:0::1;::::0;::::1;5441:21:1::0;5498:2;5478:18;;;5471:30;5537:32;5517:18;;;5510:60;5587:18;;10650:59:0::1;5431:180:1::0;10650:59:0::1;10725:19:::0;;10722:383:::1;;10760:6;::::0;:265:::1;::::0;-1:-1:-1;;;10760:265:0;;10836:4:::1;10760:265;::::0;::::1;3204:34:1::0;3254:18;;;3247:34;;;10760:6:0::1;3297:18:1::0;;;3290:34;;;3340:18;;;3333:34;10934:42:0::1;3383:19:1::0;;;3376:44;10995:15:0::1;3436:19:1::0;;;3429:35;-1:-1:-1;;;;;10760:6:0;;::::1;::::0;:22:::1;::::0;10790:18;;3138:19:1;;10760:265:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;11045:48:0::1;::::0;;7693:25:1;;;7749:2;7734:18;;7727:34;;;11045:48:0::1;::::0;-1:-1:-1;7666:18:1;11045:48:0::1;;;;;;;10722:383;-1:-1:-1::0;;5458:6:0;:14;;-1:-1:-1;;5458:14:0;;;-1:-1:-1;;;;;;;;9540:1572:0:o;8998:329::-;9065:7;9085:17;9105:40;9130:14;;9105:20;9116:8;;9105:6;:10;;:20;;;;:::i;:40::-;9201:4;9183:24;;;;:9;:24;;;;;;9085:60;;-1:-1:-1;9183:39:0;;9085:60;9183:28;:39::i;:::-;9174:4;9156:24;;;;:9;:24;;;;;;;:66;;;;9238:42;;-1:-1:-1;;;;;9238:42:0;;;;;;;9270:9;6498:25:1;;6486:2;6471:18;;6453:76;9238:42:0;;;;;;;;9298:21;:6;9309:9;9298:10;:21::i;:::-;9291:28;8998:329;-1:-1:-1;;;;8998:329:0:o;316:179::-;374:7;;406:5;410:1;406;:5;:::i;:::-;394:17;;435:1;430;:6;;422:46;;;;-1:-1:-1;;;422:46:0;;5103:2:1;422:46:0;;;5085:21:1;5142:2;5122:18;;;5115:30;5181:29;5161:18;;;5154:57;5228:18;;422:46:0;5075:177:1;839:246:0;897:7;921:6;917:47;;-1:-1:-1;951:1:0;944:8;;917:47;974:9;986:5;990:1;986;:5;:::i;:::-;974:17;-1:-1:-1;1019:1:0;1010:5;1014:1;974:17;1010:5;:::i;:::-;:10;1002:56;;;;-1:-1:-1;;;1002:56:0;;5818:2:1;1002:56:0;;;5800:21:1;5857:2;5837:18;;;5830:30;5896:34;5876:18;;;5869:62;-1:-1:-1;;;5947:18:1;;;5940:31;5988:19;;1002:56:0;5790:223:1;1091:132:0;1149:7;1176:39;1180:1;1183;1176:39;;;;;;;;;;;;;;;;;:3;:39::i;501:136::-;559:7;586:43;590:1;593;586:43;;;;;;;;;;;;;;;;;:3;:43::i;1229:189::-;1315:7;1350:12;1343:5;1335:28;;;;-1:-1:-1;;;1335:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1374:9:0;1386:5;1390:1;1386;:5;:::i;14:247:1:-;73:6;126:2;114:9;105:7;101:23;97:32;94:2;;;142:1;139;132:12;94:2;181:9;168:23;200:31;225:5;200:31;:::i;266:251::-;336:6;389:2;377:9;368:7;364:23;360:32;357:2;;;405:1;402;395:12;357:2;437:9;431:16;456:31;481:5;456:31;:::i;522:388::-;590:6;598;651:2;639:9;630:7;626:23;622:32;619:2;;;667:1;664;657:12;619:2;706:9;693:23;725:31;750:5;725:31;:::i;:::-;775:5;-1:-1:-1;832:2:1;817:18;;804:32;845:33;804:32;845:33;:::i;:::-;897:7;887:17;;;609:301;;;;;:::o;915:456::-;992:6;1000;1008;1061:2;1049:9;1040:7;1036:23;1032:32;1029:2;;;1077:1;1074;1067:12;1029:2;1116:9;1103:23;1135:31;1160:5;1135:31;:::i;:::-;1185:5;-1:-1:-1;1242:2:1;1227:18;;1214:32;1255:33;1214:32;1255:33;:::i;:::-;1019:352;;1307:7;;-1:-1:-1;;;1361:2:1;1346:18;;;;1333:32;;1019:352::o;1376:315::-;1444:6;1452;1505:2;1493:9;1484:7;1480:23;1476:32;1473:2;;;1521:1;1518;1511:12;1473:2;1560:9;1547:23;1579:31;1604:5;1579:31;:::i;:::-;1629:5;1681:2;1666:18;;;;1653:32;;-1:-1:-1;;;1463:228:1:o;1696:180::-;1755:6;1808:2;1796:9;1787:7;1783:23;1779:32;1776:2;;;1824:1;1821;1814:12;1776:2;-1:-1:-1;1847:23:1;;1766:110;-1:-1:-1;1766:110:1:o;1881:248::-;1949:6;1957;2010:2;1998:9;1989:7;1985:23;1981:32;1978:2;;;2026:1;2023;2016:12;1978:2;-1:-1:-1;;2049:23:1;;;2119:2;2104:18;;;2091:32;;-1:-1:-1;1968:161:1:o;2134:306::-;2222:6;2230;2238;2291:2;2279:9;2270:7;2266:23;2262:32;2259:2;;;2307:1;2304;2297:12;2259:2;2336:9;2330:16;2320:26;;2386:2;2375:9;2371:18;2365:25;2355:35;;2430:2;2419:9;2415:18;2409:25;2399:35;;2249:191;;;;;:::o;3893:597::-;4005:4;4034:2;4063;4052:9;4045:21;4095:6;4089:13;4138:6;4133:2;4122:9;4118:18;4111:34;4163:1;4173:140;4187:6;4184:1;4181:13;4173:140;;;4282:14;;;4278:23;;4272:30;4248:17;;;4267:2;4244:26;4237:66;4202:10;;4173:140;;;4331:6;4328:1;4325:13;4322:2;;;4401:1;4396:2;4387:6;4376:9;4372:22;4368:31;4361:42;4322:2;-1:-1:-1;4474:2:1;4453:15;-1:-1:-1;;4449:29:1;4434:45;;;;4481:2;4430:54;;4014:476;-1:-1:-1;;;4014:476:1:o;6018:329::-;6220:2;6202:21;;;6259:1;6239:18;;;6232:29;-1:-1:-1;;;6292:2:1;6277:18;;6270:36;6338:2;6323:18;;6192:155::o;6534:980::-;6796:4;6844:3;6833:9;6829:19;6875:6;6864:9;6857:25;6901:2;6939:6;6934:2;6923:9;6919:18;6912:34;6982:3;6977:2;6966:9;6962:18;6955:31;7006:6;7041;7035:13;7072:6;7064;7057:22;7110:3;7099:9;7095:19;7088:26;;7149:2;7141:6;7137:15;7123:29;;7170:1;7180:195;7194:6;7191:1;7188:13;7180:195;;;7259:13;;-1:-1:-1;;;;;7255:39:1;7243:52;;7350:15;;;;7315:12;;;;7291:1;7209:9;7180:195;;;-1:-1:-1;;;;;;;7431:32:1;;;;7426:2;7411:18;;7404:60;-1:-1:-1;;;7495:3:1;7480:19;7473:35;7392:3;6805:709;-1:-1:-1;;;6805:709:1:o;7961:128::-;8001:3;8032:1;8028:6;8025:1;8022:13;8019:2;;;8038:18;;:::i;:::-;-1:-1:-1;8074:9:1;;8009:80::o;8094:217::-;8134:1;8160;8150:2;;8204:10;8199:3;8195:20;8192:1;8185:31;8239:4;8236:1;8229:15;8267:4;8264:1;8257:15;8150:2;-1:-1:-1;8296:9:1;;8140:171::o;8316:168::-;8356:7;8422:1;8418;8414:6;8410:14;8407:1;8404:21;8399:1;8392:9;8385:17;8381:45;8378:2;;;8429:18;;:::i;:::-;-1:-1:-1;8469:9:1;;8368:116::o;8489:125::-;8529:4;8557:1;8554;8551:8;8548:2;;;8562:18;;:::i;:::-;-1:-1:-1;8599:9:1;;8538:76::o;8619:127::-;8680:10;8675:3;8671:20;8668:1;8661:31;8711:4;8708:1;8701:15;8735:4;8732:1;8725:15;8751:127;8812:10;8807:3;8803:20;8800:1;8793:31;8843:4;8840:1;8833:15;8867:4;8864:1;8857:15;9015:131;-1:-1:-1;;;;;9090:31:1;;9080:42;;9070:2;;9136:1;9133;9126:12

Swarm Source

ipfs://f426971685dce921b22735a506b024437271b4d7687f46ef4389da208dad8d15

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.