ETH Price: $3,283.80 (-1.42%)

Contract

0xdcaFc7FC991f26F5Fa3a8CfEb26B9B37de38059b
 

Overview

ETH Balance

0.008609797941077341 ETH

Eth Value

$28.27 (@ $3,283.80/ETH)

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve210956522024-11-01 22:01:5951 days ago1730498519IN
0xdcaFc7FC...7de38059b
0 ETH0.0008209417.62408141
Approve210943792024-11-01 17:45:5951 days ago1730483159IN
0xdcaFc7FC...7de38059b
0 ETH0.0005030610.88098856
Approve210928642024-11-01 12:41:4752 days ago1730464907IN
0xdcaFc7FC...7de38059b
0 ETH0.0007039915.13277038
Approve210907392024-11-01 5:35:1152 days ago1730439311IN
0xdcaFc7FC...7de38059b
0 ETH0.000284186.14684082
Approve210881692024-10-31 20:59:4752 days ago1730408387IN
0xdcaFc7FC...7de38059b
0 ETH0.0004946910.63374842
Approve210881522024-10-31 20:56:2352 days ago1730408183IN
0xdcaFc7FC...7de38059b
0 ETH0.0003030711.38466894
Approve210881512024-10-31 20:56:1152 days ago1730408171IN
0xdcaFc7FC...7de38059b
0 ETH0.0005288411.36793597
Approve210879732024-10-31 20:19:5952 days ago1730405999IN
0xdcaFc7FC...7de38059b
0 ETH0.0005081810.92375002
Approve210879622024-10-31 20:17:4752 days ago1730405867IN
0xdcaFc7FC...7de38059b
0 ETH0.0005137111.04269042
Approve210879392024-10-31 20:13:1152 days ago1730405591IN
0xdcaFc7FC...7de38059b
0 ETH0.0005195911.16900218
Approve210879102024-10-31 20:07:2352 days ago1730405243IN
0xdcaFc7FC...7de38059b
0 ETH0.0006053312.99522562
Approve210878322024-10-31 19:51:4752 days ago1730404307IN
0xdcaFc7FC...7de38059b
0 ETH0.000549311.7925352
Approve210877462024-10-31 19:34:3552 days ago1730403275IN
0xdcaFc7FC...7de38059b
0 ETH0.0005683412.21700054
Approve210875282024-10-31 18:50:4752 days ago1730400647IN
0xdcaFc7FC...7de38059b
0 ETH0.000943220.24867652
Approve210875102024-10-31 18:47:1152 days ago1730400431IN
0xdcaFc7FC...7de38059b
0 ETH0.0013256428.49567313
Approve210873262024-10-31 18:10:2352 days ago1730398223IN
0xdcaFc7FC...7de38059b
0 ETH0.000748116.08111016
Approve210866412024-10-31 15:53:1153 days ago1730389991IN
0xdcaFc7FC...7de38059b
0 ETH0.0007945417.05718807
Approve210866252024-10-31 15:49:5953 days ago1730389799IN
0xdcaFc7FC...7de38059b
0 ETH0.0007682216.49227388
Approve210866112024-10-31 15:47:1153 days ago1730389631IN
0xdcaFc7FC...7de38059b
0 ETH0.0005530711.87340294
Ignition210866012024-10-31 15:45:1153 days ago1730389511IN
0xdcaFc7FC...7de38059b
0 ETH0.0031071511.52479473
Approve210865202024-10-31 15:28:5953 days ago1730388539IN
0xdcaFc7FC...7de38059b
0 ETH0.0008847218.99316015
Approve210865152024-10-31 15:27:5953 days ago1730388479IN
0xdcaFc7FC...7de38059b
0 ETH0.0007915216.99249708
Approve210864892024-10-31 15:22:4753 days ago1730388167IN
0xdcaFc7FC...7de38059b
0 ETH0.0008364217.97943538
Heating210864752024-10-31 15:19:5953 days ago1730387999IN
0xdcaFc7FC...7de38059b
0 ETH0.0040649116.23970951
Approve210864752024-10-31 15:19:5953 days ago1730387999IN
0xdcaFc7FC...7de38059b
0 ETH0.0008315117.85092446
View all transactions

Latest 6 internal transactions

Advanced mode:
Parent Transaction Hash Block
From
To
210866012024-10-31 15:45:1153 days ago1730389511
0xdcaFc7FC...7de38059b
0.00860979 ETH
210866012024-10-31 15:45:1153 days ago1730389511
0xdcaFc7FC...7de38059b
0.01605339 ETH
210866012024-10-31 15:45:1153 days ago1730389511
0xdcaFc7FC...7de38059b
0.00745059 ETH
210864752024-10-31 15:19:5953 days ago1730387999
0xdcaFc7FC...7de38059b
0.00860279 ETH
210864752024-10-31 15:19:5953 days ago1730387999
0xdcaFc7FC...7de38059b
0.12551996 ETH
210864752024-10-31 15:19:5953 days ago1730387999
0xdcaFc7FC...7de38059b
0.12551996 ETH
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
SkiMaskPepe

