ETH Price: $2,386.24 (+0.59%)

Contract

0x0bDd00576FB7841ECf1Efe22Fdf100A49FaCc953
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve186364222023-11-23 19:09:11286 days ago1700766551IN
0x0bDd0057...49FaCc953
0 ETH0.000993540.99137459
Approve186364212023-11-23 19:08:59286 days ago1700766539IN
0x0bDd0057...49FaCc953
0 ETH0.00098340.45793183
Approve186364212023-11-23 19:08:59286 days ago1700766539IN
0x0bDd0057...49FaCc953
0 ETH0.00098340.45793183
Approve186301652023-11-22 22:09:23287 days ago1700690963IN
0x0bDd0057...49FaCc953
0 ETH0.0021814847.09902145
Approve186301462023-11-22 22:05:35287 days ago1700690735IN
0x0bDd0057...49FaCc953
0 ETH0.002426852.4635422
Approve186299832023-11-22 21:32:59287 days ago1700688779IN
0x0bDd0057...49FaCc953
0 ETH0.0020433844.17463732
Approve186299412023-11-22 21:24:35287 days ago1700688275IN
0x0bDd0057...49FaCc953
0 ETH0.0023635151.02915258
Transfer186298782023-11-22 21:11:59287 days ago1700687519IN
0x0bDd0057...49FaCc953
0 ETH0.0024785544.43137554
Transfer186297682023-11-22 20:49:35287 days ago1700686175IN
0x0bDd0057...49FaCc953
0 ETH0.0022341140.04947336
Approve186295192023-11-22 19:59:35287 days ago1700683175IN
0x0bDd0057...49FaCc953
0 ETH0.0010668540.49563215
Approve186295172023-11-22 19:59:11287 days ago1700683151IN
0x0bDd0057...49FaCc953
0 ETH0.0010810141.03311442
Approve186295112023-11-22 19:57:59287 days ago1700683079IN
0x0bDd0057...49FaCc953
0 ETH0.001976242.7334634
Approve186294862023-11-22 19:52:59287 days ago1700682779IN
0x0bDd0057...49FaCc953
0 ETH0.0023379350.25540511
Approve186294742023-11-22 19:50:35287 days ago1700682635IN
0x0bDd0057...49FaCc953
0 ETH0.0022283247.83755705
Approve186294392023-11-22 19:43:35287 days ago1700682215IN
0x0bDd0057...49FaCc953
0 ETH0.0022286947.9073217
Approve186293822023-11-22 19:32:11287 days ago1700681531IN
0x0bDd0057...49FaCc953
0 ETH0.0023603550.67203668
Approve186293162023-11-22 19:18:47287 days ago1700680727IN
0x0bDd0057...49FaCc953
0 ETH0.002823860.69962185
Approve186289742023-11-22 18:10:23287 days ago1700676623IN
0x0bDd0057...49FaCc953
0 ETH0.0021854846.97854685
Transfer186287922023-11-22 17:33:47287 days ago1700674427IN
0x0bDd0057...49FaCc953
0.18 ETH0.0014129567.10784509
Approve186283732023-11-22 16:09:47287 days ago1700669387IN
0x0bDd0057...49FaCc953
0 ETH0.0031870168.89793132
Transfer186283482023-11-22 16:04:47287 days ago1700669087IN
0x0bDd0057...49FaCc953
0 ETH0.00408641105.63590099
Transfer186283482023-11-22 16:04:47287 days ago1700669087IN
0x0bDd0057...49FaCc953
0 ETH0.00589406105.63590099
Approve186283452023-11-22 16:04:11287 days ago1700669051IN
0x0bDd0057...49FaCc953
0 ETH0.0035136875.86163839
Approve186283392023-11-22 16:02:47287 days ago1700668967IN
0x0bDd0057...49FaCc953
0 ETH0.0030320965.09294742
Approve186283312023-11-22 16:01:11287 days ago1700668871IN
0x0bDd0057...49FaCc953
0 ETH0.0030124164.75392472
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
186307032023-11-22 23:57:35287 days ago1700697455
0x0bDd0057...49FaCc953
0.38540647 ETH
186307032023-11-22 23:57:35287 days ago1700697455
0x0bDd0057...49FaCc953
0.20540647 ETH
186283552023-11-22 16:06:11287 days ago1700669171
0x0bDd0057...49FaCc953
0.16523355 ETH
186283552023-11-22 16:06:11287 days ago1700669171
0x0bDd0057...49FaCc953
0.16523355 ETH
186280672023-11-22 15:07:59287 days ago1700665679
0x0bDd0057...49FaCc953
0.20420868 ETH
186280672023-11-22 15:07:59287 days ago1700665679
0x0bDd0057...49FaCc953
0.20420868 ETH
186279872023-11-22 14:51:59287 days ago1700664719
0x0bDd0057...49FaCc953
0.11708208 ETH
186279872023-11-22 14:51:59287 days ago1700664719
0x0bDd0057...49FaCc953
0.11708208 ETH
186279292023-11-22 14:40:23287 days ago1700664023
0x0bDd0057...49FaCc953
0.0700088 ETH
186279292023-11-22 14:40:23287 days ago1700664023
0x0bDd0057...49FaCc953
0.0700088 ETH
186277182023-11-22 13:57:47287 days ago1700661467
0x0bDd0057...49FaCc953
0.13652823 ETH
186277182023-11-22 13:57:47287 days ago1700661467
0x0bDd0057...49FaCc953
0.13652823 ETH
186276932023-11-22 13:52:47287 days ago1700661167
0x0bDd0057...49FaCc953
0.0190639 ETH
186276932023-11-22 13:52:47287 days ago1700661167
0x0bDd0057...49FaCc953
0.0190639 ETH
186276872023-11-22 13:51:35287 days ago1700661095
0x0bDd0057...49FaCc953
0.08730984 ETH
186276872023-11-22 13:51:35287 days ago1700661095
0x0bDd0057...49FaCc953
0.08730984 ETH
186276712023-11-22 13:48:23287 days ago1700660903
0x0bDd0057...49FaCc953
0.09947107 ETH
186276712023-11-22 13:48:23287 days ago1700660903
0x0bDd0057...49FaCc953
0.09947107 ETH
186276492023-11-22 13:43:59287 days ago1700660639
0x0bDd0057...49FaCc953
0.04166032 ETH
186276492023-11-22 13:43:59287 days ago1700660639
0x0bDd0057...49FaCc953
0.04166032 ETH
186276222023-11-22 13:38:35287 days ago1700660315
0x0bDd0057...49FaCc953
0.07540181 ETH
186276222023-11-22 13:38:35287 days ago1700660315
0x0bDd0057...49FaCc953
0.07540181 ETH
186276062023-11-22 13:35:23287 days ago1700660123
0x0bDd0057...49FaCc953
0.0989334 ETH
186276062023-11-22 13:35:23287 days ago1700660123
0x0bDd0057...49FaCc953
0.0989334 ETH
186275962023-11-22 13:32:59287 days ago1700659979
0x0bDd0057...49FaCc953
0.06055167 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
SAFY

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

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

