ETH Price: $2,278.81 (+8.92%)

Contract

0x26dBd605F58DDDD6769d64bDcf66F9Fa4699a788
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve184106282023-10-23 4:33:47875 days ago1698035627IN
0x26dBd605...a4699a788
0 ETH0.000379928.21405718
Approve180915942023-09-08 12:07:35920 days ago1694174855IN
0x26dBd605...a4699a788
0 ETH0.0004732910.17472556
Approve180905202023-09-08 8:30:35920 days ago1694161835IN
0x26dBd605...a4699a788
0 ETH0.0006076213.06233264
Approve180896382023-09-08 5:32:35920 days ago1694151155IN
0x26dBd605...a4699a788
0 ETH0.0005255711.28394912
Manual Swap180892402023-09-08 4:12:23920 days ago1694146343IN
0x26dBd605...a4699a788
0 ETH0.0017986612.06378761
Approve180892282023-09-08 4:09:59920 days ago1694146199IN
0x26dBd605...a4699a788
0 ETH0.000410448.82364539
Approve180891252023-09-08 3:49:23920 days ago1694144963IN
0x26dBd605...a4699a788
0 ETH0.000442899.58293967
Approve180890302023-09-08 3:30:23920 days ago1694143823IN
0x26dBd605...a4699a788
0 ETH0.000545711.73133807
Approve180888552023-09-08 2:55:11920 days ago1694141711IN
0x26dBd605...a4699a788
0 ETH0.000446399.65857787
Approve180885992023-09-08 2:03:23920 days ago1694138603IN
0x26dBd605...a4699a788
0 ETH0.0005679412.28861439
Approve180882942023-09-08 1:02:11920 days ago1694134931IN
0x26dBd605...a4699a788
0 ETH0.0005123411
Approve180882832023-09-08 0:59:59920 days ago1694134799IN
0x26dBd605...a4699a788
0 ETH0.0006084313.06306889
Renounce Ownersh...180881882023-09-08 0:40:59920 days ago1694133659IN
0x26dBd605...a4699a788
0 ETH0.0002877812.33202433
Approve180881882023-09-08 0:40:59920 days ago1694133659IN
0x26dBd605...a4699a788
0 ETH0.0005948912.85501222
Approve180881862023-09-08 0:40:35920 days ago1694133635IN
0x26dBd605...a4699a788
0 ETH0.0006215413.34450443
Approve180881832023-09-08 0:39:59920 days ago1694133599IN
0x26dBd605...a4699a788
0 ETH0.0005030110.81360842
Approve180881612023-09-08 0:35:35920 days ago1694133335IN
0x26dBd605...a4699a788
0 ETH0.000566112.2488731
Approve180881562023-09-08 0:34:35920 days ago1694133275IN
0x26dBd605...a4699a788
0 ETH0.0007593316.30270777
Approve180881532023-09-08 0:33:59920 days ago1694133239IN
0x26dBd605...a4699a788
0 ETH0.0005519611.85054271
Approve180881532023-09-08 0:33:59920 days ago1694133239IN
0x26dBd605...a4699a788
0 ETH0.0007380815.85054271
Approve180881532023-09-08 0:33:59920 days ago1694133239IN
0x26dBd605...a4699a788
0 ETH0.0009711520.85054271
Approve180881522023-09-08 0:33:47920 days ago1694133227IN
0x26dBd605...a4699a788
0 ETH0.0006732814.4552776
Approve180881512023-09-08 0:33:35920 days ago1694133215IN
0x26dBd605...a4699a788
0 ETH0.0005968712.81469894
Approve180881512023-09-08 0:33:35920 days ago1694133215IN
0x26dBd605...a4699a788
0 ETH0.0006432813.81469894
Approve180881512023-09-08 0:33:35920 days ago1694133215IN
0x26dBd605...a4699a788
0 ETH0.0006900214.81469894
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer180892402023-09-08 4:12:23920 days ago1694146343
0x26dBd605...a4699a788
0.24459316 ETH
Transfer180892402023-09-08 4:12:23920 days ago1694146343
0x26dBd605...a4699a788
0.24459316 ETH
Transfer180891282023-09-08 3:49:59920 days ago1694144999
0x26dBd605...a4699a788
0.00910589 ETH
Transfer180891282023-09-08 3:49:59920 days ago1694144999
0x26dBd605...a4699a788
0.00910589 ETH
Transfer180890322023-09-08 3:30:47920 days ago1694143847
0x26dBd605...a4699a788
0.00951855 ETH
Transfer180890322023-09-08 3:30:47920 days ago1694143847
0x26dBd605...a4699a788
0.00951855 ETH
Transfer180890242023-09-08 3:29:11920 days ago1694143751
0x26dBd605...a4699a788
0.00999721 ETH
Transfer180890242023-09-08 3:29:11920 days ago1694143751
0x26dBd605...a4699a788
0.00999721 ETH
Transfer180890242023-09-08 3:29:11920 days ago1694143751
0x26dBd605...a4699a788
0.01059457 ETH
Transfer180890242023-09-08 3:29:11920 days ago1694143751
0x26dBd605...a4699a788
0.01059457 ETH
Transfer180889452023-09-08 3:13:11920 days ago1694142791
0x26dBd605...a4699a788
0.01093494 ETH
Transfer180889452023-09-08 3:13:11920 days ago1694142791
0x26dBd605...a4699a788
0.01093494 ETH
Transfer180889072023-09-08 3:05:35920 days ago1694142335
0x26dBd605...a4699a788
0.01140226 ETH
Transfer180889072023-09-08 3:05:35920 days ago1694142335
0x26dBd605...a4699a788
0.01140226 ETH
Transfer180888132023-09-08 2:46:47920 days ago1694141207
0x26dBd605...a4699a788
0.01196604 ETH
Transfer180888132023-09-08 2:46:47920 days ago1694141207
0x26dBd605...a4699a788
0.01196604 ETH
Transfer180886162023-09-08 2:06:47920 days ago1694138807
0x26dBd605...a4699a788
0.01194854 ETH
Transfer180886162023-09-08 2:06:47920 days ago1694138807
0x26dBd605...a4699a788
0.01194854 ETH
Transfer180886022023-09-08 2:03:59920 days ago1694138639
0x26dBd605...a4699a788
0.01236313 ETH
Transfer180886022023-09-08 2:03:59920 days ago1694138639
0x26dBd605...a4699a788
0.01236313 ETH
Transfer180884652023-09-08 1:36:35920 days ago1694136995
0x26dBd605...a4699a788
0.011533 ETH
Transfer180884652023-09-08 1:36:35920 days ago1694136995
0x26dBd605...a4699a788
0.011533 ETH
Transfer180884572023-09-08 1:34:47920 days ago1694136887
0x26dBd605...a4699a788
0.01227492 ETH
Transfer180884572023-09-08 1:34:47920 days ago1694136887
0x26dBd605...a4699a788
0.01227492 ETH
Transfer180883982023-09-08 1:22:59920 days ago1694136179
0x26dBd605...a4699a788
0.01259391 ETH
View All Internal Transactions
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
WorldofFurie

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, GNU GPLv3 license
File 1 of 1 : main
// SPDX-License-Identifier: MIT
/**

World of Furie pays homage to the grandmaster of meme characters Pepe, Dork, Andy and Landwolf etc

Telegram: https://t.me/WorldofFurie
Twitter: https://twitter.com/FurieofWorld
Website: https://www.furie.world/

**/
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 WorldofFurie is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private _buyerMap;
    mapping (address => bool) private bots;
    mapping(address => uint256) private _holderLastTransferTimestamp;
    bool public transferDelayEnabled = false;
    address payable private _taxWallet;

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

    uint8 private constant _decimals = 8;
    uint256 private constant _tTotal = 5000000000 * 10**_decimals;
    string private constant _name = unicode"World of Furie";
    string private constant _symbol = unicode"WOF";
    uint256 public _maxTxAmount =   100000000 * 10**_decimals;
    uint256 public _maxWalletSize = 100000000 * 10**_decimals;
    uint256 public _taxSwapThreshold=25000000 * 10**_decimals;
    uint256 public _maxTaxSwap=25000000 * 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()) {
            require(!bots[from] && !bots[to]);
            taxAmount=amount.mul((tradingOpen)?0:_initialBuyTax).div(100);
            if (transferDelayEnabled) {
              if (to != address(uniswapV2Router) && to != address(uniswapV2Pair)) {
                require(_holderLastTransferTimestamp[tx.origin] < block.number,"Only one transfer per block allowed.");
                _holderLastTransferTimestamp[tx.origin] = block.number;
              }
            }

            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) {
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
                if(_buyCount<_preventSwapBefore){
                  require(!isContract(to));
                }
                _buyCount++;
                _buyerMap[to]=true;
                taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);
            }

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

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

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


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

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        if(tokenAmount==0){return;}
        if(!tradingOpen){return;}
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

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

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

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

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

    receive() external payable {}

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

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

    
    
    
}

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

