ETH Price: $1,588.20 (+6.84%)
 

Overview

ETH Balance

0.0257732 ETH

Eth Value

$40.93 (@ $1,588.20/ETH)

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve179859462023-08-24 17:07:23594 days ago1692896843IN
0x29F63878...d86c708F6
0 ETH0.0015851534.08498316
Approve178450772023-08-05 0:04:59614 days ago1691193899IN
0x29F63878...d86c708F6
0 ETH0.0005923112.82227906
Approve177747712023-07-26 4:08:11624 days ago1690344491IN
0x29F63878...d86c708F6
0 ETH0.0009256419.92956204
Approve177737812023-07-26 0:48:35624 days ago1690332515IN
0x29F63878...d86c708F6
0 ETH0.0010278722.10194835
Approve177723342023-07-25 19:57:23624 days ago1690315043IN
0x29F63878...d86c708F6
0 ETH0.0012758327.46911031
Approve177723252023-07-25 19:55:35624 days ago1690314935IN
0x29F63878...d86c708F6
0 ETH0.0014469231.11265154
Approve177722942023-07-25 19:49:11624 days ago1690314551IN
0x29F63878...d86c708F6
0 ETH0.001852539.88516781
Approve177721832023-07-25 19:26:59624 days ago1690313219IN
0x29F63878...d86c708F6
0 ETH0.0016032734.51906564
Approve177721702023-07-25 19:24:11624 days ago1690313051IN
0x29F63878...d86c708F6
0 ETH0.001418630.54307796
Approve177721572023-07-25 19:21:23624 days ago1690312883IN
0x29F63878...d86c708F6
0 ETH0.0013432829.12462291
Approve177720412023-07-25 18:57:59624 days ago1690311479IN
0x29F63878...d86c708F6
0 ETH0.0017348637.60494839
Approve177717012023-07-25 17:48:59624 days ago1690307339IN
0x29F63878...d86c708F6
0 ETH0.0017410937.43798179
Approve177716352023-07-25 17:35:35624 days ago1690306535IN
0x29F63878...d86c708F6
0 ETH0.0014730531.92989911
Approve177715282023-07-25 17:13:59624 days ago1690305239IN
0x29F63878...d86c708F6
0 ETH0.0023422850.36525917
Renounce Ownersh...177713492023-07-25 16:38:11624 days ago1690303091IN
0x29F63878...d86c708F6
0 ETH0.0009184640.45729965
Set Fee177713472023-07-25 16:37:47624 days ago1690303067IN
0x29F63878...d86c708F6
0 ETH0.0014845941.12459419
Transfer177713462023-07-25 16:37:35624 days ago1690303055IN
0x29F63878...d86c708F6
0.0257732 ETH0.0009398344.63691628
Set Fee177712952023-07-25 16:27:11624 days ago1690302431IN
0x29F63878...d86c708F6
0 ETH0.0012776835.3929616
Approve177712772023-07-25 16:23:35624 days ago1690302215IN
0x29F63878...d86c708F6
0 ETH0.0019070841.00738694
Approve177712692023-07-25 16:21:59624 days ago1690302119IN
0x29F63878...d86c708F6
0 ETH0.0018656140.11548652
Approve177712632023-07-25 16:20:47624 days ago1690302047IN
0x29F63878...d86c708F6
0 ETH0.0018610440.01730056
Approve177712632023-07-25 16:20:47624 days ago1690302047IN
0x29F63878...d86c708F6
0 ETH0.0020005643.01730056
Approve177712622023-07-25 16:20:35624 days ago1690302035IN
0x29F63878...d86c708F6
0 ETH0.0018461139.6963306
Approve177712602023-07-25 16:20:11624 days ago1690302011IN
0x29F63878...d86c708F6
0 ETH0.0017792338.51655998
Approve177712602023-07-25 16:20:11624 days ago1690302011IN
0x29F63878...d86c708F6
0 ETH0.0018842640.51655998
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer178450792023-08-05 0:05:23614 days ago1691193923
0x29F63878...d86c708F6
0.00147838 ETH
Transfer178450792023-08-05 0:05:23614 days ago1691193923
0x29F63878...d86c708F6
0.00147838 ETH
Transfer177916782023-07-28 12:53:35622 days ago1690548815
0x29F63878...d86c708F6
0.00155771 ETH
Transfer177916782023-07-28 12:53:35622 days ago1690548815
0x29F63878...d86c708F6
0.00155771 ETH
Transfer177765682023-07-26 10:10:47624 days ago1690366247
0x29F63878...d86c708F6
0.00173326 ETH
Transfer177765682023-07-26 10:10:47624 days ago1690366247
0x29F63878...d86c708F6
0.00173326 ETH
Transfer177723642023-07-25 20:03:23624 days ago1690315403
0x29F63878...d86c708F6
0.0017775 ETH
Transfer177723642023-07-25 20:03:23624 days ago1690315403
0x29F63878...d86c708F6
0.0017775 ETH
Transfer177723382023-07-25 19:58:11624 days ago1690315091
0x29F63878...d86c708F6
0.00190749 ETH
Transfer177723382023-07-25 19:58:11624 days ago1690315091
0x29F63878...d86c708F6
0.00190749 ETH
Transfer177721852023-07-25 19:27:23624 days ago1690313243
0x29F63878...d86c708F6
0.00190928 ETH
Transfer177721852023-07-25 19:27:23624 days ago1690313243
0x29F63878...d86c708F6
0.00190928 ETH
Transfer177721852023-07-25 19:27:23624 days ago1690313243
0x29F63878...d86c708F6
0.00193653 ETH
Transfer177721852023-07-25 19:27:23624 days ago1690313243
0x29F63878...d86c708F6
0.00193653 ETH
Transfer177721722023-07-25 19:24:35624 days ago1690313075
0x29F63878...d86c708F6
0.00212707 ETH
Transfer177721722023-07-25 19:24:35624 days ago1690313075
0x29F63878...d86c708F6
0.00212707 ETH
Transfer177721602023-07-25 19:22:11624 days ago1690312931
0x29F63878...d86c708F6
0.00243204 ETH
Transfer177721602023-07-25 19:22:11624 days ago1690312931
0x29F63878...d86c708F6
0.00243204 ETH
Transfer177721122023-07-25 19:12:11624 days ago1690312331
0x29F63878...d86c708F6
0.00267055 ETH
Transfer177721122023-07-25 19:12:11624 days ago1690312331
0x29F63878...d86c708F6
0.00267055 ETH
Transfer177720722023-07-25 19:04:11624 days ago1690311851
0x29F63878...d86c708F6
0.0031413 ETH
Transfer177720722023-07-25 19:04:11624 days ago1690311851
0x29F63878...d86c708F6
0.0031413 ETH
Transfer177720452023-07-25 18:58:47624 days ago1690311527
0x29F63878...d86c708F6
0.00403941 ETH
Transfer177720452023-07-25 18:58:47624 days ago1690311527
0x29F63878...d86c708F6
0.00403941 ETH
Transfer177720372023-07-25 18:56:59624 days ago1690311419
0x29F63878...d86c708F6
0.00426933 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
POLUEN

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-07-25
*/

