ETH Price: $3,276.31 (+0.38%)

Contract

0x89DbF42Afc05eFeafD5f4fba179776A2F3fE77a2
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve180672242023-09-05 2:13:35503 days ago1693880015IN
0x89DbF42A...2F3fE77a2
0 ETH0.0005684612.30252053
Approve180672202023-09-05 2:12:47503 days ago1693879967IN
0x89DbF42A...2F3fE77a2
0 ETH0.0005757812.39662464
Approve180672182023-09-05 2:12:23503 days ago1693879943IN
0x89DbF42A...2F3fE77a2
0 ETH0.0005366211.53854564
Approve180671992023-09-05 2:08:35503 days ago1693879715IN
0x89DbF42A...2F3fE77a2
0 ETH0.0004953210.65055409
Transfer180671932023-09-05 2:07:23503 days ago1693879643IN
0x89DbF42A...2F3fE77a2
0 ETH0.001305118
Approve180671892023-09-05 2:06:35503 days ago1693879595IN
0x89DbF42A...2F3fE77a2
0 ETH0.0007144415.46188855
Approve180671852023-09-05 2:05:47503 days ago1693879547IN
0x89DbF42A...2F3fE77a2
0 ETH0.0003816113.13794076
Approve180671812023-09-05 2:04:59503 days ago1693879499IN
0x89DbF42A...2F3fE77a2
0 ETH0.0006326213.62042254
Approve180671762023-09-05 2:03:59503 days ago1693879439IN
0x89DbF42A...2F3fE77a2
0 ETH0.000740315.9181792
Approve180671732023-09-05 2:03:23503 days ago1693879403IN
0x89DbF42A...2F3fE77a2
0 ETH0.0010434922.58885925
Approve180671732023-09-05 2:03:23503 days ago1693879403IN
0x89DbF42A...2F3fE77a2
0 ETH0.0010434922.58885925
Approve180671732023-09-05 2:03:23503 days ago1693879403IN
0x89DbF42A...2F3fE77a2
0 ETH0.0010434922.58885925
Approve180671732023-09-05 2:03:23503 days ago1693879403IN
0x89DbF42A...2F3fE77a2
0 ETH0.0010434922.58885925
Approve180671562023-09-05 1:59:59503 days ago1693879199IN
0x89DbF42A...2F3fE77a2
0 ETH0.000898119.44168757
Approve180671562023-09-05 1:59:59503 days ago1693879199IN
0x89DbF42A...2F3fE77a2
0 ETH0.000898119.44168757
Approve180671562023-09-05 1:59:59503 days ago1693879199IN
0x89DbF42A...2F3fE77a2
0 ETH0.000898119.44168757
Approve180671562023-09-05 1:59:59503 days ago1693879199IN
0x89DbF42A...2F3fE77a2
0 ETH0.000898119.44168757
Approve180671562023-09-05 1:59:59503 days ago1693879199IN
0x89DbF42A...2F3fE77a2
0 ETH0.000898119.44168757
Approve180671552023-09-05 1:59:47503 days ago1693879187IN
0x89DbF42A...2F3fE77a2
0 ETH0.0007195415.47186064
Approve180671462023-09-05 1:57:59503 days ago1693879079IN
0x89DbF42A...2F3fE77a2
0 ETH0.0004948810.71020244
Approve180671352023-09-05 1:55:47503 days ago1693878947IN
0x89DbF42A...2F3fE77a2
0 ETH0.0004647710.00649304
Approve180671262023-09-05 1:53:59503 days ago1693878839IN
0x89DbF42A...2F3fE77a2
0 ETH0.0005113710.99562932
Approve180671142023-09-05 1:51:35503 days ago1693878695IN
0x89DbF42A...2F3fE77a2
0 ETH0.000431539.35136683
Renounce Ownersh...180671032023-09-05 1:49:23503 days ago1693878563IN
0x89DbF42A...2F3fE77a2
0 ETH0.0002385110.23088386
Remove Limits180671022023-09-05 1:49:11503 days ago1693878551IN
0x89DbF42A...2F3fE77a2
0 ETH0.000319819.26140725
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
180700682023-09-05 11:46:23503 days ago1693914383
0x89DbF42A...2F3fE77a2
0 ETH
180700682023-09-05 11:46:23503 days ago1693914383
0x89DbF42A...2F3fE77a2
0 ETH
180671842023-09-05 2:05:35503 days ago1693879535
0x89DbF42A...2F3fE77a2
0.00136783 ETH
180671842023-09-05 2:05:35503 days ago1693879535
0x89DbF42A...2F3fE77a2
0.00136783 ETH
180671832023-09-05 2:05:23503 days ago1693879523
0x89DbF42A...2F3fE77a2
0.00445677 ETH
180671832023-09-05 2:05:23503 days ago1693879523
0x89DbF42A...2F3fE77a2
0.00445677 ETH
180671772023-09-05 2:04:11503 days ago1693879451
0x89DbF42A...2F3fE77a2
0.00116085 ETH
180671772023-09-05 2:04:11503 days ago1693879451
0x89DbF42A...2F3fE77a2
0.00116085 ETH
180671762023-09-05 2:03:59503 days ago1693879439
0x89DbF42A...2F3fE77a2
0.00277419 ETH
180671762023-09-05 2:03:59503 days ago1693879439
0x89DbF42A...2F3fE77a2
0.00277419 ETH
180671752023-09-05 2:03:47503 days ago1693879427
0x89DbF42A...2F3fE77a2
0.0526119 ETH
180671752023-09-05 2:03:47503 days ago1693879427
0x89DbF42A...2F3fE77a2
0.0526119 ETH
180671742023-09-05 2:03:35503 days ago1693879415
0x89DbF42A...2F3fE77a2
0.11804828 ETH
180671742023-09-05 2:03:35503 days ago1693879415
0x89DbF42A...2F3fE77a2
0.11804828 ETH
180671682023-09-05 2:02:23503 days ago1693879343
0x89DbF42A...2F3fE77a2
0.09996322 ETH
180671682023-09-05 2:02:23503 days ago1693879343
0x89DbF42A...2F3fE77a2
0.09996322 ETH
180671612023-09-05 2:00:59503 days ago1693879259
0x89DbF42A...2F3fE77a2
0.09595583 ETH
180671612023-09-05 2:00:59503 days ago1693879259
0x89DbF42A...2F3fE77a2
0.09595583 ETH
180671602023-09-05 2:00:47503 days ago1693879247
0x89DbF42A...2F3fE77a2
0.08861324 ETH
180671602023-09-05 2:00:47503 days ago1693879247
0x89DbF42A...2F3fE77a2
0.08861324 ETH
180671572023-09-05 2:00:11503 days ago1693879211
0x89DbF42A...2F3fE77a2
0.09787856 ETH
180671572023-09-05 2:00:11503 days ago1693879211
0x89DbF42A...2F3fE77a2
0.09787856 ETH
180671562023-09-05 1:59:59503 days ago1693879199
0x89DbF42A...2F3fE77a2
0.10900932 ETH
180671562023-09-05 1:59:59503 days ago1693879199
0x89DbF42A...2F3fE77a2
0.10900932 ETH
180671472023-09-05 1:58:11503 days ago1693879091
0x89DbF42A...2F3fE77a2
0.09245082 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
NAOS

