ETH Price: $3,166.84 (-7.37%)
Gas: 5 Gwei

Contract

0x509d4df6b7977Fc2D76E19AA9304AA5391957AD6
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve201943492024-06-29 2:26:1126 days ago1719627971IN
0x509d4df6...391957AD6
0 ETH0.000035361.46352992
Approve191029422024-01-28 5:25:59179 days ago1706419559IN
0x509d4df6...391957AD6
0 ETH0.0004741210.2743731
Approve169901772023-04-06 14:33:23476 days ago1680791603IN
0x509d4df6...391957AD6
0 ETH0.0006891928.52380431
Approve169867942023-04-06 2:52:11476 days ago1680749531IN
0x509d4df6...391957AD6
0 ETH0.0017684238.28250067
Approve168494742023-03-17 19:02:11495 days ago1679079731IN
0x509d4df6...391957AD6
0 ETH0.0007834832.42624266
Approve168392722023-03-16 8:37:47497 days ago1678955867IN
0x509d4df6...391957AD6
0 ETH0.0007289315.67393503
Approve168223612023-03-13 23:33:35499 days ago1678750415IN
0x509d4df6...391957AD6
0 ETH0.0009818121.13894927
Approve168206812023-03-13 17:54:47499 days ago1678730087IN
0x509d4df6...391957AD6
0 ETH0.001466331.57014528
Approve168202162023-03-13 16:20:35500 days ago1678724435IN
0x509d4df6...391957AD6
0 ETH0.0025909955.78506314
Approve168182632023-03-13 9:45:23500 days ago1678700723IN
0x509d4df6...391957AD6
0 ETH0.0013646329.38109501
Approve168182082023-03-13 9:33:59500 days ago1678700039IN
0x509d4df6...391957AD6
0 ETH0.0012764427.48240805
Approve168168712023-03-13 5:04:59500 days ago1678683899IN
0x509d4df6...391957AD6
0 ETH0.0007866516.91507956
Approve168162712023-03-13 3:03:35500 days ago1678676615IN
0x509d4df6...391957AD6
0 ETH0.0010077221.69663013
Approve168158302023-03-13 1:34:23500 days ago1678671263IN
0x509d4df6...391957AD6
0 ETH0.0010256122.08190973
Approve168157402023-03-13 1:16:23500 days ago1678670183IN
0x509d4df6...391957AD6
0 ETH0.0014900632.08169752
Approve168156872023-03-13 1:05:47500 days ago1678669547IN
0x509d4df6...391957AD6
0 ETH0.0014399731.00319205
Approve168156382023-03-13 0:55:59500 days ago1678668959IN
0x509d4df6...391957AD6
0 ETH0.0013766929.64068849
Approve168148452023-03-12 22:13:59500 days ago1678659239IN
0x509d4df6...391957AD6
0 ETH0.001348729.00063872
Approve168147952023-03-12 22:03:59500 days ago1678658639IN
0x509d4df6...391957AD6
0 ETH0.0018409739.6368517
Approve168147352023-03-12 21:51:23500 days ago1678657883IN
0x509d4df6...391957AD6
0 ETH0.0008338717.93046427
Approve168147342023-03-12 21:51:11500 days ago1678657871IN
0x509d4df6...391957AD6
0 ETH0.0009277919.95
Approve168147092023-03-12 21:46:11500 days ago1678657571IN
0x509d4df6...391957AD6
0 ETH0.000926419.94578511
Approve168145882023-03-12 21:21:23500 days ago1678656083IN
0x509d4df6...391957AD6
0 ETH0.00088519.05449427
Approve168145242023-03-12 21:08:35500 days ago1678655315IN
0x509d4df6...391957AD6
0 ETH0.0010860123.38238728
Approve168144502023-03-12 20:53:47500 days ago1678654427IN
0x509d4df6...391957AD6
0 ETH0.0010475422.55401448
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
191029442024-01-28 5:26:23179 days ago1706419583
0x509d4df6...391957AD6
0.001851 ETH
191029442024-01-28 5:26:23179 days ago1706419583
0x509d4df6...391957AD6
0.001851 ETH
170040802023-04-08 13:50:11474 days ago1680961811
0x509d4df6...391957AD6
0.00232904 ETH
170040802023-04-08 13:50:11474 days ago1680961811
0x509d4df6...391957AD6
0.00232904 ETH
168377512023-03-16 3:29:59497 days ago1678937399
0x509d4df6...391957AD6
0.0025194 ETH
168377512023-03-16 3:29:59497 days ago1678937399
0x509d4df6...391957AD6
0.0025194 ETH
168223622023-03-13 23:33:47499 days ago1678750427
0x509d4df6...391957AD6
0.00275536 ETH
168223622023-03-13 23:33:47499 days ago1678750427
0x509d4df6...391957AD6
0.00275536 ETH
168189292023-03-13 11:59:35500 days ago1678708775
0x509d4df6...391957AD6
0.00340818 ETH
168189292023-03-13 11:59:35500 days ago1678708775
0x509d4df6...391957AD6
0.00340818 ETH
168171652023-03-13 6:03:59500 days ago1678687439
0x509d4df6...391957AD6
0.0039125 ETH
168171652023-03-13 6:03:59500 days ago1678687439
0x509d4df6...391957AD6
0.0039125 ETH
168165632023-03-13 4:02:59500 days ago1678680179
0x509d4df6...391957AD6
0.00457885 ETH
168165632023-03-13 4:02:59500 days ago1678680179
0x509d4df6...391957AD6
0.00457885 ETH
168165592023-03-13 4:01:59500 days ago1678680119
0x509d4df6...391957AD6
0.00515618 ETH
168165592023-03-13 4:01:59500 days ago1678680119
0x509d4df6...391957AD6
0.00515618 ETH
168162812023-03-13 3:05:35500 days ago1678676735
0x509d4df6...391957AD6
0.00531779 ETH
168162812023-03-13 3:05:35500 days ago1678676735
0x509d4df6...391957AD6
0.00531779 ETH
168158352023-03-13 1:35:23500 days ago1678671323
0x509d4df6...391957AD6
0.00537749 ETH
168158352023-03-13 1:35:23500 days ago1678671323
0x509d4df6...391957AD6
0.00537749 ETH
168157452023-03-13 1:17:23500 days ago1678670243
0x509d4df6...391957AD6
0.00630682 ETH
168157452023-03-13 1:17:23500 days ago1678670243
0x509d4df6...391957AD6
0.00630682 ETH
168157062023-03-13 1:09:35500 days ago1678669775
0x509d4df6...391957AD6
0.00600632 ETH
168157062023-03-13 1:09:35500 days ago1678669775
0x509d4df6...391957AD6
0.00600632 ETH
168150152023-03-12 22:48:23500 days ago1678661303
0x509d4df6...391957AD6
0.00420131 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
BoneScan

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

