ETH Price: $3,514.36 (+0.79%)
Gas: 2 Gwei

Contract

0xd473C34f079B0E276B8B0C2b64C5543715704037
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve198294712024-05-09 2:20:5972 days ago1715221259IN
0xd473C34f...715704037
0 ETH0.000092123.79232664
Approve197626802024-04-29 18:13:4782 days ago1714414427IN
0xd473C34f...715704037
0 ETH0.000823917.7118693
Approve197566332024-04-28 21:55:5983 days ago1714341359IN
0xd473C34f...715704037
0 ETH0.000240515.16382068
Approve197042762024-04-21 14:08:3590 days ago1713708515IN
0xd473C34f...715704037
0 ETH0.0005586211.99362805
Approve196737732024-04-17 7:42:5994 days ago1713339779IN
0xd473C34f...715704037
0 ETH0.000430119.24649348
Approve196471342024-04-13 14:05:5998 days ago1713017159IN
0xd473C34f...715704037
0 ETH0.0006705314.41484252
Approve195992372024-04-06 21:03:47105 days ago1712437427IN
0xd473C34f...715704037
0 ETH0.0005964712.88252275
Approve192171282024-02-13 5:52:23158 days ago1707803543IN
0xd473C34f...715704037
0 ETH0.0008190317.71241075
Approve192088362024-02-12 2:00:59159 days ago1707703259IN
0xd473C34f...715704037
0 ETH0.0005834224.07555415
Approve191733192024-02-07 2:22:11164 days ago1707272531IN
0xd473C34f...715704037
0 ETH0.000689328.44472826
Approve191670542024-02-06 5:15:11165 days ago1707196511IN
0xd473C34f...715704037
0 ETH0.0008510518.27195661
Transfer191612152024-02-05 9:34:59166 days ago1707125699IN
0xd473C34f...715704037
0 ETH0.000942516.3266332
Approve191539042024-02-04 8:57:47167 days ago1707037067IN
0xd473C34f...715704037
0 ETH0.0007548516.22758198
Approve191531852024-02-04 6:31:23167 days ago1707028283IN
0xd473C34f...715704037
0 ETH0.0006558114.09839
Approve191524192024-02-04 3:55:35167 days ago1707018935IN
0xd473C34f...715704037
0 ETH0.0005352311.49146168
Approve191519752024-02-04 2:25:47167 days ago1707013547IN
0xd473C34f...715704037
0 ETH0.0006249313.41725967
Approve191463542024-02-03 7:30:11168 days ago1706945411IN
0xd473C34f...715704037
0 ETH0.0007399715.8870446
Approve191430852024-02-02 20:27:11169 days ago1706905631IN
0xd473C34f...715704037
0 ETH0.0011820625.37876072
Approve191302392024-02-01 1:10:47171 days ago1706749847IN
0xd473C34f...715704037
0 ETH0.0011208724.20839721
Approve191274362024-01-31 15:45:47171 days ago1706715947IN
0xd473C34f...715704037
0 ETH0.0020546744.17032963
Approve191216412024-01-30 20:15:23172 days ago1706645723IN
0xd473C34f...715704037
0 ETH0.0011442724.7394631
Approve191202202024-01-30 15:28:11172 days ago1706628491IN
0xd473C34f...715704037
0 ETH0.0019286341.4073871
Approve191144422024-01-29 20:03:59173 days ago1706558639IN
0xd473C34f...715704037
0 ETH0.0008264417.76650348
Approve191141902024-01-29 19:12:35173 days ago1706555555IN
0xd473C34f...715704037
0 ETH0.0008393418.04377824
Approve191111742024-01-29 9:04:59173 days ago1706519099IN
0xd473C34f...715704037
0 ETH0.000513911.03345348
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
190837132024-01-25 12:45:35177 days ago1706186735
0xd473C34f...715704037
0.36357399 ETH
190837132024-01-25 12:45:35177 days ago1706186735
0xd473C34f...715704037
0.36357399 ETH
190835492024-01-25 12:12:47177 days ago1706184767
0xd473C34f...715704037
0.33409451 ETH
190835492024-01-25 12:12:47177 days ago1706184767
0xd473C34f...715704037
0.33409451 ETH
190832332024-01-25 11:09:11177 days ago1706180951
0xd473C34f...715704037
0.03146019 ETH
190832332024-01-25 11:09:11177 days ago1706180951
0xd473C34f...715704037
0.03146019 ETH
190832232024-01-25 11:07:11177 days ago1706180831
0xd473C34f...715704037
0.2039612 ETH
190832232024-01-25 11:07:11177 days ago1706180831
0xd473C34f...715704037
0.2039612 ETH
190832202024-01-25 11:06:23177 days ago1706180783
0xd473C34f...715704037
0.23088114 ETH
190832202024-01-25 11:06:23177 days ago1706180783
0xd473C34f...715704037
0.23088114 ETH
190831972024-01-25 11:01:35177 days ago1706180495
0xd473C34f...715704037
0.14059825 ETH
190831972024-01-25 11:01:35177 days ago1706180495
0xd473C34f...715704037
0.14059825 ETH
190831972024-01-25 11:01:35177 days ago1706180495
0xd473C34f...715704037
0.21493708 ETH
190831972024-01-25 11:01:35177 days ago1706180495
0xd473C34f...715704037
0.21493708 ETH
190831792024-01-25 10:57:47177 days ago1706180267
0xd473C34f...715704037
0.36350124 ETH
190831792024-01-25 10:57:47177 days ago1706180267
0xd473C34f...715704037
0.36350124 ETH
190831612024-01-25 10:54:11177 days ago1706180051
0xd473C34f...715704037
0.13334882 ETH
190831612024-01-25 10:54:11177 days ago1706180051
0xd473C34f...715704037
0.13334882 ETH
190831572024-01-25 10:53:23177 days ago1706180003
0xd473C34f...715704037
0.16369738 ETH
190831572024-01-25 10:53:23177 days ago1706180003
0xd473C34f...715704037
0.16369738 ETH
190831552024-01-25 10:52:59177 days ago1706179979
0xd473C34f...715704037
0.23644392 ETH
190831552024-01-25 10:52:59177 days ago1706179979
0xd473C34f...715704037
0.23644392 ETH
190831442024-01-25 10:50:47177 days ago1706179847
0xd473C34f...715704037
0.24283428 ETH
190831442024-01-25 10:50:47177 days ago1706179847
0xd473C34f...715704037
0.24283428 ETH
190831432024-01-25 10:50:35177 days ago1706179835
0xd473C34f...715704037
0.08794764 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
KENNEDY2024