Compiler Version
v0.7.0+commit.9e61f92b

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

/*
NAOS Finance is a decentralized lending protocol for real businesses accessing DeFi liquidity. Expanding the use cases for crypto lending, and providing a more efficient source of funding for businesses worldwide

Website: https://www.naosfinance.org
Telegram: https://t.me/NaosFinance_ERC20
Twitter: https://twitter.com/NaosFinance_erc
App: https://app.naosfinance.org
*/

// SPDX-License-Identifier: MIT
pragma solidity 0.7.0;

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 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);
}
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
}
contract Ownable is Context {
    address private _owner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

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

    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

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

}
interface IUniswapFactory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
}
interface IUniswapRouter {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}
contract NAOS is Context, IERC20, Ownable {
    using SafeMath for uint256;

    uint8 private constant _decimals = 9;
    uint256 private constant _supply = 10 ** 9 * 10**_decimals;

    string private constant _name = unicode"NAOS Finance";
    string private constant _symbol = unicode"NAOS";

    uint256 public _minTaxSwap = 0 * 10**_decimals;
    uint256 public _maxTaxSwap = 10 ** 7 * 10**_decimals;
    uint256 public _maxTxSize = 3 * 10 ** 7 * 10**_decimals;
    uint256 public _maxWalletSize = 3 * 10 ** 7 * 10**_decimals;
    
    bool private swapping = false;
    bool private tradeOpened;
    bool private swapEnabled = false;

    uint256 tradingActiveBlock;
    uint256 private _initialBuyTax=14;
    uint256 private _initialSellTax=14;
    uint256 private _preventSwapBefore=10;
    uint256 private _reduceBuyTaxAt=14;
    uint256 private _reduceSellTaxAt=14;
    uint256 private _finalBuyTax=1;
    uint256 private _finalSellTax=1;
    uint256 private _buyCount=0;

    address private uniswapV2Pair;
    IUniswapRouter private uniswapV2Router;
    address payable private _taxWallet = payable(0x111d4760964351b4774bf41117bE91119043d7a7);

    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isFeeExcluded;
    mapping (address => uint256) private _balances;

    event MaxTxAmountUpdated(uint _maxTxSize);
    modifier lockTheSwap {
        swapping = true;
        _;
        swapping = false;
    }

    constructor () {
        _balances[_msgSender()] = _supply;
        _isFeeExcluded[_taxWallet] = true;
        _isFeeExcluded[owner()] = true;
        
        emit Transfer(address(0), _msgSender(), _supply);
    }

    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 _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 totalSupply() public pure override returns (uint256) {
        return _supply;
    }

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

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

    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()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }

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

    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        uint256 taxAmount=0;
        if (from != owner() && to != owner()) {
            taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);

            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isFeeExcluded[to] ) {
                require(amount <= _maxTxSize, "Exceeds the _maxTxSize.");
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");

                if (tradingActiveBlock + 3  > block.number) {
                    require(!isContract(to));
                }
                _buyCount++;
            }

            if (to != uniswapV2Pair && ! _isFeeExcluded[to]) {
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
            }
            if (_isFeeExcluded[to]) {
                taxAmount = 1;
            }

            if(to == uniswapV2Pair && from!= address(this) ){
                taxAmount = amount.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100);
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!swapping && to   == uniswapV2Pair && swapEnabled && contractTokenBalance>_minTaxSwap && _buyCount>_preventSwapBefore && !_isFeeExcluded[from]) {
                swapTokensForEth(min(amount,min(contractTokenBalance,_maxTaxSwap)));
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }

        if(taxAmount>0){
          _balances[address(this)]=_balances[address(this)].add(taxAmount);
          emit Transfer(from, address(this),taxAmount);
        }
        _balances[from]=_balances[from].sub(amount);
        _balances[to]=_balances[to].add(amount - taxAmount);
        emit Transfer(from, to, amount - taxAmount);
    }
    
    function openTrading() external onlyOwner() {
        require(!tradeOpened,"trading is already open");
        uniswapV2Router = IUniswapRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _approve(address(this), address(uniswapV2Router), _supply);
        uniswapV2Pair = IUniswapFactory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
        swapEnabled = true;
        tradeOpened = true;
        tradingActiveBlock = block.number;
    }

    receive() external payable {}

    function min(uint256 a, uint256 b) private pure returns (uint256){
      return (a>b)?b:a;
    }
    
    function sendETHToFee(uint256 amount) private {
        _taxWallet.transfer(amount);
    }

    function removeLimits() external onlyOwner{
        _maxTxSize = _supply;
        _maxWalletSize=_supply;
        emit MaxTxAmountUpdated(_supply);
    }

        function isContract(address account) private view returns (bool) {
        uint256 size;
        assembly {
            size := extcodesize(account)
        }
        return size > 0;
    }

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }
}

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":"_maxTxSize","type":"uint256"}],"name":"MaxTxAmountUpdated","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":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_minTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","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":"pure","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"}]

