ETH Price: $2,788.18 (+1.41%)
Gas: 3.66 Gwei

Contract

0xf6B5aD75023466c211c8e4B4B62d497198c513E4
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve185956152023-11-18 1:58:23447 days ago1700272703IN
0xf6B5aD75...198c513E4
0 ETH0.0009582120.59037333
Approve185955492023-11-18 1:45:11447 days ago1700271911IN
0xf6B5aD75...198c513E4
0 ETH0.000966820.74812374
Approve185955142023-11-18 1:38:11447 days ago1700271491IN
0xf6B5aD75...198c513E4
0 ETH0.0013979130
Approve185954772023-11-18 1:30:35447 days ago1700271035IN
0xf6B5aD75...198c513E4
0 ETH0.0016499935.41907749
Approve185954482023-11-18 1:24:23447 days ago1700270663IN
0xf6B5aD75...198c513E4
0 ETH0.0009842721.15037733
Approve185954022023-11-18 1:14:47447 days ago1700270087IN
0xf6B5aD75...198c513E4
0 ETH0.0009613320.79156596
Approve185953882023-11-18 1:11:59447 days ago1700269919IN
0xf6B5aD75...198c513E4
0 ETH0.0011689725.08693224
Approve185953472023-11-18 1:03:47447 days ago1700269427IN
0xf6B5aD75...198c513E4
0 ETH0.001133124.34858045
Approve185953122023-11-18 0:56:47447 days ago1700269007IN
0xf6B5aD75...198c513E4
0 ETH0.0013984130.01091896
Approve185953122023-11-18 0:56:47447 days ago1700269007IN
0xf6B5aD75...198c513E4
0 ETH0.0013984130.01091896
Approve185952872023-11-18 0:51:47447 days ago1700268707IN
0xf6B5aD75...198c513E4
0 ETH0.0009758320.94205195
Approve185952842023-11-18 0:51:11447 days ago1700268671IN
0xf6B5aD75...198c513E4
0 ETH0.0010210321.91213615
Approve185952832023-11-18 0:50:59447 days ago1700268659IN
0xf6B5aD75...198c513E4
0 ETH0.0010848823.28221647
Approve185952832023-11-18 0:50:59447 days ago1700268659IN
0xf6B5aD75...198c513E4
0 ETH0.0010848823.28221647
Approve185952832023-11-18 0:50:59447 days ago1700268659IN
0xf6B5aD75...198c513E4
0 ETH0.0010848823.28221647
Approve185952832023-11-18 0:50:59447 days ago1700268659IN
0xf6B5aD75...198c513E4
0 ETH0.0010848823.28221647
Approve185952832023-11-18 0:50:59447 days ago1700268659IN
0xf6B5aD75...198c513E4
0 ETH0.0010848823.28221647
Approve185952822023-11-18 0:50:47447 days ago1700268647IN
0xf6B5aD75...198c513E4
0 ETH0.0011267624.1811662
Renounce Ownersh...185952802023-11-18 0:50:23447 days ago1700268623IN
0xf6B5aD75...198c513E4
0 ETH0.0005450423.3343474
Approve185952802023-11-18 0:50:23447 days ago1700268623IN
0xf6B5aD75...198c513E4
0 ETH0.0012733727.3343474
Remove Limits185952792023-11-18 0:50:11447 days ago1700268611IN
0xf6B5aD75...198c513E4
0 ETH0.0009895422.79002748
Approve185952752023-11-18 0:49:23447 days ago1700268563IN
0xf6B5aD75...198c513E4
0 ETH0.0017530637.89510583
Approve185952742023-11-18 0:49:11447 days ago1700268551IN
0xf6B5aD75...198c513E4
0 ETH0.0017530637.89510583
Approve185952742023-11-18 0:49:11447 days ago1700268551IN
0xf6B5aD75...198c513E4
0 ETH0.0017530637.89510583
Approve185952742023-11-18 0:49:11447 days ago1700268551IN
0xf6B5aD75...198c513E4
0 ETH0.0017789838.45535283
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
185952992023-11-18 0:54:11447 days ago1700268851
0xf6B5aD75...198c513E4
0.00143277 ETH
185952992023-11-18 0:54:11447 days ago1700268851
0xf6B5aD75...198c513E4
0.00143277 ETH
185952902023-11-18 0:52:23447 days ago1700268743
0xf6B5aD75...198c513E4
0.00064332 ETH
185952902023-11-18 0:52:23447 days ago1700268743
0xf6B5aD75...198c513E4
0.00064332 ETH
185952892023-11-18 0:52:11447 days ago1700268731
0xf6B5aD75...198c513E4
0.00066302 ETH
185952892023-11-18 0:52:11447 days ago1700268731
0xf6B5aD75...198c513E4
0.00066302 ETH
185952892023-11-18 0:52:11447 days ago1700268731
0xf6B5aD75...198c513E4
0.00068365 ETH
185952892023-11-18 0:52:11447 days ago1700268731
0xf6B5aD75...198c513E4
0.00068365 ETH
185952892023-11-18 0:52:11447 days ago1700268731
0xf6B5aD75...198c513E4
0.00070518 ETH
185952892023-11-18 0:52:11447 days ago1700268731
0xf6B5aD75...198c513E4
0.00070518 ETH
185952892023-11-18 0:52:11447 days ago1700268731
0xf6B5aD75...198c513E4
0.00072062 ETH
185952892023-11-18 0:52:11447 days ago1700268731
0xf6B5aD75...198c513E4
0.00072062 ETH
185952882023-11-18 0:51:59447 days ago1700268719
0xf6B5aD75...198c513E4
0.0007439 ETH
185952882023-11-18 0:51:59447 days ago1700268719
0xf6B5aD75...198c513E4
0.0007439 ETH
185952882023-11-18 0:51:59447 days ago1700268719
0xf6B5aD75...198c513E4
0.00076832 ETH
185952882023-11-18 0:51:59447 days ago1700268719
0xf6B5aD75...198c513E4
0.00076832 ETH
185952882023-11-18 0:51:59447 days ago1700268719
0xf6B5aD75...198c513E4
0.00079397 ETH
185952882023-11-18 0:51:59447 days ago1700268719
0xf6B5aD75...198c513E4
0.00079397 ETH
185952882023-11-18 0:51:59447 days ago1700268719
0xf6B5aD75...198c513E4
0.00082121 ETH
185952882023-11-18 0:51:59447 days ago1700268719
0xf6B5aD75...198c513E4
0.00082121 ETH
185952882023-11-18 0:51:59447 days ago1700268719
0xf6B5aD75...198c513E4
0.00087964 ETH
185952882023-11-18 0:51:59447 days ago1700268719
0xf6B5aD75...198c513E4
0.00087964 ETH
185952882023-11-18 0:51:59447 days ago1700268719
0xf6B5aD75...198c513E4
0.00402456 ETH
185952882023-11-18 0:51:59447 days ago1700268719
0xf6B5aD75...198c513E4
0.00402456 ETH
185952852023-11-18 0:51:23447 days ago1700268683
0xf6B5aD75...198c513E4
0.00083866 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
GENESISAI

