ETH Price: $1,592.11 (-0.55%)
 

Overview

ETH Balance

0.017494119968438229 ETH

Eth Value

$27.85 (@ $1,592.11/ETH)

Token Holdings

Multichain Info

1 address found via
Transaction Hash
Method
Block
From
To
Approve220552472025-03-15 22:24:1133 days ago1742077451IN
0xD8498829...3A7f63b63
0 ETH0.000023730.9832194
Approve219334972025-02-26 22:28:5950 days ago1740608939IN
0xD8498829...3A7f63b63
0 ETH0.000065471.41921315
Approve218942652025-02-21 10:58:2356 days ago1740135503IN
0xD8498829...3A7f63b63
0 ETH0.000029850.64687351
Approve218691432025-02-17 22:40:5959 days ago1739832059IN
0xD8498829...3A7f63b63
0 ETH0.000131652.83589686
Approve218248592025-02-11 17:46:1166 days ago1739295971IN
0xD8498829...3A7f63b63
0 ETH0.000091481.96811905
Approve218222312025-02-11 8:56:5966 days ago1739264219IN
0xD8498829...3A7f63b63
0 ETH0.000059181.28249272
Approve218208652025-02-11 4:22:3566 days ago1739247755IN
0xD8498829...3A7f63b63
0 ETH0.000022090.91543158
Approve218036382025-02-08 18:39:2368 days ago1739039963IN
0xD8498829...3A7f63b63
0 ETH0.000059181.28056272
Approve217912562025-02-07 1:10:1170 days ago1738890611IN
0xD8498829...3A7f63b63
0 ETH0.000089411.92361743
Approve217898572025-02-06 20:29:1170 days ago1738873751IN
0xD8498829...3A7f63b63
0 ETH0.000079431.71872516
Transfer217797782025-02-05 10:44:3572 days ago1738752275IN
0xD8498829...3A7f63b63
0 ETH0.000091041.95908152
Approve217790742025-02-05 8:23:2372 days ago1738743803IN
0xD8498829...3A7f63b63
0 ETH0.000092221.98665825
Approve217581802025-02-02 10:18:2375 days ago1738491503IN
0xD8498829...3A7f63b63
0 ETH0.000090981.96032949
Approve217548712025-02-01 23:12:1175 days ago1738451531IN
0xD8498829...3A7f63b63
0 ETH0.000151265.69019835
Approve217548692025-02-01 23:11:4775 days ago1738451507IN
0xD8498829...3A7f63b63
0 ETH0.000266695.73743717
Approve217548632025-02-01 23:10:3575 days ago1738451435IN
0xD8498829...3A7f63b63
0 ETH0.000288816.24868332
Approve217359952025-01-30 7:54:5978 days ago1738223699IN
0xD8498829...3A7f63b63
0 ETH0.000160093.468214
Approve217110332025-01-26 20:19:4781 days ago1737922787IN
0xD8498829...3A7f63b63
0 ETH0.00031056.68848234
Approve217083242025-01-26 11:14:3582 days ago1737890075IN
0xD8498829...3A7f63b63
0 ETH0.000173763.73824307
Approve216938062025-01-24 10:36:4784 days ago1737715007IN
0xD8498829...3A7f63b63
0 ETH0.0010158421.8818836
Approve216887442025-01-23 17:40:1185 days ago1737654011IN
0xD8498829...3A7f63b63
0 ETH0.0006981215.03802472
Approve216757612025-01-21 22:10:2386 days ago1737497423IN
0xD8498829...3A7f63b63
0 ETH0.0006524114.05343171
Transfer216747082025-01-21 18:39:3586 days ago1737484775IN
0xD8498829...3A7f63b63
0 ETH0.0015186323.88837402
Approve216503592025-01-18 9:05:2390 days ago1737191123IN
0xD8498829...3A7f63b63
0 ETH0.0008551118.41959837
Approve216259162025-01-14 23:10:3593 days ago1736896235IN
0xD8498829...3A7f63b63
0 ETH0.000297566.43974109
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer219334992025-02-26 22:29:2350 days ago1740608963
0xD8498829...3A7f63b63
0.00009571 ETH
Transfer218942672025-02-21 10:58:4756 days ago1740135527
0xD8498829...3A7f63b63
0.00539 ETH
Transfer218691452025-02-17 22:41:2359 days ago1739832083
0xD8498829...3A7f63b63
0.0001513 ETH
Transfer218248612025-02-11 17:46:3566 days ago1739295995
0xD8498829...3A7f63b63
0.00015676 ETH
Transfer218222332025-02-11 8:57:2366 days ago1739264243
0xD8498829...3A7f63b63
0.00016072 ETH
Transfer218036482025-02-08 18:41:2368 days ago1739040083
0xD8498829...3A7f63b63
0.00010216 ETH
Transfer217973212025-02-07 21:29:1169 days ago1738963751
0xD8498829...3A7f63b63
0.00014596 ETH
Transfer217912622025-02-07 1:11:2370 days ago1738890683
0xD8498829...3A7f63b63
0.00004019 ETH
Transfer217790752025-02-05 8:23:3572 days ago1738743815
0xD8498829...3A7f63b63
0.00033682 ETH
Transfer217581802025-02-02 10:18:2375 days ago1738491503
0xD8498829...3A7f63b63
0.00061433 ETH
Transfer217110352025-01-26 20:20:1181 days ago1737922811
0xD8498829...3A7f63b63
0.00041066 ETH
Transfer217083242025-01-26 11:14:3582 days ago1737890075
0xD8498829...3A7f63b63
0.00016131 ETH
Transfer217043032025-01-25 21:47:2382 days ago1737841643
0xD8498829...3A7f63b63
0.00015835 ETH
Transfer216938062025-01-24 10:36:4784 days ago1737715007
0xD8498829...3A7f63b63
0.00344743 ETH
Transfer216887502025-01-23 17:41:2385 days ago1737654083
0xD8498829...3A7f63b63
0.00026097 ETH
Transfer216757632025-01-21 22:10:4786 days ago1737497447
0xD8498829...3A7f63b63
0.00273367 ETH
Transfer216083572025-01-12 12:17:2396 days ago1736684243
0xD8498829...3A7f63b63
0.00010714 ETH
Transfer215926422025-01-10 7:39:3598 days ago1736494775
0xD8498829...3A7f63b63
0.00302053 ETH
Transfer215585802025-01-05 13:29:23103 days ago1736083763
0xD8498829...3A7f63b63
1.34046672 ETH
Transfer215196992024-12-31 3:14:11108 days ago1735614851
0xD8498829...3A7f63b63
0.00887685 ETH
Transfer215172662024-12-30 19:05:11108 days ago1735585511
0xD8498829...3A7f63b63
0.03936713 ETH
Transfer215100302024-12-29 18:50:35109 days ago1735498235
0xD8498829...3A7f63b63
0.00021753 ETH
Transfer215069192024-12-29 8:25:35110 days ago1735460735
0xD8498829...3A7f63b63
0.00004067 ETH
Transfer214712742024-12-24 8:55:35115 days ago1735030535
0xD8498829...3A7f63b63
0.00045222 ETH
Transfer214627812024-12-23 4:23:59116 days ago1734927839
0xD8498829...3A7f63b63
0.00022667 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

API
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":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
Loading...
Loading
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.