Compiler Version
v0.8.24+commit.e11b9ed9

Optimization Enabled:
Yes with 200 runs

Other Settings:
paris EvmVersion
File 1 of 1 : SkiMaskPepe.sol
// SPDX-License-Identifier: MIT

pragma solidity ^0.8.23;

// SOCIALS
// Telegram Channel: https://t.me/SkiMask_Pepe
// X https://x.com/SkiMaskPepe_eth
//
//
// ███████╗██╗  ██╗██╗    ███╗   ███╗ █████╗ ███████╗██╗  ██╗    ██████╗ ███████╗██████╗ ███████╗
// ██╔════╝██║ ██╔╝██║    ████╗ ████║██╔══██╗██╔════╝██║ ██╔╝    ██╔══██╗██╔════╝██╔══██╗██╔════╝
// ███████╗█████╔╝ ██║    ██╔████╔██║███████║███████╗█████╔╝     ██████╔╝█████╗  ██████╔╝█████╗
// ╚════██║██╔═██╗ ██║    ██║╚██╔╝██║██╔══██║╚════██║██╔═██╗     ██╔═══╝ ██╔══╝  ██╔═══╝ ██╔══╝
// ███████║██║  ██╗██║    ██║ ╚═╝ ██║██║  ██║███████║██║  ██╗    ██║     ███████╗██║     ███████╗
// ╚══════╝╚═╝  ╚═╝╚═╝    ╚═╝     ╚═╝╚═╝  ╚═╝╚══════╝╚═╝  ╚═╝    ╚═╝     ╚══════╝╚═╝     ╚══════╝
//
//
//


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

interface IERC20 {
  function totalSupply() external view returns (uint256);

  function balanceOf(address account) external view returns (uint256);

  function transfer(address recipient, uint256 amount) external returns (bool);

  function allowance(address owner, address spender) external view returns (uint256);

  function approve(address spender, uint256 amount) external returns (bool);

  function transferFrom(
    address sender,
    address recipient,
    uint256 amount
  ) external returns (bool);

  event Transfer(address indexed from, address indexed to, uint256 value);

  event Approval(
    address indexed owner,
    address indexed spender,
    uint256 value
  );
}

contract Ownable is Context {
  address private _owner;
  address private _previousOwner;
  event OwnershipTransferred(
    address indexed previousOwner,
    address indexed newOwner
  );

  constructor() {
    address msgSender = _msgSender();
    _owner = msgSender;
    emit OwnershipTransferred(address(0), msgSender);
  }

  function owner() public view returns (address) {
    return _owner;
  }

  modifier onlyOwner() {
    require(_owner == _msgSender(), "Ownable: caller is not the owner");
    _;
  }

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

}

library SafeMath {
  function add(uint256 a, uint256 b) internal pure returns (uint256) {
    uint256 c = a + b;
    require(c >= a, "SafeMath: addition overflow");
    return c;
  }

  function sub(uint256 a, uint256 b) internal pure returns (uint256) {
    return sub(a, b, "SafeMath: subtraction overflow");
  }

  function sub(
    uint256 a,
    uint256 b,
    string memory errorMessage
  ) internal pure returns (uint256) {
    require(b <= a, errorMessage);
    uint256 c = a - b;
    return c;
  }

  function mul(uint256 a, uint256 b) internal pure returns (uint256) {
    if (a == 0) {
      return 0;
    }
    uint256 c = a * b;
    require(c / a == b, "SafeMath: multiplication overflow");
    return c;
  }

  function div(uint256 a, uint256 b) internal pure returns (uint256) {
    return div(a, b, "SafeMath: division by zero");
  }

  function div(
    uint256 a,
    uint256 b,
    string memory errorMessage
  ) internal pure returns (uint256) {
    require(b > 0, errorMessage);
    uint256 c = a / b;
    return c;
  }
}

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

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

  function factory() external pure returns (address);

  function WETH() external pure returns (address);

  function addLiquidityETH(address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin,
    address to, uint256 deadline) external payable returns (
      uint256 amountToken,
      uint256 amountETH,
      uint256 liquidity
    );
}

