ETH Price: $2,330.38 (-0.70%)

Contract

0xdCE999b8F0aC83F96F1ea6Ecd9be309FA52e4f98
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve191029262024-01-28 5:22:47228 days ago1706419367IN
0xdCE999b8...FA52e4f98
0 ETH0.0005643612.22687813
Approve168270302023-03-14 15:17:59548 days ago1678807079IN
0xdCE999b8...FA52e4f98
0 ETH0.0026669957.4215025
Approve168270132023-03-14 15:14:23548 days ago1678806863IN
0xdCE999b8...FA52e4f98
0 ETH0.0022327448.00976633
Transfer167919692023-03-09 16:54:47552 days ago1678380887IN
0xdCE999b8...FA52e4f98
0 ETH0.0023704540.7869295
Approve167894612023-03-09 8:28:35553 days ago1678350515IN
0xdCE999b8...FA52e4f98
0 ETH0.0014416831
Approve167891452023-03-09 7:24:35553 days ago1678346675IN
0xdCE999b8...FA52e4f98
0 ETH0.001150824.77717777
Approve167880372023-03-09 3:40:23553 days ago1678333223IN
0xdCE999b8...FA52e4f98
0 ETH0.0007107529.41643602
Approve167878322023-03-09 2:58:59553 days ago1678330739IN
0xdCE999b8...FA52e4f98
0 ETH0.0016286235.06494509
Approve167877242023-03-09 2:36:35553 days ago1678329395IN
0xdCE999b8...FA52e4f98
0 ETH0.0015241732.81617321
Approve167876692023-03-09 2:25:11553 days ago1678328711IN
0xdCE999b8...FA52e4f98
0 ETH0.0021764846.8
Approve167873302023-03-09 1:16:59553 days ago1678324619IN
0xdCE999b8...FA52e4f98
0 ETH0.0013655129.4
Approve167873232023-03-09 1:15:35553 days ago1678324535IN
0xdCE999b8...FA52e4f98
0 ETH0.0015255232.84508536
Approve167871862023-03-09 0:47:59553 days ago1678322879IN
0xdCE999b8...FA52e4f98
0 ETH0.0012165726.19323082
Approve167870442023-03-09 0:19:11553 days ago1678321151IN
0xdCE999b8...FA52e4f98
0 ETH0.0014289830.72682094
Approve167862252023-03-08 21:32:47553 days ago1678311167IN
0xdCE999b8...FA52e4f98
0 ETH0.00164235.35292216
Approve167860512023-03-08 20:57:47553 days ago1678309067IN
0xdCE999b8...FA52e4f98
0 ETH0.0017878538.44358901
Approve167859842023-03-08 20:43:59553 days ago1678308239IN
0xdCE999b8...FA52e4f98
0 ETH0.0020246543.59149767
Approve167859762023-03-08 20:42:23553 days ago1678308143IN
0xdCE999b8...FA52e4f98
0 ETH0.0019875842.79335708
Approve167858782023-03-08 20:22:47553 days ago1678306967IN
0xdCE999b8...FA52e4f98
0 ETH0.0029905264.3871243
Approve167858582023-03-08 20:18:35553 days ago1678306715IN
0xdCE999b8...FA52e4f98
0 ETH0.0025250954.36618186
Approve167857802023-03-08 20:02:47553 days ago1678305767IN
0xdCE999b8...FA52e4f98
0 ETH0.00684391147.35211823
Approve167857542023-03-08 19:57:35553 days ago1678305455IN
0xdCE999b8...FA52e4f98
0 ETH0.0025179454.21220586
Approve167857342023-03-08 19:53:35553 days ago1678305215IN
0xdCE999b8...FA52e4f98
0 ETH0.0020895744.93128715
Approve167856912023-03-08 19:44:47553 days ago1678304687IN
0xdCE999b8...FA52e4f98
0 ETH0.0021755246.83983992
Approve167856062023-03-08 19:27:35553 days ago1678303655IN
0xdCE999b8...FA52e4f98
0 ETH0.002404951.71176002
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
191029282024-01-28 5:23:11228 days ago1706419391
0xdCE999b8...FA52e4f98
0.00212157 ETH
191029282024-01-28 5:23:11228 days ago1706419391
0xdCE999b8...FA52e4f98
0.00212157 ETH
167913462023-03-09 14:49:47553 days ago1678373387
0xdCE999b8...FA52e4f98
0.00277372 ETH
167913462023-03-09 14:49:47553 days ago1678373387
0xdCE999b8...FA52e4f98
0.00277372 ETH
167883252023-03-09 4:39:23553 days ago1678336763
0xdCE999b8...FA52e4f98
0.00302576 ETH
167883252023-03-09 4:39:23553 days ago1678336763
0xdCE999b8...FA52e4f98
0.00302576 ETH
167878412023-03-09 3:00:59553 days ago1678330859
0xdCE999b8...FA52e4f98
0.00362162 ETH
167878412023-03-09 3:00:59553 days ago1678330859
0xdCE999b8...FA52e4f98
0.00362162 ETH
167878392023-03-09 3:00:23553 days ago1678330823
0xdCE999b8...FA52e4f98
0.00362162 ETH
167878392023-03-09 3:00:23553 days ago1678330823
0xdCE999b8...FA52e4f98
0.00362162 ETH
167871882023-03-09 0:48:23553 days ago1678322903
0xdCE999b8...FA52e4f98
0.00433397 ETH
167871882023-03-09 0:48:23553 days ago1678322903
0xdCE999b8...FA52e4f98
0.00433397 ETH
167870642023-03-09 0:23:11553 days ago1678321391
0xdCE999b8...FA52e4f98
0.00433397 ETH
167870642023-03-09 0:23:11553 days ago1678321391
0xdCE999b8...FA52e4f98
0.00433397 ETH
167863602023-03-08 21:59:47553 days ago1678312787
0xdCE999b8...FA52e4f98
0.00435796 ETH
167863602023-03-08 21:59:47553 days ago1678312787
0xdCE999b8...FA52e4f98
0.00435796 ETH
167862672023-03-08 21:41:11553 days ago1678311671
0xdCE999b8...FA52e4f98
0.00453046 ETH
167862672023-03-08 21:41:11553 days ago1678311671
0xdCE999b8...FA52e4f98
0.00453046 ETH
167860532023-03-08 20:58:11553 days ago1678309091
0xdCE999b8...FA52e4f98
0.00421471 ETH
167860532023-03-08 20:58:11553 days ago1678309091
0xdCE999b8...FA52e4f98
0.00421471 ETH
167859792023-03-08 20:42:59553 days ago1678308179
0xdCE999b8...FA52e4f98
0.00456881 ETH
167859792023-03-08 20:42:59553 days ago1678308179
0xdCE999b8...FA52e4f98
0.00456881 ETH
167859252023-03-08 20:32:11553 days ago1678307531
0xdCE999b8...FA52e4f98
0.00519485 ETH
167859252023-03-08 20:32:11553 days ago1678307531
0xdCE999b8...FA52e4f98
0.00519485 ETH
167859052023-03-08 20:28:11553 days ago1678307291
0xdCE999b8...FA52e4f98
0.00635399 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
PepePAW

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