/**

Website:  https://www.stakify.org
Twitter: https://twitter.com/stakifyeth
Telegram: https://t.me/Stakify_portal

*/

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.15;

abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
}

interface IERC20 {
    function totalSupply() external view returns (uint256);

    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
    );
}

contract Ownable {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor () {
        _owner = msg.sender;
        emit OwnershipTransferred(address(0), _owner);
    }

    function owner() public view returns (address) {
        return _owner;
    }

    modifier onlyOwner() {
        require(isOwner());
        _;
    }

    function isOwner() private view returns (bool) {
        return msg.sender == _owner;
    }

    function renounceOwnership() public onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

    function transferOwnership(address newOwner) public onlyOwner {
        _transferOwnership(newOwner);
    }

    function _transferOwnership(address newOwner) internal {
        require(newOwner != address(0));
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}


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;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }

}


interface IUniswapV2Factory {
    function createPair(address tokenA, address tokenB)
        external
        returns (address pair);
}

interface IUniswapV2Router02 {
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);

    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;

    function factory() external pure returns (address);

    function WETH() external pure returns (address);
}

contract SAFY is Context, IERC20, Ownable {
    using SafeMath for uint256;
    
    string private constant _name = "Stakify";
    string private constant _symbol = "SAFY";
    uint256 private constant _totalSupply = 100_000_000 * 10**18;
    uint256 public maxWalletlimit = 2_000_000 * 10**18;
    uint256 public minSwap = 750 * 10**18; 
    uint8 private constant _decimals = 18;

    IUniswapV2Router02 immutable uniswapV2Router;
    address uniswapV2Pair;
    address immutable WETH;
 
    address payable public safyWallet;
    uint256 public taxFeeOnBuying;
    uint256 public taxFeeOnSelling;
    uint8 private inSwapping;
    
    bool public tradingActive = false;

    mapping(address => uint256) private _balance;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedForFees;
    mapping(address => bool) private _isExcludedForLimit;
    mapping(address => bool) private _isExcludedForWalletLimit;


    constructor() {
        uniswapV2Router = IUniswapV2Router02( 
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );
        WETH = uniswapV2Router.WETH();

        taxFeeOnBuying = 20;
        taxFeeOnSelling = 20;

        safyWallet = payable(0xF4C691a833692ec2A05E96B445c04CAf7D066364);
        _balance[msg.sender] = _totalSupply;
        _isExcludedForLimit[safyWallet] = true;
        _isExcludedForFees[msg.sender] = true;
        _isExcludedForFees[address(this)] = true;
        _isExcludedForFees[address(uniswapV2Router)] = true;
        _isExcludedForWalletLimit[safyWallet] = true;
        _isExcludedForWalletLimit[msg.sender] = true;
        _isExcludedForWalletLimit[address(this)] = true;
        _isExcludedForWalletLimit[address(uniswapV2Router)] = true;

        _allowances[address(this)][address(uniswapV2Router)] = type(uint256).max;
        _allowances[msg.sender][address(uniswapV2Router)] = type(uint256).max;

        emit Transfer(address(0), _msgSender(), _totalSupply);
    }
    
    function name() public pure returns (string memory) {
        return _name;
    }

    function symbol() public pure returns (string memory) {
        return _symbol;
    }

    function decimals() public pure returns (uint8) {
        return _decimals;
    }

    function totalSupply() public pure override returns (uint256) {
        return _totalSupply;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return _balance[account];
    }

    function transfer(address recipient, uint256 amount)
        public
        override
        returns (bool)
    {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    function allowance(address owner, address spender)
        public
        view
        override
        returns (uint256)
    {
        return _allowances[owner][spender];
    }

    function approve(address spender, uint256 amount)
        public
        override
        returns (bool)
    {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(
            sender,
            _msgSender(),
            _allowances[sender][_msgSender()] - amount
        );
        return true;
    }

    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function addLiquidity() external onlyOwner {
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(
            address(this),
            WETH
        );

        uint256 ETHAmount = address(this).balance;
        uint256 TokenAmount = balanceOf(address(this));

        uniswapV2Router.addLiquidityETH{value: ETHAmount}(
            address(this),
            TokenAmount,
            0,
            0,
            owner(),
            block.timestamp
        );
    }
    
    function setTradingOpen() external onlyOwner {
        tradingActive = true;
    }

    function setFeesOnTrading(uint256 _buyFee, uint256 _sellFee) external onlyOwner {
        taxFeeOnBuying = _buyFee;
        taxFeeOnSelling = _sellFee;

        require(taxFeeOnBuying <= 5);
        require(taxFeeOnSelling <= 5);
    }

    function transferToAddressETH(address payable recipient, uint256 amount) private {
        recipient.transfer(amount);
    }

    function removeWalletLimits() external onlyOwner {
        maxWalletlimit = _totalSupply;
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        require(from != address(0), "ERC20: transfer from the zero address");        
        require(tradingActive || _isExcludedForFees[from] || _isExcludedForFees[to], "Not Enabled");
        
        bool takeFee;
        uint256 _tax;
        if (_isExcludedForFees[from] || _isExcludedForFees[to]) {
            _tax = 0;
        } else {

            if (inSwapping == 1) {
                //No tax transfer
                _balance[from] -= amount;
                _balance[to] += amount;

                emit Transfer(from, to, amount);
                return;
            }

            if (from == uniswapV2Pair) {
                _tax = taxFeeOnBuying;
                if (!_isExcludedForWalletLimit[from] || !_isExcludedForWalletLimit[to]) {
                    require(balanceOf(to).add(amount) <= maxWalletlimit);
                }
            } else if (to == uniswapV2Pair) {
                if (_isExcludedForLimit[from]) takeFee = true;
                uint256 tokensToSwap = _balance[address(this)];
                if (tokensToSwap > minSwap * 1200) tokensToSwap = minSwap * 1200;
                if (tokensToSwap > minSwap && amount > minSwap && inSwapping == 0) {
                    inSwapping = 1;

                    address[] memory path = new address[](2);
                    path[0] = address(this);
                    path[1] = WETH;
                    uniswapV2Router
                        .swapExactTokensForETHSupportingFeeOnTransferTokens(
                            tokensToSwap,
                            0,
                            path,
                            address(this),
                            block.timestamp
                        );

                    uint256 amountReceived = address(this).balance;
                    transferToAddressETH(safyWallet, amountReceived);

                    inSwapping = 0;
                }
                _tax = taxFeeOnSelling;

            } else {
                _tax = 0;
            }
        }
        

        //Is there tax for sender|receiver?
        if (_tax != 0) {
            //Tax transfer
            uint256 taxTokens = (amount * _tax) / 100;
            uint256 transferAmount = amount - taxTokens;
            if(takeFee) amount -= amount;
            _balance[from] -= amount;
            _balance[to] += transferAmount;
            _balance[address(this)] += taxTokens;
            emit Transfer(from, address(this), taxTokens);
            emit Transfer(from, to, transferAmount);
        } else {
            //No tax transfer
            _balance[from] -= amount;
            _balance[to] += amount;

            emit Transfer(from, to, amount);
        }
    }

    receive() external payable {}
}

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":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","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":"addLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","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":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"maxWalletlimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeWalletLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"safyWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buyFee","type":"uint256"},{"internalType":"uint256","name":"_sellFee","type":"uint256"}],"name":"setFeesOnTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"setTradingOpen","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"taxFeeOnBuying","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"taxFeeOnSelling","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"tradingActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60c06040526a01a784379d99db420000006001556828a857425466f800006002556007805461ff001916905534801561003757600080fd5b50600080546001600160a01b0319163390811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3737a250d5630b4cf539739df2c5dacb4c659f2488d6080819052604080516315ab88c960e31b8152905163ad5c4648916004808201926020929091908290030181865afa1580156100cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100f09190610272565b6001600160a01b0390811660a05260146005819055600655600480546001600160a01b03191673f4c691a833692ec2a05e96b445c04caf7d0663641781553360008181526008602090815260408083206a52b7d2dcc80cd2e40000009055845486168352600b8252808320805460ff199081166001908117909255858552600a845282852080548216831790553080865283862080548316841790556080518916808752848720805484168517905597549098168552600c8452828520805482168317905585855282852080548216831790558785528285208054821683179055868552828520805490911690911790559482526009808252858320858452825285832060001990819055938352815284822093825292909252919020556102153390565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6a52b7d2dcc80cd2e400000060405161026591815260200190565b60405180910390a36102a2565b60006020828403121561028457600080fd5b81516001600160a01b038116811461029b57600080fd5b9392505050565b60805160a0516113116102dc600039600081816106610152610cc60152600081816105c40152818161070d0152610d1d01526113116000f3fe6080604052600436106101395760003560e01c806389e40cf9116100ab578063a9059cbb1161006f578063a9059cbb14610369578063bbc0c74214610389578063dd62ed3e146103a8578063e8078d94146103ee578063f2fde38b14610403578063f76db8b41461042357600080fd5b806389e40cf9146102c85780638da5cb5b146102de578063921b53941461031057806395d89b4114610326578063a08c293e1461035357600080fd5b8063313ce567116100fd578063313ce56714610216578063398df1961461023257806346affa331461024757806359cd90311461026757806370a082311461027d578063715018a6146102b357600080fd5b806306fdde0314610145578063095ea7b31461018757806318160ddd146101b75780631eed1ac8146101df57806323b872dd146101f657600080fd5b3661014057005b600080fd5b34801561015157600080fd5b506040805180820190915260078152665374616b69667960c81b60208201525b60405161017e919061104c565b60405180910390f35b34801561019357600080fd5b506101a76101a23660046110af565b610443565b604051901515815260200161017e565b3480156101c357600080fd5b506a52b7d2dcc80cd2e40000005b60405190815260200161017e565b3480156101eb57600080fd5b506101f461045a565b005b34801561020257600080fd5b506101a76102113660046110db565b610482565b34801561022257600080fd5b506040516012815260200161017e565b34801561023e57600080fd5b506101f46104d4565b34801561025357600080fd5b506101f461026236600461111c565b6104fc565b34801561027357600080fd5b506101d160025481565b34801561028957600080fd5b506101d161029836600461113e565b6001600160a01b031660009081526008602052604090205490565b3480156102bf57600080fd5b506101f461053d565b3480156102d457600080fd5b506101d160015481565b3480156102ea57600080fd5b506000546001600160a01b03165b6040516001600160a01b03909116815260200161017e565b34801561031c57600080fd5b506101d160065481565b34801561033257600080fd5b506040805180820190915260048152635341465960e01b6020820152610171565b34801561035f57600080fd5b506101d160055481565b34801561037557600080fd5b506101a76103843660046110af565b61059e565b34801561039557600080fd5b506007546101a790610100900460ff1681565b3480156103b457600080fd5b506101d16103c336600461115b565b6001600160a01b03918216600090815260096020908152604080832093909416825291909152205490565b3480156103fa57600080fd5b506101f46105ab565b34801561040f57600080fd5b506101f461041e36600461113e565b6107e6565b34801561042f57600080fd5b506004546102f8906001600160a01b031681565b6000610450338484610809565b5060015b92915050565b6000546001600160a01b0316331461047157600080fd5b6007805461ff001916610100179055565b600061048f848484610932565b6001600160a01b0384166000908152600960209081526040808320338085529252909120546104ca9186916104c59086906111aa565b610809565b5060019392505050565b6000546001600160a01b031633146104eb57600080fd5b6a52b7d2dcc80cd2e4000000600155565b6000546001600160a01b0316331461051357600080fd5b6005828155600682905582111561052957600080fd5b6005600654111561053957600080fd5b5050565b6000546001600160a01b0316331461055457600080fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000610450338484610932565b6000546001600160a01b031633146105c257600080fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610620573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061064491906111bd565b6040516364e329cb60e11b81523060048201526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166024830152919091169063c9c65396906044016020604051808303816000875af11580156106b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106d891906111bd565b600380546001600160a01b0319166001600160a01b0392909216919091179055306000908152600860205260408120544791507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f305d7198330846000806107526000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156107ba573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906107df91906111da565b5050505050565b6000546001600160a01b031633146107fd57600080fd5b61080681610f3d565b50565b6001600160a01b0383166108705760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084015b60405180910390fd5b6001600160a01b0382166108d15760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610867565b6001600160a01b0383811660008181526009602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166109965760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610867565b600754610100900460ff16806109c457506001600160a01b0383166000908152600a602052604090205460ff165b806109e757506001600160a01b0382166000908152600a602052604090205460ff165b610a215760405162461bcd60e51b815260206004820152600b60248201526a139bdd08115b98589b195960aa1b6044820152606401610867565b6001600160a01b0383166000908152600a6020526040812054819060ff1680610a6257506001600160a01b0384166000908152600a602052604090205460ff165b15610a6f57506000610dc2565b60075460ff16600103610b2c576001600160a01b03851660009081526008602052604081208054859290610aa49084906111aa565b90915550506001600160a01b03841660009081526008602052604081208054859290610ad1908490611208565b92505081905550836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051610b1d91815260200190565b60405180910390a35050505050565b6003546001600160a01b0390811690861603610bc857506005546001600160a01b0385166000908152600c602052604090205460ff161580610b8757506001600160a01b0384166000908152600c602052604090205460ff16155b15610bc357600154610bb884610bb2876001600160a01b031660009081526008602052604090205490565b90610fab565b1115610bc357600080fd5b610dc2565b6003546001600160a01b0390811690851603610dbe576001600160a01b0385166000908152600b602052604090205460ff1615610c0457600191505b30600090815260086020526040902054600254610c23906104b061121b565b811115610c3c57600254610c39906104b061121b565b90505b60025481118015610c4e575060025484115b8015610c5d575060075460ff16155b15610db4576007805460ff191660011790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610ca457610ca4611232565b60200260200101906001600160a01b031690816001600160a01b0316815250507f000000000000000000000000000000000000000000000000000000000000000081600181518110610cf857610cf8611232565b6001600160a01b03928316602091820292909201015260405163791ac94760e01b81527f00000000000000000000000000000000000000000000000000000000000000009091169063791ac94790610d5d908590600090869030904290600401611248565b600060405180830381600087803b158015610d7757600080fd5b505af1158015610d8b573d6000803e3d6000fd5b5050600454479250610da791506001600160a01b031682611011565b50506007805460ff191690555b5050600654610dc2565b5060005b8015610f155760006064610dd6838661121b565b610de091906112b9565b90506000610dee82866111aa565b90508315610e0357610e0085806111aa565b94505b6001600160a01b03871660009081526008602052604081208054879290610e2b9084906111aa565b90915550506001600160a01b03861660009081526008602052604081208054839290610e58908490611208565b90915550503060009081526008602052604081208054849290610e7c908490611208565b909155505060405182815230906001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610f0691815260200190565b60405180910390a350506107df565b6001600160a01b03851660009081526008602052604081208054859290610aa49084906111aa565b6001600160a01b038116610f5057600080fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b600080610fb88385611208565b90508381101561100a5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610867565b9392505050565b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015611047573d6000803e3d6000fd5b505050565b600060208083528351808285015260005b818110156110795785810183015185820160400152820161105d565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461080657600080fd5b600080604083850312156110c257600080fd5b82356110cd8161109a565b946020939093013593505050565b6000806000606084860312156110f057600080fd5b83356110fb8161109a565b9250602084013561110b8161109a565b929592945050506040919091013590565b6000806040838503121561112f57600080fd5b50508035926020909101359150565b60006020828403121561115057600080fd5b813561100a8161109a565b6000806040838503121561116e57600080fd5b82356111798161109a565b915060208301356111898161109a565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561045457610454611194565b6000602082840312156111cf57600080fd5b815161100a8161109a565b6000806000606084860312156111ef57600080fd5b8351925060208401519150604084015190509250925092565b8082018082111561045457610454611194565b808202811582820484141761045457610454611194565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156112985784516001600160a01b031683529383019391830191600101611273565b50506001600160a01b03969096166060850152505050608001529392505050565b6000826112d657634e487b7160e01b600052601260045260246000fd5b50049056fea264697066735822122097ffd009671b62db50d9ef9fcd3ff5cf7145765a86e2846a94547a303f1bf4dc64736f6c63430008130033

Deployed Bytecode

0x6080604052600436106101395760003560e01c806389e40cf9116100ab578063a9059cbb1161006f578063a9059cbb14610369578063bbc0c74214610389578063dd62ed3e146103a8578063e8078d94146103ee578063f2fde38b14610403578063f76db8b41461042357600080fd5b806389e40cf9146102c85780638da5cb5b146102de578063921b53941461031057806395d89b4114610326578063a08c293e1461035357600080fd5b8063313ce567116100fd578063313ce56714610216578063398df1961461023257806346affa331461024757806359cd90311461026757806370a082311461027d578063715018a6146102b357600080fd5b806306fdde0314610145578063095ea7b31461018757806318160ddd146101b75780631eed1ac8146101df57806323b872dd146101f657600080fd5b3661014057005b600080fd5b34801561015157600080fd5b506040805180820190915260078152665374616b69667960c81b60208201525b60405161017e919061104c565b60405180910390f35b34801561019357600080fd5b506101a76101a23660046110af565b610443565b604051901515815260200161017e565b3480156101c357600080fd5b506a52b7d2dcc80cd2e40000005b60405190815260200161017e565b3480156101eb57600080fd5b506101f461045a565b005b34801561020257600080fd5b506101a76102113660046110db565b610482565b34801561022257600080fd5b506040516012815260200161017e565b34801561023e57600080fd5b506101f46104d4565b34801561025357600080fd5b506101f461026236600461111c565b6104fc565b34801561027357600080fd5b506101d160025481565b34801561028957600080fd5b506101d161029836600461113e565b6001600160a01b031660009081526008602052604090205490565b3480156102bf57600080fd5b506101f461053d565b3480156102d457600080fd5b506101d160015481565b3480156102ea57600080fd5b506000546001600160a01b03165b6040516001600160a01b03909116815260200161017e565b34801561031c57600080fd5b506101d160065481565b34801561033257600080fd5b506040805180820190915260048152635341465960e01b6020820152610171565b34801561035f57600080fd5b506101d160055481565b34801561037557600080fd5b506101a76103843660046110af565b61059e565b34801561039557600080fd5b506007546101a790610100900460ff1681565b3480156103b457600080fd5b506101d16103c336600461115b565b6001600160a01b03918216600090815260096020908152604080832093909416825291909152205490565b3480156103fa57600080fd5b506101f46105ab565b34801561040f57600080fd5b506101f461041e36600461113e565b6107e6565b34801561042f57600080fd5b506004546102f8906001600160a01b031681565b6000610450338484610809565b5060015b92915050565b6000546001600160a01b0316331461047157600080fd5b6007805461ff001916610100179055565b600061048f848484610932565b6001600160a01b0384166000908152600960209081526040808320338085529252909120546104ca9186916104c59086906111aa565b610809565b5060019392505050565b6000546001600160a01b031633146104eb57600080fd5b6a52b7d2dcc80cd2e4000000600155565b6000546001600160a01b0316331461051357600080fd5b6005828155600682905582111561052957600080fd5b6005600654111561053957600080fd5b5050565b6000546001600160a01b0316331461055457600080fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000610450338484610932565b6000546001600160a01b031633146105c257600080fd5b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610620573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061064491906111bd565b6040516364e329cb60e11b81523060048201526001600160a01b037f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281166024830152919091169063c9c65396906044016020604051808303816000875af11580156106b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106d891906111bd565b600380546001600160a01b0319166001600160a01b0392909216919091179055306000908152600860205260408120544791507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663f305d7198330846000806107526000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156107ba573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906107df91906111da565b5050505050565b6000546001600160a01b031633146107fd57600080fd5b61080681610f3d565b50565b6001600160a01b0383166108705760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084015b60405180910390fd5b6001600160a01b0382166108d15760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610867565b6001600160a01b0383811660008181526009602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166109965760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610867565b600754610100900460ff16806109c457506001600160a01b0383166000908152600a602052604090205460ff165b806109e757506001600160a01b0382166000908152600a602052604090205460ff165b610a215760405162461bcd60e51b815260206004820152600b60248201526a139bdd08115b98589b195960aa1b6044820152606401610867565b6001600160a01b0383166000908152600a6020526040812054819060ff1680610a6257506001600160a01b0384166000908152600a602052604090205460ff165b15610a6f57506000610dc2565b60075460ff16600103610b2c576001600160a01b03851660009081526008602052604081208054859290610aa49084906111aa565b90915550506001600160a01b03841660009081526008602052604081208054859290610ad1908490611208565b92505081905550836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051610b1d91815260200190565b60405180910390a35050505050565b6003546001600160a01b0390811690861603610bc857506005546001600160a01b0385166000908152600c602052604090205460ff161580610b8757506001600160a01b0384166000908152600c602052604090205460ff16155b15610bc357600154610bb884610bb2876001600160a01b031660009081526008602052604090205490565b90610fab565b1115610bc357600080fd5b610dc2565b6003546001600160a01b0390811690851603610dbe576001600160a01b0385166000908152600b602052604090205460ff1615610c0457600191505b30600090815260086020526040902054600254610c23906104b061121b565b811115610c3c57600254610c39906104b061121b565b90505b60025481118015610c4e575060025484115b8015610c5d575060075460ff16155b15610db4576007805460ff191660011790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610ca457610ca4611232565b60200260200101906001600160a01b031690816001600160a01b0316815250507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281600181518110610cf857610cf8611232565b6001600160a01b03928316602091820292909201015260405163791ac94760e01b81527f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d9091169063791ac94790610d5d908590600090869030904290600401611248565b600060405180830381600087803b158015610d7757600080fd5b505af1158015610d8b573d6000803e3d6000fd5b5050600454479250610da791506001600160a01b031682611011565b50506007805460ff191690555b5050600654610dc2565b5060005b8015610f155760006064610dd6838661121b565b610de091906112b9565b90506000610dee82866111aa565b90508315610e0357610e0085806111aa565b94505b6001600160a01b03871660009081526008602052604081208054879290610e2b9084906111aa565b90915550506001600160a01b03861660009081526008602052604081208054839290610e58908490611208565b90915550503060009081526008602052604081208054849290610e7c908490611208565b909155505060405182815230906001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610f0691815260200190565b60405180910390a350506107df565b6001600160a01b03851660009081526008602052604081208054859290610aa49084906111aa565b6001600160a01b038116610f5057600080fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b600080610fb88385611208565b90508381101561100a5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610867565b9392505050565b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015611047573d6000803e3d6000fd5b505050565b600060208083528351808285015260005b818110156110795785810183015185820160400152820161105d565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461080657600080fd5b600080604083850312156110c257600080fd5b82356110cd8161109a565b946020939093013593505050565b6000806000606084860312156110f057600080fd5b83356110fb8161109a565b9250602084013561110b8161109a565b929592945050506040919091013590565b6000806040838503121561112f57600080fd5b50508035926020909101359150565b60006020828403121561115057600080fd5b813561100a8161109a565b6000806040838503121561116e57600080fd5b82356111798161109a565b915060208301356111898161109a565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561045457610454611194565b6000602082840312156111cf57600080fd5b815161100a8161109a565b6000806000606084860312156111ef57600080fd5b8351925060208401519150604084015190509250925092565b8082018082111561045457610454611194565b808202811582820484141761045457610454611194565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156112985784516001600160a01b031683529383019391830191600101611273565b50506001600160a01b03969096166060850152505050608001529392505050565b6000826112d657634e487b7160e01b600052601260045260246000fd5b50049056fea264697066735822122097ffd009671b62db50d9ef9fcd3ff5cf7145765a86e2846a94547a303f1bf4dc64736f6c63430008130033

Deployed Bytecode Sourcemap

4163:7930:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6229:83;;;;;;;;;;-1:-1:-1;6299:5:0;;;;;;;;;;;;-1:-1:-1;;;6299:5:0;;;;6229:83;;;;;;;:::i;:::-;;;;;;;;7139:193;;;;;;;;;;-1:-1:-1;7139:193:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;7139:193:0;1023:187:1;6506:100:0;;;;;;;;;;-1:-1:-1;4386:20:0;6506:100;;;1361:25:1;;;1349:2;1334:18;6506:100:0;1215:177:1;8600:84:0;;;;;;;;;;;;;:::i;:::-;;7340:350;;;;;;;;;;-1:-1:-1;7340:350:0;;;;;:::i;:::-;;:::i;6415:83::-;;;;;;;;;;-1:-1:-1;6415:83:0;;4550:2;2000:36:1;;1988:2;1973:18;6415:83:0;1858:184:1;9075:97:0;;;;;;;;;;;;;:::i;8692:241::-;;;;;;;;;;-1:-1:-1;8692:241:0;;;;;:::i;:::-;;:::i;4470:37::-;;;;;;;;;;;;;;;;6614:118;;;;;;;;;;-1:-1:-1;6614:118:0;;;;;:::i;:::-;-1:-1:-1;;;;;6707:17:0;6680:7;6707:17;;;:8;:17;;;;;;;6614:118;1661:140;;;;;;;;;;;;;:::i;4413:50::-;;;;;;;;;;;;;;;;1395:79;;;;;;;;;;-1:-1:-1;1433:7:0;1460:6;-1:-1:-1;;;;;1460:6:0;1395:79;;;-1:-1:-1;;;;;2716:32:1;;;2698:51;;2686:2;2671:18;1395:79:0;2552:203:1;4748:30:0;;;;;;;;;;;;;;;;6320:87;;;;;;;;;;-1:-1:-1;6392:7:0;;;;;;;;;;;;-1:-1:-1;;;6392:7:0;;;;6320:87;;4712:29;;;;;;;;;;;;;;;;6740:199;;;;;;;;;;-1:-1:-1;6740:199:0;;;;;:::i;:::-;;:::i;4822:33::-;;;;;;;;;;-1:-1:-1;4822:33:0;;;;;;;;;;;6947:184;;;;;;;;;;-1:-1:-1;6947:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;7096:18:0;;;7064:7;7096:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6947:184;8075:513;;;;;;;;;;;;;:::i;1809:109::-;;;;;;;;;;-1:-1:-1;1809:109:0;;;;;:::i;:::-;;:::i;4672:33::-;;;;;;;;;;-1:-1:-1;4672:33:0;;;;-1:-1:-1;;;;;4672:33:0;;;7139:193;7241:4;7263:39;304:10;7286:7;7295:6;7263:8;:39::i;:::-;-1:-1:-1;7320:4:0;7139:193;;;;;:::o;8600:84::-;1601:4;1639:6;-1:-1:-1;;;;;1639:6:0;1625:10;:20;1514:18;;;;;;8656:13:::1;:20:::0;;-1:-1:-1;;8656:20:0::1;;;::::0;;8600:84::o;7340:350::-;7472:4;7489:36;7499:6;7507:9;7518:6;7489:9;:36::i;:::-;-1:-1:-1;;;;;7607:19:0;;;;;;:11;:19;;;;;;;;304:10;7607:33;;;;;;;;;7536:124;;7559:6;;7607:42;;7643:6;;7607:42;:::i;:::-;7536:8;:124::i;:::-;-1:-1:-1;7678:4:0;7340:350;;;;;:::o;9075:97::-;1601:4;1639:6;-1:-1:-1;;;;;1639:6:0;1625:10;:20;1514:18;;;;;;4386:20:::1;9135:14;:29:::0;9075:97::o;8692:241::-;1601:4;1639:6;-1:-1:-1;;;;;1639:6:0;1625:10;:20;1514:18;;;;;;8783:14:::1;:24:::0;;;8818:15:::1;:26:::0;;;8865:19;::::1;;8857:28;;;::::0;::::1;;8923:1;8904:15;;:20;;8896:29;;;::::0;::::1;;8692:241:::0;;:::o;1661:140::-;1601:4;1639:6;-1:-1:-1;;;;;1639:6:0;1625:10;:20;1514:18;;;;;;1760:1:::1;1744:6:::0;;1723:40:::1;::::0;-1:-1:-1;;;;;1744:6:0;;::::1;::::0;1723:40:::1;::::0;1760:1;;1723:40:::1;1791:1;1774:19:::0;;-1:-1:-1;;;;;;1774:19:0::1;::::0;;1661:140::o;6740:199::-;6845:4;6867:42;304:10;6891:9;6902:6;6867:9;:42::i;8075:513::-;1601:4;1639:6;-1:-1:-1;;;;;1639:6:0;1625:10;:20;1514:18;;;;;;8163:15:::1;-1:-1:-1::0;;;;;8163:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8145:113;::::0;-1:-1:-1;;;8145:113:0;;8223:4:::1;8145:113;::::0;::::1;4110:34:1::0;-1:-1:-1;;;;;8243:4:0::1;4180:15:1::0;;4160:18;;;4153:43;8145:55:0;;;::::1;::::0;::::1;::::0;4045:18:1;;8145:113:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8129:13;:129:::0;;-1:-1:-1;;;;;;8129:129:0::1;-1:-1:-1::0;;;;;8129:129:0;;;::::1;::::0;;;::::1;::::0;;8363:4:::1;-1:-1:-1::0;6707:17:0;;;:8;:17;;;;;;8291:21:::1;::::0;8323:46:::1;8382:15;-1:-1:-1::0;;;;;8382:31:0::1;;8421:9;8454:4;8474:11;8500:1;8516::::0;8532:7:::1;1433::::0;1460:6;-1:-1:-1;;;;;1460:6:0;;1395:79;8532:7:::1;8382:198;::::0;::::1;::::0;;;-1:-1:-1;;;;;;8382:198:0;;;-1:-1:-1;;;;;4566:15:1;;;8382:198:0::1;::::0;::::1;4548:34:1::0;4598:18;;;4591:34;;;;4641:18;;;4634:34;;;;4684:18;;;4677:34;4748:15;;;4727:19;;;4720:44;8554:15:0::1;4780:19:1::0;;;4773:35;4482:19;;8382:198:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;8118:470;;8075:513::o:0;1809:109::-;1601:4;1639:6;-1:-1:-1;;;;;1639:6:0;1625:10;:20;1514:18;;;;;;1882:28:::1;1901:8;1882:18;:28::i;:::-;1809:109:::0;:::o;7698:369::-;-1:-1:-1;;;;;7825:19:0;;7817:68;;;;-1:-1:-1;;;7817:68:0;;5332:2:1;7817:68:0;;;5314:21:1;5371:2;5351:18;;;5344:30;5410:34;5390:18;;;5383:62;-1:-1:-1;;;5461:18:1;;;5454:34;5505:19;;7817:68:0;;;;;;;;;-1:-1:-1;;;;;7904:21:0;;7896:68;;;;-1:-1:-1;;;7896:68:0;;5737:2:1;7896:68:0;;;5719:21:1;5776:2;5756:18;;;5749:30;5815:34;5795:18;;;5788:62;-1:-1:-1;;;5866:18:1;;;5859:32;5908:19;;7896:68:0;5535:398:1;7896:68:0;-1:-1:-1;;;;;7975:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;8027:32;;1361:25:1;;;8027:32:0;;1334:18:1;8027:32:0;;;;;;;7698:369;;;:::o;9180:2873::-;-1:-1:-1;;;;;9302:18:0;;9294:68;;;;-1:-1:-1;;;9294:68:0;;6140:2:1;9294:68:0;;;6122:21:1;6179:2;6159:18;;;6152:30;6218:34;6198:18;;;6191:62;-1:-1:-1;;;6269:18:1;;;6262:35;6314:19;;9294:68:0;5938:401:1;9294:68:0;9389:13;;;;;;;;:41;;-1:-1:-1;;;;;;9406:24:0;;;;;;:18;:24;;;;;;;;9389:41;:67;;;-1:-1:-1;;;;;;9434:22:0;;;;;;:18;:22;;;;;;;;9389:67;9381:91;;;;-1:-1:-1;;;9381:91:0;;6546:2:1;9381:91:0;;;6528:21:1;6585:2;6565:18;;;6558:30;-1:-1:-1;;;6604:18:1;;;6597:41;6655:18;;9381:91:0;6344:335:1;9381:91:0;-1:-1:-1;;;;;9543:24:0;;9493:12;9543:24;;;:18;:24;;;;;;9493:12;;9543:24;;;:50;;-1:-1:-1;;;;;;9571:22:0;;;;;;:18;:22;;;;;;;;9543:50;9539:1806;;;-1:-1:-1;9617:1:0;9539:1806;;;9657:10;;;;;:15;9653:233;;-1:-1:-1;;;;;9728:14:0;;;;;;:8;:14;;;;;:24;;9746:6;;9728:14;:24;;9746:6;;9728:24;:::i;:::-;;;;-1:-1:-1;;;;;;;9771:12:0;;;;;;:8;:12;;;;;:22;;9787:6;;9771:12;:22;;9787:6;;9771:22;:::i;:::-;;;;;;;;9834:2;-1:-1:-1;;;;;9819:26:0;9828:4;-1:-1:-1;;;;;9819:26:0;;9838:6;9819:26;;;;1361:25:1;;1349:2;1334:18;;1215:177;9819:26:0;;;;;;;;9864:7;;9180:2873;;;:::o;9653:233::-;9914:13;;-1:-1:-1;;;;;9914:13:0;;;9906:21;;;;9902:1432;;-1:-1:-1;9955:14:0;;-1:-1:-1;;;;;9993:31:0;;;;;;:25;:31;;;;;;;;9992:32;;:66;;-1:-1:-1;;;;;;10029:29:0;;;;;;:25;:29;;;;;;;;10028:30;9992:66;9988:167;;;10120:14;;10091:25;10109:6;10091:13;10101:2;-1:-1:-1;;;;;6707:17:0;6680:7;6707:17;;;:8;:17;;;;;;;6614:118;10091:13;:17;;:25::i;:::-;:43;;10083:52;;;;;;9902:1432;;;10186:13;;-1:-1:-1;;;;;10186:13:0;;;10180:19;;;;10176:1158;;-1:-1:-1;;;;;10224:25:0;;;;;;:19;:25;;;;;;;;10220:45;;;10261:4;10251:14;;10220:45;10324:4;10284:20;10307:23;;;:8;:23;;;;;;10368:7;;:14;;10378:4;10368:14;:::i;:::-;10353:12;:29;10349:64;;;10399:7;;:14;;10409:4;10399:14;:::i;:::-;10384:29;;10349:64;10451:7;;10436:12;:22;:42;;;;;10471:7;;10462:6;:16;10436:42;:61;;;;-1:-1:-1;10482:10:0;;;;:15;10436:61;10432:795;;;10522:10;:14;;-1:-1:-1;;10522:14:0;10535:1;10522:14;;;10585:16;;;10599:1;10585:16;;;;;;;;-1:-1:-1;;10585:16:0;;;;;;;;;;-1:-1:-1;10585:16:0;10561:40;;10642:4;10624;10629:1;10624:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;10624:23:0;;;-1:-1:-1;;;;;10624:23:0;;;;;10680:4;10670;10675:1;10670:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;10670:14:0;;;:7;;;;;;;;;:14;10707:319;;-1:-1:-1;;;10707:319:0;;:15;:92;;;;;;:319;;10830:12;;10873:1;;10905:4;;10948;;10984:15;;10707:319;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;11141:10:0;;11076:21;;-1:-1:-1;11120:48:0;;-1:-1:-1;;;;;;11141:10:0;11076:21;11120:20;:48::i;:::-;-1:-1:-1;;11193:10:0;:14;;-1:-1:-1;;11193:14:0;;;10432:795;-1:-1:-1;;11252:15:0;;10176:1158;;;-1:-1:-1;11317:1:0;10176:1158;11416:9;;11412:634;;11470:17;11508:3;11491:13;11500:4;11491:6;:13;:::i;:::-;11490:21;;;;:::i;:::-;11470:41;-1:-1:-1;11526:22:0;11551:18;11470:41;11551:6;:18;:::i;:::-;11526:43;;11587:7;11584:28;;;11596:16;11606:6;;11596:16;:::i;:::-;;;11584:28;-1:-1:-1;;;;;11627:14:0;;;;;;:8;:14;;;;;:24;;11645:6;;11627:14;:24;;11645:6;;11627:24;:::i;:::-;;;;-1:-1:-1;;;;;;;11666:12:0;;;;;;:8;:12;;;;;:30;;11682:14;;11666:12;:30;;11682:14;;11666:30;:::i;:::-;;;;-1:-1:-1;;11728:4:0;11711:23;;;;:8;:23;;;;;:36;;11738:9;;11711:23;:36;;11738:9;;11711:36;:::i;:::-;;;;-1:-1:-1;;11767:40:0;;1361:25:1;;;11790:4:0;;-1:-1:-1;;;;;11767:40:0;;;;;1349:2:1;1334:18;11767:40:0;;;;;;;11842:2;-1:-1:-1;;;;;11827:34:0;11836:4;-1:-1:-1;;;;;11827:34:0;;11846:14;11827:34;;;;1361:25:1;;1349:2;1334:18;;1215:177;11827:34:0;;;;;;;;11427:446;;11412:634;;;-1:-1:-1;;;;;11925:14:0;;;;;;:8;:14;;;;;:24;;11943:6;;11925:14;:24;;11943:6;;11925:24;:::i;1926:187::-;-1:-1:-1;;;;;2000:22:0;;1992:31;;;;;;2060:6;;;2039:38;;-1:-1:-1;;;;;2039:38:0;;;;2060:6;;;2039:38;;;2088:6;:17;;-1:-1:-1;;;;;;2088:17:0;-1:-1:-1;;;;;2088:17:0;;;;;;;;;;1926:187::o;2148:181::-;2206:7;;2238:5;2242:1;2238;:5;:::i;:::-;2226:17;;2267:1;2262;:6;;2254:46;;;;-1:-1:-1;;;2254:46:0;;8660:2:1;2254:46:0;;;8642:21:1;8699:2;8679:18;;;8672:30;8738:29;8718:18;;;8711:57;8785:18;;2254:46:0;8458:351:1;2254:46:0;2320:1;2148:181;-1:-1:-1;;;2148:181:0:o;8941:126::-;9033:26;;-1:-1:-1;;;;;9033:18:0;;;:26;;;;;9052:6;;9033:26;;;;9052:6;9033:18;:26;;;;;;;;;;;;;;;;;;;;;8941:126;;:::o;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:315;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2047:248::-;2115:6;2123;2176:2;2164:9;2155:7;2151:23;2147:32;2144:52;;;2192:1;2189;2182:12;2144:52;-1:-1:-1;;2215:23:1;;;2285:2;2270:18;;;2257:32;;-1:-1:-1;2047:248:1:o;2300:247::-;2359:6;2412:2;2400:9;2391:7;2387:23;2383:32;2380:52;;;2428:1;2425;2418:12;2380:52;2467:9;2454:23;2486:31;2511:5;2486:31;:::i;2760:388::-;2828:6;2836;2889:2;2877:9;2868:7;2864:23;2860:32;2857:52;;;2905:1;2902;2895:12;2857:52;2944:9;2931:23;2963:31;2988:5;2963:31;:::i;:::-;3013:5;-1:-1:-1;3070:2:1;3055:18;;3042:32;3083:33;3042:32;3083:33;:::i;:::-;3135:7;3125:17;;;2760:388;;;;;:::o;3377:127::-;3438:10;3433:3;3429:20;3426:1;3419:31;3469:4;3466:1;3459:15;3493:4;3490:1;3483:15;3509:128;3576:9;;;3597:11;;;3594:37;;;3611:18;;:::i;3642:251::-;3712:6;3765:2;3753:9;3744:7;3740:23;3736:32;3733:52;;;3781:1;3778;3771:12;3733:52;3813:9;3807:16;3832:31;3857:5;3832:31;:::i;4819:306::-;4907:6;4915;4923;4976:2;4964:9;4955:7;4951:23;4947:32;4944:52;;;4992:1;4989;4982:12;4944:52;5021:9;5015:16;5005:26;;5071:2;5060:9;5056:18;5050:25;5040:35;;5115:2;5104:9;5100:18;5094:25;5084:35;;4819:306;;;;;:::o;6684:125::-;6749:9;;;6770:10;;;6767:36;;;6783:18;;:::i;6814:168::-;6887:9;;;6918;;6935:15;;;6929:22;;6915:37;6905:71;;6956:18;;:::i;7119:127::-;7180:10;7175:3;7171:20;7168:1;7161:31;7211:4;7208:1;7201:15;7235:4;7232:1;7225:15;7251:980;7513:4;7561:3;7550:9;7546:19;7592:6;7581:9;7574:25;7618:2;7656:6;7651:2;7640:9;7636:18;7629:34;7699:3;7694:2;7683:9;7679:18;7672:31;7723:6;7758;7752:13;7789:6;7781;7774:22;7827:3;7816:9;7812:19;7805:26;;7866:2;7858:6;7854:15;7840:29;;7887:1;7897:195;7911:6;7908:1;7905:13;7897:195;;;7976:13;;-1:-1:-1;;;;;7972:39:1;7960:52;;8067:15;;;;8032:12;;;;8008:1;7926:9;7897:195;;;-1:-1:-1;;;;;;;8148:32:1;;;;8143:2;8128:18;;8121:60;-1:-1:-1;;;8212:3:1;8197:19;8190:35;8109:3;7251:980;-1:-1:-1;;;7251:980:1:o;8236:217::-;8276:1;8302;8292:132;;8346:10;8341:3;8337:20;8334:1;8327:31;8381:4;8378:1;8371:15;8409:4;8406:1;8399:15;8292:132;-1:-1:-1;8438:9:1;;8236:217::o

Swarm Source

ipfs://97ffd009671b62db50d9ef9fcd3ff5cf7145765a86e2846a94547a303f1bf4dc

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.