/**

🦴 https://t.me/BoneScanPortal
🦴 https://twitter.com/BoneScanERC
🦴 https://www.bonescan.io/

*/

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

    string constant _name = "Bone Scan";
    string constant _symbol = unicode"BONES";
    uint8 constant _decimals = 9;

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

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

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

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

    address public  marketingFeeReceiver = 0xE514E9e0A96356B46068E91c4C58E67519a60E2b;

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

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

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

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

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

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

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountETH","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountBOG","type":"uint256"}],"name":"AutoLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"name":"approveMax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"clearStuckBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidityFee","type":"uint256"},{"internalType":"uint256","name":"_marketingFee","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountPercent","type":"uint256"}],"name":"setWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600180546001600160a01b0319908116737a250d5630b4cf539739df2c5dacb4c659f2488d179091556002805490911661dead179055620000486009600a62000489565b6200005790620f42406200054a565b600355606460035460646200006d91906200054a565b6200007991906200041d565b600455600060098190556003600a819055620000959162000402565b600b556064600c55600d80546001600160a01b03191673e514e9e0a96356b46068e91c4c58e67519a60e2b179055600f805460ff60a01b1916600160a01b179055600354620000e8906103e8906200041d565b620000f59060016200054a565b6010553480156200010557600080fd5b5060008054336001600160a01b031991821617909155600154600e80546001600160a01b039092169190921681179091556040805163c45a015560e01b8152905163c45a015591600480820192602092909190829003018186803b1580156200016d57600080fd5b505afa15801562000182573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001a89190620003d0565b6001600160a01b031663c9c65396600e60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200020557600080fd5b505afa1580156200021a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002409190620003d0565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152306024820152604401602060405180830381600087803b1580156200028857600080fd5b505af11580156200029d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002c39190620003d0565b600f80546001600160a01b0319166001600160a01b03928316179055306000908152600660209081526040808320600e54851684528252808320600019905582547f0ff16a57894c8116bf02a790ece6797dded1843b983645377ffa2d7b7875ef4c805460ff1990811660019081179092559186168086526008855283862080548416831790557f6dafbb79f75f64a804e06923f745ff31d064cf60a9b8e0edd02caa83c90235338054841683179055600254909616855282852080549092161790556003548484526005835281842081905590519081528392917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35062000582565b600060208284031215620003e357600080fd5b81516001600160a01b0381168114620003fb57600080fd5b9392505050565b600082198211156200041857620004186200056c565b500190565b6000826200043b57634e487b7160e01b600052601260045260246000fd5b500490565b600181815b80851115620004815781600019048211156200046557620004656200056c565b808516156200047357918102915b93841c939080029062000445565b509250929050565b6000620003fb60ff841683600082620004a55750600162000544565b81620004b45750600062000544565b8160018114620004cd5760028114620004d857620004f8565b600191505062000544565b60ff841115620004ec57620004ec6200056c565b50506001821b62000544565b5060208310610133831016604e8410600b84101617156200051d575081810a62000544565b62000529838362000440565b80600019048211156200054057620005406200056c565b0290505b92915050565b60008160001904831182151516156200056757620005676200056c565b500290565b634e487b7160e01b600052601160045260246000fd5b6113be80620005926000396000f3fe6080604052600436106101395760003560e01c80636ddd1713116100ab578063a8aa1b311161006f578063a8aa1b3114610392578063a9059cbb146103b2578063dd62ed3e146103d2578063e96fada214610418578063f1d5f51714610438578063f887ea401461045857600080fd5b80636ddd1713146102c657806370a08231146102e7578063715018a61461031d578063893d20e81461033257806395d89b411461036457600080fd5b80632f54bf6e116100fd5780632f54bf6e1461020e578063313ce5671461023d578063364333f41461025957806352f7c98814610270578063571ac8b0146102905780636c0a24eb146102b057600080fd5b80630445b6671461014557806306fdde031461016e578063095ea7b3146101a957806318160ddd146101d957806323b872dd146101ee57600080fd5b3661014057005b600080fd5b34801561015157600080fd5b5061015b60105481565b6040519081526020015b60405180910390f35b34801561017a57600080fd5b506040805180820190915260098152682137b7329029b1b0b760b91b60208201525b60405161016591906111f1565b3480156101b557600080fd5b506101c96101c436600461115c565b610478565b6040519015158152602001610165565b3480156101e557600080fd5b5060035461015b565b3480156101fa57600080fd5b506101c961020936600461111b565b6104e5565b34801561021a57600080fd5b506101c96102293660046110a8565b6000546001600160a01b0391821691161490565b34801561024957600080fd5b5060405160098152602001610165565b34801561026557600080fd5b5061026e6105a7565b005b34801561027c57600080fd5b5061026e61028b3660046111a1565b6105e3565b34801561029c57600080fd5b506101c96102ab3660046110a8565b610631565b3480156102bc57600080fd5b5061015b60045481565b3480156102d257600080fd5b50600f546101c990600160a01b900460ff1681565b3480156102f357600080fd5b5061015b6103023660046110a8565b6001600160a01b031660009081526005602052604090205490565b34801561032957600080fd5b5061026e61063f565b34801561033e57600080fd5b506000546001600160a01b03165b6040516001600160a01b039091168152602001610165565b34801561037057600080fd5b50604080518082019091526005815264424f4e455360d81b602082015261019c565b34801561039e57600080fd5b50600f5461034c906001600160a01b031681565b3480156103be57600080fd5b506101c96103cd36600461115c565b6106ae565b3480156103de57600080fd5b5061015b6103ed3660046110e2565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561042457600080fd5b50600d5461034c906001600160a01b031681565b34801561044457600080fd5b5061026e610453366004611188565b6106bb565b34801561046457600080fd5b50600e5461034c906001600160a01b031681565b3360008181526006602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906104d39086815260200190565b60405180910390a35060015b92915050565b6001600160a01b038316600090815260066020908152604080832033845290915281205460001914610592576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b038716600090815260068252838120338252909152919091205461056d918490610706565b6001600160a01b03851660009081526006602090815260408083203384529091529020555b61059d848484610740565b90505b9392505050565b600d546040516001600160a01b03909116904780156108fc02916000818181858888f193505050501580156105e0573d6000803e3d6000fd5b50565b6000546001600160a01b031633146106165760405162461bcd60e51b815260040161060d90611246565b60405180910390fd5b6009829055600a81905561062a81836112d7565b600b555050565b60006104df82600019610478565b6000546001600160a01b031633146106695760405162461bcd60e51b815260040161060d90611246565b600080546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b60006105a0338484610740565b6000546001600160a01b031633146106e55760405162461bcd60e51b815260040161060d90611246565b6103e8816003546106f69190611311565b61070091906112ef565b60045550565b6000818484111561072a5760405162461bcd60e51b815260040161060d91906111f1565b5060006107378486611330565b95945050505050565b60115460009060ff16156107605761075984848461096a565b90506105a0565b600f546001600160a01b0384811691161480159061078c57506002546001600160a01b03848116911614155b15610837576001600160a01b03831660009081526008602052604090205460ff16806107dd57506004546001600160a01b0384166000908152600560205260409020546107da9084906112d7565b11155b6108375760405162461bcd60e51b815260206004820152602560248201527f5472616e7366657220616d6f756e74206578636565647320746865206261672060448201526439b4bd329760d91b606482015260840161060d565b61083f610a50565b1561084c5761084c610aa8565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03871660009081526005909152919091205461089e918490610706565b6001600160a01b038516600090815260056020908152604080832093909355600790529081205460ff16156108d357826108dd565b6108dd8584610e72565b6001600160a01b0385166000908152600560205260409020549091506109039082610f18565b6001600160a01b0380861660008181526005602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906109579085815260200190565b60405180910390a3506001949350505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03861660009081526005909152918220546109bb918490610706565b6001600160a01b0380861660009081526005602052604080822093909355908516815220546109ea9083610f18565b6001600160a01b0380851660008181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610a3e9086815260200190565b60405180910390a35060019392505050565b600f546000906001600160a01b03163314801590610a71575060115460ff16155b8015610a865750600f54600160a01b900460ff165b8015610aa357506010543060009081526005602052604090205410155b905090565b6011805460ff19166001179055601054600b54600954600091610adb91600291610ad59182908790610f77565b90610ff6565b90506000610ae98383611038565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110610b2357610b2361135d565b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015610b7757600080fd5b505afa158015610b8b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610baf91906110c5565b81600181518110610bc257610bc261135d565b6001600160a01b039283166020918202929092010152600e5460405163791ac94760e01b81524792919091169063791ac94790610c0c908690600090879030904290600401611266565b600060405180830381600087803b158015610c2657600080fd5b505af1158015610c3a573d6000803e3d6000fd5b505050506000610c53824761103890919063ffffffff16565b90506000610c79610c706002600954610ff690919063ffffffff16565b600b5490611038565b90506000610c9b6002610ad584610ad560095488610f7790919063ffffffff16565b90506000610cb883610ad5600a5487610f7790919063ffffffff16565b600d546040519192506000916001600160a01b039091169061753090849084818181858888f193505050503d8060008114610d0f576040519150601f19603f3d011682016040523d82523d6000602084013e610d14565b606091505b5050905080610d655760405162461bcd60e51b815260206004820152601e60248201527f72656365697665722072656a656374656420455448207472616e736665720000604482015260640161060d565b8815610e5c57600e5460405163f305d71960e01b8152306004820152602481018b9052600060448201819052606482015273bd2d38cc9a57b3e43cc8554daafc76828f858ce660848201524260a48201526001600160a01b039091169063f305d71990859060c4016060604051808303818588803b158015610de657600080fd5b505af1158015610dfa573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610e1f91906111c3565b505060408051858152602081018c90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b50506011805460ff191690555050505050505050565b600080610e90600c54610ad5600b5486610f7790919063ffffffff16565b30600090815260056020526040902054909150610ead9082610f18565b30600081815260056020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610efe9085815260200190565b60405180910390a3610f108382611038565b949350505050565b600080610f2583856112d7565b9050838110156105a05760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161060d565b600082610f86575060006104df565b6000610f928385611311565b905082610f9f85836112ef565b146105a05760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161060d565b60006105a083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061107a565b60006105a083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610706565b6000818361109b5760405162461bcd60e51b815260040161060d91906111f1565b50600061073784866112ef565b6000602082840312156110ba57600080fd5b81356105a081611373565b6000602082840312156110d757600080fd5b81516105a081611373565b600080604083850312156110f557600080fd5b823561110081611373565b9150602083013561111081611373565b809150509250929050565b60008060006060848603121561113057600080fd5b833561113b81611373565b9250602084013561114b81611373565b929592945050506040919091013590565b6000806040838503121561116f57600080fd5b823561117a81611373565b946020939093013593505050565b60006020828403121561119a57600080fd5b5035919050565b600080604083850312156111b457600080fd5b50508035926020909101359150565b6000806000606084860312156111d857600080fd5b8351925060208401519150604084015190509250925092565b600060208083528351808285015260005b8181101561121e57858101830151858201604001528201611202565b81811115611230576000604083870101525b50601f01601f1916929092016040019392505050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156112b65784516001600160a01b031683529383019391830191600101611291565b50506001600160a01b03969096166060850152505050608001529392505050565b600082198211156112ea576112ea611347565b500190565b60008261130c57634e487b7160e01b600052601260045260246000fd5b500490565b600081600019048311821515161561132b5761132b611347565b500290565b60008282101561134257611342611347565b500390565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b03811681146105e057600080fdfea2646970667358221220fdc93e038d9b861aff94c49a6d2aa673250881409a837e12900ba73b790fd8d364736f6c63430008050033

