ETH Price: $3,464.04 (+0.17%)
Gas: 13 Gwei

Contract

0x33B4Ac40b2c98fa7005cb58Da73A4EbFb8fc0eb7
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve191333372024-02-01 11:38:23168 days ago1706787503IN
0x33B4Ac40...Fb8fc0eb7
0 ETH0.000761416.36821959
Approve184618072023-10-30 8:33:11262 days ago1698654791IN
0x33B4Ac40...Fb8fc0eb7
0 ETH0.0004925110.58792363
Approve184617982023-10-30 8:31:23262 days ago1698654683IN
0x33B4Ac40...Fb8fc0eb7
0 ETH0.0005388511.58405935
Approve184057592023-10-22 12:12:11270 days ago1697976731IN
0x33B4Ac40...Fb8fc0eb7
0 ETH0.0001536.31374127
Approve181991002023-09-23 14:25:23298 days ago1695479123IN
0x33B4Ac40...Fb8fc0eb7
0 ETH0.000357817.69220535
Approve181959962023-09-23 4:00:11299 days ago1695441611IN
0x33B4Ac40...Fb8fc0eb7
0 ETH0.000361727.82671846
Approve181695642023-09-19 11:09:11303 days ago1695121751IN
0x33B4Ac40...Fb8fc0eb7
0 ETH0.0004965110.67391106
Approve181432682023-09-15 18:04:35306 days ago1694801075IN
0x33B4Ac40...Fb8fc0eb7
0 ETH0.0015091532.44300306
Approve181397022023-09-15 5:59:23307 days ago1694757563IN
0x33B4Ac40...Fb8fc0eb7
0 ETH0.00039968.64847211
Approve181268922023-09-13 10:48:23309 days ago1694602103IN
0x33B4Ac40...Fb8fc0eb7
0 ETH0.0010310522.13661346
Approve181202942023-09-12 12:36:59310 days ago1694522219IN
0x33B4Ac40...Fb8fc0eb7
0 ETH0.0006060713.11714467
Approve181202552023-09-12 12:29:11310 days ago1694521751IN
0x33B4Ac40...Fb8fc0eb7
0 ETH0.0006452813.96566759
Approve181169452023-09-12 1:20:47310 days ago1694481647IN
0x33B4Ac40...Fb8fc0eb7
0 ETH0.000450789.69065699
Approve181152822023-09-11 19:45:23310 days ago1694461523IN
0x33B4Ac40...Fb8fc0eb7
0 ETH0.0013235428.45287469
Approve180999072023-09-09 16:04:59312 days ago1694275499IN
0x33B4Ac40...Fb8fc0eb7
0 ETH0.0005538611.89142178
Approve180996312023-09-09 15:09:23312 days ago1694272163IN
0x33B4Ac40...Fb8fc0eb7
0 ETH0.0008542218.36370936
Approve180996242023-09-09 15:07:59312 days ago1694272079IN
0x33B4Ac40...Fb8fc0eb7
0 ETH0.0008311517.96518284
Approve180996202023-09-09 15:07:11312 days ago1694272031IN
0x33B4Ac40...Fb8fc0eb7
0 ETH0.0012491527
Approve180996062023-09-09 15:04:23312 days ago1694271863IN
0x33B4Ac40...Fb8fc0eb7
0 ETH0.0008012217.34074921
Approve180995852023-09-09 15:00:11312 days ago1694271611IN
0x33B4Ac40...Fb8fc0eb7
0 ETH0.0007645616.41512042
Approve180995792023-09-09 14:58:59312 days ago1694271539IN
0x33B4Ac40...Fb8fc0eb7
0 ETH0.0007624116.36892312
Approve180933732023-09-08 18:06:11313 days ago1694196371IN
0x33B4Ac40...Fb8fc0eb7
0 ETH0.0017923438.79125454
Approve180920772023-09-08 13:45:11314 days ago1694180711IN
0x33B4Ac40...Fb8fc0eb7
0 ETH0.0006123113.23497471
Approve180920532023-09-08 13:40:23314 days ago1694180423IN
0x33B4Ac40...Fb8fc0eb7
0 ETH0.0006943114.92613216
Approve180919492023-09-08 13:18:59314 days ago1694179139IN
0x33B4Ac40...Fb8fc0eb7
0 ETH0.0005108811.05701928
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
184618102023-10-30 8:33:47262 days ago1698654827
0x33B4Ac40...Fb8fc0eb7
0.00939454 ETH
184618102023-10-30 8:33:47262 days ago1698654827
0x33B4Ac40...Fb8fc0eb7
0.00939454 ETH
184618022023-10-30 8:32:11262 days ago1698654731
0x33B4Ac40...Fb8fc0eb7
0.01091582 ETH
184618022023-10-30 8:32:11262 days ago1698654731
0x33B4Ac40...Fb8fc0eb7
0.01091582 ETH
181695662023-09-19 11:09:35303 days ago1695121775
0x33B4Ac40...Fb8fc0eb7
0.00435993 ETH
181695662023-09-19 11:09:35303 days ago1695121775
0x33B4Ac40...Fb8fc0eb7
0.00435993 ETH
181166142023-09-12 0:14:11310 days ago1694477651
0x33B4Ac40...Fb8fc0eb7
0.00931588 ETH
181166142023-09-12 0:14:11310 days ago1694477651
0x33B4Ac40...Fb8fc0eb7
0.00931588 ETH
180997112023-09-09 15:25:35312 days ago1694273135
0x33B4Ac40...Fb8fc0eb7
0.02312902 ETH
180997112023-09-09 15:25:35312 days ago1694273135
0x33B4Ac40...Fb8fc0eb7
0.02312902 ETH
180915372023-09-08 11:56:11314 days ago1694174171
0x33B4Ac40...Fb8fc0eb7
0.01042702 ETH
180915372023-09-08 11:56:11314 days ago1694174171
0x33B4Ac40...Fb8fc0eb7
0.01042702 ETH
180884862023-09-08 1:40:47314 days ago1694137247
0x33B4Ac40...Fb8fc0eb7
0.01509215 ETH
180884862023-09-08 1:40:47314 days ago1694137247
0x33B4Ac40...Fb8fc0eb7
0.01509215 ETH
180884712023-09-08 1:37:47314 days ago1694137067
0x33B4Ac40...Fb8fc0eb7
0 ETH
180884712023-09-08 1:37:47314 days ago1694137067
0x33B4Ac40...Fb8fc0eb7
0 ETH
180865282023-09-07 19:06:47314 days ago1694113607
0x33B4Ac40...Fb8fc0eb7
0.02302827 ETH
180865282023-09-07 19:06:47314 days ago1694113607
0x33B4Ac40...Fb8fc0eb7
0.02302827 ETH
180858842023-09-07 16:57:11314 days ago1694105831
0x33B4Ac40...Fb8fc0eb7
0.03604065 ETH
180858842023-09-07 16:57:11314 days ago1694105831
0x33B4Ac40...Fb8fc0eb7
0.03604065 ETH
180855802023-09-07 15:56:11314 days ago1694102171
0x33B4Ac40...Fb8fc0eb7
0.02286594 ETH
180855802023-09-07 15:56:11314 days ago1694102171
0x33B4Ac40...Fb8fc0eb7
0.02286594 ETH
180847112023-09-07 13:01:11315 days ago1694091671
0x33B4Ac40...Fb8fc0eb7
0.02051509 ETH
180847112023-09-07 13:01:11315 days ago1694091671
0x33B4Ac40...Fb8fc0eb7
0.02051509 ETH
180828292023-09-07 6:40:59315 days ago1694068859
0x33B4Ac40...Fb8fc0eb7
0.00567377 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Redmelia

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
File 1 of 1 : 1_Storage.sol
// SPDX-License-Identifier: MIT
/**

Welcome to Redmelia
$RED


Website: https://www.red.business/
Telegram: https://t.me/RedTokenEth
Twitter: https://twitter.com/RedTokenEth

**/
pragma solidity 0.8.20;

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

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

}

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

}

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

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}

