ETH Price: $2,693.72 (+7.04%)
 

Overview

ETH Balance

0.010914444775925659 ETH

Eth Value

$29.40 (@ $2,693.72/ETH)

Token Holdings

Transaction Hash
Method
Block
From
To
Approve217581802025-02-02 10:18:2343 hrs ago1738491503IN
0xD8498829...3A7f63b63
0 ETH0.000090981.96032949
Approve217548712025-02-01 23:12:112 days ago1738451531IN
0xD8498829...3A7f63b63
0 ETH0.000151265.69019835
Approve217548692025-02-01 23:11:472 days ago1738451507IN
0xD8498829...3A7f63b63
0 ETH0.000266695.73743717
Approve217548632025-02-01 23:10:352 days ago1738451435IN
0xD8498829...3A7f63b63
0 ETH0.000288816.24868332
Approve217359952025-01-30 7:54:594 days ago1738223699IN
0xD8498829...3A7f63b63
0 ETH0.000160093.468214
Approve217110332025-01-26 20:19:478 days ago1737922787IN
0xD8498829...3A7f63b63
0 ETH0.00031056.68848234
Approve217083242025-01-26 11:14:358 days ago1737890075IN
0xD8498829...3A7f63b63
0 ETH0.000173763.73824307
Approve216938062025-01-24 10:36:4710 days ago1737715007IN
0xD8498829...3A7f63b63
0 ETH0.0010158421.8818836
Approve216887442025-01-23 17:40:1111 days ago1737654011IN
0xD8498829...3A7f63b63
0 ETH0.0006981215.03802472
Approve216757612025-01-21 22:10:2313 days ago1737497423IN
0xD8498829...3A7f63b63
0 ETH0.0006524114.05343171
Transfer216747082025-01-21 18:39:3513 days ago1737484775IN
0xD8498829...3A7f63b63
0 ETH0.0015186323.88837402
Approve216503592025-01-18 9:05:2316 days ago1737191123IN
0xD8498829...3A7f63b63
0 ETH0.0008551118.41959837
Approve216259162025-01-14 23:10:3520 days ago1736896235IN
0xD8498829...3A7f63b63
0 ETH0.000297566.43974109
Approve216087292025-01-12 13:32:1122 days ago1736688731IN
0xD8498829...3A7f63b63
0 ETH0.000074033.06691776
Approve216085412025-01-12 12:54:2322 days ago1736686463IN
0xD8498829...3A7f63b63
0 ETH0.000058082.4
Approve216083422025-01-12 12:14:2322 days ago1736684063IN
0xD8498829...3A7f63b63
0 ETH0.000095732.05954404
Approve216083302025-01-12 12:11:5922 days ago1736683919IN
0xD8498829...3A7f63b63
0 ETH0.000061622.55276347
Approve215926422025-01-10 7:39:3524 days ago1736494775IN
0xD8498829...3A7f63b63
0 ETH0.000274945.92241788
Transfer215925862025-01-10 7:28:2324 days ago1736494103IN
0xD8498829...3A7f63b63
0 ETH0.000274984.02253165
Fee Withdrawal215585802025-01-05 13:29:2329 days ago1736083763IN
0xD8498829...3A7f63b63
0 ETH0.000290249.40942716
Approve215196952024-12-31 3:13:2335 days ago1735614803IN
0xD8498829...3A7f63b63
0 ETH0.000271435.8468965
Approve215172642024-12-30 19:04:4735 days ago1735585487IN
0xD8498829...3A7f63b63
0 ETH0.0005385611.66433685
Transfer215172472024-12-30 19:01:2335 days ago1735585283IN
0xD8498829...3A7f63b63
0 ETH0.0005835612.55725391
Transfer215172382024-12-30 18:59:3535 days ago1735585175IN
0xD8498829...3A7f63b63
0 ETH0.0005280911.36082263
Transfer215172242024-12-30 18:56:3535 days ago1735584995IN
0xD8498829...3A7f63b63
0 ETH0.0004990710.73932763
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
217581802025-02-02 10:18:2343 hrs ago1738491503
0xD8498829...3A7f63b63
0.00061433 ETH
217110352025-01-26 20:20:118 days ago1737922811
0xD8498829...3A7f63b63
0.00041066 ETH
217083242025-01-26 11:14:358 days ago1737890075
0xD8498829...3A7f63b63
0.00016131 ETH
217043032025-01-25 21:47:239 days ago1737841643
0xD8498829...3A7f63b63
0.00015835 ETH
216938062025-01-24 10:36:4710 days ago1737715007
0xD8498829...3A7f63b63
0.00344743 ETH
216887502025-01-23 17:41:2311 days ago1737654083
0xD8498829...3A7f63b63
0.00026097 ETH
216757632025-01-21 22:10:4713 days ago1737497447
0xD8498829...3A7f63b63
0.00273367 ETH
216083572025-01-12 12:17:2322 days ago1736684243
0xD8498829...3A7f63b63
0.00010714 ETH
215926422025-01-10 7:39:3524 days ago1736494775
0xD8498829...3A7f63b63
0.00302053 ETH
215585802025-01-05 13:29:2329 days ago1736083763
0xD8498829...3A7f63b63
1.34046672 ETH
215196992024-12-31 3:14:1135 days ago1735614851
0xD8498829...3A7f63b63
0.00887685 ETH
215172662024-12-30 19:05:1135 days ago1735585511
0xD8498829...3A7f63b63
0.03936713 ETH
215100302024-12-29 18:50:3536 days ago1735498235
0xD8498829...3A7f63b63
0.00021753 ETH
215069192024-12-29 8:25:3536 days ago1735460735
0xD8498829...3A7f63b63
0.00004067 ETH
214712742024-12-24 8:55:3541 days ago1735030535
0xD8498829...3A7f63b63
0.00045222 ETH
214627812024-12-23 4:23:5943 days ago1734927839
0xD8498829...3A7f63b63
0.00022667 ETH
214466722024-12-20 22:19:1145 days ago1734733151
0xD8498829...3A7f63b63
0.00026902 ETH
213882592024-12-12 18:36:2353 days ago1734028583
0xD8498829...3A7f63b63
0.008469 ETH
213138152024-12-02 9:04:5963 days ago1733130299
0xD8498829...3A7f63b63
0.00341832 ETH
213098332024-12-01 19:44:4764 days ago1733082287
0xD8498829...3A7f63b63
0.00281583 ETH
213009322024-11-30 13:56:4765 days ago1732975007
0xD8498829...3A7f63b63
0.01545329 ETH
212815112024-11-27 20:36:2368 days ago1732739783
0xD8498829...3A7f63b63
0.00206117 ETH
212500682024-11-23 11:13:2372 days ago1732360403
0xD8498829...3A7f63b63
0.00058154 ETH
211967382024-11-16 0:41:4780 days ago1731717707
0xD8498829...3A7f63b63
0.00077455 ETH
211782632024-11-13 10:46:1182 days ago1731494771
0xD8498829...3A7f63b63
0.0046764 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
DeLayerToken

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
File 1 of 1 : DeLayer.sol
//
//     ___         __                       
//    /   \___    / /  __ _ _   _  ___ _ __ 
//   / /\ / _ \  / /  / _` | | | |/ _ \ '__|
//  / /_//  __/ / /__| (_| | |_| |  __/ |   
// /___,' \___| \____/\__,_|\__, |\___|_|   
//                          |___/           
//
//    Website: https://delayer.network/
//
//    Telegram: https://t.me/delayerevm
//    Twitter: https://twitter.com/delayerevm
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.7;

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

    function _msgData() internal view returns (bytes memory) {
        this;
        return msg.data;
    }
}

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

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