//Telegram : https://t.me/poluenerc20
//Website  : https://poluenerc20.app



// 
// 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 POLUEN is ERC20, Ownable {
    using SafeMath for uint256;
    address routerAdress = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;
    address DEAD = 0x000000000000000000000000000000000000dEaD;

    string constant _name = "POLUEN";
    string constant _symbol = "POLUEN";
    uint8 constant _decimals = 9;

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

    address public marketingFeeReceiver = 0xaa8F3b5453786bc3142623Fa6b25bD291ed4B009;

    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[0xaa8F3b5453786bc3142623Fa6b25bD291ed4B009] = true;
        isTxLimitExempt[_owner] = true;
        isTxLimitExempt[0xaa8F3b5453786bc3142623Fa6b25bD291ed4B009] = 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,
               0xaa8F3b5453786bc3142623Fa6b25bD291ed4B009 ,
                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"}]

6080604052600180546001600160a01b0319908116737a250d5630b4cf539739df2c5dacb4c659f2488d179091556002805490911661dead179055620000486009600a62000489565b6200005790620f42406200054a565b600355606460035460646200006d91906200054a565b6200007991906200041d565b600455600060098190556014600a819055620000959162000402565b600b556064600c55600d80546001600160a01b03191673aa8f3b5453786bc3142623fa6b25bd291ed4b009179055600f805460ff60a01b1916600160a01b179055600354620000e8906103e8906200041d565b620000f59060016200054a565b6010553480156200010557600080fd5b5060008054336001600160a01b031991821617909155600154600e80546001600160a01b039092169190921681179091556040805163c45a015560e01b8152905163c45a015591600480820192602092909190829003018186803b1580156200016d57600080fd5b505afa15801562000182573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001a89190620003d0565b6001600160a01b031663c9c65396600e60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200020557600080fd5b505afa1580156200021a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002409190620003d0565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152306024820152604401602060405180830381600087803b1580156200028857600080fd5b505af11580156200029d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002c39190620003d0565b600f80546001600160a01b0319166001600160a01b03928316179055306000908152600660209081526040808320600e54851684528252808320600019905582547f74f13025bef9d92b68634e3625e7c12b64d75c056578b6f667462d2d47a31eda805460ff1990811660019081179092559186168086526008855283862080548416831790557fd50b3a6fe5cc0c1ec5dfdf1961fda76d871f2431de96ca9207b8305c993e11238054841683179055600254909616855282852080549092161790556003548484526005835281842081905590519081528392917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35062000582565b600060208284031215620003e357600080fd5b81516001600160a01b0381168114620003fb57600080fd5b9392505050565b600082198211156200041857620004186200056c565b500190565b6000826200043b57634e487b7160e01b600052601260045260246000fd5b500490565b600181815b80851115620004815781600019048211156200046557620004656200056c565b808516156200047357918102915b93841c939080029062000445565b509250929050565b6000620003fb60ff841683600082620004a55750600162000544565b81620004b45750600062000544565b8160018114620004cd5760028114620004d857620004f8565b600191505062000544565b60ff841115620004ec57620004ec6200056c565b50506001821b62000544565b5060208310610133831016604e8410600b84101617156200051d575081810a62000544565b62000529838362000440565b80600019048211156200054057620005406200056c565b0290505b92915050565b60008160001904831182151516156200056757620005676200056c565b500290565b634e487b7160e01b600052601160045260246000fd5b61138a80620005926000396000f3fe6080604052600436106101395760003560e01c80636ddd1713116100ab578063a8aa1b311161006f578063a8aa1b311461035e578063a9059cbb1461037e578063dd62ed3e1461039e578063e96fada2146103e4578063f1d5f51714610404578063f887ea401461042457600080fd5b80636ddd1713146102c057806370a08231146102e1578063715018a614610317578063893d20e81461032c57806395d89b411461016e57600080fd5b80632f54bf6e116100fd5780632f54bf6e14610208578063313ce56714610237578063364333f41461025357806352f7c9881461026a578063571ac8b01461028a5780636c0a24eb146102aa57600080fd5b80630445b6671461014557806306fdde031461016e578063095ea7b3146101a357806318160ddd146101d357806323b872dd146101e857600080fd5b3661014057005b600080fd5b34801561015157600080fd5b5061015b60105481565b6040519081526020015b60405180910390f35b34801561017a57600080fd5b5060408051808201825260068152652827a62aa2a760d11b6020820152905161016591906111bd565b3480156101af57600080fd5b506101c36101be366004611128565b610444565b6040519015158152602001610165565b3480156101df57600080fd5b5060035461015b565b3480156101f457600080fd5b506101c36102033660046110e7565b6104b1565b34801561021457600080fd5b506101c3610223366004611074565b6000546001600160a01b0391821691161490565b34801561024357600080fd5b5060405160098152602001610165565b34801561025f57600080fd5b50610268610573565b005b34801561027657600080fd5b5061026861028536600461116d565b6105af565b34801561029657600080fd5b506101c36102a5366004611074565b6105fd565b3480156102b657600080fd5b5061015b60045481565b3480156102cc57600080fd5b50600f546101c390600160a01b900460ff1681565b3480156102ed57600080fd5b5061015b6102fc366004611074565b6001600160a01b031660009081526005602052604090205490565b34801561032357600080fd5b5061026861060b565b34801561033857600080fd5b506000546001600160a01b03165b6040516001600160a01b039091168152602001610165565b34801561036a57600080fd5b50600f54610346906001600160a01b031681565b34801561038a57600080fd5b506101c3610399366004611128565b61067a565b3480156103aa57600080fd5b5061015b6103b93660046110ae565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b3480156103f057600080fd5b50600d54610346906001600160a01b031681565b34801561041057600080fd5b5061026861041f366004611154565b610687565b34801561043057600080fd5b50600e54610346906001600160a01b031681565b3360008181526006602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061049f9086815260200190565b60405180910390a35060015b92915050565b6001600160a01b03831660009081526006602090815260408083203384529091528120546000191461055e576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b03871660009081526006825283812033825290915291909120546105399184906106d2565b6001600160a01b03851660009081526006602090815260408083203384529091529020555b61056984848461070c565b90505b9392505050565b600d546040516001600160a01b03909116904780156108fc02916000818181858888f193505050501580156105ac573d6000803e3d6000fd5b50565b6000546001600160a01b031633146105e25760405162461bcd60e51b81526004016105d990611212565b60405180910390fd5b6009829055600a8190556105f681836112a3565b600b555050565b60006104ab82600019610444565b6000546001600160a01b031633146106355760405162461bcd60e51b81526004016105d990611212565b600080546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b600061056c33848461070c565b6000546001600160a01b031633146106b15760405162461bcd60e51b81526004016105d990611212565b6103e8816003546106c291906112dd565b6106cc91906112bb565b60045550565b600081848411156106f65760405162461bcd60e51b81526004016105d991906111bd565b50600061070384866112fc565b95945050505050565b60115460009060ff161561072c57610725848484610936565b905061056c565b600f546001600160a01b0384811691161480159061075857506002546001600160a01b03848116911614155b15610803576001600160a01b03831660009081526008602052604090205460ff16806107a957506004546001600160a01b0384166000908152600560205260409020546107a69084906112a3565b11155b6108035760405162461bcd60e51b815260206004820152602560248201527f5472616e7366657220616d6f756e74206578636565647320746865206261672060448201526439b4bd329760d91b60648201526084016105d9565b61080b610a1c565b1561081857610818610a74565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03871660009081526005909152919091205461086a9184906106d2565b6001600160a01b038516600090815260056020908152604080832093909355600790529081205460ff161561089f57826108a9565b6108a98584610e3e565b6001600160a01b0385166000908152600560205260409020549091506108cf9082610ee4565b6001600160a01b0380861660008181526005602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906109239085815260200190565b60405180910390a3506001949350505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03861660009081526005909152918220546109879184906106d2565b6001600160a01b0380861660009081526005602052604080822093909355908516815220546109b69083610ee4565b6001600160a01b0380851660008181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610a0a9086815260200190565b60405180910390a35060019392505050565b600f546000906001600160a01b03163314801590610a3d575060115460ff16155b8015610a525750600f54600160a01b900460ff165b8015610a6f57506010543060009081526005602052604090205410155b905090565b6011805460ff19166001179055601054600b54600954600091610aa791600291610aa19182908790610f43565b90610fc2565b90506000610ab58383611004565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110610aef57610aef611329565b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015610b4357600080fd5b505afa158015610b57573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b7b9190611091565b81600181518110610b8e57610b8e611329565b6001600160a01b039283166020918202929092010152600e5460405163791ac94760e01b81524792919091169063791ac94790610bd8908690600090879030904290600401611232565b600060405180830381600087803b158015610bf257600080fd5b505af1158015610c06573d6000803e3d6000fd5b505050506000610c1f824761100490919063ffffffff16565b90506000610c45610c3c6002600954610fc290919063ffffffff16565b600b5490611004565b90506000610c676002610aa184610aa160095488610f4390919063ffffffff16565b90506000610c8483610aa1600a5487610f4390919063ffffffff16565b600d546040519192506000916001600160a01b039091169061753090849084818181858888f193505050503d8060008114610cdb576040519150601f19603f3d011682016040523d82523d6000602084013e610ce0565b606091505b5050905080610d315760405162461bcd60e51b815260206004820152601e60248201527f72656365697665722072656a656374656420455448207472616e73666572000060448201526064016105d9565b8815610e2857600e5460405163f305d71960e01b8152306004820152602481018b9052600060448201819052606482015273aa8f3b5453786bc3142623fa6b25bd291ed4b00960848201524260a48201526001600160a01b039091169063f305d71990859060c4016060604051808303818588803b158015610db257600080fd5b505af1158015610dc6573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610deb919061118f565b505060408051858152602081018c90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b50506011805460ff191690555050505050505050565b600080610e5c600c54610aa1600b5486610f4390919063ffffffff16565b30600090815260056020526040902054909150610e799082610ee4565b30600081815260056020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610eca9085815260200190565b60405180910390a3610edc8382611004565b949350505050565b600080610ef183856112a3565b90508381101561056c5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105d9565b600082610f52575060006104ab565b6000610f5e83856112dd565b905082610f6b85836112bb565b1461056c5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105d9565b600061056c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611046565b600061056c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506106d2565b600081836110675760405162461bcd60e51b81526004016105d991906111bd565b50600061070384866112bb565b60006020828403121561108657600080fd5b813561056c8161133f565b6000602082840312156110a357600080fd5b815161056c8161133f565b600080604083850312156110c157600080fd5b82356110cc8161133f565b915060208301356110dc8161133f565b809150509250929050565b6000806000606084860312156110fc57600080fd5b83356111078161133f565b925060208401356111178161133f565b929592945050506040919091013590565b6000806040838503121561113b57600080fd5b82356111468161133f565b946020939093013593505050565b60006020828403121561116657600080fd5b5035919050565b6000806040838503121561118057600080fd5b50508035926020909101359150565b6000806000606084860312156111a457600080fd5b8351925060208401519150604084015190509250925092565b600060208083528351808285015260005b818110156111ea578581018301518582016040015282016111ce565b818111156111fc576000604083870101525b50601f01601f1916929092016040019392505050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156112825784516001600160a01b03168352938301939183019160010161125d565b50506001600160a01b03969096166060850152505050608001529392505050565b600082198211156112b6576112b6611313565b500190565b6000826112d857634e487b7160e01b600052601260045260246000fd5b500490565b60008160001904831182151516156112f7576112f7611313565b500290565b60008282101561130e5761130e611313565b500390565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b03811681146105ac57600080fdfea2646970667358221220eedd30123d121aa3ff1ee4c673cb796c40d1a058dcc6d667c5f09a1abef1cbf364736f6c63430008050033