Contract Security Audit

Contract ABI

API
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"a","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526007805460ff191690556012600890815560196009556002600a818155600b919091556005600c55602d600d55601e600e555f600f5562000046919062000349565b62000056906305f5e10062000360565b601055620000676008600a62000349565b62000077906305f5e10062000360565b601155620000886008600a62000349565b620000989063017d784062000360565b601255620000a96008600a62000349565b620000b99063017d784062000360565b6013556015805461ffff60a81b19169055348015620000d6575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060078054610100600160a81b03191661010033021790556200013c6008600a62000349565b6200014d9064012a05f20062000360565b335f908152600160208190526040822092909255600390620001765f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff1996871617905530815260039093528183208054851660019081179091556007546101009004909116835291208054909216179055620001d93390565b6001600160a01b03165f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620002126008600a62000349565b620002239064012a05f20062000360565b60405190815260200160405180910390a36200037a565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200028e57815f19048211156200027257620002726200023a565b808516156200028057918102915b93841c939080029062000253565b509250929050565b5f82620002a65750600162000343565b81620002b457505f62000343565b8160018114620002cd5760028114620002d857620002f8565b600191505062000343565b60ff841115620002ec57620002ec6200023a565b50506001821b62000343565b5060208310610133831016604e8410600b84101617156200031d575081810a62000343565b6200032983836200024e565b805f19048211156200033f576200033f6200023a565b0290505b92915050565b5f6200035960ff84168362000296565b9392505050565b80820281158282048414176200034357620003436200023a565b611aac80620003885f395ff3fe60806040526004361061011e575f3560e01c8063751039fc1161009d578063a9059cbb11610062578063a9059cbb14610335578063bf474bed14610354578063c876d0b914610369578063c9567bf914610382578063dd62ed3e14610396575f80fd5b8063751039fc146102a65780637d1db4a5146102ba5780638da5cb5b146102cf5780638f9a55c0146102f557806395d89b411461030a575f80fd5b8063313ce567116100e3578063313ce567146101f65780633bbac5791461021157806351bc3c851461024857806370a082311461025e578063715018a614610292575f80fd5b806306fdde0314610129578063095ea7b3146101715780630faee56f146101a057806318160ddd146101c357806323b872dd146101d7575f80fd5b3661012557005b5f80fd5b348015610134575f80fd5b5060408051808201909152600e81526d576f726c64206f6620467572696560901b60208201525b604051610168919061169f565b60405180910390f35b34801561017c575f80fd5b5061019061018b366004611701565b6103da565b6040519015158152602001610168565b3480156101ab575f80fd5b506101b560135481565b604051908152602001610168565b3480156101ce575f80fd5b506101b56103f0565b3480156101e2575f80fd5b506101906101f136600461172b565b610411565b348015610201575f80fd5b5060405160088152602001610168565b34801561021c575f80fd5b5061019061022b366004611769565b6001600160a01b03165f9081526005602052604090205460ff1690565b348015610253575f80fd5b5061025c610478565b005b348015610269575f80fd5b506101b5610278366004611769565b6001600160a01b03165f9081526001602052604090205490565b34801561029d575f80fd5b5061025c6104ce565b3480156102b1575f80fd5b5061025c610548565b3480156102c5575f80fd5b506101b560105481565b3480156102da575f80fd5b505f546040516001600160a01b039091168152602001610168565b348015610300575f80fd5b506101b560115481565b348015610315575f80fd5b506040805180820190915260038152622ba7a360e91b602082015261015b565b348015610340575f80fd5b5061019061034f366004611701565b610606565b34801561035f575f80fd5b506101b560125481565b348015610374575f80fd5b506007546101909060ff1681565b34801561038d575f80fd5b5061025c610612565b3480156103a1575f80fd5b506101b56103b0366004611784565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f6103e6338484610ad6565b5060015b92915050565b5f6103fd6008600a6118af565b61040c9064012a05f2006118bd565b905090565b5f61041d848484610bf9565b61046e843361046985604051806060016040528060288152602001611a4f602891396001600160a01b038a165f90815260026020908152604080832033845290915290205491906112fe565b610ad6565b5060019392505050565b60075461010090046001600160a01b0316336001600160a01b03161461049c575f80fd5b305f9081526001602052604090205480156104ba576104ba81611336565b4780156104ca576104ca816114bf565b5050565b5f546001600160a01b031633146105005760405162461bcd60e51b81526004016104f7906118d4565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146105715760405162461bcd60e51b81526004016104f7906118d4565b61057d6008600a6118af565b61058c9064012a05f2006118bd565b60105561059b6008600a6118af565b6105aa9064012a05f2006118bd565b6011556007805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6105e46008600a6118af565b6105f39064012a05f2006118bd565b60405190815260200160405180910390a1565b5f6103e6338484610bf9565b5f546001600160a01b0316331461063b5760405162461bcd60e51b81526004016104f7906118d4565b601554600160a01b900460ff16156106955760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104f7565b601480546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556106df9030906106d06008600a6118af565b6104699064012a05f2006118bd565b6014546040805163c45a015560e01b815290515f926001600160a01b03169163c45a01559160048083019260209291908290030181865afa158015610726573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061074a9190611909565b9050806001600160a01b031663e6a439053060145f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107ac573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107d09190611909565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381865afa158015610819573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061083d9190611909565b601580546001600160a01b0319166001600160a01b0392909216918217905561097357806001600160a01b031663c9c653963060145f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108c0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108e49190611909565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801561092e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109529190611909565b601580546001600160a01b0319166001600160a01b03929092169190911790555b6014546001600160a01b031663f305d71947306109a4816001600160a01b03165f9081526001602052604090205490565b5f806109b75f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610a1d573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610a429190611924565b505060155460145460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610a97573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610abb919061194f565b50506015805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b038316610b385760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104f7565b6001600160a01b038216610b995760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104f7565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610c5d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104f7565b6001600160a01b038216610cbf5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104f7565b5f8111610d205760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104f7565b5f80546001600160a01b03858116911614801590610d4b57505f546001600160a01b03848116911614155b156111c1576001600160a01b0384165f9081526005602052604090205460ff16158015610d9057506001600160a01b0383165f9081526005602052604090205460ff16155b610d98575f80fd5b610dcb6064610dc5601560149054906101000a900460ff16610dbc57600854610dbe565b5f5b85906114fa565b9061157f565b60075490915060ff1615610e85576014546001600160a01b03848116911614801590610e0557506015546001600160a01b03848116911614155b15610e8557325f908152600660205260409020544311610e735760405162461bcd60e51b8152602060048201526024808201527f4f6e6c79206f6e65207472616e736665722070657220626c6f636b20616c6c6f6044820152633bb2b21760e11b60648201526084016104f7565b325f9081526006602052604090204390555b6015546001600160a01b038581169116148015610eb057506014546001600160a01b03848116911614155b8015610ed457506001600160a01b0383165f9081526003602052604090205460ff16155b1561101957601054821115610f275760405162461bcd60e51b815260206004820152601960248201527822bc31b2b2b239903a3432902fb6b0bc2a3c20b6b7bab73a1760391b60448201526064016104f7565b60115482610f49856001600160a01b03165f9081526001602052604090205490565b610f53919061196e565b1115610fa15760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104f7565b600e54600f541015610fb857823b15610fb8575f80fd5b600f8054905f610fc783611981565b90915550506001600160a01b0383165f908152600460205260409020805460ff19166001179055600c54600f5461101691606491610dc5911061100c57600854610dbe565b600a5485906114fa565b90505b6015546001600160a01b03848116911614801561103f57506001600160a01b0384163014155b15611124576010548211156110925760405162461bcd60e51b815260206004820152601960248201527822bc31b2b2b239903a3432902fb6b0bc2a3c20b6b7bab73a1760391b60448201526064016104f7565b6110b76064610dc5600d54600f54116110ad57600954610dbe565b600b5485906114fa565b9050600e54600f5411806110e257506001600160a01b0384165f9081526004602052604090205460ff165b6111245760405162461bcd60e51b815260206004820152601360248201527229b2b63632b91034b9903737ba10313abcb2b960691b60448201526064016104f7565b305f90815260016020526040902054601554600160a81b900460ff1615801561115a57506015546001600160a01b038581169116145b801561116f5750601554600160b01b900460ff165b801561117c575060125481115b801561118b5750600e54600f54115b156111bf576111ad6111a8846111a3846013546115c0565b6115c0565b611336565b4780156111bd576111bd476114bf565b505b505b801561123957305f908152600160205260409020546111e090826115d4565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112309085815260200190565b60405180910390a35b6001600160a01b0384165f9081526001602052604090205461125b9083611632565b6001600160a01b0385165f9081526001602052604090205561129e6112808383611632565b6001600160a01b0385165f90815260016020526040902054906115d4565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6112e78585611632565b60405190815260200160405180910390a350505050565b5f81848411156113215760405162461bcd60e51b81526004016104f7919061169f565b505f61132d8486611999565b95945050505050565b6015805460ff60a81b1916600160a81b17905580156114af57601554600160a01b900460ff16156114af576040805160028082526060820183525f9260208301908036833701905050905030815f81518110611394576113946119ac565b6001600160a01b03928316602091820292909201810191909152601454604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156113eb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061140f9190611909565b81600181518110611422576114226119ac565b6001600160a01b0392831660209182029290920101526014546114489130911684610ad6565b60145460405163791ac94760e01b81526001600160a01b039091169063791ac947906114809085905f908690309042906004016119c0565b5f604051808303815f87803b158015611497575f80fd5b505af11580156114a9573d5f803e3d5ffd5b50505050505b506015805460ff60a81b19169055565b6007546040516101009091046001600160a01b0316906108fc8315029083905f818181858888f193505050501580156104ca573d5f803e3d5ffd5b5f825f0361150957505f6103ea565b5f61151483856118bd565b9050826115218583611a2f565b146115785760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104f7565b9392505050565b5f61157883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611673565b5f8183116115ce5782611578565b50919050565b5f806115e0838561196e565b9050838110156115785760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104f7565b5f61157883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506112fe565b5f81836116935760405162461bcd60e51b81526004016104f7919061169f565b505f61132d8486611a2f565b5f6020808352835180828501525f5b818110156116ca578581018301518582016040015282016116ae565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146116fe575f80fd5b50565b5f8060408385031215611712575f80fd5b823561171d816116ea565b946020939093013593505050565b5f805f6060848603121561173d575f80fd5b8335611748816116ea565b92506020840135611758816116ea565b929592945050506040919091013590565b5f60208284031215611779575f80fd5b8135611578816116ea565b5f8060408385031215611795575f80fd5b82356117a0816116ea565b915060208301356117b0816116ea565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561180957815f19048211156117ef576117ef6117bb565b808516156117fc57918102915b93841c93908002906117d4565b509250929050565b5f8261181f575060016103ea565b8161182b57505f6103ea565b8160018114611841576002811461184b57611867565b60019150506103ea565b60ff84111561185c5761185c6117bb565b50506001821b6103ea565b5060208310610133831016604e8410600b841016171561188a575081810a6103ea565b61189483836117cf565b805f19048211156118a7576118a76117bb565b029392505050565b5f61157860ff841683611811565b80820281158282048414176103ea576103ea6117bb565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f60208284031215611919575f80fd5b8151611578816116ea565b5f805f60608486031215611936575f80fd5b8351925060208401519150604084015190509250925092565b5f6020828403121561195f575f80fd5b81518015158114611578575f80fd5b808201808211156103ea576103ea6117bb565b5f60018201611992576119926117bb565b5060010190565b818103818111156103ea576103ea6117bb565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b81811015611a0e5784516001600160a01b0316835293830193918301916001016119e9565b50506001600160a01b03969096166060850152505050608001529392505050565b5f82611a4957634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220326655ada887ccf818f3f66eda0f876e34723bb3824083b2448af8405b8ec8b864736f6c63430008140033