contract Redmelia is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private _buyerMap;
    mapping (address => bool) private bots;
    mapping(address => uint256) private _holderLastTransferTimestamp;
    bool public transferDelayEnabled = false;
    address payable private _taxWallet;

    uint256 private _initialBuyTax=3;
    uint256 private _initialSellTax=30;
    uint256 private _finalBuyTax=2;
    uint256 private _finalSellTax=2;
    uint256 private _reduceBuyTaxAt=5;
    uint256 private _reduceSellTaxAt=20;
    uint256 private _preventSwapBefore=10;
    uint256 private _buyCount=0;

    uint8 private constant _decimals = 2;
    string private constant _name = unicode"Redmelia";
    string private constant _symbol = unicode"RED";
    uint256 private constant _tTotal = 6942000000900000;
    uint256 public _maxTxAmount =       138840000018000;
    uint256 public _maxWalletSize =     208260000027000;
    uint256 public _taxSwapThreshold=    13884000001800;
    uint256 public _maxTaxSwap=          55536000007200;

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;

    event MaxTxAmountUpdated(uint _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor () {
        _taxWallet = payable(_msgSender());
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_taxWallet] = 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 _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");
        uint256 taxAmount=0;
        if (from != owner() && to != owner()) {
            require(!bots[from] && !bots[to]);

            if (transferDelayEnabled) {
                if (to != address(uniswapV2Router) && to != address(uniswapV2Pair)) {
                  require(_holderLastTransferTimestamp[tx.origin] < block.number,"Only one transfer per block allowed.");
                  _holderLastTransferTimestamp[tx.origin] = block.number;
                }
            }

            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) {
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
                if(_buyCount<_preventSwapBefore){
                  require(!isContract(to));
                }
                _buyCount++;
                _buyerMap[to]=true;
            }

            taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);
            if(to == uniswapV2Pair && from!= address(this) ){
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                taxAmount = amount.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100);
                require(_buyCount>_preventSwapBefore || _buyerMap[from],"Seller is not buyer");
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance>_taxSwapThreshold && _buyCount>_preventSwapBefore) {
                swapTokensForEth(min(amount,min(contractTokenBalance,_maxTaxSwap)));
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }

        if(taxAmount>0){
          _balances[address(this)]=_balances[address(this)].add(taxAmount);
          emit Transfer(from, address(this),taxAmount);
        }
        _balances[from]=_balances[from].sub(amount);
        _balances[to]=_balances[to].add(amount.sub(taxAmount));
        emit Transfer(from, to, amount.sub(taxAmount));
    }

    function min(uint256 a, uint256 b) private pure returns (uint256){
      return (a>b)?b:a;
    }

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        if(tokenAmount==0){return;}
        if(!tradingOpen){return;}
        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 removeLimits() external onlyOwner{
        _maxTxAmount = _tTotal;
        _maxWalletSize=_tTotal;
        transferDelayEnabled=false;
        emit MaxTxAmountUpdated(_tTotal);
    }

    function sendETHToFee(uint256 amount) private {
        _taxWallet.transfer(amount);
    }

    function isBot(address a) public view returns (bool){
      return bots[a];
    }

    function openTrading() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
        swapEnabled = true;
        tradingOpen = true;
    }

    receive() external payable {}

    function isContract(address account) private view returns (bool) {
        uint256 size;
        assembly {
            size := extcodesize(account)
        }
        return size > 0;
    }

    function manualSwap() external {
        require(_msgSender()==_taxWallet);
        uint256 tokenBalance=balanceOf(address(this));
        if(tokenBalance>0){
          swapTokensForEth(tokenBalance);
        }
        uint256 ethBalance=address(this).balance;
        if(ethBalance>0){
          sendETHToFee(ethBalance);
        }
    }
}

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

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":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"a","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","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":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526007805460ff191690556003600855601e6009556002600a818155600b919091556005600c556014600d55600e555f600f55657e4634e1b65060105565bd694f529178601155650ca09ee35f086012556532827b8d7c206013556015805461ffff60a81b19169055348015610077575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060078054610100600160a81b03191661010033908102919091179091555f90815260016020819052604082206618a9b654159ba09055906003906101035f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff19968716179055308152600390935281832080548516600190811790915560075461010090049091168352912080549092161790556101653390565b6001600160a01b03165f6001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6618a9b654159ba06040516101b091815260200190565b60405180910390a36117ff806101c55f395ff3fe60806040526004361061011e575f3560e01c8063751039fc1161009d578063a9059cbb11610062578063a9059cbb14610334578063bf474bed14610353578063c876d0b914610368578063c9567bf914610381578063dd62ed3e14610395575f80fd5b8063751039fc146102a55780637d1db4a5146102b95780638da5cb5b146102ce5780638f9a55c0146102f457806395d89b4114610309575f80fd5b8063313ce567116100e3578063313ce567146101f55780633bbac5791461021057806351bc3c851461024757806370a082311461025d578063715018a614610291575f80fd5b806306fdde0314610129578063095ea7b31461016b5780630faee56f1461019a57806318160ddd146101bd57806323b872dd146101d6575f80fd5b3661012557005b5f80fd5b348015610134575f80fd5b506040805180820190915260088152675265646d656c696160c01b60208201525b60405161016291906114e0565b60405180910390f35b348015610176575f80fd5b5061018a610185366004611542565b6103d9565b6040519015158152602001610162565b3480156101a5575f80fd5b506101af60135481565b604051908152602001610162565b3480156101c8575f80fd5b506618a9b654159ba06101af565b3480156101e1575f80fd5b5061018a6101f036600461156c565b6103ef565b348015610200575f80fd5b5060405160028152602001610162565b34801561021b575f80fd5b5061018a61022a3660046115aa565b6001600160a01b03165f9081526005602052604090205460ff1690565b348015610252575f80fd5b5061025b610456565b005b348015610268575f80fd5b506101af6102773660046115aa565b6001600160a01b03165f9081526001602052604090205490565b34801561029c575f80fd5b5061025b6104ac565b3480156102b0575f80fd5b5061025b610526565b3480156102c4575f80fd5b506101af60105481565b3480156102d9575f80fd5b505f546040516001600160a01b039091168152602001610162565b3480156102ff575f80fd5b506101af60115481565b348015610314575f80fd5b5060408051808201909152600381526214915160ea1b6020820152610155565b34801561033f575f80fd5b5061018a61034e366004611542565b6105a0565b34801561035e575f80fd5b506101af60125481565b348015610373575f80fd5b5060075461018a9060ff1681565b34801561038c575f80fd5b5061025b6105ac565b3480156103a0575f80fd5b506101af6103af3660046115c5565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f6103e5338484610948565b5060015b92915050565b5f6103fb848484610a6b565b61044c8433610447856040518060600160405280602881526020016117a2602891396001600160a01b038a165f908152600260209081526040808320338452909152902054919061113f565b610948565b5060019392505050565b60075461010090046001600160a01b0316336001600160a01b03161461047a575f80fd5b305f9081526001602052604090205480156104985761049881611177565b4780156104a8576104a881611300565b5050565b5f546001600160a01b031633146104de5760405162461bcd60e51b81526004016104d5906115fc565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b0316331461054f5760405162461bcd60e51b81526004016104d5906115fc565b6618a9b654159ba0601081905560118190556007805460ff191690556040519081527f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf9060200160405180910390a1565b5f6103e5338484610a6b565b5f546001600160a01b031633146105d55760405162461bcd60e51b81526004016104d5906115fc565b601554600160a01b900460ff161561062f5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104d5565b601480546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561066b9030906618a9b654159ba0610948565b60145f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106bb573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106df9190611631565b6001600160a01b031663c9c653963060145f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561073e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107629190611631565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156107ac573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107d09190611631565b601580546001600160a01b039283166001600160a01b03199091161790556014541663f305d7194730610817816001600160a01b03165f9081526001602052604090205490565b5f8061082a5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610890573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906108b5919061164c565b505060155460145460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af115801561090a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061092e9190611677565b506015805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b0383166109aa5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104d5565b6001600160a01b038216610a0b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104d5565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610acf5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104d5565b6001600160a01b038216610b315760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104d5565b5f8111610b925760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104d5565b5f80546001600160a01b03858116911614801590610bbd57505f546001600160a01b03848116911614155b15611002576001600160a01b0384165f9081526005602052604090205460ff16158015610c0257506001600160a01b0383165f9081526005602052604090205460ff16155b610c0a575f80fd5b60075460ff1615610cc1576014546001600160a01b03848116911614801590610c4157506015546001600160a01b03848116911614155b15610cc157325f908152600660205260409020544311610caf5760405162461bcd60e51b8152602060048201526024808201527f4f6e6c79206f6e65207472616e736665722070657220626c6f636b20616c6c6f6044820152633bb2b21760e11b60648201526084016104d5565b325f9081526006602052604090204390555b6015546001600160a01b038581169116148015610cec57506014546001600160a01b03848116911614155b8015610d1057506001600160a01b0383165f9081526003602052604090205460ff16155b15610e2b57601054821115610d635760405162461bcd60e51b815260206004820152601960248201527822bc31b2b2b239903a3432902fb6b0bc2a3c20b6b7bab73a1760391b60448201526064016104d5565b60115482610d85856001600160a01b03165f9081526001602052604090205490565b610d8f91906116aa565b1115610ddd5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104d5565b600e54600f541015610df457823b15610df4575f80fd5b600f8054905f610e03836116bd565b90915550506001600160a01b0383165f908152600460205260409020805460ff191660011790555b610e576064610e51600c54600f5411610e4657600854610e4a565b600a545b859061133b565b906113c0565b6015549091506001600160a01b038481169116148015610e8057506001600160a01b0384163014155b15610f6557601054821115610ed35760405162461bcd60e51b815260206004820152601960248201527822bc31b2b2b239903a3432902fb6b0bc2a3c20b6b7bab73a1760391b60448201526064016104d5565b610ef86064610e51600d54600f5411610eee57600954610e4a565b600b54859061133b565b9050600e54600f541180610f2357506001600160a01b0384165f9081526004602052604090205460ff165b610f655760405162461bcd60e51b815260206004820152601360248201527229b2b63632b91034b9903737ba10313abcb2b960691b60448201526064016104d5565b305f90815260016020526040902054601554600160a81b900460ff16158015610f9b57506015546001600160a01b038581169116145b8015610fb05750601554600160b01b900460ff165b8015610fbd575060125481115b8015610fcc5750600e54600f54115b1561100057610fee610fe984610fe484601354611401565b611401565b611177565b478015610ffe57610ffe47611300565b505b505b801561107a57305f908152600160205260409020546110219082611415565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110719085815260200190565b60405180910390a35b6001600160a01b0384165f9081526001602052604090205461109c9083611473565b6001600160a01b0385165f908152600160205260409020556110df6110c18383611473565b6001600160a01b0385165f9081526001602052604090205490611415565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6111288585611473565b60405190815260200160405180910390a350505050565b5f81848411156111625760405162461bcd60e51b81526004016104d591906114e0565b505f61116e84866116d5565b95945050505050565b6015805460ff60a81b1916600160a81b17905580156112f057601554600160a01b900460ff16156112f0576040805160028082526060820183525f9260208301908036833701905050905030815f815181106111d5576111d56116e8565b6001600160a01b03928316602091820292909201810191909152601454604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561122c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112509190611631565b81600181518110611263576112636116e8565b6001600160a01b0392831660209182029290920101526014546112899130911684610948565b60145460405163791ac94760e01b81526001600160a01b039091169063791ac947906112c19085905f908690309042906004016116fc565b5f604051808303815f87803b1580156112d8575f80fd5b505af11580156112ea573d5f803e3d5ffd5b50505050505b506015805460ff60a81b19169055565b6007546040516101009091046001600160a01b0316906108fc8315029083905f818181858888f193505050501580156104a8573d5f803e3d5ffd5b5f825f0361134a57505f6103e9565b5f611355838561176b565b9050826113628583611782565b146113b95760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104d5565b9392505050565b5f6113b983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506114b4565b5f81831161140f57826113b9565b50919050565b5f8061142183856116aa565b9050838110156113b95760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104d5565b5f6113b983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061113f565b5f81836114d45760405162461bcd60e51b81526004016104d591906114e0565b505f61116e8486611782565b5f6020808352835180828501525f5b8181101561150b578581018301518582016040015282016114ef565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461153f575f80fd5b50565b5f8060408385031215611553575f80fd5b823561155e8161152b565b946020939093013593505050565b5f805f6060848603121561157e575f80fd5b83356115898161152b565b925060208401356115998161152b565b929592945050506040919091013590565b5f602082840312156115ba575f80fd5b81356113b98161152b565b5f80604083850312156115d6575f80fd5b82356115e18161152b565b915060208301356115f18161152b565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f60208284031215611641575f80fd5b81516113b98161152b565b5f805f6060848603121561165e575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611687575f80fd5b815180151581146113b9575f80fd5b634e487b7160e01b5f52601160045260245ffd5b808201808211156103e9576103e9611696565b5f600182016116ce576116ce611696565b5060010190565b818103818111156103e9576103e9611696565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b8181101561174a5784516001600160a01b031683529383019391830191600101611725565b50506001600160a01b03969096166060850152505050608001529392505050565b80820281158282048414176103e9576103e9611696565b5f8261179c57634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212209f8e749e2147ce28a5ab650feb3f58e620aa65b9a182c784db0720e7e3f6564b64736f6c63430008140033