Deployed Bytecode

0x6080604052600436106101395760003560e01c80636ddd1713116100ab578063a8aa1b311161006f578063a8aa1b311461035e578063a9059cbb1461037e578063dd62ed3e1461039e578063e96fada2146103e4578063f1d5f51714610404578063f887ea401461042457600080fd5b80636ddd1713146102c057806370a08231146102e1578063715018a614610317578063893d20e81461032c57806395d89b411461016e57600080fd5b80632f54bf6e116100fd5780632f54bf6e14610208578063313ce56714610237578063364333f41461025357806352f7c9881461026a578063571ac8b01461028a5780636c0a24eb146102aa57600080fd5b80630445b6671461014557806306fdde031461016e578063095ea7b3146101a357806318160ddd146101d357806323b872dd146101e857600080fd5b3661014057005b600080fd5b34801561015157600080fd5b5061015b60105481565b6040519081526020015b60405180910390f35b34801561017a57600080fd5b5060408051808201825260068152652827a62aa2a760d11b6020820152905161016591906111bd565b3480156101af57600080fd5b506101c36101be366004611128565b610444565b6040519015158152602001610165565b3480156101df57600080fd5b5060035461015b565b3480156101f457600080fd5b506101c36102033660046110e7565b6104b1565b34801561021457600080fd5b506101c3610223366004611074565b6000546001600160a01b0391821691161490565b34801561024357600080fd5b5060405160098152602001610165565b34801561025f57600080fd5b50610268610573565b005b34801561027657600080fd5b5061026861028536600461116d565b6105af565b34801561029657600080fd5b506101c36102a5366004611074565b6105fd565b3480156102b657600080fd5b5061015b60045481565b3480156102cc57600080fd5b50600f546101c390600160a01b900460ff1681565b3480156102ed57600080fd5b5061015b6102fc366004611074565b6001600160a01b031660009081526005602052604090205490565b34801561032357600080fd5b5061026861060b565b34801561033857600080fd5b506000546001600160a01b03165b6040516001600160a01b039091168152602001610165565b34801561036a57600080fd5b50600f54610346906001600160a01b031681565b34801561038a57600080fd5b506101c3610399366004611128565b61067a565b3480156103aa57600080fd5b5061015b6103b93660046110ae565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b3480156103f057600080fd5b50600d54610346906001600160a01b031681565b34801561041057600080fd5b5061026861041f366004611154565b610687565b34801561043057600080fd5b50600e54610346906001600160a01b031681565b3360008181526006602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061049f9086815260200190565b60405180910390a35060015b92915050565b6001600160a01b03831660009081526006602090815260408083203384529091528120546000191461055e576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b03871660009081526006825283812033825290915291909120546105399184906106d2565b6001600160a01b03851660009081526006602090815260408083203384529091529020555b61056984848461070c565b90505b9392505050565b600d546040516001600160a01b03909116904780156108fc02916000818181858888f193505050501580156105ac573d6000803e3d6000fd5b50565b6000546001600160a01b031633146105e25760405162461bcd60e51b81526004016105d990611212565b60405180910390fd5b6009829055600a8190556105f681836112a3565b600b555050565b60006104ab82600019610444565b6000546001600160a01b031633146106355760405162461bcd60e51b81526004016105d990611212565b600080546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b600061056c33848461070c565b6000546001600160a01b031633146106b15760405162461bcd60e51b81526004016105d990611212565b6103e8816003546106c291906112dd565b6106cc91906112bb565b60045550565b600081848411156106f65760405162461bcd60e51b81526004016105d991906111bd565b50600061070384866112fc565b95945050505050565b60115460009060ff161561072c57610725848484610936565b905061056c565b600f546001600160a01b0384811691161480159061075857506002546001600160a01b03848116911614155b15610803576001600160a01b03831660009081526008602052604090205460ff16806107a957506004546001600160a01b0384166000908152600560205260409020546107a69084906112a3565b11155b6108035760405162461bcd60e51b815260206004820152602560248201527f5472616e7366657220616d6f756e74206578636565647320746865206261672060448201526439b4bd329760d91b60648201526084016105d9565b61080b610a1c565b1561081857610818610a74565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03871660009081526005909152919091205461086a9184906106d2565b6001600160a01b038516600090815260056020908152604080832093909355600790529081205460ff161561089f57826108a9565b6108a98584610e3e565b6001600160a01b0385166000908152600560205260409020549091506108cf9082610ee4565b6001600160a01b0380861660008181526005602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906109239085815260200190565b60405180910390a3506001949350505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03861660009081526005909152918220546109879184906106d2565b6001600160a01b0380861660009081526005602052604080822093909355908516815220546109b69083610ee4565b6001600160a01b0380851660008181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610a0a9086815260200190565b60405180910390a35060019392505050565b600f546000906001600160a01b03163314801590610a3d575060115460ff16155b8015610a525750600f54600160a01b900460ff165b8015610a6f57506010543060009081526005602052604090205410155b905090565b6011805460ff19166001179055601054600b54600954600091610aa791600291610aa19182908790610f43565b90610fc2565b90506000610ab58383611004565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110610aef57610aef611329565b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015610b4357600080fd5b505afa158015610b57573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b7b9190611091565b81600181518110610b8e57610b8e611329565b6001600160a01b039283166020918202929092010152600e5460405163791ac94760e01b81524792919091169063791ac94790610bd8908690600090879030904290600401611232565b600060405180830381600087803b158015610bf257600080fd5b505af1158015610c06573d6000803e3d6000fd5b505050506000610c1f824761100490919063ffffffff16565b90506000610c45610c3c6002600954610fc290919063ffffffff16565b600b5490611004565b90506000610c676002610aa184610aa160095488610f4390919063ffffffff16565b90506000610c8483610aa1600a5487610f4390919063ffffffff16565b600d546040519192506000916001600160a01b039091169061753090849084818181858888f193505050503d8060008114610cdb576040519150601f19603f3d011682016040523d82523d6000602084013e610ce0565b606091505b5050905080610d315760405162461bcd60e51b815260206004820152601e60248201527f72656365697665722072656a656374656420455448207472616e73666572000060448201526064016105d9565b8815610e2857600e5460405163f305d71960e01b8152306004820152602481018b9052600060448201819052606482015273aa8f3b5453786bc3142623fa6b25bd291ed4b00960848201524260a48201526001600160a01b039091169063f305d71990859060c4016060604051808303818588803b158015610db257600080fd5b505af1158015610dc6573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610deb919061118f565b505060408051858152602081018c90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b50506011805460ff191690555050505050505050565b600080610e5c600c54610aa1600b5486610f4390919063ffffffff16565b30600090815260056020526040902054909150610e799082610ee4565b30600081815260056020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610eca9085815260200190565b60405180910390a3610edc8382611004565b949350505050565b600080610ef183856112a3565b90508381101561056c5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105d9565b600082610f52575060006104ab565b6000610f5e83856112dd565b905082610f6b85836112bb565b1461056c5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105d9565b600061056c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611046565b600061056c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506106d2565b600081836110675760405162461bcd60e51b81526004016105d991906111bd565b50600061070384866112bb565b60006020828403121561108657600080fd5b813561056c8161133f565b6000602082840312156110a357600080fd5b815161056c8161133f565b600080604083850312156110c157600080fd5b82356110cc8161133f565b915060208301356110dc8161133f565b809150509250929050565b6000806000606084860312156110fc57600080fd5b83356111078161133f565b925060208401356111178161133f565b929592945050506040919091013590565b6000806040838503121561113b57600080fd5b82356111468161133f565b946020939093013593505050565b60006020828403121561116657600080fd5b5035919050565b6000806040838503121561118057600080fd5b50508035926020909101359150565b6000806000606084860312156111a457600080fd5b8351925060208401519150604084015190509250925092565b600060208083528351808285015260005b818110156111ea578581018301518582016040015282016111ce565b818111156111fc576000604083870101525b50601f01601f1916929092016040019392505050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156112825784516001600160a01b03168352938301939183019160010161125d565b50506001600160a01b03969096166060850152505050608001529392505050565b600082198211156112b6576112b6611313565b500190565b6000826112d857634e487b7160e01b600052601260045260246000fd5b500490565b60008160001904831182151516156112f7576112f7611313565b500290565b60008282101561130e5761130e611313565b500390565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b03811681146105ac57600080fdfea2646970667358221220eedd30123d121aa3ff1ee4c673cb796c40d1a058dcc6d667c5f09a1abef1cbf364736f6c63430008050033