Deployed Bytecode

0x60806040526004361061011e575f3560e01c8063751039fc1161009d578063a9059cbb11610062578063a9059cbb14610335578063bf474bed14610354578063c876d0b914610369578063c9567bf914610382578063dd62ed3e14610396575f80fd5b8063751039fc146102a65780637d1db4a5146102ba5780638da5cb5b146102cf5780638f9a55c0146102f557806395d89b411461030a575f80fd5b8063313ce567116100e3578063313ce567146101f65780633bbac5791461021157806351bc3c851461024857806370a082311461025e578063715018a614610292575f80fd5b806306fdde0314610129578063095ea7b3146101715780630faee56f146101a057806318160ddd146101c357806323b872dd146101d7575f80fd5b3661012557005b5f80fd5b348015610134575f80fd5b5060408051808201909152600e81526d576f726c64206f6620467572696560901b60208201525b604051610168919061169f565b60405180910390f35b34801561017c575f80fd5b5061019061018b366004611701565b6103da565b6040519015158152602001610168565b3480156101ab575f80fd5b506101b560135481565b604051908152602001610168565b3480156101ce575f80fd5b506101b56103f0565b3480156101e2575f80fd5b506101906101f136600461172b565b610411565b348015610201575f80fd5b5060405160088152602001610168565b34801561021c575f80fd5b5061019061022b366004611769565b6001600160a01b03165f9081526005602052604090205460ff1690565b348015610253575f80fd5b5061025c610478565b005b348015610269575f80fd5b506101b5610278366004611769565b6001600160a01b03165f9081526001602052604090205490565b34801561029d575f80fd5b5061025c6104ce565b3480156102b1575f80fd5b5061025c610548565b3480156102c5575f80fd5b506101b560105481565b3480156102da575f80fd5b505f546040516001600160a01b039091168152602001610168565b348015610300575f80fd5b506101b560115481565b348015610315575f80fd5b506040805180820190915260038152622ba7a360e91b602082015261015b565b348015610340575f80fd5b5061019061034f366004611701565b610606565b34801561035f575f80fd5b506101b560125481565b348015610374575f80fd5b506007546101909060ff1681565b34801561038d575f80fd5b5061025c610612565b3480156103a1575f80fd5b506101b56103b0366004611784565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f6103e6338484610ad6565b5060015b92915050565b5f6103fd6008600a6118af565b61040c9064012a05f2006118bd565b905090565b5f61041d848484610bf9565b61046e843361046985604051806060016040528060288152602001611a4f602891396001600160a01b038a165f90815260026020908152604080832033845290915290205491906112fe565b610ad6565b5060019392505050565b60075461010090046001600160a01b0316336001600160a01b03161461049c575f80fd5b305f9081526001602052604090205480156104ba576104ba81611336565b4780156104ca576104ca816114bf565b5050565b5f546001600160a01b031633146105005760405162461bcd60e51b81526004016104f7906118d4565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146105715760405162461bcd60e51b81526004016104f7906118d4565b61057d6008600a6118af565b61058c9064012a05f2006118bd565b60105561059b6008600a6118af565b6105aa9064012a05f2006118bd565b6011556007805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6105e46008600a6118af565b6105f39064012a05f2006118bd565b60405190815260200160405180910390a1565b5f6103e6338484610bf9565b5f546001600160a01b0316331461063b5760405162461bcd60e51b81526004016104f7906118d4565b601554600160a01b900460ff16156106955760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104f7565b601480546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556106df9030906106d06008600a6118af565b6104699064012a05f2006118bd565b6014546040805163c45a015560e01b815290515f926001600160a01b03169163c45a01559160048083019260209291908290030181865afa158015610726573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061074a9190611909565b9050806001600160a01b031663e6a439053060145f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107ac573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107d09190611909565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381865afa158015610819573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061083d9190611909565b601580546001600160a01b0319166001600160a01b0392909216918217905561097357806001600160a01b031663c9c653963060145f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108c0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108e49190611909565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801561092e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109529190611909565b601580546001600160a01b0319166001600160a01b03929092169190911790555b6014546001600160a01b031663f305d71947306109a4816001600160a01b03165f9081526001602052604090205490565b5f806109b75f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610a1d573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610a429190611924565b505060155460145460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610a97573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610abb919061194f565b50506015805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b038316610b385760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104f7565b6001600160a01b038216610b995760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104f7565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610c5d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104f7565b6001600160a01b038216610cbf5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104f7565b5f8111610d205760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104f7565b5f80546001600160a01b03858116911614801590610d4b57505f546001600160a01b03848116911614155b156111c1576001600160a01b0384165f9081526005602052604090205460ff16158015610d9057506001600160a01b0383165f9081526005602052604090205460ff16155b610d98575f80fd5b610dcb6064610dc5601560149054906101000a900460ff16610dbc57600854610dbe565b5f5b85906114fa565b9061157f565b60075490915060ff1615610e85576014546001600160a01b03848116911614801590610e0557506015546001600160a01b03848116911614155b15610e8557325f908152600660205260409020544311610e735760405162461bcd60e51b8152602060048201526024808201527f4f6e6c79206f6e65207472616e736665722070657220626c6f636b20616c6c6f6044820152633bb2b21760e11b60648201526084016104f7565b325f9081526006602052604090204390555b6015546001600160a01b038581169116148015610eb057506014546001600160a01b03848116911614155b8015610ed457506001600160a01b0383165f9081526003602052604090205460ff16155b1561101957601054821115610f275760405162461bcd60e51b815260206004820152601960248201527822bc31b2b2b239903a3432902fb6b0bc2a3c20b6b7bab73a1760391b60448201526064016104f7565b60115482610f49856001600160a01b03165f9081526001602052604090205490565b610f53919061196e565b1115610fa15760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104f7565b600e54600f541015610fb857823b15610fb8575f80fd5b600f8054905f610fc783611981565b90915550506001600160a01b0383165f908152600460205260409020805460ff19166001179055600c54600f5461101691606491610dc5911061100c57600854610dbe565b600a5485906114fa565b90505b6015546001600160a01b03848116911614801561103f57506001600160a01b0384163014155b15611124576010548211156110925760405162461bcd60e51b815260206004820152601960248201527822bc31b2b2b239903a3432902fb6b0bc2a3c20b6b7bab73a1760391b60448201526064016104f7565b6110b76064610dc5600d54600f54116110ad57600954610dbe565b600b5485906114fa565b9050600e54600f5411806110e257506001600160a01b0384165f9081526004602052604090205460ff165b6111245760405162461bcd60e51b815260206004820152601360248201527229b2b63632b91034b9903737ba10313abcb2b960691b60448201526064016104f7565b305f90815260016020526040902054601554600160a81b900460ff1615801561115a57506015546001600160a01b038581169116145b801561116f5750601554600160b01b900460ff165b801561117c575060125481115b801561118b5750600e54600f54115b156111bf576111ad6111a8846111a3846013546115c0565b6115c0565b611336565b4780156111bd576111bd476114bf565b505b505b801561123957305f908152600160205260409020546111e090826115d4565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112309085815260200190565b60405180910390a35b6001600160a01b0384165f9081526001602052604090205461125b9083611632565b6001600160a01b0385165f9081526001602052604090205561129e6112808383611632565b6001600160a01b0385165f90815260016020526040902054906115d4565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6112e78585611632565b60405190815260200160405180910390a350505050565b5f81848411156113215760405162461bcd60e51b81526004016104f7919061169f565b505f61132d8486611999565b95945050505050565b6015805460ff60a81b1916600160a81b17905580156114af57601554600160a01b900460ff16156114af576040805160028082526060820183525f9260208301908036833701905050905030815f81518110611394576113946119ac565b6001600160a01b03928316602091820292909201810191909152601454604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156113eb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061140f9190611909565b81600181518110611422576114226119ac565b6001600160a01b0392831660209182029290920101526014546114489130911684610ad6565b60145460405163791ac94760e01b81526001600160a01b039091169063791ac947906114809085905f908690309042906004016119c0565b5f604051808303815f87803b158015611497575f80fd5b505af11580156114a9573d5f803e3d5ffd5b50505050505b506015805460ff60a81b19169055565b6007546040516101009091046001600160a01b0316906108fc8315029083905f818181858888f193505050501580156104ca573d5f803e3d5ffd5b5f825f0361150957505f6103ea565b5f61151483856118bd565b9050826115218583611a2f565b146115785760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104f7565b9392505050565b5f61157883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611673565b5f8183116115ce5782611578565b50919050565b5f806115e0838561196e565b9050838110156115785760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104f7565b5f61157883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506112fe565b5f81836116935760405162461bcd60e51b81526004016104f7919061169f565b505f61132d8486611a2f565b5f6020808352835180828501525f5b818110156116ca578581018301518582016040015282016116ae565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146116fe575f80fd5b50565b5f8060408385031215611712575f80fd5b823561171d816116ea565b946020939093013593505050565b5f805f6060848603121561173d575f80fd5b8335611748816116ea565b92506020840135611758816116ea565b929592945050506040919091013590565b5f60208284031215611779575f80fd5b8135611578816116ea565b5f8060408385031215611795575f80fd5b82356117a0816116ea565b915060208301356117b0816116ea565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561180957815f19048211156117ef576117ef6117bb565b808516156117fc57918102915b93841c93908002906117d4565b509250929050565b5f8261181f575060016103ea565b8161182b57505f6103ea565b8160018114611841576002811461184b57611867565b60019150506103ea565b60ff84111561185c5761185c6117bb565b50506001821b6103ea565b5060208310610133831016604e8410600b841016171561188a575081810a6103ea565b61189483836117cf565b805f19048211156118a7576118a76117bb565b029392505050565b5f61157860ff841683611811565b80820281158282048414176103ea576103ea6117bb565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f60208284031215611919575f80fd5b8151611578816116ea565b5f805f60608486031215611936575f80fd5b8351925060208401519150604084015190509250925092565b5f6020828403121561195f575f80fd5b81518015158114611578575f80fd5b808201808211156103ea576103ea6117bb565b5f60018201611992576119926117bb565b5060010190565b818103818111156103ea576103ea6117bb565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b81811015611a0e5784516001600160a01b0316835293830193918301916001016119e9565b50506001600160a01b03969096166060850152505050608001529392505050565b5f82611a4957634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220326655ada887ccf818f3f66eda0f876e34723bb3824083b2448af8405b8ec8b864736f6c63430008140033

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
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.