Deployed Bytecode

0x60806040526004361061011e575f3560e01c8063751039fc1161009d578063a9059cbb11610062578063a9059cbb14610334578063bf474bed14610353578063c876d0b914610368578063c9567bf914610381578063dd62ed3e14610395575f80fd5b8063751039fc146102a55780637d1db4a5146102b95780638da5cb5b146102ce5780638f9a55c0146102f457806395d89b4114610309575f80fd5b8063313ce567116100e3578063313ce567146101f55780633bbac5791461021057806351bc3c851461024757806370a082311461025d578063715018a614610291575f80fd5b806306fdde0314610129578063095ea7b31461016b5780630faee56f1461019a57806318160ddd146101bd57806323b872dd146101d6575f80fd5b3661012557005b5f80fd5b348015610134575f80fd5b506040805180820190915260088152675265646d656c696160c01b60208201525b60405161016291906114e0565b60405180910390f35b348015610176575f80fd5b5061018a610185366004611542565b6103d9565b6040519015158152602001610162565b3480156101a5575f80fd5b506101af60135481565b604051908152602001610162565b3480156101c8575f80fd5b506618a9b654159ba06101af565b3480156101e1575f80fd5b5061018a6101f036600461156c565b6103ef565b348015610200575f80fd5b5060405160028152602001610162565b34801561021b575f80fd5b5061018a61022a3660046115aa565b6001600160a01b03165f9081526005602052604090205460ff1690565b348015610252575f80fd5b5061025b610456565b005b348015610268575f80fd5b506101af6102773660046115aa565b6001600160a01b03165f9081526001602052604090205490565b34801561029c575f80fd5b5061025b6104ac565b3480156102b0575f80fd5b5061025b610526565b3480156102c4575f80fd5b506101af60105481565b3480156102d9575f80fd5b505f546040516001600160a01b039091168152602001610162565b3480156102ff575f80fd5b506101af60115481565b348015610314575f80fd5b5060408051808201909152600381526214915160ea1b6020820152610155565b34801561033f575f80fd5b5061018a61034e366004611542565b6105a0565b34801561035e575f80fd5b506101af60125481565b348015610373575f80fd5b5060075461018a9060ff1681565b34801561038c575f80fd5b5061025b6105ac565b3480156103a0575f80fd5b506101af6103af3660046115c5565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f6103e5338484610948565b5060015b92915050565b5f6103fb848484610a6b565b61044c8433610447856040518060600160405280602881526020016117a2602891396001600160a01b038a165f908152600260209081526040808320338452909152902054919061113f565b610948565b5060019392505050565b60075461010090046001600160a01b0316336001600160a01b03161461047a575f80fd5b305f9081526001602052604090205480156104985761049881611177565b4780156104a8576104a881611300565b5050565b5f546001600160a01b031633146104de5760405162461bcd60e51b81526004016104d5906115fc565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b0316331461054f5760405162461bcd60e51b81526004016104d5906115fc565b6618a9b654159ba0601081905560118190556007805460ff191690556040519081527f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf9060200160405180910390a1565b5f6103e5338484610a6b565b5f546001600160a01b031633146105d55760405162461bcd60e51b81526004016104d5906115fc565b601554600160a01b900460ff161561062f5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104d5565b601480546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561066b9030906618a9b654159ba0610948565b60145f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106bb573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106df9190611631565b6001600160a01b031663c9c653963060145f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561073e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107629190611631565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156107ac573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107d09190611631565b601580546001600160a01b039283166001600160a01b03199091161790556014541663f305d7194730610817816001600160a01b03165f9081526001602052604090205490565b5f8061082a5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610890573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906108b5919061164c565b505060155460145460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af115801561090a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061092e9190611677565b506015805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b0383166109aa5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104d5565b6001600160a01b038216610a0b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104d5565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610acf5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104d5565b6001600160a01b038216610b315760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104d5565b5f8111610b925760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104d5565b5f80546001600160a01b03858116911614801590610bbd57505f546001600160a01b03848116911614155b15611002576001600160a01b0384165f9081526005602052604090205460ff16158015610c0257506001600160a01b0383165f9081526005602052604090205460ff16155b610c0a575f80fd5b60075460ff1615610cc1576014546001600160a01b03848116911614801590610c4157506015546001600160a01b03848116911614155b15610cc157325f908152600660205260409020544311610caf5760405162461bcd60e51b8152602060048201526024808201527f4f6e6c79206f6e65207472616e736665722070657220626c6f636b20616c6c6f6044820152633bb2b21760e11b60648201526084016104d5565b325f9081526006602052604090204390555b6015546001600160a01b038581169116148015610cec57506014546001600160a01b03848116911614155b8015610d1057506001600160a01b0383165f9081526003602052604090205460ff16155b15610e2b57601054821115610d635760405162461bcd60e51b815260206004820152601960248201527822bc31b2b2b239903a3432902fb6b0bc2a3c20b6b7bab73a1760391b60448201526064016104d5565b60115482610d85856001600160a01b03165f9081526001602052604090205490565b610d8f91906116aa565b1115610ddd5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104d5565b600e54600f541015610df457823b15610df4575f80fd5b600f8054905f610e03836116bd565b90915550506001600160a01b0383165f908152600460205260409020805460ff191660011790555b610e576064610e51600c54600f5411610e4657600854610e4a565b600a545b859061133b565b906113c0565b6015549091506001600160a01b038481169116148015610e8057506001600160a01b0384163014155b15610f6557601054821115610ed35760405162461bcd60e51b815260206004820152601960248201527822bc31b2b2b239903a3432902fb6b0bc2a3c20b6b7bab73a1760391b60448201526064016104d5565b610ef86064610e51600d54600f5411610eee57600954610e4a565b600b54859061133b565b9050600e54600f541180610f2357506001600160a01b0384165f9081526004602052604090205460ff165b610f655760405162461bcd60e51b815260206004820152601360248201527229b2b63632b91034b9903737ba10313abcb2b960691b60448201526064016104d5565b305f90815260016020526040902054601554600160a81b900460ff16158015610f9b57506015546001600160a01b038581169116145b8015610fb05750601554600160b01b900460ff165b8015610fbd575060125481115b8015610fcc5750600e54600f54115b1561100057610fee610fe984610fe484601354611401565b611401565b611177565b478015610ffe57610ffe47611300565b505b505b801561107a57305f908152600160205260409020546110219082611415565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110719085815260200190565b60405180910390a35b6001600160a01b0384165f9081526001602052604090205461109c9083611473565b6001600160a01b0385165f908152600160205260409020556110df6110c18383611473565b6001600160a01b0385165f9081526001602052604090205490611415565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6111288585611473565b60405190815260200160405180910390a350505050565b5f81848411156111625760405162461bcd60e51b81526004016104d591906114e0565b505f61116e84866116d5565b95945050505050565b6015805460ff60a81b1916600160a81b17905580156112f057601554600160a01b900460ff16156112f0576040805160028082526060820183525f9260208301908036833701905050905030815f815181106111d5576111d56116e8565b6001600160a01b03928316602091820292909201810191909152601454604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561122c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112509190611631565b81600181518110611263576112636116e8565b6001600160a01b0392831660209182029290920101526014546112899130911684610948565b60145460405163791ac94760e01b81526001600160a01b039091169063791ac947906112c19085905f908690309042906004016116fc565b5f604051808303815f87803b1580156112d8575f80fd5b505af11580156112ea573d5f803e3d5ffd5b50505050505b506015805460ff60a81b19169055565b6007546040516101009091046001600160a01b0316906108fc8315029083905f818181858888f193505050501580156104a8573d5f803e3d5ffd5b5f825f0361134a57505f6103e9565b5f611355838561176b565b9050826113628583611782565b146113b95760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104d5565b9392505050565b5f6113b983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506114b4565b5f81831161140f57826113b9565b50919050565b5f8061142183856116aa565b9050838110156113b95760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104d5565b5f6113b983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061113f565b5f81836114d45760405162461bcd60e51b81526004016104d591906114e0565b505f61116e8486611782565b5f6020808352835180828501525f5b8181101561150b578581018301518582016040015282016114ef565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461153f575f80fd5b50565b5f8060408385031215611553575f80fd5b823561155e8161152b565b946020939093013593505050565b5f805f6060848603121561157e575f80fd5b83356115898161152b565b925060208401356115998161152b565b929592945050506040919091013590565b5f602082840312156115ba575f80fd5b81356113b98161152b565b5f80604083850312156115d6575f80fd5b82356115e18161152b565b915060208301356115f18161152b565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f60208284031215611641575f80fd5b81516113b98161152b565b5f805f6060848603121561165e575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611687575f80fd5b815180151581146113b9575f80fd5b634e487b7160e01b5f52601160045260245ffd5b808201808211156103e9576103e9611696565b5f600182016116ce576116ce611696565b5060010190565b818103818111156103e9576103e9611696565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b8181101561174a5784516001600160a01b031683529383019391830191600101611725565b50506001600160a01b03969096166060850152505050608001529392505050565b80820281158282048414176103e9576103e9611696565b5f8261179c57634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212209f8e749e2147ce28a5ab650feb3f58e620aa65b9a182c784db0720e7e3f6564b64736f6c63430008140033

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.