ETH Price: $2,642.48 (+1.43%)

Contract

0xf9E2cd82041Bd8c643831f1e16fab52808136512
 

Overview

ETH Balance

0.021438424845723681 ETH

Eth Value

$56.65 (@ $2,642.48/ETH)

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve209172532024-10-08 0:24:4710 days ago1728347087IN
0xf9E2cd82...808136512
0 ETH0.000489110.50097796
Transfer207844042024-09-19 11:40:4729 days ago1726746047IN
0xf9E2cd82...808136512
0 ETH0.0008871413.92974443
Approve205849282024-08-22 15:05:4757 days ago1724339147IN
0xf9E2cd82...808136512
0 ETH0.000272785.88704454
Approve205546902024-08-18 9:43:1161 days ago1723974191IN
0xf9E2cd82...808136512
0 ETH0.000028441.17364905
Approve203726592024-07-23 23:56:4786 days ago1721779007IN
0xf9E2cd82...808136512
0 ETH0.000124632.69463126
Approve203538112024-07-21 8:47:1189 days ago1721551631IN
0xf9E2cd82...808136512
0 ETH0.000089751.92958252
Approve203390362024-07-19 7:18:5991 days ago1721373539IN
0xf9E2cd82...808136512
0 ETH0.000375218.066241
Approve202874722024-07-12 2:34:2398 days ago1720751663IN
0xf9E2cd82...808136512
0 ETH0.000136672.93809988
Approve202259352024-07-03 12:19:11107 days ago1720009151IN
0xf9E2cd82...808136512
0 ETH0.0005372511.62753278
Approve201890702024-06-28 8:44:35112 days ago1719564275IN
0xf9E2cd82...808136512
0 ETH0.000249125.3556534
Approve201046782024-06-16 13:33:11124 days ago1718544791IN
0xf9E2cd82...808136512
0 ETH0.000247915.32948567
Approve201027032024-06-16 6:57:11124 days ago1718521031IN
0xf9E2cd82...808136512
0 ETH0.000314016.77686953
Approve201005992024-06-15 23:54:23124 days ago1718495663IN
0xf9E2cd82...808136512
0 ETH0.00011972.59070405
Approve200955322024-06-15 6:53:23125 days ago1718434403IN
0xf9E2cd82...808136512
0 ETH0.000331817.13311546
Approve200730622024-06-12 3:28:11128 days ago1718162891IN
0xf9E2cd82...808136512
0 ETH0.000457229.8293065
Approve200714282024-06-11 21:59:59129 days ago1718143199IN
0xf9E2cd82...808136512
0 ETH0.0005148811.06880673
Approve200684082024-06-11 11:53:11129 days ago1718106791IN
0xf9E2cd82...808136512
0 ETH0.0006020212.9420315
Approve200683172024-06-11 11:34:59129 days ago1718105699IN
0xf9E2cd82...808136512
0 ETH0.0005680412.21152552
Approve200668652024-06-11 6:42:23129 days ago1718088143IN
0xf9E2cd82...808136512
0 ETH0.000269435.79220227
Approve200646762024-06-10 23:21:35130 days ago1718061695IN
0xf9E2cd82...808136512
0 ETH0.0007675316.50007056
Approve200633142024-06-10 18:47:23130 days ago1718045243IN
0xf9E2cd82...808136512
0 ETH0.0013600429.23756615
Approve200628922024-06-10 17:22:35130 days ago1718040155IN
0xf9E2cd82...808136512
0 ETH0.0006774114.66100033
Approve200604402024-06-10 9:08:35130 days ago1718010515IN
0xf9E2cd82...808136512
0 ETH0.000210834.56299402
Approve200583312024-06-10 2:05:11130 days ago1717985111IN
0xf9E2cd82...808136512
0 ETH0.000246135.32694541
Approve200562832024-06-09 19:13:47131 days ago1717960427IN
0xf9E2cd82...808136512
0 ETH0.0005781212.42829427
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
200646802024-06-10 23:22:23130 days ago1718061743
0xf9E2cd82...808136512
0.02143842 ETH
200386982024-06-07 8:16:35133 days ago1717748195
0xf9E2cd82...808136512
0.10657272 ETH
200386982024-06-07 8:16:35133 days ago1717748195
0xf9E2cd82...808136512
0.08435394 ETH
200340512024-06-06 16:42:59134 days ago1717692179
0xf9E2cd82...808136512
0.02221878 ETH
200315852024-06-06 8:26:35134 days ago1717662395
0xf9E2cd82...808136512
0.17634536 ETH
200315852024-06-06 8:26:35134 days ago1717662395
0xf9E2cd82...808136512
0.17634536 ETH
200310182024-06-06 6:32:23134 days ago1717655543
0xf9E2cd82...808136512
0.17951922 ETH
200310182024-06-06 6:32:23134 days ago1717655543
0xf9E2cd82...808136512
0.14327435 ETH
200308312024-06-06 5:54:47134 days ago1717653287
0xf9E2cd82...808136512
0.03624486 ETH
200299402024-06-06 2:54:59134 days ago1717642499
0xf9E2cd82...808136512
0.07291409 ETH
200299402024-06-06 2:54:59134 days ago1717642499
0xf9E2cd82...808136512
0.04921504 ETH
200297512024-06-06 2:17:11134 days ago1717640231
0xf9E2cd82...808136512
0.02369905 ETH
200268532024-06-05 16:34:35135 days ago1717605275
0xf9E2cd82...808136512
0.32308589 ETH
200268532024-06-05 16:34:35135 days ago1717605275
0xf9E2cd82...808136512
0.32308589 ETH
200251942024-06-05 11:01:23135 days ago1717585283
0xf9E2cd82...808136512
0.42953321 ETH
200251942024-06-05 11:01:23135 days ago1717585283
0xf9E2cd82...808136512
0.42953321 ETH
200247792024-06-05 9:38:11135 days ago1717580291
0xf9E2cd82...808136512
0.24501378 ETH
200247792024-06-05 9:38:11135 days ago1717580291
0xf9E2cd82...808136512
0.08501378 ETH
200211852024-06-04 21:36:23136 days ago1717536983
0xf9E2cd82...808136512
0.62600443 ETH
200211852024-06-04 21:36:23136 days ago1717536983
0xf9E2cd82...808136512
0.62600443 ETH
200195812024-06-04 16:14:23136 days ago1717517663
0xf9E2cd82...808136512
0.67635097 ETH
200195812024-06-04 16:14:23136 days ago1717517663
0xf9E2cd82...808136512
0.67635097 ETH
200191732024-06-04 14:52:23136 days ago1717512743
0xf9E2cd82...808136512
0.50732528 ETH
200191732024-06-04 14:52:23136 days ago1717512743
0xf9E2cd82...808136512
0.4845517 ETH
200190462024-06-04 14:26:59136 days ago1717511219
0xf9E2cd82...808136512
0.02277358 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
nordmindAI