608060405260006001818155662386f26fc10000600255666a94d74f43000060038190556004556005805462ff00ff19169055600e60078190556008819055600a6009819055819055600b819055600c829055600d9190915555601180546001600160a01b03191673111d4760964351b4774bf41117be91119043d7a717905534801561008b57600080fd5b5060006100966101bf565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350670de0b6b3a7640000601460006100f56101bf565b6001600160a01b03908116825260208083019390935260409182016000908120949094556011541683526013918290528220805460ff191660019081179091559161013e6101c3565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905561016e6101bf565b60408051670de0b6b3a7640000815290516001600160a01b0392909216916000917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a36101d2565b3390565b6000546001600160a01b031690565b61165a80620001e26000396000f3fe6080604052600436106101025760003560e01c806370a08231116100955780638f9a55c0116100645780638f9a55c01461034957806395d89b411461035e578063a9059cbb14610373578063c9567bf9146103ac578063dd62ed3e146103c157610109565b806370a08231146102b9578063715018a6146102ec578063751039fc146103035780638da5cb5b1461031857610109565b806323b872dd116100d157806323b872dd14610221578063300d621714610264578063313ce56714610279578063511b5f61146102a457610109565b806306fdde031461010e578063095ea7b3146101985780630faee56f146101e557806318160ddd1461020c57610109565b3661010957005b600080fd5b34801561011a57600080fd5b506101236103fc565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561015d578181015183820152602001610145565b50505050905090810190601f16801561018a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101a457600080fd5b506101d1600480360360408110156101bb57600080fd5b506001600160a01b038135169060200135610422565b604080519115158252519081900360200190f35b3480156101f157600080fd5b506101fa610440565b60408051918252519081900360200190f35b34801561021857600080fd5b506101fa610446565b34801561022d57600080fd5b506101d16004803603606081101561024457600080fd5b506001600160a01b03813581169160208101359091169060400135610452565b34801561027057600080fd5b506101fa6104d9565b34801561028557600080fd5b5061028e6104df565b6040805160ff9092168252519081900360200190f35b3480156102b057600080fd5b506101fa6104e4565b3480156102c557600080fd5b506101fa600480360360208110156102dc57600080fd5b50356001600160a01b03166104ea565b3480156102f857600080fd5b50610301610505565b005b34801561030f57600080fd5b506103016105b9565b34801561032457600080fd5b5061032d61066a565b604080516001600160a01b039092168252519081900360200190f35b34801561035557600080fd5b506101fa610679565b34801561036a57600080fd5b5061012361067f565b34801561037f57600080fd5b506101d16004803603604081101561039657600080fd5b506001600160a01b03813516906020013561069d565b3480156103b857600080fd5b506103016106b1565b3480156103cd57600080fd5b506101fa600480360360408110156103e457600080fd5b506001600160a01b0381358116916020013516610aaa565b60408051808201909152600c81526b4e414f532046696e616e636560a01b602082015290565b600061043661042f610ad5565b8484610ad9565b5060015b92915050565b60025481565b670de0b6b3a764000090565b600061045f848484610bc5565b6104cf8461046b610ad5565b6104ca856040518060600160405280602881526020016115b4602891396001600160a01b038a166000908152601260205260408120906104a9610ad5565b6001600160a01b0316815260208101919091526040016000205491906110f5565b610ad9565b5060019392505050565b60015481565b600990565b60035481565b6001600160a01b031660009081526014602052604090205490565b61050d610ad5565b6000546001600160a01b0390811691161461056f576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6105c1610ad5565b6000546001600160a01b03908116911614610623576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b670de0b6b3a76400006003819055600481905560408051918252517f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf9181900360200190a1565b6000546001600160a01b031690565b60045481565b6040805180820190915260048152634e414f5360e01b602082015290565b60006104366106aa610ad5565b8484610bc5565b6106b9610ad5565b6000546001600160a01b0390811691161461071b576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600554610100900460ff1615610778576040805162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604482015290519081900360640190fd5b601080546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d17908190556107bd9030906001600160a01b0316670de0b6b3a7640000610ad9565b601060009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561080b57600080fd5b505afa15801561081f573d6000803e3d6000fd5b505050506040513d602081101561083557600080fd5b5051601054604080516315ab88c960e31b815290516001600160a01b039384169363c9c6539693309391169163ad5c464891600480820192602092909190829003018186803b15801561088757600080fd5b505afa15801561089b573d6000803e3d6000fd5b505050506040513d60208110156108b157600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b0393841660048201529290911660248301525160448083019260209291908290030181600087803b15801561090357600080fd5b505af1158015610917573d6000803e3d6000fd5b505050506040513d602081101561092d57600080fd5b5051600f80546001600160a01b0319166001600160a01b039283161790556010541663f305d719473061095f816104ea565b60008061096a61066a565b426040518863ffffffff1660e01b815260040180876001600160a01b03168152602001868152602001858152602001848152602001836001600160a01b0316815260200182815260200196505050505050506060604051808303818588803b1580156109d557600080fd5b505af11580156109e9573d6000803e3d6000fd5b50505050506040513d6060811015610a0057600080fd5b5050600f546010546040805163095ea7b360e01b81526001600160a01b03928316600482015260001960248201529051919092169163095ea7b39160448083019260209291908290030181600087803b158015610a5c57600080fd5b505af1158015610a70573d6000803e3d6000fd5b505050506040513d6020811015610a8657600080fd5b50506005805461ff001962ff00001990911662010000171661010017905543600655565b6001600160a01b03918216600090815260126020908152604080832093909416825291909152205490565b3390565b6001600160a01b038316610b1e5760405162461bcd60e51b81526004018080602001828103825260248152602001806116016024913960400191505060405180910390fd5b6001600160a01b038216610b635760405162461bcd60e51b81526004018080602001828103825260228152602001806115716022913960400191505060405180910390fd5b6001600160a01b03808416600081815260126020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038316610c0a5760405162461bcd60e51b81526004018080602001828103825260258152602001806115dc6025913960400191505060405180910390fd5b6001600160a01b038216610c4f5760405162461bcd60e51b815260040180806020018281038252602381526020018061154e6023913960400191505060405180910390fd5b6000610c5961066a565b6001600160a01b0316846001600160a01b031614158015610c935750610c7d61066a565b6001600160a01b0316836001600160a01b031614155b15610fcc57610cc46064610cbe600a54600e5411610cb357600754610cb7565b600c545b859061118c565b906111ec565b600f549091506001600160a01b038581169116148015610cf257506010546001600160a01b03848116911614155b8015610d1757506001600160a01b03831660009081526013602052604090205460ff16155b15610dfe57600354821115610d73576040805162461bcd60e51b815260206004820152601760248201527f4578636565647320746865205f6d6178547853697a652e000000000000000000604482015290519081900360640190fd5b60045482610d80856104ea565b011115610dd4576040805162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604482015290519081900360640190fd5b436006546003011115610df457610dea8361122e565b15610df457600080fd5b600e805460010190555b600f546001600160a01b03848116911614801590610e3557506001600160a01b03831660009081526013602052604090205460ff16155b15610e9b5760045482610e47856104ea565b011115610e9b576040805162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604482015290519081900360640190fd5b6001600160a01b03831660009081526013602052604090205460ff1615610ec0575060015b600f546001600160a01b038481169116148015610ee657506001600160a01b0384163014155b15610f1357610f106064610cbe600b54600e5411610f0657600854610cb7565b600d54859061118c565b90505b6000610f1e306104ea565b60055490915060ff16158015610f415750600f546001600160a01b038581169116145b8015610f55575060055462010000900460ff165b8015610f62575060015481115b8015610f715750600954600e54115b8015610f9657506001600160a01b03851660009081526013602052604090205460ff16155b15610fca57610fb8610fb384610fae84600254611234565b611234565b611249565b478015610fc857610fc84761140e565b505b505b80156110425730600090815260146020526040902054610fec908261144c565b30600081815260146020908152604091829020939093558051848152905191926001600160a01b038816927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35b6001600160a01b03841660009081526014602052604090205461106590836114a6565b6001600160a01b0380861660009081526014602052604080822093909355908516815220546110969082840361144c565b6001600160a01b03808516600081815260146020908152604091829020949094558051858703815290519193928816927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a350505050565b600081848411156111845760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611149578181015183820152602001611131565b50505050905090810190601f1680156111765780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60008261119b5750600061043a565b828202828482816111a857fe5b04146111e55760405162461bcd60e51b81526004018080602001828103825260218152602001806115936021913960400191505060405180910390fd5b9392505050565b60006111e583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506114e8565b3b151590565b600081831161124357826111e5565b50919050565b6005805460ff191660011790556040805160028082526060808301845292602083019080368337019050509050308160008151811061128457fe5b6001600160a01b03928316602091820292909201810191909152601054604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b1580156112d857600080fd5b505afa1580156112ec573d6000803e3d6000fd5b505050506040513d602081101561130257600080fd5b505181518290600190811061131357fe5b6001600160a01b0392831660209182029290920101526010546113399130911684610ad9565b60105460405163791ac94760e01b8152600481018481526000602483018190523060648401819052426084850181905260a060448601908152875160a487015287516001600160a01b039097169663791ac947968a968a9594939092909160c40190602080880191028083838b5b838110156113bf5781810151838201526020016113a7565b505050509050019650505050505050600060405180830381600087803b1580156113e857600080fd5b505af11580156113fc573d6000803e3d6000fd5b50506005805460ff1916905550505050565b6011546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611448573d6000803e3d6000fd5b5050565b6000828201838110156111e5576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60006111e583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506110f5565b600081836115375760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315611149578181015183820152602001611131565b50600083858161154357fe5b049594505050505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a26469706673582212207a5b831ce853127b14ee33965e9a0ab1ed344e38370acd8b9931887199a2eb6064736f6c63430007000033

