ETH Price: $1,476.07 (-6.00%)

Contract

0x25C6bA0d05b394215D48b9836AA608266b508227
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve216143292025-01-13 8:19:5985 days ago1736756399IN
0x25C6bA0d...66b508227
0 ETH0.000089443.69592319
Approve211004092024-11-02 13:59:11157 days ago1730555951IN
0x25C6bA0d...66b508227
0 ETH0.000335227.26037259
Approve209918562024-10-18 10:29:23172 days ago1729247363IN
0x25C6bA0d...66b508227
0 ETH0.0009866821.3420583
Approve209448522024-10-11 20:46:47178 days ago1728679607IN
0x25C6bA0d...66b508227
0 ETH0.0012427626.87403667
Approve209421132024-10-11 11:34:47179 days ago1728646487IN
0x25C6bA0d...66b508227
0 ETH0.0006045613.09365772
Approve208448542024-09-27 22:08:59192 days ago1727474939IN
0x25C6bA0d...66b508227
0 ETH0.000241149.07123067
Approve208448532024-09-27 22:08:47192 days ago1727474927IN
0x25C6bA0d...66b508227
0 ETH0.00043569.37114089
Approve208270412024-09-25 10:31:11195 days ago1727260271IN
0x25C6bA0d...66b508227
0 ETH0.0010567122.85673196
Transfer207836532024-09-19 9:09:59201 days ago1726736999IN
0x25C6bA0d...66b508227
0 ETH0.0012507719.7335878
Approve207771652024-09-18 11:25:35202 days ago1726658735IN
0x25C6bA0d...66b508227
0 ETH0.000447739.63211541
Fee Withdrawal207726782024-09-17 20:21:47203 days ago1726604507IN
0x25C6bA0d...66b508227
0 ETH0.0006871622.08114257
Fee Withdrawal207726752024-09-17 20:20:59203 days ago1726604459IN
0x25C6bA0d...66b508227
0 ETH0.0004915420.54445862
Approve207726492024-09-17 20:15:47203 days ago1726604147IN
0x25C6bA0d...66b508227
0 ETH0.000974921.13110126
Approve207726312024-09-17 20:12:11203 days ago1726603931IN
0x25C6bA0d...66b508227
0 ETH0.0009866621.36942212
Approve207726202024-09-17 20:09:47203 days ago1726603787IN
0x25C6bA0d...66b508227
0 ETH0.001123224.32651993
Approve207726112024-09-17 20:07:59203 days ago1726603679IN
0x25C6bA0d...66b508227
0 ETH0.0011274324.41811006
Approve207726032024-09-17 20:06:23203 days ago1726603583IN
0x25C6bA0d...66b508227
0 ETH0.0010289722.28564363
Approve207725972024-09-17 20:05:11203 days ago1726603511IN
0x25C6bA0d...66b508227
0 ETH0.0006112321.02480914
Approve207708752024-09-17 14:17:59203 days ago1726582679IN
0x25C6bA0d...66b508227
0 ETH0.0008841319.04482098
Approve207703902024-09-17 12:40:23203 days ago1726576823IN
0x25C6bA0d...66b508227
0 ETH0.000269275.79284226
Approve207693602024-09-17 9:13:47203 days ago1726564427IN
0x25C6bA0d...66b508227
0 ETH0.000139273
Approve207668282024-09-17 0:42:23203 days ago1726533743IN
0x25C6bA0d...66b508227
0 ETH0.000179253.86123262
Approve207654222024-09-16 20:00:23204 days ago1726516823IN
0x25C6bA0d...66b508227
0 ETH0.0005259711.39168436
Approve207653902024-09-16 19:53:59204 days ago1726516439IN
0x25C6bA0d...66b508227
0 ETH0.000382668.28997786
Approve207652882024-09-16 19:33:35204 days ago1726515215IN
0x25C6bA0d...66b508227
0 ETH0.000361247.77130019
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer207726782024-09-17 20:21:47203 days ago1726604507
0x25C6bA0d...66b508227
0.27038449 ETH
Transfer207627612024-09-16 11:03:59204 days ago1726484639
0x25C6bA0d...66b508227
0.00249498 ETH
Transfer207627542024-09-16 11:02:35204 days ago1726484555
0x25C6bA0d...66b508227
0.00826761 ETH
Transfer207627522024-09-16 11:02:11204 days ago1726484531
0x25C6bA0d...66b508227
0.00635169 ETH
Transfer207627522024-09-16 11:02:11204 days ago1726484531
0x25C6bA0d...66b508227
0.00811049 ETH
Transfer207627502024-09-16 11:01:47204 days ago1726484507
0x25C6bA0d...66b508227
0.02518524 ETH
Transfer207627482024-09-16 11:01:23204 days ago1726484483
0x25C6bA0d...66b508227
0.00412979 ETH
Transfer207627412024-09-16 10:59:47204 days ago1726484387
0x25C6bA0d...66b508227
0.00029342 ETH
Transfer207627352024-09-16 10:58:35204 days ago1726484315
0x25C6bA0d...66b508227
0.01094086 ETH
Transfer207627282024-09-16 10:57:11204 days ago1726484231
0x25C6bA0d...66b508227
0.01112196 ETH
Transfer207627232024-09-16 10:56:11204 days ago1726484171
0x25C6bA0d...66b508227
0.02315659 ETH
Transfer207627232024-09-16 10:56:11204 days ago1726484171
0x25C6bA0d...66b508227
0.1703318 ETH
Transfer207627132024-09-16 10:54:11204 days ago1726484051
0x25C6bA0d...66b508227
5.70287172 ETH
Transfer207626832024-09-16 10:47:59204 days ago1726483679
0x25C6bA0d...66b508227
0.04016167 ETH
Transfer207626812024-09-16 10:47:35204 days ago1726483655
0x25C6bA0d...66b508227
0.002859 ETH
Transfer207626792024-09-16 10:47:11204 days ago1726483631
0x25C6bA0d...66b508227
0.00267734 ETH
Transfer207626772024-09-16 10:46:47204 days ago1726483607
0x25C6bA0d...66b508227
0.00203348 ETH
Transfer207626732024-09-16 10:45:59204 days ago1726483559
0x25C6bA0d...66b508227
0.03306114 ETH
Transfer207626722024-09-16 10:45:47204 days ago1726483547
0x25C6bA0d...66b508227
0.00377315 ETH
Transfer207626682024-09-16 10:44:59204 days ago1726483499
0x25C6bA0d...66b508227
0.01005332 ETH
Transfer207626662024-09-16 10:44:35204 days ago1726483475
0x25C6bA0d...66b508227
0.00055239 ETH
Transfer207626612024-09-16 10:43:35204 days ago1726483415
0x25C6bA0d...66b508227
0.02905336 ETH
Transfer207626572024-09-16 10:42:35204 days ago1726483355
0x25C6bA0d...66b508227
0.0204787 ETH
Transfer207626432024-09-16 10:39:47204 days ago1726483187
0x25C6bA0d...66b508227
0.01951328 ETH
Transfer207626412024-09-16 10:39:23204 days ago1726483163
0x25C6bA0d...66b508227
0.04200393 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
MIAURAToken

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
File 1 of 1 : MIAURA.sol
//            _
//  _ __ ___ (_) __ _ _   _ _ __ __ _
// | '_ ` _ \| |/ _` | | | | '__/ _` |
// | | | | | | | (_| | |_| | | | (_| |
// |_| |_| |_|_|\__,_|\__,_|_|  \__,_|
//
//    Website: https://miaura.cat
//    Twitter: https://x.com/miauraeth
//    Telegram: https://t.me/miauraeth
//
// 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 {
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );

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

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 MIAURAToken is IERC20, Ownable {
    address constant ZERO = 0x0000000000000000000000000000000000000000;
    address constant DEAD = 0x000000000000000000000000000000000000dEaD;

    IDEXRouter public router;
    address constant routerAddress = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;

    string constant _name = "aura cat";
    string constant _symbol = "MIAURA";
    uint8 constant _decimals = 18;

    uint256 constant _totalSupply = 888_888_888 * (10 ** _decimals);

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

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

    mapping(address => bool) public blacklisted;

    uint256 totalFee = 500;
    uint256 feeDenominator = 10000;

    uint256 public launchedAt;
    bool isTradingAllowed = false;

    bool swapBackEnabled = true;

    address devWallet;
    modifier onlyDev() {
        require(
            _msgSender() == devWallet,
            "MIAURA: Caller is not dev"
        );
        _;
    }

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

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

        _allowances[owner()][routerAddress] = type(uint256).max;
        _allowances[address(this)][routerAddress] = type(uint256).max;
        liquidityPools[pair] = true;

        _balances[owner()] = _totalSupply;

        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 _nextFee) external onlyDev {
        require(_nextFee <= totalFee, "MIAURA: Can't increase fee");
        totalFee = _nextFee;
    }

    function setTeamWallet(address _newDev) external onlyOwner {
        devWallet = _newDev;
    }

    function feeWithdrawal(bool enabled, uint256 amount) external onlyDev {
        if (enabled) {
            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(amount > 0, "MIAURA: Amount must be over zero");
        require(sender != address(0), "MIAURA: transfer from zero address");
        require(recipient != address(0), "MIAURA: transfer to zero address");
        require(_balances[sender] >= amount, "MIAURA: Insufficient balance");
        require(
            !blacklisted[sender] && !blacklisted[recipient],
            "MIAURA: Address is blacklisted"
        );

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

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

        if (inSwap) {
            return _basicTransfer(sender, recipient, 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, "MIAURA: Can't alter current liquidity pair");
        liquidityPools[lp] = isPool;
    }

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

    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":"_nextFee","type":"uint256"}],"name":"decreaseFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"enabled","type":"bool"},{"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":"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":[{"internalType":"address","name":"_newDev","type":"address"}],"name":"setTeamWallet","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"}]