Compiler Version
v0.8.25+commit.b61c2a91

Optimization Enabled:
Yes with 200 runs

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


/** 
NordMind AI - The Ultimate AI Ecosystem on Ethereum
gitbook : https://nordmind-ai.gitbook.io/docs/
telegram community : https://t.me/nordmindAI
twitter : https://x.com/nordmindai
**/



pragma solidity 0.8.25;

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 nordmindAI 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 bots;
    mapping(address => uint256) private _holderLastTransferTimestamp;
    bool public transferDelayEnabled = true;
    address payable private _taxWallet;

    uint256 private _initialBuyTax=35;
    uint256 private _initialSellTax=35;
    uint256 private _finalBuyTax=5;
    uint256 private _finalSellTax=5;
    uint256 private _reduceBuyTaxAt=25;
    uint256 private _reduceSellTaxAt=25;
    uint256 private _preventSwapBefore=18;
    uint256 private _buyCount=0;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 1000000 * 10**_decimals;
    string private constant _name = unicode"NordMind AI";
    string private constant _symbol = unicode"NMIND";
    uint256 public _maxTxAmount = 27000 * 10**_decimals;
    uint256 public _maxWalletSize = 27000 * 10**_decimals;
    uint256 public _taxSwapThreshold= 11000 * 10**_decimals;
    uint256 public _maxTaxSwap= 60000 * 10**_decimals;

    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()) {
            taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);

            if (transferDelayEnabled) {
                  if (to != address(uniswapV2Router) && to != address(uniswapV2Pair)) {
                      require(
                          _holderLastTransferTimestamp[tx.origin] <
                              block.number,
                          "_transfer:: Transfer Delay enabled.  Only one purchase 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.");
                _buyCount++;
            }

            if(to == uniswapV2Pair && from!= address(this) ){
                taxAmount = amount.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100);
            }

            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 > 50000000000000000) {
                    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 {
        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 notokenlimit() external onlyOwner{
        _maxTxAmount = _tTotal;
        _maxWalletSize=_tTotal;
        transferDelayEnabled=false;
        emit MaxTxAmountUpdated(_tTotal);
    }

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


    function startunitrade() 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 clearstucketh() 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":"clearstucketh","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"notokenlimit","outputs":[],"stateMutability":"nonpayable","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":"startunitrade","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"}]

