ETH Price: $2,071.62 (+2.10%)

Contract

0x8a7fcAB0Ba4e3aC8F2D72f4792ee428bf45Ed98D
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve209800992024-10-16 19:05:23511 days ago1729105523IN
0x8a7fcAB0...bf45Ed98D
0 ETH0.0008515518.33435718
Approve209800832024-10-16 19:02:11511 days ago1729105331IN
0x8a7fcAB0...bf45Ed98D
0 ETH0.0009182119.76940977
Remove Fees209800782024-10-16 19:01:11511 days ago1729105271IN
0x8a7fcAB0...bf45Ed98D
0 ETH0.0004120814.78594813
Update Fees209800762024-10-16 19:00:47511 days ago1729105247IN
0x8a7fcAB0...bf45Ed98D
0 ETH0.0004239715.66059281
Approve209800752024-10-16 19:00:35511 days ago1729105235IN
0x8a7fcAB0...bf45Ed98D
0 ETH0.0008677818.65971368
Approve209800672024-10-16 18:58:59511 days ago1729105139IN
0x8a7fcAB0...bf45Ed98D
0 ETH0.0008589918.47069415
Change Max Walle...209800672024-10-16 18:58:59511 days ago1729105139IN
0x8a7fcAB0...bf45Ed98D
0 ETH0.00427474146.47069415
Approve209800672024-10-16 18:58:59511 days ago1729105139IN
0x8a7fcAB0...bf45Ed98D
0 ETH0.0007924817.04053812
Approve209800662024-10-16 18:58:47511 days ago1729105127IN
0x8a7fcAB0...bf45Ed98D
0 ETH0.0008385218.03053812
Approve209800662024-10-16 18:58:47511 days ago1729105127IN
0x8a7fcAB0...bf45Ed98D
0 ETH0.0008385218.03053812
Approve209800662024-10-16 18:58:47511 days ago1729105127IN
0x8a7fcAB0...bf45Ed98D
0 ETH0.0008385218.03053812
Start Trading209800652024-10-16 18:58:35511 days ago1729105115IN
0x8a7fcAB0...bf45Ed98D
0 ETH0.0007037515.46945301
Approve209800322024-10-16 18:51:59511 days ago1729104719IN
0x8a7fcAB0...bf45Ed98D
0 ETH0.0006507713.99332776
Approve209800322024-10-16 18:51:59511 days ago1729104719IN
0x8a7fcAB0...bf45Ed98D
0 ETH0.0006507713.99332776
Approve209800322024-10-16 18:51:59511 days ago1729104719IN
0x8a7fcAB0...bf45Ed98D
0 ETH0.0006507713.99332776
Approve209800322024-10-16 18:51:59511 days ago1729104719IN
0x8a7fcAB0...bf45Ed98D
0 ETH0.0006507713.99332776
Approve209800322024-10-16 18:51:59511 days ago1729104719IN
0x8a7fcAB0...bf45Ed98D
0 ETH0.0006507713.99332776
Approve209800322024-10-16 18:51:59511 days ago1729104719IN
0x8a7fcAB0...bf45Ed98D
0 ETH0.0006507713.99332776
Approve209800322024-10-16 18:51:59511 days ago1729104719IN
0x8a7fcAB0...bf45Ed98D
0 ETH0.0006507713.99332776
Approve209800322024-10-16 18:51:59511 days ago1729104719IN
0x8a7fcAB0...bf45Ed98D
0 ETH0.0006507713.99332776
Approve209800322024-10-16 18:51:59511 days ago1729104719IN
0x8a7fcAB0...bf45Ed98D
0 ETH0.0006507713.99332776
Approve209800322024-10-16 18:51:59511 days ago1729104719IN
0x8a7fcAB0...bf45Ed98D
0 ETH0.0006507713.99332776
Approve209799972024-10-16 18:44:59511 days ago1729104299IN
0x8a7fcAB0...bf45Ed98D
0 ETH0.000553711.9062035
Approve209799822024-10-16 18:41:59511 days ago1729104119IN
0x8a7fcAB0...bf45Ed98D
0 ETH0.0008232317.70166214
Approve209799822024-10-16 18:41:59511 days ago1729104119IN
0x8a7fcAB0...bf45Ed98D
0 ETH0.0008232317.70166214
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
BONE

Compiler Version
v0.8.27+commit.40a35a09

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at Etherscan.io on 2024-10-16
*/

//SPDX-License-Identifier: MIT

/*
    telegram: https://t.me/BONEBookofNeiro
    twitter: https://x.com/BONEBookofNeiro
    website: https://bookofneiro.co/
*/
pragma solidity 0.8.27;

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

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

contract Ownable 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 IUniswapV2Factory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
}

interface IUniswapV2Router02 {
    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 BONE is Context, IERC20, Ownable {
    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 100e6 * 10 ** _decimals;
    string private constant _name = unicode"Book of Neiro";
    string private constant _symbol = unicode"BONE";
    uint256 public _buyFees = 20;
    uint256 public _sellFees = 20;
    bool public tradingOpen;
    mapping (address => bool) private _excludedFromFee;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => uint256) private _balances;
    uint256 private _swapTokensAtAmount = _tTotal / 1000;
    uint256 private _maxTaxSwap = _tTotal / 100;
    bool private inSwap;
    IUniswapV2Router02 uniswapV2Router;
    address uniswapV2Pair;
    uint256 public _maxWallet = _tTotal * 2 / 100;
    uint256 public _maxTx = _tTotal * 2 / 100;
    address payable public _taxWallet;

    bool private swapEnabled = true;
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
    constructor() {
        _taxWallet = payable(msg.sender);
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _excludedFromFee[address(uniswapV2Router)] = true;
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        _excludedFromFee[address(this)] = true;
        _excludedFromFee[owner()] = true;
        _balances[owner()] = _tTotal;
        emit Transfer(address(0), msg.sender, _tTotal);
    }

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

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

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

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

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

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

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

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

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