interface IDEXRouter {
    function factory() external pure returns (address);

    function WETH() external pure returns (address);

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

    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable;
}

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

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

contract DeLayerToken is IERC20, Ownable {
    address constant ZERO = 0x0000000000000000000000000000000000000000;
    address constant DEAD = 0x000000000000000000000000000000000000dEaD;

    IDEXRouter public router;
    address constant routerAddress = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;

    string constant _name = "De Layer";
    string constant _symbol = "DEAI";
    uint8 constant _decimals = 18;

    uint256 constant _totalSupply = 100_000_000 * (10 ** _decimals);

    mapping(address => uint256) _balances;
    mapping(address => mapping(address => uint256)) _allowances;

    mapping(address => bool) public blacklisted;

    mapping(address => bool) isFeeExempt;
    mapping(address => bool) liquidityCreator;
    mapping(address => bool) isMaxBuyExempt;
    mapping(address => bool) liquidityPools;
    address immutable public pair;

    uint256 totalFee = 5000;
    uint256 feeDenominator = 10000;

    // 1% of total supply
    uint256 maxBuyNumerator = 100;
    uint256 maxBuyDenominator = 10000;

    uint256 public launchedAt;
    bool isTradingAllowed = false;

    bool swapBackEnabled = true;

    address devWallet;
    modifier onlyDev() {
        require(
            _msgSender() == devWallet,
            "De Layer: Caller is not a team member"
        );
        _;
    }

    bool inSwap;
    modifier swapping() {
        inSwap = true;
        _;
        inSwap = false;
    }

    event DistributedFees(uint256 fee);

    constructor() {
        router = IDEXRouter(routerAddress);
        pair = IDEXFactory(router.factory()).createPair(
            router.WETH(),
            address(this)
        );
        liquidityPools[pair] = true;
        _allowances[owner()][routerAddress] = type(uint256).max;
        _allowances[address(this)][routerAddress] = type(uint256).max;

        isFeeExempt[owner()] = true;
        isFeeExempt[address(this)] = true;
        liquidityCreator[owner()] = true;

        _balances[owner()] = _totalSupply;

        isMaxBuyExempt[owner()] = true;
        isMaxBuyExempt[address(this)] = true;
        isMaxBuyExempt[pair] = true;
        isMaxBuyExempt[routerAddress] = true;

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

    receive() external payable {}

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

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

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

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

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

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

    function approve(
        address spender,
        uint256 amount
    ) public override returns (bool) {
        _allowances[msg.sender][spender] = amount;
        emit Approval(msg.sender, spender, amount);
        return true;
    }

    function approveMaximum(address spender) external returns (bool) {
        return approve(spender, type(uint256).max);
    }

    function decreaseFee(uint256 _newFee) external onlyDev {
        require(_newFee <= totalFee, "De Layer: Can't increase fee");
        totalFee = _newFee;
    }

    function setDevWallet(address _dev) external onlyOwner {
        devWallet = _dev;
    }

    function feeWithdrawal(uint256 amount) external onlyDev {
        uint256 amountETH = address(this).balance;
        payable(devWallet).transfer((amountETH * amount) / 100);
    }

    function startTrading() external onlyOwner {
        require(!isTradingAllowed);
        isTradingAllowed = true;
        launchedAt = block.number;
    }

    function transfer(
        address recipient,
        uint256 amount
    ) external override returns (bool) {
        return _transferFrom(msg.sender, recipient, amount);
    }

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external override returns (bool) {
        if (_allowances[sender][msg.sender] != type(uint256).max) {
            _allowances[sender][msg.sender] =
                _allowances[sender][msg.sender] -
                amount;
        }

        return _transferFrom(sender, recipient, amount);
    }

    function _transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) internal returns (bool) {
        require(sender != address(0), "De Layer: transfer from 0x0");
        require(recipient != address(0), "De Layer: transfer to 0x0");
        require(amount > 0, "De Layer: Amount must be over zero");
        require(_balances[sender] >= amount, "De Layer: Insufficient balance");
        require(!blacklisted[sender] && !blacklisted[recipient], "De Layer: Address is blacklisted");

        if (!launched() && liquidityPools[recipient]) {
            require(
                liquidityCreator[sender],
                "De Layer: Liquidity not added yet."
            );
            launch();
        }

        if (!isTradingAllowed) {
            require(
                liquidityCreator[sender] || liquidityCreator[recipient],
                "De Layer: Trading not open yet."
            );
        }

        if (inSwap) {
            return _basicTransfer(sender, recipient, amount);
        }

        if (liquidityPools[sender] && !isMaxBuyExempt[recipient]) {
            // we are buying tokens
            uint256 maxAmount = (_totalSupply * maxBuyNumerator) /
                maxBuyDenominator;
            require(
                amount <= maxAmount,
                "De Layer: Max buy amount exceeded. Try a lower amount."
            );
        }

        _balances[sender] = _balances[sender] - amount;

        uint256 amountReceived = feeExcluded(sender)
            ? receiveFee(recipient, amount)
            : amount;

        if (shouldSwapBack(recipient)) {
            if (amount > 0) swapBack();
        }

        _balances[recipient] = _balances[recipient] + amountReceived;

        emit Transfer(sender, recipient, amountReceived);
        return true;
    }

    function launched() internal view returns (bool) {
        return launchedAt != 0;
    }

    function launch() internal {
        launchedAt = block.number;
    }

    function _basicTransfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal returns (bool) {
        _balances[sender] = _balances[sender] - amount;
        _balances[recipient] = _balances[recipient] + amount;
        emit Transfer(sender, recipient, amount);
        return true;
    }

    function feeExcluded(address sender) internal view returns (bool) {
        return !isFeeExempt[sender];
    }

    function receiveFee(
        address recipient,
        uint256 amount
    ) internal returns (uint256) {
        bool sellingOrBuying = liquidityPools[recipient] ||
            liquidityPools[msg.sender];

        if (!sellingOrBuying) {
            return amount;
        }

        uint256 feeAmount = (amount * totalFee) / feeDenominator;
        _balances[address(this)] += feeAmount;

        return amount - feeAmount;
    }

    function shouldSwapBack(address recipient) internal view returns (bool) {
        return
            !liquidityPools[msg.sender] && !inSwap && liquidityPools[recipient] && swapBackEnabled;
    }

    function setProvideLiquidity(address lp, bool isPool) external onlyDev {
        require(lp != pair, "De Layer: Can't alter current liquidity pair");
        liquidityPools[lp] = isPool;
    }

    function setSwapBackEnabled(bool _enabled) external onlyDev {
        swapBackEnabled = _enabled;
    }

    function setMaxBuyExempt(address _address, bool _isExempt) external onlyDev {
        isMaxBuyExempt[_address] = _isExempt;
    }

    function swapBack() internal swapping {
        uint256 myBalance = _balances[address(this)];

        if (myBalance == 0) return;

        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = router.WETH();

        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            myBalance,
            0,
            path,
            address(this),
            block.timestamp
        );

        emit DistributedFees(myBalance);
    }

    function setBlacklist(address _address, bool _isBlacklisted) external onlyOwner {
        blacklisted[_address] = _isBlacklisted;
    }

    function addLiquidityCreator(address _liquidityCreator) external onlyOwner {
        liquidityCreator[_liquidityCreator] = true;
    }

    function getCurrentSupply() public view returns (uint256) {
        return _totalSupply - balanceOf(DEAD) - balanceOf(ZERO);
    }
}