contract SkiMaskPepe is Context, IERC20, Ownable {

  using SafeMath for uint256;

  // Token details
  string private constant _name = "Ski Mask Pepe";
  string private constant _symbol = "SPEPE";
  uint8 private constant _decimals = 18;
  uint256 private constant _tTotal = 1000000000 * 10**9 * 10**9; // 1 000 000 000

  mapping (address => uint256) private _balances;
  mapping(address => mapping(address => uint256)) private _allowances;
  mapping(address => bool) private _isExcludedFromFee;


  // Fees
  uint256 private _feeAutoLP = 15; // Initial percentage
  uint256 private _feeExtraAutoLP = 35; // Initial percentage
  uint256 private _feeMarketing = 10; // Initial percentage
  uint256 private _currentLiquidityFee = _feeAutoLP + _feeExtraAutoLP; // Initial percentage
  uint256 private _currentMarketingFee = _feeMarketing; // Initial percentage

  uint256 private _previousFeeAutoLP;
  uint256 private _previousFeeMarketing;

  // Restrictions
  uint256 public _maxTxAmount = _tTotal.mul(2).div(100); // Initial 2% max tx
  uint256 public _swapTokensAtAmount = 5000000 * 10**9 * 10**9;

  // Addresses
  address payable private _marketingWallet = payable(0x288401d6219F46E4eFD2E610330f2eb79bDb6686);

  // Uniswap V2
  IUniswapV2Router02 public immutable _uniswapV2Router;
  address public uniswapV2Pair;

  // Operative
  bool private inSwap = false;
  bool private swapEnabled = true;
  bool private _tradingEnabled = false;


  event MaxTxAmountUpdated(uint256 _maxTxAmount);

  modifier lockTheSwap {
    inSwap = true;
    _;
    inSwap = false;
  }

  constructor() {

//    _uniswapV2Router = IUniswapV2Router02(0x4752ba5DBc23f44D87826276BF6Fd6b1C372aD24);  // Base Mainnet
    _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);  // ETH Mainnet
    uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());

    _approve(address(this), address(_uniswapV2Router), _tTotal);
    IERC20(uniswapV2Pair).approve(address(_uniswapV2Router), type(uint).max);

    _balances[_msgSender()] = _tTotal;
    _isExcludedFromFee[owner()] = true;
    _isExcludedFromFee[address(this)] = true;

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

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

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

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

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

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

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

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

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

  function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
    _transfer(sender, recipient, amount);
    _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
    return true;
  }

  function removeAllFee() private {
    if (_currentLiquidityFee == 0 && _currentMarketingFee == 0) return;

    _previousFeeAutoLP = _currentLiquidityFee;
    _previousFeeMarketing = _currentMarketingFee;

    _currentLiquidityFee = 0;
    _currentMarketingFee = 0;
  }

  function restoreAllFee() private {
    _currentLiquidityFee = _previousFeeAutoLP;
    _currentMarketingFee = _previousFeeMarketing;
  }

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

  function _transfer(address from, address to, uint256 amount) private {
    require(from != address(0), "ERC20: transfer from the zero address");
    require(to != address(0), "ERC20: transfer to the zero address");
    require(amount > 0, "Transfer amount must be greater than zero");

    if (from != owner() && to != owner()) {
      require(amount <= _maxTxAmount, "TOKEN: Max Transaction Limit");
      require(_tradingEnabled, "TRADING: Not enabled yet");

      uint256 contractTokenBalance = balanceOf(address(this));

      if (swapEnabled && !inSwap && contractTokenBalance >= _swapTokensAtAmount && from != uniswapV2Pair && !_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {

        uint256 half = _swapTokensAtAmount.div(2);
        uint256 otherHalf = _swapTokensAtAmount.sub(half);

        // swap tokens for ETH
        swapTokensForEth(half);

        // add liquidity to Uniswap
        addLiquidity(otherHalf, address(this).balance);
      }

    }

    bool takeFee = true;

    //Transfer Tokens
    if ((_isExcludedFromFee[from] || _isExcludedFromFee[to])) {
      takeFee = false;
    } else {

      //Set Fee for Buys and Sells
      if (from == uniswapV2Pair || to == uniswapV2Pair) {
        _currentLiquidityFee = _feeAutoLP + _feeExtraAutoLP;
        _currentMarketingFee = _feeMarketing;
        if (_feeExtraAutoLP > 0) _feeExtraAutoLP = _feeExtraAutoLP - 1;
      } else {
        //Remove Fee for Transfers
        takeFee = false;
      }
    }

    _tokenTransfer(from, to, amount, takeFee);
  }

  function _tokenTransfer(address sender, address recipient, uint256 amount, bool takeFee) private {
    if (!takeFee) removeAllFee(); // In case is excluded from the Fee
    _transferStandard(sender, recipient, amount);
    if (!takeFee) restoreAllFee(); // Restore the Fee
  }

  function _transferStandard(address sender, address recipient, uint256 amount) private {

    uint256 taxedForLiquidity = amount.mul(_currentLiquidityFee).div(100);
    uint256 taxedForMarketing = amount.mul(_currentMarketingFee).div(100);

    if(taxedForLiquidity > 0) {
      _balances[address(this)] = _balances[address(this)].add(taxedForLiquidity);
      emit Transfer(sender, address(this), taxedForLiquidity);
    }

    if(taxedForMarketing > 0) {
      _balances[_marketingWallet] = _balances[_marketingWallet].add(taxedForMarketing);
      emit Transfer(sender, _marketingWallet, taxedForMarketing);
    }

    uint256 amountAfterTaxes = amount.sub(taxedForLiquidity).sub(taxedForMarketing);

    _balances[sender] = _balances[sender].sub(amount);
    _balances[recipient] = _balances[recipient].add(amountAfterTaxes);
    emit Transfer(sender, recipient, amountAfterTaxes);
  }


  function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
    // generate the uniswap pair path of token -> weth
    address[] memory path = new address[](2);
    path[0] = address(this);
    path[1] = _uniswapV2Router.WETH();
    _approve(address(this), address(_uniswapV2Router), tokenAmount);
    _uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
      tokenAmount,
      0,
      path,
      address(this),
      block.timestamp
    );
  }


  function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private {

    // approve token transfer to cover all possible scenarios
    _approve(address(this), address(_uniswapV2Router), tokenAmount);

    // add the liquidity
    _uniswapV2Router.addLiquidityETH{value: ethAmount}(
      address(this),
      tokenAmount,
      0, // slippage is unavoidable
      0, // slippage is unavoidable
      owner(),
      block.timestamp
    );
  }

  function boarding() public onlyOwner {
    // Phase two of launch
    _tradingEnabled = true;
  }


  function heating(bool liquify) public onlyOwner {
    // Phase two of launch

    _feeAutoLP = 5;
    _feeMarketing = 5;
    _feeExtraAutoLP = 0;

    if (liquify) {
      uint256 contractTokenBalance = balanceOf(address(this));
      if (contractTokenBalance > 1) {
        uint256 half = contractTokenBalance.div(2);
        uint256 otherHalf = contractTokenBalance.sub(half);

        // swap tokens for ETH
        swapTokensForEth(half);

        // add liquidity to Uniswap
        addLiquidity(otherHalf, address(this).balance);
      }
    }

    _maxTxAmount = _tTotal;
    emit MaxTxAmountUpdated(_maxTxAmount);
  }


  function ignition(bool liquify) public onlyOwner {
    // Phase three (and final) of launch

    _feeAutoLP = 0;
    _feeMarketing = 3;

    // We add any spare tokens to the LP before renouncing ownership
    if (liquify) {
      uint256 contractTokenBalance = balanceOf(address(this));
      if (contractTokenBalance > 1) {
        uint256 half = contractTokenBalance.div(2);
        uint256 otherHalf = contractTokenBalance.sub(half);

        // swap tokens for ETH
        swapTokensForEth(half);

        // add liquidity to Uniswap
        addLiquidity(otherHalf, address(this).balance);
      }
    }
    swapEnabled = false;
    renounceOwnership();
  }

  receive() external payable {}