    function _approve(address owner, address spender, uint256 amount) private {
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _transfer(address from, address to, uint256 amount) private {
        require(to != address(0));
        uint256 taxAmount=0;
        if (!_excludedFromFee[from] && _excludedFromFee[to] == false) {
            require(tradingOpen == true, "BONE: Trade isn't open!");

            taxAmount = amount * _buyFees / 100;

            if (to != uniswapV2Pair) {
                require(balanceOf(to) + amount <= _maxWallet, "Max wallet!");
            }

            if(to == uniswapV2Pair){
                taxAmount = amount * _sellFees / 100;
                require(_maxWallet < _tTotal);
            }

            if (from == uniswapV2Pair) {
                require(balanceOf(to) + amount <= _maxWallet);
            }

            uint256 contractBalance = balanceOf(address(this));
            if (!inSwap && to == uniswapV2Pair && swapEnabled && contractBalance>_swapTokensAtAmount) {
                swapTokensForEth(min(amount,min(contractBalance,_maxTaxSwap)));
            }
        }

        if(taxAmount > 0){
          _balances[address(this)] += (taxAmount);
          emit Transfer(from, address(this),taxAmount);
        }
        _balances[from] -= amount;
        _balances[to] += amount - taxAmount;
        emit Transfer(from, to, amount - (taxAmount));
    }

    function min(uint256 a, uint256 b) private pure returns (uint256){
      return (a>b)?b:a;
    }

    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,
            _taxWallet,
            block.timestamp
        );
    }

    function changeMaxWallet(uint amount) external onlyOwner {
        require(amount >= _tTotal / 500);
        _maxWallet = amount;
    }

    function startTrading() external onlyOwner {
        tradingOpen = true;
    }

    function excludeFromFees(address account, bool status) external onlyOwner {
        _excludedFromFee[account] = status;
    }

    function removeFees() external onlyOwner {
        _buyFees = 0;
        _sellFees = 0;
    }

    function updateFees(uint newBuyFee, uint newSellFee) external onlyOwner {
        _buyFees = newBuyFee;
        _sellFees  = newSellFee;
        require(newBuyFee <= 25, "Too high");
        require(newSellFee <= 25, "Too high");
    }

    receive() external payable {}
}

Contract Security Audit

Contract ABI

