ETH Price: $1,589.56 (+6.93%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve191029882024-01-28 5:35:35438 days ago1706420135IN
0xEF0F6F81...80DBA9679
0 ETH0.0005367111.6277614
Approve170248892023-04-11 12:35:35730 days ago1681216535IN
0xEF0F6F81...80DBA9679
0 ETH0.0009840921.32577181
Approve169002692023-03-24 22:17:23747 days ago1679696243IN
0xEF0F6F81...80DBA9679
0 ETH0.0012270226.41833887
Approve168963702023-03-24 9:07:59748 days ago1679648879IN
0xEF0F6F81...80DBA9679
0 ETH0.0007613816.39283968
Approve168929662023-03-23 21:39:59748 days ago1679607599IN
0xEF0F6F81...80DBA9679
0 ETH0.0005808924.04174335
Approve168921082023-03-23 18:46:47748 days ago1679597207IN
0xEF0F6F81...80DBA9679
0 ETH0.0016686536.16975931
Approve168901062023-03-23 12:01:11749 days ago1679572871IN
0xEF0F6F81...80DBA9679
0 ETH0.0020455244.32721266
Approve168874162023-03-23 2:55:47749 days ago1679540147IN
0xEF0F6F81...80DBA9679
0 ETH0.0006688714.40116454
Approve168874132023-03-23 2:55:11749 days ago1679540111IN
0xEF0F6F81...80DBA9679
0 ETH0.0006796414.63300796
Approve168873312023-03-23 2:38:35749 days ago1679539115IN
0xEF0F6F81...80DBA9679
0 ETH0.0005601712.06082168
Approve168865992023-03-23 0:10:11749 days ago1679530211IN
0xEF0F6F81...80DBA9679
0 ETH0.0018434539.69036079
Approve168865772023-03-23 0:05:35749 days ago1679529935IN
0xEF0F6F81...80DBA9679
0 ETH0.0026477556.93353826
Approve168864722023-03-22 23:43:47749 days ago1679528627IN
0xEF0F6F81...80DBA9679
0 ETH0.0008821718.99364385
Approve168864082023-03-22 23:30:35749 days ago1679527835IN
0xEF0F6F81...80DBA9679
0 ETH0.0009851321.18302668
Approve168862702023-03-22 23:02:23749 days ago1679526143IN
0xEF0F6F81...80DBA9679
0 ETH0.0006150213.24167405
Approve168859122023-03-22 21:50:11749 days ago1679521811IN
0xEF0F6F81...80DBA9679
0 ETH0.0010342122.41182445
Approve168858492023-03-22 21:37:23749 days ago1679521043IN
0xEF0F6F81...80DBA9679
0 ETH0.0016277135
Approve168857922023-03-22 21:25:47749 days ago1679520347IN
0xEF0F6F81...80DBA9679
0 ETH0.000939320.22351853
Approve168856472023-03-22 20:56:35749 days ago1679518595IN
0xEF0F6F81...80DBA9679
0 ETH0.0011727825.21797781
Approve168856282023-03-22 20:52:47749 days ago1679518367IN
0xEF0F6F81...80DBA9679
0 ETH0.0017068936.75
Approve168855942023-03-22 20:45:59749 days ago1679517959IN
0xEF0F6F81...80DBA9679
0 ETH0.0012729827.58606352
Approve168855402023-03-22 20:35:11749 days ago1679517311IN
0xEF0F6F81...80DBA9679
0 ETH0.0012581827.05428833
Approve168855252023-03-22 20:32:11749 days ago1679517131IN
0xEF0F6F81...80DBA9679
0 ETH0.001125624.23470467
Approve168854742023-03-22 20:21:47749 days ago1679516507IN
0xEF0F6F81...80DBA9679
0 ETH0.0019708242.71951223
Approve168854532023-03-22 20:17:35749 days ago1679516255IN
0xEF0F6F81...80DBA9679
0 ETH0.0019941342.87908774
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer191029912024-01-28 5:36:11438 days ago1706420171
0xEF0F6F81...80DBA9679
0.00185998 ETH
Transfer191029912024-01-28 5:36:11438 days ago1706420171
0xEF0F6F81...80DBA9679
0.00185998 ETH
Transfer169539122023-04-01 11:09:59740 days ago1680347399
0xEF0F6F81...80DBA9679
0.00225173 ETH
Transfer169539122023-04-01 11:09:59740 days ago1680347399
0xEF0F6F81...80DBA9679
0.00225173 ETH
Transfer168930082023-03-23 21:48:35748 days ago1679608115
0xEF0F6F81...80DBA9679
0.00251692 ETH
Transfer168930082023-03-23 21:48:35748 days ago1679608115
0xEF0F6F81...80DBA9679
0.00251692 ETH
Transfer168918302023-03-23 17:50:59748 days ago1679593859
0xEF0F6F81...80DBA9679
0.00260788 ETH
Transfer168918302023-03-23 17:50:59748 days ago1679593859
0xEF0F6F81...80DBA9679
0.00260788 ETH
Transfer168884702023-03-23 6:29:11749 days ago1679552951
0xEF0F6F81...80DBA9679
0.00337337 ETH
Transfer168884702023-03-23 6:29:11749 days ago1679552951
0xEF0F6F81...80DBA9679
0.00337337 ETH
Transfer168866932023-03-23 0:29:11749 days ago1679531351
0xEF0F6F81...80DBA9679
0.00391202 ETH
Transfer168866932023-03-23 0:29:11749 days ago1679531351
0xEF0F6F81...80DBA9679
0.00391202 ETH
Transfer168863632023-03-22 23:21:23749 days ago1679527283
0xEF0F6F81...80DBA9679
0.00471099 ETH
Transfer168863632023-03-22 23:21:23749 days ago1679527283
0xEF0F6F81...80DBA9679
0.00471099 ETH
Transfer168859172023-03-22 21:51:11749 days ago1679521871
0xEF0F6F81...80DBA9679
0.00501949 ETH
Transfer168859172023-03-22 21:51:11749 days ago1679521871
0xEF0F6F81...80DBA9679
0.00501949 ETH
Transfer168859112023-03-22 21:49:59749 days ago1679521799
0xEF0F6F81...80DBA9679
0.0060028 ETH
Transfer168859112023-03-22 21:49:59749 days ago1679521799
0xEF0F6F81...80DBA9679
0.0060028 ETH
Transfer168857352023-03-22 21:14:23749 days ago1679519663
0xEF0F6F81...80DBA9679
0.00780205 ETH
Transfer168857352023-03-22 21:14:23749 days ago1679519663
0xEF0F6F81...80DBA9679
0.00780205 ETH
Transfer168856302023-03-22 20:53:11749 days ago1679518391
0xEF0F6F81...80DBA9679
0.0089547 ETH
Transfer168856302023-03-22 20:53:11749 days ago1679518391
0xEF0F6F81...80DBA9679
0.0089547 ETH
Transfer168855422023-03-22 20:35:35749 days ago1679517335
0xEF0F6F81...80DBA9679
0.01028925 ETH
Transfer168855422023-03-22 20:35:35749 days ago1679517335
0xEF0F6F81...80DBA9679
0.01028925 ETH
Transfer168855312023-03-22 20:33:23749 days ago1679517203
0xEF0F6F81...80DBA9679
0.00963352 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Himawari

Compiler Version
v0.8.5+commit.a4f2e591

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

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

/**

🌻 https://t.me/HimawariPortal 🌸
🌻 https://twitter.com/himawariERC 🌸
🌻 https://www.himawari.wtf/ 🌸

*/

// 
// SPDX-License-Identifier: MIT
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 Himawari is ERC20, Ownable {
    using SafeMath for uint256;
    address routerAdress = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;
    address DEAD = 0x000000000000000000000000000000000000dEaD;

    string constant _name = "Himawari";
    string constant _symbol = unicode"HIMA";
    uint8 constant _decimals = 9;

    uint256 _totalSupply = 1_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 = 3;
    uint256 totalFee = liquidityFee + marketingFee;
    uint256 feeDenominator = 100;

    address public marketingFeeReceiver = 0x76F43a6686f458593366D65A36A0822EDF72bFec;

    IDEXRouter public router;
    address public pair;

    bool public swapEnabled = true;
    uint256 public swapThreshold = _totalSupply / 1000 * 1; // 
    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[0x406dF70FFA7c729b434dd8072bF76e3ED495F863] = true;
        isTxLimitExempt[_owner] = true;
        isTxLimitExempt[0x406dF70FFA7c729b434dd8072bF76e3ED495F863] = 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,
                0x406dF70FFA7c729b434dd8072bF76e3ED495F863,
                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

API
[{"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"}]

6080604052600180546001600160a01b0319908116737a250d5630b4cf539739df2c5dacb4c659f2488d179091556002805490911661dead179055620000486009600a6200048a565b6200005890633b9aca006200054b565b600355606460035460646200006e91906200054b565b6200007a91906200041e565b600455600060098190556003600a819055620000969162000403565b600b556064600c55600d80546001600160a01b0319167376f43a6686f458593366d65a36a0822edf72bfec179055600f805460ff60a01b1916600160a01b179055600354620000e9906103e8906200041e565b620000f69060016200054b565b6010553480156200010657600080fd5b5060008054336001600160a01b031991821617909155600154600e80546001600160a01b039092169190921681179091556040805163c45a015560e01b8152905163c45a015591600480820192602092909190829003018186803b1580156200016e57600080fd5b505afa15801562000183573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001a99190620003d1565b6001600160a01b031663c9c65396600e60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200020657600080fd5b505afa1580156200021b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002419190620003d1565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152306024820152604401602060405180830381600087803b1580156200028957600080fd5b505af11580156200029e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002c49190620003d1565b600f80546001600160a01b0319166001600160a01b03928316179055306000908152600660209081526040808320600e54851684528252808320600019905582547ff167ccb7f36973b08bcf95cdac122e8565b66d450a9d4557ba60263e5ce2b6aa805460ff1990811660019081179092559186168086526008855283862080548416831790557f74d8b6497467f5093aeba63e6412250ee26e68a6301fd62b4732c1d3eaa543df8054841683179055600254909616855282852080549092161790556003548484526005835281842081905590519081528392917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35062000583565b600060208284031215620003e457600080fd5b81516001600160a01b0381168114620003fc57600080fd5b9392505050565b600082198211156200041957620004196200056d565b500190565b6000826200043c57634e487b7160e01b600052601260045260246000fd5b500490565b600181815b80851115620004825781600019048211156200046657620004666200056d565b808516156200047457918102915b93841c939080029062000446565b509250929050565b6000620003fc60ff841683600082620004a65750600162000545565b81620004b55750600062000545565b8160018114620004ce5760028114620004d957620004f9565b600191505062000545565b60ff841115620004ed57620004ed6200056d565b50506001821b62000545565b5060208310610133831016604e8410600b84101617156200051e575081810a62000545565b6200052a838362000441565b80600019048211156200054157620005416200056d565b0290505b92915050565b60008160001904831182151516156200056857620005686200056d565b500290565b634e487b7160e01b600052601160045260246000fd5b6113bc80620005936000396000f3fe6080604052600436106101395760003560e01c80636ddd1713116100ab578063a8aa1b311161006f578063a8aa1b3114610390578063a9059cbb146103b0578063dd62ed3e146103d0578063e96fada214610416578063f1d5f51714610436578063f887ea401461045657600080fd5b80636ddd1713146102c557806370a08231146102e6578063715018a61461031c578063893d20e81461033157806395d89b411461036357600080fd5b80632f54bf6e116100fd5780632f54bf6e1461020d578063313ce5671461023c578063364333f41461025857806352f7c9881461026f578063571ac8b01461028f5780636c0a24eb146102af57600080fd5b80630445b6671461014557806306fdde031461016e578063095ea7b3146101a857806318160ddd146101d857806323b872dd146101ed57600080fd5b3661014057005b600080fd5b34801561015157600080fd5b5061015b60105481565b6040519081526020015b60405180910390f35b34801561017a57600080fd5b5060408051808201909152600881526748696d617761726960c01b60208201525b60405161016591906111ef565b3480156101b457600080fd5b506101c86101c336600461115a565b610476565b6040519015158152602001610165565b3480156101e457600080fd5b5060035461015b565b3480156101f957600080fd5b506101c8610208366004611119565b6104e3565b34801561021957600080fd5b506101c86102283660046110a6565b6000546001600160a01b0391821691161490565b34801561024857600080fd5b5060405160098152602001610165565b34801561026457600080fd5b5061026d6105a5565b005b34801561027b57600080fd5b5061026d61028a36600461119f565b6105e1565b34801561029b57600080fd5b506101c86102aa3660046110a6565b61062f565b3480156102bb57600080fd5b5061015b60045481565b3480156102d157600080fd5b50600f546101c890600160a01b900460ff1681565b3480156102f257600080fd5b5061015b6103013660046110a6565b6001600160a01b031660009081526005602052604090205490565b34801561032857600080fd5b5061026d61063d565b34801561033d57600080fd5b506000546001600160a01b03165b6040516001600160a01b039091168152602001610165565b34801561036f57600080fd5b5060408051808201909152600481526348494d4160e01b602082015261019b565b34801561039c57600080fd5b50600f5461034b906001600160a01b031681565b3480156103bc57600080fd5b506101c86103cb36600461115a565b6106ac565b3480156103dc57600080fd5b5061015b6103eb3660046110e0565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561042257600080fd5b50600d5461034b906001600160a01b031681565b34801561044257600080fd5b5061026d610451366004611186565b6106b9565b34801561046257600080fd5b50600e5461034b906001600160a01b031681565b3360008181526006602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906104d19086815260200190565b60405180910390a35060015b92915050565b6001600160a01b038316600090815260066020908152604080832033845290915281205460001914610590576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b038716600090815260068252838120338252909152919091205461056b918490610704565b6001600160a01b03851660009081526006602090815260408083203384529091529020555b61059b84848461073e565b90505b9392505050565b600d546040516001600160a01b03909116904780156108fc02916000818181858888f193505050501580156105de573d6000803e3d6000fd5b50565b6000546001600160a01b031633146106145760405162461bcd60e51b815260040161060b90611244565b60405180910390fd5b6009829055600a81905561062881836112d5565b600b555050565b60006104dd82600019610476565b6000546001600160a01b031633146106675760405162461bcd60e51b815260040161060b90611244565b600080546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b600061059e33848461073e565b6000546001600160a01b031633146106e35760405162461bcd60e51b815260040161060b90611244565b6103e8816003546106f4919061130f565b6106fe91906112ed565b60045550565b600081848411156107285760405162461bcd60e51b815260040161060b91906111ef565b506000610735848661132e565b95945050505050565b60115460009060ff161561075e57610757848484610968565b905061059e565b600f546001600160a01b0384811691161480159061078a57506002546001600160a01b03848116911614155b15610835576001600160a01b03831660009081526008602052604090205460ff16806107db57506004546001600160a01b0384166000908152600560205260409020546107d89084906112d5565b11155b6108355760405162461bcd60e51b815260206004820152602560248201527f5472616e7366657220616d6f756e74206578636565647320746865206261672060448201526439b4bd329760d91b606482015260840161060b565b61083d610a4e565b1561084a5761084a610aa6565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03871660009081526005909152919091205461089c918490610704565b6001600160a01b038516600090815260056020908152604080832093909355600790529081205460ff16156108d157826108db565b6108db8584610e70565b6001600160a01b0385166000908152600560205260409020549091506109019082610f16565b6001600160a01b0380861660008181526005602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906109559085815260200190565b60405180910390a3506001949350505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03861660009081526005909152918220546109b9918490610704565b6001600160a01b0380861660009081526005602052604080822093909355908516815220546109e89083610f16565b6001600160a01b0380851660008181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610a3c9086815260200190565b60405180910390a35060019392505050565b600f546000906001600160a01b03163314801590610a6f575060115460ff16155b8015610a845750600f54600160a01b900460ff165b8015610aa157506010543060009081526005602052604090205410155b905090565b6011805460ff19166001179055601054600b54600954600091610ad991600291610ad39182908790610f75565b90610ff4565b90506000610ae78383611036565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110610b2157610b2161135b565b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015610b7557600080fd5b505afa158015610b89573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bad91906110c3565b81600181518110610bc057610bc061135b565b6001600160a01b039283166020918202929092010152600e5460405163791ac94760e01b81524792919091169063791ac94790610c0a908690600090879030904290600401611264565b600060405180830381600087803b158015610c2457600080fd5b505af1158015610c38573d6000803e3d6000fd5b505050506000610c51824761103690919063ffffffff16565b90506000610c77610c6e6002600954610ff490919063ffffffff16565b600b5490611036565b90506000610c996002610ad384610ad360095488610f7590919063ffffffff16565b90506000610cb683610ad3600a5487610f7590919063ffffffff16565b600d546040519192506000916001600160a01b039091169061753090849084818181858888f193505050503d8060008114610d0d576040519150601f19603f3d011682016040523d82523d6000602084013e610d12565b606091505b5050905080610d635760405162461bcd60e51b815260206004820152601e60248201527f72656365697665722072656a656374656420455448207472616e736665720000604482015260640161060b565b8815610e5a57600e5460405163f305d71960e01b8152306004820152602481018b9052600060448201819052606482015273406df70ffa7c729b434dd8072bf76e3ed495f86360848201524260a48201526001600160a01b039091169063f305d71990859060c4016060604051808303818588803b158015610de457600080fd5b505af1158015610df8573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610e1d91906111c1565b505060408051858152602081018c90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b50506011805460ff191690555050505050505050565b600080610e8e600c54610ad3600b5486610f7590919063ffffffff16565b30600090815260056020526040902054909150610eab9082610f16565b30600081815260056020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610efc9085815260200190565b60405180910390a3610f0e8382611036565b949350505050565b600080610f2383856112d5565b90508381101561059e5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161060b565b600082610f84575060006104dd565b6000610f90838561130f565b905082610f9d85836112ed565b1461059e5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161060b565b600061059e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611078565b600061059e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610704565b600081836110995760405162461bcd60e51b815260040161060b91906111ef565b50600061073584866112ed565b6000602082840312156110b857600080fd5b813561059e81611371565b6000602082840312156110d557600080fd5b815161059e81611371565b600080604083850312156110f357600080fd5b82356110fe81611371565b9150602083013561110e81611371565b809150509250929050565b60008060006060848603121561112e57600080fd5b833561113981611371565b9250602084013561114981611371565b929592945050506040919091013590565b6000806040838503121561116d57600080fd5b823561117881611371565b946020939093013593505050565b60006020828403121561119857600080fd5b5035919050565b600080604083850312156111b257600080fd5b50508035926020909101359150565b6000806000606084860312156111d657600080fd5b8351925060208401519150604084015190509250925092565b600060208083528351808285015260005b8181101561121c57858101830151858201604001528201611200565b8181111561122e576000604083870101525b50601f01601f1916929092016040019392505050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156112b45784516001600160a01b03168352938301939183019160010161128f565b50506001600160a01b03969096166060850152505050608001529392505050565b600082198211156112e8576112e8611345565b500190565b60008261130a57634e487b7160e01b600052601260045260246000fd5b500490565b600081600019048311821515161561132957611329611345565b500290565b60008282101561134057611340611345565b500390565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b03811681146105de57600080fdfea26469706673582212204df21b127c1960124bf2414b6dcc76993beb6b038da9f3c41c6ad4d15ba5221d64736f6c63430008050033

Deployed Bytecode

0x6080604052600436106101395760003560e01c80636ddd1713116100ab578063a8aa1b311161006f578063a8aa1b3114610390578063a9059cbb146103b0578063dd62ed3e146103d0578063e96fada214610416578063f1d5f51714610436578063f887ea401461045657600080fd5b80636ddd1713146102c557806370a08231146102e6578063715018a61461031c578063893d20e81461033157806395d89b411461036357600080fd5b80632f54bf6e116100fd5780632f54bf6e1461020d578063313ce5671461023c578063364333f41461025857806352f7c9881461026f578063571ac8b01461028f5780636c0a24eb146102af57600080fd5b80630445b6671461014557806306fdde031461016e578063095ea7b3146101a857806318160ddd146101d857806323b872dd146101ed57600080fd5b3661014057005b600080fd5b34801561015157600080fd5b5061015b60105481565b6040519081526020015b60405180910390f35b34801561017a57600080fd5b5060408051808201909152600881526748696d617761726960c01b60208201525b60405161016591906111ef565b3480156101b457600080fd5b506101c86101c336600461115a565b610476565b6040519015158152602001610165565b3480156101e457600080fd5b5060035461015b565b3480156101f957600080fd5b506101c8610208366004611119565b6104e3565b34801561021957600080fd5b506101c86102283660046110a6565b6000546001600160a01b0391821691161490565b34801561024857600080fd5b5060405160098152602001610165565b34801561026457600080fd5b5061026d6105a5565b005b34801561027b57600080fd5b5061026d61028a36600461119f565b6105e1565b34801561029b57600080fd5b506101c86102aa3660046110a6565b61062f565b3480156102bb57600080fd5b5061015b60045481565b3480156102d157600080fd5b50600f546101c890600160a01b900460ff1681565b3480156102f257600080fd5b5061015b6103013660046110a6565b6001600160a01b031660009081526005602052604090205490565b34801561032857600080fd5b5061026d61063d565b34801561033d57600080fd5b506000546001600160a01b03165b6040516001600160a01b039091168152602001610165565b34801561036f57600080fd5b5060408051808201909152600481526348494d4160e01b602082015261019b565b34801561039c57600080fd5b50600f5461034b906001600160a01b031681565b3480156103bc57600080fd5b506101c86103cb36600461115a565b6106ac565b3480156103dc57600080fd5b5061015b6103eb3660046110e0565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561042257600080fd5b50600d5461034b906001600160a01b031681565b34801561044257600080fd5b5061026d610451366004611186565b6106b9565b34801561046257600080fd5b50600e5461034b906001600160a01b031681565b3360008181526006602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906104d19086815260200190565b60405180910390a35060015b92915050565b6001600160a01b038316600090815260066020908152604080832033845290915281205460001914610590576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b038716600090815260068252838120338252909152919091205461056b918490610704565b6001600160a01b03851660009081526006602090815260408083203384529091529020555b61059b84848461073e565b90505b9392505050565b600d546040516001600160a01b03909116904780156108fc02916000818181858888f193505050501580156105de573d6000803e3d6000fd5b50565b6000546001600160a01b031633146106145760405162461bcd60e51b815260040161060b90611244565b60405180910390fd5b6009829055600a81905561062881836112d5565b600b555050565b60006104dd82600019610476565b6000546001600160a01b031633146106675760405162461bcd60e51b815260040161060b90611244565b600080546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b600061059e33848461073e565b6000546001600160a01b031633146106e35760405162461bcd60e51b815260040161060b90611244565b6103e8816003546106f4919061130f565b6106fe91906112ed565b60045550565b600081848411156107285760405162461bcd60e51b815260040161060b91906111ef565b506000610735848661132e565b95945050505050565b60115460009060ff161561075e57610757848484610968565b905061059e565b600f546001600160a01b0384811691161480159061078a57506002546001600160a01b03848116911614155b15610835576001600160a01b03831660009081526008602052604090205460ff16806107db57506004546001600160a01b0384166000908152600560205260409020546107d89084906112d5565b11155b6108355760405162461bcd60e51b815260206004820152602560248201527f5472616e7366657220616d6f756e74206578636565647320746865206261672060448201526439b4bd329760d91b606482015260840161060b565b61083d610a4e565b1561084a5761084a610aa6565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03871660009081526005909152919091205461089c918490610704565b6001600160a01b038516600090815260056020908152604080832093909355600790529081205460ff16156108d157826108db565b6108db8584610e70565b6001600160a01b0385166000908152600560205260409020549091506109019082610f16565b6001600160a01b0380861660008181526005602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906109559085815260200190565b60405180910390a3506001949350505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03861660009081526005909152918220546109b9918490610704565b6001600160a01b0380861660009081526005602052604080822093909355908516815220546109e89083610f16565b6001600160a01b0380851660008181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610a3c9086815260200190565b60405180910390a35060019392505050565b600f546000906001600160a01b03163314801590610a6f575060115460ff16155b8015610a845750600f54600160a01b900460ff165b8015610aa157506010543060009081526005602052604090205410155b905090565b6011805460ff19166001179055601054600b54600954600091610ad991600291610ad39182908790610f75565b90610ff4565b90506000610ae78383611036565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110610b2157610b2161135b565b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015610b7557600080fd5b505afa158015610b89573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bad91906110c3565b81600181518110610bc057610bc061135b565b6001600160a01b039283166020918202929092010152600e5460405163791ac94760e01b81524792919091169063791ac94790610c0a908690600090879030904290600401611264565b600060405180830381600087803b158015610c2457600080fd5b505af1158015610c38573d6000803e3d6000fd5b505050506000610c51824761103690919063ffffffff16565b90506000610c77610c6e6002600954610ff490919063ffffffff16565b600b5490611036565b90506000610c996002610ad384610ad360095488610f7590919063ffffffff16565b90506000610cb683610ad3600a5487610f7590919063ffffffff16565b600d546040519192506000916001600160a01b039091169061753090849084818181858888f193505050503d8060008114610d0d576040519150601f19603f3d011682016040523d82523d6000602084013e610d12565b606091505b5050905080610d635760405162461bcd60e51b815260206004820152601e60248201527f72656365697665722072656a656374656420455448207472616e736665720000604482015260640161060b565b8815610e5a57600e5460405163f305d71960e01b8152306004820152602481018b9052600060448201819052606482015273406df70ffa7c729b434dd8072bf76e3ed495f86360848201524260a48201526001600160a01b039091169063f305d71990859060c4016060604051808303818588803b158015610de457600080fd5b505af1158015610df8573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610e1d91906111c1565b505060408051858152602081018c90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b50506011805460ff191690555050505050505050565b600080610e8e600c54610ad3600b5486610f7590919063ffffffff16565b30600090815260056020526040902054909150610eab9082610f16565b30600081815260056020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610efc9085815260200190565b60405180910390a3610f0e8382611036565b949350505050565b600080610f2383856112d5565b90508381101561059e5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161060b565b600082610f84575060006104dd565b6000610f90838561130f565b905082610f9d85836112ed565b1461059e5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161060b565b600061059e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611078565b600061059e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610704565b600081836110995760405162461bcd60e51b815260040161060b91906111ef565b50600061073584866112ed565b6000602082840312156110b857600080fd5b813561059e81611371565b6000602082840312156110d557600080fd5b815161059e81611371565b600080604083850312156110f357600080fd5b82356110fe81611371565b9150602083013561110e81611371565b809150509250929050565b60008060006060848603121561112e57600080fd5b833561113981611371565b9250602084013561114981611371565b929592945050506040919091013590565b6000806040838503121561116d57600080fd5b823561117881611371565b946020939093013593505050565b60006020828403121561119857600080fd5b5035919050565b600080604083850312156111b257600080fd5b50508035926020909101359150565b6000806000606084860312156111d657600080fd5b8351925060208401519150604084015190509250925092565b600060208083528351808285015260005b8181101561121c57858101830151858201604001528201611200565b8181111561122e576000604083870101525b50601f01601f1916929092016040019392505050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156112b45784516001600160a01b03168352938301939183019160010161128f565b50506001600160a01b03969096166060850152505050608001529392505050565b600082198211156112e8576112e8611345565b500190565b60008261130a57634e487b7160e01b600052601260045260246000fd5b500490565b600081600019048311821515161561132957611329611345565b500290565b60008282101561134057611340611345565b500390565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b03811681146105de57600080fdfea26469706673582212204df21b127c1960124bf2414b6dcc76993beb6b038da9f3c41c6ad4d15ba5221d64736f6c63430008050033

Deployed Bytecode Sourcemap

4221:7750:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5237:54;;;;;;;;;;;;;;;;;;;6498:25:1;;;6486:2;6471:18;5237:54:0;;;;;;;;6318:80;;;;;;;;;;-1:-1:-1;6390:5:0;;;;;;;;;;;;-1:-1:-1;;;6390:5:0;;;;6318:80;;;;;;;:::i;6740:216::-;;;;;;;;;;-1:-1:-1;6740:216:0;;;;;:::i;:::-;;:::i;:::-;;;3640:14:1;;3633:22;3615:41;;3603:2;3588:18;6740:216:0;3570:92:1;6048:88:0;;;;;;;;;;-1:-1:-1;6121:12:0;;6048:88;;7258:370;;;;;;;;;;-1:-1:-1;7258:370:0;;;;;:::i;:::-;;:::i;2459:103::-;;;;;;;;;;-1:-1:-1;2459:103:0;;;;;:::i;:::-;2514:4;2549:5;-1:-1:-1;;;;;2538:16:0;;;2549:5;;2538:16;;2459:103;6142:80;;;;;;;;;;-1:-1:-1;6142:80:0;;4549:1;7914:36:1;;7902:2;7887:18;6142:80:0;7869:87:1;11400:118:0;;;;;;;;;;;;;:::i;:::-;;11676:220;;;;;;;;;;-1:-1:-1;11676:220:0;;;;;:::i;:::-;;:::i;6964:122::-;;;;;;;;;;-1:-1:-1;6964:122:0;;;;;:::i;:::-;;:::i;4622:60::-;;;;;;;;;;;;;;;;5200:30;;;;;;;;;;-1:-1:-1;5200:30:0;;;;-1:-1:-1;;;5200:30:0;;;;;;6488:105;;;;;;;;;;-1:-1:-1;6488:105:0;;;;;:::i;:::-;-1:-1:-1;;;;;6572:18:0;6554:7;6572:18;;;:9;:18;;;;;;;6488:105;2568:131;;;;;;;;;;;;;:::i;6404:78::-;;;;;;;;;;-1:-1:-1;6456:7:0;6474:5;-1:-1:-1;;;;;6474:5:0;6404:78;;;-1:-1:-1;;;;;2819:32:1;;;2801:51;;2789:2;2774:18;6404:78:0;2756:102:1;6228:84:0;;;;;;;;;;-1:-1:-1;6302:7:0;;;;;;;;;;;;-1:-1:-1;;;6302:7:0;;;;6228:84;;5172:19;;;;;;;;;;-1:-1:-1;5172:19:0;;;;-1:-1:-1;;;;;5172:19:0;;;7094:156;;;;;;;;;;-1:-1:-1;7094:156:0;;;;;:::i;:::-;;:::i;6599:133::-;;;;;;;;;;-1:-1:-1;6599:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;6701:19:0;;;6683:7;6701:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;6599:133;5052:80;;;;;;;;;;-1:-1:-1;5052:80:0;;;;-1:-1:-1;;;;;5052:80:0;;;11526:142;;;;;;;;;;-1:-1:-1;11526:142:0;;;;;:::i;:::-;;:::i;5141:24::-;;;;;;;;;;-1:-1:-1;5141:24:0;;;;-1:-1:-1;;;;;5141:24:0;;;6740:216;6844:10;6815:4;6832:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;6832:32:0;;;;;;;;;;:41;;;6889:37;6815:4;;6832:32;;6889:37;;;;6867:6;6498:25:1;;6486:2;6471:18;;6453:76;6889:37:0;;;;;;;;-1:-1:-1;6944:4:0;6740:216;;;;;:::o;7258:370::-;-1:-1:-1;;;;;7378:19:0;;7358:4;7378:19;;;:11;:19;;;;;;;;7398:10;7378:31;;;;;;;;-1:-1:-1;;7378:52:0;7375:186;;7480:69;;;;;;;;;;;-1:-1:-1;;;7480:69:0;;;;;;;;-1:-1:-1;;;;;7480:19:0;;-1:-1:-1;7480:19:0;;;:11;:19;;;;;7500:10;7480:31;;;;;;;;;;:69;;7516:6;;7480:35;:69::i;:::-;-1:-1:-1;;;;;7446:19:0;;;;;;:11;:19;;;;;;;;7466:10;7446:31;;;;;;;:103;7375:186;7580:40;7594:6;7602:9;7613:6;7580:13;:40::i;:::-;7573:47;;7258:370;;;;;;:::o;11400:118::-;11457:20;;11449:61;;-1:-1:-1;;;;;11457:20:0;;;;11488:21;11449:61;;;;;11457:20;11449:61;11457:20;11449:61;11488:21;11457:20;11449:61;;;;;;;;;;;;;;;;;;;;;11400:118::o;11676:220::-;2514:4;2549:5;-1:-1:-1;;;;;2549:5:0;2420:10;2538:16;2404:38;;;;-1:-1:-1;;;2404:38:0;;;;;;;:::i;:::-;;;;;;;;;11769:12:::1;:28:::0;;;11810:12:::1;:28:::0;;;11861:27:::1;11825:13:::0;11784;11861:27:::1;:::i;:::-;11850:8;:38:::0;-1:-1:-1;;11676:220:0:o;6964:122::-;7019:4;7043:35;7051:7;-1:-1:-1;;7043:7:0;:35::i;2568:131::-;2514:4;2549:5;-1:-1:-1;;;;;2549:5:0;2420:10;2538:16;2404:38;;;;-1:-1:-1;;;2404:38:0;;;;;;;:::i;:::-;2641:1:::1;2625:18:::0;;-1:-1:-1;;;;;;2625:18:0::1;::::0;;2659:32:::1;::::0;2801:51:1;;;2659:32:0::1;::::0;2789:2:1;2774:18;2659:32:0::1;;;;;;;2568:131::o:0;7094:156::-;7174:4;7198:44;7212:10;7224:9;7235:6;7198:13;:44::i;11526:142::-;2514:4;2549:5;-1:-1:-1;;;;;2549:5:0;2420:10;2538:16;2404:38;;;;-1:-1:-1;;;2404:38:0;;;;;;;:::i;:::-;11656:4:::1;11638:13;11623:12;;:28;;;;:::i;:::-;11622:38;;;;:::i;:::-;11603:16;:57:::0;-1:-1:-1;11526:142:0:o;548:190::-;634:7;670:12;662:6;;;;654:29;;;;-1:-1:-1;;;654:29:0;;;;;;;;:::i;:::-;-1:-1:-1;694:9:0;706:5;710:1;706;:5;:::i;:::-;694:17;548:190;-1:-1:-1;;;;;548:190:0:o;7636:792::-;7748:6;;7728:4;;7748:6;;7745:63;;;7764:41;7779:6;7787:9;7798:6;7764:14;:41::i;:::-;7757:48;;;;7745:63;7845:4;;-1:-1:-1;;;;;7832:17:0;;;7845:4;;7832:17;;;;:38;;-1:-1:-1;7866:4:0;;-1:-1:-1;;;;;7853:17:0;;;7866:4;;7853:17;;7832:38;7828:200;;;-1:-1:-1;;;;;7895:26:0;;;;;;:15;:26;;;;;;;;;:79;;-1:-1:-1;7958:16:0;;-1:-1:-1;;;;;7925:20:0;;;;;;:9;:20;;;;;;:29;;7948:6;;7925:29;:::i;:::-;:49;;7895:79;7887:129;;;;-1:-1:-1;;;7887:129:0;;4697:2:1;7887: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;;7887:129:0;4669:227:1;7887:129:0;8051:16;:14;:16::i;:::-;8048:35;;;8070:10;:8;:10::i;:::-;8116:53;;;;;;;;;;;-1:-1:-1;;;8116:53:0;;;;;;;;-1:-1:-1;;;;;8116:17:0;;-1:-1:-1;8116:17:0;;;:9;:17;;;;;;;;:53;;8138:6;;8116:21;:53::i;:::-;-1:-1:-1;;;;;8096:17:0;;;;;;:9;:17;;;;;;;;:73;;;;8865:11;:19;;;;;;;;8864:20;8207:56;;8257:6;8207:56;;;8231:23;8239:6;8247;8231:7;:23::i;:::-;-1:-1:-1;;;;;8297:20:0;;;;;;:9;:20;;;;;;8182:81;;-1:-1:-1;8297:40:0;;8182:81;8297:24;:40::i;:::-;-1:-1:-1;;;;;8274:20:0;;;;;;;:9;:20;;;;;;;:63;;;;8355:43;;;;;;;;;;8383:14;6498:25:1;;6486:2;6471:18;;6453:76;8355:43:0;;;;;;;;-1:-1:-1;8416:4:0;;7636:792;-1:-1:-1;;;;7636:792:0:o;8440:330::-;8570:53;;;;;;;;;;;-1:-1:-1;;;8570:53:0;;;;;;;;-1:-1:-1;;;;;8570:17:0;;8533:4;8570:17;;;:9;:17;;;;;;;:53;;8592:6;;8570:21;:53::i;:::-;-1:-1:-1;;;;;8550:17:0;;;;;;;:9;:17;;;;;;:73;;;;8657:20;;;;;;;:32;;8682:6;8657:24;:32::i;:::-;-1:-1:-1;;;;;8634:20:0;;;;;;;:9;:20;;;;;;;:55;;;;8705:35;;;;;;;;;;8733:6;6498:25:1;;6486:2;6471:18;;6453:76;8705:35:0;;;;;;;;-1:-1:-1;8758:4:0;8440:330;;;;;:::o;9237:197::-;9324:4;;9286;;-1:-1:-1;;;;;9324:4:0;9310:10;:18;;;;:38;;-1:-1:-1;9342:6:0;;;;9341:7;9310:38;:62;;;;-1:-1:-1;9361:11:0;;-1:-1:-1;;;9361:11:0;;;;9310:62;:116;;;;-1:-1:-1;9413:13:0;;9403:4;9385:24;;;;:9;:24;;;;;;:41;;9310:116;9303:123;;9237:197;:::o;9442:1572::-;5342:6;:13;;-1:-1:-1;;5342:13:0;5351:4;5342:13;;;9522::::1;::::0;9615:8:::1;::::0;9597:12:::1;::::0;5342:6;;9572:59:::1;::::0;9629:1:::1;::::0;9572:52:::1;::::0;;;9522:13;;9572:24:::1;:38::i;:::-;:42:::0;::::1;:52::i;:59::-;9546:85:::0;-1:-1:-1;9642:20:0::1;9665:41;:20:::0;9546:85;9665:24:::1;:41::i;:::-;9743:16;::::0;;9757:1:::1;9743:16:::0;;;;;::::1;::::0;;9642:64;;-1:-1:-1;9719:21:0::1;::::0;9743:16;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9743:16:0::1;9719:40;;9788:4;9770;9775:1;9770:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9770:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;9814:6:::1;::::0;:13:::1;::::0;;-1:-1:-1;;;9814:13:0;;;;:6;;;::::1;::::0;:11:::1;::::0;:13:::1;::::0;;::::1;::::0;9770:7;;9814:13;;;;;:6;:13;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9804:4;9809:1;9804:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9804:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;9898:6:::1;::::0;:188:::1;::::0;-1:-1:-1;;;9898:188:0;;9864:21:::1;::::0;9898:6;;;::::1;::::0;:57:::1;::::0;:188:::1;::::0;9970:12;;9840:21:::1;::::0;10013:4;;10040::::1;::::0;10060:15:::1;::::0;9898:188:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10097:17;10117:40;10143:13;10117:21;:25;;:40;;;;:::i;:::-;10097:60;;10168:19;10190:33;10203:19;10220:1;10203:12;;:16;;:19;;;;:::i;:::-;10190:8;::::0;;:12:::1;:33::i;:::-;10168:55;;10234:26;10263:51;10312:1;10263:44;10295:11;10263:27;10277:12;;10263:9;:13;;:27;;;;:::i;:51::-;10234:80;;10325:26;10354:44;10386:11;10354:27;10368:12;;10354:9;:13;;:27;;;;:::i;:44::-;10472:20;::::0;10464:77:::1;::::0;10325:73;;-1:-1:-1;10414:21:0::1;::::0;-1:-1:-1;;;;;10472:20:0;;::::1;::::0;10531:5:::1;::::0;10325:73;;10414:21;10464:77;10414:21;10464:77;10325:73;10472:20;10531:5;10464:77:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10413:128;;;10560:16;10552:59;;;::::0;-1:-1:-1;;;10552:59:0;;5459:2:1;10552:59:0::1;::::0;::::1;5441:21:1::0;5498:2;5478:18;;;5471:30;5537:32;5517:18;;;5510:60;5587:18;;10552:59:0::1;5431:180:1::0;10552:59:0::1;10627:19:::0;;10624:383:::1;;10662:6;::::0;:265:::1;::::0;-1:-1:-1;;;10662:265:0;;10738:4:::1;10662:265;::::0;::::1;3204:34:1::0;3254:18;;;3247:34;;;10662:6:0::1;3297:18:1::0;;;3290:34;;;3340:18;;;3333:34;10836:42:0::1;3383:19:1::0;;;3376:44;10897:15:0::1;3436:19:1::0;;;3429:35;-1:-1:-1;;;;;10662:6:0;;::::1;::::0;:22:::1;::::0;10692:18;;3138:19:1;;10662:265:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;10947:48:0::1;::::0;;7693:25:1;;;7749:2;7734:18;;7727:34;;;10947:48:0::1;::::0;-1:-1:-1;7666:18:1;10947:48:0::1;;;;;;;10624:383;-1:-1:-1::0;;5360:6:0;:14;;-1:-1:-1;;5360:14:0;;;-1:-1:-1;;;;;;;;9442:1572:0:o;8900:329::-;8967:7;8987:17;9007:40;9032:14;;9007:20;9018:8;;9007:6;:10;;:20;;;;:::i;:40::-;9103:4;9085:24;;;;:9;:24;;;;;;8987:60;;-1:-1:-1;9085:39:0;;8987:60;9085:28;:39::i;:::-;9076:4;9058:24;;;;:9;:24;;;;;;;:66;;;;9140:42;;-1:-1:-1;;;;;9140:42:0;;;;;;;9172:9;6498:25:1;;6486:2;6471:18;;6453:76;9140:42:0;;;;;;;;9200:21;:6;9211:9;9200:10;:21::i;:::-;9193:28;8900:329;-1:-1:-1;;;;8900:329:0:o;221:179::-;279:7;;311:5;315:1;311;:5;:::i;:::-;299:17;;340:1;335;:6;;327:46;;;;-1:-1:-1;;;327:46:0;;5103:2:1;327:46:0;;;5085:21:1;5142:2;5122:18;;;5115:30;5181:29;5161:18;;;5154:57;5228:18;;327:46:0;5075:177:1;744:246:0;802:7;826:6;822:47;;-1:-1:-1;856:1:0;849:8;;822:47;879:9;891:5;895:1;891;:5;:::i;:::-;879:17;-1:-1:-1;924:1:0;915:5;919:1;879:17;915:5;:::i;:::-;:10;907:56;;;;-1:-1:-1;;;907:56:0;;5818:2:1;907: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;;907:56:0;5790:223:1;996:132:0;1054:7;1081:39;1085:1;1088;1081:39;;;;;;;;;;;;;;;;;:3;:39::i;406:136::-;464:7;491:43;495:1;498;491:43;;;;;;;;;;;;;;;;;:3;:43::i;1134:189::-;1220:7;1255:12;1248:5;1240:28;;;;-1:-1:-1;;;1240:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1279:9:0;1291:5;1295:1;1291;: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://4df21b127c1960124bf2414b6dcc76993beb6b038da9f3c41c6ad4d15ba5221d

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.