ETH Price: $3,154.09 (+0.32%)
Gas: 1 Gwei

Contract

0xd43647887C4210Df69bC32C9CF01DA0F99F768e7
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve202985382024-07-13 15:41:112 hrs ago1720885271IN
0xd4364788...F99F768e7
0 ETH0.000062792.59905291
Transfer202779502024-07-10 18:40:112 days ago1720636811IN
0xd4364788...F99F768e7
0 ETH0.000644558.56503883
Approve202197182024-07-02 15:26:5911 days ago1719934019IN
0xd4364788...F99F768e7
0 ETH0.000447029.61217487
Approve202196792024-07-02 15:19:1111 days ago1719933551IN
0xd4364788...F99F768e7
0 ETH0.000437639.41024326
Transfer202195882024-07-02 15:00:4711 days ago1719932447IN
0xd4364788...F99F768e7
0 ETH0.001697299.15389479
Approve202195302024-07-02 14:49:1111 days ago1719931751IN
0xd4364788...F99F768e7
0 ETH0.000400378.60907849
Approve197549912024-04-28 16:24:5976 days ago1714321499IN
0xd4364788...F99F768e7
0 ETH0.0002496610.33303083
Approve191003042024-01-27 20:30:59167 days ago1706387459IN
0xd4364788...F99F768e7
0 ETH0.0002630210.85886479
Approve184568202023-10-29 15:45:35258 days ago1698594335IN
0xd4364788...F99F768e7
0 ETH0.0004098416.96220907
Approve184568152023-10-29 15:44:35258 days ago1698594275IN
0xd4364788...F99F768e7
0 ETH0.0004082716.85571062
Approve184216932023-10-24 17:46:11262 days ago1698169571IN
0xd4364788...F99F768e7
0 ETH0.0010062821.66570557
Approve182201802023-09-26 13:14:35291 days ago1695734075IN
0xd4364788...F99F768e7
0 ETH0.0004172917.27076738
Approve180526002023-09-03 1:09:59314 days ago1693703399IN
0xd4364788...F99F768e7
0 ETH0.000402658.66941866
Approve179591092023-08-20 23:03:11327 days ago1692572591IN
0xd4364788...F99F768e7
0 ETH0.0005198811.24572554
Approve179382532023-08-18 0:57:47330 days ago1692320267IN
0xd4364788...F99F768e7
0 ETH0.0015925734.28863831
Approve179266102023-08-16 9:51:11332 days ago1692179471IN
0xd4364788...F99F768e7
0 ETH0.0008552818.51515221
Approve179233352023-08-15 22:51:23332 days ago1692139883IN
0xd4364788...F99F768e7
0 ETH0.0005556619.09908942
Approve179230682023-08-15 21:57:35332 days ago1692136655IN
0xd4364788...F99F768e7
0 ETH0.0014307630.8049004
Approve179230582023-08-15 21:55:35332 days ago1692136535IN
0xd4364788...F99F768e7
0 ETH0.0015789433.99528669
Approve179230432023-08-15 21:52:35332 days ago1692136355IN
0xd4364788...F99F768e7
0 ETH0.0015154132.62736409
Approve179228162023-08-15 21:07:11332 days ago1692133631IN
0xd4364788...F99F768e7
0 ETH0.0012716527.34396835
Transfer179227842023-08-15 21:00:47332 days ago1692133247IN
0xd4364788...F99F768e7
0 ETH0.0031886242.38500595
Approve179227542023-08-15 20:54:47332 days ago1692132887IN
0xd4364788...F99F768e7
0 ETH0.0014298430.78516572
Approve179227202023-08-15 20:47:59332 days ago1692132479IN
0xd4364788...F99F768e7
0 ETH0.0014477431.13033488
Approve179226132023-08-15 20:26:11332 days ago1692131171IN
0xd4364788...F99F768e7
0 ETH0.0017156636.93888075
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
202197192024-07-02 15:27:1111 days ago1719934031
0xd4364788...F99F768e7
0.00268393 ETH
202197192024-07-02 15:27:1111 days ago1719934031
0xd4364788...F99F768e7
0.00268393 ETH
202195882024-07-02 15:00:4711 days ago1719932447
0xd4364788...F99F768e7
0.00297434 ETH
202195882024-07-02 15:00:4711 days ago1719932447
0xd4364788...F99F768e7
0.00297434 ETH
180962852023-09-09 3:53:35308 days ago1694231615
0xd4364788...F99F768e7
0.00325667 ETH
180962852023-09-09 3:53:35308 days ago1694231615
0xd4364788...F99F768e7
0.00325667 ETH
180526032023-09-03 1:10:35314 days ago1693703435
0xd4364788...F99F768e7
0.00382419 ETH
180526032023-09-03 1:10:35314 days ago1693703435
0xd4364788...F99F768e7
0.00382419 ETH
179591132023-08-20 23:03:59327 days ago1692572639
0xd4364788...F99F768e7
0.00344579 ETH
179591132023-08-20 23:03:59327 days ago1692572639
0xd4364788...F99F768e7
0.00344579 ETH
179230582023-08-15 21:55:35332 days ago1692136535
0xd4364788...F99F768e7
0.00418128 ETH
179230582023-08-15 21:55:35332 days ago1692136535
0xd4364788...F99F768e7
0.00418128 ETH
179226452023-08-15 20:32:35332 days ago1692131555
0xd4364788...F99F768e7
0.00516692 ETH
179226452023-08-15 20:32:35332 days ago1692131555
0xd4364788...F99F768e7
0.00516692 ETH
179223252023-08-15 19:28:11332 days ago1692127691
0xd4364788...F99F768e7
0.00656466 ETH
179223252023-08-15 19:28:11332 days ago1692127691
0xd4364788...F99F768e7
0.00656466 ETH
179222502023-08-15 19:13:11332 days ago1692126791
0xd4364788...F99F768e7
0.00765779 ETH
179222502023-08-15 19:13:11332 days ago1692126791
0xd4364788...F99F768e7
0.00765779 ETH
179222422023-08-15 19:11:35332 days ago1692126695
0xd4364788...F99F768e7
0.00840641 ETH
179222422023-08-15 19:11:35332 days ago1692126695
0xd4364788...F99F768e7
0.00840641 ETH
179222342023-08-15 19:09:59332 days ago1692126599
0xd4364788...F99F768e7
0.00859116 ETH
179222342023-08-15 19:09:59332 days ago1692126599
0xd4364788...F99F768e7
0.00859116 ETH
179222152023-08-15 19:06:11332 days ago1692126371
0xd4364788...F99F768e7
0.07911378 ETH
179222152023-08-15 19:06:11332 days ago1692126371
0xd4364788...F99F768e7
0.07911378 ETH
179221972023-08-15 19:02:35332 days ago1692126155
0xd4364788...F99F768e7
0.08135452 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Pepe4Prez

