ETH Price: $2,536.61 (+1.24%)

Contract

0x7429813431e14E3182eE696476735339aFA2Eb93
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve190050062024-01-14 12:04:11228 days ago1705233851IN
0x74298134...9aFA2Eb93
0 ETH0.0019020240.88096923
Approve189519392024-01-07 1:22:23235 days ago1704590543IN
0x74298134...9aFA2Eb93
0 ETH0.0007217515.4930124
Approve189518692024-01-07 1:08:23235 days ago1704589703IN
0x74298134...9aFA2Eb93
0 ETH0.0010227421.9538965
Approve189518562024-01-07 1:05:47235 days ago1704589547IN
0x74298134...9aFA2Eb93
0 ETH0.000831717.85314319
Approve189517682024-01-07 0:47:23235 days ago1704588443IN
0x74298134...9aFA2Eb93
0 ETH0.0009766120.96364075
Approve189514802024-01-06 23:48:11235 days ago1704584891IN
0x74298134...9aFA2Eb93
0 ETH0.0004790616.39396855
Approve189514442024-01-06 23:40:59235 days ago1704584459IN
0x74298134...9aFA2Eb93
0 ETH0.0009821121.20732304
Approve189514382024-01-06 23:39:47235 days ago1704584387IN
0x74298134...9aFA2Eb93
0 ETH0.0007367725.22351472
Approve189513812024-01-06 23:28:11235 days ago1704583691IN
0x74298134...9aFA2Eb93
0 ETH0.0006600614.24954383
Approve189509572024-01-06 22:00:47235 days ago1704578447IN
0x74298134...9aFA2Eb93
0 ETH0.0010272122.04989727
Approve189499582024-01-06 18:36:35236 days ago1704566195IN
0x74298134...9aFA2Eb93
0 ETH0.000922719.80644602
Approve189499552024-01-06 18:35:59236 days ago1704566159IN
0x74298134...9aFA2Eb93
0 ETH0.0010340822.19729825
Approve189498682024-01-06 18:18:23236 days ago1704565103IN
0x74298134...9aFA2Eb93
0 ETH0.0008442218.14512793
Approve189497482024-01-06 17:53:47236 days ago1704563627IN
0x74298134...9aFA2Eb93
0 ETH0.0005609121.01905882
Approve189497472024-01-06 17:53:35236 days ago1704563615IN
0x74298134...9aFA2Eb93
0 ETH0.0009221519.79466755
Approve189496902024-01-06 17:41:59236 days ago1704562919IN
0x74298134...9aFA2Eb93
0 ETH0.0010337322.21845823
Transfer189496822024-01-06 17:40:23236 days ago1704562823IN
0x74298134...9aFA2Eb93
0 ETH0.0009241123.90114551
Approve189496612024-01-06 17:35:47236 days ago1704562547IN
0x74298134...9aFA2Eb93
0 ETH0.0014084130.23265336
Approve189496562024-01-06 17:34:35236 days ago1704562475IN
0x74298134...9aFA2Eb93
0 ETH0.0010752123.10997118
Approve189496542024-01-06 17:34:11236 days ago1704562451IN
0x74298134...9aFA2Eb93
0 ETH0.0010887523.37077599
Approve189496512024-01-06 17:33:35236 days ago1704562415IN
0x74298134...9aFA2Eb93
0 ETH0.0011916725.58007121
Approve189496452024-01-06 17:32:11236 days ago1704562331IN
0x74298134...9aFA2Eb93
0 ETH0.0011526424.74225456
Approve189496442024-01-06 17:31:59236 days ago1704562319IN
0x74298134...9aFA2Eb93
0 ETH0.001213726.05308072
Approve189495922024-01-06 17:21:35236 days ago1704561695IN
0x74298134...9aFA2Eb93
0 ETH0.0011016123.64684919
Approve189495782024-01-06 17:18:35236 days ago1704561515IN
0x74298134...9aFA2Eb93
0 ETH0.0012717127.4538242
View all transactions

Latest 1 internal transaction

Advanced mode:
Parent Transaction Hash Block From To
189487702024-01-06 14:31:35236 days ago1704551495
0x74298134...9aFA2Eb93
1 ETH
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
ERC20

Compiler Version
v0.8.10+commit.fc410830

Optimization Enabled:
Yes with 200 runs

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

/**

SPDX-License-Identifier: Unlicensed

https://t.me/tomoneth

https://x.com/tomoneth

https://tomoneth.com

*/