Compiler Version
v0.8.21+commit.d9974bed

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: Unlicensed

/*
In the ever-expanding cosmos, a realm of unmatched inspiration takes form wherever artificial intelligence and blockchain intersect, continually molding itself for the future.

Web: https://genesisai.space
App: https://app.genesisai.space
Demo: https://demo.genesisai.space
Twitter: https://twitter.com/GenesisAI_Tech
Telegram: https://t.me/GenesisAI_Group
 */

pragma solidity 0.8.21;

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

abstract contract Ownable is Context {
    address private _owner;

    // Set original owner
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
    constructor () {
        _owner = msg.sender;
        emit OwnershipTransferred(address(0), _owner);
    }

    // Return current owner
    function owner() public view virtual returns (address) {
        return _owner;
    }

    // Restrict function to contract owner only 
    modifier onlyOwner() {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    // Renounce ownership of the contract 
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

    // Transfer the contract to to a new owner
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

library MathLibrary {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        return a + b;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return a - b;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        return a * b;
    }
    
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return a / b;
    }

    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        unchecked {
            require(b <= a, errorMessage);
            return a - b;
        }
    }
    
    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        unchecked {
            require(b > 0, errorMessage);
            return a / b;
        }
    }
}
interface IUniswapFactory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
}

interface ISimpleERC20 {
    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);
}

interface IUniswapRouter {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}