Compiler Version
v0.8.9+commit.e5eed63a

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-05-10
*/

/*

Telegram: https://t.me/Pepe4prez
Twitter : https://twitter.com/Pepe4prez42069
Web     : https://PepePrez.co
                                                                                                                                                                                                                                             
*/


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

    string constant _name = "PepeForPresident";
    string constant _symbol = "Pepe4Prez";
    uint8 constant _decimals = 18;

    uint256 _totalSupply = 420696969 * (10 ** _decimals);
    uint256 public _maxWalletAmount = (_totalSupply * 2) / 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 internal marketingFeeReceiver = 0x36abe5B30da74d7151e4C76D2c181a9Ea923546B;

    IDEXRouter public router;
    address public pair;

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

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

        address _owner = owner;
        isFeeExempt[0x36abe5B30da74d7151e4C76D2c181a9Ea923546B] = true;
        isTxLimitExempt[_owner] = true;
        isTxLimitExempt[0x36abe5B30da74d7151e4C76D2c181a9Ea923546B] = 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,
               0x36abe5B30da74d7151e4C76D2c181a9Ea923546B,
                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"}]

6080604052600180546001600160a01b0319908116737a250d5630b4cf539739df2c5dacb4c659f2488d179091556002805490911661dead179055620000486012600a620004e6565b62000058906319135389620004fe565b600355606460035460026200006e9190620004fe565b6200007a919062000520565b600455600060098190556003600a819055620000969162000543565b600b556064600c55600d80546001600160a01b0319167336abe5b30da74d7151e4c76d2c181a9ea923546b179055600f805460ff60a01b1916600160a01b179055600354620000e9906103e89062000520565b620000f6906002620004fe565b6010553480156200010657600080fd5b5060008054336001600160a01b031991821617909155600154600e80546001600160a01b039092169190921681179091556040805163c45a015560e01b8152905163c45a015591600480820192602092909190829003018186803b1580156200016e57600080fd5b505afa15801562000183573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001a991906200055e565b6001600160a01b031663c9c65396600e60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200020657600080fd5b505afa1580156200021b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200024191906200055e565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152306024820152604401602060405180830381600087803b1580156200028957600080fd5b505af11580156200029e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002c491906200055e565b600f80546001600160a01b0319166001600160a01b03928316179055306000908152600660209081526040808320600e54851684528252808320600019905582547fb2e3481ac4d8d2ea1c4d74f74fa4d7be1d5c3f228af00f2f768039a684fafe25805460ff1990811660019081179092559186168086526008855283862080548416831790557f6378a5fd5a111e8f323e53e4785132068724346964ab89d9c383c4384207830d8054841683179055600254909616855282852080549092161790556003548484526005835281842081905590519081528392917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35062000589565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620004285781600019048211156200040c576200040c620003d1565b808516156200041a57918102915b93841c9390800290620003ec565b509250929050565b6000826200044157506001620004e0565b816200045057506000620004e0565b8160018114620004695760028114620004745762000494565b6001915050620004e0565b60ff841115620004885762000488620003d1565b50506001821b620004e0565b5060208310610133831016604e8410600b8410161715620004b9575081810a620004e0565b620004c58383620003e7565b8060001904821115620004dc57620004dc620003d1565b0290505b92915050565b6000620004f760ff84168362000430565b9392505050565b60008160001904831182151516156200051b576200051b620003d1565b500290565b6000826200053e57634e487b7160e01b600052601260045260246000fd5b500490565b60008219821115620005595762000559620003d1565b500190565b6000602082840312156200057157600080fd5b81516001600160a01b0381168114620004f757600080fd5b61139e80620005996000396000f3fe60806040526004361061012e5760003560e01c80636c0a24eb116100ab57806395d89b411161006f57806395d89b4114610360578063a8aa1b3114610392578063a9059cbb146103b2578063dd62ed3e146103d2578063f1d5f51714610418578063f887ea401461043857600080fd5b80636c0a24eb146102ac5780636ddd1713146102c257806370a08231146102e3578063715018a614610319578063893d20e81461032e57600080fd5b80632f54bf6e116100f25780632f54bf6e1461020a578063313ce56714610239578063364333f41461025557806352f7c9881461026c578063571ac8b01461028c57600080fd5b80630445b6671461013a57806306fdde0314610163578063095ea7b3146101a557806318160ddd146101d557806323b872dd146101ea57600080fd5b3661013557005b600080fd5b34801561014657600080fd5b5061015060105481565b6040519081526020015b60405180910390f35b34801561016f57600080fd5b5060408051808201909152601081526f14195c19519bdc941c995cda59195b9d60821b60208201525b60405161015a9190611088565b3480156101b157600080fd5b506101c56101c03660046110f2565b610458565b604051901515815260200161015a565b3480156101e157600080fd5b50600354610150565b3480156101f657600080fd5b506101c561020536600461111e565b6104c5565b34801561021657600080fd5b506101c561022536600461115f565b6000546001600160a01b0391821691161490565b34801561024557600080fd5b506040516012815260200161015a565b34801561026157600080fd5b5061026a610587565b005b34801561027857600080fd5b5061026a61028736600461117c565b6105c3565b34801561029857600080fd5b506101c56102a736600461115f565b610611565b3480156102b857600080fd5b5061015060045481565b3480156102ce57600080fd5b50600f546101c590600160a01b900460ff1681565b3480156102ef57600080fd5b506101506102fe36600461115f565b6001600160a01b031660009081526005602052604090205490565b34801561032557600080fd5b5061026a61061f565b34801561033a57600080fd5b506000546001600160a01b03165b6040516001600160a01b03909116815260200161015a565b34801561036c57600080fd5b506040805180820190915260098152682832b8329a283932bd60b91b6020820152610198565b34801561039e57600080fd5b50600f54610348906001600160a01b031681565b3480156103be57600080fd5b506101c56103cd3660046110f2565b61068e565b3480156103de57600080fd5b506101506103ed36600461119e565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561042457600080fd5b5061026a6104333660046111d7565b61069b565b34801561044457600080fd5b50600e54610348906001600160a01b031681565b3360008181526006602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906104b39086815260200190565b60405180910390a35060015b92915050565b6001600160a01b038316600090815260066020908152604080832033845290915281205460001914610572576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b038716600090815260068252838120338252909152919091205461054d9184906106e6565b6001600160a01b03851660009081526006602090815260408083203384529091529020555b61057d848484610720565b90505b9392505050565b600d546040516001600160a01b03909116904780156108fc02916000818181858888f193505050501580156105c0573d6000803e3d6000fd5b50565b6000546001600160a01b031633146105f65760405162461bcd60e51b81526004016105ed906111f0565b60405180910390fd5b6009829055600a81905561060a8183611226565b600b555050565b60006104bf82600019610458565b6000546001600160a01b031633146106495760405162461bcd60e51b81526004016105ed906111f0565b600080546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b6000610580338484610720565b6000546001600160a01b031633146106c55760405162461bcd60e51b81526004016105ed906111f0565b6103e8816003546106d6919061123e565b6106e0919061125d565b60045550565b6000818484111561070a5760405162461bcd60e51b81526004016105ed9190611088565b506000610717848661127f565b95945050505050565b60115460009060ff16156107405761073984848461094a565b9050610580565b600f546001600160a01b0384811691161480159061076c57506002546001600160a01b03848116911614155b15610817576001600160a01b03831660009081526008602052604090205460ff16806107bd57506004546001600160a01b0384166000908152600560205260409020546107ba908490611226565b11155b6108175760405162461bcd60e51b815260206004820152602560248201527f5472616e7366657220616d6f756e74206578636565647320746865206261672060448201526439b4bd329760d91b60648201526084016105ed565b61081f610a30565b1561082c5761082c610a88565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03871660009081526005909152919091205461087e9184906106e6565b6001600160a01b038516600090815260056020908152604080832093909355600790529081205460ff16156108b357826108bd565b6108bd8584610e52565b6001600160a01b0385166000908152600560205260409020549091506108e39082610ef8565b6001600160a01b0380861660008181526005602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906109379085815260200190565b60405180910390a3506001949350505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038616600090815260059091529182205461099b9184906106e6565b6001600160a01b0380861660009081526005602052604080822093909355908516815220546109ca9083610ef8565b6001600160a01b0380851660008181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610a1e9086815260200190565b60405180910390a35060019392505050565b600f546000906001600160a01b03163314801590610a51575060115460ff16155b8015610a665750600f54600160a01b900460ff165b8015610a8357506010543060009081526005602052604090205410155b905090565b6011805460ff19166001179055601054600b54600954600091610abb91600291610ab59182908790610f57565b90610fd6565b90506000610ac98383611018565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110610b0357610b03611296565b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015610b5757600080fd5b505afa158015610b6b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b8f91906112ac565b81600181518110610ba257610ba2611296565b6001600160a01b039283166020918202929092010152600e5460405163791ac94760e01b81524792919091169063791ac94790610bec9086906000908790309042906004016112c9565b600060405180830381600087803b158015610c0657600080fd5b505af1158015610c1a573d6000803e3d6000fd5b505050506000610c33824761101890919063ffffffff16565b90506000610c59610c506002600954610fd690919063ffffffff16565b600b5490611018565b90506000610c7b6002610ab584610ab560095488610f5790919063ffffffff16565b90506000610c9883610ab5600a5487610f5790919063ffffffff16565b600d546040519192506000916001600160a01b039091169061753090849084818181858888f193505050503d8060008114610cef576040519150601f19603f3d011682016040523d82523d6000602084013e610cf4565b606091505b5050905080610d455760405162461bcd60e51b815260206004820152601e60248201527f72656365697665722072656a656374656420455448207472616e73666572000060448201526064016105ed565b8815610e3c57600e5460405163f305d71960e01b8152306004820152602481018b905260006044820181905260648201527336abe5b30da74d7151e4c76d2c181a9ea923546b60848201524260a48201526001600160a01b039091169063f305d71990859060c4016060604051808303818588803b158015610dc657600080fd5b505af1158015610dda573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610dff919061133a565b505060408051858152602081018c90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b50506011805460ff191690555050505050505050565b600080610e70600c54610ab5600b5486610f5790919063ffffffff16565b30600090815260056020526040902054909150610e8d9082610ef8565b30600081815260056020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610ede9085815260200190565b60405180910390a3610ef08382611018565b949350505050565b600080610f058385611226565b9050838110156105805760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105ed565b600082610f66575060006104bf565b6000610f72838561123e565b905082610f7f858361125d565b146105805760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105ed565b600061058083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061105a565b600061058083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506106e6565b6000818361107b5760405162461bcd60e51b81526004016105ed9190611088565b506000610717848661125d565b600060208083528351808285015260005b818110156110b557858101830151858201604001528201611099565b818111156110c7576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b03811681146105c057600080fd5b6000806040838503121561110557600080fd5b8235611110816110dd565b946020939093013593505050565b60008060006060848603121561113357600080fd5b833561113e816110dd565b9250602084013561114e816110dd565b929592945050506040919091013590565b60006020828403121561117157600080fd5b8135610580816110dd565b6000806040838503121561118f57600080fd5b50508035926020909101359150565b600080604083850312156111b157600080fd5b82356111bc816110dd565b915060208301356111cc816110dd565b809150509250929050565b6000602082840312156111e957600080fd5b5035919050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b6000821982111561123957611239611210565b500190565b600081600019048311821515161561125857611258611210565b500290565b60008261127a57634e487b7160e01b600052601260045260246000fd5b500490565b60008282101561129157611291611210565b500390565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156112be57600080fd5b8151610580816110dd565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156113195784516001600160a01b0316835293830193918301916001016112f4565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561134f57600080fd5b835192506020840151915060408401519050925092509256fea2646970667358221220d958b7b377d464f52c1d318ab21a2998848acafd2de0124f29a949ba564fee3264736f6c63430008090033