// .------..------..------.
// |A.--. ||S.--. ||P.--. |
// | (\/) || :/\: || :/\: |
// | :\/: || :\/: || (__) |
// | '--'A|| '--'S|| '--'P|
// `------'`------'`------'

}

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

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"boarding","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bool","name":"liquify","type":"bool"}],"name":"heating","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"liquify","type":"bool"}],"name":"ignition","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","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"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60a0604052600f600581905560236006819055600a6007556200002291620005f5565b6008556007546009556200005160646200004a6b033b2e3c9fd0803ce800000060026200039a565b9062000431565b600c556a0422ca8b0a00a425000000600d55600e80546001600160a01b03191673288401d6219f46e4efd2e610330f2eb79bdb6686179055600f805462ffffff60a01b1916600160a81b179055348015620000ab57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350737a250d5630b4cf539739df2c5dacb4c659f2488d60808190526040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa15801562000143573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200016991906200060b565b6001600160a01b031663c9c65396306080516001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001b9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001df91906200060b565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156200022d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200025391906200060b565b600f80546001600160a01b0319166001600160a01b0392909216919091179055608051620002909030906b033b2e3c9fd0803ce80000006200047b565b600f5460805160405163095ea7b360e01b81526001600160a01b039182166004820152600019602482015291169063095ea7b3906044016020604051808303816000875af1158015620002e7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200030d919062000636565b503360008181526002602090815260408083206b033b2e3c9fd0803ce80000009081905583546001600160a01b03168452600483528184208054600160ff1991821681179092553086528386208054909116909117905590519081527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3620006e8565b600082600003620003ae575060006200042b565b6000620003bc83856200065a565b905082620003cb858362000674565b14620004285760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084015b60405180910390fd5b90505b92915050565b60006200042883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250620005a360201b60201c565b6001600160a01b038316620004df5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016200041f565b6001600160a01b038216620005425760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016200041f565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60008183620005c75760405162461bcd60e51b81526004016200041f919062000697565b506000620005d6848662000674565b95945050505050565b634e487b7160e01b600052601160045260246000fd5b808201808211156200042b576200042b620005df565b6000602082840312156200061e57600080fd5b81516001600160a01b03811681146200042857600080fd5b6000602082840312156200064957600080fd5b815180151581146200042857600080fd5b80820281158282048414176200042b576200042b620005df565b6000826200069257634e487b7160e01b600052601260045260246000fd5b500490565b60006020808352835180602085015260005b81811015620006c757858101830151858201604001528201620006a9565b506000604082860101526040601f19601f8301168501019250505092915050565b6080516116e66200072760003960008181610298015281816109cc01528181610a8501528181610ac101528181610b480152610b6f01526116e66000f3fe6080604052600436106101185760003560e01c8063583e0568116100a05780638da5cb5b116100645780638da5cb5b1461033b57806395d89b4114610359578063a9059cbb14610387578063dd62ed3e146103a7578063f2fde38b146103ed57600080fd5b8063583e05681461028657806370a08231146102ba578063715018a6146102f0578063773719c3146103055780637d1db4a51461032557600080fd5b8063193ddeaa116100e7578063193ddeaa146101dc57806323b872dd146101fc5780632fd689e31461021c578063313ce5671461023257806349bd5a5e1461024e57600080fd5b806306fdde0314610124578063095ea7b31461016c5780630e0d5a911461019c57806318160ddd146101b357600080fd5b3661011f57005b600080fd5b34801561013057600080fd5b5060408051808201909152600d81526c536b69204d61736b205065706560981b60208201525b60405161016391906113c1565b60405180910390f35b34801561017857600080fd5b5061018c610187366004611425565b61040d565b6040519015158152602001610163565b3480156101a857600080fd5b506101b1610424565b005b3480156101bf57600080fd5b506b033b2e3c9fd0803ce80000005b604051908152602001610163565b3480156101e857600080fd5b506101b16101f7366004611451565b61046c565b34801561020857600080fd5b5061018c610217366004611473565b61053f565b34801561022857600080fd5b506101ce600d5481565b34801561023e57600080fd5b5060405160128152602001610163565b34801561025a57600080fd5b50600f5461026e906001600160a01b031681565b6040516001600160a01b039091168152602001610163565b34801561029257600080fd5b5061026e7f000000000000000000000000000000000000000000000000000000000000000081565b3480156102c657600080fd5b506101ce6102d53660046114b4565b6001600160a01b031660009081526002602052604090205490565b3480156102fc57600080fd5b506101b16105a8565b34801561031157600080fd5b506101b1610320366004611451565b61061c565b34801561033157600080fd5b506101ce600c5481565b34801561034757600080fd5b506000546001600160a01b031661026e565b34801561036557600080fd5b50604080518082019091526005815264535045504560d81b6020820152610156565b34801561039357600080fd5b5061018c6103a2366004611425565b6106bc565b3480156103b357600080fd5b506101ce6103c23660046114d1565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b3480156103f957600080fd5b506101b16104083660046114b4565b6106c9565b600061041a3384846107b3565b5060015b92915050565b6000546001600160a01b031633146104575760405162461bcd60e51b815260040161044e9061150a565b60405180910390fd5b600f805460ff60b01b1916600160b01b179055565b6000546001600160a01b031633146104965760405162461bcd60e51b815260040161044e9061150a565b6005808055600755600060065580156104f7573060009081526002602052604090205460018111156104f55760006104cf8260026108d7565b905060006104dd8383610920565b90506104e882610962565b6104f28147610b42565b50505b505b6b033b2e3c9fd0803ce8000000600c8190556040519081527f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf9060200160405180910390a150565b600061054c848484610c48565b61059e843361059985604051806060016040528060288152602001611689602891396001600160a01b038a1660009081526003602090815260408083203384529091529020549190611006565b6107b3565b5060019392505050565b6000546001600160a01b031633146105d25760405162461bcd60e51b815260040161044e9061150a565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146106465760405162461bcd60e51b815260040161044e9061150a565b6000600555600360075580156106a4573060009081526002602052604090205460018111156106a257600061067c8260026108d7565b9050600061068a8383610920565b905061069582610962565b61069f8147610b42565b50505b505b600f805460ff60a81b191690556106b96105a8565b50565b600061041a338484610c48565b6000546001600160a01b031633146106f35760405162461bcd60e51b815260040161044e9061150a565b6001600160a01b0381166107585760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161044e565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166108155760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161044e565b6001600160a01b0382166108765760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161044e565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600061091983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611040565b9392505050565b600061091983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611006565b600f805460ff60a01b1916600160a01b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106109aa576109aa61153f565b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a28573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a4c9190611555565b81600181518110610a5f57610a5f61153f565b60200260200101906001600160a01b031690816001600160a01b031681525050610aaa307f0000000000000000000000000000000000000000000000000000000000000000846107b3565b60405163791ac94760e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063791ac94790610aff908590600090869030904290600401611572565b600060405180830381600087803b158015610b1957600080fd5b505af1158015610b2d573d6000803e3d6000fd5b5050600f805460ff60a01b1916905550505050565b610b6d307f0000000000000000000000000000000000000000000000000000000000000000846107b3565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f305d719823085600080610bb46000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610c1c573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610c4191906115e5565b5050505050565b6001600160a01b038316610cac5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161044e565b6001600160a01b038216610d0e5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161044e565b60008111610d705760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161044e565b6000546001600160a01b03848116911614801590610d9c57506000546001600160a01b03838116911614155b15610f3a57600c54811115610df35760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000604482015260640161044e565b600f54600160b01b900460ff16610e4c5760405162461bcd60e51b815260206004820152601860248201527f54524144494e473a204e6f7420656e61626c6564207965740000000000000000604482015260640161044e565b30600090815260026020526040902054600f54600160a81b900460ff168015610e7f5750600f54600160a01b900460ff16155b8015610e8d5750600d548110155b8015610ea75750600f546001600160a01b03858116911614155b8015610ecc57506001600160a01b03841660009081526004602052604090205460ff16155b8015610ef157506001600160a01b03831660009081526004602052604090205460ff16155b15610f3857600d54600090610f079060026108d7565b90506000610f2082600d5461092090919063ffffffff16565b9050610f2b82610962565b610f358147610b42565b50505b505b6001600160a01b03831660009081526004602052604090205460019060ff1680610f7c57506001600160a01b03831660009081526004602052604090205460ff165b15610f8957506000610ff4565b600f546001600160a01b0385811691161480610fb25750600f546001600160a01b038481169116145b15610ff057600654600554610fc79190611629565b60085560075460095560065415610feb576001600654610fe7919061163c565b6006555b610ff4565b5060005b6110008484848461106e565b50505050565b6000818484111561102a5760405162461bcd60e51b815260040161044e91906113c1565b506000611037848661163c565b95945050505050565b600081836110615760405162461bcd60e51b815260040161044e91906113c1565b506000611037848661164f565b8061107b5761107b61109c565b6110868484846110ca565b8061100057611000600a54600855600b54600955565b6008541580156110ac5750600954155b156110b357565b60088054600a5560098054600b5560009182905555565b60006110ec60646110e6600854856112e090919063ffffffff16565b906108d7565b9050600061110a60646110e6600954866112e090919063ffffffff16565b90508115611186573060009081526002602052604090205461112c9083611362565b30600081815260026020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061117d9086815260200190565b60405180910390a35b801561121157600e546001600160a01b03166000908152600260205260409020546111b19082611362565b600e80546001600160a01b03908116600090815260026020908152604091829020949094559154915184815291811692908816917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35b6000611227826112218686610920565b90610920565b6001600160a01b03871660009081526002602052604090205490915061124d9085610920565b6001600160a01b03808816600090815260026020526040808220939093559087168152205461127c9082611362565b6001600160a01b0380871660008181526002602052604090819020939093559151908816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112d09085815260200190565b60405180910390a3505050505050565b6000826000036112f25750600061041e565b60006112fe8385611671565b90508261130b858361164f565b146109195760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161044e565b60008061136f8385611629565b9050838110156109195760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161044e565b60006020808352835180602085015260005b818110156113ef578581018301518582016040015282016113d3565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146106b957600080fd5b6000806040838503121561143857600080fd5b823561144381611410565b946020939093013593505050565b60006020828403121561146357600080fd5b8135801515811461091957600080fd5b60008060006060848603121561148857600080fd5b833561149381611410565b925060208401356114a381611410565b929592945050506040919091013590565b6000602082840312156114c657600080fd5b813561091981611410565b600080604083850312156114e457600080fd5b82356114ef81611410565b915060208301356114ff81611410565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561156757600080fd5b815161091981611410565b600060a08201878352602087602085015260a0604085015281875180845260c08601915060208901935060005b818110156115c45784516001600160a01b03168352938301939183019160010161159f565b50506001600160a01b03969096166060850152505050608001529392505050565b6000806000606084860312156115fa57600080fd5b8351925060208401519150604084015190509250925092565b634e487b7160e01b600052601160045260246000fd5b8082018082111561041e5761041e611613565b8181038181111561041e5761041e611613565b60008261166c57634e487b7160e01b600052601260045260246000fd5b500490565b808202811582820484141761041e5761041e61161356fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212209802990d6c8f77b282e2fa8b3c84edcdfc127cc7aed1303f4af0729bb94e1c5f64736f6c63430008180033