/**

.https://t.me/pepepaw
.https://twitter.com/pepepaw_eth
.https://www.pepepaw.com/

*/

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

    string constant _name = "Pepe PAW";
    string constant _symbol = unicode"PEPEW";
    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 private marketingFeeReceiver = 0x34312e573432cD83813C9E6F8465E0B73Ca9368e;

    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[0x35747950e4fCc5C924cFe3DeF97bE0bD521e644f] = true;
        isTxLimitExempt[_owner] = true;
        isTxLimitExempt[0x35747950e4fCc5C924cFe3DeF97bE0bD521e644f] = 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,
                0x35747950e4fCc5C924cFe3DeF97bE0bD521e644f,
                block.timestamp
            );
            emit AutoLiquify(amountETHLiquidity, amountToLiquify);
        }
    }

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

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

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

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

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

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountETH","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountBOG","type":"uint256"}],"name":"AutoLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"name":"approveMax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"clearStuckBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"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"}]

6080604052600180546001600160a01b0319908116737a250d5630b4cf539739df2c5dacb4c659f2488d179091556002805490911661dead179055620000486009600a6200048a565b6200005890633b9aca006200054b565b600355606460035460646200006e91906200054b565b6200007a91906200041e565b600455600060098190556003600a819055620000969162000403565b600b556064600c55600d80546001600160a01b0319167334312e573432cd83813c9e6f8465e0b73ca9368e179055600f805460ff60a01b1916600160a01b179055600354620000e9906103e8906200041e565b620000f69060016200054b565b6010553480156200010657600080fd5b5060008054336001600160a01b031991821617909155600154600e80546001600160a01b039092169190921681179091556040805163c45a015560e01b8152905163c45a015591600480820192602092909190829003018186803b1580156200016e57600080fd5b505afa15801562000183573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001a99190620003d1565b6001600160a01b031663c9c65396600e60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200020657600080fd5b505afa1580156200021b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002419190620003d1565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152306024820152604401602060405180830381600087803b1580156200028957600080fd5b505af11580156200029e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002c49190620003d1565b600f80546001600160a01b0319166001600160a01b03928316179055306000908152600660209081526040808320600e54851684528252808320600019905582547f67c64222fe590bce62327359fa9d72a74494cf12dd2ff9f191883831c1e4ae08805460ff1990811660019081179092559186168086526008855283862080548416831790557fd1adeeec2d1b6b1c11e7fd0a59cad84dd18072c755b9790ea49540cc040740eb8054841683179055600254909616855282852080549092161790556003548484526005835281842081905590519081528392917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35062000583565b600060208284031215620003e457600080fd5b81516001600160a01b0381168114620003fc57600080fd5b9392505050565b600082198211156200041957620004196200056d565b500190565b6000826200043c57634e487b7160e01b600052601260045260246000fd5b500490565b600181815b80851115620004825781600019048211156200046657620004666200056d565b808516156200047457918102915b93841c939080029062000446565b509250929050565b6000620003fc60ff841683600082620004a65750600162000545565b81620004b55750600062000545565b8160018114620004ce5760028114620004d957620004f9565b600191505062000545565b60ff841115620004ed57620004ed6200056d565b50506001821b62000545565b5060208310610133831016604e8410600b84101617156200051e575081810a62000545565b6200052a838362000441565b80600019048211156200054157620005416200056d565b0290505b92915050565b60008160001904831182151516156200056857620005686200056d565b500290565b634e487b7160e01b600052601160045260246000fd5b61139280620005936000396000f3fe60806040526004361061012e5760003560e01c80636c0a24eb116100ab57806395d89b411161006f57806395d89b4114610358578063a8aa1b3114610386578063a9059cbb146103a6578063dd62ed3e146103c6578063f1d5f5171461040c578063f887ea401461042c57600080fd5b80636c0a24eb146102a45780636ddd1713146102ba57806370a08231146102db578063715018a614610311578063893d20e81461032657600080fd5b80632f54bf6e116100f25780632f54bf6e14610202578063313ce56714610231578063364333f41461024d57806352f7c98814610264578063571ac8b01461028457600080fd5b80630445b6671461013a57806306fdde0314610163578063095ea7b31461019d57806318160ddd146101cd57806323b872dd146101e257600080fd5b3661013557005b600080fd5b34801561014657600080fd5b5061015060105481565b6040519081526020015b60405180910390f35b34801561016f57600080fd5b50604080518082019091526008815267506570652050415760c01b60208201525b60405161015a91906111c5565b3480156101a957600080fd5b506101bd6101b8366004611130565b61044c565b604051901515815260200161015a565b3480156101d957600080fd5b50600354610150565b3480156101ee57600080fd5b506101bd6101fd3660046110ef565b6104b9565b34801561020e57600080fd5b506101bd61021d36600461107c565b6000546001600160a01b0391821691161490565b34801561023d57600080fd5b506040516009815260200161015a565b34801561025957600080fd5b5061026261057b565b005b34801561027057600080fd5b5061026261027f366004611175565b6105b7565b34801561029057600080fd5b506101bd61029f36600461107c565b610605565b3480156102b057600080fd5b5061015060045481565b3480156102c657600080fd5b50600f546101bd90600160a01b900460ff1681565b3480156102e757600080fd5b506101506102f636600461107c565b6001600160a01b031660009081526005602052604090205490565b34801561031d57600080fd5b50610262610613565b34801561033257600080fd5b506000546001600160a01b03165b6040516001600160a01b03909116815260200161015a565b34801561036457600080fd5b50604080518082019091526005815264504550455760d81b6020820152610190565b34801561039257600080fd5b50600f54610340906001600160a01b031681565b3480156103b257600080fd5b506101bd6103c1366004611130565b610682565b3480156103d257600080fd5b506101506103e13660046110b6565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561041857600080fd5b5061026261042736600461115c565b61068f565b34801561043857600080fd5b50600e54610340906001600160a01b031681565b3360008181526006602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906104a79086815260200190565b60405180910390a35060015b92915050565b6001600160a01b038316600090815260066020908152604080832033845290915281205460001914610566576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b03871660009081526006825283812033825290915291909120546105419184906106da565b6001600160a01b03851660009081526006602090815260408083203384529091529020555b610571848484610714565b90505b9392505050565b600d546040516001600160a01b03909116904780156108fc02916000818181858888f193505050501580156105b4573d6000803e3d6000fd5b50565b6000546001600160a01b031633146105ea5760405162461bcd60e51b81526004016105e19061121a565b60405180910390fd5b6009829055600a8190556105fe81836112ab565b600b555050565b60006104b38260001961044c565b6000546001600160a01b0316331461063d5760405162461bcd60e51b81526004016105e19061121a565b600080546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b6000610574338484610714565b6000546001600160a01b031633146106b95760405162461bcd60e51b81526004016105e19061121a565b6103e8816003546106ca91906112e5565b6106d491906112c3565b60045550565b600081848411156106fe5760405162461bcd60e51b81526004016105e191906111c5565b50600061070b8486611304565b95945050505050565b60115460009060ff16156107345761072d84848461093e565b9050610574565b600f546001600160a01b0384811691161480159061076057506002546001600160a01b03848116911614155b1561080b576001600160a01b03831660009081526008602052604090205460ff16806107b157506004546001600160a01b0384166000908152600560205260409020546107ae9084906112ab565b11155b61080b5760405162461bcd60e51b815260206004820152602560248201527f5472616e7366657220616d6f756e74206578636565647320746865206261672060448201526439b4bd329760d91b60648201526084016105e1565b610813610a24565b1561082057610820610a7c565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0387166000908152600590915291909120546108729184906106da565b6001600160a01b038516600090815260056020908152604080832093909355600790529081205460ff16156108a757826108b1565b6108b18584610e46565b6001600160a01b0385166000908152600560205260409020549091506108d79082610eec565b6001600160a01b0380861660008181526005602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061092b9085815260200190565b60405180910390a3506001949350505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038616600090815260059091529182205461098f9184906106da565b6001600160a01b0380861660009081526005602052604080822093909355908516815220546109be9083610eec565b6001600160a01b0380851660008181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610a129086815260200190565b60405180910390a35060019392505050565b600f546000906001600160a01b03163314801590610a45575060115460ff16155b8015610a5a5750600f54600160a01b900460ff165b8015610a7757506010543060009081526005602052604090205410155b905090565b6011805460ff19166001179055601054600b54600954600091610aaf91600291610aa99182908790610f4b565b90610fca565b90506000610abd838361100c565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110610af757610af7611331565b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015610b4b57600080fd5b505afa158015610b5f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b839190611099565b81600181518110610b9657610b96611331565b6001600160a01b039283166020918202929092010152600e5460405163791ac94760e01b81524792919091169063791ac94790610be090869060009087903090429060040161123a565b600060405180830381600087803b158015610bfa57600080fd5b505af1158015610c0e573d6000803e3d6000fd5b505050506000610c27824761100c90919063ffffffff16565b90506000610c4d610c446002600954610fca90919063ffffffff16565b600b549061100c565b90506000610c6f6002610aa984610aa960095488610f4b90919063ffffffff16565b90506000610c8c83610aa9600a5487610f4b90919063ffffffff16565b600d546040519192506000916001600160a01b039091169061753090849084818181858888f193505050503d8060008114610ce3576040519150601f19603f3d011682016040523d82523d6000602084013e610ce8565b606091505b5050905080610d395760405162461bcd60e51b815260206004820152601e60248201527f72656365697665722072656a656374656420455448207472616e73666572000060448201526064016105e1565b8815610e3057600e5460405163f305d71960e01b8152306004820152602481018b905260006044820181905260648201527335747950e4fcc5c924cfe3def97be0bd521e644f60848201524260a48201526001600160a01b039091169063f305d71990859060c4016060604051808303818588803b158015610dba57600080fd5b505af1158015610dce573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610df39190611197565b505060408051858152602081018c90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b50506011805460ff191690555050505050505050565b600080610e64600c54610aa9600b5486610f4b90919063ffffffff16565b30600090815260056020526040902054909150610e819082610eec565b30600081815260056020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610ed29085815260200190565b60405180910390a3610ee4838261100c565b949350505050565b600080610ef983856112ab565b9050838110156105745760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105e1565b600082610f5a575060006104b3565b6000610f6683856112e5565b905082610f7385836112c3565b146105745760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105e1565b600061057483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061104e565b600061057483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506106da565b6000818361106f5760405162461bcd60e51b81526004016105e191906111c5565b50600061070b84866112c3565b60006020828403121561108e57600080fd5b813561057481611347565b6000602082840312156110ab57600080fd5b815161057481611347565b600080604083850312156110c957600080fd5b82356110d481611347565b915060208301356110e481611347565b809150509250929050565b60008060006060848603121561110457600080fd5b833561110f81611347565b9250602084013561111f81611347565b929592945050506040919091013590565b6000806040838503121561114357600080fd5b823561114e81611347565b946020939093013593505050565b60006020828403121561116e57600080fd5b5035919050565b6000806040838503121561118857600080fd5b50508035926020909101359150565b6000806000606084860312156111ac57600080fd5b8351925060208401519150604084015190509250925092565b600060208083528351808285015260005b818110156111f2578581018301518582016040015282016111d6565b81811115611204576000604083870101525b50601f01601f1916929092016040019392505050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561128a5784516001600160a01b031683529383019391830191600101611265565b50506001600160a01b03969096166060850152505050608001529392505050565b600082198211156112be576112be61131b565b500190565b6000826112e057634e487b7160e01b600052601260045260246000fd5b500490565b60008160001904831182151516156112ff576112ff61131b565b500290565b6000828210156113165761131661131b565b500390565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b03811681146105b457600080fdfea2646970667358221220d6146c2d3608edf29a583de2102e854fd8c0e03619f5e621c579cc2827b6463f64736f6c63430008050033