API
[{"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":"_buyFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTx","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"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":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"changeMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"status","type":"bool"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startTrading","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":[],"name":"tradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newBuyFee","type":"uint256"},{"internalType":"uint256","name":"newSellFee","type":"uint256"}],"name":"updateFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052601460018190556002556103e861001d6009600a6104f4565b61002b906305f5e100610509565b6100359190610520565b60075560646100466009600a6104f4565b610054906305f5e100610509565b61005e9190610520565b600855606461006f6009600a6104f4565b61007d906305f5e100610509565b610088906002610509565b6100929190610520565b600b5560646100a36009600a6104f4565b6100b1906305f5e100610509565b6100bc906002610509565b6100c69190610520565b600c55600d805460ff60a01b1916600160a01b1790553480156100e7575f5ffd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600d8054336001600160a01b031990911617905560098054610100600160a81b031916747a250d5630b4cf539739df2c5dacb4c659f2488d00178082556001600160a01b036101009182900481165f90815260046020818152604092839020805460ff191660011790559454825163c45a015560e01b815292519490049092169363c45a0155938284019391929091908290030181865afa1580156101cf573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101f3919061053f565b6001600160a01b031663c9c6539630600960019054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610253573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610277919061053f565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156102c1573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102e5919061053f565b600a80546001600160a01b0319166001600160a01b0392909216919091179055305f9081526004602081905260408220805460ff19166001908117909155916103355f546001600160a01b031690565b6001600160a01b0316815260208101919091526040015f20805460ff19169115159190911790556103686009600a6104f4565b610376906305f5e100610509565b60065f61038a5f546001600160a01b031690565b6001600160a01b0316815260208101919091526040015f9081209190915533907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6103d76009600a6104f4565b6103e5906305f5e100610509565b60405190815260200160405180910390a3610565565b634e487b7160e01b5f52601160045260245ffd5b6001815b600184111561044a5780850481111561042e5761042e6103fb565b600184161561043c57908102905b60019390931c928002610413565b935093915050565b5f82610460575060016104ee565b8161046c57505f6104ee565b8160018114610482576002811461048c576104a8565b60019150506104ee565b60ff84111561049d5761049d6103fb565b50506001821b6104ee565b5060208310610133831016604e8410600b84101617156104cb575081810a6104ee565b6104d75f19848461040f565b805f19048211156104ea576104ea6103fb565b0290505b92915050565b5f61050260ff841683610452565b9392505050565b80820281158282048414176104ee576104ee6103fb565b5f8261053a57634e487b7160e01b5f52601260045260245ffd5b500490565b5f6020828403121561054f575f5ffd5b81516001600160a01b0381168114610502575f5ffd5b611065806105725f395ff3fe608060405260043610610134575f3560e01c80637830b072116100a8578063c02466681161006d578063c024666814610375578063dd62ed3e14610394578063de7cf799146103d8578063e4d1a874146103ed578063f6b20c3b14610402578063ffb54a9914610416575f5ffd5b80637830b072146102e457806382247ec0146102f95780638da5cb5b1461030e57806395d89b411461032a578063a9059cbb14610356575f5ffd5b8063293230b8116100f9578063293230b814610217578063313ce5671461022b5780636db79437146102465780636f268a991461026557806370a082311461029c578063715018a6146102d0575f5ffd5b806306fdde031461013f578063095ea7b3146101865780630b006d60146101b557806318160ddd146101d657806323b872dd146101f8575f5ffd5b3661013b57005b5f5ffd5b34801561014a575f5ffd5b5060408051808201909152600d81526c426f6f6b206f66204e6569726f60981b60208201525b60405161017d9190610c8d565b60405180910390f35b348015610191575f5ffd5b506101a56101a0366004610cd9565b61042f565b604051901515815260200161017d565b3480156101c0575f5ffd5b506101d46101cf366004610d03565b610445565b005b3480156101e1575f5ffd5b506101ea6104ae565b60405190815260200161017d565b348015610203575f5ffd5b506101a5610212366004610d1a565b6104ce565b348015610222575f5ffd5b506101d461051e565b348015610236575f5ffd5b506040516009815260200161017d565b348015610251575f5ffd5b506101d4610260366004610d58565b610556565b348015610270575f5ffd5b50600d54610284906001600160a01b031681565b6040516001600160a01b03909116815260200161017d565b3480156102a7575f5ffd5b506101ea6102b6366004610d78565b6001600160a01b03165f9081526006602052604090205490565b3480156102db575f5ffd5b506101d4610605565b3480156102ef575f5ffd5b506101ea600c5481565b348015610304575f5ffd5b506101ea600b5481565b348015610319575f5ffd5b505f546001600160a01b0316610284565b348015610335575f5ffd5b50604080518082019091526004815263424f4e4560e01b6020820152610170565b348015610361575f5ffd5b506101a5610370366004610cd9565b610676565b348015610380575f5ffd5b506101d461038f366004610d93565b610682565b34801561039f575f5ffd5b506101ea6103ae366004610dce565b6001600160a01b039182165f90815260056020908152604080832093909416825291909152205490565b3480156103e3575f5ffd5b506101ea60025481565b3480156103f8575f5ffd5b506101ea60015481565b34801561040d575f5ffd5b506101d46106d5565b348015610421575f5ffd5b506003546101a59060ff1681565b5f61043b338484610709565b5060015b92915050565b5f546001600160a01b031633146104775760405162461bcd60e51b815260040161046e90610dfa565b60405180910390fd5b6101f46104866009600a610f26565b610494906305f5e100610f34565b61049e9190610f4b565b8110156104a9575f5ffd5b600b55565b5f6104bb6009600a610f26565b6104c9906305f5e100610f34565b905090565b5f6104da848484610769565b6001600160a01b0384165f9081526005602090815260408083203380855292529091205461051491869161050f908690610f6a565b610709565b5060019392505050565b5f546001600160a01b031633146105475760405162461bcd60e51b815260040161046e90610dfa565b6003805460ff19166001179055565b5f546001600160a01b0316331461057f5760405162461bcd60e51b815260040161046e90610dfa565b6001829055600281905560198211156105c55760405162461bcd60e51b81526020600482015260086024820152670a8dede40d0d2ced60c31b604482015260640161046e565b60198111156106015760405162461bcd60e51b81526020600482015260086024820152670a8dede40d0d2ced60c31b604482015260640161046e565b5050565b5f546001600160a01b0316331461062e5760405162461bcd60e51b815260040161046e90610dfa565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f61043b338484610769565b5f546001600160a01b031633146106ab5760405162461bcd60e51b815260040161046e90610dfa565b6001600160a01b03919091165f908152600460205260409020805460ff1916911515919091179055565b5f546001600160a01b031633146106fe5760405162461bcd60e51b815260040161046e90610dfa565b5f6001819055600255565b6001600160a01b038381165f8181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03821661077b575f5ffd5b6001600160a01b0383165f9081526004602052604081205460ff161580156107bb57506001600160a01b0383165f9081526004602052604090205460ff16155b156109ca5760035460ff1615156001146108175760405162461bcd60e51b815260206004820152601760248201527f424f4e453a2054726164652069736e2774206f70656e21000000000000000000604482015260640161046e565b6064600154836108279190610f34565b6108319190610f4b565b600a549091506001600160a01b038481169116146108b157600b548261086b856001600160a01b03165f9081526006602052604090205490565b6108759190610f7d565b11156108b15760405162461bcd60e51b815260206004820152600b60248201526a4d61782077616c6c65742160a81b604482015260640161046e565b600a546001600160a01b0390811690841603610909576064600254836108d79190610f34565b6108e19190610f4b565b90506108ef6009600a610f26565b6108fd906305f5e100610f34565b600b5410610909575f5ffd5b600a546001600160a01b039081169085160361095557600b5482610941856001600160a01b03165f9081526006602052604090205490565b61094b9190610f7d565b1115610955575f5ffd5b305f9081526006602052604090205460095460ff161580156109845750600a546001600160a01b038581169116145b80156109995750600d54600160a01b900460ff165b80156109a6575060075481115b156109c8576109c86109c3846109be84600854610ae7565b610ae7565b610afe565b505b8015610a3457305f90815260066020526040812080548392906109ee908490610f7d565b909155505060405181815230906001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b6001600160a01b0384165f9081526006602052604081208054849290610a5b908490610f6a565b90915550610a6b90508183610f6a565b6001600160a01b0384165f9081526006602052604081208054909190610a92908490610f7d565b90915550506001600160a01b038084169085167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610ad08486610f6a565b60405190815260200160405180910390a350505050565b5f818311610af55782610af7565b815b9392505050565b6009805460ff191660011790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110610b3e57610b3e610f90565b60200260200101906001600160a01b031690816001600160a01b031681525050600960019054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610baf573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bd39190610fa4565b81600181518110610be657610be6610f90565b6001600160a01b039283166020918202929092010152600954610c1191309161010090041684610709565b600954600d5460405163791ac94760e01b81526001600160a01b0361010090930483169263791ac94792610c529287925f9288929116904290600401610fbf565b5f604051808303815f87803b158015610c69575f5ffd5b505af1158015610c7b573d5f5f3e3d5ffd5b50506009805460ff1916905550505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b0381168114610cd6575f5ffd5b50565b5f5f60408385031215610cea575f5ffd5b8235610cf581610cc2565b946020939093013593505050565b5f60208284031215610d13575f5ffd5b5035919050565b5f5f5f60608486031215610d2c575f5ffd5b8335610d3781610cc2565b92506020840135610d4781610cc2565b929592945050506040919091013590565b5f5f60408385031215610d69575f5ffd5b50508035926020909101359150565b5f60208284031215610d88575f5ffd5b8135610af781610cc2565b5f5f60408385031215610da4575f5ffd5b8235610daf81610cc2565b915060208301358015158114610dc3575f5ffd5b809150509250929050565b5f5f60408385031215610ddf575f5ffd5b8235610dea81610cc2565b91506020830135610dc381610cc2565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b6001815b6001841115610e7e57808504811115610e6257610e62610e2f565b6001841615610e7057908102905b60019390931c928002610e47565b935093915050565b5f82610e945750600161043f565b81610ea057505f61043f565b8160018114610eb65760028114610ec057610edc565b600191505061043f565b60ff841115610ed157610ed1610e2f565b50506001821b61043f565b5060208310610133831016604e8410600b8410161715610eff575081810a61043f565b610f0b5f198484610e43565b805f1904821115610f1e57610f1e610e2f565b029392505050565b5f610af760ff841683610e86565b808202811582820484141761043f5761043f610e2f565b5f82610f6557634e487b7160e01b5f52601260045260245ffd5b500490565b8181038181111561043f5761043f610e2f565b8082018082111561043f5761043f610e2f565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215610fb4575f5ffd5b8151610af781610cc2565b5f60a0820187835286602084015260a0604084015280865180835260c0850191506020880192505f5b8181101561100f5783516001600160a01b0316835260209384019390920191600101610fe8565b50506001600160a01b03959095166060840152505060800152939250505056fea2646970667358221220f117809e73f9a979209adadd17abbfde1c32a31f476acf694c6d4311de7f56aa64736f6c634300081b0033

Deployed Bytecode

0x608060405260043610610134575f3560e01c80637830b072116100a8578063c02466681161006d578063c024666814610375578063dd62ed3e14610394578063de7cf799146103d8578063e4d1a874146103ed578063f6b20c3b14610402578063ffb54a9914610416575f5ffd5b80637830b072146102e457806382247ec0146102f95780638da5cb5b1461030e57806395d89b411461032a578063a9059cbb14610356575f5ffd5b8063293230b8116100f9578063293230b814610217578063313ce5671461022b5780636db79437146102465780636f268a991461026557806370a082311461029c578063715018a6146102d0575f5ffd5b806306fdde031461013f578063095ea7b3146101865780630b006d60146101b557806318160ddd146101d657806323b872dd146101f8575f5ffd5b3661013b57005b5f5ffd5b34801561014a575f5ffd5b5060408051808201909152600d81526c426f6f6b206f66204e6569726f60981b60208201525b60405161017d9190610c8d565b60405180910390f35b348015610191575f5ffd5b506101a56101a0366004610cd9565b61042f565b604051901515815260200161017d565b3480156101c0575f5ffd5b506101d46101cf366004610d03565b610445565b005b3480156101e1575f5ffd5b506101ea6104ae565b60405190815260200161017d565b348015610203575f5ffd5b506101a5610212366004610d1a565b6104ce565b348015610222575f5ffd5b506101d461051e565b348015610236575f5ffd5b506040516009815260200161017d565b348015610251575f5ffd5b506101d4610260366004610d58565b610556565b348015610270575f5ffd5b50600d54610284906001600160a01b031681565b6040516001600160a01b03909116815260200161017d565b3480156102a7575f5ffd5b506101ea6102b6366004610d78565b6001600160a01b03165f9081526006602052604090205490565b3480156102db575f5ffd5b506101d4610605565b3480156102ef575f5ffd5b506101ea600c5481565b348015610304575f5ffd5b506101ea600b5481565b348015610319575f5ffd5b505f546001600160a01b0316610284565b348015610335575f5ffd5b50604080518082019091526004815263424f4e4560e01b6020820152610170565b348015610361575f5ffd5b506101a5610370366004610cd9565b610676565b348015610380575f5ffd5b506101d461038f366004610d93565b610682565b34801561039f575f5ffd5b506101ea6103ae366004610dce565b6001600160a01b039182165f90815260056020908152604080832093909416825291909152205490565b3480156103e3575f5ffd5b506101ea60025481565b3480156103f8575f5ffd5b506101ea60015481565b34801561040d575f5ffd5b506101d46106d5565b348015610421575f5ffd5b506003546101a59060ff1681565b5f61043b338484610709565b5060015b92915050565b5f546001600160a01b031633146104775760405162461bcd60e51b815260040161046e90610dfa565b60405180910390fd5b6101f46104866009600a610f26565b610494906305f5e100610f34565b61049e9190610f4b565b8110156104a9575f5ffd5b600b55565b5f6104bb6009600a610f26565b6104c9906305f5e100610f34565b905090565b5f6104da848484610769565b6001600160a01b0384165f9081526005602090815260408083203380855292529091205461051491869161050f908690610f6a565b610709565b5060019392505050565b5f546001600160a01b031633146105475760405162461bcd60e51b815260040161046e90610dfa565b6003805460ff19166001179055565b5f546001600160a01b0316331461057f5760405162461bcd60e51b815260040161046e90610dfa565b6001829055600281905560198211156105c55760405162461bcd60e51b81526020600482015260086024820152670a8dede40d0d2ced60c31b604482015260640161046e565b60198111156106015760405162461bcd60e51b81526020600482015260086024820152670a8dede40d0d2ced60c31b604482015260640161046e565b5050565b5f546001600160a01b0316331461062e5760405162461bcd60e51b815260040161046e90610dfa565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f61043b338484610769565b5f546001600160a01b031633146106ab5760405162461bcd60e51b815260040161046e90610dfa565b6001600160a01b03919091165f908152600460205260409020805460ff1916911515919091179055565b5f546001600160a01b031633146106fe5760405162461bcd60e51b815260040161046e90610dfa565b5f6001819055600255565b6001600160a01b038381165f8181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03821661077b575f5ffd5b6001600160a01b0383165f9081526004602052604081205460ff161580156107bb57506001600160a01b0383165f9081526004602052604090205460ff16155b156109ca5760035460ff1615156001146108175760405162461bcd60e51b815260206004820152601760248201527f424f4e453a2054726164652069736e2774206f70656e21000000000000000000604482015260640161046e565b6064600154836108279190610f34565b6108319190610f4b565b600a549091506001600160a01b038481169116146108b157600b548261086b856001600160a01b03165f9081526006602052604090205490565b6108759190610f7d565b11156108b15760405162461bcd60e51b815260206004820152600b60248201526a4d61782077616c6c65742160a81b604482015260640161046e565b600a546001600160a01b0390811690841603610909576064600254836108d79190610f34565b6108e19190610f4b565b90506108ef6009600a610f26565b6108fd906305f5e100610f34565b600b5410610909575f5ffd5b600a546001600160a01b039081169085160361095557600b5482610941856001600160a01b03165f9081526006602052604090205490565b61094b9190610f7d565b1115610955575f5ffd5b305f9081526006602052604090205460095460ff161580156109845750600a546001600160a01b038581169116145b80156109995750600d54600160a01b900460ff165b80156109a6575060075481115b156109c8576109c86109c3846109be84600854610ae7565b610ae7565b610afe565b505b8015610a3457305f90815260066020526040812080548392906109ee908490610f7d565b909155505060405181815230906001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b6001600160a01b0384165f9081526006602052604081208054849290610a5b908490610f6a565b90915550610a6b90508183610f6a565b6001600160a01b0384165f9081526006602052604081208054909190610a92908490610f7d565b90915550506001600160a01b038084169085167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610ad08486610f6a565b60405190815260200160405180910390a350505050565b5f818311610af55782610af7565b815b9392505050565b6009805460ff191660011790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110610b3e57610b3e610f90565b60200260200101906001600160a01b031690816001600160a01b031681525050600960019054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610baf573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bd39190610fa4565b81600181518110610be657610be6610f90565b6001600160a01b039283166020918202929092010152600954610c1191309161010090041684610709565b600954600d5460405163791ac94760e01b81526001600160a01b0361010090930483169263791ac94792610c529287925f9288929116904290600401610fbf565b5f604051808303815f87803b158015610c69575f5ffd5b505af1158015610c7b573d5f5f3e3d5ffd5b50506009805460ff1916905550505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b0381168114610cd6575f5ffd5b50565b5f5f60408385031215610cea575f5ffd5b8235610cf581610cc2565b946020939093013593505050565b5f60208284031215610d13575f5ffd5b5035919050565b5f5f5f60608486031215610d2c575f5ffd5b8335610d3781610cc2565b92506020840135610d4781610cc2565b929592945050506040919091013590565b5f5f60408385031215610d69575f5ffd5b50508035926020909101359150565b5f60208284031215610d88575f5ffd5b8135610af781610cc2565b5f5f60408385031215610da4575f5ffd5b8235610daf81610cc2565b915060208301358015158114610dc3575f5ffd5b809150509250929050565b5f5f60408385031215610ddf575f5ffd5b8235610dea81610cc2565b91506020830135610dc381610cc2565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b6001815b6001841115610e7e57808504811115610e6257610e62610e2f565b6001841615610e7057908102905b60019390931c928002610e47565b935093915050565b5f82610e945750600161043f565b81610ea057505f61043f565b8160018114610eb65760028114610ec057610edc565b600191505061043f565b60ff841115610ed157610ed1610e2f565b50506001821b61043f565b5060208310610133831016604e8410600b8410161715610eff575081810a61043f565b610f0b5f198484610e43565b805f1904821115610f1e57610f1e610e2f565b029392505050565b5f610af760ff841683610e86565b808202811582820484141761043f5761043f610e2f565b5f82610f6557634e487b7160e01b5f52601260045260245ffd5b500490565b8181038181111561043f5761043f610e2f565b8082018082111561043f5761043f610e2f565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215610fb4575f5ffd5b8151610af781610cc2565b5f60a0820187835286602084015260a0604084015280865180835260c0850191506020880192505f5b8181101561100f5783516001600160a01b0316835260209384019390920191600101610fe8565b50506001600160a01b03959095166060840152505060800152939250505056fea2646970667358221220f117809e73f9a979209adadd17abbfde1c32a31f476acf694c6d4311de7f56aa64736f6c634300081b0033

Deployed Bytecode Sourcemap

2461:5712:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4033:83;;;;;;;;;;-1:-1:-1;4103:5:0;;;;;;;;;;;;-1:-1:-1;;;4103:5:0;;;;4033:83;;;;;;;:::i;:::-;;;;;;;;4866:161;;;;;;;;;;-1:-1:-1;4866:161:0;;;;;:::i;:::-;;:::i;:::-;;;1110:14:1;;1103:22;1085:41;;1073:2;1058:18;4866:161:0;945:187:1;7420:138:0;;;;;;;;;;-1:-1:-1;7420:138:0;;;;;:::i;:::-;;:::i;:::-;;4310:95;;;;;;;;;;;;;:::i;:::-;;;1514:25:1;;;1502:2;1487:18;4310:95:0;1368:177:1;5035:268:0;;;;;;;;;;-1:-1:-1;5035:268:0;;;;;:::i;:::-;;:::i;7566:80::-;;;;;;;;;;;;;:::i;4219:83::-;;;;;;;;;;-1:-1:-1;4219:83:0;;2545:1;2205:36:1;;2193:2;2178:18;4219:83:0;2063:184:1;7893:240:0;;;;;;;;;;-1:-1:-1;7893:240:0;;;;;:::i;:::-;;:::i;3324:33::-;;;;;;;;;;-1:-1:-1;3324:33:0;;;;-1:-1:-1;;;;;3324:33:0;;;;;;-1:-1:-1;;;;;2783:32:1;;;2765:51;;2753:2;2738:18;3324:33:0;2603:219:1;4413:119:0;;;;;;;;;;-1:-1:-1;4413:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;4506:18:0;4479:7;4506:18;;;:9;:18;;;;;;;4413:119;1542:148;;;;;;;;;;;;;:::i;3276:41::-;;;;;;;;;;;;;;;;3224:45;;;;;;;;;;;;;;;;1328:79;;;;;;;;;;-1:-1:-1;1366:7:0;1393:6;-1:-1:-1;;;;;1393:6:0;1328:79;;4124:87;;;;;;;;;;-1:-1:-1;4196:7:0;;;;;;;;;;;;-1:-1:-1;;;4196:7:0;;;;4124:87;;4540:167;;;;;;;;;;-1:-1:-1;4540:167:0;;;;;:::i;:::-;;:::i;7654:127::-;;;;;;;;;;-1:-1:-1;7654:127:0;;;;;:::i;:::-;;:::i;4715:143::-;;;;;;;;;;-1:-1:-1;4715:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;4823:18:0;;;4796:7;4823:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;4715:143;2768:29;;;;;;;;;;;;;;;;2733:28;;;;;;;;;;;;;;;;7789:96;;;;;;;;;;;;;:::i;2804:23::-;;;;;;;;;;-1:-1:-1;2804:23:0;;;;;;;;4866:161;4941:4;4958:39;308:10;4981:7;4990:6;4958:8;:39::i;:::-;-1:-1:-1;5015:4:0;4866:161;;;;;:::o;7420:138::-;1455:6;;-1:-1:-1;;;;;1455:6:0;308:10;1455:22;1447:67;;;;-1:-1:-1;;;1447:67:0;;;;;;;:::i;:::-;;;;;;;;;7516:3:::1;2596:15;2545:1;2596:2;:15;:::i;:::-;2588:23;::::0;:5:::1;:23;:::i;:::-;7506:13;;;;:::i;:::-;7496:6;:23;;7488:32;;;;;;7531:10;:19:::0;7420:138::o;4310:95::-;4363:7;2596:15;2545:1;2596:2;:15;:::i;:::-;2588:23;;:5;:23;:::i;:::-;4383:14;;4310:95;:::o;5035:268::-;5133:4;5150:36;5160:6;5168:9;5179:6;5150:9;:36::i;:::-;-1:-1:-1;;;;;5228:19:0;;;;;;:11;:19;;;;;;;;308:10;5228:33;;;;;;;;;5197:76;;5206:6;;5228:44;;5265:6;;5228:44;:::i;:::-;5197:8;:76::i;:::-;-1:-1:-1;5291:4:0;5035:268;;;;;:::o;7566:80::-;1455:6;;-1:-1:-1;;;;;1455:6:0;308:10;1455:22;1447:67;;;;-1:-1:-1;;;1447:67:0;;;;;;;:::i;:::-;7620:11:::1;:18:::0;;-1:-1:-1;;7620:18:0::1;7634:4;7620:18;::::0;;7566:80::o;7893:240::-;1455:6;;-1:-1:-1;;;;;1455:6:0;308:10;1455:22;1447:67;;;;-1:-1:-1;;;1447:67:0;;;;;;;:::i;:::-;7976:8:::1;:20:::0;;;8007:9:::1;:23:::0;;;8062:2:::1;8049:15:::0;::::1;;8041:36;;;::::0;-1:-1:-1;;;8041:36:0;;6756:2:1;8041:36:0::1;::::0;::::1;6738:21:1::0;6795:1;6775:18;;;6768:29;-1:-1:-1;;;6813:18:1;;;6806:38;6861:18;;8041:36:0::1;6554:331:1::0;8041:36:0::1;8110:2;8096:10;:16;;8088:37;;;::::0;-1:-1:-1;;;8088:37:0;;6756:2:1;8088:37:0::1;::::0;::::1;6738:21:1::0;6795:1;6775:18;;;6768:29;-1:-1:-1;;;6813:18:1;;;6806:38;6861:18;;8088:37:0::1;6554:331:1::0;8088:37:0::1;7893:240:::0;;:::o;1542:148::-;1455:6;;-1:-1:-1;;;;;1455:6:0;308:10;1455:22;1447:67;;;;-1:-1:-1;;;1447:67:0;;;;;;;:::i;:::-;1649:1:::1;1633:6:::0;;1612:40:::1;::::0;-1:-1:-1;;;;;1633:6:0;;::::1;::::0;1612:40:::1;::::0;1649:1;;1612:40:::1;1680:1;1663:19:::0;;-1:-1:-1;;;;;;1663:19:0::1;::::0;;1542:148::o;4540:167::-;4618:4;4635:42;308:10;4659:9;4670:6;4635:9;:42::i;7654:127::-;1455:6;;-1:-1:-1;;;;;1455:6:0;308:10;1455:22;1447:67;;;;-1:-1:-1;;;1447:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;7739:25:0;;;::::1;;::::0;;;:16:::1;:25;::::0;;;;:34;;-1:-1:-1;;7739:34:0::1;::::0;::::1;;::::0;;;::::1;::::0;;7654:127::o;7789:96::-;1455:6;;-1:-1:-1;;;;;1455:6:0;308:10;1455:22;1447:67;;;;-1:-1:-1;;;1447:67:0;;;;;;;:::i;:::-;7852:1:::1;7841:8;:12:::0;;;7864:9:::1;:13:::0;7789:96::o;5311:177::-;-1:-1:-1;;;;;5396:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;5448:32;;1514:25:1;;;5448:32:0;;1487:18:1;5448:32:0;;;;;;;5311:177;;;:::o;5496:1322::-;-1:-1:-1;;;;;5584:16:0;;5576:25;;;;;;-1:-1:-1;;;;;5647:22:0;;5612:17;5647:22;;;:16;:22;;;;;;;;5646:23;:56;;;;-1:-1:-1;;;;;;5673:20:0;;;;;;:16;:20;;;;;;;;:29;5646:56;5642:881;;;5727:11;;;;:19;;:11;:19;5719:55;;;;-1:-1:-1;;;5719:55:0;;7092:2:1;5719:55:0;;;7074:21:1;7131:2;7111:18;;;7104:30;7170:25;7150:18;;;7143:53;7213:18;;5719:55:0;6890:347:1;5719:55:0;5823:3;5812:8;;5803:6;:17;;;;:::i;:::-;:23;;;;:::i;:::-;5853:13;;5791:35;;-1:-1:-1;;;;;;5847:19:0;;;5853:13;;5847:19;5843:120;;5921:10;;5911:6;5895:13;5905:2;-1:-1:-1;;;;;4506:18:0;4479:7;4506:18;;;:9;:18;;;;;;;4413:119;5895:13;:22;;;;:::i;:::-;:36;;5887:60;;;;-1:-1:-1;;;5887:60:0;;7574:2:1;5887:60:0;;;7556:21:1;7613:2;7593:18;;;7586:30;-1:-1:-1;;;7632:18:1;;;7625:41;7683:18;;5887:60:0;7372:335:1;5887:60:0;5988:13;;-1:-1:-1;;;;;5988:13:0;;;5982:19;;;;5979:142;;6054:3;6042:9;;6033:6;:18;;;;:::i;:::-;:24;;;;:::i;:::-;6021:36;-1:-1:-1;2596:15:0;2545:1;2596:2;:15;:::i;:::-;2588:23;;:5;:23;:::i;:::-;6084:10;;:20;6076:29;;;;;;6149:13;;-1:-1:-1;;;;;6149:13:0;;;6141:21;;;;6137:107;;6217:10;;6207:6;6191:13;6201:2;-1:-1:-1;;;;;4506:18:0;4479:7;4506:18;;;:9;:18;;;;;;;4413:119;6191:13;:22;;;;:::i;:::-;:36;;6183:45;;;;;;6304:4;6260:23;4506:18;;;:9;:18;;;;;;6330:6;;;;6329:7;:30;;;;-1:-1:-1;6346:13:0;;-1:-1:-1;;;;;6340:19:0;;;6346:13;;6340:19;6329:30;:45;;;;-1:-1:-1;6363:11:0;;-1:-1:-1;;;6363:11:0;;;;6329:45;:84;;;;;6394:19;;6378:15;:35;6329:84;6325:187;;;6434:62;6451:44;6455:6;6462:32;6466:15;6482:11;;6462:3;:32::i;:::-;6451:3;:44::i;:::-;6434:16;:62::i;:::-;5704:819;5642:881;6538:13;;6535:138;;6583:4;6565:24;;;;:9;:24;;;;;:39;;6594:9;;6565:24;:39;;6594:9;;6565:39;:::i;:::-;;;;-1:-1:-1;;6622:39:0;;1514:25:1;;;6645:4:0;;-1:-1:-1;;;;;6622:39:0;;;;;1502:2:1;1487:18;6622:39:0;;;;;;;6535:138;-1:-1:-1;;;;;6683:15:0;;;;;;:9;:15;;;;;:25;;6702:6;;6683:15;:25;;6702:6;;6683:25;:::i;:::-;;;;-1:-1:-1;6736:18:0;;-1:-1:-1;6745:9:0;6736:6;:18;:::i;:::-;-1:-1:-1;;;;;6719:13:0;;;;;;:9;:13;;;;;:35;;:13;;;:35;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;6770:40:0;;;;;;;6789:20;6799:9;6789:6;:20;:::i;:::-;6770:40;;1514:25:1;;;1502:2;1487:18;6770:40:0;;;;;;;5565:1253;5496:1322;;;:::o;6826:98::-;6883:7;6910:1;6908;:3;6907:9;;6915:1;6907:9;;;6913:1;6907:9;6900:16;6826:98;-1:-1:-1;;;6826:98:0:o;6932:480::-;3436:6;:13;;-1:-1:-1;;3436:13:0;3445:4;3436:13;;;7034:16:::1;::::0;;7048:1:::1;7034:16:::0;;;;;::::1;::::0;;-1:-1:-1;;7034:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;7034:16:0::1;7010:40;;7079:4;7061;7066:1;7061:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1::0;;;;;7061:23:0::1;;;-1:-1:-1::0;;;;;7061:23:0::1;;;::::0;::::1;7105:15;;;;;;;;;-1:-1:-1::0;;;;;7105:15:0::1;-1:-1:-1::0;;;;;7105:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7095:4;7100:1;7095:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;7095:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;7170:15:::1;::::0;7138:62:::1;::::0;7155:4:::1;::::0;7170:15:::1;::::0;::::1;;7188:11:::0;7138:8:::1;:62::i;:::-;7211:15;::::0;7353:10:::1;::::0;7211:193:::1;::::0;-1:-1:-1;;;7211:193:0;;-1:-1:-1;;;;;7211:15:0::1;::::0;;::::1;::::0;::::1;::::0;:66:::1;::::0;:193:::1;::::0;7292:11;;7318:1:::1;::::0;7334:4;;7353:10;::::1;::::0;7378:15:::1;::::0;7211:193:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;3472:6:0;:14;;-1:-1:-1;;3472:14:0;;;-1:-1:-1;;;;6932:480:0:o;14:418:1:-;163:2;152:9;145:21;126:4;195:6;189:13;238:6;233:2;222:9;218:18;211:34;297:6;292:2;284:6;280:15;275:2;264:9;260:18;254:50;353:1;348:2;339:6;328:9;324:22;320:31;313:42;423:2;416;412:7;407:2;399:6;395:15;391:29;380:9;376:45;372:54;364:62;;;14:418;;;;:::o;437:131::-;-1:-1:-1;;;;;512:31:1;;502:42;;492:70;;558:1;555;548:12;492:70;437:131;:::o;573:367::-;641:6;649;702:2;690:9;681:7;677:23;673:32;670:52;;;718:1;715;708:12;670:52;757:9;744:23;776:31;801:5;776:31;:::i;:::-;826:5;904:2;889:18;;;;876:32;;-1:-1:-1;;;573:367:1:o;1137:226::-;1196:6;1249:2;1237:9;1228:7;1224:23;1220:32;1217:52;;;1265:1;1262;1255:12;1217:52;-1:-1:-1;1310:23:1;;1137:226;-1:-1:-1;1137:226:1:o;1550:508::-;1627:6;1635;1643;1696:2;1684:9;1675:7;1671:23;1667:32;1664:52;;;1712:1;1709;1702:12;1664:52;1751:9;1738:23;1770:31;1795:5;1770:31;:::i;:::-;1820:5;-1:-1:-1;1877:2:1;1862:18;;1849:32;1890:33;1849:32;1890:33;:::i;:::-;1550:508;;1942:7;;-1:-1:-1;;;2022:2:1;2007:18;;;;1994:32;;1550:508::o;2252:346::-;2320:6;2328;2381:2;2369:9;2360:7;2356:23;2352:32;2349:52;;;2397:1;2394;2387:12;2349:52;-1:-1:-1;;2442:23:1;;;2562:2;2547:18;;;2534:32;;-1:-1:-1;2252:346:1:o;2827:247::-;2886:6;2939:2;2927:9;2918:7;2914:23;2910:32;2907:52;;;2955:1;2952;2945:12;2907:52;2994:9;2981:23;3013:31;3038:5;3013:31;:::i;3287:416::-;3352:6;3360;3413:2;3401:9;3392:7;3388:23;3384:32;3381:52;;;3429:1;3426;3419:12;3381:52;3468:9;3455:23;3487:31;3512:5;3487:31;:::i;:::-;3537:5;-1:-1:-1;3594:2:1;3579:18;;3566:32;3636:15;;3629:23;3617:36;;3607:64;;3667:1;3664;3657:12;3607:64;3690:7;3680:17;;;3287:416;;;;;:::o;3708:388::-;3776:6;3784;3837:2;3825:9;3816:7;3812:23;3808:32;3805:52;;;3853:1;3850;3843:12;3805:52;3892:9;3879:23;3911:31;3936:5;3911:31;:::i;:::-;3961:5;-1:-1:-1;4018:2:1;4003:18;;3990:32;4031:33;3990:32;4031:33;:::i;4101:356::-;4303:2;4285:21;;;4322:18;;;4315:30;4381:34;4376:2;4361:18;;4354:62;4448:2;4433:18;;4101:356::o;4462:127::-;4523:10;4518:3;4514:20;4511:1;4504:31;4554:4;4551:1;4544:15;4578:4;4575:1;4568:15;4594:375;4682:1;4700:5;4714:249;4735:1;4725:8;4722:15;4714:249;;;4785:4;4780:3;4776:14;4770:4;4767:24;4764:50;;;4794:18;;:::i;:::-;4844:1;4834:8;4830:16;4827:49;;;4858:16;;;;4827:49;4941:1;4937:16;;;;;4897:15;;4714:249;;;4594:375;;;;;;:::o;4974:902::-;5023:5;5053:8;5043:80;;-1:-1:-1;5094:1:1;5108:5;;5043:80;5142:4;5132:76;;-1:-1:-1;5179:1:1;5193:5;;5132:76;5224:4;5242:1;5237:59;;;;5310:1;5305:174;;;;5217:262;;5237:59;5267:1;5258:10;;5281:5;;;5305:174;5342:3;5332:8;5329:17;5326:43;;;5349:18;;:::i;:::-;-1:-1:-1;;5405:1:1;5391:16;;5464:5;;5217:262;;5563:2;5553:8;5550:16;5544:3;5538:4;5535:13;5531:36;5525:2;5515:8;5512:16;5507:2;5501:4;5498:12;5494:35;5491:77;5488:203;;;-1:-1:-1;5600:19:1;;;5676:5;;5488:203;5723:42;-1:-1:-1;;5748:8:1;5742:4;5723:42;:::i;:::-;5801:6;5797:1;5793:6;5789:19;5780:7;5777:32;5774:58;;;5812:18;;:::i;:::-;5850:20;;4974:902;-1:-1:-1;;;4974:902:1:o;5881:140::-;5939:5;5968:47;6009:4;5999:8;5995:19;5989:4;5968:47;:::i;6026:168::-;6099:9;;;6130;;6147:15;;;6141:22;;6127:37;6117:71;;6168:18;;:::i;6199:217::-;6239:1;6265;6255:132;;6309:10;6304:3;6300:20;6297:1;6290:31;6344:4;6341:1;6334:15;6372:4;6369:1;6362:15;6255:132;-1:-1:-1;6401:9:1;;6199:217::o;6421:128::-;6488:9;;;6509:11;;;6506:37;;;6523:18;;:::i;7242:125::-;7307:9;;;7328:10;;;7325:36;;;7341:18;;:::i;7844:127::-;7905:10;7900:3;7896:20;7893:1;7886:31;7936:4;7933:1;7926:15;7960:4;7957:1;7950:15;7976:251;8046:6;8099:2;8087:9;8078:7;8074:23;8070:32;8067:52;;;8115:1;8112;8105:12;8067:52;8147:9;8141:16;8166:31;8191:5;8166:31;:::i;8232:967::-;8502:4;8550:3;8539:9;8535:19;8581:6;8570:9;8563:25;8624:6;8619:2;8608:9;8604:18;8597:34;8667:3;8662:2;8651:9;8647:18;8640:31;8691:6;8726;8720:13;8757:6;8749;8742:22;8795:3;8784:9;8780:19;8773:26;;8834:2;8826:6;8822:15;8808:29;;8855:1;8865:195;8879:6;8876:1;8873:13;8865:195;;;8944:13;;-1:-1:-1;;;;;8940:39:1;8928:52;;9009:2;9035:15;;;;9000:12;;;;8976:1;8894:9;8865:195;;;-1:-1:-1;;;;;;;9116:32:1;;;;9111:2;9096:18;;9089:60;-1:-1:-1;;9180:3:1;9165:19;9158:35;9077:3;8232:967;-1:-1:-1;;;8232:967:1:o

Swarm Source

ipfs://f117809e73f9a979209adadd17abbfde1c32a31f476acf694c6d4311de7f56aa

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ 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.