pragma solidity 0.8.10;

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;
    address private _previousOwner;
    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 transferOwnership(address newOwner) public onlyOwner {
    //     _transferOwnership(newOwner);
    // }

    // function _transferOwnership(address newOwner) internal {
    //     require(
    //         newOwner != address(0),
    //         "Ownable: new owner is the zero address"
    //     );
    //     emit OwnershipTransferred(_owner, newOwner);
    //     _owner = newOwner;
    // }

    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 ERC20 is Context, IERC20, Ownable {
    uint256 private constant _totalSupply = 1_000_000e18;
    uint256 private twoPercent = 20_000e18;
    uint256 private constant minSwap = 2_5000e18;
    uint8 private constant _decimals = 18;

    IUniswapV2Router02 immutable uniswapV2Router;
    address immutable uniswapV2Pair;
    address immutable WETH;
    address payable immutable marketingWallet;

    uint256 public buyTax;
    uint256 public sellTax;

    uint8 private launch;
    uint8 private inSwapAndLiquify;

    uint256 private launchBlock;
    uint256 public maxTxAmount = 20_000e18; //max Tx

    string public constant _name = "Tom"; //69
    string public constant _symbol = "TOM";

    mapping(address => uint256) private _balance;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFeeWallet;

    constructor() {
       
        uniswapV2Router = IUniswapV2Router02(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );
        WETH = uniswapV2Router.WETH();
        buyTax = 20;
        sellTax = 40;

        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(
            address(this),
            WETH
        );

        marketingWallet = payable(msg.sender);
        _balance[address(this)] = _totalSupply;
        _isExcludedFromFeeWallet[marketingWallet] = true;
        _isExcludedFromFeeWallet[msg.sender] = true;
        _isExcludedFromFeeWallet[address(this)] = true;
        _allowances[address(this)][address(uniswapV2Router)] = type(uint256)
            .max;
        _allowances[msg.sender][address(uniswapV2Router)] = type(uint256).max;
        _allowances[marketingWallet][address(uniswapV2Router)] = type(uint256)
            .max;

        emit Transfer(address(0), _msgSender(), _totalSupply);
    }

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

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

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

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

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

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

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

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

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

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

    function addLp() external payable onlyOwner {
        _approve(address(this), address(uniswapV2Router), type(uint).max);
        uniswapV2Router.addLiquidityETH{value: msg.value}(
            address(this),
            balanceOf(address(this)),
            0,
            0,
            owner(),
            block.timestamp
        );
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
    }

    function openTrading() external onlyOwner {
        launch = 1;
        launchBlock = block.number;
    }

    // function addExcludedWallet(address wallet) external onlyOwner {
    //     _isExcludedFromFeeWallet[wallet] = true;
    // }

    // function removeLimits() external onlyOwner {
    //     maxTxAmount = _totalSupply;
    // }

    function removeLimits(uint256 finalTaxRate) external onlyOwner {
        maxTxAmount = _totalSupply;
        twoPercent = _totalSupply;
        buyTax = finalTaxRate;
        sellTax = finalTaxRate;
    }

    // function changeTax(uint256 newBuyTax, uint256 newSellTax) external onlyOwner {
    //     require(newBuyTax <= 30 && newBuyTax > 0, "Cannot set buy tax greater than 30% or less than 1%");
    //     require(newSellTax <= 30 && newSellTax > 0, "Cannot set sell tax greater than 30% or less than 1%");
    //     buyTax = newBuyTax;
    //     sellTax = newSellTax;
    // }

    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(amount > 1e9, "Min transfer amt");

        uint256 _tax;
        if (_isExcludedFromFeeWallet[from] || _isExcludedFromFeeWallet[to]) {
            _tax = 0;
        } else {
            require(
                launch != 0 && amount <= maxTxAmount,
                "Launch / Max TxAmount 1% at launch"
            );

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

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

            if (from == uniswapV2Pair) {
                _tax = buyTax;
            } else if (to == uniswapV2Pair) {
                uint256 tokensToSwap = _balance[address(this)];
                if (tokensToSwap > minSwap && inSwapAndLiquify == 0) {
                    if (tokensToSwap > twoPercent) {
                        tokensToSwap = twoPercent;
                    }
                    inSwapAndLiquify = 1;
                    address[] memory path = new address[](2);
                    path[0] = address(this);
                    path[1] = WETH;
                    uniswapV2Router
                        .swapExactTokensForETHSupportingFeeOnTransferTokens(
                            tokensToSwap,
                            0,
                            path,
                            marketingWallet,
                            block.timestamp
                        );
                    inSwapAndLiquify = 0;
                }
                _tax = sellTax;
            } else {
                _tax = 0;
            }
        }

        //Is there tax for sender|receiver?
        if (_tax != 0) {
            //Tax transfer
            uint256 taxTokens = (amount * _tax) / 100;
            uint256 transferAmount = amount - taxTokens;

            _balance[from] -= amount;
            _balance[to] += transferAmount;
            _balance[address(this)] += taxTokens;
            emit Transfer(from, address(this), taxTokens);
            emit Transfer(from, to, transferAmount);
        } else {
            //No tax transfer
            _balance[from] -= amount;
            _balance[to] += amount;

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

    receive() external payable {}
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"addLp","outputs":[],"stateMutability":"payable","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":"buyTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"finalTaxRate","type":"uint256"}],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

61010060405269043c33c193756480000060025569043c33c19375648000006007553480156200002e57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350737a250d5630b4cf539739df2c5dacb4c659f2488d6080819052604080516315ab88c960e31b8152905163ad5c4648916004808201926020929091908290030181865afa158015620000c6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000ec9190620002e6565b6001600160a01b031660c0816001600160a01b031681525050601460038190555060286004819055506080516001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000156573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200017c9190620002e6565b60c0516040516364e329cb60e11b81523060048201526001600160a01b03918216602482015291169063c9c65396906044016020604051808303816000875af1158015620001ce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001f49190620002e6565b6001600160a01b0390811660a0523360e081905230600081815260086020908152604080832069d3c21bcecceda10000009055848352600a82528083208054600160ff19918216811790925594845281842080549095161790935560098082528383206080519096168084529582528383206000199081905594835281528282209482529390935290912055620002883390565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef69d3c21bcecceda1000000604051620002d891815260200190565b60405180910390a362000318565b600060208284031215620002f957600080fd5b81516001600160a01b03811681146200031157600080fd5b9392505050565b60805160a05160c05160e051611146620003756000396000610c5101526000610bc40152600081816105dc01528181610a9e0152610ae101526000818161047a015281816104a3015281816105ac0152610c1b01526111466000f3fe6080604052600436106101185760003560e01c80638c0b5e22116100a0578063c9567bf911610064578063c9567bf914610319578063cc1776d31461032e578063d28d885214610344578063dd62ed3e14610373578063e559d86a146103b957600080fd5b80638c0b5e22146102605780638da5cb5b1461027657806395d89b411461029e578063a9059cbb146102ca578063b09f1266146102ea57600080fd5b8063313ce567116100e7578063313ce567146101d9578063427a5c02146101f55780634f7041a5146101ff57806370a0823114610215578063715018a61461024b57600080fd5b806306fdde0314610124578063095ea7b31461016257806318160ddd1461019257806323b872dd146101b957600080fd5b3661011f57005b600080fd5b34801561013057600080fd5b50604080518082019091526003815262546f6d60e81b60208201525b6040516101599190610e39565b60405180910390f35b34801561016e57600080fd5b5061018261017d366004610eaa565b6103d9565b6040519015158152602001610159565b34801561019e57600080fd5b5069d3c21bcecceda10000005b604051908152602001610159565b3480156101c557600080fd5b506101826101d4366004610ed4565b6103ef565b3480156101e557600080fd5b5060405160128152602001610159565b6101fd610441565b005b34801561020b57600080fd5b506101ab60035481565b34801561022157600080fd5b506101ab610230366004610f10565b6001600160a01b031660009081526008602052604090205490565b34801561025757600080fd5b506101fd61064d565b34801561026c57600080fd5b506101ab60075481565b34801561028257600080fd5b506000546040516001600160a01b039091168152602001610159565b3480156102aa57600080fd5b50604080518082019091526003815262544f4d60e81b602082015261014c565b3480156102d657600080fd5b506101826102e5366004610eaa565b6106c1565b3480156102f657600080fd5b5061014c60405180604001604052806003815260200162544f4d60e81b81525081565b34801561032557600080fd5b506101fd6106ce565b34801561033a57600080fd5b506101ab60045481565b34801561035057600080fd5b5061014c60405180604001604052806003815260200162546f6d60e81b81525081565b34801561037f57600080fd5b506101ab61038e366004610f32565b6001600160a01b03918216600090815260096020908152604080832093909416825291909152205490565b3480156103c557600080fd5b506101fd6103d4366004610f65565b61070b565b60006103e6338484610752565b50600192915050565b60006103fc848484610876565b6001600160a01b038416600090815260096020908152604080832033808552925290912054610437918691610432908690610f94565b610752565b5060019392505050565b6000546001600160a01b031633146104745760405162461bcd60e51b815260040161046b90610fab565b60405180910390fd5b6104a1307f0000000000000000000000000000000000000000000000000000000000000000600019610752565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f305d71934306104f1306001600160a01b031660009081526008602052604090205490565b6000806105066000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af115801561056e573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906105939190610fe0565b505060405163095ea7b360e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116600483015260001960248301527f000000000000000000000000000000000000000000000000000000000000000016915063095ea7b3906044016020604051808303816000875af1158015610626573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061064a919061100e565b50565b6000546001600160a01b031633146106775760405162461bcd60e51b815260040161046b90610fab565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b60006103e6338484610876565b6000546001600160a01b031633146106f85760405162461bcd60e51b815260040161046b90610fab565b6005805460ff1916600117905543600655565b6000546001600160a01b031633146107355760405162461bcd60e51b815260040161046b90610fab565b69d3c21bcecceda100000060078190556002556003819055600455565b6001600160a01b0383166107b45760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161046b565b6001600160a01b0382166108155760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161046b565b6001600160a01b0383811660008181526009602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166108da5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161046b565b633b9aca0081116109205760405162461bcd60e51b815260206004820152601060248201526f135a5b881d1c985b9cd9995c88185b5d60821b604482015260640161046b565b6001600160a01b0383166000908152600a602052604081205460ff168061095f57506001600160a01b0383166000908152600a602052604090205460ff165b1561096c57506000610cc8565b60055460ff161580159061098257506007548211155b6109d95760405162461bcd60e51b815260206004820152602260248201527f4c61756e6368202f204d6178205478416d6f756e74203125206174206c61756e6044820152610c6d60f31b606482015260840161046b565b60055460ff6101009091041660011415610a9c576001600160a01b03841660009081526008602052604081208054849290610a15908490610f94565b90915550506001600160a01b03831660009081526008602052604081208054849290610a42908490611030565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610a8e91815260200190565b60405180910390a350505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316846001600160a01b03161415610adf5750600354610cc8565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b03161415610cc4573060009081526008602052604090205469054b40b1f852bda0000081118015610b4a5750600554610100900460ff16155b15610cba57600254811115610b5e57506002545b6005805461ff0019166101001790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610ba257610ba2611048565b60200260200101906001600160a01b031690816001600160a01b0316815250507f000000000000000000000000000000000000000000000000000000000000000081600181518110610bf657610bf6611048565b6001600160a01b03928316602091820292909201015260405163791ac94760e01b81527f00000000000000000000000000000000000000000000000000000000000000009091169063791ac94790610c7b90859060009086907f000000000000000000000000000000000000000000000000000000000000000090429060040161105e565b600060405180830381600087803b158015610c9557600080fd5b505af1158015610ca9573d6000803e3d6000fd5b50506005805461ff00191690555050505b5050600454610cc8565b5060005b8015610e0b5760006064610cdc83856110cf565b610ce691906110ee565b90506000610cf48285610f94565b6001600160a01b038716600090815260086020526040812080549293508692909190610d21908490610f94565b90915550506001600160a01b03851660009081526008602052604081208054839290610d4e908490611030565b90915550503060009081526008602052604081208054849290610d72908490611030565b909155505060405182815230906001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610dfc91815260200190565b60405180910390a35050610e33565b6001600160a01b03841660009081526008602052604081208054849290610a15908490610f94565b50505050565b600060208083528351808285015260005b81811015610e6657858101830151858201604001528201610e4a565b81811115610e78576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b0381168114610ea557600080fd5b919050565b60008060408385031215610ebd57600080fd5b610ec683610e8e565b946020939093013593505050565b600080600060608486031215610ee957600080fd5b610ef284610e8e565b9250610f0060208501610e8e565b9150604084013590509250925092565b600060208284031215610f2257600080fd5b610f2b82610e8e565b9392505050565b60008060408385031215610f4557600080fd5b610f4e83610e8e565b9150610f5c60208401610e8e565b90509250929050565b600060208284031215610f7757600080fd5b5035919050565b634e487b7160e01b600052601160045260246000fd5b600082821015610fa657610fa6610f7e565b500390565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600080600060608486031215610ff557600080fd5b8351925060208401519150604084015190509250925092565b60006020828403121561102057600080fd5b81518015158114610f2b57600080fd5b6000821982111561104357611043610f7e565b500190565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156110ae5784516001600160a01b031683529383019391830191600101611089565b50506001600160a01b03969096166060850152505050608001529392505050565b60008160001904831182151516156110e9576110e9610f7e565b500290565b60008261110b57634e487b7160e01b600052601260045260246000fd5b50049056fea2646970667358221220dea5301733fca8bac9b5cbd4b114337d3df87da03e9e80773b0d30c9ccfe949d64736f6c634300080a0033

Deployed Bytecode

0x6080604052600436106101185760003560e01c80638c0b5e22116100a0578063c9567bf911610064578063c9567bf914610319578063cc1776d31461032e578063d28d885214610344578063dd62ed3e14610373578063e559d86a146103b957600080fd5b80638c0b5e22146102605780638da5cb5b1461027657806395d89b411461029e578063a9059cbb146102ca578063b09f1266146102ea57600080fd5b8063313ce567116100e7578063313ce567146101d9578063427a5c02146101f55780634f7041a5146101ff57806370a0823114610215578063715018a61461024b57600080fd5b806306fdde0314610124578063095ea7b31461016257806318160ddd1461019257806323b872dd146101b957600080fd5b3661011f57005b600080fd5b34801561013057600080fd5b50604080518082019091526003815262546f6d60e81b60208201525b6040516101599190610e39565b60405180910390f35b34801561016e57600080fd5b5061018261017d366004610eaa565b6103d9565b6040519015158152602001610159565b34801561019e57600080fd5b5069d3c21bcecceda10000005b604051908152602001610159565b3480156101c557600080fd5b506101826101d4366004610ed4565b6103ef565b3480156101e557600080fd5b5060405160128152602001610159565b6101fd610441565b005b34801561020b57600080fd5b506101ab60035481565b34801561022157600080fd5b506101ab610230366004610f10565b6001600160a01b031660009081526008602052604090205490565b34801561025757600080fd5b506101fd61064d565b34801561026c57600080fd5b506101ab60075481565b34801561028257600080fd5b506000546040516001600160a01b039091168152602001610159565b3480156102aa57600080fd5b50604080518082019091526003815262544f4d60e81b602082015261014c565b3480156102d657600080fd5b506101826102e5366004610eaa565b6106c1565b3480156102f657600080fd5b5061014c60405180604001604052806003815260200162544f4d60e81b81525081565b34801561032557600080fd5b506101fd6106ce565b34801561033a57600080fd5b506101ab60045481565b34801561035057600080fd5b5061014c60405180604001604052806003815260200162546f6d60e81b81525081565b34801561037f57600080fd5b506101ab61038e366004610f32565b6001600160a01b03918216600090815260096020908152604080832093909416825291909152205490565b3480156103c557600080fd5b506101fd6103d4366004610f65565b61070b565b60006103e6338484610752565b50600192915050565b60006103fc848484610876565b6001600160a01b038416600090815260096020908152604080832033808552925290912054610437918691610432908690610f94565b610752565b5060019392505050565b6000546001600160a01b031633146104745760405162461bcd60e51b815260040161046b90610fab565b60405180910390fd5b6104a1307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d600019610752565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663f305d71934306104f1306001600160a01b031660009081526008602052604090205490565b6000806105066000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af115801561056e573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906105939190610fe0565b505060405163095ea7b360e01b81526001600160a01b037f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d8116600483015260001960248301527f000000000000000000000000610729cf538d081a1969847e577056445527700416915063095ea7b3906044016020604051808303816000875af1158015610626573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061064a919061100e565b50565b6000546001600160a01b031633146106775760405162461bcd60e51b815260040161046b90610fab565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b60006103e6338484610876565b6000546001600160a01b031633146106f85760405162461bcd60e51b815260040161046b90610fab565b6005805460ff1916600117905543600655565b6000546001600160a01b031633146107355760405162461bcd60e51b815260040161046b90610fab565b69d3c21bcecceda100000060078190556002556003819055600455565b6001600160a01b0383166107b45760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161046b565b6001600160a01b0382166108155760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161046b565b6001600160a01b0383811660008181526009602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166108da5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161046b565b633b9aca0081116109205760405162461bcd60e51b815260206004820152601060248201526f135a5b881d1c985b9cd9995c88185b5d60821b604482015260640161046b565b6001600160a01b0383166000908152600a602052604081205460ff168061095f57506001600160a01b0383166000908152600a602052604090205460ff165b1561096c57506000610cc8565b60055460ff161580159061098257506007548211155b6109d95760405162461bcd60e51b815260206004820152602260248201527f4c61756e6368202f204d6178205478416d6f756e74203125206174206c61756e6044820152610c6d60f31b606482015260840161046b565b60055460ff6101009091041660011415610a9c576001600160a01b03841660009081526008602052604081208054849290610a15908490610f94565b90915550506001600160a01b03831660009081526008602052604081208054849290610a42908490611030565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610a8e91815260200190565b60405180910390a350505050565b7f000000000000000000000000610729cf538d081a1969847e57705644552770046001600160a01b0316846001600160a01b03161415610adf5750600354610cc8565b7f000000000000000000000000610729cf538d081a1969847e57705644552770046001600160a01b0316836001600160a01b03161415610cc4573060009081526008602052604090205469054b40b1f852bda0000081118015610b4a5750600554610100900460ff16155b15610cba57600254811115610b5e57506002545b6005805461ff0019166101001790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610ba257610ba2611048565b60200260200101906001600160a01b031690816001600160a01b0316815250507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281600181518110610bf657610bf6611048565b6001600160a01b03928316602091820292909201015260405163791ac94760e01b81527f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d9091169063791ac94790610c7b90859060009086907f000000000000000000000000b031928ef099c28122e332262c0b2d01b20b47d890429060040161105e565b600060405180830381600087803b158015610c9557600080fd5b505af1158015610ca9573d6000803e3d6000fd5b50506005805461ff00191690555050505b5050600454610cc8565b5060005b8015610e0b5760006064610cdc83856110cf565b610ce691906110ee565b90506000610cf48285610f94565b6001600160a01b038716600090815260086020526040812080549293508692909190610d21908490610f94565b90915550506001600160a01b03851660009081526008602052604081208054839290610d4e908490611030565b90915550503060009081526008602052604081208054849290610d72908490611030565b909155505060405182815230906001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610dfc91815260200190565b60405180910390a35050610e33565b6001600160a01b03841660009081526008602052604081208054849290610a15908490610f94565b50505050565b600060208083528351808285015260005b81811015610e6657858101830151858201604001528201610e4a565b81811115610e78576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b0381168114610ea557600080fd5b919050565b60008060408385031215610ebd57600080fd5b610ec683610e8e565b946020939093013593505050565b600080600060608486031215610ee957600080fd5b610ef284610e8e565b9250610f0060208501610e8e565b9150604084013590509250925092565b600060208284031215610f2257600080fd5b610f2b82610e8e565b9392505050565b60008060408385031215610f4557600080fd5b610f4e83610e8e565b9150610f5c60208401610e8e565b90509250929050565b600060208284031215610f7757600080fd5b5035919050565b634e487b7160e01b600052601160045260246000fd5b600082821015610fa657610fa6610f7e565b500390565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600080600060608486031215610ff557600080fd5b8351925060208401519150604084015190509250925092565b60006020828403121561102057600080fd5b81518015158114610f2b57600080fd5b6000821982111561104357611043610f7e565b500190565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156110ae5784516001600160a01b031683529383019391830191600101611089565b50506001600160a01b03969096166060850152505050608001529392505050565b60008160001904831182151516156110e9576110e9610f7e565b500290565b60008261110b57634e487b7160e01b600052601260045260246000fd5b50049056fea2646970667358221220dea5301733fca8bac9b5cbd4b114337d3df87da03e9e80773b0d30c9ccfe949d64736f6c634300080a0033

Deployed Bytecode Sourcemap

3091:7624:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5003:78;;;;;;;;;;-1:-1:-1;5068:5:0;;;;;;;;;;;;-1:-1:-1;;;5068:5:0;;;;5003:78;;;;;;;:::i;:::-;;;;;;;;5880:186;;;;;;;;;;-1:-1:-1;5880:186:0;;;;;:::i;:::-;;:::i;:::-;;;1218:14:1;;1211:22;1193:41;;1181:2;1166:18;5880:186:0;1053:187:1;5270:100:0;;;;;;;;;;-1:-1:-1;3181:12:0;5270:100;;;1391:25:1;;;1379:2;1364:18;5270:100:0;1245:177:1;6074:350:0;;;;;;;;;;-1:-1:-1;6074:350:0;;;;;:::i;:::-;;:::i;5179:83::-;;;;;;;;;;-1:-1:-1;5179:83:0;;3331:2;1902:36:1;;1890:2;1875:18;5179:83:0;1760:184:1;6775:432:0;;;:::i;:::-;;3510:21;;;;;;;;;;;;;;;;5378:118;;;;;;;;;;-1:-1:-1;5378:118:0;;;;;:::i;:::-;-1:-1:-1;;;;;5471:17:0;5444:7;5471:17;;;:8;:17;;;;;;;5378:118;2116:148;;;;;;;;;;;;;:::i;3669:38::-;;;;;;;;;;;;;;;;1478:79;;;;;;;;;;-1:-1:-1;1516:7:0;1543:6;1478:79;;-1:-1:-1;;;;;1543:6:0;;;2286:51:1;;2274:2;2259:18;1478:79:0;2140:203:1;5089:82:0;;;;;;;;;;-1:-1:-1;5156:7:0;;;;;;;;;;;;-1:-1:-1;;;5156:7:0;;;;5089:82;;5504:192;;;;;;;;;;-1:-1:-1;5504:192:0;;;;;:::i;:::-;;:::i;3773:38::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3773:38:0;;;;;7215:108;;;;;;;;;;;;;:::i;3538:22::-;;;;;;;;;;;;;;;;3725:36;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3725:36:0;;;;;5704:168;;;;;;;;;;-1:-1:-1;5704:168:0;;;;;:::i;:::-;-1:-1:-1;;;;;5837:18:0;;;5810:7;5837:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;5704:168;7573:209;;;;;;;;;;-1:-1:-1;7573:209:0;;;;;:::i;:::-;;:::i;5880:186::-;5980:4;5997:39;267:10;6020:7;6029:6;5997:8;:39::i;:::-;-1:-1:-1;6054:4:0;5880:186;;;;:::o;6074:350::-;6206:4;6223:36;6233:6;6241:9;6252:6;6223:9;:36::i;:::-;-1:-1:-1;;;;;6341:19:0;;;;;;:11;:19;;;;;;;;267:10;6341:33;;;;;;;;;6270:124;;6293:6;;6341:42;;6377:6;;6341:42;:::i;:::-;6270:8;:124::i;:::-;-1:-1:-1;6412:4:0;6074:350;;;;;:::o;6775:432::-;1605:6;;-1:-1:-1;;;;;1605:6:0;267:10;1605:22;1597:67;;;;-1:-1:-1;;;1597:67:0;;;;;;;:::i;:::-;;;;;;;;;6830:65:::1;6847:4;6862:15;-1:-1:-1::0;;6830:8:0::1;:65::i;:::-;6906:15;-1:-1:-1::0;;;;;6906:31:0::1;;6945:9;6978:4;6998:24;7016:4;-1:-1:-1::0;;;;;5471:17:0;5444:7;5471:17;;;:8;:17;;;;;;;5378:118;6998:24:::1;7037:1;7053::::0;7069:7:::1;1516::::0;1543:6;-1:-1:-1;;;;;1543:6:0;;1478:79;7069:7:::1;6906:211;::::0;::::1;::::0;;;-1:-1:-1;;;;;;6906:211:0;;;-1:-1:-1;;;;;3780:15:1;;;6906:211:0::1;::::0;::::1;3762:34:1::0;3812:18;;;3805:34;;;;3855:18;;;3848:34;;;;3898:18;;;3891:34;3962:15;;;3941:19;;;3934:44;7091:15:0::1;3994:19:1::0;;;3987:35;3696:19;;6906:211:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;7128:71:0::1;::::0;-1:-1:-1;;;7128:71:0;;-1:-1:-1;;;;;7166:15:0::1;4536:32:1::0;;7128:71:0::1;::::0;::::1;4518:51:1::0;-1:-1:-1;;4585:18:1;;;4578:34;7135:13:0::1;7128:29;::::0;-1:-1:-1;7128:29:0::1;::::0;4491:18:1;;7128:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;6775:432::o:0;2116:148::-;1605:6;;-1:-1:-1;;;;;1605:6:0;267:10;1605:22;1597:67;;;;-1:-1:-1;;;1597:67:0;;;;;;;:::i;:::-;2223:1:::1;2207:6:::0;;2186:40:::1;::::0;-1:-1:-1;;;;;2207:6:0;;::::1;::::0;2186:40:::1;::::0;2223:1;;2186:40:::1;2254:1;2237:19:::0;;-1:-1:-1;;;;;;2237:19:0::1;::::0;;2116:148::o;5504:192::-;5607:4;5624:42;267:10;5648:9;5659:6;5624:9;:42::i;7215:108::-;1605:6;;-1:-1:-1;;;;;1605:6:0;267:10;1605:22;1597:67;;;;-1:-1:-1;;;1597:67:0;;;;;;;:::i;:::-;7268:6:::1;:10:::0;;-1:-1:-1;;7268:10:0::1;7277:1;7268:10;::::0;;7303:12:::1;7289:11;:26:::0;7215:108::o;7573:209::-;1605:6;;-1:-1:-1;;;;;1605:6:0;267:10;1605:22;1597:67;;;;-1:-1:-1;;;1597:67:0;;;;;;;:::i;:::-;3181:12:::1;7647:11;:26:::0;;;7684:10:::1;:25:::0;7720:6:::1;:21:::0;;;-1:-1:-1;7752:22:0;7573:209::o;6432:335::-;-1:-1:-1;;;;;6525:19:0;;6517:68;;;;-1:-1:-1;;;6517:68:0;;5107:2:1;6517:68:0;;;5089:21:1;5146:2;5126:18;;;5119:30;5185:34;5165:18;;;5158:62;-1:-1:-1;;;5236:18:1;;;5229:34;5280:19;;6517:68:0;4905:400:1;6517:68:0;-1:-1:-1;;;;;6604:21:0;;6596:68;;;;-1:-1:-1;;;6596:68:0;;5512:2:1;6596:68:0;;;5494:21:1;5551:2;5531:18;;;5524:30;5590:34;5570:18;;;5563:62;-1:-1:-1;;;5641:18:1;;;5634:32;5683:19;;6596:68:0;5310:398:1;6596:68:0;-1:-1:-1;;;;;6675:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;6727:32;;1391:25:1;;;6727:32:0;;1364:18:1;6727:32:0;;;;;;;6432:335;;;:::o;8178:2497::-;-1:-1:-1;;;;;8266:18:0;;8258:68;;;;-1:-1:-1;;;8258:68:0;;5915:2:1;8258:68:0;;;5897:21:1;5954:2;5934:18;;;5927:30;5993:34;5973:18;;;5966:62;-1:-1:-1;;;6044:18:1;;;6037:35;6089:19;;8258:68:0;5713:401:1;8258:68:0;8354:3;8345:6;:12;8337:41;;;;-1:-1:-1;;;8337:41:0;;6321:2:1;8337:41:0;;;6303:21:1;6360:2;6340:18;;;6333:30;-1:-1:-1;;;6379:18:1;;;6372:46;6435:18;;8337:41:0;6119:340:1;8337:41:0;-1:-1:-1;;;;;8418:30:0;;8391:12;8418:30;;;:24;:30;;;;;;;;;:62;;-1:-1:-1;;;;;;8452:28:0;;;;;;:24;:28;;;;;;;;8418:62;8414:1604;;;-1:-1:-1;8504:1:0;8414:1604;;;8564:6;;;;:11;;;;:36;;;8589:11;;8579:6;:21;;8564:36;8538:132;;;;-1:-1:-1;;;8538:132:0;;6666:2:1;8538:132:0;;;6648:21:1;6705:2;6685:18;;;6678:30;6744:34;6724:18;;;6717:62;-1:-1:-1;;;6795:18:1;;;6788:32;6837:19;;8538:132:0;6464:398:1;8538:132:0;8691:16;;;;;;;;;:21;8687:239;;;-1:-1:-1;;;;;8768:14:0;;;;;;:8;:14;;;;;:24;;8786:6;;8768:14;:24;;8786:6;;8768:24;:::i;:::-;;;;-1:-1:-1;;;;;;;8811:12:0;;;;;;:8;:12;;;;;:22;;8827:6;;8811:12;:22;;8827:6;;8811:22;:::i;:::-;;;;;;;;8874:2;-1:-1:-1;;;;;8859:26:0;8868:4;-1:-1:-1;;;;;8859:26:0;;8878:6;8859:26;;;;1391:25:1;;1379:2;1364:18;;1245:177;8859:26:0;;;;;;;;8904:7;8178:2497;;;:::o;8687:239::-;8954:13;-1:-1:-1;;;;;8946:21:0;:4;-1:-1:-1;;;;;8946:21:0;;8942:1065;;;-1:-1:-1;8995:6:0;;8942:1065;;;9033:13;-1:-1:-1;;;;;9027:19:0;:2;-1:-1:-1;;;;;9027:19:0;;9023:984;;;9107:4;9067:20;9090:23;;;:8;:23;;;;;;3280:9;9136:22;;:47;;;;-1:-1:-1;9162:16:0;;;;;;;:21;9136:47;9132:778;;;9227:10;;9212:12;:25;9208:107;;;-1:-1:-1;9281:10:0;;9208:107;9337:16;:20;;-1:-1:-1;;9337:20:0;;;;;9404:16;;;9418:1;9404:16;;;;;;;;-1:-1:-1;;9404:16:0;;;;;;;;;;-1:-1:-1;9404:16:0;9380:40;;9461:4;9443;9448:1;9443:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;9443:23:0;;;-1:-1:-1;;;;;9443:23:0;;;;;9499:4;9489;9494:1;9489:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;9489:14:0;;;:7;;;;;;;;;:14;9526:321;;-1:-1:-1;;;9526:321:0;;:15;:92;;;;;;:321;;9649:12;;9692:1;;9724:4;;9759:15;;9805;;9526:321;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9870:16:0;:20;;-1:-1:-1;;9870:20:0;;;-1:-1:-1;;;9132:778:0;-1:-1:-1;;9935:7:0;;9023:984;;;-1:-1:-1;9990:1:0;9023:984;10079:9;;10075:593;;10133:17;10171:3;10154:13;10163:4;10154:6;:13;:::i;:::-;10153:21;;;;:::i;:::-;10133:41;-1:-1:-1;10189:22:0;10214:18;10133:41;10214:6;:18;:::i;:::-;-1:-1:-1;;;;;10249:14:0;;;;;;:8;:14;;;;;:24;;10189:43;;-1:-1:-1;10267:6:0;;10249:14;;;:24;;10267:6;;10249:24;:::i;:::-;;;;-1:-1:-1;;;;;;;10288:12:0;;;;;;:8;:12;;;;;:30;;10304:14;;10288:12;:30;;10304:14;;10288:30;:::i;:::-;;;;-1:-1:-1;;10350:4:0;10333:23;;;;:8;:23;;;;;:36;;10360:9;;10333:23;:36;;10360:9;;10333:36;:::i;:::-;;;;-1:-1:-1;;10389:40:0;;1391:25:1;;;10412:4:0;;-1:-1:-1;;;;;10389:40:0;;;;;1379:2:1;1364:18;10389:40:0;;;;;;;10464:2;-1:-1:-1;;;;;10449:34:0;10458:4;-1:-1:-1;;;;;10449:34:0;;10468:14;10449:34;;;;1391:25:1;;1379:2;1364:18;;1245:177;10449:34:0;;;;;;;;10090:405;;10075:593;;;-1:-1:-1;;;;;10547:14:0;;;;;;:8;:14;;;;;:24;;10565:6;;10547:14;:24;;10565:6;;10547:24;:::i;10075:593::-;8247:2428;8178:2497;;;:::o;14:597: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;;;452:6;449:1;446:13;443:91;;;522:1;517:2;508:6;497:9;493:22;489:31;482:42;443:91;-1:-1:-1;595:2:1;574:15;-1:-1:-1;;570:29:1;555:45;;;;602:2;551:54;;14:597;-1:-1:-1;;;14:597:1:o;616:173::-;684:20;;-1:-1:-1;;;;;733:31:1;;723:42;;713:70;;779:1;776;769:12;713:70;616:173;;;:::o;794:254::-;862:6;870;923:2;911:9;902:7;898:23;894:32;891:52;;;939:1;936;929:12;891:52;962:29;981:9;962:29;:::i;:::-;952:39;1038:2;1023:18;;;;1010:32;;-1:-1:-1;;;794:254:1:o;1427:328::-;1504:6;1512;1520;1573:2;1561:9;1552:7;1548:23;1544:32;1541:52;;;1589:1;1586;1579:12;1541:52;1612:29;1631:9;1612:29;:::i;:::-;1602:39;;1660:38;1694:2;1683:9;1679:18;1660:38;:::i;:::-;1650:48;;1745:2;1734:9;1730:18;1717:32;1707:42;;1427:328;;;;;:::o;1949:186::-;2008:6;2061:2;2049:9;2040:7;2036:23;2032:32;2029:52;;;2077:1;2074;2067:12;2029:52;2100:29;2119:9;2100:29;:::i;:::-;2090:39;1949:186;-1:-1:-1;;;1949:186:1:o;2348:260::-;2416:6;2424;2477:2;2465:9;2456:7;2452:23;2448:32;2445:52;;;2493:1;2490;2483:12;2445:52;2516:29;2535:9;2516:29;:::i;:::-;2506:39;;2564:38;2598:2;2587:9;2583:18;2564:38;:::i;:::-;2554:48;;2348:260;;;;;:::o;2613:180::-;2672:6;2725:2;2713:9;2704:7;2700:23;2696:32;2693:52;;;2741:1;2738;2731:12;2693:52;-1:-1:-1;2764:23:1;;2613:180;-1:-1:-1;2613:180:1:o;2798:127::-;2859:10;2854:3;2850:20;2847:1;2840:31;2890:4;2887:1;2880:15;2914:4;2911:1;2904:15;2930:125;2970:4;2998:1;2995;2992:8;2989:34;;;3003:18;;:::i;:::-;-1:-1:-1;3040:9:1;;2930:125::o;3060:356::-;3262:2;3244:21;;;3281:18;;;3274:30;3340:34;3335:2;3320:18;;3313:62;3407:2;3392:18;;3060:356::o;4033:306::-;4121:6;4129;4137;4190:2;4178:9;4169:7;4165:23;4161:32;4158:52;;;4206:1;4203;4196:12;4158:52;4235:9;4229:16;4219:26;;4285:2;4274:9;4270:18;4264:25;4254:35;;4329:2;4318:9;4314:18;4308:25;4298:35;;4033:306;;;;;:::o;4623:277::-;4690:6;4743:2;4731:9;4722:7;4718:23;4714:32;4711:52;;;4759:1;4756;4749:12;4711:52;4791:9;4785:16;4844:5;4837:13;4830:21;4823:5;4820:32;4810:60;;4866:1;4863;4856:12;6867:128;6907:3;6938:1;6934:6;6931:1;6928:13;6925:39;;;6944:18;;:::i;:::-;-1:-1:-1;6980:9:1;;6867:128::o;7132:127::-;7193:10;7188:3;7184:20;7181:1;7174:31;7224:4;7221:1;7214:15;7248:4;7245:1;7238:15;7264:988;7534:4;7582:3;7571:9;7567:19;7613:6;7602:9;7595:25;7639:2;7677:6;7672:2;7661:9;7657:18;7650:34;7720:3;7715:2;7704:9;7700:18;7693:31;7744:6;7779;7773:13;7810:6;7802;7795:22;7848:3;7837:9;7833:19;7826:26;;7887:2;7879:6;7875:15;7861:29;;7908:1;7918:195;7932:6;7929:1;7926:13;7918:195;;;7997:13;;-1:-1:-1;;;;;7993:39:1;7981:52;;8088:15;;;;8053:12;;;;8029:1;7947:9;7918:195;;;-1:-1:-1;;;;;;;8169:32:1;;;;8164:2;8149:18;;8142:60;-1:-1:-1;;;8233:3:1;8218:19;8211:35;8130:3;7264:988;-1:-1:-1;;;7264:988:1:o;8257:168::-;8297:7;8363:1;8359;8355:6;8351:14;8348:1;8345:21;8340:1;8333:9;8326:17;8322:45;8319:71;;;8370:18;;:::i;:::-;-1:-1:-1;8410:9:1;;8257:168::o;8430:217::-;8470:1;8496;8486:132;;8540:10;8535:3;8531:20;8528:1;8521:31;8575:4;8572:1;8565:15;8603:4;8600:1;8593:15;8486:132;-1:-1:-1;8632:9:1;;8430:217::o

Swarm Source

ipfs://dea5301733fca8bac9b5cbd4b114337d3df87da03e9e80773b0d30c9ccfe949d

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.