Deployed Bytecode

0x60806040526004361061012e5760003560e01c80636c0a24eb116100ab57806395d89b411161006f57806395d89b4114610358578063a8aa1b3114610386578063a9059cbb146103a6578063dd62ed3e146103c6578063f1d5f5171461040c578063f887ea401461042c57600080fd5b80636c0a24eb146102a45780636ddd1713146102ba57806370a08231146102db578063715018a614610311578063893d20e81461032657600080fd5b80632f54bf6e116100f25780632f54bf6e14610202578063313ce56714610231578063364333f41461024d57806352f7c98814610264578063571ac8b01461028457600080fd5b80630445b6671461013a57806306fdde0314610163578063095ea7b31461019d57806318160ddd146101cd57806323b872dd146101e257600080fd5b3661013557005b600080fd5b34801561014657600080fd5b5061015060105481565b6040519081526020015b60405180910390f35b34801561016f57600080fd5b50604080518082019091526008815267506570652050415760c01b60208201525b60405161015a91906111c5565b3480156101a957600080fd5b506101bd6101b8366004611130565b61044c565b604051901515815260200161015a565b3480156101d957600080fd5b50600354610150565b3480156101ee57600080fd5b506101bd6101fd3660046110ef565b6104b9565b34801561020e57600080fd5b506101bd61021d36600461107c565b6000546001600160a01b0391821691161490565b34801561023d57600080fd5b506040516009815260200161015a565b34801561025957600080fd5b5061026261057b565b005b34801561027057600080fd5b5061026261027f366004611175565b6105b7565b34801561029057600080fd5b506101bd61029f36600461107c565b610605565b3480156102b057600080fd5b5061015060045481565b3480156102c657600080fd5b50600f546101bd90600160a01b900460ff1681565b3480156102e757600080fd5b506101506102f636600461107c565b6001600160a01b031660009081526005602052604090205490565b34801561031d57600080fd5b50610262610613565b34801561033257600080fd5b506000546001600160a01b03165b6040516001600160a01b03909116815260200161015a565b34801561036457600080fd5b50604080518082019091526005815264504550455760d81b6020820152610190565b34801561039257600080fd5b50600f54610340906001600160a01b031681565b3480156103b257600080fd5b506101bd6103c1366004611130565b610682565b3480156103d257600080fd5b506101506103e13660046110b6565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561041857600080fd5b5061026261042736600461115c565b61068f565b34801561043857600080fd5b50600e54610340906001600160a01b031681565b3360008181526006602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906104a79086815260200190565b60405180910390a35060015b92915050565b6001600160a01b038316600090815260066020908152604080832033845290915281205460001914610566576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b03871660009081526006825283812033825290915291909120546105419184906106da565b6001600160a01b03851660009081526006602090815260408083203384529091529020555b610571848484610714565b90505b9392505050565b600d546040516001600160a01b03909116904780156108fc02916000818181858888f193505050501580156105b4573d6000803e3d6000fd5b50565b6000546001600160a01b031633146105ea5760405162461bcd60e51b81526004016105e19061121a565b60405180910390fd5b6009829055600a8190556105fe81836112ab565b600b555050565b60006104b38260001961044c565b6000546001600160a01b0316331461063d5760405162461bcd60e51b81526004016105e19061121a565b600080546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b6000610574338484610714565b6000546001600160a01b031633146106b95760405162461bcd60e51b81526004016105e19061121a565b6103e8816003546106ca91906112e5565b6106d491906112c3565b60045550565b600081848411156106fe5760405162461bcd60e51b81526004016105e191906111c5565b50600061070b8486611304565b95945050505050565b60115460009060ff16156107345761072d84848461093e565b9050610574565b600f546001600160a01b0384811691161480159061076057506002546001600160a01b03848116911614155b1561080b576001600160a01b03831660009081526008602052604090205460ff16806107b157506004546001600160a01b0384166000908152600560205260409020546107ae9084906112ab565b11155b61080b5760405162461bcd60e51b815260206004820152602560248201527f5472616e7366657220616d6f756e74206578636565647320746865206261672060448201526439b4bd329760d91b60648201526084016105e1565b610813610a24565b1561082057610820610a7c565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0387166000908152600590915291909120546108729184906106da565b6001600160a01b038516600090815260056020908152604080832093909355600790529081205460ff16156108a757826108b1565b6108b18584610e46565b6001600160a01b0385166000908152600560205260409020549091506108d79082610eec565b6001600160a01b0380861660008181526005602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061092b9085815260200190565b60405180910390a3506001949350505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038616600090815260059091529182205461098f9184906106da565b6001600160a01b0380861660009081526005602052604080822093909355908516815220546109be9083610eec565b6001600160a01b0380851660008181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610a129086815260200190565b60405180910390a35060019392505050565b600f546000906001600160a01b03163314801590610a45575060115460ff16155b8015610a5a5750600f54600160a01b900460ff165b8015610a7757506010543060009081526005602052604090205410155b905090565b6011805460ff19166001179055601054600b54600954600091610aaf91600291610aa99182908790610f4b565b90610fca565b90506000610abd838361100c565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110610af757610af7611331565b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015610b4b57600080fd5b505afa158015610b5f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b839190611099565b81600181518110610b9657610b96611331565b6001600160a01b039283166020918202929092010152600e5460405163791ac94760e01b81524792919091169063791ac94790610be090869060009087903090429060040161123a565b600060405180830381600087803b158015610bfa57600080fd5b505af1158015610c0e573d6000803e3d6000fd5b505050506000610c27824761100c90919063ffffffff16565b90506000610c4d610c446002600954610fca90919063ffffffff16565b600b549061100c565b90506000610c6f6002610aa984610aa960095488610f4b90919063ffffffff16565b90506000610c8c83610aa9600a5487610f4b90919063ffffffff16565b600d546040519192506000916001600160a01b039091169061753090849084818181858888f193505050503d8060008114610ce3576040519150601f19603f3d011682016040523d82523d6000602084013e610ce8565b606091505b5050905080610d395760405162461bcd60e51b815260206004820152601e60248201527f72656365697665722072656a656374656420455448207472616e73666572000060448201526064016105e1565b8815610e3057600e5460405163f305d71960e01b8152306004820152602481018b905260006044820181905260648201527335747950e4fcc5c924cfe3def97be0bd521e644f60848201524260a48201526001600160a01b039091169063f305d71990859060c4016060604051808303818588803b158015610dba57600080fd5b505af1158015610dce573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610df39190611197565b505060408051858152602081018c90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b50506011805460ff191690555050505050505050565b600080610e64600c54610aa9600b5486610f4b90919063ffffffff16565b30600090815260056020526040902054909150610e819082610eec565b30600081815260056020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610ed29085815260200190565b60405180910390a3610ee4838261100c565b949350505050565b600080610ef983856112ab565b9050838110156105745760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105e1565b600082610f5a575060006104b3565b6000610f6683856112e5565b905082610f7385836112c3565b146105745760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105e1565b600061057483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061104e565b600061057483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506106da565b6000818361106f5760405162461bcd60e51b81526004016105e191906111c5565b50600061070b84866112c3565b60006020828403121561108e57600080fd5b813561057481611347565b6000602082840312156110ab57600080fd5b815161057481611347565b600080604083850312156110c957600080fd5b82356110d481611347565b915060208301356110e481611347565b809150509250929050565b60008060006060848603121561110457600080fd5b833561110f81611347565b9250602084013561111f81611347565b929592945050506040919091013590565b6000806040838503121561114357600080fd5b823561114e81611347565b946020939093013593505050565b60006020828403121561116e57600080fd5b5035919050565b6000806040838503121561118857600080fd5b50508035926020909101359150565b6000806000606084860312156111ac57600080fd5b8351925060208401519150604084015190509250925092565b600060208083528351808285015260005b818110156111f2578581018301518582016040015282016111d6565b81811115611204576000604083870101525b50601f01601f1916929092016040019392505050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561128a5784516001600160a01b031683529383019391830191600101611265565b50506001600160a01b03969096166060850152505050608001529392505050565b600082198211156112be576112be61131b565b500190565b6000826112e057634e487b7160e01b600052601260045260246000fd5b500490565b60008160001904831182151516156112ff576112ff61131b565b500290565b6000828210156113165761131661131b565b500390565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b03811681146105b457600080fdfea2646970667358221220d6146c2d3608edf29a583de2102e854fd8c0e03619f5e621c579cc2827b6463f64736f6c63430008050033