Settings
{
  "optimizer": {
    "enabled": true,
    "runs": 200
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "libraries": {}
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"fee","type":"uint256"}],"name":"DistributedFees","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":[{"internalType":"address","name":"_liquidityCreator","type":"address"}],"name":"addLiquidityCreator","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","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":"spender","type":"address"}],"name":"approveMaximum","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":"address","name":"","type":"address"}],"name":"blacklisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newFee","type":"uint256"}],"name":"decreaseFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"feeWithdrawal","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getCurrentSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launchedAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"_isBlacklisted","type":"bool"}],"name":"setBlacklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_dev","type":"address"}],"name":"setDevWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"_isExempt","type":"bool"}],"name":"setMaxBuyExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"lp","type":"address"},{"internalType":"bool","name":"isPool","type":"bool"}],"name":"setProvideLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setSwapBackEnabled","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":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60a0604052611388600955612710600a8190556064600b55600c55600e805461ffff19166101001790553480156200003657600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600180546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa158015620000dd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001039190620004bc565b6001600160a01b031663c9c65396600160009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000165573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200018b9190620004bc565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201523060248201526044016020604051808303816000875af1158015620001d8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001fe9190620004bc565b6001600160a01b031660808190526000908152600860205260408120805460ff19166001179055600019906003906200023f6000546001600160a01b031690565b6001600160a01b0316815260208082019290925260409081016000908120737a250d5630b4cf539739df2c5dacb4c659f2488d80835290845282822094909455308152600383528181209381529290915281206000199055600190600590620002b06000546001600160a01b031690565b6001600160a01b0316815260208082019290925260409081016000908120805494151560ff199586161790553081526005909252812080549092166001908117909255600690620003096000546001600160a01b031690565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790556200033f6012600a62000603565b6200034f906305f5e10062000614565b60026000620003666000546001600160a01b031690565b6001600160a01b03166001600160a01b0316815260200190815260200160002081905550600160076000620003a0620004ad60201b60201c565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055308152600790935281832080548516600190811790915560805190911683529082208054841682179055737a250d5630b4cf539739df2c5dacb4c659f2488d9091527ffd21a1ac9a14dff647460ce8ad2ccecb794a59a4cfbb8678b1f9900a6a99551f80549092161790556200044c6000546001600160a01b031690565b6001600160a01b031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620004866012600a62000603565b62000496906305f5e10062000614565b60405190815260200160405180910390a36200062e565b6000546001600160a01b031690565b600060208284031215620004cf57600080fd5b81516001600160a01b0381168114620004e757600080fd5b9392505050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111562000545578160001904821115620005295762000529620004ee565b808516156200053757918102915b93841c939080029062000509565b509250929050565b6000826200055e57506001620005fd565b816200056d57506000620005fd565b81600181146200058657600281146200059157620005b1565b6001915050620005fd565b60ff841115620005a557620005a5620004ee565b50506001821b620005fd565b5060208310610133831016604e8410600b8410161715620005d6575081810a620005fd565b620005e2838362000504565b8060001904821115620005f957620005f9620004ee565b0290505b92915050565b6000620004e760ff8416836200054d565b8082028115828204841417620005fd57620005fd620004ee565b608051611a0f62000651600039600081816104260152610c140152611a0f6000f3fe6080604052600436106101a05760003560e01c8063715018a6116100ec578063c5730d9d1161008a578063e3acfb9111610064578063e3acfb9114610514578063f2fde38b14610534578063f887ea4014610554578063fdad93021461057457600080fd5b8063c5730d9d1461047e578063dbac26e91461049e578063dd62ed3e146104ce57600080fd5b806395d89b41116100c657806395d89b41146103e7578063a8aa1b3114610414578063a9059cbb14610448578063bf56b3711461046857600080fd5b8063715018a6146103805780637c6e0a5e146103955780638da5cb5b146103b557600080fd5b80631f53ac0211610159578063313ce56711610133578063313ce567146102f95780633c8f81d0146103155780634f3e1efc1461033557806370a082311461034a57600080fd5b80631f53ac02146102a457806323b872dd146102c4578063293230b8146102e457600080fd5b806306fdde03146101ac578063095ea7b3146101ef5780630961fbf71461021f578063153b0d1e1461024157806318160ddd146102615780631e53dbe91461028457600080fd5b366101a757005b600080fd5b3480156101b857600080fd5b506040805180820190915260088152672232902630bcb2b960c11b60208201525b6040516101e691906115ac565b60405180910390f35b3480156101fb57600080fd5b5061020f61020a366004611612565b610594565b60405190151581526020016101e6565b34801561022b57600080fd5b5061023f61023a36600461163e565b610601565b005b34801561024d57600080fd5b5061023f61025c36600461166c565b61069d565b34801561026d57600080fd5b506102766106f2565b6040519081526020016101e6565b34801561029057600080fd5b5061023f61029f3660046116a1565b610713565b3480156102b057600080fd5b5061023f6102bf3660046116bc565b610766565b3480156102d057600080fd5b5061020f6102df3660046116d9565b6107ba565b3480156102f057600080fd5b5061023f61084f565b34801561030557600080fd5b50604051601281526020016101e6565b34801561032157600080fd5b5061023f6103303660046116bc565b61089c565b34801561034157600080fd5b506102766108ea565b34801561035657600080fd5b506102766103653660046116bc565b6001600160a01b031660009081526002602052604090205490565b34801561038c57600080fd5b5061023f61096c565b3480156103a157600080fd5b5061020f6103b03660046116bc565b6109e0565b3480156103c157600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016101e6565b3480156103f357600080fd5b506040805180820190915260048152634445414960e01b60208201526101d9565b34801561042057600080fd5b506103cf7f000000000000000000000000000000000000000000000000000000000000000081565b34801561045457600080fd5b5061020f610463366004611612565b6109ee565b34801561047457600080fd5b50610276600d5481565b34801561048a57600080fd5b5061023f61049936600461163e565b6109fb565b3480156104aa57600080fd5b5061020f6104b93660046116bc565b60046020526000908152604090205460ff1681565b3480156104da57600080fd5b506102766104e936600461171a565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561052057600080fd5b5061023f61052f36600461166c565b610a8b565b34801561054057600080fd5b5061023f61054f3660046116bc565b610aef565b34801561056057600080fd5b506001546103cf906001600160a01b031681565b34801561058057600080fd5b5061023f61058f36600461166c565b610bd9565b3360008181526003602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906105ef9086815260200190565b60405180910390a35060015b92915050565b600e546201000090046001600160a01b0316336001600160a01b0316146106435760405162461bcd60e51b815260040161063a90611753565b60405180910390fd5b600e5447906201000090046001600160a01b03166108fc606461066685856117ae565b61067091906117c5565b6040518115909202916000818181858888f19350505050158015610698573d6000803e3d6000fd5b505050565b6000546001600160a01b031633146106c75760405162461bcd60e51b815260040161063a906117e7565b6001600160a01b03919091166000908152600460205260409020805460ff1916911515919091179055565b60006107006012600a611900565b61070e906305f5e1006117ae565b905090565b600e546201000090046001600160a01b0316336001600160a01b03161461074c5760405162461bcd60e51b815260040161063a90611753565b600e80549115156101000261ff0019909216919091179055565b6000546001600160a01b031633146107905760405162461bcd60e51b815260040161063a906117e7565b600e80546001600160a01b03909216620100000262010000600160b01b0319909216919091179055565b6001600160a01b03831660009081526003602090815260408083203384529091528120546000191461083a576001600160a01b038416600090815260036020908152604080832033845290915290205461081590839061190f565b6001600160a01b03851660009081526003602090815260408083203384529091529020555b610845848484610cd3565b90505b9392505050565b6000546001600160a01b031633146108795760405162461bcd60e51b815260040161063a906117e7565b600e5460ff161561088957600080fd5b600e805460ff1916600117905543600d55565b6000546001600160a01b031633146108c65760405162461bcd60e51b815260040161063a906117e7565b6001600160a01b03166000908152600660205260409020805460ff19166001179055565b60026020527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b5461dead60009081527f6a9609baa168169acaea398c4407efea4be641bb08e21e88806d9836fd9333cc5490919061094a6012600a611900565b610958906305f5e1006117ae565b610962919061190f565b61070e919061190f565b6000546001600160a01b031633146109965760405162461bcd60e51b815260040161063a906117e7565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b60006105fb82600019610594565b6000610848338484610cd3565b600e546201000090046001600160a01b0316336001600160a01b031614610a345760405162461bcd60e51b815260040161063a90611753565b600954811115610a865760405162461bcd60e51b815260206004820152601c60248201527f4465204c617965723a2043616e277420696e6372656173652066656500000000604482015260640161063a565b600955565b600e546201000090046001600160a01b0316336001600160a01b031614610ac45760405162461bcd60e51b815260040161063a90611753565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610b195760405162461bcd60e51b815260040161063a906117e7565b6001600160a01b038116610b7e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161063a565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b600e546201000090046001600160a01b0316336001600160a01b031614610c125760405162461bcd60e51b815260040161063a90611753565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031603610ca85760405162461bcd60e51b815260206004820152602c60248201527f4465204c617965723a2043616e277420616c7465722063757272656e74206c6960448201526b38bab4b234ba3c903830b4b960a11b606482015260840161063a565b6001600160a01b03919091166000908152600860205260409020805460ff1916911515919091179055565b60006001600160a01b038416610d2b5760405162461bcd60e51b815260206004820152601b60248201527f4465204c617965723a207472616e736665722066726f6d203078300000000000604482015260640161063a565b6001600160a01b038316610d815760405162461bcd60e51b815260206004820152601960248201527f4465204c617965723a207472616e7366657220746f2030783000000000000000604482015260640161063a565b60008211610ddc5760405162461bcd60e51b815260206004820152602260248201527f4465204c617965723a20416d6f756e74206d757374206265206f766572207a65604482015261726f60f01b606482015260840161063a565b6001600160a01b038416600090815260026020526040902054821115610e445760405162461bcd60e51b815260206004820152601e60248201527f4465204c617965723a20496e73756666696369656e742062616c616e63650000604482015260640161063a565b6001600160a01b03841660009081526004602052604090205460ff16158015610e8657506001600160a01b03831660009081526004602052604090205460ff16155b610ed25760405162461bcd60e51b815260206004820181905260248201527f4465204c617965723a204164647265737320697320626c61636b6c6973746564604482015260640161063a565b600d54158015610efa57506001600160a01b03831660009081526008602052604090205460ff165b15610f7b576001600160a01b03841660009081526006602052604090205460ff16610f725760405162461bcd60e51b815260206004820152602260248201527f4465204c617965723a204c6971756964697479206e6f742061646465642079656044820152613a1760f11b606482015260840161063a565b610f7b43600d55565b600e5460ff16611010576001600160a01b03841660009081526006602052604090205460ff1680610fc457506001600160a01b03831660009081526006602052604090205460ff165b6110105760405162461bcd60e51b815260206004820152601f60248201527f4465204c617965723a2054726164696e67206e6f74206f70656e207965742e00604482015260640161063a565b600e54600160b01b900460ff16156110345761102d848484611231565b9050610848565b6001600160a01b03841660009081526008602052604090205460ff16801561107557506001600160a01b03831660009081526007602052604090205460ff16155b15611125576000600c54600b546012600a6110909190611900565b61109e906305f5e1006117ae565b6110a891906117ae565b6110b291906117c5565b9050808311156111235760405162461bcd60e51b815260206004820152603660248201527f4465204c617965723a204d61782062757920616d6f756e7420657863656564656044820152753217102a393c9030903637bbb2b91030b6b7bab73a1760511b606482015260840161063a565b505b6001600160a01b03841660009081526002602052604090205461114990839061190f565b6001600160a01b038516600090815260026020908152604080832093909355600590529081205460ff161561117e5782611188565b61118884846112eb565b90506111938461138d565b156111a65782156111a6576111a66113f3565b6001600160a01b0384166000908152600260205260409020546111ca908290611922565b6001600160a01b0380861660008181526002602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061121e9085815260200190565b60405180910390a3506001949350505050565b6001600160a01b03831660009081526002602052604081205461125590839061190f565b6001600160a01b038086166000908152600260205260408082209390935590851681522054611285908390611922565b6001600160a01b0380851660008181526002602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112d99086815260200190565b60405180910390a35060019392505050565b6001600160a01b038216600090815260086020526040812054819060ff168061132357503360009081526008602052604090205460ff165b90508061133357829150506105fb565b6000600a546009548561134691906117ae565b61135091906117c5565b30600090815260026020526040812080549293508392909190611374908490611922565b909155506113849050818561190f565b95945050505050565b3360009081526008602052604081205460ff161580156113b75750600e54600160b01b900460ff16155b80156113db57506001600160a01b03821660009081526008602052604090205460ff165b80156105fb575050600e54610100900460ff16919050565b600e805460ff60b01b1916600160b01b1790553060009081526002602052604081205490819003611424575061159d565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061145957611459611935565b6001600160a01b03928316602091820292909201810191909152600154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156114b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114d6919061194b565b816001815181106114e9576114e9611935565b6001600160a01b03928316602091820292909201015260015460405163791ac94760e01b815291169063791ac9479061152f908590600090869030904290600401611968565b600060405180830381600087803b15801561154957600080fd5b505af115801561155d573d6000803e3d6000fd5b505050507f6730af06a7a0b552d900fed41c1d468b459eaa290e6eefe61a94a339eabbec1c8260405161159291815260200190565b60405180910390a150505b600e805460ff60b01b19169055565b600060208083528351808285015260005b818110156115d9578581018301518582016040015282016115bd565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461160f57600080fd5b50565b6000806040838503121561162557600080fd5b8235611630816115fa565b946020939093013593505050565b60006020828403121561165057600080fd5b5035919050565b8035801515811461166757600080fd5b919050565b6000806040838503121561167f57600080fd5b823561168a816115fa565b915061169860208401611657565b90509250929050565b6000602082840312156116b357600080fd5b61084882611657565b6000602082840312156116ce57600080fd5b8135610848816115fa565b6000806000606084860312156116ee57600080fd5b83356116f9816115fa565b92506020840135611709816115fa565b929592945050506040919091013590565b6000806040838503121561172d57600080fd5b8235611738816115fa565b91506020830135611748816115fa565b809150509250929050565b60208082526025908201527f4465204c617965723a2043616c6c6572206973206e6f742061207465616d206d60408201526432b6b132b960d91b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176105fb576105fb611798565b6000826117e257634e487b7160e01b600052601260045260246000fd5b500490565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600181815b8085111561185757816000190482111561183d5761183d611798565b8085161561184a57918102915b93841c9390800290611821565b509250929050565b60008261186e575060016105fb565b8161187b575060006105fb565b8160018114611891576002811461189b576118b7565b60019150506105fb565b60ff8411156118ac576118ac611798565b50506001821b6105fb565b5060208310610133831016604e8410600b84101617156118da575081810a6105fb565b6118e4838361181c565b80600019048211156118f8576118f8611798565b029392505050565b600061084860ff84168361185f565b818103818111156105fb576105fb611798565b808201808211156105fb576105fb611798565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561195d57600080fd5b8151610848816115fa565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156119b85784516001600160a01b031683529383019391830191600101611993565b50506001600160a01b0396909616606085015250505060800152939250505056fea264697066735822122021d2853f19188ee4718d83267401973abd6115f3ccd7b9053afb37bd75e49fb864736f6c63430008130033