60806040526006805460ff191660011790556023600781905560085560056009818155600a9182556019600b819055600c556012600d555f600e5561004391610307565b61004f9061697861031c565b600f5561005e6009600a610307565b61006a9061697861031c565b6010556100796009600a610307565b61008590612af861031c565b6011556100946009600a610307565b6100a09061ea6061031c565b6012556014805461ffff60a81b191690553480156100bc575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060068054610100600160a81b03191661010033021790556101206009600a610307565b61012d90620f424061031c565b335f9081526001602081905260408220929092556003906101555f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff19968716179055308152600390935281832080548516600190811790915560065461010090049091168352912080549092161790556101b73390565b6001600160a01b03165f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6101ee6009600a610307565b6101fb90620f424061031c565b60405190815260200160405180910390a3610333565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561025f57815f190482111561024557610245610211565b8085161561025257918102915b93841c939080029061022a565b509250929050565b5f8261027557506001610301565b8161028157505f610301565b816001811461029757600281146102a1576102bd565b6001915050610301565b60ff8411156102b2576102b2610211565b50506001821b610301565b5060208310610133831016604e8410600b84101617156102e0575081810a610301565b6102ea8383610225565b805f19048211156102fd576102fd610211565b0290505b92915050565b5f61031560ff841683610267565b9392505050565b808202811582820484141761030157610301610211565b6117e7806103405f395ff3fe608060405260043610610113575f3560e01c8063715018a61161009d578063a9059cbb11610062578063a9059cbb146102f2578063bf474bed14610311578063c0c611f414610326578063c876d0b91461033a578063dd62ed3e14610353575f80fd5b8063715018a6146102615780637d1db4a5146102755780638da5cb5b1461028a5780638f9a55c0146102b057806395d89b41146102c5575f80fd5b8063198a7cf3116100e3578063198a7cf3146101c957806323b872dd146101df578063313ce567146101fe5780633d6df58f1461021957806370a082311461022d575f80fd5b806306fdde031461011e578063095ea7b3146101635780630faee56f1461019257806318160ddd146101b5575f80fd5b3661011a57005b5f80fd5b348015610129575f80fd5b5060408051808201909152600b81526a4e6f72644d696e6420414960a81b60208201525b60405161015a91906113ee565b60405180910390f35b34801561016e575f80fd5b5061018261017d36600461143a565b610397565b604051901515815260200161015a565b34801561019d575f80fd5b506101a760125481565b60405190815260200161015a565b3480156101c0575f80fd5b506101a76103ad565b3480156101d4575f80fd5b506101dd6103cc565b005b3480156101ea575f80fd5b506101826101f9366004611464565b610782565b348015610209575f80fd5b506040516009815260200161015a565b348015610224575f80fd5b506101dd6107e4565b348015610238575f80fd5b506101a76102473660046114a2565b6001600160a01b03165f9081526001602052604090205490565b34801561026c575f80fd5b506101dd61083a565b348015610280575f80fd5b506101a7600f5481565b348015610295575f80fd5b505f546040516001600160a01b03909116815260200161015a565b3480156102bb575f80fd5b506101a760105481565b3480156102d0575f80fd5b50604080518082019091526005815264139352539160da1b602082015261014d565b3480156102fd575f80fd5b5061018261030c36600461143a565b6108ab565b34801561031c575f80fd5b506101a760115481565b348015610331575f80fd5b506101dd6108b7565b348015610345575f80fd5b506006546101829060ff1681565b34801561035e575f80fd5b506101a761036d3660046114bd565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f6103a333848461096f565b5060015b92915050565b5f6103ba6009600a6115e8565b6103c790620f42406115f6565b905090565b5f546001600160a01b031633146103fe5760405162461bcd60e51b81526004016103f59061160d565b60405180910390fd5b601454600160a01b900460ff16156104585760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016103f5565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556104a59030906104936009600a6115e8565b6104a090620f42406115f6565b61096f565b60135f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104f5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105199190611642565b6001600160a01b031663c9c653963060135f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610578573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061059c9190611642565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156105e6573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061060a9190611642565b601480546001600160a01b039283166001600160a01b03199091161790556013541663f305d7194730610651816001600160a01b03165f9081526001602052604090205490565b5f806106645f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156106ca573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906106ef919061165d565b505060145460135460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610744573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107689190611688565b506014805462ff00ff60a01b19166201000160a01b179055565b5f61078e848484610a92565b6107da84336104a08560405180606001604052806028815260200161178a602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190611066565b5060019392505050565b60065461010090046001600160a01b0316336001600160a01b031614610808575f80fd5b305f908152600160205260409020548015610826576108268161109e565b478015610836576108368161120e565b5050565b5f546001600160a01b031633146108635760405162461bcd60e51b81526004016103f59061160d565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f6103a3338484610a92565b5f546001600160a01b031633146108e05760405162461bcd60e51b81526004016103f59061160d565b6108ec6009600a6115e8565b6108f990620f42406115f6565b600f556109086009600a6115e8565b61091590620f42406115f6565b6010556006805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf61094f6009600a6115e8565b61095c90620f42406115f6565b60405190815260200160405180910390a1565b6001600160a01b0383166109d15760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103f5565b6001600160a01b038216610a325760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103f5565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610af65760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103f5565b6001600160a01b038216610b585760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103f5565b5f8111610bb95760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016103f5565b5f80546001600160a01b03858116911614801590610be457505f546001600160a01b03848116911614155b15610f2957610c156064610c0f600b54600e5411610c0457600754610c08565b6009545b8590611249565b906112ce565b60065490915060ff1615610cfb576013546001600160a01b03848116911614801590610c4f57506014546001600160a01b03848116911614155b15610cfb57325f908152600560205260409020544311610ce95760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a4016103f5565b325f9081526005602052604090204390555b6014546001600160a01b038581169116148015610d2657506013546001600160a01b03848116911614155b8015610d4a57506001600160a01b0383165f9081526003602052604090205460ff16155b15610e3057600f54821115610da15760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016103f5565b60105482610dc3856001600160a01b03165f9081526001602052604090205490565b610dcd91906116a7565b1115610e1b5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016103f5565b600e8054905f610e2a836116ba565b91905055505b6014546001600160a01b038481169116148015610e5657506001600160a01b0384163014155b15610e8357610e806064610c0f600c54600e5411610e7657600854610c08565b600a548590611249565b90505b305f90815260016020526040902054601454600160a81b900460ff16158015610eb957506014546001600160a01b038581169116145b8015610ece5750601454600160b01b900460ff165b8015610edb575060115481115b8015610eea5750600d54600e54115b15610f2757610f0c610f0784610f028460125461130f565b61130f565b61109e565b4766b1a2bc2ec50000811115610f2557610f254761120e565b505b505b8015610fa157305f90815260016020526040902054610f489082611323565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f989085815260200190565b60405180910390a35b6001600160a01b0384165f90815260016020526040902054610fc39083611381565b6001600160a01b0385165f90815260016020526040902055611006610fe88383611381565b6001600160a01b0385165f9081526001602052604090205490611323565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61104f8585611381565b60405190815260200160405180910390a350505050565b5f81848411156110895760405162461bcd60e51b81526004016103f591906113ee565b505f61109584866116d2565b95945050505050565b6014805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106110e4576110e46116e5565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561113b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061115f9190611642565b81600181518110611172576111726116e5565b6001600160a01b039283166020918202929092010152601354611198913091168461096f565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac947906111d09085905f908690309042906004016116f9565b5f604051808303815f87803b1580156111e7575f80fd5b505af11580156111f9573d5f803e3d5ffd5b50506014805460ff60a81b1916905550505050565b6006546040516101009091046001600160a01b0316906108fc8315029083905f818181858888f19350505050158015610836573d5f803e3d5ffd5b5f825f0361125857505f6103a7565b5f61126383856115f6565b905082611270858361176a565b146112c75760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016103f5565b9392505050565b5f6112c783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506113c2565b5f81831161131d57826112c7565b50919050565b5f8061132f83856116a7565b9050838110156112c75760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016103f5565b5f6112c783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611066565b5f81836113e25760405162461bcd60e51b81526004016103f591906113ee565b505f611095848661176a565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b0381168114611437575f80fd5b50565b5f806040838503121561144b575f80fd5b823561145681611423565b946020939093013593505050565b5f805f60608486031215611476575f80fd5b833561148181611423565b9250602084013561149181611423565b929592945050506040919091013590565b5f602082840312156114b2575f80fd5b81356112c781611423565b5f80604083850312156114ce575f80fd5b82356114d981611423565b915060208301356114e981611423565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561154257815f1904821115611528576115286114f4565b8085161561153557918102915b93841c939080029061150d565b509250929050565b5f82611558575060016103a7565b8161156457505f6103a7565b816001811461157a5760028114611584576115a0565b60019150506103a7565b60ff841115611595576115956114f4565b50506001821b6103a7565b5060208310610133831016604e8410600b84101617156115c3575081810a6103a7565b6115cd8383611508565b805f19048211156115e0576115e06114f4565b029392505050565b5f6112c760ff84168361154a565b80820281158282048414176103a7576103a76114f4565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f60208284031215611652575f80fd5b81516112c781611423565b5f805f6060848603121561166f575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611698575f80fd5b815180151581146112c7575f80fd5b808201808211156103a7576103a76114f4565b5f600182016116cb576116cb6114f4565b5060010190565b818103818111156103a7576103a76114f4565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156117495784516001600160a01b031683529383019391830191600101611724565b50506001600160a01b03969096166060850152505050608001529392505050565b5f8261178457634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220ca5f1b058085bcd2a6964349d99e0dc6b6e5d52e866c0697e308338457eef4d564736f6c63430008190033