Compiler Version
v0.8.23+commit.f704f362

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, GNU GPLv3 license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-01-25
*/

// SPDX-License-Identifier: MIT
/**

We all missed $MAGA. 

Missed $TRUMP2024
Missed $BIDEN2024

Don't missed $KENNEDY2024

TG: https://t.me/KENNEDY_2024

**/
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);
    function getPair(address tokenA, address tokenB) external view 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 KENNEDY2024 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 => uint256) private _buyHistory;
    mapping (address => uint256) private _holderLastTransferTimestamp;
    bool public transferDelayEnabled = false;
    address payable private _marketingWallet;
    uint256 private _lastSwap=0;
    bool private _noSecondSwap=false;

    uint256 private _startBuyTax=20;
    uint256 private _startSellTax=20;
    uint256 private _buyTax=0;
    uint256 private _sellTax=0;
    uint256 private _reduceBuyTaxAt=5;
    uint256 private _reduceSellTaxAt=30;
    uint256 private _noSwapPeriod=25;
    uint256 private _buyCount=0;

    uint8 private constant _decimals = 9;
    uint256 private constant _totalSupply = 811942112000000 * 10**_decimals;
    string private constant _name = unicode"Robert Kennedy Jr";
    string private constant _symbol = unicode"KENNEDY2024";
    uint256 public _maxTxAmount =   16238842240000 * 10**_decimals;
    uint256 public _maxWalletSize = 16238842240000 * 10**_decimals;
    uint256 public _taxSwapThreshold=0 * 10**_decimals;
    uint256 public _maxTaxSwap=16238842240000 * 10**_decimals;

    IUniswapV2Router02 private _router;
    address private _pair;
    bool private _tradingOpen;
    bool private _inSwap = false;
    bool private _swapAllowed = false;

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

    constructor () {
        _marketingWallet = payable(_msgSender());
        _balances[_msgSender()] = _totalSupply;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_marketingWallet] = true;

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

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

    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;
        bool shouldSwap=true;
        if (from != owner() && to != owner()) {
            
            taxAmount=amount.mul((_tradingOpen)?0:_startBuyTax).div(100);
            if (transferDelayEnabled) {
              if (to != address(_router) && to != address(_pair)) {
                require(_holderLastTransferTimestamp[tx.origin] < block.number,"Only one transfer per block allowed.");
                _holderLastTransferTimestamp[tx.origin] = block.number;
              }
            }



            if (from == _pair && to != address(_router) && ! _isExcludedFromFee[to] ) {
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
                if(_buyCount<_noSwapPeriod){
                  require(!isContract(to));
                }
                _buyCount++;
                _buyHistory[to]=block.timestamp;
                taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_buyTax:_startBuyTax).div(100);
            }

            if(to == _pair && from!= address(this) ){
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                taxAmount = amount.mul((_buyCount>_reduceSellTaxAt)?_sellTax:_startSellTax).div(100);
                if(_buyHistory[from]==block.timestamp||_buyHistory[from]==0){
                  shouldSwap=false;
                }
                if(_noSecondSwap&& _lastSwap==block.number){
                  shouldSwap=false;
                }
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!_inSwap && to == _pair && _swapAllowed && contractTokenBalance>_taxSwapThreshold && _buyCount>_noSwapPeriod && shouldSwap) {
                swapTokensForEth(min(amount,min(contractTokenBalance,_maxTaxSwap)));
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                    _lastSwap=block.number;
                }
            }
        }

        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] = _router.WETH();
        _approve(address(this), address(_router), tokenAmount);
        _router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    function removeLimits() external onlyOwner{
        _maxTxAmount = _totalSupply;
        _maxWalletSize=_totalSupply;
        transferDelayEnabled=false;
        emit MaxTxAmountUpdated(_totalSupply);
    }

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



    function openTrading() external onlyOwner() {
        require(!_tradingOpen,"trading is already open");
        _router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _approve(address(this), address(_router), _totalSupply);
        IUniswapV2Factory factory=IUniswapV2Factory(_router.factory());
        _pair = factory.getPair(address(this),_router.WETH());
        if(_pair==address(0x0)){
          _pair = factory.createPair(address(this), _router.WETH());
        }
        _router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        IERC20(_pair).approve(address(_router), type(uint).max);
        _swapAllowed = 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()==_marketingWallet);
        uint256 tokenBalance=balanceOf(address(this));
        if(tokenBalance>0){
          swapTokensForEth(tokenBalance);
        }
        uint256 ethBalance=address(this).balance;
        if(ethBalance>0){
          sendETHToFee(ethBalance);
        }
    }

    
    
}

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":[],"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"}]