60a06040526101f4600855612710600955600b805461ffff19166101001790553480156200002c57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600180546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa158015620000d3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000f99190620003ec565b6001600160a01b031663c9c65396600160009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200015b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001819190620003ec565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201523060248201526044016020604051808303816000875af1158015620001ce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001f49190620003ec565b6001600160a01b0316608052600160046000620002196000546001600160a01b031690565b6001600160a01b0316815260208082019290925260409081016000908120805494151560ff199586161790553081526004909252812080549092166001908117909255600590620002726000546001600160a01b031690565b6001600160a01b0316815260208101919091526040016000908120805460ff19169215159290921790915560001990600390620002b76000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120737a250d5630b4cf539739df2c5dacb4c659f2488d8083529085528382209590955530815260038452828120948152938352818420600019905560805116835260069091529020805460ff19166001179055620003376012600a62000533565b62000347906334fb5e3862000544565b600260006200035e6000546001600160a01b031690565b6001600160a01b031681526020810191909152604001600020556200038b6000546001600160a01b031690565b6001600160a01b031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620003c56012600a62000533565b620003d5906334fb5e3862000544565b60405190815260200160405180910390a36200055e565b600060208284031215620003ff57600080fd5b81516001600160a01b03811681146200041757600080fd5b9392505050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620004755781600019048211156200045957620004596200041e565b808516156200046757918102915b93841c939080029062000439565b509250929050565b6000826200048e575060016200052d565b816200049d575060006200052d565b8160018114620004b65760028114620004c157620004e1565b60019150506200052d565b60ff841115620004d557620004d56200041e565b50506001821b6200052d565b5060208310610133831016604e8410600b841016171562000506575081810a6200052d565b62000512838362000434565b80600019048211156200052957620005296200041e565b0290505b92915050565b60006200041760ff8416836200047d565b80820281158282048414176200052d576200052d6200041e565b608051611889620005816000396000818161040d0152610b7f01526118896000f3fe6080604052600436106101855760003560e01c8063715018a6116100d1578063bf56b3711161008a578063dd62ed3e11610064578063dd62ed3e146104b5578063f2fde38b146104fb578063f887ea401461051b578063fdad93021461053b57600080fd5b8063bf56b3711461044f578063c5730d9d14610465578063dbac26e91461048557600080fd5b8063715018a6146103655780637c6e0a5e1461037a5780638da5cb5b1461039a57806395d89b41146103cc578063a8aa1b31146103fb578063a9059cbb1461042f57600080fd5b806323b872dd1161013e578063313ce56711610118578063313ce567146102de5780633c8f81d0146102fa5780634f3e1efc1461031a57806370a082311461032f57600080fd5b806323b872dd14610289578063293230b8146102a95780632bcd035e146102be57600080fd5b806306fdde0314610191578063095ea7b3146101d45780631525ff7d14610204578063153b0d1e1461022657806318160ddd146102465780631e53dbe91461026957600080fd5b3661018c57005b600080fd5b34801561019d57600080fd5b50604080518082019091526008815267185d5c984818d85d60c21b60208201525b6040516101cb9190611418565b60405180910390f35b3480156101e057600080fd5b506101f46101ef36600461147e565b61055b565b60405190151581526020016101cb565b34801561021057600080fd5b5061022461021f3660046114aa565b6105c8565b005b34801561023257600080fd5b506102246102413660046114dc565b610625565b34801561025257600080fd5b5061025b61067a565b6040519081526020016101cb565b34801561027557600080fd5b50610224610284366004611511565b61069b565b34801561029557600080fd5b506101f46102a436600461152c565b6106ee565b3480156102b557600080fd5b50610224610783565b3480156102ca57600080fd5b506102246102d936600461156d565b6107d0565b3480156102ea57600080fd5b50604051601281526020016101cb565b34801561030657600080fd5b506102246103153660046114aa565b61086b565b34801561032657600080fd5b5061025b6108b9565b34801561033b57600080fd5b5061025b61034a3660046114aa565b6001600160a01b031660009081526002602052604090205490565b34801561037157600080fd5b5061022461093b565b34801561038657600080fd5b506101f46103953660046114aa565b6109af565b3480156103a657600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016101cb565b3480156103d857600080fd5b506040805180820190915260068152654d494155524160d01b60208201526101be565b34801561040757600080fd5b506103b47f000000000000000000000000000000000000000000000000000000000000000081565b34801561043b57600080fd5b506101f461044a36600461147e565b6109bd565b34801561045b57600080fd5b5061025b600a5481565b34801561047157600080fd5b50610224610480366004611589565b6109ca565b34801561049157600080fd5b506101f46104a03660046114aa565b60076020526000908152604090205460ff1681565b3480156104c157600080fd5b5061025b6104d03660046115a2565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561050757600080fd5b506102246105163660046114aa565b610a5a565b34801561052757600080fd5b506001546103b4906001600160a01b031681565b34801561054757600080fd5b506102246105563660046114dc565b610b44565b3360008181526003602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906105b69086815260200190565b60405180910390a35060015b92915050565b6000546001600160a01b031633146105fb5760405162461bcd60e51b81526004016105f2906115db565b60405180910390fd5b600b80546001600160a01b03909216620100000262010000600160b01b0319909216919091179055565b6000546001600160a01b0316331461064f5760405162461bcd60e51b81526004016105f2906115db565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b60006106886012600a61170a565b610696906334fb5e38611719565b905090565b600b546201000090046001600160a01b0316336001600160a01b0316146106d45760405162461bcd60e51b81526004016105f290611730565b600b80549115156101000261ff0019909216919091179055565b6001600160a01b03831660009081526003602090815260408083203384529091528120546000191461076e576001600160a01b0384166000908152600360209081526040808320338452909152902054610749908390611767565b6001600160a01b03851660009081526003602090815260408083203384529091529020555b610779848484610c3c565b90505b9392505050565b6000546001600160a01b031633146107ad5760405162461bcd60e51b81526004016105f2906115db565b600b5460ff16156107bd57600080fd5b600b805460ff1916600117905543600a55565b600b546201000090046001600160a01b0316336001600160a01b0316146108095760405162461bcd60e51b81526004016105f290611730565b811561086757600b5447906201000090046001600160a01b03166108fc60646108328585611719565b61083c919061177a565b6040518115909202916000818181858888f19350505050158015610864573d6000803e3d6000fd5b50505b5050565b6000546001600160a01b031633146108955760405162461bcd60e51b81526004016105f2906115db565b6001600160a01b03166000908152600560205260409020805460ff19166001179055565b60026020527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b5461dead60009081527f6a9609baa168169acaea398c4407efea4be641bb08e21e88806d9836fd9333cc549091906109196012600a61170a565b610927906334fb5e38611719565b6109319190611767565b6106969190611767565b6000546001600160a01b031633146109655760405162461bcd60e51b81526004016105f2906115db565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b60006105c28260001961055b565b600061077c338484610c3c565b600b546201000090046001600160a01b0316336001600160a01b031614610a035760405162461bcd60e51b81526004016105f290611730565b600854811115610a555760405162461bcd60e51b815260206004820152601a60248201527f4d49415552413a2043616e277420696e6372656173652066656500000000000060448201526064016105f2565b600855565b6000546001600160a01b03163314610a845760405162461bcd60e51b81526004016105f2906115db565b6001600160a01b038116610ae95760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016105f2565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b600b546201000090046001600160a01b0316336001600160a01b031614610b7d5760405162461bcd60e51b81526004016105f290611730565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031603610c115760405162461bcd60e51b815260206004820152602a60248201527f4d49415552413a2043616e277420616c7465722063757272656e74206c69717560448201526934b234ba3c903830b4b960b11b60648201526084016105f2565b6001600160a01b03919091166000908152600660205260409020805460ff1916911515919091179055565b6000808211610c8d5760405162461bcd60e51b815260206004820181905260248201527f4d49415552413a20416d6f756e74206d757374206265206f766572207a65726f60448201526064016105f2565b6001600160a01b038416610cee5760405162461bcd60e51b815260206004820152602260248201527f4d49415552413a207472616e736665722066726f6d207a65726f206164647265604482015261737360f01b60648201526084016105f2565b6001600160a01b038316610d445760405162461bcd60e51b815260206004820181905260248201527f4d49415552413a207472616e7366657220746f207a65726f206164647265737360448201526064016105f2565b6001600160a01b038416600090815260026020526040902054821115610dac5760405162461bcd60e51b815260206004820152601c60248201527f4d49415552413a20496e73756666696369656e742062616c616e63650000000060448201526064016105f2565b6001600160a01b03841660009081526007602052604090205460ff16158015610dee57506001600160a01b03831660009081526007602052604090205460ff16155b610e3a5760405162461bcd60e51b815260206004820152601e60248201527f4d49415552413a204164647265737320697320626c61636b6c6973746564000060448201526064016105f2565b600a54158015610e6257506001600160a01b03831660009081526006602052604090205460ff165b15610ed8576001600160a01b03841660009081526005602052604090205460ff16610ecf5760405162461bcd60e51b815260206004820181905260248201527f4d49415552413a204c6971756964697479206e6f74206164646564207965742e60448201526064016105f2565b610ed843600a55565b600b5460ff16610f6d576001600160a01b03841660009081526005602052604090205460ff1680610f2157506001600160a01b03831660009081526005602052604090205460ff165b610f6d5760405162461bcd60e51b815260206004820152601d60248201527f4d49415552413a2054726164696e67206e6f74206f70656e207965742e00000060448201526064016105f2565b600b54600160b01b900460ff1615610f9157610f8a84848461109d565b905061077c565b6001600160a01b038416600090815260026020526040902054610fb5908390611767565b6001600160a01b038516600090815260026020908152604080832093909355600490529081205460ff1615610fea5782610ff4565b610ff48484611157565b9050610fff846111f9565b156110125782156110125761101261125f565b6001600160a01b03841660009081526002602052604090205461103690829061179c565b6001600160a01b0380861660008181526002602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061108a9085815260200190565b60405180910390a3506001949350505050565b6001600160a01b0383166000908152600260205260408120546110c1908390611767565b6001600160a01b0380861660009081526002602052604080822093909355908516815220546110f190839061179c565b6001600160a01b0380851660008181526002602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111459086815260200190565b60405180910390a35060019392505050565b6001600160a01b038216600090815260066020526040812054819060ff168061118f57503360009081526006602052604090205460ff165b90508061119f57829150506105c2565b6000600954600854856111b29190611719565b6111bc919061177a565b306000908152600260205260408120805492935083929091906111e090849061179c565b909155506111f090508185611767565b95945050505050565b3360009081526006602052604081205460ff161580156112235750600b54600160b01b900460ff16155b801561124757506001600160a01b03821660009081526006602052604090205460ff165b80156105c2575050600b54610100900460ff16919050565b600b805460ff60b01b1916600160b01b17905530600090815260026020526040812054908190036112905750611409565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106112c5576112c56117af565b6001600160a01b03928316602091820292909201810191909152600154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561131e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061134291906117c5565b81600181518110611355576113556117af565b6001600160a01b03928316602091820292909201015260015460405163791ac94760e01b815291169063791ac9479061139b9085906000908690309042906004016117e2565b600060405180830381600087803b1580156113b557600080fd5b505af11580156113c9573d6000803e3d6000fd5b505050507f6730af06a7a0b552d900fed41c1d468b459eaa290e6eefe61a94a339eabbec1c826040516113fe91815260200190565b60405180910390a150505b600b805460ff60b01b19169055565b600060208083528351808285015260005b8181101561144557858101830151858201604001528201611429565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461147b57600080fd5b50565b6000806040838503121561149157600080fd5b823561149c81611466565b946020939093013593505050565b6000602082840312156114bc57600080fd5b813561077c81611466565b803580151581146114d757600080fd5b919050565b600080604083850312156114ef57600080fd5b82356114fa81611466565b9150611508602084016114c7565b90509250929050565b60006020828403121561152357600080fd5b61077c826114c7565b60008060006060848603121561154157600080fd5b833561154c81611466565b9250602084013561155c81611466565b929592945050506040919091013590565b6000806040838503121561158057600080fd5b61149c836114c7565b60006020828403121561159b57600080fd5b5035919050565b600080604083850312156115b557600080fd5b82356115c081611466565b915060208301356115d081611466565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561166157816000190482111561164757611647611610565b8085161561165457918102915b93841c939080029061162b565b509250929050565b600082611678575060016105c2565b81611685575060006105c2565b816001811461169b57600281146116a5576116c1565b60019150506105c2565b60ff8411156116b6576116b6611610565b50506001821b6105c2565b5060208310610133831016604e8410600b84101617156116e4575081810a6105c2565b6116ee8383611626565b806000190482111561170257611702611610565b029392505050565b600061077c60ff841683611669565b80820281158282048414176105c2576105c2611610565b60208082526019908201527f4d49415552413a2043616c6c6572206973206e6f742064657600000000000000604082015260600190565b818103818111156105c2576105c2611610565b60008261179757634e487b7160e01b600052601260045260246000fd5b500490565b808201808211156105c2576105c2611610565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156117d757600080fd5b815161077c81611466565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156118325784516001600160a01b03168352938301939183019160010161180d565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220adad943b5948a783aadcc5e7f6df331b27b3c300b51043272a9cc6f78d8b3fdf64736f6c63430008130033