Deployed Bytecode

0x6080604052600436106101185760003560e01c8063583e0568116100a05780638da5cb5b116100645780638da5cb5b1461033b57806395d89b4114610359578063a9059cbb14610387578063dd62ed3e146103a7578063f2fde38b146103ed57600080fd5b8063583e05681461028657806370a08231146102ba578063715018a6146102f0578063773719c3146103055780637d1db4a51461032557600080fd5b8063193ddeaa116100e7578063193ddeaa146101dc57806323b872dd146101fc5780632fd689e31461021c578063313ce5671461023257806349bd5a5e1461024e57600080fd5b806306fdde0314610124578063095ea7b31461016c5780630e0d5a911461019c57806318160ddd146101b357600080fd5b3661011f57005b600080fd5b34801561013057600080fd5b5060408051808201909152600d81526c536b69204d61736b205065706560981b60208201525b60405161016391906113c1565b60405180910390f35b34801561017857600080fd5b5061018c610187366004611425565b61040d565b6040519015158152602001610163565b3480156101a857600080fd5b506101b1610424565b005b3480156101bf57600080fd5b506b033b2e3c9fd0803ce80000005b604051908152602001610163565b3480156101e857600080fd5b506101b16101f7366004611451565b61046c565b34801561020857600080fd5b5061018c610217366004611473565b61053f565b34801561022857600080fd5b506101ce600d5481565b34801561023e57600080fd5b5060405160128152602001610163565b34801561025a57600080fd5b50600f5461026e906001600160a01b031681565b6040516001600160a01b039091168152602001610163565b34801561029257600080fd5b5061026e7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b3480156102c657600080fd5b506101ce6102d53660046114b4565b6001600160a01b031660009081526002602052604090205490565b3480156102fc57600080fd5b506101b16105a8565b34801561031157600080fd5b506101b1610320366004611451565b61061c565b34801561033157600080fd5b506101ce600c5481565b34801561034757600080fd5b506000546001600160a01b031661026e565b34801561036557600080fd5b50604080518082019091526005815264535045504560d81b6020820152610156565b34801561039357600080fd5b5061018c6103a2366004611425565b6106bc565b3480156103b357600080fd5b506101ce6103c23660046114d1565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b3480156103f957600080fd5b506101b16104083660046114b4565b6106c9565b600061041a3384846107b3565b5060015b92915050565b6000546001600160a01b031633146104575760405162461bcd60e51b815260040161044e9061150a565b60405180910390fd5b600f805460ff60b01b1916600160b01b179055565b6000546001600160a01b031633146104965760405162461bcd60e51b815260040161044e9061150a565b6005808055600755600060065580156104f7573060009081526002602052604090205460018111156104f55760006104cf8260026108d7565b905060006104dd8383610920565b90506104e882610962565b6104f28147610b42565b50505b505b6b033b2e3c9fd0803ce8000000600c8190556040519081527f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf9060200160405180910390a150565b600061054c848484610c48565b61059e843361059985604051806060016040528060288152602001611689602891396001600160a01b038a1660009081526003602090815260408083203384529091529020549190611006565b6107b3565b5060019392505050565b6000546001600160a01b031633146105d25760405162461bcd60e51b815260040161044e9061150a565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146106465760405162461bcd60e51b815260040161044e9061150a565b6000600555600360075580156106a4573060009081526002602052604090205460018111156106a257600061067c8260026108d7565b9050600061068a8383610920565b905061069582610962565b61069f8147610b42565b50505b505b600f805460ff60a81b191690556106b96105a8565b50565b600061041a338484610c48565b6000546001600160a01b031633146106f35760405162461bcd60e51b815260040161044e9061150a565b6001600160a01b0381166107585760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161044e565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166108155760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161044e565b6001600160a01b0382166108765760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161044e565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600061091983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611040565b9392505050565b600061091983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611006565b600f805460ff60a01b1916600160a01b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106109aa576109aa61153f565b60200260200101906001600160a01b031690816001600160a01b0316815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a28573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a4c9190611555565b81600181518110610a5f57610a5f61153f565b60200260200101906001600160a01b031690816001600160a01b031681525050610aaa307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d846107b3565b60405163791ac94760e01b81526001600160a01b037f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d169063791ac94790610aff908590600090869030904290600401611572565b600060405180830381600087803b158015610b1957600080fd5b505af1158015610b2d573d6000803e3d6000fd5b5050600f805460ff60a01b1916905550505050565b610b6d307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d846107b3565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663f305d719823085600080610bb46000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610c1c573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610c4191906115e5565b5050505050565b6001600160a01b038316610cac5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161044e565b6001600160a01b038216610d0e5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161044e565b60008111610d705760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161044e565b6000546001600160a01b03848116911614801590610d9c57506000546001600160a01b03838116911614155b15610f3a57600c54811115610df35760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000604482015260640161044e565b600f54600160b01b900460ff16610e4c5760405162461bcd60e51b815260206004820152601860248201527f54524144494e473a204e6f7420656e61626c6564207965740000000000000000604482015260640161044e565b30600090815260026020526040902054600f54600160a81b900460ff168015610e7f5750600f54600160a01b900460ff16155b8015610e8d5750600d548110155b8015610ea75750600f546001600160a01b03858116911614155b8015610ecc57506001600160a01b03841660009081526004602052604090205460ff16155b8015610ef157506001600160a01b03831660009081526004602052604090205460ff16155b15610f3857600d54600090610f079060026108d7565b90506000610f2082600d5461092090919063ffffffff16565b9050610f2b82610962565b610f358147610b42565b50505b505b6001600160a01b03831660009081526004602052604090205460019060ff1680610f7c57506001600160a01b03831660009081526004602052604090205460ff165b15610f8957506000610ff4565b600f546001600160a01b0385811691161480610fb25750600f546001600160a01b038481169116145b15610ff057600654600554610fc79190611629565b60085560075460095560065415610feb576001600654610fe7919061163c565b6006555b610ff4565b5060005b6110008484848461106e565b50505050565b6000818484111561102a5760405162461bcd60e51b815260040161044e91906113c1565b506000611037848661163c565b95945050505050565b600081836110615760405162461bcd60e51b815260040161044e91906113c1565b506000611037848661164f565b8061107b5761107b61109c565b6110868484846110ca565b8061100057611000600a54600855600b54600955565b6008541580156110ac5750600954155b156110b357565b60088054600a5560098054600b5560009182905555565b60006110ec60646110e6600854856112e090919063ffffffff16565b906108d7565b9050600061110a60646110e6600954866112e090919063ffffffff16565b90508115611186573060009081526002602052604090205461112c9083611362565b30600081815260026020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061117d9086815260200190565b60405180910390a35b801561121157600e546001600160a01b03166000908152600260205260409020546111b19082611362565b600e80546001600160a01b03908116600090815260026020908152604091829020949094559154915184815291811692908816917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35b6000611227826112218686610920565b90610920565b6001600160a01b03871660009081526002602052604090205490915061124d9085610920565b6001600160a01b03808816600090815260026020526040808220939093559087168152205461127c9082611362565b6001600160a01b0380871660008181526002602052604090819020939093559151908816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112d09085815260200190565b60405180910390a3505050505050565b6000826000036112f25750600061041e565b60006112fe8385611671565b90508261130b858361164f565b146109195760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161044e565b60008061136f8385611629565b9050838110156109195760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161044e565b60006020808352835180602085015260005b818110156113ef578581018301518582016040015282016113d3565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146106b957600080fd5b6000806040838503121561143857600080fd5b823561144381611410565b946020939093013593505050565b60006020828403121561146357600080fd5b8135801515811461091957600080fd5b60008060006060848603121561148857600080fd5b833561149381611410565b925060208401356114a381611410565b929592945050506040919091013590565b6000602082840312156114c657600080fd5b813561091981611410565b600080604083850312156114e457600080fd5b82356114ef81611410565b915060208301356114ff81611410565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561156757600080fd5b815161091981611410565b600060a08201878352602087602085015260a0604085015281875180845260c08601915060208901935060005b818110156115c45784516001600160a01b03168352938301939183019160010161159f565b50506001600160a01b03969096166060850152505050608001529392505050565b6000806000606084860312156115fa57600080fd5b8351925060208401519150604084015190509250925092565b634e487b7160e01b600052601160045260246000fd5b8082018082111561041e5761041e611613565b8181038181111561041e5761041e611613565b60008261166c57634e487b7160e01b600052601260045260246000fd5b500490565b808202811582820484141761041e5761041e61161356fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212209802990d6c8f77b282e2fa8b3c84edcdfc127cc7aed1303f4af0729bb94e1c5f64736f6c63430008180033

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.