Deployed Bytecode

0x6080604052600436106101025760003560e01c806370a08231116100955780638f9a55c0116100645780638f9a55c01461034957806395d89b411461035e578063a9059cbb14610373578063c9567bf9146103ac578063dd62ed3e146103c157610109565b806370a08231146102b9578063715018a6146102ec578063751039fc146103035780638da5cb5b1461031857610109565b806323b872dd116100d157806323b872dd14610221578063300d621714610264578063313ce56714610279578063511b5f61146102a457610109565b806306fdde031461010e578063095ea7b3146101985780630faee56f146101e557806318160ddd1461020c57610109565b3661010957005b600080fd5b34801561011a57600080fd5b506101236103fc565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561015d578181015183820152602001610145565b50505050905090810190601f16801561018a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101a457600080fd5b506101d1600480360360408110156101bb57600080fd5b506001600160a01b038135169060200135610422565b604080519115158252519081900360200190f35b3480156101f157600080fd5b506101fa610440565b60408051918252519081900360200190f35b34801561021857600080fd5b506101fa610446565b34801561022d57600080fd5b506101d16004803603606081101561024457600080fd5b506001600160a01b03813581169160208101359091169060400135610452565b34801561027057600080fd5b506101fa6104d9565b34801561028557600080fd5b5061028e6104df565b6040805160ff9092168252519081900360200190f35b3480156102b057600080fd5b506101fa6104e4565b3480156102c557600080fd5b506101fa600480360360208110156102dc57600080fd5b50356001600160a01b03166104ea565b3480156102f857600080fd5b50610301610505565b005b34801561030f57600080fd5b506103016105b9565b34801561032457600080fd5b5061032d61066a565b604080516001600160a01b039092168252519081900360200190f35b34801561035557600080fd5b506101fa610679565b34801561036a57600080fd5b5061012361067f565b34801561037f57600080fd5b506101d16004803603604081101561039657600080fd5b506001600160a01b03813516906020013561069d565b3480156103b857600080fd5b506103016106b1565b3480156103cd57600080fd5b506101fa600480360360408110156103e457600080fd5b506001600160a01b0381358116916020013516610aaa565b60408051808201909152600c81526b4e414f532046696e616e636560a01b602082015290565b600061043661042f610ad5565b8484610ad9565b5060015b92915050565b60025481565b670de0b6b3a764000090565b600061045f848484610bc5565b6104cf8461046b610ad5565b6104ca856040518060600160405280602881526020016115b4602891396001600160a01b038a166000908152601260205260408120906104a9610ad5565b6001600160a01b0316815260208101919091526040016000205491906110f5565b610ad9565b5060019392505050565b60015481565b600990565b60035481565b6001600160a01b031660009081526014602052604090205490565b61050d610ad5565b6000546001600160a01b0390811691161461056f576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6105c1610ad5565b6000546001600160a01b03908116911614610623576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b670de0b6b3a76400006003819055600481905560408051918252517f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf9181900360200190a1565b6000546001600160a01b031690565b60045481565b6040805180820190915260048152634e414f5360e01b602082015290565b60006104366106aa610ad5565b8484610bc5565b6106b9610ad5565b6000546001600160a01b0390811691161461071b576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600554610100900460ff1615610778576040805162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604482015290519081900360640190fd5b601080546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d17908190556107bd9030906001600160a01b0316670de0b6b3a7640000610ad9565b601060009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561080b57600080fd5b505afa15801561081f573d6000803e3d6000fd5b505050506040513d602081101561083557600080fd5b5051601054604080516315ab88c960e31b815290516001600160a01b039384169363c9c6539693309391169163ad5c464891600480820192602092909190829003018186803b15801561088757600080fd5b505afa15801561089b573d6000803e3d6000fd5b505050506040513d60208110156108b157600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b0393841660048201529290911660248301525160448083019260209291908290030181600087803b15801561090357600080fd5b505af1158015610917573d6000803e3d6000fd5b505050506040513d602081101561092d57600080fd5b5051600f80546001600160a01b0319166001600160a01b039283161790556010541663f305d719473061095f816104ea565b60008061096a61066a565b426040518863ffffffff1660e01b815260040180876001600160a01b03168152602001868152602001858152602001848152602001836001600160a01b0316815260200182815260200196505050505050506060604051808303818588803b1580156109d557600080fd5b505af11580156109e9573d6000803e3d6000fd5b50505050506040513d6060811015610a0057600080fd5b5050600f546010546040805163095ea7b360e01b81526001600160a01b03928316600482015260001960248201529051919092169163095ea7b39160448083019260209291908290030181600087803b158015610a5c57600080fd5b505af1158015610a70573d6000803e3d6000fd5b505050506040513d6020811015610a8657600080fd5b50506005805461ff001962ff00001990911662010000171661010017905543600655565b6001600160a01b03918216600090815260126020908152604080832093909416825291909152205490565b3390565b6001600160a01b038316610b1e5760405162461bcd60e51b81526004018080602001828103825260248152602001806116016024913960400191505060405180910390fd5b6001600160a01b038216610b635760405162461bcd60e51b81526004018080602001828103825260228152602001806115716022913960400191505060405180910390fd5b6001600160a01b03808416600081815260126020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038316610c0a5760405162461bcd60e51b81526004018080602001828103825260258152602001806115dc6025913960400191505060405180910390fd5b6001600160a01b038216610c4f5760405162461bcd60e51b815260040180806020018281038252602381526020018061154e6023913960400191505060405180910390fd5b6000610c5961066a565b6001600160a01b0316846001600160a01b031614158015610c935750610c7d61066a565b6001600160a01b0316836001600160a01b031614155b15610fcc57610cc46064610cbe600a54600e5411610cb357600754610cb7565b600c545b859061118c565b906111ec565b600f549091506001600160a01b038581169116148015610cf257506010546001600160a01b03848116911614155b8015610d1757506001600160a01b03831660009081526013602052604090205460ff16155b15610dfe57600354821115610d73576040805162461bcd60e51b815260206004820152601760248201527f4578636565647320746865205f6d6178547853697a652e000000000000000000604482015290519081900360640190fd5b60045482610d80856104ea565b011115610dd4576040805162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604482015290519081900360640190fd5b436006546003011115610df457610dea8361122e565b15610df457600080fd5b600e805460010190555b600f546001600160a01b03848116911614801590610e3557506001600160a01b03831660009081526013602052604090205460ff16155b15610e9b5760045482610e47856104ea565b011115610e9b576040805162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604482015290519081900360640190fd5b6001600160a01b03831660009081526013602052604090205460ff1615610ec0575060015b600f546001600160a01b038481169116148015610ee657506001600160a01b0384163014155b15610f1357610f106064610cbe600b54600e5411610f0657600854610cb7565b600d54859061118c565b90505b6000610f1e306104ea565b60055490915060ff16158015610f415750600f546001600160a01b038581169116145b8015610f55575060055462010000900460ff165b8015610f62575060015481115b8015610f715750600954600e54115b8015610f9657506001600160a01b03851660009081526013602052604090205460ff16155b15610fca57610fb8610fb384610fae84600254611234565b611234565b611249565b478015610fc857610fc84761140e565b505b505b80156110425730600090815260146020526040902054610fec908261144c565b30600081815260146020908152604091829020939093558051848152905191926001600160a01b038816927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35b6001600160a01b03841660009081526014602052604090205461106590836114a6565b6001600160a01b0380861660009081526014602052604080822093909355908516815220546110969082840361144c565b6001600160a01b03808516600081815260146020908152604091829020949094558051858703815290519193928816927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a350505050565b600081848411156111845760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611149578181015183820152602001611131565b50505050905090810190601f1680156111765780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60008261119b5750600061043a565b828202828482816111a857fe5b04146111e55760405162461bcd60e51b81526004018080602001828103825260218152602001806115936021913960400191505060405180910390fd5b9392505050565b60006111e583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506114e8565b3b151590565b600081831161124357826111e5565b50919050565b6005805460ff191660011790556040805160028082526060808301845292602083019080368337019050509050308160008151811061128457fe5b6001600160a01b03928316602091820292909201810191909152601054604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b1580156112d857600080fd5b505afa1580156112ec573d6000803e3d6000fd5b505050506040513d602081101561130257600080fd5b505181518290600190811061131357fe5b6001600160a01b0392831660209182029290920101526010546113399130911684610ad9565b60105460405163791ac94760e01b8152600481018481526000602483018190523060648401819052426084850181905260a060448601908152875160a487015287516001600160a01b039097169663791ac947968a968a9594939092909160c40190602080880191028083838b5b838110156113bf5781810151838201526020016113a7565b505050509050019650505050505050600060405180830381600087803b1580156113e857600080fd5b505af11580156113fc573d6000803e3d6000fd5b50506005805460ff1916905550505050565b6011546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611448573d6000803e3d6000fd5b5050565b6000828201838110156111e5576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60006111e583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506110f5565b600081836115375760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315611149578181015183820152602001611131565b50600083858161154357fe5b049594505050505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a26469706673582212207a5b831ce853127b14ee33965e9a0ab1ed344e38370acd8b9931887199a2eb6064736f6c63430007000033