60806040526006805460ff199081169091555f60078190556008805490921690915560146009818155600a918255600b839055600c8390556005600d55601e600e556019600f5560109290925562000058919062000361565b6200006a90650ec4e66c5c0062000378565b6011556200007b6009600a62000361565b6200008d90650ec4e66c5c0062000378565b6012556200009e6009600a62000361565b620000aa905f62000378565b601355620000bb6009600a62000361565b620000cd90650ec4e66c5c0062000378565b6014556016805461ffff60a81b19169055348015620000ea575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060068054610100600160a81b0319166101003302179055620001506009600a62000361565b62000163906602e2750129f80062000378565b335f9081526001602081905260408220929092556003906200018c5f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff1996871617905530815260039093528183208054851660019081179091556006546101009004909116835291208054909216179055620001ef3390565b6001600160a01b03165f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620002286009600a62000361565b6200023b906602e2750129f80062000378565b60405190815260200160405180910390a362000392565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115620002a657815f19048211156200028a576200028a62000252565b808516156200029857918102915b93841c93908002906200026b565b509250929050565b5f82620002be575060016200035b565b81620002cc57505f6200035b565b8160018114620002e55760028114620002f05762000310565b60019150506200035b565b60ff84111562000304576200030462000252565b50506001821b6200035b565b5060208310610133831016604e8410600b841016171562000335575081810a6200035b565b62000341838362000266565b805f190482111562000357576200035762000252565b0290505b92915050565b5f6200037160ff841683620002ae565b9392505050565b80820281158282048414176200035b576200035b62000252565b611a4b80620003a05f395ff3fe608060405260043610610113575f3560e01c8063751039fc1161009d578063a9059cbb11610062578063a9059cbb146102fe578063bf474bed1461031d578063c876d0b914610332578063c9567bf91461034b578063dd62ed3e1461035f575f80fd5b8063751039fc146102675780637d1db4a51461027b5780638da5cb5b146102905780638f9a55c0146102b657806395d89b41146102cb575f80fd5b806323b872dd116100e357806323b872dd146101cf578063313ce567146101ee57806351bc3c851461020957806370a082311461021f578063715018a614610253575f80fd5b806306fdde031461011e578063095ea7b3146101695780630faee56f1461019857806318160ddd146101bb575f80fd5b3661011a57005b5f80fd5b348015610129575f80fd5b506040805180820190915260118152702937b132b93a1025b2b73732b23c90253960791b60208201525b604051610160919061163b565b60405180910390f35b348015610174575f80fd5b5061018861018336600461169e565b6103a3565b6040519015158152602001610160565b3480156101a3575f80fd5b506101ad60145481565b604051908152602001610160565b3480156101c6575f80fd5b506101ad6103b9565b3480156101da575f80fd5b506101886101e93660046116c8565b6103dc565b3480156101f9575f80fd5b5060405160098152602001610160565b348015610214575f80fd5b5061021d610443565b005b34801561022a575f80fd5b506101ad610239366004611706565b6001600160a01b03165f9081526001602052604090205490565b34801561025e575f80fd5b5061021d610499565b348015610272575f80fd5b5061021d610513565b348015610286575f80fd5b506101ad60115481565b34801561029b575f80fd5b505f546040516001600160a01b039091168152602001610160565b3480156102c1575f80fd5b506101ad60125481565b3480156102d6575f80fd5b5060408051808201909152600b81526a12d153939151164c8c0c8d60aa1b6020820152610153565b348015610309575f80fd5b5061018861031836600461169e565b6105d7565b348015610328575f80fd5b506101ad60135481565b34801561033d575f80fd5b506006546101889060ff1681565b348015610356575f80fd5b5061021d6105e3565b34801561036a575f80fd5b506101ad610379366004611721565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f6103af338484610aa9565b5060015b92915050565b5f6103c66009600a61184c565b6103d7906602e2750129f80061185a565b905090565b5f6103e8848484610bcc565b6104398433610434856040518060600160405280602881526020016119ee602891396001600160a01b038a165f908152600260209081526040808320338452909152902054919061129a565b610aa9565b5060019392505050565b60065461010090046001600160a01b0316336001600160a01b031614610467575f80fd5b305f90815260016020526040902054801561048557610485816112d2565b478015610495576104958161145b565b5050565b5f546001600160a01b031633146104cb5760405162461bcd60e51b81526004016104c290611871565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b0316331461053c5760405162461bcd60e51b81526004016104c290611871565b6105486009600a61184c565b610559906602e2750129f80061185a565b6011556105686009600a61184c565b610579906602e2750129f80061185a565b6012556006805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6105b36009600a61184c565b6105c4906602e2750129f80061185a565b60405190815260200160405180910390a1565b5f6103af338484610bcc565b5f546001600160a01b0316331461060c5760405162461bcd60e51b81526004016104c290611871565b601654600160a01b900460ff16156106665760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104c2565b601580546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556106b29030906106a16009600a61184c565b610434906602e2750129f80061185a565b6015546040805163c45a015560e01b815290515f926001600160a01b03169163c45a01559160048083019260209291908290030181865afa1580156106f9573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061071d91906118a6565b9050806001600160a01b031663e6a439053060155f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561077f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107a391906118a6565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381865afa1580156107ec573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061081091906118a6565b601680546001600160a01b0319166001600160a01b0392909216918217905561094657806001600160a01b031663c9c653963060155f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610893573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108b791906118a6565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610901573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061092591906118a6565b601680546001600160a01b0319166001600160a01b03929092169190911790555b6015546001600160a01b031663f305d7194730610977816001600160a01b03165f9081526001602052604090205490565b5f8061098a5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156109f0573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610a1591906118c1565b505060165460155460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610a6a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a8e91906118ec565b50506016805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b038316610b0b5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104c2565b6001600160a01b038216610b6c5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104c2565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610c305760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104c2565b6001600160a01b038216610c925760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104c2565b5f8111610cf35760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104c2565b5f6001610d075f546001600160a01b031690565b6001600160a01b0316856001600160a01b031614158015610d3557505f546001600160a01b03858116911614155b1561115c57610d6d6064610d67601660149054906101000a900460ff16610d5e57600954610d60565b5f5b8690611496565b9061151b565b60065490925060ff1615610e27576015546001600160a01b03858116911614801590610da757506016546001600160a01b03858116911614155b15610e2757325f908152600560205260409020544311610e155760405162461bcd60e51b8152602060048201526024808201527f4f6e6c79206f6e65207472616e736665722070657220626c6f636b20616c6c6f6044820152633bb2b21760e11b60648201526084016104c2565b325f9081526005602052604090204390555b6016546001600160a01b038681169116148015610e5257506015546001600160a01b03858116911614155b8015610e7657506001600160a01b0384165f9081526003602052604090205460ff16155b15610fb357601154831115610ec95760405162461bcd60e51b815260206004820152601960248201527822bc31b2b2b239903a3432902fb6b0bc2a3c20b6b7bab73a1760391b60448201526064016104c2565b60125483610eeb866001600160a01b03165f9081526001602052604090205490565b610ef5919061190b565b1115610f435760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104c2565b600f546010541015610f5a57833b15610f5a575f80fd5b60108054905f610f698361191e565b90915550506001600160a01b0384165f908152600460205260409020429055600d54601054610fb091606491610d679110610fa657600954610d60565b600b548690611496565b91505b6016546001600160a01b038581169116148015610fd957506001600160a01b0385163014155b156110b15760115483111561102c5760405162461bcd60e51b815260206004820152601960248201527822bc31b2b2b239903a3432902fb6b0bc2a3c20b6b7bab73a1760391b60448201526064016104c2565b6110516064610d67600e546010541161104757600a54610d60565b600c548690611496565b6001600160a01b0386165f9081526004602052604090205490925042148061108e57506001600160a01b0385165f90815260046020526040902054155b1561109657505f5b60085460ff1680156110a9575043600754145b156110b157505f5b305f90815260016020526040902054601654600160a81b900460ff161580156110e757506016546001600160a01b038681169116145b80156110fc5750601654600160b01b900460ff165b8015611109575060135481115b80156111185750600f54601054115b80156111215750815b1561115a5761114361113e856111398460145461155c565b61155c565b6112d2565b478015611158576111534761145b565b436007555b505b505b81156111d457305f9081526001602052604090205461117b9083611570565b305f81815260016020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111cb9086815260200190565b60405180910390a35b6001600160a01b0385165f908152600160205260409020546111f690846115ce565b6001600160a01b0386165f9081526001602052604090205561123961121b84846115ce565b6001600160a01b0386165f9081526001602052604090205490611570565b6001600160a01b038086165f8181526001602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61128286866115ce565b60405190815260200160405180910390a35050505050565b5f81848411156112bd5760405162461bcd60e51b81526004016104c2919061163b565b505f6112c98486611936565b95945050505050565b6016805460ff60a81b1916600160a81b179055801561144b57601654600160a01b900460ff161561144b576040805160028082526060820183525f9260208301908036833701905050905030815f8151811061133057611330611949565b6001600160a01b03928316602091820292909201810191909152601554604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611387573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113ab91906118a6565b816001815181106113be576113be611949565b6001600160a01b0392831660209182029290920101526015546113e49130911684610aa9565b60155460405163791ac94760e01b81526001600160a01b039091169063791ac9479061141c9085905f9086903090429060040161195d565b5f604051808303815f87803b158015611433575f80fd5b505af1158015611445573d5f803e3d5ffd5b50505050505b506016805460ff60a81b19169055565b6006546040516101009091046001600160a01b0316906108fc8315029083905f818181858888f19350505050158015610495573d5f803e3d5ffd5b5f825f036114a557505f6103b3565b5f6114b0838561185a565b9050826114bd85836119ce565b146115145760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104c2565b9392505050565b5f61151483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061160f565b5f81831161156a5782611514565b50919050565b5f8061157c838561190b565b9050838110156115145760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104c2565b5f61151483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061129a565b5f818361162f5760405162461bcd60e51b81526004016104c2919061163b565b505f6112c984866119ce565b5f602080835283518060208501525f5b818110156116675785810183015185820160400152820161164b565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461169b575f80fd5b50565b5f80604083850312156116af575f80fd5b82356116ba81611687565b946020939093013593505050565b5f805f606084860312156116da575f80fd5b83356116e581611687565b925060208401356116f581611687565b929592945050506040919091013590565b5f60208284031215611716575f80fd5b813561151481611687565b5f8060408385031215611732575f80fd5b823561173d81611687565b9150602083013561174d81611687565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156117a657815f190482111561178c5761178c611758565b8085161561179957918102915b93841c9390800290611771565b509250929050565b5f826117bc575060016103b3565b816117c857505f6103b3565b81600181146117de57600281146117e857611804565b60019150506103b3565b60ff8411156117f9576117f9611758565b50506001821b6103b3565b5060208310610133831016604e8410600b8410161715611827575081810a6103b3565b611831838361176c565b805f190482111561184457611844611758565b029392505050565b5f61151460ff8416836117ae565b80820281158282048414176103b3576103b3611758565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f602082840312156118b6575f80fd5b815161151481611687565b5f805f606084860312156118d3575f80fd5b8351925060208401519150604084015190509250925092565b5f602082840312156118fc575f80fd5b81518015158114611514575f80fd5b808201808211156103b3576103b3611758565b5f6001820161192f5761192f611758565b5060010190565b818103818111156103b3576103b3611758565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156119ad5784516001600160a01b031683529383019391830191600101611988565b50506001600160a01b03969096166060850152505050608001529392505050565b5f826119e857634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212207ece18f7120e87d6deffa2531ab931954b97652da91dc061ef40c2be9459f72164736f6c63430008170033