Deployed Bytecode

0x6080604052600436106101395760003560e01c80636ddd1713116100ab578063a8aa1b311161006f578063a8aa1b3114610392578063a9059cbb146103b2578063dd62ed3e146103d2578063e96fada214610418578063f1d5f51714610438578063f887ea401461045857600080fd5b80636ddd1713146102c657806370a08231146102e7578063715018a61461031d578063893d20e81461033257806395d89b411461036457600080fd5b80632f54bf6e116100fd5780632f54bf6e1461020e578063313ce5671461023d578063364333f41461025957806352f7c98814610270578063571ac8b0146102905780636c0a24eb146102b057600080fd5b80630445b6671461014557806306fdde031461016e578063095ea7b3146101a957806318160ddd146101d957806323b872dd146101ee57600080fd5b3661014057005b600080fd5b34801561015157600080fd5b5061015b60105481565b6040519081526020015b60405180910390f35b34801561017a57600080fd5b506040805180820190915260098152682137b7329029b1b0b760b91b60208201525b60405161016591906111f1565b3480156101b557600080fd5b506101c96101c436600461115c565b610478565b6040519015158152602001610165565b3480156101e557600080fd5b5060035461015b565b3480156101fa57600080fd5b506101c961020936600461111b565b6104e5565b34801561021a57600080fd5b506101c96102293660046110a8565b6000546001600160a01b0391821691161490565b34801561024957600080fd5b5060405160098152602001610165565b34801561026557600080fd5b5061026e6105a7565b005b34801561027c57600080fd5b5061026e61028b3660046111a1565b6105e3565b34801561029c57600080fd5b506101c96102ab3660046110a8565b610631565b3480156102bc57600080fd5b5061015b60045481565b3480156102d257600080fd5b50600f546101c990600160a01b900460ff1681565b3480156102f357600080fd5b5061015b6103023660046110a8565b6001600160a01b031660009081526005602052604090205490565b34801561032957600080fd5b5061026e61063f565b34801561033e57600080fd5b506000546001600160a01b03165b6040516001600160a01b039091168152602001610165565b34801561037057600080fd5b50604080518082019091526005815264424f4e455360d81b602082015261019c565b34801561039e57600080fd5b50600f5461034c906001600160a01b031681565b3480156103be57600080fd5b506101c96103cd36600461115c565b6106ae565b3480156103de57600080fd5b5061015b6103ed3660046110e2565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561042457600080fd5b50600d5461034c906001600160a01b031681565b34801561044457600080fd5b5061026e610453366004611188565b6106bb565b34801561046457600080fd5b50600e5461034c906001600160a01b031681565b3360008181526006602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906104d39086815260200190565b60405180910390a35060015b92915050565b6001600160a01b038316600090815260066020908152604080832033845290915281205460001914610592576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b038716600090815260068252838120338252909152919091205461056d918490610706565b6001600160a01b03851660009081526006602090815260408083203384529091529020555b61059d848484610740565b90505b9392505050565b600d546040516001600160a01b03909116904780156108fc02916000818181858888f193505050501580156105e0573d6000803e3d6000fd5b50565b6000546001600160a01b031633146106165760405162461bcd60e51b815260040161060d90611246565b60405180910390fd5b6009829055600a81905561062a81836112d7565b600b555050565b60006104df82600019610478565b6000546001600160a01b031633146106695760405162461bcd60e51b815260040161060d90611246565b600080546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b60006105a0338484610740565b6000546001600160a01b031633146106e55760405162461bcd60e51b815260040161060d90611246565b6103e8816003546106f69190611311565b61070091906112ef565b60045550565b6000818484111561072a5760405162461bcd60e51b815260040161060d91906111f1565b5060006107378486611330565b95945050505050565b60115460009060ff16156107605761075984848461096a565b90506105a0565b600f546001600160a01b0384811691161480159061078c57506002546001600160a01b03848116911614155b15610837576001600160a01b03831660009081526008602052604090205460ff16806107dd57506004546001600160a01b0384166000908152600560205260409020546107da9084906112d7565b11155b6108375760405162461bcd60e51b815260206004820152602560248201527f5472616e7366657220616d6f756e74206578636565647320746865206261672060448201526439b4bd329760d91b606482015260840161060d565b61083f610a50565b1561084c5761084c610aa8565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03871660009081526005909152919091205461089e918490610706565b6001600160a01b038516600090815260056020908152604080832093909355600790529081205460ff16156108d357826108dd565b6108dd8584610e72565b6001600160a01b0385166000908152600560205260409020549091506109039082610f18565b6001600160a01b0380861660008181526005602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906109579085815260200190565b60405180910390a3506001949350505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03861660009081526005909152918220546109bb918490610706565b6001600160a01b0380861660009081526005602052604080822093909355908516815220546109ea9083610f18565b6001600160a01b0380851660008181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610a3e9086815260200190565b60405180910390a35060019392505050565b600f546000906001600160a01b03163314801590610a71575060115460ff16155b8015610a865750600f54600160a01b900460ff165b8015610aa357506010543060009081526005602052604090205410155b905090565b6011805460ff19166001179055601054600b54600954600091610adb91600291610ad59182908790610f77565b90610ff6565b90506000610ae98383611038565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110610b2357610b2361135d565b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015610b7757600080fd5b505afa158015610b8b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610baf91906110c5565b81600181518110610bc257610bc261135d565b6001600160a01b039283166020918202929092010152600e5460405163791ac94760e01b81524792919091169063791ac94790610c0c908690600090879030904290600401611266565b600060405180830381600087803b158015610c2657600080fd5b505af1158015610c3a573d6000803e3d6000fd5b505050506000610c53824761103890919063ffffffff16565b90506000610c79610c706002600954610ff690919063ffffffff16565b600b5490611038565b90506000610c9b6002610ad584610ad560095488610f7790919063ffffffff16565b90506000610cb883610ad5600a5487610f7790919063ffffffff16565b600d546040519192506000916001600160a01b039091169061753090849084818181858888f193505050503d8060008114610d0f576040519150601f19603f3d011682016040523d82523d6000602084013e610d14565b606091505b5050905080610d655760405162461bcd60e51b815260206004820152601e60248201527f72656365697665722072656a656374656420455448207472616e736665720000604482015260640161060d565b8815610e5c57600e5460405163f305d71960e01b8152306004820152602481018b9052600060448201819052606482015273bd2d38cc9a57b3e43cc8554daafc76828f858ce660848201524260a48201526001600160a01b039091169063f305d71990859060c4016060604051808303818588803b158015610de657600080fd5b505af1158015610dfa573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610e1f91906111c3565b505060408051858152602081018c90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b50506011805460ff191690555050505050505050565b600080610e90600c54610ad5600b5486610f7790919063ffffffff16565b30600090815260056020526040902054909150610ead9082610f18565b30600081815260056020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610efe9085815260200190565b60405180910390a3610f108382611038565b949350505050565b600080610f2583856112d7565b9050838110156105a05760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161060d565b600082610f86575060006104df565b6000610f928385611311565b905082610f9f85836112ef565b146105a05760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161060d565b60006105a083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061107a565b60006105a083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610706565b6000818361109b5760405162461bcd60e51b815260040161060d91906111f1565b50600061073784866112ef565b6000602082840312156110ba57600080fd5b81356105a081611373565b6000602082840312156110d757600080fd5b81516105a081611373565b600080604083850312156110f557600080fd5b823561110081611373565b9150602083013561111081611373565b809150509250929050565b60008060006060848603121561113057600080fd5b833561113b81611373565b9250602084013561114b81611373565b929592945050506040919091013590565b6000806040838503121561116f57600080fd5b823561117a81611373565b946020939093013593505050565b60006020828403121561119a57600080fd5b5035919050565b600080604083850312156111b457600080fd5b50508035926020909101359150565b6000806000606084860312156111d857600080fd5b8351925060208401519150604084015190509250925092565b600060208083528351808285015260005b8181101561121e57858101830151858201604001528201611202565b81811115611230576000604083870101525b50601f01601f1916929092016040019392505050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156112b65784516001600160a01b031683529383019391830191600101611291565b50506001600160a01b03969096166060850152505050608001529392505050565b600082198211156112ea576112ea611347565b500190565b60008261130c57634e487b7160e01b600052601260045260246000fd5b500490565b600081600019048311821515161561132b5761132b611347565b500290565b60008282101561134257611342611347565b500390565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b03811681146105e057600080fdfea2646970667358221220fdc93e038d9b861aff94c49a6d2aa673250881409a837e12900ba73b790fd8d364736f6c63430008050033