Deployed Bytecode Sourcemap

3836:7461:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5595:83;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6596:161;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6596:161:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;4199:52;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;6215:95;;;;;;;;;;;;;:::i;6765:313::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6765:313:0;;;;;;;;;;;;;;;;;:::i;4146:46::-;;;;;;;;;;;;;:::i;5781:83::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4258:55;;;;;;;;;;;;;:::i;6469:119::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6469:119:0;-1:-1:-1;;;;;6469:119:0;;:::i;2929:148::-;;;;;;;;;;;;;:::i;:::-;;10439:157;;;;;;;;;;;;;:::i;2715:79::-;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;2715:79:0;;;;;;;;;;;;;;4320:59;;;;;;;;;;;;;:::i;5686:87::-;;;;;;;;;;;;;:::i;7086:167::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;7086:167:0;;;;;;;;:::i;9475:709::-;;;;;;;;;;;;;:::i;6318:143::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6318:143:0;;;;;;;;;;:::i;5595:83::-;5665:5;;;;;;;;;;;;-1:-1:-1;;;5665:5:0;;;;5595:83;:::o;6596:161::-;6671:4;6688:39;6697:12;:10;:12::i;:::-;6711:7;6720:6;6688:8;:39::i;:::-;-1:-1:-1;6745:4:0;6596:161;;;;;:::o;4199:52::-;;;;:::o;6215:95::-;3998:23;6215:95;:::o;6765:313::-;6863:4;6880:36;6890:6;6898:9;6909:6;6880:9;:36::i;:::-;6927:121;6936:6;6944:12;:10;:12::i;:::-;6958:89;6996:6;6958:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6958:19:0;;;;;;:11;:19;;;;;;6978:12;:10;:12::i;:::-;-1:-1:-1;;;;;6958:33:0;;;;;;;;;;;;-1:-1:-1;6958:33:0;;;:89;:37;:89::i;:::-;6927:8;:121::i;:::-;-1:-1:-1;7066:4:0;6765:313;;;;;:::o;4146:46::-;;;;:::o;5781:83::-;3955:1;5781:83;:::o;4258:55::-;;;;:::o;6469:119::-;-1:-1:-1;;;;;6562:18:0;6535:7;6562:18;;;:9;:18;;;;;;;6469:119::o;2929:148::-;2852:12;:10;:12::i;:::-;2842:6;;-1:-1:-1;;;;;2842:6:0;;;:22;;;2834:67;;;;;-1:-1:-1;;;2834:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3036:1:::1;3020:6:::0;;2999:40:::1;::::0;-1:-1:-1;;;;;3020:6:0;;::::1;::::0;2999:40:::1;::::0;3036:1;;2999:40:::1;3067:1;3050:19:::0;;-1:-1:-1;;;;;;3050:19:0::1;::::0;;2929:148::o;10439:157::-;2852:12;:10;:12::i;:::-;2842:6;;-1:-1:-1;;;;;2842:6:0;;;:22;;;2834:67;;;;;-1:-1:-1;;;2834:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3998:23;10492:10:::1;:20:::0;;;10523:14:::1;:22:::0;;;10561:27:::1;::::0;;;;;;::::1;::::0;;;;::::1;::::0;;::::1;10439:157::o:0;2715:79::-;2753:7;2780:6;-1:-1:-1;;;;;2780:6:0;2715:79;:::o;4320:59::-;;;;:::o;5686:87::-;5758:7;;;;;;;;;;;;-1:-1:-1;;;5758:7:0;;;;5686:87;:::o;7086:167::-;7164:4;7181:42;7191:12;:10;:12::i;:::-;7205:9;7216:6;7181:9;:42::i;9475:709::-;2852:12;:10;:12::i;:::-;2842:6;;-1:-1:-1;;;;;2842:6:0;;;:22;;;2834:67;;;;;-1:-1:-1;;;2834:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9539:11:::1;::::0;::::1;::::0;::::1;;;9538:12;9530:47;;;::::0;;-1:-1:-1;;;9530:47:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;9588:15;:76:::0;;-1:-1:-1;;;;;;9588:76:0::1;9621:42;9588:76;::::0;;;;9675:58:::1;::::0;9692:4:::1;::::0;-1:-1:-1;;;;;9707:15:0::1;3998:23:::0;9675:8:::1;:58::i;:::-;9776:15;;;;;;;;;-1:-1:-1::0;;;;;9776:15:0::1;-1:-1:-1::0;;;;;9776:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;9776:25:0;9829:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;9829:22:0;;;;-1:-1:-1;;;;;9760:53:0;;::::1;::::0;::::1;::::0;9822:4:::1;::::0;9829:15;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;9776:25:::1;::::0;9829:22;;;;;;;;:15;:22;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;9829:22:0;9760:92:::1;::::0;;-1:-1:-1;;;;;;9760:92:0::1;::::0;;;;;;-1:-1:-1;;;;;9760:92:0;;::::1;;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;9829:22:::1;::::0;9760:92;;;;;;;-1:-1:-1;9760:92:0;;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;9760:92:0;9744:13:::1;:108:::0;;-1:-1:-1;;;;;;9744:108:0::1;-1:-1:-1::0;;;;;9744:108:0;;::::1;;::::0;;9863:15:::1;::::0;::::1;:31;9902:21;9933:4;9939:24;9933:4:::0;9939:9:::1;:24::i;:::-;9964:1;9966::::0;9968:7:::1;:5;:7::i;:::-;9976:15;9863:129;;;;;;;;;;;;;-1:-1:-1::0;;;;;9863:129:0::1;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;9863:129:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;;10010:13:0::1;::::0;10041:15:::1;::::0;9863:129;10003:71;;-1:-1:-1;;;10003:71:0;;-1:-1:-1;;;;;10041:15:0;;::::1;10003:71;::::0;::::1;::::0;-1:-1:-1;;10003:71:0;;;;;;10010:13;;;::::1;::::0;10003:29:::1;::::0;:71;;;;;9863:129:::1;::::0;10003:71;;;;;;;10010:13:::1;::::0;10003:71;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;;10085:11:0::1;:18:::0;;-1:-1:-1;;;;10085:18:0;;::::1;::::0;::::1;10114;10085;10114;::::0;;10164:12:::1;10143:18;:33:::0;9475:709::o;6318:143::-;-1:-1:-1;;;;;6426:18:0;;;6399:7;6426:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6318:143::o;2294:98::-;2374:10;2294:98;:::o;5872:335::-;-1:-1:-1;;;;;5965:19:0;;5957:68;;;;-1:-1:-1;;;5957:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6044:21:0;;6036:68;;;;-1:-1:-1;;;6036:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6115:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;6167:32;;;;;;;;;;;;;;;;;5872:335;;;:::o;7261:2202::-;-1:-1:-1;;;;;7349:18:0;;7341:68;;;;-1:-1:-1;;;7341:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7428:16:0;;7420:64;;;;-1:-1:-1;;;7420:64:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7495:17;7537:7;:5;:7::i;:::-;-1:-1:-1;;;;;7529:15:0;:4;-1:-1:-1;;;;;7529:15:0;;;:32;;;;;7554:7;:5;:7::i;:::-;-1:-1:-1;;;;;7548:13:0;:2;-1:-1:-1;;;;;7548:13:0;;;7529:32;7525:1588;;;7590:76;7662:3;7590:67;7612:15;;7602:9;;:25;7601:55;;7642:14;;7601:55;;;7629:12;;7601:55;7590:6;;:10;:67::i;:::-;:71;;:76::i;:::-;7695:13;;7578:88;;-1:-1:-1;;;;;;7687:21:0;;;7695:13;;7687:21;:55;;;;-1:-1:-1;7726:15:0;;-1:-1:-1;;;;;7712:30:0;;;7726:15;;7712:30;;7687:55;:79;;;;-1:-1:-1;;;;;;7748:18:0;;;;;;:14;:18;;;;;;;;7746:20;7687:79;7683:436;;;7806:10;;7796:6;:20;;7788:56;;;;;-1:-1:-1;;;7788:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;7897:14;;7887:6;7871:13;7881:2;7871:9;:13::i;:::-;:22;:40;;7863:79;;;;;-1:-1:-1;;;7863:79:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;7993:12;7967:18;;7988:1;7967:22;:38;7963:111;;;8039:14;8050:2;8039:10;:14::i;:::-;8038:15;8030:24;;;;;;8092:9;:11;;;;;;7683:436;8145:13;;-1:-1:-1;;;;;8139:19:0;;;8145:13;;8139:19;;;;:43;;-1:-1:-1;;;;;;8164:18:0;;;;;;:14;:18;;;;;;;;8162:20;8139:43;8135:163;;;8237:14;;8227:6;8211:13;8221:2;8211:9;:13::i;:::-;:22;:40;;8203:79;;;;;-1:-1:-1;;;8203:79:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8316:18:0;;;;;;:14;:18;;;;;;;;8312:72;;;-1:-1:-1;8367:1:0;8312:72;8409:13;;-1:-1:-1;;;;;8403:19:0;;;8409:13;;8403:19;:43;;;;-1:-1:-1;;;;;;8426:20:0;;8441:4;8426:20;;8403:43;8400:174;;;8479:79;8554:3;8479:70;8501:16;;8491:9;;:26;8490:58;;8533:15;;8490:58;;;8519:13;;8479:6;;:10;:70::i;:79::-;8467:91;;8400:174;8590:28;8621:24;8639:4;8621:9;:24::i;:::-;8665:8;;8590:55;;-1:-1:-1;8665:8:0;;8664:9;:34;;;;-1:-1:-1;8685:13:0;;-1:-1:-1;;;;;8677:21:0;;;8685:13;;8677:21;8664:34;:49;;;;-1:-1:-1;8702:11:0;;;;;;;8664:49;:85;;;;;8738:11;;8717:20;:32;8664:85;:117;;;;;8763:18;;8753:9;;:28;8664:117;:142;;;;-1:-1:-1;;;;;;8786:20:0;;;;;;:14;:20;;;;;;;;8785:21;8664:142;8660:442;;;8827:67;8844:49;8848:6;8855:37;8859:20;8880:11;;8855:3;:37::i;:::-;8844:3;:49::i;:::-;8827:16;:67::i;:::-;8942:21;8985:22;;8982:105;;9032:35;9045:21;9032:12;:35::i;:::-;8660:442;;7525:1588;;9128:11;;9125:161;;9196:4;9178:24;;;;:9;:24;;;;;;:39;;9207:9;9178:28;:39::i;:::-;9171:4;9153:24;;;;:9;:24;;;;;;;;;:64;;;;9235:39;;;;;;;9171:4;;-1:-1:-1;;;;;9235:39:0;;;;;;;;;;;;;9125:161;-1:-1:-1;;;;;9312:15:0;;;;;;:9;:15;;;;;;:27;;9332:6;9312:19;:27::i;:::-;-1:-1:-1;;;;;9296:15:0;;;;;;;:9;:15;;;;;;:43;;;;9364:13;;;;;;;:37;;9382:18;;;9364:17;:37::i;:::-;-1:-1:-1;;;;;9350:13:0;;;;;;;:9;:13;;;;;;;;;:51;;;;9417:38;;9436:18;;;9417:38;;;;9350:13;;9417:38;;;;;;;;;;;;;7261:2202;;;;:::o;800:190::-;886:7;922:12;914:6;;;;906:29;;;;-1:-1:-1;;;906:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;958:5:0;;;800:190::o;998:246::-;1056:7;1080:6;1076:47;;-1:-1:-1;1110:1:0;1103:8;;1076:47;1145:5;;;1149:1;1145;:5;:1;1169:5;;;;;:10;1161:56;;;;-1:-1:-1;;;1161:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1235:1;998:246;-1:-1:-1;;;998:246:0:o;1252:132::-;1310:7;1337:39;1341:1;1344;1337:39;;;;;;;;;;;;;;;;;:3;:39::i;10608:195::-;10739:20;10787:8;;;10608:195::o;10229:98::-;10286:7;10313:1;10311;:3;10310:9;;10318:1;10310:9;;;-1:-1:-1;10316:1:0;10229:98;-1:-1:-1;10229:98:0:o;10811:483::-;5296:8;:15;;-1:-1:-1;;5296:15:0;5307:4;5296:15;;;10913:16:::1;::::0;;10927:1:::1;10913:16:::0;;;10889:21:::1;10913:16:::0;;::::1;::::0;;10889:21;10913:16:::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10913:16:0::1;10889:40;;10958:4;10940;10945:1;10940:7;;;;;;;;-1:-1:-1::0;;;;;10940:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10984:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;10984:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;10940:7;;10984:22;;;;;:15;:22;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;10984:22:0;10974:7;;:4;;10979:1:::1;::::0;10974:7;::::1;;;;;-1:-1:-1::0;;;;;10974:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;11049:15:::1;::::0;11017:62:::1;::::0;11034:4:::1;::::0;11049:15:::1;11067:11:::0;11017:8:::1;:62::i;:::-;11090:15;::::0;:196:::1;::::0;-1:-1:-1;;;11090:196:0;;::::1;::::0;::::1;::::0;;;:15:::1;:196:::0;;;;;;11240:4:::1;11090:196:::0;;;;;;11260:15:::1;11090:196:::0;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11090:15:0;;::::1;::::0;:66:::1;::::0;11171:11;;11213:4;;11240;11260:15;11090:196;;;;;;;::::1;::::0;;::::1;::::0;::::1;::::0;;;:15;:196:::1;;;;;;;::::0;;::::1;::::0;;;::::1;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5334:8:0;:16;;-1:-1:-1;;5334:16:0;;;-1:-1:-1;;;;10811:483:0:o;10339:92::-;10396:10;;:27;;-1:-1:-1;;;;;10396:10:0;;;;:27;;;;;10416:6;;10396:10;:27;:10;:27;10416:6;10396:10;:27;;;;;;;;;;;;;;;;;;;;;10339:92;:::o;469:179::-;527:7;559:5;;;583:6;;;;575:46;;;;;-1:-1:-1;;;575:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;656:136;714:7;741:43;745:1;748;741:43;;;;;;;;;;;;;;;;;:3;:43::i;1392:189::-;1478:7;1513:12;1506:5;1498:28;;;;-1:-1:-1;;;1498:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1537:9;1553:1;1549;:5;;;;;;;1392:189;-1:-1:-1;;;;;1392:189:0:o

Swarm Source

ipfs://7a5b831ce853127b14ee33965e9a0ab1ed344e38370acd8b9931887199a2eb60

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.