Deployed Bytecode

0x6080604052600436106101855760003560e01c8063715018a6116100d1578063bf56b3711161008a578063dd62ed3e11610064578063dd62ed3e146104b5578063f2fde38b146104fb578063f887ea401461051b578063fdad93021461053b57600080fd5b8063bf56b3711461044f578063c5730d9d14610465578063dbac26e91461048557600080fd5b8063715018a6146103655780637c6e0a5e1461037a5780638da5cb5b1461039a57806395d89b41146103cc578063a8aa1b31146103fb578063a9059cbb1461042f57600080fd5b806323b872dd1161013e578063313ce56711610118578063313ce567146102de5780633c8f81d0146102fa5780634f3e1efc1461031a57806370a082311461032f57600080fd5b806323b872dd14610289578063293230b8146102a95780632bcd035e146102be57600080fd5b806306fdde0314610191578063095ea7b3146101d45780631525ff7d14610204578063153b0d1e1461022657806318160ddd146102465780631e53dbe91461026957600080fd5b3661018c57005b600080fd5b34801561019d57600080fd5b50604080518082019091526008815267185d5c984818d85d60c21b60208201525b6040516101cb9190611418565b60405180910390f35b3480156101e057600080fd5b506101f46101ef36600461147e565b61055b565b60405190151581526020016101cb565b34801561021057600080fd5b5061022461021f3660046114aa565b6105c8565b005b34801561023257600080fd5b506102246102413660046114dc565b610625565b34801561025257600080fd5b5061025b61067a565b6040519081526020016101cb565b34801561027557600080fd5b50610224610284366004611511565b61069b565b34801561029557600080fd5b506101f46102a436600461152c565b6106ee565b3480156102b557600080fd5b50610224610783565b3480156102ca57600080fd5b506102246102d936600461156d565b6107d0565b3480156102ea57600080fd5b50604051601281526020016101cb565b34801561030657600080fd5b506102246103153660046114aa565b61086b565b34801561032657600080fd5b5061025b6108b9565b34801561033b57600080fd5b5061025b61034a3660046114aa565b6001600160a01b031660009081526002602052604090205490565b34801561037157600080fd5b5061022461093b565b34801561038657600080fd5b506101f46103953660046114aa565b6109af565b3480156103a657600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016101cb565b3480156103d857600080fd5b506040805180820190915260068152654d494155524160d01b60208201526101be565b34801561040757600080fd5b506103b47f000000000000000000000000bc1c142cf2a3cdc8aa9cf65604f7d7beb45b14b181565b34801561043b57600080fd5b506101f461044a36600461147e565b6109bd565b34801561045b57600080fd5b5061025b600a5481565b34801561047157600080fd5b50610224610480366004611589565b6109ca565b34801561049157600080fd5b506101f46104a03660046114aa565b60076020526000908152604090205460ff1681565b3480156104c157600080fd5b5061025b6104d03660046115a2565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561050757600080fd5b506102246105163660046114aa565b610a5a565b34801561052757600080fd5b506001546103b4906001600160a01b031681565b34801561054757600080fd5b506102246105563660046114dc565b610b44565b3360008181526003602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906105b69086815260200190565b60405180910390a35060015b92915050565b6000546001600160a01b031633146105fb5760405162461bcd60e51b81526004016105f2906115db565b60405180910390fd5b600b80546001600160a01b03909216620100000262010000600160b01b0319909216919091179055565b6000546001600160a01b0316331461064f5760405162461bcd60e51b81526004016105f2906115db565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b60006106886012600a61170a565b610696906334fb5e38611719565b905090565b600b546201000090046001600160a01b0316336001600160a01b0316146106d45760405162461bcd60e51b81526004016105f290611730565b600b80549115156101000261ff0019909216919091179055565b6001600160a01b03831660009081526003602090815260408083203384529091528120546000191461076e576001600160a01b0384166000908152600360209081526040808320338452909152902054610749908390611767565b6001600160a01b03851660009081526003602090815260408083203384529091529020555b610779848484610c3c565b90505b9392505050565b6000546001600160a01b031633146107ad5760405162461bcd60e51b81526004016105f2906115db565b600b5460ff16156107bd57600080fd5b600b805460ff1916600117905543600a55565b600b546201000090046001600160a01b0316336001600160a01b0316146108095760405162461bcd60e51b81526004016105f290611730565b811561086757600b5447906201000090046001600160a01b03166108fc60646108328585611719565b61083c919061177a565b6040518115909202916000818181858888f19350505050158015610864573d6000803e3d6000fd5b50505b5050565b6000546001600160a01b031633146108955760405162461bcd60e51b81526004016105f2906115db565b6001600160a01b03166000908152600560205260409020805460ff19166001179055565b60026020527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b5461dead60009081527f6a9609baa168169acaea398c4407efea4be641bb08e21e88806d9836fd9333cc549091906109196012600a61170a565b610927906334fb5e38611719565b6109319190611767565b6106969190611767565b6000546001600160a01b031633146109655760405162461bcd60e51b81526004016105f2906115db565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b60006105c28260001961055b565b600061077c338484610c3c565b600b546201000090046001600160a01b0316336001600160a01b031614610a035760405162461bcd60e51b81526004016105f290611730565b600854811115610a555760405162461bcd60e51b815260206004820152601a60248201527f4d49415552413a2043616e277420696e6372656173652066656500000000000060448201526064016105f2565b600855565b6000546001600160a01b03163314610a845760405162461bcd60e51b81526004016105f2906115db565b6001600160a01b038116610ae95760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016105f2565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b600b546201000090046001600160a01b0316336001600160a01b031614610b7d5760405162461bcd60e51b81526004016105f290611730565b7f000000000000000000000000bc1c142cf2a3cdc8aa9cf65604f7d7beb45b14b16001600160a01b0316826001600160a01b031603610c115760405162461bcd60e51b815260206004820152602a60248201527f4d49415552413a2043616e277420616c7465722063757272656e74206c69717560448201526934b234ba3c903830b4b960b11b60648201526084016105f2565b6001600160a01b03919091166000908152600660205260409020805460ff1916911515919091179055565b6000808211610c8d5760405162461bcd60e51b815260206004820181905260248201527f4d49415552413a20416d6f756e74206d757374206265206f766572207a65726f60448201526064016105f2565b6001600160a01b038416610cee5760405162461bcd60e51b815260206004820152602260248201527f4d49415552413a207472616e736665722066726f6d207a65726f206164647265604482015261737360f01b60648201526084016105f2565b6001600160a01b038316610d445760405162461bcd60e51b815260206004820181905260248201527f4d49415552413a207472616e7366657220746f207a65726f206164647265737360448201526064016105f2565b6001600160a01b038416600090815260026020526040902054821115610dac5760405162461bcd60e51b815260206004820152601c60248201527f4d49415552413a20496e73756666696369656e742062616c616e63650000000060448201526064016105f2565b6001600160a01b03841660009081526007602052604090205460ff16158015610dee57506001600160a01b03831660009081526007602052604090205460ff16155b610e3a5760405162461bcd60e51b815260206004820152601e60248201527f4d49415552413a204164647265737320697320626c61636b6c6973746564000060448201526064016105f2565b600a54158015610e6257506001600160a01b03831660009081526006602052604090205460ff165b15610ed8576001600160a01b03841660009081526005602052604090205460ff16610ecf5760405162461bcd60e51b815260206004820181905260248201527f4d49415552413a204c6971756964697479206e6f74206164646564207965742e60448201526064016105f2565b610ed843600a55565b600b5460ff16610f6d576001600160a01b03841660009081526005602052604090205460ff1680610f2157506001600160a01b03831660009081526005602052604090205460ff165b610f6d5760405162461bcd60e51b815260206004820152601d60248201527f4d49415552413a2054726164696e67206e6f74206f70656e207965742e00000060448201526064016105f2565b600b54600160b01b900460ff1615610f9157610f8a84848461109d565b905061077c565b6001600160a01b038416600090815260026020526040902054610fb5908390611767565b6001600160a01b038516600090815260026020908152604080832093909355600490529081205460ff1615610fea5782610ff4565b610ff48484611157565b9050610fff846111f9565b156110125782156110125761101261125f565b6001600160a01b03841660009081526002602052604090205461103690829061179c565b6001600160a01b0380861660008181526002602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061108a9085815260200190565b60405180910390a3506001949350505050565b6001600160a01b0383166000908152600260205260408120546110c1908390611767565b6001600160a01b0380861660009081526002602052604080822093909355908516815220546110f190839061179c565b6001600160a01b0380851660008181526002602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111459086815260200190565b60405180910390a35060019392505050565b6001600160a01b038216600090815260066020526040812054819060ff168061118f57503360009081526006602052604090205460ff165b90508061119f57829150506105c2565b6000600954600854856111b29190611719565b6111bc919061177a565b306000908152600260205260408120805492935083929091906111e090849061179c565b909155506111f090508185611767565b95945050505050565b3360009081526006602052604081205460ff161580156112235750600b54600160b01b900460ff16155b801561124757506001600160a01b03821660009081526006602052604090205460ff165b80156105c2575050600b54610100900460ff16919050565b600b805460ff60b01b1916600160b01b17905530600090815260026020526040812054908190036112905750611409565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106112c5576112c56117af565b6001600160a01b03928316602091820292909201810191909152600154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561131e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061134291906117c5565b81600181518110611355576113556117af565b6001600160a01b03928316602091820292909201015260015460405163791ac94760e01b815291169063791ac9479061139b9085906000908690309042906004016117e2565b600060405180830381600087803b1580156113b557600080fd5b505af11580156113c9573d6000803e3d6000fd5b505050507f6730af06a7a0b552d900fed41c1d468b459eaa290e6eefe61a94a339eabbec1c826040516113fe91815260200190565b60405180910390a150505b600b805460ff60b01b19169055565b600060208083528351808285015260005b8181101561144557858101830151858201604001528201611429565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461147b57600080fd5b50565b6000806040838503121561149157600080fd5b823561149c81611466565b946020939093013593505050565b6000602082840312156114bc57600080fd5b813561077c81611466565b803580151581146114d757600080fd5b919050565b600080604083850312156114ef57600080fd5b82356114fa81611466565b9150611508602084016114c7565b90509250929050565b60006020828403121561152357600080fd5b61077c826114c7565b60008060006060848603121561154157600080fd5b833561154c81611466565b9250602084013561155c81611466565b929592945050506040919091013590565b6000806040838503121561158057600080fd5b61149c836114c7565b60006020828403121561159b57600080fd5b5035919050565b600080604083850312156115b557600080fd5b82356115c081611466565b915060208301356115d081611466565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561166157816000190482111561164757611647611610565b8085161561165457918102915b93841c939080029061162b565b509250929050565b600082611678575060016105c2565b81611685575060006105c2565b816001811461169b57600281146116a5576116c1565b60019150506105c2565b60ff8411156116b6576116b6611610565b50506001821b6105c2565b5060208310610133831016604e8410600b84101617156116e4575081810a6105c2565b6116ee8383611626565b806000190482111561170257611702611610565b029392505050565b600061077c60ff841683611669565b80820281158282048414176105c2576105c2611610565b60208082526019908201527f4d49415552413a2043616c6c6572206973206e6f742064657600000000000000604082015260600190565b818103818111156105c2576105c2611610565b60008261179757634e487b7160e01b600052601260045260246000fd5b500490565b808201808211156105c2576105c2611610565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156117d757600080fd5b815161077c81611466565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156118325784516001600160a01b03168352938301939183019160010161180d565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220adad943b5948a783aadcc5e7f6df331b27b3c300b51043272a9cc6f78d8b3fdf64736f6c63430008130033

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.