Deployed Bytecode Sourcemap

4205:7749:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5220:54;;;;;;;;;;;;;;;;;;;6498:25:1;;;6486:2;6471:18;5220:54:0;;;;;;;;6301:80;;;;;;;;;;-1:-1:-1;6373:5:0;;;;;;;;;;;;-1:-1:-1;;;6373:5:0;;;;6301:80;;;;;;;:::i;6723:216::-;;;;;;;;;;-1:-1:-1;6723:216:0;;;;;:::i;:::-;;:::i;:::-;;;3640:14:1;;3633:22;3615:41;;3603:2;3588:18;6723:216:0;3570:92:1;6031:88:0;;;;;;;;;;-1:-1:-1;6104:12:0;;6031:88;;7241:370;;;;;;;;;;-1:-1:-1;7241:370:0;;;;;:::i;:::-;;:::i;2443:103::-;;;;;;;;;;-1:-1:-1;2443:103:0;;;;;:::i;:::-;2498:4;2533:5;-1:-1:-1;;;;;2522:16:0;;;2533:5;;2522:16;;2443:103;6125:80;;;;;;;;;;-1:-1:-1;6125:80:0;;4535:1;7914:36:1;;7902:2;7887:18;6125:80:0;7869:87:1;11383:118:0;;;;;;;;;;;;;:::i;:::-;;11659:220;;;;;;;;;;-1:-1:-1;11659:220:0;;;;;:::i;:::-;;:::i;6947:122::-;;;;;;;;;;-1:-1:-1;6947:122:0;;;;;:::i;:::-;;:::i;4604:60::-;;;;;;;;;;;;;;;;5183:30;;;;;;;;;;-1:-1:-1;5183:30:0;;;;-1:-1:-1;;;5183:30:0;;;;;;6471:105;;;;;;;;;;-1:-1:-1;6471:105:0;;;;;:::i;:::-;-1:-1:-1;;;;;6555:18:0;6537:7;6555:18;;;:9;:18;;;;;;;6471:105;2552:131;;;;;;;;;;;;;:::i;6387:78::-;;;;;;;;;;-1:-1:-1;6439:7:0;6457:5;-1:-1:-1;;;;;6457:5:0;6387:78;;;-1:-1:-1;;;;;2819:32:1;;;2801:51;;2789:2;2774:18;6387:78:0;2756:102:1;6211:84:0;;;;;;;;;;-1:-1:-1;6285:7:0;;;;;;;;;;;;-1:-1:-1;;;6285:7:0;;;;6211:84;;5155:19;;;;;;;;;;-1:-1:-1;5155:19:0;;;;-1:-1:-1;;;;;5155:19:0;;;7077:156;;;;;;;;;;-1:-1:-1;7077:156:0;;;;;:::i;:::-;;:::i;6582:133::-;;;;;;;;;;-1:-1:-1;6582:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;6684:19:0;;;6666:7;6684:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;6582:133;5034:81;;;;;;;;;;-1:-1:-1;5034:81:0;;;;-1:-1:-1;;;;;5034:81:0;;;11509:142;;;;;;;;;;-1:-1:-1;11509:142:0;;;;;:::i;:::-;;:::i;5124:24::-;;;;;;;;;;-1:-1:-1;5124:24:0;;;;-1:-1:-1;;;;;5124:24:0;;;6723:216;6827:10;6798:4;6815:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;6815:32:0;;;;;;;;;;:41;;;6872:37;6798:4;;6815:32;;6872:37;;;;6850:6;6498:25:1;;6486:2;6471:18;;6453:76;6872:37:0;;;;;;;;-1:-1:-1;6927:4:0;6723:216;;;;;:::o;7241:370::-;-1:-1:-1;;;;;7361:19:0;;7341:4;7361:19;;;:11;:19;;;;;;;;7381:10;7361:31;;;;;;;;-1:-1:-1;;7361:52:0;7358:186;;7463:69;;;;;;;;;;;-1:-1:-1;;;7463:69:0;;;;;;;;-1:-1:-1;;;;;7463:19:0;;-1:-1:-1;7463:19:0;;;:11;:19;;;;;7483:10;7463:31;;;;;;;;;;:69;;7499:6;;7463:35;:69::i;:::-;-1:-1:-1;;;;;7429:19:0;;;;;;:11;:19;;;;;;;;7449:10;7429:31;;;;;;;:103;7358:186;7563:40;7577:6;7585:9;7596:6;7563:13;:40::i;:::-;7556:47;;7241:370;;;;;;:::o;11383:118::-;11440:20;;11432:61;;-1:-1:-1;;;;;11440:20:0;;;;11471:21;11432:61;;;;;11440:20;11432:61;11440:20;11432:61;11471:21;11440:20;11432:61;;;;;;;;;;;;;;;;;;;;;11383:118::o;11659:220::-;2498:4;2533:5;-1:-1:-1;;;;;2533:5:0;2404:10;2522:16;2388:38;;;;-1:-1:-1;;;2388:38:0;;;;;;;:::i;:::-;;;;;;;;;11752:12:::1;:28:::0;;;11793:12:::1;:28:::0;;;11844:27:::1;11808:13:::0;11767;11844:27:::1;:::i;:::-;11833:8;:38:::0;-1:-1:-1;;11659:220:0:o;6947:122::-;7002:4;7026:35;7034:7;-1:-1:-1;;7026:7:0;:35::i;2552:131::-;2498:4;2533:5;-1:-1:-1;;;;;2533:5:0;2404:10;2522:16;2388:38;;;;-1:-1:-1;;;2388:38:0;;;;;;;:::i;:::-;2625:1:::1;2609:18:::0;;-1:-1:-1;;;;;;2609:18:0::1;::::0;;2643:32:::1;::::0;2801:51:1;;;2643:32:0::1;::::0;2789:2:1;2774:18;2643:32:0::1;;;;;;;2552:131::o:0;7077:156::-;7157:4;7181:44;7195:10;7207:9;7218:6;7181:13;:44::i;11509:142::-;2498:4;2533:5;-1:-1:-1;;;;;2533:5:0;2404:10;2522:16;2388:38;;;;-1:-1:-1;;;2388:38:0;;;;;;;:::i;:::-;11639:4:::1;11621:13;11606:12;;:28;;;;:::i;:::-;11605:38;;;;:::i;:::-;11586:16;:57:::0;-1:-1:-1;11509:142:0:o;532:190::-;618:7;654:12;646:6;;;;638:29;;;;-1:-1:-1;;;638:29:0;;;;;;;;:::i;:::-;-1:-1:-1;678:9:0;690:5;694:1;690;:5;:::i;:::-;678:17;532:190;-1:-1:-1;;;;;532:190:0:o;7619:792::-;7731:6;;7711:4;;7731:6;;7728:63;;;7747:41;7762:6;7770:9;7781:6;7747:14;:41::i;:::-;7740:48;;;;7728:63;7828:4;;-1:-1:-1;;;;;7815:17:0;;;7828:4;;7815:17;;;;:38;;-1:-1:-1;7849:4:0;;-1:-1:-1;;;;;7836:17:0;;;7849:4;;7836:17;;7815:38;7811:200;;;-1:-1:-1;;;;;7878:26:0;;;;;;:15;:26;;;;;;;;;:79;;-1:-1:-1;7941:16:0;;-1:-1:-1;;;;;7908:20:0;;;;;;:9;:20;;;;;;:29;;7931:6;;7908:29;:::i;:::-;:49;;7878:79;7870:129;;;;-1:-1:-1;;;7870:129:0;;4697:2:1;7870: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;;7870:129:0;4669:227:1;7870:129:0;8034:16;:14;:16::i;:::-;8031:35;;;8053:10;:8;:10::i;:::-;8099:53;;;;;;;;;;;-1:-1:-1;;;8099:53:0;;;;;;;;-1:-1:-1;;;;;8099:17:0;;-1:-1:-1;8099:17:0;;;:9;:17;;;;;;;;:53;;8121:6;;8099:21;:53::i;:::-;-1:-1:-1;;;;;8079:17:0;;;;;;:9;:17;;;;;;;;:73;;;;8848:11;:19;;;;;;;;8847:20;8190:56;;8240:6;8190:56;;;8214:23;8222:6;8230;8214:7;:23::i;:::-;-1:-1:-1;;;;;8280:20:0;;;;;;:9;:20;;;;;;8165:81;;-1:-1:-1;8280:40:0;;8165:81;8280:24;:40::i;:::-;-1:-1:-1;;;;;8257:20:0;;;;;;;:9;:20;;;;;;;:63;;;;8338:43;;;;;;;;;;8366:14;6498:25:1;;6486:2;6471:18;;6453:76;8338:43:0;;;;;;;;-1:-1:-1;8399:4:0;;7619:792;-1:-1:-1;;;;7619:792:0:o;8423:330::-;8553:53;;;;;;;;;;;-1:-1:-1;;;8553:53:0;;;;;;;;-1:-1:-1;;;;;8553:17:0;;8516:4;8553:17;;;:9;:17;;;;;;;:53;;8575:6;;8553:21;:53::i;:::-;-1:-1:-1;;;;;8533:17:0;;;;;;;:9;:17;;;;;;:73;;;;8640:20;;;;;;;:32;;8665:6;8640:24;:32::i;:::-;-1:-1:-1;;;;;8617:20:0;;;;;;;:9;:20;;;;;;;:55;;;;8688:35;;;;;;;;;;8716:6;6498:25:1;;6486:2;6471:18;;6453:76;8688:35:0;;;;;;;;-1:-1:-1;8741:4:0;8423:330;;;;;:::o;9220:197::-;9307:4;;9269;;-1:-1:-1;;;;;9307:4:0;9293:10;:18;;;;:38;;-1:-1:-1;9325:6:0;;;;9324:7;9293:38;:62;;;;-1:-1:-1;9344:11:0;;-1:-1:-1;;;9344:11:0;;;;9293:62;:116;;;;-1:-1:-1;9396:13:0;;9386:4;9368:24;;;;:9;:24;;;;;;:41;;9293:116;9286:123;;9220:197;:::o;9425:1572::-;5325:6;:13;;-1:-1:-1;;5325:13:0;5334:4;5325:13;;;9505::::1;::::0;9598:8:::1;::::0;9580:12:::1;::::0;5325:6;;9555:59:::1;::::0;9612:1:::1;::::0;9555:52:::1;::::0;;;9505:13;;9555:24:::1;:38::i;:::-;:42:::0;::::1;:52::i;:59::-;9529:85:::0;-1:-1:-1;9625:20:0::1;9648:41;:20:::0;9529:85;9648:24:::1;:41::i;:::-;9726:16;::::0;;9740:1:::1;9726:16:::0;;;;;::::1;::::0;;9625:64;;-1:-1:-1;9702:21:0::1;::::0;9726:16;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9726:16:0::1;9702:40;;9771:4;9753;9758:1;9753:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9753:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;9797:6:::1;::::0;:13:::1;::::0;;-1:-1:-1;;;9797:13:0;;;;:6;;;::::1;::::0;:11:::1;::::0;:13:::1;::::0;;::::1;::::0;9753:7;;9797:13;;;;;:6;:13;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9787:4;9792:1;9787:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9787:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;9881:6:::1;::::0;:188:::1;::::0;-1:-1:-1;;;9881:188:0;;9847:21:::1;::::0;9881:6;;;::::1;::::0;:57:::1;::::0;:188:::1;::::0;9953:12;;9823:21:::1;::::0;9996:4;;10023::::1;::::0;10043:15:::1;::::0;9881:188:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10080:17;10100:40;10126:13;10100:21;:25;;:40;;;;:::i;:::-;10080:60;;10151:19;10173:33;10186:19;10203:1;10186:12;;:16;;:19;;;;:::i;:::-;10173:8;::::0;;:12:::1;:33::i;:::-;10151:55;;10217:26;10246:51;10295:1;10246:44;10278:11;10246:27;10260:12;;10246:9;:13;;:27;;;;:::i;:51::-;10217:80;;10308:26;10337:44;10369:11;10337:27;10351:12;;10337:9;:13;;:27;;;;:::i;:44::-;10455:20;::::0;10447:77:::1;::::0;10308:73;;-1:-1:-1;10397:21:0::1;::::0;-1:-1:-1;;;;;10455:20:0;;::::1;::::0;10514:5:::1;::::0;10308:73;;10397:21;10447:77;10397:21;10447:77;10308:73;10455:20;10514:5;10447:77:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10396:128;;;10543:16;10535:59;;;::::0;-1:-1:-1;;;10535:59:0;;5459:2:1;10535:59:0::1;::::0;::::1;5441:21:1::0;5498:2;5478:18;;;5471:30;5537:32;5517:18;;;5510:60;5587:18;;10535:59:0::1;5431:180:1::0;10535:59:0::1;10610:19:::0;;10607:383:::1;;10645:6;::::0;:265:::1;::::0;-1:-1:-1;;;10645:265:0;;10721:4:::1;10645:265;::::0;::::1;3204:34:1::0;3254:18;;;3247:34;;;10645:6:0::1;3297:18:1::0;;;3290:34;;;3340:18;;;3333:34;10819:42:0::1;3383:19:1::0;;;3376:44;10880:15:0::1;3436:19:1::0;;;3429:35;-1:-1:-1;;;;;10645:6:0;;::::1;::::0;:22:::1;::::0;10675:18;;3138:19:1;;10645:265:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;10930:48:0::1;::::0;;7693:25:1;;;7749:2;7734:18;;7727:34;;;10930:48:0::1;::::0;-1:-1:-1;7666:18:1;10930:48:0::1;;;;;;;10607:383;-1:-1:-1::0;;5343:6:0;:14;;-1:-1:-1;;5343:14:0;;;-1:-1:-1;;;;;;;;9425:1572:0:o;8883:329::-;8950:7;8970:17;8990:40;9015:14;;8990:20;9001:8;;8990:6;:10;;:20;;;;:::i;:40::-;9086:4;9068:24;;;;:9;:24;;;;;;8970:60;;-1:-1:-1;9068:39:0;;8970:60;9068:28;:39::i;:::-;9059:4;9041:24;;;;:9;:24;;;;;;;:66;;;;9123:42;;-1:-1:-1;;;;;9123:42:0;;;;;;;9155:9;6498:25:1;;6486:2;6471:18;;6453:76;9123:42:0;;;;;;;;9183:21;:6;9194:9;9183:10;:21::i;:::-;9176:28;8883:329;-1:-1:-1;;;;8883:329:0:o;205:179::-;263:7;;295:5;299:1;295;:5;:::i;:::-;283:17;;324:1;319;:6;;311:46;;;;-1:-1:-1;;;311:46:0;;5103:2:1;311:46:0;;;5085:21:1;5142:2;5122:18;;;5115:30;5181:29;5161:18;;;5154:57;5228:18;;311:46:0;5075:177:1;728:246:0;786:7;810:6;806:47;;-1:-1:-1;840:1:0;833:8;;806:47;863:9;875:5;879:1;875;:5;:::i;:::-;863:17;-1:-1:-1;908:1:0;899:5;903:1;863:17;899:5;:::i;:::-;:10;891:56;;;;-1:-1:-1;;;891:56:0;;5818:2:1;891: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;;891:56:0;5790:223:1;980:132:0;1038:7;1065:39;1069:1;1072;1065:39;;;;;;;;;;;;;;;;;:3;:39::i;390:136::-;448:7;475:43;479:1;482;475:43;;;;;;;;;;;;;;;;;:3;:43::i;1118:189::-;1204:7;1239:12;1232:5;1224:28;;;;-1:-1:-1;;;1224:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1263:9:0;1275:5;1279:1;1275;: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://fdc93e038d9b861aff94c49a6d2aa673250881409a837e12900ba73b790fd8d3

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.