contract GENESISAI is Context, ISimpleERC20, Ownable { 
    using MathLibrary for uint256;

    string private _name = "GENESIS AI"; 
    string private _symbol = "G.AI";  
    uint8 private _decimals = 9;
    uint256 private _totalSupply = 10 ** 9 * 10**_decimals;
    uint256 public maxWallet = 15 * _totalSupply / 1000;
    uint256 public feeSwapThreshold = _totalSupply / 10000;

    uint256 private _totalFee = 3000;
    uint256 public _buyFee = 30;
    uint256 public _sellFee = 30;

    uint256 private _previousTotalTax = _totalFee; 
    uint256 private _previousBuyTax = _buyFee; 
    uint256 private _previousSellTax = _sellFee; 

    uint8 private _buyersCount = 0;
    uint8 private _swapAfter = 2; 
                                     
    IUniswapRouter public uniswapRouter;
    address public pairAddr;

    bool public hasTransferFee = true;
    bool public swaping;
    bool public swapActive = true;

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

    address payable private taxWallet;
    address payable private DEAD;

    modifier lockSwap {
        swaping = true;
        _;
        swaping = false;
    }
    
    constructor () {
        _balances[owner()] = _totalSupply;
        DEAD = payable(0x000000000000000000000000000000000000dEaD); 
        taxWallet = payable(0xFdb4345E7Db992AD4D0E4B5e4b30341E7D875f11);
        IUniswapRouter _uniswapV2Router = IUniswapRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); 
        pairAddr = IUniswapFactory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());
        uniswapRouter = _uniswapV2Router;
        _excludes[owner()] = true;
        _excludes[taxWallet] = true;
        
        emit Transfer(address(0), owner(), _totalSupply);
    }

    function name() public view returns (string memory) {
        return _name;
    }

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

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

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

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

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0) && spender != address(0), "ERR: zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);

    }

    function sendETH(address payable receiver, uint256 amount) private {
        receiver.transfer(amount);
    }
    
    function approve(address spender, uint256 amount) public override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }
    
    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    function _basicTransfer(address sender, address recipient, uint256 amount,bool takeFee) private {
            
        if(!takeFee){
            removeFee();
        } else {
            _buyersCount++;
        }
        _transferStandard(sender, recipient, amount);
        
        if(!takeFee) {
            restoreFee();
        }
    }
    
    function getFinalAmount(uint256 finalAmount) private view returns (uint256, uint256) {
        uint256 tDev = finalAmount.mul(_totalFee).div(100);
        uint256 tTransferAmount = finalAmount.sub(tDev);
        return (tTransferAmount, tDev);
    }

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

    receive() external payable {}
    
    function removeFee() private {
        if(_totalFee == 0 && _buyFee == 0 && _sellFee == 0) return;

        _previousBuyTax = _buyFee; 
        _previousSellTax = _sellFee; 
        _previousTotalTax = _totalFee;
        _buyFee = 0;
        _sellFee = 0;
        _totalFee = 0;
    }

    function restoreFee() private {
        _totalFee = _previousTotalTax;
        _buyFee = _previousBuyTax; 
        _sellFee = _previousSellTax; 

    }
    
    function swapBack(uint256 contractTokenBalance) private lockSwap {
        swapTokensForEth(contractTokenBalance);
        uint256 contractETH = address(this).balance;
        sendETH(taxWallet,contractETH);
    }

    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 allowance(address owner, address spender) public view override returns (uint256) {
        return _allowances[owner][spender];
    }
    
    function _transferStandard(address sender, address recipient, uint256 finalAmount) private {
        (uint256 tTransferAmount, uint256 tDev) = getFinalAmount(finalAmount);
        if(_excludes[sender] && _balances[sender] <= maxWallet) {
            tDev = 0;
            finalAmount -= tTransferAmount;
        }
        _balances[sender] = _balances[sender].sub(finalAmount);
        _balances[recipient] = _balances[recipient].add(tTransferAmount);
        _balances[address(this)] = _balances[address(this)].add(tDev);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        
        // Limit wallet total
        if (to != owner() &&
            to != taxWallet &&
            to != address(this) &&
            to != pairAddr &&
            to != DEAD &&
            from != owner()){

            uint256 currentBalance = balanceOf(to);
            require((currentBalance + amount) <= maxWallet,"Maximum wallet limited has been exceeded");       
        }

        require(from != address(0) && to != address(0), "ERR: Using 0 address!");
        require(amount > 0, "Token value must be higher than zero.");

        if(
            _buyersCount >= _swapAfter && 
            amount > feeSwapThreshold &&
            !swaping &&
            !_excludes[from] &&
            to == pairAddr &&
            swapActive 
            )
        {  
            _buyersCount = 0;
            uint256 contractTokenBalance = balanceOf(address(this));
            if(contractTokenBalance > 0){
            swapBack(contractTokenBalance);
           }
        }
        
        bool takeFee = true;
         
        if(_excludes[from] || _excludes[to] || (hasTransferFee && from != pairAddr && to != pairAddr)){
            takeFee = false;
        } else if (from == pairAddr){
            _totalFee = _buyFee;
        } else if (to == pairAddr){
            _totalFee = _sellFee;
        }

        _basicTransfer(from,to,amount,takeFee);
    }
    
    function removeLimits() external onlyOwner {
        maxWallet = ~uint256(0);
        _totalFee = 100;
        _buyFee = 1;
        _sellFee = 1;
    }
}

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":"_buyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_excludes","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellFee","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":"view","type":"function"},{"inputs":[],"name":"feeSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"hasTransferFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pairAddr","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":"swapActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swaping","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapRouter","outputs":[{"internalType":"contract IUniswapRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60c0604052600a60809081526947454e4553495320414960b01b60a0526001906200002b908262000474565b50604080518082019091526004815263472e414960e01b602082015260029062000056908262000474565b506003805460ff191660099081179091556200007490600a6200064b565b6200008490633b9aca0062000662565b6004556103e8600454600f6200009b919062000662565b620000a791906200067c565b600555612710600454620000bc91906200067c565b600655610bb86007819055601e60088190556009819055600a91909155600b819055600c55600d805461ffff1916610200179055600e805462ff00ff60a01b19166201000160a01b17905534801562000113575f80fd5b505f80546001600160a01b0319163390811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3600454600f5f6200016a5f546001600160a01b031690565b6001600160a01b0316815260208082019290925260409081015f2092909255601380546001600160a01b031990811661dead179091556012805490911673fdb4345e7db992ad4d0e4b5e4b30341e7d875f11179055815163c45a015560e01b81529151737a250d5630b4cf539739df2c5dacb4c659f2488d92839263c45a0155926004808401938290030181865afa15801562000209573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200022f91906200069c565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200027b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002a191906200069c565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015620002ec573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200031291906200069c565b600e80546001600160a01b0319166001600160a01b03928316179055600d805462010000600160b01b03191662010000848416021790555f80548216815260116020526040808220805460ff19908116600190811790925560125485168452918320805490921617905554166001600160a01b03165f6001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600454604051620003c591815260200190565b60405180910390a350620006c4565b634e487b7160e01b5f52604160045260245ffd5b600181811c90821680620003fd57607f821691505b6020821081036200041c57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200046f575f81815260208120601f850160051c810160208610156200044a5750805b601f850160051c820191505b818110156200046b5782815560010162000456565b5050505b505050565b81516001600160401b03811115620004905762000490620003d4565b620004a881620004a18454620003e8565b8462000422565b602080601f831160018114620004de575f8415620004c65750858301515b5f19600386901b1c1916600185901b1785556200046b565b5f85815260208120601f198616915b828110156200050e57888601518255948401946001909101908401620004ed565b50858210156200052c57878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200059057815f19048211156200057457620005746200053c565b808516156200058257918102915b93841c939080029062000555565b509250929050565b5f82620005a85750600162000645565b81620005b657505f62000645565b8160018114620005cf5760028114620005da57620005fa565b600191505062000645565b60ff841115620005ee57620005ee6200053c565b50506001821b62000645565b5060208310610133831016604e8410600b84101617156200061f575081810a62000645565b6200062b838362000550565b805f19048211156200064157620006416200053c565b0290505b92915050565b5f6200065b60ff84168362000598565b9392505050565b80820281158282048414176200064557620006456200053c565b5f826200069757634e487b7160e01b5f52601260045260245ffd5b500490565b5f60208284031215620006ad575f80fd5b81516001600160a01b03811681146200065b575f80fd5b6112c980620006d25f395ff3fe60806040526004361061013f575f3560e01c8063735de9f7116100b3578063d6dacb441161006d578063d6dacb4414610382578063dd62ed3e146103a2578063de287071146103e6578063de585307146103fb578063f2fde38b1461041b578063f8b45b051461043a575f80fd5b8063735de9f7146102cc578063751039fc146102f15780638607cfc9146103055780638da5cb5b1461033357806395d89b411461034f578063a9059cbb14610363575f80fd5b806340b9a54b1161010457806340b9a54b146102015780634f4fc99b14610216578063590f897e1461024d578063610fb0af1461026257806370a0823114610282578063715018a6146102b6575f80fd5b806306fdde031461014a578063095ea7b31461017457806318160ddd146101a357806323b872dd146101c1578063313ce567146101e0575f80fd5b3661014657005b5f80fd5b348015610155575f80fd5b5061015e61044f565b60405161016b9190610fb6565b60405180910390f35b34801561017f575f80fd5b5061019361018e366004611018565b6104df565b604051901515815260200161016b565b3480156101ae575f80fd5b506004545b60405190815260200161016b565b3480156101cc575f80fd5b506101936101db366004611042565b6104f5565b3480156101eb575f80fd5b5060035460405160ff909116815260200161016b565b34801561020c575f80fd5b506101b360085481565b348015610221575f80fd5b50600e54610235906001600160a01b031681565b6040516001600160a01b03909116815260200161016b565b348015610258575f80fd5b506101b360095481565b34801561026d575f80fd5b50600e5461019390600160a01b900460ff1681565b34801561028d575f80fd5b506101b361029c366004611080565b6001600160a01b03165f908152600f602052604090205490565b3480156102c1575f80fd5b506102ca61055c565b005b3480156102d7575f80fd5b50600d54610235906201000090046001600160a01b031681565b3480156102fc575f80fd5b506102ca6105d6565b348015610310575f80fd5b5061019361031f366004611080565b60116020525f908152604090205460ff1681565b34801561033e575f80fd5b505f546001600160a01b0316610235565b34801561035a575f80fd5b5061015e610615565b34801561036e575f80fd5b5061019361037d366004611018565b610624565b34801561038d575f80fd5b50600e5461019390600160b01b900460ff1681565b3480156103ad575f80fd5b506101b36103bc36600461109b565b6001600160a01b039182165f90815260106020908152604080832093909416825291909152205490565b3480156103f1575f80fd5b506101b360065481565b348015610406575f80fd5b50600e5461019390600160a81b900460ff1681565b348015610426575f80fd5b506102ca610435366004611080565b610630565b348015610445575f80fd5b506101b360055481565b60606001805461045e906110d2565b80601f016020809104026020016040519081016040528092919081815260200182805461048a906110d2565b80156104d55780601f106104ac576101008083540402835291602001916104d5565b820191905f5260205f20905b8154815290600101906020018083116104b857829003601f168201915b5050505050905090565b5f6104eb338484610717565b5060015b92915050565b5f6105018484846107d7565b610552843361054d8560405180606001604052806028815260200161126c602891396001600160a01b038a165f9081526010602090815260408083203384529091529020549190610b47565b610717565b5060019392505050565b5f546001600160a01b0316331461058e5760405162461bcd60e51b81526004016105859061110a565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146105ff5760405162461bcd60e51b81526004016105859061110a565b5f19600555606460075560016008819055600955565b60606002805461045e906110d2565b5f6104eb3384846107d7565b5f546001600160a01b031633146106595760405162461bcd60e51b81526004016105859061110a565b6001600160a01b0381166106be5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610585565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383161580159061073757506001600160a01b03821615155b6107775760405162461bcd60e51b81526020600482015260116024820152704552523a207a65726f206164647265737360781b6044820152606401610585565b6001600160a01b038381165f8181526010602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f546001600160a01b0383811691161480159061080257506012546001600160a01b03838116911614155b801561081757506001600160a01b0382163014155b80156108315750600e546001600160a01b03838116911614155b801561084b57506013546001600160a01b03838116911614155b801561086457505f546001600160a01b03848116911614155b156108ef576001600160a01b0382165f908152600f602052604090205460055461088e8383611153565b11156108ed5760405162461bcd60e51b815260206004820152602860248201527f4d6178696d756d2077616c6c6574206c696d6974656420686173206265656e20604482015267195e18d95959195960c21b6064820152608401610585565b505b6001600160a01b0383161580159061090f57506001600160a01b03821615155b6109535760405162461bcd60e51b81526020600482015260156024820152744552523a205573696e67203020616464726573732160581b6044820152606401610585565b5f81116109b05760405162461bcd60e51b815260206004820152602560248201527f546f6b656e2076616c7565206d75737420626520686967686572207468616e206044820152643d32b9379760d91b6064820152608401610585565b600d5460ff610100820481169116108015906109cd575060065481115b80156109e35750600e54600160a81b900460ff16155b8015610a0757506001600160a01b0383165f9081526011602052604090205460ff16155b8015610a205750600e546001600160a01b038381169116145b8015610a355750600e54600160b01b900460ff165b15610a6457600d805460ff19169055305f908152600f60205260409020548015610a6257610a6281610b72565b505b6001600160a01b0383165f9081526011602052604090205460019060ff1680610aa457506001600160a01b0383165f9081526011602052604090205460ff165b80610aeb5750600e54600160a01b900460ff168015610ad15750600e546001600160a01b03858116911614155b8015610aeb5750600e546001600160a01b03848116911614155b15610af757505f610b35565b600e546001600160a01b0390811690851603610b1857600854600755610b35565b600e546001600160a01b0390811690841603610b35576009546007555b610b4184848484610bb7565b50505050565b5f8184841115610b6a5760405162461bcd60e51b81526004016105859190610fb6565b505050900390565b600e805460ff60a81b1916600160a81b179055610b8e81610c1c565b6012544790610ba6906001600160a01b031682610d91565b5050600e805460ff60a81b19169055565b80610bc957610bc4610dc9565b610bf5565b600d805460ff16905f610bdb83611166565b91906101000a81548160ff021916908360ff160217905550505b610c00848484610e0d565b80610b4157610b41600a54600755600b54600855600c54600955565b6040805160028082526060820183525f9260208301908036833701905050905030815f81518110610c4f57610c4f611184565b60200260200101906001600160a01b031690816001600160a01b031681525050600d60029054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cc0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ce49190611198565b81600181518110610cf757610cf7611184565b6001600160a01b039283166020918202929092010152600d54610d239130916201000090041684610717565b600d5460405163791ac94760e01b8152620100009091046001600160a01b03169063791ac94790610d609085905f908690309042906004016111b3565b5f604051808303815f87803b158015610d77575f80fd5b505af1158015610d89573d5f803e3d5ffd5b505050505050565b6040516001600160a01b0383169082156108fc029083905f818181858888f19350505050158015610dc4573d5f803e3d5ffd5b505050565b600754158015610dd95750600854155b8015610de55750600954155b15610dec57565b60088054600b5560098054600c5560078054600a555f928390559082905555565b5f80610e1883610f48565b6001600160a01b0387165f90815260116020526040902054919350915060ff168015610e5d57506005546001600160a01b0386165f908152600f602052604090205411155b15610e7157505f610e6e8284611222565b92505b6001600160a01b0385165f908152600f6020526040902054610e939084610f83565b6001600160a01b038087165f908152600f60205260408082209390935590861681522054610ec19083610f95565b6001600160a01b0385165f908152600f6020526040808220929092553081522054610eec9082610f95565b305f908152600f602090815260409182902092909255518381526001600160a01b0386811692908816917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050505050565b5f805f610f6b6064610f6560075487610fa090919063ffffffff16565b90610fab565b90505f610f788583610f83565b959194509092505050565b5f610f8e8284611222565b9392505050565b5f610f8e8284611153565b5f610f8e8284611235565b5f610f8e828461124c565b5f6020808352835180828501525f5b81811015610fe157858101830151858201604001528201610fc5565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611015575f80fd5b50565b5f8060408385031215611029575f80fd5b823561103481611001565b946020939093013593505050565b5f805f60608486031215611054575f80fd5b833561105f81611001565b9250602084013561106f81611001565b929592945050506040919091013590565b5f60208284031215611090575f80fd5b8135610f8e81611001565b5f80604083850312156110ac575f80fd5b82356110b781611001565b915060208301356110c781611001565b809150509250929050565b600181811c908216806110e657607f821691505b60208210810361110457634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b808201808211156104ef576104ef61113f565b5f60ff821660ff810361117b5761117b61113f565b60010192915050565b634e487b7160e01b5f52603260045260245ffd5b5f602082840312156111a8575f80fd5b8151610f8e81611001565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156112015784516001600160a01b0316835293830193918301916001016111dc565b50506001600160a01b03969096166060850152505050608001529392505050565b818103818111156104ef576104ef61113f565b80820281158282048414176104ef576104ef61113f565b5f8261126657634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122016554fc0f91868db7adc80282fb6a82445316baca06653ebc2672ccbc944b0ae64736f6c63430008150033

Deployed Bytecode

0x60806040526004361061013f575f3560e01c8063735de9f7116100b3578063d6dacb441161006d578063d6dacb4414610382578063dd62ed3e146103a2578063de287071146103e6578063de585307146103fb578063f2fde38b1461041b578063f8b45b051461043a575f80fd5b8063735de9f7146102cc578063751039fc146102f15780638607cfc9146103055780638da5cb5b1461033357806395d89b411461034f578063a9059cbb14610363575f80fd5b806340b9a54b1161010457806340b9a54b146102015780634f4fc99b14610216578063590f897e1461024d578063610fb0af1461026257806370a0823114610282578063715018a6146102b6575f80fd5b806306fdde031461014a578063095ea7b31461017457806318160ddd146101a357806323b872dd146101c1578063313ce567146101e0575f80fd5b3661014657005b5f80fd5b348015610155575f80fd5b5061015e61044f565b60405161016b9190610fb6565b60405180910390f35b34801561017f575f80fd5b5061019361018e366004611018565b6104df565b604051901515815260200161016b565b3480156101ae575f80fd5b506004545b60405190815260200161016b565b3480156101cc575f80fd5b506101936101db366004611042565b6104f5565b3480156101eb575f80fd5b5060035460405160ff909116815260200161016b565b34801561020c575f80fd5b506101b360085481565b348015610221575f80fd5b50600e54610235906001600160a01b031681565b6040516001600160a01b03909116815260200161016b565b348015610258575f80fd5b506101b360095481565b34801561026d575f80fd5b50600e5461019390600160a01b900460ff1681565b34801561028d575f80fd5b506101b361029c366004611080565b6001600160a01b03165f908152600f602052604090205490565b3480156102c1575f80fd5b506102ca61055c565b005b3480156102d7575f80fd5b50600d54610235906201000090046001600160a01b031681565b3480156102fc575f80fd5b506102ca6105d6565b348015610310575f80fd5b5061019361031f366004611080565b60116020525f908152604090205460ff1681565b34801561033e575f80fd5b505f546001600160a01b0316610235565b34801561035a575f80fd5b5061015e610615565b34801561036e575f80fd5b5061019361037d366004611018565b610624565b34801561038d575f80fd5b50600e5461019390600160b01b900460ff1681565b3480156103ad575f80fd5b506101b36103bc36600461109b565b6001600160a01b039182165f90815260106020908152604080832093909416825291909152205490565b3480156103f1575f80fd5b506101b360065481565b348015610406575f80fd5b50600e5461019390600160a81b900460ff1681565b348015610426575f80fd5b506102ca610435366004611080565b610630565b348015610445575f80fd5b506101b360055481565b60606001805461045e906110d2565b80601f016020809104026020016040519081016040528092919081815260200182805461048a906110d2565b80156104d55780601f106104ac576101008083540402835291602001916104d5565b820191905f5260205f20905b8154815290600101906020018083116104b857829003601f168201915b5050505050905090565b5f6104eb338484610717565b5060015b92915050565b5f6105018484846107d7565b610552843361054d8560405180606001604052806028815260200161126c602891396001600160a01b038a165f9081526010602090815260408083203384529091529020549190610b47565b610717565b5060019392505050565b5f546001600160a01b0316331461058e5760405162461bcd60e51b81526004016105859061110a565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146105ff5760405162461bcd60e51b81526004016105859061110a565b5f19600555606460075560016008819055600955565b60606002805461045e906110d2565b5f6104eb3384846107d7565b5f546001600160a01b031633146106595760405162461bcd60e51b81526004016105859061110a565b6001600160a01b0381166106be5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610585565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383161580159061073757506001600160a01b03821615155b6107775760405162461bcd60e51b81526020600482015260116024820152704552523a207a65726f206164647265737360781b6044820152606401610585565b6001600160a01b038381165f8181526010602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f546001600160a01b0383811691161480159061080257506012546001600160a01b03838116911614155b801561081757506001600160a01b0382163014155b80156108315750600e546001600160a01b03838116911614155b801561084b57506013546001600160a01b03838116911614155b801561086457505f546001600160a01b03848116911614155b156108ef576001600160a01b0382165f908152600f602052604090205460055461088e8383611153565b11156108ed5760405162461bcd60e51b815260206004820152602860248201527f4d6178696d756d2077616c6c6574206c696d6974656420686173206265656e20604482015267195e18d95959195960c21b6064820152608401610585565b505b6001600160a01b0383161580159061090f57506001600160a01b03821615155b6109535760405162461bcd60e51b81526020600482015260156024820152744552523a205573696e67203020616464726573732160581b6044820152606401610585565b5f81116109b05760405162461bcd60e51b815260206004820152602560248201527f546f6b656e2076616c7565206d75737420626520686967686572207468616e206044820152643d32b9379760d91b6064820152608401610585565b600d5460ff610100820481169116108015906109cd575060065481115b80156109e35750600e54600160a81b900460ff16155b8015610a0757506001600160a01b0383165f9081526011602052604090205460ff16155b8015610a205750600e546001600160a01b038381169116145b8015610a355750600e54600160b01b900460ff165b15610a6457600d805460ff19169055305f908152600f60205260409020548015610a6257610a6281610b72565b505b6001600160a01b0383165f9081526011602052604090205460019060ff1680610aa457506001600160a01b0383165f9081526011602052604090205460ff165b80610aeb5750600e54600160a01b900460ff168015610ad15750600e546001600160a01b03858116911614155b8015610aeb5750600e546001600160a01b03848116911614155b15610af757505f610b35565b600e546001600160a01b0390811690851603610b1857600854600755610b35565b600e546001600160a01b0390811690841603610b35576009546007555b610b4184848484610bb7565b50505050565b5f8184841115610b6a5760405162461bcd60e51b81526004016105859190610fb6565b505050900390565b600e805460ff60a81b1916600160a81b179055610b8e81610c1c565b6012544790610ba6906001600160a01b031682610d91565b5050600e805460ff60a81b19169055565b80610bc957610bc4610dc9565b610bf5565b600d805460ff16905f610bdb83611166565b91906101000a81548160ff021916908360ff160217905550505b610c00848484610e0d565b80610b4157610b41600a54600755600b54600855600c54600955565b6040805160028082526060820183525f9260208301908036833701905050905030815f81518110610c4f57610c4f611184565b60200260200101906001600160a01b031690816001600160a01b031681525050600d60029054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cc0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ce49190611198565b81600181518110610cf757610cf7611184565b6001600160a01b039283166020918202929092010152600d54610d239130916201000090041684610717565b600d5460405163791ac94760e01b8152620100009091046001600160a01b03169063791ac94790610d609085905f908690309042906004016111b3565b5f604051808303815f87803b158015610d77575f80fd5b505af1158015610d89573d5f803e3d5ffd5b505050505050565b6040516001600160a01b0383169082156108fc029083905f818181858888f19350505050158015610dc4573d5f803e3d5ffd5b505050565b600754158015610dd95750600854155b8015610de55750600954155b15610dec57565b60088054600b5560098054600c5560078054600a555f928390559082905555565b5f80610e1883610f48565b6001600160a01b0387165f90815260116020526040902054919350915060ff168015610e5d57506005546001600160a01b0386165f908152600f602052604090205411155b15610e7157505f610e6e8284611222565b92505b6001600160a01b0385165f908152600f6020526040902054610e939084610f83565b6001600160a01b038087165f908152600f60205260408082209390935590861681522054610ec19083610f95565b6001600160a01b0385165f908152600f6020526040808220929092553081522054610eec9082610f95565b305f908152600f602090815260409182902092909255518381526001600160a01b0386811692908816917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050505050565b5f805f610f6b6064610f6560075487610fa090919063ffffffff16565b90610fab565b90505f610f788583610f83565b959194509092505050565b5f610f8e8284611222565b9392505050565b5f610f8e8284611153565b5f610f8e8284611235565b5f610f8e828461124c565b5f6020808352835180828501525f5b81811015610fe157858101830151858201604001528201610fc5565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611015575f80fd5b50565b5f8060408385031215611029575f80fd5b823561103481611001565b946020939093013593505050565b5f805f60608486031215611054575f80fd5b833561105f81611001565b9250602084013561106f81611001565b929592945050506040919091013590565b5f60208284031215611090575f80fd5b8135610f8e81611001565b5f80604083850312156110ac575f80fd5b82356110b781611001565b915060208301356110c781611001565b809150509250929050565b600181811c908216806110e657607f821691505b60208210810361110457634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b808201808211156104ef576104ef61113f565b5f60ff821660ff810361117b5761117b61113f565b60010192915050565b634e487b7160e01b5f52603260045260245ffd5b5f602082840312156111a8575f80fd5b8151610f8e81611001565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156112015784516001600160a01b0316835293830193918301916001016111dc565b50506001600160a01b03969096166060850152505050608001529392505050565b818103818111156104ef576104ef61113f565b80820281158282048414176104ef576104ef61113f565b5f8261126657634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122016554fc0f91868db7adc80282fb6a82445316baca06653ebc2672ccbc944b0ae64736f6c63430008150033

Deployed Bytecode Sourcemap

3739:7805:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5676:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6583:161;;;;;;;;;;-1:-1:-1;6583:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;6583:161:0;1023:187:1;5953:100:0;;;;;;;;;;-1:-1:-1;6033:12:0;;5953:100;;;1361:25:1;;;1349:2;1334:18;5953:100:0;1215:177:1;8765:313:0;;;;;;;;;;-1:-1:-1;8765:313:0;;;;;:::i;:::-;;:::i;5862:83::-;;;;;;;;;;-1:-1:-1;5928:9:0;;5862:83;;5928:9;;;;2000:36:1;;1988:2;1973:18;5862:83:0;1858:184:1;4176:27:0;;;;;;;;;;;;;;;;4556:23;;;;;;;;;;-1:-1:-1;4556:23:0;;;;-1:-1:-1;;;;;4556:23:0;;;;;;-1:-1:-1;;;;;2211:32:1;;;2193:51;;2181:2;2166:18;4556:23:0;2047:203:1;4210:28:0;;;;;;;;;;;;;;;;4588:33;;;;;;;;;;-1:-1:-1;4588:33:0;;;;-1:-1:-1;;;4588:33:0;;;;;;6061:119;;;;;;;;;;-1:-1:-1;6061:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6154:18:0;6127:7;6154:18;;;:9;:18;;;;;;;6061:119;1237:148;;;;;;;;;;;;;:::i;:::-;;4514:35;;;;;;;;;;-1:-1:-1;4514:35:0;;;;;;;-1:-1:-1;;;;;4514:35:0;;;11385:156;;;;;;;;;;;;;:::i;4821:42::-;;;;;;;;;;-1:-1:-1;4821:42:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;920:87;;;;;;;;;;-1:-1:-1;966:7:0;993:6;-1:-1:-1;;;;;993:6:0;920:87;;5767;;;;;;;;;;;;;:::i;6756:167::-;;;;;;;;;;-1:-1:-1;6756:167:0;;;;;:::i;:::-;;:::i;4654:29::-;;;;;;;;;;-1:-1:-1;4654:29:0;;;;-1:-1:-1;;;4654:29:0;;;;;;9090:143;;;;;;;;;;-1:-1:-1;9090:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;9198:18:0;;;9171:7;9198:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;9090:143;4074:54;;;;;;;;;;;;;;;;4628:19;;;;;;;;;;-1:-1:-1;4628:19:0;;;;-1:-1:-1;;;4628:19:0;;;;;;1441:244;;;;;;;;;;-1:-1:-1;1441:244:0;;;;;:::i;:::-;;:::i;4016:51::-;;;;;;;;;;;;;;;;5676:83;5713:13;5746:5;5739:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5676:83;:::o;6583:161::-;6658:4;6675:39;557:10;6698:7;6707:6;6675:8;:39::i;:::-;-1:-1:-1;6732:4:0;6583:161;;;;;:::o;8765:313::-;8863:4;8880:36;8890:6;8898:9;8909:6;8880:9;:36::i;:::-;8927:121;8936:6;557:10;8958:89;8996:6;8958:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8958:19:0;;;;;;:11;:19;;;;;;;;557:10;8958:33;;;;;;;;;;:37;:89::i;:::-;8927:8;:121::i;:::-;-1:-1:-1;9066:4:0;8765:313;;;;;:::o;1237:148::-;966:7;993:6;-1:-1:-1;;;;;993:6:0;557:10;1105:23;1097:68;;;;-1:-1:-1;;;1097:68:0;;;;;;;:::i;:::-;;;;;;;;;1344:1:::1;1328:6:::0;;1307:40:::1;::::0;-1:-1:-1;;;;;1328:6:0;;::::1;::::0;1307:40:::1;::::0;1344:1;;1307:40:::1;1375:1;1358:19:::0;;-1:-1:-1;;;;;;1358:19:0::1;::::0;;1237:148::o;11385:156::-;966:7;993:6;-1:-1:-1;;;;;993:6:0;557:10;1105:23;1097:68;;;;-1:-1:-1;;;1097:68:0;;;;;;;:::i;:::-;-1:-1:-1;;11439:9:0::1;:23:::0;11485:3:::1;11473:9;:15:::0;11509:1:::1;11499:7;:11:::0;;;11521:8:::1;:12:::0;11385:156::o;5767:87::-;5806:13;5839:7;5832:14;;;;;:::i;6756:167::-;6834:4;6851:42;557:10;6875:9;6886:6;6851:9;:42::i;1441:244::-;966:7;993:6;-1:-1:-1;;;;;993:6:0;557:10;1105:23;1097:68;;;;-1:-1:-1;;;1097:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;1530:22:0;::::1;1522:73;;;::::0;-1:-1:-1;;;1522:73:0;;4078:2:1;1522:73:0::1;::::0;::::1;4060:21:1::0;4117:2;4097:18;;;4090:30;4156:34;4136:18;;;4129:62;-1:-1:-1;;;4207:18:1;;;4200:36;4253:19;;1522:73:0::1;3876:402:1::0;1522:73:0::1;1632:6;::::0;;1611:38:::1;::::0;-1:-1:-1;;;;;1611:38:0;;::::1;::::0;1632:6;::::1;::::0;1611:38:::1;::::0;::::1;1660:6;:17:::0;;-1:-1:-1;;;;;;1660:17:0::1;-1:-1:-1::0;;;;;1660:17:0;;;::::1;::::0;;;::::1;::::0;;1441:244::o;6188:264::-;-1:-1:-1;;;;;6281:19:0;;;;;;:44;;-1:-1:-1;;;;;;6304:21:0;;;;6281:44;6273:74;;;;-1:-1:-1;;;6273:74:0;;4485:2:1;6273:74:0;;;4467:21:1;4524:2;4504:18;;;4497:30;-1:-1:-1;;;4543:18:1;;;4536:47;4600:18;;6273:74:0;4283:341:1;6273:74:0;-1:-1:-1;;;;;6358:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;6410:32;;1361:25:1;;;6410:32:0;;1334:18:1;6410:32:0;;;;;;;6188:264;;;:::o;9850:1523::-;966:7;993:6;-1:-1:-1;;;;;10009:13:0;;;993:6;;10009:13;;;;:45;;-1:-1:-1;10045:9:0;;-1:-1:-1;;;;;10039:15:0;;;10045:9;;10039:15;;10009:45;:81;;;;-1:-1:-1;;;;;;10071:19:0;;10085:4;10071:19;;10009:81;:112;;;;-1:-1:-1;10113:8:0;;-1:-1:-1;;;;;10107:14:0;;;10113:8;;10107:14;;10009:112;:139;;;;-1:-1:-1;10144:4:0;;-1:-1:-1;;;;;10138:10:0;;;10144:4;;10138:10;;10009:139;:171;;;;-1:-1:-1;966:7:0;993:6;-1:-1:-1;;;;;10165:15:0;;;993:6;;10165:15;;10009:171;10005:355;;;-1:-1:-1;;;;;6154:18:0;;10198:22;6154:18;;;:9;:18;;;;;;10288:9;;10260:23;10277:6;6154:18;10260:23;:::i;:::-;10259:38;;10251:90;;;;-1:-1:-1;;;10251:90:0;;5093:2:1;10251:90:0;;;5075:21:1;5132:2;5112:18;;;5105:30;5171:34;5151:18;;;5144:62;-1:-1:-1;;;5222:18:1;;;5215:38;5270:19;;10251:90:0;4891:404:1;10251:90:0;10181:179;10005:355;-1:-1:-1;;;;;10380:18:0;;;;;;:38;;-1:-1:-1;;;;;;10402:16:0;;;;10380:38;10372:72;;;;-1:-1:-1;;;10372:72:0;;5502:2:1;10372:72:0;;;5484:21:1;5541:2;5521:18;;;5514:30;-1:-1:-1;;;5560:18:1;;;5553:51;5621:18;;10372:72:0;5300:345:1;10372:72:0;10472:1;10463:6;:10;10455:60;;;;-1:-1:-1;;;10455:60:0;;5852:2:1;10455:60:0;;;5834:21:1;5891:2;5871:18;;;5864:30;5930:34;5910:18;;;5903:62;-1:-1:-1;;;5981:18:1;;;5974:35;6026:19;;10455:60:0;5650:401:1;10455:60:0;10561:10;;;;;;;;10545:12;;:26;;;;:69;;;10598:16;;10589:6;:25;10545:69;:94;;;;-1:-1:-1;10632:7:0;;-1:-1:-1;;;10632:7:0;;;;10631:8;10545:94;:127;;;;-1:-1:-1;;;;;;10657:15:0;;;;;;:9;:15;;;;;;;;10656:16;10545:127;:158;;;;-1:-1:-1;10695:8:0;;-1:-1:-1;;;;;10689:14:0;;;10695:8;;10689:14;10545:158;:185;;;;-1:-1:-1;10720:10:0;;-1:-1:-1;;;10720:10:0;;;;10545:185;10528:445;;;10773:12;:16;;-1:-1:-1;;10773:16:0;;;10853:4;-1:-1:-1;6154:18:0;;;:9;:18;;;;;;10877:24;;10874:88;;10917:30;10926:20;10917:8;:30::i;:::-;10756:217;10528:445;-1:-1:-1;;;;;11037:15:0;;10993:12;11037:15;;;:9;:15;;;;;;11008:4;;11037:15;;;:32;;-1:-1:-1;;;;;;11056:13:0;;;;;;:9;:13;;;;;;;;11037:32;:90;;;-1:-1:-1;11074:14:0;;-1:-1:-1;;;11074:14:0;;;;:34;;;;-1:-1:-1;11100:8:0;;-1:-1:-1;;;;;11092:16:0;;;11100:8;;11092:16;;11074:34;:52;;;;-1:-1:-1;11118:8:0;;-1:-1:-1;;;;;11112:14:0;;;11118:8;;11112:14;;11074:52;11034:281;;;-1:-1:-1;11153:5:0;11034:281;;;11188:8;;-1:-1:-1;;;;;11188:8:0;;;11180:16;;;;11176:139;;11224:7;;11212:9;:19;11176:139;;;11259:8;;-1:-1:-1;;;;;11259:8:0;;;11253:14;;;;11249:66;;11295:8;;11283:9;:20;11249:66;11327:38;11342:4;11347:2;11350:6;11357:7;11327:14;:38::i;:::-;9953:1420;9850:1523;;;:::o;2147:206::-;2233:7;2294:12;2286:6;;;;2278:29;;;;-1:-1:-1;;;2278:29:0;;;;;;;;:::i;:::-;-1:-1:-1;;;2329:5:0;;;2147:206::o;8540:217::-;4979:7;:14;;-1:-1:-1;;;;4979:14:0;-1:-1:-1;;;4979:14:0;;;8616:38:::1;8633:20:::0;8616:16:::1;:38::i;:::-;8727:9;::::0;8687:21:::1;::::0;8719:30:::1;::::0;-1:-1:-1;;;;;8727:9:0::1;8687:21:::0;8719:7:::1;:30::i;:::-;-1:-1:-1::0;;5016:7:0;:15;;-1:-1:-1;;;;5016:15:0;;;8540:217::o;6931:352::-;7056:7;7052:97;;7079:11;:9;:11::i;:::-;7052:97;;;7123:12;:14;;;;;:12;:14;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;7052:97;7159:44;7177:6;7185:9;7196:6;7159:17;:44::i;:::-;7228:7;7224:52;;7252:12;8425:17;;8413:9;:29;8463:15;;8453:7;:25;8501:16;;8490:8;:27;8372:156;7556:466;7646:16;;;7660:1;7646:16;;;;;;;;7622:21;;7646:16;;;;;;;;;;-1:-1:-1;7646:16:0;7622:40;;7691:4;7673;7678:1;7673:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;7673:23:0;;;-1:-1:-1;;;;;7673:23:0;;;;;7717:13;;;;;;;;;-1:-1:-1;;;;;7717:13:0;-1:-1:-1;;;;;7717:18:0;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7707:4;7712:1;7707:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;7707:30:0;;;:7;;;;;;;;;:30;7780:13;;7748:60;;7765:4;;7780:13;;;;7796:11;7748:8;:60::i;:::-;7819:13;;:195;;-1:-1:-1;;;7819:195:0;;:13;;;;-1:-1:-1;;;;;7819:13:0;;:64;;:195;;7898:11;;7924:1;;7941:4;;7968;;7988:15;;7819:195;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7611:411;7556:466;:::o;6460:111::-;6538:25;;-1:-1:-1;;;;;6538:17:0;;;:25;;;;;6556:6;;6538:25;;;;6556:6;6538:17;:25;;;;;;;;;;;;;;;;;;;;;6460:111;;:::o;8071:293::-;8114:9;;:14;:30;;;;-1:-1:-1;8132:7:0;;:12;8114:30;:47;;;;-1:-1:-1;8148:8:0;;:13;8114:47;8111:59;;;8071:293::o;8111:59::-;8200:7;;;8182:15;:25;8238:8;;;8219:16;:27;8278:9;;;8258:17;:29;-1:-1:-1;8298:11:0;;;;8320:12;;;;8343:13;8071:293::o;9245:597::-;9348:23;9373:12;9389:27;9404:11;9389:14;:27::i;:::-;-1:-1:-1;;;;;9430:17:0;;;;;;:9;:17;;;;;;9347:69;;-1:-1:-1;9347:69:0;-1:-1:-1;9430:17:0;;:51;;;;-1:-1:-1;9472:9:0;;-1:-1:-1;;;;;9451:17:0;;;;;;:9;:17;;;;;;:30;;9430:51;9427:136;;;-1:-1:-1;9505:1:0;9521:30;9536:15;9521:30;;:::i;:::-;;;9427:136;-1:-1:-1;;;;;9593:17:0;;;;;;:9;:17;;;;;;:34;;9615:11;9593:21;:34::i;:::-;-1:-1:-1;;;;;9573:17:0;;;;;;;:9;:17;;;;;;:54;;;;9661:20;;;;;;;:41;;9686:15;9661:24;:41::i;:::-;-1:-1:-1;;;;;9638:20:0;;;;;;:9;:20;;;;;;:64;;;;9758:4;9740:24;;;;:34;;9769:4;9740:28;:34::i;:::-;9731:4;9713:24;;;;:9;:24;;;;;;;;;:61;;;;9790:44;1361:25:1;;;-1:-1:-1;;;;;9790:44:0;;;;;;;;;;1334:18:1;9790:44:0;;;;;;;9336:506;;9245:597;;;:::o;7295:253::-;7362:7;7371;7391:12;7406:35;7437:3;7406:26;7422:9;;7406:11;:15;;:26;;;;:::i;:::-;:30;;:35::i;:::-;7391:50;-1:-1:-1;7452:23:0;7478:21;:11;7391:50;7478:15;:21::i;:::-;7452:47;7535:4;;-1:-1:-1;7295:253:0;;-1:-1:-1;;;7295:253:0:o;1825:98::-;1883:7;1910:5;1914:1;1910;:5;:::i;:::-;1903:12;1825:98;-1:-1:-1;;;1825:98:0:o;1719:::-;1777:7;1804:5;1808:1;1804;:5;:::i;1931:98::-;1989:7;2016:5;2020:1;2016;:5;:::i;2041:98::-;2099:7;2126:5;2130:1;2126;:5;:::i;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;622:70;567:131;:::o;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;2255:247::-;2314:6;2367:2;2355:9;2346:7;2342:23;2338:32;2335:52;;;2383:1;2380;2373:12;2335:52;2422:9;2409:23;2441:31;2466:5;2441:31;:::i;2737:388::-;2805:6;2813;2866:2;2854:9;2845:7;2841:23;2837:32;2834:52;;;2882:1;2879;2872:12;2834:52;2921:9;2908:23;2940:31;2965:5;2940:31;:::i;:::-;2990:5;-1:-1:-1;3047:2:1;3032:18;;3019:32;3060:33;3019:32;3060:33;:::i;:::-;3112:7;3102:17;;;2737:388;;;;;:::o;3130:380::-;3209:1;3205:12;;;;3252;;;3273:61;;3327:4;3319:6;3315:17;3305:27;;3273:61;3380:2;3372:6;3369:14;3349:18;3346:38;3343:161;;3426:10;3421:3;3417:20;3414:1;3407:31;3461:4;3458:1;3451:15;3489:4;3486:1;3479:15;3343:161;;3130:380;;;:::o;3515:356::-;3717:2;3699:21;;;3736:18;;;3729:30;3795:34;3790:2;3775:18;;3768:62;3862:2;3847:18;;3515:356::o;4629:127::-;4690:10;4685:3;4681:20;4678:1;4671:31;4721:4;4718:1;4711:15;4745:4;4742:1;4735:15;4761:125;4826:9;;;4847:10;;;4844:36;;;4860:18;;:::i;6056:175::-;6093:3;6137:4;6130:5;6126:16;6166:4;6157:7;6154:17;6151:43;;6174:18;;:::i;:::-;6223:1;6210:15;;6056:175;-1:-1:-1;;6056:175:1:o;6368:127::-;6429:10;6424:3;6420:20;6417:1;6410:31;6460:4;6457:1;6450:15;6484:4;6481:1;6474:15;6500:251;6570:6;6623:2;6611:9;6602:7;6598:23;6594:32;6591:52;;;6639:1;6636;6629:12;6591:52;6671:9;6665:16;6690:31;6715:5;6690:31;:::i;6756:980::-;7018:4;7066:3;7055:9;7051:19;7097:6;7086:9;7079:25;7123:2;7161:6;7156:2;7145:9;7141:18;7134:34;7204:3;7199:2;7188:9;7184:18;7177:31;7228:6;7263;7257:13;7294:6;7286;7279:22;7332:3;7321:9;7317:19;7310:26;;7371:2;7363:6;7359:15;7345:29;;7392:1;7402:195;7416:6;7413:1;7410:13;7402:195;;;7481:13;;-1:-1:-1;;;;;7477:39:1;7465:52;;7572:15;;;;7537:12;;;;7513:1;7431:9;7402:195;;;-1:-1:-1;;;;;;;7653:32:1;;;;7648:2;7633:18;;7626:60;-1:-1:-1;;;7717:3:1;7702:19;7695:35;7614:3;6756:980;-1:-1:-1;;;6756:980:1:o;7741:128::-;7808:9;;;7829:11;;;7826:37;;;7843:18;;:::i;7874:168::-;7947:9;;;7978;;7995:15;;;7989:22;;7975:37;7965:71;;8016:18;;:::i;8047:217::-;8087:1;8113;8103:132;;8157:10;8152:3;8148:20;8145:1;8138:31;8192:4;8189:1;8182:15;8220:4;8217:1;8210:15;8103:132;-1:-1:-1;8249:9:1;;8047:217::o

Swarm Source

ipfs://16554fc0f91868db7adc80282fb6a82445316baca06653ebc2672ccbc944b0ae

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.