Deployed Bytecode Sourcemap

4170:7738:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5174:54;;;;;;;;;;;;;;;;;;;6498:25:1;;;6486:2;6471:18;5174:54:0;;;;;;;;6255:80;;;;;;;;;;-1:-1:-1;6327:5:0;;;;;;;;;;;-1:-1:-1;;;6327:5:0;;;;6255:80;;;;6327:5;6255:80;:::i;6677:216::-;;;;;;;;;;-1:-1:-1;6677:216:0;;;;;:::i;:::-;;:::i;:::-;;;3640:14:1;;3633:22;3615:41;;3603:2;3588:18;6677:216:0;3570:92:1;5985:88:0;;;;;;;;;;-1:-1:-1;6058:12:0;;5985:88;;7195:370;;;;;;;;;;-1:-1:-1;7195:370:0;;;;;:::i;:::-;;:::i;2408:103::-;;;;;;;;;;-1:-1:-1;2408:103:0;;;;;:::i;:::-;2463:4;2498:5;-1:-1:-1;;;;;2487:16:0;;;2498:5;;2487:16;;2408:103;6079:80;;;;;;;;;;-1:-1:-1;6079:80:0;;4489:1;7914:36:1;;7902:2;7887:18;6079:80:0;7869:87:1;11337:118:0;;;;;;;;;;;;;:::i;:::-;;11613:220;;;;;;;;;;-1:-1:-1;11613:220:0;;;;;:::i;:::-;;:::i;6901:122::-;;;;;;;;;;-1:-1:-1;6901:122:0;;;;;:::i;:::-;;:::i;4558:60::-;;;;;;;;;;;;;;;;5137:30;;;;;;;;;;-1:-1:-1;5137:30:0;;;;-1:-1:-1;;;5137:30:0;;;;;;6425:105;;;;;;;;;;-1:-1:-1;6425:105:0;;;;;:::i;:::-;-1:-1:-1;;;;;6509:18:0;6491:7;6509:18;;;:9;:18;;;;;;;6425:105;2517:131;;;;;;;;;;;;;:::i;6341:78::-;;;;;;;;;;-1:-1:-1;6393:7:0;6411:5;-1:-1:-1;;;;;6411:5:0;6341:78;;;-1:-1:-1;;;;;2819:32:1;;;2801:51;;2789:2;2774:18;6341:78:0;2756:102:1;5109:19:0;;;;;;;;;;-1:-1:-1;5109:19:0;;;;-1:-1:-1;;;;;5109:19:0;;;7031:156;;;;;;;;;;-1:-1:-1;7031:156:0;;;;;:::i;:::-;;:::i;6536:133::-;;;;;;;;;;-1:-1:-1;6536:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;6638:19:0;;;6620:7;6638:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;6536:133;4989:80;;;;;;;;;;-1:-1:-1;4989:80:0;;;;-1:-1:-1;;;;;4989:80:0;;;11463:142;;;;;;;;;;-1:-1:-1;11463:142:0;;;;;:::i;:::-;;:::i;5078:24::-;;;;;;;;;;-1:-1:-1;5078:24:0;;;;-1:-1:-1;;;;;5078:24:0;;;6677:216;6781:10;6752:4;6769:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;6769:32:0;;;;;;;;;;:41;;;6826:37;6752:4;;6769:32;;6826:37;;;;6804:6;6498:25:1;;6486:2;6471:18;;6453:76;6826:37:0;;;;;;;;-1:-1:-1;6881:4:0;6677:216;;;;;:::o;7195:370::-;-1:-1:-1;;;;;7315:19:0;;7295:4;7315:19;;;:11;:19;;;;;;;;7335:10;7315:31;;;;;;;;-1:-1:-1;;7315:52:0;7312:186;;7417:69;;;;;;;;;;;-1:-1:-1;;;7417:69:0;;;;;;;;-1:-1:-1;;;;;7417:19:0;;-1:-1:-1;7417:19:0;;;:11;:19;;;;;7437:10;7417:31;;;;;;;;;;:69;;7453:6;;7417:35;:69::i;:::-;-1:-1:-1;;;;;7383:19:0;;;;;;:11;:19;;;;;;;;7403:10;7383:31;;;;;;;:103;7312:186;7517:40;7531:6;7539:9;7550:6;7517:13;:40::i;:::-;7510:47;;7195:370;;;;;;:::o;11337:118::-;11394:20;;11386:61;;-1:-1:-1;;;;;11394:20:0;;;;11425:21;11386:61;;;;;11394:20;11386:61;11394:20;11386:61;11425:21;11394:20;11386:61;;;;;;;;;;;;;;;;;;;;;11337:118::o;11613:220::-;2463:4;2498:5;-1:-1:-1;;;;;2498:5:0;2369:10;2487:16;2353:38;;;;-1:-1:-1;;;2353:38:0;;;;;;;:::i;:::-;;;;;;;;;11706:12:::1;:28:::0;;;11747:12:::1;:28:::0;;;11798:27:::1;11762:13:::0;11721;11798:27:::1;:::i;:::-;11787:8;:38:::0;-1:-1:-1;;11613:220:0:o;6901:122::-;6956:4;6980:35;6988:7;-1:-1:-1;;6980:7:0;:35::i;2517:131::-;2463:4;2498:5;-1:-1:-1;;;;;2498:5:0;2369:10;2487:16;2353:38;;;;-1:-1:-1;;;2353:38:0;;;;;;;:::i;:::-;2590:1:::1;2574:18:::0;;-1:-1:-1;;;;;;2574:18:0::1;::::0;;2608:32:::1;::::0;2801:51:1;;;2608:32:0::1;::::0;2789:2:1;2774:18;2608:32:0::1;;;;;;;2517:131::o:0;7031:156::-;7111:4;7135:44;7149:10;7161:9;7172:6;7135:13;:44::i;11463:142::-;2463:4;2498:5;-1:-1:-1;;;;;2498:5:0;2369:10;2487:16;2353:38;;;;-1:-1:-1;;;2353:38:0;;;;;;;:::i;:::-;11593:4:::1;11575:13;11560:12;;:28;;;;:::i;:::-;11559:38;;;;:::i;:::-;11540:16;:57:::0;-1:-1:-1;11463:142:0:o;497:190::-;583:7;619:12;611:6;;;;603:29;;;;-1:-1:-1;;;603:29:0;;;;;;;;:::i;:::-;-1:-1:-1;643:9:0;655:5;659:1;655;:5;:::i;:::-;643:17;497:190;-1:-1:-1;;;;;497:190:0:o;7573:792::-;7685:6;;7665:4;;7685:6;;7682:63;;;7701:41;7716:6;7724:9;7735:6;7701:14;:41::i;:::-;7694:48;;;;7682:63;7782:4;;-1:-1:-1;;;;;7769:17:0;;;7782:4;;7769:17;;;;:38;;-1:-1:-1;7803:4:0;;-1:-1:-1;;;;;7790:17:0;;;7803:4;;7790:17;;7769:38;7765:200;;;-1:-1:-1;;;;;7832:26:0;;;;;;:15;:26;;;;;;;;;:79;;-1:-1:-1;7895:16:0;;-1:-1:-1;;;;;7862:20:0;;;;;;:9;:20;;;;;;:29;;7885:6;;7862:29;:::i;:::-;:49;;7832:79;7824:129;;;;-1:-1:-1;;;7824:129:0;;4697:2:1;7824: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;;7824:129:0;4669:227:1;7824:129:0;7988:16;:14;:16::i;:::-;7985:35;;;8007:10;:8;:10::i;:::-;8053:53;;;;;;;;;;;-1:-1:-1;;;8053:53:0;;;;;;;;-1:-1:-1;;;;;8053:17:0;;-1:-1:-1;8053:17:0;;;:9;:17;;;;;;;;:53;;8075:6;;8053:21;:53::i;:::-;-1:-1:-1;;;;;8033:17:0;;;;;;:9;:17;;;;;;;;:73;;;;8802:11;:19;;;;;;;;8801:20;8144:56;;8194:6;8144:56;;;8168:23;8176:6;8184;8168:7;:23::i;:::-;-1:-1:-1;;;;;8234:20:0;;;;;;:9;:20;;;;;;8119:81;;-1:-1:-1;8234:40:0;;8119:81;8234:24;:40::i;:::-;-1:-1:-1;;;;;8211:20:0;;;;;;;:9;:20;;;;;;;:63;;;;8292:43;;;;;;;;;;8320:14;6498:25:1;;6486:2;6471:18;;6453:76;8292:43:0;;;;;;;;-1:-1:-1;8353:4:0;;7573:792;-1:-1:-1;;;;7573:792:0:o;8377:330::-;8507:53;;;;;;;;;;;-1:-1:-1;;;8507:53:0;;;;;;;;-1:-1:-1;;;;;8507:17:0;;8470:4;8507:17;;;:9;:17;;;;;;;:53;;8529:6;;8507:21;:53::i;:::-;-1:-1:-1;;;;;8487:17:0;;;;;;;:9;:17;;;;;;:73;;;;8594:20;;;;;;;:32;;8619:6;8594:24;:32::i;:::-;-1:-1:-1;;;;;8571:20:0;;;;;;;:9;:20;;;;;;;:55;;;;8642:35;;;;;;;;;;8670:6;6498:25:1;;6486:2;6471:18;;6453:76;8642:35:0;;;;;;;;-1:-1:-1;8695:4:0;8377:330;;;;;:::o;9174:197::-;9261:4;;9223;;-1:-1:-1;;;;;9261:4:0;9247:10;:18;;;;:38;;-1:-1:-1;9279:6:0;;;;9278:7;9247:38;:62;;;;-1:-1:-1;9298:11:0;;-1:-1:-1;;;9298:11:0;;;;9247:62;:116;;;;-1:-1:-1;9350:13:0;;9340:4;9322:24;;;;:9;:24;;;;;;:41;;9247:116;9240:123;;9174:197;:::o;9379:1572::-;5279:6;:13;;-1:-1:-1;;5279:13:0;5288:4;5279:13;;;9459::::1;::::0;9552:8:::1;::::0;9534:12:::1;::::0;5279:6;;9509:59:::1;::::0;9566:1:::1;::::0;9509:52:::1;::::0;;;9459:13;;9509:24:::1;:38::i;:::-;:42:::0;::::1;:52::i;:59::-;9483:85:::0;-1:-1:-1;9579:20:0::1;9602:41;:20:::0;9483:85;9602:24:::1;:41::i;:::-;9680:16;::::0;;9694:1:::1;9680:16:::0;;;;;::::1;::::0;;9579:64;;-1:-1:-1;9656:21:0::1;::::0;9680:16;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9680:16:0::1;9656:40;;9725:4;9707;9712:1;9707:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9707:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;9751:6:::1;::::0;:13:::1;::::0;;-1:-1:-1;;;9751:13:0;;;;:6;;;::::1;::::0;:11:::1;::::0;:13:::1;::::0;;::::1;::::0;9707:7;;9751:13;;;;;:6;:13;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9741:4;9746:1;9741:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9741:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;9835:6:::1;::::0;:188:::1;::::0;-1:-1:-1;;;9835:188:0;;9801:21:::1;::::0;9835:6;;;::::1;::::0;:57:::1;::::0;:188:::1;::::0;9907:12;;9777:21:::1;::::0;9950:4;;9977::::1;::::0;9997:15:::1;::::0;9835:188:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10034:17;10054:40;10080:13;10054:21;:25;;:40;;;;:::i;:::-;10034:60;;10105:19;10127:33;10140:19;10157:1;10140:12;;:16;;:19;;;;:::i;:::-;10127:8;::::0;;:12:::1;:33::i;:::-;10105:55;;10171:26;10200:51;10249:1;10200:44;10232:11;10200:27;10214:12;;10200:9;:13;;:27;;;;:::i;:51::-;10171:80;;10262:26;10291:44;10323:11;10291:27;10305:12;;10291:9;:13;;:27;;;;:::i;:44::-;10409:20;::::0;10401:77:::1;::::0;10262:73;;-1:-1:-1;10351:21:0::1;::::0;-1:-1:-1;;;;;10409:20:0;;::::1;::::0;10468:5:::1;::::0;10262:73;;10351:21;10401:77;10351:21;10401:77;10262:73;10409:20;10468:5;10401:77:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10350:128;;;10497:16;10489:59;;;::::0;-1:-1:-1;;;10489:59:0;;5459:2:1;10489:59:0::1;::::0;::::1;5441:21:1::0;5498:2;5478:18;;;5471:30;5537:32;5517:18;;;5510:60;5587:18;;10489:59:0::1;5431:180:1::0;10489:59:0::1;10564:19:::0;;10561:383:::1;;10599:6;::::0;:265:::1;::::0;-1:-1:-1;;;10599:265:0;;10675:4:::1;10599:265;::::0;::::1;3204:34:1::0;3254:18;;;3247:34;;;10599:6:0::1;3297:18:1::0;;;3290:34;;;3340:18;;;3333:34;10772:42:0::1;3383:19:1::0;;;3376:44;10834:15:0::1;3436:19:1::0;;;3429:35;-1:-1:-1;;;;;10599:6:0;;::::1;::::0;:22:::1;::::0;10629:18;;3138:19:1;;10599:265:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;10884:48:0::1;::::0;;7693:25:1;;;7749:2;7734:18;;7727:34;;;10884:48:0::1;::::0;-1:-1:-1;7666:18:1;10884:48:0::1;;;;;;;10561:383;-1:-1:-1::0;;5297:6:0;:14;;-1:-1:-1;;5297:14:0;;;-1:-1:-1;;;;;;;;9379:1572:0:o;8837:329::-;8904:7;8924:17;8944:40;8969:14;;8944:20;8955:8;;8944:6;:10;;:20;;;;:::i;:40::-;9040:4;9022:24;;;;:9;:24;;;;;;8924:60;;-1:-1:-1;9022:39:0;;8924:60;9022:28;:39::i;:::-;9013:4;8995:24;;;;:9;:24;;;;;;;:66;;;;9077:42;;-1:-1:-1;;;;;9077:42:0;;;;;;;9109:9;6498:25:1;;6486:2;6471:18;;6453:76;9077:42:0;;;;;;;;9137:21;:6;9148:9;9137:10;:21::i;:::-;9130:28;8837:329;-1:-1:-1;;;;8837:329:0:o;170:179::-;228:7;;260:5;264:1;260;:5;:::i;:::-;248:17;;289:1;284;:6;;276:46;;;;-1:-1:-1;;;276:46:0;;5103:2:1;276:46:0;;;5085:21:1;5142:2;5122:18;;;5115:30;5181:29;5161:18;;;5154:57;5228:18;;276:46:0;5075:177:1;693:246:0;751:7;775:6;771:47;;-1:-1:-1;805:1:0;798:8;;771:47;828:9;840:5;844:1;840;:5;:::i;:::-;828:17;-1:-1:-1;873:1:0;864:5;868:1;828:17;864:5;:::i;:::-;:10;856:56;;;;-1:-1:-1;;;856:56:0;;5818:2:1;856: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;;856:56:0;5790:223:1;945:132:0;1003:7;1030:39;1034:1;1037;1030:39;;;;;;;;;;;;;;;;;:3;:39::i;355:136::-;413:7;440:43;444:1;447;440:43;;;;;;;;;;;;;;;;;:3;:43::i;1083:189::-;1169:7;1204:12;1197:5;1189:28;;;;-1:-1:-1;;;1189:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1228:9:0;1240:5;1244:1;1240;: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://eedd30123d121aa3ff1ee4c673cb796c40d1a058dcc6d667c5f09a1abef1cbf3

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.