Deployed Bytecode

0x6080604052600436106101a05760003560e01c8063715018a6116100ec578063c5730d9d1161008a578063e3acfb9111610064578063e3acfb9114610514578063f2fde38b14610534578063f887ea4014610554578063fdad93021461057457600080fd5b8063c5730d9d1461047e578063dbac26e91461049e578063dd62ed3e146104ce57600080fd5b806395d89b41116100c657806395d89b41146103e7578063a8aa1b3114610414578063a9059cbb14610448578063bf56b3711461046857600080fd5b8063715018a6146103805780637c6e0a5e146103955780638da5cb5b146103b557600080fd5b80631f53ac0211610159578063313ce56711610133578063313ce567146102f95780633c8f81d0146103155780634f3e1efc1461033557806370a082311461034a57600080fd5b80631f53ac02146102a457806323b872dd146102c4578063293230b8146102e457600080fd5b806306fdde03146101ac578063095ea7b3146101ef5780630961fbf71461021f578063153b0d1e1461024157806318160ddd146102615780631e53dbe91461028457600080fd5b366101a757005b600080fd5b3480156101b857600080fd5b506040805180820190915260088152672232902630bcb2b960c11b60208201525b6040516101e691906115ac565b60405180910390f35b3480156101fb57600080fd5b5061020f61020a366004611612565b610594565b60405190151581526020016101e6565b34801561022b57600080fd5b5061023f61023a36600461163e565b610601565b005b34801561024d57600080fd5b5061023f61025c36600461166c565b61069d565b34801561026d57600080fd5b506102766106f2565b6040519081526020016101e6565b34801561029057600080fd5b5061023f61029f3660046116a1565b610713565b3480156102b057600080fd5b5061023f6102bf3660046116bc565b610766565b3480156102d057600080fd5b5061020f6102df3660046116d9565b6107ba565b3480156102f057600080fd5b5061023f61084f565b34801561030557600080fd5b50604051601281526020016101e6565b34801561032157600080fd5b5061023f6103303660046116bc565b61089c565b34801561034157600080fd5b506102766108ea565b34801561035657600080fd5b506102766103653660046116bc565b6001600160a01b031660009081526002602052604090205490565b34801561038c57600080fd5b5061023f61096c565b3480156103a157600080fd5b5061020f6103b03660046116bc565b6109e0565b3480156103c157600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016101e6565b3480156103f357600080fd5b506040805180820190915260048152634445414960e01b60208201526101d9565b34801561042057600080fd5b506103cf7f000000000000000000000000e2baaa8eefc273ad8c126d0ec40cb6059cdc12a181565b34801561045457600080fd5b5061020f610463366004611612565b6109ee565b34801561047457600080fd5b50610276600d5481565b34801561048a57600080fd5b5061023f61049936600461163e565b6109fb565b3480156104aa57600080fd5b5061020f6104b93660046116bc565b60046020526000908152604090205460ff1681565b3480156104da57600080fd5b506102766104e936600461171a565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561052057600080fd5b5061023f61052f36600461166c565b610a8b565b34801561054057600080fd5b5061023f61054f3660046116bc565b610aef565b34801561056057600080fd5b506001546103cf906001600160a01b031681565b34801561058057600080fd5b5061023f61058f36600461166c565b610bd9565b3360008181526003602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906105ef9086815260200190565b60405180910390a35060015b92915050565b600e546201000090046001600160a01b0316336001600160a01b0316146106435760405162461bcd60e51b815260040161063a90611753565b60405180910390fd5b600e5447906201000090046001600160a01b03166108fc606461066685856117ae565b61067091906117c5565b6040518115909202916000818181858888f19350505050158015610698573d6000803e3d6000fd5b505050565b6000546001600160a01b031633146106c75760405162461bcd60e51b815260040161063a906117e7565b6001600160a01b03919091166000908152600460205260409020805460ff1916911515919091179055565b60006107006012600a611900565b61070e906305f5e1006117ae565b905090565b600e546201000090046001600160a01b0316336001600160a01b03161461074c5760405162461bcd60e51b815260040161063a90611753565b600e80549115156101000261ff0019909216919091179055565b6000546001600160a01b031633146107905760405162461bcd60e51b815260040161063a906117e7565b600e80546001600160a01b03909216620100000262010000600160b01b0319909216919091179055565b6001600160a01b03831660009081526003602090815260408083203384529091528120546000191461083a576001600160a01b038416600090815260036020908152604080832033845290915290205461081590839061190f565b6001600160a01b03851660009081526003602090815260408083203384529091529020555b610845848484610cd3565b90505b9392505050565b6000546001600160a01b031633146108795760405162461bcd60e51b815260040161063a906117e7565b600e5460ff161561088957600080fd5b600e805460ff1916600117905543600d55565b6000546001600160a01b031633146108c65760405162461bcd60e51b815260040161063a906117e7565b6001600160a01b03166000908152600660205260409020805460ff19166001179055565b60026020527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b5461dead60009081527f6a9609baa168169acaea398c4407efea4be641bb08e21e88806d9836fd9333cc5490919061094a6012600a611900565b610958906305f5e1006117ae565b610962919061190f565b61070e919061190f565b6000546001600160a01b031633146109965760405162461bcd60e51b815260040161063a906117e7565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b60006105fb82600019610594565b6000610848338484610cd3565b600e546201000090046001600160a01b0316336001600160a01b031614610a345760405162461bcd60e51b815260040161063a90611753565b600954811115610a865760405162461bcd60e51b815260206004820152601c60248201527f4465204c617965723a2043616e277420696e6372656173652066656500000000604482015260640161063a565b600955565b600e546201000090046001600160a01b0316336001600160a01b031614610ac45760405162461bcd60e51b815260040161063a90611753565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610b195760405162461bcd60e51b815260040161063a906117e7565b6001600160a01b038116610b7e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161063a565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b600e546201000090046001600160a01b0316336001600160a01b031614610c125760405162461bcd60e51b815260040161063a90611753565b7f000000000000000000000000e2baaa8eefc273ad8c126d0ec40cb6059cdc12a16001600160a01b0316826001600160a01b031603610ca85760405162461bcd60e51b815260206004820152602c60248201527f4465204c617965723a2043616e277420616c7465722063757272656e74206c6960448201526b38bab4b234ba3c903830b4b960a11b606482015260840161063a565b6001600160a01b03919091166000908152600860205260409020805460ff1916911515919091179055565b60006001600160a01b038416610d2b5760405162461bcd60e51b815260206004820152601b60248201527f4465204c617965723a207472616e736665722066726f6d203078300000000000604482015260640161063a565b6001600160a01b038316610d815760405162461bcd60e51b815260206004820152601960248201527f4465204c617965723a207472616e7366657220746f2030783000000000000000604482015260640161063a565b60008211610ddc5760405162461bcd60e51b815260206004820152602260248201527f4465204c617965723a20416d6f756e74206d757374206265206f766572207a65604482015261726f60f01b606482015260840161063a565b6001600160a01b038416600090815260026020526040902054821115610e445760405162461bcd60e51b815260206004820152601e60248201527f4465204c617965723a20496e73756666696369656e742062616c616e63650000604482015260640161063a565b6001600160a01b03841660009081526004602052604090205460ff16158015610e8657506001600160a01b03831660009081526004602052604090205460ff16155b610ed25760405162461bcd60e51b815260206004820181905260248201527f4465204c617965723a204164647265737320697320626c61636b6c6973746564604482015260640161063a565b600d54158015610efa57506001600160a01b03831660009081526008602052604090205460ff165b15610f7b576001600160a01b03841660009081526006602052604090205460ff16610f725760405162461bcd60e51b815260206004820152602260248201527f4465204c617965723a204c6971756964697479206e6f742061646465642079656044820152613a1760f11b606482015260840161063a565b610f7b43600d55565b600e5460ff16611010576001600160a01b03841660009081526006602052604090205460ff1680610fc457506001600160a01b03831660009081526006602052604090205460ff165b6110105760405162461bcd60e51b815260206004820152601f60248201527f4465204c617965723a2054726164696e67206e6f74206f70656e207965742e00604482015260640161063a565b600e54600160b01b900460ff16156110345761102d848484611231565b9050610848565b6001600160a01b03841660009081526008602052604090205460ff16801561107557506001600160a01b03831660009081526007602052604090205460ff16155b15611125576000600c54600b546012600a6110909190611900565b61109e906305f5e1006117ae565b6110a891906117ae565b6110b291906117c5565b9050808311156111235760405162461bcd60e51b815260206004820152603660248201527f4465204c617965723a204d61782062757920616d6f756e7420657863656564656044820152753217102a393c9030903637bbb2b91030b6b7bab73a1760511b606482015260840161063a565b505b6001600160a01b03841660009081526002602052604090205461114990839061190f565b6001600160a01b038516600090815260026020908152604080832093909355600590529081205460ff161561117e5782611188565b61118884846112eb565b90506111938461138d565b156111a65782156111a6576111a66113f3565b6001600160a01b0384166000908152600260205260409020546111ca908290611922565b6001600160a01b0380861660008181526002602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061121e9085815260200190565b60405180910390a3506001949350505050565b6001600160a01b03831660009081526002602052604081205461125590839061190f565b6001600160a01b038086166000908152600260205260408082209390935590851681522054611285908390611922565b6001600160a01b0380851660008181526002602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112d99086815260200190565b60405180910390a35060019392505050565b6001600160a01b038216600090815260086020526040812054819060ff168061132357503360009081526008602052604090205460ff165b90508061133357829150506105fb565b6000600a546009548561134691906117ae565b61135091906117c5565b30600090815260026020526040812080549293508392909190611374908490611922565b909155506113849050818561190f565b95945050505050565b3360009081526008602052604081205460ff161580156113b75750600e54600160b01b900460ff16155b80156113db57506001600160a01b03821660009081526008602052604090205460ff165b80156105fb575050600e54610100900460ff16919050565b600e805460ff60b01b1916600160b01b1790553060009081526002602052604081205490819003611424575061159d565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061145957611459611935565b6001600160a01b03928316602091820292909201810191909152600154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156114b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114d6919061194b565b816001815181106114e9576114e9611935565b6001600160a01b03928316602091820292909201015260015460405163791ac94760e01b815291169063791ac9479061152f908590600090869030904290600401611968565b600060405180830381600087803b15801561154957600080fd5b505af115801561155d573d6000803e3d6000fd5b505050507f6730af06a7a0b552d900fed41c1d468b459eaa290e6eefe61a94a339eabbec1c8260405161159291815260200190565b60405180910390a150505b600e805460ff60b01b19169055565b600060208083528351808285015260005b818110156115d9578581018301518582016040015282016115bd565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461160f57600080fd5b50565b6000806040838503121561162557600080fd5b8235611630816115fa565b946020939093013593505050565b60006020828403121561165057600080fd5b5035919050565b8035801515811461166757600080fd5b919050565b6000806040838503121561167f57600080fd5b823561168a816115fa565b915061169860208401611657565b90509250929050565b6000602082840312156116b357600080fd5b61084882611657565b6000602082840312156116ce57600080fd5b8135610848816115fa565b6000806000606084860312156116ee57600080fd5b83356116f9816115fa565b92506020840135611709816115fa565b929592945050506040919091013590565b6000806040838503121561172d57600080fd5b8235611738816115fa565b91506020830135611748816115fa565b809150509250929050565b60208082526025908201527f4465204c617965723a2043616c6c6572206973206e6f742061207465616d206d60408201526432b6b132b960d91b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176105fb576105fb611798565b6000826117e257634e487b7160e01b600052601260045260246000fd5b500490565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600181815b8085111561185757816000190482111561183d5761183d611798565b8085161561184a57918102915b93841c9390800290611821565b509250929050565b60008261186e575060016105fb565b8161187b575060006105fb565b8160018114611891576002811461189b576118b7565b60019150506105fb565b60ff8411156118ac576118ac611798565b50506001821b6105fb565b5060208310610133831016604e8410600b84101617156118da575081810a6105fb565b6118e4838361181c565b80600019048211156118f8576118f8611798565b029392505050565b600061084860ff84168361185f565b818103818111156105fb576105fb611798565b808201808211156105fb576105fb611798565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561195d57600080fd5b8151610848816115fa565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156119b85784516001600160a01b031683529383019391830191600101611993565b50506001600160a01b0396909616606085015250505060800152939250505056fea264697066735822122021d2853f19188ee4718d83267401973abd6115f3ccd7b9053afb37bd75e49fb864736f6c63430008130033

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.