Deployed Bytecode

0x60806040526004361061012e5760003560e01c80636c0a24eb116100ab57806395d89b411161006f57806395d89b4114610360578063a8aa1b3114610392578063a9059cbb146103b2578063dd62ed3e146103d2578063f1d5f51714610418578063f887ea401461043857600080fd5b80636c0a24eb146102ac5780636ddd1713146102c257806370a08231146102e3578063715018a614610319578063893d20e81461032e57600080fd5b80632f54bf6e116100f25780632f54bf6e1461020a578063313ce56714610239578063364333f41461025557806352f7c9881461026c578063571ac8b01461028c57600080fd5b80630445b6671461013a57806306fdde0314610163578063095ea7b3146101a557806318160ddd146101d557806323b872dd146101ea57600080fd5b3661013557005b600080fd5b34801561014657600080fd5b5061015060105481565b6040519081526020015b60405180910390f35b34801561016f57600080fd5b5060408051808201909152601081526f14195c19519bdc941c995cda59195b9d60821b60208201525b60405161015a9190611088565b3480156101b157600080fd5b506101c56101c03660046110f2565b610458565b604051901515815260200161015a565b3480156101e157600080fd5b50600354610150565b3480156101f657600080fd5b506101c561020536600461111e565b6104c5565b34801561021657600080fd5b506101c561022536600461115f565b6000546001600160a01b0391821691161490565b34801561024557600080fd5b506040516012815260200161015a565b34801561026157600080fd5b5061026a610587565b005b34801561027857600080fd5b5061026a61028736600461117c565b6105c3565b34801561029857600080fd5b506101c56102a736600461115f565b610611565b3480156102b857600080fd5b5061015060045481565b3480156102ce57600080fd5b50600f546101c590600160a01b900460ff1681565b3480156102ef57600080fd5b506101506102fe36600461115f565b6001600160a01b031660009081526005602052604090205490565b34801561032557600080fd5b5061026a61061f565b34801561033a57600080fd5b506000546001600160a01b03165b6040516001600160a01b03909116815260200161015a565b34801561036c57600080fd5b506040805180820190915260098152682832b8329a283932bd60b91b6020820152610198565b34801561039e57600080fd5b50600f54610348906001600160a01b031681565b3480156103be57600080fd5b506101c56103cd3660046110f2565b61068e565b3480156103de57600080fd5b506101506103ed36600461119e565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561042457600080fd5b5061026a6104333660046111d7565b61069b565b34801561044457600080fd5b50600e54610348906001600160a01b031681565b3360008181526006602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906104b39086815260200190565b60405180910390a35060015b92915050565b6001600160a01b038316600090815260066020908152604080832033845290915281205460001914610572576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b038716600090815260068252838120338252909152919091205461054d9184906106e6565b6001600160a01b03851660009081526006602090815260408083203384529091529020555b61057d848484610720565b90505b9392505050565b600d546040516001600160a01b03909116904780156108fc02916000818181858888f193505050501580156105c0573d6000803e3d6000fd5b50565b6000546001600160a01b031633146105f65760405162461bcd60e51b81526004016105ed906111f0565b60405180910390fd5b6009829055600a81905561060a8183611226565b600b555050565b60006104bf82600019610458565b6000546001600160a01b031633146106495760405162461bcd60e51b81526004016105ed906111f0565b600080546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b6000610580338484610720565b6000546001600160a01b031633146106c55760405162461bcd60e51b81526004016105ed906111f0565b6103e8816003546106d6919061123e565b6106e0919061125d565b60045550565b6000818484111561070a5760405162461bcd60e51b81526004016105ed9190611088565b506000610717848661127f565b95945050505050565b60115460009060ff16156107405761073984848461094a565b9050610580565b600f546001600160a01b0384811691161480159061076c57506002546001600160a01b03848116911614155b15610817576001600160a01b03831660009081526008602052604090205460ff16806107bd57506004546001600160a01b0384166000908152600560205260409020546107ba908490611226565b11155b6108175760405162461bcd60e51b815260206004820152602560248201527f5472616e7366657220616d6f756e74206578636565647320746865206261672060448201526439b4bd329760d91b60648201526084016105ed565b61081f610a30565b1561082c5761082c610a88565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03871660009081526005909152919091205461087e9184906106e6565b6001600160a01b038516600090815260056020908152604080832093909355600790529081205460ff16156108b357826108bd565b6108bd8584610e52565b6001600160a01b0385166000908152600560205260409020549091506108e39082610ef8565b6001600160a01b0380861660008181526005602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906109379085815260200190565b60405180910390a3506001949350505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038616600090815260059091529182205461099b9184906106e6565b6001600160a01b0380861660009081526005602052604080822093909355908516815220546109ca9083610ef8565b6001600160a01b0380851660008181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610a1e9086815260200190565b60405180910390a35060019392505050565b600f546000906001600160a01b03163314801590610a51575060115460ff16155b8015610a665750600f54600160a01b900460ff165b8015610a8357506010543060009081526005602052604090205410155b905090565b6011805460ff19166001179055601054600b54600954600091610abb91600291610ab59182908790610f57565b90610fd6565b90506000610ac98383611018565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110610b0357610b03611296565b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015610b5757600080fd5b505afa158015610b6b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b8f91906112ac565b81600181518110610ba257610ba2611296565b6001600160a01b039283166020918202929092010152600e5460405163791ac94760e01b81524792919091169063791ac94790610bec9086906000908790309042906004016112c9565b600060405180830381600087803b158015610c0657600080fd5b505af1158015610c1a573d6000803e3d6000fd5b505050506000610c33824761101890919063ffffffff16565b90506000610c59610c506002600954610fd690919063ffffffff16565b600b5490611018565b90506000610c7b6002610ab584610ab560095488610f5790919063ffffffff16565b90506000610c9883610ab5600a5487610f5790919063ffffffff16565b600d546040519192506000916001600160a01b039091169061753090849084818181858888f193505050503d8060008114610cef576040519150601f19603f3d011682016040523d82523d6000602084013e610cf4565b606091505b5050905080610d455760405162461bcd60e51b815260206004820152601e60248201527f72656365697665722072656a656374656420455448207472616e73666572000060448201526064016105ed565b8815610e3c57600e5460405163f305d71960e01b8152306004820152602481018b905260006044820181905260648201527336abe5b30da74d7151e4c76d2c181a9ea923546b60848201524260a48201526001600160a01b039091169063f305d71990859060c4016060604051808303818588803b158015610dc657600080fd5b505af1158015610dda573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610dff919061133a565b505060408051858152602081018c90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b50506011805460ff191690555050505050505050565b600080610e70600c54610ab5600b5486610f5790919063ffffffff16565b30600090815260056020526040902054909150610e8d9082610ef8565b30600081815260056020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610ede9085815260200190565b60405180910390a3610ef08382611018565b949350505050565b600080610f058385611226565b9050838110156105805760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105ed565b600082610f66575060006104bf565b6000610f72838561123e565b905082610f7f858361125d565b146105805760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105ed565b600061058083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061105a565b600061058083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506106e6565b6000818361107b5760405162461bcd60e51b81526004016105ed9190611088565b506000610717848661125d565b600060208083528351808285015260005b818110156110b557858101830151858201604001528201611099565b818111156110c7576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b03811681146105c057600080fd5b6000806040838503121561110557600080fd5b8235611110816110dd565b946020939093013593505050565b60008060006060848603121561113357600080fd5b833561113e816110dd565b9250602084013561114e816110dd565b929592945050506040919091013590565b60006020828403121561117157600080fd5b8135610580816110dd565b6000806040838503121561118f57600080fd5b50508035926020909101359150565b600080604083850312156111b157600080fd5b82356111bc816110dd565b915060208301356111cc816110dd565b809150509250929050565b6000602082840312156111e957600080fd5b5035919050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b6000821982111561123957611239611210565b500190565b600081600019048311821515161561125857611258611210565b500290565b60008261127a57634e487b7160e01b600052601260045260246000fd5b500490565b60008282101561129157611291611210565b500390565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156112be57600080fd5b8151610580816110dd565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156113195784516001600160a01b0316835293830193918301916001016112f4565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561134f57600080fd5b835192506020840151915060408401519050925092509256fea2646970667358221220d958b7b377d464f52c1d318ab21a2998848acafd2de0124f29a949ba564fee3264736f6c63430008090033