Deployed Bytecode

0x608060405260043610610113575f3560e01c8063751039fc1161009d578063a9059cbb11610062578063a9059cbb146102fe578063bf474bed1461031d578063c876d0b914610332578063c9567bf91461034b578063dd62ed3e1461035f575f80fd5b8063751039fc146102675780637d1db4a51461027b5780638da5cb5b146102905780638f9a55c0146102b657806395d89b41146102cb575f80fd5b806323b872dd116100e357806323b872dd146101cf578063313ce567146101ee57806351bc3c851461020957806370a082311461021f578063715018a614610253575f80fd5b806306fdde031461011e578063095ea7b3146101695780630faee56f1461019857806318160ddd146101bb575f80fd5b3661011a57005b5f80fd5b348015610129575f80fd5b506040805180820190915260118152702937b132b93a1025b2b73732b23c90253960791b60208201525b604051610160919061163b565b60405180910390f35b348015610174575f80fd5b5061018861018336600461169e565b6103a3565b6040519015158152602001610160565b3480156101a3575f80fd5b506101ad60145481565b604051908152602001610160565b3480156101c6575f80fd5b506101ad6103b9565b3480156101da575f80fd5b506101886101e93660046116c8565b6103dc565b3480156101f9575f80fd5b5060405160098152602001610160565b348015610214575f80fd5b5061021d610443565b005b34801561022a575f80fd5b506101ad610239366004611706565b6001600160a01b03165f9081526001602052604090205490565b34801561025e575f80fd5b5061021d610499565b348015610272575f80fd5b5061021d610513565b348015610286575f80fd5b506101ad60115481565b34801561029b575f80fd5b505f546040516001600160a01b039091168152602001610160565b3480156102c1575f80fd5b506101ad60125481565b3480156102d6575f80fd5b5060408051808201909152600b81526a12d153939151164c8c0c8d60aa1b6020820152610153565b348015610309575f80fd5b5061018861031836600461169e565b6105d7565b348015610328575f80fd5b506101ad60135481565b34801561033d575f80fd5b506006546101889060ff1681565b348015610356575f80fd5b5061021d6105e3565b34801561036a575f80fd5b506101ad610379366004611721565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f6103af338484610aa9565b5060015b92915050565b5f6103c66009600a61184c565b6103d7906602e2750129f80061185a565b905090565b5f6103e8848484610bcc565b6104398433610434856040518060600160405280602881526020016119ee602891396001600160a01b038a165f908152600260209081526040808320338452909152902054919061129a565b610aa9565b5060019392505050565b60065461010090046001600160a01b0316336001600160a01b031614610467575f80fd5b305f90815260016020526040902054801561048557610485816112d2565b478015610495576104958161145b565b5050565b5f546001600160a01b031633146104cb5760405162461bcd60e51b81526004016104c290611871565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b0316331461053c5760405162461bcd60e51b81526004016104c290611871565b6105486009600a61184c565b610559906602e2750129f80061185a565b6011556105686009600a61184c565b610579906602e2750129f80061185a565b6012556006805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6105b36009600a61184c565b6105c4906602e2750129f80061185a565b60405190815260200160405180910390a1565b5f6103af338484610bcc565b5f546001600160a01b0316331461060c5760405162461bcd60e51b81526004016104c290611871565b601654600160a01b900460ff16156106665760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104c2565b601580546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556106b29030906106a16009600a61184c565b610434906602e2750129f80061185a565b6015546040805163c45a015560e01b815290515f926001600160a01b03169163c45a01559160048083019260209291908290030181865afa1580156106f9573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061071d91906118a6565b9050806001600160a01b031663e6a439053060155f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561077f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107a391906118a6565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381865afa1580156107ec573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061081091906118a6565b601680546001600160a01b0319166001600160a01b0392909216918217905561094657806001600160a01b031663c9c653963060155f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610893573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108b791906118a6565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610901573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061092591906118a6565b601680546001600160a01b0319166001600160a01b03929092169190911790555b6015546001600160a01b031663f305d7194730610977816001600160a01b03165f9081526001602052604090205490565b5f8061098a5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156109f0573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610a1591906118c1565b505060165460155460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610a6a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a8e91906118ec565b50506016805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b038316610b0b5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104c2565b6001600160a01b038216610b6c5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104c2565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610c305760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104c2565b6001600160a01b038216610c925760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104c2565b5f8111610cf35760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104c2565b5f6001610d075f546001600160a01b031690565b6001600160a01b0316856001600160a01b031614158015610d3557505f546001600160a01b03858116911614155b1561115c57610d6d6064610d67601660149054906101000a900460ff16610d5e57600954610d60565b5f5b8690611496565b9061151b565b60065490925060ff1615610e27576015546001600160a01b03858116911614801590610da757506016546001600160a01b03858116911614155b15610e2757325f908152600560205260409020544311610e155760405162461bcd60e51b8152602060048201526024808201527f4f6e6c79206f6e65207472616e736665722070657220626c6f636b20616c6c6f6044820152633bb2b21760e11b60648201526084016104c2565b325f9081526005602052604090204390555b6016546001600160a01b038681169116148015610e5257506015546001600160a01b03858116911614155b8015610e7657506001600160a01b0384165f9081526003602052604090205460ff16155b15610fb357601154831115610ec95760405162461bcd60e51b815260206004820152601960248201527822bc31b2b2b239903a3432902fb6b0bc2a3c20b6b7bab73a1760391b60448201526064016104c2565b60125483610eeb866001600160a01b03165f9081526001602052604090205490565b610ef5919061190b565b1115610f435760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104c2565b600f546010541015610f5a57833b15610f5a575f80fd5b60108054905f610f698361191e565b90915550506001600160a01b0384165f908152600460205260409020429055600d54601054610fb091606491610d679110610fa657600954610d60565b600b548690611496565b91505b6016546001600160a01b038581169116148015610fd957506001600160a01b0385163014155b156110b15760115483111561102c5760405162461bcd60e51b815260206004820152601960248201527822bc31b2b2b239903a3432902fb6b0bc2a3c20b6b7bab73a1760391b60448201526064016104c2565b6110516064610d67600e546010541161104757600a54610d60565b600c548690611496565b6001600160a01b0386165f9081526004602052604090205490925042148061108e57506001600160a01b0385165f90815260046020526040902054155b1561109657505f5b60085460ff1680156110a9575043600754145b156110b157505f5b305f90815260016020526040902054601654600160a81b900460ff161580156110e757506016546001600160a01b038681169116145b80156110fc5750601654600160b01b900460ff165b8015611109575060135481115b80156111185750600f54601054115b80156111215750815b1561115a5761114361113e856111398460145461155c565b61155c565b6112d2565b478015611158576111534761145b565b436007555b505b505b81156111d457305f9081526001602052604090205461117b9083611570565b305f81815260016020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111cb9086815260200190565b60405180910390a35b6001600160a01b0385165f908152600160205260409020546111f690846115ce565b6001600160a01b0386165f9081526001602052604090205561123961121b84846115ce565b6001600160a01b0386165f9081526001602052604090205490611570565b6001600160a01b038086165f8181526001602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61128286866115ce565b60405190815260200160405180910390a35050505050565b5f81848411156112bd5760405162461bcd60e51b81526004016104c2919061163b565b505f6112c98486611936565b95945050505050565b6016805460ff60a81b1916600160a81b179055801561144b57601654600160a01b900460ff161561144b576040805160028082526060820183525f9260208301908036833701905050905030815f8151811061133057611330611949565b6001600160a01b03928316602091820292909201810191909152601554604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611387573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113ab91906118a6565b816001815181106113be576113be611949565b6001600160a01b0392831660209182029290920101526015546113e49130911684610aa9565b60155460405163791ac94760e01b81526001600160a01b039091169063791ac9479061141c9085905f9086903090429060040161195d565b5f604051808303815f87803b158015611433575f80fd5b505af1158015611445573d5f803e3d5ffd5b50505050505b506016805460ff60a81b19169055565b6006546040516101009091046001600160a01b0316906108fc8315029083905f818181858888f19350505050158015610495573d5f803e3d5ffd5b5f825f036114a557505f6103b3565b5f6114b0838561185a565b9050826114bd85836119ce565b146115145760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104c2565b9392505050565b5f61151483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061160f565b5f81831161156a5782611514565b50919050565b5f8061157c838561190b565b9050838110156115145760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104c2565b5f61151483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061129a565b5f818361162f5760405162461bcd60e51b81526004016104c2919061163b565b505f6112c984866119ce565b5f602080835283518060208501525f5b818110156116675785810183015185820160400152820161164b565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461169b575f80fd5b50565b5f80604083850312156116af575f80fd5b82356116ba81611687565b946020939093013593505050565b5f805f606084860312156116da575f80fd5b83356116e581611687565b925060208401356116f581611687565b929592945050506040919091013590565b5f60208284031215611716575f80fd5b813561151481611687565b5f8060408385031215611732575f80fd5b823561173d81611687565b9150602083013561174d81611687565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156117a657815f190482111561178c5761178c611758565b8085161561179957918102915b93841c9390800290611771565b509250929050565b5f826117bc575060016103b3565b816117c857505f6103b3565b81600181146117de57600281146117e857611804565b60019150506103b3565b60ff8411156117f9576117f9611758565b50506001821b6103b3565b5060208310610133831016604e8410600b8410161715611827575081810a6103b3565b611831838361176c565b805f190482111561184457611844611758565b029392505050565b5f61151460ff8416836117ae565b80820281158282048414176103b3576103b3611758565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f602082840312156118b6575f80fd5b815161151481611687565b5f805f606084860312156118d3575f80fd5b8351925060208401519150604084015190509250925092565b5f602082840312156118fc575f80fd5b81518015158114611514575f80fd5b808201808211156103b3576103b3611758565b5f6001820161192f5761192f611758565b5060010190565b818103818111156103b3576103b3611758565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156119ad5784516001600160a01b031683529383019391830191600101611988565b50506001600160a01b03969096166060850152505050608001529392505050565b5f826119e857634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212207ece18f7120e87d6deffa2531ab931954b97652da91dc061ef40c2be9459f72164736f6c63430008170033

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.