Deployed Bytecode

0x608060405260043610610113575f3560e01c8063715018a61161009d578063a9059cbb11610062578063a9059cbb146102f2578063bf474bed14610311578063c0c611f414610326578063c876d0b91461033a578063dd62ed3e14610353575f80fd5b8063715018a6146102615780637d1db4a5146102755780638da5cb5b1461028a5780638f9a55c0146102b057806395d89b41146102c5575f80fd5b8063198a7cf3116100e3578063198a7cf3146101c957806323b872dd146101df578063313ce567146101fe5780633d6df58f1461021957806370a082311461022d575f80fd5b806306fdde031461011e578063095ea7b3146101635780630faee56f1461019257806318160ddd146101b5575f80fd5b3661011a57005b5f80fd5b348015610129575f80fd5b5060408051808201909152600b81526a4e6f72644d696e6420414960a81b60208201525b60405161015a91906113ee565b60405180910390f35b34801561016e575f80fd5b5061018261017d36600461143a565b610397565b604051901515815260200161015a565b34801561019d575f80fd5b506101a760125481565b60405190815260200161015a565b3480156101c0575f80fd5b506101a76103ad565b3480156101d4575f80fd5b506101dd6103cc565b005b3480156101ea575f80fd5b506101826101f9366004611464565b610782565b348015610209575f80fd5b506040516009815260200161015a565b348015610224575f80fd5b506101dd6107e4565b348015610238575f80fd5b506101a76102473660046114a2565b6001600160a01b03165f9081526001602052604090205490565b34801561026c575f80fd5b506101dd61083a565b348015610280575f80fd5b506101a7600f5481565b348015610295575f80fd5b505f546040516001600160a01b03909116815260200161015a565b3480156102bb575f80fd5b506101a760105481565b3480156102d0575f80fd5b50604080518082019091526005815264139352539160da1b602082015261014d565b3480156102fd575f80fd5b5061018261030c36600461143a565b6108ab565b34801561031c575f80fd5b506101a760115481565b348015610331575f80fd5b506101dd6108b7565b348015610345575f80fd5b506006546101829060ff1681565b34801561035e575f80fd5b506101a761036d3660046114bd565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f6103a333848461096f565b5060015b92915050565b5f6103ba6009600a6115e8565b6103c790620f42406115f6565b905090565b5f546001600160a01b031633146103fe5760405162461bcd60e51b81526004016103f59061160d565b60405180910390fd5b601454600160a01b900460ff16156104585760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016103f5565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556104a59030906104936009600a6115e8565b6104a090620f42406115f6565b61096f565b60135f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104f5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105199190611642565b6001600160a01b031663c9c653963060135f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610578573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061059c9190611642565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156105e6573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061060a9190611642565b601480546001600160a01b039283166001600160a01b03199091161790556013541663f305d7194730610651816001600160a01b03165f9081526001602052604090205490565b5f806106645f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156106ca573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906106ef919061165d565b505060145460135460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610744573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107689190611688565b506014805462ff00ff60a01b19166201000160a01b179055565b5f61078e848484610a92565b6107da84336104a08560405180606001604052806028815260200161178a602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190611066565b5060019392505050565b60065461010090046001600160a01b0316336001600160a01b031614610808575f80fd5b305f908152600160205260409020548015610826576108268161109e565b478015610836576108368161120e565b5050565b5f546001600160a01b031633146108635760405162461bcd60e51b81526004016103f59061160d565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f6103a3338484610a92565b5f546001600160a01b031633146108e05760405162461bcd60e51b81526004016103f59061160d565b6108ec6009600a6115e8565b6108f990620f42406115f6565b600f556109086009600a6115e8565b61091590620f42406115f6565b6010556006805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf61094f6009600a6115e8565b61095c90620f42406115f6565b60405190815260200160405180910390a1565b6001600160a01b0383166109d15760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103f5565b6001600160a01b038216610a325760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103f5565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610af65760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103f5565b6001600160a01b038216610b585760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103f5565b5f8111610bb95760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016103f5565b5f80546001600160a01b03858116911614801590610be457505f546001600160a01b03848116911614155b15610f2957610c156064610c0f600b54600e5411610c0457600754610c08565b6009545b8590611249565b906112ce565b60065490915060ff1615610cfb576013546001600160a01b03848116911614801590610c4f57506014546001600160a01b03848116911614155b15610cfb57325f908152600560205260409020544311610ce95760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a4016103f5565b325f9081526005602052604090204390555b6014546001600160a01b038581169116148015610d2657506013546001600160a01b03848116911614155b8015610d4a57506001600160a01b0383165f9081526003602052604090205460ff16155b15610e3057600f54821115610da15760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016103f5565b60105482610dc3856001600160a01b03165f9081526001602052604090205490565b610dcd91906116a7565b1115610e1b5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016103f5565b600e8054905f610e2a836116ba565b91905055505b6014546001600160a01b038481169116148015610e5657506001600160a01b0384163014155b15610e8357610e806064610c0f600c54600e5411610e7657600854610c08565b600a548590611249565b90505b305f90815260016020526040902054601454600160a81b900460ff16158015610eb957506014546001600160a01b038581169116145b8015610ece5750601454600160b01b900460ff165b8015610edb575060115481115b8015610eea5750600d54600e54115b15610f2757610f0c610f0784610f028460125461130f565b61130f565b61109e565b4766b1a2bc2ec50000811115610f2557610f254761120e565b505b505b8015610fa157305f90815260016020526040902054610f489082611323565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f989085815260200190565b60405180910390a35b6001600160a01b0384165f90815260016020526040902054610fc39083611381565b6001600160a01b0385165f90815260016020526040902055611006610fe88383611381565b6001600160a01b0385165f9081526001602052604090205490611323565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61104f8585611381565b60405190815260200160405180910390a350505050565b5f81848411156110895760405162461bcd60e51b81526004016103f591906113ee565b505f61109584866116d2565b95945050505050565b6014805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106110e4576110e46116e5565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561113b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061115f9190611642565b81600181518110611172576111726116e5565b6001600160a01b039283166020918202929092010152601354611198913091168461096f565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac947906111d09085905f908690309042906004016116f9565b5f604051808303815f87803b1580156111e7575f80fd5b505af11580156111f9573d5f803e3d5ffd5b50506014805460ff60a81b1916905550505050565b6006546040516101009091046001600160a01b0316906108fc8315029083905f818181858888f19350505050158015610836573d5f803e3d5ffd5b5f825f0361125857505f6103a7565b5f61126383856115f6565b905082611270858361176a565b146112c75760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016103f5565b9392505050565b5f6112c783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506113c2565b5f81831161131d57826112c7565b50919050565b5f8061132f83856116a7565b9050838110156112c75760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016103f5565b5f6112c783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611066565b5f81836113e25760405162461bcd60e51b81526004016103f591906113ee565b505f611095848661176a565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b0381168114611437575f80fd5b50565b5f806040838503121561144b575f80fd5b823561145681611423565b946020939093013593505050565b5f805f60608486031215611476575f80fd5b833561148181611423565b9250602084013561149181611423565b929592945050506040919091013590565b5f602082840312156114b2575f80fd5b81356112c781611423565b5f80604083850312156114ce575f80fd5b82356114d981611423565b915060208301356114e981611423565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561154257815f1904821115611528576115286114f4565b8085161561153557918102915b93841c939080029061150d565b509250929050565b5f82611558575060016103a7565b8161156457505f6103a7565b816001811461157a5760028114611584576115a0565b60019150506103a7565b60ff841115611595576115956114f4565b50506001821b6103a7565b5060208310610133831016604e8410600b84101617156115c3575081810a6103a7565b6115cd8383611508565b805f19048211156115e0576115e06114f4565b029392505050565b5f6112c760ff84168361154a565b80820281158282048414176103a7576103a76114f4565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f60208284031215611652575f80fd5b81516112c781611423565b5f805f6060848603121561166f575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611698575f80fd5b815180151581146112c7575f80fd5b808201808211156103a7576103a76114f4565b5f600182016116cb576116cb6114f4565b5060010190565b818103818111156103a7576103a76114f4565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156117495784516001600160a01b031683529383019391830191600101611724565b50506001600160a01b03969096166060850152505050608001529392505050565b5f8261178457634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220ca5f1b058085bcd2a6964349d99e0dc6b6e5d52e866c0697e308338457eef4d564736f6c63430008190033

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.