Deployed Bytecode Sourcemap

4186:7751:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5203:54;;;;;;;;;;;;;;;;;;;6498:25:1;;;6486:2;6471:18;5203:54:0;;;;;;;;6284:80;;;;;;;;;;-1:-1:-1;6356:5:0;;;;;;;;;;;;-1:-1:-1;;;6356:5:0;;;;6284:80;;;;;;;:::i;6706:216::-;;;;;;;;;;-1:-1:-1;6706:216:0;;;;;:::i;:::-;;:::i;:::-;;;3640:14:1;;3633:22;3615:41;;3603:2;3588:18;6706:216:0;3570:92:1;6014:88:0;;;;;;;;;;-1:-1:-1;6087:12:0;;6014:88;;7224:370;;;;;;;;;;-1:-1:-1;7224:370:0;;;;;:::i;:::-;;:::i;2424:103::-;;;;;;;;;;-1:-1:-1;2424:103:0;;;;;:::i;:::-;2479:4;2514:5;-1:-1:-1;;;;;2503:16:0;;;2514:5;;2503:16;;2424:103;6108:80;;;;;;;;;;-1:-1:-1;6108:80:0;;4514:1;7914:36:1;;7902:2;7887:18;6108:80:0;7869:87:1;11366:118:0;;;;;;;;;;;;;:::i;:::-;;11642:220;;;;;;;;;;-1:-1:-1;11642:220:0;;;;;:::i;:::-;;:::i;6930:122::-;;;;;;;;;;-1:-1:-1;6930:122:0;;;;;:::i;:::-;;:::i;4587:60::-;;;;;;;;;;;;;;;;5166:30;;;;;;;;;;-1:-1:-1;5166:30:0;;;;-1:-1:-1;;;5166:30:0;;;;;;6454:105;;;;;;;;;;-1:-1:-1;6454:105:0;;;;;:::i;:::-;-1:-1:-1;;;;;6538:18:0;6520:7;6538:18;;;:9;:18;;;;;;;6454:105;2533:131;;;;;;;;;;;;;:::i;6370:78::-;;;;;;;;;;-1:-1:-1;6422:7:0;6440:5;-1:-1:-1;;;;;6440:5:0;6370:78;;;-1:-1:-1;;;;;2819:32:1;;;2801:51;;2789:2;2774:18;6370:78:0;2756:102:1;6194:84:0;;;;;;;;;;-1:-1:-1;6268:7:0;;;;;;;;;;;;-1:-1:-1;;;6268:7:0;;;;6194:84;;5138:19;;;;;;;;;;-1:-1:-1;5138:19:0;;;;-1:-1:-1;;;;;5138:19:0;;;7060:156;;;;;;;;;;-1:-1:-1;7060:156:0;;;;;:::i;:::-;;:::i;6565:133::-;;;;;;;;;;-1:-1:-1;6565:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;6667:19:0;;;6649:7;6667:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;6565:133;11492:142;;;;;;;;;;-1:-1:-1;11492:142:0;;;;;:::i;:::-;;:::i;5107:24::-;;;;;;;;;;-1:-1:-1;5107:24:0;;;;-1:-1:-1;;;;;5107:24:0;;;6706:216;6810:10;6781:4;6798:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;6798:32:0;;;;;;;;;;:41;;;6855:37;6781:4;;6798:32;;6855:37;;;;6833:6;6498:25:1;;6486:2;6471:18;;6453:76;6855:37:0;;;;;;;;-1:-1:-1;6910:4:0;6706:216;;;;;:::o;7224:370::-;-1:-1:-1;;;;;7344:19:0;;7324:4;7344:19;;;:11;:19;;;;;;;;7364:10;7344:31;;;;;;;;-1:-1:-1;;7344:52:0;7341:186;;7446:69;;;;;;;;;;;-1:-1:-1;;;7446:69:0;;;;;;;;-1:-1:-1;;;;;7446:19:0;;-1:-1:-1;7446:19:0;;;:11;:19;;;;;7466:10;7446:31;;;;;;;;;;:69;;7482:6;;7446:35;:69::i;:::-;-1:-1:-1;;;;;7412:19:0;;;;;;:11;:19;;;;;;;;7432:10;7412:31;;;;;;;:103;7341:186;7546:40;7560:6;7568:9;7579:6;7546:13;:40::i;:::-;7539:47;;7224:370;;;;;;:::o;11366:118::-;11423:20;;11415:61;;-1:-1:-1;;;;;11423:20:0;;;;11454:21;11415:61;;;;;11423:20;11415:61;11423:20;11415:61;11454:21;11423:20;11415:61;;;;;;;;;;;;;;;;;;;;;11366:118::o;11642:220::-;2479:4;2514:5;-1:-1:-1;;;;;2514:5:0;2385:10;2503:16;2369:38;;;;-1:-1:-1;;;2369:38:0;;;;;;;:::i;:::-;;;;;;;;;11735:12:::1;:28:::0;;;11776:12:::1;:28:::0;;;11827:27:::1;11791:13:::0;11750;11827:27:::1;:::i;:::-;11816:8;:38:::0;-1:-1:-1;;11642:220:0:o;6930:122::-;6985:4;7009:35;7017:7;-1:-1:-1;;7009:7:0;:35::i;2533:131::-;2479:4;2514:5;-1:-1:-1;;;;;2514:5:0;2385:10;2503:16;2369:38;;;;-1:-1:-1;;;2369:38:0;;;;;;;:::i;:::-;2606:1:::1;2590:18:::0;;-1:-1:-1;;;;;;2590:18:0::1;::::0;;2624:32:::1;::::0;2801:51:1;;;2624:32:0::1;::::0;2789:2:1;2774:18;2624:32:0::1;;;;;;;2533:131::o:0;7060:156::-;7140:4;7164:44;7178:10;7190:9;7201:6;7164:13;:44::i;11492:142::-;2479:4;2514:5;-1:-1:-1;;;;;2514:5:0;2385:10;2503:16;2369:38;;;;-1:-1:-1;;;2369:38:0;;;;;;;:::i;:::-;11622:4:::1;11604:13;11589:12;;:28;;;;:::i;:::-;11588:38;;;;:::i;:::-;11569:16;:57:::0;-1:-1:-1;11492:142:0:o;513:190::-;599:7;635:12;627:6;;;;619:29;;;;-1:-1:-1;;;619:29:0;;;;;;;;:::i;:::-;-1:-1:-1;659:9:0;671:5;675:1;671;:5;:::i;:::-;659:17;513:190;-1:-1:-1;;;;;513:190:0:o;7602:792::-;7714:6;;7694:4;;7714:6;;7711:63;;;7730:41;7745:6;7753:9;7764:6;7730:14;:41::i;:::-;7723:48;;;;7711:63;7811:4;;-1:-1:-1;;;;;7798:17:0;;;7811:4;;7798:17;;;;:38;;-1:-1:-1;7832:4:0;;-1:-1:-1;;;;;7819:17:0;;;7832:4;;7819:17;;7798:38;7794:200;;;-1:-1:-1;;;;;7861:26:0;;;;;;:15;:26;;;;;;;;;:79;;-1:-1:-1;7924:16:0;;-1:-1:-1;;;;;7891:20:0;;;;;;:9;:20;;;;;;:29;;7914:6;;7891:29;:::i;:::-;:49;;7861:79;7853:129;;;;-1:-1:-1;;;7853:129:0;;4697:2:1;7853: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;;7853:129:0;4669:227:1;7853:129:0;8017:16;:14;:16::i;:::-;8014:35;;;8036:10;:8;:10::i;:::-;8082:53;;;;;;;;;;;-1:-1:-1;;;8082:53:0;;;;;;;;-1:-1:-1;;;;;8082:17:0;;-1:-1:-1;8082:17:0;;;:9;:17;;;;;;;;:53;;8104:6;;8082:21;:53::i;:::-;-1:-1:-1;;;;;8062:17:0;;;;;;:9;:17;;;;;;;;:73;;;;8831:11;:19;;;;;;;;8830:20;8173:56;;8223:6;8173:56;;;8197:23;8205:6;8213;8197:7;:23::i;:::-;-1:-1:-1;;;;;8263:20:0;;;;;;:9;:20;;;;;;8148:81;;-1:-1:-1;8263:40:0;;8148:81;8263:24;:40::i;:::-;-1:-1:-1;;;;;8240:20:0;;;;;;;:9;:20;;;;;;;:63;;;;8321:43;;;;;;;;;;8349:14;6498:25:1;;6486:2;6471:18;;6453:76;8321:43:0;;;;;;;;-1:-1:-1;8382:4:0;;7602:792;-1:-1:-1;;;;7602:792:0:o;8406:330::-;8536:53;;;;;;;;;;;-1:-1:-1;;;8536:53:0;;;;;;;;-1:-1:-1;;;;;8536:17:0;;8499:4;8536:17;;;:9;:17;;;;;;;:53;;8558:6;;8536:21;:53::i;:::-;-1:-1:-1;;;;;8516:17:0;;;;;;;:9;:17;;;;;;:73;;;;8623:20;;;;;;;:32;;8648:6;8623:24;:32::i;:::-;-1:-1:-1;;;;;8600:20:0;;;;;;;:9;:20;;;;;;;:55;;;;8671:35;;;;;;;;;;8699:6;6498:25:1;;6486:2;6471:18;;6453:76;8671:35:0;;;;;;;;-1:-1:-1;8724:4:0;8406:330;;;;;:::o;9203:197::-;9290:4;;9252;;-1:-1:-1;;;;;9290:4:0;9276:10;:18;;;;:38;;-1:-1:-1;9308:6:0;;;;9307:7;9276:38;:62;;;;-1:-1:-1;9327:11:0;;-1:-1:-1;;;9327:11:0;;;;9276:62;:116;;;;-1:-1:-1;9379:13:0;;9369:4;9351:24;;;;:9;:24;;;;;;:41;;9276:116;9269:123;;9203:197;:::o;9408:1572::-;5308:6;:13;;-1:-1:-1;;5308:13:0;5317:4;5308:13;;;9488::::1;::::0;9581:8:::1;::::0;9563:12:::1;::::0;5308:6;;9538:59:::1;::::0;9595:1:::1;::::0;9538:52:::1;::::0;;;9488:13;;9538:24:::1;:38::i;:::-;:42:::0;::::1;:52::i;:59::-;9512:85:::0;-1:-1:-1;9608:20:0::1;9631:41;:20:::0;9512:85;9631:24:::1;:41::i;:::-;9709:16;::::0;;9723:1:::1;9709:16:::0;;;;;::::1;::::0;;9608:64;;-1:-1:-1;9685:21:0::1;::::0;9709:16;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9709:16:0::1;9685:40;;9754:4;9736;9741:1;9736:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9736:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;9780:6:::1;::::0;:13:::1;::::0;;-1:-1:-1;;;9780:13:0;;;;:6;;;::::1;::::0;:11:::1;::::0;:13:::1;::::0;;::::1;::::0;9736:7;;9780:13;;;;;:6;:13;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9770:4;9775:1;9770:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9770:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;9864:6:::1;::::0;:188:::1;::::0;-1:-1:-1;;;9864:188:0;;9830:21:::1;::::0;9864:6;;;::::1;::::0;:57:::1;::::0;:188:::1;::::0;9936:12;;9806:21:::1;::::0;9979:4;;10006::::1;::::0;10026:15:::1;::::0;9864:188:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10063:17;10083:40;10109:13;10083:21;:25;;:40;;;;:::i;:::-;10063:60;;10134:19;10156:33;10169:19;10186:1;10169:12;;:16;;:19;;;;:::i;:::-;10156:8;::::0;;:12:::1;:33::i;:::-;10134:55;;10200:26;10229:51;10278:1;10229:44;10261:11;10229:27;10243:12;;10229:9;:13;;:27;;;;:::i;:51::-;10200:80;;10291:26;10320:44;10352:11;10320:27;10334:12;;10320:9;:13;;:27;;;;:::i;:44::-;10438:20;::::0;10430:77:::1;::::0;10291:73;;-1:-1:-1;10380:21:0::1;::::0;-1:-1:-1;;;;;10438:20:0;;::::1;::::0;10497:5:::1;::::0;10291:73;;10380:21;10430:77;10380:21;10430:77;10291:73;10438:20;10497:5;10430:77:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10379:128;;;10526:16;10518:59;;;::::0;-1:-1:-1;;;10518:59:0;;5459:2:1;10518:59:0::1;::::0;::::1;5441:21:1::0;5498:2;5478:18;;;5471:30;5537:32;5517:18;;;5510:60;5587:18;;10518:59:0::1;5431:180:1::0;10518:59:0::1;10593:19:::0;;10590:383:::1;;10628:6;::::0;:265:::1;::::0;-1:-1:-1;;;10628:265:0;;10704:4:::1;10628:265;::::0;::::1;3204:34:1::0;3254:18;;;3247:34;;;10628:6:0::1;3297:18:1::0;;;3290:34;;;3340:18;;;3333:34;10802:42:0::1;3383:19:1::0;;;3376:44;10863:15:0::1;3436:19:1::0;;;3429:35;-1:-1:-1;;;;;10628:6:0;;::::1;::::0;:22:::1;::::0;10658:18;;3138:19:1;;10628:265:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;10913:48:0::1;::::0;;7693:25:1;;;7749:2;7734:18;;7727:34;;;10913:48:0::1;::::0;-1:-1:-1;7666:18:1;10913:48:0::1;;;;;;;10590:383;-1:-1:-1::0;;5326:6:0;:14;;-1:-1:-1;;5326:14:0;;;-1:-1:-1;;;;;;;;9408:1572:0:o;8866:329::-;8933:7;8953:17;8973:40;8998:14;;8973:20;8984:8;;8973:6;:10;;:20;;;;:::i;:40::-;9069:4;9051:24;;;;:9;:24;;;;;;8953:60;;-1:-1:-1;9051:39:0;;8953:60;9051:28;:39::i;:::-;9042:4;9024:24;;;;:9;:24;;;;;;;:66;;;;9106:42;;-1:-1:-1;;;;;9106:42:0;;;;;;;9138:9;6498:25:1;;6486:2;6471:18;;6453:76;9106:42:0;;;;;;;;9166:21;:6;9177:9;9166:10;:21::i;:::-;9159:28;8866:329;-1:-1:-1;;;;8866:329:0:o;186:179::-;244:7;;276:5;280:1;276;:5;:::i;:::-;264:17;;305:1;300;:6;;292:46;;;;-1:-1:-1;;;292:46:0;;5103:2:1;292:46:0;;;5085:21:1;5142:2;5122:18;;;5115:30;5181:29;5161:18;;;5154:57;5228:18;;292:46:0;5075:177:1;709:246:0;767:7;791:6;787:47;;-1:-1:-1;821:1:0;814:8;;787:47;844:9;856:5;860:1;856;:5;:::i;:::-;844:17;-1:-1:-1;889:1:0;880:5;884:1;844:17;880:5;:::i;:::-;:10;872:56;;;;-1:-1:-1;;;872:56:0;;5818:2:1;872: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;;872:56:0;5790:223:1;961:132:0;1019:7;1046:39;1050:1;1053;1046:39;;;;;;;;;;;;;;;;;:3;:39::i;371:136::-;429:7;456:43;460:1;463;456:43;;;;;;;;;;;;;;;;;:3;:43::i;1099:189::-;1185:7;1220:12;1213:5;1205:28;;;;-1:-1:-1;;;1205:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1244:9:0;1256:5;1260:1;1256;: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://d6146c2d3608edf29a583de2102e854fd8c0e03619f5e621c579cc2827b6463f

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.