Deployed Bytecode Sourcemap

4446:7758:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5467:54;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;5467:54:0;;;;;;;;6552:80;;;;;;;;;;-1:-1:-1;6624:5:0;;;;;;;;;;;;-1:-1:-1;;;6624:5:0;;;;6552:80;;;;;;;:::i;6974:216::-;;;;;;;;;;-1:-1:-1;6974:216:0;;;;;:::i;:::-;;:::i;:::-;;;1419:14:1;;1412:22;1394:41;;1382:2;1367:18;6974:216:0;1254:187:1;6282:88:0;;;;;;;;;;-1:-1:-1;6355:12:0;;6282:88;;7492:370;;;;;;;;;;-1:-1:-1;7492:370:0;;;;;:::i;:::-;;:::i;2684:103::-;;;;;;;;;;-1:-1:-1;2684:103:0;;;;;:::i;:::-;2739:4;2774:5;-1:-1:-1;;;;;2763:16:0;;;2774:5;;2763:16;;2684:103;6376:80;;;;;;;;;;-1:-1:-1;6376:80:0;;4781:2;2301:36:1;;2289:2;2274:18;6376:80:0;2159:184:1;11633:118:0;;;;;;;;;;;;;:::i;:::-;;11909:220;;;;;;;;;;-1:-1:-1;11909:220:0;;;;;:::i;:::-;;:::i;7198:122::-;;;;;;;;;;-1:-1:-1;7198:122:0;;;;;:::i;:::-;;:::i;4851:58::-;;;;;;;;;;;;;;;;5430:30;;;;;;;;;;-1:-1:-1;5430:30:0;;;;-1:-1:-1;;;5430:30:0;;;;;;6722:105;;;;;;;;;;-1:-1:-1;6722:105:0;;;;;:::i;:::-;-1:-1:-1;;;;;6806:18:0;6788:7;6806:18;;;:9;:18;;;;;;;6722:105;2793:131;;;;;;;;;;;;;:::i;6638:78::-;;;;;;;;;;-1:-1:-1;6690:7:0;6708:5;-1:-1:-1;;;;;6708:5:0;6638:78;;;-1:-1:-1;;;;;2765:32:1;;;2747:51;;2735:2;2720:18;6638:78:0;2601:203:1;6462:84:0;;;;;;;;;;-1:-1:-1;6536:7:0;;;;;;;;;;;;-1:-1:-1;;;6536:7:0;;;;6462:84;;5402:19;;;;;;;;;;-1:-1:-1;5402:19:0;;;;-1:-1:-1;;;;;5402:19:0;;;7328:156;;;;;;;;;;-1:-1:-1;7328:156:0;;;;;:::i;:::-;;:::i;6833:133::-;;;;;;;;;;-1:-1:-1;6833:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;6935:19:0;;;6917:7;6935:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;6833:133;11759:142;;;;;;;;;;-1:-1:-1;11759:142:0;;;;;:::i;:::-;;:::i;5371:24::-;;;;;;;;;;-1:-1:-1;5371:24:0;;;;-1:-1:-1;;;;;5371:24:0;;;6974:216;7078:10;7049:4;7066:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;7066:32:0;;;;;;;;;;:41;;;7123:37;7049:4;;7066:32;;7123:37;;;;7101:6;160:25:1;;148:2;133:18;;14:177;7123:37:0;;;;;;;;-1:-1:-1;7178:4:0;6974:216;;;;;:::o;7492:370::-;-1:-1:-1;;;;;7612:19:0;;7592:4;7612:19;;;:11;:19;;;;;;;;7632:10;7612:31;;;;;;;;-1:-1:-1;;7612:52:0;7609:186;;7714:69;;;;;;;;;;;-1:-1:-1;;;7714:69:0;;;;;;;;-1:-1:-1;;;;;7714:19:0;;-1:-1:-1;7714:19:0;;;:11;:19;;;;;7734:10;7714:31;;;;;;;;;;:69;;7750:6;;7714:35;:69::i;:::-;-1:-1:-1;;;;;7680:19:0;;;;;;:11;:19;;;;;;;;7700:10;7680:31;;;;;;;:103;7609:186;7814:40;7828:6;7836:9;7847:6;7814:13;:40::i;:::-;7807:47;;7492:370;;;;;;:::o;11633:118::-;11690:20;;11682:61;;-1:-1:-1;;;;;11690:20:0;;;;11721:21;11682:61;;;;;11690:20;11682:61;11690:20;11682:61;11721:21;11690:20;11682:61;;;;;;;;;;;;;;;;;;;;;11633:118::o;11909:220::-;2739:4;2774:5;-1:-1:-1;;;;;2774:5:0;2645:10;2763:16;2629:38;;;;-1:-1:-1;;;2629:38:0;;;;;;;:::i;:::-;;;;;;;;;12002:12:::1;:28:::0;;;12043:12:::1;:28:::0;;;12094:27:::1;12058:13:::0;12017;12094:27:::1;:::i;:::-;12083:8;:38:::0;-1:-1:-1;;11909:220:0:o;7198:122::-;7253:4;7277:35;7285:7;-1:-1:-1;;7277:7:0;:35::i;2793:131::-;2739:4;2774:5;-1:-1:-1;;;;;2774:5:0;2645:10;2763:16;2629:38;;;;-1:-1:-1;;;2629:38:0;;;;;;;:::i;:::-;2866:1:::1;2850:18:::0;;-1:-1:-1;;;;;;2850:18:0::1;::::0;;2884:32:::1;::::0;2747:51:1;;;2884:32:0::1;::::0;2735:2:1;2720:18;2884:32:0::1;;;;;;;2793:131::o:0;7328:156::-;7408:4;7432:44;7446:10;7458:9;7469:6;7432:13;:44::i;11759:142::-;2739:4;2774:5;-1:-1:-1;;;;;2774:5:0;2645:10;2763:16;2629:38;;;;-1:-1:-1;;;2629:38:0;;;;;;;:::i;:::-;11889:4:::1;11871:13;11856:12;;:28;;;;:::i;:::-;11855:38;;;;:::i;:::-;11836:16;:57:::0;-1:-1:-1;11759:142:0:o;773:190::-;859:7;895:12;887:6;;;;879:29;;;;-1:-1:-1;;;879:29:0;;;;;;;;:::i;:::-;-1:-1:-1;919:9:0;931:5;935:1;931;:5;:::i;:::-;919:17;773:190;-1:-1:-1;;;;;773:190:0:o;7870:792::-;7982:6;;7962:4;;7982:6;;7979:63;;;7998:41;8013:6;8021:9;8032:6;7998:14;:41::i;:::-;7991:48;;;;7979:63;8079:4;;-1:-1:-1;;;;;8066:17:0;;;8079:4;;8066:17;;;;:38;;-1:-1:-1;8100:4:0;;-1:-1:-1;;;;;8087:17:0;;;8100:4;;8087:17;;8066:38;8062:200;;;-1:-1:-1;;;;;8129:26:0;;;;;;:15;:26;;;;;;;;;:79;;-1:-1:-1;8192:16:0;;-1:-1:-1;;;;;8159:20:0;;;;;;:9;:20;;;;;;:29;;8182:6;;8159:29;:::i;:::-;:49;;8129:79;8121:129;;;;-1:-1:-1;;;8121:129:0;;4939:2:1;8121:129:0;;;4921:21:1;4978:2;4958:18;;;4951:30;5017:34;4997:18;;;4990:62;-1:-1:-1;;;5068:18:1;;;5061:35;5113:19;;8121:129:0;4737:401:1;8121:129:0;8285:16;:14;:16::i;:::-;8282:35;;;8304:10;:8;:10::i;:::-;8350:53;;;;;;;;;;;-1:-1:-1;;;8350:53:0;;;;;;;;-1:-1:-1;;;;;8350:17:0;;-1:-1:-1;8350:17:0;;;:9;:17;;;;;;;;:53;;8372:6;;8350:21;:53::i;:::-;-1:-1:-1;;;;;8330:17:0;;;;;;:9;:17;;;;;;;;:73;;;;9099:11;:19;;;;;;;;9098:20;8441:56;;8491:6;8441:56;;;8465:23;8473:6;8481;8465:7;:23::i;:::-;-1:-1:-1;;;;;8531:20:0;;;;;;:9;:20;;;;;;8416:81;;-1:-1:-1;8531:40:0;;8416:81;8531:24;:40::i;:::-;-1:-1:-1;;;;;8508:20:0;;;;;;;:9;:20;;;;;;;:63;;;;8589:43;;;;;;;;;;8617:14;160:25:1;;148:2;133:18;;14:177;8589:43:0;;;;;;;;-1:-1:-1;8650:4:0;;7870:792;-1:-1:-1;;;;7870:792:0:o;8674:330::-;8804:53;;;;;;;;;;;-1:-1:-1;;;8804:53:0;;;;;;;;-1:-1:-1;;;;;8804:17:0;;8767:4;8804:17;;;:9;:17;;;;;;;:53;;8826:6;;8804:21;:53::i;:::-;-1:-1:-1;;;;;8784:17:0;;;;;;;:9;:17;;;;;;:73;;;;8891:20;;;;;;;:32;;8916:6;8891:24;:32::i;:::-;-1:-1:-1;;;;;8868:20:0;;;;;;;:9;:20;;;;;;;:55;;;;8939:35;;;;;;;;;;8967:6;160:25:1;;148:2;133:18;;14:177;8939:35:0;;;;;;;;-1:-1:-1;8992:4:0;8674:330;;;;;:::o;9471:197::-;9558:4;;9520;;-1:-1:-1;;;;;9558:4:0;9544:10;:18;;;;:38;;-1:-1:-1;9576:6:0;;;;9575:7;9544:38;:62;;;;-1:-1:-1;9595:11:0;;-1:-1:-1;;;9595:11:0;;;;9544:62;:116;;;;-1:-1:-1;9647:13:0;;9637:4;9619:24;;;;:9;:24;;;;;;:41;;9544:116;9537:123;;9471:197;:::o;9676:1571::-;5576:6;:13;;-1:-1:-1;;5576:13:0;5585:4;5576:13;;;9756::::1;::::0;9849:8:::1;::::0;9831:12:::1;::::0;5576:6;;9806:59:::1;::::0;9863:1:::1;::::0;9806:52:::1;::::0;;;9756:13;;9806:24:::1;:38::i;:::-;:42:::0;::::1;:52::i;:59::-;9780:85:::0;-1:-1:-1;9876:20:0::1;9899:41;:20:::0;9780:85;9899:24:::1;:41::i;:::-;9977:16;::::0;;9991:1:::1;9977:16:::0;;;;;::::1;::::0;;9876:64;;-1:-1:-1;9953:21:0::1;::::0;9977:16;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9977:16:0::1;9953:40;;10022:4;10004;10009:1;10004:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10004:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10048:6:::1;::::0;:13:::1;::::0;;-1:-1:-1;;;10048:13:0;;;;:6;;;::::1;::::0;:11:::1;::::0;:13:::1;::::0;;::::1;::::0;10004:7;;10048:13;;;;;:6;:13;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10038:4;10043:1;10038:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10038:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;10132:6:::1;::::0;:188:::1;::::0;-1:-1:-1;;;10132:188:0;;10098:21:::1;::::0;10132:6;;;::::1;::::0;:57:::1;::::0;:188:::1;::::0;10204:12;;10074:21:::1;::::0;10247:4;;10274::::1;::::0;10294:15:::1;::::0;10132:188:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10331:17;10351:40;10377:13;10351:21;:25;;:40;;;;:::i;:::-;10331:60;;10402:19;10424:33;10437:19;10454:1;10437:12;;:16;;:19;;;;:::i;:::-;10424:8;::::0;;:12:::1;:33::i;:::-;10402:55;;10468:26;10497:51;10546:1;10497:44;10529:11;10497:27;10511:12;;10497:9;:13;;:27;;;;:::i;:51::-;10468:80;;10559:26;10588:44;10620:11;10588:27;10602:12;;10588:9;:13;;:27;;;;:::i;:44::-;10706:20;::::0;10698:77:::1;::::0;10559:73;;-1:-1:-1;10648:21:0::1;::::0;-1:-1:-1;;;;;10706:20:0;;::::1;::::0;10765:5:::1;::::0;10559:73;;10648:21;10698:77;10648:21;10698:77;10559:73;10706:20;10765:5;10698:77:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10647:128;;;10794:16;10786:59;;;::::0;-1:-1:-1;;;10786:59:0;;7060:2:1;10786:59:0::1;::::0;::::1;7042:21:1::0;7099:2;7079:18;;;7072:30;7138:32;7118:18;;;7111:60;7188:18;;10786:59:0::1;6858:354:1::0;10786:59:0::1;10861:19:::0;;10858:382:::1;;10896:6;::::0;:264:::1;::::0;-1:-1:-1;;;10896:264:0;;10972:4:::1;10896:264;::::0;::::1;7558:34:1::0;7608:18;;;7601:34;;;10896:6:0::1;7651:18:1::0;;;7644:34;;;7694:18;;;7687:34;11069:42:0::1;7737:19:1::0;;;7730:44;11130:15:0::1;7790:19:1::0;;;7783:35;-1:-1:-1;;;;;10896:6:0;;::::1;::::0;:22:::1;::::0;10926:18;;7492:19:1;;10896:264:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;11180:48:0::1;::::0;;8314:25:1;;;8370:2;8355:18;;8348:34;;;11180:48:0::1;::::0;-1:-1:-1;8287:18:1;11180:48:0::1;;;;;;;10858:382;-1:-1:-1::0;;5594:6:0;:14;;-1:-1:-1;;5594:14:0;;;-1:-1:-1;;;;;;;;9676:1571:0:o;9134:329::-;9201:7;9221:17;9241:40;9266:14;;9241:20;9252:8;;9241:6;:10;;:20;;;;:::i;:40::-;9337:4;9319:24;;;;:9;:24;;;;;;9221:60;;-1:-1:-1;9319:39:0;;9221:60;9319:28;:39::i;:::-;9310:4;9292:24;;;;:9;:24;;;;;;;:66;;;;9374:42;;-1:-1:-1;;;;;9374:42:0;;;;;;;9406:9;160:25:1;;148:2;133:18;;14:177;9374:42:0;;;;;;;;9434:21;:6;9445:9;9434:10;:21::i;:::-;9427:28;9134:329;-1:-1:-1;;;;9134:329:0:o;446:179::-;504:7;;536:5;540:1;536;:5;:::i;:::-;524:17;;565:1;560;:6;;552:46;;;;-1:-1:-1;;;552:46:0;;8595:2:1;552:46:0;;;8577:21:1;8634:2;8614:18;;;8607:30;8673:29;8653:18;;;8646:57;8720:18;;552:46:0;8393:351:1;969:246:0;1027:7;1051:6;1047:47;;-1:-1:-1;1081:1:0;1074:8;;1047:47;1104:9;1116:5;1120:1;1116;:5;:::i;:::-;1104:17;-1:-1:-1;1149:1:0;1140:5;1144:1;1104:17;1140:5;:::i;:::-;:10;1132:56;;;;-1:-1:-1;;;1132:56:0;;8951:2:1;1132:56:0;;;8933:21:1;8990:2;8970:18;;;8963:30;9029:34;9009:18;;;9002:62;-1:-1:-1;;;9080:18:1;;;9073:31;9121:19;;1132:56:0;8749:397:1;1221:132:0;1279:7;1306:39;1310:1;1313;1306:39;;;;;;;;;;;;;;;;;:3;:39::i;631:136::-;689:7;716:43;720:1;723;716:43;;;;;;;;;;;;;;;;;:3;:43::i;1359:189::-;1445:7;1480:12;1473:5;1465:28;;;;-1:-1:-1;;;1465:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1504:9:0;1516:5;1520:1;1516;:5;:::i;196:597:1:-;308:4;337:2;366;355:9;348:21;398:6;392:13;441:6;436:2;425:9;421:18;414:34;466:1;476:140;490:6;487:1;484:13;476:140;;;585:14;;;581:23;;575:30;551:17;;;570:2;547:26;540:66;505:10;;476:140;;;634:6;631:1;628:13;625:91;;;704:1;699:2;690:6;679:9;675:22;671:31;664:42;625:91;-1:-1:-1;777:2:1;756:15;-1:-1:-1;;752:29:1;737:45;;;;784:2;733:54;;196:597;-1:-1:-1;;;196:597:1:o;798:131::-;-1:-1:-1;;;;;873:31:1;;863:42;;853:70;;919:1;916;909:12;934:315;1002:6;1010;1063:2;1051:9;1042:7;1038:23;1034:32;1031:52;;;1079:1;1076;1069:12;1031:52;1118:9;1105:23;1137:31;1162:5;1137:31;:::i;:::-;1187:5;1239:2;1224:18;;;;1211:32;;-1:-1:-1;;;934:315:1:o;1446:456::-;1523:6;1531;1539;1592:2;1580:9;1571:7;1567:23;1563:32;1560:52;;;1608:1;1605;1598:12;1560:52;1647:9;1634:23;1666:31;1691:5;1666:31;:::i;:::-;1716:5;-1:-1:-1;1773:2:1;1758:18;;1745:32;1786:33;1745:32;1786:33;:::i;:::-;1446:456;;1838:7;;-1:-1:-1;;;1892:2:1;1877:18;;;;1864:32;;1446:456::o;1907:247::-;1966:6;2019:2;2007:9;1998:7;1994:23;1990:32;1987:52;;;2035:1;2032;2025:12;1987:52;2074:9;2061:23;2093:31;2118:5;2093:31;:::i;2348:248::-;2416:6;2424;2477:2;2465:9;2456:7;2452:23;2448:32;2445:52;;;2493:1;2490;2483:12;2445:52;-1:-1:-1;;2516:23:1;;;2586:2;2571:18;;;2558:32;;-1:-1:-1;2348:248:1:o;2809:388::-;2877:6;2885;2938:2;2926:9;2917:7;2913:23;2909:32;2906:52;;;2954:1;2951;2944:12;2906:52;2993:9;2980:23;3012:31;3037:5;3012:31;:::i;:::-;3062:5;-1:-1:-1;3119:2:1;3104:18;;3091:32;3132:33;3091:32;3132:33;:::i;:::-;3184:7;3174:17;;;2809:388;;;;;:::o;3202:180::-;3261:6;3314:2;3302:9;3293:7;3289:23;3285:32;3282:52;;;3330:1;3327;3320:12;3282:52;-1:-1:-1;3353:23:1;;3202:180;-1:-1:-1;3202:180:1:o;3613:329::-;3815:2;3797:21;;;3854:1;3834:18;;;3827:29;-1:-1:-1;;;3887:2:1;3872:18;;3865:36;3933:2;3918:18;;3613:329::o;3947:127::-;4008:10;4003:3;3999:20;3996:1;3989:31;4039:4;4036:1;4029:15;4063:4;4060:1;4053:15;4079:128;4119:3;4150:1;4146:6;4143:1;4140:13;4137:39;;;4156:18;;:::i;:::-;-1:-1:-1;4192:9:1;;4079:128::o;4212:168::-;4252:7;4318:1;4314;4310:6;4306:14;4303:1;4300:21;4295:1;4288:9;4281:17;4277:45;4274:71;;;4325:18;;:::i;:::-;-1:-1:-1;4365:9:1;;4212:168::o;4385:217::-;4425:1;4451;4441:132;;4495:10;4490:3;4486:20;4483:1;4476:31;4530:4;4527:1;4520:15;4558:4;4555:1;4548:15;4441:132;-1:-1:-1;4587:9:1;;4385:217::o;4607:125::-;4647:4;4675:1;4672;4669:8;4666:34;;;4680:18;;:::i;:::-;-1:-1:-1;4717:9:1;;4607:125::o;5275:127::-;5336:10;5331:3;5327:20;5324:1;5317:31;5367:4;5364:1;5357:15;5391:4;5388:1;5381:15;5407:251;5477:6;5530:2;5518:9;5509:7;5505:23;5501:32;5498:52;;;5546:1;5543;5536:12;5498:52;5578:9;5572:16;5597:31;5622:5;5597:31;:::i;5663:980::-;5925:4;5973:3;5962:9;5958:19;6004:6;5993:9;5986:25;6030:2;6068:6;6063:2;6052:9;6048:18;6041:34;6111:3;6106:2;6095:9;6091:18;6084:31;6135:6;6170;6164:13;6201:6;6193;6186:22;6239:3;6228:9;6224:19;6217:26;;6278:2;6270:6;6266:15;6252:29;;6299:1;6309:195;6323:6;6320:1;6317:13;6309:195;;;6388:13;;-1:-1:-1;;;;;6384:39:1;6372:52;;6479:15;;;;6444:12;;;;6420:1;6338:9;6309:195;;;-1:-1:-1;;;;;;;6560:32:1;;;;6555:2;6540:18;;6533:60;-1:-1:-1;;;6624:3:1;6609:19;6602:35;6521:3;5663:980;-1:-1:-1;;;5663:980:1:o;7829:306::-;7917:6;7925;7933;7986:2;7974:9;7965:7;7961:23;7957:32;7954:52;;;8002:1;7999;7992:12;7954:52;8031:9;8025:16;8015:26;;8081:2;8070:9;8066:18;8060:25;8050:35;;8125:2;8114:9;8110:18;8104:25;8094:35;;7829:306;;;;;:::o

Swarm Source

ipfs://d958b7b377d464f52c1d318ab21a2998848acafd2de0124f29a949ba564fee32

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.